Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROVIDING COMBINED SERVICES IN A PEER-TO-PEER NETWORK
Document Type and Number:
WIPO Patent Application WO/2008/012305
Kind Code:
A3
Abstract:
The invention relates to a method for providing a service containing facilities in a peer-to-peer network comprising peer devices. The peer devices can be associated with groups, each group being defined by a pre-determined facility. The pre-determined facility can be executed by each peer device associated with a respective group, and a selected peer device of a group executes the respective facility. A sequence of facilities and specifications to be executed is publicised in the peer-to-peer network, on the peer devices executing the respective facility, by a peer device requesting the combined service, and the selection of the selected peer devices is carried out according to the publicised sequence and the publicised specifications.

Inventors:
GERDES CHRISTOPH (DE)
PRINZ VIVIAN (DE)
SOUTHALL ALAN (DE)
Application Number:
PCT/EP2007/057615
Publication Date:
May 29, 2008
Filing Date:
July 24, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS ENTPR COMMUNICATIONS (DE)
GERDES CHRISTOPH (DE)
PRINZ VIVIAN (DE)
SOUTHALL ALAN (DE)
International Classes:
H04L29/08
Foreign References:
US20040148326A12004-07-29
EP1431875A12004-06-23
Other References:
ANKOLEKAR A ET AL: "DAML-S: Web Service description for the Semantic Web", LECTURE NOTES IN COMPUTER SCIENCE, SPRINGER VERLAG, BERLIN, DE, vol. 2342, 9 June 2002 (2002-06-09), pages 348 - 363, XP002276131, ISSN: 0302-9743
Attorney, Agent or Firm:
SIEMENS ENTERPRISE COMMUNICATIONS GMBH & CO. KG (81379 München, München, DE)
Download PDF:
Claims:

Patentansprüche

1. Verfahren zum Bereitstellen eines aus Teildiensten (STN, STA, STB, STC) zusammengesetzten Dienstes in einem Peer- Einrichtungen (Ai, Bi-B 5 , Ci-C 5 , Ni-N 4 ) aufweisenden Peer-to- Peer-Netzwerk, wobei die Peer-Einrichtungen (Ai, Bi-B 5 , Ci-C 5 , Ni-N 4 ) Gruppen (SG B , SG 0 , SG N ) zuordenbar sind, wobei jede Gruppe (SG B , SG 0 , SG N ) durch einen vorgegebenen Teildienst (STB, STC, STN) bestimmt ist, wobei durch jede einer jeweili- gen Gruppe (SG B , SG 0 , SG N ) zugeordneten Peer-Einrichtung (Bi- B 5 , Ci-C 5 , Ni-N 4 ) der vorgegebene Teildienst (STB, STC, STN) ausführbar ist und eine ausgewählte Peer-Einrichtung (cB 3 , cCi, CN 4 ) einer Gruppe den jeweiligen Teildienst (STB, STC, STN) ausführt, wobei von einer den zusammengesetzten Dienst anfragenden Peer-Einrichtung (Ai) , eine Abfolge von auszuführenden Teildiensten (STN, STC, STB, STA) und Vorgaben an die den jeweiligen Teildienst (STA, STB, STC, STN) auszuführenden Peer-Einrichtungen in dem Peer-to-Peer-Netzwerk publiziert wird und die Auswahl der ausgewählten Peer-Einrichtungen (cB 3 , cCi, CN 4 ) in Abhängigkeit von der publizierten Abfolge und den publizierten Vorgaben erfolgt.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zum Bilden einer Gruppe die folgenden Verfahrensschritte durchgeführt werden:

a) Publizieren einer CandidateResource (CRBi-CRB 5 ) durch die Peer-Einrichtungen (Bi-B 5 ) , wobei die CandidateResource (CRBi- CRB 5 ) Informationen über die von der jeweiligen publizierenden Peer-Einrichtung (Bi-B 5 ) ausführbaren Teildienste (STB) und die Leistungsfähigkeit (MEMB) der jeweiligen publizierenden Peer-Einrichtung (Bi-B 5 ) aufweist;

b) Publizieren einer SubtaskResource (STR B ) , welche Informa ¬ tionen über mindestens einen der auszuführenden Teildienste (STB) und die zugehörigen Vorgaben aufweist; und

c) Auswählen der ausführenden Peer-Einrichtung (cB 3 ) aus der Gruppe (SG B ) von Peer-Einrichtungen, mittels derer ein vorge ¬ gebenen Teildienst (STB) ausführbar ist, in Abhängigkeit von der Leistungsfähigkeit und den publizierten Vorgaben an die den jeweiligen Teildienst ausführenden Peer-Einrichtungen.

3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass mindestens eine Watchdog-Peer-Einrichtung (wB) aus der Gruppe (SG B ) von Peer-Einrichtungen bestimmt wird, welche eine Funk ¬ tion der den jeweiligen Teildienst (STB) ausführenden ausgewählten Peer-Einrichtung (cB 3 ) überwacht.

4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die mindestens eine Watchdog-Peer-Einrichtung (wB) das Ausführen des jeweiligen Teildienstes (STB) übernimmt, falls die ausgewählte Peer-Einrichtung (cB) ausfällt.

5. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass eine ServiceGroupResource (SGR B ) für eine jeweilige Gruppe publiziert wird, welche Informationen über die aktuelle den Teildienst ausführende ausgewählte Peer-Einrichtung (cB) und/oder die bestimmten Watchdog-Peer-Einrichtungen (wB) aufweist .

6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die ServiceGroupResource (SGR B ) kontinuierlich aktualisiert wird.

7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das Publizieren der SubtaskResource (STR) , das Auswählen der den jeweiligen Teildienst ausführenden Peer-Einrichtung (cB) und/oder das Bestimmen der Watchdog-Peer-Einrichtungen (wB)

durch eine den jeweiligen Teildienst anfragende Peer- Einrichtung (Ai) erfolgt.

8. Verfahren nach einem der Ansprüche 2 - 7, dadurch gekennzeichnet, dass zum Initialisieren des zusammengesetzten Dienstes die folgenden Verfahrensschritte durchgeführt werden:

a) Publizieren einer ComposedServiceResource (CSR) , welche die Abfolge der für die Ausführung des zusammengesetzten

Dienstes verwendeten Teildienste, insbesondere Kriterien für die Auswahl der ausführenden Peer-Einrichtungen, eine Verkettung der Teildienste und Ausführungsparameter für die Teildienste, aufweist;

b) Publizieren einer SubtaskResource (STR B ) zum Anfragen des in der Abfolge der Teildienste zuletzt auszuführenden Teil ¬ dienstes (STB) durch die den zusammengesetzten Dienst anfragende Peer-Einrichtung (Ai) , wobei eine Identifikation der den Teildienst anfragenden Peer-Einrichtung (Ai) als übergabe-Peer-Einrichtung für ein Teildienstergebnis von dem angefragten Teildienst (STB) in die SubtaskResource (STR B ) ge ¬ schrieben wird, und Auswählen der Peer-Einrichtung (cB 3 ) der Gruppe, welche den angefragten Teildienst (STB) auszuführen hat;

c) Publizieren von weiteren SubtaskResourcen (STR C , STR N ) zum Anfragen des jeweils in der Abfolge der Teildienste vorherge ¬ hend auszuführenden Teildienstes (STC, STN) durch die ausge- wählte Peer-Einrichtung (cB 3 , cCi) , welche den in der Abfolge der Teildienste jeweils nachfolgend auszuführenden Teildienst (STB, STC) ausführt, wobei eine Identifikation der den Teil ¬ dienst anfragenden Peer-Einrichtung (cB 3 , cCi) als übergabe- Peer-Einrichtung für ein Teildienstergebnis von dem angefrag- ten Teildienst (STB, STC) in die SubtaskResource (STR C , STR N ) geschrieben wird, und Auswählen der Peer-Einrichtung (cCi, CN 4 ) der Gruppe, welche den angefragten Teildienst (STC, STN) auszuführen hat.

9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass nach dem Auswählen der Peer-Einrichtung (cN 4 ) , welche den in der Abfolge der Teildienste ersten Teildienst (STN) auszufüh ¬ ren hat, eine Initialisierungsnachricht (INIT) an die den zu ¬ sammengesetzten Dienst anfragende Peer-Einrichtung (Ai) gesendet wird.

10. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass in alle SubtaskResourcen (STR) Informationen über die Anforderungen an die Teildienste, die Verkettung der Teildienste und/oder Identifikatoren der ComposedServiceResourcen (CSR) geschrieben werden.

11. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass durch die den zusammengesetzten Dienst anfragende Peer- Einrichtung (Ai) eine ComposedServiceStateResource (CSSR) publiziert wird, welche einen Betriebszustand der den zusam ¬ mengesetzten Dienst bildenden Teildienste (STA, STB, STC, STN) und/oder Zwischenergebnisse der Teildienste aufweist.

12. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass nach dem Auswählen aller die jeweiligen Teildienste ausführenden Peer-Einrichtungen (cB 3 , cCi, CN 4 ) eine Ringnachricht (RN1-RN4) von der den zusammengesetzten Dienst anfragenden Peer-Einrichtung (Ai) an die ausgewählte Peer-Einrichtung

(cN 4 ) , welche den in der Abfolge zuerst auszuführenden Teil ¬ dienst ausführt, und über die die folgenden Teildienste aus ¬ führenden Peer-Einrichtungen (cCi, CB 3 ) in der Abfolge der auszuführenden Teildienste an die den zusammengesetzten Dienst anfragenden Peer-Einrichtung (Ai) zur Instantiierung der Teildienste zurück gesendet wird.

13. Verfahren nach Anspruch 12,

dadurch gekennzeichnet, dass die Ringnachricht (RN1-RN4) in regelmäßigen Abständen zur ü- berwachung der Ausführung des zusammengesetzten Dienstes gesendet wird.

14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass beim übertragen der Ringnachricht (RN1-RN4) eine jeweilige ausführende Peer-Einrichtung eine Identifikation der Peer- Einrichtung, welche den in der Abfolge nachfolgenden Teildienst ausführt, durch Auslesen der ServiceGroupRecource (SGR) der jeweiligen durch den nachfolgenden Teildienst bestimmten Gruppe, ermittelt.

15. Verfahren nach einem der Ansprüche 8 - 14, dadurch gekennzeichnet, dass in der ComposedServiceResource (CSR) optionale Teildienste (STC) markiert werden, welche in der Ausführung der Verket ¬ tung der Teildienste übersprungen werden können.

16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass ein markierter optionaler Teildienst (STC) in der Abfolge der auszuführenden Teildienste übersprungen wird, falls alle Peer-Einrichtungen (Ci-C 5 ) der durch den optionalen Teildienst (STC) bestimmten Gruppe (SG C ) ausfallen, wobei die ausführende Peer-Einrichtung (cN 4 ) , welche den in der Abfolge vor dem zu überspringenden Teildienst (STC) liegenden Teildienst (STN) ausführt, ihr Teildienstergebnis an die ausfüh- rende Peer-Einrichtung (cB 3 ) übermittelt, welche den in der Abfolge nach dem zu überspringenden Teildienst (STC) liegenden Teildienst (STB) ausführt.

17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass eine ausführende Peer-Einrichtung (cN 4 ) bei einem Ausfall des ihr folgenden Teildienstes (STC) die ComposedServiceResource (CSRC) liest und eine Identifikation der ServiceGroupResource

(SRC) für die Gruppe, welche durch den in der Abfolge über ¬ nächsten Teildienst (STB) bestimmt ist, liest.

18. Verfahren nach einem der Ansprüche 5 - 16, dadurch gekennzeichnet, dass eine jeweilige ausführende Peer-Einrichtung bei einer ände ¬ rung der ServiceGroupResource für die durch den in der Abfol ¬ ge folgenden Teildienst bestimmte Gruppe automatisch benach ¬ richtigt wird.

19. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mindestens eine Peer-Einrichtung mehreren Gruppen zuordenbar ist und als ausführende Peer-Einrichtung verschiedene Teil- dienste ausführt.

20. Computerprogrammprodukt, welches die Durchführung eines Verfahrens nach einem der Ansprüche 1 - 19 auf einer oder mehreren programmgesteuerten Peer-Einrichtungen veranlasst.

Description:

Beschreibung

Verfahren zum Bereitstellen zusammengesetzter Dienste in einem Peer-to-Peer-Netzwerk

Die vorliegende Erfindung betrifft ein Verfahren zum Bereit ¬ stellen eines aus Teildiensten zusammengesetzten Dienstes in einem Peer-Einrichtungen aufweisenden Peer-to-Peer-Netzwerk .

Mit Peer-to-Peer-Systemen ist es möglich, eine Vielzahl von Geräten, die im Folgenden als Peer-Einrichtungen bezeichnet werden, miteinander zu vernetzen. Die Kommunikation zwischen den Peer-Einrichtungen erfolgt dabei über das Protokoll eines Kommunikationsnetzwerkes, beispielsweise dem Internet. Die an dem Peer-to-Peer-Netzwerk teilnehmenden Peer-Einrichtungen können dabei bestimmte Dienste anbieten, wie z. B. die auto ¬ matische übersetzung eines Textes. Durch Peer-to-Peer-Netz- werke ist es möglich, ein netzweites Ressourcen- oder Dienst- Sharing zu ermöglichen, ohne zentrale Infrastrukturen wie zentrale Servereinrichtungen, einsetzen zu müssen.

Da in derartigen Peer-to-Peer-Netzwerken die Peer-Einrichtungen in der Regel sehr spezielle Dienste anbieten, ist eine Komposition von Teildiensten zur Realisierung von komplexen Diensten erwünscht. Dies kann beispielsweise durch eine Ver ¬ kettung von einfachen Teildiensten erfolgen. Es ist beispielsweise denkbar, dass eine Textchat-Applikation, auf die von einem PDA (Personal Digital Assistant) aus zugegriffen wird, auf eine Sprachausgabe umgelenkt werden soll. Dies kann beispielsweise notwendig sein, wenn der Nutzer des PDAs ein Kraftfahrzeug auf der Straße führt. Es ist ferner denkbar, dass ein automatischer übersetzungsdienst der Sprachausgabe vorgeschaltet ist, um den Textchat zunächst in die Mutter ¬ sprache des Nutzers zu übersetzen. Die Verkettung der Teil- dienste Textchat, automatische übersetzung und Text-zu-

Sprachausgabe realisieren so einen dynamisch zusammengesetzten Dienst, wobei die Teildienste von verschiedenen Peer- Einrichtungen des Netzwerkes ausgeführt werden können.

Da ein Peer-to-Peer-Netzwerk allerdings durch Ausfall einzelner Peers und Hinzutreten von neuen Peer-Einrichtungen ein dynamisches System darstellt, kann die Bereitstellung von derartig zusammengesetzten Diensten durch Rückgriff auf die angebotenen Dienste der einzelnen Peers problematisch sein. Es ist dabei eine vollständig dezentrale Verwaltung der Zu ¬ sammenstellung eines komplexen Dienstes aus Teildiensten notwendig, wobei auch das kontinuierliche An- und Abmelden ein- zelner Peer-Einrichtungen am Peer-to-Peer-Netzwerk berücksichtigt wird.

Bei Ausfall eines Peers, der einen Teildienst in der jeweili ¬ gen komplexen Dienstzusammenstellung ausführt, ist erwünscht, dass der komplexe Dienst dennoch weiterhin angeboten werden kann und der ausgefallene Teildienst von einem weiteren Peer übernommen wird.

Es ist ferner wünschenswert, dass eine für die Ausführung des komplexen zusammengesetzten Dienstes benötigte Rechenleistung günstig auf die Teildienste anbietenden Peer-Einrichtungen aufgeteilt wird, ohne auf zentrale Performance-Informationen der einzelnen Peer-Einrichtungen zugreifen zu müssen. Ein besonderes Problem besteht somit darin, die Auswahl der Peer- Einrichtungen für einen vorgegebenen Teildienst günstig zu treffen. Der Aufbau bzw. die Bereitstellung des jeweiligen zusammengesetzten Dienstes aus Teildiensten muss zudem zügig auch bei großen Peer-to-Peer-Netzwerken erfolgen können.

In der Vergangenheit sind z. B. Ansätze verfolgt worden, bei denen zunächst von einem einen komplexen zusammengesetzten Dienst anfragenden Peer alle möglichen Dienstpfade, also die Verkettung von Teildiensten, welche durch unterschiedliche Peer-Einrichtungen ausgeführt werden, zu erkennen und hin- sichtlich ihrer Leistungsfähigkeit zu bewerten. Der beste

Dienstpfad, also die leistungsfähigste Verkettung der auf ei ¬ nem jeweiligen Peer ausgeführten Teildienste zu dem gesamten zusammengesetzten Dienst wird dann ausgewählt.

Dieser Ansatz ist durch die hohe Zahl von möglichen Dienste anbietenden Peer-Einrichtungen sehr aufwändig und erfordert eine lange Initialisierungszeit bis eine tatsächliche Abar- beitung bzw. Bereitstellung des zusammengesetzten Dienstes erfolgen kann. Deterministische Algorithmen zum Auffinden des optimalen Dienstpfades benötigen dabei exponentiell viel Zeit in der Anzahl im Peer-to-Peer-Netz vorhandenen Peer- Einrichtungen .

Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Bereitstellen eines aus Teildiensten zusammengesetzten Dienstes in einem Peer-to-Peer-Netzwerk mit Peer- Einrichtungen zu schaffen, das eine rasche Initialisierung und zuverlässige Ausführung des zusammengesetzten Dienstes ermöglicht .

