DE102005033231A1 - Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems - Google Patents

Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems Download PDF

Info

Publication number
DE102005033231A1
DE102005033231A1 DE102005033231A DE102005033231A DE102005033231A1 DE 102005033231 A1 DE102005033231 A1 DE 102005033231A1 DE 102005033231 A DE102005033231 A DE 102005033231A DE 102005033231 A DE102005033231 A DE 102005033231A DE 102005033231 A1 DE102005033231 A1 DE 102005033231A1
Authority
DE
Germany
Prior art keywords
services
technical system
service
functional
compatible
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102005033231A
Other languages
English (en)
Inventor
Gerald Dr. Käfer
Reiner Dr. Schmid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102005033231A priority Critical patent/DE102005033231A1/de
Publication of DE102005033231A1 publication Critical patent/DE102005033231A1/de
Priority to US11/922,210 priority patent/US20090132688A1/en
Priority to PCT/EP2006/063923 priority patent/WO2007009884A2/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems, bei dem: DOLLAR A a) für eine Interaktionsaufgabe zwischen einem oder mehreren neuen Anfangsdiensten (A1, A2) und einem oder mehreren im technischen System (1) bereits vorhandenen Enddiensten (E1, ..., E7) eine funktionale Aufgabenbeschreibung in einer funktionalen Beschreibungssprache eingegeben und/oder erzeugt wird; DOLLAR A b) anhand der funktionalen Aufgabenbeschreibung Kombinationen aus Anfangs- und Enddienst ermittelt werden, welche die Interaktionsaufgabe lösen; DOLLAR A c) für wenigstens einen Teil der Anfangsdienste (A1, A2) der Kombinationen eine Suche nach kompatiblen Diensten durchgeführt wird, bei welcher der Anfangsdienst (A1, A2) nach zu ihm kompatiblen Diensten sucht und die kompatiblen Dienste wiederum nach zu ihnen kompatiblen Diensten suchen, wodurch Pfade von aufeinanderfolgenden kompatiblen Diensten erzeugt werden, wobei ein Pfad als Lösungspfad der Interaktionsaufgabe bestimmt wird, wenn der Anfangsdienst (A1, A2) des Pfades und der gefundene kompatible Enddienst (E1, ..., E7) einer in Schritt b) aufgefundenen Kombination aus Anfangs- und Enddienst entspricht; DOLLAR A d) einer der Lösungspfade ausgewählt wird und die Interaktionsaufgabe entlang des ausgewählten Lösungspfads durchgeführt wird.

