Extended range sequence numbering for selective repeat data transmission protocol

Information

  • Patent Grant
  • 6418143
  • Patent Number
    6,418,143
  • Date Filed
    Tuesday, October 26, 1999
    24 years ago
  • Date Issued
    Tuesday, July 9, 2002
    22 years ago
Abstract
A method and apparatus for extending the sequence numbering range for a selective repeat transmission protocol is described. In accordance with one embodiment of the invention, data frames are transmitted including an eight-bit sequence number and a one-bit retransmit flag. The one bit retransmit flag indicates whether the frame is newly transmitted or retransmitted due to a failed first transmission. The transmit and receive systems each maintain a twelve-bit sequence number referred to as “long sequence numbers” comprised of the eight-bit sequence number transmitted with each frame and a four-bit extension. The long sequence number is transmitted within control frames and the eight-bit sequence number is transmitted within the data frames.
Description




BACKGROUND OF THE INVENTION




I. Field of the Invention




The present invention relates to data communications. More particularly, the present invention relates to a novel method and apparatus for extending the sequence numbering range applicable to selective repeat transmission protocols.




II. Description of the Related Art





FIG. 1

is a block diagram of a personal communication system configured in accordance with the use of the IS-95 over-the-air interface standard. The IS-95 standard, and its derivatives such as IS-95-A, IS-99, IS-707, IS-657 and ANSI J-STD-008 etc. (referred to herein collectively as the IS-95 standards), defines an interface for implementing a digital personal communication system using code division multiple access (CDMA) signal processing techniques. Also, a personal communication system configured substantially in accordance with the use of IS-95 is described in U.S. Pat. No. 5,103,459 entitled “System and Method for Generating Signal Waveforms in a CDMA Personal Communication System” assigned to the assignee of the present invention and incorporated herein by reference.




As is typical for most personal communication systems, IS-95 allows mobile telephone service to be provided to a set of wireless terminals (typically cellular telephones) using a set of base stations


12


coupled to the public switched telephone network (PSTN)


18


by a transmitter controller (BSC)


14


and a mobile switching center (MSC)


16


. During a telephone call, a wireless terminal


10


interfaces with one or more base stations


12


using CDMA modulated radio frequency (RF) signals. The RF signal transmitted from the base station


12


to the wireless terminal


10


is referred to as the forward link, and the RF signal transmitted from the wireless terminal


10


to the base station


12


is referred to as the reverse link.




Under the IS-99 and IS-707 standards (referred to hereinafter simply as IS-707), an IS-95 compliant communications system can also provide data communications services. Data communications services allow digital data to be exchanged using receiver


10


and the RF interface to one or more transmitters


12


. Examples of the type of digital data typically transmitted using the IS-707 standard include computer files and electronic mail.




In accordance with both the IS-95 and IS-707 standards, the data exchanged between a wireless terminal


10


and a base station


12


is processed in frames. To increase the likelihood that a frame will be successfully transmitted during a data transmission, IS-707 employs a radio link protocol (RLP) to track the frames transmitted successfully, and to perform frame retransmission when a frame is not transmitted successfully. Retransmission is performed up to three (3) times in IS-707, and it is the responsibility of the higher layer protocols to take additional steps to ensure the frame transmitted is successful.




In order to track which frames have been transmitted successfully, IS-707 calls for an eight-bit sequence number to be included in each frame transmitted. The sequence number is incremented for each frame from 0 to 256 and then reset back to zero. An unsuccessfully transmitted frame is detected when a frame with an out of order sequence number is received, or an error is detected using CRC checksum information or other error detection methods. Once an unsuccessfully transmitted frame is detected, the receive transmits a negative-acknowledgment message (NAK) to the transmit system that includes the sequence number of the frame that was not received. The transmit system then retransmits the frame including the sequence number as originally transmitted. If the retransmitted frame is not received successfully, a second negative-acknowledgment message is sent to the transmit system. The transmit system typically responds by notifying the controlling application or network layer of the failed transmission.




Under IS-95A and IS-707, frames are transmitted once every 20 milliseconds (ms). Thus, an eight-bit sequence number can track 256 frames transmitted over a five (5) second interval. Five seconds is typically sufficient to allow a failed frame transmission to be detected, and a retransmission to be performed, and therefore an eight-bit sequence number provides sufficient time for frame retransmission. Thus, retransmitted frames can be uniquely identified without ambiguity caused by a sequence “wrap-around” whereby the eight bit sequence number repeats.




