DE69836812T2 - Verfahren und gerät zum dynamischen warteschlange-abschätzen - Google Patents

Verfahren und gerät zum dynamischen warteschlange-abschätzen Download PDF

Info

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
Application number
DE69836812T
Other languages
English (en)
Other versions
DE69836812D1 (de
Inventor
Shimon Sunnyvale Muller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69836812D1 publication Critical patent/DE69836812D1/de
Publication of DE69836812T2 publication Critical patent/DE69836812T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering 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 von 1 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 MLDNE 101 eine Reihe von Subsystemen 110, die völlig vernetzt und mit einer Reihe von internen Links 141 zum Erzeugen eines größeren Switch miteinander verbunden sind. Wenigstens eine interne Link verbindet beliebige zwei Subsysteme. Jedes Subsystem 110 beinhaltet ein Switch-Element 111, das mit einem Weiterleitungsspeicher 113 und einem assoziierten Speicher 114 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 Verbindungen 117. 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 Links 141. 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 Subsystem 110 durch einen Kommunikationsbus 151 wie z.B. PCI (Peripheral Components Interconnect) gekoppelt ist. Das CPS 160 beinhaltet eine Zentraleinheit (CPU) 161, die mit einem Zentralspeicher 163 gekoppelt ist. Der Zentralspeicher 163 enthält eine Kopie der Einträge, die in den einzelnen Weiterleitungsspeichern 113 der verschiedenen Subsysteme enthalten sind. Das CPS hat eine direkte Steuer- und Kommunikationsschnittstelle mit jedem Subsystem 110 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 von 1 illustriert. Das veranschaulichte Switch-Element 200 beinhaltet eine CPU-(Zentraleinheit)-Schnittstelle 215, einen Switch-Fabric-Block 210, eine Netzwerkschnittstelle 205, eine Kaskadenschnittstelle 225 und einen Gemeinschaftsspeichermanager 220.
  • Ethernet-Pakete können in das Netzwerk-Switch-Element 200 durch eine der drei Schnittstellen 205, 215 oder 225 eintreten oder es dadurch verlassen. Kurz, die Netzwerkschnittstelle 205 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 Kaskadenschnittstelle 225 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-Element 200 mit oder ohne Kaskadenschnittstelle 225 umfassen.
  • Die CPU (nicht dargestellt) kann Befehle oder Pakete über die CPU-Schnittstelle 215 zum Netzwerk-Switch-Element 200 senden. Auf diese Weise können ein oder mehrere auf der CPU laufende Software-Prozesse Einträge in einer externen Weiterleitungs- und Filterungsdatenbank 240 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-Schnittstelle 215, für die Zwecke der Paketweiterleitung, einem generischen Eingangsport in das Switch-Element 200 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 Netzwerkschnittstelle 205 erfolgen. Eingangspaketverarbeitung beinhaltet Folgendes: (1) Empfangen und Verifizieren eingehender Ethernet-Pakete, (2) wo angemessen, Modifizieren von Paket-Headern, (3) Anfordern von Pufferzeigern vom Gemeinschaftsspeichermanager 220 zum Speichern eingehender Pakete, (4) Anfordern von Weiterleitungsentscheidungen vom Switch-Fabric-Block 210, (5) Übertragen der eingehenden Paketdaten zum Gemeinschaftsspeichermanager 220 zum vorübergehenden Speichern in einem externen Gemeinschaftsspeicher 230, 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 Netzwerkschnittstelle 205 erfolgen. Die Ausgangsverarbeitung beinhaltet das Anfordern von Paketdaten vom Gemeinschaftsspeichermanager 220, 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-Schnittstelle 215 und die Kaskadenschnittstelle 225 sind mit dem Gemeinschaftsspeichermanager 220 und dem Switch-Fabric-Block 210 gekoppelt. Kritische Funktionen wie Paketweiterleitung und Paketpufferung werden vorzugsweise wie in 2 gezeigt zentralisiert. Der Gemeinschaftsspeichermanager 220 stellt eine effiziente zentralisierte Schnittstelle zum externen Gemeinschaftsspeicher zum Puffern eingehender Paketen bereit. Der Switch- Fabric-Block 210 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 Schnittstellen 205, 215 und 225 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-Block 210 ausgeführt werden können. Jeder Eingangsport ist mit dem Switch-Fabric-Block 210 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-Element 200 zu erleichtern.
  • In der vorliegenden Ausgestaltung werden Ethernet-Pakete vom Gemeinschaftsspeichermanager 220 zentral gepuffert und verwaltet. Der Gemeinschaftsspeichermanager 220 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 Gemeinschaftsspeichermanager 220 als Reaktion auf Befehle gespeichert, die z.B. von der Netzwerkschnittstelle 250 empfangen werden. Danach ruft, während der Ausgangspaketverarbeitung, der Gemeinschaftsspeichermanager 220 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 Gemeinschaftsspeichermanager 220 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 Schritt 305 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 Schritt 315 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 Schritt 345 wird das entsprechende Partitionsbit im Vollzugsregister gesetzt. Der Vorgang fährt dann mit Schritt 350 für jede zu verlegende Partitionsgrenze fort.
  • 4 zeigt ein vereinfachtes Blockdiagramm. In dieser Illustration und in den Fließschemata der 5 und 6 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 Vollzugsregister 415 und wartet die verschiedenen, für die unterschiedlichen Warteschlangen 425, 430 und 435 dargestellten Zeiger 420. 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 Steuerlogik 405 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 auf 5 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 (Schritte 510, 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, Schritt 517, 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 und 540) und das entsprechende Vollzugsbit wird gesetzt (Schritte 545, 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 Schritte 604, 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 Schritt 602 der Partitions-Warteschlangenende-Registerwert nicht kleiner ist als der Warteschlangenende-Registerwert, dann muss die Warteschlange vergrößert werden und die Schritte 622, 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 Schritt 606 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 (Schritt 616). Wenn der Schreibzeiger in Schritt 606 jedoch nicht gleich dem Lesezeiger ist, dann kehrt die Steuerung zu Schritt 604 zurück. Wenn der Schreibzeiger in Schritt 604 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 Schritt 614 wird der Warteschlangenendezeiger sicher auf den Partitions-Warteschlangenendezeiger aktualisiert und der Schreibzeiger wird enabelt. Wenn der Schreibzeiger in Schritt 608 kleiner ist als der Lesezeiger und in Schritt 610 der Schreibzeiger gleich dem Partitions-Warteschlangenende ist, dann ist die aktuelle Warteschlange voll und der Schreibzeiger wird gestoppt (Schritt 612). Die Steuerung kehrt zu Schritt 608 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 Schritt 618 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 Schritten 622, 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Vorrichtung nach Anspruch 4, wobei der Speicher mehrere zusammenhängend geordnete Warteschlangen umfasst.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. Verfahren nach Anspruch 10, wobei die Warteschlange vergrößert wird.
  12. Verfahren nach Anspruch 10, wobei die Warteschlange verkleinert wird.
DE69836812T 1997-06-30 1998-06-25 Verfahren und gerät zum dynamischen warteschlange-abschätzen Expired - Fee Related DE69836812T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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