Misplaced Pages

Remote procedure call

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

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 computer network ), which is written as if it were a normal (local) procedure call, without the programmer explicitly writing the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. This is a form of client–server interaction (caller is client , executor is server ), typically implemented via a request–response message passing system. In the object-oriented programming paradigm, RPCs are represented by remote method invocation (RMI). The RPC model implies a level of location transparency, namely that calling procedures are largely the same whether they are local or remote, but usually, they are not identical, so local calls can be distinguished from remote calls. Remote calls are usually orders of magnitude slower and less reliable than local calls, so distinguishing them is important.

#347652

25-397: RPCs are a form of inter-process communication (IPC), in that different processes have different address spaces: if on the same host machine, they have distinct virtual address spaces, even though the physical address space is the same; while if they are on different hosts, the physical address space is also different. Many different (often incompatible) technologies have been used to implement

50-618: A physicist specializing in nuclear magnetic resonance and provost of Washington University in St. Louis , about starting a second research center for Xerox. On July 1, 1970, the Xerox Palo Alto Research Center opened. Its 3,000-mile distance from Xerox headquarters in Rochester, New York , afforded scientists at the new lab great freedom in their work, but it increased the difficulty of persuading management of

75-503: A business trip to Tel Aviv, Israel . In 2007 the Birrell and Nelson paper won an operating system hall of fame award from the ACM. Classmates and friends endowed a scholarship in his name at Carnegie Mellon. Harvey Mudd College also named a speaker series in his honor. He was an avid photographer, backpacker, free-diver and world traveler. His outgoing and eccentric personality included

100-657: A fascination with crows , leading a friend to name his company "Caw Networks". PARC (company) SRI Future Concepts Division (formerly Palo Alto Research Center , PARC and Xerox PARC ) is a research and development company in Palo Alto, California . It was founded in 1969 by Jacob E. "Jack" Goldman , chief scientist of Xerox Corporation , as a division of Xerox , tasked with creating computer technology-related products and hardware systems. Xerox PARC has been foundational to numerous revolutionary computer developments, including laser printing , Ethernet ,

125-564: A master's in computer science from Stanford University in 1976, and a Ph.D. in computer science from Carnegie Mellon University in 1982. While pursuing his Ph.D., he worked at Xerox PARC where he developed the concept of remote procedure call (RPC). He and his collaborator Andrew Birrell were awarded the 1994 Association for Computing Machinery (ACM) Software System Award for the work on RPC. In 1996 he joined Cisco Systems as Chief Science Officer. He died on September 19, 1999, due to complications from an aortic dissection , while on

150-523: A particular location. It has a touch screen, stylus, and handwriting recognition . Xerox designed the similar and larger PARCPad. Both devices were developed around the same time as the Apple Newton . PARC's distinguished researchers include four Turing Award winners: Butler Lampson (1992), Alan Kay (2003), Charles P. Thacker (2009), and Robert Metcalfe (2022). The Association for Computing Machinery (ACM) Software System Award recognized

175-492: The liquid-crystal display (LCD), some major innovations in optical disc technology, and laser printing were actively and successfully introduced by Xerox to the business and consumer markets. Microsoft co-founder Bill Gates has said that the Xerox graphical interface has notably influenced Microsoft and Apple. Apple Inc. co-founder Steve Jobs said that "Xerox could have owned the entire computer industry, could have been

200-755: The Alto system in 1984, Smalltalk in 1987, InterLisp in 1992, and the remote procedure call in 1994. Lampson, Kay, Bob Taylor , and Thacker received the National Academy of Engineering 's prestigious Charles Stark Draper Prize in 2004 for their work on the Alto. Lynn Conway was recognized by the National Inventors Hall of Fame for her work on VLSI (2023). Xerox has been heavily criticized, particularly by business historians, for failing to properly commercialize and profitably exploit PARC's innovations. Xerox management failed to see

225-479: The RC 4000 multiprogramming system, which used a request-response communication protocol for process synchronization. The idea of treating network operations as remote procedure calls goes back at least to the 1970s in early ARPANET documents. In 1978, Per Brinch Hansen proposed Distributed Processes, a language for distributed computing based on "external requests" consisting of procedure calls between processes. One of

250-514: The RPC. The IDL files can then be used to generate code to interface between the client and servers. Notable RPC implementations and analogues include: Bruce Jay Nelson Bruce Jay Nelson (January 19, 1952 – September 19, 1999) was an American computer scientist best known as the inventor of the remote procedure call concept for computer network communications. Bruce Nelson graduated from Harvey Mudd College in 1974, and went on to earn

275-426: The company's copier business, Goldman's "Advanced Scientific & Systems Laboratory" aimed to pioneer new technologies in advanced physics, materials science, and computer science applications. In 2002, Xerox spun off Palo Alto Research Center Incorporated as a wholly owned subsidiary. In late April of 2023, Xerox announced the donation of the lab to SRI International . In 1969, Goldman talked with George Pake ,

SECTION 10

#1732780199348

