Přeskočit na obsah

Remote procedure call

Z Wikipedie, otevřené encyklopedie

Remote procedure call (RPC, vzdálené volání procedur) je v informatice technologie dovolující programu vykonat kód na jiném místě, než je umístěn volající program. Příkladem budiž provedení složitějšího matematického výpočtu výkonnějším počítačem, dostupným skrze síť.

  1. Proběhne zabalení identifikátoru procedury a vstupních parametrů do formy vhodné pro přenos (jedná se o tzv. marshalling)
  2. Balíček se odešle
  3. Entita určená k vykonání procedury balíček rozbalí a seznámí se s jeho obsahem (jde o tzv. unmarshalling)
  4. Dojde k provedení procedury
  5. Proběhne další zabalení, tentokrát výstupu procedury
  6. Data se odešlou zpět volající entitě
  7. Dojde k rozbalení
  8. Proběhne předání nadřazenému podprogramu
  • Odlehčení vlastní aplikace o danou (v principu velmi komplikovanou) proceduru.
  • Abstrahovaní od implementace procedury (volající entitu zajímá jen výsledek, zbytek je tzv. černá skříňka).
  • Možnost „půjčit si“ výpočetní výkon jiného stroje.
  • Potřeba bezchybné funkčnosti entity, jež je k vykonání procedury určena, a konektivity s ní.
  • Nemožnost používání globálních proměnných a předávání ukazatelů (v jiném stroji nemají smysl; adresní prostor je totiž jiný).

Tři základní RPC standardy jsou:

  • ONC (Open Network Computing);
  • DCE (Distributed Computing Environment);
  • Microsoft COM/DCOM „standard“.
  • První popis RPC spadá do roku 1976, do normy RFC 707.
  • První, kdo RPC využíval, byla firma Xerox. Stalo se tak pod jménem Kurýr (v angl. originálu Courier), a to v roce 1981.
  • První masové využití přišlo se systémem Unix. Šlo o ON RPC.
  • Počítačový červ Blaster využíval exploitu této technologie.

Související články

[editovat | editovat zdroj]