-
Hintergrund
der Erfindung
-
Querverweis
auf verwandte Anmeldungen
-
Diese
Erfindung steht in Zusammenhang mit der US-Anmeldung Nr. 09/140899,
eingereicht am 25. August 1998, mit dem Titel „Bitmap Transfer in Plug and
Play Network", der
US-Anmeldung Nr. 09/144678, eingereicht am 31. August 1999, mit
dem Titel „Home
Digital Network Interface",
und der US-Anmeldung Nr. [noch nicht zugewiesen] (Aktenzeichen des
Anwalts („attorney
docket") 235/124),
mit dem Titel „Home
Gateway", [noch
nicht zugewiesen] (Aktenzeichen des Anwalts 235/125), mit dem Titel „Adress
Mapping", [noch nicht
zugewiesen] (Aktenzeichen des Anwalts 235/126), mit dem Titel „Remote
Monitoring and Control",
[noch nicht zugewiesen] (Aktenzeichen des Anwalts 235/128), mit
dem Titel „Command
and Control Transfer",
und [noch nicht zugewiesen] (Aktenzeichen des Anwalts 236/259),
mit dem Titel „Bitmap
Transfer", alle
hiermit zum selben Tag eingereicht.
-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen das Gebiet Home Entertainment
Systeme und bezieht sich im Speziellen auf Kommunikations- und Steuertechnologien
in Home Entertainment Systemen.
-
Hintergrund
-
In
der Vergangenheit bestand ein Home Entertainment System häufig aus
einem einfachen Fernseher (TV) und einem Videorekorder (VCR). Ein
oder zwei koaxiale oder gemischtadrige Kabel verbanden den Fernseher
und den Videorekorder von Eingang zum Ausgang bzw. von Ausgang zu
Eingang. Allerdings sind in den letzten Jahren Home Entertainment
Systeme immer komplexer geworden.
-
Fortschritte
bei den elektronischen Unterhaltungsgeräten, wie der Kompaktdiskspieler
(CD), Digital-Video(DVD)-Spieler, Spielkonsolen, Surround-Sound Audiosysteme,
tragbare Videokameras usw. zwangen verständlicherweise die Verbraucher
dazu, diese zusätzlichen
Geräte
mit ihrem Home Entertainment System zu verbinden. Jedes neue Gerät fügte jeweils
mindestens zwei weitere Kabel (üblicherweise
Strom, Ausgang und Eingang) zum komplizierten Gespinst aus Kabeln
hinzu, welche sich in die verschiedenen Geräte hinein und aus den verschiedenen
Geräten
hinaus wanden.
-
Ursprünglich wurden
Schalterkästen
eingesetzt, um die Komplexität
der verschiedenen Verbindungen zwischen den unterschiedlichen Geräten zu reduzieren.
Beispielsweise erlaubte ein einfacher „A/B"-Schalterkasten dem Benutzer, selektiv
den einen oder den anderen Eingang zu wählen, ohne dass dieser die
Koaxialkabel zwischen den Geräten
trennen oder wieder verbinden musste. Als allerdings die Anzahl
der Geräte
für Home
Entertainment Systeme ständig
stieg, wurde die Verwendung von A/B Schalterkästen zum Verbinden der Geräte mühsam und
ineffizient.
-
Vor
allem wünschen
die Verbraucher im Allgemeinen weniger Kabel, einfachere Verbindungssysteme und
möchten,
da die Funktionalität
und die Komplexität
von Home Entertainment Systemen laufend steigt, die unzähligen Fernbedienungen
loswerden, die für
die Steuerung der entsprechenden Geräte benötigt werden. In der Tat werden
die meisten Funktionen einer Fernbedienung niemals verwendet (siehe
zum Beispiel „The Complexity
Problem: Industrial Design" Atlantic
Monthly, Vol. 271, Nr. 3, März
1993, Seite 96); dies beruht, wenn aus keinem anderen Grund, auf
den unterschiedlichen Sequenzen und/oder Schritten, welche mit der Steuerung
und Bedienung von den jeweiligen Geräten verbunden sind.
-
Eine
Lösung
für das
zuvor erwähnte
Steuer/Bedienungsproblem ist in dem US-Patent 5 675 390 (das „390-Patent") von Schindler et
al. vorgeschlagen. Wie in der 1 des „390-Patent" gezeigt, wird ein
Home Entertainment System zentral von einem PC (Personal Computer)
gesteuert. Gemäß des Systems
von Schindler et al. ist die Steuerung im PC zusammengeführt, wobei
eine „Hub
and Spoke" oder
sternartige Kommunikationstopologie/-architektur eingesetzt wird,
d.h., alle Kommunikationsverbindungen laufen über den PC (oder den Hub).
Mit dieser Konfiguration benötigt
jedes Gerät
seine eigene zugewiesene Verbindung zu dem Rechner. Solch eine Lösung mag
gut funktionieren für
räumlich
eng zusammenliegende Unterhaltungselektronikausrüstung und einen fortgeschrittenen
Computerbenutzer. Allerdings ist es in diesem Falle sogar eine größere Anzahl
an Verbindungskabeln notwendig, als wie zuvor eingesetzt worden
sind (Es wird hier auf die Anzahl von I/O(„Input-Output")-Plugs hingewiesen,
welche in der 7 des „390-Patent" gezeigt werden).
Des Weiteren ist solch ein System nicht skalierbar.
-
Das
bedeutet, wenn neue Geräte
an das System angeschlossen werden sollen, müssen zusätzliche dazu korrespondierende
Adapter/Controller dem PC hinzugefügt werden.
-
Eine ähnliche
Lösung
wird in dem US-Patent 5 722 041 (das „041-Patent") von Freadman vorgeschlagen.
Die 2 von dem 041-Patent zeigt am besten das Home
Entertainment System von Freadman. Wie bei Schindler et al. ist
die Steuerung zentral in einem PC lokalisiert. Die Medieneinspeisung
führt über ein
kombiniertes Mehrkanal-Modem und einen analogen Mixer im Radiofrequenzbereich,
der über
ein Koaxialkabel mit einer bestimmten Anzahl von Endgeräten verbunden
ist. Obwohl eine Reduzierung der Anzahl der Kabel erreicht wird,
ist die miteinander geteilte Funktionalität zwischen den Geräten minimal,
zum Beispiel kann ein Gerät
ein anderes nicht kontrollieren, und umgekehrt.
-
Insbesondere
reduziert es an sich nicht die Komplexität, wenn ein Benutzer – gesteuerter
PC hinzugenommen wird, um ein Home Entertainment System zu steuern.
Tatsächlich
kann es sogar die Komplexität erhöhen. Es
ist oft schwierig, wenn nicht mühsam,
einen Computer zu bedienen. Hardware- und Softwarekomponenten müssen in
der Regel konfiguriert werden, um kommunizieren zu können, und
die Geräte
müssen geeignet
initialisiert werden. Upgrades entweder der peripheren Geräten (zum
Beispiel VCRs, TVs, etc.) oder des Computers selbst können eine
vollständige Überholung
der Software zur Steuerung des System notwendig machen, und in diesem
Zuge Inkompatibilitäten
und Unsicherheiten in die Perfomance des Systems einführen.
-
Im
Hinblick auf die unzähligen
Verbindungskabel in komplexeren Home Entertainment Systemen ist eine
Lösung
der IEEE 1394-1995 Standard und seine Erweiterungen IEEE 1394a und
1394b, welche hier zusammen als „IEEE 1394" bezeichnet werden. In einer Ausführungsform
ist ein IEEE 1394-Kabel ein sechsadriges Kabel: Eine Ader für die Versorgung,
eine Ader für
Erde, zwei Adern für
Daten, und zwei Adern für
Abtastimpulse, welche dafür
verwendet werden, die Adern für
die Daten zu synchronisieren. In einer alternativen Ausführungsform
kann ein Kabel mit vier Adern verwendet werden, wobei die Ader für die Versorgung
und die Ader für
die Erde weggelassen sind. Der IEEE 1394 enthält ebenfalls eine Abschirmung,
welche elektromagnetische Interferenz verhindert. Im Kern ist ein
IEEE 1394 Kabel im Wesentlichen ein serieller Hochleistungsbus,
der zum Zeitpunkt des Verfassens dieses Textes Datenraten bis hoch
zu 400 Megabits pro Sekunde aufweist.
-
Vorteilhafterweise
reduziert der IEEE 1394 Bus in einem Home Entertainment System den
Bedarf an unzähligen
Kabeln, da die einzelnen elektronischen Geräte derart aufgebaut werden
können,
dass sie Versorgung und Kommunikation über das IEEE 1394 Kabel erhalten,
wodurch die Verbindungen, die für
die meisten Geräte
notwendig sind, bis auf ein einzelnes Kabel in einer Backplane-Bus
Umgebung reduziert werden. Der IEEE 1394-1995 Standard stellt eine
Spezifikation für
Aspekte der physikalischen Schicht („physical layer"), der Verbindungsschicht
(„link
layer") und der
Transaktionsschicht („transaction
layer") zur Verfügung, um
den IEEE 1394 Bus zu implementieren, einschließlich Vorkehrungen für solche
Funktionen wie das Zurücksetzen des
Bus, welches Gerät
auf den Bus zugreifen soll, die Konfiguration von Knoten, den Aufbau
von Standardpaketen, die Initialisierung der Übersendung von Paketen, das
Senden und Empfangen von asynchronen Paketen, das Senden und Empfangen
von isochronen Paketen, die Transaktionskontrolle und die Fehleraufzeichnung
und -Korrektur.
-
Die
Kommunikation über
einen IEEE 1394 Bus unterscheidet sich von vielen vorherigen Technologien darin,
dass die Kommunikation rein digital ist. Insbesondere sind Daten,
die über
einen IEEE 1394 Bus transportiert werden, entweder schon ursprünglich digital
(beispielsweise eine CD-ROM), oder müssen von einem Analog-Digital-Konverter
konvertiert werden, bevor sie in den IEEE 1394 Bus geleitet werden.
Des Weiteren ist die Kommunikation in einem IEEE 1394 basierten
System „Peer-to-Peer", dass heißt, jedes
Gerät (auch bekannt
unter dem Begriff „Knoten") auf dem IEEE 1394
Bus kann mit jedem anderen Knoten kommunizieren, ohne Kommunikations-/Kontrollabfragen
zu benötigen,
welche durch ein zentrales Gerät/Knoten
(zum Beispiel wie es in einer Klient-Server-Konfiguration notwendig
ist) verarbeitet werden. In einem IEEE 1394 basierten System kann
sich der Controller in jedem Knoten befinden, in diesem Sinne wird
der IEEE Bus an sich der Controller. Die Herausforderungen für die Befürworter
des IEEE 1394 lagen nicht so sehr im Bereich der unteren Funktionsschichten,
dass heißt,
in der physikalischen Schicht, der Verbindungsschicht und der Transaktionsschicht
(obwohl Brücken(„bridge") zwischen Protokollen
und Datenpaketaufbau weiterhin Gebiete sind, auf denen einen Auseinandersetzung
stattfindet), sondern eher in den oberen Schichten von dem Netzwerkprotokollstapel
(„network
protocol stack"),
wie die Applikationsschicht.
-
Kürzlich zurückliegende
Entwicklungen in der Fernsehübertragungs-
und Kabelfernsehindustrie, so wie HDTV (High Definition Television),
und der Ausbau der Industrie für
Kabelfernsehübertragung
erhöhen
exponentiell die Anzahl von Diensten und Inhalt, welche den Kunden
zur Verfügung
stehen. Zu diesem Zweck ist Interoperabilität zwischen elektronischen Unterhaltungsgeräten stark
erwünscht,
wie beispielsweise eine übliche
und/oder standardisierte Funktionalität, einfache Benutzung und Skalierbarkeit.
Ebenso gibt es ein Bedürfnis
für ein
System, das die sich vergrößernde Menge
an Geräten
und Diensten, die in einem IEEE 1394 basierten Home Entertainment
System verbunden beziehungsweise unterstützt werden können, steuert
und verwaltet.
-
Die
US-A-5 872 588 offenbart ein System, dass von einer Vielzahl von
Home Stationen Daten bezüglich
des Verhaltens von Teilnehmer aufnimmt. Die Home Stationen sind über ein
lokales Verteilernetzwerk und einen Verteilungsknoten mit einem
zentralen Server auf der Providerseite verbunden. Für die bereitgestellten AVM
(„Audio-Visual
Materials") werden
AVI („Audio-Visual
Identifiers") verwendet,
die zum Beispiel einen Zeitindex und einen Zip-Code von dem lokalen
Verteilungsknoten enthalten. Für
jeden Teil des AVM, der dem Teilnehmer angeboten wird, werden in
einer BCT („Behavior
Collection Table" – Verhaltenserfassungstabelle)
Einträge
gemacht. Mit der Hilfe einer Stelle für die Verhaltenserfassung auf
der Provider Seite können
statistische Informationen bezüglich
des Verhaltens der Teilnehmer erlangt werden. Ebenso ist eine Auswertung
bezüglich des
geographischen Ortes möglich.
Die WO-A-99/19743 offenbart ein Mobiltelefon-Netzwerk. Die Mobiltelefone
enthalten einen funktional eingeschränkten GPS-Empfänger. Zusätzliche
Information, die notwendig ist, um die Position des Mobiltelefons
zu bestimmen, wird dem funktional begrenzten GPS-Empfänger 150
von einer wechselnden Quelle zur Verfügung gestellt. Diese wechselnde
Quelle kann in der Basisstation lokalisiert sein.
-
Die
US-A-5883621 offenbart ein System, mit dem eine Topologiekarte für ein Home
Entertainment system erstellt werden kann. Diese Karte kann mit
einer Anzeigevorrichtung dargestellt werden, um die Komponenten
des Home Entertainment Systems aufzuzeigen. Der Standard des Netzwerks
ist der IEEE 1394 Bus Standard. Für sich im Betrieb befindenden
Geräte
kann das Bild der Icons geändert
werden.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung stellt eine Gatewayvorrichtung nach Anspruch
1 und ein Verfahren nach Anspruch 4 zur Verfügung. Weitere Verbesserungen
der Gatewayvorrichtung und der Methode werden in den entsprechenden
abhängigen
Ansprüchen
gegeben.
-
In Übereinstimmung
mit einem Aspekt der vorliegenden Erfindung enthält eine Gatewayvorrichtung eine
zentrale Verarbeitungseinheit, eine Schnittstelle für ein externes
Netzwerk, eine Schnittstelle für
ein internes Netzwerk, und eine Positionierungseinheit, die jeweils
mit der zentralen Verarbeitungseinheit gekoppelt sind. Die Gatewayvorrichtung
weist des Weiteren einen Beharrungsspeicher auf, der ebenfalls mit
der zentralen Verarbeitungseinheit gekoppelt ist, wobei der Beharrungsspeicher
so konfiguriert ist, dass er statistische Daten betreffend des Inhalts,
welcher über
die Schnittstelle des externen Netzwerks empfangen wurde, als auch
geographische Ortsinformationen speichert.
-
Gemäß eines
Aspektes der Erfindung werden Verfahren für die Erfassung von statistischen
geographischen Ortsinformationen offenbart. Gemäß einer bevorzugten Ausführungsform
umfasst das Verfahren: Speichern von geographischen Ortsinformationen
in einem Beharrungsspeicher, der einer Positionierungseinheit zugeordnet
ist; Abtasten von eintreffenden Daten, die zwischen einer Schnittstelle
des externen Netzwerks und der Schnittstelle des internen Netzwerks
der Gatewayvorrichtung hindurchgehen; Aufzeichnen der abgetasteten
eintreffenden Daten in einer Beharrungsdatentabelle; Empfangen einer
Anfrage, wobei die Anfrage eine Anforderung von Informationen, die
in der dauerhaften Datentabelle, dass heißt, der Beharrungsdatentabelle,
enthalten sind, umfasst; und, in Antwort auf die Anfrage, Übertragen
von Information, die in der Beharrungsdatentabelle enthalten ist,
zusammen mit geographischer Ortsinformation.
-
Gemäß eines
weiteren Aspekts der Erfindung wird ein Verfahren für die Erfassung
von statistischer geographischer Information von einer Netzwerkumgebung
durch einen zentralen Server bereit gestellt, wobei das Verfahren
enthält:
Initialisierung der Kommunikation mit einem entfernten Gerät; Anfordern
einer Datentabelle von dem entfernten Gerät; Erhalten der Datentabelle
von dem entfernten Gerät;
Analysieren der statistischen geographischen Daten; und, in Antwort
auf das Analysieren, gezieltes Auswählen von Inhalt, welcher an
das entfernte Gerät
weitergegeben wird.
-
Kurze Beschreibung
der Zeichnungen
-
Die
bevorzugten Ausführungsformen
werden in Rahmen von Beispielen, wobei diese die Erfindung nicht
begrenzen, in den Figuren der beigefügten Zeichnungen dargestellt,
in welchen sich gleiche Referenznummern auf gleiche Komponenten
beziehen, und in welchen:
-
1 eine
exemplarische IEEE 1394 Modularchitektur zeigt;
-
2 eine
exemplarische IEEE 1394 Netzwerktopologie zeigt;
-
3 eine
exemplarische, auf Kabeln basierte IEEE 1394 Topologie zeigt;
-
4 einen
exemplarischen IEEE 1394 Knotenprotokollstapel zeigt;
-
5 einen
Home Gateway zeigt, welcher mehrere externe Service-Provider mit
einem 1394-basierten Netzwerk koppelt;
-
6 ein
funktionales Blockdiagramm des Home Gateway aus 5 ist;
-
7 eine
andere Darstellung des Blockdiagramms des Home Gateways ist, in
der Hardwarekomponenten dargestellt werden;
-
8 ein
Blockdiagramm ist, dass einen Firmware-Stapel für den Home Gateway zeigt;
-
9 einen
Protokollstapel für
den Transport von MPEG über
das IEEE 1394-basierte Home Entertainment Netzwerk System von 5 darstellt;
-
10 einen
Protokollstapel für
IP-Routing über
das Home Entertainment Netzwerk System von 5 darstellt;
-
11 einen
Protokollstapel für
IP Plug-and-Play and DNS/DHCP-Routing über das Home Entertainment
Netzwerk System von 5 darstellt;
-
12 einen
Protokollstapel für
Bitmapanzeigendatentransfer zwischen Geräten des Home Entertainment
Netzwerk Systems von 5 darstellt;
-
16 eine
Adresskartierungstabelle darstellt;
-
17 eine
Flussdiagramm ist, das ein bevorzugtes Kommando- und Steuertransferprotokoll
zeigt;
-
18 eine
Flussdiagramm zeigt, das eine Datenpaketmaschine darstellt;
-
19A–B
einen Knotennavigationsbaum gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
19C einen Knotenfunktionsliste gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
20 eine
bevorzugte Knoten-Icon-Tabelle zeigt;
-
21 eine
Knotenfunktionstabelle zeigt;
-
26 eine
Flussdiagramm ist, in dem Handlungen von Fernaufzeichnung und Fernbedienung
dargestellt werden;
-
27 ein
Blockdiagramm von einem Home Gateway ist, der eine Positionierungseinheit
und einen zentralen Server umfasst;
-
28 eine
Flussdiagramm ist, das ein Verfahren für die Erfassung von statischen
geographischen Ortsinformationen in einer Netzwerkumgebung darstellt,
wie es von einem Home Gateway ausgeführt wird;
-
29 eine
Flussdiagramm ist, das ein Verfahren zur Erfassung von statistischen
geographischen Ortsinformationen in einer Netzwerkumgebung zeigt,
wie es von einem zentralen Server ausgeführt wird; und
-
30 ein
Diagramm einer beispielhaften statistischen Datentabelle zeigt.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsformen
-
Der
IEEE 1394-1995 Standard, auf welchen sich hiermit bezogen wird,
einschließlich
allem was dieser beschreibt und lehrt, stellt Hintergrundinformationen
für die
folgende Beschreibung und die folgenden Figuren in den beigefügten Zeichnungen
zur Verfügung.
Insbesondere werden ausgewählte
Teile des IEEE 1394-1995 Standards im Zusammenhang mit den 1 bis 4 beschrieben.
-
IEEE 1394 im Überblick
-
1 zeigt
ein exemplarisches IEEE 1394 Modul 100, welches eine Mehrzahl
von adressierbaren Knoten 104 umfasst. Jeder Knoten 104 kann
eine Prozessoreinheit 108 und eine I/O(„Input/Output" = Eingang/Ausgang)-Einheit 112 aufweisen,
die miteinander über
einen lokalen Bus 128 verbunden sind. Wahlweise kann ein Knotenpunkt 104 eine
Speichereinheit 116 aufweisen. Jeder Knoten 1004 ist
mit einem IEEE 1394-Träger 120 über einen
entsprechenden Busanschluss 124 verbunden.
-
2 zeigt
eine exemplarische IEEE 1394 physikalische Netzwerktopologie 200,
die zwei IEEE 1394 „Backplane-Umgebungen" 216 aufweist,
die jeweils an eine IEEE 1394 „Kabelumgebung" 212 über eine
Brücke
gekoppelt sind.
-
In
einer Backplane-Umgebung 216 ist die physikalische Topologie
ein Multidrop-Bus 215. Das physikalische Medium umfasst
zwei einpolig geerdete („single
ended") Leiter,
die sich über
die Länge
der Backplane erstrecken und auf dieser Anschlüsse verteilt haben, um eine
Mehrzahl von IEEE 1394 Knoten anzuschließen.
-
In
einer Kabelumgebung 212 ist die physikalische Topologie
ein „nichtzyklisches" Netzwerk (was bedeutet,
dass geschlossene Schleifen („closed
loops") nicht unterstützt werden)
mit begrenzten Verzweigungen und begrenzter Ausdehnung. Betreffende
IEEE 1394 Kabel 220 verbinden miteinander die Ports 208 von
verschiedenen Knoten 104. Typischerweise umfasst jeder
Port 208 Abschlüsse,
Sende-/Empfangsgeräte
und logische Schaltkreise (nicht gezeigt) für Arbitration. Die Kabel 220 und
die Ports 208 funktionieren zum Teil als Kabel-Repeater,
welche eingehende Signale zu einem benachbarten Knoten 104 hin
weiterleiten. Diese Repeater-Funktion erlaubt es den Knoten 104,
in der Kabelumgebung 212 einen einzelnen logischen Bus
zu simulieren. Wenn zwei unterschiedliche IEEE 1394-Bussysteme zusammengeschlossen
werden, beispielsweise in einer Backplane-Umgebung 216 oder einer Kabelumgebung 212,
wird eine Brücke 204 eingesetzt,
um die Kommunikation zwischen den unterschiedlichen Netzwerkumgebungen
zu konvertieren.
-
In Übereinstimmung
mit dem IEEE 1394 Standard wird von dem IEEE 1394 Netzwerk 200 ein
64 Bit Adresssystem verwendet. Die oberen 16 Bit von jeder Adresse
repräsentieren
die „node_ID". Die höchstwertigen
zehn Bits von der node_ID repräsentieren
den jeweiligen logischen Bus oder „bus_ID" (zum Beispiel Bus 215) in
dem gesamten IEEE 1394 Netzwerk 200. Auf diese Weise können bis
zu 1023 Bussysteme in dem IEEE 1394 Netzwerk 200 verwendet
werden. Die nächsten
höchstwertigen
sechs Bits der node_ID repräsentieren
die physikalische Adresse oder „physical_ID" des jeweiligen Knotens.
Sechsunddreißig
unabhängig adressierbare
Knoten (zum Beispiel Knoten 104) haben auf einem jeweiligen
IEEE 1394 Bus (zum Beispiel Bus 215) Platz. Verschiedene
Teile der übrigen
48 Bits des Adressraumes sind reserviert für unterschiedliche Ressourcen,
entweder für
einen bestimmten Bus, oder einem bestimmten Knoten.
-
3 zeigt
eine exemplarische IEEE 1394-Kabeltopologie 300. In Übereinstimmung
mit dieser Konfiguration sind eine Anzahl von Knoten 104 zwischen
den Ports 208 durch entsprechende IEEE 1394 Kabel 304 miteinander
verkettet („daisy-chained"). Jeder Knoten agiert
als ein Repeater, wobei Signale von einem Port 208 zu dem
nächsten
Port weitergeleitet werden, so dass diese über die Kabel 304 zwischen
den entsprechenden Knoten 104 übertragen werden.
-
4 zeigt
einen Protokollstapel 400, der die Beziehungen zwischen
den Hardware- und Softwarekomponenten innerhalb eines exemplarischen
IEEE 1394 Knotens 104 darstellt. Insbesondere werden im
Protokollstapel 400 vier Schichten dargestellt: Die Transaktionsschicht 404,
die Verbindungsschicht 408, die physikalische Schicht 412,
und die serielle Busmanagementschicht 416. Zusätzliche
Schichten (nicht dargestellt), wie beispielsweise eine Applikationsschicht,
können
ebenfalls im Protokollstapel 400 enthalten sein.
-
Insbesondere
definiert die Transaktionsschicht 404 ein vollständiges Anforderung/Antwort
(„request/response")-Protokoll, um Bustransaktionen
zur Unterstützung
von Lese-, Schreib- und Sperroperationen auszuführen. Die Transaktionsschicht 404 stellt
ebenfalls einen Pfad für
den Transport von isochronen Managementdaten zur seriellen Busmanagementschicht 416 zur
Verfügung.
-
Die
Verbindungsschicht 408 gewährleistet einen Einweg-Datentransfer
mit einem Dienst für
die Bestätigung
der Anfrage (dass heißt,
mit einem „Quittierungsdatagramm") an die Transaktionsschicht 404.
Im Speziellen sorgt die Verbindungsschicht 408 für Adressierung,
Datenüberprüfung und
Datenaufteilung („framing") für die Übertragung
und den Empfang von Datenpaketen, und stellt des Weiteren einen
Dienst für
die isochrone Übertragung
von Daten zu der Anwendung zur Verfügung. Dies umfasst die Erzeugung
von Takt- und Synchronisierungssignalen (zum Beispiel ein Zyklussignal).
-
Die
physikalische Schicht 412 übersetzt logische Symbole,
die von der Verbindungsschicht 408 verwendet werden, in
elektrische Signale zur Ausgabe an ein IEEE 1394 Kabel. Die physikalische
Schicht stellt des Weiteren einen Arbitrationsdienst zur Verfügung um
zu gewährleisten,
dass zu einem Zeitpunkt nur ein Knoten Daten sendet. In einer bevorzugten
Ausführungsform
stellt die physikalische Schicht einen Dienst zur Datenresynchronisation
und einen Repeater-Dienst,
sowie eine automatische Businitialisierung zur Verfügung.
-
Die
Managementschicht 416 für
den seriellen Bus stellt Busmanagement, isochrones Ressourcenmanagement
und Knotensteuerung bereit. Zum Beispiel gewährleistet in der Kabelumgebung 212,
die in 2 gezeigt ist, der isochrone Ressourcenmanager 420 der
Managementschicht für
den seriellen Bus die Ressourcen, die für die betreffenden Knoten 104 notwendig
sind, um die isochronen Ressourcen, die Kanäle und die Bandbreite, die
für effiziente
und geordnete isochrone Abläufe
notwendig sind, zusammenwirkend zu reservieren und freizugeben.
-
Ein
Busmanager 424 stellt Dienste wie Performanceoptimierung,
Leistungs- und Geschwindigkeitsmanagement und Topologiemanagement
für andere
Knoten 104 auf dem Bus bereit. Schließlich sei noch ergänzt, dass
ein Knotencontroller 428 alle Steuerungs- und Statusregister
verwaltet, die von den Knoten 104 auf dem Bus benötigt werden,
und mit der physikalischen Schicht 412, der Verbindungsschicht 408,
der Transaktionsschicht 404 und ein oder mehreren Applikationsschichten
(nicht gezeigt) kommuniziert.
-
Home Entertainment
und Home Office System
-
Die 5 stellt
einen Home Gateway 504 dar, der mehrere externe Service-Provider über eine
Brücke („bridge") mit einem Home
Entertainment und einem Home Office-Netzwerk verbindet, was im Folgenden
als „Home
Entertainment System Netzwerk" 500 bezeichnet
wird. Das Home Entertainment System Netzwerk 500 ist mit
einem IEEE 1394-Bus 568 angeschlossen, der bevorzugt in
einer Kabelumgebung konfiguriert ist (zuvor im Zusammenhang mit
den 2 bis 3 beschrieben). Insbesondere
sind eine Reihe von „daisy chain"-verketteter IEEE
1394-Kabel 502 zwischen den Ports von verschiedenen elektronischen
Komponenten des Home Entertainment Systems 500 zusammengeschaltet,
um den IEEE 1394-Bus 568 zu bilden. Zum Beispiel sind ein
TV 508, eine Stereoanlage 512, ein VCR 516 und
eine DVD 520 in einer Kette 560 angeschlossen.
In einer anderen Kette 564 sind ein PC 524, ein
Drucker 528 und eine digitale Kamera 534 angeschlossen.
-
Jede
der betreffenden Ketten 560 und 564 von elektronischen
Komponenten ist mit dem Home Gateway 504 verbunden, welches
als eine Brücke
zwischen ein oder mehreren externen Netzwerken und den betreffenden
internen Netzwerkketten 560 und 564 agiert (dass
heißt,
im Gegensatz zu einer Brücke
zwischen zwei verschiedenen Netzwerkumgebungen). Zum Beispiel ist
der Home Gateway 504 in der Lage, Medieneinspeisungen von
einem Satteliten 582 über
einen Sattelitenempfänger 540 zu
empfangen, von einem Sendemast 568 über eine Antenne 544 zu
empfangen, genauso wie Einspeisungen von örtlichen Überlandleitungen 592 (wie
beispielsweise ein kupfernes Twisted-Pair-, ein Koaxial- oder ein optisches
Galsfaserkabel) über
einen Koaxialkabelempfänger 548,
einen Glasfaserkabelempfänger 552,
beziehungsweise einen Telefonkabelempfänger 556 zu empfangen
(Anmerkung: Obwohl die verschiedenen Empfänger außerhalb des Home Gateway 504 gezeigt
werden, können
die tatsächlichen
Empfänger
oder Anschlüsse
ebenfalls innerhalb des Home Gateway 504 enthalten sein.
Sie werden lediglich zu Anschauungszwecken außerhalb des Home Gateway 504 gezeigt).
-
Der
Fernseher 508 enthält
bevorzugt einen internen Adapter, der die Daten von dem IEEE 1394-Bus 502 zu
NTSC (National Television Standards Committee) und/oder ATSC (Advanced
Television Systems Committee) Videosignalen konvertiert, um diese
auf dem Bildschirm des Fernsehers darzustellen. In einer alternativen
bevorzugten Ausführungsform
ist der Fernsehadapter ein externes Gerät, welches zwischen dem Fernseher 508 und
dem IEEE 1394-Kabel 502 angeschlossen ist. In jeder der
beiden Ausführungsformen
enthält bevorzugterweise
der Adapter für
den Fernseher einen Off-Screen-Puffer für Bilddaten, die gegenwärtig nicht, aber
in Zukunft gezeigt werden sollen, und einen On-Screen-Puffer für die Bilddaten,
die gegenwärtig
auf dem Bildschirm des Fernsehers dargestellt sind. Des Weiteren
kann der Adapter für
den Fernseher in ein Zusatzgerät
integriert sind, welches mit dem Fernseher verbunden ist, beispielsweise
einem VCR, einem DVD-Spieler oder einer digitalen Kamera.
-
Home Gateway
-
Die 6 stellt
ein funktionales Blockdiagramm für
den Home Gateway 504 und genauso wie für die Komponenten dar, die
mit dem Home Gateway 504 kommunikativ gekoppelt sind.
-
Der
Gateway 504 weist ein oder mehrere Schnittstellen auf,
die über
ein Zugangsnetzwerk 644, das bestimmte Dienste zur Verfügung stellt,
kommunizieren können.
Zum Beispiel können
Dienste von einem IAP („Internet
Access Provider"),
einem ISP („Internet
Service Provider") 640,
oder von einem VSP („Video
Service Provider") 648 bereit
gestellt werden, in dem die entsprechende Schnittstelle des Home
Gateways, zum Beispiel die drahtlose Schnittstelle „Terrestrischer
Rundfunk I/F („Interface")" 650, „Satellit I/F" 652, die
asynchrone digitale Teilnehmerleitungsschnittstelle „ADSL I/F" 656, die
asynchrone Transfermodusschnittstelle „ATM I/F" 660, oder die hybride Faserkoaxialschnittstelle „HFC I/F" 664, mit
dem Zugangsnetzwerk 664 über eine geeignete Netzwerkverbindung
(zum Beispiel ein terrestrische Verbindung 618, eine Satellitenverbindung 620, eine
Telefonverbindung 624, eine Faserverbindung 628,
beziehungsweise eine koaxiale Verbindung 632) verbunden
wird. Ein derartige Ausführungsform
gewährleistet
eine flexible Rekonfiguration, wenn neue oder mit einem Upgrade
versehene Kommunikationstechnologien oder -Hardware mit dem Home
Entertainment System 500 verbunden werden.
-
Eine
Vielzahl von Anwendungen sind über
ein Zugangsnetzwerk 644 möglich, sei es über den
IAP/ISP 640 und/oder den VSP 648, wie beispielsweise
Surfen im Internet, MPEG Videodatenströme (Standard und High-Definition
Fernsehen), Netzwerkspiele, ein elektronischer Programmführer „EPG" und Home-Netzwerksteuerung.
-
Dementsprechend
enthält
der Home Gateway 504 Hardware und Software, um Home-User
IP-Routing 668, MPEG2 Datenstrom-Handling (einschließlich On-Screen
Darstellung OSD und EPG Verarbeitung).
-
Zugangsnetzwerkkommunikationssteuerung 676,
Home Netzwerksteuerung bzw. -Management und andere schon vorhandene
oder downloadbare Funktionen 682, solche wie Spiele, Home
Automatisierung und Adressbuch- oder Telefonbuchdienste, zu ermöglichen.
Zu diesem Zweck wird weiter unten der Firmware-Stapel für den Home
Gateway 504 mit Bezug auf 8 beschrieben.
Die Protokollstapel für
die Implementierung der oben angegebenen Funktionen werden weiter
unten mit Bezug auf die 9 bis 12 beschrieben.
-
Die
1394-Schnittstelle ist eine notwendige Komponente des Home Gateway 504 und
sie wird in Verbindung mit den Netzwerkprotokollen, die in Zusammenhang
mit den 9 bis 12 beschrieben
werden, verwendet. Die 1394-Schnittstelle fungiert als eine Brücke zwischen
den externen Netzwerkprotokollen und den IEEE 1394 konformen Bus,
der das interne Netzwerk bildet. Zum Beispiel unterstützt das
1394-I/F 684 einen
IP über
den 1394-Link 612 und eine MPEG über den 1394-Link 616,
zwischen einem PC 524 und einem TV-Adapter 604 (der
in einer Ausführungsform
IEEE 1394-Daten in ein analoges oder digitales Signal für ein Fernseher 608 konvertiert).
-
Wie
in 7 dargestellt wird, enthält eine Ausführungsform
des Home Gateway 504 einen Versorgungsstromkreis 748,
einen Rücksetz(„Reset")kreis 752,
einen Taktsignalkreis 756, einen zentrale Verarbeitungseinheit „CPU" 704, einen
lokalen Bus 706, einen PCI Brücken&Peripherie-Controller 708,
einen permanenten Speicher (zum Beispiel ein ROM 712 und
FLASH 716), einen selbstlöschenden/flüchtigen Speicher (zum Beispiel
einen DRAM), eine RS232 Schnittstelle und einen PCI-Bus 724.
Mit dem PCI-Bus 724 verbunden sind eine ATM LSI Schnittstelle 728,
welche dem Home Gateway eine ATM – Brücke und andere Funktionalitäten zur
Verfügung
stellt, eine synchrone optische Netzwerk-(„SONET") Schnittstelle 732, welche
mit einem optischen Träger
3 („OC-3") Levelport verbunden
ist, einen 1394 LINK LSI 736, einen 1394 PHY LSI mit drei
IEEE 1394 Ports, und ein Register, eine LED und einer Dip-Schaltereinheit 744.
-
Standard
Hardwarekomponenten werden für
den Home Gateway
504 bevorzugt eingesetzt. Eine bevorzugte
Spezifikation von Hardwarekomponenten wird zum Beispiel in Tabelle
1 aufgelistet. Wo das Produkt eines bestimmten Herstellers bevorzugt
ist, ist dies näher
bestimmt. Tabelle
1
CPU | NR4650
133 MHz (NKK Micro Devices) |
DRAM | 8
MB |
ROM | 128
kB |
FLASH | 4
MB |
PCI
Bridge&Peripherie-Controller | NR4650-PSC
(NKK Micro Devices) |
1394
LINK LSI | MD8411(Fuji
Film Micro Device) |
1394
PHY LSI | MD8401(Fuji
Film Micro Device) |
ATM
LSI | LASAR-155
(PMC-Sierra) |
Interner
Bus | PCI |
-
Die
CPU 704, ROM 712, FLASH 716, RS232 724 und
DRAM 720 sind miteinander unter Ermöglichung einer Kommunikation über den
PCI Bridge&Peripherie-Controller 708 und
den lokalen Bus 706 gekoppelt. Der PCI Bridge&Peripherie-Controller 708 ist
auch mit dem PCI-Bus 724 verbunden. Der PCI-Bus 724 ist
seinerseits mit dem ATM LSI 728, dem 1394 LINK LSI 736 und
dem Register, der LED und der Dip-Schaltereinheit 744 verbunden.
-
Die 8 zeigt
einen Firmware-Stapel 800, der von den Home Gateway 504 verwendet
wird. Ein Betriebssystem (OS) Kernel 804 befindet sich
im Kern des Firmware-Stapel 800 und kommuniziert mit einem
Service-Controller 808, System-Management 812, ATM-Treiber 816 und
1394-Treiber 820. Der ATM Treiber 806 kommuniziert
mit dem Service-Controller 808, dem 1394-Treiber 820 und
verschiedenen Hardwarekomponenten 824 (dass heißt, physikalische
elektronische Komponenten in dem Home Entertainment System 500).
In ähnlicher
Weise kommuniziert der 1394-Treiber 820 mit dem Service-Controller 808,
dem ATM-Treiber 816 und
der Hardware 824.
-
Das
Systemmanagement enthält
Funktionen für
die Initialisierung, Selbstdiagnose, für die Prüfung des Zustands des Systems
und Debugging. Der Service-Controller 808 enthält Funktionen
für MPEG
TS und EPG Filterung und für
Multicasting, IP-Routing
und Terminalfunktionen, MPEG über
den 1394-Bus und MPEG über ATM,
genauso wie IP über
den 1394-Bus und IP über
ATM, Adresskartierung, Home Netzwerk Bedienung und Steuerung (zum
Beispiel MPEG-Service Steuerung, Fernsehbildsteuerung, Fernbedienung
und Kamerasteuerung), und andere Funktionen (zum Beispiel Spiele,
Heim-Automatisierung und Verzeichnisdienste). Der 1394 Treiber 820 realisiert
asynchrone Datentransmission, isochrone Datentransmission, die Kontrollpaketübertragung
der physikalischen Schicht, Bus-Reset
und -Kontrolle, Root und Cycle Master Processing, das Handling vom
Konfigurationsstatusregister und Konfigurations-ROM, Bus-Management
und Updates von Adresskartierungstabellen, wobei der ATM-Treiber 816 ATM
Paketübertragung
und den Aufbau und Freigabe einer ATM permanenten virtuellen Verbindung
(„PVC") realisiert.
-
Der
OS-Kernel 804 sorgt für
die Umschaltung von Tasks, das Queuing und die Übersendung von Mitteilungen,
Interrupt Handling, Timer-Management und Speichermanagement. Ebenfalls
stellt der OS-Kernel 804 die Interoperabilitätsfunktionen
für die
elektronischen Geräte
zur Verfügung,
die für
die Steuerung des Home Gateway 504 verwendet werden.
-
Die
Hardware 824 stellt die physikalische Schicht, oder die
unterste Schicht, des Firmware Stapels 800 dar.
-
In
einer momentan bevorzugten Ausführungsform
fungiert der Home Gateway 504 als eine Brücke/ein Router
zwischen dem externen Netzwerk 904 und dem internen Netzwerk 912 (im
Detail im Zusammenhang mit den 9 bis 12 weiter
unten beschrieben). Deshalb weist der Home Gateway 504 eine
mittlere Schicht zwischen dem externen Netzwerk 904 und
dem internen Netzwerk 912 auf, die für die Formatierungstransformation
von Protokoll und Daten verwendet wird, genauso wie eine Funktion
für die
Adresskartierung (weiter unten beschrieben). Insbesondere ist der
Home Gateway 504 ein bevorzugter „Managing-Knoten" für die Pflege
der Adresskartierungstabelle (weiter unten beschrieben), wobei der
Home Gateway 504 in einem Speicher Knotenadressinformationen
speichert, die Knotenadressinformationen regelmäßig aktualisiert, die IEEE
1394-Knoten (im Rahmen dieser Erfindung beziehen sich die „IEEE 1394-Knoten" auf ein oder mehrere Knoten,
die sich auf dem IEEE 1394-Bus 568 befinden und mit den
Knoten 104 übereinstimmen,
die in Zusammenhang mit den 1 bis 4 weiter
oben beschrieben wurden) auf dem internen Netzwerk 912 pollt
und die Knotenattribute von den gepollten IEEE 1394-Knoten für die Adresskartierungstabelle 1600 sammelt.
Nähere
Details von der Adresskartierung 1600 und dem Adresskartierungsdienst
werden weiter unten im Zusammenhang mit der 16 beschrieben.
-
Protokollstapel
-
Die 9 bis 12 zeigen
verschiedene Aspekte des Protokollstapels, der zwischen den entsprechenden
externen Netzwerken, dem Home Gateway und dem internen Netzwerk(en)
eingesetzt wird, welche zu dem Home Entertainment Netzwerk System
gehören.
Die 9 bis 11 betreffen den Home Gateway 504.
Die 12 betrifft den Protokollstapel zwischen den elektronischen
Home Geräten,
die sich auf dem Home Entertainment System-Netzwerk befinden.
-
In
den 9 bis 12 ist für alle Figuren gemeinsam ein
externes Netzwerk 904, eine Brücke 908 und ein internes
Netzwerk (das heißt,
ein IEEE 1394-Bus) 912 gezeigt. Das externe Netzwerk 904 kann
ein MPEG Netzwerk 916 (zum Beispiel einen Serviceprovider
für digitales
Video) und ein IP Netzwerk 920 (zum Beispiel das „Internet") umfassen. Ein Zugangsnetzwerk 924 ist
sowohl mit dem MPEG Netzwerk 916 als auch mit dem IP Netzwerk 920 verbunden.
Gemäß einer
Ausführungsform
ist das Zugangsnetzwerk 924 ein Internet Zugangsprovider
(„IAP"), wie zum Beispiel
America Online oder @Home. Das externe Netzwerk 904 ist
mit dem internen Netzwerk 912 über eine Brücke 908 verbunden.
Die Brücke 908 ist
bevorzugt ein Home Gateway 504. Der Home Gateway 504 konvertiert
Daten und Signale von dem externen Netzwerk 924 von ATM
Paketen in ein IEEE 1394 Format, das zu dem internen Netzwerk 912 weitergeleitet
werden kann. Das interne Netzwerk umfasst einen Fernsehadapter 932 und
ein Standard oder HD („High-Definition")-Fernseher (oder
alternativ ein einzelnes Gerät,
das einen 1394 Knoten und einen Fernseher aufweist) und einen PC 946.
Die Protokollstapel werden in den 9 bis 12 in
den Teilbereichen des Gesamtsystems, zu dem sie korrespondieren,
dargestellt. 9 zeigt einen Protokollstapel 900 entsprechend
einer ATM Datenübertragung
von einem MPEG Netzwerk 916 an einen Fernsehadapter 932.
-
MPEG
Daten werden in dem MPEG Netzwerk 916 von MPEG TS („Transport
Stream") Protokoll
oder CTRL COM („Control
Command") 956 zu
ATM Adaptionsschicht 5 („AAL5") 952 formatiert.
Von AAL5 werden die Daten in ATM Daten 948 konvertiert,
und von ATM 948 werden die Daten in ein synchrones optisches
Netzwerkprotokoll („SONET") 944 konveriert.
Ein ATM Netzwerk wird für
die unterste Schicht wegen der hohen Zuverlässigkeit bevorzugt, aber in
alternativen Ausführungsformen
kann auch ein anderer Träger
eingesetzt werden (zum Beispiel durch Ersetzen der ATM Schichten).
-
Von
dem Zugangsnetzwerk 924 werden die Daten von dem Home Gateway 504 empfangen.
Am Home Gateway 504 werden die Datenübertragungen von dem externen
Netzwerk von einem ATM Protokoll in ein IEEE Protokoll-1394 konvertiert
(oder „bridged"). Zusätzliche
Protokollschichtkonversionen werden in 9 gezeigt,
einschließlich
IEC-61883 964, das MPEG Daten für IEEE 1394-Kommunikation formatiert
und näher
beschrieben ist im International Electrotechnical Commission Standard
61883 mit dem Titel „Digital
Interface for Consumer Audio/Visual Equipment" und welche öffentlich von der IEC (www.iec.org)
erhältlich
ist. Das IEEE 1394-Protokoll 968 wird in den IEEE 1394-1995
Standard beschrieben.
-
Von
dem Gateway 908 werden Daten über das IEEE 1394-Protokoll
an das interne Netzwerk 912 gesendet, wo diese im Anschluss
in einen MPEG Transportstrom für die
Darstellung/Wiedergabe durch eine Videoanzeigeneinheit zurück konvertiert
werden. Es ist des Weiteren möglich,
mit einem TV Adapter 932 die Daten für ein analoges Signalkabel
zu konvertieren, um audio/visuelle Daten für einen Standard oder HD Fernseher
zur Verfügung
zu stellen. Wie auch immer, es ist bevorzugt, dass der Fernseher 936 in
der Lage ist, MPEG Daten zu unterstützen.
-
Die 10 zeigt
einen Protokollstapel 1000 entsprechend einer IP Datenübertragung
vom IP Netzwerk 920 an den PC 946. Das Übertragungskontrollprotokoll
(„TCP") oder Userdatagramprotokoll
(„UDP") 1008,
die in öffentlich
erhältlichen
Druckschriften Internet RFC 793 beziehungsweise Internet
RFC 768 beschrieben werden, sind über dem Internetprotokoll („IP") 1004 geschichtet,
das in Internet RFC 791 beschrieben ist. Dies unterstützt die Übertragung
von Paketdaten von einem Internet (zum Beispiel das Internet World Wide
Web). Am Home Gateway 504 und am PC 946 wird ein
IP über
1394 Protokoll 1012, beschrieben im der Internet Engineering
Task Force („IETF") Druckschrift „IPv4 over
IEEE 1394" von Peter
Johansson, erhältlich unter <http://www.ietf.org>, eingesetzt. Der Protokollstapel 1000 ist
besonders vorteilhaft, um Inhalt im World Wide Web oder im Internet
zu finden oder zu erkunden.
-
Die 11 stellt
einen Protokollstapel 1100 für TCP/IP Datenübertragung
vom IP Netzwerk 920 an den PC 946 dar. Um ein
automatisches Setup und IP Adresskartierungen zu ermöglichen,
unterstützt
der Protokollstapel 1100 ein Domainnamensystem („DNS"), wie in den Internet
RFCs 1034 und 1035 beschrieben wird, und ein dynamisches
Host-Konfigurationsprotokoll („DHCP").
-
Die 12 stellt
einen Protokollstapel 1200 für den Bitmap-Transfer zwischen
Geräten
(zum Beispiel von dem Home Gateway 504 oder PC 946 oder
Fernsehadapter 932) über
das interne Netzwerk 912 dar. Der Protokollstapel 1200 benutzt
ein zusätzliches
und bisher noch nicht beschriebenes Protokoll „DD-Connect AsyBmp" 1024. Das „Bitmap-Transfer"-Protokoll wird weiter unten näher beschrieben.
Das „AP"-Protokoll 1208 ist
einfach das bestimmte Protokoll, das an der Applikationsschicht
verwendet wird (zum Beispiel ein Anzeigeprotokoll oder ein Mausprotokoll).
-
Adresskartierung
-
Die 16 zeigt
eine exemplarische Adresskartierungstabelle 1600. Die Adresskartierungstabelle 1600 weist
vorzugsweise mindestens vier Spalten und so viele Zeilen, wie es
Geräte
im Home Entertainment Netzwerk 500 gibt, auf. Die Adresskartierungstabelle
ist vorzugsweise in drei verschiedenen Sektionen unterteilt. Die
erste Sektion 1620 enthält
IEEE 1394 Service-Daten, die zweite Sektion 1624 enthält MPEG
Service-Daten, und eine dritte Sektion 1628 enthält IP Service-Daten.
Jede Sektion hat ihre eigene „Minitabelle" für Informationen,
obwohl die Adresskartierungstabelle physikalisch eine einzige Tabelle
ist.
-
In
der IEEE 1394 Sektion 1620 ist die erste Spalte die Unique-Knoten
ID Spalte 1604, wobei die Unique-Knoten ID dauerhaft in
die Hardware oder ROM des Knotens 104 kodiert ist. Die
nächste
Gruppe von Spalten sind die Knotenattributsspalten 1602.
Die Knotenattributsspalten umfassen eine allgemeiner Namen-Spalte 1608,
die einen bestimmten Knoten durch einen vom Benutzer gewählten oder
programmierten Namen identifiziert, der in dem Knoten gespeichert
ist, eine node_ID Spalte 1612, die eine dynamisch zugewiesene
16-Bit node_ID enthält,
eine Knotentypspalte 1616, und eine IP-Adressspalte 1618.
-
In
der MPEG Service-Sektion 1624 ist die erste Spalte die
ATM VPI/VCI Spalte 1632, die nächste Spalte ist die Programminformationsspalte 1636,
die dritte Spalte ist die IEEE 1394 isochrone Kanalspalte 1640 und
die letzte Spalte ist die Unique-Knoten ID Spalte 1604.
-
In
der IP Service-Sektion 1628 ist die erste Spalte die ATM
VPI/VCI Spalte 1632, die nächste Spalte ist die IP Adressspalte 1618,
die dritte Spalte ist die node_ID-Spalte 1612, und die
letzte Spalte ist die Unique-Knoten ID Spalte 1604.
-
Die
Adresskartierungstabelle 1600 wird durch den IEEE 1394
Treiber (zum Beispiel den IEEE 1394 Treiber 816, der in 8 gezeigt
ist) erzeugt, wenn ein Zurücksetzung
des Bus auftritt. Der IEEE 1394 Treiber erhält eine Antwort von jedem Knoten
in dem IEEE 1394 Bus (zum Beispiel IEEE 1394 Bus 568, der
in 5 gezeigt ist), die die Unique-Knoten-ID des Knotens
und weitere Informationen enthält.
Basierend auf den Informationen, die von dem Knoten empfangen wurden,
fügt der
IEEE 1394 Treiber die Unique-Knoten-ID der Adresskartierungstabelle 1600 hinzu
und befragt dann den bestimmten Knoten nach zusätzlichen Informationen (zum
Beispiels nach dem allgemeinen Namen, den Eigenschaften des Knotens
und der IP-Adresse). Der IEEE 1394 Treiber ordnet für den Knoten
der Node_ID-Spalte 1612 ein Schaltventil („Valve") zu.
-
Kommando-
und Kontrolltransfer
-
Die 17 bis 20 zeigen
Aspekte des Kommando- und Kontrolltransfers gemäß einer zur Zeit bevorzugten
Ausführungsform
der Erfindung. Zu dem sind 17 und 18 Flussdiagramme,
die die Schritte für
den Kommando und Kontroll-Transfer beziehungsweise das Handling
von Paketdaten darstellt, wobei die 19A bis 19C eine Ausführungsform
der Anzeigeninformation darstellen, die auf einer Videoanzeigeneinheit
als ein Ergebnis der Schritte, die in den 17 und 18 dargestellt
sind, erzeugt wird. Die 20 stellt
eine Knotenicontabelle dar.
-
Ein
Trigger wird empfangen, um den Kommando und Kontroll-Tranferprozess
zu starten. Zum Beispiel kann ein Trigger eine „Menu"-Taste auf einer Fernbedienung einschließen, die
den Kommando und Kontrolltransferprozess startet, oder eine in einem
Gerät gespeicherte
Prozedur, wobei das Gerät
ein Teil des Home Entertainment Netzwerks 500 ist. Wie
in 17 gezeigt wird, kann die Ausgabe einer Paket-Engine
vom Prozess 1804 (weiter unten im Zusammenhang mit 18 beschrieben)
den Vorgang für
den Kommando und Kontroll-Transfer auslösen.
-
Vorgang 1704 umfasst
das Auslesen der Adresskartierungstabelle 1600. Sobald
die Adresskartierungstabelle 1600 gelesen ist, wird eine
Knotenicontabelle in einem Vorgang 1708 gelesen.
-
Die
Knotenicontabelle hat nicht weniger als zwei Spalten und identifiziert
ein Bild für
jedes Gerät
in dem Home Entertainment Netzwerk 500. Die erste Spalte
repräsentiert
ein Knoten (zum Beispiel entweder eine Unique-Knoten – ID oder
einen Knotentyp), und die zweite Spalte repräsentiert das Icon des Knotens.
Allerdings ist es möglich,
mehrere Spalten in der Tabelle zu haben, wie beispielsweise einen
Knotentyp oder eine Unique-Knoten ID. Demnach wird, wenn das Icon
eines bestimmten Knoten angefordert wird, zuerst die Knotenicontabelle
nach der Unique-Knoten ID abgetastet, und dann, wenn die Unique-Knoten
ID nicht gefunden wird, die Knotenicontabelle nach dem angeforderten
Knotentype abgetastet (zum Beispiel kann der Knoten mit einem bestimmten
Gerätestandard
konform sein). Wenn eine übereinstimmende
Unique-Knoten ID, oder alternativ ein übereinstimmender Knotentyp
gefunden wird, wird das Icon für
den angeforderten Knoten im Vorgang 1716 empfangen.
-
Eine
Ausführungsform
einer Knotenicontabelle wird in 20 gezeigt.
Die Knotenicontabelle 2000 enthält die Unique-Knoten ID-Spalte 1604,
einen Knotentypspalte 1608, und einen Bitmapdatenspalte 2004. Die
Bitmapdatenspalte umfasst ungefähr
4 kB Daten für
das Knotenicon. In einer Ausführungsform
sind Daten für
ein einzelnes Icon in der Knotenicontabelle 2000 enthalten,
wie auch immer, in einer alternativen Ausführungsform sind Daten für zwei Icons
in der Knotenicontabelle 2000 enthalten: Ein Icon ist ein „inaktives" Icon, dass heißt, das
Icon wird dargestellt, wenn der Knoten nicht ausgewählt ist,
und das zweite Icon ist ein aktives Icon, dass heißt, das
Icon wird dargestellt, wenn der Knoten ausgewählt wird.
-
In
einem Vorgang 1720 wird ein vollständiger Knotennavigationsbaum
generiert. Der Knotennavigationsbaum wird in den 19A bis 19C dargestellt.
Wie 19A zeigt, umfasst der Knotennavigationsbaum 1900 ein
Kontrollknoten, der durch das Icon 1904 repräsentiert
wird. Der Kontrollknoten ist der Knoten, über den ein Benutzer kommuniziert.
Zielknoten werden durch Icons 1908, 1912 und 1916 dargestellt.
Wie in 19A dargestellt, ist das Icon 1904 des
Kontrollknotens in einem aktiven Zustand, wohingegen die Icons der
Zielknoten 1908, 1912 und 1916 in einem
inaktiven Zustand sind. Wenn zusätzliche
Knoten dem Home Entertainment System 500 zugefügt werden,
steigt die Anzahl der Icons der Zielknoten. Auf ähnliche Weise wird der Anzahl
der Icons der Zielknoten entsprechend reduziert, falls vorhandene
Knoten aus dem Home Entertainment System 500 entfernt werden.
-
Der
Knotennavigationsbaum 1900 im Vorgang 1724 an
die Videoanzeigeeinheit übertragen.
Gemäß einer
Ausführungsform
wird der Knotennavigationsbaum 1900 an eine Paket-Engine 1800 ausgegeben,
wo dieser zu einem Input für
den Prozess 1808 (weiter unten im Zusammenhang mit 18 beschrieben)
weiterverarbeitet wird.
-
In
Vorgang 1728 wird ein Navigations-Input erhalten. Der Navigations-Input
kann wieder von einem Input-Gerät
innerhalb des internen Netzwerks 912 (9)
empfangen werden, oder vom externen Netzwerk 904, so wie über den
Paket-Engine-Prozess 1804. Basierend auf dem Input, der
im Vorgang 1728 empfangen wurde, wird ein bestimmter Zielknoten
identifiziert. Der Kontrollknoten empfängt die Icon-Information (zum
Beispiel die Grafik des aktiven Zustands) aus der Knotennavigationstabelle 1600,
und, im Vorgang 1732, modifiziert eine Untermenge des Navigationsbaums 1900.
In einer alternativen Ausführungsform
werden standardmäßige Daten
für aktive
Moden, wie ein hervorgehobener Ring oder Rand, zu dem Teil des Navigationsbaums 1900,
der den ausgewählten
Zielknoten repräsentiert,
hinzugefügt,
wodurch auf diese Weise Daten für
das Icon im aktiven Zustand aus der Adresskartierungstabelle 1600 nicht
benötigt
werden. Basierend auf den Daten für den aktiven Zustand wird
ein Teil oder eine Untermenge des Knotennavigationsbaums 1900 geändert. Der
geänderte
Teil des Knotennavigationsbaums 1900 kann geänderte Daten
enthalten, die zu dem „neu" gewählten aktiven
Knoten korrespondieren, oder er kann zusätzlich geänderte Daten enthalten, die
zu dem Knoten korrespondieren, der aus einem aktiven Zustand in
einen inaktiven Zustand umgeschaltet wurde. Gemäß einer zur Zeit bevorzugten
Ausführungsform
werden beide Datensätze,
die des Icons des neuen aktiven Knoten und des Icons des alten aktiven
Knoten betreffen, modifiziert.
-
Die 19B zeigt den Knotennavigationsbaum 1900,
nachdem der Zielknoten, der mit dem Icon 1916 korrespondiert,
als der aktive Knoten ausgewählt
wurde. Der Teil des Knotennavigationsbaums, der geändert wurde,
ist die Untermenge der Daten, die mit den Icons 1904 und 1916 korrespondiert.
Im Vorgang 1736 wird die geänderte Untermenge des Knotennavigationsbaums 1900 an
die Videoanzeigeeinheit übertragen.
In einer alternativen Ausführungsform
wird die geänderte
Untermenge des Knotennavigationsbaums 1900 an die Paket-Engine 1800 weitergeleitet
und durch den Prozess 1808 zu dem externen Netzwerk 904 geroutet.
-
Ein
optionaler Zwischenvorgang kann zwischen den Vorgängen 1736 und 1749 stattfinden.
Der optionale Schritt bestätigt über den
Benutzer, dass der Zielknoten, zu dem hin im Vorgang 1728 navigiert
wurde, tatsächlich
der gewünschte
Zielknoten ist. Dieser Vorgang empfängt einfach einen weiteren
Input, wie einen „Enter"-Befehl, nachdem
zu dem gewünschten
Zielicon navigiert worden ist.
-
Im
Vorgang 1740 wird die Knotenfunktionstabelle ausgelesen.
Die 21 zeigt eine Knotenfunktionstabelle 2100.
Die Knotenfunktionstabelle enthält
bevorzugt zwei Spalten, einen Knotentypspalte 1616 und
einen Funktionslistenspalte 2104. Die Funktionslistenspalte 2104 enthält eine
Vielzahl von Einträgen,
wobei jeder Eintrag 2108 eine Zuweisung von alphanumerischen
Einzelbuchstabeneinträgen,
einen korrespondieren Funktionsnamen und einen Operationscode enthält. Wenn
der Controller die Knotenfunktionstabelle 2100 ausliest,
wird die Knotenfunktionstabelle 2100 nach dem bestimmten
aktiven Zielknotentyp und den korrespondierenden Einträgen 2108,
die die gültigen
Befehle/Kommandos für
den aktiven Zielknoten enthalten, abgetastet. Die gültigen Befehle
werden in dem Vorgang 1740 empfangen.
-
Im
Vorgang 1744 wird, basierend auf den Daten, die aus dem
Vorgang 1740 empfangen wurden, eine Knotenfunktionsliste 1744 erzeugt.
Die Knotenfunktionsliste wird dann im Vorgang 1748 an die
Videoanzeigeeinheit übermittelt.
Die Übertragung
an die Videoanzeigeneinheit kann wiederum das Senden der ausgehenden
Knotenfunktionsliste an die Paket-Engine für die Weiterverarbeitung und
das Routen über
Prozess 1808 beinhalten.
-
Die 19C zeigt eine Knotenfunktionsliste 1928,
wie sie auf der Videoanzeigeneinheit dargestellt wird. Die erste
Spalte der Knotenfunktionsliste 1928 stellt eine Eingabewertspalte 1920 dar.
Die zweite Spalte, die Textspalte 1924, steht für den Text
zur Verfügung,
der zum benachbarten Eingabewert korrespondiert, wobei der Text
die Funktion beschreibt, die sich ergibt, wenn der benachbarte Eingabewert
in Spalte 1920 von dem Controller empfangen wird.
-
Im
Vorgang 1752 wird ein Knotenfunktionsinput vom Controller
empfangen. Der Input kann über
den IEEE 1394 Bus 568, oder er kann von dem externen Netzwerk 904 kommen,
wobei in diesem Fall der Knotenfunktionsinput durch die Paket-Engine 1800 zu
dem Controller geleitet wird. Der Knotenfunktionsinput wird mit gültigen Inputwerten 1920 im
Vorgang 1756 verglichen, und, wenn der Knotenfunktionsinput
mit einem gültigen Eingabewert übereinstimmt,
geht der Controller zum Vorgang 1764 über. Wenn, wie auch immer,
der Knotenfunktionsinput nicht mit einem gültigen Eingabewert 1920 übereinstimmt,
fährt der
Controller mit Vorgang 1760 fort, bei dem eine Fehlermitteilung
(zum Beispiel „Ungültiger Befehl,
bitte erneut eingeben")
an die Videoausgabeeinheit (oder Paket-Engine 1800) übermittelt
wird. Nach dem Vorgang 1760 fährt der Prozess mit Vorgang 1752 fort.
Alternativ kann der Prozess mit Schritt 1748 fortfahren,
derart, dass die Videoausgabeeinheit aktualisiert werden kann.
-
Schließlich wird
der Eingabewert 1920, der vom Controller empfangen wird,
einer Funktion in der Knotenfunktionsliste 1928 zugeordnet.
Ein Befehl wird in ein geeigneten OP-Code formatiert und in Vorgang 1764 an
den Zielknoten übertragen.
Nach dem Vorgang 1764 ist das Kommando- und Kontrolltransferverfahren
abgeschlossen.
-
Paket-Engine
-
Die 18 zeigt
die Paket-Engine 1800. Gemäß einer Ausführungsform
ist die Paket-Engine 1800 eine Software-Brücke/Router,
die Daten für
und von dem internen Netzwerk 912 und dem externen Netzwerk 904 empfängt und
formatiert. Allerdings kann die Paket-Engine 1800 auch
ausschließlich
in Hardware allein implementiert sein, oder aber auch in einer Kombination
von Hardware und Software. Die Schritte, um ein Datenpaket von dem
externen Netzwerk 904 an das interne Netzwerk 912 weiterzugeben,
sind im Prozess 1804 dargestellt, wohingegen die Schritte,
um Daten von dem internen Netzwerk 912 an das externen
Netzwerk 904 weiterzugeben, in Prozess 1808 dargestellt
sind.
-
Im
Prozess 1804 wird im Vorgang 1810 ein Datenpaket
vom externen Netzwerk 904 empfangen. Im Vorgang 1812 wird
das Datenpaket in eine Eingabeanforderung – zum Beispiel in ein Knotenfunktionsinput – und eine
Output-Routinginformation – zum
Beispiel in eine Information, die notwendig ist, eine Antwort zurück an den
Sender des Pakets zu schickten, geparst. In Vorgang 1816 wird
die Eingabeaufforderung formatiert und an den Controller geschickt.
-
Im
Prozess 1808 empfängt
die Paket-Engine 1800 im Vorgang 1824 einen Daten-Output
(zum Beispiel der Knotennavigationsbaum 1900) von dem internen
Netzwerk 912. Im Vorgang 1828 werden Daten, die
von dem internen Netzwerk empfangen wurden, in ein akzeptierbares
Datenpaket formatiert, um es über
das externen Netzwerk zu routen. Die Output-Routinginformation,
die im Schritt 1812 des Prozess 1804 geparst wurde,
wird für
diesen Zweck verwendet. Gemäß einer
Ausführungsform
ist ein akzeptierbares Datenpaket ein IP-Paket, gemäß einer
anderen Ausführungsform
ist ein ATM-Paket akzeptierbar.
-
Fernüberwachung
und -Bedienung
-
In
dem Home Entertainment System 500, das den Home Gateway 504 umfasst,
ist es möglich,
die Knoten des internen Netzwerks 912 vom externen Netzwerk 904 aus
zu überwachen
und zu bedienen/zu steuern. In derartigen Ausführungsformen ermöglicht die
Adresskartierungstabelle 1600 die Kommunikation zwischen
einem Gerät,
dass sich in dem externen Netzwerk 904 befindet, und einem
Knoten im Netzwerk 912.
-
Der
Home Gateway 504 (oben beschrieben) pflegt vorzugsweise
die Adresskartierungstabelle 1600 und fungiert als ein „Torwächter" für eingehende
und ausgehende Daten des bzw. zum externen Netzwerk 904. Des
Weiteren fungiert der Home Gateway 504 als eine Ablage
für Information,
die zu dem Home Entertainment System 500 gehört, wobei
dieser in einem Speicher (zum Beispiel Flash-Memory 716 oder
DRAM-Speicher 720) Knotenattributinformation speichert,
wie beispielsweise Knotentyp, Kompatibilität, und zusätzliche ATM, MPEG, IEEE 1394
und IP-Sevice-Information.
Der Service-Controller 808 kümmert sich um einen Großteil dieser
Funktionalität,
wie weiter unten beschrieben.
-
In
einer Ausführungsform
enthält
der Home Gateway 504 in dem Firmware-Stapel 800 einen SNMP („Simple
Network Management Protocol")
Manager und Agenten. Der SNMP-Agent antwortet auf Abfragen, die
die IEEE 1394 Knoten in dem Home Entertainment Netzwerk System 500 betreffen,
und gibt dem Home Gateway effektiv die Möglichkeit, auf Abfragen von
anderen SNMP-Managern zu antworten. Die Information, die von dem
SNMP-Managern abgefragt
wird, ist in einer Managementinformationsbasis („MIB") enthalten, die in dem Home Gateway 504 gespeichert
ist. Eine Ausführungsform
einer MIB ist die Adresskartierungstabelle 1600, wie auch
andere Tabellen wie zum Beispiel die Knotenfunktionstabelle 2100.
In einer alternativen Ausführungsform
wird eine andere MIB, wie eine, die durch RFC 1213 definiert
wird, verwendet. Das SNMP wird genauer im Internet Platinen-Architektur Schriftstück RFC 1157 beschrieben,
die zum Zeitpunkt des Schreibens öffentlich unter http://sunsite.cnlab-switch.ch/
erhältlich
sind.
-
Des
Weiteren ist der SNMP-Agent fähig,
Tasks zu initiieren, die von bestimmten IEEE 1394 Knoten des Systems 500 angefragt
wurden. Zum Beispiel könnte
der SNMP-Manager eine Anfrage für
einen Bus-Reset empfangen. Die Anfrage für den Bus-Reset wird an den
SNMP-Agenten weitergeleitet, und der SNMP-Agent bewirkt dann, dass
der 1394-Treiber 820 den Bus-Reset triggert. Ein weiteres
Beispiel ist, dass ein Befehl empfangen wird, der über einen
entfernten SNMP-Manager weitergeleitet wurde. Der Befehl, ähnlich wie
die oben beschriebene Anfrage, wird an den SNMP-Agenten übergeben, und der SNMP-Agent
bearbeitet den Befehl und formatiert diesen zur Übertragung an die nachfolgende
Schicht – zum
Beispiel den 1394 Treiber 820 oder den OS-Kernel 804.
-
In
einer anderen Ausführungsform
umfasst der Home Gateway 504 eine Web-Server-Funktionalität. Genauer, der Home Gateway 504 bedient
Anfragen von äußeren Klienten,
zum Beispiel von einem Web-Browser, und gibt Informationen über IEEE
1394-Knoten in dem Home Entertainment Netzwerk System 500 zurück. Zum
Beispiel werden in einer Ausführungsform
Anfragen nach dem Knotennavigationsbaum 1900 und Antworten,
die den Knotennavigationsbaum zurückgeben, von dem Web-Server
gehandhabt. Auf diese Weise umfasst der Web-Server eine Funktionalität, solch
eine, wie die Paket-Engine 1800, die oben im Zusammenhang mit 18 beschrieben
wurde. Die Web-Server Funktionalität ist grundsätzlich ähnlich zu
der SNMP Funktionalität,
aber im Falle des Web-Servers wird die Überwachung und die Bedienung
vorzugsweise über
einen entfernten Klienten kontrolliert, solch einen wie ein Web-Browser.
Die Befehle von einem äußeren Klienten
können
auch ein Bus-Reset, einen Trigger für die Auslösung eines VCRs, um die Aufnahme
zu starten, oder einen Auslöser
für einen
Schalter, um eine Tür
zu verschließen
oder ein Licht auszuschalten, umfassen.
-
In
den Ausführungsformen
entweder des Web-Servers oder des SNMP-Managers ist ein zentrales Office oder
ein Überwachungsstandort,
zum Beispiel der VSP 648 oder IAP/ISP 640 (oben
im Zusammenhang mit 6 beschrieben) in der Lage,
Geräte
innerhalb des Home Entertainment Netzwerk Systems 500 zu überwachen.
-
Die
Vorgänge
im Zusammenhang mit der entfernten Überwachung und Bedienung sind
in 26 dargestellt. Die Vorgänge werden von dem Home Gateway 504 ausgeführt, können insbesondere
von dem SMNP-Manager und -Agenten oder der Web-Server-Komponente
des Home Gateways 504 durchgeführt werden.
-
Im
Vorgang 2604 wird ein Output-Datenpaket vom Home Gateway 504 empfangen.
Im Vorgang 2608 wird das Output-Datenpaket geparst. Zum
Beispiel wird ein Input-Datenpaket von anderen Header- oder Meta-Daten
separiert, die den entfernten Klienten beschreiben und Informationen über das Input-Datenpaket
enthalten (zum Beispiel Sicherheitsinformation, die IP-Adresse des entfernten
Klienten, etc.). Das Input-Datenpaket wird im Vorgang 2612 vom
Home-Gateway 504 an den Zielknoten übermittelt.
-
Im
Vorgang 2616 wird einen Antwort auf das Input-Datenpaket,
das im Vorgang 2612 übertragen
wird, von dem Home Gateway 504 empfangen. Ein Output-Datenpaket
wird im Vorgang 2620 generiert, und im Vorgang 2624 wird
das Output-Datenpaket an den entfernten Klienten zurückgegeben,
der diese Information angefordert hat.
-
Die
Adresskartierungstabelle 1600 ist äußerst nützlich für die entfernte Überwachung
und Kontrollaspekte der Erfindung. Zum Beispiel wird die Adresskartierungstabelle 1600 im
Vorgang 2612 dafür
benutzt, die Adressierung des Ziel-IEEE 1394-Knotens in dem Home
Entertainment Netzwerk System 500 zu unterstützen, an
den die Anfrage oder der Befehl gerichtet ist. In ähnlicher
Weise kann die Adresskartierungstabelle 1600 auch dafür benutzt
werden, Anfragen nach Daten oder Befehle von dem entfernten Klienten
zu authentifizieren, in dem die IP-Adresse oder andere Adressinformation
(zum Beispiel die Unique-ID) hinzugefügt wird, um die Autorität des entfernten
Klienten zu verifizieren, ob dieser nach solchen Daten oder Befehlen
anfragen kann. Des Weiteren ist die IP-Service-Beschreibung in der
US-Anmeldung Ser. Nr. [noch nicht zugewiesen] (Aktenzeichen des
Anwalts 235/126) ebenfalls nützlich,
das mehr allgemeine Prinzip von entfernter Überwachung und Bedienung, wie
oben dargelegt, zu verstehen.
-
Geographische
Datenerfassung
-
Die 27 zeigt
ein Blockdiagramm einer Hardwarearchitektur eines IEEE 1394 Home
Gateway Knotens 2700, der konfiguriert ist, statistische
geographische Daten zu erfassen, zusammen mit einem zentralen Server 2750 (zum
Beispiel einem zentralen Büro/Office-Server
oder einem Head-End Server). In einer bevorzugten Ausführungsform
ist der Home Gateway 2700 ähnlich dem Home Gateway 504,
wobei der Einfachheit halber nur ausgewählte Komponenten des Home Gateway 2700 gezeigt
sind. Der Home Gateway 2700 enthält eine zentrale Prozessoreinheit 704,
einen Beharrungsspeicher, wie einen permanenten Speicher 2712, eine
externe Netzwerkschnittstelle 2704, wie ein ATM LSI (nicht
in der 27 gezeigt – gezeigt in der 7), eine
interne Netzwerkschnittstelle 2708, wie ein LINK LSI 736 (nicht
in der 27 gezeigt – gezeigt in der 7),
und eine Positionierungseinheit 2716. Der permanente Speicher 2712 ist
kommunikativ mit der CPU 704 über einen lokalen Bus 706 gekoppelt,
wobei die CPU 704, die Schnittstelle 2704 des
externen Netzwerks und die Schnittstelle 2708 des internen
Netzwerks und die Positionierungseinheit 2716 kommunikativ über einen
PCI-Bus 724 miteinander verbunden sind.
-
Der
zentrale Server ist bevorzugt ein Markenqualitäts-Server, wie ein SunTM EnterpriseTM 250
System, welches von Sun Microsystems in Mountain View, Kalifornien,
http://www.sun.com, beziehbar ist, auf dem ein Klient-Server Software-System
läuft,
wie eine Oracle 8TM Datenbank, die von Oracle
Corporation in Redwood Shores, Kalifornien, http://www.oracle.com,
beziehbar ist. Der zentrale Server 2750 wird von einem
Service-Provider gesteuert, wie beispielsweise einen Kabel- oder
Video-Service-Provider, und befindet sich in einer relativ zum Home
Gateway 2700 entfernten Position.
-
Der
zentrale Server 2750 wird in Form eines Blockdiagramms
dargestellt mit einer CPU 2754, einem permanenten (NV-„non volatile") Speicher 2758 (beispielsweise
einer Festplatte), und einer externen Netzwerkschnittstelle 2762.
Die CPU 2754, der dauerhafte Speicher 2758 und
die Schnittstelle des externen Netzwerks 2762 sind über einen
lokalen Bus 2756 miteinander kommunikativ gekoppelt. Der
zentrale Server 2750 und der Home Gateway 2700 sind über ein
physikalisches Medium zwischen den externen Netzwerkschnittstellen 2704 und 2762 miteinander
gekoppelt, wie beispielsweise über
ein Glasfaserkabel 2702. Andere Kopplungsmedien können Kupferverbindungen
(Twisted-Pair oder Koaxial) oder drahtlose Schnittstellen umfassen.
-
Die
Positionierungseinheit 2716, dargestellt im Home Gateway 2700,
kann verschiedene Ausführungsformen
besitzen. Zum Beispiel umfasst die Positionierungseinheit 2716 in
einer bevorzugten Ausführungsform
ein globales Positionsbestimmungsmodul, wie beispielsweise ein ACE
II GPSTM-Modul,
das von Trimble Navigation in Sunnyvale, Kalifornien, http://www.Trimble.com,
beziehbar ist. Allerdings wird ein bestimmtes oder hoch genaues
globales Positionsbestimmungsmodul nicht notwendigerweise benötigt, da
die geographische Auflösung
der Einheit nicht kritisch ist. In einem weiteren Beispiel sollen
die Daten über
den geographischen Ort von einem zentralen Server 2750 angefordert
werden – zum
Beispiel von einem Kabel-Provider – wobei dadurch das globale
Positionsbestimmungsmodul getriggert wird, die Ortsinformation für den Home
Gateway 2700 zu aktualisieren. Die Positionierungseinheit 2716 stellt
dann die aktualisierte Ortsinformation dem zentralen Server 2750 zur
Verfügung – zum Beispiel
direkt von der Positionierungseinheit 2716 oder über die
CPU 704.
-
In
einer alternativen und mehr kostensparenden Ausführungsform kann ein Beharrungsspeicher,
wie ein permanenter RAM, in der Positionierungseinheit 2716 verwendet
werden, zusammen mit einer Software-basierten Benutzer-Eingabenaufforderung
(„prompt"), die während des
Hochfahrens des Home Gateway 2700 oder auf Anforderung
des Benutzers initialisiert wird. Die Benutzer-Eingabeaufforderung
fordert den Benutzer auf, manuell einen geographischen Ortsidentifizierer,
wie einen ZIP-Code, einzugeben, und die Antwort des Benutzers wird
dann in dem permanenten RAM gespeichert. Wenn eine nachfolgende
Anforderung nach geographischer Ortsinformation für das Home
Entertainment Netzwerk System 500 erfolgt, kann der Home Gateway 2700 dadurch
antworten, dass er den Ortsidentifizierer, der in dem Beharrungsspeicher
gespeichert ist, zurückgibt.
-
Die 28 ist
ein Flussdiagramm, das ein Verfahren zeigt, statistische geographische
Ortsinformation in einer Netzwerkumgebung, solch einer wie das Home
Entertainment Netzwerk System 500, zu erfassen. Das Verfahren
wird bevorzugt über
eine Sequenz von Anweisungen – zum
Beispiel einer Firmware-Routine – durchgeführt, die im Home Gateway 2700 ausgeführt wird.
-
Bezug
nehmend auf den ersten Vorgang, der in der 28 dargestellt
ist, wird in einem Vorgang 2804 durch den Home Gateway 2700 ein
Test durchgeführt,
um festzustellen, ob die Ortsinformation, die in der Positionierungseinheit 2716 gespeichert
ist, aktuell ist. Unter normalen Verhältnissen wird der Test in regelmäßigen Abständen durchgeführt, beispielsweise
alle zwei Wochen, so dass ein Zähler/Zeitmesser
verwendet werden kann um festzustellen, ob die geographische Ortsinformation
aktuell ist. Vorzugsweise ist der Zähler/Zeitmesser derart eingestellt,
dass er eine ungültige
Zeit wiedergibt, wann immer die Versorgung abgeschaltet oder unterbrochen
wird, wodurch eine Aktualisierung der geographischen Ortsinformation
erzwungen wird. Wenn der Zähler/Zeitmesser
aktuell ist, fährt
das Verfahren mit Vorgang 2816 fort, andernfalls geht das
Verfahren zum Vorgang 2808 über.
-
Im
Vorgang 2808 erfasst die Prozessoreinheit 2716 geographische
Ortsinformation entweder automatisch (zum Beispiel über ein
globales Positionsbestimmungsmodul) oder manuell (zum Beispiel durch
eine Benutzereingabeaufforderung und eine Antwort). Im Vorgang 2812 wird
die geographische Ortsinformation in einem Beharrungsspeicher im
Home Gateway 2700 gespeichert – beispielsweise im NV-Speicher 2712,
oder in einem hierfür
zugewiesenen Beharrungsspeicher (nicht gezeigt), der Teil der Positionierungseinheit 2716 ist.
-
Im
Vorgang 2816 werden eintreffende Inhaltsinformationen von
dem externen Netzwerk 904, die die externe Netzwerkstelle 2704 passieren,
abgetastet. Die abgetasteten eintreffenden Daten enthalten einen
Kanalidentifikator und können
ebenfalls auch eine Sendezeit und Datumsstempel beinhalten. Im Vorgang 2820 werden
die abgetasteten Daten in der statistischen Datentabelle 3000 aufgezeichnet
(in Detail im Zusammenhang mit der 30 beschrieben),
die sich in einem Beharrungsspeicher befindet, zum Beispiel einem NV-Speicher 2712.
In einer bevorzugten Ausführungsform
wird der Home Gateway 2700 jedes mal, wenn ein Kanal auf
einem IEEE 1394 Knoten in dem IEEE 1394 Bus 468 über einen
Zeitraum geändert
ist, der länger als
eine vorgegebene Zeit ist, zum Beispiel fünf Minuten, eine entsprechende
Aufzeichnung in der statistischen Datentabelle 3000 vornehmen.
-
Im
Vorgang 2824 wird ein Test durchgeführt um festzustellen, ob eine
Anforderung statistischer geographischer Daten erhalten wurde. Üblicherweise
wird die Anforderung statistischer Daten von dem zentralen Server 2750 einer
Rundfunk- oder Fernsehanstalt („broadcaster-facility") über das
externe Netzwerk 904 erfolgen. Allerdings kann die Anforderung
statistischer Daten auch von innerhalb des Home Entertainment Netzwerksystems 500 kommen,
wie zum Beispiel von einem Elternteil, das die Fernsehgewohnheiten
eines Kindes überprüfen möchte.
-
Wenn
eine Anforderung statistischer Daten nicht erhalten wurde, endet
die momentane Iteration des Verfahrens und der Home Gateway 2700 kehrt
zum Vorgang 2804 zurück.
Wenn allerdings eine Anforderung statistischer Daten von dem Home
Gateway 2700 empfangen wurde, fährt das Verfahren mit Vorgang 2828 fort,
gemäß dem die
abgetasteten Daten, die in der statistischen Datentabelle 300 enthalten
sind, entschlüsselt werden.
Gemäß einer
Ausführungsform
wird ein öffentlicher
Schlüssel/privater
Schlüssel – Entschlüsselungspaar
für den
Entschlüsselungs-
und Verschlüsselungsmechanismus
verwendet, wie der „Message
Digest 5" (MD5)-Algorithmus.
Der MD5-Algorithmus wird in dem öffentlich
erhältlichen
Internet RFC 1321 unter dem Titel „The MD5 Message Digest Algorithm", R. Rivest, 1992,
http://sunsite.cnlabswitch beschrieben.
-
Nachdem
die Information aus der statistischen Datentabelle entschlüsselt ist,
wird diese zusammen mit dem Ortsindentifizierer (falls benötigt), über die
externe Netzwerkschnittstelle 2704 an den zentralen Server 2750 im
Vorgang 2832 übertragen.
Insbesondere muss es nicht notwendig sein, den Ortsidentifikator
mit aufzunehmen, falls nur bestimmte Home Gateways 2700,
die einen bestimmten Ortsindentifizierer aufweisen, zu irgend einer
gegebenen Zeit gepollt werden. Wenn allerdings periodische Aktualisierungen
von dem Home Gateway 2700 an den zentralen Server 2750 durchgeführt werden,
ist in diesen Falle der Ortsidentifikator notwendig. Danach endet
die momentane Iteration des Verfahrens und es kann wieder einer
neuer Zyklus mit dem Vorgang 2804 beginnen.
-
Die 29 ist
ein Flussdiagramm, das ein Verfahren zeigt, um statistische geographische
Information einer Netzwerkumgebung durch einen zentralen Server 2750 zu
erfassen. Das Verfahren wird vorzugsweise über eine Sequenz von Anweisungen
durchgeführt – zum Beispiel
einer Anwendung – die
auf dem zentralen Server 2750 läuft. Beginnend mit dem Vorgang 2904 initialisiert
der zentrale Server 2750 die Kommunikation mit dem Home
Gateway 2700.
-
Gemäß einer
Ausführungsform
umfasst die Initialisierungssequenz die Authentifizierung der Identität sowohl
des zentralen Servers 2750 gegenüber dem Home Gateway 2700 als
auch des Home Gateways 2700 gegenüber dem zentralen Server 2750.
In einer weiteren Ausführungsform
umfasst der Authentifizierungsprozess des Weiteren die Registrierung
zusätzlicher
IEEE 1394 Knoten, die sich in dem Home Entertainment Netzwerksystem 500 befinden.
Dies kann dadurch ausgeführt
werden, dass ausgewählte
Daten wie die unique-Knoten-ID aus der Adresskartierungstabelle 1600 (im
Detail im Zusammenhang mit den 16 und 22 beschrieben), mit einbezogen werden.
-
In
noch einer weiteren Ausführungsform
wird der Ortsidentifizierer, wenn die geographische Ortsinformation/der
geographische Ortsidentifizierer in dem Home Gateway 2700 im
Vorgang 2808 (28) aufgezeichnet wird, sowohl
in der Adresskartierungstabelle 1600 als auch an einer
reservierten Stelle eines Beharrungsspeichers eines jeden IEEE 1394-Knotens,
der sich auf dem IEEE 1394 Bus 568 befindet (falls Schreiberechte
zugelassen werden), gespeichert. Falls ein Bus-Reset auftritt, triggern
Diskrepanzen zwischen den Ortsidentifizierern, zum Beispiel zwischen
einem IEEE 1394 Knoten und dem Home Gateway 2700, die von dem
Home Gateway 2700 oder den zentralen Server 2750 detektiert
werden, den Authentifizierungs-/Registrierungsprozess mit dem zentralen
Server 2750. Alternativ kann der Home Gateway 2700 auch
periodisch einen Teil seine Adresskartierungstabelle 1600 mit
dem zentralen Server 2750 synchronisieren. Die Unique-Knoten
ID des bestimmten IEEE 1394 Knotens (der einen unterschiedlichen
Ortsidentifikator besitzt) und die Unique-Knoten ID des Home Gateway 2700 werden
dann durch den zentralen Server 2750 abgeglichen. Wenn
aus irgend einem Grund diese Diskrepanz nicht abgeglichen werden
kann, kann dann geeignetes Service-Personal entweder wegen eines
potentiellen Benutzerfehlers oder eines gestohlenen Geräts benachrichtigt
werden.
-
Nach
dem Vorgang 2904 fordert der zentrale Server 2750 vom
Home Gateway 2700 in Vorgang 2908 abgetastete
statistische Daten an, zum Beispiel den gesamten oder einen Teil
der statistischen Datentabelle 3000. Nachdem die abgetasteten
statistischen Daten angefordert wurden, wartet der zentrale Server 2750 in Vorgang 2912 eine
Zeitspanne auf die abgetasteten statistischen Daten. Wenn keine
abgetasteten Daten empfangen wurden, fährt der Prozess mit Vorgang 2904 fort.
Wenn allerdings abgetastete statistische Daten empfangen werden,
geht der Prozess zum Vorgang 2916 über.
-
Im
Vorgang 2916 werden die abgetasteten statistischen Daten,
die von dem Home Gateway 2700 empfangen wurden, entschlüsselt. Gemäß einer
Ausführungsform
ist der Entschlüsselungs-/Verschlüsselungsalgorithmus
wiederum die MD5-Funktion, die hierin mit Bezug auf Internet RFC
1321 beschrieben ist.
-
Im
Vorgang 2920 werden die entschlüsselten abgetasteten statistischen
Daten auf Sehgewohnheiten und -Verhalten und Präferenzen des Benutzers analysiert.
Basierend auf den abgetasteten statistischen Daten kann ein bestimmter
Inhalt, wie bestimmte Typen der Werbung oder bestimmte Programmlisten,
selektiv zu einem Benutzer gesendet werden, der sich einen über den
Home Gateway 2700 laufenden Inhalt ansieht. Wenn zum Beispiel
ein Benutzer ständig
ein bestimmtes Programm oder einen bestimmten Kanal sieht, könnte dann
danach das Programm oder der Kanal als ein „bevorzugter" Kanal in einem elektronischen
Programmheft gekennzeichnet werden. Auf ähnliche Weise können ebenfalls
auch demographische Daten, zum Beispiel Geschlecht, Alter, ZIP-Code
eines bestimmten Benutzers oder einer Gruppe von Benutzern, die
ein bestimmtes Programm sehen, aufgezeichnet werden. Basierend auf
den demographischen Daten für
ein bestimmtes Programm kann Werbung, die auf den bestimmten Benutzer
oder auf die Gruppe von Benutzern zugeschnitten ist, mit dem Programm übertragen
werden, ebenso wie erweiterte Informationen zum gesehenen Programm, die
in Bezug zu dem Programm und den Vorlieben des Benutzers stehen,
wie URLs („Uniform
Resource Locators").
-
Die 30 zeigt
ein Diagramm von einer exemplarischen statistischen Datentabelle 3000.
Die statistische Datentabelle besitzt 5 Spalten, obwohl es in anderen
Ausführungen
auch mehr oder weniger Spalten haben könnte. Die Unique-Knoten ID-Spalte 3004 speichert
einen eindeutigen Identifikator für jedes IEEE 1394 Gerät, das zu
einem bestimmten Zeitpunkt Inhalt über den Home Gateway 2700 empfängt. Die
Kanal-Spalte 3008 speichert einen Identifikator für den speziellen
Kanal, der durch den Home Gateway 2700 geleitet wird. Ein
Zeitmarkierungs/Zählerfeld 3012,
zum Beispiel eine 16 Bit Zeit- und Datumsmarkierung, für die eindeutige
Identifikation eines bestimmten Datums und einer bestimmten Zeit
von jeder Aufzeichnung speichert den Zeitpunkt, an dem das Anschauen
für einen
bestimmten Benutzer und Kanal beginnt. Auf ähnliche Weise wird das Zeitmarkierungs/Zählerfeld 3012 dazu
verwendet, aufzuzeichnen, wenn das Anschauen für den bestimmten Benutzer und
Kanal endet. Die Zeitmarkierungs/Zählerdaten für die Felder 3008 und 3012 werden
vorzugsweise durch den zentralen Server 2750 generiert
und übertragen,
sowie ein Standard-Bezugssystem verwendet wird, wenn die statistischen
Daten analysiert werden. In einer alternativen Ausführungsform kann
die Zeitmarkierung/der Zähler
durch den Home Gateway 2700 generiert werden, allerdings
sollte dieser immer noch periodisch mit dem zentralen Server 2750 synchronisiert
werden. Ein Benutzer-Feld 3020 zeichnet einen Benutzer-Identifikator für die Aufzeichnung
von bestimmten statistischen Daten auf. Zum Beispiel können Benutzern,
die ein Passwort für
die Deaktivierung der Kindersicherung kennen, ein vorher festgelegter
Benutzer-Identifaktor zugewiesen werden.
-
Drei
Spalten 3024, 3028 und 3032 sind in der
statistischen Datentabelle 3000 gezeigt. Zum Beispiel gibt
die Information, die in den Zeilen 3024 und 3028 gespeichert
ist, wenn diese durch den zentralen Server 2750 analysiert
wird, an, dass der Benutzer A den Kanal „2" auf einem Mitsubishi TV für 6 Minuten an
einem bestimmten Datum und zu einer bestimmten Zeit gesehen hat.
Des Weiteren zeigen die Aufzeichnungen, dass der Benutzer A danach
zum Kanal „4" gewechselt ist,
auf dem er zusätzliche
9 Minuten geblieben ist. Die Zeile 3032 gibt dem zentralen
Server 2750 an, dass, während
der Benutzer A den Kanal „4" gesehen hat, ein
Benutzer B sich auf einem anderen IEEE 1394 Knoten auf den Kanal „2" für 26 Minuten
eingeschaltet hat (hier auf einem ACME PC). Die Information, die
in der statistischen Datentabelle 3000 enthalten ist, kann
mit der Adresskartierungstabelle 1000 (hierin beschrieben)
erhöht
werden, um den abgetasteten Daten mehr Tiefe zu geben.
-
Die
Verfahren und Prozesse, die hier beschrieben sind, werden vorzugsweise
eher von einem oder mehreren Prozessoren ausgeführt, die eine oder mehrere
Abfolgen von Anweisungen, die auf einem von einem Computer lesbaren
Medium, wie eine Festplatte, eine CD-ROM, eine Floppy-Disk, einen
flüchtigen
Speicher (zum Beispiel einen RAM („Random Access Memory")) oder einem permanenten
Speicher (wie einen Flash-Speicher oder einem ROM („Read Only
Memory")) gespeichert
sind, abarbeiten, als in einer bestimmten Hardware-Anordnung. Allerdings
können
viele Aspekte der Verfahren und Prozesse, die hier beschrieben sind, mittels
Hardware-Komponenten,
wie einen TTL-Logik oder Gate-Arrays, implementiert werden. Des
Weiteren wird, wenn ein Firmware-Level, zum Beispiel eine auf einem
unteren Level liegende Programmimplementierung einer Software-Komponente, die üblicherweise
auf einer ROM gespeichert ist, oder eine Applikationslevel-Software-Komponente,
zum Beispiel eine auf einem höheren
Level liegende Programmimplementierung einer Software-Komponente,
die über
Firmware, einen Betriebssytem-Kernel und/oder Server-Prozesse läuft, bevorzugt
wird, diese Präferenz
angegeben. Wenn keine Präferenz
angegeben ist, sind beide Implementierungslevel akzeptierbar. Demfolgend
sind die Beschreibung und die zugehörigen Figuren, die hierin enthalten sind,
eher im Sinne einer Veranschaulichung zu betrachten und nicht in
einem einschränkendem
Sinn.