Diese Aufgabe wird durch ein Verfahren zum Bereitstellen eines aus Teildiensten zusammengesetzten Dienstes gemäß Patent- anspruch 1 gelöst.

Demgemäß ist ein Verfahren zum Bereitstellen eines aus Teildiensten zusammengesetzten Dienstes in einem Peer-Einrichtungen aufweisenden Peer-to-Peer-Netzwerk vorgesehen, wobei die Peer-Einrichtungen jeweils Gruppen zuordenbar sind. Dabei ist jede Gruppe durch einen vorgegebenen Teildienst bestimmt und durch jede einer jeweiligen Gruppe zugeordneten Peer- Einrichtung ist der vorgegebene Teildienst ausführbar. Eine ausgewählte Peer-Einrichtung einer Gruppe führt dabei den je- weiligen Teildienst aus. Dabei wird von einer den zusammenge ¬ setzten Dienst anfragenden Peer-Einrichtung eine Abfolge von auszuführenden Teildiensten und Vorgaben an die den jeweiligen Teildienst ausführenden Peer-Einrichtungen in dem Peer- to-Peer-Netzwerk publiziert. Die Auswahl der ausgewählten Peer-Einrichtungen erfolgt dabei in Abhängigkeit von der pub ¬ lizierten Abfolge und den publizierten Vorgaben.

Unter Publizieren wird dabei die verteilte Speicherung von Informationen in dem zugrunde liegenden Peer-to-Peer-Netzwerk verstanden. Es wird auch davon ausgegangen, dass das zugrunde liegende Peer-to-Peer-Netzwerk das verteilte Speichern und Wiederauffinden von Informationen gestattet bzw. ein entsprechendes Kommunikationsprotokoll für die das Peer-to-Peer- Netzwerk bildenden Peer-Einrichtungen vorliegt. Die abgespeicherten Informationen werden auch allgemein als Ressourcen bezeichnet und die verteilte Speicherung als das Publizieren von Ressourcen.

Gemäß der Erfindung müssen nicht alle möglichen Dienstpfade oder Verkettungen von Peer-Einrichtungen und der durch die Peer-Einrichtungen ausgeführten Teildienste betrachtet wer- den. Vielmehr werden alle vorliegenden Peer-Einrichtungen logischen Gruppen zugeordnet, welche durch den jeweiligen Teildienst charakterisiert sind. Es ergibt sich dadurch eine li ¬ neare DienstZusammensetzung aus Teildiensten durch die Dienstgruppen. Dabei bezeichnet Dienstgruppe die Anzahl von Peer-Einrichtungen, die prinzipiell in der Lage sind, einen vorgegebenen Teildienst auszuführen. Für die Initialisierung des zusammengesetzten Dienstes und dessen Ausführung ist organisatorisch lediglich eine Verkettung der Gruppen durchzuführen, was erheblich aufwandsgünstiger und zeitlich schnel- ler geschehen kann.

Vorzugsweise werden zum Bilden einer jeweiligen Gruppe die folgenden Verfahrensschritte durchgeführt:

- Publizieren einer CandidateResource durch die Peer- Einrichtungen, wobei die CandidateResource Informationen über die von der jeweiligen publizierenden Peer-Einrichtung ausführbaren Teildienste und die Leistungsfähigkeit der jeweili ¬ gen publizierenden Peer-Einrichtung aufweist;

- Publizieren einer SubtaskResource, welche Informationen ü- ber mindestens einen der auszuführenden Teildienste und die zugehörigen Vorgaben aufweist; und

- Auswählen der ausführenden Peer-Einrichtung aus der Gruppe von Peer-Einrichtungen, mittels derer ein vorgegebener Teildienst ausführbar ist, in Abhängigkeit von der Leistungsfä- higkeit und den publizierten Vorgaben an die den jeweiligen Teildienst .

Durch das verteilte Speichern der CandidateResource, welche beispielsweise eine Liste derjenigen Teildienste aufweist, die von dem publizierenden Peer ausgeführt werden können, ist eine Einordnung aller Peer-Einrichtungen in logische Gruppen möglich. Dabei ist eine jeweilige logische Gruppe durch die Funktion eines Teildienstes definiert. Eine entsprechende Gruppe oder Dienstgruppe umfasst dann alle Peer- Einrichtungen, die einen betreffenden Teildienst ausführen können .

Ferner enthalten die publizierten CandidateResources Angaben über die jeweilige Leistungsfähigkeit der publizierenden Peer-Einrichtung, wie z. B. eine Bandbreite, bereitstehender Speicherplatz oder CPU-Leistung.

Durch Publizieren der SubtaskResource ergibt sich dann die Gruppenzugehörigkeit der Peer-Einrichtungen und erlaubt fer- ner die Peer-Einrichtungen einer Gruppe hinsichtlich ihrer Leistungsfähigkeit zu ordnen. Es kann die leistungsfähigste Peer-Einrichtung einer Gruppe ausgewählt werden, um den Teildienst tatsächlich auszuführen. Die mit der SubtaskResource publizierten Vorgaben an die jeweiligen Teildienst ausführen- den Peer-Einrichtungen werden z. B. in einer so genannten

Komparatorklasse spezifiziert. Dabei enthält die Komparator- klasse Vergleichsregeln, die bei der Auswahl der ausführenden Peer-Einrichtung berücksichtigt werden. Falls beispielsweise für einen Teildienst eine besonders hohe Bandbreite benötigt wird, ist in der Komparatorklasse die Bandbreite als Ver ¬ gleichsregel unter den der Gruppe zugewiesenen Peers angege ¬ ben. Falls dann mehrere Peer-Einrichtungen dieselbe Bandbrei ¬ te aufweisen, kann in einer weiteren Spezifizierung durch ei-

ne weitere untergeordnete Komparatorklasse, beispielsweise auf die CPU-Leistung bezogen, verwendet werden.

Vorzugsweise wird mindestens eine Watchdog-Peer-Einrichtung aus einer jeweiligen Gruppe von Peer-Einrichtungen bestimmt, wobei die Watchdog-Peer-Einrichtung eine Funktion oder Funktionsfähigkeit der den jeweiligen Teildienst ausführenden und ausgewählten Peer-Einrichtung überwacht. Dies kann z. B. durch den Austausch von so genannten Herzschlag- (Heart Beat) Nachrichten geschehen, die von dem ausführenden Peer an die

Watchdog-Peer-Einrichtungen derselben Gruppe gesendet werden. Somit können die Watchdog-Peers einer Gruppe beurteilen, ob der ausführende Peer zuverlässig Teildienstergebnisse bereit ¬ stellt und seine Funktionsfähigkeit unbeeinträchtigt ist. Falls der zunächst ausführende Peer ausfällt, übernimmt eine der Watchdog-Peer-Einrichtungen die Ausführung des Teildienstes .

Vorzugsweise wird eine ServiceGroupResource für eine jeweili- ge Gruppe publiziert, welche Informationen über die aktuelle den Teildienst ausführende, ausgewählte Peer-Einrichtung und/oder die bestimmten Watchdog-Peer-Einrichtungen aufweist. Diese als Zustands-Resource bezeichnete ServiceGroupResource speichert regelmäßig den Zustand, beispielsweise Zwischener- gebnisse der Teildienstausführung sowie die Struktur der

Gruppe. D. h. die ServiceGroupResource enthält immer aktuelle Informationen über den jeweiligen ausführenden Peer und die überwachende Watchdog-Peer-Einrichtungen. Fällt beispielswei ¬ se die zunächst ausführende Peer-Einrichtung aus, liest der am besten bewertete, also nächstleistungsfähigste Watchdog- Peer für die Ausführung des betreffenden Teildienstes die ServiceGroupResource aus und übernimmt die Ausführung des Teildienstes unter Verwendung beispielsweise der Zwischenergebnisse aus der ServiceGroupResource.

Das Publizieren der SubtaskResource, das Auswählen der den jeweiligen Teildienst ausführenden Peer-Einrichtung und/oder

das Bestimmen der Watchdog-Peereinrichtungen erfolgt vorzugsweise durch eine den jeweiligen Teildienst anfragende Peer- Einrichtung. Die Beauftragung zur Ausführung des angefragten Teildienstes wird daher zunächst von einer als koordinieren- den Peer-Einrichtung bezeichneten Peer-Einrichtung durchgeführt .

