-
Die
Erfindung betrifft eine Kommunikationsmethode in einem Heimnetzwerk,
insbesondere einem HAVi-verträglichen
Netzwerk. Sie betrifft auch das Netzwerk selbst und ein Gerät, das in
der Implementation des Verfahrens benutzt wird. Die Erfindung betrifft
unter anderem die Kommunikation zwischen einer Internet-Anwendung,
die auf einem Netzwerk-Gerät
läuft,
die nicht notwendiger Weise einen direkten Zugriff zu dem Internet
hat, und ein Gerät
des Netzwerks, das einen derartigen Zugriff hat.
-
1 ist
ein Diagramm verschiedener Geräte
und Softwareschichten, die benötigt
werden für
den Zugriff zu einem Internet-Service von einem Personal Computer 1.
Dieser Computer 1 enthält
eine Anwendung mit einer Benutzer-Schnittstelle für das Zusammenarbeiten
mit einem Benutzer, z.B. einem WEB-Browser, in 1 durch
den allgemeineren Ausdruck "WEB-Anwendung" benannt.
-
Die
WEB-Anwendung liegt über
einer Anwendungsprotokollschicht (wie einer HTTP (Hyper Text Transfer
Protocol) oder einer FTP (File Transfer Protocol) oder einem anderen
Typ des Protokolls). Die nächsten
Schichten sind gemäß dem Beispiel
in 1 ist das TCP/UDP (Transmission Control Protocol
bzw. User Data Protocol) Schicht die IP (Internet Protocol) Schicht
und die PPP-Schicht. Die kombinierten Schichten TCP/UDP werden als
der "IP Stapel" bezeichnet. Die
Verbindung mit einem Internet-Zugriffsprovider erfolgt durch Modems
und das öffentliche
Telefonnetz. Der Internet-Zugriffsanbieter ist mit dem Internet
verbunden, das den Server 3 enthält, wobei letzterer Schichten
global ähnlich
in der Funktion zu denen des Computers 1 enthält.
-
Ein
Benutzer kann eine Zahl von Geräten
besitzen, wie Fernsehempfänger
und Personal Computer, die die Internet-Zugriffsfunktionalität besitzen,
die durch das Gerät 1 von 1 geliefert
wird. In einem derartigen Fall werden die für die Bildung der Internet-Zugriffsfähigkeit
benötigten
Hardware und Software in jedem Gerät vervielfältigt.
-
Das
Dokument "System
Architecture an implementation of a CEBus/Internet gateway" von J. Desbonnet
un P. Corcoran, XP-00768558, Seiten 1057 bis 1062, veröf fentlicht
im November 1997, IEEE Transactions on Consumer Electronics Band
43, Nr. 4, beschreibt ein auf TCP beruhendes Netzwerk mit einem
Schnittstellenrechner (Gateway).
-
Das
Dokument "User Interface
Technologies for Home Appliances and Network", 17, Juni 1998, IEEE von P. Corcoran,
F. Papai und A. Zoldi beschreibt einen Zugriff von einem Heimnetzwerk
auf ein auf TCP/IP beruhendes drahtgebundenes Netzwerk.
-
Gegenstand
der Erfindung ist eine Kommunikationsmethode in einem Heimnetz mit
wenigstens zwei mit einem Kommunikationsbus verbundenen Geräten, einem
ersten Gerät
mit einer internen Anwendung und einem zweiten Gerät mit Mitteln
zum Anschluss an das Internet, mit folgenden Schritten:
- – Senden
einer Anforderung von dem ersten Gerät zu dem zweiten Gerät zur Öffnung einer
Verbindung zwischen dem ersten und dem zweiten Gerät,
- – Senden
einer Internet-Protokollanforderung von dem ersten Gerät zu dem
zweiten Gerät,
- – Weitergabe
der Internet-Protokollanforderung von dem zweiten Gerät zu einem
Internet-Server,
- – Übertragung
einer Antwort von dem Internet-Server zu dem ersten Gerät beim Empfang
durch das zweite Gerät über den
Kommunikationsbus, mit dem Schritt des Sendens durch das erste Gerät eines
Internet-Anwendungs-Protokoll-Identifizierers
zu dem zweiten Gerät
zur Identifizierung des Internet-Anwendungsprotokolls
zur Benutzung zwischen dem ersten Gerät und dem Internet-Server zum Senden
und/oder Empfangen von Daten, wobei das Anwendungsprotokoll unter
mehreren, durch das zweite Gerät übertragenen Protokollen
ausgewählt
ist.
-
Durch
Aufnahme in das Netzwerk eines Geräts mit Mitteln zur Verbindung
mit dem Internet, das gleichzeitig die Mittel zur Kommunikation
mit Geräten
(oder Softwareelementen wie Anwendungen) in dem Netzwerk besitzt,
wird nur ein Gerät
mit einer derartigen Kapazität
für das
gesamte Netzwerk benötigt,
unabhängig
von der Anzahl der Internet-bezogenen Anwendungen, die in den Geräten dieses
Netzwerks laufen.
-
Außerdem bezeichnet
eine Internet-Anwendung mit Bildung einer Internet-Verbindung über das
zweite Gerät
selbst das Internet-Anwendungsprotokoll, das es benutzen möchte.
-
Gemäß einer
Ausführungsform
der Erfindung enthält
die erfindungsgemäße Methode
den Schritt des Sendens, durch das erste Gerät zu dem zweiten Gerät, einer
Anforderung für
eine Liste von Internet-Anwendungsprotokollen, die durch das zweite
Gerät durchgeführt werden.
-
Die
Erfindung betrifft außerdem
ein Gerät
zum Anschluss an einen Kommunikationsbus und das Internet, wobei
das Gerät
einen IP-Protokollstapel enthält,
gekennzeichnet durch:
mehrere Internet-Anwendungsprotokolle,
eine
anwendungsprogrammierbare Schnittstelle zur Ermöglichung einer Internetanwendung
eines an den Kommunikationsbus angeschlossenen Clienten-Geräts zur Auswahl
eines der Internet-Anwendungs-Protokolle durch Spezifizierung eines
Internet-Anwendungs-Protokollidentifizierers zum Senden und/oder
zum Empfangen von Daten zwischen der Internet-Anwendung und einem
internen Server.
-
Andere
Merkmale und Vorteile der Erfindung ergeben sich aus der Beschreibung
einer nicht-einschränkenden
Ausführungsform
der Erfindung, wobei diese Beschreibung anhand der folgenden Figuren
erfolgt:
-
1 ist
ein schematisches Diagramm von Geräten und Anschlüssen für den Zugriff
zu einem Internet-Server von einem Heimgerät,
-
2 ist
ein Blockschaltbild des Netzwerks gemäß der vorliegenden Erfindung,
-
3 ist
ein Diagramm der zwischen dem WEB-Client und dem WEB Proxy Agent
ausgetauschten Nachrichten,
-
4 ist
ein Diagramm der Kommunikation zwischen den Software-Elementen für die Herstellung
einer Kommunikation zwischen einem WEB-Client-Software-Element und
einem WEB-Server und einem WEB-Server über einen WEB Proxy Agent.
-
Die
folgende Beschreibung benutzt eine in dem folgenden Dokument definierte
Terminologie, auf das man sich für
weitere Details beziehen kann: " The
HAVi Architecture-Specification of the Home Audio/Video interoperability
(HAVi) Architecture" vom
11. Mai 1998, Version 0.8, öffentlich
beschrieben am 15. Mai 1998 auf den WEB-Seiten wenigstens der folgenden
Firmen: Sony, Philips, Toshiba, Sharp und Hitachi. Erläuterungen und
Definitionen für
die Terminologie sind ebenfalls am Ende der vorliegenden Beschreibung
angegeben. Die Adressen der HAVi-Organisation sind die folgenden:
HAVi, Inc, 40994 Encyclopedia Circle, Fremont, CA 94538, USA.
-
Für weitere
Informationen betreffend HTTP, das als ein Beispiel angenommen wird
des Protokolls, das durch die WEB-Anwendung der vorliegenden Ausführungsform
angenommen wird, kann das "Hypertext Transfer
Protocol/1.1 RFC 2068" als
Referenz benutzt werden. Andere Protokolle als das HTTP können benutzt
werden: FTP, SMTP, POP, IMAP und NNTP sind einige Beispiele.
-
Eine
Einfügung
in den HAVi-verträglichen
Netzwerkaufbau erfolgt zunächst,
um eine Zahl von Konzepten zu definieren, die für die Beschreibung der Ausführungsform
der Erfindung benötigt
werden.
-
Ein
HAVi-Netzwerk enthält
Geräte,
die von vier Typen sein können,
wobei diese Geräte
durch einen Kommunikationsbus miteinander verbunden sind. Die verschiedenen
Gerätetypen
sind, sortiert entsprechend ihren Netzwerk-bezogenen Fähigkeiten:
Full Audio/Video devices (FAV devices), Intermediate Audio/Video Devices
(IAV devices), Basic Audio/Video devices (BAV devices) und Legacy
Audio/Video devices (LAV devices).
-
Ausgenommen
die Geräte
vom LAV-Typ haben die anderen Geräte alle wenigstens die Möglichkeit, miteinander
zu kommunizieren.
-
FAV-Geräte enthalten
eine Laufzeit-Umgebung für
HAVi Bytecode. HAVi-Bytecode ist eine Programmiersprache, in der
Geräte-Steuermodule
(DCMs) oder Anwendungen geschrieben werden können. Ein FAV-Gerät kann somit
DCMs von oder für
andere Geräte
herunterladen, die diese Laufzeitumgebung nicht enthalten, z.B.
aus Kostengründen.
-
IAV-Geräte haben
nicht die Fähigkeit,
mit HAVi-Bytecode zu laufen, können
jedoch residente DCMs für
die Steuerung der anderen Geräte
enthalten.
-
BAV-Geräte sind
Geräte,
die entweder einen DCM-Code enthalten, der durch ein FAV-Gerät herunterladbar
ist, oder die durch einen nativen DCM-Lauf durch ein IAV-Gerät gesteuert
werden.
-
LAV-Geräte sind
Geräte,
die keine HAVi-Fähigkeit
besitzen. Diese Geräte
enthalten ihr eigenes Steuerprotokoll und fordern, dass ein FAV
oder ein IAV-Gerät
als ein Gateway zu dem HAVi-Netzwerk arbeitet und die notwendigen
Steuerbefehl-Übersetzungen
durchführt.
-
Jedes
Gerät enthält eine
Zahl von Objekten, genannt "software
elements" in der
HAVi-Terminologie. Ein Steuerverwalter mit einer bestimmten Funktion
(genannt FCM) eines Geräts,
d.h. ein Softwareelement zur Bildung einer Schnittstelle zur Steuerung
der spezifischen funktionalen Komponente (z.B. Tuner, Wiedergabe, Massenspeicher,
....) ist ein Gerät
von derartigen Objekten. Ein oben erwähntes DCM ist ein anderes.
-
Im
Allgemeinen würde
ein FAV-Gerät
eine Anzahl von Anwendungen und Geräte-Steueranwendungen enthalten, die über entsprechende,
anwendungsprogrammierbare Schnittstellen zusammenarbeiten:
- – ein
1394 Communication Media Manager, der es ermöglicht, dass andere Software-Elemente
eine asynchrone oder isochrone Kommunikation den IEEE 1394 Bus durchführen können;
- – ein
Message Passing System zum Austausch von Nachrichten mit anderen
Software-Elementen
- – ein
Ereignis-Manager zur Verwaltung von Änderungen des Objektzustands,
- – ein
Stream-Manager für
die Verwaltung von Audio/Video-Datenströmen zwischen funktionalen Datenkomponenten
wie einem Tuner und einem Aufzeichnungsgerät,
- – ein
Verzeichnis, das eine Liste von lokalen Software-Elementen und ihren
Identifizierern hält
und die Kommunikation mit entfernten Registern verwaltet,
- – Device
Control Module Manager zur Ladung oder zum Ausschalten von Device
Control Modules,
- – eine
Anzahl von entweder residenten oder hochgeladenen Geräte-Steuermodulen,
- – eine
Havi-Bytecode-Lauflänge-Umgebung
für die
Durchführung
von DCMs.
-
Das
Nachrichten-Durchlaufsystem bewirkt ein Zuordnen einzelner Identifizierer
für die
Software-Elemente, die diese Identifizierer benutzen, um sie selbst
in das Verzeichnis aufzunehmen. Diese Identifizierer werden bezeichnet
mit "SEID", stehend für Software
Element Identifiers und enthalten einen Geräte-Identifizierer und ein Software-Element
innerhalb des Geräts.
Ein erstes Software-Element, das eine Nachricht zu dem zweiten Software-Element
senden möchte,
durchläuft
die SEID dieses zweiten Software-Elements als ein Parameter in seinem
Befehl zu dem Message Passing System. Es enthält diese SEID durch Bildung
einer geeigneten Anforderung mit dem lokalen Verzeichnisservice.
Abhängig
davon, ob das Software-Element
lokal oder entfern ist (d.h. in einem anderen Gerät als nur
dem Software-Element)
benutzt das Software-Element den gesamten SEID oder sein Software-Element-Behandlungsteil.
-
Das
Mapping der Funktionsaufrufe in die Nachrichten des Message Passing
System ist im Detail beschrieben in dem Abschnitt 3.2.3 des HAVi
0.8 Dokuments. Das in dieser Version des HAVi-Dokuments beschriebene
Message Passing System kann Nachrichten bis zu einer Länge von
64 KB verarbeiten.
-
Die
französische
Patentanmeldung
FR 9805110 ,
angemeldet am 23. April 1998 auf den Namen von THOMSON Multimedia
liefert zusätzliche
Informationen über
das Verzeichnis und das Message Passing System. Die Veröffentlichungsnummer
der Anmeldung ist FR-A1-2778046, veröffentlicht am 29. Oktober 1999,
mit einer danach eingereichten PCT-Anmeldung mit der Veröffentlichungsnummer
WO-A1-9956435, veröffentlicht am
4. November 1999.
-
2 zeigt
ein HAVi-verträgliches
Heim-Netzwerk mit mit einem Kommunikationsbus 23 verbundenen Geräten 20, 21 und 22.
Der Bus 23 ist z.B. ein serieller Bus IEEE 1394. Das Gerät 20 ist
ein digitaler Fernsehempfänger,
kompatibel mit dem Digital Video Broadcast (DVB)-Standard, das in
Europa benutzt wird, oder das Direct Satellite System (DSS), das
in den Vereinigten Staaten benutzt wird. Es enthält eine WEB-Anwendung, d.h.
eine Software-Anwendung, in der Lage zum Senden und/oder zur Anforderung
von Daten durch das Internet, das das HTTP-Protokoll benutzt. Für den Zweck
des vorliegenden Beispiels ist die WEB-Anwendung des Ge räts 20 ein
elektronischer Programmführer
(EPG), der Informationen mit einem bestimmten Internet-Server austauscht.
Das Gerät 22 ist
ein Personal Computer, dessen WEB-Anwendung ein Internet-Browser
ist. Keines der Geräte 20 und 22 besitzt
einen IP-Stapel, die PPP-Protokollschicht eines mit dem öffentlichen
Telefonnetz verbundenen Modems.
-
Das
Gerät 21 enthält eine
WEB-Zugriffs-anwendungsprogrammierende Schnittstelle (WEB-Zugriff API),
sowie den IP-Stapel, das PPP-Protokoll und ein Modem. Das Gerät 21 kann
ein FAV, ein IAV oder ein BAV-Gerät sein. Das funktionale Komponentenmodul
(FCM), das Zugriff bringt zu dem IP-Stapel-Betrieb durch die unterschiedlichen
WEB-Anwendung wird mit "Internet
Proxy Agent" oder "WEB Proxy Agent" bezeichnet. Es liefert
die WEB-Zugriffsanwendung-programmierbare Schnittstelle, die die
Schicht über
dem IP-Stapel ist.
-
Gemäß dem vorliegenden
Beispiel ist das Gerät 21 ein
digitaler Fernsehdecoder mit einem Modem.
-
Das
WEB Proxy FCM liefert einen aufteilbaren Zugriff zu dem Internet.
Es registriert bei dem Zurücksetzen
oder "hot-plugging" an das lokale Verzeichnis
des Geräts 21,
wenn dieses Gerät
ein FAV oder IAV ist, oder an das lokale Verzeichnis des FAV oder
IAV-Geräts,
dass das Gerätesteuermodul
abläuft
entsprechend der WEB-Proxy FCM, wenn das Gerät 21 vom BAV-Typ ist.
-
Die
WEB-Anwendung, die auch als "WEB"-Client bezeichnet
werden kann, ist in der Lage, das WEB Proxy FCM in dem Netzwerk
durch Senden einer Anforderung an seinen lokalen Verzeichnis-Service
zu detektieren. Das lokale Verzeichnis sendet die Anforderung zu
den entfernten Verzeichnissen und sammelt die Antworten. In dem
Fall der vorliegenden Ausführungsform
wird nur der Identifizierer ("SEID") der WEB Proxy FCM
des Geräts 21 detektiert.
-
Die
WEB Proxy FCM überträgt vorzugsweise
wenigstens mehrere allgemein benutzte Internetprotokolle, wie HTTP,
FTP, NNTP, SMTP, POP oder IMAP. Der WEB-Client benutzt das WEB Proxy FCM Anwendung
programmierbare Protokoll durch das Nachrichten-Durchlauf-System.
Die anwendungsprogrammierbare Schnittstelle enthält die folgenden Funktionen:
Open,
Close, Send, Receive und GetCapability.
-
Diese
verschiedenen Funktionen werden nunmehr im Detail beschrieben.
-
Die
folgenden Datenstrukturen werden durch die Funktionen der WEB Proxy
FCM benutzt:
-
(a) enum FileLoc{START,
NEXT, END};
-
Diese
Datenstruktur zeigt an, ob die Nachricht von einem Hersteller zu
einem Verbraucher die erste Nachricht ist, eine Zwischennachricht
oder die letzte (oder nur) Nachricht in einer Folge von Nachrichten
ist. Es wird benutzt in Verbindung mit der notion = (Idee, Absicht,
Auffassung) der Puffergröße bei dem
WEB-Client oder beim dem WEB Proxy FCM benutzt, da die Puffergröße, wie
später
erläutert
wird, einen Funktionsaufruf auslösen
kann, um über
mehrere Nachrichten aufgespalten zu werden.
-
(b) enum ProtocolType
{HTTP, FTP, SMRP, POP3, IMAP4, NNTP, WAIS};
-
Diese
Datenstruktur zeigt die Liste der WEB-Anwendungsprotokolle an, die
das WEB Proxy FCM übertragen
kann.
-
Die
Funktionen in der folgenden Liste werden in dem vorliegenden System
ausgeführt.
-
(a)"Open"-Funktion
-
Diese
Funktion erlaubt es dem WEB-Client, eine Verbindung mit einer WEB
Proxy-FCM zu öffnen:
-
"Status" ist der Typ des
Rückgabewertes
der Funktion.
-
Es
werden die folgenden Parameter benutzt:
- – protocol:
dieser Parameter, gesetzt durch den WEB-Client, bezeichnet das Protokoll
(HTTP...) zugehörig zu
der Sitzung, die der WEB-Client öffnen
möchte.
- – client_buffer_size:
dieser Parameter, gesetzt durch den WEB-Client, gibt die Maximalgröße einer
durch den WEB-Client angenommenen Nachricht an, in anderen Worten
die Größe seines
Nachrichtenpuffers. Die WEB Proxy: Dieser Parameter, gesetzt durch
den WEB-Client, gibt die Maximalgröße einer durch den WEB-Client
angenommenen Nachricht an, in anderen Worten die Größe seines
Nachrichtenpuffers. Die WEB Proxy FCM benutzt diesen Parameter,
um die Größe der zu
dem Client gesendeten Nachrichten zu definieren. Durch den WEB Proxy
FCM gesendete Daten werden in eine Zahl von Datenblöcken aufgespalten,
abhängig
von diesem Parameter.
- – opCode:
dieser Parameter ist ein Code, den die WEB Proxy FCM benutzt für die Weiterleitung
einer ankommenden Antwort von dem Internet zu dem WEB-Client. Dieser
Betriebscode identifiziert eine Funktion des WEB-Client, die der
WEB Proxy FCM zur Weiterleitung einer Antwort zu dem Client aufrufen
muss. Dieser Parameter wird durch den WEB-Client benutzt. In dem
vorliegenden Fall identifiziert der Wert des opCode die Funktion "Receive". Der Betriebscode
identifiziert einzig eine Funktion mit einem Software-Element. Die
einzigartige Adresse einer Funktion in dem Netzwerk enthält somit
den "SEID"-Identifizierer und den
Betriebscode.
- – cid:
dieser Parameter ist ein Identifizierer der Verbindung zwischen
dem WEB-Client und der WEB Proxy FCM. Er ist definiert durch den
WEB Proxy FCM. Er ermöglicht,
mehrere Verbindungen von dem Software-Komponenten-Client parallel zu öffnen (mit
derselben WEB Proxy FCM oder mit anderen WEB Proxy FCMs) und ermöglicht ebenfalls
die Anpassung einer Antwort von dem Internet an eine Anforderung.
- – proxy_buffer_size:
dieser Parameter, zurückgeführt zu dem
WEB Proxy FCM, zeigt die maximale Größe (in Byte) einer durch die
WEB Proxy FCM angenommenen Nachricht an. Der WEB-Client benutzt
diesen Parameter zur Bestimmung der Größe der Nachrichten, z.B. der
Anforderungen, die durch den WEB-Client zu dem WEB Proxy FCM gesendet
werden.
-
Nach
dem Empfang der Open-Funktion von einem WEB-Client liefert die WEB
Proxy zusammen mit den obigen Parameter einen der folgenden Status-Werte
zurück:
"0" im Fall einer erfolgreichen Sitzungs-Öffnung,
"1" im Falle eines Resourcen-Zuordnungsfehlers,
"2", wenn der Protokoll-Typ nicht durch
den WEB-Client übertragen
wird.
-
(b) "Close"-Funktion
-
Diese
Funktion ermöglicht
es einem WEB-Client, eine vorher geöffnete Verbindung mit einem
WEB Proxy FCM zu schließen,
identifiziert durch den cid-Parameter. Der Funktions-Prototyp ist
folgendermaßen
definiert:
-
Der
einzige Parameter ist der cid-Parameter, d.h. der Identifizierer
dieser Verbindung mit dem WEB Proxy FCM. Der WEB Proxy FCM quittiert
oder erkennt mit einem der folgenden Status-Werte an:
0: Die
Verbindung wurde erfolgreich geschlossen,
1: Der übertragene
Wert des cid-Parameters ist unbekannt.
-
(c) "Send"-Funktion
-
Diese
Funktion wird durch einen WEB-Client aufgerufen, eine Anforderung
zu einem WEB-Server zu senden, die das vorher durch die "Open"-Funktion definierten
Protokoll (HTTP...) benutzt. Der Funktions-Prototyp ist folgendermaßen definiert:
-
Zusätzlich zu
dem bereits definierten cid-Parameter sind die Parameter der Funktionen
die folgenden:
- – where: dieser Parameter,
der durch das aufrufende Software-Element ermittelt wird, zeigt
an, wenn die Nachricht die erste Nachricht, eine Zwischen-Nachricht oder die
letzte Nachricht in einer Folge von Nachrichten ist. Es können mehr
als eine Nachricht nötig
sein, um diese Funktion aufzurufen, da die in dem Funktionsaufruf übertragene
Datenmenge zu groß sein
kann für
den Puffer der WEB Proxy FCM, um in einer einzigen Nachricht verarbeitet
zu werden.
- – web_data:
dieser Parameter enthält
einen Teil der vollständigen
Anforderung gemäß dem WEB
Application Protocol, das die durch den cid-Parameter identifizierte
Verbindung benutzt wird.
-
Beim
Empfang des Funktionsaufrufs bestätigt die WEB Proxy FCM mit
einem der folgenden Statuswerte:
"0",
wenn die Nachricht erfolgreich verarbeitet wurde,
"1", wenn die Größe "web_data" die feste Maximalgröße übersteigt,
"2", wenn es unmöglich ist, diese Nachricht
zu verarbeiten,
"3", wenn der übertragene
Wert des cid-Parameters dem WEB Proxy FCM nicht bekannt ist.
-
Im
Fehlerfall entscheidet der WEB Client, ob die Verbindung geschlossen
wird oder nicht, oder wieder die vorangehende Nachricht gesendet
wird.
-
(d) "Receive"-Funktion
-
Dieses
ist der Prototyp der in dem WEB-Client durchgeführten Funktion, die es dem
WEB Proxy FCM ermöglicht,
den WEB-Client eine ankommende Nachricht entsprechend dem WEB-Anwendungsprotokoll
weiterzuleiten. Der Funktions-Prototyp ist folgendermaßen definiert:
-
Zusätzlich zu
den bereits definierten Parametern werden durch die vorliegende
Funktion die folgenden Parameter benutzt:
- – web_data:
enthalten einen Teil der gesamten Antwort entsprechend dem WEB Application
Protocol, benutzt durch die durch cid Parameter identifizierte Verbindung.
-
Nach
dem Aufruf des WEB Proxy Servers bestätigt der WEB-Client mit einem
der folgenden Status-Werte:
"0",
wenn die Nachricht erfolgreich verarbeitet wurde,
"1 ", wenn die Datengröße die feste
Maximalgröße übersteigt,
"2", wenn es für den WEB-Client unmöglich ist,
diese Nachricht zu verarbeiten,
"3",
wenn der WEB-Client den Wert des "cid"-Parameters
nicht erkennt.
-
In
einem Fehlerfall reagiert die WEB Proxy FCM nicht. Es ist Aufgabe
des WEB-Client,
zu entscheiden, ob er die Verbindung aufrechterhält oder nicht.
-
(e) "GetCapability"-Funktion
-
Diese
Funktion, aufrufbar durch den WEB-Client, liefert die Liste der
Protokolle zurück,
die der WEB Proxy FCM überträgt.
-
Der
Funktions-Prototyp ist folgendermaßen:
-
Der
einzige Parameter der Funktion ist "ProtocolList", der die Liste von WEB-Anwendungsprotokollen ist,
die durch die FCM verfügbar
sind. Es können
mehr als ein Protokoll durch die WEB Proxy FCM übertragen werden.
-
3 gibt
ein Beispiel eines üblichen
Nachrichtenaustauschs zwischen einem WEB-Clienten und einer WEB
Proxy FCM an. Bei dem Message Passing System kann ein Funktionsaufruf
die Nachrichten in zwei Richtungen triggern: eine erste Nachricht
von dem Aufruf-Software-Element zu dem aufgerufenen Software-Element
mit "in-bound" Parametern, gesendet
zu diesem aufgerufenen Software-Element, und eine zweite Nachricht
in der entgegengesetzten Richtung, für "shuttling back" der "out-bound"-Parameter, sofern erforderlich.
-
Die
Open-Funktion, wie sie in 3 dargestellt
ist, ergibt eine erste Nachricht von dem WEB-Client zu dem WEB Proxy
FCM. Diese Nachricht informiert die WEB Proxy FCM des Protokolls,
das über
die Verbindung benutzt wird, die geöffnet wird, und der Größe des Puffers,
der den WEB-Client für
die Rückkehrnachrichten für diese
bestimmte Verbindung zuordnet. Puffergrößen können von Verbindung zu Verbindung
unterschiedlich sein. Der WEB-Client überträgt außerdem den Operationscode der
Receive-function, die der WEB Proxy FCM benutzen muss, um die Receive-Funktion bei dem
WEB-Client aufzurufen. Bei dem Message Passing System überträgt der WEB-Client
außerdem
seinen eigenen Identifizierer "SEID".
-
Unter
der Annahme eines richtigen Empfangs und Verarbeitung antwortet
der WEB Proxy FCM durch den Rück-Code "0" zur Anzeige der erfolgreichen Verarbeitung,
sendet einen "cid"-Wert zur Identifizierung
der Verbindung und überträgt auch
seine eigene Puffergröße für eine weitere
Kommunikation.
-
Sobald
die Verbindung offen ist, sendet der WEB-Client weiter eine Anforderung
an den WEB-Server mit Anwendung des HTTP-Protokolls. Gemäß dem Beispiel
von 4 hält
diese Anforderung in einer einzigen Nachricht, die den Verbindungsidentifizierer
cid enthält,
die Anforderung unter dem HTTP-Format, und dem "End"-Parameter. Die WEB
Proxy FCM bestätigt
den richtigen Empfang und gibt die Anforderung über das Internet über ihre
IP-Stapel und Modem weiter. Der WEB-Server antwortet mit den angeforderten
Daten und überträgt sie zu
dem WEB Proxy FCM. Da in dem vorliegenden Beispiel die Qualität der Daten
weit oberhalb der Pufferkapaziät
des WEB-Client liegt, spaltet der WEB Proxy FCM die Daten in Nachrichten
mit geeigneter Größe. Der
WEB Proxy FCM sendet einen ersten Datenblock als einen Parameter
innerhalb des Empfangsfunktionsaufrufs durch Benutzung des Be triebscodes,
der vorher von dem WEB-Client erhalten worden ist, angefügt an den
SEID-Identifizierer des WEB-Client. Er benutzt "START" als einen Parameter. Weitere Nachrichten
werden nur nach der Emfpangsbestätigung
durch den WEB-Client gesendet, um ihm Zeit zu geben für die Verarbeitung
der empfangenen Daten und zur Leerung seines Puffers. Nach dem Empfang
des letzten Datenblocks schließt
der WEB-Client durch die Close-function die Verbindung. Der WEB
Proxy FCM antwortet durch eine letzte Emfpangsbestätigung.
-
Schließlich wird
gemäß der vorliegenden
Ausführungsform
die Konfiguration des WEB Proxy FCM, z.B. der Modem-Verbindung direkt
durch den Benutzer über
eine graphische Schnittstelle ausgeführt, die durch das Device Control
Modul geliefert wird, das die WEB Proxy FCM verwaltet. Es gibt keine
spezielle anwendungsprogrammierbare Schnittstelle für diese
Aufgabe, die durch Anwendung der Daten durchgeführt werden kann, die durch
einen Interaktion (DDI)-Mechanismus von der HAVi-Spezifikation gesteuert
werden.
-
Glossar:
-
base AV device (BAV)
-
Ein
mit HAVi verträgliches
Gerät mit
dem HAVi SDD Daten, jedoch ohne Ausführen von Software-Elementen
des HAVi-Aufbaus.
-
Controller
-
Ein
Gerät,
das die anderen Geräte
steuert. Ein IAV oder FAV-Gerät.
-
data driven interaction
(DDI)
-
Ein
HAVi-Mechanismus, der die Steuerung der Software-Elemente ermöglicht,
z.B. DTMs über
Benutzerschnittstellenelemente wie Knöpfe und Icons.
-
DDI controller
-
Eine
Software-Einheit, die die DDI rendert und den Benutzereingriff verarbeitet.
-
DDI element
-
Die
DDI-Codierung eines Benutzer-Schnittstellen-Elements.
-
DDI protocol
-
Die
HAVi-Nachrichten, die eine durch Daten gesteuerte Interaktion durchführt.
-
Gerät
-
Eine
mit dem Heimnetzwerk verbundene körperliche Einheit, Beispiele
sind Videospieler, Recorder, Kameras, CD und DVD-Spieler, Set-Top-Boxen,
DTV-Empfänger
und PCs.
-
Geräte-Steuer-Anwendung
-
Ein
HAVi-Software-Element, das die Benutzer-Steuerung eines spezifischen
Geräts
(und seiner funktionalen Komponenten) ermöglicht, eingerichtet auf Anforderung
und gegebenenfalls auf einen anderen Controller als derjenige, auf
dem die DCM durchgeführt
wird.
-
device control module
(DCM)
-
Ein
HAVi-Software-Element, das eine Schnittstelle zur Steuerung allgemeiner
Funktionen eines Geräts
liefert.
-
DCM Code-Einheit
-
Eine
HAVi-Bytecode-Einheit, die auf einer FAV geladen und installiert
werden soll, oder eine Prioritätscodeeinheit,
die auf einem FAV oder IAV eingerichtet werden soll. Die Einrichtung
einer CVM-Code-Einheit resultiert in einer DCM und mehreren FCMs
und gegebenenfalls einer Gerätesteueranwendung.
-
eingebettete DCM
-
Eine
DCM, ausgeführt
in einem nativen (d.h. Plattform-abhängigen) code. Eingebettete
DCMs laufen im Allgemeinen auf IAV-Geräten.
-
volles AV Gerät (FAV)
-
Ein
HAVi-verträgliches
Gerät,
das die Software-Elemente des HAVi-Aufbaus laufen lässt, einschließlich einer
HAVi-Bytecode-Laufzeit.
-
Funktionale Komponente
-
Eine
Abstraktion innerhalb des HAVi-Aufbaus, die eine Gruppe von zugehörigen Funktionen
für ein Gerät darstellt,
z.B, kann ein DTV-Empfänger
aus mehreren funktionalen Komponenten bestehen: Tuner, Decoder,
Audioverstärker,
usw.
-
Funktionales Komponentenmodul
(FCM)
-
ein
HAVi Software-Element, das eine Schnittstelle zur Steuerung einer
spezifischen funktionalen Komponente eines Geräts zur Verfügung stellt.
-
globale EINDEUTIGE ID (GUID)
-
Eine
64-Bit-Menge zur einzigartigen Identifizierung eines IEEE 1394-Geräts. Besteht
aus einer 24-Bit-Firmen-ID ( gewonnen von dem 1394 Registry Authority
Committee) und eine 40-Bit Seriennummer, zugeordnet durch den Gerätehersteller.
Der GUID wird in einem Konfigurierungs-ROM eines Geräts gespeichert und
ist resistent gegenüber
1394 Netzwerk-Resets oder -Neustarts.
-
HAVi-Aufbau
-
Der
HAVi-Aufbau enthält
das Nachrichtenmodell, das Steuermodul, das Gerätemodul und eine in diesem
Dokument definierte Ausführungsumgebung.
-
HAVi-Bytecode
-
Eine übertragbare
Code-Darstellung, benutzt durch die hochgeladenen DCMs und möglicherweise
die Anwendungen. FAV-Geräte
enthalten eine Laufzeitumgebung für das Laden und die Durchführung des
HAVi-Bytecodes. HAVi-Bytecode ist noch nicht spezifiziert, wird
jedoch aus den bestehenden Kandidaten gewählt.
-
HAVi-verträgliches
Gerät
-
Ein
Gerät mit
dem IEEE 1394, IEC 61883 und entsprechend der HAVi-Aufbauspezifikation
für ein
FAV, IAV oder BAV-Gerät.
-
HAVi Level 1 Interoperabilität
-
Betrifft
die durch die IAVs und eingebetteten DCMs gelieferten Merkmale.
-
HAVi Level 2 Interoperabilität
-
Betrifft
die durch die IAVs und hochgeladenen DCMs gelieferten Merkmale.
-
HAVi SDD data
-
Daten
für ein
selbstbeschreibendes Gerät
(SDD) werden in der IEEE 1212 Configurations ROM auf 1394 Geräten gespeichert.
HAVi spezifiziert SDD-Datenteile, die für DDI-Elemente oder hochgeladene
DCMs benutzt werden können.
-
HAVi eindeutige ID (HUID)
-
Eine
eindeutige Identifikation von Geräten und ihren funktionalen
Komponenten. Besteht über
Wechsel in der Netzwerkonfiguration (d.h. Gerät angeschlossen oder getrennt).
-
Heimnetzwerk
-
Das
Heimnetzwerk ist der generische Name, der für die Definition der Kommunikations-Infrastruktur im
Haus benutzt wird. Dieser Name dient als eine Abstraktion von den
körperlichen
Medien und zugehörigen Protokollen.
Ein Heimnetzwerk führt
den Austausch der Steuerinformationen und den Austausch des AV-Inhalts
durch.
-
intermediate AV device
(IAV)
-
Ein
HAVi-verträgliches
Gerät,
das die Software-Elemente des HAVi-Aufbaus bewirkt, jedoch keine
HAVi-Laufzeitumgebung enthält.
-
legacy AV device (LAV)
-
Ein
nicht-HAVi-verträgliches
Gerät.
-
Software-Element
-
Ein
HAVi-Objekt. Ein Software-Element spricht an auf einen Satz von
die die API für
dieses Element spezifizierten Nachrichten.
-
Software-element ID (SEID)
-
Ein
80-Bit-Wert zur Identifzierung der Software-Elemente. Nicht garantiert,
dass es beständig
ist über Änderungen
in der Netzwerk-Konfiguration (d.h. Gerät angeschlossen oder getrennt).
-
hochgeladene DCM
-
Eine
in einem HAVi-Bytecode durchgeführte
DCM. Hochgeladene DCMs laufen nur auf FAV-Geräten.