DE60308776T2 - Beherrschen von Abhängigkeiten von individualisierten Leistungsmerkmalen in der IP Telephonie mittels deontischen Befehlsbäumen und Ablaufsoperatoren - Google Patents

Beherrschen von Abhängigkeiten von individualisierten Leistungsmerkmalen in der IP Telephonie mittels deontischen Befehlsbäumen und Ablaufsoperatoren Download PDF

Info

Publication number
DE60308776T2
DE60308776T2 DE60308776T DE60308776T DE60308776T2 DE 60308776 T2 DE60308776 T2 DE 60308776T2 DE 60308776 T DE60308776 T DE 60308776T DE 60308776 T DE60308776 T DE 60308776T DE 60308776 T2 DE60308776 T2 DE 60308776T2
Authority
DE
Germany
Prior art keywords
node
action
features
feature
actions
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.)
Expired - Lifetime
Application number
DE60308776T
Other languages
English (en)
Other versions
DE60308776D1 (de
Inventor
Thomas RR3 Carp Gray
Daniel Hull Amyot
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.)
Mitel Networks Corp
Original Assignee
Mitel Networks Corp
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 Mitel Networks Corp filed Critical Mitel Networks Corp
Application granted granted Critical
Publication of DE60308776D1 publication Critical patent/DE60308776D1/de
Publication of DE60308776T2 publication Critical patent/DE60308776T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • H04Q3/0041Provisions for intelligent networking involving techniques for avoiding interaction of call service features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42127Systems providing several special services or facilities from groups H04M3/42008 - H04M3/58
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/42153Administration or customisation of services by subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/4217Managing service interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf IP-Telefonie (Internet Protocol) und insbesondere auf ein Verfahren und eine Vorrichtung zum Implementieren von personalisierbaren und individualisierbaren Leistungsmerkmalen unter Verwendung von Operationssemantik und deontischen Task-Bäumen.
  • Ein wichtiges Merkmal der derzeit in Erscheinung tretenden IP-Telefoniesysteme ist die Möglichkeit, Leistungsmerkmale für die Bedürfnisse von Einzelpersonen zu personalisieren und Systeme für die spezifischen Anforderungen eines Unternehmens zu individualisieren. Anstelle eines monolithischen öffentlichen Netzwerks nach dem Stand der Technik, das einer Massenbasis von Kunden Standarddienste bereitstellt, basiert die IP-Telefonie auf dem Zusammenwirken einer großen Anzahl von unabhängigen Netzwerken. Dabei kann jedes dieser Netzwerke über seine eigene Definition von Leistungsmerkmalen verfügen.
  • Innerhalb eines Unternehmens wird die derzeit in Erscheinung tretende IP-Telefonie jeden Benutzer in die Lage versetzen, Leistungsmerkmale für die Anrufabwicklung zu spezifizieren, die für die konkreten Bedürfnisse des Benutzers maßgeschneidert sind. Demzufolge werden derartige Systeme in der Praxis in einem hohen Maße individualisiert und personalisiert sein, um den Kundenanforderungen gerecht zu werden. Die Fähigkeit zur Komposition neuer Leistungsmerkmale zusätzlich zu den vorhandenen Leistungsmerkmalen führt jedoch auf dem Fachgebiet zu einer Notwendigkeit, die Wechselwirkungen zwischen den Leistungsmerkmalen zur Laufzeit aufzulösen.
  • Herkömmliche Modelle der Anrufverarbeitung lassen sich in zwei unterschiedliche Kategorien aufteilen. Das ältere Modell arbeitet mit einer zentralisierten Anrufverarbeitung, bei der ein Anruf als eine einzelne Entität an einer einzigen Stelle erzeugt wird. Bei solchen Systemen nach dem Stand der Technik bedeutet „besetzt", dass bei einem Telefonapparat der Hörer abgehoben wurde, weshalb die Telefonvermittlungsstelle nicht mit dem Apparat kommunizieren kann.
  • Im neueren Modell IN (Intelligent Network) SS7 (Signaling System 7) resultiert der Anruf aus der Kooperation zwischen zwei getrennten Entitäten (Call Halves – Anrufhälften), die mithilfe von Meldungsweitergabe und Verhandlung über ein digitales Backbone unter Verwendung des ISUP-Protokolls miteinander kooperieren. Die Leistungsmerkmal-Logik ist dabei in Stellen zentralisiert, die als SCPs (Service Control Points – Dienststeuerungspunkte) bezeichnet werden. Leistungsmerkmale, die in den lokalen Stellen (SSPs oder Service Signaling Points – Dienstsignalisierungspunkten) operieren, können in ihrem Code über Auslösepunkte zum Referenzieren der Operation an einen SCP verfügen, um das richtige Verhalten zu erhalten.
  • Das verteilte Anrufhälftenmodell ermöglicht eine physische Verteilung der Anrufverarbeitung. Mit dem so genannten Call State Sharing wurden die Annahmen nach dem bisherigen Stand der Technik im Hinblick auf „besetzt" modifiziert, wodurch Leistungsmerkmale wie „Anklopfen" und „Anrufwarten" ermöglicht wurden. Ein Anrufprozess, der getrennt ist von der Ausrüstung, die zur Herstellung der Anrufverbindung verwendet wird, hat es ermöglich, mit dem Benutzer während eines bestehenden Anrufs zu kommunizieren und einen Benutzer über eine Anrufwarteschlange zu benachrichtigen, die um seine Aufmerksamkeit ersucht. Infolgedessen erhielten die Systementwickler durch die erweiterte Fähigkeit solcher Systeme zur Kommunikation mit dem Benutzergerät zusätzliche Möglichkeiten zum Erstellen nützlicher Benutzerleistungsmerkmale.
  • Die oben erwähnten Anrufverarbeitungsmodelle nach dem bisherigen Stand der Technik haben das gemeinsame Merkmal einer zentralisierten Definition von Leistungsmerkmalen. Und tatsächlich wurde dies bei der Instanziierung des Intelligent Network (IN) auch als ein Hauptvorteil des verteilten Modells angesehen (d. h. neue Leistungsmerkmale können im IN zentral definiert und bereitgestellt werden). Das gewährleistet eine kurze Markteinführungszeit neuer Leistungsmerkmale und die Stabilität im Netzwerk, da die Leistungsmerkmale nur ein einziges Mal entwickelt werden müssen, um dann auf den Vermittlungssystemen eingesetzt werden zu können, die von einem beliebigen Hersteller erworben werden. Die Netzwerkstabilität wird noch weiter dadurch sichergestellt, dass die Leistungsmerkmale durch Teams erfahrener Entwickler entwickelt werden, die darauf achten, dass es nicht zu Fehlern infolge der Wechselwirkung zwischen mehreren Leistungsmerkmalen kommt.
  • Die oben beschriebenen Vorteile der zentralisierten Definition und Ausführung von Leistungsmerkmalen werden jedoch wieder aufgehoben durch Schwierigkeiten, ausreichende Benutzerkontextinformationen zur zentralen Leistungsmerkmal-Ausführungsstelle zu übertragen. Die nützlichsten Leistungsmerkmale sind jedoch solche, die den aktuellen Benutzerkontext kennen und speziell auf diesen ausgerichtet sind. IN-Dienste haben deshalb große Schwierigkeiten mit individualisierten und personalisierten Diensten. Das führte dazu, dass das IN und sein Nachfolger, das AIN (Advanced Intelligent Network) nicht in der Lage waren, das zu erreichen, was von ihren ursprünglichen Befürwortern erhofft wurde.
  • Das Internet hat einen Schwerpunkt auf eine Reihe von nichtfunktionalen Anforderungen gelenkt, die mithilfe der oben beschriebenen vorhandenen Modelle der Anrufverarbeitung nur mit Schwierigkeiten erfüllt werden konnten. Zentralisierte Definitionen von Leistungsmerkmalen machen es schwierig, im öffentlichen Netzwerk individualisierte Dienste zu erstellen, die für bestimmte Unternehmen maßgeschneidert sind, und Dienste zu erstellen, die für die Bedürfnisse spezieller Benutzer in Unternehmensnetzwerken personalisiert sind, die für Internetanwendungen dagegen charakteristisch sind.
  • Beispielsweise wurden durch die IETF die Protokolle SIP und CPL entwickelt, um eine benutzerdefinierte Anrufabwicklung zu ermöglichen (siehe Sinnreich, H; Johnson, A. B., Internet Communication Using SIP, Wiley, 2001, Seiten 104–108, und The Internet Draft von Schulzrinne, N.; Rosenberg, J.; SIP Caller Preferences and Callee Capabilities, draft-ietf-sip-callerprefs-05.txt, verfügbar unter http://www.softarmor.com/sipwg/drafts/draft-ietf-sip-callerprefs-05.txt. Bei diesen Modellen wird die Anrufdisposition nicht durch eine zentralisierte Gruppe von Standardleistungsmerkmalen gesteuert, die von erfahrenen Entwicklern in einer Laborumgebung entwickelt wurden. Stattdessen spezifiziert dabei der Benutzer eine Gruppe persönlicher Leistungsmerkmale, die so maßgeschneidert werden können, dass sie den Bedürfnissen der Benutzeraktivitäten innerhalb einer Unternehmensumgebung weitgehend entsprechen. Diese persönlichen Leistungsmerkmale können sich nach der Identität der Mitarbeiter des Benutzers richten, nach dem Charakter der gerade erledigten Arbeit, nach dem Kalender des Benutzers usw.
  • In SIP kann ein Benutzer verschiedene Kontaktadressen beim Proxyserver registrieren, der ihn bedient. Der Benutzer kann in der SIP INVITE-Nachricht die Verbindungstypen spezifizieren, die er akzeptiert. Insbesondere spezifiziert der Benutzer in den Headern ACCEPT-CONTACT und REJECT-CONTACT die Merkmale des Endpunkts (bzw. Benutzer-Agents), den der Benutzer vorzugsweise entweder akzeptiert oder ablehnt. Diese Header können spezifische Endpunkte hinsichtlich ihrer URLs als für die Akzeptanz oder für die Ablehnung bevorzugt spezifizieren.
  • Die Möglichkeit zur Identifizierung spezifischer Endpunkte, die für die Akzeptanz oder für die Ablehnung bevorzugt sind, bietet eine neue Ebene von Leistungsmerkmalen, die durch SIP ermöglicht werden. Die Anruferpräferenzen in SIP können Merkmale des physischen Geräts am Endpunkt spezifizieren, was eine leicht verständliche Anwendung dieses Protokolls auf die herkömmliche Telefonie ermöglicht.
  • Es gibt jedoch in den Entwürfen zu SIP keine adäquate Erklärung dazu, wie Konflikte zwischen der angerufenen Seite und den Anruferpräferenzen identifiziert und aufgelöst werden können. Die CPL-Spezifikation [Lennox, J; Schulzrinne, H.; Call Processing Language Framework and Requirements, IETF RFC2824, http://www.ietf.org/internet-drafts/draft-ietf-iptel-cpl-06.txt] erwähnt, dass bestimmte Anruferpräferenzen beim Treffen einer Entscheidung ignoriert werden können. Allerdings wird nicht darauf verwiesen, ob eine solche Möglichkeit akzeptabel oder gar nützlich ist.
  • Kurz gesagt: Die momentan spezifizierten SIP-Anrufabwicklungsprozeduren sind inadäquat für die Anrufabwicklung in realistischen Anrufverarbeitungssituationen.
  • Die nach dem Stand der Technik bekannten Verfahren zur Spezifizierung von Leistungsmerkmalen waren gänzlich präskriptiv. Siehe beispielsweise die Beschreibung von Chisel in Griffeth, N et al; Feature Interaction Detection Contest Appendix C. Feature Definitions, Feature Interactions in Telecommunications and Software Systems V; Kimbler, K., Bouma L. G., Editoren; IOS Press 1998. In einem solchen System nach dem Stand der Technik werden zwar flexible Leistungsmerkmal-Operationen spezifiziert, aber es gibt keinen Hinweis darauf, wie Wechselwirkungen zwischen Leistungsmerkmalen aufgelöst werden sollen. Insbesondere werden von Chisel nicht diejenigen Leistungsmerkmal-Operationen spezifiziert, die im Fall eines Fehlschlagens sicher weggelassen werden können, ohne dass damit das Hauptziel des gesamten Leistungsmerkmals vereitelt wird. Das führt zu Schwierigkeiten bei der Laufzeitauflösung von Leistungsmerkmalen. Ein System kann nicht wissen, dass es die Ausführung einer Operation sicher vermeiden kann, wenn diese Operation gegen die Absicht eines anderen Leistungsmerkmals oder gegen eine andere Einschränkung des Unternehmens verstößt.
  • Damit stellt der Stand der Technik keine effektive Architektur für die Handhabung von Benutzerpräferenzen bei der Ausführung von Leistungsmerkmalen und speziell für die Handhabung von Konflikten zwischen Präferenzen bereit. Infolgedessen wurden Zweifel hinsichtlich der Skalierbarkeit und Weiterentwicklungsmöglichkeit solcher Protokolle zu Systemen mit realistischer Größe unter Verwendung von Internet-Technologie geäußert.
  • Eine Anmeldung nach dem Stand der Technik zu deontischen Verfahren im Zusammenhang mit dem Problem von Telefonie-Leistungsmerkmalen in Beziehung zu OPI-Systemen (Obligation, Permission, Interdiction) ist dargelegt in Barbuceanu, M., Mankovskii, S., Gray, T.; Coordinating with Obligations; Proceedings of the 2nd International Conference on Autonomous Agents (Agents'98), das verfügbar ist unter http://citeseer.ni.nec.com/barbuceanu98coordinating.html.
  • Es gibt jedoch einige Nachteile in der Vorgehensweise von Barbuceanu et al, die für die praktische Verwendung ausgeräumt werden müssen. Beispielsweise ist die Verwendung der Truth Maintenance für die Weitergabe von empfangenen Einschränkungen in OPI eine sehr komplexe und zeitaufwändige Aufgabe. Es ist unpraktisch, die Truth Maintenance für die Laufzeitauflösung von Leistungsmerkmal-Konflikten zu verwenden. An erster Stelle unter den Schwierigkeiten bei der Verwendung von OPI steht die Tatsache, dass ein Truth Maintenance-System beim Empfang einer neuen Einschränkung in der Lage ist, Aktionen als verboten zu identifizieren, die bereits stattgefunden haben. Wie ein solches System beispielsweise auf „Klingel stummschalten" oder auf das Zurückziehen eines an einen Benutzer gesendeten Alarmierungssignals bei der Laufzeitauflösung reagieren würde, ist nicht klar. Tatsächlich wird beim sorgfältigen Lesen der Veröffentlichung zum Stand der Technik von Barbuceanu et al deutlich, dass OPI zur Vorausplanung von Leistungsmerkmalen vorgesehen ist und nicht zur Laufzeitoperation.
  • Da OPI zur Vorausplanung oder Offline-Definition von Leistungsmerkmalen vorgesehen ist, gibt es darin keinen Bedarf zur Spezifizierung von Beobachtern von Zuständen der realen Welt. Es muss das Problem des Reagierens auf Änderungen der Umgebung gar nicht erst angehen.
  • Die ursprüngliche OPI-Struktur hat Schwierigkeiten mit der Komposition von Leistungsmerkmalen (d. h. mit der Aufgabe des Hinzufügens eines neuen Leistungsmerkmals zu einem bereits vorhandenen Satz). Das ursprüngliche OPI geht von der Konsistenz eines gegebenen Satzes von Leistungsmerkmalen aus, die auf den Werten der deontischen Modalitäten basieren, die jeden Knoten bestimmen. Das bedeutet, dass der Baum eigenständig dasteht und nicht mit irgendeiner anderen Gruppe von Leistungsmerkmalen kommuniziert. Er verfügt über keine Möglichkeit zur Koordinierung seines Verhaltens mit anderen Gruppen von Leistungsmerkmalen. Keines der veröffentlichten OPI-Konzepte gibt keinen Einblick darüber, wo ein neues oder zusätzliches Leistungsmerkmal zu einem vorhandenen Baum hinzugefügt werden kann.
  • Wie oben erwähnt wurde, geht es beim ursprünglichen OPI nicht um die Laufzeitoperation. Es ist primär ein Planungshilfsmittel. Für die Laufzeitoperation müssen die Bäume in der Lage sein, auf Ereignisse (Assertions und Zustandsänderungen in der realen Welt) zu reagieren, um das Verhalten der Leistungsmerkmale anzupassen. Ein Leistungsmerkmal muss deshalb über die Fähigkeit verfügen zu erkennen, dass die von ihm verfolgte Absicht eventuell nicht möglich ist, und als Reaktion sein Verhalten intelligent ändern können.
  • WO94/27411 offenbart ein System, bei dem die Kommunikation zwischen Entitäten wie beispielsweise Ausrüstung am Kundenstandort in einem Telekommunikationsnetzwerk durch die Verwendung von Agents eingerichtet wird, die jeweils eine Entität repräsentieren. Die Agents, die die entsprechenden Entitäten in dem Telekommunikationsnetzwerk repräsentieren, verhandeln über den Typ der Kommunikationssitzungen, in die die entsprechenden Entitäten einbezogen werden wollen. Der Verhandlungsprozess schließt den Austausch von Vorschlägen durch die Agents ein. Ein Agent generiert einen Vorschlag, der für ihn akzeptabel ist, und überträgt den Vorschlag zu einem anderen Agent. Der empfangende Agent ermittelt, ob der empfangene Vorschlag für ihn akzeptabel ist, und wenn das nicht der Fall ist, dann generiert er einen Gegenvorschlag. Der Prozess wird fortgesetzt, bis ein Vorschlag, der für beide Agents akzeptabel ist, gefunden wird oder bis festgestellt wird, dass es keinen Vorschlag für die Realisierung des speziellen Typs der Kommunikationssitzung gibt, der für beide Agents akzeptabel ist. Ein Agent ermittelt, ob ein Vorschlag für ihn akzeptabel ist, indem eine Zielhierarchie verwendet wird. Die Zielhierarchie gibt an, ob bestimmte Aktionen für die Erreichung eines Ziels akzeptabel sind oder nicht. Die Verwendung der Zielhierarchie gestattet es einem Agent, die Ziele eines anderen Agents zu erschließen und alternative Aktionen zu finden, mit denen dieses Ziel erreicht werden kann. Der Verhandlungsprozess ermöglicht es den Agents, eine Übereinkunft zu erzielen, ohne dass eine Modifizierung ihrer Ziele oder die Offenlegung eingeschränkter Informationen gegenüber anderen Agents erforderlich ist.
  • Die vorliegende Erfindung stellt ein Kommunikationssystem zum Implementieren von personalisierbaren und individualisierbaren Leistungsmerkmalen bereit, umfassend: einen Tupelspace; und eine Vielzahl von Benutzer-Agents, welche die besagten Leistungsmerkmale repräsentieren, wobei die besagten Benutzer-Agents über Mittel zum Kommunizieren miteinander über Assertions verfügen, die im besagten Tupelspace postiert werden, sowie über Mittel zum Implementieren der besagten Leistungsmerkmale bei gleichzeitiger Vermeidung von Leistungsmerkmal-Wechselwirkungen, dadurch gekennzeichnet, dass jedes der besagten Leistungsmerkmale als ein Satz deontischer Task-Bäume strukturiert ist, die verfügen über einen übergeordneten Knoten mit einer obligatorischen inhärenten Aktion und über eine Vielzahl von untergeordneten Knoten mit jeweiligen Knotenaktionen, die so eingerichtet sind, dass sie gemäß einer vorgegebenen Sequenz ausgeführt werden, und so eingerichtet sind, dass sie ihre Ergebnisse an den besagten übergeordneten Knoten zurückmelden, wobei der besagte übergeordnete Knoten so eingerichtet ist, dass er deontische Modalitäten zum Verhalten der besagten untergeordneten Knoten platziert, sodass eine erfolgreiche Implementierung des besagten Leistungsmerkmals aus dem erfolgreichen Auftreten der besagten inhärenten Aktionen und aus dem zusammengesetzten Erfolg der Knotenaktionen der besagten untergeordneten Knoten resultiert.
  • Die vorliegende Erfindung baut auf Konzepten der ursprünglichen Arbeit von Barbuceanu et al zu OPI auf. Insbesondere die Verwendung deontischer Modalitäten und das Konzept von Bäumen werden verwendet, um Beziehungen zwischen Telefonie-Leistungsmerkmalen zu definieren (gemäß der vorliegenden Erfindung gelten Bäume als Spezifikation der Leistungsmerkmal-Ausführung). Allerdings werden gemäß der vorliegenden Erfindung neue Elemente hinzugefügt und eine neue Semantik dargelegt, die die Grundlagen des OPI-Konzepts nach dem Stand der Technik vollständig verändern. Im Ergebnis dessen wurde das OPI nach dem Stand der Technik von einem Planungssystem für einen monolithischen vordefinierten Satz von Leistungsmerkmalen zu einem Semantiksatz modifiziert, der für die Laufzeitausführung dynamisch gebildeter Leistungsmerkmale optimiert ist, die sich an externe Ereignisse anpassen.
  • Das ursprüngliche OPI war eine abstrakte Planungsspezifikation, die keine Verbindung zur Umgebung hatte, in der ein System operiert. Die Ausführungsinterpretation gemäß der vorliegenden Erfindung bietet zusätzliche Möglichkeiten, so dass ein Leistungsmerkmal Assertions aufstellen kann, die entweder direkt Hardware in der Umgebung steuern oder als Kommunikationselemente mit anderen Leistungsmerkmalen agieren. Desgleichen bietet die vorliegende Erfindung die Fähigkeit zum Überwachen der Umgebung auf Assertions von anderen Leistungsmerkmalen.
  • Beim ursprünglichen OPI ging es nur um die Beschreibung der Operationen, die ein Leistungsmerkmal ausmachten. Gemäß der vorliegenden Erfindung wurde ein neuer Knotentyp hinzugefügt, der die Systemumgebung auf Zustandsänderungen in der Welt der Assertions überwacht. Das Hinzufügen von Modalitäten zu diesen Beobachtern bietet einen einzigartigen Vorteil für die Erkennung (d. h. zum Entwicklungs- oder Spezifizierungszeitpunkt) und für die Auflösung (d. h. zur Laufzeit) von Wechselwirkungen zwischen Leistungsmerkmalen.
  • Im Rahmen der Ausführung überwacht jeder Knoten den Erfolg seiner eigenen Operation. Die deontischen Modalitäten geben dem System die Möglichkeit, wesentliche und optionale Operationen in einer Leistungsmerkmal-Spezifikation zu bestimmen. Während der Ausführung ermöglicht dies dem System, das Leistungsmerkmal-Verhalten zu verhandeln, und schafft auch die Möglichkeit zu ermitteln, ob ein bestimmtes Leistungsmerkmal sein primäres Ziel erreicht hat. Diese Möglichkeit ist bei vorhandenen Systemen zur Spezifizierung von Leistungsmerkmalen (z. B. bei dem von Chisel beschriebenen System) nicht vorhanden, was deren Möglichkeit vermindert, Leistungsmerkmale unter Berücksichtigung erforderlicher Wechselwirkungen zu spezifizieren. Die Überwachung der Baumknoten erleichtert außerdem erheblich die Entwicklung von Systemen zur Erkennung und Auflösung von Laufzeitwechselwirkungen, indem eine realisierbare Möglichkeit zur Durchführung von Verhandlungen bereitgestellt wird.
  • Modalitäten werden auf jeden Knoten angewendet. Einige Knoten spezifizieren die Wechselwirkung mit anderen Leistungsmerkmalen (z. B. wie das Leistungsmerkmal auf die Aktionen anderer Leistungsmerkmale reagieren soll). Wenn einer Aktion, die von einem anderen Knoten angefordert wurde, die Modalität „Obligatorisch" gegeben wurde und nicht ausgeführt werden kann, dann gilt das aktuelle Leistungsmerkmal als fehlgeschlagen, und es werden Bereinigungsmaßnahmen eingeleitet. In gleicher Weise wird das Leistungsmerkmal als fehlgeschlagen angesehen, wenn eine „Verboten"-Beobachtung erfolgt, und es werden Bereinigungsmaßnahmen eingeleitet.
  • Allerdings hat die Modalität „Erlaubt" überraschende und unerwartete Ergebnisse. Vielen der bisherigen Spezifizierungsverfahren mangelt es daran, dass es mit ihnen schwierig ist, eine große Anzahl von unerwünschten Leistungsmerkmal-Wechselwirkungen zu erstellen, die von Standardverfahren erkannt werden müssen. Damit werden die Vorteile dieser Verfahren stark eingeschränkt, da der Entwickler oft mit einer großen Anzahl von falschen Wechselwirkungen konfrontiert ist, die die Erkennung signifikant unerwünschter Wechselwirkungen überdecken können. Mit der Modalität „Erlaubt" der vorliegenden Erfindung werden Knoten angegeben, deren Erfolg oder Fehlschlagen keine Auswirkung auf den Gesamterfolg des Leistungsmerkmals hat. Dabei handelt es sich um Knoten, die optionales Verhalten erzeugen, das wohl erwünscht sein kann, jedoch nicht für die stabile Operation und das erfolgreiche Erreichen des Benutzerziels notwendig ist. Diese erfindungsgemäße Eigenschaft der Modalität „Erlaubt" eliminiert einen Großteil der unerwünschten Wechselwirkungen, die sich bei den bisherigen Verfahren so negativ auswirkten, wodurch die Erkennung der Leistungsmerkmal-Wechselwirkungen für Entwickler von realen Situationen erheblich mehr Nutzen bringt.
  • Diese oben erwähnten Eigenschaften der Modalitäten operieren zur Laufzeit und geben an, wie ein Leistungsmerkmal auf die Aktionen der kooperierenden Leistungsmerkmale reagieren soll. Dies macht die Auflösung der Leistungsmerkmal-Wechselwirkung zur Laufzeit erheblich leichter, als das beim Stand der Technik möglich war. Hier ist wiederum die Modalität „Erlaubt" von Bedeutung, da sie die Fortsetzung der Operation von Leistungsmerkmalen ermöglicht, obwohl andere Leistungsmerkmale fehlgeschlagen sind oder trotz der Auswirkungen von Unternehmenseinschränkungen, wenn die fehlgeschlagene oder verbotene Aktion für das Gesamtziel des Leistungsmerkmal nicht wesentlich ist.
  • Die Möglichkeit des erfindungsgemäßen Systems zur Spezifizierung von Leistungsmerkmalen mit deontischen Modalitäten gibt dem Entwickler und dem System die Möglichkeit, den Zustand des Erfolgs eines Leistungsmerkmals zu spezifizieren und zu ermitteln. Damit kann ein Leistungsmerkmal ermitteln, ob eine vorgeschlagene Einschränkung auf die Operation eines Leistungsmerkmals sicher akzeptiert werden kann oder nicht.
  • Im Allgemeinen wird gemäß der vorliegenden Erfindung ein System für die Laufzeitauflösung von Leistungsmerkmalen bereitgestellt. Dies ist in der IP-Telefonie sehr notwendig, da die Parteien über unabhängige Leistungsmerkmal-Definitionen verfügen und für gewöhnlich lediglich für die Dauer eines Anrufs miteinander verbunden sind. Es gibt keine Möglichkeit zur Vorausplanung von Leistungsmerkmal-Wechselwirkungen zwischen Parteien, die nicht im Zusammenhang miteinander stehen. Wie oben erläutert wurde, ist OPI in seiner ursprünglichen Beschreibung für diese Aufgabe ungeeignet.
  • Das System gemäß der vorliegenden Erfindung bezieht sich deshalb auf die Laufzeitausführung von Leistungsmerkmalen sowie auf deren Spezifikation und setzt damit die Möglichkeit voraus, Ereignisse der realen Welt zu erkennen und auf diese zu reagieren. Aus diesem Grund stellt das System Beobachter bereit.
  • Gemäß der vorliegenden Erfindung wird eine neue Funktionalität bereitgestellt, indem die Bäume, die die Leistungsmerkmale spezifizieren und ausführen, miteinander kommunizieren, wozu Assertions an die Umgebung und die Möglichkeiten zur Überwachung der Umgebung auf Assertions und Veränderungen in der realen Welt verwendet werden. Die Komposition von Leistungsmerkmalen kann durch diese Kommunikation zur Laufzeit erfolgen, da Leistungsmerkmale andere potenzielle Leistungsmerkmale über beabsichtigte Aktionen informieren und vor der Fortsetzung auf Ratschläge oder Erlaubnisse warten können.
  • Das in der vorliegenden Erfindung verwendete Assertion-Verfahren ist dargelegt in der gemeinsam zugewiesenen UK Patentanmeldung Nr. 9920051.1, eingereicht am 24. August 1999, mit dem Titel Processing by use of Synchronized Tuple Spaces and Assertions, die als GB2353612 veröffentlicht wurde. Die Verwendung dieses Assertion-Verfahrens ermöglicht die abstakte Spezifizierung von Leistungsmerkmalen, indem die Assertions in der Anrufverarbeitung identifiziert werden, die für ihre Operation von Interesse sind. Das ermöglicht es einem Leistungsmerkmal auch, seine Operation mit vorhandenen Leistungsmerkmalen zur Laufzeit zu koordinieren, indem Assertions ausgegeben und überwacht werden. Die vorliegende Erfindung stellt einen Mechanismus zur Spezifizierung und Regelung der in GB2353612 identifizierten Koordination bereit.
  • Die vorliegende Erfindung ist insbesondere hilfreich, um die benötigte Koordinierung für Menschen verständlich zu machen. Die Erfahrung der Erfinder hat gezeigt, dass Software-Entwickler mit normalen Fähigkeiten die notwendige Kooperation zwischen den in GB2353612 beschriebenen Einzelrichtlinien zum Vorbedingungstyp nicht visualisieren können. Die Bäume der vorliegenden Erfindung bieten Benutzern einen Mechanismus zur Beschreibung detaillierter Verbindungen zwischen Richtlinien.
  • Kurze Beschreibung der Zeichnungen
  • Es folgt eine ausführliche Beschreibung der vorliegenden Erfindung unter Bezug auf die folgenden Zeichnungen, die folgende Bedeutung haben:
  • 1 ist ein Blockdiagramm eines Systems zur Bereitstellung der Kommunikation zwischen einer Vielzahl von Agents gemäß der vorliegenden Erfindung;
  • 2 ist ein Baumdiagramm mit einer Darstellung, die für Menschen verständlich ist;
  • 3 stellt die Indikatoren dar, die für jeden der Operatoren im System gemäß der vorliegenden Erfindung verwendet werden;
  • 4 ist ein Diagramm eines exemplarischen Leistungsmerkmal-Baums, das zur Erklärung der Baum-Operation hilfreich ist; und
  • 5 ist ein Baumdiagramm, das die Leistungsmerkmal-Kooperation sowohl zwischen den Benutzer-Agents als auch innerhalb dieser gemäß einer exemplarischen Implementierung der vorliegenden Erfindung zeigt.
  • Beschreibung der bevorzugten Ausführungsformen
  • Es gibt einige grundlegende Konzepte, die für das Verständnis der Operationsprinzipien des erfindungsgemäßen Systems unerlässlich sind. Dazu zählen die Konzepte von Knoten und Bäumen, Knotenaktion, Operatoren und inhärenten Aktionen von Knoten sowie deontischen Modalitäten.
  • Die Operationen von Leistungsmerkmalen im System gemäß der vorliegenden Erfindung werden hier anhand des Verhaltens von Knoten beschrieben, die in einer Baumstruktur angeordnet sind. Die Ausführung der Bäume erfolgt tiefenorientiert („depth first") von links nach rechts. Jeder Knoten führt eine Aktion aus oder führt eine Beobachtung durch und meldet das Auftreten oder Nichtauftreten der Aktion oder Beobachtung an seinen übergeordneten Knoten (was selbstverständlich nicht für den obersten Knoten gilt). Die Operation der untergeordneten Knoten wird durch ihren übergeordneten Knoten initiiert, und zwar in Form eines Satzes von Operatoren, die diese Sequenzierung definieren.
  • Wie oben angedeutet wurde, handelt es sich bei den Knoten um Elemente, die im System gemäß der vorliegenden Erfindungen Aktionen ausführen und Beobachtungen durchführen. Diese Operationen werden hier im Folgenden zusammengefasst mit dem Begriff „Knotenaktion" bezeichnet. Es gibt vier grundlegende Aktionen, die ein Knoten ausführen kann. Diese sind:
    • – ASK – Knoten koordinieren ihre Aktivität mit der von anderen Bäumen. Tatsächlich kann ein Leistungsmerkmal-Baum seine Aktionen infolge von Ratschlägen modulieren, die von anderen Agents gegeben werden. Mit diesem Operator platziert der Knoten eine Assertion in einem Tupelspace, die seine Absicht zur Ausführung einer Aktion (z. B. um Erlaubnis bitten) angibt. Um die Erlaubnis zu erhalten, kann der Knoten eine bestimmte Zeitdauer auf Antworten von irgendeinem anderen Leistungsmerkmal warten, das sich entscheidet, einen Ratschlag zu dieser Absicht zu geben. Dann wird eine interne Richtlinie verwendet, um in Abhängigkeit des Ratschlags zu entscheiden, ob fortgesetzt werden soll oder nicht. Diese Aktion wurde ursprünglich in der gleichzeitig anhängigen UK-Anmeldung Nr. 9920051.1 erläutert, wird jedoch hier erweitert.
    • – STATE – Ein Knoten platziert eine Assertion im Tupelspace, bei der es sich um eine Benachrichtigung über seine Absicht handelt, beispielsweise ein relevantes Leistungsmerkmal auszulösen usw. Dies ist eine atomare Aktion, die sofort fortgesetzt wird, ohne auf Wechselwirkungen von anderen Leistungsmerkmalen zu warten.
    • – ACT – Ein Knoten platziert eine Assertion im Tupelspace, die eine Aktion in der physischen Umgebung ausführt (z. B. Herstellen einer Verbindung, Anwenden von Rufsignalen usw.).
    • – OBSERVE – Ein Knoten platziert eine Assertion im Space, um Ereignisse zu überwachen, die Auskunft geben über einen von zwei Zuständen der physischen Welt oder über Anforderungen von anderen Agents für seine Aktionen Auskunft geben. Der Knoten sucht nach Zuständen der physischen Welt wie „Benutzer hat abgehoben", „Benutzer ist verfügbar" usw. Diese Aktion wird zum Suchen nach Nachrichten von anderen Knoten verwendet, beispielsweise über die Absicht zur Ausführung einer Aktion, über die Vorbedingung für sein eigenes Verhalten usw.
  • Jeder Knoten kann eine inhärente Aktion oder Beobachtung haben sowie untergeordnete Knoten, die eigenständig Aktionen ausführen können. Der Knoten ist mit einem Operator versehen, der angibt, wie die Aktionen seiner untergeordneten Knoten organisiert werden sollen. Die Operatoren sind:
    • – PARALLEL – Die untergeordneten Knoten werden gleichzeitig ausgelöst. Der Knoten wartet auf eine Antwort von jedem einzelnen untergeordneten Knoten.
    • – SEQUENCE – Die untergeordneten Knoten werden der Reihe nach von links nach rechts ausgelöst. Wie der Name bereits andeutet, ist durch dieses Verhalten eine Sequenz von Aktionen und/oder Beobachtungen definiert.
    • FORK – Die untergeordneten Knoten werden gleichzeitig ausgelöst. Der Knoten wartet nur auf die erste Antwort. Alle anderen Antworten werden ignoriert
    • – CHOICE – Die Knoten werden von links nach rechts ausgelöst. Der Knoten wartet auf die erste Antwort, die ein Auftreten oder Nichtauftreten angibt, das als Erfolg interpretiert werden kann, wie das weiter unten im Detail beschrieben wird.
    • – SELECT – Bei diesem Operator wird jeder einzelne untergeordnete Knoten mit einem Prädikat assoziiert, das auf dem Wert eines Fakts in einer Assertion im Tupelspace basiert. Die Bewertung der Prädikate erfolgt von links nach rechts. Der untergeordnete Knoten, der das erste als wahr geltende Prädikat enthält, wird ausgelöst. Durch den Operator wird nur ein einziger untergeordneter Knoten ausgelöst. Wenn kein untergeordneter Knoten ausgelöst wird, nimmt der Knoten ein Nichtauftreten von den untergeordneten Knoten an.
  • Es wird ins Auge gefasst, dass auch andere Operatoren als die oben beschriebenen erstellt werden können (z. B. ein Operator, der CHOICE ähnelt, bei dem alle Knoten mit wahren Prädikaten ausgelöst werden). Damit soll die obige Liste nicht als erschöpfend gelten.
  • Wie oben beschrieben wurde, hat jeder Knoten seine eigene inhärente Aktion. Diese Aktion wird ausgeführt, bevor die Aktionen der untergeordneten Knoten mit dem entsprechenden Operator ausgelöst werden.
  • Die deontischen Modalitäten werden unten beschrieben. Es wird jedoch angenommen, dass jede inhärente Aktion die deontische Modalität „Obligatorisch" hat.
  • Das Auftreten oder Nichtauftreten der durch einen Knoten definierten Aktion ist eine Komposition aus dem Erfolg der inhärenten Aktion und dem zusammengesetzten Erfolg des Auftretens oder Nichtauftretens der untergeordneten Knoten, wie das unten beschrieben wird. Sowohl die eigene Aktion des Knotens als auch die Aktionen seiner untergeordneten Knoten müssen als erfolgreich interpretiert werden, damit für die Aktion des Knotens gilt, dass diese aufgetreten ist. Ansonsten erfolgt die Interpretation als Nichtauftreten.
  • Die deontische Logik ist die Logik der Obligation (Verpflichtung); sie kann beispielsweise verwendet werden, um die Abhängigkeiten zu definieren, die wiederum die Verantwortlichkeiten für Aktionen innerhalb einer Bürokratie definieren. Durch Argumentation mit dieser Logik kann man ermitteln, ob die Richtlinien innerhalb einer Organisation konsistent oder inkonsistent sind, wenn jemand verpflichtet ist, sowohl etwas zu tun als auch dieses nicht zu tun, oder wenn Situationen nicht von einer Richtlinie abgedeckt sind.
  • Es gibt vier Modalitäten, die in Tabelle 1 gezeigt werden, aber alle können aus den grundlegenden Obligationen abgeleitet werden. Damit bedeutet O(P), dass der Vorschlag obligatorisch ist. In der Offenlegung der vorliegenden Erfindung werden nur die Modalitäten O, P und I verwendet. Tabelle 1 – Erklärung der deontischen Modalitäten
    Figure 00150001
  • Wie bereits in dieser Offenbarung beschrieben wurde, werden Leistungsmerkmale hinsichtlich der Operation eines Satzes von Knoten definiert, die in einer Baumstruktur angeordnet sind. Alle Knoten außer dem obersten Knoten in einer Struktur verfügen über einen übergeordneten Knoten. Der übergeordnete Knoten platziert deontische Modalitäten zum Verhalten jedes seiner untergeordneten Knoten. Jeder untergeordnete Knoten meldet das Auftreten oder Nichtauftreten der Aktion oder der Beobachtung, die ihm zugewiesen ist. Das Auftreten oder Nichtauftreten wird gemäß Tabelle 2 für den übergeordneten Knoten als Erfolg interpretiert. Tabelle 2
    Figure 00160001
  • Diese Tabelle zeigt, dass das Auftreten oder Nichtauftreten eines „Erlaubt"-Knotens keine Auswirkung auf die Interpretation durch den übergeordneten Knoten als Erfolg hat. Die Modalität „Erlaubt" identifiziert Knoten, deren Aktionen oder Beobachtungen nicht wesentlich für den Erfolg oder das Fehlschlagen des gesamten Leistungsmerkmals sind. Sie können nach Belieben eliminiert werden, um eine Aktion zu verhindern, die eventuell gegen die Einschränkung eines anderen Leistungsmerkmals verstößt.
  • Wie bereits zuvor erwähnt wurde, verfügt ein Knoten über seine eigene inhärente Aktion oder Beobachtung sowie über deontische Modalitäten für das Auftreten oder Nichtauftreten der Aktionen oder Beobachtungen seiner untergeordneten Knoten. Der Knoten kombiniert das Auftreten seiner eigenen Aktion mit dem zusammengesetzten Erfolg seiner untergeordneten Knoten (siehe Tabelle 3). Tabelle 3 – Zusammengesetzter Erfolg der untergeordneten Knoten
    Figure 00170001
  • Der zusammengesetzte Erfolg der untergeordneten Knoten ist eine Interpretation des Auftretens oder Nichtauftretens von deren Aktion oder Beobachtung und des Operators, der deren Aktion sequenziert.
  • Um es noch einmal zu wiederholen: Für die inhärente Aktion eines Knotens gilt, dass sie in Sequenz mit den Aktionen seiner untergeordneten Knoten erfolgt. Damit setzt sich das Auftreten oder Nichtauftreten der Aktionen oder Beobachtungen eines Knotens unter dem Sequenz-Operator aus dem Erfolg der dem Knoten inhärenten Aktion (die immer als obligatorisch gilt) und aus dem zusammengesetzten Erfolg seiner untergeordneten Knoten zusammen. Damit muss sowohl die dem Knoten inhärente Aktion oder Beobachtung als auch die der untergeordneten Knoten des Knotens erfolgreich sein, damit die Gesamtaktion oder -beobachtung des Knotens als aufgetreten betrachtet wird. Ansonsten wird sie als nicht aufgetreten betrachtet.
  • Es folgt eine XML-DTD, die eine Sprache zum Spezifizieren eines Leistungsmerkmal-Spezifizierungssystems beschreibt, das auf dem System gemäß der vorliegenden Erfindung basiert:
    Figure 00170002
  • Figure 00180001
  • 1 gibt einen grundlegenden Überblick über das System gemäß der vorliegenden Erfindung. Es besteht aus einer Anzahl von Benutzer-Agents 1, die durch Assertions kommunizieren, die über den Tupelspace 3 ausgetauscht werden. Jeder dieser Agents ist für die Leistungsmerkmale für eine Einzelperson oder eine Gruppe innerhalb der Population verantwortlich, die von diesem System bedient wird. Über die Programmierung dieser Agents wird die Individualisierung und Personalisierung von Leistungsmerkmalen für jeden einzelnen Benutzer und für jede Gruppe erreicht. Die Agents 1 kommunizieren miteinander durch die Assertions und sind durch die im Tupelspace 3 postierten Assertions in der Lage, in der realen Welt 5 Ereignisse zu beobachten und Operationen zu steuern.
  • Vor der detaillierten Betrachtung des Tupelspace 3 folgt eine kurze Einführung zur grundlegenden Struktur und Operation eines Tupelspace.
  • Ein Tupelspace ist ein Satz von geordneten Paaren aus Typ und Wert, die als Ingles bezeichnet werden. Jedes Ingle besteht aus einem Typ (z. B. Name) und einem Wert (z. B. John Doe). Damit kann ein Tupel, das einen Mitarbeiter eines Unternehmens beschreibt, beispielsweise folgendermaßen aussehen:
    { :name John Doe :age 37 :employee_number 12345 :start_date 810126 :position T12 }
  • Der Tupelspace ermöglicht die Koordination durch Zulassen von Abfragen auf der Basis der Übereinstimmung von Tupeln durch Anti-Tupel. Ein Anti-Tupel ist ein Tupel, das als eine Abfrage in dem Tupelspace verwendet werden kann. Von der Form her ist es identisch mit dem Tupel, außer dass der Wert für ein beliebiges Feld oder für alle Felder durch ein „?" ersetzt sein kann, was eine Nicht-Berücksichtigen-Bedingung angibt. Tupelspaces werden eingerichtet, um Tupel in Übereinstimmung mit Anti-Tupeln zu bringen, die in allen Feldern außer dem durch die ?-Abfrage angegebenen Feld übereinstimmen. Damit würde das Anti-Tupel:
    { :name ? :age 37 :employee_number ? :start_date ? :position T12 }
    die Tupel für alle Mitarbeiter auf der Position T12 zurückgeben, deren Alter (age) 37 Jahre beträgt.
  • Die konventionellen Operationen im Tupelspace umfassen:
    • Poke – Platzieren eines Tupels im Tupelspace. Es kann die Dauer spezifiziert werden, wie lange dieses Tupel im Space verbleiben soll. Dabei kann es sich um jede Zeitdauer bis zu unendlich handeln.
    • Peek – Abfragen des Tupelspace mit einem Anti-Tupel. Für diese Abfrage kann eine beliebige Zeitdauer bis zu unendlich spezifiziert werden. Kopien von übereinstimmenden Tupeln werden über die Schnittstelle zurückgegeben, und die Tupel verbleiben im Tupelspace.
    • Pick – Abfragen des Tupelspace mit einem Anti-Tupel. Für diese Abfrage kann eine beliebige Zeitdauer bis zu unendlich spezifiziert werden. Kopien von übereinstimmenden Tupeln werden über die Schnittstelle zurückgegeben, und die Tupel werden aus dem Tupelspace entfernt.
    • Cancel – Mit dem spezifizierten Anti-Tupel werden alle übereinstimmenden Anti-Tupel aus dem Tupelspace entfernt. Die Tupel selbst können direkt durch eine entsprechende Pick-Anforderung entfernt werden.
  • Damit wird der Tupelspace 3 in dem System gemäß der vorliegenden Erfindung verwendet, um die Kommunikation und damit die Kooperation zwischen Leistungsmerkmalen zu ermöglichen. Die Leistungsmerkmale kommunizieren mit Hilfe von Assertions, die im Tupelspace gespeichert sind. Leistungsmerkmale können Assertions abonnieren, deren Inhalt Auskunft über Aktionen gibt, die für einen laufenden Anruf von Interesse sind.
  • Bezug nehmend auf die oben gezeigte XML-DTD erhält jeder Benutzer 1 (user) einen eindeutigen Namen, der im name-Element eines Tupels gespeichert wird, Wie oben erläutert wurde, wird ein Satz personalisierter Leistungsmerkmale, zusammen mit den für ihn geltenden Unternehmenseinschränkungen, in Form eines Satzes deontischer Task-Bäume definiert. Der Satz aus Benutzer-Leistungsmerkmalen wird im feature_set-Element eines Tupels gespeichert, um einen Mechanismus zum Abonnieren und Publizieren mit dem Tupelspace 3 zu betreiben. Um eine effiziente Implementierung zu erreichen, sind im Tupelspace 3 verschiedene Sätze von Abonnements und Publikationen eingerichtet, die je nach Bedarf eingehenden Anrufen zugeordnet werden können. Diese bilden einen Pools aus Leistungsmerkmal-Logik-Handlern, die jedem eingehenden Anruf Dienste bereitstellen.
  • Wie oben erläutert wurde, handelt es sich bei einem Baum um eine hierarchische Struktur, die die individuellen Knoten enthält, welche die Aktionen ausführen und die Beobachtungen durchführen, die für ein Leistungsmerkmal erforderlich sind. Das in der obigen DTD definierte Baumelement (d. h. <!ELEMENT tree (node, (tree)*)>) enthält die rekursive Definition dieser Knotenstruktur.
  • Jeder Baum schließt einen Lokalspeicher zur Handhabung von Assertions ein, die nur für ihn selbst von Interesse sind. Die Anzahl dieser lokalen Assertions wird durch das num local assertion-Attribut definiert.
  • Jeder Baum verfügt auch über eine Vorbedingung, die seine Aktivität auslöst. Diese Vorbedingung ist im precondition-Attribut gespeichert.
  • Der Knoten ist das Element, das die Struktur für Aktionen und Beobachtungen enthält, die für die Operation des Leistungsmerkmals erforderlich sind.
  • Tabelle 4 enthält Erklärungen zur Verwendung der Knotenattribute: Tabelle 4 – Erklärung der Knotenattribute
    Figure 00210001
    Figure 00220001
  • Das Format einer Assertion ist SCOPE FACT TASK MODULATOR. Damit kann aus der obigen DTD entnommen werden, dass jede Assertion über einen SCOPE (Umfang) und einen FACT (Fakt) verfügen muss. Optional kann die Assertion eine TASK einschließen, und mit der optionalen TASK können auch ein oder mehrere MODULATORS verbunden sein. Es folgen Assertions für den Tupelspace 3, wie sie im System gemäß der vorliegenden Erfindung verwendet werden:
  • Scope
    Scope (oder Umfang) im Sinne dieser Offenbarung bedeutet den Namen für eine Assertion, die zur Abonnierung durch einen Knoten verwendet werden kann. In der folgenden Beschreibung wird davon ausgegangen, dass Scope aus dem Leistungsmerkmal-Satz besteht.
    Fact
    Fact (oder Fakt) ist eine Tatsache über den Benutzer, die Umgebung usw.
    Task
    Eine Task ist eine Beschreibung eines Ziels, dessen Durchführung durch den Empfänger vom Sender gefordert wird. Sie liegt in Form einer Modalität vor und hat ein Ziel, wie in O(Erzeugen) – auf Englisch: O(Originate).
    Modulator
    Beim Vorhandensein einer Task können optional Modulatoren in die Assertion platziert werden. Dabei handelt es sich um eine Einschränkung, die der Sender für die Ausführung des von ihm gesendeten Ziels platziert. Sie haben die Form I(Umleiten) – auf Englisch: I(Redirect).
  • Einige Beispiele für Assertions sind:
    • – Umfang Vorbedingung Ausführen O (Erzeugen)I(Umleiten) – auf Englisch: Scope Precondition Perform O(Originate) I(Redirect)
    • – Umfang 1742 O(Umleiten) – auf Englisch: Scope 1742 O(Redirect)
    • – Umfang Wahr – auf Englisch: Scope True
  • Es gibt auch einen Satz gut bekannter Assertions, die für die Operation auf der Ebene des Systems, des Benutzers und der Sitzung signifikant und nützlich für alle Knoten sind. Dazu gehören:
    • – Urheber Besetzt – auf Englisch: Originator Busy
    • – Urheber Aufgelegt – auf Englisch: Originator ON Hook
    • – System Überlastet – auf Englisch: System Overload
  • 2 veranschaulicht die Diagrammkonvention gemäß der vorliegenden Erfindung, was ein leichteres Verständnis eines Baums ermöglicht. Die Knoten sind durch die rechteckigen Felder dargestellt, die Erklärungen zu ihren Aktionen enthalten. Die Knoten sind durch Pfeile zwischen untergeordneten und übergeordneten Knoten verbunden, wobei sich der übergeordnete Knoten oben befindet.
  • Der Operator für die untergeordneten Knoten wird durch das Element angegeben, das die Pfeile miteinander verbindet, die vom übergeordneten zu den untergeordneten Knoten verlaufen. In diesem Beispiel wird der Pfeil mit der Bedeutung von SEQUENCE und der Bogen mit der Bedeutung von PARALLEL zur Veranschaulichung verwendet. Die Symbole für alle Operatoren werden unten im Zusammenhang mit 3 erläutert.
  • Es wird bemerkt werden, dass sich der Sequenz-Operator beim obersten Knoten befindet. Dies ist eine Veranschaulichung der oben beschriebenen impliziten Sequenz. Die eigene Aktion des Knotens wird dabei zuerst in der Sequenz mit der Aktivität der untergeordneten Knoten durchgeführt. Da alle Knoten diese Sequenz haben, einschließlich expliziter Educators der impliziten Sequenz in jedem Diagramm, wird hier zur Vermeidung eines unübersichtlichen und konfusen Erscheinungsbilds eine Konvention verwendet, dass eine einem Knoten inhärente Aktion im Feld daneben angegeben wird, wobei nur die Verbindungen zu den untergeordneten Knoten gezeigt werden.
  • 3 zeigt die Indikatoren, die für jeden der Operatoren verwendet werden.
  • 4 ist eine Abbildung eines typischen Leistungsmerkmals, die zur Erklärung der Baum-Operation verwendet werden soll. Der Baum ist mit Knoten und deren Namen, Operatoren und Modalitäten dargestellt. Wie oben erläutert wurde, wurde die dem Knoten inhärente Aktion der Übersichtlichkeit halber weggelassen.
  • Wie oben erläutert wurde, handelt es sich bei der Vorbedingung eines Baums in der Realität um die inhärente Aktion des obersten Knotens, die in Sequenz mit dem Rest des Baums ausgeführt wird. Laut Konvention wird die Vorbedingung in einem Feld oberhalb des obersten Knotens gezeigt.
  • Wenn ein beliebiger und alle Bäume innerhalb eines Leistungsmerkmals-Satzes eines Benutzer-Agents 1 instanziiert werden, abonnieren sie alle beim Tupelspace 3 eine Assertion in Form ihrer Vorbedingung. In diesem Sinne sind alle Bäume zu jedem Zeitpunkt aktiv, wobei die Mehrheit von ihnen auf ihre Vorbedingungen (Preconditions) wartet.
  • Wenn die Vorbedingung erfüllt ist, startet ein Baum mit der Operation tiefenorientiert („depth-first") von links nach rechts. Unter Bezugnahme auf 4 erklärt ein anderer Baum im Netzwerk als Reaktion auf einen Benutzer, der auflegt, die Assertion in Form des Tupels (Ausführen O(Erzeugen) (I Umleiten)) – auf Englisch: (Perform O (Originate) (I Redirect)). Zum einfacheren Verständnis ist der SCOPE-Wert nicht dargestellt, da es sich dabei um einen opaken Wert handelt, der in allen Bäumen und Assertions verwendet wird, um zwischen den Assertions zu unterscheiden, die von mehreren Anrufen generiert werden, die gemeinsam den Tupelspace 3 verwenden. Nachdem die Vorbedingung „Ausführen (O Erzeugen) (I Umleiten)" – auf Englisch Perform (O Originate) (I Redirect) – erfüllt ist, startet der Baum mit der Operation tiefenorientiert mit dem linken Knoten, Warten bis Urheber auflegt – auf Englisch: Wait Originator On Hook -, dessen Aktion eine Beobachtung ist. Er abonniert die gut bekannte Assertion für das Auflegen des anrufenden Agents, bis diese wahr wird. Da dieser Knoten eine Modalität I hat, was für eine Verboten-Modalität (Englisch: Interdicted) steht, wird das Fehlen einer Aufgelegt-Bedingung als ein Erfolg gewertet. Das repräsentiert eine „Schutz"-Bedingung für den Baum, indem das Fehlschlagen des Aufgelegt-Auftretens (d. h. Erfolg für diesen I-Modalitätsknoten) für die gesamte Operation des Baums beibehalten werden muss.
  • Die Operation des Baums wird als nächstes mit einer Reihe von Knoten bis zum Knoten am weitesten links in der verbleibenden Sequenz fortgesetzt, der den Namen ID erfassen – auf English: Collect ID – trägt. Dieser Knoten verwendet ein Standardverfahren zur Erlangung der Identität der angerufenen Partei vom Benutzer 1 aus. Wie in 4 angegeben, kann dies durch Erfassung von Ziffern erfolgen. Es wird bemerkt werden, dass dieser Knoten die Modalität O für Obligatorisch hat. Damit wird, wenn aus irgendeinem Grund die Ziffern nicht erfasst werden können, das Nichtauftreten an den übergeordneten Knoten gemeldet, der dies als einen Fehlschlag interpretiert. Der übergeordnete Knoten gibt dann seine on failure-Assertion aus, um andere Leistungsmerkmale über diesen Fehlschlag zu unterrichten und um das Bereinigen der Nebeneffekte aufzunehmen usw. Das Nichtauftreten wird nach oben gemeldet und als Fehlschlag interpretiert. Schließlich erreicht diese Meldung den obersten Knoten, der auf diese Weise erfährt, dass das Leistungsmerkmal fehlgeschlagen ist, und alle notwendigen Assertions ausgibt, um damit umzugehen.
  • Der nächste Knoten in der Sequenz, Ziel verifizieren – auf Englisch: Verifiy Destination –, hat die Modalität P für Permitted = Erlaubt. Der Knoten gibt ein Beobachtungs-Abonnement für Details der angerufenen Partei aus. Allerdings erachtet der übergeordnete Knoten im Fall des Nichtauftretens die Aktion des Knotens weiterhin als erfolgreich. Das ist ein sehr wichtiger Aspekt der vorliegenden Erfindung.
  • Die Modalitäten ermöglichen die Angabe, wie Wechselwirkungen mit anderen Leistungsmerkmalen betrachtet werden sollen. Wenn ein anderes Leistungsmerkmal eine „Obligatorisch"-Aktion nicht ausführen kann, schlägt das aktuelle Leistungsmerkmal fehl. Wenn es eine „Verboten"-Assertion für einen Beobachter ausgegeben hat, schlägt das aktuelle Leistungsmerkmal fehl. Mit „Erlaubt" kann dagegen ein Leistungsmerkmal mit allen Operationen spezifiziert werden aber es kann angegeben werden, welche Operationen für die gesamte Operation des Leistungsmerkmals nicht wichtig sind. Das vereinfacht zum Entwicklungszeitpunkt erheblich die Spezifizierung und Erkennung von unerwünschten Wechselwirkungen, indem angegeben wird, welche Knoten aus dieser Betrachtung eliminiert werden können. Es ist bestens bekannt, dass ein großes Problem bei den Verfahren nach dem Stand der Technik zum Erkennen von Wechselwirkungen zur Laufzeit in der Erkennung einer großen Anzahl von unerwünschten Wechselwirkungen besteht. Dabei handelt es sich um keine wirklichen Wechselwirkungen, sie werden aber als solche durch die Einschränkungen des Spezifizierungssystems gefunden, das diese identifiziert. Die vorliegende Erfindung geht dieses Problem an, und stellt denselben Vorteil auch zur Laufzeit bereit, indem ein laufendes Leistungsmerkmal triviale und unerwünschte Wechselwirkungen ignorieren kann, die für den Gesamterfolg des Leistungsmerkmals keine Bedeutung haben.
  • Es wird erkannt werden, dass es im Leistungsmerkmal zwei Beobachter gibt, die für den Aufgelegt-Zustand ausgegeben werden – einer für den Urheber und einen für das Ziel. Es wird außerdem erkannt werden, dass diese, sobald sie ausgegeben wurden, weiterhin ausgeführt werden, bis der entsprechende Agent auflegt. Da diese beiden verboten sind, wird ihr Auftreten zu einem Fehlschlagen des Anrufs führen, indem ihr Nichtauftreten durch den deontischen Baum nach oben weitergemeldet wird. Das zeigt einen weiteren Vorteil der Semantik, die durch die vorliegende Erfindung bereitgestellt wird. Die Bäume sind nicht lediglich Prozess-Sequenzen von Operationen, sondern sie geben auch an, wie unabhängige Knoten ihre Operation sequenzieren sollen. Einmal ausgelöste Knoten können unabhängig voneinander operieren. Es können Beobachter ausgegeben werden, die das Verhalten eines Anrufs bestimmen und sicherstellen können, dass ihre Operationsbasis nicht verletzt wurde. Der wirkliche Zweck des Leistungsmerkmals aus 4 besteht im Einrichten und Beibehalten eines Pfades zwischen Urheber und Ziel. Wenn eine der beiden Parteien auflegt, schlägt das Leistungsmerkmal fehl (d. h. es ist nicht mehr erforderlich) und bereinigt seine Nebeneffekte. Die Beobachter operieren, um diese Funktionalität zu bewirken. Damit überwacht der Knoten „Warten bis Urheber auflegt" nicht nur den Anruf, nachdem er aufgebaut wurde, sondern auch während des Aufbaus. Sogar während des Aufbaus erkennt der Beobachter, wenn der Urheber auflegt, um auf den Anruf zu verzichten, und bewirkt das Fehlschlagen des Leistungsmerkmals, wodurch alle notwendigen Bereinigungsmaßnahmen eingeleitet werden.
  • 5 veranschaulicht die Leistungsmerkmal-Kooperation sowohl zwischen den Benutzer-Agents als auch innerhalb der Benutzer-Agents. Das Diagramm ist selbsterklärend. Es zeigt, wie die Leistungsmerkmale kooperieren, indem sie Assertions austauschen. Insbesondere zeigt es, wie ein fehlgeschlagenes Leistungsmerkmal ein anderes Verhalten auslösen kann, um die Benutzerbedürfnisse zu erfüllen. Innerhalb des Leistungsmerkmals „Abschließen" wartet das Leistungsmerkmal „Anruf anzeigen", bis die Abschlusseinheit abgehoben hat. Wenn das nicht auftritt und die Timeout-Zeit für den Knoten überschritten wird, gibt es die Assertion „Keine Antwort" aus, die den Knoten „Anrufweiterleitung" auslöst, da diese Assertion seine Vorbedingung ist. Dies zeigt, wie das Standard-Leistungsmerkmal „Anrufweiterleitung wenn keine Antwort" intervenieren kann, um weiter die Aufgabe der Zielkontaktierung zu verfolgen, selbst wenn das Standard-Leistungsmerkmal „Abschließen" nicht zum Erfolg führen kann.
  • Die Leistungsmerkmal-Ausführung aus 4 und 5 sind veranschaulichende Beispiele für das erfindungsgemäße System und das Verfahren zum Implementieren von personalisierbaren und individualisierbaren Leistungsmerkmalen unter Verwendung von Operationssemantik und deontischen Task-Bäumen.
  • Modifikationen und Variationen der Erfindung sind möglich. Alle derartigen Modifikationen und Variationen werden für im Bereich und im Umfang der vorliegenden Erfindung liegend erachtet, die durch die beigefügten Ansprüche definiert werden.

Claims (10)

  1. Ein Kommunikationssystem zum Implementieren von personalisierbaren und individualisierbaren Leistungsmerkmalen, umfassend: einen Tupelspace (3); und eine Vielzahl von Benutzer-Agents (1), welche die besagten Leistungsmerkmale repräsentieren, wobei die besagten Benutzer-Agents über Mittel zum Kommunizieren miteinander über Assertions verfügen, die im besagten Tupelspace postiert werden, sowie über Mittel zum Implementieren der besagten Leistungsmerkmale bei gleichzeitiger Vermeidung von Leistungsmerkmal-Wechselwirkungen, dadurch gekennzeichnet, dass jedes der besagten Leistungsmerkmale als ein Satz deontischer Task-Bäume strukturiert ist, die verfügen über einen übergeordneten Knoten mit einer obligatorischen inhärenten Aktion und über eine Vielzahl von untergeordneten Knoten mit jeweiligen Knotenaktionen, die so eingerichtet sind, dass sie gemäß einer vorgegebenen Sequenz ausgeführt werden, und so eingerichtet sind, dass sie ihre Ergebnisse an den besagten übergeordneten Knoten zurückmelden, wobei der besagte übergeordnete Knoten so eingerichtet ist, dass er deontische Modalitäten zum Verhalten der besagten untergeordneten Knoten platziert, sodass eine erfolgreiche Implementierung des besagten Leistungsmerkmals aus dem erfolgreichen Auftreten der besagten inhärenten Aktionen und aus dem zusammengesetzten Erfolg der Knotenaktionen der besagten untergeordneten Knoten resultiert.
  2. Ein Kommunikationssystem gemäß Anspruch 1, dadurch gekennzeichnet, dass der besagte übergeordnete Knoten über einen Sequenz-Operator verfügt, der so eingerichtet ist, dass er die besagte vorgegebene Sequenz definiert.
  3. Ein Kommunikationssystem gemäß Anspruch 1 oder Anspruch 2, dadurch gekennzeichnet, dass die besagten Knotenaktionen eine ASK-Aktion umfassen, die so eingerichtet ist, dass sie eine Assertion im besagten Tupelspace platziert, mit der um Erlaubnis zur Ausführung einer beabsichtigten Aktion angefragt wird, so eingerichtet ist, dass sie eine Zeitdauer auf Antworten von irgendwelchen anderen Leistungsmerkmalen wartet, die auf die besagte Assertion abonniert sind, und danach so eingerichtet ist, dass sie die besagte beabsichtigte Aktion basierend auf einer internen Richtlinie und auf der Basis der besagten Antworten entweder fortsetzt oder abbricht.
  4. Ein Kommunikationssystem gemäß jedem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die besagten Knotenaktionen eine atomare STATE-Aktion umfassen, die so eingerichtet ist, dass sie eine Assertion im besagten Tupelspace platziert, mit der alle abonnierten Leistungsmerkmale über eine Absicht zum Ausführen einer beabsichtigten Aktion benachrichtigt werden, und die danach so eingerichtet ist, dass sie die besagte beabsichtigte Aktion fortsetzt.
  5. Ein Kommunikationssystem gemäß jedem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die besagten Knotenaktionen eine ACT-Aktion umfassen, die so eingerichtet ist, dass sie eine Assertion im besagten Tupelspace platziert, die eine Aktion im besagte Kommunikationssystem ausführt.
  6. Ein Kommunikationssystem gemäß jedem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die besagten Knotenaktionen eine OBSERVE-Aktion umfassen, die so eingerichtet ist, dass sie eine Assertion im besagten Tupelspace platziert, um Ereignisse, die Auskunft über einen von zwei Zuständen im besagten Kommunikationssystem geben, oder Anforderungen von anderen Agents für dessen Aktionen zu überwachen.
  7. Ein Kommunikationssystem gemäß Anspruch 2 oder gemäß jedem der Ansprüche 3 bis 6 bei Abhängigkeit von Anspruch 2, dadurch gekennzeichnet, dass der besagte Sequenz-Operator jeden der folgenden Operatoren umfasst: – PARALLEL – wobei alle untergeordneten Knoten so eingerichtet sind, dass sie gleichzeitig ausgelöst werden, und der besagte übergeordnete Knoten so eingerichtet ist, dass er auf eine Antwort von jedem einzelnen untergeordneten Knoten wartet, bevor er entweder die erfolgreiche Implementierung oder das Fehlschlagen des besagten Leistungsmerkmals meldet; – SEQUENCE – wobei die besagten untergeordneten Knoten so eingerichtet sind, dass sie der Reihe nach von links nach rechts ausgelöst werden, und der besagte übergeordnete Knoten so eingerichtet ist, dass er auf eine Antwort von jedem einzelnen untergeordneten Knoten wartet, bevor er entweder die erfolgreiche Implementierung oder das Fehlschlagen des besagten Leistungsmerkmals meldet; – FORK – wobei die besagten untergeordneten Knoten so eingerichtet sind, dass sie gleichzeitig ausgelöst werden, und der besagte übergeordnete Knoten so eingerichtet ist, dass er auf eine erste Antwort von einem der besagten untergeordneten Knoten wartet, bevor er entweder die erfolgreiche Implementierung oder das Fehlschlagen des besagten Leistungsmerkmals meldet; – CHOICE – wobei die besagten untergeordneten Knoten so eingerichtet sind, dass sie der Reihe nach von links nach rechts ausgelöst werden, und der besagte übergeordnete Knoten so eingerichtet ist, dass er auf eine erste Antwort von einem der besagten untergeordneten Knoten wartet, bevor er entweder die erfolgreiche Implementierung oder das Fehlschlagen des besagten Leistungsmerkmals meldet; und – SELECT – wobei jeder einzelne untergeordnete Knoten so eingerichtet ist, dass er mit einem Prädikat assoziiert werden, das auf dem Wert eines Fakts in einer Assertion im besagten Tupelspace basiert, und dass nur derjenige untergeordnete Knoten zur Auslösung eingerichtet ist, der das erste als wahr geltende Prädikat enthält, und wenn kein untergeordneter Knoten ausgelöst wird, ist der übergeordnete Knoten so eingerichtet, dass er ein Nichtauftreten von den untergeordneten Knoten annimmt.
  8. Ein Kommunikationssystem gemäß jedem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die besagten deontischen Modalitäten die folgenden Modalitäten umfassen: Obligatorisch, was bedeutet, dass die assoziierte Aktion auftreten muss, um als erfolgreich zu gelten; Verboten, was bedeutet, dass die assoziierte Aktion nicht auftreten darf, um als erfolgreich zu gelten; und Erlaubt, was bedeutet, dass die assoziierte Aktion nicht auftreten muss, um als erfolgreich zu gelten.
  9. Ein Kommunikationssystem gemäß jedem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die besagten Assertions, im besagten Tupelspace postiert, umfassen: Umfang – zum Benennen der besagten Assertions für das Abonnement durch einen Knoten; Fakt – zum Vermitteln von Informationen über einen Benutzer; Task – zum Definieren eines Ziels, dessen Ausführung durch eine Empfängeraktion von einer Senderaktion erfordert wird; und Modulator – zum Platzieren einer Einschränkung für die Ausführung des Ziels, das eine Senderaktion gesendet hat.
  10. Ein Verfahren zum Implementieren von personalisierbaren und individualisierbaren Leistungsmerkmalen in einem Kommunikationssystem mit einem Tupelspace (3) und einer Vielzahl von Benutzer-Agents (10), welche die Leistungsmerkmale repräsentieren, wobei das Verfahren umfasst: Einrichten der besagten Benutzer-Agents zum Kommunizieren miteinander über Assertions, die im besagten Tupelspace postiert werden, um die besagten Leistungsmerkmale zu implementieren, dadurch gekennzeichnet, dass jedes der besagten Leistungsmerkmale als ein Satz deontischer Task-Bäume strukturiert ist, die verfügen über einen übergeordneten Knoten mit einer obligatorischen inhärenten Aktion und über eine Vielzahl von untergeordneten Knoten mit jeweiligen Knotenaktionen, die gemäß einer vorgegebenen Sequenz ausgeführt werden; Zurückmelden der Ergebnisse der von den untergeordneten Knoten ausgeführten Aktionen an einen jeweiligen übergeordneten Knoten, sodass eine erfolgreiche Implementierung des besagten Leistungsmerkmals aus dem erfolgreichen Auftreten der besagten dem übergeordneten Knoten inhärenten Aktionen und aus dem zusammengesetzten Erfolg der Knotenaktionen der besagten untergeordneten Knoten resultiert; und Platzieren erlaubter deontische Modalitäten zum Verhalten von mindestens einem der besagten untergeordneten Knoten, um unerwünschte Leistungsmerkmal-Wechselwirkungen zu vermeiden.
DE60308776T 2002-08-12 2003-08-11 Beherrschen von Abhängigkeiten von individualisierten Leistungsmerkmalen in der IP Telephonie mittels deontischen Befehlsbäumen und Ablaufsoperatoren Expired - Lifetime DE60308776T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0218710.2A GB0218710D0 (en) 2002-08-12 2002-08-12 Personalizable and customizable feature execution for ip telephony using operational semantics and deontic task trees
GB0218710 2002-08-12

Publications (2)

Publication Number Publication Date
DE60308776D1 DE60308776D1 (de) 2006-11-16
DE60308776T2 true DE60308776T2 (de) 2007-08-09

Family

ID=9942151

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60308776T Expired - Lifetime DE60308776T2 (de) 2002-08-12 2003-08-11 Beherrschen von Abhängigkeiten von individualisierten Leistungsmerkmalen in der IP Telephonie mittels deontischen Befehlsbäumen und Ablaufsoperatoren

Country Status (5)

Country Link
US (1) US7522710B2 (de)
EP (1) EP1389865B1 (de)
CA (1) CA2436072C (de)
DE (1) DE60308776T2 (de)
GB (1) GB0218710D0 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US7436947B2 (en) * 2002-05-14 2008-10-14 Avaya Inc. Method and apparatus for automatic notification and response based on communication flow expressions
US8495163B2 (en) 2004-03-18 2013-07-23 Avaya, Inc. Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions
US8171474B2 (en) * 2004-10-01 2012-05-01 Serguei Mankovski System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface
EP1758052A1 (de) 2005-08-16 2007-02-28 Mitel Networks Corporation System und Architektur für die Behandlung von geteilten und persönlichen Präferenzen in der Gesprächsabwicklung und der Präsenz für IP Telephonie und gemeinschaftliche Anwendungen
US8266477B2 (en) * 2009-01-09 2012-09-11 Ca, Inc. System and method for modifying execution of scripts for a job scheduler using deontic logic
US20100268563A1 (en) * 2009-04-16 2010-10-21 Mitel Networks Corporation Proximity scripting
CA2956413A1 (en) 2016-01-28 2017-07-28 Mitel Networks Corporation Method and system of providing context aware announcements
US11050798B2 (en) 2019-05-31 2021-06-29 Mitel Networks Corporation Methods for establishing peer-to-peer communications using distributed call ledgers
CN113361888A (zh) * 2021-05-29 2021-09-07 北京威努特技术有限公司 一种基于任务树的工业环境资产安全管理方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504837A (en) 1993-05-10 1996-04-02 Bell Communications Research, Inc. Method for resolving conflicts among distributed entities through the generation of counter proposals by transversing a goal hierarchy with acceptable, unacceptable, and indeterminate nodes
CA2119085C (en) * 1994-03-15 2002-01-15 Deborah L. Pinard Adaptive communication system
US5963947A (en) 1998-01-27 1999-10-05 International Business Machines Corporation Technique of dynamically adding functionality from a client to manipulated data at a server
GB2351870B (en) 1999-07-09 2001-09-19 Mitel Corp Feature interaction resolution using fuzzy rules
GB2353612B (en) 1999-08-24 2003-11-12 Mitel Corp Processing by use of synchronised tuple spaces and assertions
GB2355140B (en) 1999-10-05 2003-09-03 Mitel Corp Security mechanism and architecture for collaborative software systems using tuple space
GB2375264B (en) 2001-05-02 2004-10-13 Mitel Knowledge Corp Remote assembly of messages for distributed applications

Also Published As

Publication number Publication date
GB0218710D0 (en) 2002-09-18
EP1389865B1 (de) 2006-10-04
US7522710B2 (en) 2009-04-21
DE60308776D1 (de) 2006-11-16
CA2436072A1 (en) 2004-02-12
CA2436072C (en) 2007-01-09
US20040028077A1 (en) 2004-02-12
EP1389865A1 (de) 2004-02-18

Similar Documents

Publication Publication Date Title
DE69733543T2 (de) Verfahren zum Anbieten von wenigstens einem Dienst an Fernmeldenetzbenutzern
DE69835158T2 (de) Zugriffpunkt zur dienstverwaltung
DE69732221T2 (de) Verfahren zum Anbieten von einem Dienst an Fernmeldenetzbenutzern
DE69333272T2 (de) Schnelles eingeben von merkmalen in fernmeldenetze
DE10010870B4 (de) Adaptiver regelbasierter Mechanismus und Verfahren zur Lösung gegenseitiger Beeinflussung von Leistungsmerkmalen
WO1999048306A1 (de) Simulator zur simulation eines intelligenten netzwerks
DE60308776T2 (de) Beherrschen von Abhängigkeiten von individualisierten Leistungsmerkmalen in der IP Telephonie mittels deontischen Befehlsbäumen und Ablaufsoperatoren
EP2271127B1 (de) Management von Objekten einer Technischen-Kommunikationsgruppen-Plattform durch von ihnen betroffene Teilnehmer
DE69836169T2 (de) Verfahren und System zur Implementierung intelligenter Telekommunikations-Dienstleistungen
EP2790394A1 (de) Verfahren und Vorrichtung zur Verwaltung eines Wiederholungsanrufs an ein Callcenter
DE69731182T2 (de) Nachrichtenverfahren zwischen einer Dienstvermittlungsstelle und einer Dienstkontrolleinrichtung in einem Fernmeldenetz
EP1162851B1 (de) Verfahren zur Kommunikation zwischen Kommunikationsnetzen
DE69920912T2 (de) Telekommunikationssystem zum bereitstellen von in- und nicht-in-diensten
DE69732132T2 (de) Dienstverwaltungssystem zur anwendung in kommunikationssystemen
DE10001417A1 (de) Verfahren, Vermittlungsstelle, Diensterechner, Programm-Modul und Schnittstelleneinrichtung zur Übermittlung von Telekommunikationsdienst-Daten zwischen einer Vermittlungsstelle und einem Diensterechner
DE60101999T2 (de) Dienstenentwicklungsumgebung
EP1061720B1 (de) System und Verfahren zum Abhöhren von Kommunikationsverbindungen mittels eines einzelnen zentralen Abhöhrverwalters
EP0765580B1 (de) Kommunikationsvermittlungssystem mit einem leistungsmerkmalsystem und einem basisvermittlungssystem
DE69932821T2 (de) Verfahren und netzelement zur verbindung eines teilnehmers mit einem zellularen telekommunikationsnetz
EP0782810B1 (de) Verfahren und anordnung zur auflösung von leistungsmerkmal-interaktionen in einem kommunikationssystem
DE19953221A1 (de) Verfahren, Netzwerkeinrichtung und Vermittlungsstelle zur Übermittlung einer individuellen, einen Anrufer identifizierenden Nachricht an einen angerufenen Teilnehmer
AT411859B (de) Verfahren zur integration von telekommunikationsplattformen und diensten
EP1282293B1 (de) Verfahren zur Rufbearbeitung in einem Telekommunikationsnetz sowie zugehörige Einheiten
EP1077003B1 (de) Verfahren zur steuerung von telekommunikationsdiensten
DE10241852B4 (de) Verfahren und System zur Vermittlung eines Telekommunikationsanrufes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition