LLMpediaThe first transparent, open encyclopedia generated by LLMs

Remote Procedure Call (RPC)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: SunRPC Hop 4
Expansion Funnel Raw 93 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted93
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Remote Procedure Call (RPC)
NameRemote Procedure Call

Remote Procedure Call (RPC)

Overview

Remote Procedure Call (RPC) is a protocol that enables a program on one machine to execute code on another machine as if invoking a local routine, used across distributed systems, networked services, and client–server applications. RPC underpins interoperability in large systems built by organizations such as Sun Microsystems, Microsoft, IBM, Google, Amazon (company), and Facebook and is employed in infrastructures influenced by projects like UNIX, BSD, Linux, Windows NT, and Android (operating system).

History

RPC concepts emerged alongside early distributed computing research at institutions such as Xerox PARC, Carnegie Mellon University, MIT, and Bell Labs, influenced by systems like Multics, TENEX, and the ARPANET project. Key milestones include practical implementations by Sun Microsystems with ONC RPC, Microsoft with DCOM, and standards from efforts like IETF and ISO, following academic work by researchers at University of California, Berkeley, Stanford University, and Massachusetts Institute of Technology. Commercial and open-source evolution involved actors such as Oracle Corporation, Red Hat, Canonical (company), Novell, and initiatives linked to Apache Software Foundation projects.

Design and Architecture

RPC design centers on abstractions for procedure semantics, parameter marshaling, and transport independence, drawing architectural patterns illustrated in documents from Open Group, IETF, and ISO/IEC. Implementations typically separate client stubs and server skeletons, use Interface Definition Languages created by bodies like OMG and W3C for interoperability, and rely on middleware concepts advanced by firms such as TIBCO Software and BEA Systems. Interoperability concerns interact with standards from IEEE, IETF, and regulatory contexts involving entities like European Union institutions or national standards organizations.

Communication Models and Protocols

RPC systems use communication models such as synchronous blocking calls, asynchronous callbacks, and message-oriented interactions influenced by protocols like TCP/IP, UDP, HTTP, HTTPS, QUIC, and wire formats adopted from JSON, Protocol Buffers, ASN.1, and XML. Notable RPC protocol families and specifications include ONC (Open Network Computing), DCE/RPC, gRPC, Thrift (software), and patterns implemented by SOAP-based stacks and REST-style services developed in ecosystems around Microsoft .NET Framework, Java Platform, Standard Edition, and Node.js.

Implementation and Frameworks

Prominent implementations and frameworks span commercial and open-source projects such as gRPC, Apache Thrift, Microsoft RPC, DCOM, ONC RPC, and platform-integrated systems in Kubernetes, Docker, OpenStack, and Hadoop (software framework). Language bindings and tooling connect RPC to languages and runtimes like C, C++, Java, Python (programming language), Go (programming language), Rust (programming language), and JavaScript engines exemplified by V8 (JavaScript engine). Vendor ecosystems including Google, Amazon Web Services, Microsoft Azure, IBM Cloud, and Red Hat produce libraries, SDKs, and orchestration support for RPC-enabled microservices architectures.

Security and Reliability

Securing RPC involves authentication, authorization, encryption, and auditing using mechanisms standardized by IETF such as TLS and OAuth 2.0, and enterprise systems integrating identity providers like Active Directory and LDAP. Threat models addressed in practice reference work by organizations including NIST, CERT Coordination Center, ENISA, and compliance regimes influenced by laws and directives like GDPR. Reliability strategies draw on consensus and fault-tolerance research from projects linked to Paxos, Raft (computer science), and distributed databases by Google and Amazon (company).

Performance and Optimization

Performance tuning of RPC systems leverages batching, compression, connection pooling, multiplexing, and binary serialization methods developed in projects by Google, Facebook, Twitter, and LinkedIn. Profiling and telemetry integration use tools and standards from Prometheus, Grafana Labs, OpenTelemetry, and runtime optimizations found in virtual machines from Oracle Corporation and Microsoft. Scalability patterns reflect design choices in platforms such as Netflix, Airbnb, and Uber Technologies that rely on low-latency RPCs, backpressure techniques, and network optimization research originating in work at Stanford University, UC Berkeley, and MIT.

Category:Distributed computing