Since the original development of IS-95A and IS-707, however, additional protocols and standards have been proposed and developed that allow data to be transmitted at greater rates. Typically, these new protocols and standards use the same frame structure as IS-95A and IS-707 in order to maintain as much compatibility as possible with pre-existing systems and standards. However, while maintaining compatibility with pre-existing standards and systems is desirable, the use of the same type of frame within these higher rate protocols and standards substantially increases the number of frames that are transmitted during a given period of time. For example, if the transmission rate is increased by a factor of four, the time required to transmit 256 frames is reduced to 1.25 seconds, rather than the five seconds required previously. A time period of 1.25 seconds is typically insufficient to allow a failed frame transmission to be detected, and a retransmission attempted, before the eight-bit sequence number repeats. Thus, the use of an eight-bit sequence number is insufficient to allow unique identification frames for the time period necessary to perform the desired retransmission sequence.




While the number of bits in the sequence number could be increased, such an increase would substantially alter the frame format and therefore violate the goal of maintaining substantial compatibility with previously existing systems and standards. Thus, the present invention is directed to a method and apparatus for extending the sequence number range without modifying the number of bits used for the sequence number.




SUMMARY OF THE INVENTION




The present invention is a novel and improved method and apparatus for extending the sequence numbering range for a selective repeat transmission protocol. In accordance with one embodiment of the invention, data frames are transmitted including an eight-bit sequence number and a one-bit retransmit flag. The one bit retransmit flag indicates whether the frame is newly transmitted or retransmitted due to a failed first transmission. The transmit and receive systems each maintain a twelve-bit sequence number referred to as a “long sequence number” comprised of the eight-bit sequence number transmitted with each frame and a four-bit extension. The long sequence number is transmitted within control frames and the eight-bit sequence number is transmitted within the data frames.











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 in which like reference characters identify correspondingly throughout and wherein:





FIG. 1

is a block diagram of a personal communication system;





FIG. 2

is a schematic diagram of a transmitter and receiver;





FIG. 3

is a diagram of a frame buffer and resequencing buffer;





FIG. 4

is a flow chart illustrating the operation a transmitter and a receiver during a communication;





FIG. 5

is a flow chart illustrating the operation of the receiver during the reception of a newly transmitted frame;





FIG. 6

is a flow chart illustrating the operation of the receiver during the reception of a retransmitted frame;





FIG. 7

is a message diagram illustrating the operation of the transmitter and the receiver during an exemplary communication; and





FIG. 8

is a message diagram illustrating the operation of the transmitter and the receiver during an exemplary communication.











DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS




A method and apparatus for extending the sequence numbering range for a selective repeat transmission protocol is described. In the following description the invention is set forth in the context of a personal communication system operating in accordance with the use of CDMA signal processing techniques of the IS-707 and IS-95 standards. While the invention is especially suited for use within such communication systems, it should be understood that the present invention may be employed in various other types of communication systems which transmit data via frames or packets, including both wireless and wireline communication systems, as well as satellite based communication systems. Additionally, throughout the application, various well known systems are set forth in block form. This is done in order to avoid unnecessarily obscuring the disclosure of the invention.





FIG. 2

is a block diagram of two communication systems configured in accordance with an exemplary embodiment of the invention. The higher rate communication is being conducted from transmitter


50


to receiver


52


. In an exemplary configuration, transmitter


50


is located in a base station


12


and receiver


52


is in a wireless terminal


10


, however, the locations may be reversed. Within transmitter


50


, control system


54


receives data frames from input/output (I/O)


56


and provides that data to encoder


58


. Encoder


58


performs convolutional encoding generating code symbols that are received by digital modulator


60


. Digital modulator


60


performs direct sequence modulation on the code symbols with one or more binary channel codes and one or more binary spreading codes yielding chipped symbols that are received by radio frequency (RF) transmitter


62


. The chipped symbols are upconverted to the carrier frequency band by RF transmitter


62


and transmitted from antenna system


64


via diplexer


66


.




