Systemy wieloagentowe znajdują zastosowanie m.in. do realizacji zadań w imieniu użyt-‐ kownika w środowiskach rozproszonych. Agent mobilny bez interakcji z użytkownikiem może działać w jego imieniu przeszukując zasoby w sieci lub podejmować inne działania 11. Strona FoundaZon for Intelligent Physical Agents (FIPA) opracowującej standardy systemów
w serwisach sieciowych, stanowiących koncepcję Semantic Web8. Do przykładowych takich czynności możemy zaliczyć: składanie ofert na wirtualnych giełdach i aukcjach, rezerwacja i negocjacja ofert w serwisach sprzedających określone usługi, itp.
Warto zwrócić jednak uwagę, że stosowanie agentów mobilnych może wiązać się z wieloma trudnościami. Problemy które pojawiają się przy projektowaniu oraz imple-‐ mentacji systemów opartych o agentów mobilnych, a sprawiające, że systemy te wciąż nie zdobyły dużej popularności, zostały przez Vigna opisane w 2004 roku w formie 10 punktów i zostały przedstawione w tabeli 8 [141]:
Tabela 8: Dziesięć powodów utrudniających powszechność stosowania agentów mobilnych
Problem Opis
1. Niska wydajność
Agenci mobilni wymagają większej ilości zasobów niż tradycyjne rozwiązania co potwierdzają badania symulacyjne. Tym samym często ich zastosowanie stoi w sprzeczności z optymalizacją dostępu do zasobów i obniżeniu danych przesyłanych przez sieć.
2. Problemy projektowania
Przy projektowaniu agentów nie jest jasne, które komponenty będą współpracować i jak modelować tę współpracę. Projektowanie innych rozwiązań spełniających podobne funkcje jest znacznie łatwiejsze. 3. Trudności
w rozwijaniu systemów
Agenci powinni być zaimplementowani do pracy w różnorodnym, często nieprzewidywalnym środowisku, a także współpracować z innymi agentami oraz komponentami. Przewidywanie jak mają działać w takim otoczeniu jest bardzo trudne. Kolejnym problemem jest brak narzędzi developerskich (jeśli istnieją to głównie prototypy).
4. Trudności walidacji Testowanie kodu, który może się przemieszczać i rozdzielać, często nieprzewidywalnie, jest niezwykle skomplikowane. 5. Problemy z kontrolo-‐
waniem
i uwierzytelnianiem
Agent może mieć zmienne właściwości, zależnie od stanu w którym się znajduje, dlatego ciężko określić np. poziom uprawnień które ma posiadać. Uwierzytelnienie jest przez to skomplikowane i podatne na błędy.
6. Podatność na „pranie
mózgu” Agent przemieszczając się może traWić do środowiska,w którym zostanie celowo zmodyWikowany. 7. Poufność Brak mechanizmów zapewniających przesyłanie poufnych treści. Samodzielność agenta uniemożliwia zachowanie kontaktu ze stacją bazową. 8. Brak infrastruktury Na każdym hoście, na którym może się znaleźć agent, musi być zaimplementowana infrastruktura pozwalająca na jego działanie.
Wymaga to rozwiązania problemów z bezpieczeństwem. 9. Brak wspólnego
języka / ontologii Nie ma standardu porozumiewania się między agentami, przez co interakcja między nimi (zwłaszcza pochodzącymi z różnych źródeł) jest niemożliwa. 10. Podobieństwo do
robaków internetowych
Ze względu na mechanizmy rozpowszechniania i działania wykazujące podobieństwo do działania robaków internetowych, agenci mogą być uznane za intruzów przez istniejące zabezpieczenia.
Część z wątpliwości jest obecnie wyeliminowana z uwagi na wykorzystanie środowiska implementującego standardy FIPA. Ponadto problemy implementacji zostały w dużym stopniu zredukowane poprzez wykorzystywanie platformy języka Java.
Wątpliwości dotyczące wydajności, a przedstawione w tabeli 8, są zgodne z badaniami autora niniejszej rozprawy, który wykazał, że korzyści ze stosowania technik agento-‐ wych pojawiają się dopiero przy przekroczeniu określonej liczby zadań (zapytań) wyko-‐ nywanych przez agenta mobilnego oraz określonej liczby rozproszonych zasobów, które
są przez agenta przeszukiwane [92].
Wykonane symulacje wykorzystywały implementację agentów mobilnych, bazujące na platformie Voyager Firmy ObjectSpace12. Pakiet ten stanowi implementację standardu MASIF (lecz nie FIPA) [43], a jego agenci, choć nie posiadają cech inteligentnego agenta, opisywanych w pracach [40, 55], to zapewniają możliwość lokalnego przetwarzania danych po stronie zdalnych hostów. Celem prowadzonych badań była ocena wydajności dostępu do baz danych poprzez agenta migrującego do hosta bazodanowego, a agentem statycznym komunikującym się z bazą danych przez sieć.
Wyniki prac [92, 98] wskazują, że mobilność agentów pozwala w wydajny sposób przeszukiwać bazy danych, lecz wydajność wzrasta dopiero przy wzroście liczby zdal-‐ nych hostów odwiedzanych przez agentów [92] lub przy wzroście liczby lokalnych zapy-‐ tań po stronie zdalnego hosta [98]. Jest to związane z faktem wysokich kosztów (czas) związanych z obsługą agenta (serializacja kodu agenta, transfer, odtworzenie stanu agenta w nowym środowisku).
Podsumowując, należy podkreślić, że chcąc osiągnąć wydajność aplikacji rozpro-‐ szonych należy dokładnie przeanalizować koszty obsługi agentów w takim systemie [141].
Możliwość zastosowania technik negocjacji [18, 28] jako naturalnej cechy agen-‐ tów autonomicznych, do obsługi realizacji usług QoS w sieciach komputerowych została również zaproponowana przez autora niniejszej rozprawy [86, 90].
Wydaje się, że technologia agentów mobilnych stanowi dobre rozwiązanie do tworzenia serwisów brokerskich w sieciach opartych o zasady rynkowe (rozumiane tu jako sieci w których dynamicznie pobierane są opłaty za korzystanie z sieci). Zapropono-‐ wane serwisy mogą gromadzić i przetwarzać informacje o stanie istniejących połączeń, ich charakterystykach, kosztach korzystania, itp., a w konsekwencji dostarczać użytkow-‐ nikowi końcowemu konkretną ofertę przesyłu danych, czy dostępu do określonych zaso-‐ bów z uwzględnieniem zadanych kosztów, czy parametrów QoS [93].
Serwis brokerski stanowi serwis pośredniczący, zlokalizowany pomiędzy użytkowni-‐ kiem a serwisem docelowym (Rys. 15).
Rysunek 15. Lokalizacja serwisów brokerskich
Serwis taki zapewnia użytkownikowi kompleksową obsługę dostępu do danych zasobów poprzez zaprezentowanie użytkownikowi konkretnej oferty i po jej opłaceniu zrealizowaniu usługi.
Funkcjonalność proponowanego serwisu dokonuje się dwuetapowo:
12. Historycznie twórcą pakietu Voyager była Firma ObjectSpace. Firma obecnie (stan na 12.12.2008) nosi nazwę: Recursion Sogware. Informacje o pakiecie Voyager dostępne są na stronie:
• Pierwszy etap polega na gromadzeniu informacji i jej przetwarzaniu, • Drugi zaś sprowadza się do obsługi klienta.
Zbieranie informacji o strukturze sieci, oferowanych usługach i możliwościach rezerwacji połączeń przy zagwarantowanych parametrach połączeń ma charakter statyczny. W przypadku agentów mobilnych istnieje możliwość wprowadzenia dynamiki. Dynamika ta polega na wysyłaniu agentów, którzy kontaktując się z agentami statycz-‐ nymi danego providera mogą negocjować koszty korzystania z danych usług. Co więcej sam provider ma możliwość (przy przyjęciu aukcyjnego modelu) sprzedaży serwisom brokerskim usług za najlepszą wylicytowaną kwotę. Schemat sieci procesu gromadzenia oferty został obrazowo przedstawiony na rysunku 16.
Rysunek 16. Pozyskiwanie oferty przez serwisy brokerskie.
Strategia obsługi klienta przypomina funkcjonalność biura podróży. Z punktu widzenia użytkownika korzystającego z usług serwisu – „biura podróży” przebieg obsługi jest realizowany w następujących krokach: (1) Wybór konkretnego „biura podróży”; (2) Wybór konkretnej oferty lub prośba o zestawienie indywidualnej oferty w oparciu o własne zadane kryteria; (3) Akceptacja przedstawionej oferty; (4) Otrzymanie specjalnego biletu – vouchera; (5) Realizacja usługi;
Poszczególne kroki wymagają zapewnienia odpowiednich zasad bezpieczeństwa. Co można osiągnąć poprzez sprawdzanie wiarygodności zarówno serwisów jak i klien-‐ tów, wprowadzenie mechanizmów uwierzytelniania i autoryzacji (użytkownicy, serwisy, gatewaye), a także doboru optymalnego mechanizmu poboru płatności.
Systemy wieloagentowe mogą także być stosowane do prowadzenia symulacji. Dany agent w takim systemie może być wyposażony w określone cechy, może podejmo-‐ wać decyzje i ewoluować. Symulacje mogą dotyczyć między innymi procesów rynko-‐ wych. Kompleksowe omówienie technologii agentowej można znaleźć m.in. w [18, 28].
Zainteresowania badawcze autora niniejszej rozprawy nie są jednak ukierunko-‐ wane na obszar symulacji, lecz na wykorzystanie systemów wieloagentowych do tworzenia aplikacji rozproszonych.
1.3. Analiza jakości istniejących rozwiązań i ocena ich
funkcjonalności
Przedstawiony w poprzednich dwóch sekcjach (1.1 i 1.2) stan wiedzy dotyczący systemów e-‐learningowych, a w szczególności rozproszony charakter repozytoriów współdzielących zasoby edukacyjne, oraz gwałtowny przyrost zestandaryzowanych obiektów wiedzy przechowywanych w systemach LMS (a dokładniej LMS, CMS i LCMS), wymusza konieczność wprowadzenia skutecznego i wydajnego mechanizmu wyszuki-‐ wania. Rozproszony i zdecentralizowany charakter wielu systemów powoduje, iż skutecznym rozwiązaniem może być wybór platformy agentowej dla realizacji wyszuki-‐ wania w zdalnych repozytoriach.