DE69626946T2 - Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes - Google Patents
Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-AnsatzesInfo
- Publication number
- DE69626946T2 DE69626946T2 DE69626946T DE69626946T DE69626946T2 DE 69626946 T2 DE69626946 T2 DE 69626946T2 DE 69626946 T DE69626946 T DE 69626946T DE 69626946 T DE69626946 T DE 69626946T DE 69626946 T2 DE69626946 T2 DE 69626946T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- data flow
- flow
- cell
- flows
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 49
- 230000005540 biological transmission Effects 0.000 title claims description 19
- 238000013459 approach Methods 0.000 title description 3
- 230000007774 longterm Effects 0.000 claims description 7
- 210000004027 cell Anatomy 0.000 claims 29
- 230000001186 cumulative effect Effects 0.000 claims 2
- 210000004287 null lymphocyte Anatomy 0.000 claims 2
- 230000008859 change Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L12/5602—Bandwidth control in ATM Networks, e.g. leaky bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/5631—Resource management and allocation
- H04L2012/5632—Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur ratenbasierten Ablaufplanung und zur gewichteten fairen geteilten Nutzung einer gemeinsamen Ressource. Das Problem der ratenbasierten Ablaufplanung und der gewichteten fairen geteilten Nutzung besteht in vielen verschiedenen Zusammenhängen und bezieht sich zum Beispiel auf das Gebiet von Computernetzen oder auf die Prozessorkonstruktion. Allgemein bezieht sich die vorliegende Erfindung auf ein beliebiges Problem der Ablaufplanung von Aufgaben gemäß einiger Raten in einem breiten Zusammenhang von Umgebungen und Anwendungen.
- Das Problem der Ablaufplanung unterschiedlicher Aufgaben, die eine gemeinsame Ressource geteilt nutzen, tritt in vielen verschiedenen Zusammenhängen auf. In allgemeinster Weise kann es wie folgt ausgedrückt werden:
- Eine einzige Ressource einer bestimmten Art wird von mehreren durch Ganzzahlen indizierten Instanzen i = 1, 2, ... n gemeinsam genutzt. Jede Instanz hat eine ihr zugeordnete Rate R(i). Die Raten werden auf eine solche Weise zugewiesen, dass die Summe aller R(i) die Kapazität der Ressource nicht überschreitet. In Computernetzen ist die Instanz zum Beispiel ein einzelner Fluss, und die gemeinsame Ressource kann eine begrenzte Kommunikationsverbindung oder eine Serverkapazität sein. Die Instanzen können in bestimmten Dienstinkrementen eine nach der anderen bedient werden. Zum Beispiel ist das Dienstinkrement für einen Netzwerkfluss ein Paket (oder Zelle in der ATM- Terminologie). Eine als Ablaufplaner (Scheduler) bezeichnete Vorrichtung muss die Dienstreihenfolge für verschiedene Instanzen festlegen, so dass die von einer Instanz empfangene durchschnittliche Dienstrate ihre zugewiesene Rate R(i) ist. Neben dem Garantieren der langzeitlichen Durchschnittsrate ist ein wichtiges Ziel, die Diskrepanz zwischen idealen und tatsächlichen Dienstzeiten eines jedes einzelnen Dienstinkrements, d. h. jedes Pakets eines jeden Flusses, zu minimieren.
- Ein Beispiel einer Umgebung, wo ein solches Problem auftritt, ist ein Prozessor, der den Ablauf von Aufgaben planen muss, die um seine Zyklen im Wettbewerb stehen. Wenn alle Aufgaben gleich wichtig sind, dann ist es wünschenswert, allen Aufgaben einen gleichen Teil der Prozessorkapazität zuzuteilen. Wenn jedoch die Aufgaben einen unterschiedlichen Wichtigkeitsgrad aufweisen, besteht eine mögliche Strategie darin, allen Aufgaben entsprechend ihrer Wichtigkeit Gewichte zuzuweisen, und jeder Aufgabe einen Teil der Prozessorkapazität proportional zu dem dieser Aufgabe zugewiesenen Gewicht zuzuteilen. In diesem Fall werden die erwünschten Dienstraten durch die Gewichte der Flüsse bestimmt. Eine alternative Möglichkeit könnte darin bestehen, Flüssen nach einer anderen Regel Raten zuzuweisen, wobei die Regel für eine bestimmte Vorgehensweise und Umgebung des Problems spezifisch ist. Eine Regel könnte zum Beispiel darin bestehen, dass Aufgaben hoher Priorität eine bestimmte feste Zuweisung bekommen, und dann die verbleibende Bandbreite auf die Aufgaben niedriger Priorität aufgeteilt wird.
- Wie schon erwähnt, ist ein weiteres Beispiel, wo ein ähnliches Problem auftreten könnte, bei Computernetzwerken. Bei ATM-Netzwerken ist zum Beispiel normalerweise jedem das Netzwerk durchquerenden Fluss eine bestimmte Rate zugeordnet. Diese Rate kann entweder das Ergebnis einer Verhandlung mit dem Netzwerk zur Zeit des Einrichtens (Setup) sein, wie zum Beispiel für Constant-Bit- Rate-(CBR)-Traffic, oder das Ergebnis eines Verkehrs-Verwaltungs- Regelungsverfahrens, wie das für Available-Bit-Rate (ABR)-Verkehr der Fall ist. Die Menge von Raten kann entweder relativ statisch sein, wie bei Langzeit-CBR-Flüssen, oder kann sich in Reaktion auf Verstopfungen schnell ändern, wie das bei ABR- Flüssen der Fall ist.
- Wenn die Raten nicht explizit zugewiesen sind, was zum Beispiel in vielen Paketvermittlungsnetzwerken der Fall ist, können unterschiedliche Flüsse eine unterschiedliche Wichtigkeit haben. Ein Fluss kann zum Beispiel ein zusammengesetzter Fluss von Daten von 1000 Benutzern sein, während ein anderer Fluss einen einzigen Benutzer repräsentieren kann. Es scheint in einem solchen Fall angemessen, unterschiedlichen Flüssen auf Grund ihrer relativen Wichtigkeit Gewichte zuzuweisen. Wenn die Gesamtnachfrage von Flüssen die Kapazität der begrenzten Ressource, typischerweise einer Kommunikationsverbindung, überschreitet, dann besteht eine Möglichkeit darin, den verstopften Switch mit allen Flüssen proportional zu ihren Gewichten zu bedienen, wie das vorher anhand des Beispiels der gemeinsamen Prozessornutzung beschrieben wurde. Hierdurch werden den Flüssen effektiv Raten zugewiesen.
- In den letzten Jahren haben ratenbasierte Ablaufplanungs-Forschungsgebiete an den Schaltpunkten (Switches) in Computernetzen viel Aufmerksamkeit auf sich gezogen. Eine umfassende Überblicksdarstellung solcher Verfahren findet sich in einem Artikel von Hui Zhang mit dem Titel "Service Disciplines for Guaranteed Performance in Packet-Switching Networks" ("Diensteinteilung für garantierte Leistung in Paketvermittlungs-Netzwerken") Proceedings IEEE, Oktober 1995. Diese Verfahren sind allgemein bei Netzwerk-Switches anwendbar und können den Flüssen zugewiesene Raten garantieren.
- In dem Artikel von G G Xie & S S Lam mit dem Titel "Delay guarantee of virtual clock server" ("Verzögerungsgarantie eines virtuellen Taktservers"), IEEE/ACM-Transactions on Networking 3 (1995), Dezember, Nr. 6, ist ein virtueller Taktserver beschrieben, bei dem eine Quellensteuerung so angepasst ist, dass der Absendezeit von Paketen in einem Fluss vorbestimmte Verzögerungsgrenzen gesetzt werden.
- Das Problem der Ablaufplanung verschiedener Flüsse in Computernetzen existiert nicht nur für die Switche in dem Netzwerk, sondern auch für die Host- Adapter. Zum Beispiel muss ein Adapter in einem ATM-Netzwerk den Ablauf verschiedener Flüsse planen, von denen jeder eine ihm zugeordnete Rate hat. Typischerweise werden die CBR-Flüsse mit einer höheren Priorität nach einem vorberechneten Ablaufplan bedient. Einer der Nachteile der Vorausberechnung des CBR-Plans ist, dass auf Grund der Berechnung ohne Rücksichtnahme auf Nicht- CBR-Flüsse der Dienst an den Nicht-CBR-Flüssen durch die CBR-Bursts unnötig nachteilig beeinflusst werden kann. Die Vorausberechnung des Ablaufplans hat auch den Nachteil, dass sie einen großen Rechenaufwand erfordert und normalerweise in Software in einer langsamen Zeitskala erfolgt. Dies kann zwar für CBR-Flüsse akzeptabel sein, die nur einmal bei der Einrichtung einer neuen Verbindung funktionieren müssen, doch es ist nicht machbar, wenn viele Flüsse mit sich häufig ändernden Raten in ihrem Ablauf geplant werden müssen.
- Ein weiteres Verfahren, das zur ratenbasierten Ablaufplanung bekannt ist, ist der sogenannte Leaky Bucket, der zum Beispiel in der ATM-Forum-Traffic- Management-Spezifikation Version 4.0 beschrieben ist. Das Verfahren erfordert eine große Menge einem Pro-Fluss-Zustand und ist daher für eine große Anzahl von Flüssen nicht machbar.
- Häufig wird auch das sogenannte "Zeitrad" (time-wheel) oder die "Kalenderschlange" (calendar queue) verwendet. Ein Beispiel für die Kalenderschlange kann in dem Artikel von Brown, R. mit dem Titel "Calendar Queue: A fast 0(1) priority queue implementation for the simulation even set problem" ("Kalenderschlange: Eine schnelle 0(1)-Prioritätsschlangen-Implementierung für das Problem bei der Simulation einer gleichen Menge") Communications of the ACM, Band 31, Seiten 1220-1227, gefunden werden. Im Gegensatz zum "Leaky Bucket"- Verfahren sind die Kalenderschlangen leicht zu implementieren. Leider kann allgemein das Verfahren der Kalenderschlange nicht garantieren, dass die vom Fluss erzielte Langzeit-Durchschnittsrate gleich ihrer zugewiesenen Rate ist.
- Es ist daher wünschenswert, ein Verfahren zu konzipieren, das zur ratenbasierten Ablaufplanung von Flüssen mit sich dynamisch ändernden Raten bei Netzwerk-Adaptern eingesetzt werden kann und die zugewiesene Rate des Flusses garantieren kann.
- Ebenfalls ist es wünschenswert, dass dieses Verfahren für CBR-typischen Verkehr (der auch als garantierter Dienst in Paketvermittlungs-Netzwerken bekannt ist) und ABR-typischen Verkehr (der auch als adaptiver Verkehr bekannt ist) sowie bei VBR-Verkehr (variable bit rate) (in ATM-Netzwerken auch als Vorhersage- Verkehr in Paketvermittlungs-Netzwerken bekannt) simultan verwendet werden kann. Schließlich ist es wünschenswert, dass dieses Verfahren in einem allgemeineren Zusammenhang einer ratenbasierten Ablaufplanung verwendet werden kann, wie das schon beschrieben wurde.
- Die in dem Artikel von Hui Zhang für die Switch-Ablaufplanung beschriebenen Verfahren lassen sich nicht leicht auf die Adapter anwenden. Einer der Gründe hierfür ist, dass die meisten Ablaufplanungsverfahren für die Switche die Paket- Ankunftszeiten beim Switch zur Grundlage dafür nehmen, die Ablaufplanungsreihenfolge von Paketen von unterschiedlichen Flüssen zu bestimmen. Das Konzept der Ankunftszeit ist für den Adapter nicht immer sauber zu unterscheiden, da typischerweise der Adapter Daten von der Anwendung anfordert, wenn er zum Senden ihrer Daten bereit ist. Es besteht der Bedarf nach einem allgemeinen Verfahren zur Raten-Ablaufplanung, das in vielen verschiedenen Umgebungen funktioniert. Insbesondere sollte das neue Verfahren nicht nur für Netzwerk-Switche, sondern auch für Netzwerk-Adapter gut funktionieren.
- Das in der vorliegenden Anmeldung beschriebene neue Verfahren, das als Relative-Error-Verfahren (Verfahren mit relativem Fehler/RE-Verfahren) bezeichnet wird, kann insbesondere für Netzwerkadapter sowie für Netzwerk-Switche zum Vorsehen strenger Ratengarantien eingesetzt werden. Wie schon erwähnt, ist seine Verwendung jedoch nicht auf das Gebiet von Computernetzen eingeschränkt. Im Gegensatz zu den meisten oben beschriebenen Verfahren, die im Zeitbereich betrieben werden, wird das RE-Verfahren im Frequenzbereich betrieben. Einer der Vorteile hiervon ist, dass die Notwendigkeit der Raten-Zeit-Umwandlung (bei der die Inverse einer Rate ermittelt werden muss) ausgeschlossen wird.
- Ein Verfahren zur Ablaufplanung mehrerer Datenflüsse in einer gemeinsam genutzten Ressource in einem Computersystem, wobei jeder der Datenflüsse mehrere Datenzellen enthält, ist vorgesehen mit den Schritten des Vorsehens eines Ablaufplaners (Scheduler) in der gemeinsam genutzten Ressource, wobei der Scheduler mehrere Verbindungs-Zellen-Schlitze (link sell slots) hat, Initialisieren des Schedulers zum Empfangen der mehreren Datenflüsse, Empfangen eines jeden der mehreren Datenflüsse im Scheduler, wobei jeder der Datenflüsse eine angeforderte Flussrate enthält, Ablaufplanen durch den Scheduler eines jeden der mehreren Datenflüsse, so dass eine Summe einer jeden der angeforderten Flussraten eines jeden der mehreren Datenflüsse kleiner als eine verfügbare Bandbreite in der gemeinsam genutzten Ressource ist und ein relativer Fehler zwischen einer tatsächlichen Ablaufplanungszeit und einer idealen Ablaufplanungszeit pro Zelle minimiert wird, und Wiederholen der Schritte des Empfangens und Ablaufplanens.
- Die Erfindung in ihrer allgemeinen Form besteht in einem Verfahren zur Ablaufplanung mehrerer Datenflüsse nach Anspruch 1.
- Ein detaillierteres Verständnis der Erfindung kann aus der folgenden Beschreibung einer bevorzugten Ausführungsform, die als Beispiel gegeben ist und anhand der Zeichnungen zu verstehen ist, gezogen werden. Es zeigt:
- Fig. 1 ein Blockdiagramm eines beispielhaften Computernetzes, bei dem die vorliegende Erfindung eingesetzt werden kann;
- Fig. 2 ein Fließdiagramm, das die Erfindung veranschaulicht, wie sie im Scheduler 50 des Host-Knotens 10 von Fig. 1 besteht; und
- Fig. 3 ein Fließdiagramm, das die Auswirkungen von drei externen Ereignissen auf den Scheduler 50 des Host-Knotens 10 von Fig. 1 zeigt.
- Es folgt eine Beschreibung einer bevorzugten Ausführungsform der vorliegenden Erfindung im Zusammenhang eines Computernetzes. In Fig. 1 ist ein Beispielnetzwerk gezeigt, das vier Host-Knoten enthält, die mit 10, 12, 14 und 16 bezeichnet sind. Jeder der Host-Knoten wird, wie zu sehen ist, von einer Anzahl von Benutzern gemeinsam genutzt. Insbesondere hat der Host-Knoten 10 die mit 26 und 28 bezeichneten Benutzer, der Host-Knoten 12 die mit 30 und 32 bezeichneten Benutzer, der Host-Knoten 14 die mit 34 und 36 bezeichneten Benutzer und der Host-Knoten 16 die mit 38 und 40 bezeichneten Benutzer.
- Das in Fig. 1 gezeigte beispielhafte Netzwerk enthält auch zwei mit 42 bzw. 44 bezeichnete Switche. Die Benutzer kommunizieren über das Netzwerk miteinander. Zum Beispiel kommuniziert der Benutzer 26 beim Host-Knoten 10 mit dem Benutzer 36 beim Host-Knoten 14, der Benutzer 28 beim Host-Knoten 10 mit dem Benutzer 38 beim Host-Knoten 16 und der Benutzer 30, der Benutzer 32 am Host-Knoten 12 mit dem Benutzer 38 bzw. dem Benutzer 40 beim Host-Knoten 16.
- Es ist gezeigt, dass die Host-Knoten über Kommunikationsverbindungen mit den Switches und die Switches über Kommunikationsverbindungen miteinander verbunden sind. Zum Beispiel verbindet die Verbindung 18 den Host-Knoten 10 mit dem Switch 42 und die Switche 42 und 44 sind über eine Verbindung 20 verbunden. Die Verbindung 22 verbindet den Host-Knoten 12 mit dem Switch 42, die Verbindung 24 verbindet den Switch 42 mit dem Host-Knoten 14, und die Verbindung 25 verbindet den Switch 44 mit dem Host-Knoten 16. Der Einfachkeit halber ordnen wir den Fluss von Daten von einer Quelle an ein Ziel der Quelle dieses Flusses zu. So werden wir zum Beispiel den Fluss vom Benutzer 26 zum Benutzer 36 als den "Fluss des Benutzers 26" bezeichnen.
- Jeder der Host-Knoten 10, 12, 14 und 16 weist, wie zu sehen ist, einen Scheduler auf. Insbesondere hat der Host-Knoten 10 einen Scheduler 50, der Host- Knoten 12 einen Scheduler 52, der Host-Knoten 14 einen Scheduler 54 und der Host-Knoten 16 einen Scheduler 56. Typischerweise residiert der Scheduler in einer (nicht gezeigten) Host-Adapter-Karte.
- Jeder der Switches 42 und 44 hat auch, wie gezeigt ist, einen Scheduler, der einer jeden mit dem Switch verbundenen Verbindung zugeordnet ist. Zum Beispiel enthält der Switch 42 einen Scheduler 58, der der Verbindung 18 zugeordnet ist. Der Scheduler 60 ist der Verbindung 22 zugeordnet, der Scheduler 62 ist der Verbindung 24 zugeordnet und der Scheduler 64 ist der Verbindung 20 zugeordnet. Der Switch 44 enthält einen der Verbindung 20 zugeordneten Scheduler 66, während der Scheduler 68 der Verbindung 25 zugeordnet ist.
- Jeder der in Fig. 1 gezeigten Scheduler ist für die Ablaufplanung unterschiedlicher Flüsse verantwortlich, die im Beispielnetzwerk gemeinsame Ressourcen teilen.
- Zum Beispiel sei angenommen, dass eine einen Begrenzungsfaktor (oder "Flaschenhals") darstellende Ressource die Kapazität einer Verbindung ist. Es sein zum Beispiel angenommen, dass alle Verbindungen im Netzwerk eine Kapazität von 155 Mbs haben außer der Verbindung 20, die eine Kapazität von 50 Mb/s hat. Daher nutzen der Benutzer 28, der Benutzer 30 und der Benutzer 32 gemeinsam eine Flaschenhalsverbindung, d. h. die Verbindung 20. Um eine faire Teilung zu garantieren kann daher jeder dieser Benutzer Daten mit einem Drittel der Kapazität der Verbindung 20, d. h. mit ungefähr Raten R(2) = R(3) = R(4) = 16,67 Mb/s senden. Der Benutzer 26 kann daher Daten mit der vollen verbleibenden Bandbreite der Verbindung 18, d. h. bei R(1) = 138,33 Mb/s senden. Es ist jedoch auch eine beliebige andere Übertragungsratenzuweisung möglich, solange die Summe der Raten von Benutzer 26 und Benutzer 28 155 Mb/s nicht überschreitet, was die Kapazität der Verbindung 18 ist, und die Summe der Raten der Benutzer 28, 30 und 32 50 Mb/s nicht überschreitet, was die Kapazität der Verbindung 20 ist. Die durchschnittliche Dienstrate, die der Scheduler jedem Benutzer liefert, muss gleich der diesen Benutzern zugewiesenen Rate sein. Auf diese Weise ist der Scheduler 50 verantwortlich für die Ablaufplanung von Flüssen, die durch den Benutzer 26 und den Benutzer 28 mit Raten R(1) bzw. R(2) an den Host-Knoten 10 geschickt werden.
- Die vorliegende Erfindung kann in einem beliebigen der in Fig. 1 gezeigten Schedulern integriert werden und bezieht sich auf ein Verfahren und eine Vorrichtung der ratenbasierten Ablaufplanung und die gewichtete faire geteilte Nutzung einer gemeinsamen Ressource.
- Als Beispiel wird ein Ausführungsbeispiel der vorliegenden Erfindung im Zusammenhang von Flüssen im Beispielnetzwerk von Fig. 1 beschrieben. Die vorliegende Erfindung ist jedoch für eine beliebige Computeranwendung ausgelegt, die einen gewichteten fairen Ratendienst bei der Ablaufplanung von Computeraufgaben (jobs) benötigt. Das Ausführungsbeispiel verwendet ein Netzwerk mit einem asynchronen Transfermodus (ATM) als ein Beispiel. ATM-Netzwerke verwenden Datenpakete einer festen Länge, die allgemein als ATM-Zellen bezeichnet werden. Wie jedoch oben erwähnt, kann die vorliegende Erfindung auch auf Datenpakete mit variabler Länge verallgemeinert werden.
- Unter der Verwendung eines ATM-Netzwerks als ein spezifisches Beispiel kann die vorliegende Erfindung in einem (nicht gezeigten) Adapter residieren, wobei der Adapter einen Scheduler (d. h. 50, 52, 54 und 56) aufweist, der in jedem der Host-Knoten 10, 12, 14 und 16 und/oder in den Schedulern 58, 60, 66 und 68 der Switche 42 und 44 enthalten ist.
- Wie unten beschrieben, besteht die Hauptidee der vorliegenden Erfindung darin, ein Verfahren mit einem relativen Fehler (RE) zum Minimieren der Diskrepanz zwischen der tatsächlichen Ablaufplanungszeit und der "idealen" Ablaufplanungszeit pro Zelle durch einen beliebigen Switch oder Adapter im ATM-Netzwerk zu minimieren.
- Im beschriebenen Zusammenhang kann das Problem der Ablaufplanung von Flüssen durch einen beliebigen Switch oder Adapter wie folgt formuliert werden:
- Es sei:
- n Flüsse, die durch die ganzen Zahlen 1, 2, ... n indiziert sind, die einen Schlitz-Link (einem beliebigen Switch oder Adapter) einer Kapazität C teilen
- jedem Fluss i wird eine Rate R(i) zugewiesen, so dass
- Für die vorliegende Ausführungsform nehmen wir an, dass alle Pakete die gleiche Größe haben, zum Beispiel in einem einen asynchronen Transfermodus (ATM) verwendenden Netzwerk. Wir werden den ATM-typischen Begriff Zelle zur Bezeichnung eines Pakets fester Größe verwenden. Die Zeit der Übertragung einer Zelle mit der Verbindungsgeschwindigkeit wird austauschbar als "Zellenzeit" oder "Zellenschlitz" bezeichnet.
- Am Beginn des j-ten Verbindungs-Zell-Schlitzes muss der Scheduler die Zelle bestimmen, deren Fluss (gegebenenfalls) in ihrem Ablauf zur Sendung geplant werden muss. Das Ziel besteht darin sicherzustellen, dass die Langzeit- Durchschnittsrate des Flusses i garantiert R(i) ist, wobei die Diskrepanz zwischen den tatsächlichen und idealen Sendezeiten einer jeden Zelle eingeschränkt ist.
- Es wird ebenfalls darauf hingewiesen, dass im Zusammenhang einer Prozessor-Aufgaben-Ablaufplanung (im Gegensatz zur Fluss-Ablaufplanung in einem Netzwerk) die Raten R(i) typischerweise die Gewichte der Aufgaben reflektieren, C die für diese Aufgaben verfügbaren Prozessorkapazität ist und die obige Ungleichheit typischerweise eine Gleichheit ist, und das Dienstinkrement normalerweise eine einer Aufgabe zugewiesenen Anzahl von Prozessorzyklen ist.
- Zum vollständigen Veranschaulichen der vorliegenden Erfindung, die hiernach als RE-Verfahren oder als RE-Scheduler bezeichnet wird, werden die folgenden Variablen verwendet:
- D(i, j) Fehlerausdruck für Fluss i bei Verbindungs-Zellen-Schlitz j
- R(i) Rate des Flusses i (i = 0 entspricht dem "virtuellen Fluss", der unten vollständig beschrieben ist), dessen Rate einfach die Differenz zwischen der verfügbaren Bandbreite C und der Summe der Raten aller realen Flüsse i = 1, 2, ... n ist.
- w(i) Rate des Flusses i im Verhältnis zur insgesamt verfügbaren Bandbreite C
- Anmerkung: R(i) sind nur für die Initialisierung und Ratenveränderungen nötig und müssen nicht im Pro-Fluss-Zustand gespeichert werden. Variablen w(i) und D(i, j) werden pro Fluss gespeichert.
- Der Fluss mit dem Index 0 ist der so genannte "virtuelle Fluss". Diese Rate ist einfach die von allen "realen" Flüssen nicht verwendete Verbindungsbandbreite. In der vorliegenden Offenbarung wird der Fluss 0 als ein regulärer Fluss bezeichnet, und durch Senden einer Zelle des Flusses 0 ist gemeint, dass eine leer laufende Zelle gesendet wurde (keine Zellen "realen" Flusses wurden gesendet).
- Eine Initialisierung der Prozedur RE Scheduler geschieht auf folgende Weise:
- Der RE-Scheduler wird betrieben, wie im folgenden Pseudocode beschrieben:
- Die folgende Prozedur aktualisiert die entsprechenden Variablen nach einer Veränderung der Rate in einem Fluss. Es wird angenommen, dass die Menge von Raten nach der Ratenveränderung machbar bleibt, d. h. die Summe aller Raten, die Verbindungsbandbreite C nicht überschreitet.
- Es wird darauf hingewiesen, dass die Prozedur Rate_Change auch verwendet werden kann, wenn ein neuer Fluss hinzukommt oder ein alter Fluss wegfällt, indem w(i) = 0 einem inaktiven Fluss zugewiesen wird. Es wird auch darauf hingewiesen, dass angenommen wird, dass eine Veränderung der Rate die Anforderung nicht verletzt, dass die Summe aller Raten aller "realer" Flüsse die Verbindungskapazität nicht überschreitet. Wenn in ähnlicher Weise ein neuer Fluss mit einer bestimmten Rate hinzukommt, überschreitet die Summe aller Raten immer noch nicht die Verbindungskapazität. Wenn sich die Raten mehrerer Flüsse gleichzeitig ändern, wird die Prozedur Rate_Change für alle Flüsse nacheinander durchgeführt.
- Der oben beschriebene RE-Scheduler weist verschiedene Eigenschaften auf. Die erste Eigenschaft, die als Eigenschaft 1 bezeichnet wird, ist wie folgt:
- B(i, m) soll die "ideale" Anfangszeit der Übertragung der m-ten Zelle des Flusses i isoliert bezeichnen. Es sei angenommen, dass die 0-te Zellenübertragung zur Zeit 0 startet, die m-te Zellenübertragung startet dann genau zur Zeit mT(i), wobei T(i) = cell_len/R(i)). Hier ist cell_len die Länge einer Zelle (in Bits), und R(i) ist die zugewiesene Rate des Flusses I in einer bestimmten Zeiteinheit, z. B. Sekunden. A(i, m) soll den Beginn der tatsächlichen Übertragungszeit der m-ten Zelle des Flusses i unter dem Scheduler RE bezeichnen. Dann ist für alle m
- -T(i) + cell_time ≤ A(i, m) - B(i, m) ≤ (n/2 + 1)T(i)
- wobei n die Anzahl unterstützter Flüsse, T(i) = cell_len/R(i) das Intervall zwischen Zellenübertragungen mit der Rate R(i), cell_len = cell_len/C die Zellenübertragungszeit zur Verbindungsgeschwindigkeit ist. Wenn k Ablaufplanungsmöglichkeiten durch den Fluss i verpasst wurden, weil Daten zur der Zeit nicht verfügbar waren, da der Fluss in seinem Ablauf geplant war, wenn die m-te Zelle schließlich verfügbar wird, dann würde die Startzeit der Übertragung dieser Zelle erfüllen:
- -T(i) + cell_times ≤ A(i, m + k) - B(i, m + k) ≤ (n/2 + 1) T(i)
- Dies bedeutet einfach, dass der RE-Scheduler eine verpasste Zellenmöglichkeit so behandelt, als ob die Zelle tatsächlich gesendet wurde, s o dass die m-te Zelle von der m + k-ten Zelle ununterscheidbar wird, wenn k Zellenmöglichkeiten verpasst wurden.
- Eigenschaft 1, wie sie oben beschrieben ist, gibt die Einschränkung einer Diskrepanz des schlimmsten Falles, die analytisch bewiesen werden könnte. In tatsächlich durchgeführten Simulationen erfüllte die für alle Zellen aller Flüsse beobachtete Diskrepanz eine viel engere Einschränkung, die unten als Annahme formuliert ist.
- Es wird angenommen, dass die Diskrepanzeinschränkung des RE-Verfahrens wie folgt ist:
- -T(i) + cell_time ≤ A(i, m) - B(i, m) ≤ T(i) + cell_time
- wobei die Notation die gleiche wie bei Eigenschaft 1 ist.
- Die zweite Eigenschaft, die als Eigenschaft 2 bezeichnet ist, die vom eben beschriebenen RE-Scheduler gezeigt wird, besteht darin, dass die durch den Fluss f unter der RE-Ablaufplanung erzielte Langzeitrate exakt die zugewiesene Rate R(f) des Flusses F ist, d. h. der RE-Scheduler liefert strenge Ratengarantien an alle seine Flüsse für eine zufällige Menge den Flüssen zugewiesener Raten.
- Diese zweite Eigenschaft folgt unmittelbar aus der oben beschriebenen ersten Eigenschaft, da jede Zelle innerhalb einer festen Einschränkung ab ihrer idealen Übertragungszeit übertragen wird.
- Die Herleitung des oben beschriebenen RE-Verfahrens ist in Anhang A enthalten. Der Beweis für die oben beschriebene Eigenschaft 1 findet sich in Anhang B.
- In Fig. 2 ist ein Fließdiagramm des Betriebs des RE-Verfahrens bei der Durchführung in einem der Scheduler von Fig. 1 gezeigt. Fig. 2 stellt den Betrieb des Verfahrens bei statischen Raten dar. Das Verfahren beginnt bei Schritt 100, wo der Scheduler eine Initialisierung durchführt. Während der Initialisierung wird vom Scheduler Folgendes durchgeführt. Ein Verbindungs-Zellen-Schlitz 0 wird auf 0 gesetzt. Eine virtuelle Flussrate R(0) wird gleich der Differenz zwischen der verfügbaren Bandbreite C und der Summe aller Raten realer Flüsse i = 1, 2, ... n gesetzt. Schließlich wird für alle Flussraten i = 1, 2, ... n eine Flussrate für jede Flussrate i im Verhältnis zur Gesamtbreite C gleich dem Quotienten der Flussrate i und der insgesamt verfügbaren Bandbreite C gesetzt, und ein Fehlerausdruck für jeden Fluss i beim Verbindungs-Zellen-Schlitz 0 wird gleich 0 gesetzt.
- Bei Schritt 104 findet der RE-Scheduler einen Fluss f mit einem Fehlerausdruck D(f, j) gleich dem Maximum für alle Fehlerausdrücke D(i, j) in der Menge aller Flüsse i.
- Bei Schritt 108 überprüft der Scheduler, ob ein Fluss f ein virtueller Fluss ist (f = 0) oder f ein "realer Fluss" (f > 0) ist. Wenn es sich um einen virtuellen Fluss handelt, oder wenn f ein realer Fluss ist, jedoch keine Zelle zur Verfügung hat, dann wird bei Schritt 112 eine Leerlaufzelle übertragen. Wenn es sich um einen "realen Fluss" handelt, wird bei Schritt 116 die nächste Zelle von Fluss f übertragen.
- Bei Schritt 120 wird der Verbindungs-Zellen-Schlitzindex j um 1 inkrementiert und der Fehlerausdruck für den Fluss f beim Verbindungs-Zellen-Schlitz j gleich dem Fehlerausdruck für den Fluss f beim Verbindungs-Zellen-Schlitz j plus der relativen Flussrate f w(i) minus 1 gesetzt.
- Bei Schritt 124 wird für alle Flussraten des Flusses i, die nicht gleich der Flussrate f sind, der Fehlerausdruck für Fluss i beim Verbindungs-Zellen-Schlitz j gleich dem Fehlerausdruck für den Fluss i beim Verbindungs-Zellen-Schlitz j plus der Flussrate i im Verhältnis zur insgesamt verfügbaren Bandbreite C gesetzt. Dann kehrt der Scheduler zu Schritt 104 zurück und fährt fort.
- In Fig. 3 zeigt ein Blockdiagramm eine Aktion, die unternommen wird, wenn eines der folgenden drei externen Ereignisse, die als Schritte 200, 202 bzw. 204 bezeichnet sind, eintrifft:
- (1) Bei Schritt 200 kommt ein neuer Fluss i mit einer zugewiesenen Rate Rnew(i) hinzu. In diesem Fall werden Variablen w(i) und R(i, j) zugewiesen und auf Null initialisiert, und die Prozedur Rate_Change wird bei Schritt 206 vom Scheduler ausgeführt.
- (2) Bei Schritt 202 erfasst der Scheduler (oder es wird ihm mitgeteilt), dass der Fluss i wegfiel. In diesem Fall wird Rnew(i) auf Null gesetzt, dann wird die Prozedur Rate_Change bei Schritt 206 ausgeführt, wonach bei Schritt 208 den Variablen w(i) und D(i, j) die Zuweisung entzogen wird.
- (3) Bei Schritt 204 ändert sich die Flussrate i in Rnew(i). In diesem Fall wird bei Schritt 206 die Prozedur Rate_Change ausgeführt.
- Es wird darauf hingewiesen, dass diese drei Ereignisse, die in den Schritten 200, 202 und 204 beschrieben sind, vollständig gleichzeitig mit der Ausführung der Prozedur RE_Scheduler bei Schritt 206 geschehen können. Da jedoch das Ergebnis der Ausführung der Prozedur Rate_Change bei Schritt 206 Auswirkungen auf die Variablen w(i), w(0), D(i, j) und D(0, j) hat, die vom Scheduler bei Schritt 206 verwendet werden, wird angenommen, dass diese Variablen am Beginn einer (vorzugsweise der nächsten) Zell-Schlitz-Zeit aktualisiert werden, nachdem das Ereignis eingetreten ist, und dass der Aktualisierung die Entscheidung des RE_Scheduler bei Schritt 206 vorausgeht.
- Nach einer Beschreibung einer bevorzugten Ausführungsform der Erfindung wird dem Fachmann auf diesem Gebiet nun klar sein, dass andere Ausführungsformen, die ihre Konzepte aufweisen, vorgesehen werden können. Die vorliegende Erfindung soll daher nicht auf die offenbarte Ausführungsform eingeschränkt sein, sondern sollte vielmehr nur durch den Umfang der Erfindung eingeschränkt sein. Zusammenfassend sei festgestellt, dass ein neuartiges Verfahren zur ratenbasierten Ablaufplanung auf die Ablaufplanung von Flüssen in Computernetzen, wie zum Beispiel bei ATM anwendbar ist. Es kann ebenfalls zum Vorsehen eines gewichteten fairen Dienstes bei der Ablaufplanung von Computeraufgaben eingesetzt werden. Im Gegensatz zu vielen der Verfahren, die üblicherweise zur Raten-Ablaufplanung in Netzwerk-Adaptern verwendet werden, erlaubt das vorliegende Verfahren das Vorsehen einer strengen Ratengarantie für alle Flüsse. Ein Unterscheidungsmerkmal des vorliegenden Verfahrens besteht darin, dass es im Frequenzbereich und nicht im Zeitbereich betrieben wird.
- S(j) sei die Zeit des Beginns des j-ten Zellenschlitzes der Verbindung (unter der Annahme, dass S(0)=0). Dann
- S(j) = j cell_time (1)
- wobei cell_time die Zeit in Sekunden der Übertragung einer Zelle mit der Verbindungsgeschwindigkeit ist.
- Angenommen, zur Zeit S(j) hatte der Scheduler m(j)-1 Übertragungs- Ablaufplanungsmöglichkeiten für einen Fluss i, so dass die m-te Zelle des Flusses i bei S(j) oder später eingeplant wird. Dann sei durch L(i, j) der ideale Beginn der Übertragungszeit der Zelle bezeichnet, die als Nächstes oder nach S(j) durch L(i, j) zu planen ist. Ein Fluss i mit seiner zugewiesenen Rate R(i) Bits/s sei betrachtet. Angenommen, seine 0-te Zelle wird bei einer Zeit T = 0 s ausgesendet. Angenommen, der Fluss i hat immer eine Zelle zu senden, dann ist leicht zu sehen, dass in der Abwesenheit anderer Flüsse die ideale Zeit des Beginns der Sendung der m(j)-ten Zelle des Flusses i einfach B(i, m(j)) = m(j) cell_len/R(i) ist, wobei cell_len die Länge einer Zelle in Bits ist. Dann folgt nach der Definition
- L(i, j) = B(i, m(j)) (2)
- D(i, j) sei der relative Fehler in der Übertragungszeit, die vom Fluss i angesammelt wurde, am Beginn des j-ten Verbindungs-Zellen-Schlitzes. Das heißt,
- D(i, j) = (S(j) - L(i, j))/T(i) (3)
- wobei
- T(i) = cell_len/R(i) (4)
- einfach das "ideale" Intervall zwischen den Zellen des Flusses i bei der Rate R(i) oder die Zeit ist, die zum Übertragen einer Zellenwertnummer von Bits bei R(i) benötigt wird. Schließlich sei die Rate des Flusses im Verhältnis zur Verbindungsrate C durch w(i) bezeichnet, so dass
- w(i) = R(i)/C = cell_time/T(i) (5)
- wobei cell_time die Zeit zum Übertragen einer Zelle mit der Verbindungsgeschwindigkeit ist.
- Hier ist zu beobachten, dass durch die Definition von L(i, j) dies die ideale Zeit der nächsten Zelle des Flusses i ist, die bei der Planungsmöglichkeit des Flusses i zu planen ist.
- L(i, j + 1) = L(i, j), wenn Zelle von i nicht in Schlitz j gesendet wird (6a)
- L(i, j + 1) = L(i, j) + T(i), wenn Zelle von i in Schlitz j gesendet wird (6b)
- Unter der Berücksichtigung, dass S(j) = S(j - 1) + cell_time, dann folgt aus (3) und (6a, b), dass
- D(i, j) = (S(j - 1) - L(i, j - 1) + cell_time)/T(i), wenn Zelle von i nicht in Schlitz j gesendet wird (7a)
- D(i, j) = (S(j - 1) - L(i, j - 1) + cell_time - T(i)/T(i), wenn Zelle von i in Schlitz j gesendet wird (7b)
- Schließlich aus (7a, 3b), (3) und (5)
- D(i, j) - D(i, j - 1) + w(i), wenn Zelle von i nicht in Schlitz j gesendet wird (8a)
- D(i, j) = D(i, j - 1) + w(i) - 1, wenn Zelle von i in Schlitz j gesendet wird (8b)
- Zunächst sei der statische Fall betrachtet (d. h. die Raten ändern sich nicht).
- Zuerst sei bemerkt, dass aus (3) folgt, dass S(j) - L(i, j) = D(i, j)T(i) ist. Es sei der Fluss i betrachtet, dessen m(j)-te Zelle tatsächlich im Zellschlitz j gesendet wurde. Dann war die tatsächliche Zeit des Beginns der Sendung der Zelle m(j) A(i, m(j)) = S(j) und daher kann unter der Verwendung von (2) die Gleichung (3) wie folgt umgeschrieben werden
- A(i, m(j)) - B(i, m(j)) = D(ij)T(i) (9)
- Wir werden unten zeigen, dass
- -1 + w(i) ≤ D(i, j) ≤ n/2 + 1 (10)
- was zusammen mit (5) nahe legt, dass
- -T(i) + cell_time ≤ A(i, m(j)) - B(i, m(j)) ≤ (n/2 + 1) T(i) (11)
- was die Behauptung der Eigenschaft 1 ermöglicht.
- Um zu zeigen, dass (10) zutrifft, werden wir die Abfolge von 5 Lemmata benötigen:
- Lemma 1: für alle j
- Beweis von Lemma 1
- Anfänglich ist D(i,0) = 0 für alle i. Daher
- Jede neue Iteration D(i, j) eines Flusses i, dessen Zelle nicht geplant wird, wird um w(i) erhöht, während D(i, j) für den Fluss, dessen Zelle eingeplant wurde, um w(i) -1 erhöht wird. Daher verändert sich die Summe von D(i, j) über alle Flüsse i nicht, da sie zuerst um inkrementiert und um 1 dekrementiert wird. w.z.b.w.
- Lemma 2: D(i, j) ≥ w(i) - 1
- Es sei ein Fluss i betrachtet. w(i) ≤ 1 und daher ist w(i) - 1 ≤ 0. Daher trifft, solange D(i, j) ≥ 0 ist, die Behauptung des Lemmas zu. Wir werden nun beweisen, dass die Behauptung des Lemmas auch zutrifft, wenn D(i, j) < 0 ist. Es sei ein beliebiges j betrachtet, so dass D(i, j) sein Vorzeichen von nicht negativ auf negativ verändert. Da anfänglich D(i, j) = 0 für alle i ist, muss ein solches j existieren. Es ist durch die Ausführung des Algorithmus klar, dass dies nur dann geschehen kann, wenn bei Schritt j-1 der Fluss i eingeplant wurde, und daher D(i, j) = D(i, j - 1) + w(i) - 1 ≥ w(i) - 1 ist. Das Lemma 1 legt nahe, dass bei einer Iteration j mindestens ein Fluss k die Bedingung D(k, j) ≥ 0 erfüllt. Daher kann bei Schritt j der Fluss i für den D(i, j) < 0 ist, nicht vorn Scheduler ausgewählt werden. Daher ist bei Schritt j + 1 D(i, j + 1) = D(i, j) + w(i) ≥ D(i, j) ≥ w(i) - 1. In der weiteren Fortführung dieses Argumentes können wir nun zeigen, dass, nachdem D(i, j) sein Vorzeichen auf negativ ändert, D(i, j) monoton mit j erhöht wird, bis es positiv wird. Da wir schon gezeigt haben, dass zur Zeit, da sich das Vorzeichen auf negativ ändert, Lemma 2 zutrifft, folgt nun, dass es für alle j zutrifft, so dass D(i, j) negativ ist. w.z.b.w.
- Lemma 2 beweist die linke Seite von (10).
- Lemma 3. Es sei ein beliebiges k > 0 betrachtet, und eine Iteration j. n1(j, k) sei die Anzahl von Flüssen mit D(i, j) < 0 bei der Iteration j, n2(j, k) - die Anzahl von Flüssen mit 0 ≤ D(i, j) ≤ k + 1 und n3(j, k) - die Anzahl von Flüssen, so dass D(i, j) > k + 1. Dann
- n3(j, k) ≤ n 1(j, k)/(k + 1).
- Durch die Lemmata 1 und 2
- ≥ n1(j, k)(w(i) - 1) + (k + 1) n3 (j, k) ≥ n1 (j, k) + (k + 1)n3(j, k)
- Daher ist n1 (j, k) ≥ (k + 1)n3(j, k) und die Behauptung von Lemma 3 folgt.
- Folgesatz 1: Für alle j, n3(j, k) ≤ n/(k ± 2), wobei n die Gesamtzahl von Flüssen ist.
- n = n1(j, k) + n2(j, k) + n3(j, k) ≥ n1(j, k) + n3(j, k), daher folgt aus Lemma 3 n3(j, k) ≤ n1(j, k)/(k + 1) ≤ (n - n3(j, k))/(k + 1), oder n3(i)(k + 2) ≤ n, was die Behauptung des Folgesatzes nahe legt.
- Lemma 4. Für alle k ≥ n/2 - 1 und alle j gibt es höchstens einen Fluss mit D(i, j) > k + 1, d. h. n3(j, k) ≤ 1 in der Schreibweise von Lemma 3.
- Durch den Folgesatz 1 auf Lemma 3
- n3(j, k) ≤ n/(k + 2) ≤ n/(n/2 - 1 + 2) = 2n/(n + 2) < 2
- da n3(j, k) eine ganze Zahl ist, folgt hieraus, dass n3(j, k) ≤ 1, w.z.b.w.
- Folgesatz 2: Für alle j gibt es höchstens einen Fluss D(i, j) > n/2
- Beweis von Folgesatz 2 folgt unmittelbar aus Lemma 4 durch Setzen von k = n/2 - 1.
- Lemma 5. Es gibt keine Flüsse mit D(i, j) ≥ n/2 + 1
- Es sei angenommen, dass es i, j in der Weise gibt, dass
- D(i, j) ≥ n/2 + 1 (12)
- Es sei das erste Mal j betrachtet, da (12) für mindestens einen Fluss i geschieht. Daher ist D(i, j - 1) < n/2 + 1 und daher wird im j-ten Schritt der Wert von D(i, j) erhöht. Es ist leicht zu sehen, dass dies bedeutet, dass ein anderer Fluss k mit
- D(k, j - 1) ≥ D(i, j - 1) (13)
- zur Zeit j-1 eingeplant war. Daher ist D(i, j - 1) = D(i, j) - w(i) > n/2 + 1 - w(i) > n/2. Der Fluss k, der beim Schlitz j - 1 eingeplant war, muss jedoch D(k, j - 1) D(i, j - 1) gehabt haben, und daher folgt aus (13) auch, dass D(k, j - 1) ≥ n/2, und daher gibt es keine zwei Flüsse i und k, so dass D(i, j - 1) ≥ n/2, und D(k, j - 1) ≥ n/2 ist. Dies steht jedoch im Wiederspruch zur Behauptung des Folgesatzes 2. Der erhaltene Widerspruch schließt den Beweis von Lemma 5 ab.
- Die rechte Seite von (10) ist nun ebenfalls bewiesen, was den Beweis der Eigenschaft 1 für den statischen Fall abschließt. Es sei nun betrachtet, dass die Prozedur Rate Change die durch Lemma 1 gegebene Invariante erhält. Durch Wiederholung des Beweises von Lemma 1 lässt sich sehen, dass Lemma 1 auch nach einer Ratenveränderung gilt.
- Um zu sehen, dass Lemma 2 ebenfalls gültig bleibt, sei betrachtet, dass nach einer Ratenveränderung D(i, j) eines Flusses, der nicht Fluss i ist und der "virtuelle" Fluss 0 unverändert bleiben, D(i, j) = wnew(i) - 1 und Dnew(0, j) = Dold(0, j) + Dold(i, j) - Dnew(i, j). Angenommen Lemma 2 war vor der Ratenveränderung gültig. Dann ist Dold(k, j) ≥ wold(k) - 1 für alle k. Daher ist Dnew(0, j) = Dold(0, j) + Dold(i, j) - Dnew(i, j) ≥ wold(0) - 1 + wold(1) - 1 -wnew(i) + 1 = wnew(0) - 1. Daher trifft Lemma 2 für alle Flüsse unmittelbar nach der Ratenveränderung zu. Durch die Wiederholung des Argumentes des Beweises von Lemma 2 können wir sehen, dass es auch für nachfolgende Iterationen nach der Ratenveränderung zutrifft. Da anfänglich (vor der ersten Ratenveränderung) das Lemma 2 als zutreffend gezeigt wurde, trifft durch Induktion der Abfolge der Ratenveränderungen Lemma 2 ebenfalls in Anwesenheit von Ratenveränderungen zu. Daher trifft die linke Seite von (10) in Anwesenheit von Ratenveränderungen ebenfalls zu.
- Es ist leicht zu sehen, dass die Beweise der Lemmata 3 und 4 nur vom Lemma 1 abhängen, und daher ebenfalls in der Anwesenheit von Ratenveränderungen zutreffen.
- Schließlich sei betrachtet, dass, da Lemma 4 unmittelbar nach einer Ratenveränderung zutrifft, der Beweis von Lemma 5 ebenfalls ohne Modifikation wiederholt werden kann. Daher trifft (10) auch in der Anwesenheit von Ratenveränderungen zu. Dies beweist die rechte Seite von (10).
- Zur Zeit einer Ratenveränderung ist die ideale Endzeit der nächsten Zelle nach einer Ratenveränderung nicht gut definiert, da die zwischen der vorhergehenden und der nächsten Zelle verstrichene Zeit auch von der alten Rate abhängt. Wir werden sie wie folgt definieren. Unter Voraussetzung des neuen Werts von D(i, j) definieren wir zuerst die neue theoretische Zeit L(i, j) des Beginns der Sendung der nächsten Zelle nach einer Ratenveränderung nach (3). Es ist leicht zu sehen, dass unter der Voraussetzung dieser Definition die Herleitung von (8a, b) gültig bleibt, bis sich die Rate des Flusses erneut ändert. Daher trifft die Eigenschaft 1 auch in der Gegenwart von Ratenveränderungen zu.
Claims (8)
1. Verfahren zur ratenbasierten Ablaufplanung mehrerer Datenflüsse (f) in einer
gemeinsam genutzten Ressource (42, 44) in einem Computersystem, wobei jeder
der Datenflüsse mehrere Datenzellen enthält, wobei das Verfahren die folgenden
Schritte aufweist:
- Liefern an einen Ablaufplaner (Scheduler) (58, 60 ...) eines relativen
Fehlerausdrucks (D(i, j)) und einer zugewiesenen Rate eines Datenflusses
(w(i)) im Verhältnis zu einer insgesamt verfügbaren Bandbreite (C) der
gemeinsam genutzten Ressource für jeden der Datenflüsse (f, i);
- Empfangen von Daten zum Bilden der mehreren Datenflüsse im
Ablaufplaner (58, 60 ...);
- Ablaufplanen durch den Ablaufplaner eines jeden der Datenflüsse auf
Zellenbasis, so dass eine Summe der zugewiesenen Datenflussraten (R(i))
der mehreren Datenflüsse kleiner oder gleich einer verfügbaren Bandbreite
(C) in der gemeinsam genutzten Ressource ist und dass die relativen
Fehlerausdrücke (D(i, j)), die einen akkumulierten Fehler in der
Übertragungszeit zwischen einer tatsächlichen Ablaufplanungszeit und
einer idealen Ablaufplanungszeit für Datenzellen im entsprechenden Fluss
anzeigen, auf Zellenbasis minimiert werden; und
- Wiederholen der Schritte des Empfangens und Ablaufplanens,
- wobei jeder der Datenflüsse in Abhängigkeit vom Fehlerausdruck (D(i, j))
des Datenflusses so geplant wird, dass jeder der Datenflüsse (f) eine
durchschnittliche Langzeitflussrate erzielt, die im Wesentlichen gleich der
dem Datenfluss zugewiesenen Flussrate ist.
2. Verfahren nach Anspruch 1, bei dem der Schritt des Lieferns die folgenden
Schritte aufweist:
- Setzen eines Verbindungszellenschlitzindexes (j) auf Null;
- Setzen eines Werts einer virtuellen Flussrate (R(0)) gleich der Differenz
zwischen dem Wert der verfügbaren Bandbreite (C) in der gemeinsam
genutzten Ressource und der Summe der zugewiesenen Raten (R(i)) aller
Datenflüsse (f);
- Setzen der zugewiesenen Rate (w(i)) des Datenflusses im Verhältnis zur
verfügbaren Bandbreite der gemeinsam genutzten Ressource für jeden der
Datenflüsse auf einen Quotienten eines angeforderten Datenflusses (R(i))
für jeden Datenfluss und der insgesamt verfügbaren Bandbreite (C); und
- Setzen des relativen Fehlerausdrucks (D(i, j)) für jeden Datenfluss am
Verbindungszellenschlitzindex 0 auf den Wert Null.
3. Verfahren nach Anspruch 1, bei dem der Schritt des Ablaufplanens die
folgenden Schritte aufweist:
- Auswählen eines Datenflusses (f) in Abhängigkeit vom Fehlerausdruck des
Datenflusses;
- Feststellen, ob der Datenfluss und eine Zelle des Datenflusses verfügbar
sind;
- Senden einer Nullzelle, wenn der Schritt des Feststellens feststellt, dass der
Datenfluss und die Zelle des Datenflusses nicht verfügbar sind;
- Senden der Zelle, wenn der Schritt des Feststellens feststellt, dass der
Datenfluss und die Zelle des Datenflusses verfügbar sind;
- Inkrementieren des Verbindungszellenschlitzindexes (j);
- Setzen des Fehlerausdrucks (D(i, j)) für den Datenfluss am
Verbindungszellenschlitzindex gleich dem Fehlerausdruck für den
Datenfluss am Verbindungszellenschlitz plus der zugewiesenen Rate des
Datenflusses im Verhältnis zur verfügbaren Bandbreite (w(f)) minus 1; und
- für jeden der anderen nicht ausgewählten Datenflüsse, Setzen des
Fehlerausdrucks (D(i, j)) für jeden der Datenflüsse am
Verbindungszellenschlitzindex gleich dem Fehlerausdruck der jeweiligen
Datenflüsse am Verbindungszellenschlitzindex plus der jeweiligen
zugewiesenen Datenflussrate (w(i)) der Datenflüsse im Verhältnis zur
verfügbaren Bandbreite.
4. Verfahren nach Anspruch 3, bei dem der Schritt des Auswählens eines
Datenflusses aufweist, dass der Datenfluss (f) mit dem größten kumulierten relativen
Fehlerausdruck (D(1, j)) ausgewählt wird.
5. Vorrichtung zur ratenbasierten Ablaufplanung mehrerer Datenflüsse (f) in einer
gemeinsam genutzten Ressource (42, 44) in einem Computersystem, wobei jeder
der Datenflüsse mehrere Datenzellen enthält, mit:
- einem Ablaufplaner (Scheduler) (58, 60 ...) zur Ablaufplanung der
Datenflüsse (f, i) und zum Unterhalten für jeden der Datenflüsse eines
relativen Fehlerausdrucks (D(i, j)), der für Datenzellen im entsprechenden
Fluss einen akkumulierten Fehler in der Übertragungszeit zwischen einer
tatsächlichen Ablaufplanungszeit und einer idealen Ablaufplanungszeit
anzeigt, und einer zugewiesenen Datenflussrate (w(i)) im Verhältnis zu
einer insgesamt verfügbaren Bandbreite (C) der gemeinsam genutzten
Ressource;
- einer Einrichtung zum Empfangen von Daten zum Bilden der mehreren
Datenflüsse im Ablaufplaner (58, 60 ...);
- einer Einrichtung zum Ablaufplanen eines jeden der Datenflüsse auf
Zellenbasis, so dass eine Summe der zugewiesenen Datenflussraten der
mehreren Datenflüsse kleiner als eine verfügbare Bandbreite in der
gemeinsam genutzten Ressource ist und dass die relativen
Fehlerausdrücke auf Zellenbasis minimiert werden und jeder der
Datenflüsse in Abhängigkeit von dem Fehlerausdruck (D(i, j)) des
Datenflusses so geplant wird, dass jeder der Datenflüsse (f) eine
durchschnittliche Langzeitflussrate erzielt, die im Wesentlichen gleich der
dem Datenfluss zugewiesenen Flussrate ist.
6. Vorrichtung nach Anspruch 5, weiter mit einer Initialisierungseinrichtung, die
Folgendes aufweist:
- eine Einrichtung zum Setzen eines Verbindungszellenschlitzindexes (j) auf
Null;
- eine Einrichtung zum Setzen eines Werts einer virtuellen Flussrate (R(0))
gleich der Differenz zwischen dem Wert der verfügbaren Bandbreite (C) in
der gemeinsam genutzten Ressource und der Summe der zugewiesenen
Raten (R(i)) aller Datenflüsse (f);
- eine Einrichtung zum Setzen der zugewiesenen Rate (w(i)) des
Datenflusses im Verhältnis zur verfügbaren Bandbreite der gemeinsam
genutzten Ressource für jeden der Datenflüsse auf einen Quotienten einer
angeforderten Flussrate (R(i)) für jeden Datenfluss und der insgesamt
verfügbaren Bandbreite (C); und
- eine Einrichtung zum Setzen eines Fehlerausdrucks (D(i, j)) für jeden
Datenfluss am Verbindungszellenschlitzindex 0 auf den Wert Null.
7. Vorrichtung nach Anspruch 5, bei welcher der Ablaufplaner weiter aufweist:
- eine Einrichtung zum Auswählen eines Datenflusses (f) in Abhängigkeit
vom Fehlerausdruck des Datenflusses;
- eine Einrichtung zum Feststellen, ob der Datenfluss und eine Zelle des
Datenflusses verfügbar sind;
- eine Einrichtung zum Senden einer Nullzelle, wenn der Schritt des
Feststellens feststellt, dass der Datenfluss und die Zelle des Datenflusses
nicht verfügbar sind;
- eine Einrichtung zum Senden der Zelle, wenn der Schritt des Feststellens
feststellt, dass der Datenfluss und die Zelle des Datenflusses verfügbar
sind;
- eine Einrichtung zum Inkrementieren des Verbindungszellenschlitzindexes
(j);
- eine Einrichtung zum Setzen des Fehlerausdrucks (D(i, j)) für den
Datenfluss am Verbindungszellenschlitzindex gleich dem Fehlerausdruck
für den Datenfluss am Verbindungszellenschlitz plus der zugewiesenen
Datenflussrate im Verhältnis zur verfügbaren Bandbreite (w(f)) minus 1; und
- eine Einrichtung zum Setzen des Fehlerausdrucks (D(i, j)) für jeden der
nicht ausgewählten Datenflüsse gleich dem Fehlerausdruck der Datenflüsse
am Verbindungszellenschlitzindex plus der jeweiligen zugewiesenen
Datenflussrate (w(i)) der Datenflüsse im Verhältnis zur verfügbaren
Bandbreite.
8. Vorrichtung nach Anspruch 7, bei der die Einrichtung zum Auswählen eines
Datenflusses eine Einrichtung zum Auswählen des Datenflusses (f) mit dem größten
kumulierten Fehlerausdruck (D(i, j)) aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/579,393 US6130878A (en) | 1995-12-27 | 1995-12-27 | Method and apparatus for rate-based scheduling using a relative error approach |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69626946D1 DE69626946D1 (de) | 2003-04-30 |
DE69626946T2 true DE69626946T2 (de) | 2003-12-11 |
Family
ID=24316722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69626946T Expired - Lifetime DE69626946T2 (de) | 1995-12-27 | 1996-12-23 | Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes |
Country Status (4)
Country | Link |
---|---|
US (2) | US6130878A (de) |
EP (1) | EP0782301B1 (de) |
JP (1) | JP2963064B2 (de) |
DE (1) | DE69626946T2 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6130878A (en) * | 1995-12-27 | 2000-10-10 | Compaq Computer Corporation | Method and apparatus for rate-based scheduling using a relative error approach |
US6412005B1 (en) * | 1997-08-25 | 2002-06-25 | Marconi Communications, Inc. | Method and apparatus for providing service to entities |
US6526060B1 (en) * | 1997-12-05 | 2003-02-25 | Cisco Technology, Inc. | Dynamic rate-based, weighted fair scheduler with explicit rate feedback option |
US6795865B1 (en) * | 1999-10-08 | 2004-09-21 | Microsoft Corporation | Adaptively changing weights for fair scheduling in broadcast environments |
US6775292B1 (en) | 2000-01-24 | 2004-08-10 | Cisco Technology, Inc. | Method for servicing of multiple queues carrying voice over virtual circuits based on history |
US6804249B1 (en) * | 2000-04-13 | 2004-10-12 | International Business Machines Corporation | Method and system for network processor scheduling based on calculation |
US7142558B1 (en) | 2000-04-17 | 2006-11-28 | Cisco Technology, Inc. | Dynamic queuing control for variable throughput communication channels |
US6904596B1 (en) * | 2000-05-24 | 2005-06-07 | Lucent Technologies Inc. | Method and apparatus for shared flow control of data |
WO2002003745A2 (en) * | 2000-06-30 | 2002-01-10 | Mariner Networks, Inc. | Technique for implementing fractional interval times for fine granularity bandwidth allocation |
US7277962B2 (en) * | 2000-12-01 | 2007-10-02 | Fujitsu Limited | Method and apparatus for packet scheduling using virtual time stamp for high capacity combined input and output queued switching system |
US6901052B2 (en) | 2001-05-04 | 2005-05-31 | Slt Logic Llc | System and method for policing multiple data flows and multi-protocol data flows |
US7042848B2 (en) * | 2001-05-04 | 2006-05-09 | Slt Logic Llc | System and method for hierarchical policing of flows and subflows of a data stream |
US6904057B2 (en) * | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
US7099275B2 (en) * | 2001-09-21 | 2006-08-29 | Slt Logic Llc | Programmable multi-service queue scheduler |
US7151744B2 (en) * | 2001-09-21 | 2006-12-19 | Slt Logic Llc | Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover |
US7110411B2 (en) * | 2002-03-25 | 2006-09-19 | Erlang Technology, Inc. | Method and apparatus for WFQ scheduling using a plurality of scheduling queues to provide fairness, high scalability, and low computation complexity |
US7231425B1 (en) | 2002-09-13 | 2007-06-12 | Cisco Technology, Inc. | Rate-based scheduling method and system |
US7385987B1 (en) | 2003-02-04 | 2008-06-10 | Cisco Technology, Inc. | Scheduling system and method for multi-level class hierarchy |
US7567572B1 (en) | 2004-01-09 | 2009-07-28 | Cisco Technology, Inc. | 2-rate scheduling based on search trees with configurable excess bandwidth sharing |
US7522609B2 (en) * | 2004-01-14 | 2009-04-21 | Cisco Technology, Inc | Propagation of minimum guaranteed scheduling rates among scheduling layers in a hierarchical schedule |
US7417999B1 (en) | 2004-01-14 | 2008-08-26 | Cisco Technology, Inc. | Priority propagation in a multi-level scheduling hierarchy |
US7876763B2 (en) * | 2004-08-05 | 2011-01-25 | Cisco Technology, Inc. | Pipeline scheduler including a hierarchy of schedulers and multiple scheduling lanes |
US7675926B2 (en) * | 2004-05-05 | 2010-03-09 | Cisco Technology, Inc. | Hierarchical QoS behavioral model |
US7583596B1 (en) * | 2004-06-28 | 2009-09-01 | Juniper Networks, Inc. | Priority scheduling using per-priority memory structures |
US7599381B2 (en) * | 2004-12-23 | 2009-10-06 | Cisco Technology, Inc. | Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group |
US7564790B2 (en) * | 2005-02-28 | 2009-07-21 | Cisco Technology, Inc. | Method and system for shaping traffic in a parallel queuing hierarchy |
US8165144B2 (en) * | 2005-08-17 | 2012-04-24 | Cisco Technology, Inc. | Shaper-scheduling method and system to implement prioritized policing |
EP1953959A1 (de) * | 2007-02-01 | 2008-08-06 | British Telecommunications Public Limited Company | Datenkommunikation |
US8335157B2 (en) | 2010-05-17 | 2012-12-18 | Cisco Technology, Inc. | Adaptive queue-management |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US5301333A (en) * | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
US5367678A (en) * | 1990-12-06 | 1994-11-22 | The Regents Of The University Of California | Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically |
US5696764A (en) * | 1993-07-21 | 1997-12-09 | Fujitsu Limited | ATM exchange for monitoring congestion and allocating and transmitting bandwidth-guaranteed and non-bandwidth-guaranteed connection calls |
US5528513A (en) * | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
US5506969A (en) * | 1993-11-29 | 1996-04-09 | Sun Microsystems, Inc. | Method and apparatus for bus bandwidth management |
JPH07221768A (ja) * | 1994-02-08 | 1995-08-18 | Oki Electric Ind Co Ltd | セル多重方法、セル多重装置及び交換スイッチ |
ES2162835T3 (es) * | 1994-02-22 | 2002-01-16 | Cit Alcatel | Metodo de conformar un flujo de celdas que incluyen celdas usuario y celdas oam. |
GB2288096B (en) * | 1994-03-23 | 1999-04-28 | Roke Manor Research | Apparatus and method of processing bandwidth requirements in an ATM switch |
US5392280A (en) * | 1994-04-07 | 1995-02-21 | Mitsubishi Electric Research Laboratories, Inc. | Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks |
US5694265A (en) * | 1994-04-19 | 1997-12-02 | Fujitsu Limited | Disk apparatus for detecting position of head by reading phase servo pattern |
US5434860A (en) * | 1994-04-20 | 1995-07-18 | Apple Computer, Inc. | Flow control for real-time data streams |
US5555244A (en) * | 1994-05-19 | 1996-09-10 | Integrated Network Corporation | Scalable multimedia network |
EP0687120A1 (de) * | 1994-06-09 | 1995-12-13 | ALCATEL BELL Naamloze Vennootschap | Reglementierungsverfahren zur Garantierung von fairem Durchsatz und Anlage zur Durchführung des Verfahrens |
US5619502A (en) * | 1994-09-16 | 1997-04-08 | Intel Corporation | Static and dynamic scheduling in an asynchronous transfer mode communication network |
EP0702473A1 (de) * | 1994-09-19 | 1996-03-20 | International Business Machines Corporation | Verfahren und Vorrichtung zur Formung des Ausgangsverkehrs in einem Netzwerknoten zur Vermittung von Zellen fester Länge |
US5533020A (en) * | 1994-10-31 | 1996-07-02 | International Business Machines Corporation | ATM cell scheduler |
US5533009A (en) * | 1995-02-03 | 1996-07-02 | Bell Communications Research, Inc. | Bandwidth management and access control for an ATM network |
US5841771A (en) * | 1995-07-07 | 1998-11-24 | Northern Telecom Limited | Telecommunications switch apparatus and method for time switching |
US5991831A (en) * | 1995-07-17 | 1999-11-23 | Lee; David D. | High speed serial communications link for desktop computer peripherals |
US5796735A (en) * | 1995-08-28 | 1998-08-18 | Integrated Device Technology, Inc. | System and method for transmission rate control in a segmentation and reassembly (SAR) circuit under ATM protocol |
US5734652A (en) * | 1995-09-27 | 1998-03-31 | Microsoft Corporation | ATM extended autoregistration and VPI/VCI assignment in a hybrid fiber-coax cable network |
JP3558429B2 (ja) * | 1995-11-06 | 2004-08-25 | 沖電気工業株式会社 | シェーピング装置 |
US5781531A (en) * | 1995-12-27 | 1998-07-14 | Digital Equipment Corporation | Method and apparatus for hierarchical relative error scheduling |
US6130878A (en) * | 1995-12-27 | 2000-10-10 | Compaq Computer Corporation | Method and apparatus for rate-based scheduling using a relative error approach |
EP0798897A3 (de) * | 1996-03-26 | 1999-07-14 | Digital Equipment Corporation | Verfahren und Anlage zur relativen Fehlerablaufplannung unter Verwendung diskreter Geschwindigkeiten und proportioneller Skalierung der Geschwindigkeit |
-
1995
- 1995-12-27 US US08/579,393 patent/US6130878A/en not_active Expired - Lifetime
-
1996
- 1996-12-23 DE DE69626946T patent/DE69626946T2/de not_active Expired - Lifetime
- 1996-12-23 EP EP96120819A patent/EP0782301B1/de not_active Expired - Lifetime
- 1996-12-26 JP JP35987896A patent/JP2963064B2/ja not_active Expired - Fee Related
-
2000
- 2000-08-01 US US09/630,632 patent/US6775289B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0782301B1 (de) | 2003-03-26 |
DE69626946D1 (de) | 2003-04-30 |
EP0782301A1 (de) | 1997-07-02 |
JP2963064B2 (ja) | 1999-10-12 |
US6130878A (en) | 2000-10-10 |
US6775289B1 (en) | 2004-08-10 |
JPH09214529A (ja) | 1997-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69626946T2 (de) | Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes | |
DE69924057T2 (de) | Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite | |
DE60314205T2 (de) | Arbiter für ein Vermittlungssystem mit Eingangspuffer | |
DE69833588T2 (de) | Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke | |
DE69331309T2 (de) | Bandbreitenzuordnung, Übertragungsplanung und Vermeidung von Blockierungen in Breitband Asynchroner-Transfer-Modus Netzwerken | |
DE69334005T2 (de) | Überlastregelung in Hochgeschwindigkeitsnetzen | |
DE69835781T2 (de) | Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite | |
DE69533680T2 (de) | Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel | |
DE69636825T2 (de) | Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr | |
DE69515373T2 (de) | Verfahren zum Regeln des "Backpressure"-Verkehrs in einem Paketvermittlungsnetz | |
DE69811619T2 (de) | ATM-Zellenübertragung | |
DE69534540T2 (de) | Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle | |
DE69025558T2 (de) | Verfahren und Vorrichtung zur Überlastregelung in einem Datennetzwerk | |
DE69229900T2 (de) | Wiederzuteilung der Betriebsmittel für einen erzwungenen Benutzerverkehrsfluss | |
DE60033099T2 (de) | Hochkapazitäts WDM-TDM Paketvermittlungseinrichtung | |
DE3780799T2 (de) | Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem. | |
DE60222656T2 (de) | Vorrichtung und verfahren für effizientes multicasting von datenpaketen | |
DE69935587T2 (de) | Verfahren und vorrichtung zur weiterleitung von paketen von einer mehrzahl konkurrierender warteschlangen zu einem ausgang | |
DE69827053T2 (de) | Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk | |
DE60027639T2 (de) | Buffersystem mit Überlastregelung mit verbindungsweiser Verkehrsverwaltung | |
DE60000396T2 (de) | "multicommodity flow"-Verfahren zur Verteilung des Verkehrs in einem Packetnetz mit mehreren Diensten | |
DE60132437T2 (de) | Verfahren und einrichtung zur steuerung von informationen unter verwendung von kalendern | |
DE69633051T2 (de) | Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes | |
DE69904899T2 (de) | Vorrichtung und Verfahren zur Kontrolle der Paketübertragung und der Planung der Reihenfolge der Übertragung der Pakete | |
DE69912172T2 (de) | Verfahren und Vorrichtung zur Steuerung der Verkehrsflüsse in einem Paketvermittlungsnetz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |