Method for content synchronization when broadcasting data in a wireless network
11006388 · 2021-05-11
Assignee
Inventors
Cpc classification
H04L5/003
ELECTRICITY
H04N21/26208
ELECTRICITY
H04L12/1881
ELECTRICITY
International classification
H04N21/262
ELECTRICITY
H04W92/04
ELECTRICITY
Abstract
The present disclosure relates to base station and method for content synchronization when broadcasting data in a communications network. The base station comprises a receiver configured to receive data sequences and a transmitter configured to transmit content of the received data sequence. Each data sequence comprises a packet level sequence number and byte-numbered sequence numbers. The base station further comprises a processing circuitry configured to synchronize transmission with another base station of the content using said packet level sequence number and said byte-numbered sequence numbers.
Claims
1. A base station configured to synchronize content when broadcasting data in a communications network, the base station comprising: a receiver configured to receive data sequences (PDUs); wherein each received data sequence comprises a packet level sequence number and byte-numbered sequence numbers; the base station further comprising: a transmitter configured to transmit content of the received data sequence; and processing circuitry configured to synchronize transmission with another base station of the content using said packet level sequence number and said byte-numbered sequence numbers.
2. The base station of claim 1, wherein the same content is sent from the base station and the another base station in a same radio resource block.
3. The base station of claim 1, wherein said processing circuitry is configured to determine which PDU or which part of a PDU should be used to resume transmission.
4. The base station of claim 1, wherein said processing circuitry is configured to use a sequence number of a subsequent received PDU and a sequence number of a last received PDU to determine a lost number of bytes of data and determine a transmission continuation with a subsequent PDU.
5. The base station of claim 1, wherein the packet level sequence number and byte-numbered sequence numbers are provided by a SYNC protocol.
6. The base station of claim 1, further comprising a buffer configured to receive data sequences comprising a packet header and no user data part, said packet header comprising a byte-level sequence number, which is set according to a virtual data associated with said data sequence.
7. A method of a base station for content synchronization when broadcasting data in a communications network, the method comprising: receiving data sequences (PDUs); wherein each received data sequence comprises a packet level sequence number and byte-numbered sequence numbers; and transmitting content of the received data sequences in synchronization with another base station using said packet level sequence number and byte-numbered sequence numbers.
8. The method of claim 7, further comprising mapping said content to a corresponding radio resource block by relying on the packet level sequence number and byte-numbered sequence numbers.
9. The method of claim 7, wherein the packet level sequence number and byte-numbered sequence numbers are provided by a SYNC protocol.
10. An arrangement for content synchronization when transmitting data from an infrastructure node in a communications network, said arrangement comprising: processing circuitry configured to add a packet level sequence number and byte-numbered sequence numbers to a data sequence for transmission to a base station; and a transmitter configured to transmit the data sequences with the packet level sequence number and byte-numbered sequence numbers and content to a plurality of base stations, wherein said packet level sequence number and byte-numbered sequence numbers enable content synchronization by the base stations.
11. The arrangement of claim 10, wherein the packet level sequence number and byte-numbered sequence numbers are provided by a SYNC protocol.
12. The arrangement of claim 10, wherein the arrangement is configured to obtain the sequence number of a subsequent packet by incrementing a sequence number of a previous packet by a size of the previous packet.
13. A method of content synchronization when broadcasting data in a communications network, the method comprising: adding a packet level sequence number and byte-numbered sequence numbers to content for transmission in a data sequence to a base station; and transmitting the data sequences with the packet level sequence number and byte-numbered sequence numbers to a plurality of base stations; wherein said packet level sequence number and byte-numbered sequence numbers enable content synchronization by the base stations.
14. The method of claim 13, further comprising mapping said content to a corresponding radio resource block by relying on the byte-numbered sequence numbers.
15. The method of claim 13, further comprising: determining if a data sequence is lost and which data sequence or which part of said data sequence should be resumed upon transmission; and using a sequence number of a subsequent received data sequence and a sequence number of a last received data sequence to determine the lost number of bytes of data and determine transmission continuation with subsequent data sequence.
16. The method of claim 13, wherein the packet level sequence number and byte-numbered sequence numbers are provided by a SYNC protocol.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present invention will be described in an exemplary way with reference to non-limiting embodiments illustrated in attached drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10)
(11) In the figure:
(12) 110 designates a User Equipment comprising protocol layers MBMS packet 111, PDPC 112, RNC 113, MAC 114 and PHY 115.
(13) 120 designates a base station, eNodeB, comprising protocol layers RNC 123, MAC 124, PHY 125, TNL 126 and Sync 127.
(14) 130 designates a Central Gateway Node, comprising protocol layers PDPC 132, TNL 136 and SYNC 137.
(15) 140 designates eBM-SC comprising protocol layers MBMS packet 141 and TNL 146. eBM-SC is the source of the MBMS traffic.
(16) SYNC protocols 27 and 137 (further described below) is the protocol to synchronize data used to generate a certain radio frame. SYNC protocol between the MBMS gateway and the eNBs ensures that the same content is sent over-the-air from all the eNBs.
(17) The central Gateway (GW) node 130 (e.g., MBMS GW) includes user plane processing functionality also covering the functions needed for content synchronization. The SYNC 127/137 protocol layer shown in the figure is a logical layer that implements the required support for content synchronization. However, this does not necessarily mean a new protocol layer, the required functions (e.g., sequence numbers) may be added to the existing layers as well, e.g., into the TNL protocol layer 126, 136, 146 or into the PDCP layer 111, 131.
(18) According to this embodiment, the GW 130 adds byte level sequence numbers to the PDCP 131 PDUs (Protocol data Units). An example is shown in
SN.sub.PDU #n=SN.sub.PDU #n-1+size of PDU #n, where n=1,2,3, . . .
(19) The sizes illustrated in the drawing are given as example and do not limited the invention.
(20) This sequence number can be included as part of the Transport Network Layer (TNL). For example, it can be added to the header of the tunneling protocol or it could be added to the header of the PDCP protocol. Alternatively, a new protocol layer can be introduced for that purpose between the eNodeB and the GW. In preferred embodiment, the tunneling protocol sequence number, e.g., GTP-U (GPRS Tunneling Protocol-User) protocol sequence number possibly extended in length is used.
(21) As mentioned earlier, at the start of the MBMS service the MBMS resource control entity (e.g., MBMS Control Server: MCS) configures the radio resources to be used at the eNodeBs for that particular MBMS service and it also specifies an absolute time when the eNodeBs should start the transmission. The control server also triggers the GW to start sending MBMS data with the byte sequence number reset to an initial value. From that point on, the synchronization is self-sustained based on the byte level sequence number method as described, as long as the buffers at the eNodeBs 120 do not run out of data. However, this may not be possible to guarantee in all cases, as the MBMS data may be bursty, meaning that there might be idle gaps between bursts of packets.
(22) The following method is an extension to the basic sequence numbering solution in order to maintain the synchronization also in cases of idle gaps in the data stream.
(23) In order to be able to keep the synchronization at the eNodeBs it needs to be ensured that the buffer 1204 (
(24) When the eNodeB receives a dummy PDU, it can handle the packet similarly to normal data packet, i.e., it can buffer the packet, schedule it for transmission, etc. The only difference in the handling of these dummy packets compared to normal data packets is that there is no real user data transmission associated with them on the radio interface. These PDUs are used just as virtual data for maintaining the synchronization. The use of dummy PDUs is illustrated in
(25)
(26) Generally, a transport block is an encoded data block prepared for radio interface transmission and it is transmitted in a designated time-frequency resource.
(27) As shown in the example, there are temporarily no data to send after PDU #1. Therefore the GW inserts dummy PDUs, each with a virtual size of 256 Kbyte as indicated in the SN field of the packet header (it is just an example, it could be any size of virtual data). These PDUs do not contain a data part, only the header, as also shown in the figure. When the dummy PDUs arrive to the eNodeB, the eNodeB processes them as it would do for normal data packets, i.e., it keeps track in which radio resource block these packets would have been transmitted, if they had been real data. Thereby the eNodeB can continuously maintain in which radio resource block the next data should be sent. That is, if a new PDU comes in, after the end of the idle gap (PDU #2 in the example), each eNodeB will know unambiguously at which time instant and in which radio resource block the data needs to be sent. The arriving data PDU will be sent in continuation of the dummy PDUs, i.e., after the virtual sending of the dummy PDUs are finished.
(28) There needs to be a procedure in the GW to determine when it should send dummy PDUs, i.e., to determine when the eNodeB buffers are becoming empty. There can be basically two different ways to solve this issue: by sending at a fixed output rate from the GW, performing the buffering in the GW and sending dummy PDUs when the GW buffer is becoming empty, or by measuring the output rate at the GW and based on that, predicting the buffer occupancy at the eNodeB and sending dummy PDUs when the eNodeB buffers are predicted to become empty.
(29) In this case of fixed output rate and buffering at the GW, it will send the MBMS data packets at a fixed output rate corresponding to the radio link rate that has been allocated for the given MBMS service on the radio interface. As a result of the fixed output rate at the GW there needs to be buffering done in the GW in order to handle the burstiness of the traffic stream, i.e., to absorb the excess traffic during times of a packet burst. Note that some buffering needs to be maintained also in the eNodeB in order to account for the delay variations on the transport network links between the GW and the eNodeBs.
(30) When the buffer in the GW is becoming empty the GW simply inserts dummy PDUs into the buffer with a virtual data size determined by the GW.
(31) In the case of measured output rate and no-buffering at the GW, the GW is continuously measuring the current rate at which MBMS data packets are passing by (after being processed in the GW), i.e., no buffering is done in the GW. Based on the output rate measured for a certain time window, the GW can predict the amount of data in the eNodeB buffers. When the GW anticipates that the eNodeB buffers are becoming empty, i.e., the measured output rate is below the radio link rate for some time, then it starts inserting dummy PDUs into the stream. The size of the virtual data associated with the dummy PDUs is determined by the GW. (Note that the dummy PDUs need to be taken into account when measuring the output rate at the GW.)
(32) This solution may be extended with an optional reporting mechanism from the eNodeB to the GW, where the eNodeB can send a report to the GW when the buffer level at the eNodeB falls below a certain threshold. In response to this indication the GW can start inserting dummy PDUs into the stream as long as the buffer level in the eNodeBs goes above the threshold (, in which case a new indication can be sent to the GW).
(33) Finally, there might still be certain exceptional cases when the eNodeB might lose the synchronization. To handle such cases the eNodeB can use a reporting mechanism toward the GW and/or toward the MBMS control server to indicate the loss of synchronization. (An indication for a lost synchronization may be the eNodeB buffer becoming empty or the indication may come from radio interface measurements done either by the eNodeB or by the UE.) In such cases the synchronization can be re-established with a method similar to the one used for initial synchronization. The MBMS control server can assign a re-start time for the eNodeBs specified in absolute time and may also reset the sequence number at the GW. The required signalling communication for re-establishing the synchronization may involve the MBMS control server, the eNodeBs and the GW, where either the control server or the GW may be the master node coordinating the process. The detailed signalling procedure can be drawn accordingly.
(34) In order to map the PDUs into the correct transport blocks the eNodeB can maintain an internal byte sequence number that counts the transport block containers (in bytes) that have elapsed up to the current time t (measured from a designated start time T0). Let us denote the elapsed transport block containers up to time t by B(t). Then the eNodeB should transmit the packet P with byte count b(P) at exactly the time where the eNodeB internal byte count B(t)=b(P).
(35) Before the transmission of broadcast services can be started, the central control entity (MCE) in the network has to configure the transport blocks (i.e., their encoding format, the time-frequency resources assigned to them, including the recurrence pattern in time, etc.) to be used for MBMS transmission at each eNodeB and should designate an absolute time when the transmission should be started (i.e., designate T0).
(36)
(37) For example, if PDU #3 is lost on the transport network, it means that the sequence number of the lost PDU is unknown as well. In this case the eNodeB may determine which PDU or which part of a PDU it should resume transmission in TB #3. Whether TB #2 can be sent out by the eNodeB with partial content only, i.e., with parts of the TB filled up with padding, depends on the L1 interface details and it is out of the scope of the content synchronization scheme.
(38) The eNodeB may use the sequence number of the next received PDU (i.e., PDU #4) and the sequence number of the last received PDU (i.e., PDU #2) to determine how many bytes of data is missing and determine where it should continue with PDU #4 in TB #3.
(39) The above sequence numbering scheme may slightly differ depending on how the multiplexing of upper layer PDUs into TBs are done in the eNodeB. It is possible to differentiate basically two main alternatives depending on whether the MAC protocol header within the TB is fixed or has dynamic size. For instance, the size of the MAC header could depend on the number of PDUs multiplexed into that particular TB. The difference between fixed and variable MAC header size cases are illustrated in
(40) Thus, fixed MAC header size per TB means that the number of user bits that can be carried in one TB is fixed.
(41) Variable MAC header size per TB means the size of the MAC header varies depending on the numbered of multiplexed PDUs, and the number of information bits that can be carried in a TB depends on the number of PDUs that have been multiplexed into the TB. This could mean for instance, that there is a fixed size MAC header part added to each multiplexed PDU.
(42) In the basic solution, it is assumed fixed MAC header size, i.e., fixed number of user bits per TB and the simple byte sequence numbering solution for content synchronization is sufficient.
(43) In cases of variable MAC header size, the pure byte sequence numbering may not be sufficient in all cases, especially in case when a number of consecutive PDUs get lost on the transport network. In this case, it is not enough to know only how many information bytes were lost in order the eNodeB can catch up with correct synchronization, the eNodeB should also know how many PDUs have been lost.
(44) In order to support the variable MAC header size cases, two possible solutions may be used: The GW node adds a packet level sequence number to the PDUs beside the byte level sequence number. The GW adds the size of the MAC overhead corresponding to the PDU to the byte sequence number assigned to that PDU.
(45) The invention may be implemented in the GW using an arrangement 1301 as illustrated schematically in
(46) The invention is not limited to the mentioned examples, standards and technical terms. Thus, the invention may be generalized by a gateway node, which comprises processing means for content synchronization. The processing means is arranged to operatively use byte level sequence numbering, whereby the processing means is arranged to add byte numbered sequence numbers to bypassing data sequences passed between the layers in a protocol stack to be send to a transceiver station.
ABBREVIATIONS
(47) SFN Single Frequency Network
(48) MBMS Multimedia Broadcast Multicast Service
(49) LTE Long Term Evolution
(50) RNC Radio Network Controller
(51) MAC Multiple Access Control
(52) RAN Radio Access Network
(53) PDU Protocol data Units
(54) TNL Transport Network Layer
(55) PDPC Packet Data Convergence Protocol,
(56) SN Serial Number
(57) GTP-U GPRS Tunneling Protocol-User
(58) TB Transport Block
(59) RLC Radio Link Control