Sieci domowe (cz. V)

Jini definiuje też infrastrukturę wykonawczą, która rezyduje w sieci i dostarcza mechanizmy umożliwiające dodawanie, usuwanie i lokalizowanie usług. Infrastruktura wykonawcza znajduje się w trzech miejscach sieci: w usługach wyszukiwania, które są w sieci, w usługach dostawców (takich jak urządzenie kompatybilne z Jini) oraz w klientach. Kiedy nowe usługi stają się dostępne w sieci, wtedy rejestrują się w repozytorium usług (usługach wyszukiwania). A kiedy klient chce zlokalizować usługę, aby pomogła mu wykonać jakąś pracę, wtedy konsultuje się z usługami wyszukiwania.

Infrastruktura wykonawcza używa protokołu poziomu sieci, zwanego discovery (tu odnajdywanie), i dwóch protokołów poziomu obiektu, zwanych join (dołączenie) i lookup (szukanie). Discovery umożliwia klientom i usługom zlokalizowanie usług wyszukiwania. Join umożliwia usłudze rejestrowanie się w usługach wyszukiwania, a lookup umożliwia klientowi przepytywanie usług wyszukiwania w celu wybrania tej usługi, która pomoże mu w wypełnieniu jakiegoś zadania.

Discovery funkcjonuje w następujący sposób. Załóżmy, że użytkownik ma dyskowe urządzenie pamięciowe z zaimplementowanym Jini, oferujące usługi magazynowania danych. W chwili, kiedy użytkownik włączy to urządzenie do sieci, zacznie ono rozgłaszać wiadomość, w której powiadamia o swojej obecności. Odbywa się to za pośrednictwem multicastowego pakietu wysyłanego do dobrze znanego portu. W tej wiadomości będzie zawarty adres IP oraz numer portu, niezbędne do kontaktowania się z urządzeniem pamięciowym poprzez usługę wyszukiwania.

Usługi wyszukiwania monitorują dobrze znany port i odbierają pakiety rozgłaszające obecność. Kiedy usługa wyszukiwania otrzyma taki pakiet, to otwiera go i przegląda. Pakiet zawiera informację, na podstawie której usługa wyszukiwania może się dowiedzieć, czy powinna nawiązywać kontakt z nadawcą tego pakietu, czy też nie powinna. Jeśli tak, to kontaktuje się z nim przez utworzenie połączenia TCP z adresem IP i numerem portu ze wspomnianego pakietu. Używając metody zdalnego wywołania RMI (Remote Method Invocation), usługa wyszukiwania wysyła do źródła pakietu obiekt zwany RS (Service Registrar) - sekretarz usługi. Jego powinnością jest uproszczenie dalszej komunikacji z usługą wyszukiwania. Przez wywołanie procedur w tym obiekcie nadawca pakietu rozgłoszeniowego może dołączać i przeszukiwać usługi wyszukiwania. W przypadku cytowanego urządzenia pamięciowego usługa wyszukiwania mogłaby utworzyć do niego połączenie TCP i wysłać RS. Dzięki temu to urządzenie mogłoby rejestrować usługę magazynowania przez proces join.

UPnP (Universal Plug and Play)

UPnP jest architekturą typu "każdy z każdym" komputerów osobistych, urządzeń inteligentnych i bezprzewodowych. Jest architekturą rozproszoną, otwartą, wspierającą TCP/IP i Web. Co jest takiego uniwersalnego, że w nazwie UPnP znalazło się U? Głównie brak sterowników (wspólne protokoły), ale nie tylko. Urządzenia UPnP mogą być zaimplementowane z użyciem dowolnego języka programowania i w dowolnym systemie operacyjnym. Ponadto UPnP wspiera HTTP. Duży wpływ na UPnP mają producenci, co przedstawiono na rysunku 2.

UPnP nadaje się do tworzenia sieci domowych i dla małych przedsiębiorstw. Umożliwia przesyłanie danych między dwoma urządzeniami pod kontrolą dowolnego urządzenia sterującego w sieci. UPnP jest niezależna od systemu operacyjnego, języka programowania i fizycznego medium.

W architekturze UPnP zdefiniowano urządzenie sterowane - CD (Controlled Device). Dla uproszczenia będą one dalej nazywane urządzeniami. Kiedy tylko urządzenie jest dołączane do sieci, wtedy rozgłasza wiadomość o swojej zdolności do świadczenia usług. Innymi urządzeniami są punkty sterujące CP (Controll Point), które działają jak sterowniki. Mogą one otrzymywać wiadomości dotyczące dostępności urządzenia, a także mogą wysyłać zapytania w celu zlokalizowania urządzenia UPnP. Tak więc punkt sterowania może zlokalizować urządzenie zarówno przez otrzymanie wiadomości, jak i przez własne zapytania. W każdym razie po zlokalizowaniu urządzenia punkt sterowania może otrzymywać opisy urządzenia i jego usługi. Może również otrzymać stronę webową, która reprezentuje urządzenie. Używając opisów i strony webowej (jeśli jest jedna), urządzenie sterujące może powoływać usługi.

<hr size=1 noshade>Opis do Rys. 2.

Sieci domowe (cz. V)

Rys. 2. Pełny stos protokołów UPnP

UPnP używa otwartych protokołów, jak TCP/IP, HTTP oraz XML. Jest też otwarta na inne technologie, w tym HAVi, LonWorks, CEBus, EIB czy X10 - one także mogą funkcjonować w sieci UPnP przez most UPnP lub proxy. Stos TCP/IP jest bazą, na której została posadowiona reszta protokołów. Użycie powszechnych standardów - IP, TCP, UDP, IGMP, ARP czy DHCP - podwyższa kompatybilność UPnP. W rezultacie niewiele potrzeba, ażeby urządzenia UPnP zostały zaakceptowane w istniejących środowiskach.

SSDP (Simple Service Discovery Protocol) określa procedury odnajdywane usług w sieci. Jest oparty na HTTPU oraz HTTPMU. Ponadto definiuje metody zarówno dla punktu sterowania - do alokowania zasobów, jak również dla urządzeń - do powiadamiania o swojej obecności w sieci. W efekcie każdy punkt sterowania ma kompletną informację na temat stanu sieci. SSDP używają punkty sterowania i same urządzenia.

GENA (Generic Event Notification Architecture) określa wysyłanie i odbieranie powiadomień, używając protokołów HTTP over TCP/IP i Multicast UDP. Definiuje także subskrybentów i nadawców powiadomień. Formaty GENA są używane w UPnP do tworzenia komunikatów anonsujących obecność w sieci wysyłanych przy użyciu SSDP. Punkt sterujący, "zainteresowany" otrzymywaniem zawiadomień o zdarzeniu, będzie wywoływał źródło zdarzenia przez wysyłanie żądań. Subskrypcja musi być co jakiś czas odnawiana.

SOAP (Simple Object Access Protocol) definiuje użycie XML (Extensible Markup Language) i HTTP do zdalnego wywoływania procedur; staje się on standardem komunikacji przez Internet opartej na RPC (Remote Procedure Call). Korzystając z istniejącej infrastruktury internetowej, może działać skutecznie z zaporami ogniowymi i proxy. SOAP może także wykorzystywać SSL (Secure Socket Layer). Częściej jednak UPnP używa SOAP do przekazywania wiadomości sterujących do urządzenia i komunikatów do punktów sterowania.

Twórcą UPnP jest Microsoft. Do Forum UPnP należą: Broadcom, Canon, Cisco, Compaq, Ericsson, Hewlett-Packard, Honeywell, IBM, Intel, Philips, Siemens, Sony, Thomson Multimedia i Virata Corporation.<hr size=1 noshade>


TOP 200