Java RMI中的延迟参数传递

Christopher Line, K. R. Jayaram, P. Eugster
{"title":"Java RMI中的延迟参数传递","authors":"Christopher Line, K. R. Jayaram, P. Eugster","doi":"10.1145/1411732.1411750","DOIUrl":null,"url":null,"abstract":"Though often criticized for its inherent synchronization overhead and coupling, the remote method invocation (RMI) paradigm remains one of the most popular abstractions for building distributed applications. Many authors have suggested ways to overcome its drawbacks focusing mostly on the invoker's perspective, for example by multiplexing invocations to replicated server objects, through \"future\" return values, or even by prohibiting return values altogether. The more global perspective, and in particular the invokee side, has conversely only received little attention.\n In this paper we take a fresh look at the RMI paradigm, elaborating on argument passing semantics. We identify three lazy ways of passing arguments by value, differing by the moment at which the transfer of the arguments synchronizes with the execution of the method body. We present a preliminary library implementation of our argument passing semantics in Java RMI, and illustrate their individual benefits through examples. We characterize analytically and empirically application scenarios which benefit from lazy argument passing.","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"379 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Lazy argument passing in Java RMI\",\"authors\":\"Christopher Line, K. R. Jayaram, P. Eugster\",\"doi\":\"10.1145/1411732.1411750\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Though often criticized for its inherent synchronization overhead and coupling, the remote method invocation (RMI) paradigm remains one of the most popular abstractions for building distributed applications. Many authors have suggested ways to overcome its drawbacks focusing mostly on the invoker's perspective, for example by multiplexing invocations to replicated server objects, through \\\"future\\\" return values, or even by prohibiting return values altogether. The more global perspective, and in particular the invokee side, has conversely only received little attention.\\n In this paper we take a fresh look at the RMI paradigm, elaborating on argument passing semantics. We identify three lazy ways of passing arguments by value, differing by the moment at which the transfer of the arguments synchronizes with the execution of the method body. We present a preliminary library implementation of our argument passing semantics in Java RMI, and illustrate their individual benefits through examples. We characterize analytically and empirically application scenarios which benefit from lazy argument passing.\",\"PeriodicalId\":169989,\"journal\":{\"name\":\"Principles and Practice of Programming in Java\",\"volume\":\"379 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-09-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Principles and Practice of Programming in Java\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1411732.1411750\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1411732.1411750","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

尽管经常因其固有的同步开销和耦合而受到批评,但远程方法调用(RMI)范式仍然是构建分布式应用程序最流行的抽象之一。许多作者提出了克服其缺点的方法,这些缺点主要集中在调用者的角度上,例如,通过“未来”返回值对复制的服务器对象进行多路调用,或者甚至完全禁止返回值。相反,更全局的视角,特别是调用方,却很少受到关注。在本文中,我们重新审视RMI范式,详细说明参数传递语义。我们确定了三种按值传递参数的惰性方式,它们的区别在于参数的传递与方法体的执行同步的时刻。我们给出了Java RMI中参数传递语义的一个初步库实现,并通过示例说明了它们各自的好处。我们从分析和经验的角度描述了受益于惰性参数传递的应用场景。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Lazy argument passing in Java RMI
Though often criticized for its inherent synchronization overhead and coupling, the remote method invocation (RMI) paradigm remains one of the most popular abstractions for building distributed applications. Many authors have suggested ways to overcome its drawbacks focusing mostly on the invoker's perspective, for example by multiplexing invocations to replicated server objects, through "future" return values, or even by prohibiting return values altogether. The more global perspective, and in particular the invokee side, has conversely only received little attention. In this paper we take a fresh look at the RMI paradigm, elaborating on argument passing semantics. We identify three lazy ways of passing arguments by value, differing by the moment at which the transfer of the arguments synchronizes with the execution of the method body. We present a preliminary library implementation of our argument passing semantics in Java RMI, and illustrate their individual benefits through examples. We characterize analytically and empirically application scenarios which benefit from lazy argument passing.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信