Description

  • Die Erfindung betrifft ein Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems, welches eine Vielzahl von Diensten mit jeweils einer oder mehreren Schnittstellen umfasst, wobei zwei Dienste in dem technischen System dann kompatibel sind, wenn eine direkte Interaktion des einen Dienstes mit dem anderen Dienst über kompatible Schnittstellen der Dienste durchführbar ist.
  • Heutzutage werden viele technische Lösungen, z. B. im Bereich der Heim- und/oder Gebäude-Automation, nicht durch ein einzelnes technisches Gerät, sondern durch eine Vielzahl von unterschiedlichen technischen Geräten gelöst, welche sehr genau spezifizierte Aufgaben erfüllen. Die Geräte stellen hierbei einen oder mehrere sogenannte Dienste bereit, welche bestimmte technische Aufgaben ausführen können. Unter Dienst wird deshalb hier und im folgenden eine Einheit eines technischen Geräts verstanden, welches für die Durchführung einer bestimmten technischen Aufgabe vorgesehen ist.
  • Zur Überwachung und Steuerung von technischen Systemen mit einer Vielzahl von Diensten bzw. zur Nutzung der Funktionen dieser Systeme ist es oft notwendig, dass sich ein externes technisches Gerät mit dem vorhandenen technischen System verbindet. Bei einer derartigen Verbindung müssen insbesondere die Verfügbarkeiten der einzelnen Ressourcen der Geräte im technischen System berücksichtigt werden. Solche Ressourcen sind beispielsweise durch das System vorgegebene Bandbreiten zur Datenübertragung oder die Rechen- bzw. Speicherkapazität von Informationen im System.
  • Aus dem Stand der Technik sind sogenannte Discovery-Techniken bekannt, mit denen ein neues, in einem technischen System zu integrierendes Gerät automatisiert die einzelnen Dienste des technischen Systems auffindet, beispielsweise über UPnP (= Universal Plug and Play) oder über Bluetooth. Hierbei werden zwar Informationen über die im System vorhandenen Geräte bereit gestellt, jedoch kann anhand dieser Informationen nicht ermittelt werden, wie eine ressourceneffiziente Nutzung der einzelnen Geräte möglich ist.
  • Aus dem Stand der Technik sind ferner funktionale Beschreibungssprachen bekannt, mit denen die Funktionalitäten einzelner Dienste in einem Netz von Diensten beschrieben werden und gemäß den Funktionalitäten geeignete funktionale Pfade zwischen den Diensten festgelegt werden. Bei den bekannten funktionalen Beschreibungssprachen sind die verwendeten Dienste jedoch vorab festgelegt und es können keine Dienste dynamisch eingebunden werden.
  • Aufgabe der Erfindung ist es deshalb, ein Verfahren und entsprechende Vorrichtungen zu schaffen, mit denen neue Dienste in einem technischen System dynamisch integriert werden können.
  • Diese Aufgabe wird durch die unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen definiert.
  • In dem erfindungsgemäßen Verfahren wird eine funktionale Beschreibungssprache verwendet, wobei ggf. eine bereits aus dem Stand der Technik bekannte Beschreibungssprache eingesetzt werden kann. Mit Hilfe der Beschreibungssprache, welche eine Vielzahl von Funktionselementen umfasst, werden die vorhandenen und im System zu integrierenden Dienste und mögliche Interaktionen zwischen den Diensten durch ein oder mehrere Funktionselemente beschrieben. Das Funktionselement gibt hierbei eine Funktionalität des entsprechenden Dienstes oder der Interaktion wieder. Es können hierbei einem Dienst auch mehrere Funktionselemente zugeordnet sein, sofern der Dienst mehrere Funktionen übernehmen kann. Ebenso können einer Interaktion mehrere Funktionselemente zugeordnet sein, sofern sich mit der Interaktion verschiedene Funktionen bewerkstelligen lassen.
  • Mit dem erfindungsgemäßen Verfahren werden folgende Schritte durchgeführt:
  • Schritt a):
  • Für eine in dem technischen System durchzuführende Interaktionsaufgabe zwischen einem oder mehreren neuen, im technischen System zu integrierenden Anfangsdiensten und einem oder mehreren Enddiensten des technischen Systems wird eine funktionale Aufgabenbeschreibung in der funktionalen Beschreibungssprache direkt eingegeben oder über eine Schnittstelle, welche beispielsweise mit einem Benutzer kommuniziert, erzeugt. Durch die funktionale Aufgabenbeschreibung werden den Anfangs- und Enddiensten und deren Interaktionen entsprechende Funktionselemente vorgegeben. Die Begriffe Anfangs- bzw. Enddienst sind allgemein zu verstehen und können für jeden beliebigen, zu integrierenden bzw. bereits vorhandenen technischen Dienst im technischen System stehen. Durch die Wortwahl "Anfang" bzw. "Ende" soll lediglich zum Ausdruck gebracht werden, dass im erfindungsgemäßen Verfahren nach einer Anfang-zu-Ende-Beziehung zwischen zwei technischen Diensten gesucht wird.
  • Schritt b):
  • Anhand der funktionalen Aufgabenbeschreibung und der den Diensten und Interaktionen zugeordneten Funktionselemente werden Kombinationen aus Anfangs- und Enddienst ermittelt, welche die in dem technischen System durchzuführende Interaktionsaufgabe lösen.
  • Schritt c):
  • Falls in Schritt b) Kombinationen aus Anfangs- und Enddienst gefunden wurden, wird für wenigstens einen Teil der Anfangs dienste der Kombinationen eine Suche nach kompatiblen Diensten durchgeführt, bei welcher der Anfangsdienst nach zu ihm kompatiblen Diensten sucht und die kompatiblen Dienste wiederum nach zu ihnen kompatiblen Diensten suchen, wodurch Pfade von aufeinanderfolgenden kompatiblen Diensten erzeugt werden, wobei ein Pfad als Lösungspfad der Interaktionsaufgabe bestimmt wird, wenn der Anfangsdienst des Pfades und der gefundene kompatible Enddienst einer in Schritt b) aufgefundenen Kombination aus Anfangs- und Enddienst entspricht. Auf diese Weise werden eine Vielzahl von möglichen Lösungspfaden für die gestellte Aufgabe erzeugt.
  • Schritt d):
  • Falls im Schritt c) Lösungspfade gefunden wurden, wird einer der Lösungspfade ausgewählt und die Interaktionsaufgabe entlang des ausgewählten Lösungspfades durchgeführt.
  • Durch das erfindungsgemäße Verfahren wird somit nicht nur eine Lösung des Problems durch direkte Interaktion zwischen zwei Diensten gefunden, sondern es werden auch Lösungen ermittelt, die das Problem durch Zwischenschaltung von mehreren Diensten lösen. Es kann dann nach vorbestimmten Kriterien, insbesondere nach der Verfügbarkeit der Ressourcen der einzelnen Dienste, ein geeigneter Lösungspfad für das Problem verwendet werden.
  • In einer Variante des erfindungsgemäßen Verfahrens wird vor der Durchführung des Schritts c) in einem Zwischenschritt überprüft, ob die im Schritt b) ermittelten Kombinationen aus Anfangs- und Enddienst miteinander kompatible Dienste umfassen. Sollte dies der Fall sein, werden diese Kombinationen von miteinander kompatiblen Diensten vorab jeweils als ein Lösungspfad definiert, der bei der späteren Auswahl von geeigneten Lösungspfaden berücksichtigt werden kann. Ggf. kann sofort die Auswahl gemäß Schritt d) durchgeführt werden, ohne dass noch nach weiteren möglichen Lösungspfaden gesucht wird.
  • In einer besonders bevorzugten Variante des erfindungsgemäßen Verfahrens ermitteln die neuen, im technischen System zu integrierenden Anfangsdienste mit Hilfe eines Suchverfahrens die bereits im technischen System vorhandenen Dienste. Es werden hierbei aus dem Stand der Technik bekannte Suchverfahren, wie z. B. UPnP oder Bluetooth, verwendet.
  • Vorzugsweise sind die im technischen System vorhandenen Dienste und die diesen Diensten zugeordneten Funktionselemente in einem Speicher hinterlegt, und die Suche gemäß Schritt c) wird in dem Speicher durchgeführt. Hierdurch kann die Suche nach Lösungspfaden beschleunigt werden, da nicht mehr das gesamte technische System nach vorhandenen Diensten durchsucht werden muss.
  • In einer weiteren Variante des erfindungsgemäßen Verfahrens wird die Suche nach Lösungspfaden in Schritt c) so lange durchgeführt, bis eine vorbestimmte Anzahl von Lösungspfaden gefunden wurde oder bis wenigstens ein Abbruchkriterium erfüllt ist. Hierdurch wird die Komplexität der Suche auf ein vorbestimmtes Maß begrenzt. Das Abbruchkriterium ist hierbei vorzugsweise ein Timeout, d. h. ein vorbestimmtes maximales Zeitintervall, das für die Suche festgelegt ist. Das Timeout kann vorzugsweise dynamisch verändert werden.
  • Zur Durchführung der in Schritt c) definierten Suche werden in einer Variante des erfindungsgemäßen Verfahrens Nachrichten zwischen den Diensten versendet, welche den Anfangsdienst des Pfades und ein oder mehrere gemäß der funktionalen Aufgabenbeschreibung vorgegebene Funktionselemente des Enddienstes enthalten. Vorzugsweise wird hierbei einer Nachricht die Identität des Dienstes, der die Nachricht erhält, hinzugefügt, sofern diesem Dienst nicht ein gemäß der funktionalen Aufgabenbeschreibung vorgegebenes Funktionselement zugeordnet ist. Die so erzeugte Nachricht wird anschließend wiederum an kompatible Dienste weitergeleitet. Sollte jedoch dem Dienst, der die Nachricht erhält, ein gemäß der funktionalen Aufgabenbe schreibung vorgegebenes Funktionselement zugeordnet sein, meldet dieser Dienst seine Identität an den Anfangsdienst zurück. Hierdurch werden die möglichen Lösungspfade dem Anfangsdienst bekannt gemacht.
  • In einer besonders bevorzugten Variante des erfindungsgemäßen Verfahrens werden bei der Suche in Schritt c) und/oder bei der Auswahl in Schritt d) vorgegebene Beschränkungen, insbesondere hinsichtlich der physikalischen Ressourcen der Dienste, berücksichtigt. Die Beschränkungen können hierbei globale, im gesamten technischen System gültige Beschränkungen umfassen, welche insbesondere erwünschte Eigenschaften der in dem technischen System durchzuführenden Interaktionsaufgabe beschreiben. Die Beschränkungen können jedoch auch lokale, nur in einer Gruppe von Diensten gültige Beschränkungen umfassen, welche insbesondere die Verfügbarkeit der physikalischen Ressourcen in der Gruppe von Diensten betreffen. Durch die Berücksichtigung derartiger Beschränkungen können die Lösungspfade dynamisch unter Berücksichtigung des momentanen Zustands des technischen Systems aufgefunden werden. Auf diese Weise wird automatisiert die Einbindung eines neuen Gerätes in Abhängigkeit von den verfügbaren Ressourcen des technischen Systems ermöglicht.
  • Das erfindungsgemäße Verfahren wird vorzugsweise in einem technischen System durchgeführt, das ein Netzwerk aus einer Vielzahl von technischen Geräten umfasst, wobei in jedem Gerät ein oder mehrere Dienste des technischen Systems beinhaltet sind. Insbesondere sind hierbei die im technischen System zu integrierenden Anfangsdienste in einem einzelnen, in dem technischen System zu integrierenden Gerät, insbesondere in einem mobilen Gerät, wie z. B. einem Mobilfunkgerät, einem Laptop oder einem PDA, beinhaltet. Das Netzwerk kann beispielsweise ein Heim- und/oder Gebäude-Automations-System umfassen, welches Benutzern ermöglicht, sich von außen in das System einzuloggen und Vorgänge in dem System, wie z. B. die Steuerung der Heizungsanlage oder die Steuerung von Geräten der Unterhaltungselektronik, vorzunehmen.
  • Neben dem soeben beschriebenen Verfahren betrifft die Erfindung ferner ein technisches System umfassend eine Vielzahl von Diensten, wobei das technische System derart ausgestaltet ist, dass in dem technischen System das erfindungsgemäße Verfahren durchführbar ist.
  • Die Erfindung betrifft ferner ein technisches Gerät umfassend einen oder mehrere Dienste zur Durchführung des erfindungsgemäßen Verfahrens, mit:
    • – einem Mittel zur Eingabe und/oder Erzeugung einer funktionalen Aufgabenbeschreibung für eine in dem technischen System durchzuführende Interaktionsaufgabe zwischen im technischen System zu integrierenden Anfangsdiensten des technischen Geräts und einem oder mehreren, im technischen System bereits vorhandenen Enddiensten gemäß Schritt a) des erfindungsgemäßen Verfahrens;
    • – einem Mittel zum Ermitteln von Kombinationen aus Anfangs- und Enddienst, welche die in dem technischen System durchzuführende Interaktionsaufgabe lösen, gemäß Schritt b) des erfindungsgemäßen Verfahrens;
    • – einem Mittel zur Initialisierung der Suche von Lösungspfaden gemäß Schritt c) des erfindungsgemäßen Verfahrens;
    • – einem Mittel zur Auswahl von Lösungspfaden gemäß Schritt d) des erfindungsgemäßen Verfahrens.
  • Das technisches Gerät kann vorzugsweise auch als eine bereits im technischen System integrierte Komponente mit einer Gruppe von Diensten fungieren, wobei das Gerät hierzu Mittel umfasst, um Nachrichten von anderen Geräten zu verarbeiten, die während der Suche nach Lösungspfaden empfangen werden.
  • Die Erfindung betrifft darüber hinaus ein Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespei cherten Programmcode zur Ausführung des erfindungsgemäßen Verfahrens, wenn das Programm auf einem Rechner abläuft.
  • Ausführungsbeispiele der Erfindung werden nachfolgend detailliert anhand der beigefügten Figuren beschrieben.
  • Es zeigen:
  • 1 eine schematische Darstellung des Ablaufs einer Ausführungsform des erfindungsgemäßen Verfahrens;
  • 2 ein Beispiel eines Anwendungsfalls des erfindungsgemäßen Verfahrens in einem Gebäude-Automations-System;
  • 3 den schematischen Aufbau eines technischen Geräts, das gemäß dem erfindungsgemäßen Verfahren in ein technisches System integriert werden kann.
  • In dem in 1 gezeigten technischen System 1 soll ein neues technisches Gerät 2 umfassend die Anfangsdienste A1 und A2 in dem technischen System 1 integriert werden. Das technische System 1 stellt hierbei ein Netzwerk aus einer Vielzahl von Diensten E1, E2, E3, E4, E5, E6 und E7 dar. Das technische Gerät 2 verfügt über einen sogenannten Discovery-Mechanismus, mit dem Informationen über die verfügbaren Dienste im technischen System 1 bereit gestellt werden. Der Discovery-Mechanismus kann beispielsweise ein UPnP-Mechanismus oder ein auf Bluetooth basierender Mechanismus sein. Ein solcher Discovery-Mechanismus ist hinlänglich aus dem Stand der Technik bekannt, so dass auf dessen detaillierte Beschreibung an dieser Stelle verzichtet wird. In der hier beschriebenen Ausführungsform wird zunächst von dem Gerät 2 dieser Discovery-Mechanismus initialisiert, so dass dem technischen Gerät 2 alle in dem System 1 vorhandenen Dienste bekannt werden.
  • Die einzelnen Dienste von sowohl dem Gerät 2 als auch dem System 1 verfügen ferner über Mittel zur Prüfung der Kompatibilität der Schnittstellen zwischen den unterschiedlichen Diensten, beispielsweise in der Form einer Interface-Matcher-Komponente, die ebenfalls hinlänglich aus dem Stand der Technik bekannt ist. Darüber hinaus wird der Funktionsumfang von jedem einzelnen Dienst im Gerät 2 und im System 1 sowie der möglichen Interaktionen des jeweiligen Dienstes mit anderen Diensten in einer funktionalen Beschreibungssprache beschrieben, wobei diese Beschreibungssprache eine Vielzahl von Funktionselementen umfasst, die jeweils die Funktionalität eines Dienstes oder einer Interaktion wiedergeben.
  • Um das neue Gerät 2 in dem technischen System 1 zu integrieren, wird zunächst eine Aufgabe vorgegeben, welche mit Hilfe der Funktionselemente der funktionalen Beschreibungssprache wiedergegeben wird. Die Beschreibungssprache umfasst hierbei sogenannte Functional Nodes, welche jeweils für eine Funktionalität eines Dienstes stehen, sowie Interaktionstoken, welche jeweils für die Funktionalität einer Interaktion stehen. Beispielsweise kann auf dem technischen Gerät 2 ein Video bereit gestellt sein und die Aufgabe kann darin bestehen, dieses Video auf einem Display anzuzeigen. Das technische Gerät 2 umfasst somit den Dienst <VIDEO>, der mit einem Dienst <DISPLAY> über einen Interaktionstoken <link> verbunden werden soll. Die in dem technischen System durchzuführende Aufgabe lautet deshalb:
    <VIDEO> <link> <DISPLAY>
  • Im Regelfall wird der unspezifizierte Interaktionstoken <link> zur eindeutigen Lösung der gestellten Aufgabe noch näher spezifiziert, was durch den Aufgabensteller selbst erfolgen kann. Alternativ kann das technische Gerät 2 mögliche Alternativen zur genaueren Festlegung des Interaktionstokens und ggf. auch der Functional Nodes bereitstellen. In dem soeben genannten Beispiel ergibt sich zur näheren Definition des unspezifizierten Interaktionstokens <link> nur der Interaktionstoken <show>, da der Functional Node <DISPLAY> nur zur Anzeige von Videos verwendet werden kann. Würde der Functional Node <DISPLAY> durch den Functional Node <TERMINAL> ersetzt werden, gäbe es für das Interaktionstoken <link> weitere Möglichkeiten, da ein <TERMINAL> auch die Interaktion der Aufzeichnung des Videos in der Form des Interaktionstokens <record> durchführen kann. Der Aufgabensteller könnte in diesem Fall beispielsweise folgende spezifische Aufgabe formulieren:
    <VIDEO> <link-show> <TERMINAL>
  • Mit dieser Aufgabe wird festgelegt, dass die Anzeige eines Videos auf einem Terminal erwünscht ist.
  • Ein weiteres Beispiel einer funktionalen Beschreibung einer Aufgabe ist eine Videowiedergabe auf einem externen Bluetooth-Terminal. Eine solche Aufgabe könnte wie folgt aussehen:
    <VIDEO-my-video-MPEG> <link-show> <NETWORK-Bluetooth> <TERMINAL-large>
  • Derartige Beschreibungen werden automatisch in dem Gerät 2 generiert, wobei die der Beschreibung zugrunde liegende Aufgabe beispielsweise über eine graphische Benutzeroberfläche von einem Bediener des Geräts 2 eingegeben werden kann. Es ist jedoch auch denkbar, dass derartige Beschreibungen automatisch bei einem Kontakt des Geräts 2 mit dem technischen System 1 erzeugt werden.
  • Auf der Basis der im Gerät 2 hinterlegten funktionalen Aufgabenbeschreibung wird dann in einem ersten Schritt ermittelt, welche Dienste im technischen System 1 die Aufgabe gemäß der funktionalen Aufgabenbeschreibung erfüllen. In dem in 1 gezeigten Szenario erfüllt die Kombination des Anfangsdiens tes A1 mit jedem Dienst E1, E2 und E3 sowie die Kombination des Anfangsdienstes A2 mit jedem Dienst E1, E2 und E3 die vorbestimmte Aufgabe. In einem nächsten Schritt wird ein sogenannter Interface-Kompatibilitäts-Check durchgeführt, bei dem überprüft wird, inwieweit die Schnittstellen der Anfangsdienste A1 bzw. A2 mit den Schnittstellen der Enddienste E1 bzw. E2 bzw. E3 kompatibel sind, wobei Kompatibilität bedeutet, dass eine direkte Interaktion zwischen den Diensten ohne Zwischenschaltung weiterer Dienste über die Schnittstellen der Dienste möglich ist. In dem in 1 gezeigten Fall ergibt sich, dass nur der Dienst A1 mit dem Dienst E1 kompatibel ist. Diese Kompatibilität wird durch die Linie L1 zwischen den Diensten A1 und E1 angedeutet. Gegebenenfalls kann das Verfahren nun beendet werden, da zwei kompatible Dienste gefunden wurden, welche die gestellte Aufgabe lösen, so dass die Aufgabe über diese Dienste durchgeführt werden kann.
  • Wie nachfolgend beschrieben, können jedoch auch noch weitere, sich über mehrere Dienste fortsetzende Pfade zur Lösung der gestellten Aufgabe gesucht werden. Dies wird durch eine sogenannte Resource-Tree-Generation bewerkstelligt, bei der zunächst für jeden Anfangsdienst A1 und A2 nach zu dem Anfangsdienst kompatiblen Diensten gesucht wird. Hierzu wird eine Nachricht in der Form eines Lookup-Requests von dem Anfangsdienst A1 bzw. A2 ausgesendet, wobei die Nachricht die Information über die gemäß der gestellten Aufgabe gesuchten Functional Nodes und diverse Beschränkungen enthält. Diese Beschränkungen können beispielsweise lokale Beschränkungen hinsichtlich der Verfügbarkeit und Funktionalität der Ressourcen der Dienste A1 bzw. A2 sein. Zum Beispiel kann die Beschränkung darin bestehen, dass Daten von einem Anfangsdienst nur in einem bestimmten Format bereit gestellt werden können. Der Lookup-Request enthält ferner eine Liste, in der zunächst nur die Identifikation des Dienstes, der die Nachricht versendet, gespeichert ist. Der kompatible Dienst, der den Lookup-Request empfängt, überprüft, ob ihm ein gemäß der Aufgabenstellung gesuchter Functional Node zugeordnet ist. Ist dies nicht der Fall, fügt er seine eigene Identifikation der Liste im Lookup-Request hinzu und gibt den Lookup-Request an zu ihm kompatible Dienste in seiner Umgebung weiter. Diese Dienste überprüfen dann ebenfalls wieder, ob sie den gemäß der gestellten Aufgabe zu suchenden Functional Node enthalten. Wenn dies wiederum nicht der Fall ist, werden dem Lookup-Request wiederum die Identifikationen der jeweiligen Dienste zugefügt, und der Request wird an weitere, zu dem jeweiligen Dienst kompatible Dienste weitergesendet. Auf diese Weise wird ein sogenannter Resource-Tree mit einer Vielzahl von Pfaden in allen Richtungen erzeugt.
  • Die Suche in einem jeweiligen Pfad wird auf jeden Fall dann beendet, wenn der Dienst, der den Lookup-Request empfängt, den gemäß der gestellten Aufgabe gesuchten Functional Node enthält. Der auf diese Weise erzeugte Suchpfad wird dann als Lösungspfad der gestellten Aufgabe definiert, wobei von dem Dienst, der den gesuchten Functional Node enthält, eine Rückmeldung an den ursprünglichen Anfangsdienst gegeben wird. Eine Suche nach kompatiblen Diensten in einem Pfad wird auch dann beendet, wenn zu einem Dienst keine kompatiblen Dienste gefunden werden können. In diesem Fall gilt die Suche in diesem Pfad als gescheitert. Die Suche nach Lösungspfaden ist ferner zeitlich durch einen Timeout befristet, wobei der Timeout kontextsensitiv ist, d. h. er kann durch externe Signale beeinflusst bzw. gesteuert werden.
  • In 1 ist schematisch durch mit Pfeilen behaftete Quadrate das Versenden der Lookup-Requests an kompatible Dienste angedeutet. Es ergibt sich, dass neben der direkten Verbindung L1 weitere Pfade zur Lösung der gestellten Aufgabe über die Linien L2 und L3 bzw. L2 und L4 sowie über die Linien L5, L6 und L7 existieren. Ferner ist beispielhaft durch die gestrichelte Linie L8 eine Verbindung zwischen dem Anfangsdienst A1 und dem Dienst E4 angedeutet, welche keinen Lösungspfad darstellt, da die beiden Dienste entweder nicht miteinander kompatibel sind oder vorgegebene Beschränkungen, die mit dem Lookup-Request mitgeschickt werden, nicht erfüllt sind. Wie bereits erwähnt wurde, werden diese Beschränkungen bei der Erzeugung der Lösungspfade berücksichtigt, wobei bei der Generierung der Pfade von jedem beteiligten Dienst überprüft wird, ob er die durch die Beschränkungen vorgegebenen Ressourcen-Anforderungen erfüllt. Sind diese Anforderungen nicht erfüllbar, wird dieser Pfad während der Suche unterdrückt, auch wenn die Dienste als zueinander kompatibel eingestuft sind. Es wird auf diese Weise bereits bei der Erzeugung der Lösungspfade eine Vorauswahl von möglichen Lösungspfaden getroffen.
  • Nach der Erzeugung der Lösungspfade wird schließlich eine Auswahl getroffen, welcher der Lösungspfade zur Durchführung der gestellten Aufgabe verwendet werden soll. Hierbei können lokale Beschränkungen und globale Beschränkungen berücksichtigt werden. Bei lokalen Beschränkungen handelt es sich um Beschränkungen, die nur lokal, d. h. für eine vorgegebene Gruppe von Diensten, beispielsweise nur für die Dienste A1 und A2 des technischen Geräts 2, gültig sind. Ein Beispiel einer solchen lokalen Beschränkung ist eine maximale Bandbreite, mit der Daten von einem Dienst übertragen werden können. Demgegenüber gelten globale Beschränkungen in dem gesamten technischen System 1 und dem zu integrierenden Gerät 2. Diese Beschränkungen werden von allen Teilnehmern im technischen System ausgesendet und sollen zur allgemeinen Konfliktlösung dienen. Typische globale Beschränkungen beschreiben insbesondere spezielle erwünschte Eigenschaften der auszuführenden Aufgabe. Solche Beschränkungen können z. B. sein:
    • – die Aufgabe soll so schnell wie möglich ausgeführt werden;
    • – die Aufgabe soll so energiesparend wie möglich ausgeführt werden;
    • – die Aufgabe soll so kostengünstig wie möglich ausgeführt werden;
    • – die Aufgabe soll nur mit vertrauenswürdigen Diensten ausgeführt werden;
    • – die Aufgabe soll nur mit Diensten ausgeführt werden, welche einen bestimmten Sicherheitsstandard aufweisen;
    • – die Aufgabe soll derart ausgeführt werden, dass weiterhin eine hohe Verfügbarkeit der Ressourcen der Dienste bereitgestellt ist.
  • Gegebenenfalls können auch konkurrierende globale und lokale Beschränkungen vorliegen, wobei die lokalen Beschränkungen durch die globalen Beschränkungen überstimmt werden.
  • Die Auswahl der Lösungspfade ist in der hier beschriebenen Ausführungsform des Verfahrens somit mehrstufig. In einem ersten Schritt werden Beschränkungen bereits bei der Suche nach Lösungspfaden berücksichtigt, wobei die Beschränkungen klare Go/No go-Entscheidungen beinhalten, wonach festgelegt wird, in welche Richtung sich Lösungspfade verzweigen können. Nach der Bestimmung der Lösungspfade wird dann einer dieser Pfade wiederum durch Beschränkungen ausgewählt, wobei bei der Auswahl vorzugsweise dynamische Beschränkungen berücksichtigt werden, welche den lokalen Zustand, z. B. den Energievorrat eines Dienstes oder die Auslastung eines Dienstes, einbeziehen. Es werden dann sogenannte Go/Conditional-go-Entscheidungen in den Diensten der Lösungspfade erzeugt, wobei die Go/Conditional-go-Entscheidungen die Fortpflanzung eines Lösungspfads von einem Dienst zum nächsten entweder ohne Beschränkung zulassen oder unter eine Bedingung betreffend den lokalen Zustand des betrachteten Dienstes stellen. Ein Kriterium bei der Auswahl des Lösungspfads kann z. B. sein, dass nur Lösungspfade mit eindeutigen Go-Entscheidungen betrachtet werden und hieraus entsprechend der globalen Beschränkungen ein Lösungspfad ausgewählt wird.
  • Eine Optimierungsmöglichkeit des soeben beschriebenen Verfahrens besteht in der Verwendung eines sogenannten Functionality-Proxy-Dienstes. Diesem Dienst ist die gesamte Funktionali tät der Dienste des technischen Systems bekannt. Der Functionality-Proxy-DienstIn speichert hierzu die Informationen der den Diensten zugeordneten Functional Nodes in einem lokalen Speicher ab. Die Suche nach Lösungspfaden erfolgt dann auf der Basis der Informationen im lokalen Speicher. Es kann somit auf einen Discovery-Mechanismus eines neu zu integrierenden Dienstes verzichtet werden, da dem neuen Dienst die entsprechenden Informationen über den Functionality-Proxy-Dienst bereit gestellt werden. Die soeben beschriebene Optimierungsmöglichkeit kommt insbesondere bei technischen Netzwerken im Haus- und/oder Gebäude-Automations-Bereich in Betracht, da es dort oft quasi-stationäre Zustände von bestimmten Netzwerkpartnern gibt, die sich über sehr lange Zeit hinweg nicht verändern (z. B. die Integration eines Flachbildschirms). Neu hinzukommende Gerätegruppen können somit auf diese stationären Zustände direkt über den Functionality-Proxy-Dienst zugreifen.
  • Nachfolgend wird in Bezug auf 2 ein spezielles Ausführungsbeispiel des erfindungsgemäßen Verfahrens im Bereich der Fernsteuerung von technischen Geräten in der Haus-Automations-Technik beschrieben. Gemäß 2 wird folgendes Szenario betrachtet:
    • – es ist ein Heim-Automations-System 3 mit einer Vielzahl von technischen Geräten vorhanden;
    • – ein in das Heim-Automations-System zu integrierendes Gerät 4, wie z. B. ein PDA (PDA = Personal Digital Assistant), soll dynamisch in das System 3 eingebunden werden.
  • Das Gerät 4 soll das Heizungssystem 5 innerhalb des Heim-Automations-Systems 3 steuern, wie in 2 durch den gestrichelten Pfeil P1 angedeutet ist. Das Heim-Automations-System ist hierbei physikalisch nur über einen Gateway 6 zugänglich, der über einen Automationsbus 7 mit dem Heizungssystem 5 und einem Heizungssteuersystem 8 verbunden ist. Die Aufgabe lässt sich in einer funktionalen Beschreibungssprache wie folgt wiedergeben:
    <PDA> <link> <Heizungssytem>
  • Es wird nun zunächst von dem PDA 4 ein Discovery-Mechanismus initialisiert, um in dem System 3 vorhandene Geräte aufzufinden. Anschließend wird mit Hilfe der funktionalen Beschreibung der Aufgabe nach entsprechenden Lösungen gesucht. Es werden hierbei auch die möglichen Ausprägungen des Interaktionstokens <link> berücksichtigt. Insbesondere werden Verbindungen zur Steuerung der Heizung (Interaktionstoken <Steuere Heizung>) und Verbindungen zur Anzeige der Heizungseinstellungen (Interaktionstoken <Zeige Heizungseinstellungen>) berücksichtigt.
  • In dem beschriebenen Szenario ergibt sich nach Durchführung des erfindungsgemäßen Verfahrens zur Suche nach Lösungspfaden, dass für den PDA 4 das Heizungssystem 5 nicht direkt nutzbar ist, da keine kompatiblen Schnittstellen vorhanden sind. Eine Nutzung kommt nur unter Zwischenschaltung des Heizungssteuersystems 8 in Betracht, welches sowohl mit dem Heizungssystem 5 als auch mit dem PDA 4 kompatibel ist. Hierbei wurden auch dynamisch die Verfügbarkeit der Ressourcen des Heizungssystems 5 und des Heizungssteuersystems 8 berücksichtigt. Der gefundene logische Lösungspfad besteht somit aus den in 2 gezeigten Pfeilen P2 und P3, wobei physikalisch die Verbindung der Geräte immer unter Zwischenschaltung des Gateways 6 erfolgt.
  • Ein weiteres Beispiel zur Anwendung des erfindungsgemäßen Verfahrens ist die Übertragung von Wartungsdaten eines technischen Geräts auf ein video-Darstellungsgerät in der Form eines Videostroms. Initiator dieser Aufgabenstellung ist ein Gerät A, das ein Wartungsdaten-Provider ist. Die Aufgabe lässt sich in einer funktionalen Beschreibungssprache wie folgt formulieren:
    <Wartungsdaten-Provider> <Wartungsdatenanzeige> <Videoterminal>.
  • Das Gerät A ermittelt, vorzugsweise unter Zwischenschaltung des oben beschriebenen Functionality-Proxy-Dienstes, mögliche Lösungspfade. Es ergibt sich, das ein Gerät B die Wartungsdaten darstellen kann, jedoch nicht direkt durch das Gerät A, sondern über die Zwischenschaltung eines Wartungssupportgerätes, das die Daten von Geräten im System visualisieren kann. Bei der Suche nach geeigneten Lösungspfaden wurden insbesondere auch die technischen Ressourcen des Supportgerätes, insbesondere die Bandbreite, das Codierverfahren und die mögliche Bildauflösung des Gerätes berücksichtigt. Ferner wurden lokale Beschränkungen des Gerätes B ebenfalls in die Suche mit einbezogen, insbesondere die minimale Auflösung des Gerätes, die Sichtbarkeit (Einzelnutzer, Raum, Gruppe etc.) und die momentane Verfügbarkeit. Diese Beschränkungen verfeinern somit das Funktionselement <Videoterminal> der funktionalen Beschreibung der Aufgabe.
  • Wie sich aus der vorangegangenen Beschreibung von Ausführungsformen ergibt, weist das erfindungsgemäße Verfahren eine Reihe von Vorteilen auf. Insbesondere ermöglicht es durch die automatisierte, die verfügbaren Ressourcen berücksichtigende Erzeugung von Lösungspfaden die automatische dynamische Anbindung von neuen Geräten, ohne dass eine manuelle Konfiguration durchgeführt werden muss. Der notwendige Konfigurationsaufwand beschränkt sich auf die Auswahl von geeigneten Lösungspfaden. Entscheidend ist hierbei, dass durch die Berücksichtigung von lokalen und globalen Beschränkungen bei der Zusammenarbeit zwischen den Geräten eine ressourceneffiziente Einbindung von neuen Geräten erfolgen kann. Durch das erfindungsgemäße Verfahren kann ein System somit flexibel für neue, nicht vorhergesehene Nutzungsmöglichkeiten eingesetzt werden, da automatisiert nach neuen Kooperationsmöglichkeiten gesucht wird, wenn nicht direkt kompatible Geräte zusammenar beiten sollen. Ferner ist es möglich, dass dynamisch auf sich verändernde Bedingungen im technischen System reagiert wird, beispielsweise auf den Wegfall von aktuell verwendeten Geräten.
  • 3 zeigt schematisiert den Aufbau eines technischen Geräts zur Einbindung in ein technisches System gemäß dem erfindungsgemäßen Verfahren bzw. zur Verwendung als bereits vorhandene Komponente im technischen System. Die in 3 gezeigten Verbindungslinien zwischen den einzelnen Komponenten sind hierbei lediglich schematisiert und beispielhaft, und es können auch noch andere bzw. zusätzliche Verbindungen zwischen den Komponenten vorliegen.
  • Das Gerät umfasst einen Steuerdienst 9 zur Steuerung der dynamischen Erzeugung von Lösungspfaden. In den Steuerdienst 9 können durch den Benutzer Beschränkungen UP (UP = User Policy) eingegeben werden. Ferner können über den Dienst sogenannte Kontext-Informationen CI berücksichtigt werden, welche Beschränkungen im Hinblick auf die Umgebung betreffen, in der das Gerät eingesetzt wird. Darüber hinaus wird die zu lösende Aufgabe in der Form einer funktionalen Aufgabenbeschreibung FTD (FTD = Functional Task Description) einem entsprechenden Interpreter 10 zugeführt.
  • Die Ermittlung von Kombinationen aus Anfangs- und Enddienst, welche die gestellte Aufgabe lösen, sowie die Suche nach geeigneten Lösungspfaden wird in dem Gerät in dem Resource-Tree-Generator 11 durchgeführt, der die Suchanfrage nach kompatiblen Diensten stellt, wobei die Suchanfrage die geforderten Functional Nodes entsprechend der Aufgabenstellung enthält. Der Generator 11 ist ferner wiederum mit einem Discovery-Dienst 12 verbunden ist, über den zunächst herausgefunden wird, welche Geräte in dem technischen System vorhanden sind, in das sich das neue Gerät einbinden möchte. Der Discovery-Dienst 12 steht hierbei mit einer entsprechenden Netzwerkschnittstelle 13 in Verbindung, über welche die Informationen zwischen dem neuen Gerät und den Geräten in dem technischen System übertragen werden.
  • Das Gerät der 3 verfügt ferner über einen Cache 14, in dem die von dem Resource-Tree-Generator 11 ermittelten Lösungspfade gespeichert werden. Die Auswahl des Lösungspfades erfolgt dann über die Auswahleinheit 15, welche lokale, in einem Speicher 16 gespeicherte Beschränkungen und globale, in einem Speicher 17 gespeicherte Beschränkungen sowie ggf. auch vorhandene Kontext-Informationen CI und Benutzer-Beschränkungen UP berücksichtigt. Darüber hinaus werden bei der Suche nach Pfaden in dem Resource-Tree-Generator 11 bereits vorab Beschränkungen im Hinblick auf die bereitgestellten Ressourcen der einzelnen Geräte berücksichtigt. Diese Beschränkungen sind in einem Speicher 18 gespeichert und werden über die Auswahleinheit dem Resource-Tree-Generator 11 zugeführt.
  • Das Gerät der 3 verfügt ferner über eine Verwaltungseinheit 19, welche ein sogenanntes Lease-Management durchführt, gemäß dem festgelegt wird, in welchen Zeitintervallen bestimmte Dienste zur Verfügung gestellt werden. Ferner bearbeitet die Verwaltungseinheit Lookup-Requests von anderen Geräten und leitet diese ggf. zu dem Resource-Tree-Generator weiter, der daraufhin die Suche nach Lösungspfaden initialisiert. Das Gerät der 3 umfasst ferner noch einen Lokalspeicher 20, in dem die Information der lokal im Gerät verfügbaren Dienste abgelegt ist.

