RPC
RPC står för Remote Procedure Calls, vilket är dels ett allmänt begrepp inom datalogi och datornät, dels namnet på en specifik teknik som utvecklades under 1980-talet av Sun Microsystems, ibland för tydlighets skull kallat Sun RPC men egentligast ONC RPC.Allmänt om fjärranrop av subrutiner: En subrutin (även kallat procedur eller funktion) är en del av ett datorprogram som återanvänds på många olika ställen och därför har skiljts ut från resten av programmet. Som sådan är den en uppfinning av 1950-talet. Med den ökande användningen av datornät blev det på 1980-talet angeläget att placera en del sådana subrutiner på en annan dator än den som kör själva huvudprogrammet. I stället för ett vanligt subrutinanrop, placeras i huvudprogrammet en "stubbe" som gör om anropsparametrarna till ett datapaket (beroende på kommunikationsform behöver det naturligtvis inte vara ett datapaket, det kan handla om en dataström som i TCP eller datapaket som i UDP) och skickar det över nätet till den dator som utför subrutinen som skickar tillbaks beräkningsresultatet. Denna modell är mycket användbar i många vanliga tillämpningar, till exempel transaktioner mot en databas. Vanliga subrutinanrop i befintliga program kan lätt göras om till fjärranrop. Datorn och huvudprogrammet som anropar kallas klient, medan datorn som svarar och utför subrutinen kallas server. Modellen kallas klient-server och är den vanligaste formen för distribuerad databehandling (distribuerad, utspridd över flera datorer). En ensam server (t.ex. en databas) kan betjäna anrop från många klientdatorer. Webben och protokollet HTTP kan sägas vara en sorts fjärranrop av detta slag.
Förutom Sun RPC, som beskrivs mer i detalj nedan, finns flera motsvarande metoder, däribland OSI ROSE (Remote Operations Service Entry), CORBA, XML-RPC, SOAP och webbtjänster.
Sun RPC som också kallas ONC RPC är ett specifikt protokoll baserat på UDP (eller TCP/IP) som beskrivs i RFC 1831, RFC 1833.Vanligen deklareras RPC-anropen i ett format som läses av programmet rpcgen, vilket matar ut färdiga stubbar i programspråket C.
Besläktade protokoll och specifikationer
- BXXP kanske ersätter RPC, se RFC 3117
- HTTP har vissa likheter med RPC
- NFS bygger på RPC, se RFC 3010
- Transaction Internet Protocol, RFC 2371
- UMSP är delvis en utvidgning av RPC, se RFC 3018
- VMTP, RFC 1045
- XDR, external data representation, är det sätt som anropsparametrar och beräkningsresultat paketeras för transport mellan klient och server, se RFC 1832
Historia
- nov 2001, RFC 3117, On the Design of Application Protocols, specificerar BXXP
- sep 1999, RFC 2695, Authentication Mechanisms for ONC RPC
- sep 1997, RFC 2203, RPCSEC_GSS Protocol Specification
- aug 1995, RFC 1831, Remote Procedure Call Protocol Specification Version 2
- apr 1995, RFC 1790, An Agreement between the Internet Society and Sun Microsystems, Inc. in the Matter of ONC RPC and XDR Protocols
- juni 1988, RFC 1057, RPC: Remote Procedure Call Protocol Specification Version 2
- april 1988, RFC 1050, RPC: Remote Procedure Call Protocol Specification
- juni 1987, RFC 1014, XDR: External Data Representation
- sept 1985, RFC 955, Towards a Transport Service for Transactin Processing Applications
- okt 1993, A. D. Birrel, B. J. Nelson, Implementing Remote Procedure Calls, Xerox, publicerad i ACM Transactions on Computer Systems, februari 1984, sidorna 39-54
- Läs
- från Harvard University
Artikeln skriven 2009-01-17 av Learning4sharing
Inga kategorier för denna artikel än...Intresserad av fler artiklar?
AccessCornelis Vreeswijk
BEA
Trigonometriska funktioner
Kunskap
Teckensnitt
Ugly Cute
Katzenjammer
Åklagare