DE69129851T2 - Konfigurierbare gigabit/s Vermittlunganpassungseinrichtung - Google Patents
Konfigurierbare gigabit/s VermittlunganpassungseinrichtungInfo
- Publication number
- DE69129851T2 DE69129851T2 DE69129851T DE69129851T DE69129851T2 DE 69129851 T2 DE69129851 T2 DE 69129851T2 DE 69129851 T DE69129851 T DE 69129851T DE 69129851 T DE69129851 T DE 69129851T DE 69129851 T2 DE69129851 T2 DE 69129851T2
- Authority
- DE
- Germany
- Prior art keywords
- payload
- memory
- fixed
- header
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 239000000872 buffer Substances 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000000926 separation method Methods 0.000 claims description 6
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000032258 transport Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- CLSIFQGHPQDTHQ-DTWKUNHWSA-N (2s,3r)-2-[(4-carboxyphenyl)methyl]-3-hydroxybutanedioic acid Chemical compound OC(=O)[C@H](O)[C@@H](C(O)=O)CC1=CC=C(C(O)=O)C=C1 CLSIFQGHPQDTHQ-DTWKUNHWSA-N 0.000 description 1
- 241000233805 Phoenix Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000004656 cell transport Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007723 transport mechanism 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/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
- H04L2012/5653—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
- Die vorliegende Erfindung betrifft ein Datenübermittlungssystem und bezieht sich auf ein Verfahren zur Umwandlung von anwenderspezifischen Datenübertragungsblöcken in Zellen fester Größe, z. B. ATM-Zellen (Asynchronous Transfer Mode - Asynchroner Übertragungs-Modus), so daß die Zellen fester Größe durch eine zellenbearbeitende Verschaltung transportiert werden können. Eine Hardware-Implementierung dieses Verfahrens besteht aus zwei Teilen, einem Sender und einem Empfänger, die beide Teil eines Vermittlungs-Untersystems sind, das eine Verschaltung enthält. Der Sender puffert die Anwenderdaten und segmentiert sie zu Zellen fester Länge, die durch die Vermittlung transportiert werden sollen. Der Empfängerteil setzt die Anwenderdaten bei Eingang dieser Zellen wieder zusammen.
- Mit den ständig wachsenden, zu übermittelnden Datenmengen und der zunehmenden Zahl von Datenkanälen, die unterstützt werden müssen, wird das schnelle Informationsvermitteln mehr und mehr eine wichtige Aufgabe in jedem Kommunikationsnetz. Die Netzknoten, an denen die Übertragungsleitungen (Übermitt lungs-Links) zusammengeschlossen sind, so daß Informationen zwischen ihnen ausgetauscht werden können, sind oft Ursache für Verzögerungen im Netz. Es ist daher erwünscht, Vermittlungselemente zu haben, die schnell und in der Praxis nicht- blockierend sind. Neue Möglichkeiten ergeben sich durch Verschaltungen, die mehrere Eingänge und Ausgänge verknüpfen. Die Vorteile, die in der Vermittlungstechnik gemacht wurden, ermöglichen den Aufbau von Verschaltungen für Breitband- Bänder und Hochgeschwindigkeitskommunikation.
- Diese Vermittlungen müssen unter Hochgeschwindigkeit zwei Grundfunktionen ausführen. Erstens müssen sie den bei ihren Eingängen ankommenden Verkehr mit hoher Zuverlässigkeit an die richtigen Ausgänge weiterleiten. Zweitens muß die Vermittlung mit der Ausgangskonkurrenz fertig werden, wenn der Verkehr, der gleichzeitig an zwei oder mehr Eingängen ankommt, für einen gemeinsamen Ausgang bestimmt ist.
- Beim Leitungsvermitteln ist die Konkurrenz kein Problem. Sie wird verhütet durch Benutzen eines Controllers, der die Eingänge so plant, daß Konflikte vermieden werden. Eine herkömmliche Zeit-Raum-Zeit-Vermittlung für eine leitungsvermittelte Verbindung ist angegeben im Buch "An Introduction to Digital Integrated Communication Systems" von H. Inose, University of Tokyo Press, Tokio, Japan, 1979.
- Bei der Paketvermittlung sind jedoch die an einer Vermittlung ankommenden Pakete unplanmäßig, wobei jedes eine Kopfzeile mit der Adresseninformation enthält. Ohne Koordinierung durch einen zentralen Abwickler müssen die eingegangenen Pakete gepuffert werden, um Probleme an den Ausgängen zu vermeiden. Eine beschreibende Übersicht über die hauptsächlichen neueren Aktivitäten auf dem Gebiet der Paketvermittlung wird gegeben in einem Artikel von H. Ahmadi et al., "A Survey of Modern High-Performance Switching Techniques", IEEE J. SAC, Bd. 7 Nr. 7, September 1989, S. 1091-1103. Eine typische Paketvermittlung wird beschrieben in dem Artikel "The Knockout Switch: A Simple, Modular Architecture For High-Performance Packet Switching" von Y.S. Yeh et al., XII International Switching Symposium ISS'87, Phoenix, Arizona, USA, 15.-20. März 1987, Abhandlung B 10.2, oder im Artikel "The Knockout Switch: A Simple, Modular Architecture For High-Performance Packet Switching" der gleichen Autoren, IEEE Journal on Selected Areas in Communication, Bd. SAC-5, Nr..8; Oktober 1987, S. 1274-1283. Die von Yeh et al. beschriebenen Schaltelemente beinhalten einen 'Konzentrator' zum Konzentrieren der über N Eingangsleitungen ankommenden Pakete auf eine kleinere Anzahl von L Leitungen. Ein 'Zeitraster-Server' wird benutzt, um die Pakete von den L Ausgangsleitungen entgegenzunehmen und sie in den ersten verfügbaren FIFO- Puffer abzuspeichern, der mit dem Ausgang, an den das Paket gerichtet ist, verbunden ist. L gesonderte FIFO-Puffer werden in der Konstruktion benutzt, um für den schlechtestmöglichen Fall bereitzustehen, wenn in einem Zeitschlitz L Pakete aus dem Konzentrator auftauchen. Ein weiteres Beispiel für einen Paketvermittler ist das gepufferte "Fast-Packet-Switching- Module", das in "Packet Switching Module" von W. Denzel et al., IBM Technical Disclosure Bulletin, Bd. 32, Nr. 10B, März 1990, S. 176-177 beschrieben wird. In dieser Vermittlung werden die Bestimmungskopfzeilen beim Eingang im Vermittlung von den Datenpaketen abgetrennt. Diese Pakete werden dann unter einer spezifischen Adresse in einem Paketpufferspeicher gespeichert und dann läuft diese Pufferadresse durch die Steuersektion des Paketvermittlungsmoduls. Am Ausgang der Vermittlung wird die Pufferadresse benutzt, um das Datenpaket aus dem Paketpufferspeicher zu holen.
- In der Europäischen Patentanmeldung EP-A-0355797 wird ein Signalisierungsgerät zur Verwendung in einem ATM Vermittlungssystem geoffenbart und beansprucht. Es ist das grund legende Merkmal dieses Geräts, daß die Zellenidentifizierungsinfomation von den Zellendaten (Nutzlast) getrennt bearbeitet wird.
- In der Europäischen Patentanmeldung EP-A-0299473 wird ein weiteres Vermittlungssystem angesprochen.
- Die meisten neueren Vorschläge für diese Hochleistungs-Verschaltungen beruhen auf der Grundlage des bekannten Prinzips, das als Schnellpaketvermittlung (FPS - Fast Packet Switching) bekannt ist. Wie im oben zitierten Artikel im Technical Disclosure Bulletin beschrieben, ist für diese Art Vermittlung ein hoher Grad von Parallelität, verteilte Steuerung und Streckenführung, ausgeführt auf Hardware-Ebene, erforderlich. Zur Verwendung solcher Vermittlungen in Kommunikationsnetzen müssen die Daten an die zugrundeliegende Zellenstruktur der Vermittlung angepaßt werden.
- Das oben angezogene Paketvermittlungsmodul transportiert Daten in Zellen fester Länge von den Eingängen zu den Ausgängen. Ein Beispiel für eine Zelle fester Länge ist eine ATM-Zelle bestehend aus einer Kopfzeile und einem Zellendatenfeld. Zum Einsetzen dieser Vermittlung in unterschiedlichen Systemen muß ein Adapter benutzt werden, der die vom Anwender gesendeten Datenblöcke durch die Vermittlung schickt.
- Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Umwandeln der Anwender-Datenblöcke zu Zellen fester Länge und zum Neuaufbau der Zellen fester Länge zu den ursprünglichen Anwender-Datenblöcken. Daten, die von einem Anwender gesendet werden, werden zu Zellen fester Länge segmentiert, wie von der Verschaltung gefordert, durch die Vermittlung geschickt und am Ausgang wieder zusammengebaut werden. Eine Hardware- Implementierung dieses Verfahrens, wie nachstehend beschrie ben, beinhaltet zwei Teile, genannt Sender und Empfänger. Dieser Sender empfängt Anwenderdaten, segmentiert sie zu Zellen fester Länge, und sendet sie zur Verschaltung. Diese Zellen fester Länge werden durch die Vermittlung geschickt und vom Empfänger aufgenommen, der die Zellen wieder zu Anwenderdatenblöcken zusammenbaut. Der Sender, die Verschaltung und der Sender sind Teile eines Vermittlungs- Untersystems, so daß der Anwender Anwenderdatenblöcke an die Vermittlung sendet, ohne den zugrundeliegenden Transportmechanismus zu kennen.
- Der Anmelder kennt kein Verfahren auf dem Stand der Technik, das sich auf Hochgeschwindigkeitsprotokolladapter für Paketvermittlung oder Verschaltungen bezieht.
- Die Hauptaufgabe der vorliegenden Erfindung ist das Vorsehen eines Verfahrens zum Umwandeln der anwenderspezifischen Datenblöcke in Zellen fester Länge, wie von einer Vermittlung gefordert, sowie auf der anderen Seite Umwandeln von Zellen fester Länge in anwenderspezifische Datenblöcke.
- Eine weitere Aufgabe ist die Implementierung des Verfahrens in einem Adapter für Hochgeschwindigkeitskommunikation.
- Die Erfindung in nachstehender Beschreibung gemäß den entsprechenden Ansprüchen löst diese Aufgaben durch Vorsehen der Abtrennung der Kopfzeile mit den Steuerinformationen von der Nutzlast, so daß beide Teile parallel bearbeitet werden können. Durch fliegende Bearbeitung der Kopfzeile wird eine Speichersektion für die Nutzlast innerhalb einer festen Anzahl von Taktzyklen zuordenbar.
- Nachstehend wird die Erfindung anhand der nachstehenden Zeichnungen detailliert beschrieben.
- Fig. 1 zeigt ein globales Blockschaltbild eines Vermittlungsuntersystems, enthaltend eine Hardware-Implementierung der vorliegenden Erfindung.
- Fig. 2A zeigt ein detailliertes Blockschaltbild des Senderteils eines Protokolladapters.
- Fig. 2B zeigt ein detailliertes Blockschaltbild des Empfängerteils eines Protokolladapters.
- Fig. 3 zeigt Zellen fester Länge mit Kopfzeilen fester Länge.
- Fig. 4 zeigt ein detailliertes Blockschaltbild des Empfängerteils des Protokolladapters.
- Fig. 5 ist ein Schemadiagramm der inneren Datenstruktur des Kopfzeilen-Prozessors.
- Fig. 6 zeigt ein Zeitdiagramm eines Neuabgleichs und ein Beispiel für ein Pipelineregister.
- Fig. 7A-C zeigen ein Kopfzeilen-Prozessor-Zyklusdiagramm.
- Aufgabe der nachstehend in näheren Einzelheiten beschriebenen Adapter ist der Transport von Datenblöcken, nachstehend als Anwenderblöcke bezeichnet, wie aus dem CRMA (Cyclic Reservation Multiple Access) oder OC24/48 (Optical Channel 1,2/2,4 Gb/sec Optical Connection Standard) durch eine Vermittlung unter Verwendung des zugrundeliegenden Zellentransport-Mechanismus. Diese Vermittlungen erfordern, daß Daten in einem festen Zellenformat gesendet werden, und die Adapter führen die Segmentierung der Anwenderblöcke zu Zellen fester Größe sowie den umgekehrten Wiederaufbauprozeß durch. Adapter, die z. B. für CRMA konfiguriert oder programmiert sind, wandeln die Anwenderblöcke, die aus dem CBMA-Netz kommen, in Zellen fester Länge um, wonach diese durch die Verschaltung über den Leitweg geschickt und von einem Empfängeradapter empfangen werden, der nicht unbedingt mit der gleichen Art Netz (CRMA) als Senderadapter verbunden sein muß.
- Ein Adapter besteht aus einem Sender- und einem Empfängerteil und ist mit einer Vermittlung über eine Eingangs/Ausgangsleitung verbunden. Mehrfachadapter können mit einer Verschaltung verbunden sein.
- In Fig. 1 ist ein Blockschaltbild eines Vermittlungsuntersystems 10 dargestellt. Dieses System enthält ein Verschaltungselement 11 mit 6 Eingangs- und 6 Ausgangsleitungen. Nicht dargestellte Anwender sind über die Sendeteile 12.1 - 12.6 der Adapter an die Eingangsleitungen des Verschaltungselements 11 angeschlossen. Die Empfängerteile 13.1-13.6 sind an die Ausgangsleitungen der Vermittlung 11 angeschlossen. Im gezeigten Blockschaltbild werden die an den Eingangsleitungen (IN1) ankommenden Anwenderblöcke vom Sender 12.1 in Zellen fester Länge segmentiert, die durch die Verschaltung zum Ausgang 14.1 geleitet werden. Anwenderblöcke auf dem Eingang (IN6) werden vom Sender 12.6 segmentiert und an den gleichen Ausgang 14,1 geschickt. Der an diese Ausgangsleitung angeschlossene Empfänger 13.1 setzt die Anwenderblöcke wieder zusammen und schickt sie über die Ausgangsleitung (OUT1) an die entsprechenden Empfänger der Daten.
- Die Grundfunktionen einer Adapter-Implementierung auf der Grundlage des erfindungsgegemäßen Verfahrens sind nachstehend aufgelistet:
- - Segmentierung und Wiederzusammenstellung,
- - Fehlererfassung und Wiederherstellung,
- - Unterstützung von Anwenderblöcken unterschiedlicher Priorität,
- - Datenpuffern,
- - Pufferverwaltung,
- - Unterstützung multipler virtueller Kanäle.
- Die nachstehende Beschreibung einer ersten Ausführungsform der vorliegenden Erfindung konzentriert sich in der Hauptsache auf den Empfängerteil eines Adapters. Der Senderteil arbeitet in analoger Form wie der Empfänger, wie anhand der Fig. 2A und 2B illustriert wird. Von einem Anwender herkommende Datenblöcke werden im Pufferspeicher 24' abgespeichert. Die Absendewarteschlangen 28,1' und 28.2' enthalten Zeiger auf zu sendende Anwenderblöcke. Der Kopfzeilenprozessor 22' liest einen Zeiger aus der Absenderwarteschlange (unter Berücksichtigung jeder erforderlichen Prioritätsregel) und läßt das Senden der entsprechenden Datenblöcke anlaufen, wie nachstehend beschrieben. Die im Pufferspeicher 24' gespeicherten Datenbytes werden in eine Pipeline-Neuabgleicheinheit 23' gelesen. Eine Zelle fester Größe wird gebildet durch Voranstellen einer festen Anzahl Datenbytes mit einer Kopfzeile, die vom Kopfzeilenprozessor 22' herkommt. (Das geschieht durch eine Kopfzeilen-Einschubeinheit 23.2', Teil von 23'). Eine geeignete Implementierung des Kopfzeilenpro zessors 22' kann die Unterbrechung eines Datenblocks, der eben gesendet wird, durch einen Datenblock höherer Priorität ermöglichen.
- Die erste Ausführungsform ist ein universeller und programmierbarer Hochgeschwindigkeits-Protokolladapter (im Gigabit/s-Bereich) für eine Verschaltung. Nachstehend werden vier neue Grundsätze für einen solchen Adapter beschrieben. Der erste Grundsatz ist die Trennung von Protokolldaten und Steuerzellen, die eine Trennung der Daten und Steuersignale in Hardware unterstützt. Der zweite Grundsatz ist die fliegende Verarbeitung von Zellen, wenn keine Fehler gefunden werden. Der dritte Grundsatz ist die Unterstützung von Anwenderblöcken unterschiedlicher Prioritäten durch Halten der Adressen, wo diese Daten in zusätzlichen Warteschlangen gepuffert sind, und der letzte Grundsatz ist die Programmierbarkeit des Adapters. Nicht nur dessen Steuerprozessor, sondern auch verschiedene Hardwarestrukturen sind programmierbar.
- Die Trennung von Nutzlast und Steuerinformationen, die eines der grundlegenden Prinzipien ist, wird erzwungen durch Definieren der Datenmodus-Operationen. Diese sind Operationen, die im Datenübertragungszustand ausgeführt werden, wenn keine Fehler auftreten. Verbindungs-Setup, negative Bestätigungen und Steuerzellen usw. sind nicht Teil dieses Datenmodus-Zustands, während positive Bestätigungen Teil desselben sind.
- Die Fig. 2A und 2B zeigen die grundsätzliche Architektur der Vermittlungsadapter-Hardware 20, 21 der ersten Ausführungsform. Die ankommenden Zellen fester Länge, die von der Verschaltung über die Eingangsleitung 14.1 ankommen, werden fliegend verarbeitet, und die Parameter in den Zellenkopfzeilen werden herausgezogen und an den Kopfzeilenprozessor 22 geschickt. Die Trennung Kopfzeile/Daten erfolgt in einem DEMUX/Kopfzeilen-Auszugsteil 23.1, 23.2 der Einheit 23. Die Parameter werden über Verbindungsleitungen von der Kopfzeilen-Auszugseinheit 23.2 zum Kopfzeilenprozessor 22 geschickt. Das Zellendatenfeld, das hier Zellennutzlast genannt wird, fließt weiter über den Neuabgleich/Pipeline-Teil 23.3, 23.4 der Einheit 23 in den Puffer eines gemeinschaftlich genutzten Speichers 24. Die Adresse eines entsprechenden Puffers wird generiert vom Kopfzeilenprozessor 22 in Kombination mit Zeiger-Warteschlangen 25. Während die, Zellennutzlast neu ausgerichtet und verzögert wird, nachdem sie von der Kopfzeile mit ihren Steuerdaten abgetrennt ist, wird die Pufferadresse generiert. Der Kopfzeilenprozessor 22 schaltet die DEMUX-Einheit 26 über die Anwahlleitung 27 so, daß die Zellennutzlast gespeichert werden kann durch Anwenden der Pufferadresse auf den Speicher 24.
- Die Pufferadressen werden in die Zeigerwarteschlangen (PTR Q's) 25 gegeben gemäß der Pufferverwaltung, die in der angegebenen Europäischen Patentanmeldung beschrieben ist. Jeder virtuelle Kanal wird durch zwei PTR Qs unterstützt, jeweils einer für jede Verkehrspriorität, wo die von den virtuellen Kanälen zugeteilten Pufferadressen gespeichert sind. Auf die gepufferten Daten eines virtuellen Kanals kann zugegriffen werden durch Lesen der Adressen der entsprechenden Warteschlange, so daß diese Daten an einen Adressaten, d.i. Anwender geschickt werden können. Wenn ein Datenblock, bestehend aus Mehrfachzellen, vollständig eingegangen ist, wird in eine Ankunftswarteschlange ein Eintrag gemacht. In Fig. 2B werden zwei Ankunftswarteschlangen 28.1 und 28.2 gezeigt, die Datenblöcke unterschiedlicher Priorität unterstützen. Dieser Eintrag enthält einen Index, welcher PTR Q benutzt wird, so daß die Adressen abgerufen werden, wo der Datenblock in den Speicherpuffern 24 gespeichert ist. Über die unterschiedlichen Ankunftswarteschlangen 28.1, 28.2 unterstützt der Adapter unterschiedliche Verkehrsprioritäten.
- Der Verkehrstyp (z. B. RESERVED vs. NON-RESERVED) legt fest, in welcher Ankunftswarteschlange der Eintrag gemacht werden muß.
- Die obengenannte Neuabgleich/Pipeline-Einheit 23.3, 23.4 ordnet die Daten neu und verzögert sie, so daß die Zellennutzlast mit dem Speicherbus ausgerichtet wird, um eine Verschwendung von Speicherplatz zu vermeiden, und damit der Kopfzeilenprozessor Zeit hat, die Adresse der angeforderten Puffer zu generieren. Die neu zusammenzustellenden Anwenderdatenblöcke werden in der Reihenfolge ihrer gegebenen Prioritäten bearbeitet durch Benutzen der Einträge in den Ankunftswarteschlangen 28.1, 28.2. Die Daten in den Datenblöcken werden zusammen mit der Vermittlungsquellenadresse auf die Leitungen 29, 30 gelegt. Bevor diese Daten am Ausgang 29 zur Verfügung stehen, sendet der Kopfzeilenprozessor 22 Steuerinformationen über die Leitung 31 an den Adressaten. Zum Lesen der Daten, die in einem Anwender-Datenblock neu zusammengestellt werden müssen, werden die Adressen der Puffer, in denen die Daten abgespeichert sind, aus der betreffenden Warteschlange (PTR Q) genommen. Die eingegangene Zellennutzlast, die an einen Bestimmungsort geschickt werden soll, kann als Teil einer Mehrfachzelle fester Länge eingegangen sein. Die Nutzlast dieser Zellen wird in verschiedenen Speicherabschnitten (zugeordneten Puffern) gespeichert. Zum Neuaufbau eines Anwenderdatenblocks werden diese gestreuten Nutzlasten aus den verschiedenen zugeordneten Puffern gelesen durch Entnehmen ihrer Adressen aus den entsprechenden PTR Q. Diese Zeigerverwaltung ist für die Umgebung durchsichtig.
- Die Mikroprozessor-Schnittstelle 32 und der Steuermikroprozessor 33 des Empfängers 20 und des Senders 21 sind über einen Bus 34 verbunden, so daß Meldungen zwischen dem Empfänger und dem Sender fließen können. Das ist z. B. nötig für den Fall, daß ein Sendewiederholbefehl beim Empfänger 20 eingeht, der vom Sender 21 ausgeführt werden muß.
- Die Größe einer Zelle fester Länge ist in der Regel weniger als 100 Bytes. In der vorliegenden Erfindung werden die Größe der Zelle fester Länge und die Position und Größe der verschiedenen Steuerfelder in der Zelle so gewählt, daß die Hardware-Komplexität auf einem Minimum gehalten wird. Z. B. haben alle Felder in der Zellenkopfzeile einen festen Platz und eine feste Größe über alle möglichen Zellen, die im TYPE- Feld 40 codiert sind. Das schließt verschiedene Multiplexer und ihre Steuerung in der Hardware aus. Die Zellengröße von 60 Bytes ermöglicht eine leichte Implementierung des Adapters mit einer Hardware-Busbreite von 1, 2, 3, 4, 5 oder 6 Bytes. Einzelheiten der gewählten Zellenstruktur sind anhand von Fig. 3 beschrieben. ATM-kompatiblen Zellen 84 fester Länge sowie allen anderen Zellen 35 fester Länge, die benutzt werden, geht eine Kopfzeile fester Länge 36.1, 36.2 mit einer Länge von 7 Bytes voraus. Alle Zellen 35 fester Länge, mit Ausnahme der ATM-kompatiblen Zellen 84, haben ein CRC (Cyclic Redundancy Check - zyklische Blockprüfung) Byte 37 an ihrem Ende. Diese Prüfung am Ende jeder Zelle verbessert die Fehlererfassung der Datenübertragung. Der untere Teil in Fig. 3 zeigt eine beispielhafte Kopfzeile, der für die erste Ausführungsform geeignet ist. In diesem Fall wird eine Dreistufenvermittlung durch die Adressenbits 38.1, 38.2, 38.3 (ADDRESS 0, ADDRESS 1, ADDRESS 2) unterstützt. In diesen Adressenfeldern 38.1, 38.2, 38,2 steht die Zieladresse. Der virtuelle Kanalidentifikator wird im VCID-Feld 39 übertragen. Der Steuerabschnitt der Kopfzeile 36.1, 36.2 enthält ein Typfeld 40, das den Typ der Zelle angibt. Das Typfeld 40 kann die folgenden Größen haben:
- - CONTROL (Steuerung)
- - FIRST (erste)
- - MIDDLE (mittlere)
- - LAST (letzte)
- - ONLY (einzig)
- - ATM (Asynchroner Übermittlungsmodus)
- Dieses Typfeld in der Kopfzeile läßt das Unterscheiden zwischen Steuer- und Datenzellen zu zwecks Ermöglichung des beschriebenen Datenmodus-Mechanismus zu. Die Felder 41-44 der Kopfzeile 36.1, 36.2 unterstützen Datenblöcke, die unterschiedliche Priorität haben, ermöglichen das Erfassen verlorener Zellen auf der Empfängerseite, und steuern den Empfang von Zellenblöcken. Das Steuerpaket ermöglicht es dem Segmentierungsadapter, ohne Unterbrechung des normalen Datenflusses mit einem Steuerpunkt zu kommunizieren. Die ATM- Zellen 84 können transparent übermittelt werden mit dem Typfeld 40, das auf ATM gestellt ist. In diesem Falle führt der Adapter keine zyklische Blockprüfung durch (ATM hat seine eigene CRC) und aus Redundanzgründen kann das Typfeld 40 im Längenfeld 41 dupliziert werden. Im ATM-Fall sind alle anderen Steuerfelder unbenutzt.
- Der Empfängerteil der vorliegenden Ausführungsform wird anhand der Fig. 4 beschrieben. Die Einheiten Kopfzeilenprozessor 45, CRC-Prüfer 46 und Daten-Pipeline/Neuabgleichung 47 führen die fliegende Verarbeitung durch, die im Daten- Modus verlangt ist. Für Operationen außerhalb des Daten-Modus wird der Steuerprozessor 48 benutzt. Wie bereits gesagt, sind die Einheiten Steuerprozessor 48, Zustandsmaschinen/Ablaufsteuerung 49, Kopfzeilenprozessor 45, CRC-Prüfer 46 und Daten-Pipeline/Neuanordnung 47 programmierbar. Die drei letzteren Einheiten 45, 46, 47 sind jedoch keine Von-Neumann- Maschinen, sondern Register, Zähler FIFOs und Zustandsmaschinen, für die die Strukturen bei der Konfiguration über den Programmherunterladebus 50 heruntergeladen werden. Der Steuerprozessor 48 ist jedoch eine stärker klassische Von- Neumann-Maschine, die zum Implementieren der Protokollgrundelemente optimiert werden kann. Das Steuerprogramm für den Steuerprozessor 48 ist im Steuerprogramm-RAM 51 (Random Access Memory -Direktzugriffsspeicher) abgespeichert. Die Programmierbarkeit dieser fünf Einheiten 45-49 läßt eine Implementierung verschiedener Protokolle mit einem Adapter zu.
- Zum Erreichen einer hohen Geschwindigkeit wird das Prinzip der minimalen Datenkopierung angewandt, was dazu führt, daß nur ein Schnellspeicher 52 zur Datenspeicherung erforderlich ist. Ferner wird ein einfacher, aber wirksamer Algorithmus zur Verwaltung der Zuteilung und Freigabe von Speicherbereichen benutzt, der nachstehend als Pufferverwaltung bezeichnet wird.
- Eine Zelle 84, 35, wie in Fig. 3 gezeigt wird, kommt im Empfängerteil des Adapters an und wird in der Vermittlungskarten-Schnittstelle 53 von seriell zu parallel umgewandelt. Die ganze Kopfzeile wird über einen internen 6-Byte-(48 Bit)- Datenbus 54 in den Kopfzeilenprozessor 45 eingespeist, und die Zellennutzlast wird in die Daten-Pipeline- und Neuabgleich-Einheit 47 eingetaktet.
- Multiple virtuelle Kanäle werden unterstützt mit einer Datenstruktur für jeden virtuellen Kanal in Hardware-Registern in der Kopfzeilenprozessoreinheit 45, gezeigt in Fig. 5. Diese Figur ist beispielhaft zum Illustrieren des Prinzips. Die Adressen- und VCID-Felder in der Kopfzeile werden in das Arbeitsregister 55 getaktet (unten links in Fig. 5) und das wird verglichen mit jedem Eintrag im Kopfzeilenprozessor 45. Daher wird ein inhaltadressierbarer Speicher 56 (CAM) angewandt. Wenn der Eintrag nicht gefunden wird, wird in diesen CAM 56 ein neuer Eintrag generiert. Wenn im CAM 56 kein Platz mehr ist, wird die Zelle ausgeschieden und der Steuerprozessor 48 erhält eine Meldung.
- Wenn ein neuer CAM-Eintrag generiert wird, werden Standardwerte in das Arbeitsregister 55 eingegeben. Wenn der CAM- Eintrag existiert hatte, wird der gesamte interne Zustand des virtuellen Kanals in das Arbeitsregister 55 eingetaktet. Der Wert der Steuerfelder der Zelle wird überprüft, wobei der Zustand des virtuellen Kanals in ein Zustandsfeld des CAM 56 eingespeichert wird. Das Zustandsfeld enthält den Zustand des virtuellen Kanals, und der nächste Zustand wird mit einem endlichen Automaten, der Teil des Kopfzeilenprozessors 45 ist, in einer festen Anzahl Taktzyklen berechnet. Wenn der Zustand des virtuellen Kanals den Empfang von Daten zuläßt und die Zelle wirklich Daten enthält, dann stellt der Puffer- Manager (im Kopfzeilenprozessor 45) sicher, daß genug Pufferspeicherplatz im Pufferspeicher 52 vorhanden ist. Das geschieht in einer festen Anzahl Taktzyklen. Abschließend gesagt, nach einer festen Anzahl Taktzyklen wählt der Kopfzeilenprozessor 45 den Pufferspeicher 52 und zeigt die Adresse, an der die Zellendaten gespeichert werden sollen. Diese Anzahl fester Zyklen ist gleich oder kleiner als die Anzahl der Zyklen, um eine Zelle über den Adapter-internen Bus 54 zu transportieren. Wenn der Puffer-Manager eine Anforderung nach einem Puffer nicht erfüllen kann oder aufgrund verschiedener Pufferzuteilungsregeln nicht erfüllen will, kann die eingehende Zelle im Pufferspeicher nicht gespeichert werden und wird verworfen. Der Steuerprozessor 48 erhält eine entsprechende Meldung.
- Der Datenteil einer Zelle, in Fig. 3 Nutzlast genannt, wird in die Daten-Pipeline/Neuabgleicheinheit 47 getaktet. Der Betrieb dieser Einheit wird anhand der Fig. 6 beschrieben. Eine Zelle fester Länge 70 wird oben in dieser Figur dargestellt. Die Zelle 70 unterteilt sich in eine Anzahl Buszyklen, wie direkt darunter gezeigt wird. Im ersten Zyklus wird der erste Teil der Kopfzeile 71 wird in die Pipeline/ Neuabgleicheinheit 47 eingetaktet. Dieser Teil wird durch 'A' gekennzeichnet. Der zweite Buszyklus enthält die Nutzlast 72, aber nicht alle Bits auf dem internen Datenbus 54 sind Nutzlast. Der Rest der Kopfzeile 71, gekennzeichnet durch 'B', wird in den Kopfzeilenprozessor 45 eingespeist. Der Nutzlast enthaltende Teil 'C' wird in das Neuabgleich-Register 73 eingetaktet. Die nächsten zwei Buszyklen enthalten nur Nutzlast 72, so daß die Teile 'D-G' über das Neuabgleich- Register 73 in die Pipeline 74 eingetaktet werden. Jedesmal wenn Nutzlast in dieses Register 73 eingetaktet wird, wird die laufende, dort gespeicherte Nutzlast in die Pipeline 74 geschoben. Der Zweck dieses Pipelineteils 74 ist das Ausrichten der Nutzlast 72 nach dem Pufferspeicher 52, nachdem die Nutzlast 72 und die Kopfzeile 71 getrennt sind. Zusätzlich verzögert dieser Teil 74 die Daten für diesen Speicher 52, so daß der Kopfzeilenprozessor 45 Zeit hat, die Adresse zu generieren. Die Grenze zwischen dem linken und dem rechten Teil des Pipeline-Registers 74 ist programmierbar, sowie auch die Tiefe der Pipeline 74.
- Der nachfolgende Abschnitt zeigt Einzelheiten des erfindungsgemäßen Neuaufbaumechanismus. Für Neuaufbauzwecke bewahrt eine Zustandsmaschine, die im Kopfzeilenprozessor angeordnet ist, für jeden virtuellen Kanal einen Satz Zustandsvariabler, wie in Fig. 5 beispielhaft dargestellt ist. Die Zustandsmaschine hat die folgenden Zustände:
- - 1. ) done (fertig)
- - 2. ) wait_next (auf nächste Eingabe warten)
- - 3. ) buf_full (Puffer voll)
- - 4. ) end (Ende)
- Ferner erinnert ein Fehler-Flag (err_fl - error flag) an das Auftreten von Fehlern während der Neuabgleichung Diese Fehler sind: CRC error (Cyclic Redundancy Check, überprüft Übertragungsfehler), cell sequence error (überprüft die Aufeinanderfolge der Zellen, die die Anwenderblöcke bilden) und buffer memory full (Pufferspeicher voll). Eine Steuerzelle beeinflußt den Zustand des virtuellen Kanals nicht. Diese Zellen werden an den Protokoll-Datenelement-Speicher 55 gerichtet, wie in Fig. 4 dargestellt wird. Auch ATM-Zellen beeinflussen die Zustandsmaschine nicht, weil kein Neuaufbau erforderlich ist. Diese Zellen werden unverändert im Pufferspeicher 52 abgespeichert.
- Nehmen wir an, der virtuelle Kanal ist im Zustand 1 (done). In diesem Fall tritt er jetzt in Zustand 2 (wait_next) ein, wenn er eine Erste-Zelle empfängt, oder er tritt in den Zustand 4 (end) ein, wenn er eine Einzige-Zelle empfängt, die eine Einzelzelle ist. Im Zustand 1 werden mittlere oder letzte Zellen ohne weitere Aktion ausgeschieden. Wenn eine Zelle einen CRC-Fehler hat, der erst am Ende der Zelle erkannt wird, wird das Fehler-Flag (Err-flg) auf binär '1' gesetzt. Die Blockfolgenummer, gegeben in Feld 43 (SEQ), gezeigt in Fig. 3, wird geprüft, aber ein Fehlvergleich in einer Ersten Zelle wird das Fehler-Flag nicht setzen, sondern vielmehr eine Meldung 'Block fehlt' an den u-Prozessor 48 (u- Prozessor 33 in Fig. 2A ist gleich u-Prozessor 48 in Fig. 4) generieren. In Mittel- und Endzellen wird eine falsche Blockfolgenummer das Fehler-Flag setzen.
- Nach Erhalt einer Ersten Zelle wird die Zellenzählung auf Null gesetzt und die Folgenummer im virtuellen Kanal-Steuerregister des virtuellen Kanals wird auf den Wert des SEQ- Felds 43 der empfangenen Zelle gesetzt. Wenn eine Mittelzelle eingeht, wird der Zustand 2 (wait_next) beibehalten, und wenn eine letzte Zelle eingeht, wird der Zustand 4 (end) eingegeben.
- Zum Speichern der Anwenderdaten des Nutzlastfelds einer Zelle im Pufferspeicher 52, werden Pufferverwaltungsfunktionen durchgeführt. Falls die Pufferverwaltung festlegt, daß kein weiterer Platz zum Abspeichern von Daten vorhanden ist, wird Zustand 3 (buf_full) nach dem Eingang einer ersten, mittleren oder letzten Zelle eingegeben. Das bewirkt, daß auch das Fehler-Flag gesetzt wird. Wenn das Fehler-Flag gesetzt wird, bewirkt das Vollmachen eines Blocks, daß eine Meldung an den u-Prozessor 48 geschickt wird. Ein Block ist voll, wenn Zustand 4 (end) eingegeben ist oder wenn im Zustand 2 (wait_next) eine Erste- oder Einzige-Zelle eingeht, bewirkt durch eine fehlende letzte Zelle.
- Die Taktzyklen des Kopfzeilenprozessors 45 der ersten Ausführungsform, der einen 6-Byte-Datenbus 54 aufweist, werden in Fig. 7 gezeigt. Wegen dieses Datenbusses 54 muß eine Zelle mit 60 Bytes zum Transport über den Bus 54 in 10 Buszyklen aufgeteilt werden. Verschiedene Aktionen müssen ausgeführt werden, aber in Abhängigkeit vom augenblicklichen und vom nächsten Zustand eines virtuellen Kanals dürfen bestimmte Aktionen nicht ausgeführt werden. Aber Buszyklen für alle möglichen Aktionen müssen zugeteilt werden, für den Fall, daß sie ausgeführt werden müssen. Die Tabelle in den Fig. 7A-7C zeigt die Aktionen, die in den aufeinanderfolgenden Buszyklen durchgeführt werden, in Abhängigkeit vom Typ der empfangenen Zelle. In Zyklus 1 bis 3 wird die Adresse in der Zellenkopf zeile, Adressenfelder 38.1-38.3 gemäß Fig. 3, genommen, um den Zustand des virtuellen Kanals abzurufen. Im Zyklus 1 wird der Adressenteil 38.1-38.3 der Kopfzeile 36.1, 36.2, in den Kopfzeilenprozessor 45 eingetaktet. Der entsprechende Eintrag im CAM 56 wird gesucht durch Vergleichen des virtuellen Kanal-Identifikators mit den im CAM 56 abgespeicherten Einträgen. In Zyklus 3 wird der Zustand dieses virtuellen Kanals in das Arbeitsregister 55 des Kopfzeilenprozessors 45 eingetaktet. Am Ende des Zyklus 3 ist der augenblickliche Zustand des Kanals verfügbar, zusammen mit den beiden Eingängen, die von verschiedenen Feldern in den eingegangenen Zellenkopfzeilen 36.1, 36.2 gegeben werden. Das ermöglicht es, daß der Rechner in Zyklus 4 mit Kombinationslogik, wie ein programmierbares logisches Feld (PLA - Programmable Logic Array) den nächsten Zustand berechnet. In den Zyklen 4 bis 7 berechnet der Puffer-Manager, der Teil des Kopfzeilenprozessors 45 ist, die RAM-Adressen des Pufferspeichers 52. Die Adressen werden in Zyklus 8 in den RAM eingegeben. Der neue Zustand des virtuellen Kanals wird wieder in die Struktur in Zyklus 11 geschrieben.
- Dieser Zyklus 11 überschneidet sich mit Zyklus 1, das ist möglich, weil die Aktion in Zyklus 11 sich mit der in 1 nicht stört, was zu 10 Verarbeitungszyklen je Zelle führt. Das Aktualisieren des Zustands auf der virtuellen Kanalstruktur kann erst in Zyklus 11 ausgeführt werden, weil der Zustand abhängt vom Ergebnis der CRC-Prüfung. Dieses Ergebnis ist erst nach Abschluß der Aufnahme einer Zelle bekannt. Aus diesem Grund wird im Buszyklus 9 ein NOP (No Operation) ausgeführt. Die Daten werden ab diesem Zyklus in den Speicher geschrieben.
- Wenn eine Zelle verworfen werden muß, werden ganz einfach die Daten nicht in den RAM geschrieben. Das Schreiben der Daten in den RAM läuft in Zyklus 9 an, wie in Fig. 7C gezeigt wird.
- Das Schreiben der Daten in den RAM überlagert die ersten paar Zyklen des Verarbeitens der nächsten Zelle, aber das führt nicht zum Konflikt. Die gezeigte Tabelle impliziert, daß die in dieser Ausführungsform benutzte Pipeline 74, wie in Fig. 6 gezeigt wird, '9 Zyklen tief' ist, so daß die Nutzlast verzögert wird, bis die Speicheradresse generiert ist. Diese Zuordnung von Operationen an Buszyklen ist in der vorliegenden Ausführungsform so einfach als möglich gehalten.
- Mit der Pipelinebearbeitung wäre es möglich, alle diese Aktionen mit weniger Buszyklen durchzuführen, und' somit könnten auch kürzere Zellen verarbeitet werden. Der Zweck der ersten Ausführungsform ist es, darzulegen, daß das Verarbeiten mit der gleichen oder auch mit einer kleineren Anzahl Buszyklen gemacht werden kann. Auch andere, durch Anpassen der beschriebenen Protokolle an andere, oder mit Hilfe einer vereinfachten Pufferverwaltung, sind vorstellbar.
Claims (15)
1. Verfahren zum Umwandeln von Zellen fester Länge mit
Nutzlast mit vorangestellter Kopfzeile fester Größe in
anwenderspezifische Datenübertragungsblöcke, wobei die
Nutzlast und die Kopfzeile fester Größe gesondert
verarbeitet werden und das Verfahren durch die folgenden
Schritte gekennzeichnet ist:
- Legen der Zellen mit fester Länge auf einen
Parallelbus (54)
- Abtrennen der Nutzlast von der Kopfzeile fester Größe,
wobei die Nutzlast durch den Parallelbus (54) über
eine Neuabgleichseinheit (47) auf einen Pufferspeicher
(52) übertragen wird,
- gesondert Verarbeiten der Kopfzeile fester Größe zur
Bestimmung einer Speicheradresse in einem
Speicherabschnitt des Pufferspeichers (52),
- Legen von Speicheradressen für Speicherabschnitte im
Pufferspeicher (52) in Warteschlangenmittel, um
wenigstens einen virtuellen Kanal zu unterstützen,
wobei auf die Nutzlast in diesem virtuellen Kanal
durch Lesen der entsprechenden Adressen im
Warteschlangenmittel zugegriffen werden kann,
- Verschieben der Nutzlast an die Grenzen des
Parallelbusses mittels der Neuabgleichseinheit (47),
nachdem die Kopfzeile fester Größe abgetrennt wurde,
und dann
- Puffern der Nutzlast in den Speicherabschnitt des
Pufferspeichers (52), auf den über die Speicheradresse
zugegriffen werden kann.
2. Das Verfahren gemäß Anspruch 1, in dem die Zelle fester
Größe in einen anwenderspezifischen Datenblock
umgewandelt wird durch
- Verarbeiten der Kopfzeile fester Größe, die von der
Nutzlast abgetrennt wurde, während die Nutzlast über
den Parallelbus (54) übertragen wird und die Nutzlast
an die Grenzen des Parallelbusses (54) verschoben
wird, um durch Benutzen der Systemzustandvariablen des
Pufferspeichers (52) festzustellen, ob Raum im
Pufferspeicher (52) verfügbar ist,
- Benutzen der bestimmten Speicheradresse des
Speicherabschnitts zum Schreiben der Nutzlast in den
Speicherabschnitt des Pufferspeichers (52) wenn der
Raum frei ist,
und wobei die anwenderspezifischen Datenblöcke nach dem
Puffern der Nutzlast in den Speicherabschnitt generiert
werden, durch
- Lesen der Nutzlast aus dem Speicherabschnitt durch
Benutzen der Speicheradresse,
- Bilden der anwenderspezifischen Datenblöcke gemäß
einem definierten Datenübertragungsprotokoll, und
- Übertragen des anwenderspezifischen Datenblocks.
3. Das Verfahren gemäß Anspruch 2, worin die
Speicheradresse eines Speicherabschnitts bestimmt wird
nach einer festen Anzahl Buszyklen, so daß die Nutzlast,
die während der Buszyklen verzögert wurde, in dem mit
dieser Speicheradresse übereinstimmenden
Speicherabschnitt abgespeichert werden kann.
4. Das Verfahren gemäß Anspruch 2, in dem die
Speicheradressen der Speicherabschnitte in
Warteschlangen gespeichert werden, so daß die unter
diesen Speicherabschnitten gespeicherte Nutzlast
abgerufen werden kann zum Generieren der
anwenderspezifischen Datenblöcke durch
aufeinanderfolgendes Lesen der Speicheradressen der
Speicherabschnitte aus den Warteschlangen.
5. Das Verfahren gemäß Anspruch 2, in dem Zellen fester
Länge unterschiedlicher Priorität unterstützt werden
durch Speichern der Adressen der Speicherabschnitte, wo
die Nutzlast dieser Zellen fester Länge in den
entsprechenden Warteschlangen gespeichert wurde, so daß
für das Generieren der anwenderspezifischen
Speicherabschnitte die Nutzlast mit der höchsten
Priorität aus dem betreffenden Speicherabschnitt vor
einer Nutzlast mit niedriger Priorität genommen werden
kann.
6. Verfahren zum Segmentieren von anwenderspezifischen
Datenblöcken in Zellen fester Länge, wobei die Zellen
fester Länge Nutzlast tragen, die aus den
anwenderspezifischen Datenblöcken genommen wird, denen
eine Kopfzeile fester Größe vorausgeht, dadurch
gekennzeichnet, daß es die folgenden Schritte umfaßt:
- Puffern von Nutzlast der anwenderspezifischen
Datenblöcke in einem Speicherabschnitt eines
Pufferspeichers (24') unter Verwendung einer
entsprechenden Speicheradresse,
- Halten der entsprechenden Speicheradresse in einer
Warteschlange (28.1', 28.2'), so daß die Nutzlast aus
dem Pufferspeicher (24') geholt werden kann durch
Nehmen der entsprechenden Speicheradresse aus der
Warteschlange (28.1', 28.2'),
- Generieren und Verarbeiten der Kopfzeile fester Größe
gesondert und vor dem an der Kopfzeile fester Größe
hängenden Teil der Nutzlast, wobei dieser Schritt
gleichzeitig ausgeführt wird, d. h. während ein Teil
der Nutzlast aus dem Speicherabschnitt genommen wird,
- Herausnehmen eines Teils der Nutzlast aus dem
Pufferspeicher (24') unter Verwendung der
entsprechenden Speicheradresse und Einschieben der
Nutzlast in eine Zelle fester Länge, und
- Übertragen der Zelle fester Größe, bestehend aus der
Nutzlast, die an den Kopfzeile fester Größe angehängt
ist.
7. Verfahren gemäß Anspruch 6, worin die Nutzlast im
Speicherabschnitt gelesen wird durch Herausnehmen ihrer
Speicheradresse aus der Warteschlange (28.1', 28.2'),
und die Nutzlast verzögert wird durch Generieren der
Kopfzeile fester Größe, die nach einer festen Anzahl
Taktgeberzyklen dargestellt wird.
8. Verfahren gemäß Anspruch 6, worin die Nutzlast vor dem
Wiederaufbau der Zelle fester Länge auf eine Zelle
fester Länge neu abgeglichen wird, so daß die Nutzlast
direkt hinter der Kopfzeile fester Größe in die Zelle
fester Länge eingeschoben werden kann, ohne
Übertragungskapazität zu vergeuden.
9. Verfahren gemäß Anspruch 6, worin anwenderspezifische
Datenblöcke unterschiedlicher Priorität unterstützt
werden durch Abspeichern der Speicheradressen der
Speicherabschnitte, wo die einzelnen Nutzlasten in
wenigstens einer Warteschlange (28.1', 28.2')
abgespeichert sind, so daß zum Generieren der Zellen
fester Länge die Nutzlast mit der höchsten Priorität aus
dem Speicherabschnitt genommen werden kann, in den sie
gespeichert wurde durch Nehmen der Adresse des
Speicherabschnitts aus der Warteschlange (28.1', 28.2')
bevor die Speicheradresse des Speicherabschnitts der
nächsten Nutzlast mit geringerer Priorität aus der
Warteschlange (28.1', 28.2') genommen wird.
10. Gerät zum Umwandeln von Zellen fester Länge in
anwenderspezifische Datenblöcke, wobei den Zellen fester
Länge, die Nutzlast tragen, eine Kopfzeile fester Größe
vorangeht, gekennzeichnet durch:
- Mittel zur Aufnahme einer Zelle fester Größe und legen
derselben auf einen Parallelbus,
- Mittel (23) zum Abtrennen der Nutzlast von der
Kopfzeile fester Größe, die auf den Parallelbus gelegt
wird,
- einen Kopfzeilen-Bearbeiter (22), der zwecks
gesondertem Bearbeiten der Kopfzeile fester Größe an
den Parallelbus angeschlossen ist, um eine
Speicherzelle eines Speicherabschnitts in einem
Pufferspeicher (24) zu bestimmen,
- Neuabgleichmittel, um die über den Parallelbus
eingegangene Nutzlast an die Grenzen des
Parallelbusses zu verschieben,
- Mittel (23.3, 23.4) zum Verzögern des Abtrennens der
Nutzlast von der Kopfzeile fester Größe und des
Neuabgleichens bis die Speicheradresse verfügbar ist,
- Mittel (24, 26) zum Speichern der Nutzlast in einem
Speicherabschnitt des Pufferspeichers (24), auf den
über die Speicheradresse zugegriffen werden kann,
- Warteschlangenmittel (25), um die der Nutzlast
entsprechenden Speicheradresse in einer Warteschlange
zu halten,
- Mittel zum Abrufen der Nutzlast aus dem
Speicherabschnitt durch nacheinander Entnehmen der
entsprechenden Speicheradressen aus der Warteschlange
des Warteschlangenmittels (25),
- Mittel zum Aufbauen des anwenderspezifischen
Datenblocks, Übertragen der abgerufenen Nutzlast gemäß
einem gegebenen, durch die Umgebung definierten
Datenübertragungsprotokoll, und
- Mittel zum Senden der anwenderspezifischen
Datenblöcke.
11. Das Gerät gemäß Anspruch 10, ferner beinhaltend
Warteschlangenmittel (28.1, 28.2) zum Unterstützen der
Übertragung der Zellen fester Länge mit
unterschiedlicher Priorität durch Halten der
entsprechenden Speicheradresse in einer Warteschlange
der Warteschlangenmittel, so daß die Nutzlast mit
höchster Priorität aus dem Speicherabschnitt des
Pufferspeichers (24) abgerufen werden kann durch
Entnehmen einer beliebigen Speicheradresse aus der
Warteschlange vor einer beliebigen Speicheradresse der
Nutzlast mit niedrigerer Priorität.
12. Gerät zum Umwandeln anwenderspezifischer Datenblöcke,
die die Nutzlast in Zellen mit fester Länge bringen,
wobei die Zellen fester Länge einen Teil der Nutzlast
enthalten, dem eine Kopfzeile fester Größe vorhergeht,
gekennzeichnet durch:
- Mittel zum Puffern der Nutzlast in einem
Speicherabschnitt eines Pufferspeichers (24'),
- Warteschlangenmittel (28.1', 28.2') zum Halten der
Speicheradresse des Speicherabschnitts in einer
Warteschlange, die Teil der Warteschlangenmittel ist,
- ein Kopfzeilenbearbeiter (22'), der die
Speicheradresse aus der Warteschlange der
Warteschlangenmittel (28.1', 28.2') entnimmt und eine
Kopfzeile fester Größe generiert,
- Mittel zum Ausbilden der Zelle mit fester Länge durch
Anhängen eines Teils der Nutzlast, der unter
Verwendung der aus der Warteschlange entnommenen
Speicheradresse aus dem Pufferspeicher (24') abgerufen
worden war, an die Kopfzeile, und
- Mittel zur Übertragung der Zelle fester Länge.
13. Das Gerät gemäß Anspruch 12, in dem der
Kopfzeilenbearbeiter (22') eine Speicheradresse
entsprechend der Nutzlast mit der höchsten Priorität aus
der Warteschlange des Warteschlangenmittels (28.1',
28.2') vor den Speicheradressen mit Nutzlast niedrigerer
Priorität entnimmt.
14. Das Gerät gemäß Anspruch 12, das ferner eine
Neuabgleicheinheit (23') enthält zum Kopfzeilen-
Bearbeiter eines Teils der Nutzlast, die aus dem
Speicherabschnitt des Pufferspeichers (24') entnommen
wurde, bevor er an die Kopfzeile fester Größe angehängt
wird, so daß der Teil der Nutzlast direkt hinter der
Kopfzeile fester Größe in die Zelle fester Länge
eingeschoben werden kann.
15. Ein Datenübertragungsnetzwerk, das wenigstens eine
Verschaltung (11) zum Schalten von Zellen fester Länge,
das Gerät gemäß Anspruch 12 zum Umwandeln der
anwenderspezifischen Datenblöcke in die Zellen fester
Länge und zum Befördern der Zellen fester Länge auf die
Verschaltung (11), oder das Gerät gemäß Anspruch 10 zur
Aufnahme die Zellen fester Länge, die durch die
Verschaltung und durch Umwandeln der aufgenommenen
Zellen fester Länge in anwenderspezifische Datenblöcke
vor Übertragung derselben geführt werden, beinhaltet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP91810728A EP0531599B1 (de) | 1991-09-13 | 1991-09-13 | Konfigurierbare gigabit/s Vermittlunganpassungseinrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69129851D1 DE69129851D1 (de) | 1998-08-27 |
DE69129851T2 true DE69129851T2 (de) | 1999-03-25 |
Family
ID=8208879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69129851T Expired - Lifetime DE69129851T2 (de) | 1991-09-13 | 1991-09-13 | Konfigurierbare gigabit/s Vermittlunganpassungseinrichtung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5311509A (de) |
EP (1) | EP0531599B1 (de) |
JP (1) | JP2788577B2 (de) |
DE (1) | DE69129851T2 (de) |
Families Citing this family (220)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0548638A (ja) * | 1991-08-15 | 1993-02-26 | Fujitsu Ltd | Atm網におけるエンド・エンド間輻輳対処制御処理方式 |
JP3262142B2 (ja) * | 1992-01-16 | 2002-03-04 | 富士通株式会社 | Atmセル化装置、atmセル化方法、ノード、及びノードにおける多重化方法 |
EP0600683B1 (de) * | 1992-12-04 | 2001-10-10 | AT&T Corp. | Paketnetz-Schnittstelle |
FR2701180B1 (fr) * | 1993-01-29 | 1995-03-10 | Cit Alcatel | Dispositif de cellulisation et dispositif de décellulisation de voies numériques synchromes, centre de commutation de voies numériques synchrones, et centre de commutation de voies numériques asynchrones. |
DE4312797A1 (de) * | 1993-04-20 | 1994-10-27 | Hans Lackner | Verfahren und Vorrichtung zum Segmentieren von Datenpaketen |
GB9311106D0 (en) * | 1993-05-28 | 1993-07-14 | Plessey Telecomm | Switch plane maintenance |
US5530902A (en) * | 1993-06-14 | 1996-06-25 | Motorola, Inc. | Data packet switching system having DMA controller, service arbiter, buffer type managers, and buffer managers for managing data transfer to provide less processor intervention |
JP2847611B2 (ja) * | 1993-09-01 | 1999-01-20 | 富士通株式会社 | セル消失防止制御方式 |
US5467349A (en) * | 1993-12-21 | 1995-11-14 | Trw Inc. | Address handler for an asynchronous transfer mode switch |
US5448564A (en) * | 1994-01-31 | 1995-09-05 | Advanced Micro Devices, Inc. | Modular architecture for fast-packet network |
US5459723A (en) * | 1994-03-08 | 1995-10-17 | Advanced Micro Devices | Packet management device for fast-packet network |
US5509006A (en) * | 1994-04-18 | 1996-04-16 | Cisco Systems Incorporated | Apparatus and method for switching packets using tree memory |
SE503316C2 (sv) * | 1994-04-19 | 1996-05-13 | Ericsson Telefon Ab L M | Förfarande för övervakning av ett minne samt kretsanordning härför |
US5519704A (en) * | 1994-04-21 | 1996-05-21 | Cisco Systems, Inc. | Reliable transport protocol for internetwork routing |
US6031840A (en) * | 1995-12-07 | 2000-02-29 | Sprint Communications Co. L.P. | Telecommunications system |
KR100306318B1 (ko) * | 1994-05-05 | 2001-11-30 | 돈 에이. 젠센 | 텔레코뮤니케이션콜처리방법및텔레코뮤니케이션시스템 |
US6314103B1 (en) | 1994-05-05 | 2001-11-06 | Sprint Communications Company, L.P. | System and method for allocating bandwidth for a call |
US6023474A (en) * | 1996-11-22 | 2000-02-08 | Sprint Communications C.O.L.P. | Broadband telecommunications system interface |
US6181703B1 (en) * | 1995-09-08 | 2001-01-30 | Sprint Communications Company L. P. | System for managing telecommunications |
US5920562A (en) * | 1996-11-22 | 1999-07-06 | Sprint Communications Co. L.P. | Systems and methods for providing enhanced services for telecommunication call |
US5991301A (en) * | 1994-05-05 | 1999-11-23 | Sprint Communications Co. L.P. | Broadband telecommunications system |
US5926482A (en) | 1994-05-05 | 1999-07-20 | Sprint Communications Co. L.P. | Telecommunications apparatus, system, and method with an enhanced signal transfer point |
US6633561B2 (en) | 1994-05-05 | 2003-10-14 | Sprint Communications Company, L.P. | Method, system and apparatus for telecommunications control |
US6172977B1 (en) * | 1994-05-05 | 2001-01-09 | Sprint Communications Company, L. P. | ATM direct access line system |
US6430195B1 (en) | 1994-05-05 | 2002-08-06 | Sprint Communications Company L.P. | Broadband telecommunications system interface |
DE4418979C2 (de) * | 1994-05-31 | 1996-05-30 | Telefonbau & Normalzeit Gmbh | Verfahren zur Anpassung von Nachrichtenformaten |
US5483526A (en) * | 1994-07-20 | 1996-01-09 | Digital Equipment Corporation | Resynchronization method and apparatus for local memory buffers management for an ATM adapter implementing credit based flow control |
IL110657A (en) * | 1994-08-14 | 1997-07-13 | Ornet Data Communication Techn | Network switch |
CA2153445C (en) * | 1994-09-08 | 2002-05-21 | Ashok Raj Saxena | Video optimized media streamer user interface |
US5548587A (en) * | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
US5490141A (en) * | 1994-09-30 | 1996-02-06 | International Business Machines Corporation | System and method for providing SVC service through an ATM network for frame relay DTEs with a terminal adapter |
US5764928A (en) * | 1994-09-30 | 1998-06-09 | Rosemount Inc. | Microprocessor communication protocol in a multiprocessor transmitter |
US5608733A (en) * | 1994-11-29 | 1997-03-04 | Valle; Richard | ATM inverse multiplexing |
US5579263A (en) * | 1994-12-22 | 1996-11-26 | Sgs-Thomson Microelectronics, Inc. | Post-fabrication selectable registered and non-registered memory |
US5793978A (en) * | 1994-12-29 | 1998-08-11 | Cisco Technology, Inc. | System for routing packets by separating packets in to broadcast packets and non-broadcast packets and allocating a selected communication bandwidth to the broadcast packets |
US5867666A (en) * | 1994-12-29 | 1999-02-02 | Cisco Systems, Inc. | Virtual interfaces with dynamic binding |
JPH08186585A (ja) * | 1995-01-05 | 1996-07-16 | Fujitsu Ltd | Atm交換機 |
GB2297881B (en) * | 1995-02-09 | 1999-02-17 | Northern Telecom Ltd | Communications system |
US5606553A (en) * | 1995-02-28 | 1997-02-25 | Christie; Joseph M. | Cell processing for voice transmission |
GB2337664B (en) * | 1995-03-31 | 2000-02-16 | Inmarsat Ltd | Communication method and apparatus |
US5668798A (en) * | 1995-04-05 | 1997-09-16 | International Business Machines Corporation | Multiplexed TC sublayer for ATM switch |
US5666361A (en) * | 1995-04-05 | 1997-09-09 | International Business Machines Corporation | ATM cell forwarding and label swapping method and apparatus |
FR2736483B1 (fr) * | 1995-07-07 | 1997-08-14 | Cit Alcatel | Reseau de connexion de cellules atm |
JP3103298B2 (ja) * | 1995-07-17 | 2000-10-30 | 株式会社東芝 | Atmスイッチのアドレス生成回路 |
US6097718A (en) | 1996-01-02 | 2000-08-01 | Cisco Technology, Inc. | Snapshot routing with route aging |
US6147996A (en) | 1995-08-04 | 2000-11-14 | Cisco Technology, Inc. | Pipelined multiple issue packet switch |
GB2304210B (en) * | 1995-08-11 | 2000-02-16 | Fujitsu Ltd | Data receiving devices |
US7246148B1 (en) | 1995-09-29 | 2007-07-17 | Cisco Technology, Inc. | Enhanced network services using a subnetwork of communicating processors |
US6182224B1 (en) | 1995-09-29 | 2001-01-30 | Cisco Systems, Inc. | Enhanced network services using a subnetwork of communicating processors |
US6917966B1 (en) | 1995-09-29 | 2005-07-12 | Cisco Technology, Inc. | Enhanced network services using a subnetwork of communicating processors |
US6445708B1 (en) * | 1995-10-03 | 2002-09-03 | Ahead Communications Systems, Inc. | ATM switch with VC priority buffers |
US6175570B1 (en) * | 1995-12-20 | 2001-01-16 | Cisco Technology, Inc. | Method and an apparatus for shaping the output traffic in a fixed length cell switching network node |
US6091725A (en) | 1995-12-29 | 2000-07-18 | Cisco Systems, Inc. | Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network |
US6035105A (en) | 1996-01-02 | 2000-03-07 | Cisco Technology, Inc. | Multiple VLAN architecture system |
WO1997028622A1 (en) * | 1996-02-02 | 1997-08-07 | Sprint Communications Company, L.P. | Atm gateway system |
US5898830A (en) * | 1996-10-17 | 1999-04-27 | Network Engineering Software | Firewall providing enhanced network security and user transparency |
US5870550A (en) * | 1996-02-26 | 1999-02-09 | Network Engineering Software | Web server employing multi-homed, moldular framework |
US5826014A (en) * | 1996-02-06 | 1998-10-20 | Network Engineering Software | Firewall system for protecting network elements connected to a public network |
US8117298B1 (en) | 1996-02-26 | 2012-02-14 | Graphon Corporation | Multi-homed web server |
US6373846B1 (en) * | 1996-03-07 | 2002-04-16 | Lsi Logic Corporation | Single chip networking device with enhanced memory access co-processor |
US5822321A (en) * | 1996-04-10 | 1998-10-13 | Telefonaktiebolaget Lm Ericsson | Minicell segmentation and reassembly |
US6034945A (en) | 1996-05-15 | 2000-03-07 | Cisco Technology, Inc. | Method and apparatus for per traffic flow buffer management |
US5940393A (en) * | 1996-05-28 | 1999-08-17 | Sprint Communications Co. L.P. | Telecommunications system with a connection processing system |
US6308148B1 (en) | 1996-05-28 | 2001-10-23 | Cisco Technology, Inc. | Network flow data export |
US6243667B1 (en) | 1996-05-28 | 2001-06-05 | Cisco Systems, Inc. | Network flow switching and flow data export |
US6212182B1 (en) | 1996-06-27 | 2001-04-03 | Cisco Technology, Inc. | Combined unicast and multicast scheduling |
US6434120B1 (en) * | 1998-08-25 | 2002-08-13 | Cisco Technology, Inc. | Autosensing LMI protocols in frame relay networks |
US6128278A (en) * | 1996-08-30 | 2000-10-03 | Mmc Networks, Inc. | Cell queuing in ATM switches |
US5901147A (en) * | 1996-08-30 | 1999-05-04 | Mmc Networks, Inc. | Apparatus and methods to change thresholds to control congestion in ATM switches |
US5991867A (en) * | 1996-09-12 | 1999-11-23 | Efficient Networks, Inc. | Transmit scheduler for an asynchronous transfer mode network and method of operation |
US6031843A (en) * | 1996-11-21 | 2000-02-29 | Alcatel Data Networks Inc. | Digital communications switching fabric |
RU2184424C2 (ru) | 1996-11-22 | 2002-06-27 | Спринт Коммьюникейшнз Компани, Л.П. | Система и способ передачи вызова в сети дальней связи |
US6115380A (en) * | 1996-11-22 | 2000-09-05 | Sprint Communications Co., L.P. | Broadband telecommunications system |
US6014378A (en) * | 1996-11-22 | 2000-01-11 | Sprint Communications Company, L.P. | Telecommunications tandem system for circuit-based traffic |
US6002689A (en) * | 1996-11-22 | 1999-12-14 | Sprint Communications Co. L.P. | System and method for interfacing a local communication device |
US6188690B1 (en) * | 1996-12-12 | 2001-02-13 | Pmc-Sierra, Inc. | Method and apparatus for high speed, scalable communication system |
US6304546B1 (en) | 1996-12-19 | 2001-10-16 | Cisco Technology, Inc. | End-to-end bidirectional keep-alive using virtual circuits |
GB9626752D0 (en) * | 1996-12-23 | 1997-02-12 | Northern Telecom Ltd | Management of data structures |
US6085250A (en) * | 1997-03-20 | 2000-07-04 | Efficient Networks, Inc. | Method and system for using layered networking application program interfaces (APIs) using a native asynchronous transfer mode (ATM) API |
US6067299A (en) * | 1997-04-16 | 2000-05-23 | Sprint Communications Company, L.P. | Communications system for providing ATM connections and echo cancellation |
GB2324676B (en) * | 1997-04-23 | 2001-10-17 | Fujitsu Ltd | Interfacing to SAR devices in ATM switching apparatus |
US6014367A (en) * | 1997-04-25 | 2000-01-11 | Mmc Networks, Inc | Method for weighted fair queuing for ATM cell scheduling |
US6041059A (en) * | 1997-04-25 | 2000-03-21 | Mmc Networks, Inc. | Time-wheel ATM cell scheduling |
US6137800A (en) * | 1997-05-09 | 2000-10-24 | Sprint Communications Company, L. P. | System and method for connecting a call |
US6704327B1 (en) | 1997-05-09 | 2004-03-09 | Sprint Communications Company, L.P. | System and method for connecting a call |
US6178170B1 (en) | 1997-05-13 | 2001-01-23 | Sprint Communications Company, L. P. | System and method for transporting a call |
US6084881A (en) * | 1997-05-22 | 2000-07-04 | Efficient Networks, Inc. | Multiple mode xDSL interface |
US6356530B1 (en) | 1997-05-23 | 2002-03-12 | Cisco Technology, Inc. | Next hop selection in ATM networks |
US6122272A (en) * | 1997-05-23 | 2000-09-19 | Cisco Technology, Inc. | Call size feedback on PNNI operation |
US6862284B1 (en) | 1997-06-17 | 2005-03-01 | Cisco Technology, Inc. | Format for automatic generation of unique ATM addresses used for PNNI |
US6430191B1 (en) | 1997-06-30 | 2002-08-06 | Cisco Technology, Inc. | Multi-stage queuing discipline |
US6201813B1 (en) * | 1997-06-30 | 2001-03-13 | Cisco Technology, Inc. | Method and apparatus for using ATM queues for segmentation and reassembly of data frames |
US6487202B1 (en) | 1997-06-30 | 2002-11-26 | Cisco Technology, Inc. | Method and apparatus for maximizing memory throughput |
US6185209B1 (en) | 1997-07-11 | 2001-02-06 | Telefonaktiebolaget Lm Ericsson | VC merging for ATM switch |
US6078590A (en) * | 1997-07-14 | 2000-06-20 | Cisco Technology, Inc. | Hierarchical routing knowledge for multicast packet routing |
US6330599B1 (en) | 1997-08-05 | 2001-12-11 | Cisco Technology, Inc. | Virtual interfaces with dynamic binding |
US6512766B2 (en) | 1997-08-22 | 2003-01-28 | Cisco Systems, Inc. | Enhanced internet packet routing lookup |
US6212183B1 (en) | 1997-08-22 | 2001-04-03 | Cisco Technology, Inc. | Multiple parallel packet routing lookup |
US6157641A (en) * | 1997-08-22 | 2000-12-05 | Cisco Technology, Inc. | Multiprotocol packet recognition and switching |
US6343072B1 (en) | 1997-10-01 | 2002-01-29 | Cisco Technology, Inc. | Single-chip architecture for shared-memory router |
US7581077B2 (en) | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
US6418478B1 (en) * | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
US6526060B1 (en) | 1997-12-05 | 2003-02-25 | Cisco Technology, Inc. | Dynamic rate-based, weighted fair scheduler with explicit rate feedback option |
US7570583B2 (en) * | 1997-12-05 | 2009-08-04 | Cisco Technology, Inc. | Extending SONET/SDH automatic protection switching |
CA2282441C (en) * | 1997-12-25 | 2004-07-27 | Kabushiki Kaisha Toshiba | Atm relay device and network including same |
US6111877A (en) * | 1997-12-31 | 2000-08-29 | Cisco Technology, Inc. | Load sharing across flows |
US6424649B1 (en) | 1997-12-31 | 2002-07-23 | Cisco Technology, Inc. | Synchronous pipelined switch using serial transmission |
JP3206537B2 (ja) * | 1998-02-09 | 2001-09-10 | 日本電気株式会社 | Atm通信装置の制御方法、atm通信装置及びその記録媒体 |
US6483837B1 (en) | 1998-02-20 | 2002-11-19 | Sprint Communications Company L.P. | System and method for connecting a call with an interworking system |
US6563918B1 (en) | 1998-02-20 | 2003-05-13 | Sprint Communications Company, LP | Telecommunications system architecture for connecting a call |
US7739381B2 (en) * | 1998-03-11 | 2010-06-15 | Commvault Systems, Inc. | System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services |
US6853638B2 (en) * | 1998-04-01 | 2005-02-08 | Cisco Technology, Inc. | Route/service processor scalability via flow-based distribution of traffic |
US6307860B1 (en) | 1998-04-03 | 2001-10-23 | Mmc Networks, Inc. | Systems and methods for data transformation and transfer in networks |
US6330584B1 (en) | 1998-04-03 | 2001-12-11 | Mmc Networks, Inc. | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US7055151B1 (en) * | 1998-04-03 | 2006-05-30 | Applied Micro Circuits Corporation | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US6160871A (en) | 1998-04-10 | 2000-12-12 | Sprint Communications Company, L.P. | Communications test system |
US6938040B2 (en) | 1998-04-28 | 2005-08-30 | International Business Machines Corporation | Pattern matching in communications network where first memory stores set of patterns, and second memory stores mask data identifying patterns in the first memory |
US6370121B1 (en) | 1998-06-29 | 2002-04-09 | Cisco Technology, Inc. | Method and system for shortcut trunking of LAN bridges |
US6920112B1 (en) | 1998-06-29 | 2005-07-19 | Cisco Technology, Inc. | Sampling packets for network monitoring |
US6377577B1 (en) | 1998-06-30 | 2002-04-23 | Cisco Technology, Inc. | Access control list processing in hardware |
US6308219B1 (en) | 1998-07-31 | 2001-10-23 | Cisco Technology, Inc. | Routing table lookup implemented using M-trie having nodes duplicated in multiple memory banks |
US6182147B1 (en) | 1998-07-31 | 2001-01-30 | Cisco Technology, Inc. | Multicast group routing using unidirectional links |
US6389506B1 (en) | 1998-08-07 | 2002-05-14 | Cisco Technology, Inc. | Block mask ternary cam |
US6101115A (en) * | 1998-08-07 | 2000-08-08 | Cisco Technology, Inc. | CAM match line precharge |
US6657961B1 (en) | 1998-08-18 | 2003-12-02 | Efficient Networks, Inc. | System and method for enhanced end station to end station data flow control |
US6778538B2 (en) | 1998-12-30 | 2004-08-17 | Nortel Networks Limited | Virtual junctors |
US6804229B2 (en) | 1998-12-30 | 2004-10-12 | Nortel Networks Limited | Multiple node network architecture |
US6788703B2 (en) | 1998-12-30 | 2004-09-07 | Nortel Networks Limited | DS0 on ATM, mapping and handling |
US6885661B1 (en) * | 1998-12-30 | 2005-04-26 | Nortel Networks Limited | Private branch exchange built using an ATM Network |
US6768736B1 (en) | 1998-12-30 | 2004-07-27 | Nortel Networks Limited | Using an ATM switch to grow the capacity of a switching stage |
US6771642B1 (en) | 1999-01-08 | 2004-08-03 | Cisco Technology, Inc. | Method and apparatus for scheduling packets in a packet switch |
US6661774B1 (en) | 1999-02-16 | 2003-12-09 | Efficient Networks, Inc. | System and method for traffic shaping packet-based signals |
US6590897B1 (en) | 1999-03-08 | 2003-07-08 | Efficient Networks, Inc. | System and method for bridging universal serial bus and asynchronous transfer mode communication links |
US6330435B1 (en) * | 1999-03-18 | 2001-12-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Data packet discard notification |
US7065762B1 (en) | 1999-03-22 | 2006-06-20 | Cisco Technology, Inc. | Method, apparatus and computer program product for borrowed-virtual-time scheduling |
US6757791B1 (en) | 1999-03-30 | 2004-06-29 | Cisco Technology, Inc. | Method and apparatus for reordering packet data units in storage queues for reading and writing memory |
US6760331B1 (en) | 1999-03-31 | 2004-07-06 | Cisco Technology, Inc. | Multicast routing with nearest queue first allocation and dynamic and static vector quantization |
US6603772B1 (en) | 1999-03-31 | 2003-08-05 | Cisco Technology, Inc. | Multicast routing with multicast virtual output queues and shortest queue first allocation |
US6993048B1 (en) | 2000-07-31 | 2006-01-31 | Cisco Technology, Inc. | ATM permanent virtual circuit and layer 3 auto-configuration for digital subscriber line customer premises equipment |
US7035880B1 (en) | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
US7389311B1 (en) | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
US6650660B1 (en) | 1999-07-27 | 2003-11-18 | Pluris, Inc. | Apparatus and method for synchronization of multiple data paths and recovery from lost synchronization |
US6934250B1 (en) | 1999-10-14 | 2005-08-23 | Nokia, Inc. | Method and apparatus for an output packet organizer |
US6757249B1 (en) | 1999-10-14 | 2004-06-29 | Nokia Inc. | Method and apparatus for output rate regulation and control associated with a packet pipeline |
US6882642B1 (en) | 1999-10-14 | 2005-04-19 | Nokia, Inc. | Method and apparatus for input rate regulation associated with a packet processing pipeline |
US6892243B1 (en) * | 1999-12-21 | 2005-05-10 | Intel Corporation | Prioritizing data transfers over data buses |
US6775292B1 (en) | 2000-01-24 | 2004-08-10 | Cisco Technology, Inc. | Method for servicing of multiple queues carrying voice over virtual circuits based on history |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US7155481B2 (en) | 2000-01-31 | 2006-12-26 | Commvault Systems, Inc. | Email attachment management in a computer system |
US6658436B2 (en) * | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
JP2001237843A (ja) * | 2000-02-23 | 2001-08-31 | Nec Corp | 交換システムにおけるパケット組立て分解処理部 |
US6810031B1 (en) | 2000-02-29 | 2004-10-26 | Celox Networks, Inc. | Method and device for distributing bandwidth |
US6704794B1 (en) * | 2000-03-03 | 2004-03-09 | Nokia Intelligent Edge Routers Inc. | Cell reassembly for packet based networks |
AU2001236450A1 (en) * | 2000-03-03 | 2001-09-17 | Celox Networks, Inc. | Broadband mid-network server |
US6977895B1 (en) | 2000-03-23 | 2005-12-20 | Cisco Technology, Inc. | Apparatus and method for rate-based polling of input interface queues in networking devices |
US6629147B1 (en) * | 2000-03-31 | 2003-09-30 | Intel Corporation | Segmentation and reassembly of data frames |
US7142558B1 (en) | 2000-04-17 | 2006-11-28 | Cisco Technology, Inc. | Dynamic queuing control for variable throughput communication channels |
US7103041B1 (en) * | 2000-06-30 | 2006-09-05 | Marconi Intellectual Property (Ringfence), Inc. | Optimization of number of transceivers used in a switch |
TW513635B (en) * | 2000-11-24 | 2002-12-11 | Ibm | Method and structure for variable-length frame support in a shared memory switch |
US7095741B1 (en) * | 2000-12-20 | 2006-08-22 | Cisco Technology, Inc. | Port isolation for restricting traffic flow on layer 2 switches |
US6618388B2 (en) | 2001-01-05 | 2003-09-09 | Extreme Networks | Method and system for VMAN protocol |
US7346707B1 (en) * | 2002-01-16 | 2008-03-18 | Advanced Micro Devices, Inc. | Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists |
US7076543B1 (en) | 2002-02-13 | 2006-07-11 | Cisco Technology, Inc. | Method and apparatus for collecting, aggregating and monitoring network management information |
US7069557B2 (en) * | 2002-05-23 | 2006-06-27 | International Business Machines Corporation | Network processor which defines virtual paths without using logical path descriptors |
GB2409553B (en) | 2002-09-16 | 2007-04-04 | Commvault Systems Inc | System and method for optimizing storage operations |
US7454569B2 (en) * | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
US7613748B2 (en) | 2003-11-13 | 2009-11-03 | Commvault Systems, Inc. | Stored data reverification management system and method |
US7315923B2 (en) * | 2003-11-13 | 2008-01-01 | Commvault Systems, Inc. | System and method for combining data streams in pipelined storage operations in a storage network |
WO2005050489A1 (en) | 2003-11-13 | 2005-06-02 | Commvault Systems, Inc. | System and method for stored data archive verification |
WO2005050381A2 (en) | 2003-11-13 | 2005-06-02 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
GB2425198B (en) | 2003-11-13 | 2008-04-09 | Commvault Systems Inc | System and method for performing a snapshot |
US20060224846A1 (en) | 2004-11-05 | 2006-10-05 | Amarendran Arun P | System and method to support single instance storage operations |
US7590130B2 (en) * | 2004-12-22 | 2009-09-15 | Exar Corporation | Communications system with first and second scan tables |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US7620710B2 (en) | 2005-12-19 | 2009-11-17 | Commvault Systems, Inc. | System and method for performing multi-path storage operations |
US7962709B2 (en) * | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
US8661216B2 (en) | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
WO2007075587A2 (en) | 2005-12-19 | 2007-07-05 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7543125B2 (en) * | 2005-12-19 | 2009-06-02 | Commvault Systems, Inc. | System and method for performing time-flexible calendric storage operations |
EP2015569A4 (de) * | 2006-05-02 | 2010-04-07 | Media Global Links Co Ltd | Videosignalumschaltsystem |
EP1858227A1 (de) * | 2006-05-16 | 2007-11-21 | THOMSON Licensing | Netzwerkspeichervorrichtung mit getrennten Datenschnittstellen für Steuerung und Speicherung |
US7751339B2 (en) | 2006-05-19 | 2010-07-06 | Cisco Technology, Inc. | Method and apparatus for simply configuring a subscriber appliance for performing a service controlled by a separate service provider |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US8655914B2 (en) | 2006-10-17 | 2014-02-18 | Commvault Systems, Inc. | System and method for storage operation access security |
US8312323B2 (en) | 2006-12-22 | 2012-11-13 | Commvault Systems, Inc. | Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved |
US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US8434131B2 (en) * | 2009-03-20 | 2013-04-30 | Commvault Systems, Inc. | Managing connections in a data storage system |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8572038B2 (en) | 2010-05-28 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9262435B2 (en) | 2013-01-11 | 2016-02-16 | Commvault Systems, Inc. | Location-based data synchronization management |
US9753812B2 (en) | 2014-01-24 | 2017-09-05 | Commvault Systems, Inc. | Generating mapping information for single snapshot for multiple applications |
US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | Single snapshot for multiple applications |
US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
US10042716B2 (en) | 2014-09-03 | 2018-08-07 | Commvault Systems, Inc. | Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent |
US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by a snapshot-control media agent |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
US9904481B2 (en) | 2015-01-23 | 2018-02-27 | Commvault Systems, Inc. | Scalable auxiliary copy processing in a storage management system using media agent resources |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US10732885B2 (en) | 2018-02-14 | 2020-08-04 | Commvault Systems, Inc. | Block-level live browsing and private writable snapshots using an ISCSI server |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
US12056018B2 (en) | 2022-06-17 | 2024-08-06 | Commvault Systems, Inc. | Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2538976A1 (fr) * | 1982-12-29 | 1984-07-06 | Servel Michel | Systeme de commutation de paquets synchrones de longueur fixe |
US4910731A (en) * | 1987-07-15 | 1990-03-20 | Hitachi, Ltd. | Switching system and method of construction thereof |
JP2569118B2 (ja) * | 1987-07-15 | 1997-01-08 | 株式会社日立製作所 | スイッチングシステム及びその構成方法 |
DE68929523T2 (de) * | 1988-07-22 | 2005-12-15 | Hitachi, Ltd. | ATM-Vermittlungssystem |
JP3132564B2 (ja) * | 1988-08-26 | 2001-02-05 | 株式会社日立製作所 | Atm交換機 |
US5101404A (en) * | 1988-08-26 | 1992-03-31 | Hitachi, Ltd. | Signalling apparatus for use in an ATM switching system |
JP3085391B2 (ja) * | 1989-06-19 | 2000-09-04 | 株式会社日立製作所 | 通信装置 |
US5107489A (en) * | 1989-10-30 | 1992-04-21 | Brown Paul J | Switch and its protocol for making dynamic connections |
EP0425772B1 (de) * | 1989-11-01 | 1995-03-22 | ELECTROMOTIVE SYSTEMS, Inc. | Vorrichtung und Verfahren zur Bestimmung eines oder mehrerer Betriebsdaten eines schienengebundenen Fahrzeuges |
US5163045A (en) * | 1990-10-01 | 1992-11-10 | At&T Bell Laboratories | Communications network arranged to transport connection oriented and connectionless messages |
US5165021A (en) * | 1991-01-18 | 1992-11-17 | Racal-Datacom, Inc. | Transmit queue with loadsheding |
-
1991
- 1991-09-13 DE DE69129851T patent/DE69129851T2/de not_active Expired - Lifetime
- 1991-09-13 EP EP91810728A patent/EP0531599B1/de not_active Expired - Lifetime
-
1992
- 1992-02-06 US US07/832,127 patent/US5311509A/en not_active Expired - Lifetime
- 1992-07-24 JP JP19860092A patent/JP2788577B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2788577B2 (ja) | 1998-08-20 |
US5311509A (en) | 1994-05-10 |
JPH05219098A (ja) | 1993-08-27 |
DE69129851D1 (de) | 1998-08-27 |
EP0531599B1 (de) | 1998-07-22 |
EP0531599A1 (de) | 1993-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69129851T2 (de) | Konfigurierbare gigabit/s Vermittlunganpassungseinrichtung | |
DE69428186T2 (de) | Mehrfachsendeeinrichtung | |
DE69900492T2 (de) | Grosse kombinierte Breitband und Schmalband Vermittlungsstelle | |
DE69731606T2 (de) | Anlage und verfahren zur änderung von schwellen für überlastkontrolle in atm-vermittlungsstellen | |
DE69332328T2 (de) | Paketschalter mit grosser Bandbreite | |
DE3856239T2 (de) | Paketvermittlung | |
DE69020578T2 (de) | Grundelement für ein verbindungsnetzwerk eines knotens zur schnellen paketvermittlung. | |
DE69430945T2 (de) | Schnelle Paketvermittlungsnetze | |
DE69131436T2 (de) | Netzanpassungseinrichtung mit als logische FIFOs gestalteten Speichern zur Übertragung und Empfang von Datenpaketen | |
DE69131971T2 (de) | Netzwerkanpassungseinrichtung mit Puffer und Mehrbeschreibungskreis | |
DE3788649T2 (de) | Schnelle modulare Vermittlungseinrichtung für Durchschaltverkehr und paketvermittelten Verkehr. | |
DE60119866T2 (de) | Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern | |
DE69032699T2 (de) | Paketvermittlungssystem mit einer busmatrixartigen Vermittlungsanlage | |
DE68919856T2 (de) | Nachrichtenvermittlungselement zur übertragung von zellen unterteilt in teilzellen. | |
DE69216105T2 (de) | Atm-breitbandkoppelfeldeinrichtung mit gepufferten eingängen | |
DE69124326T2 (de) | Brücke zur Verbindung eines lokalen, nach der Norm IEEE 802.3 gerichteten Netzes an ein ATM Fernmeldenetz | |
DE68926650T2 (de) | Hochgeschwindigkeitspaketvermittlungsknotenentwurf | |
DE60113058T2 (de) | Empfänger korrigiert | |
DE69733703T2 (de) | Puffer von Mehrfachsendezellen in Vermittlungsnetzen | |
DE69838601T2 (de) | Verfahren und Vorrichtung zum Erweitern eines on-chip FIFOs in einem lokalen Speicher | |
DE69333206T2 (de) | Paketvermittlungssystem unter Verwendung des Belegstatus der Ausgangspuffer | |
DE60111457T2 (de) | Vermittlungsanordnung mit redundanten Wegen | |
DE69817328T2 (de) | Warteschlangenstruktur und -verfahren zur prioritätszuteilung von rahmen in einem netzwerkkoppelfeld | |
DE69733355T2 (de) | Skalierbares hochleistungsvermittlungselement für ein koppelfeld mit gemeinsamen speicher zur vermittlung von paketen oder atm-zellen | |
DE69323547T2 (de) | Verfahren zur gruppenbildung von umbindungen in einer paketvermittlung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: QUALCOMM INC., SAN DIEGO, CALIF., US |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: WAGNER & GEYER PARTNERSCHAFT PATENT- UND RECHTSANW |