DE69733741T2 - Vermittlungssystem - Google Patents

Vermittlungssystem Download PDF

Info

Publication number
DE69733741T2
DE69733741T2 DE69733741T DE69733741T DE69733741T2 DE 69733741 T2 DE69733741 T2 DE 69733741T2 DE 69733741 T DE69733741 T DE 69733741T DE 69733741 T DE69733741 T DE 69733741T DE 69733741 T2 DE69733741 T2 DE 69733741T2
Authority
DE
Germany
Prior art keywords
cell
memory
switching
output
cells
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
Application number
DE69733741T
Other languages
English (en)
Other versions
DE69733741D1 (de
Inventor
Alain Blanc
Jean-Claude Robbe
Christian Landry
Michel Poret
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69733741D1 publication Critical patent/DE69733741D1/de
Publication of DE69733741T2 publication Critical patent/DE69733741T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1561Distribute and route fabrics, e.g. Batcher-Banyan
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/256Routing or path finding in ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/562Routing
    • 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/5625Operations, administration and maintenance [OAM]
    • 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/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die Erfindung betrifft die Telekommunikation und insbesondere ein Vermittlungssystem zum Weiterleiten von Zellen von einem aus einer Gruppe vom M Eingangsanschlüssen zu einem aus einer Gruppe von M Ausgangsanschlüssen.
  • ZUGRUNDE LIEGENDE TECHNIK
  • Der Bedarf an Hochgeschwindigkeitssystemen nimmt insbesondere mit der Entwicklung komplexerer Netzwerke, Multimediaanwendungen und Hochgeschwindigkeitsdatenübertragungen immer mehr zu.
  • Heutzutage werden Vermittlungen mit 100 Gbit/s immer stärker verlangt. Ein erstes Problem besteht dabei darin, dass die Geschwindigkeit der Vermittlung stark von der gerade verwendeten Technologie abhängt. Bei einem bestimmten technologischen Stand dürfte es daher schwierig sein, die Leistung bekannter Vermittlungseinheiten zu steigern. Deshalb ist es erforderlich, elementare Koppelmodule so zusammenzuschalten, dass ihre charakteristischen Eigenschaften und Leistungsparameter erhalten bleiben. Insbesondere ist es wichtig, dass zur Realisierung der gesamten Koppelstruktur keine Eingangs- oder Ausgangsanschlüsse benötigt werden und so dem Benutzer weniger Anschlüsse zur Verfügung stehen. Außerdem muss der Einzelstatus des gesamten Vermittlungssystems erhalten bleiben.
  • Ein zweites Problem besteht darin, dass in den Räumlichkeiten der Kunden Leitungsanschlüsse für relativ lange Zeit fest installiert sind und die Investitionen der Telekommunikationsanlagen nicht einfach abgeschrieben werden können. Einerseits besteht also der Wunsch nach Vermittlungssystemen mit höherer Geschwindigkeit, andererseits sollen aber die bereits installierten Anlagen weiter genutzt und somit eine Vielzahl von Anschlussmöglichkeiten ermöglicht werden.
  • Außerdem soll das Vermittlungssystem für ATM-Telekommunikationsleitungen angepasst sein und über vielfältige Möglichkeiten für selektives Rundsenden verfügen (d.h. die Möglichkeit, die in die Vermittlungseinheit kommende Zelle zu vervielfachen, damit sie über mehrere Ausgangsanschlüsse gesendet werden kann) und ermöglichen, dass die verschiedenen Leitungsanschlüsse in unterschiedlichen räumlichen Bereichen realisiert werden.
  • In dem im IBM Technical Disclosure Bulletin, Bd. 34, Nr. 10A, 1. März 1992, S. 464 bis 465, veröffentlichten Artikel „Multicast/Broadcast Mechanism for a Shared Buffer Packet Switch" wird ein Mechanismus zur wirksamen Realisierung von Multicast/Broadcast (selektives Rundsenden/Rundsenden) in einer Paketvermittlungseinheit mit gemeinsam genutztem Ausgangspuffer beschrieben. Da der Puffer gemeinsam genutzt wird, braucht bei Verwendung dieses Puffers jeweils nur das Original des Multicast/Broadcast-Pakets gespeichert zu bleiben. Um ein Paket über mehr als einen Ausgang der Vermittlungseinheit auszugeben, reicht es aus, lediglich das Originalpaket in diesem gemeinsam genutzten Puffer so lange gespeichert zu lassen, bis alle Exemplare (Kopien) über alle angegebenen Ausgänge übertragen worden sind. Zusätzlich zu dem in dem im IBM Technical Disclosure Bulletin, Bd. 32, Nr. 10B, S. 176 bis 177, März 1990, veröffentlichten Artikel „Packet Switching Module" beschriebenen grundlegenden Paketvermittlungsmechanismus mit gemeinsam genutztem Ausgangspuffer sind hierzu drei weitere Mechanismen erforderlich.
    • 1. Ein Mechanismus zum Erzeugen einer Maske der Vorsatzdaten des ankommenden Pakets zur Ermittlung derjenigen Ausgänge, zu denen ein Exemplar dieses Pakets geleitet werden soll.
    • 2. Ein Mechanismus zum Versorgen jeder Steuerwarteschlange der angegebenen Ausgänge mit einem Exemplar der Adresse, an welcher sich das Multicast/Broadcast-Paket im gemeinsam genutzten Ausgangspuffer befindet.
    • 3. Ein Mechanismus zur Ermittlung des Zeitpunkts, an welchem das Exemplar des Multicast/Broadcast-Pakets im gemeinsam genutzten Ausgangspuffer nicht mehr benötigt wird.
  • Der Auswahlmechanismus zum Verbinden eines Speicherplatzes im gemeinsam genutzten Ausgangspuffers mit einem bestimmten Vermittlungsausgang ist in der Lage, einen Speicherplatz im gemeinsam genutzten Puffer gleichzeitig mit mehreren Ausgängen zu verbinden.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Das Problem wird durch die vorliegende Erfindung mittels eines Vermittlungssystems gelöst, das auf einem Koppelmodul basiert, welches bei einer vorhandenen Technologie höhere Geschwindigkeiten zulässt. Außerdem muss das Vermittlungssystem den ganzen Umfang an vorhandenen Anschlüssen einschließlich ATM-Leitungen nutzen sowie umfangreiche Fähigkeiten für selektives Rundsenden und einfache physische Verbindungen bereitstellen können.
  • Es wurde eine in Anspruch 1 definierte neue Anordnung eines Koppelmoduls entwickelt, die einfach zusammengesetzt werden kann und auch bei einer begrenzten Technologie höhere Geschwindigkeiten erlaubt. Grundsätzlich enthält das Koppelmodul einen Speicherbereich mit einer Gruppe von M Empfängern und einer Gruppe von M Vermittlungseinheiten zum Herstellen der Verbindung zwischen den M Eingangsanschlüssen und einem der verschiedenen Speicherplätze eines Zellenspeichers. Der Speicherbereich beinhaltet ferner eine Gruppe von M ASA-Registern, welche den Eingangs-Vermittlungseinheiten die Adressen derjenigen Speicherplätze zur Verfügung stellen, an denen die Zellen im Zellenspeicher gespeichert werden. Außerdem beinhaltet das Koppelmodul einen Abrufbereich, der eine Gruppe von M Ausgangs-Vermittlungseinheiten zum Abrufen der an einem Speicherplatz des Zellenspeichers gespeicherten Daten sowie eine Gruppe von M ARA-Registern, welche den Ausgangs-Vermittlungseinheiten die Adressen der vom Zellenspeicher auszugebenden Zellen zur Verfügung stellen, umfasst.
  • Ein spezieller Steuerbereich stellt den Eingabe- und den Ausgabeprozess für die in die Vermittlungseinheit eingegebenen Zellen zur Verfügung.
  • Der Eingabesteuerbereich umfasst ein FAQ-Adressenerzeugungsmittel, welches die Adressen der freien Speicherplätze im Zellenspeicher liefert, und ein erstes Multiplexermittel, welches die von der FAQ-Schaltung erzeugten Adressen oder die von einem ersten externen Bus für die M ASA-Register gelieferten Adressen bereitstellt. Eine Gruppe von Halteregistern dient dazu, den Modulleitwegvorsatz so lange zurückzuhalten, wie die Zellen in den Zellenspeicher eingegeben werden.
  • Der Ausgabesteuerbereich umfasst eine Gruppe von M OAQ-Warteschlangenmitteln, um die Adressen der Speicherplätze im Zellenspeicher in eine Warteschlange einzustellen, deren Zellen zu den Ausgangsanschlüssen übertragen werden sollen. Jedes Warteschlangenmittel weist einen Eingang auf, welcher die Inhalte der ASA-Register empfängt und ist jeweils einem der M Ausgangsanschlüsse zugeordnet. Ein weiteres Steuermittel empfängt den durch die Halteregister zurückgehaltenen Modulleitwegvorsatz und erzeugt Steuersignale WE, um den Inhalt der ASA-Register in jede einem Ausgangsanschluss zugeordnete Warteschlange zu laden, für den die Zelle kopiert werden soll. Ein zweites Multiplexermittel soll den M ARA-Registern die von den Warteschlangenmitteln gelieferten oder die von einem zweiten externen Bus gelieferten Adressen zur Verfügung stellen.
  • Eine spezielle Registrierschaltung Book_Keep_Memory (7) verhindert, dass eine zur Verfügung zu stellende Adresse aus dem Inhalt des Warteschlangenmittels verschwindet, bevor diese Adresse das letzte Mal aufgerufen wird.
  • Mittels des ersten und des zweiten Multiplexers kann der Vermittlungsprozess entweder intern oder extern realisiert werden, denn die zum Ausführen des Eingabe- und des Ausgabeprozesses verwendeten Adressen können entweder durch die internen Schaltungen einschließlich des Adressenerzeugungsmittels und der Steuerschaltung erzeugt oder aber von einer (in Bezug auf das betreffende Modul) externen Schaltlogik empfangen werden.
  • Auf diese Weise lassen sich unterschiedliche Koppelmodule einfach zusammenschalten, damit diese, gesteuert durch ein Hauptmodul, welches mittels des ersten und des zweiten Busses die für die ASA- und die ARA-Register benötigten Adressen liefert, im Beschleunigungsmodus arbeiten. Dies hat den großen Vorteil, dass die Gesamtgeschwindigkeit der mehrere Koppelmodule umfassenden Vermittlungseinheit auch bei einem vorgegebenen Technologieniveau ansteigt.
  • Bei einer bestimmten Ausführungsart der Erfindung wird die Koppelstruktur auf vorteilhafte Weise mit einer Gruppe verteilter SCAL-Elemente (Switch Core Access Layer, Vermittlungskernzugriffsschicht) kombiniert, die über serielle Datenleitungen mit den Eingangs- und Ausgangsanschlüssen in Verbindung stehen. Jedes SCAL-Element umfasst eine PINT-Schaltung, die mit einem bestimmten Protokolladapter oder Protokollprogramm gekoppelt werden kann und eine Gruppe von FIFO-Warteschlangen für den Empfangs- und den Sendeteil für jedes einzelne zusammengeschaltete Modul umfasst. Jede FIFO-Warteschlange des Empfangsteils empfängt einen Teil der Zelle, die so aufgeteilt ist, dass der entsprechende Teil durch das jeweilige Koppelmodul der Koppelstruktur verarbeitet wird, welches im Beschleunigungsmodus läuft. Außerdem umfasst jedes SCAL-Element Steuermittel zum Zeitmultiplexen (Time Division Multiplex, TDM) der Datenübertragungsverbindung mit der Koppelstruktur, damit jede PINT-Schaltung auf ein Viertel der Bandbreite eines Anschlusses zugreifen kann. Dadurch entsteht eine Gesamtvermittlungsarchitektur, welche eine große Vielfalt von Anschlussmöglichkeiten an die vorhandenen unterschiedlichen Leitungsadapter gestattet. Die SCAL-Elemente stehen über serielle Kabel mit dem Vermittlungskern in Verbindung, sodass diese SCAL-Elemente in einem großen Abstand vom zentralen Vermittlungskernsystem angeordnet werden können.
  • Vorzugsweise beinhaltet der Empfangsteil jedes PINT ein Mittel zum Einfügen mindestens eines zusätzlichen Bytes in jede Zelle, das zur Speicherung des Leitwegvorsatzes reserviert ist, welcher in einem ersten Schritt zur Steuerung der Koppelstruktur und in einem zweiten Schritt zur Steuerung der PINT-Übertragungsschaltung dient. Der Sendeteil jeder PINT-Schaltung umfasst tatsächlich zusätzlich zu dem mindestens einen FIFO-Speicher zur Speicherung der Datenzellen ein Steuermodul, welches alle an demjenigen Ausgangsanschluss der Koppelstruktur erzeugten Zellen empfängt, mit dem das betreffende SCAL-Element verbunden ist. Anhand des Wertes dieses mindestens einen zusätzlichen Bytes entscheidet das Steuermittel, ob die Zelle gelöscht werden soll. Während der Empfangsteil der PINT-Schaltung die zur Steuerung der Weiterleitung und des selektiven Rundsendens der Zellen erforderlichen zusätzlichen Bytes einfügt, werden die hierfür erforderlichen genauen Werte im Vermittlungssystem mit Hilfe zweier aufeinander folgender Leseoperationen in Leitwegtabellen, einer vor dem Weiterleiten der Zelle im Vermittlungssystem ausgeführten ersten Operation und einer nach dem Weiterleiten der Zelle auf der Ebene des Ausgangsanschlusses ausgeführten zweiten Operation erzeugt. Diese beiden aufeinander folgenden Leseoperationen weisen ein Zweiebenen-Rundsendemerkmal auf, das umfangreiche Möglichkeiten für selektives Rundsenden bietet, obwohl die SCAL-Elemente auf unterschiedliche räumliche Bereiche des Vermittlungssystems verteilt sind.
  • Bei einer bevorzugten Ausführungsart der Erfindung werden die Tabellen mit den für die Koppelstruktur oder die PINT-Sendeschaltungen erforderlichen Werten in ein und dasselbe Speichermodul geladen, das sich im zentralen Vermittlungskern befindet. Dadurch wird die Aktualisierung des Steuermechanismus der Leitwegtabellen stark erleichtert.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt die Anordnung der 2 und 3, um das zur Realisierung der vorliegenden Erfindung verwendete Koppelmodul 401 komplett und umfassend zu veranschaulichen.
  • 2 und 3 zeigen die Struktur des Koppelmoduls, das bei der bevorzugten Ausführungsart der vorliegenden Erfindung verwendet wird.
  • 4 veranschaulicht die Verwendung eines einzelnen Koppelmoduls zum Betreiben einer Vermittlungseinheit.
  • 5 veranschaulicht die Verwendung mehrerer Koppelmodule im Anschlussbeschleunigungsmodus zur Realisierung einer verbesserten Koppelstruktur mit hoher Arbeitsgeschwindigkeit.
  • 6 veranschaulicht ein allgemeines Koppelfeld mit einem Vermittlungskern auf der Basis der Koppelstruktur von 5, die den SCAL-Elementen zugeordnet ist.
  • 7 veranschaulicht den Datenfluss in der Ausführungsart mit dem verteilten Koppelfeld.
  • 8 zeigt den PINT-Empfangsteil 511 der SCAL der vorliegenden Erfindung.
  • 9 zeigt den PINT-Sendeteil 611 der SCAL der vorliegenden Erfindung.
  • 10 veranschaulicht eine kompakte Ausführungsart des Koppelfeldes mit verbesserter Leistung, welches umfassende Möglichkeiten zum selektiven Rundsenden bietet.
  • 11 veranschaulicht das verteilte Koppelfeld mit verbesserter Leistung, welches umfassende Möglichkeiten zum selektiven Rundsenden bietet.
  • 12 und 13 veranschaulichen die Aktualisierungs- und die Erzeugungsprozedur der Steuerleitwegtabellen.
  • 14 zeigt die Struktur des Protokolladapters, das sich gut als Schnittstellenelement für Leitungen eignet, über die ATM-Zellen laufen.
  • 15 zeigt eine Struktur zum Anschließen von vier OC3-Leitungen an eine Gruppe von vier Empfangsleitungsschnittstellen 971 bis 974 und vier Sendeleitungsschnittstellen 976 bis 979.
  • 16 zeigt den Empfangsteil von Kasten 910 des ATM-Protokolladapters.
  • 17 veranschaulicht den Sendeteil von Kasten 950 des ATM-Protokolladapters.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSART DER VORLIEGENDEN ERFINDUNG
  • 2 und 3 zeigen das Koppelmodul, mittels dessen die Vermittlungsvorrichtung gemäß der vorliegenden Erfindung realisiert wird. Dieses in Kasten 401 dargestellte Modul beinhaltet einen Datenbereich, welcher einen Speicherbereich zur Speicherung der über einen der sechzehn Eingangsanschlüsse ankommenden Zellen in einem gemeinsamen Zellenspeicher 1 sowie einen Abrufbereich zum Ausgeben der in diesen geladenen Zellen und zum Befördern der Zellen zu einem Ausgangsanschluss des Koppelmoduls umfasst.
  • Der Speicherbereich verwendet eine Gruppe von sechzehn Empfängern RCVR 10-0 bis 10-15 (wobei der Empfänger 10-15 in der Figur schattiert dargestellt ist), welche die physische Schnittstelle für die sechzehn verschiedenen Eingangsanschlüsse darstellen. Eine Gruppe von sechzehn entsprechenden Vermittlungseinheiten 2-0 bis 2-15 (wobei die Vermittlungseinheit 2-15 in 2 schattiert dargestellt ist), dient zur Verbindung der Eingangsanschlüsse mit einem der 128 Speicherplätze des Zellenspeichers 1. Zur Steuerung des zeitlichen Ablaufs umfasst der Speicherbereich ferner eine Gruppe von sechzehn Grenzsignalspeichern 101-0 bis 101-15 (wobei der Signalspeicher 101-15 in der Figur schattiert dargestellt ist) und eine Gruppe von Warteschlangenschaltungen 103-0 bis 103-15, sodass die durch jeden Empfänger 10-i übertragenen Daten über den entsprechenden Grenzsignalspeicher 101-i und die Warteschlange 103-i transportiert werden.
  • Der Abrufbereich des Koppelmoduls 401 wiederum umfasst eine Gruppe von sechzehn Treibern 11-0 bis 11-15, die sich nicht auf dem Chip befinden (Off-Chip-Driver, OCD) und als Schnittstellenelemente für die sechzehn Ausgangsanschlüsse des Koppelmoduls dienen. Die OCD-Treiber empfangen die Daten von sechzehn Vermittlungseinheiten 3-0 bis 3-15 über eine entsprechende Gruppe von sechzehn Grenzsignalspeichern 102-0 bis 102-15 (zur Steuerung des zeitlichen Ablaufs), sodass jede Vermittlungseinheit 3-i Daten abrufen kann, die an einem der 128 Speicherplätze im Zellenspeicher 1 gespeichert sind, und diese Daten über einen entsprechenden OCD-Treiber 11-i zum entsprechenden Ziel-Ausgangsanschluss i befördern kann.
  • Außer dem Datenbereich umfasst das Koppelmodul auch noch einen Steuerbereich, der auf einer frei verfügbaren Schaltung 5 (Free Access Queue, FAQ) (dargestellt in 3) basiert und zum Speichern der Adressen der leeren Speicherplätze im Zellenspeicher 1 dient. Hinzu kommt noch ein Ausgangswarteschlangenspeicher 4, der aus zwei separaten Gruppen von je acht Ausgangsadresswarteschlangen (Ouput Address Queue, OAQ) 50-0 bis 50-7 (wobei die Warteschlange 50-7 in der Figur schattiert dargestellt ist) und 51-0 bis 51-7 (wobei die Letztere schattiert dargestellt ist) besteht. Später wird ausführlich die Verwendung dieser beiden Warteschlangengruppen zur Speicherung der Adressen der Speicherplätze im Zellenspeicher 1 erläutert, auf denen die zu den Ausgangsanschlüssen zu übertragenden Datenzellen gespeichert sind. Zwei Gruppen von je acht Registern, die ASA-Register 20-0 bis 20-7 (Register 20-7 schattiert dargestellt) und die ASA-Register 21-0 bis 21-7 (Letzteres schattiert dargestellt) werden jeweils zum Erzeugen von Adressen auf einer Gruppe von zwei Bussen – einem ODD-Bus 104 und einem EVEN-Bus 105 – eingesetzt, wobei diese beiden Busse mit den sechzehn Vermittlungseinheiten 2-0 bis 2-15 und einer OAQ-Warteschlange 4 verbunden sind. Der Bus 104 wird durch die Gesamtheit der acht Ausgangsbusse der ASA-Register 20-0 bis 20-7 (mit einer Breite von 64 Byte) und der Bus 105 mit einer Breite von 64 Byte aus der Gesamtheit der Ausgangsbusse der acht ASA-Register 21-0 bis 21-7 gebildet.
  • Außerdem ist der EVEN-Bus 104 mit einem ersten Eingangsbus eines Multiplexers MUX 106 verbunden, welcher an einem zweiten Eingang über den Bus 91 die freien Adressen von der FAQ 5 empfängt. Der Ausgang des MUX 106 ist mit einem Grenzsignalspeicher 108 verbunden, dessen Ausgang mit den Eingängen einer Gruppe von acht Treibern außerhalb des Chips (OCD) und einem Schattensignalspeicher 110 verbunden ist. Die OCD-Treiber 40-0 bis 40-7 weisen Ausgänge auf, welche einen 8-Bit-Bus 510 (bestehend aus den acht Ausgängen 510-0 bis 510-7) bilden, der auch mit den Eingängen der entsprechenden Empfänger RCVR 44-0 bis 44-7 verbunden ist. Die Ausgänge der Empfänger RCVR 44-0 bis 44-7 sind mit einem Redundanzsignalspeicher 180 verbunden, dessen Ausgang wiederum mit einem Eingangsbus eines Multiplexers MUX 112 verbunden ist, über dessen zweitem Eingang der Inhalt des Schattensignalspeichers 110 empfangen wird. Ein Ausgang des Multiplexers MUX 112 ist mit einem Pipelineregister 114 zum Laden der Daten verbunden, die auf diesem Weg, wie später beschrieben, zu den entsprechenden NSA-Registern 220-0 bis 22-7 übertragen werden.
  • Entsprechend ist der ODD-Bus 105 mit einem ersten Eingangsbus eines Multiplexers MUX 107 verbunden, welcher über den Bus 92 an einem zweiten Eingang die freien Adressen von der FAQ 5 empfängt. Der Ausgang des MUX 106 ist mit einem Grenzsignalspeicher 109 verbunden, dessen Ausgang mit den Eingängen einer Gruppe von acht OCD-Treibern 41-0 bis 41-7 und einem Schattensignalspeicher 111 verbunden ist. Die Ausgänge 509-0 bis 509-7 der OCD-Treiber 41-0 bis 41-7 bilden einen 8-Bit-Bus 509, der ebenfalls mit den Eingängen von acht Empfängern RCVR 45-0 bis 45-7 verbunden ist. Die Ausgänge der Empfänger RCVR 45-0 bis 45-7 sind mit einem Redundanzsignalspeicher 181 verbunden, dessen Ausgang mit einem Eingangsbus eines Multiplexers MUX 113 verbunden ist, über dessen zweiter Eingang wiederum der Inhalt des Schattensignalspeichers 111 empfangen wird. Ein Ausgang des Multiplexers MUX 113 ist mit einem Pipelineregister 115 verbunden, damit die Adressen, wie später beschrieben, den entsprechenden NSA-Registern 23-0 bis 23-7 zur Verfügung gestellt werden können.
  • Der Steuerbereich umfasst ferner vier Gruppen von Halteregistern 60-0 bis 60-7 (wobei das Register 60-7 schattiert dargestellt ist), 61-0 bis 61-7 (Letzteres schattiert), 62-0 bis 62-7 und 63-0 bis 63-7, welche bei dem später ausführlich beschriebenen Vermittlungsprozess Anwendung finden.
  • Im Datenbereich können die sechzehn Eingangsanschlüsse gleichzeitig sechzehn Zellen an den Adressen in den Zellenspeicher 1 laden, die durch den Inhalt der zwei Gruppen von je acht ASA-Registern 20-0 bis 20-7 und 21-0 bis 21-7 definiert sind. Währenddessen können dem Zellenspeicher 1 sechzehn Zellen von den Adressen entnommen werden, die durch den Inhalt von sechzehn ARA-Registern definiert sind, welche in zwei Gruppen von je acht Registern angeordnet sind: die ARA-Register 32-0 bis 32-7 (wobei Register 32-7 in der Figur schattiert dargestellt ist) und die ARA-Register 33-0 bis 33-7 (Letzteres schattiert). Die ARA-Register 32-0 bis 32-7 empfangen über einen EVEN-Bus 98, der auch mit einem ersten Eingang einer Doppelmultiplexerschaltung 800 verbunden ist, den Inhalt der entsprechenden NRA-Register 28-0 bis 28-7. Entsprechend empfangen die ARA-Register 33-0 bis 33-7 über einen ODD-Bus 99, der mit einem zweiten Eingang der Doppelmultiplexerschaltung 800 verbunden ist, den Inhalt der entsprechenden NRA-Register 29-0 bis 29-7. Mit dem Doppelmultiplexer 800 sind über einen dritten und einen vierten Eingangsbus die Ausgänge der ersten und zweiten Gruppe von OAQ-Warteschlangen 50-0 bis 50-7 bzw. 51-0 bis 51-7 verbunden. Der Doppelmultiplexer weist zwei Ausgangsbusse auf, die jeweils mit einem Grenzsignalspeicher 30 und einem Grenzsignalspeicher 31 verbunden sind.
  • Die NRA-Register 28-0 bis 28-7 sind mit dem Ausgang einer Multiplexerschaltung MUX 26 verbunden, welche über einen ersten und einen zweiten Eingang jeweils den Inhalt eines Schattensignalspeichers 34 bzw. eines Grenzsignalspeichers 80 empfängt. Entsprechend sind die NRA-Register 29-0 bis 29-7 mit dem Ausgang einer Multiplexerschaltung MUX 27 verbunden, welche über einen ersten und einen zweiten Eingang den Inhalt eines Schattensignalspeichers 35 bzw. eines Grenzsignalspeichers 81 empfängt. Der Ausgang des Signalspeichers 30 ist mit dem Eingangsbus des Schattensignalspeichers 34 sowie mit den Eingängen einer Gruppe von acht OCD-Treibern 42-0 bis 42-7 verbunden, deren Ausgänge 520-0 bis 520-7 einen Bus 520 bilden, der ebenfalls mit den Eingängen einer Gruppe von acht Empfängern RCV 46-0 bis 46-7 verbunden ist. Entsprechend ist der Ausgang des Signalspeichers 31 mit dem Eingangsbus des Schattensignalspeichers 35 sowie mit den Eingängen einer Gruppe von acht OCD-Treibern 43-0 bis 43-7 verbunden, deren Ausgänge 521-0 bis 521-7 einen Bus 521 bilden und mit den entsprechenden Eingängen einer Gruppe von acht Empfängern RCVR 47-0 bis 47-7 verbunden sind. Die Ausgänge der Empfänger RCVR 46-0 bis 46-7 sind mit dem Eingangsbus des Signalspeichers 80 und die Ausgänge der Empfänger RCVR 47-0 bis 47-7 mit dem Eingangsbus des Signalspeichers 81 verbunden.
  • Im Folgenden wird beschrieben, wie mittels der Struktur der vorliegenden Erfindung eine Gruppe von sechzehn Zellen gleichzeitig dem Zellenspeicher 1 entnommen und zum entsprechenden Ausgangsanschluss weitergeleitet werden kann.
  • Wenn eine Zelle N Byte (zum Beispiel 54 Byte) umfasst, ermöglicht das Koppelmodul die Speicherung von sechzehn Zellen im Zellenspeicher 1 und das Abrufen von sechzehn Zellen aus dem Zellenspeicher 1 während N Taktzyklen. Im Folgenden werden die Eingabe- und Ausgabeprozesse für das Koppelmodul 401 ausführlich beschrieben.
  • 1. EINGABEPROZESS
  • Der Eingabeprozess dient der vollständigen Speicherung einer Gruppe von N Byte in einer Elementarzelle (wobei allerdings gleichzeitig sechzehn Zellen eingegeben werden). Der Eingabeprozess beinhaltet im Grunde zwei verschiedene Operationen: zuerst werden die Zellen über die sechzehn im Folgenden beschriebenen Empfänger 10-0 bis 10-15 in den Datenbereich eingegeben. Dieser erste Schritt erfolgt während einer ersten Anzahl von N Taktzyklen. Weiterhin wird eine zweite Operation zur Vorbereitung der Adressen im Zellenspeicher 1 durchgeführt, genauer gesagt, die sechzehn Adressen zum Laden der nächsten sechzehn Zellen in den Zellenspeicher werden berechnet. Bei der bevorzugten Ausführungsart der Erfindung erfolgt dieser zweite Schritt zur Berechnung der Adressen während einer Anzahl von lediglich acht Systemtaktzyklen. Dabei werden während des ersten Zyklus die Adressen für die Eingangsanschlüsse 0 und 1, während des zweiten Zyklus die Adressen für die Eingangsanschlüsse 2 und 3 und allgemein während des n-ten Zyklus die beiden Adressen im Zellenspeicher 1 zum Speichern der über die Eingangsanschlüsse 2n und 2n + 1 ankommenden Zellen berechnet.
  • Zur Vorbereitung der Eingabeoperation werden die freien Adressen des Zellenspeichers 1 von der FAQ 5 zur Verfügung gestellt und in die erste Gruppe der ASA-Register 20-0 bis 20-7 sowie die zweite Gruppe der ASA-Register 21-0 bis 21-7 geladen. Zur Vereinfachung werden die ASA-Register einfach als „ASA-Register 20" bezeichnet, wenn zwischen den ASA-Registern 20-0 bis 20-7 im Einzelnen nicht unterschieden werden soll. Desgleichen soll der Begriff „ASA-Register 21" für die acht ASA-Register 21-0 bis 21-7 gelten, wenn zwischen diesen nicht unterschieden werden soll. Wenn zwischen den einzelnen ASA-Registern unterschieden werden soll, wird wieder die normale Bezeichnung der Register 20-0 bis 20-7 (bzw. Register 20-i) verwendet. Diese Vereinfachung gilt auch für die Beschreibung der anderen Gruppen von sieben oder fünfzehn einzelnen Elementen im restlichen Teil der Beschreibung, zum Beispiel für die ARA-Register 32-0 bis 32-7, die NRA-Register 28-0 bis 28-7 usw.
  • Im Folgenden wird das vollständige Laden der ASA-Register 20 und 21 beschrieben. Dies geschieht, wie bereits erwähnt, durch acht aufeinander folgende Übertragungen der von der FAQ-Schaltung 5 gelieferten Adressen über den Multiplexer 106, den Grenzsignalspeicher 108, den Schattensignalspeicher 110, den Multiplexer 112, das Pipelineregister 114 und den Multiplexer 112. Zum Beispiel erfolgt das Laden des Registers 20-0 durch die Übertragung der (auf dem Bus 91) von der FAQ-Schaltung 5 gelieferten Adresse über den Multiplexer 106, die Signalspeicher 108 und 110, den Multiplexer 112, das Pipelineregister 114 und das NSA-Register 22-0. Dann wird das ASA-Register 20-1 durch eine ähnliche Übertragung über sein entsprechendes NSA-Register 22-1 geladen usw.
  • Auf die gleiche Weise werden auch die ASA-Register 21 nacheinander über den Multiplexer 107, den Grenzsignalspeicher 109, den Schattensignalspeicher 111, den Multiplexer 113, das Pipelineregister 115 und die acht NSA-Register 23 geladen.
  • Die Multiplexer 106 und 107 weisen, wie oben erwähnt, einen zweiten Eingang auf, über den sie jeweils den Inhalt der ASA-Register 20 bzw. 21 empfangen. Durch die Verwendung des zweiten Eingangs der Multiplexer 106 und 107 können die in die ASA-Register 20 und 21 (zum Beispiel in das ASA-Register 20-i, wenn die Übertragung während des i-ten Zyklus der acht Systemtaktzyklen erfolgt) geladenen Adressen erneut verwendet werden. Dabei ist zu beachten, dass die beiden Gruppen von ASA-Registern eine einheitliche Gruppe von sechzehn Registern bilden, welche den sechzehn Eingangsanschlüssen des Koppelmoduls zugeordnet sind. Die Anordnung der ASA-Register in zwei Gruppen 20 und 21 ist für die Erfindung von Vorteil, da so die erforderliche Anzahl der Systemtaktzyklen zur Berechnung der sechzehn Adressen verringert wird, die zum Laden der sechzehn Zellen in den Zellenspeicher 1 benötigt werden. Die Erfindung ist in der Lage, sechzehn verschiedene Eingangsanschlüsse mit nur acht aufeinander folgenden Zyklen zu bedienen.
  • Wenn die freien Adressen in die ASA-Register 20 und 21 geladen sind, kann der Zellenzyklus zum Laden der eigentlichen N-Byte-Zelle in den Zellenspeicher 1 gestartet werden. Dabei zeigt sich, dass in jeweils einem der sechzehn ASA-Register eine Adresse für jeden Eingangsanschluss zur Verfügung gestellt wird. Genauer gesagt, die am Eingangsanschluss Nummer 2n ankommende Zelle (wobei n eine ganze Zahl zwischen 0 und 7 ist) wird über die entsprechende Vermittlungseinheit 2 – (2n) an einem Speicherplatz im Zellenspeicher 1 gespeichert, dessen Adresse durch den Inhalt des ASA-Registers 20-n definiert ist. Wenn die Zelle an einem ungeradzahligen Eingangsanschluss, also mit der Nummer 2n + 1 (wobei n eine ganze Zahl zwischen 0 und 7 ist), ankommt, wird sie über die Vermittlungseinheit 2(n + 1) an einem Speicherplatz im Zellenspeicher 1 geladen, dessen Adresse durch den Inhalt des ASA-Registers 21-n definiert ist. Es ist klar, dass bei dieser Anordnung die vollständige Speicherung einer ganzen Zelle mit N elementaren Bytes insgesamt N Systemtaktperioden benötigt, während der Steuerbereich für die Speicherung der ASA-Register 20 und 21 acht Systemtaktperioden benötigt. Dabei ist jedoch zu beachten, dass jede Vermittlungseinheit 2 jeweils einem bestimmten der sechzehn ASA-Register 20 und 21 zugeordnet ist und gleichzeitig sechzehn Zellen in den Zellenspeicher 1 geladen werden können. Genauer gesagt, der Ausgangsbus des ASA-Registers 20-n führt zur Vermittlungseinheit 2 – (2n) und der Ausgangsbus des ASA-Registers 21-n zur Vermittlungseinheit 2 – (2n + 1).
  • Im Folgenden wird in Verbindung mit dem oben erwähnten Laden der ASA-Register 20 und 21 der Vermittlungsprozess der ankommenden Zelle im einzelnen beschrieben. Bei der bevorzugten Ausführungsart der Erfindung basiert dieser Vermittlungsprozess auf der Verwendung eines Leitwegvorsatzes, der eine Größe von ein oder zwei Byte haben kann.
  • Wenn der Vorsatz auf ein einziges Byte beschränkt ist, reagiert das Koppelmodul gemäß der vorliegenden Erfindung je nach dem Wert des höchstwertigen Bits (Most Significant Bit, MSB) des Vorsatzes auf unterschiedliche Weise. Dabei arbeitet das Koppelmodul gemäß der folgenden Beschreibung im Unicastmodus (bidirektionale Einzelübertragung), wenn der Wert des MSB des einen Bytes im Leitwegvorsatz gleich null ist, und im Multicastmodus (selektives Rundsenden), wenn der Wert des MSB gleich eins ist.
  • Im Unicastmodus sind die Vorsatzdaten wie folgt definiert:
    Figure 00190001
    wobei die Modulnummer genau dasjenige Modul definiert, welches die Zelle weiterleitet. Die Anschlussnummer definiert die Kennung desjenigen Anschlusses, zu welchem die Zelle weitergeleitet werden soll.
  • Im anderen Fall, also wenn das MSB gleich eins ist, was bei einem Byte für den Multicastmodus typisch ist, dienen die übrigen Bits des 1-Byte-Vorsatzes als Multicastkennung zum Festlegen der Ausgangsanschlüsse, zu denen die Zelle mehrfach gesendet werden soll. Dies wird im Folgenden erläutert.
  • Abgesehen vom 1-Byte-Vorsatz kann das Koppelmodul der vorliegenden Erfindung auch mit einem 2-Byte-Vorsatz arbeiten. In diesem Fall definieren die sechzehn Bits des Letzteren diejenigen Ausgangsanschlüsse, zu denen die Zelle mehrfach gesendet werden soll. Dabei ist jedes der sechzehn Bits des Vorsatzes einem Ausgangsanschluss zugeordnet – zum Beispiel das dem Ausgangsanschluss mit der Nummer 0 entsprechende MSB – und jedes auf eins gesetzte Bit im Vorsatz zeigt an, dass die Zelle mit diesem Vorsatz zu jedem Ausgangsanschluss gesendet werden soll, welcher diesem Bit zugeordnet ist. Wenn zum Beispiel das MSB auf „eins" gesetzt ist, wird die Zelle zum Ausgangsanschluss 0 gesendet, und wenn das Bit Nummer 1 auf eins gesetzt ist, wird dieselbe Zelle auch zum Ausgangsanschluss Nummer 1 gesendet.
  • Da sich aus der Verwendung unterschiedlicher Vorsatzformate verschiedene Modi ergeben, kann das Koppelmodul sehr flexibel arbeiten, wobei lediglich der in das Koppelmodul zu ladende Mikrocode angepasst werden muss.
  • Im Folgenden werden ausführlich die bidirektionale Einzelübertragung mit einem 1-Byte-Vorsatz (der so genannte „Unicastmodus"; Kapitel 1.1), das selektive Rundsenden mit einem 1-Byte-Vorsatz (der so genannte „integrierte Multicastmodus"; Kapitel 1.2) und abschließend der Modus mit einem 2-Byte-Vorsatz (der so genannte „Bitmapmodus"; Kapitel 1.3) beschrieben.
  • Kapitel 1.1. Beschreibung der bidirektionalen Einzelübertragung (Unicastmodus mit 1-Byte-Vorsatz)
  • Der Unicastmodus basiert auf der Verwendung der beiden Gruppen von Halteregistern 60 und 61, welche eine Gesamtheit von sechzehn Halteregistern bilden. Während die sechzehn Zellen (zu je N Bytes) geladen werden, wird gleichzeitig der 1-Byte-Vorsatz jeder Zelle jeweils in eines der oben erwähnten sechzehn Halteregister 60 bzw. 61 geladen. Diese sechzehn Halteregister (die Register 60-0 bis 60-7 und 61-0 bis 61-7) speichern den Vorsatz so lange, bis der gesamte Ladeprozess der Zellen vollständig abgeschlossen ist. Bei der Anordnung der vorliegenden Erfindung wird der Vorsatz der durch den Anschluss 2n ankommenden Zelle in das Halteregister 60(n) und der Vorsatz der durch den Anschluss 2n + 1 ankommenden Zelle in das Halteregister 61(n) geladen. Die in diese sechzehn Halteregister geladenen sechzehn Werte werden dann durch den Steuerbereich des Koppelmoduls verwendet. 2 und 3 zeigen, dass jedes Halteregister 60-i über einen EVEN-Bus 150 mit einem Steuermodul 200 sowie mit einem Multicasttabellenspeicher 6 verbunden ist. Desgleichen ist jedes Halteregister 61-i über einen ODD-Bus 151 mit dem Steuermodul 200 und dem Multicasttabellenspeicher 6 verbunden.
  • Ähnlich wie bei dem oben beschriebenen Ladeprozess der ASA-Register 20 und 21 erfolgt der Zugriff auf die sechzehn Halteregister 60 und 61 während acht aufeinander folgender Systemtaktperioden, wobei während jedes Taktes ein doppeltes ODD-EVEN-Halteregister auf den Bus 150 und den Bus 151 zugreift. Genauer gesagt, während des Taktes mit der Nummer 0 beispielsweise greifen die Halteregister 60(0) und 61(0) auf den EVEN-Bus 150 bzw. auf den ODD-Bus 151 zu, um ihren Inhalt zum Steuermodul 200 zu übertragen. Während des nächsten Taktes befördern die Busse 150 und 151 den Inhalt der Halteregister 60(1) und 61(1) weiter usw.
  • Man beachte, dass durch den Zugriff der Halteregister 60(i) und 61(i) auf das Steuermodul 200 insbesondere die Überwachung des MSB des Vorsatzes jeder in das Koppelmodul eingegebenen Zelle möglich wird. Insbesondere kennt das Steuermodul dadurch den passenden Betriebsmodus – Unicast oder integriertes Multicast – für jeden Eingangsanschluss. Wenn beispielsweise der in das Halteregister 60(i) geladene Vorsatz ein MSB mit dem Wert null aufweisen – was den Betriebsmodus Unicast anzeigt – legt das Steuermodul 200 fest, dass der betreffende Eingangsanschluss 2n im Unicastmodus arbeiten soll. Wenn das MSB des Halteregisters 61(i) hingegen den Wert eins aufweist – was den Betriebsmodus integriertes Multicast anzeigt – veranlasst das Steuermodul 200, dass die betreffende Zelle in dem im Folgenden beschriebenen integrierten Multicastmodus verarbeitet werden soll.
  • Aufgrund dieser Tatsache ermöglicht das Koppelmodul der vorliegenden Erfindung, dass die sechzehn Eingangsanschlüsse entsprechend dem Inhalt des durch die jeweiligen Eingangsanschlüsse beförderten Leitwegvorsatzes völlig unabhängig voneinander, also in verschiedenen Modi, arbeiten können – im Unicast- oder im integrierten Multicastmodus.
  • Der Vermittlungsprozess im Unicastmodus verläuft wie folgt:
    Die Gruppen 50 und 51 zu je acht Warteschlangen bilden eine Ausgangswarteschlange. Jede einzelne OAQ-Warteschlange der Gruppen 50 und 51 stellt einen doppelten Eingangsanschluss von mindestens 64 Byte dar, der mit dem EVEN-Bus 104 und dem ODD-Bus 105 verbunden ist. Außerdem empfängt jede OAQ-Warteschlange vom Steuermodul 200 ein ODD-Schreibfreigabe- und ein EVEN-Schreibfreigabesteuersignal. Die je sechzehn Gruppen von ODD- und EVEN-Schreibfreigabesteuerleitungen bilden einen Bus 210 mit 32 Leitungen. Analog der oben bereits verwendeten Bezeichnungsweise ist jede OAQ-Warteschlange jeweils einem der sechzehn Ausgangsanschlüsse des Koppelmoduls zugeordnet. So ist der Ausgangsanschluss mit der Nummer 2n der OAQ-Warteschlange 50(n) und der Ausgangsanschluss 2n + 1 der OAQ-Warteschlange 51(n) zugeordnet.
  • Zu einem bestimmten Zeitpunkt (als Zyklus n bezeichnet) werden die beiden Eingangsanschlüsse 2n und 2n + 1 wie folgt verarbeitet: Die Steuerschaltung 200 greift über den Bus 150 auf den Inhalt der Halteregister 60(n) (d.h. den Vorsatz der Zelle am Eingangsanschluss 2n) und über den Bus 151 auf den Inhalt der Halteregister 61(n) (d.h. den am Eingangsanschluss 2n + 1 empfangenen Vorsatz der Zelle) zu. Das Steuermodul verwendet diese Vorsatzdaten zur Erzeugung der entsprechenden ODD- und EVEN-Schreibfreigabesteuersignale, damit der Inhalt der ASA-Register 20(n) und 21(n) in eine oder zwei der sechzehn OAQ-Warteschlangen 50 bzw. 51 geladen wird.
  • Genauer gesagt, das Steuermodul erzeugt die Schreibfreigabesteuersignale auf dem Bus 210, damit der Inhalt der ASA-Register 20(n) in eine der sechzehn OAQ-Warteschlangen 50 bzw. 51 geladen wird, welche demjenigen Ausgangsanschluss entspricht, der aus dem Inhalt des zum Halteregister 60(n) beförderten und darin gespeicherten Vorsatzes, speziell dem durch die Bits 4 bis 7 des 1-Byte-Vorsatzes definierten Feld „Anschlussnummer", ermittelt werden kann.
  • Gleichzeitig wird der Inhalt des ASA-Registers 21(n) in eine der sechzehn Ausgangswarteschlangen 50 bzw. 51 geladen, welche demjenigen Ausgangsanschluss entspricht, der aus dem Inhalt des im Halteregister 61(n) gespeicherten Vorsatzes, speziell dessen Bits 4 bis 7, ermittelt werden kann.
  • Zur Verdeutlichung soll der Eingangsanschluss 2n betrachtet werden: wenn der Inhalt des Halteregisters 60(n) gleich einer ganzen Zahl 2p ist, wird der Inhalt des ASA-Registers 20(n) in die Ausgangswarteschlange 50(p) geladen. Das führt gemäß der folgenden Beschreibung dazu, dass die am Eingangsanschluss 2n ankommende Zelle entsprechend dem Inhalt des durch die Zelle beförderten Leitwegvorsatzes zum Ausgangsanschluss mit der Nummer 2p weitergeleitet wird.
  • Wenn der Inhalt des Halteregisters 60(n) gleich einer ganzen Zahl 2p + 1 ist, erzeugt das Steuermodul 200 auf dem Bus 210 die entsprechenden Schreibfreigabesteuersignale, damit der Inhalt des ASA-Registers 20(n) in die OAQ 51(p) geladen und damit die am Eingangsanschluss 2n empfangene Zelle zum Ausgangsanschluss 2p + 1 weitergeleitet wird.
  • Ähnlich verläuft die Verarbeitung des Eingangsanschlusses 2n + 1: wenn der Inhalt des Halteregisters 61(n) gleich einer ganzen Zahl 2q ist, wird der Inhalt des ASA-Registers 21(n) in die Ausgangswarteschlange 50(q) geladen (damit die Zelle zum Ausgangsanschluss 2q weitergeleitet wird). Wenn der Inhalt des Halteregisters 61(n) gleich 2q + 1 ist, erzeugt das Steuermodul 200 die entsprechenden Schreibfreigabesteuersignale, damit der Inhalt des ASA-Registers 21(n) in die Ausgangswarteschlange 51(q) und damit die Zelle zum Ausgangsanschluss 2q + 1 weitergeleitet wird.
  • Es kann mitunter vorkommen, dass die an den Eingangsanschlüssen 2n und 2n + 1 ankommenden und in den Speicher 1 geladenen Zellen entsprechend dem durch die beiden Zellen beförderten Vorsatz zu demselben Ausgangsanschluss weitergeleitet werden, zum Beispiel zum Ausgangsanschluss 2p (bzw. 2p + 1). In diesem Fall enthalten die beiden Halteregister 60(n) und 61(n) denselben Vorsatz, was dazu führt, dass der Inhalt der ASA-Register 20(n) und 21(n) in dieselbe Ausgangswarteschlange 50(p) (bzw. 51(p)) geladen wird. Die Erfindung löst diese Konkurrenzsituation durch die Verwendung eines Speichers mit einem Doppelanschluss, um jede der sechzehn Ausgangswarteschlangen 50 und 51 zu realisieren.
  • 1.2 Beschreibung des selektiven Rundsendens mit 1-Byte-Vorsatz (integriertes Multicast)
  • Der integrierte Multicastmodus basiert auf der Verwendung von zwei Gruppen von Halteregistern 60 und 61, die insgesamt 16 Register ergeben.
  • Der Vorsatz der am Eingangsanschluss 2n ankommenden Zelle wird wie oben in das Halteregister 60(n) und der Vorsatz der am Eingangsanschluss 2n + 1 ankommenden Zelle in das Halteregister 61(n) geladen. Zum Laden der sechzehn Halteregister 60 und 61 sind auch hier acht Taktperioden erforderlich, da zwei Register gleichzeitig geladen werden können.
  • Durch die Kontrolle des MSB des in jeder Zelle enthaltenen 1-Byte-Vorsatzes ist, wie oben erwähnt wurde, dem Steuermodul 200 die entsprechende Verarbeitungsart, – Unicast oder integriertes Multicast – bekannt, der jede an einem Eingangsanschluss ankommende Zelle unterzogen werden soll.
  • Der Vermittlungsprozess im integrierten Multicastmodus verläuft wie folgt:
    Die sechzehn Ausgangswarteschlangen 50 und 51 der OAQ-Warteschlange 4 mit je einem Doppelanschluss sind wie oben so angeordnet, dass der Ausgangsanschluss 2n der Warteschlange 50(n) und der Ausgangsanschluss 2n + 1 der Warteschlange 51(n) zugeordnet ist.
  • Zu einem bestimmten Zeitpunkt, während des Zyklus n, werden die beiden Eingangsanschlüsse 2n und 2n + 1 wie folgt verarbeitet: die 7 niedrigstwertigen Bits (Low Significant Bit, LSB) der beiden jeweils in das Halteregister 60(n) bzw. 61(n) geladenen Vorsätze – welche dem oben erwähnten Multicastzeichen entsprechenden – werden zum gleichzeitigen Adressieren des Multicasttabellenspeichers 6 über die Busse 150 und 151 verwendet. Dies bedeutet die Ausführung von gleichzeitigen Leseoperationen des für die Realisierung des Multicasttabellenspeichers 6 verwendeten Doppelanschlussspeichers. Der Multicasttabellenspeicher 6 stellt zwei 16-Bit-Datenbusse 152 und 153 dar, die jeweils mit einem ersten 16-Bit-Eingangsbus eines Multiplexers 64 und einem ersten 16-Bit-Eingangsbus eines Multiplexers 65 verbunden sind. Der Multiplexer 64 (bzw. 65) weist einen zweiten Eingangsbus auf, der jeweils so geschaltet ist, dass über diesen der Inhalt der beiden 8-Bit-Halteregister 60(n) und 62(n) (bzw. Halteregister 61(n) und 63(n)) empfangen wird. Die Verwendung dieses zweiten Eingangsbusses der Multiplexer 64 und 65 wird unter Bezug auf die obige Beschreibung des Bitmap-Multicastmodus genauer erläutert. Die Multiplexer 64 und 65 weisen jeweils einen 16-Bit-Ausgangsbus auf, der mit einem bestimmten Teil (so genannter MultiCast oder MC) des Steuermoduls 200 verbunden ist.
  • Die Ergebnisse der beiden gleichzeitigen Leseoperationen des Speichers 6 werden dem Steuermodul 200 über die Multiplexer 64 bzw. 65 angezeigt. Man beachte, dass die Steuerung aller im Koppelmodul der vorliegenden Erfindung verwendeten Multiplexer mittels einer universellen Steuervorrichtung wie beispielsweise eines (in der Figur nicht dargestellten) universellen Mikroprozessors erfolgt. Wenn also das Steuermodul 200 feststellt, dass Eingangsanschlüsse der integrierten Multicastverarbeitung zu unterziehen sind, bedient es sich des Inhalts der Multicasttabellen, die von den Multiplexern 64 und 65 über die Busse 154 bzw. 155 übermittelt werden, um auf dem Bus 210 die entsprechenden Schreibfreigabesteuersignale zu erzeugen, damit der Inhalt der ASA-Register 20(n) und 21(n) in die entsprechenden Warteschlangen 50 und 51 geladen wird, welcher auf die für die Multicastoperation vorgesehenen Ausgangsanschlüsse verweist.
  • Dies geschieht wie folgt: Entsprechend der Multicastkennung in dem in das Halteregister 60(n) geladenen Vorsatz am Eingangsanschluss 2n liefert die Leseoperation im Multicasttabellenspeicher 6 ein 16-Bit-Wort, das über den Bus 152 ausgegeben wird. Jedes der sechzehn Bits dieses Wortes ist einem Ausgangsanschluss des Koppelmoduls zugeordnet. Zum Beispiel entspricht das MSB dem Ausgangsanschluss mit der Nummer 0, welcher dem OCD-Treiber 11(0) zugeordnet ist, und das LSB dem Ausgangsanschluss 15. Somit definierten die sechzehn Bits des über den Bus 152 ausgegebenen Worts die verschiedenen Ausgangsanschlüsse, zu denen ein Exemplar der Zelle mit dem betreffenden 1-Byte-Vorsatz weitergeleitet werden soll. Wenn die Zelle zu den EVEN-Ausgangsanschlüssen (d.h. Anschlüsse 0, 2, 4, ..., 14) weitergeleitet werden soll, lautet das Wort X'AAAA' (hexadezimal). Wenn die Zelle zu allen Ausgangsanschlüssen weitergeleitet werden soll, was einem so genannten Rundsendemulticast entspricht, lautet das Wort X'FFFF'.
  • Allgemein gesagt, das Steuermodul 200 erzeugt die Schreibfreigabesteuersignale auf dem Bus 210, damit der Inhalt des ASA-Registers 20(n) in die Gruppe der entsprechenden Warteschlangen aller sechzehn Ausgangswarteschlangen 50 und 51 in Kasten 4 geladen wird, welche dem durch das auf dem Bus 152 übertragene Wort definierten Ausgangsanschluss entspricht. Der Inhalt des Registers 21(n) wird gleichzeitig in die Gruppe der entsprechenden Warteschlangen aller sechzehn Ausgangswarteschlangen der OAQ in Kasten 4 geladen, welche dem durch den auf dem Bus 152 übertragenen Wert definierten Ausgangsanschluss entspricht. Genauer gesagt, wenn während des Zyklus n das Bit mit der Nummer p auf dem Bus 154 gleich „EINS" ist, wird der Inhalt des ASA-Registers 20(n) (was dem Eingangsanschluss 2n entspricht) in die Ausgangswarteschlange 50(p) geladen. Das führt dazu, dass ein weiteres Exemplar der Zelle zum Ausgangsanschluss 2p weitergeleitet wird. Wenn während desselben Zyklus n das Bit mit der Nummer 2p + 1 gleich „EINS" ist, schließt das Steuermodul 200 daraus, dass der Inhalt des ASA-Registers 20(n) (was ebenfalls dem Eingangsanschluss 2n entspricht) zur Ausgangswarteschlange OAQ 51(p) weitergeleitet wird. Das führt dazu, dass ein weiteres Exemplar der am Eingangsanschluss 2n ankommenden Zelle zum Ausgangsanschluss 2p + 1 weitergeleitet wird. Durch diesen Mechanismus ist es möglich, eine (im vorliegenden Beispiel am Eingangsanschluss 2n ankommende) Zelle mehrfach zu einer beliebigen Kombination von Ausgangsanschlüssen weiterzuleiten.
  • Wenn das Bit mit der Nummer 2q auf dem Bus 155 ebenfalls während des Zyklus n gleich eins ist, überträgt das Steuermodul 200 den Inhalt des ASA-Registers 21(n) (was dem Eingangsanschluss 2n + 1 entspricht) zur Ausgangswarteschlange 50(q). Auch hier wird ein Exemplar der am Eingangsanschluss 2n + 1 ankommenden Zelle zum Ausgangsanschluss 2q weitergeleitet. Desgleichen wird, wenn das Bit mit der Nummer 2q + 1 auf dem Bus 155 während des Zyklus n gleich eins ist, der Inhalt des ASA-Registers 21(n) in die Ausgangswarteschlange 51(q) geladen und ein Exemplar der Zelle zum Ausgangsanschluss 2q + 1 weitergeleitet.
  • Bei dem oben beschriebenen Mechanismus kann es durchaus vorkommen, dass die beiden an den Eingangsanschlüssen 2n und 2n + 1 ankommenden Zellen einen Vorsatz enthalten, der für beide Zellen eine Rundsendeoperation vorsieht, sodass für alle Ausgangsanschlüsse je ein Exemplar der Zelle bereitgestellt werden muss. In diesem sehr speziellen Fall befördern die beiden Busse 154 und 155 während des zur Verarbeitung der sechzehn Anschlüsse erforderlichen Taktperioden dieselbe Information, d.h. X'FFFF' (hexadezimal). Das Steuermodul 200 erzeugt gleichzeitig die 32 Schreibfreigabesteuersignale auf dem Bus 210, sodass der Inhalt der beiden während des Zyklus n zu verarbeitenden ASA-Register 20(n) und 21(n) in die sechzehn Ausgangswarteschlangen OAQ 50 und 51 geladen wird. Da diese Warteschlangen als Speicher mit Doppelanschluss ausgeführt sind, zeigt sich, dass eine Konkurrenzsituation erfolgreich vermieden wird.
  • Als Nächstes muss mittels einer speziellen Operation der Ausgabeprozess für die beiden von den ASA-Registern 20(n) und 21(n) übertragenen Adressen vorbereitet werden. Bei diesem Mechanismus wird eine Zählspeicherschaltung 7 verwendet. Dabei dient während des Zyklus n die durch den Inhalt des ASA-Registers 20(n) und über den Bus 104 übertragene Adresse zum Adressieren des Zählspeichers 7, um in diesem zu speichern, wie oft die betreffende Adresse im ASR-Register 20(n) in der Ausgangswarteschlange 4 gespeichert worden ist und wie viele Exemplare der betreffenden Zelle somit in den Zellenspeicher 1 geladen werden müssen. Speziell bei einer Unicastoperation ist der Wert, welcher unter der durch den Inhalt des ASA-Registers 20(n) definierten Adresse in den Zählspeicher 7 geladen wird, gleich 1. Bei einer Multicastoperation der am Anschluss 2n ankommenden Zelle stellt der in den Zählspeicher geladene Wert die Anzahl Einsen auf dem Bus 154 dar, das heißt, wie viele Exemplare der Zelle zu den Ausgangsanschlüssen weitergeleitet werden sollen.
  • Gleichzeitig wird die während des Zyklus n in das ASA-Register 21(n) geladene Adresse in derselben Weise verarbeitet. Daher ist bei einer Unicastoperation am Eingangsanschluss 2n + 1 der Wert, welcher unter der durch den Inhalt des ASA-Registers 21(n) in den Zählspeicher 7 geladen werden soll, gleich 1 und bei einer Multicastoperation gleich der aktuellen Anzahl der auf dem Bus 155 vorhandenen Einsen.
  • 1.3. Beschreibung des selektiven Rundsendens mit 2 Byte Vorsatz (Bitmapmodus)
  • Im Bitmapmodus werden die Multiplexer 64 und 65 gegenüber dem Modus mit 1-Byte-Vorsatz (mittels einer in der Figur nicht dargestellten Steuervorrichtung) umgekehrt.
  • Dadurch können die Daten direkt vom Bus 156 zum Bus 154 und gleichermaßen die Daten vom Bus 157 direkt zum Bus 155 übertragen werden.
  • Der Bitmapmodus basiert auf der Verwendung von Halteregistern 60, 61, 62 und 63 zu je acht Bit, also insgesamt 32 Registern. Der 2-Byte-Vorsatz der über den Eingangsanschluss 2n ankommenden Zelle wird in die Halteregister 60(n) und 62(n) und der Vorsatz der über den Eingangsanschluss 2n + 1 ankommenden Zelle in die Halteregister 61(n) und 63(n) geladen. Zum vollständigen Laden der 32 Halteregister werden insgesamt acht aufeinander folgende Zyklen benötigt. Im Bitmapmodus werden die Multicasttabelle 6 sowie die Busse 150, 151, 152 und 153 nicht verwendet. Für den Übergang des Steuermoduls 200 in diesen Bitmapmodus ist eine Initialisierungsperiode erforderlich, damit das Modul die auf den Bussen 154 und 155 ankommenden 16-Bit-Wörter bzw. die 2-Byte-Vorsätze der an den Eingangsanschlüssen 2n und 2n + 1 ankommenden Zellen verarbeiten und die entsprechenden Schreibfreigabesteuersignale auf dem Bus 210 erzeugen kann. Dadurch wird der Inhalt der ASA-Register 20(n) und 21(n) in die entsprechenden Warteschlangen 50 und 51 geladen, welche genau den für die Multicastoperation vorgesehenen Ausgangsanschlüssen entsprechen, wie bei dem integrierten Multicastmodus in Kapitel 1.2 beschrieben.
  • Bei dem speziellen Fall, in dem eine Unicastoperation mit einer am Eingangsanschluss 2n ankommenden Zelle durchgeführt werden soll, weist der 2-Byte-Vorsatz eine einzige „1" auf, deren Stellung unter allen sechzehn Bits genau denjenigen Ausgangsanschluss definiert, zu dem die Zelle weitergeleitet werden soll.
  • Der Zählspeicher schließlich wird ebenso wie oben beschrieben zur Vorbereitung des Ausgabeprozesses verarbeitet, bei dem die einzelnen in die ASA-Register 20(n) und 21(n) geladenen Adressen verwendet werden.
  • Im Folgenden wie der Ausgabeprozess ausführlich beschrieben.
  • 2. Beschreibung des vom Koppelmodul ausgeführten Ausgabeprozesses
  • Der Ausgabeprozess ist vom Eingabeprozess unabhängig und verläuft in zwei unterschiedlichen Phasen.
  • Zunächst wird eine erste, vorbereitende Phase gestartet, die 8 aufeinander folgende Zyklen erfordert. Während des Zyklus n wird gleichzeitig die Verarbeitung der Ausgangsanschlüsse 2n und 2n + 1 vorbereitet. während der ersten Phase können die sechzehn ARA-Register 32 und 33 geladen werden. Dies geschieht wie folgt: während des Zyklus n wird die in die Rusgangsadresswarteschlange 50(n) geladene Adresse entnommen und (gesteuert durch einen in der Figur nicht dargestellten internen Prozessor) über den Grenzsignalspeicher 30, das Schattenregister 34 und den Multiplexer 26 zum NRA-Register 28(n) befördert. Gleichzeitig wird die in die Ausgangsadresswarteschlange 51(n) geladene Adresse entnommen und über den Grenzsignalspeicher 31, das Schattenregister 35 und den Multiplexer 27 zum NRA-Register 29(n) befördert. Somit nimmt das Laden der sechzehn NRA-Register 28 und 29 insgesamt acht Systemtaktperioden in Anspruch. Nach diesen acht Zyklen wird gleichzeitig der Inhalt jedes der sechzehn NRA-Register 28 und 29 in jeweils eines der sechzehn ARA-Register 32 und 33 geladen. Damit ist die erste Initialisierungsphase abgeschlossen.
  • Dann kann die zweite Phase beginnen. Die nunmehr in den ARA-Registern 32 und 33 verfügbaren sechzehn Adressen werden den ihnen entsprechenden Ausgangs-Vermittlungseinheiten 3-0 bis 3-15 zugeleitet. Dann stellt jede Vermittlungseinheit die Verbindung ihres entsprechenden Ausgangsanschlusses zu einem der 128 Speicherplätze im Zellenspeicher 1 her, welcher der Adresse entspricht, die durch den Inhalt des entsprechenden ARA-Registers 32 oder 33 definiert ist. Genauer gesagt, jede Vermittlungseinheit 3(2p), mit p = 0 bis 7, stellt die Verbindung des Ausgangsanschlusses 2p zu demjenigen Speicherplatz im Zellenspeicher 2 her, der durch den Inhalt des ARA-Registers 32(p) definiert ist. Gleichzeitig stellt jede Vermittlungseinheit 3(2p + 1), mit p = 0 bis 7, die Verbindung des Ausgangsanschlusses 2p + 1 zu demjenigen Speicherplatz im Zellenspeicher 1 her, der durch den Inhalt des ARA-Registers 33(p) definiert ist. Somit können die sechzehn Abrufoperationen gleichzeitig ausgeführt und sechzehn Zellen zu den sechzehn OCD-Treibern 11 weitergeleitet werden, was einen sehr wirksamen Vermittlungsmechanismus darstellt. Man beachte, dass für den Gesamtvorgang der Zellenentnahme N Taktperioden erforderlich sind.
  • Nach Beendigung des Ausgabeprozesses werden die sechzehn in den ARA-Registern befindlichen Adressen zu den entsprechenden Speicherplätzen einer Gruppe von sechzehn Altadressenregistern (Old Retrieve Address, ORA) 24(0) bis 24(7) und 25(0) bis 25(7) übertragen. Dies wird durch eine einzige Übertragung des Inhalts der ARA-Register 32(n) und 33(n) in die ORA-Register 24(n) und 25(n) erreicht.
  • Man beachte, dass bei der bevorzugten Ausführungsart der vorliegenden Erfindung die Doppelübertragung des Inhalts der NRA-Register 28(n) und 29(n) zu den entsprechenden ARA-Registern 32(n) und 33(n) gleichzeitig mit der Doppelübertragung des Inhalts der ARA-Register 32(n) und 33(n) zu den ORA-Registern 24(n) und 25(n) erfolgt.
  • Dann wird der Prozess fortgesetzt mit der Wiederherstellung der Adressen des Zellenspeichers 1, der wieder verfügbar wird, da die geladenen Zellen entnommen werden können. Dieser Prozess bedient sich des Zählspeichers 7, um die Möglichkeit der Mehrfachzählung beim Multicastmodus zu berücksichtigen. Beim Übermitteln von Multicastzellen verhindert die Erfindung nämlich, dass der betreffende Speicherplatz im Zellenspeicher 1 nach der ersten Abrufoperation dieser Zelle wieder zur Verfügung steht, bevor das letzte Exemplar der Zelle übertragen worden ist. Der Prozess der vorliegenden Erfindung berücksichtigt auch die Tatsache, dass beispielsweise beim Übertragen von drei Exemplaren einer Zelle über drei verschiedene Anschlüsse das Abrufen jedes Exemplars für jeden einzelnen Ausgangsanschluss nicht unbedingt zum selben Zeitpunkt erfolgen muss. Die Differenz der aktuellen Abrufoperation derselben Zelle hängt offensichtlich vom aktuellen Laden der OAQ-Warteschlange ab, welche dem betreffenden Ausgangsanschluss entspricht, also vom tatsächlichen Datenverkehr am Ausgangsanschluss.
  • Der Wiederherstellungsprozess erfordert insgesamt acht Systemtaktzyklen, die wie folgt ablaufen: während des Zyklus n wird der Inhalt des ORA-Registers 24(n) über den Bus 158 der FAQ-Schaltung 5 und der Zählspeicherschaltung 7 zugeleitet. Der Zählspeicher 7 stellt für die betreffende durch den Wert auf dem Bus 158 definierte Adresse die Anzahl der restlichen Reservierungen zur Verfügung, das heißt, wie oft die am betreffenden Speicherplatz gespeicherte Zelle noch abgerufen werden soll. Diese Zahl wird dann um eins verringert und das Ergebnis der Subtraktion geprüft. Wenn das Ergebnis ungleich null ist, wird es wieder unter derselben Adresse in der Zählspeicherschaltung 7 gespeichert. Wenn das Ergebnis jedoch gleich null ist – gleichbedeutend mit der letzten durch den Vorsatz angeforderten Abrufoperation – wird auch dieses Ergebnis unter derselben Adresse in den internen Speicher der Zählspeicherschaltung 7 gespeichert, und die Schaltung 7 erzeugt auf Leitung 160 ein Schreibfreigabesteuersignal, damit die auf dem Bus 158 anliegende Adresse in den internen Speicher der FAQ-Schaltung 5 geladen wird. Dieser Speicherplatz wird somit für weitere Zellenspeicheroperationen freigegeben.
  • Gleichzeitig wird derselbe Prozess für den wert der Adresse durchgeführt, die im ORA-Register 25(n) gespeichert ist und über den Bus 159 zum Eingangsbus der FAQ-Schaltung 5 und der Zählspeicherschaltung 7 übertragen wird. Ebenso wie oben wird der über den Bus 159 in die Schaltung 7 geladene Wert um eins verringert und das Ergebnis der Subtraktion geprüft; wenn das Ergebnis gleich null ist, erzeugt die Schaltung 7 auf der zur FAQ-Schaltung 5 führenden Leitung 161 ein Schreibfreigabesteuersignal, damit die betreffende Adresse in den internen Speicher der FAQ-Schaltung 5 geladen wird. Anschließend wird die betreffende Adresse wieder für weitere Zellenspeicheroperationen für den im Kapitel 1 beschriebenen Eingabeprozess freigegeben.
  • Man beachte, dass die Verwendung der Doppelanschlussspeicherung beim Realisieren des internen Speichers der beiden Schaltungen 5 und 7 von großem Vorteil ist. Dadurch ist es nämlich möglich, die Anzahl der zur Verarbeitung der verschiedenen Adressen im Zellenspeicher 1 erforderlichen Zyklen um den Faktor zwei zu verringern. Bei einem Koppelmodul gemäß der Erfindung mit 16 Eingangsanschlüssen und 16 Ausgangsanschlüssen sind nur 8 Systemtaktzyklen erforderlich.
  • 4 veranschaulicht die Verwendung eines einzelnen Koppelmoduls 401 der vorliegenden Erfindung zum Aufbau einer Vermittlungseinheit. Die Figur zeigt, dass eine bestimmte Zelle 410 durch das Koppelmodul 401 empfangen und gemäß dem oben beschriebenen Vermittlungsprozess weitergeleitet wird. Die durch den Pfeil 420 dargestellte Zelle wird am entsprechenden Ausgangsanschluss des Moduls 401 bereitgestellt. In dieser Figur basiert die im Folgenden als Koppelfeld bezeichnete Vermittlungsvorrichtung auf einem einzelnen Modul 401 und arbeitet mit einer Geschwindigkeit, die im Wesentlichen durch eine bestimmte Technologie vorgegeben ist.
  • Bei einer einstufigen Architektur besteht jedoch die Forderung nach höheren Geschwindigkeiten. Das Koppelmodul der vorliegenden Erfindung lässt mit ein und derselben Technologie auch höhere Geschwindigkeiten zu. Das lässt sich in vorteilhafter Weise durch eine bestimmte Anordnung identischer Koppelmodule 401 erreichen, die im Folgenden ausführlich beschrieben wird und eine sehr einfache und wirksame Zusammenschaltung mehrerer Koppelmodule in einem so genannten Beschleunigungsmodus ermöglicht. 5 veranschaulicht eine Anordnung, in der vier verschiedene Koppelmodule 401 bis 404 so zusammengeschaltet sind, dass sie eine leistungsfähigere Koppelstruktur mit höherer Geschwindigkeit darstellt. Bei dieser aus vier Koppelmodulen 401 bis 404 bestehenden Anordnung wird jede an einem Eingangsanschluss p der Gesamtkoppelstruktur ankommende Zelle 410 logisch in vier verschiedene Teile 411, 412, 413 und 414 aufgeteilt oder aufgespaltet. Der erste Teil 411 der Zelle geht zum Eingangsanschluss p des Moduls 401 und der zweite Teil 412 zum Eingangsanschluss p des Moduls 402. Entsprechend gehen der dritte und der vierte Teil 413 und 414 der Zelle jeweils zum Eingangsanschluss p des Koppelmoduls 403 bzw. 404.
  • Im Folgenden wird sich zeigen, dass eine solche Anordnung aufgrund der internen Schaltung der Koppelmodule 401 bis 404 von Vorteil ist, da die vier verschiedenen Teile der Zelle 410 gleichzeitig verarbeitet werden können. Andererseits wird die Zelle abgerufen und zum entsprechenden Ausgangsanschluss jedes Koppelmoduls 401 bis 404 weitergeleitet. Speziell wird der erste Teil 421 der Zelle 420 zum entsprechenden Ausgangsanschluss q des Koppelmoduls 401 und der zweite Teil 422 der Zelle 420 zum entsprechenden Ausgangsanschluss q des Koppelmoduls 402 weitergeleitet. Entsprechend werden der dritte und der vierte Teil 423 und 424 der Zelle zum entsprechenden Ausgangsanschluss q des Koppelmoduls 403 bzw. 404 weitergeleitet.
  • Somit zeigt sich, dass die gleichzeitige Verarbeitung der vier verschiedenen Teile der Zelle 410 zu einer Verringerung der durch jedes einzelne Koppelmodul tatsächlich verarbeiteten Zellengröße um den Faktor vier führt. Deshalb werden die Koppelmodule komplett zusammengeschaltet, um so die effektive Geschwindigkeit der Koppelstruktur um den Faktor vier zu erhöhen. Durch die Anordnung ergibt sich der deutliche Vorteil, dass man auch bei einer vorgegebenen Technologie die Geschwindigkeit des Koppelprozesses erhöhen kann. Im Folgenden wird ausführlich erläutert, dass durch einfaches Zusammenschalten der Koppelmodule der 2 und 3 eine deutliche Geschwindigkeitssteigerung möglich ist. Da die Anzahl der für jede Zelle erforderlichen Zyklen für jedes Koppelmodul 401 bis 404 um den Faktor vier verringert wird, besteht die einzige Beschränkung beim Zusammenschalten mehrerer Koppelmodule zum Aufbau einer leistungsfähigeren Koppelstruktur 450 darin, die für die oben beschriebenen Eingabe- und Ausgabeprozesse erforderlichen acht Systemtaktzyklen im Rahmen der durch die jeweilige Technologie vorgegebenen Möglichkeiten auszuführen. Bei der vorliegenden Erfindung basiert die Leistungssteigerung der Koppelstruktur 450 auf vier Koppelmodulen 401 bis 404, und die Beschreibung bezieht sich ausschließlich auf diese spezielle Anordnung. Ein Fachmann ist jedoch in der Lage, die folgende Beschreibung direkt auf beliebige andere Kombinationen von Koppelmodulen anzupassen.
  • Bei der Anordnung der bevorzugten Ausführungsart empfängt das Koppelmodul 401 den ersten Teil der Zelle 410, d.h. den Teil 401 mit dem zur Steuerung des oben beschriebenen Vermittlungsprozesses verwendeten Leitwegvorsatz. Deshalb stellt das Koppelmodul 401 in der Gesamtstruktur 450 das Hauptmodul (Master) dar, das heißt, der Steuerbereich des Moduls 401 ist für alle vier Koppelmodule 401 bis 404 zuständig. Die drei anderen Koppelmodule 402 bis 404 (Slave) sind dem Modul 401 im Vermittlungsprozess untergeordnet, und die vier verschiedenen Teile der ausgegebenen Zelle 420 kommen gleichzeitig am Ausgangsanschluss bzw. an den Ausgangsanschlüssen q an. Da der Speicherungsprozess im Zellenspeicher 1 des Master-Koppelmoduls 401 in Abhängigkeit vom gerade zur Verfügung stehenden Speicherplatz zufällig verläuft, muss unbedingt sichergestellt werden, dass in den Slave-Koppelmodulen 402 bis 404 derselbe Speicherungsprozess erfolgt, damit die Unversehrtheit der durch die vier Koppelmodule geleiteten Zelle erhalten bleibt. Bei der Erfindung wird dies auf vorteilhafte Weise durch die Verwendung eines speziellen Beschleunigungssteuerbusses 500 sichergestellt, welcher durch das Master-Koppelmodul 401 gesteuert wird.
  • Bei der bevorzugten Ausführungsart der Erfindung handelt es sich bei dem Beschleunigungsbus 500 um einen 32-Bit-Bus, der aus vier verschiedenen Teilen besteht. Der Beschleunigungsbus 500 beinhaltet eine erste Gruppe von acht Leitungen 510-0 bis 510-7, die jeweils mit dem Eingang der oben unter Bezug auf 2 beschriebenen Empfänger 44-0 bis 44-7 und dem Ausgang der Treiber 40-0 bis 40-7 verbunden sind. Außerdem umfasst der Beschleunigungsbus 500 eine zweite Gruppe von acht Leitungen 509-0 bis 509-7, die jeweils mit der Ausgangsleitung der acht oben beschriebenen Treiber 41-0 bis 41-7 sowie mit der Eingangsleitung der acht Empfänger 45-0 bis 45-7 verbunden sind.
  • Ferner umfasst der Beschleunigungsbus 500 eine dritte Gruppe von acht mit dem Bus 520 (das heißt, mit der Eingangsleitung der acht Empfänger 46 und der Ausgangsleitung der Treiber 42) verbundene Leitungen und eine vierte Gruppe von acht mit dem Bus 521 (das heißt, mit der Eingangsleitung der acht Empfänger 47 und der Ausgangsleitung der acht Treiber 43) verbundenen Leitungen.
  • Somit kann der Beschleunigungsbus 500 eine komplette Verknüpfung der vier die Koppelstruktur bildenden Koppelmodule herstellen. Der Beschleunigungsmodus funktioniert wie folgt: Im Mastermodul 401 werden die verschiedenen OCD-Treiber 40, 41, 42 und 43 aktiviert. Diese geben die Vermittlungsdaten aus, welche über den Bus 500 zu den anderen Slave-Koppelmodulen 402 bis 404 übermittelt werden. Ferner wird der Multiplexer 112 (bzw. der Multiplexer 113) (durch den nicht dargestellten internen Prozessor) so gesteuert, dass der Inhalt des Registers 110 (bzw. des Registers 111) zum Pipelineregister 114 (bzw. Pipelineregister 115) übertragen wird. Der Multiplexer 26 (bzw. der Multiplexer 27) ist so konfiguriert, dass der Inhalt des Registers 34 (bzw. 35) zu den NRA-Registern 28 (bzw. NRA-Registern 29) übertragen wird, da in diesem Fall kein Pipelineregister verwendet wird.
  • Bei den Slave-Koppelmodulen 402 bis 404 sind die verschiedenen OCD-Treiber 40, 41, 42 und 43 nicht aktiv. Der Multiplexer 112 (bzw. der Multiplexer 113) wird so gesteuert, dass er den Ausgang des Grenzsignalspeichers 180 (bzw. des Grenzsignalspeichers 181) über den EVEN-Bus (bzw. über den ODD-Bus) mit dem Pipelineregister 114 (bzw. mit dem Pipelineregister 115 verbindet. Der Multiplexer 26 (bzw. der Multiplexer 27) hingegen ist so konfiguriert, dass er den Ausgang des Grenzsignalspeichers 80 (bzw. des Grenzsignalspeichers 81) mit der Gruppe von NRA-Registern 28 (bzw. NRA-Registern 29) verbindet. Deshalb enthalten die ASA-Register 20 und 21 sowie die ARA-Register 32 und 33 jedes Koppelmoduls 401 bis 404 während jedes Zellenzyklus dieselben Daten, sodass in den vier Komponenten der gesamten Koppelstruktur derselbe Vermittlungsprozess sichergestellt ist. Dadurch läuft in den einzelnen Koppelmodulen genau derselbe Vermittlungsprozess ab, und die vier einzelnen Teile der Zelle 410 kommen gleichzeitig an den entsprechenden Ausgangsanschlüssen der Module 401 bis 404 an. Der vollständig synchrone Ablauf wird durch die Verwendung von Grenz- und Schattensignalspeichern 110, 111, 80 und 81 erreicht.
  • Das zeigt, dass das Koppelmodul der vorliegenden Erfindung einfach mit anderen Modulen zusammengeschaltet werden kann, um eine leistungsfähige Koppelstruktur für hohe Geschwindigkeiten zu erhalten. Obwohl die obige Beschreibung von der Verwendung von vier einzelnen Koppelmodulen 401 bis 404 ausgeht, sind auch andere Anordnungen möglich. Das zusammenschalten der Module ist also nicht auf vier beschränkt. Bei Verwendung von zwei Modulen im Beschleunigungsmodus wird die Vermittlungsgeschwindigkeit um den Faktor zwei erhöht.
  • Die Leistungsfähigkeit der Koppelstruktur wird – unabhängig davon, ob zwei, vier oder mehr Koppelmodule 401 verwendet werden – bei der vorliegenden Erfindung durch Verwendung spezieller Schaltungen noch weiter gesteigert, welche die zahlreichen auf dem Markt vorhandenen Anforderungen erfüllen.
  • Die Erfindung bedient sich einer Reihe von Adaptern, welche außer der Aufteilung der Zelle in die vier Teile (bei der bevorzugten Ausführungsart der Erfindung) auch die von einer breiten Vielfalt von Benutzern geforderten Schnittstellen bereitstellen. Somit stellt die Erfindung ein äußerst flexibles Koppelsystem zur Verfügung, das die meisten Anforderungen an solche Systeme erfüllen kann.
  • 6 zeigt ein Beispiel einer Vermittlungsarchitektur auf der Grundlage der Hochgeschwindigkeits-Koppelstruktur 450, die eine große Vielfalt von Peripherieeinheiten aufweist. Der Vermittlungskern kann sich in einem Gebäude befinden und eine Anzahl N verschiedener Telekommunikationseingangs- und -ausgangsanschlüsse (sechzehn Anschlüsse bei der Ausführungsart der Erfindung) zur Verfügung stellen. Ein Anschluss mit einer Telekommunikationsverbindung von 1,6 Gbit/s kann zusammen mit einem Adapter 4500 eine (durch Pfeil 4400 dargestellte) Hochgeschwindigkeitsverbindung herstellen. Der Vermittlungskern 1130 weist einen Anschluss i mit 1,6 Gbit/s auf, der eine Datenübertragungsverbindung 1400 zu einem SCAL-Element 1000 herstellt. Das SCAL-Element 1000 stellt eine Verbindung zu vier so genannten Protokolladaptern 1600, 1700, 1800 und 1900 her, die je eine s/4-Datenübertragungsverbindung herstellen. Ein dritter Anschluss des Vermittlungskerns 1130 ist für eine Leitung 2400 zu einem weiteren SCAL-Element 2000 reserviert, welches die Verbindung zu zwei s/2-Protokolladaptern herstellt. Eine ähnliche Verbindung kann mittels eines weiteren SCAL-Elements 3000 hergestellt werden, das mit zwei Protokolladaptern 3500 und 3600 verbunden ist, welche die vom Vermittlungskern 1130 bereitgestellte Datenübertragungsverbindung 3400 mit 1,6 Gbit/s gemeinsam nutzen. Schließlich können bei dem in der Figur veranschaulichten Beispiel über ein SCAL-Element 5000 vier s/4-Protokolladapter 5500 bis 5800 angeschlossen werden, die über die Leitung 4400 auf den Datenfluss des Anschlusses j des Koppelfeldes 450 mit 1,6 Gbit/s zugreifen können.
  • Bei der bevorzugten Ausführungsart der Erfindung weisen die SCAL-Elemente 1000, 2000 und 3000 die Form von Elektronikblöcken auf, die mit den verschiedenen Protokolladaptern in Form von Platinen verbunden sind.
  • Im Folgenden werden zwei verschiedene Ausführungsarten der allgemeinen Architektur der Erfindung ausführlich erläutert, die in 6 als Beispiel dargestellt ist. Je nach den Anforderungen des Benutzers kann das Koppelfeld in zwei unterschiedlichen Formen auftreten: einer ersten so genannten kompakten Koppelfeldarchitektur und einer zweiten so genannten verteilten Koppelfeldarchitektur.
  • Die als kompakte Koppelfeldarchitektur bezeichnete erste Ausführungsart der Erfindung wird dann eingesetzt, wenn in einem eng umgrenzten, kompakten Bereich ein sehr flexibles und leistungsfähiges Vermittlungssystem benötigt wird. In diesem Fall befinden sich der Vermittlungskern 1130 und die diversen SCAL-Elemente 1000, 2000, 3000 und 5000 in demselben eng begrenzten räumlichen Bereich und sind mittels einer Datenübertragungsverbindung von 1,6 Gbit/s auf Basis von Koaxialkabeln miteinander verbunden.
  • Meist befinden sich die Peripherieeinheiten in unterschiedlichen räumlichen Bereichen einer Reihe von Betriebsgebäuden. In diesem Fall können die SCAL-Elemente der Erfindung ziemlich weit – bis zu 100 Meter – vom Vermittlungskern 1130 entfernt angeordnet und mittels Datenübertragungsverbindungen 1400, 2400, 3400 mit 1,6 Gbit/s in Form einer Gruppe von mindestens vier Datenlichtwellenleitern zu je 500 Mbit/s verbunden werden. Durch diese einfachen Verbindungen bilden die einzelnen Elemente der Vermittlungsarchitektur ein so genanntes „Koppelfeld".
  • 7 zeigt die Struktur des Empfangs- und Sendeteils jedes SCAL-Elements 1000 bis 5000 und den logischen Datenfluss zwischen dem Empfangsteil des SCAL-Elements 1000 (über den Anschluss i des Vermittlungskerns 1130) und den Sendeteil des SCAL-Elements 5000 (über den Anschluss j des Vermittlungskerns 1130). Diese Figur veranschaulicht insbesondere die oben erwähnte verteilte Ausführungsart des Koppelfeldes, bei dem sich jedes SCAL-Element 1000 bis 5000 in einer Entfernung von mindestens 100 Metern vom Vermittlungskern 1130 befindet. Im Folgenden wird der Empfangs- und der Sendeteil eines SCAL-Elements ausführlich beschrieben, wobei davon ausgegangen wird, dass dieses SCAL-Element den Anschluss von vier Protokolladaptern herstellt. Man beachte jedoch, dass die SCAL-Struktur der Erfindung nicht auf diese spezielle Anordnung von vier Protokolladaptern beschränkt ist. Die Protokolladapter 1600 bis 1900 können beispielsweise mit zwei OC3/STM1-Leitungen gemäß den CCITT-Empfehlungen oder aber mit acht DS3-Datenübertragungsverbindungen usw. verbunden sein. Bei der vorliegenden Erfindung ist jeder mit einem SCAL-Element verbundene Protokolladapter einem so genannten PINT-Element zugeordnet. Auf der Empfangsseite des SCAL-Elements 1000 ist der Protokolladapter PE 1600 (bzw. PE 1700, PE 1800 und PE 1900) über den Bus 541 (bzw. 542, 543 und 544) einem PINT-Element 511 (bzw. 512, 513 und 514) zugeordnet, während auf der Sendeseite des SCAL-Elements 5000 (über den Anschluss j) der PE 5500 (bzw. 5600, 5700 und 5800) über den Bus 641 (bzw. 642, 643 und 644) Datenzellen von einem PINT-Element 611 (bzw. 612, 613 und 614) empfängt. Wenn die Anzahl der an ein SCAL-Element (zum Beispiel SCAL 2000) angeschlossenen Protokolladapter auf zwei begrenzt ist, beinhaltet dieses nur zwei PINT-Schaltungen.
  • Außerdem sind die SCAL-Elemente mit einer Parallel-Seriell-/Seriell-Parallel-Umsetzerschaltung zur Unwandlung des Datenflusses ausgestattet, um die Anzahl der Koaxialkabel (beim kompakten Vermittlungskern) bzw. der Lichtwellenleiter (beim verteilten Vermittlungskern) zu verringern.
  • 7 veranschaulicht den logischen Datenfluss zwischen zwei bestimmten Anschlüssen, zum Beispiel zwischen dem Anschluss i auf der Empfangsseite und dem Anschluss j auf der Sendeseite. Deshalb ist jedes Element auf der linken Seite der Koppelstruktur 450 durch den Index i gekennzeichnet, damit man seine Zugehörigkeit zum Anschluss i erkennt. Desgleichen trägt jedes Element auf der rechten Seite von Kasten 450 den Index j, um den Ausgangsanschluss j zu kennzeichnen. Zur Vereinfachung der folgenden Beschreibung sind jedoch die Indizes in 6 weggelassen worden. In 9 werden die Indizes jedoch wieder benutzt, wenn der Multicastbetrieb des verbesserten Koppelsystems beschrieben wird.
  • Man beachte, dass der allgemein gefasste Begriff „Protokolladapter" (Protocol Engine) die Leitungsanpassungsschicht der unterschiedlichen auf dem Markt befindlichen Leitungen beschreibt. Im Grunde bezeichnet dieser Begriff Funktionskomponenten in Form von Hard- und Software, die dem Fachmann wohlbekannt sind und als Schnittstelle die Anpassung der Leitung an die verschiedenen von den Benutzern verwendeten Leitungen vornimmt. Das können Leitungen auf der Grundlage von ATM-Protokollen, T3, DS3, AT1 und E1 sowie Schnittstellen wie FCS, ESCON usw. sein. Ein Beispiel für ein solches System ist „Hauptanschlussadapter" (Trunk Port Adapter), der von IBM für das NWays 2220, Modell 500, vertrieben wird.
  • Unter Bezug auf die 14 bis 17 wird ein spezieller verbesserter ATM-Protokolladapter genauer beschrieben. Unabhängig von der Art der jeweils angeschlossenen Leitung ist jedoch zu beachten, dass der Protokolladapter die Verbindung mit der von den Benutzern verwendeten Leitung herstellt und dem SCAL-Element 1000 die für den Vermittlungskern 450 vorgesehenen Zellen zuleitet, die einen Leitwegvorsatz und Nutzdaten enthalten. Der Leitwegvorsatz der Zellen wird gemäß dem oben beschriebenen Vermittlungsmechanismus verwendet.
  • 8 zeigt die Struktur eines Empfangsteils der PINT-Schaltungen 511 bis 514 des SCAL-Elements 1000. Der über den 8-Bit-Eingangsbus 541 ankommende Datenfluss wird so auf die vier FIFO-Speicher 701 bis 704 verteilt, dass das erste Byte in der FIFO 701, das zweite in der FIFO 702, das dritte in der FIFO 703, das vierte in der FIFO 704, das fünfte wieder in der FIFO 701 usw. gespeichert wird. Dadurch wird der 8-Bit-Datenfluss in einen 4-Byte-Ausgangsbus 540 umgewandelt, der für die vier Koppelmodule der Struktur 450 benötigt wird. Bei der Ausführungsart des so genannten kompakten Koppelfeldes wird jedes Byte mit Hilfe des Parallel-Seriell-/Seriell-Parallel-Umsetzers und eines gemeinsamen Koaxialkabels übertragen, während beim verteilten Vermittlungskern jedes Byte durch den Parallel-Seriell-/Seriell-Parallel-Umsetzer und einen längeren Lichtwellenleiter übertragen wird. Somit werden auf dem Bus 540 vier Byteströme zu den je vier Empfängern jedes einzelnen Koppelmoduls übertragen.
  • Bei den beiden Ausführungsarten des kompakten und des verteilten Koppelfeldes ist zu beachten, dass das erste Byte auf dem Bus 540 (die 8 höchstwertigen Bits, MSB) zum 8-Bit-Eingangsbus des Empfängers 10 am entsprechenden Eingangsanschluss des ersten Moduls 401 übertragen werden muss. Desgleichen muss das zweite Byte auf dem Bus 540 (Bits 9 bis 15) zum Eingang des Empfängers 10 am entsprechenden Eingangsanschluss des zweiten Koppelmoduls 402 übertragen werden, usw. Wenn eine Zelle während einer Anzahl von N Zyklen am Eingangsanschluss 541 des Elements 511 empfangen wird, wird sie während einer Anzahl von N/4 Zyklen in etwa der gleichen Form zum Eingang der vier Koppelmodule 401 bis 404 weitergeleitet. Bei der bevorzugten Ausführungsart der Erfindung hat die am Eingangsbus 541 ankommende Zelle einen Umfang von 58 Bytes. Dieser Satz von 58 Bytes wird an geeigneten Stellen in der Zelle durch zwei weitere Bytes ergänzt, um eine 60-Byte-Zelle zu erzeugen, die auf die vier FIFOs verteilt wird und eine Folge von 15 4-Byte-Wörtern ergibt, die durch die Koppelmodule 401 bis 404 verarbeitet werden können. Diese beiden zusätzlich zu den ursprünglichen 58 Bytes eingefügten Bytes werden in Verbindung mit dem oben beschriebenen „Bitmapmodus" bzw. „Multicastmodus mit 2-Byte-Vorsatz" verwendet. Das Koppelmodul 401 fungiert dabei als Master, und eine Steuerschaltung 710 setzt die beiden Bitmapbytes auf den ersten und zweiten Speicherplatz in der FIFO 701 (das heißt, an die erste und fünfte Position der auf dem Bus 541 empfangenen Zelle). Somit empfängt das Koppelmodul 401 die beiden den Leitwegvorsatz bildenden Bitmapbytes als erste Positionen des an seinem Eingangsanschluss ankommenden Datenflusses. Man beachte, dass die Geschwindigkeiten auf den beiden Bussen 541 und 540 kaum voneinander abhängen, da die erstere niedriger als die letztere sein kann. Ausgehend von einer Verarbeitungsgeschwindigkeit des Koppelmoduls von 20 ns (entsprechend einem Gesamtdatenfluss von 1,6 Gbit/s) ergibt sich die auf dem Bus 541 zulässige höhere Geschwindigkeit zu 60/58 × 20 ns. Außer den PINT-Schaltungen beinhaltet das SCAL-Element 1000 noch eine Steuerlogik zur Steuerung der vier (nicht gezeigten) Eingangsleitungen „Ausgang freigeben" der PINT-Schaltungen 511 bis 514, sodass die Gesamtkoppelstruktur 450 nacheinander zuerst die durch die Schaltung 511 empfangene Zelle (bei der bevorzugten Ausführungsart während 15 Zyklen), dann die durch die Schaltung 512 empfangene Zelle, dann die durch die Schaltung 513 empfangene Zelle usw. verarbeiten kann. Dadurch steht jeder PINT-Schaltung 511 bis 514 ein Viertel der Bandbreite auf dem Bus 540 zur Verfügung.
  • 9 veranschaulicht die Struktur der vier Sendeteile der PINT-Schaltungen 611 bis 614. Jedes PINT-Element 611 bis 614 empfängt die Daten über alle Leitungen des 32-Bit-Busses 640. Dieser empfängt die vier Datenflüsse der parallel/seriell umgesetzten Bytes, die (bei der Ausführungsart des kompakten Vermittlungskerns) von den vier Koaxialkabeln zwischen dem Vermittlungskern und dem SCAL-Element oder (beim verteilten Koppelfeld, bei dem sich die SCAL-Elemente räumlich getrennt vom Vermittlungskern 1130 befinden) von den vier Lichtwellenleitern empfangen wurden. Jedes PINT-Element 611 ist mit vier FIFO-Registern 801 bis 804 versehen, deren Speicherkapazität wesentlich größer als bei der FIFO des Empfangsteils ist. Bei der bevorzugten Ausführungsart der Erfindung wird das Verhältnis der Speicherkapazität zwischen den FIFO-Speichern 801 bis 804 und den FIFO-Speichern 701 bis 704 auf mindestens 250 festgelegt, um ausreichend Speicherkapazität bereitzustellen, falls viele Zellen gleichzeitig zu demselben Ausgangsanschluss weitergeleitet werden sollen.
  • Im Sendeblock 611 empfängt ein Steuermodul 810 die Daten vom Bus 640 und entnimmt der empfangenen Zelle die beiden „Bitmap"-Bytes. Anhand des wertes dieser beiden Bytes ermittelt das Steuermodul 810, ob die Zelle in eine Gruppe von vier FIFO-Registern 801 bis 804 geladen oder gelöscht werden soll. Im ersten Fall erzeugt das Steuermodul 810 ein Ladesteuersignal, damit jedes der vier Bytes auf dem 32-Bit-Bus 640 in das entsprechende FIFO-Register 801 bis 804 geladen wird. Zum Beispiel wird das erste Byte mit den Bits 0 bis 7 auf dem Bus 640 in das FIFO-Register 801, das zweite Byte mit den Bits 8 bis 15 in das FIFO-Register 802 geladen, usw. Im zweiten Fall, wenn also die Zelle durch den betreffenden Sendeblock gelöscht werden soll, erzeugt das Steuermodul 810 das Ladesteuersignal nicht und verhindert so das Laden der Zelle in die FIFO-Register.
  • Jedes der vier Elemente 611 bis 614 empfängt dieselben Zelle, die auf dem gemeinsamen Bus 640 ankommen. Da jedoch jedes der Elemente 611 bis 614 den 2-Byte-„Bitmap"-Vorsatz verwendet, um das Laden der betreffenden Zelle in die internen FIFO-Warteschlangen zu steuern oder zu verhindern, führt dieser Vorsatz eine Multicastoperation aus, bei der mehrere Exemplare der auf dem Bus 640 ankommenden Zelle zu mehreren Ausgängen geleitet werden können. Bei der bevorzugten Ausführungsart der Erfindung ermittelt das Steuermodul 810 des Elements 611 anhand des ersten Bits des Vorsatzes, ob mehrere Exemplare der Zelle zum Ausgangsbus 641 zum Ausgangsbus 641 weitergeleitet werden soll, während das Steuermodul des Elements 612 diese Entscheidung anhand des zweiten Bits des 2-Byte-Vorsatzes trifft, usw.
  • In jedem Block 611 bis 614 greift das Steuermodul 820 zum Wiederherstellen der Reihenfolge der verschiedenen Bytes der Zelle auf einem 8-Bit-Bus 641 auf die vier FIFO-Warteschlangen zu. Außerdem entfernt das Steuermodul 820 den 2-Byte-„Bitmap"-Vorsatz, sodass die Zelle der im Empfangsteil der SCAL-Schaltung 1000 empfangenen Zelle wieder identisch ist. Bei der bevorzugten Ausführungsart der Erfindung erfolgt dies auf einfache Weise, da der „Bitmap"-Vorsatz stets eine fest vorgegebene Position innerhalb der 60 Bytes der Zelle einnimmt.
  • Dann wird den Protokolladaptern 5500 bis 5800 die entsprechende durch die Blöcke 611 bis 614 erzeugte Folge von Zellen zugeleitet.
  • Man beachte, dass die Erfindung zwei voneinander unabhängige Ausführungsarten zur Verfügung stellt, die aufgrund des effizienten Zusammenwirkens der leistungsfähigen Koppelstruktur und der an allen Anschlüssen angeordneten verschiedenen SCAL-Elemente sehr flexibel sind. Bei einer Ausführungsart wurde gezeigt, dass alle SCAL-Elemente unmittelbar am Vermittlungskern 1130 angeordnet sind, sodass sich eine kompakte Vermittlungsarchitektur ergibt. Bei der zweiten Ausführungsart werden in einem weitläufigen Unternehmensbereich zahlreiche Leitungsadapter benötigt, sodass die Erfindung mittels der Parallel-Seriell-/Seriell-Parallel-Umsetzer in Verbindung mit Glasfaserleitungen Übertragungslängen von mindestens 100 m erreicht.
  • 10 veranschaulicht, wie die Multicastübertragung bei der Ausführungsart des kompakten und des verteilten Koppelfeldes von 7 noch deutlich verbessert werden kann. Zum besseren Verständnis wird die Ausführungsart des kompakten Koppelfeldes erläutert, bei welcher die SCAL-Elemente über den Bus 540 direkt mit der Koppelstruktur 450 in Verbindung stehen und keinen zusätzlichen Pfad mit Parallel-Seriell-Umsetzer, Lichtwellenleitern und Seriell-Parallel-Umsetzer benötigen (der erforderlich ist, um den 32-Bit-Bus an jedem Eingangsanschluss des Vermittlungskerns 1130 wiederherzustellen).
  • In dieser Figur dienen die Indizes i und j zur Verdeutlichung des Logikpfades einer am Eingangsanschluss i ankommenden Zelle, die zum Ausgangsanschluss j weitergeleitet wird. Außerdem wird davon ausgegangen, dass die Struktur der sechzehn mit der Koppelstruktur verbundenen SCAL-Elemente gleich ist, dass sie also jeweils vier identische PINT-Elemente enthalten (die jeweils vier entsprechenden Protokolladaptern zugeordnet sind). 10 zeigt, dass der die Koppelstruktur 450 mit den PINT-Empfangsschaltungen 511-i, 512-i, 513-i und 514-i des SCAL-Elements 1000 verbindende Bus 540-i durch Einschaltung einer Leitwegsteuereinheit 1001-i in zwei Teile aufgeteilt ist. Desgleichen ist der den Ausgang der gesamten Koppelstruktur 450 mit den PINT-Sendeschaltungen 611-j, 612-j, 613-j und 614-j des SCAL-Elements 5000-j verbindende Bus 640-j durch Einschaltung einer weiteren Leitwegsteuereinheit 1010-j in zwei Teile aufgeteilt. Jede dieser 32 Steuereinheiten, die in die 32 Eingangs- und Ausgangsbusse der Koppelstruktur 450 eingeschaltet sind, ist einer entsprechenden Leitwegsteuertabelle 1002-i und 1020-j zur Steuerung des Vermittlungsprozesses der Zelle zugeordnet. Zum Beispiel ist die Steuereinheit 1001-i der ihr entsprechenden Leitwegsteuertabelle 1001-i und die Steuereinheit 1010-j der ihr entsprechenden Leitwegsteuertabelle 1020-j zugeordnet.
  • Dieses verbesserte kompakte Koppelfeld arbeitet wie folgt:
    Beispielsweise werde angenommen, dass der Protokolladapter 1600-i am Anschluss i eine Zelle erzeugt, die aus einem Vermittlungsleitwegvorsatz (Switch Routing Header, SRH) und einer nachfolgenden Nutzinformation besteht. Dieser SRH kennzeichnet den Protokolladapter, welcher diese Zelle empfängt. Wenn diese Zelle zu genau einem Ziel-Protokolladapter befördert werden soll, muss die Vermittlung als bidirektionale Einzelübertragung (Unicast) durchgeführt werden. Anderenfalls gibt es mehrere Ziel-Protokolladapter, und die Vermittlung muss als selektives Rundsenden (Multicast) durchgeführt werden. Gemäß der obigen Beschreibung wird die Zelle in die PINT-Empfangsschaltung 511-i eingegeben, welche in die Zelle zwei Bytes zur Kennzeichnung des Speicherplatzes in der Bitmap einfügt, den die Leitwegsteuereinheit 1001-i später ermittelt. Dann wird die Zelle gemäß der obigen Beschreibung über den Bus 540-i weitergeleitet und gelangt über Lichtwellenleiter bis zur Leitwegsteuereinheit 1001-i. Dieses Element führt die folgenden Operationen dynamisch aus. Zuerst greift es mittels des SRH als Adresse auf die zugehörige Leitwegsteuertabelle 1002-i zu. Der dieser Tabelle entnommene Wert wird dann dynamisch an den beiden zusätzlichen Bytes in die Zelle eingefügt, die zuvor durch die PINT-Empfangseinheit 511-i eingefügt worden waren. Somit empfängt das Master-Koppelmodul 401 diese beiden Bytes an seinen ersten Bytepositionen in der am Eingangsanschluss ankommenden Zelle und kann sie gemäß dem Multicastmodus mit 2-Byte-Vorsatz (Bitmapmodus) verwenden.
  • Nach der Verarbeitung der Zelle durch die Leitwegsteuereinheit 1001-i wird diese auf den Eingangsbus des gesamten Koppelmoduls 450 gegeben, sodass das Mastermodul 401 die an den beiden ersten Bytes stehende Bitmap zur Steuerung des gesamten Vermittlungsmechanismus der vier Elemente verwenden kann. Dieser Mechanismus kann jedoch auch mit einem einzelnen Koppelmodul realisiert werden.
  • Dann erzeugt die Koppelstruktur 450 Exemplare der Zelle, die von den entsprechenden Ausgangsanschlüssen empfangen werden. Wenn beispielsweise Exemplare der Zelle zu den Anschlüssen j, k und l weitergeleitet werden, geschieht dies über die Busse 640-j, 640-k und 640-l.
  • Die Zelle gelangt auf dem Bus 640-j zur Leitwegsteuereinheit 1010-j, die, wie oben beschrieben, auf die zugehörige Leitwegsteuertabelle 1020-j zugreift und dieser Daten mit einer 2-Byte-Bitmap entnimmt, welche vom Sendeteil des PINT-Elements 100-j der SCAL-Schaltung 1000 verwendet wird.
  • Zu dieser Entnahme werden die SRH-Daten verwendet, die in der empfangenen Zelle enthalten sind. Ebenso wie oben ist zu beachten, dass durch den Zugriff auf die Leitwegsteuertabelle 1020-j auch noch. weitere Bits entnommen werden können, die sich vorteilhaft für Steuerzwecke einsetzen lassen.
  • Anhand des soeben entnommenen Bitmapvorsatzes ermittelt die SCAL-Schaltung 5000-j, welche der PINT-Sendeschaltungen 611-j, 612-j, 613-j und 614-j die Zelle weiterleiten soll. Wenn die Bitmap beispielsweise lediglich eine einzige „1" enthält, wird die Zelle zu einem einzelnen Element weitergeleitet (zum Beispiel zum Block 611-j), wenn sie jedoch zwei „1" enthält, wird sie zu zwei verschiedenen Elementen weitergeleitet. Somit wird in einem weiteren Kopierschritt in der Koppelstruktur 450 ein weiteres Exemplar der Zelle erzeugt. Dann kann die Zelle entsprechend der von der Leitwegsteuereinheit 1010-j ermittelten Bitmap auf jeden Protokolladapter 5500-j, 5600-j, 5700-j und 5800-j zugreifen, wobei die Bitmap einzig und allein anhand des durch die Zelle beförderten SRH ermittelt wurde.
  • Die Koppelstruktur 450 und die PINT-Schaltungen des SCAL 1000-j betrachten den von jedem Protokolladapter ermittelten SRH als ihre Nutzinformation, während der zur Steuerung des Koppelmechanismus verwendete Leitwegvorsatz lokal aus diesem SRH erzeugt wird.
  • Derselbe Mechanismus läuft an den Anschlüssen k und l ab, sodass für jedes der Elemente 611-k, 612-k, 613-k oder 614-k, 611-l, 612-l, 613-l oder 614-l der PINT-Elemente 100-k und 100-l Exemplare der Zelle erzeugt werden. Somit erlaubt das Vermittlungssystem durch die beiden verschiedenen Multiplexerstufen eine Vielzahl von Multiplexmöglichkeiten.
  • Bei der bevorzugten Ausführungsart der Erfindung befinden sich die Leitwegsteuereinheiten im Vermittlungskern 450. Dadurch werden die Möglichkeiten der Vermittlung wesentlich erweitert, da die unterschiedlichen Inhalte der verschiedenen Leitwegsteuertabellen einfach aktualisiert werden können. Ein weiterer Vorteil besteht darin, dass ein langsamerer, billigerer und größerer Speicher verwendet werden kann als für die Multicasttabelle 6, deren Speicher sehr schnell sein muss, da es vorkommen kann, dass die Tabelle während eines Zellenzyklus ständig beschäftigt ist. Wenn für die Leitwegsteuertabellen ein größeres Speichervolumen zur Verfügung steht (wobei sich dieser Speicher auch außerhalb des Chips des Koppelmoduls befinden kann), kann die Anzahl der SRH-Kennungen erhöht werden.
  • Zumindest dieses Merkmal lässt sich bei der Ausführungsart des so genannten verteilten Koppelfeldes leicht realisieren, bei welchem sich die SCAL-Elemente 1000 bis 5000 an räumlich getrennten Standorten eines Unternehmensbereichs befinden. 11 zeigt die Anordnung des verteilten Koppelfeldes, das nicht nur sehr flexibel und schnell ist, sondern durch Verwendung des oben beschriebenen Leitwegsteuermechanismus auch vielfältige Multiplexmöglichkeiten bietet. Die punktierten Linien stellen die physischen Grenzen der Module oder Baueinheiten dar.
  • Der gezeigte Vermittlungskern 1130 stellt eine physische Vorrichtung dar, welche die Koppelstruktur 450 meist als Steckkarte enthält, auf der sich mindestens vier Elementarkoppelmodule in Form eines Elektronik-Chips befinden. Die beiden Leitwegsteuereinheiten 1001-i und 1010-i sind demselben Anschluss i zugeordnet und physisch als ein einziger Chip 1110-i realisiert, der einem entsprechenden Speicher 1120-i zugeordnet ist, welcher die beiden unter Bezug auf 9 beschriebenen Leitwegsteuertabellen 1002-i und 1020-i enthält.
  • Somit sind die Koppelstruktur 450 und die sechzehn zugehörigen Module 1110 und 1120 auf vorteilhafte Weise in ein und demselben physischen Bauelement untergebracht, während die verschiedenen SCAL-Elemente im gesamten Unternehmensbereich räumlich überall dort verteilt sind, wo die Leitungen benötigt werden.
  • Das verteilte Koppelfeld umfasst, wie oben erwähnt, eine Gruppe von N physisch verteilten SCAL-Elementen (bei der bevorzugten Ausführungsart der Erfindung ist N gleich 16), wobei in der Figur nur das SCAL-Element 1000 dargestellt ist. Jedes SCAL-Element enthält die PINT-Empfangs- und -Sendeschaltungen, die jeweils einem bestimmten Protokolladapter zugeordnet sind. Die Letzteren sind als Steckkarten ausgeführt, die in die SCAL-Leiterplatte gesteckt werden. Da die Datenübertragung mit 1,6 Gbit/s zwischen jedem SCAL-Element und dem Vermittlungskern 1130 über mehrere Lichtwellenleiter (mindestens vier für den Datenpfad) erfolgt, können die beiden Elemente in großer Entfernung voneinander stationiert werden. Dies stellt einen großen Vorteil dar, da so unabhängig vom Standort der verschiedenen Datenübertragungsverbindungen im Unternehmensbereich eine leistungsfähige Verbindung hergestellt werden kann. Wenn sich beispielsweise in einem ersten Gebäude eine ATM-Leitung und in einem zweiten Gebäude eine OC3-Leitung befindet, stellt die Erfindung die Verbindung zwischen beiden einfach dadurch her, dass im ersten Gebäude ein erstes SCAL-Element mit einem ATM-Protokolladapter, im zweiten Gebäude ein zweites SCAL-Element untergebracht wird, usw. Dieses Beispiel zeigt die große Flexibilität der Lösung der vorliegenden Erfindung, welche die Nachteile der Lösungen nach dem Stand der Technik vermeidet, die durch aufwändige Datenübertragungskabel oder eine Vielzahl von Vermittlungsstellen in den Netzen bedingt sind, da jede Vermittlungsstelle sich an einem anderen Standort befindet und die Anschlüsse für die Netzwerkverbindung gebraucht werden. Da die Anschlüsse zum Herstellen der Netzwerkverbindungen zwischen den verschiedenen Vermittlungsstellen gebraucht werden, sind diese Anschlüsse vom Standpunkt des Benutzers aus als verloren anzusehen, da sie für eine Datenübertragungsverbindung nicht genutzt werden können. Die Architektur der vorliegenden Erfindung beseitigt alle diese Nachteile.
  • Ferner können die Lehren des Dokuments „Single-chip 4 × 500 Mbaud CMOS Transceiver" von A. Wilmer et al., IEEE ISSCC96, Session 7, ATM/SOMET/PAPER FA 7.7, 9. Februar 1996, genutzt werden. Es zeigt die Möglichkeit der Realisierung von Datenübertragungsverbindungen 1400, 2400, 3400 und 440 mit 1,6 Gbit/s und ist durch Bezugnahme in das vorliegenden Dokument einbezogen. Dieses Dokument zeigt die mögliche Verwendung des so genannten 7B/10B. Während Leerlaufperioden, die durch eine Markierung gekennzeichnet sind, werden Leerpakete übertragen, die anstelle von Daten mit einem Kommazeichen beginnen. Das Komma markiert die Byte- und Zellengrenzen auf der seriellen Leitung. Dadurch können die Bytes und die Zellen synchronisiert und die Datenübertragungsverbindung mit 1,6 Gbit/s mittels einer einzigen Gruppe von Koaxial- oder Lichtwellenleitern realisiert werden. Die Anzahl der Kabel wird drastisch verringert, denn ohne dieses Merkmal wären zur Realisierung der Datenübertragungsverbindung mit 1,6 Gbit/s mindestens fünf oder sechs Lichtwellenleiter erforderlich.
  • Man beachte, dass der Vermittlungskern 1130 einen Prozessor 1160 beinhaltet, welcher zu Steuerungszwecken auf jeden Speicher und jedes Register in der Baugruppe zugreifen kann. Außerdem beinhaltet die Baugruppe eine weitere Schaltlogik zur Überwachung des Vorhandenseins des speziellen auf X'000' gesetzten Bitmapvorsatzes, der dafür sorgt, dass die Zelle aus der normalen Datenverarbeitung mit ASA- und NSA-Registern entnommen und direkt in einen bestimmten vorgegebenen Speicherplatz im Speicher 1 geladen wird, der in der Figur als Paketsteuerspeicher bezeichnet ist. Durch diesen Entnahmeprozess kann der Prozessor die Zellen steuern. Andererseits beinhaltet der Prozess auch noch einen Einfügungsprozess zum Weiterleiten einer an der letzten Position des Speichers gespeicherten Zelle zu einem Ausgangsanschluss.
  • Da die spezielle Bitmap X'0000' zur Steuerung zwischen dem Steuerprozessor (im Innern des Vermittlungskerns) und den anderen Komponenten des Koppelfeldes verwendet wird, steht dieser Wert nicht mehr zum Löschen der Zellen zur Verfügung. Diese Möglichkeit wird mittels eines zusätzlichen Steuerbits zum Löschen der Zellen, eines so genannten „Gültigkeitsbits", auf vorteilhafte Weise wiederhergestellt. Das Gültigkeitsbit wird durch die Leseoperationen in den Tabellen 1002 und 1020 zur Verfügung gestellt.
  • Somit kann der im Vermittlungskern befindliche allgemeine Steuerprozessor in den sechzehn Leitwegsteuertabellen, die in den sechzehn Speichermodulen 1120 enthalten sind, speichern und aus ihnen abrufen.
  • Im Folgenden wird die allgemeine Prozedur zum Erzeugen und Aktualisieren der Leitwegsteuertabellen 1002-i und 1020-i beschrieben, die sich in demselben Chip befinden. Die Prozedur wird durch 12 veranschaulicht.
  • Die Prozedur beginnt mit einem Initialisierungsschritt 1220, in welchem der Steuerprozessor 1160 eine Gruppe von SRH-Leitwegtabellen aktiviert.
  • Das ist möglich, weil der Prozessor seine eigene Topologie kennt und daher einige SRH-Werte zuordnen kann, mit denen die verschiedenen Protokolladapter für die verschiedenen Anschlüsse unterschieden werden können. Das geschieht mittels der folgenden Zuweisungsprozedur: zuerst ermittelt der Prozessor die Nummer des Protokolladapters, das einem bestimmten Ausgangsanschluss zugeordnet werden soll und weist dann eine Anzahl von SRH-Werten zu, damit die Protokolladapter voneinander unterschieden werden können. Wenn beispielsweise der Anschluss 0 vier verschiedenen Protokolladaptern (die mit dem SCAL-Element 1000 verbunden sind) zugewiesen ist, reserviert der Prozessor für die vier Protokolladapter je einen SRH-Wert usw. Entsprechend der Topologie der Vermittlungsarchitektur weist somit der Steuerprozessor 1160 die notwendige Anzahl von SRH-Werten zu, die zur Unterscheidung der verschiedenen Protokolladapter erforderlich sind.
  • Dann kann die Leitwegtabelle erstellt werden. Dabei ist zunächst zu beachten, dass jede Tabelle 1002-i dieselben Daten enthält, da alle auf dem Bus 450-i ankommenden (und dieselbe SRH-Leitwegkennung enthaltenden) Zellen zu ein und demselben Ausgangsanschluss weitergeleitet werden. Der SRH kennzeichnet nicht die Verbindung, sondern den Zielanschluss. Deshalb erstellt der Prozessor eine Tabelle in folgendem Format:
  • Figure 00590001
  • Die Tabellen 1002-1 und 1020-1, 1002-2 und 1020-2, usw. haben dasselbe Format, jedoch sind die darin gespeicherten Werte (bis auf das Gültigkeitsbit) auf null gesetzt.
  • Eine genauere Darstellung der Tabelle, in der die Verwendung des Gültigkeitsbits veranschaulicht wird, ist im Anhang A zu finden.
  • Außerdem ist für die Kommunikation zwischen dem Prozessor 1160 und den Protokolladaptern ein gesonderter SRH-Wert reserviert.
  • Die Initialisierungsprozedur ist abgeschlossen, wenn die verschiedenen Leitwegsteuertabellen geladen sind. Dann nutzt der Prozessor 1160 in Schritt 1230 die allgemeine Einfügungsfunktion, um eine durch ein spezielles Format gekennzeichnete Zelle zu jedem Protokolladapter zu übertragen, um diesem den ihm zugewiesenen SRH-Wert mitzuteilen. Somit kennt jeder Protokolladapter den zu ihm gehörenden SRH-Wert, der dieses von den anderen unterscheidet.
  • In Schritt 1240 bestätigt dann jeder Adapter diese Zuweisung mittels eines speziellen SRH-Wertes für die Kommunikation zwischen dem Prozessor 1160 und den Protokolladaptern.
  • Dann werden mittels eines im Rahmen eines bestimmten Protokolladapters tätigen Vermittlungsagenten die verschiedenen Verbindungen gesteuert. Dem Fachmann ist eine solche Funktion wohlbekannt, welche insbesondere bei ATM-Verbindungen die Zuweisung der VP/VC-Parameter steuert. Dieser Vermittlungsagent dient der Verständigung zwischen den verschiedenen Verbindungen und der Steuerung der jedem Protokolladapter zugewiesenen SRH-Leitwegwerte. Man beachte, dass jedem einzelnen Protokolladapter mehrere Verbindungen zugeordnet werden können. Allgemein kennt der Vermittlungsagent genau die Topologie des gesamten Netzwerks, das eine große Anzahl verschiedener Koppelfelder der in 11 dargestellten Art beinhalten kann. Insbesondere kann der Vermittlungsagent die für die Datenübertragung zuständigen Ausgangsanschlüsse festlegen, wenn ein in einem Land befindliches Koppelfeld X eine Verbindung zu einem Koppelfeld Y in einem anderen Land anfordert.
  • Da er den zu verwendenden Ausgangsanschluss kennt, kann er den erforderlichen Unicast-SRH (also den während der Initialisierung 1220 bereitgestellten SRH) ermitteln.
  • Der Vermittlungsagent erstellt deshalb in Schritt 1250 eine COMMAND-Zelle und sendet diese zum Prozessor 1160 innerhalb des Koppelfeldes. Diese Zelle enthält Nutzdaten, die wie folgt angeordnet sind:
    !Command! SRH_connection ! label1 label2 label3 ...!
  • Dabei definiert ein erstes Feld (Command) einen bestimmten vom Vermittlungsagenten angeforderten Befehl. Das zweite Feld SRH-connection dient zum Definieren des der Verbindung zugewiesenen SRH, und anschließend folgen eine oder mehrere Unicast-Leitwegkennungen zum Definieren der Ziel-Protokolladapter für die Zellen mit dem im zweiten Feld angegebenen SRH. Im Grunde umfasst das dritte Feld die Verteilerliste der Unicast-Leitwegkennungen (die bereits während der Initialisierung 1220 bereitgestellt wurden) des Ziel-Protokolladapters ...
  • Dann speichert der Prozessor 1160 in Schritt 1260 anhand dieser empfangenen Information die zur Steuerung der verschiedenen Leitwegsteuereinheiten erforderlichen Daten im Speicher 1002-i unter der durch das zweite Feld (SRH_connection) definierten Adresse. Dies geschieht auf vorteilhafte Weise mittels des folgenden Leitwegaktualisierungsalgorithmus anhand des während der Initialisierung zugewiesenen Unicast-SRH.
  • Der in 13 dargestellte Aktualisierungsalgorithmus funktioniert wie folgt:
    Der Prozessor 1160 führt in Schritt 1310 eine Leseoperation in Tabelle 1002-i unter der Adresse durch, die durch den im zweiten Feld der COMMAND-Zelle des Vermittlungsagenten befindlichen Wert definiert ist.
  • Anschließend führt der Prozessor 1160 in Schritt 1320 eine Leseoperation in Tabelle 1002-i unter der Adresse durch, die durch die im dritten Feld der COMMAND-Zelle des Vermittlungsagenten befindliche erste Leitwegkennung definiert ist. Als Ergebnis dieser Leseoperation wird ein Wert X ausgegeben.
  • Dann führt der Prozessor in Schritt 1330 mit dem Wert X von Schritt 1320 und dem in Schritt 1310 ausgegebenen Wert eine logische ODER-Operation durch. Diese logische ODER-Operation liefert die in der Unicast-Konfiguration noch fehlenden Anschlüsse. Das Ergebnis der ODER-Operation wird in Tabelle 1002 unter der Adresse SRH_Connection gespeichert.
  • In Schritt 1340 führt der Prozessor 1160 eine Leseoperation in Tabelle 1020-i unter der Adresse durch, die durch den im zweiten Feld der COMMAND-Zelle des Vermittlungsagenten befindlichen Wert definiert ist.
  • In Schritt 1350 führt der Prozessor 1160 eine Leseoperation in Tabelle 1020-i unter der Adresse durch, die durch die im dritten Feld der COMMAND-Zelle des Vermittlungsagenten befindliche erste Leitwegkennung definiert ist. Als Ergebnis dieser Leseoperation wird ein Wert Y ausgegeben.
  • Dann führt der Prozessor in Schritt 1360 mit dem Wert Y von Schritt 1350 und dem in Schritt 1340 ausgegebenen wert eine logische ODER-Operation durch, deren Ergebnis in Tabelle 1020-i unter der Adresse gespeichert wird, die durch das in der COMMAND-Zelle befindliche zweite Feld SRH_Connection definiert ist.
  • Die Schritte 1310 bis 1360 werden für alle Anschlüsse ausgeführt, sodass dann alle sechzehn Tabellen 1002 und 1020 aktualisiert sind (Schritt 1370).
  • Wenn das dritte Feld in der COMMAND-Zelle des Vermittlungsagenten mehr als nur eine Leitwegkennung, zum Beispiel label2 und label3, umfasst, wird die obige Prozedur für alle restlichen Leitwegkennungen wiederholt (Schritt 1380). Für die zweite Leitwegkennung im dritten Feld besteht diese Prozedur beispielsweise in Folgendem:
    Der Prozessor 1160 führt eine Leseoperation in Tabelle 1002-i unter der Adresse durch, die durch den im zweiten Feld der COMMAND-Zelle des Vermittlungsagenten befindlichen Wert definiert ist (Schritt 1310).
  • Dann führt der Prozessor 1160 eine Leseoperation in Tabelle 1002-i unter der Adresse durch, die durch die zweite Leitwegkennung im dritten Feld der COMMAND-Zelle des Vermittlungsagenten definiert ist (Schritt 1320). Als Ergebnis dieser Leseoperation wird ein Wert X ausgegeben. Dann wird mit den beiden Werten eine logische ODER-Operation durchgeführt, deren Ergebnis in Tabelle 1002-i unter der Adresse SRH Connection gespeichert wird.
  • Dann kann die Aktualisierung der Tabelle 1020-i erfolgen, indem mit dem von der Adresse SRH_Connection entnommenen Wert und dem von der Adresse, die durch die zweite Leitwegkennung definiert ist, entnommenen Wert eine logische ODER-Operation durchgeführt wird. Das Ergebnis dieser Operation wird in Tabelle 1020-i unter der Adresse SRH_Connection gespeichert.
  • Die Verarbeitung der zweiten Leitwegkennung wird dann mit der Aktualisierung aller anderen Tabellen 1001 und 1020 fortgesetzt.
  • Es kann von Vorteil sein, wenn der Fachmann vor Beginn der Aktualisierung der Tabelle 1020-i in einer Schleife der Schritte 1320 und 1330 die Tabelle 1002-i direkt aktualisiert. Solche Ausführungsdetails hängen jedoch von den speziellen Umständen ab.
  • Dieser Algorithmus ist besonders leistungsfähig, da der im Allgemeinen in einem Protokolladapter des Vermittlungssystems angeordnete Vermittlungsagent die verschiedenen Leitwegtabellen des Vermittlungskerns 1130 aktualisieren kann, ohne die interne Topologie des Koppelfeldes zu kennen. Mittels der logischen ODER-Operationen können zur Unicastkonfiguration leicht weitere Ausgangsanschlüsse zugefügt werden, von denen der Vermittlungsagent keine Kenntnis zu haben braucht.
  • Man beachte, dass der oben beschriebene Aktualisierungsprozess für alle neuen Verbindungen durchgeführt werden kann, die durch den Vermittlungsagenten angefordert werden. Sobald eine neue Verbindung angefordert wird, können die Leitwegtabellen 1002 und 1020 einfach durch eine COMMAND-Zelle vom Verbindungsagenten aktualisiert werden, die mit einem einfachen Verbindungskabel über den normalen Datenpfad übertragen wird.
  • Im Folgenden werden die Schritte beim Löschen einer Kennung eines Feldes SRH_connection beschrieben.
  • Das Prinzip besteht darin, in Tabelle 1020-i unter der durch die betreffende Kennung definierten Adresse nach demjenigen Wert i zu suchen, dessen Gültigkeitsbit auf gültig gesetzt ist. An diesem Speicherplatz bleibt der Inhalt der Tabelle 1020-i, also die Bitmap, gleich einem Wert X. Im nächsten Schritt wird in dieser Tabelle (1020-i) aus der durch den betreffenden Wert SRH_connection definierten Adresse die darin gespeicherte Bitmap (d.h. Y) gelesen. Dann wird mit dem Wert Y und dem inversen Wert von X eine UND-Operation durchgeführt.
  • Deren Ergebnis Z wird wieder unter der durch das Feld SRH_connection definierten Adresse gespeichert. Wenn dieses Ergebnis Z ungleich null ist (was bedeutet, dass in diesem Feld SRH_connection noch eine Unicastkennung vorhanden ist), muss die Bitmap auf ON bleiben. Die Tabellen 1002-i bleiben unverändert.
  • Wenn jedoch der Wert Z gleich null ist (was bedeutet, dass die letzte Kennung des Feldes SRH_connection gelöscht worden ist), wird das diesem Feld SRH_connection entsprechende Gültigkeitsbit auf OFF gesetzt. Da auch der letzte Protokolladapter entfernt werden muss, werden außerdem alle verschiedenen Tabellen 1022-i (mit i = 0 bis 15) aktualisiert, um den (diesem Protokolladapter entsprechenden) Ausgangsanschluss unter der Adresse SRH_connection zu sperren. Wenn die Bitmap gleich null ist, wird das Gültigkeitsbit in einem weiteren Schritt gleich null gesetzt.
  • Die Löschoperation ist genauso einfach wie Erzeugung der Kennung, da der Vermittlungsagent die Topologie des Vermittlungssystems nicht genau zu kennen braucht. Die Kennung wird einfach durch Ausführung von Booleschen Operationen gesperrt.
  • 14 zeigt eine spezielle Ausführungsart einer verbesserten Komponente „Protokolladapter", die sich gut als Schnittstelle für Leitungen eignet, über die ATM-Zellen übertragen werden. Der Protokolladapter 521 in dieser Figur weist einen Empfangsprozessblock 910 auf, um den ankommenden ATM-Datenfluss zu verarbeiten und auf die Weiterleitung zum SCAL-Element 1000 vorzubereiten. Der Empfangsblock 910 weist einen mit dem 2-Byte-Bus 911 verbundenen Eingang und einen mit einem entsprechenden Bus 541 verbundenen Ausgang auf. Der Sendeprozess 950 empfängt die vom Bus 641 kommenden ATM-Zellen und leitet sie zum Bus 951 weiter. Bei dem in der Figur gezeigten Beispiel stellt der Protokolladapter die Verbindung mit einer OC12/STM4-Leitung her. Dem Fachmann ist bekannt, dass für eine solche Übertragung solche herkömmlichen Funktionen verwendet werden müssen wie die Taktwiederaufnahme 914, die Seriell-Parallel-Umsetzung 912 und die ATM-Zellendarstellung 913, um einen physischen 2-Bit-Datenfluss auf Leitung 921 in 16-Bit-ATM-Zellen auf dem Bus 911 umzuwandeln. Da solche Funktionen in den als Schnittstelle verwendeten Logikschaltungen üblicherweise enthalten sind, wird hier auf die ausführliche Beschreibung verzichtet. In umgekehrter Richtung umfasst der Sendepfad den Sendeblock Xblock 950, der ATM-Zellen zu einem 16-Bit-Bus 951 liefert, die wiederum über einen Block 952 und einen Parallel-Seriell-Umsetzer 953 zu einer physischen 1-Bit-Leitung 961 übertragen werden. Der Block 952 fügt die ATM-Zellen in den SDH-Bitstrom (Synchronous Digital Hierarchy, synchrone digitale Hierarchie) ein.
  • 15 zeigt eine ähnliche Struktur zum Anschließen von vier OC3-Leitungsschnittstellen über eine Gruppe von vier Empfangsleitungsschnittstellen 971 bis 974 und vier Sendeleitungsschnittstellen 976 bis 979. Die Empfangsleitungsschnittstelle 971 beispielsweise umfasst die Schaltungen 914, 912 und 913 von 14, und die Sendeleitungsschnittstelle 976 kann die Schaltungen 952 und 953 von 14 umfassen. Im Empfangsteil werden die Ausgänge der vier Blöcke 971 bis 974 auf Zellenebene gemultiplext, bevor die Zellen zum Bus 961 gelangen. Entsprechend werden die vom Sendeblock Xmit 950 kommenden Zellen auf Zellenebene gedemultiplext und bilden die vier Zellenfolgen, die zur jeweiligen OC3-Leitungsschnittselle übertragen werden. Bei einer Ausführungsart der Erfindung kann das Format der vom Empfänger 910 empfangenen Zelle drei Felder umfassen: ein erstes 1-Byte-Feld, welches genau diejenige Leitung bezeichnet, über die die betreffende Zelle empfangen wurde, ein zweites Feld mit dem 5-Byte-ATM-Vorsatz und ein drittes Feld mit den ATM-Nutzdaten. Es sind jedoch auch noch andere Ausführungsarten möglich, die die so genannte Leve1_2-UTOPIA-Schnittstelle nutzen können, über welche die ATM-Schicht mehrere Leitungsschnittstellen steuern kann. Solche Verfahren sind dem Fachmann bekannt und werden daher nicht weiter beschrieben. Es kann auch vorkommen, dass die vom Empfänger 910 empfangene Zelle nur die ATM-Zelle (d.h. den Vorsatz und die Nutzdaten) umfasst und die Daten zum Definieren der entsprechenden Leitung auf anderem (nicht dargestelltem) Wege zum Empfänger 910 übermittelt werden.
  • 16 zeigt die Struktur des Empfangsblocks 910 im Detail, Der Block 910 basiert auf einer Pipelinestruktur, welche nacheinander Elementaroperationen ausführt, um die auf dem Bus 911 ankommende Zelle zur Weiterleitung auf dem Bus 541 umzuwandeln, um dann durch das entsprechende PINT-Element des lokal angeschlossenen SCAL-Elements 1000 verarbeitet zu werden.
  • Als Erstes umfasst der Empfänger 910 einen Suchblock 920, der die Zelle auf der Leitung 911 empfängt und mittels des Feldes LI/VP/VC auf eine LI/VP/VC-Tabelle 924 zugreift, um darin einen Eingabeindex zu ermitteln. Der Mechanismus für den Zugriff auf eine solche Tabelle ist wohlbekannt und kann sich auf vorteilhafte Weise zum Beispiel der Lehren in der Europäischen Patentanmeldung 94-909050.0 von IBM Corp. (Aktenzeichen SZ9-94-001) bedienen, in der eine wirksame Lösung für eine große Anzahl (zum Beispiel 16000) benötigter verschiedener Adressen gezeigt wird. Sollte das Feld LI/VP/VC nicht in der Tabelle 924 enthalten sein, bewirkt der Block 920 das Löschen der Zelle, damit diese im übrigen Teil des Empfangsblocks 910 nicht weiter verarbeitet wird. Wenn dem betreffenden LI/VP/VC-Wert in der Zelle ein Eingabeindex zugewiesen ist, wird mit diesem auf eine zweite Tabelle mit der Bezeichnung Empfangssuchtabelle 922 zugegriffen, welche für jeden Eingabeindex eine Gruppe weiterer Indizes enthält, die vom Empfänger 910 zur weiteren Bearbeitung benötigt werden.
  • Die Tabelle 922 enthält die folgenden Felder: einen Index VERBINDUNG (CONNECTION), einen Index NEUORDNUNG (REASSEMBLY), einen Index AUSFÜHRUNG UND WARTUNG (OPERATION AND MAINTENANCE, OAM), einen Index ZELLENENTNAHME (CELL EXTRACTION), den VERMITTLUNGSLEITWEGVORSATZ (SWITCH ROUTING HEADER) zur Nutzung durch das Koppelfeld und insbesondere durch das PINT-Element und den Vermittlungskern sowie einen Index AUSGABE (OUTPUT), der in Verbindung mit dem Sendeblock 950 verwendet wird.
  • Wenn die Verarbeitung im Block 920 abgeschlossen ist, wird die Zelle im Block STRATEGIE (POLICING) 915 weiterverarbeitet, welcher prüft, ob die Zelle die für die betreffende ATM-Zellen-Verbindung definierten Verkehrsparameter erfüllt. Hierzu greift der Block 925 den aus der Tabelle 922 gelesenen Index VERBINDUNG auf eine Tabelle STRATEGIEPARAMETER UND ZÄHLER (POLICING PARAMETERS AND COUNTERS) 926 zu, um die ankommende Zelle zu prüfen. Der Block 925 kann prüfen, ob die Zelle den Anforderungen des Generic Cell Rate Algorithm (Allgemeiner Zellenratealgorithmus, GCRA) genügt, der dem Fachmann bekannt ist und von der Internationalen Union für Telekommunikation (International Telecommunication Union, ITU) empfohlen wird. Erweist sich die Zelle als nicht vereinbar mit dem GCRA-Algorithmus, kann sie gemäß den obigen Ausführungen gelöscht werden.
  • Nach der Konformitätsprüfung in Block 925 gelangt die Zelle zum Block AAL5 930, in welchem mittels des Indexes NEUORDNUNG aus Tabelle 924 ermittelt wird, ob die soeben empfangene Zelle direkt zum nächsten Block 935 weitergeleitet zum wohlbekannten Format AAL5 neu geordnet werden soll. Im letzteren Falle veranlasst der Block AAL5 930, dass die Nutzdaten der Zelle in einen (nicht gezeigten) Puffer geladen werden. Man beachte, dass dessen Speicherkapazität und somit auch die Anzahl der gleichzeitig auszuführenden Neuordnungsoperationen begrenzt ist.
  • Sobald die gesamte Nachricht in diesem Speicher vorliegt, kann der im Protokolladapter befindliche Steuerprozessor auf den Speicher zugreifen.
  • Wenn die Zelle nicht neu geordnet werden soll, überlässt der Block 930 die Weiterverarbeitung dem Block OAM 935. Dieser ermittelt mittels des Indexes OAM RESSOURCEN, ob die empfangene Zelle zu einer (durch VP/VC definierten) Verbindung gehört, deren OAM-Kapazität gemäß den ITU-Empfehlungen I.610 zu überwachen ist. Wenn die Zelle nicht der Überwachung der OAM-Kapazität unterliegt, geht die Verarbeitung von Block 935 weiter zu Block 940. Anderenfalls ermittelt der Block 935 in Abhängigkeit von der aktuellen Anzahl der bereits empfangenen bzw. gesendeten Zellen, ob eine bestimmte OAM-Zelle eingefügt oder entnommen werden soll. Im Fall der Einfügung beispielsweise wird in Block 935 in Abhängigkeit von der aktuellen Anzahl der seit der letzten Einfügung einer OAM-Zelle auf der betreffenden Verbindung bereits übertragenen Zellen ermittelt, ob eine weitere OAM-Zelle (mit einem speziellen VP/VC) eingefügt werden kann. Bei der Zellenentnahme hingegen wird in Block 935 die empfangene OAM-Zelle entnommen. Man beachte, dass der Empfangsblock 910 als Pipeline organisiert ist, sodass die Einfügung immer an der ersten leeren Zellenposition in der Pipeline erfolgt. Das ist dadurch möglich, dass der Empfangsblock 910 so ausgelegt ist, dass er etwas schneller ist als der genaue Datendurchsatz der angeschlossenen Leitungen, sodass im Zellenstrom immer genügend leere Zellenpositionen vorhanden sind. Außerdem steht im Empfangsblock 910 ein Block ZELLE ENTNEHMEN/EINFÜGEN 915 für den Steuerprozessor zur Verfügung, sodass dieser in Abhängigkeit vom Inhalt des Feldes ZELLE ENTNEHMEN/EINFÜGEN eine Zelle entnehmen oder einfügen kann.
  • Nach Beendigung der Verarbeitung in Block 935 gelangt die Zelle weiter zum Block VERMITTLUNGSVORSATZ EINFÜGEN 940, in dem der Tabelle 922 gelesenen VERMITTLUNGSLEITWEGVORSATZ an die empfangene Zelle anhängt und diese dann zum Auslagerungsblock VP/OI 945 weiterleitet. Dieser Block verwendet den Inhalt des Indexes AUSGANG, der anstelle der acht LSB (niedrigstwertigen Bits) des VP in die Zelle eingefügt wird, sowie das Feld Vorsatzkorrekturcode (Header Correction Code, HEC). Im Folgenden wird ausführlich dargelegt, dass dieser Code vom Sendeteil des Protokolladapters zum Erstellen des endgültigen Feldes VP/VC verwendet wird, der am Ausgang des Protokolladapters benötigt wird. Bei anderen Ausführungsarten der Erfindung kann das Feld OI auch als separates Feld übertragen werden, das sich an der ersten Position der Zellen befindet. Man beachte, dass der Index AUSGANG einen speziellen Prozess kennzeichnet, der im Zielprotokolladapter abläuft. Dadurch kann es passieren, dass zwei verschiedene Verbindungen ein und denselben Ausgangsindex verwenden. Dadurch können einfache Mehrpunkt-zu-Punkt-Verbindungen realisiert werden.
  • Gemäß den oben beschriebenen Mechanismen empfängt das SCAL-Element 1000 vom Bus 541 eine Zelle mit der in der Figur dargestellten Form. Ein wesentlicher Vorteil der Struktur des Empfängers 910 ergibt sich aus der Anordnung der verschiedenen Tabellen im Speicher und der Organisation der Pipeline, weil dadurch jeder Block 920, 925, 930, 935, 940 und 945 eine Elementaroperation ausführen kann, bevor die Verarbeitung im nächstfolgenden Block des Pfades erfolgt. Dadurch wird sichergestellt, dass der gesamte Empfangsprozess in einer begrenzten Zeitspanne erledigt wird, was für Hochgeschwindigkeitsleitungen von Bedeutung ist.
  • Der Sendeteil 950 ist in 17 dargestellt. Die vom SCAL-Element 1000 empfangene Zelle wird in den Sendeteil eingegeben und in Block 960 in der Weise bearbeitet, dass der SRH aus der Zelle entfernt wird. Außerdem verwendet der Block 960 den Index AUSGANG in der Zelle, um auf eine Suchtabelle SENDEN (XMIT) 964 zuzugreifen, welche ein dem Index AUSGANG entsprechendes Feld liefert, das Folgendes umfasst: einen Index NÄCHSTER-AUSGANG (NEXT_OUTPUT) zum Ausführen von Multicastoperationen auf ATM-Verbindungen, einen Index WARTESCHLANGE (QUEUE), einen Index OAM-RESSOURCEN (OAM RESOURCE) und ein Feld NEUER LI/VP/VC (NEW LI/VP/VC), um die Zelle wieder in den Zustand zu versetzen, in welchem sie vom Empfänger 910 empfangen wurde.
  • Dann wird die Zelle durch das Modul ZULASSUNGSPRÜFUNG 965 verarbeitet, welches den Status der Warteschlange der betreffenden Verbindung prüft, über welche die Zelle übertragen wird. Bei der bevorzugten Ausführungsart der Erfindung der Sendeblock 950 zur Bearbeitung von mindestens 16000 Warteschlangen ausgelegt. Wenn der Block 965 eine Zelle empfängt, wird mittels des Index WARTESCHLANGE ermittelt, welche Warteschlange zur betreffenden Zelle gehört, und insbesondere ein Speicher 966 adressiert, in welchem sich Parameter zu dieser Warteschlange befinden. Solche Parameter können beispielsweise die Anzahl der bereits in der Warteschlange befindlichen Zellen oder die Anzahl der Zellen sein, die angesichts einer Überlastungsbedingung noch in die betreffende Warteschlange geladen werden können. Anhand dieser Parameter kann der Block 965 entscheiden, ob die gerade bearbeitete Zelle in die zum diesem Index WARTESCHLANGE gehörende Warteschlange geladen werden soll. Bei einer bevorzugten Ausführungsart der Erfindung wird mittels eines speziellen Mechanismus die Anzahl der aktuell in der Warteschlange gespeicherten Zellen überwacht und der so ermittelte Wert mit einem vorgegebenen Schwellenwert verglichen. Wenn der ermittelte Wert den Schwellenwert überschreitet, kann der Block 965 entweder weitere Zellen abweisen oder, in einigen wenigen Fällen, weitere Zellen akzeptieren, die bestimmte Prioritätsbedingungen erfüllen.
  • Parallel zum Laden der Zelle in die betreffende Warteschlange erstellt der Block LI/VP/VC 975 einen neuen Vorsatz für die Zelle. Das geschieht, indem der OI/VC aus der Zelle gelöscht und mit dem Inhalt des Feldes NEW_LI/VP/VC überschrieben wird. Man beachte, dass hierbei das Feld VC unverändert bleibt kann, während sich das Feld VP ändert. Normalerweise ändert sich jedoch das gesamte Feld VP/VC.
  • Außer der Anordnung der 16000 Warteschlangen im Sendeblock 950 steht noch ein System WARTESCHLANGENVERWALTUNG zur Verfügung, in welchem eine geordnete Liste von Puffern verwaltet wird, in denen die Zellen gespeichert sind, wobei jede geordnete Liste einer der 16000 Warteschlangen entspricht. Außerdem sorgt eine Anpassungseinheit 985 für eine geregelte Ausgabe der in die verschiedenen Warteschlangen gespeicherten Zellen. Diese Ausgabe hängt insbesondere von der jeder Warteschlange zugewiesenen Ausgaberate ab.
  • Ebenso wie beim Empfangsblock 910 wird ein OAM-Block 970 zum Einfügen oder Entnehmen von Zellen zur OAM-Leistungsüberwachung verwendet. Wenn für die Zelle keine OAM- Leistungsüberwachung durchgeführt wird, tritt der Block 970 nicht in Aktion. Anderenfalls ermittelt der Block 970 wie oben in Abhängigkeit von der aktuellen Anzahl von Benutzerzellen, die im betreffenden Fall bereits empfangen oder gesendet worden sind, ob eine bestimmte OAM-Zelle eingefügt oder entnommen werden soll.
  • Ebenso wie beim Empfangsblock 910 ist die besondere Anordnung der verschiedenen Tabellen zur Verwaltung der unterschiedlichen Indizes für die Erfindung von Vorteil. Dadurch erübrigt sich die Verwendung großer und teurer Speicher. Durch diese sehr wirkungsvolle Organisation werden ein Empfangs- und ein Sendeblock für einen ATM-Protokolladapter zur Verfügung gestellt, mit dem 600-Mbit/s-Verbindungen ermöglicht werden. Aus dem oben Gesagten ergibt sich, dass der Protokolladapter den VP/VC-Tausch mittels des zusätzlichen Index AUSGANG durchführt, der in die Nutzdaten der Zelle integriert ist, welche durch den Vermittlungskern weitergeleitet wird. Beim Fehlen dieses speziellen Merkmals müsste die VP/VC-Auslagerung auf der Ebene des Protokolladapterempfängers erfolgen, sodass vor dem Weiterleiten der Zelle durch den Vermittlungskern ein weiteres Exemplar der Zelle bereitgestellt werden müsste. Durch diesen im Protokolladapter der Erfindung angewendeten sehr wirkungsvollen Mechanismus wird nur eine Zelle durch den Vermittlungskern geleitet, was zu einer geringeren Überlastung des Vermittlungskerns führt, und die VP/VC-Auslagerung auf der Ebene des Protokolladapters auf der Sendeseite durchgeführt, bevor die Zelle über die Leitung übertragen wird. Auf diese Weise wird die Verwendung des durch den Sendeteil des Protokolladapters eingeführten Index AUSGANG auf vorteilhafte weise mit der Leistungsfähigkeit des oben beschriebenen Vermittlungskerns verknüpft.
  • Der Mechanismus kann außerdem durch Verwendung des Index AUSGANG für eine zweite Funktion noch weiter verbessert werden, welche das selektive Rundsenden (Multicast) von Zellen über die Verbindung ermöglicht. Dies wird erreicht durch Verknüpfen eines Multicastpuffers mit einem zusätzlichen Mechanismus, der auf der Verwendung eines speziellen Bits des Indexfeldes NÄCHSTER_AUSGANG (NEXT_OUTPUT) basiert, welches aus der Tabelle 964 gelesen wird. Ein solcher Mechanismus wird in der gleichzeitig anhängigen Patentanmeldung (Aktenzeichen FR9-96-011) ausführlich beschrieben, welche dasselbe Prioritätsdatum hat, an denselben Anmelder abgetreten wurde und durch einfache Bezugnahme Bestandteil der vorliegenden Anmeldung ist.
  • Figure 00760001
    Tabelle A

Claims (9)

  1. Zellenkoppelmodul, welches Folgendes umfasst: – einen Speicherbereich zum Speichern von Zellen, die über einen aus einer Gruppe von M Eingangsanschlüssen in einen gemeinsamen Zellenspeicher (1) gelangen, – einen Abrufbereich zum Ausgeben der in diesen Bereich geladenen Zellen und zum Befördern der Zellen zu einem aus einer Gruppe von M Ausgangsanschlüssen, – ein Eingabeprozesssteuerungsmittel, und – ein Ausgabeprozesssteuerungsmittel, wobei jede Zelle eine auf einen Modulleitwegvorsatz bezogene Nutzinformation umfasst, welche definiert, zu welchen Ausgangsanschlüssen die Zelle geleitet werden soll; wobei der Speicherbereich Folgendes umfasst: – eine Gruppe von M Empfängermitteln (10), welche die physische Schnittstelle für die M verschiedenen Eingangsanschlüsse darstellen, – eine Gruppe von M Eingangs-Vermittlungseinheiten (2) zum Herstellen der Verbindung zwischen den M Eingangsanschlüssen und einem der verschiedenen Speicherplätze im Zellenspeicher (1); – eine Gruppe von M Speicheradressregistern (Active Storage Address, ASA 20, 21), welche den Eingangs-Vermittlungseinheiten (2) die Adressen zum Speichern der Zellen im Zellenspeicher (1) zur Verfügung stellen; wobei der Abrufbereich ferner Folgendes umfasst: – eine Gruppe von M Ausgangs-Vermittlungseinheiten zum Abrufen der an einem der Speicherplätze im Zellenspeicher (1) befindlichen Daten; – eine Gruppe von M Treibern (11) als Schnittstellenelemente zu den Ausgangsanschlüssen des Koppelmoduls; – eine Gruppe von M Abrufadressregistern (Active Retrieve Register, ARA) (32, 33), welche den Ausgangs-Vermittlungseinheiten (3) die Adressen zum Speichern der Zellen zur Verfügung stellen, die aus dem Zellenspeicher ausgegeben werden sollen; wobei das Modul ferner ein Steuerungsmittel zum Durchführen des Eingabe- und auch des Ausgabeprozesses der Datenzellen umfasst, welche durch das Vermittlungsmodul befördert werden; wobei das Eingabeprozesssteuerungsmittel ferner Folgendes umfasst: – ein Adressenerzeugungsmittel (FAQ 5) zum Bereitstellen der Adressen der leeren Speicherplätze im Zellenspeicher (1); – ein erstes Multiplexermittel (106, 107, 112, 113) zum Bereitstellen der vom Adressenerzeugungsmittel (FAQ 5) erzeugten Adressen oder aber der von einem ersten externen Bus (509, 510) gelieferten Adressen für die Speicheradressregister (ASA 20, 21); – Halteregister (60, 63) zum Sichern des Modulleitwegvorsatzes, der in den über die Eingänge eingegebenen Zellen enthalten ist; wobei das Ausgabeprozesssteuerungsmittel ferner Folgendes umfasst – eine Gruppe von M Warteschlangenmitteln (OAQ 50, 51) zum Einstellen der Adressen der Speicherplätze im Zellenspeicher (1) in eine Warteschlange, welche diejenigen Zellen enthält, die zu den Ausgangsanschlüssen übertragen werden sollen, wobei jedes Warteschlangenmittel einen Eingang aufweist, über den die Inhalte der ASA-Register (20, 21) empfangen werden, welche einem entsprechenden Ausgangsanschluss der M Ausgänge zugeordnet werden; – ein Steuerungsmittel (150, 200) zum Empfangen des Modulleitwegvorsatzes, um Steuersignale (WEs, 210) für die Warteschlangenmittel (50, 51) zu erzeugen, damit die Inhalte der Speicheradressregister (ASA 20, 21) in diejenigen aus der Gruppe von M Warteschlangenmitteln (OAQ-Warteschlangen 50, 51) geladen werden, welche den Ausganganschlüssen entsprechen, die aus dem Inhalt des Modulleitwegvorsatzes ermittelt werden können; – ein zweites Multiplexermittel (800, 26, 27) zum Bereitstellen der von den Warteschlangenmitteln (OAQ 50, 51) gelieferten Adressen oder aber der von einem zweiten externen Bus (520, 521) gelieferten Adressen für die M Abrufadressregister (ARA 32, 33); wobei das Koppelmodul ferner Folgendes umfasst: – ein Mittel (7) zum Registrieren, wie oft eine Zelle noch zu einem Ausgangsanschluss gesendet werden soll, und zum Verhindern, dass die betreffende Speicherplatzadresse dem Adressenerzeugungsmittel (FAQ, 5) zur Verfügung gestellt wird, bevor die Adresse endgültig aus dem Warteschlangenmittel (OAQ 50, 51) verschwunden ist; – ein Steuerungsmittel zum Steuern des ersten und des zweiten Multiplexermittels (106, 107, 112, 113, 800, 26, 27) in der Weise, dass das Koppelmodul den Leitwegsteuermechanismus der Zellen ausführen kann, die den in einem Master-Modus entsprechend den vom Adressenerzeugungsmittel (FAQ 5) bereitgestellten Adressen oder aber den in einem Slave-Modus vom ersten und vom zweiten externen Bus (509, 510, 520, 521) bereitgestellten Adressen empfangen werden.
  2. Koppelmodul nach Anspruch 1, dadurch gekennzeichnet, dass jede Gruppe von Speicheradressregistern (ASA 20, 21), Abrufadressregistern (ARA 32, 33) und Warteschlangenmitteln (OAQ 50, 51) in zwei unterschiedliche Teile aufgeteilt ist, damit zwei Adressen gleichzeitig ermittelt und verarbeitet werden können und somit die Anzahl der für die Verarbeitung des Weiterleitens (Routing) einer Zelle erforderlichen Zyklen um den Faktor zwei verringert wird.
  3. Vermittlungsstruktur, welche zwei Koppelmodule nach Anspruch 1 umfasst, in welcher das erste Koppelmodul den Vermittlungsprozess durchführt, welcher das Erzeugen der in seine Speicheradressregister (ASA) und Abrufadressregister (ARA) geladenen Adressen entsprechend dem Modulleitwegvorsatzprozess beinhaltet, und Steuersignale über den ersten und den zweiten Bus zu den anderen Koppelmodulen sendet, damit diese bezüglich des ersten Koppelmoduls in einem Slave-Modus arbeiten.
  4. Vermittlungssystem, welches vier nach einem der Ansprüche 1 bis 2 definierte Koppelmodule und ferner ein Mittel (1000, 5000) zum Aufteilen der empfangenen Zelle in der Weise umfasst, dass ein erstes Koppelmodul den ersten Teil der aufgeteilten Zelle mit dem Leitwegvorsatz, ein zweites Koppelmodul den zweiten Teil der aufgeteilten Zelle, ein drittes Koppelmodul den dritten Teil der aufgeteilten Zelle und ein viertes Koppelmodul den vierten Teil der aufgeteilten Zelle empfängt, wobei das erste Koppelmodul, welches den Leitwegvorsatz empfängt, Steuersignale zur Verfügung stellt, welche zum ersten und zweiten Bus des zweiten, dritten und vierten Koppelmoduls übertragen werden, damit diese denselben Vermittlungsprozess wie im ersten Koppelmodul durchführen.
  5. Vermittlungssystem, welches zwei nach einem der Ansprüche 1 bis 2 definierte Koppelmodule und ferner ein Mittel (1000, 5000) zum Aufteilen der empfangenen Zelle in der Weise umfasst, dass ein erstes Koppelmodul den ersten Teil der aufgeteilten Zelle mit dem Leitwegvorsatz und ein zweites Koppelmodul den zweiten Teil der aufgeteilten Zelle empfängt, wobei das erste Koppelmodul, welches den Leitwegvorsatz empfängt, Steuersignale zur Verfügung stellt, welche zum ersten und zweiten Bus des zweiten Koppelmoduls übertragen werden, damit dieses denselben Vermittlungsprozess wie im ersten Koppelmodul durchführt.
  6. Vermittlungssystem, welches eine nach Anspruch 3 definierte Vermittlungsstruktur und ferner Folgendes umfasst: eine Gruppe verteilter einzelner SCAL-Elemente (switch core access layer, Vermittlungskernzugriffsschicht) (1000), wobei jedes SCAL-Element über eine Datenübertragungsleitung (1400, 1600) mit dem Eingangs- und dem Ausgangsanschluss der Vermittlungsstruktur (1130) in Verbindung steht und mit mindestens einem Protokolladapter (Protokollprogramm 1600 bis 1900) in Verbindung treten kann, wobei jede verteilte SCAL-Schicht eine Gruppe von Schnittstellenschaltungen (PINT 511 bis 515; 611 bis 614) umfasst, wobei jede Schnittstellenschaltung jeweils einem dieser mindestens einem Protokolladapter (Protokollprogramm 1600 bis 1900) zugeordnet ist, und wobei die Schicht ferner Folgendes umfasst: einen Empfangsteil zum Empfangen der Datenzellen vom angeschlossenen Protokolladapter (Protokollprogramm 1600), wobei der Empfangsteil mindestens einen ersten FIFO-Speicher (701 bis 704) zum Speichern der empfangenen Zellen und zum Einfügen mindestens eines zusätzlichen Bytes in jede Zelle beinhaltet, welches für einen Leitwegvorsatz (Bitmap) vorbehalten ist, der von der Vermittlungsstruktur zur Steuerung des Vermittlungsprozesses innerhalb der Vermittlungsstruktur genutzt wird; einen Sendeteil, der mindestens einen zweiten FIFO-Speicher (801 bis 802) mit einer wesentlich größeren Speicherkapazität als der erste FIFO-Speicher umfasst, wobei der Sendeteil alle Zellen empfängt, die vom entsprechenden Ausgangsanschluss der Vermittlungsstruktur kommen, und ein Mittel (810) zum Löschen oder Durchlassen der Zellen entsprechend dem Wert des mindestens einen zusätzlichen Bytes beinhaltet; ein Steuerungsmittel für den Zugriff der mindestens einen ersten und zweiten FIFO auf die Datenübertragungsleitung (1400, 4400) zwischen dem verteilten einzelnen SCAL-Element (1000) und der Vermittlungsstruktur nach dem Zeitmultiplexverfahren (Time Division Multiplexing, TDM); ein Parallel-Seriell-Umsetzungsmittel zum Umwandeln der von der mindestens ersten FIFO ausgegebenen Zellen in mindestens eine entsprechende Bitfolge, die über die Datenübertragungsleitung (1400) übertragen wird; ein Seriell-Parallel-Umsetzungsmittel zum Umwandeln der vom entsprechenden Ausgangsanschluss empfangenen Bitfolge in mindestens eine entsprechende Bytefolge, die am Eingang der mindestens einen zweiten FIFO (801 bis 804) ausgegeben werden kann.
  7. Vermittlungssystem nach Anspruch 6, dadurch gekennzeichnet, dass die Vermittlungsstruktur Folgendes umfasst: – ein Mittel zum Ersetzen des mindestens einen von der Schnittstellenschaltung (PINT) eingefügten zusätzlichen Bytes durch einen Leitwegvorsatz (Bitmap) in Abhängigkeit von einer Leitwegmarkierung (SRH), welche vom Protokolladapter (Protokollprogramm 1600) erzeugt wird, in der Nutzinformation der Zelle enthalten ist und vor dem Weiterleiten der Zelle durch die Vermittlungsstruktur weitergeleitet wird, – ein Mittel zum Ersetzen des mindestens einen zusätzlichen Bytes durch einen zweiten Leitwegvorsatz in Abhängigkeit vom Wert der Leitwegmarkierung (SRH), die in der Nutzinformation der Zelle enthalten ist und nach der Vermittlung der Zelle sowie vor dem Übertragen der Zelle zum Sendeteil der Schnittstellenschaltung (PINT) weitergeleitet wird.
  8. Vermittlungssystem nach einem der Ansprüche 6 bis 7, dadurch gekennzeichnet, dass die Parallel-Seriell-Umsetzung der Bitfolgen zwischen den SCAL-Elementen und der Vermittlungsstruktur mit Hilfe einer Gruppe von Koaxialkabeln erfolgt.
  9. Vermittlungssystem nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass die Parallel-Seriell-Umsetzung der Datenübertragungsleitung zwischen den SCAL-Elementen und der Vermittlungsstruktur mit Hilfe einer Gruppe von optischen Kabeln erfolgt, wobei jedes optische Kabel für den Transport einer für jedes einzelne Koppelmodul vorgesehenen Bitfolge genutzt und somit eine verteilte Vermittlungsarchitektur bereitgestellt wird.
DE69733741T 1996-12-20 1997-08-19 Vermittlungssystem Expired - Lifetime DE69733741T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP96480117 1996-12-20
EP96480117 1996-12-20

Publications (2)

Publication Number Publication Date
DE69733741D1 DE69733741D1 (de) 2005-08-25
DE69733741T2 true DE69733741T2 (de) 2006-04-20

Family

ID=8225471

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69733741T Expired - Lifetime DE69733741T2 (de) 1996-12-20 1997-08-19 Vermittlungssystem

Country Status (3)

Country Link
US (1) US6055235A (de)
KR (1) KR100292191B1 (de)
DE (1) DE69733741T2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0938212A1 (de) * 1998-02-19 1999-08-25 International Business Machines Corporation Verfahren und System zur Flusssteuerung im Vermittlungssystem
JP3141850B2 (ja) * 1998-07-10 2001-03-07 日本電気株式会社 時分割スイッチング装置および時分割スイッチング方法、並びに記録媒体
JP3002726B1 (ja) * 1998-07-31 2000-01-24 東京大学長 可変速度ディジタル交換方式
DE69809224T2 (de) * 1998-08-28 2003-08-28 Ibm Vermittlungsvorrichtung mit wenigstens einem Vermittlungskern-Zugriffselement zur Verbindung von verschiedenen Protokolladaptern
US6687246B1 (en) * 1999-08-31 2004-02-03 Intel Corporation Scalable switching fabric
US6914901B1 (en) 2001-12-05 2005-07-05 Cisco Technology, Inc. System and method for communicating using multiple memory banks
DE10240634B4 (de) * 2002-03-12 2007-07-19 Minebea Co., Ltd. Hydrodynamisches Lager für einen Spindelmotor
KR20030083114A (ko) * 2002-04-19 2003-10-30 한국원자력연구소 시분할 방식을 이용한 고정형 망 교환장치
US7206325B2 (en) * 2002-05-08 2007-04-17 Stmicroelectronics Ltd. Frame assembly circuit for use in a scalable shared queuing switch and method of operation
US7430167B2 (en) * 2003-09-18 2008-09-30 International Business Machines Corporation Method and system to enable an adaptive load balancing in a parallel packet switch
KR20050075488A (ko) * 2004-01-15 2005-07-21 유티스타콤코리아 유한회사 Ip 패킷 데이터의 전송이 가능한 hans-5 스위치라우터
GB2412275B (en) * 2004-03-18 2006-04-12 Motorola Inc A method of selecting operational parameters in a communication network
KR100681235B1 (ko) * 2005-06-18 2007-02-09 최영철 샤워기 헤드
KR101014389B1 (ko) 2009-02-18 2011-02-15 주식회사 케이엔텍 유출량 조절기능을 갖는 샤워기용 필터케이스
EP2566118B1 (de) * 2011-09-01 2013-08-28 Alcatel Lucent Netzelement zum Schalten von Zeitmultiplexsignalen

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365519A (en) * 1991-03-05 1994-11-15 Hitachi, Ltd. ATM switch1ng system connectable to I/O links having different transmission rates
JP3064650B2 (ja) * 1992-03-27 2000-07-12 株式会社日立製作所 同報通信装置
US5321691A (en) * 1993-01-11 1994-06-14 At&T Bell Laboratories Asynchronous transfer mode (ATM) switch fabric
JPH0774749A (ja) * 1993-09-01 1995-03-17 Hitachi Ltd スイッチングシステム
US5612952A (en) * 1993-09-20 1997-03-18 Kabushiki Kaisha Toshiba Packet switch and buffer for storing and processing packets routing to different ports
JP3178949B2 (ja) * 1993-09-30 2001-06-25 富士通株式会社 Atmスイッチ方式
US5475679A (en) * 1994-12-08 1995-12-12 Northern Telecom Limited Large capacity ATM switch
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit

Also Published As

Publication number Publication date
DE69733741D1 (de) 2005-08-25
KR100292191B1 (ko) 2001-09-07
US6055235A (en) 2000-04-25
KR19980063447A (ko) 1998-10-07

Similar Documents

Publication Publication Date Title
DE69734968T2 (de) Vermittlungssystem mit verteilten Elementen zur Verbindung mit Leitungsanpassern und mit Mehrfachübertragungsmöglichkeit
DE69733741T2 (de) Vermittlungssystem
DE60030737T2 (de) Hochleistungs-Vermittlungselement und -Vermittlungssystem
DE60029467T2 (de) Netzwerkschalter und komponenten und betriebsverfahren
EP0849917B1 (de) Vermittlungssystem
DE3904403C2 (de)
DE69535135T2 (de) Transparente Verbindung von LANs über ein ATM Netzwerk
DE69938329T2 (de) Vorrichtung zur weiterleitung von ip-paketen und zur vermittlung von atm-zellen
DE69533533T2 (de) Kommunikationssystem, Server und Verfahren zur Adressenverwaltung
DE60120847T2 (de) Mehrprotokollvermittler und Verfahren dazu
DE19947430C2 (de) Datenpaket-Verarbeitungsverfahren und -vorrichtung
DE69826680T2 (de) Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur
DE69233588T2 (de) ATM-Vermittlungsanordnung
DE69533225T2 (de) Vorrichtung zur bereitstellung eines lokalen netzemulationsdienstes über ein öffentliches, verbindungsloses atm-netz
DE102004004320B4 (de) System und Verfahren für den Zugriff auf und die Übertragung von verschiedenen Datenrahmen in einem digitalen Übertragungsnetz
DE19503559A1 (de) Verbindungsloses Kommunikationssystem und Verfahren zur verbindungslosen Kommunikation
DE69936840T2 (de) Mobilübertragungssystem mit einer atm-verbindungskonfiguration
DE60133175T2 (de) Kommunikationsnetz
DE19609265B4 (de) Kommunikationseinrichtung mit asynchronem Übertragungmodus und daraus aufgebautes Kommunikationsnetzwerk
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren
DE69737676T2 (de) Vermittlungssystem zur Verbindung von Leitungsadaptern, das verteilte Elemente enthält
DE19715799C2 (de) Lokales Netzwerk mit Umsetzmitteln
DE60120290T2 (de) Vermittlungsanlage mit externer Adressenauflösungsschnittstelle
DE60121727T2 (de) Vermittlungsstelle mit virtuellem geteiltem Speicher
EP0849973B1 (de) Vermittlungssystem mit verteilten Elementen zur Verbindung mit Leitungsanpassern und mit Mehrfachübertragungsmöglichkeit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7