Wyzwania stojące przed środowiskiem zorientowanym na usługi są następujące:
- Udostępnione zasoby mogą zawierać złośliwy kod umieszczony przez innych użytkowników w celu uszkodzenia aplikacji użytkownika lub usługodawcy mogą działać podstępnie.
- Aplikacje użytkownika mogą zawierać złośliwy kod, który może zaszkodzić zasobom usługodawców.
Powyższe problemy występują w środowiskach usługowych ze względu na dynamizm (wchodzenie i wychodzenie w dowolnym momencie) podmiotów i jako takie nie mają one wiedzy o sobie nawzajem. Skupiając się tylko na pierwszym wyzwaniu, tutaj, tak jak w prawdziwym życiu, ludzie wolą wchodzić w interakcje z tymi, którzy mają godną zaufania reputację, więc jeśli w jakiś sposób można obliczyć reputację usługodawców, interakcje będą bardziej niezawodne. Definicje reputacji i zaufania użyte w tym rozdziale są następujące:
Reputacja odnosi się do atrybutu wartości określonej jednostki, w tym agentów, usług, w oparciu o zaufanie, jakie okazał w przeszłości. Zaufanie to subiektywne prawdopodobieństwo, przez które jednostka A oczekuje, że inna osoba B wykona dane działanie, od którego zależy dobrobyt.
Środowisko wieloagentowe dla proponowanej struktury jest najlepiej przystosowane, ponieważ w środowisku zorientowanym na usługi usługi są rozproszone geograficznie i stanowią własność różnych osób, a infrastruktura wieloagentowa może być zorganizowana w taki sposób, że każdemu podmiotowi w środowisku towarzyszy jego agent. W proponowanych ramach istnieją dwa rodzaje agentów:
- Klient użytkownika: użytkownicy przesyłają zadanie do odpowiedniego agenta użytkownika, określając wymagania, na przykład obciążenie pracą, termin wykonania, limit budżetu, wymaganą minimalną reputację dostawcy usług itp. Obecnie obowiązkiem klienta użytkownika jest wybranie odpowiedniego usługodawcę dla użytkownika, spełniającego wszystkie określone przez niego wymagania. W proponowanym systemie agenci użytkownika działają jak społeczność i pomagają sobie nawzajem w momencie żądania zapytania od dowolnego użytkownika. Każdy agent prowadzi bazę danych, w której poza osobistymi doświadczeniami związanymi z dostawcami zasobów przechowywane jest zaufanie różnych godnych zaufania agentów.
- Agent usługodawcy: komunikuje się z każdym usługodawcą środowisko poprzez swojego agenta zwanego agentem usługodawcy. Dane odpowiadające każdemu zasobowi / usłudze, takie jak jego dostępność, obciążenie, cena są utrzymywane przez tego agenta.
Podstawowa metodologia systemu składa się z następujących kroków, które również przedstawiono na rysunku:
- Generowanie zapytania na podstawie wymagań użytkownika
- Generowanie rekomendacji dla użytkownika
- Radzenie sobie z niepewnością wynikającą z zaleceń