Various methods and apparatus for performing the digital modulation and RF upconversion can be employed in the present invention. A set of particularly useful methods and apparatus are described in U.S. Pat. No. 6,005,855 entitled “Method and Apparatus for providing Variable Rate Data In A Communications System Using Statistical Multiplexing” filed on Apr. 28, 1995, U.S. Pat. No. 5,777,990 entitled “Method and Apparatus For Providing Variable Rate Data In A Communications Systems Using Non-Orthogonal Overflow Channels” filed Feb. 28, 1995, and U.S. Pat. No. 6,173,007 “High Data Rate Supplemental Channel for CDMA Telecommunications System” filed Jan. 15, 1997 all of which are assigned to the assignee of the present invention and incorporated herein by reference. It should be understood that some of the above referenced patent applications are directed to the forward link, and therefore more suited for use with the transmitter


50


, while others are directed to the reverse link and therefore more suited for use with the receiver


52


.




In an exemplary embodiment of the invention the data transmitted from antenna system


64


is formatted in accordance with frame


70


which includes eight-bit sequence field (SEQ number)


72


, retransmit flag


74


, CRC field


77


, and data field


76


. A frame


70


may include other fields that are not shown because they are not particularly relevant to the present invention. In a preferred embodiment of the invention, the frames are formatted substantially in accordance with the frame structures defined in the IS-707 standard, with the addition of retransmit flag


74


.




To provide data frames to encoder


58


in an orderly manner, control system


54


stores the frames within frame buffer


55


and updates an index value L_V(S). Frame buffer


55


and index value L_V(S) are preferably stored within a memory system. In a preferred embodiment of the invention, index value L_V(S) is a twelve bit sequence number that is incremented after the transmission of each frame as described in greater detail below. The least significant eight bits of index value L_V(S) are placed in the sequence field of a frame


72


.




Within receiver


52


, RF receiver


80


downconverts and digitizes the RF signals on which frame


70


is transmitted using antenna system


82


and diplexer


84


. Digital demodulator


86


demodulates the downconverted, or “baseband,” signals using the necessary binary codes generating soft decision data that is received by decoder


88


. Decoder


88


performs maximum likelihood trellis or Viterbi decoding yielding hard decision data


90


that is provided to controller


91


.




Controller


91


reforms frame


70


using hard decision data


90


and determines whether the frame has been received in sequence relative to the frames that have already been received using the SEQ number, index variable L_V(N) and L_V(R) as well as resequencing buffer


92


and NAK list


94


as described in further detail below.




If controller


91


determines that the frame has been received out of sequence relative to the frames that have already been received, or if the frame is received in error, it generates a negative-acknowledgment (NAK) message that is received by encoder


95


. Encoder


95


performs convolutional encoding to generate code symbols that are direct sequence spread spectrum modulated by digital modulator


97


, preferably in accordance with the IS-95 reverse link, and the chipped symbols are upconverted by RF transmit system


98


and transmitted as NAK from antenna system


82


via diplexer


84


. The L_SEQ_


83


for the NAKed frame is stored within NAK list


94


.




Referring again to transmitter


50


, RF receiver


67


receives the RF signal via antenna system


64


and diplexer


66


. RF receiver


67


downconverts and digitizes the RF signal yielding samples that are demodulated using digital demodulator


68


. Decoder


69


decodes the soft decision data from digital demodulator


68


and control system


54


receives the hard decision data from decoder


69


thereby detecting the NAK from receiver


52


contained in the hard decision data.




Control system


54


receives NAK


83


and retrieves the NAKed frame from transmit buffer


55


. The retrieved frames are retransmitted in accordance with the original transmission as described above (including the original sequence number).





FIG. 3

is a diagram illustrating the configuration of frame buffer


55


, resequencing buffer


92


, and indexes L_V(S), L_V(N) and L_V(R) when used in accordance with one embodiment of the invention. Within the transmit frame buffer


55


, frames already transmitted once are shaded, and frames to be transmitted are clear. In the preferred embodiment of the invention, indexes L_V(S), L_V(N) and L_V(R) are twelve (


12


) bit numbers. Index L_V(S) is set to the sequence number of the next frame to be transmitted. When the frame is actually transmitted, the eight-bit SEQ number of the frame is set to the eight least significant bits of index L_V(S).




Within resequencing buffer


92


, index L





V(R) is set to the 12-bit sequence of the next new frame expected. Index L





V(N) is set to the 12-bit sequence of the next frame needed for sequential delivery, or for which processing is still pending. When a predetermined number of NAK's have been sent without receipt of the corresponding frame, attempted processing of the frame is terminated and the data with the missing frame is passed to the higher layer protocols (e.g., the transport layer). As shown, NAKed frames


