Sieci domowe (cz. V)
- Andrzej Janikowski,
- 01.03.2002
Urządzenia UPnP i punkty sterowania mają sześć warstw funkcjonalnych:
0 - adresowanie urządzenia (IP addressing)
1 - wykrywaniu urządzenia (URL i usługi)
2 - opis urządzenia i usług
3 - sterowanie innymi urządzeniami UPnP
4 - komunikaty o zdarzeniach
5 - prezentacja (albo strona webowa dla urządzenia).
Warstwy od 0 do 2 są fundamentem - istnieją one we wszystkich urządzeniach UPnP i wszystkich punktach sterowania. Wszystkie wyższe warstwy są opcjonalne.
Warstwa adresowania jest tam, gdzie urządzenia i punkty sterujące otrzymują adres IP. Adresy mogą pochodzić z serwera DHCP lub można używać Auto IP do przypisania adresu IP. Auto IP jest szkicem (draft) standardu IETF Dynamic Configuration IPv4 Link-Local Addresses. Dostawcy mogą oferować UPnP w różnych fizycznych sieciach. Jedynym warunkiem jest wspieranie IP.
Punkt sterowania może po rozpoznaniu urządzenia otrzymać jego opis. Informacja wysyłana przez urządzenie jest wyrażona w XML; jest on używany w całej implementacji UPnP. Opis zawiera: typ urządzenia, URL dla sterowania, ikony, URL dla prezentacji, jak również nazwę producenta, numer seryjny, kod produktu i inne tego typu informacje. Typy urządzeń zostały zdefiniowane przez UPnP Forum. Każdy typ urządzenia ma jeden lub kilka szablonów do określania zawartości i prezentacji danych.
Aby zainicjować jakąś akcję urządzenia, punkt sterujący wysyła wiadomość sterującą, używając definicji zawartych w dokumencie opisującym urządzenie. Aby wymieniać informacje, warstwa sterująca stosuje projekt protokołu W3C (World Wide Web Consortium) o nazwie SOAP (Simple Object Access Protocol). SOAP jest określany jako "lekki, oparty na XML protokół, przeznaczony do wymiany informacji w zdecentralizowanych, rozproszonych środowiskach". Wywołane urządzenie odpowiada przy użyciu SOAP.
Warstwa wysyłania wiadomości o zdarzeniach jest tą, w której punkt sterujący nasłuchuje powiadomienia dotyczącego zmiany stanu urządzenia UPnP. Na razie jest to trochę skomplikowane. Ażeby otrzymać wiadomość o zdarzeniu, punkt sterujący dokonuje "subskrypcji" wiadomości o zdarzeniach. W sieci może być wiele punktów sterowania i wiele urządzeń z zaimplementowanym UPnP. Punkt sterujący mógłby chcieć nasłuchiwać wielu usług. Ale nie wszystkich. Subskrypcja i negacja subskrypcji zdarzeń umożliwiają punktowi sterującemu selekcję. Kiedy usługa może mieć miejsce wewnątrz urządzenia, wtedy informuje o tym wszystkich bieżących subskrybentów. W ten sposób mają oni istotną wiedzę na temat stanu urządzenia. Wiadomości o zdarzeniach używają rozszerzenia do HTTP zdefiniowanego w propozycji standardu IETF. Protokół GENA został zdefiniowany po to, aby wysyłać i odbierać zawiadomienia z użyciem HTTP przez TCP i UDP.
Prezentowanie informacji i sterowanie są spełniane przez funkcje prezentacji. Prezentacja wymaga adresu, rozpoznawania i opisu, o czym była już mowa.