-
Die
Erfindung, auf die sich die vorliegende Anmeldung bezieht, betrifft
Verbesserungen beim Betrieb eines Servers, der als TFTP-(Trivial
File Transfer Protocol)-Multicast-Server bekannt ist, der in Verbindung
mit einem Netzwerk von Client-Vorrichtungen bereitgestellt wird.
Aufgabe des Servers ist es, Daten zu den Client-Vorrichtungen zu
senden und zu übertragen.
-
Die
Verwendung von TFTP-Servern ist relativ gut bekannt, und ein Bereich,
in dem sie eingesetzt werden, ist die Bereitstellung von Informationen
zu einem Kommunikationsnetzwerk, das eine Reihe von Client-Geräten in der
Form von Rundfunkdatenempfängern
beinhaltet. Diese Geräteform
wird zunehmend an Kundenorten bereitgestellt und beinhaltet ein
Mittel zum Empfangen von digitalen Daten, die von einer entfernten
Stelle gesendet werden, wie z.B. von einem Fernsehsender, und die über Kabel-,
Satelliten- oder terrestrische Sendesysteme geführt werden. Nach dem Empfang
decodieren die Rundfunkdatenempfänger
die Daten und verarbeiten sie, so dass Video-, Audio- und/oder Textdaten
zur Anzeige erzeugt werden können,
typischerweise über
einen Fernsehapparat. Das Rundfunkdatenempfangsgerät kann an
den Fernseher angeschlossen oder als Bestandteil davon in diesen
eingebaut werden. Jeder Rundfunkdatenempfänger ist mit weiteren Kommunikationsmitteln
versehen, die die Übertragung
von Daten zu und von dem Empfänger
ermöglichen,
und können
als Teil einer Netzwerkkommunikation mit dem TFTP-Server bereitgestellt
werden, der aktualisierte Bilder oder Informationsdaten in Intervallen
zu allen Empfängern
auf dem Netzwerk senden kann.
-
Mit
diesem Systemtyp gibt es jedoch die folgenden bekannten Probleme.
Ein Problem ist, dass, wenn mehrere Empfänger, nachfolgend als Clients bezeichnet,
zum Empfangen der Daten vom TFTP-Server benötigt werden, einer der Clients
vom Server als Master-Client identifiziert wird. Die Geschwindigkeit
der Datenübertragung
wird dann von der Geschwindigkeit bestimmt, mit der der Master-Client
Daten anfordert, empfängt
und deren Empfang bestätigt,
und die anderen Clients im Netzwerk empfangen dann die Daten gemäß der Übertragungsgeschwindigkeit
zwischen dem Master-Client und dem Server. Das bedeutet, wenn der
Master-Client die Daten aus irgendeinem Grund langsam anfordert,
dann werden die anderen Clients durch die geringe Übertragungsgeschwindigkeit
im Hinblick auf die Zeit beeinträchtigt,
die für
die Übertragung
der Daten zu den Client-Geräten
benötigt
wird.
-
Die
Dokumente EMBERSON A: RFC 2090 TFTP Multicast Option – IETF Februar
1997 XPOO 2249823 und NARAYAN AP: Reliable transfer of data in a
local area network with multicast distribution. LOCAL COMPUTER NETWORKS
1990, PROCEEDINGS 15TH CONFERENCE ON MINNEAPOLIS, XP01002012
ISBN: 0-8186-2109-5
gehen dieses Problem beide dadurch an, dass vom Master-Client empfangene
Bestätigungen
als Überwachungsfunktion
und Anzeige für
die Leistung des Master-Client dienen. Diese Bestätigungen
werden jedoch nicht im Hinblick auf die Zeit zum Empfangen derselben,
sondern im Hinblick auf eine Anzeige eines Fehlergrades beim Empfangen
der übertragenen
Datenpakete überwacht,
um den erfolgreichen oder erfolglosen Empfang der übertragenen
Daten durch den Master-Client
anzuzeigen.
-
Ein
weiteres Problem ist, wenn eine Client-Gerät, das Teil des Netzwerks ist,
inaktiviert und dann neu gestartet wird; so besteht z.B. dann, wenn der
Client, der nicht der Master-Client ist, bei der Übertragung
von Daten vom TFTP-Server neu gebootet oder unterbrochen wird oder
crasht, die Möglichkeit,
dass es eine Zeitperiode gibt, während
der der Server versucht, den genannten Client darüber zu informieren,
dass er jetzt der Master-Client ist. Der Server kann zwar eine vorbestimmte
Zeitabschaltperiode haben, nachdem er nicht mehr versucht, den Client
zum Master-Client zu machen, aber es entsteht unbedingt eine Verzögerung,
während
der keiner der an der Datenübertragung
beteiligten Clients weitermachen kann.
-
Ziel
der vorliegenden Erfindung ist es, Verbesserungen am TFTP-Netz und
dem Betrieb desselben bereitzustellen, die nach Möglichkeit
eine effizientere und schnellere Datenübertragung erlauben und auch
versuchen, unnötige
Verzögerungen
bei der Übertragung
von Daten zu vermeiden.
-
In
einem ersten Aspekt der Erfindung wird ein Verfahren zum Steuern
eines Multicast-Datenübertragungsnetzwerks
bereitgestellt, das einen TFTP-Server umfasst, der mit einer Reihe
von am Netzwerk angeschlossenen Client-Geräten verbunden ist, und wenn
Daten vom Server zu den Client-Geräten übertragen werden sollen, dann
beinhaltet das Verfahren die folgenden Schritte: Designieren eines
der Clients als Master-Client, so dass die Datenübertragungsrate anhand der
Geschwindigkeit bestimmt wird, mit der der Master-Client Daten anfordert,
empfängt
und deren Empfang bestätigt,
dadurch gekennzeichnet, dass die Datenübertragungsrate zum gewählten Master-Client überwacht
und mit einer vorbestimmten Datenübertragungsrate verglichen
wird, und wenn anhand des Vergleichs erkannt wird, dass die überwachte
Datenübertragungsrate geringer
ist als die vorbestimmte Datenübertragungsrate,
der TFTP-Server ein anderes verfügbares
Client-Gerät
als Master-Client wählt.
-
Durch
Wählen
des Clients als Master-Client, der die höhere Übertragungsrate gezeigt hat,
kann der Server gewährleisten,
dass die Daten mit der höchstmöglichen
Rate zu allen Clients in dem Netzwerk fließen.
-
In
einer Ausgestaltung wird die vorbestimmte Übertragungsrate als optimale
Zeit für
die Übertragung
einer bestimmten Menge Daten voreingestellt und der Master-Client
wird für
eine bestimmte Zeitperiode überwacht.
-
In
einer alternativen Ausgestaltung wird die Übertragungsrate für jeden
der Clients, wenn er als Master-Client gewählt ist, über eine Zeitperiode aufgezeichnet,
und von den Übertragungsraten
für jeden
Client wird eine Datenbank konstruiert, aus der der Server bei jeder
Gelegenheit versucht, den Client mit der höchsten Übertragungsrate als Master-Client zu
wählen,
in aufsteigender Reihenfolge, bis ein verfügbarer Client gefunden ist.
Diese Datenbank kann gewöhnlich
bei jeder Gelegenheit aktualisiert werden, wenn ein Client als Master-Client
gewählt
ist.
-
Spezielle
Ausgestaltungen der Erfindung werden nun mit Bezug auf die Begleitzeichnung, 1,
beschrieben, die auf schematische Weise eine Ausgestaltung eines
Server- und Client-Netzes illustriert, auf die sich die vorliegende
Erfindung bezieht. Obwohl nachfolgend als „Clients" bezeichnet, so hat die Erfindung besondere
Anwendungszwecke in Bezug auf ein Netzwerk, das einen Server umfasst, der
das Senden von Daten zum Aktualisieren, Ändern oder anderweitigen Abändern des
Betriebs einer Reihe von Clients in Form von Rundfunkdatenempfängern zulässt, die
mit einem Netzwerk und somit wiederum mit dem Server verbunden sind.
Typischerweise befindet sich jeder Rundfunkdatenempfänger an
einem anderen Ort eines Fernsehsystemabonnenten und der Server wird
vom Service-Provider gesteuert und betrieben und die Daten werden über eine
Kommunikationsverbindung übertragen,
mit der jeder der Rundfunkdatenempfänger verbunden ist.
-
In
der ersten Ausgestaltung ist das für das System verwendete TFTP-Serverprotokoll (RFC1350,
RFC2090) ein Gleichschrittprotokoll. Die vom Server gesendeten Daten
werden mit einer Rate gesendet, die so schnell wie der Client ist,
der als Master-Client gewählt
wurde, der den Empfang der Daten bestätigt und dann die Übertragung
des nächsten
Datenblocks oder -pakets anfordert. Der Master-Client muss eingehende
Datenblöcke
verarbeiten und seine Anforderung des nächsten Blocks so schnell wie
möglich
senden, um die Datenübertragungsgeschwindigkeit
hoch zu halten. Die übrigen Clients
dienen als Slaves und akzeptieren einfach über das Netzwerk übertragene
Daten bei ihrer Ankunft, ohne die Notwendigkeit, weitere Daten anzufordern.
Wenn also der Master-Client in irgendeinem Teil des Datenübertragungsvorgangs
langsam ist oder das Netzwerk Pakete verliert und der Server Datenblöcke neu
senden muss, dann werden auch alle anderen Clients von der Verlangsamung
der Übertragung
betroffen.
-
Gemäß der Erfindung,
wenn der Server die Datenübertragungsrate über eine
sinnvolle Abtastperiode wie 5 Sekunden überwacht und feststellt, entweder
durch Konfiguration oder Kenntnis der Netzwerktopologie, dass die
Rate geringer ist als eine vorbestimmte Datenübertragungsrate, dann tritt
der Master-Client zurück
und wählt
einen neuen Client als Master-Client.
-
So
wird der neu gewählte
Master-Client anhand der vorbestimmten Datenübertragungsrate geprüft, und
wenn er akzeptabel ist, d.h. wenn er Datenpakete schneller empfangen
und beantworten kann, dann ist die Datenübertragungsgeschwindigkeit
zu allen Clients im Netz höher.
-
Es
kann auch der Fall sein, dass der vorherige Master-Client, der zu
langsam war, jetzt die Daten mit derselben Geschwindigkeit empfangen
kann wie die anderen Clients, da die vorherigen Probleme der mangelnden
Geschwindigkeit durch seine Unfähigkeit
verursacht wurden, die Bestätigungen
schnell genug zu senden und/oder neue Daten schnell genug anzufordern.
Da er dies nicht mehr zu tun braucht, weil er nicht mehr der Master-Client
ist, kann der tatsächliche
Empfang der Daten mit der höheren Geschwindigkeit
erfolgen.
-
Es
folgt nun ein spezielles Beispiel in Bezug auf die Begleitzeichnung.
Ein TFTP-Server
s1 ist mit einem Netzwerk von Clients r1–r10 verbunden, z.B. mit Rundfunkdatenempfängern, wobei
sich jeder Empfänger
an einem anderen Ort befindet und über eine Kommunikationsverbindung
wie z.B. eine Telekommunikationslink mit dem Server verbunden ist, der
sich an einem abgesetzten Ort befindet.
-
Der
Server s1 ist so konfiguriert, dass er einen der Clients als Master-Client
wählt,
wobei der Master-Client mit dem Server kommuniziert, um den Empfang
von Daten zu bestätigen
und die nächste Portion
Daten anzufordern. Die übrigen
Clients dienen dann als Slaves zum Master-Client und empfangen die
Daten mit der Geschwindigkeit, die durch die Übertragungsgeschwindigkeit
zwischen dem Master-Client und dem Server bestimmt wird.
-
Der
Server ist so eingestellt, dass er die Datenübertragungsrate mit dem Master-Client
in bestimmten Zeitperioden von beispielsweise 5 Sekunden prüft und die
Ist-Datenübertragungsrate
mit einer benötigten
vorbestimmten Rate von 50 Kilobyte pro Sekunde vergleicht.
-
Gemäß dieser
Ausgestaltung laden die zehn Rundfunkdatenempfänger r1–r10 für ein OS-(Operating System)-Bild über das
Netzwerk mittels des Multicast-TFTP-Servers gleichzeitig Daten herunter.
In der Praxis unterstützt
der Client r1 eine Maschine mit geringerer Datenübertragungsrate als die Clients r2–r10. Zunächst wählt jedoch
der Server den Client r1 als Master-Client, und nach Beginn wird
eine Datenübertragungsrate
von nur 40 Kilobyte pro Sekunde erzielt. Nach 5 Sekunden prüft der Server
die Datenübertragungsrate,
vergleicht sie mit der vorbestimmten Übertragungsrate von 50 Kilobyte
pro Sekunde und stellt fest, dass der Client r1 zu langsam ist.
Er stoppt dann die Fortsetzung von r1 als Master-Client und wählt vorzugsweise
Client r2. Der Client r2 kann eine Datengeschwindigkeit von 60 Kilobyte
pro Sekunde aufrechterhalten, was die vorbestimmte Datenübertragungsgeschwindigkeit übersteigt,
und daher fährt
r2 als Master-Client fort, und danach empfangen alle anderen Clients
Daten mit der höheren
Rate, und dies kann den Client r1 einschließen.
-
In
einer Ausgestaltung kann der Server mit einem Speicher versehen
werden, wobei dann, wenn ein als Master-Client gewählter Client
die vorbestimmte Datenübertragungsrate
nicht erfüllen
kann, entweder zum ersten Mal oder nach einer Reihe von Versuchen,
die Identität
dieses Clients im Speicher festgehalten wird, und danach versucht
der Server nicht mehr, diesen Client als Master-Client zu wählen, bis
er aus dem Speicher beseitigt wird, z.B. wenn er repariert ist.
Außerdem,
wenn gefunden wird, dass ein bestimmter Anteil von Client-Identitäten im Laufe der
Zeit im Speicher vorhanden ist, dann bedeutet dies, dass das Netzwerk
evtl. ausfällt,
da nicht mehr genügend
Clients zur Verfügung
stehen, die die Kriterien der vorbestimmten Datenübertragungsrate
erfüllen,
und daher sind möglicherweise
Reparaturarbeiten am Netzwerk erforderlich.
-
In
einer weiteren Ausgestaltung wird die Übertragungsrate für jeden
der als Master-Client
gewählten
Clients im Server-Speicher aufgezeichnet und gespeichert, und wenn
die Notwendigkeit entsteht, einen Master-Client zu wählen, dann
versucht der Server, den Client als Master-Client zu wählen, der
gemäß den im
Speicher befindlichen Daten die schnellste Übertragungsrate hat. Typischerweise versucht
der Server dann, wenn der erste Client, den der Server als Master-Client
zu benutzen versucht hat, nicht zur Verfügung steht, einen weiteren
Client aus der Datenbank zu wählen
usw., in aufsteigender Reihenfolge im Sinne der Client-Datenübertragungsraten.
Typischerweise wird nach dem Wählen
eines Clients die Datenübertragungsrate
für die
gewählte Datenübertragung
durch diesen Client in die Datenbank eingegeben. In einer Ausgestaltung
kann die benutzte Datenübertragungsrate
die letzte Datenübertragungsrate
sein, oder alternativ kann eine durchschnittliche Übertragungsrate
verwendet werden.
-
Es
wird nun ein Beispiel für
eine weitere Verbesserung der Erfindung beschrieben. In diesem Beispiel
sendet der TFTP-Server s1 ein TFTP-Datagram zu einem bestimmten
Client (z.B. um ihn zu informieren, dass er als Master-Client gewählt wurde).
Wenn die TFTP-Software für
diesen Client nicht mehr läuft, dann
sendet die Netzwerk-Software auf dem Client eine ICMP Port Unreachable
Meldung zurück
zum Server.
-
Der
Netzwerkspeicher auf dem Server weiß jedoch gewöhnlich nicht,
zu welchem Socket die Meldung zu senden ist, und daher weiß die Server-Software
nicht, dass der Fehler aufgetreten ist.
-
Gemäß der Erfindung überwacht
der Server jedoch die von den Clients empfangenen ICMP-Meldungen
und verarbeitet sie, um zu identifizieren, dass die TFTP-Software
eines Clients ausgefallen ist und dass es keinen Sinn hat, weiter
zu versuchen, diesen Client als Master-Client zu wählen. Daher
ignoriert der Server diesen Client und wählt einen anderen Client ohne
zu starke Verzögerung
für die
Datenübertragung.
Dies kann so lange fortgesetzt werden, bis eine Meldung vom Client
empfangen wurde, die anzeigt, dass er repariert wurde und jetzt
wieder funktionsfähig
ist.
-
Ein
besonderes Beispiel hierfür
wird jetzt mit Bezug auf das Begleitschema mit den 10 Rundfunkdatenempfängern r1–r10 beschrieben,
die mit dem TFTP-Server s1 verbunden sind. In diesem Fall wurde
r2 als Master-Client gewählt.
Während
der Datenübertragung
versagt jedoch der TFTP-Client r3, bevor der Client r2 die Datenübertragung
beendet hat.
-
Wenn
der Client r2 die Übertragung
beendet hat, dann erkennt der TFTP-Server, dass r3 die Daten nicht
empfangen hat, und versucht, Client r3 als Master-Client zu wählen, aber
der Server empfängt eine
ICMP Port Unreachable Meldung für
Client r3. Wenn es also das nächste
Mal nötig
wird, einen Master-Client zu wählen,
dann ignoriert der Server r3 und geht sofort weiter zum Wählen von
Client r4. Herkömmlicherweise
hätte der
Server einige Sekunden lang verzögert
und gewartet, um dem Client r3 eine Chance zu antworten zu geben,
wodurch die Übertragung
von Daten für
alle anderen Clients verzögert worden
wäre.
-
Somit
stellt die vorliegende Erfindung ein System für die Steuerung des Netzwerks
bereit, das die Datenübertragungsrate
im gesamten Netz verbessert und unnnötige Verzögerungen überwindet.