Dienste in AdHocNetzen Beschreibung Auffindung und Motivation Dr
Dienste in Ad-Hoc-Netzen Beschreibung, Auffindung und Motivation Dr. Birgitta König-Ries Michael Klein Philipp Obreiter DIANE-Projekt: Dienste in Ad-hoc-Netzen Universität Karlsruhe (TH) http: //www. ipd. uni-karlsruhe. de/DIANE Februar 2004 1
Ziel Integrierte Nutzung verteilter Ressourcen Peer-to-Peer-Systeme Grid Computing Föderierte Datenbanken Autonomic Computing Randbedingungen? Problembereiche? Ansätze? 2 Ad-hoc-Netze
Randbedingungen der Ressourcennutzung Automatisierung Effizienzanforderungen Autonomie Selbstorganisation 3
Randbedingungen der Ressourcennutzung föderierte Datenbank Napster-artige Systeme Automatisierung Effizienzanforderungen Autonomie Automatisierung Effizienzanforderungen Selbstorganisation Gnutella-artige Systeme Selbstorganisation Ad-hoc-Netze Automatisierung Effizienzanforderungen 4 Autonomie Selbstorganisation Autonomie Automatisierung Effizienzanforderungen Autonomie Selbstorganisation
Szenario Gateway Service In: Access Data Out: Received Mails Transformation Service In: Compressed File Out: File Query Service In: Course Out: Academic calendar Document Service In: -Out: article on GROUP-BY operator 5 Wann und wo Mehr über sind meine Meine. SQL? Mails? DBVorlesungen?
Problembereiche Document Service In: -Out: article on GROUP-BY operator 6 Mehr über SQL?
Problembereiche Angebote und Nachfragen müssen: § beschrieben werden Document Service In: -Out: article on GROUP-BY operator 7 Mehr über SQL?
Problembereiche Angebote und Nachfragen müssen: § beschrieben werden § zu einander kommen Document Service In: -Out: article on GROUP-BY operator 8 Mehr über SQL?
Problembereiche Angebote und Nachfragen müssen: § beschrieben werden § zu einander kommen § abgeglichen werden Document Service In: -Out: article on GROUP-BY operator 9 ? = Mehr über SQL?
Problembereiche $$$ Document Service In: -Out: article on GROUP-BY operator 10 Angebote und Nachfragen müssen: § beschrieben werden § zu einander kommen § abgeglichen werden Mehr über SQL? Geräte müssen zur Ressourcenbereitstellung motiviert werden
Vision: Dienstorientiertes Rechnen zur verteilten Ressourcennutzung Anwendung veröffentliche. Dienst suche. Dienst führe. Dienst. Aus Dienstorientierte Middleware Übermittlung Cross-Layer-Events 4. Transport 3. Network 2. Datalink 11 1. Physical DIANE
Überblick (Semantische) Dienstbeschreibung M O T I V A T I O N (Dezentrale) Dienstsuche (Effiziente) Dienstausführung Transparente Dienstkombination 12 S I M U L A T I O N
Dienstbeschreibung – Stand der Forschung (1) Nachrichtenbasierte Dienstbeschreibung incoming messages outgoing messages Service § Beispiele: IDLs (CORBA, DCOM, EJB), WSDL, eb. XML, … Druckdienst: Print. Request Message url : String resolution: Res. Type 13 input Service
Dienstbeschreibung – Stand der Forschung (1) Nachrichtenbasierte Dienstbeschreibung incoming messages outgoing messages Service § Beispiele: IDLs (CORBA, DCOM, EJB), WSDL, eb. XML, … Probleme § Funktionalität kann nur aus dem Nachrichtenfluss geraten werden § keine Unterstützung der Konfiguration Anwendungsbereich § halbautomatische Suche 14
Dienstbeschreibung – Stand der Forschung (2) Zustands-/Nachrichtenbasierte Dienstbeschreibung incoming messages outgoing messages Service state before execution state after execution § Beispiele: DAML-S/OWL-S Profile, ICL, … Print. Request Message url : String resolution: Res. Type input : Service : Document Locally. Available 15 precondition effect : Document Printed
Dienstbeschreibung – Stand der Forschung (2) Zustands-/Nachrichtenbasierte Dienstbeschreibung incoming messages outgoing messages Service state before execution state after execution § Examples: DAML-S/OWL-S Profile, ICL, … Probleme § getrennte Beschreibung der Funktionalität in Nachrichten und Zuständen Zusammenhang unklar § keine Unterstützung der Konfiguration 16 Anwendungsbereich § halbautomatische Suche
Automatische Suche: Anforderungen § Funktionalität § klare Bedeutung der Begriffe § explizite Modellierung des Zusammenhangs zwischen Vor- und Nachzustand § Konfigurationsprozess § explizite Beschreibung des Ablaufs der Dienstnutzung 17
DIANE Service Descriptions (DSD) (1) I. obere Dienstontologie § Task: allgemeine Struktur einer Dienstbeschreibung § einheitlich, klein Service Prec Info. State Effect II. Ontologien für Dienstkategorien § wenige § Einschränkung der möglichen Vor- und Nachbedingungen § Beispiel: Information. Service Info. State Document Author Title Topic Rel. Model Rel. Algebra SQL SELECT UPDATE III. Domänenontologien § Vokabular zur Beschreibung einzelner Domänen § viele, verteilt § Beispiele: Datenbanken, Orte, Schuhe, … IV. Instanziierung § schrittweise Konfiguration 18
DSD: Beispiel (2) INe Resolution Type Print. Request Message url : String resolution: Res. Type input <black-white> : Color. Type resolution color : Service : Locally. Available precondition entity : Document <pdf> : Format. Type dc: format filesize INe Integer 19 : Printed effect time location dc: identifier INx String OUTe Time OUTx Location
Vorteile des Ansatzes § Ontologiebasierung für klare Bedeutung § vereinheitlichte, aber flexible Struktur durch Schichtung § Funktionalität ist explizit beschrieben § Zusammenhang zwischen Vor- und Nachzustand § Einfluss der Parameter § Konfigurationsprozess ist explizit beschrieben Anwendungsbereich: § automatische Suche 20 Michael Klein, Birgitta König-Ries: A Process and a Tool for Creating Service Descriptions based on DAML-S 4 th VLDB Workshop on Technologies for E-Services (TES'03), Berlin, 2003 Michael Klein, Birgitta König-Ries, Philipp Obreiter: Stepwise Refinable Service Descriptions: Adapting DAML-S to Staged Service Trading, 1 st International Conference on Service Oriented Computing (ICSOC-03), Trento, Italien, 2003.
Überblick (Semantische) Dienstbeschreibung M O T I V A T I O N (Dezentrale) Dienstsuche (Effiziente) Dienstausführung Transparente Dienstkombination 21 S I M U L A T I O N
Dienstsuche: Ansätze (1) (Zentrales) Dienstverzeichnis § Proaktiv § benötigt Infrastruktur JXTA Search UDDI Napster 22 verteilte Hashtabellen § beschränkte Ähnlichkeitssuche § nicht an Netztopologie angepasst Fluten § Reaktiv § Ressourenintensiv Pastry Jini Chord Freenet JXTA Search Gnutella CAN
dezentrale, semantische Dienstsuche Ziel: Dienstsuche, die § ohne Infrastruktur funktioniert § Ähnlichkeit berücksichtigt § ressourcenschonend ist § für dynamische Umgebungen geeignet ist. 23 Grundidee: Lege logische Struktur über das vorhandene Netzwerk § welche sich am Wissen orientiert, welche Dienste angeboten werden, § welche Such- und Angebotsnachrichten geschickt leitet § welche bei Änderung des physischen Netzes adaptiert wird Overlay A 2 C 3 B A E 1 C D physisches Netz E
Dienstsuche: Lösungen Dienstankündigung 1 5 2 3 6 any cast 7 10 any cast 11 4 8 12 9 Dienstsuche find. Service Cluster-Overlay Ring-Overlay find. Service Dienstvergleich Lanes-Overlay route. Message 4. Transport 3. Network send. Packet 2. Data Link 1. Physical send. Message 4. Transport 24 find. Service
Lanes: Idee 1 2 3 4 5 any cast 6 7 8 9 any cast § Keine feste Zuordnung in x-Richtung parallele Bahnen von Knoten 10 § Innerhalb Bahn: Definierte Nachbarschaft 11 12 § Von außerhalb: Alle Knoten einer Bahn gleich Verwende Anycast. Routing in x-Richtung 25 Michael Klein, Birgitta König-Ries, Philipp Obreiter Lanes - A Lightweight Overlay for Service Discovery in Mobile Ad Hoc Network 3 rd Workshop on Applications and Services in Wireless Networks (ASWN 2003), Bern
Lanes: Service Trading Dienstankündigung 1 2 5 any cast 6 9 any cast 10 3 7 11 4 8 12 Dienstsuche 26
Algorithmen der Lanes-Struktur § Login/Logoff-Algorithmus § Zutritt in die bzw. Austritt aus der Lane § Dienstankündigung-Algorithmus § Dienstbekanntgabe innerhalb der Lane § Dienstsuche-Algorithmus § Interne und anycast Suche § Split-Algorithmus, Merge-Algorithmus § Korrektur der Lanegröße § Lane. Broken-Algorithmus § Korrektur nach unangekündigtem Austritt 27 Ping-Nachrichten: Sorgen für die Pflege der Lanes
Vorteile von Lanes § Spezialisiert für dynamische Topologien § Wenige Strukturbedingungen § Topologiebewusste Algorithmen § Selbstjustierende Parameter: Anpassung an die aktuelle regionale Netzwerkprofil § Vollständig dezentral, kein Fluten, kein Hashen § Unabhängig von Dienstbeschreibung § Aber: Spezialisiert für Dienstaushandlung ( 2 Dimensionen) 28
Überblick (Semantische) Dienstbeschreibung M O T I V A T I O N (Dezentrale) Dienstsuche (Effiziente) Dienstausführung Transparente Dienstkombination 29 S I M U L A T I O N
Fallbeispiel: Kooperation in Lanes Warum soll man Dienste anbieten? Dienstankündigung 1 Warum soll man sich mit Dienstsuchen und Dienstnutzung zurückhalten? 30 2 5 any cast 6 9 any cast 10 3 7 11 4 8 12 Dienstsuche Warum soll man Dienstsuchen weiterleiten? Warum soll man Dienstangebote speichern und weiterleiten? Warum soll man Dienstsuchen mit -angeboten vergleichen?
Anreizmuster Frage: Welche Arten von Anreizen gibt es, für ein anderes Gerät eine Aktion durchzuführen? Anreizmuster motiviert durch Vertrauen vertrauensbasierte Anreizmuster identitätsbas. Vertrauen Kollektivmuster verhaltensbas. Vertrauen sofortige Gegenleistung Gemeinschaftsmuster ist Schuldner 31 handelsbasierte Anreizmuster Tauschhandelsmuster Schuldner Aussteller ist nicht Schuldner motiviert durch Gegenleistung versprochene Gegenleistung wertpapierbasierte Anreizmuster Beliebiges Gerät Dediziertes Gerät Eigenwechselmuster Banknotenmuster Wechselmuster Scheckmuster Philipp Obreiter, Jens Nimis A Taxonomy of Incentive Patterns - The Design Space of Incentives for Cooperation 2 nd Workshop on Agents and Peer-to-Peer Computing (AP 2 PC'03), Melbourne
Eigenschaften der Anreizmuster Eigenschaften Rollen vertrauensbasiert Kollektivmuster 32 Tauschhandelsmuster wertpapierbasiert (Eigenwechselmuster) symmetrisch asymmetrisch Reputation Gegenleistung Eigenwechsel − + o asymmetrisch Art der Belohnung Durchsetzbarkeit der Belohnung Gemeinschaftsmuster handelsbasiert keine Aufwand klein mittel klein groß Skalierbarkeit −− − + o
Fallbeispiel: Anreizschema für Lanes Warum Dienste anbieten? um Eigenwechsel zu bekommen (Wechselversprechen: Dienst) Dienstankündigung Warum sparsame Dienstbenutzung? um Eigenwechsel nicht ausstellen zu müssen (Wechselversprechen: Dienst) 1 um Eigenwechsel nicht ausstellen zu müssen (Wechselversprechen: Dienstvergleich) 33 9 Warum Dienstangebote weiterleiten? 2 3 Warum sparsame Dienstsuche? 5 4 any cast 6 7 8 any cast 10 11 12 um gute Reputation zu erhalten Warum Dienstsuchen speichern und mit Angeboten vergleichen? um Eigenwechsel zu bekommen (Wechselversprechen: Dienstvergleich) Dienstsuche Warum Dienstsuchen weiterleiten? um gute Reputation zu erhalten
Überblick (Semantische) Dienstbeschreibung M O T I V A T I O N (Dezentrale) Dienstsuche (Effiziente) Dienstausführung Transparente Dienstkombination 34 S I M U L A T I O N
Evaluation durch Simulation run. Test(plan) Meta S I M U L A T O R instantiate. User(param) Benutzer user. Functions. . . Protokoll P 1 P 2 send. Message(device) Netzwerk connected(device 1, device 2) Verbindung 35 Michael Klein DIANEmu - A Java Based Generic Simulation Environment for Distributed Protocols Download: http: //www. ipd. uni-karlsruhe. de/DIANE
Benutzerschicht Ziel: Realitätsgetreues Modell der Benutzer mögliche Aktivitäten Prioritäten der Benutzer Aktivitätsmodell Ablauf der Aktivitäten Bewegung zu Aktivität Umweltmodell 36 Pfade Orte Dienst während Aktivität Bewegungsmodell Dienstmodell Liste: (Zeit, Koordinate) Liste: (Zeit, Dienstaufruf) Tobias Breyer, Michael Klein, Philipp Obreiter, Birgitta König-Ries Activity-Based User Modeling in Service-Oriented Ad hoc Networks First Working Conference on Wireless On-demand Network Systems (WONS 2003), Trento
Evaluierung von Lanes Einstellungen: 1. 2. 3. 4. 15 Geräte Testdauer 3600 s Aktion jede 60 Sekunden Ping Nachrichten bei Lanes jede 15 sec Aufwand [ #Nachrichten/Suchanfrage] ∞ 37 10 5 3, 3 2, 5 2 Dynamik [ Verweildauer in Min. ]
Fairness: Korrelationskoeffizient und Regressionsgerade Aus Messungen abgeleitete Werte: 1. Korrelationskoeffizient r (Findungen-Vergleiche) 2. Steigung der Regressionsgerade (b) Einstellungen: 4400 Suchen, 15 Kooperative, 5 Unkooperative 38 SLanes r=0, 69 #Findungen b=0, 54 #Vergleiche Individualnutzen [Findungen] r=-0, 18 Individualnutzen [Findungen] Lanes Individualaufwand [Vergleiche]
Zusammenfassung (Semantische) Dienstbeschreibung M O T I V A T I O N (Dezentrale) Dienstsuche (Effiziente) Dienstausführung Transparente Dienstkombination 39 S I M U L A T I O N
Anforderungen und Lösungsansätze Ad-hoc-Netze Angebote und Nachfragen müssen: Automatisierung Effizienzanforderungen Autonomie Selbstorganisation § beschrieben werden DIANE Service Descriptions § zu einander kommen halbsemantische Overlays § abgeglichen werden DIANE Service Descriptions Geräte müssen zur Ressourcenbereitstellung motiviert werden 40 Anreizschemata
Anforderungen und Lösungsansätze Angebote und Nachfragen müssen: Automatisierung Effizienzanforderungen Autonomie Selbstorganisation § beschrieben werden z. B. WSDL § zu einander kommen halbsemantische Overlays § abgeglichen werden WSDL Vergleich, manuelle Nachbesserung Geräte müssen zur Ressourcenbereitstellung motiviert werden 41 Ad-hoc-Netze in einer Organisation, manuelle Dienstnutzung
Anforderungen und Lösungsansätze Angebote und Nachfragen müssen: Peer-to-Peer- Systeme Automatisierung Effizienzanforderungen Autonomie Selbstorganisation § beschrieben werden DIANE Service Descriptions § zu einander kommen § abgeglichen werden Dienstverzeichnisse, Fluten, Overlays DIANE Service Descriptions Geräte müssen zur Ressourcenbereitstellung motiviert werden 42 Anreizschemata
DIANE: Beitrag (Semantische) Dienstbeschreibung M O T I V A T I O N Schichtung, reine Zustandsorientierung, Variablen (Dezentrale) Dienstsuche Overlays: Cluster, Rings, Lanes (Effiziente) Dienstausführung S I M U L A T I O N Transparente Dienstkombination Anreize für die Dienstsuche 43 DIANEmu Aktivitätsbas. Benutzermodell
D A N K E . . . für die Aufmerksamkeit Alle Veröffentlichungen und den Simulator gibt es unter: http: //www. ipd. uni-karlsruhe. de/DIANE 44
- Slides: 44