Overview
ISO/IEC 11578:1996 - "Information technology - Open Systems Interconnection - Remote Procedure Call (RPC)" defines a comprehensive RPC model and API for building distributed applications in the OSI environment. The standard extends the familiar Remote Procedure Call paradigm to work between application processes on separate open systems, specifying programming models, the Interface Definition Language (IDL), stub behavior, runtime protocols, PDU encodings, and conformance requirements to ensure interoperability across implementations.
Key Topics and Requirements
- RPC programming model: Client/server model, binding, remoteness, and server implementation patterns to support distributed procedure invocation.
- RPC API and routines: A large taxonomy of API operations (binding, name service, endpoint, security, management, UUID handling, stub memory management) for practical implementation and management of RPC services.
- Name service and binding: Name syntax, server/group/profile entries, binding searches and caching, and algorithms used to resolve and select remote endpoints.
- IDL (Interface Definition Language): Full IDL language specification, syntax, attributes, parameter direction, type mappings and semantics used to generate interoperable stubs.
- Stubs and application/stub interface: Stub memory management, parameter marshaling/unmarshaling, manager entry point vectors, and interoperability constraints for stubs.
- Protocol definitions and PDUs: Detailed connectionless and connection-oriented RPC protocol machines, PDU structure and encoding conventions, fragmentation/reassembly, and transport service requirements.
- Execution model and runtime semantics: Context handles, nested RPCs, threading, cancel/timeout behavior, error handling and monitoring liveness.
- Security and conformance: Security services, authentication hooks, and conformance requirements to ensure compatible implementations across vendors.
- Statechart semantics: Use of statecharts for protocol machine behavior and message processing logic.
Practical Applications
ISO/IEC 11578:1996 is applicable to:
- Designing and implementing RPC middleware and runtime libraries that follow OSI conventions.
- Generating platform-neutral stubs from IDL definitions for cross-platform distributed applications.
- Implementing name services, endpoint mappers and binding management in enterprise middleware.
- Building interoperable network services where connectionless and connection-oriented RPC protocols are required.
- Interoperability testing, certification and conformance validation of RPC stacks.
Who should use this standard
- Middleware and network protocol engineers
- Distributed systems architects and developers
- Implementers of IDL compilers and stub generators
- Product teams seeking vendor-interoperable RPC implementations
- Test laboratories and standards compliance teams
Related standards
ISO/IEC 11578:1996 complements other OSI and interface-definition standards, and is relevant when aligning RPC implementations with broader OSI protocol stacks and conformance frameworks.
Keywords: ISO/IEC 11578:1996, Remote Procedure Call, RPC, OSI, distributed applications, RPC API, IDL, stubs, binding, name service, PDUs, connectionless, connection-oriented, security, interoperability.