96




a-c


can be received with sequence numbers between L





V(N) and (L





V(R)−1) MOD


4096


, inclusively.





FIG. 4

is a flow diagram illustrating the operation of the transmitter


50


and receiver


52


during a communication performed in accordance with one embodiment of the invention. The transmission begins at the transmitter at step


100


, and reception at the receiver at step


101


. At step


102


, initialization is performed during which index L_V(S) is set to zero within transmitter


50


and L





V(R) is set to zero within receiver


52


.




At step


108


, the transmitter transmits a frame (indicated by the dashed line) when data is available for transmission, with the SEQ number of the frame set to the eight least significant bits of index L_V(S), referred to as V(S). Additionally, the retransmit flag is set to zero to indicate the frame is a newly transmitted frame. At step


112


, index L





V(S) is incremented MOD


4096


, and at step


113


the transmitter performs receive processing for any NAK message transmitted from receiver


52


. In one embodiment of the invention, when no data is available “idle” frames having the current SEQ number may be sent repeatedly until data becomes available (idle transmissions not shown).




At step


130


the transmitter determines if a NAK has been received or is pending, and if so the NAKed frames are retrieved from the transmit buffer using the long sequence number contained in the NAK message and retransmitted at step


132


with the original SEQ number and the retransmit field set to one. Once the frame is retransmitted the pending or received NAK is cleared and processing then continues at step


113


.




If a NAK message has not been received or is not pending, the transmitter returns to step


108


and the processing continues.




Within receiver


52


, the processing begins at step


101


and at step


106


L_V(S) is received from transmitter


50


. At step


110


, receiver


52


receives any frames transmitted from transmitter


50


at either step


108


(new transmission), or at step


132


(retransmission), and at step


114


examines the status of the retransmit flag of the frame to determine if the received frame is a retransmitted frame or a new frame. If the frame is a retransmitted frame, retransmit processing is performed at step


116


, and then the receiver returns to step


110


. If the frame is not a retransmitted frame, first transmit processing of the frame is performed at step


120


, and then step


110


is performed again.





FIG. 5

is a flow chart illustrating the operation of receiver


52


when processing the first transmission of a frame during step


120


of

FIG. 4

in accordance with one embodiment of the invention. The first transmission processing begins at step


150


and at step


152


L_SEQ is set according to the following equation:








L









SEQ={L









V


(


R


)+[


256


+


SEQ−V


(


R


)]


MOD




256


}MOD


4096


,  (


1


)






where V(R) is the eight least significant bits of L_V(R) and SEQ is the sequence number contained in the SEQ field of the frame being processed. At step


154


it is determined whether L





SEQ is less than L_V(N) or that the frame has been stored in the resequencing buffer. If so, the frame is discarded at step


156


and the receive system returns from first transmission processing at step


157


. As noted above, L_V(N) is set to the next frame needed for sequential delivery of the data.




If L





SEQ is not less than L_V(N) and the frame has not been stored in the resequencing buffer, it is further determined at step


158


whether L





SEQ is greater than or equal to L_V(N) and less than L_V(R), and whether the frame has been not stored in the resequencing buffer, and if so the frame is discarded at step


156


and the receive system returns from first transmission processing at step


157


. Otherwise, it is further determined at step


160


whether L_SEQ equals L_V(R) and therefore is the next frame needed for sequential delivery L_V(R).




If L_SEQ does not equal L_V(R), an out of order frame has been received, and the frame is stored in the resequencing buffer at step


162


and L_V(R) is set to L_SEQ at step


164


. At step


166


, the receive system transmits one or more NAK messages requesting retransmission of all unreceived frames from L_V(N) to (L_V(R)−1) MOD


4096


inclusive. The receive system then returns from the first transmission processing at step


176


.




If, at step


160


, it is determined that L





SEQ equals L_V(R) the frame has been received in order, causing it to further be determined at step


170


whether L_V(N) equals L_V(R) indicating no NAKed frames are outstanding. If L_V(N) equals L_V(R), L_N(N) and L_V(R) are incremented MOD


4096


at step


172


. The data frame is delivered to the higher layer protocol at step


174


and the receiver returns from first transmit processing at step


176


.




If it is determined at step


160


that L_V(N) does not equals L_V(R), and therefore that NAKed frames remain outstanding, L_V(R) is incremented MOD


