EP0906675B1

Method and apparatus of providing bit count integrity and synchronous data transfer over a channel which does not preserve synchronization

Abstract

Synchronization and bit count integrity of a synchronous data stream is preserved end to end even as it is transmitted via a medium which does not preserve the synchronous nature of the synchronous data stream. A terminal equipment unit produces a constant rate bit stream which is provided to a communications unit. The communications unit produces first, second, and third data frames comprising, respectively, first, second, and third set of bits from the constant rate bit stream and first, second, and third length fields. The first, second, and third data frames are transmitted to a base unit which places the first set of bits from the first frame into a queue. A set of fill bits equal to the maximum number of bits contained in any frame is then placed into the queue. The base unit then determines the number of bits in the second set of bits of the third data frame, based on the first length field value and the third length field value. The base unit overwrites excess fill bits in the queue with the third set of bits. The number of excess fill bits is equal to the difference between the maximum possible number of bits which may be contained in any frame and the number of bits in the second set of bits.

EP0906675B1, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Expired 11 June 2017, 9.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

12 claims: 12 independent, 0 dependent

  1. 1
    A method for preserving synchronization and bit count integrity for a synchronous data stream which is transmitted via a medium (120, 122) which does not preserve the synchronous nature of said synchronous data stream, comprising the steps of receiving data frames, each of said data frames comprising data bits and a length field, and replacing any of said data frames with an erasure frame if excess errors occur in a respective one of said data frames, said erasure frame comprising fill bits;placing said data bits and said fill bits sequentially in a queue (150); andreplacing said fill bits with data bits from a successive data frame in accordance with the bit count and the value of the length field of said successive frame, and with the value of the length field of the frame preceding the erasure frame. Ein Verfahren zum Bewahren bzw. Sicherstellen von Synchronisation und Bitzählungsintegrität für einen synchronen Datenstrom, der über ein Medium (120, 122) gesendet wird, das den synchronen Charakter des synchronen Datenstroms nicht bewahrt, wobei das Verfahren die folgenden Schritte aufweist:Empfangen von Datenrahmen, wobei jeder der Datenrahmen Datenbits und ein Längenfeld aufweist, und Austauschen eines Datenrahmens der erwähnten Datenrahmen mit einem Löschungsrahmen, wenn Überschreitungsfehler bzw. übermäßige Fehler in einem jeweiligen der Datenrahmen auftreten, wobei der Löschungsrahmen Füllbits aufweist;Platzieren der Datenbits und der Füllbits sequentiell in eine Warteschlange (150);undAustauschen der Füllbits mit Datenbits von einem sukzessiven Datenrahmen gemäß der Bitzählung und dem Wert des Längenfelds des sukzessiven Rahmens und dem Wert des Längenfelds des Rahmens, der dem Löschungsrahmen vorhergeht. Procédé pour préserver la synchronisation et l'intégrité d'un comptage de bits d'un flux de données synchrone qui est transmis sur un milieu (120, 122) qui ne préserve pas la nature synchrone du flux de données synchrone, comprenant les étapes suivantes : recevoir les trames données, chacune des trames de données comprenant des bits de données et un champ de longueur, et remplacer des trames de données par une trame d'effacement si des erreurs en excès surviennent dans l'une respective des trames de données, la trame d'effacement comprenant des bits de remplissage ;placer les bits de données et les bits de remplissage séquentiellement dans une file (150) ;etremplacer les bits de remplissage par les bits de données à partir d'une trame de données suivante en accord avec le comptage de bit et la valeur du champ de longueur de la trame suivante et avec la valeur du champ de longueur de la trame précédant la trame d'effacement.
  2. 2
    Procédé selon la revendication 1, dans lequel le champ de longueur représente un débit de données dans une première trame de données par rapport à une trame de données précédente. The method of claim 1, wherein said length field represents a data rate in a first data frame relative to a previous data frame. Verfahren nach Anspruch 1, wobei das Längenfeld eine Datenrate in einem ersten Datenrahmen relativ zu einem vorhergehenden Datenrahmen darstellt.
  3. 3
    Procédé selon la revendication 2, dans lequel le champ de longueur est une valeur modulo en proportion avec le débit de données de la trame de données correspondante. The method of claim 2 wherein said length field is a moduto value in proportion to the data rate of a corresponding data frame. Verfahren nach Anspruch 2, wobei das Längenfeld ein Modulowert proportional zu den Datenraten eines entsprechenden Datenrahmens ist.
  4. 4
    Procédé selon la revendication 1, dans lequel l'étape consistant à placer les bits de données et les bits de remplissage séquentiellement dans une file (150) comprenant les étapes suivantes :déterminer si une trame courante est une trame de données ou une trame d'effacement ;placer des bits de données correspondant à la trame courante séquentiellement dans la file (150) si la trame courante est une trame de données ;etplacer un nombre de bits de remplissage égal au nombre maximum de bits dans une trame de données séquentiellement dans la file si la trame courante est une trame d'effacement. The method of claim 1 wherein the step of placing said data bits and said fill bits sequentially in a queue (150) comprises the steps of: determining if a current frame is a data frame or an erasure frame;placing data bits corresponding to said current frame sequentially into said queue (150) if said current frame is a data frame;andplacing a number of fill bits equal to the maximum number of bits in a data frame sequentially into said queue if said current frame is an erasure frame. Verfahren nach Anspruch 1, wobei der Schritt des Platzierens der Datenbits und der Füllbits sequentiell in eine Warteschlange (150) die folgenden Schritte aufweist: Bestimmen, ob ein momentaner Rahmen ein Datenrahmen oder ein Löschungsrahmen ist;Platzieren von Datenbits entsprechend dem momentanen Rahmen sequentiell in die Warteschlange (150), wenn der momentane Rahmen ein Datenrahmen ist;undPlatzieren einer Anzahl von Füllbits, die gleich der maximalen Anzahl von Bits in einem Datenrahmen ist, sequentiell in die Warteschlange, wenn der momentane Rahmen ein Löschungsrahmen ist.
  5. 5
    Procédé selon la revendication 1, dans lequel l'étape de remplacement des bits de remplissage par les bits de données comprend les étapes suivantes :identifier une première trame d'effacement reçue, une première trame de données reçue immédiatement avant la première trame d'effacement reçue, et une seconde trame de données reçue immédiatement après la première trame d'effacement reçue ;déterminer le nombre effectif de bits de données émis correspondant à la première trame d'effacement reçue ;etremplacer un nombre de bits de remplissage dans la file (150) par des bits de données correspondant à la seconde trame de données, le nombre de bits de remplissage remplacés étant égal à la différence entre le nombre maximum de bits dans une trame de données et le nombre réel de bits de données émis correspondant à la première trame d'effacement reçue. The method of claim 1 wherein the step of replacing said fill bits with data bits comprises the steps of: identifying a first received erasure frame, a first data frame received immediately prior to said first received erasure frame, and a second data frame received immediately after said first received erasure frame;determining the actual number of data bits transmitted corresponding to said first received erasure frame;andreplacing a number of fill bits in said queue (150) with data bits corresponding to said second data frame, said number of replaced fill bits equal to the difference between the maximum number of bits in a data frame and said actual number of data bits transmitted corresponding to said first received erasure frame. Verfahren nach Anspruch 1, wobei der Schritt des Platzierens der Füllbits mit Datenbits die folgenden Schritte aufweist: Identifizieren eines ersten empfangenen Löschungsrahmens, eines ersten Datenrahmens, der unmittelbar vor dem ersten empfangenen Löschungsrahmen empfangen wurde, und eines zweiten Datenrahmens, der unmittelbar nach dem ersten empfangenen Löschungsrahmen empfangen wurde;Bestimmen der gesendeten tatsächlichen Anzahl von Datenbits, entsprechend des ersten empfangenen Löschungsrahmens;undAustauschen einer Anzahl von Füllbits in der Warteschlange (150) mit Datenbits, entsprechend dem zweiten Datenrahmen, wobei die Anzahl der ausgetauschten Füllbits gleich der Differenz zwischen der maximalen Anzahl von Bits in einem Datenrahmen und der tatsächlich gesendeten Anzahl von Datenbits entsprechend dem ersten empfangenen Löschungsrahmen ist.
  6. 6
    Procédé selon la revendication 5, dans lequel l'étape de détermination du nombre réel de bits de données émis correspondant à la trame d'effacement reçue comprend les étapes suivantes :ajouter le champ de longueur correspondant à la première trame de données à une quantité prédéterminée correspondant à un premier débit de trame de la seconde trame de données pour produire une première valeur ;soustraire la première valeur du champ de longueur correspondant à la seconde trame de données pour produire une seconde valeur, la seconde valeur correspondant à un débit de données de la trame de données correspondant à la première trame d'effacement reçue ;ajouter un nombre prédéterminé modulo à la seconde valeur si la seconde valeur est un nombre négatif pour produire une troisième valeur, la troisième valeur correspondant à un débit de données de la trame de données correspondant à la première trame d'effacement reçue ;etcalculer le nombre réel de bits de données reçus dans la première trame d'effacement reçue en utilisant le débit de données. The method of claim 5 wherein the step of determining the actual number of data bits transmitted corresponding to said first received erasure frame comprises the steps of: adding said length field corresponding to said first data frame to a predetermined amount corresponding to a frame rate of said second data frame to produce a first value;subtracting said first value from said length field corresponding to said second data frame to produce a second value, wherein said second value corresponds to a data rate of said data frame corresponding to said first received erasure frame;adding a pre-determined modulo number to said second value if said second value is a negative number to produce a third value, wherein said third value corresponds to a data rate of said data frame corresponding to said first received erasure frame;andcalculating the actual number of data bits transmitted in said first received erasure frame using said data rate. Verfahren nach Anspruch 5, wobei der Schritt des Bestimmens der gesendeten tatsächlichen Anzahl von Datenbits entsprechend dem ersten empfangenen Löschungsrahmen, die folgenden Schritte aufweist: Addieren des Längenfeldes, das dem ersten Datenrahmen entspricht, zu einem vorbestimmten Betrag, der einer Rahmenrate des zweiten Datenrahmens entspricht, um einen ersten Wert zu erzeugen;Subtrahieren des ersten Wertes von dem Längenfeld, das dem zweiten Datenrahmen entspricht, um einen zweiten Wert zu erzeugen, wobei der zweite Wert einer Datenrate des Datenrahmens entsprechend dem ersten empfangenen Löschungsrahmen entspricht;Addieren einer vorbestimmten Modulozahl zu dem zweiten Wert, wenn der zweite Wert eine negative Zahl ist, um einen dritten Wert zu erzeugen, wobei der dritte Wert einer Datenrate des Datenrahmens entsprechend dem ersten empfangenen Löschungsrahmen entspricht;undBerechnen der tatsächlichen Anzahl von Datenbits, die in dem ersten empfangenen Löschungsrahmen gesendet werden, mittels der Datenrate.
  7. 7
    An apparatus for providing synchronization and bit count integrity with minimum delay to a variable rate, frame based, non-error free data stream comprising:means for receiving a first frame of data, said first frame of data comprising a first number of bits and a first field length value;means for placing said first frame of data in a queue (150) and moving a write pointer (160) to indicate a queue position for a next received bit;means for receiving an erasure indication in place of a second frame of data;means for placing a first number of filler bits in said queue (150) according to said write pointer (160) and moving said write pointer (160) to indicate a next bit after a last one of said first number of filler bits in said queue;means for receiving a third frame of data, said third frame of data comprising a third number of bits and a third field length value;means for calculating a second number of bits in said second frame of data based on said third number of bits, said first field length value and said third field length value;andmeans for moving, if necessary, said write pointer (160) to indicate a next bit after one of said first number of filler bits in said queue (150) such that an actual number of filler bits equal to said second number of bits has been added to said queue (150). Dispositif pour assurer une synchronisation et une intégrité de comptage de bits avec un retard minimum à un flux de données sans erreur, basé sur des trames, à débit variable, comprenant : un moyen pour recevoir une première trame de données, la première trame de données comprenant un premier nombre de bits et une première valeur de longueur de champ ;un moyen pour placer la première trame de données dans une file (150) et déplacer un pointeur d'écriture (160) pour indiquer une position de file pour un bit reçu suivant ;un moyen pour recevoir une indication d'effacement au lieu d'une seconde trame de données ;un moyen pour placer un premier nombre de bits de remplissage dans la file (150) en accord avec le pointeur d'écriture (160) et pour déplacer le pointeur d'écriture (160) pour indiquer un bit suivant après au moins l'un d'un premier nombre de bits de remplissage dans la file ;un moyen pour recevoir une troisième trame de données, la troisième trame de données comprenant un troisième nombre de bits et une troisième valeur de longueur de champ ;un moyen pour calculer un second nombre de bits dans la seconde trame de données en fonction du troisième nombre de bits, de la première valeur de longueur de champ et de la troisième valeur de longueur de champ ;etun moyen pour déplacer, si nécessaire, le pointeur d'écriture (160) pour indiquer un bit suivant après l'un du premier nombre de bits de remplissage dans 1a file (150) de sorte qu'un nombre réel de bits de remplissage égal au second nombre de bits a été ajouté dans la file (150). Vorrichtung zum Vorsehen von Synchronisation und Bitzählintegrität mit minimaler Verzögerung für einen Datenstrom mit variabler Rate, rahmenbasiert und nicht fehlerfrei, wobei die Vorrichtung Folgendes aufweist: Mittel zum Empfangen eines ersten Datenrahmens, wobei der erste Datenrahmen eine erste Anzahl von Bits und einen ersten Feldlängenwert aufweist;Mittel zum Platzieren des ersten Datenrahmens in einer Warteschlange (150) und Bewegen eines Schreibzeigers (160) um eine Warteschlangenposition für ein nächstes empfangenes Bit anzuzeigen;Mittel zum Empfangen einer Löschungsanzeige anstelle eines zweiten Datenrahmens;Mittel zum Platzieren einer ersten Anzahl von Füllbits in die Warteschlange (150) gemäß dem Schreibzeiger (160) und Bewegen des Schreibzeigers (160) um ein nächstes Bit nach dem letzten der ersten Anzahl von Füllbits in der Warteschlange anzuzeigen;Mittel zum Empfangen eines dritten Datenrahmens, wobei der dritte Datenrahmen eine dritte Anzahl von Bits und einen dritten Feldlängenwert aufweist;Mittel zum Berechnen einer zweiten Anzahl von Bits in dem zweiten Datenrahmen, basierend auf der dritten Anzahl von Bits, dem ersten Feldlängenwert und dem dritten Feldlängenwert;undMittel zum Bewegen, wenn dies nötig ist, des Schreibzeigers (160) um ein nächstes Bit nach einem Bit der ersten Anzahl von Füllbits in der Warteschlange (150) anzuzeigen, so dass eine tatsächliche Zahl von Füllbits gleich der zweiten Anzahl von Bits zu der Warteschlange (150) addiert wurde.
  8. 8
    Dispositif selon la revendication 7, dans lequel le premier nombre de bits de remplissage est égal à un nombre de bits maximum qui peut être reçu dans une trame. The apparatus of claim 7 wherein said first number of filler bits is equal to a maximum number of bits which may be received in any frame. Vorrichtung nach Anspruch 7, wobei die erste Anzahl von Füllbits gleich einer maximalen Anzahl von Bits ist, die in einem beliebigen Rahmen empfangen werden können.
  9. 9
    Dispositif selon la revendication 7, dans lequel le premier nombre de bits de remplissage est égal à une moyenne du nombre de bits par trame sur le flux de données sans erreur, basé sur des trames, à débit variable. The apparatus of claim 7 wherein said first number of filler bits is equal to an average number of bits per frame on said variable rate, frame based, non-error free data stream. Vorrichtung nach Anspruch 7, wobei die erste Anzahl von Füllbits gleich einer durchschnittlichen Anzahl von Bits pro Rahmen auf dem Datenstrom ist, der eine variable Rate hat, rahmenbasierend und nicht fehlerfrei ist.
  10. 10
    Dispositif selon la revendication 9, comprenant en outre des moyens pour placer un second nombre de bits de remplissage dans la file (150) et déplacer le pointeur d'écriture (160) pour indiquer un bit suivant après au moins un du second nombre de bits de remplissage de sorte qu'un nombre total de bits de remplissage égal au second nombre de bits a été ajouté à la file (150). The apparatus of claim 9 further comprising means for placing a second number of filler bits in said queue (150) and moving said write pointer (160) to indicate a next bit after a last one of said second number of filler bits such that a total number of filler bits equal to said second number of bits has been added to said queue (150). Vorrichtung nach Anspruch 9, die weiterhin Mittel aufweist zum Platzieren einer zweiten Anzahl von Füllbits in der Warteschlange (150) und Bewegen des Schreibzeigers (160) um ein nächstes Bit nach einem letzten Bit der zweiten Anzahl von Füllbits anzuzeigen, so dass eine Gesamtanzahl von Füllbits gleich der zweiten Anzahl von Füllbits zu der Warteschlange (150) dazuaddiert wurde.
  11. 11
    Dispositif selon la revendication 7, dans lequel la file (150) commence à produire un flux de bits à débit constant après réception d'une trame initiale. The apparatus of claim 7 wherein said queue (150) begins to produce a constant rate bit stream upon reception of an initial frame. Vorrichtung nach Anspruch 7, wobei die Warteschlange (150) damit beginnt, einen Bitstrom mit einer konstanten Rate zu erzeugen bei Empfang eines anfänglichen Rahmens.
  12. 12
    Dispositif selon la revendication 7, dans lequel la troisième valeur de la longueur de trame est égale à une somme modulo de la première valeur de longueur de champ, du second nombre de bits et du troisième nombre de bits. The apparatus of claim 7 wherein said third field length value is equal to a modulo sum of said first field length value, said second number of bits and said third number of bits. Vorrichtung nach Anspruch 7, wobei der dritte Feldlängenwert gleich einer Modulosumme des ersten Feldlängenwertes, der zweiten Anzahl von Bits und der dritten Anzahl von Bits ist.