DE69534833T2 - Schema für Fehlerkontrolle an der ATM-Adaptierungsschicht in ATM Netzwerken - Google Patents

Schema für Fehlerkontrolle an der ATM-Adaptierungsschicht in ATM Netzwerken Download PDF

Info

Publication number
DE69534833T2
DE69534833T2 DE1995634833 DE69534833T DE69534833T2 DE 69534833 T2 DE69534833 T2 DE 69534833T2 DE 1995634833 DE1995634833 DE 1995634833 DE 69534833 T DE69534833 T DE 69534833T DE 69534833 T2 DE69534833 T2 DE 69534833T2
Authority
DE
Germany
Prior art keywords
data
interleaver
error
sscs
column
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
DE1995634833
Other languages
English (en)
Other versions
DE69534833D1 (de
Inventor
Toshibasakonyama-kazoku-Apt-401 Kumiko Yokohama-shi Nakakita
Toshiba-rokkakubashi-Apart-1-23 Keiji Yokohama-shi Tsunoda
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE69534833D1 publication Critical patent/DE69534833D1/de
Publication of DE69534833T2 publication Critical patent/DE69534833T2/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • 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]
    • H04L2012/5627Fault tolerance and recovery
    • 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

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft primär eine Datenkommunikation unter Verwendung von ATM-Zellen (Zellen des asynchronen Übertragungsmodus bzw. Asynchronous Transfer Mode), und insbesondere ein Schema für die Fehlerkontrolle von AAL (ATM Adaptation Layer bzw. ATM Anpassungsschicht) in ATM Netzen.
  • Beschreibung des Standes der Technik
  • Um die Vielfalt von Informationen an einen Kommunikationsmodus unter Verwendung von ATM-Zellen anzupassen, ist es erforderlich, ein Inter-Working bzw. eine Zusammenarbeit zwischen einem ATM-Netz und einer oberen Schicht bereitzustellen, und ein AAL zum Erfüllen dieser Funktion wird zwischen der ATM-Schicht und der oberen Schicht bereitgestellt.
  • 1 zeigt eine Konfiguration eines AAL Typ 5 als ein Beispiel einer ATM-Anpassungsschicht. In einem Fall des Typ 5 umfasst die AAL eine CS-Schicht (Konvergenz-Zwischenschicht bzw. Convergence Sublayer) und eine SAR-Schicht (Segmentierungs- und Neuzusammenstellungsschicht bzw. Segmentation And Reassemble layer). Die CS-Schicht umfasst zudem zwei Unter-Schichten, die eine CPCS-Schicht (gemeinsamer Teil-CS bzw. Common Part CS) einschließt, um die Verarbeitung zu handhaben, die für alle Dienstetypen erforderlich ist, und eine SSCS-Schicht (Dienste-spezifische CS-Schicht bzw. Service Specific CS layer), um die für den jeweiligen Dienste-Typ spezifische Verarbeitung zu handhaben. Diese SSCS-Schicht kann leer sein. Die SAR-Schicht führt hauptsächlich Datensegmentierungs-/Neuzusammenstellungs-Verarbeitung aus. Zum Zeitpunkt der Datenübertragung sind Daten nämlich in Einheiten von Nutzlastgröße segmentiert, d.h., 48 Oktetten, für die ein ATM-Header bzw. ATM-Kopf bei der ATM-Schicht hinzugefügt werden kann, und an die untere Schicht gegeben wird. Andererseits werden zum Zeitpunkt des Datenempfangs Daten in Einheiten von Nutzlastgröße von der unteren Schicht empfangen, neu zusammengestellt in CS-PDU (CS-Protokolldaten-Einheiten) und an die CS-Schicht gegeben.
  • Derzeit gibt es vier Typen von AAL, die durch eine Organisation wie ITU-T standardisiert sind, abhängig von den Informationstypen, die zu behandeln sind. Insbesondere dient AAL1 für Echtzeit-Kommunikation von Sprache, Bildern etc. bei einer festen Bitrate, AAL2 dient einer Echtzeit-Kommunikation bei variabler Bitrate und AAL3/4 und AAL5 sind für variable Datenkommunikation, wobei AAL3 und AAL5 für eine verbindungsorientierte bzw. CO-Kommunikation sind, während AAL4 für eine verbindungslose bzw. CL-Kommunikation dient.
  • Unter diesen sind AAL3/4 und AAL5 speziell für Datenkommunikation, so dass Anwendungen für sie entworfen werden können, die eine rigorose Genauigkeit von Daten erfordern, welche keine Fehler selbst für ein Bit tolerieren, d.h., eine hohe Zuverlässigkeit mit Garantien einer vollständigen Koinzidenz der empfangenen Daten und der gesendeten Daten. Auch, selbst in Fällen, in denen eine hohe QOS (Dienstequalität bzw. quality of service) erforderlich ist, für Echtzeit-Anwendungen, die für RAL1 oder AAL2 entworfen sind, wird eine Zuverlässigkeit der Daten selbst ein Schlüsselfaktor sein.
  • Die ATM-Techniken sind jedoch soweit nur für Primitiv-Abschnitte standardisiert und eine Fehlerkontrollfunktion bei AAL ist nicht zufriedenstellend vorgesehen worden. Aus diesem Grund ist es, um eine Datenkommunikation, die eine rigorose Datengenauigkeit für Benutzer von AAL3/4 oder AAL5 erfordert, bereitzustellen, erforderlich, ein Protokoll zu implementieren für das Garantieren von Datenzuverlässigkeit bei einer noch nicht standardisierten oberen Schicht oberhalb der CPS-Schicht in einem Fall von beispielsweise AAL5. Für AAL5 sind nämlich die Spezifikationen für die CPS-Schicht und die unteren Schichten bereits standardisiert, so dass ein Hinzufügen einer Dienste-abhängigen neuen Funktion bei einer oberen Schicht oberhalb der CPCS-Schicht vorgenommen werden muss.
  • Es gibt bekannte Beispiele hierzu einschließlich eines Schemas zum Implementieren eines Protokolls basierend auf Daten-Neuübertragungssteuerung bei der SSCS-Schicht (wie z.B. ein Q.SAAL-Protokoll von ITU-T), und ein Schema zum Null-Setzen der SSCS-Schicht und Implementieren eines Transportschicht-Protokolls (wie z.B. TCP oder OSI/TP4) oberhalb der SSCS-Schicht. All diese bekannte Schema sind im Grunde ein Schemata für das Sicherstellen von Datenzuverlässigkeit mit Hilfe von Daten-Neuübertragung.
  • Es gibt jedoch Gründe, eine zukünftige Zunahme von Datenkommunikationsbereichen zu erwarten, für die eine Implementierung des Fehlerkorrekturschemas, basierend auf Daten-Neuübertragung, wie oben erwähnt, auf ATM-Endgeräten nicht ausreichend ist, wie die folgenden.
    • (1) Es gibt eine Erwartung für eine zukünftige Zunahme einer Anzahl von Anwendungen, die eine Echtzeit-Performance für eine große Kapazität erfordern (für welche eine Daten-Neuübertragungssteuerung grundlegend nicht zulässig ist), sowie eine hohe Datenzuverlässigkeit wie z.B. Transaktionen großer Kapazität.
    • (2) Die Kommunikationsnetze wie z.B. LAN, MAN, WAN, etc. werden globalisiert und ein Sicherstellen einer Latenz und einer Fehlerkontrolle basierend auf Daten-Neuübertragung wird inkompatibel für ein globales Kommunikationsnetz (wegen eines enormen Umfangs an für die Daten-Neuübertragung erforderter Zeit).
    • (3) im Allgemeinen verwenden die auf Daten-Neuübertragung basierenden Fehlerkontroll-Schemata eine Gruppe von Paketen einer oberen Schicht (wie z.B. eine Gruppe von TCP-Paketen oder Schicht-4-Paketen) als eine Neuübertragungseinheit, und daher ist das Neuübertragen großer Datenmengen erforderlich, selbst wenn ein Datenverlust eine relativ geringe Einheit wie z.B. einen Zellenverlust ausmacht, so dass diese Schemata eine signifikante Verschwendung von Netz-Ressourcen verursachen können.
  • Insbesondere wenn die Echtzeit-Performance wichtig ist, ist das auf Daten-Neuübertragung basierende Fehlerkorrekturschema in höchstem Maße unpraktikabel, weil dem Sicherstellen der Echtzeit-Performance die höhere Priorität gegeben werden muss.
  • Als eine Lösung dieses Problems haben die vorliegenden Erfinder und Andere ein Schema vorgeschlagen zum Implantieren von FEC (Vorwärtsfehlerkorrektur bzw. Forward Error Correction) auf AAL5. (Siehe beispielsweise H. Esaki et al.: "Evaluation of High Speed Multimedia Comunication Architectur in ATM networks", IEICE Transactions on Communikations, Bd. E77-B, Nr. 11, Seiten 1407–1419, November 1994). Dieses Schema verwendet einen abweichenden Ansatz zum Realisieren einer zuverlässigen Kommunikation, in der eine Kommunikation durch Hinzufügen von Fehlerkorrekturcodes zu Sendedaten vorgenommen wird derart, dass eine Reproduktion verlorener Daten an einem Empfangsort ausgeführt werden kann, selbst wenn einige Datenverluste oder Fehler innerhalb eines Netzes verursacht wurden.
  • Speziell werden in diesem Schema Codes ähnlich den Fehlerkorrekturcodes angewendet, wie sie eine Option der CS-Schicht von AAL1 sind, auf Abschnitte oberhalb der SSCS- Schicht von AAL5. In AAL1 ist Daten-Neuübertragung praktisch unmöglich, weil eine Echtzeitübertragung von Sprache, Bildern etc. von einer Sendeseite zu einer Empfangsseite zu realisieren ist, so dass es eine Maßnahme des Stärkens eines Schutzes gegenüber einem Fehler während der Übertragung gibt mit Hilfe des Hinzufügens von Fehlerkorrekturcodes zu Sendedaten. Durch Hinzufügen von FEC-Redundanzcodes zu Daten für AAL5 in einer im Wesentlichen ähnlichen Weise wie dieses Verschachtelungsschema, das für AAL1 bereitgestellt wird, kann eine Echtzeit-Kommunikation, die keine Daten-Neuübertragung verwendet, oder eine zuverlässige Kommunikation garantiert werden.
  • Die Gründe für die Verwendung von AAL5 statt AAL3/4 in diesem Schema sind die Folgenden.
    • (1) während das ATM-Schema als höchstwahrscheinlicher Kandidat für ein Kommunikationsschema der nächsten Generation betrachtet wird, hat AAL für Datenkommunikation (d.h., AAL5), für welches die Standardisierung durch Standardisierungs-Organisationen wie ITU-T und das ATM-Forum fortschreiten, eine sehr hohe Wahrscheinlichkeit, auf zukünftigen Hochgeschwindigkeits-Endgeräten implementiert zu werden (einschließlich Multimedia-Endgeräten).
    • (2) AAL5 ist zum Realisieren eines hohen Durchsatzes und einer geringen Latenzzeit gedacht.
  • Es sollte jedoch bemerkt werden, dass es auch möglich ist, dieses Schema auf einer AAL zu implementieren, die von AAL5 abweicht.
  • Um FEC wie bei AAL1 auszuführen, ist es in dieser Implementierung für eine Sendeseite erforderlich, von der oberen Schicht gegebene Daten einmal in matrixförmige Verschachteler zu schreiben und Redundanz-Codes zu den Daten hinzuzufügen vor dem Übertragen der Daten. Auch ist es erforderlich für eine Empfangsseite, Orte innerhalb der Verschachteler zu einem Zeitpunkt des Sendens zu identifizieren für Daten (Zellen), die angekommen sein sollten, aber verloren gingen, oder die mit einer Verzögerung jenseits eines Toleranzbereichs angekommen sind. In AAL1 ist zu einer Zelle bei der SAR-Schicht durch die Normalverarbeitung eine Abfolgezahl (SN von sequence number) hinzugefügt worden, so dass es möglich ist, diese Abfolgezahl in einem Fall des Ausführens von FEC als eine Option zu verwenden und es immer möglich ist, einen Ort oder einen Fehler zu identifizieren. Jedoch gibt es in AALS keine Verarbeitung zum Identifizieren eines Orts. Aus diesem Grund ist vorgeschlagen worden, eine Funktion vorzusehen zum Hinzufügen von FEC-Redundanzcodes und SN bei der SSCS-Schicht, die momentan auf Null eingestellt ist.
  • Nun ist ein Verschachteler, der als in diesem Schema zu verwenden überlegt worden ist, derselbe gewesen wie der, der in AAL1 verwendet worden ist, welcher einen festen Größenbereich zum Schreiben von Daten hat. In AAL1 sind zu übertragende Daten CBR-Daten (Daten konstanter Bitrate bzw. Constant Bit Rate data) wie z.B. Sprache, so dass im Voraus bekannt ist, dass Daten von der oberen Schicht bei konstanter Rate kontinuierlich ausgegeben werden und es demnach ausreicht, einen Verschachteler einer ausreichend großen festen Größe zu verwenden. Jedoch ist es in dem Fall von Datenübertragung im Voraus nicht bekannt, Daten welcher Größe von der oberen Schicht mit welcher Zeitabstimmung bzw. welchem Timing ausgegeben werden. Wenn ein Verschachteler einer festen Größe verwendet wird, ist es folglich, wenn zu übertragende Daten eine Größe haben, die spürbar kleiner ist als eine Größe eines Verschachtelers, erforderlich, Leer- bzw. Dummy-Zellen auszugeben durch Auffüllen eines verbleibenden Bereichs mit Dummy-Daten. Dies kann speziell problematisch sein, wenn zu übertragende Daten eine Gesamtgröße haben, die viel kleiner ist als eine Größe eines Verschachtelers, oder wenn zu übertragende Daten in einer Vielzahl von Verschachtelern den letzten Teil von Daten in dem letzten Verschachteler enthalten, die eine Größe haben, die viel kleiner ist als eine Größe eines Verschachtelers, wie es merklich viele Dummy-Daten erfordern würden.
  • Demnach verhindert die Verwendung eines solchen Verschachtelers eine wirksame Bandbreitennutzung und fügt eine Zunahme unnötigen Verkehrs ein, der möglicherweise einen Stau verursachen könnte. Zudem gibt es entgegen dem konventionellen Fall von AAL1, jedes Mal wenn Dummy-Daten in einen jeweiligen Verschachteler einzufügen sind, einen Bedarf, einen Angabeabschnitt in dem jeweiligen Verschachteler bereitzustellen, um anzuzeigen, wo die Dummy-Daten beginnen, und es gibt einen Bedarf, einen Mechanismus bereitzustellen zum exakten Erkennen dieses Anzeigeabschnittes auf einer Empfangsseite. Ein solcher Mechanismus ist noch nicht im Zusammenhang mit einem Verschachteler, der bei konventionellem AAL1 verwendet wird, überlegt worden.
  • Zudem führt ein existierender Verschachteler ein Datenlesen nur aus, nachdem alle von der oberen Schicht gelieferten Daten einmal in einen Speicher geschrieben sind, so dass wenn Schreib- und Leserichtungen senkrecht zueinander sind, eine Latenzzeit mindestens so groß wird wie eine Zeit, die erforderlich ist zum Schreiben in einen Verschachteler. Beispielsweise ist eine Größe des Datenbereichs in einem Verschachteler, der als eine Option von AAL1 in der ITU-T Empfehlung I.363 bereitgestellt wird, 47 × 124 = 5828 Oktetten, und eine Ausgabe von Daten zu der unteren Schicht wird während einer Dauer von einer Zeitabstimmung bzw. einem Timing, zu dem ein Schreiben von Daten in die erste Spalte dieses Bereichs beginnt bis zu einem Timing, bei dem ein Schreiben der Daten in die letzte Spalte dieses Bereichs beginnt, ausgesetzt.
  • Als ein alternatives Verschachtelungsschema gibt es einen neuen Antrag eines mittelbaren Verschachtelns, bei dem die Lese- und Schreibrichtungen sich schräg schneiden, wie in "Status Report on AAL1/2 for video signal transport", ITU-T, SG XIII, Arbeitsdokument TD/27(Rev.) (13-2)-E, März 1994 in Genf offenbart. Jedoch, selbst in diesem Verschachtelungsschema kann eine Latenzzeit nur reduziert werden auf die Hälfte von der des oben erwähnten Verschachtelungsschemas unter Verwendung von senkrecht schneidenden Lese- und Schreibrichtungen.
  • Diesbezüglich offenbart Matsuzaki et al, "A Study of Error Correction Method with the Alignment between ATM cell and MPEG-2 Transport Packet", The 1994 IEICE Spring Conference, B-853, Seiten 3–348, März 1994, Zeichnungen eines Verschachtelers, der erscheint, als ob Lese- und Schreibrichtungen identisch wären. Jedoch stellt diese Referenz keine Erläuterung dieser Zeichnungen bereit und es wird auf allgemeinem Grund überlegt, dass diese Referenz einen Betrieb erfordert zum einmaligen Schreiben aller Daten in den Verschachteler und dann zum Lesen der Daten aus dem Verschachteler, und dass diese Referenz auch einen Speicherbereich in einer Größe erfordert, die äquivalent einer Größe des Verschachtelers ist, um Daten zu schreiben und zu lesen. Es wird auch darauf hingewiesen, dass diese Referenz das Unterbringen von TS-Paketen (Transport Stream packets) von MPEG-2 versucht und aus diesem Grund eine Größe des Datenbereichs eines Verschachtelers, der in den Zeichnungen gezeigt ist, begrenzt ist auf ein ganzzahliges Vielfaches von 188 Byte. Folglich ist dieser Verschachteler nicht imstande, beliebige variable Daten, die bei AAL5 zu behandeln sind, zu handhaben.
  • Zudem hat das konventionelle Schema wie das in AAL1 verwendete, wenn FEC-Redundanzcodes zu Daten hinzugefügt werden, die auf einer Empfangsseite zu empfangen sind, ein Problem dahingehend, dass mindestens so viel Verzögerung wie eine Zeit, die erforderlich ist zum Hinzufügen von FEC-Redundanzcodes zu einem Zeitpunkt des Sendens konventionell in jeder Entschachteler-Verarbeitung zu einem Zeitpunkt des Empfangs verursacht wird. Dies ist, weil es zum Zeitpunkt des Empfangs erforderlich ist, eine Verarbeitung auszuführen, um alle ankommenden Daten sequentiell in Entschachteler zu speichern, egal ob jeweilige Daten zu einem Datenbereich gehören oder einem FEC-Redundanzbereich. Auch ist es in AAL1 möglich, einen Zellenverlust mit Hilfe von SN zu erfassen, aber eine Funktion zum Erfassen und Korrigieren eines Bitfehlers innerhalb von Daten wird nur durch FEC-Redundanzcodes bereitgestellt, so dass es zum Prüfen, ob jeweilige Daten korrekt sind oder nicht, erforderlich ist, dass eine Empfangsseite eine Decodier-Verarbeitung unter Verwendung von FEC in Bezug auf alle Daten durchführt. Die durch dies Verarbeitungen verursachte Verzögerung kann besonders verschwenderisch sein in dem Fall, in dem Bitfehler sehr selten vorkommen, verglichen mit Zellenverlusten, so dass die meisten Daten korrekt sind.
  • Bis zu diesem Punkt ist der Stand der Technik in Bezug auf einen allgemeinen Fall beschrieben worden, der Eins-zu-Eins-Kommunikation einschließt. Im Folgenden wird der Stand der Technik in Bezug auf einen Fall von Punkt-zu-Mehrpunktverbindungs-Kommunikation bzw. Multicast-Kommunikation speziell beschrieben.
  • Als ein Protokollstapel für Multicast- bzw. Punkt-zu-Mehrpunkt-Verbindung, der allgemein derzeit weithin verwendet wird, gibt es IP-Übertragung (Internet Protokoll-Übertragung) zur Verwendung von IP-Multicast-Adressen. In einem derzeit verfügbaren System wird UDP (User Datagram Protocol) gewöhnlich als ein Protokoll der oberen Schicht verwendet in einem Fall des Ausführens von IP-Multicast. Entgegen TCP (Transmission Control Protocol) ist dieses UDP ein Protokoll, das keine Ende-zu-Ende-Zuverlässigkeit garantiert, so dass eine Fehlerkorrektur nicht ausgeführt wird, wenn ein Paket verworfen wird oder ein Bitfehler im Zuge der Paketübertragung auftritt. Als eine Folge davon wird, selbst wenn eine Fehlerrate pro Datenverbindung gering ist, da eine Anzahl von Empfangsseiten zunimmt, vom Gesichtspunkt der Sendeseite her häufig recht groß.
  • Jedoch wird in der Zukunft eine Zunahme der Anwendungen wie z.B. Digitalmedia erwartet, die einen Multimedia-Rundsendemodus annehmen, und für solch eine Anwendung hat ein Protokoll wie das oben erwähnte IP + UDP, welches keine Datenzuverlässigkeit garantiert, eine Möglichkeit, eine Unannehmlichkeit zu verursachen dahingehend, dass korrekte Daten nicht unmittelbar auf der Empfängerseite reproduziert werden können.
  • Diesbezüglich gibt es MTP (Multicast Transport Protokoll bzw. Punkt-zu-Mehrpunkt-Verbindungstransport-Protokoll) und RMP (Reliable Multicast Protocol bzw. zuverlässiges Punkt-zu-Mehrpunkt-Verbindungsprotokoll), welche Schicht-4-Protokolle sind, die eine Funktion haben, um Datenzuverlässigkeit unter Multicast-Umgebung zu garantieren. In diesen Protokollen sendet eine Sendeseite, wenn ein Fehler während der Datenübertragung auftritt, identische Daten ansprechend auf eine Neusendeanfrage von einer Empfangsseite. Obwohl eine solche Fehlerkorrektur basierend auf Neusenden Datenzuverlässigkeit garantieren kann, ist es für diese Protokolle unmöglich, gleichzeitig Echtzeit-Performance zu garantieren.
  • RESÜMME DER ERFINDUNG
  • Es ist demnach ein Ziel der vorliegenden Erfindung, ein Schema für die Fehlerkontrolle in AAL in ATM-Netzen bereitzustellen, die imstande ist, eine zuverlässige Kommunikation mit hohem Durchsatz und niedriger Latenzzeit zu realisieren.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zur Fehlerkontrolle bei einem AAL- bzw. ATM-Anpassungschicht-Level bereitgestellt, das die Schritte umfasst: (a) Segmentieren kontinuierlicher, von einer oberen Schicht in einer Folge von Daten in einer vorgeschriebenen Länge gegebener, zu sendender Daten und sequentielles Schreiben jedes Datenwertes in eine jeweilige Spalte einer matrixförmigen Datenregion in einem Verschachteler; (b) Festlegen einer festen Spalte der Datenregion in dem Verschachteler mit einer variablen Länge als eine Spalte der Datenregion in dem Verschachteler, die bestimmt ist in Bezug auf eine Spalte, in der ein letzter Datenwert durch den Schritt (a) in den Verschachteler geschrieben worden ist, Berechnen eines Fehlerkontrollcodes für die Daten bis zu der letzten Spalte in jeder Zeile der Datenregion in dem Verschachteler, und Schreiben jedes berechneten Fehlerkorrekturcodes in einen entsprechenden Ort innerhalb einer matrixförmigen Fehlerkontrollregion in dem Verschachteler; und (c) Lesen von Inhalten jeder Spalte der Datenregion und der Fehlerkorrekturcoderegion in dem Verschachteler, Hinzufügen eines vorgeschriebenen Datenkopfs/Datenanhangs zu einer vorgeschriebenen Zahl von Spalten der Daten und/oder der von dem Verschachteler ausgelesenen Fehlerkorrekturcodes zum Bilden einer Dateneinheit, und sequentielles Geben jeder Dateneinheit in eine untere Schicht derart, dass Dateneinheiten in Form von ATM-Zellen übertragen werden, und eine Fehlerkorrektur unter Verwendung der Fehlerkorrekturcodes für die Daten auf einer Empfängerseite ausgeführt werden kann, wenn ein Fehler während der Datenübertragung auftritt.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein Verfahren der Fehlerkontrolle bei einem AAL-Level bzw. ATM-Anpassungsschicht-Level bereitgestellt, das die Schritte umfasst: (a) Extrahieren von Information, die Köpfe/Anhänge enthält, welche Abfolgezahlen in einer Folge von von einer unteren Schicht gegebenen Dateneinheiten für Daten und Fehlerkorrekturcodes enthalten, und Löschen der Köpfe/Anhänge von den Dateneinheiten; (b) sequentielles Schreiben der Daten und der Fehlerkorrekturcodes der Dateneinheiten mit gelöschten Köpfe/Anhängen bei dem Schritt (a) in einen Verschachteler mit einer matrixförmigen Datenregion und Fehlerkorrekturcoderegion in Übereinstimmung mit der in den Köpfe/Anhängen enthaltenen Information, und Erfassen eines Endes einer Abfolge von Dateneinheiten in Übereinstimmung mit der in den Köpfe/Anhängen enthaltenen Information; (c) Ausführung von Fehlererfassung und Fehlerkorrektur für die in den Verschachteler bei dem Schritt (b) eingeschriebenen Daten, um korrekte Daten zu decodieren; und (d) Lesen decodierter korrekter Daten, die beim Schritt (c) erhalten werden, aus dem Verschachteler, und sequentielles Geben der decodierten korrigierten Daten an eine obere Schicht.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein System zur Fehlerkorrektur bei einem AAL- bzw. ATM-Anpassungsschicht-Level bereitgestellt, wobei das System umfasst: (a) eine Vorrichtung zum Segmentieren kontinuierlicher, von einer oberen Schicht in eine Abfolge von Daten in einer vorgeschriebenen Länge gegebener, zu sendender Daten, und sequentielles Schreiben jeweiliger Datenwerte in eine jeweilige Spalte einer matrixförmigen Datenregion in einem Verschachteler; (b) eine Vorrichtung zum Einstellen mindestens einer Spalte der Datenregion in einem Verschachteler mit einer variablen Länge als eine Spalte der Datenregion in dem Verschachteler, bestimmt in Bezug auf eine Spalte, in der mit Hilfe von (a) mindestens Daten in den Verschachteler eingeschrieben werden, Berechnen eines Fehlerkorrekturcodes für die Daten bis zu der letzten Spalte in jeder Zeile einer Datenregion in dem Verschachteler, und Schreiben jedes berechneten Fehlerkorrekturcodes in einen entsprechenden Ort innerhalb einer matrixförmigen Fehlerkontrollcoderegion in dem Verschachteler; und (c) eine Vorrichtung zum Lesen von Inhalten jeder Spalte der Datenregion und der Fehlerkorrekturregion in dem Verschachteler, Hinzufügen eines vorgeschriebenen Kopfs/Anhangs zu einer vorbestimmten Zahl von Spalten der Daten und/oder der Fehlerkorrekturcodes, die von dem Verschachteler ausgelesen werden, um eine Dateneinheit zu bilden, und sequentielles Geben jeder Dateneinheit an eine untere Schicht derart, dass Dateneinheiten in Form von ATM-Zellen übertragen werden, und eine Fehlerkorrektur unter Verwendung des Fehlerkorrekturcodes ausgeführt werden kann für jede Dateneinheit auf einer Datenempfangsseite, wenn ein Fehler während der Datenübertragung auftritt.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein System für die Fehlerkontrolle bei einem AAL-Level (ATM-Anpassungsschichtlevel) bereitgestellt, umfassend: (a) eine Vorrichtung zum Extrahieren von Information, die in Abfolgezahlen in einer Folge von Dateneinheiten enthaltenden Köpfe/Anhängen für von einer unteren Schicht gegebenen Daten- und Fehlerkorrekturcodes enthalten ist, und Löschen der Köpfe/Anhänge von den Dateneinheiten; (b) eine Vorrichtung zum sequentiellen Schreiben der Daten und der Fehlerkorrekturcodes der Dateneinheiten mit den bei der Vorrichtung (a) gelöschten Köpfe/Anhängen in einen Verschachteler mit matrixförmiger Datenregion und Fehlerkorrekturcoderegion in Übereinstimmung mit Information, die in den Köpfe/Anhängen enthalten ist, und Erfassen eines Endes einer Folge von Dateneinheiten in Übereinstimmung mit der in den Köpfe/Anhängen enthaltenen Information; (c) eine Vorrichtung zum Ausführen von Fehleranpassung und Fehlerkorrektur für die in den Verschachteler eingeschriebenen Daten bei der Vorrichtung (b), um korrekte Daten zu decodieren; und (d) eine Vorrichtung zum Lesen decodierter korrekter Daten, die durch die Vorrichtung von dem Verschachteler erhalten werden, und sequentielles Geben der decodierten korrekten Daten an die obere Schicht.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung, betrachtet im Zusammenhang mit den beiliegenden Zeichnungen, ersichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigt:
  • 1 ein Diagramm einer konventionell bekannten Figuration vom AAL-Typ 5;
  • 2 ein schematisches Diagramm einer Struktur des Protokollstapels für Sendeseiten- und Empfangsseiten-Endgeräte in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 3 ein schematisches Blockdiagramm der inneren Konfigurationen von Sendeseiten- und Empfangsseiten-Endgeräten in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 4 ein Diagramm beispielhafter Anwendungsdaten gegeben als AAL-IDU und verwendet in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 5 ein Diagramm einer beispielhaften Weise des Schreibens von Daten in den Verschachteler in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 6 ein Diagramm einer anderen beispielhaften Weise des Schreibens von Daten in der Verschachteler in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 7 ein Diagramm einer Ausrichtung von Daten in dem Verschachteler, der in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet werden kann;
  • 8 ein Diagramm eines beispielhaften Zustands, in welchem Daten in dem Verschachteler gespeichert sind in der ersten Ausführungsform einer Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 9 ein Diagramm eines anderen beispielhaften Zustands, in dem Daten in dem Verschachteler in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung gespeichert werden können;
  • 10 ein Ablaufdiagramm der Verarbeitung bei einem sendeseitigen Endgerät in einem Fall der 9;
  • 11A und 11B Diagramme von Weisen der Längenangabe in dem Verschachteler in den Fällen der 8 bzw. der 9;
  • 12 ein Diagramm einer beispielhaften Weise des Lesens von Daten von dem Verschachteler in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 13A und 13B Diagramme von Weisen des Eingebens von FEC-Redundanzcodes in die Verschachteler für zwei distinkte Fälle in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 14A und 14B Diagramme von Weisen der Längenangabe in dem Verschachteler für zwei distinkte Fälle in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 15 ein Diagramm eines Zustands, der Daten in dem Verschachteler von einem Gesichtspunkt der FEC-Redundanzcode-Berechnung in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 16A, 16B und 16C Diagramme verschiedener Codewort-Konfigurationen, die in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet werden können;
  • 17 ein Diagramm einer Weise des Eingebens von Leer- bzw. Dummy-Daten für das Auffüllen in dem Verschachteler in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 18A und 18B Diagramme von zwei Weisen des Hinzufügens von SSCS-Kopf bzw. Anhang, der verwendet werden kann in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 19 ein Diagramm einer Konfiguration von SSCS-Kopf bzw. Anhang, der verwendet werden kann in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 20 ein Diagramm beispielhafter SSCS-Köpfe bzw. Anhänge für einen gesamten Verschachteler in der ersten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 21 ein Diagramm einer beispielhaften Verarbeitung bei einem ATM-Header bzw. Kopf-Löschmodul eines empfangsseitigen Endgerätes in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 22 ein Ablaufdiagramm einer Verarbeitung bei einem empfangsseitigen Endgerät in einem Fall der 9;
  • 23 ein Diagramm einer Tabelle, die konventionell in beispielhaften FEC-Verarbeitungsschemata verwendet werden kann in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 24 ein Diagramm einer anderen Tabelle, die konventionell in beispielhaften Verarbeitungsschemata verwendet werden kann in der ersten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 25 ein schematisches Diagramm eines Eins-zu-Mehrfachkommunikationssystems, das in der zweiten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet werden kann;
  • 26 ein schematisches Diagramm einer Struktur der Protokollstapel für sendeseitige und empfangsseitige Endgeräte in der zweiten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 27 ein schematisches Diagramm einer beispielhaften Weise des Einrichtens von Verbindungen in einem Eins-zu-Mehrfachkommunikationssystem, das in der zweiten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet wird;
  • 28 ein schematisches Blockdiagramm von inneren Konfigurationen eines sendeseitigen und empfangsseitigen Endgeräts in der zweiten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung;
  • 29 ein schematisches Diagramm eines Einfach-zu-Mehrfach-Kommunikationssystems, das in der zweiten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet wird, in einem Fall, der Neusenderanfrage von einem empfangsseitigen Endgerät;
  • 30A, 30B und 30C Diagramme verschiedener Konfigurationen von SSCS-Köpfen bzw. Anhängen, die in der zweiten Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet werden können; und
  • 31 ein schematisches Diagramm eines Einfach-zu-Mehrfach-Kommunikationssystems, das in der zweiten Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung verwendet wird, in einem Fall der Neusenderanfragen von einer Vielzahl von empfangsseitigen Endgeräten.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nun werden bevorzugten Ausführungsformen eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung detaillierter unter Bezugnahme auf die Zeichnungen beschrieben.
  • In den nachstehend beschriebenen Ausführungsformen wird ein Fall des Ausführens einer Datenkommunikation unter Verwendung von AAL5 durch ein ATM-Netz zwischen einem sendeseitigen Endgerät und einem empfangsseitigen Endgerät beschreiben, aber die vorliegende Erfindung ist in gleicher Weise anwendbar auf andere Arten von Kommunikation in den ATM-Netzen, die andere AAL-Typen verwenden.
  • Es wird hier angenommen, dass Verarbeitungen wie Transaktionen großer Kapazität zwischen den Endgeräten ausgeführt werden und es erforderlich ist, dass Datenaustauschvorgänge zwischen den Endgeräten durch eine Datenkommunikation mit einer geringen Latenzzeit ausgeführt werden (für welche Neusendesteuerung im Grunde nicht zulässig ist), mit einem hohen Durchsatz und einer Datenzuverlässigkeit. Beispielsweise können die Endgeräte über öffentliche Netze in Art eines WAN verbunden sein und die Endgeräte können physisch weit voneinander entfernt sein.
  • Die vorliegende Erfindung stellt ein Schema zum Ermöglichen einer Reproduktion korrekter Daten ohne Datenneusenden bereit, wenn ein Zellenverlust innerhalb einer übertragungsstrecke oder einer ATM-Vermittlung während der Datenübertragung auftritt mit Hilfe von Fehlerkorrekturbits für FEC, die den zwischen den Endgeräten ausgetauschen Daten hinzugefügt sind.
  • In der folgenden Beschreibung wird ein Fall von Zellenverlust, der für ATM charakteristisch ist, hauptsächlich betrachtet, aber in einer tatsächlichen Datenkommunikation gibt es auch eine Möglichkeit für ein Auftreten einer Bitfehlers. Um solch einen Bitfehler zu korrigieren, ist es möglich, ein Schema zu übernehmen, in dem ein CRC-Feld (Zyklisches Redundanzprüfungsfeld bzw. Cyclic Redundancy Check field) in einem SSCS-Kopf/Anhang bereitgestellt wird, wie nachstehend detailliert beschrieben wird, wobei eine Bitfehler-Erfassung für jede Zelle ausgeführt wird und eine Zelle, für die ein Fehler erfasst wird, derart verworfen wird, dass sie als ein Fall von Zellenverlust behandelt wird. Es ist auch möglich, ein Schema unter Verwendung von Read-Solomon-Codes bzw. RS-Codes als Fehlerkorrekturcodes zu übernehmen, in welchem ein Fehler selbst korrigiert werden kann, wenn ein Ort eines Bitfehlers innerhalb eines Verschachtelers unbekannt ist. In diesem letzteren Schema ist es jedoch erforderlich, eine Decodieroperation zum Zwecke des Identifizierens eines Fehlerorts einer Empfangsseite auszuführen.
  • In der vorliegenden Erfindung sind sendeseitige Endgerät und das empfangsseitige Endgerät ATM-Endgeräte unter Verwendung von AAL5. Dann wird die FEC-Funktion auf einer SSCS-Schicht implementiert, die eine obere Schicht einer CPCS-Schicht auf AAL5 ist, um eine Datenkommunikation fehlerfreier Daten mit hohem Durchsatz und geringer Latenzzeit zu implementieren.
  • ERSTE AUSFÜHRUNGSFORM: EINS-ZU-EINS-KOMMUNIKATION
  • Nun wird die erste Ausführungsform des Fehlerkontrollschemas gemäß der vorliegenden Erfindung, die sich mit einem Fall von Eins-zu-Eins-Kommunikation zwischen Endgeräten beschäftigt, detailliert beschrieben.
  • 2 zeigt eine Struktur von Protokollstapeln für Endgeräte in dieser ersten Ausführungsform, welche für eine U-Ebenen-Kommunikation (d.h., Kommunikation zwischen Anwendungen) dient. In 2 sind ein sendeseitiges Endgerät 2t und ein empfangsseitiges Endgerät 2r über ein ATM-Netz 1 mit einer ATM-Vermittlung 3 verbunden.
  • Sowohl auf dem sendeseitigen Endgerät 2t als auch auf dem empfangsseitigen Endgerät 2r werden Anwendungen wie großkapazitive Transaktionen betrieben und Echtzeitdaten großer Kapazität werden von dem sendeseitigen Endgerät 2t zum empfangsseitigen Endgerät 2r übertragen. Hier wird angenommen, dass die Endgeräte 2t und 2r direkt durch eine Ende-zu-Ende-ATM-Verbindung, die zwischen den Anwendungen im Voraus eingerichtet wird, verbunden sind. Folglich sind die Schichten 2, 3 und 4 unter der Schicht 5 und oberhalb normalerweise festgelegt, um Null zu sein, wie in 2 gezeigt.
  • Wenn das sendeseitige Endgerät 2t und das empfangsseitige Endgerät 2r aus irgendeinem Grunde über mindestens einen Router zu verbinden sind, ist es erforderlich, für diesen Router, die ähnliche FEC-Verarbeitung durchzuführen wie eine SSCS-Schicht-Verarbeitung.
  • In der ATM-Anpassungsschicht wird das bereits standardisierte AAL5 implementiert und die Verschachteler-Verarbeitung und die FEC-Verarbeitung gemäß der vorliegenden Erfindung werden auf einer SSCS-Schicht von AAL5 implementiert, um eine zuverlässige Ende-zu-Ende-Kommunikation zu realisieren. AAL5 hat eine CPCS-Schicht und eine SAR-Schicht unterhalb der SSCS-Schicht und unterhalb von AAL5 gibt es gewöhnlich eine ATM-Schicht und eine physikalische Schicht.
  • Hier ist es, um die Zuverlässigkeit weiter anzuheben, auch möglich, ein leichtgewichtiges Neusende-Steuerprotokoll auf einer Schicht 4 des Transportprotokolls zu implementieren, welches in 2 auf Null gesetzt ist. FEC hat nämlich eine Grenze in seiner Korrekturfähigkeit abhängig von einem Redundanzpegel, und FEC sollte derart entworfen werden, dass die meisten Fehler in einen Bereich seiner Korrekturfähigkeit fallen, aber das Neusende-Steuerprotokoll kann zusätzlich implementiert werden gerade in dem Fall, in dem Fehler unterhalb eines Bereichs der Korrekturfähigkeit von FEC auftreten (d.h., einen Fall, in dem Fehler nicht korrigiert werden können). In dieser Weise wird es selbst wenn eine Situation aufkommt, in der eine große Anzahl von Verluste verursachenden Fehlern unterhalb eines Bereichs der Korrekturfähigkeit von FEC auftreten, noch möglich, die Datenzuverlässigkeit mit Hilfe der Neusendesteuerung zumindest beizubehalten, obwohl diese Neusendesteuerung einige Verzögerung verursacht, so dass die Echtzeit-Performance nicht aufrecht erhalten werden kann.
  • 3 zeigt einen internen Aufbau des sendeseitigen Endgeräts 2t und des empfangsseitigen Endgeräts 2r.
  • Das sendeseitige Endgerät 2t führt Anwendungsverarbeitung (wie z.B. globale Transaktionsverarbeitung) aus und sendet Anwendungsdaten zu dem empfangsseitigen Endgerät 2r. Wie in 3 gezeigt, umfasst das sendeseitige Endgerät 2t ein Anwendungsverarbeitungsmodul 4t; ein Verschachtelermodul 8t einschließendes SSCS-Verarbeitungsmodul 6t, ein FEC-Hinzufügemodul 10t und ein SSCS-Kopf/Anhang-Hinzufügemodul 12t; ein CPCS-verarbeitungsmodul 14t einschließlich eines LI- bzw. Längenindikator-Hinzufügemodul 16t, und ein CRC-Hinzufügemodul 18t; ein SAR-Verarbeitungsmodul 20t für die Segmentierung; und ein ATM-Kopf-Hinzufügemodul 22t.
  • Das Anwendungs-Verarbeitungsmodul 4t führt eine Verarbeitung zum Liefern der Anwendungsdaten zu dem SSCS-Verarbeitungsmodul 6t aus.
  • Das SSCS-Verarbeitungsmodul 6t führt eine Verschachtelungs-Operation in Bezug auf die Daten, die von dem Anwendungs-Verarbeitungsmodul 4t zu dem Verschachtelermodul 8t geliefert werden, aus, fügt FEC-Redundanzcodes zu den Daten bei dem FEC-Hinzufügemodul 10t hinzu, bringt einen SSCS-Kopf/Anhang in Bezug auf jede Spalte des Verschachtelers bei dem SSCS-Kopf/Anhangs-Hinzufügemodul 12t an, und gibt die resultierenden Daten zu dem CPCS-Verarbeitungsmodul 14t.
  • Das CPCS-Verarbeitungsmodul 14t führt die CPCS-Verarbeitung von AAL5 aus zum Hinzufügen eines CPCS-Anhangs, die eine Berechnung und ein Hinzufügen eines Längenindikators bei dem LI-Hinzufügemodul 18t einschließt und ein Berechnen und Hinzufügen eines CRC bei dem CRC-Hinzufügemodul 18t, und liefert die resultierenden Daten zu dem SAR-Verarbeitungsmodul 20t.
  • Das SAR-Verarbeitungsmodul 20t führt Segmentierung in Bezug auf die Daten aus, die von dem CPCS-Verarbeitungsmodul 14t geliefert werden, als eine gewöhnliche SAR-Schicht-Verarbeitung von AAL5, und liefert die segmentierten Daten zu dem ATM-Kopf-Hinzufügemodul 22t.
  • Das ATM-Kopf-Hinzufügemodul 22t fügt einen ATM-Kopf zu jeweiligen segmentierten Daten hinzu. Die resultierenden Daten werden dann einer Verarbeitung bei niedrigeren Schichten, die nicht in 3 gezeigt sind, unterzogen und in das ATM-Netz 1 als Zellen gesendet.
  • Andererseits umfasst das empfangsseitige Endgerät 2r: ein Anwendungsverarbeitungsmodul 4r; ein SSCS-Verarbeitungsmodul 6r, das ein Verschachtelermodul 8r einschließt, ein FEC-Korrekturmodul 10r und ein SSCS-Kopf/Anhang-Prüfmodul 12r; ein CPCS-Verarbeitungsmodul 14r, das ein LI-Prüfmodul 16r einschließt und ein CRC-Prüfmodul 18r; ein SAR-Verarbeitungsmodul 20r für das Neuzusammenstellen; und ein ATM-Kopf-Löschmodul 22r.
  • In diesem empfangsseitigen Endgerät 2r werden die Verarbeitungen der physikalischen Schicht und der ATM-Schicht, die in 3 nicht dargestellt sind, in Bezug auf den Zellenstrom ausgeführt, der von dem ATM-Netz 1 eintritt, und Zellen, die für dieses Endgerät gedacht sind, werden selektiv ausgenommen.
  • Dann löscht das ATM-Header- bzw. Kopf-Löschmodul 22r den ATM-Kopf von jeder Zelle und liefert die resultierenden Daten zu dem SAR-Verarbeitungsmodul 20r. Zu diesem Zeitpunkt wird wenn ein Bit zum Angeben mindestens eines Teils der CS-PDU ausgegeben wird in einem UUI-Bereich bzw. Benutzer-zu-Benutzer-Informationsbereich des PT-Felds bzw. Nutzlasttypfelds in dem ATM-Zellen-Header, wird diese Tatsache dem SAR-Verarbeitungsmodul 20r mitgeteilt.
  • Das SAR-Verarbeitungsmodul 20r führt die Neuzusammenstellungs-Verarbeitung von AAL5 in Bezug auf die Daten aus, die von dem ATM-Kopf-Löschmodul 22r ausgegeben werden, d.h., dem Nutzlastabschnitt der Zelle, während Bezug genommen wird auf eine Information auf dem letzten Teil des CS-PDU, und liefert die neu zusammengestellte CS-PDU zu dem CPSC-Verarbeitungsmodul 14r.
  • Das CPCS-Verarbeitungsmodul 14r reproduziert CS-SDU (CS-Dienste Dateneinheit) durch Ausführen der CPCS-Schicht-Verarbeitung von AAL5 einschließlich des Prüfens von CRC bei dem CRC-Prüfmodul 18r und Prüfen des Längenindikators bei dem LI-Prüfmodul 16r in Bezug auf die Wiederzusammenstellung von CS-PDU, die gegeben wird von dem SAR-Verarbeitungsmodul 20r.
  • Das SSCS-Kopf/Anhangs-Prüfmodul 12r prüft und löscht den SSCS-Kopf/Anhang, der zu dem CS-SDU hinzugefügt worden ist von dem CPCS-Verarbeitungsmodul 14r, und gibt die resultierenden Daten zu dem Entschachtelermodul 8r.
  • An diesem Punkt, wenn ein Fehler in dem CPCS-Anhang erfasst worden ist durch das CRC-Prüfmodul 18r in dem CPCS-Verarbeitungsmodul 14r, ist es erforderlich für dieses SSCS-Kopf/Anhangs-Prüfmodul 12r, eine Meldung für diese Tatsache von dem CPCS-Verarbeitungsmodul 14r zu empfangen.
  • Dann, wenn es keine Meldung für ein Erfassen eines Fehlers gibt (d.h., eines gewöhnlichen Fehlerfalls), führt das SSCS-Kopf/Anhangs-Prüfmodul 12r mindestens das Löschen des SSCS-Header-Kopf/Anhangs und das Identifizieren der Nutzlast auf der SSCS-Schicht aus (entweder als Daten- oder Fehlerkorrekturcodes), in Bezug auf in CPCS-PDU enthaltener Datensequenz, für welche es keine Meldung für ein Erfassen eines Fehlers gibt. Wenn die in der Nutzlast enthaltene Bitsequenz Daten entspricht, werden der Kopf/Anhang gelöscht und die Bitsequenz wird an die obere Schicht gegeben durch Durchlaufen des Verschachtelers 8r. Wenn die in der Nutzlast enthaltene Bitsequenz ein Fehlerkorrekturcode ist, können Kopf/Anhang + Nutzlast verworfen werden. Dies ist, weil ein Nichtvorliegen eines Fehlers in der CPCS-PDU als ein Ganzes durch die Fehlererfassung in der CPCS-Schicht garantiert wird, so dass es keinen Bedarf mehr für das Ausführen von Fehlerkorrektur gibt, in diesem Fall wird bei dem SSCS-Verarbeitungsmodul 6r nur das SSCS-Kopf/Anhangs-Prüfmodul 12r betrieben und das FEC-Korrekturmodul 10r wird überhaupt nicht betrieben, während keine Datenfolge in den Verschachteler des Verschachtelermoduls 8r geschrieben wird.
  • Andererseits, wenn es eine Meldung für ein Erfassen eines Fehlers gibt, führt das SSCS-Kopf/Anhangs-Prüfmodul 12r das Löschen des SSCS-Kopfs/Anhangs, das Identifizieren der Nutzlast in der SSCS-Schicht (entweder als Daten- oder als Fehlerkorrekturcodes), und das Prüfen einer Abfolgenummer etc. abhängig von den Bedürfnissen über die gesamten Felder des hinzugefügten Kopfs durch in Bezug auf die in der CPCS-PDU erhaltenen Datenfolge, für welche es eine Meldung für ein Erfassen eines Fehlers gibt. Dann gibt das SSCS-Kopf/Anhang-Prüfmodul 12r in Übereinstimmung mit der Information des SSCS-Kopf/Anhangs die Datenfolge an den passendsten Ort innerhalb des Entschachtelers des Entschachtelermoduls 8r zurück. Zudem meldet das SSCS-Kopf/Anhangs-Prüfmodul 12r einen übersprungenen Ort innerhalb des Entschachtelers, bei dem ein Zellenverlust aufgetreten ist, als durch eine Lücke in den Abfolgezahlen angezeigt zu dem FEC-Korrekturmodul 10r. Hier kann abhängig von der Funktion des SSCS-Kopfs/Anhangs die Information in Bezug auf die Datenfolge, die einen Bitfehler enthält, auch an das FEC-Korrekturmodul 10r gemeldet werden. Dann führen das Entschachtelermodul 8r und das FEC-Korrekturmodul 10r in Bezug auf die zu dem Entschachteler zurückgeführte Datenfolge Fehlerkorrekturen in Kooperation derart aus, dass korrekte Daten decodiert werden.
  • Für die bei dem Entschachtelermodul 8r korrekt reproduzierten Daten wird die Datenfolge in dem Datenbereich innerhalb des Entschachtelers dann von dem SSCS-Verarbeitungsmodul 6r zu dem Anwendungsverarbeitungsmodul 4r als Anwendungsdaten gegeben.
  • Es ist zu bemerken, dass jedes oben beschriebene individuelle Modul durch eine Vorrichtung aus entweder Hardware-Verarbeitung oder Software-Verarbeitung realisiert werden kann. Beispielsweise können die Anwendungsverarbeitungsmodule 4t und 4r und die SSCS-Verarbeitungsmodule 6t und 6r als Software-Verarbeitungen durch CPUs implementiert werden, die innerhalb der jeweiligen Endgeräte 2t und 2r vorgesehen sind, während die CPCS-Verarbeitungsmodule 14t und 14r, die SAR-Verarbeitungsmodule 20t und 20r und die ATM-Kopf/Anbringungs/Löschmodule 22t und 22r als Hardware implementiert werden können, die innerhalb der jeweiligen Endgeräte 2t und 2r vorgesehen sind.
  • Als Nächstes werden die Verarbeitungen bei dem sendeseitigen Endgerät 2t in einer Reihenfolge der Schichten beschrieben.
  • (A) Verarbeitungen bei dem Anwendungsverarbeitungsmodul 4t
  • Zuerst werden durch Bitfolgen wie die in 4 gezeigte gebildete Anwendungsdaten (AAL-IDU: AAL-Schnittstellendateneinheit bzw. AAL-Interface Data Unit) bei dem Anwendungsverarbeitungsmodul 4t erzeugt. Eine Länge der Anwendungsdaten unterscheidet sich für unterschiedliche Anwendungen und im Allgemeinen sind die Anwendungsdaten Daten mit einem weiten Bereich variabler Länge. Ein Intervall zum Erzeugen der Anwendungsdaten ist ebenfalls unterschiedlich für unterschiedliche Anwendungen und es gibt eine Vielzahl von Fällen einschließlich eines Falls von aufeinanderfolgendem Erzeugen, eines Falls von intermittierendem Erzeugen und eines Falls von bruchstückhaftem Erzeugen etc..
    Das Anwendungsverarbeitungsmodul 4t gibt dann die erzeugten Anwendungsdaten (AAL-IDU) zu dem Verschachtelermodul 8t und meldet ein Ende von Anwendungsdaten als einen Begrenzer zu dem Verschachtelermodul 8t jedes Mal, wenn Anwendungsdaten enden.
  • (B) Verarbeitungen bei dem Verschachtelermodul 8t
  • Das Verschachtelermodul St schreibt sequentiell die AAL-IDU (d.h., die Anwendungsdaten, die von dem Anwendungsverarbeitungsmodul 4t geliefert werden) in einen Datenbereich eines matrixförmigen Speichers, der einen Verschachteler bildet. Hier wird Schreiben von einer oberen linken Ecke in einer Vertikalrichtung Spalte für Spalte vorgenommen, wie in 5 beispielsweise angegeben.
  • Es wird darauf hingewiesen, dass dieser Ort des Schreibens von Daten in den Verschachteler, wie in 5 gezeigt, nur ein Beispiel ist und sie ersetzt werden kann durch irgendwelche anderen Arten unter Verwendung unterschiedlicher Reihenfolge des Schreibens und/oder einer unterschiedlichen Richtung des Schreibens wie z.B. der in 6 angegebenen.
  • Die Daten werden nicht in den FEC-Redundanzbereich geschrieben und ein Ergebnis der für jedes Symbol vorbestimmten Berechnung für jede Zeile, die ausgeführt wird nachdem das Datenschreiben beendet ist, werden in eine entsprechende Zeile des FEC-Redundanzbereichs geschrieben. Hier ist es auch möglich, ein Schema zu übernehmen, in dem statt des Schreibens des Ergebnisses der Berechnung in den Verschachtelerbereich eines Speichers das Ergebnis der Berechnung in einem logisch getrennten Speicher gespeichert wird und von diesem logisch getrennten Speicher zu einer unteren Schicht in Übereinstimmung mit den Bedürfnissen ausgelesen wird.
  • Eine Größe des Verschachtelers kann auf irgendeinen gewünschten Wert festgelegt sein, aber die Größe des Verschachtelers, der standardisiert worden ist als ein Optimum in der ITU-Empfehlung I.363 ist dieser: mit einem durch ein Oktett gegebenen Symbol ist eine Größe in einer Horizontalrichtung (Zeile) 124 Symbole für den Datenbereich und für Symbole für den FEC-Redundanzbereich; und eine Größe in einer Vertikalrichtung (Spalte) ist eine Länge gleich der, in der die SAR-Header-Länge substrahiert von einer Zellenlänge ist, d.h., 47 Oktetten. Es gibt auch einen anderen Wert für eine Größe des Verschachtelers, die standardisiert worden ist als Option von AAL1, in welcher die vertikale Größe 8 Symbole ist, eine horizontale Größe 88 Symbole für den Datenbereich und 6 Symbole für den FEC-Redundanzbereich mit einem Symbol durch ein Oktett gegeben, wie zuvor. Vom Standpunkt der vorliegenden Erfindung jedoch können, wenn gewünscht, von diesen abweichende Größen verwendet werden.
  • In der folgenden Beschreibung werden einige Wert als beispielhafte Größen des Verschachtelers verwendet und jeder solche Wert gibt einen maximalen Wert an, der verwendet werden kann als Datenbereich im Verschachteler und es ist möglich, die tatsächliche Größe des Datenbereichs kleiner zu machen als den maximalen Wert abhängig von einer Größe der Anwendungsdaten. Wenn eine Größe der Anwendungsdaten so groß ist, dass sie nicht in den Verschachteler passen, selbst wenn eine gesamte horizontale Größe des Verschachtelers vollständig verwendet wird, werde die Anwendungsdaten mit Hilfe einer Vielzahl von Verschachtelern übertragen gerade wie in einem Fall der CBR-Übertragung auf AAL1. Es wird auch darauf hingewiesen, dass es einige praktische Kandidaten für eine vertikale Größe des Verschachtelers gibt abhängig von einer Größe einer Nutzlast einer zu verwendenden Zelle.
  • Überlege beispielsweise einen Fall des Cerwendens eines Schemas, in dem ein SSCS-Kopf/Anhang und ein CPCS-Anhang von AAL5 in Bezug auf jede Spalte des Verschachtelers anzubringen sind. In diesem Fall kann eine vertikale Länge gleich der festgelegt werden, in welcher der SSCS-Kopf/Anhangsteil (der 1 Oktett sein kann, um den durch den Kopf/Anhangs-Abschnitt bedingten Überhang zu minimieren) und ein CPCS-Anhangsteil (8 Oktetten) subtrahiert werden von der Nutzlastlänge einer Zelle, d.h. beispielsweise 48 – 1 – 8 = 39 Oktetten. Alternativ kann durch Verwenden einer Spalte für eine Vielzahl von Zellen wie zwei Zellen beispielsweise eine vertikale Länge festgelegt werden auf 39 + 48 = 87 Oktetten.
  • Ein Fall größerer vertikaler Größe und ein Fall kleinerer vertikaler Größe können folgendermaßen verglichen werden. Nämlich, bezüglich SSCS-PDU, welches eine Spalte des Verschachtelers hat, wie oben für die Nutzlast beschrieben, hat wenn die SSCS-Kopf/Anhangslänge dieselben sind, ein Fall großer vertikaler Größe einen Vorteil einer höheren Packungseffizienz für die Daten der oberen Schicht. Andererseits, für die größere vertikale Größe, gibt es eine höhere Wahrscheinlichkeit, dass die zu übertragende Datenfolge in der Mitte einer Spalte endet, so dass es erforderlich ist, einen verbleibenden Abschnitt von dieser Spalte durch Auffüllen aufzufüllen und dies wiederum kann eine Verringerung der Packungseffizienz verursachen. Um einen geeigneten Wert für die vertikale Größe auszuwählen, sollten diese Faktoren berücksichtigt werden. Es sollte auch bemerkt werden, dass wenn die vertikale Größe übermäßig groß ist, es möglich ist, irgendwelche anderen Probleme zu verursachen wie die einer Neigung, Zufallsbitfehler zu enthalten, die von einer Zunahme eines Überhangs von FEC-Codes etc..
  • Bezüglich der horizontalen Größe unter der Annahme, dass der Read-Solomon-Code (RS-Code) mit n Bit für ein Symbol zu verwenden ist als Fehlerkorrekturcode, wie in einem konventionellen Fall, ist die maximale Länge gewöhnlich begrenzt auf (2n – 1) Symbole. Wenn der erweiterte RS-Code verwendet wird, ist es möglich, die horizontale Länge länger zu machen als die von einem oder zwei Symbolen, aber der erweiterte RS-Code erfordert mehr komplizierte Decodierungs-Verarbeitung und Fehlerkorrektur-Verarbeitung nach dem Empfang verglichen mit dem normalen RS-Code. Folglich wird in der vorliegenden Ausführungsform der erweiterte RS-Code nicht verwendet werden. Für einen Wert von Nut ist es üblich, acht zu verwenden oder eine ganzzahliges Vielfaches von 8 im Hinblick auf eine leichte Verarbeitung durch Software.
  • Wie in 7 dargelegt, gibt es auch ein Schema, in dem die horizontale Größe des Verschachtelers gleich einem ganzzahligen Vielfachen von 4 Oktetten festgelegt ist innerhalb eines Bereichs von die oben beschriebene nicht übersteigender Verschachtelergröße. In diesem Schema wird, wenn ein Symbol des RS-Code festgelegt wird, um beispielsweise n Bits zu sein, impliziert, dass ein Produkt von n und einer Zahl von Symbolen pro Spalte ein ganzzahliges Vielfaches von 32 wird. Einen Fall der Realisierung der FEC-Funktion durch Software überlegend, wird das Datenschreiben/Lesen in Bezug auf den Verschachteler virtuell durch einen Computer ausgeführt und es ist leicht für eine CPU eines Computers, einen Speicherzugriff in Einheiten von 4 Oktetten zu handhaben, so dass die Ausrichtung, wie in 7 gezeigt, vorzugsweise in einigen Fällen, selbst wenn sie das Auffüllen erfordert, um 4 Oktetten zu erstellen, wenn es nicht genug gültige Daten gibt.
  • Als Nächstes überlege einen Fall des Hinzufügens eines CPCS-Anhangs an jede der Datenregionen und die FEC-Redundanzregion, die später detaillierter beschrieben werden wird. In diesem Fall ist es ausreichend, den SSCS-Kopf/Anhangs-Teil zu betrachten, um die vertikale Länge des Verschachtelers zu bestimmen. Daher, den Überhang, der durch die SSCS-Schicht bedingt ist, als 1 Oktette einstellend, kann beispielsweise 48 – 1 = 47 Oktetten als angemessen überlegt werden. Jedoch wurde in diesem Fall der Tatsache keine Beachtung geschenkt, dass ein erhöhter Teil von 8 Oktetten bedingt durch CPCS-Anhang auch als eine Nutzlast einer Zelle übertragen werden muss, so dass es einen Bedarf gibt, entweder ein Schema zu übernehmen für das Sicherstellen von 8 Oktetten für diesen Zweck innerhalb der Datenregion des Verschachtelers, oder ein Schema, in dem dies durch eine Funktion zum Ausrichten der CPCS-Schicht geliefert wird. In dem letzteren Schema wird nur der CPCS-Anhang in eine Zelle gespeichert, so dass 40 Oktetten Auffüllung erforderlich sind und es ein Problem mit einem großen Überhang gibt. Folglich hat das vorhergehende Schema zum Sicherstellen eines Raums von 8 Oktetten für die CPCS-Schicht innerhalb des Datenbereichs des Verschachtelers im Voraus eine bessere Packungseffizienz.
  • Wie bereits oben erwähnt, ist im Fall von Datenübertragung eine Größe von AAL-IDU nicht konstant und es gibt einen Bedarf für ein SSCS-Verarbeitungsmodul 6t, um diese Größe von AAL-IDU zu erkennen und sie an das SSCS-Verarbeitungsmodul 6r auf der Empfangsseite zu melden. In vielen Protokollen kann ein Ende (Trennsymbol) von AAL-IDU bei dem SSCS-Verarbeitungsmodul 6t erfasst werden, so dass es möglich ist, für die SSCS-Schicht, diese Größe im Voraus zu erkennen. Folglich ist es erforderlich, eine klare Anzeige für einen Ort innerhalb eines Verschachtelers vorzunehmen, bis zu dem die Daten bei der SSCS-Schicht auf der Sendeseite geschrieben werden derart, dass dies bei der SSCS-Schicht auf der Empfangsseite erkannt werden kann.
  • Nun wird der letztendliche Zustand, der sich ergibt, nachdem AAL-IDU von beliebiger Größe in dem Verschachteler gespeichert worden sind, für beispielhafte oben beschriebene Fälle beschrieben. In den folgenden Beispielen wird angenommen, dass verschiedene Faktoren wie eine maximale Größe des Verschachtelers, eine Größe des FEC-Bereichs, eine Größe und ein Format von SSCS-PDU etc. für jede Verbindung bereits zum Zeitpunkt des Rufeinrichtens verhandelt sind.
  • 8 zeigt ein Beispiel, in dem die vertikale Größe des Verschachtelers 39 Oktetten ist. Dies ist ein Beispiel, in dem 1 Oktette des SSCS-Kopfs/Anhangs (der einen Kopf bzw. Header bereitstellt, wie in einem Teil b der 8 angegeben), und ein CPCS-Anhang in Bezug auf jede Spalte hinzugefügt worden sind. Eine Anzahl von maximalen Spalten in dem Verschachteler ist 128 Oktetten und jede Zeile hat den FEC-Bereich in einer Größe von 4 Oktetten.
  • Dieses Beispiel von 8 gibt einen Fall an, in dem die Anwendungsdaten einer relativ großen Größe gespeichert worden sind, so dass sich die Anwendungsdaten über eine Vielzahl von Verschachtelern (#1 bis #N) erstrecken. Sicherlich können die Anwendungsdaten einer geringen Größe ebenfalls in dem ähnlichen Zustand gespeichert werden wie in 8 gezeigt. Der in einem Teil (a) der 8 gezeigte Verschachteler #1 ist ein Verschachteler, dessen Datenbereich in diesem Beispiel bis zum maximal zulässigen Wert verwendet worden ist, wobei ein Umfang an in der letzten Spalte enthaltenen gültigen Daten in dem LI-Feld angegeben wird, das durch das letzte Oktett der letzten Spalte bereitgestellt wird. Andererseits ist der in einem Teil (a) der 8 gezeigte Verschachteler #N ein Verschachteler, in dessen Datenbereich noch einige unbenutzte Abschnitte verbleiben, d.h., ein Verschachteler, in dem die Anwendungsdaten in einem mittleren seiner Datenbereiche enden, und die letzte Spalte kann wie in 8 gezeigt, die Auffüllung enthalten. In diesem Verschachteler #N wird ein Umfang gültiger Daten, der in der letzten Spalte enthalten ist, in dem LI-Feld angegeben, das durch das letzte Oktett in der letzten Spalte bereitgestellt wird, genau wie beim Verschachteler #1. Wenn eine Summe gültiger Datenlänge in der letzten Spalte und 1 Oktett des LI-Felds geringer als 39 Oktetten sind, wird folglich eine Auffüllung für so viele Oktetten wie notwendig eingefügt, um insgesamt bis zu 39 Oktetten zu erstellen.
  • Als Nächstes zeigt 9 ein Beispiel, in dem die vertikale Größe des Verschachtelers 47 Oktetten ist. In diesem Fall geht die Verarbeitung bei dem sendeseitigen Endgerät 2t gemäß dem Ablaufdiagramm der 10 folgendermaßen vor.
  • Wenn AAL-IDU ankommt (S11 Ja), wird solange Daten vorliegen (S12 Ja) das Schreiben von Daten in den Verschachteler ausgeführt (S13).
  • Wenn ein Verschachteler aufgefüllt ist (S14 Ja), oder wenn die Daten enden (S12 Nein), wird ein PAD bedarfsweise geschrieben und wird LI geschrieben (S15), während der FEC-Redundanzcode berechnet wird und sequentiell in den Verschachteler eingegeben wird (S16).
  • Andererseits werden Daten jeder Spalte sequentiell von dem Verschachteler ausgelesen und der SSCS-Header wird an Daten jeder Spalte angehängt (S17).
  • Dann wird die CPCS-Verarbeitung zum Berechnen von CRC und LI berechnet (S18) und die SAR-Verarbeitung zum Vornehmen von Sequentierung von CPCS-PDU wird ausgeführt (S19). Letztendlich wird ein ATM-Header bzw. -Kopf hinzugefügt (S20) und die resultierende ATM-Zelle wird zu dem ATM-Netz übertragen.
  • Nun zeigt 9 ein Beispiel, in dem ein CPCS-Anhang an jeden der Datenbereiche und den FEC-Bereich des Verschachtelers angehängt ist. Auch, gerade wie in dem oben beschriebenen Beispiel der 8, wird ein SSCS-Header/Anhang von einem Oktett in Bezug auf jede Spalte angehängt (sie in einem Teil (b) der 9 angegeben). Dieses Beispiel der 9 zeigt auch einen Fall, in dem die Anwendungsdaten einer relativ großen Größe gespeichert worden sind, so dass die Anwendungsdaten sich über eine Vielzahl von Verschachtelern (#1 bis #N) erstrecken. Sicherlich können des Anwendungsdaten einer großen Größe auch in dem ähnlichen Zustand, wie in 9 gezeigt, gespeichert werden.
  • Der Verschachteler #1, der in einem Teil (a) der 9 gezeigt ist, ist ein Verschachteler, dessen Datenbereich in diesem Beispiel bis zu einem maximal zulässigen Wert benutzt worden ist, wobei ein in der letzten Spalte enthaltener Umfang an Auffüllung in dem LI-Feld angegeben ist, das durch 1 Oktett von den letzten 9 Oktetten der letzten Spalte bereitgestellt wird, währen die verbleibenden 8 Oktetten für CPCS-Anhang derart reserviert sind, dass es keinen Bedarf gibt, ein zusätzliches Auffüllen zu einer Zeit des Hinzufügens des CPCS-Anhangs mit einer Größe von 8 Oktetten auszuführen. Andererseits ist der in einem Teil (a) der 9 gezeigte Verschachteler #N ein Verschachteler, dessen Datenbereich noch einige unbenutzte Abschnitte verbleibend hat, d.h., ein Verschachteler, in dem die Anwendungsdaten in einer Mitte seines Datenbereichs enden, und die letzten Spalten können die Auffüllung enthalten, wie in 9 gezeigt. In diesem Verschachteler #N wird ein in der letzten Spalte enthaltener Umfang an Auffüllung in dem LI-Feld angezeigt, das durch 1 Oktett unter den letzten 9 Oktetten der letzten Spalte bereitgestellt wird, während die verbleibenden 8 Oktetten für CPCS-Anhang reserviert sind gerade wie bei dem Verschachteler #1. Wenn eine Summe der gültigen Datenlänge in der letzten Spalte, 1 Oktett des LI-Feldes und 8 Oktetten für CPCS-Anhang reserviert, weniger als 47 Oktetten ist, wird folglich die Auffüllung für so viele Oktetten wie erforderlich eingefügt, um bis zu 47 Oktetten insgesamt zu erstellen.
  • Als Nächstes wird die detaillierte Weise für LI-Anzeigen, welches in den Beispielen der 8 und 9 verwendet wird, beschrieben. 11A zeigt ein Beispiel in Entsprechung zu 8, welches einen Fall darlegt, in dem die Anwendungsdaten bei der letzten Zeile einer Spalte in einer Mitte des Datenbereichs enden. In diesem Fall enthält die letzte Spalte keine gültigen Daten, so dass das LI-Feld 0 anzeigt, und Auffüllung für 38 Oktetten eingefügt wird. Andererseits zeigt 11B ein Beispiel in Entsprechung zu 9, welches einen Fall angibt, in dem die Anwendungsdaten bei irgendeinem von dem 38. bis 47. Oktett einer Spalte in dem Datenbereich enden. In diesem Beispiel gibt LI einem Umfang an Auffüllung an. Auf diese Weise wird es möglich, einen Umfang an Anwendungsdaten exakt von der Sendeseite zur Empfangsseite zu melden.
  • Beachte, dass wenn eine Vielzahl von Daten zu derselben Anwendung gehören, es auch möglich ist, eine Vielzahl von AAL-IDUs in einem Verschachteler zu speichern. In diesem Fall kann, nachdem der Begrenzer einer AAL-IDU erfasst worden ist, ein Timer aktiviert werden und eine Ausgabe dieses Verschachtelers kann zurückgestellt werden, bis die nächste AAL-IDU während einer vorbestimmten Zeitdauer ankommt.
  • Das Timer-Einstellen kann auf verschiedene Weisen abhängig davon vorgenommen werden, welcher Latenzlevel durch die Anwendung erforderlich ist. Beispielsweise ist es möglich, für einige Sekunden in einem Fall eines Betriebsablaufs wie der Datenübertragung zu warten, die nur eine moderate angeforderte Bedingung in Bezug auf die Verzögerung hat. Demgegenüber ist es auch möglich, den Timer-Schwellwert auf 0 zu setzen, um die Bandbreite maximal zu nutzen in einem Fall des Betriebs wie der Videobildübertragung.
  • Nachdem die Anwendungsdaten in den Datenbereich geschrieben worden sind, wird vorgezogen, den FEC-Redundanzbereichseintrag so rasch wie möglich zu berechnen, um die Latenz zu unterdrücken.
  • Wie in 12 gezeigt, wird in dieser Ausführungsform das Lesen von dem Verschachteler in derselben Richtung in derselben Reihenfolge ausgeführt wie das Schreiben in den Verschachteler. Hier wird das Lesen nach dem Schreiben eines Symbols unmittelbar ausgeführt. Durch Ausführen des Schreibens und Lesens abwechselnd oder parallel ist es möglich, einen konventionell wahrgenommenen Flaschenhals zu beseitigen in Bezug auf die Tatsache, dass das Lesen nicht ausgeführt werden kann, bis das Schreiben beendet ist, so dass eine für gegebene Daten erforderliche Zeit von einer oberen Schicht der SSCS-Schicht zu einer unteren Schicht der SSCS-Schicht spürbar reduziert werden kann. Nach dem Lesen der Daten werden die Daten sequentiell zu dem SSCS-Kopf/Anhang-Hinzufügemodul 12t gegeben.
  • Auf diese Weise wird die durch den Verschachteler verursachte Verzögerung ignorierbar und eine Rate sehr nahe bei einem Fall von keiner SSCS-Schicht kann erhalten werden. In der konventionellen Verschachtelung wird das Schreiben in einer horizontalen Richtung ausgeführt während das Lesen in einer Vertikalrichtung ausgeführt wird, so dass das Lesen nur ausgeführt werden kann, nachdem alle Daten in einen Datenbereich geschrieben worden sind (und die Auffüllung eingefügt worden ist, wenn der Datenbereich nicht voll ist). Demgegenüber ist in dieser Ausführungsform die Richtung des Lesens von Daten, die zu der unteren Schicht zu geben sind, identisch mit der Richtung des Schreibens von Daten und das Schreiben und Lesen werden weitgehend gleichzeitig ausgeführt, sofern der Datenbereich betroffen ist, so dass es keinen Bedarf zum Verzögern der Ausgabe von Daten gibt, bis das Schreiben den gesamten Datenbereich abgeschlossen hat, und folglich kann die Verzögerung spürbar klein sein. Es ist auch zu bemerken, dass in dem Verschachteler-Verarbeitungsmodul 8t zum Ausführen der oben beschriebenen Serie der Verarbeitungen der Verschachteler nicht notwendigerweise physikalisch bereitgestellt werden muss. In der obigen Beschreibung ist nämlich angenommen worden, dass der Verschachteler physikalisch in Form eines Speichers bereitgestellt wird und dieser Speicher kann eine Hardware-Speichereinrichtung sein oder ein dynamisch innerhalb eines Computers sichergestellter Speicher. Zudem ist in der obigen Beschreibung angenommen worden, dass dieser Speicher ein Ziel zum Schreiben und Lesen ist, in welchem Daten einmal gespeichert werden können.
  • Jedoch ist es auch möglich, die oben beschriebene Verarbeitung logisch auszuführen in Bezug auf Datenfolgen, die von der oberen Schicht bei dem Verschachteler-Verarbeitungsmodul 8t empfangen werden, ohne einen solchen physikalisch bereitgestellten Speicher zu verwenden. In diesem Fall gibt es keine Speicherbasis zum Schreiben von Daten, so dass von der oberen Schicht empfangene Daten ohne irgendwo einmal geschrieben oder gespeichert worden zu sein, zu der unteren Schicht weitergegeben werden. Diese Daten müssen beim berechnet des Fehlerkorrekturcodes verwendet werden, jedoch derart, dass der Fehlerkorrekturcode, da ein Bitfolgeneintrag für den FEC-Redundanzbereich sequentiell zu einer Zeit des Gebens von Daten von der oberen Schicht zur unteren Schicht berechnet wird.
  • Für ein Zwischenrechenergebnis ist es erforderlich, dass der Fehlerkorrekturcode irgendwo gespeichert wird und jedes Mal aktualisiert wird, wenn Daten von der oberen Schicht zu den unteren Daten gegeben werden. Auch wird der SSCS-Kopf/Anhang sequentiell in einen geeigneten Ort eingegeben jedes Mal, wenn Daten von der oberen Schicht zu der unteren Schicht weitergegeben werden. Wenn die tatsächlichen zu übertragenden Daten enden, wird die Berechnung des FEC-Redundanzbereichseintrags ebenfalls vervollständigt auf dieselbe Weise, wie oben beschrieben, so dass die Bitfolge des Fehlerkorrekturcodes auch an die untere Schicht nachfolgend an die Datenfolge gegeben werden kann.
  • Der FEC-Redundanzbereichseintrag kann aus den aktuellen Daten sequentiell berechnet werden, so dass es keinen Bedarf gibt, die aktuellen Daten selbst auf SSCS-Ebene aufzubewahren, und es ausreichend ist, nur das Zwischenberechnungsergebnis aufzubewahren. In diesem Fall gibt es kein aktuelles Schreiben/Lesen der Sendedaten in einem Speicher, so dass die Verzögerungszeit, die durch das Datenschreiben/Lesen erfordert wird, vollständig eliminiert werden kann.
  • Es ist zu bemerken, dass in der folgenden Beschreibung Fälle unter Verwendung physikalisch vorgesehener Verschachteler oder Speicher hauptsächlich beschrieben werden, weil die Beschreibung leichter und verständlicher wird in Hinblick auf physikalisch bereitgestellte Verschachteler oder Speicher, aber die gesamte folgende Beschreibung in gleicher Weise anwendbar ist auf einen Fall der logischen Realisierung wie hier beschrieben.
  • (C) Verarbeitung bei dem FEC-Hinzufügemodul 10t
  • Bei dem FEC-Hinzufügemodul 10t wird der FEC-Redundanzbereichseintrag für jede Zeile der in den Datenbereich geschriebenen Daten berechnet und in eine entsprechende Zeile des FEC-Redundanzbereichs eingegeben, wie in 13A und 13B angezeigt. FEC-Redundanzbereichseintrag für die n-te Zeile ist ein Rechenergebnis, das erhalten wird aus m Symbolen, die in der n-ten Zeile und der ersten Spalte, der n-ten Zeile und der zweiten Spalte, der n-ten Zeile und der n-ten Spalte geschrieben sind.
  • In einem Fall des Verschachtelers ohne irgendwelche Auffüllung wird der FEC-Redundanzbereichseintrag, wie in 13A gezeigt berechnet, wohingegen in einem Fall des Verschachtelers mit Daten, die in der Mitte enden, der FEC-Redundanzbereichseintrag berechnet wird, wie in 13B gezeigt durch Entfernen des unbenutzten Bereichs. Im letzteren Fall der 13B kann der FEC-Redundanzbereichseintrag für die n-te Zeile aus vier Symbolen berechnet werden, die in der n-ten Zeile und der ersten Spalte bis der n-ten Zeile und der vierten Spalte geschrieben sind, genau wie in einem Fall, in dem der nicht benutzte Bereich nicht vorhanden wäre.
  • 14A und 14B zeigen Beispiele, in denen eine Zeile eine CPCS-SDU wird. Wenn das Schreiben von Daten (AAL-IDU) beendet ist, füllt der Verschachteler den verbleibenden Abschnitt der letzten Spalte mit Füllung (PAD) auf (welche durch ein Symbol mit nur "0" oder nur "1" Bits geliefert wird) und auch eine in der letzten Spalte enthaltene gültige Datenlänge wird in den letzten Symbolabschnitt der letzten Spalte eingeschrieben. Wenn die Daten bis zu einem Ende einer gewissen Spalte aufgefüllt sind, wird die Längenangabe durch Verwenden der nächsten Spalte vorgenommen, wie in 13B gezeigt. Kurz gesagt, alle Spalten vor der Spalte, die die Längenangabe an ihrem Ende enthält, werden mit Daten aufgefüllt.
  • Das Auffüllen wird nicht vorgenommen für den Rest von Spalten, in die keine Daten geschrieben sind. Das Ende des Datenbereichs kann auf der Empfängerseite erkannt werden mit Hilfe von SSCS-Kopf/Anhang, die beim nächsten Schritt hinzugefügt sind, so dass es nicht erforderlich ist, eine zusätzliche Auffüllung (PAD) einzufügen bis zur maximalen Größe des Verschachtelers. Darüber hinaus wird dieser Abschnitt ohne irgendwelche Daten nicht als Zellen übertragen. Auf diese Weise kann der in der CBR-Übertragung verwendete Verschachteler leicht an die Datenübertragung angepasst werden.
  • Zu einer Zeit des Berechnens des FEC-Redundanzbereicheintrags, welchen jene Spalten des Datenbereichs, in die weder Daten noch Dummy-Daten eingeschrieben worden sind, keine Parameter für die FEC-Redundanzcodeberechnung liefern, so dass der Rechenumfang reduziert werden kann. Demgegenüber muss in einer konventionellen Weise, in der "0"-en oder "1"-en zum Auffüllen als Dummy-Daten vollständig eingefügt werden und diese Dummy-Daten zu verwenden sind für die FEC-Redundanzcodeberechnung, dieselbe Berechnung wie für Daten enthaltende Spalte auch im Hinblick auf diese Dummy-Daten ausgeführt werden, so dass so viel Rechenzeit wie im Fall, in dem der Datenbereich vollständig mit gültigen Daten aufgefüllt ist, immer erforderlich wäre. Wenn demnach keine Auffüllung in den verbleibenden Datenbereich eingefügt wird und dieser verbleibende Datenbereich aus einem Ziel der FEC- Redundanzcodeberechnung entfernt wird, kann der erforderliche Rechenaufwand reduziert werden, so dass der FEC-Redundanzcode leichter und in einer kürzeren Zeit berechnet werden kann und die Protokollverarbeitung bei höherer Geschwindigkeit ausgeführt werden kann.
  • 14A und 14B zeigen Zustände des Schreibens von Daten von einer oberen rechten Ecke einer virtuell bereitgestellten Verschachtelungsmatrix vom Gesichtspunkt des Datenschreibens her, aber von einem Gesichtspunkt der FEC-Redundanzcodeberechnung sind sie eigentlich äquivalent zu einem Zustand, der in 15 angezeigt wird, in welchem Auffüllung als Dummy-Daten auf einer linken Seite der Verschachtelungsmatrix eingefügt ist (d.h., einem oberen Teil des Datenabschnitts, der für die FEC-Redundanzcodeberechnung verwendet wird) und tatsächliche Daten auf einer rechten Seite des Datenbereichs angeordnet sind. In dem tatsächlichen Datenbereich sind jene Daten mit kleinerer zugeordneter Zahl (die von der oberen Schicht eher ankommen) näher auf der linken Seite angeordnet. Mit anderen Worten, vom Gesichtspunkt der Codewörter, bezüglich derer die FEC-Redundanzcodeberechnung ausgeführt wird, erscheint es, als ob der tatsächliche Datenbereich bei einem unteren Teil des Datenabschnitts in dem FEC-Redundanzabschnitt vorliegt, wie in 16A gezeigt.
  • Alternativ ist es auch möglich, ein Schema zu verwenden, in dem Dummy-Daten in jene Spalten ohne Daten eingefügt werden und in der FEC-Redundanzcodeberechnung verwendet werden, aber jene Dummy-Daten nicht als Dummy-Zellen ausgegeben werden, wie in 17 angegeben. In diesem Fall ist es auch möglich, einen Umfang der zu dem Netz auszugebenden Daten zu minimieren genau wie in dem Fall der 14A oder 14B.
  • Daneben ist es auch möglich, Symbole innerhalb jeder Spalte des Datenbereichs des Verschachtelers zufällig anzuordnen, wie in einem Teil (a) der 6 oben beschrieben, oder die Reihenfolge der Spalten in dem Datenbereich frei einzurichten, wie in einem Teil (b) der 6 gezeigt. In diesem Fällen ist es auch möglich, den Umfang der zu dem Netz auszugebenden Daten zu minimieren durch Nichtausgeben von Dummy-Datenspalten ohne irgendwelche Daten, gerade wie in einem Fall der 14A, 14B oder 17.
  • Es sollte ersichtlich sein, dass in jenen Beispielen die Art des Eingebens von Daten in die Verschachtelungsmatrix im Voraus zwischen der Sendeseite und der Empfangsseite verhandelt werden muss, bevor die Kommunikation stattfindet.
  • Fälle der 17 und 6 unterscheiden sich von einem Fall der 14 dahingehend, dass die Verschachtelungsmatrixstruktur, die vom Gesichtspunkt der FEC-Redundanzcodeberechnung betrachtet wird, identisch ist mit jener, die in 17 und 6 gezeigt ist. In einem Fall der 17 umfasst nämlich jedes Codewort einen tatsächlichen Datenabschnitt eines oberen Teils, einen Dummy-Abschnitt mit Dummy-Daten (durch den Symbolwert "0" wiedergegeben) rechts von dem tatsächlichen Datenabschnitt und einen FEC-Redundanzabschnitt rechts von dem Dummy-Abschnitt, wie in 16B angezeigt. Auch umfasst in einem Fall eines Teils (b) der 6, in dem tatsächliche Datenspalten beliebig anzuordnen sind, jedes Codewort einen Datenabschnitt, in dem tatsächliche Datenabschnitte und Dummy-Abschnitte vermischt vorliegen und ein FEC-Redundanzabschnitt rechts von dem Datenabschnitt, wie in 16C angegeben.
  • In allen Fällen der 17, 14A und 14B und 6 werden die tatsächlichen Datenabschnitte als Zellen gesendet, aber die Dummy-Abschnitte werden nicht ausgegeben. Auf der Empfangsseite wird ein Decodieren ausgeführt durch Betrachten, dass "0"-en als Dummy-Abschnitte gesendet wurden.
  • Die Art des Erzeugens des FEC-Redundanzbereichseintrags für Fälle der 14A und 14B und 17 wird später detaillierter beschrieben. In dem folgenden Protokollverarbeitungsablauf wird angenommen, dass eine Art es Schreibens in die Verschachtelungsmatrix, wie in 14A und 14B gezeigt, als ein repräsentatives Beispiel eingefügt wird.
  • Zu einem Zeitpunkt eines Startens der Berechnung des FEC-Redundanzbereichseintrags werden die meisten der einmal in den Datenbereich geschriebenen Daten bereits zu dem SSCS-Kopf/Anhang-Hinzufügemodul 12t gegeben zum Zwecke des Hinzufügens des SSCS-Kopf/Anhangs, wie in 12 angezeigt. Dann, wie in 8 und 9 gezeigt, werden die Rechenergebnisse, die in den FEC-Redundanzbereich geschrieben werden, auch sequentiell in der vertikalen Richtung Spalte für Spalte ausgelesen gerade wie die Daten des Datenbereichs, sobald die Berechnung beendet ist, und sequentiell zu dem SSCS-Kopf/Anhangs-Hinzufügemodul 12t gegeben. Eine für die Berechnung des FEC-Redundanzbereichseintrags erforderliche Zeit ist als geringer bekannt als eine Zeit, die erforderlich ist, um auf das Schreiben von Daten in der horizontalen Richtung im Allgemeinen zu warten.
  • (D) Verarbeitung bei dem SSCS-Kopf/Anhang-Hinzufügemodul 12t
  • Bei dem SSCS-Kopf/Anhang-Hinzufügemodul 12t wird ein SSCS-Kopf/Anhang zu den in der Einheit von Spalten von dem Verschachtelermodul 8t ausgelesenen Daten hinzugefügt und dann werden die Daten mit dem SSCS-Kopf/Anhang sequentiell zu dem CPCS-Verarbeitungsmodul 14t gegeben. Hier kann der SSCS-Kopf/Anhang in Spalteneinheiten des Verschachtelers hinzugefügt werden, wie in 18A angegeben, oder in Einheit einer vorbeschriebenen Zahl von Spalten wie zwei Spalten, wie in 18B angegeben. Im letzteren Fall wird eine SSCS-PDU durch Hinzufügen eines SSCS-Kopfs/Anhangs an mehrere Spalten des Verschachtelers gebildet. In diesem Fall sollte eine Anzahl von zu gruppierenden Spalten eine Korrekturkapazität von dem FEC nicht übersteigen. In der FEC-Typ-Fehlerkorrektur gibt es nämlich eine Grenze zu einer Anzahl von Symbolen (einer Zahl von Spalten des Verschachtelers), die korrigiert werden können abhängig von dem Umfang an Überhang (Redundanzbereich) des hinzugefügten Fehlerkorrekturcodes. Beispielsweise in einem Fall, in dem der FEC-Redundanzbereich eine Größe von vier Spalten in dem Verschachteler hat, wie in 9 oben beschrieben, können bis zu vier Spalten von Verlust und Fehler korrigiert werden in Bezug auf die Daten und den FEC-Redundanzbereich als Ganzes.
  • Der anzubringende SSCS-Kopf/Anhang muss hier eine Information enthalten zum sicheren Identifizieren eines Orts (einer Spalte) im Verschachteler, an dem die Datenfolge, zu der dieser SSCS-Header/Anhang hinzugefügt worden ist, angeordnet war.
  • Als ein repräsentativer Fehlerkorrekturcode zum Ausführen des FEC ist der Read-Solomon-Code bekannt, und als eine Voraussetzung zum Ermöglichen einer Leitstellenkorrektur unter Verwendung dieses Read-Solomon-Codes gibt es eine Bedingung, die erfordert, einen Ort eines Fehlers identifiziert zu haben. Wenn ein Ort eines Fehlers nicht identifiziert worden ist, würde es einen spürbaren Umfang an Berechnungen erfordern zum Zwecke des Identifizierens eines Orts eines Fehlers, und eine Korrekturkapazität würde auf nahezu die Hälfte reduziert werden verglichen mit einem Fall, in dem ein Ort eines Fehlers identifiziert ist. Um einen Ort eines Fehlers zu identifizieren (welcher einem Ort entspricht innerhalb des Verschachtelers einer Daten mit einem Fehler enthaltenden Zellen in dieser Ausführungsform), gibt es einen Bedarf zum Hinzufügen irgendeiner Art von Identifizierer für jede Zelle zu einem Zeitpunkt des Sendens. Diesbezüglich wird ein Schema zum Hinzufügen von SN in Zelleneinheit als diese Identifizierer als höchst wirksam betrachtet. Zudem ist es erforderlich, einen gewissen Pegel an Zuverlässigkeit für SN selbst bereitzustellen.
  • Es ist möglich für den SSCS-Kopf/Anhang, verschiedene Felder zu haben wir jene, die beispielsweise in 19 angegeben werden. 19 zeigt einen SSCS-Kopf mit einer Länge von einem Oktett.
  • Im Obigen wurde betont, dass es für eine beispielhafte horizontale Größe des Verschachtelers vorzuziehen ist, die Datenlänge in 4 Oktetteneinheiten auszurichten, mit denen die CPU in einem Fall der Software-Verarbeitung unter Verwendung der CPU Zugriffe ausführt, und dies kann auch hier wahr sein, so dass die Kopf/Anhangslänge gleich 4 Oktetten festgelegt werden kann.
  • Nun wird ein Beispiel des in 19 gezeigten SSCS-Headers detailliert beschrieben.
  • Ein Feld (a) ist ein Synchronisationsbit zum Anzeigen eines SSCS-Headers/Anhangs oben auf dem Verschachteler, d.h., eine Grenze eines entsprechenden Satzes von dem Datenbereich und dem FEC-Redundanzbereich. Beispielsweise zeigt dieses Synchronisationsbit einen Wert "1" an, wenn es oben ist oder anderenfalls einen Wert "0".
  • Ein Feld (b) ist eine Abfolgenummer zum Angeben einer Reihenfolge innerhalb des Verschachtelers. Beispielsweise kann ein bedingt durch Zellenverlust übersprungener Ort mit Hilfe dieser Abfolgezahl erfasst werden.
  • Ein Feld (c) ist ein SNP-Bit (Abfolgezahl-Schutzbit), d.h., ein Paritätsbit für den Schutz der Abfolgezahl, durch welches ein Fehler der Abfolgezahl erfasst werden kann.
  • Ein Feld (d) ist ein D/F-Bit bzw. Daten/Flag-Bit zum Angeben, ob ein Inhalt der Nutzlast Daten oder FEC-Redundanzcode ist. ein Feld (e) ist ein B/E-Bit bzw. Beginn/Ende-Bit zum Angeben eines Beginns oder eines Endes des Datenbereichs und eines Beginns oder eines Endes des FEC-Redundanzbereichs. Beispielsweise gibt dieses B/E-Bit einen Wert "1" in dem SSCS-Kopf/Anhang an, der sich an den Enden des Datenbereichs und des FEC-Redundanzbereichs innerhalb des Verschachtelers befindet, oder andernfalls einen Wert "0".
  • Der Datenbereich und der FEC-Redundanzbereich werden sequentiell von dem Verschachteler ausgelesen und zu dem SSCS-Kopf/Anhang-Hinzufügemodul 12t gegeben. Das Hinzufügen des SSCS-Kopfs/Anhangs wird durch Einfügen des oben beschriebenen Kopfs/Anhangs in einem konstanten Intervall in Bezug auf jene Datenfolgen realisiert. Hier kann ein konstantes Intervall eine Länge von einer Spalte in dem Verschachteler sein oder eine Länge von einer Vielzahl von Spalten in dem Verschachteler.
  • 20 zeigt ein Beispiel eines SSCS-Kopfs/Anhangs für einen gesamten Verschachteler, wobei Werte, die in 20 angegeben sind, ein Beispiel eines korrekten SSCS-Kopfs/Anhangs repräsentieren, der keine Fehler enthält.
  • Das Synchronisationsbit gibt eine SSCS-PDU oben auf dem Verschachteler angeordnet an und die Abfolgezahlen werden in einem durch 4 Bit definierten Zyklus gegeben. In diesem Beispiel der 20 beginnt die Abfolgezahl von "0", die dem ersten SSCS-Kopf/Anhang verliehen wird und in den Datenbereich geschrieben wird, und nimmt zu mit Modulo 16. Die Abfolgezahlen für den letzten SSCS-Kopf/Anhang in dem Datenbereich und dem ersten SSCS-Kopf/Anhang in dem FEC-Redundanzbereich folgen aufeinander. Alternativ ist es auch möglich, die Abfolgezahl bei dem ersten SSCS-Kopf/Anhang in dem FEC-Redundanzbereich zu löschen, um die Abfolgezahl in dem FEC-Redundanzbereich erneut von "0" zu starten. Beachte jedoch, dass ein Schema zum Verleihen der Abfolgezahlen aufeinanderfolgend ohne in Rücksetzen in der Mitte, wie in 20 gezeigt, einen Vorteil hat dahingehend, dass es leichter ist, ein Erfassen eines Zellenverlustes durchzuführen, selbst wenn ein Zellenverlust an einer Grenze des Datenbereichs und des FEC-Redundanzbereichs auftritt. Auch ist es in einem Fall, in dem eine Größe eines AAL-IDU so groß ist, dass es über eine Vielzahl von Verschachtelern gespeichert wird, möglich, ein Schema zu übernehmen zum Hinzufügen der aufeinanderfolgenden Abfolgezahlen unter aufeinanderfolgenden Verschachtelern, oder ein Schema für ein Rücksetzen einer Abfolgezahl auf "0" bei einem oberen SSCS-Kopf/Anhang für jeden Datenbereich. Im letzteren Schema ist es, selbst wenn eine Anzahl von Spalten im Datenbereich nicht festgelegt ist, möglich, korrekt die Grenze zwischen dem Datenbereich und dem FEC-Redundanzbereich zu erkennen, die abwechselnd gesendet werden, in Übereinstimmung mit den Angaben der anderen Felder (wie z.B. D/F-Bit und D/E-Bit) in dem SSCS-Kopf/Anhang, und auch aus der Tatsache, dass eine Größe des FEC-Redundanzbereichs im Voraus Ende-zu-Ende verhandelt wird.
  • Das SNP gibt eine geradzahlige Parität an, die für 4 Bit der Abfolgezahl berechnet ist. Es ist auch möglich, eine ungerade Parität zu verwenden, wenn gewünscht.
  • In dieser Ausführungsform gibt das D/F-Bit mit einem Wert "1" an, dass es der Datenbereich ist, und das D/F-Bit mit einem Wert "0" gibt an, dass es der FEC-Redundanzbereich ist. Andererseits markiert das B/E-Bit das letzte PDU unter den SSCS-PDUs in dem Datenbereich und das letzte PDU unter den SSCS-PDUs in dem FEC-Redundanzbereich durch einen Wert "1", der ENDE repräsentiert.
  • In den in 20 gezeigten SSCS-Köpfen/Anhängen wird ein Kopf/Anhang mit B/E-Feld = "1" und D/F-Feld = Daten an den SSCS-SDU angehängt, der das LI-Feld enthält, das zum Angeben einer Länge gültiger Daten verwendet wird, die in der letzten Spalte des Datenbereichs im Verschachteler enthalten sind.
  • (E) Das Verarbeiten bei dem CPCS-Verarbeitungsmodul 14t
  • Bei dem CPCS-Verarbeitungsmodul 14t wird die gewöhnliche AALS Verarbeitung auf die Daten angewendet, die sequentiell von dem SSCS-Verarbeitungsmodul 6t geliefert werden, und ein LI und ein CPCS-Anhang werden hinzugefügt. Als eine Einheit zum Bilden des CPCS-SDU können zwei in 8 und 9 gezeigte Beispiele überlegt werden. In 8 ist eine Einheit zum Bilden von CPCS-SDU ein Satz von SSCS-Kopf/Anhang und einer entsprechenden Nutzlast. In 9 gibt es zwei Einheiten zum Bilden von CPCS-SDU, die einen Datenbereich in dem Verschachteler einschließen und den FEC-Redundanzbereich in dem Verschachteler.
  • In einem Fall der 8 wird ein Schema zum Hinzufügen eines SSCS-Kopfs/Anhangs zu jeder Spalte des Verschachtelers angewendet, und ein CPCS-Anhang von AAL5 wird an jede Spalte angehängt. In diesem Schema wird CRC von AAL5 auf eine Spalte des Verschachteler angewendet, so dass wenn ein Fehler auf der Empfangsseite entdeckt wird, ein Vorhandensein eines Fehlers in einer speziellen Spalte des Verschachtelers erkannt werden kann. Darüber hinaus wird es, selbst wenn ein Zellenverlust auftritt, möglich gemacht, zu erkennen, welche Verschachtelerspalte nicht die Empfängerseite erreicht hat in Übereinstimmung mit einem Überspringen in der Abfolgezahl in dem SSCS-Kopf/Anhang. Auf diese Weise kann ein Ort eines Zellenverlustes oder eines Bitfehlers exakt spezifiziert werden.
  • Als eine Variation eines Falls, der in 8 gezeigt ist, gibt es auch ein Schema zum Hinzufügen eines SSCS-Kopf/Anhangs an jede vorbeschriebene Zahl von Spalten. In 8 ist der Verschachteler entworfen, um eine Summe vorzunehmen von einem Überhang der SSCS-Schicht, eine Spalte der Verschachtelerdaten und ein CPCS-Anhang werden beispielsweise 48 Oktetten, um ein Maß bereitzustellen zum Verhindern eines zusätzlichen Auffüllens in jeder Schicht. In der oben erwähnten Variation ist es auch vorzuziehen, das ähnliche Maß für die vertikale Länge des Verschachtelers vom Gesichtspunkt der Packungseffizienz bereitzustellen durch Festlegen einer Summe von SSCS-PDU-Länge und einer CPCS-Anhanglänge gleich einem ganzzahligen Vielfachen von 48 Oktetten, oder auf einen Wert zum Minimieren eines Umfangs von Auffüllen bei der CPCS-Schicht, selbst wenn ein Einstellen auf ein ganzzahliges Vielfaches von 48 Oktetten im Hinblick auf einen Betrieb in einem Endgerät unmöglich ist, das eine Kommunikation ausführt.
  • In einem Fall der 9 wird ein Schema zum Hinzufügen von nur zwei AAL5-Anhängen in Bezug auf eine Verschachteler verwendet. Hier schließen zwei AAL5-Anhänge einen CPCS-Anhang ein, der in Bezug auf den gesamten Datenbereich hinzugefügt wird, und einen anderen CPCS-Anhang, der in Bezug auf den gesamten FEC-Redundanzbereich hinzugefügt wird. Für den ersten wird ein 8 Oktettenteil des Datenbereichs durch das Verschachtelermodul 8t im Voraus unbenutzt gelassen, um einen Umfang des Auffüllens zu minimieren, so dass, wenn der CPCS-Anhang an die von der SSCS-Schicht gegebenen Daten angefügt wird, sich exakt ein ganzzahliges Vielfaches von 48 Oktetten ergibt, und es unnötig wird, irgendein Auffüllen zu einem Zeitpunkt der SAR-Verarbeitung vorzunehmen. Andererseits ist es zu einem Zeitpunkt des Hinzufügens des CPCS-Anhangs in Bezug auf den FEC-Redundanzbereich unmöglich, einen unverwendeten Abschnitt im Voraus beim Verschachtelermodul 8t sicherzustellen, so dass wenn eine Länge von einer Spalte des Verschachtelers gleich 47 Oktetten gesetzt wird, wie in 9 gezeigt, das Auffüllen von 40 Oktetten erforderlich ist. Jedoch, verglichen mit einem Fall der 8, ist es möglich, einen Überhang so sehr zu reduzieren wie eine Anzahl von AAL5-Ahängen geringer ist, und die Packungseffizienz kann demgemäss erhöht werden. Andererseits, wenn gewünscht wird, einen Umfang des Auffüllens zu reduzieren, ist es auch möglich, eine Länge des Verschachtelers in 9 auf eine solche Länge zu ändern, für die eine Summe der Längen eines den FEC-Redundanzbereich enthaltenden SSCS-PDU und eines durch 48 Oktetten geteilten CPCS-Anhangs einen Rest erzielt gleich Null oder einen Wert, der ausreichend nahe bei 48 Oktetten liegt. Fernere Details dieses Falls werden später im Zusammenhang mit dem SSCS-Kopf/Anhangsprüfmodul 12r auf der Empfangsseite beschrieben.
  • (F) Verarbeitung bei dem SAR-Verarbeitungsmodul 20t
  • Bei dem SAR-Verarbeitungsmodul 20t wird eine Segmentierungsverarbeitung auf die Daten (CPCS-PDU) angewendet, die von dem CPCS-Verarbeitungsmodul 14t erhalten werden. Jedoch, wenn eine Summe einer vertikalen Größe des Verschachtelers, einer Größe eines SSCS-Kopfs/Anhang s und einer Größe eines CPCS-Anhangs 48 Oktetten ist, wird die Segmentierung hier nicht ausgeführt. Andererseits wird die Segmentierung ausgeführt, wenn die CPCS-PDU in einer Form vorliegt, die in einem Teil (b) der 9 gezeigt wird, in welchem ein CPCS-Anhang sowohl an den Datenbereich als auch an den FEC-Redundanzbereich angehängt wird.
  • Die in 48 Oktetten segmentierten SAR-PDU werden dann zu dem ATM-Kopf-Hinzufügemodul 22t gegeben. An dieser Stelle, wenn das SAR-PDU, das zu dem ATM-Kopf-Hinzufügemodul 22t gegeben wird, Daten enthält in Entsprechung zu dem letzten Abschnitt des CPCS-PDU, wird diese Tatsache dem ATM-Kopf-Hinzufügemodul 22t gemeldet.
  • (G) Verarbeitung bei dem ATM-Kopf-Hinzufügemodul 22t
  • Bei dem ATM-Kopf-Hinzufügemodul 22t wird ein zu einem Zeitpunkt des Rufeinrichtens bestimmter ATM-Kopf an die von dem SAR-Verarbeitungsmodul 20t gelieferten Daten angehängt und die in ATM-Zellen durch die Verarbeitung bei der physikalischen Schicht zusammengestellten Daten werden in dem ATM-Netz 1 ausgegeben. Zu dem Zeitpunkt des Datenempfangs (SAR-PDU) von dem SAR-Verarbeitungsmodul 20t wird, wenn die Tatsache, dass dies der letzte Abschnitt des CPCS-PDU ist, gemeldet wird, ein Bit zum Angeben dieser Tatsache in einem UUI-Feld der Nutzlast des ATM-Zellenkopfs errichtet.
  • Als Nächstes werden die Verarbeitungen bei dem empfangsseitigen Endgerät 2r in einer aufsteigenden Reihenfolge der Schichten, d.h. in einer Reihenfolge, in der die Verarbeitungsmodule tatsächlich betrieben werden, beschrieben.
  • (H) Verarbeitungen bei dem ATM-Kopf-Löschmodul 22r
  • Bei dem ATM-Kopf-Löschmodul 22r werden, nachdem die Verarbeitung der physikalischen Schicht in Bezug auf den von dem ATM-Netz 1 empfangenen Zellenstrom ausgeführt worden ist, Zellen mit ATM-Zellenköpfen, die zu einem Zeitpunkt des Rufeinrichtens bestimmt worden sind, ausgefiltert und empfangen während andere Zellen ignoriert werden. Dann werden ATM-Zellenköpfe von dem empfangenen Zellen gelöscht und die resultierenden Daten werden zu dem SAR-Verarbeitungsmodul 20r gegeben. Wenn ein die Tatsache angebendes Bit, dass dies der letzte Abschnitt der CPS-PDU ist, in dem UUI-Feld der Nutzlast des ATM-Zellenkopfs errichtet worden war, wird diese Tatsache dem SAR-Verarbeitungsmodul 20r gemeldet.
  • Wenn eine ein Bit, das angibt, dass dies die Zelle ist, die den letzten Abschnitt des CPCS-PDU bildet, verworfen worden ist, wird die Zelle, die vor dieser verworfenen Zelle empfangen worden ist, an die obere Schicht als Zelle gegeben, die zu derselben CPCS-PDU gehört wie die nächst ankommende CPCS-PDU, wie in 21 angegeben. Jedoch kann dieser Fehler durch Prüfen des CPCS-Anhangs erfasst werden. Zusätzlich wird es durch das Vorhandensein dieser CPCS-PDU, die einen zu dem SSCS-Verarbeitungsmodul 6t gesendeten Fehler enthält, möglich, diesen Fehler mit Hilfe von FEC zu korrigieren.
  • (I) Verarbeitungen bei dem SAR-Verarbeitungsmodul 20r
  • Bei dem SAR-Verarbeitungsmodul 20r wird die Daten-Neuzusammenstellungs-Verarbeitung auf die Daten (SAR-PDU) angewendet, die von dem ATM-Kopf-Löschmodul 22r geliefert werden, in Bezug auf eine Angabe, dass es der letzte Abschnitt der CPCS-PDU ist. Nach der Daten-Neuzusammenstellungs-Verarbeitung wird die erhaltene CPCS-PDU zu dem CPCS-Verarbeitungsmodul 14r gegeben.
  • (J) Verarbeitungen bei dem CPCS-Verarbeitungsmodul 14r
  • Bei dem CPCS-Verarbeitungsmodul 14r werden sequentiell die die CRC-Berechnungen und die Längenangabenprüfung einschließenden AAL5-Verarbeitungen in Bezug auf die von dem SAR-Verarbeitungsmodul 20r empfangenen CPCS-PDU ausgeführt.
  • Hier wird dem SSCS-Verarbeitungsmodul 6r gemeldet, ob irgendein Fehler in einem von der CRC-Berechnung und dem Längenangabenweg erfasst worden ist oder nicht. In diesem Fall ist es nicht absolut notwendig, was von der CRC-Berechnung und dem Längenangabenwert diesen Fehler enthält.
  • (K) Verarbeitungen bei dem SSCS-Kopf/Anhangs-Prüfmodul 12r
  • Bei dem SSCS-Kopf/Anhangs-Prüfmodul 12r wird der Kopf/Anhang entfernt während hauptsächlich geprüft wird, ob es irgendeine Überspringung im SN gibt und auch das Empfangen einer Meldung in einem Fall, dass ein Fehler in dem CPCS-Anhang erfasst worden ist.
  • In einem Fall, in dem die Tatsache, dass ein Fehler in dem CPCS-Anhang erfasst worden ist, gemeldet wird, gibt es eine hohe Wahrscheinlichkeit für irgendeine SSCS-PDU, die in diesen CPCS-PDU enthalten ist, verworfen zu werden, so dass es erforderlich ist, einen Ort eines Zellenverlustes durch Prüfen von SN zu identifizieren.
  • Als ein Fehler in dem SSCS-Kopf/Anhang (einschließlich eines Bitfehlers) können eine Vielzahl von Fällen überlegt werden. Hier werden Arten beschrieben, wie Fehler in dem beispielhaften Kopf/Anhang mit Feldern wie in 19 gezeigt zu handhaben sind.
  • Das Synchronisationsbit in dem Feld (a) ist ein Bit, das einen Anfang des Verschachtelers angibt. Wenn eine SSCS-PDU Daten am Anfang des Verschachtelers enthält, wird dieses Bit errichtet, um einen Wert von "1" anzunehmen, wohingegen andernfalls dieses Bit auf einen Wert von "0" eingestellt ist. Wenn es einen Fehler gibt, der dieses Synchronisationsbit invertiert, kann die Tatsache, dass ein neuer Verschachteler von diesem SSCS-PDU beginnt, gegebenenfalls nicht erkannt werden. Jedoch ist es noch möglich, einen Anfang des Verschachtelers zu erkennen, selbst wenn das Synchronisationsbit invertiert ist, in Übereinstimmung mit der Angabe des D/F-Bit in dem Feld (d) der unmittelbar vorangehenden SSCS-PDU, welches angibt, dass es der FEC-Redundanzbereich ist, und der Angabe des B/E-Bits in dem Feld (e) des unmittelbar vorangehenden SSCS-PDU, welches angibt, dass es das Ende dieses Bereichs ist.
  • Wenn ein Bitfehler in der Abfolgenummer in dem Feld (b) auftritt, kann dieser Fehler unter Verwendung von SNP (wie z.B. einer geraden Parität) im nachfolgenden Feld (c) erkannt werden. Wenn die unmittelbar vorangehende und die folgende Abfolgenummer als korrekt bestimmt werden können, ist es möglich, den Nutzlastabschnitt des SSCS-PDU in einen entsprechenden Ort im Verschachteler zu schreiben, nachdem der Kopf/Anhang entfernt worden ist. Alternativ ist es auch möglich, die zweifelhaften Daten zu verwerfen, um dies als einen Fall von Zellenverlust anzusehen, und die korrekten Daten durch Verwenden des FEC-Redundanzcodes zu reproduzieren.
  • Das D/F-Bit in dem Feld (d) gibt einen Nutzlast-Typ an auf solche eine Weise, dass es einen Wert "1" annimmt, wenn die Bitfolge, die in dem Nutzlastabschnitt enthalten ist, Daten sind, oder dass es einen Wert "0" annimmt, wenn die Bitfehler, die in dem Nutzlast-Abschnitt enthalten ist, FEC-Redundanzcode ist. Auch gibt das B/E-Bit in dem Feld (e) an, dass dies die letzte SSCS-PDU ist unter einer Vielzahl von aufeinanderfolgenden SSCS-PDUs für jeden von dem Datenbereich und dem FEC-Redundanzbereich. Wenn es einen Bitfehler in diesem B/E-Bit gibt, welcher einen Wert "1" angeben sollte (d.h., die Tatsache, dass diese SSCS-PDU die letzten Daten sind), ist es noch möglich, diese Tatsache korrekt zu erkennen bei dem SSCS-Kopf/Anhang-Prüfmodul 12r in Übereinstimmung mit der Tatsache, dass der D/F-Bitwert sich von "1" nach "0" ändert beginnend mit dem nächsten SSCS-Kopf/Anhang, angebend, dass der nachfolgende Bereich der FEC-Redundanzbereich ist.
  • Im Obigen wurde angenommen, dass nicht zwei oder mehr Bitfehler gleichzeitig auftreten zwischen einem betrachteten SSCS-Kopf/Anhang und SSCS-Köpfen/Anhängen, die diesem betrachteten SSCS-Kopf/Anhang unmittelbar vorangehen und folgen, da das Netz als mit einer geringen Bitfehlerrate angenommen wird wie z.B. weniger als 10–10 in einem übertragungspfad. In der Praxis jedoch, obwohl sehr selten, gibt es einen Fall, in dem zwei oder mehr Bitfehler in diesen SSCS-Köpfen/Anhängen enthalten sind. In einem solchen Fall ist es noch möglich, die SSCS-Köpfe/Anhänge exakt zu reproduzieren durch Berücksichtigen der anderen Bedingungen wie der Tatsache, dass eine Größe des SSCS-Redundanzbereich in dem Verschachteler fest ist, der Tatsache, dass die Abfolgezahlen aufeinanderfolgend sind etc.. Zusätzlich ist es durch Festlegen einer Länge eines gesamten SSCS-Kopfs/Anhangs auf beispielsweise 2 Oktetten und durch Anwenden einer Fehlerkorrekturcodierung auf einen Teil oder den gesamten SSCS-Kopf/Anhang möglich, eine nahezu perfekte Maßnahme gegen einen Bitfehler bereitzustellen.
  • Als Nächstes wird unter Berücksichtigung der oben beschriebenen Arten des Behandelns eines Fehlers die Verarbeitung in einem Fall des Empfangens der in 8 gezeigten Sendedaten und einem Fall des Empfangens der in 9 gezeigten Sendedaten als konkrete Beispiele beschrieben. In jedem Fall wird eine Art des Behandelns einer Situation, in der die Tatsache, dass ein Fehler in dem CPCS-Anhang erfasst worden ist, von dem CPCS-Verarbeitungsmodul 14r gemeldet wird, beschrieben.
  • Zuerst wird ein Fall der in 8 gezeigten Sendedaten beschrieben.
  • In diesem Fall wird ein CPCS-Anhang an SSCS-Daten in einer relativ geringen Einheit innerhalb des Verschachtelers wie z.B. einer Spalte angehängt. Hier ist es möglich, die Prüfung unter Verwendung von CRC und dem Längenindikator für jede Spalte auszuführen und wenn sie korrekt ist, kann eine Zuverlässigkeit jedes Nutzlastabschnitts garantiert werden und folglich kann auch eine Zuverlässigkeit des SSCS-Kopf/Anhangs, der in der jeweiligen Nutzlast enthalten ist, garantiert werden. Sicherlich gibt es einige Fehlermuster, die durch die CRC-Prüfung übersehen werden können, aber eine Möglichkeit, dass solche Fehlermuster auftreten, ist vernachlässigbar gering im Hinblick auf einen Fehlererfassungspegel in dieser Schicht, weil jene Fehlermuster sehr seltenen Fällen entsprechen, in denen vier oder mehr Bitfehler in den Daten auftreten und ein Muster dieser Fehler nicht durch die gerade CRC-Prüfung erfasst werden kann.
  • Darüber hinaus wird in diesem CPCS-Anhangshinzufügeschema das CRC für jede Zelle so berechnet, dass es auch möglich wird, einen Bitfehler innerhalb einer Zelle zu erfassen. Aus diesem Grund wird es durch Betrachten der Zelle, in der ein Bitfehler erfasst worden ist als eine verworfene Zelle, möglich, eine Fehlerkorrektur in einer Form eines Zellenverlustfehlers in Hinblick auf diesen Bitfehler an unbekanntem Ort vorzunehmen. In dem FEC-Code kann eine zweimal höhere Korrektur-Performance realisiert werden für einen Fall eines Zellenverlustfehlers an einem bekannten Ort verglichen mit einem Fall eines beliebigen Bitfehlers an unbekanntem Ort, so dass dieses Schema recht wirksam ist beim Realisieren einer erforderlichen Korrektur-Performance durch einen kleineren FEC-Redundanzabschnitt.
  • Im Obigen ist eine Variation dieses Falls von 8, in welchem ein CPCS-Anhang an eine Vielzahl von Spalten in dem Verschachteler angehängt worden sind, beschrieben worden. Wenn eine CPCS-PDU nicht in eine Zelle passt, wird in dieser Variation die Prüfung durch den CPCS-Anhang in Bezug auf eine Vielzahl von Zellen ausgeführt. In einem solchen Fall ist es, wenn ein Bitfehler durch die Prüfung wie die CRC-Prüfung entdeckt wird, nicht möglich, zu wissen, welche der Vielzahl von Spalten in dem Verschachteler diese Bitfehler hat. Folglich müssen entweder alle der Vielzahl von Spalten in dem Verschachteler, die zu diesem CPCS-PDU gehören, beachtet werden oder verworfen werden, oder eine Fehlerkorrektur für einen Zufallsbitfehler an unbekanntem Ort muss ausgeführt werden. Sicherlich gibt es in jedem Fall einen Bedarf, einen FEC-Redundanzbereich zu haben, der ausreicht, um die erforderliche Korrektur vorzunehmen.
  • Nun wird ein Fall der 8, in welchem kein Fehler in dem CPCS-Anhang gemeldet wird für alle CPCS-PDUs für den in einem Verschachteler enthaltenen Datenbereich, betrachtet.
  • In diesem Fall kann beurteilt werden, dass es keinen Fehler im Datenbereich dieses Verschachtelers gibt, wie oben beschrieben. Folglich führt das SSCS-Kopf/Anhang-Prüfmodul 12r die Verarbeitung in Bezug auf jene Daten in Übereinstimmung mit der folgenden Prozedur aus.
  • Die SSCS-PDUs werden sequentiell an das Entschachtelermodul 12r gegeben beginnend mit der obersten SSCS-PDU, während geprüft wird, dass das D/F-Bit des SSCS-Kopfs/Anhangs D anzeigt. Da kein Fehler in dem CPCS-Anhang erfasst worden ist, meldet das SSCS-Kopf/Anhang-Prüfmodul 12r, die Daten nicht in dem Datenbereich des Entschachtelermoduls 8r zu speichern sondern die Daten direkte zu der oberen Schicht zu geben, d.h. der Anwendungsschicht.
  • Dann gibt das SSCS-Kopf/Anhangs-Prüfmodul 12r einen Befehl aus, alle CPCS-SDUs für den FEC-Redundanzbereich zu verwerfen, die nach einer Vielzahl von CPCS-SDUs für den Datenbereich ankommen. Dies kann hier ausgeführt werden, weil die Fehlerkorrektur in diesem Fall nicht länger notwendig ist, so dass die CPCS-SDUs für den FEC-Redundanzbereich unnötig werden.
  • Hier wird sicherlich der SSCS-Kopf/Anhang entfernt, während die Prüfung des SN ausgeführt wird, um ein Fehlen eines Zellenverlusts zu bestätigen, da dies der Basisbetrieb dieses SSCS-Kopf/Anhang-Prüfmoduls 12r ist. Dieser Basisbetrieb wird in ähnlicher Weise in allen nachstehend beschriebenen Fällen ausgeführt.
  • Als Nächstes wird in Fall er 8, in dem ein Fehler in einigen CPCS-PDUs erfasst wird, betrachtet.
  • Die SSCS-PDUs werden sequentiell zu dem Entschachtelermodul 8r beginnend mit dem obersten SSCS-PDU gegeben während geprüft wird, dass das D/F-Bit des SSCS-Kopfs/Anhangs D angibt, um die Daten in dem Datenbereich des Entschachtelers zu speichern. Der zu der SSCS-PDU, die die letzte Spalte des Datenbereichs enthält, hinzugefügte Kopf/Anhang wird mit einem ENDE-Bit gekennzeichnet und zusätzlich wird das D/F-Bit der SSCS-PDU von D nach F beginnend mit der nächsten SSCS-PDU geändert, so dass das SSCS-Kopf/Anhang-Prüfmodul 12r dem Entschachtelermodul 8r meldet, dass die nachfolgenden SSCS-PDUs für den FEC-Redundanzbereich sind. Gemäß dieser Meldung speichert das Entschachtelermodul 8r die Daten und den FEC-Redundanzcode in geeigneten Orten im Entschachteler. Für einen Zellenverlust, der in einer Mitte vorliegt, kann ein Ort einer verworfenen Zelle durch SN in dem SSCS-Kopf/Anhang identifiziert werden.
  • Die Details in Bezug auf die Fehlerkorrektur für die in dem Entschachteler auf diese Weise gespeicherten Daten werden später im Zusammenhang mit den Verarbeitungen bei dem Entschachtelermodul 8r beschrieben.
  • Als Nächstes wird ein Fall von Sendedaten, die in 9 gezeigt sind, beschrieben.
  • Dies ist ein Fall, in dem ein CPCS-Anhang zu jedem von dem Datenbereich und dem FEC-Redundanzbereich innerhalb des Verschachtelers hinzugefügt worden sind. In diesem Fall gehen die Verarbeitungen bei dem empfangsseitigen Endgerät 2r folgendermaßen weiter in Übereinstimmung mit dem Ablaufdiagramm der 22.
  • Der ATM-Kopf der ATM-Zelle, die von dem ATM-Netz übertragen worden ist, wird gelöscht (S31) und die SAR-Verarbeitung zum Neuzusammenstellen von CPCS-PDU (S32) und die CPCS-Verarbeitung zum Prüfen von CRC und LI (S33) werden ausgeführt. Das Ergebnis der CRC- und LI-Prüfung für die CPCS-PDU wird dann von dem CPCS-Verarbeitungsmodul 14r zu der SSCS-Schicht gemeldet.
  • Ähnlich wie in einem Fall der 8 ist eine Meldung dieser Tatsache bei dem SSCS-Kopf/Anhang-Prüfmodul 12r von dem CPCS-Verarbeitungsmodul 14r empfangen worden. Wenn demnach der Inhalt der CPCS-SDU Daten sind (S34 D) und der Fehler nicht in dem CPCS-Anhang erfasst worden ist (S37 Nein), wird ein Befehl zum Verwerfen des FEC-Redundanzcodes ausgegeben (S39), und die AAL-IDU wird reproduziert (S40). Dann, wenn die den FEC-Redundanzbereich enthaltende CPCS-SDU von der nächsten CPCS-Schicht gegeben wird (S34 F), ist eine Zulassung zum Verwerfen des FEC-Redundanzcodes in diesem Fall ausgegeben worden (S35 Ja), so dass diese CPCS-SDU verworfen werden kann egal ob oder nicht ein Fehler vorliegt (S36). Auf diese Weise kann die Verarbeitung mit einem durch das Löschen des SSCS-Kopfs/Anhangs allein bedingten Überhang realisiert werden, verglichen mit einem Fall, bei dem kein FEC hinzugefügt wird.
  • Weil nämlich der FEC-Redundanzbereich und der Datenbereich zu unterschiedlichen CPCS-PDUs gehören, gibt es, wenn es kein Fehler in der CPCS-PDU für den Datenbereich gibt, keinen Bedarf zum Ausführen einer verschwenderischen bzw. nutzlosen SSCS-Verarbeitung für den FEC-Redundanzbereich, so dass eine Reduzierung der Verarbeitung wirksam realisiert werden kann. Diese Tatsache ist tatsächlich anwendbar nicht nur auf einen Fall des Zuordnens einer CPCS-PDU für jeden von dem Datenbereich und dem FEC-Redundanzbereich, wie in 9 gezeigt, sondern auch für irgendeinen Fall, in dem der Datenbereich und der FEC-Redundanzbereich nicht vermischt innerhalb der CPCS-PDU vorliegen, wie in 8.
  • Als Nächstes wird in Fall der 9, indem ein Fehler in irgendeiner CPCS-PDU erfasst wird, betrachtet.
  • Zuerst wird der SSCS-Kopf/Anhang, der sich am Anfang der Datenabfolge befindet, in welcher ein Fehler erfasst worden ist, in dem CPCS-Anhang geprüft und wenn dieser SSCS-Kopf/Anhang den Inhalt der Nutzlast des Datenbereichs angibt, d.h., wenn das D/F-Bit D anzeigt (S34 D), weil ein Fehler in dem CPCS-Anhang in diesem Fall erfasst wird (S37 Ja), gibt es einen Bedarf zum Ausführen der Fehlerkorrektur bei dem Entschachteler (S38). Wenn die Fehlerkorrektur abgeschhlossen ist (S41 Ja), wird die AAL-IDU reproduziert (S40), wohingegen andernfalls (S41 Nein) eine Meldung zum Ausgeben der Neusende-Anfrage vorgenommen wird (S42). Andererseits, wenn dieser SSCS-Kopf/Anhang den Inhalt der Nutzlast als FEC-Redundanzbereich angibt, d.h., wenn das D/F-Bit F angibt (S34 F), ohne dass ein Fehler in dem CPCS-SDU erfasst worden ist für den dem FEC-Redundanzbereich entsprechenden Datenbereich, ist es dasselbe wie in dem Fall, der bereits oben beschrieben worden ist, so dass die CPCS-SDU für den FEC-Redundanzbereich nicht länger erforderlich ist und es daher keinen Bedarf für eine Fehlerkorrektur gibt.
  • Die SSCS-PDUs werden sequentiell zu dem Entschachtelermodul 8r gegeben beginnend mit dem obersten SSCS-PDU während des Prüfens, dass das D/F-Bit des SSCS-Kopfs/Anhangs D anzeigt, um die Daten in dem Datenbereich des Entschachtelers zu speichern. Der Kopf/Anhang, der der SSCS-PDU hinzugefügt worden ist, die die letzte Spalte des Datenbereichs enthält, wird mit einem Ende-Bit markiert, und zusätzlich, wird das D/F-Bit der SSCS-PDU von D nach F geändert beginnend mit der nächsten SSCS-PDU, so dass das SSCS-Kopf/Anhang-Prüfmodul 12r dem Entschachtelermodul 8r mitteilt, dass nachfolgende SSCS-PDUs für den FEC-Redundanzbereich sind. Gemäß dieser Mitteilung speichert das Entschachtelermodul 8r die Daten und den FEC-Redundanzcode in geeigneten Orten im Entschachteler. Für einen Zellenverlust, der in einer Mitte vorliegt, kann ein Ort einer verworfenen Zelle durch SN in dem SSCS-Kopf/Anhang identifiziert werden.
  • Hier ist es jedoch im Gegensatz zu dem Fall der 8, wenn ein üblicherweise zufälliger Fehler enthalten ist, unmöglich, eine spezielle oder mehrere Spalten als einen Fehlerort zu identifizieren. Folglich muss in diesem Fall eine Fehlerkorrektur-Verarbeitung ausgeführt werden, der einen zufälligen Fehler an einem unbekannten Ort hat. Diese Zufallsfehlerkorrektur erfordert allgemein einen größeren Verarbeitungsumfang als ein Fehlerkorrekturverlust, so dass die folgende Maßnahme bereitgestellt werden kann, um diese Zufallsfehlerkorrektur zu vermeiden.
  • Um einen Zufallsfehler (einen Bitfehler an unbekanntem Ort), der innerhalb einer Zelle enthalten ist, zu erfassen, gibt es nämlich einen Bedarf, CRC für die gesamte Zelle in jeder Zelle bereitzustellen. Solches CRC kann höchst vorzugsweise dadurch bereitgestellt werden, dass es in dem SSCS-Kopf/Anhang enthalten ist, aber in einem solchen Fall kann der SSCS-Kopf/Anhang größer sein als der beispielhafte, in 19 gezeigte Punkt. Aus diesem Grund ergreift diese Ausführungsform eine Maßnahme, in welcher, wenn ein Auftreten eines Fehlers innerhalb einer gewissen Zelle entdeckt wird, diese Zelle als verworfen wird und dem Entschachteler gemeldet wird, dass diese Zelle verworfen worden ist. Dann wird die Fehlerkorrektur für einen Verlustfehler ausgeführt durch Betrachten dieses Zufallsfehlers als Verlustfehler. Auf diese Weise ist es möglich, eine Erhöhung eines Verarbeitungsumfangs zu vermeiden.
  • Nun, wenn die CPCS-Verarbeitung und die SSCS-Verarbeitung auf der Empfangsseite mit Hilfe kooperativ betriebener Software realisiert sind, kann selbst eine höhere Verarbeitungsgeschwindigkeit realisiert werden. In diesem Fall werden die Längenprüfung und die gewöhnlich durch die CPCS-Verarbeitung ausgeführte CRC-Prüfung in Bezug auf den Datenbereich parallel ausgeführt während des Löschens des SSCS-Kopfs/Anhangs, wenn die SSCS-Verarbeitung ebenfalls parallel ausgeführt wird. Auf diese Weise sind, wenn kein Fehler durch die CPCS-Verarbeitung erfasst wird, die Daten mit dem bereits entfernten SSCS-Kopf/Anhang in den Speicher geschrieben worden, so dass die Daten unmittelbar durch Vergeben von Zeigern an die obere Schicht weitergegeben werden können. Hier wird selbstverständlich die nachfolgende CPCS-SDU, die den FEC-Redundanzbereich enthält, unnötig werden und kann verworfen werden.
  • Andererseits, wenn ein Fehler durch die Prüfung von der CPCS-PDU für den Datenbereich erfasst wird, ist es erforderlich, diese Tatsache dem SSCS-Verarbeitungsmodul 6r zu melden, die CPCS-PDU für den als nächstes durch das CPCS-Verarbeitungsmodul 14r zu verarbeitenden FEC-Redundanzbereich zu prüfen und beide CPCS-PDUs an das SSCS-Verarbeitungsmodul 6r zu geben. Dann wird bei dem SSCS-Verarbeitungsmodul 6r, wenn eine Meldung für ein Erfassen eines Fehlers empfangen worden ist, Sn in dem Kopf/Anhang geprüft und ein übersprungener Ort wird dem Entschachteler gemeldet, um die Fehlerkorrektur dort auszuführen.
  • Es ist zu bemerken, dass in den obigen beispielhaften Fällen, in denen der Datenbereich und der entsprechende FEC-Redundanzbereich in getrennten CPCS-PDUs enthalten sind, beschrieben worden sind, aber es im Allgemeinen Fälle gibt, in denen der Datenbereich und der entsprechende FEC-Redundanzbereich in einer gemeinsamen CPCS-PDU enthalten sind. Zudem gibt es selbst mehr allgemeine Fälle, in denen eine Vielzahl von Datenbereichen und eine Vielzahl von entsprechenden FEC-Redundanzbereichen in einer identischen CPCS-PDU enthalten sind. Hier wird die Verarbeitung in einem Fall, in dem ein Datenbereich und ein FEC-Redundanzbereich in einer CPCS-PDU enthalten sind, als ein Beispiel dieser allgemeinen Fälle beschrieben. In diesem Fall gibt es einen Bedarf, im Voraus auszuhandeln, ob oder nicht ein Raum für den CPCS-Anhang in dem Entschachteler in SSCS sicherzustellen ist zwischen den Endgeräten, die eine Kommunikation ausführen.
  • Wenn dieser Raum sichergestellt wird, passen der Verschachteler und die Zellenlängen sehr gut auf SSCS-, so dass eine Auffüllung (PAD) für 40 Oktetten, wie in 9 erforderlich, unnötig wird. Hier gibt es jedoch abhängig von einer Art des Hinzufügens von FEC Möglichkeiten für einen Fall, in dem die Daten und der FEC-Code gemischt in einer Zelle für beispielsweise einen Fall vorliegen, in dem der SSCS-Kopf/Anhang für den FEC-Redundanzbereich in der Mitte einer Zelle statt am Anfang einer Zelle angeordnet ist.
  • Andererseits, wenn dieser Raum nicht sichergestellt wird, wird der SSCS-Kopf/Anhang am Anfang jeder Zelle hinzugefügt werden, aber die letzte Zelle, die den CPCS-Anhang enthält, wird eine Zelle mit nur 40 Oktetten des Auffüllbereichs und keinen Daten- oder FEC-Codes sein.
  • Wenn das CPCS-Verarbeitungsmodul 14r solch eine CPCS-PDU empfängt, wenn ein Fehler erfasst wird, wird diese Tatsache dem SSCS-Verarbeitungsmodul 6r gemeldet gerade wie in Fällen von 8 und 9.
  • Wenn es keine Meldung für das Erfassen eines Fehlers gibt, löscht das SSCS-Kopf/Anhangs-Prüfmodul 12r den SSCS-Kopf/Anhang und wenn der Inhalt Daten sind, werden sie sequentiell durch Durchlaufen des Entschachtelermoduls 8r zu dem Anwendungsverarbeitungsmodul 4r gegeben, wohingegen, wenn der Inhalt FEC-Code ist, sie ohne zur oberen Schicht gegeben zu werden, verworfen werden.
  • Wenn es eine Meldung für ein Erfassen eines Fehlers gibt, prüft das SSCS-Kopf/Anhangs-Prüfmodul den SSCS-Kopf/Anhang und gibt Daten zu geeigneten Orten in dem Entschachtelermodul 8r zurück derart, dass die Dekodierverarbeitung unter Verwendung von FEC dort ausgeführt wird. In diesem Fall, selbst wenn es keinen Fehler im Datenbereich gibt und ein Fehler nur im FEC-Redundanzbereich vorliegt, kann diese Tatsache im Allgemeinen nicht explizit erkannt werden, selbst mit Hilfe einer Information im SSCS-Kopf/Anhang. In einem solchen Fall ist es erforderlich, die Fehlerkorrekturverarbeitung anzuwenden, selbst wenn sich ergeben sollte, dass es Verschwendung ist, und dies ist ein Punkt, der sich von einem Beispiel der 8 unterscheidet, in der der Datenbereich und der FEC-Redundanzbereich getrennt in getrennten CPCS-PDUs enthalten sind.
  • Wenn die korrekten Daten auf diese Weise decodiert werden, werden die decodierten Daten sequentiell an das Anwendungsverarbeitungsmodul 4a gegeben.
  • (L) Verarbeitungen bei dem Entschachtelermodul 8r
  • Bei dem Entschachtelermodul 8r wird die Datensequenz, wenn es keinen Fehler im Datenbereich gemäß der Information von dem SSCS-Kopf/Anhangs-Prüfmodul 12r gibt, durchgeführt und an das Anwendungsverarbeitungsmodul 4r gegeben, ohne dass sie in den Entschachteler geschrieben würden. Hier gibt es Daten, die zufällig im Verschachteler angeordnet erscheinen wie in einem Fall, der in 6 gezeigt ist, aber die Reihenfolge von Senden und Empfangen dieser Daten hat vom Gesichtspunkt der oberen Anwendung eine Reihenfolgentransparenz. Folglich können die von der CPCS-Schicht empfangenen Daten direkt zu dem Anwendungsverarbeitungsmodul 4r gegeben werden durch Durchführen durch das Entschachtelermodul 8r, wenn der Überhang bei der SSCS-Schicht ignoriert wird.
  • Andererseits, wenn in dem Datenbereich gemäß der Information von dem SSCS-Kopf/Anhangs-Prüfmodul 12r ein Fehler erfasst wird, werden die den Fehler enthaltenden Daten in die geeigneten Orte im Entschachteler zurückgeführt, die Bitabfolge für den FEC-Redundanzbereich in Entsprechung zu diesem Datenbereich wird von dem SSCS-Kopf/Anhangs-Prüfmodul 12r empfangen und zu dem FEC-Redundanzbereich in dem Entschachteler zurückgegeben, und die Fehlerkorrektur unter Verwendung des FEC wird ausgeführt.
  • An diesem Punkt ist es wahrscheinlich, dass die letzte SSCS-SDU des Datenbereichs teilweise mit Dummy-Daten aufgefüllt ist und nicht vollständig mit Daten aufgefüllt wird. Hier wird durch Empfangen eines Ergebnisses des Erkennens der Tatsache, dass dies die letzte SSCS-SDU ist, die Daten enthält, die von dem SSCS-Kopf/Anhang erhalten werden, erfasst, bis zu welchem Teil die eine Spalte mit Daten aufgefüllt ist.
  • In einem Fall der 9, wenn die letzte SSCS-SDU für den Datenbereich ankommt, schaut der Entschachteler beim neunten Symbol von den letzten von dieser Spalte, die das LI-Feld ist. Ein dort angegebener Wert gibt eine von dem LI-Feld rückwärts gezählte Anzahl von Oktetten an, für welche die Auffüllung eingefügt ist. Andererseits, in einem Fall der 8, ist das letzte Symbol der letzten Spalte des Datenbereichs das LI-Feld, und ein dort angegebener Wert gibt eine Anzahl von Oktetten an, die rückwärts gezählt werden von dem LI-Feld, für welche die Auffüllung eingefügt ist, oder eine Anzahl von Oktetten, die von einer oberen Zeile der letzten Spalte gezählt werden, die tatsächliche Daten enthält.
  • Danach werden die in den Datenbereich geschriebenen korrigierten Daten zu dem Anwendungsverarbeitungsmodul 4r gegeben. Hier werden die Daten in vertikaler Richtung ausgelesen in derselben Reihenfolge wie der des Schreibens von Daten in das Verschachtelermodul 8t bei dem sendeseitigen Endgerät 2t. Da die Datenlänge als ein Ergebnis der Entschachteler-Verarbeitung exakt begriffen ist, werden Dummy-Daten für die Auffüllung nicht an die obere Schicht gegeben. Wenn kein Fehler im SSCS-PDU für den Datenbereich erfasst wird, ist es also erforderlich, nur die Daten, die keine Dummy-Daten sind, an die obere Schicht zu geben, so dass es auch notwendig ist, die Datenlänge exakt zu begreifen. In diesem Fall zu einem Zeitpunkt des Ausgebens eines Befehls zum Verwerfen des FEC-Redundanzcodes kann die exakte Datenlänge durch Empfangen einer Nachricht für die letzte SSCS-SDU für den Datenbereich zu einem Zeitpunkt der SSCS-Kopf/Anhangs-Prüfung gelernt werden gerade wie in einem oben beschriebenen Fall des Ausführens der Entschachtelerverarbeitung. Der Auffüllungsabschnitt wird entfernt, bevor die Daten an die obere Schicht gegeben werden.
  • (M) Verarbeitungen bei dem Anwendungsverarbeitungsmodul 4r
  • Letztendlich empfängt das Anwendungsverarbeitungsmodul 4r die Anwendungsdaten von dem SSCS-Verarbeitungsmodul 6r und führt eine gewünscht Anwendungsverarbeitung an den Anwendungsdaten aus.
  • Als Nächstes werden konkrete Beispiele des in dem FEC-Hinzufügemodul 10t und dem FEC-Korrekturmodul 10r zu verwendenden FEC-Schemas detailliert beschrieben.
  • Bei dem FEC-Hinzufügemodul 10t auf der Sendeseite werden in dem FEC-Redundanzbereich des Verschachtelers anzubringende Daten in Übereinstimmung mit den zu dem Verschachteler gegebenen Daten in dem Datenbereich berechnet, die von dem Verschachtelermodul 8t geliefert werden, und das Rechenergebnis wird zurückgeführt zu dem Verschachtelermodul 8t. Dann werden bei dem Verschachtelermodul 8t die empfangenen Daten für den FEC-Redundanzbereich zu dem SSCS-Kopf/Anhangs-Hinzufügemodul 12t gegeben nach den Daten für den Datenbereich. Dann wird bei dem SSCS-Kopf/Anhangs-Hinzufügemodul 12t der Kopf/Anhang in Übereinstimmung mit den Daten für jeden Bereich hinzugefügt.
  • Andererseits wird das FEC-Korrekturmodul 10r auf der Empfangsseite nur betrieben, wenn es erforderlich ist, eine Fehlerkorrektur für einen Verschachteler vorzunehmen. Wenn nämlich ein Fehler wie ein Zellenverlust oder ein Bitfehler bei dem CPCS-Verarbeitungsmodul 14r auf der niederen Seite erfasst wurde, werden diesen Fehler enthaltende Daten zu dem SSCS-Verarbeitungsmodul 8r gegeben und in dem Entschachtelermodul 8r gespeichert.
  • Dann wird in den meisten Fällen bei dem SSCS-Kopf/Anhangs-Prüfmodul 12r ein Ort eines Zellenverlustes oder eines Bitfehlers innerhalb des Entschachtelers erfasst. Abhängig von der Protokollspezifikation kann es einen Bitfehler geben, dessen Ort nicht exakt identifiziert werden kann, und selbst in einem solchen Fall ist es möglich, eine Konfiguration anzuwenden, in der das FEC-Korrekturmodul 10r eine Fehlerkorrektur vornehmen kann, obwohl eine Korrektur-Performance in einem solchen Fall verglichen mit einem Fall des Handhabens eines Fehlers mit identifiziertem Ort zu einer Einschränkung führt. In dieser Ausführungsform wird jedoch für den Fall der Vereinfachung, wenn ein Bitfehler auftritt, angenommen, dass ein Fehlersymbolort identifiziert werden kann mit Hilfe von verschiedenen in dem SSCS-Kopf/Anhang bereitgestellten Bits angegeben werden kann. Für einen solchen Fehler wird bei dem FEC-Korrekturmodul 10r eine Wiederherstellung eines übersprungenen Datenabschnitts oder eine Korrektur eines Bitfehlers ausgeführt durch Bezugnahme auf die Daten in dem Entschachtelermodul 8r. Dann werden die Korrekturdaten zurückgeführt zu dem Entschachtelermodul 8r.
  • Spezifische Konfigurationen des FEC-Hinzufügemoduls 10t und des FEC-Korrekturmoduls 10c können in Übereinstimmung mit den oben beschriebenen Faktoren wie einer Größe eines Verschachtelermoduls selbst, einer Anzahl von Spalten, an die ein SSCS-Kopf/Anhang anzubringen ist, für jeden Verschachteler, einer Position des Schreibens in jeden Verschachteler etc. variieren.
  • Folglich werden im Folgenden Beispiele dieser Module im Zusammenhang mit dem Verschachtelermodul 8t und dem Entschachtelermodul 8r beschrieben. Im Folgenden werden Beispiele eines FEC-Redundanzsymbol-Konstruktionsschemas, das auf der Sendeseite zu verwenden ist, zuerst beschrieben und entsprechende Beispiele eines Fehlerkorrekturschemas, das auf der Empfangsseite zu verwenden ist, werden später beschrieben.
  • Als Erstes wird ein Schema beschrieben, in dem eine Spalte des Verschachtelers wie z.B. den in 8 oder 9 gezeigten, vollständig in eine Nutzlast einer Zelle eingefügt ist und diese eine Spalte alleine eine Nutzlast einer SSCS-Schicht bildet, beschrieben. In diesem Schema sollte ein Verschachteler eine vertikale Länge von entweder 39 Oktetten oder 47 Oktetten haben und eine maximale horizontale Länge, die geringer ist oder gleich 2k – 1 Symbollängen, unter der Annahme, dass ein Symbol eines RS-Codes k Bits hat. Wenn eine Größe eines Symbols auf diese Weise variabel gestaltet wird, variiert eine Größe eines Verschachtelers entsprechend und es gibt einen Bedarf zum Berücksichtigen der Verschachtelungsverarbeitung als Hauptbetriebsabläufe von Software, so dass eine Anzahl von Bits für ein Symbol vorzugsweise 2n ist, wobei n eine ganze Zahl ist wie z.B. 4 Bits, 8 Bits, 16 Bits etc., um eine Verschachtelerlänge für die Software-Verarbeitung geeignet zu machen. Unter diesen ist in AAL1 eine Spezifikation zum Festlegen eines Symbols gleich 8 Bits bereits bestimmt worden. Folglich wird im Folgenden nur ein Fall, in dem ein Symbol 8 Bit ist, beschrieben werden, obwohl die folgende Beschreibung in ähnlicher Weise anwendbar ist auf irgendeinen anderen Fall unter Verwendung irgendeiner anderen Anzahl von Bits für ein Symbol.
  • Mit einem Symbol gleich 8 Bits in einem Beispiel der 8 hat der Verschachteler eine vertikale Länge von 39 Oktetten und eine horizontale Länge einer beliebigen Oktettenlänge innerhalb eines Bereichs von 0 bis 255 Oktetten, wohingegen in einem Beispiel der 9 der Verschachteler eine vertikale Länge von 47 Oktetten und eine horizontale Länge einer beliebigen Oktettenlänge innerhalb eines Bereichs von 0 bis 255 Oktetten hat. In jedem Fall werden maximal 124 Oktetten in dem Datenbereich zugewiesen während 4 Oktetten zu dem FEC-Redundanzbereich zugewiesen werden. In der Praxis kann der Verschachteler derart entworfen sein, dass eine Gesamtheit des Datenbereichs und des FEC-Redundanzbereichs 255 Oktetten nicht übersteigt, aber im Folgenden wird ein beispielhafter Fall der Verwendung eines Verschachtelers beschrieben mit einer horizontalen Größe, wie in AAL1 übernommen für sowohl den Fall der 8 als auch der 9. Folglich werden Merkmale wie eine in den folgenden Beispielen verwendete Erzeugungsfunktion ebenfalls als identisch zu denen in AAL1 übernommenen angenommen.
  • Spezieller, eine Erzeugungsfunktion wird als durch die folgende Gleichung (1) gegeben angenommen. G(X) = (X – α120)(X – α121)(X – α122)(X – α123) = X3 – α162·X2 + α35·X2 – α150·X + α231 (1)wobei α eine Wurzel des Basispolynoms achten Grades ist. Hier sollte bemerkt werden, dass diese Gleichung (1) und alle folgenden Gleichungen gültig sind für das Galois-Feld GF(28).
  • Die für Fälle der 8 und 9 verfügbaren tatsächlichen FEC-Verarbeitungsschemata schließen ein Schema ein, das in 14A, 14B und 15 dargestellt ist, ein Schema, das in 17 dargestellt ist, ein Schema, das in 6 dargestellt ist.
  • Nun werden alle diese Schemata detailliert eines nach dem anderen beschrieben.
  • (1) Sendeseitiges FEC-Verarbeitungsschema 1
  • Hier wird ein FEC-Redundanzdaten-Erzeugungsschema in Entsprechung zum einem Schema zum Einfügen von Daten in einen Verschachteler auf der Sendeseite wie in 13A, 13B und 14 dargestellt, beschrieben.
  • Wie in 15 gezeigt, ist dieses Schema gekennzeichnet durch die Tatsache, dass die in den Verschachteler eingegebenen Daten in Richtung der rechten Seite des Verschachtelers gepackt sind. Folglich werden in einem Fall des Verschachtelers der 8, wenn die Daten vollständig den gesamten Datenbereich des Verschachtelers auffüllen, Daten für 39 × 124 Symbole eingegeben, aber wenn die Daten für nur m Spalten vorliegen, werden (124 – m) Spalten von der linken Seite des Verschachtelers leer sein (d.h., ohne irgendwelche Daten). Dann werden die Daten von einem oberen Ende der verbleibenden m Spalten eingegeben und es gibt einen Fall, in dem die letzte Spalte des Datenbereichs nur die tatsächlichen Daten enthält und einen Fall, in dem die letzte Spalte des Datenbereichs Dummy-Daten für eine Auffüllung enthält.
  • Bezüglich der oberen (124 – m) Spalten ohne Daten wird dieser Abschnitt nicht für das Senden durch Zusammenstellen von Zellen verwendet, so dass dieser Abschnitt nicht in einem Datenbereich enthalten sein wird, der zu einem Zeitpunkt der FEC-Codierung codiert wird. Hier kann es jedoch einen Fall geben, in dem es für mindestens einen von der Sendeseite und Empfangsseite schwierig ist, einen Verschachteler mit variabler Größe in einer tatsächlichen Implementierung zu verwenden. In einem solchen Fall ist es möglich, ein Schema anzunehmen, in dem die Sendeseite und die Empfangsseite im Voraus verhandeln, um eine Art der FEC-Codierung und Decodierung zu entscheiden, dahingehend, welche Art von Dummy-Daten in einen leeren Abschnitt im Verschachteler einzufügen sind, selbst wenn die tatsächliche Datenübertragung nicht stattfindet.
  • Bezüglich des Verschachtelers muss die Codierung für jede Zeile ausgeführt werden. In diesem Fall werden die den Datenabschnitt für m Symbole (Oktetten) und den Redundanzabschnitt für vier Symbole (Oktetten) umfassenden Codewörter für 39 Zeilen erzeugt. Das Codieren/Decodieren unterschiedlicher Zeilen wird parallel ausgeführt und derselbe Betrieb wird für jede Zeile ausgeführt, so dass nur der Betrieb für eine Zeile im Folgenden beschrieben wird.
  • Nun enthält eine Zeile des Verschachtelers m Nachrichtensymbole mit (1 ≤ m ≤ 124), und diese Nachrichtensymbole werden Gleitkontakt als: M = (M[m – 1], M[m – 2], M[m – 3], ..., M[0]) (2)beginnend von der linken Seite des Verschachtelers. Gelegentlich gibt es Zeilen ohne irgendein Nachrichtensymbol und in einem solchen Fall wird in Entsprechung zu dieser Zeile kein M[*] vorliegen.
  • Auch gibt es (m + 4) Symbole für Codewörter und diese Symbole des Codeworts werden gekennzeichnet als: C = (C[m + 3], C[m + 2]), C[m + 1], ... C[4], C[3], C[2], C[1], C[0]) (3)beginnend von der linken Seite des Verschachtelers. Beachte, dass die Nachricht M und das Codewort C in einer Eins-zu-Eins-Entsprechung zueinander stehen, so dass es nicht absolut notwendig wäre für die Entsprechenden, denselben Symbolwert zu teilen, aber es vorgezogen wird für die Entsprechenden, so sehr wie möglich denselben Symbolwert zu teilen, speziell in einem Fall des Versuchens der Unterdrückung einer Erhöhung der Verzögerung durch das Verschachteln wie in dieser Ausführungsform.
  • Folglich werden die Nachrichtensymbole der obigen Gleichung (2) als Codewort-Symbole der obigen Gleichung (3) in Übereinstimmung mit dem folgenden Zusammenhang übernommen:
    Figure 00710001
    und C[3], C[2], C[1], und C[0] werden als redundanter Abschnitt verwendet.
  • Hierdurch wird es möglich, Nachrichten direkt von der oberen Schicht zu der unteren Schicht zu einem Zeitpunkt des Sendens zu senden. Es wird nämlich nicht erforderlich sein, die Nachricht einmal in den Verschachteler zu schreiben und die Nachricht kann durch den Verschachteler von der oberen Schicht derart gesendet werden, dass es einen Vorteil gibt, dass die Verzögerung reduziert werden kann. Hier werden jedoch die Daten, die von der oberen Schicht zur unteren Schicht gesendet werden, zum Zwecke der Rechenverarbeitung für die Redundanzsymbolerzeugung verwendet.
  • Andererseits wird zum Zeitpunkt des Empfangs die Fehlerprüfung unter Verwendung von CRC bei der unteren Schicht in Bezug auf den gesamten Datenbereich des Entschachtelers ausgeführt oder jeden aufgeteilten Abschnitt, der durch Aufteilen des gesamten Datenbereichs des Entschachtelers erhalten wird. Wenn beurteilt wird, dass es keinen Fehler im Datenbereich des Entschachtelers gibt als Ergebnis dieser Fehlerprüfung, können die Daten in dem Datenbereich zu der oberen Schicht gesendet werden ohne in den Entschachteler geschrieben zu werden durch Anwenden nur der SSCS-Kopf/Anhangs-Verarbeitung bei der SSCS-Schicht. Auch kann der redundante Abschnitt unmittelbar verworfen werden ohne Verarbeitung, da er unnötig ist. Auf diese Weise gibt es einen Vorteil, dass der Durchsatz der empfangsseitigen Verarbeitung als Ganzes verbessert wird. Wenn die Ursprungsnachricht und das Codewort nicht eine Form der obigen Gleichung (4) zum Teilen desselben Symbolwerts haben, kann hier die Ursprungsnachricht nicht wiedergewonnen werden, solange nicht alle Codewörter empfangen worden sind, so dass dieser Vorteil in Bezug auf den Durchsatz der empfangsseitigen Verarbeitung nicht realisiert werden kann.
  • Im Obigen sind hauptsächlich Daten in dem Verschachtelermodul 8t in Bezug auf einen Fall der 14 beschrieben worden. In diesem Fall können mit Hilfe der oben beschriebenen Gleichung (4) C[m + 3] bis C[4] recht einfach erzeugt werden.
  • Als Nächstes wird ein Schema zum Erzeugen des verbleibenden Redundanzabschnitts beschrieben werden. Dieser Redundanzabschnitt wird bei dem FEC-Hinzufügemodul 10t erzeugt nach dem Empfang der Daten von dem Verschachtelermodul 8t in der oben beschriebenen Konfiguration.
  • Hier wird angenommen, dass der RS-Code, wie er in AAL1 verwendet wird, zu verwenden ist, so dass als erster Schritt der Berechnung die Nachricht M ausgedrückt wird in einer Polynom-Darstellung M(X), die durch die folgende Gleichung (5) gegeben ist: M(X) = M[m – 1]·X(m-1) + M[m – 2]·X(m-2) + ... + M[1]·X + M[0] (5)und dann werden die Koeffizienten a[m], b[m], c[m] und d[m], die die folgende Gleichung (6) erfüllen, erhalten. M(X)·X4 = Q(X)·G(X) + a[m]·X3 + b[m]·X2 + c[m]·X + d[m] (6)wobei Q(X) ein Quotient ist, der durch Dividieren von M(X)·X4 durch G[X] erhalten wird und der Ausdruck auf der rechen Seite der Gleichung (6) außer Q(X)·G(X) ist der Rest. Wenn M(X) bestimmt wird, ist es demnach ausreichend, die linke Seite der Gleichung (6) durch G(X) zu dividieren. Die Koeffizienten a[m], b[m], c[m] und d[m] entsprechen C[3], C[2], C[1] bzw. C[0], das heißt: C[3] = a[m] C[2] = b[m] C[1] = c[m] C[0] = d[m] (7)
  • Wie oben bereits erläutert, ist eine Größe des Verschachtelers innerhalb einer Grenze der Maximalgröße variabel und wie groß er ist, hängt von dem Datenumfang von der oberen Schicht ab. Folglich wird die Berechnung verschwenderisch, wenn sie nicht in gleicher Weise anwendbar ist für einen Fall vieler Daten und einen Fall weniger Daten. Die Verwendung der obigen Gleichung (6) ist fein sobald M(X) bestimmt ist, aber gewöhnlich wird die Nachricht M nicht von der oberen Schicht als vollständiges Ganzes geliefert. Normalerweise werden die Daten sequentiell von der oberen Schicht beispielsweise in Einheiten einiger Oktettenlängen geliefert. Die Datenlänge der von der oberen Schicht gelieferten Daten kann nur bestimmt werden, nachdem alle Daten empfangen worden sind. Wenn folglich die FEC- Berechnungsverarbeitung nicht begonnen wird, bis M(X) bestimmt ist, führt dies dazu, dass eine starke Verzögerung erforderlich ist, wie in einem Fall des Lesens/Schreibens von Daten in AAL1. Aus diesem Grund gibt es einen Bedarf, ein Rechenschema zu verwenden, indem die Berechnung des FEC-Redundanzbereichs sobald das Senden der Daten von der oberen Schicht beginnt, gestartet werden kann, und immer eine Form der Gleichung (6) verfügbar ist, unabhängig davon, wann das Senden der Daten von der oberen Schicht endet.
  • Hierzu wird in dieser Ausführungsform ein Schema unter Verwendung von Schieberegistern verwendet beim Codieren durch die Hardware (selbst in einem Fall des Realisierens der FEC-Berechnung durch die Software). M[m – 1] kommt nämlich zuerst von der oberen Schicht, so dass die folgende Berechnung auf dieses M[m – 1] angewendet wird durch Betrachten dieses M[m – 1] als ob es ein Symbol der letzten Spalte wäre. M[m – 1]·X4 = (a[1)·X3 + b[1]·X2 + c[1]·X + d[1]) mod G(X) (8)
  • Wenn die Koeffizienten der Gleichung (1) verwendet werden, können hier die Koeffizienten dieser Gleichung (8) leicht folgendermaßen erhalten werden. a[1] = M[m – 1]·α162 b[1] = M[m – 1]·α35 c[1] = M[m – 1]·α150 d[1] = M[m – 1]·α321 (9)
  • Diese Werte können tatsächlich berechnet werden oder können durch Nachschauen in einer Multiplikationstabelle erhalten werden, die im Voraus bereitgestellt wird.
  • Wenn m = 1 gilt, so dass M[m – 1] das letzte ist, entsprechen die Werte der vier Koeffizienten der rechten Seite der Gleichung (8) den Koeffizienten "a", "b", "c" und "d" der Gleichung (6). Mit anderen Worten, M[0] selbst liefert C[3] und C[2], C[1] und C[0] werden folgendermaßen gegeben. C[3] = a[1] C[2] = b[1] C[1] = c[1] C[0] = d[1] (10)
  • Auf diese Weise ist die Gleichung (8) für das erste Symbol konsistent mit der Gleichung (6).
  • Als Nächstes wird ein Fall, in dem das zweite Symbol ankommt, betrachtet werden. Dieser Fall kann in einer mit der Gleichung (6) konsistenten Weise folgendermaßen ausgedrückt werden. M[m – 1]·X5 + M[m – 2]·X4 = (a[2]·X3 + b[2]·X2 + c[2]·X + d[2]) mod G(X) (11)
  • In diesem Fall gibt es ein Schema zum Trennen des X5 Terms und des X4 Terms, separates Berechnen eines Rests für eine Division G(X), und späteres Hinzufügen des Rests. Jedoch hat ein solches Schema ein Problem dahingehend, dass wenn eine Anzahl von Symbolen zunimmt, eine Anzahl von Berechnungen proportional zur Anzahl der Symbole zunimmt. Selbst in einem Fall des Nachschauens in einer Tabelle nimmt die Anzahl der Nachschauvorgänge in der Tabelle proportional zur Anzahl der Symbole zu.
  • Aus diesem Grund wird Gleichung (8) folgendermaßen genial verwendet. Durch Verwenden der Gleichung (8), kann die Gleichung (11) nämlich folgendermaßen umgeschrieben werden. [a[1]·X3 + b[1]·X2 + c[1]·X + d[1])·X + M[m – 2]·X4 (a[2]·X3 + b[2]·X2 + c[2]·X + d[2]) mod G(X) (12)
  • Dann kann durch Erweitern der linken Seite dieser Gleichung (12) die folgende Gleichung (13) erhalten werden. (a[1] + M[m – 2])·X4 + b[1]·X3 + c[1]·X2 + d[1]·X [{(a[1] + M[m – 2])·α162 + b[1]}·X3 + {(a[1] + M[m – 2])α35 + c[1]}·X2 + {(a[1] + M[m – 2])·α150 + d[1]}·X + (a[1] + M[m – 2])·α231] mod G(X) (13)
  • Folglich kann der Symbolwert für den FEC-Redundanzbereich in einem Fall, in dem die Nachricht zwei Symbole hat, aus dem Folgenden erhalten werden. a[2] = (a[1] + M[m – 2])·α162 + b[1] b[2] = (a[1] + M[m – 2])·α35 + c[1] c[2] = (a[1] + M[m – 2])·α150 + d[1] d[2] = (a[1] + M[m – 2])·α231 (14)
  • Diese Gleichung (14) kann rekursiv verwendet werden. Der Symbolwert für ein dem zweiten Symbol folgendes Symbol kann nämlich leicht aus dem Symbolwert berechnet werden, der bis zu einem unmittelbar vorangehenden Symbol erhalten wurde. Daher reicht es aus, wenn das k-te Symbol ankommt, das Folgende zu berechnen. a[k] = (a[k – 1] + M[m – k])·α162 + b[k – 1] b[k] =(a[k – 1] + M[m – k])·α35 + c[k – 1] c[k] = (a[k – 1] + M[m – k])·α150 + d[k – 1] d[k] = (a[k – 1] + M[m – k])·α231 (k = 2, 3, ..., m) (15)
  • Auf diese Weise wird die Rechnung ausgeführt, bis das letzte Symbol ankommt oder bis der Symbolwert bis zu der maximalen Spalte (124-te Spalte in dieser Ausführungsform) des im Verschachteler enthaltenen Datenbereichs berechnet ist. Dann wird zum nächsten Zeitpunkt der berechnete Symbolwert von dem FEC-Hinzufügemodul 10t zu dem Verschachtelermodul 8t als FEC-Redundanzbereichsdatenwert gesendet gemeinsam mit den anderen Symbolwerten, die für die anderen Zeilen berechnet worden sind. Hier werden Daten in einer Reihenfolge von a[m], b[m], c[m] und d[m] gesendet.
  • In den 11A und 11B gibt es einen Auffüllungsabschnitt in der letzten Spalte und es ist möglich, ein Schema zu realisieren, bei dem keine Daten für die FEC-Codierung zu diesem Abschnitt hinzugefügt werden. Jedoch ist es wünschenswert, auch zumindest ein Symbol für LI zu den Daten für die FEC-Codierung hinzuzufügen, so dass die tatsächliche Implementierung als leichter zu erwarten ist durch Hinzufügen von irgendwas (selbst wenn es überall "0" Daten sind) zu dem Auffüllungsabschnitt. Wenn die FEC-Codierung, die keinerlei Auffüllungsabschnitt einschließt, auszuführen ist, kann es eine Zeile ohne jedwede Daten sein (d.h., die Nachricht M ist Null). In einem solchen Fall gibt das FEC-Anhängemodul 10t Daten von a[0] = b[0] = c[0] = d[0] = 0 zu dem Verschachtelermodul 8t zurück.
  • (2) Sendeseitiges FEC-Verarbeitungsschema 2
  • Hier wird ein FEC-Redundanzdatenerzeugungsschema in Entsprechung zu einem Schema zum Einfügen von Daten in einen Verschachteler von einer oberen linken Ecke auf der Sendeseite, wie in 17 dargestellt, beschrieben.
  • Wie in 17 gezeigt, ist dieses Schema gekennzeichnet durch die Tatsache, dass die in den Verschachteler eingefügten Daten in Richtung der linken Seite des Verschachtelers gepackt sind. Folglich werden in einem Fall des Verschachtelers der 8, wenn die Daten vollständig den gesamten Datenbereich des Verschachtelers ausfüllen, Daten für 39 × 124 Symbole eingegeben, aber wenn die Daten für nur m Spalten vorliegen, werden (124 – m) Spalten von der rechten Seite des Verschachtelers leer sein (d.h., ohne irgendwelche Daten). Es gibt einen Fall, in dem die letzte Spalte des Datenbereichs nur tatsächliche Daten enthält und einen Fall, in dem die letzte Spalte des Datenbereichs Dummy-Daten als Auffüllung enthält.
  • Bezüglich der restlichen (124 – m) Spalten des Datenbereichs wird dieser Abschnitt nicht zum Senden durch das Zusammenstellen von Zellen verwendet, weil das Senden dieses Abschnitts den verschwenderischen Verkehr erhöhen würde. Zu einem Zeitpunkt der FEC-Codierung wird dieser Abschnitt behandelt als ob er nur mit "0"-Daten aufgefüllt wäre.
  • Alternativ ist es möglich, ein Schema anzuwenden, in welchem die Sendeseite und die Empfangsseite im Voraus verhandeln, um eine Art der FEC-Codierung und Decodierung zu entscheiden dahingehend, welche Art von Dummy-Daten einzufügen sind in einen leeren Abschnitt des Verschachtelers, selbst wenn das tatsächliche Senden von Daten nicht stattfindet. In diesem Fall ist es nicht absolut erforderlich, überall "0"-Daten in den leeren Abschnitt einzufügen und es reicht aus, diesen Abschnitt unter Verwendung eines geeigneten Bitmusters zu codieren, das durch die Verhandlung bestimmt wird. im Allgemeinen jedoch, wenn ein solches Bitmuster bestimmt wird, würde die Rechenzeit für die FEC-Codierung eher zunehmen. Folglich wird im Folgenden die Verwendung von nur "0"-Daten angenommen.
  • In dem Verschachteler wird die Codierung für jede Zeile ausgeführt wie in dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema. In diesem Fall werden die Codewörter, die den Datenabschnitt für m Symbole (Oktetten) umfassen, nur "0"-Daten für (124 – m) Symbole, und der Redundanzabschnitt für vier Symbole (Oktetten) für 39 Zeilen erzeugt. Die Codierung/Decodierung unterschiedlicher Zeilen wird parallel ausgeführt und derselbe Betriebsablauf wird für jede Zeile ausgeführt, so dass nur der Betriebsablauf für eine Zeile im Folgenden beschrieben wird.
  • Nun enthält eine Zeile des Verschachtelers m einzelne Nachrichtensymbole (1 ≤ m ≤ 124), und diese Nachrichtensymbole werden gekennzeichnet als: M = ([M – 1], M[m – 2], M[m – 3], ... M[0]) (16)beginnend von der linken Seite des Verschachtelers. Gelegentlich gibt es eine Zeile ohne irgendein Nachrichtensymbol und in einem solchen Fall wird kein m[*] in Entsprechung zu dieser Zeile existieren.
  • Auch gibt es 12 Symbole für die Codewörter und diese Codewort-Symbole werden gekennzeichnet als: C = (C[127], C[126], C[125], ..., C[3], C[2], C[1], C[0]) (17)beginnend mit der linken Seite des Verschachtelers. Beachte, dass die Nachricht M und das Codewort C in einer Eins-zu-Eins-Entsprechung zueinander stehen, so dass es für die einander Entsprechenden nicht absolut erforderlich wäre, dass sie denselben Symbolwert teilen, aber es vorzuziehen ist für die entsprechenden, denselben Symbolwert so sehr wie möglich zu teilen, speziell in einem Fall, in dem versucht wird, die Zunahme von Verzögerung durch Verschachtelung wie in dieser Ausführungsform zu unterdrücken.
  • Folglich werden die Nachrichtensymbole der obigen Gleichung (16) als Codewortsymbole der obigen Gleichung (17) gemäß der folgenden Entsprechung verwendet:
    Figure 00800001
    Figure 00810001
    und C[3], C[2], C[1] und C[0] werden als redundanter Abschnitt verwendet. Hier werden in der Gleichung (18) C[127 – m] bis C[4] nicht tatsächlich in das Netz ausgegeben.
  • Hierdurch wird es möglich, Nachrichten direkt von der oberen Schicht zu der unteren Schicht zu einem Zeitpunkt des Sendens zu senden. Es wird nämlich nicht erforderlich sein, die Nachricht einmal in den Verschachteler zu schreiben und die Nachricht kann durch den Verschachteler von der oberen Schicht derart gesendet werden, dass es einen Vorteil gibt, dass die Verzögerung reduziert werden kann. Hier werden jedoch die von der oberen Schicht zur unteren Schicht gesendeten Daten zum Zwecke der Berechnungsverarbeitung für die Redundanzsymbolerzeugung verwendet.
  • Andererseits wird zum Zeitpunkt des Empfangs die Fehlerprüfung unter Verwendung von CRC bei der unteren Schicht in Bezug auf den gesamten Datenbereich des Entschachtelers oder jeden aufgeteilten Abschnitt, der durch Aufteilen des gesamten Datenbereichs des Entschachtelers erhalten wird, ausgeführt. Wenn als Ergebnis der Fehlerprüfung beurteilt wird, dass es keinen Fehler im Datenbereich des Entschachtelers gibt, können die Daten im Datenbereich zu der oberen Schicht gesendet werden ohne in den Entschachteler geschrieben zu werden durch Anwenden nur der SSCS-Kopf/Anhangs-Verarbeitung bei der SSCS-Schicht. Auch kann der Redundanzabschnitt unmittelbar ohne irgendeine Verarbeitung verworfen werden, da er unnötig ist. Auf diese Weise gibt es einen Vorteil, dass der Durchsatz der empfangsseitigen Verarbeitung als ein Ganzes verbessert werden kann. Wenn die Ursprungsnachricht und das Codewort nicht in einer Form der obigen Gleichung (18) zum Teilen desselben Symbolwertes vorliegen, kann hier die Ursprungsnachricht nicht wiedergewonnen werden, solange nicht die gesamten Codewörter empfangen worden sind, so dass dieser Vorteil bezüglich des Durchsatzes der empfangsseitigen Verarbeitung nicht realisiert werden kann.
  • Im Obigen sind die Daten in dem Verschachtelermodul 8t hauptsächlich in Bezug auf einen Fall der 17 beschrieben worden. In diesem Fall kann mit Hilfe der oben beschriebenen Gleichung (18) C[127] bis C[4] recht leicht erzeugt werden.
  • Als Nächstes wird ein Schema zum Erzeugen des verbleibenden Redundanzabschnitts beschrieben. Dieser Redundanzabschnitt wird bei dem FEC-Hinzufügemodul 10t erzeugt nach dem Empfang der Daten von dem Verschachtelermodul 8t in der oben beschriebenen Konfiguration.
  • Hier wird angenommen, dass der RS-Code, wie er im AAL1 verwendet wird, zu verwenden ist, so dass als erster Schritt der Berechnung die Nachricht M in einer Polynom-Darstellung M(X) ausgedrückt wird, die durch die folgende Gleichung (19) geliefert wird: M(X) = M[m – 1]·X123 + M[m – 2]·X122 + ... + M[1]·X(123-m+2) + M[0]·X(123-m+1) (19)und dann werden die Koeffizienten e[m], f[m], g[m] und h[m], die die folgende Gleichung (20) erfüllen, erhalten. M(X)·X4 = Q(X)·G(X) + e[m]·X3 + f[m]·X2 + g[m]·X + h[m] (20)wobei Q(X) ein Quotient ist, der durch Dividieren von M(X)·X4 durch G(X) erhalten wird und die Terme auf der rechten Seite der Gleichung (20) außer Q(X)·G(X) der Rest sind. Der Dummy-Abschnitt im Datenbereich des Verschachtelers hat Werte "0", die nicht relevant sind für die FEC-Codierungsberechnung, so dass sie bereits in der Gleichung 20 weggelassen sind. Wenn demnach M(X) bestimmt wird, ist es ausreichend, die linke Seite der Gleichung (20) durch G(X) zu dividieren. Die Koeffizienten e[m], f[m], g[m] und h[m] entsprechen C[3], C[2], C[1] bzw. C[0], das heißt: C[3] = e[m] C[2] = f[m] C[1] = g[m] C[0] = h[m] (21)
  • In diesem sendeseitigen FEC-Verarbeitungsschema 2 variieren ein Koeffizient und ein Grad jedes Terms, der M(X) bildet nicht, wie bei dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 1, unabhängig von einem Wert von m in M(X). Der Datenwert M[m – 1] der ersten Spalte des Verschachtelers entspricht nämlich immer X123, und dies bleibt wahr, selbst wenn ein Datenwert für die zweite Spalte, ein Datenwert für die dritte Spalte etc. vorliegen. Sicherlich ist dies ähnlich auch für die zweite und nachfolgenden Spalten. Folglich gibt es in der Gleichung (20) einen Zusammenhang: L.H.S. = M(X)·X4 = M[m – 1]·X127 + M[m – 2]·X126 + + M[1]·X(127-m+2) + M[0]·X(127-m+1) (22)so dass es möglich wird, jeden Term in der Gleichung (22) durch G(X) getrennt zu dividieren, unabhängig von einem Wert von m.
  • Daher ist es möglich, als das Redundanzbereichs-Berechnungsschema in dieser Form ein Schema zu verwenden, in dem eine Division durch G(X) ausgeführt wird in Bezug auf alle Daten eines Symbols, die von dem Verschachteler ankommen, und einen resultierenden Rest zu einem bis zu diesem Paket berechneten Rest hinzuzufügen.
  • Dieses Rechenschema wird nun detailliert beschrieben.
  • Zuerst werden, wenn die ersten Daten des Verschachtelers ankommen, e[1], f[1], g[1] und h[1], die die folgende Gleichung (23) erfüllen, berechnet. M[m – 1]·X127 = (e[1]·X3 + f[1]·X2 + g[1]·X + h[1]) mod G(X) (23)
  • Dann, wenn die zweiten Daten in dem Verschachteler ankommen, wird die folgende Gleichung (24) ähnlich wie die Gleichung (23) berechnet: M[m – 2]·X126 = (e'[2]·X3 + f'[2]·X2 + g'[2]·X + h'[2]) mod G(X) (24) und dann wird die Redundanz für die Daten von zwei Symbolen berechnet durch Vornehmen einer EXKLUSIV-ODER-Verknüpfung wie in der folgenden Gleichung (25). e[2] = e[1] + e'[2] f[2] = f[1] + f'[2] g[2] = g[1] + g'[2] h[2] = h[1] + h'[2] (25)
  • Danach wird eine ähnliche Berechnung ausgeführt und letztendlich werden e[m], f[m], g[m] und h[m] erhalten. Durch nacheinander Berechnen auf diese Weise kann, wenn das letzte Symbol ankommt, der bei diesem Punkt berechnete Wert erhalten werden.
  • Beachte, dass die Berechnung in Modulo G(X) in der Gleichung (23) erscheinen wird und die Gleichung (24) einen beachtlichen Umfang an Rechenzeit erfordern wird, wenn sie jedes Mal ausgeführt wird. Folglich wird gewöhnlich vorgezogen, eine Tabelle von Werten in Modulo G(X) in Bezug auf jede Potenz von X zu haben.
  • In dieser Tabelle werden Werte von E[k], F[k], G[k] und H[k] durch Berechnen der folgenden Gleichung (26) erhalten: X(128 – k) = (E[k]·X3 + F[k]·X2 + G[k]·X + H[k]) mod G(X) (k = 1, 2, ..., 124) (26) und die Potenz von X in Entsprechung zu ihnen sollte registriert werden. Diese Tabelle hat nämlich einen Inhalt, wie in 23 gezeigt.
  • Wenn diese Tabelle von 23 für einen beliebigen Eingangsdatenwert M[m – k + 1] verwendet wird, kann die folgende Gleichung (27) erhalten werden: M[m – k]·(128-k) = M[m – k]·(E[k]·X3 + F[k]·X2 + G[k]·X + H[k]) mod G(X) = (e'[k]·X3 + f'[k]·X2 + g'[k]·X + h'(k]) mod G(X) (k = 1, 2, ..., m) (27)so dass der Wert des Restes für jedes Symbol leicht berechnet werden kann durch Berechnen der folgenden Gleichung (28) e'[k] = M[m – k]·E[k] f'[k] = M[m – k]·F[k] g'[k] = M[m – k]·G[k] h'[k] = M[m – k]·H[k] (k = 1, 2, ..., m) (28)wobei e[1] = e'[1], f[1] = f'[1], g[1] = g'[1] und h[1m] = h'[1].
  • Auf diese Weise wird die Berechnung ausgeführt bis das letzte Symbol ankommt oder bis der Symbolwert bis zur maximalen Spalte (124-te Spalte in dieser Ausführungsform) des in dem Verschachteler enthaltenen Datenbereichs berechnet ist. Dann wird zum nächsten Zeitpunkt bzw. Timing der berechnete Symbolwert von dem FEC-Hinzufügemodul 10t zu dem Verschachtelermodul 8t als FEC-Redundanzbereichsdaten gesendet gemeinsam mit den für die anderen Zeilen berechneten Symbolwerten. Hier werden Daten in einer Reihenfolge von e[m], f[m], g[m], h[m] gesendet.
  • In 17, wie in einem Fall des sendeseitigen FEC-Verarbeitungsschemas 1, das oben beschrieben worden ist, gibt es einen Auffüllungsabschnitt in der letzten Spalte und es ist möglich, ein Schema zu realisieren, in dem keine Daten für die FEC-Codierung zu diesem Abschnitt hinzugefügt werden. Jedoch ist es wünschenswert, mindestens ein Symbol für LI zu den Daten für die FEC-Codierung hinzuzufügen, so dass die tatsächliche Implementierung leichter erwartet wird durch Hinzufügen von irgendwas (selbst wenn es nur "0" Daten sind) auch zu dem Auffüllungsabschnitt. Wenn die FEC-Codierung, die keinerlei Auffüllungsabschnitt einschließt, auszuführen ist, kann es eine Zeile mit überhaupt keinen Daten geben (d.h., die Nachricht M ist "0"). In einem solchen Fall wird das FEC-Hinzufügemodul 10t Daten von e[0] = f[0] = g[0] = h[0] = 0 zu dem Verschachtelermodul 8t zurückgeben.
  • (3) Sendeseitiges FEC-Verarbeitungsschema 3
  • Hier wird ein FEC-Redundanzdaten-Erzeugungsschema in Entsprechung zu einem Schema zum Einfügen von Daten in einen Verschachteler auf der Sendeseite beschrieben, wie in 6 dargestellt.
  • In einem Fall, in dem das Schreiben in den Verschachteler zufällig vorgenommen wird, wie in 6, ist das systematische Schema, wie das oben beschriebene sendeseitige FEC-Verarbeitungsschema 1, nicht anwendbar. Aus diesem Grund ist dieses sendeseitige FEC-Verarbeitungsschema 3 ein Schema, bei dem der Rest für jedes Symbol unter Verwendung einer Tabelle berechnet wird ähnlich der, die bei dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 2 verwendet wird, und die Restwerte für die Symbole werden zusammenaddiert, um den FEC-Redundanzbereichswert zu erhalten.
  • Im Folgenden wird ein FEC-Redundanzdaten-Erzeugungsschema für einen Teil (a) und einen Teil (b) der 6 kurz beschrieben.
  • In dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 2 werden Daten in den Verschachteler von der oberen linken Ecke systematisch eingefügt, so dass der Tabelleninhalt auch systematisch angeordnet erscheint, wie in 23. Jedoch in Fällen eines Teils (a) und eines Teils (b) der 6, gibt es keine systematische Reihenfolge, so dass die Tabelle ähnlich der der 23 nur erzeugt werden kann nach vorhergehender Behandlung zwischen der Sendeseite und der Empfangsseite.
  • In einem Fall eines Teils (b) der 6 ist nur eine Reihenfolge des Schreibens von Spalten beliebig und die Art des Schreibens in Vertikalrichtung wird im Voraus bestimmt, so dass es ausreicht, die Tabelle der 23 in ähnlicher Weise zu verwenden wie in dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 2, aber in einem Fall eines Teils (a) der 6, wird nicht nur eine Reihenfolge des Schreibens von Spalten, sondern auch eine Reihenfolge des Schreibens innerhalb einer Spalte beliebig, so dass es einen Bedarf gibt, eine Tabelle in Bezug auf diese Reihenfolgen zusätzlich vorzusehen.
  • Zuerst wird ein Fall eines Teils (b) der 6 beschrieben. Hier wird angenommen, dass es sieben Spalten Datenbereich auf der rechten Seite und vier Spalten FEC-Redundanzbereich gibt. Beginnend vom linken Ende schließen Daten in der ersten Zeile fünfte, sechste, siebte (welche eigentlich Null sind), vierte, erste, dritte und sechste (welche eigentlich Null sind) Daten ein.
  • In diesem Fall, ähnlich dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 2, können die Nachrichtensymbole für die erste Zeile durch die Polynom-Darstellung M(X) wie in der folgenden Gleichung (29) gekennzeichnet werden. M(X) = M[4]·X6 + M[3]·X9 + M[2]·X5 + M[1]·X7 + M[0]·X10 (29)
  • Die nachfolgende Verarbeitung ist im Wesentlichen dieselbe wie ein Prozess von der Gleichung (20) zur Gleichung (28) in dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 2 mit Ausnahme der Werte der Koeffizienten M[*], e[*], f[*], g[*] und h[*]. Folglich kann unter Verwendung der Tabelle der 23 der Koeffizient "e" M[4] erhalten werden als e[122] = M[*]·E[122] (30)durch die obige Gleichung (28), und dann durch Vornehmen einer EXKLUSIV-ODER-Verknüpfung in einer Reihenfolge wie in den folgenden Gleichungen (31): e[119] = e[122] + M[3]·E[119] e[123] = e[119] + M[2]·E[123] e[121] = e[123] + M[1]·E[121] e[118] = e[121] + M[0]·E[118] (31)ist es möglich, das letzte e[118] zu erhalten. Die anderen Koeffizienten "f", "g" und "h" werden ebenfalls durch ähnliche Berechnungen erhalten. Auf diese Weise können Werte von e[118], f[118], g[118] und h[118] als Redundanzsymbole erhalten werden.
  • Als Nächstes wird ein Fall eines Teils (a) der 6 beschrieben. In diesem Fall unter der Annahme, dass das Schreiben in einer Einheit eines Symbols wie in der Figur angegeben ausgeführt wird, kann die Berechnung unter Verwendung einer Tabelle der 23 gemeinsam mit einer Tabelle der 24, die eine Zeilennummer und eine Spaltennummer für jedes Symbol registriert, ausgeführt werden. Hier wird angenommen, dass es sieben Datenbereichsspalten auf der rechten Seite gibt und vier FEC-Redundanzbereichsspalten. In diesem Fall wird auch angenommen, dass eine Zeilennummer in einer absteigenden Reihenfolge von der obersten Zeile zu der untersten Zeile zugewiesen wird.
  • Gemäß der Tabelle der 24 können die Nachrichtensymbole für die vierte Teile in einem Teil (a) der 6 durch die Polynom-Darstellung M(X) gekennzeichnet werden, wie in der folgenden Gleichung (32). M(X) = M[1]·X7 + M[11]·X5 + M[18]·X8 + M[19]·X9 (32)
  • Dann können unter Verwendung der Tabelle der 23 gerade wie in einem oben beschriebenen Fall eines Teils (b) der 6 der Koeffizient "e" für X3 erhalten werden durch Vornehmen einer EXKLUSIV-ODER-Verknüpfung in einer Reihenfolge, wie in den folgenden Gleichungen (33): e[121] = M[1]·E[121] e[124] = e[121] + M[11]·E[124] e[120] = e[124] + M[18]·E[120] e[119] = e[120] + M[19]·E[119] (33)
  • Die anderen Koeffizienten "f", "g" und "h" werden ebenfalls durch ähnliche Berechnungen erhalten.
  • Auf diese Weise können Werte von e[119], f[119], g[119] und h[119] erhalten werden wie die Redundanzsymbole für die vierte Zeile in einem Teil (a) der 6. Die Redundanzsymbole für die anderen Zeilen können ebenfalls durch die ähnlichen Berechnungen unter Verwendung unterschiedlicher Symbolnummern in der Nachricht M der obigen Gleichung (33) erhalten werden.
  • Wie beschrieben, kann die FEC-Redundanzbereichsberechnung für einen Teil (a) und einen Teil (b) der 6 durch geringfügiges Modifizieren des oben beschriebenen sendeseitigen FEC-Verarbeitungsschemas 2 realisiert werden.
  • Neben den Konfigurationen der 8 und 9 ist es auch möglich, eine Konfiguration zu betrachten, in der eine Spalte des Verschachtelers größer ist als eine Zelle, oder eine Konfiguration, in der ein SSCS-Kopf zu einer Vielzahl von Spalten des Verschachtelers hinzugefügt wird, und selbst in diesen Konfigurationen können die FEC-Redundanzsymbole durch die ähnlichen Berechnungen, wie oben beschrieben, für jeweils einen Fall der 14A und 14B, einen Fall der 17 und einen Fall der 5 berechnet werden.
  • Bis zu diesem Punkt sind drei Beispiele des FEC-Redundanzbereichs-Berechnungsschemas auf der Sendeseite beschrieben worden. Von hier an werden Beispiele des Decodier- und Fehlercodier-Schemas auf der Empfangsseite in Entsprechung zu jeweiligen der oben beschriebenen sendeseitigen FEC-Verarbeitungsschemata 1 bis 3 detailliert beschrieben.
  • Die von dem Verschachtelermodul 8t auf der Sendeseite ausgegebenen Daten werden als Zellen gesendet und erreichen die Empfangsseite. Auf der Empfangsseite werden die Daten nach dem Zellenzerlegen in das Entschachtelermodul 8r eingegeben. Die von einem bestimmten sendeseitigen Verschachteler empfangenen Daten umfassen eine oder mehrere CPCS-PDUs, die eine bestimmte Anzahl von Spalten des Datenbereichs in der Nutzlast enthalten und eine oder mehrere CPCS-PDUs, die eine bestimmte Anzahl von Spalten des FEC-Redundanzbereichs in der Nutzlast enthalten. Wenn alle CPCS-PDUs für den Datenbereich als vollständig fehlerfrei durch die CRC-Prüfung bei der CPCS-Schicht beurteilt worden sind, werden nur die SSCS-Köpfe/Anhänge bei der SSCS-Schicht entfernt und die Daten werden zu dem Oberschicht-Anwendungsmodul 4r gegeben ohne irgendeine fernere Verarbeitung. Dann können alle CPCS-PDUs für den FEC-Redundanzbereich verworfen werden, ohne in einen Speicher des Entschachtelers geschrieben zu werden.
  • Wenn jedoch ein Fehler durch die CRC-Prüfung selbst in einer einer Vielzahl von CPCS-PDUs für den Datenbereich erfasst wird, werden hier all die Daten für diesen Entschachteler, die jene des FEC-Redundanzbereichs einschließen, für die Fehlerkorrektur bei dem Entschachteler notwendig sein.
  • In einem Fall der 8 wird eine CPCS-PDU aus einer Spalte in dem Entschachteler gebildet und zusätzlich bildet dieser eine CPCS-PDU eine Zelle. Wenn die CRC-Prüfung des CPCS-Anhangs in der empfangenen CPCS-PDU zu einem abnormalen Ergebnis führt, impliziert dies aus diesem Grund, dass es einen Bitfehler gibt, der innerhalb dieser CPCS-PDU auftritt. An dieser Stelle wird die Spalte, in der der Fehler aufgetreten ist, von dem Entschachtelermodul 8r auf dieselbe Weise behandelt wie ein Fall eines Zellenverlustes während der Übertragung. Es wird nämlich betrachtet, als ob keine Zelle für diese eine Spalte angekommen wäre. Dann wird ein Ort einer daraus resultierenden übersprungenen Zelle durch Prüfen von SN in dem SSCS-Kopf bestimmt.
  • Andererseits, in einem Fall der 9, bildet eine Spalte des Entschachtelers eine Zelle, aber eine CPCS-PDU wird über eine Vielzahl von Spalten gebildet. Folglich verbleibt ein Zustand eines zufälligen Bitfehlers und eines Zellenüberspringens durch die Prüfung des CPCS-Anhangs alleine unbestimmt. Wenn es eine Zelle gibt, die in einer bestimmten CPCS-PDU übersprungen wird, ist es möglich, zu garantieren, dass die anderen Spalten des Entschachtelers, die zu dieser CPCS-PDU gehören, fehlerfrei sind durch die Funktion des CPCS-Anhangs alleine.
  • Aus diesem Grund wird ein Zellenüberspringen durch Verwenden von SN in dem SSCS-Kopf/Anhang bestimmt. Wenn ein Fehlerprüfbit zu dem SN selbst hinzugefügt wird, kann eine Sicherheit, imstande zu sein, einen übersprungenen Ort zu identifizieren, erhöht werden. Auch für einen zufälligen Bitfehler wird eine Fehlererfassungsfunktion in Bezug auf eine gesamte SSCS-PDU in dem SSCS-Kopf/Anhang bereitgestellt, der jeder Spalte des Entschachtelers hinzugefügt wird. Dann, nur wenn die Fehlererfassungsfunktion des CPCS-Anhangs nicht wirksam arbeitet bedingt durch Zellenverlust während der Übertragung, oder wenn ein Fehler in der CRC-Prüfung des CPCS-Anhangs bedingt durch einen Bitfehler entdeckt wird, wird eine Fehlerprüfung bezüglich der Entschachtelerspalte bei der SSCS-Schicht ausgeführt, und ein Vorhandenseins oder Fehlen eines Fehlers in jeder Spalte wird geprüft. Auf diese Weise wird es unabhängig von einer Größe der CPCS-PDU, ausreichend, eine Korrektur nur für ein Symbol vorzunehmen, das zu einer Verschachtelerspalte gehört, in der ein Bitfehler oder ein Zellenverlust tatsächlich entdeckt worden ist.
  • Auch ist es möglich, einen anderen Fall zu betrachten, in dem eine Spalte des Entschachtelers mehrere Zellen bildet, und SSCS-PDU und CPCS-PDU, die eine Spalte in der Nutzlast enthalten, auszubilden sind. Selbst in diesem Fall wird es, wenn während der Übertragung eine Zelle verworfen wird, unmöglich, einen Symbolfehler in dem anderen Abschnitt unter Verwendung des CPCS-Anhangs zu erfassen. In diesem Fall ist es, um die Berechnung zu vereinfachen, möglich, diese eine Spalte als Ganzes als verworfen zu betrachten und eine Fehlerkorrektur für diese eine Spalte als Ganzes zu versuchen. Auf diese Weise wird die Fehlerkorrekturkapazität irgendwie verringert werden verglichen mit einem Fall, beispielsweise der 8, aber die Verarbeitungsverzögerung kann gering gehalten werden. Ein Ort einer Spalte des Entschachtelers, der als verworfen betrachtet wird, kann unter Verwendung des SSCS-Kopfs/Anhangs identifiziert werden.
  • Die Daten, von denen der SSCS-Kopf entfernt wird, werden in den Entschachtelerbereich in exakt derselben Reihenfolge wie in dem Verschachteler geschrieben. Diese Schreibreihenfolge wird als durch die vorangehende Verhandlung zwischen der Sendeseite und der Empfangsseite dediziert angenommen. An dieser Stelle kann ein Abschnitt mit einer Überspringung explizit in einem anderen Bereich angegeben werden, oder Dummy-Daten können dort geschrieben werden. Dann werden diese Daten zu dem FEC-Korrekturmodul 10r gegeben und ein Symbolüberspringungsabschnitt wird dort reproduziert. Danach werden Nachrichtendaten von dem Entschachtelermodul 8r in derselben Reihenfolge ausgelesen wie sie eingeschrieben worden sind und an das Anwendungsverarbeitungsmodul 4r der Empfangsseite gegeben.
  • Im Folgenden werden Beispiele der Fehlerkorrekturverarbeitung, die bei dem FEC-Korrekturmodul 10r der Empfangsseite auszuführen sind, in Entsprechung zu den oben beschriebenen sendeseitigen FEC-Verarbeitungsschemata 1 bis 3 beschrieben. Dieses FEC-Korrekturmodul 10r wird betrieben, wenn es ein Symbolfehler innerhalb eines korrigierbaren Bereichs in irgendeiner Spalte des Entschachtelers gibt und sein Ort bekannt ist, so dass Beispiele für einen solchen Fall im Folgenden beschrieben werden. Hier wird ein Fall der 7, in dem eine Spalte des Verschachtelers vollständig in der Nutzlast einer Zelle enthalten ist, und die Nutzlast in der SSCS-Schicht durch eine Spalte allein gebildet wird, beschrieben, aber die folgenden Schemata sind in gleicher Weise anwendbar auf andere Entschachteler-Konfigurationen.
  • (4) Empfangsseitiges FEC-Verarbeitungsschema 1
  • Hier entspricht ein Fehlerkorrekturschema unter Verwendung eines Entschachtelers einem Verschachteler in dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 1.
  • In dem sendeseitigen FEC-Verarbeitungsschema 1 ist ein Fall mit vier Symboln für den FEC-Redundanzbereich beschrieben worden, so dass dieses empfangsseitige FEC-Verarbeitungsschema 1 auch für einen solchen Fall beschrieben wird. In diesem Fall des FEC-Redundanzbereichs, der vier Symbole hat, können, wenn ein Ort jedes Fehlersymbols bekannt ist, Fehler in bis zu vier Symbolen korrigiert werden.
  • Nun sei angenommen, dass es Fehler oder Überspringungen bei dem s-ten, t-ten, dem u-ten und dem v-ten Symbol gibt, wobei 0 < s < t < u < v < (m + 1) gilt.
  • Wie in dem sendeseitigen FEC-Verarbeitungsschema 1 beschrieben, erfordert ein Fall der 15 den Entschachteler in einer Konfiguration, in der Symbole auf der rechten Seite des Entschachtelers gepackt sind. Ein Umfang an Datenauffüllen des Entschachtelers ist jedes Mal variabel, so dass zu einem Zeitpunkt eines Empfangsstarts nicht vorhergesagt werden kann, wie viele Daten empfangen werden. Folglich gibt es ähnlich wie auf der Sendeseite einen Bedarf zum Ausführen der Decodierungs-Verarbeitung, die flexibel eine variable Symbollänge handhaben kann.
  • Unter der Annahme, dass eine Empfangssymbolfolge zusammen m Symbole für die Nachrichtensymbole und die Redundanzsymbole enthält, kann sie wie die folgende Gleichung (34) in Übereinstimmung mit der obigen Gleichung (17) ausgedrückt werden. R = (C[m – 1], c[m – 2], ..., C[m – s + 1], E[m – s], C[m – s – 1], ..., C[m – t + 1], E[m – t], C[m – t – 1], ..., C[m – u + 1], E[m – u], C[m – u – 1], ..., C[m – v + 1], E[m – v], C[m – v – 1], ..., C[0]) (34)wobei E[*] einen Abschnitt mit einem Fehler kennzeichnet und C[*] einen Abschnitt kennzeichnet, bei dem die Daten der Sendeseite korrekt empfangen worden sind. Diese Gleichung (34) wird für einen allgemeinen Fall geschrieben, aber E[*] kann sehr gut ein erstes oder ein letztes Symbol sein und eine Vielzahl von E[*] können sehr gut aufeinanderfolgen. Vor der Verarbeitung bei dem FEC-Korrekturmodul 10r ist das Vorhandenseins oder Fehlen eines Fehlers in jedem Symbol bereits bestimmt worden. Wenn es kein Symbol mit einem Fehler gibt, wird die Gleichung (34): C = (C[m – 1], C[m – 2], ..., C[0]) (35)und das Polynom C(X) gemäß diesem Ausdruck kann geteilt werden durch das Generatorpolynom G(X) ohne Rest. Dies impliziert, dass C(α120) = C(α121) = C(α122) = C(α123) = 0 (36)
  • Jedoch, wenn das Polynom R(X) gemäß der empfangenen Symbolfolge R mit Fehlersymbolen geteilt wird durch G(X), ist der Rest nicht Null. Hier wird der Rest bedingt durch jeden Fehler als Syndrom S[i] (i = 1, 2, 3, 4) folgendermaßen gekennzeichnet S[1] = R(α120) S[2] = R(α121) S[3] = R(α122) S[4] = R(α123) (37)
  • Hier wird angenommen, dass um die Korrektur zu vereinfachen, die Koeffizienten für E[*]-Abschnitte in R(X) folgendermaßen festgelegt sind. E[m – s] = E[m – t] = E[m – u] = E[m – v] = 0 (38)
  • Dann kann das Syndrom S[i] (i = 1, 2, 3, 4) durch die folgende Prozedur berechnet werden.
  • Schritt 1: Festlegen von S[1] = S[2] = S[3] = S[4] = 0
  • Schritt 2: Jedesmal, wenn ein Symbol ankommt, d.h., jedes Mal wenn eine Spalte den Entschachteler erreicht), wird das Syndrom S[i] in Übereinstimmung mit den folgenden Regeln aktualisiert:
    • (ii) wenn das ankommende Symbol korrekt ist, S[i] ← S[i]·α(119+i) + C[m – k]
    • (ii) wenn das ankommende Symbol ein Fehler ist S[i] ← s[i]·α(119+j) + E[m – k] (i = 1, 2, 3, 4), (k = 1 bis m) (39)
    wobei + ein EXKLUSIV-ODER kennzeichnet. Beachte hier, dass durch die obige Gleichung (38) E[m – k] = 0 gilt.
  • Schritt 3: ein Syndromwert kann als ein Wert von S[i] (i = 1, 2, 3, 4) zu einem Zeitpunkt des Ausführens des Schrittes 2 bis zum letzten Symbol erhalten werden.
  • Im Folgenden wird der Schritt 2 in der obigen Prozedur detailliert beschrieben. Letztendlich ist es erforderlich, einen Wert für die Gleichung (37) zu erhalten, aber bis der Empfang abgeschlossen ist, verbleibt unbekannt, wie viele Symbole es gibt. Folglich gibt es einen Bedarf für die Rechnung, jedes Mal ausgeführt zu werden, wenn ein Symbol empfangen wird, und es gibt einen Bedarf für die Berechnung, die aus dem Syndrom S[i] (i = 1, 2, 3, 4) resultiert, die immer einen Syndromwert bis zu dem Punkt angibt, so dass der Syndromwert verfügbar ist, unabhängig davon, ob der Symbolempfang beendet ist.
  • Tatsächlich werden in dem obigen Schritt 2 die Berechnungen äquivalent zu dem Folgenden ausgeführt. Zuerst, wenn das erste Symbol C[m – 1] ankommt, ist der Syndromwert gegeben durch: S[i] = C[m – 1] (i = 1, 2, 3, 4) (40)
  • Als nächstes, wenn das zweite Symbol C[m – 2] ankommt, wird der Syndromwert gegeben durch S[i] = C[m – 1]·α(119+i) + C[m – 2] (i = 1, 2, 3, 4) (41)
  • In ähnlicher Weise wird der Syndromwert letztendlich S[i] = C[m – 1]·(α(119+i))(m-1) + C[m – 2]·(α(119+i))(m-2) + ... + C[1]·(α(119+i)) + C[0] (i = 1, 2, 3, 4) (42)welches dasselbe ist wie die obige Gleichung (37).
  • Auf diese Weise nimmt das Syndrom, wenn das k-te Symbol ankommt, S[i] (i = 1, 2, 3, 4) eine Form an, in der α(119+i) ersetzt wird in dem Polynom (k – 1)-ten Grades, so dass egal, wann das Symbol ankommt von der Seite des Entschachtelers, der korrekte Syndromwert in der Entschachteler-Konfiguration dieser Ausführungsform zu diesem Zeitpunkt bereits angegeben ist. In den obigen Gleichungen (40) bis (42) können dies Abschnitte, die Symbole mit Fehlern empfangen, neu geschrieben werden von C[*] bis E[*].
  • Als Nächstes wird eine Bedeutung des auf diese Weise erhaltenen Syndromwertes beschrieben. Wenn ein Symbol mit einem Fehler korrekt empangen worden ist, kann dies ausgedrückt werden durch C[m – k] (k = s, t, u v). Dann kann unter Verwendung dieser Symbole das Syndrom S[i] der obigen Gleichung (37) folgendermaßen ausgedrückt werden. S[1] = R(α120) = C(α120) + (E[m – s] – C[m – s])·α120(m-s) + (E[m – t] – C[m – t])·α120(m-t) + (E[m – u] – C[m – u])·α120(m-u) + (E[m – v] – C[m – v])·α120(m-v) = –C[m – s]·α120(m-s) – C[m – t]·α120(m-t) -C[m – u]·α120(m-u) – C[m – v]·α120(m-v) (43)
  • In ähnlicher Weise können die andere Syndrome S[2], S[3] und S[4] folgendermaßen ausgedrückt werden. S[2] = –C[m – s]·α121(m-s) – C[m – t]·α121(m-t) –C[m – u]·α121(m-u) – C[m – v]α121(m-v) S[3] = –C[m – s]·α122(m-s) – C[m – t]·α122(m-t) – C[m – u]·α122(m-u) – C[m – v]·α122(m-v) S[4] = –C[m – s]·α123(m-s) – C[m – t]·α123(m-t) –C[m – u]·α123(m-u) – C[m – v]·α123(m-v) (44)
  • Hier wird nur eine Verwendung des Binärsignals (0, 1) angenommen, so dass + und – beide EXKLUSIV-ODER sind. Daher kann durch Kombinieren der Gleichungen (43) und (44) das Syndrom folgendermaßen ausgedrückt werden. S[i] = C[m – s]·α(119+i)(m-s) + C[m – t]·α(119+i)(m-t) + C[m – u]·α(119+i)(m-u) + C[m – v]·α(119+i)(m-v) (i = 1, 2, 3, 4) (45)
  • Wenn Werte von S[i] (i = 1, 2, 3, 4) durch den Schritt 2 auf diese Weise erhalten werden, wird die Gleichung (45) eine simultane Gleichung für C[m – s], C[m – t], C[m – u] und C[m – v]. Dann kann durch Lösen dieser Simultangleichungen der korrekte Symbolwert für jedes Symbol erhalten werden. In dieser Ausführungsform wird angenommen, dass es kein Übersehen eines Fehlersymbols gibt (d.h., ein Symbol mit einem Fehler wird sicher durch die SSCS-Schicht und darunter erfasst, und es gibt kein anderes Symbol mit einem Fehler), so dass diese Simultangleichungen immer einen einzigartigen Satz von Lösungen haben.
  • Die Lösungen in diesem Fall sind folgendermaßen. C[m – s] = {S[4] + (α(m-t) + α(m-u) + α(m-v))·S[3] + (α(2m-t-u) + α(2m-t-v) + α(2m-t-v))·S[2] + α(3m-t-u-v)·S[1]} /α120(m-s)·(α(m-t) + α(m-v))·(α(m-t) + α(m-u)·(α(m-u) + α(m-v))} C[m – t] = {S[4] + (α(m-s) + α(m-u) + α(m-v))·S[3] + (α(2m-s-u) + α(2m-s-v) + α(2m-s-v))·S[2] + {α(3m-s-u-v)·S[1]} /{α120(m-t)·(α(m-s) + α(m-v))·(α(m-s) + α(m-u))·(α(m-u) + α(m-v))} C[m – u] = {S[4] + (α(m-t) + α(m-s) + α(m-v))·S[3] + (α(2m-t-s) + α(2m-t-v) + α(2m-s-v))·S[2] + α(3m-t-s-v))·S[1]} /{α120(m-u)·(α(m-t) + α(m-v))·(α(m-t)) + α(m-s))·(α(m-s) + α(m-v))} C[m – v] = {S[4] + (α(m-t) + α(m-u) + α(m-s))·S[3] + (α(2m-t-u) + α(2m-t-s) + α(2m-u-s))·S[2] + α(3m-t-u-s)·S[1]} /{α120(m-v)·(α(m-t) + α(m-s))·(α(m-t) + α(m-u))·(α(m-u) + α(m-s))} (46)
  • In der Gleichung (45) wird, wenn es nur ein Fehlersymbol gibt (welches als E[m-s] angenommen wird), dann die Gleichung (45) reduziert auf: S[i] = C[m – s]·α(119+i)(m-s) (i = 1, 2, 3, 4) (47)und daraus folgt, dass: C[m – s] = α(119+i)(m-s)/S[i] (i = 1, 2, 3, 4) (48)
  • Dies ist wahr unabhängig von einem Wert von i, so dass es ausreicht, für ein i zu berechnen. Diese impliziert, dass in den Formeln (37) ausreicht, nur einen Term wie z.B. S[1] zu berechnen und es nicht notwendig ist, irgendwelche weitere Syndromberechnung auszuführen, so dass ein Umfang der Berechnungen sehr reduziert werden kann.
  • Auch wenn es nur zwei Fehlersymbole gibt (welche als E[m-s] und E[m-t] angenommen werden), wird die Gleichung (45) dann reduziert auf: S[i] = C[m – s]·α(119+i)(m-s) + C[m – t]·α(119+i)(m-t) (i = 1, 2, 3, 4) (49)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur zwei Syndrome wie z.B. S[1] und S[2] zu berechnen, so dass ein Berechnungsumfang sehr reduziert werden kann gegenüber dem der andernfalls für die andere Symbole erforderlich wäre.
  • In diesem Fall sind die Lösungen folgende. C[m – s] = (S[2] + α(m-t)·S[1]) /α120(m-s)·(α(m-s) + α(m-t) C[m – t] = (S[2] + α(m-s)·S[1]) /{α120(m-t)·(α(m-s) + α(m-t))} (50)
  • Auch wenn es nur drei Fehlersymbole gibt (die als E[m – s], E[m – t] und E[m – u] angenommen werden), wird die Gleichung (45) dann reduziert auf: S[i] = C[m – S]·α(119+i)(m-s) + C[m – t]α(119+i)(m-t) + C[m – u]·α(119+i)(m-u) (i = 1, 2, 3, 4) (51)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur drei Syndrome wie z.B. S[1], S[2] und S[3] zu Berechnen, so dass ein Umfang der Berechnungen sehr reduziert werden kann im Gegensatz zu dem, der anderenfalls erforderlich wäre für S[4].
  • In diesem Fall sind die Lösungen die folgenden. C[m – s] = {S[3] + α(m-t) + α(m-u)·S[2] + α(2m-t-u)·S[1]}/α120(m-s)·α(m-s) + α(m-t))·(α(m-s) + α(m-u))} C[m – t] = {S[3] + (α(m-s) + α(m-u))·S[2] + α(2m-s-u)·S[1]}/{α120(m-t)·(α(m-s) + α(m-t))·(α(m-t) + α(m-u))} C[m – u] = {S[3] + (α(m-t) + α(m-s))·S[2] + α(2m-t-s)·S[1]}/α120(m-u)·(α(m-u) + α(m-t))·(α(m-s) + α(m-u))} (52)
  • In den obigen Berechnungen sind viele Berechnungen von Potenzen von α erforderlich. Aus diesem Grund kann die schnellere Berechnung realisiert werden durch Vorbereiten einer Tabelle für die regelmäßig entdeckten Berechnungen wie z.B. α120.
  • (5) Empfangsseitiges FEC-Verarbeitungsschema 2
  • Hier entspricht ein Fehlerkontrollschema unter Verwendung eines Entschachtelers dem eines Verschachtelers in dem oben beschriebenen sendeseitigen FEC-Verarbeitungsschema 2.
  • In ähnlicher Weise wie in dem oben beschriebenen empfangsseitigen FEC-Verarbeitungsschema 1 wird ein Fall mit vier Symbolen für den FEC-Redundanzbereich hier derart angenommen, dass wenn ein Ort eines jeweiligen Fehlersymbols bekannt ist, Fehler in bis zu vier Symbolen korrigiert werden können.
  • Hier wird auch angenommen, dass es Fehler oder Überspringungen gibt bei den s-ten, den t-ten, den u-ten und den v-ten Symbolen, wobei 0 < s < t < u < v < (m + 5) gilt.
  • Wie in dem sendeseitigen FEC-Verarbeitungsschema 2 beschrieben, erfordert ein Fall der 17 den Entschachteler in einer Konfiguration, in der Symbole auf der linken Seite des Entschachtelers gepackt sind während die Symbole des FEC-Redundanzbereichs in vier Spalten am rechten Ende des Entschachtelers eingegeben werden. In ähnlicher Weise wie in dem oben beschriebenen empfangsseitigen FEC-Verarbeitungsschema 1 wird ein Umfang des Datenauffüllens des Entschachtelers jedes Mal variabel, so dass zu einem Zeitpunkt des Starts des Empfangs nicht vorhergesagt werden kann, wie viele Daten empfangen werden. Folglich gibt es ähnlich wie auf der Sendeseite einen Bedarf, die Decodierverarbeitung auszuführen, die unmittelbar gestartet werden kann, wenn der Symbolempfang beginnt, und die unmittelbar fortschreiten kann zur Fehlerkorrekturverarbeitung, egal wann der Symbolempfang endet.
  • Nicht wie bei dem oben beschriebenen empfangsseitigen FEC-Verarbeitungsschema 1, wird angenommen, dass eine empfangene Symbolfolge m Symbole für den Datenbereich enthält (0 < m < 125) und vier Symbole für den FEC-Redundanzbereich. In diesem Fall kann die Empfangssymbolfolge ausgedrückt werden als die folgende Gleichung (53) in Übereinstimmung mit der obigen Gleichung (17). R = (C[127], c[126], ..., C[128 – s + 1], E[128 – s], C[128 – s – 1], ..., C[128 – t + 1], E[128 – t], C[128 – t – 1], ..., C[128 – u + 1], E[128 – u], C[128 – u – 1], ..., C[128 – v + 1], E[128 – v], C[128 – v – 1], ..., C[128 – m ), 0, 0, ..., C[3], C[2], C[1], C[0]) (53)wobei E[*] einen Abschnitt mit einem Fehler repräsentiert und C[*] einen Abschnitt repräsentiert, bei dem die Daten der Sendeseite korrekt empfangen werden. Diese Gleichung (53) ist für einen allgemeinen Fall geschrieben, aber E[*] kann sehr gut ein vorderes oder ein letztes Symbol für den Datenbereich oder den FEC-Redundanzbereich sein, und eine Vielzahl von E[*] können sehr gut aufeinanderfolgen. zwischen C[128-m] und C[3] ist ein leerer Datenbereich ("0"-Datenabschnitt) in der Entschachteler-Matrix, welcher impliziert, dass sie nicht zu übertragen oder zu empfangen sind. Sicherlich, wenn m = 124 ist, existiert dieser leere Datenbereich nicht.
  • Nun, vor der Verarbeitung bei dem FEC-Korrekturmodul 10r, ist das Vorhandenseins oder Fehlen eines Fehlers in jedem Symbol bereits bestimmt worden. Hier wird angenommen, dass – um die Korrektur zu vereinfachen, die Koeffizienten für E[128-s], E[128-t], E[128-u] und E[128-v] alle in der Gleichung (53) auf Null gesetzt sind und die entsprechenden Symbol nach der Korrektur als C[128-s], C[128-t], C[128-u], bzw. C[128-v] gekennzeichnet werden.
  • Ähnlich wie bei dem empfangsseitigen FEC-Verarbeitungsschema 1, das oben beschrieben worden ist, kann wenn das Syndrom S[i] (i = 1, 2, 3, 4) durch die Gleichung (37) definiert ist, dieses Syndrom durch die folgende Prozedur berechnet werden.
  • Schritt 1: Setze S[i] = 0 (i = 1, 2, 3, 4)
  • Schritt 2: Jedesmal wenn ein Symbol ankommt, wird das Syndrom S[i] in Übereinstimmung mit den folgenden Regeln aktualisiert:
    • (i) wenn das ankommende Symbol korrekt ist, S[i] ← S[i] + C[128 – k]·α(119+i)(128-k)
    • (ii) wenn das ankommende Symbol ein Fehler ist, S[i] ← s[i] (k = 1, 2, ..., m oder k = 125, 126, 127, 128) (i = 1, 2, 3, 4) (54)
  • Schritt 3: Ein Syndromwert kann als ein Wert von S[i] (i = 1, 2, 3, 4) zu einem Zeitpunkt des Ausführens des Schritts 2 bis zum letzten Symbol erhalten werden.
  • Wenn in der obigen Prozedur die Ankunft des Korrektdatenbereichssymbols zu einem Zeitpunkt bzw. mit einem Timing einer Ankunft von C[127] endet, dann ist S[i] gegeben durch: S[i] = C[127]·α(127(119+i) + C[3]·α3(119+i) + C[2].α2(119+i) + C[1]·α(119+i) + C[0] (i = 1, 2, 3, 4) (55)
  • Dies ist genau das Syndromberechnungsergebnis für einen Fall, in dem ein Symbol von C[127] an einem linken Ende des Entschachtelers in 17 angeordnet ist. Selbst wenn dieses Symbol nur ein korrekter Datenwert ist, kann durch Hinzufügen eines Wertes für den FEC-Redundanzbereich zu diesem der Syndromwert für die Entschachteler-Konfiguration in dieser Ausführungsform erhalten werden. Dieses Berechnungsschema kann nämlich immer den korrekten Syndromwert erhalten, egal wann die Symbolantwort endet.
  • Die auf diese Weise erhaltenen Syndromwerte werden alle zu 0, wenn es überhaupt keinen Fehler in den empfangenen Symbolen gibt. Im Allgemeinen kann ähnlich der Gleichung (45) des oben beschriebenen empfangsseitigen FEC-Verarbeitungsschemas 1 das Syndrom folgendermaßen ausgedrückt werden. S[1] = C[128 – s]·α(119+i)(128-s) + C[128 – t]·α(119+i)(128-t) + C[128 – u]·α(119+i)(128-u) + C[128 – v]·α(119+i)(128-v) (i = 1, 2, 3, 4) (56)
  • Die Fehlerkorrekturverarbeitungen bei dem FEC-Korrekturmodul 10r wird dann eine Berechnung zum Erhalten jedes Symbols C[128 – k] (k = s, t, u, v) der Gleichung (56) unter Verwendung der Syndromwerte S[i] (i = 1, 2, 3, 4), durch den obigen Schritt 2 erhalten werden.
  • Die Lösungen der Simultangleichungen vierten Grades sind in diesem Fall folgende: C[128 – s] = {S[4] + (α(128-t) + α(128-u) + α(128-v)) ·S[3] + (α(256-t-u) + α(256-t-v) + α(256-u-v))·S[2] + α(384-t-u-v)·S[1]} /α(120(128-s)·α(128-t) + α(128-v)) ·(α(128-t) + α(128-u)) ·(α(128-t) + α(128-v))} C[128-t] = {S[4] + (α(128-s) + α(128-u) + α(128-v)) ·S[3] + (α(256-s-u)) + α(256-s-v) + α(256-u-v))·S[2] + α(384-s-u-v)·S[1]} /α120(128-t)·(α(128-s) + α(128-v)) α(128-s) + α(128-u)) α(128-u) + α(128-v))} C[128 – u] = {S[4] + (α(128-t) + α(128-s) + α(128-v)) ·S[3] + (α(256-t-s) + α(256-t-v) + α(256-s-v))·S[2] + α(384-t-s-v)·S[1]} /α120(128-u)·α(128-t)+ α(128-v)) ·(α(128-t) + α(128-s)) ·α(128-s) + α(128-v))} C[128 – v] = {S[4] + (α(128-t) + α(128-u) + α(128-s)) ·S[3] + (α(256-t-u) + α(256-t-s) + α(256-u-s))·S[2] + α(384-t-u-s)·S[1]} /α120(128-v)·(α(128-t) + α(128-s)) ·(α(128-t) + α(128-u)) α(128-u) + α(128-s))} (57)
  • In der Gleichung (56) wird, wenn es nur ein Fehlersymbol (welches als E[128 – s] angenommen wird) gibt, reduziert sich dann die Gleichung (56) auf: S[i] = C[128 – s]·α(119+i)(128-s) (i = 1, 2, 3, 4) (58)und daraus folgt, dass: C[128 – s] = α(119+i)(128-s)/S[i] (i = 1, 2, 3, 4) (59)
  • Dies gilt unabhängig von einem Wert von i, so dass es ausreichend ist, für ein i berechnet zu werden. Dies impliziert, dass in den Formeln (54) ausreicht, nur einen von ihnen wie z.B. S[1] zu berechnen und es nicht notwendig ist, irgendeine weitere Syndromberechnung auszuführen, so dass ein Umfang der Berechnungen sehr reduziert werden kann.
  • Auch, wenn es nur zwei Fehlersymbole gibt (welche als E[128 –s] und E[128 – t] angenommen werden), dann wird die Gleichung (56) reduziert auf: S[i] = C[128 – s]·α(119+i)(128-s) + C[128 – t]·α(119+i)(128-t) (i = 1, 2, 3, 4) (60)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur zwei Syndrome wie z.B. S[1] und S[2] zu berechnen, so dass ein Berechnungsumfang so sehr reduziert werden kann gegenüber dem, der für die anderen Symbole andernfalls erforderlich wäre.
  • In diesem Fall sind die Lösungen folgende. C[128 – s] = (S[2] + α(128-t)·S[1]) /{α120(128-s)·(α(128-s) + α(128-t))} C[128 – t] = (S[2] + α(128-s)·S[1]) /{α120(128-t)·(α(128-s) + α(128-t))} (61)
  • Auch, wenn es nur drei Fehlersymbole gibt, die als E[128 – s], E[128 – t] und E[128 – u] angenommen werden), wird dann die Gleichung (56) reduziert zu: S[i] = C[128 – s]·α(119+i)(128-s) + C[128 – t]·α(119+i)(128-t) + C[128 – u]·α(119+i)(128-u) (i = 1, 2, 3, 4) (62)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur drei Syndrome wie z.B. S[1], S[2] und S[3] zu berechnen, so dass ein Umfang der Berechnungen reduziert werden kann verglichen mit dem, der andernfalls erforderlich wäre für S[4].
  • In diesem Fall sind die Lösungen die folgenden. C[128 – s] = {S[3] + (α(128-t) + α(128-u))·S[2] + α(256-t-u)·S[1]}/{α120(128-s)·(α(128-s) + α(128-t))·(α(128-s) + α(128-u))} C[128 – t] = {S[3] + (α(128-s) + α(128-u))·S[2] + α(256-s-u)·S[1]}/{α120(128-t)·(α(128-s) + α(128-t))·(α(128-t) + α(128-u))} C[128 – u] = {S[3] + (α(128-t) + α(128-s))·S[2] + α(256-t-s)·S[1]}/α120(128-u)·α(128-u) + α(128-t))·(α(128-s) + α(128-u))} (63)
  • In den obigen Berechnungen wird eine signifikante Berechnungszeit erforderlich sein beim Berechnen von α(119+i)(128-k), (k = 1 bis 128), (i = 1, 2, 3, 4), so dass die schnellere Berechnung realisiert werden kann durch Vorbereiten einer Tabelle unter Verwendung von Parametern i und k für die regelmäßig erhaltenen Berechnungen der Potenzen von α.
  • (6) Empfangsseitiges FEC-Verarbeitungsschema 3
  • Hier entspricht ein Fehlerkorrekturschema unter Verwendung eines Entschachtelers einem Verschachteler in dem sendeseitigen oben beschriebenen FEC-Verarbeitungsschema 3.
  • In ähnlicher Weise wie in den oben beschriebenen empfangsseitigen FEC-Verarbeitungsschemata 1 und 2 wird hier ein Fall mit vier Symbolen für den FEC-Redundanzbereich derart angenommen, dass wenn ein Ort eines jeweiligen Fehlersymbols bekannt ist, Fehler in bis zu vier Symbole korrigiert werden können.
  • Hier wird auch angenommen, dass es Fehler oder Überspringungen bei s-ten, t-ten, u-ten und v-ten Symbolen gibt, wobei 0 < s y t < u < v < (m + 5) gilt.
  • In einem Fall der 6 ist jedes ankommende Symbol für den Datenbereich beliebig angeordnet, während die Symbole für den FEC-Redundanzbereich in den vier Spalten am rechten Ende des Entschachtelers angeordnet sind gerade wie in den oben beschriebenen empfangsseitigen FEC-Verarbeitungsschemata 1 und 2. In diesem Fall ist wieder ein Umfang an Datenauffüllung des Entschachtelers jedes Mal variabel, so dass zu einem Zeitpunkt des Starts oder Empfangs nicht vorhergesagt werden kann, wie viele Daten empfangen werden. Folglich gibt es ähnlich wie auf der Sendeseite einen Bedarf, die Decodierverarbeitung auszuführen, die flexibel eine variable Symbollänge handhaben kann.
  • Im Allgemeinen können empfangene Symbole mit einem Fehler durch die Gleichung (34) ausgedrückt werden während die empfangenen Symbole ohne einen Fehler durch die Gleichung (35) ausgedrückt werden können. Im Folgenden werden konkrete Fälle eines Teils (a) und eines Teils (b) der 6 beschrieben.
  • Zuerst kann in einem Fall eines Teils (b) der 6, wenn alle Symbole korrekt empfangen worden sind, die empfangene Symbolfolge ausgedrückt werden als: C = (C[8], C[7], ..., C[0]) (64)wobei C[3], C[2], C[1] und C[0] die Symbole für den FEC-Redundanzbereich sind. Das Polynom C(X) in Übereinstimmung mit dieser Empfangssymbolfolge kann folgendermaßen ausgedrückt werden. C(X) = C[8]·X6 + C[7]·X9 + C[6]·X5 + C[5]·X7 + C[4]·X10 + C[3]·X3 + C[2]·X2 + C[1]·X + C[0] (65)
  • In diesem Beispiel werden neun Symbole empfangen, aber in der Praxis können bis zu 128 Symbole empfangen werden. In ähnlicher Weise wie auf der Sendeseite gibt es einen Bedarf, eine Tabelle bereitzustellen, die angibt, welches Symbol zu welcher Spalte gehört (d.h., welche Potenz von X welchem jeweiligen Symbol entspricht, was erforderlich ist beim Erzeugen der Gleichung (65)) für jedes der empfangenen Symbole.
  • Nun wird angenommen, dass maximal vier Symbole unter den Symbolen in der Gleichung (65) fehlerhaft sind. Hier wird jedoch, wenn die Fehler nur in den Redundanzsymbolen liegen, keine Fehlerkorrekturverarbeitung ausgeführt, so dass angenommen wird, dass mindestens ein Fehlersymbol ein Symbol ist, das zum Datenbereich gehört.
  • Dann, in ähnlicher Weise wie bei den oben beschriebenen empfangsseitigen FEC-Verarbeitungsschemata 1 und 2, wird die Berechnung des Syndroms S[i] gemäß einer Anzahl von Fehlern ausgeführt. Durch Ausführen der Berechnung so vieler Syndrome wie die Anzahl der Fehlersymbole, wird es möglich, eine Fehlerkorrektur auszuführen. Das Syndrom S[i] (i = 1, 2, 3, 4) kann durch die folgende Prozedur berechnet werden.
  • Schritt 1: Setze S[i] = 0 (i = 1, 2, 3, 4)
  • Schritt 2: Jedesmal wenn Symbole ankommen, wird das Syndrom S[i] in Übereinstimmung mit den folgenden Regeln aktualisiert:
    • (i) wenn das ankommende Symbol korrekt ist, S[i] ← S[i] + C[k]·α(119+i)f(k)
    • (ii) wenn das ankommende Symbol ein Fehler ist, S[i] ← s[i] (i = 1, 2, 3, 4) (66)
  • Schritt 3: Ein Syndromwert kann als ein Wert von S[i] (i = 1, 2, 3, 4) zu einem Zeitpunkt des Ausführens des Schritts 2 bis zum letzten Symbol erhalten werden.
  • In dem Schritt 2 kennzeichnet f(k) eine Anzahl von Potenzen auf dem Polynom, die C[k] entsprechen. Beispielsweise in einem Teil (b) der 6 ist eine Anzahl von Potenzen in Entsprechung zu C[8] f(8) = 6.
  • Der alternative Ausdruck von S[i] (i = 1, 2, 3, 4), der durch die obige Gleichung erhalten wird, kann durch eine Modifikation der Gleichung (45) geliefert werden. Das Einstellen eines Symbols mit einem Fehler nach einer Korrektur als C[m – k] (k = s, t, –u, v) führt nämlich, weil m = 8 gilt, dazu, dass: S[i] = C[8 – s]·α(119+i)f(8-s) + C[8 – t]·α(119+i)f(8-t) + C[8 – u]·α(119+i)f(8-u) + C[8 – v]·α(119+i)f(8-v) (i = 1, 2, 3, 4) (67)
  • Von den Gleichungen (66) und (67) können die Simultangleichungen vierten Grades gebildet werden und aus diesen können Werte von C[8 – k] (k = s, t, u, v) erhalten werden. Wenn es vier Fehlersymbole gibt, sind die Lösungen die folgenden. C[8 – s] = {S[4] + (αf(8-t) + αf(8-u) + αf(8-v)·S[3] + (αf(8-t)+f(8-u) + αf(8-t)+f(8-v) + αf(8-u)+f(8-v))·S[2] + αf(8-t)+f(8-u)+f(8-v))·S[1] /α120f(8-s)·(αf(8-t) + αf(8-v)) ·αf(8-t) + αf(8-u))·(αf(8-u) + αf(8-v))} C[8 – t] = {S[4] + (αf(8-s) + αf(8-u) + αf(8-v))·S[3] + (αf(8-s)+f(8-u) + αf(8-s)+f(8-v) + αf(8-u)+f(8-v))·S[2] + αf(8-s)+f(8-u)+f(8-v)·S[1]} /{α120f(8-t)·(αf(8-s) + αf(8-v)) ·(αf(8-s) + αf(8-u))·(αf(8-u) + αf(8-v))} C[8 – u] = {S[4] + (αf(8-t) + αf(8-s) + αf(8-v))·S[3] + (αf(8-t)+f(8-s) + αf(8-t)+f(8-v) + αf(8-s)+f(8-v)·S[2] + αf(8-t)+f(8-s)+f(8-v)·S[1]} /{α120f(8-u)·(αf(8-t) + αf(8-v)) ·(αf(8-t) + αf(8-s))·(αf(8-s) + αf(8-v))} C[8 – v] = {S[4] + (αf(8-t) + αf(8-u) + αf(8-s)·S[3] + (αf(8-t)+f(8-u) + αf(8-t)+f(8-s) + αf(8-u)+f(8-s))·S[2] + αf(8-t)+f(8-u)+f(8-s)·S[1]} /{α120f(8-v)·(αf(8-t) + αf(8-s)) αf(8-t) + αf(8-u)).(αf(8-u) + αf(8-s))} (68)
  • Wenn es in der Gleichung (67) nur ein Fehlersymbol gibt (von dem angenommen wird, dass es das s-te Symbol ist), dann wird die Gleichung (67) reduziert zu: S[i] = C[8 – s]·α(119+i)f(8-s) (i = 1, 2, 3, 4) (69)und hieraus folgt dann: C[8 – s] =· α(119+i)f(8-s)/S[i] (i = 1, 2, 3, 4) (70)
  • Dies gilt unabhängig von einem Wert von I, so dass es ausreicht, nur für ein i zu berechnen. Dies impliziert, dass es ausreicht, nur einen von ihnen zu berechnen, wie z.B. S[1], und es nicht erforderlich ist, irgendwelche anderen Syndromberechnungen auszuführen, so dass ein Berechnungsumfang sehr reduziert werden kann.
  • Auch, wenn es nur zwei Fehlersymbole gibt (von denen angenommen wird, dass es das s-te und das t-te Symbol ist), dann wird die Gleichung (67) reduziert auf:
  • In ähnlicher Weise reicht es in diesem Fall aus, nur zwei Syndrom wie z.B. S[1] und S[2] zu berechnen, so dass ein Berechnungsumfang so sehr reduziert werden kann, wie er für die anderen Symbole andernfalls erforderlich wäre.
  • In diesem Fall sind die Lösungen die folgenden. S[i] = C[8 – s]·α(119+i)f(8-s) + C[8 – t]·α(119+i)f(8-t) (i = 1, 2, 3, 4) (71) C[8 – s] = (S[2] + αf(8-t)·S[1]) /{α120f(8-s)·αf(8-s) + αf(8-t))} C[8 – t] = (S[2] + αf(8-s)·S[1]) /{α120f(8-t)·(αf(8-s) + αf(8-t))} (72)
  • Auch, wenn es nur drei Fehlersymbole gibt (von denen angenommen wird, dass es das s-te, das t-te und das u-te Symbol ist), dann wird die Gleichung (67) reduziert zu: S[i] = C[8 – s]·α(119+i)f(8-s) + C[8 – t]·α(119+i)f(8-t) + C[8 – u]·α(119+i)f(8-u) (i = 1, 2, 3, 4) (73)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur drei Syndrome wie z.B. S[1], S[2] und S[3] zu berechnen, so dass ein Berechnungsumfang so sehr reduziert werden kann wie er für S[4] andernfalls erforderlich wäre.
  • In diesem Fall sind die Lösungen die folgenden. C[8 – s] = {S[3] + (αf(8-t) + αf(8-u))·S[2] + αf(8-t)+f(8-u)·S[1]}/{α120f(8-s) ·αf(8-s) + αf(8-t))·(αf(8-s) + αf(8-u))} C[8 – t] = {S[3] + αf(8-s) + αf(8-u))·S[2] + αf(8-s)+f(8-u)·S[1]}/{α120f(8-t) ·(αf(8-s) + αf(8-t))·(αf(8-t) + αf(8-u))} C[8 – u] = {S[3] + (αf(8-t) + αf(8-s)]·S[2] + αf(8-t)+f(8-s)·S[1]}/α120f(8-u) ·(αf(8-u)) + αf(8-t)).(αf(8-s) + αf(8-u))} (74)
  • In den oben Berechnungen sind viele Rechenvorgänge von Potenzen von α erforderlich. Aus diesem Grund kann die schnellere Berechnung durch Vorbereiten einer Tabelle für die regelmäßig angetroffenen Berechnungen wie z.B. α120 vorzubereiten.
  • Als Nächstes wird ein Fall eines Teils (a) der 6 beschrieben. Dies ist im Wesentlichen dasselbe wie ein oben beschriebener Fall eines Teils (b) der 6, so dass nur ein konkretes Beispiel in Entsprechung zu dem, was in einem Teil (a) der 6 gezeigt wird, beschrieben wird.
  • In einem Fall eines Teils (a) der 6 hat die Empfangsseite die Tabelle der 24 gerade wie die Sendeseite und es gibt einen Bedarf, einen Ort im Entschachteler zu erfassen, zu dem jedes Symbol eingegeben wird, jedes Mal wenn ein Symbol ankommt. Hier wird ein Beispielfall der vierten Zeile, der in der obigen Beschreibung der Sendeseite verwendet worden ist, auch beschrieben.
  • Wenn diese vierte Zeile überhaupt keinen Fehler hat, kann das Polynom in Übereinstimmung mit der empfangenen Symbolfolge folgendermaßen gemäß der Gleichung (32) ausgedrückt werden. C(X) = C[1]·X7 + C[11]·X5 + C[18]·X8 + C[19]·X9 + C[125]·X3 + C[126]·X2 + C[127]·X + C[128] (75)
  • Normalerweise wird nicht von der Sendeseite im Voraus mitgeteilt, wie viele Symbole zu empfangen sind und es kann zum ersten Mal sichergestellt werden durch Erfassen eines Endes der CPCS-PDUs.
  • Hier wird wieder ein Fall von Fehlern in maximal vier Symbolen betrachtet. Die Syndromberechnungsprozedur ist identisch der der oben beschriebenen Gleichung (66). Hier jedoch wird ein Wert k von einem bestimmtten C[k] genommen, das in Gleichung (75) enthalten ist, so dass einen beliebigen Wert annimmt. Dann repräsentiert f(k) einen Grad von X in der Gleichung (75), der einen Koeffizienten C[k] hat in Entsprechung zu diesem Wert von k. Beispielsweise in Entsprechung zu k = 1, ist es f(k) = 7.
  • Wenn es einen Fehler gibt, ist der Syndromwert nicht gleich 0 und das Syndrom kann folgendermaßen ausgedrückt werden in einer Form ähnlich der Gleichung (67). S[i] = C[s]·α(199+i)f(s) + C[t]·α(199+i)f(t) + C[u]·α(199+i)f(u) + C[v]·α(199+i)f(v) (i = 1, 2, 3, 4) (76)wobei 0 < s < t < u < v gilt und {s, t, u, v ∈ | k ist eine Symbolzahl, die zur vierten Zeile gehört}. Dann wird angenommen, dass es einen Fehler in den s-ten, t-ten, u-ten und v-ten Symbolen gibt. Auch kennzeichnet C[k] (k = s, t, u, v) einen Wert von jedem Symbol nach der Korrektur.
  • Nach Lösen der Gleichungen (66) und (76) kann der Symbolwert nach der Korrektur berechnet werden. Zuerst, wenn es vier Fehler gibt, sind die Lösungen folgendermaßen. C[s] = {S[4] + (αf(t) + αf(u) + αf(v))·S[3] + (αf(t)+f(u) + αf(t)+f(v) + αf(u)+f(v))·S[2] + αf(t)+f(u)+f(v)·S[1]} /{α120f(s)·αf(t) + αf(v)) ·(αf(t) + αf(u)).(αf(u) + αf(v))} C[t] = {S[4] + (αf(s) + αf(u) + αf(v))·S[3] + (αf(s)+f(u) + αf(s)+f(v) + αf(u)+f(v))·S[2] + αf(s)+f(u)+f(v)·S[1]} /{α120f(t)·αf(s) + αf(v)) αf(s) + αf(u))·(αf(u) + αf(v))} C[u] = {S[4] + (αf(t) + αf(s) + αf(v))·S[3] + ( αf(t)+f(s) + αf(t)+f(v) + αf(s)+f(v))·S[2] + αf(t)+f(s)+f(v)·S[1]} /{α120f(u)·(αf(t) + αf(v)) ·(αf(t) + αf(s))·(αf(s) + αf(v))} C[v] = {S[4] + (αf(t)+ αf(u)f(s))·S[3] + (αf(t)+f(u) + αf(t)+f(s) + αf(u)+f(s))·S[2] + αf(t)+f(u)+f(s)·S[1]} /{α120f(v)·(αf(t) + αf(s)) ·(αf(t) + αf(u))·(αf(u) + αf(s))} (77)
  • Wenn es in Gleichung (76) nur ein Fehlersymbol gibt (von dem angenommen wird, dass es das s-te Symbol ist), dann wird Gleichung (76) reduziert auf: S[i] = C[s]·α(119+i)f(s) (i = 1, 2, 3, 4) (78) und hiervon folgt, dass: C[s] = α(119+i)f(s)/S[i] (i = 1, 2, 3, 4) (79)
  • Dies gilt unabhängig von einem Wert von I, so dass es ausreicht, für ein I zu berechnen. Dies impliziert, dass es ausreicht, nur eine von ihnen zu berechnen wie z.B. S[1], und es keinen Bedarf gibt, irgendeine andere Syndromberechnung vorzunehmen, so dass ein Rechenumfang entsprechend reduziert werden kann.
  • Auch, wenn es nur zwei Fehlersymbole gibt (von denen angenommen wird, dass es das s-te und das t-te Symbol ist), dann wird die Gleichung (76) reduziert zu: S[i] = C[s]·α(119+i)f(s) + C[t]·α(119+i)f(t) (i = 1, 2, 3, 4) (80)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur zwei Syndrome wie z.B. S[1] und S[2] zu berechnen, so dass ein Umfang der Berechnungen so sehr reduziert werden kann wie er für die anderen Symbole andernfalls erforderlich wäre.
  • In diesem Fall sind die Lösungen die folgenden. C[s] = (S[2] + αf(t)·S[1]) /α120f(s) + (αf(s) + αf(t))} C[t] = (S[2] + αf(s)·S[1]) /{α120f(t)·(αf(s) + αf(t))} (81)
  • Auch, wenn es nur drei Fehlersymbole gibt (von denen angenommen wird, dass es das s-te, das t-te und das u-te Symbol ist), dann wird die Gleichung (76) reduziert auf: S[i] = C[s]·α(119+i)f(s) + C[t]·α(119+i)f(t) + C[u]·α(119+i)f(u)) (i = 1, 2, 3, 4) (82)
  • In ähnlicher Weise reicht es in diesem Fall aus, nur drei Syndrome wie z.B. S[1], S[2] und S[3] zu berechnen, so dass ein Berechnungsumfang reduziert werden kann, so dass er wie er andernfalls für S[4] erforderlich wäre.
  • In diesem Fall sind die Lösungen die folgenden. C[s] = {S[3] + (αf(t) + αf(u))·S[2] + αf(t)+f(u)·S[1]} /{α120f(s)·(αf(s) + αf(t))·(αf(s) + αf(u))} C[t] = {S[3] + (αf(s) + αf(u))· S[2] + αf(s)+f(u)·S[1]} /{α120f(t)·(αf(s) + αf(t))·(αf(t) + αf(u))} C[u] = {S[3] + (αf(t) + αf(s))·S[2] + αf(t)+f(s)·S[1]} /{α120f(u)·αf(u) + αf(t))·(αf(s) + αf(u))} (83)
  • In der oben beschriebenen ersten Ausführungsform wird nur die FEC-Verarbeitung auf der SSCS-Schicht von AAL5 als Protokoll zum Garantieren der Datenzuverlässigkeit verwendet. In der Praxis gibt es jedoch eine Einschränkung bezüglich der Performance von dem FEC, und wenn Zellen größer als eine gewisse Anzahl verworfen werden, ist die Fehlerkorrektur durch FEC nicht länger möglich. In einer solchen Situation gibt es keine Wahl, außer eine Fehlerkorrektur durch Neusenden vorzunehmen und hierzu ist es erforderlich, im Voraus eine leichtgewichtige Neusendesteuerung auf der oberen Schicht einzurichten zusätzlich zu der Fehlerkorrektur durch FEC in der SSCS-Schicht. Wenn die Korrektur durch FEC unmöglich wird, können die Ursprungsdaten nicht erhalten werden, wenn keine Neusendung vorgenommen wird, so dass in dieser Ausführungsform angenommen wird, dass ein leichtgewichtiges Neusende-Steuerungsprotokoll auf der oberen Schicht der SSCS-Schicht implementiert ist.
  • Zusätzlich kann durch Überwachen eines Zustands des ATM-Netzes im Voraus ein FEC-Code hoher Performance verwendet werden, wenn es ein Zustand ist, in dem viele Fehler auftreten, oder ein leichter FEC-Code kann verwendet werden, wenn es ein Zustand ist, in dem nur einige Fehler auftreten, und eine Kommunikation kann durch Auswählen eines Parameters für diese selektive Nutzung unterschiedlicher Typen von FEC-Codes gestartet werden.
  • Es muss bemerkt werden, dass die obige Beschreibung sich auf einen Fall von AAL5 richtet, aber das Fehlerkontrollschema der vorliegenden Erfindung nicht auf einen Typ von Datenübertragung beschränkt ist und in gleicher Weise anwendbar ist auf irgendeinen anderen Typ von Datenübertragung.
  • Es ist auch zu bemerken, dass es in einer Endgeräteeinrichtung, bei der nur AAL-Funktionen implementiert sind, und diese Endgeräteeinrichtung Multimedia-/kontinuierliche Medien-Verarbeitungsfunktionen (für Sprache, Video etc.) hat, zu einem Zeitpunkt des Realisierens von Multimedia-/kontinuierliche Medienverarbeitung die Möglichkeit besteht, das Fehlerkontrollschema der vorliegenden Erfindung zusätzlich zu den AAL-Verarbeitungsfunktionen zu verwenden, um imstande zu sein, die Datenzuverlässigkeit unter verschiedenen Umständen flexibel zu garantieren.
  • ZWEITE AUSFÜHRUNGSFORM: PUNKT-ZU-MEHRPUNKT-KOMMUNIKATION
  • Nun wird die zweite Ausführungsform eines Fehlerkontrollschemas gemäß der vorliegenden Erfindung, die sich auf einen Fall einer Punkt-zu-Mehrpunkt-Kommunikation zwischen Endgeräten bezieht, detailliert beschrieben.
  • Wie in 25 gezeigt, führt in dieser zweiten Ausführungsform ein sendeseitiges Endgerät 2t Kommunikationen mit einer Vielzahl von empfangsseitigen Endgeräten 2r (2r-1 bis 2r-n) über ein ATM-Netz 1 aus. Es ist hier zu bemerken, dass in 25 irgendeines oder mehrere der empfangsseitigen Endgeräte 2r gleichzeitig Doppelrollen auf der Empfangsseite und der Sendeseite spielen können und eine Punkt-zu-Mehrpunkt-Kommunikation mit den anderen Endgeräten vornehmen können durch Einrichten ähnlicher Verbindungen unter den Endgeräten, um effektiv Mehrpunkt-zu-Mehrpunkt-Kommunikationen zu realisieren, und diese zweite Ausführungsform wird auch auf solche Fälle anwendbar sein.
  • Im Folgenden wird ein beispielhafter Fall des Hinzufügens von FEC und des Ausführens von Multicast, d.h. Punkt-zu-Mehrpunkt-übertragung, detailliert beschrieben.
  • 26 zeigt eine Struktur von Protokollstapeln für Endgeräte in dieser zweiten Ausführungsform, welche im Grunde ähnlich den Protokollstapeln der 2 für die erste oben beschriebene Ausführungsform sind mit der Ausnahme, dass diese zweite Ausführungsform ein Protokoll erfordert, das imstande ist, eine Multicast-Funktion auf einigen Schichten bereitzustellen.
  • Als ein im Allgemeinen wohlbekanntes Protokoll, das imstande ist, eine Multicast-Funktion bereitzustellen, gibt es eine IP-Übertragung unter Verwendung einer Multicast-IP-Adresse. In dem derzeit verfügbaren System wird gewöhnlich ein UDP (User Datagram Protocol bzw. Benutzer-Datagramm-Protokoll) als ein Protokoll der oberen Schritt in einem Fall des Ausführens von IP-Multicast verwendet. Dieses UDP unterscheidet sich von dem TCP (Transmission Control Protocol bzw. Sendesteuer-Protokoll) dahingehend, dass es ein Protokoll ist, welches keine Ende-zu-Ende-Zuverlässigkeit garantiert, so dass dieses Protokoll keine Korrektur vornimmt, selbst wenn ein Paketverlust oder ein Bitfehler während der Übertragung auftritt. Jedoch die zu übertragenden Anwendungsdaten in dieser Ausführungsform werden als Digitalmedia-Daten in einer Form vom Multimedia-Rundsenden angenommen, so dass ein Protokoll wie z.B. IP + UDP, welches keine Datenzuverlässigkeit garantiert, in diesem Fall ungeeignet ist.
  • Aus diesem Grund verwendet diese zweite Ausführungsform MTP (Multicast Transport Protocol) oder RMP (Reliable Multicast Protocol) auf Schicht 4. In dieser zweiten Ausführungsform kann jedoch mit Hilfe des Implementierens des FEC in Übereinstimmung mit dem Fehlerkontrollschema der vorliegenden Erfindung ein Bedarf des Neusendens durch die obere Schicht zum Zwecke des Garantierens der Datenzuverlässigkeit spürbar reduziert werden.
  • MTP ist ein Protokoll mit einer Funktion zum Korrigieren eines während der Übertragung in einem Fall des Ausführens von IP Multicast auftretenden Fehlers. Das Detail dieses Realisierungsschemas wird in dem derzeitigen Internet Draft RFC 1301 beschrieben. Dies ist ein Fehlerkontrollschema, in dem der Sender Daten ansprechend auf eine vom Empfänger erstellte Neusende-Anforderung neu sendet. Andererseits ist RMP ein Protokoll, das von B. Wetten et al von der University of California, Berkeley, vorgeschlagen worden ist, welches grundlegend äquivalente Operation und Funktion hat wie MTP. Diese beiden Protokolle setzen die Verwendung von CSCW (Computer Supperted Cooperative Work) etc. als die Anwendung voraus, so dass es keine Garantie für die Echtzeit-Performance gibt.
  • Jedoch in einem Fall des Realisierens der Anwendung in einer Form von Multimedia-Rundsenden gibt es einen Bedarf zum Garantieren der Echtzeit-Performance, weil es in einem solchen Fall eine hohe Wahrscheinlichkeit für die Verzögerung gibt, dass sie einen tolerierbaren Bereich übersteigt, wenn der Empfänger eine Neusende-Anforderung nach dem Erfassen eines Fehlers sendet. In dieser zweiten Ausführungsform jedoch ist der FEC-Redundanzcode für den Fehlerkorrekturzweck im Voraus zu den zu übertragenden Daten hinzugefügt, gerade wie in der oben beschriebenen ersten Ausführungsform, so dass es möglich wird, die Echtzeit-Performance zu garantieren.
  • Nun wird Multicast, das durch die obere Schicht wie z.B. IP bereitgestellt wird, bei der ATM-Schicht unter Verwendung der Kopierfunktion der Vermittlung 3 durchgeführt, wie in 26 gezeigt. Bezüglich einer Weise des Einrichtens von Verbindungen können die folgenden zwei Arten primär betrachtet werden.
    • (1) Eine Punkt-zu-Mehrpunkt-ATM-Verbindung wird von dem sendeseitigen Endgerät zu allen empfangsseitigen Endgeräten eingerichtet.
    • (2) Eine Punkt-zu-Mehrpunkt-ATM-Verbindung wird von dem sendeseitigen Endgerät zu einigen empfangsseitigen Endgeräten eingerichtet und einigen Relais-Servern. Jeder ATM-verbundene Relais-Server kümmert sich um die empfangsseitigen Endgeräte und Relais-Server, die weiter stromabwärts in dem Multicast-Baum angeordnet sind als dieser ATM-verbundene Relais-Server. Hier ist ein Relais-Server eine Einrichtung, die Netze und Sub-Netze entweder physikalisch oder logisch verbindet, was möglicherweise eine Verbindung einmal bei der Schicht oberhalb von AAL abschließen kann.
  • Eine auf diese Weise (2) realisierte beispielhafte Situation wird in 27 dargestellt, wobei H für die sendeseitigen Endgeräte 2t steht, H1 bis H25 die empfangsseitigen Endgeräte 2r repräsentiert und S1 bis S5 Relais-Server repräsentieren. Wie in 27 gezeigt, werden Verbindungen von dem sendeseitigen Endgerät H zu den empfangsseitigen Endgeräten H1 und H2 und den Relais-Servern S1, S2 und S3 eingerichtet und die Relais-Server S1, S2 und S3 richten in ähnlicher Weise Verbindungen zu den empfangsseitigen Endgeräten ein, die zu einer Multicast-Gruppe innerhalb der ATM-Netze 1-2, 1-3 bzw. 1-4 gehören, oder anderen Relais-Servern, die fernere Multicast-Gruppenmitglieder auf ihren stromabwärtigen Seiten haben.
  • Die obige Art (1) ist geeignet in einem Fall, in dem eine Gesamtzahl von empfangsseitigen Endgeräten relativ gering ist, wohingegen die obige Art (2) imstande ist, Multicast über einen weiten Bereich durch hierarchisch abschließende Verbindungen auf stromabwärtsseitigen Relais-Servern zu realisieren, selbst in einem Fall, in dem eine Gesamtzahl von empfangsseitigen Endgeräten beachtenswert groß ist.
  • Als Nächstes wird das sendeseitige Endgerät 2t und das empfangsseitige Endgerät 2r in dieser zweiten Ausführungsform detaillierter beschrieben.
  • 28 zeigt interne Aufbauten des sendeseitigen Endgerätes 2t und des empfangsseitigen Endgerätes 2r in dieser zweiten Ausführungsform, welche im Wesentlichen ähnlich jener in 3 gezeigten für die oben beschriebene erste Ausführungsform sind. Im Folgenden werden die Merkmale des sendeseitigen Endgeräts 2t und des empfangsseitigen Endgeräts 2r dieser zweiten Ausführungsform, die sich von der ersten Ausführungsform unterscheiden, beschrieben. Hier wird ein Beispielfall von AAL5 gerade wie in der oben beschriebenen ersten Ausführungsform beschrieben.
  • Zuerst hat das sendeseitige Endgerät 2t ein Anwendungsverarbeitungsmodul 104t, ein MTP/RMP-Verarbeitungsmodul 130t zum Ausführen von MTP/RMP-Verarbeitung, und ein IP-Verarbeitungsmodul 131t zum Ausführen von IP-Verarbeitung, welche Verarbeitungs-Eigenschaften der jeweiligen Protokolle in Bezug auf die empfangsseitigen Endgeräte 2r anwenden, die Ziele des Multicast sind. Hier sind verschiedenen Typen von Daten in verschiedenen Medien wie z.B. Video, Sprache, Textdaten etc. durch Ausnutzen eines Vorteils von ATM zu übertragen. Die Verarbeitungen bei diesem Modulen sind ähnlich den konventionell bekannten und nicht kennzeichnend für die vorliegende Erfindung.
  • Das sendeseitige Endgerät 2t hat auch ein SSCS-Verarbeitungsmodul 106t, eine CPCS-Verarbeitungsmodul 114t, ein SAR-Verarbeitungsmodul 120t und ein ATM-Kopf-Hinzufügemodul 122t, welche ähnliche Verarbeitungen anwenden wie die entsprechenden Elemente in 3 der ersten Ausführungsform.
  • Hier ist es jedoch in einem Fall des Bereitstellens von fehlerfreier Kommunikation in Bezug auf die obere Schicht bei der SSCS-Schicht. zum Ausführen von FEC erforderlich für die Schicht unterhalb der SSCS-Schicht, dass sie imstande ist, transparente Datenaustausche vorzunehmen. Dies ist, weil eine Identifizierung einer individuellen Zelle bei der SSCS-Schicht unabdingbar ist, um das Neusenden in der Einheit einer Zelle auszuführen, wenn eine Neusende-Anforderung von einer Einheit der SSCS-Schicht der Empfangsseite zu einer Einheit der SSCS-Schicht der Sendeseite gesendet wird. Beispielsweise in einem Fall des Ausführens von Neusenden in Einheit einer Zelle bei der SSCS-Schicht, muss die Neusendeanfrage oder Daten, die sich auf das Neusenden beziehen, transparent bei den Schichten unterhalb der SSCS-Schicht ausgetauscht werden. Dieses Merkmal wird in Bezug auf die Verarbeitung bei dem empfangsseitigen Endgerät 2r unten detaillierter beschrieben. Neben diesem sind die Verarbeitungen bei den Schichten unterhalb der SSCS-Schicht ähnlich denen der oben beschriebenen ersten Ausführungsform.
  • Als Nächstes wird das empfangsseitige Endgerät 2r detailliert beschrieben.
  • In einem Fall des Ausführens von Multicast gibt es eine hohe Wahrscheinlichkeit für einige empfangsseitige Endgeräte 2r, da sie nicht imstande sind, Daten korrekt zu empfangen, da die Nachricht zu zu vielen Zielen gesendet wird. Mit anderen Worten, es gibt eine hohe Wahrscheinlichkeit, dass das sendeseitige Endgerät 2t eine Neusendeanfrage von irgendwelchen empfangsseitigen Endgeräten 2r empfängt. Jedoch wird in dieser zweiten Ausführungsform die Funktion des Garantierens der Datenzuverlässigkeit bei der Schritt (SSCS-Schicht in einem Fall von AAL5) zum Hinzufügen des FEC im Voraus vorgenommen, so dass die Wahrscheinlichkeit für das sendeseitige Endgerät 2t, die Neusendeanfrage von einem empfangsseitigen Endgerät 2r zu empfangen, spürbar reduziert wird.
  • Die Fehlererfassung bei dem empfangsseitigen Endgerät 2r wird zuerst bei dem CPCS-Verarbeitungsmodul 114r ausgeführt. An dieser Stelle ist es, wenn kein Fehler erfasst wird, möglich, die Daten direkt zu der oberen Schicht zu geben durch Passieren des SSCS-Verarbeitungsmoduls 106r gerade wie in der oben beschriebenen ersten Ausführungsform.
  • In diesem Fall ist der Überhang gerade so viel wie der durch den auf der Sendeseite angehangenen FEC-Redundanzcode bedingten, und der Durchsatz und die Latenzzeit können sehr nahe an jenen sein, die in AALS erzielbar sind.
  • Wie oben beschrieben, wird in einem Fall von Multicast das Datagramm zu einer Vielzahl von IP Adressen in Entsprechung zu der Multicast-Gruppe bei dem IP Level gesendet, so dass im Allgemeinen in dem IP-Multicast eine höhere Wahrscheinlichtkeit für das sendeseitige Endgerät 2t besteht, eine Neusende-Anforderung zu erhalten, verglichen mit einem Fall einer Punkt-zu-Punkt-Kommunikation. Diese Wahrscheinlichkeit wird größer, wenn eine Anzahl von Endgeräten, die zu der Multicastgruppe gehören, größer wird. Wenn beispielsweise eine Anzahl von empfangsseitigen Endgeräten 104 ist und eine Fehlerrate bei der Datenverbindung so groß ist wie die eines Funkgeräts, würde das sendeseitige Endgerät 2t die Neusende-Anforderung mit einer Wahrscheinlichkeit nahe bei 1 empfangen.
  • Hier können die Fehler grob in folgende zwei Pegel klassifiziert werden.
    • (1) Ein Pegel innerhalb eines korrigierbaren Bereichs des im Voraus hinzugefügten Fehlerkorrekturcodes (FEC-Code).
    • (2) ein Pegel oberhalb des vorangehenden Pegels (1), welcher durch den FEC-Code nicht korrigiert werden kann, so dass die Korrektur nur mit Hilfe von Neusenden realisiert werden kann.
  • Wie offensichtlich sein sollte, ist es in einem Fall des obigen Pegels (1) möglich, die Fehlerkorrektur gerade wie in einem Fall der Eins-zu-Eins-Kommunikation der oben beschriebenen ersten Ausführungsform vorzunehmen und die korrekten Daten zur oberen Schicht zu geben.
  • Jedoch ist es in einem Fall des obigen Pegels (2) erforderlich, eine Fehlerkorrektur durch Neusenden vorzunehmen und in diesem Fall können die folgenden beiden Neusende-Steuerschemata betrachtet werden.
    • (A) Ein Schema, bei dem die Neusendesteuerung bei der unteren Schicht oberhalb von AAL (wie z.B. MTP/RMP-Schicht in Entsprechung zu der Schicht 4 in 26) vorgenommen wird.
    • (B) Ein Schema, bei dem die Neusendesteuerung an irgendeiner Schicht von AAL ausgeführt wird.
  • In einem Fall des Schemas (A) wird die Fehlerkorrektur in Übereinstimmung mit einer Prozedur für jedes Neusendeprotokoll so ausgeführt, dass die Prozedur, die in der ersten Ausführungsform beschrieben worden ist, verwendet werden kann, aber in einem Fall des Schemas (B) ist es erforderlich, einige zusätzliche Verarbeitungen zusätzlich zu der in der ersten Ausführungsform beschriebenen Prozedur vorzunehmen. Im Folgenden wird eine Prozedur für eine Fehlerkorrektur gemäß dem obigen Schema (B) zu einem Zeitpunkt eines Auftretens eines Fehlers bei dem obigen Pegel (2) beschrieben.
  • Wenn die Korrekturfähigkeit von dem FEC übersteigende Fehler während der Übertragung auftreten, kann die Neusendesteuerung zum Zwecke des Garantierens der Datenzuverlässigkeit bei der SSCS-Schicht folgendermaßen ausgeführt werden.
  • In der Neusendesteuerung können verschiedene unterschiedliche Einheiten des Neusendens einschließlich der folgenden überlegt werden.
    • (1) Ein Neusenden einer Zelle bei dem ATM-Schicht-Level.
    • (2) Ein Neusenden in Einheit einer CPCS-PDU.
    • (3) Ein Neusenden in Einheit einer SSCS-PDU (Verschachteler).
    • (4) Ein Neusenden in Einheit von (einer beliebigen Zahl von) Spalten innerhalb von SSCS-PDU (Verschachteler).
    • (5) Ein Neusenden in Einheit einem Paket bei einer Schicht oberhalb der Schicht 3.
  • Im Folgenden wird ein beispielhafter Fall des Durchführens einer Fehlerkorrektur durch (3): Neusenden in Einheit (von einer beliebigen Zahl) von Spalten innerhalb einer SSCS-PDU (Verschachteler) in einem Fall des Ausführens von Multicast detailliert beschrieben.
  • Wie in der ersten Ausführungsform beschrieben, bringt das SSCS-Verarbeitungsmodul 106t des sendeseitigen Endgerätes 2t einen SSCS-Kopf, der SN in Einheit von Zellen enthält, an. Dann identifiziert das SSCS-Verarbeitungsmodul 106r des empfangsseitigen Endgeräts 2r eine verworfene Zelle in Übereinstimmung mit diesem SSCS-Kopf. Die Tatsache, dass vor diesem Punkt einige Fehler aufgetreten sind, ist bereits durch die CRC-Prüfung bei der CPCS-Schicht erfasst worden. Wenn die erfassten Fehler über einen weiten Bereich verteilt sind und die Korrekturfähigkeit des zu einem Zeitpunkt des Sendens hinzugefügten FEC übersteigen, wird eine Neusendeanfrage zu der SSCS-Schicht der Sendeseite ausgegeben. Die Neusendeanfragenachricht wird als von irgendwelchen der empfangsseitigen Endgeräte, die Mitglieder der Multicast-Größe sind, gesendet erwartet und ihre Zahl ist unbekannt. Es kann möglicherweise nur eine sein oder es können sehr gut einige sein.
  • Wenn die Korrekturfähigkeit übersteigende Fehler beispielsweise nur durch das empfangsseitige Endgerät 2r-1 erfasst werden, realisiert das empfangsseitige Endgerät 2r-1 die Fehlerkorrektur durch Senden mindestens der eigenen Adresse oder einer Multicast-Adresse, und SN einer Zelle, die neu zu senden ist, zu dem SSCS-Verarbeitungsmodul 106t des sendeseitigen Endgerätes 2t, wie in 29 angezeigt.
  • Die durch das empfangsseitige Endgerät 2r-1 gesendeten Neusendeanfrage wird dann zu dem SSCS-Verarbeitungsmodul 106t des sendeseitigen Endgerätes 2t geliefert. Beim sendeseitigen Endgerät 2t wird in Übereinstimmung mit dem Inhalt der Neusendeanfragenachricht eine Zelle mit einer entsprechenden SN neu gesendet. An diesem Punkt können Neusendedaten gegebenenfalls nur zu dem empfangsseitigen Endgerät gesendet werden, welches die Neusendeanfrage ausgegeben hat durch Verwenden einer Punkt-zu-Punkt-Verbindung, die getrennt von der Multicast-Verbindung einzurichten ist, oder das Multicastinge der Neusendedaten kann ausgeführt werden.
  • In diesem Beispiel wird AAL5 vorausgesetzt, so dass es selbst wenn es in Übereinstimmung mit SN möglich ist, eine Spalte innerhalb der SSCS-PDU zu identifizieren, der die verworfene Zelle entspricht, gewöhnlich unmöglich ist, diese verworfene Zelle allein zu übertragen. Wenn der Anhang von AAL5 hinzugefügt wird, werden selbst die tatsächlichen Daten für einen Zellenteil AAL-PDU für zwei Zellenteile. Als ein Schema zum Übertragen der Neusendedaten können die folgenden Baumschemata betrachtet werden.
    • (1) Ein Schema, in dem die tatsächlichen Daten in einem unabhängigen Verschachteler neu gespeichert werden, wobei ihnen dort eine neue FEC verliehen wird, und Senden als eine unabhängige AAL-PDU. In diesem Fall gibt es einen Bedarf, SN zu einem Zeitpunkt des Zellenverlustes auch in einem neuen SSCS-Kopf/Anhang zu registrieren.
    • (2) Ein Schema, bei dem die Neusendedaten mit AAL Null gesendet werden. Derselbe SSCS-Kopf/Anhang wie zuvor wird in diesem Fall hinzugefügt.
    • (3) Ein Schema, bei dem die Neusendedaten am Anfang oder Schluss des mit einem Timing des Empfangs der Neusendeanforderung oder einem nächsten Timing zu sendenden Verschachtelers eingeschlossen sind. In diesem Fall gibt es einen Bedarf, eine Angabe der Tatsache vorzusehen, dass es Neusendedaten sind, um imstande zu sein, sie von anderen Daten zu unterscheiden.
  • In diesen Übertragungsschemata kann das Ziel der Neusendung irgendeines der folgenden vier Typen sein.
    • (A) Alle empfangsseitigen Endgeräte gehören zu der Multicast-Gruppe. In diesem Fall werden die Neusendedaten durch das Multicast zu übertragen sein.
    • (B) Nur das empfangsseitige Endgerät, das die Neusendeanforderung ausgibt. In diesem Fall gibt es einen Bedarf, eine Punkt-zu-Punkt-Verbindung irgendwie einzurichten.
    • (C) Nur das empfangsseitige Endgerät, das die Neusendeanforderung ausgibt unter Verwendung einer Verbindung zum Neusenden im Voraus eingerichtet in Bezug auf ein individuelles empfangsseitiges Endgerät. In diesem Fall wird derselbe SSCS-Kopf/Anhang wie zuvor hinzugefügt.
    • (D) Ein Teil der Multicast-Gruppe.
  • In einem Fall des Übertragungsschemas (1) gibt es eine Möglichkeit, dass die Redundanz des FEC-Codes hoch ist, wenn eine Anzahl verworfener Zellen gering ist.
  • In einem Fall des Übertragungsschemas (2) ist der Überhang gering, da die geringste erforderliche Menge an Daten zum Netz gesendet wird.
  • Wenn die Neusendedaten durch das Multicast gesendet werden, wie im obigen Fall (A), gibt es einen Vorteil, dass es keinen Bedarf gibt für das sendeseitige Endgerät, die Verarbeitung zum Einrichten der Verbindung zu dem spezifischen empfangsseitigen Endgerät jedes Mal auszuführen.
  • Wenn die Neusendezelle in Multicast-Daten einzuschließen ist, kann die Tatsache, dass die empfangenen Daten Neusendedaten sind, identifiziert werden durch Errichten eines Bit für die Angabe, dass es sich um Neusendedaten handelt in dem SSCS-Kopf/Anhang. Wenn die Daten bereits korrekt empfangen worden sind, reicht es aus, die Neusendedaten bei dem SSCS-Verarbeitungsmodul 106r der Empfangsseite zu verwerfen, so dass dieser Mechanismus eher leicht realisierbar ist.
  • Der in 19 gezeigte SSCS-Kopf/Anhang für die erste Ausführungsform hat kein Feld für diese Zweck, so dass, um eine fehlerfreie Kommunikation bei der SSCS-Schicht bereitzustellen, es erforderlich ist, den erweiterten SSCS-Kopf/Anhang zu verwenden, wie in 30A, 30B und 30C gezeigt, selbst für die normale Übertragung.
  • In dem erweiterten SSCS-Kopf/Anhang der 30A ist das eine ein Bitfeld zum Angeben, dass es sich um Neusendedaten handelt, zu dem einen Oktett-SSCS-Kopf/Anhang der 19 hinzugefügt worden, um einen neuen Bit-Kopf/Anhang zu erstellen.
  • In dem erweiterten SSCS-Kopf/Anhang der 30B sind zwei Oktetten Kopf/Anhang ausgebildet worden, wie sie vorgezogen werden zum Bilden des Kopfs/Anhangs in Oktetteneinheit durch Erweitern des SN-Feldes, um eine größere SN aufzunehmen, und Felder für den Zweck des klareren Identifizierens des Datenbereichs und des FEC-Redundanzbereichs innerhalb des Verschachtelers sind hinzugefügt.
  • In dem erweiterten SSCS-Kopf/Anhang der 30C wird ein Oktett-Kopf/Anhang durch Reduzieren des SN Feldes derart ausgebildet, dass ein Ein-Bit-Feld zum Angeben, dass es sich um Neusendedaten handelt, in diesem einen Oktett SSCS-Kopf/Anhang bereitgestellt werden kann.
  • Eine Anzahl von Neusendezellen kann in Übereinstimmung mit der Korrekturfähigkeit des FEC reduziert werden. Beispielsweise, wenn die Korrekturfähigkeit des FEC 4 Zellen aus 128 Zellen ist und das Neusenden von 8 Zellen durch die Neusendeanforderung angefordert wird. In diesem Fall kann der Verlust von bis zu 4 Zellen durch diesen FEC-Code korrigiert werden, so dass es ausreicht, mindestens 4 Zellen als Neusendezellen zu senden. Auf diese Weise ist es durch Senden von nur der mindest erforderlichen Anzahl von Zellen durch das Neusenden, möglich, ein Auftreten von Stau im Netz zu vermeiden. Dies ist ein weiterer Vorteil, der durch die Verwendung von FEC in dieser Ausführungsform realisiert wird.
  • Als Nächstes wird ein Fall, bei dem die Neusendeanforderung von einer Vielzahl von empfangsseitigen Endgeräten zu dem sendeseitigen Endgerät gesendet wird, beschrieben. Hier kann ein beispielhafter Fall des Verwendens des FEC-Codes mit einer solchen Korrekturfähigkeit, dass eine Zelle innerhalb von 16 Zellen entsprechend einer Größe eines Verschachtelers korrigiert werden kann.
  • Abgesehen von dem Neusenden aller Zellen, die verworfen werden, gibt es ein Schema zum Reduzieren einer Anzahl der Neusendezellen wie folgt.
  • Wie in 31 gezeigt, sei angenommen, dass die Neusendeanforderungen für die folgenden Zellen von den empfangsseitigen Endgeräten 2r-1 und 2r-3 bei dem SSCS-Verarbeitungsmodul 106t des sendeseitigen Endgerätes 2t ankommen.
    • (i) Von dem empfangsseitigen Endteil 2r-1: Zellen mit SN = 1, 2, 3
    • (ii) Von dem empfangsseitigen Endgerät 24-3: Zellen mit SN = 2, 3, 4
  • Wenn das sendeseitige Endgerät auf diese Weise identifiziert, welche Zellen bei welchem empfangsseitigen Endgerät verworfen sind, kann eine Verarbeitung von einem der beiden folgenden Zellen ausgeführt werden.
    • (1) Alle Zellen für Sn, die nicht durch die empfangsseitigen Endgeräte empfangen werden können, werden neu gesendet.
    • (2) Nur die minimale Anzahl von Zellen, die für die Decodierung in Übereinstimmung mit der Korrekturfähigkeit des FEC erforderlich sind, wird neu gesendet.
  • In jedem der Fälle ist ein Schema zum Senden durch Multicast bzw. Punkt-zu-Mehrpunkt und ein Schema zum Senden durch Punkt-zu-Punkt möglich.
  • Wenn die oben erwähnten SNs der verworfenen Zellen verglichen werden, kann die SN = 2, 3 für beide empfangsseitigen Endgeräte gemeinsam sein. Gemäß dem Fall (2) werden drei Zellen in jedem empfangsseitigen Endgerät verworfen, so dass, wenn zwei Zellen mehr bei jedem der empfangsseitigen Endgeräte korrekt empfangen werden können, die verbleibende Zelle mit Hilfe des FEC-Codes wiedergewonnen werden kann. Folglich sendet in Übereinstimmung mit einem Leitgedanken, nur die minimal erforderliche Anzahl von Zellen neu zu senden, das sendeseitige Endgerät 2t die gemeinsam verworfenen Zellen mit SN = 2, 3 an beide empfangsseitigen Endgeräte 2r-1 und 2r-3 in diesem Fall (2). Sicherlich ist es auch möglich, minimal erforderliche Anzahl von Zellen für jedes empfangsseitige Endgerät getrennt zu senden, d.h., die Zellen mit SN = 1, 2 zu dem empfangsseitigen Endgerät 2r-1 und die Zellen mit SN = 2, 3 zu dem empfangsseitigen Endgerät 2r-3 in einem Fall beispielsweise des Auswählens von Zellen mit kleiner SN unter den erforderlichen Zellen. Jedoch in einem Fall des Ausführens von Neusenden zu dem spezifischen Endgerät in der Multicast-Gruppe wird eine entsprechende Punkt-zu-Punkt-Verbindung erforderlich, wie bereits oben erwähnt.
  • Das Sendeziel kann eingeschränkt werden auf die empfangsseitigen Endgeräte 2r-1 und 2r-3, da in dem obigen Beispiel oder woanders zwei Zellen mit SN = 2, 3 oder alle vier Zellen mit SN = 1, 2, 3, 4 mit Hilfe von Multicast gesendet werden können.
  • Es ist zu bemerken, dass diese Daten-Neusendesteuerung mit einem Schema zum Reduzieren einer Anzahl von Neusendezellen hier für einen Fall der Punkt-zu-Mehrpunkt-Kommunikation als ein illustratives Beispiel beschrieben wird, aber es sollte offensichtlich sein, dass es in gleicher Weise anwendbar ist auf einen Fall der Punkt-zu-Punkt-Kommunikation unter Verwendung der Fehlerkorrekturfunktion durch Neusenden.
  • In einem Fall des Verwendens des Multicast kann die Tatsache, dass die empfangenen Daten die Neusendezellen sind, bei der SSCS-Schicht jener empfangsseitigen Endgeräte erfasst werden, die bereits diese Daten korrekt empfangen haben, so dass die empfangenen Daten bei diesen empfangsseitigen Endgeräten verworfen werden können. Folglich werden die Neusendedaten die anderen Daten nicht beeinträchtigen dadurch, dass sie in einer Überlappung mit den anderen Daten vermischt werden.
  • An dieser Stelle ist es, um den durch neu gesendete Zellen bedingten Überhang zu minimieren, auch möglich, die Neusendezellen in einen anderen Verschachteler bei der SSCS-Pegel-Schicht einzufügen ohne Ausbilden einer CPCS-PDU durch die Neusendezelle alleine.
  • Um Daten nur zu den spezifischen empfangsseitigen Endgeräten zu senden (empfangsseitige Endgeräte 2r-1 und 2r-3 in diesem Beispiel) innerhalb der Multicast-Gruppe, ist es möglich, ein Schema anzuwenden, in dem die minimal erforderliche Anzahl von Zellen nur durch Einrichten von Verbindungen zu den spezifischen empfangsseitigen Endgeräten bei dem sendeseitigen Endgerät übertragen werden, oder bei dem Relaispunkt zwischen dem sendeseitigen Endgerät und den empfangsseitigen Endgeräten.
  • In dem oben Beispiel ist ein Schema unter Verwendung von negativer Bestätigung bzw. Negativ-ACK, bei dem die Empfangsseite, die den Zellenverlust entdeckt, die Neusendeanfrage ausgibt, beschrieben worden, aber es ist auch möglich, ein Schema unter Verwendung von positiver Bestätigung bzw. Positiv-ACK zu verwenden.
  • In einem solchen Fall wird, nachdem die Multicast-Daten von dem sendeseitigen Endgerät 2t gesendet worden sind, bei dem SSCS-Verarbeitungsmodul 106t ein Timer bzw. Zeitgeber aktiviert und die Rückkehr von ACK (Bestätigung) von allen empfangsseitigen Endgeräten 2r der Multicast-Gruppe wird erwartet. Hier registriert ACK eine Adresse des empfangsseitigen Endgeräts 2r und Identifizierer von dort empfangenen Daten.
  • Der obere Grenzwert des Timers wird in Übereinstimmung mit der Umlaufzeit (round trip time) festgelegt. Wenn ACK nicht nach dem Ablauf dieses oberen Grenzzeitwertes zurückkehrt, werden die entsprechenden Daten erneut zu dem empfangsseitigen Endgerät gesendet, welches verfehlt hat, ACK zurückzusenden. Das Schema für dieses Neusenden kann dasselbe sein wie das oben beschriebene.
  • Dieser Datenübertragungsmechanismus ist ähnlich dem, der bei der Fenstersteuerung von TCP verwendet wird und es ist auch möglich, in ähnlicher Weise wie in der Fenstersteuerung von TCP das gleitende Fenster zu verwenden. Hier jedoch wird das Positiv-ACK unter der Multicast-Umgebung verwendet, so dass bis ACK von allen der empfangsseitigen Endgeräte 2r zurückkehrt, die entsprechenden Daten nicht aus einem Speicher für das Neusenden gelöscht werden können. Folglich, wenn ACK bei einem überlasteten Knoten in der Mitte von ihrer Strecke verzögert wird, gibt es eine Möglichkeit des Verringerns des Durchsatzes, da die Sendeseite in einem Zustand behalten wird, in dem die nächsten Daten nicht gesendet werden können.
  • Zu den Schichten oberhalb des AAL der Empfangsseite werden die korrekten fehlerfreien Daten als ein Ergebnis der Fehlersteuerung durch die FEC und der Neusendung durch die SSCS-Schicht gegeben. Danach werden die gewöhnlichen Verarbeitungen bei Schicht 3 und Schicht 4 ausgeführt und die korrekten Daten werden an die Anwendungsschicht gegeben.
  • Wie beschrieben, wird es in dieser zweiten Ausführungsform möglich, einen Dienst mit minimalem Überhang und Verzögerung durch Ausführen des Multicastings bereitzustellen, selbst wenn Fehler, die die Korrekturfähigkeit des FEC übersteigen, während der Übertragung auftreten.
  • Mit Hilfe der Verarbeitungen bei den Sende- und Empfangsseiten, wie oben beschrieben, ist es möglich, eine fehlerfreie Kommunikation bei dem AAL-Level bereitzustellen. In einem Fall von Multicast wird die Wahrscheinlichkeit für das sendeseitige Endgerät, Neusendeanfrage von irgendeinem empfangsseitigen Endgerät zu empfangen, für eine größere Anzahl empfangsseitiger Endgeräte höher. Jedoch ist es durch Bereitstellen der FEC-Funktion beim AAL-Level und dem zusätzlichen Bereitstellen der Fehlerkorrektur durch Neusenden, möglich, ein System zu konstruieren, bei dem eine hohe Datenzuverlässigkeit und eine hohe Echtzeit-Performance garantiert werden.
  • Wie beschrieben, kann in der Hochgeschwindigkeits-Kommunikation durch das ATM-Kommunikationsnetz gemäß der vorliegenden Erfindung die effizientere, schnellere und Ressourcen sparendere Datenübertragung durch Implementieren des Fehlerkontrollschemas unter Verwendung des Verschachtelers und des FEC bei einigen Schichten von AAL, und zusätzlich, durch flexibles Abstimmen einer Größe des Verschachtelers auf eine Größe der Anwendungsdaten realisiert werden. Insbesondere in einem Fall der Hochgeschwindigkeits-Datenübertragung bei AAL5 ist es durch Anwenden des Fehlerkontrollschemas der vorliegenden Erfindung auf die Schicht oberhalb der CPCS-Schicht möglich, einen vollen Vorteil der Hochgeschwindigkeitsnatur von AAL5 auszunutzen während des Unterdrückens eines inhärenten Überhangs des FEC auf ein Minimum. Es ist auch möglich, das FEC effizienter zu implementieren bei AAL1, AAL2 oder AAL3/4.
  • In der vorliegenden Erfindung wird eine Größe des Verschachtelers, der eine Einheit der Datenübertragung definiert, variabel ausgelegt und eine Flexibilität wird durch Festlegen nur der maximalen Größe bereitgestellt, so dass der durch den Überhang bedingte Verkehr auf ein Minimum unterdrückt werden kann und ein hoher Durchsatz und eine geringe Latenzzeit realisiert werden können. Darüber hinaus, im Gegensatz zu dem konventionellen Verschachteler einer festen Größe, braucht keine Auffüllung (PAD) in einen Bereich ohne Daten eingefügt zu werden, so dass ein Umfang der Berechnung reduziert werden kann und eine Hochgeschwindigkeitsverarbeitung realisiert werden kann.
  • Beachte, dass bei der Fehlerkontrolle durch FEC unter Verwendung des konventionellen Verschachtelers einer festen Länge Zellen produziert werden, die Dummy-Daten enthalten, welche einen bedeutungslosen Überhang nur zum Zwecke der Längenanpassung verursachen, so dass es speziell schwierig gewesen ist, die Datenübertragung bei AAL3/4 oder AAL5, welche Burst-Daten-Erzeugung einbeziehen, anzuwenden, wegen eines enormen Umfangs an erforderlichen Dummy-Zellen. Die vorliegende Erfindung löst dieses Problem durch variables Ausgestalten einer Größe des Verschachtelers und Bereitstellen einer Flexibilität durch Festlegen nur der maximalen Größe, wie oben erwähnt.
  • Zudem sind in der vorliegenden Erfindung eine Richtung des Schreibens und eine Richtung des Lesens des Verschachtelers identisch gemacht, so dass das Lesen unmittelbar nachdem das Schreiben begonnen hat, gestartet werden kann. Konventionell hat es eine spürbare Verzögerung gegeben, da Daten nicht zu der niedrigeren Schicht gegeben werden können, bis das Schreiben aller Daten für den Datenbereich des Verschachtelers beendet worden ist, aber diese Verzögerung kann in Übereinstimmung mit der vorliegenden Erfindung auf nahezu Null reduziert werden.
  • Demnach stellt die vorliegende Erfindung ein Rahmenwerk für das Realisieren des Fehlerkontrollschemas unter Verwendung des FEC bei AAL bereit und mit Hilfe hiervon wird es möglich, eine Kommunikation auszuführen, die eine Datenzuverlässigkeit erfordert, ohne die Verwendung der Neusendesteuerung, solange Fehler bei einem Level auftreten, der durch die Korrekturfähigkeit des FEC wiederhergestellt werden kann.
  • Auch kann in der vorliegenden Erfindung eine Größe von innerhalb des Verschachtelers geschriebener Daten sicher erkannt werden durch Bereitstellen eines Feldes zum Angeben eines letzten Orts der in den Verschachteler geschriebenen Daten. Als ein Ergebnis wird es mit Hilfe der vorangehenden Aushandlung in Bezug auf die Datengrößenangabe auch möglich, die Datengröße sicher auf der Empfangsseite zu erkennen und demnach wird es möglich, die korrekten Daten, die an die obere Schicht zu geben sind, zu reproduzieren. Zusätzlich genügt es durch Hinzufügen des Datenlängenindikators, die minimale Menge an Auffüllung zu verwenden, so dass die Packungseffizienz für einen Fall des Ausführens von FEC auf den maximalen Pegel erhöht werden kann.
  • Auch ist es in der vorliegenden Erfindung durch Weglassen des Schreibens in einen dedizierten Speicher für einen Verschachteler und Bereitstellen nur eines Speichers für das Speichern der Rechenergebnisse für den FEC-Redundanzcode möglich, einen Umfang an erfordertem Speicher auf ein Minimum herunterzudrücken und die Kostenreduzierung kann realisiert werden.
  • Auch kann in der vorliegenden Erfindung eine Größe bedeutungsvoller Daten, die Dummy-Daten ausschließen, exakt erkannt werden, so dass die korrekten Daten selbst von den Fehler enthaltenden Daten reproduziert werden können durch Durchführen einer Fehlerkorrektur durch das FEC in Bezug auf nur die Daten, wenn der Fehler erfasst wird durch Verwenden der Fehlererfassungsfunktion von dem AAL5-Anhang (d.h., CRC-Prüfung des CPCS-Anhangs). Mit Hilfe dieses Schemas genügt es, einfach den FEC-Abschnitt für jene Daten, die bei CRC-Prüfung als fehlerfrei beurteilt werden, zu verwerfen, so dass die Verarbeitungszeit nahezu dieselbe ist wie in dem Fall von AAL5 ohne FEC (d.h., einem Fall von SSCS Null), solange eine Fehlerrate gering ist, so dass das leichtgewichtige Protokoll in Übereinstimmung mit einem Ursprungsziel von AAL5 realisiert werden kann.
  • Zusätzlich kann abhängig von einem Zustand des Netzes die Verarbeitungszeit bei der SSCS-Schicht ferner reduziert werden, wenn eine Fehlerrate gering ist. In der vorliegenden Erfindung können nämlich der Datenbereich und der Redundanzcodebereich in dem Verschachteler unabhängig behandelt werden. Hierdurch kann, wenn die Fehlerrate beim Netz relativ gering ist, der Datenbereich weitergehend aller Verschachteler als fehlerfrei beurteilt werden, und in einem solchen Fall wird die FEC-Verarbeitung unnötig, so dass die Verarbeitungszeit bei der SSCS-Schicht weiter reduziert werden kann.
  • Folglich ist es gemäß der vorliegenden Erfindung möglich, die Anwendung, die auch eine Echtzeit-Performance erfordert, zu handhaben und es ist nützlich für die wirksame Nutzung der CPU-Ressourcen.
  • Im Allgemeinen, wenn der Fehlerkorrekturcode für die Daten zu den Daten bei einer Schicht oberhalb von der CPCS-Schicht hinzugefügt wird, ist es, selbst wenn eine Größe des Verschachtelers nicht variabel ist, möglich, die Daten und den Fehlerkorrekturcode in getrennten CPCS-PDUs auf der Sendeseite einzugeben.
  • Die CPCS-Schicht hat eine Fehlererfassungsfunktion und diese Fehlererfassungsfunktion wird getrennt auf die CPCS-SDU angewendet, die tatsächliche Daten enthält und auch die CPCS-SDU, die Fehlerkorrekturcode enthält, auf der Empfangsseite, es wird möglich, zu Bestimmen, ob es einen Fehler in den tatsächlichen Daten gibt, die erforderlich sind, bei der Reproduktion der Anwendungsleveldaten mit Hilfe der AAL5 Funktion.
  • Vom Standpunkt des Anwendungslevels ist es, solange die tatsächlichen Daten korrekt empfangen werden können, unwichtig, ob der Fehlerkorrekturcode einen Fehler enthält oder nicht.
  • Folglich ist es, wenn die CPCS-SDU, die die tatsächlichen Daten enthält, fehlerfrei ist, möglich, für die Empfangsseite, die Decodierungsberechnungs-Verarbeitung durch das FEC, das im Voraus zu der oberen Schicht auf der Empfangsseite hinzugefügt worden ist, wegzulassen, unabhängig davon, ob ein Fehler in der den Fehlerkorrekturcode enthaltenden CPCS-SDU vorliegt oder nicht.
  • In einem Fall der Realisierung der Decodierungsberechnungs-Verarbeitung durch FEC als Software-Verarbeitung erfordert diese Verarbeitung einen gewissen Umfang an Verarbeitungszeit, so dass es eine Verarbeitung ist, die vermieden werden sollte, solange sie unnötig ist. Demnach wird sie nur verwendet, wenn die Korrektur der tatsächlichen Daten unvermeidlich erforderlich ist.
  • Mit Hilfe der Verwendung der Fehlererfassung unter Verwendung des CPCS-Anhangs wie oben beschrieben, ist es möglich, einen Bereich der Anwendung der Fehlerkorrekturverarbeitung bei der oberen Schicht auf den minimal erforderlichen Bereich zu reduzieren und als ein Ergebnis ist es möglich, die Decodierverarbeitung zum Zwecke der Fehlerkorrektur spürbar zu reduzieren.
  • Auch ist es in einem Fall der Multicast-Kommunikation, wenn FEC gemäß der vorliegenden Erfindung implementiert wird, möglich, die Datenzuverlässigkeit zu mehreren Empfängern in Echtzeit zu garantieren verglichen mit einem Fall ohne FEC oder einem Fall mit nur der Neusendesteuerung bei der Schicht 4 etc., welcher eine sehr schlechte Echzeit-Performance hat.
  • Hier wird es jedoch durch Bereitstellen der Neusendefunktion für den Zweck der zuverlässigen Garantie zusätzlich zu dem FEC selbst in dem Fall, in dem die Fehler die Korrekturfähigkeit von FEC übersteigen, möglich, eine Fehlerkorrektur unter Verwendung des minimal erforderlichen Umfangs von Neusendedaten zu ermöglichen.
  • Nämlich das Neusenden von sehr vielen Daten unverändert zu einer Vielzahl von Empfängern ist sehr ineffizient. Diesbezüglich genügt es durch Implementieren von FEC, nur die minimal erforderliche Menge an Daten neu zu senden, um den Korrekturfähigkeitsbereich von FEC zu erreichen, so dass die Menge der Neusendedaten reduziert werden kann und die Netz-Effizienz verbessert werden kann.
  • Es muss bemerkt werden, dass in den oben beschriebenen Ausführungsformen eine Reihenfolge des Schreibens der Daten in den Verschachteler entweder vorbestimmt werden kann durch eine Normaleinstellung oder bestimmt werden kann durch eine Verhandlung zwischen einer Sendeseite und einer Empfangsseite zu Beginn einer Kommunikation zwischen der Sendeseite und der Empfangsseite wie z.B. zum Zeitpunkt der Signalisierung. Hier sollte eine geeignete Reihenfolge des Schreibens im Hinblick auf die Tatsache festgelegt werden, dass das Schreiben in den Verschachteler eine große Verzögerung verursachen kann abhängig von der Reihenfolge des Schreibens.
  • Es sollte bemerkt werden, dass die vorliegende Erfindung, wie sie oben beschrieben worden ist, in gleicher Weise anwendbar ist auf verdrahtete ATM-Netze sowie auf drahtlose ATM-Netze.
  • Es sollte auch bemerkt werden, dass neben jenen oben bereits erwähnten, viele Modifikationen und Variationen der obigen Ausführungsformen vorgenommen werden können, ohne von den neuen und vorteilhaften Merkmalen der vorliegenden Erfindung abzuweichen. Demgemäss sind alle solche Modifikationen und Variationen dazu gedacht, in dem Schutzbereich der beiliegenden Ansprüche zu liegen.