4096


at step


178


, and at step


180


the frame is stored in the resequencing buffer. The receiver


52


then returns from the first frame transmit processing at step


176


.





FIG. 6

is a flow diagram illustrating the operation of the receiver


52


during step


116


when a retransmitted frame is received in accordance with one embodiment of the invention. The processing of the retransmitted frame begins at step


200


and at step


202


the SEQ field in the received frame is used as the key to look up an L





SEQ associated with the SEQ in the NAK list


94


(FIG.


2


). At step


204


it is determined whether the L_SEQ is less than L_V(N), or whether the frame has already been stored in the resequencing buffer, and if so the frame is discarded at step


206


and the receiver


52


returns from retransmit processing at step


208


.




If L





SEQ is not less than L_V(N) and the frame has not been stored in the resequencing buffer, it is further determined at step


210


whether L_SEQ is greater than or equal to L_V(N) and less than L_V(R) and if the frame has not been stored in the resequencing buffer, and if so the frame is stored in the resequencing buffer at step


212


before step


214


is performed. Otherwise, step


214


is performed.




At step


214


, it is determined whether L





SEQ is equal to L





V(N) and if not the frame is discarded at step


216


since the retransmitted frame has a sequence number that is higher than the next new frame expected and therefore an error has occurred. Once the frame has been discarded receiver


52


returns from retransmitted frame processing at step


208


.




If L





SEQ equals L_V(N), the data in all the contiguous frames formed by the addition of the retransmitted frame being processed from L_V(N) upward are delivered to the next higher processing layer at step


218


, and the delivered frames are removed from the resequencing buffer at step


220


. At step


222


L_V(N) is set to LAST+1 where LAST is the long sequence number (L_SEQ) of the last frame delivered to the higher layer at step


218


. At step


224


the frame is removed from the NAK list and the receiver


52


returns from processing the retransmitted frame at step


226


.





FIG. 7

is a message diagram illustrating the messages transmitted during an exemplary communication performed in accordance with one embodiment of the invention. Transmitter


50


is shown on the left, and receiver


52


is shown on the right. Transmitter


50


maintains index L_V(S) and frames are transmitted with value V(S) in the sequence field, where V(S) is the eight least significant bits of L_V(S). At the receiver


52


the NAK list after each transmission is shown. All numbers are shown in hexadecimal.




The first frame


230


is transmitted when index L_V(S) equal to 0×2FE, and therefore with a SEQ number of O×FE. After the transmission of frame


230


index L_V(S) is incremented to 0×2FF and frame


232


is transmitted with a SEQ number of 0×FF. Both frames


230


and


232


are received successfully by receiver


52


causing index L_V(R) to increment twice from 0×2FE to 0×300.




Frame


234


is transmitted with a SEQ number of 0×00 and is not successfully received by receiver


52


. L_V(S) is then incremented to 0×301 and frame


236


is transmitted with a SEQ number of 0×01 and is received successfully received by receiver


52


.




Upon receipt of frame


236


, receiver


52


detects the out of order sequence number because frame


234


was not received. In response, receiver


52


generates NAK message


240


containing the full 12-bit index L





V(R) for the unreceived frame 0×300. Additionally, receiver


52


updates the NAK list


94


to indicate a NAK has been transmitted for a frame with SEQ number 0×00 and L





SEQ number 0×300. Also, receiver


52


starts a NAK timer which tracks the time that has expired since the transmission of NAK message


240


.




During the transmission of NAK message


240


, transmitter


50


transmits another frame


238


with a SEQ number of 0×02 which is received successfully by receiver


52


. Upon receipt of NAK message


240


, transmitter


50


generates retransmitted frame


242


having SEQ number 0×00 and the retransmit flag


74


(

FIG. 2

) set to one. Upon receipt of retransmitted frame


242


, receiver


52


detects the retransmission bit and matches the SEQ number with the SEQ number in NAK list


94


. Once the match is made, retransmitted frame


242


is placed within the resequencing buffer


92


(of

FIG. 2

) and the entry within NAK list


94


is removed. Frames


244


and


246


are then transmitted and received in normal fashion.





FIG. 8

is a message diagram further illustrating the operation of transmitter


50


and receiver


52


during a transmission in which the sequence number “wraps-around,” when performed in accordance with one embodiment of the invention. Frames


240




a


and


240




