-
Die
vorliegende Erfindung betrifft das Gebiet der Datenkommunikation
und insbesondere eine Vorrichtung bzw. ein System zur Verbesserung
der Qualität der Erfahrung (Quality of Experience = QoE) für
eine Echtzeitkommunikation über ein IP-Netzwerk.
-
Das
Internet ist ein immer populäreres und wichtigeres Medium
für die Datenkommunikation. In letzter Zeit haben Echtzeit-Kommunikationsanwendungen
wie z. B. Voice over IP (VoIP), das Abhalten einer Videokonferenz
und die Sofortnachrichtenübermittlung (Instant Messaging)
an Popularität stark zugenommen. Es scheint, dass die gemeinsame
Nutzung von Echtzeitsitzungen, die über das IP (Internetprotokoll)
durchgeführt werden, am Anteil der Bandbreitenkapazität
des Netzwerks eines allgemeinen Betreibers kontinuierlich zunimmt
und einen signifikanten Teil der Bandbreite einnimmt.
-
Einer
der Mängel der Echtzeitkommunikation unter Verwendung des
IP ist die Abwesenheit von Benachrichtigungswerkzeugen. In einigen
Fällen kann ein Ziel (ein Adressat) eines Echtzeit-Stegreifanrufs
(Audio, Video oder Sofortnachrichtenübermittlung) nicht
benachrichtigt werden. Ein Benutzer, der beispielsweise momentan über
sein Mobiltelefon im Internet surft, kann nicht darüber
benachrichtigt werden, dass ein Echtzeitanruf über IP darauf
wartet, beantwortet zu werden, oder gerade empfangen wird.
-
Daher
besteht auf dem Fachgebiet ein Bedarf für ein System und
ein Verfahren zum Informieren eines Benutzers, dass ein Echtzeit-Stegreifanruf auf
IP-Basis wartet oder eingeht. Ein solches System kann die Qualität
der Erfahrung für Echtzeit-Kommunikationsverbraucher verbessern.
-
Die
Erfindung ist in Anspruch 1 bzw. 12 definiert. Vorteilhafte Ausgestaltungen
sind Gegenstand von Unteransprüchen.
-
Diese
Offenbarung beschreibt Systeme und Verfahren zum Benachrichtigen
eines Adressaten, dass ein IP-Echtzeit-Stegreifanruf eingeht und/oder wartet.
Der IP-Echtzeitanruf kann ein VoIP-Anruf, ein Videokonferenzanruf,
eine Sofortnachricht usw. sein. Ein beispielhaftes Ausführungsbeispiel
der Erfindung ist so betreibbar, dass eine aktuelle Anwendung identifiziert
wird, die vom Adressaten verwendet wird, und dann eine Benachrichtigungsmeldung
erzeugt wird, die zur vom Adressaten verwendeten Anwendung passt.
Die Benachrichtigungsmeldung kann zum Benutzer geliefert werden,
indem die Meldung in den Datenverkehr eingebettet wird, der an den
Benutzer gerichtet ist. Die empfangene Benachrichtigungsmeldung
wird von der vom Empfängeradressaten verwendeten aktuellen
Anwendung analysiert und wird dann dem Adressaten präsentiert
bzw. dargestellt.
-
Die
Benachrichtigungsmeldung kann dem Adressaten auf vielfältige
Weise präsentiert werden und kann auf eine Weise präsentiert
werden, die von der aktuellen Aktivität des Adressaten
abhängt. Wenn beispielsweise der Adressat mit dem Surfen
im Internet beschäftigt ist, wenn der eingehende Anruf oder
die Meldung erfasst wird, dann kann die Benachrichtigungsmeldung
ein HTTP-Objekt sein, das den Adressaten informiert, dass ein IP-Echtzeitanruf wartet.
Ein beispielhaftes Objekt kann eine Popup-Meldung, ein Banner usw.
sein. Die Meldung kann Anweisungen darüber umfassen, wie
auf den Echtzeitanruf zu antworten ist. Außerdem kann ein Link
zu dem Server, der den Echtzeitanruf bearbeitet, zur Benachrichtigungsmeldung
hinzugefügt sein als Mittel zum Vorsehen eines Zugriffs
auf den Anruf. Wenn der Adressat mit der Handlung des Betrachtens
eines Videos bzw. Videostroms oder der Teilnahme an einer Videokommunikationssitzung
beschäftigt ist, wenn der eingehende Anruf oder die Meldung
erfasst wird, dann kann die Benachrichtigungsmeldung außerdem
in den Videoinhalt eingebettet werden. Die Videobenachrichtigungsmeldung kann
den Adressaten informieren, dass ein IP-Echtzeitanruf wartet. Die
Meldung kann Anweisungen dafür umfassen, wie auf den Echtzeitanruf
zu antworten ist. In Abhängigkeit von der Anwendung kann
die Benachrichtigung ebenso in Form von Audio, Text oder eine Kombination
von Video, Audio, Text, Animations-Hyperlinks und eine Dokumentenauszeichnungssprache
sein. Folglich wird im Wesentlichen die typische Benachrichtigungsmeldung
derart formatiert, dass sie von dem gegenwärtig verwendeten Anwendungsprogramm
wiedergegeben werden kann.
-
Ein
Ausführungsbeispiel der vorliegenden Erfindung umfasst
eine Vorrichtung oder eine Einrichtung, die mit einem Knoten gekoppelt
oder in diesen eingebettet sein kann, der zwischen einem Endgerät
und einem Server vorhanden ist. Typischerweise liegt die Kommunikation
zwischen dem Endgerät und dem Server, die durch die Vorrichtung
läuft oder für die Vorrichtung zugänglich
ist, in einem IP-Format vor. Auf der Basis des Inhalts dieser Daten
kann die Benachrichtigungsmeldung erzeugt werden. Die Vorrichtung
erfasst, wenn die Daten eine Anforderung zum Aufbauen einer Kommunikation
umfassen, und – bei einem typischen Ausführungsbeispiel – richtet sich
die Anforderung auf eine bidirektionale Echtzeit-Kommunikationssitzung.
-
Die
Vorrichtung der vorliegenden Erfindung ist zur Einrichtung bei einem
Dienstanbieter (Service Provider Premises = SPP) geeignet. Der Dienstanbieter
kann ein Telekommunikationsträger, wie z. B., jedoch nicht
begrenzt auf einen Mobilfunk-Dienstanbieter, einen Satellitenkommunikations-Dienstanbieter,
einen Träger eines öffentlichen Fernsprechwählnetzes
(PSTN), einen Zugangsnetzwerk-Dienstanbieter usw. sein. Andere beispielhafte
Ausführungsbeispiele der vorliegenden Erfindung können
beispielsweise bei einem Internetdienstanbieter (Internet Service
Provider = ISP) eingerichtet sein.
-
Ein
weiteres beispielhaftes Ausführungsbeispiel der vorliegenden
Erfindung ist zur Einrichtung als QoE-Verbesserungsserver in einem
Knoten entlang des Weges zwischen dem Benutzer und einem Netzwerk
wie z. B. dem Internet geeignet. Gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung kann die Vorrichtung beispielsweise bei
einem Dienstanbieter (SPP) jenseits eines Zugriffs-Gateway eingerichtet
sein, um die Datenkommunikation abzufangen, die zu und von den Benutzern
läuft. Beispielhafte Ausführungsbeispiele der
vorliegenden Erfindung können für die Einrichtungen
des Benutzers transparent sein.
-
Ein
beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung
kann Anforderungen nach dem Aufbau einer IP-Echtzeit-Kommunikationssitzung über
IP abfangen, wobei solche Anforderungen zu und/oder von den Benutzern
gesandt werden. Ein beispielhaftes Ausführungsbeispiel
der vorliegenden Erfindung analysiert (parst) den Datenverkehr,
der auf Echtzeit-Kommunikationsprotokollen basiert, wobei nach einer
Anforderung nach einem Start einer Echtzeitsitzung gesucht wird.
Beispielhafte Echtzeit-Kommunikationsprotokolle können
umfassen, sind jedoch nicht begrenzt auf: Session Initiation Protocol
(SIP); Push-To-Talk Over Cellular (PTTOC), das auf SIP basiert,
usw. Die Anforderung kann analysiert werden, um den Adressaten zu definieren.
Der Adressat kann auf der Basis einer Ziel-IP-Adresse, eines MS-ISDN
usw., das der Anforderung zugeordnet ist, identifiziert werden.
-
Alternativ
oder zusätzlich kann eine Client-Anwendung bei einem Teilnehmer
des QoE-Verbesserungsservers (QoE Improver Server = QoEIS) eingerichtet
sein. Die Client-Anwendung kann eine eindeutige Anforderungsmeldung
zum Aufbau einer IP-Echtzeitsitzung mit einem Adressaten erzeugen. Die
Anforderung kann an den QoE-Verbesserungsserver gerichtet werden,
beispielsweise unter Verwendung einer bestimmten Ziel-IP-Adresse.
Bei einigen Ausführungsbeispielen der vorliegenden Erfindung
kann ein Anforderungsformular von einem Benutzer, der den Echtzeitanruf
durchführen will, von einem bekannten Link eines QoE-Verbesserungsservers
heruntergeladen werden. Ferner können ein oder mehrere
Echtzeitserver, wie z. B. – jedoch nicht begrenzt auf – einen
SIP-Proxy/Server, dazu ausgelegt sein, mit dem QoE-Verbesserungsserver
zu kommunizieren. Der Echtzeitserver kann dazu ausgelegt sein, eine
Anforderung zum QoE-Verbesserungsserver zu senden, die ihn auffordert,
einen Adressaten zu benachrichtigen, dass ein Echtzeitanruf wartet.
-
Nach
dem Definieren eines Adressaten werden die Benutzer, die gegenwärtig
vom QoE-Verbesserungsserver versorgt werden, analysiert, um festzustellen,
ob der Adressat gegenwärtig mit dem Internet verbunden
ist. Die Analyse kann auf einer Tabelle versorgter bzw. betreuter
Benutzer basieren. Jeder Eintrag in der Tabelle betreuter Benutzer
kann einem Benutzer zugeordnet sein, der gegenwärtig über
ein IP-Netzwerk kommuniziert. Ein Eintrag kann die Benutzer-ID (z.
B. ein MS-ISDN, eine IP-Adresse usw.) und die Art von Sitzung, an
der der Benutzer teilnimmt, usw. definieren. Bei einem alternativen
Ausführungsbeispiel der vorliegenden Erfindung kann ein
Eintrag in der Tabelle betreuter Benutzer Felder zum Festlegen von
Benutzervorlieben umfassen. Ein Benutzer kann die Option haben,
Benutzervorlieben hochzuladen. Die Benutzervorlieben können
beispielsweise angeben, dass der Benutzer während einer
Videositzung nicht unterbrochen werden soll.
-
Wenn
der Adressat nicht über ein IP-Netzwerk verbunden ist,
dann kann eine SMS-Nachricht zur Vorrichtung des Adressaten gesandt
werden. Die SMS-Nachricht kann den Adressaten informieren, dass
ein Echtzeitanruf wartet, und Anweisungen hinsichtlich dessen vorsehen,
wie der Anruf zu empfangen ist.
-
Ein
beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung
erzeugt eine Rückmeldung, die zu einer anfordernden Einrichtung
(einem Anfordernden) gesandt werden kann, die die Quelle der Anforderung
ist. Die Rückmeldung (Feedback Message) kann den Anfordernden über
die aktuelle Aktivität des Adressaten informieren sowie
Informationen hinsichtlich der Benachrichtigungsmeldung vorsehen,
die zum Adressaten gesandt wurde.
-
Ein
weiteres alternatives Ausführungsbeispiel der vorliegenden
Erfindung kann eine Einladungsanwendung (Invitation Application)
verwenden, die von Benutzern des QoE-Verbesserungsservers verwendet
werden kann. Mit der Verbindung mit dem QoE-Verbesserungsserver
(QoEIS) kann die Einladungsanwendung innerhalb der Browser-Anwendung
der Benutzereinrichtung (z. B. Terminal bzw. Endgerät)
eingesetzt bzw. aktiviert werden. Die Einladungsanwendung kann verwendet
werden, um einen Anfordernden aufzufordern, Einstellparameter eines
angeforderten Echtzeitanrufs zu definieren. Einstellparameter können
eine ID-Nummer des Anfordernden, eine Zielbenutzer-ID-Nummer, einen
Sitzungstyp, eine IP-Adresse eines Servers, der zum Beherbergen
(Hosten) der Sitzung verwendet wird, usw. umfassen. In Reaktion
auf den Empfang der Einstellparameter kann die Einladungsanwendung Rückkopplungsinformationen über
die Benachrichtigung, die zu einem Zielbenutzer gesandt wurde, senden.
Bei einem solchen Ausführungsbeispiel der vorliegenden
Erfindung kann eine Anforderungsmeldung, die von der Einladungsanwendung
erzeugt wird, den Benachrichtigungsprozess am QoEIS einleiten.
-
Weitere
Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden
beim Lesen der folgenden ausführlichen Beschreibung der
Ausführungsbeispiele mit den zugehörigen Zeichnungen und
den beigefügten Ansprüchen ersichtlich.
-
Ausführungsbeispiele
der Erfindung sind in den Figuren dargestellt. Es zeigen:
-
1 ein
Blockdiagramm eines beispielhaften Kommunikationssystems,
-
2 ein
Blockdiagramm von relevanten Softwaremodulen, und
-
3 einen
Ablaufplan mit relevanten Schritten eines beispielhaften Verfahrens,
das für die Bearbeitung eines empfangenen Pakets durch
einen beispielhaften QoE-Verbesserungsserver verwendet werden kann.
-
Die
vorliegende Erfindung sowie Merkmale und Aspekte derselben richten
sich auf die Bereitstellung von Nachrichtenankunftsmitteilungen
sowie anhängigen oder wartenden Benachrichtigungen für beabsichtigte
Empfänger (Bestimmungsempfänger) auf vielfältige
Weise. Ein Aspekt der Erfindung besteht darin, eine gegenwärtige
Aktivität des beabsichtigten Empfängers zu identifizieren
und dann eine Benachrichtigungsmeldung zum beabsichtigten Empfänger
auf der Basis dieser Aktivität zu liefern. Wenn der beabsichtigte
Empfänger beispielsweise im Web surft, kann die Benachrichtigung
in den gelieferten Webinhalt eingebettet werden. Wenn der beabsichtigte
Empfänger einen Videostrom oder Audiostrom betrachtet,
kann die Benachrichtigung in den Strom eingebettet werden. Wenn
der Benutzer in einem Sofortnachrichtensystem, einem Blog, einem Telefonanruf,
einem Chat-Raum usw. aktive ist, kann der operative bzw. betriebsfähige
Zustand des beabsichtigten Empfängers festgestellt werden
und eine Benachrichtigungsmeldung kann gemäß diesem
Zustand geliefert werden. Ein weiterer Aspekt der Erfindung ist
das Untersuchen von Paketen, die zum beabsichtigten Empfänger
geliefert werden, um dabei zu helfen, den operativen Zustand des
beabsichtigten Empfängers zu identifizieren und somit die
Art von zu liefernder Benachrichtigung festzulegen. Ein weiterer
Aspekt der Erfindung besteht darin, die Lieferung der Benachrichtigung
zu halten, wenn der beabsichtigte Empfänger offline oder
nicht erreichbar ist, und entweder die Benachrichtigung unter Verwendung
eines alternativen Offline-Mittels wie z. B. E-Mail, SMS usw. zu
liefern oder beim Erfassen einer Online-Aktivität des beabsichtigten
Empfängers (wie z. B. innerhalb eines Schwellenwerts der
Zeitdauer ab dem Empfang der Kommunikation) dann die Benachrichtigung
zu liefern.
-
Wenn
man sich nun den Figuren zuwendet, in denen gleiche Ziffern gleiche
Elemente in den verschiedenen Ansichten darstellen, werden beispielhafte
Ausführungsbeispiele der vorliegenden Erfindung beschrieben.
Der Zweckmäßigkeit halber können nur
einige Elemente derselben Gruppe mit Ziffern bezeichnet sein. Die
in den Figuren gezeigten Merkmale sind nur wegen der Zweckmäßigkeit
und Klarheit der Darstellung gewählt.
-
1 stellt
ein Blockdiagramm mit relevanten Elementen eines beispielhaften
Kommunikationssystems 100 dar, das eine geeignete Umgebung zum
Implementieren von beispielhaften Ausführungsbeispielen
der vorliegenden Erfindung ist. Das Kommunikationssystem 100 kann
auf einem zellulären bzw. Mobilfunk-Datenkommunikationsnetzwerk, einem
Satellitennetzwerk, einem Zugangsnetzwerk, einem drahtlosen Netzwerk
eines Internetdienstanbieters (ISP) oder einer anderen Art von Netzwerk oder
Kommunikationssystem basieren. Im Zusammenhang mit dieser Beschreibung
können die Begriffe zellulär bzw. Mobilfunk, Satellit,
drahtlos und ISP austauschbar verwendet werden und können
manchmal dieselbe Bedeutung haben.
-
Das
Kommunikationssystem 100 kann eine Vielzahl von Endgeräten 110;
einen Dienstanbieter (SPP) 130, ein Netzwerk 140,
wie z. B., jedoch nicht begrenzt auf das Internet; und einen oder
mehrere Anwendungsserver (Application Server) 150 innerhalb
des SPP 130 oder außerhalb des SPP 130 umfassen.
Ein beispielhafter SPP 130 kann unter anderen Elementen
einen Zugangs-Gateway (Access Gateway = AGW) 132, einen
QoE-Verbesserungsserver (QoEIS) 134 und einen Grenz-Gateway
(Border Gateway = BGW) 138 umfassen.
-
Für
Fachleute ist zu erkennen, dass in Abhängigkeit von seiner
Konfiguration und den Bedürfnissen das Kommunikationssystem 100 mehr
als vier Anwendungsserver 150 und mehr als drei Endgeräte 110 umfassen
kann. Für die Zwecke der Einfachheit des Verständnisses
sind jedoch drei Einheiten von jedem gezeigt. Es sollte beachtet
werden, dass die Begriffe "Endgeräte (Terminal)", "Endpunkt-Computer", Endpunkt",
"Surfer", "Einrichtung des Benutzers", "Mobiltelefon" und "Benutzer"
hierin austauschbar verwendet werden können.
-
Das
Kommunikationssystem 100 basiert auf dem Internetprotokoll
(IP) und es kann ein oder mehrere Netzwerksegmente darstellen, einschließlich – jedoch
nicht begrenzt auf – ein oder mehrere Internetsegmente,
ein oder mehrere Intranets usw. Das Kommunikationssystem 100 kann über
eine oder mehrere Arten von physikalischen Netzwerken laufen, wie
z. B. – jedoch nicht begrenzt auf – ein öffentliches
Fernsprechwählnetz (PSTN), ein dienstintegrierendes digitales
Fernmeldenetz (ISDN), ein Mobilfunk-Netz, einen Satelliten usw.
Das Kommunikationssystem 100 kann über eine Kombination
dieser Netzwerke laufen. Das System 100 kann Zwischenknoten
entlang der Verbindung zwischen einem Benutzer und einem Anwendungsserver
umfassen. Die Zwischenknoten können umfassen – sind
jedoch nicht begrenzt auf – IP-Dienstanbieter-Server, Mobilfunk-Dienstanbieter-Server
und andere Arten einer Dienstanbieteranlage.
-
Eine
Vielzahl von Endpunkt-Computern 110 können versorgt
werden durch das Computersystem 100 zum Durchführen
von Echtzeitsitzungen über den SPP 130, das Internet 140 und
die Anwendungsserver 150. Ein allgemeines Endgerät 110 kann
eine Echtzeit-Kommunikationsanwendung abarbeiten über einen
der Anwendungsserver 150 zum Aufbauen einer Echtzeitsitzung.
Eine beispielhafte Echtzeit-Kommunikationsanwendung kann SIP, PTTOC, Skype,
Google Talk und MSN Messenger als nicht-begrenzende Beispiele sein.
Das beispielhafte Endgerät 110 kann ein Personalcomputer
(PC), ein Notebookcomputer, ein Mobiltelefon, ein tragbarer Computer,
ein persönlicher Datenassistent (Personal Data Assistant
= PDA) oder irgendeine andere Rechenvorrichtung mit Draht- oder
drahtlosen Kommunikationsfähigkeiten usw. sein.
-
Die
Vielzahl von Endgeräten 110 sind über Datenverbindungen 120 mit
dem Zugangs-Gateway (AGW) 132 innerhalb des SPP 130 verbunden.
Die Verbindung zwischen den Endgeräten 110 und
dem SPP 130 kann über Zwischenknoten sein (wie
z. B. eine Basisstation usw.), die in 1 nicht
gezeigt sind. Der AGW 132 wirkt als Zugangs-Gateway zwischen
dem Netzwerkprotokoll, das über die Kommunikationsverbindungen 120 verwendet
wird, und dem IP-Netzwerk, das über den SPP 130 verwendet
wird. Ein beispielhafter AGW 132 kann ein Fernzugangsserver
(Remote Access Server = RAS), ein Gateway-GPRS-Unterstützungsknoten
(GGSN), ein Paketdaten-Bearbeitungsknoten (Packet Data Serving Node
= PDSN) oder irgendein anderer ähnlicher Knoten sein.
-
Der
Grenz-Gateway (BGW) 138 ist die Schnittstelle zwischen
dem Internet 140 und der SPP 130. Der BGW 138 kann
die Upload-Kommunikation zum geeigneten Ziel über das Netzwerk 140 leiten. Wenn
der Upload-Transport eine Anforderung für eine Echtzeitsitzung
ist, leitet der BGW 138 die Anforderung zum geeigneten
Anwendungsserver 150. Die Begriffe BGW und Grenz-Router
können in dieser ganzen Beschreibung austauschbar verwendet
werden. In der Download-Richtung empfängt der BGW 138 eingehende
Pakete von den verschiedenen Anwendungsservern 150 und
verteilt sie zu den geeigneten Modulen des SPP 130. Gewöhnlich
werden Pakete zum AGW 132 übertragen, die an ein
Endgerät 110 gerichtet sind.
-
Ein
beispielhaftes Ausführungsbeispiel des QoEIS 134 kann
Verkehr abfangen, der zwischen dem AGW 132 und dem BGW 138 übertragen
wird. Daher werden Pakete, die zwischen der Vielzahl von Endpunkt-Computern 110 und
der Vielzahl von Anwendungsservern 150 übertragen
werden, vom QoEIS 134 empfangen und verarbeitet. Bei einem
beispielhaften Ausführungsbeispiel kann der QoEIS 134 als
Voreinstellungs-Gateway für beide Seiten der SPP 130 (d.
h. für AGW 132 und für den BGW 138) konfiguriert
sein. Bei einem weiteren beispielhaften Ausführungsbeispiel
kann sich der QoEIS 134 physikalisch zwischen dem AGW 132 und
dem BGW 138 befinden. In beiden Fällen kann der
QoEIS 134 für beide Seiten der Verbindung, für
den Endpunkt-Computer 110 oder für die Anwendungsserver 150 transparent
sein. Bei einem alternativen beispielhaften Ausführungsbeispiel
der vorliegenden Erfindung kann der QoEIS 134 beispielsweise
als nicht-transparenter Proxy verwendet werden. In einem solchen Fall
können die Endgeräte 110 so konfiguriert
sein, dass sie beispielsweise den QoEIS 134 als ihren Proxy
enthalten. Bei einem weiteren beispielhaften Ausführungsbeispiel
der vorliegenden Erfindung kann der QoEIS 134 als transparenter
Proxy konfiguriert sein. Ein solches Ausführungsbeispiel
kann Umleitungs- und IP-Masquerading-Verfahren verwenden.
-
Ein
beispielhafter QoEIS 134 kann dazu ausgelegt sein, den
Transport zwischen den Benutzern 110 und den Anwendungsservern 150 abzufangen. Der
Verkehr wird analysiert und ein relevanter Eintrag in einer Tabelle
von versorgten bzw. betreuten Benutzern wird durch den aktuellen
Status jedes angeschlossenen Benutzers aktualisiert. Wenn eine Anforderung
nach einem Aufbau einer Echtzeit-Kommunikationssitzung mit einem
oder mehreren der Benutzer des QoEIS 134 (einem Adressaten
der Anforderung) empfangen wird, ist der QoEIS 134 in der Lage
festzustellen, ob der Adressat der Anforderung gegenwärtig
mit dem Internet 140 verbunden ist und welche Art von Anwendung
vom Adressaten verwendet wird. Eine Benachrichtigungsmeldung kann
erzeugt werden, die den Adressaten informiert, dass ein Echtzeitanruf
wartet. Die Benachrichtigungsmeldung kann Verbindungsanweisungen
für den Adressaten umfassen. Die Anforderung kann von einem der
Anwendungsserver 150 oder von einem der Benutzer 110 empfangen
werden und kann durch den QoEIS 134 abgefangen und analysiert
bzw. geparst werden.
-
Die
Benachrichtigungsmeldung hängt von der Art der Anwendung
ab, die vom Adressaten verwendet wird. Wenn der Adressat gerade
im Internet surft, kann ein Benachrichtigungsobjekt zu einer Webseite
hinzugefügt werden, die zum Adressaten gesandt wird. Das
Benachrichtigungsobjekt kann in Form einer Popup-Meldung, eines
Banners usw. vorliegen. Wenn der Adressat an einer Sofortnachrichtenübermittlungssitzung
beteiligt ist, kann die Benachrichtigung zu einer nächsten
Meldung, die zum Adressaten gesandt wird, hinzugefügt werden.
Wenn sich der Adressat inmitten einer Videositzung befindet, kann
die Meldung zum Videoinhalt auf vielfältige Weise hinzugefügt
werden, einschließlich als Bildsymbol, als Graphik, als
Untertitel usw. Wenn der Adressat nicht verbunden ist, kann die
Benachrichtigung beispielsweise durch SMS gesandt werden. Weitere
Informationen über den Betrieb des QoEIS 134 werden
nachstehend in Verbindung mit 2 und 3 dargestellt.
-
2 ist
ein Blockdiagramm mit relevanten Elementen eines QoE-Verbesserungsservers
(QoEIS) 200, der gemäß einem beispielhaften
Ausführungsbeispiel der vorliegenden Erfindung arbeitet. Der
QoEIS 200 kann einer SPP 130 (1)
als Zwischenknoten 134 zwischen dem AGW 132 und
dem BGW 138 zugeordnet sein. Im Zusammenhang mit dem Kommunikationsstapel
mit sieben Schichten des Referenzmodells der Kommunikation offener Systeme
(Open System Interconnection = OSI) kann ein beispielhafter QoEIS 200 durch
ein Modul an der Spitze der Datenverbindungsschicht implementiert sein.
-
Ein
beispielhaftes Ausführungsbeispiel des QoEIS 200 kann – neben
anderen Anwendungen – so wirksam sein, dass Benachrichtigungsmeldungen über
wartende Echtzeitanrufe erzeugt werden. Nicht-begrenzende Beispiele
von anderen Anwendungen, die vom QoEIS 200 ausgeführt
werden können, umfassen Beschleunigung, Bandbreitenverwaltung
usw. Ein beispielhaftes Ausführungsbeispiel des QoEIS 200 kann
für beide Seiten der Verbindung zu den Endpunkten 110 und
zum dem Internet 140 oder dem SPP 130 transparent
sein. Ein beispielhafter QoEIS 200 kann eine Umleiteinrichtung
(Redirector) 210, eine Leitungs- und Verwaltungsmaschine
(Routing and Management Engine = RME) 220, einen SMS-Generator
(SMSG) 250, ein Aggregationsmodul 260, einen gemeinsam
genutzten Speicher 270, ein Informationsdepot (Information
Repository = IR) 280 und eine Richtliniendatenbank (Policy
Data Base) 290 umfassen.
-
Außerdem
kann der QoEIS 200 eine oder mehrere Arten von Anwendungsebenenprozessoren (Application
Level Processor = ALP) umfassen. Beispielhafte Arten von ALP können
beispielsweise Videositzungs-Anwendungsebenenprozessoren (Video
Session ALP = VSALP) 230a–c und einen Web/Wab-Browser-Anwendungsebenenprozessor (WBALP) 240a–c
umfassen. Andere beispielhafte QoEIS 200 können
so konfiguriert sein, dass sie andere Kombinationen von ALP umfassen.
Zusätzliche Arten von ALP können zu einem QoEIS 200 hinzugefügt
oder von diesem entfernt werden. Ein Sofortnachrichtenübermittlungs-Anwendungsebenenprozessor
(IMALP), der in der Zeichnung nicht gezeigt ist, kann beispielsweise
hinzugefügt werden. Jede Art von ALP kann einen oder mehrere
Prozessstränge aufweisen – einen pro aktuellem
Benutzer 110, der gegenwärtig über den
QoEIS 200 kommuniziert. Für Fachleute ist zu erkennen,
dass in Abhängigkeit von seiner Konfiguration und den Bedürfnissen
der QoEIS 200 mehr als zwei Arten von ALP umfassen kann
und jede Art mehr als drei Prozessstränge (Threads) aufweisen
kann. Für die Zwecke der Einfachheit des Verständnisses
sind jedoch zwei Arten von ALPS mit drei Prozesssträngen
für jeden gezeigt. Die Umleiteinrichtung 210 erhält
Pakete, die zu/von der Vielzahl von Endpunkt-Computern 110 (1) vom/zum
Internet (140) gehen/kommen, und leitet die Pakete zu den
internen Modulen des QoEIS 200 um. Zusätzlich
hält die Umleiteinrichtung 210 die Verbindungen
aufrecht, die von den Benutzern eingeleitet wurden, und behält
die IP-Adressen von Paketen bei, die zu den Benutzern und zum Internet 140 und/oder
den SPP 130 gehen. Eine beispielhafte Umleiteinrichtung
kann NAT-Module implementieren. Andere Ausführungsbeispiele
des QoEIS 200 können eine kommerzielle Umleiteinrichtung
umfassen, wie z. B. – jedoch nicht begrenzt auf – einen
Content Inspection Director (CD) (ein Produkt von Radware Ltd.,
Israel). Pakete von der Umleiteinrichtung 210 werden zur
RME 220 übertragen.
-
Eine
beispielhafte RME 220 kann eine oder mehrere Ebenen des
Kopfs von empfangenen Paketen analysieren und kann auf der Basis
der IP-Adressen und der Art von Nutzinformationen feststellen, wie
das empfangene Paket zu verarbeiten ist. Folglich kann das Paket
zu einem der ALPS 230a–c oder 240a–c,
zum Aggregationsmodul 260 oder zur Umleiteinrichtung 210 zurück
geleitet werden. Das Leiten der Pakete zwischen internen Modulen
des QoEIS 200 kann über den gemeinsam genutzten
Speicher 270 durchgeführt werden. Die RME 220 kann das
IR 280 und relevante Richtlinien von der Richtlinien-DB 290 verwenden,
um eine Entscheidung hinsichtlich dessen zu erreichen, wie ein empfangenes Paket
zu leiten ist. Außerdem kann die Tabelle betreuter Benutzer
von der RME 220 verwaltet und verwendet werden. Die Tabelle
betreuter Benutzer kann im gemeinsam genutzten Speicher 270 gespeichert werden.
Jeder Eintrag in der Tabelle betreuter Benutzer kann einem momentanen
verbundenen Benutzer zugeordnet sein und enthält Informationen über
den zugeordneten Benutzer, die für die RME 220 relevant sind.
Nicht-begrenzende Beispiele dieser Informationen können
die IP-Adresse des Benutzers, das MS-ISDN, einen zugehörigen
ALP, wenn er bereits zugeordnet wurde, einige Vorlieben des Benutzers (falls
welche vorhanden sind) usw. umfassen. Bei einem weiteren beispielhaften
Ausführungsbeispiel der vorliegenden Erfindung kann die
RME 220 ein Modul zur tiefen Paketuntersuchung (Deep Packet
Inspection = DPI), einen tiefen Paketanalysator (Deep Packet Analyzer
= DPA) und einen Richtlinienvollstrecker umfassen. Wenn ein empfangenes
Paket eine Anforderung nach einem Aufbau einer Echtzeitsitzung ist,
kann die Anforderung ferner weiter analysiert werden und Informationen über
den Adressaten, die Art von Echtzeitsitzung und ein Link zum Antworten
auf die Anforderung können abgerufen werden. Die RME 220 kann
die Tabelle betreuter Benutzer durchsuchen, wobei sie nach einem
Eintrag sucht, der dem Adressaten zugeordnet ist. Wenn ein Eintrag
gefunden wird, wird der Inhalt des Eintrags analysiert und folglich
wird eine Entscheidung getroffen, ob Informationen über
die angeforderte Echtzeitsitzung zu einem geeigneten ALP oder zum
SMSG 250 oder zur Umleiteinrichtung 210 zurück übertragen werden
sollen. Außerdem kann die RME 220 eine Rückmeldung
erzeugen und zum Anfordernden senden, die ihn über die
Handlung, die unternommen wurde, informiert.
-
Wenn
ein empfangenes Paket eine Anforderung von einem Teilnehmer des
QoEIS 200 ist, eine neue Sitzung über das Internet
aufzubauen, kann ein relevanter ALP durch die RME 220 aufgerufen
oder erzeugt werden. Wenn beispielsweise ein Paket eine Anforderung
von einer Browseranwendung eines neuen Benutzers ist, kann ein WBALP 240 hinzugefügt
und dem neuen Benutzer zugeordnet werden, ein neuer Eintrag in der
Tabelle betreuter Benutzer kann erzeugt werden und Informationen über
den neuen Benutzer und den zugehörigen ALP können
in die relevanten Felder geschrieben werden. Außerdem können
das IR 280 und die Richtlinien-DB 290 durchsucht
werden, um Informationen abzurufen, die für den Benutzer
relevant sein können. Der gemeinsam genutzte Speicher 270 wird
als Schnittstelle zwischen den verschiedenen Modulen des QoEIS 200 und
zum Speichern der Tabelle betreuter Benutzer verwendet. Jedes der
Module des QoEIS 200 kann eine Warteschlange im gemeinsam
genutzten Speicher 270 aufweisen. Die Übertragung
von Informationen zwischen den verschiedenen Modulen kann durch
Platzieren eines Zeigers auf die Informationen in einer Warteschlange,
die dem Zielmodul zugeordnet ist, durchgeführt werden.
Das IR 280 kann Informationen speichern, die mit Benutzern
des QoEIS 200 in Beziehung stehen. Dies sind Informationen wie
z. B. MS-ISDN, Vorlieben, das Niveau von Diensten, die Mobiltelefonnummer,
die IP-Adresse usw. Die Richtlinien-DB 290 kann Richtlinien
speichern, die für die Arten von Behandlungen relevant
sind, die an empfangenen Paketen ausgeführt werden sollen. Eine
beispielhafte Richtlinie kann Prioritäten, eine maximale
Verzögerung usw. definieren.
-
Der
SMSG 250 kann als Offline-Benachrichtigungsmodul verwendet
werden, das verwendet werden kann, wenn der beabsichtigte Empfänger
der Echtzeitkommunikation gegenwärtig nicht über
das Internet aktiv ist. Er kann Informationen über eine
Anforderung nach einer Echtzeitsitzung empfangen. Nicht-begrenzende
Beispiele der empfangenen Informationen können den Namen
des Anfordernden und Kontaktinformationen zum Aufbauen einer Echtzeitsitzung
(ein Link zu einem der Anwendungsserver 150) umfassen.
Außerdem können Informationen über den
Adressaten, wie z. B. die MS-ISDN und/oder IP-Adresse, geliefert
werden. Auf der Basis der empfangenen Informationen kann der SMSG 250 eine
SMS-Nachricht mit Informationen über die Sitzung erzeugen.
Die SMS-Nachricht und das MS-ISDN des Adressaten können
zu einem zugehörigen SMS-Zentrum (SMSC) geliefert werden,
das sich beim Betreiber 130 befindet (das SMSC ist in der Zeichnung
nicht gezeigt).
-
Ein
weiteres beispielhaftes Ausführungsbeispiel der vorliegenden
Erfindung kann ein weiters Ausführungsbeispiel eines Offline-Benachrichtigungsmoduls
anstelle des SMSG 250 verwenden. Das andere beispielhafte
Offline-Benachrichtigungsmodul kann ein IVR-Modul sein, das eine
Audiomeldung erzeugt. Dann kann das Offline-Benachrichtigungsmodul
ein Telefon des beabsichtigten Empfängers anwählen
und führt die Audiomeldung durch.
-
Das
Aggregationsmodul 260 kann Pakete, die von der RME 220 kommen,
empfangen und vorübergehend speichern. Pakete vom Aggregationsmodul 260 können
zur Umleiteinrichtung 210 geliefert werden, damit sie zu
ihrem Ziel gesandt werden. Die Speicherdauer im Aggregationsmodul 260 kann von
einer geeigneten Richtlinie abhängen. Die Dauer kann eine
Funktion der Auslastung der Kommunikationsverbindungen, der Art
von Nutzinformationen, der Benutzerart usw. sein. Beim Identifizieren
einer Anforderung von einem neuen Benutzer kann ein beispielhafter
ALP wie z. B. WBALP 240a–c oder VSALP 240a–c
durch die RME 220 erzeugt oder aufgerufen werden. Die Art
von ALP hängt von der Art der Sitzung, die vom Benutzer
angefordert wird, ab. Wenn beispielsweise die Anforderung zum Browsen des
Internet ist, dann kann ein WBALP 240 hinzugefügt
werden. Wenn eine Videostromsitzung angefordert wird, kann ein VSALP 230 hinzugefügt
werden. Wenn eine Sofortnachrichtenübermittlungssitzung angefordert
wird, wird ein Sofortnachrichtenübermittlungs-ALP (IMALP)
erzeugt (nicht dargestellt). Unter anderen Modulen kann jeder ALP
einen Nutzinformationsmanipulator (einen Inhaltsmanipulator) 244 oder 234 (beispielsweise)
umfassen. Der Nutzinformationsmanipulator kann zum Manipulieren
des Verkehrs verwendet werden, um die Antwort zu beschleunigen und/oder
die Bandbreite zu verringern und/oder Ankündigungen hinzuzufügen
usw.
-
Ein
beispielhafter WBALP 240 kann einen Dokumentenauszeichnungssprach-(Markup
Language = ML)Manipulator (MLM) 244 umfassen. Ein beispielhafter
MLM 244 kann in der Lage sein, eine empfangene ML-Datei
wie z. B. eine HTML-Datei zu verarbeiten, um zukünftige
Objekte vorab abzurufen, Ankündigungen hinzuzufügen,
mehrere Objekte zu mehrteiligen Objekten zu kombinieren, usw. Ein
beispielhafter VSALP 230 kann einen Videostrommanipulator
(Video Streaming Manipulator = VSM) 234 umfassen. Ein beispielhafter
VSM 234 kann in der Lage sein, einen empfangenen Strom von
komprimierten Videopaketen zu verarbeiten, und kann ferner die Daten
beispielsweise komprimieren. Alternativ oder zusätzlich
kann ein beispielhafter VSM 234 in der Lage sein, eine
Ankündigung zur Videostrom-Bandbreitenverwaltung hinzuzufügen,
usw. Ein weiterer beispielhafter VSM 234 kann auf einem Medienprozessor
basieren, wie z. B. – jedoch nicht begrenzt auf – denjenigen,
der von SURF, LTD, einer israelischen Gesellschaft, hergestellt
wird.
-
Es
gibt eine Vielzahl von Patentanmeldungen, Patenten und kommerziellen
Produkten, wie z. B. die Produktlinie Flash Network NettGain und
die Harmony-Produktlinie, die Nutzinformationen von Paketen verarbeiten,
die zum und vom Internet laufen. Daher wird der Betrieb des Nutzinformationsmanipulators
nicht im Einzelnen beschrieben. Ein Leser, der mehr über
Nutzinformationsmanipulatoren lesen will, ist eingeladen, die US-Patentanmeldungen
zu lesen, wie z. B.: US 11/686 495; US 11/563 838; US 11/462 355;
US 11/686 495;
WO 2006/043
274 und viele weitere.
-
Zusätzlich
zum Nutzinformationsmanipulator kann ein beispielhafter ALP einen
Nachrichtengenerator 242 oder 232 umfassen. Der
Nachrichtengenerator kann an die Art des ALP angepasst sein. Der Nachrichtengenerator
kann in der Lage sein, Informationen hinsichtlich des Anfordernden,
Verbindungsinformationen usw. zu empfangen und dann eine Nachricht
zu erzeugen, die zum Verkehr hinzugefügt werden kann, der
zum Adressaten des Anrufs übertragen wird. Wenn der ALP
beispielsweise ein WBALP 240 ist, dann kann ein beispielhafter ML-Nachrichtengenerator
MLMG 242 hinzugefügt werden. Ein beispielhafter
MLMG 242 kann eine Popup-Meldung mit dem Namen des Anfordernden
und einem Link zu einem relevanten Anwendungsserver 150 (1)
erzeugen, der zeitlich so geplant wird, dass die Kommunikationssitzung
beherbergt (gehostet) wird. Die Popup-Meldung wird zum MLM 244 geliefert,
damit sie zu einer nächsten Seite hinzugefügt wird,
die vom Adressaten des Anrufs angefordert wird. Alternativ kann
die Textmeldung als Banner in einer Adresse im gemeinsam genutzten
Speicher 270 gespeichert werden und ein Browser-Link zum gespeicherten
Banner kann zum MLN 244 geliefert werden, damit es zur
nächsten ML-Datei hinzugefügt wird, die an den
Adressaten gerichtet ist. Ein Browser-Link ist ein Link zu einem
Objekt, das automatisch von einer Browser-Anwendung abgerufen wird, während
eine Seite wie beispielsweise ein Link für ein Bild abgerufen
wird.
-
Wenn
der Adressat an einer Videostromsitzung beteiligt ist, könnte
ein VSALP 230 dem Adressaten zugeordnet werden. Eine Anforderung
zum Aufbauen einer Echtzeit-Kommunikationssitzung mit dem Adressaten
kann zu einem relevanten VMG 232 geliefert werden. Ein
beispielhafter VMG 232 kann in der Lage sein, den Videostrom
zu decodieren und Informationen hinsichtlich der angeforderten Sitzung
in Videodaten umzuwandeln. Nicht-begrenzende Beispiele solcher Informationen
können den Namen des Anfordernden, das Thema der Sitzung
(wenn eines vorhanden ist) und einen URL zum Aufbauen der Sitzung
umfassen. Das Video der Nachricht kann über dem decodierten
Videostrom angeordnet werden. Das kombinierte Video kann über
den VSM 234 zum Adressaten geliefert werden, der den kombinierten Strom
weiterverarbeiten kann. Ein beispielhafter VMG umfasst Bitmapeinfügung,
Videomischen usw.
-
Wenn
der Adressat an einer Sofortnachrichtenübermittlungssitzung
beteiligt ist, könnte ein IMALP dem Adressaten zugeordnet
werden. Eine Anforderung zum Aufbauen einer Kommunikationssitzung
mit dem Adressaten kann zu einem relevanten Nachrichtengenerator
geliefert werden, damit sie in das Format einer Sofortnachricht
umgewandelt wird, die zum Adressaten gesandt werden soll. Weitere
Informationen über die Operation des QoEIS 200 sind
nachstehend in Verbindung mit 3 offenbart.
-
3 stellt
einen Ablaufplan mit relevanten Schritten eines beispielhaften Prozesses 300 dar,
der zum Verarbeiten eines empfangenen Pakets verwendet werden kann.
Der Prozess 300 kann beispielsweise innerhalb der RME 220 (2)
implementiert sein. Der Prozess 300 wird nach dem Einschalten
initialisiert 301 und kann in einer Schleife laufen, solange
der QoEIS 200 aktiv ist. Während der Initialisierung 301 kann
die RME 220 Informationen über relevante Resourcen
erhalten, wie z. B. – jedoch nicht begrenzt auf – ihre
Warteschlangen im SM 270, Warteschlangen von anderen Modulen,
den Ort einer Tabelle von betreuten Benutzern usw.
-
Beim
Schritt 303 wird die Warteschlange der RME 220 (2)
geprüft, um festzustellen, ob ein zu verarbeitendes Paket
empfangen wurde 303. Bei einem Ausführungsbeispiel
der Erfindung kann die Warteschlange beispielsweise untersucht werden, um
festzustellen, ob ein Zeiger auf ein nächstes Paket vorhanden
ist. Wenn ein solcher Zeiger nicht vorhanden ist, wartet der Prozess 300 oder
läuft in einer Schleife zurück und prüft
die Warteschlange erneut, bis ein Paket empfangen wird. Wenn ein
Paket empfangen wurde, ruft der Prozess 300 das Paket ab
und analysiert 304 dann das Paket, um festzustellen 305, ob
die Quelle und/oder das Ziel des empfangenen Pakets ein Teilnehmer
des QoEIS 200 ist (d. h. ob die Quelle und/oder das Ziel
registriert ist).
-
Ein
Teilnehmer kann ein Benutzer 110 (1) des SPP 130 oder
ein Server wie z. B. einer der Anwendungsserver 150 sein.
-
Wenn 305 die
Quelle und/oder das Ziel des Pakets nicht registriert sind/ist,
kann eine relevante Richtlinie aus der Richtlinien-DB 290 (2)
berücksichtigt werden 307, um festzustellen, wie
das empfangene Paket zu bearbeiten ist. Die Entscheidung im Hinblick
darauf, wie das empfangene Paket zu bearbeiten ist, kann auf der
aktuellen Auslastung des SPP 130, der Zeit (Tag, Nacht),
der Art von Paket, dem Dienstniveau usw. basieren. Als Ergebnis
wird eine Entscheidung hinsichtlich dessen getroffen 309, ob
eine Aggregation durchgeführt werden soll oder nicht. Wenn
das Paket aggregiert werden soll, wird es dann zum Aggregationsmodul 260 übertragen 310.
Ansonsten wird das Paket zur Umleiteinrichtung 210 (2) übertragen,
damit es zu seinem Endziel gesandt wird 334. Nach der Übertragung
des Pakets kehrt der Prozess 300 zu Schritt 303 zurück,
um auf das nächste Paket zu warten oder dieses zu verarbeiten.
Bei Rückkehr zum Schritt 305 können dann, wenn
die Quelle und/oder das Ziel des empfangenen Pakets registriert
ist, die Pakete weiterverarbeitet werden. Diese Verarbeitung umfasst
die Analyse des Pakets und das Vergleichen der Verbindungsinformationen
innerhalb des Pakets mit der Tabelle 320 versorgter bzw.
betreuter Benutzer, um festzustellen 322, ob das Paket
zu einer existierenden Verbindung gehört. Wenn ein Eintrag
in der Tabelle betreuter Benutzer gefunden wird, wird das Paket
zu seinem relevanten ALP übertragen 324 und der
Prozess 300 kehrt zum Schritt 303 zurück,
um auf die Ankunft des nächsten Pakets zu warten. Das Leiten
des Pakets in Richtung des relevanten ALP kann auf der Adresse im
gemeinsam genutzten Speicher 270 (2) der Warteschlange
des relevanten ALP basieren. Die Adresse der Warteschlange kann
im zugehörigen Eintrag gespeichert sein.
-
Wenn 322 das
Paket nicht zu einer existierenden Verbindung gehört, kann
das Paket weiter analysiert werden, um festzustellen 330,
ob das Paket eine Anforderung nach einer Kommunikationssitzung ist.
Das Paket kann beispielsweise eine in eine Echtzeitsitzung eingebettete
Textmeldung sein, wie z. B. Wertpapiere usw.. Mehrere Algorithmen
können verwendet werden, um festzustellen, ob das Paket eine
Anforderung für eine Echtzeitsitzung ist. Eine beispielhafte
RME 220 kann beliebige Kombinationen der folgenden Beispiele
oder andere Algorithmen implementieren. Ein Algorithmus kann prüfen, ob
das Paket einem der populären Echtzeitprotokolle entspricht.
Nicht-begrenzende Beispiele solcher Echtzeit-Kommunikationsprotokolle
umfassen Session Initiation Protocol (SIP); Push-To-Talk Over Cellular
(PTTOC), das auf SIP basiert, usw.. Andere Algorithmen zum Identifizieren
der Kommunikationssitzung können die Zieladresse des Pakets
mit einer Liste von Anwendungsservern 150 vergleichen,
die im Benutzer-IR 280 registriert sind. Weitere Ausführungsbeispiele
können ein Einladungsformular zum Einladen eines Adressaten
in eine Echtzeitsitzung verwenden. Ausführungsbeispiele
der vorliegenden Erfindung können andere Algorithmen zum
Bestimmen einer Anforderung für eine Echtzeit-Kommunikationssitzung
verwenden.
-
Wenn 330 das
Paket keine Echtzeit-Kommunikationsanforderung umfasst, dann wird
eine Entscheidung hinsichtlich dessen getroffen, ob 332 das Paket
durch einen ALP des QoEIS 200 verarbeitet werden kann.
Die Entscheidung kann auf der Art des Pakets basieren. Wenn 332 das
Paket nicht vom QoEIS 200 verarbeitet werden kann, dann
wird das Paket über die Umleiteinrichtung 210 zu
seinem Ziel übertragen 334.
-
Wenn 332 das
Paket verarbeitet werden kann, dann kann ein geeigneter ALP erzeugt und/oder
aufgerufen werden 336 und ferner kann ein Eintrag in der
Verbindungstabelle von betreuten Benutzern hinzugefügt
werden. Der Eintrag kann der Quelle des Pakets zugeordnet sein und
relevante Feder können mit Informationen wie z. B. der
Quellen-IP-Adresse, dem MS-ISDN, der Art der Sitzung, den Benutzervorlieben,
der Adresse der Warteschlange des zugehörigen ALP im gemeinsam
genutzten Speicher 270 usw. gefüllt sein. Die
Benutzervorlieben können vom IR 280 abgerufen
werden. Wenn beispielsweise das Paket eine Anforderung zum Abrufen
einer Seite (beispielsweise ein HTTP-Paket) ist, dann kann ein neuer
WBALP 240 erzeugt werden.
-
Wenn
man zum Schritt 330 zurückkehrt und wenn das Paket
eine Echtzeit-Kommunikationsanforderung umfasst, wird die Anforderung
weiter analysiert 338 und Informationen über den
Adressaten der Kommunikationssitzung werden abgerufen. Die Informationen über
den Adressaten können eine IP-Adresse, ein MS-ISDN usw.
sein. Auf der Basis der Informationen des Adressaten wird die Tabelle betreuter
Benutzer nach einem Eintrag durchsucht, der für den Adressaten
relevant ist. Wenn bei 340 kein Eintrag gefunden wird,
dann können die Informationen über den Adressaten,
den Anfordernden und die Art von Sitzung zum SMSG 250 (2)
mit einem Befehl zum Erzeugen einer SMS-Nachricht mit den Informationen über
den Anruf (den Namen des Anfordernden, einen URL für die
Sitzung usw.) geliefert werden 342. Die SMS mit dem MS-ISDN wird
zu einem zugehörigen SMSC gesandt, damit sie zum Adressaten
der angeforderten Sitzung geliefert wird. Eine Benachrichtigungsmeldung
kann erzeugt werden 346, die den Anfordernden informiert,
dass eine SMS-Nachricht zum Adressaten gesandt wurde, und der Prozess 300 kann
zu Schritt 303 zurückkehren.
-
Wenn
jedoch bei 340 ein Eintrag gefunden wird, dann können
Informationen über den Adressaten, den Anfordernden und
die Art von Sitzung zu einem ALP, der dem Adressaten zugeordnet
ist, mit einem Befehl zum Erzeugen einer beispielhaften Einladungsnachricht
mit den Informationen über den angeforderten Sitzungsanruf
(dem Namen des Anfordernden, einem URL für die Sitzung
usw.) geliefert werden 344. Das Liefern der Informationen
zum ALP kann durch Speichern der Informationen im gemeinsam genutzten
Speicher 270 und Anordnen eines Zeigers, der auf die Stelle
der Informationen im gemeinsam genutzten Speicher 270 zeigt,
in der Warteschlange des relevanten Nachrichtengenerators (beispielsweise
MLMG 242 oder VMG 232) durchgeführt werden.
Der Nachrichtengenerator verarbeitet die Informationen gemäß der
Art seines zugehörigen ALP und die verarbeiteten Informationen
können zum relevanten Manipulator (beispielsweise MLM 244 bzw. VSM 234)
geliefert werden, damit sie zu den Informationen hinzugefügt
werden, die zum Adressaten übertragen werden. Nach dem
Liefern der Informationen zum Nachrichtengenerator oder zum Adressaten
kann eine Benachrichtigungsmeldung erzeugt werden 346,
die den Anfordernden informiert, dass eine Nachricht zum Adressaten
gesandt wurde, und das Verfahren 300 kann zu Schritt 303 zurückkehren.
-
Ein
alternatives beispielhaftes Ausführungsbeispiel der vorliegenden
Erfindung kann einen zentralisierten Nachrichtengenerator je Art
von Anwendung verwenden. Beispielsweise einen zentralen MLMG, der
alle MLM 244 versorgt, und einen zentralen VMG, der alle
VSMs 234 versorgt (die zentralen Module sind in den Zeichnungen
nicht gezeigt).
-
Insgesamt
verbessert diese Erfindung die Erfahrung eines Teilnehmers zum Aufbauen
einer Echtzeit-Stegreifkommunikationssitzung mit einem Adressaten
durch Benachrichtigen des Adressaten über die Anforderung
zur Kommunikation mit ihm.
-
In
der Beschreibung und in den Ansprüchen der vorliegenden
Anmeldung wird jedes der Verben "umfassen", "einschließen"
und "aufweisen" und Konjugierte derselben verwendet, um anzugeben, dass
das Objekt oder die Objekte des Verbs nicht notwendigerweise eine
vollständige Auflistung von Elementen, Komponenten, Elementen
oder Teilen des Subjekts oder der Subjekte des Verbs sind.
-
In
dieser Anmeldung werden die Worte "Einheit" und "Modul" austauschbar
verwendet. Irgendetwas, das als Einheit oder Modul bezeichnet ist,
kann eine eigenständige Einheit oder ein spezialisiertes Modul
sein. Eine Einheit oder ein Modul kann modular sein oder modulare
Aspekte aufweisen, die es ermöglichen, dass es leicht entfernt
und gegen eine andere ähnliche Einheit oder ein anderes ähnliches
Modul ausgetauscht wird. Jede Einheit oder jedes Modul kann irgendeine
oder eine beliebige Kombination von Software, Hardware und/oder
Firmware sein. Die Software kann in einem computerlesbaren Medium wie
z. B. einer Lese/Schreib-Festplatte, einem CDROM, einem Flash-Speicher,
einem ROM usw. verkörpert sein. Um eine bestimmte Aufgabe
auszuführen, kann ein Softwareprogramm in einen geeigneten
Prozessor geladen werden, wie erforderlich. Es ist zu erkennen,
dass die vorstehend beschriebenen Module auf viele Weisen verändert
werden können, einschließlich der Änderung
der Anzahl von Modulen und der Kombination von zwei oder mehr Modulen
zu einem. Unterteilen der Operation eines bestimmten Moduls in zwei
oder mehr separate Module usw.
-
Es
ist zu erkennen, dass die vorstehend beschriebenen Verfahren auf
viele Weisen verändert werden können, einschließlich
der Änderung der Reihenfolge von Schritten und der exakten
verwendeten Implementierung. Es sollte auch erkannt werden, dass
die vorstehend beschriebene Beschreibung von Verfahren und Vorrichtungen
als eine Vorrichtung zur Ausführung der Verfahren und Verfahren
zur Verwendung der Vorrichtung einschließend interpretiert
werden soll.
-
Die
vorliegende Erfindung wurde unter Verwendung von detaillierten Beschreibungen
von Ausführungsbeispielen derselben beschrieben, die als Beispiel
vorgesehen sind und den Schutzbereich der Erfindung nicht begrenzen
sollen. Die beschriebenen Ausführungsbeispiele umfassen
verschiedene Merkmale, von denen nicht alle in allen Ausführungsbeispielen
der Erfindung erforderlich sind. Einige Ausführungsbeispiele
der vorliegenden Erfindung verwenden nur einige der Merkmale oder
mögliche Kombinationen der Merkmale. Variationen von Ausführungsbeispielen
der vorliegenden Erfindung, die beschrieben sind, und Ausführungsbeispiele
der vorliegenden Erfindung mit verschiedenen Kombinationen von Merkmalen,
die in den beschriebenen Ausführungsbeispielen angegeben
sind, kommen Fachleuten in den Sinn.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-