-
Rückverweisung auf verwandte Anmeldung
-
Die vorliegende Anmeldung steht im Zusammenhang mit der gleichzeitig anhängigen und gemeinsam übertragenen US-Patentanmeldung Aktenzeichen 11/288,026, mit dem Titel ”Service Structured Application Developement Architecture”, eingereicht am 28. November 2005, deren Offenbarungsgehalt hier durch Bezugnahme einbezogen wird.
-
Technisches Gebiet
-
Die Erfindung betrifft allgemein Telefondienste und spezieller ein System sowie ein Verfahren zum Bereitstellen einer Funktionsvermittlung und -abstimmung in Internetprotokoll-Dienstenetzen wie beispielsweise SIP(Session Initiation Protocol)-fähigen Netzen.
-
Hintergrund der Erfindung
-
Herkömmlich werden Telephonieanwendungen in isolierten vertikalen Plattformen aufgebaut, d. h. in unabhängigen Blöcken, die jeweils einen festgelegten Satz von Funktionen ausführen. Solche Anwendungen werden speziell für jeden bestimmten Anbieter gestaltet, sie bieten somit wenig Möglichkeit für Verbesserungen und das Hinzufügen von Funktionen. Generell erfordern kundenspezifische Modifikationen an herkömmlichen Telephonieanwendungen eine beträchtliche finanzielle Investition sowie Zeit zur Implementierung, zum Test und zur Installation. Daher kann technologischen Entwicklungen sowie Marktentwicklungen nicht in einfacher Weise Rechnung getragen werden.
-
In jüngerer Zeit jedoch haben Diensteanbieter erkannt, dass differenzierte Dienste die Märkte stärker antreiben als Preiskonkurrenzmodelle. Dementsprechend bieten sie Gruppen von Diensten an, bisweilen eng gebündelt, um neue Teilnehmer anzuziehen. Leider stellen herkömmliche Telephonieanwendungen wie vorstehend erwähnt typischerweise keine kundenspezifischen Funktionen zur Verfügung und eignen sich nicht für eine Integration. In der Vergangenheit wurde versucht, für Anwendungen offene Umgebungen bereitzustellen, welche die Entwicklung neuer Anwendungen zur Bereitstellung von kundenspezifischen Diensten ermöglichen. Solche offenen Anwendungsumgebungen erfordern jedoch häufig, dass die Diensteanbieter ihre kundenspezifischen Anwendungen vollständig schreiben. Es hat sich erwiesen, dass dies eine größere Investition erfordert, als der Diensteanbieter rechtfertigen könnte.
-
Aus der
US 2002/0191771 A1 ist ein intelligentes Netzwerk zur Verwendung mit einem Call-Modell bekannt, welches eine Dienstlogikausführungsumgebung (SLEE) umfassen kann, wobei zumindest eine Dienstanwendung in der SLEE ausgeführt wird und zumindest eine allgemeine Dienstkomponente mit der Dienstanwendung kommunikativ verknüpft ist. Die allgemeine Dienstkomponente kann eine Schnittstelle zu einer zweiten Serviceanwendung enthalten, welche extern zu der SLEE ist.
-
Kurze Zusammenfassung der Erfindung
-
Die vorliegende Erfindung umfasst Systeme und Verfahren zum Bereitstellen einer Merkmalsvermittlung und -abstimmung (im engl. ursprünglich mit feature mediation and orchestration bezeichnet) in Internetprotokoll-Dienstenetzen wie beispielsweise SIP-fähigen Netzen. In einer Ausführungsform ermöglicht die vorliegende Erfindung es Telekommunikationsdiensteanbietern oder -trägern, serienmäßig produzierte, monolithische, drittseitige Anwendungen heranzuziehen und solche Anwendungen über eine Plattform zu moderieren, welche es möglich macht, verschiedenartige Funktionen derselben zu kombinieren, Funktionen hinzuzufügen, Funktionen zu ersetzen und so weiter, um das Funktionsverhalten derselben zu erweitern und/oder zu verbessern. Gemäß der vorliegenden Erfindung können auch vollständig neue kundenspezifische Anwendungen zu dieser Umgebung hinzugefügt werden, und diese können nahtlos gemischt werden, im Hinblick auf eine einheitliche Dienstelieferung an den Endkunden. Bei Ausführungsformen können ein Dienstekompatibilitäts-Interaktionsmanager (SCIM – Service Compatibility Interaction Manager), eine Diensteabstimmungsanwendung (SOA – Service Orchestration Application) und/oder Kombinationen zum Bereitstellen einer Merkmalsvermittlung und -abstimmung in Bezug auf die verschiedenen Anwendungen genutzt werden.
-
Ausführungsformen der vorliegenden Erfindung können eine Abstimmung auf mehreren Ebenen (z. B. Abstimmung auf drei Ebenen) von Telekommunikationsdiensten ermöglichen, welche es einem Träger ermöglichen, bestimmte Merkmale von proprietären Telephoniedienstanwendungen mit kundenspezifisch entwickelten Anwendungen zu logischen Telephoniedienstanwendungen zu kombinieren. Beispielsweise kann die vorliegende Erfindung ermöglichen, dass ein Träger ein/en bestimmte(s)/n Merkmal oder Dienst einer Telephoniedienstanwendung mit einem anderen Merkmal oder Dienst einer anderen Telephoniedienstanwendung mischt, um eine vollständig neue Anwendung zu schaffen.
-
Bei einer Ausführungsform können gemäß der vorliegenden Erfindung unterschiedliche Funktionen, die in einer einzigen Anwendung existieren, Funktionen von unterschiedlichen Anwendungen und sogar Funktionen aus unterschiedlichen Systemen integriert werden. Die vorliegende Erfindung ermöglicht es einem Diensteanbieter, die Funktionsweise der Anwendungen für Gruppen von Teilnehmern oder für einzelne Teilnehmer maßzuschneidern.
-
Im Vorstehenden wurden die Merkmale und technischen Vorteile der vorliegenden Erfindung ziemlich breit umrissen, damit die detaillierte Beschreibung der Erfindung, die folgt, besser verständlich wird. Nachfolgend werden weitere Merkmale und Vorteile der Erfindung beschrieben, welche den Gegenstand der Ansprüche der Erfindung bilden. Fachleute auf dem Gebiet sollten erkennen, dass die offenbarte Konzeption und die offenbarten speziellen Ausführungsformen in einfacher Weise als Grundlage zur Modifizierung oder Entwicklung anderer Strukturen zum Ausführen der gleichen Zwecke der vorliegenden Erfindung genutzt werden können. Fachleute auf dem Gebiet sollten außerdem erkennen, dass solche äquivalenten Konstruktionen keine Abweichung vom erfinderischen Gedanken und dem Schutzumfang der Erfindung darstellen, wie er in den anhängenden Ansprüchen ausgeführt ist. Die neuartigen Merkmale, die als kennzeichnend für die Erfindung erachtet werden, sowohl was deren Organisation als auch deren Funktionsverfahren betrifft, werden zusammen mit weiteren Aufgaben und Vorteilen anhand der folgenden Beschreibung besser verständlich werden, wenn diese im Zusammenhang mit den beigefügten Figuren betrachtet wird. Es muss jedoch explizit verstanden werden, dass sämtliche Figuren lediglich dem Zwecke der Veranschaulichung und Beschreibung dienen und keine Definition für die Grenzen der vorliegenden Erfindung darstellen sollen.
-
Kurze Beschreibung der Zeichnungen
-
Zum besseren Verständnis der vorliegenden Erfindung wird nun auf die folgenden Beschreibungen verwiesen, welche im Zusammenhang mit den beigefügten Zeichnungen gegeben werden, in welchen:
-
1 ein Blockdiagramm einer Anwendungsinstallation auf einer Internetprotokoll(IP)-basierten Dienstenetz-Infrastruktur zeigt;
-
2 ein Blockdiagramm eines Merkmals vermittlungssystems zeigt, das zur Verwendung mit Nicht-SOA(Service Orchestration Application)-Anwendungen angepasst ist, und zwar entsprechend einer Ausführungsform der vorliegenden Erfindung;
-
3 ein Blockdiagramm eines Merkmalsvermittlungs- und -abstimmungssystems zeigt, das zur Verwendung mit SOA-Anwendungen angepasst ist, und zwar entsprechend einer Ausführungsform der vorliegenden Erfindung;
-
4 ein Blockdiagramm eines Merkmalsvermittlungs- und -abstimmungssystems mit einer dynamischen Dienstekoordination entsprechend einer Ausführungsform der vorliegenden Erfindung zeigt; und
-
5 ein Blockdiagramm eines Merkmalsvermittlungs- und -abstimmungssystems zeigt, welches zum Koordinieren eines Ressourcenmanagements oder von abgestimmten Plattformen eine Ressourcennutzung abfängt, und zwar entsprechend einer Ausführungsform der vorliegenden Erfindung.
-
Detaillierte Beschreibung der Erfindung
-
1 zeigt ein Dienstenetz(SN – Service Network)-Anwendungssystem 10, das beispielsweise eine IP-Multimedia-Teilsystem(IMS)-Infrastruktur einschließlich einer SIP A/S-Plattform 16 umfassen kann, die derzeit bei der Ubiquity Systems erhältlich ist, dem Abtretungsempfänger der vorliegenden Erfindung. Das System 10 stellt dar, wie Anwendungen 11, 12 und 111 auf einer IP-basierten Dienstenetz-Infrastruktur, beispielsweise einer Session Initiation Protocol Application Server(SIP A/S)-Plattform 16, eingesetzt werden können. Ein Internetprotokoll(IP)-SN (IPSN) 112 gemäß der dargestellten Ausführungsform bietet Eintrittsstellen für Teilnehmer zum Zugriff auf Anwendungen des Systems 10. Das IPSN 102 kann Sitzungssteuerung für Teilnehmer bereitstellen, die auf Dienste zugreifen, und kann einen oder mehrere SIP-Server umfassen. Die Teilnehmer sind mit dem IPSN 102 verbunden und werden in der dargestellten Ausführungsform mit Hilfe einer Teilnehmerdatenbank 103 authentifiziert, die beispielsweise ein Home Subscriber System (HSS) umfassen kann, welche vorzugsweise Teilnehmer-Authentifizierungsdaten enthält. Nachdem der Teilnehmer authentifiziert ist, kann die Teilnehmerdatenbank 103 das IPSN 102 darüber informieren, welche Anwendungen oder Dienste für den Teilnehmer bereitgestellt werden sollen. Dementsprechend kann das IPSN 102 entweder dem Teilnehmer indirekten Zugriff auf eine entsprechende Anwendung, beispielsweise eine der Anwendungen 11 und 12, über die SIP A/S-Plattform 16 bereitstellen oder kann den Teilnehmer direkt mit einer Anwendung, beispielsweise der Anwendung 111 einer drittseitigen Anwendungsplattform 101 verbinden (z. B. in Abhängigkeit von dem unterlegten implementierten Dienstenetz-Authentifizierungsmodell). Jede der Anwendungen 11, 12 und 111 stellt typischerweise eine separate, einzelne Anwendung dar. Bei einer Ausführungsform bleibt der Teilnehmer, sobald der Teilnehmer mit einer Anwendung gekoppelt ist, bei dieser Anwendung, bis seine Sitzung beendet ist.
-
Die Anwendungsprogramme 11 und 12 werden auf der SIP A/S-Plattform 16 geschrieben. Typischerweise können die Anwendungsprogramme 11 und 12 in Form von Servlets geschrieben werden. Dementsprechend können die Anwendungsprogramme 11 und 12 jeweils zu einem einzigen Servlet-Objekt kompiliert werden und unabhängig voneinander auf die SIP A/S-Plattform 16 geladen werden. Sobald ein Anwendungsprogramm auf die SIP A/S-Plattform 16 geladen ist, können solche Anwendungsprogramme Zugriff auf eine Reihe von Anwendungsprogrammschnittstellen (APIs) haben, welche Funktionsaufrufe über die Grenze zwischen dem jeweiligen Servlet und der Host-Plattform darstellen (aber nicht zwischen den Servlets selbst), welche den Servlets ermöglichen, SIP- und Nicht-SIP-(RMI- oder SOAP-)Nachrichten zu senden, SIP- und Nicht-SIP-Nachrichten zu empfangen, den Inhalt von SIP- und Nicht-SIP-Nachrichten zu ändern und andere anwendungsspezifische Funktionen auszuführen.
-
Ein Beispiel für eine einfache Anwendung, wie sie beispielsweise einem der Anwendungsprogramme 11 oder 12 entsprechen kann, bietet ein Back-to-Back-Useragent (B2BUA), wobei SIP-Elemente außerhalb der SIP A/S-Plattform 16 (z. B. 2 SIP-Telefone) in Kommunikation miteinander gebracht werden und das Anwendungsprogramm eine gewünschte Funktionalität in Bezug auf die Kommunikation bereitstellt. Beispielsweise kann das Anwendungsprogramm 11 dazu dienen, den Anruf zu verbinden und zu protokollieren. Wenn dementsprechend ein Anrufer A einen Anruf zu einem Anrufer B tätigt, wird der Anruf auf die SIP A/S-Plattform 16 geleitet. Die SIP A/S-Plattform 16 stellt fest, dass der Anruf auf die Back-to-Back-Nutzeranwendung zugreifen muss, in diesem Beispiel das Anwendungsprogramm 11, und leitet eine Meldung an das Anwendungsprogramm 11 über eine API weiter. Die Meldung kann eine Information für das Anwendungsprogramm 11 bereitstellen, dass der Anruf ankommt, sowie Informationen, die in der SIP-Nachricht Invite enthalten waren. Das Anwendungsprogramm 11 kann die Informationen analysieren, kann feststellen, dass der Anruf mit dem Anrufer B verbunden werden soll, kann eine neue Nachricht Invite an den Anrufer B weiterleiten, damit das Telefon dieses Anrufers klingelt, und kann ein Protokoll für den Anruf erzeugen. Das Anwendungsprogramm 12 kann auf ähnliche Weise arbeiten, um separat eine andere Funktionalität bereitzustellen.
-
Wie bereits erwähnt, werden die vorstehenden Anwendungsprogramme offline geschrieben, werden zu einem SIP-Servlet kompiliert und werden auf die SIP A/S-Plattform 16 geladen. Üblicherweise werden in der Praxis die Anwendungsprogramme 11 und 12 in ihrer Gesamtheit geschrieben, kompiliert und auf die SIP A/S-Plattform 16 geladen. Solche Anwendungen sind typischerweise unabhängig und isoliert voneinander, somit sind sie nicht in der Lage, auf irgendeine sinnvolle Weise zu interagieren. Ressourcen in einem Dienstenetz (beispielsweise Medienserver, Audiomischer, Codeumsetzer und dergleichen), die von diesen Anwendungsprogrammen genutzt werden, können möglicherweise nicht effektiv gemeinsam von diesen genutzt werden. Mit anderen Worten arbeiten die Anwendungsprogramme des Systems 10 im Allgemeinen als separate und autonome Anwendungsprogramme, die auf einer gemeinsamen Plattform eingesetzt werden.
-
Wie ein Fachmann angesichts der vorliegenden Offenbarung erkennen wird, ermöglichen Ausführungsformen der vorliegenden Erfindung eine Abstimmung von Telekommunikationsdiensten auf mehreren Ebenen (z. B. einer, zwei oder drei Ebenen), welche es einem Diensteanbieter ermöglichen, spezielle Merkmale von proprietären oder kundenspezifisch geschriebenen Telephoniedienstanwendungen zu einer logischen Telephoniedienstanwendung zu kombinieren, ohne die Anwendungen direkt zu ändern. Zusätzlich oder alternativ ermöglichen Ausführungsformen der vorliegenden Erfindung es einem Diensteanbieter, eine externe, unabhängige Anwendung mit kundenspezifisch geschriebenen Anwendungen zu kombinieren. Die Abstimmung kann beispielsweise über eine koordinierte Skripterstellungsmaschine (Scripting Engine) erreicht werden.
-
Bei einer Ausführungsform der vorliegenden Erfindung wird mit einer ersten Ebene der Abstimmung eine diensteorientierte Architektur mit einer Abstimmungsmöglichkeit von oben nach unten übernommen. Diese diensteorientierte Architektur kann beispielsweise über eine SOOF(Service Oriented Object Framework)-Infrastruktur bereitgestellt werden, auf welcher eine Merkmalsvermittlungsfunktion aufgebaut ist. Die Merkmalsvermittlungsfunktion kombiniert vorzugsweise Diensteblöcke unterschiedlicher Anwendungen, um eine einzige Anwendung zu bilden. Eine zweite Abstimmungsebene kann mehrere Anwendungen heranziehen und die Protokollinteraktionen zwischen den externen Geräten und diesen Anwendungen überprüfen, wodurch eine Möglichkeit zum Programmieren der Reihenfolge des Zugriffs von Anwendungen basierend auf den Arten von Informationen und den Arten der Steuerung, die über die Grenze hin angefordert werden, bereitgestellt wird. Eine dritte Ebene der Abstimmung kann die primären Anwendungen und Dienstfunktionen über die ersten beiden Abstimmungsebenen aufbauen und dann Sätze von Dienstschichten oder -ebenen definieren, denen ein Teilnehmer zugeordnet werden kann. Der Diensteanbieter kann jedem Teilnehmer Zugriffsebenen zuordnen, sodass, wenn der jeweilige Teilnehmer in den Dienst eintritt, ein Filterkriterium auf teilnehmerweiser Grundlage angewandt werden kann.
-
2 zeigt ein Blockdiagramm eines Merkmalsvermittlungs- und -abstimmungssystems 20, das dafür ausgelegt ist, Nicht-SOA-Anwendungen Rechnung zu tragen, entsprechend einer beispielhaften Ausführungsform der vorliegenden Erfindung. Das System 20 der beispielhaften Ausführungsform ermöglicht eine erste Ebene der Abstimmung für einzelne Anwendungen durch Integrieren einer Merkmalsvermittlungsschicht 21 auf der SIP A/S-Plattform 16. Bei einer Ausführungsform stellt die Merkmalsvermittlungsschicht 21 eine Erweiterung der SIP A/S-Plattform 16 dar. Die Merkmalsvermittlungsschicht 21 stellt vorzugsweise eine Verbindungsstelle zwischen der Anwendung 11, der Anwendung 12 und/oder der Anwendung 111 einer drittseitigen Anwendungsplattform 101 dar, wobei ein Punkt der Abstimmung zwischen diesen unabhängigen Anwendungen bereitgestellt wird. Spezieller stellt die Merkmalsvermittlungsschicht 21 vorzugsweise eine Vermittlung zwischen Anwendungen bis hinunter auf die unabhängige Merkmalsebene oder Betriebsebene einer einzelnen Sitzung bereit. Im Betrieb, wenn ein Teilnehmer über die Teilnehmerdatenbank 103 authentifiziert ist, kann er durch das IPSN 102 zu einer logischen Telephoniedienstanwendung vermittelt werden, die aus einer Kombination von Merkmalen der Anwendung 11, der Anwendung 12 und/oder der Anwendung 111 der drittseitigen Anwendungsplattform 101 bestehen kann. Bei einer Ausführungsform wird die Teilnehmersitzung effektiv abgeschlossen, innerhalb der Merkmalsvermittlungsschicht 21 markiert und dann selektiv an die unter Kontrolle eines Skripts stehenden Anwendungen übergeben, wobei der Diensteanbieter das Skript modifizieren kann.
-
Es sollte erkannt werden, dass, obgleich die drittseitige Anwendungsplattform 101 direkt mit der Merkmalsvermittlungsschicht 21 gekoppelt gezeigt ist, die drittseitige Anwendungsplattform 101 auch indirekt mit dieser gekoppelt sein kann. Beispielsweise kann die drittseitige Anwendungsplattform 101 abgesetzt in Bezug auf die Merkmalsvermittlungsschicht 21 und/oder die Anwendung 11 und/oder die Anwendung 12 und/oder die SIP A/S-Plattform 16 und/oder die Teilnehmerdatenbank 103 angeordnet sein. Dementsprechend kann die Merkmalsvermittlungsschicht 21 mit der drittseitigen Anwendungsplattform 101 über eine Netzverbindung gekoppelt sein, die beispielsweise ein lokales Netz (LAN), ein Stadtnetz (MAN), ein Weitverkehrsnetz (WAN), das IPSN 102, das Internet, ein Funknetz usw. umfassen kann. Analog können die Merkmalsvermittlungsschicht 21, die Anwendung 11, die Anwendung 12, die SIP A/S-Plattform 16 und die Teilnehmerdatenbank 103 jeweils abgesetzt in Bezug auf jede der übrigen Komponenten des Systems 20 angeordnet sein und können somit mit diesen über eine Netzverbindung wie die zuvor erwähnten gekoppelt sein.
-
Im Betrieb erscheint die Merkmalsvermittlungsschicht 21 entsprechend einer beispielhaften Ausführungsform für das IPSN 102 als eine Plattform, die eine oder mehrere Anwendungen beherbergt, analog der Konfiguration der SIP A/S-Plattform 16. Die Anwendungen jedoch, die von der Merkmalsvermittlungsschicht 21 der beispielhaften Ausführungsform beherbergt werden, umfassen eine oder mehrere logische Anwendungen, die aus Merkmalen gebildet sind, die aus einer Mehrzahl von anderen Anwendungen kombiniert sind, und zwar über die Funktionsweise der Merkmalsvermittlungsschicht 21. Dementsprechend kann die Teilnehmersitzung, wie sie vom Dienstenetz 102 initiiert worden ist, innerhalb der Merkmalsvermittlungsschicht 21 abgeschlossen werden, und zwar mit Logik der Merkmalsvermittlungsschicht 21, die dazu dient, die Interaktion mit einzelnen entsprechenden Anwendungen der Anwendungen 11, 12 und 111 zu vermitteln und/oder abzustimmen, um gewünschte Merkmale von diesen aufzurufen. Beispielsweise können Skripts der Merkmalsvermittlungsschicht 21 (z. B. Befehlssequenzen und Parameter, die dazu dienen, eine Anwendung in vorgegebener Weise zu navigieren, zu betreiben und/oder zu steuern) genutzt werden, um mit einer bestimmten Anwendung der Anwendungen 11, 12 und 111 zu interagieren und zu einem bestimmten Zeitpunkt ein gewünschtes Merkmal aufzurufen, wobei vorzugsweise entsprechende Informationen an diese weitergeleitet werden und/oder Informationen von dieser empfangen werden. Durch Aufrufen solcher Merkmale in kontrollierter Weise, egal ob seriell und/oder parallel, dient die Merkmalsvermittlungsschicht 21 dazu, diese Merkmale zu einer logischen Anwendung zu kombinieren, sodass für Teilnehmer des Dienstenetzes 102 ein gewünschter Dienst bereitgestellt werden kann.
-
3 zeigt ein Blockdiagramm eines Merkmalsvermittlungs- und -abstimmungssystems 30, welches dafür ausgelegt ist, SOA-Anwendungen Rechnung zu tragen, und zwar entsprechend einer Ausführungsform der vorliegenden Erfindung. Zusätzlich zu der vorstehend diskutierten Merkmalsvermittlungsschicht 21 stellt das System 30 gemäß der beispielhaften Ausführungsform eine zweite Ebene der Abstimmung zur Verfügung, indem eine SOA-Schicht 301 (Service Orchestration Application; Diensteabstimmungsanwendung) auf der SIP A/S-Plattform 16 eingeführt wird.
-
Es sollte erkannt werden, dass, obgleich die drittseitige Anwendungsplattform 101 direkt mit der SOA-Schicht 301 gekoppelt gezeigt ist, die drittseitige Anwendungsplattform 101 auch indirekt mit dieser gekoppelt sein kann. Beispielsweise kann die drittseitige Anwendungsplattform 101 abgesetzt in Bezug auf die SOA-Schicht 301 und/oder die Merkmalsvermittlungsschicht 21 und/oder die Anwendung 11 und/oder die Anwendung 12 und/oder die SIP A/S-Plattform 16 und/oder die Teilnehmerdatenbank 103 angeordnet sein. Dementsprechend kann die SOA-Schicht 301 mit der drittseitigen Anwendungsplattform 101 über eine Netzverbindung gekoppelt sein, die beispielsweise ein LAN, ein MAN, ein WAN, das IPSN 102, das Internet, ein Funknetz usw. umfassen kann. Analog können die SOA-Schicht 301, die Merkmalsvermittlungsschicht 21, die Anwendung 11, die Anwendung 12, die SIP A/S-Plattform 16 und/oder die Teilnehmerdatenbank 103 jeweils abgesetzt in Bezug auf jede der übrigen Komponenten des Systems 30 angeordnet sein und können somit mit diesen über eine Netzverbindung wie die zuvor erwähnten gekoppelt sein.
-
Jede der Dienstfunktionen 302 bis 305 kann einen einzelnen verfügbaren Dienst oder eine einzeln verfügbare Funktion darstellen. Jede der Dienstfunktionen 302 bis 305 kann eine Funktion der gleichen Anwendung, unterschiedlicher Anwendungen oder unterschiedlicher Systeme darstellen oder kann unabhängige kundenspezifisch gestaltete Dienste oder Funktionen darstellen. Bei der beispielhaften Ausführungsform stellt die Dienstfunktion 302 eine Funktion der Anwendung 11 dar, die Dienstfunktion 303 stellt eine unabhängige Dienstfunktion dar und die Dienstefunktionen 304 und 305 stellen Funktionen der Anwendung 12 dar.
-
Um nur ein Beispiel zu nennen, kann die Anwendung 11 eine Rufweiterleitungsanwendung mit mehreren Funktionen sein, darunter einer Verifizierungs-Dienstfunktion für die rufende Karte, wie sie von der Dienstfunktion 302 bereitgestellt werden kann. Die Dienstfunktion 303 kann eine Audiokonferenz-Dienstfunktion darstellen. Gemäß dem Stand der Technik wäre es nicht möglich, dass der Audiokonferenzdienst (Dienstfunktion 303) die Authentifizierungs-Dienstfunktion für die rufende Karte (Dienstfunktion 302 der Anwendung 11) nutzt. In dem System 30 kann jedoch die SOA-Schicht 301 die Dienstfunktion 302 der Anwendung 11 (in diesem Beispiel eine Authentifizierungs-Dienstfunktion für die rufende Karte) mit der Dienstfunktion 303 (in diesem Beispiel eine Audiokonferenz-Dienstfunktion) zu einer einzigen logischen Anwendung kombinieren. Analog können ein oder mehrere Merkmale der Anwendungen 12 und/oder 111 (z. B. eine Sprachmail-Dienstfunktion, eine Anrufaufzeichnungs-Dienstfunktion usw.) mit Hilfe der SOA-Schicht 301 und/oder der Merkmalsvermittlungsschicht 21 kombiniert werden. Die vorstehenden Kombinationen von Merkmalen können entsprechend den Ausführungsformen der Erfindung genutzt werden, um eine beliebige Anzahl von logischen Anwendungen bereitzustellen, um neue und/oder kundenspezifische Dienste bereitzustellen.
-
Ein Skripterstellungsmechanismus, der entsprechend von Ausführungsformen der vorliegenden Erfindung zur Anwendung kommt, ermöglicht es, ein Skript in Bezug auf mehrere Ebenen eines Diensteabstimmungssystems mit mehreren Ebenen einzusetzen, beispielsweise in sowohl der Merkmalsvermittlungsschicht 21 als auch der SOA-Schicht 301 aus 3, wodurch die Entwicklung und/oder der Einsatz einer Abstimmung auf mehreren Ebenen vereinfacht wird. Der Skripterstellungsmechanismus gemäß den Ausführungsformen ähnelt dem System, das bei diensteorientierten Architekturen (SOA – Service Oriented Architectures) genutzt wird, um das Definieren von Interaktionen zwischen Diensten auf einem hohen Niveau, einer beschreibenden Textsprache, zu ermöglichen. In dem System gemäß bevorzugten Ausführungsformen werden mehrere unabhängige Dienste existieren oder geschaffen werden, die autonom arbeiten. Beispiele für solche Dienste sind Sprachmail, interaktive Sprachausgabe (IVR – Interactive Voice Response), Abspielung von Ansagen, Konferenzsteuerung, Steuerung externer Anwendungsplattformen usw. Die Skriptsprache wird vorzugsweise genutzt, um die Interaktionen zwischen diesen Diensten zu definieren, welche anhand der Verbindung der Dienste und des Skripts eine logische Anwendung erzeugen werden. Die Skriptsprache gemäß einer Ausführungsform ist textbasiert und bietet eine Mehrzahl von Funktionalitätsebenen. Beispielsweise kann eine erste durch eine Skriptsprache bereitgestellte Funktionalitätsebene einen Basissatz von Anweisungen umfassen, die eine Skriptflusssteuerung, das Treffen von Entscheidungen, variierende Erklärungen und Verkettungssteuerung für die Dienste, die sie steuern werden, ermöglichen. Eine zweite Funktionalitätsebene, die durch die vorstehende Skriptsprache bereitgestellt wird, kann einen Mechanismus umfassen, der die Erweiterung der Skriptsprache ermöglicht, indem die Schnittstellenmethoden der Dienste, die sie kontrolliert, genutzt werden. Mit anderen Worten kann jedes Verfahren, das an der Schnittstelle eines Dienstes vorhanden ist, von der Skriptsprache aus aufgerufen werden, ohne eine explizite Kenntnis der Funktion in die Basis-Skriptsprache selbst einzubauen.
-
Ein erster hierarchischer Skriptteil kann beispielsweise von der SOA-Schicht 301 genutzt werden, um die Dienstfunktionen 302 und 303 zu einer ersten diensteabgestimmten Anwendung 31 zu gruppieren. Ein zweiter Skriptteil kann von der Merkmalsvermittlungsschicht 21 genutzt werden, um die Protokollinteraktionen zwischen den externen Geräten und den Anwendungen 11, 12, 31 und 111 zu überprüfen, wodurch die Abfolge des Zugriffs auf Anwendungen basierend auf den Arten von Informationen und den Arten der Steuerung, die über die Grenze hin angefordert werden, gesteuert wird. Indem beispielsweise Dienstanforderungen von Nutzerendgeräten oder anderen Geräten des Dienstenetzes 102 auf der Merkmalsvermittlungsschicht 21 abgeschlossen werden, und zwar für den Betrieb der Anwendungen und logischen Anwendungen des Systems 30, um gewünschte Dienste bereitzustellen, kann die Merkmalsvermittlungsschicht 21 eine Abfolge des Zugriffs auf verschiedene gemeinsam genutzte Dienstfunktionen bereitstellen, um den optimalen Betrieb der Anwendung zu ermöglichen (z. B. Konflikte zu vermeiden, einen ununterbrochenen Betrieb zu ermöglichen, Verzögerungen zu minimieren etc.). Außerdem oder alternativ kann die Merkmalsvermittlungsschicht 21 eine Vermittlung zwischen verschiedenen Protokollen der Dienstfunktionen bereitstellen, um einen Betrieb logischer Anwendungen zu ermöglichen.
-
Wie ein Fachmann angesichts der vorliegenden Offenbarung erkennen wird, können die vorstehend beschriebenen ersten und zweiten Skriptteile als ein einziges Skript geschrieben werden, z. B. als ein einziger Satz von Befehlen, um den Betrieb von Dienstobjekten als eine gewünschte logische Anwendung zu ermöglichen, obgleich Teile des Skripts in Bezug auf verschiedene Schichten eines mehrschichtigen Dienstabstimmungssystems eingesetzt werden können, um eine entsprechende Interaktion unterschiedlicher Dienstfunktionen und/oder Anwendungen zu ermöglichen. Die Nutzung von hierarchischen Skripts ist vollständiger in der bereits zitierten US-Patentanmeldung mit dem Titel ”Service Structured Application Development Architecture” offenbart.
-
4 zeigt ein Blockdiagramm eines Merkmalsvermittlungs- und -abstimmungssystems 40, das dafür ausgelegt ist, eine dynamische Dienstekoordination entsprechend einer beispielhaften Ausführungsform der vorliegenden Erfindung zur Verfügung zu stellen. Das System 40 gemäß der dargestellten Ausführungsform stellt eine dritte Ebene der Abstimmung zur Verfügung, indem eine Kundenspezifizierung von Diensten auf teilnehmerweiser Basis ermöglicht wird. Bei dieser Ausführungsform ist die Teilnehmerdatenbank 103 dafür ausgelegt, zusätzliche Modifikatoren in dem Dienstprofil des Teilnehmers zu unterhalten, und zwar für die programmierte Abstimmung logischer Anwendungen, wobei der zusätzliche Modifikator eine Dienstgüte für den Teilnehmer oder andere Dienstekoordinationsinformationen enthält. Somit ermöglicht der zusätzliche Modifikator es einem Diensteanbieter, in einzigartiger Weise für jeden authentifizierten Teilnehmer Dienste zu spezifizieren, z. B. eine Dienstgüte.
-
Im Betrieb wird entsprechend einer Ausführungsform, sobald ein authentifizierter Teilnehmer an die SIP A/S-Plattform 16 weitergeleitet ist, um auf eine diensteabgestimmte Anwendung zuzugreifen, beispielsweise eine der Anwendungen 11, 12, 31 und 111, die Merkmalsvermittlungsschicht 21 die Teilnehmerdatenbank 103 der dynamischen Dienstekoordinationsschicht 402 abfragen, das individuelle Dienstprofil des Teilnehmers abrufen und die speziellen Dienstkriterien (z. B. Dienstgüte) des Teilnehmers auf das Skript anwenden, das für die gesamte koordinierte Anwendung definiert ist. Daher ermöglicht das System 40 es einem Diensteanbieter, die Reihenfolge und den Funktionsablauf der Anwendung dynamisch zu modifizieren, wenn sich ein Teilnehmer für den Dienst authentifiziert.
-
5 zeigt ein Blockdiagramm eines integrierten Merkmalsvermittlungs- und -abstimmungssystems 50 entsprechend einer beispielhaften Ausführungsform der vorliegenden Erfindung. Das System 50 stellt die Integration der unabhängigen drittseitigen Anwendungsplattform 101 und ihrer Anwendungen mit dem Diensteabstimmungs-Teilsystem 51 dar, das entsprechend einer Ausführungsform der vorliegenden Erfindung angepasst ist. Das Diensteabstimmungs-Teilsystem 51, das in 5 dargestellt ist, stellt die SIP A/S-Plattform 16, die Merkmalsvermittlungsschicht 21, die Dienstfunktionen 302 bis 305 sowie die SOA-Schicht 301, wie sie zuvor mit Bezug auf die 3 und 4 beschrieben worden sind, dar. Bei der beispielhaften Ausführungsform ist die drittseitige Anwendungsplattform 101 mit dem Teilsystem 51 über das IPSN 102 gekoppelt. Ein (nicht gezeigtes) Adapterobjekt kann in Bezug auf das Dienstabstimmungs-Teilsystem 51 vorgesehen sein, z. B. auf der SIP A/S-Plattform 16 erzeugt, welches die Schnittstelle zu der drittseitigen Anwendungsplattform 101 und/oder der Anwendung 111 versteht. Ein solches Adapterobjekt kann somit eine Übersetzung für Dienstfunktionen zwischen der drittseitigen Anwendungsplattform 101 und/oder der Anwendung 111 und einer Merkmalsvermittlungsplattform des Diensteabstimmungs-Teilsystems 51 bereitstellen.
-
Einige drittseitige Anwendungen sind nicht dafür geschrieben, Netzressourcen und Medienressourcen über eine Anwendungs- oder Merkmalsvermittlungsplattform anzufordern. In solchen Fällen kann die Anwendung 111 direkt auf den Medienressourcenserver 501 zugreifen, welcher Nutzungsaktualisierungen und Ressourcenanforderungen an die Medienanwendungsschicht der SIP A/S-Plattform in dem Teilsystem 51 sendet. Daher kann die Medienanwendungsschicht ferner die Nutzung der Ressource authentifizieren und die Nutzung dieser Medienressourcen, wenn diese von der Anwendung 111 genutzt werden, nachverfolgen.
-
Es sollte erkannt werden, dass, obgleich vorliegend Ausführungsformen mit Bezug auf eine SIP-Anwendungsserverplattform beschrieben worden sind, die Konzepte der vorliegenden Erfindung nicht auf die Nutzung im Zusammenhang mit SIP-basierten Architekturen oder Protokollen begrenzt sind. Ausführungsformen der vorliegenden Erfindung können zur Nutzung mit verschiedenen IP-Dienstenetz-Architekturen und -Protokollen angepasst werden, beispielsweise Dienstenetzen, welche H.323-Protokolle verwenden.
-
Obgleich die vorliegende Erfindung und deren Vorteile detailliert beschrieben worden sind, sollte verstanden werden, dass hieran verschiedene Änderungen, Substitutionen und Umbildungen vorgenommen werden können, ohne dass von dem erfinderischen Gedanken und vom Schutzumfang der Erfindung, wie sie in den anhängenden Ansprüchen definiert sind, abgewichen wird. Darüber hinaus soll der Schutzumfang der vorliegenden Anmeldung nicht auf die speziellen Ausführungsformen des Prozesses, der Maschine, Herstellung, Stoffzusammensetzung, von Mitteln, Verfahren und Schritten, die in der Beschreibung beschrieben sind, eingeschränkt sein. Wie ein Fachmann anhand der Offenbarung der vorliegenden Erfindung leicht erkennen wird, können entsprechend der vorliegenden Erfindung Prozesse, Maschinen, eine Herstellung, Stoffzusammensetzung, Mittel, Verfahren oder Schritte, die momentan existieren oder später entwickelt werden, welche im Wesentlichen die gleiche Funktion ausführen oder im Wesentlichen das gleiche Ergebnis erzielen wie bei den vorliegend beschrieben entsprechenden Ausführungsformen, genutzt werden. Dementsprechend sollen mit den anhängenden Ansprüchen im Rahmen ihres Schutzumfangs solche Prozesse, Maschinen, Herstellungen, Stoffzusammensetzungen, Mittel, Verfahren oder Schritte umfasst werden.