b


are transmitted with SEQ numbers 0xFE (all numbers are in hexadecimal) and 0×FF respectively, which correspond to values of 0×2FE and 0×2FF for index L_V(S), and are successfully received by receiver


52


causing L_V(R) to be incremented from 0×2FE to 0×300.




Frame


240




c


includes SEQ number 0×00 but is not successfully received by receiver


52


. Frame


240




d


includes SEQ number 0×01 and is received properly by receiver


52


. Upon receipt of frame


240




d


, receiver


52


detects that the SEQ number is greater than the eight least significant bits of L_V(R), and therefore that a frame have been received out of order. In response, receiver


52


updates L_V(R) to 0×302, which corresponds to the next expected frame, and places the SEQ number of the unreceived frame into NAK list


94


. Additionally, receiver


52


transmits NAK


241


containing the complete L_SEQ number 0×300 of the frame that was not received, and initiates a timer which tracks the amount of time that has expired since the transmission of the NAK


241


. As shown in

FIG. 8

, however, NAK


241


is not received successfully by transmitter


50


.




Transmitter


50


continues to transmit frames as shown, including frames


240




e-




240




j


, all of which are successfully received by receiver


52


. During the transmission of frames


240




e-




240




j


, index L_V(S) changes from 0×302to 0×400, causing a wrap-around in eight least significant bits, and therefore in the SEQ number contained in the frames.




Frame


240




k


is transmitted with SEQ number 0×01 and is not received successfully by receiver


52


. Frame


2401


is transmitted with SEQ number 0×02 and is received successfully by receiver


52


. Upon receipt of frame


2401


receiver


52


detects an out-of-order transmission, and responds by transmitting NAK


243


containing sequence value 0×401 and by adding sequence number 0×401 to NAK list


94


. Additionally, at this time the timer for NAK


241


expires causing a second NAK


245


containing sequence value 0×300 to be transmitted to transmitter


50


. Thus, a second NAK is transmitted for frame


240




c


. Additionally, receiver


52


sets L_V(R) to the next expected sequence number 0×403. It should be noted that the sequence numbers transmitted in NAK's


243


and


245


could be transmitted in a single NAK message.




Transmitter


50


responds to NAK's


243


and


245


by transmitting retransmitted frame


242




a


containing the data from frame


240




k


, and retransmitted frame


242




b


containing the data from frame


240




c


. Upon receipt of retransmission frame


242




a


receiver


52


identifies the frame as a retransmitted frame based on the status of retransmit flag


74


(FIG.


2


). Once the frame is identified as a retransmitted frame, receiver


52


performs a lookup within NAK list


94


using the SEQ number and determines which frame has been retransmitted. Retransmitted frame


242




a


is then placed in the appropriate location within resequencing buffer


92


(FIG.


2


), and the corresponding entry is removed from NAK list


94


.




Upon receipt of retransmission frame


242




b


receiver


52


also identifies the type of frame and performs a lookup within NAK list


94


. When the identity of the frame is determined, it is placed within the resequencing buffer


92


(FIG.


2


), and the corresponding entry is removed from NAK list


94


. Transmitter


50


then transmits frame


240




m


having sequence number 0×03 which is successfully received by receiver


52


. At this point, NAK list


94


is empty.




As should be evident from the transmission shown in

FIG. 8

, marking frames as either new or retransmitted allows the receiver to properly process both new and retransmitted frames that have the same SEQ numbers even when wrap-around of the sequence number occurs during a retransmission. This is because a retransmitted frame with the same SEQ number as a newly transmitted frame can be distinguished by the retransmit flag. Thus, the present invention allows a greater number of frames to be processed using an eight bit sequence number, and therefore supports significantly higher data rates while maintaining substantial computability with pre-existing standards.




Thus, a method and apparatus for extending the sequence numbering range for a selective repeat transmission protocol is described. 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 principles and novel features disclosed herein.



