-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur Herstellung
einer Verbindung zwischen über
Entfernung steuerbare Einheiten, insbesondere auf eine Verbindung
mit garantierter Bandbreite, und auch auf über Entfernung steuerbare Einheiten
und eine Steuervorrichtung, die dafür geeignet ist.
-
Im
Folgenden werden die über
Entfernung steuerbaren Einheiten einfach als entfernte Einheiten
bezeichnet.
-
Ein
Verfahren zur Steuerung einer entfernten Einheit mit HTTP ist von
dem Internet bekannt. Gewisse Internetauftritte zeigen, wie eine
Audio-Video-Einheit
(AV-Einheit), beispielsweise ein Audiotuner oder ein Fernsehempfänger, gesteuert
werden, um auf unterschiedliche Kanäle umzuschalten, um unterschiedliche, auswählbare Informationen
zu und über
das Internet zu übertragen.
Ein Beispiel für
solch ein System ist in 14 gezeigt.
Hier ist gezeigt, wie ein Radio mit HTTP gesteuert wird. Ein Radiosender 100 als
Quelleneinheit gibt ein analoges Signal mit mehreren Dienstleistungen
an eine Zieleinheit, hier einen Server 101, der eine Internetadresse
(URL = Universal Resource Locator = universeller Resourcen-Locator) bietet,
beispielsweise http//www.chilton.com/scripts/radio/R8-receiver. Der Server 101 umfasst
einen Mikrocontroller und einen HTTP-Server 103, der die Möglichkeit
bietet, eine aus einer Vielzahl von Dienstleistungen auszuwählen, die von
dem Radiosender 100 über
das Internet empfangen werden, und sie zu dem Internet auszugeben.
In diesem Fall wird HTTP als Übertragungsprotokoll
verwendet. Der Mikrocontroller und der HTTP-Server 103 bieten
eine graphische Benutzerschnittstelle zu einem beliebigen Internetbenutzer,
der die Internetadresse (URL) des Servers 101 wählt. Der
Internetbenutzer benötigt
einen Controller 102, wie einen Webbrowser, um eine asynchrone
Verbindung mit dem Server 101 aufzubauen. Diese asynchrone
Verbindung von Punkt zu Punkt wird für Audiodaten und für das HTTP-Steuerprotokoll
aufgebaut.
-
Es
ist auch aus dem Internet bekannt, eine Verbindung zwischen zwei
entfernten Einheiten, beispielsweise zwischen zwei HTTP-Servern,
aufzubauen. Ein Beispiel solch einer Verbindung ist in 15 gezeigt. Der
Internetbenutzer kann eine Verbindung zu einer Zieleinheit 105 herstellen,
die ein HTTP-Server mit einer Suchmaschinenfunktion ist. Die Verbindung
mit der Zieleinheit 105 ist eine asynchrone Verbindung
zur Steuerung der Zieleinheit 105 und zur Datenrückgewinnung
von der Zieleinheit zu dem Controller 102 (beispielsweise
Webbrowser) des Internetbenutzers. Wenn der HTTP-Server 105 nicht
die angeforderten Daten selbst liefern kann. Es gibt die Möglichkeit,
dass diese Zieleinheit eine zweite, asynchrone Verbindung mit einem
anderen HTTP-Server 104 herstellen kann, der ebenfalls
als Suchmaschine dient. Solch eine Verbindung zwischen diesen beiden
entfernten Servern 104 und 105 wird nicht direkt
durch den Internetbenutzer gesteuert, sondern wird durch die Zieleinheit,
die von dem Internetbenutzer ausgewählt wurde, selbständig aufgebaut.
In dem gezeigten Ausführungsbeispiel
stellt der Internetbenutzer eine Verbindung mit seinem Webbrowser 102 zu
der Zieleinheit Yahoo mit der Internetadresse www.Yahoo.com her,
und die Zieleinheit Yahoo baut eine asynchrone Verbindung mit einer
Quelleinheit Altavista mit der Internetadresse „www.Altavista.digital.com" auf.
-
In
beiden gezeigten Beispielen werden nicht nur die Steuerdaten sondern
auch Audiodaten oder gewonnene Daten auf einer herkömmlichen
TCP/IP (Transmission Control Protocol/Internet Protocol = Übertragungssteuerprotokoll/Internetprotokoll)-Verbindung
transportiert, die keine garantierte Bandbreite bietet. Daher wird
nach der Steuerung der Zieleinheit unter Verwendung von beispielsweise
HTTP auch die angeforderte Information an den Internetbenutzer über seinen/ihren
Webbrowser 102 unter Verwendung von HTTP übertragen.
Dies bedeutet gelegentlich lange Wartezeiten, da eine HTTP-Verbindung
keine garantierte Bandbreite reservieren kann.
-
Andererseits
sind Netzwerkumgebungen bekannt, die eine Zusammenarbeitungsfähigkeit
zwischen Audio/Video-Quellen und Zieleinheiten mit Transportmechanismen
erfordern, wie beispielsweise in IEEE-1394 definiert ist, welche
verwendet wird, um eine Kommunikation zwischen angeschlossenen Einheiten
mit garantierter Bandbreite zu ermöglichen. Solch eine Netzwerkumgebung
ist in 13 gezeigt. IEEE-1394 spezifiziert „isochrone" Kanäle, die
eine garantierte Bandbreite zwischen angeschlossenen Quellen und
Zieleinheiten bieten. Zusätzlich
gibt es „asynchrone" Kanäle, die
Verbindungen von Punkt zu Punkt für System spezifische Steuerprotokolle
bieten. Hier werden verschiedene systemspezifische Protokolle spezifiziert,
beispielsweise für
digitale VCR's,
DVB-Tuner, DAB-Tuner usw., um eine Steuerung der entsprechenden
Einheiten der verschiedenen Typen zu ermöglichen. In 13 sind
zwei solcher entfernter Einheiten 1 gezeigt. Die eine ist
eine Tuner-Einheit 1A und die andere ist eine Speichermedien-Einheit 1B.
Beide Einheiten 1 haben eine logische Schnittstelle 4,
die mit den isochronen Kanälen
des IEEE-1394-Netzwerks
verbunden ist. Beide Einheiten 1 umfassen einen Mikroprozessor 9,
der zur Steuerung dieser Einheiten verwendet wird. Beide Einheiten 1 haben
auch eine logische Schnittstelle 6, die mit einem Controller 2 über einen
asynchronen Kanal des IEEE-1394-Netzwerks verbunden ist. Solch ein
mehrfach funktionaler Controller 2, d. h. ein System, das
in der Lage ist, alle angeschlossenen, entfernten Einheiten 1 zu
steuern, muss alle systemspezifischen Protokolle unterstützen und
hat daher eine verhältnismäßig komplizierte
Struktur. Ferner erfordert das Hinzufügen eines zusätzlichen
Einheitstyps im Allgemeinen eine entsprechende Aufrüstung des
Controllers 2, da jede entfernte Einheit 1 eines
anderen Typs oder Herstellung es erfordert, dass ein systemspezifisches
Steuerprotokoll über den
asynchronen Kanal gesendet wird.
-
Wie
erwähnt
wurde, erfordert jeder Typ einer entfernten Einheit, der mit einem
IEEE-1394-Netzwerksystem verbunden ist, ein spezifisches Steuerprotokoll.
Folglich, um einen Benutzer in die Lage zu versetzen, diesen Typ
von Einheit zu steuern, wird die Umsetzung des Controllers 2 kompliziert,
da alle relevanten Protokolle bekannt sein müssen. Es ist schwierig, dass
Controller in der Lage sind, alle Systeme zu steuern, da so genannte
dedizierte Controller verwendet werden, die für einen Systemtyp gedacht sind.
Eine weitere Schwierigkeit liegt in der Tatsache, dass das jeweilige
systemspezifische Protokoll relativ starr ist, da es dazu gedacht
ist, die Steuerung von Niedrigniveau-Einheitsfunktionen zu ermöglichen.
Folglich wird bei einer Aufrüstung
einer entfernten Einheit 1 in dem IEEE-1394-Netzwerk auch eine dazugehörige Aufrüstung des
Controllers 2 erforderlich, da das existierende Protokoll
ausgedehnt werden muss. Auch das Hinzufügen eines neuen, entfernten
Einheitstyps zu dem IEEE-1394-Netzwerk
wird ein Problem sein, da der Controller 2 entweder ein
neues systemspezifisches Protokoll unterstützen muss oder die neue, entfernte
Einheit 1 eines der systemspezifischen Protokolle unterstützen muss,
die der Controller 2 bereits kennt. Da die systemspezifischen Protokolle
verhältnismäßig starr
sind, kann ein Controller-Hersteller des Weiteren die Benutzerschnittstelle
in einer solchen Weise leicht so ausgestalten, dass sie jegliche
Ansicht der und jegliches Gefühl
für die
gesteuerte(n), entfernte(n) Einheit 1 verbirgt. Diese könnte bestimmte
Ausrüstungshersteller
entmutigen, die IEEE-1394-Netzwerke zu unterstützen. Letzeres kann auch zu
einer größeren Unterstützung für nicht-kompatible
Netzwerkprotokolle führen,
was zu noch mehr Problemen bei der Zusammenarbeit führen würde.
-
Eine
Steuerung einer Einheit mit HTTP, wie sie nun im Internet zur Verfügung steht,
löst die
oben erwähnten
Probleme. In diesem Fall wird jedoch keine direkt steuerbare Verbindung
zwischen zwei entfernten Einheiten 1 aufgebaut, und jegliche
angeforderte Daten, beispielsweise Audio- und Videodaten, werden über eine
Verbindung transportiert, die keine adäquate Bandbreite garantiert,
so dass im Falle von überlasteten Netzwerkverbindungen
ein unterbrochener Datenfluß das
Ergebnis ist, beispielsweise eine unterbrochene Audio/Video-Wiedergabe.
Auch vermissen die meisten Web-Autoren die Möglichkeit, die Benutzer dadurch
zu erziehen, dass eine graphische Darstellung des Datenflusses angezeigt
wird.
-
Das
Dokument
DE 197 04
694 A1 offenbart, eine entfernte Einheit unter Verwendung
von HTTP zu steuern. Das Dokument
WO97/18636 offenbart,
eine Steuereinheit unter Verwendung von HTTP entfernt zu steuern.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein einfaches
Verfahren und eine Steuervorrichtung zum Aufbauen einer Verbindung
zwischen entfernten Einheiten, beispielsweise Netzwerkeinheiten, bereit
zu stellen.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zur Herstellung einer ersten Verbindung
zwischen entfernten Einheiten bereitgestellt, indem die entfernten
Einheiten unter Verwendung eines Hypertext-Übertragungsprotokolls
unabhängig
gesteuert werden, wobei zweite Verbindungen, die zum Steuern der entfernten
Einheiten verwendet werden, unabhängig von den ersten Verbindungen
betrieben werden.
-
Vorzugsweise
werden die entfernten Einheiten über
eine Steuereinrichtung gesteuert, wobei die Steuereinrichtung die
entfernten Einheiten unter Verwendung eines Hypertext-Übertragungsprotokolls
steuert. Die Steuereinrichtung kann entweder entfernt ebenfalls
unter Verwendung eines Hypertext-Übertragungsprotokolls oder
direkt über
eine Benutzerschnittstelle gesteuert werden, die in der Steuereinrichtung
enthalten ist.
-
Gemäß der Erfindung
wird statt der Verwendung mehrerer systemspezifischer Protokolle
ein Hypertext-Übertragungsprotokoll,
d. h. HTTP, verwendet, um die Wechselwirkung zwischen mehreren entfernten Einheiten
zu organisieren. Jede Einheit arbeitet wie ein Internetserver und
kann ein Menü von
Wahlmöglichkeiten
anbieten, die einer bestimmten Steuerfunktion entsprechen. Der Aufbau
eines Controllers wird viel einfacher, da nur ein Steuerprotokoll
von dem Controller unterstützt
werden muss. Im Falle einer Aufrüstung
des Netzwerksystems durch Hinzufügen
zusätzlicher
Typen entfernter Einheiten ist es nicht erforderlich, ein neues Steuerprotokoll
in den Controller einzubringen. Dies kann vorzugsweise dadurch getan
werden, dass eine Benutzerschnittstelle von jeder der entfernten
Einheiten, die durch den Controller gesteuert werden sollen, in
den Controller heruntergeladen wird, und dass diese Benutzerschnittstellen
einem Benutzer angeboten werden, der die entfernten Einheiten steuern
will.
-
Weitere
bevorzugte Ausführungsbeispiele
des erfindungsgemäßen Verfahrens,
das in Anspruch 1 definiert ist, sind in den abhängigen Ansprüchen 2 bis
12 definiert.
-
Eine
entfernte Einheit gemäß der vorliegenden
Erfindung, die in der Lage ist, eine erste Verbindung mit anderen
entfernten Einheiten aufzubauen, umfasst eine Steuerschnittstelle, über die
die entfernte Einheit über
eine zweite Verbindung steuerbar ist, unter Verwendung eines Hypertext-Übertragungsprotokolls, worin die
zweite Verbindung verwendet werden kann, um den Aufbau der ersten
Verbindung über
Entfernung einzuleiten, worin die entfernte Einheit in der Lage
ist, die erste und die zweite Verbindung unabhängig zu betreiben.
-
Vorzugsweise
speichert die Steuerschnittstelle eine Benutzerschnittstelle, die
eine graphische Benutzerschnittstelle sein kann. Mit solch einer Benutzerschnittstelle
arbeitet die entfernte Einheit gemäß der vorliegenden Erfindung
effektiv wie ein HTTP-Server. In diesem Fall wird die Benutzerschnittstelle,
die in der Steuerschnittstelle gespeichert ist, von der entfernten
Einheit zu einer Steuereinheit heruntergeladen, wenn auf die entfernte
Einheit durch einen Benutzer über
eine Steuereinheit zugegriffen wird. Sodann sind alle Funktionalitäten der
entfernten Einheit über
den von dem Benutzer benutzten Controller zugänglich.
-
Weitere
bevorzugte Ausführungsbeispiele
einer entfernten Einheit gemäß der Erfindung,
wie sie in dem unabhängigen
Anspruch 13 definiert ist, sind in den abhängigen Ansprüchen 14
bis 22 spezifiziert.
-
Wie
aus der vorstehenden Erläuterung
entnommen werden kann, kann jeder Web-Browser, der in der Lage ist,
eine Verbindung zu mehr als einem oder mehreren HTTP-Server(n) herzustellen,
als Controller dienen, um die Einheiten gemäß der vorliegenden Erfindung
zu steuern. Wenn man aber Heimnetzwerkumgebungen wie IEEE-1394-Netzwerksysteme
betrachtet, ist es jedoch erwünscht,
dass auf jede Einheit direkt durch einen Controller zugegriffen
werden kann, wenn der Benutzer das Heimnetzwerk von außerhalb
steuern will. Daher ist eine Steuereinheit gemäß der vorliegenden Erfindung
mit einer ersten Schnittstelle, um entfernte Einheiten unter Verwendung
eines Hypertext-Übertragungsprotokolls
zu steuern, gekennzeichnet durch eine zweite Schnittstelle, um die
Steuereinheit unter Verwendung eines Hypertext-Übertragungsprotokolls zu steuern,
um eine Verbindung zwischen wenigstens zwei dieser entfernten Einheiten
aufzubauen.
-
Solch
eine Steuereinrichtung gemäß der vorliegenden
Erfindung ist in dem unabhängigen
Anspruch 23 definiert. Die abhängigen
Ansprüche
24 bis 28 spezifizieren bevorzugte Ausführungsbeispiele davon.
-
Netzwerke,
die mit entfernten Einheiten gemäß der vorliegenden
Erfindung und einer Steuereinrichtung gemäß der vorliegenden Erfindung
aufgebaut ist, die nach dem erfindungsgemäßen Verfahren arbeiten, verbessern
die Benutzerfreundlichkeit dadurch, dass sie interessantere Benutzerschnittstellen
anbieten, da jede Einheit ihre eigene, einzigartige Benutzerschnittstelle
beispielsweise in einem HTML-Rahmen darbieten kann, und es wird
eine einfache Aufrüstung
des Netzwerksystems ermöglicht,
da kein spezieller Controller für jeden
Typ der entfernten Einheit (die wie ein Server arbeitet) vorhanden
sein muss. Ferner werden in einem bevorzugten Ausführungsbeispiel
Audio- und Videodaten nur über
eine Verbindung transportiert, die eine adäquate Bandbreite garantiert,
während
die Steuerbefehle entweder über
eine Verbindung mit garantierter Bandbreite oder über eine
asynchrone Verbindung übertragen
werden können.
-
Andere
Aufgaben, Vorteile und Merkmale der vorliegenden Erfindung werden
besser verständlich
aus der folgenden detaillierten Beschreibung bevorzugter Ausführungsbeispiele
davon im Zusammenhang mit den beigefügten Zeichnungen, in denen:
-
1 eine
IEEE-1394-Netzwerkkonfiguration gemäß der vorliegenden Erfindung
zeigt;
-
2 eine
IP-Adressenzuordnung in einem System nach 1 zeigt;
-
3 ein
Beispiel des Initialisierungsverfahrens eines Heimnetzwerk-DNS-Servers zeigt;
-
4 ein
Beispiel der DNS-Serverantwort auf eine externe Anfrage zeigt;
-
5 ein
Beispiel einer HTTP-Serverinitialisierung in einem System nach 1 zeigt;
-
6 ein
Beispiel zeigt, wie das System gemäß der Erfindung auf einen ersten
Benutzerbefehl reagiert;
-
7 eine
automatische Umsetzung in eine neu vorgeschlagene URL-Konvention mit einem „Serverumleitungs"-Response gemäß der vorliegenden
Erfindung zeigt;
-
8 ein
Beispiel des ersten Menüs
von dem Server gemäß der vorliegenden
Erfindung zeigt;
-
9 ein
Verfahren zur Änderung
der isochronen Quelle für
eine Speichereinheit gemäß der vorliegenden
Erfindung zeigt;
-
10 ein
Beispiel des neuen Speichereinheit-Zustandes nach dem in 9 gezeigten
Verfahren und die Umschaltung zu einer anderen entfernten Einheit
gemäß einer
Benutzeraktion zeigt;
-
11 die
logischen Verbindungen eines ausgedehnten Netzwerks zeigt;
-
12 die
physischen Verbindungen der Netzwerkumgebung gemäß der Erfindung zeigt;
-
13 eine
herkömmliche
IEEE-1394-Netzwerkkonfiguration zeigt;
-
14 die
Steuerung eines Radios mit HTTP in dem Internet gemäß dem Stand
der Technik zeigt; und
-
15 eine
herkömmliche,
automatische Verbindung zwischen zwei entfernten Einheiten in dem
Internet zeigt.
-
1 zeigt
eine IEEE-1394-Netzwerkkonfiguration gemäß der vorliegenden Erfindung.
Drei entfernte Einheiten 1A, 1B, 1C unterschiedlichen
Typs sind jeweils mit isochronen Verbindungen für die Übertragung von Daten, beispielsweise
Audio/Videodaten, angeschlossen, die eine garantierte Bandbreite über eine
Datenschnittstelle 14 anbieten, die in jeder der entfernten
Einheiten 1A, 1B, 1C enthalten ist. Solche
isochronen Verbindungen können
beispielsweise über
ein IEEE-1394-Bussystem aufgebaut werden. Es ist auch möglich, dass
andere als Verbindungen mit garantierter Bandbreite, beispielsweise
asynchrone Verbindungen verwendet werden. Andererseits umfassen
die entfernten Einheiten 1A, 1B, 1C jeweils
eine Steuerschnittstelle, d. h. einen Hypertext-Übertragungsprotokollserver 3, über den
jede der entfernten Einheiten 1A, 1B, 1C eine
asynchrone Verbindung mit einem Controller 2 aufbaut. Der
Hypertext-Übertragungsprotokollserver 3 umfasst
wenigstens einen Mikrocontroller und einen Speicher. Solch eine
asynchrone Verbindung ist eine Verbindung von Punkt zu Punkt für Protokolle
zur Steuerung der Einheiten. In dem gezeigten Beispiel wird gemäß der vorliegenden
Erfindung ein Hypertext-Übertragungsprotokoll,
beispielsweise HTTP, als Protokoll zur Steuerung der Einheiten verwendet.
Der HTTP-Server 3, der in jeder der entfernten Einheiten
einen Mikrocontroller und einen Speicher umfasst, dient als Verteilerstelle
(Gateway) zur Steuerung der jeweiligen entfernten Einheiten 1A, 1B, 1C,
beispielsweise zur Steuerung der jeweiligen logischen Schnittstelle 4 und
zur jeweiligen Verarbeitung der entfernten Einheit 1A, 1B, 1C.
-
In 1 ist
eine Tuner-Einheit 1A als Quelleneinheit gezeigt, die einen
Schalter 6 aufweist, um einen von mehreren Dienstleistungen
eines Eingabesignals mit mehreren Dienstleistungen auszuwählen. Der HTTP-Server 3 der
Tuner-Einheit 1A steuert die Verarbeitung in der Tuner-Einheit 1A und
die Datenschnittstelle 4 in der Tuner-Einheit 1A entsprechend
einem voreingestellten Algorithmus, der Schalter 6 kann
durch einen Benutzer über
den Controller 2 und den HTTP-Server 3 der Tuner-Einheit 1A gesteuert
werden. Ferner ist eine Speichermedium-Einheit 1B gezeigt,
in der das Speichermedium 7 selbst und die Verarbeitung
in der Speichermedium-Einheit 1B durch
den HTTP-Server 3 entsprechend einem voreingestellten Algorithmus
gesteuert wird, und die Auswahl, die Speicherung oder die Wiedergabe
von Daten einer bestimmten, angeschlossenen, isochronen Verbindung
anzufangen und zu beenden, wird durch einen Benutzer über den
Controller 2 und den HTTP-Server 3 der Speichermedium-Einheit 1B ausgeführt.
-
In
dem gezeigten Beispiel ist auch eine entfernte Anzeigeeinheit 1C mit
den isochronen Verbindungen 5 und mit dem Controller 2 verbunden.
Diese entfernte Anzeigeeinheit 1C ist mit dem Controller 2 über eine asynchrone
Verbindung verbunden. Er wird mit demselben Protokoll, d. h. HTTP,
und mit demselben Controller wie die entfernte Speichermedien-Einheit 1B gesteuert,
die Daten der ausgewählten
isochronen Verbindung werden jedoch angezeigt statt gespeichert.
Wie in 1 durch unterbrochene Linien dargestellt ist,
kann eine Anzeigeeinheit in dem Controller 2 integriert
sein. In diesem Fall muss die „Verbindung" innerhalb solch
einer Einheit nicht notwendigerweise eine asynchrone Verbindung
sein, und die Anzeige muss nicht notwendigerweise unter Verwendung
eines Hypertext-Übertragungsprotokolls
gesteuert werden.
-
Auf
den Controller 2 kann durch einen Benutzer zugegriffen
werden, um jede der entfernten Einheiten 1A, 1B, 1C,
die daran angeschlossen sind, zu steuern. Außer der Auswahl, welcher isochrone
Kanal durch die Einheit verwendet werden soll, um Daten über eine
Verbindung mit garantierter Bandbreite zu übertragen, die durch das System
selbst in Abhängigkeit
von den gegenwärtig
zur Verfügung
stehenden Kapazitäten
ausgewählt
wird, kann der Benutzer jede entfernte Einheit 1A, 1B, 1C vollständig steuern.
In dem gezeigten Beispiel kann der Benutzer auswählen, welche aus einer Vielzahl
von Dienstleistungen, die in die entfernte Tuner-Einheit 1A eingegeben
werden, verarbeitet und an eine isochrone Verbindung übertragen
werden soll, durch Steuern des Schalters 6. Die entfernte
Speichermedium-Einheit 1B wird durch den Benutzer gesteuert,
um eine der angeschlossenen, isochronen Verbindungen auszuwählen, deren
ankommende Daten verarbeitet und auf dem Speichermedium 7 aufgezeichnet
werden sollen.
-
Gemäß der Erfindung
gibt es keinen Bedarf für
einen unterschiedlichen Controller 2 für jede der entfernten Einheiten
oder einen Controller 2, der speziell auf alle entfernten
Einheiten, die mit dem System verbunden sind, angepasst ist, da
die entfernten Einheiten 1A, 1B, 1C jeweils
unabhängig
unter Verwendung des gleichen Protokolls, d. h. eines Hypertext- Übertragungsprotokolls, beispielsweise
HTTP, gesteuert werden. Der Controller kann eine Einheit mit relativ
niedrigen Kosten sein, die nur asynchrone Verbindungen unterstützt. Durch
Verwendung von HTTP statt Steuerprotokollen, die speziell für jede der
entfernten Einheiten 1 ausgelegt sind, arbeitet der Controller
wirksam als Web-Browser. Um die Verwendung existierender Browser zu
ermöglichen,
werden die gleichen Protokolle verwendet, wie die, die nun in dem
Internet verwendet werden, d. h. IP, TOP und HTTP.
-
In 1 sind
die isochronen und asynchronen Verbindungen separat gezeigt, in
tatsächlichen
Systemen werden jedoch beide Arten von Verbindungen in dem gleichen
Kabel unterstützt
wie in dem Fall des IEEE-1394-Systems.
In IEEE-1394 ist ein Verfahren angegeben, um IP zusätzlich zu
IEEE-1394-Verbindungen zu unterstützen, folglich kann es auch
TOP- und HTTP-Verbindungen
unterstützen.
Es ist auch denkbar, dass ein Namen-Vergabesystem, beispielsweise
DNS (Domain Name System = Domain-Namen-System) die Zuordnung von
Domainnamen zu entfernten Einheiten ermöglicht, und dass andere Protokolle
implementiert werden, um die Eigenschaft des Einschaltens und Spielens
(plug and play) zu verbessern, beispielsweise für die automatische Zuordnung
von IP-Adressen, Subnetzmasken oder DNS-Namenservern. DHCP (Dynamic Host
Configuration Protocol = Dynamisches Hostkonfigurations-Protokoll)
oder ein ähnliches
Protokoll kann dazu dienen, dies zu tun.
-
2 zeigt
ein Beispiel einer herkömmlichen
IP-Adressenzuordnung zu entfernten Einheiten 1A, 1B und
Steuerschnittstellen 2A und 2B, um die Erfindung
zu unterstützen.
-
Das
IEEE-1394-Bussystem wird gegenwärtig
dazu verwendet, Audio/Videoeinheiten von Verbrauchern miteinander
zu verbinden. Gemäß der vorliegenden
Erfindung ist es jedoch möglich:
- (1) solche entfernten Einheiten mit Internetservern,
beispielsweise für
Software-Upgrades anzuschließen,
- (2) außerdem
kann unter Verwendung des Controllers, um herkömmliche 1394-Dienstleistungen
zu steuern und zu betrachten, der Benutzer den gleichen Controller
verwenden, um Internet-Dienstleistungen auszuwählen, und darauf zuzugreifen,
und
- (3) Verbindungen mit dem Internet können auch aus anderen Gründen erforderlich
sein, beispielsweise können
Kunden auf Reisen einen Zugriff auf ihre entfernten Heimnetzwerk-Einheiten
durch das Internet benötigen.
-
Teile
des folgenden Initialisierungsverfahrens wurden entworfen, um solche
Merkmale aufzunehmen. In dem folgenden Beispiel wird angenommen,
dass der Controller 2 ein PC oder eine PC-artige Einheit
ist, die als Gateway-Schnittstelle
zu dem Internet funktionieren kann, wie in 12 gezeigt
ist. Die Verbindung mit dem Internet kann beispielsweise durch ein
Telefonmodem oder ein Kabelmodem unterstützt werden. Die folgenden Abschnitte
beschreiben jeweils den Schritt des Boot-Verfahrens, nachdem eine
herkömmliche
Netzwerkinitialisierung beschrieben worden ist.
-
13 zeigt
eine herkömmliche
IEEE-1394-Netzwerkinitialisierung. Zwei entfernte Einheiten, beispielsweise
eine Tuner-Einheit 1A und eine Speichermedien-Einheit 13 sind
mit den isochronen Verbindungen 5 des IEEE-1394-Netzwerks über eine
entsprechende, logische Internetdatenschnittstelle 4 verbunden.
Darüber
hinaus sind sie jeweils mit einem Controller 2 über eine
logische Schnittstelle und eine asynchrone Verbindung des IEEE-1394-Netzwerks
verbunden. Der Controller 2 muss an die Tuner-Einheit 1A und
die Speichermedien-Einheit 1B angepasst werden, da jeder
Typ einer entfernten Einheit einen unterschiedlichen Satz von Steuerbefehlen
hat. Der Controller 2 hat Zugriff auf eine entfernte Anzeige- und Eingabeeinheit,
oder solch eine Einheit ist in dem Controller 2 als Anzeige-
und Eingabeeinheit 8 integriert, wie oben beschrieben wurde.
-
Die
herkömmliche
IEEE-1394-Netzwerkinitialisierung wird nach dem Einschalten des
Stroms oder zur Neuinitialisierung durchgeführt. Daher werden alle Einheiten,
die mit dem Netzwerk verbunden sind, versuchen, auf ihren bevorzugten
Zustand zu booten oder hoch zu fahren. Einer der Schritte, um dies
zu erreichen, ist beispielsweise die Identifikation bestimmter Master-Einheiten,
beispielsweise einen isochronen Resourcenmanager und die Zuordnung
von node_ids (Knotenidentifizierungen), um den Aufbau von asynchronen IEEE-1394-Verbindungen zu ermöglichen.
Dieses Verfahren wird in der IEEE-1394-Spezifikation beschrieben. Nachdem diese Übertragungsschicht
zur Verfügung
gestellt ist, stellen die Einheiten den Kontakt zu anderen Einheiten
her, um mehr Informationen über
ihre Kapazitäten
zu erhalten und um die Netzwerktopologie usw. zu bestimmen. Solch
eine Information wird in jeder Einheit gespeichert, um grundlegende
Kommunikationen zu unterstützen.
Ferner kann zusätzliche
Information lokal gespeichert werden, um Kapazitäten in einem späteren Stadium
dem Benutzer anzeigen zu können.
-
Nach
der vorliegenden Erfindung ist der erste Schritt des Boot-Verfahrens
die herkömmliche
Netzwerkinitialisierung, wie oben für IEEE-1394 beschrieben wurde.
Nachdem solch eine IEEE-1394-Übertragungsschicht
aufgebaut worden ist, kann die IP (Internetprotokoll)-Netzwerkinitialisierung
gestartet werden. Um das Einschalten und Spielen so weit wie möglich zu
unterstützen,
ist die automatische Zuordnung der Parameter, beispielsweise der
IP-Adressen und IP-Subnetzmasken, erforderlich. Einheiten, die einen
Zugriff durch einen Router benötigen,
beispielsweise um Verbindungen mit entfernten Internetplätzen herzustellen,
müssen
auch die Standardgateway-IP-Adresse
kennen. Für
die automatische Zuordnung solcher Parameter zusätzlich zu der grundlegenden
IP-Protokollfamilie ist es nützlich,
ein Protokoll, beispielsweise DHCP, zu verwenden. In einfachen IEEE-1394-Netzwerken ist es
möglich,
ein Protokoll wie DHCP zu vermeiden, wenn eine Art von standardisierter
IP-Adressenzuordnungskonvention zur Verfügung steht. Beispielsweise
können
IP-Adressen von der weltweit eindeutigen IEEE-1394-ID abgeleitet werden. Dies macht
es möglich,
lokal eindeutige IP-Adressen
zu garantieren. Auch der Namenserver und der Router können standardisierte
IP-Adressen annehmen, um feststehende Namenserver- und Standardgatewayzugänge in jeder
IP-Einheit zu ermöglichen. Einheiten,
die mehrere Rollen haben, können
mehrere IP-Adressen, wenn erforderlich, ihren Schnittstellen zuordnen.
-
In
dem in
2 gezeigten Beispiel sind in der entfernten Tuner-Einheit
1A die
folgenden Adressen seinem HTTP-Server
3 zugeordnet:
Standardgateway: | 192.168.0.1 |
DNS-Server: | 192.168.0.1 |
Subnetzmaske: | 255.255.255.0 |
IP-Adresse: | 192.168.0.2 |
-
Während die
entfernte Speichermedien-Einheit
1B die folgenden Adressen
ihrem HTTP-Server
3 zugeordnet hat:
Standardgateway: | 192.168.0.1 |
DNS-Server: | 192.168.0.1 |
Subnetzmaske: | 255.255.255.0 |
IP-Adresse: | 192.168.0.3, |
und der Controller, der auch als Schnittstelle
zu dem Internet dient und zu der Anzeige- und Eingabeeinheit
8 Zugriff
hat, zwei Schnittstellen aufweist, eine interne Schnittstelle
2A für den DNS-Server
und den Heimnetzwerk-DHCP-Server
mit den folgenden Adressen:
IP-Adresse: | 192.168.0.1 |
Subnetzmaske: | 255.255.255.0 |
DNS-Server: | 192.168.0.1, |
und eine externe Schnittstelle
2B zur
Kommunikation mit dem Internet, die die folgenden Adressen hat:
IP-Adresse: | 192.109.206.33 |
Subnetzmaske: | 255.255.255.0 |
Standardgateway: | 192.109.206.1 |
-
Diese
Adressen sollten entweder feste Adressen entsprechend einem zukünftigen
Standard sein, um das System einfacher zu machen, sie können jedoch
auch während
der IP-Netzwerkinitialisierung beispielsweise mit DHCP zugeordnet
werden.
-
Für die externe
Verbindung mit dem Internet wird eine tiefere Schicht, beispielsweise
PPP (Point to Point Protocol = Protokoll von Punkt zu Punkt) oder
eine Telefonleitung erforderlich sein, um den IP-Verkehr zu unterstützen. Dieser
Teil des Netzwerk-Initialisierungsverfahrens ist ein Standard und
wird hier nicht beschrieben werden.
-
Wenn
ein DHCP-Protokoll verwendet wird, wird es von den Erfordernissen
abhängen,
welche Einheit als ein DHCP-Server funktionieren wird. Wenn nur
der IP-Stapel erforderlich ist, um die HTTP-Steuerung mit den Web-Browsern
zu unterstützen,
ist der IP-Stapel erforderlich, wenn wenigstens ein HTTP-Server und wenigstens
ein HTTP-Klient mit dem Netzwerk verbunden sind. Es wird erwartet,
dass in typischen Heimnetzwerken die Gesamtzahl von Quellen- und
Zieleinheiten größer als
die Gesamtzahl der Controller sein wird.
-
Unter
der Annahme, dass das Netzwerk einen Controller hat, der als ein
HTTP-Klient arbeitet, und mehrere entfernte Quellen- und Zieleinheiten 1 hat,
wobei 1A, 1B jeweils als HTTP-Server arbeiten,
wäre der Controller 2 in
allen HTTP-Sitzungen für
alle entfernten Einheiten 1 beteiligt. Daher, um die Abhängigkeit
von anderen entfernten Einheiten einzuschränken, wäre es angemessen, den DHCP-Server
auf dem Controller 2 anzuordnen.
-
Wenn
jedoch IP auch für
andere Zwecke erforderlich ist, beispielsweise als Transportmittel
zum Herunterladen einer neuen Steuerungssoftware von dem Internet
auf die nicht zu dem Controller gehörigen Einheiten 1; 1A, 1B,
und, wenn der Controller 2 nicht die Schnittstelle zu dem
Internet ist, kann es bevorzugt sein, den DHCP-Server auf einer
nicht zu dem Controller gehörenden
Einheit zu unterstützen.
-
Um
den IP-Verkehr mit dem Internet zu unterstützen, sind geeignete Routing-
und Adress-Werte in dem Heimnetzwerk erforderlich. Wenn man bedenkt,
dass eine große
Anzahl von Heimnetzwerken mit einer noch größeren Anzahl von Einheiten
zu erwarten ist, wäre
es nicht praktikabel, registrierte Internetadressen innerhalb des
Heimnetzwerkes zu verwenden, da diese bereits eine knappe Resource
darstellen. Daher sollte für
diesen Zweck ein spezieller Bereich von „privaten" Adressen verwendet werden (beispielsweise 192.168.0.0
bis 192.168.255.255), die von der IETF (Internet Engineering Task
Force) bereitgestellt wurden. Diese Adressen existieren in dem Internet
nicht und sie können
folglich durch private Netzwerke verwendet und wiederverwendet werden.
In 2 wird eine Netzwerkadresse in diesem Bereich,
d. h. 192.168.0.0 durch den DHCP-Server verwendet. Zusätzlich zur
Zuordnung von lokal eindeutigen Adressen ordnet der DHCP-Server eine 3-Byte-Subnetzmaske,
IP-Adressen des Standardgateways, d. h. 192.168.0.1, und des Namenservers,
d. h. 192.168.0.1, jeder Heimnetzwerk-Einheit 1; 1A, 1B zu.
-
Da
der Controller 2 als Schnittstelle zu dem Internet funktioniert,
benötigt
er eine spezielle IP-Konfiguration. Der Controller umfasst eine
zusätzliche
IP-Schnittstelle 2B mit einer im Internet registrierten
Adresse, die die Einheit in die Lage versetzt, mit externen Internetplätzen, in
dem gezeigten Fall mit der IP-Adresse 192.109.206.33, zu kommunizieren.
Zu diesem Zweck benötigt
der Controller 2 eine andere Standardgateway-Adresse, die
sich auf einen Router in dem Internet beziehen sollte. Der Wert
dieser Parameter hängt
davon ab, welche ISP (Internet Service Provider)-Schnittstelle verwendet wird. Genau
wie der DHCP-Server des Heimnetzwerkes diese Parameter den Einheiten 1A, 1B des
Heimnetzwerkes zuordnet, sollte auch der ISP einen DHCP-Server verwenden,
um geeignete IP-Parameter der externen Schnittstelle 2B des
Heimnetzwerkes zuzuordnen. In 2 hat der
DHCP-Server des ISP die Adresse 192.109.206.33 der externen Schnittstelle 2B des
Controllers 2 zugeordnet. Ferner hat der ISP die Heimnetzwerkschnittstelle
angewiesen, 193.109.206.1 als ihren Standardgateway zu verwenden.
-
Nach
der IP-Konfiguration wird die Heimnetzwerkschnittstelle jede interne
IP-Adresse in eine externe IP-Adresse für auslaufende IP-Pakete und
umgekehrt für
ankommende Pakete übersetzen.
-
Als
Alternative dazu, die Einheiten 1; 1A, 1B und
den Controller 2 nur mit Adressen zu identifizieren, könnte die
Zuordnung von Namen zu den Einheiten 1; 1A, 1B oder
dem Controller 2 praktikabel sein. Wie im Internet gibt
es vier Gründe,
warum die Adressierung mit Namen zusätzlich zu der Adressierung
mit IP-Adressen erwünscht
ist:
- • Um
die Benutzerfreundlichkeit zu verbessern, sollte jeder Einheit auch
ein geeigneter Name zugeordnet sein. Dies ermöglicht es, dass Benutzer die
Einheiten mit Namen, die eingeschrieben oder sogar gesprochen werden
könnten,
statt mit Zahlen adressiert.
- • IP-Adressen
sollten von dem Web-Browser verborgen werden, weil sie sich aufgrund
einer dynamischen Zuordnung solcher Adressen ändern können.
- • Wenn
solche Adressen fest sind, wenn ein nomadischer Controller solcher
IP-Adressen mit einem Lesezeichen (Bookmark) versehen würde, wäre er darüber hinaus
nicht in der Lage, dieses Lesezeichen aus einem externen Netzwerk
zu verwenden, weil das Internet solche privaten Nummer nicht unterstützt. Mit anderen
Worten sind die IP-Adressen des lokalen Heimnetzwerks nur gültig innerhalb
der Umgebung des Heimnetzwerks. Ein nomadischer Controller ist in
diesem Fall eine tragbare Einheit, die von einem Heimnetzwerk zu
einer entfernten Internetverbindung oder umgekehrt bewegt werden
kann. Um die IP-Adressen des
lokalen Heimnetzwerks zu unterstützen,
müßte die
tragbare Einheit die externe IP-Adresse oder Adressen des Heimnetzwerks
wissen. Diese Adresse kann auch dynamisch durch den Internet-Serviceprovider zugeordnet
werden, und daher sollte sie nicht als Lesezeichen gespeichert werden.
- • In
Systemen, wo mehrere Einheiten, die dieselbe Art von Dienstleistungen
anbieten, eingebunden sind, ist es gelegentlich erwünscht, denselben
Servernamen zu verwenden, diesen Namen jedoch auf unterschiedliche
IP-Adressen zu mappen. Der Hauptzweck dieses Ansatzes ist gewöhnlich,
die Last von mehreren Klienten auf mehr als einen Server zu verteilen.
-
Um
diese Situationen zu meistern, benutzt das Heimnetzwerk einen DNS,
d. h. ein Domainnamensystem, wo „Namenserver" verwendet werden,
um Namen in die geeignete IP-Adresse zu übersetzen. Systeme, die mit
einer Einheit mit ihrem Namen in Kontakt treten wollen, kontaktieren
zuerst einen Namenserver. Der Letztere antwortet mit der geeigneten
IP-Adresse, die die weitere Kommunikation ermöglicht.
-
Ein
Heimnetzwerk entsprechend der Erfindung, das einen DNS verwendet,
ist in 3 gezeigt. Der Unterschied zwischen den 3 und 2 liegt
nicht nur in dem Controller 2, der nun zusätzlich in
diesem Fall als DNS-Server dient, sondern die jeweiligen Mikrocontroller 3 der
entfernten Einheiten haben auch einen zusätzlichen Eintrag, nämlich eine
Einheits-Beschreibung,
beispielsweise eine 1394-Einheit-Beschreibung, die die Art der Einheit
angibt, beispielsweise Tuner, Speicher, Controller usw. [Beachte: 2 zeigt
den Zustand nach der IP-Initialisierung. Der nächste Schritt ist die DNS-Initialisierung,
wie in 3 gezeigt ist].
-
Zusätzlich zu
dem Inhalt des Controllers, der in
2 gezeigt
ist, umfasst der Controller
2 in
3 einen
DNS-Server, der für
die Domäne
no29.bahnstrasse.bonn.de zuständig
ist, und eine DNS-Datenbank mit dem folgenden Inhalt:
Unterdomäne | Antwort für interne
Einheiten |
Antwort
für externe
Einheiten |
Tuner | 192.168.0.2 | 192.109.206.33 |
Speicher | 192.160.0.3 | 192.109.206.33 |
Controller | 192.160.0.1 | 192.109.206.33 |
wobei auch zusätzliche
Einheiten ebenfalls einen Eintrag haben würden, wobei ihre Namen zu zwei
Adressen zugeordnet sind.
-
Wenn
ein System in dem Internet einen Zugriff auf das entfernte Heimnetzwerk
benötigen
würde, müßte es mit
dem Internet-Serviceprovider, der mit dem entfernten Heimnetzwerk
verbunden ist, in Verbindung treten. Angenommen, dass dieses Heimnetzwerk
beispielsweise in Bonn liegt, könnte
der Internet-Serviceprovider beispielsweise einen Namen zuordnen,
der den Ort des Heimnetzwerks wiedergibt, beispielsweise: „no29.bahnstrasse.bonn.de", wie in dem Beispiel
gezeigt ist.
-
Mit
dem Domännamen
(no29...) von dem Internet-Serviceprovider kann der Heimnetzwerkserver
in dem Controller 2 eindeutige Namen zu jeder der Heimnetzwerk-Einheiten 1; 1A, 1B zuordnen,
wobei diese Namen voll qualifizierte Domännamen sind. Unter der Annahme,
dass die IEEE-1394-Spezifikation
bereits eine Konvention für
Namen von Einheiten hat, könnte
der Heimnetzwerk-DNS-Server solch einen Einheits-Namen, wie er durch
den IEEE-1394-Standard spezifiziert ist, extrahieren und dann diesen
Namen zu der Heimnetzwerkdomäne
als Vorspann hinzufügen.
Wenn beispielsweise eine Einheit in dem IEEE-1394-Heimnetzwerk „Speicher" genannt wurde, könnte der
DNS-Server dies als Identifizierung für eine Unterdomäne für die jeweilige
Einheit verwenden, d. h. „Storage.no29.bahnstrasse.bonn.de". Alternativ zu solch
einer automatischen Zuordnung des voll qualifizierten Domännamens
kann eine Zuordnung von Hand durch eine Bedienungsperson des entfernten
Heimnetzwerks durchgeführt
werden.
-
Mit
all diesen Daten, d. h. der Einheits-Beschreibung, wie sie durch
das IEEE-1394-Netzwerk spezifiziert ist, die IP-Adressen, die durch
den Heimnetzwerk-DHCP-Server zugeordnet werden, die IP-Adresse für die externe
Schnittstelle des Verteilers, die von dem Internet-Serviceprovider
weiter zugeordnet wird, und die Heimnetzwerk-Domäne, die durch den Internet-Serviceprovider
zugeordnet wird, kann der Heimnetzwerk-DNS-Server in dem Controller 2 eine
Datenbank aufbauen, wie oben und in 3 gezeigt
ist. Während solch
eines Initialisierungsverfahrens kann der Controller eine Nachricht,
beispielsweise „Bitte
einen Moment warten...",
auf der Anzeige- und Eingabeeinheit 8, die damit verbunden
ist, anzeigen.
-
Der
DNS-Server muss zwei mögliche
IP-Adressen für
jede Einheit, die mit dem Netzwerk verbunden ist, erstellen. Die
Einträge,
die in der zweiten Spalte gezeigt sind, d. h. die privaten IP-Adressen,
werden verwendet, wenn eine interne Einheit eine Namensübersetzung
anfordert. Der Wert der dritten Spalte, d. h. die Internetadresse,
wird verwendet, wenn auf Anfragen von externen Systemen geantwortet
wird, weil private Adressen in dem Internet nicht verwendet werden
können.
Es ist auch möglich,
dass der Internet-Serviceprovider
sich um alle Übersetzungsanfragen
von externen Systemen zu no29.bahnstrasse.bonn.de-Namen kümmert. In
jedem Fall können
die externen Systeme nur die Schnittstelle des Heimnetzwerks und
nicht die jeweiligen Einheiten 1; 1A, 1B in
dem Heimnetzwerk erreichen, wie in 4 gezeigt
ist.
-
4 zeigt
das System, das in 3 gezeigt ist, und das Verfahren
einer Interneteinheit, um auf die Speichermedien-Einheit 1B des
Heimnetzwerks zuzugreifen. Die Interneteinheit sendet erst eine
Anfrage an den DNS-Server des Heimnetzwerks: „Wer ist storage.no29.bahnstrasse.bonn.de?", und sie erhält in einem zweiten
Schritt die IP-Adresse der externen Schnittstelle des Controllers 2 als
Antwort von dem DNS-Server, hier: „192.109.206.33", in anderen Worten,
nicht die IP-Adresse der Speichermediumeinheit 1B wird
an die Einheit gegeben, die die IP-Adresse „storage.no29.bahnstrasse.bonn.de" anfordert, sondern
nur die IP-Adresse der externen Schnittstelle 2B des Controllers 2.
In diesem Fall kann eine Warnung auf der Anzeige- und Eingabeeinheit 8 angezeigt
werden, dass jemand auf das Heimnetzwerk von dem Internet aus zugreift.
Wenn erforderlich, ist eine Authentifikations- und/oder Autorisierungsprozedur während des
Aufbaus der Sitzung enthalten. Wer immer eine Anfrage durch das
Internet sendet, kann nun auf die Speichermedien-Einheit 1B über den
Controller 2 in einem dritten Schritt, jedoch nicht direkt,
zugreifen.
-
Um
dieses Problem zu umgehen, wird gemäß der vorliegenden Erfindung
eine neue universelle Resourcen-Identifizierungs-(URI)-Konvention
definiert, die den HTTP-Zugriff von dem Internet auf Heimnetzwerk-Einheiten 1; 1A, 1B durch
die Heimnetzwerkschnittstelle, d. h. den Controller 2,
unterstützt.
-
Der
vollständige
Domännamen
ist offensichtlich notwendig, um auf eine entfernte ISP-Unterdomäne von einem
Internetplatz aus zuzugreifen, bei der Heimnetzwerkumgebung wäre es jedoch
schwierig, solch einen langen Namen für jede Einheit zu verwenden.
Um dies zu vermeiden, könnten
wie in gegenwärtigen IP-Netzwerken
Klienteneinheiten in dem Heimnetzwerk eine Default-Domäne annehmen.
In dem oben beschriebenen Beispiel wäre ein geeigneter Default-Domänenname „no29.bahnstrasse.bonn.de".
-
Durch
Mappen eines Namens auf mehrere IP-Adressen ist auch ein Resourcenmanagement
mit dem DNS möglich.
Da Heimnetzwerke verschiedene Einheiten haben, die nur einen Benutzer
oder eine Aufgabe unterstützen,
ist es möglich,
dass das Netzwerk mehrere solcher Einheiten hat. In diesem Fall
kann ein intelligenter Namenserver einen Einheits-Gattungsnamen, beispielsweise „dvbtuner.no29.bonn.de", auf die IP-Adresse
einer freien Einheit mappen. Um die Adressierung spezifischer Einheiten
zu ermöglichen,
können auch
eindeutige Namen zugeordnet werden.
-
Im
Folgenden wird die Steuerung der Heimnetzwerk-Einheiten 1; 1A, 1B,
die oben gezeigt wurden, unter Bezugnahme auf die 5–10 mit
HTTP erläutert.
-
In
den meisten herkömmlichen
HTTP-Anwendungen werden Server mit einem universellen Resourcen-Lokator
(URL) adressiert, der aus einem Server-Domännamen, d. h. dem voll qualifizierten
Domännamen, gefolgt
von einem Pfad besteht, der sich auf ein HTML-Dokument auf diesem
Server bezieht. Mit diesem Ansatz würde das Hauptmenü von beispielsweise
einem DVB-Tuner als „http://dvbtuner.no29.bahnstrasse.bonn.de/index.html" bezeichnet. Mit
diesem URL, würden
Browser in dem Heimnetzwerk als erstes die IP-Adresse für „dvbtuner.no29.bahnstrasse.bonn.de" heraus suchen. Der
DNS-Server würde
dann mit der internen IP-Adresse antworten, und folglich würde der
Browser den HTTP-Get-Befehl: „GET/index.html" zu dieser IP-Adresse
senden. Browser in dem Internet würden ebenfalls diese Domäne heraus
suchen, sie würden jedoch
die externe IP-Adresse des Gateways empfangen, wie in 4 gezeigt
ist.
-
Um
den Zugriff von Internetsystemen durch den Heimnetzwerk-Gateway
in dem Controller 2 zugreifen zu können, ist sichergestellt, dass:
- • das
Gateway in der Lage sein wird, HTTP-Anfragen zu empfangen und diese
Anfragen an die Heimnetzwerk-Einheiten 1; 1A, 1B weiter
zu geben.
- • Ferner
kann das Gateway die Zieleinheit in dem Heimnetzwerk finden, da
der Domännamen
auf den Pfad kopiert wird, beispielsweise:
„http://dvbtuner.no29.bahnstrasse.bonn.de/dvbtuner.no29.bahnstrasse.bonn.de/index.html".
-
Mit
dieser neuen URL-Konvention gemäß der vorliegenden
Erfindung initialisieren die Audio/Videoeinheiten ihre HTTP-Server 3,
wie in 5 gezeigt ist. Für eine entfernte Tuner-Einheit 1A wird
gemäß der Erfindung
ein Haupt-HTML-Dokument in dem Speicher des HTTP-Servers 3 gespeichert.
Das Haupt-HTML-Dokument könnte
beispielsweise sein:
<A
HREF="http://tuner.no29.bahnstrasse.bonn.de/
tuner.no29.bahnstrasse.bonn.de/next.cgi">next<\A>
<A HREF="http://tuner.no29.bahnstrasse.bonn.de/
tuner.no29.bahnstrasse.bonn.de/back.cgi">back<\A>
<A HREF="http://storage.no29.bahnstrasse.bonn.de/
storage.no29.bahnstrasse.bonn.de>storage<\A>
<A HREF="http://camera.no29.bahnstrasse.bonn.de/
camera.no29.bahnstrasse.bonn.de>camera\<A>
-
Das
Haupt-HTML-Dokument in dem Speicher des HTTP-Servers 3,
der in der entfernten Speichermedien-Einheit 1B enthalten
ist, kann gemäß der vorliegenden
Erfindung beispielsweise wie folgt aussehen:
<A HREF="http://storage.no29.bahnstrasse.bonn.de/
storage.no29.bahnstrasse.bonn.de/next.cgi">next<\A>
<A HREF="http://storage.no29.bahnstrasse.bonn.de/
storage.no29.bahnstrasse.bonn.de/back.cgi">back<\A>
<A HREF="http://tuner.no29.bahnstrasse.bonn.de/
tuner.no29.bahnstrasse.bonn.de>tuner<\A>
<A HREF="http://camera.no29.bahnstrasse.bonn.de/
camera.no29.bahnstrasse.bonn.de">camera<\A>.
-
Es
ist für
jeden HTTP-Server möglich,
den lokalen Domännamen
durch die Ausführung
einer inversen DNS-Nachschlageaktion zu finden. Das bedeutet, dass
jeder HTTP-Server seinen Domännamen
bestimmen kann, indem er den lokalen DNS-Server beauftragt, seine
IP-Adresse zu übersetzen.
Alternativ kann der Namenserver einen vorzugsweise standardisierten,
Gattungsnamen der lokalen Domäne,
beispielsweise „Homenet", verwenden, wenn
das Heimnetzwerk noch nie mit dem Internet verbunden worden war.
-
Jeder
Server kompiliert HTML-Dokumente, die beschreiben:
- • seine
gegenwärtigen
Dienstleistungen; beispielsweise im Fall eines Tuners bezieht sich
dies auf das Übertragungssignal,
das er an seinem Eingang empfängt;
um solche Signale zu beschreiben, wird der Tuner MPEG-Daten und/oder
zugehörige
DVB-SI-(Digital Video Broadcasting Service Information) Daten in HTML-Daten
umsetzen; beispielsweise im Fall einer Speichereinheit in der Aufzeichnungsbetriebsweise bezieht
sich dies auf das Eingangssignal, beispielsweise Audio/Videodaten
auf isochronen Kanälen;
außer den
Textbeschreibungen der Dienstleistungen, wie in 5 gezeigt
ist, werden vorzugsweise auch Audio/Videodaten in dem HTML-Menü dargeboten.
Um Bewegtbilder zu unterstützen,
können
Befehle „Server anschieben" oder „Klient
holen" verwendet
werden, um die Bildgleichmäßigkeit
auf den neuesten Stand zu bringen;
- • Serviceauswahlvorgänge, beispielsweise „nächste" Dienstleistung und
vorhergehende, d. h. „vorherige" Dienstleistung,
wenn diese existiert; jede Servereinheit wird geeignete Skripts
oder Programme solchen Eingaben zuordnen;
- • ferner
kann jeder Server Verknüpfungen
zu anderen Einheiten auf dem Heimnetzwerk bereitstellen; um das
Letzere zu bestimmen, sollte der Server andere Einheiten Pollen,
beispielsweise an dem Eingang 80, da dies der Default-IP-Eingang
für den
HTTP-Verkehr ist, und er sollte einen zugeordneten Eintrag machen, wenn
diese Einheit antwortet; alternativ könnte jeder Server spionieren
(= IP-Pakete erfassen), um festzustellen, welche anderen Server
aktiv sind.
-
Wie
in den 5 und 6 gezeigt ist, zeigt nach der
Initialisierung der HTTP-Server 1; 1A, 1B und des
Controllers 2 die Anzeige- und Eingabeeinheit 8,
die mit dem Controller 2 verbunden ist, eine Nachricht „auf welche
Einheit möchten
Sie zugreifen?" einem
Benutzer an. Wenn ein Benutzer einen Befehl einschreibt oder ausspricht,
beispielsweise „Speicher", wie in 6 gezeigt
ist, muss der Controller 2 zuerst diesen Befehl erkennen.
Wenn eine erfolgreiche Erkennung durchgeführt worden ist, ist ein zweiter
Schritt des Controllers, eine DNS-Nachschlageaktion für den eingegebenen
Befehl, hier „Speicher" in der Default-Domäne, hier „no29.bahnstrasse..." durchzuführen. In
einem dritten Schritt antwortet der DNS-Server mit der internen IP-Adresse,
beispielsweise 192.168.0.3 für
die entfernte Speichermedien-Einheit 1B. Der Browser, der
in dem Controller 2 enthalten ist, sendet dann in einem
vierten Schritt den HTTP-Befehl „GET/" an die interne IP-Adresse der gewünschten
Einheit, hier die Adresse 192.168.0.3.
-
7 zeigt
die Antwort des HTTP-Servers mit der Adresse 192.168.0.3, hier der
entfernten Speichermedien-Einheit 1B, zu dem universellen
Resourcen- Lokator,
der nicht in der neuen URL-Konvention gesendet wird. In einem fünften Schritt
erkennt der Server, d. h. die Speichermedien-Einheit 1B,
diese URL vom alten Stil und sendet eine Serverumleitungsantwort,
d. h.
versuche"http://storage.no29.bahnstrasse.bonn.de./
storage.no.29.bahnstrasse.bonn.de" stattdessen!
-
Der
Browser reagiert auf die Umleitungsantwort und sendet in einem sechsten
Schritt die neue URL „GET
storage.no29.bahnstrasse.bonn.de".
Während
dieser automatischen Umsetzung und während der Wartezeit, die durch
die asynchrone Verbindung verursacht wird, zeigt die Anzeige- und
Eingabeeinheit 8, die mit dem Controller 2 verbunden
ist, die Nachricht:
„Erfasse
Menü...".
-
In 8 ist
gezeigt, dass in einem siebten Schritt der Server 3 der
Speichermedien-Einheit 1B eine HTML-Seite „index.html" sendet. Der Browser
empfängt
diese HTML-Daten und stellt sie als graphische Benutzerschnittstelle
(GUI) dem Benutzer auf der Anzeige- und Eingabeeinheit 8 dar,
die beispielsweise den Namen der entfernten Speichermedien-Einheit 1B „Speicher" und die zur Verfügung stehenden
Befehle, beispielsweise nächste,
zurück,
Tuner/Kamera und ein Bild, das durch eine nicht gezeigte Kamera
aufgenommen wird, die die ausgewählte
Eingabeeinheit der entfernten Speichermedien-Einheit 1B an
diesem Moment ist.
-
Mit
dem ersten Menü von
der ausgewählten,
entfernten Speichermedien-Einheit 1B erkennt
der Benutzer in diesem Fall, dass diese Einheit gegenwärtig mit
einer Kamera verbunden ist. Da der Benutzer möglicherweise wünscht, von
dem Tuner statt von der Kamera eine Aufzeichnung zu machen, fordert
er die nächste
Dienstleistung an, wie es in 9 gezeigt
ist, indem er das Wort „nächste" ausspricht. In einem
achten Schritt erkennt der Controller 2 diesen Befehl und
der Browser findet in dem folgenden Schritt 9 den „nächsten" Anker und sendet
den HTTP-Befehl „GET/storage.no29.bahnstrasse.bonn.de/next.cgi" an die IP-Adresse 192.168.0.3
der entfernten Speichermedien-Einheit 1B. In dem zehnten
Schritt empfängt
der HTTP-Server 3 der entfernten Speichermedien-Einheit 1B diesen
Befehl und führt
das Skript „next.cgi" aus. Daher wählt die Speichermedien-Einheit 1B einen
neuen isochronen Kanal aus und bietet ein neues Menü an.
-
In 10 ist
gezeigt, dass in einem 11. Schritt der Controller 2 das
auf den neuesten Stand gebrachte Menü von der entfernten Speichermedien-Einheit 1B empfängt und
es einem Benutzer auf der Anzeige- und Eingabeeinheit 8,
die damit verbunden ist, dar. Das neue Menü umfasst nun die Daten, die
auf dem isochronen Kanal empfangen werden, der die entfernte Tuner-Einheit 1A mit
der entfernten Speichermedien-Einheit 1B verbunden ist,
in diesem Fall das Bild von CNN.
-
Da
der Benutzer die entfernte Speichermedien-Einheit 1B in
den gewünschten
Zustand versetzt hat, kann er nun die entfernte Tuner-Einheit 1A mit
dem „Tuner"-Befehl umschalten,
um einen gewünschten
Kanal auszuwählen.
-
Um
diese Befehle weniger zweideutig zu machen und um beispielsweise
anzuzeigen, dass die letzte Zeile des Menüs den Browser mit einer anderen
Audio/Video-Einheit verbinden wird, sind mehr Details und Graphiken
erforderlich und können
in der entsprechenden HTML-Seite eingebunden sein.
-
Wiederum
wird der Browser versuchen, einen Anker zu finden, der dem Befehl „Tuner" zugeordnet ist. Er
folgt dann dem HREF-Feld in dem Anker. Folglich wird er eine DNS-Nachschlagaktion
für „GET/tuner.no29.bahnstrasse.bonn.de" durchführen und
den HTTP-Befehl „GET/tuner.no29.bahnstrasse.bonn.de" an die geeignete
IP-Adresse senden. Die Letztere wird das Menü zurückgeben, das diesem Pfad zugeordnet
ist, der Informationen über
die gegenwärtig
ausgewählten
Dienstleistungen enthalten wird. Auch dieses Menü hat Einträge „nächste" und „zurück", diese werden jedoch Vorgänge ausführen, die
sich von den „nächste" und „zurück"-Vorgängen der
Speichermedien-Einheit 1B unterscheiden. Beispielsweise
kann die „nächste" Betriebsweise die
Frequenz des Tuners ändern,
während
der Ausgang des Tuners auf der gleichen, isochronen Kanalnummer
bleibt.
-
Nach
einem anderen Ausführungsbeispiel
der vorliegenden Erfindung ist es auch möglich, dass die Menüs von allen
oder bestimmten ausgewählten,
entfernten Einheiten, die mit dem Controller 2 verbunden sind,
gleichzeitig auf der Anzeige-Eingabe-Einheit 8, die mit
dem Controller 2 verbunden ist, angezeigt werden.
-
Um
eine leichtere Einstellung der isochronen Kanäle zu ermöglichen, zeigt 11 die
Prinzipien einer ausgedehnten Netzwerkinitialisierung, die nicht
angeforderte Audio/Video-Datenübertragung,
die im Folgenden wiederum unter Verwendung des IEEE-1394-Netzwerksystems
erläutert
wird.
-
In
herkömmlichen
IEEE-1394-Anwendungen, wie beispielsweise einer digitalen Videokassettenanwendung,
tritt der Controller mit dem Benutzer in Wechselwirkung und steuert
dann je nach der Eingabe des Benutzers sowohl Quell- als auch Zieleinheiten
dazu zur gleichen Zeit. Daher sind herkömmliche Controller weitgehend
in der Lage, die Netzwerktopologie von dem Benutzer zu verbergen.
Einer der Nachteile dieses Ansatzes ist es, dass im schlimmsten
Fall eine neu gekaufte Quell- oder Zieleinheit einen begrenzten
oder überhaupt
keinen Einfluß auf
die graphische Benutzerschnittstelle des Controllers hat. Folglich
hätte ein
Upgrade offenbar nur eine begrenzte oder gar keine Wirkung. Gemäß dieser
Erfindung können
die Gerätehersteller
Geräte
mit ihren eigenen graphischen Benutzerschnittstellen entwickeln,
was es dem Benutzer ermöglicht,
jede Einheit direkt zu steuern. Die Absicht besteht darin, dass
der Benutzer die Wechselwirkung zwischen den Einheiten dadurch organisiert,
dass er nacheinander Quell- und Zieleinheiten steuert, wie in dem
obigen Ausführungsbeispiel
beschrieben ist.
-
Um
die Benutzerfreundlichkeit zu verbessern, ist es erwünscht, eine
Einschränkung
der Größenordnung
der Steuerung der entfernten Einheiten zu vermeiden. Mit anderen
Worten sollte der Benutzer die Freiheit haben, auszuwählen, welche
entfernte Quellen-Einheit zuerst zu steuern ist. Zu diesem Zweck
kann gemäß der Erfindung
jede Einheit, die in der Lage ist, Daten in isochronen Kanälen zu senden,
die Übertragung
solcher Daten in dem bevorzugten Datenformat kurz nach dem Startvorgang
starten. Unter einem technischen Gesichtspunkt kann diese Übertragung
als „nicht-veranlasst" bezeichnet werden,
da anders als bei herkömmlichen
Netzwerken kein direkter oder indirekter Benutzerbefehl erforderlich
ist, um die isochrone Datenübertragung
einzuleiten. Diese Einheiten können
auch mit der Übertragung
fortfahren, nachdem die grundlegenden Verbindungen aufgebaut worden
sind. Wenn erforderlich können,
um die Verschwendung von Bandbreite zu vermeiden, Videodaten mit
einem hohen Maß an zeitweiser
und räumlicher
Redundanz zu diesem Zweck verwendet werden. Im Falle von beispielsweise
MPEG2 Übertragungsströmen können diese
Videodaten wirksam auf sehr niedrige Bitraten komprimiert werden.
Wenn solch ein Signal an dem Eingang der Sendeeinrichtung nicht
zur Verfügung
steht, mit anderen Worten, wenn kein Bitratensignal zur Verfügung steht,
das zu dem synchronen IEEE-1394-Kanal weitergegeben werden kann,
könnte
es mit Hardware oder Software in der Einheit erzeugt werden. Vorzugsweise
liefern diese anfänglichen,
isochronen Daten auch Informationen für den Benutzer, um ihn bei
dem Verständnis
des Typs und des Zustands der Einheit zu helfen.
-
Existierende
IEEE-1394-Einheiten, beispielsweise veraltete Einheiten, unterstützen die
Fähigkeit nicht,
solche niedrigen Bitratenströme
intern zu erzeugen. Gemäß der Erfindung
können
jedoch neue Einheiten diese veralteten Einheiten beauftragen, die Übertragung
von Daten allerdings bei herkömmlichen
Bitraten auf isochronen Kanälen
kurz nach dem Startvorgang zu starten. Im Fall von Tunern bedeutet
dies effektiv, dass Kabel- oder Satelliten-Bitströme zu dem
Heimnetzwerk weitergegeben werden. Speichermedien-Einheiten mit Tunern,
beispielsweise VCR's
können
ebenfalls Übertragungsdienstleistungen
weitergeben, um mechanische Betriebsvorgänge zu vermeiden. In dem Fall,
wo es nicht erwünscht
ist, dass veraltete Einheiten sich in dieser Weise verhalten, beispielsweise
wegen Bandbreiten-Stromverbrauchs- oder anderen Einschränkungen,
kann das System den Benutzer darüber
informieren, dass diese Einheiten zuerst programmiert werden sollten.