Zeng Liangzhao本科在国内的中山大学, 硕士和博士都在澳大利亚的新南威尔士大学(UNSW), 之后在IBM Watson研究中心工作. 他在03, 04写的3篇论文是基于QoS的Web服务组合方面的经典, 写这方面的论文几乎是必引的(按照发表先后顺序排列):
    Liangzhao Zeng, Boualem Benatallah, et.al: Quality driven web services composition (gs: 359). WWW 2003 (gs表示Google Scholar, 之后的数字是Google Scholar上显示的该文被引用数)
    Liangzhao Zeng, Boualem Benatallah, Anne H. H. Ngu et.al: QoS-Aware Middleware for Web Services Composition.(gs: 496) IEEE Trans. Software Eng. 30(5): 311-327 (2004)
    Yutu Liu, Anne H. H. Ngu, Liangzhao Zeng: QoS computation and policing in dynamic web service selection. (gs: 224) WWW  2004

以下是DBLP上查到的Zeng LZ做为第一作者发表的部分论文
Event-Driven Quality of Service Prediction. ICSOC 2008
Dynamic composition and optimization of Web services. Distributed and Parallel Databases 24(1-3)(2008)
Monitoring the QoS for Web Services. ICSOC 2007
Semantic Service Mediation. ICSOC 2006
Policy-Driven Exception-Management for Composite Web Services. CEC 2005
AgFlow: Agent-based Cross Enterprise Workflow Management System. VLDB 2001

Quality driven web services composition笔记
1. 建模
本文使用statechart和DAG进行建模
考虑的服务组合结构有sequence, concurrent, condition;对于loop, 根据历史数据, 得到该循环的平均执行次数, 由此将循环"unfolding"以消除loop.
没有提及更加复杂的结构, 比如1-out-of-N(这个应该也可以属于AND STATE, 不过在计算部分QoS时跟同步情况是不一样的), WS间有communication等.

statechart用来对Web服务组合进行建模, 主要用于直观演示.
DAG用来对Execution Path(执行路径)进行建模, 之后的计算和分析都是基于此.

2. 本文涉及的相关概念
Execution Path
服务组合运行一次, 涉及到的task集(按一定顺序排列)(task可以认为是abstract service), 都可以认为是一个Execution Path.
一个WS组合如果没有condition branch, 那么就只有一个Execution Path, 否则就有多个Execution Path.

Execution Plan
Execution Path中的task实例化以后就是Execution Plan了

WS community
一个服务集合, 集合中的服务具有相同的功能, 不同的QoS指标. 在设计阶段, 只对task指定WS community, 在运行时, 才选择具体的服务. 这样就达到了运行时进行服务选择的目的.

Critical Path Algorithm (CPA)
有向图中, 每个节点均有一个权重, 指定起点和重点, CPA可以找出一条路径, 该路径中所有节点的权重和是最大的.
本文中, 涉及到时间的QoS属性(Execution Duration和Reliability, 见S3.1中有关Reliability的定义)需要用到critical path这个概念.

3. 问题: 本文要解决的问题很明白, 基于QoS的Web服务选择(在Web服务组合的场景中), 这是Web服务组合领域内的一个基本问题.
如果只考虑Web服务的一个属性, 显然组合中每个task只要选择最优的WS, 组合起来也肯定是最优的; 但是在WS具有多属性(price, duration, reliability等)的情况下, 不同的QoS属性在组合结构(比如同步等)中具有不同的计算方法, 无法通过局部最优解来获得全局最优解.

4. (S4) 是本文重点, 讨论了几种全局服务选择方法
(S4.1) 只讨论statechart中不包含conditional branching, 服务组合只有一条execution path的场景.
使用了MADM中的SAW方法: 将QoS属性归一化处理, 并加权相加得到一个分数(每个Execution Plan都有一个分数). (这种评估方法后来被很多其他WS选择论文中借用)
(S4.2) 在S4.1的基础上, 讨论具有多个Execution Path时的情况, 作者没有从理论上说明这个方法可以选出全局最优解.
    1) 对于服务组合的每一条Execution Path, 使用S4.1中的方法计算出最优解
    2) 如果某个task只属于一条Execution Path, 那么这个task就选择这条Execution Path上选中的服务.
    3) 如果某个task属于多条Execution Path, 那么选择被选中的次数最多的WS.
(S4.3) 使用线性规划(LP)方法来求最优解. LP有三个输入: variables, objective function, constraints
对于reliability和availability这些属性, 首先要线性化.
问题: 作者没有明确说明LP方法针对的statechart是否可以有conditional branching, 不过从公式(9)来看, 应该是只针对不具有conditional branching的情况求解. 公式(9)是说, 对于任意一个task, 有且只有一个WS会被选中. 假如存在conditional branching, 那么有些task就不会选中WS. 这个问题需要进一步确认.

5. 实现
以SELF-SERV prototype为平台, 实现了本文讨论的算法.
使用IBM Web Services Toolkit 2.4 (WSTK2.4) 作为Web服务开发的工具

