论文部分内容阅读
随着信息技术的快速发展,互联网逐渐成为现代社会的重要信息基础设施。基于互联网的虚拟计算环境(iVCE: Internet-based Virtual Computing Environment)是一种适应互联网特征的新型网络计算平台。iVCE以互联网资源自主化为基础,以按需聚合和自主协同为核心机制,在开放的网络设施之上实现多种资源的共享和协同工作。分布、异构和动态的互联网资源的按需聚合需要一种松耦合的交互机制。发布订阅系统由于其在时间、空间和控制流三方面松耦合的特性,成为互联网资源按需聚合的重要途径。iVCE采用基于内容的发布订阅系统来聚合资源。这种系统可以分为两类:基于代理(broker-based)的系统和无代理(broker-less)的系统,分别适用于iVCE中不同网络结构的应用。目前,基于代理的系统中最成熟、部署最广泛的是基于过滤器(filter-based)的系统。而无代理的系统可以进一步分为基于名的系统和基于值的系统,分别适用于iVCE中对表达能力不同需求的应用。本文针对iVCE中使用的各类不同的发布订阅系统,研究其高效实现。针对基于名系统的事件匹配问题,提出了基于名事件匹配的通用模型,并在通用模型的一般表示基础上提出了基于属性流行度的事件匹配方法。现有的事件匹配方法都从事件角度考虑匹配问题,可以归结为面向事件的方法;从订阅角度考虑匹配问题展示了另外一种设计可能性,称之为面向订阅的方法。而事件匹配的通用模型则是对这两种方法的一般化,揭示了基于名系统实现正确事件匹配的本质。基于属性流行度的事件匹配方法PEM(Popularity-based Event Matching)使用属性集合来分布负载,并利用属性流行度信息来控制带宽开销。PEM的正确性得到了理论上的证明。理论分析同时表明,相比已有的面向事件的方法,PEM通过增加少量的系统订阅存储量,较大幅度地减小了系统的事件发布带宽开销。同时,对于含有少量属性的系统,PEM利用“标识重生成”机制来进一步分布负载。针对基于值系统的索引结构问题,提出基于属性分组的索引结构,是现有索引结构S-MD(a Single Multiple-Dimension indexing structure)和M-1D(Multiple Single-Dimension indexing structures)的一般化和改进。属性分组把事件模型中的所有属性分为多个组,每个组包含一个或多个属性。订阅选择某个组,并用该组的属性索引;而事件则选择所有组,并分别用组中的属性索引。提出了基于属性分组的索引结构和覆盖网构建方法。实验结果表明,属性分组可以在系统负载和带宽开销上做到更好的平衡。针对基于过滤器系统订阅维护开销过大的问题,提出一种高效的订阅合并方法。该方法与现有订阅合并工作的区别是考虑了订阅的相似性。订阅的相似性根据它在每个属性上约束范围的位置和大小来判断,用两阶段的归组算法把相似订阅归为同一个组,并用类似文件系统中哈希存储的思想来链接和合并处于同一个组的订阅。该订阅合并方法只需要对订阅进行一遍扫描,因而时间复杂度较低,并可以根据负载情况灵活控制合并粒度。实验表明,该方法只增加了少量的事件转发带宽开销。针对基于过滤器系统中订阅者移动的问题,提出了两种订阅树重建方法: STRN(Subscription Tree Reconstruction from New borker)和STRO(Subscription Tree Reconstruction from Original tree)。STRN方法从新代理出发构建订阅树,同时利用原有订阅树的结构来减少重建开销;而STRO则从原有订阅树出发重建订阅树,同时变换原订阅树的结构以减少重建后事件转发的延迟。实验结果表明,STRO方法重建开销更小,适合于订阅者频繁移动的场景;而STRN方法事件转发延迟较小,适合于订阅者移动较不频繁的场景。