Zum Initialisieren des zusammengesetzten Dienstes werden vorzugsweise die folgenden Verfahrensschritte durchgeführt:

- Publizieren einer ComposedServiceResource, welche die Ab ¬ folge der für die Ausführung des zusammengesetzten Dienstes verwendeten Teildienste, insbesondere Kriterien für die Aus ¬ wahl der ausführenden Peer-Einrichtungen, eine Verkettung der Teildienste und Ausführungsparameter für die Teildienste, aufweist;

- Publizieren einer SubtaskResource zum Anfragen des in der Abfolge der Teildienste zuletzt auszuführenden Teildienstes durch die den zusammengesetzten Dienst anfragende Peer- Einrichtung, wobei eine Identifikation der den Teildienst anfragenden Peer-Einrichtung als übergabe-Peer-Einrichtung für ein Teildienstergebnis von dem angefragten Teildienst in die SubtaskResource geschrieben wird, und Auswählen der Peer- Einrichtung der Gruppe, welche den angefragten Teildienst auszuführen hat; und

- Publizieren von weiteren SubtaskResourcen zum Anfragen des jeweils in der Abfolge der Teildienste vorhergehend auszufüh- renden Teildienstes durch die ausgewählte Peer-Einrichtung, welche den in der Abfolge der Teildienste jeweils nachfolgend auszuführenden Teildienst ausführt, wobei eine Identifikation der den Teildienst anfragenden Peer-Einrichtung als übergabe- Peer-Einrichtung für ein Teildienstergebnis von dem angefrag- ten Teildienst in die SubtaskResource geschrieben wird, und Auswählen der Peer-Einrichtung der Gruppe, welche den angefragten Teildienst auszuführen hat.

Nachdem die einzelnen Dienstgruppen, also die Ausführung der Teildienste durch die Gruppenzuordnung zuverlässig vorliegt, erfolgt eine Verknüpfung oder Verkettung der Teildienste untereinander durch das sequentielle Publizieren von SubtaskRe- sourcen. Das Vorliegen eines zusammengesetzten Dienstes in dem Peer-to-Peer-Netzwerk wird in Form der ComposedServiceRe- source publiziert.

Falls ein zusammengesetzter Dienst von einer anfragenden Peer-Einrichtung benötigt wird, liest diese die ComposedSer- viceResource . In der ComposedServiceResource sind beispiels ¬ weise alle Teildienste des zusammengesetzten Dienstes sowie zugehörige Parameter, wie benötigte Leistungs-Ressourcen oder Dienstgüte-Parameter abgelegt. Die den zusammengesetzten Dienst anfragende Peer-Einrichtung kann auch selbst eine Com ¬ posedServiceResource publizieren, in der alle Teildienste und benötigten Parameter spezifiziert sind.

Der den zusammengesetzten Dienst anfragende Peer publiziert zunächst die SubtaskResource für den zuletzt auszuführenden Teildienst in der Dienstkette. Das Teildienstergebnis dieses zuletzt auszuführenden Dienstes wird in der Ausführung des gesamten zusammengesetzten Dienstes dem anfragenden Peer ü- bergeben. Dieser den zusammengesetzten Dienst anfragende Peer koordiniert auch die Gruppenstruktur der durch den zuvor auszuführenden Teildienst bestimmten Gruppe von Peer- Einrichtungen. Die damit bestimmte ausführende Peer- Einrichtung publiziert dann eine SubtaskResource für den je ¬ weils zuvor auszuführenden Teildienst.

Diese Verkettung der Teildienste oder der durch die Teildienste bestimmten Gruppen erfolgt, bis der zuerst in der Dienstkette auszuführende Teildienst entsprechend seiner Sub ¬ taskResource bereitgestellt wurde. Damit sind durch die Ini- tialisierung alle die Teildienste ausführenden Peer- Einrichtungen ausgewählt und entsprechende ServiceGroupRe- sources mit den Gruppenstrukturinformationen bekannt.

In die SubtaskResourcen können vorzugsweise Informationen ü- ber die Anforderungen an die jeweiligen Teildienste, die Verkettung der Teildienste untereinander und insbesondere Iden- tifikatoren der ComposedServiceResourcen geschrieben werden. Ein Identifikator ermöglicht den direkten Zugriff auf die entsprechende Ressource. Dabei ist besonders vorteilhaft, dass der Identifikator der ComposedServiceResource für den jeweils nachfolgenden Teildienst einer vorliegenden Sub- taskResource gespeichert wird. Denkbar ist auch, dass die in der ComposedServiceResource abgelegten Informationen über die Verkettung der Teildienste über die Publizierung der SubtaskResourcen an alle ausführenden Peer-Einrichtungen für die Teildienste weitergegeben werden.

Nach dem Auswählen der Peer-Einrichtung, welche den in der Abfolge der Teildienste den ersten Teildienst auszuführen hat, wird vorzugsweise eine Initialisierungsnachricht an die den zusammengesetzten Dienst anfragende Peer-Einrichtung gesendet. Damit erkennt die erste, also die den zusammengesetz- ten Dienst anfragende Peer-Einrichtung, dass eine Verkettung aller Teildienste erfolgreich durchgeführt wurde. Den Zustand der den zusammengesetzten Dienst bildenden Teildienste und/oder auch Zwischenergebnisse dieser Teildienste können durch die den zusammengesetzten Dienst anfragende Peer- Einrichtung mittels einer ComposedServiceStateResource publi ¬ ziert werden.

Bevorzugt wird nach dem Auswählen aller die jeweiligen Teildienste ausführenden Peer-Einrichtungen eine Ring-Nachricht von der den zusammengesetzten Dienst anfragenden Peer- Einrichtung an die ausgewählte Peer-Einrichtung gesendet, welche den in der Abfolge zuerst auszuführenden Teildienst ausführt, welche dann an die in der Abfolge folgenden Teil ¬ dienste ausführenden Peer-Einrichtungen die Ring-Nachricht weitersendet, wodurch diese an die den zusammengesetzten Dienst anfragenden Peer-Einrichtung zurückerhält. Dadurch werden die den zusammengesetzten Dienst durch ihre Teildienstausführung bildenden Peer-Einrichtungen instantiiert .

Bevorzugt wird die Ring-Nachricht in regelmäßigen Abständen zur überwachung der Ausführung des zusammengesetzten Dienstes gesendet, um beispielsweise die zuverlässige Ausführung und das Vorliegen aller Teildienste zu kontrollieren. Ein ent- sprechendes Ergebnis kann z. B. in der ComposedServiceState- Resource aktualisiert werden.

Beim übertragen der Ring-Nachricht ermittelt eine jeweilige ausführende Peer-Einrichtung die Identifikation der Peer- Einrichtung, welche den in der Abfolge den nachfolgenden

Teildienst ausführt, vorzugsweise durch Auslesen der Servi- ceGroupResource der jeweiligen durch den nachfolgenden Teildienst bestimmten Gruppe. Da in der jeweiligen Servi- ceGroupResource die Gruppenstruktur abgelegt ist, kann durch Auslesen auch eine Identifikation oder Adresse der jeweiligen ausführenden Peer-Einrichtung bezogen werden.

In einer Variante des Verfahrens werden in der ComposedServi- ceResource optionale Teildienste markiert, welche bei der Ausführung der verketteten Teildienste übersprungen werden können. Es ist beispielsweise denkbar, dass alle Peer- Einrichtungen einer durch einen Teildienst bestimmten Gruppen ausfallen und die Kette von Teildiensten unterbrochen würde. Ist ein derartiger Teildienst als optional markiert, kann dieser in der Ausführung übersprungen werden.

Ein markierter optionaler Teildienst in der Abfolge der auszuführenden Teildienste wird dann übersprungen, falls alle Peer-Einrichtungen der durch den optionalen Teildienst be- stimmten Gruppe ausfallen. Dabei übermittelt die ausführende Peer-Einrichtung, welche den in der Abfolge vor dem zu überspringenden Teildienst liegenden Teildienst ausführt, ihr Teildienstergebnis an die ausführende Peer-Einrichtung, wel ¬ che den in der Abfolge nach dem zu überspringenden Teildienst liegenden Teildienst ausführt. Dabei ist es möglich, dass ei ¬ ne ausführende Peer-Einrichtung bei einem Ausfall des ihr folgenden Teildienstes die jeweilige ComposedServiceResource liest und eine Identifikation der ServiceGroupResource für

die Gruppe, welche durch den in der Abfolge übernächsten Teildienst bestimmt ist, liest. Somit erkennt eine ausführen ¬ de Peer-Einrichtung, deren Teildienstergebnis nicht an die optional vorgesehene Teildienst ausführende Peer-Einrichtung gesendet werden kann, weil diese ausgefallen ist, dass ihr