Claims
  • 1. In a communication system for communication of data, a method comprising:determining, at a transmitting source, a long sequence number of a frame of data; determining at said transmitting source a short sequence number of said frame of data, wherein said short sequence number includes fewer numbers than said long sequence number and is based on said long sequence number; determining a status of a retransmit flag of said frame of data; transmitting, from said transmitting source to a receiving destination, said frame of data including said short sequence number and said retransmit flag; determining at said receiving destination said long sequence number based on said transmitted short sequence number and said transmitted retransmit flag.
  • 2. The method as recited in claim 1 wherein said status of said retransmit flag is set to a retransmit status when said transmitting of said frame of data is a retransmission of said frame of data.
  • 3. The method as recited in claim 1 further comprising:receiving a negative acknowledgment of reception of said frame of data; wherein said status of said retransmit flag is set to a retransmit status based on said receiving said negative acknowledgment.
  • 4. The method as recited in claim 1 further comprising:receiving said frame of data with said transmitted retransmit flag and said transmitted short sequence number.
  • 5. The method as recited in claim 4 further comprising:determining whether said received short sequence number is out of sequence of a sequence of frames of data.
  • 6. The method as recited in claim 5 further comprising:transmitting a negative acknowledgment indicating an out of sequence reception of frames of data.
  • 7. A method for keeping track of frames of data being communicated between a source and a destination, comprising:maintaining a list of long sequence numbers at said source and said destination for keeping track of said frames of data for communications from said source to said destination, wherein a first long sequence number, in said list of long sequence numbers includes more numbers than a short sequence number; transmitting, from said source to said destination, a first frame of data including said short sequence number and a retransmit flag information data indicating whether said transmitting of said first frame of data is a first transmission or a retransmission occurring after said first transmission of said first frame of data; computing at said destination, for said maintaining, said first long sequence number associated with said first frame of data based on said transmitted short sequence number and said retransmit flag information data, thereby keeping track of said frames of data being communicated between said source and said destination.
  • 8. An apparatus for keeping track of frames of data being communicated between a source and a destination, comprising:a memory system for maintaining a list of long sequence numbers at said source and said destination for keeping track of said frames of data for communications from said source to said destination, wherein a first long sequence number, in said list of long sequence numbers includes more numbers than a short sequence number; a transmitter for transmitting, from said source to said destination, a first frame of data including said short sequence number and a retransmit flag information data indicating whether said transmitting of said first frame of data is a first transmission or a retransmission occurring after said first transmission of said first frame of data; a processor for computing at said destination, for said maintaining, said first long sequence number associated with said first frame of data based on said transmitted short sequence number and said retransmit flag information data, thereby keeping track of said frames of data being communicated between said source and said destination.
  • 9. In a communication system for communication of data, an apparatus comprising:a processor for determining a long sequence number of a frame of data, determining a short sequence number of said frame of data, wherein said short sequence number includes fewer numbers than said long sequence number and based on said long sequence number, and determining a status of a retransmit flag of said frame of data; a transmitting source for transmitting said frame of data including said short sequence number and said retransmit flag; a receiving destination for receiving said transmitted frame of data; a processor at said receiving destination for determining said long sequence number based on said transmitted short sequence number and said transmitted retransmit flag.
  • 10. The apparatus as recited in claim 9 wherein said status of said retransmit flag is set to a retransmit status when said transmitting of said frame of data is a retransmission of said frame of data.
  • 11. The apparatus as recited in claim 9 wherein said receiving destination is configured for receiving a negative acknowledgment of reception of said frame of data, and wherein said status of said retransmit flag is set to a retransmit status based on said receiving said negative acknowledgment.
  • 12. The apparatus as recited in claim 9 wherein said receiving destination is configured for receiving said frame of data with said retransmit flag and said transmitted short sequence number.
  • 13. The apparatus as recited in claim 12 wherein said processor at said receiving destination is configured for determining whether said received short sequence number is out of sequence of a sequence of frames of data.
CROSS REFERENCE APPLICATION

This application is a continuation application of Ser. No. 08/877,294, filed Jun. 17, 1997, now U.S. Pat. No. 6,011,796.

US Referenced Citations (7)
Number Name Date Kind
4439859 Donnan Mar 1984 A
4617657 Drynan et al. Oct 1986 A
5151899 Thomas et al. Sep 1992 A
5291483 Nagai et al. Mar 1994 A
5337313 Buchholz et al. Aug 1994 A
5784362 Turina Jul 1998 A
6011796 Rezaiifar et al. Jan 2000 A
Non-Patent Literature Citations (1)
Entry
TAI/EIA/IS-99 Interim Standard Data Services Option for Wideband Spread Spectrum Digital Cellular System, Jul. 1995.
Continuations (1)
Number Date Country
Parent 08/877294 Jun 1997 US
Child 09/427296 US