SUPRA-RPC: SUbprogram PaRAmeters in Remote Procedure Calls

IF 2.6 4区 计算机科学 Q2 COMPUTER SCIENCE, SOFTWARE ENGINEERING Software-Practice & Experience Pub Date : 1991-01-01 DOI:10.1002/spe.4380240103
A. Stoyen
{"title":"SUPRA-RPC: SUbprogram PaRAmeters in Remote Procedure Calls","authors":"A. Stoyen","doi":"10.1002/spe.4380240103","DOIUrl":null,"url":null,"abstract":"Remote-procedure calls (RPCs) allow distributed, high-level language programs to communicate and synchronize in the usual manner via subprogram calls. One of the great challenges in RPC research is to preserve the traditiional call semantics despite the distribution and heterogeneity of the new environment. The main contribution of SUPRA-RPC is in addressing the passing of subprograms as RPC parameters. In doing so, SUPRA overcomes a number of technical difficulties, stemming from scoping, side-effects and other sources. Since supporting subprogram RPC parameters is harder than supporting non-subprogram RPC parameters, the three (of six) components of the SUPRA architecture extend in novel ways the traditional functionality found in their counterparts in other RPC systems. The SUPRA stub generator extracts information not only from remote entry interfaces, but from any scope potentially referenced by a subprogram passed as an RPC parameter. In addition to the usual calland accept-stubs and the marshaling and unmarshaling routines, the generator constructs out-of-scope access stubs, callback’ and callback-handling-stubs, and modified parameter subprograms and others. The SUPRA run-time support manages a runtime symbol table to keep track of referencing environments and out-of-scope objects. When an out-of-scope object is unavailable for access or execution on the server, the object is reached by a synchronous, ‘under-the-covers’ callback. The SUPRA process management supports servers with independent threads of control, manages (possibly nested) callbacks and pools of callback handler threads, and maintains correct identification of thread-initiated calls or callbacks. A SUPRA prototype has been implemented on Sun Unix workstations. The prototype supports C, C++ and CommonLisp programs. A prototype graphical demonstration has been implemented as well, that represents RPC concepts in terms of common life objects and situations.","PeriodicalId":49504,"journal":{"name":"Software-Practice & Experience","volume":null,"pages":null},"PeriodicalIF":2.6000,"publicationDate":"1991-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"19","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1002/spe.4380240103","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 19

Abstract

Remote-procedure calls (RPCs) allow distributed, high-level language programs to communicate and synchronize in the usual manner via subprogram calls. One of the great challenges in RPC research is to preserve the traditiional call semantics despite the distribution and heterogeneity of the new environment. The main contribution of SUPRA-RPC is in addressing the passing of subprograms as RPC parameters. In doing so, SUPRA overcomes a number of technical difficulties, stemming from scoping, side-effects and other sources. Since supporting subprogram RPC parameters is harder than supporting non-subprogram RPC parameters, the three (of six) components of the SUPRA architecture extend in novel ways the traditional functionality found in their counterparts in other RPC systems. The SUPRA stub generator extracts information not only from remote entry interfaces, but from any scope potentially referenced by a subprogram passed as an RPC parameter. In addition to the usual calland accept-stubs and the marshaling and unmarshaling routines, the generator constructs out-of-scope access stubs, callback’ and callback-handling-stubs, and modified parameter subprograms and others. The SUPRA run-time support manages a runtime symbol table to keep track of referencing environments and out-of-scope objects. When an out-of-scope object is unavailable for access or execution on the server, the object is reached by a synchronous, ‘under-the-covers’ callback. The SUPRA process management supports servers with independent threads of control, manages (possibly nested) callbacks and pools of callback handler threads, and maintains correct identification of thread-initiated calls or callbacks. A SUPRA prototype has been implemented on Sun Unix workstations. The prototype supports C, C++ and CommonLisp programs. A prototype graphical demonstration has been implemented as well, that represents RPC concepts in terms of common life objects and situations.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
SUPRA-RPC:远程过程调用中的子程序参数
远程过程调用(rpc)允许分布式的高级语言程序通过子程序调用以通常的方式进行通信和同步。RPC研究中的一个重大挑战是,尽管新环境具有分布和异构性,但要保持传统的调用语义。SUPRA-RPC的主要贡献在于处理子程序作为RPC参数的传递。在这样做的过程中,SUPRA克服了一些技术上的困难,这些困难来自范围、副作用和其他来源。由于支持子程序RPC参数比支持非子程序RPC参数更难,SUPRA体系结构的三个(六个)组件以新颖的方式扩展了其他RPC系统中对应组件中的传统功能。SUPRA存根生成器不仅从远程入口接口提取信息,还从作为RPC参数传递的子程序可能引用的任何作用域提取信息。除了通常的调用和接受存根以及封送和解封送例程之外,生成器还构造作用域外访问存根、回调和回调处理存根、修改参数子程序等。SUPRA运行时支持管理运行时符号表,以跟踪引用环境和作用域外对象。当作用域外对象无法在服务器上访问或执行时,将通过同步的“底层”回调来访问该对象。SUPRA进程管理支持具有独立控制线程的服务器,管理(可能嵌套的)回调和回调处理程序线程池,并维护线程发起的调用或回调的正确标识。SUPRA原型已在Sun Unix工作站上实现。该原型支持C、c++和CommonLisp程序。还实现了一个原型图形演示,它根据常见的生活对象和情况表示RPC概念。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Software-Practice & Experience
Software-Practice & Experience 工程技术-计算机:软件工程
CiteScore
8.00
自引率
8.60%
发文量
107
审稿时长
6 months
期刊介绍: Software: Practice and Experience is an internationally respected and rigorously refereed vehicle for the dissemination and discussion of practical experience with new and established software for both systems and applications. Articles published in the journal must be directly relevant to the design and implementation of software at all levels, from a useful programming technique all the way up to a large scale software system. As the journal’s name suggests, the focus is on practice and experience with software itself. The journal cannot and does not attempt to cover all aspects of software engineering. The key criterion for publication of a paper is that it makes a contribution from which other persons engaged in software design and implementation might benefit. Originality is also important. Exceptions can be made, however, for cases where apparently well-known techniques do not appear in the readily available literature. Contributions regularly: Provide detailed accounts of completed software-system projects which can serve as ‘how-to-do-it’ models for future work in the same field; Present short reports on programming techniques that can be used in a wide variety of areas; Document new techniques and tools that aid in solving software construction problems; Explain methods/techniques that cope with the special demands of large-scale software projects. However, software process and management of software projects are topics deemed to be outside the journal’s scope. The emphasis is always on practical experience; articles with theoretical or mathematical content are included only in cases where an understanding of the theory will lead to better practical systems. If it is unclear whether a manuscript is appropriate for publication in this journal, the list of referenced publications will usually provide a strong indication. When there are no references to Software: Practice and Experience papers (or to papers in a journal with a similar scope such as JSS), it is quite likely that the manuscript is not suited for this journal. Additionally, one of the journal’s editors can be contacted for advice on the suitability of a particular topic.
期刊最新文献
COVID-19 and future pandemics: A blockchain-based privacy-aware secure borderless travel solution from electronic health records. NovidChain: Blockchain-based privacy-preserving platform for COVID-19 test/vaccine certificates. An approach to forecast impact of Covid-19 using supervised machine learning model. Software system to predict the infection in COVID-19 patients using deep learning and web of things. Advanced data integration in banking, financial, and insurance software in the age of COVID-19.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1