DE69228758T2 - Verfahren und vorrichtung zur paketverarbeitung - Google Patents
Verfahren und vorrichtung zur paketverarbeitungInfo
- Publication number
- DE69228758T2 DE69228758T2 DE69228758T DE69228758T DE69228758T2 DE 69228758 T2 DE69228758 T2 DE 69228758T2 DE 69228758 T DE69228758 T DE 69228758T DE 69228758 T DE69228758 T DE 69228758T DE 69228758 T2 DE69228758 T2 DE 69228758T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- data packet
- header
- cache memory
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 45
- 238000000034 method Methods 0.000 title claims description 23
- 230000015654 memory Effects 0.000 claims description 115
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000013519 translation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3832—Less usual number representations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
- Die Erfindung betrifft im allgemeinen ein Verfahren und eine Vorrichtung zur Datenkommunikation; insbesondere ein Verfahren und eine Vorrichtung zum Verarbeiten und Übertragen von Datenpaketen in einem Brücken- oder Router-Schaltkreis.
- Da der Durchsatz von Netzwerken in den letzten Jahren beträchtlich angestiegen ist, so daß ein Standard-FDDI-Netzwerk zur Zeit mit einhundert Megabit pro Sekunde arbeitet, tritt ein potentieller Engpaß auf, wenn Datenpakete zwischen zwei Netzwerken, zum Beispiel unter Verwendung einer Brücken- oder Router-Schaltungsanordnung, übertragen werden müssen. Die Schaltungsanordnung muß nicht einfach nur schnell genug sein, um die Datenpakete weiterzuleiten, sondern sie muß zusätzlich die Kopfbereiche der Datenpakete verarbeiten, so daß ein neuer Kopfbereich, der zum Beispiel das nächste Routing-Ziel identifiziert, erzeugt werden kann und den Paketdaten vorangestellt werden kann. Die resultierende "Belastung" für die Brücken- oder Router-CPU und für die Steuerungssoftware kann beträchtlich sein. Da das Datenpaket typischerweise in einem DRAM-Speicher abgespeichert ist, kann sich insbesondere der konstante Zugriff der CPU auf das gespeicherte Paket, um bestimmte erforderliche Informationen zu erhalten, als Engpaß in dem System erweisen. Eine offensichtliche Lösung für das Engpaßproblem ist, das gesamte Datenpaket in einem statischen Hochgeschwindigkeitsspeicher abzuspeichern. Dies wirft aber erhebliche Kostenprobleme auf, da statische Hochgeschwindigkeitsspeicher relativ teuer sind; und dementsprechend würde ein Speicher mit einem großen Fassungsvermögen, der zum Speichern vieler Datenpakete fähig wäre, den Hauptanteil an den Kosten für ein Produkt bilden.
- Daher ist es eine Aufgabe der Erfindung die Durchsatzverarbeitung von Datenpaketen zu erhöhen, ohne die Speicherkosten stark anzuheben, während die Systemzuverlässigkeit erhalten bleibt. Eine andere Aufgabe der Erfindung ist der Hochgeschwindigkeitszugriff auf die Datenpaketinformationen.
- EP-A-0405990 beschreibt einen Routing-Switch, wobei der Kopfbereich eines Nachrichtenpakets von einem Puffer empfangen wird, bevor das gesamte Paket empfangen wird, wobei das Ziel des Nachrichtenpakets bestimmt wird und der Nachrichtenteil direkt durch den Switch hindurch übertragen wird, ohne den Kopfbereich oder den Nachrichtenteil des Nachrichtenpakets zu speichern.
- Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zur Verarbeitung eines Datenpakets geschaffen für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist, wobei das Verfahren folgende Schritte aufweist: Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, Abspeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache-Speicher, Abspeichern wenigstens des Restbereichs jedes Datenpakets in einem Speicher mit geringerer Geschwindigkeit, Zugreifen auf jeden Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitscache- Speicher zur Protokollverarbeitung und Zielverarbeitung eines jeden Datenpakets, und Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
- Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Verarbeiten eines Datenpakets geschaffen zum Zuführen zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist, wobei das Verfahren folgende Schritte aufweist: Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, Abspeichern nicht aneinander angrenzender Bereiche des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache- Speicher, Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in einem Speicher mit geringerer Geschwindigkeit, Auswählen von Bereichen des Kopfbereichs eines jeden Datenpakets zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher abhängig von der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der zugeordnete Restbereich abgespeichert ist, Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache-Speicher, an der der ausgewählte Bereich abgespeichert ist, der dem zugeordneten Restbereich entspricht, mittels einer Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich eines jeden Datenpakets abgespeichert ist, Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher für Protokollverarbeitung und Zielverarbeitung des Datenpakets, wobei der Schritt des Zugreifens aufweist: Bereitstellen eines Zugangs über mehrere Schnittstellen zu dem Hochgeschwindigkeitsdatencache-Speicher von wenigstens einem Eingangs- /Ausgangsdatenbus und einem auf einer CPU basierenden Prozessor, Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher mithilfe des Prozessors, und Schreiben in dem Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor zum Modifizieren des Kopfbereichs und Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
- Gemäß einem ersten Vorrichtungsaspekt der Erfindung wird eine Vorrichtung für die Verarbeitung eines Datenpakets geschaffen für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich · und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungdaten, Protokolldaten und/oder Quellidentifizierungdaten aufweist, mit: einem Mittel zum Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, einem Hochgeschwindigkeitsdatencache-Speicher, einem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Abpeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher, einem Mittel zum Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in dem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdätencache- Speicher für die Protokollverarbeitung und Zielverarbeitung des Datenpakets, und einem Mittel zum Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
- Gemäß einem zweiten Vorrichtungsaspekt der Erfindung wird eine Vorrichtung zum Verarbeiten eines Datenpakets geschaffen für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist mit: einem Mittel zum Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, einem Hochgeschwindigkeitsdatencache-Speicher mit mehreren Schnittstellen, einem Mittel zum Verbinden des Hochgeschwindigkeitsdatencache-Speicher mit einem Eingangs- /Ausgangsdatenbus und einem auf einer CPU basierenden Prozessor, einem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Abspeichern nicht aneinander angrenzender Bereiche des Kopfbereichs eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher, einem Mittel zum Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in dem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Auswählen von Bereichen des Kopfbereichs zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher abhängig von der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich abgespeichert ist, einem Mittel zum Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher für die Protokollverarbeitung und Zielverarbeitung eines jeden Datenpakets, wobei das Zugriffsmittel aufweist: ein Mittel zum Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache- Speicher, an der der Kopfbereich abgespeichert ist, aufgrund der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich eines jeden Datenpakets abgespeichert ist, ein Mittel zum Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher mithilfe des Prozessors und ein Mittel zum Schreiben in den Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor zum Modifizieren des Kopfbereichs und ein Mittel zum Weiterleiten eines neuen Datenpakets zu einem neuen Datenpaketziel basierend auf dem Protokoll und der Zielverarbeitung des Datenpakets.
- Die bevorzugte Ausführungsform betrifft somit ein Verfahren und eine Vorrichtung für die Verarbeitung eines Datenpakets für die Zuführung zu einem bestimmten Ort, wobei das Datenpaket ein ausgewähltes Protokoll aufweist, wobei ein Kopfbereich des Pakets wenigstens Zielidentifizierungdaten, Protokolldaten und/oder Quellidentifizierungdaten aufweist. Die Verfahrenserfindung weist die Schritte auf: Empfangen aufeinanderfolgender Pakete von einem Datenquellkanal, Abspeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache, Abspeichern wenigstens des Rests jedes Datenpakets (und bevorzugt das gesamte Datenpaket) in einem Speicher mit geringerer Geschwindigkeit, Zugreifen auf jeden Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitscache zur Protokoll- und Zielverarbeitung des Datenpakets, und Weiterleiten eines neu generierten Datenpakets zu einem nächsten Paketziel.
- Das Verfahren weist ferner die Schritte auf: Abspeichern jedes Kopfbereichs des Datenpakets an einer Adresse, welche durch den Ort des Rests des zugeordneten Datenpakets in dem langsameren Speicher identifiziert ist.
- Die Vorrichtung der bevorzugten Ausführungsform weist eine Schaltungsanordnung zum Empfangen aufeinanderfolgender Pakete von dem Datenquellkanal, einen Hochgeschwindigkeitsdatencache und einen Speicher mit geringerer Geschwindigkeit, eine Schaltungsanordnung zum Abpeichern wenigstens eines Teils des Kopfbereichs eines jeden Pakets in dem Hochgeschwindigkeitsdatencache und zum Abspeichern wenigstens des Rests (und bevorzugt der Gesamtheit) jedes Pakets in dem Massenspeicher mit geringerer Geschwindigkeit, eine Schaltungsanordnung zum Zugreifen auf jeden Kopfbereich jedes Pakets in dem Hochgeschwindigkeitsdatencache für Protokoll- und Zielverarbeitung des Datenpakets, und eine Schaltungsanordnung zum Weiterleiten eines generierten neuen Datenpakets zu einem nächsten Paketziel auf.
- Die Vorrichtung weist ferner eine Schaltungsanordnung zum Abspeichern jedes Kopfbereichs eines Datenpakets an einer Adresse auf, welche durch den Ort des Rests des zugeordneten Datenpakets in dem langsameren Speicher identifiziert ist.
- Andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung zusammen mit den Zeichnungen offenbar, wobei:
- Fig. 1 ein Blockdiagramm eines Systems zum Übergeben von Paketen zwischen Knoten in einem Netzwerk zeigt;
- Fig. 2 ein detaillierteres Blockdiagramm eines Router- oder Brücken-Schaltkreises für die aus Fig. 1 ersichtliche Vorrichtung zeigt; und
- Fig. 3 den Router- oder Brückenteil detaillierter verdeutlicht, auf den die Erfindung gerichtet ist.
- Wie aus Fig. 1 ersichtlich, weist ein Datenpaket-Netzwerk- System 10 eine Mehrzahl von Knoten A1, A1, ...Ax, D1, D2, ..., D2 auf, die miteinander über Routing- oder Brücken-Schaltungsanordnungen B1, C1, C2, ...Cy verbunden sind. Die Routing- und Brücken-Schaltungsanordnungen empfangen Daten von den Knoten und übertragen diese Daten auf dem Weg zu einem letzten Zielknoten entweder zu anderen Knoten oder zu anderen Brücken oder Routern. Im typischen Betrieb sind die Brücken- und Routing- Schaltungsanordnungen mit der Konfiguration des Netzwerks programmiert und kennen dementsprechend die verfügbaren Pfade zum Weiterleiten von Daten zu dem letzten Ziel.
- Wie aus Fig. 2 ersichtlich, empfängt im typischen Betrieb eine Router- oder Brücken-Schaltungsanordnung 12 Daten über einen Kanalempfänger 14. Der Kanalempfänger wird zum Speichern des Datenpakets in einem Speicher 16 betrieben, während gleichzeitig eine Steuerung 18 über die Ankunft des Pakets benachrichtigt wird. Die Steuerung kann zum Beispiel das gesamte Datenpaket zum Bestimmen seiner Struktur empfangen. Die Struktur weist typischerweise einen Kopfbereich am Anfang des Datenpakets, die Daten selbst und am Ende des Datenpakets einen Fehlerkontrollabschnitt (typischerweise einen CRC- Fehlerprüfabschnitt) auf, mittels welchem der Empfänger die Integrität der empfangenen Daten überprüfen kann. Nach dem Untersuchen des Kopfbereichs können von der Steuerung auch das verwendete Protokoll, falls mehr als ein Protokoll über den Eingangskanal zur Verfügung steht und das endgültige Ziel und der Quellknoten des Datenpakets bestimmt werden. Die zum Erzeugen eines neuen Kopfbereichs für die Daten betriebene CPU fügt den neuen Kopfbereich zu dem Restbereich des Datenpakets hinzu und leitet die nun rekonstruierte Kopfbereichs- und Daten-Kombination über einen Kanalsender 20 heraus zu einem anderen Netzwerk, um sie zu dem letzten Knoten oder zu dem nächsten Router/Brücken-Schaltkreis entlang ihres Weges zu übertragen. Ein Fehlerprüfwort wird in dem Sender berechnet und dem Ende des Datenpakets hinzugefügt.
- Die Erfindung ist auf ein effizienteres Verfahren und eine effizientere Vorrichtung zum Handhaben der Datenpaketverarbeitung in dem Router/Brücken-Schaltkreis gerichtet. Wie aus Fig. 3 ersichtlich, weist der Router in Übereinstimmung mit der illustrierten Ausführungsform der Erfindung eine langsamere Speicher-Schaltungsanordnung 26, einen Hochgeschwindigkeitscache-Speicher 28, die CPU-Steuerung 18, Adreßübersetzungs- und Steuerungs-Schaltungsanordnungen 30 und 32 und steuerbare Treiber-Schaltungsanordnungen 34, 36, 38, 40, 42, 44, 46 und 48 auf. Mit Ausnahme der bidirektionalen Treiber-Schaltungsanordnung 48, sind alle Treiber unidirektional.
- Die CPU 18, die Adreß- und Steuerungs-Schaltungsanordnung 32 und die Treiber 42, 44, 46 und 48 bilden das Verarbeitungselement 50, welches mit den Eingabe/Ausgabe-Adreßleitungen und den Busleitungen 52 bzw. 54 und mit dem Datencache 28 verbunden ist. Es wird erwartet, daß bei einer bevorzugten Ausführungsform der Erfindung eine Mehrzahl von Verarbeitungselementen vorgesehen sein kann; und daß jedes der Verarbeitungselemente 50 im Parallelbetrieb auf ein anderes Datenpaket einwirken kann, wobei der Datencache 28 schnell genug ist, um alle Verarbeitungselemente 50 gleichzeitig zu bedienen.
- Im Betrieb sind die Adreßübersetzungs- und Steuerungs-Schaltkreise 30, 32 von der CPU 18 voreingestellt, um unter Verwendung der niederwertigen Bits auf der Adreßleitung die Informationsbytes in dem Paket zu erkennen, die in dem Cache- Speicher 28 in Überseinstimmung mit dem verwendeten Protokoll zu speichern sind. Bei der illustrierten Ausführungsform müssen die gespeicherten Bytes in dem Paket nicht aneinander angrenzen, werden aber alle zu dem Kopfbereich des Pakets gehören. Der Adreß- und Steuer-Schaltkreis 30 empfängt während des Paketempfangs Adreßdaten von der Verbindungsschnittstelle 60 über die Adreßbusleitungen 52. Die Adreßdaten werden auch dem langsameren Speicher 26 zur Verfügung gestellt. Die Adresse wird unter Verwendung einer in einem Speicher mit wahlfreiem Zugriff des Adreßübersetzungsschaltkreises 30 gespeicherten Speicherbereichstabelle übersetzt, und eine entsprechende Cache-Zeilenauswahladresse wird auf der Basis eines höherwertigen Teils der Adresse über Leitungen 62 an einen mit einem Multi-Port versehenen Cache-Speicher 28 ausgegeben. Die Datentreiber 36 werden demgemäß in Abhängigkeit des niederwertigen Teils der Adresse (wie weiter unten beschrieben) selektiv freigeschaltet und bewirken, daß der in dem Cache zu speichernde Teil des eingehenden Datenpakets in den Cache-Speicher an die über die Leitungen 62 spezifizierte Zeilenadresse geladen wird.
- Gleichzeitig wird gemäß der illustrierten Ausführungsform auch das gesamte Datenpaket durch den Treiber 40 hindurch in dem Pufferspeicher 26 an einer Adresse gespeichert, die der über die Eingabe/Ausgabe-Leitungen 52 verfügbaren Adresse entspricht. Die Datenpaketinformation ist über die Leitungen 54 verfügbar, und das Paket wird in seiner Gesamtheit im Pufferspeicher 26 gespeichert. Der Pufferspeicher 26 weist auch eine ausreichende Steuerschaltungsanordnung bei 26a auf, um die über die Leitungen 52 anliegende Adreß-Information zu dekodieren und um das gesamte Datenpaket in einem den höchstwertigen Bits dieser Datenadresse zugeordneten Puffer aufzunehmen und zu speichern. Die in dem Cache-Speicher 28 gespeicherte Information enthält wenigstens eine Identifikation der Quelle und des Ziels der Datenpakete, das verwendete Protokoll, falls das Protokoll der Brücken/Router-Schaltungsanordnung nicht bereits bekannt ist und/oder andere erforderliche Kopfbereichsinformation, welche erforderlich ist, um dem Prozessors 50 zu ermöglichen, neue Kopfbereichsinformation zu erzeugen und das Datenpaket zu dem nächsten Empfangsknoten des Netzwerks weiterzuleiten.
- Wenn zunächst das Datenpaket empfangen wird, wird daher das gesamte Datenpaket im Pufferspeicher 26, der typischerweise ein dynamisches RAM (DRAM) ist, gespeichert, während ausgewählte Kopfbereichsdaten (welche typischerweise von der CPU verwendet werden) im schnellen Cache-Speicher 28 gespeichert werden und für die CPU, wie es erforderlich ist und wie es im Folgenden dargelegt wird, verfügbar gemacht werden. Die Kopfbereichsdaten werden unter Verwendung des Übersetzungs- und Steuer- Schaltkreises 30 ausgewählt und müssen im Kopfbereich nicht aneinander angrenzen. Beim Binschaltvorgang wird diese Schaltungsanordnung von der CPU initialisiert, um mittels der niederwertigen Bits der Adreß-Daten die Bytes im Kopfbereich zu erkennen, die zu "cachen" sind (d. h., die im Cache-Speicher abzulegen sind). Diese Bytes müssen im Datenpaket nicht aneinander angrenzen. Auf die Erkennung einer zu den zu speichernden Kopfbereichsdaten korrespondierenden Adresse hin, wird von der Schaltungsanordnung die "HIT"-Leitung 63 geltend gemacht und die korrekte Adresse auf die Dateneingangsleitungen 62 gelegt. Die Daten werden dann vom Cache 28 gelesen und gespeichert.
- Sobald das Datenpaket empfangen worden ist und sowohl in dem Pufferspeicher 26 als auch in dem Cache-Speicher 28 korrekt vorhanden ist, kann ein beliebiger der Prozessoren 50 auf den Cache 28 zugreifen, um die darin enthaltene Kopfbereichsinformation wiederzugewinnen. Mittels seiner CPU 18 fordert daher der Prozessor 50 Daten über Leitungen 70 unter Verwendung einer Adresse an, welche der Adresse auf den Eingangs/Ausgangs- Adreß-Leitungen 52 entspricht. Der Adreß-Übersetzungs- Schaltkreis 32 übersetzt, wie der Adreß-Übersetzungs- Schaltkreis 30, diese Adresse in eine Cache- Auswahlzeilenadresse über Leitungen 65. Falls die Adresse gültig ist und zu in dem Cache gespeicherten Daten korrespondiert, werden die Datentreiber 44 oder 46 von dem "HIT"-Signal über eine Leitung 72 aktiviert, und die CPU liest entweder Daten von dem Cache-Speicher ein, um diese zu verarbeiten oder schreibt Daten in den Cache-Speicher, um diese als Teil eines neuen Kopfbereichs für das Datenpaket zu verwenden. Falls "HIT" nicht vorhanden ist und die Kopfbereichsdaten im Cache nicht verfügbar sind, ist anzumerken, daß dann die CPU entweder die Daten von dem Pufferspeicher 26 einlesen wird oder durch die Datentreiber 48 und die Adreß- Treiber 42 Daten in den Pufferspeicher 26 schreiben wird.
- Der oben dargestellte Daten-Cache 28 ist ein Mehrfach-Port- Speicher. Bei der bevorzugten Ausführungsform der Erfindung ist der Cache ein wahrer Multi-Port-Speicher; dies heißt, daß gleichzeitiges Lesen und/oder Schreiben im Parallelbetrieb zur Verfügung gestellt wird, wodurch eine Herabsetzung der Leistung vermieden wird. Bei anderen Implementierungen des Daten-Cache können wahre N-Port-Speicher oder Speicher mit einem im Multiplex betriebenen Port verwendet werden. Ferner können Mehrfach-Cache-Speicher implementiett sein, welche tatsächlich nur eine besondere Implementierung eines einzigen großen Cache- Speichers sind. Bei all diesen Ausführungsformen erfüllt der Cache 28 jede der an ihn gestellten Anforderungen, das heißt von dem Adreß-Übersetzungs-Schaltkreis 30 oder von einem der Adreß-Übersetzungs-Schaltkreise 32 eines Verarbeitungselements 50. Falls der Cache 28 eine im Multiplex betriebene Implementierung ist und eines der Verarbeitungselemente 50 bedient, wartet jede andere Anforderung, bis die frühere und andauernde Anforderung bedient worden ist. Danach wird der im Multiplex betriebene Cache-Speicher 28 die nächste empfangene Anforderung bedienen.
- Die CPU-Steuerung bewirkt daher im Betrieb, daß die Kopfbereichsinformation typischerweise durch die Treiber 44 in den Cache-Speicher ("HIT" ist geltend gemacht) geschrieben wird und kann ferner und alternativ bewirken, daß früher geschriebene Kopfbereichsinformation von dem Cache-Speicher durch die Treiber 72 in die CPU eingelesen wird. Unter der Steuerung von der CPU können ferner Kopfbereichsdaten von dem Cache-Speicher durch die Treiber 46 und 48 für den Zugriff auf den Datenbus 54 gelesen werden. Der Pufferspeicher 26 kann, ebenfalls unter der Steuerung von der CPU, den Rest der Daten von seinem Speicher über die Datenausgabeleitungen und durch den angeschlossenen Treiber 38 liefern. Durch den Treiber 48 fügt die CPU am Ende des Datenpakets die Fehlerprüfbits hinzu, so daß der (die) Empfangsknoten für dieses Paket alle Informationen erhalten wird (werden), die zum Überprüfen der Integrität der eingehenden Daten erforderlich sind.
- In Übereinstimmung mit der bevorzugten Ausführungsform der Erfindung ist das Puffer-Layout und daher die Kopfbereichsadresse dem System bekannt und ermöglicht es, daß der Adreß- Übersetzungs-Schaltkreis zur Installationszeit festgelegt ist. Das Puffer-Layout ermöglicht es ferner, alle Seiten des Paketkopfbereich-Cache unabhängig voneinander zu betreiben und ermöglicht es dem Cache, den CPU-Anforderungen zuvorzukommen, anstatt darauf zu reagieren. Das Verwenden eines Multi-Port- Speichers für den Cache 28 beseitigt ferner Bus-Entscheidungs- Overhead (engl.: bus arbitration overhead) und ermöglicht es, bei der Verwendung der Adreß-Übersetzungs-Schaltungsanordnung, kommerzielle Multi-Port-Speicher und Vergleichslogik zu verwenden.
- Hinzufügungen, Herausnahmen und andere Modifizierungen der beschriebenen Ausführungsform sind für Fachleute offensichtlich und liegen innerhalb des Bereichs der folgenden Ansprüche.
Claims (14)
1. Verfahren zur Verarbeitung eines Datenpakets für die
Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein
ausgewähltes Protokoll sowie einen Kopfbereich und einen
Restbereich aufweist, wobei der Kopfbereich des Datenpakets
wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder
Quellidentifizierungsdaten aufweist, wobei das Verfahren
folgende Schritte aufweist:
Empfangen aufeinanderfolgender Datenpakete von einem
Datenquellkanal,
Abspeichern wenigstens eines Teils des Kopfbereichs eines
jeden Datenpakets in einem Hochgeschwindigkeitsdatencache-
Speicher (28),
Abspeichern wenigstens des Restbereichs jedes Datenpakets
in einem Speicher (26) mit geringerer Geschwindigkeit,
Zugreifen auf jeden Kopfbereich eines jeden Datenpakets in
dem Hochgeschwindigkeitscache-Speicher (28) zur
Protokollverarbeitung und Zielverarbeitung eines jeden
Datenpakets, und
Weiterleiten eines neuen Datenpakets zu einem nächsten
Datenpaketziel basierend auf dem bestimmten Protokoll und der
Zielverarbeitung des Datenpakets.
2. Verfahren nach Anspruch 1, das ferner folgende Schritte
aufweist:
Abspeichern des Kopfbereichs eines jeden Datenpakets an
einer Adresse, die den Ort des Restbereichs eines jeden
Datenpakets in dem Speicher (26) mit geringerer Geschwindigkeit
bezeichnet.
3. Verfahren nach Anspruch 1, das ferner folgende Schritte
aufweist:
Feststellen der Adresse in dem
Hochgeschwindigkeitsdatencache-Speicher, an der der Kopfbereich
abgespeichert ist, aufgrund einer Adresse in dem Speicher (26)
mit geringerer Geschwindigkeit, an welcher der Restbereich
eines jeden Datenpakets abgespeichert ist.
4. Verfahren nach Anspruch 1, das ferner folgende Schritte
aufweist:
Bereitstellen eines Zugangs über mehrere Schnittstellen zu
dem Hochgeschwindigkeitsdatencache-Speicher von wenigstens
einem Eingangs-/Ausgangsdatenbus (54) und einem auf einer CPU
basierenden Prozessor (50),
Lesen des abgespeicherten Kopfbereichs direkt von dem
Hochgeschwindigkeitsdatencache-Speicher (28) mithilfe des
Prozessors (50), und
Schreiben in den Hochgeschwindigkeitsdatencache-Speicher
(28) von dem Prozessor (50) zum Modifizieren des Kopfbereichs.
5. Verfahren nach Anspruch 1, das ferner folgenden Schritt
aufweist:
Abspeichern einander nicht benachbarter Bereiche des
Kopfbereichs in dem Hochgeschwindigkeitsdatencache-Speicher
(28).
6. Verfahren nach Anspruch 1, das ferner folgenden Schritt
aufweist:
Auswählen von Bereichen des Kopfbereichs zum Abspeichern
in dem Hochgeschwindigkeitsdatencache-Speicher (28) abhängig
von der Adresse in dem Speicher (26) mit geringerer
Geschwindigkeit, an der der Restbereich abgespeichert ist.
7. Verfahren zum Verarbeiten eines Datenpakets zum Zuführen zu
einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes
Protokoll sowie einen Kopfbereich und einen Restbereich
aufweist, wobei der Kopfbereich des Datenpakets wenigstens
Zielidentifizierungsdaten, Protokolldaten und/oder
Quellidentifizierungsdaten aufweist, wobei das Verfahren
folgende Schritte aufweist:
Empfangen aufeinanderfolgender Datenpakete von einem
Datenquellkanal,
Abspeichern nicht aneinander angrenzender Bereiche des
Kopfbereichs eines jeden Datenpakets in einem
Hochgeschwindigkeitsdatencache-Speicher (28),
Abspeichern wenigstens des Restbereichs eines jeden
Datenpakets in einem Speicher (26) mit geringerer
Geschwindigkeit,
Auswählen von Bereichen des Kopfbereichs eines jeden
Datenpakets zum Abspeichern in dem
Hochgeschwindigkeitsdatencache-Speicher (28) abhängig von der
Adresse in dem Speicher (26) mit geringerer Geschwindigkeit, an
der der zugeordnete Restbereich abgespeichert ist,
Erfassen der Adresse in dem
Hochgeschwindigkeitsdatencache-Speicher (28), an der der
ausgewählte Bereich abgespeichert ist, der dem zugeordneten
Restbereich entspricht, mittels einer Adresse in dem Speicher
(26) mit geringerer Geschwindigkeit, an der der Restbereich
eines jeden Datenpakets abgespeichert ist,
Zugreifen auf den Kopfbereich eines jeden Datenpakets in
dem Hochgeschwindigkeitsdatencache-Speicher (28) für
Protokollverarbeitung und Zielverarbeitung des Datenpakets,
wobei der Schritt des Zugreifens aufweist:
Bereitstellen eines Zugangs über mehrere Schnittstellen zu
dem Hochgeschwindigkeitsdatencache-Speicher (28) von wenigstens
einem Eingangs-/Ausgangsdatenbus (54) und einem auf einer CPU
basierenden Prozessor (50),
Lesen des abgespeicherten Kopfbereichs direkt von dem
Hochgeschwindigkeitsdatencache-Speicher (28) mithilfe des
Prozessors (50), und
Schreiben in dem Hochgeschwindigkeitsdatencache-Speicher
(28) von dem Prozessor (50) zum Modifizieren des Kopfbereichs
und
Weiterleiten eines neuen Datenpakets zu einem nächsten
Datenpaketziel basierend auf dem bestimmten Protokoll und der
Zielverarbeitung des Datenpakets.
8. Vorrichtung für die Verarbeitung eines Datenpakets für die
Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein
ausgewähltes Protokoll sowie einen Kopfbereich und einen
Restbereich aufweist, wobei der Kopfbereich des Datenpakets
wenigstens Zielidentifizierungdaten, Protokolldaten und/oder
Quellidentifizierungdaten aufweist, mit:
einem Mittel zum Empfangen aufeinanderfolgender
Datenpakete (14) von einem Datenquellkanal,
einem Hochgeschwindigkeitsdatencache-Speicher (28),
einem Speicher (26) mit geringerer Geschwindigkeit,
einem Mittel zum Abpeichern wenigstens eines Teils des
Kopfbereichs eines jeden Datenpakets in dem
Hochgeschwindigkeitsdatencache-Speicher (28),
einem Mittel zum Abspeichern wenigstens des Restbereichs
eines jeden Datenpakets (26a) in dem Speicher (26) mit
geringerer Geschwindigkeit,
einem Mittel zum Zugreifen auf den Kopfbereich eines jeden
Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher für
die Protokollverarbeitung und Zielverarbeitung des Datenpakets,
und
einem Mittel zum Weiterleiten eines neuen Datenpakets zu
einem nächsten Datenpaketziel basierend auf dem bestimmten
Protokoll und der Zielverarbeitung des Datenpakets.
9. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum
Abspeichern des Teils des Kopfbereichs eines Datenpakets an
einer Adresse aufweist, die den Ort bezeichnet, an dem der
Restbereich des zugeordneten Datenpakets in dem Speicher mit
geringerer Geschwindigkeit abgespeichert ist.
10. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum
Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache-
Speicher, an der der Kopfbereich abgespeichert ist, aufgrund
der Adresse in dem Speicher mit geringerer Geschwindigkeit, an
der der Restbereich des Datenpakets abgespeichert ist,
aufweist.
11. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum
Bereitstellen eines Zugangs über mehrere Schnittstellen zu dem
Hochgeschwindigkeitsdatencache-Speicher von einem Eingangs-
/Ausgangsdatenbus und einem auf einer CPU basierenden
Prozessor,
einem Mittel zum Lesen des abgespeicherten Kopfbereichs
direkt von dem Hochgeschwindigkeitsdatencache-Speicher mithilfe
des Prozessors, und
ein Mittel zum Schreiben in den
Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor zum
Modifizieren des Kopfbereichs aufweist.
12. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum
Abspeichern einander nicht benachbarter Bereiche des
Kopfbereichs in dem Hochgeschwindigkeitsdatencache-Speicher
aufweist.
13. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum
Auswählen von Bereichen des Kopfbereichs für das Abspeichern in
dem Hochgeschwindigkeitsdatencache-Speicher abhängig von der
Adresse in dem langsamen Speicher, an der der Restbereich
abgespeichert ist, aufweist.
14. Vorrichtung zum Verarbeiten eines Datenpakets für die
Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein
ausgewähltes Protokoll sowie einen Kopfbereich und einen
Restbereich aufweist, wobei der Kopfbereich des Datenpakets
wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder
Quellidentifizierungsdaten aufweist mit:
einem Mittel zum Empfangen aufeinanderfolgender
Datenpakete von einem Datenquellkanal (14),
einem Hochgeschwindigkeitsdätencache-Speicher (28) mit
mehreren Schnittstellen,
einem Mittel zum Verbinden des
Hochgeschwindigkeitsdatencache-Speicher mit einem Eingangs-
/Ausgangsdatenbus und einem auf einer CPU basierenden
Prozessor,
einem Speicher (26) mit geringerer Geschwindigkeit,
einem Mittel zum Abspeichern nicht aneinander angrenzender
Bereiche des Kopfbereichs eines jeden Datenpakets in dem
Hochgeschwindigkeitsdatencache-Speicher (28),
einem Mittel zum Abspeichern wenigstens des Restbereichs
eines jeden Datenpakets in dem Speicher (26) mit geringerer
Geschwindigkeit,
einem Mittel zum Auswählen von Bereichen des Kopfbereichs
zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher
(28) abhängig von der Adresse in dem Speicher (26) mit
geringerer Geschwindigkeit, an der der Restbereich
abgespeichert ist,
einem Mittel zum Zugreifen auf den Kopfbereich eines jeden
Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher (28)
für die Protokollverarbeitung und Zielverarbeitung eines jeden
Datenpakets, wobei das Zugriffsmittel aufweist:
ein Mittel zum Erfassen der Adresse in dem
Hochgeschwindigkeitsdatencache-Speicher (28), an der der
Kopfbereich abgespeichert ist, aufgrund der Adresse in dem
Speicher mit geringerer Geschwindigkeit, an der der Restbereich
eines jeden Datenpakets abgespeichert ist,
ein Mittel zum Lesen des abgespeicherten Kopfbereichs
direkt von dem Hochgeschwindigkeitsdatencache-Speicher (28)
mithilfe des Prozessors (50) und
ein Mittel zum Schreiben in den
Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor (50)
zum Modifizieren des Kopfbereichs und
ein Mittel zum Weiterleiten eines neuen Datenpakets zu
einem neuen Datenpaketziel basierend auf dem Protokoll und der
Zielverarbeitung des Datenpakets.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/771,769 US5398245A (en) | 1991-10-04 | 1991-10-04 | Packet processing method and apparatus |
PCT/US1992/007950 WO1993007692A1 (en) | 1991-10-04 | 1992-09-22 | Packet processing method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69228758D1 DE69228758D1 (de) | 1999-04-29 |
DE69228758T2 true DE69228758T2 (de) | 1999-12-02 |
Family
ID=25092923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69228758T Expired - Fee Related DE69228758T2 (de) | 1991-10-04 | 1992-09-22 | Verfahren und vorrichtung zur paketverarbeitung |
Country Status (6)
Country | Link |
---|---|
US (1) | US5398245A (de) |
EP (1) | EP0606368B1 (de) |
JP (1) | JP3286320B2 (de) |
AU (1) | AU2756392A (de) |
DE (1) | DE69228758T2 (de) |
WO (1) | WO1993007692A1 (de) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5634005A (en) * | 1992-11-09 | 1997-05-27 | Kabushiki Kaisha Toshiba | System for automatically sending mail message by storing rule according to the language specification of the message including processing condition and processing content |
JP3473975B2 (ja) * | 1993-09-08 | 2003-12-08 | 株式会社日立製作所 | ネットワークシステムおよびネットワークにおける通信方法 |
US5509006A (en) * | 1994-04-18 | 1996-04-16 | Cisco Systems Incorporated | Apparatus and method for switching packets using tree memory |
US5519704A (en) * | 1994-04-21 | 1996-05-21 | Cisco Systems, Inc. | Reliable transport protocol for internetwork routing |
EP0742677A3 (de) * | 1995-05-08 | 1999-09-15 | Fujitsu Limited | Kopfübersetzungsverfahren |
US5752078A (en) * | 1995-07-10 | 1998-05-12 | International Business Machines Corporation | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
US7468977B1 (en) | 1995-07-12 | 2008-12-23 | Nortel Networks Limited | LAN/ATM switch having local packet switching and an ATM core fabric |
US7031296B1 (en) | 1995-09-29 | 2006-04-18 | Nortel Networks Limited | Method and apparatus for managing the flow of data within a switching device |
US5790554A (en) * | 1995-10-04 | 1998-08-04 | Bay Networks, Inc. | Method and apparatus for processing data packets in a network |
US6058429A (en) | 1995-12-08 | 2000-05-02 | Nortel Networks Corporation | Method and apparatus for forwarding traffic between locality attached networks using level 3 addressing information |
US5778414A (en) * | 1996-06-13 | 1998-07-07 | Racal-Datacom, Inc. | Performance enhancing memory interleaver for data frame processing |
US5768515A (en) * | 1996-07-08 | 1998-06-16 | Microsoft Corporation | Method for generating and storing two segments of HTTP message headers with different lifetimes and combining them to form a single response header |
GB9620082D0 (en) | 1996-09-26 | 1996-11-13 | Eyretel Ltd | Signal monitoring apparatus |
US6473404B1 (en) * | 1998-11-24 | 2002-10-29 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
US6016307A (en) | 1996-10-31 | 2000-01-18 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
US6049543A (en) * | 1996-12-27 | 2000-04-11 | Motorola, Inc. | Transcoder for use in an ATM-based communications system |
JP3213697B2 (ja) * | 1997-01-14 | 2001-10-02 | 株式会社ディジタル・ビジョン・ラボラトリーズ | 中継ノードシステム及び同システムにおける中継制御方法 |
US6032190A (en) * | 1997-10-03 | 2000-02-29 | Ascend Communications, Inc. | System and method for processing data packets |
US6157644A (en) * | 1997-10-07 | 2000-12-05 | Northern Telecom Limited | Method and apparatus for accelerating OSI layer 3 routers |
US5948079A (en) * | 1997-12-19 | 1999-09-07 | Advanced Micro Devices, Inc. | System for non-sequential transfer of data packet portions with respective portion descriptions from a computer network peripheral device to host memory |
US6401171B1 (en) * | 1998-02-27 | 2002-06-04 | Cisco Technology, Inc. | Method and device for storing an IP header in a cache memory of a network node |
US6430196B1 (en) | 1998-05-01 | 2002-08-06 | Cisco Technology, Inc. | Transmitting delay sensitive information over IP over frame relay |
DE19841038C2 (de) * | 1998-09-09 | 2003-01-09 | T Mobile Deutschland Gmbh | Verfahren zur Behandlung verkehrsbezogener Vermittlungsdaten in Vermittlungsknoten von Kommunikationsnetzen |
US6771642B1 (en) | 1999-01-08 | 2004-08-03 | Cisco Technology, Inc. | Method and apparatus for scheduling packets in a packet switch |
US6366961B1 (en) * | 1999-03-03 | 2002-04-02 | Nokia Telecommunications, Oy | Method and apparatus for providing mini packet switching in IP based cellular access networks |
AU6089700A (en) * | 1999-07-13 | 2001-01-30 | Alteon Web Systems, Inc. | Apparatus and method to minimize incoming data loss |
US6347347B1 (en) * | 1999-07-15 | 2002-02-12 | 3Com Corporation | Multicast direct memory access storing selected ones of data segments into a first-in-first-out buffer and a memory simultaneously when enabled by a processor |
US8300534B2 (en) | 2000-05-24 | 2012-10-30 | Alcatel Lucent | Programmable packet processor with flow resolution logic |
US7075926B2 (en) * | 2000-05-24 | 2006-07-11 | Alcatel Internetworking, Inc. (Pe) | Programmable packet processor with flow resolution logic |
US6735207B1 (en) | 2000-06-13 | 2004-05-11 | Cisco Technology, Inc. | Apparatus and method for reducing queuing memory access cycles using a distributed queue structure |
US6850980B1 (en) | 2000-06-16 | 2005-02-01 | Cisco Technology, Inc. | Content routing service protocol |
JP4822598B2 (ja) * | 2001-03-21 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | キャッシュメモリ装置およびそれを含むデータ処理装置 |
US6985974B1 (en) | 2002-04-08 | 2006-01-10 | Marvell Semiconductor Israel Ltd. | Memory interface controller for a network device |
US6892285B1 (en) * | 2002-04-30 | 2005-05-10 | Cisco Technology, Inc. | System and method for operating a packet buffer |
US20040199727A1 (en) * | 2003-04-02 | 2004-10-07 | Narad Charles E. | Cache allocation |
US20050100019A1 (en) * | 2003-11-10 | 2005-05-12 | Sahita Ravi L. | Rule based packet processing engine |
US7404040B2 (en) * | 2004-12-30 | 2008-07-22 | Intel Corporation | Packet data placement in a processor cache |
US8902890B2 (en) | 2011-05-27 | 2014-12-02 | International Business Machines Corporation | Memory saving packet modification |
US9047417B2 (en) | 2012-10-29 | 2015-06-02 | Intel Corporation | NUMA aware network interface |
US10684973B2 (en) | 2013-08-30 | 2020-06-16 | Intel Corporation | NUMA node peripheral switch |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4910731A (en) * | 1987-07-15 | 1990-03-20 | Hitachi, Ltd. | Switching system and method of construction thereof |
JP2667868B2 (ja) * | 1988-04-06 | 1997-10-27 | 株式会社日立製作所 | セル・スイッチング・システム |
NL8801120A (nl) * | 1988-04-29 | 1989-11-16 | At & T & Philips Telecomm | Kruispuntschakelaar voor het doorschakelen van pakketten. |
US5101402A (en) * | 1988-05-24 | 1992-03-31 | Digital Equipment Corporation | Apparatus and method for realtime monitoring of network sessions in a local area network |
DE3823878A1 (de) * | 1988-07-14 | 1990-01-18 | Philips Patentverwaltung | Koppelfeld fuer ein vermittlungssystem |
EP0375807A1 (de) * | 1988-12-30 | 1990-07-04 | Hans Binder | Verfahren und Vorrichtung zur Herstellung von Holzlammellen aus Schnittholz |
JP2860661B2 (ja) * | 1989-03-14 | 1999-02-24 | 国際電信電話 株式会社 | Atm交換機 |
GB8915137D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
GB8915135D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
CA2015514C (en) * | 1989-08-22 | 1996-08-06 | Mitsuru Tsuboi | Packet switching system having bus matrix switch |
-
1991
- 1991-10-04 US US07/771,769 patent/US5398245A/en not_active Expired - Lifetime
-
1992
- 1992-09-22 WO PCT/US1992/007950 patent/WO1993007692A1/en active IP Right Grant
- 1992-09-22 JP JP50693093A patent/JP3286320B2/ja not_active Expired - Fee Related
- 1992-09-22 DE DE69228758T patent/DE69228758T2/de not_active Expired - Fee Related
- 1992-09-22 EP EP92921294A patent/EP0606368B1/de not_active Expired - Lifetime
- 1992-09-22 AU AU27563/92A patent/AU2756392A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP0606368B1 (de) | 1999-03-24 |
JPH07501189A (ja) | 1995-02-02 |
DE69228758D1 (de) | 1999-04-29 |
EP0606368A4 (en) | 1995-10-11 |
JP3286320B2 (ja) | 2002-05-27 |
US5398245A (en) | 1995-03-14 |
WO1993007692A1 (en) | 1993-04-15 |
AU2756392A (en) | 1993-05-03 |
EP0606368A1 (de) | 1994-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69228758T2 (de) | Verfahren und vorrichtung zur paketverarbeitung | |
DE69735936T2 (de) | Seriendatenschnittstellenverfahren und vorrichtung # | |
DE69029872T2 (de) | Programmierbare Datenpaket-Pufferspeicher-Vorrangsanordnung | |
DE69233194T2 (de) | Verfahren und vorrichtung für simultane paketbus. | |
DE69810132T2 (de) | Multiport drams mit internen cache-speichern | |
DE60203057T2 (de) | Effizienter Optimierungsalgorithmus für Speichergebrauch in Netzwerkanwendungen | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3011552C2 (de) | ||
DE69031266T2 (de) | Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk | |
DE69430945T2 (de) | Schnelle Paketvermittlungsnetze | |
DE3751091T2 (de) | Übertragungsprotokoll zwischen Prozessoren. | |
DE69519117T2 (de) | Ein Rechnersystem | |
DE69031220T2 (de) | Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung | |
DE68923951T2 (de) | Hochgeschwindigkeits-Kombinierschalter mit Einzelfifo. | |
DE3222389A1 (de) | Kanalschnittstellenschaltung | |
CH626735A5 (de) | ||
DE69033412T2 (de) | Datenübertragungssteuervorrichtung für Parallelverarbeitungssysteme | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE60014178T2 (de) | Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung | |
DE69837581T2 (de) | Vorrichtung und Verfahren zur wahlweisen Versorgung von Datenpaketen zwischen Medienbereichen in einem Netz-Repeater | |
DE60305560T2 (de) | Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk | |
DE69222485T2 (de) | Datenspeicherungssystem für eine Übertragungssteuerungsschaltung | |
DE68914577T2 (de) | Pufferspeichereinrichtung. | |
DE69132290T2 (de) | Multiplexübertragungssystem | |
DE102005040109B4 (de) | Halbleiterspeicherchip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |