DE69836812T2 - Verfahren und gerät zum dynamischen warteschlange-abschätzen - Google Patents
Verfahren und gerät zum dynamischen warteschlange-abschätzen Download PDFInfo
- Publication number
- DE69836812T2 DE69836812T2 DE69836812T DE69836812T DE69836812T2 DE 69836812 T2 DE69836812 T2 DE 69836812T2 DE 69836812 T DE69836812 T DE 69836812T DE 69836812 T DE69836812 T DE 69836812T DE 69836812 T2 DE69836812 T2 DE 69836812T2
- Authority
- DE
- Germany
- Prior art keywords
- partition
- queue
- partition boundary
- pointer
- boundary
- 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 - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Description
- HINTERGRUND DER ERFINDUNG
- 1. BEREICH DER ERFINDUNG
- Die vorliegende Erfindung betrifft das dynamische Verändern der Größe von Warteschlangen. Die vorliegende Erfindung betrifft spezieller das Verändern der Größe von Warteschlangen in einem Netzwerkschaltgerät.
- 2. TECHNISCHER HINTERGRUND
- Computernetzwerkgeräte beinhalten typischerweise Warteschlangen, deren Funktion darin besteht, ein- und abgehende Daten zu puffern, die die verschiedenen Ports einer Koppeleinrichtung (Switch) passieren. Die Menge an Daten, die die verschiedenen Ports des Switch passieren, kann recht stark variieren. Um die verschiedenen auftretenden Bandbreiten aufzunehmen, können die Warteschlangen so konstruiert werden, dass sie eine erwartete maximale Bandbreite aufnehmen. Bei einer solchen Konstruktion bleibt jedoch ein großer Teil der Warteschlangen unbenutzt, da Situationen, die eine maximale Bandbreitenausnutzung der Warteschlange mit sich bringen, selten sind. In einigen Systemen wird daher die Warteschlangengröße im Hinblick auf eine erwartete mittlere Bandbreite ausgelegt. Es kommt jedoch sofort zu Problemen, wenn die tatsächliche Bandbreite das erwartete Mittel überschreitet.
- Eine unzureichende Größe kann ernsthafte Leistungsfolgen für den gesamten Switch haben. So sind beispielsweise in der Viele-zu-eins-Situation die durch den Switch laufenden Verkehrsmuster derart, dass mehrere Eingangsports Daten zu einem Ausgangsport weiterleiten müssen. Dies kann einen vorübergehenden Stau auf dem Ausgangsport verursachen. Ebenso ist es in einer Eins-zu-viele-Situation möglich, dass Multicast-Verkehr, der am Eingangsport entsteht, zu vielen Ausgangsports weitergeleitet werden muss. Dies kann eine Verkehrsvervielfachung verursachen und führt wiederum zu einem temporären Stau an einem Ausgangsport. In noch einer anderen Situation muss möglicherweise ein schneller Eingangsport Verkehr zu einem langsamen Ausgangsport weiterleiten. Auch dies verursacht einen temporären Stau am Ausgangsport.
- Zusätzlich zu den durch einen temporären Stau verursachten Problemen können andere Netzwerkanforderungen andere Probleme verursachen. Switches müssen zuweilen mehrere Ausgangswarteschlangen pro Port bereitstellen, um einige der QOS- (Quality of Service)-Merkmale wie Verkehrstyp-Prioritätisierung, Verkehrstyp-Verwerfungsrichtlinien, wenn eine oder mehrere der Warteschlangen voll werden, und Protokolle zu unterstützen, die Bandbreitenreservierung und -zuordnung wie RSVP (ReSerVation Protocol) zulassen. So ist es wünschenswert, einen flexiblen Mechanismus bereitzustellen, der ein dynamisches Abgleichen von Anzahl und Größen der Ausgangswarteschlangen in einem Hochleistungs-Switch-Netzwerkelement ermöglicht, ohne Netzwerkdienste zu stören.
- Aus der US-A-5 555 405 ist ein Weiterleitungsinformationsmanagementsystem für eine Bridge oder einen Router bekannt, das ein Verfahren und eine Vorrichtung zum Zusammenführen von Freiraumsegmenten in einer Weiterleitungstabelle beinhaltet. Die Weiterleitungstabelle wird Weiterleitungseintragssätzen und Freiraumwarteschlangen zugeordnet. Jeder Weiterleitungseintragssatz muss sich innerhalb eines einzelnen zusammenhängenden Blocks des Weiterleitungstabellenspeichers befinden. Mit einem Satz freier Warteschlangen werden die Freiraumsegmente in der Weiterleitungstabelle verwaltet, die keinen Weiterleitungseinträgen zugeordnet sind. Jede freie Warteschlange verwaltet Zeiger auf Freiraumsegmente einer bestimmten Größe. Mit dem Hinzukommen von Weiterleitungseinträgen wird die Weiterleitungstabelle fragmentiert. Ein vorbestimmter Trigger löst einen Tabellenverpackungsvorgang aus, um kleine Freiraumbereiche zu größeren Freiraumbereichen zusammenzuführen, so dass aufeinander folgende Weiterleitungseintragssätze aneinander gereiht werden, um kleine Freiraumbereiche zu größeren zu kombinieren. Der Tabellenverpackungsvorgang verlegt die Weiterleitungseintragssätze in atomaren Operationen, um zu gewährleisten, dass Weiterleitungseintragssätze während der Verlegungen gültig bleiben, so dass Weiterleitungsentscheidungen auf der Basis von Weiterleitungsinformationen innerhalb des verlegten Weiterleitungseintragssatzes vorgenommen werden können, während der Weiterleitungseintragssatz verlegt wird. Der Tabellenverpackungsvorgang gewährleistet ferner, dass die Weiterleitungseintragssätze so verlegt werden, dass die Hardware-Frame-Weiterleitungsvorrichtung darauf zugreifen kann, die nur Weiterleitungseintragssätze liest, die keine Speicherseitengrenzen überqueren.
- Aus der US-A-4 807 111 ist es bekannt, eine Versandwarteschlange durch Löschen derjenigen Warteschlangenelemente zu verkürzen, in denen alle Task-Blöcke in einem Wartezustand sind. Immer wenn ein neues oder gelöschtes Element einen versandfähigen Block erfasst, wird ein Versandfähigkeitsindikator für das Element eingegeben, und wenn das Element außerhalb der Warteschlange ist, dann wird es in einer Prioritätsfolge von Elementen in der Warteschlange in diese eingereiht. Es ist koordinierte Kommunikation für alle anderen Requestoren vorgesehen, die eventuell gleichzeitig auf irgendein Element zugreifen, indem spezielle Flag-Felder für jedes Element vorgesehen werden, die Folgendes anzeigen: den veränderbaren/unveränderbaren Zustand des Zeigers auf das nächste Element in der Warteschlange, ob das Element innerhalb oder außerhalb der Warteschlange ist, und eine Kennung für den aktuellen Requestor, der auf das Element zugreift, um das Element möglicherweise einzufügen oder zu löschen.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Das System und Verfahren der vorliegenden Erfindung stellen einen flexiblen Mechanismus bereit, der ein dynamisches Abstimmen von Ausgangswarteschlangen ermöglicht. Diese dynamische Abstimmbarkeit erlaubt das Verändern der Anzahl und Größen von Warteschlangen, ohne vom Switch geleistete Netzwerkdienste zu stören.
- Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verändern der Größe von Warteschlangen bereitgestellt, das die folgenden Schritte beinhaltet:
Programmieren von Partitionszeigern zum Anzeigen eines aktualisierten Ortes von wenigstens einer Partitionsgrenze von wenigstens einer Warteschlange;
für jede zu aktualisierende Partitionsgrenze:
Prüfen von Zuständen der wenigstens einen Warteschlange, die von der Verlegung des Ortes der Partitionsgrenze betroffen ist;
Bestimmen, dass jeder Ort der Partitionsgrenze sicher verlegt werden kann, wenn sich keine Daten in dem durch die Verlegung der Partitionsgrenze betroffenen Bereich befinden; und
wenn bestimmt wird, dass der Ort der Partitionsgrenze sicher verlegt werden kann, Aktualisieren der Partitionsgrenze zu dem aktualisierten Ort. - Gemäß einem zweiten Aspekt der Erfindung wird eine Vorrichtung bereitgestellt, die Folgendes umfasst:
einen Speicher, der wenigstens eine Warteschlange umfasst, wobei jede Warteschlange durch Partitionsgrenzen definiert wird;
wenigstens einen Partitionszeiger, wobei jeder Partitionszeiger einen Ort einer Partitionsgrenze identifiziert; und
Steuerlogik, die mit dem Speicher und dem wenigstens einen Partitionszeiger gekoppelt ist, wobei die genannte Steuerlogik erfasst, wenn der wenigstens eine Partitionszeiger auf einen neuen Ort aktualisiert wird, bestimmt, dass die Partitionsgrenze sicher verlegt werden kann, wenn sich keine Daten in dem durch die Verlegung der Partitionsgrenze betroffenen Bereich befinden, und die Partitionsgrenze verlegt, wenn die Verlegung der Partitionsgrenze sicher ist. - In einer Ausgestaltung beinhaltet das System ein Vollzugsregister, programmierbare Partitionszeiger und einen Speicherblock, der für die Funktion als Ausgangswarteschlangen zugeordnet wird. Das Vollzugsregister dient zum Avisieren der Software, wenn die Partitionierung vollzogen ist. Die Partitionszeiger werden zum Programmieren der aktualisierten Stellen der Partitionen verwendet. Das System, das vorzugsweise eine Zustandsmaschine oder eine andere Steuerlogik verwendet, überwacht die Partitionszeiger, um zu ermitteln, wann ein Wert modifiziert wird, um anzuzeigen, dass eine oder mehrere der Partitionen verlegt werden müssen. Das System ermittelt nach dem Erfassen, dass eine Partition verlegt werden muss, wann es sicher ist, die Partition zu verlegen, damit keine Daten verloren gehen oder fälschlicherweise einer anderen Warteschlange zugewiesen werden. Wenn ermittelt wurde, dass eine Verlegung der Partition sicher geschehen kann, wird die Partitionsgrenze verlegt, um die Größe von einer oder zwei Warteschlangen zu verändern, und das entsprechende Partitionsvollzugsbit wird im Vollzugsregister gesetzt.
- So kann die Software dazu dienen, die Partitionsgrößen je nach Gebrauch dynamisch neu zuzuordnen und die im Stand der Technik auftretenden Unter- und Überauslastungsprobleme minimal zu halten.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
- Die Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden für eine Fachperson aus der nachfolgenden ausführlichen Beschreibung offensichtlich werden. Dabei zeigt:
-
1 ein vereinfachtes Blockdiagramm eines beispielhaften Netzwerkelementes, das die Lehren der vorliegenden Erfindung beinhaltet; -
2 ein vereinfachtes Blockdiagramm eines Switch-Elementes, das in dem Switch von1 verwendet wird; -
3 ein Fließschema, das eine Ausgestaltung des Verfahrens der vorliegenden Erfindung illustriert; -
4 ein vereinfachtes Blockdiagramm, das den für die Warteschlangen benutzten Speicherraum und die in dem Verfahren zum dynamischen Neuzuweisen der Partitionsgrenzen zwischen Warteschlangen benutzten Parameter zeigt; -
5 ein Fließschema, das eine Ausgestaltung des Verfahrens zum Neuzuweisen von Partitionsgrenzen illustriert; -
6 ein Fließschema, das eine Ausgestaltung des Verfahrens zum Ermitteln illustriert, wann eine Partitionsgrenze sicher verlegt werden kann. - AUSFÜHRLICHE BESCHREIBUNG
- In der nachfolgenden Beschreibung werden zu Erläuterungszwecken zahlreiche Details dargelegt, um ein tiefgreifendes Verständnis der vorliegenden Erfindung zu vermitteln. Es wird für die Fachperson jedoch offensichtlich sein, dass diese speziellen Einzelheiten für die Ausübung der vorliegenden Erfindung nicht erforderlich sind. In anderen Fällen sind gut bekannte elektrische Strukturen wie z.B. Schaltungen in Blockdiagrammform dargestellt, um die vorliegende Erfindung nicht unnötig zu verschleiern.
- Das System und das Verfahren der vorliegenden Erfindung stellen ein Netzwerkelement und ein Verfahren für eine verlustlose dynamische Veränderung der Größe von Warteschlangen bereit. Es ist leicht verständlich, dass das Verfahren nicht nur auf Netzwerkelemente, sondern auch auf andere Vorrichtungen anwendbar ist, die den Vorteil einer dynamischen Veränderung der Größe von Warteschlangen erfordern. Ein beispielhaftes Netzwerkelement ist in
1 dargestellt. - Das Netzwerkelement dient zum Verbinden einer Reihe von Knoten und Endstationen auf eine Reihe verschiedener Weisen. Insbesondere wäre eine Anwendung des mehrschichtigen verteilten Netzwerkelementes (MLDNE) das Leiten von Paketen gemäß vordefinierten Routing-Protokollen über eine homogene Sicherungsschicht wie z.B. gemäß der Norm IEEE 802.3, die auch als Ethernet bekannt ist. Es können auch andere Routing-Protokolle zur Anwendung kommen.
- Die verteilte MLDNE-Architektur kann so konfiguriert werden, dass Nachrichtenverkehr gemäß einer Reihe bekannter oder zukünftiger Routing-Algorithmen geleitet wird. In einer bevorzugten Ausgestaltung ist das MLDNE so konfiguriert, dass es Nachrichtenverkehr mit dem Internet-Protokollsuite handhabt, spezieller mit dem TCP (Transmission Control Protocol) und dem IP (Internet Protocol) über den Ethernet LAN-Standard und die MAC-(Medium Access Control)-Sicherungsschicht. Das TCP wird hier auch als Layer 4 Protokoll und das IP wird wiederholt als Layer 3 Protokoll bezeichnet.
- In einer Ausgestaltung des MLDNE wird ein Netzwerkelement so konfiguriert, dass es Paketleitfunktionen auf verteilte Weise implementiert, d.h. verschiedene Teile einer Funktion werden von unterschiedlichen Subsystemen im MLDNE ausgeführt, während das Endergebnis der Funktionen für die externen Knoten und Endstationen transparent bleibt. Wie aus der nachfolgenden Diskussion und dem Diagramm in
1 deutlich wird, hat das MLDNE eine skalierbare Architektur, die es dem Designer gestattet, auf vorhersehbare Weise die Zahl der externen Verbindungen durch Hinzufügen zusätzlicher Subsysteme zu erhöhen, um dadurch größere Flexibilität beim Definieren des MLDNE als alleinstehenden Router zu gewinnen. - Wie in Blockdiagrammform in
1 illustriert, enthält das MLDNE101 eine Reihe von Subsystemen110 , die völlig vernetzt und mit einer Reihe von internen Links141 zum Erzeugen eines größeren Switch miteinander verbunden sind. Wenigstens eine interne Link verbindet beliebige zwei Subsysteme. Jedes Subsystem110 beinhaltet ein Switch-Element111 , das mit einem Weiterleitungsspeicher113 und einem assoziierten Speicher114 gekoppelt ist. Der Weiterleitungsspeicher (oder die Datenbank)113 speichert eine Adresstabelle, die zum Abstimmen mit den Headern von empfangenen Paketen verwendet wird. Der assoziierte Speicher (oder die Datenbank) speichert Daten, die mit jedem Eintrag im Weiterleitungsspeicher assoziiert sind, der zum Identifizieren von Weiterleitungsattributen zum Weiterleiten der Pakete durch das MLDNE verwendet wird. Eine Reihe von externen Ports (nicht dargestellt) mit Ein- und Ausgabefähigkeit bilden die Schnittstelle zu den externen Verbindungen117 . In einer Ausgestaltung unterstützt jedes Subsystem mehrere Gigabit Ethernet-Ports, Fast Ethernet-Ports und Ethernet-Ports. Interne Ports (nicht dargestellt), ebenfalls mit Ein- und Ausgabefähigkeit in jedem Subsystem, koppeln die internen Links141 . Unter Verwendung der internen Links kann das MLDNE mehrere Schaltelemente zu einem Multigigabit-Switch zusammenschalten. - Das MLDNE
101 beinhaltet ferner ein zentrales Verarbeitungssystem (CPS)160 , das mit dem individuellen Subsystem110 durch einen Kommunikationsbus151 wie z.B. PCI (Peripheral Components Interconnect) gekoppelt ist. Das CPS160 beinhaltet eine Zentraleinheit (CPU)161 , die mit einem Zentralspeicher163 gekoppelt ist. Der Zentralspeicher163 enthält eine Kopie der Einträge, die in den einzelnen Weiterleitungsspeichern113 der verschiedenen Subsysteme enthalten sind. Das CPS hat eine direkte Steuer- und Kommunikationsschnittstelle mit jedem Subsystem110 und bietet ein gewisses Maß an zentralisierter Kommunikation und Steuerung zwischen Switch-Elementen. -
2 ist ein vereinfachtes Blockdiagramm, das eine beispielhafte Architektur des Switch-Elements von1 illustriert. Das veranschaulichte Switch-Element200 beinhaltet eine CPU-(Zentraleinheit)-Schnittstelle215 , einen Switch-Fabric-Block210 , eine Netzwerkschnittstelle205 , eine Kaskadenschnittstelle225 und einen Gemeinschaftsspeichermanager220 . - Ethernet-Pakete können in das Netzwerk-Switch-Element
200 durch eine der drei Schnittstellen205 ,215 oder225 eintreten oder es dadurch verlassen. Kurz, die Netzwerkschnittstelle205 arbeitet gemäß einem entsprechenden Ethernet-Protokoll zum Empfangen von Ethernet-Paketen von einem Netzwerk (nicht dargestellt) und zum Senden von Ethernet-Paketen zum Netzwerk über einen oder mehrere externe Ports (nicht dargestellt). Eine fakultative Kaskadenschnittstelle225 kann eine oder mehrere interne Links (nicht dargestellt) zum Verbinden von Schaltelementen beinhalten, um größere Switches zu erzeugen. So kann beispielsweise jedes Schaltelement zusammen mit anderen Switch-Elementen in einer Full-mesh-Topologie zusammengeschaltet werden, um einen Multilayer-Switch wie oben beschrieben zu bilden. Ein Switch kann stattdessen auch ein einzelnes Switch-Element200 mit oder ohne Kaskadenschnittstelle225 umfassen. - Die CPU (nicht dargestellt) kann Befehle oder Pakete über die CPU-Schnittstelle
215 zum Netzwerk-Switch-Element200 senden. Auf diese Weise können ein oder mehrere auf der CPU laufende Software-Prozesse Einträge in einer externen Weiterleitungs- und Filterungsdatenbank240 verwalten, z.B. neue Einträge hinzufügen und unerwünschte Einträge invalidieren. In alternativen Ausgestaltungen kann der CPU jedoch Direktzugang zu der Weiterleitungs- und Filterungsdatenbank gegeben werden. In jedem Fall ähnelt der CPU-Port der CPU-Schnittstelle215 , für die Zwecke der Paketweiterleitung, einem generischen Eingangsport in das Switch-Element200 und kann so behandelt werden, als handele es sich einfach um einen weiteren externen Netzwerkschnittstellenport. Da jedoch der Zugriff auf den CPU-Port über einen Bus wie z.B. einen PCI-(Peripheral Component Interconnect)-Bus erfolgt, braucht der CPU-Port keine MAC-(Media Access Control)-Funktionalität. - Zurück zur Netzwerkschnittstelle
205 , es werden nun kurz die beiden Hauptaufgaben der Eingangs- und der Ausgangspaketverarbeitung beschrieben. Die Eingangspaketverarbeitung kann durch einen oder mehrere Eingangsports der Netzwerkschnittstelle205 erfolgen. Eingangspaketverarbeitung beinhaltet Folgendes: (1) Empfangen und Verifizieren eingehender Ethernet-Pakete, (2) wo angemessen, Modifizieren von Paket-Headern, (3) Anfordern von Pufferzeigern vom Gemeinschaftsspeichermanager220 zum Speichern eingehender Pakete, (4) Anfordern von Weiterleitungsentscheidungen vom Switch-Fabric-Block210 , (5) Übertragen der eingehenden Paketdaten zum Gemeinschaftsspeichermanager220 zum vorübergehenden Speichern in einem externen Gemeinschaftsspeicher230 , und (5) nach Eingang einer Weiterleitungsentscheidung, Weiterleiten des/der Pufferzeiger(s) zu dem/den Ausgangsport(s), der/die in der Weiterleitungsentscheidung angegeben ist/sind. Die Ausgangspaketverarbeitung kann durch einen oder mehrere Ausgangsports der Netzwerkschnittstelle205 erfolgen. Die Ausgangsverarbeitung beinhaltet das Anfordern von Paketdaten vom Gemeinschaftsspeichermanager220 , das Senden von Paketen zum Netzwerk und das Anfordern der Aufhebung der Zuweisung von Puffer(n) nach dem Senden von Paketen. - Die Netzwerkschnittstelle
205 , die CPU-Schnittstelle215 und die Kaskadenschnittstelle225 sind mit dem Gemeinschaftsspeichermanager220 und dem Switch-Fabric-Block210 gekoppelt. Kritische Funktionen wie Paketweiterleitung und Paketpufferung werden vorzugsweise wie in2 gezeigt zentralisiert. Der Gemeinschaftsspeichermanager220 stellt eine effiziente zentralisierte Schnittstelle zum externen Gemeinschaftsspeicher zum Puffern eingehender Paketen bereit. Der Switch- Fabric-Block210 beinhaltet eine Suchmaschine und Lernlogik zum Suchen in und Verwalten der Weiterleitungs- und Filterungsdatenbank mit Hilfe der CPU. - Der zentralisierte Switch-Fabric-Block
210 beinhaltet eine Suchmaschine, die Zugang zur Weiterleitungs- und Filterungsdatenbank für die Schnittstellen205 ,215 und225 bietet. Paket-Header-Abgleich, Schicht-2-gestütztes Lernen, Paketweiterleitung, -filterung und -alterung auf der Basis von Schicht 2 und Schicht 3, sind Beispiele für Funktionen, die vom Switch-Fabric-Block210 ausgeführt werden können. Jeder Eingangsport ist mit dem Switch-Fabric-Block210 zum Empfangen von Weiterleitungsentscheidungen für empfangene Pakete gekoppelt. Die Weiterleitungsentscheidung zeigt den/die Abgangsport(s) (z.B. externer Netzwerkport oder interner Kaskadenport) an, auf dem/den das entsprechende Paket gesendet werden soll. Zusätzliche Informationen können ebenfalls in der Weiterleitungsentscheidung zum Unterstützen von Hardware-Routing enthalten sein, wie z.B. eine neue MAC-Zieladresse (DA) für MAC DA Austausch. Ferner kann eine Prioritätsanzeige in der Weiterleitungsentscheidung enthalten sein, um eine Prioritätisierung von Paketverkehr durch das Switch-Element200 zu erleichtern. - In der vorliegenden Ausgestaltung werden Ethernet-Pakete vom Gemeinschaftsspeichermanager
220 zentral gepuffert und verwaltet. Der Gemeinschaftsspeichermanager220 ist mit jedem Eingangsport und Ausgangsport verbunden und führt jeweils dynamische Speicherzuordnung und -zuordnungsaufhebung für diese aus. Bei der Eingangspaketverarbeitung werden ein oder mehrere Puffer im externen Gemeinschaftsspeicher zugeordnet und ein eingehendes Paket wird vom Gemeinschaftsspeichermanager220 als Reaktion auf Befehle gespeichert, die z.B. von der Netzwerkschnittstelle250 empfangen werden. Danach ruft, während der Ausgangspaketverarbeitung, der Gemeinschaftsspeichermanager220 das Paket aus dem externen Gemeinschaftsspeicher ab und hebt die Zuordnung von Puffern auf, die nicht mehr gebraucht werden. Um zu gewährleisten, dass Puffer erst dann freigegeben werden, wenn alle Ausgangsports das Senden der darin gespeicherten Daten vollzogen haben, verfolgt der Gemeinschaftsspeichermanager220 vorzugsweise auch die Puffereigentümerschaft. -
3 illustriert allgemein ein Verfahren für eine dynamische Veränderung der Größe von Warteschlangen gemäß den Lehren der vorliegenden Erfindung. - Gemäß
3 wird in Schritt305 das Vollzugsregister gelöscht. Das Vollzugsregister ist vorzugsweise ein Register von mehreren Bits, ein Bit pro Warteschlange, das anzeigt, ob der Größenveränderungsvorgang oder die die Warteschlange betreffende entsprechende Partitionsgrenze abgeschlossen ist. Alternativ enthält das Vollzugsregister 1 Bit pro Grenze, was ebenso anzeigt, wenn Partitionsgrenzen vollzogen sind oder werden. Wie nachfolgend beschrieben wird, wird/werden nach vollzogenem/r Größenveränderungsprozess oder Verlegung der Warteschlangenpartition das/die entsprechende(n) Bit(s) im Vollzugsregister gesetzt, um der Software anzuzeigen, dass die Operationen, die die Warteschlange(n) betreffen, sicher erfolgen können. - In Schritt
310 werden die programmierbaren Partitionszeiger mit den neuen Werten aktualisiert, die widerspiegeln, wie die Partitionsgrenzen zu verlegen sind. Zum Beispiel, die Werte könnten einfach Speicheradressen des für die Warteschlangen zugeordneten Speicherraums sein. Es sind auch alternative Anzeigen wie z.B. relative Verlegung, oder virtuelle Adressen, sowie andere Adressiertechniken denkbar. In Schritt315 fährt dann die Software mit dem Abfragen des Vollzugsregisters fort, um zu ermitteln, wann der Partitionsvorgang abgeschlossen ist. - Es ist leicht ersichtlich, dass ein oder mehrere der Partitionszeiger mit neuen Werten aktualisiert werden kann/können, um ein Verlegen der entsprechenden Partitionsgrenzen zu bewirken. Somit kann/können in einem bestimmten Teil des Vorgangs eine oder mehrere der Partitionsgrenzen verlegt werden. In Schritt
320 wird die zu modifizierende erste Partitionsgrenze referenziert. - In Schritt
325 wird ermittelt, ob eine Verlegung der Partition sicher ist. Dies erfolgt vorzugsweise durch Steuerlogik oder mit einer Zustandsmaschine, die den Zustand bestimmter Zeiger und die Aktivität in der Warteschlange prüft, um zu ermitteln, wann es sicher ist, die Partition zu verlegen, damit bereits in eine Warteschlange geschriebene Daten durch den Vorgang des Veränderns der Warteschlangengröße nicht zu einer Nachbarwarteschlange verlegt werden und in eine Warteschlange geschriebene Daten nicht durch eine Umgehungsfunktion verloren gehen, die durch die Nachbarwarteschlange ausgeführt wird. Somit ist es, allgemein gesagt, dann sicher, eine Partition zu verlegen, wenn in dem durch die Verlegung der Partition betroffenen Bereich keine Dateneinträge existieren. - In Schritt
340 wird die Partitionsgrenze dann verlegt, wenn dies sicher ist, und in Schritt345 wird das entsprechende Partitionsbit im Vollzugsregister gesetzt. Der Vorgang fährt dann mit Schritt350 für jede zu verlegende Partitionsgrenze fort. -
4 zeigt ein vereinfachtes Blockdiagramm. In dieser Illustration und in den Fließschemata der5 und6 werden die folgenden Zeiger für jede partitionierte Warteschlange geführt:
SOQx: der Anfang der Warteschlange x zeigt den ersten Eintrag an, der derzeit der Warteschlange x zugewiesen ist.
EOQx: das Ende der Warteschlange x zeigt den letzten Eintrag an, der derzeit der Warteschlange x zugewiesen ist.
PEOQx: das Partitionsende der Warteschlange x zeigt den letzten Eintrag an, der der Warteschlange x, wie vom Rest der Vorrichtung gesehen, zugewiesen ist.
WPx: der Schreibzeiger x zeigt den nächsten verfügbaren (freien) Eintrag in der Warteschlange x an.
RPx: der Lesezeiger x zeigt den nächsten aktiven (belegten) Eintrag in der Warteschlange x an. -
4 illustriert einen Speicherblock, der zur Bildung der Warteschlangen des Switch verwendet wird. In der vorliegenden Ausgestaltung werden drei Warteschlangen q0, q1, q2 ... beschrieben. Es ist leicht ersichtlich, dass das System zum Bereitstellen einer größeren oder kleineren Zahl von Warteschlangen konfiguriert werden kann. Ferner wird bevorzugt, dass eine vorbestimmte Höchstzahl von Warteschlangen zulässig ist, z.B. acht Warteschlangen. Wenn die derzeitige Anwendung weniger Warteschlangen benötigt, dann werden die unbenutzten Warteschlangen mit einem Größeneintrag von 1 geführt. Somit bleiben die Zeiger zugängig, aber die für die Warteschlangen belegte Speichermenge ist minimal. Dadurch wird der Neuzuordnungsprozess stark vereinfacht und Warteschlangen können leicht hinzugefügt und weggenommen werden. - Wie zuvor erwähnt, referenziert Steuerlogik, die vorzugsweise als Zustandsmaschine ausgeführt ist, die Partitionszeiger
410 und das Vollzugsregister415 und wartet die verschiedenen, für die unterschiedlichen Warteschlangen425 ,430 und435 dargestellten Zeiger420 . Wie zuvor erwähnt, ist der Rest des Systems mit den Warteschlangen über die Partitionszeiger und das Vollzugsregister verbunden. Die Partitionszeiger werden vom System (z.B. Software) benutzt, um der Steuerlogik405 mitzuteilen, dass die Partitionsgrenzen geändert werden müssen, und das Vollzugsregister zeigt dem Rest des Systems an, wenn der Update-Vorgang zum Verlegen von Partitionen vollzogen ist. In der vorliegenden Ausgestaltung führen die Warteschlangen Zeiger zu Puffern, die die Daten enthalten, die durch den entsprechenden Port kommuniziert werden. Es ist jedoch leicht ersichtlich, dass die Warteschlangenstruktur auch zum Führen der Daten selbst sowie anderer Informationen verwendet werden kann. Eine Ausgestaltung des Vorgangs zum Aktualisieren von Warteschlangen wird mit Bezug auf5 beschrieben. Zu Beginn des Partitionsaktualisierungsprozess wird jeder Partitionszeiger mit dem Wert am Warteschlangenende (EOQx) verglichen, um zu ermitteln, ob sich der Partitionszeigerwert geändert hat (Schritte510 ,515 ,522 ). Hat sich der Partitionszeigerwert geändert, was daran ersichtlich ist, dass der Partitionszeigerwert nicht gleich dem entsprechenden Warteschlangenendewert ist, dann ermittelt die Steuerlogik anhand der Werte der verschiedenen Warteschlangenzeiger (5 , Schritt517 ,520 ,525 ), wann es sicher ist, die jeweilige Partition zu verlegen. In der vorliegenden Ausgestaltung illustriert der Prozessablauf, dass für eine bestimmte Partitionsgrenze derselbe Vorgang mit denselben Variablen ausgeführt wird. Der Vorgang wird jedoch als solcher zu Illustrationszwecken dargestellt und ein solcher Schritt ist nicht unbedingt zum Ausführen des Vorgangs erforderlich. Außerdem verändert der Vorgang die Größe einer Warteschlange durch Verlegen der unteren Grenze einer Warteschlange; es ist leicht ersichtlich, dass die übrigen Variationen ausgeführt werden können (z.B. Verlegen der unteren und der oberen Grenzen). - Wenn eine Verlegung der Partition sicher ist, dann wird die Partition verlegt (Schritte
530 ,535 und540 ) und das entsprechende Vollzugsbit wird gesetzt (Schritte545 ,550 ,555 ). Die Steuerlogik fährt dann wieder damit fort zu prüfen, ob die Partitionsregisterwerte wieder aktualisiert wurden, was anzeigt, dass die Grenzen aktualisierungsbedürftig sind, um die Größe(n) der Warteschlange(n) zu verändern. -
6 illustriert den Vorgang des Ermittelns, wann eine Verlegung der Partitionsgrenze sicher ist, und des Verlegens der Grenze, wenn dies als sicher festgestellt wurde. Spezieller, der nachfolgende Vorgang illustriert die Verhütung von Datenverlusten dadurch, dass verhindert wird, dass Daten auf eine Warteschlange geschrieben werden, die aufgrund der Verlegung der Grenze in einer anderen Warteschlange erscheinen, bevor die Daten durch die Warteschlange ausgegeben wurden, und indem verhindert wird, dass Daten einfach verloren gehen, wenn die Partitionsgrenze verlegt wird. - Der veranschaulichte Vorgang geht davon aus, dass die untere Partitionsgrenze einer bestimmten Warteschlange zum Verändern der Warteschlangengröße verlegt wird. Darüber hinaus werden in der vorliegenden Ausgestaltung die Warteschlangen in einem benachbarten Speicherraum eingerichtet. Wenn also die Partitionsgrenze verlegt wird, dann wird auch die Größe der Warteschlange unter der Warteschlange, deren Größe verändert werden soll, betroffen. Um zu ermitteln, ob es sicher ist, die Größe der Warteschlange zu verändern, werden die Zeiger für die Warteschlange, deren Größe verändert werden soll (hierin „aktuelle" Warteschlange genannt), mit dem Subskript „C" identifiziert, und die Zeiger für die Warteschlange unter der, deren Größe verändert werden soll (hierin als „nächste" Warteschlange bezeichnet), werden mit dem Subskript „N" identifizert.
- In Schritt
602 muss, wenn der Partitions-Warteschlangenende-Registerwert kleiner ist als Warteschlangenende-Registerwert für die Warteschlange, deren Größe verändert werden soll, die Größe der Warteschlange so verändert werden, dass sie kleiner ist, und die Schritte604 ,606 ,608 ,610 ,612 ,614 ,616 ,618 ,620 werden ausgeführt, um zu ermitteln, wann es sicher ist, den Größenveränderungsvorgang auszuführen und die Größe der Warteschlange zu verändern. Wenn in Schritt602 der Partitions-Warteschlangenende-Registerwert nicht kleiner ist als der Warteschlangenende-Registerwert, dann muss die Warteschlange vergrößert werden und die Schritte622 ,624 ,626 ,628 ,630 ,632 ,634 ,636 ,638 ,640 werden ausgeführt. - Wenn in Schritt
604 der Schreibzeiger größer ist als der Partitions-Warteschlangenendewert, dann befindet sich der Schreibzeiger außerhalb der Grenzen in der Warteschlange mit veränderter Größe. Wenn in Schritt606 der Schreibzeiger gleich dem Lesezeiger ist, dann befinden sich derzeit keine Daten in der Warteschlange und es ist sicher, die Zeiger zum Verändern der Größe der Warteschlange zu aktualisieren (Schritt616 ). Wenn der Schreibzeiger in Schritt606 jedoch nicht gleich dem Lesezeiger ist, dann kehrt die Steuerung zu Schritt604 zurück. Wenn der Schreibzeiger in Schritt604 nicht größer ist als das Partitions-Warteschlangenende, dann wird ermittelt, ob der Schreibzeiger gleich oder größer ist als der Lesezeiger, was anzeigt, dass die aktuelle Warteschlange nicht voll ist. In Schritt614 wird der Warteschlangenendezeiger sicher auf den Partitions-Warteschlangenendezeiger aktualisiert und der Schreibzeiger wird enabelt. Wenn der Schreibzeiger in Schritt608 kleiner ist als der Lesezeiger und in Schritt610 der Schreibzeiger gleich dem Partitions-Warteschlangenende ist, dann ist die aktuelle Warteschlange voll und der Schreibzeiger wird gestoppt (Schritt612 ). Die Steuerung kehrt zu Schritt608 zurück und wartet, bis es sicher ist, den Warteschlangenendezeiger zu aktualisieren und den Schreibzeiger zu enabeln. - Als Nächstes wird in Schritt
618 ermittelt, ob es sicher ist, den Warteschlangenstartzeiger für die nächste benachbarte Warteschlange zu aktualisieren, die durch die Veränderung der Größe der Warteschlange betroffen wird. Wenn in Schritt618 der Schreibzeiger für die nächste Warteschlange gleich oder größer ist als der Lesezeiger für die nächste Warteschlange, dann wird der Warteschlangenstartzeiger für die nächste Warteschlange auf den Partitions-Warteschlangenendewert plus 1 gesetzt. - Die Schritte
604 ,606 ,608 ,610 ,612 ,614 ,616 ,618 ,620 illustrieren den Vorgang des Ermittelns, wann das Update und der Vorgang des Aktualisierens der entsprechenden Zeiger zum Verkleinern der Warteschlange sicher ist. Ein ähnlicher Prozess erfolgt zum Vergrößern der Warteschlange nach den Schritten622 ,624 ,626 ,628 ,630 ,632 ,634 ,636 ,638 ,640 . - Die Erfindung wurde in Verbindung mit der bevorzugten Ausgestaltung beschrieben. Es ist klar, dass für die Fachperson im Hinblick auf die obige Beschreibung zahlreiche Alternativen, Modifikationen, Variationen und Anwendungen offensichtlich sein werden.
Claims (12)
- Verfahren zum Verändern der Größe von Warteschlangen, das die folgenden Schritte beinhaltet: Programmieren von Partitionszeigern zum Anzeigen eines aktualisierten Ortes von wenigstens einer Partitionsgrenze von wenigstens einer Warteschlange; für jede zu aktualisierende Partitionsgrenze: Prüfen von Zuständen der wenigstens einen Warteschlange, die von der Verlegung des Ortes der Partitionsgrenze betroffen ist; Bestimmen, dass jeder Ort der Partitionsgrenze sicher verlegt werden kann, wenn sich keine Daten in dem durch die Verlegung der Partitionsgrenze betroffenen Bereich befinden; und wenn bestimmt wird, dass der Ort der Partitionsgrenze sicher verlegt werden kann, Aktualisieren der Partitionsgrenze zu dem aktualisierten Ort.
- Verfahren nach Anspruch 1, das ferner die folgenden Schritte umfasst: Setzen eines Vollzugsregisters in einen ersten Zustand, um anzuzeigen, dass wenigstens eine Partitionsgrenze zu aktualisieren ist; und Setzen des Vollzugsregisters in einen zweiten Zustand, um anzuzeigen, dass der Schritt des Aktualisierens der Partitionsgrenze vollzogen ist.
- Verfahren nach Anspruch 2, bei dem: der Schritt des Setzens des Vollzugsregisters in den ersten Zustand für jede zu aktualisierende Partition das Setzen eines entsprechenden Bits im Vollzugsregister auf einen ersten Wert beinhaltet; und der Schritt des Setzens des Vollzugsregisters in den zweiten Zustand für jede aktualisierte Partition das Setzen des entsprechenden Bits im Vollzugsregister auf einen zweiten Wert beinhaltet.
- Vorrichtung, die Folgendes umfasst: einen Speicher, der wenigstens eine Warteschlange umfasst, wobei jede Warteschlange durch Partitionsgrenzen definiert wird; wenigstens einen Partitionszeiger, wobei jeder Partitionszeiger einen Ort einer Partitionsgrenze identifiziert; und Steuerlogik, die mit dem Speicher und dem wenigstens einen Partitionszeiger gekoppelt ist, wobei die genannte Steuerlogik erfasst, wenn der wenigstens eine Partitionszeiger auf einen neuen Ort aktualisiert wird, bestimmt, dass die Partitionsgrenze sicher verlegt werden kann, wenn sich keine Daten in dem durch die Verlegung der Partitionsgrenze betroffenen Bereich befinden, und die Partitionsgrenze verlegt, wenn die Verlegung der Partitionsgrenze sicher ist.
- Vorrichtung nach Anspruch 4, wobei der Speicher mehrere zusammenhängend geordnete Warteschlangen umfasst.
- Vorrichtung nach Anspruch 4, die ferner ein Vollzugsregister umfasst, wobei das genannte Vollzugsregister in einen ersten Zustand gesetzt ist, um anzuzeigen, dass wenigstens eine Partitionsgrenze zu aktualisieren ist, und in einen zweiten Zustand gesetzt ist, um anzuzeigen, dass der wenigstens eine Partitionszeiger aktualisiert wurde.
- Vorrichtung nach Anspruch 6, wobei das Vollzugsregister mehrere Bits beinhaltet, wobei jedes Bit einer Partitionsgrenze entspricht, so dass ein entsprechendes Bit auf einen ersten Wert gesetzt wird, wenn eine entsprechende Partitionsgrenze zu aktualisieren ist, und auf einen zweiten Wert gesetzt wird, nachdem die entsprechende Partitionsgrenze aktualisiert wurde.
- Vorrichtung nach Anspruch 4, die ferner einen Warteschlangenzeigeranfang und ein Warteschlangenzeigerende für jede Warteschlange umfasst, wobei die genannte Partitionsgrenze durch Ändern des Warteschlangenanfangs oder des Warteschlangenendes aktualisiert wird.
- Vorrichtung nach Anspruch 4, die ferner einen Schreibzeiger und einen Lesezeiger für jede Warteschlange umfasst, wobei der genannte Schreibzeiger und der genannte Lesezeiger zum Bestimmen benutzt werden, wann die Partitionsgrenze sicher aktualisiert werden kann.
- Verfahren nach Anspruch 1, wobei die Warteschlangen zum Steuern der Pufferung von Daten verwendet werden, die durch einen Ausgangsport eines mit einem Netzwerk gekoppelten Switch ausgegeben werden sollen, wobei der genannte Switch mehrere Ausgangsports umfasst, wobei jeder Port wenigstens eine Warteschlange umfasst, wobei das Verfahren ferner das Bestimmen umfasst, wann die Größe einer Warteschlange geändert werden muss.
- Verfahren nach Anspruch 10, wobei die Warteschlange vergrößert wird.
- Verfahren nach Anspruch 10, wobei die Warteschlange verkleinert wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/885,232 US6044418A (en) | 1997-06-30 | 1997-06-30 | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers |
US885232 | 1997-06-30 | ||
PCT/US1998/013361 WO1999000738A1 (en) | 1997-06-30 | 1998-06-25 | Method and apparatus for dynamic queue sizing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69836812D1 DE69836812D1 (de) | 2007-02-15 |
DE69836812T2 true DE69836812T2 (de) | 2007-10-11 |
Family
ID=25386455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69836812T Expired - Fee Related DE69836812T2 (de) | 1997-06-30 | 1998-06-25 | Verfahren und gerät zum dynamischen warteschlange-abschätzen |
Country Status (6)
Country | Link |
---|---|
US (1) | US6044418A (de) |
EP (1) | EP0993635B1 (de) |
JP (1) | JP2002508125A (de) |
AT (1) | ATE350708T1 (de) |
DE (1) | DE69836812T2 (de) |
WO (1) | WO1999000738A1 (de) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611502B1 (en) | 1999-01-15 | 2003-08-26 | 3Com Corportion | Spanning tree with rapid propagation of topology changes |
US6771610B1 (en) | 1999-01-19 | 2004-08-03 | 3Com Corporation | Spanning tree with protocol for bypassing port state transition timers |
US6345327B1 (en) * | 1999-02-19 | 2002-02-05 | International Business Machines Corporation | Queuing method and apparatus for providing direct data processing access using a queued direct input-output device |
US6535490B1 (en) * | 1999-03-04 | 2003-03-18 | 3Com Corporation | High availability spanning tree with rapid reconfiguration with alternate port selection |
US6657955B1 (en) * | 1999-05-27 | 2003-12-02 | Alcatel Canada Inc. | Buffering system employing per traffic flow accounting congestion control |
US6757679B1 (en) * | 1999-06-25 | 2004-06-29 | International Business Machines Corporation | System for building electronic queue(s) utilizing self organizing units in parallel to permit concurrent queue add and remove operations |
US6532501B1 (en) * | 1999-09-30 | 2003-03-11 | Silicon Graphics, Inc. | System and method for distributing output queue space |
US6643663B1 (en) * | 1999-10-08 | 2003-11-04 | The Belo Company | Method and system for operating a content management system |
US6526322B1 (en) * | 1999-12-16 | 2003-02-25 | Sirf Technology, Inc. | Shared memory architecture in GPS signal processing |
US6467075B1 (en) * | 2000-03-24 | 2002-10-15 | Nec Corporation | Resolution of dynamic memory allocation/deallocation and pointers |
US6694388B1 (en) * | 2000-05-31 | 2004-02-17 | 3Com Corporation | Dynamic queuing system incorporating multiple queues sharing a single memory |
US7720821B1 (en) | 2000-06-30 | 2010-05-18 | Sony Corporation | Method of and apparatus for writing and reading time sensitive data within a storage device |
KR100358152B1 (ko) * | 2000-12-22 | 2002-10-25 | 한국전자통신연구원 | 디에스엘 통신서비스칩용 에이티엠 에스에이알 모듈장치 |
US6963569B1 (en) | 2000-12-29 | 2005-11-08 | Cisco Technology, Inc. | Device for interworking asynchronous transfer mode cells |
US6782461B2 (en) * | 2002-02-25 | 2004-08-24 | Intel Corporation | Dynamically adjustable load-sharing circular queues |
DE10219359B4 (de) * | 2002-04-30 | 2007-05-03 | Advanced Micro Devices, Inc., Sunnyvale | Vorrichtung und Verfahren mit einem Queuemechanismus |
US6895481B1 (en) | 2002-07-03 | 2005-05-17 | Cisco Technology, Inc. | System and method for decrementing a reference count in a multicast environment |
US20040131055A1 (en) * | 2003-01-06 | 2004-07-08 | Juan-Carlos Calderon | Memory management free pointer pool |
US7356648B2 (en) * | 2003-10-02 | 2008-04-08 | International Business Machines Corporation | Shared buffer having hardware controlled buffer regions |
DE10356127A1 (de) * | 2003-12-02 | 2005-07-07 | Robert Bosch Gmbh | Einrichtung zur Steuerung eines Speichers |
US7447812B1 (en) | 2004-03-23 | 2008-11-04 | Integrated Device Technology, Inc. | Multi-queue FIFO memory devices that support flow-through of write and read counter updates using multi-port flag counter register files |
US7408875B2 (en) * | 2004-04-09 | 2008-08-05 | International Business Machines Corporation | System and program product for actively managing central queue buffer allocation |
US7349334B2 (en) * | 2004-04-09 | 2008-03-25 | International Business Machines Corporation | Method, system and program product for actively managing central queue buffer allocation using a backpressure mechanism |
CN1311350C (zh) * | 2004-04-30 | 2007-04-18 | 华为技术有限公司 | 在通信队列管理中通过发送事件触发队列管理的方法 |
US7805552B2 (en) * | 2004-07-26 | 2010-09-28 | Integrated Device Technology, Inc. | Partial packet write and write data filtering in a multi-queue first-in first-out memory system |
US7870310B2 (en) * | 2004-07-26 | 2011-01-11 | Integrated Device Technology, Inc. | Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system |
US8230174B2 (en) * | 2004-07-26 | 2012-07-24 | Integrated Device Technology, Inc. | Multi-queue address generator for start and end addresses in a multi-queue first-in first-out memory system |
US7523232B2 (en) * | 2004-07-26 | 2009-04-21 | Integrated Device Technology, Inc. | Mark/re-read and mark/re-write operations in a multi-queue first-in first-out memory system |
US20060155940A1 (en) | 2005-01-10 | 2006-07-13 | Mario Au | Multi-queue FIFO memory systems that utilize read chip select and device identification codes to control one-at-a-time bus access between selected FIFO memory chips |
US7624208B2 (en) * | 2005-01-14 | 2009-11-24 | International Business Machines Corporation | Method, system, and computer program for managing a queuing system |
US20070286221A1 (en) * | 2006-06-13 | 2007-12-13 | Mau-Lin Wu | Memory management method and memory architecture for transmitting UWB PCA frames |
US7493428B2 (en) | 2006-07-25 | 2009-02-17 | International Business Machines Corporation | Method and system for dynamic queue splitting for maximizing throughput of queue based operations while maintaining per-destination order of operations |
US7496707B2 (en) * | 2006-08-22 | 2009-02-24 | International Business Machines Corporation | Dynamically scalable queues for performance driven PCI express memory traffic |
US7543604B2 (en) * | 2006-09-11 | 2009-06-09 | Honeywell International Inc. | Control valve |
JP2008293484A (ja) * | 2007-04-27 | 2008-12-04 | Panasonic Corp | バッファメモリ共有装置 |
WO2009002867A2 (en) | 2007-06-26 | 2008-12-31 | Nutrition 21, Inc. | Multiple unit dosage form having a therapeutic agents in combination with a nutritional supplement |
US8595391B1 (en) * | 2008-03-14 | 2013-11-26 | Xilinx, Inc. | Automatic queue sizing for dataflow applications |
US8443379B2 (en) * | 2008-06-18 | 2013-05-14 | Microsoft Corporation | Peek and lock using queue partitioning |
US9813362B2 (en) | 2014-12-16 | 2017-11-07 | Oracle International Corporation | Framework for scheduling packets with multiple destinations in a virtual output queue network switch |
US10270713B2 (en) * | 2014-12-16 | 2019-04-23 | Oracle International Corporation | Scheduling packets with multiple destinations in a virtual output queue network switch |
US10481951B2 (en) * | 2016-11-15 | 2019-11-19 | Red Hat Israel, Ltd. | Multi-queue device assignment for application groups |
Family Cites Families (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539637A (en) * | 1982-08-26 | 1985-09-03 | At&T Bell Laboratories | Method and apparatus for handling interprocessor calls in a multiprocessor system |
GB8407102D0 (en) * | 1984-03-19 | 1984-04-26 | Int Computers Ltd | Interconnection of communications networks |
US4652874A (en) * | 1984-12-24 | 1987-03-24 | Motorola, Inc. | Serial communication interface for a local network controller |
US4641302A (en) * | 1985-06-24 | 1987-02-03 | Racal Data Communications Inc. | High speed packet switching arrangement |
JPS62243057A (ja) * | 1986-04-16 | 1987-10-23 | Hitachi Ltd | フアイル転送管理方式 |
US4737953A (en) * | 1986-08-04 | 1988-04-12 | General Electric Company | Local area network bridge |
US4850042A (en) * | 1987-04-14 | 1989-07-18 | Westinghouse Electric Corp. | Dual media local area network interfacing |
US4807111A (en) * | 1987-06-19 | 1989-02-21 | International Business Machines Corporation | Dynamic queueing method |
US4811337A (en) * | 1988-01-15 | 1989-03-07 | Vitalink Communications Corporation | Distributed load sharing |
US4899333A (en) * | 1988-03-31 | 1990-02-06 | American Telephone And Telegraph Company At&T Bell Laboratories | Architecture of the control of a high performance packet switching distribution network |
US4922503A (en) * | 1988-10-28 | 1990-05-01 | Infotron Systems Corporation | Local area network bridge |
US4933938A (en) * | 1989-03-22 | 1990-06-12 | Hewlett-Packard Company | Group address translation through a network bridge |
US5220562A (en) * | 1989-05-12 | 1993-06-15 | Hitachi, Ltd. | Bridge apparatus and a communication system between networks using the bridge apparatus |
GB8915137D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
US5179557A (en) * | 1989-07-04 | 1993-01-12 | Kabushiki Kaisha Toshiba | Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time |
US5163046A (en) * | 1989-11-30 | 1992-11-10 | At&T Bell Laboratories | Dynamic window sizing in a data network |
US5159685A (en) * | 1989-12-06 | 1992-10-27 | Racal Data Communications Inc. | Expert system for communications network |
US5210746A (en) * | 1990-04-16 | 1993-05-11 | Motorola, Inc. | Communication system network having communication system fallback operation |
US5301333A (en) * | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
US5309437A (en) * | 1990-06-29 | 1994-05-03 | Digital Equipment Corporation | Bridge-like internet protocol router |
US5231633A (en) * | 1990-07-11 | 1993-07-27 | Codex Corporation | Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets |
US5150358A (en) * | 1990-08-23 | 1992-09-22 | At&T Bell Laboratories | Serving constant bit rate traffic in a broadband data switch |
US5481540A (en) * | 1990-08-24 | 1996-01-02 | At&T Corp. | FDDI bridge frame learning and filtering apparatus and method |
US5251205A (en) * | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
US5353412A (en) * | 1990-10-03 | 1994-10-04 | Thinking Machines Corporation | Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions |
US5490260A (en) * | 1990-12-14 | 1996-02-06 | Ceram, Inc. | Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size |
CA2065578C (en) * | 1991-04-22 | 1999-02-23 | David W. Carr | Packet-based data compression method |
US5321813A (en) | 1991-05-01 | 1994-06-14 | Teradata Corporation | Reconfigurable, fault tolerant, multistage interconnect network and protocol |
US5500860A (en) * | 1991-06-14 | 1996-03-19 | Digital Equipment Corporation | Router using multiple hop redirect messages to enable bridge like data forwarding |
US5420862A (en) * | 1991-06-14 | 1995-05-30 | Digital Equipment Corporation | Router using remote address resolution to enable bridge like data forwarding |
US5392432A (en) * | 1991-08-27 | 1995-02-21 | At&T Corp. | Method for automatic system resource reclamation for object-oriented systems with real-time constraints |
US5623489A (en) * | 1991-09-26 | 1997-04-22 | Ipc Information Systems, Inc. | Channel allocation system for distributed digital switching network |
US5875464A (en) | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
CA2092134C (en) * | 1992-03-24 | 1998-07-21 | Anthony J. Mazzola | Distributed routing network element |
US5313454A (en) * | 1992-04-01 | 1994-05-17 | Stratacom, Inc. | Congestion control for cell networks |
US5343471A (en) * | 1992-05-11 | 1994-08-30 | Hughes Aircraft Company | Address filter for a transparent bridge interconnecting local area networks |
US5432907A (en) * | 1992-05-12 | 1995-07-11 | Network Resources Corporation | Network hub with integrated bridge |
US5742760A (en) | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5457681A (en) * | 1992-06-05 | 1995-10-10 | Washington University | ATM-Ethernet portal/concentrator |
JPH066362A (ja) * | 1992-06-23 | 1994-01-14 | Hitachi Ltd | Lanにおけるホストシステムのメッセージ処理負荷分散方式 |
US5425028A (en) * | 1992-07-16 | 1995-06-13 | International Business Machines Corporation | Protocol selection and address resolution for programs running in heterogeneous networks |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
JP3104429B2 (ja) * | 1992-10-08 | 2000-10-30 | 株式会社日立製作所 | コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法 |
US5649109A (en) * | 1992-10-22 | 1997-07-15 | Digital Equipment Corporation | Apparatus and method for maintaining forwarding information in a bridge or router using multiple free queues having associated free space sizes |
US5404538A (en) * | 1992-10-28 | 1995-04-04 | International Business Machines Corporation | Method and apparatus for multilevel bus arbitration |
JPH07118717B2 (ja) * | 1993-01-05 | 1995-12-18 | 日本電気株式会社 | マルチプロトコル対応のパケット網構成方法 |
US5410722A (en) * | 1993-01-21 | 1995-04-25 | Conner Peripherals, Inc. | Queue system for dynamically allocating and moving memory registers between a plurality of pseudo queues |
US5459714A (en) * | 1993-02-22 | 1995-10-17 | Advanced Micro Devices, Inc. | Enhanced port activity monitor for an integrated multiport repeater |
US5365514A (en) * | 1993-03-01 | 1994-11-15 | International Business Machines Corporation | Event driven interface for a system for monitoring and controlling a data communications network |
US5485578A (en) * | 1993-03-08 | 1996-01-16 | Apple Computer, Inc. | Topology discovery in a multiple-ring network |
US5386413A (en) * | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
JPH077524A (ja) * | 1993-04-06 | 1995-01-10 | Siemens Ag | 通信加入者のアドレス識別子へのアクセス方法 |
US5402415A (en) * | 1993-04-22 | 1995-03-28 | Washington University | Multicast virtual circuit switch using cell recycling |
AU675302B2 (en) * | 1993-05-20 | 1997-01-30 | Nec Corporation | Output-buffer switch for asynchronous transfer mode |
US5426736A (en) * | 1993-05-26 | 1995-06-20 | Digital Equipment Corporation | Method and apparatus for processing input/output commands in a storage system having a command queue |
US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
GB9312135D0 (en) * | 1993-06-11 | 1993-07-28 | Inmos Ltd | Generation of checking data |
US5394402A (en) * | 1993-06-17 | 1995-02-28 | Ascom Timeplex Trading Ag | Hub for segmented virtual local area network with shared media access |
JP2546505B2 (ja) * | 1993-06-23 | 1996-10-23 | 日本電気株式会社 | Cladにおけるアドレス学習装置 |
US5555405A (en) * | 1993-07-06 | 1996-09-10 | Digital Equipment Corporation | Method and apparatus for free space management in a forwarding database having forwarding entry sets and multiple free space segment queues |
US5515376A (en) * | 1993-07-19 | 1996-05-07 | Alantec, Inc. | Communication apparatus and methods |
US5473607A (en) * | 1993-08-09 | 1995-12-05 | Grand Junction Networks, Inc. | Packet filtering for data networks |
US5422838A (en) * | 1993-10-25 | 1995-06-06 | At&T Corp. | Content-addressable memory with programmable field masking |
US5574861A (en) * | 1993-12-21 | 1996-11-12 | Lorvig; Don | Dynamic allocation of B-channels in ISDN |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
JP2713153B2 (ja) * | 1994-03-09 | 1998-02-16 | 日本電気株式会社 | ブリッジ装置 |
JPH07254906A (ja) * | 1994-03-16 | 1995-10-03 | Mitsubishi Electric Corp | 優先処理機能を有するシフトレジスタ、それを用いたパケット通信用スイッチング装置及びそれを用いたatmネットワーク並びに優先処理を伴うパケット通信方式及び優先処理を伴うatm通信方式 |
JP3542159B2 (ja) | 1994-03-17 | 2004-07-14 | 株式会社日立製作所 | マルチプロセッサ構造のブリッジ |
US5509123A (en) * | 1994-03-22 | 1996-04-16 | Cabletron Systems, Inc. | Distributed autonomous object architectures for network layer routing |
US5459717A (en) * | 1994-03-25 | 1995-10-17 | Sprint International Communications Corporation | Method and apparatus for routing messagers in an electronic messaging system |
US5493564A (en) * | 1994-03-25 | 1996-02-20 | Sprint International Communications Corp. | Method and apparatus for global routing of electronic messages |
EP0676878A1 (de) * | 1994-04-07 | 1995-10-11 | International Business Machines Corporation | Effizientes Punkt zu Punkt und Punkt zu Mehrpunkt Weglenkungsverfahren für programmierbare Vermittlungsknoten in Hochgeschwindigkeits-Datenübertragungsnetzen |
EP0680178A1 (de) * | 1994-04-28 | 1995-11-02 | Hewlett-Packard Company | Koppelfeldchip für Zellen |
DE69428186T2 (de) * | 1994-04-28 | 2002-03-28 | Hewlett Packard Co | Mehrfachsendeeinrichtung |
EP0680173B1 (de) * | 1994-04-28 | 2003-09-03 | Hewlett-Packard Company, A Delaware Corporation | Mehrfachsendeeinrichtung |
EP0681381A1 (de) * | 1994-05-06 | 1995-11-08 | International Business Machines Corporation | Verfahren und Anordnung zur Modifizierung von Rahmenkontrollwörtern in Zwischenknoten von Hochgeschwindigkeitsnetzwerken |
EP0684716B1 (de) * | 1994-05-25 | 2002-02-27 | International Business Machines Corporation | Datenübertragungsnetz und Verfahren zum Betreiben des Netzes |
US5461611A (en) * | 1994-06-07 | 1995-10-24 | International Business Machines Corporation | Quality of service management for source routing multimedia packet networks |
US5617421A (en) * | 1994-06-17 | 1997-04-01 | Cisco Systems, Inc. | Extended domain computer network using standard links |
US5583981A (en) * | 1994-06-28 | 1996-12-10 | Microsoft Corporation | Method and system for changing the size of edit controls on a graphical user interface |
EP0691769A1 (de) * | 1994-07-07 | 1996-01-10 | International Business Machines Corporation | System zur Emulation geschalteter Sprachverbindungen in einem Paketvermittlungsnetz |
US5615340A (en) * | 1994-07-21 | 1997-03-25 | Allied Telesyn Int'l Corp. | Network interfacing apparatus and method using repeater and cascade interface with scrambling |
US5751967A (en) | 1994-07-25 | 1998-05-12 | Bay Networks Group, Inc. | Method and apparatus for automatically configuring a network device to support a virtual network |
US5640605A (en) * | 1994-08-26 | 1997-06-17 | 3Com Corporation | Method and apparatus for synchronized transmission of data between a network adaptor and multiple transmission channels using a shared clocking frequency and multilevel data encoding |
US5619500A (en) * | 1994-09-01 | 1997-04-08 | Digital Link Corporation | ATM network interface |
US5594727A (en) * | 1994-09-19 | 1997-01-14 | Summa Four, Inc. | Telephone switch providing dynamic allocation of time division multiplex resources |
US5490139A (en) * | 1994-09-28 | 1996-02-06 | International Business Machines Corporation | Mobility enabling access point architecture for wireless attachment to source routing networks |
US5675741A (en) * | 1994-10-25 | 1997-10-07 | Cabletron Systems, Inc. | Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network |
US5784573A (en) | 1994-11-04 | 1998-07-21 | Texas Instruments Incorporated | Multi-protocol local area network controller |
US5837021A (en) | 1994-12-09 | 1998-11-17 | L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude | Installation for the treatment of at least one fluid, by passage through two adjacent masses of material |
US5619497A (en) * | 1994-12-22 | 1997-04-08 | Emc Corporation | Method and apparatus for reordering frames |
KR0132960B1 (ko) | 1994-12-22 | 1998-04-21 | 양승택 | 망 노드 폭주상태 결정장치 및 방법 |
JP3014080B2 (ja) | 1994-12-28 | 2000-02-28 | 三菱電機株式会社 | 交換機アダプタ及び汎用計算機 |
US5550816A (en) * | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US5566170A (en) * | 1994-12-29 | 1996-10-15 | Storage Technology Corporation | Method and apparatus for accelerated packet forwarding |
US5563878A (en) * | 1995-01-05 | 1996-10-08 | International Business Machines Corporation | Transaction message routing in digital communication networks |
JP3099663B2 (ja) | 1995-02-09 | 2000-10-16 | 株式会社デンソー | 通信システム |
US5706472A (en) | 1995-02-23 | 1998-01-06 | Powerquest Corporation | Method for manipulating disk partitions |
US5561666A (en) * | 1995-03-06 | 1996-10-01 | International Business Machines Corporation | Apparatus and method for determining operational mode for a station entering a network |
US5633865A (en) * | 1995-03-31 | 1997-05-27 | Netvantage | Apparatus for selectively transferring data packets between local area networks |
US5724348A (en) | 1995-04-05 | 1998-03-03 | International Business Machines Corporation | Efficient hardware/software interface for a data switch |
US5561791A (en) * | 1995-04-10 | 1996-10-01 | Digital Equipment Corporation | Method and apparatus for conditioning timed program independent of transport timing |
JPH08288965A (ja) | 1995-04-18 | 1996-11-01 | Hitachi Ltd | スイッチングシステム |
US5608726A (en) * | 1995-04-25 | 1997-03-04 | Cabletron Systems, Inc. | Network bridge with multicast forwarding table |
US5802278A (en) | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
JP3515263B2 (ja) | 1995-05-18 | 2004-04-05 | 株式会社東芝 | ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法 |
JP2770782B2 (ja) | 1995-05-31 | 1998-07-02 | 日本電気株式会社 | Lan間接続装置 |
US5619661A (en) * | 1995-06-05 | 1997-04-08 | Vlsi Technology, Inc. | Dynamic arbitration system and method |
US5815737A (en) | 1995-06-05 | 1998-09-29 | Pmc-Sierra, Inc. | Approach for identifying a subset of asynchronous transfer mode (ATM) VPI/VCI values in the complete VPI/VCI range |
US5636371A (en) * | 1995-06-07 | 1997-06-03 | Bull Hn Information Systems Inc. | Virtual network mechanism to access well known port application programs running on a single host system |
US5734865A (en) | 1995-06-07 | 1998-03-31 | Bull Hn Information Systems Inc. | Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment |
US5790808A (en) | 1995-07-06 | 1998-08-04 | 3 Com | Active topology maintenance in reconfiguring bridged local area networks with state transition with forgetting interval |
US5651002A (en) * | 1995-07-12 | 1997-07-22 | 3Com Corporation | Internetworking device with enhanced packet header translation and memory |
US5751971A (en) | 1995-07-12 | 1998-05-12 | Cabletron Systems, Inc. | Internet protocol (IP) work group routing |
US5754540A (en) | 1995-07-18 | 1998-05-19 | Macronix International Co., Ltd. | Expandable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media connections |
US5691984A (en) * | 1995-08-15 | 1997-11-25 | Honeywell Inc. | Compact, adaptable brouting switch |
US5740175A (en) | 1995-10-03 | 1998-04-14 | National Semiconductor Corporation | Forwarding database cache for integrated switch controller |
US5633710A (en) * | 1995-10-04 | 1997-05-27 | Egs Inc. | System for self-aligning vehicle headlamps |
JPH09130421A (ja) | 1995-11-02 | 1997-05-16 | Furukawa Electric Co Ltd:The | 仮想ネットワーク管理方法 |
US5784559A (en) | 1995-11-06 | 1998-07-21 | Sun Microsystems, Inc. | Full duplex flow control for ethernet networks |
US5757771A (en) | 1995-11-14 | 1998-05-26 | Yurie Systems, Inc. | Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch |
US5684800A (en) | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US5754801A (en) | 1995-11-20 | 1998-05-19 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers |
JP2842522B2 (ja) | 1995-12-06 | 1999-01-06 | 日本電気株式会社 | Atmスイッチ及びその制御方法 |
US5689506A (en) * | 1996-01-16 | 1997-11-18 | Lucent Technologies Inc. | Multicast routing in multistage networks |
US5838681A (en) | 1996-01-24 | 1998-11-17 | Bonomi; Flavio | Dynamic allocation of port bandwidth in high speed packet-switched digital switching systems |
US5740375A (en) | 1996-02-15 | 1998-04-14 | Bay Networks, Inc. | Forwarding internetwork packets by replacing the destination address |
US5754774A (en) | 1996-02-15 | 1998-05-19 | International Business Machine Corp. | Client/server communication system |
US5724358A (en) | 1996-02-23 | 1998-03-03 | Zeitnet, Inc. | High speed packet-switched digital switch and method |
US5781549A (en) | 1996-02-23 | 1998-07-14 | Allied Telesyn International Corp. | Method and apparatus for switching data packets in a data network |
US5764634A (en) | 1996-03-13 | 1998-06-09 | International Business Machines Corporation | Lan switch with zero latency |
US5740171A (en) | 1996-03-28 | 1998-04-14 | Cisco Systems, Inc. | Address translation mechanism for a high-performance network switch |
US5764636A (en) | 1996-03-28 | 1998-06-09 | Cisco Technology, Inc. | Color blocking logic mechanism for a high-performance network switch |
US5742604A (en) | 1996-03-28 | 1998-04-21 | Cisco Systems, Inc. | Interswitch link mechanism for connecting high-performance network switches |
US5812527A (en) | 1996-04-01 | 1998-09-22 | Motorola Inc. | Simplified calculation of cell transmission rates in a cell based netwook |
US5923654A (en) | 1996-04-25 | 1999-07-13 | Compaq Computer Corp. | Network switch that includes a plurality of shared packet buffers |
US5878043A (en) | 1996-05-09 | 1999-03-02 | Northern Telecom Limited | ATM LAN emulation |
US5748631A (en) | 1996-05-09 | 1998-05-05 | Maker Communications, Inc. | Asynchronous transfer mode cell processing system with multiple cell source multiplexing |
US5802052A (en) | 1996-06-26 | 1998-09-01 | Level One Communication, Inc. | Scalable high performance switch element for a shared memory packet or ATM cell switch fabric |
US5898687A (en) | 1996-07-24 | 1999-04-27 | Cisco Systems, Inc. | Arbitration mechanism for a multicast logic engine of a switching fabric circuit |
US5872783A (en) | 1996-07-24 | 1999-02-16 | Cisco Systems, Inc. | Arrangement for rendering forwarding decisions for packets transferred among network switches |
US5748905A (en) | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US5835491A (en) | 1996-11-21 | 1998-11-10 | Xerox Corporation | Method for supporting multicast capabilities in switching networks with a reservation ring |
US5878232A (en) | 1996-12-27 | 1999-03-02 | Compaq Computer Corporation | Dynamic reconfiguration of network device's virtual LANs using the root identifiers and root ports determined by a spanning tree procedure |
US5852607A (en) | 1997-02-26 | 1998-12-22 | Cisco Technology, Inc. | Addressing mechanism for multiple look-up tables |
US5859849A (en) | 1997-05-06 | 1999-01-12 | Motorola Inc. | Modular switch element for shared memory switch fabric |
US5856977A (en) | 1997-05-15 | 1999-01-05 | Yang; Muh-Rong | Distribution network switch for very large gigabit switching architecture |
-
1997
- 1997-06-30 US US08/885,232 patent/US6044418A/en not_active Expired - Lifetime
-
1998
- 1998-06-25 DE DE69836812T patent/DE69836812T2/de not_active Expired - Fee Related
- 1998-06-25 WO PCT/US1998/013361 patent/WO1999000738A1/en active IP Right Grant
- 1998-06-25 AT AT98931656T patent/ATE350708T1/de not_active IP Right Cessation
- 1998-06-25 JP JP50579199A patent/JP2002508125A/ja active Pending
- 1998-06-25 EP EP98931656A patent/EP0993635B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0993635A4 (de) | 2005-06-08 |
JP2002508125A (ja) | 2002-03-12 |
EP0993635A1 (de) | 2000-04-19 |
ATE350708T1 (de) | 2007-01-15 |
EP0993635B1 (de) | 2007-01-03 |
WO1999000738A1 (en) | 1999-01-07 |
US6044418A (en) | 2000-03-28 |
DE69836812D1 (de) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69836812T2 (de) | Verfahren und gerät zum dynamischen warteschlange-abschätzen | |
DE69823483T2 (de) | Mehrfachkopiewarteschlangestruktur mit einem suchbaren cachespeicherbereich | |
DE602005003142T2 (de) | Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung | |
DE69817328T2 (de) | Warteschlangenstruktur und -verfahren zur prioritätszuteilung von rahmen in einem netzwerkkoppelfeld | |
DE60212626T2 (de) | Endknotenunterteilung mittels lokaler identifikatoren | |
DE69826930T2 (de) | System und Verfahren zur wirksamen Fernplatte Ein-/Ausgabe | |
DE69433047T2 (de) | Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern | |
DE69628682T2 (de) | System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen | |
DE60031274T2 (de) | Mehrfachanschlussverfahren und -gerät für vituelle ports | |
DE69919114T2 (de) | Verfahren und Vorrichtung zur Netzwerküberlastkontrolle | |
DE69829645T2 (de) | Verfahren zur Änderung von dynamischen Entscheidungsbäume | |
DE60205231T2 (de) | Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor | |
DE10296682T5 (de) | Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern | |
DE102007038964A1 (de) | Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten | |
DE602005006338T2 (de) | Vorrichtung und Verfahren zur Datenübertragungsverarbeitung | |
EP0651536A2 (de) | Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen | |
DE60303444T2 (de) | Ablaufsteuerung unter verwendung von quantumwerten und defizitwerten | |
DE60305560T2 (de) | Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk | |
DE60308832T2 (de) | Gemeinsame warteschlange für mehrere eingangströme | |
DE60114299T2 (de) | Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher | |
DE10244350B4 (de) | Verfahren zur Schrittsteuerung der Synchronisation von Routing-Information in einer Datenvermittlungsumgebung | |
DE10394206T5 (de) | Datenkommunikations-Lastverteilungs-Steuerprogramm und Datenlastverteilungs-Steuerverfahren | |
DE4129412A1 (de) | Verfahren zur datenuebertragung und datenverarbeitungsanlage mit verteilten rechnerknoten | |
WO2009135707A1 (de) | Teilnehmerknoten eines kommunikationssytems mit funktional getrenntem sende-ereignisspeicher | |
DE60223098T2 (de) | Paketvermittlungsstelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |