DE69737343T2 - Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten - Google Patents

Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten Download PDF

Info

Publication number
DE69737343T2
DE69737343T2 DE69737343T DE69737343T DE69737343T2 DE 69737343 T2 DE69737343 T2 DE 69737343T2 DE 69737343 T DE69737343 T DE 69737343T DE 69737343 T DE69737343 T DE 69737343T DE 69737343 T2 DE69737343 T2 DE 69737343T2
Authority
DE
Germany
Prior art keywords
memory
packets
node
size
ports
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
DE69737343T
Other languages
English (en)
Other versions
DE69737343D1 (de
Inventor
Debasis Summit Mitra
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies 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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE69737343D1 publication Critical patent/DE69737343D1/de
Publication of DE69737343T2 publication Critical patent/DE69737343T2/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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft die Netzkommunikation.
  • Stand der Technik
  • Netzwerke sind ein Hauptmittel für den Austausch oder die Übermittlung von Informationen wie Signale, die unter den Kommunikationseinrichtungen Stimm-, Audio-, Text- oder Videosignale darstellen, Solche Kommunikationseinrichtungen umfassen häufig Einrichtungen für das Senden und/oder Empfangen von Informationen, dies sind zum Beispiel Computerterminals, Multimedia-Arbeitsplätze, Faxgeräte, Drucker, Server und Telefone. Der Austausch oder die Übermittlung von Informationen wird als Anruf oder als Verbindung bezeichnet. Informationen, die über ein Netzwerk übermittelt werden, können viele verschiedene Formen aufweisen und werden häufig in Pakete oder Zellen mit einer festen Länge formatiert.
  • Ein Netzwerk umfasst typischerweise Schaltknoten mit Ports, die durch Verbindungen an Ports anderer Knoten und an Kommunikationseinrichtungen gekoppelt sind. Jede Verbindung ist uni- oder bidirektional und ist gekennzeichnet durch eine Bandbreite oder eine Verbindungskapazität in die Richtungen der Datenübertragung. Informationen, die ausgetauscht werden sollen, werden häufig über einen Pfad übermittelt, der eine Reihe von Knoten und Verbindungen umfasst, die die zwei Kommunikationseinrichtungen miteinander verbinden. Der Pfad kann als eine "virtuelle Verbindung" (VC) bezeichnet werden, bei der eine Kommunikationseinrichtung den für die Information gesuchten Bestimmungsort beschreibt, und das Netzwerk die Information über eine bestimmte Verbindung ausgibt, die mit den zwei Kommunikationseinrichtungen verbunden ist.
  • Netzwerke wie Breitband-ISDN (BISDN), die für die Paketvermittlung den asynchronen Transfermodus (ATM) anwenden, werden aufgrund der zuverlässigen Hochgeschwindigkeitsübertragung der Informationen zunehmend genutzt. Diese zunehmende Verwendung hat zu umfassenden Veränderungen in der Gestaltung der Netzwerke und der Infrastruktur sowie auch in Netzwerkvorgängen und/ oder in den Dienstklassen, die über die Netzwerke angeboten werden, geführt. Dienstklassen, die über ein Netzwerk angeboten werden, können zum Beispiel Videoabruf und Telefonkonferenzen umfassen. Des Weiteren sind einzelne Dienstklassen wie Telefonkonferenzen über Video relativ empfindlich gegenüber Routing-Verzögerungen und erhalten deshalb höhere Routing-Prioriäten als andere Dienstklassen wie zum Beispiel Videoabruf, welche relativ unempfindlich gegenüber Verzögerungen sind.
  • Um ein Netzwerk in hohem Umfang ausnutzen zu können, ist es für die Netzwerkverwalter von Vorteil, das Netzwerk bei einer relativ hohen Zellkapazität zu betreiben, was heißt, dass eine große Anzahl gleichzeitiger virtueller Verbindungen hergestellt und aufrechterhalten wird. Die Erhöhung der Effizienz bei der Zuteilung von Netzwerkressourcen, wie zum Beispiel der Übertragungskapazität der Verbindungen und des Zwischenspeicherplatzes unter den verschiedenen Dienstklassen ist ein Verfahren, um eine solch hohe Kapazität zu ermöglichen. In den Knoten werden typischerweise Zwischenspeicher verwendet, um die Anzahl der virtuellen Verbindungen, die durch den Knoten getragen werden, durch Zwischenspeichern der Übertragung von Datenzellen zu erhöhen, die relativ unempfindlich gegenüber Verzögerungen sind, wohingegen jene zu übermittelnden Datenzellen, die relativ empfindlich gegenüber Verzögerungen sind, in einem geringeren Ausmaß zwischengespeichert werden. Solche Zwischenspeicher sind praktisch als entsprechende Warteschlangen für die Datenpakete tätig, die durch die entsprechenden Ports verschickt werden sollen.
  • Einige Datendienste, die durch einen Netzwerkverwalter zur Verfügung gestellt werden, basieren auf einem Grad des Serviceanspruches. Zum Beispiel können ein Netzwerkverwalter und ein Netzwerkbenutzer darin übereinkommen, dass jede für diesen Benutzer hergestellte virtuelle Verbindung eine bestimmte Committed Information Rate (CIR) aufweisen soll und/oder eine maximale Datenverlustwahrscheinlichkeit. Insofern geht ein untätiger Benutzer, der Daten über eine virtuelle Verbindung versenden möchte, davon aus, fast augenblicklich einen Grad des Serviceanspruches zu empfangen, der seiner CIR entspricht. Ein Admission-Controller wird häufig eingesetzt, um die Gesamtanzahl der virtuellen Verbindungen an jedem Knoten zu begrenzen, und um die Gesamtanzahl der CIRs für die virtuellen Verbindungen, die hergestellt wurden, zu überwachen. Admission-Controller werden im Allgemeinen beschrieben in A. Elwalid und D. Mitra, "Effective Bandwidth of General Markovian Traffic Sources and Admission Control of High Speed Networks", IEEE INFOCOM '93, S. 256–264 (1993). Des Weiteren können die CIRs zum Beispiel auf den Prioritätsstufen der übertragenen Datenzellen basieren. Prioritäten einer Datenzelle, die über ein BISDN-Netzwerk übermittelt werden, werden häufig vor der Übermittlung der Zelle zugewiesen und als ein Bit einer Zellverlustpriorität eines ATM-Datenpaketes angezeigt.
  • Bei einer virtuellen Verbindung ist es üblich, für deren CIR eine zu große Bandbreite anzufordern. Da viele Datenquellen häufig Datenbursts bereitstellen anstelle eines relativ stetigen Datenstromes, hält ein Netzwerk typischerweise eine zu große Bandbreite und einen zu großen Zwischenspeicher für die gesamten CIRs der aktiven virtuellen Verbindungen aufrecht. Folglich ist es im Allgemeinen wünschenswert, dass der Netzwerkverwalter darauf reagiert, indem er eine zusätzliche Bandbreite oder zusätzliche Ressourcen für den Zwischenspeicher für eine virtuelle Verbindung bereitstellt, selbst wenn die angeforderte Menge über den CIRs der virtuellen Verbindungen liegt, vorausgesetzt, dass eine solche Quelle bereitgestellt werden kann, während gleichzeitig den CIRs für andere hergestellte virtuellen Verbindungen entsprochen wird. Insbesondere ist das jeweilige Verfahren, das für die Zuteilung des gemeinsamen Zwischenspeichers unter den verschiedenen Ausgabeports in einem Mehrfachknoten ausgewählt wird, insofern von Bedeutung, dass dadurch nicht unberechtigterweise die Übermittlung von Datenzellen für eine virtuelle Verbindung gegenüber der Übermittlung von Datenzellen für eine andere virtuelle Verbindung zurückgewiesen wird. Wenn das Übermitteln einer Datenzelle, die über eine virtuelle Verbindung übertragen wird, zurückgewiesen wird, führt dies dazu, dass diese unerwünschterweise ihre gewünschte Kommunikationseinrichtung nicht erreicht und im Netzwerk als verlorengegangenes Datenpaket betrachtet wird.
  • Exemplarische Verfahren der Zwischenspeicherverwaltung umfassen die vollständige gemeinsame Benutzung von Netzwerkressourcen unter Datenzellen, die über hergestellte virtuelle Verbindungen übermittelt werden. Entsprechend dieser Technik können jedoch Datenzellen einer virtuellen Verbindung alle anderen Datenzellen nachteilig unterdrücken und im Wesentlichen den gesamten verfügbaren Zwischenspeicher ausnutzen, wodurch die Datenzellen anderer virtuellen Verbindungen davon abgehalten werden, diesen Speicher mit zu benutzen. Eine andere Sharing-Technik besteht in der vollständigen Aufteilung, wobei diese den Zwischenspeicher auf Basis der entsprechenden Klassen von Datenzellen aufteilt. Das vollständige Aufteilen befähigt die Datenzellen, die einem entsprechenden Ausgabeport eines Knotens zugewiesen wurden, einen zugewiesenen Teil des Zwischenspeichers exklusiv zu nutzen. Ungenutzte Bereiche des Zwischenspeichers, die einem Port zugewiesen wurden, können jedoch durch die Datenzellen, die einem anderen Port zugewiesen wurden, nicht genutzt werden, was häufig zu einer Zuteilung mit einer verringerten Effizienz führt.
  • Der dynamische Schwellenwert (DT) ist eine Zuweisungstechnik für den gemeinsamen Speicher, welche eine verbesserte Leistung gegenüber den Verfahren des vollständigen gemeinsamen Benutzens und des Aufteilens bereitstellt. Die Technik des dynamischen Schwellenwertes arbeitet mit entsprechenden Warteschlangen aus Datenpaketen für jedes Ausgabeport eines Mehrfach-Umschalters. Die zulässige Länge für jede der einzelnen Warteschlangen ist zu jedem Zeitpunkt eine Funktion des ungenutzten gemeinsamen Zwischenspeichers im Schalter zu diesem Zeitpunkt. wenn die Zuweisung durch die Schaltung eines empfangenen Datenpaketes, das einem jeweiligen Ausgabeport zugewiesen wurde, dazu führt, dass die Warteschlange für dieses Port die zulässige Länge überschreitet, wird die Zuweisung der Datenzellen zurückgewiesen.
  • Da sich die zulässigen Längen der Warteschlangen dynamisch verändern, wenn die Datenpakete durch die Ausgabeports versendet oder den Warteschlangen hinzugefügt werden, passt sich das Verfahren auf dynamische Weise unvorhersehbaren und veränderlichen Belastungsbedingungen an. Diese Technik erhöht die gerechte Aufteilung und Effizienz, indem sie den Zugang zum Zwischenspeicher für alle Output-Warteschlangen gewährleistet, wobei keine einzelne Output-Warteschlange auf Kosten anderer Warteschlangen allein über den Speicher verfügen kann. Diese Technik ermöglicht es jedoch nicht, dass die Warteschlange ihre festgelegte Länge im Hinblick auf ein erstes Ausgabeport, für welches hergestellte virtuelle Verbindungen eine Aufforderung für einen hohen Datenverkehr bereitstellen, überschreitet, obwohl die virtuellen Verbindungen eines zweiten Ausgabeports eine Aufforderung für einen geringen Datenverkehr bereitstellen, wodurch die entsprechende Warteschlange teilweise ungenutzt bleibt.
  • Entsprechend besteht ein fortlaufender Bedarf an Zuteilungsverfahren für Zwischenspeicher, die eine erhöhtere Effizienz in Mehrfachknoten bereitstellen.
  • In der Technik wird das Verfahren des dynamischen Schwellenwertes für gemeinsame Speicherzuweisungen im Allgemeinen in der Europäischen Patentanmeldung EP-A-0 706 298 beschrieben. Ein alternatives Verfahren für das Verwalten von gemeinsamen Zwischenspeichern unter Warteschlangen an einem Port wird in der Europäischen Patentanmeldung EP-A-0 526 104 beschrieben. Gemäß diesem Verfahren wird bei einem vollen Zwischenspeicher und einer zusätzlichen Zuweisung für die Paketsuche ein Paket aus der nicht leeren Warteschlange desjenigen Ports mit der niedrigsten Priorität entfernt, um Platz für die Zuweisung der Paketsuche zu schaffen.
  • Kurzdarstellung der Erfindung
  • Die Erfindung betrifft ein Verfahren für einen Mehrfachknoten mit einem gemeinsamen Zwischenspeicher, um eine erhöhte Zwischenspeicherkapazität für Pakete für hergestellte virtuelle Verbindungen bereitzustellen, wobei die Klassen der Dienstansprüche beibehalten werden. Gemäß der Erfindung werden vorübergehende Zuteilungen des gemeinsamen Zwischenspeichers basierend auf den tatsächlichen Anforderungen an den Speicher, die für die virtuellen Verbindungen durch solche Ports hergestellt wurden, bestimmt. Daraufhin bewertet das Verfahren, ob ein eingehendes Paket für eine hergestellte virtuelle Verbindung zur Übermittlung durch ein bestimmtes Ausgabeport zugewiesen wird, wobei dies auf dem im Wesentlichen gesamten verfügbaren Zwischenspeicher basiert, der in diesem Moment gerade nicht für das Zwischenspeichern von Paketen im Hinblick auf eine Größe des reservierten Zwischenspeichers genutzt wird. Die Größe des reservierten Zwischenspeichers basiert darauf, ob die Zuweisung des eingehenden Datenpaketes dazu führt, dass der für dieses Port vorübergehend zugeteilte Speicher überlastet oder unterlastet wird, und kann optional auch auf der Prioritätsstufe des eingehenden Paketes beruhen.
  • Der vorübergehend zugewiesene Speicher wird als unterlastet betrachtet, wenn der Speicherplatz, der Pakete enthält, die diesem Port zugewiesen wurden, in Kombination mit den Speicheranforderungen des eingehenden Paketes geringer oder gleich der vorübergehend zugewie senen Speichergröße für dieses Port ist. Der Umfang der Größe des reservierten Zwischenspeichers wird bestimmt, um die anderen unterlasteten Ports zu schützen, so dass in dem Moment, in dem diese Ports aktiver werden und einen Zwischenspeicher bis zu deren vorübergehender Zuteilung anfordern, ein solcher Speicherplatz zügig verfügbar ist. Demzufolge ermöglicht die Anwendung der Größe des reservierten Zwischenspeichers, dass das Verfahren bestimmen kann, wann ein zusätzlicher Speicher vorübergehend an ein jeweiliges Port zugeteilt werden kann, ohne dass dies auf Kosten des Grades der Dienstklassen geht, der mit der virtuellen Verbindung, die durch ein anderes Port hergestellt wurde, verbunden ist. Des Weiteren passt das Verfahren auf vorteilhafte Weise die Zuweisung des gemeinsamen Zwischenspeichers an, um die Speicherzuweisung effizienter zu handhaben, was den Ports mit hohem und niedrigem Datenpaketverkehr entgegenkommt, indem der vorläufige Zwischenspeicher auf Basis der tatsächlichen Speicheranforderungen der hergestellten virtuellen Verbindungen an die Ports zugewiesen wird, wenn neue virtuelle Verbindungen hergestellt und bestehende virtuelle Verbindungen abgebrochen wurden.
  • Zusätzliche Merkmale und Vorzüge der vorliegenden Erfindung werden im Folgenden anhand der folgenden ausführlichen Beschreibung und den dazugehörigen Zeichnungen sogleich deutlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 veranschaulicht ein schematisches Blockdiagramm eines exemplarischen Netzwerkes, das Knoten verwendet, die in Übereinstimmung mit der Erfindung funktionstüchtig sind;
  • 2 veranschaulicht ein schematisches Blockdiagramm eines exemplarischen Knotens, der im Netzwerk von 1 verwendet wird;
  • 3 veranschaulicht ein schematisches Blockdiagramm einer alternativen Ausführungsform des Knotens aus 2; und
  • 4 veranschaulicht ein Flussdiagramm einer exemplarischen Ausführungsform der Erfindung, die im Netzwerk von 1 funktionstüchtig ist.
  • Ausführliche Beschreibung
  • Die Erfindung betrifft eine Speicherverwaltung und ein Verfahren für die Zuweisung von Datenpaketen an einen Mehrfachknoten mit einem gemeinsamen Zwischenspeicher zum Zweck der Bereitstellung einer erhöhten Kapazität für das Zwischenspeichern von Datenpaketen, wobei der Grad des Dienstanspruches für hergestellte virtuelle Verbindungen beibehalten wird. Die Verfahren gemäß der Erfindung können vorteilhaft in zahlreichen unterschiedlichen Konfigurationen von Mehrfachknoten und Kommunikationsnetzen angewendet werden. Die Erfindung wird jedoch im Hinblick auf die Netzwerkkonfiguration aus 1 und die Konfigurationen des Mehrfachknotens aus 2 und 3 beschrieben, um die Darstellung, die die Erfindung nicht einschränken soll, zu vereinfachen. Ein exemplarisches Datenübertragungsnetz 100, das Pakete über den asynchronen Transfer Modus (ATM) übermittelt, der mindestens einen Mehrfachknoten 110 gemäß der Erfindung umfasst, wird in 1 gezeigt. Exemplarische Konfigurationen der Mehrfachknoten gemäß der Erfindung werden ausführlicher im Hinblick auf 2 und 3 beschrieben. In 1 umfasst das Netzwerk 100 Kommunikationsverbindungen 120, die einzelne Knoten 110 miteinander verbinden. Bei einem typischen BISDN-Netzwerk kann die Anzahl der Verbindungen, die mit einem Knoten 110 verbunden sind, 512 oder mehr betragen. Jede Verbindung 120 verfügt über eine entsprechende Kapazität für Datenpakete, die über die Verbindung pro Zeiteinheit übermittelt werden können, welche typischerweise als die Bandbreitenverbindung bezeichnet wird. Exemplarische Verbindungen mit Bandbreiten von etwa 622 MB/Sek. werden in herkömmlichen BISDN-Netzwerken verwendet. Jeder Mehrfachknoten 110 umfasst einen gemeinsamen Zwischenspeicher, der für das Zwischenspeichern von Daten, die an entsprechende Verbindungen 120 geleitet werden sollen, verwendet werden kann. Datenpakete sind Dateneinheiten, die mit einer Routinginformation versehen sind. Diese Pakete können gemäß der Erfindung feste oder variable Längen aufweisen. Exemplarische Pakete umfassen ATM-Zellen mit einer festen Länge von 53 Bytes. Pakete auf einer höheren Protokollebene können eine längere Länge aufweisen und werden typischerweise als Nachrichten bezeichnet, die aufgeteilt werden können, um mehrere Zellen für die ATM-Schaltung zu erzeugen.
  • In einer jeweiligen Netzwerkschaltung können sich einer oder mehrere Knoten 110 befinden, wie zum Beispiel Schaltungen von ATM-Daten, die kommerziell über Lucent Technologies Inc. in Murray Hill, N.J. zu beziehen sind, darunter auch Lucent's GlobeView 2000 Switches. Einzelne Knoten 110 sind ferner mit Zugangsreglern 107 verbunden, welche mit den Kommunikationseinrichtungen 105 verbunden sind. Die Kommunikationseinrichtungen 105 werden typischerweise durch Kommunikationsdienstleister und Benutzer verwendet, um die Benutzer dazu zu befähigen, Dienste anzufragen und zu empfangen, wie zum Beispiel Videoabruf oder Videokonferenzen. Der Zugangsregler 107 reguliert den Fluss oder die Geschwindigkeit der Datenpakete aus den Kommunikationseinrichtungen 105 in das Netzwerk 100 gemäß einer Funktion, die durch eine Reihe von Parametern der Zugangsregler gekennzeichnet ist. Der Zugangsregler 107 kann ein Leaky-Bucket-Regler, ein gepufferter Leaky-Bucket-Regler oder ein kaskadierter Leaky-Bucket-Regler sein. Die Verwendung von Zugangsreglern ist in herkömmlichen BISDN-Netzwerken typisch, ist jedoch für die Durchführung der vorliegenden Erfindung keine Voraussetzung. Die Kommunikationseinrichtungen 105 können gemäß der Erfindung direkt an die Knoten 110 aus 1 gekoppelt sein.
  • Informationen, die über die Kommunikationseinrichtungen 105 an das Netzwerk 100 bereitgestellt werden, sind gekennzeichnet durch eine Reihe von Informationsparametern, wie zum Beispiel Langzeit-Durchschnittsübertragungsraten, Spitzenübertragungsraten und die maximale Burst-Größe. Der Wert eines jeden Informationsparameters in der Reihe der Informationsparameter basiert auf einem jeweiligen Dienstgrad, zum Beispiel auf vertraglichen Vereinbarungen mit dem Netzwerkbetreiber in Bezug auf eine maximale Zellverlustrate und die entsprechenden geeigneten Parameter für die Zugangsregulierung, welche zum Beispiel die Geschwindigkeit sein können, mit der Pakete in das Netzwerk 100 fließen. Der jeweilige Dienstgrad kann ebenso auf Prioritätsstufen der Pakete basieren.
  • Eine Prioritätsstufe wird häufig vor der Übermittlung des Paketes zugewiesen und wird in einer ATM-Zelle angezeigt, zum Beispiel als ein Bit der Zellverlustwahrscheinlichkeit (CLP). Typischerweise wird die Prioritätsstufe darauf basierend bestimmt, ob ein zu übermittelndes Datenpaket den vertraglichen Vereinbarungen entspricht. Als Alternative kann die Prioritätsstufe auch auf der Dienstklasse im Zusammenhang mit den Informationen basieren, die über das Netzwerk 100 übermittelt werden, wobei dies wiederum auf der Empfindlichkeit der Datenendeinrichtung 105 in Bezug auf die Verzögerung einer solchen Information beruht. Zusätzlich kann die Prioritätsstufe auf einer Datenklasse im Paket basieren. Zum Beispiel können mehrere unterschiedliche Klassen von Datenpaketen, die in einer herkömmlichen ATM-Paketschaltung übermittelt werden können, Zellen mit konstanten Bitraten (CBR) umfassen, die typischerweise für Stimm- oder Audiodaten, Daten variabler Bitraten in Echtzeit (Echtzeit-VBR) für Videodaten wie zum Beispiel für Videokonferenzen, variable Bitraten, die nicht in Echtzeit sind (Nicht-Echtzeit-VBR), für nicht bewegte Bilddaten, Daten verfügbarer Bitraten (ABR), die typischerweise Texte sind, die relativ empfindlich gegenüber Verzögerungen sind und Daten unspezifischer Bitraten (UBR) sind. Ein Paket kann ebenso eine unspezifische Priorität besitzen.
  • Die Kommunikationseinrichtungen 105 kommunizieren mit entsprechenden anderen Kommunikationseinrichtungen 105 durch eine virtuelle Verbindung, die über jeweilige Knoten 110 und Verbindungen 120 im Netzwerk 100 hergestellt wird. Insbesondere kann die Information zwischen Absender- und Empfänger-Kommunikationseinrichtungen 105 durch die absendende Kommunikationseinrichtung 105, die einen Pfad einer virtuellen Verbindung anfragt, um die zwischen den entsprechenden Einrichtungen 105 hergestellte Anfrage zu tragen, übertragen werden. Zum Beispiel umfasst ein möglicher Pfad, der eine Anfrage einer Kommunikationseinrichtung 105A zu einer Empfänger-Kommunikationseinrichtung 105B tragen oder leiten soll, die Knoten 111, 112, 113 und 114 und die Verbindungen 121, 122 und 123.
  • Der jeweilige Pfad, der ausgewählt wurde, um eine virtuelle Verbindung durch das Netzwerk 100 zu leiten, erfordert, dass die jeweiligen Knoten 110 und Verbindungen 120 einen verfügbaren Zwischenspeicher und eine Bandbreitenverbindung aufweisen, die ausreichen, um eine solche virtuelle Verbindung bei einer angemessenen Datengeschwindigkeit mit jedem Grad an Dienstansprüchen, wie zum Beispiel der zugesicherten Bandbreite oder der maximalen Informationsverlustwahrscheinlichkeit, zu leiten. Bevor die angeforderte virtuelle Verbindung hergestellt werden kann, müssen der Zwischenspeicherplatz des Knotens und die Bandbreitenverbindung bestimmt werden, um einen Pfad mit genügenden Ressourcen aufzufinden, der diesen Anforderungen entspricht. Wie auch in herkömmlichen Knoten, kann mehr als eine virtuelle Verbindung durch ein einzelnes Ausgabeport des Knotens 110 hergestellt werden. Das jeweilige Verfahren für die Herstellung einer virtuellen Verbindung ist bei der Durchführung der Erfindung nicht von entscheidender Bedeutung und jedes der zahlreichen Verfahren kann angewendet werden, darunter auch beispielsweise solche Verfahren, wie sie in den US-Patentschriften Nr. 5,519,83b und 5,502,816 offenbart werden, welche dem Bevollmächtigten der vorliegenden Erfindung übertragen wurden.
  • Ein exemplarischer Mehrfachknoten 110, der zusammen mit der Erfindung verwendet werden kann, wird in 2 dargestellt. Exemplarische Komponenten für die dargestellten Elemente des Knotens in 2 können solche sein, die in den zuvor aufgelisteten und kommerziell erhältlichen ATM-Datenschaltungen verwendet werden. Der Knoten 110 aus 2 umfasst mehrere Eingabeports 210 und Ausgabeports 220, die mit entsprechenden Netzwerkverbindungen 120 in 1 verbunden sind. Die Anzahl der Ports 210 und 220 kann sich im Bereich von einigen Hunderten bewegen. Die Ports 210 und 220 sind ferner mit einem Input-Output (I/O) Schaltkreismodul 200 verbunden, das durch einen Controller 230 gesteuert wird. Der Controller 230 stellt die Prüfung der Annehmbarkeit der Verbindung (CAC) bereit, die auf Anfragen bezüglich der Herstellung von Pfaden von jeweiligen Eingabeports 210 zu jeweiligen Ausgabeports 220 reagiert, um ein jeweiliges Segment einer virtuellen Verbindung zur Übermittlung von Paketen über das Netzwerk 100 bereitzustellen. Jedes Port 210 und 220 im Mehrfachknoten 100 kann typischerweise Anfragen von mindestens einer spezifischen Prioritätsstufe leiten. Der Controller 230 und das I/O-Modul 200 sind ferner an einen Zwischenspeicher 240 gekoppelt, der den Knoten 110 dazu befähigt, empfangene Daten für jeweilige Anfragen, die über ein Ausgabeport 220 geleitet werden, vorübergehend zu speichern. Der Zwischenspeicher 240 kann einen Speicher mit wahlfreiem Zugriff (Random Access Memory – RAM) verwenden.
  • Obwohl die Kommunikationsverbindungen 120 direkt mit entweder den Inputports oder Ausgabeports verbunden sind, können die Verbindungen 120 alternativ dazu eine solche Verbindung bereitstellen, indem sie zwischen den Verbindungen 120 und den Ports 210 und 220 gemäß der Erfindung Übermittlungsnetze (Switch Networks) verwenden. Die jeweilige Anordnung, die für die Verbindung der Ports 210 und 220 mit den Netzwerkverbindungen 120 verwendet wird, ist bei der Anwendung der Erfindung jedoch nicht von entscheidender Bedeutung. Zum Beispiel können als Alternative in Kombination mit der Erfindung Knoten mit Ports verwendet werden, die Informationen übermitteln und empfangen können. Ebenso können Demultiplexer 300 und/oder Multiplexer 310 zwischen die entsprechenden Input- und Ausgabeports 210 und 220 und den Verbindungen 120 geschaltet sein, um multiplexierte Pakete, wie sie in der Ausführungsform des Knotens 110 in 3 gezeigt werden, zu empfangen und zu übermitteln. Ähnliche Komponenten in 2 und 3 sind zum Zweck der Klarheit auf gleiche Weise nummeriert, zum Beispiel der Controller 230 und die Ports 210 und 220. Die Anordnung des Knotens in 3 befähigt verschiedene Pakete, die an einem oder mehreren Eingabeports 210 empfangen wurden, durch Ausgabeports 220 auf einer einzigen Netzwerkverbindung 120 geleitet und multiplexiert zu werden. Auf ähnliche Weise befähigt diese Anordnung verschiedene Pakete, die an einem einzigen Eingabeport 210 empfangen wurden, durch zwei oder mehrere Ausgabeports 220 auf entsprechenden Netzwerkverbindungen 120 weitergeleitet und demultiplexiert zu werden. Das Multiplexieren und Demultiplexieren der Pakete, die über die Verbindungen 120 übermittelt und/ oder empfangen werden, kann zum Beispiel auf Basis eines herkömmlichen Round-Robin-Verfahrens oder einer anderen Form der Implementierung einer „Scheduling Queue" durchgeführt werden. Solche Verfahren des Multiplexierens und Demultiplexierens in Datennetzwerken werden ausführlicher in Schwartz, Integrated Broadband Networks, Kap. 5, S. 181–242 (Prentice-Hall, New Jersey 1996) beschrieben. Der Controller 230 kann das Router-Netzwerk 220 dazu veranlassen, Daten zu den entsprechenden Verbindungen 120 in einer multiplexierten Weise gemäß der Erfindung ohne die Verwendung einer Multiplexer-Schaltung zu leiten.
  • Die Verwendung des Zwischenspeichers 240 befähigt den Knoten 110 dazu, die zulässigen Verzögerungen bei der Übermittlung eines Paketes an dessen Destination auf Basis eines Grades des Serviceanspruches durch vorübergehendes Speichern der Pakete in Form einer Warteschlange zu nutzen, wobei die Pakete durch ein Eingabe port 210 empfangen wurden und schließlich durch ein Ausgabeport 220 weitergeleitet wurden, während die Übermittlung anderer Pakete eine relativ hohe Kapazität für die Übermittlung der Pakete für den Knoten 110 ermöglicht. Der Controller 210 stellt ebenso eine Zwischenspeicherverwaltung für den Zwischenspeicher 240 bereit. Gemäß der Erfindung wendet der Controller 210 ein Verfahren der Speicherzuweisung an, das eine erhöhte Kapazität für die Übermittlung von Paketen bei hergestellten virtuellen Verbindungen bereitstellt, wobei der Grad der Dienstansprüche im Zusammenhang mit diesen virtuellen Verbindungen beibehalten wird.
  • Ein exemplarisches Verfahren 400 für die Paketzuweisung und die Zwischenspeicherverwaltung für die Knoten in 2 und 3 gemäß der Erfindung wird in 4 dargestellt. Ein eingehendes Datenpaket wird zunächst in Schritt 405 empfangen. Dann wird die Prioritätsstufe P und das jeweilige Ausgabeport I des eingehenden Paketes in Schritt 410 bestimmt. Vorübergehende Zuweisungen des gesamten Speicherplatzes B des Zwischenspeichers 240 werden dann für das Zwischenspeichern der Pakete, die über die entsprechenden Ausgabeports übermittelt werden sollen, in Schritt 415 erteilt.
  • In diesem Zusammenhang bezieht sich der Begriff "Zuweisung" auf die allgemeine Bereitstellung einer Größe des Speicherplatzes des Zwischenspeichers 240 zum Zwischenspeichern von Datenpaketen für eine virtuelle Verbindung, was für ein solches Zwischenspeichern nicht notwendigerweise eine physische Zuteilung einer bestimmten Speicherregion des Zwischenspeichers 240 meint, egal, ob zusammenhängend oder anderweitig. Entsprechend können die Zuteilungen anzeigen, dass eine bestimmte Größe der Speicherplätze im Zwischenspeicher 240 für die Benutzung durch das Zwischenspeichern von Paketen für entsprechende virtuelle Verbindungen und die Ausgabeports bestimmt sind, durch die sie hergestellt werden. Wie zuvor schon erwähnt, kann mehr als eine virtuelle Verbindung durch ein einzelnes Port hergestellt werden.
  • Die Zuweisungen des Speicherplatzes können zum Zweck des Zwischenspeicherns von Paketen von virtuellen Verbindungen, die durch den Knoten 110 hergestellt wurden, auf vorteilhafte Weise auf festgelegten tatsächlichen Speicheranforderungen basieren. Die tatsächliche Speicheranforderung ist die Größe des Zwischenspeichers, die im Wesentlichen pro Zeiteinheit für die Übermittlung von Paketen durch den Knoten für die jeweilige virtuelle Verbindung erforderlich ist. Verschiedene Verfahren können angewendet werden, um die tatsächliche Speicheranforderung einer virtuellen Verbindung bei der Anwendung der Erfindung zu bestimmen. Die tatsächliche Speicheranforderung für eine virtuelle Verbindung durch einen Mehrfachknoten kann in einer im Wesentlichen ähnlichen Weise bestimmt werden, wie sie in A. Elwalid, D. Mitra und R. Wentworth, „A New Approach for Allocating Buffers and Bandwidth to Heterogeneous, Regulated Traffic in an ATM Node", IEEE J. On Selected Areas in Communications, Vol. 13, Nr. 6, S. 1115–1127 (August 1995) beschrieben wurde. Des Weiteren müssen die vorübergehenden Zuteilungen nicht auf den tatsächlichen Speicheranforderungen der virtuellen Verbindungen gemäß der Erfindung basieren. Ebenso können alternativ dazu diese Zuweisungen auf anderen Bedarfsschätzungen für das Zwischenspeichern des Datenverkehrs durch diese Ports beruhen, sowie auch auf anderen allgemeinen Verfahren der Zuteilung.
  • Obwohl Schritt 415 nach der Identifizierung der Prioritätsstufe P und des gesuchten Ausgabeports I in Schritt 410 gezeigt wird, muss dieser Schritt nicht notwendigerweise an dieser Stelle durchgeführt werden. Es ist ebenso möglich, eine solche Zuweisungsinformation periodisch zu aktualisieren, beispielsweise dann, wenn die virtuellen Verbindungen durch den Knoten 110 hergestellt wurden oder wenn bestehende virtuelle Verbindungen aufgelöst wurden. Entsprechend kann der Schritt 415 vor, nach oder gleichzeitig mit den anderen Schritten des Verfahrens 400 durchgeführt werden.
  • Nach der Bestimmung der vorläufigen Speicherzuweisungen in Schritt 415 wird die Größe des Speicherplatzes L, die für das eingehende Paket notwendig ist, in Schritt 420 bestimmt. Der für das eingehende Paket erforderliche Speicherplatz L entspricht typischerweise der Länge der Informationsbits des Paketes. Wenn ein System Pakete mit einer festen Länge L verwendet, kann Schritt 420 gemäß der Erfindung aus dem Verfahren 400 ausgelassen werden.
  • Nun bestimmt das Verfahren 400 in Schritt 425, ob der vorläufig zugewiesene Speicherplatz BI für das gesuchte Ausgabeport I auf Basis des Speicherplatzes L, der für das eingehende Paket erforderlich ist, unterlastet oder überlastet ist. Die vorläufige Zuteilung wird als unterlastet interpretiert, wenn der Speicherplatz L, der für das eingehende Paket erforderlich ist, in Kombination mit dem Speicherplatz, der Pakete enthält, die zur Übermittlung durch das Ausgabeport I bestimmt sind, den vorläufigen Speicherplatz BI, der dem Port in Schritt 415 zugewiesen wurde, nicht überschreitet. Umgekehrt wird die vorläufige Zuteilung als überlastet eingestuft, wenn der Speicherplatz L, der für das eingehende Paket in Kombination mit dem Speicherplatz, der die Pakete enthält, die zur Übermittlung durch das Ausgabeport I bestimmt sind, den vorläufigen Speicherplatz BI überschreitet.
  • Eine Größe des Speichers R, die reserviert und für das eingehende Pakete nicht verwendet werden sollte, wird dann in Schritt 430 auf Basis des Zustandes der Unterlastung oder Überlastung aus Schritt 425 bestimmt, sowie auch auf Basis der Prioritätsstufe des eingehenden Paketes, welche im Zuge von Schritt 410 bestimmt wurde. Der reservierte Speicher R ist die Größe des verfügbaren Speichers, die für das Zwischenspeichern aktueller und/oder zukünftig empfangener Pakete für andere Ausgabeports oder Prioritätsstufen als das Port I oder die Prioritätsstufe des aktuellen eingehenden Paketes, das gerade bewertet wird, reserviert werden sollte. Die reservierte Speichergröße R sollte so ausgewählt werden, dass sie die Anforderungen des Zwischenspeichers für die anderen Ports, die unterlastet sind, schützt, so dass in dem Fall, dass diese Ports aktiver werden und einen Zwischenspeicher bis zu ihrer vorläufigen Zuweisung anfordern, solch ein Speicherplatz in Kürze verfügbar ist.
  • Der spezifische Wert für R sollte so ausgewählt sein, dass er die Zuweisung und das Zwischenspeichern einer großen Anzahl von Paketen, die für entsprechende Ports mit hohem Datenverkehr bestimmt sind, zulässt, wobei im Wesentlichen gewährleistet wird, dass die Zuweisung von Paketen an Ports mit geringerem Datenverkehr oberhalb eines zulässigen Niveaus nicht zurückgewiesen wird. Typischerweise sollte der Wert der reservierten Speichergröße R bei einer Überlastung der Speicherzuweisung für das Port I größer sein als bei einer Unterlastung der vorläufigen Speicherzuweisung. Auf eine ähnliche weise sollte der Wert der reservierten Speichergröße R für ein eingehendes Paket mit einer niedrigeren Prioritätsstufe größer sein als für ein Paket mit einer höheren Prioritätsstufe. Ebenso kann es von Vorteil sein, für ein eingehendes Paket mit der höchsten Priorität eine reservierte Speichergröße R zu verwenden, die allein oder in Kombination mit dem Zustand der Unterlastung gleich Null ist.
  • Zahlreiche Verfahren können angewendet werden, um die Werte zu bestimmen, die für die reservierte Speichergröße R gemäß der Erfindung für die Bereitstellung einer erhöhten Kapazität für das Zwischenspeichern von Datenpaketen verwendet werden können, wobei der Grad der Dienstansprüche für die hergestellten virtuellen Verbindungen beibehalten wird. Solche Verfahren umfassen zum Beispiel die Verwendung von empirisch festgelegten feststehenden Werten oder die Verwendung von Modellen zur Bestimmung des wertes R auf Basis des Ausmaßes der Überlastung oder der Unterlastung des zugewiesenen Speichers. Die Auswahl des nummerischen Wertes für die reservierte Zwischenspeichergröße R kann ebenso vorteilhaft eine gleichbleibend steigende Funktion auf Basis des Ausmaßes der Unterlastung eines bestimmten Ausgabeports des eingehenden Paketes sein. Ein exemplarisches Verfahren zur Bestimmung des Wertes R wird im Folgenden ausführlicher beschrieben.
  • Nachdem die reservierte Speichergröße R in Schritt 430 bestimmt wurde, bestimmt das Verfahren dann die Größe des gemeinsamen Speicherplatzes BPACK, die für die Verwendung durch das eingehende Paket in Schritt 435 verfügbar ist. Der verfügbare Speicherplatz BPACK ist der gesamte gemeinsame Speicherplatz B minus des reservierten Speicherplatzes R minus des sich in Benutzung befindlichen Speicherplatzes BIU, der im gemeinsamen Speicher in diesem Moment Pakete enthält, die zur Übermittlung durch die Ports (BPACK = B – R – BIU) bestimmt sind. Wenn in Schritt 440 nun der für das eingehende Paket L erforderliche Speicherplatz geringer oder gleich dem verfügbaren Speicher BPACK ist, schreitet das Verfahren 400 zu Schritt 445, bei dem das eingehende Paket zugewiesen und im Zwischenspeicher 240 zum Zweck der späteren Übermittlung durch das jeweilige Port I gespeichert wird. Ansonsten schreitet das Verfahren 400 zu Schritt 450 und das eingehende Paket wird am Knoten 110 nicht zugelassen. Schließlich bereitet sich das Verfahren 400 in Schritt 455 vor, weitere Pakete durch Zurückkehren zu Schritt 405 zu empfangen.
  • Bei diesem Ausführungsbeispiel werden die Schritte des Verfahrens 400 in einer bestimmten Reihenfolge aufgezeigt, um die Darstellung zu vereinfachen, es sollte jedoch klar sein, dass diese Schritte gemäß der Erfindung auch in anderen Abfolgen oder gleichzeitig miteinander durchgeführt werden können. Des Weiteren und obwohl sich diese Ausführungsform auf die Bestimmung des reservierten Speicherplatzes R stützt, der auf dem Zustand der Unterlastung oder Überlastung des vorläufigen Speichers beruht, der dem Ausgabeport I zugewiesen wurde, sowie auf der Prioritätsstufe des eingehenden Paketes, ist es möglich, den reservierten Speicherplatz R gemäß der Erfindung lediglich auf Basis des Zustandes der Unterlastung oder Überlastung zu bestimmen.
  • Da die Erfindung demzufolge den im gemeinsamen Zwi schenspeicher verfügbaren Speicherplatz untersucht sowie auch den Platz, der für das Zwischenspeichern von Paketen für das entsprechende Ausgabeport, das Pakete zulässt, verfügbar ist, kann im Wesentlichen eine relativ hohe Kapazität für die Übermittlung der Pakete zwischen den Knoten erreicht werden, ohne einen unverhältnismäßig großen Speicherplatz des gemeinsamen Zwischenspeichers an Pakete zuzuweisen, die einem bestimmten Ausgabeport oder einer bestimmten Prioritätsstufe zugedacht sind, was auf Kosten anderer Pakettypen gehen würde.
  • Ein am Knoten 110 eingehendes Paket kann auf vorteilhafte Weise durch das Verfahren 300 empfangen werden, das durch einen Netzwerkprozessor (nicht gezeigt), der mit jeden Knoten des Netzwerkes verbunden ist, ausgeführt wird. Bei einem solchen zentralisierten System verfügt der Netzwerkprozessor über relativ genaue Informationen zur aktuellen Stausituation an jedem Knoten, da der Netzwerkprozessor die Verwendung des Zwischenspeichers in Bezug auf die hergestellte Verbindung und das Aufkommen des Datenverkehrs an den Verbindungen, die mit jedem Knoten verbunden sind, überwacht. Alternativ dazu kann der Vorgang der Zuweisung des Verfahrens 300 lokal oder in einer dezentralisierten Weise durchgeführt werden. Dezentralisierte Systeme neigen dazu, gegenüber Fehlern toleranter zu sein, da nicht ein einzelnes Netzwerkelement alle Routing-Entscheidungen trifft. Dezentralisierte Systeme tendieren jedoch dazu, Routing-Entscheidungen eher anhand des vollständigen und aktuellen Zustandes der Stausituation an den Knoten im Netzwerk zu bestimmen als auf Basis periodisch aktualisierter Informationen.
  • Die reservierte Speichergröße R für die Anwendung in Schritt 430 aus 4 kann in einer solchen Weise bestimmt werden, dass für den Fall, dass der vorläufig zugewiesene Speicher für ein bestimmtes Port als unterlastet bestimmt wird, eine reservierte Speichergröße R im Bereich von beispielsweise 0 bis 0,02B auf Basis der Priorität des Datenpaketes verwendet werden kann.
  • Ferner kann für den Fall, dass sich herausstellt, dass der vorläufig zugeteilte Speicher für das bestimmte Port überlastet ist, die folgende Gleichung verwendet werden, um den Wert R zu bestimmen.
    Figure 00200001
    wobei f[ ] eine Funktion ist, i eine Indexreferenz für das Port und U die gesamten unterlasteten Ports zu einem bestimmten Zeitpunkt darstellt. Die Gleichung
    Figure 00200002
    ist eine relative Messung des Ausmaßes der Unterlastung der Ports i in der Menge U und stellt entsprechend das Ausmaß der Unterlastung des Knotens dar. Es ist für die Funktion f[ ] von Vorteil, wenn sich diese langsam verändert und gleichbleibend im Hinblick auf
    Figure 00200003
    ansteigt, wie beispielsweise logarithmische Funktionen, die LOG [ ] umfassen.
  • Ebenso kann eine Anordnung verwendet werden, die einen von mehreren festgelegten Werten im Zustand der Überlastung auswählt, wie zum Beispiel R1, R2 und R3 für die reservierte Speichergröße R. Zum Beispiel ist R = R1, wenn
    Figure 00200004
    relativ groß ist, wie zum Beispiel in einer Größe von mehr als 80 % des vorläufig zugewiesenen Speichers für die unterlasteten Ports
    Figure 00200005
    ;oder gleich R2, wenn
    Figure 00200006
    relativ moderat ist, wie zum Beispiel im Bereich von 20 % bis 80 % für
    Figure 00200007
    oder gleich R3, wenn
    Figure 00200008
    relativ klein ist, wie zum Beispiel in der Größe von weniger als 20 % für
    Figure 00200009
    . Bei einer solchen Anordnung ist es wichtig, dass die Werte des reservierten Speichers in Bezug auf R folgendes Größenverhältnis aufweisen: R1 > R2 > R3. Exemplarische Werte für R1, R2 und R3 sind 0,1B, 0,05B und entsprechend 0,025B. Der Wert R kann im Zustand der Überlastung ebenso eine Konstante sein, wobei diese typischerweise in einem Bereich von 0,1 % bis 5 % des gesamten Speicherplatzes B liegen kann.
  • Obwohl verschiedene Ausführungsformen der Erfindung oben ausführlich beschrieben wurden, können zahlreiche Modifikationen hergestellt werden, ohne dass man den hier dargestellten Anwendungsbereich verlässt. All diese Modifikationen gehören zum Anwendungsbereich der folgenden Ansprüche. So ist es zum Beispiel möglich, andere Verfahren für die Bestimmung der reservierten Speichergröße R gemäß der Erfindung anzuwenden, darunter auch feste Werte, je nachdem, ob der vorläufig zugewiesene Speicher für das jeweilige Port unterlastet oder überlastet ist, oder ob solche Werte periodisch oder auf Anfrage, basierend auf dem Ausmaß, wie sehr der vorläufig zugewiesene Speicher überlastet oder unterlastet ist, bestimmt werden können.

Claims (15)

  1. Verfahren für einen Knoten, der mehrere Ausgabeports und einen gemeinsamen Zwischenspeicher aufweist, um Datenpakete, die über solche Ports übermittelt werden sollen, zwischenzuspeichern, umfassend: Verarbeiten (405, 410) eines eingehenden Paketes zur Übertragung über ein jeweiliges der Ausgabeports für eine virtuelle Verbindung eines Netzwerkes, die durch den jeweiligen Port hergestellt wird; Bestimmen einer vorläufigen Zuteilung des Speichers (415) für mindestens einen der Ports; wobei das Verfahren gekennzeichnet ist durch: Bestimmen (420, 425), ob eine Speicheranforderung für das eingehende Paket den Speicher, der vorläufig für das jeweilige Port zugeteilt ist, unterlasten oder überlasten würde, basierend auf Paketen, die in dem Speicher zwecks Übertragung über das jeweilige Port zwischengespeichert sind; und Zuweisen oder Zurückweisen des eingehenden Paketes an den Zwischenspeicher (435, 440, 445, 450), basierend darauf, ob die Speicheranforderung für das Paket nicht größer ist als die Größe des gemeinsamen Zwischenspeichers, der keine Pakete enthält, minus einer Größe des reservierten Speichers, wobei die vorgesehene Größe eine Funktion der Bestimmung der Unterlastung oder Überlastung darstellt.
  2. Verfahren nach Anspruch 1, wobei die Größe des reservierten Speichers ferner eine Funktion einer Prioritätsstufe im Zusammenhang mit dem eingehenden Paket ist.
  3. Verfahren nach Anspruch 2, wobei die Prioritätsstufe einem Bit der Zellverlustwahrscheinlichkeit im Zusammenhang mit dem eingehenden Paket entspricht.
  4. Verfahren nach Anspruch 2, wobei eine unspezifische Prioritätsstufe im Zusammenhang mit dem eingehenden Paket als niedrigste Prioritätsstufe betrachtet wird.
  5. Verfahren nach Anspruch 2, wobei die Größe des reservierten Speichers größer ist, wenn das eingehende Paket eine niedrigere Priorität aufweist, als wenn im Vergleich dazu das eingehende Paket eine höhere Prioritätsstufe aufweist.
  6. Verfahren nach Anspruch 1, wobei die festgelegten vorläufigen Speicherzuteilungen basierend auf der Herstellung und der Bestimmung der virtuellen Verbindungen durch den Knoten angepasst sind.
  7. Verfahren nach Anspruch 1, wobei die festgelegten vorläufigen Speicherzuteilungen auf tatsächlichen Speicheranforderungen der hergestellten virtuellen Verbindungen basieren.
  8. Verfahren nach Anspruch 1, wobei die Größe des reservierten Speichers, der in dem Schritt der Zuweisung oder Zurückweisung verwendet wird, im dem Bereich von Null bis zu einer Menge vorliegt, die der Größe des gemeinsamen Zwischenspeichers entspricht, der keine Pakete umfasst.
  9. Verfahren nach Anspruch 1, wobei die Größe des reservierten Speichers größer ist, wenn die vorläufige Speicherzuteilung für das Port im Vergleich zur Unterlastung als überlastet bestimmt wird.
  10. Verfahren nach Anspruch 1, wobei der Schritt der Verarbeitung die Verarbeitung von ATM-Zellen (Asynchronous Transfer Mode) als eingehende Pakete umfasst.
  11. Mehrfachknoten zur Übertragung von Datenpaketen für bestehende virtuelle Verbindungen durch den Knoten, umfassend: – Input/Output-Verbindung (200), die an mehrere Ports zur Verarbeitung von Paketen als eingehende und ausgehende Pakete gekoppelt ist, wobei die Input/Output-Verbindung dazu dient, eingehende Pakete auf Input-Ports (210) zu empfangen und ausgehende Pakete über Output-Ports (220) zu übertragen; – einen gemeinsamen Zwischenspeicher (240) für die vorübergehende Speicherung von Paketen, die über die Ports übertragen werden sollen; – Controller (230), der so konfiguriert ist, dass er die Pakete verarbeitet und Teile des Speichers an die entsprechenden Output-Ports zuweist, indem er eine vorläufige Zuteilung des Zwischenspeichers für mindestens eines der Ports bestimmt; wobei der Controller ferner dadurch gekennzeichnet ist, dass der Controller tätig ist, um zu bestimmen (420, 425), ob eine Speicheranforderung für das eingehende Paket den Speicher, der vorläufig für das jeweilige Port zugeteilt ist, unterlasten oder überlasten würde basierend auf Paketen, die in dem Speicher zwecks Übertragung über das jeweilige Port zwischengespeichert sind; und Zuweisen oder Zurückweisen des eingehenden Paketes an den Zwischenspeicher (435, 440, 445, 450), basierend darauf, ob die Speicheranforderung für das Paket nicht größer ist als die Größe des gemeinsamen Zwischenspeichers, der keine Pakete umfasst, minus einer Größe des reservierten Speichers, wobei die reservierte Größe eine Funktion der Bestimmung der Unterlastung oder Überlastung ist.
  12. Knoten nach Anspruch 11, wobei der Knoten Pakete variabler Längen verarbeitet.
  13. Knoten nach Anspruch 11, wobei der Knoten Pakete mit festgelegten Längen verarbeitet.
  14. Knoten nach Anspruch 11, wobei die Pakete ATM-Zellen sind.
  15. Knoten nach Anspruch 11, wobei der Controller basierend auf den tatsächlichen Speicheranforderungen der hergestellten virtuellen Verbindungen die vorläufige Speicherzuteilung festlegt.
DE69737343T 1996-10-24 1997-10-14 Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten Expired - Fee Related DE69737343T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US736149 1996-10-24
US08/736,149 US5909547A (en) 1996-10-24 1996-10-24 Method for shared memory management in network nodes

Publications (2)

Publication Number Publication Date
DE69737343D1 DE69737343D1 (de) 2007-03-29
DE69737343T2 true DE69737343T2 (de) 2007-11-29

Family

ID=24958700

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69737343T Expired - Fee Related DE69737343T2 (de) 1996-10-24 1997-10-14 Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten

Country Status (5)

Country Link
US (1) US5909547A (de)
EP (1) EP0838970B1 (de)
JP (1) JP3457522B2 (de)
CA (1) CA2213423C (de)
DE (1) DE69737343T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10202986A (ja) * 1997-01-28 1998-08-04 Sharp Corp 端末プリンタ装置
FI104603B (fi) * 1997-11-04 2000-02-29 Nokia Networks Oy Puskurinhallinta
US7092395B2 (en) * 1998-03-09 2006-08-15 Lucent Technologies Inc. Connection admission control and routing by allocating resources in network nodes
US6324613B1 (en) * 1999-01-05 2001-11-27 Agere Systems Guardian Corp. Port router
US7139280B2 (en) * 2001-07-30 2006-11-21 Yishay Mansour Buffer management policy for shared memory switches
KR100429897B1 (ko) * 2001-12-13 2004-05-03 한국전자통신연구원 공유 버퍼형 스위치의 적응 버퍼 배분 방법 및 이에사용되는 스위치
US8103754B1 (en) * 2002-05-02 2012-01-24 Hewlett-Packard Development Company, L.P. Reserving a shared volume in a multiple node data storage system
US20050007997A1 (en) * 2003-07-09 2005-01-13 Blaise Morton Distributed control method and system to route flows on netwowrks
JP4432388B2 (ja) 2003-08-12 2010-03-17 株式会社日立製作所 入出力制御装置
US7689685B2 (en) * 2003-09-26 2010-03-30 International Business Machines Corporation Autonomic monitoring for web high availability
US8055725B2 (en) * 2006-01-12 2011-11-08 International Business Machines Corporation Method, apparatus and program product for remotely restoring a non-responsive computing system
JP5943389B2 (ja) * 2013-02-05 2016-07-05 日本電信電話株式会社 呼受付判定方法および呼受付判定装置
CN112799780B (zh) * 2021-01-15 2025-02-25 中国银联股份有限公司 容器镜像共享方法、装置、服务器、设备及介质
US12229439B1 (en) * 2023-08-02 2025-02-18 Mellanox Technologies, Ltd. Power-optimized and shared buffer

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
ATE144870T1 (de) * 1993-06-30 1996-11-15 Ibm Programmierbare hochleistungsfähige datenkommunikationsanpassung für hochgeschwindigkeits-paketübertragungsnetzwerke
US5457679A (en) * 1993-12-08 1995-10-10 At&T Corp. Channel sharing and memory sharing in a packet switching system
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch

Also Published As

Publication number Publication date
JP3457522B2 (ja) 2003-10-20
EP0838970B1 (de) 2007-02-14
EP0838970A3 (de) 2000-02-23
CA2213423C (en) 2001-12-25
JPH10136023A (ja) 1998-05-22
EP0838970A2 (de) 1998-04-29
US5909547A (en) 1999-06-01
DE69737343D1 (de) 2007-03-29
CA2213423A1 (en) 1998-04-24

Similar Documents

Publication Publication Date Title
DE69331309T2 (de) Bandbreitenzuordnung, Übertragungsplanung und Vermeidung von Blockierungen in Breitband Asynchroner-Transfer-Modus Netzwerken
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE69111657T2 (de) Breitband ISDN Paketvermittlungsanordnungen.
DE69818846T2 (de) Paketnetzwerk
DE69510536T2 (de) Breitbandvermittlungsnetz
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE69934165T2 (de) Neues Verfahren und Vorrichtung zur Verkehrsformung in einem auf Glasfaser basiertes Breitbandanschlusssystem
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE69920893T2 (de) Berichtigung der Verbindungsbandbreite auf der Basis der Beobachtung der Belegung der Ressourcen des Netzes
DE60113967T2 (de) Mehrstufige ablaufsteuerungsverfahren zum paketmultiplexen in einem kommunikationsnetzwerk
DE69131089T2 (de) ATM-Vermittlungseinheit
DE69526816T2 (de) Verbesserungen in ATM-Kommunikationsystemen
DE69634541T2 (de) Anordnung und verfahren in bezug auf paketflusssteuerung
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69530641T2 (de) Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE69726223T2 (de) Verkehrsformer mit virtuellen Pfaden mit mehrfachen Warteschlangen
DE69935006T2 (de) Vorrichtung und verfahren zum setzen von prioritäten für multicast-sendepakete in einer netz-dienstklasse
DE69527428T2 (de) Verfahren und ausrüstung zur bevorrechtigung von verkehr in einem atm-netz
DE69737343T2 (de) Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten
DE69811622T2 (de) Verfahren und Vorrichtung zur Bandbreitenverwaltung in einem Datenübertragungsnetz
DE19757966A1 (de) ATM-Schalter-Warteschlangensystem
EP1133112B1 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee