Distribuovan PNtalk s mobilnmi objekty Implementace systmu Ivan
Distribuovaný PNtalk s mobilními objekty Implementace systému Ivan Schwarz
Základní rysy systému I • • • mobilita objektů transparentní distribuce uniformní objektový model jemnozrná granularita striktně decentralizované řešení rozšíření metaprotokolu o podporu distribuovaného zpracování
Základní rysy systému II • předávání parametrů referencí • další způsoby předávání parametrů (by-move, by-visit) • ovládání mobility objektů programátorem • podpora dynamického přidávání a odebírání uzlů
Mobilita objektů Nové metody metaprotokolu PNObject • locate - zjištění pozice objektu • move: - přesun objektu • clone: - vytvoření vzdáleného klonu Příklad: a. Node obj. B locate. obj. A move: a. Node.
Alternativní způsoby předávání parametrů Úprava metody perform. Message: a třídy PNtalk. Message Příklad: a. Message PNtalk. Message new selector #message. With. Par 1: par 2: with. Arguments: (Array with: par 1 with: par 2) passing. Mode: #(by. Move by. Visit) sender: self. obj. A perform. Message: a. Message.
Vzdálené vytváření objektů • remote. New: - metoda pro vytvoření objektu na vzdáleném uzlu • operace new je řízena metaobjektem Strategy Příklad: obj. A Class. A remote. New: a. Node.
Strategie přesunu objektů • • • Nový objekt metaprotokolu Strategy Ovlivňuje vytváření objektů Lze uživatelsky předefinovat PNtalk. Processor • • reprezentuje jeden uzel v systému nová metoda get. All. Nodes vrací všechnu aktivní uzly v systému
Implementace • unikátní identifikace objektů - universal unique identier (UUID) • serializace objektů - použití XML, úprava knihovny SIXX • komunikační vrstva – zajišťuje spojení mezi uzly, každý uzel udržuje spojení se všemi ostatními uzly, ke komunikaci používá sokety
Implementace II Vzdálené zasílání zpráv • použit mechanismus proxy-wrapper • proxy objekt existuje na všech uzlech, kde se nalézá reference • proxy zachytí zprávu a pošle ji po síti • na cílovém uzlu wrapper dostane serializovanou zprávu, kterou předá příslušnému objektu
Implementace III Postup při přesunu objektu: • uspání objektu • serializace objektu a přenos po síti • vytvoření klonu objektu na vzdáleném uzlu • zrušení původního objektu a nahrazení proxy objektem
Implementace IV • Slabá lokace – každý uzel drží informaci o poloze objektu, na který existuje reference • Silná lokace – metoda přeposílacích adres (forwarding addresses) • Při přesunu objekt zanechá na uzlu svou novou adresu, požadavky jsou pak směrovány na tuto adresu
- Slides: 11