-
Die
Erfindung betrifft eine Verfahren zur Programmierung von Ressourcenabläufen, das
heisst von Gerätefunktionen
in einem Heimnetzwerk, insbesondere einem Netzwerk, das einen IEEE
1394-1995 seriellen Bus einschliesst.
-
In
einem Heimnetzwerk, das mit Audio-/Videogeräten oder Knoten verbunden ist,
sollte ein Benutzer die Möglichkeit
zur Programmierung von Abläufen
erhalten, die dann durch eines der Geräte von einem Gerät mit Anzeigemöglichkeit
aus, durchgeführt werden.
Zum Beispiel sollte es möglich
sein, eine Aufnahme einer Übertragung
mit irgendeinem Aufnahmegerät,
zum Beispiel mit einem Videorekorder von jedem Fernsehgerät aus oder
mit anderen Anzeigemitteln, die mit dem Netzwerk verbunden sind,
zu programmieren.
-
Das
Dokument EP-A-0535749 beschreibt ein Gerätenetzwerk des Typs D2B.
-
Die
Erfindung betrifft ein Verfahren zur Programmierung von Ressourcenabläufen in
einem Netzwerk mit Haushaltsgeräten
dadurch gekennzeichnet, dass es die folgenden schritte beinhaltet:
- – Senden
einer Anfrage zur Programmierung eines Ablaufes durch Klientenanwendung
an einen Verwalter vorprogrammierter Abläufe eines Gerätes des
Netzwerkes, wobei die Anfrage zur Programmierung eine Reihe von
Parametern einschliesst, die den Ablauf bestimmen und eine Liste
von Ressourcen, die zur Durchführung
des Vorganges eingebunden sind.
- – Prüfung durch
den Ablaufverwalter der Verfügbarkeit
der einbezogenen Ressourcen zur Durchführung des Vorganges.
- – Übertragung
einer Nachricht zur Annahme oder Ablehnung des Vorganges an die
Klientenanwendung durch den vorprogrammierten Ablaufverwalter in
Abhängigkeit
des Ergebnisses der Überprüfung.
- – Nach
einem besonderen Ausführungsbeispiel wählt die
- Klientenanwendung einen vorprogrammierten Ablaufverwalter, der
in einem Gerät,
mit Ausnahme der Klientenanwendung selbst, angesiedelt ist.
- – Nach
einem besonderen Ausführungsbeispiel schliesst
der Vorgang die Stufe der Speicherung durch jede Ressource ein,
die in ihrem Programm in Bezug auf den Vorgang einbezogen ist.
- – Nach
einem besonderen Ausführungsbeispiel beinhaltet
der Überprüfungsschritt
eine Anfrage des vorprogrammierten Ablaufverwalters jeder einbezogenen
Ressource mit dem Ziel, die Verfügbarkeit
der beteiligten Ressource, über
ihr jeweiliges Programm, sicher zu stellen.
- – Nach
einem besonderen Ausführungsbeispiel führt der
Ablaufverwalter zur Startzeit des Vorgangs die folgenden Aufgaben
durch:
– Reservierung
der beteiligten Ressource;
– Aufbau der erforderlichen
Verbindungen zwischen den beteiligten Ressourcen;
– Einleitung
der Befehle mit den beteiligten Ressourcen.
-
Weitere
Eigenschaften und Vorzüge
der Erfindung werden durch die Beschreibung von zwei nicht begrenzenden
modellhaften Ausführungsbeispielen
deutlich, die in den beigefügten
Zeichnungen dargestellt werden, dabei sind:
-
die 1 ein
Diagramm eines Teils eines Heimnetzwerks, das die Art und Weise
des Betriebs nach dem ersten modellhaften Ausführungsbeispiel darstellt,
-
die 2 ein
Diagramm eines Teils eines Heimnetzwerks, das die Art und Weise
des Betriebs nach dem zweiten modellhaften Ausführungsbeispiel darstellt,
-
die 3 ein
Schaltbild, das den Datenaustausch nach dem ersten modellhaften
Ausführungsbeispiel
darstellt,
-
die 4 ein
Schaltbild, das den Datenaustausch nach dem zweiten modellhaften
Ausführungsbeispiel
darstellt.
-
Die
vorliegende Beschreibung betrifft eine Heimnetzwerk, das auf einem
seriellen Bus nach IEEE 1394-1995 basiert, wie auch auf der Architektur,
die als "HAVi" – Architektur bezeichnet wird
und in dem Dokument "The
HAVi Architektur" – Spezifikationen
der Heim Audio-/Video – Interoperabilitäts-Architekur, vom 11.5.1998,
Version 0.8, veröffentlicht am
15.5.1998 auf den Internetseiten von Sony, Hitachi, Philips und
Sharp, definiert ist. Eine neue Version des HAVi Dokumentes (Version
1.0beta+) wurde zwischen dem Prioritätsdatum und dem Datum der Einreichung
des vorliegenden Patentantrages veröffentlicht.
-
Zwei
Patentanträge,
die unter gleichem Namen wie der vorliegende Antrag eingereicht
wurden, befassen sich in weiteren Einzelheiten mit bestimmten Aspekten
der Architektur des Netzwerks. Diese sind die Französische Patentantrag
Nr. 9805110 vom 23. April 1998 mit dem Titel "Procédé de gestion d'objets dans un réseau de
communication et dispositif de mise en oeuvre" (Verfahren zur Verwaltung von Objekten
in einem Kommunikationsnetzwerk und Gerät zu dessen Implementierung),
so wie ein französischer
Patentantrag, der am selben Tag eingereicht wurde wie der Prioritätsantrag
des vorliegenden Antrags mit dem Titel "Procédé de gestion de priorités d'acces à des ressources
dans un réseau
domestique et appareil de mise en oeuvre" (Verfahren zur Verwaltung von Rangfolgen
des Zugangs zu Ressourcen in einem Heimnetzwerk und Gerät zu dessen
Implementierung). Der letztere Patentantrag trägt die Nummer
FR 9807186 . Der erste Patentantrag
betrifft die Implementierung von Eintragungen von Objekten oder
von Ressourcen in den Geräten, die
mit dem Netzwerk verbunden sind, dieses Register hält eine
zeitaktuelle Liste der Ressourcen oder Programmmodule, die auf örtlicher
Ebene in einem Gerät
verfügbar
sind, während
der zweite Patentantrag eine Ressourcenverwaltung betrifft, der
die Ressourcenreservierung für
lokal verfügbare
Ressourcen verwaltet und bei der Beseitigung von Zugangskonflikten
zur Reservierung dieser Ressourcen beteiligt ist.
-
Zur
Ausführung
eines Vorganges, wie zum Beispiel Aufnahme einer Sendung, kann eine
Anwendung Zugang zu öffentlichen
Ressourcen erfordern. Der Ausdruck "öffentliche
Ressourcen" muss innerhalb
des vorliegenden Zusammenhangs verstanden werden, der Eigenschaften
von Geräten, ausser
den Geräten
in denen der Vorgang vorgenommen wird, meint, die aber potentiell
durch diese Anwendung zugänglich
sind. Die Ressourcen die von der Anwendung lokal zugänglich sind
und auch die Bandbreite, bilden auch einen teil der öffentlichen Ressourcen.
Eine Anwendung kann selbst auch eine Ressource darstellen. Die oben
erwähnten
Register enthalten eine zeitaktuelle Liste der verfügbaren öffentlichen
Ressourcen und die Anwendungen können
bestimmen, wer diese Ressourcen sind durch absenden einer Anfrage
auf der Ebene ihrer lokalen Register, die dies Anfrage an die anderen
Register verteilen kann.
-
Die
Bezeichnung "Programmmodul" (software module,
um die Terminologie des HAVi Dokuments zu benutzen) bezeichnet Anwendungen,
Ressourcen und die Dienste eines Gerätes.
-
Zwei
modellhafte Ausführungsbeispiele
werden aufgezeigt. Nach dem ersten modellhaften Ausführungsbeispiel
werden bestimmte Funktionen in Bezug auf die Durchführung vorprogrammierter
Vorgänge
ausgeführt,
auf die unter "Hauptressource" im Folgenden Bezug
genommen wird, während
nach dem zweiten modellhaften Ausführungsbeispiel diese Funktionen
von einem von den in einem vorprogrammierten Vorgang beteiligten
Ressourcen unabhängigen
Objekt besorgt werden, nämlich
der vorprogrammierte Vorgangsverwaltung ("PAM" =
preprogrammed action manager)
-
Beispiel 1
-
Die
Durchführung
eines vorprogrammierten Vorgangs nach dem ersten modellhaften Ausführungsbeispiel
beinhaltet:
- – eine Klientenanwendung
- – eine
Hauptressource auf die unter "Zielressource" oder einfach "Ziel" Bezug genommen wird.
- – soweit
erforderlich eine oder mehrere öffentliche Ressourcen
auf die unter "beteiligte
Ressourcen" Bezug
genommen wird, die auch zur Durchführung des vorprogrammierten
Vorgangs erforderlich sind.
-
Innerhalb
des Rahmens eine Aufnahmeanfrage ist das Ziel zum Beispiel die Aufnahmemöglichkeit
eines digitalen Aufnahmegerätes
(digitaler Videorekorder, DVD, usw.), während eine beteiligte Ressource
ein Tuner ist. Andere Ressourcen können erforderlich sein: zum
Beispiel ein Transkoder, der notwendig ist um das Datenformat in
das Format des Aufnahmegerätes
zu übersetzen,
ein Zugangskontrolldienst zur Autorisierung des Zugangs zu sicheren Programmen,
usw.
-
Den
Erfordernissen für
den Ablauf zur Durchführung
des vorprogrammierten Vorgangs wird Rechnung getragen, um normal
zu arbeiten, selbst wenn das Anzeigegerät durch das der Vorgang vorprogrammiert
wurde inaktiv gemacht wurde (zum Beispiel hat der Benutzer das Fernsehgerät ausgeschaltet,
das ihm zur Programmierung des Videorekorders gedient hatte). Man
unterstellt, dass dieses Gerät
irgendwelche beteiligte Ressourcen beinhalt (die Hauptressource
stellt einen teil der beteiligten Ressourcen dar).
-
Das
Ziel akzeptiert, oder auch nicht, die über die Anwendung angefragte
Aktion. Wenn diese Aktion vorprogrammiert wird, muss das Ziel die
erforderlichen Ressourcen identifizieren zur Durchführung der
Aktion und diese reservieren für
die erforderliche Zeitspanne. Wenn die Aktion gegenwärtig ausgeführt wird,
müssen
sich das Ziel und die beteiligten Ressourcen selbst synchronisieren.
Die Folge daraus ist, dass Informationen, die sich auf die vorprogrammierte
Aktion beziehen im Netzwerk gespeichert werden müssen. Nach dem ersten modellhaften
Ausführungsbeispiel,
ist das Ziel, das diese Informationen speichert und die Aktion auch
ausführt,
während nach
dem zweiten modellhaften Ausführungsbeispiel es
eine anderer Modul ist, der für
diese Funktionen verantwortlich ist. Eine vorprogrammierte Aktion kann
durch eine bestimmte Anzahl von Informationseinheiten bestimmt werden,
die in einer besonderen Datenstruktur gesammelt werden, die von
der Anwendungsprogrammierung ausgefüllt und von der Zielressource
gespeichert werden.
- – Die Art der Aktion
- – Parameter
bezüglich
der Aktion (auszuführende Befehle
in Bezug auf jede beteiligte Ressource, Liste der Verbindungen,
die erstellt werden müssen,
bevor die Aktion begonnen wird)
- – Ein
Datum
- – Ein
Startzeit
- – Eine
Endzeit
- – Die
Periodizität
der Aktion
- – Eine
Kennung der Zielressource
- – Die
Kennungen der beteiligten Ressourcen
- – Benutzerdaten
-
Die
Art der Aktion hängt
der Natur des Ziels ab. Beispielsweise kann die Aktion "AUFNAHME" oder "WIEDERGABE" für eine Ressource
mit einem Massenspeicher sein, oder "AUSWAHL_DIENST" für einen
digitalen Fernsehdemultiplexer.
-
Die
Parameter, die von der durchzuführenden
Aktion abhängen,
helfen zur Bestimmung der Aktion auf spezifischere Art und Weise
auf der Ebene jeder Ressource. Ein Parameter kann ein Ereignis oder ein
Dienst sein innerhalb der Bedeutung des digitalen DVB Videoübertragungsstandards.
In diesem fall werden die Parameter eine Kennung des Parametertyps
beinhalten, gefolgt vom Wert dieses Parameters.
-
Bestimmte
Geräte
des Netzwerks mögen keine
Verarbeitungsmittel beinhalten, um einen Dienst auf dieser Ebene
zu bieten. Ein Aufnahmegerät
kann zum Beispiel keine Parameter annehmen nach einem "AUFNAHME"-Befehl, das es selbst nicht
in der Lage ist den Tuner zu steuern, während aufwendigere Geräte, die
diese Einrichtung besitzen, in der Lage sein werden einen Befehl
dieser Art "AUFNAHME
Dienst X" anzunehmen.
-
Das
Datum, die Start- und Endzeiten und die Periodizität der Aktion
stellen herkömmliche
Informationen dar.
-
Die
Kennung der Zielressource ist erforderlich, so dass eine Anwendung
eine bereits programmierte Aktion verändern kann. Dieses Feld wird
nicht benötigt,
wenn das Ziel die vorprogrammierte Aktion direkt speichert (zum
Beispiel wenn die Ressource selbst die Hauptressource der programmierten
Aktion ist).
-
Wenn
zum Beispiel ein Anwendung sicher stellen möchte, welche programmierte
Aktion mit einer gegebenen Ressource verknüpft ist, wird es die Ressource
nach den Kennungen jeder programmierten Aktion fragen, an der die
Ressource beteiligt ist. Diese Aktion wird dann in der Lage sein,
die Datenstruktur der programmierten Aktion zu Rate zu ziehen, die
sie gewählt
hat und wird sie dann verändern können (diese
Anwendung kann zum Beispiel die möglicherweise durch den Benutzer
gesteuerte Benutzerschnittstelle sein, mit Ausnahme der, der die Aktion,
die verändert
werden wird, programmiert hat).
-
Die
Kennungen der beteiligten Ressourcen werden, nach dem ersten modellhaften
Ausführungsbeispiel,
von dem Ziel eingesetzt. Die Liste gestattet es dem ziel die Informationen
abzufragen, die sich auf die beteiligten Ressourcen beziehen, zum
Beispiel durch die Register oder durch direkte Übermittlung an diese.
-
Die
Benutzerdaten schliessen zum Beispiel in Volltext den Grund der
Aktion ein, dies ist möglicherweise
wichtig im Falle von Konflikten mit eine früher programmierten Aktion.
In diesem Fall, falls der Konflikt vom Benutzer gelöst werden
muss, typischerweise der, der die jüngste Aktion programmiert, können diese
Daten ihm Indikationen zur Bedeutung der Aktion bieten.
-
Die
beteiligten Ressourcen mit denen die Zielressource Verbindung aufgenommen
hat, werden selbst auch einen teil des Inhalts der obigen Datenstruktur
speichern müssen:
die Information, die sich auf die Zeit bezieht und, möglicherweise
die Art der Aktion, die Parameter und die Benutzerdaten.
-
Das
erste modellhafte Ausführungsbeispiel ist
in der 1 dargestellt. Der Netzwerkteil, der in dieser
Abbildung dargestellt ist beinhaltet fünf Geräte. Gerät 1 ist ein Fernsehgerät, das sich
in der Küche
befindet und eine Anwendung 2 beinhaltet (zum Beispiel eine Benutzerschnittstelle,
die die Programmierung aller Geräte
des Netzwerks gestattet). Gerät 3 ist
ebenfalls ein Fernsehgerät,
da sich im Schlafzimmer befindet und mit einer Anwendung 4 ausgestattet
ist, ähnlich
wie die Anwendung 2. Das Gerät 5 ist
ein digitaler Fernsehdekoder, der eine Tunerressource 6 und
eine Ressourcenverwaltung 7 beinhaltet, während das
Gerät 8 ein
digitales Aufnahmegerät der
DVD-Art ist und in dieser Hinsicht eine Aufnahmeressource 9 einschliesst
und eine Ressourcenverwaltung 10. Letztendlich ist das
gerät 11 zum
Beispiel ein weiterer Dekoder, der die Eigenschaft hat die Audio-
und Videodaten, die nach dem ersten Format kodiert sind (die des
Dekoders 5) in ein zweites Format zu dekodieren (in das
des Aufnahmegerätes 8).
Das Gerät 11 besitzt
folglich eine Transkoderressource 12 und eine Ressourcenverwaltung 13.
Die verschiedenen Geräte,
die Programmmodule, ausser den dargestellten, besitzen, sind über einen
seriellen Bus miteinander verbunden, zum Beispiel mit dem IEEE 1394-1995
Bus.
-
Nach
dem ersten modellhaften Ausführungsbeispiel
beinhaltet die Zielressource, im vorliegenden Fall die Aufnahmefunktion
des Gerätes 8,
selbst eine Anwendung, die in der Lage ist, die Aufnahmeaktion zu
steuern.
-
Es
wird unterstellt, das der Benutzer wünscht eine Sendung auf einem
Dienst X um 20.00h, am 12. 12. 1999 aufzunehmen, mit einer Dauer
von 2 Stunden. Obwohl im Beispiel der 1 eine einzelne Ressource
der Art eines Tuners und eine einzelne Ressource der Art einer Transkodierung
im Netzwerk besteht, könnte
der Tuner in einem Netzwerk, in dem mehrere Ressourcen des selben
Typs des Netzwerks zusammen vorhanden sind, unter mehreren Ressourcen
wählen,
von dem er wünscht,
dass es bei der Durchführung
der Aktion beteiligt ist.
-
Wenn
die Zielressource 9 die programmierte Aktion von der Anwendung
2 empfängt,
führt sie
eine automatische Reservierung mit der lokalen Ressourcenverwaltung 10 durch,
indem sie auf die Art und Weise vorgeht, wie sie in dem zweiten
Patentantrag, der zu Beginn dieser Beschreibung erwähnt wurde, vorgeht.
Darüber
hinaus führt
sie die Reservierung der beteiligten Ressourcen (Tuner 6,
Transkoder 12) mit den entfernt liegenden Ressourcenverwaltungen (jeweils
Verwaltung 7, 13) durch. Jede Ressourcenverwaltung
speichert die Daten, die sich auf die Reservierung der damit verknüpften Ressourcen
beziehen (das heisst der Ressourcen, die dieselbe Ausführungsplattform
als diese Ressourcenverwaltung haben).
-
Sind
die Reservierungen einmal durchgeführt, überträgt das Ziel eine Bestätigungsnachricht an
die Anwendung 2, aus der die Aktion herrührt.
-
Im
Falle eines Konflikts bei der Reservierung, zum Beispiel für den Fall
einer Belegung oder Übertragung
einer bereits reservierten Ressource für eine Aktion, die von einer
Anwendung gegeben wird, die eine andere Aktion programmiert, warnt
die Ressourcenverwaltung das Ziel, das die erste Aktion programmiert
hat, mit einer entsprechenden Nachricht. Zu diesem Zweck speichert
jede Ressourcenverwaltung in Wirklichkeit die Kennung oder Adresse
des Softwaremoduls, das eine Reservierung vorgenommen hat.
-
Hierbei
wird nichtsdestotrotz, sollte das Gerät 1 nicht angeschlossen
sein, die programmierte Aktion durchgeführt, da alle Informationen,
die sich auf die Aktion beziehen, auf der Ebene des Ziels gespeichert
werden.
-
Ein
Benutzer kann die vorprogrammierte Aktion von einer anderen Anwendung
löschen
oder verändern,
so zum Beispiel die Anwendung 4. Wenn die Anwendung 4 auf alle programmierten
Aktionen, die eine gegebene Ressource betreffen (was durch die lokales
Register der Anwendung gefunden wird), zugreifen will, kann die
Ressource, die von der Anwendung angesprochen wird, die Kennungen
der Hauptressourcen von jeder der programmierten Aktionen, in die
sie einbezogen ist, geben. Die vollständige Datenstruktur, die die
programmierte Aktion beschreibt, kann danach wieder hergestellt
werden, indem jede Hauptressource direkt angesprochen wird.
-
Wenn
die Aktion beginnt, verbindet das Ziel die verschiedenen Ressourcen
mittels der lokalen Programmmodule, auf die unter Verbindungsverwaltung
(oder "SM", was nach der Terminologie
des HAVi Dokumentes für "Stream Manager" steht) Bezug genommen
wird.
-
Eine
Ressource kann unter dem Begriff Funktionskomponentenverwaltung
("function component
manager" "FCM", gemäss der HAVi
Terminologie) bezeichnet werden. Die Architektur kann dann mit dem
Diagramm der 3 dargestellt werden, in der
eine Anwendung eine Aktionsprogrammierung an die Schnittstelle zur
Anwendungsprogrammierung sendet und eine Teil des Zieles bildet.
-
Im
Allgemeinen bestehen Ressourcen, ausser FCM's, innerhalb des HAVi Rahmenwerkes.
Eine weitere Art von Ressourcen bestehen zum Beispiel, auf die unter "DCM" Bezug genommen wird,
was für "Device Control Manager" oder alternativ
device control manager (Gerätsteuerungsverwaltung)
steht. Während
eine FCM die Programmverkörperung
einer Funktion eines Gerätes
darstellt, ist DCM Die Programmverkörperung eines Gerätes und
kann mehrere FCM's
in dieser Hinsicht enthalten. Ein DCM ist dann ein Vermittler zwischen
einer Hauptanwendung, die eine Reservierung vornimmt und einer oder mehrerer
FCM's, die in der
DCM enthalten sind.
-
Beispiel 2
-
Das
zweite modellhafte Ausführungsbeispiel ist
in der 2 dargestellt. Es wird hier unterstellt, dass
die Ressource keine Anwendungen enthält, die in der Lage sind die
programmierten Aktionen zu verwalten, wie im ersten modellhaften
Ausführungsbeispiel.
Man wird in diesem Fall von passiven Ressourcen sprechen. Die letzteren
können
jedoch einige dieser Daten (zum Beispiel den zeitplan für die Aktionen,
die sie auszuführen
haben und möglicherweise Parameter
und Benutzerdaten) speichern, wie beim ersten modellhaften Ausführungsbeispiel
aufgezeigt wurde.
-
Die
Klientenanwendung 15 setzt die Programmierung der Aktion
in Gang, wie beim ersten Beispiel, und ist eine Schnittstelle, die
innerhalb des Fernsehgerätes 16 untergebracht
ist. Das Aufnahmegerät 17 schliesst
die digitale Aufnahmeressource 18 und eine andere Ressource 19 und
eine Ressourcenverwaltung 20 ein.
-
Nach
dem modellhaften vorliegenden Ausführungsbeispiel, schliesst das
Gerät 17 auch
eine vorprogrammierte Aktionenverwaltung 21 ("PAM") ein. Diese Aktionsverwaltung 21 ist
ein Dienst innerhalb der Bedeutung des HAVi Dokumentes und nimmt
alle erforderlichen Reservierungen für die Ausführung der Aktion vor. Es gibt
nur einen funktionalen Unterschied zwischen der vorprogrammierten Aktionenverwaltung
und der Ressourcenverwaltung. Während
die vorprogrammierte Aktionenverwaltung die vorprogrammierten Aktionen
verwaltet, verwaltet die Ressourcenverwaltung die Reservationen,
die den Aktionen entsprechen und alle Konflikte, die sich daraus
ergeben können.
Diese beiden Funktionen können
in ein und dasselbe Programmobjekt einbezogen werden, wie in der 2 dargestellt
wird. Die getrennte Darstellung des PAM und der RM wird nur aus
Gründen
der Folgerichtigkeit mit dem ersten modellhaften Ausführungsbeispiel
vorgenommen, in dem diese Funktionen durch verschieden Objekte implementiert
wurden.
-
Die
Aktionsverwaltung 21 verwaltet die passiven Ressourcen
des Gerätes 17 und
auch die des Geräts 5.
-
Die
Implementierung einer vorprogrammierten Aktion, gemäss dem zweiten
modellhaften Ausführungsbeispiels,
beinhaltet:
- – eine Klientenanwendung;
- – eine
vorprogrammierte Aktionsverwaltung ("PAM);
- – eine
oder mehrere öffentliche
Ressourcen, auf die unter "beteiligte
Ressourcen" Bezug
genommen wird und die zur Implementierung der vorprogrammierten
Aktionen erforderliche sind.
-
Innerhalb
des Rahmens einer Aufnahmeanfrage sind zum Beispiel die beteiligten
Ressourcen:
- – die Aufnahmeeigenschaft eines
digitalen Aufnahmegeräts
(digitaler Videorekorder, DVD, usw.),
- – ein
Tuner.
-
Andere
Ressourcen können
erforderlich sein: ein Transkoder, zum Beispiel, der das Datenformat
in das Format des Aufnahmegerätes übersetzt, ein
Zugangskontrolldienst zur Autorisierung des Zugangs zu sicheren
Programmen, usw.
-
Den
Erfordernissen für
den Ablauf zur Durchführung
des vorprogrammierten Vorgangs wird Rechnung getragen, um normal
zu arbeiten, selbst wenn das Anzeigegerät durch das der Vorgang vorprogrammiert
wurde inaktiv gemacht wurde (zum Beispiel hat der Benutzer das Fernsehgerät ausgeschaltet,
das ihm zur Programmierung des Videorekorders gedient hatte). Folglich
beinhaltet dieses Gerät
vorzugsweise keine beteiligten Ressourcen. Die vorprogrammierte
Aktionenverwaltung akzeptiert, oder auch nicht die vom Klienten
angefragte Anwendung. Der letztere hat zuvor die Ressourcen identifiziert,
die zur Durchführung
der Aktion erforderlich sind, die Befehle, die zum Start der Aktion
und auszuführen
sind und die erforderlichen Verbindungen zwischen den verschiedenen
Ressourcen, die vor der Startzeit der Aktion erstellt werden müssen.
-
Die
PAM speichert alle diese Daten der Aktion und sendet eine Kennung
der Aktion an die Klientenanwendung zurück. Darüber hinaus speichert jede beteiligte
Ressource ihren eigenen Zeitplan für die auszuführenden
Aktionen. Dieser zeitplan beinhaltet insbesondere Zeitpläne der Reservierungen, jedoch
keine Befehle und Verbindungen, die sich auf die Aktion beziehen.
Dies würde
zu viel Speicherplatz in Anspruch nehmen. Aufgrund dieses Zeitplans kann
jede Ressource andere PAM's
informieren, Aktionen aus ihrer Verfügbarkeit oder Nicht-Verfügbarkeit
für diese
Aktionen zu starten.
-
Vor
der Annahme oder Ablehnung einer Anfrage zu einer Aktion, fragt
die PAM jede Ressource zur Sicherstellung, ob sie verfügbar ist
zwischen Start- und Endzeit der Aktion. Zur Startzeit, wenn alle Ressourcen
verfügbar
sind, reserviert die PAM die Ressourcen (hier handelt es sich massgeblich
um die Reservierung, im Vergleich mit einfachen Zeitplanangaben,
die zuvor programmiert wurden) und erstellt die erforderlichen Verbindungen
und setzt die Befehle in Gang. Das Erstellen der Verbindungen wird
vom lokalen Programmmodul angefragt, auf den hier unter Verbindungsverwaltung
Bezug genommen wird (oder "SM", oder "Stream Manager", gemäss der Terminologie
des HAVi Dokuments).
-
Wenn
eine der in einer vorprogrammierten Aktion beteiligten Ressourcen
verschwindet, vor der Startzeit der Aktion, wir die Letztere unterbrochen, bis
die Ressource wieder im Netzwerk zur Verfügung steht. Wenn die fehlende
Ressource wieder auftaucht, selbst nach der Startzeit der vorprogrammierten
Aktion, wird die Aktion nichtsdestotrotz ausgeführt, wenn auch in der Zeit
verschoben.
-
Eine
vorprogrammierte Aktion kann durch eine Anzahl von Informationen
bestimmt werden, die in einer besonderen Datenstruktur gesammelt
werden und durch die die Anwendungsprogrammierung der Aktion ausgefüllt wird
und dann, gemäss
dem zweiten modellhaften Ausführungsbeispiel,
durch die vorprogrammierte Aktionsverwaltung abgespeichert wird.
- – Die
Art der Aktion
- – die
Parameter, die sich auf die Aktion beziehen (auszuführende Befehle
in Bezug auf jede beteiligte Ressource, Liste der Verbindungen,
die vor dem Start der Aktion erstellt werden müssen)
- – Ein
Datum
- – Eine
Startzeit
- – Ein
Endzeit
- – Die
Periodizität
der Aktion
- – die
Kennungen der beteiligten Ressourcen
- – die
Benutzerdaten
-
Die
verschiedenen Elemente haben eine ähnliche Bedeutung, was in Verbindung
mit dem ersten modellhaften Ausführungsbeispiel
beschrieben wurde.
-
Wenn
eine Anwendung sicherstellen möchte,
welche vorprogrammierte Aktion mit einer gegebenen Ressource verknüpft ist,
kann sie alle programmierten Aktionen, die in der PAM aufgezeichnet sind,
abfragen. Sie kann von der Ressource auch die Kennungen jeder der
vorprogrammierten Aktionen bei der die Ressource beteiligt ist,
abfragen. Sie kann somit die Kennung der PAM, die die Daten einer
gegebenen vorprogrammierten Aktion enthält, wieder finden.
-
Eine
Anwendung hat auch die Möglichkeit eine
vorprogrammierte Aktion zu löschen,
oder eine solche Aktion in der für
diese Aktion betroffenen PAM zu verändern.
-
Die
Kennungen der beteiligten Ressourcen werden gemäss dem zweiten modellhaften
Ausführungsbeispiel
von der PAM benutzt. Die Liste erlaubt es der PAM Informationen,
die sich auf die beteiligten Ressourcen beziehen, anzufragen, zum
Beispiel über
die Register, oder durch Übertragung
von Mitteilung direkt an diese.
-
Die
PAM verteilt die vorprogrammierte Aktion an die Gerätesteuerverwaltung
(DCM – sieh
unten) der beteiligten Ressourcen mit allen für jede Ressource erforderlichen
Parametern. Jede Ressource (oder deren DCM) muss entscheiden, ob
die erforderlichen Verbindungen und die beabsichtigten Befehle in
der Lage sind zur beabsichtigten Zeit in Betrieb genommen zu werden.
-
Wenn
die Ressourcen im Stande sind die Anfrage zu akzeptieren, verständigen sie
deren PAM, wobei der Letztere eine Kennung der Aktion an die Klientenanwendung
zurück
sendet, um ihr anzuzeigen, dass die Aktion berücksichtigt wurde.
-
Falls
die Ressourcen nicht in der Lage sind die Anfrage zu akzeptieren,
oder wenn eine der angefragten Ressourcen im Netzwerk nicht vorhanden ist,
oder falls das Aufheben einer beteiligten und bereits reservierten
Ressource innerhalb des Rahmens einer weiteren Aktion nicht möglich war,
weist die PAM die vorprogrammierte Aktion zurück und sendet eine entsprechende
Meldung an die Klientenanwendung.
-
Im
Falle von Konflikten bei der Reservierung, zum Beispiel im Falle
einer Aufhebung oder Übertragung
einer nicht verfügbaren
Ressource, verständigt die
PAM die Klientenanwendung, die die Aktion programmiert hat, durch
eine entsprechende Mitteilung. Zu diesem Zweck speichert in Wirklichkeit
jede PAM die Kennung, oder die Adresse der Anwendung, die die Reservierung
vorgenommen hat.
-
Eine
Ressource kann und den Begriffen Funktionskomponentenmanager ("FCM" = function component
manager nach der HAVi Terminologie). Die Architektur kann sodann
mit dem Diagramm der 3 dargestellt werden, in der
eine Anwendung eine Aktionsprogrammierung an die Schnittstelle zur Anwendungsprogrammierung,
die einen Teil des Zieles bildet, sendet.
-
Ressourcen,
ausser den FCM's,
bestehen innerhalb des HAVi Rahmenwerkes. Eine weitere Art Ressource
besteht ebenfalls, auf die unter "DCM" Bezug
genommen wird und für
Gerätesteuerungsverwaltung
steht (DCM = Device Control Manager) oder alternativ "Steuerungsverwaltung". Während ein FCM
für die
Programmausführung
einer Funktion eines Gerätes
steht, steht DCM für
die Programmausführung
eines Gerätes
und kann in dieser Beziehung mehrere FCM's beinhalten. Eine DCM ist also eine Vermittlung
zwischen einer Hauptanwendung, die eine Reservierung vornimmt und
einer oder mehrerer FCM's,
die in der DCM enthalten sind.
-
Die 4 ist
ein vereinfachtes Diagramm des Prinzips des zweiten Ausführungsbeispiels.
Um zusammenzufassen: für
die Programmierung einer Aktion adressiert sich eine Anwendung selbst
an die vorprogrammierte Aktionsverwaltung, die notwendigerweise
in dem Gerät,
das die Zielressource enthält, vorhanden.
Die Anwendung wirkt über
die Programmierschnittstelle der Aktionenverwaltung, die im Gegenzug über die
Programmierschnittstelle des Zieles wirkt. Das Gerät, das die
Verwaltung und das Ziel beinhaltet ist entweder ein Gerät mit allen
Einrichtungen ("FAV"), oder ein Gerät mit Vermittlereigenschaften ("IAV").