Open Network Computing Remote Procedure Call
Internet protocol suite
Application layer
Transport layer
Internet layer
Link layer
Open Network Computing (ONC) Remote Procedure Call (RPC) is a remote procedure call system. ONC was originally developed by Sun Microsystems in the 1980s as part of their Network File System project, and is sometimes referred to as Sun RPC.
ONC is based on calling conventions used in Unix and the C programming language. It serializes data using the External Data Representation (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 that listens for queries on a well-known port (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 systems. Microsoft supplies an implementation for Windows in their Microsoft Windows Services for UNIX product; in addition, a number of third-party implementation of ONC RPC for Windows exist, including versions for C/C++, Java, and .NET (see external links).
In 2009, Sun relicensed the ONC RPC code under the standard 3-clause BSD license[1] and then reconfirmed by Oracle Corporation in 2010 following confusion about the scope of the relicensing.[2]
ONC is considered "lean and mean", but has limited appeal as a generalized RPC system for WANs or heterogeneous environments[citation needed]. Systems such as DCE, CORBA and SOAP are generally used in this wider role[citation needed].
XDR - The grammar defined in RFC 1831 is a small extension of the XDR grammar defined in RFC 4506
Birrell, A. D.; Nelson, B. J. (1984). "Implementing remote procedure calls". ACM Transactions on Computer Systems. 2: 39–59. doi:10.1145/2080.357392.
^ Phipps, Simon (2009-02-12). "Old Code and Old Licenses". Sun Microsystems. Archived from the original on 2010-02-25. Retrieved 2012-12-21.
^ "The long, sordid tale of Sun RPC, abbreviated somewhat, to protect the guilty and the irresponsible". Tom Callaway, Red Hat. Retrieved 2010-08-26.
RFC 1050 - Specifies version 1 of ONC RPC
Remote Procedure Calls (RPC) — A tutorial on ONC RPC by Dr Dave Marshall of Cardiff University
Introduction to RPC Programming — A developer's introduction to RPC and XDR, from SGI IRIX documentation.
Sun ONC Developer's guide
Netbula's PowerRPC for Windows (ONC RPC for Windows with extended IDL)
Netbula's JRPC (ONC RPC for Java)(supports J2SE, J2ME and Android
ONC/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 Windows
Linux Journal article on ONC RPC
Java NIO based ONC RPC library
Sun Microsystems (acquired by Oracle Corp, 2010)
Sun-1
Sun386i
SPARCstation
Sun Blade
Sun Fire
SPARC Enterprise
JavaStation
Sun Ray
Sun Modular Datacenter
NIS (+)
SunView
OpenWindows
Java Desktop System
StarOffice
iPlanet, Sun ONE, Java Enterprise System
Sun Secure Global Desktop
Sun xVM
Sun Open Storage
Sun Constellation System
Sun Visualization System
Sun Grid Engine
Sun Labs
picoJava
Project Looking Glass
SCPs
Common Development and Distribution License
Java Community Process
OpenSPARC
OSUM
Bill Joy
Andy Bechtolsheim
Scott McNealy
List of notable employees
Retrieved from "https://en.wikipedia.org/w/index.php?title=Open_Network_Computing_Remote_Procedure_Call&oldid=905614413"
Application layer protocols
Internet Standards
Remote procedure call
Sun Microsystems software
Unix software
Pages using RFC magic links