Open Network Computing Remote Procedure Call
   HOME

TheInfoList



OR:

__NOTOC__ Open Network Computing (ONC) Remote Procedure Call (RPC), commonly known as Sun RPC is a
remote procedure call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (l ...
system. ONC was originally developed by
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
in the 1980s as part of their
Network File System Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like ...
project. ONC is based on
calling convention In computer science, a calling convention is an implementation-level (low-level) scheme for how subroutines or functions receive parameters from their caller and how they return a result. When some code calls a function, design choices have been ...
s used in
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
and the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
. It serializes data using the
External Data Representation External Data Representation (XDR) is a standard data serialization format, for uses such as computer network protocols. It allows data to be transferred between different kinds of computer systems. Converting from the local representation to XD ...
(XDR), which has also found some use to encode and decode data in files that are to be accessed on more than one platform. ONC then delivers the XDR payload using either UDP or TCP. Access to RPC services on a machine are provided via a ''
port mapper The port mapper (''rpc.portmap'' or just ''portmap'', or ''rpcbind'') is an Open Network Computing Remote Procedure Call __NOTOC__ Open Network Computing (ONC) Remote Procedure Call (RPC), commonly known as Sun RPC is a remote procedure call syste ...
'' that listens for queries on a
well-known port This is a list of TCP and UDP port numbers used by protocols for operation of network applications. The Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) only need one port for duplex, bidirectional traffic. They usually u ...
(number 111) over UDP and TCP. ONC RPC was described in RFC 1831, published in 1995. RFC 5531, published in 2009, is the current version. Authentication mechanisms used by ONC RPC are described in RFC 2695, RFC 2203, and RFC 2623. Implementations of ONC RPC exist in most
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems.
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
supplies an implementation for
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
in their
Microsoft Windows Services for UNIX Windows Services for UNIX (SFU) is a discontinued software package produced by Microsoft which provided a Unix environment on Windows NT and some of its immediate successor operating-systems. SFU 1.0 and 2.0 used the MKS Toolkit; starting with ...
product; in addition, a number of third-party implementation of ONC RPC for Windows exist, including versions for C/
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, and .NET (see external links). In 2009, Sun relicensed the ONC RPC code under the standard 3-clause
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
and then reconfirmed by
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
in 2010 following confusion about the scope of the relicensing. ONC is considered "lean and mean", but has limited appeal as a generalized RPC system for WANs or heterogeneous environments. Systems such as DCE,
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
and
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
are generally used in this wider role.


See also

* XDR - The grammar defined in RFC 1831 is a small extension of the XDR grammar defined in RFC 4506 * DCE *
XML-RPC XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Edition. ...


References

*


Notes


External links


RFC 1050
- Specifies version 1 of ONC RPC
RFC 5531
- Specifies version 2 of ONC RPC

— A tutorial on ONC RPC by Dr Dave Marshall of Cardiff University

— A developer's introduction to RPC and XDR, from SGI IRIX documentation.
Netbula's PowerRPC for Windows (ONC RPC for Windows with extended IDL)Netbula's JRPC (ONC RPC for Java)(supports J2SE, J2ME and AndroidONC/RPC Implementation of the University of Aachen (Germany)Remote Tea (LGPL Java Implementation)Remote Tea .Net (LGPL C# Implementation)Distinct Corporation's ONC RPC for WindowsLinux Journal article on ONC RPCJava NIO based ONC RPC library
{{Sun Microsystems Application layer protocols Internet Standards Remote procedure call Sun Microsystems software Unix software