Teildienstergebnis an die übernächste Peer-Einrichtung in der Dienstkette übermittelt werden muss.

Vorteilhafterweise wird eine jeweilige ausführende Peer- Einrichtung bei einer änderung der ServiceGroupResource für die durch den in der Abfolge folgenden Teildienst bestimmten Gruppe automatisch benachrichtigt. Die automatische Benach ¬ richtigung wird auch als PublishSubscribe-Mechanismus be ¬ zeichnet. Der Subscribe-Mechanismus ermöglicht dabei, dass einzelne Peer-Einrichtungen publizierte Ressourcen abonnieren oder zeichnen können. Ist eine entsprechende Zeichnung erfolgt, werden die abonnierenden oder zeichnenden Peer- Einrichtungen immer dann benachrichtigt, falls eine Ressource publiziert wird oder änderungen an der Ressource vorgenommen wurden. Damit ist sichergestellt, dass immer die aktuellen Gruppenstrukturen bekannt sind.

Es ist ferner denkbar, dass mindestens eine Peer-Einrichtung mehreren Gruppen zuordenbar ist und als ausführende Peer- Einrichtung verschiedene Teildienste ausführt. Durch die er ¬ findungsgemäße überwachung der Peer-Einrichtungen durch Watchdog-Peers kann eine an mehreren Gruppen oder der Ausführung mehrerer Teildienste beteiligte Peer-Einrichtung zuverlässig überwacht werden. Es ist beispielsweise denkbar, dass eine Peer-Einrichtung abwechselnd verschiedene Teildienste ausführt .

Die Erfindung betrifft ferner ein Computerprogrammprodukt, welches die Ausführung eines entsprechenden Verfahrens zum Bereitstellen eines aus Teildiensten zusammengesetzten Dienstes in einem Peer-to-Peer-Netzwerk auf einer oder mehreren programmgesteuerten Peer-Einrichtungen veranlasst.

Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschrie ¬ benen Ausführungsbeispiele.

Die Erfindung wird nun anhand einzelner Ausführungsbeispiele des Verfahrens unter Bezugnahme auf die Figuren näher erläu ¬ tert.

Es zeigen dabei:

Figur 1: eine graphische Darstellung der Dienstgruppenbil ¬ dung;

Figur 2: eine graphische Darstellung einer beispielhaften Gruppenstruktur;

Figur 3: eine graphische Darstellung der Verkettung von Teildiensten zu einem zusammengesetzten Dienst;

Figur 4: die überwachung eines zusammengesetzten Dienstes mittels Ring-Nachrichten;

Figur 5: die Ausführung eines zusammengesetzten Dienstes bei

Ausfall eines optionalen Teildienstes; und

Figur 6: eine mögliche Verkettung von Teildiensten bei mehreren Teildienst ausführenden Peer-Einrichtungen.

In den Figuren sind gleiche bzw. funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts Anderes angegeben ist.

Figur 1 zeigt eine graphische Darstellung der zu einer Grup ¬ penbildung notwendigen Publizierungs- und Zuordnungsvorgänge in einem Peer-to-Peer-Netzwerk . In der Figur 1 ist eine Auswahl von Peer-Einrichtungen Ai, Bi-B 5 , C 1 in einem Peer-to- Peer-Netzwerk dargestellt. Die Peer-Einrichtungen können beispielsweise Dienste anbietende Computer in einem Kommunikati-

onsnetz wie dem Internet sein. Das Peer-to-Peer-Netzwerk- Protokoll stellt eine Kommunikation zwischen den Peer- Einrichtungen bereit und lässt das verteilte Speichern von Daten oder Informationen in dem Peer-to-Peer-Netzwerk zu. Das verteilte Speichern einer Information, die auch als Ressource bezeichnet wird, wird als Publizieren bezeichnet. Für Peer- Einrichtungen sind auch die Begriffe Instanz-Endgerät oder Peer geläufig.

Jede Peer-Einrichtung Ai, Bi-B 5 , C 1 ist dabei in der Lage, einen bestimmten oder mehrere Teildienste auszuführen. Dies kann beispielsweise die Ausführung eines Textchats, eine au ¬ tomatischen übersetzung von Text, eine Spracherkennung oder eine Text-zu-Sprach-Ausgabe-Funktion sein. Jede Peer- Einrichtung Ai, Bi-B 5 , C 1 in dem Peer-to-Peer-Netzwerk publiziert ihre CandidateResource CRBi-CRB 5 CRd . Das Publizieren der CandidateResource CRBi-CRB 5 CRC 1 ist mittels der Pfeile Pl signalisiert .

In der Figur 1 wird davon ausgegangen, dass die mit Bi-B 5 bezeichneten Peer-Einrichtungen einen mit STB bezeichneten Teildienst ausführen können. Somit enthalten die publizierten CandidateResources CRBi-CRB 5 darüber eine Information. Ferner sind in den CandidateResources CRBi-CRB 5 Informationen über die Leistungsfähigkeit der Peer-Einrichtungen Pi-P 5 bei der Teildienstausführung des Dienstes STB angegeben. Dies kann beispielsweise der für die Teildienstausführung bereitstehende Speicherplatz MEMBi-MEMB 5 sein.

ähnlich publiziert die Peer-Einrichtung C 1 ihre CandidateRe ¬ source CAC 1 , die angibt, dass die Peer-Einrichtung C 1 in der Lage ist, einen Teildienst STC durchzuführen. Dies kann bei ¬ spielsweise eine automatische Textübersetzung sein. In der CandidateResource CRC 1 der Peer-Einrichtung C 1 sind ferner weitere Merkmale betreffend die Teildienstausführung STC auf ¬ geführt, wie eine Bandbreite oder ein Speicherplatz MEMC 1 .

Durch Kenntnis der CandidateResources bzw. Kenntnis der Be ¬ reitschaft der in dem Peer-to-Peer-Netzwerk vorliegenden Peer-Einrichtungen bestimmte Teildienste auszuführen, besteht eine logische Gruppenzugehörigkeit jeder Peer-Einrichtung. Die Gruppe oder Dienstgruppe SGB umfasst z. B. alle in dem

Peer-to-Peer-Netzwerk vorliegenden Peer-Einrichtungen, welche in der Lage sind, den Teildienst STB durchzuführen. Dies ist in der Figur 1 durch die gestrichelte Linie um die Peer- Einrichtungen P1-P5 angedeutet.

Figur 1 zeigt ferner eine Peer-Einrichtung Ai, welche z. B. den Teildienst STB für ihre Funktion benötigt und von dem Peer-to-Peer-Netzwerk anfragen möchte. Diese Anfrage durch die Peer-Einrichtung Ai erfolgt z. B. durch Publizieren einer SubtaskResource STR B . In der SubtaskResource STR B ist festge ¬ legt, dass der Teildienst STB benötigt wird und welche Leis ¬ tungsanforderungen und Leistungsparameter für die angefragte Teildienstausführung notwendig sind. Die SubtaskResource STR B enthält insbesondere Auswahlregeln, so genannte Komparator- klassen, die festlegen, nach welchen Kriterien eine zur Ausführung des Teildienstes am besten geeignete Peer-Einrichtung ausgewählt wird. Dies kann z. B. in einer ersten Vorauswahl der größte bereitstehende Speicherplatz sein, und falls meh ¬ rere Peer-Einrichtungen dieses Kriterium erfüllen, in einer zweiten Auswahlstufe die bereitgestellte CPU-Leistung. Anhand der SubtaskResource für den Teildienst STR B für den Teil ¬ dienst STB ist damit die beste möglichste Peer-Einrichtung bestimmbar .

Die den Teildienst anfragende Peer-Einrichtung Ai liest dann in einem Leseschritt Rl die CandidateResources CRB der im Peer-to-Peer-Netzwerk vorliegenden Peer-Einrichtungen. Unter Verwendung der Teildienstbeschreibung STB und der Komparator- klassen in der SubtaskResource STR B entscheidet diese anfra- gende Peer-Einrichtung Ai beispielsweise, dass die Peer- Einrichtung B 3 als leistungsfähigste Peer-Einrichtung der Dienstgruppe SG B den Teildienst STB ausführen soll und teilt dies in einer Nachricht Ml dieser mit. Ferner kann die anfra-

gende Peer-Einrichtung Ai oder die dann zur Ausführung des Teildienstes STB bestimmte Peer-Einrichtung B 3 so genannte Watchdog-Peer-Einrichtungen bestimmen, die die Funktion der ausführenden Peer-Einrichtung B 3 überwachen sollen.

