Patent Publication Number: US-9419813-B2

Title: Method and device for transmitting data to several receivers using ARQ

Description:
This application claims the benefit, under 35 U.S.C. §365 of International Application PCT/EP2007/052871, filed Mar. 26, 2007, which was published in accordance with PCT Article 21(2) on Oct. 25, 2007 in English and which claims the benefit of European patent application No. 06290645.8, filed on Apr. 18, 2006. 
     The present invention relates to a method and a device for transmitting data to several receivers with an automatic repetition request mechanism. 
     The wireless medium is by nature subject to disruptive factors that lead to a residual packet error rate. To enhance the wireless transmission quality, some wireless standards, such as IEEE802.11 and IEEE802.16, implement an automatic repetition request mechanism, noted ARQ. This error control mechanism allows the receiver of a communication to automatically request the retransmission of a packet from the transmitter. The ARQ mechanism is part of the medium access control sub-layer that is part of the data link layer. 
     The repetition mechanisms are not adapted to broadcast or multicast communications toward several receivers. The ARQ mechanisms are based on point to point connections, and a number of requests of retransmission may become very high in case of several receivers. The amount of data to retransmit may then become important and even one receiver having a bad reception may disturb all the other receivers by slowing the transmissions due to the repetition mechanism. The broadcast or multicast communications are then not appropriate in the wireless domain when the quality of the wireless medium is low. 
     The present invention concerns a method and a device for transmitting data to several receivers in a using an automatic repetition request mechanism. 
     To this end, the invention relates to a method for transmitting data between a sender, and at least two receivers, in a network where a data between a sender and a receiver is carried on a connection and where a unicast connection enables a sender to send the data and a receiver to acknowledge a reception of the data. The method comprises the steps of opening a unique unicast connection identified with a connection identifier; and indicating the connection identifier to the sender and the receivers, so that the sender sends the data on the unicast connection, and the receivers receive the data on the unicast connection. 
     Surprisingly the same unicast connection is used to transport a data from a sender to several receivers. The sender does not use a different unicast connection to each receiver for the same data. 
     According to an embodiment, the method comprises the steps of sending data by the sender on the unique unicast connection to the receivers, receiving acknowledgment by the sender; and identifying by the sender the emitter of the acknowledgment. 
     The sender has the capability to receive the acknowledgment packets from several receivers of a packet sent over a unicast connection. It also identifies the emitter of the acknowledgment packet. This enables the sender to know whether all the receivers have received the data or not. 
     According to an embodiment, the method comprises the step of reemitting the data by the sender either if the acknowledgment has not been received from all the receivers or at least an acknowledgment indicates that a receiver has not correctly received the data. 
     The mechanism for reemitting a packet by the sender takes into account the acknowledgment packets received from all the receivers, and not only from a receiver only. 
     According to another embodiment, the method comprises the steps of sending data over a unique unicast connection to receivers of a first group and receivers of a second group; and reemitting the data either if the acknowledgment has not been received from all receivers of the first group or at least an acknowledgment indicates that a receiver of the first group has not correctly received the data. 
     The mechanism for reemitting a packet by the sender takes into account a subset of the receivers only. This may be useful when the number of receivers is high and the amount of data to retransmit might then become significant. The sender limits the mechanism to a maximum number of receivers, or to some pre-identified privileged receivers. 
     Another object of the invention is a traffic controller device, in a network where a data between a sender and a receiver is carried on a connection, comprising means for opening a unique unicast connection, the unicast connection being identified with a connection identifier, the unicast connection enabling the receiver to acknowledge the reception of a data, and means for indicating the unique unicast connection identifier to the transmitter and at least two receivers so that the sender sends the data on the unicast connection, and the receivers receive the data on the unicast connection. 
     Another object of the invention is a device for transmitting data to at least two receivers, in a network where a data between a sender and a receiver is carried on a connection and where a unicast connection enables the sender to send the data and the receiver to acknowledge the reception of the data. The device comprises means for sending data over a unique unicast connection to at least two receivers. 
     According to an embodiment, the device comprises means for identifying the emitter of an acknowledgment. 
     According to an embodiment, the device comprises means for reemitting the data either if the acknowledgment has not been received from all the receivers or at least an acknowledgment indicates that a receiver has not correctly received the data. 
     According to another embodiment, the device comprises means for sending data over a unique unicast connection to receivers of a first group and receivers of a second group, and means for reemitting the data either if the acknowledgment has not been received from all receivers of the first group or at least an acknowledgment indicates that a receiver of the first group has not correctly received the data. 
     According to an embodiment, the device comprises a traffic controller. 
     According to an embodiment, the device is a base station according to the IEEE802.16 standard 
     Another object of the invention is a computer program product comprising program code instructions for executing the steps of the process according to the invention, when that program is executed on a computer. By “computer program product”, it is meant a computer program support, which may consist not only in a storing space containing the program, such as a diskette or a cassette, but also in a signal, such as an electrical or optical signal. 
    
    
     
       The invention will be better understood and illustrated by means of the following embodiment and execution examples, in no way restrictive, with reference to the appended figures among which: 
         FIG. 1  is a block diagram of the functional modules of the embodiment; 
         FIG. 2  represents the wireless network of the embodiment; 
         FIG. 3  is a block diagram of the base station according to the present embodiment; 
         FIG. 4  represents the functional modules of the base station; 
         FIG. 5  is a flow chart representing the opening of a connection; 
         FIG. 6  is a flow chart representing the data transfer according to the present embodiment; 
         FIG. 7  illustrates the steps of the acknowledgment rule according to the embodiment. 
     
    
    
     The exemplary embodiment comes within the framework of a transmission on a wireless local area network according to the IEEE802.16 standard, but the invention is not limited to this particular environment and may be applied within other standards where a device sends multicast traffic to other devices. More information concerning IEEE802.16 standard can be found in the IEEE P802.16-2004_COR1 (D5) Draft IEEE Standard for Local and metropolitan area networks Corrigendum to IEEE Standard for Local and Metropolitan Area Networks-Part 16: Air Interface for Fixed Broadband Wireless Access Systems, and also in subsequent versions. 
     In  FIG. 1  to  FIG. 4 , the represented blocks are purely functional entities, which do not necessarily correspond to physical separated entities. Namely, they could be developed in the form of software, or be implemented in one or several integrated circuits. 
     In  FIG. 1  are represented the different functional modules of the wireless local area network  1 . The transmitter  3  is the sender of the data. The receivers  4 ,  5  receive the data. The scheduler  2 , also called a traffic controller, controls the allocation of wireless resources; it assigns the connections required for the transmission between a transmitter and a receiver. 
       FIG. 2  is a wireless network according to the embodiment. It comprises a base station BS, two subscriber stations SS 1  and SS 2 . The BS is connected to a local area network LAN 3  that comprises a server  2 . 3 . The SS 1  and SS 2  are respectively connected to a local area network, LAN 1  and LAN 2 , that each comprises at least a client,  2 . 1  and  2 . 2 . Of course the wireless network may comprise other subscriber stations which are not shown in the figure. 
     The  FIG. 2  also represents the connections between the BS and the SS&#39;s:
         A connection from the BS to the SS 1 :  2 . 4     A connection from the BS to the SS 2 :  2 . 5     A connection from the SS 1  to the BS:  2 . 6     A connection from the SS 2  to the BS:  2 . 7         

     According to the IEEE802.16 standard, a connection may be characterized by the following parameters:
         Downlink, from the BS to the SS; Uplink, from the SS to the BS,   Modulation type (BPSK, QPSK, 16QAM, 64QAM),   Classifier to identify the packets to put in the connection itself,   Unicast or Multicast,   Fragmentation allowed or forbidden,   Automatic Repeat Request enabled or disabled, with the following parameters: window size, time out and block size.   Data rate,   Quality of service: Best Effort, real time Polling Service, non real time Polling Service, Unsolicited Service Grant.       

     According to the embodiment, the multicast traffic is sent from the BS to the SS 1  and the SS 2  on a same unicast connection, represented in the  FIG. 2  as  2 . 4  and  2 . 5  with the same connection identifier. A unicast connection is open between each SS and the BS, represented as  2 . 6  and  2 . 7 , to transport the acknowledgment packets. 
     The  FIG. 3  represents the building blocks of the BS. The BS comprises a processor  3 . 1 , a memory  3 . 2 , a LAN interface  3 . 3  and a radio interface  3 . 4 , which are interconnected by a bus  3 . 5 . The processor comprises the means for reemitting the data, which comprises the means for identifying the emitter of an acknowledgment. The processor also comprises the scheduling means. 
     The  FIG. 4  represents the functions of the BS. The BS comprises scheduling means  4 . 1 , radio sending means  4 . 2  and receiving means  4 . 3 , LAN sending means  4 . 4  and receiving means  4 . 5 . The radio sending means permit to send data to a receiver, or to several receivers on a unique unicast connection. The radio receiving means permit to receive data and acknowledgment from the receivers. The scheduling means intend to allocate the wireless resources on the wireless LAN between the stations. The BS also comprises connecting means  4 . 6  for performing the control functions of connecting the BS to a SS. The radio sending means comprise two timers, the ack_timer and the time_of_life as defined below. 
     The  FIG. 5  is a flow chart representing the opening of a connection. The client  2 . 1  sends a request S 11  to the server  2 . 3  to receive a stream from the server  2 . 3 . According to the embodiment, the request is an HTTP request, and the HTTP server is located in the base station BS. In another embodiment, the HTTP server could be comprised in another device located on the LAN 3 . The stream is a multicast traffic, in the form of an audio or a video data. At the reception of the request, the server sends a request S 12  to the connecting means in order to open a connection between the BS and the SS; the connecting means comprise among other scheduling means for managing the connections on the wireless medium. The BS and the SS carry out the opening of the connection S 13 , as described in the IEEE802.16 standard. The BS creates a new connection with at least the following parameters: downlink, ARQ-enabled, unicast, and a connection identifier noted CID 1 . When the connection has been open, the server  2 . 3 , which has been informed by the connecting means S 14 , sends a HTTP response S 15  to the client  2 . 1 . 
     When another SS, SS 2 , is interested by the reception of the same streaming, it sends a request to the BS to open a connection in order to receive the streaming. The same steps as indicated in the  FIG. 5  apply. The difference with the opening of the connection for the SS 1  is that the BS identifies that the request is for a streaming that is already mapped to a unicast connection, identified by the connection identifier CID 1 . Then, the BS creates a connection with the requesting SS; it uses the CID 1  as the one used for the connection to the first SS and the same connection parameters. The BS does not create a new classifier as indicated in the IEEE802.16 standard, because the connection and its classifier have already been created. The multicast traffic is then sent on a same unicast connection towards two receivers. Of course more than two receivers could register to the same unicast connection to receive the same stream. Nevertheless, the number of SS should be low, in order to limit the amount of data to be retransmitted by the sender. 
     The BS as described in the embodiment is interoperable with any subscriber station compliant with the standard. The SS does not require any specific implementation to interact with the BS of the embodiment. The SS recognizes a unicast connection as indicated in the IEEE802.16 standard. 
     The  FIG. 6  is a flow chart representing the data transfer between the BS and the SS&#39;s. The BS sends a data packet on the unicast connection. The data packet is received respectively by the SS 1 , S 31 , and the SS 2 , S 32 . SS 1  acknowledges the correct reception of the data packet; it sends a positive acknowledgment packet, noted ACK packet S 33 , indicating that the data packet has been correctly received. SS 2  acknowledges the wrong reception of the data packet; it sends a negative ACK packet S 34 , indicating that the data packet has not been correctly received. The BS therefore reemits the data packet on the unicast connection, S 35  and S 36 . 
     According to the embodiment, the sender of the data packet, the BS in the embodiment, uses a proprietary mode allowing the management of this “unicast multicasted” connection using the ARQ. 
     According to the IEEE802.16 standard, in an ack-enabled connection, after having sent a data packet, the transmitter waits for the ACK packets from the receiver. The ACK may be positive or negative. If negative, the packet may be reemitted up to a maximum number of time, and during the limit of a time frame. 
     In the embodiment, the transmitter sends a packet in an ack-enabled connection to several receivers. Instead of waiting an ACK from a single receiver, it waits for the ACK from all the receivers as indicated in the  FIG. 7 . 
     The transmitter comprises two timers. The first timer is the time_of life, which corresponds to the time of life of the packet. The packet is kept in the memory of the transmitter up to the end of the time of life; it is then discarded from the memory. The second timer is the ack_timer. It corresponds to the time the transmitter waits after the transmission of a packet before reemitting the packet in case it has not received all the positive ACK packets. The ack_timer is called the Retry_Timeout in the IEEE802.16 standard. The transmitter may reemit the data packet up to a maximum number of times. 
     The rule for the packet acknowledgment is described in the  FIG. 7 . It is implemented in the BS, and can be illustrated according to the following steps: 
     S 4 . 1 . The transmitter sends a data packet. 
     S 4 . 2 . As soon as at least one SS has negatively acknowledged it, a packet is considered as not being correctly received. And it is retransmitted up to the maximum number of time. 
     S 4 . 3 . If before the end of the ack_timer, the BS has received all the ACK packets, and if all the SS have positively acknowledged it, the packet is considered as being correctly received by all the SS. Then the BS discards the packet from its memory, S 4 . 5 . At the end of the ack_timer, if all the ACK packets have not been received the BS reemits the packet. S 4 . 4 . At the end of the time_of_life of the packet, the packet is discarded, S 4 . 5 , as indicated in the IEEE802.16 standard. 
     As indicated above the BS shall be able to receive an ACK packet from all the SS&#39;s. This means that, according to the embodiment, the BS is able to detect the emitter of the ACK packet. 
     In the IEEE802.16 standard, two basic connections, an uplink connection and a downlink connection, are systematically created for transporting the management packets between the BS and the SS. They are called the basic connections. According to the embodiment, when a SS wants to send an ACK to the BS, it creates a MAC PDU and sends it on the uplink connection with this basic CID number assigned. So that, even if all the ACK packets have the same aspects, they are differentiated by the basic CID associated to the SS. 
     In another embodiment, the ACK can be piggybacked with a payload packet that below to another connection; in that case the CID is not the basic CID but another CID used by this SS. Therefore the SS can be identified with the CID used. 
     In another embodiment, each SS transmits its packet in an uplink burst allocated in the frame by the BS. So that, when receiving a burst, the BS knows which SS is sending the burst, and then which is the SS sending the ACK contained in this burst. In more details, the MAC PDU&#39;s are sent in a burst. A burst is characterized by its transmission mode (which is the OFDM modulation), its duration, and its location in the frame. The frame comprises the frame header, the downlink bursts, the contention access periods, and the uplink bursts. The frame header contains the description of all the bursts, including the modulation used, the duration, the location in the frame, the SS which has to generate the uplink burst and the destination (CID values) of all the downlink bursts. In this embodiment, the streaming is sent by the BS to several SS through a downlink burst. And the ACK are received from all the concerned SS through the respective uplink bursts. 
     The acknowledgment management rule may be applied to a subset of SS only that are registered to the unicast connection. Several SS&#39;s receive the same stream on the same unicast connection. They all use the acknowledgment mechanism. But the sender of the packet takes into account the ACK packet coming from a subset of the receivers only. The sender sends data to receivers of a first group and receivers of a second group; it reemits the data if the acknowledgment has not been received from all receivers of the first group or at least an acknowledgment indicates that a receiver of the first group has not correctly received the data. 
     The first group and the second groups may be pre-configured; some receivers have a privilege role among the others; and it is important that these receivers correctly receive the stream. The selection may be done as follows: 
     Based on the type of device; for example the plasma screen is expected to receive the stream better than a laptop. 
     Based on a selection of the device by a user; on a user interface of the emitter or the receiver, the user may set devices in the first or the second list. The ones in the first list are taken into account for the acknowledgment management rule, and the ones in the second list are not taken into account. 
     This may be automatically configured; a receiver has a very bad reception quality and continuously sends some ACK packets indicating a bad reception. Instead of reemitting many data packets because of this receiver, the sender put the receiver on a state where its ACK packets are not taken into account for the reemission. If the receiver has a better quality reception, it can then be put in a state where its ACK packets are taken into account. This prevents a device from disturbing all the other devices by slowing the transmissions due to the repetition mechanism. 
     Another selection of the receivers may be done as follows: the number of devices of the first group is limited to a maximum. The first devices that request the reception are part of the first group. When the maximum has been reached, the new devices are part of the second group. When a device of the first group resumes the reception, a device from the second group may be then moved to the first group.