-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Verbesserungen in der Internetprotokoll-Telekommunikation
und insbesondere Methoden zur Beseitigung oder Verringerung des
Bedarfs an auf Benutzermaschinen laufender spezialisierter Software
zur Dialogführung
mit Netzwerk-Softwareanwendungen.
-
HINTERGRUND
DER ERFINDUNG
-
Softwareanwendungen
führen
normalerweise einen Dialog mit einem Benutzer, indem sie eine Anfrage
stellen und dann eine Antwort des Benutzers empfangen. Bestimmte
Software muß immer
auf dem Computer des Benutzers vorhanden sein, um diese Aufgabe
durchzuführen,
auch wenn die Anwendung, mit der der Benutzer einen Dialog führt, im
Netzwerk vorhanden ist. Man betrachte zum Beispiel einen netzwerkresidenten
Telefoniedienst, der eine(n) gerufene(n) Teilnehmer(in) auf seinen
bzw. ihrem Computer auffordert, ein Telefon zu wählen, an das ein ankommender
Ruf gerichtet werden soll. Bestimmte Software muß sich auf dem Computer des
gerufenen Teilnehmers befinden, um die Aufforderung vom Netzwerk
zum Benutzer zu befördern
und dann die Antwort des Benutzers zurück zum Netzwerk zu befördern. Das
Problem besteht darin, dass man lieber vermeiden möchte, von
allen Benutzern eines Dienstes zu verlangen, dass sie spezialisierte
Software auf ihren Computern installieren, laufen lassen und verwalten,
um Anfragen und Antworten zwischen dem Benutzer und netzwerkresidenten
Diensten zu befördern.
Jedoch sollte jede allgemeine Lösung
für dieses
Problem wünschenswerterweise
sicherstellen, dass sie die Masse der zu erwartenden Klassen von
Benutzerdialogen unterstützt,
und sie muß auch
ausreichend erweiterbar sein für
die Nutzung durch viele Anwendungen.
US 2004/006623 behandelt einen
einzigen spezifischen Typ der Dialogführung zwischen einem Benutzer
und einem Dienst zur Auswahl aus einer Anzahl von angebotenen Diensten.
Sie schlägt
jedoch weder ein Verfahren zur Verwendung einer vereinheitlichten
Vorrichtung vor, um einen Dialog mit einer Benutzervorrichtung zu führen, noch
die Verarbeitung von Antworten von der Benutzervorrichtung unabhängig von
einer netzwerkresidenten Software.
US
2003/054810 behandelt Server für mobile Vorrichtungen, um
mobilen Vorrichtungen zu ermöglichen,
dass sie miteinander kommunizieren und sicher auf Firmen- und Internetinhaltdienste
zugreifen. WO-A-01/37139 behandelt einen computerimplementierten
Prozess, der die Kommunikation mit einer persönlichen Vorrichtung über ein
Netzwerk unterstützt,
wobei die persönliche
Vorrichtung eine statische URL besitzt.
US 2003/054810 und WO-A-01/37139
beschreiben Ansätze
zur "Vermittlung" von Dialogen zwischen
einem Endpunkt und einem netzwerkresidenten Dienst oder zwischen
zwei Endpunkten. Jedoch behandeln sie nicht das Problem, höhere Unterstützung für Dialoge
zwischen einem Endpunkt und einem netzwerkresidenten Server zu fördern.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein
Aspekt der vorliegenden Erfindung behandelt vorteilhafte Methoden
zur Nutzung von Software, die bereits auf einer Vorrichtung eines
Benutzers installiert ist, verwaltet wird und läuft, nämlich eines nichtspezialisierten
HTTP-Clients, wie etwa Microsoft Internet Explorer®, Pocket
Internet Explorer, Netscape Navigator®, Opera
für Smartphone/Persönliche Digitale
Assistenten (PDA) und andere derartige Webbrowser, und eines nichtspezialisierten
Clients für
Instant Messaging (Sofortnachrichtenübermittlung), wie etwa Microsoft
Windows® Messenger,
AOL Instant Messenger®, Opera Instant Messenger
Client für
Smartphone/PDA und dergleichen, um solche Bedürfnisse und Probleme zu behandeln.
Beliebte Betriebssysteme für
Benutzervorrichtungen, wie etwa Personalcomputer (PCs), PDAs, PocketPCs,
Smartphones und ähnliche
personenbezogene Geräte,
werden normalerweise zusammen mit diesen beiden Typen von Anwendungen
ausgeliefert. Unter einem Aspekt kann die Erfindung als eine Vorrichtung
verwirklicht werden, die den Client für Sofortnachrichtenübermittlung
und den HTTP-Client eines Benutzers als eine vereinheitlichte Vorrichtung
zur Abwicklung von Benutzerdialogen mit einer netzwerkresidenten
Anwendung präsentiert.
Unter einem weiteren Aspekt kann die Erfindung als eine Schnittstellenfunktion
einer Pseudovorrichtungssoftware verwirklicht werden, die den Client für Sofortnachrichtenübermittlung
und den HTTP-Client eines Benutzers als eine vereinheitlichte Schnittstelle zur
Abwicklung von Benutzerdialogen mit einer netzwerkresidenten Anwendung
präsentiert.
Da die neuartige Vorrichtung die Schnittstelle einer Netzwerkanwendung
zu einem Benutzer darstellt, wird sie hierin als eine Pseudovorrichtung
bezeichnet. Zum Beispiel formatiert die Pseudovorrichtung, die mit
Netzwerk-Anwendungssoftware zusammenwirkt, Anfragen an den Benutzer
als mit einem Hyperlink versehene Sofortnachrichten, die dann an
den Benutzer gesendet werden. Der Benutzer antwortet, indem er eine
mit einem Hyperlink versehene Nachricht anklickt, was den Webbrowser
des Benutzers aufruft und bewirkt, dass der Browser die Antwort
als eine Hypertext-Transferprotokoll-(HTTP-)Anforderung zurück zur Pseudovorrichtung
befördert, was
vorteilhafterweise für
eine Echtzeit-Dialogführung
mit der Netzwerkanwendung und der Benutzervorrichtung sorgt.
-
Unter
einem weiteren Aspekt wird ein Verfahren zur Kommunikation zwischen
einer netzwerkresidenten Softwareanwendung und einer Benutzervorrichtung
mit den folgenden Schritten bereitgestellt:
Empfangen von Sofortnachrichten
in einer Benutzervorrichtung, die einen nichtspezialisierten Client
zur Sofortnachrichtenübermittlung
enthält;
Senden
und Empfangen von Information zwischen der Benutzervorrichtung,
die einen nichtspezialisierten Web-Browser enthält, und einem Netzwerk von
untereinander verbundenen Computern mit einer netzwerkresidenten
Softwareanwendung;
wobei das Verfahren durch die folgenden
Schritte gekennzeichnet ist:
in einer vereinheitlichten Vorrichtung
erfolgendes Empfangen einer Nachrichtenanforderung mit einer Anfrageangabe
von der netzwerkresidenten Softwareanwendung;
von der vereinheitlichten
Vorrichtung ausgehendes Senden einer mit einem Hyperlink versehenen
Sofortnachricht, die die Anfrageangabe und einen Link zu der vereinheitlichten
Vorrichtung enthält,
an den nichtspezialisierten Client zur Sofortnachrichtenübermittlung,
der auf der Benutzervorrichtung resident ist;
in der vereinheitlichten
Vorrichtung erfolgendes Empfangen einer ersten Hypertext-Übertragungsprotokoll-(HTTP-)Anforderung
mit der Anfrageangabe von der Benutzervorrichtung als Antwort auf
eine Benutzerhandlung, die durch die mit einem Hyperlink versehene
Sofortnachricht bewirkt worden ist; und
von der vereinheitlichten
Vorrichtung ausgehendes Senden eines ausgewählten Typs einer HTTP-Antwort an die Benutzervorrichtung,
der vom Typ der HTTP-Anforderung mit der empfangenen Anfrageangabe
abhängt.
-
Unter
einem weiteren Aspekt wird ein Computersystem zur Kommunikation
zwischen einer netzwerkresidenten Softwareanwendung und einer Benutzervorrichtung
bereitgestellt, wobei das Computersystem folgendes umfaßt:
Mittel
zum Empfangen von Sofortnachrichten in einer Benutzervorrichtung,
die einen nichtspezialisierten Client zur Sofortnachrichtenübermittlung
enthält;
Mittel
zum Senden und Empfangen von Information zwischen der Benutzervorrichtung,
die einen nichtspezialisierten Web-Browser enthält, und einem Netzwerk von
untereinander verbundenen Computern mit einer netzwerkresidenten
Softwareanwendung;
dadurch gekennzeichnet, dass das Computersystem
ferner folgendes umfaßt:
Mittel
zum in einer vereinheitlichten Vorrichtung erfolgenden Empfangen
einer Nachrichtenanforderung mit einer Anfrageangabe von der netzwerkresidenten
Softwareanwendung;
Mittel zum von der vereinheitlichten Vorrichtung
ausgehenden Senden einer mit einem Hyperlink versehenen Sofortnachricht,
die die Anfrageangabe und einen Link zu der vereinheitlichten Vorrichtung
enthält,
an den nichtspezialisierten Client zur Sofortnachrichtenübermittlung,
der auf der Benutzervorrichtung resident ist;
Mittel zum in
der vereinheitlichten Vorrichtung erfolgenden Empfangen einer ersten
Hypertext-Übertragungsprotokoll-(HTTP-)Anforderung
mit der Anfrageangabe von der Benutzervorrichtung als Antwort auf
eine Benutzerhandlung, die durch die mit einem Hyperlink versehene
Sofortnachricht ausgelöst
worden ist; und
Mittel zum von der vereinheitlichten Vorrichtung
ausgehenden Senden eines ausgewählten
Typs einer HTTP-Antwort an die Benutzervorrichtung, der vom Typ
der HTTP-Anforderung mit der empfangenen Anfrageangabe abhängt.
-
Unter
einem weiteren Aspekt wird ein computerlesbares Medium bereitgestellt,
das ein Computerprogramm speichert, das ein Computersystem veranlaßt, das
Verfahren zum Zusammenwirken zwischen mindestens einer netzwerkresidenten
Softwareanwendung und mindestens einer Benutzervorrichtung auf vereinheitlichte
Echtzeitart auszuführen,
und das die folgenden Schritte umfaßt:
Empfangen von Sofortnachrichten
in einer Benutzervorrichtung, die einen nichtspezialisierten Client
zur Sofortnachrichtenübermittlung
enthält;
Senden
und Empfangen von Information zwischen der Benutzervorrichtung,
die einen nichtspezialisierten Web-Browser enthält, und einem Netzwerk von
miteinander verbundenen Computer mit einer netzwerkresidenten Softwareanwendung;
wobei
das Verfahren durch die folgenden Schritte gekennzeichnet ist:
in
einer vereinheitlichten Vorrichtung erfolgendes Empfangen einer
Nachrichtenanforderung mit einer Anfrageangabe von der netzwerkresidenten
Softwareanwendung;
von der vereinheitlichten Vorrichtung ausgehendes
Senden einer mit einem Hyperlink versehenen Sofortnachricht, die
die Anfrageangabe und einen Link zu der vereinheitlichten Vorrichtung
enthält,
an den nichtspezialisierten Client zur Sofortnachrichtenübermittlung,
der auf der Benutzervorrichtung resident ist;
in der vereinheitlichten
Vorrichtung erfolgendes Empfangen einer ersten Hypertext-Übertragungsprotokoll-(HTTP-)Anforderung
mit der Anfrageangabe von der Benutzervorrichtung als Antwort auf
eine Benutzerhandlung, die durch die mit einem Hyperlink versehene
Sofortnachricht bewirkt worden ist; und
von der vereinheitlichten
Vorrichtung ausgehendes Senden eines ausgewählten Typs einer HTTP-Antwort an die Benutzervorrichtung,
der vom Typ der HTTP-Anforderung mit der empfangenen Anfrageangabe
abhängt.
-
Ein
umfassenderes Verständnis
der vorliegenden Erfindung ergibt sich aus der folgenden ausführlichen
Beschreibung bevorzugter Ausführungsformen
der Erfindung anhand von Beispielen mit Bezug auf die beigefügten Zeichnungen,
wobei diese folgendes zeigen:
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 stellt
eine höhere
Ansicht einer Pseudovorrichtung gemäß der vorliegenden Erfindung
dar, die in einem Netzwerk arbeitet, um die Kommunikation mit einer
Benutzervorrichtung zu unterstützen;
-
2 stellt
den Ablaufplan einer "Anzeigen"-Anfrage dar, der
Aspekte der vorliegenden Erfindung veranschaulicht;
-
3 stellt
den Ablaufplan einer "Wählen"-Anfrage dar, der
Aspekte der vorliegenden Erfindung veranschaulicht;
-
4 stellt
den Ablaufplan einer "Eingeben"-Anfrage dar, der
Aspekte der vorliegenden Erfindung veranschaulicht;
-
5 stellt
wichtige Nebenkomponenten der vorliegenden Erfindung dar; und
-
6 stellt
höheren
Pseudocode für
die Pseudovorrichtung gemäß der vorliegenden
Erfindung dar.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 stellt
eine höhere
Ansicht eines Gesamtsystems 100 dar, das eine gegenwärtig bevorzugte
Ausführungsform
einer netzwerkresidenten Mehrzweck-Softwarekomponente gemäß der vorliegenden
Erfindung verwendet, die als HTTP-Sofortnachrichtenübermittlungs-Pseudovorrichtung 104 bezeichnet
und hierin nachstehend als die Pseudovorrichtung 104 bezeichnet
wird. Das System 100 besteht aus einem Netzwerk 102, das
die Pseudovorrichtung 104 und eine netzwerkresidente Anwendung 106 aufweist,
und einer Benutzervorrichtung 108, die den nichtspezialisierten
Client für
Sofortnachrichtenübermittlung
eines Benutzers 110 und den nichtspezialisierten HTTP-Client
eines Benutzers, wie etwa den Webbrowser 112, aufweist.
Ein Netzwerk im Kontext der vorliegenden Erfindung ist ein System,
das aus Computer, Server, Benutzervorrichtungen und dergleichen
und einem Verbindungsgeflecht besteht, das zur gegenseitigen Verbindung
von Benutzervorrichtungen innerhalb des System imstande ist, um
zum Beispiel Internetdienste bereitzustellen. Eine Benutzervorrichtung
kann ein PC, PDA, PocketPC, Smartphone oder eine ähnliche
Vorrichtung sein. Die netzwerkresidente Anwendung 106,
hierin nachstehend als der Dienst bezeichnet, kann Anfragen an die
Pseudovorrichtung 104 stellen, die formatiert und an die
Benutzervorrichtung 108 übertragen werden. Der Dienst 106 empfängt außerdem von
der Pseudovorrichtung 104 Antworten von einem Benutzer,
der an der Benutzervorrichtung 108 arbeitet. Die Pseudovorrichtung 104 befördert Anfragen 114 vom
Dienst 106 als mit einem Hyperlink versehene Sofortnachrichten 116,
die an den Client des Benutzers für Sofortnachrichtenübermittlung 110 gerichtet sind.
Der Benutzer löst
eine Antwort 118 aus, die bewirkt, dass der Webbrowser
des Benutzers 112 HTTP-Anforderungen 120 erzeugt,
die an die Pseudovorrichtung 104 zu senden sind. Die Pseudovorrichtung 104 erzeugt
eine Pseudovorrichtungsantwort 122, die zurück zum Dienst 106 befördert wird.
Für jede
HTTP-Anforderung 120 wird
eine HTTP-Antwort 124 erzeugt. Die Erfindung wird "Pseudovorrichtung" genannt, weil sie
aus der Sicht eines Dienstes, wie etwa des Dienstes 106,
den Client für
Sofortnachrichtenübermittlung
und den HTTP-Client/Webbrowser eines Benutzers als eine vereinheitlichte
Vorrichtung zur Abwicklung von Benutzerdialogen präsentiert.
Der Einfachheit halber zeigt 1 nur einen
einzigen Dienst 106 und eine einzige Benutzervorrichtung 108,
jedoch kann die vorliegende Erfindung gleichzeitig mehrere Dienste
und Benutzervorrichtungen aufnehmen. Zum Beispiel können sich
abhängig
von der Netzwerkkonfiguration der Dienst 106 und die Pseudovorrichtung 104 auf
dem gleichen Server im Netzwerk befinden. In einen System mit mehreren
Servern können
die Dienste auf mehrere Server verteilt sein, die mit einer einzigen
Pseudovorrichtung kommunizieren. Außerdem wird anerkannt, dass
andere alternative Implementierungen verwendet werden können. Zum
Beispiel können
die HTTP-Client-Fähigkeiten
einer Benutzervorrichtung, wie sie etwa durch einen typischen Webbrowser
bereitgestellt werden, in den Client des Benutzers für Sofortnachrichtenübermittlung
eingeschlossen sein. Diese alternative Implementierung würde immer
noch so mit der Pseudovorrichtung zusammenwirken, wie es in der
vorliegenden Erfindung beschrieben ist.
-
Die
Pseudovorrichtung 104 hat zwei Schnittstellen: eine Schnittstelle 132 ist
mit dem Dienst gekoppelt, empfängt
Anfragen/Anforderungen 114 und übergibt Antworten 122.
Die andere Schnittstelle 134 ist mit dem Client des Benutzers
für Sofortnachrichtenübermittlung
gekoppelt, um mit einem Hyperlink versehene Nachrichten 116 zu übergeben,
und mit dem Webbrowser des Benutzers, um HTTP-Anforderungen 120 zu empfangen
und HTTP-Antworten 124 zu übergeben.
-
SCHNITTSTELLE
ZUM NETZWERKRESIDENTEN DIENST
-
Die
Schnittstelle 132 zum netzwerkresidenten Dienst der Pseudovorrichtung 104 empfängt Anforderungen 114 für einen
festgelegten Benutzer 108 vom Dienst 106 und konvertiert
die Anforderungen in mit einem Hyperlink versehene Nachrichten 116.
Die Pseudovorrichtung 104 sendet dann die Nachrichten 116 an den
Client des Benutzers für
Sofortnachrichtenübermittlung 110.
Normalerweise haben Clients für
Sofortnachrichtenübermittlung
Beschränkungen
des Nachrichtenformats, wie etwa die maximale Zeilenlänge, also
ist die Pseudovorrichtung 104 dafür zuständig, die Anforderung zu formatieren,
damit sie diese Beschränkungen
erfüllt.
Es wird anerkannt, dass zusätzlich
zu dem gegenwärtig
bevorzugten Ansatz zur Übermittlung
von Textnachrichten, der hierin ausführlich beschrieben wird, alternative
Medien durch die Pseudovorrichtung unterstützt werden können, wie
etwa Video-, Sprache/Ton- und Datendateiübertragungen.
-
Die
Pseudovorrichtung 104 kann auch gestatten, dass der Dienst 106 eine
Kennung für
den Sender der Anforderung festlegt. Auf diese Weise kann die Pseudovorrichtung 104 die
Anforderung so an den Benutzer senden, dass sie scheinbar von dem
festgelegten Benutzer der Sofortnachrichtenübermittlung kommt. Zum Beispiel
kann ein Dienst zur Rufweiterleitung festlegen, dass Anforderungen
scheinbar von einem als "Rufweiterleitungsdienst" bezeichneten "Benutzer" gesendet werden.
-
Der
Dienst
106 legt den Typ der an einen Benutzer zu sendenden
Anfrage fest. Die Schnittstelle
132 unterstützt die
gebräuchlichsten
Anfragetypen. Zum Beispiel werden die folgenden Anfragetypen unterstützt:
| display(strings) | Die
Zeichenketten dem Benutzer anzeigen. |
| choose(strings) | Bietet
die Zeichenketten dem Benutzer als Menü-Wahlmöglichkeiten an. |
| prompt(string) | Bietet
die Zeichenkette dem Benutzer als Aufforderung für einzugebende Information
an. |
-
Die
Anzeigeanfrage muß nur
dafür formatiert
werden, die Nachrichtenbeschränkungen
des Clients für Sofortnachrichtenübermittlung
zu erfüllen,
und dann an den Client des Benutzers für Sofortnachrichtenübermittlung
weitergeleitet werden. Die übrigen
zwei Anfragen erfordern, dass die Pseudovorrichtung die Anfragen als
mit einen Hyperlink versehene Textnachrichten formatiert. Es wird
anerkannt, dass die vorliegende Erfindung dafür angepaßt werden kann, andere Anfragen
zu unterstützen.
-
Wenn
der Dienst 106 anfordert, dass die Pseudovorrichtung 104 einen
Benutzer 108 anfragt, erzeugt die Pseudovorrichtung 104 eine
eindeutige Sitzungskennung für
diese Anfrage, die in einen einheitlichen Quellenlokalisierer (URL)
eingebettet wird, der der mit einem Hyperlink versehenen Textnachricht
zugeordnet ist, die an den Client des Benutzers für Sofortnachrichtenübermittlung
gesendet wird. Die Sitzungskennung wird verwendet, um die Antwort
eines Benutzers über
HTTP der ursprünglichen
Anfrage zuzuordnen.
-
Eine
solche mit einem Hyperlink versehene Nachricht hat normalerweise
die folgende Form:
<A
HREF=http://pdhost:pdport/path?responsetype=type&responseval=val&session=sid>message</A>
wobei folgendes
gilt:
pdhost:pdport ist die IP-Adresse und der Port eines Webservers,
in dem auf die Pseudovorrichtung zugegriffen werden kann. Dies wird
nachstehend im Abschnitt "HTTP-Schnittstelle" ausführlicher
beschrieben.
path ist der Pfad, über den der Webserver auf die
Pseudovorrichtung zugreift. Dies wird ebenfalls nachstehend im Abschnitt "HTTP-Schnittstelle" ausführlicher
beschrieben.
type ist entweder "Wählen" oder "Auffordern" oder "Eingeben", und wird nachstehend
im Abschnitt "HTTP-Schnittstelle" ausführlicher
beschrieben.
val ist eine Zeichenkette, die die Antwort eines
Benutzers auf eine Anfrage darstellt.
sid ist eine eindeutige
Zeichenkettenkennung, die der Anfrage zugeordnet ist.
message
ist der Text, der im Client des Benutzers für Sofortnachrichtenübermittlung
als Hyperlink angezeigt wird.
-
Die
in der mit einem Hyperlink versehenen Nachricht eingebettete URL
unterstützt
einen Benutzer dabei, auf eine Wähl-,
Aufforderungs- oder Eingabeanfrage zu antworten. Die gewählte Antwort
wird zurück
zur Pseudovorrichtung 104 befördert, wenn der Benutzer die
mit einem Hyperlink versehene Nachricht 118 anklickt. Das
Anklicken der Nachricht hat die Wirkung, dass der Webbrowser des
Benutzers 112 gestartet wird, um auf die Pseudovorrichtung 104 zuzugreifen,
auf die die eingebettete URL zeigt. Wenn die URL-Anforderung durch
die Pseudovorrichtung 104 "programmiert" wird, werden die Werte "type", "val" und "sid" aus der URL extrahiert,
um die Antwort des Benutzers auf eine Anfrage zu erlangen. Die Antwort 122 wird
dann zu dem Dienst 106 befördert, der die Benutzeranfrage
ausgelöst
hatte.
-
Wenn
der Anfragetyp "Wählen" ist, sendet die
Pseudovorrichtung 104 eine mit einem Hyperlink versehene
Textnachricht 116 für
jede einem Benutzer angebotene Wahlmöglichkeit. Die in Textnachrichten eingebetteten
URLs unterseheiden sich in ihren "val"-Feld,
um unterscheiden zu können,
welche Wahl ein Benutzer trifft, wenn er eine bestimmte Nachricht
anklickt.
-
Wenn
der Anfragetyp "Auffordern" ist, sendet die
Pseudovorrichtung 104 eine einzelne mit einem Hyperlink
versehene Textnachricht 116 an den Benutzer. Wenn der Benutzer
die Nachricht 118 anklickt, richtet der Webbrowser 112 des
Benutzers eine HTTP-Anforderung 120 an die Pseudovorrichtung 104.
Die Pseudovorrichtung 104 antwortet, indem sie dem Browser
eine Webseite sendet, die ein einfaches Formular zum Eingeben einer
Antwort auf die Anfrage enthält.
Wenn der Benutzer das Formular ausfüllt, empfängt die Pseudovorrichtung eine
zweite HTTP-Anforderung, die die Antwort des Benutzers enthält.
-
Man
wird anerkennen, dass die URL eine andere Form haben kann, aus Sicherheitsgründen oder
wegen anderer Faktoren, solange die Parameterwerte, wie sie hierin
beschrieben sind, durch die Pseudovorrichtung wiedergewonnen werden
können.
-
SCHNITTSTELLE
ZUR SOFORTNACHRICHTENÜBERMITTLUNG
UND ZUM WEBBROWSER
-
Die
Pseudovorrichtung führt
einen Dialog mit dem Client eines Benutzers zur Sofortnachrichtenübermittlung,
um mit einem Hyperlink versehene Nachrichten an den Benutzer zu
senden. Es gibt zwei mögliche Ansätze, die
die Pseudovorrichtung verwenden kann, um diese Aufgabe zu erfüllen: als
ein Client für
Sofortnachrichtenübermittlung
oder als ein Server für
Sofortnachrichtenübermittlung.
-
Wenn
die Pseudovorrichtung als ein Client für Sofortnachrichtenübermittlung
handelt, dann sendet die Pseudovorrichtung mit einem Hyperlink versehene
Textnachrichten an den Benutzer, so dass die Nachrichten für den Benutzer
scheinbar von dem gleichen Sofortnachrichtenübermittlungs-"Benutzer" kommen. Bei Verwendung
dieses Ansatzes ist es für
die Pseudovorrichtung nicht möglich,
Nachrichten so an einen Benutzer zu senden, dass sie scheinbar von
anderen, durch einen Dienst festgelegten Benutzernamen kommen. Wenn das
Sofortnachrichtenübermittlungs-System
einen zentralisierten Server verwendet, was eine übliche Konfiguration
ist, dann müssen
bei Verwendung dieses Ansatzes Nachrichten von der Pseudovorrichtung
an einen Benutzer zuerst zum zentralisierten Server laufen, bevor
sie an den Benutzer gesendet werden.
-
Wenn
die Pseudovorrichtung als ein Server für Sofortnachrichtenübermittlung
fungiert, dann ist die Pseudovorrichtung imstande, Nachrichten direkt
an den Benutzer zu senden. Außerdem
ist die Pseudovorrichtung imstande, Textnachrichten so zu senden,
dass sie für
den Benutzer scheinbar von beliebigen Sofortnachrichtenübermittlungs-Benutzern
kommen.
-
HTTP-SCHNITTSTELLE
-
Die
Pseudovorrichtung führt
einen Dialog mit dem Webbrowser eines Benutzers, um HTTP-Anforderungen zu
empfangen, die die Antwort eines Benutzers auf eine Anfrage enthalten.
Die Pseudovorrichtung ist einem HTTP-Server zugeordnet, der mit
der Pseudovorrichtung eine Einheit bilden kann oder sich außerhalb von
ihr befinden kann, wie es bei HTTP-Anordnungen üblich ist. Der der Pseudovorrichtung
zugeordnete HTTP-Server gibt vom Browser des Benutzers empfangene
HTTP-Anforderungen
an die Pseudovorrichtung zur Verarbeitung weiter.
-
Die
HTTP-Schnittstelle 134 verarbeitet "GET"-HTTP-Anforderungen
für URLs,
wobei die URLs von der im Abschnitt "Schnittstelle zum netzwerkresidenten
Dienst" beschriebenen
Form sind.
-
Wenn
der Typ "Wählen" ist, dann übergibt
die Pseudovorrichtung einfach "val" an die Dienstanforderung,
die "sid" zugeordnet ist.
-
Wenn
der Typ "Auffordern" ist, dann antwortet
die Pseudovorrichtung auf die Anforderung mit einer Webseite, die
folgendes enthält: "val" als eine Eingabeaufforderung,
ein Formularfeld, um den Wert der Benutzerantwort zu erfassen, und
einen Knopf, den der Benutzer drückt,
um die Antwort abzuschicken. Wenn der Benutzer die Antwort abschickt,
empfängt
die HTTP-Schnittstelle der Pseudovorrichtung eine GET-Anforderung
mit einer URL der im Abschnitt "Schnittstelle
zum netzwerkresidenten Dienst" beschriebenen
Form, wobei der Typ "Eingeben" ist, "val" ist der durch den
Benutzer im Formularfeld eingegebene Wert, und "sid" ist
die gleiche wie in der ursprünglichen "Auffordern"-Anforderung.
-
SCHNITTSTELLEN
DER PSEUDOVORRICHTUNG
-
Im
vorigen Abschnitt wurde eine Übersicht
der beiden Pseudovorrichtungs-Schnittstellen 132 und 134 gegeben,
und nun erfolgt eine ausführlichere
Beschreibung in den nachstehenden Schnittstellentabellen.
-
-
-
In
der obigen Tabelle ist der Schnittstellentyp, nämlich netzwerkresidenter Dienst 132 oder
Sofortnachrichten-Übermittlung
und Webbrowser 134, passenden Eingabe- und Ausgabeparametern
der Pseudovorrichtung zugeordnet, und eine Beschreibung dieser Parameter
wird bereitgestellt.
-
ABLAUFPLÄNE
-
2, 3 und 4 zeigen
Ablaufpläne 200, 300 bzw. 400,
die die Verwendung der Pseudovorrichtung durch eine in Netzwerk
befindliche Anwendung für
die "Anzeigen"-, "Wählen"- bzw. "Auffordern"-Anfragen
darstellen. Die Ablaufpläne
stellen außerdem
den in 1 gezeigten Weg dar, der die netzwerkresidente
Anwendung 106, die Pseudovorrichtung 104, den
Webbrowser des Benutzers 112 und den Client des Benutzers
für Sofortnachrichtenübermittlung 110 aufweist,
wobei gerichtete Aktionen die Schritte kennzeichnen, die für die "Anzeigen"-, "Wählen"- bzw. "Auffordern"-Anfragen zu befolgen sind. Es wird
angenommen, dass, wenn die netzwerkresidente Anwendung 106 eine
Anforderung stellt und die Pseudovorrichtung 104 die Anforderung
an den Benutzer weitergibt, die Anforderung dann auch durch die
Pseudovorrichtung 104 gehalten wird, bis die Pseudovorrichtung 104 die
Antwort des Benutzers empfangen hat. Diese synchrone Form der Dialogführung zwischen
der netzwerkresidenten Anwendung und der Pseudovorrichtung ist durch
die dicke senkrechte Linie auf den Ablaufplänen der Pseudovorrichtung für 3 und 4 gekennzeichnet.
Man beachte, dass ohne Verlust der Allgemeingültigkeit anstelle der synchronen
Dialogführung
eine asynchrone Dialogführung
zwischen der netzwerkresidenten Anwendung und der Pseudovorrichtung
verwendet werden kann, jedoch ist die synchrone Dialogführung gewählt worden,
um die Darstellung zu vereinfachen und sich besser auf die erfindungsgemäßen Aspekte
der Erfindung zu konzentrieren.
-
2 zeigt
den Ablaufplan 200 für
die "Anzeigen"-Anfrage für ein Szenarium,
wo eine netzwerkresidente Anwendung 202 eine Anforderung 204 stellt,
nämlich
dass eine einfache Nachricht "Hallo,
Welt" 206 angezeigt
werde 208, und zwar infolge einer "Anzeigen"-Anfrage an einen Benutzer mit dem Sofortnachrichtenübermittlungs-Namen "Tom" 210. Die
netzwerkresidente Anwendung 202 legt außerdem fest, dass die Nachricht
scheinbar von einem Benutzer mit dem Sofortnachrichtenübermittlungs-Namen "Netzwerkdienst" 212 kommen
soll. Die Pseudovorrichtung 214 formatiert die Nachricht
und sendet die Nachricht 216 an Toms Client für Sofortnachrichtenübermittlung 218.
Da einer "Anzeigen"-Anfrage keine Antwort zugeordnet ist,
gibt die Pseudovorrichtung die netzwerkresidente Anwendung sofort
frei.
-
3 zeigt
einen Ablaufplan 300 für
die "Wählen"-Anfrage für ein Szenarium,
wo eine netzwerkresidente Anwendung 302 eine Anforderung 304 stellt,
nämlich
dass ein Benutzer mit dem Sofortnachrichtenübermittlungs-Namen "Tom" infolge einer Wahlanfrage 308 eine
Wahl zwischen zwei alternativen Wahlmöglichkeiten, Wahlmöglichkeit 1 und
Wahlmöglichkeit 2 in
der Anfragezeichenkette 310, trifft. Zusätzlich soll
die Nachricht mit dem Sofortnachrichtübermittlungsnamen "Netzwerkdienst" 312 erscheinen.
Die Pseudovorrichtung 314 sendet die Wahlmöglichkeiten 316 in
der Form von HTML-Links 318 und 320 an Toms Client
für Sofortnachrichtenübermittlung 322.
Im gezeigten Beispiel erstellt Tom eine Antwort 324, indem
er den Link 320 anklickt, der der zweiten in seinem Client
für Sofortnachrichtenübermittlung
angezeigten Wahlmöglichkeit
entspricht. Das Anklicken des Links 320 hat die Wirkung,
dass Tons Browser 326 aufgerufen wird, der wiederum die
dem Link 320 zugeordnete HTTP-Anforderung 328/330 zurück zur Pseudovorrichtung 314 weiterleitet.
Für synchronen
Betrieb wird die netzwerkresidente Anwendung 302 so lange
durch die Pseudovorrichtung 314 gehalten, bis die Antwort
des Benutzers, in diesem Fall 328/330, empfangen
worden ist. Sobald die HTTP-Anforderung empfangen worden ist, erhält die netzwerkresidente
Anwendung 302 die Antwort des Benutzers im Format derjenigen
Ausgabe 332 der Pseudovorrichtung 314, die der
Anforderung zugeordnet ist, und dann wird die netzwerkresidente
Anwendung 302 freigegeben. Die Pseudovorrichtung 314 übergibt
HttpResponse 334/336 zurück an Toms Webbrowser 326,
die angibt: "Ihre
Antwort ist empfangen worden. Danke."
-
4 zeigt
einen Ablaufplan 400 für
die "Auffordern"-Anfrage für ein Szenarium,
wo eine netzwerkresidente Anwendung 402 eine Aufforderungsanforderung 404 stellt,
nämlich
dass ein Benutzer mit dem Benutzernamen "Ton" 406 infolge
einer Aufforderungsanfrage 408 eine Telefonnummer 410 eingeben
möge, unter der
er gegenwärtig
erreicht werden kann. Wenn sie angezeigt wird, soll die Nachricht
mit dem Sofortnachrichtenübermittlungs-Namen "Netzwerkdienst" 412 erscheinen.
Die Pseudovorrichtung 414 sendet die Aufforderung 416 in
der Form eines HTML-Links 418 an Toms Client für Sofortnachrichtenübermittlung 420.
Im gezeigten Beispiel erstellt Tom eine Antwort 422, indem
er den in seinem Client für
Sofortnachrichtenübermittlung
angezeigten Link "Telefonnummer
eingeben" anklickt.
Das Anklicken des Links 418 hat die Wirkung, dass Toms Browser 424 aufgerufen
wird, der wiederum eine dem Link 418 zugeordnete HTTP-Anforderung 426/428 zurück zur Pseudovorrichtung 414 weiterleitet.
-
Als
Antwort auf die HTTP-Anforderung 426/428 sendet
die Pseudovorrichtung 414 die Antwort 430/432,
die ein Formular enthält,
das bewirkt, dass Toms Browser 424 zur Eingabe der zusätzlichen
Information aufgefordert wird. In eben dieses Formular gibt Tom
den Eintrag 434 ein, zum Beispiel die Nummer "555-123-4567". Tom klickt dann
den "Abschicken"-Knopf an, um seinen
Eintrag zurück
zur Pseudovorrichtung 414 zu befördern. Das Anklicken des "Abschicken"-Knopfs ruft Toms
Browser 424 auf, damit er den Eintrag in Form einer weiteren
HTTP-Anforderung 436/438 weiterleitet. Für synchronen
Betrieb wird die netzwerkresidente Anwendung 402 so lange
durch die Pseudovorrichtung 414 gehalten, bis die Antwort
des Benutzers, in diesem Fall 436/438, empfangen
worden ist. Sobald die HTTP-Anforderung empfangen worden ist, erhält die netzwerkresidenten
Anwendung 402 die Antwort des Benutzers im Format derjenigen
Ausgabe 440, die der Anforderung zugeordnet ist, und dann
wird die netzwerkresidente Anwendung 402 freigegeben. Die
Pseudovorrichtung 414 übergibt
HttpResponse 442/444 zurück an Toms Webbrowser 424,
die angibt: "Ihre
Antwort ist empfangen worden. Danke."
-
NEBENKOMPONENTEN
DER PSEUDOVORRICHTUNG
-
Wichtige
Nebenkomponenten einer geeigneten Implementierung einer Pseudovorrichtung 500 sind
in 5 gezeigt. Diese wichtigen Teilkomponenten wirken
funktional zusammen und kommunizieren miteinander, wie nachstehend
im Abschnitt "Pseudocode" von 6 ausführlicher
beschrieben wird. Die Pseudovorrichtung 500 erzeugt in
einem Sitzungskennungsgeber 501 eine eindeutige Sitzungskennung
für jede
Anforderung, die am Porteingang 504 ihrer Schnittstelle
zur netzwerkresidenten Anwendung empfangen wird. Eine Anforderungstabelle 502 verwaltet
eine Zuordnung von einer eindeutigen Sitzungskennung zum Anfordernden und
ist dafür
ausgelegt, eine Vielzahl von Anforderungen zu unterstützen, die
von einer Vielzahl von netzwerkresidenten Anwendungen erzeugt werden
können.
Wenn am I/O-Port 506 der Web-/Sofortnachrichtenübermittlungs-Schnittstelle
eine Antwort von einem Benutzer empfangen wird, sucht die Pseudovorrichtung 500 auf der
Grundlage der Antwort des Benutzers die Sitzungskennung in der Anforderungstabelle 502 auf,
um die Antwort an ihrem Portausgang 505 ihrer Schnittstelle
zur netzwerkresidenten Anwendung an den ursprünglichen Anfordernden zu übergeben.
In einem System mit einer Vielzahl von netzwerkresidenten Anwendungen, die
eine Vielzahl von Anforderungen erzeugen, ist die Abwicklung der
Vielzahl von Anforderungen nicht durch den Aufbau der Pseudovorrichtung
begrenzt. Vielmehr können
alternative Mittel, wie etwa Warteschlangen, Round-Robin-Abwicklung, prioritätsgemäße Abwicklung
und dergleichen in der Pseudovorrichtung verwendet werden, um die
vielen Anforderungen abzuwickeln, wie es durch die Systemauslegung
vorgegeben ist.
-
Ein
Nachrichtenformatierer 508 für Sofortnachrichtenübermittlung
formatiert eine Anforderungsnachricht, bevor die Nachricht über den
I/O-Port 506 der Web-/Sofortnachrichtenübermittlungs-Schnittstelle
an einen Client eines Benutzers für Sofortnachrichtenübermittlung
gesendet wird. Sofortnachrichtenübermittlungsdienste
beschränken
das Format von Nachrichten, die an ihre Clients für Sofortnachrichtenübermittlung
gesendet werden. Zum Beispiel ist die maximale Zeilenlänge normalerweise
beschränkt.
Die Formatiererkomponente 508 nimmt einen Anforderungstyp
und die ihm zugeordneten Anforderungszeichenketten-Argumente und formatiert
die Nachricht derartig, dass sie jegliche derartigen Beschränkungen
erfüllt.
-
Die
Pseudovorrichtung 500 kann auch als ein Client oder Server
für Sofortnachrichtenübermittlung fungieren.
Im Falle eines Clients meldet sich ein Client/Server für Sofortnachrichtenübermittlung 512 bei
einem anderen Server für
Sofortnachrichtenübermittlung
im Online-Betrieb an. Im Falle eines Servers nimmt der Client/Server
für Sofortnachrichtenübermittlung 512 Anmeldungen
von den Clients für
Sofortnachrichtenübermittlung
der Benutzer oder von anderen Servern für Sofortnachrichtenübermittlung
entgegen. In verschiedenen Netzwerkkonfigurationen kann die Pseudovorrichtung
direkt zugeordnete und externen Servern zugeordnete Clients für Sofortnachrichtenübermittlung
registrieren und dementsprechend in Abhängigkeit vom Dienst- bzw. Benutzerpfad
handeln. In jedem Fall wird der Client/Server für Sofortnachrichtenübermittlung 512 verwendet, um
eine Nachricht an einen anderen Benutzer der Sofortnachrichtenübermittlung
zu senden.
-
Ein
in die Pseudovorrichtung 500 eingebetteter Webserver 514 antwortet
auf HTTP-Anforderungen vom
Webbrowser eines Benutzers über
den I/O-Port 506 der Web-/Sofortnachrichtenübermittlungs-Schnittstelle.
Er ist außerdem
dafür zu
ständig,
die Antwort des Benutzers zurück
zum ursprünglichen
Anfordernden zu befördern.
Normalerweise wäre
diese Komponente ein handelsüblicher
Webserver, der die allgemeine Gateway-Schnittstelle (CGI) oder eine
Servlet-Engine (virtuelle Maschine für Java-Serverapplikationen)
unterstützt.
-
Wenngleich
eine gegenwärtig
bevorzugte Ausführungsform
einer Pseudovorrichtung einen lokalen HTTP-Server/Webserver aufweist,
kann die Pseudovorrichtung in einer Vielfalt von alternativen Konfigurationen
ausgeführt
sein. Zum Beispiel kann eine alternative Pseudovorrichtung, die
vorteilhafte Operationen bereitstellt, wie sie in der vorliegenden
Erfindung beschrieben sind, mit einem externen HTTP-Server/Webserver implementiert
sein, der dafür
konfiguriert ist, mit der Pseudovorrichtung zu kommunizieren.
-
SCHNITTSTELLEN-PSEUDOCODE
-
Ein
höherer
Pseudocode 600 ist in 6 gezeigt.
Der Pseudocode 600 beschreibt das Verhalten einer Pseudovorrichtung
wie etwa der beispielhaften Pseudovorrichtung 500, die
unter Verwendung der in 5 angegebenen wichtigen Hauptkomponenten
implementiert ist, die als Antwort auf Schnittstellenereignisse
zusammenarbeiten, wie nachstehend beschrieben wird. Der Pseudocode 602 für die Schnittstelle
zur netzwerkresidenten Anwendung erzeugt für eine Anforderung von einem
netzwerkresidenten Anfordernden, die über einen Schnittstellenport,
wie etwa den Port 504, empfangen wird, eine eindeutige
Sitzungskennung in einem Sitzungskennungsgeber, wie etwa dem Sitzungskennungsgeber 501.
Ein Eintrag für
den Anfordernden wird in einer Anforderungstabelle hinzugefügt, wie
etwa der Anforderungstabelle 502. Als nächstes wird eine Anforderungsnachricht
unter Verwendung eines Nachrichtenformatierers für Sofortnachrichtenübermittlung,
wie etwa des Formatierers 508, formatiert. Danach wird
eine Nachricht an den Benutzer unter Verwendung eines Clients/Servers
für Sofortnachrichtenübermittlung,
wie etwa des Clients/Servers für
Sofortnachrichtenübermittlung 512, über eine
Web-/Sofortnachrichtenübermittlungs-Schnittstelle,
wie etwa die Schnittstelle 506, gesendet.
-
Der
Pseudocode 610 für
die Webbrowser/Sofortnachrichtenübermittlungs-Schnittstelle
stellt Schnittstellenfunktionen für den HTTP-Client eines Benutzers,
wie etwa einen HTTP-Client eines Benutzers 112, bereit.
Wenn der URL-Typ einer Benutzeranforderung "Wählen" oder "Eingeben" ist, dann gibt die
Schnittstelle zum HTTP-Server bzw. Webserver, wie etwa zum Server 514,
eine Webseite mit der Nachricht "Ihre
Antwort ist empfangen worden. Danke" an den Benutzer zurück. Die Schnittstelle zum HTTP-Server
bzw. Webserver, wie etwa zum Server 514, sucht in einer
Anforderungstabelle, wie etwa der Tabelle 502, einen Eintrag
auf, der der Anforderung entspricht, die sie vom Benutzer über einen
I/O-Port der Web-/Sofortnachrichtenübermittlungs-Schnittstelle,
wie etwa den Schnittstellen-I/O-Port 506, empfangen hat.
Dann wird die Antwort über
eine Schnittstelle zu einer netzwerkresidenten Anwendung, wie etwa
den Schnittstellenport 505, zum Anfordernden befördert. Wenn
der URL-Typ einer Benutzeranforderung "Auffordern" ist, dann gibt die Schnittstelle zum HTTP-Server
bzw. Webserver, wie etwa zum Server 514, an die Benutzervorrichtung
eine Webseite mit einen Formular zum Eingeben einer Antwort an den
Anfordernden zurück.
Wenn der Benutzer seine Antwort abschickt, wird sie über eine
URL empfangen, deren Typ "Eingeben" ist.
-
Wenngleich
die vorliegende Erfindung in einem gegenwärtig bevorzugten Kontext offenbart
worden ist, wird man anerkennen, dass die vorliegenden Lehren für eine Vielfalt
von Kontexten angepaßt
werden können, die
mit dieser Offenbarung und den folgenden Ansprüchen übereinstimmen.