| Sun Microsystems, Inc. Network Programming, May 1988. |
....handle 21 and information about the method invoked into a message. The Sun RPC protocol message format is used for this message. It then sends this message to the process implementing the active object and returns the result that it gets to the caller. The ADL compiler uses the rpcgen program [23] to generate XDR functions for packing and unpacking arguments into messages. Parameters can be any type that is supported by rpcgen. These include base types such as integers, characters etc. arrays, structures etc. of arbitrary types. In addition, references to active objects can also be ....
....containing the specification of an active class is given as input, this compiler generates a client proxy class, server class, main function for the server program and XDR routines. The specification of the data structures given in the second section of the input file is passed through the rpcgen[23] compiler to generate the XDR routines. The programmer compiles his program along with the client proxy class and the XDR routines to generate the client program. He compiles the main function of the server program along with the server class and XDR routines into a separate binary executable ....
Sun Microsystems Inc. Network Programming (Release 4.0), May 1988.
....TAPR Transformation Machines. The implementation is not complete, but it is sufficient to allow us to validate the core algorithms and to create TAPR Transformation Machines sufficiently powerful to instantiate PSG transformation templates for two different communications infrastructures, Sun RPC [7, 69, 70] and PVM [27, 28] We call the implementation, Pydist, in keeping with the conventions of the Python programming language community 1 . Pydist is an implementation of TAPR applied to the problem domain we have been considering in detail: transforming sequential programs to distributed programs. ....
.... variable names in new main 14 # 15 s=create(statement, oldmainname (argc, argv) 16 dot=replacement body 17 append(s) 160 Appendix C Templates Supporting the Sun RPC Communications Infrastructure We now present the templates that were developed to use Sun RPC (also known as ONC RPC) [69, 70] as the chosen communications infrastructure. The Sun RPC APIs offer a number of levels at which the programmer can connect to the RPC machinery, from simple, to detailed and arcane. For programming simplicity, the programmer trades away execution speed and network efficiency. On the other hand, ....
Sun Microsystems. Network Programming, Revision A, of 9 May 1988 edition. (cited on pages 129, 160)
....to check early, at bind time. Dynamic type checking is necessary in any system with dynamic sharing. Even Unix does some checking, e.g. open will fail on targets of type directory; the check is very simple because Unix implements only a small number of pre defined types. RPC systems such as RPCgen [22] do a rudimentary type check by checking interface version numbers. Object oriented databases [6] and persistent programming languages [2] store type definitions in a schema to check against bindings at run time; the CORBA specification similarly defines an Interface Repository [7] Two things ....
Sun Microsystems. Network Programming, May 1988. Part Number 800-1779-10.
....for a null RPC with no arguments or return values between two user level threads executing on separate Sun 3 60 workstations on the Ethernet is 573 microseconds. This time compares well with the fastest null network RPC times reported in the literature, ranging from about 1100 to 2600 microseconds [3, 12, 8, 15, 17, 19], and is only 309 microseconds above the measured hardware latency defined by the network penalty for the call and result packets in our environment. A null RPC with a single 1 kilobyte argument requires 1397 microseconds, showing an increase over the time for null RPC with no arguments of just ....
....(pointing to the buffer) with the address of the buffer in the remapped packet, effectively returning the buffer without copying its data. The client would then be responsible for later deallocating memory used by the return packet buffer. This semantics is used by the Sun RPC implementation [17] to avoid the expense of copying. We have not implemented this mechanism in Peregrine because we want to preserve conventional RPC semantics. 4.5. Multi Packet Network RPC For a network RPC in which the message containing the argument or result values is larger than the data portion of a single ....
[Article contains additional citation context not shown here]
Sun Microsystems, Inc. Network Programming, May 1988.
....a null RPC with no arguments or return values between two user level threads executing on separate Sun 3 60 workstations on the Ethernet is 573 microseconds. This time compares well with the fastest null network RPC times reported in the literature, ranging from about 1100 to 2600 microseconds [3, 12, 8, 15, 17, 19], and is only 309 microseconds above the measured hardware latency defined by the network penalty for the call and result packets in our environment. A null RPC with a single 1 kilobyte argument requires 1397 microseconds, showing an increase over the time for null RPC with no arguments of just ....
....(pointing to the buffer) with the address of the buffer in the remapped packet, effectively returning the buffer without copying its data. The client would then be responsible for later deallocating memory used by the return packet buffer. This semantics is used by the Sun RPC implementation [17] to avoid the expense of copying. We have not implemented this mechanism in Peregrine because we want to preserve conventional RPC semantics. 4.5 Multi Packet Network RPC For a network RPC in which the message containing the argument or result values is larger than the data portion of a single ....
[Article contains additional citation context not shown here]
Sun Microsystems, Inc. Network Programming, May 1988.
....The RPC mechanism as described is not type safe. The client and the server are usually independently developed and changed, inevitably leading to inconsistencies between the types of the arguments at the remote procedure and its local representative, the stub. An experiment using Sun RPC [Sun90] was attempted. A procedure for remotely printing an error message is initially declared as int printerror(int) and later changed to int printerror(string) for example, to change from an error code to an error string) If the server is updated but not the client, when the client calls the ....
....can be manually provided by giving a network address, either alongside the procedure interface or later at run time before using the stubs. Also, a number may be used which identifies the desired procedure at that server. This is the solution adopted by many RPC mechanisms including Sun RPC [Sun90] Hamilton [Ham84] extended the syntax for calling a remote procedure to accept a server address. Network objects [BNOW93] on the other hand, always know where to direct the call, because the remote reference to an object includes information about its location. Having this information ....
[Article contains additional citation context not shown here]
Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View, CA 94043. Network Programming, SunOS 4.1, March 1990.
....is needed. We 1 For a classification of RPC call semantics, see [22] component communication component communication stub server stub client routines server routines client server process client process Figure 1: Remote Procedure Call (RPC) use a standard external representation, XDR [25], and convert from native host format to this representation and vice versa. b) a) 2 1 2 1 2 1 claim invoke server server client (blocks) call invoke claim (blocks) client server Figure 2: Control flow for (a) synchronous and (b) asynchronous RPCs 2.3 Asynchronous RPC There are several ....
....(a) messages are large, b) available buffer space is limited and possibly smaller than the largest message and (c) messages will be consumed by the application mostly in the order they arrive. Sciddle uses virtual circuit communication based on stream sockets with the TCP IP protocol suite [24, 25]. Virtual circuits transfer data reliably and are well suited for bulk data transfer. Since they are connection oriented, they have the drawback of a time consuming connection setup, but the amount of data transferred over a once established connection should outweigh the initial effort. A ....
[Article contains additional citation context not shown here]
Sun Microsystems. Network Programming, SunOS Manual, Vol. 9, May 1988.
....Naming services. In addition to the lookup operation, the Naming service should also provide add and delete operations for inserting and removing string names in a given naming context. A naming service can always be designed to exploit an existing service (such as the Network Information Service [31]) rather than depending solely on the Atomic Action and other related modules for persistent object storage. The Binding service, which maps UIDs to hosts, can also be designed as an application of the Atomic Action services. In addition to the locate operation, add and delete operations must ....
Sun Microsystems, "Network Programming", Mountain View, CA, Revision A, May 1988.
....operations. When a replica recovers from a failure, or when the primary 37 fails, an election is held to determine which replica becomes the primary. The Echo file system [Mann89, Hisgen90] for example, combined primary copy replication with client caching. The Sun Network Interface Service [Sun88] commonly called the Yellow Pages service) also uses primary and secondary servers. The Domain Name Service [Mockapetris87] and the Clearinghouse name service [Oppen81] both combine centralization and replication. In both systems, the name space database is divided into a set of domains, and ....
Sun Microsystems, Incorporated. Network Programming (1988).
....Type safety The traditional RPC design is not type safe. The client and the server are usually independently developed and changed, inevitably leading to inconsistencies between the types of the arguments at the remote procedure and its local representative, the stub. An experiment using Sun RPC [13] was attempted. A procedure for remotely printing an error message is initially declared as int printerror(int) and later changed to int printerror(string) for example, to change from an error code to an error string) If the server is updated but not the client, when the client calls the ....
....server can be manually provided by giving a network address, either alongside the procedure interface or later at run time before using the stubs. Also, a number may be used which identifies the desired procedure at that server. This is the solution adopted by many RPC mechanisms including Sun RPC [13]. Hamilton [8] extended the syntax for calling a remote procedure to accept a server address. Network objects [4] on the other hand, always know where to direct the call, because the remote reference to an object includes information about its location. Having this information embedded within the ....
[Article contains additional citation context not shown here]
Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View, CA 94043. Network Programming, SunOS 4.1, March 1990.
....start independently. This last service was provided explicitly for use with AVS, although it should prove useful in other contexts as well. There are many other RPC schemes with features such as external data representations, specification languages, and stub compilers that are similar to Schooner [Alme85, Birr84, Sun88, Xero81]. Several of these systems also emphasize heterogeneity, including Matchmaker [Jone85] Horus [Gibb87] and HRPC (Heterogeneous RPC) Bers87] The primary distinction between this work and Schooner is one of orientation: the main aim of the other systems is to support interprocess communication ....
Sun Microsystems, Inc. Network Programming (Revision A), Part number 800-1779-10, Sun Microsystems, Inc., Mountain View, Calif., May 1988.
....now represents an older state of the object. 4. 1 Examples of Parameter Passing by Copy Most RPC systems pass parameters by copy, including the first RPC mechanism proposed by Birrel and Nelson [BN84] Hamilton s RPC designed for partial failures [Ham84] Argus [Lis88] the RPC products from Sun [Sun90] and OSF [Ope91] XEROX s heteronegeous ILU [JSS94] and our persistent type safe RPC [MdS95] Napier88 RPC [MdS95] is a type safe persistent RPC mechanism for the persistent programming language Napier88 [MBC 94, KBC 94] based on Sun RPC [Sun90] Like Sun RPC, Napier88 RPC also supports ....
.... Argus [Lis88] the RPC products from Sun [Sun90] and OSF [Ope91] XEROX s heteronegeous ILU [JSS94] and our persistent type safe RPC [MdS95] Napier88 RPC [MdS95] is a type safe persistent RPC mechanism for the persistent programming language Napier88 [MBC 94, KBC 94] based on Sun RPC [Sun90] Like Sun RPC, Napier88 RPC also supports only a restricted number of type constructors and passes parameters by copying them to the target program. However, Napier88 RPC differs from Sun RPC in a number of aspects because the implementation uses novel techniques made possible only by ....
[Article contains additional citation context not shown here]
Sun Microsystems, 2550 Garcia Avenue, Mountain View, CA 94043. Network Programming, SunOS 4.1, March 1990.
....Under normal circumstances the message is accepted and passed to the upper layer. Function call and receive( provides blocking RPC; for simplicity, this version omits timeout and retry. 3. 3 Presentation Protocol We assume that a stub generator (similar to Birrell and Nelson s [2] or to RPCgen [32]) makes remote invocation appear to be a local operation. A stub generator generates code for the stub (their client stub ) and for the scion (their server stub ) from an interface specification. The stub s interface is identical to the target s, but a generated operation simply marshalls the ....
Sun Microsystems. Network Programming, May 1988. Part Number 800-1779-10.
No context found.
Sun Microsystems, Inc. Network Programming, May 1988.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC