-
Die
vorliegende Erfindung betrifft ein System von Vorrichtungen, die über einen
Kommunikationsbus kommunizieren.
-
Die
US-Patentschrift Nr. 5.784.557 beschreibt ein System von Vorrichtungen
wie z.B. ein P1394-Bussystem, in welchem die Kommunikation über eine
Baumstruktur von Verbindungen durchgeführt wird, die einen Bus formt.
Diese Baumstruktur weist Knoten auf, die Vorrichtungen entsprechen, und
Zweige zwischen Knoten, wobei die Zweige Verbindungen zwischen den
Vorrichtungen entsprechen. Eine der Vorrichtungen entspricht einem
Stammknoten, von diesem Stammknoten verlaufen Zweige zu Tochterknoten.
Der Stammknoten wird als Mutterknoten dieser Tochterknoten bezeichnet.
Von diesen Tochterknoten verlaufen andere Zweige zu weiteren Tochterknoten
(wobei diese Tochterknoten als Mutterknoten der weiteren Tochterknoten
bezeichnet werden), und so weiter, bis die Blätter des Baums erreicht werden.
-
Die
Kommunikation zwischen den Vorrichtungen erfolgt über die
Verbindungen. Die Kommunikation erfolgt in Paketzyklen mit fester
Dauer. Ein Zyklus startet, sobald der Stammknoten ein Zyklusstartpaket
gesendet hat. Während
des Zyklus kann jede Vorrichtung Informationspakete an andere Vorrichtungen
senden. Wenn zwei Vorrichtungen direkt verbunden sind, erfolgt die
Kommunikation über
die Direktverbindung. Wenn zwei Vorrichtungen nicht direkt verbunden
sind, erfolgt die Kommunikation über
dazwischenliegende Vorrichtungen.
-
Wenn
mehr als eine Vorrichtung gleichzeitig die Kommunikation über die
Baumstruktur anfordern, ist eine Arbitrierung notwendig, um zu entscheiden, welche
der Vorrichtungen zuerst kommunizieren darf. Im P1394-Bus wird die
Arbitrierung letzten Endes von der Vorrichtung entschieden, die
dem Stammknoten entspricht. Jede Vorrichtung, die zu kommunizieren
wünscht,
sendet eine Kommunikationsanforderung an ihren Mutterknoten, der
die Anforderung an seinen Mutterknoten weiterleitet und so weiter,
bis die Anforderung den Stammknoten erreicht hat. Wenn ein Mutterknoten
von einem seiner Tochterknoten eine Anforderung zur Übertragung
eines Pakets empfängt,
während
der Mutterknoten bereits eine andere Anforderung zur Übertragung
dieses Pakets weiter geleitet hat, entweder von einem anderen Tochterknoten
oder vom Mutterknoten selbst, lehnt der Mutterknoten die spätere Anforderung
ab. Wenn Anforderungen gleichzeitig ankommen, arbitriert der Mutterknoten
zwischen mehreren Anforderungen und leitet die Anforderung der ausgewählten Vorrichtung
weiter. Der Stammknoten bewilligt die zuerst ankommende Anforderung
oder eine eigene Anforderung oder arbitriert bei Bedarf. Folglich
ist die Arbitrierung voll entschieden, sobald der Stammknoten zwischen
eingehenden Anforderungen arbitriert hat.
-
Im
P1394-Bus kann Audio/Videoinformation von einer Vorrichtung zu einer
anderen weitergeleitet werden, wie z.B. an Bildanzeigegeräte, die
die Information dem Benutzer „live" anzeigen. Die damit
einhergehenden Echtzeitanforderungen werden erfüllt, indem vorbestimmter Teil
des festen Dauer des Kommunikationszyklus (die sogenannten isochronen
Pakete) für
diese Echtzeitinformation reserviert werden. Eine Vorrichtung zur Übertragungsverwaltung „Isochronous
Ressources Manager" verwaltet
die Erlaubnis zur Nutzung dieses Teils des Zyklus, zum Beispiel
durch Zuweisung von Kanalnummern und Bandbreite. Jede Vorrichtung,
die Echtzeitinformationskommunikationskapazität benötigt, fordert diese Kapazität in Form
einer Zahl von isochronen Paketen in jedem Zyklus vom Isochronous
Ressources Manager an. Der Isochronous Ressources Manager bewilligt
diese Anforderung nur, solange eine Gesamtsumme der bewilligten
Anforderungen nicht die Menge der Kanäle und die Bandbreite übersteigt,
die im vorbestimmten Teil des Zyklus für die isochronen Pakete verfügbar ist.
Wenn eine Vorrichtung so viel Kanäle oder Bandbreite anfordert,
dass die Gesamtsumme diesen Teil übersteigen würde, wird
die Anforderung nicht bewilligt, und die Vorrichtung kann die Kommunikation
nicht starten.
-
Dadurch
wird gewährleistet,
dass eine Echtzeitvorrichtung, der erlaubt wurde, Audio/Videoinformation
zu übertragen,
stets die Arbitrierung für
die angeforderte Zahl von isochronen Paketen in einem Zyklus gewinnt.
Keine andere Vorrichtung kann das „Verhungern" dieser Echtzeitvorrichtung
bewirken, indem es die Echtzeitvorrichtung bei der Arbitrierung für zu viele
isochrone Pakete schlägt.
Es ist anzumerken, dass, wenn eine Vorrichtung die Kapazität für eine bestimmte
Zahl von Kanälen
oder eine bestimmte Bandbreite angefordert hat, die einer bestimmten Zahl
von isochronen Paketen entspricht, dies nur bedeutet, dass die Vorrichtung
maximal diese Menge senden wird. Es bedeutet nicht, dass dieses
Maximum in jedem Kommunikationszyklus erreicht wird; bei MPEG-Videos z.B. hängt die
tatsächliche
Menge der übertragenen
Information vom Videoinhalt ab.
-
Die
US-Patentschrift Nr. 5.784.557 erwähnt die Möglichkeit, den Stammknoten
dynamisch (während
der Laufzeit) zu wählen,
um ein gegebenes System zu optimieren, gibt aber keine Details über die Kriterien
zur Auswahl des Stammknotens an.
-
Die
Patentanmeldung WO 99/39479 A offenbart ein verteiltes Arbitrierungsverfahren
in einem Vollduplex-Bussystem, wobei die Arbitrierung an jedem einzelnen
Zeitpunkt von dem Knoten gehandhabt wird, dem an diesem Zeitpunkt
der Bus zugeteilt wurde (nomineller Stammknoten).
-
Eine
Aufgabe der Erfindung ist unter anderem die Bereitstellung eines
Mechanismus, um die Qualität
der Kommunikation zu verbessern und/oder die Ressourcen zu reduzieren,
die benötigt
werden, um in solch einem Bussystem eine ausreichende Qualität der Kommunikation
zu gewährleisten.
-
Die
Erfindung stellt ein System von Vorrichtungen mit einem Kommunikationsbus
bereit, wobei das System umfasst:
mindestens zwei Vorrichtungen,
die jede eine Schaltung zur Übertragung
von Meldungen umfassen;
eine Vielzahl von Busverbindungen,
die jede zwischen einem jeweiligen Paar von Vorrichtungen verbunden
sind;
wobei die Vorrichtungen Schaltungen umfassen, um das
System zu einer Kommunikationsbaumstruktur zu organisieren, in welcher
eine erste der Vorrichtungen ein Stammknoten ist und die restlichen
Vorrichtungen untergeordnete Knoten sind, die über die Busverbindungen direkt
mit dem Stammknoten kommunizieren oder über andere untergeordnete Knoten,
wobei es dem Stammknoten und dem untergeordneten Knoten möglich ist, über den
Zugriff auf die Kommunikationsstruktur zu arbitrieren, wobei der Stammknoten
die Arbitrierung letzten Endes entscheidet;
wobei die Vorrichtungen
angeordnet sind, um eine zweite der Vorrichtungen dynamisch als
Stammknoten festzulegen;
und wobei mindestens eine der Vorrichtungen
angeordnet ist, um die zweite Vorrichtung als Stammknoten zu wählen, auf
der Basis der Erkennung, dass für eine
dritte Vorrichtung, die die zweite Vorrichtung sein kann, relativ
mehr Zugriff auf die Kommunikationsstruktur zu erwarten ist als
für die
anderen Vorrichtungen, wobei die zweite Vorrichtung näher an der
dritten Vorrichtung gewählt
wird als die erste Vorrichtung, in Bezug auf eine Zahl von Verbindungen, die
benötigt
wird, um von der ersten und zweiten Vorrichtung aus mit der dritten
der Vorrichtungen zu kommunizieren.
-
Die
Wirkung des Anordnens einer Vorrichtung, die ein relativ starker
Nutzer der Kommunikationsstruktur ist, näher am Stammknoten und bevorzugt
am Stammknoten ist, dass dieser Vorrichtung schneller das Recht
erteilt wird, ein Paket zu senden, und dass sie einen schnelleren
Zugriff auf Netzwerkressourcen haben wird. Es wird weniger Jitter
in den Zeitpunkten der Übertragung
von Paketen vom starken Benutzer geben (Jitter tritt auf, wenn diese
Zeitpunkte mehr oder weniger zufällig
schwanken, weil die Arbitrierung durch unvorhersagbare Anforderungen
von anderen Vorrichtungen gewonnen wird). Die Wirkung dieses Jitters
auf die Video/Audioinformation kann beseitigt werden, indem die
Information für eine
Periode gepuffert wird, die der Höchstmenge des Jitters entspricht,
doch durch das Anordnen einer Audio/Video-Quellvorrichtung näher am Stammknoten
wird der isochrone Jitter mit weniger Pufferspeichernutzung beseitigt.
Wenn der starke Benutzer näher
am Stammknoten ist, geht auch weniger Zeit verloren, um Anforderungen
zum Stammknoten zu leiten, wodurch die Zeitsteuerung für die Kommunikation
erleichtert wird. Diese Vorteile werden maximiert, wenn der starke
Benutzer am Stammknoten angeordnet ist.
-
In
einer Ausführungsform
des erfindungsgemäßen Systems
zählt eine
der Vorrichtungen die Zahl der Pakete, die von den verschiedenen
Vorrichtungen gesendet werden, die mit der Kommunikationsstruktur
verbunden sind. Die Zählungen
werden verwendet, um eine Vorrichtung zu wählen, die ein relativ starker
Benutzer ist, bevorzugt der stärkste Benutzer über eine
Zählperiode
hinweg. Der Stammknoten wird dann näher zur gewählten Vorrichtung hin verschoben.
Bevorzugt wird die gewählte
Vorrichtung zum Stammknoten gemacht. Alternativ dazu kann der relativ
starke Benutzer auf der Basis der Größe der Anforderungen gewählt werden,
die an den Isochronous Ressource Manager gerichtet werden. Doch
dies kann die unerwünschte
Wirkung haben, dass zuviel Verwaltungsaufwand anfällt, um
den Stammknoten zu einer Vorrichtung hin zu verschieben, die eine
relativ kurzlebige Anforderung hat, oder zu einer Vorrichtung, die
weniger Pakete verwendet als tatsächlich vom Isochronous Ressource
Manager angefordert wurden. Durch Zählen der tatsächlichen Zahl
der Pakete, die über
eine Zeitperiode hinweg gesendet wurden, kann eine wirksamere Wahl
des Stammknotens durchgeführt
werden.
-
Diese
und andere vorteilhafte Aspekte des Systems, des Verfahrens und
der Vorrichtung dieser Erfindung werden ausführlicher anhand der folgenden
Zeichnungen erläutert.
-
1 zeigt
eine erste Kommunikationsbaumstruktur.
-
2 zeigt
eine reorganisierte Kommunikationsbaumstruktur.
-
3 zeigt
eine Datenstruktur zum Zählen des
Busverkehrs.
-
1 zeigt
eine erste Kommunikationsbaumstruktur, die in einem P1394-Bus verwendet wird.
Die Figur zeigt eine Anzahl von Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18,
die in einer Baumstruktur miteinander verbunden sind. Die Verbindungen
stellen Kommunikationskanäle
zwischen den Vorrichtungen dar. Eine der Vorrichtungen 10 ist
ein Stammknoten der Baumstruktur und ist der Mutterknoten der Vorrichtungen 12a,
b, die zwei Tochterknoten dieses Mutterknotens entsprechen. Diese Tochterknoten
sind ihrerseits Mutterknoten von weiteren Tochterknoten, die den
Vorrichtungen 11, 14a–c entsprechen. Weitere Vorrichtungen 16a–e, 18 sind
der Reihe nach weiter von der Vorrichtung 10 am Stammknoten
entfernt. In 1 ist jede Vorrichtung, die
höher als
eine andere Vorrichtung gezeigt wird, die mit ihr verbunden ist,
der Mutterknoten dieser anderen Vorrichtung, und die andere Vorrichtung
ist der Tochterknoten des Mutterknotens.
-
In
einem P1394-Bussystem weist jede Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18 typischerweise
eine Schaltung auf (nicht gezeigt), um über die Verbindungen Meldungspakete
an ihre Nachbarn in der Baumstruktur zu senden, eine Schaltung (nicht gezeigt),
um Meldungspakete von ihren Nachbarn zu empfangen, und eine Schaltung
(nicht gezeigt), um Meldungspakete von einem ihrer Nachbarn über die Verbindungen
zu einem anderen weiterzuleiten. Außerdem weist jede Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18 typischerweise
eine Schaltung auf (nicht gezeigt), um eine Anforderung zum Senden
eines Meldungspakets über
die Verbindungen an einen ihrer Nachbarn zu senden, der als ihr
Mutterknoten fungiert. Mindestens die Vorrichtungen, die als Mutterknoten
für einen
Tochterknoten fungiert, weist auch eine Schaltung auf (nicht gezeigt),
um solch eine Anforderung über
die Verbindungen an ihren eigenen Mutterknoten weiterzuleiten, eine
Arbitrierungsschaltung (nicht gezeigt), um zu wählen, welche Anforderung weitergeleitet
werden soll, falls mehr als eine Anforderung gleichzeitig ankommt,
und eine Schaltung (nicht gezeigt), um eine Ablehnung oder Bewilligung
der Anforderung über
die Verbindungen an den anfordernden Tochterknoten zurückzusenden
(wobei die Bewilligung wie vom Stammknoten 10 empfangen über einem
Mutterknoten weitergeleitet wird, die Ablehnung von der Vorrichtung,
die die Ablehnung zurücksendet,
entweder weitergeleitet oder generiert wird).
-
In
Betrieb kommunizieren die Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 miteinander über die Kommunikationskanäle, die
durch die Verbindungen zwischen den Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 dargestellt
sind. Wenn zwei Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 nicht
direkt verbunden sind, kommunizieren sie über andere Vorrichtungen. Wenn
zum Beispiel eine sendende Vorrichtung 11 mit einer empfangenden
Vorrichtung 16d kommuniziert, läuft die Kommunikation über die
dazwischenliegenden Vorrichtungen 12a, 10, 12b, 14c.
-
Wenn
eine Vorrichtung 10, 11, 12a, b, 14a–c, 16a–e, 18 ein
Paket zu senden hat, sendet sie eine Anforderung an ihren Mutterknoten.
Der Mutterknoten entscheidet, ob die Anforderung an ihren Mutterknoten
weitergeleitet werden soll oder nicht, abhängig davon, ob der Mutterknoten
diese bereits von einem anderen Tochterknoten oder eine eigene Anforderung
weitergeleitet hat. Wenn die Anforderung nicht weitergeleitet wird,
sendet der Mutterknoten eine Ablehnung an den Tochterknoten zurück. Schließlich erreicht
eine Anforderung die Vorrichtung am Stammknoten 10, die
ein Signal zurücksendet, das
angibt, ob die Anforderung bewilligt oder abgelehnt wurde. Dieses
Signal wird über
die Baumstruktur zu der Vorrichtung zurückgeleitet, die diese Anforderung
ausgegeben hat. Daraufhin startet die Vorrichtung das Senden des
Meldungspakets.
-
Wenn
zum Beispiel die sendende Vorrichtung 11 ein Meldungspaket
zu senden wünscht,
sendet die sendende Vorrichtung 11 eine Anforderung zur
Vorrichtung 12a an ihrem Mutterknoten. Diese Vorrichtung 12a leitet
die Anforderung an die Vorrichtung 10 am Stammknoten weiter.
Die Vorrichtung 10 am Stammknoten sendet ein Bewilligungssignal
an die Vorrichtung 12a am Mutterknoten zurück, die
dieses Signal zur sendenden Vorrichtung 11 zurückleitet.
-
Demnach
ist die Vorrichtung 10 am Stammknoten die letzte Instanz
für die
Bewilligung von Anforderungen zum Senden von Paketen. Um bewilligt zu
werden, müssen
Anforderungen stets zur Vorrichtung 10 am Stammknoten und
zurück
laufen.
-
Eine
andere Funktion, die von der Vorrichtung 10 am Stammknoten
erfüllt
wird, ist, dass die Vorrichtung 10 ein Zyklusstartpaket
sendet, das den Start eines Zyklus mit einer vorbestimmten Paketdauer
von zum Beispiel 125 Mikrosekunden anzeigt. Ein vorbestimmter Bruchteil
jedes Paketzyklus ist vorrangig sogenannten isochronen Paketen zugewiesen.
Isochrone Pakete sind Pakete, die innerhalb einer vorbestimmten
Zeitperiode gesendet werden müssen,
insbesondere innerhalb der Dauer eines Paketzyklus. Dies ist notwendig,
um Echtzeitinformation zu übertragen,
zum Beispiel Audio- oder Videodaten, die an vorbestimmten Zeitpunkten
von einer der Vorrichtungen ausgegeben werden muss, um ein unterbrechungsfreies
Betrachten oder Hören
zu ermöglichen.
Das System steuert die Zahl der Vorrichtungen, denen es erlaubt
ist, solche isochrone Pakete zu senden, damit nicht die Übertragung
von mehr isochronen Paketen angefordert wird, als in dem Bruchteil
des Zyklus gesendet werden können,
der für
isochrone Pakete zugewiesen ist.
-
Eine
der Vorrichtungen 10, 11, 12a, b, 14a–c, 16a–e, 18 erfüllt die
Funktion eines Isochronous Ressource Managers, der wählt, welchen
der Vorrichtungen 10, 11, 12a, b, 14a–c, 16a–e, 18 es
erlaubt ist, isochrone Pakete zu senden. Jede Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18,
die solche Pakete zu senden wünscht,
muss zu diesem Zweck eine Meldung an die Isochronous Ressource Manager-Vorrichtung
senden, die eine angeforderte Zahl von Kanälen und/oder Bandbreite spezifiziert.
Dementsprechend melden die Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 dem
Isochronous Ressource Manager das Ende ihres Übertragungsbedarfs für isochrone
Pakete oder jede Änderung
in der Zahl von Kanälen
und/oder Bandbreite, die pro Kommunikationszyklus benötigt wird.
Der Isochronous Ressource Manager akzeptiert diese Anforderungen
und berechtigt die anfordernden Vorrichtungen 10, 11, 12a, b, 14a–c, 16a–e, 18,
isochrone Pakete zu senden, bis zu dem Punkt, an dem eine Anforderung
zu Folge hätte,
dass die Gesamtzahl der angeforderten Pakete den verfügbaren Bruchteil
des Kommunikationszyklus übersteigen
würde.
In diesem Fall wird der Busmanager die Anforderung ablehnen, und
die anfordernden Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 werden
nicht in der Lage sein, isochrone Pakete zu senden. Die Funktion
des Isochronous Ressource Managers kann von jeder Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18 im
System erfüllt
werden (vorausgesetzt, die Vorrichtung enthält die notwendigen Schaltungen).
-
Das
P1394-System verfügt über eine
Freiheit, zu wählen,
welche der Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 dem
Stammknoten entsprechen wird, wenn die Vorrichtungen ein bestimmte Menge
von Verbindungen aufweisen. Ein diesbezüglicher Prozess wird in der
US-Patentschrift Nr. 5.784.557 beschrieben. Das System führt einen Schritt
der Definition der Baumstruktur durch, in welchem für jede Vorrichtung
bestimmt wird, welche ihrer Verbindungen mit anderen Vorrichtungen
Verbindungen mit Tochterknoten entsprechen und welche ihrer Verbindungen
dem Mutterknoten entsprechen. Eine der Vorrichtungen hat keinen
Mutterknoten. Dies ist der Stammknoten.
-
Im
Prinzip könnte
jede der Vorrichtungen 10, 11, 12a, b, 14a–c, 16a–e, 18 als
Stammknoten fungieren (vorausgesetzt, die Vorrichtung enthält die erforderlichen Schaltungen,
doch die meisten P1394-fähigen
Vorrichtungen enthalten diese Schaltungen). Der Definitionsschritt,
der die Wahl des Stammknotens einschließt, erfolgt beim Systemstart, der
P1394-Bus erlaubt aber auch die dynamische Neudefinition des Stammknotens.
-
Nach
einer Neudefinition kann die Kommunikationsstruktur des Systems
mit den Verbindungen von 1 zum Beispiel in die Struktur
umgewandelt worden sein, die in 2 gezeigt
wird. 2 zeigt dieselben Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 wie
in 1 mit denselben Bezugszeichen und denselben Verbindungen.
Wie in 1 ist jede Vorrichtung in 2, die höher als
eine andere Vorrichtung gezeigt wird, welche mit ihr verbunden ist, der
Mutterknoten dieser anderen Vorrichtung, und die andere Vorrichtung
ist der Tochterknoten des Mutterknotens.
-
In 2 ist
eine andere Vorrichtung 11 zum Stammknoten gemacht worden,
d.h., zur letzten Instanz für
die Bewilligung von Anforderungen zum Senden von Paketen gemacht
worden. Dieser neue Stammknoten wird an der Spitze der Baumstruktur
in 2 gezeigt.
-
Erfindungsgemäß steuert
das System die Wahl der Vorrichtung, die als Stammknoten dient. Das
System ändert
den Stammknoten abhängig
von der erwarteten Zahl der Pakete von den Vorrichtungen. Bevorzugt
wird eine Vorrichtung mit dem stärksten
Sendeaufkommen, die voraussichtlich die meisten isochronen Pakete
senden wird, oder die meisten Pakete allgemein, zum Stammknoten
gemacht, oder zumindest wird eine Vorrichtung zum Stammknoten gemacht,
die näher
an dieser Vorrichtung mit dem stärksten
Sendeaufkommen ist als der vorherige Stammknoten (zum Beispiel,
wenn die Vorrichtung mit dem stärksten
Sendeaufkommen selbst nicht in der Lage ist, als Stammknoten zu
fungieren).
-
Bevorzugt
ist der Stammknoten eher an oder möglichst nahe an der Vorrichtung
angeordnet, die voraussichtlich die meisten isochronen Pakete senden
wird, als an der Vorrichtung, die voraussichtlich die meisten Pakete
allgemein senden wird. Jitter in der Zuführung von isochronen Paketen
beeinträchtigt die
Dienstqualität
des Systems. Dieser Jitter wird reduziert, indem der Stammknoten
an oder möglichst nahe
an der Vorrichtung angeordnet wird, die voraussichtlich die meisten
isochronen Pakete senden wird. Jitter in nicht isochronen Paketen
beeinträchtigt
die Dienstqualität
des Systems nicht (oder in einem viel kleinen Ausmaß). Um die
beobachtbare Dienstqualität
zu optimieren, wird daher für
die Wahl des Stammknotens bevorzugt die voraussichtliche Zahl der
isochronen Pakete verwendet. Als weniger genaue Alternative kann
aber auch eine Zählung
der Gesamtzahl der Pakete (isochron oder nicht) verwendet werden.
-
Die
Vorrichtung 10, 11, 12a, b, 14a–c, 16a–e, 18 mit
dem stärksten
Sendeaufkommen kann zum Beispiel anhand der Anforderungen nach Erlaubnis zum
Senden von isochronen Paketen erkannt werden, die an den Isochronous
Ressource Manager gerichtet werden. Es sollte aber vermieden werden, dass
der Stammknoten jedesmal, wenn eine Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18 die
Erlaubnis anfordert, viele isochrone Pakete zu senden, sofort geändert wird.
Deshalb wird in einer Ausführungsform
der Stammknoten nur dann näher
zu einer Vorrichtung 10, 11, 12a, b, 14a–c, 16a–e, 18 hin
verschoben, die die Erlaubnis zum Senden der meisten isochronen
Pakete angefordert hat, wenn diese Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18 eine
vorbestimmte Zeit lang mit dieser Erlaubnis gesendet hat, zum Beispiel
1 Sekunde oder 10 Sekunden oder eine Minute oder mehr.
-
Die
Zuweisung von Kapazität
zum Senden von isochronen Paketen kann jedoch sehr dynamisch sein,
so dass die isochrone Kapazität,
die auf eine spezifische Anforderung hin zugewiesen wird, nur eine
kurze Periode lang zugewiesen wird. Zudem geben die Anforderungen
nicht unbedingt die tatsächliche
Zahl der isochronen Pakete wieder. Aufgrund dessen hat sich herausgestellt,
dass die Wahl des Stammknotens auf der Basis der Anforderungen oft
nicht zufriedenstellend ist.
-
In
einer anderen Ausführungsform
wird die Vorrichtung 10, 11, 12a, b, 14a–c, 16a–e, 18 mit
dem stärksten
Sendeaufkommen gewählt,
indem beobachtet wird, welche Vorrichtung eine vorbestimmte Zeitperiode
lang die höchste
Zahl von isochronen Paketen durch die Baumstruktur sendet. Folglich
wird die Gesamtzahl der Pakete für
jede Vorrichtung über eine
Zeitperiode hinweg gezählt,
die länger
ist als die Zeit, für
welche eine durchschnittliche Anforderung nach isochroner Kapazität gültig bleibt.
-
Die
Zählung
der Zahl der isochronen Pakete, die von den jeweiligen Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 gesendet
wurden, wird von einer der Vorrichtungen 10, 11, 12a,
b, 14a–c, 16a–e, 18 durchgeführt (die
Beobachtervorrichtung), die zu diesem Zweck programmiert wurde.
Die Beobachtervorrichtung kann zum Beispiel die Isochronous Ressource
Manager-Vorrichtung oder die Vorrichtung 11 am Stammknoten
sein, oder jede andere Vorrichtung 10, 11, 12a,
b, 14a–c, 16a–e, 18.
Die Beobachtervorrichtung erkennt die durch den Bus laufenden isochronen Pakete.
-
Im
P1394-Bus weist der Isochronous Ressource Manager Übertragungskapazität eher auf
der Basis von Kanälen
als auf der Basis von Vorrichtungen zu. Jedes isochrone Paket enthält die Kanalnummer,
zu welcher das isochrone Paket gehört, aber keine Identifikation
der Vorrichtung, die das isochrone Paket gesendet hat. An jedem
einzelnen Zeitpunkt entspricht jede Kanalnummer einer sendenden
Vorrichtung, und verschiedene Kanalnummern können derselben Vorrichtung
entsprechen. Die Entsprechung zwischen Kanalnummern und Vorrichtungen können sich
mit der Zeit ändern.
-
3 zeigt
eine Datenstruktur zur Verwendung durch die Beobachtervorrichtung.
Diese Datenstruktur enthält
eine erste Tabelle 30, welche durch isochrone Kanalnummern adressiert
wird. Die erste Tabelle 30 enthält
Zeiger auf Einträge
in einer zweiten Tabelle 32. Die zweite Tabelle 32 enthält Zählwerte
für verschiedene
Vorrichtungen. Die erste Tabelle 30 enthält beispielsweise 64 Einträge, die
durch 6 Bit-Kanalnummern
adressiert werden. Die zweite Tabelle enthält, ebenfalls beispielsweise,
64 Einträge für die Vorrichtungen
in einer Baumstruktur. In P1394 werden 16 Bit-Knoten-IDs verwendet,
um mehrfache Baumstrukturen zu ermöglichen, die Zählwerte
werden aber bevorzugt lokal für
eine Baumstruktur bestimmt, und 64 Vorrichtungen sind in einer Baumstruktur
möglich,
wobei die zweite Tabelle 32 durch die 6 niedrigsten Bits der Knoten-ID
adressiert werden.
-
In
Betrieb erkennt die Beobachtervorrichtung, wenn der Isochronous
Ressource Manager (der bevorzugt dieselbe Vorrichtung wie die Beobachtervorrichtung
ist) eine Kanalnummer zuweist. Die Beobachtervorrichtung bestimmt
die Kanalnummer der Vorrichtung, die als Quelle der isochronen Pakete
für den
Kanal fungiert, und schreibt diese Vorrichtungsnummer in die erste
Tabelle 30 in den Eintrag, der durch die Kanalnummer adressiert
wird.
-
Zu
Beginn der Beobachtungsperiode setzt die Beobachtervorrichtung die
Zählwerte
in allen Einträgen
der zweiten Tabelle 32 auf null zurück. Während der Beobachtungsperiode
erkennt die Beobachtervorrichtung jedes isochrone Paket, dass über die Kommunikationsstruktur
gesendet wird. Bei Erkennung eines bestimmten isochronen Pakets
liest die Beobachtervorrichtung die Kanalnummer aus diesem isochronen
Paket und greift auf den Eintrag in der ersten Tabelle 30 zu, auf
den die Kanalnummer zeigt. Dieser Eintrag in der ersten Tabelle
zeigt auf einen bestimmten Eintrag in der zweiten Tabelle 32. Daraufhin
inkrementiert die Beobachtervorrichtung den Zählwert in diesem bestimmten
Eintrag der zweiten Tabelle 32.
-
Am
Ende der Beobachtungsperiode stellen die Zählwerte in den Einträgen der
zweiten Tabelle die Intensität
dar, mit der die verschiedenen Vorrichtungen isochrone Pakete über die
Kommunikationsstruktur senden. Es wird bestimmt, welcher Eintrag den
höchsten
Zählwert
enthält.
Die Kommunikationsstruktur wird umkonfiguriert, um die Vorrichtung,
die diesem Eintrag entspricht, zum Stammknoten der Kommunikationsstruktur
zu machen.
-
Natürlich können andere
Methoden zur Berechnung der Zählwerte
angewandt werden. Zum Beispiel kann als eine Alternative die Beobachtervorrichtung
die Zahl der isochronen Pakete zählen,
die je Kanalnummer übertragen
werden, die Zählwert
zurücksetzen,
wenn die Kanalnummer einer anderen Vorrichtung zugewiesen wird,
den Zählwert,
der vor dem Zurücksetzen
gezählt
wurde, zu einem Zählwert für die Vorrichtung
zu addieren, der die Kanalnummer vorher zugewiesen war. Am Ende
der Beobachtungsperiode werden auch die aktuellen Zählwerte
für die verschiedenen
Kanalnummern zu den Zählwerten der
Vorrichtungen addiert, denen die Kanäle dann zugewiesen sind. In
dieser Alternative wird die Zahl der Operationen je isochrones Paket
reduziert (die Zählwerte
brauchen nicht indirekt nachgeschlagen zu werden). Die Alternative
benötigt
aber mehr Speicherplatz für
Zählwerte.