-
Verwandte Anmeldungen
-
Die vorliegende Anmeldung beansprucht die Priorität der US-Patentanmeldung mit der Seriennummer
12/479,574 vom 5. Juni 2009 und dem Titel „ALLOCATING BANDWITH IN A RESILIENT PACKET RING NETWORK BY P CONTROLLER“.
-
Die vorliegende Anmeldung ist mit der US-Anmeldung Nr.
12/479,438 vom 5. Juni 2009 und dem Titel „ALLOCATING BANDWITH IN A RESILIENT PACKET RING NETWORK BY PI CONTROLLER“ von Fahd Alharbi und Nirwan Ansari verwandt.
-
Hintergrund
-
Resilient Packet Ring (RPR)-Netzwerke werden unter anderem wegen ihrer Sicherheits- und Fehlertoleranzeigenschaften häufig für Stadtnetzwerktechnologien genutzt. Stadtnetzwerktechnologien können jedoch durch verschiedene Beschränkungen gekennzeichnet sein. Zum Beispiel kann einzelnen Knoten in einem SONET (Synchronous Optical Networking)-Ring ein minimaler Fair-Share gewährt werden, wobei es jedoch unter Umständen nicht möglich ist, die ungenutzte Bandbreite zurückzugewinnen. Außerdem kann ein Prozentsatz der potentiell verfügbaren Bandbreite für Sicherheitszwecke reserviert sein, was jedoch einen schlechten Nutzungsgrad mit sich bringen kann. Dagegen kann bei einem Gigabit Ethernet-Ring ein vollständiges statistisches Multiplexen auf Kosten der Fairness vorgenommen werden. RPR-Netzwerke können verwendet werden, um die Probleme einer Unternutzung und einer mangelnden Fairness in Verbindung mit den aktuell bestehenden Ring-Technologien des SONET- und Ethernet-Typs abzuschwächen.
-
In IEEE: „IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 17: Resilient packet ring (RPR) access method and physical layer specifications“, IEEE Std werden Merkmale der Medienzugriffsteuerung, Schnittstellenmethoden der physikalischen Schicht und Schichtverwaltungsparameter für das RPR-Zugriffsverfahren für Ringnetzwerke vorgestellt. Ein Satz von Protokollen zum Erkennen und Initialisieren der gemeinsam genutzten Ringkonfiguration, zum Beheben von Fehlern und zum Regeln des Zugriffs auf das gemeinsam genutzte Medium wird ebenfalls beschrieben. In Kapitel 7 wird dabei ein Fairness-Algorithmus spezifiziert. In der
US 2006/0250986 A1 wird die Zuteilung von Bandbreite, die eine faire Rate eines Knotens des RPR berücksichtigt, in einem RPR beschrieben. In der
US 2006/0106672 A1 wird ein Verfahren zum dynamischen Zuweisen von Verbindungsbandbreite in einem RPR beschrieben. Um 100 % Bandbreitenausnutzung zu erreichen, fließt das Integral der ungenutzten Übertragungsrate in die Berechnung der lokalen fairen Rate ein. In der
US 7,369,504 B2 werden Techniken zum Bandbreitenmanagement in einem RPR-Netzwerk beschrieben. Die Bandbreite wird verwaltet durch Traffic Shaping an der Quelle unter Verwendung eines Bandbreitenzuteilungsfaktors, der an jedem Knoten berechnet wird. Der Bandbreitenzuteilungsfaktor wird unter Verwendung einer rekursiven nichtlinearen Funktion der Transitwarteschlangenlänge berechnet und an die anderen Knoten kommuniziert. In der
US 2003/0163593 A1 wird ein Verfahren und ein System zur Implementierung eines fairen Hochleistungsprotokolls für Resilient Packet Ring Netzwerke beschrieben, das als „Distributed Virtual-time Scheduling in Rings“ (DVSR) bezeichnet wird.
-
Es ist Aufgabe der vorliegenden Erfindung, eine verbesserte Bandbreitenzuteilung in einem RPR-Netzwerk zu ermöglichen.
-
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
-
Bevorzugte Ausführungsformen der vorliegenden Erfindung sind Gegenstände der Unteransprüche.
-
Zusammenfassung
-
Die vorliegende Erfindung gibt allgemein Verfahren für die Bandbreitenzuweisung in einem Resilient Packet Ring (RPR)-Netzwerk durch einen Proportionalregler (P-Regler) an. Einige beispielhafte Verfahren der Erfindung können das Bestimmen einer fairen Rate zum Bereitstellen einer zugewiesenen Bandbreite in einem Resilient Packet Ring-Netzwerk über einen mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierten P-Regler umfassen. Eine oder mehrere mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierte Weiterleitungsraten können in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite stabilisiert werden.
-
Die vorliegende Erfindung gibt weiterhin allgemein Computerprogrammprodukte für die Bandbreitenzuweisung in einem Resilient Packet Ring (RPR)-Netzwerk durch einen Proportionalregler (P-Regler) an. Einige beispielhafte Computerprogrammprodukte der Erfindung können das Bestimmen einer fairen Rate zum Bereitstellen einer zugewiesenen Bandbreite in dem Resilient Packet Ring-Netzwerk über einen mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierten P-Regler umfassen. Eine oder mehrere mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierte Weiterleitungsraten können in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite stabilisiert werden.
-
Die vorliegende Erfindung gibt allgemein Systeme für die Bandbreitenzuweisung in einem Resilient Packet Ring-Netzwerk durch einen Proportionalregler (P-Regler) an. Einige beispielhafte Systeme der Erfindung können ein Resilient Packet Ring-Netzwerk mit einer Vielzahl von Knoten, einem inneren Ring von Links, einem äußeren Ring von Links und/oder einem P-Regler umfassen. Der innere Ring von Links kann zwischen der Vielzahl von Knoten verbunden sein. Der äußere Ring von Links kann zwischen der Vielzahl von Knoten verbunden sein. Der P-Regler kann mit wenigstens einem aus der Vielzahl von Knoten verbunden sein. Der P-Regler kann konfiguriert sein, um eine faire Rate zum Bereitstellen einer zugewiesenen Bandbreite in dem Resilient Packet Ring-Netzwerk zu bestimmen, und/oder kann konfiguriert sein, um eine oder mehrere mit wenigstens einem aus der Vielzahl von Knoten assoziierte Weiterleitungsraten in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite zu stabilisieren.
-
Die vorliegende Erfindung gibt allgemein eine Vorrichtung für die Bandbreitenzuweisung in einem Resilient Packet Ring (RPR)-Netzwerk durch einen Proportionalregler (P-Regler) an. Einige beispielhafte Vorrichtungen der Erfindung können einen P-Regler umfassen. Der P-Regler kann mit wenigstens einem aus der Vielzahl von Knoten in dem Resilient Packet Ring-Netzwerk verbunden sein. Der P-Regler kann konfiguriert sein, um eine faire Rate zum Bereitstellen einer zugewiesenen Bandbreite in dem Resilient Packet Ring-Netzwerk zu bestimmen, und/oder konfiguriert sein, um eine oder mehrere mit wenigstens einem aus der Vielzahl von Knoten des Resilient Packet Ring-Netzwerks assoziierte Weiterleitungsraten in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite zu stabilisieren.
-
Die vorstehende Zusammenfassung ist beispielhaft und nicht einschränkend aufzufassen. Zusätzlich zu den vorstehend genannten Aspekten, Ausführungsformen und Merkmalen werden weitere Aspekte, Ausführungsformen und Merkmale durch die folgende ausführliche Beschreibung mit Bezug auf die Zeichnungen verdeutlicht.
-
Figurenliste
-
Der Gegenstand der Erfindung wird durch die Ansprüche definiert. Die vorstehend genannten sowie andere Merkmale der Erfindung werden durch die folgende Beschreibung und die Ansprüche mit Bezug auf die beigefügten Zeichnungen verdeutlicht. Es ist zu beachten, dass die Zeichnungen einige beispielhafte Ausführungsformen der Erfindung zeigen und nicht einschränkend aufzufassen sind. Die Erfindung wird im Folgenden ausführlich mit Bezug auf die beigefügten Zeichnungen beschrieben.
- 1 ist ein Diagramm, das einen beispielhaften RPR-Ring zeigt.
- 2 ist ein Blockdiagramm, das einen Knoten eines beispielhaften RPR-Rings zeigt.
- 3 ist ein Flussdiagramm, das einen beispielhaften Prozess für die Bandbreitenzuweisung in einem Resilient Packet Ring-Netzwerk zeigt.
- 4 zeigt einen beispielhaften Steuerprozess für die Bandbreitenzuweisung in einem Resilient Packet Ring-Netzwerk.
- 5 ist ein Diagramm, das ein beispielhaftes unausgeglichenes Verkehrsszenario zeigt.
- 6 ist ein Diagramm, das ein beispielhaftes unausgeglichenes Verkehrsszenario zeigt.
- 7 ist ein Diagramm, das den Durchsatz in der Zeit in einem beispielhaften unausgeglichenen Verkehrsszenario zeigt.
- 8 ist ein Diagramm, das den Durchsatz in der Zeit in einem beispielhaften unausgeglichenen Verkehrsszenario zeigt.
- 9 zeigt ein beispielhaftes Computerprogrammprodukt.
- 10 ist ein Blockdiagramm, das eine beispielhafte Rechenvorrichtung gemäß der Erfindung zeigt.
-
Ausführliche Beschreibung
-
In der folgenden Beschreibung werden verschiedene Ausführungsformen detailliert beschrieben, um den beanspruchten Gegenstand der Erfindung zu verdeutlichen. Dem Fachmann sollte deutlich sein, dass der Gegenstand der Erfindung aber auch auf andere Weise als hier beschrieben realisiert werden kann. Der Einfachheit halber werden hier wohlbekannte Verfahren, Prozeduren, Systeme, Komponenten und/oder Schaltungen nicht näher beschrieben. In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Bestandteil der Beschreibung darstellen. In den Zeichnungen werden durchgängig gleiche Bezugszeichen verwendet, um ähnliche Komponenten anzugeben. Die hier beschriebenen und in den Zeichnungen gezeigten Ausführungsformen sind nicht einschränkend aufzufassen. Es können auch andere Ausführungsformen realisiert werden, ohne dass deshalb der Erfindungsumfang verlassen wird. Die hier beschriebenen und in den Zeichnungen gezeigten Merkmale der Erfindung können auch auf andere Weise angeordnet, ersetzt oder kombiniert werden.
-
Im Folgenden werden unter anderem Verfahren, Vorrichtungen, Systeme und/oder Computerprogrammprodukte für die Bandbreitenzuweisung in einem Resilient Packet Ring (RPR)-Netzwerk durch einen Proportionalregler (P-Regler) angegeben.
-
RPR-Netzwerke können als Hochgeschwindigkeits-Backbone-Technologie für Stadtnetzwerke (Metropolitan Area Networks (MAN)) verwendet werden. Zum Beispiel können RPR-Netzwerke eingeführt werden, um die Probleme einer Unternutzung oder mangelnden Fairness in Ring-Technologien des SONET- und Ethernet-Typs abzuschwächen. Zu den RPR-Leistungszielen gehören eine hohe Bandbreitennutzung, eine optimale räumliche Wiederverwendung auf den dualen Ringen eines RPR und/oder eine Fairness.
-
Eine Herausforderung kann darin bestehen, einen Algorithmus zu entwickeln, der dynamisch auf den Verkehr reagieren kann, um die genannten Leistungsziele zu erreichen. Die RPR-Fairness-Algorithmen in einem Aggressive-Mode (RPR-AM) und in einem Conservative-Mode (RPR-CM) können vergleichsweise einfache Prozesse sein, die aber bestimmte Beschränkungen mit sich bringen. Eine Beschränkung besteht zum Beispiel darin, dass die durch RPR-CM und/oder RPR-AM zugewiesene Bandbreite in unausgeglichenen Verkehrsszenarien oszillieren kann. Derartige unausgeglichene Verkehrsszenarien werden im Folgenden im größeren Detail mit Bezug auf die in 5 und 6 gezeigten Beispiele erläutert. Diese Oszillationen können eine Grenze für das Erreichen einer räumlichen Wiederverwendung und/oder einer hohen Bandbreitennutzung setzen. Außerdem kann die Leistung von RPR-CM und/oder RPR-AM empfindlich auf Parametereinstellungen des Algorithmus reagieren. Dementsprechend werden die Verfahren, Vorrichtungen, Systeme und/oder Computerprogrammprodukte für eine Bandbreitenzuweisung in einem RPR-Netzwerk über einen P-Regler im Folgenden mit Bezug auf eine Behebung der Beschränkungen der RPR-CM- und/oder RPR-AM-Fairness-Algorithmen beschrieben.
-
Einige beispielhafte Verfahren gemäß der Erfindung können eine Bestimmung einer fairen Rate zum Bereitstellen einer zugewiesenen Bandbreite in einem Resilient Packet Ring-Netzwerk über einen mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierten P-Regler umfassen. Eine oder mehrere mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierte Weiterleitungsraten können in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite stabilisiert werden.
-
Einige beispielhafte Computerprogrammprodukte gemäß der Erfindung können das Bestimmen einer fairen Rate zum Bereitstellen einer zugewiesenen Bandbreite in einem Resilient Packet Ring-Netzwerk über einen mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierten P-Regler umfassen. Eine oder mehrere mit wenigstens einem Knoten des Resilient Packet Ring-Netzwerks assoziierte Weiterleitungsraten können in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite stabilisiert werden.
-
Einige beispielhafte Systeme gemäß der Erfindung können ein Resilient Packet Ring-Netzwerk mit einer Vielzahl von Knoten, einem inneren Ring von Links, einem äußeren Ring von Links und/oder einem P-Regler umfassen. Der innere Ring von Links kann zwischen der Vielzahl von Knoten verbunden sein. Der äußere Ring von Links kann zwischen der Vielzahl von Knoten verbunden sein. Der P-Regler kann mit wenigstens einem aus der Vielzahl von Knoten assoziiert sein. Der P-Regler kann konfiguriert sein, um eine faire Rate zum Bereitstellen einer zugewiesenen Bandbreite in dem Resilient Packet Ring-Netzwerk zu bestimmen, und/oder kann konfiguriert sein, um eine oder mehrere mit wenigstens einem aus der Vielzahl von Knoten assoziierte Weiterleitungsraten in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite zu stabilisieren.
-
Einige beispielhafte Vorrichtungen gemäß der Erfindung können einen P-Regler umfassen. Der P-Regler kann mit wenigstens einem aus der Vielzahl von Knoten in dem Resilient Packet Ring-Netzwerk assoziiert sein. Der P-Regler kann konfiguriert sein, um eine faire Rate zum Bereitstellen einer zugewiesenen Bandbreite in dem Resilient Packet Ring-Netzwerk zu bestimmen, und/oder konfiguriert sein, um eine oder mehrere mit wenigstens einem aus der Vielzahl von Knoten des Resilient Packet Ring-Netzwerks assoziierte Weiterleitungsraten in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis der zugewiesenen Bandbreite zu stabilisieren.
-
In einigen Beispielen gemäß der Erfindung kann das Bestimmen der fairen Rate das Bestimmen einer Differenz zwischen einer Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge umfassen. In einigen Beispielen kann das Bestimmen der fairen Rate das Bestimmen der Änderungsrate einer Differenz zwischen der Zielwarteschlangenlänge und der aktuellen Transitwarteschlangenlänge umfassen. In einigen Beispielen kann das Bestimmen der fairen Rate das Bestimmen einer Round-Trip-Verzögerung zwischen einem Bottleneck-Link des Resilient Packet Ring-Netzwerks und dem wenigstens einen Knoten des Resilient Packet Ring-Netzwerks umfassen.
-
In einigen Beispielen gemäß der Erfindung kann das Bestimmen der fairen Rate wenigstens teilweise auf einer proportionalen Verstärkung k
p beruhen, die wie folgt ausgedrückt wird:
wobei W eine Summe von mit den Knoten des Resilient Packet Ring-Netzwerks assoziierten Gewichten wiedergibt und τ wenigstens teilweise auf einer Round-Trip-Verzögerung zwischen einem Bottleneck-Link des Resilient Packet Ring-Netzwerks und dem wenigstens einen Knoten des Resilient Packet Ring-Netzwerks beruht.
-
In einigen Beispielen der Erfindung kann die faire Rate F(n) wie folgt ausgedrückt werden:
wobei F(n-1) eine vorausgehende faire Rate wiedergibt, k
p eine proportionale Verstärkung wiedergibt, e(n) eine Differenz zwischen einer Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge wiedergibt und e(n-1) eine vorausgehende Differenz zwischen der Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge wiedergibt.
-
1 ist ein Diagramm, das ein beispielhaftes RPR-Netzwerk 100 gemäß einer oder mehreren beispielhaften Implementierungen zeigt. Das RPR-Netzwerk 100 kann zwei rotierende Ringlets umfassen. Zum Beispiel kann das eine Ringlet als inneres Ringlet 102 bezeichnet werden, während das andere Ringlet als äußeres Ringlet 104 bezeichnet werden kann. Die inneren und äußeren Ringlets 102, 104 können sich über zwei oder mehr Knoten erstrecken. Zum Beispiel können sich die inneren und äußeren Ringlets 102, 104 über die Knoten 106A, 106B, 106C, 106D, 106E und 106F erstrecken. Ein Teil des inneren Ringlets 102 oder des äußeren Ringlets 104, der zwei benachbarte Knoten 106A, 106B operativ miteinander verbindet, kann als ein Link bezeichnet 108 werden. Dabei können das innere Ringlet 102 und/oder das äußere Ringlet 104 mehrere Links 108 umfassen, die operativ zwei oder mehr Knoten 106A, 106B, 106C, 106D, 106E und 106F miteinander verbinden. Während des Betriebs können Informationen an einem bestimmten vorgeordneten Knoten wie etwa dem Knoten 106A in das RPR-Netzwerk 100 eintreten und entlang des inneren Ringlets 102 oder des äußeren Ringlets 104 über ein oder mehrere Links 108 zu einem nachgeordneten Zielknoten wie etwa dem Knoten 106B geführt werden. Wenn die Informationen einen nachgeordneten Zielknoten wie etwa den Knoten 106B erreichen, können die Informationen aus dem RPR-Netzwerk 100 austreten.
-
2 ist ein Blockdiagramm, das einen Knoten 106B eines beispielhaften RPR-Netzwerks 100 (1) gemäß einer oder mehreren beispielhaften Implementierungen der Erfindung zeigt. Der Knoten 106B kann Hardware, Software und/oder eine Kombination aus denselben umfassen, um die Funktionen einer Eintrittsdatenmessung, einer Überlastungsvermeidung und einer Bandbreitenzuweisung zu erfüllen. Zum Beispiel kann der Knoten 106B eine oder mehrere Ratensteuereinrichtungen 210, einen oder mehrere lokale Puffer 212, einen Primärtransitwarteschlangenpuffer (PTQ-Puffer) 214, einen Sekundärtransitwarteschlangenpuffer (STQ-Puffer) 216, eine Prüfeinrichtung 218, eine Planungseinrichtung 220 und/oder einen P-Regler 222 enthalten. Diese Funktionseinheiten können betrieben werden, um eine Flusssteuerung in dem RPR-Netzwerk 100 auszuführen (1). Eine derartige Flusssteuerung kann gestatten, dass ein überlasteter Knoten 106B eine (in Übereinstimmung mit Messungen an dem Knoten 106B abgeleitete) Fairness-Nachricht zu einem oder mehreren vorgeordneten Knoten 106A usw. (1) sendet. Eine derartige Fairness-Nachricht kann zur Folge haben, dass ein oder mehrere vorgeordnete Knoten 106A usw. (1) die Informationseintrittsraten drosseln, um einen Überlastungszustand an dem überlasteten Knoten 106B zu reduzieren und/oder zu beseitigen und eine Fairness unter den teilnehmenden Knoten 106A usw. (1) vorzusehen.
-
Der Knoten 106B kann einen oder mehrere Ratensteuereinrichtungen 210 verwenden, um den in das RPR-Netzwerk 100 (1) eintretenden Stationsverkehr 230 zu drosseln. Zum Beispiel kann die Ratensteuereinrichtung 210 den Stationsverkehr 230 auf einer pro-Ziel-Basis drosseln, um einen virtuellen Zielwarteschlangenbetrieb zu unterstützen und/oder ein Head-of-Line-Blocking (HOL) zu vermeiden. Unter einem HOL-Blocking ist hier eine Situation zu verstehen, in der ein Head-of-Line-Paket eines bestimmten Puffers nicht zu einem Ziel geschaltet werden kann, weil eine Überlastung entlang des Pfads von der Quelle zu dem Ziel gegeben ist. Dabei kann unter Umständen der Rest der Pakete in diesem Puffer durch das Head-of-Line-Paket blockiert werden, auch wenn keine Überlastung entlang des Pfads von der Quelle zu den entsprechenden Zielen gegeben ist. Zusätzlich oder alternativ hierzu kann die Ratensteuereinrichtung 210 die Zustellung eines Stationsverkehrs 230 zu dem lokalen Puffer 212 gestatten. Der lokale Puffer 212 kann mehrere Dienstklassen eines Benutzerverkehrs definieren. Zum Beispiel kann der lokale Puffer 212 einen Nutzerverkehr der Klasse A mit einer garantierten Rate und Fluktuation, einen Nutzerverkehr der Klasse B mit einer Committed Information Rate (CIR) und einer begrenzten Rate und Fluktuation und/oder einen Nutzerverkehr der Klasse C als einem Best-Effort-Verkehr definieren.
-
Die Prüfeinrichtung 218 kann einen Eintrittsverkehr 232 von einem Ringlet (nicht gezeigt) in den Knoten 106B empfangen. Die Prüfeinrichtung 218 kann den Austrittsverkehr 234 aus dem Knoten 106B lenken. Zusätzlich oder alternativ hierzu kann die Prüfeinrichtung 218 einen Transitverkehr 236 zu dem PTQ-Puffer 214 und/oder dem STQ-Puffer 216 weiterleiten.
-
Die Planungseinrichtung 220 kann den Informationsfluss aus dem PTQ-Puffer 214, dem STQ-Puffer 216 und/oder dem lokalen Puffer 212 koordinieren. Zum Beispiel kann die Planungseinrichtung 220 wahlweise einen Austrittsverkehr 238 aus dem PTQ-Puffer 214, dem STQ-Puffer 216 und/oder dem lokalen Puffer 212 zu dem Ausgangsknoten 106B für eine Fortpflanzung entlang des RPR-Netzwerks 100 (1) gestatten. Zum Beispiel kann die Planungseinrichtung 220 wahlweise zuerst einen Austrittsverkehr 238 von dem PTQ-Puffer 214 gestatten. Wenn der PTQ-Puffer 214 leer ist, kann der STQ-Puffer 216 Priorität vor dem Stationsverkehr aus den lokalen Puffern 212 haben. Zum Beispiel kann der STQ-Puffer 216 Priorität über den Stationsverkehr aus den lokalen Puffern 212 haben, wenn die STQ-Warteschlangenlänge einen STQ-Schwellwert überschreitet; andernfalls kann der Stationsverkehr 230 bedient werden. In diesem Fall kann der Stationsverkehr 230 in eine oder mehrere Wichtigkeitsklassen wie etwa eine Klasse A, eine Klasse B, eine Klasse C und/oder ähnliches unterteilt werden. Zum Beispiel kann der Stationsverkehr 230 in der folgenden Reihenfolge bedient werden: Verkehr der Klasse A, und dann Verkehr der Klasse B. Wenn der Knoten 106B keinen Verkehr der Klasse A oder B aufweist, kann ein Verkehr der Klasse C bedient werden.
-
Der P-Regler 222 kann Verkehrsmessungen einschließlich der Transitwarteschlangenlänge 240 empfangen. Zum Beispiel kann der P-Regler 222 Verkehrsmessungen zu der mit dem STQ-Puffer 216 assoziierten Wartenschlangenlänge 240 empfangen. Wenigstens teilweise auf der Grundlage von derartigen Verkehrsmessungen kann der P-Regler 222 einen Fairness-Algorithmus anwenden, um eine faire Rate F(n) zu bestimmen. Eine derart bestimmte Rate kann verwendet werden, um Bandbreite in einem RPR-Netzwerk 100 (1) zuzuweisen. Zum Beispiel kann eine derart bestimmte faire Rate zu vorgeordneten Knoten 106A usw. (1) in der Form einer Steuernachricht 242 gesendet werden. Derartige vorgeordnete Knoten 106A usw. (1), die die Steuernachricht 242 empfangen, können die Steuernachrichtinformationen und/oder lokale Informationen verwenden, um die Raten entsprechend zu drosseln.
-
3 ist ein Flussdiagramm, das einen beispielhaften Prozess 300 zum Zuweisen von Bandbreite in einem Resilient Packet Ring-Netzwerk gemäß einer oder mehreren beispielhaften Implementierungen zeigt. Der Prozess 300 und andere hier beschriebene Prozesse durchlaufen verschiedene Funktionsblöcke oder Schritte, die als Verarbeitungsschritte, Funktionsoperationen, Ereignisse und/oder Handlungen beschrieben werden können und durch Hardware, Software und/oder Firmware ausgeführt werden können. Dem Fachmann sollte deutlich sein, dass zahlreiche Alternativen zu den in 3 gezeigten Funktionsblöcken in verschiedenen Implementierungen realisiert werden können. Während zum Beispiel der Prozess 300 wie in 3 gezeigt eine bestimmte Reihenfolge von Blöcken oder Schritten umfasst, ist der Gegenstand der Erfindung nicht auf die hier gezeigte Reihenfolge der Blöcke oder Schritte oder überhaupt auf eine bestimmte Reihenfolge beschränkt. Entsprechend können auch nicht in 3 gezeigte Schritte eingeschoben und/oder zusätzlich vorgesehen werden und/oder können einige der Schritte von 3 weggelassen werden, ohne dass deshalb der Erfindungsumfang verlassen wird.
-
Wie gezeigt, kann der Prozess 300 implementiert werden, um Bandbreite in einem Resilient Packet Ring-Netzwerk zuzuweisen. Die Verarbeitung beginnt in Schritt 302, wo am Ende einer gegebenen Abtastzeit T ein P-Regler 222 (2) an dem nachgeordneten Knoten 106B die aktuelle Transitwarteschlangenlänge abtasten kann. Zum Beispiel kann der nachgeordnete Knoten 106B die aktuelle Transitwarteschlangenlänge des STQ-Puffers 216 (2) abtasten. Unter der „Abtastzeit T“ ist hier eine Abtastzeit zwischen einer Bestimmung einer aktuellen fairen Rate F(n) und einer Bestimmung einer vorausgehenden fairen Rate F(n-1) zu verstehen. Die Verarbeitung schreitet von Schritt 302 zu Schritt 304 fort, wo die Transitwarteschlangenlänge mit einer Zielwarteschlangenlänge verglichen werden kann. Zum Beispiel kann der P-Regler 222 (2) an dem nachgeordneten Knoten 106B die aktuelle Transitwarteschlangenlänge des STQ-Puffers 216 (2) mit einer zuvor spezifizierten Zielwarteschlangenlänge vergleichen.
-
In dem folgenden Schritt 306 kann eine faire Rate bestimmt werden. Zum Beispiel kann der P-Regler 222 (2) an dem nachgeordneten Knoten 106B eine faire Rate wenigstens teilweise auf der Basis des Vergleichs der aktuellen Transitwarteschlangenlänge des STQ-Puffers 216 (2) mit der zuvor spezifizierten Zielwarteschlangenlänge bestimmen. In einer Implementierung kann eine derartige faire Rate bestimmt werden, um Bandbreite in einem RPR-Netzwerk 100 über einen mit wenigstens einem Knoten des RPR-Netzwerks 100 wie etwa dem nachgeordneten Knoten 106B assoziierten P-Regler 222 (2) zuzuzweisen.
-
In dem folgenden Schritt 308 kann eine derartige bestimmte Rate zu einem oder mehreren vorgeordneten Knoten 106A weitergeleitet werden. Zum Beispiel kann der nachgeordnete Knoten 106B eine faire Rate zu einem oder mehreren vorgeordneten Knoten 106A auf einem gegenüberliegenden Ringlet 102 (1) weiterleiten. Dementsprechend können einzelne vorgeordnete Knoten 106A über die an dem nachgeordneten Knoten 106B unterstützten fairen Raten unterrichtet werden. Zusätzlich oder alternativ hierzu können ähnliche faire Raten von anderen Knoten (wie etwa den Knoten 106C usw.) in einem RPR-Netzwerk 100 gesendet werden. Dementsprechend können einzelne Knoten 106A, 106B usw. in dem RPR-Netzwerk 100 über die an dem nachgeordneten Knoten 106B unterstützten fairen Raten und/oder die an einzelnen Knoten 106A, 106B usw. in dem RPR-Netzwerk 100 unterstützten fairen Raten unterrichtet werden.
-
In dem folgenden Schritt 310 kann der vorgeordnete Knoten 106A seine Weiterleitungsrate anpassen. Zum Beispiel kann der vorgeordnete Knoten 106A seine Weiterleitungsrate wenigstens teilweise auf der Basis der von dem nachgeordneten Knoten 106B empfangenen fairen Rate anpassen. Wie weiter unten im größeren Detail erläutert wird, kann die Prozedur 300 zur Folge haben, dass diese Weiterleitungsraten wie in Schritt 312 gezeigt stabilisiert werden. Zum Beispiel können eine oder mehrere mit einem oder mehreren einzelnen Knoten 106A, 106B usw. in dem RPR-Netzwerk 100 assoziierte Weiterleitungsraten in unausgeglichenen Verkehrsszenarien wenigstens teilweise auf der Basis einer Bandbreitenzuweisung wie weiter oben mit Bezug auf Schritt 306 erläutert stabilisiert werden. In einer Implementierung kann der nachgeordnete Knoten 106B in Schritt 312 einen oder mehrere der Schritte 302-308 wiederholen, um die mit dem vorgeordneten Knoten 106A assoziierte Weiterleitungsrate zu stabilisieren. Alternativ oder zusätzlich hierzu können ähnliche Schritte an anderen Knoten (wie etwa den Knoten 106C usw.) in dem RPR-Netzwerk 100 ausgeführt werden. Dementsprechend können einzelne Knoten 106C, 106D usw. (1) in dem RPR-Netzwerk 100 auch Weiterleitungsraten stabilisieren, die jeweils mit den einzelnen Knoten 106C, 106D usw. (1) in dem RPR-Netzwerk 100 assoziiert sind. Alternativ oder zusätzlich dazu kann eine derartige Stabilisierung der Weiterleitungsraten in unausgeglichenen Verkehrsszenarien erzielt werden.
-
4 zeigt einen beispielhaften Steuerprozess 400 für die Bandbreitenzuweisung in einem Resilient Packet Ring-Netzwerk gemäß einer oder mehreren beispielhaften Implementierungen. Der Prozess 400 und andere hier beschriebene Prozesse durchlaufen verschiedene Funktionsblöcke oder Schritte, die als Verarbeitungsschritte, Funktionsoperationen, Ereignisse und/oder Handlungen beschrieben werden können und durch Hardware, Software und/oder Firmware ausgeführt werden können. Dem Fachmann sollte deutlich sein, dass zahlreiche Alternativen zu den in 3 gezeigten Funktionsblöcken in verschiedenen Implementierungen realisiert werden können. Während zum Beispiel der Prozess 400 wie in 4 gezeigt eine bestimmte Reihenfolge von Blöcken oder Schritten umfasst, ist der Gegenstand der Erfindung nicht auf die hier gezeigte Reihenfolge der Blöcke oder Schritte oder überhaupt auf eine bestimmte Reihenfolge beschränkt. Entsprechend können auch nicht in 4 gezeigte Schritte eingeschoben und/oder zusätzlich vorgesehen werden und/oder können einige der Schritte von 4 weggelassen werden, ohne dass deshalb der Erfindungsumfang verlassen wird.
-
Wie gezeigt, kann der Steuerprozess
400 implementiert werden, um Bandbreite in einem Resilient Packet Ring-Netzwerk zuzuweisen. In Block
401 wird die Transitwarteschlangenlänge Q(s) 402 mit der Zielwarteschlangenlänge Q
T 404 verglichen. Zum Beispiel kann ein Fehler E(s) 406 bestimmt werden, um einen derartigen Vergleich der Transitwarteschlangenlänge Q(s) 402 mit der Zielwarteschlangenlänge Q
T 404 zu quantifizieren. In einer Implementierung kann der Fehler F(s) 406 wenigstens teilweise auf der Basis der folgenden Gleichung bestimmt werden:
-
Die Verarbeitung schreitet von Block
401 zu Block
408 fort, wo eine faire Rate F(s)
410 wenigstens teilweise auf der Basis des Vergleichs zwischen der Transitwarteschlangenlänge Q(s)
402 und der Zielwarteschlangenlänge Q
T 404 bestimmt werden kann. Zum Beispiel kann der Fehler E(s)
406 wenigstens teilweise auf der Basis einer proportionalen Verstärkung k
p modifiziert werden, sodass eine faire Rate F(s)
410 wie in Block
408 gezeigt erhalten wird. In einer Implementierung kann die faire Rate F(s)
410 wenigstens teilweise auf der Basis der folgenden Gleichung bestimmt werden:
-
Die Verarbeitung schreitet von Block
408 zu Block
412 fort, wo eine aktualisierte Transitwarteschlangenlänge Q(s)
402 bestimmt werden kann. Zum Beispiel kann die aktualisierte Transitwarteschlangenlänge Q(s)
402 wenigstens teilweise auf der Basis der fairen Rate F(s)
410 bestimmt werden. In einer Implementierung kann die faire Rate F(s)
410 wenigstens teilweise auf der Basis der folgenden Gleichung modifiziert werden, um eine aktualisierte Transitwarteschlangenlänge Q(s)
402 zu bestimmen:
-
Der Block
412 des Steuerprozesses
400 ist in
4 gezeigt, wobei W eine Summe von mit verschiedenen Knoten eines RPR-Netzwerks assoziierten Gewichten wie folgt wiedergeben kann:
-
Außerdem kann τ
i die Round-Trip-Verzögerung zwischen einem Bottleneck-Link
108 (
1) und einem Quellknoten i eines RPR-Netzwerks wiedergeben. Eine derartige Round-Trip-Verzögerung τ
i kann eine Zeitdauer zwischen der Initiierung von Kommunikationen an dem nachgeordneten Knoten
106B (
1) und dem Empfang an dem vorgeordneten Knoten
106A (
1) wiedergeben, die durch eine Rückwärtsverzögerung
wiedergegeben wird, und kann eine Zeitdauer zwischen der Initiierung von Kommunikationen an dem vorgeordneten Knoten
106A (
1) und dem Empfang von Kommunikationen an dem nachgeordneten Knoten
106B (
1) wiedergeben, die durch eine Vorwärtsverzögerung
wiedergegeben wird. Zum Beispiel kann die Round-Trip-Verzögerung τ
1 durch
berechnet werden, wobei
eine Rückwärtsverzögerung von einem Bottleneck-Link
108 (
1) zu einem Quellknoten i wiedergibt und
eine Vorwärtsverzögerung von einem Quellknoten i zu einem Bottleneck-Link
108 (
1) wiedergibt. In einer Implementierung kann τ eine obere Grenze einer derartigen Round-Trip-Verzögerung τ
i wiedergeben.
-
Der Steuerprozess
400 wird durch die folgenden Erläuterungen zu der Bildung des Steuerprozesses
400 weiter verdeutlicht. An einem mit einem nachgeordneten Knoten
106B (
1) assoziierten Bottleneck-Link
108 (
1) kann eine Änderungsrate einer Transitwarteschlangenlänge
402 wie folgt sein:
-
In diesem Fall kann r
i eine Senderate eines Quellknotens i wie etwa eines vorgeordneten Knotens
106A (
1) wiedergeben, kann
die Vorwärtsverzögerung von dem Quellknoten i zu dem Bottleneck-Link
108 (
1) wiedergeben, kann t die Zeit wiedergeben, kann N die Anzahl der Quellknoten wiedergeben und kann C die verfügbare Bandbreite des mit dem Bottleneck-Link
108 (
1) assoziierten nachgeordneten Knotens
106B (
1) wiedergeben. Zum Beispiel kann die Änderungsrate einer Transitwarteschlangenlänge
402 proportional zu dem Verkehr sein, der von vorgeordneten Quellknoten i durch den mit dem nachgeordneten Knoten
106B (
1) assoziierten Bottleneck-Link
108 (
1) gesendet wird, wenn die verfügbare Bandbreite C und die Vorwärtsverzögerung
berücksichtigt werden.
-
Einer oder mehrere Quellknoten i wie etwa der vorgeordnete Knoten
106A (
1) können Informationen mit einer Rate in Übereinstimmung mit einer empfangenen fairen Rate f von dem mit einem nachgeordneten Knoten
106B (
1) assoziierten Bottleneck-Link
108 (
1) wie folgt senden:
-
In diesem Fall kann w
i ein Gewicht kleiner oder gleich 1 wiedergeben und kann
die Rückwärtsverzögerung von einem mit einem nachgeordneten Knoten
106B (
1) assoziierten Bottleneck-Link
108 (
1) zu einem Quellknoten i wie etwa dem vorgeordneten Knoten
106A (
1) wiedergeben.
-
Eine faire Rate f(t) für einen mit einem nachgeordneten Knoten
106B (
1) assoziierten Bottleneck-Link
108 (
1) kann wie folgt wiedergegeben werden:
-
In einem derartigen Fall kp kann eine proportionale Verstärkung für einen P-Regler wiedergeben und kann e(t) = qT - q(t) eine Differenz zwischen einer Transitwarteschlangenlänge q(t) und einer Zielwarteschlangenlänge qT wiedergeben.
-
Das RPR-Netzwerk
100 (
1) kann als ein geschlossenes Regelkreissystem betrachtet werden, das einen ausgeglichenen Punkt aufweist, bei dem
In diesem Fall kann f* eine optimale faire Rate wiedergeben. Die Gleichung 5 an dem ausgeglichenen Punkt kann also wie folgt sein:
-
In diesem Fall kann r* eine optimale Rate wiedergeben, mit der einzelne Quellknoten i wie etwa ein vorgeordneter Knoten 106A (1) durch einen mit einem nachgeordneten Knoten 106B (1) assoziierten Bottleneck-Link 108 (1) senden können.
-
Unter Verwendung der Gleichung 8 und der Gleichung 6 kann Folgendes erhalten werden:
-
In diesem Fall kann sich aus der Gleichung 9 ergeben, dass der P-Regler die folgenden gewichteten maximalen/minimalen Fair-Raten erzielt:
-
Zusätzlich zu den oben beschriebenen gewichteten maximalen/minimalen fairen Raten von Gleichung 10 können Stabilitätsbedingungen für Steuerverstärkungen einschließlich einer proportionalen Verstärkung k
p für einen P-Regler gefunden werden. Unter Verwendung der Gleichung 5 und der Gleichung 6 kann Folgendes erhalten werden:
-
In diesem Fall kann
eine Round-Trip-Zeit zwischen einem Quellknoten i wie etwa einem vorgeordneten Knoten
106A (
1) und einem mit einem nachgeordneten Knoten
106B (
1) assoziierten Bottleneck-Link
108 (
1) wiedergeben.
-
Unter Verwendung der Laplace-Transformation von Gleichung 8 und Gleichung 11 können die folgenden weiter oben erläuterten Gleichungen 2 und/oder 3 erhalten werden:
und
-
Der Einfachheit halber kann eine Round-Trip-Verzögerung τi = τ, ∀ i ∈ N angenommen werden. In diesem Fall kann r eine obere Grenze der Round-Trip-Verzögerung τi wiedergeben. Entsprechend kann der Steuerprozess 400 wenigstens teilweise auf der Basis der Gleichung 2, Gleichung 3 und/oder Gleichung 1 formuliert werden.
-
Der Steuerprozess
400 von
4 kann wenigstens teilweise durch eine charakteristische Gleichung in der Laplace-Domäne wie folgt wiedergegeben werden:
-
Durch das Einsetzen der folgenden Gleichungen s = jω und e
-j
ωτ = cos (ωτ) - j sin (ωτ) kann die folgende Gleichung erhalten werden:
-
Nach einer algebraischen Manipulation können die folgenden Bedingungen, unter denen ein geschlossenes Regelkreissystem stabil sein kann, wenigstens teilweise auf der Basis der vorstehend angegebenen Gleichung 13 erhalten werden.
-
In diesem Fall kann W eine Summe von mit Quellknoten i des RPR-Netzwerks 100 (1) assoziierten Gewichten wiedergeben und kann τ eine obere Grenze einer derartigen Round-Trip-Verzögerung τi zum Beispiel zwischen einem mit einem nachgeordneten Knoten 106B des RPR-Netzwerks 100 (1) assoziierten Bottleneck-Link 108 (1) und einem vorgeordneten Knoten 106A (1) des RPR-Netzwerks 100 ( 1) wiedergeben. Dementsprechend kann das Bestimmen einer fairen Rate wie weiter unten erläutert wenigstens teilweise auf einer Round-Trip-Verzögerung τi zwischen einem Bottleneck-Link 108 (1) des RPR-Netzwerks 100 (1) und wenigstens einem Quellknoten i des RPR-Netzwerks 100 (1) beruhen.
-
Eine diskrete Implementierung des P-Reglers kann derart beschaffen sein, dass das Auftreten einer Abtastung zu nichtkontinuierlichen Zeiten berücksichtigt wird. Eine derartige Implementierung des P-Reglers in einer diskreten Zeit kann wenigstens teilweise auf einer Ableitung der Gleichung 7 in der Echtzeitdomäne beruhen und kann wie folgt ausgedrückt werden:
-
In diesem Fall kann F(n) eine aktuelle faire Rate wiedergeben, kann n eine Abtastzeit wiedergeben, kann F(n-1) eine vorausgehende faire Rate wiedergeben, kann kp eine proportionale Verstärkung wiedergeben, kann e(n) eine Differenz zwischen einer Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge wiedergeben und kann e(n-1) eine vorausgehende Differenz zwischen einer Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge wiedergeben. Dementsprechend kann das Bestimmen einer fairen Rate F(n) wenigstens teilweise auf einer Differenz zwischen der Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge beruhen. Zusätzlich oder alternativ hierzu kann eine Bestimmung einer fairen Rate F(n) wenigstens teilweise auf einer Änderungsrate einer Differenz zwischen der Zielwarteschlangenlänge und einer aktuellen Transitwarteschlangenlänge beruhen.
-
5 ist ein Diagramm, das ein Beispiel für ein unausgeglichenes Verkehrsszenario 500 gemäß der Erfindung zeigt. Ein wie mit Bezug auf 2 und 4 beschrieben beschaffener P-Regler 222 kann eine oder mehrere mit Knoten 106A, 106B usw. in einem RPR-Netzwerk 100 assoziierte Weiterleitungsraten in unausgeglichenen Verkehrsszenarien stabilisieren. Unter „unausgeglichenen Verkehrsszenarien“ sind hier Szenarien zu verstehen, in denen eine Variation in den Informationsraten von vorgeordneten Knoten 106A usw. gegeben ist. Zum Beispiel können in einem unausgeglichenen Verkehrsszenario eine oder mehrere Informationsraten von vorgeordneten Knoten 106A usw. gierig sein, während gleichzeitig eine oder mehrere Informationsraten von den vorgeordneten Knoten 106A usw. nicht gierig sind und etwa eine bestimmte vorgegebene Rate aufweisen.
-
In dem beispielhaften unausgeglichenen Verkehrsszenario
500 kann ein Fluss von einem ersten Knoten
502 zu einem dritten Knoten
506 gierig sein, während ein Fluss von einem zweiten Knoten
504 zu einem dritten Knoten
506 eine niedrige Rate aufweisen kann. Zum Beispiel kann der Fluss von dem zweiten Knoten
504 zu dem dritten Knoten
506 eine niedrige Rate von 50 Megabit pro Sekunde (Mbit/s) aufweisen. Ein Link
508 zwischen dem ersten Knoten
502 und dem zweiten Knoten
504 und ein Link
510 zwischen dem zweiten Knoten
504 und dem dritten Knoten
506 kann eine fixe Kapazität von etwa 622 Mbit/s aufweisen. In dem unausgeglichenen Verkehrsszenario
500 kann der zweite Knoten
504 überlastet werden, wenn die Summe aus der Rate des Flusses
512 von dem zweiten Knoten
504 zu dem dritten Knoten
506 und aus der Rate des Flusses
514 von dem ersten Knoten
502 zu dem dritten Knoten
506 größer als die Kapazität des Links
510 zwischen dem zweiten Knoten
504 und dem dritten Knoten
506 ist. In diesem Fall kann der Link
510 ein Bottleneck-Link sein und kann der zweite Knoten
504 eine aktualisierte faire Rate zu den vorgeordneten Knoten wie etwa dem ersten Knoten
502 senden. In dem beispielhaften unausgeglichenen Verkehrsszenario
500 kann die Vorwärtsverzögerung
die Zeitdauer wiedergeben, die ein Paket benötigt, um von dem ersten Knoten
502 zu dem STQ-Puffer
216 (
2) des zweiten Knotens
504 zu gehen, während die Rückwärtsverzögerung
die Zeitdauer zwischen der Initiierung der Kommunikation einer aktualisierten fairen Rate an dem zweiten Knoten
504 und dem Empfang derselben an dem ersten Knoten
502 wiedergeben kann.
-
6 ist ein Diagramm, das ein beispielhaftes unausgeglichenes Verkehrsszenario 600 gemäß der Erfindung zeigt. In diesem beispielhaften unausgeglichenen Verkehrsszenario 600 sind zehn Knoten 601-610 vorgesehen. In dem unausgeglichenen Verkehrsszenario 600 weisen alle Links 612 dieselbe Kapazität von etwa 622 Mbit/s auf und weist jeder Link 612 eine Fortpflanzungsverzögerung von 0,1 ms auf. Alle Weiterleitungsratenflüsse sind UDP-Flüsse, wobei alle Flüsse zum Zeitpunkt 0 starten. Die Flüsse 614, 616 und 618 sind gierig, während der Fluss 622 eine Rate gleich 50 Mbit/s aufweist. In dem unausgeglichenen Verkehrsszenario 600 kann ein unausgeglichener Verkehr an dem Link 624 auftreten. Ohne die Verwendung eines P-Reglers 222 (2) kann eine Oszillation während des Betriebs aufgrund des unausgeglichenen Verkehrs an dem Link 624 auftreten. Eine derartige Oszillation kann zu einem Bandbreitenverlust führen. Außerdem können ohne die Verwendung des P-Reglers 222 (2) aufgrund einer Überlastung die Längen mehrerer mit den Knoten 601-610 assoziierten Transitwarteschlangen größer werden.
-
Das Diagramm 700 von 7 zeigt den Durchsatz in der Zeit in einem beispielhaften unausgeglichenen Verkehrsszenario 500 gemäß der Erfindung. Wie gezeigt, können die Weiterleitungsratenflüsse 512 und 514 zu ihren entsprechend stabilisierten, optimalen fairen Raten zusammengeführt werden. Unter einem „stabilisierten“ Zustand ist ein Zustand mit wenig oder gar keiner Oszillation in einem Dauerbetrieb zu verstehen.
-
Das Diagramm
800 von
8 zeigt den Durchsatz in der Zeit in einem beispielhaften unausgeglichenen Verkehrsszenario
600 gemäß der Erfindung. In den Simulationsergebnissen von
8 wurde das Messzeitintervall auf T = 1 ms gesetzt und wurde die Ziellänge der Transitwarteschlange auf
gesetzt. Die Simulationsergebnisse von
8 wurden unter Verwendung eines RPR-Simulators erhalten, wie er in
S. Gjessing, „The Simula RPR Simulator implemented in Java", Simula Research Laboratory Technical Report 2003-12, December 2003 beschrieben wird. Wie in
8 gezeigt, können die Flüsse
614-
620 und der Fluss
622 zu ihren entsprechend stabilisierten, optimalen fairen Raten im Dauerbetrieb zusammengeführt werden.
-
9 zeigt ein beispielhaftes Computerprogrammprodukt 900 gemäß der Erfindung. Das Programmprodukt 900 kann ein Signalträgermedium 902 umfassen. Das Signalträgermedium 902 kann einen oder mehrere maschinenlesbare Befehle 904 enthalten, die bei einer Ausführung durch einen oder mehrere Prozessoren veranlassen, dass eine Rechenvorrichtung die oben mit Bezug auf 3 und/oder 4 beschriebenen Funktionen ausführt. Mit Bezug auf das System von 2 kann der P-Regler 222 also eine oder mehrere der in 3 und/oder 4 gezeigten Schritte in Reaktion auf Befehle 904 aus dem Medium 902 ausführen.
-
In einigen Implementierungen kann das Signalträgermedium 902 ein computerlesbares Medium 906 wie etwa ein Festplattenlaufwerk, eine CD, eine DVD, ein Digitalband, ein Speicher usw. sein. In einigen Implementierungen kann das Signalträgermedium 902 ein beschreibbares Medium 908 wie etwa einen Speicher, eine wiederbeschreibbare CD, eine wiederbeschreibbare DVD usw. sein. In einigen Implementierungen kann das Signalträgermedium 902 ein Kommunikationsmedium 910 wie etwa ein digitales und/oder analoges Kommunikationsmedium (z.B. ein Glasfaserkabel, ein Wellenleiter, eine verdrahtete Kommunikationsverbindung, eine drahtlose Kommunikationsverbindung usw. sein).
-
10 ist ein Blockdiagramm, das eine beispielhafte Rechenvorrichtung 1000 gemäß der Erfindung zeigt. In einer beispielhaften Konfiguration 1001 kann die Rechenvorrichtung 1000 einen oder mehrere Prozessoren 1010 und einen Systemspeicher 1020 enthalten. Ein Speicherbus 1030 kann für die Kommunikation zwischen dem Prozessor 1010 und dem Systemspeicher 1020 verwendet werden.
-
Je nach der gewünschten Konfiguration kann der Prozessor 1010 von einem beliebigen Typ sein, wobei es sich etwa um einen Mikroprozessor (pP), einen Mikrocontroller (µC), einen Digitalsignalprozessor (DSP) oder eine Kombination aus denselben handeln kann. Der Prozessor 1010 kann eine oder mehrere Cacheebenen mit etwa einem Level-1-Cache 1011 und einem Level-2-Cache 1012, einen Prozessorkern 1013 und Register 1014 enthalten. Der Prozessorkern 1013 kann eine arithmetisch-logische Einheit (ALU), eine Gleitkommaeinheit (FPU), einen Digitalsignalkern (DSP-Kern) oder eine Kombination aus denselben enthalten. Ein Speicher-Controller 1015 kann in Verbindung mit dem Prozessor 1010 verwendet werden, wobei der Speicher-Controller 1015 in einigen Implementierungen ein integrierter Teil des Prozessors 1010 sein kann.
-
Je nach der gewünschten Konfiguration kann der Systemspeicher 1020 von einem beliebigen Typ sein, wobei es sich etwa um einen flüchtigen Speicher (wie etwa einen RAM), einen nicht-flüchtigen Speicher (wie etwa einen ROM, einen Flash-Speicher usw.) oder eine Kombination aus denselben handeln kann. Der Systemspeicher 1020 kann ein Betriebssystem 1021, eine oder mehrere Anwendungen 1022 und Programmdaten 1024 enthalten. Die Anwendung 1022 kann einen Bandbreitenzuweisungsalgorithmus 1023 in einem Resilient Packet Ring-Netzwerk umfassen, um die hier beschriebenen Funktionen einschließlich der Funktionsblöcke und/oder Schritte des Prozesses 300 von 3 und/oder des Prozesses 400 von 4 auszuführen. Die Programmdaten 1024 können Daten 1025 für die Verwendung in dem Bandbreitenzuweisungsalgorithmus enthalten, wobei es sich zum Beispiel um Daten zum Angeben von einer oder mehreren Transitwarteschlangenlängen handeln kann. In einigen beispielhaften Ausführungsformen kann die Anwendung 1022 vorgesehen sein, um mit Programmdaten 1024 auf einem Betriebssystem 1021 zu operieren, sodass Implementierungen für eine Bandbreitenzuweisung wie hier beschrieben vorgesehen werden können. Zum Beispiel kann der RPR-Knoten 106B die gesamte oder einen Teil der Rechenvorrichtung 1000 umfassen und kann die gesamte oder einen Teil der Anwendung 1022 derart ausführen, dass die Implementierungen für eine Bandbreitenzuweisung wie hier beschrieben vorgesehen werden können. Die beschriebene Grundkonfiguration wird in 10 durch die innerhalb der Strichlinie 1001 eingeschlossenen Komponenten gebildet.
-
Die Rechenvorrichtung 1000 kann zusätzliche Merkmale oder Funktionen sowie zusätzliche Schnittstellen für Kommunikationen zwischen der Grundkonfiguration 1001 und weiteren erforderlichen Vorrichtungen und Schnittstellen aufweisen. Zum Beispiel kann ein Bus/Schnittstellen-Controller 1040 kann verwendet werden, um Kommunikationen zwischen der Grundkonfiguration 1001 und einer oder mehreren Datenspeichereinrichtungen 1050 über einen Speicherschnittstellenbus 1041 zu ermöglichen. Die Datenspeichereinrichtungen 1050 können entfernbare Speichereinrichtungen 1051, nicht-entfernbare Speichereinrichtungen 1052 oder eine Kombination aus denselben sein. Beispiele für entfernbare und nicht-entfernbare Speichereinrichtungen sind Magnetplatteneinrichtungen wie etwa Diskettenlaufwerke oder Festplattenlaufwerke, Optikplattenlaufwerke wie etwa CD- oder DVD-Laufwerke, Festkörperlaufwerke (SSD) und Bandlaufwerke. Beispielhafte Computerspeichermedien können flüchtige und nicht-flüchtige, entfernbare und nicht-entfernbare Medien umfassen, die durch ein beliebiges Verfahren oder eine beliebige Technik für das Speichern von Informationen wie etwa computerlesbaren Befehlen, Datenstrukturen, Programmmodulen oder anderen Daten implementiert werden können.
-
Der Systemspeicher 1020, der entfernbare Speicher 1051 und der nicht-entferbare Speicher 1052 sind alles Beispiele für Computerspeichermedien. Computerspeichermedien umfassen RAMs, ROMs, EEPROMs, Flash-Speicher oder andere Speichertechnologien, CD-ROMs, DVDs oder andere optische Speicher, Magnetkassetten, Magnetbänder, Magnetplattenpeicher oder andere Magnetspeichereinrichtungen sowie beliebige andere Medien, die für das Speichern von gewünschten Informationen verwendet werden können und auf die durch die Rechenvorrichtung 1000 zugegriffen werden kann. Ein derartiges Computerspeichermedium kann Teil der Vorrichtung 1000 sein.
-
Die Rechenvorrichtung 1000 kann einen Schnittstellenbus 1042 zum Herstellen einer Kommunikation von verschiedenen Schnittstelleneinrichtungen (z.B. Ausgabeschnittstellen, Peripherieschnittstellen und Kommunikationsschnittstellen) zu der Grundkonfiguration 1001 über den Bus/Schnittstellen-Controller 1040 umfassen. Beispielhafte Ausgabeschnittstellen 1060 sind eine Grafikverarbeitungseinheit 1061 und eine Audioverarbeitungseinheit 1062, die konfiguriert sein können, um mit verschiedenen externen Vorrichtungen wie etwa einem Display oder Lautsprechern über eine oder mehrere A/V-Ports 1063 zu kommunizieren. Beispielhafte Peripherieschnittstellen 1060 können einen seriellen Schnittstellen-Controller 1071 oder einen parallelen Schnittstellen-Controller 1072 umfassen, der konfiguriert sein kann, um mit externen Einrichtungen wie etwa Eingabeeinrichtungen (z.B. einer Tastatur, einer Maus, einem Eingabestift, einer Spracheingabeeinrichtung, einer Berührungseingabeeinrichtung usw.) oder anderen Peripheriegeräten (z.B. einem Drucker, einem Scanner usw.) über einen oder mehrere E/A-Ports 1073 zu kommunizieren. Eine beispielhafte Kommunikationsschnittstelle 1080 umfasst einen Netzwerk-Controller 1081, der angeordnet sein kann, um Kommunikationen mit einer oder mehreren anderen Rechenvorrichtungen 1090 mittels eine Netzwerkkommunikation über einen oder mehrere Kommunikationsports 1082 zu ermöglichen. Eine Kommunikationsverbindung ist ein Beispiel für ein Kommunikationsmedium. Kommunikationsmedien können gewöhnlich durch computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal wie etwa einer Trägerwelle oder einem anderen Transportmechanismus verkörpert sein und können beliebige Informationsübertragungsmedien umfassen. Ein „moduliertes Datensignal“ kann ein Signal sein, das eine oder mehrere Eigenschaften aufweist, die derart gesetzt oder geändert werden, dass Informationen in dem Signal codiert werden können. Beispiele für Kommunikationsmedien sind etwa ein verdrahtetes Netzwerk oder eine direkte Drahtverbindung sowie drahtlose Medien wie etwa akustische, Hochfrequenz-, Infrarot- oder andere drahtlose Medien. Als ein computerlesbares Medium kann hier sowohl ein Speichermedium als auch ein Kommunikationsmedium bezeichnet werden.
-
Die Rechenvorrichtung 1000 kann als ein Teil eines kleinformatigen, tragbaren (mobilen) Elektronikgeräts wie etwa eines Mobiltelefons, eines PDAs, eines persönlichen Medien-Players, eines drahtlosen Internetgeräts, eines persönlichen Headsets, eines anwendungsspezifischen Geräts oder eines hybriden Geräts mit einer der vorstehend genannten Funktionen implementiert werden. Die Rechenvorrichtung 1000 kann auch als ein PC mit einer Laptop- oder nicht-Laptop-Konfiguration implementiert werden. Weiterhin kann die Rechenvorrichtung 1000 als ein Teil einer Funkbasisstation oder eines anderen drahtlosen Systems oder einer anderen drahtlosen Einrichtung wie etwa des oben mit Bezug auf 2 beschriebenen Knotens 106B implementiert werden.
-
Einige Teile der vorstehenden ausführlichen Beschreibung nehmen Bezug auf Algorithmen oder symbolische Darstellungen von Operationen auf Datenbits oder binären Digitalsignalen, die in einem Rechensystemspeicher wie etwa einem Computerspeicher gespeichert sind. Diese algorithmischen Beschreibungen werden durch den Datenverarbeitungsfachmann verwendet, um den Inhalt seiner Arbeit für andere Fachmänner darzustellen. Ein Algorithmus ist hier wie auch allgemein als eine selbständige Abfolge von Operationen oder ähnlichen Verarbeitungen, die zu einem gewünschten Ergebnis führen, zu verstehen. In diesem Kontext umfassen die Operationen oder Verarbeitungen eine physikalische Manipulation von physikalischen Größen. Gewöhnlich nehmen derartige Größen die Form von elektrischen oder magnetischen Signalen an, die gespeichert, übertragen, kombiniert, verglichen oder auf andere Weise manipuliert werden können. Es hat sich als praktisch herausgestellt und zu einer Konvention entwickelt, derartige Signale als Bits, Daten, Werte, Elemente, Symbole, Zeichen, Terme, Zahlen oder ähnliches zu bezeichnen. Es sollte jedoch deutlich sein, dass hinter all diesen oder ähnlichen Bezeichnungen jeweils physikalische Größen stehen und es sich lediglich um eine praktische Umschreibung handelt. Soweit hier nicht anders angegeben, werden in der folgenden Beschreibung durchgängig Begriffe wie „Verarbeiten“, „Berechnen“, „Bestimmen“ oder ähnliches verwendet, um Aktionen oder Prozesse einer Rechenvorrichtung zum Manipulieren oder Transformieren von Daten, die als physikalische elektronische oder magnetische Größen in Speichern, Registern oder anderen Informationsspeichereinrichtungen, Übertragungseinrichtungen oder Anzeigeeinrichtungen der Rechenvorrichtung wiedergegeben werden, zu bezeichnen.
-
Der beanspruchte Gegenstand ist nicht auf die hier beschriebenen Implementierungen beschränkt. Zum Beispiel sind auch Hardwareimplementierungen möglich, die auf einem Gerät oder auf einer Kombination von Geräten betrieben werden. Es sind aber auch Implementierungen in Software und/oder Hardware möglich. Einige Implementierungen können einen oder mehrere Artikel wie etwa ein Signalträgermedium und/oder ein Speichermedium umfassen. Speichermeiden wie etwa CD-ROMs, Festplatten, Flash-Speicher oder ähnliches können zum Beispiel darauf gespeicherte Befehle enthalten, die bei einer Ausführung durch eine Rechenvorrichtung wie etwa ein Rechensystem, eine Rechenplattform oder ein anderes System veranlassen können, dass ein Prozessor in Übereinstimmung mit dem beanspruchten Gegenstand wie in einer der zuvor beschriebenen Implementierungen betrieben wird. Eine Rechenvorrichtung kann eine oder mehrere Verarbeitungseinheiten oder Prozessoren, eine oder mehrere Ein-/Ausgabegeräte wie etwa ein Display, eine Tastatur und/oder eine Maus und einen oder mehrere Speicher wie etwa einen statischen RAM, einen dynamischen RAM, einen Flash-Speicher und/oder eine Festplatte umfassen.
-
Hardware- und Softwareimplementierungen liefern dieselben Ergebnisse, wobei die Entscheidung für eine Verwendung von Hardware oder Software allgemein mit Rücksicht auf die Kosten und die gewünschte Effizienz getroffen wird (in bestimmten Kontexten kann jedoch die Wahl zwischen Hardware und Software aus anderen Gründen von Bedeutung sein). Die Prozesse und/oder Systeme und/oder anderen hier beschriebenen Techniken können auf verschiedene Weise (z.B. Hardware, Software und/oder Firmware) umgesetzt werden, wobei die zu bevorzugende Umsetzung von dem Kontext abhängig ist, in dem die Prozesse und/oder Systeme und/oder anderen Techniken eingesetzt werden. Wenn zum Beispiel ein Entwickler bestimmt, dass die Geschwindigkeit und die Genauigkeit von größter Bedeutung sind, kann sich der Entwickler für eine Implementierung in Hardware und/oder Firmware entscheiden. Wenn dagegen die Flexibilität ausschlaggebend ist, kann sich der Entwickler für eine vor allem durch Software realisierte Implementierung entscheiden. Es sind aber auch verschiedene Kombinationen aus Hardware, Software und/oder Firmware möglich.
-
In der vorstehend gegebenen ausführlichen Beschreibung wurden verschiedene Ausführungsformen der Vorrichtungen und/oder Prozesse mit Bezug auf Blockdiagramme, Flussdiagramme und/oder Beispiele erläutert. Sofern diese Blockdiagramme, Flussdiagramme und/oder Beispiele eine oder mehrere Funktionen und/oder Operationen angeben, sollte dem Fachmann deutlich sein, dass die Funktionen und/oder Operationen in den Blockdiagrammen, Flussdiagrammen oder Beispielen einzeln und/oder insgesamt durch Hardware, Software, Firmware oder beliebige Kombinationen aus denselben realisiert werden können. In einer Ausführungsform können verschiedene Teile des beschriebenen Gegenstands durch anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare integrierte Schaltungen (FPGAs), Digitalsignalprozessoren (DSPs) oder andere integrierte Formate implementiert werden. Dem Fachmann sollte jedoch deutlich sein, dass einige Aspekte der hier beschriebenen Ausführungsformen vollständig oder teilweise als integrierte Schaltungen, als ein oder mehrere Computerprogramme für die Ausführung auf einem oder mehreren Computern (z.B. als ein oder mehrere Programme für die Ausführung auf einem oder mehreren Computersystemen), als ein oder mehrere Programme für die Ausführung auf einem oder mehreren Prozessoren (z.B. als ein oder mehrere Programme für die Ausführung auf einem oder mehreren Mikroprozessoren), als Firmware oder als eine beliebige Kombination aus denselben realisiert werden können, wobei der Fachmann auf der Grundlage der hier gegebenen Lehren den Schaltungsaufbau entwerfen und/oder den Code für die Software und/oder Firmware schreiben kann. Außerdem sollte dem Fachmann deutlich sein, dass die Mechanismen des hier beschriebenen Gegenstands in der Form eines Computerprodukts auf verschiedene Weise vertrieben werden können, wobei die hier beschriebenen Ausführungsformen des Gegenstands unabhängig von dem bestimmten Typ des Signalträgermediums sind, das für die tatsächliche Übertragung der Distribution verwendet wird. Beispiele für ein Signalträgermedium sind etwa ein Aufzeichnungsmedium wie etwa eine Diskette, eine Festplatte, eine CD, eine DVD, ein Digitalband, ein Computerspeicher usw. oder ein Übertragungsmedium wie etwa ein digitales und/oder analoges Kommunikationsmedium (z.B. ein Glasfaserkabel, ein Wellenleiter, eine verdrahtete Kommunikationsverbindung, eine drahtlose Kommunikationsverbindung usw.).
-
Dem Fachmann sollte deutlich sein, dass es in der Branche üblich ist, Vorrichtungen und/oder Prozesse in der hier verwendeten Weise zu beschreiben und anschließend verschiedene Entwicklungsansätze zu verwenden, um die derart beschriebenen Vorrichtungen und/oder Prozesse zu Datenverarbeitungssystemen zu integrieren. Wenigstens ein Teil der hier beschriebenen Vorrichtungen und/oder Prozesse können durch einen angemessenen Aufwand von Experimenten zu einem Datenverarbeitungssystem integriert werden. Dem Fachmann sollte bewusst sein, dass ein typisches Datenverarbeitungssystem allgemein eine oder mehrere der folgenden Einheiten umfasst: ein Systemeinheitsgehäuse, eine Videoanzeigeeinrichtung, einen Speicher wie etwa einen flüchtigen oder einen nicht-flüchtigen Speicher, Prozessoren wie etwa Mikroprozessoren und Digitalsignalprozessoren, Recheneinheiten wie etwa Betriebssysteme, Treiber, graphische Benutzeroberflächen und Anwendungsprogramme, eine oder mehrere Interaktionseinrichtungen wie etwa ein Touchpad oder einen Berührungsbildschirm, und/oder Steuersysteme einschließlich von Regelschleifen und Steuermotoren (z.B. eine Regelschleife zum Erfassen einer Position und/oder Geschwindigkeit; und Steuermotoren zum Bewegen und/oder Einstellen von Komponenten und/oder Größen). Ein typisches Datenverarbeitungssystem kann unter Verwendung von beliebigen kommerziell erhältlichen Komponenten implementiert werden, die gewöhnlich in Systemen und/oder Netzwerken für die Berechnung und Kommunikation von Daten verwendet werden.
-
Der hier beschriebene Gegenstand wird gelegentlich derart veranschaulicht, dass verschiedene Komponenten oder Elemente in anderen Komponenten oder Elementen enthalten oder mit denselben verbunden sind. Es ist zu beachten, dass die hier beschriebenen Architekturen lediglich beispielhaft aufzufassen sind und dass auch viele andere Architekturen implementiert werden können, um dieselben Funktionen zu erzielen. In einem konzeptuellen Sinn kann eine beliebige Anordnung von Komponenten effektiv miteinander assoziiert werden, um die gewünschten Funktionen zu erzielen. Dementsprechend können zwei beliebige Komponenten, die miteinander kombiniert sind, um eine bestimmte Funktion zu erfüllen, als derart „miteinander assoziiert“ betrachtet werden, dass die gewünschte Funktion unabhängig von den Architekturen oder den verwendeten Zwischenkomponenten erfüllt wird. Weiterhin können zwei beliebige, derart assoziierte Komponenten als „operativ verbunden“ oder „operativ gekoppelt“ für die Erfüllung einer gewünschten Funktion betrachtet werden. Und zwei beliebige Komponenten, die derart assoziiert werden können, können als „operativ koppelbar“ für die Erfüllung der gewünschten Funktion betrachtet werden. Beispiele für operativ koppelbare Komponenten sind Komponenten, die physikalisch, drahtlos und/oder logisch miteinander interagieren können.
-
Was die Verwendung der Singular- und/oder Pluralformen von Einheiten in der vorliegenden Beschreibung betrifft, sollte dem Fachmann deutlich sein, dass in verschiedenen Kontexten und/oder Anwendungen zwischen den Singular- und Pluralformen gewechselt werden kann. Gelegentlich wird auch ausdrücklich auf den möglichen Wechsel zwischen den Singular- und Pluralformen aufmerksam gemacht.
-
Dem Fachmann sollte deutlich sein, dass die hier verwendete Terminologie insbesondere in den angehängten Ansprüchen allgemein in einem weiten Sinne zu interpretieren ist (z.B. ist die Formulierung „enthält“ allgemein als „enthält, aber ist nicht beschränkt auf“ zu interpretieren und ist die Formulierung „aufweist“ als „weist wenigstens auf“ zu interpretieren, usw). Weiterhin sollte der Fachmann beachten, dass in den Ansprüchen nur dann von einer bestimmten Anzahl von Elementen auszugehen ist, wenn diese ausdrücklich angegeben ist. Wenn keine Mengenangaben gemacht werden, ist die Menge der Elemente nicht näher eingeschränkt. Zum Beispiel können in den beigefügten Ansprüchen die Formulierungen „wenigstens ein“ oder „ein oder mehr“ verwendet werden. Das bedeutet aber nicht, dass bei der Verwendung von unbestimmten Artikeln an anderen Stellen nur von einer einzelnen Einheit auszugehen ist (d.h. auch die Verwendung des unbestimmten Artikels ist als „wenigstens ein“ oder „ein oder mehr“ zu interpretieren). Dasselbe gilt für bestimmte Artikel. Und auch wenn eine bestimmte Anzahl genannt wird, sollte dem Fachmann deutlich sein, dass diese Anzahl als Mindestanzahl zu interpretieren ist (wenn also von „zwei“ Einheiten gesprochen wird, ist dies als „mindestens zwei“ Einheiten oder „zwei oder mehr“ Einheiten zu interpretieren). Und wenn die Formulierung „A, B und/oder C“ gewählt ist, ist dies der allgemeinen Konvention folgend derart zu interpretieren, dass zum Beispiel „ein System mit A, B und/oder C“ jeweils ein System mit nur A, nur B, nur C, A und B, A und C, B und C, oder A, B und C sein kann. Weiterhin sollte der Fachmann beachten, dass bei einer Nebeneinanderstellung von zwei alternativen Einheiten in der Beschreibung, in den Ansprüchen und in den Zeichnungen jeweils davon auszugehen ist, dass entweder nur eine der Einheiten oder beide Einheiten vorgesehen sein können. So ist die Phrase „A oder B“ derart zu verstehen, dass nur A, nur B oder aber A und B vorgesehen sein können.
-
Weiterhin ist zu beachten, dass eine „Optimierung“ eine Maximierung und/oder eine Minimierung sein kann. Eine Minimierung kann zu einem globalen Minimum, einem lokalen Minimum, ein annähernden globalen Minimum und/oder einem annähernden lokalen Minimum führen. Entsprechend kann eine Maximierung zu einem globalen Maximum, einem lokalen Maximum, ein annähernden globalen Maximum und/oder einem annähernden lokalen Maximum führen.
-
Wenn in der vorliegenden Beschreibung von einer oder mehreren Implementierungen gesprochen wird, bedeutet dies, dass ein bestimmtes Merkmal, ein bestimmter Aufbau oder eine bestimmte Eigenschaft in wenigstens einigen Implementierungen aber nicht unbedingt in allen Implementierungen enthalten sein können. Die verschiedenen Nennungen von einer oder mehreren Implementierungen in der vorliegenden Beschreibung beziehen sich nicht notwendigerweise auf dieselben Implementierungen.
-
Es werden hier bestimmte beispielhafte Techniken beschrieben und gezeigt, wobei dem Fachmann deutlich sein sollte, dass verschiedene Modifikationen an den beschriebenen Ausführungsformen vorgenommen werden können oder äquivalente Aufbauten oder Vorgehensweisen verwendet werden können, ohne dass deshalb der Erfindungsumfang verlassen wird. Es können also viele Modifikationen vorgenommen werden, um eine bestimmte Situation an die Lehren des beanspruchten Gegenstands anzupassen, ohne dass deshalb von dem hier beschriebenen erfinderischen Konzept abgewichen wird. Der Erfindungsumfang wird nicht durch die hier beschriebenen Beispiele eingeschränkt, sondern wird durch die beigefügten Ansprüche und deren Äquivalente definiert.