Sr-2-wyk-1.0-Slajd11

Z Studia Informatyczne
Wersja z dnia 12:25, 28 sie 2006 autorstwa Bgrabiec (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

RPC – koncepcja

RPC – koncepcja


Wymiana wiadomości stanowi podstawę komunikacji pomiędzy procesami w systemie rozproszonym. Okazuje się jednak niewystarczająca do modelowania komunikacji z dwóch podstawowych powodów. Nie zapewnia bowiem przezroczystości rozproszenia. Przykładowo, jawne wysłanie wiadomości do innego procesu oznacza, że proces nadawcy musi być świadomy, do kogo wysyła wiadomość, a to oznacza, że jest świadomy rozproszenia. Ponadto, w sytuacji gdy wiadomość przesyłana jest pomiędzy maszynami o różnych wewnętrznych reprezentacjach danych, proces nadawcy musi wysyłaną wiadomość dostosować do reprezentacji odbiorcy, co znacznie utrudnia osiągnięcie przezroczystości dostępu (ang. Access transparency ).

W 1984 roku zaproponowano nowy sposób komunikacji pomiędzy procesami na różnych maszynach, polegający na wywoływaniu procedur znajdujących się na innej maszynie. Informacje dodatkowe oraz wyniki mogą być przekazane w postaci parametrów. W ten sposób udaje się zupełnie ukryć przed programistą przekazywanie wiadomości. Model ten nazwano zdalnym wywoływaniem procedur , w skrócie RPC (ang. Remote Procedure Call ).

Chociaż podstawowa idea wydaje się być prosta, pozostaje kilka poważnych problemów do rozwiązania. Przede wszystkim, wywołująca i wywoływana procedura znajdują się w różnych maszynach i są wykonywane w różnych przestrzeniach adresowych, a to powoduje pewne komplikacje. Należy ponadto przekazać parametry, co również może rodzić komplikacje, szczególnie w przypadku, gdy maszyny nie są identyczne. Wreszcie, każda ze stron może ulec awarii, co rodzi kolejne problemy. Większość wspomnianych tu komplikacji udaje się jednak rozwiązać, a RPC ciągle jest popularną techniką, stanowiącą podstawę wielu systemów rozproszonych.


<< Poprzedni slajd | Spis treści | Następny slajd >>