World Wide Web i X Window podają sobie ręce

Opisywany w poprzednim numerze Netforum system World Wide Web (WWW) wydaje się być najdoskonalszym istniejącym obecnie narzędziem korzystania z zasobów sieci Internet. Używając programu tzw. browsera (dosł. przeglądarki) czyli klienta WWW możemy przez proste "kliknięcie" myszy odwoływać się do najróżniejszych rodzajów danych dostępnych w najróżniejszych miejscach sieci. W praktyce korzystanie z tego systemu nie wygląda jednak tak całkiem gładko i "bezboleśnie", jak wynikałoby to z pobieżnych opisów.

WWW jest systemem multimedialnym: przekazywane przezeń informacje mogą mieć postać nie tylko tekstu, ale także grafiki, dźwięku lub sekwencji filmowych. Zaprezentowanie tych informacji we właściwej formie jest jednak w całości "zmartwieniem" strony odbierającej - klienta WWW. Serwer jedynie dostarcza określonych danych nie "troszcząc się" o to, czy klient jest w stanie prawidłowo je zinterpretować. Abyśmy zatem mogli na naszym komputerze oglądać grafiki, filmy czy słyszeć dźwięki, program klienta WWW musi być "obudowany" szeregiem dodatkowych programików - "odtwarzaczy" dla różnych formatów danych stosowanych w serwerach WWW (najczęstsze to: pliki graficzne GIF i JPEG, dźwięki w formacie WAV i Sun Audio, sekwencje filmowe w formacie MPEG, AVI i Macintosh QuickTime). Konsekwencją tego jest nie tylko złożoność instalacji takiego programu wraz z zestawem wszystkich niezbędnych "odtwarzaczy", ale przede wszystkim bardzo duże zapotrzebowanie na pamięć, zarówno operacyjną jak i dyskową, na komputerze, na którym z takiego klienta WWW korzystamy. Wszelkie dane transmitowane są bowiem najpierw jako plik tymczasowy na dysk naszego komputera i dopiero stamtąd odczytywane przez odpowiedni "odtwarzacz", ładowany chwilowo do pamięci podczas pracy klienta WWW. Dramatyczny wzrost wymagań sprzętowych w chwili przejścia od wyświetlania "zwykłego" hipertekstu do odczytu jednego z wymienionych rodzajów danych multimedialnych autor niniejszego tekstu miał okazję zaobserwować "na własnej skórze" przy przeglądaniu zdjęć zabytków Krakowa dostępnych na serwerze krakowskiej AGH (http://www.uci.agh.edu.pl/cracow-views.html). O ile sam klient WWW - NCSA Mosaic - pracował całkiem poprawnie (choć wolno...) przy 2 MB, a już bardzo sprawnie przy 4 MB dostępnej pamięci operacyjnej, o tyle wyświetlenie dużego obrazka typu GIF za pomocą dodatkowego "odtwarzacza" (nie chodzi tu o obrazki zawarte bezpośrednio w samym tekście strony, tzw. inline images, lecz o ich "powiększone" wersje, stanowiące oddzielne dokumenty, dla których "małe" obrazki w tekście pełnią rolę łączników hipertekstowych) wymagało w skrajnych przypadkach nawet i 16 MB.

Inne, lecz o tym samym źródle kłopoty występują przy odtwarzaniu większych sekwencji filmowych: nie dość, że potrzeba wielu megabajtów wolnej przestrzeni na dysku naszego komputera na ich pomieszczenie, to jeszcze konieczne jest długie oczekiwanie na zakończenie - trwającej niejednokrotnie nawet wiele minut - transmisji pliku, zanim będzie można rozpocząć oglądanie kilkudziesięciosekundowego z reguły filmiku. I wreszcie, przyjęta technika umożliwia jedynie przekazywanie dźwiękowej czy wizyjnej "konserwy" - sekwencji wcześniej przygotowanych i zarejestrowanych w odpowiednich plikach; niemożliwa jest przy tym sposobie pracy np. bezpośrednia transmisja obrazu przez sieć, o której ostatnio coraz głośniej się słyszy przy okazji projektu autostrad informacyjnych.

Oryginalne rozwiązanie powyższych problemów, otwierające zarazem przed systemem WWW zupełnie nowe możliwości, zaproponowała grupa programistów zajmujących się systemami "telemedialnymi" w Masachussets Institute of Technology. Pomysł programistów z MIT, choć nowatorski, nie jest od strony technicznej niczym nowym. Postanowiono bowiem "skrzyżować" WWW z dobrze znanym w kręgach użytkowników Unixa środowiskiem graficznym X Window. Rzecz jasna, wykorzystywane w systemie Unix programy klientów WWW, takie jak np. NCSA Mosaic, pracują pod kontrolą X Window - nie o to jednak tu chodzi. Jak wiadomo (nie znającym zasad funkcjonowania X Window warto polecić opis zamieszczony w pracy [2]), programy działające pod kontrolą tego systemu (aplikacje X) mogą pracować na jednym komputerze, zaś okienko z wynikami swoich działań wyświetlać na ekranie zupełnie innego komputera - X serwera. Opierając się na tej idei można więc zrealizować wyświetlanie grafik, filmów itp. w systemie WWW w całkowicie odmienny sposób: "kliknięcie" myszą na odpowiednim odnośniku w tekście powoduje - zamiast transmitowania megabajtów danych na nasz komputer i uruchamiania na nim właściwego "odtwarzacza" - uruchomienie odpowiedniego programu po stronie nadawczej: na komputerze serwera WWW. Program ten, będący aplikacją X, łączy się wykorzystując standardowe mechanizmy X Window z "czekającym" nań X serwerem na naszym komputerze, i tu wyświetla obraz w swoim okienku. Program odtwarzający wraz z megabajtowymi plikami znajduje się "po drugiej stronie", tylko sama zawartość okienka jest na bieżąco transmitowana przez sieć. Rzecz jasna, zgodnie z zasadą działania X Window w drugą stronę równocześnie przesyłana jest informacja o wszelkich ewentualnych naszych manipulacjach myszą w tym okienku, tak więc możliwa jest zdalna, w pełni interaktywna obsługa programu.

Umieszczenie programu odtwarzającego na zdalnym zamiast na lokalnym komputerze eliminuje rzecz jasna wspomniane niedogodności z instalacją mnogości "odtwarzaczy" - oprócz klienta WWW wystarczy tylko mieć uruchomiony system X Window (co w przypadku korzystania z klienta WWW pod Unixem ma miejsce "samo przez się"; w przypadku MS-Windows trzeba natomiast dodatkowo zainstalować X serwer, np. jeden z opisanych w końcowej części artykułu). Nie potrzeba także więcej pamięci operacyjnej lub miejsca na dysku, niż jest to wymagane do normalnej pracy systemu. Natomiast dla rozsądnego odbioru przesyłanego przez zdalny komputer obrazu trzeba być z nim połączonym stosunkowo szybkim łączem; inaczej czekanie na jakąkolwiek najdrobniejszą zmianę na ekranie będzie trwać po kilka minut, co uniemożliwia jakiekolwiek korzystanie z takiego programu. Szybkie łącze potrzebne jest jednak również przy metodzie "klasycznej", gdyż jego brak oznacza np. konieczność kilkunastominutowego czekania na załadowanie się obrazka czy filmu, który chcemy obejrzeć. Wybór jednej lub drugiej metody nie wpływa także (niestety) na stopień obciążenia sieci, gdyż ilość transmitowanej informacji jest w jednym i drugim przypadku (z grubsza) taka sama, z wyjątkiem przypadku, gdy w trakcie oglądania sekwencji filmowej prezentowanej przez zdalny komputer zrezygnujemy z jej dalszego wyświetlania i przerwiemy pracę aplikacji odtwarzającej; w takim przypadku oczywiście nie obejrzana przez nas część filmu nie jest transmitowana, natomiast w metodzie "klasycznej" musimy zaczekać na przetransmitowanie całego pliku przed rozpoczęciem oglądania go. Największą zaletą metody wykorzystującej X Window jest jednak to, że program wyświetlający pracujący na zdalnym komputerze wcale nie musi odtwarzać filmowej "konserwy" - może przekazywać "na żywo" obraz zdejmowany np. przez kamerę telewizyjną. Rzecz jasna, w przypadku takiej "żywej" transmisji szybkość łącza staje się kwestią krytyczną.

Włączenie w system dokumentów WWW zdalnie uruchamianych programów, obsługiwanych poprzez X Window, pozwala także na rozbudowanie systemu WWW w stronę szeroko pojętej interakcyjności, co jak dotąd nie było jego najmocniejszą stroną. Niezależnie bowiem od tego, z jakichkolwiek spośród wielu różnych rodzajów dokumentów dostępnych przez WWW będziemy korzystać, z reguły jesteśmy tylko biernymi czytelnikami informacji wcześniej przez kogoś przygotowanych, a zakres naszych możliwości wyboru ograniczony jest zestawem odnośników zawartych w tekście przez autora dokumentu. Pewien element interakcyjny wnoszą wprawdzie stosowane w wielu dokumentach WWW tzw. formularze (HTML forms), umożliwiające wprowadzanie danych poprzez wpisywanie tekstu w pojawiających się na ekranie ramkach; wprowadzone w ten sposób informacje są przetwarzane przez związany z danym formularzem program, który może np. wysłać je pocztą elektroniczną do określonego adresata, dopisać nasze uwagi do "księgi gości" danego serwera WWW, czy też wykorzystać je do wygenerowania i wyświetlenia następnej, "spersonalizowanej" dla nas strony. Jest to jednak wciąż interakcyjność mocno ograniczona. Zastosowanie opisywanego "skrzyżowania" WWW z X Window pozwala natomiast na w pełni interakcyjne korzystanie w ramach WWW z dowolnego oprogramowania, i to bez potrzeby kopiowania go i instalowania na swoim komputerze, co jest istotne zwłaszcza w sytuacjach, gdy dany ośrodek nie chce lub nie może udostępniać samego kodu programu (np. ze względu na warunki licencji lub gdy program jest jeszcze w trakcie opracowywania i nie nadaje się do szerszego rozpowszechnienia), bądź też gdy dany program na innym komputerze po prostu nie zadziała, ze względu np. na korzystanie z możliwości określonego, specyficznego osprzętu, w który wyposażona jest dana maszyna.

Opisane powyżej zastosowania są - przynajmniej w odniesieniu do większości funkcjonujących obecnie serwerów WWW - jeszcze przyszłością. Już teraz możemy jednak obejrzeć ich próbkę łącząc się z demonstracyjnym serwerem grupy "telemediów" w MIT pod adresem http://tns-www.lcs.mit.edu/vs/demos.html. Ze strony tej uruchamiać można szereg programów wchodzących w skład opracowywanego tam systemu przetwarzania obrazów VuSystem; za ich pomocą możemy np. odtwarzać różne sekwencje filmowe (dostępnych jest m.in. kilka fragmentów z filmu Indiana Jones i ostatnia krucjata, zwiastuny bieżących odcinków emitowanego w USA serialu Star Trek, zarejestrowane fragmenty wiadomości telewizyjnych i programów rozrywkowych), możemy także oglądać "na żywo" jeden z czterech programów telewizyjnych odbieranych przez karty tunerów TV zainstalowane w tamtejszych komputerach. Możemy wreszcie śledzić - również "na żywo" - obrazy przekazywane przez jedną z pięciu kamer telewizyjnych umieszczonych w laboratoriach grupy telemediów; wykorzystując je możemy spróbować własnych sił w pracy z modułami VuSystem przeznaczonymi do filtracji i przetwarzania obrazów (np. odfiltrowując ruchome elementy transmitowanej sceny od nieruchomych), lub dla rozrywki spróbować ułożyć układankę składającą się z "poszatkowanych" fragmentów tychże, ruchomych i zmieniających się, obrazów. Część z dostępnych programów wykorzystuje dodatkowo system działający na podobnej co X Window zasadzie, lecz przeznaczony do zdalnej obsługi dźwięku - AudioFile, freeware'owy produkt firmy DEC, dostępny w wersjach na kilka typów stacji roboczych, m.in. Silicon Graphics, DEC i Sun (niestety nie istnieje - jak na razie - wersja dla PC). Tak więc jeżeli na naszym komputerze mamy zainstalowany serwer AudioFile, możliwe jest równoczesne odtwarzanie dźwięku (np. ścieżki dźwiękowej filmu) przez zdalny program, co daje nam już przekaz w najbardziej dosłownym sensie multimedialny.

Aby móc zapoznać się z opisanymi demonstracjami, trzeba posiadać klienta WWW z możliwością obsługi formularzy (formularze wykorzystywane są tu m.in. do podania adresu naszego X serwera), a więc np. NCSA Mosaic w wersji co najmniej 2.0, oraz X Window i ewentualnie AudioFile (informacja o źródłach uzyskania oprogramowania AudioFile jest zawarta na omawianej stronie WWW). System graficzny naszego komputera musi pracować w trybie 256-kolorowym, gdyż jedynie do takiego trybu pracy dostosowane są aplikacje VuSystem. Wreszcie trzeba dysponować stosunkowo szybkim połączeniem do docelowego komputera w MIT. Ten ostatni warunek jest u nas dość trudny do spełnienia (łącza transkontynentalne zwykle są bardzo mocno obciążone), warto więc wziąć pod uwagę czas, w jakim usiłujemy dokonywać naszych prób, aby zapoznanie się z tą nową technologią nie przyniosło wrażeń raczej negatywnych, spowodowanych "żółwim" tempem pracy w godzinach największego obciążenia sieci. Ze swej strony doradzałbym podejmowanie prób połączenia się z MIT w godzinach porannych naszego czasu, gdyż wówczas w tym rejonie USA jest noc (niestety, akurat wtedy mocno obciążone są łącza europejskie, więc najlepsze okazują się dni weekendowe).

Użytkownicy korzystający z klientów WWW na PC pod kontrolą MS-Windows nie mają - w przeciwieństwie do użytkowników komputerów Unixowych - "automatycznie" zapewnionej obecności na swoich komputerach X serwera, stąd też chcąc skorzystać z opisanych programów, muszą takowy dodatkowo zainstalować w swoim systemie. Ja podczas swoich prób korzystałem z programu Micro X-Win firmy StarNet Communications, którego wersja demonstracyjna dostępna jest przez anonimowe ftp, np. w archiwum CICA: ftp://ftp.cyf-kr.edu.pl/pub/mirror/WinSite/win3/demo/xwindemo.zip. Do celów eksperymentalnych jest ona zupełnie wystarczająca; jej ograniczenie polega na tym, że jest to wersja jednostanowiskowa, tzn. w jednej podsieci IP może równocześnie pracować co najwyżej jedna kopia X-Win. Program w zasadzie nie wymaga konfiguracji - korzysta jedynie z podstawowych parametrów sieciowych, które zostały już wcześniej skonfigurowane dla używanej przez nas biblioteki WinSock. Aby prawidłowo spełniać funkcje X serwera, program powinien być cały czas uruchomiony "w tle" podczas pracy z klientem WWW (można jego wywołanie umieścić w grupie Autorun, czy też Autostart w polskich Windows). Okienka wyświetlane przez aplikacje X mają identyczną oprawę graficzną i można nimi manipulować w identyczny sposób, jak okienkami "zwykłych" aplikacji Windows - X-Win wykorzystuje MS-Windows jako window managera.

Literatura:
1. J.Rafa, World Wide Web, Netforum 1/95.
2. T.Barbaszewski, X Window - to naprawdę się przydaje!, cz. 1-3, Unixforum 3-5/94.


Jarosław Rafa 1995. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 15.03.96, ostatnia aktualizacja adresów 9.11.96.


Powrót do wykazu artykułów o Internecie Statystyka