Up: Architektura systemu CoSMoL
Inne rozwi±zania
W ci±gu kilku ostatnich lat powsta³o wiele projektów, w których
u¿yto protoko³u lub jêzyka wysokiego poziomu do komunikacji.
Rozwi±zania te mo¿na by³o zastosowaæ w systemach komunikacyjnych
do przesy³ania danych. W¶ród tych rozwi±zañ mo¿na
wyró¿niæ rozwi±zania niskopoziomowe i wysokopoziomowe.
Rozwi±zania niskopoziomowe, z którymi siê spotka³em, by³y przeznaczone dla
domu i biura. Na przyk³ad mo¿na korzystaæ w nich z przewodów elektrycznych,
linii telefonicznej i innych sprzêtowych rozwi±zañ do przesy³ania danych.
Przyk³adami tego typu rozwi±zañ s± projekty:
- HomePNA -- Home Phoneline Networking Alliance [15].
Celem by³a adaptacja pojedynczych linii telefonicznych do przesy³ania
poleceñ do urz±dzeñ. U¿ywano specjalnie opracowanego protoko³u
do przesy³u danych w sieci. G³ównym zastosowaniem by³y inteligentne domy.
- CEBus -- Home Plug & Play [5], zosta³ zbudowany przez
CEBus Industry Council (CIC). W projekcie zosta³ u¿yty jêzyk
do komunikacji Common Application Language (CAL). Umo¿liwia on
przesy³anie danych pomiêdzy urz±dzeniami, które korzystaj± ze specjalnie
zaprojektowanej sieci lokalnej CEBus LAN. Sieæ lokalna CEBus LAN
u¿ywa przewodów elektrycznych.
- LonWorks -- Echelon [23]; w projekcie zosta³ okre¶lony
standard komunikacyjny, który pozwala na przesy³anie poleceñ i
informacji miêdzy urz±dzeniami. System zaimplementowano za
pomoc± technologii Jini z u¿yciem jêzyka Java.
- HomeRF -- Oprogramowanie stworzono specjalnie dla ¶rodowiska
domowego. U¿ywa ono protoko³u SWAP -- Shared Wireless Access Protocol
[16] do komunikacji pomiêdzy urz±dzeniami i wymaga
jednostki centralnej jako punktu scalaj±cego system, przez
który nastêpuje komunikacja.
- X10 -- X10 [42] jest protoko³em dla urz±dzeñ elektrycznych
pod³±czonych do sieci, który pozwala komunikowaæ siê miêdzy sob± przez
istniej±ce przewody elektryczne. Popularny dla napiêcia 110V,
obecnie pojawia siê na rynku europejskim. Umo¿liwia sterowanie
urz±dzeniami domowymi za pomoc± zwyk³ego pilota lub dziêki specjalnemu
oprogramowaniu. Urz±dzenia korzystaj± z specjalnych modu³ów, które
s± razem z wtyczk± od przewodu wpinane do gniazdka elektrycznego.
Komunikacja z komputerem odbywa siê za pomoc± portu szeregowego, do którego
zostaje przy³±czony modu³ po¶rednicz±cy miêdzy komputerem a lini±
elektryczn±.
W rozwi±zaniach wysokopoziomowych zastosowano jêzyk programowania
wysokiego poziomu (np. XML) do komunikacji miêdzy urz±dzeniami.
Projekty omówione w dalszej kolejno¶ci korzystaj± z technik
podobnych do tych, które
ja zastosowa³em. W tych projektach u¿ywa siê urz±dzeñ przeno¶nych,
takich jak PDA lub telefon komórkowy.
Przyk³adami tego typu rozwi±zañ s±:
- BlueTooth -- Projekt BlueTooth [3] obejmuje u¿ycie
technologii bezprzewodowej i standardu dla urz±dzeñ, które
mog± korzystaæ z krótkiego zasiêgu radiowego do komunikacji
z urz±dzeniami przeno¶nymi (np. telefonem komórkowym i PDA).
Technologia ta jest rozwi±zaniem sprzêtowo-programistycznym.
- InfernoSpaces -- Projekt Inferno [17], stworzony
przez Vita Nuova, pierwotnie by³ prowadzony przez Lucent. Technologia ta
jest podobna do Jini. Stworzono jêzyk zwany Limbo, niezale¿ny od
platformy. Inferno jest u¿ywany do implementacji rozproszonej aplikacji
klient-serwer z u¿yciem przestrzeni wspó³dzielonej InfernoSpace.
Dostêp do przestrzeni mo¿e byæ zdalny. Urz±dzenia u¿ywaj±ce InfernoSpaces
mo¿na ³atwo pod³±czaæ do sieci i mog± one dzieliæ miêdzy siebie zasoby.
- BARWAN -- Projekt Ninja [28] powsta³ na University
of California, Berkeley. System oparto na statycznym interfejsie
i jego generacji bazuj±cej na opisie dzia³ania urz±dzenia w jêzyku XML.
U¿ytkownik ma dziêki temu mo¿liwo¶æ zdalnego zarz±dzania urz±dzeniem.
Istnieje mo¿liwo¶æ ró¿nego profilowania graficznego interfejsu
w zale¿no¶ci od funkcjonalno¶ci.
- Rover -- Projekt Rover [34] jest realizowany w Massachusetts
Institute of Technology. Rover bada³ zdalne wo³ania procedur
i zmianê po³o¿enia obiektów tworzonych przez aplikacje na zdalnym
komputerze, a przede wszystkim interakcje u¿ytkownika
z systemem w ¶rodowisku przeno¶nym.
Jednym z aspektów projektu by³o zdalne uruchamianie aplikacji przez
klienta przeno¶nego. Narzêdzia stworzone w ramach projektu Rover
wspomagaj± zgrywanie i wykonywanie statycznych aplikacji na zdalnym
komputerze.
- MoDAL -- IBM Almaden zaproponowa³ MoDAL [26], system
dla PalmPilota, który korzysta z jêzyka wysokiego poziomu opartego
na XML. System u¿ywa przestrzeni TSpaces do komunikacji
ze ¶wiatem zewnêtrznym. Opis dzia³ania aplikacji
jest zgrywany do urz±dzenia z przestrzeni, gdzie uruchamiany jest
interpreter jêzyka. System zbudowano specjalnie dla systemu
operacyjnego PalmOS. Sk³adnia jêzyka MoDAL zosta³a opracowana
z my¶l± o u¿yciu go w PalmPilocie.
- Surrogate Architecture -- Projekt Surrogate Architecture
[37] jest propozycj± wprowadzenia Jini do urz±dzeñ
o ma³ych zasobach. Wci±¿ znajduje siê na etapie eksperymentalnym, ale
trwaj± prace, aby w przysz³o¶ci oprogramowanie sta³o siê
czê¶ci± oficjalnej wersji Jini.
System jest szczególnie u¿yteczny dla klienta uogólnionego. Klasy Javy
mog³yby byæ uruchamiane w ¶rodowisku wykonawczym u¿ytkownika. Surrogate
uruchamia na zdalnym komputerze Surrogate Host -- maszynê wirtualn±.
Robi to w imieniu u¿ytkownika.
Komunikacja z urz±dzeniem nastêpuje przez ten
komputer.
sierpieñ 2001