论文部分内容阅读
嵌入式网络计算中,多服务代理技术的优势就是通过服务代理之间的协作,完成单个服务代理不能完成的任务或以更高的效率完成任务。一方面,嵌入式网络设备由于计算资源严格受限,随着对其功能需求日益增强,在执行较复杂任务时任务的复杂性和时间紧迫性常常使其无法在规定的时间约束内完成。设备硬件资源的升级对大量的早已存在的嵌入式网络设备来说不是一个现实的方案。操作系统的性能优化也不是一个根本的解决方法。目前,一个现实的解决方法是设备间通过服务代理进行协作,充分利用其它设备暂时不被使用的计算资源。另一方面,嵌入式网络计算时代众多的嵌入式网络设备需要人们去干预和协调,为了使人们注意力的中心回归到要完成的任务本身,使嵌入式网络设备间自主交互,完成所需要的服务,就要求解决服务访问过程的透明性问题,透明性除了包括人机交互的透明性以外还包括实现复杂任务求解过程的透明性,复杂任务可以通过设备间自动协作来进行高效求解。
在多服务代理之间进行协作求解,国内外先后提出了一些方法,目前主要有合同网模型、黑板模型、多服务代理规划等。其中应用最广泛的是合同网模型。据文献查阅,从2000年进入EI检索的100多篇相关论文中就这个问题的研究成果发表的论文达10余篇,通过分析发现,合同网模型在嵌入式网络设备的协作求解中仍然存在以下不适应性:
(1)合同网招标时要向所有可能的任务承揽者发送标书,并等待所有的投标回答或截止时间到时,这在承揽者较多时会带来较大的通信量和时间开销;投标过程只能在局域网内进行;并且招标通知由系统内的所有节点进行接收和处理,浪费了不想参与协作的节点的计算资源;
(2)承揽方的能力和承担的协作任务负载处在不断的变化之中,合同网的招标方则难于了解和适应这种变化,导致协作任务的过于集中。
为此,本文提出了等级域的概念,建立了相应的等级域模型,并将其引入到了合同网当中。等级域是把域内各个服务代理根据它们的能力和任务协作求解的成功率分成三个不同的等级:第一等级:有服务能力且成功率较高的服务代理集合;第二等级:有服务能力但成功率较低的服务代理集合;第三等级:暂时无服务能力的服务代理集合。协作发生在第一等级的服务代理集合内,这样就缩小了协作服务代理的查找范围,招标服务代理选择协作服务代理的效率高。通过设置各个等级内服务代理个数的阈值,避免了服务代理个数的增长失控以及由此造成的各种开销。
等级域内各个服务代理所在的等级并不是一成不变的,而是随着时间可以动态地进行调整。各个服务代理之间相互竞争,以便及时适应设备能力的变化。服务代理竞争的目标是进入高等级的服务代理集合,竞争的条件是自身的能力以及任务协作求解的成功率和等级阈值的变化。这样就能保证及时了解各个服务代理的能力和成功率的变化,克服合同网中服务代理能力恒定不变的不合适假设。对各个服务代理能力和成功率变化了解的及时程度取决于引起竞争的频率。本文采用现有的随机TOP-N算法对等级域中不同等级的各个服务代理的等级跃迁进行了算法描述和分析。
同时,为了平衡各个设备服务代理间的任务负载,缓和“忙者越忙,闲者越闲”的“马太效应”,避免协作时选取协作服务代理的盲目性,尽量满足紧急任务的时间约束,提高多服务代理系统的吞吐量,本文还考虑了各个服务代理协作时的时间开销问题,通过协作,采纳其它服务代理的意图,建立了时间开销模型,并据此对基于等级域的合同网模型进行了相应修改,建立了基于等级域一时间开销的合同网模型,把时间开销的计算融进了随机TOP-N算法当中,避免过载和轻载现象的发生。
通过仿真程序和应用结果的分析,验证了提出的模型及其实现算法的有效性,在时间复杂性和空间复杂性增加不大的基础上,减少了协作过程引起的网络通信量,避免了对不相关服务代理的时间的开销,均衡了协作任务的分布。等级域的提出和时间开销的引入,有效地解决了资源受限条件下的任务协作求解问题,从而进一步拓宽了嵌入式系统的应用领域。