-
Die
vorliegende Erfindung bezieht sich auf ein Kommunikationssystem
mit einer Anzahl Controllerstationen und wenigstens einer gesteuerten
Station; wobei die Stationen über
ein Kommunikationsnetzwerk miteinander verbunden sind; wobei die
Funktionalität
jeder gesteuerten Station mit einer betreffenden abstrakten Repräsentation,
durch AR bezeichnet, assoziiert sind, was eine Schnittstelle für Softwareelemente
in dem System schafft zur Steuerung der Funktionalität der gesteuerten
Station mit Hilfe von Nachrichten, die mit der AR über das
Kommunikationsnetzwerk ausgetauscht werden.
-
Die
vorliegende Erfindung bezieht sich weiterhin auf eine Controllerstation
zur Verwendung in einem Kommunikationssystem mit einer Anzahl Controllerstationen
und wenigstens einer gesteuerten Station; wobei die Stationen über ein
Kommunikationsnetzwerk miteinander verbunden sind; wobei die Funktionalität jeder gesteuerten
Station mit einer betreffenden abstrakten Repräsentation, durch AR bezeichnet,
assoziiert ist, was eine Schnittstelle für Softwareelemente in dem System
schafft zur Steuerung der Funktionalität der gesteuerten Station mit
Hilfe von Nachrichten, die mit der AR über das Kommunikationsnetzwerk
ausgetauscht werden.
-
Die
vorliegende Erfindung bezieht sich insbesondere auf ein Multimedia-Unterhaltungselektroniksystem.
Die Unterhaltungselektronikindustrie verlagert sich von vorwiegend
analog betriebenen Geräten
zu digital betriebenen Geräten.
Beim Erscheinen digitaler Speichermedien, wie Compact Disk, und
digitalen Sendetechniken, wie DAB, ist Audio digital geworden. Auch
Video ist rasch digital geworden. Ein Total-Digital-Multimediasystem
mit digitalem Audio und digitalem Video bietet neue Möglichkeiten
für den
Konsumenten, und zwar wegen eindrucksvoller digitaler Verarbeitungs-
und Speicherfähigkeiten,
die zu erschwingbaren Preisen verfügbar werden. Weiterhin werden
digitale Kommunikationsnetzwerke kräftiger zu reduzierten Kosten.
-
EP-A-0
406 486 beschreibt das D2B Kommunikationssystem für Unterhaltungselektronikgeräte, das eine
automatische Steuerung eines elektronischen Geräts über den D2B-Bus ermöglicht.
In diesem System kann eine Station als eine Controllerstation wirksam
sein, die eine oder mehrere der anderen Stationen steuert, die als
gesteuerte Station(en) wirksam ist (sind). Eine gesteuerte Station
stellt ihre örtliche
Funktionalität
in Form eines Satzes von Funktionen zur Verfügung, auf die durch Übertragung
von Nachrichten über
den D2B Bus zugegriffen werden kann. Der Funktionalitätssatz kann
als eine abstrakte Repräsentation
der wirklich darunter liegenden Funktionalität betrachtet werden, die von
der Hardware und/oder der Software der gesteuerten Station geschaffen
wird. Die Repräsentation
ist in dem Sinne abstrakt, dass keine strikte Eins-zu-Eins-Beziehung
zwischen den extern angebotenen Funktionen und der internen Implementierung
erforderlich ist. Typischerweise ist die Repräsentation standardisiert, während die
wirkliche Implementierung Lieferant- oder Modellspezifisch ist.
Folglich zeichnet die gesteuerte Station die abstrakte Repräsentation
(AR) in interne Steuermechanismen und steuert die unterliegende
Hardware/Software auf entsprechende Weise (beispielsweise unter
Verwendung eines internen Busses, wie I2C, zur Steuerung von Hardwareelementen).
Eine derartige Aufzeichnung und Steuerung wird üblicherweise in Software durchgeführt. Dies
deckt auch die Funktionalität,
die erforderlich ist zum Aufzeichnen der abstrakten Repräsentation
zu der konkreten Repräsentation
der unterliegenden Hardware/Software der Station.
-
Die
AR kann unter Verwendung eines Benachrichtigungsmechanismus gesteuert
werden. Befehlsnachrichten werden für jede Funktion definiert,
welche die gesteuerte Station instruiert um eine definierte Aufgabe
durchzuführen.
Beantragungsnachrichten ermöglichen
es, dass Information von der gesteuerten Station in Bezug auf die
Durchführung
einer Funktion erfasst wird, wie den Zustand der Station. Ereignisnachrichten ermöglichen
es, dass die gesteuerte Station die steuernde Station über Ereignisse
informiert, wie über
Zustandsänderungen,
die in der gesteuerten Station aufgetreten sind.
-
In
der steuernden Station wird die Aufgabe der Steuerung der Funktionalität einer
anderen Station dem sog. Audio/Video-Controller (AV/C) zugeordnet.
Der AV/C funktioniert unabhängig
von den anderen Stationen. Typischerweise startet der AV/C eine
Steuersequenz, meistens als Feature oder Applikation bezeichnet,
in Reaktion auf eine Auslösung
von einem Benutzer (beispielsweise ein Benutzer hat eine Taste einer
Fernbedienung betätigt)
oder in Reaktion auf ein Ereignis, das in dem System aufgetreten
ist. Ein typisches Beispiel einer Applikation, durchgeführt durch
den AV/C, ist die automatische Wiedergabe. Für dieses Feature instruiert,
in Reaktion auf die Aktivierung der Wiedergabefunktion eines VCRs
durch den Benutzer (beispielsweise Betätigung einer Wiedergabetaste
oder das Einschieben einer Bandkassette), der AV/C das VCR-Deck
das Band abzuspie len, instruiert den VCR das von dem Band herrührende A/V-Signal
dem Fernseher zur Verfügung
zu stellen und instruiert den Fernseher das von dem VCR herrührende Signal
dem Monitor zuzuführen.
Es dürfte einleuchten,
dass für
dieses Beispiel der steuernde AV/C vorzugsweise, obschon nicht unbedingt
erforderlich, in dem Fernseher oder in dem VCR vorhanden ist zum
reduzieren der Anzahl Befehlsnachrichten, In den Stationen können viele
AV/C vorhanden sein. Eine Station kann mit der Zeit oder sogar gleichzeitig
als eine steuernde Station oder als eine gesteuerte Station wirksam
sein.
-
In
dem D2B System war eine Übereinstimmung
zwischen einerseits dem Feature, durchgeführt durch einen AV/C, und andererseits
den Funktionen in der (den) gesteuerten Station(en). Diese Übereinstimmung hat
die Einführung
des Systems gehemmt. Typischerweise hatte ein Benutzer bereits ein
AN System und ersetzte oder fügte
auf individueller Basis Geräte
hinzu. Das Erhalten eines einzigen Geräts, das imstande war, als eine
D2B Station und/oder als gesteuerte Station wirksam zu sein, fügte zu dem
System keine Funktionalität
hinzu, da noch keine Partnerstation verfügbar war. Nur dann, wenn der
Benutzer geeignete Partnerstationen hatte, wurde eine automatische
Steuerfunktionalität,
geboten durch das D2B System, verfügbar. Weiterhin war die Funktionalität der steuernden
Station und der gesteuerten Station statisch. So wurde beispielsweise die
Funktionalität,
die durch einen VCR dem Rest des Systems zur Verfügung gestellt
wurde, durch Features bestehender AV/C oder AV/C in der Entwicklung
zu dem Zeitpunkt der Entwicklung des VCR bestimmt. Wenn zu einem
späteren
Zeitpunkt ein AV/C mit einem neuen Feature eingeführt wurde,
die andere Funktionen des VCRs erforderte, könnte dieser neue AV/R nicht
mit dem bestehenden D2B VCR zusammenarbeiten, sogar nicht wenn die
Hardware des bestehenden VCR im Grunde die Funktionalität aufbringen
könnte.
Folglich war Änderung
oder Erweiterung der Funktionalität des Systems schwerfällig.
-
Es
ist nun u. a. eine Aufgabe der vorliegenden Erfindung, ein Kommunikationssystem
der beschriebenen Art zu schaffen, das in Bezug auf die Funktionalität einer
gesteuerten Station flexibler ist. Es ist eine weitere Aufgabe der
vorliegenden Erfindung dass die Funktionalität der gesteuerten Station auf
eine benutzerfreundliche Art und Weise verwaltet werden kann.
-
Um
die Aufgabe der vorliegenden Erfindung zu erfüllen umfasst das Kommunikationssystem
Führerselektionsmittel
zum Selektieren einer einzigen Station der Cont rollerstationen als
eine führende
Controllerstation; und jede Controllerstation umfasst AR Verteilungsmittel
um zu ermitteln, welche Controllerstation der wenigstens einen gesteuerten
Stationen die betreffende AR durchführen soll; wobei die AR Verteilungsmittel
wirksam sind um, wenn in der führenden
Controllerstation vorhanden, jede AR höchstens einer der Controllerstationen
zuzuordnen; und Steuermittel zum Durchführen wenigstens einer AR, die
der örtlichen
Controllerstation zugeordnet ist.
-
Nach
der vorliegenden Erfindung kann die abstrakte Repräsentation
einer gesteuerten Station an einer anderen Station durchgeführt werden,
die als Controllerstation bezeichnet wird. Die Kommunikation zwischen
der AR in der Controllerstation und der wirklichen Hardware/Software
in der gesteuerten Station kann verschiedenartig durchgeführt werden.
Dies kann jeden beliebigen nicht-Standard geschützten Mechanismus umfassen.
Auf diese Weise kann eine gesteuerte Station, die an sich nicht
imstande ist, die gewünschte
AR zu schaffen um andere Stationen in den Stand zu setzen, sie zu
steuern, dennoch ein Teil des Systems sein, sei es indirekt über die
Controllerstation gesteuert. Während
in den D2B Systemen nur zwei Parteien miteinander kommunizierten
(und zwar die Feature/Applikation in einem AV/C der Controllerstation
und die Funktionalität
in der gesteuerten Station), sind in dem vorliegenden Fall drei
Parteien im Spiel: eine Feature/Applikation (als Software-Element
bezeichnet), eine AR in einer Controllerstation und die gesteuerte
Station. Die Feature/Applikation kann in jeder beliebigen Station
vorgesehen sein, die imstande ist, zu der AR der Controllerstation
Steuernachrichten auszuliefern. Die Feature/Applikation kann auch
in der Controllerstation selber vorgesehen sein.
-
Ein
weiterer Vorteil der neuen Architektur ist, dass die durch die AR
einer gesteuerten Station gelieferte Funktionalität eingestellt
oder verbessert werden kann. Wenn beispielsweise anfangs ein Benutzer
einen VCR gekauft hat mit einer Basis-AR und einen Fernseher mit
einem entsprechenden Basis-Feature, wobei die Basis-Funktionalität angewandt
wird, kann der Benutzer nach der vorliegenden Erfindung den Fernseher
durch ein neueres Modell ersetzen, das ein moderneres Feature bietet
(obschon nicht erforderlich) und eine bessere AR des VCRs, wobei
die AR des VCRs in dem Fernseher mit dem VCR auf eine firmeneigene
Art und Weise kommuniziert (wenigstens für die hinzugefügte Funktionalität). Nun
kann nicht nur das neue Feature in dem Fernseher die verbesserte
VCR Funktionalität
benutzen, sondern auch ein Feature irgendwo in dem System kann die
ver besserte Funktionalität
verwenden, indem auf die VCR-AR in dem Fernseher zugegriffen wird.
-
Zur
Verwaltung der Zuordnung von AR zu Controllerstationen wird nach
der vorliegenden Erfindung eine Annäherung in zwei Schritten angewandt.
Erstens wird eine der Controllerstationen zur führenden Controllerstation gewählt. Zweitens
ordnet die führende
Controllerstation die AR derart Controllerstationen zu, dass eine
AR höchstens
einmal zugeordnet wird. Auf diese Weise wird vermieden, dass zwei
oder mehrere AR verantwortlich sind für Zugriff auf dieselbe gesteuerte
Station, was zu Konfliktsituationen führen könnte. Dadurch, dass gewährleistet
wird, dass für
jede gesteuerte Station höchstens
eine AR aktiv ist, werden Konfliktsituationen in der Steuerung der
gesteuerten Station vermieden. Da im Grunde viele Stationen imstande
sein können, als
eine Controllerstation zu funktionieren, werden komplexe Synchronisations-
und Verwaltungsthemen dadurch vermieden, dass eine er Controllerstationen
als führend
bezeichnet wird, wobei diese als solche für die Zuordnung von AR zu Controllerstationen
verantwortlich ist.
-
In
einer Ausführungsform,
wie in dem Unteranspruch 2 definiert, wird die Führerselektion auf eine einfache,
verteilte Art und Weise von jeder Controllerstation durchgeführt, die
individuell entscheiden, ob sie der Anfangsführer ist. Die Entscheidung
basiert auf einzigartigen Identifizierern jeder der Controllerstationen.
Vorzugsweise werden für
die einzigartigen Identifizierer dieselben Identifizierer verwendet,
die zum Identifizieren einer Station in Bezug auf das Netzwerk,
wie eine Netzwerkadresse, verwendet werden. Die Identifizierer können zentral,
beispielsweise in einer der Controllerstationen, oder verteilt gespeichert
werden, wobei jede Controllerstation den eigenen Identifizierer
speichert. Unter Verwendung der einzigartigen Identifizierer kann
jede Station einfach ermitteln, ob sie der Führer ist oder nicht. Die Entscheidung
kann beispielsweise auf der Ermittlung des höchsten oder des niedrigsten
Identifizierers beruhen. Auch können
andere Algorithmen verwendet werden (beispielsweise das Transformieren
des Identifizierers in eine kleinere Anzahl, wobei eine Hash-Funktion
angewandt wird und über
diese Anzahl entschieden wird).
-
In
einer Ausführungsform,
wie in dem Unteranspruch 3 definiert, erhalten die Bits niedrigster
Ordnung des Identifiziers mehr Gewichtung bei der Ermittlung des
Führers.
Auf diese Weise wird die Situation vermieden, dass in allen oder
vielen Systemen eine Station desselben Herstellers als die führende Station
wirksam ist. Diese Situation könnte
auftreten, wenn ein direkter Entscheidungsmechanismus angewandt
werden würde, der
die Werte der Identifizierer vergleicht, da typischerweise die Bits
höherer
Ordnung eines Identifizierers herstellerspezifisch sind. Da die
Bits niedrigerer Ordnung meistens sequentiell und unabhängig von
jedem Hersteller ermittelt werden, führt dies zu einer einfachen
Art und Weise zum Erreichen eines gewissen Zufalls in der Wahl des
Führers.
Auf diese Weise gibt es in verschiedenen Systemen mit Stationen
von demselben Hersteller (beispielsweise einen Fernseher der Marke
X und einen VCR der Marke Y) eine Möglichkeit, dass eine Station
eines der Hersteller nicht in allen Systemen als Führer selektiert
wird. Vorteilhafterweise wird für
ein festes System immer derselbe Führer selektiert. Dies kann
die Konsistenz in der Zuordnung von AR zu Controllerstationen steigern,
insbesondere, wenn, auf Basis von Vorzügen oder anderer Information
für eine
gesteuerte Station zwischen gleichwertig geeigneten Controllerstationen
gewählt
werden muss. Dies steigert auch die Konsistenz im Betrieb des Systems.
-
In
einer Ausführungsform,
wie in dem Unteranspruch 4 definiert, wird jede Controllerstation
mit einem Fähigkeitsindikator
assoziiert, der eine Fähigkeit
der assoziierten Controllerstation angibt um als führende Controllerstation
zu funktionieren (d.h. die Zuordnung der AR zu verwalten). Durch
Verwendung von Fähigkeitsindikatoren
wird die effiziente aber ziemlich wahllose erste Selektion eines
Führers
auf eine einfache Art und Weise verfeinert. Stattdessen, dass alle
Controllerstationen die Fähigkeiten
aller Controllerstationen sammeln und darüber entscheiden sollen, wird
dieser Vorgang von nur einer einzigen Station durchgeführt (dem
Ausgangsführer),
wonach die Verantwortlichkeit zu einer anderen Controllerstation
behandelt wird, wenn diese beim Entscheiden, wo die AR durchgeführt werden
sollen, als die fähigste
herauskommt. Dadurch, dass nur eine einzige Station verwendet wird
(der Ausgangsführer)
zum Selektieren des schlussendlichen Führers können auch Konflikte, die auftreten
könnten,
wenn die Fähigkeitsindikatoren
gleich fähige
Stationen angeben, auf einfache Weise gelöst werden. So wählt der
Anfangsführer
eine der fähigsten
Stationen, beispielsweise eine mit einem niedrigsten oder höchsten Identifizierer,
eine die zunächst
ihren Fähigkeitsindikator
angibt, oder auf eine andere geeignete Art und Weise. Es wird vermieden,
dass eine andere Station, auf Basis derselben Daten eine andere
Station als die fähigste
Station wählen.
-
In
einer Ausführungsform,
wie in dem Unteranspruch 5 definiert, werden Controllerstationen,
die imstande sind, aktualisierte Software für die ARen bevorzugt. Die Software
kann beispielsweise dem Internet, einem neu programmierbaren Speicher,
wie einer Festplatte, in dem System entnommen werden, oder durch Einfügung eines
aktualisierten Speichermediums, wie einer CD-ROM, in einen Speicherleser.
Auf diese Weise kann die Funktionalität des Systems oder vorzugsweise
während
der Lebenszeit der Produkte geändert
werden.
-
Um
die Aufgabe der vorliegenden Erfindung zu erfüllen umfasst das Kommunikationssystem
Führerselektionsmittel
um zu ermitteln, ob die Controllerstation eine führende Controllerstation ist;
und die Controllerstation umfasst: AR Verteilungsmittel um zu ermitteln,
welche Controllerstation die betreffenden Aren jeder der wenigstens
einen Controllerstationen durchführen
soll; wobei die AR Verteilungsmittel wirksam sind um, wenn die Controllerstation
als die führende
Controllerstation gewählt
worden ist, jede AR höchstens
einer der Controllerstationen in dem System zuzuordnen; und Steuermittel
zum Durchführen
wenigstens einer AR, die der Controllerstation zugeordnet ist.
-
Ausführungsbeispiele
der vorliegenden Erfindung sind in der Zeichnung dargestellt und
werden im Folgenden näher
beschrieben. Es zeigen:
-
1 ein
Blockschaltbild eines Systems mit Konsumentengeräten nach der vorliegenden Erfindung, und
-
2 ein
Blockschaltbild der Softwarearchitektur einer Controllerstation
in dem System nach 1.
-
In
den Figuren bezeichnen dieselben Bezugszeichen gleiche oder ähnliche
Elemente. Einige der in der Zeichnung angegebenen Elemente werden
typischerweise in Software implementiert, und stellen als solche
Software-Entitäten
dar, wie Software-Module
oder Objekte.
-
1 ist
ein Blockschaltbild eines Steuersystems 100 nach der vorliegenden
Erfindung. Das System 100 umfasst wenigstens eine gesteuerte
Station; dargestellt sind die gesteuerten Stationen 102, 104, 106, 108, 110,
... und 112. System 100 umfasst weiterhin eine
Anzahl Controllerstationen. Die Figur zeigt die Controllerstationen 114 und 116.
Die Controllerstationen sind über
das Haupt-Kommunikationsnetzwerk 120 des Systems verbunden,
beispielsweise auf Basis von IEEE 1394, unter Anwendung derselben
Kommuni kationsprotokolle höheren
Pegels. Die Controllerstationen 102–106 sind unmittelbar
mit der Controllerstation 114 verbunden. Die Verbindung
kann über
jedes beliebige geeignete Kommunikationsmittel, wie ein firmeneigenes
Netzwerk sein. Die gesteuerte Station 108 ist mit dem Hauptnetzwerk 120 verbunden,
verwendet aber nicht alle erforderlichen Protokolle um die AR zur
Steuerung zur Verfügung
zu stellen, auf eine Art und Weise, die für das Hauptnetzwerk 120 erforderlich
ist. Die Station 108 kann aber andere Protokolle anwenden
(beispielsweise firmeneigene oder entsprechend einer anderen Norm)
und an sich imstande sein, mit einer Controllerstation zu kommunizieren.
-
In
dem System wird ein Unterschied gemacht zwischen Controllerstationen
(oder kurz Controllern) und gesteuerten Stationen. Ein Controller
ist eine Station, die als Gastgeber für eine gesteuerte Station wirksam sein
kann. Eine gesteuerte Station und ihr Controller können in
derselben physikalischen Anordnung oder in einzelnen Anordnungen
vorhanden sein. Es heißt,
dass ein Controller eine abstrakte Repräsentation (AR) für die gesteuerte
Anordnung beherbergt. Die Steuerschnittstelle wird über die
API ("Application
Program Interface")
dieser AR freigegeben. Diese API ist der Zugriffspunkt für Applikationen
(Elemente) zur Steuerung der Station. So könnte beispielsweise ein intelligenter
Fernseher im Wohnzimmer der Controller für eine Anzahl miteinander verbundener
gesteuerter Stationen sein. Eine gesteuerte Station könnte einen
Code enthalten, der eine Benutzerschnittstelle für die Station konstruiert und
eine externe Steuerung der Station ermöglicht. Wenn eine derartige
Station das erste Mal verbunden wird, erhält der Controller die Benutzerschnittstelle
und den Steuercode. An dem Fernsehschirm kann dann eine Ikone erscheinen,
welche die Station darstellt, und Manipulation der Ikone kann dafür sorgen,
dass Elemente des Steuerprogramms die dargestellte Station oder die
dargestellten Stationen auf vorgeschriebene Art und Weise betätigen.
-
Um
die Wirkungsweise und den veränderlichen
Charakter des Systems 100 verstehen zu können, wird zunächst eine
Kategorisierung der Kommunikationsfähigkeiten der Unterhaltungselektronikstationen 102–112 beschrieben.
Während
es in Wirklichkeit ein geschmeidigeres Kontinuum von Anordnungsfähigkeiten
gibt al hier erkannt, ist diese Kategorisierung nützlich zum
Verstehen des Modells des Systems 100. Die Kommunikationsfähigkeiten
der Stationen 102–112 in
diesem allgemeinen Beispiel haben verschiedene Perfektionspegel.
Je nach den Kommunikationsfähigkeiten
gehören
die Stationen 102–112 zu einer
der nachfolgenden Klassen:
-
– Controllerstationen
-
Es
kann ein Unterschied gemacht werden zwischen den nachfolgend zwei
Typen von Controllerstationen:
-
– Voll-AV-Gerät (FAV)
-
Ein
Voll-AV-Gerät
hat im Allgemeinen einen reichen Satz an Mitteln und ist imstande
eine komplexe Softwareumgebung zu unterstützen. Das primär unterscheidbare
Feature eines FAVs ist das Vorhandensein einer Laufzeitumgebung
zum Durchführen
einer abstrakten Repräsentation
(AR) für
eine gesteuerte Station. Dies ermöglicht es, dass ein FAV von
anderen Stationen oder über
andere LAN oder WAN Netzwerke eine AR hochladet und auf diese Weise
verbesserte Fähigkeiten
für die
Steuerung schafft. Das FAV kann auch imstande sein, Applikationen/Features
herunter zu laden. Vorzugsweise ist der herunter geladene Code eine
bestimmte Form eines durchführbaren
Codes einer virtuellen Maschine (beispielsweise Java oder ähnliche
Bytecodes). Ähnliche
Kandidaten für
FAV-Geräte
wären Settopboxen
(STB), digitale Fernsehgeräte
(DTV), Allzweck-Unterhaltungsgeräte
und sogar Heimcomputer.
-
– Zwischen-AV-geräte (IAV)
-
Zwischen-AV-Geräte sind
im Allgemeinen preisgünstiger
als FAV-Geräte
und haben weniger Mittel. Sie liefern nicht eine Laufzeitumgebung
für herunter
ladbare ARen und können
folglich nicht als Controller für
beliebige Geräte
innerhalb des Systems wirksam sein. Aber ein IAV-Gerät kann systemeigene
Unterstützung
liefern zur Steuerung bestimmter gesteuerter Stationen in dem System.
-
– Gesteuerte Stationen
-
Es
können
die nachfolgenden zwei Typen von Controllerstationen unterschieden
werden:
-
– Basis-AV-Geräte (BAV)
-
Dies
sind Geräte,
die aus geschäftlichen
oder Mittelgründen
dafür wählen, zukunftsbeständiges Verhalten
zu implementieren, indem eine hochladbare AR geschaffen wird, aber
die Geräte
selber führen
keine AR durch. Diese Geräte
können
von einer Controllerstation gesteuert werden (durch ein FAV-Gerät über den hochladbaren
Bytecode oder durch ein IAV-Gerät über einen
systemeigenen Code). Das Protokoll zwischen dem BAV-Gerät und der
Controllerstation ist typischerweise firmeneigen. Kommunikation
zwischen einer Control lerstation und einem BAV-Gerät erfordert,
dass Befehle für
die AR in das und aus dem Protokoll übersetzt werden, das von dem
BAV-Gerät
angewandt wird. Diese Übersetzung
erfolgt durch die Controllerstation, welche die AR durchführt.
-
– Altere AV-Geräte (LAV)
-
:AV-Geräte sind
Geräte,
die der beschriebenen Systemarchitektur und den Kommunikationsprotokollen
nicht entsprechen. Typischerweise wurden derartige Gerät früher gebaut.
Diese Geräte
benutzen firmeneigene Protokolle zu ihrer Steuerung, und meistens
haben sie einfache Nur-Steuerungsprotokolle. Derartige Geräte können in
einem Heimnetzwerk funktionieren, aber erfordern, dass FAV oder
LAV-Geräte
als Durchgang wirksam s. Kommunikation zwischen einem Voll- oder
Zwischen-AV-Gerät
und einem älteren
AV-Gerät erfordert,
dass Befehle in das ältere
und aus dem älteren
Befehlsprotokoll übersetzt
werden sollen.
-
Im
Laufe der Interaktion können
Stationen Steuerung und Daten auf eine direkte Weise austauschen. Dies
gewährleistet,
dass bei dem Kommunikationspegel kein einziges Gerät als Master
oder als Controller für das
System erforderlich ist. Aber es ermöglicht auch, dass ein logischer
Master oder Controller eine Steuerstruktur auf das direkte Kommunikationsmodell
auferlegt.
-
Software-Architektur
-
Die
Software-Architektur einer Controllerstation ist in 2 dargestellt.
Die Software-Elemente der Architektur unterstützen die Basisbegriffe der
Netzwerkverwaltung, der Geräteabstraktion,
der Inter-Gerätekommunikation,
und der Gerät-Benutzerschnittstellenverwaltung
(UI). Kollektiv zeigen diese Software-Elemente die Zusammenarbeitsfähigkeit
API, einen Satz von Diensten zum Aufbauen tragbarer verteilter Applikationen in
dem System. Die Software-Elemente selber befinden sich über einer
firmenspezifischen Plattform 210, wie einem Echtzeit-Operationssystem. 2 zeigt
die Anordnung von Software-Elementen in einer Controllerstation.
Obschon nicht beabsichtigt als ein Implementierungsblaudruck, hebt
die Darstellung hervor, wie Software-Elemente eine Mittelschicht
zwischen plattformspezifischen APIs und plattformunabhängigen Applikationen bilden.
Ein wichtiges Software-Element ist die abstrakte Repräsentation
(AR). Angegeben sind drei ARen (220, 222 und 224).
Die AR ist ein Software-Element, verwendet zum Steu ern einer Station.
Eine AR umfasst einen Code für
die AR selbst und einen Code für "Functional Component
Modules" (FCM) für jede funktionelle
Komponente innerhalb der gesteuerten Station. Ein FCM ist eine (Software)Abstraktion
einer funktionellen Komponente, welche die Funktionalität dieser
funktionellen Komponente für
die Software-Umgebung und -Applikationen schafft. Applikationen
kommunizieren nicht mit einer funktionellen Komponente direkt, sondern
nur über das
FCM, FCM seinerseits kommuniziert nicht mit der funktionellen Komponenten
direkt, sondern immer über die
AR (dies ist wenigstens das Modell, das verwendet wird um die Beziehung
darzustellen). Ein FCM ist ein Objekt in dem Sinne, dass es als
ein Empfänger
in einem Register registriert ist (Einzelheiten werden nachstehend
noch gegeben) und es kann mit anderen Objekten über ein Nachrichtensystem kommunizieren.
Eine funktionelle Komponente stellt Funktionen dar, die mit einer
identifizierbaren Hauptfunktion einer Station assoziiert sind. So
kann beispielsweise eine VCR AR separate FCM für das Tapedeck und den Tuner
enthalten; eine Fernseher AR kann separate FCM für den Monitor, PIP (Bild-im-Bild-Wiedergabe)
und den Tuner enthalten. Außerdem
kann eine AR eine Gerätesteuerungsapplikation
enthalten – ein
Software-Element, das es ermöglicht,
dass das Gerät
und die funktionellen Komponenten vom Benutzer gesteuert werden.
In der Figur stellt AR 220 die Funktionalität der Controllerstation
selber dar, während
AR 222 und 224 die Funktionalität zweier
gesteuerten Stationen darstellt.
-
Die
Controllerstation umfasst Steuermittel 240, die eine Laufzeitumgebung
für ARen
schaffen (beispielsweise Hochladungs-ARen) oder Applikationen. Die
Controllerstation umfasst weiterhin AR Verteilungsmittel 250 und
AR Zuordnungsmittel 260. Die AR Zuordnungsmittel 260 ordnen
eine AR, die in dieser Controllerstation durchgeführt werden
soll, den Steuermitteln 240 zur Durchführung zu. Die Verteilungsmittel 250 erfüllen die
Aufgabe eines AR Verwalters, der die Installation und die Entfernung
von ARen in den Controllerstationen steuert.
-
ARen
sind ein zentrales Konzept für
die Architektur und das Mittel der Flexibilität beim Unterbringen neuer Geräte und Features.
ARen gibt es in zwei Haupttypen:
- – eingebettete
AR – eine
AR vorinstalliert in einer Controllerstation.
- – hochgeladene
AR – eine
AR implementiert unter Verwendung eines herunterladbaren Codes,
beispielsweise eines Bytecodes. Hochladbare ARen laufen nur in FAV-Geräten.
-
Vorzugsweise
ist eine eingebettete AR imstande, zum Steuern einer Reihe steuerbarer
Sta tionen, wie einer Reihe von VCRern ein und desselben Herstellers
verwendet zu werden. Sollte dies der Fall sein, so erhält die Controllerstation
vorzugsweise zusätzliche
Information über
die zur Zeit gesteuerten betreffenden Station (beispielsweise durch
Auslesung der Modellnummer übers
Internet) und stellt die allgemeine AR ein um ggf. für die spezifische
gesteuerte Station zu arbeiten. Als solche können ARen APIs zur Steuerung
von Familien von Geräten
oder, ggf. nur von spezifischen Modellen schaffen. Im Allgemeinen
werden die familienorientierten ARen einen breiteren Anwendungsbereich
haben, aber die spezifischen ARen ermöglichen eine Steuerung von
firmenspezifischen Features und Fähigkeiten.
-
Für eine gesteuerte
Station muss eine assoziierte AR in dem System vorhanden sein und
für diejenige gesteuerte
Station laufen, die imstande ist, teilzunehmen. Für ein BAV-Gerät kann die
AR unmittelbar aus dem Speicher in dem BAV-Gerät oder aus einem anderen Speicher,
der mit dem BAV-Gerät
assoziiert ist, (wie einer Festplatte in einer anderen Station in
dem Netzwerk oder sogar über
Zugriff über
ein großflächiges Netzwerk) erhalten
(herunter geladen) werden. In dem letzteren Fall wird eine Angabe
der Speicherstelle für
die gesteuerte Station gespeichert. Diese Angabe kann in der gesteuerten
Station selber oder in einer anderen Station, wie in einer Controllerstation
oder in einer zentralen Station gespeichert werden. Für LAV-Geräte wird
die AR in der Controllerstation voreingestellt oder aus einer beliebigen
Speicherstelle erhalten. Auf gleiche Weise ist auch für eine Controllerstation
zur Verwendung durch Applikationen/Features in anderen Stationen
eine laufende AR erforderlich. Normalerweise wird eine derartige
AR in der Controllerstation selber laufen, obschon dies nicht unbedingt
notwendig ist.
-
Eine
Controllerstation kann auch eine oder mehrere Applikationen )Features)
enthalten; dargestellt sind die Applikationen 270, 272 und 274.
Die Applikation sendet Nachrichten zu einer oder mehreren betreffenden
ARen. Die ARen können
in derselben Station oder in einer anderen Station vorgesehen sein,
wobei in diesem Fall die Nachricht über das Netzwerk transportiert
wird.
-
Andere
Software-Elemente können
auch in der Controllerstation vorgesehen sein, wie:
- – ein
Kommunikations-Mediaverwalter 230 – ermöglicht es, dass andere Elemente
Kommunikation durchführen,
wie synchrone und asynchrone Kommunikation über das Netzwerk. Vorzugsweise
wird IEEE 1394 als Netzwerk verwendet.
- – ein
Nachrichtensystem 232 – verantwortlich
für das
Weiterleiten von Nachrichten zwischen Elementen.
- – ein
Ereignisverwalter 234 – dient
als Ereignislieferdienst. Ein Ereignis ist die Änderung in dem Zustand eines
Objektes oder des Heimnetzwerkes.
- – ein
Stromverwalter 236 – verantwortlich
für die
Verwaltung von Echtzeitübertragung
von AV und anderen Medien zwischen funktionellen Komponenten.
- – ein
Register 238 – dient
als Verzeichnisdienst, ermöglicht
es, dass jedes beliebige Objekt ein anderes Objekt in dem Heimnetzwerk
ausfindig machen kann.
-
Stationen
in dem System können
erklärende
Daten ("Self-Describing
Device"-Daten oder
SDD) über die
Station und ihre Fähigkeiten
enthalten. Wenn IEEE 1394 als Netzwerk angewandt wird, folgt diese
Information vorzugsweise dem IEEE 1212 Adressierungsschema, das
für den
Konfigurations-ROM angewandt wird. Die SDD-Daten können einen
AR-Code enthalten und Daten zum Konstruieren von Benutzerschnittstellenelementen.
-
Kommunikationsmedienverwalter
-
Der
Kommunikationsmedienverwalter (CMM, 230) ist eine mediumabhängige Entität in dem
Netzwerk. Er verbindet das unterliegende Kommunikationsmedium zum
Liefern von Diensten zu anderen Komponenten oder Applikationsprogrammen
in demselben Gerät,
in dem auch der CMM vorhanden ist. Jedes physikalische Kommunikationsmedium
hat einen eigenen CMM für
die oben genannten Zwecke. Nachstehend wird der CMM für den IEEE
1394 Bus detailliert beschrieben.
-
Von
dem CMM werden zwei Diensttypen geschaffen. Der eine Dienst ist,
einen Transportmechanismus zu schaffen um Anträge zu Fern-Geräten zu senden
und Angaben von denselben zu empfangen. Der andere Dienst ist die
Busaktivitäten
zu extrahieren und die Information dem System anzubieten. Der IEEE
1394 Bus ist ein dynamische konfigurierbares Netzwerk. Nach jeder
Bus-Rückstellung
kann es sein, dass ein Gerät eine
völlig
andere physikalische ID hat als vorher. Wenn ein Netzwerkelement
oder eine Applikation mit einem Gerät in dem Netzwerk kommuniziert
kann es sein, dass es die Kommunikation nach der Rückstellung
des Busses fortsetzen möchte,
obschon das Gerät
eine andere physikalische ID hat. Um ein Gerät ungeachtet oft auftretender
Busrückstellungen
einzigartig zu identifizieren wird eine Allgemeine Einzigartige
ID ("Global Unique
ID" GUID) von dem
CMM und anderen Entitäten
angewandt. GUID ist eine 64 Bit Zahl, die aus 24 Bits der Knotenfirmen-ID
und 40 Bits der Chip-ID zusammengesetzt ist. Während die physikalische ID
eines Geräts konstant ändern kann,
ist GUID permanent. Der CMM stellt die GUID-Information des Geräts für andere Kunden zur Verfügung.
-
Eines
der modernen Features des 1394 Busses ist die Unterstützung für dynamische
Gerätaktionen, wie
im Betriebszustand koppeln und entkoppeln. Um dies bis auf den Benutzerpegel
völlig
zu unterstützen
sollen Systemkomponenten oder Applikationen diese Änderungen
der Umgebung kennen. Der CMM arbeitet mit dem Ereignisverwalter
("Event Manager") (EM) um derartige
dynamische Busänderungen
zu detektieren und anzukündigen.
Da jede Änderung
der Topologie in dem 1394 Bus dafür sorgt, dass eine Busrückstellung
auftritt, kann der CMM Änderungen
ausfindig machen und den Ereignisverwalter über die Änderungen zusammen mit der
assoziierten Information informieren. Der Ereignisverwalter wird
danach relatierte Ereignisse über
alle interessierte Entitäten
oder Applikationen verteilen.
-
Das
Nachrichtensystem 232 versorgt die Software-Elemente mit
Kommunikationsmöglichkeiten.
Es ist unabhängig
von den Netzwerk- und Transportschichten. Ein Nachrichtensystem
ist in jedes FAV- und IAV-Netzwerk eingebettet. Das Nachrichtensystem
eines Geräts
steht unter der Leitung von der Zuordnung von Identifizierern für die Software-Elemente
dieses Geräts.
Diese Identifizierer werden erstens von den Software-Elementen zur Registrierung
verwendet. Danach werden sie von den Software-Elementen zum gegenseitigen Identifizieren
in dem Heimnetzwerk verwendet; wenn ein Software-Element (A) Nachrichten zu einem anderen Software-Element
(B) senden möchte,
soll es den Software-Elementidentifizierer von B verwenden, indem
es das Nachrichtensystem API anruft.
-
Gerätesteuerung
-
In
dem System nach der vorliegenden Erfindung soll es für jedes
BAV-Gerät
und LAV-Gerät,
das in dem Netzwerk bekannt ist, eine AR geben. Die AR schafft eine
Schnittstelle zu dem Gerät
und präsentiert
es als ein Software-Element in der Architektur. Innerhalb einer
AR gibt es verschiedene FCM, welche die funktionellen Komponenten
des Geräts
darstellen und die auch als Software-Elemente in der Architektur
präsentiert werden.
Andere Applikationen können
das Register abfragen um die Geräte
und die funktionellen Komponenten ausfindig zu machen, die verfügbar sind
und um einen Identifizierer des Software-Elementes zu erhalten, damit
dieses Element mit dem Gerät über die
AR und die FCM interaktiv sein können.
ARen werden von einem FAV oder LAV, die sie installieren können behandelt.
Installation einer AR-Codeeinheit führt zu der Installation aller
assoziierten FCM. Der Code kann in einem Standard-Bytecode geschrieben
sein, wobei er in diesem Fall in allen FAV-Geräten, oder in einem firmeneigenen
Code installiert werden kann, wobei er in diesem Fall nur in einigen
FAV oder LAV installiert werden kann, das den Code kennt und für diese
Art von Code vorbereitet ist.
-
Funktionelles Komponentenmodul
(FCM)
-
Ein
FCM ist eine (Software) Abstraktion einer funktionellen Komponente,
welche die Funktionalität
dieser funktionellen Komponente zu der Software-Umgebung und zu
den Applikationen liefert. Applikationen werden nicht unmittelbar
mit einer funktionellen Komponente kommunizieren, sondern nur über das
FCM, das FCM seinerseits kommuniziert nicht unmittelbar mit der
funktionellen Komponente, sondern immer über die AR (dies ist wenigstens
das Modell, das angewandt wird zum Darstellen der Beziehung; die
FCM Implementierung kann direkt mit dem CMM kommunizieren). Ein
FCM ist ein Software-Objekt in dem Sinne, dass es als ein Empfänger in
dem Register registriert ist und es kann mit anderen Objekten über das
Nachrichtensystem kommunizieren. Über das Nachrichtensystem bietet
es das Befehlsprotokoll entsprechend den Vereinbarungen des Systems.
-
Für die jeweiligen
Geräte-Typen
spielen ARen eine verschiedene Rolle, wie nachstehend zusammengefasst:
- – Ein
FAV-Gerät
beherbergt möglicherweise
eine AR, die sich selbst und Null darstellt, oder mehrere ARen, die
LAV-Geräte
und/oder BAV-Geräte
darstellen.
- – Ein
LAV-Gerät
beherbergt möglicherweise
eine AR, die sich selbst und Null darstellt, oder mehrere ARen, die
LAV-Geräte
und/oder BAV-Geräte
(die in der LAV-Mode arbeiten) darstellen.
- – Ein
BAV-Gerät
selber beherbergt überhaupt
keine ARen, liefert aber eine AR-Code- Einheit (siehe unten) in einem standardisierten
Code. Wenn an ein Netzwerk mit einem FAV-Gerät angehängt, kann jedes FAV-Gerät die AR
hochladen und installieren um das BAV-Gerät andern Komponenten zur Verfügung zu stellen.
Installation der AR-Code-Einheit
führt zu
der Installation der AR und aller FCM, die mit dem Gerät relatiert
sind. Die Kommunikation zwischen den AR/FCM und dem BAV-Gerät erfolgt
auf eine Standardweise über
den CMM, aber die wirkliche Kommunikation zwischen dem AR/FCM und
dem Gerät
ist firmeneigen für
den BAV-Hersteller. Wenn an ein System ohne FAV-Geräte aber
mit einem IAV-Gerät,
das weiß,
wie dieses BAV behandelt werden soll, angehängt, kann ein IAV-Gerät eine AR-Code-Einheit
selber liefern um das BAV-Gerät
für andere
Komponenten verfügbar
zu machen. Danach soll das BAV-Gerät in der LAV-Mode arbeiten,
wobei in diesem Fall die Situation wie für ein LAV-Gerät ist.
- – Ein
LAV-Gerät
selber hat keine Ahnung von ARen. Wenn an das Hauptnetzwerk mit
einem FAV oder LAV-Gerät,
das weiß,
wie dieses LAV-Gerät
behandelt werden muss, angehängt,
soll ein FAV-Gerät
oder ein LAV-Gerät
den AR-Code liefern um das LAV-Gerät für andere Stationen verfügbar zu
machen. Wie dies erfolgt und wie die AR/FCM mit dem LAV-Gerät kommunizieren
ist völlig
firmeneigen für
den Hersteller des FAV-Geräts
oder des IAV-Geräts.
-
Nebst
eines API zur Steuerung des Geräts
(und seiner funktionellen Komponenten) kann eine AR auch eine gerätspezifische
Applikation schaffen. Dies ist eine allgemeine Applikation, die
von dem System so wie alle andere Applikationen behandelt werden.
Durch diese Applikation kann ein Gerätehersteller dem Benutzer eine
Möglichkeit
bieten, alle speziellen Features des Geräts auf eine vom Hersteller
entschiedene Art und Weise zu steuern, ohne die Notwendigkeit einer
Standardisierung all dieser Features in dem System.
-
AR-Verwalter
sind verantwortlich für
die Installation neuer ARen (Code-Einheiten) für neue Geräte, die an das System angehängt werden,
beispielsweise wenn neue Geräte
an das Netzwerk angehängt
werden. Ein Gerät
kann aus mehr als nur einer funktionellen Komponente bestehen: so
kann beispielsweise ein Gerät
aus einem Tuner und einem VCR bestehen. Für BAV/LAV-Geräte erfolgt
die Installation der AR-Code-Einheit vorzugsweise auf eine Je-Gerät-Basis,
nicht für
jede AR-Komponente separat, folglich für ei nen AR-Verwalter ist eine
AR-Code-Einheit eine einzige Entität zum Installieren, Entfernen
und Ersetzen von AR-Komponenten. Weiterhin entspricht eine einzige
AR-Code-Einheit
einem einzigen BAV/LAV-Gerät,
d.h. sie enthält
alle AR-Komponenten für
dieses Gerät.
-
Die
AR schafft einen Basisdienst für
elementare Kommunikation mit dem BAV/LAV-Gerät. Vorzugsweise detektiert
der AR-Verwalter die Anhängung
eines neuen Geräts
und erhält
einen einzigartigen Identifizierer (GUID) dieses Geräts; danach
kann er mit dem Gerät
kommunizieren zum Erhalten von Basisinformation über das Gerät und zum Installieren der
AR-Code-Einheit. Der AR-Verwalter steuert die Installation (und
die spätere Entfernung)
der AR-Code-Einhe. Die Installation führt dazu, dass die AR und FCM-Objekte zur Kommunikation mit
dem Gerät über CMM
und den vorgesehenen GUID verfügbar
werden. Bei Installation machen ARen und FCM sich selber über das
Register bekannt (so dass sie von anderen Applikationen über das
Nachrichtensystem gefunden werden können).
-
Die
Kommunikation zwischen den AR-Komponenten und dem CMM basiert auf
dem GUID des BAV/LAV-Geräts.
Der CMM schafft nur den GUID zur Kommunikation mit dem von allen
AR-Komponenten zu verwendenden Gerät. In diesem Fall braucht der
CMM überhaupt
keine Kenntnisse der Struktur der Basiskomponenten innerhalb des
BAV/LAV-Geräts
zu haben. Dies vereinfacht die Kommunikation zwischen einem FAV/IAV-
und einem BAV/LAV-Gerät,
macht den Standardisierungsaufwand geringer und steigert die Möglichkeiten
der Anwendung von firmeneigenen Protokollen. Die AR-Komponenten selber
sind für
die Anwendung des CMMs verantwortlich, d.h. zum Verschachteln der
Kommunikation auf eine geeignete Art und Weise und der Verteilung
von Nachrichten, die von dem BAV-Gerät erhalten wurden, über die
betreffenden AR-Komponenten.
-
Der
Inhalt der AR-Code-Einheit wird vorzugsweise standardisiert, so
dass jeder AR-Verwalter AR-Code-Einheiten für beliebige BAV/LAV-Geräte behandeln
können.
Die AR-Code-Einheit kann eine Art von selbsextrahierendem Paket
sein, beispielsweise in einem Standard-Bytecode; es versieht den
AR-Verwalter mit Hanteln zur Installation und zur Entfernung. Der
AR-Verwalter ruft nur die Installationshantel (wobei der GUID des
Geräts
für Kommunikation
mit dem Gerät über den
CMM geschaffen wird) für
den die AR-Code-Einheit selber verantwortlich ist zum Installieren
aller AR-Komponenten in demselben Gerät. Auf gleiche Weise versieht
die Entfernungshantel den AR-Verwalter mit einer Hantel zum Entfernen
aller AR-Komponenten innerhalb der AR-Code-Einheit. Dies bietet
maximale Freiheit für
den BAV-Hersteller in der Strukturierung der AR-Code-Einheiten.
-
AR-Verwalter
-
Das
AR-Verwaltungssystem ist verantwortlich für die Installation und die
Deinstallation von AR-Code-Einheiten zur Steuerung gesteuerter Stationen
(BAV- und LAV-Geräte),
die unmittelbar mit einem Netzwerk verbunden sind. AR-Verwaltung
erfolgt kollektiv durch die AR-Verwalter in allen Controllerstationen
(FAV- und IAV-Geräten).
AR-Code-Einheiten für
Controllerstationen werden von den Stationen selber auf eine firmeneigene
Art und Weise verwaltet. Stationen, die nicht mit dem Netzwerk verbunden
sind, sondern stattdessen ein anderes Kommunikationsmedium verwenden,
wie ein firmeneigenes Netzwerk oder andere Protokolle höheren Pegels,
die über
dasselbe Medium arbeiten, werden vorzugsweise von den Controllerstationen
auf eine firmeneigene Weise verwaltet. Jede gesteuerte Station soll
durch eine AR-Code-Einheit, die in einer Controllerstation installiert
ist, die als Gastgeber bezeichnet wird, erleichtert werden.
-
Eine
AR-Code-Einheit kann von einem Profil begleitet werden, das einen
Hinweis auf die Laufzeitgröße umfasst,
erforderlich für
die AR-Code-Einheit und die Komponenten.
-
Jeder
AR-Verwalter bietet eine Anzahl Verfahren, die von Software-Elementen abgerufen
werden können,
und eine Anzahl allgemeiner Ereignisse, welche die Ergebnisse der
AR-Code-Einheitinstallation und -deinstallation anzeigen. Die Meisten
AR-Verwaltungsaktivitäten werden
von einem Netzwerkrückstellereignis ausgelöst, das
typischerweise erzeugt wird, wenn die Netzwerktopologie sich ändert oder
ein Gerät
(de)aktiviert wird. Ein derartiges Ereignis wird erzeugt, wenn beispielsweise
ein Gerät
hinzugefügt
oder von dem Netzwerk entfernt wird, wenn das Netzwerk in zwei kleinere
aufgeteilt wird, oder wenn zwei Netzwerke zu einem zusammengefügt werden.
-
Auf
alternative Weise können
andere Ereignisse die Verwaltungsaktivität auslösen, beispielsweise ein Benutzer,
der eine Neuinstallation beantragt.
-
AR-Verwaltungsprotokoll
-
Vorzugsweise
wird das AR-Verwaltungssystem aus einer verteilten Gruppe von AR-Verwaltern
in den Controllerstationen zusammengestellt. AR-Verwalter sind auf
Basis einer direkten Verbindung interaktiv zum Implementieren des
gelieferten Dienstes, während
die erforderlichen Dienste von örtlichen
Systemelementen erforderlich sind. Dies sind CMM, Nachrichtensystem,
Ereignisverwalter und AR-Code-Einheiten. Vorzugsweise kann jeder
AR-Verwalter SDD-Daten unmittelbar aus Stationen auslesen, die mit
dem Netzwerk verbunden sind. Das Protokoll unterstützt die
Verwendung eines Speichers und Internet-Zugriffsmöglichkeiten.
Nachstehend wird das verteilte AR-Verwaltungsprotokoll detailliert
beschrieben. In diesem Protokoll wird in zwei Schritten ein Führer selektiert
(ein "Anfangs"-Führer kann
seine Verantwortlichkeit zu einem "End"-Führer übergeben).
Der Endführer
ordnet Controllerstationen AR-Code-Einheiten zu. Es sei bemerkt,
dass statt einer verteilten Annäherung
auch eine teilweisen oder völlig
zentralisierte Annäherung
für die
AR-Verwaltung angewandt werden kann. So kann beispielsweise eine
zentrale Station als Vorgabe eingestellt oder von einem Benutzer eingestellt
werden um als Endführer
wirksam zu sein, was die beiden Führerselektionsphasen redundant macht.
Auf alternative Weise kann eine zentrale Station als Anfangsführer bezeichnet
werden, wobei nur das nachstehend beschriebene Protokoll für die schlussendliche
Führerselektion
angewandt wird. Aber insbesondere in Kollektor-Elektrode-Systemen
mit Produkten von mehreren Lieferanten und bei einer schnellen Einführung digitaler
Techniken ist es schwer eine geeignete Zuordnung einer "zentralen" Führerstation
(Fernseher gegenüber
PC gegenüber
Settopbox) oder eines Herstellers eines derartigen Geräts durchzuführen.
-
Weiterhin
kann ein System zu bestimmten Zeitpunkten mehr als nur eine "zentrale" Station enthalten. Um
derartige Situationen zu vermeiden wird die verteilte Annäherung bevorzugt.
Dennoch dürfte
es einleuchten, dass ein Fachmann eine zentralisierte Annäherung auf
Basis der Information von der verteilten Annäherung implementieren kann.
-
Nach
Auslösung
zur Installation startet jeder AR-Verwalter eine Prozedur zum Auswählen eines
Anfangsführers.
Es wird ein einziger AR-Verwalter zum Führer gewählt. Alle AR-Verwalter sind
Folger und dem Führer
untergeordnet (folglich spielt der Führer-AR-Verwalter auch die
Rolle eines Folgers in dem Protokoll). Führer und Folger führen daraufhin
autonom eine AR-Code-Einheitinstallation durch. Dieser Prozess wird
normalerweise enden, wenn AR-Code-Einheiten für alle gesteuerten Stationen
in dem Netzwerk installiert worden sind. Der Fehler wird die meisten
der Protokollaktivitäten
steuern.
-
In
Bezug auf die Führerwahl
gibt es drei IAV-Varianten: eine, die den Voll-AR-Verwalter unterstützt; eine, die in einer "Dummymode" ist, wobei nur der
Führerwahlprozess
unterstützt
wird; und eine, die überhaupt keine
AR-Verwaltungsaktivität
unterstützt.
Die Dummyvariante beteiligt sich nicht an den anderen AR-Verwaltungsaktivitäten, ausgenommen
an der Führerwahl.
AR-Verwalter können
URL-Zugriffsmöglichkeiten
unterstützen
und können
diese während
der Führerwahl
ankündigen.
Es wird bevorzugt, dass FAV-Geräte
imstande sind, diese Ankündigung
zu machen. IAV-Geräte
können,
brauchen aber nicht, eine derartige Fähigkeit ankündigen. Jedes Gerät, das eine
derartige Fähigkeit
ankündigt,
kann zum Führer
gewählt
werden.
-
Führerwahl
-
Nachdem
ein Gastgebergerät
eingeschaltet worden ist, oder nachdem ein Netzwerkrückstellereignis (oder
eine andere Auslösung,
die eine Installation/Entfernung verursacht) empfangen worden ist,
wird jeder AR-Verwalter diese Aktivität eingeben oder neu eingeben.
(Für das
1394 Netzwerk verursacht eine Rückstellung
oder Ein/Ausschaltung eines Geräts
Netzwerkrückstellereignisse
in allen anderen Gastgebergeräten).
-
Der
AR-Verwalter findet die Identifizierer, wie GUID, aller Stationen
in dem System wieder, beispielsweise aus den SDD-Daten der Stationen.
Außerdem
können
andere relevante Daten aus den SDD-Datenfeldern aller Geräte (GUID,
Modell_Lieferant_ID, Modell_ID, Geräte_Typ) gefinden werden. Geräte ohne
den Identifizierer werden als LAV gesteuerte Stationen klassifiziert.
-
Aus
allen Gastgeber-Identifizierern wird auf Basis eines vorbestimmten
Kriteriums einer selektiert und der AR-Verwalter in dem Gerät mit diesem
Identifizierer wird zum Anfangsführer
erklärt.
So kann beispielsweise der höchste
oder der niedrigste Identifizierer gewählt werden. Vorzugsweise wird
der Identifizierer mit der höchsten
umgekehrten Bitordnung berechnet. Die Umkehrung vermeidet, dass
in Systemen, in denen der Identifizierer an einer Stelle hoher Ordnung
einen Lieferanten-Identifizierer hat, Geräte von be stimmten Lieferanten
im Allgemeinen in den meisten Netzwerkkonfigurationen als Anfangsführer wirksam
sein werden. Es sei bemerkt, dass alle Geräte dieselbe Identifiziererliste
lesen und denselben AR-Verwalter zum Anfangsführer erklären. Zu diesem Zeitpunkt weiß jeder
Verwalter ob er ein Anfangsführer
oder ein Anfangsfolger ist. Jedes Gerät weiß, welche anderen AR-Verwalter
es gibt.
-
Der
Anfangsführer
benimmt sich wie folgt zum Selektieren und Ankündigen des Endführers: er
erhält die
Fähigkeit
aller identifizierter Anfangsfolger (beispielsweise indem er auf
eine Nachricht wartet, die ihn über die
Fähigkeit
informiert oder dadurch, dass er dies beantragt). Vorzugsweise gibt
die Fähigkeit
an, ob das Gerät
eine URL-Zugriffsmöglichkeit
hat oder nicht. Im Allgemeinen stellt die URL-Fähigkeit den Pegel der Neuprogrammierbarkeit
dar, die von der Station geboten wird, d.h. ist die Station imstande,
eine AR aus einer Speichereinheit ausfindig zu machen, außerhalb
der Controllerstation oder aus einem Speichermittel innerhalb der Controllerstation,
dessen Inhalt aktualisiert werden kann. Es kann ein Unterschied
gemacht werden zwischen den jeweiligen Formen von Ausfindig machen
(beispielsweise übers
Internet, über
ein örtliches
Netzwerk, von einer Festplatte, aus einem neu programmierbaren elektronischen
Speicher (beispielsweise einem nicht flüchtigen RAM, oder einem EEPROM),
oder von einem nicht neu programmierbaren aber austauschbaren Speichermittel,
wobei die Speicherfunktion relativ einfach ersetzt werden kann (beispielsweise
eine neue Programm-CD in einen CD-ROM-Spieler eingeben, oder eine
ROM-Speicherkarte in einen Kartenleser stecken). Die Fähigkeit
kann auch Leistungsdaten schaffen, wie eine CPU-Geschwindigkeit
und den Betrag an Hauptspeicherraum verfügbar zum Durchführen von
ARen. Ggf. kann die Fähigkeit
angeben, ob die Station ein Dummy-IAV-Gerät ist oder nicht.
-
In
Anbetracht der URL-Zugriffsfähigkeiten
und welche Geräte
Dummy-IAV-Geräte
sind, kann die Selektion des Endführers wie folgt sein:
- – wenn
es FAV-Geräte
mit einer ausgesprochenen URL-Zugriffsfähigkeit gibt, wird eines derselben
selektiert.
- – Sonst,
wenn es IAV-Geräte
gibt mit einer ausgesprochenen URL-Zugriffsfähigkeit, wird eines derselben gewählt.
- – Sonst,
wenn es FAV-Geräte
gibt, wird eines derselben gewählt.
- – Sonst,
wenn es IAV-Geräte
nicht in der Dummy-Mode gibt, wird eines derselben gewählt.
- – Sonst
wird irgendein Dummy-IAV-Gerät
gewählt.
-
Es
dürfte
einleuchten, dass wenn gleichwertige Kandidaten gefunden werden,
die zusätzlichen
Fähigkeitsindikatoren,
wie die Leistung, zur Wahl eines am meisten geeigneten Kandidaten
beitragen kann.
-
Alle
Anfangsfolger werden über
die Endselektion informiert, beispielsweise dadurch, dass ihnen
eine Nachricht "DMleaderDeclaration" (<selected final leader>, <identified dummy devices> gesendet wird. Vorzugsweise
ist der Endführer
der letzte, dem diese Nachricht zugesendet wird. Und zwar zu Synchronisationszwecken.
-
Ein
Anfangsfolger verhält
sich wie folgt um zu der Wahl des Endführers beizutragen. Der Anfangsfolger
stellt seine Fähigkeit
dem Anfangsführer
zur Verfügung,
beispielsweise dadurch, dass dem Anfangsführer eine Nachricht gesendet
wird: "DMCapabilityDeclaration(<my capability>". Vorzugsweise wird die Nachricht alle
3 Sekunden wiederholt, bis eine Nachricht "DMLeaderDeclaration" zu Synchronisationszwecken empfangen
wird. Die Pausezeit ist nicht kritisch und kann nach einer Pause
gesteigert werden. Wenn de Anfangsführer ihn informiert (beispielsweise
durch eine Nachricht "DMLeaderDeclaration(<selected final leader>,< identified dummy devices>), weiß er, welcher
AR-Verwalter der Endführer
ist und welche Dummy-IAV-Geräte
sind.
-
Am
Ende der Prozedur wissen die anfangs führenden und nachfolgenden AR-Verwalter
welcher der Endführer
ist und welche anderen die Endfolger sind. Wenn es nur Dummy-Modegeräte in dem
Netzwerk gibt, endet der Protokollvorgang an dieser Stelle. Sonst
startet der autonome Vorgang.
-
Wenn
der Endführer
keine URL-Zugriffsfähigkeit
hat, kann er unmittelbar entscheiden, dass jeder Antrag in Bezug
auf eines URLs in dem ganzen Netzwerk nicht geschafft werden kann.
Ein Führer
mit URL-Zugriffsfähigkeiten
ruft alle URL-bestimmte AR-Code-Einheitprofile ab. Diese Profile
werden allen Controllerstationen zugesendet, um es zu ermöglichen,
dass sie bestimmen, ob sie als Gastgeber für die AR-Code-Einheit wirksam
sein können,
die dem Profil entspricht. Wenn von einem AR-Verwalter beantragt,
wird eine AR-Code-Einheit dem Antragsteller zugesendet.
-
Die
Liste <identified
dummy devices> wird
von dem Endführer
verwendet um zu vermeiden, dass Dummy-Geräten Nachrichten zugesendet
werden. Dummy-Geräte unterstüen nur den
Führerwahlteil
des Protokolls. Dem AR-Verwalter in einem Dummy-IAV-Gerät braucht überhaupt keine Nachrichten
zugesandt zu werden.
-
Autonomer Betrieb der
führenden
Controllerstation
-
Nachdem
die Führerwahl
beendet ist, wird der Endführer
die Initiative ergreifen, AR-Code-Installationen zu behandeln. Der
Führer
steuert vorzugsweise den Betrieb wie folgt, für jede in dem Netzwerk gefundene gesteuerte
Station. Jedem Endfolger wird eine Nachricht "DMInquiry" gesendet, wobei die Installation einer
bestimmten AR-Code-Einheit
beantragt wird (die Spezifikation kann auf dem GUID der gesteuerten
Station beruhen). Der erste Antrag enthält vorzugsweise kein URL-gefundenes
Profil, um einen unnötigen
URL-Zugriff zu vermeiden. Aus allen empfangenen Beantragungsdateien
lernt der Führer
vorzugsweise Folgendes:
- – Die Vorzüge für die gesteuerte Station, falls
vorhanden (festgestellt entsprechend den unten beschriebenen Regeln).
- – Für jeden
Gastgeber, ob die gesteuerte Station von demselben Lieferanten ist,
und ob sie eine firmeneigene AR-Code-Einheit für die gesteuerte Station installieren
kann.
- – Für jeden
Gastgeber, ob eine AR-Code-Einheit für die gesteuerte Station installiert
ist.
- – Für jeden
Gastgeber, die Anzahl installierter AR-Cde-Einheiten.
-
Auf
Basis dieser Information entscheidet der Führer für jede gesteuerte Station an
welcher Controllerstation die AR der gesteuerten Station durchgeführt werden
soll. Er ordnet die AR der gesteuerten Station zu, und zwar unter
Verwendung der "DMCommand" Nachricht.
-
Wenn
keine installierte AR-Code-Einheit für eine gesteuerte Station gefunden
wurde, sendet der Führer
eine andere "DMInquiry" und eine zusätzliche "DMCommand" Nachricht zu allen
oder einigen Folgern und installiert eine AR-Code-Einheit. Das Ergebnis
dieses Installationsversuches kann von dem installierenden AR-Verwalter
gemeldet werden indem ein "ARInstallIndication" Ereignis gesendet
wird.
-
Wenn
ein Endfolger eine Nachricht "DMInquiry" oder "DMCommand" von dem Endführer empfängt, soll
er diese behandeln und das erreichte Ergebnis dem Endführer zurückschicken.
Vorzugsweise informiert eine AR-Code-Einheit den AR-Verwalter über die
Deinstallation.
-
AR-Code-Einheit-Installation
und -Deinstallantion
-
Die
Entscheidungen des AR-Verwaltungssystems als Ergebnis einer Installationsauslösung (beispielsweise
eines Netzwerkrückstellereignisses)
sind oben beschrieben, was zu einer vorgegebenen Installationsprozedur
führt.
Diese Entscheidungen können
durch Vorzüge überstimmt
werden. Die Vorzüge
schaffen Information in Bezug auf die Wünsche einer gesteuerten Station
um von der vorgegebenen Installationsprozedur abzuweichen. Die Vorzüge werden
in dem System gespeichert, im Zusammenhang mit der gesteuerten Station.
Die Vorzüge
können
in der gesteuerten Station selber gespeichert werden (beispielsweise
als Teil der SDD-Daten). Da Controllerstationen im Allgemeinen stärker sind,
werden die Vorzüge örtlich in
AR-Verwaltern in einer oder in mehreren Stationen gespeichert. Auch
eine zentrale Station kann zur Speicherung der Vorzüge verwendet
werden.
-
Für jede gesteuerte
Station läuft
höchstens
eine installierte AR-Code-Einheit aktiv in dem ganzen Netzwerk.
Wegen Probleme durch Mangel an Mitteln kann es passieren, dass für einige
gesteuerte Stationen in dem Netzwerk keine AR-Code-Einheit installiert
ist. Es kann auch passieren, dass eine AR-Code-Einheit sich selber
aus irgendeinem Grund deinstalliert. Vorzugsweise wird ein anderer
Gastgeber für
eine AR-Code-Einheit einer gesteuerten Station selektiert, wenn
der vorhergehende Gastgeber aus dem Netzwerk entfernt wird. Eine
AR-Code-Einheit wird deinstalliert, wenn die entsprechende gesteuerte
Station in dem Netzwerk nicht länger
verfügbar
ist.
-
Der
AR-Verwalter in dem selektierten Führer steuert vorzugsweise die
Installation einer AR-Code-Einheit nach dem folgenden Schema. Wenn
es einen Gastgeber desselben Lieferanten gibt, wie der der gesteuerten
Station und wenn der Gastgeber imstande ist, die gesteuerte Station
zu steuern, dann wird ein derartiger Gastgeber selektiert zum Installieren
einer AR-Code-Einheit auf eine geeignete Art und Weise für die gesteuerte
Station. Sonst wird, wenn es für
die gesteuerte Station eine verfügbare
AR-Code-Einheit gibt, ein FAV-Gastgeber selektiert zum Laden und
Installieren der AR-Code-Einheit. Sollte diese nicht vorhanden sein, wird
jeder beliebige Gastgeber, der eine (eingebettete) AR-Code-Einheit auf
geeignete Art und Weise für
die gesteuerte Station installieren kann, selektiert.
-
Ein
BAV-Gerät
kann eine AR-Code-Einheit und/oder eine URL für eine derartige Einheit intern
speichern, beispielsweise in den SDD-Daten. Wenn eine URL für eine AR-Code-Einheit
in einem BAV-Gerät
spezifiziert ist, wird sie von der spezifizierten Stelle aus geladen
und anstelle der AR-Code-Einheit in dem BAV-Gerät selber, in einem FAV-Gastgeber
installiert. Sollte das Laden misslingen, so wird stattdessen die
AR-Code-Einheit,
die in dem BAV-Gerät
vorhanden ist, geladen und installiert.
-
Wenn
einige Controllerstationen im Grunde auf gleiche Weise geeignet
sind zum Durchführen
einer bestimmten AR, wird vorzugsweise eine dieser Controllerstationen
mit der geringsten Anzahl bereits installierter AR-Code-Einheiten
selektiert (Lastenverteilung über
das System).
-
Eine
sog. URL ("Universal
Resource Locator")
kann verwendet werden um die Stelle einer AR anzugeben. Der allgemeine
Syntax einer URL ist:
"scheme:/host.domain:
port/directory/filename",
wobei einige Teile beliebig sind. Das Schema kann beispielsweise "http" oder "file" sein. Die URL bezeichnet
eine AR-Code-Einheit
und/oder das Profil in dem Internet oder in einem (permanenten)
Speichermedium.
-
Vorzüge
-
Die
Aktivitäten
des AR-Verwaltungssystems werden von Vorzügen geführt, die von Applikationen
oder Benutzern eingestellt werden können. Vorzüge spezifizieren typischerweise
die Variationen von den oben beschriebenen vorgegebenen Installationsaktivitäten. Es
sind zwei Verfahren verfügbar
zum Einstellen und Suchen von Vorzügen bei AR-Verwaltern in dem
System. Vorzüge
können
beispielsweise durch den Benutzer modifiziert werden.
-
Die
nachfolgenden drei Vorzüge
für AR-Verwaltung
können
mit Vorteil angewandt werden, die je mit einer einzigen gesteuerten
Station assoziiert werden können
(beispielsweise durch den GUID) oder mit einem gesteuerten Stationsmodell
(durch den "Vendor
Model Identifier" oder
VMID). Für
eine LAV-gesteuerte Station kann es sein, dass die erste Variante
möglich
ist, da es sein kann, dass ein VMIND für LAV-Geräte nicht verfügbar ist.
Ein GUID-basierter Vorzug für
eine gesteuerte Station hebt einen VMIND-basierten Vorzug für das gesteuerte Stationsmodell
auf, wenn überhaupt,
ohne dass dadurch eine Konfliktsituation entsteht.
- – ARPreferVendorHost – Eine Bezeichnung,
ob ein Gastgeber desselben Lieferanten wie der gesteuerten Station
zum Installieren einer ARCode-Einheit bevorzugt wird. Wenn für eine beliebige
gesteuerte Station oder für
ein gesteuertes Stationsmodell der Wert auf wahr für jeden
AR-Verwalter gesetzt wird, soll das AR-Verwaltungssystem einen Gastgeber
desselben Lieferanten bevorzugen.
- – ARPreferredHost – Eine Bezeichnung
eines bestimmten Gastgebers, der zum Installieren einer A-Code-Einheit
für eine
bestimmte gesteuerte Station oder für ein gesteuertes Stationsmodell
bevorzugt wird. Der Grund dieser Einstellung können beispielsweise Leistungs- oder Zuverlässigkeitserwägungen sein.
- – ARPreferredURL – Eine URL
(oder ähnliches)
zum Bezeichnen der Stelle einer AR-Code-Einheit und des Profils für eine gesteuerte
Station oder ein gesteuertes Stationsmodell. Für eine BAV-gesteuerte Station wird
dieser Vorzug angewandt um zu spezifizieren, dass eine AR-Code-Einheit
statt einer AR-Code-Einheit bezeichnet durch eine URL in dem BAV-Gerät installiert
wird, oder die AR-Code-Einheit, die in dem BAV-Gerät enthalten
ist. Für
eine LAV-gesteuerte Station ist es üblich eine AR-Code-Einheit
zu spezifizieren, die in einem FAV-Gastgeber installiert werden
kann.
-
Wenn
Vorzüge
für eine
gesteuerte Station in mehr als nur einer gesteuerten Station gespeichert
sind, kann es passieren, dass strittige Werte eingestellt werden.
In diesem Fall kann einer der Werte beliebig selektiert werden.
Vorzugsweise, für
ARPreferVendorHost, wird der Wert wahr im Falle einer Konfliktsituation
selektiert. Auf vorteilhafte Weise werden Konfliktsituationen berichtet,
wodurch der Benutzer oder das System die Möglichkeit hat, die Konfliktsituation
durch Einstellung des Vorzugs zu lösen.
-
Es
dürfte
einleuchten, dass normalerweise Vorzüge Netzwerkrückstellungsereignisse
und das Abrufen von (De)Installationsanträgen beeinflussen, nicht zu
dem Zeit punkt, wo sie eingestellt werden. Auf vorteilhafte Weise
gibt es eine Priorität
unter den Vorzügen
um Zweideutigkeit zu lösen.
Die nachfolgende Liste gibt die bevorzugte Rangordnung, in der AR-Code-Einheitsinstallationsversuche
von dem AR-Verwalter der führenden
Station für
eine bestimmte gesteuerte Station durchgeführt werden:
- 1.
Wenn <ARPreferVendorHost> wahr ist, versuche
einen Gastgeber von demselben Lieferanten wie die gesteuerte Station
(firmeneigene AR-Code-Einheit). Wenn zutreffend: wird <ARPreferredHost> auch berücksichtigt,
unter der Bedingung, dass es in dem Satz der Lieferantengastgeber.
- 2. Wenn <ARPreferredHost> spezifiziert, versuche
diesen Gastgeber (eingebettete oder hochladbare AR-Code-Einheit).
Wenn zutreffend: wird <ARPreferredURL> auch berücksichtigt,
unter der Bedingung, dass <ARPreferredHost> ein FAV-Gerät ist.
- 3. Wenn <ARPreferredURL> spezifiziert ist,
versuche die ARL-bezeichnete hochladbare AR-Code-Einheit in einem
FAV-Gastgeber.
- 4. Versuche eine URL-bezeichnete hochladbare AR-Code-Einheit
in dem BAV-Gerät
in jedem beliebigen FAV-Gastgeber (gilt nur für BAV-gesteuerte Stationen).
- 5. Versuche eine BAV-enthaltene hochladbare AR-Code-Einheit
in jedem beliebigen FAV-Gastgeber
(gilt nur für
BAV-gesteuerte Stationen).
- 6. Versuche eine firmeneigene AR-Code-Einheit in jedem beliebigen
Gastgeber.