1
Seminar Software-Agenten WS 01/02Vortrag Aglets-Anwendung : ShoppingReferenten: Dominik Grüning, Dominik WilmsenInstitut für Geoinformatik
2
Gliederung
Vorstellung von MAgNET – Gliederung
• Motivation für MAgNET
• Aglets – Wiederholung
• Die Architektur des MAgNET – Systems
• Die MAgNET Sicherheits-Mechanismen
• Alternativen für mobile Agenten
• Einsatzmöglichkeiten für Aglets
3
MAgNET - Die Motivation
Internet und WWW ermöglicht E-Commerce
Dabei entstandene Probleme• Webseiten meist interaktiv• schnelle Änderungen der Nachfrage und der
Kaufvorlieben• Verfügbarkeit wird immer wichtigerer Faktor
E-Commerce
4
E-Commerce
MAgNET - Die MotivationWeitere Anforderungen an E-Commerce
• Koordinierung und Abstimmung
• Reduktion von Verzögerungen und Netzwerklast
5
MAgNET - Die Motivation
E-Commerce – Lösungsmöglichkeiten
• Einsatz von mobilen Software-Agenten
• Passendste und zukunftsweisendste Technologie dabei: IBM‘s AGLETs
E-Commerce
6
Aglets – Wiederholung (1)
Bieten Möglichkeiten von Agenten auf einfache, aber ausreichende Weise
Ähnlichkeiten zu Applets in Bezug auf Kontext und Ausführbarkeit
Aglets - Wiederholung
7
Aglets – Wiederholung (2)
Programmiergrundlage: ASDK
Beinhaltet: Objektorientierte Schnittstelle
Mechanismen für die Bewegung von Code, Daten und Status Information
Entwicklungs- und runtime Umgebung (TAHITI)
Aglets - Wiederholung
8
Aglets – Wiederholung (3)
Aglets - Wiederholung
9
Aglets – Wiederholung (4)
Funktionalitäten in Klassen Aglet, AgletProxy und AgletContext enthalten
Alle Aglets erben von Klasse Aglet• einheitliche Schnittstelle• einige Fähigkeiten und Eigenschaften• Methoden, die bei Erzeugung
überschrieben werden
Aglets - Wiederholung
10
Aglets – Wiederholung (5)
AgletProxy: - beinhaltetMethode, die Zugriff auf Aglet
erlaubt- leitet requests an entfernte Rechner
weiter und gibt Resultate an Rechner wieder
- jede Kommunikation eines Aglets läuft über den Proxy Sicherheit
Aglets - Wiederholung
11
Aglets – Wiederholung (6)
Aglets: MAgNET
12
Aglets: MAgNET
Aglets – Wiederholung (7)
13
E-Commerce – Lösungsmöglichkeiten
(Bild 1)
Aglets: MAgNET
14
MAgNET – System
Die Architektur des MAgNET Systems
Was ist das? Welches Konzept verfolgt es?
Test-System für den gebrauch im Bereich E-Commerce
Konzept: Pull model of marketing...
Der Käufer tritt mit seinen Anforderungen an den Anbieter heran!
15
MAgNET – System
Die Architektur des MAgNET Systems
Grobe Funktionsweise (1)
Käufer hat Liste mit potentiellen Lieferanten und deren Produktangeboten – mit diesem Wissen:
1. Käufer erzeugt einen Mobilen Agenten,
2. Gibt diesem einen „Reisplan“,
3. Spezifiziert Kriterien für den Erwerb des Produkts,
4. Verschickt Mobilen Agenten an potentielle Anbieter.
16
MAgNET – System
Die Architektur des MAgNET Systems
Grobe Funktionsweise (2)
Mobiler Agent... (das Aglet)
• besucht jede Anbieterseite,
• durchsucht deren Angebotskatalog nach zu den Kriterien passenden Produkten,
• kehrt mit dem besten Angebot zur Seite des Käufers zurück.
17
MAgNET – System
Die Architektur des MAgNET Systems
Grobe Funktionsweise (3)
Käufer kann Angebot bestätigen
Transaktion der Zahlung
Käufer kann die Anfrage verwerfen
Aglet wird vernichtet
18
MAgNET – System
Die Architektur des MAgNET Systems
19
MAgNET – System
Die Architektur des MAgNET Systems
Das Subsystem des Käufers
• Stationärer Agent
• Graphical User Interface (GUI)
• Datenstruktur für unerfüllte Kaufaufträge
• Datenstruktur für bevorstehende Kaufreservierungen und Kaufbestätigungen
20
MAgNET – System
Die Architektur des MAgNET Systems
Interne Datenstruktur
Produkte werden in XML kommentierter Datenstruktur beschrieben, welche einen gerichteten azyklischen Graphen (DAG) beschreibt.
DAG enthält notwendige Komponenten zur Bestimmung des Produktes
21
MAgNET – System
Die Architektur des MAgNET Systems
Inhalt des DAG...
Jeder Knoten des DAG besitzt Angaben über
• Produktname
• maximaler Preis
• Anzahl
• Termin
• Potentielle Anbieter (URL, ID, Produkt_ID)
22
MAgNET – System
Die Architektur des MAgNET Systems
Die Käuferseite...
Stationärer Agent durchläuft den DAG (Tiefensuche)
Anforderungen des Käufers (Preis, Anzahl, Deadline, Priorität...) werden gelesen
Ergebnisse werden in Anweisungs-Tabelle geschrieben (codiert)
Aus Tabelle werden Instruktionen für Aglet generiert
23
MAgNET – System
Die Architektur des MAgNET Systems
Die Käuferseite...
24
MAgNET – System
Die Architektur des MAgNET Systems
Die Käuferseite...
Ist der Anweisungs-Tabelle fertig, dann...
1. Aglet wird vom stationären Agenten erzeugt
2. Aglet wird vom stationären Agenten initialisiert
3. Stat. Agent verschickt Aglet an erste URL
25
MAgNET – System
Die Architektur des MAgNET Systems
Das Käufer Aglet erhält Informationen über...
• Anbieter
• zu beschaffende Produkte
• Preis
• Anzahl
• Deadline
• Priorität
26
MAgNET – System
Die Architektur des MAgNET Systems
Das Käufer Aglet: Stop-and-Shop (1)
Mobiler Agent konstruiert für jedes Produkt ein Objekt bestYet
Stop-and-Shop Schema:
• Aglet besucht jeden Anbieter auf Reiseroute
• auf jeder Anbieterseite prüft Aglet seinen Standort und entscheidet nach welchen Komponenten er an diesem Standort suchen soll
27
MAgNET – System
Die Architektur des MAgNET Systems
Das Käufer Aglet: Stop-an-shop (2)
• Aglet initialisiert einen Dialog mit stationärem Anbieter-Agenten (obtainOuotation)
• Anfragen an den Anbieter-Agenten
• reagiert mit Angeboten – falls diese besser sind:
• Aglet macht Kaufoption
• Kaufoption wird protokolliert
• bestYet wird aktualisiert
28
MAgNET – System
private void obtainQuotation(String productString) {
invoke the supplier´s stationary agent to enquire about
the availability of the component part
if supplier´s stationary agent asks for time to quote
if time is not the buyer´s priority
mobile agent can wait for the stationary agent
else record pending enquiry
proceed to next request
compare component price and available quantity with bestYet
if this deal is advantageous
send a message to the supplier´s stationary agent
asking for a reservation
record the reservation
}
29
MAgNET – System
Die Architektur des MAgNET Systems
Das Käufer Aglet: Stop-and-Shop (3)
Angebotsanfragen vorbei...
Käufer-Aglet prüft, ob Kaufoptionen angemeldet wurden und ob Antworten des Agenten ausstehen
Falls ja,
• Surrogate – Agent wird erzeugt (vom Aglet)
• Kaufoptionsliste und Liste der ausstehenden Angebote werden diesem übergeben
30
MAgNET – System
Die Architektur des MAgNET Systems
Das Käufer Aglet: Stop-and-Shop (4)
• Aglet verlässt diesen Anbieter zur nächsten Station
• Surrogate – Agent wird auf Käuferseite belassen
• usw.
31
MAgNET – System
Die Architektur des MAgNET Systems
Das Käufer Aglet...
Mobiler Agent kehrt letztendlich zurück...
Das bestYet Objekt enthält nun entweder
• das beste Kaufangebot oder
• den vom Käufer initialisierten Zustand
Mobiler Agent unterrichtet den stationären Agenten von den gemachten Kaufoptionen und zerstört sich dann selbst
32
MAgNET – System
Die Architektur des MAgNET Systems
Das Subsystem des Anbieters
• Stationärer Agent
• Bestandliste (Produkt Katalog)
• Logbuch
• Interface zur Produktplanungs-Software
33
MAgNET – System
Die Architektur des MAgNET Systems
Die Anbieterseite...
• Anfragen werden an Anbieter-Agenten gemacht
• checkAvailability() wird aufgerufen...
34
MAgNET – System
Die Architektur des MAgNET Systems
public void checkAvailability(reqComponentType component)
{
search the local inventorty using the XML parser
if component is found
send response to buyer´s mobil agent about availibility
else
request buyer´s mobil agent for time to quote
if mobile agent agrees to wait
invoke the planing software
}
35
MAgNET – System
Die Architektur des MAgNET Systems
Anbieter – Agent Aufgaben (1)
Agent muss mit Antworten des Aglets oder des Surrogate - Agenten umgehen können
• Wunsch einer Kaufoption
• Aufhebung von Kaufoptionen
• Kaufbestätigungen
36
MAgNET – System
Die Architektur des MAgNET Systems
Anbieter – Agent Aufgaben (2)
• Agent übernimmt Kommunikation zwischen „planning software“ und Surrogate - Agent
• Kaufbestätigung Agent handelt mit Aglet/Surrogate Bezahlung aus
• Aufhebung einer Option Reservierungsgebühr an Aglet/Surrogate (sehr gering)
37
MAgNET – System
Übersicht - Anbieterseite...
38
MAgNET – System
Die Architektur des MAgNET Systems
Vielschichtige Versorgungskette
Es gibt mehrere Ebenen der Zulieferer
Komplikationen: Mehrere Anbieter haben den selben Lieferanten für Rohmaterial oder Subkomponenten
Beispiel
• Käufer braucht 100 Komponenten
• fragt bei 3 Zulieferern an (alle haben den gleichen Lieferanten)
• Zulieferer auf nächster Ebene kann nur über 100 Komponenten verfügen
39
MAgNET – System
Die Architektur des MAgNET Systems
Problem
Zulieferer wissen nicht, dass nur ein Auftrag vorliegt und kennen wahre Kaufabsichten nicht
Käufer will gewöhnlich ungern sein genaues Vorhaben zu früh bei den Verhandlungen preisgeben
MAgNET löst dieses und andere derartige Problem mit einer Codewort-Strategie...
40
MAgNET – System
Die Architektur des MAgNET Systems
Codewort – Strategie
Aglet gibt mit Anfrage Codewort heraus (2- teilig):
Erster Teil beinhaltet Käufer
Zweiter Teil codiert die potentiellen Einkäufe
Auf jeder Ebene verlängert sich das Codewort
41
MAgNET – System
Die Architektur des MAgNET Systems
42
MAgNET – Security Architecture
Sicherheit in MAgNET (1)
Probleme bei mobilen Agenten
• Sicherheit einer der größten Kritikpunkte am mobilen Agenten-System
• Programm-Code und Daten können von einem Rechner zum andern wandern
• Mobile Agenten sowie die hosts sind verwundbar
43
Sicherheit in MAgNET (2)
Arten von Security Problemen
• Bösartiger Agent
• Bösartiger Host
• Eindringlinge, die versuchen System zu untergraben
MAgNET – Security Architecture
44
MAgNET – Security Architecture
Sicherheit in MAgNET (3)
Arten von Security Problemen (malicious buyer)
Bösartige „Käufer“ versuchen, den Verkäufer zu betrügen
(malicious seller)
Bösartiger „Verkäufer“ versuchen Käufer-Agenten oder andere Verkäufer auszuschalten
45
MAgNET – Security Architecture
Sicherheit in MAgNET (4)
Eigenschaften des Lösungsmodells
Beide vorher genannten Probleme werden mit dem in MAgNET implementierten Security-Modell beseitigt
Lösung basiert nicht auf zentralem Server oder System von vertrauenswürdigen Hosts
46
MAgNET – Security Architecture
Sicherheit in MAgNET (5)
Andere Sicherheitstechniken
Oft von Java abgeleitet:
Einschränkung des Zugriffs auf System-Ressourcen
Einschränkung der Privilegien des Benutzers
47
MAgNET – Security Architecture
Sicherheit in MAgNET (6)
Andere Sicherheitstechniken
Bisherige Ansätze zur Lösung des bösartigen-Server Problems:
• Mobile Kryptographie
• zeit-begrenzte Blackbox
• Multi-Hop Protokoll
48
MAgNET – Security Architecture
Sicherheit in MAgNET (7)
Malicious Buyer
Bei unauthorisiertem Zugriff auf Ressourcen können private Informationen gesammelt werden oder wichtige Inhalte zum eigenen Vorteil geändert werden
Mobile Agenten können auch zuviele System-Ressourcen anfordern und so das Seller-System überlasten
Mobile Agenten können Agenten hinterlassen , die Informationen ausspionieren
49
MAgNET – Security Architecture
Sicherheit in MAgNET (8)
Malicious Host
Host kann Operationen des mob. Agenten aufzeichnen und den Agenten klonen – dann kann sich dieser Klon mit veränderten Eigenschaften in andere Systeme einschleichen
Host kann Wert ändern, der vom System als Hostname zurückgegeben wird – er gibt sich als anderer Host aus
Host kann Agenten nach Eintritt an der Ausführung hindern oder töten - Denial of Service
50
MAgNET – Security Architecture
Sicherheit in MAgNET (9)
Malicious Host
Mobiler Agent kann zwischen 2 Verkäufern abgefangen und seine Werte verändert werden
Host kann Daten des mobilen Agenten ändern um sein Angebot attraktiver zu machen
Host kann falsche Ausführung des Codes hervorrufen
51
MAgNET – Security Architecture
Sicherheit in MAgNET (10)
Lösung des malicious buyer Problems
Käufer und Verkäufer besitzen public-private key pair.
Käufer erhält Schlüssel der Verkäufers, wenn er von ihm erfährt (bspw. über Werbung)
Der public key des Käufers wird mit dem shopping aglet mitgeführt
52
MAgNET – Security Architecture
Sicherheit in MAgNET (11)
Lösung des malicious buyer Problems
Struktur des shopping aglets
Db (AgletId, OwnerId) |AgletCode mit Lizenz| vorher eingesammelte Daten
Auf diese Weise Identifizierung von Käufer und Verkäufer bereits vor der Interaktion
53
MAgNET – Security Architecture
Sicherheit in MAgNET (12)
Lösung des malicious host Problems
ASDK beinhaltet Parameter zum Schutz von Aglets, die Operationen auf ihnen einschränken
Problem: Server auf dem Aglet läuft kann sich aussuchen, ob er den Schutz, den das Aglet requested, zur Verfügung stellt
zusätzliche Mechanismen zum Schutz von Aglets von Nöten
54
Sicherheit in MAgNET (13)
Lösung des malicious host Problems
Mögliche Bedrohung auf Host muß vor Ausführen des Codes erkannt werden
In MAgNET kann der Code des shopping Aglets nicht ohne eine Lizenz des Verkäufers zum Ausführen gestartet werden
MAgNET – Security Architecture
55
Sicherheit in MAgNET (14)
Gesamte Sicherheitsstruktur
Bild 3
Text 1
Text 2
MAgNET – Security Architecture
56
Alternativen zu Aglets
Alternativen für mobile Agenten
• General Magic‘s Odyssey
• ObjectSpace‘s Voyager
• Mitsubishi‘s Concordia
Gemeinsamkeiten: - alle Java-basiert
- alle bieten Kontext
57
Aglet - Anwendung
Einsatzmöglichkeiten von Aglets (1)Verteilte Informationssuche:
Alternative zu Standard-Suchmaschinen im NetzMobiler Agent begibt sich zu Servern, sichtet Angebot, stellt Index her, und kehrt damit zur Datenbank der Suchmaschine zurück
58
Einsatzmöglichkeiten von Aglets (2)Börsenbeobachter:
Börsianer interessiert sich für bestimmte Papiere, oder sogar nur Änderungen von bestimmter Art von Interesse
Agent kann auf dem Server der Börse agieren, Informationen filtern statt gesamte Information zu laden
Aglet - Anwendung
59
Einsatzmöglichkeiten von Aglets (3)Mehrwertleistungen:
Agenten für solche Aufgaben gut geeignetAufgabe dabei: Aglets wandern zu den einzelnen Anbietern und kombinieren und finden geeignete Lösung
Aglet - Anwendung
60
Einsatzmöglichkeiten von Aglets (4)Just-In-Time-Produktion:
In modernen Produktionsstätten wird immer häufiger mit sehr geringer Lagerhaltung gearbeitet.
Rechtzeitige Lieferung der Produktionsmittel daher immer wichtiger
Aglets können Lagerbestand beobachten und bei Unterschreiten eines Schwellwertes den Nachschub selbstständig organisieren
Aglet - Anwendung
61
Aglets - Fazit
Fazit: Aglets-System reif für Einsatz?
Optimistische Betrachtung:Durchdringung des Internets im geschäftlichen und privaten Sektor
Pessimistische Betrachtung: kaum eine Chance, durch andere Techniken zu ersetzen (z.b. entfernte Kommunikation)zu hohes Sicherheitsrisiko
Einigkeit darüber, dass viele Neuerungen zu erwarten sind
62
Fazit: Aglets-System reif für Einsatz?
Einigkeit darüber, dass viele Neuerungen zu erwarten sind und Entwicklung erst am Anfang steht
Grosses Forschungsinteresse in diesem Gebiet(auch von Firmen)
dynamische Entwicklung
Entwicklung von mobilen Agenten und im speziellen Aglets-System noch nicht absehbar
Aglets - Fazit
63
Aglets - Fazit
Vielen Dank für Eure Aufmerksamkeit!!