-
Die
Erfindung betrifft ein Verfahren, eine Fernsteuervorrichtung und
ein System zum Bedienen von Mensch-Maschine-Schnittstellen und eine
Mensch-Maschine-Schnittstelle, die dafür geeignet ist.
-
In
letzter Zeit ist es üblich
geworden, Dienste aus der Ferne für Benutzer von elektronischen
Vorrichtungen wie etwa Personalcomputern, Fernsehgeräten, PDAs,
Audiosystemen und dergleichen bereitzustellen. Die Dienste werden
oft direkt über
die jeweilige, gegenwärtig
verwendete elektronische Vorrichtung angeboten. Beispielsweise ist
es bekannt, eine Teletext-Information
aus der Ferne für
einen Benutzer eines Fernsehgeräts über einen
Teletextdienst interaktiv bereitzustellen. Diese Art einer Benutzerfernunterstützung, die
direkt über
die elektronische Vorrichtung durchgeführt wird, die gegenwärtig verwendet
wird, zeigt den Vorteil auf, dass der Benutzer nicht eine unterschiedliche
Vorrichtung, wie ein Telefon, verwenden muss, um den von einem entsprechenden
Dienstezentrum angebotenen Dienst zu erhalten/zu starten.
-
Im
Allgemeinen wird der Dienst durch ein Ausführen eines Dialogs zwischen
dem Benutzer und dem Dienstezentrum durchgeführt. Um dies zu tun, kommuniziert
der Benutzer mit dem Dienstezentrum (das beispielsweise durch eine
Fernsteuervorrichtung, wie etwa einen Computer dargestellt sein
kann) über
eine Mensch-Maschine-Schnittstelle (im Folgenden nur als MMI bezeichnet)
der jeweiligen Vorrichtung. MMIs sind Einrichtungen, die geeignet
sind, um interaktiv zwischen einer Maschine und einem Benutzer zu
kommunizieren, beispielsweise Textanzeigeeinrichtungen, graphische
Anzeigeeinrichtungen, Lautsprecher, Tastaturen, berührungsempfindliche
Bildschirme, Spracherkennungssysteme oder dergleichen. Im Allgemeinen
zeigen MMIs sowohl Eingabevorrichtungen als auch Ausgabevorrichtungen
auf.
-
Jedoch
zeigen unterschiedliche elektronische Vorrichtungen im Allgemeinen
jeweils unterschiedliche Mensch-Maschine-Schnittstellen auf. Dies
bedeutet, dass die Möglichkeiten,
wie zu kommunizieren ist, sehr unterschiedlich sein können. Zusätzlich können sich
MMIs der gleichen Art, wie Textanzeigeeinrichtungen und graphische
Anzeigeeinrichtungen, voneinander bezüglich Größe und Auflösung unterscheiden.
-
Um
es einem Dienstezentrum zu ermöglichen,
jeweilige Dienste für
den Benutzer bereitzustellen, ist es deswegen notwendig, dass das
Dienstezentrum weiß,
welche spezifische MMI eine jeweilige elektronische Vorrichtung
aufzeigt, um einen jeweiligen Dialog zwischen dem Dienstezentrum
und dem Benutzer richtig auszuführen.
-
Das
Dokument WO 00/45265 offenbart ein System und ein Verfahren zum
Ferndiagnostizieren und -reparieren einer Mehrzahl von automatischen
Datenaufnahmevorrichtungs-Plattformen. Ein entfernter Dienstetechniker
benutzt ein Computersystem, das eine Browsing-Software aufweist,
die mit einem Netz von ADC-Plattformvorrichtungen kommuniziert.
Diagnostikabfragen nach bestimmten DC-Vorrichtungen können durch
die Browsing-Software aus einem Diagnostik-Server wiedergewonnen
werden, der ein Hypertext-Mark-Up-Language-Dokument, dynamische
Hypertext-Mark-Up-Language-Dokumente
und/oder erweiterbare Mark-Up-Language-Dokumente sendet, die geeignete Diagnostik-Applets
enthalten. Der entfernte Techniker sendet Diagnostikabfragen zu
einem einfachen Network-Management-Protokoll ("SNMP")-Masteragenten
bei der ADC-Vorrichtungsplattform, und ein Übersetzer übersetzt die Diagnostikabfragen,
die zu der ADC-Vorrichtungsplattform gesendet werden, in ein Format,
das für
einen Empfang durch seine ADC-Vorrichtungen geeignet ist, um eine
Anormalitätsdiagnose
und eine Funktionalitätswiedergewinnung
zu bewirken. Ein weiterer Übersetzer übersetzt
Daten, die von der ADC-Vorrichtung empfangen werden, in das SNMP-Format zur Übertragung
zu dem entfernten Dienstetechniker, damit der entfernte Dienstetechniker
eine Diagnostikanalyse durchführt.
Der SNMP-Masteragent kommuniziert mit dem Ferncomputersystem unter Verwendung
des Übertragungssteuerprotokolls,
des Benutzer-Datagram-Protokolls/Internetprotokolls
und/oder des Benutzer-Datagram-Plus-Protokolls.
Die ADC-Vorrichtung kann auch ein drahtloses Kommunikationssystem
zum Kommunizieren mit dem entfernten Dienstetechniker benutzen.
-
Das
Dokument WO 02/44936A offenbart Fernsteuervorrichtungen unter Verwendung
von XML-Dokumenten. In diesem Kontext muss auch das Dokument Andrivet
et al.: "A simple
XML parser" "C/C++Users Journal,
R&D Publications
Lawrence, KS, US. Band 17, Nr. 7, Juli 1999, XP008015172 erwähnt werden.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Betreiben
von MMIs über
eine Fernsteuervorrichtung bereitzustellen, um Dialoge zwischen
Benutzern der MMIs und der Fernsteuervorrichtung zu ermöglichen,
wobei das Verfahren in der Lage ist, mit verschiedenen Arten von
MMIs auf eine transparente, einfache Weise zurechtzukommen.
-
Um
diese Aufgabe zu lösen,
stellt die vorliegende Erfindung ein Verfahren zum Betreiben von
MMIs nach Anspruch 1 bereit. Ferner stellt die vorliegende Erfindung
eine Fernsteuervorrichtung nach Anspruch 13 bereit. Zusätzlich stellt
die vorliegende Erfindung eine MMI nach Anspruch 16 bereit. Ferner
stellt die vorliegende Erfindung ein System zum Fernbedienen von
MMIs nach Anspruch 22 bereit. Schließlich ist ein Computerprogrammprodukt
nach Anspruch 23 bereitgestellt. Weitere Merkmale und bevorzugte
Ausführungsformen
sind jeweils in den jeweiligen Unteransprüchen definiert.
-
Gemäß der vorliegenden
Erfindung ist ein Verfahren zum Betreiben von MMIs über eine
Fernsteuervorrichtung, die mit den MMIs über ein Kommunikationsnetz
verbindbar ist, bereitgestellt, wobei das Betreiben durch ein Austauschen
einer Information von interaktiven Dialogen zwischen Benutzern der
MMIs und der Fernsteuervorrichtung zwischen der Fernsteuervorrichtung
und den zu betreibenden MMIs über
das Kommunikationsnetz durchgeführt
wird. Der Prozess zum Austauschen der Information wird zumindest
teilweise unter Verwendung eines Kommunikationspro tokolls durchgeführt, das
auf XML-Dokumenten basiert ist, die die Information einschließen. Im
Folgenden wird diese Information auch als eine "MMI-korrelierte Information" bezeichnet; ferner
wird der Ausdruck "XML-Dokument" auch als "XML-Script" bezeichnet.
-
XML
(erweiterbare Mark-Up-Language) ist eine plattformunabhängige Sprache,
die verwendet wird, um eine Information zwischen Vorrichtungen auszutauschen,
die miteinander über
ein Kommunikationsnetz verbunden sind.
-
Das
oben beschriebene Verfahren ermöglicht
eine sehr einfache und transparente Weise, um Dialoge zwischen einem
Benutzer und einer Fernsteuervorrichtung durchzuführen, da
es dieses Verfahren ermöglicht, eine
Information auszutauschen, ohne sich darum zu kümmern, wie diese Information
schließlich
dem Benutzer präsentiert
wird. Dies liegt an der Tatsache, dass XML als eine plattformunabhängige Sprache
verwendet wird, um die MMI-korrelierte
Information auszutauschen. Beispiele einer MMI-korrelierten Information sind Bilddaten,
Textdaten oder Tondaten.
-
Vorzugsweise
umfassen XML-Scripts XML-Marker-Strukturen, die jeweils Teile der
MMI-korrelierten Information enthalten. Beispiele derartiger XML-Marker-Strukturen
werden später
gegeben werden.
-
Grundsätzlich sind
zwei Arten zum Kommunizieren zwischen der Fernsteuervorrichtung
und den MMIs vorhanden: Das Austauschen eines XML-Scripts wird direkt
zwischen der Fernsteuervorrichtung und den MMIs durchgeführt, oder
die Verwendung der XML-Scripts,
um MMI-korrelierte Information auszutauschen, wird nur zwischen
der Fernsteuervorrichtung und einem Gateway eingesetzt, der die
MMIs und die Fernsteuervorrichtung verbindet. Im letzteren Fall
kann ein MMI-spezifisches Übertragungsprotokoll
verwendet werden, um die MMI-korrelierte Information zwischen dem
Gateway und den MMIs auszutauschen, wobei ein Gateway die MMI-korrelierte
Information von/zu den XML-Scripten zu/von dem MMI-spezifischen Übertragungsprotokoll überträgt.
-
Ein
Gateway kann beispielsweise verwendet werden, wenn die MMIs nicht
direkt XML unterstützen.
-
Vorzugsweise
wird eine Erweiterung von XML, die als SDML (Einfache Dialog-Mark-Up-Language) bezeichnet
wird, definiert, um einen minimalistischen Benutzerschnittstellen-Werkzeugsatz
für einfache
Dialoge zwischen einer MMI und einem Benutzer der MMI zu erhalten.
Wie in der folgenden Beschreibung offensichtlich werden wird, ist
SDML nicht auf übliche
MMIs wie Computeranzeigeeinrichtungen und Tastaturen beschränkt. Stattdessen
stellt SDML die Möglichkeit
bereit, Dialogelemente (wie Text, graphische Bilder, eine einfache
Auslegung für
graphische Benutzerschnittstellen, eine Aufnahme von Benutzerantworten)
zwischen einander zu transformieren, wenn ein Bedarf danach besteht.
Beispielsweise kann ein Textelement in eine synthetisierte Sprache
konvertiert werden, wenn die MMI nur Lautsprecher umfasst, die Fernsteuervorrichtung aber
ein Textelement anstelle von Tondaten zu den Lautsprechern sendet.
Dies ermöglicht
es, Anzeigeeinrichtungen mit minimaler Fähigkeit (z.B. eine Zeichenanzeigeeinrichtung)
zu verwenden und ein Wiedergeben/eine Benutzerrückkopplung zwischen verschiedenen
Vorrichtungen zu teilen. Es besteht die Möglichkeit verschiedener Wiedergabe-
und Eingabemodi, wie Graphiken, Sprachsynthese-Erkennung, OSD (auf dem Bildschirm angeordnete
Anzeigeeinrichtung), Tasten oder Gesten für eine Eingabe.
-
Wie
bereits erwähnt,
besteht ein wichtiger Aspekt darin, dass sich eine SDML nur um die
Information, die von der Fernsteuervorrichtung zu den MMIs übertragen
werden soll, und die Information, die von einem Benutzer in die
MMI eingegeben wird, die zurück
zu der Fernsteuervorrichtung übertragen
werden soll, kümmert.
Mit anderen Worten, die SDML erlegt kein Ausgabe- oder Eingabeverfahren
bezüglich
einer Zielvorrichtung auf: Eine MMI wählt dynamisch auf ihre eigene
Weise, wie eine MMI-korrelierte
Information, die von der Fernsteuervorrichtung zu der MMI gesendet
wird, dem Benutzer präsentiert
wird, und/oder wählt
dynamisch auf ihre eigene Weise, wie eine Information, die von der
Fernsteuervorrichtung von dem Benutzer angefordert wird, in die
MMI eingegeben werden soll.
-
Um
dies zu ermöglichen,
können
zumindest Teile der MMI-korrelierten Information, die von der Fernsteuervorrichtung
zu den MMIs gesendet wird, gerendert werden, um eine gerenderte
Kommunikationsinformation zu erzeugen, wobei eine gerenderte Kommunikationsinformation
dann den MMIs als eine sichtbare/hörbare Kommunikationsinformation
für jeweilige
Benutzer präsentiert
wird. Vorzugsweise wird der Schritt des Erzeugens einer gerenderten
Kommunikationsinformation innerhalb der MMIs selbst durchgeführt. Eine andere
Möglichkeit
wäre es,
die gerenderte Kommunikationsinformation innerhalb des Gateways
zu erzeugen und dann eine gerenderte Kommunikationsinformation zu
den MMIs zu übertragen,
um sie schließlich
dem Benutzer zu präsentieren.
Mit anderen Worten, der Kommunikationsprozess kann vollständig von
dem Renderingprozess entkoppelt werden.
-
In
jedwedem Fall wird das Erzeugen einer gerenderten Kommunikationsinformation
in Abhängigkeit von
einer jeweiligen gerenderten Information durchgeführt, die
den MMIs jeweils zugeordnet ist. Beispielsweise kann die gerenderte
Information jeweils in den MMIs gespeichert werden. Ein weiteres
Beispiel wäre
es, dass die gerenderte Information, die mehreren MMIs zugewiesen
wird, innerhalb des Gateways gespeichert wird. In dem letzteren
Fall entscheidet der Gateway, wie eine jeweilige MMI-korrelierte
Information zu rendern ist, was in Abhängigkeit von der jeweiligen
MMI durchgeführt
wird, an welche die MMI-korrelierte Information adressiert ist.
Eine weitere Möglichkeit
wäre es,
eine gerenderte Information in der MMI-korrelierten Information einzuschließen, das
heißt,
dass die Fernsteuervorrichtung entscheidet, wie die Information
gerendert werden soll, wenn sie von der jeweiligen MMI oder dem
Gateway empfangen wird. Jedoch muss in diesem Fall die Fernsteuervorrichtung
die Renderingfähigkeit
der jeweiligen MMI kennen.
-
Somit
wird in dieser Ausführungsform
ein gemeinsamer Mechanismus bereitgestellt, um Dialoginhalte, wie
Textdaten oder graphische Daten, zu kommunizieren, während die
tatsächliche
Form eines Darstellens der Daten auf den jeweiligen, fraglichen MMIs
belassen wird. Das heißt,
dass die SDML keine Anforderungen vorgibt, wie Elemente gerendert
werden. Nur sehr grundlegende Renderinginstruktionen, beispielsweise
betreffend eine relative Textgröße und eine
Auslegung, können
bereitgestellt werden, um ein ansatzweises Dialogdesign zu ermöglichen.
SDML schränkt
es mehr oder weniger ein, dass eine MMI-korrelierte Information
zu dem Benutzer übermittelt
wird und dass Benutzerantworten auf Anfragen zu der Fernsteuervorrichtung
zurückgegeben
werden. Dies hat den Vorteil, dass sich ein Dienstezentrum nicht
um Renderingangelegenheiten kümmern
muss, die von jeweiligen MMIs abhängig sind.
-
Wie
bereits angezeigt, wählen
die MMIs vorzugsweise dynamisch die Weise, wie eine gewünschte Information
von dem Benutzer in die MMIs einzugeben ist, gemäß einer Eingabeinformation,
die jeweils den MMIs zugeordnet ist, wobei die Eingabeinformation
ein Teil der MMI-korrelierten Information ist oder innerhalb der
MMIs und/oder des Gateways (4) jeweils gespeichert ist.
-
Dialogelemente
(wie Text, graphische Bilder, eine einfache Auslegung für graphische
Benutzerschnittstellen, eine Aufnahme von Benutzerantworten) können untereinander
transformiert werden, wenn ein Bedarf dafür besteht. Beispielsweise kann
ein Textelement in eine synthetisierte Sprache konvertiert werden,
wenn die MMI nur Lautsprecher umfasst, die Fernsteuervorrichtung
aber ein Textelement zu den Lautsprechern sendet. Vorzugsweise wird
ein Konversionsprozess zwischen Dialogelementen in Abhängigkeit
der Rendering-Information/Eingabeinformation durchgeführt.
-
Um
das oben beschriebene Verfahren durchzuführen, stellt die vorliegende
Erfindung eine Fernsteuervorrichtung bereit, die mit den MMIs verbindbar
ist, die über
ein Kommunikationsnetz betrieben werden sollen, wobei die Fernsteuervorrichtung
eine Kommunikationseinrichtung zum Austauschen einer Information
interaktiver Dialoge zwischen Benutzern der MMIs und der Fernsteuervorrichtung
und den MMIs, die betrieben werden sollen, umfasst. Die Kommunikationseinrichtung
umfasst ein XML-Client-Modul,
das eine Funktionalität
aufweist, XML-Dokumente zu ver wenden, um ein Kommunikationsprotokoll
zum Senden und Empfangen der Information zu definieren.
-
Vorzugsweise
umfasst die Kommunikationseinrichtung eine IP(Internet Protocol)-Schicht,
eine TCP(Transport Control Protocol)-Schicht unter Verwendung der
IP-Schicht, eine Sockelschicht unter Verwendung der TCP-Schicht,
wobei das XML-Client-Modul
seine Kommunikationsaufgaben unter Verwendung der Sockelschicht
durchführt.
-
Die
Fernsteuervorrichtung umfasst in vorteilhafter Weise eine Extraktionseinrichtung
zum Extrahieren der MMI-korrelierten Information aus den XML-Scripts
und/oder eine Einbettungseinrichtung zum Einbetten der MMI-korrelierten
Information in die XML-Scripts.
-
Um
das oben beschriebene Verfahren durchzuführen, stellt die vorliegende
Erfindung ferner eine MMI bereit, die mit einer Fernsteuervorrichtung über ein
Kommunikationsnetz verbindbar ist, wobei die MMI eine Kommunikationseinrichtung
zum Austauschen einer Information interaktiver Dialoge zwischen
einem Benutzer der MMI und der Fernsteuervorrichtung zwischen der
MMI und der Fernsteuervorrichtung umfasst.
-
Die
Kommunikationseinrichtung umfasst ein XML-Server-Modul, das eine
Funktionalität
aufweist, XML-Dokumente zu verwenden, um ein Kommunikationsprotokoll
zum Senden und Empfangen der Information zu definieren.
-
In
einer bevorzugten Ausführungsform
umfasst die MMI eine Einrichtung zum dynamischen Wählen der
Weise, wie eine MMI-korrelierte
Information, die von der Fernsteuervorrichtung zu der MMI gesendet
wird, dem Benutzer präsentiert
wird und/oder eine Einrichtung zum dynamischen Wählen der Weise, wie eine Information,
die von der Fernsteuervorrichtung angefordert wird, in die MMI eingegeben
wird.
-
In
einer weiteren bevorzugten Ausführungsform
umfasst die MMI eine Rendering-Einrichtung, die mit der Kommunikationseinrich tung
zum dynamischen Rendern einer MMI-korrelierten Information in Abhängigkeit
einer Rendering-Information verbunden wird, die der MMI zugeordnet
ist. Um dies zu tun, kann die MMI ferner eine Speichereinrichtung
zum Speichern der Rendering-Information
umfassen.
-
Die
MMI kann ferner eine Eingabesteuereinrichtung zum Handhaben von
Eingabebetriebsschritten eines Benutzers bezüglich der MMI dynamisch gemäß einer
der MMI zugeordneten Eingabeinformation umfassen, die auch in der
Speichereinrichtung gespeichert werden kann.
-
Die
Kommunikationseinrichtung der MMI umfasst in einer bevorzugten Ausführungsform
eine IP (Internet Protocol)-Schicht, eine TCP (Transport Control
Protocol)-Schicht, die auf der IP-Schicht basiert ist, und eine Sockelschicht,
die auf der TCP-Schicht
basiert ist, wobei das XML-Server-Modul auf der Sockelschicht basiert
ist.
-
Ferner
kann die MMI eine Extraktionseinrichtung zum Extrahieren der MMI-korrelierten
Information aus den XML-Scripts und/oder einer Einbettungseinrichtung
zum Einbetten der MMI-korrelierten
Information in die XML-Scripts umfassen.
-
Die
Erfindung umfasst ferner ein System zum Fernbedienen von MMIs, wobei
das System eine Fernsteuervorrichtung gemäß der vorliegenden Erfindung
und zumindest eine MMI umfasst, die gemäß der vorliegenden Erfindung
bedient werden kann, wobei die Fernsteuervorrichtung und die zumindest
eine MMI, die bedient werden soll, jeweils über das Kommunikationsnetz
verbunden sind.
-
Schließlich stellt
die vorliegende Erfindung ein Computerprogrammprodukt nach Anspruch
23 bereit.
-
Weitere
Merkmale, Ausführungsformen
und Vorteile der vorliegenden Erfindung werden in der folgenden
Beschreibung erläutert
werden, während
Bezug genommen wird auf die zugehörigen Zeichnungen. In den Zeichnungen
zeigen:
-
1 eine
schematische Zeichnung des Konzepts, wie MMIs gemäß der vorliegenden
Erfindung zu bedienen sind;
-
2 eine
Zeichenanzeigeeinrichtung als ein Beispiel einer MMI gemäß der vorliegenden
Erfindung;
-
3 eine
Bildanzeigeeinrichtung als ein Beispiel einer MMI gemäß der vorliegenden
Erfindung;
-
4a bis 4e Beispiele
unterschiedlicher Auslegungen von Dialogkästen, die auf einer Anzeigeeinrichtung
darstellbar sind, als eine MMI gemäß der vorliegenden Erfindung;
-
5 ein
Beispiel eines auf einer Bildanzeigeeinrichtung anzuzeigenden Bildes,
als eine MMI gemäß der vorliegenden
Erfindung;
-
6 eine
bevorzugte Ausführungsform
eines Systems zum Bedienen von MMIs gemäß der vorliegenden Erfindung;
-
7 eine
bevorzugte Ausführungsform
von Protokollstapeln, die von der Fernsteuervorrichtung und den
MMIs verwendet werden, um XML-Scripts auszutauschen, gemäß der vorliegenden
Erfindung;
-
8 ein
Flussdiagramm einer Dialogsitzung, die zwischen einer Fernsteuervorrichtung
und einem Benutzer einer jeweiligen MMI durchgeführt wird, gemäß der vorliegenden
Erfindung; und
-
9 ein
Dialogsequenzdiagramm, das unterschiedliche mögliche Dialogbeispiele veranschaulicht, gemäß der vorliegenden
Erfindung.
-
Im
Folgenden wird unter Bezugnahme auf die Zeichnungen eine bevorzugte
Ausführungsform
eines SDML-Pakets beschrieben werden.
-
In
dieser Ausführungsform
ist ein einzelner SDML-Dialog auf dem Modell von entweder einer
Aussage oder einer Anfrage basiert. Mit einer Aussage werden Informationen
oder Instruktionen zu dem Benutzer übermittelt. Mit einer Anfrage
wird eine Benutzerantwort als ein Ergebnis einer Frage aufgenommen,
die von dem System gestellt wird.
-
Der
Kommunikationsprozess wird mit einer Frage durch die MMI initiiert
(beispielsweise von der Fernsteuervorrichtung zugeführt) und
sollte von dem Benutzer beantwortet werden, der mit der MMI (Fernsteuervorrichtung)
kommunizieren möchte.
Intrinsisch wird der Kommunikationsprozess von dem Benutzer initiiert, während er
die MMI einschaltet, der Anfangsschritt wird von der MMI ausgeführt, die
dem Benutzer bestimmte Optionen anbietet.
-
Gemäß 1 initiiert
eine Fernsteuervorrichtung 1 einen Dialog mit dem Benutzer 2 über das
Internet 3, das die Fernsteuervorrichtung 1 beispielsweise
mit der Hausgateway-Vorrichtung 4 des Benutzers verbindet.
Das Kommunikationsprotokoll, das dem Austauschprozess der SDML-Scripts
(die XML-Scripts sind) zwischen der Fernsteuervorrichtung 1,
dem Gateway 4 oder der MMI 5 (die eine Ausgabevorrichtung 6 und/oder eine
Eingabevorrichtung 7 umfasst) unterliegt, ist nicht durch
SDML definiert und kann jedwedes, z.B. das TCPI/IP-Protocol, sein.
Ein SDML-Script wird von der Fernsteuervorrichtung 1 zu
dem Gateway 4 (oder zu der Vorrichtung, die die MMI 5 selbst
umfasst) gesendet. In jedwedem Fall wird das SDML-Script zu einem
Ort gesendet, wo ein SDML-Übersetzer
anwesend ist, der nicht notwendiger Weise der Gateway 4 ist.
Wenn die Ausgabe/Eingabe-Vorrichtungen 6, 7 (MMIs)
IP-fähig
sind, dann können
SDML-Scripts direkt an diese Vorrichtungen adressiert werden.
-
Das
SDML-Script, das gesendet wird, umfasst eine Definition eines Dialogs.
Wenn dieses Script zu einer Ausgabevorrichtung gesendet wird, parst
die Ausgabevorrichtung das SDML-Script und rendert die Benutzerschnittstellenelemente,
die eine Anfrage oder eine Aussage beschreiben, zu der Ausgabevorrichtung 6. Der
Benutzer 2 bemerkt diese Frage und beantwortet sie über eine
Eingabevorrichtung 7. Der Hausgateway 4 oder der
SDML-Übersetzer
erzeugt dann das SDML-Antwortscript, das zurück zu der Fernsteuervorrichtung 1 gesendet
wird. Eine Aussage sollte mit einer leeren Antwort beantwortet werden.
Das heißt,
dass Aussagen eine Antwort nicht erfordern, aber nichtsdestoweniger
durch einen leeren Antwortmarker bestätigt werden können. Die
Fernsteuervorrichtung 1 sendet, möglicherweise in Abhängigkeit
von dieser Antwort, die nächste
Anfrage oder Aussage in der Form eines anderen SDML-Dialogs. Dies
hängt von
der Fernanwendungslogik ab.
-
Unter
Erfüllung
der XML-Syntax startet ein SDML-Script mit dem Hauptmarker, der
die Sprache identifiziert <sdml>. Der Hauptmarker muss
gefolgt werden von einem <header>-Marker, der bestimmte
Eigenschaftsmarker für
das folgende Script enthält.
Beispiel:
-
Der
Header-Abschnitt wird gefolgt von gegenwärtigen Dialoginhalten.
-
Der
Dialog ist durch den <dialog>-Marker eingeschlossen.
Untermarker sind <anfrage> oder <aussage>, da einer von ihnen
erforderlich ist. Der <anfrage>- oder <aussage>-Marker hält Untermarker
für die
Benutzerschnittstelle und Prozesselemente. Wenn der Dialog eine
Frage enthält,
muss ein <wahllisten>-Untermarker (siehe untenstehend) innerhalb
des <anfrage>-Markers definiert werden.
-
Beispielsweise
können
die folgenden Elemente definiert werden:
- • Text
- • Bilder
- • Auslegungsverwaltung
- • Abstände
- • Auswahlliste
- • Verzögerung
-
Ein
Textmarker <text> zeigt eine Information
an, die normalerweise die Frage oder die Aussage für den Benutzer
ist. Textfelder weisen unterschiedliche Stile auf unterschiedlichen
Ausgabemedien auf. Auf Anzeigeeinrichtungen wird der Text gerendert,
aber auf Audioausgabevorrichtungen wird der Text durch beispielsweise eine
Sprachsynthesesoftware gesprochen. <text>-Marker
können
ein Größenattribut
in einem Bereich [1..10] enthalten, um die Variation einer Textgröße innerhalb
eines Dialogs zu ermöglichen.
Dieses Attribut ist relativ und stellt nur eine Indikation, nicht
irgendeine absolute Größe dar.
Die obere Grenze ist die größte Textgröße. Beispiel:
-
Das
SDML-Script, das oben stehend gegeben ist, kann beispielsweise wie
in 2 gezeigt gerendert werden und zeigt eine Textanzeige 10 und
einen Text "Elektronik" 11.
-
Ein
Bildmarker <bild> definiert ein Bild,
um die visuelle Ausgabe zu verbessern oder um eine Aussage zu bekräftigen.
Das Bild ist mit zwei Untermarkern angegeben. Der <alt>-Marker ist eine alternative
Texteingabe für
das Bild, wenn es durch die Ausgabevorrichtung 6 nicht
gerendert werden kann. In diesem Fall sollte eine Rendermaschine
den alternativen Text verwenden, um die Information anzuzeigen.
Wenn der Marken fehlt, sollte eine Rendermaschine für nicht-graphische
Vorrichtungen das Bild ignorieren und annehmen, dass es nicht wichtig
ist.
-
Der
Datenmarker <daten> enthält die Daten,
die das aktuelle Bitmap-Bild, das angezeigt werden soll, definieren.
Die Daten sind vorzugsweise in textuellem PNG (Portable Network
Graphics-Standard)-Format. Mit diesem Format wird jedes Datenbyte
der binären
PNG-Datei in einer Textform als eine zweistellige hexadezimale Zahl
dargestellt. Führende
Nullen müssen
eingeschlossen werden. Beispiel:
-
Eingeschlossen
in einem XML-Marker:
<bindata>F9BE0A4B</bindata>
-
Dieses
Verfahren zum Kodieren von Binärdaten
ist beispielsweise in www.xml.org beschrieben. Ferner ist IML (Image
Markup Language), ein XML-Schema zum Speichern von GIF- und JPG-Bildern, beschrieben.
-
Im
Folgenden wird unter Bezugnahme auf 5 die Weise
eines Kodierens des Bildes, das in 5 gezeigt
ist, beschrieben.
-
Die
ersten 20 PNG-Binärbytes
in Dezimaldarstellung des Bildes sind:
137 80 78 71 13 10 26
10 0 0 0 13 73 72 68 82 0 0 0 32
die in konvertierten Bytes
ausgedrückt
werden:
89504e470d0a1a0a0000000d4948445200000020
-
Somit
kann der gesamte Bildmarker wie folgt kodiert werden:
-
Die
Breite und die Höhe
werden aus dem Bild entnommen und in Pixeln gemessen, so dass sie
für zwei
Ausgabevorrichtungen
6 unterschiedlich sein können. Dann
sollte die Rendermaschine die Bilder neu bemessen, um sie auf dem
Schirm einzupassen. Beispiel:
-
Das
oben gegebene SDML-Script kann, wie in 3 gezeigt,
gerendert werden, wobei eine Bildanzeigeeinrichtung 30 ein
Bild von Fischen 31 zeigt.
-
Eine
einfache Auslegungsverwaltung wird für visuelle Ausgabevorrichtungen
unterstützt.
Andere Ausgabevorrichtungen
6 sollten diese Daten ignorieren.
Es sind zwei Auslegungsschemata vorhanden, die multiplizierend verschachtelt
werden können.
Das erste ist eine horizontale Auslegung, um Elemente in einer horizontalen
Linie zu positionieren. Die vertikale Auslegung setzt Elemente in
eine vertikale Linie. Mit diesen beiden einfachen Auslegungsschemata
können
komplexere Auslegungen erzeugt werden (z.B. Gitter). Horizontale
Auslegung:
-
Das
SDML-Script, das oben stehend gegeben ist, kann beispielsweise wie
in
4a gerendert werden, wobei eine Bild
40 einen
OK-Knopf
41 und einen Lösch-Knopf
42 umfasst. Vertikale
Auslegung:
-
Das
SDML-Script, das oben stehend gegeben ist, kann beispielsweise wie
in
4b gerendert werden, wobei ein Bild
50 einen
JA-Knopf
51 und einen NEIN-Knopf
52 umfasst. Komplexes
Auslegungsbeispiel:
-
Das
SDML-Script, das oben stehend gegeben ist, kann beispielsweise wie
in 4c gerendert werden, wobei ein Bild 60 einen "1"-Knopf 61, einen "2"-Knopf 62, einen "3"-Knopf 63 und einen "4"-Knopf 64 umfasst.
-
Abstände können verwendet
werden, um die Auslegungsfähigkeiten
eines Dialogs zu verbessern. Sie weisen eine Breite und/oder eine
Höhe auf,
gemessen in Pixeln und wirken als ein Platzhalter zwischen den Elementen,
sind aber unsichtbar. Die Breite und Länge können für zwei Ausgabemedien unterschiedlich
sein, so dass die Renderingmaschine die Abstände neu bemessen sollte, so
wie sie es für
Bilder tun sollte. Wenn entweder die Breite oder die Höhe fehlt,
sollte die Rendermaschine den Raum innerhalb des gegenwärtigen <layout></layout>-Kontexts füllen. Abstände sind durch den folgenden
Marker definiert:
Beispiel:
-
Das
SDML-Script, das oben stehend gegeben ist, kann beispielsweise wie
in 4d gerendert werden, wobei ein Bild 70 einen
JA-Knopf 71 und einen NEIN-Knopf 72 umfasst.
-
In
diesem Beispiel ist der Höhenmarker
nicht definiert, da dieser in diesem Dialog keine Wirkung aufweisen
würde.
-
Ein <verzögerungs>-Marker wird verwendet,
um die Zeit zu spezifizieren, die für eine <anfrage> oder <aussage> angezeigt wird. Der
Verzögerungsmarker
sollte nur an dem Ende eines SDML-Scripts verwendet werden. Die
Verzögerungszeit
ist in Sekunden spezifiziert. Die Rendermaschine interpretiert diese
Zeit als einen relativen Wert, weil jedes Ausgabemedium Verzögerungen
unterschiedlich handhabt, z.B. kann in einem Sprachausgabemedium
die Verzögerung
verkürzt
sein.
-
Eine
Auswahlliste ist ein Teil einer Frage und lässt es zu, dass der Benutzer
die gestellte Frage beantwortet. Sie ist nicht ein Teil der Benutzerschnittstellenelemente,
sie sollte aber von der Benutzerschnittstelle isoliert sein. Es
liegt an der Rendermaschine, ein Aussehen für die Wahlmöglichkeiten zu wählen und
sie von der Benutzerschnittstelle zu trennen. Eine Auswahlliste
ist durch einen <auswahlliste>-Marker mit Untermarkern
für sämtliche
Auswahlmöglichkeiten
(<auswahl>) definiert, die die
textuelle Beschreibung halten. Beispiel:
-
Benutzerantworten
sind in einem <antwort>-Marker eingeschlossen
und enthalten den Inhalt des von der Auswahlliste ausgewählten Elements
des Benutzers. Beispiel:
-
Gemäß 4e stellt
der folgende Beispieldialog 80 die Frage "Haben Sie den Ton
gehört?" 81 als
Text dem Benutzer, mit einem zugehörigen veranschaulichenden Bitmap-Bild 82 und
bietet dem Benutzer eine Auswahlliste 83 mit drei Optionen
zum Antworten.
-
-
-
In
der folgenden Beschreibung wird unter Bezugnahme auf 6 eine
bevorzugte Ausführungsform eines
Systems zum Fernbedienen einer MMI beschrieben werden.
-
Ein
System 90 umfasst ein Fernendgerät (RT) 91, ein Benutzerendgerät (UT) 92 und
das Internet als ein IP-basiertes Netz 93, das das Fernendgerät 91 und
das Benutzerendgerät 92 verbindet.
Die Anwendung besteht darin, dass ein entfernter Endgerätbediener
oder ein automatischer Softwareagent eine Information zu einem Benutzer übermitteln
muss, der an seinem Benutzerendgerät 92 anwesend ist,
um auch eine Benutzerrückkopplung über das
Benutzerendgerät 92 aufzunehmen.
Dies wird innerhalb einer SDML-Dialogsitzung durchgeführt.
-
In
der folgenden Beschreibung werden unter Bezugnahme auf 7 bevorzugte
Ausführungsformen von
Protokollstapeln, die von dem Fernendgerät 91 und dem Benutzerendgerät 92 der 1 verwendet
werden, beschrieben.
-
Ein
erster Protokollstapel 94, der innerhalb des Fernendgeräts 91 lokalisiert
ist, umfasst eine Internetprotokollschicht 941 ,
eine Transportsteuerprotokoll-942 -Schicht
unter Verwendung der Internetprotokollschicht 941 ,
eine Sockelschicht 943 unter Verwendung
der Transportsteuerprotokollschicht 942 und
ein XML-Client-Modul 944 , das einen SDML-Client umfasst, der
seine Kommunikationsaufgaben unter Verwendung der Sockelschicht 943 durchführt. Dementsprechend umfasst
ein zweiter Protokollstapel 95, der innerhalb des Benutzerendgeräts 92 lokalisiert
ist, eine Internetprotokollschicht 951 ,
eine Transportsteuerprotokoll-952 -Schicht
unter Verwendung der Internetprotokollschicht 951 ,
eine Sockelschicht 953 unter Verwendung
der Transportsteuerprotokollschicht 952 und
ein XML-Server-Modul 954 , das eine
SDML-Maschine umfasst, die ihre Kommunikationsaufgaben unter Verwendung
der Sockelschicht 953 durchführt. Das
Benutzerendgerät 92 umfasst
ferner eine Renderingmodul/Eingabesteuereinrichtung 96,
die eine MMI-korrelierte Information, die von dem XML-Server-Modul 954 zugeführt wird, in Abhängigkeit
von einer Benutzerendgerät-spezifischen
Rendering-Information rendert. Die Internetprotokollschichten 941 und 942 sind
miteinander über
eine IP-Sockelverbindung verbunden, um miteinander zu kommunizieren.
Die SDML-Maschine in dem Benutzerendgerät 92 hört permanent
auf Client-Anfragen auf dem vorgegebenen Sockel und wirkt somit
als ein Server für
SDML-Scripts. Eine
Dialogsitzung wird vorzugsweise durch den SDML-Client initiiert.
-
In
der folgenden Beschreibung wird unter Bezugnahme auf 8 ein
Beispiel einer Dialogsitzung gegeben werden.
-
Nachdem
der Dialog gestartet worden ist, wird in einem ersten Schritt S1
eine SDML-Aussage "Ein Testton
wird wiedergegeben werden" auf
der MMI des Benutzerendgeräts 92 gezeigt
(die von dem Fernendgerät 91 zu
der MMI gesendet worden ist). In einem zweiten Schritt S2 wird ein
Testton über
die MMI ausgegeben. Dann wird in einem dritten Schritt S3 eine SDML-Anfrage "Haben Sie den Testton
gehört?" über die MMI durchgeführt. Dann
wird in einem vierten Schritt S4 eine Benutzerantwort empfangen.
Dann wird in einem fünften
Schritt S5 eine SDML-Aussage "Danke" auf der MMI gezeigt.
Dann wird der Dialog beendet. Die praktische Anwendung dieses Dialogs
besteht darin, dass das Fernendgerät 91 den Benutzer
informiert, dass er einen Testton auf dem Benutzerendgerät 92 ausführen wird.
Der Benutzer antwortet mit einer Anfrage, um zu verifizieren, ob
die Testtonwiedergabe erfolgreich war.
-
In
der folgenden Beschreibung wird unter Bezugnahme auf 9 ein
Sequenzdiagramm, das dem in 8 gezeigten
Dialog entspricht, gegeben werden. Drei physikalische Ausführungsformen
des gleichen Szenarios werden beschrieben. Jede zeigt eine unterschiedliche
Verwirklichung der gleichen SDML-Dialogsitzung (8),
wobei ihre Flexibilität
und Leistung trotz ihrer einfachen Natur hervorgehoben wird. Das
Flussdiagramm der 8 und das Sequenzdiagramm der 9 sind
grundsätzlich
in jedem Fall die gleichen, da es die MMI-korrelierte Information
(SDML-Inhalt) ist, die zwischen dem Fernendgerät 91 (SDML-Client)
und dem Benutzerendgerät 92 (SDML-Maschine) übertragen
wird. Der Unterschied in jedem Fall besteht darin, wie die vorrichtungsspezifische
SDML-Maschine eine Benutzerrückkopplung
rendert und aufnimmt.
-
In
dem ersten Beispiel trifft ein Vorrichtungsszenario, das in 6 gezeigt
ist, zu. Das Benutzerendgerät 92 ist
ein Fernsehgerät
(analog oder digital), der eine Internetverbindung aufweist, sei
es direkt von dem Fernsehgerät,
z.B. über
ein Modem, oder indirekt über
eine Hausnetzschnittstelle zu einem Haus-Router-Gateway. Das Fernsehgerät weist
graphische Fähigkeiten
auf, die verwendet werden, um eine Information visuell anzuzeigen,
und eine Benutzerrückkopplung
wird über
die Fernseher-Fernsteuerung erhalten.
-
In
einem zehnten Schritt S10 wird eine SDML-Aussage von dem Dialogmanager
(Fernendgerät 91)
zu der SDML-Maschine (Benutzerendgerät 92) gesendet. In
einem elften Schritt S11 gibt die SDML-Maschine den Textkasten auf
dem Fernsehbildschirm aus. In einem zwölften Schritt S12 und einem
dreizehnten Schritt S13 wird der Testton in dem Benutzerendgerät 92 ausgelöst. Dieser
Schritt ist nicht Teil von SDML, er ist Teil der vorrichtungsspezifischen
Funktionalität
(die SDML-Maschine wird nicht verwendet). In einem vierzehnten Schritt
S14 wird die SDML-Anfrage
von dem Dialogmanager zu der SDML-Maschine gesendet. In einem fünfzehnten
Schritt S15 gibt die SDML-Maschine den Anfrage-Textkasten auf dem
Fernsehbildschirm aus. In einem sechzehnten Schritt S16 gibt die
MMI die Benutzerauswahl – "JA"- oder "NEIN"-Knopf gedrückt – zu der SDML-Maschine
weiter. In einem siebzehnten Schritt S17 wird die Benutzerantwort
von der SDML-Maschine zu dem Ferndialogmanager weitergegeben. In
einem achtzehnten Schritt S18 wird eine SDML-Aussage von dem Dialogmanager
zu der SDML-Maschine gesendet, und in einem neunzehnten Schritt
S19 wird ein Textkasten von der SDML-Maschine auf dem Fernsehbildschirm ausgegeben.
-
In
dem zweiten Beispiel ist das Benutzerendgerät 92 eine Audiovorrichtung
mit einer Audioeingabe, z.B. einem eingebauten Mikrofon zur Benutzerrückkopplung.
Diese Vorrichtung weist nur eine einfache Zeichenanzeigeeinrichtung
und bestimmte Tasten für
eine Benutzereingabe auf. Die Schritte S10 und S15 entsprechen jenen
des vorherigen Beispiels. Der einzige Unterschied besteht darin,
dass der Fernsehbildschirm durch eine Zeichenanzeigeeinrichtung
ersetzt ist. Der Schritt S16 ist jedoch unterschiedlich: Weil das
Benutzerendgerät
keine graphische MMI aufweist und Knöpfe als Benutzerschnittstellenelemente
nicht anzeigen kann, weiß es,
wie es dem Benutzer am besten anzeigen kann, welche der Fronttasten "Ja" bedeutet und welche "Nein" bedeutet, z.B. durch
LEDs an den Knöpfen "1" und "2" mit
blinkendem Hintergrund mit einem zusätzlichen entsprechenden Hinweis
innerhalb der Zeichenanzeigeeinrichtung, z.B. "Drücke
1 für Ja,
2 für Nein". Dies ist das vorrichtungsspezifische
Teil und nicht Teil des SDML-Dialogs selbst. Das Benutzerendgerät MMI leitet
die Benutzerauswahl "Ja"- oder "Nein"-Knopf gedrückt zu der SDML-Maschine weiter.
Der Schritt S19 entspricht jenem des vorherigen Beispiels.
-
In
dem dritten Beispiel ist das Benutzerendgerät 92 eine Audio-/Videovorrichtung
mit einer Text-Sprach-Interpretation und einer Sprachsynthese für eine Audioausgabe
und einer Spracherkennung für eine
Audioeingabe, z.B. einem eingebautem Mikrofon für eine Benutzerrückkopplung.
-
In
diesem Beispiel wird in dem zehnten Schritt S10 eine SDML-Aussage von dem Dialogmanager
(Fernendgerät 91)
zu der SDML-Maschine
(Benutzerendgerät 92)
gesendet. In dem elften Schritt S11 spricht die SDML-Maschine eine
Nachricht zu dem Benutzer. In dem zwölften Schritt S12 und dem dreizehnten
Schritt S13 wird der Testton in dem Benutzerendgerät 92 ausgelöst. Dieser
Schritt ist nicht Teil von SDML, er ist Teil der vorrichtungsspezifischen
Funktionalität
(die SDML-Maschine wird nicht verwendet). In dem vierzehnten Schritt
S14 wird eine SDML-Anfrage von dem Dialogmanager zu der SDML-Maschine
gesendet. In dem fünfzehnten
Schritt S15 stellt die SDML-Maschine verbal die Frage. In dem sechzehnten
Schritt S16 leitet die MMI die Benutzerauswahl weiter – das Benutzerendgerät 92 erkennt
die verbal gesprochene Antwort "Ja" oder "Nein" und konvertiert
diese in die geeignete Dialogauswahl in SDML. In dem siebzehnten
Schritt S17 wird die Benutzerantwort durch die SDML-Maschine zu dem Ferndialogmanager
weitergeleitet. In dem achtzehnten Schritt S18 wird eine SDML-Aussage
von dem Dialogmanager zu der SDML-Maschine gesendet, und in dem neunzehnten
Schritt S19 spricht die SDML-Maschine die Aussage zu dem Benutzer.