一种为主动网络设计的新的JavaRMI中间件.docVIP

一种为主动网络设计的新的JavaRMI中间件.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种为主动网络设计的新的JavaRMI中间件.doc

一种为主动网络设计的新的Java RMI中间件 王地名 江春华 张自明 摘要 Java RMI(Remote Method Invocation)远程方法调用,是开发大规模分布式Java应用程序的有效途径。然而, 当众多客户请求同时到达服务器时,就会出现瓶颈问题。为此,我们提出了一个新的名为 ActiveRMI的中间件设计,它通过代码存储方案来使用主动网络的下层结构,从而增强RMI的功能。通过ActiveRMI,远程的服务能够在中间层的主动路由器上动态地存储,从而能够尽快地处理更多的客户请求。为此,Active RMI要实现三个改进:(1)RMI性能的改进;(2)系统可用性的增加; (3) 系统负荷和网络通讯量的减少。实验表明,程序员使用代码生成工具ARMIGen来设计Active RMI应用程序是高效的。此外,RMI应用程序的用户响应时间也得到极大地改善。这个结果有助于在主动网络上发展下一代中间件。 关键字-ActiveRMI, Code Caching, Code Generation, Active Networks. 1. 介绍 随着中间件技术的发展,Java RMI (Remote Method Invocation) 已经广泛地被程序员用来设计分布式应用程序。在RMI实现模型中,下层网络通讯的细节通过RMI API进行封装,通过一致的API,远程方法可以作为本地方法被调用。因此,程序员可以很方便的开发大规模的分布式应用程序。然而,Java RMI的最初设计只支持层到层的服务模式,这在大规模的分布式环境下,可能会出现的以下两个问题。第一:当大量客户请求同时到达一个服务器时,服务器负载可能会非常严重并且导致客户端和服务器之间网络拥塞。第二:如果服务器崩溃或者网络被分区,RMI请求将得不到及时响应。因此,原始的RMI设计是很难达到系统的高可测性和高有效性。 随着研究的深入,我们发现主动网络是一种可编程的网络结构,它能极大地改善分布式应用程序系统的可测性,实用性,容错性。在主动网络中,位于中间层的主动路由器能运行由主动信息包加载后的定制代码,从而建立执行环境(EEs) 。在不改变任何网络配置的情况下,新的服务能够被迅速地配置到网络中。一些研究表明主动网络已经取得了一些有前途的性能改进。 本文将描述一种名叫ActiveRMI(主动远程方法调用)的新的中间件设计,它利用主动网络的技术来改进RMI的性能。利用ActiveRMI,远程的服务代码能够被动态地移植到中间层的主动路由器上,由它来处理客户请求和缓存服务请求[1]。 当一个客户应用程序调用远程方法时,由最近的主动路由器获截取请求,缓存的RMI代码会作出即时的回复。当多个客户同时请求一个服务时,就由最近的那些主动路由器共享服务荷载,从而减轻网络拥塞。使用ActiveRMI,有三个主要的优点:(1)RMI性能改善;(2)系统有效性增加;(3)系统负载和网络通讯量减少。 2. 相关的研究 过去的研究已经证明缓冲技术在改善RMI性能方面是非常有效的。到目前为止,调查表明:传统的缓冲方案几乎全都是客户端对象缓存方式,即远程的RMI代码被存储在客户端机器上。Krishnaswamy[7]等已经提出通过扩充RMI参考层(RRL)来处理本地的客户端调用请求的对象缓冲方式。2001年, Eberhard 和 Tripathi又提出了在节点中缓存对象或数据从而减少缓冲开消的改进方案。在INRIA中提出的Javanaise用来在簇中缓存共享对象 以减少用来与远程服务器交换信息的消息数量。在这些早先的研究课题中, 虽然RMI的调用执行能够被减少,但RMI系统的内部结构需要进行巨大的改变。此外,对于一致性维护来说,主要的瓶颈问题仍然存在。而且,缓存本地对象增加了客户端的工作量并影响其他客户端应用程序的执行。 主动网络通过体系结构的改进使提高RMI的执行效能成为可能。Panda是一个基于主动网络的中间件系统,它是一个继承应用系统而不是专门为主动网络设计的。Panda从继承应用系统中捕获数据流,再把他们转换成主动网络信息包流。与Panda不同的是, ActiveRMI采用便捷的代码生成器ARMIGen帮助程序员利用封装了下层主动网络的接口来开发发RMI应用程序。虽然ActiveRMI方案需要为继承性应用系统进行移植,但移植过程是很简单和直接的。除此之外,那些移植的应用程序的性能能够得到极大的改良,因为中间层的主动路由器能迅速执行这些RMI代码。 ANC(Active Network Calls主动网络呼叫)是另外一种基于主动网络的中间件系统,它提高分布式系统的并行化程度来提高系统的实用性。然而,客户端应用程序需要支持运行时的分配和重建,来处理异步计算。这使客

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档