Sieciowy detektyw bez konkurencji

Inteligentne programy typu agent działają autonomicznie w sieciach lokalnych, rozległych i w Internecie.

Inteligentne programy typu agent działają autonomicznie w sieciach lokalnych, rozległych i w Internecie.

Jeszcze nie wszystkie firmy i przedsiębiorstwa zdołały się przestawić na przetwarzanie klient/serwer, a tu już na horyzoncie widać rewolucyjne zmiany metod przetwarzania, oparte na sieciowo-centrycznym modelu infrastruktury informatycznej.

Dla użytkownika końcowego coraz większego znaczenia nabierają następujące czynniki:

- ilość informacji, z którą musi sobie radzić;

- złożoność struktur sieciowych, wyrafinowanie i coraz większa funkcjonalność programów użytkowych zmuszająca go do zdobywania nowej wiedzy;

- konieczność dostępu do zasobów sieciowych za pomocą sprzętu przenośnego.

Niebagatelne znaczenie ma także fakt, że szybka obniżka cen komputerów i kosztów komunikacji stawia do dyspozycji słabo technicznie przygotowanego użytkownika coraz potężniejsze komputery, coraz wydajniejsze sieci i coraz większe zasoby w Internecie.

Aby radzić sobie z trudnościami, nie można już polegać wyłącznie na własnej pracy - trzeba móc ją przekazać inteligentnym programom wspomagającym, nie wymagającym stałej współpracy, jedynie nadzoru co jakiś czas, wskazania kierunków działania, określenia zasad i reguł wyszukiwania informacji. Taką rolę coraz częściej spełniają inteligentne programy typu agent, działające autonomicznie w sieciach lokalnych, rozległych i w Internecie.

Inteligentni agenci mają następujące cechy:

- rzadko są samodzielnymi programami, używanymi niezależnie;

- uzupełniają możliwości funkcjonalne innych programów;

- działają z pewną dozą niezależności (autonomii);

- mają wbudowane elementy sztucznej inteligencji, pozwalające im na dostosowanie swej pracy do wymagań lub

życzeń użytkownika.

Samodzielność agentów nie może być zmierzona ilościowo, można ją natomiast charakteryzować przez sposób współdziałania agenta z innymi obiektami systemu:

- agent działa asynchronicznie niezależnie od innych programów;

- agent reprezentuje użytkownika, co już stanowi o tym, że można go nazwać agentem;

- agent współpracuje z takimi obiektami systemu, jak dane, usługi lub aplikacje;

- agent współpracuje z innymi agentami.

Jeszcze trudniejsza do scharakteryzowania jest inteligencja agenta, wskazująca na jego możliwości "rozumowania" i uczenia się. Jako minimum, agent musi akceptować wyrażane przez użytkownika cele działania i wykonywać zadania zgodnie z nimi. Cele działania mogą mieć postać reguł, preferencji czy żądań. Wyższy poziom inteligencji oznacza możliwość tworzenia modelu użytkownika, rozumowania na temat sposobu jego działania oraz planowania metody osiągnięcia celu. Jeszcze wyższy poziom oznacza możliwość przystosowywania się do środowiska, nie tylko w zakresie celów wyznaczonych przez użytkownika, ale także w zakresie dostępnych zasobów. Inteligentny agent jest w stanie działać podobnie jak dobra sekretarka, odkrywając zależności, idee czy koncepcje oraz zgadując życzenia użytkownika.

Program staje się użytecznym agentem dopiero wtedy, gdy wykazuje dostateczny poziom inteligencji i samodzielności.

Agenci w sieciach

Agenci mogą wykazywać ruchliwość w sieci. Statyczny agent, działający na maszynie klienta lub serwerze sieciowym, jedynie zbiera informacje w sieci. Agent ruchliwy, zapisany w postaci odpowiedniego skryptu, o strukturze niezależnej od sprzętu, może przenosić się w sieci, prezentować swoje uprawnienia do właściwych "organów" w celu uzyskania przydziału zasobów i wykonania pracy w odpowiednio zabezpieczonym środowisku. Istnieją dwie wersje agenta sieciowego: agent bezstanowy, nie przenoszący z sobą informacji o poprzednich działaniach oraz agent z historią, przenoszący się na inną maszynę razem z całością lub częścią wykonanej pracy w celu jej kontynuowania.

Można sobie wyobrazić także "agencje" - miejsce spotkań agentów, komunikujących się z sobą i wymieniających informacje.

Agenci ruchliwi stwarzają tyle problemów z bezpieczeństwem danych, ochroną zasobów, przydzielaniem mocy obliczeniowej, rozliczaniem za wykonane usługi, że chyba jeszcze dużo czasu minie nim pojawią się w praktyce programistycznej. Obecne rozwiązania bazują więc raczej na agentach statycznych.

Inteligentni agenci IBM

Istnieje wiele sposobów wykorzystania właściwości funkcjonalnych inteligentnych agentów. Jednym z największych użytkowników agentów w swych produktach technologicznych jest IBM. Oto niektóre przykłady wykorzystania agentów w jego produktach.

Zarządzanie siecią i systemami. Masowe przechodzenie w końcu lat 80. z aplikacjami na technikę klient/serwer, wywołujące zwiększoną komplikację infrastruktury sieciowej i systemowej, spowodowało zwiększone zapotrzebowanie na łatwe w użyciu, a jednocześnie wyrafinowane programy do zarządzania. Wbudowanie agenta do systemu AIX System Monitor pozwala na monitorowanie, analizowanie wg zadanych reguł i obsługę zdarzeń w systemie. Podobne właściwości wykazuje funkcja do obsługi zdarzeń w NetView AIX Stream Enhancement.

Obsługa użytkowników w ruchu. Użytkownicy w ruchu pracują często w warunkach braku połączenia z siecią przedsiębiorstwa, a jednocześnie muszą mieć niezawodny dostęp do ważnych informacji. Wbudowanie agenta w pakiet komunikacji asynchronicznej MQSeries umożliwia współpracę aplikacji, pewne dostarczanie komunikatów i ich synchronizację dzięki modelowi inteligentnego kolejkowania.

Poczta elektroniczna. Narastająca lawina poczty elektronicznej przychodzącej codziennie na biurko każdego użytkownika powoduje konieczność dokonywania automatycznej selekcji, nadawania priorytetów, przekazywania do właściwych osób lub wybierania informacji z puli ogólnej poczty przedsiębiorstwa.

IBM Alter Ego to produkt służący do realizacji tej funkcji za pośrednictwem ustalanych z góry reguł. Alter Ego może być personalizowany do specyficznych wymagań. Posługujący się regułami motor wyszukiwania klasyfikuje pocztę i dyryguje jej przetwarzaniem, zapisując jednocześnie dziennik swych działań. IBM zamierza wbudować zachowanie adaptacyjne do Alter Ego, pozwalające mu modyfikować swe operacje i uczenie się. Alter Ego jest dostępny na serwerze WWW firmy IBM.

Dostęp i zarządzanie informacją w Internecie. Inteligentne monitorowanie działań użytkownika w sieci przez agenta umożliwia stworzenie profilu poszukiwanych informacji i wykonywanie tej operacji automatycznie, poza godzinami pracy, i dostarczanie jej na biurko w już gotowej postaci.

IBM Activist jest takim właśnie agentem. Użytkownik może dowolnie modyfikować swój profil tworzony przez agenta, działającego na serwerze sieciowym i współpracującego z dowolną przeglądarką WWW. IBM Activist jest dostępny na serwerze WWW firmy IBM.

Zarządzanie wiedzą. Program Knowlegde Utility (KnU) jest hipermedialnym systemem, oferującym możliwości inteligentnego wyszukiwania informacji. Pozwala także grupom użytkowników na łączenie danych informacji w sensowne wzory w bazie wiedzy. KnU umożliwia identyfikację połączeń między różnymi częściami wiedzy oraz tworzenie śladu procesu badań i eksploracji. Dane przedstawiane poszczególnym użytkownikom są automatycznie szeregowane na podstawie zadanych priorytetów i preferencji. KnU ułatwia problem przeładowania informacją, pozwalając na znalezienie informacji naprawdę ważnej, także w Internecie.

IBM Neural Network, obecnie dostępny na wielu popularnych platformach, jest inteligentnym asystentem dla programistów, rozpoznającym wzory i uczącym się. Może być włączony do aplikacji, zapewniając inteligentne filtrowanie informacji.

Współpraca. Jest to szybko rozwijająca się dziedzina wspólnego korzystania z dokumentów, informacji i zasobów. Lotus Notes jest popularnym produktem do współpracy. IBM opracował wiele inteligentnych agentów dla Lotus Notes, zajmujących się zarówno rutynowymi czynnościami - wypełnianie formularza, wysyłanie poczty, jak i czynnościami bardziej złożonymi - operowanie na polach danych czy wyszukiwanie informacji.

Agent reprezentuje preferencje i wymagania jednego użytkownika, toteż w programach do wspomagania współpracy, także agenci muszą współpracować. IBM pracuje w tym kierunku.

Object REXX

IBM oferuje produkt do opracowania inteligentnych agentów - Object REXX. Jest to następca znanego z systemu OS/2 pakietu do programowania zadań REXX. Udostępnia bogaty, interpretowany język skryptowy do integracji i współpracy istniejących programów. W wersji obiektowej został on wzbogacony o typowe możliwości języków obiektowych: dziedziczenie, polimorfizm, kapsułkowanie itd. Zawiera także obszerną bibliotekę klas oraz może synchronizować działania różnych programów w sieci. Dostępny jest na OS/2, Windows i AIX.

Więcej informacji o inteligentnych agentach można znaleźć na stronie WWW firmy IBM (http://www.raleigh.ibm.com/iag).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200