In der Figur 2 ist eine ausgebildete Gruppenstruktur schema ¬ tisch dargestellt. Die Dienstgruppe SG B umfasst die bereits in der Figur 1 dargestellten Peer-Einrichtungen Bi-B 5 . Als die den Teildienst STB ausführende Peer-Einrichtung, welche für die Ausführung als Leistungsfähigste klassifiziert wurde, wurde die Peer-Einrichtung B 3 gewählt, welche als koordinie ¬ rende Peer-Einrichtung CB 3 bezeichnet wurde. Die für die Teildienstausführung nächstleistungsfähigsten Peer- Einrichtungen Bi, B 2 , B 5 wurden als Watchdog-Peer- Einrichtungen WBi, WB 2 , WB 5 bezeichnet. Die Watchdog-Peer- Einrichtungen WBi, WB 2 , WB 5 erhalten von der ausführenden oder koordinierenden Peer-Einrichtung cB 3 kontinuierlich Nachrichten M2 und überwachen somit die zuverlässige Funktion des ak ¬ tuellen ausführenden Peers CB 3 . Die überwachungsnachrichten werden auch als Herzschlagnachrichten M2 bezeichnet.

Die entsprechende Gruppenstruktur wird durch Publizieren einer SerivceGroupResource SGR B dokumentiert. Die jeweils koor ¬ dinierende Peer-Einrichtung cB 3 initiiert das verteilte Spei- ehern bzw. Publizieren P3 der ServiceGroupResource SGR B . Die ¬ se enthält z. B. die Identifikationen der für die Service o- der Dienstgruppe SG B bestimmte ausführende Peer-Einrichtung idC 3 und der jeweiligen Watchdog-Peer-Einrichtungen idWBi, idWB 2 . Damit ist in der ServiceGroupResource SGR B die voll- ständige Struktur der den Teildienst STB ausführenden Gruppe abgelegt .

Falls nun der ausführende Peer cB 3 beispielsweise durch einen Defekt ausfällt, erkennt die in der Rangfolge der Leistungs- fähigkeit für die Teildienstausführung zweitbeste Watchdog- Peer-Einrichtung, beispielsweise WBi, dies durch Ausfall der Herzschlagnachricht M2. In diesem Fall übernimmt die Watch- dog-Peer-Einrichtung WBi die Funktion der koordinierenden

Peer-Einrichtung und die Ausführung des Teildienstes STB. Ferner übermittelt die dann als koordinierende Peer- Einrichtung arbeitende Peer-Einrichtung Bi entsprechende Nachrichten an die anderen Watchdog-Peer-Einrichtungen WB 2 , WB 5 und aktualisiert durch Publizieren P4 die ServiceGroupRe- source SGR B . Diese für den Ausfall der aktuellen koordinie ¬ renden bzw. ausführenden Peer-Einrichtung cB 3 notwendigen Maßnahmen sind durch die gestrichelten Pfeile angedeutet.

Durch die Gruppenstruktur mit Watchdog-Peers ist es damit möglich, immer zuverlässig die Ausführung eines Teildienstes zu gewährleisten. Ferner ist die Gruppenstruktur immer aktuell durch die publizierte ServiceGroupResource angegeben.

Eine änderung der Gruppenstruktur kann auch dann notwendig sein, wenn durch Publizieren einer CandidateResource ein neuer Peer zu der Dienstgruppe SG B hinzutritt und dieser eine für die Ausführung des Teildienstes günstigere Leistungsfä ¬ higkeit besitzt. Der jeweils koordinierende Peer cB 3 kann die CandidateResources der der Dienstgruppe zugeordneten Peer- Einrichtungen zeichnen bzw. abonnieren und wird damit über das Vorliegen einer besseren Peer-Einrichtung informiert. Die Bewertung der Peer-Einrichtungen hinsichtlich ihrer Leistungsfähigkeit und anhand der SubtaskResource abgelegten Kom- paratorklassen kann somit auch während des Betriebs, also während der Ausführung des Teildienstes, geschehen.

Eine erfindungsgemäße logische Dienstgruppe führt somit den vorgegebenen Teildienst ausfallsicher durch, und bei der Aus- wähl des jeweils ausführenden Peers sind Parameter wie die benötigten Ressourcen, Dienstgüten oder Nutzeranforderungen leicht zu berücksichtigen.

In Figur 3 ist ausgehend von der Dienstgruppenbildung für auszuführende Teildienste eine Variante des Verfahrens zum Bereitstellen eines zusammengesetzten Dienstes schematisch dargestellt. In dem betrachteten Beispiel wird davon ausge ¬ gangen, dass eine einen zusammengesetzten Dienst anfragende

Peer-Einrichtung Ai mehrere Teildienste, welche sukzessiv durchgeführt werden, benötigt.

Ein Beispiel für einen zusammengesetzten Dienst ist ein Text- Chat, auf den von einem PDA aus zugegriffen wird. Beispiels ¬ weise wird bei einer Autofahrt dann eine Sprachausgabe des Textchats benötigt. Insofern sind miteinander zu verkettende Teildienste die Textchat-Applikation, eine beispielsweise op ¬ tionale automatische übersetzung in eine andere Sprache, und abschließend die Sprachausgabe des übersetzten Textes. In dem betrachteten Beispiel wird mit STA die PDA-Applikation be ¬ zeichnet, mit dem Teildienst STB die Umwandlung von Text in Sprache, mit dem Teildienst STC die übersetzung von einer Ausgangssprache in eine Zielsprache und mit Teildienst STN die Textchat-Applikation.

Eine Initiierung des zusammengesetzten Dienstes in dem Peer- to-Peer-Net zwerk erfolgt zunächst durch Lesen einer Composed- ServiceResource CSR, die die für den zusammengesetzten Dienst notwendigen Teildienste aufführt, weitere Dienstgüteparameter und die Verkettung der Teildienste untereinander bestimmt. Im Folgenden ist beispielsweise eine XML-Darstellung für eine mögliche ComposedServiceResource angegeben:

<compsosedServiceResource>

<deScriptor>advanced textchat</descriptor> <numberθfSubstasks>3</numberθfSubstasks>

<substask> <name>text-to-speech</name>

<comparator>Maximum/CpuComparator</comparator> ; <participation>mandatory</participation>

</subtask> <subtask>

<name>translation</name>

<comparator>MaximumMemoryComparator</comparator

<participation>optional</participation>

</subtask> <subtask>

<name>textchat</name> <comparator>BestConnectionComparator</comparator> ;

<participation>mandatory</participation>

</subtask>

</composedServiceResource>

In der ComposedServiceResource CSR sind die verschiedenen Teildienste als "advanced textchat" STA, "text-to-speech" STB, "translation" STC und "textchat" STN bezeichnet. Ferner sind die Komparatorklassen bzw. Auswahlregeln für die jeweils auszuführenden Peer-Einrichtungen der Dienstgruppen hinsichtlich der CPU-Leistungsfähigkeit (Maximum-CPU-Comparator) , dem Speicherplatz (Maximum-Memory-Comparator) und der Bandbreite (Best Connection-Comparator) angegeben. Darüber hinaus sind die Teildienste in optionale Teildienste, hier der überset ¬ zungsteildienst STC und zwingend auszuführende Teildienste, hier die Text-zu-Sprach-Ausgabe STB und der Textchat selbst STN angegeben.

Die den zusammengesetzten Dienst anfragende Peer-Einrichtung Ai liest diese ComposedServiceResource und publiziert darauf ¬ hin die für den gemäß in der ComposedServiceResource angege ¬ benen Abfolge von Teildiensten zuvor auszuführenden Teildienst notwendige SubtaskResource STR B . Wie bereits hinsicht- lieh der Figuren 1 und 2 ausgeführt wurde, koordiniert die anfragende Peer-Einrichtung Ai zunächst die Gruppenbildung SG B , wodurch die Peer-Einrichtung B 3 als koordinierende bzw. als ausführende Peer-Einrichtung cB 3 bestimmt wird und die beiden Peer-Einrichtungen Bi, B 2 als Watchdog-Peer- Einrichtungen WBi, WB 2 eingesetzt werden.

In der publizierten SubtaskResource STR B sind beispielsweise alle Teildienste STN, STC, STB, STA des zusammengesetzten

Dienstes sowie die Komparatorklassen enthalten. Ferner ist jeweils der Identifikator der bereits publizierten Servi- ceGroupResourcen, in dem hier vorliegenden Fall die Servi- ceGroupResource der Peer-Einrichtung Ai, abgelegt. Die den Teildienst STB ausführende Peer-Einrichtung cB 3 veröffent ¬ licht nach erfolgreicher Gruppenkoordinierung ihre entsprechenden ServiceGroupResource SGR B ihrer Gruppenstruktur.

