Moc warstwy średniej

T Spaces to nowa, sformułowana przez IBM, wizja wszechobecnego przetwarzania sieciowego.

T Spaces to nowa, sformułowana przez IBM, wizja wszechobecnego przetwarzania sieciowego.

Udostępnienie każdemu klientowi mocy obliczeniowej wszystkich komputerów działających w sieci daje możliwości nieporównywalne z innymi rozwiązaniami dostępnymi do tej pory. Nie wymaga instalowania potężnych superkomputerów dla uzyskania szybkości obliczeń liczonej w gigaflopach. Jednym z bardziej spektakularnych projektów przetwarzania rozproszonego jest przedsięwzięcie o nazwie T Spaces, prowadzone przez IBM.

Nowy rodzaj middleware'u

T Spaces można najprościej zdefiniować jako swoisty rodzaj pośredniej warstwy oprogramowania (middleware) dla nowej ery wszechobecnego przetwarzania. Jest to również bufor komunikacyjny, mający pewne cechy systemów do zarządzania bazami danych. System można jednak łatwiej opisać za pomocą jego możliwości (patrz ramka) niż przez podanie formalnej definicji.

T Spaces zapewnia grupową komunikację między urządzeniami a aplikacjami w sieci niejednorodnych systemów i komputerów oraz usługi bazodanowe, przesyłanie danych i plików wskazywanych przez internetowy adres URL, a także powiadamianie o wystąpieniu zdarzeń. Zrealizowano go w języku Java, zapewnia więc standardową reprezentację typów danych i niezależność od platformy systemowej.

Nazwa T Spaces jest związana z przestrzenią tupli (Tuple Space), uznanych już w pierwszej publikacji E.F. Codda (na temat podstaw teoretycznych relacyjnych baz danych) za odpowiednik rekordu płaskiego. T Spaces opiera się na podstawach teoretycznych, opracowanych w ramach międzyuczelnianego projektu Linda, prowadzonego przy wsparciu firm komercyjnych. W projekcie T Spaces system Linda rozszerzono o możliwości zarządzania danymi oraz ładowania nowych typów danych i metod do ich obsługi.

Zastosowania

System T Spaces kwalifikuje się do użycia w każdej aplikacji wymagającej dystrybucji danych w sieci. Może realizować funkcje relacyjnej bazy danych, nie nakładając ograniczeń typowych dla tych systemów: mały zestaw typów danych, prymitywny sposób dostępu, duże wymagania pamięciowe. T Spaces to swoisty system obsługi danych dla potrzeb dowolnych urządzeń obliczeniowych, nie posługujących się językiem SQL, ale mimo to wymagających niezawodnego pamiętania danych.

Ponieważ T Spaces może połączyć każde urządzenie z dowolnym innym poprzez dane (bufor komunikacyjny), kwalifikuje się do obsługi urządzeń powszechnego użytku nie zawierających dysków. Może na przykład zapewnić usługi drukowania z dowolnego urządzenia na dowolnej drukarce dostępnej w sieci. Realizuje się to przez wywołanie tupli drukowania w serwerze T Spaces, odwzorowującej tę funkcję na działania konkretnej drukarki.

Konkretne usługi w przestrzeni T Spaces można odwzorowywać na systemy wykonujące te działania najlepiej, np. posługując się superkomputerem do modelowania, a wydajnym systemem unixowym do obsługi drukowania w sieci.

Liczba usług sieciowych jest praktycznie nie ograniczona. Najważniejszą cechą T Spaces jest zapewnienie jednolitego interfejsu do każdej usługi, niezależnie od rodzaju używanego urządzenia lub aplikacji. Ułatwi to pisanie aplikacji, ponieważ do wywołania konkretnej usługi wystarczy odwoływać się zawsze do tej samej tupli.

Stan aktualny

Obecnie dostępna jest beta wersja serwera T Spaces i kilka przykładowych aplikacji: uniwersalny międzyplatformowy schowek TClipboard do przenoszenia danych, tablica do komunikacji na bieżąco Whiteboard, program sortowania, kopiowanie lokalizacji URL, gra "kamień-nożyczki-papier". Szczegółowe informacje o T Spaces, dokumentacja i wersje beta programów są dostępne w lokalizacji www.almaden.ibm.com.

Podstawowe cechy T Spaces

Zbiór operatorów Tuple Space, zapewniających odczyt, pobranie i zapis tupli, operatory skanowania i spotkania (rendez-vous). Operatory pobrania i odczytu mogą blokować lub nie blokować tupli. Trwałe repozytorium danych, odpowiadające wydajnemu systemowi zarządzania bazami danych o rozbudowanych możliwościach wykonywania operacji transakcyjnych. Możliwości indeksowania i zadawania zapytań do obiektów przechowywanych w przestrzeni T Spaces. Dynamiczna modyfikacja zachowania przez ładowanie z sieci nowych operatorów i nowych typów danych z możliwością natychmiastowego używania. Możliwości te są znacznie większe niż oferowane przez relacyjne systemy zarządzania bazami danych, dopuszczające ograniczony zakres nowych typów danych i operatorów.

Powiadamianie o zdarzeniach: aplikacje mogą zarejestrować potrzebę informowania ich o zdarzeniach w systemie. Kontrola dostępu oparta na określeniu polityki dostępu dla indywidualnych użytkowników i grup dla określonej przestrzeni Tuple Space i operatorów. Obsługa dużych obiektów.

Aplikacje mogą podawać adres URL jako parametr operacji, co powoduje przekopiowanie lub przeniesienie zawartości adresu URL.