调用IBM's Optimization Solutions and Library (OSL) 来求解LP问题

6. 问题: (S4.3.1)"By introducting a budget constraint the above problem needs to be explicitly solved as an integer programming problem".
为什么在引入budge限制后才必须明确做为IP(Integer Programming)问题? 变量yij取值范围是1, 0(表示选中和不选中), 应该本来就是一个IP问题啊?
这是knapsack问题的一个特例, 因此是NP难的.
[20:18 2009-2-24]

在引入budge先之前, 没有"背包容量"的限制, 因此不是背包问题, 可能不是NP难的.

7. 勘误
(S2.1) "Note that when two transitions stem from the same state (in this case the state t4)"
这句话中的t4应该是t5 (参考QoS-Aware Middleware for Web Services Composition中相关内容便知)

(S5.2实验验证部分)暂时没有细看
  看这种级别的论文很耗脑细胞.

转载于:https://www.cnblogs.com/yuquanlaobo/archive/2009/02/24/1397326.html

Zeng Liangzhao的经典论文之一 Quality driven web services composition (WWW03)相关推荐

  1. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  2. 历史最全、最细、近一年最新 知识图谱相关经典论文分享

    本资源包含了知识图谱相关最全.最细.以及近一年最新经典论文,涉及知识表示.知识建模.知识抽取基础(数据采.实体识别.关系抽取.事件抽取). 知识融合. 知识图谱表示学习.知识存储.基于知识的智能问答. ...

  3. 卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 参考|学术头条 编辑|极市平台 作为深度学习的代表算法之一,卷积神经 ...

  4. 论文大盘点|卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自:极市平台 作为深度学习的代表算法之一,卷积神经网络(Convolution ...

  5. 图像处理和计算机视觉中的经典论文

    转自:http://www.cnblogs.com/moondark/archive/2012/04/20/2459594.html 感谢水木上同领域的同学分享,有了他的整理,让我很方便的获得了CV方 ...

  6. 大盘点|卷积神经网络必读的 100 篇经典论文,包含检测 / 识别 / 分类 / 分割多个领域

    关注极市平台公众号(ID:extrememart),获取计算机视觉前沿资讯/技术干货/招聘面经等 原文链接:大盘点|卷积神经网络必读的 100 篇经典论文,包含检测 / 识别 / 分类 / 分割多个领 ...

  7. 计算机视觉领域经典论文源码

    计算机视觉领域经典论文源码 转载自:http://blog.csdn.net/ddreaming/article/details/52416643 2016-CVPR论文代码资源: https://t ...

  8. 必读论文 | 生成对抗网络经典论文推荐10篇

    生成式对抗网络(Generative adversarial networks, GAN)是当前人工智能学界最为重要的研究热点之一.其突出的生成能力不仅可用于生成各类图像和自然语言数据,还启发和推动了 ...

  9. 目标检测经典论文——Fast R-CNN论文翻译(中英文对照版):Fast R-CNN(Ross Girshick, Microsoft Research(微软研究院))

    目标检测经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为纯中文版,中英文对照版请稳步:[Fast R-CNN纯中文版] Fast R-CNN Ross Girshick Mic ...

最新文章

  1. php去掉字符串的最后一个字符
  2. 新创建的Django项目Django administration用户名和密码配置
  3. python中的time库安装步骤-Python time库基本操作方法
  4. vault-图形界面
  5. arch Linux 添加引导,ArchLinux 添加开机启动脚本, 亲测
  6. JUC队列-ArrayBlockingQueue(一)
  7. [费用流]数字配对,新生舞会
  8. Android跟web哪个好,比系统自带的WebView更好用 | AgentWeb
  9. 华为成了!鸿蒙OS 2.0对比iOS 14:苹果流畅度竟完败?
  10. 迈足狂奔!铁塔公司:目前北京已建好4400多座大型5G基站
  11. android让图片旋转
  12. Javascript 强制浏览器渲染Dom文档
  13. 罗佳琪的第三次预备作业——虚拟机的安装及Linux的初步学习
  14. wepe 装linux ubuntu,Ubuntu16.04下安装Wechat的实现方法
  15. Linux MPLS功能详解
  16. Google 翻译插件不能用了怎么办
  17. 计算机原理74181芯片,计算机组成原理
  18. 解决“Windows 平台 FIPS 验证的加密算法的一部分”问题
  19. Python Fitter 判断数据样本的分布函数拟合
  20. 北京小程序外包开发服务

热门文章

  1. python的itertools详解
  2. 转发ubuntu qt使用ZMQ
  3. Python:这是一个朴实无华的爬虫教程,就是有点养眼
  4. 【职场篇】游戏开发社招求职面试指南①——前期准备
  5. 714. 买卖股票的最佳时机含手续费+贪心
  6. es6中reduce的用法_25个你不得不知道的数组reduce高级用法
  7. 数据分析方法——回归分析
  8. Type Java compiler level does not match the version of the instal
  9. 深度学习第一步(anaconda、pytorch安装)
  10. 【每天学点管理】——计划分解的 5W2H法则