pk.org: CS 417/Lecture Notes

Remote Procedure Calls

Terms you should know

Paul Krzyzanowski – February 10, 2021

RPC concepts

  • Read/write vs. functional interfaces
  • language-level vs. operating system construct
  • Stub functions
  • Client stub (proxy)
  • Server skeleton
  • Marshalling and unmarshalling (can also be spelled with one L)
  • Serialization
  • Pass by value, pass by reference
  • Exactly once, at least once, at most once semantics
  • Idempotent vs. non-idempotent function
  • Interface Definition Language (IDL)
  • RPC compiler (protocol compiler)
  • Big/little/bi-endian byte ordering
  • XML, JSON, Protocol buffers

ONC RPC

  • IDL (Interface Definition Language)
  • port mapper (rpcbind)
  • versions
  • early binding
  • XDR: eXternal Data Representation
  • Program number

DCE RPC

- UUID, uuidgen - Cell, cell directory server - multi-canonical data representation
### COM+
  • Surrogate process
  • COM objects and Microsoft RPC
  • Distributed garbage collection
  • Remote reference counting
  • Pinging (leasing)
### Java RMI
  • Object registry (rmiregistry)
  • remote class
  • serializable class
  • distributed garbage collection
### RPyC
  • Symmetric operation
  • Parameter passing
  • proxy objects
### Web services
  • Site scraping
  • Service Oriented Architecture (SOA)
  • Unassociated services
  • Loosely coupled services
  • Message-oriented communication
  • XML-RPC
    • general concept
  • SOAP
    • Web Services Description Language (WSDL)
  • REST
    • PUT, GET, POST, DELETE HTTP operations