-
Hintergrund der Erfindung
-
Diese
Erfindung bezieht sich allgemein auf die Steuerung von Speichervorrichtungen
in Multicast-Netzwerken.
-
Ein
Multicast-Netzwerk kann Nachrichten freigeben, die an eine Zielgruppe
von Clients gesendet werden, die einen Teilsatz vernetzter Clients
bilden. Im Allgemeinen wird das Multicasting durch das Einbeziehen,
beispielsweise in einem Kopf, der Adressen aller betreffenden Clients,
die adressiert sind, erreicht.
-
In
einigen Multicast-Umgebungen kann es wünschenswert sein, die Speichervorrichtungen,
wie beispielsweise Festplattenlaufwerke, von Zielclients zu steuern.
Zum Beispiel können
ein Server oder eine Kopfstelle eines Multicast-Systems bestimmen, welche Information
in einer oder mehreren Speichervorrichtungen von Clients gespeichert
ist. Diese Kopfstellen-Steuerung kann mit der Zustimmung des Besitzers
des Clients vollzogen werden. Folglich kann der Server bestimmen,
wie er den verfügbaren Speicherplatz
eines gegebenen Clients wirksam verwenden kann. In einigen Fällen kann
der Server in der Tat auch den Zugriff auf den verfügbaren Speicherplatz
auf Clients verkaufen oder verleihen, dessen Speichervorrichtungen
durch den Server oder die Kopfstelle gesteuert werden.
-
US-A-5,767,893 ,
das die Merkmale des Oberbegriffs des Anspruchs 1 zeigt, betrifft
ein Aussende-System, bei welchem digitales Video auf eine Heim-Aufnahmevorrichtung
heruntergeladen wird. Videoprogramme, die auf einem lokalen Speichermedium
gespeichert werden sollen, werden unter Benutzung von Rahmen-Signatur-Darstellung
gekennzeichnet.
US-A-5,798,785 zeigt
ein anderes Fernsehprogramm-Verteilsystem.
-
Folglich
besteht Bedarf nach Wegen zur Steuerung der Speichervorrichtungen
eines oder mehrerer Clients, entweder einzeln oder als Gruppe in
einer Multicast-Umgebung.
-
Kurzbeschreibung der Zeichnungen
-
1 ist
eine schematische Abbildung eines Ausführungsbeispieles der vorliegenden
Erfindung;
-
2 ist
ein Flußdiagramm
für eine
in dem Client angesiedelte Software, der in 1 gezeigt
ist, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung; und
-
3 ist
ein Flußdiagramm
für eine
Software, angesiedelt in dem Server oder der Kopfstelle, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
Beschreibung bevorzugter Ausführungsbeispiele
-
Bezugnehmend
auf 1 kann ein Netzwerk wenigstens einen Server oder
eine Kopfstelle 10 und mehrere Clients 12 (von
denen nur einer gezeigt ist) aufweisen. Der Server 10 kann
mit mehreren Clients verbunden sein (eingeschlossen Client 12)
durch ein Verteilsystem, das auf einem verdrahteten System oder
einem drahtlosen System oder einem Aussendesystem basieren kann.
Beispiele solcher Netzwerke umfassen Fernsehverteilnetzwerke, wie
beispielsweise Digitalvideo-Sendesysteme.
-
Nach
einem Ausführungsbeispiel
der vorliegenden Erfindung, kann der Server 10 mit den
Clients 12 über
einen Transport 14 kommunizieren. Der Transport 14 kann
gemäß einem
analogen oder digitalen Aussendesystem sein. Als ein Beispiel kann
der Transport 14 gemäß der Digitalvideo-Aussendung (Digital
Video Broadcast) (DVB); Network-independent Protocol, ETS 300802,
vom November 1997 sein, welche über
das europäischen
Telekommunikations-Standardinstitut (ETS), Valbonne, Frankreich, verfügbar ist.
Der Transport 14 kann zum Beispiel ein Satellit sein, Kabel
oder Äther-Aussendesystem
sein.
-
In Übereinstimmung
mit Ausführungsbeispielen
der vorliegenden Erfindung, erkennt der Client 12 Nachrichten,
die einzeln an diesen Client 12 von dem Server 10 gerichtet
ist oder in einigen Ausführungsbeispielen
von einem anderen Client 12. Die Bandbreite bleibt durch
das Adressieren an eine Gruppe von Clients erhalten, ohne daß, innerhalb des
Kopfes, die einzelnen Bezeichner eines jeden einer großen Zahl
von adressierten Clients eingefügt werden
müßte.
-
Zusätzlich kann
der Client 12 einen oder mehrere adressierbare Bearbeiter 44, 46 und 48 aufweisen,
die voneinander unabhängig
von entfernten Einheiten, wie beispielsweise dem Server 10,
adressierbar sein können.
Darüber
hinaus können
durch das Bereitstellen von adressierbaren Bearbeitern 44, 46 und 48 innerhalb
eines vorgegebenen Clients 12, Nachrichten, die spezialisiert
sind oder die eine besondere Handhabung benötigen, für eine entsprechende Handhabung
an besondere Bearbeiter adressiert werden, die auf dem Client 12 angesiedelt sind,.
-
Der
Server 10 kann einen Software-Herunterlade- und einen Aktualisierungs-Server 16 aufweisen.
Der Server 16 ist für
die Übertragung
von Software oder Softwareaktualisierungen an den Client 12 verantwortlich.
Der Server 16 überträgt Nachrichten, die
einen bestimmte Service-Bezeichner (zum Beispiel service_id = 0x01)
enthalten. Der Server 10 kann ebenfalls einen Sofort-Nachrichten-
oder Kurz-Nachrichten-Service(SMS)-Server 18 aufweisen,
der ebenfalls Nachrichten mit einem bestimmten Service-Bezeichner überträgt (zum
Beispiel, service_id = 0x02).
-
Zusätzlich kann
ebenso ein Client-Laufwerk-Verwaltungs-Server 20 bereitgestellt
werden. Der Client-Laufwerk-Verwaltungs-Server 20 kann Nachrichten übertragen,
die einen oder mehrere bestimmte Service-Bezeichner aufweisen (zum
Beispiel, service_id = x). In einigen Fällen kann eine Vielzahl von
Nachrichten durch den Client-Laufwerk-Verwaltungs-Server 20 ausgestellt
werden, um benötigte Funktionen
auf einer Speichervorrichtung oder einem Laufwerk eines Clients
einzuleiten. Zum Beispiel können
einzelne Service-Bezeichner beispielsweise für die Befehle verwendet werden:
Partitionen erzeugen, Partitionen löschen oder Partitionen zu verändern.
-
In Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung kann der Server ein Eindirektionales-Nachrichten-System
ausführen. In
einem Eindirektionalen-Nachrichten-System
kann der Server 10 Nachrichten einer Vielzahl von Clients übertragen,
die nicht in der Lage sind, auf irgendeine Art und Weise zu antworten.
Ein Beispiel eines solchen Netzwerkes ist ein Direkt-nach-Hause
(DTH = direct-to-home)-Sende-Netzwerk,
das in Übereinstimmung
mit dem DVB-Protokoll
arbeiten kann. Das Netzwerk kann, als zwei Beispiele, ein Verbindungs-orientiertes-Kommunikationsprotokoll
oder ein Echtzeit verbindungsloses Kommunikationsprotokoll verwenden.
Es existieren viele Anwendungen für ein eindirektionales Nachrichtenversenden
von einem Server zu einem Client, wie beispielsweise Sofort-Nachrichten versenden,
Befehl und Steuerung und Benachrichtung und Signalisierung, als
Beispiele. In anderen Fällen
kann das Netzwerk ein bidirektionales Netzwerk sein, zum Beispiel
mit einem Internet-Protokoll (IP) Multicast-Basisnetz.
-
In
einem Ausführungsbeispiel
der Erfindung kann der Server 10 einen eindirektionalen
Nachrichtensende-Server (UMS) 22 aufweisen, der mit den Servern 16, 18 und 20 verbunden
ist, um Nachrichten in einem geeigneten Format zu erzeugen. Die
Nachrichten, die durch den UMS-Server 22 übertragen werden,
können
Nachrichten enthalten, die ursprünglich
durch einen der Server 16, 18 oder 20 erzeugt wurden.
Der UMS-Server 22 kann daraufhin mit einem Internet-Protokoll-Multicast-Modul 24 verbunden
sein, das die Nachrichten in einem entsprechenden Multicast-Protokoll-Format
anordnet. Schlussendlich ist eine DVB-Mehrprotokoll-Verkapselung (MPE
= Multiprotocol-Encapsulation) 26 mit dem Internet-Protokoll- Multicast-Modul 24 verbunden.
Das MPE ist in der DVB-Beschreibung
für Datenübertragungen
(EN 301 192) und in der Beschreibung für Service-Information (SI)
in DVB-Systemen (EN 300 468 V1.3.1 1998-02), die beide über die
ETS verfügbar
sind, beschrieben. Der Ausgang des DVB MPE 26 und eines
DVB-Service-Informations(SI)-Erzeugers 28 sind
mit dem Transport 14 verbunden. Service-Information ist
digitale Daten, die das Übertragungssystem,
den Inhalt und die Planung/Zeit von Sende-Daten-Strömen beschreibt.
-
In
dem Client 12 ist der Strom von dem DVB-SI-Erzeuger 28 mit
einem DVB-SI-Empfänger 40 verbunden
und mit einem Service-Annahme-Modul 38.
Das Service-Annahme-Modul 38 extrahiert einen Programm-Bezeichner
(PID) und stellt ihn einem DVB-Demultiplexer 32 bereit.
Ein Abstimmer 30 kann den Client 12 auf einen
geeigneten Kanal abstimmen, der dem extrahierten Programm-Bezeichner entspricht.
-
Die
Nachricht von dem DVB MPE 26 wird einem DVB MPE-Empfänger 42 bereitgestellt.
Der Empfänger 42 kommuniziert
mit einem IP-Multicast-Modul 40 und einem eindirektionalen
Nachrichten-Server 38.
Der Server 38 schlüsselt
die Nachricht auf, um zu bestimmen, ob ein Service-Bezeichner in dem
Datenstrom enthalten war. Wenn dem so ist, wird die Nachricht an
einen geeigneten Bearbeiter weitergeleitet, der vorgesehen ist,
Nachrichten mit bestimmten Service-Bezeichnern zu empfangen.
-
Ein
Laufwerk-Verwaltungs-Bearbeiter 44 kann mit einer Laufwerks-Steuerung 47 verbunden sein,
die wiederum mit einer Speicher-Vorrichtung 45 verbunden
ist, die beispielsweise ein Festplattenlaufwerk sein kann. Der Laufwerk-Verwaltungs-Bearbeiter 44 kann
als ein Nachrichten-Empfänger
durch den Client-Laufwerk-Verwaltungsserver 20 adressiert werden.
Der Laufwerk-Verwaltungs-Bearbeiter 44 kann Verfahren veranlassen,
die von der Steuerung 47 vollzogen werden, die wiederum
die Benutzung der Speichervorrichtung 45 steuern. Diese
Steuerung kann die Bestimmung enthalten, welche Information in der
Speichervorrichtung 45 gespeichert wird und wie diese Information
in der Speichervorrichtung 45 gespeichert wird.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung kann der Software-Herunterlade- und Aktualisierungs-Server 16 einen
bestimmten Nachrichten-Bezeichner bereitstellen, der dafür sorgt,
daß seine
Nachrichten, die durch einen Software-Herunterlade-Bearbeiter 48 empfangen
werden sollen, auf einen bestimmten Service-Bezeichner abgestimmt wird.
Auf ähnliche
Art und Weise können
Nachrichten von dem Sofort-Nachrichtensende-Server
einen Service-Bezeichner aufweisen, der dafür sorgt, daß dessen Nachrichten, die an
einen Sofort-Nachrichtensende-Bearbeiter 46 in
dem Client 12 weitergeleitet werden. Auf ähnliche
Art und Weise können
Nachrichten von anderen Servern 20 entsprechende Bezeichner
aufweisen, die dafür
sorgen, daß diese
zu speziellen Bearbeitern 44 auf dem Client 12 geschickt
werden.
-
Der
Server 10 kann einen Speicher 25 aufweisen, der
Software 70 zur Steuerung des Betriebs des Servers 22 speichert.
Auf ähnliche
Art und Weise kann der Server 38 auf dem Client 12 mit
einem Speicher 45 verbunden sein, der Software 50 speichert, die
den Betrieb des Servers 38 steuert. Die Server 22 und 38 können ebenfalls
Prozessor-basierte Systeme sein.
-
Zu 2 kommend,
empfängt
die Software 50 auf dem Client 12 anfangs die
Adresse des eindirektionalen Nachrichtensende-Servers und den Port des Server 10.
Der Client 12 kann ebenfalls als Client-Bezeichner zugeordnet
werden, wie in Block 52 angezeigt ist. Folglich kann ein
Internet-Protokoll-Multicast-System
eingerichtet werden, bei welchem jeder Client eine UMS-Adresse und
-Port hat, und ebenfalls einen eindeutigen Client-Bezeichner, zugeordnet
durch den Server 10. In einigen Ausführungsbeispielen kann der Server 10 dynamisch Adressen
und Ports, genauso wie Client-Bezeichner, anpassen, um eine Kommunikation
von bestimmten Nachrichten, Nachrichtengruppen oder Arten von Nachrichten
für bestimmte Clients
in einer dynamischen und rekonfigurierbaren Art und Weise zu ermöglichen.
-
Nachdem
er seine Adresse, seinen Port und Client-Bezeichner erhalten hat,
tritt der Client 12-Empfänger
einer Multicast-Gruppe
bei und horcht nach Nachrichten, die speziell an ihn adressiert
sind oder an irgendeine Gruppe, zu der der Client 12 gehört, wie
in Block 54 gezeigt ist.
-
Ein
Laufwerk-Verwaltungs-Bearbeiter 44 registriert seine Service-Bezeichner
bei dem UMS-Server 38, wie in Block 56 angezeigt
ist. Wenn der UMS-Server 38 ein Paket mit einer UMS-Nachricht empfängt, wie
in Block 58 gezeigt ist, bestimmt eine Überprüfung, ob der spezielle Client 12 der
beabsichtigte Empfänger
ist, wie in Raute 60 gezeigt ist. Wenn dem nicht so ist,
wird die Nachricht verworfen, wie in Block 62 gezeigt.
-
Allerdings überprüft der Server 38,
wenn der besondere Client 12 der beabsichtigte Empfänger ist, den
Service-Bezeichner der Nachricht und leitet die Nachricht an den
richtigen Bearbeiter 44, 46 oder 48 weiter,
wie in Block 64 gezeigt ist. Die Nachricht wird dann an
den entsprechenden Bearbeiter 44, 46 oder 48,
wie in Block 66 gezeigt ist, geliefert. In dem Bearbeiter
wird die Information geparsed und an einen geeigneten Prozeß zur Weiterverarbeitung
geleitet, wie in Block 68 angezeigt ist.
-
Zum
Beispiel sendet der Laufwerk-Verwaltungs-Bearbeiter 44,
wenn er adressiert ist, entsprechende Befehle an die Steuerung 47 zur
Weiterleitung an die Speicher-Vorrichtung 45. Abhängig von dem
Service-Bezeichner, der der Nachricht beigefügt ist, kann der Bearbeiter 44 entsprechend übersetzte Befehle
an der Steuerung 47 bereitstellen, wie beispielsweise Befehle
eine Partition zu erzeugen, eine Partition zu löschen oder eine Partition zu
verändern. Jeder
dieser Befehle kann durch einzelne Service-Bezeichner-Werte gegeben
sein, wie beispielsweise 0x03, 0x04 und 0x05. Der Laufwerk-Verwaltungs- Bearbeiter 44 kann
eine Nachricht mit einem Service-Bezeichner-Wert
in ein geeignetes Format für
die Steuerung 47 übersetzen,
basierend auf der Nachricht, die er von dem Client-Laufwerk-Verwaltungs-Server 20 erhalten
hat. Zum Beispiel kann der Bearbeiter 44 mit einer Nachricht,
die einen Service-Bezeichner-wert 0x03 enthält, einen Befehl an die Steuerung 47 ausstellen,
den Speicher 45 zu partitionieren.
-
Auf
der Serverseite, wie in 3 gezeigt, beginnt die Netzwerk-Software 70 durch
Zuordnen der Multicast-Adressen und -Ports für einen eindirektionalen Nachrichten-Service
an mehrere Clients 12, wie in Block 72 gezeigt.
Der Server kann ebenfalls Client-Bezeichner in einer dynamischen
und rekonfigurierbaren Art und Weise zurodnen. Die Adress-, Port← und Client-Bezeichner
werden dann an die Clients, wie in Block 74 gezeigt, übertragen.
-
Danach
kann der Disk-Verwaltungs-Server 20 eine Datenstruktur
erzeugen und diese Datenstruktur an den Server 22 übergeben,
wie in Block 76 gezeigt ist. Der Server 22 erzeugt
eine eindirektionale Nachricht und ordnet einen Client-Wert zu,
setzt eine Gruppen-Markierung und kopiert private Daten in die privaten
Bytes der Nachricht, wie in Block 78 gezeigt. Insbesondere
kann ein eindeutiger Client-Bezeichner zugeordnet werden. Der Client-Bezeichner
kann entweder ein bestimmter vorzugeordneter Client-Bezeichner sein
oder, als ein Beispiel, kann er auch Null sein, wenn mehrere Clients
das Ziel sind. Eine Gruppen-Markierung kann ein Boolscher Wert sein,
der spezifiziert, ob der Client-Bezeichner eine Gruppenmaske oder
ein bestimmter Bezeichner ist. Eine Gruppenmaske ist ein Bezeichner,
der einen Teilsatz der Clients 12 auf dem Netzwerk kennzeichnet.
Dieser Teilsatz kann mehrere Clients enthalten, aber weniger als
die Gesamtzahl der adressierbaren Clients.
-
Als
ein Beispiel für
einen Eindirektional-Nachrichten-Kopf kann die Nachricht eine Zahl von
Variablen aufweisen, einge schlossen eine group-mask, eine service_id,
eine version_id, eine message_id, und ein private_data_byte. Die group_mask
kann in einem Ausführungsbeispiel
der vorliegenden Erfindung 64 Bits enthalten, die service_id
kann acht Bits aufweisen, die version_id kann sechzehn Bits aufweisen,
die message_id kann acht Bits aufweisen und die private_date_byte
kann acht Bits aufweisen. Die group_mask kann ausschließlich ODER
mit dem Client-Bezeichner jedes eindeutigen Clients 12 sein,
um zu bestimmen, ob der Client 12 der beabsichtigte Empfänger ist.
Die version_id ist die Version des eindirektionalen Nachrichten-Protokolls
und kann anfangs auf Null gesetzt sein. Die service_id kann ein
Service-Bezeichner sein, der als zwei Beispiele 0x01 für eine Software und
Herunterlad← und
Aktualisierungsservice sein kann oder 0x02 für einen Sofort-Nachrichtensende-Service.
Vorteilhafter Weise überschreitet
die Nachrichtengröße nicht
1,024 Bytes, um eine mögliche
Datagramm-Fragmentierung auszuschließen. Der group_filter kann
in Verbindung mit dem client_id Feld benutzt werden, um die Größe der privaten
Datenbytes, die für
eine Anwendung benötigt
werden, zu begrenzen. Jeder der Kopfeinträge kann eine Ganzzahl ohne
Vorzeichen aufweisen, mit einem Bit mit höchstem Stellenwert an erster
Stelle (unsigned integer most significant bit first = uimsbf) Bezeichner gemäß der DVB-Beschreibung,
außer
für die private_data_byte,
die einen Bit-String (bit string, left bit first = bslbf) Bezeichner,
mit linkem Bit an erster Stelle, aufweisen.
-
Wie
in Block 80 gezeigt ist, wird dann die Nachricht an alle
Clients 12 in dem Netzwerk geschickt. Jeder Client bestimmt
dann, ob die Nachricht für
diesen Client bestimmt ist. Der Client 12 bestimmt, ob
er der spezielle beabsichtigte Empfänger ist, indem er bestimmt,
ob die Nachricht an den Client-Bezeichner des Clients 12 adressiert
ist. Zum Beispiel kann der Client 12 unter Benutzung eines AND-Logik-Operators
zwischen dem Nachrichten-Bezeichner und dem Client-Bezeichner bestimmen,
wenn der Client 12 innerhalb einer Gruppe von Clients ist,
die gemeinsam durch den Server 10 adressiert sind.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung können
unterschiedliche Gruppen von Benutzern gemeinsame Client-Bezeichner-Elemente empfangen.
Folglich können
mehrere Clients, deren Besitzer sich für einen zusätzlichen Service eingetragen
haben, einen gemeinsamen Code-Bereich in ihren Client-Bezeichnern
enthalten. Wenn eine Nachricht, die den gemeinsamen Code-Bereich
in dem Client-Bezeichner enthält,
empfangen wird, nimmt jeder dieser Clients die Nachricht an. Auf ähnliche
Art und Weise können
Clients in besonderen geographischen Bereichen, die besondere Interessen
haben oder auf andere Art und Weise identifizierbaren Clients können eindeutige
Vorspänne/Nachspänne oder
Bezeichner-Code-Bereiche gegeben werden. Der Code-Bereich kann logisch
mit einer group_mask ge-ANDed werden, um zu bestimmen, ob ein bestimmter
Client ein Ziel der Zielgruppe ist.
-
Der
Verwaltungs-Nachrichten-Kopf kann auch Felder aufweisen, um den
Laufwerl-Verwaltungs-Bearbeiter 44 zu adressieren, wie
beispielsweise ein volume_name_len Feld, das die Größe, Name,
Länge und
Bytes für
die vorgegebene Größe einer
Speichervorrichtung 45 in Form eines Festplattenlaufwerks
bereitstellt. In einem Ausführungsbeispiel
der vorliegenden Erfindung kann das Feld acht Bits lang sein und
einen bslbf-Bezeichner
aufweisen. Zusätzlich
kann ein volume_name_byte Feld die Datenbereich-Namen-Bytes angeben,
das den Namen der Größe des einzuhängenden
Datenbereiches angibt, in dem eine Partition erzeugt werden soll.
In einem Ausführungsbeispiel
der vorliegenden Erfindung kann dieses Feld acht Bits lang sein
und einen bslbf-Bezeichner aufweisen. Schlussendlich kann ein partition_size
Feld die Größe der Partition
in Bytes angeben, die erzeugt werden soll. Dieses Feld kann 32 Bits
groß sein
und den uimsbf-Bezeichner verwenden. Natürlich können zusätzliche Felder und zusätzliche
Service-Bezeichner verwendet werden, um zusätzliche Befehle in der Client-Speicher-Vorrichtung 45 bereitzustellen.
-
Auf
diese Art und Weise kann der Client-Laufwerk-Verwaltungs-Server 20 unter
der Leitung des Servers oder der Kopfstelle 10 steuern,
wie der Speicher 45 eingerichtet wird und auf einem Ziel-Client 12 oder
einer Ziel-Gruppe von Clients 12 benutzt wird. Jeder der
Clients 12 kann individuell adressiert werden, der gesamte
Satz von Clients kann adressiert werden oder jede beliebige Teilgruppe
von Clients kann kollektiv adressiert werden, so dass deren Speicher-Vorrichtungen 45 individuell oder
kollektiv verändert
werden können.
Folglich können
die Speicher-Vorrichtungen 45 von einem oder mehreren Clients
wahlweise von dem Server 10 gesteuert werden.
-
Während die
vorliegende Erfindung bezüglich
einer begrenzten Zahl von Ausführungsbeispielen
beschrieben wurde, kann der Fachmann verschiedene Abänderungen
und Variationen davon ableiten. Es ist beabsichtigt, daß die angehängten Ansprüche all
diese Änderungen
und Variationen abdecken, wie sie in den Schutzbereich der vorliegenden Erfindung
fallen.
-
Was
beansprucht wird, ist: