首页   按字顺浏览 期刊浏览 卷期浏览 Supra‐RPC: Subprogram parameters in remote procedure calls
Supra‐RPC: Subprogram parameters in remote procedure calls

 

作者: Alexander D. Stoyenko,  

 

期刊: Software: Practice and Experience  (WILEY Available online 1994)
卷期: Volume 24, issue 1  

页码: 27-49

 

ISSN:0038-0644

 

年代: 1994

 

DOI:10.1002/spe.4380240103

 

出版商: John Wiley&Sons, Ltd.

 

关键词: Remote procedure calls;Passing subprograms as parameters;Preserving high‐level language semantics;Distributed programs;Stub generation;Callbacks

 

数据来源: WILEY

 

摘要:

AbstractRemote‐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 call‐ and 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 run‐time 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

 

点击下载:  PDF (1648KB)



返 回