Source: http://www.google.com/patents/US7159162?dq=5,815,794
Timestamp: 2014-03-14 08:26:23
Document Index: 710744902

Matched Legal Cases: ['art 301', 'art 302', 'art 302', 'art 301', 'art 302', 'art 403']

Patent US7159162 - Semi-reliable ARQ method and device thereof - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA method and device for handling received data units at the receiving peer of a predetermined data unit exchange protocol at a given layer is described, where said method and device carry out a limited ARQ mechanism for received data units, and are characterised by providing the possibility of storing...http://www.google.com/patents/US7159162?utm_source=gb-gplus-sharePatent US7159162 - Semi-reliable ARQ method and device thereofAdvanced Patent SearchPublication numberUS7159162 B2Publication typeGrantApplication numberUS 10/504,051PCT numberPCT/EP2003/000945Publication dateJan 2, 2007Filing dateJan 30, 2003Priority dateFeb 13, 2002Fee statusPaidAlso published asCN1633771A, CN100358275C, DE60309566D1, DE60309566T2, EP1337065A1, EP1474889A1, EP1474889B1, US20050201378, WO2003069834A1Publication number10504051, 504051, PCT/2003/945, PCT/EP/2003/000945, PCT/EP/2003/00945, PCT/EP/3/000945, PCT/EP/3/00945, PCT/EP2003/000945, PCT/EP2003/00945, PCT/EP2003000945, PCT/EP200300945, PCT/EP3/000945, PCT/EP3/00945, PCT/EP3000945, PCT/EP300945, US 7159162 B2, US 7159162B2, US-B2-7159162, US7159162 B2, US7159162B2InventorsReiner Ludwig, Michael Meyer, Joachim Sachs, Stefan WagerOriginal AssigneeTelefonaktiebolaget Lm Ericsson (Publ)Export CitationBiBTeX, EndNote, RefManPatent Citations (7), Non-Patent Citations (1), Referenced by (6), Classifications (15), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetSemi-reliable ARQ method and device thereofUS 7159162 B2Abstract A method and device for handling received data units at the receiving peer of a predetermined data unit exchange protocol at a given layer is described, where said method and device carry out a limited ARQ mechanism for received data units, and are characterised by providing the possibility of storing corrupted copies of received data units, and providing a data unit to an upward release handler on the basis of one or more stored corrupted copies of a given data unit after a triggering event terminating the operation of the retransmission request procedure for the given data unit.
1. A method of handling received data units at a receiving peer of a predetermined data unit exchange protocol at a first layer comprising:
determining whether a received first layer data unit is corrupted or not,
passing a received first layer data unit to a second layer higher than said first layer if said received first layer data unit is determined as not being corrupted,
requesting a retransmission of the received first layer data unit if said error detection procedure determines that said received first layer data unit is corrupted,
storing copies of said corrupted first layer data unit or data unit content information from which said corrupted first layer data unit can be determined, and
providing said first layer data unit to an upward release handler on the basis of the stored corrupted copies of the said first layer data unit, subsequent to a triggering event for terminating an automatic retransmission request mechanism for said first layer data unit.
2. The method according to claim 1, wherein said first layer comprises a link layer or a sublayer of a link layer.
3. The method according to claim 1, further comprising combining multiple stored corrupted first layer data unit copies in order to provide a combined copy of said given first layer data unit.
4. The method according to claim 3, further comprising synthesizing a new copy of said first layer data unit from the corrupted copies of said first layer data unit.
5. The method according to claim 3, further comprising selecting a copy from among said corrupted copies.
6. The method according to claim 5, further comprising discriminating corrupted first layer data unit
into at least a first and a second category, where corrupted first layer data unit of said first category or said data unit content information from which said corrupted first layer data unit can be determined are stored and corrupted first layer data unit of said second category are discarded.
identifying a predetermined section of a corrupted first layer data unit,
determining whether said predetermined section is corrupted, and
discriminating a corrupted first layer data unit into said second category if said predetermined section is corrupted.
8. The method according to claim 7, wherein said first layer data unit comprise a control information part and a payload part, and wherein said predetermined section comprises at least a part of said control information part.
obtaining reliability information on a corrupted first layer data unit,
determining from said reliability information a probability that said predetermined section of the corrupted first layer data unit is corrupted,
comparing said probability with a predetermined threshold, and
discriminating said corrupted first layer data unit into said second category if said probability exceeds said predetermined threshold.
10. The method according to claim 9, wherein said reliability information is a check sum over the predetermined section.
11. The method according to claim 1, wherein said triggering event is the receipt of a message from the sending peer of said predetermined data unit exchange protocol sending said first layer data unit.
12. The method according to claim 1, wherein said triggering event is the expiry of a timer in said receiving peer or the sending of a predetermined number of retransmission requests.
providing for encapsulation of a second layer data unit into said first layer data unit, and
removing the encapsulation from received first layer data unit.
14. The method according to claim 1 further comprising: and assembling or segmenting said second layer data unit from the contents of said first layer data unit.
15. The method according to claim 14, further comprising providing a missing data unit indication if, subsequent to said triggering event, no corrupted copy of a data unit corresponding to the missing data unit indication is in storage.
16. The method according to claim 15, wherein said second layer data unit being assembled from the contents of the missing first layer data unit is discarded subsequent to said triggering event.
17. The method according to claim 16, further comprising using dummy data in place of the contents of the missing first layer data unit.
18. The method according to claim 17 determining whether said missing first layer data unit contains a transition between two second layer data units, and wherein the processing or releasing of said two second layer data units is performed in accordance with the outcome of said determination routine.
determining that at least one second layer data unit or a data unit of a further layer has a control information part comprising information on the length of the at least one second layer data unit
obtaining the length of said second layer data unit being assembled and
determining whether the missing first layer data unit contains a transition on the basis of said length.
20. The method according to claim 1, further comprising discriminating between a second layer data unit to be released upward and a second layer data unit to be discarded.
21. The method according to claim 20, wherein said discriminating is performed on the basis of a location of data from said corrupted first layer data unit in said second layer data unit being discriminated.
22. A computer program product for handling received data units at a receiving peer of a predetermined data unit exchange protocol at a first layer comprising:
storing copies of said received first layer data unit or data unit content information from which said corrupted first layer data unit can be determined, and
providing said first layer data unit to an upward release handler on the basis of the stored corrupted copies of said first layer data unit, subsequent to a triggering event for terminating an automatic retransmission request mechanism for said given first layer data unit.
23. A device for handling received data units at a receiving peer of a predetermined data unit exchange protocol at a first layer, comprising:
an upward release handler for handling a release of data from said receiving peer to a second layer higher than said first layer,
an error detector for determining whether a received first layer data unit is corrupted or not, and passing a received first layer data unit to said upward release handler if said received first layer data unit is determined as not being corrupted,
a retransmission requester for requesting a retransmission of a received first layer data unit if said error detector determines that said received first layer data unit is corrupted, a data unit memory for storing copies of said first layer data unit or data unit content information from which said corrupted first layer data unit can be determined,
a data unit provider for providing said first layer data unit to said upward release handler on the basis of one or more stored corrupted copies of said first layer data unit, said data unit provider being arranged to operate subsequent to a triggering event for terminating an automatic retransmission request mechanism for said first layer data unit.
FIELD OF THE INVENTION The present application generally relates to the field of data unit based communication in a hierarchy of communication protocol layers, and more specifically to a method and device of handling received data units at a receiving peer of a predetermined protocol at a given layer.
BACKGROUND OF THE INVENTION The concept of data unit based communication in a hierarchy of protocol layers is well known in the art. In such systems data to be sent over a connection is divided into a plurality of data units, which are passed through a hierarchy of protocol layers, where each layer is responsible for a predetermined aspect of the communication. For example, the OSI model describes such a hierarchy of layers. It may be noted that the subdivisions into which an amount of data is divided sometimes receive different names, such as protocol data unit (PDU), service data unit (SDU), packet, frame, cell, segment etc., depending on the specific protocol or technology involved, and for the purpose of the present specification, the term �data unit� shall be used generically to relate to any such subdivision of data.
A schematic example of the processing of data at a given layer in a protocol hierarchy will be explained on the basis of FIG. 2. In the example of FIG. 2, processing at a layer 2 (L2) or link layer is shown. The link layer is a layer responsible for transmission over one link from among a possible plurality of links in a communication between two endpoints. In the example of FIG. 2, on the sending side so-called layer 2 (L2) service data units (SDU) are processed into L2 protocol data units (PDU) and sent to a receiver. It may be noted that the term service data unit (SDU) for data units received by a given layer from above (on the sending side) and released by said given layer to above (on the receiving side), and protocol data unit (PDU) for data units transmitted at the given layer shall be used in the present application in order to better distinguish between the respective data units. An L2 SDU can e.g. be an L3 PDU. However, the L2 layer shown in FIG. 2 can also be a sublayer of a larger layer, such that the L2 SDU would then be a data unit of a higher sublayer. An SDU can alternatively be referred to as a higher layer data unit, where the term �layer� is intended to generically refer to entire layers, sublayers, groups of layers or sublayers, or any combination thereof.
In order to safeguard a reliable data transmission, the L2 PDU receiver 11 may perform an error detection procedure for determining whether a received L2 PDU is corrupted or not. The term �corrupted� will be used to describe any change that occurred in a data unit along its transmission through the lower layers 32, which leads to the copy of a given L2 PDU received at the receiving peer 10 not being identical to the copy sent by the sending peer 20. Such corruption can e.g. consist in the changing of one or more bits in such a data unit due to errors at the physical layer. Then, in response to such error detection, the further handling of such data units can be performed, for example, it is possible that all corrupted L2 PDUs are simply discarded without any other action being taken, or they are discarded and a corresponding indication of corruption is sent back to the sending peer 20, e.g. in the form of an automatic retransmission request (ARQ).
It may be noted that although the above described basic procedure was described in connection with processes at the link layer, such a procedure of data handling can also occur at other layers, such as the transport layer, the network layer and the physical layer. It should also be noted, as already mentioned, that the term �layer� throughout this text can relate to implementations of a single layer, groups of layers or sublayers, or any combination of layers and sublayers.
Generally, with respect to the different types of traffic and the different modes of transmission, the following link configurations are customary. Real-time traffic uses UM or TM, streaming traffic can apply AM, UM or TM, whereas interactive and best-effort traffic use AM. A general problem of UM and TM is that the FEC has to be configured to achieve sufficient (mean) link quality even for bad link conditions. Therefore, if the transmission conditions are fair or good, a link is generally �overprotected�, which means that resources are wasted.
As a consequence, a new method has been proposed which e.g. in the context of the WCDMA radio link control (RLC) protocol is referred to as �SDU discard�, see e.g. 3 GPP TS 25.322, V4.3.0 (2001, 12). This method applies an AM mode that is reliable only within a limited time interval within which ARQ is applied. In other words, automatic repeat requests for a given data unit are not sent indefinitely when no uncorrupted data unit arrives. Much rather, if no uncorrupted data unit arrives within a predetermined time or after a predetermined number of retransmission requests, the sending of retransmission requests for that given data unit is stopped.
Real-time or streaming applications are generally transported without ARQ in the transport protocol, e.g. with the well known user datagram protocol (UDP). As already-mentioned previously, in the transport of real-time or streaming traffic, the link layer will pass uncorrupted data units upwards and will discard corrupted data units, where it is relied upon that the higher layer, e.g. at the application layer, can deal with the missing data. In order to support the error concealment capabilities that are sometimes provided at higher layers, for example the application layer, it has been proposed to introduce a protocol called UDP-light which allows error tolerance with respect to passing corrupted data units upwards if the corruption occurs in a predetermined section of the data units. In other words UDP-light can be implemented to not categorically discard all corrupted data units received, but can allow data units having corruption in the predetermined section to be passed upwards, where it is assumed that the higher layers may have the capability of dealing with the flawed data. In UDP-light the error detection function is controlled such that the sensitivity of the error detecting CRC (cyclically redundancy checking) code is appropriately chosen, such that the link layer does not notice certain bit errors, and the corresponding data is consequently passed upwards to higher layers.
OBJECT OF THE INVENTION It is the object of the present invention to provide an improved method and device of handling received data units at a receiving peer of a predetermined protocol at a given layer.
SUMMARY OF THE INVENTION This object is solved by the method of claim 1 and the device of claim 26. Advantageous embodiments are described in the dependent claims.
In accordance with an embodiment of the present invention, an error detection procedure is provided that determines whether a received data unit is corrupted or not, and if it is not corrupted, it is passed to an upward releasing procedure for being processed into a higher layer data unit. Also,. a retransmission request procedure is provided for requesting the retransmission of a corrupted data unit. Additionally, a data unit storage procedure is provided for storing corrupted, received data units or information from which said corrupted first layer data unit can be determined. In other words, instead of categorically discarding corrupted data units, they may be stored. The storing can be performed in the same layer or in a lower layer. Furthermore, a data unit providing procedure is implemented, which subsequent to a triggering event for terminating the retransmission request procedure for a given data unit provides a data unit for the upward release handling procedure on the basis of one or more stored corrupted copies of the given data unit. In this way, a semi-reliable or limited AM mode is provided, in which a limited ARQ method is applied, and corrupted data is passed on at the moment that the ARQ mechanism stops operating. In other words, if no uncorrupted copy of a data unit arrives within the limited operation period of the ARQ mechanism, then data is passed upwards on the basis of the one or more corrupted copies of the given data unit.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows a flow chart of an embodiment of a method according to the present invention;
FIG. 2 shows a schematic block diagram for explaining the handling of data units at two peers of a communication protocol at a given layer;
FIG. 3 shows a schematic example of a data unit;
FIGS. 4 a and 4 b are schematic representations for explaining embodiments that assemble higher layer data units from the contents of received data units; and
FIG. 5 shows a schematic block diagram of an embodiment of a device according to the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS FIG. 1 shows a flow chart of a method provided in accordance with the present invention. The method described in connection with FIG. 1 can be implemented in the context of the structure shown schematically in FIG. 2. As a consequence, the complete previous description relating to FIG. 2 is herewith incorporated into the disclosure of the embodiment of the present invention.
In a first step S1, it is determined whether a L2 PDU has been received. If yes, an error detection procedure S2 determines whether the received L2 PDU is corrupted or not. As already mentioned previously, the term �corrupted� is to be understood generally as relating to any change that occurred in the L2 PDU during transmission, e.g. any difference of one or more bits in the L2 PDU between the received L2 PDU and the sent L2 PDU. The state of corruption can be determined in any known or suitable way, e.g. by a CRC sum method.
The determination whether a received uncorrupted data unit is a retransmission or not in step S8 can be conducted in any suitable or desirable way. For example, if the protocol uses a retransmission indicator or flag in the data units (e.g. a single bit, which indicates either first transmission or retransmission), then the determination of step S8 is straight forwardly conducted by examining the appropriate indication. Alternatively, step S8 can consist in examining a record of the corrupted copies of data units stored by the data unit storage procedure S3, such that step S8 determines whether a copy of the received uncorrupted data unit is in memory or not. If there is a corrupted copy; then procedure S8 branches to step S9, and otherwise passes the received uncorrupted data unit directly to the upward release handling procedure S7.
Taking the radio link control (RLC) protocol according to 3 GPP TS 25.322, V4.3.0 (2001, 12) as an example, two parts of a RLC header can be defined, namely the first part 301 having a fixed length, which for example includes the sequence numbers that identify the position of a given L2 PDU in the sequence of PDUs, and a second part 302 that depends on the payload and is therefore variable in size. This latter part is used for framing of SDUs, by indicating where the payload of a SDU (or padding bits) starts and ends. This part can be of variable length, depending on how many transitions of SDUs exist. Namely, the dashed line 304 represents such a SDU transition in the payload of the L2 PDU 300. Typically, the size of the variable part 302 of the header reduces to a set of values which depends e.g. on the size of the PDU 300, the type of service transported, whether the L3 header uses compression (e.g. for IP) etc. Therefore the size of the sensitive part of the RLC PDU can be determined by the fixed size part 301 plus a maximum size of the variable size part 302, which is not exceeded, or not exceeded by a certain probability.
As already mentioned, the triggering event 100 for terminating the ARQ mechanism for a given L2 PDU can be chosen as is suitable or desirable. For example, the triggering event can be the receipt of a message from the sending peer, which identifies one or more L2 PDUs for which the ARQ mechanism is to be terminated. An example of such a message is the so-called Move Receiver Window (MRW) message known in connection with SDU discard in the RLC protocol according to 3 GPP TS 25.322. Additionally or alternatively, the triggering event can be the expiry of a timer in the receiving peer. In other words, a timer can be set, which is started when a corrupted copy of a given L2 PDU is received for the first time, and when the timer expires, the data unit providing procedure S6 is triggered. Furthermore, alternatively or additionally, the triggering event can be the sending of a predetermined number of retransmission requests for a given L2 PDU. In other words, the control entity of the receiving peer counts the number of retransmission requests sent for each L2 PDU, and if this number of retransmission requests exceeds a predetermined threshold, the ARQ mechanism for the associated L2 PDU is terminated and the data unit providing procedure S6 is triggered.
This is schematically shown in FIG. 4 a. There the contents (payload) of L2 PDUs 41 to 49 is assembled into L2 SDUs 401 and 402. As can be seen, L2 PDU 45 comprises a transition, such that it is carries parts of both SDUs 401 and 402.
When the release handling of SDUs is triggered, SDUs are reassembled and delivered to the higher layer. If all PDUs that contain payload belonging to a SDU have been received correctly (i.e. are uncorrupted) this is the standard L2 protocol operation well known from the prior art. If corrupted PDUs containing bit errors exist, an SDU is assembled or reconstructed from the PDU payload containing the bit errors. This is e.g. shown with respect to L2 PDU 47 in FIG. 4 a, where the dotted hatching represents a defective PDU. Consequently, the assembled SDU 402 also contains a section that is corrupted, marked as 471.
The hatching of L2 PDU 43 in FIG. 4 a represents a missing L2 PDU, and this leads to an associated missing payload section 431 for the assembly of SDU 401.
In response to determining that a certain section of an SDU under construction is missing, the upward release handling procedure S7 can react in a number of ways. According to one possibility, the upward release handling procedure can discard all L2 SDUs being assembled from the contents of a missing L2 PDU. In other words, in the example of FIG. 4 a, the upward release handling procedure S7 would simply discard the remaining parts of what is shown as SDU 401, i.e. would not deliver this data upward. In this connection it may be noted that the upward release handling procedure might not be able to straight forwardly determine whether the missing L2 PDU 43 contained a transition (such as 304 in FIG. 3) between two different SDUs in its payload. Therefore, discarding all of the remaining data shown as 401 in FIG. 4 a could mean that in fact two or more SDUs are being discarded.
As an alternative to discarding L2 SDUs in which sections are missing, the upward release handling procedure could also use dummy data in place of the contents of the missing L2 PDU. In one embodiment this can be done by assuming that the missing L2 PDU did not contain any SDU transition, such that simply bits are filled up to fill the gap between the payload of PDU 42 and 44, e.g. by filling in an appropriate number of 0 s or 1 s in order to construct a dummy section 431 that fits into the gap. It is then up to the higher protocol layers to check the integrity of the SDU, e.g. by CRC checking or by comparing the SDU size for the length field(s) in higher protocol layers.
The transition determination routine can be provided in any desirable or suitable way for the specific protocols being used. For example if an L2 SDU or a data unit of a higher layer has a control information part (such as a header) comprising information on the length of said L2 SDU, then the transition determination routine can comprise obtaining or parsing this length of the L2 SDU being assembled, and determining whether the missing L2 PDU contains a transition on the basis of the determined length. This is shown schematically in FIG. 4 b. Namely, the transition determination routine parses the control information part 403 of the SDU under assembly, or the corresponding data unit of the higher layer, and if the determined length indicates that this SDU 401 ends within the section 431 that corresponds to L2 PDU 43, then an appropriate number of dummy bits can be generated and inserted. On the other hand, if the determined length indicates that there is no transition in 43, then the construction or assembly of SDU 401 continues with the payload from following L2 PDU 44 and 45, until an explicit transition is defined in the control information of the L2 PDU as e.g. shown with respect to L2 PDU 45.
Although the present invention has been described in the context of detailed and preferred embodiments, these embodiments are not to be understood as limiting the invention, which is defined by the appended claims.
Reference signs in the claims serve the purpose of better understanding and do not restrict the scope.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5793744 *Jul 24, 1996Aug 11, 1998Nokia Telecommunications OyMultichannel high-speed data transferUS6052385 *Dec 17, 1996Apr 18, 2000Nokia Telecommunications OyMultichannel high-speed data transferUS6519223 *Apr 6, 1999Feb 11, 2003Telefonaktiebolaget L M Ericsson (Publ)System and method for implementing a semi reliable retransmission protocolUS20030012201 *Jul 11, 2002Jan 16, 2003Lg Electronics Inc.Data communication methodWO2000060799A1Apr 4, 2000Oct 12, 2000Ericsson Telefon Ab L MPacket discard notification for semi reliable retransmission protocolWO2001015373A1May 24, 2000Mar 1, 2001Philips Semiconductors IncMajority decoding in a communication system with automatic repeat request (arq)WO2001050789A1Dec 18, 2000Jul 12, 2001Nokia Mobile Phones LtdMethod for making data transmission more effective and a data transmission protocol* Cited by examinerNon-Patent CitationsReference1European Patent Office, International Search Report for PCT/EP03/00945, dated Jun. 2, 2003.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8171363Jul 1, 2008May 1, 2012Fujitsu LimitedMethod and device for counting transmission times of data unit, transmission device, and computer programUS8327213 *May 6, 2010Dec 4, 2012Silicon Motion Inc.Data receiving method, electronic apparatus and storage system having data receiving mechanismUS8332702 *Jan 3, 2008Dec 11, 2012Interdigital Technology CorporationMethod and apparatus for hybrid automatic repeat request transmissionUS20080215948 *Jan 3, 2008Sep 4, 2008Interdigital Technology CorporationMethod and apparatus for hybrid automatic repeat request transmissionUS20090042568 *Jul 7, 2008Feb 12, 2009Fujitsu LimitedCommunication control method, transmission device and computer programUS20110072337 *May 6, 2010Mar 24, 2011Shih-Hung LanData receiving method, electronic apparatus and storage system having data receiving mechanism* Cited by examinerClassifications U.S. Classification714/748, 714/749International ClassificationH04L1/00, H04L1/16, H04L29/08, G08C25/02, H04L1/08, H04L1/18Cooperative ClassificationH04L1/188, H04L1/1809, H04L1/1838, H04L2001/0098European ClassificationH04L1/18C, H04L1/18R3A, H04L1/18T5Legal EventsDateCodeEventDescriptionJul 2, 2010FPAYFee paymentYear of fee payment: 4May 20, 2008CCCertificate of correctionAug 23, 2004ASAssignmentOwner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), SWEDENFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LUDWIG, REINER;MEYER, MICHAEL;SACHS, JOACHIM;AND OTHERS;REEL/FRAME:015078/0678;SIGNING DATES FROM 20040708 TO 20040727RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google