300-567: The computer field was under the leadership of its Computer Science Laboratory manager Bob Taylor , who guided the lab as associate manager from 1970 to 1977, and as manager from 1977 to 1983. Work at PARC since the early 1980s includes advances in ubiquitous computing , aspect-oriented programming , and IPv6 . After three decades as a division of Xerox, PARC was transformed in 2002 into an independent, wholly owned subsidiary company dedicated to developing and maturing advances in science and business concepts. Xerox announced that it would donate

325-582: The computer prompted the development of the PARC Universal Packet architecture, which is structured much like the modern Internet's architecture. The PARCTab is an experimental mobile computer as an early experiment in Ubiquitous Computing or UbiComp. Its appearance resembles a PDA . Its functionality depends on the user's location, by receiving location-specific information via infrared sensors from gateway nodes installed in

350-428: The computing industry. Many advancements made at the center were not equaled or surpassed for two decades. Xerox PARC has been the inventor and incubator of many elements of modern computing, including: Most of these developments were included in the Alto, which added the computer mouse . These developments unified into a single model most aspects of now-standard personal computers use. The integration of Ethernet into

375-433: The concept. Request–response protocols date to early distributed computing in the late 1960s, theoretical proposals of remote procedure calls as the model of network operations date to the 1970s, and practical implementations date to the early 1980s. Bruce Jay Nelson is generally credited with coining the term "remote procedure call" in 1981. Remote procedure calls used in modern operating systems trace their roots back to

400-462: The earliest practical implementations was in 1982 by Brian Randell and colleagues for their Newcastle Connection between UNIX machines. This was soon followed by "Lupine" by Andrew Birrell and Bruce Nelson in the Cedar environment at Xerox PARC . Lupine automatically generated stubs, providing type-safe bindings, and used an efficient protocol for communication. One of the first business uses of RPC

425-604: The global potential of many of PARC's inventions, but this was mostly a problem with its computing research, a relatively small part of PARC's operations. One notable example of this is the graphical user interface (GUI), initially developed at PARC for the Alto and then sold as the Xerox 8010 Information System workstation (with office software called Star) by the Xerox Systems Development Department. It heavily influenced future system design, but

450-519: The lab and its related assets to SRI International in April 2023. As part of the deal, Xerox would keep most of the patent rights inside PARC, and benefit from a preferred research agreement with SRI/PARC. On January 18, 2024, SRI announced the research group from the PARC will become its Future Concepts division. PARC's developments in information technology served for a long time as standards for much of

475-461: The modern personal computer , GUI ( graphical user interface ) and desktop paradigm , object-oriented programming , ubiquitous computing , electronic paper , a-Si ( amorphous silicon ) applications, the computer mouse , and VLSI ( very-large-scale integration ) for semiconductors . Unlike Xerox's existing research laboratory in Rochester, New York, which focused on refining and expanding

500-523: The promise of some of their greatest achievements. In its early years, PARC's West Coast location helped it hire many employees of the nearby SRI Augmentation Research Center (ARC) as that facility's funding began reducing from DARPA , NASA , and the U.S. Air Force . By leasing land at Stanford Research Park , it encouraged Stanford University graduate students to be involved in PARC research projects and PARC scientists to collaborate with academic seminars and projects. Much of PARC's early success in

525-466: The remote procedure was actually invoked. Idempotent procedures (those that have no additional effects if called more than once) are easily handled, but enough difficulties remain that code to call remote procedures is often confined to carefully written low-level subsystems. To let different clients access servers, a number of standardized RPC systems have been created. Most of these use an interface description language (IDL) to let various platforms call

SECTION 20

#1732780199348

550-415: The rise of the internet, particularly in the 2000s. RPC is a request–response protocol. An RPC is initiated by the client , which sends a request message to a known remote server to execute a specified procedure with supplied parameters. The remote server sends a response to the client, and the application continues its process. While the server is processing the call, the client is blocked (it waits until

575-510: The server has finished processing before resuming execution), unless the client sends an asynchronous request to the server, such as an XMLHttpRequest. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols. An important difference between remote procedure calls and local calls is that remote calls can fail because of unpredictable network problems. Also, callers generally must deal with such failures without knowing whether

600-571: Was by Xerox under the name "Courier" in 1981. The first popular implementation of RPC on Unix was Sun's RPC (now called ONC RPC), used as the basis for Network File System (NFS). In the 1990s, with the popularity of object-oriented programming , an alternative model of remote method invocation (RMI) was widely implemented, such as in Common Object Request Broker Architecture (CORBA, 1991) and Java remote method invocation. RMIs, in turn, fell in popularity with

625-603: Was deemed a failure because Xerox only sold about 25,000 units of the computer. A small group from PARC led by David Liddle and Charles Irby formed Metaphor Computer Systems . Metaphor Computer Systems extended the Star desktop concept into an animated graphic and communicating office-automation model and sold the company to IBM . Several GUI engineers left to join Apple Computer to work on Lisa and Macintosh . Technologies pioneered by its materials scientists such as

#347652