Claims (23)

  1. Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems (1) umfassend eine Vielzahl von Diensten (A1, A2, E1, ..., E7) mit jeweils einer oder mehreren Schnittstellen, wobei zwei Dienste in dem technischen System (1) dann kompatibel sind, wenn eine direkte Interaktion des einen Dienstes mit dem anderen Dienst über kompatible Schnittstellen der Dienste durchführbar ist, und wobei im technischen System vorhandenen und im technischen System zu integrierenden Diensten und möglichen Interaktionen zwischen den Diensten jeweils ein oder mehrere Funktionselemente einer funktionalen Beschreibungssprache zugeordnet sind, wobei jedes Funktionselement eine Funktionalität eines Dienstes oder eine Interaktion zwischen zwei Diensten repräsentiert, bei dem: a) für eine in dem technischen System durchzuführende Interaktionsaufgabe zwischen einem oder mehreren neuen, im technischen System zu integrierenden Anfangsdiensten (A1, A2) und einem oder mehreren, bereits im technischen System (1) vorhandenen Enddiensten (E1, ..., E7) eine funktionale Aufgabenbeschreibung in der funktionalen Beschreibungssprache eingegeben und/oder erzeugt wird, wobei durch die funktionale Aufgabenbeschreibung den Anfangs- und Enddiensten und deren Interaktionen Funktionselemente vorgegeben werden; b) anhand der funktionalen Aufgabenbeschreibung und der den Diensten und Interaktionen zugeordneten Funktionselemente Kombinationen aus Anfangs- und Enddienst ermittelt werden, welche die in dem technischen System (1) durchzuführende Interaktionsaufgabe lösen; c) falls in Schritt b) Kombinationen aus Anfangs- und Enddienst gefunden wurden, für wenigstens einen Teil der Anfangsdienste (A1, A2) der Kombinationen aus Anfangs- und Enddienst eine Suche nach kompatiblen Diensten durchgeführt wird, bei welcher der Anfangsdienst (A1, A2) nach zu ihm kompatiblen Diensten sucht und die kompatiblen Dienste wiederum nach zu ihnen kompatiblen Diensten su chen, wodurch Pfade von aufeinanderfolgenden kompatiblen Diensten erzeugt werden, wobei ein Pfad als Lösungspfad der Interaktionsaufgabe bestimmt wird, wenn der Anfangsdienst (A1, A2) des Pfades und der gefundene kompatible Enddienst (E1, ..., E7) einer in Schritt b) aufgefundenen Kombination aus Anfangs- und Enddienst entspricht; d) falls Lösungspfade in Schritt c) gefunden wurden, einer der Lösungspfade ausgewählt wird und die Interaktionsaufgabe entlang des ausgewählten Lösungspfads durchgeführt wird.
  2. Verfahren nach Anspruch 1, bei dem vor der Durchführung des Schrittes c) in einem Zwischenschritt überprüft wird, ob die in Schritt b) ermittelten Kombinationen aus Anfangs- und Enddienst miteinander kompatible Dienste umfassen.
  3. Verfahren nach Anspruch 2, bei dem im Falle, dass in dem Zwischenschritt eine oder mehrere Kombinationen von miteinander kompatiblen Dienste ermittelt werden, diese Kombinationen jeweils vorab als ein Lösungspfad definiert werden.
  4. Verfahren nach Anspruch 3, bei dem im Falle, dass in dem Zwischenschritt eine oder mehrere Kombinationen von miteinander kompatiblen Diensten ermittelt werden, zu Schritt d) übergegangen wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die neuen, im technischen System zu integrierenden Anfangsdienste (A1, A2) mit Hilfe eines Suchverfahrens die bereits im technischen System vorhandenen Dienste (E1, ..., E7) ermitteln.
  6. Verfahren nach Anspruch 5, bei dem das Suchverfahren ein UPnP-Verfahren (UPnP = Universal Plug and Play) oder ein auf Bluetooth basierendes Suchverfahren ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die im technischen System (1) vorhandenen Dienste (E1, ..., E7) und die diesen Diensten zugeordneten Funktionselemente in einem Speicher hinterlegt sind und die Suche gemäß Schritt c) in dem Speicher durchgeführt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Suche in Schritt c) so lange durchgeführt wird, bis eine vorbestimmte Anzahl von Lösungspfaden gefunden wurde und/oder bis wenigstens ein Abbruchkriterium erfüllt ist.
  9. Verfahren nach Anspruch 8, bei dem das wenigstens eine Abbruchkriterium ein vorbestimmtes maximales Zeitintervall für die Suche nach Lösungspfaden ist.
  10. Verfahren nach Anspruch 9, bei dem das maximale Zeitintervall veränderbar ist.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem bei der Suche in Schritt c) Nachrichten zwischen den Diensten versendet werden, welche den Anfangsdienst (A1, A2) des Pfades und ein oder mehrere gemäß der funktionalen Aufgabenbeschreibung vorgegebene Funktionselemente der Enddienste (E1, ..., E7) enthalten.
  12. Verfahren nach Anspruch 11, bei dem einer Nachricht die Identität des Dienstes, der die Nachricht erhält, hinzugefügt wird, sofern diesem Dienst nicht ein gemäß der funktionalen Aufgabenbeschreibung vorgegebenes Funktionselement zugeordnet ist, und die Nachricht anschließend an kompatible Dienste weitergeleitet wird.
  13. Verfahren nach Anspruch 11 oder 12, bei dem im Falle, dass dem Dienst, der die Nachricht erhält, ein gemäß der funktionalen Aufgabenbeschreibung vorgegebenes Funktionselement zugeordnet ist, dieser Dienst seine Identität an den Anfangsdienst des Pfades rückmeldet.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem bei der Suche in Schritt c) und/oder bei der Auswahl in Schritt d) vorgegebene Beschränkungen, insbesondere hinsichtlich der physikalischen Ressourcen der Dienste, berücksichtigt werden.
  15. Verfahren nach Anspruch 14, bei dem die Beschränkungen globale, im gesamten technischen System (1) gültige Beschränkungen umfassen, welche insbesondere erwünschte Eigenschaften der im technischen System (1) durchzuführenden Interaktionsaufgabe beschreiben.
  16. Verfahren nach Anspruch 14 oder 15, bei dem die Beschränkungen lokale, nur in einer Gruppe von Diensten gültige Beschränkungen umfassen, welche insbesondere die Verfügbarkeit von physikalischen Ressourcen in der Gruppe von Diensten betreffen.
  17. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Verfahren in einem technischen System (1) durchgeführt wird, das ein Netzwerk aus einer Vielzahl von technischen Geräten umfasst, wobei in jedem Gerät ein oder mehrere Dienste des technischen Systems (1) beinhaltet sind.
  18. Verfahren nach Anspruch 17, bei dem die im technischen System (1) zu integrierenden Anfangsdienste (A1, A2) in einem einzelnen, in dem technischen System (1) zu integrierenden Gerät (2), vorzugsweise in einem mobilen Gerät, beinhaltet sind.
  19. Verfahren nach Anspruch 17 oder 18, bei dem das Netzwerk ein Heim- und/oder Gebäude-Automations-System umfasst.
  20. Technisches System umfassend eine Vielzahl von Diensten (A1, A2, E1, ..., E7), wobei das technische System (1) derart ausgestaltet ist, dass ein Verfahren nach einem der vorhergehenden Ansprüche durchführbar ist.
  21. Technisches Gerät, umfassend einen oder mehrere Dienste (A1, A2, E1, ..., E7) zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 19, mit: – einem Mittel (9) zur Eingabe und/oder Erzeugung einer funktionalen Aufgabenbeschreibung für eine in dem technischen System (1) durchzuführende Interaktionsaufgabe zwischen im technischen System (1) zu integrierenden Anfangsdiensten (A1, A2) des technischen Geräts und einem oder mehreren, im technischen System (1) bereits vorhandenen Enddiensten (E1, ..., E7) gemäß Schritt a) des Anspruchs 1; – einem Mittel (11) zum Ermitteln von Kombinationen aus Anfangs- und Enddienst, welche die in dem technischen System (1) durchzuführende Interaktionsaufgabe lösen, gemäß Schritt b) des Anspruchs 1; – einem Mittel (11) zur Initialisierung der Suche von Lösungspfaden gemäß Schritt c) des Anspruchs 1; – einem Mittel (15) zur Auswahl von Lösungspfaden gemäß Schritt d) des Anspruchs 1.
  22. Technisches Gerät nach Anspruch 21 zur Verwendung als eine Gruppe von im technischen System (1) bereits vorhandenen Diensten (E1, ..., E7), umfassend Mittel (19) zur Verarbeitung von Nachrichten gemäß einem der Ansprüche 11 bis 13.
  23. Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Ausführung des Verfahrens nach einem der Ansprüche 1 bis 19, wenn das Programm auf einem Rechner abläuft.
DE102005033231A 2005-07-15 2005-07-15 Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems Ceased DE102005033231A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102005033231A DE102005033231A1 (de) 2005-07-15 2005-07-15 Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems
US11/922,210 US20090132688A1 (en) 2005-07-15 2006-07-05 Method For the Dynamic Service Configuration of a Technical System
PCT/EP2006/063923 WO2007009884A2 (de) 2005-07-15 2006-07-05 Verfahren zur dynamischen dienstekonfiguration eines technischen systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005033231A DE102005033231A1 (de) 2005-07-15 2005-07-15 Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems

Publications (1)

Publication Number Publication Date
DE102005033231A1 true DE102005033231A1 (de) 2006-05-04

Family

ID=36201976

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005033231A Ceased DE102005033231A1 (de) 2005-07-15 2005-07-15 Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems

Country Status (3)

Country Link
US (1) US20090132688A1 (de)
DE (1) DE102005033231A1 (de)
WO (1) WO2007009884A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008142056A1 (en) * 2007-05-18 2008-11-27 Thales Holdings Uk Plc System management

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793306B2 (en) * 2008-10-03 2014-07-29 Infosys Limited System, wireless communication device and method for combining compatible services
US8863133B2 (en) * 2011-06-02 2014-10-14 Microsoft Corporation License management in a cluster environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
WO2003067480A1 (en) * 2002-02-07 2003-08-14 Thinkdynamics Inc. Method and system for managing resources in a data center
CA2383881A1 (en) * 2002-04-29 2003-10-29 Ibm Canada Limited-Ibm Canada Limitee Generic control interface with multi-level status
US7747856B2 (en) * 2002-07-26 2010-06-29 Computer Associates Think, Inc. Session ticket authentication scheme
US7526541B2 (en) * 2003-07-29 2009-04-28 Enterasys Networks, Inc. System and method for dynamic network policy management
US7735089B2 (en) * 2005-03-08 2010-06-08 Oracle International Corporation Method and system for deadlock detection in a distributed environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008142056A1 (en) * 2007-05-18 2008-11-27 Thales Holdings Uk Plc System management

