RETRANSMISSION OF DATA IN PACKET NETWORKS
20210194635 ยท 2021-06-24
Inventors
- Anders CEDRONIUS (Alvsjo, SE)
- Hans INSULANDER (Sollentuna, SE)
- Christer BOHM (Nacka, SE)
- Per LINDGREN (Strangnas, SE)
Cpc classification
H04L1/1877
ELECTRICITY
International classification
Abstract
A method in a packet-based network like the Internet is provided, which is directed towards packet loss recovery for transmission of a data stream, DS.sub.0 in a packet-based network. The method comprises transmitting data packets associated with the data stream, and upon receiving a retransmission request of missing data, retransmitting the missing data applying a selective retransmission of missing data, which may be based on a priority ranking of data types to be retransmitted, performing retransmission if it is determined that missing data will be received in time for display, or performing retransmission with a rate control.
Claims
1. A method for providing packet loss recovery for transmission of a data stream in a packet-based network comprising: transmitting data packets associated with said data stream; and upon receiving a retransmission request of missing data; retransmitting said missing data; and applying a selective retransmission of missing data.
2. A method according to claim 1, wherein said selective retransmission is based on a priority ranking of data types to be retransmitted.
3. A method according to claim 1, wherein said selective retransmission comprises at least one of performing retransmission if it is determined that missing data will be received within a predetermined time period, and performing retransmission with a rate control.
4. A method according to claim 1, further comprising monitoring characteristics of the network comprising at least one of quality of service, QoS, transmission capacity or delay of the network, and wherein retransmission is activated based on said monitored characteristics.
5. A method according to claim 1, wherein said transmitting of data packets comprises: dividing each data packet of said data stream into a preselected number of fragments; generating macro-packets in which said fragments of said data packet are distributed; and transmitting said macro-packets.
6. A method according to claim 5, wherein said missing data corresponds to at least one missing fragment, and wherein said retransmitting of said missing data comprises: distributing said missing fragments into currently generated macro-packets, and retransmitting said missing fragments.
7. A method according to claim 5, wherein said generated macro-packets comprise fragments from multiple data packets.
8. A method according to claim 1, further comprising adding FEC fragments for said missing data.
9. A method for providing packet loss recovery for transmission of a data stream in a packet-based network comprising: dividing each data packet of said data stream into a preselected number of fragments, and generating macro-packets in which said fragments of said data packet are distributed; transmitting said macro-packets; and upon receiving a retransmission request of missing fragments of a data packet: distributing said missing fragments into currently generated macro-packets, and retransmitting said missing fragments.
10. A method according to claim 9, wherein said generated macro-packets comprise fragments from multiple data packets.
11. A method according to claim 9, further comprising adding FEC fragments for said missing fragments.
12. A method according to any of claim 9, further comprising applying selective retransmission of missing fragments.
13. A method according to claim 12, wherein said selective retransmission is based on at least one of a priority ranking of data types to be retransmitted, performing retransmission if it is determined that missing fragments will be received within a predetermined time period, and performing retransmission with a rate control.
14. A method according to claim 9, further comprising monitoring characteristics of the network comprising at least one of QoS, transmission capacity or delay of the network, and wherein said selective retransmission is activated based on said monitored characteristics.
15. A method according to claim 2 or 13, wherein said data types comprise at least one of audio data, complete video image data, and delta changes of images data.
16. A node in a communication network comprising means for performing a method according to claim 9.
17. A software module adapted to perform a method according to claim 1 when executed by a computer processor.
Description
DRAWINGS
[0021] The above, as well as additional objects, features and advantages of the present invention, will be better understood through the following illustrative and non-limiting detailed description of preferred embodiments of the present invention, with reference to the appended drawings, where the same reference numerals will be used for similar elements, wherein:
[0022]
[0023]
[0024]
[0025]
[0026]
[0027] All the figures are schematic, not necessarily to scale, and generally only show parts which are necessary in order to elucidate the invention, wherein other parts may be omitted or merely suggested.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0028]
[0029] If there are lost packets during data transmission, any client(s) experiencing missing packets will request retransmission of the lost packets from the server 11. In addition to retransmission if there is FEC information available, the clients can either attempt to recover lost packets by FEC correction and then by retransmission, or first by retransmission and then by FEC correction on the newly transmitted data.
[0030] The communication link may be a computer network (e.g. a LAN a WAN, the Internet), a wireless network (e.g. a cellular data network), or some combination of these network types.
[0031] A flowchart illustrating steps of an embodiment of a method for providing packet loss recovery for transmission of a data stream DS.sub.0 in a packet-based network is presented in
[0032] According to a simplified exemplifying embodiment as described below with reference to
[0033] Alternatively, the selective retransmission is determined based on information at the server 11. Since the server 11 is typically connected to multiple client devices, and other nodes of the network, decisions of the selective retransmission may be determined on a network level.
[0034] The missing data accepted for selective retransmission is interleaved in the outgoing data stream DS (step S150), and thus retransmitted to the client device.
[0035] In an optional step S148 (additional step with dashed lines in
[0036] The retransmission distribution of missing data may be arranged according to a preselected distribution scheme where the requested data is distributed e.g. in every n.sup.th transmitted packet (performing retransmission with a rate control), or not retransmitted governed by time limitations. For instance, when the data stream is part of a live broadcast such as live TV distribution, retransmission of a missing data may be down prioritized if the expected arrival time at the client is too late for playout. The selective retransmission is according to embodiments based on a priority ranking of data types to be retransmitted, or priority ranking based on number of retransmissions of certain data etc.
[0037] In an exemplifying embodiment as illustrated in
[0038] Continuing now with reference to
[0039] Before transmission of the data stream from the server 11, the information payload of each data packet is divided into N fragments (step S100). The fragments are normally constructed in an encoder or a transcoder. Each fragment has a header identifying what type of data the fragment has, etc. Packet [P(1)] is thus divided into [P(1):4], [P(1):3], [P(1): 2], [P(1):1]. Next, macro-packets MP.sub.n are generated in which fragments of a predetermined number of packets are distributed (step S110), when a macro-packet is filled with fragments it is inserted in data stream DS for transmission to the clients (step S120). The server 11 is arranged to continuously monitor if retransmission requests of missing fragments of an already transmitted data packet is received from a client (step S130). If a retransmission request REQ of missing fragments of a data packet is received (step S140), the missing fragments (here fragment [P(4):1]) are distributed into currently generated macro-packets MPc (step S150) which is packed with fragments associated with different subsequent fragmented packets originating from the data stream DS.sub.0, and then retransmitted in the new macro-packet MPc (step S120). The retransmission distribution of fragments may be arranged according to a preselected distribution scheme where the requested fragments are distributed e.g. in every n.sup.th macro-packet, or not retransmitted governed by time limitations. For instance, when the data stream is part of a live broadcast such as live TV distribution, retransmission of a missing fragment may be down prioritized if the expected arrival time at the client is too late for playout.
[0040] According to an embodiment of the invention, the generated macro-packets comprise subsequent fragments originating from one or more subsequent data packets of the data stream DS.sub.0 (or alternatively subsequent fragments of a continuous data stream). Thus, more than one fragments originating from different data packets may be transported in the same macro-packet, and the originating data packets need not be directly subsequent to each other (especially when retransmitting fragments). The packing order in the macro-packets is typically governed by a predetermined packing algorithm. In an exemplifying embodiment as illustrated in
[0041] Referring now to
[0042] Traffic overhead may be defined as the ratio between retransmission network traffic incurred at the server by retransmission and error recovery and the normal network traffic incurred by delivering of the media data, e.g. video. If the recovery of lost packets induce 10% additional network traffic the traffic overhead is thus 0.1. The available network bandwidth is finite and the network is thus sensitive to a too big traffic overhead.
[0043] As previously mentioned, according to embodiments of the method, a step of providing selective retransmission of missing data packets or fragments is applied in the method. In
[0044] Video data is a continuous-media that must be presented at a predetermined playout rate meaning that data not arriving in time for being presented at the screen or display is useless. Therefore, the time frame for requesting and/or retransmission of missing packets or packets which have not yet arrived due to network delay is finite.
[0045] According to an embodiment of the method, the selective retransmission comprises at least one of performing retransmission if it is determined that missing fragments will be received within a predetermined time period, and performing retransmission with a rate control. In the first case the method may comprise a step of determining/predicting if the missing fragment is expected to reach the receiver in time for replay/playout or some other processing step, and then simply cancel retransmission of a fragment that is determined not to reach the client device in time for play out. The second option will retransmit missing data packets or fragments according to a preselected rate. According to an embodiment, rate control is provided by prioritizing which fragments are being retransmitted. If for example the round trip time is slightly higher the time for two retransmissions, the strategy is to prioritize retransmission of the fragments that are being retransmitted a second time over the ones being retransmitted a first time because they have less time than the ones being retransmitted the first time but can still make it in time. Segments being requested to be retransmitted a third time will not be retransmitted at all.
[0046] When and in which manner selective retransmission is to be applied in the method, is according to an embodiment of the method determined by monitoring characteristics of the network. Quality of Service, QoS, transmission capacity or delay in the network are suitable characteristics upon which the selective retransmission and/or priority ranking is activated. Preselected, or selectable, threshold values of the characteristics are applied to choose different retransmission strategies. The characteristics of the loss of data in a network might differ between different network types. For example, if the access to the network is based on fiber to the home the losses are typically sporadic and sharing of resources between different users are low meaning that in that case only severe losses shall impose aggressive selective retransmission. If the device is connected via mobile data network such as 3G, 4G or LTE, the characteristics of the losses and delays can depend on that the resources are shared with other users in the same mobile cell or that the device has entered an area with bad reception. This means that the retransmission strategy needs to be more careful not using the limited network resources for retransmitting data, thereby increasing the network load.