-
Die
vorliegende Erfindung betrifft ein interaktives Mediasystem, welches
eine Benutzerschnittstelle hat, die eine Ausgabeeinrichtung aufweist,
die ein visuelle Benutzerausgabeschnittstelle hat, die für eine private
Benutzung angeordnet ist, und die eine Benutzereingabeeinrichtung
hat, die der Benutzer gemeinsam mit der Benutzerausgabeschnittstelle
benutzen kann, sowie einen Server. Die vorliegende Erfindung betrifft
auch ein Verfahren zum Vorsehen einer Interaktion zwischen einem
Benutzer und einem Server eines Datenverteilungssystems, unter Einsatz
eines Nachrichtendienstes eines Mobilfunktelefonnetzwerks und eines
Clients mit einem Webbrowser.
-
In
den letzten Jahren gab es einen raschen Wachstum bei der Schaffung
interaktiver Dienste unter Benutzung des Internet (world wide web)
und es wurden Vorschläge
für ein
interaktives Fernsehen gemacht. Jedoch ist jedes der derzeitig verfügbaren interaktiven
Systeme eigenständig
und kann grundsätzlich
die Ausgaben von unterschiedlichen Medien nicht kombinieren, obwohl
es ein System gibt, welches mobile Telefone und öffentliche Ausgabebildschirme
kombiniert und welches in der WO-A-9851068 beschrieben ist.
-
Das
Ziel der vorliegenden Erfindung ist es, eine gemeinsame Architektur
für das
interaktive Anbieten von Information, Unterhaltung und Dienstleistungen
zu schaffen.
-
Ein
interaktives Mediasystem nach der vorliegenden Erfindung zeichnet
sich aus durch einen Server, mit:
einer Statusmaschine,
einer
Eingabeleiteinrichtung, um eine Nachricht von der Benutzereingabeeinrichtung
zu empfangen, wobei die Nachricht eine Sitzungsreferenz und Daten
beinhaltet, wobei die Eingabeleiteinrichtung zumindest den Datenanteil
einer empfangenen Nachricht an die Statusmaschine in Abhängigkeit
von der Sitzungsreferenz leitet; und
einer Ausgabeleiteinrichtung,
um Nachrichten weiter zu leiten, die zumindest eine Zielreferenz
und Kontrolldaten für
die Ausgabeeinrichtung umfassen, und die die Kontrolldaten an die
Ausgabeeinrichtung in Abhängigkeit von
der Zielreferenz weiterleitet,
wobei die Statusmaschine auf
Daten antwortet, die dieser durch die Eingabeleiteinrichtung zugeleitet
werden, indem sie eine Nachricht erzeugt, die zumindest eine Zielreferenz
umfasst.
-
Die
Ausgabeleiteinrichtung enpfängt
bevorzugt Nachrichten von der Statusmaschine. Jedoch kann die Ausgabeleitfunktion
auch durch die Statusmaschine selbst erfolgen.
-
Die
Sitzungsreferenz kann zum Beispiel eine Sitzungs-ID oder einer Nachrichtenquellen-ID
umfassen, die benutzt werden können,
um eine Sitzung zu identifizieren.
-
Somit
unterscheidet sich das vorliegende System von dem in der WO-A-9851068
beschriebenen System dadurch, dass die visuelle Benutzerausgabeschnittstelle
für eine
private Benutzung angeordnet ist, im Gegensatz zu den großen öffentlichen
Bildschirmen, die in der WO-A-9851068 beschrieben sind.
-
Im
Kontext der vorliegenden Anmeldung bedeutet „Statusmaschine" ein Stück Hardware
oder Software, welche eine vorbestimmten Anzahl von Zuständen einnehmen
kann und welche eine begrenzte Anzahl von Übergängen von einem Zustand in einen
anderen Zustand durchführen
kann, und zwar in Antwort auf Eingabesignale oder dem Zustand einiger
Variablen, wenn diese Variable untersucht wird.
-
Vorzugsweise
umfasst ein System nach der vorliegenden Erfindung eine zusätzliche
Verarbeitungseinrichtung, wobei die Zielreferenz wahlweise auf eine
Benutzerschnittstelle oder die zusätzlichen Verarbeitungsmittel
verweisen kann. In der Folge kann der Server einige Betriebsabläufe kontrollieren,
die andere sind als nur die Erzeugung der Ausgabe für die Benutzerschnittstelle.
-
Der
Server kann eine Mehrzahl von Statusmaschinen umfassen, wobei jede
Statusmaschine auf Daten antwortet, die ihr von der Eingabeleiteinrichtung
zugeleitet wor den sind, um eine Nachricht für die Ausgabeleiteinrichtung
vorzusehen, die zumindest eine Zielreferenz, die die Ausgabeeinrichtung
identifiziert und Kontrolldaten für die Ausgabeeinrichtung umfasst.
Eine separate Statusmaschine ist vorzugsweise für jede Sitzung vorzusehen.
Die Kontrolldaten für
die Ausgabeeinrichtung ist eine Anweisung an die Ausgabeeinrichtung, und
nicht z.B. eine Abbildung oder ein Audiodatensignal.
-
Die
oder jede Statusmaschine kann eine Instanz eines Softwareobjektes
oder eine Komponente umfassen. Falls die oder jede Statusmaschine
eine Komponente umfasst, existieren die Eingabe- und Ausgabeleitmittel
vorzugsweise in dem gleichen Verarbeitungsraum und die Komponenten
oder jede Komponente existieren in jeweils einem eigenen Verarbeitungsraum.
-
Vorzugsweise
wird der Betriebsablauf, d.h. die erlaubten Statusübergänge, der
oder jeder Statusmaschine zumindest teilweise mittels einer zugehörigen Kontrolldatei
definiert. Die Kontrolldatei bzw. die Kontrolldateien können Daten
in der Form einer Markup-Sprache umfassen. Besonders bevorzugt umfasst
die Statusmaschine bzw. jede Statusmaschine ein Softwareobjekt,
wobei die Statusänderungen
der Statusmaschine in einigen Fällen
durch Methoden dieser Objekte definiert sind, während in anderen Fällen diese
Statusänderungen
durch den Inhalt der jeweiligen Kontrolldatei bestimmt wird. Dadurch
ist es möglich,
Nachrichten, die nicht direkt von einem Benutzer erzeugt worden
sind, zum Beispiel für
die Synchronisation von Audio- und Video-Erscheinungen der Benutzerschnittstelle,
nach einem Standardverfahren zu behandeln, so dass diese von Inhalte-Designern
nicht berücksichtigt
werden müssen,
wenn diese eine Kontrolldatei erzeugen.
-
Die
Eingabe- und die Ausgabeleitmittel bzw. -leiteinrichtungen können eine
einzelne Software-Prozedur oder ein einzelnes Softwareobjekt umfassen.
Das heisst, dass die Nachrichten von der Statusmaschine das Ergebnis
von Funktionsmethoden sein können,
die durch eingehende Nachrichten als Parameter erzeugt werden.
-
Gemäß einer
Ausführungsform
umfasst die Benutzerschnittstelle eine tragbare Computereinheit,
welche einen Internetbrowser und eine zugehörige Mobiltelefoneinheit umfasst,
wobei die Nachrichten zwischen dem Server und der mobilen Telefoneinheit
mittels eines Nachrichtendienstes versendet werden.
-
Bei
einer anderen Ausführungsform
umfasst die Benutzerschnittstelle ein Telefon und einen Webserver.
Ein solches System kann ein elektronisches Handelssystem sein, in
das sensitive Information von einem Benutzer eingegeben werden,
indem dieser die Tasten eines Telefons benutzt und nicht die Daten
im HTML-Format in eine Maske eingibt, um mittels des Internets übertragen
zu werden. Vorzugsweise wird bei einem solchen System der Server
mit einem Finanzdienstleister kommunizieren, um zu bestätigen, dass
die Werte (funds) verfügbar
sind, die von einem Verkäufer
gekauft werden sollen, und die dem Benutzer vom Webserver angeboten
werden. Falls der Server von einer Telefongesellschaft betrieben
wird, können
die Käufe,
die getätigt
wurden, indem dieses System benutzt worden ist, auf der Telefonrechnung
des Benutzers aufgelistet werden.
-
Bei
einer weiteren Ausführungsform
umfasst die Benutzerschnittstelle ein Telefon und eine Fernsehsendeeinrichtung.
Ein solches System kann benutzt werden, um interaktive Dienste in
Zusammenhang mit einem gesendeten Fernsehprogramm anzubieten.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zur Bereitstellung von Interaktion
mit einem Benutzer vorgeschlagen, wobei das Verfahren die folgenden
Schritte aufweist:
Empfangen einer ersten Nachricht von einer
Benutzereingabeeinrichtung einer Benutzerschnittstelle, wobei die
Benutzerschnittstelle eine Ausgabeeinrichtung umfasst, die eine
visuelle Benutzerausgabeschnittstelle hat, die für eine private Benutzung angeordnet
ist und die eine Benutzereingabeeinrichtung hat, die der Benutzer
gemeinsam mit der Benutzerausgabeschnittstelle benutzen kann, sowie
die Nachricht eine Sitzungsreferenz und Daten umfasst;
Weiterleiten
der ersten Nachricht an eine Statusmaschine;
Benutzen der Statusmaschine,
um eine zweite Nachricht zu erzeugen, die zumindest eine Zielreferenz
und Steuerdaten umfasst, und zwar in Antwort auf die Daten in der
ersten Nachricht; und Weiterleiten der zweiten Nachricht an die
Ausgabeeinrichtung in Abhängigkeit
von der Zielreferenz.
-
Ein
Verfahren nach der vorliegenden Erfindung kann die folgenden Schritten
umfassen:
Empfangen einer dritten Nachricht von der Benutzereingabeeinrichtung;
Weiterleiten
der dritten Nachricht an die Statusmaschine;
Verwenden der
Statusmaschine, um eine vierte Nachricht zu erzeugen, die zumindest
eine Zielreferenz und Daten umfasst, und zwar in Antwort auf die
Daten der dritten Nachricht; und
Weiterleiten der vierten Nachricht
an eine Einrichtung, die nicht die Benutzerschnittstelle ist.
-
Vorzugsweise
ist die Statusmaschine aus einer Vielzahl von Statusmaschinen ausgewählt, in
Abhängigkeit
von der Sitzungsreferenz.
-
Vorzugsweise
umfasst die oder jede Statusmaschine eine Instanz eines Softwareobjektes.
-
Vorzugsweise
wird der Betriebsablauf der oder jeder Statusmaschine durch zumindest
eine zugehörige
Kontrolldatei definiert. Besonders bevorzugt umfassen die Kontrolldatei
oder die Kontrolldateien Daten in der Form einer Markup-Sprache.
-
Die
Statusmaschine oder jede Statusmaschine kann ein Softwareobjekt
aufweisen, wobei die Statusänderung
der Statusmaschine in einigen Fällen
durch Methoden der Objekte und in anderen Fällen durch den Inhalt der zugehörigen Kontrolldatei
bestimmt wird.
-
Die
Benutzerschnittstelle kann eine tragbare Computereinheit umfassen,
welche einen Internetbrowser und ein zugehöriges Mobiltelefon umfasst,
wobei die Nachrichten zwischen dem Server und dem Mobiltelefon mittels
eines Nachrichtendienstes übermittelt
werden, oder es kann ein Telefon und ein Internetserver, oder ein
Telefon und eine Fernsehsendeeinrichtung vorgesehen werden.
-
Gemäß der vorliegenden
Erfindung wird eine Servervorrichtung für ein Datenverbreitungssystem
vorgeschlagen, welches einen Nachrichtendienst eines Mobiltelefonnetzwerks
und einen Client mit einem Webbrowser benutzt, wobei die Vorrichtung
umfasst:
eine Empfangseinrichtung zum Empfangen von Nachrichten
von einem Mobiltelefonnetzwerk;
eine Sendeeinrichtung zum Versenden
von Nachrichtendienstnachrichten an eine mobile Station eines Mobiltelefonnetzwerks;
und
einen Server mit:
einer Statusmaschine;
einer
Eingabeleiteinrichtung, um eine Nachricht von der Benutzereingabeeinrichtung
zu empfangen, wobei die Nachricht eine Sitzungsreferenz und Daten
beinhaltet, wobei die Eingabeleiteinrichtung zumindest den Datenanteil
einer empfangenen Nachricht an die Statusmaschine in Abhängigkeit
von der Sitzungsreferenz leitet; und
einer Ausgabeleiteinrichtung,
um Nachrichten weiter zu leiten, die zumindest eine Zielreferenz
und Kontrolldaten für
die Ausgabeeinrichtung umfassen, und die die Kontrolldaten an die
Ausgabeeinrichtung in Abhängigkeit von
der Zielreferenz weiterleitet,
wobei die Statusmaschine auf
Daten antwortet, die dieser durch die Eingabeleiteinrichtung zugeleitet
werden, indem sie eine Nachricht erzeugt, die zumindest eine Zielreferenz
umfasst
-
Die
Empfangseinrichtung ist vorzugsweise derart konfiguriert, dass diese
Nachrichtendienstnachrichten empfängt.
-
Vorzugsweise
umfasst die Verarbeitungseinrichtung eine Datenbank der Benutzer
von Clients, Mittel zur Analyse einer Nachricht, die von der Empfangseinrichtung
empfangen worden ist, um zu bestimmen, zu welcher Browserseite diese
gehört,
und Mittel zur Erzeugung einer Objektinstanz, wobei jede Instanz
mit einer Browserseite und einem Benutzer in Beziehung steht, wobei
die Objekte eine Methode umfassen, um Ausgabedaten zu erzeugen,
welche in eine Nachrichtendienstnachricht eingefügt werden, so dass diese durch
die Versendeeinrichtung versendet werden, und zwar auf der Basis
einer empfangenen Nachricht.
-
Ein
Merkmal von Nachrichtendiensten ist es, wie zum Beispiel beim GSM
SMS (short message service), dass der Benutzer einen Anruf tätigen kann
während
SMS-Nachrichten übertragen
oder erhalten werden. In der Folge können Benutzer, die eine Interaktion
mit einem Server gemäß der vorliegenden
Erfindung ausführen,
miteinander sprechen, während
sie die gleichen Live-Daten ansehen, indem sie ihre Browser benutzen.
-
Somit
können
Benutzer, die das oben erwähnte
Schachspiel spielen, gleichzeitig miteinander reden, während sie
das Spiel spielen.
-
Ausführungsformen
der vorliegenden Erfindung werden im folgenden beschrieben, und
zwar anhand von Beispielen und unter Bezugnahme auf die zugehörigen Zeichnungen,
in denen:
-
1 ein
prinzipielles Blockdiagramm eines Servers für ein System zeigt, welches
die vorliegende Erfindung ausführt;
-
2 ein
Blockdiagramm einer ersten Ausführungsform
mit einer Mehrzahl von Statusmaschinen zeigt;
-
3 ein
Blockdiagramm einer zweiten Ausführungsform
mit einer Mehrzahl von Statusmaschinen zeigt;
-
4 ein
erstes System nach der vorliegenden Erfindung zeigt;
-
5 ein
Datenflussdiagramm zeigt, welches den Betriebsablauf eines Clients
nach der 4 erläutert;
-
6 ein
funktionales Blockdiagramm des Servers nach der 4 zeigt;
-
7 ein
Datenflussdiagramm zeigt, in dem die Konfiguration und der Betriebsablauf
des Servers nach der 4 erläutert ist;
-
8 eine
Browserseite für
einen Finanzdatentickerlaufbanddienst zeigt;
-
9 eine
Zugriffsseite eines Browsers für
einen Tickerlaufbandservice zeigt;
-
10 und 11 Browserseiten
eines Schachspiels zeigt, und zwar für den ersten und den zweiten Spieler;
-
12 ein
zweites System nach der vorliegenden Erfindung zeigt;
-
13 ein
funktionelles Blockdiagramm des Servers nach der 12 zeigt;
-
14 ein
Statusdiagramm einer Statusmaschine des Servers nach der 13 zeigt;
-
15 ein
drittes System nach der vorliegenden Erfindung zeigt; und
-
16 eine
Fernsehsendeeinrichtung für
das System zeigt, welches in der 15 dargestellt
ist.
-
Unter
Bezugnahme auf die 1 ist dort ein Server gezeigt,
der einen Eingangsrouter 1, eine Datenbank 2,
eine Mehrzahl von Statusmaschinen 3a, 3b und 3c,
sowie einen Ausgangsrouter umfasst. Der Eingangsrouter 1 empfängt die
Eingabedaten von einer Vielzahl von Quellen als Nachrichten, wie
zum Beispiel von Mobil-Telefonen
oder Internet-Browsern. Diese Nachrichten enthalten zumindest eine
Sitzungsreferenz, d.h. eine Angabe über die Quelle der Daten oder
eine Sitzungs-ID und die Daten selbst. Die Datenbank 2 enthält Eingangs-
und Ausgangs-Weiterleitungstabellen.
Wenn der Eingangsrouter 1 eine Nachricht empfängt, wird
die Datenbank 2 anhand der Sitzungsreferenz in der Nachricht
abgefragt und in Antwort wird die Identität von einer der Statusmaschinen 3a, 3b oder 3c erhalten.
Zumindest die Daten in der Nachricht werden dann an die identifizierte
Statusmaschine 3a, 3b oder 3c vom Eingangsrouter 1 weiter
geleitet. Der Status der identifizierten Statusmaschine 3a, 3b und 3c kann
sich ändern,
und zwar in Antwort auf die Daten in der Nachricht und eine Ausgabe
kann erzeugt werden, falls dieses vom neuen Zustand erfordert werden
sollte. Solche Ausgaben umfassen Ausgabekontrollnachrichten, die
zumindest eine Ausgabegeräte-ID
und ein Ausgabegeräte-Kommando
umfassen. Die Ausgaben von den Statusmaschinen 3a, 3b, 3c werden
vom Ausgaberouter 4 behandelt, der diese zu dem passenden
Ausgabegerät
weiterleitet, zum Beispiel zu einem Bildschirm oder zu einem Audiogerät, um Audio über ein
Mobiltelefon zu senden.
-
Unter
Bezugnahme auf die 2 kann die Statusmaschine 3a, 3b, 3c und
der Eingaberouter 1 durch eine gemeinsam benutzte Statusmaschine 5 und
eine Vielzahl von Skriptdateien 6a, 6b, 6c ausgeführt werden, wobei
diese Skriptdateien jeweils die Arbeitsweise einer "Statusmaschine" definieren. Für diesen
Fall verbleibt die Funktionalität
des Eingaberouters 1 in der Auswahl der richtigen Skriptdatei 6a, 6b oder 6c,
in Abhängigkeit von
der Nachrichten-Quellen-ID, wobei die Auswahl von der gemeinsam
benutzten Statusmaschine 5 ausgeführt wird.
-
Unter
Bezugnahme auf die 3 können bei einer anderen Ausführungsform
die Statusmaschinen 3a, 3b und 3c durch
Instanzen von Software-Objekten 7a, 7b und 7c ausgeführt sein,
und die Funktionen des Eingaberouters 1 und des Ausgaberouters 4 sind
auf irgend eine Art und Weise in einem Weiterleitungsprozess 8 kombiniert.
In diesem Fall stößt bzw.
aktiviert der Weiterleitungsprozess 8 eine Methode eines
passenden Objekts 7a, 7b oder 7c, indem
die Daten in der Nachricht zumindest als Parameter eingesetzt werden. Falls
der neue Zustand der "Statusmaschine" eine Ausgabe erfordert,
so gibt die aktivierte Methode zumindest eine Ausgabegeräte-ID und
ein Ausgabegeräte-Kommando
an den Weiterleitungsprozess 8 zurück, der diese dann je nach
Erfordernissen wieder weitergibt.
-
Die
Software-Objekte 7a, 7b und 7c können Komponenten
sein, die die gleiche Schnittstelle zu dem Weiterleitungsprozess 8 aufweisen.
Auf diese Art und Weise können "Statusmaschinen" hinzugefügt werden, ohne
den Programmcode für
den Weiterleitungsprozess 8 ändern zu müssen. Jedes Software-Objekt 7a, 7b und 7c bezieht
sich auf eine zugehörige
Kontrolldatei 9a, 9b und 9c, die einige
Kontrollnachrichten erzeugen. Die Verarbeitung der "Verwaltungsprogramm"-Nachrichten wird
aufgrund einer standardisierten Art und Weise durch einen Code behandelt,
der die Software-Objekte in einer standardisierten Art und Weise
definiert. Die Kontrolldateian 9a, 9b und 9c definieren
den Inhalt und die Steuerung des Systems, wie es von einem Benutzer
erhalten wird.
-
Die
Kontrolldateien
9a,
9b und
9c können den
folgenden allgemeinen Aufbau haben:
-
Die
Eingabemarken (<INPUT1>, </INPUT1> etc.) können die unterschiedlichen
Nachrichten enthalten, die vorschriftsmäßig für den Status erhalten werden,
zu dem sie zugehörig
sind.
-
Eine
Schreibumgebung kann vorgesehen werden, um die Kontrolldateien zu
erzeugen und um diese mit zugehörigen
Audio- oder Videodateien zu bündeln,
um sie an den Server und die Ausgabegeräte zu leiten. Die Schreibumgebung
schafft vorzugsweise eine grafische Benutzerschnittstelle und ermöglicht es
die Zustände
zu definieren und ermöglicht
Zustandsänderungen
mittels "drag and
drop" (mit der Maus
anklicken, ziehen und Ioslassen). Der Server kann durch eine Server-Bedienung
betrieben werden, die Ressourcen des Servers an Dritte verkauft,
die die Kontroll- und Mediendateien bereit stellen, die Sie mittels
der Schreibumgebung geschaffen haben. Das Übertragen der Kontroll- und
Mediendateien an den Server kann ein automatisiertes Verfahren sein,
welches die Übertragung
der Kontroll- und Mediendateien über
das Internet oder auch ein anderes Netzwerk einsetzt.
-
Die "Statusmaschinen" können ebenso
die Zeit nehmen oder Uhrzeitinformationen als Eingabe benutzen und
es kann erforderlich sein für
den Weiterleitungsprozess 8, die Software-Objekte 7a, 7b und 7c regelmäßig abzustimmen,
um Ausgabenachrichten zu erhalten, die auf Zustandsänderungen
basieren, die sich aus der Zeit ergeben.
-
Ein
erstes System, welches nach der vorliegenden Erfindung ausgeführt ist,
wird nun beschrieben werden.
-
Unter
Bezugnahme auf die 4 ist dort ein Informationsverteilungssystem
gezeigt, welches einen Server 101, eine Kontrollstation 102,
die mit dem Server 101 mittels des Internets verbunden
ist, ein SMS-Servicezentrum 103, welches mit dem Server 101 mittels
einer angemieteten Leitung verbunden ist, und ein GSM-Mobiltelefon-Netzwerk 104 umfasst.
Das GSM-Netzwerk 104 umfasst ein SMS-Gateway 105,
ein Zuhause-Positionsregister 106 und erste und zweite
Mobilserviceschaltzentren 107 und 108. Diese Mobilserviceschaltzentren 107 und 108 sind
jeweils mit ersten und zweiten Basisstationssteuerungen 109 und 110 verbunden
(in der Praxis wird jedes Mobilserviceschaltzentrum für gewöhnlich mit
einer Vielzahl von Basisstationssteuerungen verbunden sein). Die
Basisstationssteuerungen 109 und 110 sind jeweils
mit ersten und zweiten Basistransceiverstationen 111 und 112 (in
der Praxis wird jede Basisstationssteuerung mit einer Mehrzahl von Basistransceiverstationen
verbunden sein) verbunden. Ein erster Client 113 umfasst
eine erste Mobilstation 114, die mittels einer seriellen
Verbindung mit einem ersten tragbaren Computer 115 verbunden
ist. Der erste Client 113 ist in einer Zelle positioniert,
die von der ersten Basistransceiverstation 109 abgedeckt
wird. Ein zweiter Client 116 umfasst eine zweite Mobilstation 117,
die mittels einer seriellen Verbindung mit einem zweiten tragbaren
Computer 118 verbunden ist. Der zweite Client 116 ist
in der Zelle positioniert, die von der zweiten Basistransceiverstation 112 abgedeckt
wird. Bei diesem Beispiel haben die ersten und die zweiten Mobilstationen 114 und 117 ein
eingebautes Modem, wie diese etwa im Ericsson SH888 oder Nokia 8810 zu
finden sind. Die tragbaren Computer 115 und 118 sind
angenehmerweise tragbare Maschinen, wie etwa WindowsCE- oder Psion-Serie-5-Geräte. Es kann
eine Vielzahl von Kontrollstationen 102 geben, die eine
Gruppe oder mehrere Gruppen von Benutzern versorgt.
-
Das
Weiterleiten (routing) der SMS-Nachrichten ist bekannt und die Einzelheiten
hierfür
können
aus Mouly, M et al., "The
GSM system for Mobile Communications", ISBN 2-95071900-7 erhalten werden.
-
Unter
Bezugnahme auf die 5 unterstützt der erste tragbare Computer 115 einen
Proxyserver 122, einen Protokollverarbeitungsprozess 123 und
einen Web-Browser 124. Der Proxyserver 122 läuft immer
wenn der Computer 115 angeschaltet ist. Der Protokollverarbeitungsprozess 123 wird
jedoch nur dann in Betrieb gesetzt, falls dessen Funktionen erforderlich
sind.
-
Der
Protokollverarbeitungsprozess 123 verarbeitet URLs, die
vom Browser 124 weiter gegeben werden und liefert HTML-Seiten
an den Browser 124 zurück.
Diese HTML-Seiten
werden durch den Protokollverarbeitungsprozess 123 erzeugt,
indem lokal erzeugte Daten, zum Beispiel Namen von Benutzern und
Daten, die vom Server 101 in SMS-Nachrichten erhalten werden,
mit HTML-Seiten-Schablonen gemischt werden.
-
Der
Proxyserverprozess 122 speichert die SMS-Nachrichten vom
Server 101 zwischen, die den HTML-Seiten-Schablonen zuzurechnen
sind. Diese Nachrichten weisen einen charakteristischen Kopf auf,
der sich im Benutzerdatenabschnitt befindet. Er führt ebenso
einige lokale Funktionen aus, in Antwort auf zugeleitete URLs, und
erzeugt und sendet SMS-Nachrichten an den Server 101, indem
die erste Mobilstation 114 benutzt wird. Die Nachrichten,
die von dem Proxyserverprozess 122 verschickt werden, werden
auf der Basis der zugeleiteten URLs erzeugt, die vom Protokollverarbeitungsprozess 123 zugeleitet
werden.
-
Ein
SMS-Serverprozess 130 sendet die SMS-Nachrichten zu dem
ersten Client 115 in Antwort auf verschiedene Ereignisse,
die später
noch beschrieben werden. Diese Nachrichten enthalten variable Daten
für HTML-Seiten,
für die
der Benutzer bereits Vorlagen bzw. Schablonen 126 hat.
Die rohen SMS-Nachrichteninhalte werden von dem Proxyserverprozess 122 in
einem Cache 128 zwischengespeichert.
-
Falls
ein Benutzer eine URL weiterleitet, indem er den Browser 124 benutzt,
bestimmt der Browser 124 die Bezugnahme auf eine Seite
des derzeitigen Systems anhand des Vorhandenseins oder der Abwesenheit eines
swim://-Präfixes,
anstatt zum Beispiel eines herkömmlichen
http://-Präfixes.
Falls die URL den swim://-Präfix
enthält,
wird der Protokollverarbeitungsprozess 123 gestartet und
die URL wird an diesen weitergeleitet.
-
"swim://-" URLs enthalten eine
Seitenidentifikation und einen oder mehrere Namen-Werte-Paare. Die Namen-Werte-Paare
können
Daten umfassen, die zu dem Serverprozess 130 geleitet werden
können
oder die lokal gespeichert werden können, und Anweisungen, die
die Handhabung der URL durch den Protokollverarbeitungsprozess 123 und
den Proxyserverprozess 122 definieren.
-
Falls
die URL eine Anweisung enthält,
die keine variablen Daten oder nur lokal erzeugte variable Daten
erfordert, dann vermischt der Protokollverarbeitungsprozess 123 die
identifizierte HTML-Seiten-Schablone 126 lediglich mit
jeglichen identifizierten lokal erzeugten variablen Daten aus dem
lokalen Datenspeicher 127 und gibt die sich daraus ergebende
HTML-Seite an den Browser 124 zurück.
-
Falls
jedoch die URL anzeigt, dass Daten von dem Server 101 erforderlich
sind, so leitet der Protokollverarbeitungsprozess 123 die
URL (oder zumindest den Teil davon, der für den Proxyserverprozess 122 erforderlich
ist) an den Proxyserverprozess 122 weiter, zusammen mit
eine Nachrichten-ID. Falls die URL keine "ad hoc" Reaktion vom Serverprozess 13C erfordert, überträgt der Proxyserverprozess 122 den
Inhalt des Nachrichten-Zwischenspeichers (Cache) 128 an
den Protokollverarbeitungsprozess 123.
-
Für diesen
Fall analysiert der Protokollverarbeitungsprozess 123 alle
Nachrichten, die vom Proxyserverprozess 122 erhalten werden
und bringt die variablen Daten in dem lokalen Datenspeicher 127 auf
den neuesten Stand. Der Protokollverarbeitungsprozess 123 entnimmt
dann die variablen Daten für
die übermittelte URL
aus dem lokalen Datenspeicher 127 und mischt diese mit
den relevanten HTML-Seiten-Schablonen.
Die sich ergebende HTML-Seite wird dann an den Browser 124 geschickt.
-
Eine
Anweisung für
den Proxyserver wird vorgesehen, die bewirkt, dass Daten in einer
URL als Pseudo-SMS-Nachricht in dem Speicher 128 für die Nachrichten
gespeichert werden. Diese Daten werden dann zu dem Protokollverarbeitungsprozess 123 zurück geschickt,
als ob sie von dem Serverprozess 130 empfangen worden wären. Auf
diese Art und Weise kann der Inhalt des Datenspeichers 127 für den Protokollverarbeitungsprozess
angepaßt
werden, so dass er die Daten enthält, die der Benutzer eingibt
und um die Kontrollen auf der angezeigten Seite auf den Neuesten
Stand zu bringen, ohne das es erforderlich wäre, den Server 101 zu
kontaktieren und eine Antwort von dort zu empfangen.
-
Falls
die URL-Daten, die von dem Proxyserverprozess 122 empfangen
werden, anzeigen, dass der Server 101 kontaktiert werden
muss, so baut der Proxyserverprozess 122 eine SMS-Nachricht
auf, indem er die Datenelemente der URL und die Na chrichten-ID verwendet
und sendet dann die Nachricht an den Serverprozess 130,
indem die Mobilstation 113 und der SMS-Service des Netzwerks 105 benutzt
werden.
-
Die
Struktur und der Betrieb des Servers 101 und des Serverprozesses 130 werden
im Einzelnen im folgenden beschrieben. Jedoch, falls eine Antwort
vom Server 101 nicht erforderlich ist, sendet der Proxyserverprozess 122 sofort
den Inhalt des Nachrichten-Zwischenspeichers 128 an den
Protokollverarbeitungsprozess 123, der fortfährt, wie
es oben bereits beschrieben worden ist.
-
Auf
der anderen Seite, wenn eine Antwort von dem Serverprozess 130 erforderlich
ist, so überwacht der
Proxyserverprozess 122 die eingehenden SMS-Nachrichten
bis er eine vollständige
Nachricht erhält,
die die ID (Identifikation) der Nachricht trägt, die früher an den Serverprozess 130 geschickt
worden war. Falls die Antwortnachricht empfangen worden ist, leitet
der Proxyserverprozess 122 den Inhalt des Nachrichten-Zwischenspeichers 128 weiter,
der nun die Antwortnachricht mit umfasst, und zwar an den Protokollverarbeitungsprozess 123,
der den Nachrichten-Zwischenspeicher verarbeitet, wie oben beschrieben,
und er erzeugt die neue HTML-Seite unter Verwendung der Daten, die
von dem Serverprozess 130 zurück gegeben worden sind.
-
Um
den SMS-Verkehr zu minimieren, können
die URL-Daten ebenso durch den Proxyserverprozess 122 in
einem URL-Daten-Zwischenspeicher 129 zwischengespeichert
werden, bis eine URL von dem Protokollverarbeitungsprozess 123 empfangen
worden ist, die eine ausdrückliche
Weiterleitungsanweisung enthält. Dieser
Mechanismus wird typischerweise benutzt, wenn ein Benutzer einige
Male auf eine HTML-Seite klickt, um eine Auswahl zu treffen und
dann auf einen Weiterleitungsknopf klickt. In diesem Fall würden die
anfänglichen
Klicks verursachen, dass eine Reihe von URLs an den Proxyserverprozess 122 geschickt
wird, die jeweils eine Cache-Anweisung und Daten enthalten. Diese
Daten würden
dann in dem URL-Daten-Cache 129 zwischengespeichert.
Das Klicken auf den Weiterleitungsknopf würde bewirken, dass eine URL
mit einer Weiterleitungsanweisung an den Proxyserverprozess 122 geschickt
wird, der dann eine SMS-Nachricht aufbaut, indem die zwischengespeicherten
Daten benutzt werden und diese dann an den Server 101 schickt.
Eine Variante dieser Anweisung enthält einen Zählwert und stößt eine
Weiterleitung an den Server 101 an, falls die Anzahl der
empfangenen URLs, die die Anweisung enthalten und von der gleichen
HTML-Seite stammen, den Zählwert
erreicht.
-
Da
die Bedingungen am Server 101 sich im Laufe der Zeit verändern können, und
der Serverprozess 130 an Client's 113 und 116 variable
Daten senden kann, ohne dass eine spezifische Anfrage gemacht worden ist,
ist es wünschenswert,
dass der Browser 124 die aktuelle URL in Intervallen wieder
versendet, so dass die angezeigte Seite immer aktuell ist.
-
Der
zweite Client 116 ist auf eine ähnliche Art und Weise konfiguriert
und steht in der gleichen Art und Weise in einem kommunikativen
Austausch mit dem Server.
-
Das
oben erläuterte
gibt einen Überblick über die
Funktionalität
eines Beispiels eines Client gemäß der vorliegenden
Erfindung. Im allgemeinen müssen
die Anweisungen definiert werden, wenn der Protokollverarbeitungsprozess 123 und
der Proxyserverprozess 122 entworfen werden. Jedoch werden
die Datenelemente definiert, wenn die HTML-Seite entworfen wird.
-
Unter
Bezugnahme auf die 6 umfasst der dort gezeigte
Server 101 einen Prozessor 131 mit einer CPU,
ROM, RAM und einem Disketten-Laufwerk, einer Internet-Schnittstelle 132 und
einer SMS-Schnittstelle 133. Der Server 101 wird
unter Einsatz einer Sun Sparc Maschine implementiert.
-
Unter
Bezugnahme auf die 7 sind ein Webserver 134 und
der SMS-Serverprozess 130 als Prozesse auf dem Server 101 implementiert.
Der Webserver 134 ist vorgesehen, so dass der SMS-Server 135 mittels
eines Webbrowsers über
die Internetverbindung kontrolliert werden kann. Der SMS-Server 130 wird
implementiert, indem ein objektorientiertes Datenbanksystem benutzt
wird.
-
Jeder
Benutzer des Systems wird durch eine Instanz einer Benutzerklasse
repräsentiert
und umfasst unter anderem die Nummer des Mobiltelefons des Benutzers.
Be nutzer sind Mitglieder von einer Gruppe oder von mehreren Gruppen,
die durch Instanzen einer Gruppenklasse dargestellt sind, die eine
Liste der HTML-Seiten enthält,
die für
die Mitglieder der Gruppe verfügbar
sind. Eine Gruppe kann auch nur einen Benutzer enthalten.
-
Die
Gruppen können
Arbeitnehmer der gleichen Firma sein, eine Gruppe von Freunden,
oder irgend eine Ansammlung von Leuten, die ein gemeinsames Interesse
haben. Ein Benutzer gibt die Details an, die ihn betreffen, die
in der Datenbank gespeichert werden, die für die anderen Benutzer verfügbar sein
sollen. Dadurch wird es möglich,
das Benutzer neue Gruppen erstellen können und andere Benutzer einladen
können, dieser
Gruppe beizutreten. Zum Beispiel kann ein Benutzer mit Interesse
am "Surfen" eine Dienstleistung
anbieten, die Informationen über
die Bedingungen zum Surfen an unterschiedlichen Stränden anbietet.
Um dies zu erreichen, würde
er die erforderlichen HTML-Seiten entwerfen und Kontrollobjekte
dazu, d.h. die sogenannten "Statusmaschinen". Diese Kontrollobjekte
würden
dann auf den Server 101 hochgeladen werden. Der Benutzer
könnte
dann Emails an andere Benutzer versenden und diese einladen der
neuen Gruppe beizutreten und dann Emails mit den HTML-Seiten an
diejenigen versenden, die eine positive Antwort geschickt haben. Selbstverständlich,
sofern eine Dienstleistung bereits eingerichtet ist, wäre es nur
erforderlich die HTML-Seiten an neue Mitglieder der Gruppe zu senden,
um diesen die Dienstleistung anzubieten. Die Art und Weise der Verteilung
der HTML-Seiten
ist nicht wichtig, und Email ist nur als ein Beispiel angegeben.
Ein anderes Verfahren der Verteilung würde es sein die geeigneten
HTML-Seiten auf einer kostenlosen Diskette auf der Titelseite eines
Computermagazins anzubieten. Diese Seiten würden die HTML-Seiten für die Dienstleistung
umfassen und eine spezielle HTML-Seite für die Registrierung für die Dienstleistung
am Server 101.
-
Jede
Seite, die durch einen Client 113, 116 des Systems
angezeigt werden kann, hat einen Bezug zu einer Klasse. Die Klasse
definiert die Eigenschaften der Seite, die für den Server 101 erforderlich
sind und die Logik, die mit der Seite diesen Typs verbunden ist,
und zwar in der Form von Methoden. Für jede Klasse von Seiten gibt
es eine zugehörige
Klassenverarbeitungsobjektinstanz.
-
Wenn
eine SMS-Nachricht vom Proxyserverprozess 122 eines Client 113, 116 empfangen
wird, wird diese zu einer Weiterleitungsobjektinstanz 140 durchgereicht.
Die Weiterleitungsobjektinstanz 140 identifiziert den Typ
der Seite, zu der die Nachricht gehört und und leitet diese weiter
an die Klassenverarbeitungsobjektinstanz 141 für diesen
Typ von Seite. Die Weiterleitungsobjektinstanz 140 und
die Klassenverarbeitungsobjektinstanz 141 schaffen hier
die Funktionalität
des Eingaberouters 1 in der 1. Die Nachricht
enthält
die Identität
des Benutzers, der die Nachricht sendet, und unter Benutzung dieser
Information, die in Kombination mit der URL die Transaktion identifiziert,
sucht die Klassenverarbeitungsobjektinstanz 141 in einer
verlinkten bzw. eingebundenen Liste von Instanzen von Objekten 142 der
Klassen nach einer Seite, die diese Instanz repräsentiert, und die den Benutzer
umfasst, der selbst der oder einer der Eigentümer ist.
-
Falls
eine Seitenobjektinstanz 142, die dem Benutzer zuzuordnen
ist, nicht aufgefunden wird, so erzeugt das Klassenverarbeitungsobjekt 141 ganz
allgemein eine neue Seitenobjektinstanz 142. Nachrichten, die
die Erzeugung der neuen Seitenobjektinstanz 142 nicht erfordern,
sind jedoch auch zugelassen. Falls eine neue Instanz erzeugt wird,
wird der Seitenobjektkonstruktor eine oder mehrere Seitendarstellungsobjektinstanzen 143 erzeugen.
Diese Seitendarstellungsobjektinstanzen 43 speichern den
Zustand der Seite, die dem einen Benutzer oder jedem Benutzer angezeigt
wird. In einigen Fällen
wird die gleiche Seitendarstellungsobjektinstanz 143 für alle Eigentümer angewendet,
und in einigen anderen Fällen
wird jeder Benutzer eine unterschiedliche Anzeige sehen, und dementsprechend
sind jeweilige Seitendarstellungsobjektinstanzen 143 erforderlich.
Seitenobjektinstanzen 142 können auch Zugriff haben auf
die Benutzerobjekte 144 dieser Eigentümer, so dass deren Betriebsablauf
gemäß den Präferenzen
dieser Eigentümer
maßgeschneidert
werden kann.
-
Sobald
die Seitenobjektinstanz 142 erzeugt worden ist, oder bei
der Suche durch die Seitenverarbeitungsobjektinstanz 141 gefunden
worden ist, wird diese mit der Nachricht weiter geleitet, die dann
verarbeitet wird, um eine Ausgabe zu erzeugen. Die Ausgaben werden
für gewöhnlich variable
Daten sein (d.h. ein Ausgabekommando), die zum Client 113, 116 zurück geschickt
werden, der die Verarbeitung angestossen hat, oder diese werden
an einen anderen Client 113, 116 geschickt, dessen
Benutzer zu der gleichen Gruppe gehört. In diesen Fällen werden
die variablen Daten an einen SMS-Nachrichten-Ausgabeprozess 145 (d.h.
der Ausgaberouter 4 in der 1) geleitet,
der SMS-Nachrichten aufbaut, um die variablen Daten an ihre Zieladresse
zu befördern.
Die Ausgabe kann jedoch an viele andere Ziele 146 erfolgen,
zum Beispiel an einen Telefonieschalter, der Konferenzschaltungen
für die
Eigentümer
der Seitenklassenobjektinstanz 142 zur Verfügung stellt,
oder an einen Webserver 134, der an einen Inspektor der
Gruppe berichtet.
-
Der
SMS-Server 130 antwortet nicht nur auf SMS-Nachrichten
von den Clients 113, 116. Eine Aktualisierung
der variablen Daten einer Seite kann von der Kontrollstation 102 über den
Webserver 134 erhalten werden. Eine solche Nachricht nimmt
die Form der Identität
der Seite, der Gruppe, zu der die Aktualisierung gehört, und
die der Aktualisierung selbst ein. Die Nachricht wird zu der Weiterleitungsobjektinstanz 140 durchgereicht.
Die Weiterleitungsobjektinstanz 140 identifiziert den Typ
der Seite, zu der die Nachricht gehört und leitet diese an die
Klassenverarbeitungsobjektinstanz 141 für diesen Typ von Seite weiter.
Die Nachricht enthält
die Identität
des Benutzers der Seite mittels der Gruppen-Identifikation, und
unter Verwendung dieser Information durchsucht die Klassenverarbeitungsobjektinstanz 140 eine
verlinkte Liste von Instanzen von Seitenobjekten 142 nach
einer Instanz, die die Benutzer dieser Gruppe als Eigentümer umfasst.
-
Falls
eine Seitenobjektinstanz 142, die zu dieser Gruppe gehört, nicht
gefunden wird, erzeugt das Klassenverarbeitungsobjekt 141 eine
neue Seitenobjektinstanz 142. Der Konstruktor des Seitenobjektes
wird dann eine oder mehrere Seitendarstellungsobjektinstanzen 143 erstellen
bzw. erzeugen, je nachdem was erforderlich ist.
-
Sobald
die Seitenobjektinstanz 142 etabliert wurde oder bei der
Suche durch die Seitenverarbeitungsobjektinstanz 141 gefunden
worden ist, wird diese mit der aktualisierten Nachricht versorgt.
Die Seitenobjektinstanz 142 gibt dann die aktualisierten
variablen Daten in geeigneten Namen-Werte-Paaren aus, an den SMS-Nachrichtenausgabeprozess 145,
gemeinsam mit Instruktionen, so dass diese an jeden Benutzer der Gruppe
gesendet werden. Der SMS-Nachrichtenausgabeprozess 145 sendet
dann die notwendigen Nachrichten an die Mitglieder der Gruppe, so
dass die aktuali sierten variablen Daten verfügbar sind, wenn ein Benutzer die
URL für
diese Seite anwählt
oder diese Seite neu aufgebaut wird.
-
Die
Seitenobjektinstanzen 142 werden gelöscht, wenn deren Bestehen nicht
mehr länger
erforderlich ist.
-
Eine
Registrierungs-HTML-Seite kann zur Verfügung gestellt werden und dieses
würde am
Server 101 behandelt werden, wie oben beschrieben, aber
der neue Benutzer würde
rückfallmäßig (by
default) als ein Mitglied einer globalen Gruppe von Nutzern behandelt
werden. Die Seitenobjektinstanz 142 würde einen neuen Nutzerdatensatz
in der Datenbank in Antwort auf die Zurverfügungstellung der persönlichen
Informationen dieses Nutzers erzeugen, zum Beispiel Name, Nummer
des Mobiltelefons, Email-Adresse und Kreditkarteneinzelheiten, indem
die Registrierungs-HTML-Seite
benutzt wird.
-
Beispiele
für Anwendungen
der vorliegenden Erfindung werden im folgenden beschrieben.
-
Das
erste Beispiel ist ein Finanzdaten-Tickerlaufbandservice.
-
Ein
Benutzer wird eine Schablone 126 für die HTML-Seite, die in der 8 gezeigt
ist, auf seinem Client 113, 116 gespeichert haben.
Es kann erkannt werden, dass diese Seite eine Mehrzahl von Reihen
aufweist, die jeweils einer Firma zugeordnet sind und den Preis
einer gewöhnlichen
Aktie zeigen. Die gesamte Information auf dieser Seite ist vor Änderungen
geschützt,
bis auf die Angabe der Preise selbst. Die Schablone 126 enthält daher
den gesamten Text, mit Ausnahme der Preise und der Codes für die Formatierung.
Die Positionen der Preise werden von entsprechenden Platzhaltern
in der Schablone 126 festgehalten.
-
Der
Dienstleistungserbringer des Services hat Zugriff auf den Server 101 über den
Webserver 134 und kann dies dazu benutzen neue Benutzer
zu dem Finanzdaten-Tickerlaufbandservice
und der entsprechenden Teilnehmer-Gruppe hinzuzufügen. Die
Tickerlaufbanddaten werden automatisch durch den Serviceprovider
erzeugt, und diese werden in regelmäßigen Abständen an den Server 1 über den
Webserver 134 geschickt.
-
Ein
Prozess am Webserver 134 leitet diese Daten an das Routerobjekt 140 weiter,
welches sie zu der Seitenverarbeitungsobjektinstanz 141 für die Seite
des Finanzdaten-Tickerlaufbandes weiter leitet. In diesem Fall wird
die Seitenverarbeitungsobjektinstanz 141 eine Instanz 142 des
Tickerlaufbandseitenobjekts einsetzen bzw. erzeugen und dann werden
die Daten von dem Serviceprovider durchgeleitet. Die Tickerlaufbandseitenobjektinstanz 141 gibt
die Daten als Namens-Werte-Paare an den SMS-Ausgabeprozess 145 aus,
gemeinsam mit den mobilen Telefonnummern der Nutzer dieser Benutzerobjekte 144.
Der SMS-Ausgabeprozess 145 konstruiert dann und versendet
SMS-Nachrichten, die den Preis beinhalten, an die Clients 113 und 116.
Es muss hierbei angemerkt werden, dass eine Seitendarstellungsobjektinstanz 143 in
diesem Fall nicht erforderlich ist.
-
Sobald
die Daten an den SMS-Ausgabeprozess 145 verschickt worden
sind, wird das Tickerlaufbandseitenklassenobjekt gelöscht.
-
Die
Clients 113, 116 werden daher als Terminals der
Nutzer dieses Tickerlaufbandservices die SMS-Nachrichten, die die
Preise enthalten, empfangen. An jedem Client 113, 116 werden
diese Nachrichten durch den Proxyserverprozess 122 zwischengespeichert.
-
Die
URL für
die Tickerlaufbandserviceseite ist zu komplex als dass ein Benutzer
diese leicht eintippen könnte.
Deshalb ist eine Tickerlaufbandservice-Zugriffsseite (siehe 9)
vorgesehen. Diese Seite ist eine herkömmliche HTML-Seite, die lokal
gespeichert ist. Wie es erkannt werden kann, umfasst diese Seite
eine Taste für
den Zugriff auf den Tickerlaufbandservice. Wenn der Benutzer auf
diese Taste klickt, so wird die URL swim:// für die Tickerlaufbandserviceseite übertragen.
Diese URL wird durch den Protokollverarbeitungsprozess 123 und
durch den Proxyserverprozess verarbeitet. Der Proxyserverprozess 122 wird
veranlasst die zwischengespeicherte Nachricht an den Protokollverarbeitungsprozess 123 zu
senden, der die letzte Version der Preisdaten in seinem Datenspeicher 128 speichert.
Die letzten Preisdaten werden aus dem Datenspeicher 128 durch
den Protokollverarbeitungsprozess 123 ausgelesen und in
die HTML-Schablone für
die Tickerlaufbandserviceseite eingefügt. Das sich daraus ergebende
Dokument wird dann an den Browser 124 geschickt und angezeigt.
-
Falls
der Benutzer den Browser 124 nicht schließt oder
eine andere URL eingibt, so schickt der Browser 124 diese
URL für
die Tickerlaufbandseite nach einer bestimmten Zeitspanne erneut
ab, so dass die Seite mit den neuesten Preisen aktualisiert wird.
-
Das
zweite Beispiel ist die Verarbeitung eines Zuges in einem Schachspiel
zwischen zwei Nutzern des ersten Clients 113 und des zweiten
Clients 116.
-
Der
erste Client 113 stellt die Seite dar, die in der 10 gezeigt
ist und der zweite Client 116 stellt die Seite dar, die
in der 11 gezeigt ist. Es ist zu erkennen,
dass es Unterschiede zwischen den angezeigten Seiten gibt. Der erste
Nutzer bzw. der zweite Nutzer benutzen jeweils den ersten Client 113 bzw.
den zweiten Client 116.
-
Auf
dem Server 101 wurde eine Instanz eines Schachspielseitenobjekts 142 gestartet.
Diese Objektinstanz 142 führt die Regeln des Schachspiels
aus und die Logik zur Kontrolle der Seiten, die den Nutzern angezeigt
werden. Da diese Seiten unterschiedlich sind, unterhält das Schachspielobjekt 142 zwei
Seitendarstellungen 143, eine für jeden Spieler. Beide Seitendarstellungen 143 zeichnen
die Positionen der Spielsteine auf.
-
Falls
der erste Nutzer einen Spielstein bzw. eine Figur rücken möchte, klickt
er zuerst auf die bildliche Darstellung, welche das Spielfeld ist,
auf dem die Figur steht, die gezogen werden soll. Der Browser 124 reagiert,
indem er eine URL erzeugt, die an den Protokollverarbeitungsprozess 123 weiter
geleitet wird. Diese URL identifiziert die Seite, eine Position
für eine "hervorgehobene" bildliche Darstellung,
die die angeklickte Position ersetzen soll, und die Identität des Schachspielfeldes,
welches durch die angeklickte bildliche Darstellung repräsentiert
wird. Diese URL enthält
auch eine Anweisung, die bewirkt, dass die Position für eine "hervorgehobene" bildliche Darstellung
als eine Pseudonachricht in dem Zwischenspeicher des Proxyservernachrichtencaches 128 gespeichert
wird und eine Anweisung, die die Indentität des Schachspielfeldes in
dem Proxyserver-URL-Cache 129 speichert. Diese zweite Anweisung
funktioniert mit einem zugehörigen
Zählwert,
in diesem Fall "zwei".
-
Nach
dem Empfangen der URL-Daten sendet der Proxyserverprozess 122 den
Inhalt seines Nachrichten-Zwischenspeichers (Cache) 128 an
den Protokollverarbeitungsprozess 123. Der Protokollverarbeitungsprozess 123 fügt dann
die Schachspielseitenschablone mit den akualisierten Daten zusammen,
die die neuen bildlichen Darstellungen und deren Position für das angeklickte
Feld enthalten, und sendet die neue Seite an den Browser 124.
In der Folge wird dem Nutzer eine visuelle Darstellung des Spielfeldes
angezeigt, auf das er geklickt hat.
-
Der
erste Nutzer klickt nun auf das Spielfeld, auf das er die ausgewählte Spielfigur
bewegen möchte. Eine
zweite URL wird erzeugt, die die gleiche ist, wie die erste, mit
Ausnahme des identifizierten Spielfeldes, und diese wird an den
Proxyserverprozess 122 geschickt, und zwar mittels des
Protokollverarbeitungsprozesses 123. Die Position der bildlichen
Darstellung wird wie im ersten Fall behandelt. Die Cache-Anweisung ist jedoch
die gleiche, mit dem gleichen Zählwert,
nämlich "zwei". Der Proxyserverprozess 122 erfasst,
dass zwei solche Anweisungen nun erhalten worden sind, und erzeugt
eine SMS-Nachricht, die die Identität der Spielfelder enthält, die
von dem Nutzer angeklickt worden sind und die eine Nachrichten-ID
von dem Protokollverarbeitungsprozess 123 enthält. Diese
Nachricht wird dann an den Server 101 geschickt.
-
An
dem Server 101 wird die Nachricht an die Schachspielobjektinstanz 142 für dieses
Spiel weiter geleitet. Diese Objektinstanz 142 prüft unter
Verweis auf eine der Seitendarstellungen 143, ob der vorgeschlagene
Zug regelkonform ist. Falls der Zug nicht regelkonform ist, sendet
die Objektinstanz 142 eine Nachricht zurück an den
ersten Nutzer, die bewirkt, dass eine Nachrichtenseite angezeigt
wird, auf der der Text "Fehler: nicht
erlaubter Zug" steht
und ein Link enthalten ist, der, wenn er ausgewählt wird, bewirkt, dass die
Schachspielseite erneut angezeigt wird.
-
Falls
der Zug regelkonform ist, prüft
die Objektinstanz 142, ob ein Schachmatt vorliegt. Die
Objektinstanz 142 aktualisiert die Seitendarstellungen
mit den neuen Spielsteinpositionen, vertauscht den Text "Du bist am Zug" mit "Gegner ist am Zug", und, falls erforderlich,
wird die Nachricht "Schachmatt – Spiel
beendet" hinzu gefügt. Die
Nachrichten für
die Benutzer, die diese Änderungen
an den jeweiligen Seitendarstellungen wiedergeben, werden dann konstruiert
und an die Nutzer geschickt.
-
Wenn
der erste Nutzer seine Nachricht erhält, speichert der Proxyserverprozess 122 des
ersten Clients 113 diese zwischen, bis die nächste Aktualisierung
durch den Browser 124 angefordert wird, wobei dann der
Inhalt des Nachrichten-Caches 128 an den Protokollverarbeitungsprozess 123 übertragen
wird. Der Protokollverarbeitungsprozess 123 erzeugt dann
die aktualisierte HTML-Seite und sendet diese an den Browser 124,
so dass der Benutzer die Figuren des Schachspiels an den neuen Positionen
sieht, die Legende "Gegner ist
am Zug" und falls
erforderlich "Schachmatt – Spiel
beendet" lesen kann.
-
Die
Nachricht, die der zweite Spieler bzw. Benutzer erhält, ist
auf ähnliche
Art und Weise durch den zweiten Client 116 verarbeitet
worden. Jedoch zeigt die Seite, die dem zweiten Nutzer angezeigt
wird an: "Du bist
am Zug", unter der
Annahme, dass der letzte Zug des ersten Spielers das Spiel nicht
beendet hat.
-
Bei
der vorstehenden Beschreibung ist der Server 101 mit der
SMS-Zentrale 103 mittels einer angemieteten Leitung verbunden.
Der Server 101 kann jedoch auch eine mobile Station benutzen,
um Nachrichten für
Clients über
SMS zu versenden.
-
Bei
einer passiven Ausführungsform
ist ein Client nach der vorliegenden Erfindung derart ausgebildet, dass
er in Zellen versendete SMS-Nachrichten in HTML-Seiten einfügt, so dass
diese Nachrichten einfach angezeigt werden können, indem ein Browser benutzt
wird.
-
Ein
zweites System, welches die vorliegende Erfindung ausführt, wird
im folgenden beschrieben.
-
Unter
Bezugnahme auf die 12 benutzt ein E-Kommerz-System
das Internet 201. Verbunden mit dem Internet 201 sind
eine Seite (site) 202 eines Verkäufers, eine Seite 203 eines
Nutzers und eine Seite 204 des Servers. Die Verkäuferseite 202 umfasst
einen Webserver. Die Nutzerseite 202 umfasst einen PC 205 und Telefon 206,
welches ein pstn- oder ein plmn-Terminal sein kann. Das Telefon 206 kann
benutzt werden, um die Serverseite 204 mittels des pstn
und/oder plmn anzurufen. Die Serverseite 204 ist auch mit
einer Finanzdienstleistungsseite 207 verbunden. Die Finanzdienstleistungsseite 207 gehört zu einem
Finanzdienstleistungsanbieter, der bei den Transaktionen zwischen
dem Nutzer und dem Verkäufer
für das
Kapital garantiert.
-
Bezugnehmend
auf die 13 umfasst die Serverseite 204 eine
Mehrfachleitungs-Digitaltelefonschnittstelle 208,
mit Sprachsynthesizern, um eine Schnittstelle zu einem Telefon-Netzwerk 209 zu
erhalten, eine Internet-Schnittstelle 210 und eine Kommunikations-Schnittstelle 211,
um eine Verbindung mit der Finanzdienstleistungsseite 207 herzustellen.
Darüber
hinaus unterstützt
die Serverseite 204 einen Weiterleitungsprozess 212,
eine Datenbank 213, eine transaktionsspezifische Statusmaschinenkontrollobjektinstanz 214,
eine allgemeine Statusmaschinenkontrollobjektinstanz 215,
einen Telefoneingabeprozess 216, Kommunikationseingabeprozesse 217,
einen Interneteingabeprozess 218, einen Internetausgabeprozess 219,
einen Kommunikationsausgabeprozess 220 und einen Telefonausgabeprozess 221.
Die Datenbank 213 umfasst unter anderem eine Tabelle, in
der die Einzelheiten von registrierten Nutzern enthalten sind, inklusive
der jeweiligen PINs und der Telefon- und Konto-Nummern.
-
Eine
Transaktion unter Verwendung dieses Systems ist in den 12 und 13 gezeigt
und wird im folgenden auch unter Bezugnahme auf die 14 beschrieben
werden.
-
Bei
der folgenden Beschreibung enthalten die Nachrichten, die mittels
des Weiterleitungsprozesses 212 weitergeleitet werden,
einen Teil für
die Weiterleitung und einen Teil für die Daten.
-
Ein
Verkäufer
wirbt für
Waren oder Dienstleistungen, indem er Webseiten benutzt, die vom
Webserver auf der Verkäuferseite 202 zur
Verfügung
gestellt werden. Eine Transaktionsseite, die durch die Verkäuferseite erzeugt
wird, umfasst eine Java-Applet,
welches es erlaubt, dass der dargestellte Inhalt der Seite geändert werden
kann, ohne dass ein Nutzer die URL der Seite wieder abschickt. Die
Transaktionsseite umfasst auch einen einmaligen Transaktionscode,
der erzeugt wird, wenn ein Nutzer die URL der Seite abschickt. Dieser Code
umfasst einen Abschnitt mit Verkäufercode
und einen Abschnitt mit veränderlichem
Transaktionscode.
-
Wenn
ein Benutzer der Nutzerseite 203 es wünscht einen Kauf zu tätigen, so
füllt der
Nutzer zum Beispiel einen "Einkaufskorb" mit virtuellen Gegenständen und
schickt diese URL an die Transaktionsseite des Verkäufers, und
zwar für
gewöhnlich
durch Anklicken eines Links. Falls die Transaktionsseite auf dem
PC 205 des Nutzers angezeigt worden ist, wählt der
Nutzer die Telefonnummer an, die angezeigt wird, indem er das Telefon 206 benutzt.
Der Anruf wird durch die digitale Telefonschnittstelle 208 und
durch den Telefoneingabeprozess 216 beantwortet. Eine Initialisierungsroutine
des Telefoneingabeprozesses 216 erhält die Telefonnummer des Nutzers
unter Einsatz von CLI und speichert diese lokal zusammen mit einer
einmaligen und reservierten temporären Transaktions-ID und einer
ID für
die Telefonleitung ab, über
die der Anruf entgegen genommen worden ist.
-
Der
Telefoneingabeprozess 216 schickt dann eine Initialisierungsnachricht
an den Weiterleitungsprozess 212. Die Initialisierungsnachricht
umfasst eine temporäre
Transaktions-ID in dem Weiterleitungsabschnitt und "Quelle=Telefon" in dem Datenabschnitt.
-
Eine
Eingabeweiterleitungstabelle der Datenbank 213 wird benutzt,
um die Transaktions-IDs auf Kontrollobjekt-IDs zu lesen bzw. zu
mappen. Die reservierten temporären
Transaktions-IDs werden alle auf die ID einer allgemeinen Kontrollobjektinstanz 215 gemappt.
-
Der
Weiterleitungsprozess 212 greift auf die Eingabeweiterleitungstabelleneinträge für die Transaktions-ID
zu und erhält
die ID der allgemeinen Kontrollobjektinstanz 220. Der Weiterleitungsprozess 212 startet eine
Methode der allgemeinen Kontrollobjektinstanz 220, wobei
die Nachricht als ein Parameter übergeben wird.
-
Eine
Ausgabeweiterleitungstabelle hat drei Spalten und umfasst: die Transaktions-ID,
das Ziel und die Ausgabeprozess-ID.
-
Diese
Methode erzeugt oder editiert einen Datensatz in der Ausgabeweiterleitungstabelle
für die
temporäre
Transaktions-ID, so dass das Feld für das Ziel auf "Telefon" gesetzt wird und
die Ausgabeprozess-ID auf die ID des Telefonausgabeprozesses 221 gesetzt
wird. Die Methode gibt eine Nachricht zurück, die die temporäre Transaktions-ID
und "Telefon" in dem Weiterleitungsabschnitt
enthält
und eine "Sende
Codeeingabeanforderungs"-Anweisung
in dem Datenabschnitt des Weiterleitungsprozesses 212 enthält. Der
Weiterleitungsprozess 212 greift dann auf den Ausgabeweiterleitungstabelleneintrag
für diese
temporäre
Transaktions-ID zu, wobei Ziel = "Telefon" ist und leitet daraus die Ausgabeprozess-ID
ab, die in diesem Fall der Telefonausgabeprozess 221 ist.
Der Weiterleitungsprozess 212 schickt dann die Nachricht
an den Telefonausgabeprozess 221.
-
Der
Telefonausgabeprozess 219 antwortet auf die "Sende Codeeingabeanforderungs"-Nachricht durch
Herausfinden der ID der Telefonleitung, die den temporären Transaktionscode
in der Nachricht benutzt, und durch Verbinden des Ausgans eines
Sprachsynthesizers mit der identifizierten Telefonleitung und durch Anweisung
an den Sprachsynthesizer, eine Sprachnachricht auszugeben, die den
Benutzer auffordert den Code einzugeben, der auf der Webseite angezeigt
ist.
-
Der
Nutzer antwortet auf die Sprachnachricht indem er den angezeigten
Code durch Benutzung der Tasten auf dem Telefon 206 eingibt.
Der Telefoneingabeprozess 216 erfasst die DTMF-Signale
von dem Telefon 206 und konstruiert eine Nachricht, bestehend
aus der temporären
Transaktions-ID und dem eingegebenen Code. Diese Nachricht wird
dann zu dem Weiterleitungsprozess 212 geschickt.
-
Wenn
der Weiterleitungsprozess 212 die Nachricht empfängt, die
den eingegebenen Code enthält, greift
dieser erneut auf die Eingabeweiterleitungstabelle für die tem poräre Transaktions-ID
zu und erhält
die ID der allgemeinen Kontrollobjektinstanz 215. Deshalb
startet der Weiterleitungsprozess 212 die Methode für die generelle
Kontrollobjektinstanz 215 erneut.
-
Die
Methode extrahiert den Verkäuferabschnitt
der eingegebenen Transaktions-ID und und startet eine Instanz 214 des
zugehörigen
Kontrollobjekts für
diesen Verkäufer,
versetzt diese in einen ersten Zustand und kreiert einen neuen Eintrag
in der Eingabeweiterleitungstabelle, die die eingegebene Transaktions-ID
auf die ID der neuen Instanz 214 des transaktionsspezifischen
Kontrollobjekts mappt. Diese Methode addiert dann die folgenden
Reihen zu der Ausgabeweiterleitungstabelle:
Transaktions-ID, "Telefon", Telefonausgabeprozess-ID
Transaktions-ID; "Verkäufer", Internetausgabeprozess-ID
Transaktions-ID; "Finanz", Kommunikationsausgabeprozess-ID.
-
Die
Kontrollobjekte können
in einer Liste angeordnet werden, so dass auf diese durch Referenz
auf ihre Position in der Liste zugegriffen werden kann. Für diesen
Fall ist die ID die Position der Instanz in der Liste. Diese muß selbstverständlich akualisiert
werden, falls ein Kontrollobjekt gelöscht wird und das Zurücksetzen der
Transaktions-IDs sollte ein gebräuchliches
Merkmal bei der Löschung
von Kontrollobjekten sein.
-
Die
Methode der allgemeinen Kontrollobjektinstanz 215 gibt
dann eine "Ersetzungsnachricht" zurück, die
die temporäre
Transaktions-ID und "Telefon" in dem Weiterleitungsabschnitt
und "Ersetzung=[eingegebene Transaktions-ID]" in dem Datenabschnitt
aufweist. Der Weiterleitungsprozess 212 leitet diese Nachricht
an den Telefonausgabeprozess 221 weiter, gemäß dem relevanten
Eintrag für
diese temporäre
Transaktions-ID in der Ausgabeweiterleitungstabelle.
-
Wenn
der Telefonausgabeprozess 221 die Nachricht empfängt, ersetzt
er die temporäre
Transaktions-ID, die von dem Telefoneingabeprozess 216 gespeichert
worden ist, mit der eingegebenen Transaktions-ID und instruiert
dann den Telefoneingabeprozess 216, damit dieser eine "Initial"-Nachricht an den
Weiterleitungsprozess 212 sendet. Diese "Initial"-Nachricht umfasst
die Transaktions-ID und keine Daten.
-
Der
Weiterleitungsprozess 212 sucht dann nach der Kontrollobjekt-ID
für diese
Transaktions-ID in der Eingabeweiterleitungstabelle und erhält dann
die ID für
die neue Instanz 214. Der Weiterleitungsprozess 212 benutzt
diese ID, um eine Methode zum Handhaben der Nachricht durch die
Kontrollobjektinstanz 214 zu starten.
-
Da
die Kontrollobjektinstanz 214 zu dieser Zeit sich in einem
ersten Zustand befindet, erzeugt die gestartete Methode eine Nachricht
für den
Telefonausgabeprozess 221, die die Transaktions-ID und "Telefon" in dem Weiterleitungsabschnitt
und eine "Sende
PIN Anforderung" Anweisung
in dem Datenabschnitt aufweist. Diese Nachricht wird an den Weiterleitungsprozess 212 zurück gegeben
und die Kontrollobjektinstanz 214 geht in einen zweiten
Zustand über.
-
Der
Weiterleitungsprozess 212 erhält die Ausgabeprozess-ID, d.h.
die des Telefonausgabeprozesses 221, für die Kombination der Transaktions-ID
und von "Telefon" von der Ausgabeweiterleitungstabelle
und sendet die Nachricht an den Telefonausgabeprozess 221.
Der Telefonausgabeprozess 221 antwortet auf die "Sende PIN Anforderungs"-Nachricht durch
Verbinden des Ausgangs eines Sprachsynthesizers mit der Telefonleitung
zu dem Telefon 206 des Nutzers und instruiert den Sprachsynthesizer
eine Sprachnachricht auszugeben, die den Nutzer auffordert, seine
PIN einzugeben.
-
Der
Nutzer antwortet auf die Sprachnachricht durch Eingabe seiner PIN
mittels der Tasten des Telefons 206. Der Telefoneingabeprozess 216 erfasst
die DTMF-Signale von dem Telefon 206 und erzeugt eine Nachricht
bestehend aus der Transaktions-ID in dem Weiterleitungsabschnitt
und "pin=[eingegebene
PIN] Nummer = [Telefonnummer des Nutzers]" in dem Datenabschnitt. Diese Nachricht
wird dann an den Weiterleitungsprozess 212 geschickt.
-
Beim
Empfang der PIN-Nachricht erhält
der Weiterleitungsprozess 212 die ID für die Kontrollobjektinstanz 214 aus
der Weiterleitungstabelle und startet die Methode für die Nachrichtenhandhabung
der Kontrollobjektinstanz 214. Die gestartete Methode durchsucht
den Datenabschnitt der Nachricht und entscheidet, dass die PIN einge geben
worden ist und auch dass sie selbst sich im zweiten Zustand befindet.
Die Methode sucht daher nach der Telefonnummer des Nutzers in der
Datenbanktabelle der registrierten Nutzer und vergleicht die PIN
in dem gefundenen Datensatz, falls ein solcher existiert, mit der
eingegebenen PIN.
-
Falls
die PINs übereinstimmen,
erzeugt die Methode eine Nachricht für die Verkäuferseite 202. Diese Nachricht
weist die Transaktions-ID und "Verkäufer" in dem Weiterleitungsabschnitt
auf und "erkannt=[Name]" in dem Datenabschnitt
auf. Diese Nachricht wird dann an den Weiterleitungsprozess 212 zurück gegeben
und die Kontrollobjektinstanz 214 geht in einen dritten
Zustand über.
-
Der
Weiterleitungsprozess 212 erhält die ID des Internetausgabeprozesses 219 von
der Weiterleitungstabelle für
die Transaktions-ID und "Verkäufer" – Kombination. Der Weiterleitungsprozess 212 leitet
dann die Nachricht an den Internetausgabeprozess 219 weiter,
der diese Nachricht an die Verkäuferseite 202 sendet, unter
Verwendung einer eigenen Weiterleitungstabelle, die den Verkäufercodeabschnitt
der Transaktions-ID auf die IP-Adresse mappt bzw. umsetzt.
-
Wenn
die Verkäuferseite 202 die
Nachricht empfängt,
wird das Java-Applet benutzt, um die Webseite zu ändern, die
dem Nutzer angezeigt wird, identifiziert durch den Transaktions-Code,
so dass diese die Nachricht umfasst "Ihre Bestellung wird bearbeitet [Name]", wobei [Name] der
Name des Nutzers ist, empfangen mit der Nachricht.
-
Sobald
diese Änderung
bewirkt worden ist, sendet die Verkäuferseite 202 eine
Nachricht zurück
an den Server 204. Diese Nachricht umfasst die Transaktions-ID
in dem Weiterleitungsabschnitt und "Betrag=[Kosten]" in dem Datenabschnitt.
-
Die "Betrags"-Nachricht wird vom
Interneteingabeprozess 218 empfangen und an den Weiterleitungsprozess 212 durchgereicht.
Der Weiterleitungsprozess 212 erhält die ID von der relevanten
Kontrollobjektinstanz 214 aus der Eingabeweiterleitungstabelle
und startet die Methode für
die Nachrichtenhandhabung der Kontrollobjektinstanz 214.
-
Die
Methode zur Nachrichtenhandhabung durchsucht die eingehende Nachricht
und entscheidet, dass es eine "Betrags"-Nachricht ist und
auch dass sie selbst sich im dritten Zustand befindet. In Abhängigkeit
von dem Inhalt der Nachricht und dem aktuellen Zustand erzeugt die
Methode eine Kreditprüfungs-Nachricht
für die
Finanzserviceseite 207. Diese Nachricht umfasst die Transaktions-ID
und "Finanz" in dem Weiterleitungsabschnitt
und "Betrag=[Kontonummer
aus der Datenbank der Nutzer] Betrag=[Betrag vom Verkäufer] in
dem Datenabschnitt..
-
Die
Kreditprüfungsnachricht
wird durch den Weiterleitungsprozess 212 an die Finanzserviceseite 207 mittels
des Kommunikationsausgabeprozesses 220 weiter geleitet.
Die Finanzserviceseite 207 entscheidet, ob die Transaktion
weiter ablaufen sollte und erzeugt eine passende Nachricht für den Server 204.
Falls mit der Transaktion weiter zu verfahren ist, legt die Finanzserviceseite 207 den
Transaktionscode, die Kontonummer und den Betrag für spätere Überprüfungen ab
und erzeugt eine Nachricht, die die Transaktions-ID in dem Weiterleitungsabschnitt
und "Kredit=gut" in dem Datenabschnitt
aufweist.
-
Diese
Nachricht wird dann mittels des Kommunikationseingabeprozesses 217 an
den Weiterleitungsprozess 212 durchgereicht, der dann die
Methode zur Handhabung der Nachricht durch die Kontrollobjektinstanz 214 startet.
Die Methode antwortet auf diese Nachricht durch Erzeugung einer "Transaktion bestätigt"-Nachricht, die an
den Weiterleitungsprozess 212 zurück gegeben wird und die die
an die Verkäuferseite 202 geschickt
wird, wie oben beschrieben und geht in einen vierten Zustand über. Die
Verkäuferseite 202 antwortet
durch Anzeigen einer "Transaktion
vollständig"-Nachricht auf der Transaktions-Webseite,
gemeinsam mit einer Anweisung aufzulegen, indem das Java-Applet
benutzt wird und eine "vollständig"-Nachricht zurück an den
Server 204 geschickt wird.
-
Falls
die Transaktion nicht weiter geführt
wird, erzeugt die Finanzserviceseite 207 eine Nachricht,
die die Transaktions-ID in dem Weiterleitungsabschnitt und "Kredit=schlecht" in dem Datenabschnitt
enthält.
-
Die
Nachricht wird an den Weiterleitungsprozess 214 durchgereicht,
der dann die Methode zur Handhabung der Nachricht der Kontrollobjektinstanz 214 startet.
Die Methode antwortet auf diese Nachricht durch Erzeugen einer "Transaktion nicht
bestätigt"-Nachricht, die an
den Weiterleitungsprozess 212 zurück gegeben wird und die an
die Verkäuferseite 202 geschickt
wird und durch Übergang
in einen fünften
Zustand. Die Verkäuferseite 202 antwortet
durch Anzeige einer "Transaktion
zurück
gewiesen"-Nachricht
auf der Transaktionswebseite, umfassend eine Anweisung aufzulegen
und den Eigentümer
des Finanzserviceservers 207 zu kontaktieren, indem das
Java-Applet benutzt wird und eine "vollständig"-Nachricht zurück an den Server 204 geschickt
wird.
-
Die
komplette "vollständig"-Nachricht wird wie
oben beschrieben an die Methode zur Handhabung der Nachrichten durch
die Kontrollobjektinstanz 214 weiter geleitet. Die Methode
erzeugt dann eine "Abschluss"-Nachricht für den Telefonausgabeprozess 221,
und zwar in diesem Fall unabhängig
davon, ob sie sich im vierten oder fünften Zustand befindet und
geht in einen sechsten Zustand über.
Diese Nachricht wird an den Weiterleitungsprozess 212 zurück gegeben
und an den Telefonausgabeprozess 221 geschickt. Der Telefonausgabeprozess 221 antwortet
darauf, indem er bewirkt, dass die digitale Telefonschnittstelle
auflegt, und den Telefoneingabeprozess 216 anweist, eine "außer Gebrauch"-Nachricht an den
Weiterleitungsprozess 212 zu schicken und löscht den
lokalen Datensatz mit der Transaktions-ID und den zugehörigen Daten.
-
Die "außer Gebrauch"-Nachricht wird an
die Kontrollobjektinstanz 214 weiter geleitet, die durch
Ausführung
einer Lösch-Methode
darauf reagiert. Die Methode zum Löschen entfernt die Einträge in der
Weiterleitungstabelle für
die zugehörige
Transaktions-ID und setzt die Kontrollobjektinstanzen-IDs für die Kontrollobjekte
zurück,
die sich unter ihr selbst in der Liste der Kontrollobjektinstanzen
finden.
-
Unter
Bezugnahme von insbesondere auf die 14 werden
dort Nachrichten, die oben nicht beschrieben sind, sowohl hinsichtlich
des Inhalts als auch des Timings, ignoriert und beeinflussen den
Zustand der Kontrollobjektinstanz 214 nicht.
-
Falls
die Finanzseite 207 oder die Serverseite 204 von
oder gemeinsam mit der Telefongesellschaft des Nutzers betrieben
wird, so können
die Käufe
des Nutzers auf der Telefonrechnung erscheinen, so dass der Nutzer
für diese
Käufe bezahlen
kann, wenn er seine Telefonrechnung bezahlt.
-
Es
ist offensichtlich, dass das oben beschriebene System ein verkürzt beschriebenes
System ist, und dass noch viel komplexere Sätze an Statussen und Status-Transitionen eingesetzt
werden können,
inklusive der Ausnahmenbehandlung. Es kann auch erkannt werden,
dass die Kontrollobjekte für
die Verkäuferseiten individuell
maßgeschneidert
werden können,
die in das System aufgenommen werden. Zum Beispiel können die
Anweisungen, die an die Verkäuferseite
geschickt werden, unterschiedlicher Natur sein, und zwar da bei verschiedenen
Verkäuferseiten
unterschiedliche Software im Einsatz ist.
-
Während das
oben beschriebene System mit Bezugnahme auf eine aktive Sitzung
mit einer spezifischen Kontrollobjektinstanz beschrieben worden
ist, ist es offensichtlich, dass die Weiterleitungstabellen bedeuten,
dass eine Vielzahl von Instanzen von solchen Kontrollobjekten des
gleichen oder vom unterschiedlichen Typ gleichzeitig unterstützt werden
können,
wodurch simultane Transaktionen ermöglicht werden.
-
Bei
einem anderen System stellt ein Verkäufer eine Transaktionsseite
zur Verfügung,
und zwar in Form eines HTML-Formblatts. Wenn ein Nutzer der Benutzerseite 203 es
wünscht
einen Kauf zu tätigen,
so wird der Nutzer zum Beispiel einen "Einkaufskorb" mit virtuellen Gegenständen füllen, und
schickt dann die URL der Transaktionsseite des Verkäufers ab,
indem er für
gewöhnlich
auf einen Link klickt. Die Transaktionsseite umfasst den Namen eines
Nutzers, sowie Textkästchen
für das
Kennwort und der Nutzer füllt
diese aus, indem er die Tastatur seines Computers benutzt und klickt
dann auf einen "Sende-Knopf" auf der Transaktionsseite.
Ein CGI-Programm erzeugt eine Initialisierungs-Nachricht für den Server 204 in
Antwort auf die weiter geleitete Aktions-URL. Diese Nachricht enthält einen
Code, der eine einmalige Transaktions-ID in dem Weiterleitungsabschnitt und "Quelle=Verkäufer" in dem Datenabschnitt
beinhaltet, und diese Nachricht wird an den Server 204 mittels
des Internets 201 geschickt.
-
Der
Interneteingabeprozess 218 empfängt diese Nachricht von der
Verkäuferseite 202 und
leitet diese an den Weiterleitungsprozess 212 weiter.
-
Der
Weiterleitungsprozess 212 greift auf die Eingabeweiterleitungstabelle
zu und wird keinen Eintrag für
diese Transaktions-ID finden. Als Standardmaßnahme entscheidet er daher,
dass er die ID der allgemeinen Kontrollobjektinstanz 220 für das Weiterleiten
der Nachricht benutzen sollte. Der Weiterleitungsprozess 212 startet
eine Methode der allgemeinen Kontrollobjektinstanz 220,
wobei die Nachricht als ein Parameter weiter gegeben wird.
-
Diese
Methode erzeugt einen Datensatz in der Ausgabeweiterleitungstabelle
für die
Transaktions-ID, so dass das Zielfeld auf "Verkäufer" gesetzt wird und
die Ausgabeprozess-ID auf die ID des Internetausgabeprozesses 219 gesetzt
wird. Die Methode extrahiert auch den Verkäuferanteil der eingegebenen
Transaktions-ID und startet eine Instanz 214 des zugehörigen Kontrollobjektes
für diesen
Verkäufer,
wobei dieses in einen ersten Zustand versetzt wird, und erzeugt
einen neuen Eintrag in der Eingabeweiterleitungstabelle, indem die
eingegebene Transaktions-ID auf die ID der neuen Instanz 214 des
transaktionsspezifischen Kontrollobjekts gemappt wird. Die Methode
addiert dann die folgenden Reihen zu der Ausgabeweiterleitungstabelle:
Transaktions-ID; "Verkäufer", Internetausgabeprozess-ID
Transaktions-ID; "Finanz", Kommunikationsausgabeprozess-ID.
-
Die
Kontrollobjekte können
in einer Liste angeordnet werden, so dass auf sie über eine
Referenz bzw. einen Verweis auf die Position in der Liste zugegriffen
werden kann. Für
diesen Fall ist die ID die Position der Instanz in der Liste. Dies
muss jedoch selbstverständlich
aktualisiert werden, wenn ein Kontrollobjekt gelöscht wird und das Zurücksetzen
der Transaktions-ID sollte ein gewöhnliches Merkmal beim Löschen der
Kontrollobjekte sein.
-
Die
Methode der allgemeinen Kontrollobjektinstanzen 215 gibt
dann eine Sende-Einzelheit-Nachricht zurück, die
die Transaktions-ID und "Verkäufer" in dem Weiter leitungsabschnitt
und eine "Sende
Einzelheiten"-Anweisung
in dem Datenabschnitt umfasst. Diese Nachricht wird an den Weiterleitungsprozess 212 zurück gegeben.
-
Der
Weiterleitungsprozess 212 erhält die Ausgabeprozess-ID, d.h.
die des Internetausgabeprozesses 219, für die Kombination aus Transaktions-ID
und "Verkäufer" von der Ausgabeweiterleitungstabelle
und sendet die Nachricht an den Internetausgabeprozess 219,
der sie wiederum an die Verkäuferseite 202 sendet.
-
Das
CGI-Programm antwortet auf die "Sende
Einzelheiten"-Nachricht
durch Erzeugung einer Nachricht, die die Transaktions-ID in dem
Weiterleitungsabschnitt und "Nutzer
= [Nutzername] Kennwort = [Kennwort] Betrag = [Betrag] in dem Datenabschnitt
enthält.
Diese Methode wird dann an den Weiterleitungsprozess 212 auf
dem Server 204 geschickt.
-
Beim
Empfang der "Einzelheiten"-Nachricht entnimmt
der Weiterleitungsprozess 212 die ID für die Kontrollobjektinstanz 214 aus
der Weiterleitungstabelle und startet die Methode zur Nachrichtenbehandlung der
Kontrollobjektinstanz 214. Die gestartete Methode durchsucht
den Datenabschnitt der Nachricht und entscheidet, ob die Einzelheiten
erhalten worden sind und auch, dass sie sich selbst in einem ersten
Zustand befindet. Der Nutzername und das Kennwort benutzen eine
Datenbanktabelle für
die registrierten Nutzer.
-
Falls
der Nutzername und das Kennwort mit einem Datensatz in der Datenbank
für die
registrierten Nutzer übereinstimmt,
erzeugt die Methode eine Kreditüberprüfungs-Nachricht für die Finanzserviceseite 207. Diese
Nachricht umfasst die Transaktions-ID und "Finanz" in dem Weiterleitungsabschnitt und "Konto = [Kontonummer
aus der Nutzerdatenbank] Betrag = [Betrag vom Verkäufer] in
dem Datenabschnitt..
-
Diese
Kreditüberprüfungsnachricht
wird von dem Weiterleitungsprozess 212 an die Finanzserviceseite 207 mittels
des Kommunikationsausgabeprozesses 220 weiter geleitet.
Die Finanzserviceseite 207 entscheidet, ob die Transaktion
weiter gehen soll und erzeugt eine geeignete Nachricht für den Server 204.
Falls die Transaktion weiter gehen soll, so legt (speichert) die
Finanzserviceseite 207 den Transaktionscode, die Kontonummer
und den Betrag für
spätere Überprüfungen ab
und erzeugt eine Nachricht, die die Transaktions-ID in dem Weiterleitungsabschnitt
und "Kredit = gut" in dem Datenabschnitt
enthält.
-
Die
Nachricht wird weiter geleitet, und zwar über den Kommunikationseingabeprozess 217,
an den Weiterleitungsprozess 212, der dann die Methode
zur Handhabung der Nachricht durch die Kontrollobjektinstanz 214 startet.
Die Methode antwortet auf diese Nachricht durch Erzeugen einer "Transaktion bestätigt"-Nachricht, die an
den Weiterleitungsprozess 212 zurück gegeben wird und die an
die Verkäuferseite 202 gesendet
wird, wie oben beschrieben, und geht in einen dritten Zustand über. Die
Verkäuferseite 202 antwortet durch
Anzeige einer Seite mit "Transaktion
vollständig
erfolgreich" und
sendet eine "vollständig"-Nachricht zurück an den
Server 204.
-
Falls
die Transaktion nicht weiter verfolgt werden soll, erzeugt die Finanzserviceseite 207 eine
Nachricht, die die Transaktions-ID in dem Weiterleitungsabschnitt
und "Kredit = schlecht" in dem Datenabschnitt
enthält.
-
Die
Nachricht wird an den Weiterleitungsprozess 214 gereicht,
der dann die Methode zur Handhabung der Nachricht durch die Kontrollobjektinstanz 214 startet.
Die Methode antwortet auf diese Nachricht durch Erzeugen einer "Transaktion nicht
bestätigt"-Nachricht, die an
den Weiterleitungsprozess 212 zurück gegeben wird und die an
die Verkäuferseite 202 gesendet
wird, wie oben beschrieben, und geht in einen vierten Zustand über. Die
Verkäuferseite 202 antwortet
durch Anzeige einer Seite mit "Transaktion
zurückgewiesen", inklusive einer
Anweisung den Inhaber des Finanzserviceservers 207 zu kontaktieren
und sendet eine "vollständig"-Nachricht zurück an den
Server 204.
-
Die "vollständig"-Nachricht wird wie
oben beschrieben an die Methode zur Handhabung der Nachricht durch
die Kontrollobjektinstanz 214 weiter geleitet. Die Kontrollobjektinstanz 214 antwortet
durch Ausführung einer
Löschmethode.
Die Löschmethode
löscht
die Einträge
in der Weiterleitungstabelle für
die zugehörige Transaktions-ID
und setzt die Kontrollabjektinstanz-IDs für diese Kontrollobjekte, die
sich unterhalb davon in der Liste der Kontrollobjektinstanzen befinden,
zurück.
-
Ein
drittes System einer Ausführungsform
nach der vorliegenden Erfindung wird im folgenden beschrieben.
-
Unter
Bezugnahme auf die 15 umfasst ein interaktives
Fernsehsystem eine Masterstation 300, einen Server 301,
der mit der Masterstation 300 verbunden ist, einen Fernsehprozessor 302 und
einen Kommunikationsprozessor 303. Der Fernsehprozessor 302 und
der Kommunikationsprozessor 303 sind mit dem Server 301 verbunden,
um mit diesem Nachrichten auszutauschen. Ein Audiosignalweg ist
zwischen dem Fernsehprozessor 302 und dem Kommunikationsprozessor 303 vorgsehen.
Das System umfasst auch einen Fernsehtransmitter 305, um
Fernsehsignale, die von dem Fernsehprozessor 302 erzeugt
worden sind, zu übertragen,
erste und zweite Fernsehgeräte 306 und 307,
die die Fernsehsignale empfangen, die vom Transmitter 305 gesendet
werden, und erste und zweite digitale mobile Telefone 308 und 309,
die sich jeweils in der Nähe
des ersten und des zweiten Fernsehgeräts 306, 307 befinden.
-
Der
Fernsehprozessor 302 ist verbunden, um die Signale von
einer Videokamera 310 und von einem Videoband 311 zu
empfangen. Der Fernsehprozessor 302 kann ebenso grafische
Abbildungen und Textabbildungen erzeugen, und zwar unter Programm-Kontrolle.
-
Der
Kommunikationsprozessor 303 kann auch eine Reihe von Telefongesprächen abwickeln,
z.B. gleichzeitig mit den mobilen Telefonen 308 und 309,
und er ist mit einer Bank von Telefon-Terminals 312 verbunden.
-
Der
Server 301 ist im allgemeinen verantwortlich für Signale
von dem Kommunikationsprozessor 303 und sendet Kommandosignale
an den Fernsehprozessor 302 aus und zurück an den Kommunikationsprozessor 303.
-
Die
Masterstation 300 wird benutzt, um den Server 301 zu
kontrollieren, d.h. dessen Betriebsablauf zu initialisieren und
um Kontrolldateien an den Server 301 zu versenden, sowie
den Betrieb des Servers zu definieren.
-
Unter
Bezugnahme auf die 16 ist dort gezeigt, dass ein
Fernsehbild, welches durch den Fernsehprozessor 302 erzeugt
worden ist, für
ein Diskussionsprogramm ist, und umfasst ein Hauptbild 320,
welches eine Diskussionsgruppe zeigt, welches von dem Band 311 erhalten
wird, und erste, zweite, dritte und vierte Einblendungen bzw. Overlays 321, 322, 323, 324.
Das erste Overlay 321 umfasst eine grafische Darstellung, die
JA- und NEIN-Stimmen zeigt, die von der Öffentlichkeit in Reaktion auf
die Diskussion und eine erste Telefonnummer abgegeben worden sind.
Das zweite Overlay 322 zeigt ein Videobild eines Experten,
welches mit der Videokamera 310 aufgenommen wurde, wobei
der Experte einen Kommentar zu der Diskussion abgibt, die in dem
Hauptbild abläuft,
sowie eine zweite Telefonnummer angezeigt ist. Das dritte Overlay 323 zeigt
das Bild eines Telefons und eine dritte Telefonnummer. Das Bild
des Telefons ist eine Einladung an Zuseher eine "Hilfestelle" anzurufen, die mit dem Thema der Diskussion
befasst ist. Das vierte Overlay 324 enthält ein Bild eines
Notizblockes und einen Kommunikations-"Blitz" und eine vierte Telefonnummer. Das
Bild in dem vierten Overlay 324 ist eine Einladung an die
Zuseher nach zusätzlicher
Information nachzufragen.
-
Wenn
das Fernsehprogramm, welches in der 16 gezeigt
ist, übertragen
werden soll, so sendet ein Betriebsleiter eine Startsignal von der
Masterstation 300 an den Server 301. Der Server 301 reagiert
durch Initialisierung der Statusmaschinenkontrollobjektinstanzen,
die mit jedem der Overlays 321, 322, 323 und 324 verbunden
sind.
-
Der
Betrieb der vorliegenden Ausführungsform
mit Bezug zu dem ersten Overlay 321 wird im folgenden beschrieben.
-
Falls
ein Zuseher die erste Nummer wählt,
indem er sein Telefon 308 und 309 benutzt, so
wird der Anruf von dem Kommunikationsprozessor 303 beantwortet.
Der Kommunikationsprozessor 303 erzeugt dann eine Nachricht,
die eine Wahl-"Funktions-ID" in dem Weiterleitungsabschnitt
und "Neuer Anruf
= [Kanal Nr.]" in
dem Datenabschnitt aufweist. Die Kanalnummer identifiziert einen
logischen Kanal, den der Kommunikationsprozessor benutzen kann,
um Signale an den neuen Anrufer zu senden. Diese Nachricht wird
dann an den Server 301 geschickt.
-
Die
Nachricht wird von einem Weiterleitungsprozess auf dem Server 301 empfangen,
der die ID der Kontrollobjektinstanz für das erste Overlay 321 aus
einer Eingabeweiterleitungstabelle entnimmt, unter Einsatz der Masterstation 301 ein
Setup ausführt
und den Weiterleitungsabschnitt der Nachricht benutzt. Der Weiterleitungsprozess
startet dann eine Methode zur Handhabung der Nachricht einer geeigneten
Kontrollobjektinstanz. Die Methode reagiert auf die Nachricht durch
Erzeugen einer "Spiele
Einladung ab"-Nachricht,
die die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal-Nr.]
= Spiele Einladung" in
dem Datenabschnitt aufweist. Diese Nachricht wird an den Weiterleitungsprozess
zurück
geleitet, der sie an den Kommunikationsprozessor 303 schickt,
nachdem das Ziel in einer Ausgabeweiterleitungstabelle heraus gesucht
worden ist, ein Setup ausgeführt
wurde, indem die Masterstation benutzt wird und der Weiterleitungsabschnitt
der Nachricht.
-
Wenn
der Kommunikationsprozessor 303 die Nachricht empfängt, reagiert
dieser indem er eine Audiodatei abspielt, und den Anrufer auffordert
die "1" für JA oder
die "0" für NEIN zu
drücken,
und zwar über
den logischen Kanal, der in der Nachricht spezifiziert ist. Der
Kommunikationsprozessor 303 wartet dann darauf, dass eine
Zahl eingegeben wird. Falls eine "1" oder
eine "0" durch den Anrufer
eingegeben wird, legt der Kommunikationsprozessor 303 auf
und erzeugt eine "Abgestimmt"-Nachricht, die die
Funktions-ID in dem Weiterleitungsabschnitt und "Stimme=[ja/nein]" in dem Datenabschnitt enthält.
-
Die "Abstimm"-Nachricht wird an
die passende Kontrollobjektinstanz weiter geleitet, die reagiert,
indem sie einen lokalen Datensatz von Ja- und Nein-Stimmen wie erforderlich
aktualisiert und die Anzahl der Stimmen hochzählt. Falls die Anzahl der Stimmen
eine bestimmte Anzahl erreicht, so wird der prozentualle Anteil
der Ja-Stimmen berechnet und die Zählung auf NULL zurück gesetzt.
Eine Nachricht, die die Funktions-ID und "video" im Weiterleitungsabschnitt und "Prozentsatz = [Prozentsatz]" in dem Datenabschnitt
enthält,
wird dann an den Weiterleitungsprozess zurück gegeben und an den Fernsehprozessor 302 geschickt.
Falls die Zählung
die bes timmte Anzahl noch nicht erreicht hat, so wird eine leere
Nachricht an den Weiterleitungsprozess zurück geschickt, der diese dann
ignoriert.
-
Falls
der Fernsehprozessor 302 die "Prozentsatz"-Nachricht erhält, so wird die Grafik in dem
ersten Overlay 321 neu gezeichnet, um das neue Verhältnis zwischen
Ja- und Nein-Stimmen zu illustrieren.
-
Der
Betriebsablauf der vorliegenden Ausführungsform mit Bezug zu dem
zweiten Overlay 322 wird im folgenden beschrieben.
-
Falls
ein Zuseher die zweite Nummer anwählt, indem er seine Telefone 308 und 309 benutzt,
so wird der Anruf von dem Kommunikationsprozessor 303 beantwortet.
Der Kommunikationsprozessor 303 erzeugt dann eine Nachricht,
die eine Audiozufuhr-"Funktions-ID" in einem Weiterleitungsabschnitt
und "neuer Anruf
= [Kanal Nr.]" in
einem Datenabschnitt enthält.
Die Nummer des Kanals identifiziert einen logischen Kanal, den der
Kommunikationsprozessor 303 benutzen kann, um Signale an
den neuen Anrufer zu senden. Diese Nachricht wird dann an den Server 301 geschickt.
-
Die
Nachricht wird vom Weiterleitungsprozess am Server 301 empfangen,
der die ID der Kontrollobjektinstanz für das zweite Overlay 322 von
der Eingabeweiterleitungstabelle erhält. Der Weiterleitungsprozess startet
dann eine Methode zur Handhabung der Nachricht der passenden Kontrollobjektinstanz.
Die Methode reagiert auf die Nachricht, indem eine "Audiozufuhr"-Nachricht erzeugt
wird, die die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]
= feed audio" in
dem Datenabschnitt enthält.
Diese Nachricht wird an den Weiterleitungsprozess zurück gegeben,
der sie wiederum an den Kommunikationsserver 303 schickt,
nachdem dieser das Ziel aus der Ausgabeweiterleitungstabelle heraus
gesucht hat.
-
Wenn
der Kommunikationsprozessor 303 die Nachricht empfangen
hat, reagiert er durch Verbinden der Audiozufuhr von dem Fernsehprozessor 302 mit
dem logischen Kanal, der in der Nachricht spezifiziert worden ist.
In der Folge kann der Zuseher den Experten über sein Telefon 308, 309 hören.
-
Wenn
der Zuseher auflegt, erzeugt der Kommunikationsprozessor 303 eine
Nachricht, die eine Audiozufuhr-"Funktions-ID" in einem Weiterleitungsabschnitt
und "[Kanal Nr.]
= aufgelegt" in
einem Datenabschnitt enthält.
Diese Nachricht wird dann an den Server 301 geschickt.
-
Die
Nachricht wird vom Weiterleitungsprozess am Server 301 empfangen,
die die ID der Kontrollobjektinstanz für das zweite Overlay 322 aus
einer Eingabeweiterleitungstabelle ausliest. Der Weiterleitungsprozess
startet dann die Methode zur Handhabung der Nachricht der passenden
Kontrollobjektinstanz. Diese Methode reagiert auf die Nachricht
durch Erzeugen einer "außer Gebrauch"-Nachricht, die die
Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal-Nr.]
= außer
Gebrauch" in dem
Datenabschnitt enthält. Diese
Nachricht wird an den Weiterleitungsabschnitt zurück gegeben,
der sie an den Kommunikationsprozessor 303 schickt, nachdem
er das Ziel über
die Ausgabeweiterleitungstabelle heraus gesucht hat.
-
Der
Kommunikationsprozessor 303 reagiert durch Unterbrechung
der Verbindung zwischen der Audiozufuhr von dem Fernsehprozessor 302 und
dem spezifischen logischen Kanal und gibt die Telefonleitung frei, die
mit dieser spezifischen Kanalnummer assoziiert ist.
-
Der
Betrieb der vorliegenden Ausführungsform
mit bezug zu dem dritten Overlay 323 wird im folgenden
beschrieben.
-
Falls
ein Zuseher die dritte Nummer wählt,
indem er sein Telefon 308 oder 309 benutzt, so
wird der Anruf durch den Kommunikationsprozessor 303 beantwortet
bzw. entgegengenommen. Der Kommunikationsprozessor 303 erzeugt
dann eine Nachricht, die eine Telefon"Funktions-ID" in einem Weiterleitungsabschnitt und "neuer Anruf = [Kanal
Nr.]" in einem Datenabschnitt
enthält.
Die Kanalnummer identifiziert einen logischen Kanal, den der Kommunikationsprozessor 303 benutzen
kann, um Signale an den neuen Anrufer zu senden. Diese Nachricht
wird an den Server 301 geschickt.
-
Die
Nachricht wird vom Weiterleitungsprozess am Server 301 empfangen,
der die ID der Kontrollobjektinstanz für das dritte Overlay 323 aus
der Eingabeweiterleitungstabelle entnimmt. Der Weiterleitungsprozess
startet dann eine Methode zur Behandlung der Nachricht durch eine
passende Kontrollobjektinstanz. Die Methode reagiert auf die Nachricht
durch Auswahl der ID eines freien Telefon-Terminals 312 aus
einer Liste davon, durch Setzen einer Besetztmarkierung (busy flag),
die dem Terminal zugeordnet ist, und zwar auf "Wahr",
sowie durch Erzeugen einer "Verbunden"-Nachricht, die die
Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]=[Terminal
ID]" in dem Datenabschnitt
enthält.
Diese Nachricht wird an den Weiterleitungsprozess zurück geschickt,
der sie an den Kommunikationsprozessor 303 weiter leitet,
nachdem das Ziel in der Ausgabeweiterleitungstabelle heraus gesucht
worden ist.
-
Wenn
der Kommunikationsprozessor 303 die Nachricht erhält, reagiert
er, indem er eine Verbindung zwischen dem spezifischen Telefonterminal 312 und
dem logischen Kanal herstellt, der in der Nachricht angegeben ist.
Der Zuseher kann dann mit der Bedienperson des spezifischen Telefonterminals
sprechen.
-
Falls
der Zuseher auflegt, erzeugt der Kommunikationsprozessor 303 eine
Nachricht, die eine Telefon="Funktions-ID" in einem Weiterleitungsabschnitt
und "[Kanal-Nr.]=
aufgelegt" in einem
Datenabschnitt aufweist. Diese Nachricht wird dann an den Server 301 geschickt.
-
Falls
die Bedienperson des Telefonterminals 312 einen Anruf beendet,
erzeugt der Kommunikationsprozessor 303 eine Nachricht,
die eine Telefon"Funktions-ID" in einem Weiterleitungsabschnitt
und "[Terminal-Nr.]
= beendet" in einem
Datenabschnitt enthält.
Diese Nachricht wird dann an den Server 301 geschickt.
-
Wenn
die "aufgelegt"- oder "beendet"-Nachricht durch
den Weiterleitungsprozess an dem Server 301 empfangen wird,
startet der Weiterleitungsprozess die Methode zur Handhabung der
Nachricht der passenden Kontrollobjektinstanz. Diese Methode reagiert
auf die Nachricht, indem eine "unterbrochen"-Nachricht erzeugt wird,
die die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]
= unterbrochen" in
dem Datenabschnitt enthält.
Diese Nachricht wird an den Weiterleitungsprozess zurück geschickt,
der sie zu dem Kommunikationsprozessor 303 schickt, nachdem
das Ziel aus der Ausgabeweiterleitungstabelle heraus gesucht worden
ist.
-
Der
Kommunikationsprozessor 303 reagiert durch Unterbrechen
der Verbindung zwischen dem Telefonterminal 312 und dem
spezifischen logischen Kanal und gibt die Telefonleitung frei, die
mit diesem spezifischen logischen Kanal assoziert ist. Der Kommunikationsprozess 303 sendet
dann eine "vollständig"-Nachricht, die die
Funktions-ID in dem Weiterleitungsabschnitt und "[Kanal Nr.] = vollständig" enthält an den Server 301.
An dem Server 301 wird diese Nachricht zu der passenden
Kontrollobjektinstanz weiter geleitet, die reagiert, indem sie eine
Besetztmarkierung für
das Telefonterminal auf "Unwahr" setzt und eine leere
Nachricht zurück
gibt.
-
Der
Betriebsablauf der vorliegenden Ausführungsform wird nun mit Bezug
zu dem vierten Overlay 324 beschrieben.
-
Wenn
ein Zuseher die vierte Nummer wählt,
indem er mit seinem Telefon 308 oder 309 wählt bzw.
dieses benutzt, dann wird der Anruf von dem Kommunikationsprozessor 303 entgegengenommen.
Der Kommunikationsprozessor 303 erzeugt dann eine Nachricht,
die eine Informations"Funktions-ID" in einem Weiterleitungsabschnitt
und "neuer Anruf
= [Kanal Nr.]" in
einem Datenabschnitt enthält.
Die Kanalnummer identifiziert einen logischen Kanal, den der Kommunikationsprozessor 303 benutzen
kann, um Signale an den neuen Anrufer zu senden. Diese Nachricht
wird dann an den Server 301 geschickt.
-
Die
Nachricht wird vom Weiterleitungsprozess an dem Server 301 empfangen,
der die ID der Kontrollobjektinstanz für das vierte Overlay 324 aus
der Eingabeweiterleitungstabelle entnimmt. Der Weiterleitungsprozess
startet dann eine Methode zur Handhabung der Nachricht durch die
passende Kontrollobjektinstanz. Die Methode reagiert auf die Nachricht,
indem sie eine "Optionen"-Nachricht ("play options") erzeugt, die die Funktions-ID
und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]
= Optionen" in dem
Datenabschnitt enthält.
Diese Nachricht wird an den Weiterleitungsprozess zurück gegeben,
der sie an den Kommunikationsprozessor 303 schickt, nachdem
das Ziel aus der Ausgabeweiterleitungstabelle heraus gesucht worden
ist.
-
Wenn
der Kommunikationsprozessor 303 die Nachricht empfängt, reagiert
er durch Abspielen einer Audiodatei, wobei dem Anrufer gesagt wird,
dass er zusätzliche
Informationen erhalten kann, wenn er "1" für den SMS-Dienst, "2" für
Email und "3" für Fax oder "0" für
Abbrechen drückt,
und zwar über
den logischen Kanal, der in der Nachricht spezifiziert ist. Der
Kommunikationsprozessor 303 wartet dann, bis eine Zahl
eingegeben worden ist. Wenn eine "1", "2", "3" oder "0" durch den Anrufer eingegeben worden
ist, erzeugt der Kommunikationsprozessor 303 eine "Modus"-Nachricht, die die Funktions-ID in dem
Weiterleitungsabschnitt und "Modus
= [eingegebene Zahl]" in
dem Datenabschrnitt enthält.
-
Diese "Modus"-Nachricht wird dann
zu der passenden Kontrollobjektinstanz an dem Server 301 weitergeleitet.
-
Falls
der Modus "0" ist, so gibt die
Methode eine "außer Gebrauch"-Nachricht zurück, die
die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]=
außer
Gebrauch" enthält, die
an den Kommunikationsserver 303 geschickt wird. Der Kommunikationsserver 303 reagiert
in diesem Fall durch Beendigung des Telefonanrufes, der durch die
Kanalnummer identifiziert ist.
-
Falls
der Modus "1", "2" oder "3" ist,
gibt die Methode eine "Hole
Nummer"-Nachricht
zurück,
die die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]
= Hole Nummer" in
dem Datenabschnitt enthält.
Diese Nachricht wird an den Kommunikationsprozessor 303 geschickt,
der reagiert, indem er eine "Telefonnummer"-Nachricht erzeugt,
die die Funktions-ID in dem Weiterleitungsabschnitt und "Nummer = [Telefonnummer]" enthält. Die
Telefonnummer für
diesen Anrufer wird über
eine Anruferleitungsindentifikation (caller line identification
= CLI) heraus gefunden. Die "Telefonnummer"-Nachricht wird an
den Server 301 geschickt, wonach sie zu der Methode für die Handhabung
der Nachricht durch die passende Kontrollobjektinstanz gesendet
wird.
-
Die
Methode sucht den SMS-Service, die Email oder Fax-Adresse bzw. -nummer
des Zusehers heraus, und zwar aus einer Datenbank für die registrierten
Nutzer, in Abhängigkeit
von dem Inhalt der vorhergehend erhaltenen Modus-Nachricht. Falls
es keinen Eintrag für
die Telefonnummer gibt, gibt die Methode eine "nicht registriert"-Nachricht
zurück,
die die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]
= nicht registriert" in
dem Datenabschnitt enthält,
die dann an den Kommunikationsprozessor 303 geschickt wird.
Der Kommunikationsprozessor 303 reagiert auf diese Nachricht
durch Abspielen einer Audiodatei über den spezifischen Kanal
und durch Auflegen bzw. Freigeben der Leitung. Die Audiodatei gibt
dem Zuseher Anweisungen für
die Registrierung, d.h. mittels Telefon oder Email oder über eine
Webseite mit einem Formular.
-
Falls
der Modus "1" ist und eine SMS-Servicenummer
gefunden worden ist, schickt die Methode eine Nachricht ab, die
die Funktions-ID und "comms" in dem Datenabschnitt
und "[Kanal Nr.]=[SMS-Servicenummer]
in dem Datenabschnitt enthält,
und zwar an den Kommunikationsserver 303. Der Kommunikationsserver 303 reagiert
durch Abspielen einer Audiodatei mittels des spezifischen Kanals,
um den Nutzer zu informieren, dass die Information mittels eines
SMS-Service geschickt wird und dann gibt er die Leitung wieder frei.
Dann sendet er die Information, die vorher gespeichert worden ist,
an den Kommunikationsprozess 303, und zwar in einer Serie
von SMS-Nachrichten, die an das mobile Telefon 308, 309 des
Nutzers geschickt werden.
-
Falls
der Modus "2" ist und eine Email-Adresse
gefunden worden ist, sendet die Methode eine Nachricht ab, die die
Funktions-ID und "Master" in dem Datenabschnitt
und "Sende = [Email-Adresse,
Kanal Nr.] in dem Datenabschnitt enthält, und zwar an die Masterstation 300.
Die Masterstation 300 reagiert durch Hinzufügen der
Email-Adresse zu
einer Liste von Adressen, an die die Information zu schicken ist
und schickt dann eine "spooled"-Nachricht an den
Server 301, die die Funktions-ID in dem Weiterleitungsabschnitt
und "[Kanal Nr.]="spooled" in dem Datenabschnitt
enthält.
Diese Nachricht wird auf normalen Wegen an die Methode zur Handhabung
der Nachrichten durch die passende Kontrollobjektinstanz geschickt.
-
Auf ähnliche
Art und Weise, falls der Modus gleich "3" ist
und eine Faxnummer gefunden worden ist, sendet die Methode eine
Nachricht mit der Funktions-ID und "Master" in dem Datenabschnitt und "Sende = [Faxnummer,
Kanalnummer] in dem Datenabschnitt an die Masterstation 300.
Die Masterstation 300 reagiert durch Hinzufügen der
Faxnummer zu einer Liste von Faxnummern, an die die Information
geschickt werden soll, und sendet dann eine "spooled"-Nachricht, die die Funktions-ID in
dem Weiterleitungsabschnitt und "[Kanal
Nr.] = spooled" in
dem Datenabschnitt enthält,
an den Server 301. Diese Nachricht wird auf normalem Weg an
die Methode zur Handhabung der Nachrichten durch die passende Kontrollobjektinstanz
geschickt.
-
Beim
Empfang der "spooled"-Nachricht gibt die
Methode eine "spool-Bericht"-Nachricht zurück, die die Funktions-ID und "comms" in dem Weiterleitungsabschnitt
und "[Kanal Nr.]
= spooled" in dem
Datenabschnitt enthält,
die dann wiederum an den Kommunikationsprozessor 303 geschickt
wird.
-
Der
Kommunikationsserver 303 reagiert bzw. antwortet durch
Abspielen einer Audiodatei über
den spezifischen Kanal, um den Nutzer zu informieren, dass die Information
durch die ausgewählte
Methode an ihn geschickt wird und gibt dann die Leitung wieder frei.
-
Wenn
das Programm beendet wird, bewirkt eine Bedienperson an der Masterstation,
dass die Masterstation ein "Herunterfahren"-Kommando an den
Server 301 schickt, der dann alle ausstehenden Transaktionen vervollständigt und
die Verarbeitung der Nachrichten von dem Kommunikationsprozessor 303 beendet.
Der Server 301, der Fernsehprozessor 302 und der
Kommunikationsprozessor 303 können dann rekonfiguriert werden,
und zwar für
ein anderes Fernsehprogramm.
-
Es
ist anzumerken, dass die Funktionen, die mit den verschiedenen Overlays
verbunden sind, untereinander keine Beziehung zueinander haben.
In der Folge ist nur eine Funktion bzw. sind jegliche Kombinationen
dieser Funktionen, sowie andere Funktionen, die nicht im einzelnen
hier beschrieben sind, in Zusammenhang mit jedem Fernsehprogramm
nutzbar.
-
Es
ist ebenso offensichtlich, dass die untergeordneten interaktiven
Funktionen, die verfügbar
sind, während
eines Fernsehprogramms veränderbar
sind. Dieser Vorgang kann durch eine Sequenz von zeitabhängigen Nachrichten
kontrolliert werden oder durch Echtzeit-Eingaben von Befehlen an
der Masterstation 300 durch die Bedienperson.