DE69636846T2 - Verfahren und Apparat zur Aufteilung von Lade- und Entladefunktionen in einer ATM-Schnittstelle - Google Patents

Verfahren und Apparat zur Aufteilung von Lade- und Entladefunktionen in einer ATM-Schnittstelle Download PDF

Info

Publication number
DE69636846T2
DE69636846T2 DE69636846T DE69636846T DE69636846T2 DE 69636846 T2 DE69636846 T2 DE 69636846T2 DE 69636846 T DE69636846 T DE 69636846T DE 69636846 T DE69636846 T DE 69636846T DE 69636846 T2 DE69636846 T2 DE 69636846T2
Authority
DE
Germany
Prior art keywords
data
buffer memory
queues
input device
reception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69636846T
Other languages
English (en)
Other versions
DE69636846D1 (de
Inventor
Rasoul M. Fremont Oskouy
Jr. Denton E. Palo Alto Gentry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69636846D1 publication Critical patent/DE69636846D1/de
Publication of DE69636846T2 publication Critical patent/DE69636846T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5615Network termination, e.g. NT1, NT2, PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung:
  • Die Erfindung betrifft allgemein Schnittstellensysteme zum Ankoppeln eines Computersystemhosts an ein ATM („Asynchronous Transfer Mode"; Asynchroner Übertragungsmodus)-System und insbesondere zum Partitionieren von Eingabe- und Auslesefunktionen zur Verwendung bei der Segmentierung und Wiederzusammenfügung von Paketen und Zellen innerhalb eines solchen Schnittstellensystems.
  • 2. Beschreibung des verwandten Standes der Technik:
  • Die ATM-Technologie entwickelt sich zur bevorzugten Technologie zum Implementieren von integrierten Breitbanddienstleistungs-Datennetzwerken auf der Grundlage von ISDN (B-ISDN). Ein B-ISDN ist ein System zum Verbinden von Computersystemen, Nahbereichsnetzwerken („Local Area Networks"; LANs), Telefonen, Faxgeräten und so weiter, um eine Kommunikation von Daten, Sprache und Videos zwischen den Systemen zu erleichtern. B-ISDN verwendet typischerweise Faseroptiken als ein Kommunikationsmedium. Ein ATM-System vereinfacht die Übertragung von Daten über das B-ISDN durch Definieren eines Satzes von „Datenverbindungen", wobei jede Verbindung einen virtuellen Kanal mit einer bestimmten Quelle und Ziel und einer zugeordneten Datenübertragung darstellt.
  • Daten, die von einem Computersystem, LAN, Telefon und so weiter bereitgestellt werden, können anfänglich in Datenpaketen gespeichert werden. ATM-basierte Systeme übertragen und verarbeiten jedoch Zellen von Daten. Dementsprechend müssen ein Verfahren oder eine Vorrichtung bereitgestellt werden zum Umwandeln von Paketen in Zellen (Segmentierung) und zum Umwandeln von Zellen in Pakete (Wiederzusammenfügung bzw. Reassemblierung). Sowohl Segmentierung als auch Wiederzusammenfügung sind zweistufige Abläufe. Für eine Segmentierung werden Pakete vom Host-System empfangen und in einem Speicher abgespeichert (Eingeben), dann in Zellen umgewandelt und an das ATM-System ausgegeben (Auslesen). Zur Wiederzusammenfügung werden Zellen vom ATM-System empfangen, in Pakete zusammengefügt und im Speicher gespeichert (Eingeben), dann aus dem Speicher herausgezogen und zum Host-Bus ausgegeben (Auslesen).
  • Herkömmlicherweise wird ein anwendungsspezifischer integrierter Schaltkreis („Application Specific Integrated Circuit"; ASIC)-Segmentierungs- und Wiederzusammenfügungs („Segmentation and Reassembly"; SAR)-Chip bereitgestellt, welcher die oben angesprochenen Segmentierungs- und Wiederzusammenfügungsabläufe durchführt. Der herkömmliche SAR-Chip trennt jedoch nicht die Eingabe- und Ausleseschritte, und zwar weder funktional, logisch noch physikalisch. Mit anderen Worten sind Eingabe- und Auslesekomponenten miteinander integriert.
  • Jedoch treten gewisse Nachteile als ein Ergebnis der Integration von Eingabe- und Auslesekomponenten auf. Eingabekomponenten müssen jegliche Randbedingungen berücksichtigen, die dem Host auferlegt werden, aber brauchen nicht durch ATM-spezifische Anforderungen eingeschränkt zu werden. Auf gleiche Art werden Auslesekomponenten den Beschränkungen unterworfen, die auf den ATM wirken, sind aber nicht von irgendwelchen Beschränkungen des Hosts betroffen. Daher braucht jede Modifikation am Host nur die Eingabekomponenten zu betreffen, und jede Modifikation am ATM-System braucht nur die Auslesekomponenten zu betreffen. Wenn jedoch Eingabe- und Auslesekomponenten integriert sind, wie in herkömmlichen SAR-Chips, mag eine Modifikation entweder des Hosts oder des ATM-Systems einen vollständigen Neuentwurf des SAR-Chips bedingen. Darüber hinaus kann die Integration von Eingabe- und Auslesekomponenten die Ausnutzung von Schaltungen verhindern, welche nur zur Verwendung mit dem Host oder nur mit dem ATM-System optimiert sind.
  • Es wäre daher wünschenswert, eine verbesserte ATM-Systemschnittstelle bereitzustellen, die als ein SAR-Chip gezeigt ist, welche die Nachteile vermeidet, die sich aus Systemen ergeben, die integrierte Eingabe- und Auslesekomponenten bereitstellen. Gesichtspunkte der vorliegenden Erfindung betreffen ein solches verbessertes System. Insbesondere ist es eine Aufgabe der Erfindung, die Eingabe- und Auslesekomponenten des Segmentierungsablaufs zu partitionieren und auch die Eingabe- und Auslesefunktionen des Wiederzusammenfügungsablaufs zu partitionieren.
  • Jeglicher Versuch, die Eingabe- und Auslesekomponenten zu unterteilen, muss jedoch eine geeignete Kommunikation zwischen den unterteilten Komponenten bereitstellen, um einen effizienten Datendurchsatz zu ermöglichen. Dies ist insbesondere problematisch bei ATM-Systemschnittstellen, die dazu konfiguriert sind, die Übertragung von Daten auf einer Vielzahl von Datenverbindungen zu umfassen, von denen jede potentiell mit unterschiedlichen Datenübertragungsraten arbeitet. Falls bei spielsweise ein externer Pufferspeicher verwendet wird, um die Gesamtübertragung von Zellen zu vereinfachen, mag eine partitionierte Eingabekomponente benötigt werden, um wiederholt Warteschlangen im externen Pufferspeicher abzufragen bzw. zu pollen, die unterschiedlichen Übertragungsraten entsprechen, um zu bestimmen, wann zusätzliche Zellen darin eingegeben werden sollen. Dementsprechend ist es eine weitere Aufgabe der Erfindung, eine effiziente Technik bereitzustellen, um es partitionierten Eingabe- und Auslesekomponenten zu ermöglichen, miteinander zu kommunizieren, um einen effizienten Datendurchsatz bereitzustellen, während auch der Bedarf nach einem Pollen beseitigt wird, falls ein externer Pufferspeicher verwendet wird.
  • WO 95/11554 offenbart eine Fehlererfassungs- und Korrekturvorrichtung für eine (ATM)-Netzwerkvorrichtung mit asynchronem Übertragungsmodus, wobei die Vorrichtung auf einer Ein-Chip-Lösung beruht, welche keine externen und getrennten Datenübertragungs- und Speichermittel verwendet. Die Vorrichtung umfasst einen internen Zentralprozessor (ATM-Verarbeitungseinheit, „ATM processing unit"; APU) welche alle Eingabe- und Ausleseabläufe von Daten in und von einem internen Speicher-VCR („virtual channel memory") für Datenübertragungen zur und von der ATM-Netzwerkvorrichtung steuert und ausführt. Um Daten von einem Host-System zu laden, verwendet die APU einen Direktspeicherzugriffs-Controller (DMA-Controller) zum Auslesen von Daten von einem Host, wobei die Hostdaten in den VCR unter Steuerung der APU geladen werden. Die in dem VCR gespeicherten Hostdaten werden mittels der APU davon zur ATM-Netzwerkvorrichtung ausgelesen. Das Eingeben der Hostdaten in den VCR wird mittels eines Signals des Hosts initialisiert, der durch die APU bereitgestellt wird. Um eine Staubedingung im ATM-Netzwerk zu kompensieren, wird eine Ablaufrateneinheit verwendet. In Abhängigkeit von der Ablaufrateneinheit steuert die APU die Übertragungsraten der Hostdaten zum VCR und bestimmt Speichereinheiten im VCR zum Speichern der Hostdaten. Ferner können Hostdaten zum VCR unter Steuerung der APU nach Beendigung der Segmentierung und Übertragung von vorher im VCR gespeicherten Hostdaten mittels einer entsprechenden Nachricht übertragen werden. Um eine unbegrenzte Zahl gleichzeitig aktiver Sende- und Empfangskanäle zu unterstützen, können Kanalparametereinträge extern gespeichert werden, wobei die Kanalparametereinträge keinen Teil der im VCR zu speichernden Hostdaten bilden.
  • EP 0 551 191 A1 offenbart eine Vorrichtung und ein Verfahren zum Übertragen von Daten zu und von einem Hostsystem, wobei ein externer Paketspeicher verwendet wird, der Datenpakete zum und vom Hostsystem speichert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung stellt ein System zum Segmentieren von Paketen in Zellen und zum Wiederzusammenfügen von Zellen in Pakete zur Verwendung beim Verbinden eines Hostsystems mit einem ATM-System bereit, wobei Eingabe- und Auslese-Segmentierungskomponenten partitioniert sind und wobei Eingabe- und Auslese-Wiederzusammenfügungskomponenten partitioniert sind. Ein effizientes Verfahren und Vorrichtung, um es den partitionierten Eingabe- und Auslesekomponenten zu ermöglichen, zu kommunizieren, während sie getrennt arbeiten, ist ebenfalls vorgesehen. Das ATM-System mag das UTOPIA-Protokoll verwenden.
  • Gemäß einer Ausführungsform wird das Obige wie folgt erreicht. Eine Übertragungs- bzw. Sendemodusarchitektur wird bereitgestellt, welche ein Puffermittel umfasst, wie beispielsweise einen externen Pufferspeicher, und zwar zum Zwischenspeichern von Daten in einer Vielzahl von FIFO(„first-in-first-out")-(Warte)Schlangen. Der externe Pufferspeicher stellt eine FIFO-Warteschlange für jede aus einer Vielzahl von Datenverbindungen bereit, von denen jede bei einer unterschiedlichen Übertragungsrate arbeiten kann. Ein Sendeeingabemittel oder „Eingabeeinrichtung" steuert die Speicherung von Datenpaketen, die irgendeiner der Datenverbindungen entsprechen, in der zugeordneten FIFO-Schlange des Puffers. Ein Auslesemittel oder „Ausleseeinrichtung" extrahiert die Pakete aus den FIFO-Schlangen des Puffers und segmentiert die darin enthaltenen Daten in Zellen zur Ausgabe zum ATM-System auf der zugeordneten Datenverbindung.
  • Ein Ablaufsteuerungsmittel oder „Ablaufsteuerung" verbindet die Eingabe- und Ausleseeinrichtungen zum Bereitstellen einer Kommunikation zwischen ihnen zum Sicherstellen, dass eine geeignete Ratensteuerung aufrechterhalten wird. Die Ablaufsteuerung umfasst eine einzelne FIFO-Schlange zum Speichern von Werten, welche die getrennten Datenverbindungen darstellen. Beim Betrieb extrahiert die Ausleseeinrichtung Daten von einer der FIFO-Schlangen des externen Pufferspeichers mit einer Rate, welche für die zugehörige Datenverbindung festgelegt ist, bis die FIFO-Schlange fast leer ist. Dann speichert die Ausleseeinrichtung, um der Ein gabeeinrichtung zu signalisieren, dass zusätzliche Daten in der fast leeren Schlange gespeichert werden sollten, einen Wert in der Ablaufsteuerungsschlange, der für die Datenverbindung repräsentativ ist, welcher der fast leeren externen Pufferspeicherschlange zugeordnet ist. Die Eingabeeinrichtung liest die Werte aus der Ablaufsteuerungsschlange auf FIFO-Art und bedient die Datenverbindungen, damit Pakete von Daten in die zugehörigen FIFO-Schlangen des externen Puffers gespeichert werden.
  • Daher arbeitet die Eingabeeinrichtung als ein Slave bzw. abhängig von der Ausleseeinrichtung durch Lesen der Datenverbindungswerte von der Ablaufsteuerung, und zwar in der durch die Ausleseeinrichtung bestimmten Reihenfolge, und bedient dann die entsprechende Verbindung. Auf diese Weise „steuert" die Ausleseeinrichtung effektiv den Betrieb der Eingabeeinrichtung durch Bestimmen der Reihenfolge, in welcher die Eingabeeinrichtung die verschiedenen Datenverbindungen bedienen muss.
  • Wie oben angemerkt, mag das System Daten auf einer Vielzahl von Verbindungen mit jeweils unterschiedlichen Datenübertragungsraten verarbeiten. Warteschlangen des externen Pufferspeichers, die schnellen Datenverbindungen entsprechen, werden wahrscheinlich häufiger zusätzliche Daten benötigen als solche, die langsamen Datenverbindungen entsprechen. Somit werden die schnellen Datenverbindungen in der Ablaufsteuerung häufiger eingetragen als die langsamen Datenverbindungen, und die Eingabeeinrichtung wird die schnelleren Datenverbindungen häufiger bedienen als die langsameren Datenverbindungen, wodurch die höhere Datenrate der schnelleren Verbindungen berücksichtigt wird.
  • Eingabe- und Auslesekomponenten zum Empfangen oder Wiederzusammenfügungen sind auf im wesentlichen die gleiche Weise wie bei der Segmentierung oder Übertragung partitioniert. Eine Empfangsmodusarchitektur wird bereitgestellt, welche einen externen Pufferspeicher zum Puffern von Daten umfasst, die vom ATM-System empfangen werden, und zwar zur folgenden Übertragung zum Host. Eine Empfangseingabeeinrichtung empfängt Zellen von Daten von dem ATM, fügt diese Zellen in Pakete zusammen und speichert die Pakete im externen Pufferspeicher. Eine Empfangsausleseeinrichtung steuert die Extraktion von Paketen von Daten vom externen Pufferspeicher zum Weiterleiten an den Host. Eine Empfangsablaufsteuerung mit einer FIFO-Schlange ermöglicht es der Empfangseingabeeinrichtung, den Betrieb der Empfangsausgabeeinrichtung in Übereinstimmung mit derjenigen Reihenfolge zu planen, mit welcher Warteschlangen des externen Pufferspeichers gefüllt werden.
  • Während jedoch der externe Sendepufferspeicher eine FIFO-Schlange für jede Datenverbindung umfasst, wird der externe Empfangspufferspeicher dynamisch zugewiesen oder segmentiert, so dass er zu jedem gegebenen Zeitpunkt eine Warteschlange für eine Datenverbindung oder Speicherwarteschlangen für eine Vielzahl von Datenverbindungen bereitstellt. In einer Ausführungsform ist der externe Empfangspufferspeicher mit einer dynamischen Verbindungsliste („link list") konfiguriert, um eine dynamische Zuordnung von Pufferressourcen zu vereinfachen. Wenn eine Verbindungsliste verwendet wird, werden Zellen im externen Pufferspeicher auf eine verbundene Weise gespeichert, um eine virtuelle oder logische Schlange bereitzustellen, welche Zellen enthält, die einer einzelnen Datenverbindung entsprechen.
  • Daher wird erfindungsgemäß ein Schnittstellensystem, wie beispielsweise ein SAR-Chip, bereitgestellt zum Verbinden eines Host-Systems mit einem ATM-System, wobei Eingabe- und Auslesekomponenten sowohl für den Empfang als auch die Aussendung partitioniert sind. Als solches kann die zur Implementierung der Eingabe- und Auslesekomponenten verwendete Schaltung zur Verwendung mit entweder dem Host oder dem ATM-System konfiguriert oder optimiert sein, mit welchem sie verbunden sind. Dementsprechend benötigt keine Modifizierung entweder des Hosts oder der ATM-Spezifikationen einen vollständigen Neuentwurf der gesamten Empfangs- oder Sendeschaltung, sondern mag nur einen Neuentwurf der geeigneten Eingabe- und Auslesekomponenten benötigen. Ein Partitionieren der Eingabe- und Auslesekomponenten vereinfacht auch die Entwicklung von Verbesserungen, die vorgesehen sind zum Verbinden mit alternativen Hosts oder alternativen B-ISDN-Schnittstellen. Falls beispielsweise das ATM-System durch ein alternatives System ersetzt wird, oder falls das Computersystem durch ein alternatives System ersetzt wird, kann die Neugestaltung der ATM-Schnittstelle darauf begrenzt werden, nur die Eingabe- und Auslesekomponenten eines davon neu zu gestalten. Das Partitionieren der Eingabe- und Auslesekomponenten vereinfacht auch die Identifizierung und Behebung von Fehlern im System. Die Art, auf welche die Eingabe- und Auslesekomponenten partitioniert werden, nämlich durch Verwenden einer Ablaufsteuerung in Kombination mit einem externen Pufferspeicher, erlaubt eine klare Partitionierung, während auch eine effiziente Steuerung über eine Vielzahl von Datenverbindungen mit unterschiedlichen Datenraten bereitgestellt wird.
  • Dementsprechend werden die oben angesprochenen Aufgaben der Erfindung erreicht. Andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus den beigefügten Zeichnungen und aus der nun folgenden Beschreibung der Erfindung klar.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm das ein ATM-Schnittstellensystem zum Umwandeln von Paketen in Zellen und umgekehrt zeigt.
  • 2 ist ein Blockdiagramm, das die Umwandlung von Datenpaketen darstellt, die unterschiedliche Datenkommunikationsverbindungen in verschachtelten Zellen darstellt.
  • 3 ist ein Blockdiagramm, das die Umwandlung von Datenpaketen darstellt, die mit unterschiedlichen Datenraten auf getrennten Datenverbindungen in verschachtelte Zellen übertragen worden sind.
  • 4 ist ein Blockdiagramm, das Komponenten des Schnittstellensystems von 1 darstellt, die sich auf ein Übertragen von Daten beziehen, und insbesondere eine Eingabeeinrichtung, eine Ausleseeinrichtung, eine Segmentierungseinrichtung und einen externen Pufferspeicher darstellt.
  • 5 ist ein Blockdiagramm, das die Segmentierungseinheit aus 4 mit darin gespeicherten beispielhaften Daten darstellt.
  • 6 ist ein Blockdiagramm einer ATM-Systemschnittstelle von 1, die sich auf das Empfangen von Daten bezieht, und insbesondere eine Eingabeeinrichtung, eine Ausleseeinrichtung, eine Segmentierungseinheit und einen dynamisch zugewiesenen externen Pufferspeicher darstellt.
  • 7 ist ein Blockdiagramm, welches ein Netzwerk zeigt, das die ATM-Systemschnittstelle der 1 bis 6 verwendet.
  • 8 ist ein Blockdiagramm, das eine beispielhafte Ausführungsform der ATM-Systemschnittstelle der 1 bis 6 zur Verwendung in dem in 7 dargestellten Netzwerk zeigt.
  • BEISPIELHAFTE AUSFÜHRUNGSFORMEN DER GENAUEN BESCHREIBUNG DER ERFINDUNG
  • Bezugnehmend auf die Figuren werden nun beispielhafte Ausführungsformen der Erfindung beschrieben. Zunächst werden Grundzüge der Erfindung, die auf eine große Vielzahl bestimmter Ausführungsformen zutreffen, unter Bezug auf die 1 bis 6 beschrieben. Dann werden eine bestimmte beispielhafte Implementierung der Erfindung und ein Gesamtnetzwerk, in welchem sie verwendet werden kann, unter Bezug auf die 7 und 8 beschrieben.
  • 1 zeigt eine ATM-Systemschnittstelle 10, die ein Host-Computersystem 12 und ein ATM-basiertes B-ISDN-Kommunikationssystem 14 verbindet. Eine Verbindung zum Host-Computer mag einen Systembus 16 verwenden. Eine Verbindung zum B-ISDN wird durch ein ATM-System 18 bereitgestellt, welches ein SAR-Chip sein kann. In einer Ausführungsform kann der Host-Computer 12 eine Sun Computer-Workstation sein. Das ATM-System 18 kann einen SONET-Rahmenbildner umfassen, welcher ein UTOPIA-Protokoll zum Übertragen von Daten entlang eines faseroptischen Kabels 20 oder anderer Medien verwendet. Jedoch kann die ATM-Schnittstelle 10 in Kombination mit anderen Systemen oder Ausrüstung verwendet werden. In der Tat können die Grundzüge der Erfindung auch in Nicht-ATM-Systemen ausgenutzt werden.
  • Die ATM-Schnittstelle 10 arbeitet so, dass sie vom Host-System 12 empfangene Pakete in Zellen zur Übertragung zum ATM-System 18 umwandelt, und umgekehrt.
  • Pakete können vom Hostsystem 12 zum Schnittstellensystem 10 unter Verwendung des Busses 16 übertragen werden. In anderen Ausführungsformen kann ein DMA („direct memory access"; Direktspeicherzugriffs)-Controller (nicht gezeigt) verwendet werden, um eine Datenübertragung zu erleichtern. Das genaue Mittel, durch das Daten vom Host-System 12 zum Schnittstellensystem 10 übertragen werden, ist nicht notwendigerweise Teil der Erfindung und wird daher nicht genauer beschrieben.
  • Eine Umwandlung von Paketen in Zellen wird als Segmentierung oder „Verzellung" bezeichnet. Eine Umwandlung von Zellen in Pakete wird als Wiederzusammenfügung oder „Paketisierung" bezeichnet. Hierin wird der Gesamtablauf des Segmentierens der Pakete in Zellen und Übertragen der Zellen als ein „Sendemodus bzw. Übertragungsmodus" bezeichnet. Der Gesamtablauf des Empfangens von Zellen und Wiederzusammenfügens der Zellen in Pakete wird als ein „Empfangsmodus" bezeichnet.
  • Wie oben angemerkt, ist die ATM-Schnittstelle 10 dazu vorgesehen, es dem Host-Computer, welcher dazu konfiguriert ist, Pakete zu verarbeiten, zu ermöglichen, Daten zum ATM-System zu übertragen, welches dazu konfiguriert ist, Zellen zu verarbeiten. Pakete können von unterschiedlicher Länge sein. Zellen sind von gleichförmiger Größe. Das Verhältnis von Paketen und Zellen ist in den 2 und 3 dargestellt. 2 stellt Sätze von Paketen 22 dar, die auf drei getrennten Datenverbindungen oder Kanälen übertragen werden, welche in einen Satz von verschachtelten Zellen 24 gleichförmiger Größe umgewandelt werden. Wie gezeigt, können Pakete 22 von unterschiedlicher Größe oder Länge sein und zu unterschiedlichen Zeiten beginnen und anhalten. Darüber hinaus kann eine bestimmte Datenkommunikation in einem einzelnen Paket enthalten sein, wie es auf Verbindung 2 übertragen gezeigt ist, oder in zwei oder mehr Paketen, wie es über die Verbindungen 1 und 3 übertragen gezeigt ist.
  • Zellen jedoch sind von gleicher Größe, wobei jede Zelle einen Anteil von Daten aus einem der Pakete bereitstellt. Zellen, die Daten enthalten, welche Paketen unterschiedlicher Verbindungen entsprechen, sind verschachtelt. In 2 identifizieren die Zahlen 1, 2 und 3 innerhalb eines sich ergebenden Zellenstroms 26 die Datenverbindung, von welcher die bestimmte Datenzelle extrahiert worden ist. Wie gezeigt, sind Daten von unterschiedlichen Datenverbindungen in dem Zellenstrom verschachtelt.
  • Die Datenverbindungen, welche die Pakete bereitstellen, können physikalischen Sendeverbindungen oder virtuellen Verbindungen entsprechen. Allgemein kann eine Datenverbindung eine virtuelle Schaltung darstellen, die zwei beliebige Einheiten in einem Gesamtnetzwerksystem verbindet. Die Datenverbindungen können so arbeiten, dass sie Daten mit unterschiedlichen Raten senden. Beispielsweise kann eine Verbindung bei 10 Megabits pro Sekunde (Mbps) arbeiten und eine andere bei 20 Mbps. Dies ist in 3 dargestellt, in der Verbindung 1 bei einer Übertragungsrate arbeitet, die dem zweifachen von Verbindung 2 entspricht. Wie dargestellt, werden N Bytes von Daten auf Verbindung 1 in der gleichen Zeitdauer übertragen, bei der N/2 Bytes auf Verbindung 2 übertragen werden. Um die schnellere Übertragungsrate von Verbindung 1 zu berücksichtigen, werden Datenzellen, die von Verbindung 1 extrahiert werden, im verschachtelten Zellenstrom 28 zweimal so häufig übertragen wie Zellen, die von Verbindung 2 empfangen werden. Auf diese Weise wird die höhere Datenrate von Verbindung 1 berücksichtigt, während zudem sichergestellt wird, dass Daten von Verbindung 2 auch übertragen werden. Es sollte angemerkt werden, dass eine strikte 2-zu-1-Verschränkung von Zellen der Verbindungen 1 und 2 nicht benötigt wird. Stattdessen reicht es aus, dass durchschnittlich Zellen von Verbindung 1 ungefähr doppelt so häufig auftreten wie Zellen von Verbindung 2.
  • Die Weise, mit der die ATM-Schnittstelle 10 Pakete in Zellen segmentiert und Zellen in Pakete wieder zusammenfügt, und zwar in einer Verbindung mit mehrfachen Datenverbindungen, welche jeweils potentiell mit unterschiedlichen Datenraten arbeiten, wird nun beschrieben. Zunächst wird das Sendemodussystem zum Segmentieren von Paketen in Zellen unter Bezug auf die 4 und 5 beschrieben, dann wird das Empfangsmodussystem zum Wiederzusammenfügen von Zellen in Pakete unter Bezug auf 6 beschrieben.
  • SENDEMODUS
  • 4 zeigt interne Komponenten der ATM-Schnittstelle 10 in Verbindung mit dem Bus 16 und dem ATM-System 18. Als seine grundlegenden Komponenten umfasst die ATM-Schnittstelle 10 eine Eingabeeinrichtung 30, eine Ausleseeinrichtung 32, einen externen Pufferspeicher 34, eine Ablaufsteuerung 36 und eine Aktivierungseinrichtung 38. Die Eingabeeinrichtung 30 steuert die Übertragung von Datenpaketen, welche irgendeiner von 128 physikalischen Datenübertragungsverbindungen von Bus 16 oder direkt von einem Host-Speicher (nicht gezeigt) entsprechen, falls ein DMA-Controller (ebenfalls nicht gezeigt) verwendet wird. Der externe Pufferspeicher 34 umfasst 128 FIFO-Schlangen, und zwar eine für jede der 128 physikalischen Datenverbindungen, zum Speichern von Daten von den Paketen. Die Ausleseeinrichtung 32 extrahiert Daten von den FIFO-Schlangen des Speichers 34 und segmentiert die Daten in Zellen zur Übertragung zu einem ATM-System 18. Techniken zum Speichern von Datenpaketen in FIFO-Schlangen und zum Extrahieren von Daten daraus und ihr Segmentieren in Zellen ist dem Fachmann gut bekannt und wird hierin nicht genau beschrieben.
  • Zu einem bestimmten Zeitpunkt ist die Eingabeeinrichtung 30 nur in der Lage, eine der 128 Verbindungen zu bedienen. Auf gleiche Weise ist zu einem bestimmten Zeitpunkt die Ausleseeinrichtung 32 in der Lage, Daten nur von einer der Schlangen des Speichers 34 zu extrahieren. Die Ablaufsteuerung 36 ist vorgesehen, um die Auswahl der Verbindungen zur Bedienung durch die Eingabeeinrichtung zu vereinfachen, während das Potential für sich in einem weiten Bereich ändernde Datenübertragungsraten zwischen den verschiedenen Verbindungen mit aufgenommen wird. Die Aktivierungseinrichtung 38 ist vorgesehen, um die Ausleseeinrichtung darauf hinzuweisen, dass Datenpakete, die einer der Datenverbindungen entsprechen, zur Übertragung in den externen Pufferspeicher verfügbar sind. Die Ausleseeinrichtung wiederum plant den Betrieb der Eingabeeinrichtung.
  • Kurz gesagt wird der Betrieb der Eingabeeinrichtung 30 durch die Auslesevorrichtung 32 mittels der Ablaufsteuerung 36 geplant. Die Ausleseeinrichtung 32 speichert eine Liste von Datenverbindungen, welche durch die Eingabeeinrichtung 30 zu bedienen sind, in der Ablaufsteuerung 36 in der Reihenfolge, in welcher die Verbindungen zu bedienen sind. Die Eingabeeinrichtung 30 initiiert nicht die Speicherung von Daten im Speicher 34, bis die zugehörige Datenverbindung durch die Ausleseeinrichtung 32 in der Ablaufsteuerung 36 eingeplant worden ist. Anfänglich, wenn ein neues Paket von Daten entlang einer davor ruhenden Datenverbindung verfügbar ist, signalisiert die Aktivierungseinrichtung 38 der Ausleseeinrichtung 32, dass neue Daten verfügbar sind. Die Ausleseeinrichtung 32 antwortet durch Einplanen der Datenverbindung in der Ablaufsteuerung 36.
  • Unter der Annahme, dass die Ablaufsteuerung 36 anfänglich leer ist, wird dann die Datenverbindung, welche die neuen Daten trägt, die erste darin eingeplante Verbindung sein. Die Eingabeeinrichtung 30 liest dann die Datenverbindungsnummer von der Ablaufsteuerung und beginnt, die Verbindung zu bedienen durch Initiieren einer Speicherung von Daten, die auf der Verbindung verfügbar sind, in der zugehörigen FIFO-Schlange von Speicher 34. Falls beispielsweise die Daten für die Datenverbindung 3 verfügbar sind, werden dann die Daten in der FIFO-Schlange Nummer 3 von Speicher 34 gespeichert. Daten von dem Paket werden im Speicher 34 gespeichert, bis entweder die FIFO-Schlange der zugehörigen Verbindung im Speicher 34 fast voll ist oder bis ein Ende des Pakets erreicht ist.
  • Falls zusätzliche Datenpakete auf anderen Verbindungen verfügbar sind, während die Ausleseeinrichtung Verbindung 3 bedient, werden die zusätzlichen Verbindungen dann in der Reihenfolge in der Ablaufsteuerung Verbindung 3 folgend eingeplant. Dies ist in 5 dargestellt, welche Verbindung 3 als den ersten Eintrag mit beispielhaften Verbindungen 2, 48 und 25 danach eingeplant zeigt. Einplanen jeder zu sätzlichen Verbindungen, während Verbindung 3 bedient wird, geschieht auf die gleiche Weise, wobei die Aktivierungseinrichtung die Verfügbarkeit neuer Daten detektiert und der Ausleseeinrichtung 32 signalisiert, welche die Verbindungsnummer oder einen Wert, der diese darstellt, in der Ablaufsteuerung 36 abspeichert. Es ist anzumerken, dass die Tiefe der Ablaufschlangensteuerung auf die Zahl bedienter physikalischer Verbindungen beschränkt ist. In anderen Worten wird jede bestimmte physikalische Verbindung nur einmal innerhalb der Ablaufsteuerung eingeplant. Die maximale Zahl an Verbindungen, die eingeplant werden kann, beträgt 128, was der maximalen Zahl physikalischer Verbindungen entspricht, die in dem beispielhaften System verfügbar sind.
  • Bis hierhin beschreibt das Beispiel nur das Steuern des Ablaufs von vorher ruhenden Datenverbindungen, für welche ein neues Datenpaket verfügbar ist. Jedoch werden auch Daten in der Ablaufsteuerung 36 ablaufgesteuert, wenn Daten aus dem Speicher 34 mittels der Ausleseeinrichtung 32 extrahiert werden. Im Besonderen beginnt die Ausleseeinrichtung 32, sobald eine ausreichende Datenmenge in einer der FIFO-Schlangen des Speichers 34 gespeichert ist, Daten aus der Warteschlange zur Segmentierung und Übertragung zum ATM-System 18 zu extrahieren. Wie oben angemerkt, sind Zellen zur Übertragung zum ATM-System verschachtelt. Als solches extrahiert die Ausleseeinrichtung 32 selektiv Daten, die eine Zelle wert sind, aus jeder FIFO-Warteschlange in den Ausgabe-ATM-Zellenstrom. Falls alle Datenverbindungen die gleiche Übertragungsrate aufweisen, extrahiert die Ausleseeinrichtung 32 dann eine gleiche Zahl von Zellen aus jeder Schlange im Speicher 34 mit gleichförmiger Frequenz. Falls jedoch die Datenverbindungen unterschiedliche Raten aufweisen, extrahiert die Ausleseeinrichtung 32 dann mehr Zellen aus solchen Warteschlangen, die Verbindungen mit schnellerer Rate entsprechen, als von solchen Warteschlangen, die Verbindungen mit langsamerer Rate entsprechen. Die Logik, mittels welcher die Ausgabeeinrichtung 32 bestimmte Datenverbindungen zum Extrahieren von Zellen auswählt, als auch die Art und Weise, mittels welcher die Zellen verschachtelt werden, mag in Übereinstimmung mit Techniken durchgeführt werden, die vom Fachmann gut verstanden sind, und solche Techniken werden hierin nicht beschrieben.
  • In jedem Fall wird für jede bestimmte Datenverbindung die zugehörige Schlange im Speicher 34 irgendwann geleert sein und zusätzliche Daten benötigen. Dementsprechend bestimmt, wenn die Ausleseeinrichtung Daten von einer ausgewählten Schlange des Speichers 34 extrahiert, die Ausleseeinrichtung bestimmen, ob ein Schwellwert erreicht worden ist, der angibt, dass die Schlange fast leer ist. Wenn ein solcher Schwellwert erreicht ist, platziert die Ausleseeinrichtung einen Wert, der die Verbindung identifiziert, die der fast leeren Schlange in der Ablaufsteuerung 36 entspricht, was bewirkt, dass die Eingabeeinrichtung 30 zu einem Zeitpunkt die zugehörige Verbindung bedient durch Einbringen zusätzlicher Daten in die fast leere FIFO-Schlange. Bedienen der Verbindung, welche der fast leeren Warteschlange entspricht, durch die Eingabeeinrichtung mag nicht sofort geschehen. Stattdessen muss das Bedienen der Verbindung abhängig vom Bedienen von jeglichen vorher eingeplanten Verbindungen warten, die innerhalb der Ablaufsteuerung 36 identifiziert sind.
  • Es kann gewürdigt werden, dass die obigen Schritte des Einplanens vorher ruhender Verbindungen und das Einplanen aktiver Verbindungen, für welche die zugehörige FIFO-Schlange fast leer geworden ist, kontinuierlich ablaufen, wenn Datenpakete über verschiedene Verbindungen empfangen werden, im Speicher 34 gespeichert werden und folgend extrahiert und zur Übertragung zu einem ATM-System 18 unterteilt werden.
  • Irgendwann sind die letzten Daten, die dem Ende einer bestimmten Datenübertragung auf einer bestimmten Verbindung entsprechen, im Speicher 34 gespeichert. Das Ende der Übertragung kann beispielsweise signalisiert werden durch Speichern einer Anzeige eines Endes eines Pakets im Speicher 34. Andere Techniken können für Datenübertragungen verwendet werden, welche verschiedene Pakete aufweisen. In jedem Fall detektiert die Ausgabeeinrichtung 32 das Übertragungsende und extrahiert die verbleibenden Daten, die der Übertragung entsprechen, aus dem Speicher 34. Die zugehörige Datenverbindung wird nicht wieder eingeplant, bis eine neue Übertragung entlang der Verbindung verfügbar ist, bei welcher die Zeitaktivierungseinrichtung 38 der Ausgabeeinrichtung 32 wiederum Signale gibt, was bewirkt, dass die Ausleseeinrichtung für diese bestimmte Verbindung „aufwacht". Die Ausleseeinrichtung plant dann die Eingabeeinrichtung 30 ein, um die vorher ruhende Verbindung wieder zu bedienen.
  • Kurz zusammengefasst umfasst der externe Pufferspeicher 34 eine FIFO-Schlange für jede physikalische Datenverbindung. Jedoch werden keine Daten in den Schlangen des Speichers 34 gespeichert, bis eine Eingabeeinrichtung 30 eingeplant ist, um die zugehörige Eingangsdatenverbindung mittels der Ausleseeinrichtung 32 über die Ablaufsteuerungsschlange 36 zu bedienen. Als solches arbeitet die Eingabeeinrichtung als ein Slave bzw. abhängig von der Ausleseeinrichtung. Auf diese Weise steu ert die Ausleseeinrichtung die Rate, mit welcher Daten vom Bus 16 auf jeder der physikalischen Datenverbindungen empfangen werden. Dies ist insbesondere wünschenswert, da die Datendurchsatzrate für verschiedene Verbindungen durch die Anforderungen an das ATM-System vorgegeben oder bestimmt ist. In anderen Worten besitzt die ATM-Schnittstelle 10 keine Kontrolle über die Rate, mit der Daten zum ATM-System zu übertragen sind, und kann nur die Rate steuern, mit welcher Pakete empfangen werden. Daher wird, durch Bereitstellen einer Eingabeeinrichtung, welche ein Slave der Ausleseeinrichtung ist, die Rate der Paketeingabe für jede bestimmte Verbindung gesteuert, um die Rate zu „bestimmen", mit welcher zugehörige Zellen für diese Verbindung zum ATM-System übertragen werden. Durch Einplanen von Verbindungen in der Ablaufsteuerung 36 stellt die Ausleseeinrichtung sicher, dass jede der zur Zeit aktiven Verbindungen durch die Eingabevorrichtung bedient wird, während auch sichergestellt wird, dass solche Verbindungen mit schnelleren Datenraten häufiger bedient werden. Letzteres tritt als ein natürliches Ergebnis des Einplanens von Verbindungen auf, wenn die zugehörigen FIFO-Warteschlangen leer werden.
  • Das Obige wird erreicht, ohne die Datenübertragungsraten für langsame Datenverbindungen ungebührlich zu kompromittieren. Stattdessen tauchen Zellen, die zu langsameren Datenverbindungen gehören, im Ausgabe-ATM-Strom bei einer durchschnittlichen Zell-„Frequenz" auf, welche auf die langsamere Datenrate abgestimmt ist (siehe beispielsweise 3). Der Datendurchsatz auf langsameren Datenverbindungen wird effektiv durch den Mechanismus der Ablaufsteuerung 36 „garantiert". Insbesondere hat, sobald eine Datenverbindung, ob langsam oder schnell, in der Ablaufsteuerung eingeplant ist, dies Vorrang vor jeder folgend eingeplanten Datenverbindung, und zwar sogar dann, falls die folgende Verbindung eine weit schnellere Übertragungsrate aufweist. Selbstverständlich können alternative Implementierungen ausgestaltet werden, dass ein oder mehrere Datenverbindungen, möglicherweise als ein Ergebnis sehr hoher Datenraten, eine Priorität über Verbindungen mit langsamer Datenrate unter allen Umständen gegeben wird. Dies kann implementiert werden unter Verwendung geeigneter Modifikationen an dem in 4 dargestellten System, möglicherweise dadurch, dass es der Ausleseeinrichtung 32 ermöglicht wird, Datenverbindungswerte in der Ablaufsteuerung 36 vor vorher eingeplanten Datenverbindungen einzufügen. Wie erkennbar, kann ein weiter Bereich an alternativen Ausführungsformen verwendet werden, die mit den allgemeinen Grundsätzen der Erfindung konsistent sind. Darüber hinaus kann die tatsächliche Implementierung der Funktionen, die in 4 dargestellt sind, erreicht werden unter Verwendung eines weiten Bereichs an Hardware- oder Software-Ausführungsformen.
  • EMPFANGSMODUS
  • Der Empfangsmodus der ATM-Schnittstelle 10 wird nun unter Bezug auf 6 beschrieben. Der Empfangsmodus arbeitet auf im Wesentlichen die gleiche Weise wie der Sendemodus, aber mit ein paar Unterschieden. Nur die Unterschiede zwischen dem Empfangsmodus und dem Sendemodus werden genauer beschrieben.
  • 6 zeigt die Empfangsmodusarchitektur oder Wiederzusammenfügungsarchitektur der ATM-Schnittstelle 10. Eine Eingabeeinrichtung 40 empfängt Zellen vom ATM-System 18 zur Speicherung im externen Pufferspeicher 44. Die Eingabeeinrichtung speichert die Zellen im externen Pufferspeicher in virtuellen Warteschlangen, was es der Ausleseeinrichtung ermöglicht, selektiv nur solche Zellen zu extrahieren, die Paketen von ausgewählten Datenverbindungen entsprechen. Die Pakete aus Zellen im externen Pufferspeicher werden unter der Kontrolle der Ausleseeinrichtung zum Host-Computer übertragen. Wie vorher kann die Übertragung von Daten zwischen dem Host-System und dem externen Pufferspeicher mittels eines DMA ausgeführt werden.
  • Eine Ablaufsteuerung 46 ermöglicht es der Eingabeeinrichtung 40, den Betrieb der Ausleseeinrichtung 42 zu planen. Im Vergleich zur Sendemodusarchitektur, bei der die Eingabeeinrichtung ein Slave bzw. abhängig von der Ausleseeinrichtung ist, ist in der Empfangsmodusarchitektur die Ausleseeinrichtung ein Slave bzw. abhängig von der Eingabeeinrichtung. Wie oben angemerkt, gibt es keine Kontrolle über den Empfang von Zellen vom ATM-System. Dementsprechend muss die Empfangseingabeeinrichtung unmittelbar auf empfangene Zellen reagieren und kann daher nicht effizient als ein Slave bzw. abhängig von der Ausleseeinrichtung arbeiten. Auch wird, weil die Empfangseingabeeinrichtung unmittelbar auf Zellen reagiert, die vom ATM-System 18 empfangen werden, keine Aktivierungseinrichtung (wie beispielsweise die Aktivierungseinrichtung 38 aus 4) benötigt. Ferner ist, während der Speicher 34 des Sendemodus gleich partitioniert ist, um FIFO-Schlangen für jede der 128 physikalischen Verbindungen bereitzustellen, der externe Pufferspeicher 44 des Empfangsmodus ein dynamisch zugewiesener Speicher, der in der Lage ist, nur eine einzelne virtuelle oder logische Warteschlange oder eine Vielzahl von solchen Warte schlangen bereitzustellen. Wiederum ist der Unterschied durch die Anforderung bedingt, unmittelbar auf Zellen zu reagieren, die vom ATM-System empfangen werden. Falls viele Zellen empfangen werden, die zu einer einzelnen Datenverbindung gehören, mag dann ein großer Teil des Speichers 44 benötigt werden. Dementsprechend wird die Begrenzung auf eine gleiche Warteschlangengröße, welche auf der Sendeseite auferlegt wird, nicht auf der Empfangsseite auferlegt. Eine dynamische Zuweisung von Ressourcen im Puffer 44, um virtuelle Warteschlangen zu ermöglichen, wird gesteuert mittels eines Verbindungslisten-Verwaltungsmanagers 50, welcher den Speicher mit der Eingabeeinrichtung 40 verbindet. Zellen werden im Puffer 44 mit Zellenzeigern gespeichert, die auf andere Zellen zeigen, welche zur gleichen Datenverbindung gehören. Die verbindungsgelisteten Zellen bilden die oben angesprochenen virtuellen oder logischen Warteschlangen. Der Verbindungslisten-Verwaltungsmanager 50 koordiniert die Speicherung von Zellen und Extraktion von Zellen gemäß den verschiedenen Zeigern.
  • Im Betrieb werden Zellen, die von der Eingabeeinrichtung 40 empfangen werden, eine Zellen zu einem Zeitpunkt im Speicher 44 gespeichert. Wann immer mindestens drei Zellen pro Verbindung im Speicher 44 gespeichert werden, wird ein Wert, der für die Verbindung repräsentativ ist, in der FIFO-Schlange der Ablaufsteuerung 46 eingefügt. Die Ausleseeinrichtung steuert die Extraktion von Daten aus dem Puffer 44 gemäß der Verbindungsabfolge, weiche durch die Ablaufsteuerung 46 vorgegeben wird.
  • Wie beim Sendemodus werden Unterschiede in den Datenübertragungsraten auf unterschiedlichen Verbindungen effektiv durch die Ablaufsteuerung verwaltet bzw. gemanagt Verbindungen mit schnellen Datenraten werden häufiger eingeplant, als solche mit langsameren Datenraten. Durch Bedienen von Verbindungen in der eingeplanten Reihenfolge hält die Empfangsausleseeinrichtung dadurch Schritt mit der Empfangseingabeeinrichtung. Selbstverständlich können Umstände eintreten, bei denen zu viele Daten zu schnell empfangen werden, was möglicherweise dazu führt, dass der gesamte Speicher 44 vollläuft, bevor die Empfangsausleseeinrichtung die geeigneten Verbindungen bedienen kann und die Daten entfernt werden. Solche Umstände treten nicht als ein Ergebnis der Erfindung auf, sondern können auch in herkömmlichen Datenübertragungssystemen auftreten. Herkömmliche Techniken können verwendet werden, um alle möglichen Overflow- bzw. Überlaufumstände zu behandeln. Auch kann der Empfangsmodus, wie der Sendemodus, dazu konfiguriert werden, bestimmten Datenverbindungen höheren Prioritäten zu garantieren, welche diese Verbindungen benötigen, um von der Empfangsausleseeinrichtung bedient zu werden, und zwar sogar falls andere Verbindungen vorher eingeplant worden sind.
  • Ein weiterer Unterschied zwischen der Empfangsmodusarchitektur und der Sendemodusarchitektur ist, dass ein Cache(speicher) 52 zum Cachen bzw. Zwischenspeichern von Datenverbindungsinformationen vorgesehen sein kann. In einer Ausführungsform ermöglicht der Cachespeicher es 1024 virtuellen Datenverbindungen, aufgenommen zu werden, und zwar sogar dann, wenn die Empfangsmodusarchitektur nur 128 physikalische Datenverbindungen bereitstellt. Es können Umstände auftreten, bei denen die im Cachespeicher gespeicherte Verbindungsinformation für eine bestimmte virtuelle Verbindung geräumt werden muss. Jedoch ist die Empfangsmodusarchitektur so konfiguriert, dass sie es verhindert, dass eine virtuelle Verbindung gelöscht wird, falls die dazu zugehörige physikalische Verbindung bereits in der Ablaufsteuerung 46 eingeplant worden ist. Andere Mechanismen zum Handhaben von Cacheräumungen können alternativ verwendet werden.
  • BEISPIELHAFTE AUSFÜHRUNGSFORM
  • Das Obige beschreibt auf einem hohem Niveau wichtige Gesichtspunkte beispielhafter Ausführungsformen der Erfindung. Im Folgenden wird ein bestimmter ASIC beschrieben, der die Erfindung verkörpert. Ein Netzwerk, das den ASIC verwendet, ist ebenfalls beschrieben.
  • 7 zeigt ein beispielhaftes Computersystemnetzwerk 100, das die ATM-Schnittstelle der 1 bis 6 beinhaltet. Das Computersystemnetzwerk 100 umfasst Hostcomputersysteme (nicht gezeigt), welche ein oder mehrere Netzwerkschnittstellenschaltung („Network Interface Circuit"; NIC)-SAR-ASICs umfassen, welche die in den 1 bis 6 dargestellte Architektur verkörpern. Die SAR-ASICs 112 sind durch einen lokalen ATM-Umschalter 114 mit einem öffentlichen ATM-Umschalter 116 gekoppelt, um eine asynchrone Übertragung von Daten zwischen Host-Computersystemen zu ermöglichen, die mit dem Netzwerk 110 gekoppelt sind. Alternativ können die SAR-ASICs 112 direkt mit dem öffentlichen ATM-Umschalter 116 gekoppelt sein. Wie in 7 gezeigt, kann das Computersystemnetzwerk 110 auch Computersysteme umfassen, welche die Verwendung eines LAN-Emulators 115 umfassen, der als ein Gateway zum Verbinden anderer Netzwerke, wie beispielsweise einem Ethernet- oder Tokenring-Netzwerk 119, dient, welche das ATM-Netzwerk als einen unterstützenden Rahmen verwenden.
  • 8 ist ein vereinfachtes Systemdiagramm, das die Architektur des SAR-ASIC 112 darstellt. Der SAR-ASIC 112 verbindet das Host-Computersystem, welches durch den Systembus 138 gekoppelt ist, mit dem Netzwerkmedium 140, das nach dem ATM-Protokoll arbeitet.
  • Der gezeigte SAR-ASIC 112 umfasst eine Systembusschnittstelle 120, eine generische Eingabe/Ausgabe („Generic Input/Output"; GIO)-Schnittstelle 124, einen System- und ATM-Schicht-Kern 122, eine lokale Slave-Schnittstelle 126, ein Feld von Sende (TX)-FIFOs 128, ein Feld von Empfangs (RX)-FIFOs 130, eine Medienschnittstelle 132, eine externe Pufferspeicherschnittstelle 134 und eine Takterzeugungsschaltung 136.
  • Zusammen arbeiten die Elemente 120 bis 136 der Netzwerkschnittstellenschaltung 112 zusammen, um Daten zwischen dem Host-Computer und den anderen Computern in dem Netzwerk durch mehrfache, dynamisch zugewiesene Verbindungen in mehrfachen Bandbreitengruppen asynchron zu übertragen. Zusammen arbeiten die Elemente des SAR-ASIC 112 als ein intelligenter DMA-Controller für mehrfache Verbindungen, der mit dem Systembus 138 des Host-Computersystems gekoppelt ist. Mehrfache Sende- und Empfangsverbindungen werden als virtuelle Verbindungen bedient, welche eine physikalische Vollduplex 155/622 Mbps-Verbindung verwenden. Mehrfache Datenpakete, die auf unterschiedliche Verbindungen über den Systembus 138 zum externen Pufferspeicher 142 über die externe Pufferspeicherschnittstelle 134 abonniert sind, werden durch den System- und ATM-Schicht-Kern 122 in Sendezellen zur Übertragung zu den Medien 140 durch die Medienschnittstelle 132 segmentiert.
  • Der Kern 122 umfasst auch eine Wiederzusammenfügungs- bzw. Reassemblierungslogik, um eine Wiederzusammenfügung der Empfangspakete zu vereinfachen. Die TX- und RX-FIFOs 128, 130, die zwischen dem Kern 122 und der Medienschnittstelle 132 gekoppelt sind, stellen die Sende- und Empfangs-Zellennutzlasten der Sende- bzw. Empfangspakete bereit. Die Medienschnittstelle 132 sendet und empfängt Zellen zum bzw. vom Medium 140 des Netzwerks, und zwar angetrieben durch die Taktsignale, die durch die Takterzeugungsschaltung 136 bereitgestellt werden. Das Medium bzw. die Medien, und dadurch die Medienschnittstelle 132, entspricht dem UTOPIA-Standard, wie durch die ATM-Forum-Ad Hoc-Spezifikation beschrieben. Um mit der UTOPIA-Spezifikation übereinzustimmen, stellt die Takterzeugungs schaltung 136 entweder ein Taktsignal von 20 MHz oder 40 MHz bereit, um es der Medienschnittstelle 132 zu ermöglichen, einen Bytestrom bei 20 MHz oder 155 Mbps oder einen 16-Bit-Strom bei 40 MHz für einen 622 Mbps-Datenstrom zu unterstützen.
  • Die Medienschnittstelle 132 empfängt 52 Byte lange Datenzellen, welche jeweils einen 4 Byte langen Zellenkopfabschnitt und eine 48 Byte lange Nutzlast aufweisen, vom TX-FIFO 128. Die Medienschnittstelle 132 fügt eine Prüfsumme als ein fünftes Byte des Zellenkopfabschnitts in jede Zelle vor einem Bereitstellen der 53 Byte langen Datenzelle zu dem Medium 140 ein. Wenn umgekehrt die Medienschnittstelle 132 Zellen vom Medium 140 empfängt, untersucht die Schnittstelle 132 die Prüfsumme im fünften Byte jeder Zelle, um zu bestimmen, ob die Prüfsumme korrekt ist. Falls dies so ist, wird das Byte, das die Prüfsumme darstellt, aus der Zelle herausgelöst, und die Zelle wird an den RX-FIFO 130 weitergeleitet. Ansonsten wird die gesamte Zelle fallengelassen.
  • Die Systembusschnittstelle 120 und die GIO-Schnittstelle 124 isolieren das Host-Computersystem von den Besonderheiten der Übertragung zum Medium 140. Ferner ist der Kern 122 von den Besonderheiten des Systembusses 138 und der Host-Datenstruktur isoliert. In einer Ausführungsform ist der Systembus ein SBus, wie in der IEEE („Institute of Electronics and Electrical Engineers")-Standard-1496-Spezifikation beschrieben. Die Systembusschnittstelle 120 ist so konfiguriert, dass sie gemäß der Spezifikationen des SBus kommuniziert. Die Systembusschnittstelle 120 kann so konfiguriert sein, dass sie zu unterschiedlichen Host-Computersystembussen konform ist. Die Systembusschnittstelle 120 ist auch dazu konfiguriert, gemäß der Protokolle Daten zu senden und zu empfangen, welche durch die GIO („Generic I/O")-Schnittstelle 124 spezifiziert sind. Die GIO-Schnittstelle 124 stellt eine einzelne Schnittstelle bereit, durch welche der Kern 122 mit dem Host-Computer kommuniziert. Daher braucht der Kern 122 für unterschiedliche Ausführungsformen des SAR-ASIC 112, welcher eine Verbindung mit unterschiedlichen Host-Computersystemen und -Bussen herstellt, nicht verändert zu werden.
  • Wie bereits angemerkt, schirmt der SAR-ASIC 112 auch die Details eines Zellenversatzes der asynchronen Übertragung von den Applikationen ab, die auf dem Host-Computersystem laufen. Für die vorliegenden Zwecke wird angenommen, dass Software, die auf dem Host-Computersystem 148 läuft, Sende- und Empfangsdaten verwaltet, und zwar unter Verwendung von Umwicklungs („wrap around")-Sende- und Empfangs-Ringen mit Paketschnittstellen, wie es aus dem Stand der Technik gut bekannt ist.
  • Was beschrieben worden ist, ist ein ATM-Schnittstellensystem zum Behandeln einer Segmentierung von Paketen in Zellen und einer Wiederzusammenfügung von Zellen in Pakete zur Verwendung beim Verbinden eines Systembusses, der mit einem oder mehreren Host-Computern verbunden ist, mit einem B-ISDN-System, das mit einem asynchronen Übertragungsmodus arbeitet. Die Grundlagen der Erfindung können jedoch auch auf andere Systeme angewandt werden und können ihren Nutzen in jeglichem Datenumwandlungssystem finden, insbesondere dort, wo mehrfache Verbindungen bereitgestellt werden, von denen jede möglicherweise bei unterschiedlichen Datenübertragungsraten arbeitet. Darüber hinaus können die Grundzüge der Erfindung auch auf Systeme mit mehrfachen Verbindungen angewandt werden, die jeweils mit der gleichen Datenrate arbeiten.
  • Dementsprechend sind die hierin beschriebenen beispielhaften Ausführungsformen lediglich darstellender Natur bezüglich der allgemeinen Grundzüge der Erfindung und sollten nicht als den Umfang der Erfindung beschränkend aufgefasst werden.

Claims (19)

  1. Schnittstellensystem zum Verbinden eines Hostcomputersystems (148) mit einem asynchronen Übertragungsmodus-System (18), d. h. ATM-System, wobei das Schnittstellensystem Datenpakete in Datenzellen und umgekehrt konvertiert, wobei das Schnittstellensystem umfasst: einen externen Pufferspeicher (34, 44) zum anfänglichen Puffern von Datenzellen; eine integrierte Schaltung (112) mit getrennten Eingabe- und Ausleseeinrichtungen (30, 32; 40, 42) zum Eingeben und Auslesen von Datenzellen in den und aus dem externen Pufferspeicher (34, 44), wobei sich der externe Pufferspeicher außerhalb der integrierten Schaltung befindet; und eine Aktivierungseinrichtung, die mit der Ausleseeinrichtung gekoppelt ist und derart ausgelegt ist, dass sie die Ausleseeinrichtung benachrichtigt, dass Datenpakete zum Übertragen in den externen Pufferspeicher zur Verfügung stehen.
  2. Schnittstellensystem nach Anspruch 1, ferner umfassend ein Ablaufsteuerungselement (36, 46), das mit der Eingabeeinrichtung und der Ausleseeinrichtung (30, 32; 40, 42) verbunden ist, wobei das Ablaufsteuerungselement (36, 46) derart ausgelegt ist, dass es die Eingabeeinrichtung und die Ausleseeinrichtung steuert, um Daten zwischen dem Hostcomputersystem (148) und dem externen Pufferspeicher (34, 44) in Reaktion auf eine Datenübertragung zwischen dem externen Pufferspeicher (34, 44) und dem ATM-System (18) durch die Eingabeeinrichtung und die Ausleseeinrichtung (30, 32; 40, 42) zu übertragen.
  3. System nach Anspruch 2, wobei: der Pufferspeicher (34, 44) einen Sendepufferspeicher (34) zum Puffern von Daten in einer Mehrzahl von Schlangen mit einer Schlange für jede einer Mehrzahl von Kommunikationsverbindungen umfasst; die Eingabeeinrichtungen (30, 40) eine Sendeeingabeeinrichtung (30) zum Eingeben von Daten in die Schlangen des Sendepufferspeichers (34) umfassen; die Ausleseeinrichtungen (32, 42) eine Sendeausleseeinrichtung (32), die von der Eingabeeinrichtung getrennt ist, zum Extrahieren von Daten aus den Schlangen des Sendepufferspeichers (34) umfasst; und das Ablaufsteuerungselement (36, 46) eine Sendeablaufsteuerung (36) umfasst, die mit der Sendeeingabeeinrichtung (30) und der Sendeausleseeinrichtung (32) verbunden ist, um Daten in den Schlangen des Sendepufferspeichers (34) in Reaktion auf Daten aus den Schlangen zu speichern, die aus dem Sendepufferspeicher (34) durch die Sendeausleseeinrichtung (32) extrahiert werden.
  4. System nach Anspruch 3, wobei die Sendeablaufsteuerung (36) dazu ausgebildet ist, zu bestimmen, wann die Schlangen des Sendepufferspeichers (34) nahezu leer werden, und dazu ausgebildet ist, die Sendeeingabeeinrichtung (30) derart zu steuern, dass Daten in den Schlangen des Sendepufferspeichers (34) in der Reihenfolge gespeichert werden, in der die Schlange des Sendepufferspeichers (34) nahezu leer wird.
  5. System nach Anspruch 4, wobei die Sendeablaufsteuerung (36) eine FIFO-Schlange umfasst und wobei die Informationen, die die nahezu leeren Schlangen des Sendepufferspeichers (34) identifizieren, in der FIFO-Schlange der Sendeablaufsteuerung (36) in der Reihenfolge gespeichert werden, in der die Schlangen nahezu leer werden.
  6. System nach Anspruch 5, wobei die Sendeeingabeeinrichtung (30) dazu ausgebildet ist, die Verbindungen zum Speichern von Daten in den Sendepufferspeicher (34) gemäß der Reihenfolge auszuwählen, in der die korrespondierenden Schlangen des Sendepufferspeichers (34) in der Sendeablaufsteuerung (36) dargestellt werden.
  7. System nach Anspruch 3, wobei die auf der Mehrzahl von Verbindungen übertragenen Daten mit unterschiedlichen Raten übertragen werden.
  8. System nach Anspruch 3, wobei das System mit 128 Verbindungen verbunden ist und 128 FIFO-Schlangen in dem Sendepufferspeicher (34) und 128 FIFO-Schlangeneinträge in der Sendeablaufsteuerung (36) umfasst.
  9. System nach Anspruch 3, wobei die Sendeeingabeeinrichtung (30) dazu ausgebildet ist, Daten von Paketen in den Sendepufferspeicher (34) zu speichern und die Sendeausleseeinrichtung (32) dazu ausgebildet ist, die aus dem Sendepufferspeicher (34) extrahierten Daten in Zellen zu konvertieren.
  10. System nach Anspruch 2, wobei: der Pufferspeicher (34, 44) einen Empfangspufferspeicher (44) zum Puffern von Daten in einer oder mehreren Schlangen umfasst; die Eingabeeinrichtungen (30, 40) eine Empfangseingabeeinrichtung (40) zum Eingeben von Daten in die Schlangen des Empfangspufferspeichers (44) umfassen; die Ausgabeeinrichtungen (32, 42) eine Empfangsausgabeeinrichtung (42) zum Extrahieren von Daten aus den Schlangen des Empfangspufferspeichers (44) umfassen; und das Ablaufsteuerungselement (36, 46) eine Empfangsablaufsteuerung (46), die mit der Empfangseingabeeinrichtung (40) und der Empfangsausleseeinrichtung (42) verbunden ist, zum Steuern der Empfangsausleseeinrichtung (42) umfasst, um Daten aus den Schlangen des Empfangspufferspeichers (44) in Reaktion auf Daten zu extrahieren, die durch die Empfangseingabeeinrichtung (40) in den Schlangen gespeichert werden.
  11. System nach Anspruch 10, wobei die Empfangsablaufsteuerung (46) derart ausgelegt ist, dass sie die Empfangsausgabeeinrichtung (42) derart steuert, dass sie Daten aus den Schlangen des Empfangspufferspeichers (44) in der Reihenfolge extrahiert, in der die Schlangen des Empfangspufferspeichers (44) gefüllt werden.
  12. System nach Anspruch 11, wobei die Empfangsablaufsteuerung (46) eine FIFO-Schlange umfasst und wobei die Informationen, die die Schlangen des Empfangspufferspeichers (44) identifizieren, in der FIFO-Schlange der Empfangsablaufsteuerung (46) in der Reihenfolge gespeichert werden, in der die Schlangen zumindest mit einer minimalen Datenmenge gefüllt werden.
  13. System nach Anspruch 12, wobei die Empfangsausleseeinrichtung (42) derart ausgelegt ist, dass sie die Verbindungen zum Extrahieren von Daten aus dem Empfangspufferspeicher (44) in der Reihenfolge auswählt, durch die die korespendierenden Schlangen des Empfangspufferspeichers (44) in den Schlangen der Empfangsablaufsteuerung dargestellt werden.
  14. System nach Anspruch 13, wobei die auf der Mehrzahl von Verbindungen übertragenen Daten mit unterschiedlichen Raten übertragen werden.
  15. System nach Anspruch 14, das mit einem ATM-System (18) verbunden ist, das eine Mehrzahl virtueller Datenverbindungen bereitstellt und zum Verarbeiten von weniger physikalischen Datenverbindungen ausgelegt ist und wobei das System ferner einen Cache (52) zum Cachen von virtuellen Verbindungen umfasst.
  16. System nach Anspruch 15, ferner umfassend eine Räumeinheit zum Räumen der virtuellen Datenverbindungen aus dem Cache (52).
  17. System nach Anspruch 16, wobei die Räumeinheit dazu ausgebildet ist, die Empfangsablaufsteuerung (46) zu überprüfen, und dazu ausgebildet ist, keine virtuelle Verbindung zu räumen, die einer physikalischen Verbindung zugeordnet ist, die derzeit aktiv ist.
  18. System nach Anspruch 10, wobei die Empfangseingabeeinrichtung dazu ausgebildet ist, Daten aus Zellen im Empfangspufferspeicher (44) in der Paketreihenfolge zu speichern, und die Empfangsausleseeinrichtung (42) dazu ausgebildet ist, die Pakete von Zellen aus dem Empfangspufferspeicher (44) zu extrahieren.
  19. Verfahren zum Steuern der Datenübertragung zwischen einem Hostcomputersystem (148) und einem asynchronen Übertragungsmodussystem (18), d. h. ATM-System, wobei das Verfahren folgende Schritte umfasst: zum Übertragen von Daten an das ATM-System (18): Detektieren der Verfügbarkeit von Daten für eine Datenverbindung; Steuern einer Sendeeingabeeinrichtung (30), um Daten für die Verbindung in eine Schlange eines externen Sendepufferspeichers (34) einzugeben, der sich außerhalb der mit der Verbindung korrespondierenden Sendeeingabeeinrichtung befindet; Steuern einer Sendeausleseeinrichtung (32), die von der Sendeeingabeeinrichtung (34) getrennt ist, um Daten aus der Schlange des externen Sendepufferspeichers (34) zu extrahieren, der sich außerhalb der Sendeausleseeinrichtung befindet, wobei die Sendeausleseeinrichtung (32) durch eine Aktivierungseinrichtung aktiviert wird, die die Sendeausleseeinrichtung alarmiert, dass mit den Datenverbindungen korrespondierende Datenpakete zur Übertragung in den externen Puffersendespeicher zur Verfügung stehen; Steuern der Sendeeingabeeinrichtung (30), um zusätzliche Daten in der Schlange des externen Sendepufferspeichers (34) in Reaktion auf das Extrahieren der Daten aus der Schlange durch die Sendeausleseeinrichtung (32) zu speichern; und zum Empfangen von Daten von dem ATM-System (18): Detektieren der Verfügbarkeit von mit einer Datenverbindung korrespondierenden Daten; Steuern einer Empfangseingabeeinrichtung (40), um mit der Datenverbindung korrespondierende Daten in einer Schlange eines externen Empfangspufferspeichers (44) zu speichern, der sich außerhalb der Empfangseingabeeinrichtung befindet; und Steuern einer Empfangsausleseeinrichtung (42), die von der Empfangseingabeeinrichtung (40) getrennt ist, um Daten aus der Schlange des externen Empfangspufferspeichers (44), der sich außerhalb der Empfangsausleseeinrichtung befindet, in Reaktion auf darin gespeicherte Daten zu extrahieren.
DE69636846T 1995-07-07 1996-07-02 Verfahren und Apparat zur Aufteilung von Lade- und Entladefunktionen in einer ATM-Schnittstelle Expired - Fee Related DE69636846T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US499573 1983-05-31
US08/499,573 US5625625A (en) 1995-07-07 1995-07-07 Method and apparatus for partitioning data load and unload functions within an interface system for use with an asynchronous transfer mode system

Publications (2)

Publication Number Publication Date
DE69636846D1 DE69636846D1 (de) 2007-03-08
DE69636846T2 true DE69636846T2 (de) 2007-11-08

Family

ID=23985786

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69636846T Expired - Fee Related DE69636846T2 (de) 1995-07-07 1996-07-02 Verfahren und Apparat zur Aufteilung von Lade- und Entladefunktionen in einer ATM-Schnittstelle

Country Status (4)

Country Link
US (1) US5625625A (de)
EP (1) EP0752798B1 (de)
JP (1) JP3808548B2 (de)
DE (1) DE69636846T2 (de)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US5949781A (en) * 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5548587A (en) * 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
JPH08331141A (ja) * 1995-06-01 1996-12-13 Hitachi Ltd セル/パケットの組立分解装置およびネットワ−クシステム
US5809024A (en) * 1995-07-12 1998-09-15 Bay Networks, Inc. Memory architecture for a local area network module in an ATM switch
US5796735A (en) * 1995-08-28 1998-08-18 Integrated Device Technology, Inc. System and method for transmission rate control in a segmentation and reassembly (SAR) circuit under ATM protocol
US5758089A (en) * 1995-11-02 1998-05-26 Sun Microsystems, Inc. Method and apparatus for burst transferring ATM packet header and data to a host computer system
US5974466A (en) * 1995-12-28 1999-10-26 Hitachi, Ltd. ATM controller and ATM communication control device
US5841772A (en) * 1996-03-07 1998-11-24 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5920561A (en) * 1996-03-07 1999-07-06 Lsi Logic Corporation ATM communication system interconnect/termination unit
US6535512B1 (en) 1996-03-07 2003-03-18 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5982749A (en) * 1996-03-07 1999-11-09 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5848068A (en) * 1996-03-07 1998-12-08 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5790544A (en) * 1996-03-25 1998-08-04 International Business Machines Corporation ATM cell-to-frame reassembly method and apparatus for overrun avoidance
US5878045A (en) * 1996-04-26 1999-03-02 Motorola, Inc. Method and apparatus for converting data streams in a cell based communications system
US6034945A (en) 1996-05-15 2000-03-07 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US5802051A (en) * 1996-06-10 1998-09-01 Telefonaktiebolaget Lm Ericsson Multiplexing of voice and data minicells
US5870628A (en) * 1996-06-11 1999-02-09 International Business Machines Corporation Adaptor for receiving and processing asynchronous transfer mode cells within a computer network
US6128299A (en) * 1996-08-23 2000-10-03 Virata Ltd. System for low-cost connection of devices to an ATM network
US5987034A (en) * 1996-08-30 1999-11-16 Cisco Technology, Inc. ATM cells within frame relay technology
US5991867A (en) * 1996-09-12 1999-11-23 Efficient Networks, Inc. Transmit scheduler for an asynchronous transfer mode network and method of operation
US6829240B1 (en) * 1996-11-27 2004-12-07 Mindspeed Technologies, Inc. System for, and method of, ATM segmentation and re-assembly of cells providing streaming data
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
US5844890A (en) * 1997-03-25 1998-12-01 International Business Machines Corporation Communications cell scheduler and scheduling method for providing proportional use of network bandwith
US6041060A (en) * 1997-04-30 2000-03-21 International Business Machines Corporation Communications cell scheduler and scheduling method for providing periodic activities
US5940404A (en) * 1997-04-30 1999-08-17 International Business Machines Corporation Method and apparatus for enhanced scatter mode allowing user data to be page aligned
US6084881A (en) * 1997-05-22 2000-07-04 Efficient Networks, Inc. Multiple mode xDSL interface
US6075788A (en) * 1997-06-02 2000-06-13 Lsi Logic Corporation Sonet physical layer device having ATM and PPP interfaces
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
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6026090A (en) * 1997-11-14 2000-02-15 Fore System, Inc. Method and system for receiving ATM cells from an ATM network by a host
US6526060B1 (en) 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
GB2332333B (en) * 1997-12-09 2003-01-15 Sony Uk Ltd An ATM re-assembly circuit and method
US6570850B1 (en) 1998-04-23 2003-05-27 Giganet, Inc. System and method for regulating message flow in a digital data network
US6795442B1 (en) * 1998-04-23 2004-09-21 Emulex Design & Manufacturing Corporation System and method for scheduling message transmission and processing in a digital data network
GB9821763D0 (en) * 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821768D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821800D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821770D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821766D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821792D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821791D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821789D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Jitter handling
US6269413B1 (en) 1998-10-30 2001-07-31 Hewlett Packard Company System with multiple dynamically-sized logical FIFOs sharing single memory and with read/write pointers independently selectable and simultaneously responsive to respective read/write FIFO selections
US6304936B1 (en) 1998-10-30 2001-10-16 Hewlett-Packard Company One-to-many bus bridge using independently and simultaneously selectable logical FIFOS
US6584121B1 (en) * 1998-11-13 2003-06-24 Lucent Technologies Switch architecture for digital multiplexed signals
US6810042B1 (en) * 1999-01-04 2004-10-26 Cisco Technology, Inc. Method of queuing traffic to many destinations covering a wide range of transmission speeds while minimizing buffer size
US6424658B1 (en) 1999-01-29 2002-07-23 Neomagic Corp. Store-and-forward network switch using an embedded DRAM
US6765911B1 (en) 1999-02-03 2004-07-20 International Business Machines Corporation Communications adapter for implementing communications in a network and providing multiple modes of communications
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
US7020141B1 (en) * 1999-10-12 2006-03-28 Nortel Networks Limited ATM common part sub-layer device and method
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
US6714562B1 (en) * 2000-03-10 2004-03-30 International Business Machines Corporation Method and apparatus for segmenting network traffic variable length frames
US6965603B1 (en) 2000-03-20 2005-11-15 Cortina Systems, Inc. Circuits for combining ATM and packet data on an optical fiber
US6751224B1 (en) 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data
US6751214B1 (en) 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Methods and apparatus for dynamically allocating bandwidth between ATM cells and packets
US6810039B1 (en) 2000-03-30 2004-10-26 Azanda Network Devices, Inc. Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels
US6934280B1 (en) 2000-05-04 2005-08-23 Nokia, Inc. Multiple services emulation over a single network service
US6694388B1 (en) * 2000-05-31 2004-02-17 3Com Corporation Dynamic queuing system incorporating multiple queues sharing a single memory
US7224693B1 (en) * 2000-08-11 2007-05-29 Ericsson Ab Long packet handling
US6925506B1 (en) * 2000-09-29 2005-08-02 Cypress Semiconductor Corp. Architecture for implementing virtual multiqueue fifos
US20030046457A1 (en) * 2000-10-02 2003-03-06 Shakuntala Anjanaiah Apparatus and method for an interface unit for data transfer between processing units in the asynchronous transfer mode
KR100453349B1 (ko) * 2001-12-14 2004-10-15 엘지전자 주식회사 서로 다른 물리계층의 데이터 정합 장치 및 방법
US6804692B2 (en) 2001-12-21 2004-10-12 Agere Systems, Inc. Method and apparatus for reassembly of data blocks within a network processor
AU2003248866A1 (en) * 2002-07-08 2004-01-23 Globespanvirata Incorporated Method and system for optimizing utopia clav polling arbitration
US7738496B1 (en) 2002-12-31 2010-06-15 Cypress Semiconductor Corporation Device that provides the functionality of dual-ported memory using single-ported memory for multiple clock domains
US7924845B2 (en) * 2003-09-30 2011-04-12 Mentor Graphics Corporation Message-based low latency circuit emulation signal transfer
US7934057B1 (en) 2003-12-24 2011-04-26 Cypress Semiconductor Corporation Logic for implementing a dual clock domain read access with predictable timing for bi-directional inputs/outputs
FR2877176B1 (fr) * 2004-10-22 2007-04-20 Agence Spatiale Europeenne Procede et dispositif pour ordonnancer et transmettre des paquets de donnees a partir d'un emetteur commun vers une pluralite d'utilisateurs partageant un canal de transmission coummun.
US7599381B2 (en) * 2004-12-23 2009-10-06 Cisco Technology, Inc. Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
US8145809B1 (en) 2007-03-09 2012-03-27 Cypress Semiconductor Corporation Busy detection logic for asynchronous communication port

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214642A (en) * 1989-02-21 1993-05-25 Hitachi, Ltd. ATM switching system and adaptation processing apparatus
US5274768A (en) * 1991-05-28 1993-12-28 The Trustees Of The University Of Pennsylvania High-performance host interface for ATM networks
US5379297A (en) * 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
DE69328320T2 (de) * 1992-01-09 2000-11-30 Cabletron Systems Inc Vorrichtung und Verfahren zur Datenübertragung zu und von einem Wirtrechnersystem
US5412655A (en) * 1993-01-29 1995-05-02 Nec Corporation Multiprocessing system for assembly/disassembly of asynchronous transfer mode cells
US5420858A (en) * 1993-05-05 1995-05-30 Synoptics Communications, Inc. Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
WO1995014269A1 (en) * 1993-11-19 1995-05-26 The Trustees Of The University Of Pennsylvania A high-performance host interface for networks carrying connectionless traffic
US5548587A (en) * 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications

Also Published As

Publication number Publication date
US5625625A (en) 1997-04-29
DE69636846D1 (de) 2007-03-08
EP0752798A2 (de) 1997-01-08
EP0752798A3 (de) 1999-05-19
JPH09121209A (ja) 1997-05-06
EP0752798B1 (de) 2007-01-17
JP3808548B2 (ja) 2006-08-16

Similar Documents

Publication Publication Date Title
DE69636846T2 (de) Verfahren und Apparat zur Aufteilung von Lade- und Entladefunktionen in einer ATM-Schnittstelle
DE69630084T2 (de) Anlage und Verfahren zur Paketierung und Segmentierung von MPEG-Paketen
DE60038600T2 (de) Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE69727936T2 (de) Verfahren und vorrichtung zur wiederzusammensetzung von paketen in eine nachricht, in einem atm-kommunikationssystem
DE69533981T2 (de) Multimedia-multiplexvorrichtung und verfahren mit dynamischer paketsegmentierung
DE69935608T2 (de) Verfahren und system zur multiprotokoll-konversionshilfe für einen netzbeschleuniger
DE69221028T2 (de) Puffersteuerung für einen Kanal mit variabler Bitrate
DE69927808T2 (de) Adaptive zuweisungsanlage und-verfahren zur bedienung von mehrstufigen qos in der aal-2 schicht
DE69535477T2 (de) Paketverwaltungsgerät für schnelles Paketnetzwerk
DE69737678T2 (de) Signalisierung im Nutzbereich zum Übergabe-Vorgang in einem mobilen Telekommunikationssystem
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE69913535T2 (de) Überlastregelung einer AAL2-Verbindung
DE4408118A1 (de) Verbessertes Zuteilungsverfahren für virtuelle Pfad- und virtuelle Kanalidentifikatoren für einen asynchronen Transfermodus und Vorrichtung dafür
DE60028903T2 (de) Verfahren und Vorrichtung zur Kommunikationskontrolle
EP0692893B1 (de) Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus
DE10119754B4 (de) Verfahren und Vorrichtung zum Speichern von Datenpaketen
DE69308141T2 (de) Schnittstellenverfahren für einen atm-vermittlungskern
DE69728382T2 (de) Zellenausrichter
DE10023037A1 (de) Koppelfeld für ein Fernmeldenetz und Verfahren zur Vermittlung in einem Koppelfeld
DE69937666T2 (de) Zuordnung der Bandbreite und Übertragungssystem von Paketen mit variabeler Länge
DE69723683T2 (de) Entkopplung von minizellen in atm-zellen
DE69917639T2 (de) Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung
DE60207366T2 (de) Sequenzierter Hochgeschwindigkeitsmehrkanalbus
DE60211466T2 (de) Prozessor mit reduzierten Speicheranforderungen für Hochgeschwindigkeitsrouting und Vermittlung von Paketen

Legal Events

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