A Failure-Aware Model for Estimating and Analyzing the Efficiency of Web Services Compositions
§1 介紹
介紹了近兩年來,WS體系結構的快速發展充實了互操作這一概念。關鍵使能技術已經出現了一系列開發友好的標準(SOAP, UDDI, WSDL)。
S:State
SRC:State Reliability Contribution
TSS: Terminal State Set
STS: State Tendency Set
§2 WS組合(WSC)的Qos建模和分析
2.1 組合規範模型
我們描述了一個n個組件的WSC方法。三種基本的聚合模式:順序,並行、互斥。
2.2 組合執行模型
WSCs的動態執行模型:每個組件Ci可以被Runtime映射到任一個可用的WSip(WSip∈S(Ci),並且p∈(1, |S(Ci)|)。
沒有涉及具體如何執行,有很多方法可以用來提高執行的可靠性,但是這裏沒有具體敘述。
可靠性如何提高也是可以研究的嘛
2.3 WS發現和選擇模型
動態執行的WSCs:映射WSs至選擇的組件是運行時的。文獻已經提出過很多動態WSCs方法。
我們呢,假設採用一個方法來發現WSs不存在任何問題。對於每個組件Ci,可以被發現的WSi都在Si中被排序了,發現就是按照這個順序。什麼樣的順序是不是可以有點新想法吶?
2.4 組合失敗模型
容錯是系統的一種能力,當錯誤發生時的能以良好定義的方法來處理。當考慮一個容錯系統是,一些首先的先決條件指定哪些錯誤類型需要被容錯。
l fail-stop: 一旦fail系統就stop,不output任何data
l Byzantine: 一旦fail不stop,轉而return錯誤信息
l fail-fast: fail不馬上stop,在短時間內return錯誤信息,然後再stop
environment-dependent failures: 衝突、超時
application-specific failures: 錯誤的輸入、異常
transient failures
forward recovery
backward recovery
2.5 執行時間屬性描述
通過估計單個組件的執行時間來衍生出整個組合的等價估計
2.5.1 單個組件的執行時間
文獻[2][5]定義了三個要素:執行WS任務所需的服務時間S;SOAP消息發送接受的消息延遲時間M;WS調用?啓用時間W。
僅consider這些要素還是不夠的,因爲這個定義僅考慮了ont-to-one的WS組件映射,沒有考慮計算的eventual failures。
定義1:最優執行時 Optimistic Execution Time
一個WSC組合c中的一個組件Ci的最優執行時間T(Ci)opt,是運行時dynamically-map到Ci的上的WS的執行時間。
是不是應該這樣:?
定義2:可能執行時間 Probable Execution Time
T(Ci)prob是Ci的執行時間的估計。
定義3:失敗信息時間 Failure Information Time
I(Ci) 作爲一個特定失敗通知的不同的SOAP消息發送/接受的時間。
定義4:失敗恢復時間 Failure Recovery Time
R(Ci)是從一個特定的組件Ci錯誤中恢復需要的時間
with:
重試Ci的其他WS所花的總時間,即:Ci在第q次執行時調用成功,這時分配給了wsiq。因此前q-1次分配失敗,這些所有的相關執行時間就是Ci前向恢復時間For(Ci))。
在後向恢復中,依賴於採用的組合規範模型,rolling-back, aborting, compensation。這裏的Back(Ci))是這三種模型的時間之一。
2.5.2 組件初始執行時間估計
第一次根據組件advertise的時間來估計,以後就可以根據先前每次的執行時間來估計。
2.5.3 組合的執行時間尺度
估計具體的WSC的執行時間,需要遍歷所有的組件,而WSC的組件結構又存在好多種組合方式。我們提出使用[13]中的工作流模式來解決。這些模式capture工作流建模中遇到的典型的控制流程的相關性,因爲他們capture的情況和本領域很相關,因此arguably apply的用於WSCs。
Pattern1 順序 Sequence
Pattern2 並行 Parallel Split
單獨執行而後同步合併
Pattern3 互斥選擇 Exclusive Choice
2.6 可靠性特性描述
可靠性趨勢Reliability Tendency
RT build on:
State
Terminal State Set, TSS
State Tendency Set, STS
State Reliability Contribution, SRC
定義5:每個Ci在被調用執行後,都有一個TS表明調用結束。經過m次調用,對於每個組件,TSS就形成了,記爲TSS(Ci)。
定義6:m次調用Ci後,至少有一個TS是所有TSs中擁有最大發生概率的。即STS(Ci)是一個狀態set,包含於TSS(Ci)中,並且擁有最大的發生概率。
定義7:從一個TS轉換到另一個,對於reliability的共享不一致。結束一個處於Failed狀態的Ci將對reliability產生negatively的影響,相反的,Committed狀態將會對於增加reliability有positively的貢獻。定義這爲某個TS的狀態可靠性貢獻(SRC, State Reliability Contribution)。SRC取決於每個狀態依靠的環境特性,比如TS的數目、可能的狀態、狀態轉移等。這也將在以後的工作中進行。
定義8:組件Ci可靠性趨勢 Reliability Tendency,RT
Ci的RT由下面的共識定義,定義了m次調用後各個組件的可靠性rate(reliability rate)。
定義9:WSC的RT
§3 驗證
使用JOpera,執行一個currency for a user-provided stock symbol例子,JOpera:一個快速的組合工具,爲利用reusable的服務建立分佈式應用提供了可視化的語言和可執行的平臺,具有很強的practicability。
11次執行圖1的流程:組件和WSC的結果如圖2和圖3示。
Failures的原因:
SOAP消息傳輸途中的Internet連接fail
WS超時,因爲netwrok連接failure
WS返回failure消息,因爲數據的不一致性
§4 相關工作
4.1 傳統組合系統Context
傳統組合系統的QoS,許多技術proposed,這些技術被underlying modeling formalisms支持,比如block diagrams, Markov Chains, Petri網, logics等等。
同樣的,在軟件工程context中,很多數學化的技術被開發。和本文最相關的模型是reliability的結構化模型和Markov reward模型。以前,狀態圖描述系統比較常見。基於Markov鏈屬性,狀態之間的轉移被看做是一個Markov Process。以後,系統被建模程一個Markov process with 有限狀態空間,並且每個狀態有個reward rate與之相關。
4.2 WS Context
現有文獻中對於WSCs的QoS的估計和分析的工作還很少。有一種是由WS用戶來進行的QoS rating。文獻20中提出的根據使用者/提供者給出的QoS估計來選擇服務可能會因爲用戶的公證性原因導致不正確或者偏差。在我們的工作中,我們不依賴於使用者/提供者的QoS Rating,相反,設計者觀察WSCs的執行情況並collect歷史執行結果作爲以後估計QoS屬性的基礎。
文獻21中,作者討論了一個SLA模型(Service Level Agreement,服務層一致?)作爲提供者和消費者之間的橋樑。但是對於WSCs,使用SLA將變得很複雜。
HQML(Hierarchical QoS Markup Language),Web Ontology Language(OWL-S),WSLA都是定位一個QoS模型需求的規範的例子。這些規範之間的共同點在於它們描述了WSs的QoS。例如,DAML-S構建了幾個詳細的QoS參數,quality rating和the degree of quality。但是,這些規範都沒有爲不同參數提供精確的描述,並且這些only for WSs。
文獻6中提出了一個 基本 和 組合服務 的QoS評估模型。但文6中全局調用的相互作用導致的潛在的failure沒有被考慮。Reliability被直接map到每個WS各自的Reliability。這定義爲訪問一個WS的請求在最大期望時間內得到正確響應的概率。
這種方法來表徵reliability,缺乏對於動態組裝的WSCs的擴展性。
4.3 工作流管理系統(WFMS)Context
Crossflow項目[22][23],METEOR項目[5] [2] [24] [25] [26]在QoS方面做了主要貢獻。METEOR項目從QoS的4個方面做了研究:time, cost, reliability和fidelity。但是它沒有從任何方面考慮動態的WSCs。它focus on 分析、預測和監控工作流的QoS。事實上它是derive from一個更加通用的工作[7],這個工作描述了工作流context下任務的reliability,文[27]中提出的離散時間穩態可靠性模型。在這個WFMS中,任務結構[28]有一個數字做前綴的狀態,並且所有的狀態對於reliability的貢獻相等。這種任務建模具有侷限性。當模型很容易和其他狀態擴展時纔有效。
以上所有的模型都是對靜態的WSCs有效的。
§5 Conclusions and future directions
提出了一個表徵、估計和分析動態執行的fault-tolerant WSCs的新模型。
1 提出了在WSCs context下,用術語執行時間和reliability來估計QoS的創新方法
2 在WSCs效率方面failure repercussion具有十分的重要性
3 由於WS的Stateless,追蹤failures決定錯誤地點非常困難,因此我們對每個組件attach了一個state ongoing work主要集中在用在以前工作得到的WS-SAGAS已完成的仿真系統來進行實驗。我們將介紹一個新的模塊來從歷史執行中收集。最後我們將使用其他的efficiency評價元來enrich我們的模型。