Also Published As

Publication number Publication date
WO2007009884A2 (de) 2007-01-25
WO2007009884A3 (de) 2007-04-05
US20090132688A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
DE60029321T2 (de) Verfahren und vorrichtung zur fernbedienung eines hausnetzwerks von einem externen kommunikationsnetz
DE10049504B4 (de) Verfahren und System zur tranparenten Unterstützung von entfernten Eingabe-/Ausgabeeinrichtungen in einem Prozeßsteuersystem
EP1430369B1 (de) Dynamischer zugriff auf automatisierungsressourcen
DE102015215480A1 (de) Verfahren und Vorrichtung zum Übertragen einer Nachricht in einem Fahrzeug
DE60102497T2 (de) Verfahren und Vorrichtung zum Nachverfolgen einer Transaktion über ein Mehrstreckennetzwerk
DE602004009746T2 (de) Teilen von Diensten in einem Netz
DE102004018980A1 (de) Verfahren zur Steuerung eines Gerätes in einem Netzwerk verteilter Stationen sowie Netzwerkstation
DE60122671T2 (de) Anforderungsbedingte dynamische Schnittstellengenerierung
DE102004017529A1 (de) Automatisierungsnetzwerk sowie Automatisierungsgerät, Netzwerkkomponente und Feldgerät für ein derartiges Netzwerk
DE69434976T2 (de) Rangadressenzuweiseung in einem modulsystem
DE112014004208T5 (de) Integrationsverfahren und -System
DE60208545T2 (de) Verfahren zur steuerung von über ein bussystem miteinander verbundenen netzwerkgeräten
EP2503760B1 (de) Verfahren zum Einrichten eines Kommunikationsnetzes aus Geräten einer Automatisierungsanlage
DE102006041868A1 (de) Verfahren zum Bereitstellen zusammengesetzter Dienste in einem Peer-to-Peer-Netzwerk
EP0977416B1 (de) Verfahren, Endgerät, Knoten, Programmodul und Bedienoberfläche zur Ermittlung von für eine Kommunikationsbeziehung erforderlichen Merkmalen
DE102005033231A1 (de) Verfahren zur dynamischen Dienstekonfiguration eines technischen Systems
DE602005000715T2 (de) System und Verfahren zur Auswahl einer aktiven Verbindung
EP3539308B1 (de) Verfahren zur datenübertragung in einem fahrzeug-kommunikationsnetzwerk, fahrzeug-kommunikationsnetzwerk, teilnehmer und fahrzeug
WO2021093928A1 (de) Verfahren und vorrichtung zum auffinden von subscribern unter verwendung des protokolls opc ua pubsub
DE102019208519A1 (de) Verfahren und Vorrichtung zum Anpassen einer Softwareanwendung
DE112018001433T5 (de) Einheitlicher zentralisierter Netzwerk-Stack
DE10339051B3 (de) Verfahren zum Zuordnen von über mehrere Subnetze verteilten Clients zu einen Server und Client zur Ankopplung an einen Server
DE102017209493A1 (de) Verfahren und System zur Durchführung eines Setups bei einem industriellen Netzwerk
EP1885100B1 (de) Verfahren zur automatischen Adressvergabe an einen Kommunikationsteilnehmer und Kommunikationsteilnehmer
EP4338050A1 (de) Verwaltung von laufzeitcontainern für ein industrielles automatisierungssystem

Legal Events

Date Code Title Description
OAV Publication of unexamined application with consent of applicant
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection