Font Size: a A A

Design And Implementation Of The Asynchronous Remote Procedure Call

Posted on:2006-06-12Degree:MasterType:Thesis
Country:ChinaCandidate:J C WangFull Text:PDF
GTID:2168360155453036Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Client–server model is a popular model for constructing distributedsystems. Clients and servers usually use remote procedure calls (RPCs)to communicate with each other. The most common RPC protocol issynchronous RPC, in which the client will block itself after submittingan RPC request until it receives the result from the server. Because ofits simplicity and ease of maintenance, synchronous RPC has becomethe main communication method in the client–server model. However,there is no parallelism in synchronous RPCs. The client has to beblocked waiting for the server result before it can move on with itsprocesses, even though it is not essential as the result may not berequired at once.Asynchronous Remote Procedure Call (ARPC) is an extension ofthe synchronous RPC mechanism. Asynchronous remote procedurecall (ARPC) is an RPC where a client can proceed without waiting forthe result. ARPC aims at increasing the parallelism of clients andservers.At first, this article introduced the history of the remote procedurecall, then analyse the principle and mechanism of RPC in detail. TheRPC develop model, which can reduce complexity of distributedapplication programming and improve the rate of developing software.The idea of implementation asynchronous RPC may adopt handle,pooling, multithread, I/O interrupt, windows message etc. whenremote procedure be called by many client or the client has manyremote procedure call, multi-process would lead to burden with thehost, so that reduce the reliability. Additional, remote procedure can'tcall the description and the function of the operates system, at thesame time parameter passing would be limited. The interrupt would bedifficult. Of course, there are many way can improve the parallelism,but maybe lost the simplicity and familiarity. Base on these, we proposed an asynchronous RPC architecture andthe stream flow for developing distributed system in the article. Thedesign of ARPC is motivated mainly by the need to achievehigh-parallelism and better performance while retaining the simplicityand familiarity of the RPC. The design to carry out the Asynchronous Remote Procedure Callis to adopt the global service table, which is managed by global servicetable manager. All the invocation number, program number, machinenumber, the type of machine and dynamic information are recoded inthe global service table. The application program in the client runningwithout interrupted, pushing all the call to the calling message queue.Supper server fetches the procedure call from the queue; determinewhich server provides the service by the content of the calling, thenactivation the server. The remote program save the result to queue afterfinished the invocation. In the design and the implementation we also adopt multithread.
Keywords/Search Tags:Remote Procedure Call, Invocate, Distributed System
PDF Full Text Request
Related items