Claims (33)

  1. Verfahren zur Fehlerkontrolle bei einem AAL- bzw. ATM-Anpassungsschicht-Level, die Schritte umfassend: (a) Segmentieren kontinuierlicher, von einer oberen Schicht in eine Folge von Daten in einer vorgeschriebenen Länge gegebener, zu sendender Daten, und sequenzielles Schreiben jedes Datenwertes in jede Spalte einer matrixförmigen Datenregion in einem Verschachtler; (b) Festlegen einer letzten Spalte der Datenregion in dem Verschachtler mit einer variablen Länge als eine Spalte der Datenregion in dem Verschachtler, die bestimmt ist in Bezug auf eine Spalte, in welcher ein letzter Datenwert durch den Schritt (a) in den Verschachtler geschrieben worden ist, Berechnen eines Fehlerkontrollcodes für die Daten bis zu der letzten Spalte in jeder Zeile der Datenregion in dem Verschachtler, und Schreiben jedes berechneten Fehlerkontrollcodes in einen entsprechenden Ort innerhalb einer matrixförmigen Fehlerkontrollcoderegion in dem Verschachtler; und (c) Lesen von Inhalten jeder Spalte der Datenregion und der Fehlerkontrollcoderegion in dem Verschachtler, Hinzufügen eines vorgeschriebenen Datenkopfs/Datenanhangs zu einer vorgeschriebenen Zahl von Spalten der Daten und/oder der von dem Verschachtler ausgelesenen Fehlerkontrollcodes zum Bilden einer Dateneinheit, und sequenzielles Geben jeder Dateneinheit in eine untere Schicht derart, dass Dateneinheiten in Form von ATM-Zellen übertragen werden, und eine Fehlerkorrektur unter Verwendung der Fehlerkontrollcodes für die Daten auf einer Empfängerseite ausgeführt werden kann, wenn ein Fehler während der Datenübertragung auftritt.
  2. Verfahren nach Anspruch 1, wobei beim Schritt (b) die Datenregion des Verschachtlers eine vorgeschriebene maximale Spalte hat, und die letzte Spalte der Datenregion in dem Verschachtler festgelegt ist als maximale Spalte der Datenregion in dem Verschachtler, wenn die Datenregion des Verschachtlers mit den Daten bis zu der maximalen Spalte aufgefüllt wird.
  3. Verfahren nach Anspruch 1, wobei beim Schritt (b) die Datenregion des Verschachtlers eine vorgeschriebene maximale Spalte hat und die letzte Spalte der Datenregion in dem Verschachtler festgelegt wird als eines von entweder der einen Spalte, in die die Daten in dem Verschachtler durch den Schritt (a) eingeschrieben werden, oder eine dieser Spalte als nächstes folgende Spalte, wenn die Datenregion des Verschachtlers nicht mit den Daten bis zu der maximalen Spalte ausgefüllt wird.
  4. Verfahren nach Anspruch 1, wobei beim Schritt (b) eine einen in dem Verschachtler gespeicherten Datenumfang angebende Information ebenfalls eingegeben wird in ein Feld, das bei der letzten Spalte der Datenregion im Verschachtler vorgesehen ist.
  5. Verfahren nach Anspruch 1, wobei beim Schritt (b) Dummy-Daten zum Auffüllen eines leeren Abschnitts, in dem keine Daten durch den Schritt (a) innerhalb der Datenregion im Verschachtler bis zur letzten Spalte geschrieben worden sind, auch in den Verschachtler eingegeben werden.
  6. Verfahren nach Anspruch 1, wobei beim Schritt (c) ein Teil der Datenregion in dem Verschachtler jenseits der letzten Spalte nicht ausgelesen wird, und zu einer niedrigeren Schicht gegeben wird.
  7. Verfahren nach Anspruch 1, wobei beim Schritt (b) ein Leerraum für eine Länge eines bei CPCS (Common Part Convergence Sublayer) anzuhängenden Anhangs in der Datenregion bereitgestellt wird nach den letzten Daten in dem Verschachtler.
  8. Verfahren nach Anspruch 1, wobei eine Reihenfolge des Schreibens der Daten in den Verschachtler beim Schritt (a) entweder vorbestimmt ist, oder bestimmt wird durch eine Verhandlung zwischen einer Sendeseite und einer Empfangsseite zu Beginn einer Kommunikation zwischen der Sendeseite und der Empfangsseite.
  9. Verfahren nach Anspruch 1, wobei beim Schritt (c) der beschriebene Kopf bzw. Anhang eine Folgenzahl enthält, die jeder Dateneinheit zuzuordnen ist.
  10. Verfahren nach Anspruch 1, wobei beim Schritt (c) der vorgeschriebene Kopf/Anhang ein Feld zum Anzeigen einer Information enthält, die beim Erfassen und Korrigieren eines Fehlers in den Daten und/oder der Fehlerkontrollcodes zu verwendenden ist, zu denen der vorgeschriebene Kopf/Anhang hinzugefügt ist.
  11. Verfahren nach Anspruch 1, wobei beim Schritt (c) der vorgeschriebene Kopf/Anhang ein Feld enthält zum Angeben, ob ein Inhalt der Dateneinheit, in der der vorgeschriebene Kopf/Anhang enthalten ist, zu den Daten oder den Fehlerkontrollcodes gehört.
  12. Verfahren nach Anspruch 1, wobei beim Schritt (c) der vorgeschriebene Kopf/Anhang ein Feld enthält zum Bereitstellen eines Schutzes gegenüber eines Fehlers in mindestens einem Teil des vorgeschriebenen Kopfes/Anhangs.
  13. Verfahren nach Anspruch 1, wobei beim Schritt (c) der vorgeschriebene Kopf/Anhang ein Feld enthält zum Identifizieren eines Grenzbereichs eines entsprechenden Satzes von Daten und des Fehlerkontrollcodes.
  14. Verfahren nach Anspruch 1, wobei beim Schritt (c) der vorgeschriebene Kopf/Anhang ein Feld enthält zum Angeben eines Beginns oder eines Endes von jedem von einer Datenfolge und einer Folge von Fehlerkontrollcodes.
  15. Verfahren nach Anspruch 1, wobei beim Schritt (b) die Fehlerkontrollcodes FEC-Redundanzcodes bzw. Forwärtsfehlerkorrekturredundanzcodes sind.
  16. Verfahren nach Anspruch 1, wobei beim Schritt (b) die Fehlerkontrollcodes Reed-Solomon-Codes sind.
  17. Verfahren nach Anspruch 1, wobei die Schritte (a), (b) und (c) bei SSCS (Service Specific Convergence Sublayer bzw. dienstespezifische Konvergenzsub-Schicht) in dem AAL ausgeführt werden.
  18. Verfahren nach Anspruch 1, wobei die Schritte (a), (b) und (c) im AAL-Typ 5 implementiert sind.
  19. Verfahren der Fehlerkontrolle bei einem AAL-Level bzw. ATM-Anpassungsschicht-Level, die Schritte umfassend: (a) Extrahieren von Information, die Köpfe/Anänge enthält, welche Folgenzahlen in einer Folge von Dateneinheiten für Daten und Fehlerkontrollcodes, gegeben von einer unteren Schicht, enthalten, und Löschen der Köpfe/Anhänge von den Dateneinheiten; (b) sequenzielles Schreiben der Daten und der Fehlerkontrollcodes der Dateneinheiten mit gelöschten Köpfen/Anhängen bei dem Schritt (a) in einen Verschachtler mit einer matrixförmigen Datenregion und Fehlerkontrollcoderegion in Übereinstimmung mit der in den Köpfen/Anhängen enthaltenen Information, und Erfassen eines Endes einer Folge von Dateneinheiten in Übereinstimmung mit der in den Köpfen/Anhängen enthaltenen Information; (c) Ausführen von Fehlererfassung und Fehlerkorrektur für die in den Verschachtler bei dem Schritt (b) eingeschriebenen Daten, um korrekte Daten zu decodieren; und (d) Lesen decodierter korrekter Daten, die beim Schritt (c) erhalten werden, aus dem Verschachtler, und sequenzielles Geben der decodierten korrigierten Daten an eine obere Schicht.
  20. Verfahren nach Anspruch 19, wobei bei dem Schritt (b) eine einen Umfang an den in dem Verschachtler gespeicherten Daten angebende Information ebenfalls in ein Feld eingegeben wird, das bei mindestens einer Spalte der Datenregion im Verschachtler bereitgestellt wird.
  21. Verfahren nach Anspruch 19, wobei beim Schritt (b) Dummy-Daten zum Auffüllen eines leeren Abschnitts, in dem keine Daten eingeschrieben sind, innerhalb der Datenregion im Verschachtler bis zu einer letzten Spalte ebenfalls in dem Verschachtler eingegeben werden.
  22. Verfahren nach Anspruch 19, wobei eine Reihenfolge des Schreibens der Daten in den Verschachtler beim Schritt (b) entweder vorbestimmt ist oder bestimmt wird durch eine Verhandlung zwischen einer Sendeseite und einer Empfangsseite zu Beginn einer Kommunikation zwischen der Sendeseite und der Empfangsseite.
  23. Verfahren nach Anspruch 19, wobei beim Schritt (c) die Fehlerkorrektur unter Verwendung des Fehlerkontrollcodes ausgeführt wird in einem Zustand, in dem Fehlerorte in Übereinstimmung mit der in dem Kopf/Anhang enthaltenen Information identifiziert sind.
  24. Verfahren nach Anspruch 23, ferner den Schritt umfassend des Identifizierens von Fehlerorten durch eine Fehlererfassung unter Verwendung eines CPCS-(Common Part Convergence Sublayer)-Anhangs und eines SSCS-(Service-Specific-Convergence-Sublayer- bzw. dienstespezifische Konvergenz-Subschicht-)Kopfes/Anhangs vor dem Schritt (c).
  25. Verfahren nach Anspruch 24, wobei bei dem Schritt (c) die Fehlerkorrektur unter Verwendung der Fehlerkontrollcodes angewendet wird durch Betrachten der Daten, für die ein Fehler durch die Fehlererfassung unter Verwendung des CPCS- bzw. Common-Part-Convergence-Sublayer-Anhangs des SSCS-(Service-Specific-Convergence-Sublayer-)Kopfes/Anhangs als während der Datenübertragung verworfen.
  26. Verfahren nach Anspruch 23, ferner den Schritt des Überspringens der Schritte (b), (c) und (d) umfassend und des Gebens einer Folge von Dateneinheiten mit den gelöschten Köpfen/Anhängen bei dem Schritt (a) zu der oberen Schicht, wenn kein Fehler erfasst wird durch eine Fehlererfassung unter Verwendung eines CPCS-(Common- Part-Convergence-Sublayer-)Anhangs für alle Daten in der Folge von Dateneinheiten.
  27. Verfahren nach Anspruch 19, wobei beim Schritt (c) der Kopf/Anhang ein Feld zum Anzeigen einer Information enthält, die beim Erfassen und Korrigieren eines Fehlers in den Daten und/oder den Fehlerkontrollcodes, denen der Kopf/Anhang hinzugefügt ist, zu verwenden ist.
  28. Verfahren nach Anspruch 19, wobei beim Schritt (c) der Kopf/Anhang ein Feld enthält zum Anzeigen, ob ein Inhalt der Dateneinheit, in welcher der Kopf/Anhang enthalten ist, zu den Daten oder den Fehlerkontrollcodes gehört.
  29. Verfahren nach Anspruch 19, wobei beim Schritt (c) der Kopf/Anhang ein Feld enthält zum Bereitstellen eines Schutzes gegenüber einem Fehler in mindestens einem Teil des Kopf/Anhangs.
  30. Verfahren nach Anspruch 19, wobei beim Schritt (c) der Kopf/Anhang ein Feld zum Identifizieren einer Grenze eines entsprechenden Satzes von den Daten und den Fehlerkontrollcodes enthält.
  31. Verfahren nach Anspruch 19, wobei beim Schritt (c) der Kopf/Anhang ein Feld enthält zum Anzeigen eines Beginns oder eines Endes von jedem von einer Folge von Daten und einer Folge von Fehlerkontrollcodes.
  32. System zur Fehlerkontrolle bei einem AAL- bzw. ATM-Adaption-Layer bzw. ATM-Anpassungsschicht-Level, umfassend: (a) eine Vorrichtung (6t) zum Segmentieren kontinuierlicher, von einer oberen Schicht in eine Folge von Daten in einer vorgeschriebenen Länge gegebener, zu sendender Daten, und sequenzielles Schreiben jeweiliger Daten in jede Spalte einer matrixförmigen Datenregion in einem Verschachtler (8t); (b) eine Vorrichtung (6t) zum Einstellen mindestens einer Spalte der Datenregion in dem Verschachtler (8t) mit einer variablen Länge als eine Spalte der Datenregion in dem Verschachtler (8t), bestimmt in Bezug auf eine Spalte, in der mit Hilfe von (a) mindestens Daten in den Verschachtler (8t) eingeschrieben werden, Berechnen eines Fehler-Kontrollcodes für die Daten bis zu der letzten Spalte in jeder Zeile einer Datenregion in dem Verschachtler (8t), und Schreiben jedes berechneten Fehlerkontrollcodes in einen entsprechenden Ort innerhalb einer matrixförmigen Fehlerkontrollcode-Region in dem Verschachtler (8t); und (c) Eine Vorrichtung (12t) zum Lesen von Inhalten jeder Spalte der Datenregion und der Fehlerkontrollcoderegion in dem Verschachtler (8t), Hinzufügen eines vorgeschriebenen Kopfs/Anhangs zu einer vorbestimmten Zahl von Spalten der Daten und/oder der Fehlerkontrollcodes, die von dem Verschachtler (8t) ausgelesen sind, zum Formen einer Dateneinheit, und sequenzielles Geben jeder Dateneinheit an eine untere Schicht derart, dass Dateneinheiten in Form von ATM-Zellen übertragen werden, und eine Fehlerkorrektur unter Verwendung der Fehlerkontrollcodes ausgeführt werden kann für jede Dateneinheit auf einer Empfangsseite, wenn ein Fehler während der Datenübertragung auftritt.
  33. System zur Fehlerkontrolle bei einem AAL-Level (ATM-Adaption-Layer- bzw. ATM-Anpassungsschicht-Level), umfassend: (a) eine Vorrichtung (12r) zum Extrahieren von Information, die enthalten ist in Folgen-Zahlen in einer Folge von Dateneinheiten enthaltenden Köpfen/Anhängen für von einer unteren Schicht gegeben Daten- und Fehlerkontrollcodes, und Löschen der Köpfe/Anhänge von den Dateneinheiten; (b) eine Vorrichtung (6r) zum sequenziellen Schreiben der Daten und der Fehlerkontrollcodes der Dateneinheiten mit den bei der Vorrichtung (a) gelöschten Köpfen/Anhängen in einen Verschachtler mit matrixförmiger Datenregion und Fehlerkontrollcoderegion in Übereinstimmung mit Information, die in den Köpfen/Anhängen enthalten ist, und Erfassen eines Endes einer Folge von Dateneinheiten in Übereinstimmung mit der in den Köpfen/Anhängen enthaltenen Information; (c) eine Vorrichtung (10r) zum Ausführen von Fehlererfassung und Fehlerkorrektur für die in den Verschachtler (8a) eingeschriebenen Daten bei der Vorrichtung (b), um korrekte Daten zu decodieren; und (d) eine Vorrichtung (6r) zum Lesen decodierter korrekter Daten, die durch die Vorrichtung (c), von dem Verschachtler (8r) erhalten werden, und sequenzielles Geben der decodierten korrekten Daten an die obere Schicht.
DE1995634833 1994-12-28 1995-12-28 Schema für Fehlerkontrolle an der ATM-Adaptierungsschicht in ATM Netzwerken Expired - Lifetime DE69534833T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP32691194A JP3614907B2 (ja) 1994-12-28 1994-12-28 データ再送制御方法及びデータ再送制御システム
JP32691194 1994-12-28

Publications (2)

Publication Number Publication Date
DE69534833D1 DE69534833D1 (de) 2006-05-04
DE69534833T2 true DE69534833T2 (de) 2006-11-30

Family

ID=18193135

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995634833 Expired - Lifetime DE69534833T2 (de) 1994-12-28 1995-12-28 Schema für Fehlerkontrolle an der ATM-Adaptierungsschicht in ATM Netzwerken

Country Status (4)

Country Link
US (1) US6061820A (de)
EP (1) EP0721267B1 (de)
JP (1) JP3614907B2 (de)
DE (1) DE69534833T2 (de)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6172972B1 (en) * 1996-05-28 2001-01-09 Microsoft Corporation Multi-packet transport structure and method for sending network data over satellite network
WO1998029987A1 (fr) * 1996-12-26 1998-07-09 Ntt Mobile Communications Network Inc. Procede de transmission de donnees
DE19702141C2 (de) * 1997-01-22 1998-10-29 Siemens Ag Verfahren zum Übertragen von Sprachinformationen in ATM-Zellen
JP2002511203A (ja) * 1997-02-04 2002-04-09 ジェネラル・ダイナミックス・ガバメント・システムズ・コーポレイション 配備可能な見通し線チャンネルを介してatmを伝送するための方法および装置
GB2322515A (en) * 1997-02-21 1998-08-26 Northern Telecom Ltd Adaptation layer switching
KR100302263B1 (ko) * 1997-03-25 2001-09-22 모리시타 요이찌 스트림 데이터 전송방법 및 시스템
US6826181B1 (en) 1997-05-13 2004-11-30 Matsushita Electric Industrial Co., Ltd. Packet transmitter
US7284187B1 (en) * 1997-05-30 2007-10-16 Aol Llc, A Delaware Limited Liability Company Encapsulated document and format system
GB2327578A (en) * 1997-07-18 1999-01-27 Nokia Mobile Phones Ltd Convolutional interleaver for preventing the transmission of unwanted data
US6170075B1 (en) 1997-12-18 2001-01-02 3Com Corporation Data and real-time media communication over a lossy network
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
ATE218778T1 (de) 1997-12-12 2002-06-15 3Com Corp Ein vorwärtsfehlerkorrektionssystem für packetbasierte echtzeitmedien
US6145109A (en) * 1997-12-12 2000-11-07 3Com Corporation Forward error correction system for packet based real time media
US6804246B1 (en) * 1997-12-19 2004-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Asynchronous transfer mode system handling differing AAL protocols
US7872969B2 (en) * 1997-12-23 2011-01-18 Ciena Corporation Method and apparatus for auto detection of AAL5 type frames for VCC and VPC switches
KR100258355B1 (ko) * 1997-12-26 2000-06-01 김영환 8 비트 병렬 셀 단위 인터리버
JP3338369B2 (ja) * 1998-04-17 2002-10-28 沖電気工業株式会社 Atm試験方法およびatm試験方式
US6438131B1 (en) * 1998-07-28 2002-08-20 Lucent Technologies Inc. Low-overhead service specific convergence layer for voice and telephony over packet-based systems
JP2000078197A (ja) * 1998-09-03 2000-03-14 Toshiba Corp 通信ノード及びパケット転送方法
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
FI106504B (fi) * 1998-10-06 2001-02-15 Nokia Networks Oy Datan segmentointimenetelmä tietoliikennejärjestelmässä
JP3567092B2 (ja) * 1998-12-25 2004-09-15 シャープ株式会社 パケットデータ通信装置
US7593380B1 (en) * 1999-03-05 2009-09-22 Ipr Licensing, Inc. Variable rate forward error correction for enabling high performance communication
FI107425B (fi) * 1999-03-16 2001-07-31 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä multimediaan liittyvän informaation välittämiseksi pakettikytkentäisessä solukkoradioverkossa
US20030195983A1 (en) * 1999-05-24 2003-10-16 Krause Michael R. Network congestion management using aggressive timers
US6574795B1 (en) * 1999-05-28 2003-06-03 Intel Corporation Reliable communication of data by supplementing a unidirectional communications protocol
KR100608042B1 (ko) * 1999-06-12 2006-08-02 삼성전자주식회사 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치
US6519261B1 (en) * 1999-07-02 2003-02-11 Nortel Networks Limited Asynchronous transfer mode adaptation arrangements
CN100391122C (zh) * 1999-07-08 2008-05-28 三星电子株式会社 移动通信系统中用于控制速率匹配的去复用器和复用器的设备和方法
US6807648B1 (en) 1999-09-13 2004-10-19 Verizon Laboratories Inc. Variable-strength error correction in ad-hoc networks
JP2001230785A (ja) * 2000-02-18 2001-08-24 Fujitsu Ltd Aal1セル帯域制御方式
KR100657253B1 (ko) * 2000-03-29 2006-12-14 삼성전자주식회사 무선 패킷 송수신 장치 및 그 방법
US6598200B1 (en) * 2000-06-02 2003-07-22 Nortel Networks Limited Method and apparatus for frequency domain data frame transmission
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
JP2002027537A (ja) * 2000-07-10 2002-01-25 Sharp Corp 携帯電話機を利用したデータ通信システム
US6594793B1 (en) * 2000-09-08 2003-07-15 Ericsson Inc. Methods and systems for multiplexing and decoding variable length messages in digital communications systems
KR100351829B1 (ko) 2000-09-26 2002-09-11 엘지전자 주식회사 디지털 통신 시스템
US20020124224A1 (en) * 2000-12-29 2002-09-05 Blankenship Thomas Keith Method and system for matching information rates in turbo coded channels
GB0101705D0 (en) * 2001-01-23 2005-04-06 Bae Sys Defence Sys Ltd Improved ATM cell handling
US7594249B2 (en) * 2001-05-04 2009-09-22 Entropic Communications, Inc. Network interface device and broadband local area network using coaxial cable
US7031342B2 (en) * 2001-05-15 2006-04-18 Webex Communications, Inc. Aligning data packets/frames for transmission over a network channel
US7554977B2 (en) * 2001-06-21 2009-06-30 Qualcomm Incorporated Method and apparatus for indicating packet boundaries in frames
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
US7233576B1 (en) 2001-08-16 2007-06-19 Network General Technology Method and apparatus for transferring data from an ATM connection table to memory for use by an application program
KR100434384B1 (ko) * 2002-03-21 2004-06-04 엘지전자 주식회사 선택적 흐름제어를 통한 데이터 신뢰성 보장장치 및 방법
CN100539445C (zh) * 2002-04-05 2009-09-09 皇家飞利浦电子股份有限公司 将纠错附加层嵌入纠错码的方法和装置
KR100458878B1 (ko) * 2002-05-03 2004-12-03 학교법인 경희대학교 Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법
US7177658B2 (en) * 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US7882081B2 (en) * 2002-08-30 2011-02-01 Netapp, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
EP2348640B1 (de) 2002-10-05 2020-07-15 QUALCOMM Incorporated Systematische kodierung von kettenreaktionskoden
US7336667B2 (en) * 2002-11-21 2008-02-26 International Business Machines Corporation Apparatus, method and program product to generate and use CRC in communications network
US20050013274A1 (en) * 2003-03-05 2005-01-20 Harri Pekonen System and method for data transmission and reception
US20040267968A1 (en) * 2003-06-25 2004-12-30 Agilent Technologies Belgium S.A./N.V Implementation of a column interleaving function with a limited amount of columns
US7376198B2 (en) * 2003-09-10 2008-05-20 Cisco Technology, Inc. Methods and apparatus for multicasting content
KR101170629B1 (ko) 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
US7353448B1 (en) 2003-10-21 2008-04-01 Marvell Semiconductor Israel Ltd. Methods, architectures, circuits and systems for transmission error determination
EP1526701A1 (de) * 2003-10-22 2005-04-27 Mitsubishi Denki Kabushiki Kaisha Verfahren und Vorrichtung zur Uebertragung und Rueckgewinnung von Datenpaketen
KR100571824B1 (ko) * 2003-11-26 2006-04-17 삼성전자주식회사 부가정보 삽입된 mpeg-4 오디오 bsac부호화/복호화 방법 및 장치
DE60322550D1 (de) * 2003-12-09 2008-09-11 St Microelectronics Nv Methode und Apparat zur Entschachtelung aufeinanderfolgender Sequenzen von verschachtelten Abtastdaten
JP4349114B2 (ja) * 2003-12-10 2009-10-21 ソニー株式会社 送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
US7451381B2 (en) * 2004-02-03 2008-11-11 Phonex Broadband Corporation Reliable method and system for efficiently transporting dynamic data across a network
US7599294B2 (en) * 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
US7360142B1 (en) 2004-03-03 2008-04-15 Marvell Semiconductor Israel Ltd. Methods, architectures, circuits, software and systems for CRC determination
US7434150B1 (en) 2004-03-03 2008-10-07 Marvell Israel (M.I.S.L.) Ltd. Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
EP1743431A4 (de) 2004-05-07 2007-05-02 Digital Fountain Inc Dateiherunterlade- und -streamingsystem
WO2006038095A1 (en) * 2004-10-07 2006-04-13 Nokia Corporation Efficient source blocking algorithm for fec for mbms streaming
US20090022079A1 (en) * 2005-05-04 2009-01-22 Fei Frank Zhou Method and apparatus for providing enhanced channel interleaving
US7676735B2 (en) * 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US7698290B2 (en) * 2005-09-01 2010-04-13 Nippon Telegraph And Telephone Corporation Error correction method and apparatus
US20070104225A1 (en) * 2005-11-10 2007-05-10 Mitsubishi Denki Kabushiki Kaisha Communication apparatus, transmitter, receiver, and error correction optical communication system
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP5354985B2 (ja) 2007-07-30 2013-11-27 パナソニック株式会社 符号化装置及び復号化装置
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US8295221B2 (en) * 2007-11-29 2012-10-23 Panasonic Corporation Wireless communication apparatus and wireless communication method
US7900119B2 (en) * 2007-11-30 2011-03-01 Lantiq Deutschland Gmbh Interleaving redundancy apparatus and method
CN103338045B (zh) 2008-07-02 2017-06-23 松下电器(美国)知识产权公司 通信装置、终端装置和通信方法
US8732545B2 (en) 2008-12-26 2014-05-20 Panasonic Corporation Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
EP2485420A4 (de) * 2009-09-30 2014-10-08 Fujitsu Ltd Datenübertragungsvorrichtung, datengenerierungsprogramm und datenübertragungs-/empfangsverfahren
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
JP5744554B2 (ja) * 2011-02-07 2015-07-08 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9030953B2 (en) 2011-03-04 2015-05-12 Alcatel Lucent System and method providing resilient data transmission via spectral fragments
US9686062B2 (en) 2011-03-04 2017-06-20 Alcatel Lucent Virtual aggregation of fragmented wireless spectrum
US9496982B2 (en) 2011-03-04 2016-11-15 Alcatel Lucent System and method providing resilient data transmission via spectral fragments
US8601334B2 (en) 2011-05-10 2013-12-03 At&T Intellectual Property I, L.P. System and method for delivering content over a multicast network
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9021330B2 (en) * 2012-05-15 2015-04-28 Alcatel Lucent System and method for multi-channel FEC encoding and transmission of data
US9543981B2 (en) * 2014-03-25 2017-01-10 Texas Instruments Incorporated CRC-based forward error correction circuitry and method
US10372528B1 (en) * 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors
GB2539693B (en) * 2015-06-24 2019-06-19 Canon Kk Emission of a signal in unused resource units to increase energy detection of an 802.11 channel
US10367605B2 (en) * 2015-07-02 2019-07-30 Intel Corporation High speed interconnect symbol stream forward error-correction
KR20180058327A (ko) * 2016-11-24 2018-06-01 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그의 동작 방법
US10320694B2 (en) * 2017-05-04 2019-06-11 Nokia Of America Corporation Methods, apparatuses and computer-readable storage mediums for communication via user services platform
WO2022249268A1 (ja) * 2021-05-25 2022-12-01 日本電信電話株式会社 再送制御装置および再送制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115436A (en) * 1990-05-04 1992-05-19 Bell Communications Research Forward error correction code system
JP3159999B2 (ja) * 1991-03-20 2001-04-23 富士通株式会社 伝送システム
JPH06121001A (ja) * 1992-10-01 1994-04-28 Matsushita Electric Ind Co Ltd セル通信誤り時の再送制御方式
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver

Also Published As

Publication number Publication date
EP0721267A2 (de) 1996-07-10
JPH08186570A (ja) 1996-07-16
DE69534833D1 (de) 2006-05-04
US6061820A (en) 2000-05-09
EP0721267A3 (de) 1998-02-04
JP3614907B2 (ja) 2005-01-26
EP0721267B1 (de) 2006-03-08

Similar Documents

Publication Publication Date Title
DE69534833T2 (de) Schema für Fehlerkontrolle an der ATM-Adaptierungsschicht in ATM Netzwerken
JP3571918B2 (ja) 符号伝送方法、送信装置、受信装置および通信システム
US6675346B2 (en) Code transmission scheme for communication system using error correcting codes
US9893836B2 (en) System and method for achieving accelerated throughput
CN101061659B (zh) 自适应前向纠错的方法和设备
DE60031167T2 (de) Verfahren zur verbesserung der effizienz von datenübertragung und datenübertragungsprotokoll
DE60208921T2 (de) Verfahren und vorrichtung zur übertragung fehlertoleranter daten, wobei eine wiederholte übertragung fehlerhafter daten ausgeführt wird, bis die anzahl der übrigen fehlerhaften daten akzeptabel ist
CA2576038C (en) System and method for higher throughput through a transportation network
DE19630343A1 (de) Verfahren, Vorrichtung und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
DE60029576T2 (de) Verfahren und einrichtung zur digitalen datenübertragung
WO1997038549A1 (en) Method and apparatus for forward error correction of transmitted digital signals in networks
Ayanoğlu et al. Performance improvement in broadband networks using forward error correction for lost packet recovery
JPH06121001A (ja) セル通信誤り時の再送制御方式
Macker Reliable multicast transport and integrated erasure-based forward error correction
DE19983951B4 (de) Überlast-Steuerungsverfahren für ein paketvermitteltes Netzwerk
JPH0787099A (ja) Atm網における誤り制御方法
Esaki et al. Reliable IP multicast communication over ATM networks using forward error correction policy
DE60316618T2 (de) Selektives Sendewiederholungsverfahren für ein ARQ Protokoll
Srinivasan et al. Block loss reduction in ATM networks
Joe Error control for wireless ATM networks
Carle Error Control for Reliable Multipoint Communication in ATM Networks
Shi et al. A Commercial CCSDS Telecommand Processor
DE10031675A1 (de) Verfahren zum gleichzeitigen Übertragen mehrerer Teildatenströme und Vorrichtung zum Korrigieren von Übertragungsfehlern
WO2002032040A1 (de) Verbesserung der bandweiteneffizienz bei einer paketorientierten übertragung mit vorwärtsfehlerkorrektur
Friedman et al. Review of the VSAT acts experiments at the center for satellite & hybrid communication networks

Legal Events

Date Code Title Description
8364 No opposition during term of opposition