Da der koordinierenden Peer-Einrichtung cB 3 aus der Sub- taskResource STR B der in der Abfolge der Teildienste zuvor auszuführende Teildienste bekannt ist, übernimmt die Peer- Einrichtung cB 3 die initiale Koordinierung für die Dienstgruppe SG 0 . Sie veröffentlicht somit eine entsprechende Sub- taskResource STR 0 in Schritt P4 und bestimmt anhand der in der SubtaskResource STR 0 angegebenen Komparatorklassen bzw. Vergleichskriterien die Peer-Einrichtung Ci für die bestmögliche Ausführung des Teildienstes STC. Die aus der Dienst ¬ gruppe SGC beste Peer-Einrichtung Cl wird als ausführende Peer-Einrichtung cCi bezeichnet. Ferner wird wiederum eine oder mehrere Watchdog-Peer-Einrichtungen WC2 bestimmt, und die koordinierende Peer-Einrichtung c Ci liest die SubtaskRe ¬ source STRc in Schritt R3 und veröffentlicht anschließend die Gruppenstruktur in Schritt P5 als die der Dienstgruppe SGC zugewiesene ServiceGroupResource SGR 0 .

Anschließend publiziert die ausführende Peer-Einrichtung cCi der Service- oder Dienstgruppe SG 0 die SubtaskResource STR N für den zuvor auszuführenden Teildienst STN in Schritt P4. Die SubtaskResource STR N für die Ausführung und Bildung der durch den Teildienst STN bestimmten Dienstgruppe SG N enthält nun die Identifikationen aller ServiceGroupResourcen SGR B und SGRc, sowie die entsprechenden Parameter für die Strukturie ¬ rung der Dienstgruppe SG N .

Wiederum übernimmt die ausführende Peer-Einrichtung der Fol ¬ gegruppe, also die Peer-Einrichtung cCi, die anfängliche Ko ¬ ordinierung der Gruppe SG N . Diese bestimmt die Peer- Einrichtung N 4 als ausführende Peer-Einrichtung und die Peer-

Einrichtungen Ni, N 2 als Watchdog-Peers WNi, WN 2 . Die ausfüh ¬ rende Peer-Einrichtung cN 4 liest in Schritt R4 die SubtaskRe- source STR N aus und publiziert nach der Entscheidung über die Watchdog-Peers in Schritt P7 eine entsprechende Servi- ceGroupResource SGR N .

Die nunmehr zuletzt gebildete Dienstgruppe SG N bzw. deren ko ¬ ordinierende und den Teildienst STN ausführende Peer- Einrichtung cN 4 erkennt, dass alle für den zusammengesetzten Dienst notwendigen Teildienste bzw. die ausführenden Peer- Einrichtungen CB 3 , cCi und CN 4 bestimmt wurden. Die Verkettung der Teildienste miteinander bzw. die Verkettung der die Teildienste ausführenden Peer-Einrichtungen ist durch die gestrichelte Linie dargestellt.

Ein besonderer Vorteil dieses erfindungsgemäßen Verfahrens zum Aufbau des verketteten zusammengesetzten Dienstes aus Teildiensten STA, STB, STC, STN besteht darin, dass die initiale Koordinatorfunktionalität für die Dienstegruppenbildung auf mehrere Peer-Einrichtungen verteilt wird. Die anfragende Peer-Einrichtung Ai übernimmt die initiale Koordination für die letzte Dienstgruppe SG B . Die dann ausführende Peer- Einrichtung cB 3 der letzten Dienstgruppe übernimmt die initi ¬ ale Koordination der jeweiligen Vorgängergruppe SG C usw. Es ist dabei unproblematisch, dass, wenn der jeweilige Koordina ¬ tor, der ausführende Peer der Folgegruppe, ausfällt. Durch die redundant vorgehaltenen Watchdog-Peers wird dennoch die weitere Funktionsfähigkeit bzw. die Ausführung des Teildiens ¬ tes gewährleistet.

Sobald der zuletzt ausgewählte ausführende Peer CN 4 , welcher den in der Abfolge zuerst auszuführenden Teildienst STN aus ¬ führt, bestimmt wurde, sendet dieser eine Initialisierungs ¬ nachricht INIT an den den zusammengesetzten Dienst anfragen- den Peer Ai.

Dies ist in der Figur 4 dargestellt. Der den zusammengesetzten Dienst anfragende Peer Ai empfängt die Initialisierungs-

nachricht INIT von dem Peer cN 4 . Daraufhin wird eine Ring- Nachricht RNl, RN2, RN3, RN4 versendet. Ein erster Bestand ¬ teil der Ring-Nachricht RNl wird von der den zusammengesetzten Dienst anfragenden Peer-Einrichtung Ai an die Peer- Einrichtung cN 4 gesendet, welche den ersten Teildienst STN in der durch die ComposedServiceResource festgelegten Reihenfol ¬ ge auszuführen hat. Diese Peer-Einrichtung cN 4 sendet einen zweiten Teil der Ring-Nachricht RN2 an den koordinierenden bzw. ausführenden Peer cCi, welche den auf den Teildienst STN folgenden Teildienst STC durchführt. Einen weiteren Teil der Ring-Nachricht RN 3 sendet die Peer-Einrichtung cCi an die Peer-Einrichtung CB 3 , welche den Teildienst STB durchführt. Schließlich erhält die Peer-Einrichtung Ai den letzten Teil der Ring-Nachricht RN4 von der Peer-Einrichtung CB 3 . Die Ring-Nachricht durchläuft daher im Kreis ausgehend von der anfragenden Peer-Einrichtung Ai in der Reihenfolge der Abfolge der auszuführenden Teildienste die jeweiligen ausführenden Peer-Einrichtungen CN 4 , cCi, CB 3 und an die anfragende Peer- Einrichtung Ai zurück.

Jede Peer-Einrichtung liest dabei die Adresse der jeweiligen ausführenden Peer-Einrichtung des folgenden Teildienstes aus der entsprechenden ServiceGroupResource . Beispielsweise liest die Peer-Einrichtung cCi die ServiceGroupResource SGR B für die Dienstgruppe SG B . Vorzugsweise hat die Peer-Einrichtung cCi dabei die ServiceGroupResource SGR B gezeichnet, sodass sie ständig über änderungen informiert wird. Somit wird auch berücksichtigt, dass, falls ein ausführender Peer in einer der Dienstgruppen SG N , SG 0 , SG B ausfällt, ein neu ausführender Peer mit einer neuen Adresse vorliegt. Die Teile der Ring ¬ nachricht RNl, RN2, RN3, RN4 starten die Instantiierung des zusammengesetzten Dienstes.

Zur überwachung der Ausführung des zusammengesetzten Dienstes wird die Ring-Nachricht RNl, RN2, RN3, RN 4 regelmäßig ent ¬ lang der ausführenden Peer-Einrichtungen versendet. Falls eine Verbindung zwischen Peers unterschiedlicher Dienstgruppen unterbrochen wird oder auch eine gesamte Dienstgruppe ausge-

fallen ist, wird dies erkannt. Die anfragende Peer- Einrichtung Ai publiziert dabei eine ComposedServiceStateRe- source, in der der Betriebszustand und beispielsweise Zwi ¬ schenergebnisse abgelegt sind.

Falls ein Teildienst vollständig ausfällt, d. h. alle der Gruppe zugehörigen Peer-Einrichtungen ausfallen, kann der zusammengesetzte Dienst in der Regel nicht aufrechterhalten werden und muss abgebrochen werden. Dies wird dann in der ComposedServiceStateResource durch die anfragende Peer- Einrichtung Ai dokumentiert. Es ist allerdings möglich, dass bestimmte Teildienste als optional gekennzeichnet oder mar ¬ kiert werden. Dies ist in der oben dargestellten beispielhaften XML-Form einer ComposedServiceResource für den überset- zungsdienst STC der Fall.

In der Figur 5 ist schematisch eine entsprechende Ausfallsi ¬ tuation dargestellt. Es liegen keine Peer-Einrichtungen mehr im Peer-to-Peer-Netzwerk vor, die den übersetzungsteildienst STC ausführen können. Somit weist die Dienstgruppe SG C keine Mitglieder mehr auf. Bei der Versendung der Ring-Nachricht entfallen somit die Teilnachrichten RN2 und RN3. Da die Peer- Einrichtung cN 4 die ServiceGroupResource SGRC gezeichnet hat, erkennt die Peer-Einrichtung CN 4 , dass die Gruppe ausfällt, da z . B. über ein Verfallintervall keine Aktualisierung mehr erfolgte. Ferner hat die Peer-Einrichtung cN 4 mittels ihrer SubtaskResource STR N Kenntnisse über die Optionalität des Teildienstes STC.

