US20100122136A1 - Method and apparatus for reduced data block transmission in an automatic repeat request system - Google Patents
Method and apparatus for reduced data block transmission in an automatic repeat request system Download PDFInfo
- Publication number
- US20100122136A1 US20100122136A1 US12/689,592 US68959210A US2010122136A1 US 20100122136 A1 US20100122136 A1 US 20100122136A1 US 68959210 A US68959210 A US 68959210A US 2010122136 A1 US2010122136 A1 US 2010122136A1
- Authority
- US
- United States
- Prior art keywords
- block
- data
- sequence number
- data block
- data blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16K—VALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
- F16K11/00—Multiple-way valves, e.g. mixing valves; Pipe fittings incorporating such valves
- F16K11/02—Multiple-way valves, e.g. mixing valves; Pipe fittings incorporating such valves with all movable sealing faces moving as one unit
- F16K11/06—Multiple-way valves, e.g. mixing valves; Pipe fittings incorporating such valves with all movable sealing faces moving as one unit comprising only sliding valves, i.e. sliding closure elements
- F16K11/078—Multiple-way valves, e.g. mixing valves; Pipe fittings incorporating such valves with all movable sealing faces moving as one unit comprising only sliding valves, i.e. sliding closure elements with pivoted and linearly movable closure members
-
- E—FIXED CONSTRUCTIONS
- E03—WATER SUPPLY; SEWERAGE
- E03C—DOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
- E03C1/00—Domestic plumbing installations for fresh water or waste water; Sinks
- E03C1/02—Plumbing installations for fresh water
- E03C1/04—Water-basin installations specially adapted to wash-basins or baths
- E03C1/041—Water-basin installations specially adapted to wash-basins or baths having provisions against scalding, e.g. temperature limiting devices, external covers
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16K—VALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
- F16K35/00—Means to prevent accidental or unauthorised actuation
- F16K35/04—Means to prevent accidental or unauthorised actuation yieldingly resisting the actuation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T137/00—Fluid handling
- Y10T137/8593—Systems
- Y10T137/86493—Multi-way valve unit
- Y10T137/86815—Multiple inlet with single outlet
Definitions
- the present invention relates generally to packet based wireless communications systems employing automatic repeat request (ARQ) mechanisms and more particularly to a method and apparatus for reducing data block transmissions in such wireless packet based communications systems.
- ARQ automatic repeat request
- ARQ Automatic repeat request mechanisms make use of retransmission in packet based wireless communications systems, as well as other communications systems, to increase the probability that data has been transferred from a transmitter to a receiver. Retransmission of data however may reduce a system's net data throughput which may be of particular significance for various wireless communications systems.
- MAC Medium Access Control Layer
- MSDU Medium Access Control Layer
- FIG. 1 is a block diagram of a data packet structure.
- FIG. 2 is a block diagram of a wireless network employing automatic repeat request (ARQ).
- ARQ automatic repeat request
- FIG. 3 is a block diagram of a wireless mobile station in accordance with the various embodiments.
- FIG. 4 is a diagram illustrating a high-level architecture of a mobile station and a base station in accordance with the various embodiments.
- FIG. 5 is a flow chart illustrating high level operation of a receiver in accordance with various embodiments.
- FIG. 6 is a flow chart illustrating high level operation of a transmitter in accordance with various embodiments.
- FIG. 7 is a flow chart illustrating relevant segments of a transmitter state wherein the transmitter is operating in accordance with an embodiment.
- FIG. 8 is a flow chart illustrating relevant segments of a receiver state wherein the receiver is operating in accordance with an embodiment.
- FIG. 9 is a message flow diagram illustrating an exemplary message flow of a transmitter and receiver in accordance with an embodiment.
- FIG. 10 is a block diagram illustrating operation of a sliding receiver window.
- FIG. 11 is a block diagram illustrating operation of a sliding receiver window in accordance with an embodiment.
- ARQ Automatic Repeat Request
- a method of operating a wireless transceiver in an Automatic Repeat Request (ARQ) mode comprises fragmenting a packet of data into a series of sequential data blocks and assigning each of the data blocks a block sequence number; sending at least a first data block from the series of sequential data blocks, and a first block sequence number corresponding to the first data block, to a remote wireless transceiver; setting an acknowledgment timer specifying a time interval in which to receive an acknowledgment message from the remote transceiver, the acknowledgment message corresponding to the first data block; determining that the acknowledgment timer has timed out; and sending a discard message to the remote transceiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that the second data block is to be discarded.
- ARQ Automatic Repeat Request
- a second aspect of the various embodiments is a method of operating a wireless transceiver in an ARQ mode comprising receiving from a remote transceiver at least a first data block including a first block sequence number, the first data block being from a series of sequential data blocks forming a packet; receiving from the remote transceiver a discard message specifying at least a second block sequence number corresponding to at least a second data block, where the discard message specifies that the second data block is to be discarded; and discarding the second data block.
- a third aspect is a wireless communication station comprising a transceiver; a processor coupled to the transceiver which has a medium access control layer, and configured to fragment a packet of data into a series of sequential data blocks and assign each of the data blocks a block sequence number; send at least a first data block from the series of sequential data blocks, and a first block sequence number corresponding to the first data block, to a remote wireless transceiver; set an acknowledgment timer specifying a time interval in which to receive an acknowledgment message of the first data block from the remote transceiver; determine that the acknowledgment timer has timed out; and send a discard message to the remote transceiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that the second data block is to be discarded.
- FIG. 1 illustrates the structure of a signal burst 103 from a transmitter to a receiver 101 over an air interface 105 .
- the signal burst 103 will generally comprise at least one packet of data having the structure of a Medium Access Control (MAC) header 107 , various sub-headers 109 , further fragmentation or packing sub-headers 111 , a data portion 113 , and in some embodiments, a cyclic redundancy check portion 115 .
- MAC Medium Access Control
- the data 113 may contain a data packet structured by a Medium Access Control Layer (MAC) wherein the data packet may be referred to in some embodiments as a Service Data Unit (SDU), or more specifically a MAC SDU (MSDU). Additionally, such MSDUs may be partitioned or “fragmented” to produce packet fragments, or smaller data blocks. Groups of such MSDU fragments or MSDU data blocks are subsequently transmitted in “Protocol Data Units” (PDUs). Therefore, the payload may be a complete MSDU, or in the case of large MSDUs, may be one of more fragments of an MSDU, which are contained in a PDU. Such fragmentation operation is dictated by Quality of Service (QoS) requirements and by the efficient use of bandwidth as understood by those of ordinary skill.
- QoS Quality of Service
- the data 113 may also be “packed” data, that is, the MAC layer of the transmitter may discretionally pack several MSDUs into one PDU. Additionally, the transmitter MAC layer may pack various MSDU fragments into a single PDU.
- the packing and/or fragmentation sub-headers 111 will contain a Block Sequence Number (BSN) which the ARQ system uses to identify missing or otherwise lost fragments so that the fragments may be retransmitted.
- BSN Block Sequence Number
- the packing sub-header 111 when packing is employed, the packing sub-header 111 will also contain fragmentation information for the MSDU or fragment thereof contained within data 113 . However, if packing is not used, then sub-headers 111 will be a fragmentation sub-header and contain the fragmentation information for the corresponding fragment. Therefore, the configuration of the signal 103 payload may be a sequence of sub-headers 111 and corresponding data 113 portions wherein the fragmentation subheader or each packing sub-header contains a BSN and/or fragmentation information for the specific fragment.
- the signal 103 payload may contain one or more initial PDU transmissions combined with one or more PDU retransmissions.
- the BSN of a fragment may be an 11-bit field in some embodiments in which 802.16 is employed.
- Fragmentation information may be a 2-bit field and indicate whether a fragment is a “First Fragment,” “Continuing Fragment,” “Last Fragment,” or “Unfragmented” by the binary values “10,” “11,” “01,” and “00” respectively.
- data 113 may also contain an ARQ feedback message, which may be in combination with other PDU data as discussed above.
- an ARQ feedback message may be “piggybacked” with other data by using a packing subheader.
- an ARQ feedback message may also be sent as a stand alone MAC management message without a subheader.
- the data 113 may also employ encryption in some embodiments.
- Signal 103 may include a Cyclic Redundancy Check (CRC) field 115 in some embodiments which may cover the MAC header 107 as well as data 113 . Further, in some embodiments the MAC header 107 will contain a CRC-8 header checksum and CRC field 115 may contain a CRC-32 checksum to cover the data. If encryption is used as mentioned above, the CRC field will be determined subsequent to encryption operations. Signal 103 may also include padding (not shown).
- CRC Cyclic Redundancy Check
- an MSDU may be logically segmented into a series of data blocks and subsequently encapsulated into PDUs as discussed briefly above.
- the BSN which is contained in the fragmentation or packing sub-headers 111 likewise as discussed above, will correspond to the first data block of the series of data blocks after the sub-header 111 , which are being transmitted together.
- the transmitter may make a policy decision as to whether retransmitted data blocks are arranged in the same PDUs.
- FIG. 2 illustrates a communications network 200 , with various base stations 203 , each base station 203 having a corresponding radio coverage area 207 .
- base station radio coverage areas may overlap and, in general, form an overall network coverage area.
- a coverage area may comprise a number of base station coverage areas 207 , which may form a contiguous radio coverage area. However, it is not required to have contiguous coverage and therefore the coverage area may alternatively be distributed throughout an overall network coverage area.
- each base station 203 may communicate with a number of mobile stations such as mobile station 201 , via an air interface 205 .
- the mobile station 201 may communicate with various base stations via handover operations as the mobile station 201 moves throughout the network 200 radio coverage areas.
- a number of base stations 203 may be connected to a base station controller 209 via backhaul connections 211 .
- the overall network may comprise any number of base station controllers, each controlling a number of base stations.
- the base station controller 209 may alternatively be implemented as a distributed function among the base stations.
- the base stations 203 may communicate with the mobile station 201 via any number of standard air interfaces such as, but not limited to, UMTS, E-UMTS, CDMA2000, 802.11 or 802.16.
- the base stations 203 may perform a number of control functions such as, but not limited to, a Radio Link Control (RLC) function and Medium Access Control (MAC) function.
- Base station controller 209 may provide a centralized Radio Resource Management (RRM) function to synchronize various functions between the base stations 203 such as, but not limited to, scheduling and segmentation and reassembly functions as well as to coordinate the RLC and MAC functions between the various base stations 203 .
- RRM Radio Resource Management
- FIG. 3 is a block diagram illustrating the primary components of a mobile station in accordance with some embodiments.
- Mobile station 300 comprises user interfaces 301 , at least one processor 303 , and at least one memory 305 .
- Memory 305 has storage sufficient for the mobile station operating system 307 , applications 309 and general file storage 311 .
- Mobile station 300 user interfaces 301 may be a combination of user interfaces including but not limited to a keypad, touch screen, voice activated command input, and gyroscopic cursor controls.
- Mobile station 300 has a graphical display 313 , which may also have a dedicated processor and/or memory, drivers etc. which are not shown in FIG. 3 .
- FIG. 3 is for illustrative purposes only and is for illustrating the main components of a mobile station in accordance with the present disclosure, and is not intended to be a complete schematic diagram of the various components and connections there-between required for a mobile station. Therefore, a mobile station may comprise various other components not shown in FIG. 3 and still be within the scope of the present disclosure.
- the mobile station 300 may also comprise a number of transceivers such as transceivers 315 and 317 .
- Transceivers 315 and 317 may be for communicating with various wireless networks using various standards such as, but not limited to, UMTS, E-UMTS, CDMA2000, 802.11, 802.16, etc.
- Memory 305 is for illustrative purposes only and may be configured in a variety of ways and still remain within the scope of the various embodiments herein disclosed.
- memory 305 may be comprised of several elements each coupled to the processor 303 .
- separate processors and memory elements may be dedicated to specific tasks such as rendering graphical images upon a graphical display.
- the memory 305 will have at least the functions of providing storage for an operating system 307 , applications 309 and general file storage 311 for mobile station 300 .
- applications 309 may comprise a software stack having a Medium Access Control (MAC) layer that communicates with a stack MAC layer in a base station or base station controller.
- MAC Medium Access Control
- Mobile stations 401 comprises a stack having a Radio Link Controller (RLC) 407 , a Medium Access Controller (MAC) 409 , and a Physical Layer (PHY) 411 .
- RLC Radio Link Controller
- MAC Medium Access Controller
- PHY Physical Layer
- Base station 403 similarly has an RLC 413 , MAC 415 and PHY 417 .
- FIG. 5 illustrates high level operation of a receiver, operating in an ARQ mode, in accordance with various embodiments.
- Initial operation begins with notification or a determination that an ARQ data block or blocks has/have been discarded 501 .
- the receiver determines whether the discarded ARQ block or blocks belongs to an MSDU for which other ARQ blocks have already been received. If so, then all ARQ data blocks corresponding to the failed MSDU are discarded as shown in block 505 .
- the transmitter may fragment data packets into a series of data blocks and assign Block Sequence Numbers (BSNs) and/or fragmentation control information.
- BSNs Block Sequence Numbers
- One or more of the data blocks is then sent to a receiver as shown in step 603 .
- the transmitter will set one or more acknowledgement timers, as shown in step 605 , and wait for an ACK or NACK message from the receiver. This step may include a number of retransmit attempts based on one or more of the step 605 timers timing out. However, after final timeout, the MSDU can be considered to have failed. Therefore, in step 607 , the transmitter will send a discard message to the receiver indicating that other ARQ data blocks that are part of the same MSDU should be discarded.
- FIG. 7 is not intended to be a full and complete description of the transmitter state machine, but rather is intended to provide those details necessary for understanding the various embodiments. Therefore, a transmitter state machine may comprise various other steps or procedures not shown by FIG. 7 , and such transmitters employing the procedures illustrated by FIG. 7 with other such steps or procedures not shown, remain in accordance with the various embodiments herein disclosed.
- step 701 the transmitter may segment an MSDU into a number of data blocks and include fragmentation control information in appropriate sub-headers, such as fragmentation or packing sub-headers 111 shown in FIG. 1 and discussed previously.
- One or more data blocks may then be sent by the transmitter as shown in step 703 .
- step 703 may also represent a retransmission of the ARQ mode such that a signal payload may comprise a number of initial data block transmissions and also retransmissions as was discussed previously with respect to FIG. 1 .
- the transmitter waits for the data block or blocks to be acknowledged by the receiver by an ACK message. If the data block is acknowledged then the block state will be updated. For example, a data block may be in one of four states; “not-sent,” “outstanding,” “discarded,” and “waiting-for-retransmission.” Therefore, a data block initial state is “not-sent.”
- the block state After the block is sent it becomes “outstanding” until an ACK is received in 705 , or a “not-acknowledged” (NACK) is received as in 707 , or if ACK timeout occurs as in 709 .
- NACK not-acknowledged
- the block state Upon receipt of an ACK message in 705 , the block state will be updated to “discarded” by the transmitter. In this case, the block state may be updated to “discarded” in 711 , after which a pointer may be moved to the next Block Sequence Number (BSN) or numbers as in 713 , and the next data block or set of blocks may be sent in 703 .
- BSN Block Sequence Number
- the block state will be changed to “waiting for retransmission” in 715 and the block will be resent in 703 .
- a data block lifetime timer is also set, and the timeout is pending as shown in step 717 . If the data block lifetime timer times out in 717 , a discard message is sent to the receiver in 719 .
- the discard message may in some embodiments provide an indication to the receiver of every related data block, that is, an indication of every data block BSN pertaining to the same MSDU for which the discarded block occurred. It is to be understood that various implementations are possible for indicating the related data blocks and that such implementations remain in accordance with the various embodiments disclosed herein.
- the discard message may specify a range of BSNs which are to be discarded, by providing an initial BSN and a final BSN. Further, in some embodiments the receiving side may infer whether certain data blocks belong to a discarded MSDU and therefore in such embodiments only a single BSN may be provided, for example an initial BSN or a final BSN. In other alternative embodiments, the discard message may provide an initial BSN for a new MSDU so that the receiving side may advance its receive window accordingly, in addition to deleting data blocks with BSNs corresponding to the failed MSDU.
- the transmitter then waits for an ACK or NACK message in 721 .
- the timer sequence for 721 may be identical to the sequence of 705 , 707 and 709 in some embodiments, such that 721 will have the same time duration as 705 , 707 and 709 .
- the discard message will be resent in 719 . Otherwise, after an ACK is received in 721 , the transmitter will discard the data blocks in 723 and will advance a transmission (Tx) window to the next BSN to be sent.
- FIG. 8 illustrates the operation of a receiver state machine in accordance with the embodiments, and generally corresponding to the transmitter state machine illustrated by FIG. 7 . Similar to the intent and understanding of FIG. 7 , it is to be understood that FIG. 8 is not intended to be a full and complete description of the receiver state machine, but rather is intended to provide those details necessary for understanding the various embodiments. Therefore, a receiver state machine may comprise various other steps or procedures not shown by FIG. 8 , and such receivers employing the procedures illustrated by FIG. 8 with other such steps or procedures not shown, remain in accordance with the various embodiments herein disclosed. Also, with respect to both FIGS.
- transceiver station that is, a base station or a mobile station having both transmitting and receiving capability and therefore both base stations and mobile stations may employ the various inventive methods and techniques herein disclosed in both the transmission and reception aspects.
- a receiver receives a data block or data blocks in 801 .
- the CRC will be performed as in 803 and if the data passes, it will be unpacked or defragmented as needed in 805 .
- the BSNs will then be checked in 807 to determine whether the received data block or data blocks is/are within the expected window as in 809 . If not, then the blocks will be discarded in 811 .
- the data block may be stored in 813 , and the receive (Rx) window may be advanced to the next expected BSN if the received data block BSN is equal to the current Rx window start pointer value.
- the receiver will then send an ACK message to the transmitter in 815 .
- various blocks will be received such that the process of 801 through 815 will repeat until the successful reception of one or more MSDUs or unless, a discard message is received as in 817 . If a discard message is not received in 817 , the receiver will continue to receive data blocks in 801 that are expected within the Rx window. However, if a discard message is received as in 817 , the receiver will determine whether currently stored data blocks belong to the same MSDU as blocks specified by the discard message.
- the discard message may contain various indications to inform the receiver of which blocks are to be discarded. Therefore, for example, only the first and last BSNs of the discardable data blocks may be specified. Alternatively, the next BSN to which the receiver should advance the Rx window may be specified. In any case, for some embodiments, the receiver may check the fragmentation information for stored blocks as shown in 819 . The fragmentation information may be used by the receiver to infer which stored blocks belong to the discarded MSDU, even if the transmitter discard message did not provide information specific for all MSDU blocks.
- any blocks having “Continuing Fragment” or “Last Fragment” binary indications belonging to the same MSDU may be discarded prior to advancing the Rx window.
- the receiver determines which additional data blocks if any must be discarded as shown in 821 .
- the receiver will then, in 825 , update the block state to “received,” even though the blocks have in fact not been received, and send an ACK message to the transmitter in 827 .
- the ACK message will inform the transmitter that the blocks were discarded.
- the receiver will advance its Rx window to the next BSN.
- FIG. 9 is a message flow diagram providing an example of message flows between a transmitter and receiver in accordance with various embodiments.
- the base station 903 is assumed to be transmitting data blocks, while the mobile station (MS) 901 is assumed to be receiving data blocks.
- MS mobile station
- communication of data is bi-directional such that the mobile station 901 may transmit data blocks, while the base station 903 may receive data blocks.
- an ARQ data block is sent to the MS 901 from base station 903 as signal 905 .
- the base station will then set the timer “ARQ_BLOCK_LIFETIME TIMER” 907 and also set an “ARQ_RETRY_TIMEOUT TIMER” 909 .
- the MS 901 will set an “ARQ_RX_PURGE_TIMEOUT TIMER” 911 .
- the timer 909 will timeout and the base station 903 will resend the data block 913 .
- the resend 913 may also occur if a NACK message is received as was discussed above.
- FIG. 9 it is assumed that an ACK message, or a NACK message, is never received by the base station 903 such that ARQ_BLOCK_LIFETIME TIMER 915 times out, in which case discard message 917 is sent to the MS 901 .
- the MS 901 will discard any specified ARQ blocks in 921 , and may also infer other blocks not specified, if such blocks may be related to the same MSDU by using for example, the block fragmentation control information as was discussed above.
- the MS 901 will then advance the ARQ_RX_WINDOW_START 923 to the next BSN, and will send an ARQ feedback message 925 to the base station 903 indicating that the ARQ blocks have been discarded.
- the base station 903 likewise discards any ARQ blocks queued for the MSDU in 919 .
- FIG. 10 illustrates how an ARQ sliding receiver window operates and FIG. 11 illustrates how the ARQ window operates in accordance with an embodiment. Therefore, in FIG. 10 , when fragmentation is used on an ARQ connection, only a part of the ARQ blocks for a specific MSDU might be discarded because the MSDU may have been fragmented over several PDUs. As discussed in detail above, ARQ blocks may be discarded for various reasons, one of which is that, after multiple retries the ARQ_RX_PURGE_TIMEOUT TIMER 911 for example, may timeout on the receive side, or a discard message 917 may have been received when the transmitter ARQ_BLOCK_LIFETIME TIMER 915 timeout occurs, for example.
- FIG. 10 in which various ARQ data blocks are represented as consecutive data blocks having BSNs 1 through 12 , data blocks 1 , 2 and 3 correspond to a first MSDU, while data blocks 4 through 8 correspond to a second MSDU.
- Block 5 has been received, while block 4 has not been received.
- the receiver will advance the window 1001 to BSN 6 as shown by window 1003 .
- data blocks 6 , 7 and 8 also belong to the second MSDU, are still within the pending window 1003 , and have not been discarded, even though theses blocks are no longer of any use.
- the various embodiments employ the technique illustrated by FIG. 11 . Therefore as shown in FIG. 11 , the receiver may utilize the fragmentation control (FC) information to deduct related ARQ blocks not yet received, because an FC indication of “First Fragment,” must be ended by an FC set to “Last Fragment.” Before the receiver sends an ARQ feedback message, the receiver may examine if any other ARQ blocks would complete the MSDU and thereby shift the receive window 1101 beyond these additional blocks as well.
- FC fragmentation control
- a receiver ARQ_RX_PURGE_TIMER timeout occurred for ARQ block 5 , or that a discard message was received for ARQ block 4 .
- the receiver may read the FC information of received blocks 5 and 7 determining that 5 and 7 are “Continuing Fragments” which can be discarded.
- the receiver may further note that 6 and 8 , which have not been received, are a “Continuing Fragment” and a “Last Fragment,” respectively.
- Block 8 is logically inferred to be the “Last Fragment” of the discarded MSDU because received block 9 is a “First Fragment” of a new MSDU.
- the receiver may determine that blocks 9 , 10 and 11 are the “First Fragment,” and “Continuing Fragments” of a second MSDU and therefore the window may be advanced to window position 1103 which corresponds to BSN 12 .
- the receiver may continue to discard the remaining MSDU data blocks.
- the receiver will, in the various embodiments, set a discard flag. For example, assuming a discarded MSDU consists of data blocks 4 through 9 wherein all blocks have been received, except for blocks 6 and 7 .
- the receiver would forward the window to BSN 6 because it cannot determine whether blocks 6 and 7 are “Continuing Fragments,” or whether block 6 is a “Last Fragment” and block 7 is a “First Fragment” of a new MSDU. Therefore the receiver in this case can only safely discard up through “Continuing Fragment” block 5 . However, when the receiver receives block 6 having FC information set to “Continuing Fragment,” it will discard blocks 6 through 9 , and advance the window to BSN 10 . Because block 8 , which is a “Continuing Fragment,” and block 9 , which is a “Last Fragment,” have been received, and because block 6 , subsequently received is then known to be continuing, block 7 logically must likewise be continuing and may be discarded. Thus, the receiver appropriately discards blocks 6 though 9 and advances the receive window to BSN 10 .
- the transmitter side may also employ the techniques described above and illustrated by FIG. 11 , in the event of for example an ARQ_BLOCK_LIFETIME TIMER 915 timeout, such that the blocks marked “not received' would be “not acknowledged' with respect to the transmitter side.
- the transmitter may thus accordingly advance the transmission window thereby saving unnecessary data block transmissions or retransmissions.
- ARQ_RX_PURGE_TIMEOUT TIMER 911 may be applied to several data blocks simultaneously, if a set of data blocks having consecutive BSNs is received in a single PDU. Otherwise if the timer 911 is set for each individual data block, the timer for that block must be reset if a duplicate data block were received. Therefore, in the various embodiments, only a single purge timer is set for consecutive BSN data blocks received in a single PDU. The timer is then only reset in the event that duplicates of all BSNs within the PDU set have been received.
- the ARQ_BLOCK_LIFETIME_TIMER 907 may be applied to all ARQ data blocks that are sent in the same PDU.
Abstract
A wireless transceiver apparatus (201, 203) and a method of operation in an Automatic Repeat Request (ARQ) mode is disclosed. On the transmitter side a packet of data (113) is fragmented into a series of sequential data blocks and each data block is assigned a block sequence number (601). At least a first data block of the series of sequential data blocks is sent to the receiver (603), and also a first block sequence number corresponding to the first data block. An acknowledgment timer is set (605) specifying a time interval in which to receive an acknowledgment message from the remote transceiver. If the acknowledgment timer has timed out, the transmitter side sends a discard message (607) to the receiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that said second data block is to be discarded.
Description
- The present invention relates generally to packet based wireless communications systems employing automatic repeat request (ARQ) mechanisms and more particularly to a method and apparatus for reducing data block transmissions in such wireless packet based communications systems.
- Automatic repeat request (ARQ) mechanisms make use of retransmission in packet based wireless communications systems, as well as other communications systems, to increase the probability that data has been transferred from a transmitter to a receiver. Retransmission of data however may reduce a system's net data throughput which may be of particular significance for various wireless communications systems.
- In wireless communications systems based on the IEEE 802.16 standard, various timers are defined with respect to the ARQ mechanism. Specifically, a block lifetime timer is assigned to each ARQ block such that the blocks are discarded at the expiry of the timer. However, in general any ARQ block will only be a fraction of a Medium Access Control Layer (MAC) Service Data Unit (MSDU). Therefore if a fraction of an MSDU is discarded due to timer expiry, the entire MSDU becomes obsolete, and it is futile and also wasteful of bandwidth, to transmit and/or retransmit any remaining ARQ blocks associated with the same MSDU.
-
FIG. 1 is a block diagram of a data packet structure. -
FIG. 2 is a block diagram of a wireless network employing automatic repeat request (ARQ). -
FIG. 3 is a block diagram of a wireless mobile station in accordance with the various embodiments. -
FIG. 4 is a diagram illustrating a high-level architecture of a mobile station and a base station in accordance with the various embodiments. -
FIG. 5 is a flow chart illustrating high level operation of a receiver in accordance with various embodiments. -
FIG. 6 is a flow chart illustrating high level operation of a transmitter in accordance with various embodiments. -
FIG. 7 is a flow chart illustrating relevant segments of a transmitter state wherein the transmitter is operating in accordance with an embodiment. -
FIG. 8 is a flow chart illustrating relevant segments of a receiver state wherein the receiver is operating in accordance with an embodiment. -
FIG. 9 is a message flow diagram illustrating an exemplary message flow of a transmitter and receiver in accordance with an embodiment. -
FIG. 10 is a block diagram illustrating operation of a sliding receiver window. -
FIG. 11 is a block diagram illustrating operation of a sliding receiver window in accordance with an embodiment. - Methods and apparatuses for reducing data block transmission in systems employing Automatic Repeat Request (ARQ) are provided herein.
- In a first aspect of the various embodiments, a method of operating a wireless transceiver in an Automatic Repeat Request (ARQ) mode comprises fragmenting a packet of data into a series of sequential data blocks and assigning each of the data blocks a block sequence number; sending at least a first data block from the series of sequential data blocks, and a first block sequence number corresponding to the first data block, to a remote wireless transceiver; setting an acknowledgment timer specifying a time interval in which to receive an acknowledgment message from the remote transceiver, the acknowledgment message corresponding to the first data block; determining that the acknowledgment timer has timed out; and sending a discard message to the remote transceiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that the second data block is to be discarded.
- A second aspect of the various embodiments is a method of operating a wireless transceiver in an ARQ mode comprising receiving from a remote transceiver at least a first data block including a first block sequence number, the first data block being from a series of sequential data blocks forming a packet; receiving from the remote transceiver a discard message specifying at least a second block sequence number corresponding to at least a second data block, where the discard message specifies that the second data block is to be discarded; and discarding the second data block.
- A third aspect is a wireless communication station comprising a transceiver; a processor coupled to the transceiver which has a medium access control layer, and configured to fragment a packet of data into a series of sequential data blocks and assign each of the data blocks a block sequence number; send at least a first data block from the series of sequential data blocks, and a first block sequence number corresponding to the first data block, to a remote wireless transceiver; set an acknowledgment timer specifying a time interval in which to receive an acknowledgment message of the first data block from the remote transceiver; determine that the acknowledgment timer has timed out; and send a discard message to the remote transceiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that the second data block is to be discarded.
- Turning now to the drawings wherein like numerals represent like components,
FIG. 1 illustrates the structure of asignal burst 103 from a transmitter to areceiver 101 over anair interface 105. Thesignal burst 103 will generally comprise at least one packet of data having the structure of a Medium Access Control (MAC)header 107,various sub-headers 109, further fragmentation orpacking sub-headers 111, adata portion 113, and in some embodiments, a cyclicredundancy check portion 115. - The
data 113 may contain a data packet structured by a Medium Access Control Layer (MAC) wherein the data packet may be referred to in some embodiments as a Service Data Unit (SDU), or more specifically a MAC SDU (MSDU). Additionally, such MSDUs may be partitioned or “fragmented” to produce packet fragments, or smaller data blocks. Groups of such MSDU fragments or MSDU data blocks are subsequently transmitted in “Protocol Data Units” (PDUs). Therefore, the payload may be a complete MSDU, or in the case of large MSDUs, may be one of more fragments of an MSDU, which are contained in a PDU. Such fragmentation operation is dictated by Quality of Service (QoS) requirements and by the efficient use of bandwidth as understood by those of ordinary skill. - The
data 113 may also be “packed” data, that is, the MAC layer of the transmitter may discretionally pack several MSDUs into one PDU. Additionally, the transmitter MAC layer may pack various MSDU fragments into a single PDU. For ARQ systems, the packing and/orfragmentation sub-headers 111 will contain a Block Sequence Number (BSN) which the ARQ system uses to identify missing or otherwise lost fragments so that the fragments may be retransmitted. - Generally, when packing is employed, the
packing sub-header 111 will also contain fragmentation information for the MSDU or fragment thereof contained withindata 113. However, if packing is not used, thensub-headers 111 will be a fragmentation sub-header and contain the fragmentation information for the corresponding fragment. Therefore, the configuration of thesignal 103 payload may be a sequence ofsub-headers 111 andcorresponding data 113 portions wherein the fragmentation subheader or each packing sub-header contains a BSN and/or fragmentation information for the specific fragment. - Further, the
signal 103 payload may contain one or more initial PDU transmissions combined with one or more PDU retransmissions. The BSN of a fragment may be an 11-bit field in some embodiments in which 802.16 is employed. Fragmentation information may be a 2-bit field and indicate whether a fragment is a “First Fragment,” “Continuing Fragment,” “Last Fragment,” or “Unfragmented” by the binary values “10,” “11,” “01,” and “00” respectively. - Lastly,
data 113 may also contain an ARQ feedback message, which may be in combination with other PDU data as discussed above. For example, an ARQ feedback message may be “piggybacked” with other data by using a packing subheader. However, an ARQ feedback message may also be sent as a stand alone MAC management message without a subheader. Thedata 113 may also employ encryption in some embodiments. -
Signal 103 may include a Cyclic Redundancy Check (CRC)field 115 in some embodiments which may cover theMAC header 107 as well asdata 113. Further, in some embodiments theMAC header 107 will contain a CRC-8 header checksum andCRC field 115 may contain a CRC-32 checksum to cover the data. If encryption is used as mentioned above, the CRC field will be determined subsequent to encryption operations.Signal 103 may also include padding (not shown). - In ARQ systems, an MSDU may be logically segmented into a series of data blocks and subsequently encapsulated into PDUs as discussed briefly above. The BSN, which is contained in the fragmentation or
packing sub-headers 111 likewise as discussed above, will correspond to the first data block of the series of data blocks after thesub-header 111, which are being transmitted together. For retransmission, the transmitter may make a policy decision as to whether retransmitted data blocks are arranged in the same PDUs. -
FIG. 2 illustrates acommunications network 200, withvarious base stations 203, eachbase station 203 having a correspondingradio coverage area 207. In general, base station radio coverage areas may overlap and, in general, form an overall network coverage area. A coverage area may comprise a number of basestation coverage areas 207, which may form a contiguous radio coverage area. However, it is not required to have contiguous coverage and therefore the coverage area may alternatively be distributed throughout an overall network coverage area. Furthermore, eachbase station 203 may communicate with a number of mobile stations such asmobile station 201, via anair interface 205. Themobile station 201 may communicate with various base stations via handover operations as themobile station 201 moves throughout thenetwork 200 radio coverage areas. - A number of
base stations 203 may be connected to abase station controller 209 viabackhaul connections 211. The overall network may comprise any number of base station controllers, each controlling a number of base stations. Note that thebase station controller 209 may alternatively be implemented as a distributed function among the base stations. Thebase stations 203 may communicate with themobile station 201 via any number of standard air interfaces such as, but not limited to, UMTS, E-UMTS, CDMA2000, 802.11 or 802.16. - The
base stations 203 may perform a number of control functions such as, but not limited to, a Radio Link Control (RLC) function and Medium Access Control (MAC) function.Base station controller 209 may provide a centralized Radio Resource Management (RRM) function to synchronize various functions between thebase stations 203 such as, but not limited to, scheduling and segmentation and reassembly functions as well as to coordinate the RLC and MAC functions between thevarious base stations 203. -
FIG. 3 is a block diagram illustrating the primary components of a mobile station in accordance with some embodiments.Mobile station 300 comprisesuser interfaces 301, at least oneprocessor 303, and at least onememory 305.Memory 305 has storage sufficient for the mobilestation operating system 307,applications 309 andgeneral file storage 311.Mobile station 300user interfaces 301, may be a combination of user interfaces including but not limited to a keypad, touch screen, voice activated command input, and gyroscopic cursor controls.Mobile station 300 has agraphical display 313, which may also have a dedicated processor and/or memory, drivers etc. which are not shown inFIG. 3 . - It is to be understood that
FIG. 3 is for illustrative purposes only and is for illustrating the main components of a mobile station in accordance with the present disclosure, and is not intended to be a complete schematic diagram of the various components and connections there-between required for a mobile station. Therefore, a mobile station may comprise various other components not shown inFIG. 3 and still be within the scope of the present disclosure. - Returning to
FIG. 3 , themobile station 300 may also comprise a number of transceivers such astransceivers Transceivers -
Memory 305 is for illustrative purposes only and may be configured in a variety of ways and still remain within the scope of the various embodiments herein disclosed. For example,memory 305 may be comprised of several elements each coupled to theprocessor 303. Further, separate processors and memory elements may be dedicated to specific tasks such as rendering graphical images upon a graphical display. In any case, thememory 305 will have at least the functions of providing storage for anoperating system 307,applications 309 andgeneral file storage 311 formobile station 300. In some embodiments,applications 309 may comprise a software stack having a Medium Access Control (MAC) layer that communicates with a stack MAC layer in a base station or base station controller. - Turning now to
FIG. 4 , mobile station and base station architectures in accordance with the various embodiments are illustrated.Mobile stations 401 comprises a stack having a Radio Link Controller (RLC) 407, a Medium Access Controller (MAC) 409, and a Physical Layer (PHY) 411.Base station 403 similarly has anRLC 413,MAC 415 andPHY 417. -
FIG. 5 illustrates high level operation of a receiver, operating in an ARQ mode, in accordance with various embodiments. Initial operation begins with notification or a determination that an ARQ data block or blocks has/have been discarded 501. Next, as shown inblock 503, the receiver determines whether the discarded ARQ block or blocks belongs to an MSDU for which other ARQ blocks have already been received. If so, then all ARQ data blocks corresponding to the failed MSDU are discarded as shown inblock 505. - A high level transmitter operation in accordance with various embodiments is illustrated by
FIG. 6 . Instep 601, the transmitter may fragment data packets into a series of data blocks and assign Block Sequence Numbers (BSNs) and/or fragmentation control information. One or more of the data blocks is then sent to a receiver as shown instep 603. - The transmitter will set one or more acknowledgement timers, as shown in
step 605, and wait for an ACK or NACK message from the receiver. This step may include a number of retransmit attempts based on one or more of thestep 605 timers timing out. However, after final timeout, the MSDU can be considered to have failed. Therefore, instep 607, the transmitter will send a discard message to the receiver indicating that other ARQ data blocks that are part of the same MSDU should be discarded. - Segments of the transmitter state machine useful for understanding the various embodiments in a transmitting equipment are illustrated by
FIG. 7 . However, it is to be understood thatFIG. 7 is not intended to be a full and complete description of the transmitter state machine, but rather is intended to provide those details necessary for understanding the various embodiments. Therefore, a transmitter state machine may comprise various other steps or procedures not shown byFIG. 7 , and such transmitters employing the procedures illustrated byFIG. 7 with other such steps or procedures not shown, remain in accordance with the various embodiments herein disclosed. - Therefore, in
step 701 the transmitter may segment an MSDU into a number of data blocks and include fragmentation control information in appropriate sub-headers, such as fragmentation or packingsub-headers 111 shown inFIG. 1 and discussed previously. One or more data blocks may then be sent by the transmitter as shown instep 703. It is to be understood thatstep 703 may also represent a retransmission of the ARQ mode such that a signal payload may comprise a number of initial data block transmissions and also retransmissions as was discussed previously with respect toFIG. 1 . - In general as shown in
step 705, the transmitter waits for the data block or blocks to be acknowledged by the receiver by an ACK message. If the data block is acknowledged then the block state will be updated. For example, a data block may be in one of four states; “not-sent,” “outstanding,” “discarded,” and “waiting-for-retransmission.” Therefore, a data block initial state is “not-sent.” - After the block is sent it becomes “outstanding” until an ACK is received in 705, or a “not-acknowledged” (NACK) is received as in 707, or if ACK timeout occurs as in 709. Upon receipt of an ACK message in 705, the block state will be updated to “discarded” by the transmitter. In this case, the block state may be updated to “discarded” in 711, after which a pointer may be moved to the next Block Sequence Number (BSN) or numbers as in 713, and the next data block or set of blocks may be sent in 703.
- However, if a NACK is received as in 707, or if ACK timeout occurs as in 709, then the block state will be changed to “waiting for retransmission” in 715 and the block will be resent in 703.
- Upon the initial sending of the data block in 703, a data block lifetime timer is also set, and the timeout is pending as shown in
step 717. If the data block lifetime timer times out in 717, a discard message is sent to the receiver in 719. The discard message may in some embodiments provide an indication to the receiver of every related data block, that is, an indication of every data block BSN pertaining to the same MSDU for which the discarded block occurred. It is to be understood that various implementations are possible for indicating the related data blocks and that such implementations remain in accordance with the various embodiments disclosed herein. Thus, in one exemplary implementation of the various embodiments, the discard message may specify a range of BSNs which are to be discarded, by providing an initial BSN and a final BSN. Further, in some embodiments the receiving side may infer whether certain data blocks belong to a discarded MSDU and therefore in such embodiments only a single BSN may be provided, for example an initial BSN or a final BSN. In other alternative embodiments, the discard message may provide an initial BSN for a new MSDU so that the receiving side may advance its receive window accordingly, in addition to deleting data blocks with BSNs corresponding to the failed MSDU. - Returning now to
FIG. 7 , the transmitter then waits for an ACK or NACK message in 721. The timer sequence for 721 may be identical to the sequence of 705, 707 and 709 in some embodiments, such that 721 will have the same time duration as 705, 707 and 709. Returning to 721, if a NACK is received, or if a timeout occurs, then the discard message will be resent in 719. Otherwise, after an ACK is received in 721, the transmitter will discard the data blocks in 723 and will advance a transmission (Tx) window to the next BSN to be sent. -
FIG. 8 illustrates the operation of a receiver state machine in accordance with the embodiments, and generally corresponding to the transmitter state machine illustrated byFIG. 7 . Similar to the intent and understanding ofFIG. 7 , it is to be understood thatFIG. 8 is not intended to be a full and complete description of the receiver state machine, but rather is intended to provide those details necessary for understanding the various embodiments. Therefore, a receiver state machine may comprise various other steps or procedures not shown byFIG. 8 , and such receivers employing the procedures illustrated byFIG. 8 with other such steps or procedures not shown, remain in accordance with the various embodiments herein disclosed. Also, with respect to bothFIGS. 7 and 8 , it is to be understood that the various embodiments will be a transceiver station, that is, a base station or a mobile station having both transmitting and receiving capability and therefore both base stations and mobile stations may employ the various inventive methods and techniques herein disclosed in both the transmission and reception aspects. - Returning now to
FIG. 8 , a receiver receives a data block or data blocks in 801. For embodiments employing a Cyclic Redundancy Check (CRC) as was discussed with respect toFIG. 1 , the CRC will be performed as in 803 and if the data passes, it will be unpacked or defragmented as needed in 805. The BSNs will then be checked in 807 to determine whether the received data block or data blocks is/are within the expected window as in 809. If not, then the blocks will be discarded in 811. - If the data block was in fact within the appropriate BSN window then the data block may be stored in 813, and the receive (Rx) window may be advanced to the next expected BSN if the received data block BSN is equal to the current Rx window start pointer value. The receiver will then send an ACK message to the transmitter in 815. During the normal operation of the receiver in ARQ mode, various blocks will be received such that the process of 801 through 815 will repeat until the successful reception of one or more MSDUs or unless, a discard message is received as in 817. If a discard message is not received in 817, the receiver will continue to receive data blocks in 801 that are expected within the Rx window. However, if a discard message is received as in 817, the receiver will determine whether currently stored data blocks belong to the same MSDU as blocks specified by the discard message.
- As discussed above with respect to the transmitter states illustrated by
FIG. 7 , the discard message may contain various indications to inform the receiver of which blocks are to be discarded. Therefore, for example, only the first and last BSNs of the discardable data blocks may be specified. Alternatively, the next BSN to which the receiver should advance the Rx window may be specified. In any case, for some embodiments, the receiver may check the fragmentation information for stored blocks as shown in 819. The fragmentation information may be used by the receiver to infer which stored blocks belong to the discarded MSDU, even if the transmitter discard message did not provide information specific for all MSDU blocks. For example, if a first block BSN was specified, then any blocks having “Continuing Fragment” or “Last Fragment” binary indications belonging to the same MSDU may be discarded prior to advancing the Rx window. For any of the above described embodiments, the receiver determines which additional data blocks if any must be discarded as shown in 821. - Therefore in 823, all data blocks related to the same MSDU for which any data block was to be discarded, as specified by the transmitter discard message, or as inferred by the receiver, may likewise be discarded. The receiver will then, in 825, update the block state to “received,” even though the blocks have in fact not been received, and send an ACK message to the transmitter in 827. The ACK message will inform the transmitter that the blocks were discarded. In 829, the receiver will advance its Rx window to the next BSN.
-
FIG. 9 is a message flow diagram providing an example of message flows between a transmitter and receiver in accordance with various embodiments. InFIG. 9 , thebase station 903 is assumed to be transmitting data blocks, while the mobile station (MS) 901 is assumed to be receiving data blocks. However, it is to be understood that in the various embodiments, communication of data is bi-directional such that themobile station 901 may transmit data blocks, while thebase station 903 may receive data blocks. - Therefore in accordance with the exemplary
FIG. 9 assumption ofbase station 903 data transmission, an ARQ data block is sent to theMS 901 frombase station 903 assignal 905. The base station will then set the timer “ARQ_BLOCK_LIFETIME TIMER” 907 and also set an “ARQ_RETRY_TIMEOUT TIMER” 909. On the receiver side, theMS 901 will set an “ARQ_RX_PURGE_TIMEOUT TIMER” 911. - Returning to the
base station 903 side, and assuming that an ACK is not received, thetimer 909 will timeout and thebase station 903 will resend the data block 913. Theresend 913 may also occur if a NACK message is received as was discussed above. InFIG. 9 , it is assumed that an ACK message, or a NACK message, is never received by thebase station 903 such thatARQ_BLOCK_LIFETIME TIMER 915 times out, in which case discardmessage 917 is sent to theMS 901. - The
MS 901 will discard any specified ARQ blocks in 921, and may also infer other blocks not specified, if such blocks may be related to the same MSDU by using for example, the block fragmentation control information as was discussed above. TheMS 901 will then advance theARQ_RX_WINDOW_START 923 to the next BSN, and will send anARQ feedback message 925 to thebase station 903 indicating that the ARQ blocks have been discarded. Thebase station 903 likewise discards any ARQ blocks queued for the MSDU in 919. -
FIG. 10 illustrates how an ARQ sliding receiver window operates andFIG. 11 illustrates how the ARQ window operates in accordance with an embodiment. Therefore, inFIG. 10 , when fragmentation is used on an ARQ connection, only a part of the ARQ blocks for a specific MSDU might be discarded because the MSDU may have been fragmented over several PDUs. As discussed in detail above, ARQ blocks may be discarded for various reasons, one of which is that, after multiple retries theARQ_RX_PURGE_TIMEOUT TIMER 911 for example, may timeout on the receive side, or a discardmessage 917 may have been received when thetransmitter ARQ_BLOCK_LIFETIME TIMER 915 timeout occurs, for example. - Therefore, in
FIG. 10 , in which various ARQ data blocks are represented as consecutive datablocks having BSNs 1 through 12, data blocks 1, 2 and 3 correspond to a first MSDU, while data blocks 4 through 8 correspond to a second MSDU.Block 5 has been received, while block 4 has not been received. If a discard message is received specifying data block 4 is to be discarded, the receiver will advance thewindow 1001 to BSN 6 as shown bywindow 1003. It is to be noted that data blocks 6, 7 and 8 also belong to the second MSDU, are still within the pendingwindow 1003, and have not been discarded, even though theses blocks are no longer of any use. - Therefore, the various embodiments employ the technique illustrated by
FIG. 11 . Therefore as shown inFIG. 11 , the receiver may utilize the fragmentation control (FC) information to deduct related ARQ blocks not yet received, because an FC indication of “First Fragment,” must be ended by an FC set to “Last Fragment.” Before the receiver sends an ARQ feedback message, the receiver may examine if any other ARQ blocks would complete the MSDU and thereby shift the receivewindow 1101 beyond these additional blocks as well. - It is assumed in
FIG. 11 that either a receiver ARQ_RX_PURGE_TIMER timeout occurred forARQ block 5, or that a discard message was received for ARQ block 4. The receiver may read the FC information of receivedblocks 5 and 7 determining that 5 and 7 are “Continuing Fragments” which can be discarded. The receiver may further note that 6 and 8, which have not been received, are a “Continuing Fragment” and a “Last Fragment,” respectively.Block 8 is logically inferred to be the “Last Fragment” of the discarded MSDU because receivedblock 9 is a “First Fragment” of a new MSDU. Likewise, the receiver may determine thatblocks window position 1103 which corresponds toBSN 12. - If the receiver is unable to deduct all information needed to discard a complete MSDU, one such case being where consecutive data blocks have not been received, then on reception of new information concerning this MSDU, the receiver may continue to discard the remaining MSDU data blocks. In the event of consecutive data blocks which are not received, and which are part of a discarded MSDU, the receiver will, in the various embodiments, set a discard flag. For example, assuming a discarded MSDU consists of data blocks 4 through 9 wherein all blocks have been received, except for blocks 6 and 7. In this case the receiver would forward the window to BSN 6 because it cannot determine whether blocks 6 and 7 are “Continuing Fragments,” or whether block 6 is a “Last Fragment” and block 7 is a “First Fragment” of a new MSDU. Therefore the receiver in this case can only safely discard up through “Continuing Fragment”
block 5. However, when the receiver receives block 6 having FC information set to “Continuing Fragment,” it will discard blocks 6 through 9, and advance the window toBSN 10. Becauseblock 8, which is a “Continuing Fragment,” andblock 9, which is a “Last Fragment,” have been received, and because block 6, subsequently received is then known to be continuing, block 7 logically must likewise be continuing and may be discarded. Thus, the receiver appropriately discards blocks 6 though 9 and advances the receive window toBSN 10. - Additionally, it is to be understood that the transmitter side may also employ the techniques described above and illustrated by
FIG. 11 , in the event of for example anARQ_BLOCK_LIFETIME TIMER 915 timeout, such that the blocks marked “not received' would be “not acknowledged' with respect to the transmitter side. The transmitter may thus accordingly advance the transmission window thereby saving unnecessary data block transmissions or retransmissions. - Returning briefly to
FIG. 9 , further optimizations may be employed by the various embodiments. For example,ARQ_RX_PURGE_TIMEOUT TIMER 911 may be applied to several data blocks simultaneously, if a set of data blocks having consecutive BSNs is received in a single PDU. Otherwise if thetimer 911 is set for each individual data block, the timer for that block must be reset if a duplicate data block were received. Therefore, in the various embodiments, only a single purge timer is set for consecutive BSN data blocks received in a single PDU. The timer is then only reset in the event that duplicates of all BSNs within the PDU set have been received. Similarly on the transmitter side, theARQ_BLOCK_LIFETIME_TIMER 907 may be applied to all ARQ data blocks that are sent in the same PDU. - While various embodiments have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims.
Claims (20)
1. A method of operating a wireless transceiver, said wireless transceiver operating in an Automatic Repeat Request (ARQ) mode, said method comprising:
fragmenting a packet of data into a series of sequential data blocks and assigning each of said data blocks a block sequence number;
sending at least a first data block from said series of sequential data blocks, and a first block sequence number corresponding to said first data block, to a remote wireless transceiver;
setting an acknowledgment timer specifying a time interval in which to receive an acknowledgment message from said remote transceiver, said acknowledgment message corresponding to said first data block;
determining that said acknowledgment timer has timed out; and
sending a discard message to said remote transceiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that said second data block is to be discarded, wherein the at least a second block sequence number corresponds to one or more remaining data blocks forming said packet of data.
2. The method of claim 1 , further comprising:
discarding all remaining data blocks of said series of sequential data blocks.
3. The method of claim 2 , further comprising:
advancing an ARQ transmission window start to the next block sequence number greater than a largest value block sequence number, said largest value block sequence number corresponding to a last in sequence data block of said series of sequential data blocks.
4. The method of claim 1 , further comprising:
receiving from said remote transceiver, an acknowledgment message, said acknowledgment message specifying that said second data block has been discarded by said remote transceiver.
5. The method of claim 1 , further comprising:
setting a retry timer specifying a time interval in which to receive a report message from said remote transceiver, said report message acknowledging receipt of said discard message;
determining that said retry timer has timed out; and
sending a second discard message to said remote transceiver.
6. A method of operating a wireless transceiver, said wireless transceiver operating in an Automatic Repeat Request (ARQ) mode, said method comprising:
receiving from a remote transceiver at least a first data block including a first block sequence number, said first data block being from a series of sequential data blocks forming a packet;
receiving from said remote transceiver a discard message specifying at least a second block sequence number corresponding to at least a second data block, said discard message specifying that said second data block is to be discarded, wherein the at least a second block sequence number corresponds to one or more remaining data blocks forming said packet; and
discarding said second data block.
7. The method of claim 6 , further comprising:
sending a discard report message to said remote transceiver reporting that said second data block has been discarded.
8. The method of claim 7 , further comprising:
advancing an ARQ receive window start to the next block sequence number greater than a largest value block sequence number, said largest value block sequence number corresponding to a last in sequence data block of said series of sequential data blocks.
9. The method of claim 6 , further comprising:
receiving from said remote transceiver, a fragmentation information corresponding to said first data block;
setting a data purge timer specifying a time interval in which to receive at least a second data block from said series of sequential data blocks;
determining that said purge timer has timed out;
using said fragmentation information to determine a final block sequence number corresponding to a last in sequence data block of said series of sequential data blocks; and
advancing an ARQ receive window start to the next block sequence number greater than said final block sequence number.
10. A wireless communication station comprising:
a transceiver for transmitting and receiving radio signals;
a processor coupled to said transceiver, said processor having a medium access control layer, and configured to:
fragment a packet of data into a series of sequential data blocks and assign each of said data blocks a block sequence number;
send at least a first data block from said series of sequential data blocks, and a first block sequence number corresponding to said first data block, to a remote wireless transceiver;
set an acknowledgment timer specifying a time interval in which to receive an acknowledgment message from said remote transceiver, said acknowledgment message corresponding to said first data block;
determine that said acknowledgment timer has timed out; and
send a discard message to said remote transceiver specifying at least a second block sequence number corresponding to at least a second data block, and specifying that said second data block is to be discarded, wherein the at least a second block sequence number corresponds to one or more remaining data blocks forming said packet of data.
11. The wireless communication station of claim 10 , wherein said processor is further configured to discard all remaining data blocks of said series of sequential data blocks.
12. The wireless communication station of claim 10 , wherein said processor is further configured to advance an ARQ transmission window start to the next block sequence number greater than a largest value block sequence number, said largest value block sequence number corresponding to a last in sequence data block of said series of sequential data blocks.
13. The wireless communication station of claim 10 , wherein said processor is further configured to receive from said remote wireless transceiver, an acknowledgment message, said acknowledgment message specifying that said second data block has been discarded by said remote wireless transceiver.
14. The wireless communication station of claim 10 , wherein said processor is further configured to:
receive from said remote transceiver at least a first data block including a first block sequence number, said first data block being from a series of sequential data blocks forming a packet;
receive from said remote transceiver a discard message specifying at least a second block sequence number corresponding to at least a second data block, said discard message specifying that said second data block is to be discarded; and
discard said second data block.
15. The wireless communication station of claim 14 , wherein said processor is further configured to send a discard report message to said remote transceiver reporting that said second data block has been discarded.
16. The wireless communication station of claim 14 , wherein said processor is further configured to advance an ARQ receive window start to the next block sequence number greater than a largest value block sequence number, said largest value block sequence number corresponding to a last in sequence data block of said series of sequential data blocks.
17. The wireless communication station of claim 14 , wherein said processor is further configured to:
receive from said remote transceiver, a fragmentation information corresponding to said first data block;
set a data purge timer specifying a time interval in which to receive at least a second data block from said series of sequential data blocks;
determine that said purge timer has timed out;
use said fragmentation information to determine a final block sequence number corresponding to a last in sequence data block of said series of sequential data blocks; and
advance an ARQ receive window start to the next block sequence number greater than said final block sequence number.
18. The wireless communication station of claim 10 , wherein said transceiver for transmitting and receiving radio signal, transmits and receives radio signals in accordance with an orthogonal frequency division multiple access radio interface.
19. The wireless communication station of claim 10 , wherein said packet of data is a Medium Access Control Layer Service Data Unit (MSDU).
20. The wireless communication station of claim 10 , wherein said first block sequence number corresponding to said first data block, further includes a fragmentation control information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/689,592 US20100122136A1 (en) | 2006-04-27 | 2010-01-19 | Method and apparatus for reduced data block transmission in an automatic repeat request system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/412,245 US7338031B2 (en) | 2006-04-27 | 2006-04-27 | Faucet structure with automatic cold-water resuming function |
US12/689,592 US20100122136A1 (en) | 2006-04-27 | 2010-01-19 | Method and apparatus for reduced data block transmission in an automatic repeat request system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/412,245 Continuation US7338031B2 (en) | 2006-04-27 | 2006-04-27 | Faucet structure with automatic cold-water resuming function |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100122136A1 true US20100122136A1 (en) | 2010-05-13 |
Family
ID=38647196
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/412,245 Active 2026-09-28 US7338031B2 (en) | 2006-04-27 | 2006-04-27 | Faucet structure with automatic cold-water resuming function |
US12/689,592 Abandoned US20100122136A1 (en) | 2006-04-27 | 2010-01-19 | Method and apparatus for reduced data block transmission in an automatic repeat request system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/412,245 Active 2026-09-28 US7338031B2 (en) | 2006-04-27 | 2006-04-27 | Faucet structure with automatic cold-water resuming function |
Country Status (1)
Country | Link |
---|---|
US (2) | US7338031B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100115365A1 (en) * | 2008-11-03 | 2010-05-06 | Industrial Technology Research Institute | System and method for data transmission |
US20120155474A1 (en) * | 2010-12-14 | 2012-06-21 | Cavium, Inc. | Messaging with flexible transmit ordering |
US20130114748A1 (en) * | 2011-11-04 | 2013-05-09 | Renesas Mobile Corporation | Method, Apparatus and Device for Transmitting Data Blocks |
US20140294019A1 (en) * | 2011-09-02 | 2014-10-02 | Qualcomm Incorporated | Fragmentation for long packets in a low-speed wireless network |
WO2015101341A1 (en) * | 2014-01-03 | 2015-07-09 | Tencent Technology (Shenzhen) Company Limited | Method and device for processing service request |
US20170005758A1 (en) * | 2013-12-20 | 2017-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | High-Reliability Transmission Scheme with Low Resource Utilization |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8136552B2 (en) | 2008-12-04 | 2012-03-20 | Emerson Electric Co. | Hot side only spring return used on single lever hot/cold faucet with locking mechanism |
ITTA20110005A1 (en) * | 2011-03-24 | 2011-06-23 | Cosimo Muraglia | MIXER TAP WITH AUTOMATIC RECALLING OF THE CONTROL KNOB IN COLD WATER POSITION |
CN105840838B (en) * | 2016-05-23 | 2018-05-15 | 厦门建霖健康家居股份有限公司 | Water-saving tap and preparation method thereof |
US20180010710A1 (en) * | 2016-07-06 | 2018-01-11 | David Stephen Straka | Method and apparatus for biasing faucet handle |
IL251119A0 (en) * | 2017-03-13 | 2017-06-29 | Unito Smart Tech Limited | Safety valve assembly for dispensing liquids |
DE102018206354B3 (en) * | 2018-04-25 | 2019-07-11 | Hansgrohe Se | Mixing and shut-off valve device as well as sanitary mixing and shut-off valve |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5806003A (en) * | 1993-07-14 | 1998-09-08 | Nokia Telecommunications Oy | Method for adjusting transmission power in a cellular radio system and a subscriber equipment |
US20030079169A1 (en) * | 2001-08-02 | 2003-04-24 | Jin-Meng Ho | Automatic repeat request for centralized channel access |
US20040242258A1 (en) * | 2003-06-02 | 2004-12-02 | Samsung Electronics Co., Ltd. | Method of controlling signal power level and a Bluetooth device for performing the same |
US6970715B2 (en) * | 2001-08-01 | 2005-11-29 | Mitsubishi Denki Kabushiki Kaisha | Portable wireless transceiver controlling transmission power |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092085A (en) * | 1975-10-07 | 1978-05-30 | Aqua-Marine Mfg. Limited | Faucet assembly |
US7213614B2 (en) * | 2004-04-16 | 2007-05-08 | Kuching International Ltd. | Automatic cold water feed-back mechanism for single handled faucet |
US7264016B2 (en) * | 2004-10-26 | 2007-09-04 | Brasstech, Inc. | Self-closing rotary valve |
-
2006
- 2006-04-27 US US11/412,245 patent/US7338031B2/en active Active
-
2010
- 2010-01-19 US US12/689,592 patent/US20100122136A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5806003A (en) * | 1993-07-14 | 1998-09-08 | Nokia Telecommunications Oy | Method for adjusting transmission power in a cellular radio system and a subscriber equipment |
US6970715B2 (en) * | 2001-08-01 | 2005-11-29 | Mitsubishi Denki Kabushiki Kaisha | Portable wireless transceiver controlling transmission power |
US20030079169A1 (en) * | 2001-08-02 | 2003-04-24 | Jin-Meng Ho | Automatic repeat request for centralized channel access |
US20040242258A1 (en) * | 2003-06-02 | 2004-12-02 | Samsung Electronics Co., Ltd. | Method of controlling signal power level and a Bluetooth device for performing the same |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100115365A1 (en) * | 2008-11-03 | 2010-05-06 | Industrial Technology Research Institute | System and method for data transmission |
US20120155474A1 (en) * | 2010-12-14 | 2012-06-21 | Cavium, Inc. | Messaging with flexible transmit ordering |
US9065781B2 (en) | 2010-12-14 | 2015-06-23 | Cavium, Inc. | Messaging with flexible transmit ordering |
US9264385B2 (en) | 2010-12-14 | 2016-02-16 | Cavium, Inc. | Messaging with flexible transmit ordering |
US9596193B2 (en) * | 2010-12-14 | 2017-03-14 | Cavium, Inc. | Messaging with flexible transmit ordering |
US20140294019A1 (en) * | 2011-09-02 | 2014-10-02 | Qualcomm Incorporated | Fragmentation for long packets in a low-speed wireless network |
US20130114748A1 (en) * | 2011-11-04 | 2013-05-09 | Renesas Mobile Corporation | Method, Apparatus and Device for Transmitting Data Blocks |
US20170005758A1 (en) * | 2013-12-20 | 2017-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | High-Reliability Transmission Scheme with Low Resource Utilization |
US10305639B2 (en) * | 2013-12-20 | 2019-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | High-reliability transmission scheme with low resource utilization |
WO2015101341A1 (en) * | 2014-01-03 | 2015-07-09 | Tencent Technology (Shenzhen) Company Limited | Method and device for processing service request |
US11068964B2 (en) | 2014-01-03 | 2021-07-20 | Tencent Technology (Shenzhen) Company Limited | Method and device for processing service request |
Also Published As
Publication number | Publication date |
---|---|
US20070251587A1 (en) | 2007-11-01 |
US7338031B2 (en) | 2008-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070266292A1 (en) | Method and apparatus for reduced data block transmission in an automatic repeat request system | |
US20100122136A1 (en) | Method and apparatus for reduced data block transmission in an automatic repeat request system | |
KR100765121B1 (en) | Polling method of Protocol Data Unit of transmission buffer | |
KR100779753B1 (en) | Method and apparatus for polling transmission status in a wireless communication system | |
EP2811681B1 (en) | Method for moving a receive window in a radio access network | |
JP4387393B2 (en) | Method and apparatus for processing control PDU upon re-establishment of transmitting side in wireless communication system | |
US7269760B2 (en) | Scheme to discard an erroneous PDU received in a wireless communication system | |
JP4934666B2 (en) | Method for transmitting control information in wireless communication system and method for updating transmission window using the same | |
KR101084135B1 (en) | method of receiving and transmitting for status PDU in wireless communication system | |
US8413002B2 (en) | Method of performing ARQ procedure for transmitting high rate data | |
KR100635012B1 (en) | Method for creating feedback message for ARQ in mobile communication system | |
US8400999B2 (en) | Method of handling packet data in a wireless communications system and related apparatus | |
US7609698B2 (en) | Apparatus and method for retransmitting data in mobile communication system | |
US20040052250A1 (en) | Method of data communication using a control message | |
JP2007089177A (en) | Method and apparatus for improving transmission rate of state report signal in radio communication system | |
JP2008005509A (en) | Method and device for deleting packet in wireless communication system | |
EP3490182B1 (en) | Hybrid automatic repeat request method and system | |
JP2007325270A (en) | Method and apparatus for improving data transmission efficiency of radio communication system | |
TWI486030B (en) | Method and apparatus for polling transmission status in a wireless communications system | |
US9124426B2 (en) | Hybrid ARQ system with a snapshot feedback mechanism for interference prone wireless networks | |
JP4742107B2 (en) | Reset processing method and communication apparatus for processing reset in wireless communication system | |
CN113315608A (en) | Method, system, medium and communication system for dynamically determining retransmission PDU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |