Time: 3.5 hours
Yanlong Zhai, Jing Zhang and Kwei-Jay Lin, SOA Middleware Support for Service Process Reconfiguration with End-to-End QoS Constraints, ICWS 2009 (Application and Industry Session 13 # Services Assessment)
作者翟岩龙是北京理工大学04级的直博生, 目前在UCI的Kwei-Jay Lin老师那里做访问学生. KJ Lin的名字对于SOA/Web Service领域的人来说应该都不陌生吧, Yu Tao, Yue Zhang等都是出自其门下. 顺便google了一下Yu Tao, 发现她毕业后回国工作了, "Tao is a researcher in HP Lab China (Web and Rich Content Technology Lab). She joined HP Labs China as a research scientist in July 2006" (详见主页), 现在留学回国的人是不是越来越多了?
ICWS 2009的论文最近可以在IEEExplore里下载了, 浏览了一遍目录, 下载了一批论文, 随意打开几篇看了下abstracrt, 发现这篇论文的内容与我上半年写的一篇论文相关, 于是就决定精读一下. 最近一个多月都在忙着写论文, 写程序, 还有其他一些事情, 很久没有好好读过论文了. 以下是论文笔记:
1. 本文主要内容: 组合服务中的成员服务在动态时可能会失效, 因此需要重新配置(替换). 替换时要确保组合服务的QoS仍然满足要求.
本文针对成员服务提出了"impact/reconfiguration region"这个概念, 可以单独替换失效服务, 也可以整体替换包含失效服务的impact region.
(S3.2) 中的一节用浅显的语言描述了本文基本的idea:
"In the case that we can't find a satisfactory service to replace S3 that still meets the original end-to-end QoS, we then try to replace both S3 and S6. The idea is that by replacing both of them, we should have more choices to meet the original QoS constraints, as well as the functional needs in the service process."
我那篇论文的基本想法也差不多是一样的, 当然在方法, 写作, 细节等方面有很多差异, 毕竟是两篇独立完成的论文. 有机会再写一篇详细比较这两篇论文的博客.
2.
作者将本文视为"Adaptive algorithms for finding replacement services in autonomic distributed business processes(Yu tao, ISADS05)"的后续工作.
前文存在几个个问题:
(1) backup path is produced offline during the service composition
(2) 只能处理一个服务出问题的情况.
(3) 只支持最简单的sequential structure
3. Figure 3的例子, 计算response time T和cost C时,对于循环结构
T = … K * t6 …, C = … K * c6 …, 其中K是循环的最大次数.
这样计算出来的是response time和cost的最大值, 如果用循环平均执行次数来取代最大执行次数, 是不是更加合理一点呢?
4. (S4)是本文的重点了, 讨论了三个算法, 其中第二个算法又是最重要的.
算法2 Region Identification Algorithm
输入: range bound(决定reconfiguration region的"长度"), failed services(可以是多个失效服务)
输出: reconfiguration region
主要思想就是在range bound的范围内, 生成重配置的区域(对于sequential结构比较简单, 如果遇到split/join结构, 则要把整个结构包括进来).
又如果不同失效服务的region有重合, 那么就把这些region合并成一个.
算法1 Reconfiguration Algorithm
该方法可以应对同时存在多个失效服务(设为m), 因此Step 2后会产生不超过m个的regions(有些region会被合并).
如果其中最大的一个region的size超过给定的规定值, 那么对整个组合进行重新编排, 否则只对有关region进行reconfiguration.
进行reconfiguration时, 对每个region要计算出QoS constraints(Step 6), 文中对这一步的描述"the current constraints for each region are calculated using the algorithm presented in Section 3.2". 不过S3.2并没有什么算法, 只是举了一个根据成员服务的QoS来计算组合服务QoS的实例, 作者的意思是: 根据region中原来成员服务的QoS来计算出这个region的"总"QoS, 来做为这个region的constraint吗?
如果找不到符合条件的替换服务, 算法还会尝试2种努力:
(1) recompose by QoS-extension (算法3)
(2) 增加range bound(一开始的时候是0, 即只针对单个失效服务)
算法3 QoS-Extension
这是一个对QoS constraints进行relax的过程.
算法中提到的"leftover QoS": 应该是指 "user request的QoS值" - "当前组合服务的QoS值", 比如用户要求100ms的response time, 当前的组合服务的response time是80ms, 那么20ms就是所谓的leftover QoS了.
目前作者提出的这个算法比较简单, 每个region依次独立进行, 还存在很大的改进空间.
5. (S5)介绍了一下系统, 基于原来就有的LLAMA系统. 没有其他实验.
[2009-11-05] 补充: 作者在CEC09上的另一篇论文
Kwei-Jay Lin, Jing Zhang, Yanlong Zhai, "An Efficient Approach for Service Process Reconfiguration in SOA with End-to-End QoS Constraints," cec, pp.146-153, 2009 IEEE Conference on Commerce and Enterprise Computing, 2009
1. 这两篇论文要解决的问题, 建模和方法基本上是一样的. CEC09里多了一个实验部分(Performance Study), ICWS09里多了一个中间件的介绍部分(System Support for Reconfiguration). 应该是CEC09在先, 然后再是ICWS09.
2. CEC09里只考虑了response time这个QoS属性, ICWS09里讨论的QoS有Response Time, Cost, Reliability and Availability.