Da in der SubtaskResource STR N ferner die Identifikation der übrigen ServiceGroupResourcen, insbesondere der ServiceGroupResource SGR B für die Dienstgruppe SGD vorhanden sind, kann die Peer-Einrichtung cN 4 eine veränderte Ring-Nachricht RN5 direkt an die Peer-Einrichtung cB 3 senden, sodass ein ru- dimentärer zusammengesetzter Dienst ohne die automatische ü- bersetzung weiterhin möglich ist. Der optionale Charakter des Teildienstes STC wird während der schrittweisen Gruppeniniti- ierung durch die SubtaskResourcen STR B , STR 0 , STR N weiterge-

reicht. ähnlich kann bereits bei der Initiierungsphase vorge ¬ gangen werden, wenn ein koordinierender Peer feststellt, dass keine publizierten CandidateResourcen vorliegen, die dem angefragten Teildienst entsprechen.

Falls eine letzte Peer-Einrichtung einer Gruppe ausfällt, wird die entsprechende ServiceGroupResource nicht weiter ak ¬ tualisiert. Daher bietet sich der Einsatz von Verfallsintervallen an, nach denen eine ServiceGroupResource nicht mehr berücksichtig wird und der Ausfall eines gesamten Teildiens ¬ tes diagnostiziert wird.

Falls eine Dienstgruppe vollständig ausfällt, ist die Abar ¬ beitung bzw. die Ausführung des Teildienstes meist nicht be- endet. Falls eine Peer-Einrichtung der entsprechenden Dienstgruppe erneut verfügbar ist, also online geht, versucht diese Peer-Einrichtung, aufgrund der Zustands-Resource, z. B. der ComposedServiceStateResource CSSR, die Abarbeitung wiederauf ¬ zunehmen. Daher wird die ComposedServiceStateResource über- prüft und es wird festgestellt, ob der zusammengesetzte

Dienst insgesamt noch abläuft. Falls dies der Fall ist, er ¬ kennt die hinzutretende Peer-Einrichtung, dass es sich bei seiner Dienstgruppe um einen optionalen Teildienst handelt. Ansonsten hätte der zusammengesetzte Dienst beendet werden müssen. Ist die Ausführung des zusammengesetzten Dienstes jedoch eingestellt worden, publiziert die neu hinzutretende Peer-Einrichtung ihren Abarbeitungszustand des Teildienstes beispielsweise durch überschreiben der ServiceGroupResource auf beendet. Ansonsten nimmt er die Ausführung des zugewiese- nen Teildienstes wieder auf. Dann ist er als einziger Peer der Dienstgruppe der Koordinator und aktualisiert die Servi ¬ ceGroupResource regelmäßig. Dadurch wird der ausführende Peer der Vorgängergruppe, welcher die ServiceGroupResource zeich ¬ net, über die Wiederaufnahme des optionalen Teildienstes in- formiert. Daraufhin ist eine Aktualisierung der Verbindung möglich und ein erneutes Einfügen des Teildienstes, bei ¬ spielsweise des Dienstes STC möglich. Somit ergibt sich dann

auch wieder eine geschlossene Kette durch die Ring- Nachrichten RN2 und RN3.

In Figur 6 sind Beispiele der parallelen Nutzung von Peer- Einrichtungen als ausführende Peer-Einrichtungen und die

Teilnahme bzw. Ausführung von Teildiensten an mehreren zusammengesetzten Diensten illustriert.

Es sind mehrere Dienstgruppen SG A -SG G dargestellt, die je- weils Peer-Einrichtungen umfassen, die prinzipiell in der Lage sind, einen oder mehrere Teildienste aus den Teildiensten STA-STG auszuführen. Die jeweiligen koordinierenden Peer- Einrichtungen bzw. den jeweiligen Teildienst ausführenden Peer-Einrichtungen cA-cG, cCi, CC2 sind durch einen geschlos- senen Kreis dargestellt.

Ferner sind drei Dienstverkettungen, also Abfolgen von nacheinander durchzuführenden Teildiensten, durch eine durchgezogene Linie, eine gestrichelte Linie und eine gestrichpunktete Linie angedeutet. Ein erster zusammengesetzter Dienst wird beispielsweise durch die von den Peer-Einrichtungen cA, cCi und cD ausgeführten Teildiensten STA, STC und STD bereitgestellt. Eine zweite Verkettung betrifft die Teildienste STB, STC und STE, wobei die Peer-Einrichtungen cB, CC2 und cE die jeweiligen Teildienste ausführen. Als dritter zusammengesetzter Dienst ist eine Verknüpfung der Teildienste STF, STB und STG angegeben, wobei die Peer-Einrichtungen cF, cB und cG die jeweiligen Teildienste ausführen. Dabei nimmt z. B. die Peer- Einrichtung cB an zwei verschiedenen zusammengesetzten Diens- ten teil. Dies ist beispielsweise möglich, wenn die Teil ¬ dienstausführung für den zusammengesetzten Dienst, welcher aus einer Verkettung der Dienste STB, STC und STE besteht, nicht zeitgleich mit der Teildienstausführung des Teildienstes STB für die Verkettung von STF, STB und STG erfolgen muss.

Es ist auch wie hinsichtlich der Dienstgruppe SGC dargestellt ist, möglich, dass in einer Dienstgruppe zwei ausführende

Peer-Einrichtungen cCi und CC 2 vorliegen, die parallel den Teildienst STC ausführen.

Die Erfindung schafft somit eine absolut dezentrale und aus- fallsichere Lösung für die Bereitstellung von zusammengesetzten Diensten aus Teildiensten in einem Peer-to-Peer-Netzwerk . Vorteilhaft werden bei der Zusammenstellung und Bereitstel ¬ lung des zusammengesetzten Dienstes nicht alle möglichen Verkettungspfade unter allen Peer-Einrichtungen des Netzwerkes hinsichtlich ihrer Dienst- und Benutzeranforderungen verglichen, sondern nur noch diejenigen Peers, die einen vorgegebenen Teildienst ausführen können. Damit reduziert sich die Komplexität der Initiierung des zusammengesetzten Dienstes von einer mindestens exponentiellen Laufzeit eines NP voll- ständigen Pfadfindungsproblems nur noch auf ein Auswahlprob ¬ lem innerhalb der jeweiligen Dienstgruppen. Eine Initiierung des zusammengesetzten Dienstes erfolgt dabei verteilt und praktisch ausfallsicher.

Während der Ausführung des zusammengesetzten Dienstes wird jeder Teildienst zu jeder Zeit von einem bestmöglichen Peer ausgeführt. Dabei können die Anforderungen auch an eine Teil ¬ dienstausführung flexibel für unterschiedliche zusammenge ¬ setzte Dienste veränderliche Nutzeranforderungen und Kontexte bestimmt werden. Somit kann bei Bildung einer entsprechenden SubtaskResource eine dynamische Auswahl der jeweils ausfüh ¬ renden Peer-Einrichtung ausgewählt werden und die jeweilige Rechenlast auf die Peer-Einrichtungen mit den besten Leistungsprofilen für den jeweiligen Teildienst erteilt werden. Bei der Ausführung des zusammengesetzten Dienstes wird jeder Teildienst ausfallsicher ausgeführt, wobei bei einem Ausfall einer ausführenden Peer-Einrichtung mit minimalem Zeitaufwand der jeweilige Abarbeitungszustand des Teildienstes an einen zuvor bestimmten Peer übergeht, der als Watchdog-Peer be- zeichnet wurde.

Ferner sind die zusammengesetzten Dienste durch die Angabe der optionalen Teildienste flexibel zusammenstellbar, wobei

eine Initiierung des zusammengesetzten Dienstes auch immer dann erfolgreich durchzuführen ist, wenn einzelne optionale Dienste nicht verfügbar sind. Auch beim Ausfallen kompletter optionaler Teildienste kann der zusammengesetzte Dienst noch immer rudimentär durchgeführt und bereitgestellt werden.

Falls nach dem Ausfall einer vollständigen Gruppe von Peer- Einrichtungen erneut eine Peer-Einrichtung zur Ausführung des jeweiligen Teildienstes bereitsteht, kann die Abarbeitung des optionalen Teildienstes ohne erneute Initiierung des gesamten zusammengesetzten Dienstes erfolgen.

Obwohl die vorliegende Erfindung anhand bevorzugter Ausführungsbeispiele näher erläutert wurde, ist sie nicht darauf beschränkt, sondern vielfältig modifizierbar. Es können z. B. weitere Dienstverkettungen abweichend von dem Textchat von einem PDA aus erfolgen. Die angegebenen Ressourcen können weitere, den Anforderungen eines zusammengesetzten Dienstes entsprechende Informationen aufweisen. Prinzipiell lässt sich das erfindungsgemäße Verfahren in beliebig ausgestalteten Peer-to-Peer-Netzwerken ausführen. Ein Internet-basiertes

Peer-to-Peer-Netzwerk ist lediglich beispielhaft angegeben.