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.

Term
Term ended
Expired 11 June 2017, 9.3 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
12 claims: 12 independent, 0 dependent
- 1A 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.
- 2Procé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.
- 3Procé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.
- 4Procé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.
- 5Procé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.
- 6Procé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.
- 7An 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.
- 8Dispositif 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.
- 9Dispositif 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.
- 10Dispositif 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.
- 11Dispositif 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.
- 12Dispositif 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.
Independent claims12
46 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
L Field of the Invention
This invention relates generally to data transfer communication systems and, more particularly, to the transfer of a synchronous data stream via a medium which does not preserve the synchronous nature of the data stream.
IL Description of the Related Art
In a wireless telephone communication system, many users communicate over a wireless channel to connect to other wireless and wireline telephone systems. Communication over the wireless channel can be one of a variety of multiple access techniques. These multiple access techniques include time division multiple across (TDMA), frequency division multiple access (FDMA), and code division multiple access (CDMA). The CDMA technique has many advantages. An exemplary CDMA system is described in U.S. Patent No. 4,901,307 issued February 13, 1990 to K. Gilhousen et al., entitled "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS," assigned to the assignee of the present invention.
In the just mentioned patent, a multiple access technique is disclosed where a large number of mobile telephone system users, each having a transceiver, communicate through satellite repeaters or terrestrial base stations using CDMA spread spectrum communication signals. In using CDMA communications, the frequency spectrum can be reused multiple times permitting an increase in system user capacity.
In the CDMA cellular system, each base station provides coverage to a limited geographic area and links the remote units in its coverage area through a cellular system switch to the public switched telephone network (PSTN). When a remote unit moves to the coverage area of a new base station, the routing of that user's call is transferred to the new base station. The base station-to-remote unit signal transmission path is referred to as the forward link and the remote unit-to-base station signal transmission path is referred to as the reverse link.
In a typical wireless telephone communication system, the remote unit transmitter may employ a vocoding system which encodes voice information in a variable rate format. For example, the data rate may be lowered due to pauses in the voice activity. The lower data rate reduces the level of interference to other users caused by the remote unit transmissions. At the receiver, or otherwise associated with the receiver, a vocoding system is employed for reconstructing the voice information. In addition to voice information, non-voice information alone or a mixture of the two may be transmitted by the remote unit.
When a remote unit is producing its own data for transmission, a internal vocoder produces from digital samples of the voice information encoded data at four different rates, e.g. approximately 8,000 bits per second (bps), 4,000 bps, 2,000 bps and 1,000 bps, based on voice activity during a 20 millisecond (ms) frame. Each frame of vocoder data is formatted with overhead bits as 9,600 bps, 4,800 bps, 2,400 bps, and 1,200 bps data frames. The highest rate data frame which corresponds to a 9,600 bps frame is referred to as a "full rate" frame; a 4,800 bps data frame is referred to as a "half rate" frame; a 2,400 bps data frame is referred to as a "quarter rate" frame; and a 1,200 bps data frame is referred to as an "eighth rate" frame. In neither the encoding process nor the frame formatting process is rate information included in the data. A vocoder which is suited for application in this environment is described in U.S. patent No. 5,414,796, entitled "VARIABLE RATE VOCODER," issued May 9, 1995 and assigned to the assignee of the present invention. When the remote unit receives data from an outside source such as a terminal equipment unit, the remote unit continues to process the data in this variable rate frame format.
When the original cellular telephone spectrum licenses were issued by the government, one of the restrictions on use of the spectrum was that the carriers could not provide dispatching system services. However, because of the great advantages of the CDMA system and the inherent expense and problems of deployment and maintenance of private dispatch systems, the government is re-examining this issue. The government itself would benefit greatly from such services.
Whereas typical wireless and wireline telephone service provides point-to-point service, dispatching services provide one-to-many service. Common usage of dispatch services are local police radio systems, taxicab dispatch systems, Federal Bureau of Intelligence and secret service operations, and general military communication systems.
The basic model of a dispatch system consists of a broadcast net of users. Each broadcast net user monitors a common broadcast forward link signal. If a net user wishes to talk, he presses a push to talk (PTT) button. Typically the talking user's voice is routed from the reverse link over the broadcast forward link. Ideally the dispatch system allows landline and wireless access to the system.
If the government agencies wish to use a dispatch service, in addition to the inherent privacy provided by the CDMA waveform, the agencies may want to use encryption mechanisms for further prevention of interception. Encryption mechanisms are typically operated based on an internally generated clock and generate data at a fixed rate. In order to use an encryption mechanism with a wireless system, the data rate, clock, and bit count integrity requirement of the encryption mechanism must be accommodated.
Further attention is drawn to the document Dean R A et al, "Toward a North American Standard for Mobile Data Services", Digital Signal Processing, vol. 2, No. 1, 1 January 1992, pages 27-32, XP000387798, which discloses an approach for dealing with timing and bit count integrity problems by incorporating appropriate control information into the transmission frame structure for applicable data services. Frame count (and possible clock timing) information is inserted into the channel at uniform intervals tied to the overall frame structure. This information, carried with the frame throughout the mobile system, can be used to resolve frame count ambiguities and clock timing inconsistencies. A frame structure incorporating a frame count field in each frame is disclosed.
Attention is also drawn to the document Weissman D et al, "Interoperable Wireless Data IEEE Communications Magazine, vol. 31, No. 2, 1 February 1993, pages 68-77, XP000334605. The paper discusses mismatched clock rates across systems and loss of bit count integrity as a result of losing one or more frames during hand off. In order to overcome these problems the paper recites an approach which incorporates appropriate control information into the data transmission channel structure as a simple frame counting mechanism. For frames that are lost, the interworking function can reconstitute a pseudo frame to maintain an accurate bit count of data transfer. Elastic buffers will also be implemented to adjust the mismatched clock rates across the network.
In accordance with the present invention a method for preserving synchronization and bit count integrity, as set forth in claim 1, and an apparatus that provides synchronization and bit count integrity, as set forth in claim 7, are provided. Preferred embodiments of the invention are claimed in the dependent claims.
SUMMARY OF THE INVENTION
The present invention is an efficient buffering scheme to adapt the Transparent Radio Link Protocol to service a constant rate bit stream requiring bit count integrity and low delay. A terminal equipment unit provides a cortstant rate bit stream. A wireless link is used to transport the constant rate bit stream to a destination using a variable rate, frame based, non-error free protocol. At the receiving end, the constant rate bit stream must be reconstructed such that bit count integrity is maintained. The buffering system must introduce a minimal fixed delay consistent with the needs of a voice service system.
To achieve these requirements, a length field is added to each frame. The length field itself should be comprised of a low number of bits so as to minimize the impact of the length field to the overall bit carrying capacity of the link. The length field is a modulo value that is incremented in proportion to the size of the corresponding frame of data. If a frame is erased, the number of bits contained in the frame can be determined based on the length field of the next non-erased frame that is received. At the receiving station, a queue receives the frame data and produces the constant rate bit stream. When an erasure is received, a number of fill bits is added to the queue equal to the maximum number of bits which may have been contained in the erased frame. These fill bits are ready for use by the queue. When the next non-erased frame is received, if the erased frame is determined to have contained less than the maximum number of bits, the extra bits are overwritten by the data contained in the next non-erased frame.
BRIEF DESCRIPTION OF THE DRAWINGS
The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings wherein: <ul id="ul0001" list-style="none" compact="compact"><li>FIG. 1 shows a typical dispatch system;</li><li>FIG. 2 shows a point-to-point secure voice connection between a remote unit and a landline telephone;</li><li>FIG. 3 shows the protocol stack with the Adaptation Layer of the Transparent Radio Link Protocol;</li><li>FIG. 4 shows the Adaptation Layer queue which buffers the output of Transparent Radio Link Protocol to generate a constant rate bit stream; and</li><li>FIG. 5 is an alternative embodiment to the linear buffer shown in FIG. 4.</li></ul>
DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 shows a typical dispatch system. In the preferred embodiment, remote units <b>10, 20, 22,</b> and <b>24</b> may function both as dispatch units and as point-to-point telephones. In FIG. 1, remote unit <b>10</b> is currently an active talker and remote units <b>20, 22,</b> and <b>24</b> are currently passive listeners. Base stations <b>30, 32,</b> and <b>34</b> provide the broadcast forward link channel to remote units <b>10, 20, 22,</b> and <b>24.</b> Base station <b>30</b> is also receiving a reverse link signal from active remote unit <b>10</b>. Mobile switching center (MSC) <b>38</b> coordinates the signaling to and from the base stations. In the preferred embodiment, the signaling is in accordance with "Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular Systems" TIA/EIA/IS-95, generally referred to simply as <i>IS-95</i>. In IS-95, the remote unit is referred to as a mobile station. Communications manager <b>40</b> controls the broadcast net such as the prioritizing of requests if two of the remote units press the 'push to talk' (PTT) button at the same time.
Although the preferred embodiment illustrates the present invention as used to marry an encrypted voice system into a point-to-point or despatch wireless CDMA system, the generic principles are applicable in a multiplicity of digital environments For example, the same principles can be applied to systems deployed using Time Division Multiple Access (TDMA) or other digital transmission techniques. The digital data could be FAX, or computer data. Generally the present invention is broadly applicable to any synchronous data stream which is transmitted via a medium which does not preserve the synchronous nature of the signal. Some examples of such as systems are synchronous frame format video transmission systems, packet data bursts being carried by a synchronous bearer (isochronous systems) service, multiplexed voice and data traffic as carried by the Asynchronous Transfer Mode (ATM) over a connection oriented synchronous transport
FIG. 2 shows an exemplary embodiment of the present invention. FIG 2 is described with reference to a point-to-point secure voice connection between a remote unit and a landline telephone. The same techniques could to be directly applied to a point-to-point connect between two remote units or directly applied to a dispatch system. Remote unit <b>110</b> has been equipped with Crypto Lump (clump) <b>100.</b> Clump <b>100</b> provides a steady stream of data bits to remote unit <b>110.</b> Within clump <b>100</b>, clock <b>102</b> produces an independent clock running at frequency f<sub>1</sub>. Clock <b>102</b> may drift with respect to the CDMA clock running at frequency f<sub>2</sub> and the PSTN clock running at frequency f<sub>3</sub>. Clock <b>102</b> is used to drive vocoder <b>104</b> to encode the voice signals received from speaker/microphone <b>108.</b> The output of vocoder <b>104</b> is used to drive encryption/decryption <b>106.</b> The output of encryption/decryption <b>106</b> is input into remote unit <b>110.</b> Even though the output of encryption/decryption <b>106</b> is typically secure voice, the CDMA connection comprising remote unit <b>110,</b> base station <b>118,</b> and interworking function <b>124</b> acts upon the data as if it were data output from a standard digital equipment terminal unit. Although speaker/microphone <b>108</b> is shown as located within clump <b>100</b> it may be located within remote unit <b>110.</b> In such a case an audio signal connection between clump <b>100</b> and remote unit <b>110</b> is required.
One aspect of the encryption and decryption process is that a steady stream of data is created at the encryption end and a steady stream of data must be recreated at the decryption end for the decryption process to work effectively. The decryption process can tolerate errors in the input data and still provide valid results therefore an error-free link is not needed. The critical aspect is that the bits going into the decryption process must have the same time alignment with respect to each other as they had coming out of the encryption process. If even one bit of data is missing, the decryption process produces trash rather than valid data. The process of providing a steady stream of data bits is called synchronization. The process of providing an equal number of bits into the decryption process as come out of the encryption process is called bit count integrity maintenance.
Returning to FIG. 2, clump <b>100</b> is producing a steady stream of encrypted data bits. Typically such encrypted data is produced at 4800 bits per second. In contrast to the steady stream of bits output from clump 100, remote unit 110 produces variable rate frame data in accordance with IS-95. In accordance with IS-95, remote unit 110 produces 20 millisecond (msec) frames of data. The frames of data can take on one of four different rates, e.g. approximately 8,000 bits per second (bps), 4,000 bps, 2,000 bps and 1,000 bps depending on the rate at which data is created or received. Each frame data is formatted with overhead bits as 9,600 bps, 4,800 bps, 2,400 bps, and 1,200 bps data frames. The highest rate data frame which corresponds to a 9,600 bps frame is referred to as a "full rate" frame; a 4,800 bps data frame is referred to as a "half rate" frame; a 2,400 bps data frame is referred to as a "quarter rate" frame; and a 1,200 bps data frame is referred to as an "eighth rate" frame.
The bit count pay load of one full rate frame is 160 bits. The bit count pay load for one half rate frame is 80 bits. If clump <b>100</b> is producing data at 4800 bps, it is producing 96 bits during each 20 msec frame duration. Therefore remote unit <b>110</b> creates a dithering combination of full rate and half rate data frames to accommodate the clump <b>100</b> output. For each frame, remote unit <b>110</b> adds a length field. The length field itself should be comprised of a low number of bits so as to minimize the impact of the length field to the overall bit carrying capacity of the link. The length field is a modulo index created by adding the length (i.e. number of bits) of the present frame to the value of the length field sent with the previous frame. In addition, other CDMA signaling, control, and overhead bits are added to the frames. The frames are then convolutionally encoded. The encoded bits are then interleaved. The interleaved bits are orthogonal Walsh encoded and spread with a pseudorandom noise PN code mask. The mask spread signal is then offset quadrature phase shift keyed (OQPSK) modulated with I and Q channel spreading sequences and transmitted through antenna <b>112</b> over wireless link <b>120.</b>
Base station <b>118</b> receives the remote unit signal from wireless link <b>120</b> via antenna <b>114.</b> Base station <b>118</b> removes the OQPSK modulation and the spreading mask. Base station <b>118</b> Walsh decodes the unspread signal and deinterleaves the signal. The signal is then decoded such as by a Viterbi decoder and passed from base station <b>118</b> to interworking functions (IWF) <b>124.</b>
IWF <b>124</b> provides the functions needed for clump <b>100</b> to inter-work with secure telephone unit <b>130.</b> A physical implementation may include a pool of modems. IWF <b>124</b> outputs pulse code modulated (PCM) data to public switch telephone network (PSTN) <b>128.</b> PSTN <b>128</b> passes the PCM encoded data to secure telephone unit (STU) <b>130.</b> Within STU <b>130</b> the data stream is decrypted and devocoded and the voice signal is output for the end listener. The link from STU <b>130</b> to clump <b>100</b> works nearly the same as the link just described.
The IS-95 wireless protocol is intended to carry voice signals. By the nature of the voice signal, a perfectly reproduced copy of the original digitized voice signal is not necessary for the reconstructed result to be intelligible toll-quality speech. Therefore if excessive errors occur with respect to one frame, the frame can simply be erased. If the number of such erasures is kept to a minimum, the resulting effect on the voice is minimal. Therefore the IS-95 link does not inherently provide error-free communication.
When the IS-95 link is used to provide a data connection where error-free data transfer is required, an additional protocol layer may be added to detect frame erasures. Upon detection of a frame erasure, the receiving terminal may request retransmission of the frame. However, such a scheme is not acceptable when dealing with a synchronous data connection which is carrying voice data. The error-detection and frame repetition operations introduce a delay to the system. In a synchronous system, the maximum delay introduced by such a system would have to be permanently inserted by a buffering scheme. Such delays are unacceptable in voice systems because they are large enough to be detectable by the end user.
Because the IS-95 wireless interface does not provide synchronous data transfer with bit count integrity, the present invention provides a new protocol stack layer onto the existing protocol stack. FIG. 3 shows the protocol stack with the newly added Adaptation Layer for the Transparent Radio Link Protocol (TRLP). The Adaptation Layer may be used in conjunction with any user traffic which has a constant bit stream whether the bit steam is generated by secure voice terminal equipment or any arbitrary synchronous data source. The Adaptation Layer restores the synchronous nature of the traffic and the bit count integrity using a buffering scheme and an associated erased data replacement algorithm for data erased at the Transparent RLP layer. The advantage of the present invention is that the real-time queuing delay experienced by the data is minimized.
FIG. 3 shows the protocol stack with the Adaptation Layer of the Transparent Radio Link Protocol. Clump <b>100</b> provides a constant stream of data bits using an interface defined in Electronic Industry Association/Telecommunication Industry Association (EIA/TIA) document 232-E. Remote unit <b>110</b> receives the data using the same protocol. The APP layer is a standard modem AT command processing layer. The layer labeled AL is the Adaptation Layer. For the reverse link, the Adaptation Layer in remote unit <b>110</b> converts the constant rate bit stream into a series of octets which are passed to the TRLP layer. The Adaptation Layer also provides synchronization between the clump <b>100</b> clock running at f<sub>1</sub> and the clock within remote unit <b>110</b> running at frequency f<sub>2</sub>. The IS-95 layer provides data and signaling for the radio link interface including the encoding, interleaving, spreading and OQPSK modulation described briefly above.
At base station <b>118</b> and IWF <b>128,</b> the IS-95 layer removes the IS-95 operations and outputs either a frame of data or an erasure for each frame of data that it attempts to receive. The TRLP receives the frame data and outputs octets of data. The Adaptation Layer takes the incoming series of octets of data and frame erasure indications and produces a constant rate bit stream.
The Adaptation layer is comprised of queue 150 shown in FIG. 4 which buffers the output of TRLP to generate a constant rate bit stream. Queue 150 does not begin to output a constant rate bit stream until both buffer prefill X area <b>154</b> and buffer prefill Z area <b>156</b> are full of bits. Obviously buffer prefill X area <b>154</b> introduces a unavoidable fixed delay. Buffer prefill X area <b>154</b> accounts for any clock drift between the clock running at frequency f<sub>1</sub> in clump <b>100</b> and the clock running at frequency f<sub>1</sub> in STU <b>130.</b> The size of buffer prefill X area <b>154</b> is determined by the system specifications. For example in the preferred embodiment, a minimum acceptable time between sync resets is designated as 10 minutes. A sync reset occurs when buffering queue runs out of data so that it can not produce a constant rate bit stream and the system must be reset and the buffer refilled in order for operation to continue. As the minimum acceptable time between sync resets increases, the size of the buffer must increase and the fixed delay also increases. The size of buffer prefill X area <b>154</b> is calculated based on the maximum drift between the STU <b>130</b> and clump <b>100</b> clocks. Buffer prefill X area <b>154</b> stores the highest possible number of bits by which the two units can draft with respect to one another over a ten minute interval. The actual size of the buffer prefill X area <b>154</b> is unrelated to operation of the prevent invention. The number of bits stored in buffer prefill X area <b>154</b> increases and decrease throughout the system operation.
Octets of data from buffer prefill Z area 156 are passed to buffer prefill X area <b>154</b> at approximately the same bps rate that bits are passed from buffer prefill X area <b>154</b> to the constant rate bit stream. The transfer of the bits from buffer prefill Z area <b>156</b> to buffer prefill X area <b>154</b> is based on the CDMA equipment dock frequency f<sub>2</sub>. Buffer prefill Z area <b>156</b> is also prefilled with data before any data is delivered at the constant rate bit stream output and thus introduces a fixed delay in the system. In order to introduce the minimum possible fixed delay, the size of buffer prefill Z area <b>156</b> is equal to a small value. One convenient value is the average number of bits transferred to buffer prefill X area <b>154</b> before another set of data arrives from the TRLP layer. In the preferred embodiment, on average 96 bits are transferred from queue <b>150</b> every frame. Therefore in the preferred embodiment the size of buffer prefill Z area <b>156</b> is 12 octets.
In an alternative embodiment, the size of buffer prefill Z area <b>156</b> may be reduced to zero. When a connection is first established between clump <b>100</b> and STU <b>130,</b> a dialing tone indication is sent from the originating unit to the receiving unit. When the receiving unit answers, the two units exchange a series of training tones. When both the sending and receiving units are ready to transfer data, each one sends a carrier to the other. The first instant in time that data can be sent from one unit is the instant that it detects the carrier from the other unit. As soon as the modem within IWF <b>124</b> detects the carrier, protocol dictates that IWF <b>124</b> produce the constant rate bit stream. If no frames are yet available, fill bits must be added to buffer prefill X area <b>154</b> and to buffer prefill Z area <b>156</b> to satisfy the protocol. If however the carrier is not provided to IWF <b>124</b> until just after the arrival of the first non-erased frame, buffer Z area <b>158</b> can immediately begin to output the received data at a constant rate. In this way, the next frame of data or an erasure indication is available before buffer Z area <b>158</b> is empty and buffer prefill Z area <b>156</b> may be eliminated.
Returning to the preferred embodiment, the nominal location of write pointer <b>160</b> is at the boundary of buffer prefill Z area <b>156</b> and buffer Z area <b>158</b>. As data is shifted into buffer Z area <b>158</b> from the TRLP in the form of actual data and fill data, data is shifted out as octets from buffer prefill Z area <b>156.</b> As such the location of write pointer <b>160</b> moves to indicate the location at which the next octet from the TRLP is to be placed. As discussed below, the write pointer can be moved within the stack pointer range comprised of both buffer prefill Z area <b>156</b> and buffer Z area <b>158</b>. Because the size of buffer X area <b>154</b> may vary, write pointer <b>160</b> does not enter buffer prefill X area <b>154.</b>
When an erasure indication is received, the size of the erased frame is unknown. To preserve bit count integrity, filler bits must be added to queue <b>150</b> to represent the erased bits. According to the present invention, the maximum number of bits that the erased frame of data could contain are added to queue <b>150</b>. In the preferred embodiment, the full rate frame carries <b>160</b> bits and therefore <b>160</b> filler bits are added to queue <b>150</b>. These bits immediately begin to shift through queue <b>150</b> and are output as necessary to the constant rate bit stream. If the erased frame was not a full rate frame, some of the bits added to queue <b>150</b> may still be in queue <b>150</b> when the next non-erased frame is received.
As noted above, each frame contains a length field which indicates the number of bits in the present frame relative to the previous frame. Using the data rates of the preferred embodiment, Table I shows an exemplary scheme for providing such a modulo length field. In the example in Table I, the length field is only four bits long and therefore takes on a value from 0 to 15. The value of the length field is incremented for each frame based on the frame rate. If a full rate frame is sent, the field value is increased by 8. If a half rate frame is sent, the field value is increased by 4. If a quarter rate frame is sent, the field value is increased by 2. If an eighth rate frame is sent, the field value is increased by 1. <tables id="tabl0001" num="0001"><table frame="all"><title>TABLE I</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colnum="1" colname="col1" colwidth="78.75mm" /><colspec colnum="2" colname="col2" colwidth="78.75mm" /><thead valign="top"><row><entry namest="col1" nameend="col1" align="center">Frame rate</entry><entry namest="col2" nameend="col2" align="center">four bit modulo length field</entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="center">quarter</entry><entry namest="col2" nameend="col2" align="center">2</entry></row><row><entry namest="col1" nameend="col1" align="center">half</entry><entry namest="col2" nameend="col2" align="center">6</entry></row><row><entry namest="col1" nameend="col1" align="center">half</entry><entry namest="col2" nameend="col2" align="center">10</entry></row><row><entry namest="col1" nameend="col1" align="center">eighth</entry><entry namest="col2" nameend="col2" align="center">11</entry></row><row><entry namest="col1" nameend="col1" align="center">full</entry><entry namest="col2" nameend="col2" align="center">3</entry></row><row><entry namest="col1" nameend="col1" align="center">eighth</entry><entry namest="col2" nameend="col2" align="center">4</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="center">full</entry><entry namest="col2" nameend="col2" align="center">12</entry></row></tbody></tgroup></table></tables>
Following this scheme and assuming the initial value of the length field is 0, the first column of Table I indicates the rate of the data sent during the frame. The second column represents the corresponding length field value. Thus because the first frame sent is quarter rate, the field length value is 2. Because the next frame is half rate, the value is incremented by 4 and takes on value 6. The second consecutive half rate frame increases the value by another 4 such that the length field value is 10. The eighth rate frame increases the length field value to 11. The following full rate frame increases the value beyond the maximum 4 bit value of 15 and thus the modulo result of adding 8 is a length field value of 3. The eighth rate frame increases the length field value to 4 and the last full rate frame increases the length field value to 12.
Note that if a frame is erased the corresponding length field value is also erased. Now assume that the sequence in Table I is sent but that the first full rate frame is erased as shown in Table II. <tables id="tabl0002" num="0002"><table frame="all"><title>TABLE II</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colnum="1" colname="col1" colwidth="78.75mm" /><colspec colnum="2" colname="col2" colwidth="78.75mm" /><thead valign="top"><row><entry namest="col1" nameend="col1" align="center">Frame rate</entry><entry namest="col2" nameend="col2" align="center">four bit modulo length field</entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="center">quarter</entry><entry namest="col2" nameend="col2" align="center">2</entry></row><row><entry namest="col1" nameend="col1" align="center">half</entry><entry namest="col2" nameend="col2" align="center">6</entry></row><row><entry namest="col1" nameend="col1" align="center">half</entry><entry namest="col2" nameend="col2" align="center">10</entry></row><row><entry namest="col1" nameend="col1" align="center">eighth</entry><entry namest="col2" nameend="col2" align="center">11</entry></row><row><entry namest="col1" nameend="col1" align="center">erasure</entry><entry namest="col2" nameend="col2" align="center">-------</entry></row><row><entry namest="col1" nameend="col1" align="center">eighth</entry><entry namest="col2" nameend="col2" align="center">4</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="center">full</entry><entry namest="col2" nameend="col2" align="center">12</entry></row></tbody></tgroup></table></tables> Notice that the length field value corresponding to the eighth rate frame following the erasure is the same. Also note that the number of bits in the eighth rate frame is known because the corresponding bits are available to be added to queue 150. Therefore the rate of the missing frame (and thus the number of fill bits which should have been added) can be determined by subtracting the sum of the last correctly received value before the erasure and the value added due to the first correctly received frame after the erasure from the first correctly received length field after the erasure. If the result is negative a modulo value of 16 is added to the result. For example, in the example shown in Table II: <ul id="ul0002" list-style="none" compact="compact"><li>the last correctly received value before the erasure = 11;</li><li>the value added by the first correctly received frame =1;</li><li>the sum of these two = 12;</li><li>the first correctly received length field after the erasure = 4;</li><li>subtracting 4 - 12 = -8; and</li><li>because the result is negative 16 is added = 8.</li></ul> Because the result is 8 we know that the erased frame was a full rate frame. If the frame was a half rate frame the result is 4. If the frame was a quarter rate frame the result is 2. And if the frame was an eighth rate frame the result is 1. Note this same technique can be used if two or more consecutive erasures are received. The actual rates of each erased frame are not critical - only the total number of erased bit needs to be determined.
The four bit length field described above is very limited in use because the value of the length field wraps if two consecutive full rate frames are received. A myriad of more complicated schemes could be used to accomplish similar results consistent with the scope of the present invention. For example, to accommodate the maximum number of consecutive erasures which are anticipated, an actual system may be comprised of seven bits or more. Seven bits are needed to accommodate the reception of six consecutive full rate frame erasures. IS-95 defines an eight bit return link processor sequence field. The length field value may be substituted in place of the return link processor sequence field.
So returning again to FIG. 4, when a frame erasure indication is passed to the Adaptation Layer, a set of octet fill characters sufficient to account for a full rate frame are added to queue <b>150</b>. In the preferred embodiment, 20 octets of value AA hexadecimal (hex) are added to queue <b>150</b> corresponding to the 160 bits of a full rate frame. (AA corresponds to the repeating series 10101010.) These bits are available immediately to begin feeding into the constant rate bit stream. If another erasure is received, a second set of 20 octets of value AA hex are added to queue <b>150</b>. When the first non-erased frame of data is received, using a technique similar to the one described above, the number of erased bits is determined. If the number of erased bits is less than the number of bits added to queue <b>150</b>, the queue stack pointer indicating where the next received set of bit should be placed is moved such that the excess bits are overwritten by the newly received bits.
For example, using the numerology of the preferred embodiment and the example of Table I, assume the sequence shown in Table III is received. <tables id="tabl0003" num="0003"><table frame="all"><title>TABLE III</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colnum="1" colname="col1" colwidth="78.75mm" /><colspec colnum="2" colname="col2" colwidth="78.75mm" /><thead valign="top"><row><entry namest="col1" nameend="col1" align="center">Frame rate</entry><entry namest="col2" nameend="col2" align="center">four bit modulo length field</entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="center">quarter</entry><entry namest="col2" nameend="col2" align="center">2</entry></row><row><entry namest="col1" nameend="col1" align="center">erasure</entry><entry namest="col2" nameend="col2" align="center">-</entry></row><row><entry namest="col1" nameend="col1" align="center">half</entry><entry namest="col2" nameend="col2" align="center">10</entry></row><row><entry namest="col1" nameend="col1" align="center">eighth</entry><entry namest="col2" nameend="col2" align="center">11</entry></row><row><entry namest="col1" nameend="col1" align="center">full</entry><entry namest="col2" nameend="col2" align="center">3</entry></row><row><entry namest="col1" nameend="col1" align="center">eighth</entry><entry namest="col2" nameend="col2" align="center">4</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="center">full</entry><entry namest="col2" nameend="col2" align="center">12</entry></row></tbody></tgroup></table></tables> When the erasure is received, 160 bits are added to queue <b>150</b>. When the half rate frame is received with value 10, the formula given above is used to determine that a half rate frame was erased (4 = 10 - (2 + 4)). As such only 80 fill bits are required to account for the erased bits even though 160 were added. Therefore before the received data bits corresponding to the correctly received half rate frame are added to queue <b>150</b>, queue write pointer <b>160</b> is advanced towards the buffer X area <b>154</b> by the difference between the number of bits actually added and the number of bits which should have been added which in this case is 80 bits or 10 octets. In this way the excess fill bits buffer values are overwritten by the actual data received.
In an alternative embodiment, instead of adding a set of octet fill characters sufficient to account for a full rate frame to queue 150, the average number of bits received is added. For example, as noted above, an average 96 bits are transferred every frame and it follows that on average the number of bits that are destroyed when a frame is erased is 96. In such a scheme, 12 octets of data are added to queue <b>150</b> when a frame is erased. When the actual size of the erased frame is determined, write pointer <b>160</b> may be moved up towards buffer prefill X area <b>154</b> or back deeper into or toward buffer Z area <b>158</b>. If write pointer <b>160</b> is moved deeper into queue <b>150,</b> additional fill bits may need to be added. In the most general embodiment of the present invention, any number of fill bits could be added to queue <b>150</b> sufficient to keep the steady stream of octets flowing from buffer prefill Z area <b>156</b> to buffer prefill X area <b>154</b>. In the most general embodiment consistent with the present invention, bits may be added in any quantity as long as the rate at which the bits are added is greater than or equal to the average rate at which bits are transferred from the queue.
Although the preferred embodiments are described with reference to a linear buffer, the ideas of the present invention may be applied directly to a circular buffer. A circular buffer uses both a read and a write pointer. In one implementation of a circular buffer, no actual dummy bits would be added when erasures are received. Instead, the write pointer need only be adjusted to a new position.
Also, the ideas of the present invention may be implemented as shown in FIG. 5. In FIG. 5, the TRLP octets are input into buffer <b>200.</b> Fill generator <b>202</b> provides a constant stream of fill bits. Switch <b>204</b> chooses between the output of buffer <b>200</b> and fill generator <b>202</b> as controlled by switch control <b>206</b>. Only those octets which are not received as erasures are input into buffer <b>200</b>. When an erasure is received, switch control <b>206</b> is informed. When the fill bits are need to replace the bits of an erased frame, switch <b>204</b> connects fill generator <b>202</b> to the constant rate bit stream. Otherwise, switch <b>204</b> connects buffer <b>200</b> to the constant rate bit stream. The determination of the number of bits to add is still executed as describe above.
The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the appended claims.
Contents4
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both waysCites: the store holds 3 of 4
| Document | Relation | Office |
|---|---|---|
| EP0425964A | Cites | European Patent Office (EPO) |
| GB2050119A | Cites | United Kingdom |
| WO9535002A | Cites | World Intellectual Property Organization (WIPO) |
25 members in 15 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 661691 | United States of America | – | |
| 66169196 | United States of America | A | |
| 66169196 | United States of America | A | |
| 9710283 | United States of America | W | |
| 9710283 | United States of America | W | |
| 661691 | – | – | – |
| US19960661691 | – | – | – |
| US1997010283 | – | – | – |
| WO1997US10283 | – | – | – |
Members25
| Document | Office | Kind | |
|---|---|---|---|
| CA2258029A1 | Canada | A1 | |
| WO9748205A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU3391397A | Australia | A | |
| TW341012B | Taiwan Province of China | B | |
| US5844885A | United States of America | A | |
| EP0906675A1 | European Patent Office (EPO) | A1 | |
| CN1227685A | China | A | |
| AU717478B2 | Australia | B2 | |
| HK1020464A1 | Hong Kong, China | A1 | |
| JP2000512818A | Japan | A | |
| BR9709687A | Brazil | A | |
| MY115240A | Malaysia | A | |
| CA2258029C | Canada | C | |
| EP0906675B1This record | European Patent Office (EPO) | B1 | |
| AT301355T | Austria | T | |
| ATE301355T1 | Austria | T1 | |
| DE69733890D1 | Germany | D1 | |
| DK0906675T3 | Denmark | T3 | |
| ES2245001T3 | Spain | T3 | |
| DE69733890T2 | Germany | T2 | |
| JP2007274676A | Japan | A | |
| JP2007274677A | Japan | A | |
| JP4011624B2 | Japan | B2 | |
| JP4589351B2 | Japan | B2 | |
| JP4634407B2 | Japan | B2 |
55 legal events, as 10 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Ep patent lapsedLapsedEBP | EBP | DK | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed because of non-payment of the annual feeLapsedV1 | V1 | NL | |
| Be: lapsedLapsedBERE | BERE | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent lapsedLapsedMM4A | MM4A | IE | |
| No opposition filedOpposition26N | 26N | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Standard patents granted in hong kongGrantedGR | GR | HK | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Definitive protectionFG2A | FG2A | ES | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Ep patent with danish claimsT3 | T3 | DK | |
| Corresponds to:REF | REF | EP | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0906675
- Publication, DOCDB
- 0906675
- Publication, EPODOC
- EP0906675
- Application
- 97929979
- Application, DOCDB
- 97929979
- Application, EPODOC
- EP19970929979
Titles3
- German
- VERFAHREN UND VORRICHTUNG ZUR SICHERSTELLUNG DER RICHTIGKEIT DER BITZAHL UND SYNCHRONER DATENÜBERTRAGUNG ÜBER EINEN DIE SYNCHRONISATION NICHT AUFRECHTERHALTENDEN KANAL
- English
- METHOD AND APPARATUS OF PROVIDING BIT COUNT INTEGRITY AND SYNCHRONOUS DATA TRANSFER OVER A CHANNEL WHICH DOES NOT PRESERVE SYNCHRONIZATION
- French
- PROCEDE ET APPAREIL CONSERVANT L'INTEGRITE DU COMPTAGE DE BITS ET ASSURANT LE TRANSFERT DE DONNEES SYNCHRONES SUR UN CANAL NE PRESERVANT PAS LA SYNCHRONISATION
Classification
- CPC, 2
- H04L7/0083
- H04J3/0632
- IPC, 7
- H04L9 12
- H04B7 26
- H04J3 06
- H04L7 00
- H04L9 18
- H04Q7 32
- H04Q7 38
Designated states18
- Contracting states, 18
- Austria
- Belgium
- Switzerland
- Germany
- Denmark
- Spain
- Finland
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden