Technical Field
[0001] The present invention relates to wireless (radio) communications, and in particular,
to handling data blocks by updating a next-expected TSN and receiver window to avoid
stall conditions.
Background Art
[0002] The present invention relates to controlling a reordering buffer by a user equipment
(UE) that employs a next-expected transmission sequence number (TSN) and a receiver
window for a HSDPA (High-Speed Downlink Packet Access) system in a UMTS (Universal
Mobile Telecommunications System), which is a European type IMT-2000 system, and more
particularly, to controlling the reordering buffer to prevent stall conditions due
to MAC-hs PDUs not being delivered to the upper layer when the next-expected TSN falls
outside the receiver window range.
[0003] The UMTS (Universal Mobile Telecommunications System) is a third generation mobile
communications system that evolved from the European GSM (Global System for Mobile
Communications) system, with the purpose of providing further improved mobile communications
service based upon a GSM core network and W-CDMA (Wideband Code Division Multiple
Access) technology.
[0004] Figure 1 depicts a typical UMTS network, (100) architecture. The UMTS broadly consists
of user equipment (UE 110), a UMTS Terrestrial Radio Access Network (UTRAN 120), and
a core network (CN 130). The UTRAN consists of one or more radio network sub-systems
(RNS 121,122), and each RNS consists of one radio network controller (RNC 123, 124)
and one or more base stations (Node Bs 125, 126) that are managed by the RNC. The
Node B, being managed by the RNC, receives data sent from a physical layer of the
UE via the uplink and transmits data to the UE via the downlink, to thus act as an
access point of the UTRAN with respect to the UE The RNC handles the allocation and
management of radio resources, and acts as an access point with the CN.
[0005] An RNC that manages dedicated radio resources for a particular UE is called a serving
RNC (SRNC 123), and an RNC that manages common radio resources for a plurality of
UEs within one cell is called a controlling RNC (CRNC). Also, when the UE moves, all
RNCs that the UE goes through (excluding the SRNC) are called drift RNCs (DRNCs 124).
The drift RNCs 124 facilitate the routing of user data and allocate codes as common
resources.
[0006] The interface between the RNC and the CN is called an Iu interface. The interface
between the SRNC and the DRNC is called an Iur interface. The interface between the
RNC and Node B is called an Iub interface. Each interface provides control data or
data transmission services via a transport bearer. For example, the bearer provided
in the Iub interface is called a Iub transport bearer, which provides control data
or data transmission services between the RNC and Node R
[0007] Figure 2 depicts a radio interface protocol architecture based upon a 3GPP radio
access network, specification between the UE and the UTRAN. The radio interface protocol
of Figure 2 is divided horizontally into a physical layer, a data link layer, and
a network layer, and is divided vertically into a user plane for data information
transmissions and a control plane for transfer of control signaling. Namely, the user
plane is the region in which traffic information of the user (such as voice, IP (Internet
Protocol) packets, and the like) is transferred, while the control plane is the region
in which control information (such as the interface of the network, maintaining and
managing calls, and the like) is transferred. The protocol layers of Figure 2 may
be divided into a first layer (L1), a second layer (L2), and a third layer (L3) based
upon the lower three layers of an open system interconnection (OSI) model that is
a well-known in communications systems.
[0008] Each layer depicted in Figure 2 will now be described in more detail. The first layer
(L1) is a physical layer (PHY) that provides information transfer service to upper
layers by using various radio transmission techniques, and is connected to a medium
access control (MAC) layer that is located thereabove via a transport channel through
which data travels between the MAC layer and the physical layer.
[0009] The MAC layer provides data transfer, reallocation of radio resources and MAC parameters.
The MAC layer is connected to a radio link control (RLC) layer, which is an upper
layer, via a logical channel, and various logical channels are provided depending
upon the type of data that is transmitted.
[0010] In general, when information of the control plane is transmitted, a control channel
is used. When information of the user plane is transmitted, a traffic channel is used.
[0011] The MAC layer is sub-divided into a MAC-b sub-layer, a MAC-d sub-layer (310), a MAC-c/sh
sub-layer (320), and a MAC-hs sub-layer (330), according to the type of transport
channel that is managed.
[0012] The MAC-b sub-layer manages a BCH (Broadcast Channel), which is a transport channel
handling the broadcasting of system information.
[0013] The MAC-d sub-layer (310) manages a dedicated channel (DCH), which is a dedicated
transport channel for a specific terminal. Accordingly, the MAC-d sub-layer of the
UTRAN is located in a serving radio network controller (SRNC) that manages a corresponding
terminal, and one MAC-d sub-layer also exists within each UE
[0014] The MAC-c/sh sub-layer (320) manages a common transport channel, such as a forward
access channel (FACH) or a downlink shared channel (DSCH), which is shared by a plurality
of terminals. In the UTRAN, the MAC-c/sh sub-layer exists for each cell and is located
in a controlling radio network controller (CRNC), and one MAC-c/sh sub-layer exists
in each UE
[0015] The MAC-hs sub-layer (330) performs the functions related to HSDPA (High-Speed Data
Packet Access) such as packet scheduling, HARQ (Hybrid ARQ) operations, and the like.
[0016] The RLC layer supports reliable data transmissions, and performs a segmentation and
concatenation function on a plurality of RLC service data units (RLC SDUs) delivered
from an upper layer. When the RLC layer receives the RLC SDUs from the upper layer,
the RLC layer adjusts the size of each RLC SDU in an appropriate manner upon considering
processing capacity, and then creates certain data units with header information added
thereto. The created data units are called protocol data units (PDUs), which are then
transferred to the MAC layer via a logical channel. The RLC layer includes a RLC buffer
for storing the RLC SDUs and/or the RLC PDUs.
[0017] The BMC (Broadcast/Multicast Control) layer is located above the RLC layer, and schedules
cell broadcast messages (referred to as 'CB messages', hereinafter) received from
the core network, and broadcasts the CB messages to UEs located in a specific cell(s).
[0018] The PDCP (Packet Data Convergence Protocol) layer is located above the RLC layer,
and allows the data transmitted through a network protocol (such as an IPv4 or IPv6)
to be effectively transmitted on a radio interface with a relatively small bandwidth.
To achieve this, the PDCP layer performs the function of reducing unnecessary control
information used for a wire-line network, and this type of function is called, header
compression.
[0019] There is a radio resource control (RRC) layer at a lowermost portion of the L3 layer.
The RRC layer is defined only in the control plane, and handles the controlling of
logical channels, transport channels, and physical channels with respect to establishment,
reconfiguration, and release of radio bearers (RBs). The radio bearer service refers
to a service that the second layer (L2) provides for data transmission between the
terminal and the UTRAN in order to guarantee a predetermined quality of service by
the UE and UTRAN. And in general, the radio bearer (RB) establishment refers to regulating
the protocol layers and the channel characteristics of the channels required for providing
a specific service, as well as respectively setting substantial parameters and operation
methods.
[0020] When the RRC layer of a particular UE and that of the UTRAN are connected to allow
RRC messages to be sent and received therebetween, that UE is said to be in RRC connected
state. If there is no such connection, that UE is said to be in idle state.
[0021] The HSDPA system is based on WCDMA, supports a maximum speed of 10 Mbps, and provides
shorter delay times and improved capacity compared to existing systems. Figure 3 shows
a radio interface protocol structure for supporting a HSDPA system. A terminal (UE)
and a network (UTRAN) respectively contain corresponding protocol layers. For example,
the MAC layer is divided into a MAC-d sub-layer, a MAC c/sh sub-layer, and a MAC-hs
slayer. At the network, the MAC-hs sub-layer can be positioned above the physical
layer (PHY) of a Node B (base station). The MAC-c/sh and the MAC-d sub-layers are
located in the CRNC and the SRNC, respectively. A new transmission protocol called
the HS-DSCH frame protocol (FP) is used between the RNC and the Node B, or among the
RNCs for the delivery of HSDPA data.
[0022] Figure 4 also shows a more detailed terminal side MAC architecture for supporting
the HSDPA system. As shown, the MAC layer is divided into a MAC-d sub-layer (310),
a MAC-c/sh sub-layer (320), and a MAC-hs sub-layer (330).
[0023] The manner in which the MAC layer receives the data from the physical layer and delivers
it to the RLC layer will now be described. The data block (MAC-hs PDU) delivered to
the MAC-hs sub-layer (330) through the HS-DSCH (High-Speed Downlink Shared Channel)
is first stored in one of the HARQ processes within the HARQ block (331). In which
process the data block is stored can be known from the HARQ process identifier included
in the downlink control signal.
[0024] The HARQ process, in which the data block is stored, transmits the NACK (Negative
Acknowledgement) to the UTRAN when there are errors in the data block and requests
the re-transmission of the data block. When no errors exist, the HARQ process delivers
the data block to a reordering buffer (shown in Figure 5) and transmits the ACK (Acknowledgement)
to the UTRAN. The reordering queue distribution block (333) and the reordering blocks
(334, 335) are employed to handle the data blocks delivered to the reordering buffer.
[0025] Multiple reordering buffers can exist per priority level. The HARQ process delivers
the data block to the corresponding reordering buffer by using the Queue ID (identity)
included in the data block. A significant characteristic of the reordering buffer
is that it supports in-sequence delivery of data.
[0026] Data blocks are sequentially delivered to an upper layer based on a transmission
sequence number (TSN). More specifically, when a data block is received while one
or more previous data blocks are missing, the data block is stored in the reordering
buffer and is not delivered to the upper layer. Rather, the stored data block is delivered
to the upper layer only when all previous data blocks are received and delivered to
the upper layer. The TSN is 6 bits in length and modulo operations are performed.
[0027] Typically, because several HARQ processes operate, a reordering buffer may receive
data blocks out of sequence. Therefore, a reordering buffer must be employed so that
the data blocks can be delivered to the upper layer in sequence.
[0028] When the data blocks (MAC-hs PDUs) are delivered to the upper layer, they are sent
to a disassembly block (336, 337). This disassembly block disassembles the MAC-hs
PDU (formed by a plurality of MAC-d PDUs combined together) and thus performs segmentation
into MAC-d PDUs. Thereafter, the disassembly block delivers the corresponding MAC-d
PDUs to the MAC-d sub-layer (310). A transport channel multiplexing block (312) in
the MAC-d sub-layer (310) refers to the logical channel identifier (C/T field) included
in each MAC-d PDU to deliver the MAC-d PDU to the RLC layer via the corresponding
logical channel.
[0029] Figure 5 depicts an exemplary transmission and reception procedure in a general HSDPA
system. Here, the MAC-d PDU is actually stored in the transmission buffer, but for
the sake of explanation, a MAC-hs PDU (= one or more MAC-d PDUs) is depicted. Also,
the size of each MAC-hs PDU may be different, but are conceptually depicted to be
of equal size Additionally, it is assumed that there are eight (8) HARQ processes.
[0030] In more detail, Figure 5 depicts the procedures of transmission to the receiving
side (receiver) when MAC-hs PDU with TSN=13 through TSN=22 are stored in the transmission
buffer. First, the MAC-hs PDUs with relatively low TSN values are delivered to an
empty HARQ process. Here, the MAC-hs PDU with TSN=13 being delivered to HARQ process
#1, and the MAC-hs PDU with TSN=14 being delivered to HARQ process #8 are shown by
wary of example. Namely, the TSN is not related to the HARQ process number, and delivery
to any empty HARQ process is performed.
[0031] When the HARQ process receives an arbitrary data block (MAC-hs PDU), the HARQ process
transmits the data block to the receiving side in a specific TTI (transmission time
interval) and stores the data block for re-transmission that might be performed later.
Only one data block can be transmitted in a certain TTI. Accordingly, only one HARQ
process is activated in a single TTI. The HARQ process that transmitted the data block
informs the receiving side of its process number through a downlink control signal
which is transmitted through a different channel than that of the data block.
[0032] The reason for matching the HARQ process of the transmitting side (transmitter) with
the HARQ process of the receiving side is because a stop-and-wait ARQ method is used
by each HARQ process pair. That is, HARQ process #1 that transmitted MAC-hs PDU with
TSN=13 does not transmit another data block until this data block is successfully
transmitted. Because a receiving side HARQ process #1 can know that data is transmitted
thereto for a corresponding TTI through the downlink control signal, the receiving
side HARQ process #1 transmits the NACK to the transmitting side through an uplink
control signal when the data block is not successfully received within a defined transmission
time interval (TTI). In contrast, when a data block is successfully received, the
receiving side HARQ process #1 transmits the ACK to the transmitting side, and at
the same time delivers the corresponding data block to the reordering buffer according
to the priority (Queue ID).
[0033] The multiple reordering buffers can exist per priority level. The HARQ process checks
the priority (Queue ID) included in the MAC-hs PDU and delivers this MAC-hs PDU to
the reordering buffer according to the priority. The data block delivered to the reordering
buffer is then delivered to the upper layer when all of the previous data blocks are
successfully received. However, when one or more previous data blocks are not successfully
received and delivered to the upper layer, the data block is stored in the reordering
buffer. That is, the reordering buffer must support in-sequence delivery of data blocks
to the upper layer. A data block that is not delivered to the upper layer is stored
in the reordering buffer.
[0034] To illustrate the foregoing, Figure 5 shows that when the MAC-hs PDU with TSN=14
is received but the MAC-hs PDU with TSN=13 is not received, the MAC-hs PDU with TSN=14
is stored in the reordering buffer (420) until the MAC-hs PDU with TSN=13 is received.
When the MAC-hs PDU with TSN=13 is received, both data blocks are delivered to the
upper layer in the order of TSN=13 and TSN=14. When the data blocks are delivered
to the upper layer, they are disassembled in units of MAC-d PDUs and are delivered
as described above.
[0035] However, during the transmission of data via radio (wireless) channels, certain PDUs
may not be properly delivered from the OUTRAN to the UE despite numerous retransmissions.
Particular MAC-hs PDUs that that are not delivered for a prolonged period of time
causes the problems of degrading transmission efficiency of the HSDPA system. That
is, although the HSDPA system was developed for high speed data communications, if
one MAC-hs PDU is not properly received for a long time or permanently, this causes
many subsequent MAC-hs PDUs remain in the MAC-hs buffer for a prolonged period of
time without delivery, and thus the overall data transmission efficiency deteriorates
and undermines the reasons for employing a HSDPA system.
[0036] In order to prevent the stalling of the MAC-hs PDUs, the HSDPA has adopted a stall
avoidance method employing a window technique.
[0037] Before explaining the window-based stall avoiding method, the operation environment
parameters used for the reordering buffer will first be explained.
[0038] The next-expected TSN (referred to as NET hereafter) refers to the immediately subsequent
value after the TSN of the last PDU of the sequentially received MAC-hs PDUs. Namely,
the NET refers to the TSN of the first MAC-hs PDU to be subsequently received in-sequence.
Whenever a PDU having a TSN that equals the NET is received, the NET is updated. The
initial NET value is set to zero (0).
[0039] The end point of the receive window (RcvWindow_UpperEdge) refers to the largest TSN
value in the receive window of the reordering buffer. When a MAC-hs PDU first arrives
at the receiving side, the end point (i.e., upper edge) is set as the value corresponding
to the largest TSN among those of the received PDUs. The initial value of the upper
edge of the receive window is set to 63.
[0040] The start point of the receiver window (RcvWindow_LowerEdge) refers to the smallest
TSN value in the receiver window of the reordering buffer. The start point (i.e.,
lower edge) of the receiver window can be calculated by subtracting the receiver window
size from the end point of the receiver window and adding 1 thereto (RcvWindow_LowerEdge
= RcvWindow_UpperEdge - receiver window size +1).
[0041] The receiver window prescribes (regulates) the TSN values of the MAC-hs DUs that
may be received when the window position does not change. The receiver window includes
the TSN values from the lower edge to the upper edge of the receiver window.
[0042] The size of the receiver window (Receive_Window_Size) refers to the range of the
receiver window, and is established by an upper layer of the MAC entity.
[0043] In a window based stall avoidance method, the receiving side moves (updates) the
receiver window upon receiving a MAC-hs PDU having a TSN that is larger than the RcvWindow_UpperEdge.
For those MAC-hs PDUs with a TSN that is smaller than the RcvWindow_LowerEdge of the
updated receiver window, the receiving side no longer waits (i.e., ends reception
stand-by) for those MAC-hs PDUs that have not yet been received and the MAC-hs PDUs
previously received and stored in the reordering buffer are delivered (transferred)
to the upper layers, such that stall situations for the MAC-hs PDUs can be prevented.
[0044] Figure 6 depicts a more detailed operation, which can be summarized as follows:
[0045] In step 510, a MAC-hs PDU with a transmission sequence number (TSN) having the sequence
number (SN) (= a random number) value is received.
[0046] In step 520, the SN value is compared with the receiver window range, and if the
SN value is within the range, the following step 530 is performed, but if outside
the range, the following step 522 is performed.
[0047] In step 530, when the SN value falls within the receiver window range, this SN value
is compared with the NET, and it is checked as to whether the MAC-hs PDU corresponding
to this SN had been previously received. If this SN is smaller than the NET or if
the MAC-hs PDU corresponding to this SN had been previously received, the received
MAC-hs PDU (in step 510) is discarded (step 540). If this SN equals to or is greater
than the NET, and if the MAC-hs PDU corresponding to this SN had not been previously
received, the corresponding MAC-hs PDU is stored in the location indicated by the
SN value (step 550). Then, the following step 560 is performed.
[0048] In previous step 520, if the SN value falls outside the receiver window range, the
following steps (steps 522-528) are sequentially performed: The received MAC-hs PDU
is stored in the reordering buffer at a location indicated by the SN value that is
greater than the RcvWindow_UpperEdge, and the RcvWindow_UpperEdge value is updated
to the SN value. Then, among the MAC-hs PDUs stored in the reordering buffer, those
MAC-hs PDUs having a TSN value that is smaller than the RcvWindow_LowerEdge are delivered
from the reordering buffer to a disassembly block. Also, the NET is updated to be
the RcvWindow_LowerEdge, and the following step 560 is performed.
[0049] In step 560, all the MAC-hs PDUs starting from the MAC-hs PDU having a TSN=NET and
up to the MAC-hs PDU that immediately precedes the first MAC-hs PDU that has not been
received, are delivered to the disassembly block. Here, "the first MAC-hs PDU that
has not been received" refers to the MAC-hs PDU having the smallest TSN among all
the not received MAC-hs PDUs having a TSN that is equal to or greater than the NET.
[0050] In step 570, the NET is updated to equal the TSN of the first not received MAC-hs
PDU of the previous step 560.
[0051] According to the related art stall avoidance method using a window, the receiving
side sets the NET value to 0 at the first initialization stage and the receiver window
upper edge is set to 63. Thus, assuming that if the receiver window size is 32, based
upon the definition of the receiver window, the initial receiver window is determined
to have TSN values from 32 to 63. For the first MAC-hs PDU transmitted from the transmitting
side, the TSN is set to 0 and for subsequently transmitted MAC-hs PDUs, the TSN values
of 1, 2, 3, etc. will be sequentially used. If there are no losses in the radio (wireless)
region, the very first MAC-hs PDU arriving at the receiving side would have a PDU
with TSN=0.
[0052] However, because this MAC-hs PDU is located outside the receiver window defined previously,
the receiving side advances the receiver window according to the TSN of the MAC-hs
PDU. Thus, according to Figure 6, the re-established (updated) receiver window is
set to have a TSN from 33 to 0. Also, even though the receiving side actually expects
to receive a MAC-hs PDU with TSN=1 (i.e., NET=1), there is a problem with the related
art because the NET will be set to 33.
[0053] Additionally, an even greater problem occurs because even though a received MAC-hs
PDU can be immediately delivered to the upper layer, such MAC-hs PDUs are not delivered
to the upper disassembly block, but are accumulated in the reordering buffer, thus
causing unnecessary delivery delays. Here, in order to deliver the MAC-hs PDU to the
upper layer, all of the MAC-hs PDUs having a TSN that is smaller than the receiver
window lower edge value (i.e., those MAC-hs PDUs with TSN=33 through 63) must be received,
or alternatively, if the receiver window is moved due to a subsequently received MAC-hs-PDU,
and the MAC-hs PDU with TSN=0 must be located at a point smaller (less) than the receiver
window lower edge. This situation will also occur whenever a MAC-hs PDU having a relatively
small TSN (such as TSN=0, 1, 2, 3, etc.) arrives at the receiving side during the
initial operation of the receiver window. Accordingly, those MAC-hs PDUs that are
sequentially received and that can be delivered to the upper layer unnecessarily remain
in the reordering buffer to thus cause undesirable delivery delay situations.
[0054] Such unnecessary delivery delay situations do not only occur during the initial stages
of HSDPA system operation.
[0055] If all the MAC-hs PDUs falling within the receiver window were properly received,
the receiver window does not move and the NET is updated to be RcvWindow_UpperEdge
+ 1. When the NET refers to RevWindow_UpperEdge + 1, and a MAC-hs PDU with NET= Rcv
Window Upper Edge + 1 arrives at the receiving side, the receiving side newly adjusts
the receiver window range (because this MAC-hs PDU falls outside the current receiver
window range) such that the NET is updated to RcvWindow_LowerEdge, and this received
MAC-hs PDU is stored in the reordering buffer. Even though this PDU was sequentially
received and can thus be immediately delivered to the upper layer, the receiver window
operation according to the related art does not deliver this MAC-hs PDU to the disassembly
block, but stores it in the reordering buffer, causing an unnecessary delivery delay
situation.
[0056] The above problematic situation is caused by the NET value being outside the receiver
window. Also, the previously explained problem during the initial operation at the
receiving side is caused by the NET value being outside the receiver window, whereby
NET=0 but the receiver window range is set as TSN=32 to 63.
[0057] Whenever the NET value falls outside the receiver window, the receiving side stores
the received MAC-hs PDU in the reordering buffer even though such may be immediately
delivered to the upper layer, resulting in a delay in delivering the MAC-hs PDU.
[0058] Such delivery delays cause errors in the upper layer and/or result in severe service
quality degradation.
[0059] EP 1 343 267 A2 relates to a wireless communication system. A lossless serving radio network subsystem
relocation is only applicable, when a RLC is configured for in-sequence delivery and
acknowledged mode. The support of lossless serving radio network subsystem relocation
is configured by another layer. Packet data convergence protocol sequence numbering
shall be applied when lossless serving radio network subsystem relocation is supported.
Packet data convergence protocol sequence numbers serve to acknowledge previously
transmitted packet data convergence protocol service data units prior to relocation.
The value of the packet data convergence protocol sequence number ranges from 0 to
65535. The packet data convergence protocol sequence number window size indicates
the maximum number of packet data convergence protocol service data units, not confirmed
to have been successfully transmitted to the peer entity by the RLC layer that can
be numbered at any given time. The packet data convergence protocol sequence number
window size is configured by upper layers. The packet data convergence protocol sequence
numbers are set to "zero" when the PDCP entity is set-up for the first time.
Disclosure of Invention
[0060] Technical Solution
[0061] A gist of the present invention involves the recognition by the present inventors
of the drawbacks in the related art. Namely, the present invention has been developed
to address and/or solve the problems of the related art, such that the NET value always
falls within the receiver window to prevent unnecessary delivery delays of MAC-hs
PDUs that occur in the related art, in order to achieve rapid data transmission capabilities
for a HSDPA system.
[0062] The object of the present invention is achieved by a method according to claim 1
or 37 and an apparatus according to claim 15.
[0063] An exemplary method adjusts the initial range of the receiver window such that the
NET falls within the receiver window from the start of protocol operations. If the
NET or receiver window is updated and the NET falls outside the receiver window, the
NET or receiver window is re-updated such that the NET again falls within the receiver
window. More specifically, the initial value of the receiver window upper edge is
not set to be 63, but changed to 0 (such as the NET value) such that the NET falls
within the receiver window range. Also, upon updating of the receiver window, if the
NET value becomes smaller than the receiver window lower edge, the NET is re-updated
to the TSN value of the receiver window lower edge, and if the NET value becomes larger
than the receiver window upper edge, the NET is re-updated to the TSN value of the
receiver window upper edge.
[0064] Here, it should be noted that if the NET becomes greater than the receiver window
upper edge due to the initial protocol operation or upon NET updating, the non-limiting
exemplary embodiment of the present invention provides that the receiver window upper
edge is to be set as the NET. However, this is not mandatory, as the receiver window
may be updated to various appropriate positions as long as the NET falls within the
receiver window range. Namely, the setting of the receiver window upper edge to equal
the NET is merely one example, as the receiver window lower edge may be set as the
NET, and other values within the receiver window range may also be set as the NET.
Description of Drawings
[0065] The features and advantages of the present invention will become more apparent from
the following detailed description of the non-limiting exemplary embodiment(s) of
the invention taken in conjunction with the drawings.
Figure 1 depicts a general UMTS network, architecture.
Figure 2 depicts a radio (wireless) protocol structure.
Figure 3 depicts a radio interface protocol structure for supporting a HSDPA system.
Figure 4 depicts a MAC architecture in the UE for supporting HSDPA
Figure 5 depicts an example of a process for transmitting and receiving MAC-hs PDUs
in a HSPDA system.
Figure 6 depicts a window-based stall avoidance method according to the related art.
Figure 7 depicts a window-based stall avoidance method according to one non-limiting
exemplary embodiment of the present invention.
Figure 8 depicts an exemplary situation where the NET has become smaller than the
receiver window lower edge value, according to one non-limiting exemplary embodiment
of the present invention.
Figure 9 depicts an exemplary situation where all PDUs within the receiver window
have been successfully received and the NET is greater than the receiver window upper
edge value, according to one non-limiting exemplary embodiment of the present invention.
Mode for Invention
[0066] The present invention is described as being implemented in a W-CDMA mobile communications
system. However, the present invention may also be adapted and implemented in communications
systems operating under other types of communications.
[0067] A non-limiting exemplary embodiment of the present invention is depicted in Figure
7, which is an improvement over the related art procedures shown in Figure 6
[0068] In step 610, a MAC-hs PDU with a transmission sequence number (TSN) having the sequence
number (SN) (= a random number) value is received.
[0069] In step 620, the SN value is compared with the receiver window range, and if the
SN value is within the range, the following step 630 is performed, but if outside
the range, the following step 622 is performed.
[0070] In step 630, when the SN value falls within the receiver window range, this SN value
is compared with the NET, and it is checked as to whether the MAC-hs PDU corresponding
to this SN had been previously received. If this SN is smaller than the NET or if
the MAC-hs PDU corresponding to this SN had been previously received, the received
MAC-hs PDU (in step 610) is discarded (step 640). If this SN equals to or is greater
than the NET, and if the MAC-hs PDU corresponding to this SN had not been previously
received, the corresponding MAC-hs PDU is stored in the reordering buffer at a location
indicated by the SN value (step 650). Then, the following step 660 is performed.
[0071] In previous step 620, if the SN value falls outside the receiver window range, the
following steps (622-628) are sequentially performed: The received MAC-hs PDU is stored
in the reordering buffer at a location indicated by the SN value that is greater than
the RcvWindow_UpperEdge, and the RcvWindow_UpperEdge value is updated to the SN. Then,
among the MAC-hs PDUs stored in the reordering buffer, those MAC-hs PDUs having a
TSN that is smaller than the RcvWindow_LowerEdge are delivered from the reordering
buffer to a disassembly block. Also, the NET is compared with the RcvWindow_LowerEdge,
and the NET is updated to be the RcvWindow_LowerEdge only when the NET is smaller
than the RcvWindow_LowerEdge, and then the following step 660 is performed.
[0072] In step 660, all the MAC-hs PDUs starting from the MAC-hs PDU having a TSN=NET and
up to the MAC-hs PDU that immediately precedes the first MAC-hs PDU that has not been
received, are delivered to the disassembly block. Here, "the first MAC-hs PDU that
has not been received" refers to the MAC-hs PDU having the smallest TSN among all
the not received MAC-hs PDUs having a TSN that is equal to or greater than the NET.
[0073] In step 670, the NET is updated to equal the TSN of the first not received MAC-hs
PDU of the previous step 660.
[0074] In step 680, the updated NET is compared with the receiver window upper edge value,
and the receiver window is updated (step 690) only if the NET is greater than the
receiver window upper edge value so that the receiver window upper edge value is matched
with the NET, and the steps are completed.
[0075] In the above step 690, when the receiver window is updated, the receiver window upper
edge can be set as the NET, but also, other points within the receiver window range
can be set as the NET to achieve updating.
[0076] Figure 8 depicts the situation where the receiver window is moved due to the reception
of a new PDU and the NET is smaller than the receiver window lower edge. Here, the
exemplary situation assumes the receiver window size to be 5, the NET=4, and a MAC-hs
PDU with TSN=10 is received, while a MAC-hs PDU with TSN=5 and a MAC-hs PDU with TSN=7
have already been received.
[0077] During the situation shown in Figure 8-(a), a MAC-hs PDU with TSN=10 arrives. Here,
because the PDU with TSN=10 falls outside the receiver window, the receiver window
is moved as shown in Figure 8-(b).
[0078] Any previously received PDU that falls outside the moved receiver window (i.e., a
received PDU with TSN < RcvWindow_LowerEdge) due to the receiver window movement,
namely, the MAC-hs PDU with TSN=5, is delivered to the upper layer. Also, because
the NET is smaller than the receiver window lower edge value (i.e., NET < 6), the
NET is updated to 6 as shown in Figure 8-(c).
[0079] Figure 9 depicts the situation where all PDUs within the receiver window have been
successfully received and the NET is greater than the receiver window upper edge value.
Here, it is also assumed that the receiver window size is 5, the NET=4, and a MAC-hs
PDU with TSN=4 is received while the MAC-hs PDUs with TSN=5, 6, 7, 8 have been received.
[0080] During the situation shown in Figure 9-(a), a MAC-hs PDU with TSN=4 arrives. This
MAC-hs PDU with TSN=4 is stored at position 4 in the reordering buffer as shown in
Figure 9-(b), and those PDUs starting from the MAC-hs PDU with TSN=4 up to the MAC-hs
PDU with TSN=8 (which is the MAC-hs PDU just prior to the first MAC-hs PDU that has
not yet been received (i.e., MAC-hs PDU with TSN=9)) are delivered to the disassembly
block. Also, the NET is updated to 9.
[0081] As in Figure 9-(c), if the NET is greater than the receiver window upper edge value,
the receiver window upper edge value is updated to the NET, and the receiver window
is moved as shown in Figure 9-(d).
[0082] When using the related art for HSDPA, even if the UE could immediately deliver the
received MAC-hs PDU to the upper layer, prolonged storage in the reordering buffer
causes unnecessary data delivery delays to occur. However, when the UE employs the
present invention to update the NET value and the receiver window, and processes the
MAC-hs PDUs accordingly, unnecessary data delivery delays are prevented, and thus
data transmission errors can be avoided and high speed data transmissions are made
possible.
[0083] The present invention provides a method of handling data blocks, comprising: receiving
data blocks associated with a sequence number; processing the received data blocks
in a receiver window; comparing a next-expected transmission sequence number (NET)
with a range of the receiver window; and setting the NET or the receiver window such
that the NET is within the receiver window, if the NET is found to be outside that
range of the receiver window as a result of the comparison.
[0084] In the above method, the NET is a transmission sequence number (TSN) following the
TSN of the last in-sequence data block received. Here, the TSN is an identifier for
the transmission sequence number on the HS-DSCH, and the TSN is used for reordering
purposes to support in-sequence delivery to a higher layer.
[0085] If the NET is above a receiver window upper edge, the NET is set as the receiver
window upper edge, or the NET is set as any appropriate position within the receiver
window range. If the NET is above the receiver window, the receiver window is updated
to any appropriate position as long as the NET falls within the receiver window range.
[0086] If the NET is below a receiver window lower edge, the NET is set as the receiver
window lower edge. If the NET is below the receiver window, setting the NET = receiver
window upper edge value - receiver window size + 1. Here, the NET is a variable managed
by the receiving side, and the NET is updated upon the delivery to the disassembly
entity of the data block with TSN equal NET. In the above method, the initial value
of the NET is zero (0), and the data blocks are MAC-hs PDUs (protocol data units).
[0087] In the above method, the steps are performed for a HSDPA (high-speed downlink packet
access) system, and the steps are performed to avoid stall conditions. Also, if the
received data block associated with the sequence number had been previously received,
the received data block is discarded.
[0088] The present invention also provides a method of processing data blocks, comprising:
a first step of receiving a data block (PDU) having a sequence number (SN); a second
step of comparing the SN with a receiver window range; a third step of delivering
certain PDUs stored in the buffer, starting from the PDU having the NET up to the
PDU just prior to the PDU not yet received, to a disassembly block; and a fourth step
of updating the NET to equal the SN of the first PDU not yet received.
[0089] In the second step, if the SN is within the receiver window range, and if SN < NET
(a next expected SN) or the PDU had been previously received, then discarding the
PDU, and processing is ended, but if SN (NET or the PDU had not been previously received,
then storing the PDU in a buffer at location specified by the SN, and proceeding to
a third step.
[0090] If the SN is not within the receiver window range, storing the PDU in a buffer at
the location specified by the SN, updating the receiver window such that its upper
edge = SN, delivering all PDUs with SN < a lower edge of the receiver window to a
disassembly block, and checking whether the NET < the lower edge of the receiver window;
if so, updating the NET to equal the lower edge of the receiver window, and proceeding
to a third step, if not, proceeding to a third step.
[0091] The above method further comprising: after the fourth step, checking whether the
updated NET > the upper edge of the receiver window, if so, setting the NET = the
upper edge of the receiver window, and if not, processing is ended or repeating the
procedures from the first step.
[0092] To implement the above procedures, the present invention can employ various types
of hardware and/or software components (modules). For example, different hardware
modules may contain various circuits and components necessary to perform the steps
of the above method. Also, different software modules (executed by processors and
other hardware) may contain various codes and protocols necessary to perform the steps
of the above method.
[0093] Namely, as shown in Figures 1 through 5, the present invention provides an apparatus
to handle data blocks, comprising: a receiving module to receive data blocks associated
with a sequence number; a processing module to process the received data blocks in
a receiver window; a comparing module to compare a next-expected transmission sequence
number (NET) with a range of the receiver window; and a setting module to set the
NET or the receiver window such that the NET is within the receiver window, if the
NET is found to be outside that range of the receiver window as a result of the comparison
by the comparing module.
[0094] Preferably, the modules are part of a MAC entity. Preferably, the modules are part
of a MAC-hs entity. Preferably, the modules are part of a mobile station, a wireless
handset, a network, a base station, a Node B or a RNC (radio network controller).
Industrial Applicability
[0095] Certain embodiments of the present invention can be applied to a mobile communications
system, such as a HSDPA (High-Speed Downlink Packet Access) system in a UMTS (Universal
Mobile Telecommunications System), and the disclosed methods and apparatuses can be
part of a MAC entity, preferably, part of a MAC-hs entity, for a mobile station, a
wireless handset, a network, a base station, a Node B or a RNC (radio network controller).
1. A method of handling data blocks in a mobile communications system, the method comprising:
receiving a data block associated with a sequence number (610);
determining whether the sequence number of the received data block is outside a receiver
window (620);
updating the receiver window when the sequence number of the received data block is
outside the receiver window (624);
comparing a next-expected transmission sequence number, NET, with a range of an updated
receiver window (627); and
setting the NET equal to an updated receiver window upper edge - receiver window size
+ 1 such that the NET is within the updated receiver window, if the NET is below the
updated receiver window (628).
2. The method of claim 1, wherein the NET is a transmission sequence number, TSN, following
the TSN of the last in-sequence data block received.
3. The method of claim 2, wherein the TSN is an identifier for the transmission sequence
number on a High Speed Downlink Shared Channel, HS-DSCH.
4. The method of claim 2, wherein the TSN is used for reordering purposes to support
in-sequence delivery to a higher layer.
5. The method of any one of the claims 1 to 4, wherein if the NET is above the updated
receiver window upper edge, the NET is set as the updated receiver window upper edge
(680).
6. The method of any one of the claims 1 to 5, wherein if the NET is above the updated
receiver window upper edge, the NET is set as any appropriate position within the
range of the updated receiver window.
7. The method of any one of the claims 1 to 6, wherein if the NET is above the updated
receiver window, the receiver window is advanced to any appropriate position within
the range of the updated receiver window.
8. The method of any one of claims 1 to 7, wherein the NET is a variable managed by a
receiving side.
9. The method of any one of claims 1 to 8, wherein the NET is updated upon a delivery
to a disassembly entity of a data block with TSN equal NET.
10. The method of any one of claims 1 to 9, wherein the initial value of the NET is zero.
11. The method of any one of claims 1 to 10, wherein the data block is a MAC-hs, Medium
Access Control-high speed, protocol data unit.
12. The method of any one of claims 1 to 11, wherein the steps are performed for a high-speed
downlink packet access, HSDPA, system.
13. The method of any one of claims 1 to 12, wherein the steps are performed to avoid
stall conditions.
14. The method of any one of claims 1 to 13, wherein if the received data block associated
with the sequence number had been previously received, the received data block is
discarded.
15. An apparatus to handle data blocks in a mobile communications system, the apparatus
comprising:
a receiving module adapted to receive a data block associated with a sequence number;
determining module adapted to determine whether the sequence number of the received
data block is outside a receiver window;
an updating module adapted to update the receiver window when the sequence number
of the received data block is outside of the receiver window;
a comparing module adapted to compare a next-expected transmission sequence number,
NET, with a range of an updated receiver window; and
a setting module to set the NET equal to an updated receiver window upper edge - receiver
window size + 1 such that the NET is within the updated receiver window, if the NET
is below the updated receiver window.
16. The apparatus of claim 15, wherein the NET, which is handled by the modules, is a
transmission sequence number, TSN, following the TSN of the last in-sequence data
block received.
17. The apparatus of claim 16, wherein the TSN is an identifier for the transmission sequence
number on a High Speed Downlink Shared Channel.
18. The apparatus of claim 16 or 17, wherein the TSN is used for reordering purposes to
support in-sequence delivery to a higher layer.
19. The apparatus of any one of claims 15 to 18, wherein if the NET is above the updated
receiver window upper edge, the NET is set as the updated receiver window upper edge.
20. The apparatus of any one of claims 15 to 19, wherein if the NET is above the updated
receiver window upper edge, the NET is set as any appropriate position within the
range of the updated receiver window.
21. The apparatus of any one of claims 15 to 20, wherein if the NET is above the updated
receiver window, the receiver window is advanced to any appropriate position within
the range of the updated receiver window.
22. The apparatus of any one of claims 15 to 21, wherein the NET, which is handled by
the modules, is a variable managed by a receiving side.
23. The apparatus of any one of claims 15 to 22, wherein the NET is updated upon the delivery
to a disassembly entity of a data block with TSN equal to NET.
24. The apparatus of any one of claims 15 to 23, wherein the initial value of the NET
is zero.
25. The apparatus of any one of claims 15 to 24, wherein the data block is a MAC-hs, Medium
Access Control-high speed, protocol data unit.
26. The apparatus of any one of claims 15 to 25, wherein the modules operate for a high-speed
downlink packet access system.
27. The apparatus of any one of claims 15 to 26, wherein the modules operate to avoid
stall conditions.
28. The apparatus any one of claims 15 to 27, wherein if the received data block associated
with the sequence number had been previously received, the received data block is
discarded.
29. The apparatus of any one of claims 15 to 28, wherein the modules are part of a MAC,
Medium Access Control, entity.
30. The apparatus of any one of claims 15 to 29, wherein the modules are part of a MAC-hs,
Medium Access Control-high speed, entity.
31. The apparatus of any one of claims 15 to 30, wherein the modules are implemented in
a mobile station.
32. The apparatus of any one of claims 15 to 30, wherein the modules are part of a wireless
handset.
33. The apparatus of any one of claims 15 to 30, wherein the modules are part of a network.
34. The apparatus of any one of claims 15 to 30, wherein the modules are part of a base
station.
35. The apparatus of any one of claims 15 to 30, wherein the modules are part of a Node
B.
36. The apparatus of any one of claims 15 to 30, wherein the modules are part of a radio
network controller, RNC.
37. A method of processing data blocks in a mobile communications system, the method comprising:
receiving a protocol data unit, PDU, having a sequence number, SN, (610);
comparing the SN with a receiver window range (620),
if the SN is within the receiver window range,
and if SN<NET, i.e. a next expected SN, or the PDU had been previously received (630),
then
discarding the PDU, and terminating processing (640),
if SN≥NET or the PDU had not been previously received (630), then storing the PDU
in a buffer at location specified by the SN, and proceeding to a next step (650),
if the SN is not within the receiver window range,
storing the PDU in a buffer at the location specified by the SN (622),
updating the receiver window such that the receiver window upper edge=SN (624),
delivering all PDUs with SN<a lower edge of the receiver window to a disassembly block
(626), and
checking whether the NET<the lower edge of the receiver window (627);
if the NET is less than the lower edge of the receiver window, updating the NET to
equal the lower edge of the receiver window, and proceeding to a next step (628),
if the NET is not less than the lower edge of the receiver window, proceeding to a
next step;
delivering certain PDUs stored in the buffer, starting from the PDU having a value
equal to the NET up to a PDU just prior to a PDU not yet received, to a disassembly
block (660); and
updating the NET to equal the SN of the first PDU not yet received (670).
38. The method of claim 37, further comprising: after updating the NET, checking whether
the updated NET>the upper edge of the receiver window; if the NET is greater than
the upper edge of the receiver window, setting the NET=the upper edge of the receiver
window; and if the NET is not greater than the upper edge of the receiver widow, terminating
processing or repeating the procedures from receiving a PDU step.
39. The method of claim 38, wherein the NET is a transmission sequence number, TSN, following
the TSN of the last in-sequence data unit received.
40. The method of claim 39, wherein the TSN is an identifier for the transmission sequence
number on a High Speed Downlink Shared Channel.
41. The method of claim 40, wherein the TSN is used for reordering purposes to support
in-sequence delivery to a higher layer.
42. The method of claim 40, wherein if the NET is above the receiver window upper edge,
the NET is set as any appropriate position within the receiver window range.
43. The method of claim 40, wherein if the NET is above the receiver window, the receiver
window is advanced to any appropriate position as long as the NET falls within the
receiver window range.
44. The method of claim 40, wherein the NET is updated upon the delivery to a disassembly
entity of a data block unit TSN equal to the NET.
45. The method of claim 40, wherein the initial value of the NET is zero.
1. Verfahren zum Handhaben von Datenblöcken in einem mobilen Kommunikationssystem, wobei
das Verfahren aufweist:
Empfangen eines Datenblocks, der einer Sequenznummer (610) zugeordnet ist;
Bestimmen, ob sich die Sequenznummer des empfangenen Datenblocks außerhalb eines Empfängerfensters
(620) befindet;
Aktualisieren des Empfängerfensters, wenn sich die Sequenznummer des empfangenen Datenblocks
außerhalb des Empfängerfensters (624) befindet;
Vergleichen einer als nächstes erwarteten Sendesequenznummer, NET, mit einem Bereich
eines aktualisierten Empfängerfensters (627); und
Festlegen der NET gleich einem oberen Rand des aktualisierten Empfängerfensters -
Empfängerfenstergröße + 1, so dass sich die NET innerhalb des aktualisierten Empfängerfensters
befindet, falls sich die NET unterhalb des aktualisierten Empfängerfensters (628)
befindet.
2. Verfahren nach Anspruch 1, wobei die NET eine Sendesequenznummer, TSN, ist, die der
TSN des letzten in Sequenz empfangenen Datenblocks folgt.
3. Verfahren nach Anspruch 2, wobei die TSN eine Kennzeichnung für die Sendesequenznummer
bei einem "High Speed Downlink Shared Channel", HS-DSCH, d. h. einem gemeinsam verwendeten
Hochgeschwindigkeitsabwärtsverbindunskanal, ist.
4. Verfahren nach Anspruch 2, wobei die TSN für Aufzeichnungszwecke verwendet wird, um
die Bereitstellung in Sequenz an eine höhere Schicht zu unterstützen.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei, falls sich die NET oberhalb des
oberen Randes des aktualisierten Empfängerfensters befindet, die NET als der obere
Rand des aktualisierten Empfängerfensters festgelegt wird (680).
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei, falls sich die NET oberhalb des
oberen Randes des aktualisierten Empfängerfensters befindet, die NET als eine beliebige
geeignete Position innerhalb des Bereichs des aktualisierten Empfängerfensters festgelegt
wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei, falls sich die NET oberhalb des
aktualisierten Empfängerfensters befindet, das Empfängerfenster auf eine beliebige
geeignete Position innerhalb des Bereichs des aktualisierten Empfängerfensters vorverlegt
wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die NET eine Variable ist, die empfangsseitig
verwaltet wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die NET beim Liefern eines Datenblocks
an eine Disassemblier-Entitität aktualisiert wird, wobei TSN = NET ist.
10. Verfahren nach einem der Ansprüche 1 bis 9, wobei der Anfangswert der NET null ist.
11. Verfahren nach einem der Ansprüche 1 bis 10, wobei der Datenblock eine MAC-hs-Protokolldateneinheit,
Medium Access Control-High Speed-Protokolldateneinheit, ist, d. h. eine Hochgeschwindigkeits-Mediumzugangsteuerungsprotokolldateneinheit
ist.
12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die Schritte für ein High-Speed-Downlink-Packet-Access-System,
HSDPA-System, durchgeführt werden, d. h. ein Hochgeschwindigkeitsabwärtsverbindungs-Paketzugangssystem.
13. Verfahren nach einem der Ansprüche 1 bis 12, wobei die Schritte durchgeführt werden,
um Absturtzzustände zu vermeiden.
14. Verfahren nach einem der Ansprüche 1 bis 13, wobei, falls der Empfangsdatenblock,
der der Sequenznummer zugeordnet ist, zuvor empfangen wurde, der empfangene Datenblock
verworfen wird.
15. Vorrichtung zum Handhaben von Datenblöcken in einem mobilen Kommunikationssystem,
wobei die Vorrichtung aufweist:
ein Empfangsmodul, das dazu ausgebildet ist, einen Datenblock zu empfangen, der einer
Sequenznummer zugeordnet ist;
ein Bestimmungsmodul, das dazu ausgebildet ist, zu bestimmen, ob sich die Sequenznummer
des empfangenen Datenblocks außerhalb eines Empfängerfensters befindet;
ein Aktualisierungsmodul, das dazu ausgebildet ist, das Empfängerfenster zu aktualisieren,
wenn sich die Sequenznummer des empfangenen Datenblocks außerhalb des Empfängerfensters
befindet;
ein Vergleichsmodul, das dazu ausgebildet ist, eine als nächstes erwartete Sendesequenznummer,
NET, mit einem Bereich eines aktualisierten Empfängerfensters zu vergleichen; und
ein Festlegungsmodul, um die NET gleich einem oberen Rand eines aktualisierten Empfängerfensters
- der Empfängerfenstergröße + 1 festzulegen, so dass sich die NET innerhalb des aktualisierten
Empfängerfensters befindet, falls sich die NET unterhalb des aktualisierten Empfängerfensters
befindet.
16. Vorrichtung nach Anspruch 15, wobei die NET, die durch die Module gehandhabt wird,
eine Sendesequenznummer, TSN, ist, die der TSN des letzten in Sequenz empfangenen
Datenblocks folgt.
17. Vorrichtung nach Anspruch 16, wobei die TSN ein Kennzeichner für die Sendesequennummer
eines High Speed Downlink Shared Channels, d. h. eines gemeinsam verwendeten Hochgeschwindigkeits-Abwärtsverbindungs-Kanals,
ist.
18. Vorrichtung nach Anspruch 16 oder 17, wobei die TSN zu Wiederordnungszwecken verwendet
wird, um die Lieferung an eine höhere Schicht in Sequenz zu unterstützen.
19. Vorrichtung nach einem der Ansprüche 15 bis 18, wobei, falls sich die NET oberhalb
des oberen Randes des aktualisierten Empfängerfensters befindet, die NET als der obere
Rand des aktualisierten Empfängerfensters festgelegt wird.
20. Vorrichtung nach einem der Ansprüche 15 bis 19, wobei, falls sich die NET oberhalb
des oberen Randes des aktualisierten Empfängerfensters befindet, die NET als eine
beliebige geeignete Position innerhalb des Bereichs des aktualisierten Empfängerfensters
festgelegt wird.
21. Vorrichtung nach einem der Ansprüche 15 bis 20, wobei, falls sich die NET oberhalb
des aktualisierten Empfängerfensters befindet, das Empfängerfenster auf eine geeignete
Position innerhalb des Bereichs des aktualisierten Empfängerfensters vorgerückt wird.
22. Vorrichtung nach einem der Ansprüche 15 bis 21, wobei die NET, die durch die Module
gehandhabt wird, eine Variable ist, die empfangsseitig verwaltet wird.
23. Vorrichtung nach einem der Ansprüche 15 bis 22, wobei die NET beim Liefern eines Datenblocks
an eine Disassemblier-Entität aktualisiert wird, wobei TSN gleich NET ist.
24. Vorrichtung nach einem der Ansprüche 15 bis 23, wobei der Anfangswert der NET null
ist.
25. Vorrichtung nach einem der Ansprüche 15 bis 24, wobei der Datenblock eine MAC-hs-Protokolldatenheinheit,
Medium Access Control-High Speed-Protokolldateneinheit, ist, d. h. eine Hochgeschwindigkeits-Mediumzugangssteuerungs-Protokolldateneinheit.
26. Vorrichtung nach einem der Ansprüche 15 bis 25, wobei die Module für ein High-Speed
Downlink Packet Access System, d. h. ein Hochgeschwindigkeits-Abwärtsverbindungs-Paketdatenzugangssystem,
arbeiten.
27. Vorrichtung nach einem der Ansprüche 15 bis 26, wobei die Module so arbeiten, dass
Absturzzustände vermieden werden.
28. Vorrichtung nach einem der Ansprüche 15 bis 27, wobei, falls der empfangene Datenblock,
der einer Sequenznummer zugeordnet ist, zuvor empfangen wurde, der empfangene Datenblock
verworfen wird.
29. Vorrichtung nach einem der Ansprüche 15 bis 28, wobei die Module Teil einer MAC-Entitität,
Medium Access Control-Entitität, sind, d. h. einer MediumZugangssteuerungs-Entitität.
30. Vorrichtung nach einem der Ansprüche 15 bis 39, wobei die Module Teil einer MAC-hs-Entitität,
Medium Access Control-High Speed-Entitität, sind, d. h. einer Hochgeschwindigkeits-Mediumzugangssteuerungs-Entitität.
31. Vorrichtung nach einem der Ansprüche 15 bis 30, wobei die Module in einer mobilen
Station implementiert sind.
32. Vorrichtung nach einem der Ansprüche 15 bis 30, wobei die Module Teil eines drahtlosen
Handapparats sind.
33. Vorrichtung nach einem der Ansprüche 15 bis 30, wobei die Module Teil eines Netzwerkes
sind.
34. Vorrichtung nach einem der Ansprüche 15 bis 30, wobei die Module Teil einer Basisstation
sind.
35. Vorrichtung nach einem der Ansprüche 15 bis 30, wobei die Module Teil eines Node B,
d.h. Knoten B, sind.
36. Vorrichtung nach einem der Ansprüche 15 bis 30, wobei die Module Teil einer Funknetzwerksteuerungseinrichtung,
RNC, sind.
37. Verfahren zum Verarbeiten von Datenblöcken in einem mobilen Kommunikationssystem,
wobei das Verfahren folgendes aufweist:
Empfangen einer Protokolldateneinheit, PDU, mit einer Sequenznummer, SN, (610);
Vergleichen der SN mit einem Empfängerfensterbereich (620),
falls sich die SN innerhalb des Empfängerfensterbereichs befindet,
und falls SN < NET ist, d.h. eine als nächstes erwartete SN oder die PDU wurde zuvor
empfangen wurde (630), dann
Verwerfen der PDU und Beenden der Verarbeitung (640),
falls SN ≥ NET oder die PDU zuvor nicht empfangen wurde (630), dann Speichern der
PDU in einem Puffer an einem Ort, der durch die SN angezeigt wird, und
Fortfahren zu einem nächsten Schritt (650),
falls sich die SN nicht innerhalb des Empfängerfensterbereichs befindet,
Speichern der PDU in einem Puffer an einem Ort, der durch die SN angegeben wird (622),
Aktualisieren des Empfängerfensters, so dass der obere Rand des Empfängerfensters
= SN ist (624),
Liefern aller PDUs mit SN < einem unteren Rand des Empfängerfensters zu einem Disassemblierblock
(626), und
Prüfen, ob die NET < dem unteren Rand des Empfängerfensters ist (627);
falls die NET niedriger als der untere Rand des Empfängerfensters ist, aktualisieren
der NET auf gleich dem unteren Rand des Empfängerfensters und Fortfahren zu einem
nächsten Schritt (628),
falls die NET nicht kleiner als der untere Rand des Empfängerfensters ist, Fortfahren
zu einem nächsten Schritt;
Liefern spezieller PDUs, die in dem Puffer gespeichert sind, beginnend von der PDU
mit einem Wert gleich der NET bis zu einer PDU, die sich gerade vor einer noch nicht
empfangenen PDU befindet, an einen Disassemblier-Block (660); und
Aktualisieren der NET auf gleich der SN der ersten PDU, die noch nicht empfangen wurde
(670).
38. Verfahren nach Anspruch 37, ferner aufweisend: nach dem Aktualisieren der NET, Prüfen,
ob die aktualisierte NET > dem oberen Rand des Empfängerfensters; falls die NET >
als der obere Rand des Empfängerfensters ist, Festlegen der NET = dem oberen Rand
des Empfängerfensters; und falls die NET nicht größer als der obere Rand des Empfängerfensters
ist, Beenden der Verarbeitung oder Wiederholen der Prozeduren vom Empfangen eines
PDU-Schrittes.
39. Verfahren nach Anspruch 38, wobei die NET eine Sendesequenznummer, TSN, ist, die der
TSN der letzten in Sequenz empfangenen Dateneinheit erfolgt.
40. Verfahren nach Anspruch 39, wobei die TSN eine Kennzeichnung für die Sendesequenznummer
eines High Speed Downlink Shared Channel, d.h. eines gemeinsam verwendeten Hochgeschwindigkeits-Abwärtsverbindung-Kanales,
ist.
41. Verfahren nach Anspruch 40, wobei die TSN zu Wiederordnungszwecken verwendet wird,
um die Lieferung in Sequenz an eine höhere Schicht zu unterstützen.
42. Verfahren nach Anspruch 40, wobei, falls sich die NET über dem oberen Rand des Empfängerfensters
befindet, die NET als eine geeignete Position innerhalb des Empfängerfensterbereichs
festgelegt wird.
43. Verfahren nach Anspruch 40, wobei, falls sich die NET oberhalb des Empfängerfensters
befindet, das Empfängerfenster auf eine geeignete Position vorgerückt wird, solange
die NET innerhalb des Bereichs des Empfängerfensters fällt.
44. Verfahren nach Anspruch 40, wobei die NET beim Liefern einer Datenblockeinheit an
eine Disassemblierungs-Entitität aktualisiert wird, wobei TSN gleich der NET ist.
45. Verfahren nach Anspruch 40, wobei der Anfangswert der NET null ist.
1. Procédé de gestion de blocs de données dans un système de communications mobile, le
procédé comprenant :
la réception d'un bloc de données associé avec un numéro de séquence (610);
la détermination si le numéro de séquence du bloc de données reçu est à l'extérieur
d'une fenêtre de récepteur (620) ;
la mise à jour de la fenêtre de récepteur lorsque le numéro de séquence du bloc de
données reçu est à l'extérieur de la fenêtre de récepteur (624) ;
la comparaison d'un numéro de séquence de transmission suivante attendue, NET,
avec une plage d'une fenêtre de récepteur mise à jour (627) ; et
la fixation de la NET égale à un bord supérieur de fenêtre de récepteur mise à jour
- taille de fenêtre de récepteur + 1 de façon à ce que la Net soit à l'intérieur de
la fenêtre de récepteur mise à jour, si la NET est en-dessous de la fenêtre de récepteur
mise à jour (628).
2. Procédé selon la revendication 1, dans lequel la NET est un numéro de séquence de
transmission, TSN, suivant le TSN du dernier bloc de données reçu en séquence.
3. Procédé selon la revendication 2, dans lequel le TSN est un identifiant pour le numéro
de séquence de transmission sur un Canal Partagé en Liaison Descendante Haut Débit,
HS-DSCH.
4. Procédé selon la revendication 2, dans lequel le TSN est utilisé à des fins de réordonnancement
pour supporter une délivrance en séquence à une couche supérieure.
5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel, si la NET est
au-dessus du bord supérieur de fenêtre de récepteur mise à jour, la NET est fixée
comme le bord supérieur de fenêtre de récepteur mise à jour (680).
6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel, si la NET est
au-dessus du bord supérieur de fenêtre de récepteur mise à jour, la NET est fixée
comme une quelconque position appropriée à l'intérieur de la plage de la fenêtre de
récepteur mise à jour.
7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel, si la NET est
au-dessus de la fenêtre de récepteur mise à jour, la fenêtre de récepteur est avancée
jusqu'à une quelconque position appropriée à l'intérieur de la plage de la fenêtre
de récepteur mise à jour.
8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel la NET est une
variable gérée par un côté de réception.
9. Procédé selon l'une quelconque des revendications 1 à 8, dans lequel la NET est mise
à jour à la délivrance à une entité de désassemblage d'un bloc de données avec un
TSN égal à la NET.
10. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel la valeur initiale
de la NET est zéro.
11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel le bloc de données
est une unité de données de protocole MAC-hs, Contrôle d'Accès au Support-haut débit.
12. Procédé selon l'une quelconque des revendications 1 à 11, dans lequel les étapes sont
mises en oeuvre pour un système d'accès par paquets en liaison descendante haut débit,
HSDPA.
13. Procédé selon l'une quelconque des revendications 1 à 12, dans lequel les étapes sont
mises en oeuvre pour éviter des conditions d'arrêt.
14. Procédé selon l'une quelconque des revendications 1 à 13, dans lequel, si le bloc
de données reçu associé avec le numéro de séquence a été précédemment reçu, le bloc
de données reçu est rejeté.
15. Appareil pour gérer des blocs de données dans un système de communications mobile,
l'appareil comprenant :
un module de réception adapté à recevoir un bloc de données associé avec un numéro
de séquence ;
un module de détermination adapté à déterminer si le numéro de séquence du bloc de
données reçu est à l'extérieur d'une fenêtre de récepteur ;
un module de mise à jour adapté à mettre à jour la fenêtre de récepteur lorsque le
numéro de séquence du bloc de données reçu est à l'extérieur de la fenêtre de récepteur
;
un module de comparaison adapté à comparer un numéro de séquence de transmission suivante
attendue, NET, avec une plage d'une fenêtre de récepteur mise à jour ; et
un module de fixation pour fixer la NET égale à un bord supérieur de fenêtre de récepteur
mise à jour - taille de fenêtre de récepteur + 1 de façon à ce que la Net soit à l'intérieur
de la fenêtre de récepteur mise à jour, si la NET est en-dessous de la fenêtre de
récepteur mise à jour.
16. Appareil selon la revendication 15, dans lequel la NET, qui est gérée par les modules,
est un numéro de séquence de transmission, TSN, suivant le TSN du dernier bloc de
données reçu en séquence.
17. Appareil selon la revendication 16, dans lequel le TSN est un identifiant pour le
numéro de séquence de transmission sur un Canal Partagé en Liaison Descendante Haut
Débit.
18. Appareil selon la revendication 16 ou 17, dans lequel le TSN est utilisé à des fins
de réordonnancement pour supporter une délivrance en séquence à une couche supérieure.
19. Appareil selon l'une quelconque des revendications 15 à 18, dans lequel, si la NET
est au-dessus du bord supérieur de fenêtre de récepteur mise à jour, la NET est fixée
comme le bord supérieur de fenêtre de récepteur mise à jour.
20. Appareil selon l'une quelconque des revendications 15 à 19, dans lequel, si la NET
est au-dessus du bord supérieur de fenêtre de récepteur mise à jour, la NET est fixée
comme une quelconque position appropriée à l'intérieur de la plage de la fenêtre de
récepteur mise à jour.
21. Appareil selon l'une quelconque des revendications 15 à 20, dans lequel, si la NET
est au-dessus de la fenêtre de récepteur mise à jour, la fenêtre de récepteur est
avancée jusqu'à une quelconque position appropriée à l'intérieur de la plage de la
fenêtre de récepteur mise à jour.
22. Appareil selon l'une quelconque des revendications 15 à 21, dans lequel la NET, qui
est gérée par les modules, est une variable gérée par un côté de réception.
23. Appareil selon l'une quelconque des revendications 15 à 22, dans lequel la NET est
mise à jour à la délivrance à une entité de désassemblage d'un bloc de données avec
un TSN égal à la NET.
24. Appareil selon l'une quelconque des revendications 15 à 23, dans lequel la valeur
initiale de la NET est zéro.
25. Appareil selon l'une quelconque des revendications 15 à 24, dans lequel le bloc de
données est une unité de données de protocole MAC-hs, Contrôle d'Accès au Support-haut
débit.
26. Appareil selon l'une quelconque des revendications 15 à 25, dans lequel les modules
fonctionnent pour un système d'accès par paquets en liaison descendante haut débit.
27. Appareil selon l'une quelconque des revendications 15 à 26, dans lequel les modules
fonctionnent pour éviter des conditions d'arrêt.
28. Appareil selon l'une quelconque des revendications 15 à 27, dans lequel, si le bloc
de données reçu associé avec le numéro de séquence a été précédemment reçu, le bloc
de données reçu est rejeté.
29. Appareil selon l'une quelconque des revendications 15 à 28, dans lequel les modules
font partie d'une entité MAC, Contrôle d'Accès au Support.
30. Appareil selon l'une quelconque des revendications 15 à 29, dans lequel les modules
font partie d'une entité MAC-hs, Contrôle d'Accès au Support-haut débit.
31. Appareil selon l'une quelconque des revendications 15 à 30, dans lequel les modules
sont mis en oeuvre dans une station mobile.
32. Appareil selon l'une quelconque des revendications 15 à 30, dans lequel les modules
font partie d'un combiné sans fil.
33. Appareil selon l'une quelconque des revendications 15 à 30, dans lequel les modules
font partie d'un réseau.
34. Appareil selon l'une quelconque des revendications 15 à 30, dans lequel les modules
font partie d'une station de base.
35. Appareil selon l'une quelconque des revendications 15 à 30, dans lequel les modules
font partie d'un noeud B.
36. Appareil selon l'une quelconque des revendications 15 à 30, dans lequel les modules
font partie d'un contrôleur de réseau radio, RNC.
37. Procédé de traitement de blocs de données dans un système de communications mobile,
le procédé comprenant :
la réception d'une unité de données de protocole, PDU, ayant un numéro de séquence,
SN (610) ;
la comparaison du SN avec une plage de fenêtre de récepteur (620),
si le SN est à l'intérieur de la plage de fenêtre de récepteur,
et si SN < NET, à savoir un SN suivant attendu, ou si la PDU a été précédemment reçue
(630), alors
le rejet de la PDU, et la fin du traitement (640),
si SN ≥ NET ou si la PDU n'a pas été précédemment reçue (630), alors le stockage de
la PDU dans un tampon à un emplacement spécifié par le SN, et le passage à une étape
suivante (650),
si le SN n'est pas à l'intérieur de la plage de fenêtre de récepteur,
le stockage de la PDU dans un tampon à l'emplacement spécifié par le SN (622),
la mise à jour de la fenêtre de récepteur de façon à ce que le bord supérieur de la
fenêtre de récepteur = SN (624),
la délivrance de toutes les PDU avec SN < un bord inférieur de la fenêtre de récepteur
à un bloc de désassemblage (626), et
le contrôle que la NET < le bord inférieur de la fenêtre de récepteur (627) ;
si la NET est en-dessous du bord inférieur de la fenêtre de récepteur, la mise à jour
de la NET pour qu'elle soit égale au bord inférieur de la fenêtre de récepteur, et
le passage à une étape suivante (628),
si la NET n'est pas en-dessous du bord inférieur de la fenêtre de récepteur, le passage
à une étape suivante ;
la délivrance de certaines PDU stockées dans le tampon, en commençant par la PDU ayant
une valeur égale à la NET, jusqu'à une PDU juste avant une PDU non encore reçue, à
un bloc de désassemblage (660) ; et
la mise à jour de la NET pour qu'elle soit égale au SN de la première PDU non encore
reçue (670).
38. Procédé selon la revendication 37, comprenant en outre : après la mise à jour de la
NET, le contrôle que la NET mise à jour > le bord supérieur de la fenêtre de récepteur
; si la NET est plus élevée que le bord supérieur de la fenêtre de récepteur, la fixation
de la NET = le bord supérieur de la fenêtre de récepteur ; et si la NET n'est pas
plus élevée que le bord supérieur de la fenêtre de récepteur, la fin du traitement
ou la répétition des procédures à partir de l'étape de réception d'une PDU.
39. Procédé selon la revendication 38, dans lequel la NET est un numéro de séquence de
transmission, TSN, suivant le TSN de la dernière unité de données reçue en séquence.
40. Procédé selon la revendication 39, dans lequel le TSN est un identifiant pour le numéro
de séquence de transmission sur un Canal Partagé en Liaison Descendante Haut Débit.
41. Procédé selon la revendication 40, dans lequel le TSN est utilisé à des fins de réordonnancement
pour supporter une délivrance en séquence à une couche supérieure.
42. Procédé selon la revendication 40, dans lequel, si la NET est au-dessus du bord supérieur
de fenêtre de récepteur, la NET est fixée comme une quelconque position appropriée
à l'intérieur de la plage de fenêtre de récepteur.
43. Procédé selon la revendication 40, dans lequel, si la NET est au-dessus de la fenêtre
de récepteur, la fenêtre de récepteur est avancée jusqu'à une quelconque position
appropriée tant que la NET tombe à l'intérieur de la plage de fenêtre de récepteur.
44. Procédé selon la revendication 40, dans lequel la NET est mise à jour à la délivrance
à une entité de désassemblage d'une unité de bloc de données avec un TSN égal à la
NET.
45. Procédé selon la revendication 40, dans lequel la valeur initiale de la NET est zéro.