-
Die
Erfindung bezieht sich auf das technische Gebiet der Datenkommunikation
in einem Netzwerk verteilter Stationen, insbesondere ein Heimnetzwerk.
-
Hintergrund der Erfindung
-
Durch
ein Heimnetzwerk werden die verschiedensten Geräte miteinander verbunden. Solche Geräte können aus
dem Bereich der Unterhaltungselektronik stammen, wie z.B. Fernsehgerät, Videorecorder,
DVD-Spieler, Satellitenempfänger,
CD-Spieler, MD-Spieler, Verstärker,
Radio, Camcorder usw. In diesem Zusammenhang wird auch ein Personal-Computer
erwähnt,
der heute ebenfalls als Gerät der
Unterhaltungselektronik angesehen werden kann.
-
Für die Vernetzung
von Geräten
aus dem Unterhaltungselektronik-Bereich wurden von der Industrie
entsprechende Kommunikationssysteme entwickelt. Gedacht ist dabei
in erster Linie an die drahtgebundene Vernetzung der Geräte mit Hilfe
des so genannten IEEE-1394-Bussystems, mit dem es möglich ist,
Daten mit sehr hoher Datenrate zwischen den einzelnen Netzwerkstationen
auszutauschen. Die bislang verbreiteten IEEE-1394-Schnittstellen
unterstützen
in der Regel die spezifizierten Datenübertragungsgeschwindigkeiten
S100, S200 und S400. Dabei bedeutet S100 eine Datenübertragungsrate
von ca. 100 Mbit/s. 5200 bedeutet entsprechend ca. 200 Mbit/s und
5400 dann ca. 400 Mbit/s. Solch hohe Datenraten fallen insbesondere
bei Unterhaltungselektronikgeräten
an. Dies liegt daran, dass die typische Anwendung des Datenaustausches
zwischen Unterhaltungselektronikgeräten darin besteht, dass bei
einer Video- oder Audioquelle ein Titel abgespielt wird, entweder
Videofilm oder Musikstück,
und der zugehörige
Datenstrom an ein weiteres Unterhaltungselektronikgerät bzw. mehrere
weitere Unterhaltungselektronikgeräte übertragen wird. Für diesen
Anwendungsfall wird zwischen den betreffenden Geräten, die
miteinander Daten austauschen, eine Datenverbindung eingerichtet. Über diese
Datenverbindung werden dann regelmäßig Datenpakete übertragen. Diese
Form der Datenübertragung
ist in dem IEEE-1394-Standard als isochrone Datenübertragung
bezeichnet, bei der regelmäßig, in
bestimmten Abständen,
Datenpakete von der Datenquelle zu der Datensenke bzw. den Datensenken übertragen
werden.
-
Darüber hinaus
findet über
den IEEE-1394-Bus auch asynchrone Datenübertragung statt. Hier werden
Datenpakete quasi nach Bedarf übertragen.
Wie viele solcher asynchronen Datenpakete über den Bus geschickt werden,
richtet sich nach dem anfallenden Datenaufkommen. Asynchrone Datenübertragung
wird vorwiegend für
die Erkennung und Steuerung eines Gerätes im Netzwerk seitens eines
anderen im Netzwerk vorhandenen Gerätes benutzt.
-
In
dem IEEE-1394-Standard sind lediglich die unteren Schichten des
ISO/OSI-Referenzmodells der Datenkommunikation spezifiziert. Dies
sind die Bitübertragungsschicht
(Physical Layer), Datensicherungsschicht (Data Link Layer) und eine
so genannte Transaktionsschicht (Transaction Layer), die aus Teilen
der Vermittlungsschicht (Network Layer) sowie Transportschicht (Transport
Layer) besteht. In der Bitübertragungsschicht
ist genau festgelegt, mit welchem Übertragungsprotokoll isochrone
und asynchrone Datenpakete über
den Bus zu übertragen sind.
Zwischen den zu übertragenden
Datenpaketen bei isochronem wie auch asynchronem Datenverkehr sind
jeweils gemäß den Übertragungsprotokollen
bestimmte Totzeiten auf dem Bus einzuhalten. Das sind Wartezeiten,
während
derer keine Netzwerkteilnehmerstation auf den Bus zugreifen darf.
Solche Wartezeiten sind z.B. auch vor dem Start eines Datenübertragungszyklus
spezifiziert, was später
noch genauer erläutert
wird.
-
Der
IEEE-1394-Standard enthält
hinsichtlich der Topologie des IEEE-1394-Netzwerkes nur wenige Einschränkungen.
Die zugelassene Bustopologie entspricht einer Baumstruktur. Je nach
Anwendungsfall kann die Baumstruktur aber unterschiedlich ausfallen,
das Netzwerk kann diesbezüglich
sehr variabel gestaltet sein. Um diesen Verhältnissen Rechnung zu tragen,
wird in dem IEEE-1394-Standard eine interne Variable vorgesehen,
deren Wert in die Berechnung einiger der oben erwähnten wichtigen Wartezeiten
des IEEE-1394-Standards
eingeht. Diese interne Variable wird im IEEE-1394-Standard als „Gap Count" bezeichnet. Durch eine Veränderung des
Gap-Count-Wertes können
die Wartezeiten an die jeweilige konkrete Bustopologie angepasst
werden, um nicht durch unnötig
lange Wartezeiten Bandbreite am IEEE-1394-Bus zu verschenken. Die interne
Variable für
den Gap-Count-Wert
wird dabei in dem Physical-Layer-Chip jedes IEEE-1394-Knotens verwaltet. Wenn alle Netzwerkstationen
am lokalen IEEE-1394-Bus gerecht und konfliktfrei auf den Bus zugreifen
können
sollen, muss der Gap-Count-Wert in allen 1394-Schnittstellen identisch
eingestellt sein. Darüber
wacht eine Instanz im Netzwerk, der so genannte „Bus Manager" oder bei Fehlen
des Bus Manager der „Isochronous
Resource Manager".
-
An
dem IEEE-1394-Standard, der zuerst in der Version IEEE 1394-1995
verabschiedet wurde, wurde in der Zwischenzeit weitergearbeitet
und Nachfolgeversionen sind veröffentlicht.
Dazu zählt die
Version IEEE 1394a und seit neuestem auch die Version IEEE 1394b.
Während
die Version IEEE 1394a Verbesserungen hinsichtlich der Beschleunigung
der Arbitrierungsphase sowie ein verbessertes Bus-Rücksetzverhalten und eine verbesserte Schnittstelle
für die
Verbindung von Bitübertragungsschicht
und Datensicherungsschicht spezifiziert, ist in der Version IEEE
1394b weitgehend eine technologische Erweiterung der Datenübertragung
hin zu höheren
Datentransferraten bis zu 1,6 Gbit/s und eine größere Vielfalt der verwendbaren Übertragungsmedien,
wie Glasfaser, Plastikfaser, Kupfer-UTP und -STP, vorgesehen.
-
Unter
bestimmten Bedingungen (z.B. durch Veränderungen des Gap-Count-Wertes
in einem lokalen Knoten oder durch das unterschiedliche Bus-Rücksetzverhalten
von IEEE-1394-1995- und IEEE-1394a-konformen
Knoten) kann es zu inkonsistenten Gap-Count-Werten am lokalen Bus
kommen. In dem IEEE-1394a-Standard
ist deshalb vorgesehen, dass der Bus Manager bzw. der Isochronous Resource
Manager verpflichtet ist, die Konsistenz aller Gap-Count-Werte am
lokalen Bus nach jedem Bus-Rücksetzvorgang
neu zu prüfen.
Ebenfalls ist darin vorgesehen, dass falls inkonsistente Werte festgestellt
werden, der Bus Manager bzw. Isochronous Resource Manager einen
weiteren Bus-Rücksetzvorgang
auslösen
muss. Inkonsistente Werte liegen dann vor, wenn in zwei Netzwerkknoten
verschiedene Werte für
die interne Variable des Gap Count eingestellt sind. Schon in dem IEEE-1394-1995-Standard ist vorgesehen,
dass jeder IEEE-1394-Knoten den Gap-Count-Wert bei zwei aufeinander
folgenden Bus-Rücksetzvorgängen ohne
zwischenzeitliche Übertragung
eines so genannten Physical-Layer-Konfigurations-Paketes (PHY Configuration
Packet) zur Gap-Count-Wert-Veränderung
auf den Maximalwert von 63 setzen muss. Diese Funktionalität ist für den Physical-Layer-Baustein
vorgeschrieben. Damit sollte durch die im IEEE-1394a-Standard festgelegte Vorgehensweise
Konsistenz der Gap-Count-Werte mit dem Wert 63 in allen Netzwerkknoten
nach zwei aufeinander folgenden Bus-Rücksetzvorgängen gewährleistet
sein.
-
Erfindung
-
Die
Erfinder haben allerdings beobachten können, dass es durchaus IEEE-1394-Knoten
gibt, die aufgrund fehlerhafter Ansteuerung des Physical-Layer-Bausteins
durch die lokale IEEE-1394-Software den Gap-Count-Wert eben nicht
nach zwei aufeinander folgenden Bus-Rücksetzoperationen ohne zwischenzeitliches
Physical-Layer-Konfigurations-Paket auf den Standardwert 63 gesetzt
werden. Durch dieses nicht standardkonforme Verhalten kann das Problem
entstehen, dass der Bus Manager bzw. Isochronous Resource Manager
wegen Feststellung inkonsistenter Werte für den Gap Count fortwährend einen
Bus-Rücksetzvorgang
auslöst
und damit das Netzwerk blockiert, im schlimmsten Fall bis zum Eingriff
durch den Benutzer. Die Manager-Instanz stellt inkonsistente Gap-Count-Werte
fest, löst
einen Bus-Rücksetzvorgang
aus, um die Gap-Count-Werte zu korrigieren, stellt weiterhin Inkonsistenz
fest, löst
erneut einen Bus-Rücksetzvorgang
aus und so weiter.
-
Um
dieses problematische Verhalten der Management-Instanz zu verhindern,
wird gemäß der Erfindung
vorgesehen, dass die Management-Instanz nach Feststellung inkonsistenter
Werte für
den Gap-Count nach einem Bus-Rücksetzvorgang,
entweder sofort oder zumindest nach einer angemessenen Anzahl aufeinanderfolgender
Bus-Rücksetzvorgänge mit
Erkennung inkonsistenter Gap-Count-Werte, vor dem Auslösen des
neuen Bus-Rücksetzvorganges
ein so genanntes Physical-Layer-Konfigurations-Paket
sendet. In diesem Physical-Layer-Konfigurations-Paket
sendet die Management-Instanz dann den der festgestellten Bustopologie
entsprechenden Gap-Count-Wert,
der kleiner als 63 sein kann. Wenn aber die Management-Instanz nicht
dazu in der Lage war, einen optimierten Gap-Count-Wert entsprechend
der Bustopologie zu bestimmen, so sollte sie zur Sicherheit den
Maximalwert von 63 in dem Physical-Layer-Konfigurations-Paket senden.
Durch dieses Physical-Layer-Konfigurations-Paket werden die Gap-Count-Werte in allen
Netzwerkknoten neu eingestellt. Die Physical-Layer-Konfigurations-Pakete
zur Gap-Count-Veränderung
werden nämlich
direkt vom Physical-Layer-Baustein
eines jeden Netzwerkknotens ausgewertet und somit kann es hier nicht
durch fehlerhafte, höherschichtige
IEEE-1394-Software
zu Fehleinstellungen kommen. Die Konsistenz der Gap-Count-Werte kann
auf diese Weise erzwungen werden, ohne dass die eventuell fehlerhafte
IEEE-1394-Software eines Netzwerkknotens darauf Einfluss hat.
-
Diese
Maßnahme
ist in allgemeiner Form in den unabhängigen Ansprüchen 1 und
8 beansprucht.
-
In
den abhängigen
Ansprüchen
sind weitere Konkretisierungen und Verbesserungen angegeben.
-
Zeichnungen
-
Die
Erfindung wird nachfolgend anhand von Zeichnungen näher erläutert. Diese
zeigen in:
-
1 die Struktur eines beispielhaften IEEE-1394-Netzwerkes;
-
2 das Übertragungsprotokoll für asynchrone
Datenübertragung
gemäß einem
so genannten „Fairness
Interval" gemäß IEEE-1394-1995-Standard;
-
3 die so genannte Protokoll-Architektur eines
IEEE-1394-Knotens
gemäß IEEE-1394-1995-Standard;
-
4 das Format eines Physical-Layer-Konfigurations-Paketes gemäß IEEE-1394-Standard;
-
5 ein erstes Beispiel eines
Ablaufdiagramms für
ein Programm zur Abarbeitung in der Bus-Management-Instanz zur Ausführung der
Erfindung;
-
6 ein zweites Beispiel eines
Ablaufdiagramms für
ein Programm zur Abarbeitung in der Bus-Management-Instanz zur Ausführung der
Erfindung.
-
Ausführungsbeispiele der Erfindung
-
1 zeigt ein beispielhaftes IEEE-1394-Netzwerk
mit fünf
Netzwerkteilnehmerstationen. Diese sind in einer Baumstruktur zusammengeschaltet.
Dabei wird jeweils ein Knoten mit einem weiteren über ein
separates IEEE-1394-Netzwerkkabel
miteinander verbunden. Die Anzahl der Kabelanschlüsse (Ports)
kann von Knoten zu Knoten variieren. Im gezeigten Beispiel ist die
Station 13 mit einem so genannten 3-Port-Physical-Layer-Baustein ausgerüstet, die
beiden Netzwerkknoten 12 und 10 mit jeweils einem
2-Port-Physical-Layer-Baustein, die
Station 11 mit einem 7-Port-Physical-Layer-Baustein und die Station 14 mit
einem 1-Port-Physical-Layer-Baustein.
-
Die
genauen Einzelheiten für
die Businitialisierungsphase, die Baumstrukturidentifizierungsphase
und die Selbstidentifizierungsphase sind aus dem IEEE-1394-Standard
bekannt. Diesbezüglich
wird deshalb ausdrücklich
auf den Standard IEEE 1394-1995, Standard for a high performance
serial bus, aus dem Jahr 1995 Bezug genommen.
-
In
dem jeweiligen IEEE-1394-Netzwerk wird ein Netzwerkknoten als so
genannter „Root" bestimmt. Dieser übernimmt
bestimmte Steuerungsfunktionen im Netzwerk, was nachfolgend noch
genauer erläutert
wird. In 1 ist es der
Knoten mit der Bezugszahl 10, der diese Funktion übernimmt.
-
2 zeigt die asynchrone Datenübertragung
gemäß einem
im Standard vorgesehenen, gerechten Übertragungsprotokoll, welches
im Standard als so genanntes „Fairness
Interval" bezeichnet
ist. Nach diesem Übertragungsprotokoll
ist sichergestellt, dass jeder Netzwerkknoten ein asynchrones Datenpaket
innerhalb des Intervalls übertragen
kann. Die Reihenfolge der Übertragung
der Datenpakete bestimmt sich nach einem Arbitrierungsverfahren, bei
dem jeweils der Netzwerkknoten mit der höchsten Prioritätsnummer
gewinnt. In 2 ist gezeigt,
dass am Anfang einer Datenpaketübertragung
jeweils eine mit „arb" bezeichnete Arbitrierungsphase
vorgelagert ist. Darin wird ermittelt, welcher Netzwerkknoten sein Datenpaket
zuerst senden darf. Nachdem ein Netzwerkknoten höherer Priorität das Datenpaket übertragen
hat, wird er bei der nächsten
Arbitrierungsphase innerhalb des begonnenen Fairness Interval nicht wieder
teilnehmen, so dass dann der Netzwerkknoten mit der nächst niedrigeren
Priorität
die Arbitrierung gewinnt. Wie in
-
2 gezeigt, wird jedes übertragende
Datenpaket mit Ausnahme von so genannten „Broadcast Packets" von dem Empfänger auch
bestätigt. Die
Bestätigungsbotschaft
ist mit „ack" bezeichnet. Nach
jeder Bestätigungsbotschaft
bzw. dem Ende eines Broadcast Packet ist gemäß dem Übertragungsprokotoll vor der
nächsten
Arbitrierungsphase eine Wartezeit von allen Netzwerkteilnehmerstationen einzuhalten.
Diese ist in 2 als „subaction
gap" bezeichnet.
Nachdem jede Netzwerkstation, die ein asynchrones Datenpaket übertragen
wollte, dieses auch getan hat, müssen
alle Netzwerkteilnehmerstationen eine weitere Wartezeit einhalten,
bevor ein nächstes
Fairness Interval beginnt. Diese zweite Wartezeit ist in 2 als „arbitration reset gap" bezeichnet. Genauere
Einzelheiten zum Arbitrierungsverfahren, zur asynchronen Datenübertragung
und dem Aufbau der Datenpakete können
dem IEEE-1394-Standard entnommen werden. Hinsichtlich der diesbezüglichen
Offenbarung der Erfindung wird erneut ausdrücklich auf den IEEE-1394-Standard
Bezug genommen.
-
Der
Wert für
den Gap-Count-Parameter des IEEE-1394-Busses geht in die Berechnung
einiger der verschiedenen Wartezeiten, die in dem IEEE-1394-Standard
definiert sind, ein. Im IEEE-1394-Standard sind die folgenden Wartezeiten definiert,
die vom Gap-Count-Wert abhängig
sind:
- a) Subaction Gap – diese Wartezeit wird jeweils zwischen
den Übertragungen
von asynchronen Datenpaketen innerhalb des Fairness Interval abgewartet,
bevor ein Netzwerkknoten feststellen darf, dass er arbitrieren darf.
- b) Arbitration Delay – diese
Wartezeit wird nach Erkennung einer Subaction Gap vom Netzwerkknoten,
der arbitrieren soll, vor der eigentlichen Arbitrierung abgewartet.
- c) Arbitration Reset Gap – diese
Wartezeit wird abgewartet, bevor ein asynchroner Datentransfer nach
Ende der Datenübertragung
in einem Fairness Interval im neuen Fairness Interval startet.
-
Die
zugehörigen
Formeln für
die Berechnung der Wartezeiten sind in dem IEEE-1394-Standard aufgeführt und
werden deshalb hier nicht näher
erläutert.
-
Der
variable Parameter Gap Count gemäß IEEE-1394-Standard
stellt sicher, dass auf dem IEEE-1394-Bus keine Pakete untereinander
oder mit Arbitrierungssignalen kollidieren und dass jeweils alle
Knoten im Netzwerk eine Chance haben auf den Bus zuzugreifen und
nicht etwa durch verschiedene Signallaufzeiten im Netzwerk daran
gehindert werden. Das wäre
der Fall, wenn die Signallaufzeit von einem Knoten zu dem am weitesten
entfernten Knoten größer ist
als die Wartezeit Arbitration Reset Gap minus die Wartezeit Subaction
Gap, denn darin würde
der Knoten, der den Bus nach der Datenpaketübertragung freigegeben hat,
die Wartezeit gemäß Arbitration
Reset Gap früher
erkennen, bevor der am weitesten entfernte Knoten überhaupt
die Wartezeit der Subaction Gap erkannt hätte.
-
Als
größtmöglicher
Gap-Count-Wert ist der Wert 63 im Standard vorgegeben. Je nach Anzahl der
im Netzwerk überhaupt
vorhandenen Netzwerkstationen und der konkreten Netzwerkstruktur
kann dieser Wert aber reduziert werden um nicht unnötig Bandbreite
zu verschenken. Die Mechanismen, die benutzt werden um den Gap-Count-Wert
zu optimieren, sind in dem IEEE-1394-Standard beschrieben. Vorgenommen
wird die Gap-Count-Wert-Optimierung von einer Bus-Management-Instanz.
-
Um
dieses näher
zu erläutern,
ist in der 3 die Protokoll-Architektur
einer IEEE-1394-Schnittstelle gezeigt. Die beiden Kommunikationsschichten
Bitübertragungsschicht
(Physical Layer) 20 und Datensicherungsschicht (Link Layer) 21 werden
durch separate Schaltungseinheiten, also mit Hardware realisiert.
Die weiteren gezeigten Schichten, nämlich „Transaction Layer" 22, „Serial Bus
Management" 23 und „Application
Layer" 24 werden üblicherweise
mittels Software implementiert, die dann auf einem leistungsfähigen Microcontroller
in der Netzwerkstation ausgeführt
wird. Die einzelnen Komponenten bezüglich Physical Layer 20 und
Link Layer 21 sowie Transaction Layer 22 sind
im IEEE-1394-Standard
näher beschrieben
und werden deshalb hier nicht weiter erläutert.
-
Innerhalb
der Schicht für
das Serial Bus Management 23 sind die Komponenten „Node Controller" 27, Isochronous
Resource Manager 26 und Bus Manager 25 hervorgehoben.
In einem 1394-Netzwerk
sind maximal ein Bus Manager 25 und maximal ein Isochronous
Resource Manager 26 zu einer Zeit aktiv, selbst wenn mehrere
Netzwerkknoten die jeweilige Funktion ausführen können. Beide Funktionen sind
gemäß IEEE-1394-Standard jedoch
optional. Welcher Netzwerkknoten die jeweilige Funktion ausführt, wird
nach jedem Bus-Rücksetzvorgang
gemäß im IEEE-1394-Standard
vorgegebenen Verfahren bestimmt. Falls der Root-Knoten die jeweilige Funktion
ausführen
kann, ist es durch die besagten Verfahren recht wahrscheinlich,
dass die jeweilige Funktion des Root aktiviert wird. Es kann aber
auch vorkommen, dass überhaupt
kein Bus Manager vorhanden ist, so dass dann der Isochronous Resource Manager
(sofern vorhanden) einige Aufgaben des Bus Manager mit übernehmen
muss.
-
Die
Aufgabe der Optimierung des Gap-Count-Parameters im IEEE-1394-Netzwerk kommt
dem Bus Manager 25 zu. Wenn dieser nicht vorhanden ist,
wird diese Aufgabe auch noch vom Isochronous Resource Manager 26 übernommen. Für die Gap-Count-Wert-Optimierung
wertet der Bus Manager bzw. Isochronous Resource Manager die so
genannten Self-ID-Pakete aller Netzwerkknoten aus um die maximale
Anzahl von Verbindungsstrecken (Hops) für diejenige Datenübertragung
im Netzwerk zwischen den am weitesten entfernten Netzwerkstationen
zu finden. Diese Zahl bestimmt dann, welcher optimale Gap-Count-Wert
einzustellen ist. Dies ist im IEEE-1394-Standard in Form einer Tabelle angegeben.
Um jetzt einen anderen Gap-Count-Wert bei allen Netzwerkknoten einzustellen,
ist nach dem IEEE-1394-Standard die Übertragung eines Physical-Layer-Konfigurations-Paketes
vorgesehen, das gemäß IEEE-1394-Standard
von allen Netzwerkstationen empfangen und ausgewertet wird.
-
4 zeigt die Struktur des
Physical-Layer-Konfigurations-Paketes.
Darin ist ein 6-Bit-Feld 30 für den neu einzustellenden Gap-Count-Wert
enthalten. Die weiteren Einträge
werden hier nicht näher
erläutert,
sie sind aus dem IEEE-1394-Standard bekannt.
-
Der
IEEE-1394-Standard schreibt die Optimierung des Gap-Count-Wertes nicht
zwingend vor, der Bus Manager bzw. Isochronous Resource Manager
kann diese Optimierung optional vornehmen. Weiterhin ist nicht vorgeschrieben,
wann ein neuer Gap-Count-Wert mit Hilfe eines Physical-Layer-Konfigurations-Paketes
eingestellt werden sollte. Dies bleibt der konkreten Implementierung
vorbehalten.
-
Gemäß der Erfindung
wird nun vorgeschlagen diese Optimierung immer dann durchzuführen, wenn
nach einem Bus-Rücksetzvorgang
durch erneute Auswertung aller Self-ID-Pakete inkonsistente Gap-Count-Wert-Einstellungen
im lokalen Netzwerk erkannt worden sind. Ein entsprechendes erstes Ausführungsbeispiel
eines Programms zur Realisierung der Gap-Count-Optimierung gemäß der Erfindung,
abzuarbeiten im Bus Manager bzw. Isochronous Resource Manager, ist
in 5 gezeigt.
-
In 5 bezeichnet die Bezugszahl 40 den Programmstart.
Mit Bezugszahl 41 ist ein Programmschritt gekennzeichnet,
in dem überprüft wird,
ob in dem Netzwerk Inkonsistenz bei den Gap-Count-Werten vorliegt.
Bei einem Bus-Rücksetzvorgang
werden von allen Netzwerkstationen Self-ID-Pakete gesendet, die
jeweils ein Feld beinhalten, in dem der aktuell eingestellte Gap-Count-Wert
eingetragen ist. Im Programmschritt 41 brauchen daher nur
alle Self-ID-Pakete hinsichtlich ihrer Gap-Count-Wert-Einträge miteinander
verglichen zu werden. Sind alle Gap-Count-Werte gleich eingestellt,
liegt keine Inkonsistenz vor. In diesem Fall wird das Programm in dem
Programmschritt 42 beendet.
-
Wurden
in Abfrage 41 inkonsistente Gap-Count-Werte festgestellt,
so verzweigt das Programm zum Programmschritt 43. Darin
wird der einzustellende Gap-Count-Wert auf den optimalen Wert entsprechend
der festgestellten Bustopologie gesetzt oder alternativ der Maximalwert
63 gewählt,
falls kein optimierter Gap-Count-Wert bestimmt werden konnte. Mit
diesem so eingestellten Wert wird dann ein Physical-Layer-Konfigurations-Paket
in Programmschritt 44 gebildet, das anschließend an
alle Netzwerkteilnehmer gesendet wird. Danach löst die Management-Instanz im
Programmschritt 45 den bei Feststellung inkonsistenter
Gap-Count-Werte im IEEE-1394-Standard
vorgeschriebenen Bus-Rücksetzvorgang
aus.
-
Danach
wird das Programm wieder mit Programmschritt 42 beendet.
Es wird also nach der ersten festgestellten Inkonsistenz sofort
ein Physical-Layer-Konfigurations-Paket gesendet, durch das alle
Gap-Count-Werte eingestellt werden. Die Konsistenz der Daten wird
auf diese Weise hergestellt, da sämtliche Netzwerkknoten sofort
nach Empfangen des Physical-Layer-Konfigurations-Paketes den darin
enthaltenen Gap-Count-Wert übernehmen müssen.
-
In 6 ist ein zweites Ausführungsbeispiel für ein Programm
zur Optimierung der Gap-Count-Werte gezeigt. Zum Teil wurden in 6 dieselben Bezugszahlen
verwendet wie in 5.
Sie bezeichnen dementsprechend dieselben Programmschritte wie zuvor
erläutert.
-
Der
Unterschied zu dem ersten Ausführungsbeispiel
besteht darin, dass hier vor der Absendung des Physical-Layer-Konfigurations-Paketes
mit dem Bustopologie-optimierten Gap-Count-Wert bzw. dem Maximalwert 63 erst überprüft wird,
ob die inkonsistenten Gap-Count-Werte zweimal aufeinander folgend
festgestellt worden sind. Im Programmschritt 47 wird jedes
Mal nach Feststellung der Inkonsistenz ein GCIC-Zähler (Gap
Count Inconsistency Counter) inkrementiert. In dem nachfolgenden
Programmschritt 48 wird dann überprüft, ob der Zählerstand
des GCIC-Zählers
den Wert 2 erreicht oder überschritten hat.
Wenn das noch nicht der Fall ist, wird noch kein Physical-Layer-Konfigurations-Paket
abgesendet. Erst nach zweimaliger Feststellung der Inkonsistenz wird
dann wieder ein Physical-Layer-Konfigurations-Paket gebildet und
in Programmschritt 44 an alle Netzwerkteilnehmerstationen
abgesendet. Nach Absendung dieses Paketes wird der GCIC-Zähler im Programmschritt 49 wieder
auf den Wert 0 gesetzt. Danach löst
die Management-Instanz im Programmschritt 45 erneut den
bei Feststellung inkonsistenter Gap-Count-Werte im IEEE-1394-Standard
vorgeschriebenen Bus-Rücksetzvorgang
aus, unabhängig davon,
ob vorher ein Physical-Layer-Konfigurations-Paket gesendet wurde
oder nicht. Falls keine Gap-Count-Wert-Inkonsistenz in Programmschritt 41 festgestellt
wurde, muss der GCIC-Zähler ebenfalls auf
den Wert 0 gesetzt werden, damit das Verfahren für den Fall einer später festgestellten
Inkonsistenz wieder von einem definierten Ausgangszustand starten
kann. Dies geschieht in Programmschritt 46.
-
Das
Beispiel gemäß 6 zeigt also, dass eine
variable Einstellung möglich
ist, nach wie vielen Bus-Rücksetzvorgängen die
Inkonsistenz bei den Gap-Count-Werten durch zusätzliches Senden des Physical-Layer-Konfigurations-Paketes beseitigt werden
soll.
-
Die
Erfindung ist nicht auf die hier beschriebenen Ausführungsbeispiele
beschränkt.
Das Prinzip der Erfindung kann immer dann eingesetzt werden, wenn
bei einem Netzwerk Wartezeiten für
den Buszugriff einzuhalten sind und diese Wartezeiten über einen
programmierbaren Parameter an die Bustopologie anpassbar sind. Hier
kommen außer
dem IEEE-1394-Bussystem
auch andere Bussysteme in Frage. Gedacht ist z. B. auch an drahtlose Übertragungssysteme,
wie HIPERLAN/2 oder IEEE 802.11x.