CN116097624A - Data transmission method, device, computer equipment and storage medium - Google Patents

Data transmission method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN116097624A
CN116097624A CN202080103881.3A CN202080103881A CN116097624A CN 116097624 A CN116097624 A CN 116097624A CN 202080103881 A CN202080103881 A CN 202080103881A CN 116097624 A CN116097624 A CN 116097624A
Authority
CN
China
Prior art keywords
data
stations
multicast
row
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080103881.3A
Other languages
Chinese (zh)
Inventor
全映桥
侯蓉晖
黄磊
罗朝明
吴作敏
张军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN116097624A publication Critical patent/CN116097624A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application discloses a data transmission method, a data transmission device, communication equipment and a storage medium, and belongs to the technical field of wireless communication. The method comprises the following steps: transmitting data blocks to at least two sites in a multicast or broadcast mode; receiving Block Acknowledgement (BA) information sent by at least two stations, wherein the BA information is used for indicating data units which are failed to be received by the corresponding stations; performing exclusive or coding on data units which are failed to be received by at least two stations according to BA information sent by the at least two stations to obtain network coding data of the data blocks; network encoded data is transmitted to at least two sites by multicast or broadcast. According to the scheme, the data units needing to be retransmitted are subjected to exclusive OR coding by acquiring the receiving condition of each station, so that the data quantity needing to be transmitted is reduced while each station can decode the data according to the coded data to obtain the data units which are not successfully received, and the retransmission efficiency under a multicast or broadcast scene is improved.

Description

Data transmission method, device, computer equipment and storage medium Technical Field
The present disclosure relates to the field of wireless communications technologies, and in particular, to a data transmission method, a data transmission device, a computer device, and a storage medium.
Background
With the continuous popularization of mobile terminals and the continuous development of mobile application scenarios, the demand for multicast/broadcast communication by wireless local area networks (Wireless Local Area Network, WLAN) is also increasing.
In the related art, during the WLAN multicast/broadcast process, for data units in a data block that are received by each Station (STA) and fail, an Access Point (AP) needs to re-multicast/broadcast the data units.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a data transmission device, computer equipment and a storage medium. The technical scheme is as follows:
in one aspect, an embodiment of the present application provides a data transmission method, where the method is performed by an access point, and the method includes:
transmitting a data block to at least two sites in a multicast or broadcast mode, wherein the data block comprises at least two data units;
receiving Block Acknowledgement (BA) information sent by the at least two stations, wherein the BA information is used for indicating the receiving condition of the corresponding stations on the at least two data units;
Performing exclusive or coding on the data units which are failed to be received by the at least two stations according to the BA information sent by the at least two stations to obtain network coding data of the data blocks;
and transmitting the network coding data to the at least two stations in a multicast or broadcast mode.
In another aspect, an embodiment of the present application provides a data transmission method, where the method is performed by a first station, and the first station is any one of at least two stations, and the method includes:
receiving a data block sent by an access point in a multicast or broadcast mode, wherein the data block comprises at least two data units;
transmitting Block Acknowledgement (BA) information to the access point, wherein the BA information is used for indicating the receiving condition of the corresponding station to the at least two data units;
receiving network coding data sent by the access point in a multicast or broadcast mode, wherein the network coding data is obtained by performing exclusive or coding on data units which are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
and decoding the network coding data to obtain the data unit of which the first station fails to receive.
In yet another aspect, an embodiment of the present application provides a data transmission apparatus, where the apparatus is used in an access point, and the apparatus includes:
the data block sending module is used for sending data blocks to at least two stations in a multicast or broadcast mode, wherein the data blocks comprise at least two data units;
the acknowledgement information receiving module is used for receiving Block Acknowledgement (BA) information sent by the at least two stations, wherein the BA information is used for indicating the receiving condition of the at least two data units by the corresponding stations;
the coding module is used for performing exclusive or coding on the data units which are failed to be received by the at least two stations according to the BA information sent by the at least two stations to obtain network coding data of the data blocks;
and the coded data transmitting module is used for transmitting the network coded data to the at least two stations in a multicast or broadcast mode.
In yet another aspect, an embodiment of the present application provides a data transmission apparatus, where the apparatus is used in a first station, and the first station is any one of at least two stations, and the apparatus includes:
the data block receiving module is used for receiving a data block sent by an access point in a multicast or broadcast mode, wherein the data block comprises at least two data units;
A confirmation information sending module, configured to send block confirmation BA information to the access point, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
the coded data receiving module is used for receiving network coded data sent by the access point in a multicast or broadcast mode, wherein the network coded data is obtained by performing exclusive or coding on data units which are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
and the decoding module is used for decoding the network coding data to acquire the data unit of which the first station fails to receive.
In another aspect, an embodiment of the present application provides a computer device, which is an access point, including a processor, a memory, and a transceiver;
the transceiver transmits a data block to at least two sites in a multicast or broadcast mode, wherein the data block comprises at least two data units;
the transceiver is configured to receive block acknowledgement BA information sent by the at least two stations, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
The processor is configured to perform exclusive-or encoding on the data units failed to be received by the at least two sites according to BA information sent by the at least two sites, so as to obtain network encoded data of the data block;
the transceiver is configured to send the network encoded data to the at least two sites by multicast or broadcast.
In another aspect, an embodiment of the present application provides a computer device, where the computer device is a first station, and the first station is any one of at least two stations, and the computer device includes a processor, a memory, and a transceiver;
the transceiver is configured to receive a data block sent by an access point through a multicast or broadcast mode, where the data block includes at least two data units;
the transceiver is configured to send block acknowledgement BA information to the access point, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
the transceiver is configured to receive network coding data sent by the access point in a multicast or broadcast manner, where the network coding data is obtained by performing exclusive or coding on data units that are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
The processor is configured to decode the network encoded data, and obtain a data unit that fails to be received by the first station.
In yet another aspect, embodiments of the present application further provide a computer readable storage medium having a computer program stored therein, the computer program being loaded and executed by a processor to implement the above-described data transmission method.
In another aspect, a computer program product or computer program is provided, the computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the above-described data transmission method.
The technical scheme provided by the embodiment of the application can bring the following beneficial effects:
and performing exclusive or coding on the data units needing to be retransmitted by acquiring the receiving condition of each station, so that the data quantity needing to be transmitted is reduced while each station can decode the data according to the coded data to obtain the data units which are not received successfully, and the retransmission efficiency under a multicast or broadcast scene is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of a network architecture of a communication system provided in one embodiment of the present application;
FIG. 2 is a flow chart of a data transmission method provided in one embodiment of the present application;
FIG. 3 is a flow chart of a data transmission method provided in one embodiment of the present application;
fig. 4 is a schematic diagram of multicast/broadcast data transmission provided in an exemplary embodiment of the present application;
FIG. 5 is a flow chart of a data transmission method provided in one embodiment of the present application;
FIG. 6 is a schematic diagram of a selection algorithm involved in the embodiment of FIG. 5;
fig. 7 is a flowchart of the execution of an access point during data transmission in accordance with the embodiment of fig. 5;
FIG. 8 is a flow chart of the execution of a station in the data transfer process involved in the embodiment of FIG. 5;
FIG. 9 is a new frame structure of a data block according to the embodiment of FIG. 5;
Fig. 10 is a schematic structural diagram of a reliable multicast transmission module in the AP according to the embodiment shown in fig. 5;
fig. 11 is a schematic structural diagram of a reliable multicast transmission module in the STA according to the embodiment shown in fig. 5;
fig. 12 is a schematic diagram of a reliable multicast transmission service according to the embodiment shown in fig. 5;
fig. 13 is a schematic diagram of a reliable multicast transmission service transmission sub-process according to the embodiment shown in fig. 5;
fig. 14 is a schematic diagram of a reliable multicast transmission service receiving sub-process according to the embodiment shown in fig. 5;
fig. 15 is a schematic diagram of a network coding reliable multicast transmission service indication mode according to the embodiment shown in fig. 5;
FIG. 16 is a frame header schematic diagram of a frame structure of a data block provided in an exemplary embodiment of the present application;
FIG. 17 is a block diagram of a data transmission device provided in one embodiment of the present application;
fig. 18 is a block diagram of a data transmission device provided in one embodiment of the present application;
fig. 19 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
The network architecture and the service scenario described in the embodiments of the present application are for more clearly describing the technical solution of the embodiments of the present application, and do not constitute a limitation on the technical solution provided in the embodiments of the present application, and those skilled in the art can know that, with the evolution of the network architecture and the appearance of the new service scenario, the technical solution provided in the embodiments of the present application is also applicable to similar technical problems.
Referring to fig. 1, a schematic diagram of a network architecture of a communication system according to an embodiment of the present application is shown. The network architecture may include: station 10 and access point 20.
The number of stations 10 is typically multiple, and each access point 20 may be associated with one or more stations 10. The Station 10 may include various handheld devices, in-vehicle devices, wearable devices, computing devices, or other processing devices connected to a wireless modem, as well as various forms of User Equipment (UE), mobile Station (MS), terminal devices (terminal devices), etc. For convenience of description, in the embodiment of the present application, the above-mentioned devices are collectively referred to as a station STA.
An access point 20 is a device deployed in an access network to provide wireless communication functionality for a station 10. The access point 20 may include various forms of wireless routers, wireless switches, wireless relay devices, or the like.
Optionally, not shown in fig. 1, the network architecture further includes other network devices, such as: gateway devices, and the like.
Association and communication between the station 10 and the access point 20 may be via wireless local area network technology, such as communication based on IEEE 802.11 protocols.
In a WLAN downlink multicast/broadcast scenario, an AP sends data to STAs to be served by multicast/broadcast, which may cause different receiving conditions of the data by each STA due to various factors, for example, for the same data block, different users (STAs) may successfully receive different data units therein, and at this time, different STAs may make retransmission requests for different data, which may cause redundant retransmission of the data and occupy more network resources.
For example, assuming that there is a data block containing data units 1 to 5, which is multicast-transmitted by the AP to three STAs, in which STA1 fails to receive data unit 1 and data unit 2 therein, STA2 fails to receive data unit 3 and data unit 4 therein, STA3 fails to receive data unit 5 therein, the AP needs to multicast-retransmit all of data units 1 to 5 according to the retransmission scheme in the related art.
Referring to fig. 2, a flowchart of a data transmission method according to an embodiment of the present application is shown, where the data transmission method may be performed by an access point AP, and the access point may be the access point 20 in the network architecture shown in fig. 1. The method may comprise the following steps:
Step 201, a data block is sent to at least two stations by multicast or broadcast mode, and the data block contains at least two data units.
Step 202, receiving block acknowledgement BA information sent by the at least two stations, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station.
And 203, performing exclusive or coding on the data units which are failed to be received by the at least two stations according to the BA information sent by the at least two stations, so as to obtain network coding data of the data block.
And step 204, transmitting the network coding data to the at least two stations in a multicast or broadcast mode.
In summary, according to the scheme shown in the embodiment of the present application, by obtaining the receiving condition of each station on the data unit, the data unit to be retransmitted is subjected to exclusive or coding, so that the data amount to be transmitted is reduced while each station is guaranteed to obtain the data unit which is not successfully received according to the coded data decoding, and thus the retransmission efficiency under the multicast or broadcast scene is improved.
Referring to fig. 3, a flowchart of a data transmission method according to an embodiment of the present application is shown, where the data transmission method may be performed by a first station, and the first station is any one of at least two stations, for example, the station 10 in the network architecture shown in fig. 1. The method may comprise the following steps:
Step 301, a data block sent by an access point in a multicast or broadcast manner is received, where the data block includes at least two data units.
Step 302, sending block acknowledgement BA information to the access point, where the BA information is used to indicate a reception situation of at least two data units by a corresponding station.
Step 303, receiving network coding data sent by the access point in a multicast or broadcast mode, where the network coding data is obtained by performing exclusive or coding on data units failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point.
Step 304, decoding the network encoded data to obtain a data unit of the first station failed to receive.
In one possible implementation manner, the frame header corresponding to the network coding data contains a data type identifier and exclusive or operation indication information;
the data type identifier is used for indicating whether the corresponding data is the network coding data or not;
the exclusive-or operation indication information is used for indicating the corresponding relation between the data units of the exclusive-or operation.
In one possible implementation, the data type identifier and the exclusive or indicating information are located in a section that follows the receive address field and the transmit address field.
In summary, according to the scheme shown in the embodiment of the present application, the receiving condition of each data unit in the data block is fed back to the access point, so that the access point performs exclusive-or encoding on the data unit that needs to be retransmitted by each station, thereby reducing the amount of data that needs to be transmitted while ensuring that each station can decode according to the encoded data to obtain the data unit that is not successfully received, and improving the retransmission efficiency in the multicast or broadcast scenario.
Referring to fig. 4, a schematic diagram of multicast/broadcast data transmission according to an exemplary embodiment of the present application is shown. As shown in fig. 4, the scheme shown in the present application can be divided into the following 4 stages:
stage one: the AP transmits the data blocks in multicast/broadcast form.
Stage two: the STA receives the multicast/broadcast data block and feeds back the reception situation.
Stage three: the AP performs network coding and transmits network coded data.
Stage four: the STA receives the network encoded data and performs the data.
The four-stage implementation process shown in fig. 4 may refer to the description in the following embodiments.
Referring to fig. 5, a flowchart of a data transmission method according to an embodiment of the present application is shown, where the method may be performed by an AP and at least two stations; the AP may be the access point 20 in the network architecture shown in fig. 1, and the station may be the access point 20 in the network architecture shown in fig. 1. As shown in fig. 5, the method may include the following steps.
In step 501, the access point sends data blocks to at least two stations in a multicast or broadcast mode, and correspondingly, each at least two stations receives the data blocks sent by the access point in a multicast or broadcast mode.
Wherein the data block comprises at least two data units.
The data transmission manner in the embodiments of the present application may be considered as a reliable data transmission manner, which is used to ensure that data is reliably transmitted. In one possible implementation, the step of sending by multicast or broadcast means by the access point may be as follows.
S1: the AP obtains data required to ensure reliable transmission and its destination of transmission (which may be presented in the form of a group address) from an upper layer protocol through a medium access control (Media Access Control, MAC) layer data service. Assuming that the AP knows the basic group situation of the STA of the target group address under the AP, maintain a multicast table containing all multicast addresses and STA address information under the jurisdiction thereof (in a reliable multicast scenario, the AP needs to ensure that each STA has completed receiving all data, so that the information can be known by the AP), and at the same time, open up a transmission buffer for each retransmission process, use the response flow of the ADDBA (Add BA, establish BA) service, negotiate information related to the Block acknowledgement (Block ACK, BA) mechanism with the STA, for example, the type of the Block acknowledgement mechanism used (typically using a compressed Block acknowledgement mechanism with retransmission multicast), the size of the buffer (TX/RX buffer), the lifetime of the Block ACK (i.e. Block ACK Timeout), and the starting Sequence Number (SN) of the data. The buffer area has different meanings according to different frame main bodies in the ADDBA service process. For example, a Request frame is sent by the AP, the transmission buffer size is declared, a Response frame is sent by the STA, and the reception buffer size is declared.
In order to enable the reliable transmission mechanism provided by the application to normally operate, when the ADDBA service negotiates the Block Ack protocol, a certain number of serial numbers can be reserved according to the network condition without requiring STAs in the multicast group to perform reception condition feedback, and the reserved SN is used for identifying the original data frame or the network coding frame of the reliable multicast/broadcast transmission designed by the application. The reservation of SN described above may be achieved through an ADDBA interaction and a DELBA (Delte BA, tear down BA) interaction, for example: the Block Ack protocol is established by ADDBA before data transmission, where the starting sequence number (Start Sequence Number, SSN) of the data frame being transmitted this time is declared, then a Block acknowledgement request (BAR request) BAR is transmitted after data transmission is completed, or a multicast with retransmission (Group Cast with Retries, GCR) MU BAR requests collection of sta reception feedback, where the size of data, i.e. the number of MAC layer protocol data units (MAC Protocol Data Unit, MPDU), is determined by the AP, and after BA feedback from the STAs is received and acknowledged, the Block Ack protocol is released by DELBA. The data frames sent in the time before the next ADDBA interaction need not be acknowledged by the Block Ack agreement after the previous DELBA interaction, and the SN of these data frames is the reserved SN.
In order to ensure that the subsequent codes can be combined, the frame to be confirmed needs to be forbidden to be blocked. This is a requirement for an extended length bitmap (bitmap) because the chunk field is used to indicate the size of the bitmap.
In step S1, the data to be reliably transmitted may refer to data transmitted by the reliable multicast transmission mechanism provided in the present application in the MAC layer data service used by the upper layer protocol, where the transmission address parameter is the address of the transmitting AP, the receiving address parameter is the multicast group (hidden) address (GCR concealment address), the routing information parameter is null, the data parameter is a MAC layer service data unit (MAC Service Data Unit, MSDU) to be processed by the MAC sublayer, and the service class parameter is a Block Ack. In one possible implementation, it is desirable to ensure that reliably transmitted data is divided into MPDUs of approximately equal length for transmission.
In step S1, the basic conditions of the STAs under the group address include information such as the number of STAs, the multicast group address, the multicast group hidden address, the personal address of the multicast group user, etc., and this information may be declared to the AP by the STA when the multicast service is established, so that the AP is informed.
The above requirements may be achieved by primitives between non-peer entities and frame interactions between peer entities when the reliable multicast transmission service provided in the present application is established, for example, by capability elements (Capability Element) for interactions when the multicast service is established.
S2: the AP performs data transmission in units of "data block"/"block" (a unit of one transmission, for example, a unit of downlink transmission of a data frame) in a multicast/broadcast manner according to a group address, and the data transmission rate can reach the fastest rate on the premise of ensuring that buffer areas of both transmitting and receiving sides do not overflow. And simultaneously storing the transmitted data into a transmission buffer area.
The BA mechanism differs from that in the related art in that the data of the transmission buffer is allowed to be released if and only if the received BA feedback shows that all STAs successfully decode the data block for reception.
The AP sends BAR (or uses a trigger frame GCR-MU-BAR with retransmission multicast multi-user block acknowledgement request) within a period of time after the transmission of the data block is completed to request the STA to perform the feedback receiving condition of the Block ACK, wherein a Starting Sequence Number sub-field of a BAR information field in the BAR request is a starting Sequence Number (SN) of the data block so as to inform the STA to perform acknowledgement feedback on the data in the data block.
In one possible implementation, the number of MPDUs in the "block" is determined by the AP, and may be modified by some method, and the number of MPDUs in each "block" of the current transmission is announced to all multicast group STAs in some way. For example: the data amount (MPDU number) of transmission after each Block Ack protocol establishment is taken as the MPDU number in the "Block".
In one possible implementation manner, the data transmission in the step S2 refers to: the exchange of MPDUs between peer MAC entities may be considered that the sender MAC layer sends MPDUs or aggregate MAC layer protocol data units (a-MPDUs) in logical channels, and the receiver MAC recovers, receives new MPDUs 'or a-MPDUs' in logical channels.
In one possible implementation, the data block in step S2 may be considered as a special a-MPDU, where the a-MPDU aggregates mpds of equal length. The MPDUs are newly defined MAC layer protocol data units, and may be referred to as reliable multicast transmission data frames.
In an exemplary scheme, reliable multicast transmission data frames are characterized by approximately equal length per frame, carrying specific payload (from other layers above the MAC layer) data (non-control or management frames) with identification bits that are different from the identification of normal data frames, with flag bits for distinguishing between original data and network encoded data. The identification bits may be identified using a source address field (SA) of the frame format.
For example, in the WLAN downlink multicast scenario, to ds=0 and from ds=1 (from the distribution system Distribution System, DS) in the frame control field, which indicates that, in the downlink multicast scenario, the AP sends To STAs in the multicast group, address 1 is the Receiving Address (RA) and is the multicast group address (address with single/multicast flag bit "1"), and address 2 is the Transmitting Address (TA) and is the AP address.
The rest of the address fields (address 3, source address SA) in this scenario are unnecessary, so, unlike the conventional multicast service, address 3 is split in units of two bytes, the first two bytes are used as the network coding data frame identification bits (one bit may be used for identification, and there are 15 reserved bits), and the second two bytes are respectively used as the sequence control numbers of the network coding data frames used for the current network coding data frame. For example, the high 15 of the two bytes of the head is reserved, no practical meaning exists, the lowest position of the two bytes of the head is 0, which represents that the reliable multicast transmission data frame is the original data frame, and the two last sections of contents are reserved at the moment, and no special meaning exists; 1 represents that the reliable multicast transmission data frame is a network coding data frame, and the last two segments (2 bytes each) are used to indicate the sequence control number, namely the segment number (FN) and the Sequence Number (SN), of the network coding data frame used by the network coding data frame. That is, a sequential control number consisting of segment information+sequence number is used as an indication of encoded data.
In one possible implementation, the address consists of 6 bytes, one bit (such as the last bit) of the first 2 bytes is used to indicate whether the frame is an original data frame or a network encoded data frame, the middle and last 2 bytes record sequence control information of length 2 bytes, respectively, the sequence control information being a 4-bit block sequence number (FN) and a 12-bit Sequence Number (SN), for example, the third to fourth bytes of address 3 together being 16 bits representing an unsigned integer value of the sequence number of the first data frame used for network encoding, and the fifth to sixth bytes of address 3 together being 16 bits representing an unsigned integer value of the sequence number of the second data frame used for network encoding. The first data frame and the second data frame for network coding refer to two exclusive-or units involved in exclusive-or network coding operation, and it should be noted that the two units are equivalent in ranking order, and the first and the second units are only distinguished by names. Through the service primitive, both MAC layers, i.e. the station management entity (Station Management Entity, SME) and the MAC layer management entity (MAC sublayer Management Entity, MLME), are instructed to perform reliable multicast transmission and reception, so when the sta receives the Address 1 (RA) of the transmitted data as the group Address, it can identify the data as downlink multicast data, and learn that the original Address field and the destination Address field are used as the instruction fields.
Because the Address 3 field in the conventional multicast data frame is the Source Address (SA), and should be equal to the Address of the AP (the transmission Address, TA, i.e. BSSID), and both are unicast addresses, the Address 3 field modified by the above mechanism is necessarily different from the Address 3 field of the conventional multicast data frame, and at this time, it can be determined whether the data frame is a newly defined reliable multicast transmission data frame by adding a determination condition.
Since the address field is rewritten, it is required to repackage the data frame recovered by another protocol into the reliable multicast transmission data frame in the AP router in the downstream reliable multicast scenario. For example, the multicast data frame transmitted from the limited network needs to be sent to the under jurisdiction STAs in a wireless form through the AP, and at this time, the MAC layer frame Header field needs to be removed and then repackaged according to the above rule, so as to meet the content requirement of the reliable multicast retransmission data frame.
In a possible implementation manner, the data transmission rate selection in the step S2 may ensure that the sender buffer and the receiver buffer will not overflow at the same time, and the highest rate is achieved.
Step 502, at least two stations send block acknowledgement BA information to the access point, and correspondingly, the access point receives BA information sent by the at least two stations.
The BA information is used to indicate the receiving condition of the corresponding station for the at least two data units.
In the embodiment of the present application, the steps of the scheme in which the station receives multicast/broadcast data and performs BA feedback may be as follows.
Step S1: the STA receives the data, opens up a buffer area arranged according to a Sequence Number (SN) for the Block, stores the received data in the buffer area, simultaneously detects the error of the received data frame by using FCS in MPDU, and maintains its own receiving state record (Scoreboard context control) according to the Block ACK protocol in 802.11.
In one possible implementation manner, the receiving the data in step S1 includes: after receiving the MAC frame uploaded and deaggregated by the PHY layer, the STA checks the frame control section to obtain the data frame (non-control and management frame) sent to the STA by the AP; checking address 1 (receiving address) to know it is a multicast frame; the reliable multicast transmission data frame is obtained through the comparison of the address 2 and the address 3 (the address 2 is not equal to the address 3); checking the address 3 to obtain the original data frame or the network coding data frame in the reliable multicast transmission data frame; if the first and second bytes of address 3 are 1, the third through sixth bytes of address three are checked to determine the SN sequence number for exclusive or encoding.
Step S2: and according to the ADDBA negotiation condition and the received BAR, performing Block ACK feedback on the Block which is not completely decoded and received, and informing a sender (AP) of the receiving condition in the form of BA frames.
In one possible implementation, buffer information is attached to BA information for the AP to decide on the transmission policy to use.
The cache area information may be obtained as follows: the buffer size of the receiving end is informed to the sending end in the ADDBA at the beginning, meanwhile, the sending end knows the data quantity transmitted each time, and the release storage can only happen after the data block is successfully decoded and received, so the overall required buffer size can be obtained according to the maintained reliable multicast retransmission process quantity and the data quantity of each process. And the conditions and factors for determining the transmission rate are already known by the transmitting end.
In the step S2, in the same transmission process, the BA mechanism is different from that in the related art in that: a new BA mechanism is contracted. The new BA mechanism may be as follows:
since multiple transmission/acknowledgement processes are allowed to exist, unlike the data in the buffer of the BA mechanism in the related art that is released earlier than the initial sequence number after receiving a new BAR, the data in the receive buffer in the embodiments of the present application is allowed to be released if and only if the STA successfully decodes the data block and feeds back the successful reception.
Step S3: and uploading the cache data according to a specified mechanism. The designating mechanism in the above step S3 can be divided into two cases:
1) And (5) uploading in real time: after the data is successfully decoded and received, directly uploading the data to an upper protocol;
2) Uploading the whole block: and only after all data in the block are successfully decoded and received, uploading the whole data together to an upper layer protocol.
The upper layer protocol refers to other processing flows after the MAC layer processing flow related to the step.
In step 503, the access point determines at least one data unit pair from the at least two data units based on BA information sent by the at least two stations, where the data unit pair includes two data units.
In one possible implementation, the determining at least one data unit pair from the at least two data units based on BA information sent by the at least two stations includes:
constructing a BA bitmap matrix based on BA information sent by the at least two stations, wherein the value of the p-th row and the q-th column in the BA bitmap matrix is used for indicating the receiving information of the p-th station to the q-th data unit, and the receiving information comprises receiving success or receiving failure;
acquiring row weights of all rows in the BA bitmap matrix and column weights of all columns in the BA bitmap matrix; the row weight is positively correlated with the value in the corresponding row; the column weight is positively correlated with the value in the corresponding column;
The at least one data unit pair is determined sequentially from the at least two data units based on the row weights of the rows in the BA bitmap matrix and the column weights of the columns in the BA bitmap matrix.
In one possible implementation, when the value of the p-th row and the q-th column in the BA bitmap matrix is 0, the p-th station is indicated to fail to receive the q-th data unit;
and when the value of the p-th row and the q-th column in the BA bitmap matrix is 1, the p-th site is indicated to successfully receive the q-th data unit.
In one possible implementation, when the value of the p-th row and the q-th column in the BA bitmap matrix is 0, the p-th station is indicated to fail to receive the q-th data unit; when the value of the p-th row and the q-th column in the BA bitmap matrix is 1, indicating that the p-th site successfully receives the q-th data unit;
the determining the at least one data unit pair from the at least two data units in turn based on the row weights of the rows in the BA bitmap matrix and the column weights of the columns in the BA bitmap matrix, comprising:
determining a target row in the BA bitmap matrix when determining an ith data unit pair of the at least one data unit pair, the target row being a row having a minimum current row weight;
Determining a column meeting a first condition and a column meeting a second condition in the BA bitmap matrix according to the target row; the first condition includes: in the column corresponding to element 0 of the target row, the column weight is the smallest; the second condition includes: in the column corresponding to the 1 element of the target row, the column weight is the smallest;
taking the data units corresponding to the columns meeting the first condition and the data units corresponding to the columns meeting the second condition as the ith data unit pair;
performing OR operation on element values belonging to the same row in a column meeting the first condition and a column meeting the second condition;
the value of one of the columns satisfying the first condition and the columns satisfying the second condition is replaced with the result of the or operation, and the value of the other column is set to 1.
In one possible implementation, the determining, when determining the ith data unit pair in the at least one data unit pair, a target row in the BA bitmap matrix, the target row being a row with a minimum current row weight, includes:
when a 0 value element exists in each element in the BA bitmap matrix, the step of determining a target row in the BA bitmap matrix, the target row being the row with the smallest current row weight, in determining the ith data unit pair in the at least one data unit pair is performed.
In one possible implementation, the determining the at least one pair of data units from the at least two data units in turn based on the row weights of the rows in the BA bitmap matrix and the column weights of the columns in the BA bitmap matrix includes:
when the BA bitmap matrix satisfies a specified condition, determining the at least one data unit pair from the at least two data units in turn based on row weights of each row in the BA bitmap matrix and column weights of each column in the BA bitmap matrix;
wherein the specified condition includes at least one of the following conditions:
the number of 0-valued elements in the bitmap matrix or vector is greater than a number threshold; the bitmap matrix or vector is a vector obtained by each row in the BA bitmap matrix according to bits;
the line weight of the BA bitmap matrix is smaller than a line weight threshold;
the ratio of the row weight of the BA bitmap matrix to the number of individual data units is less than a first ratio;
the column weight of the BA bitmap matrix is smaller than a column-row weight threshold;
the ratio of the column weight of the BA bitmap matrix to the number of individual data units is less than a second ratio.
In one possible implementation manner, the exclusive or coding is performed on the data units failed to be received by the at least two stations according to BA information sent by the at least two stations, and before obtaining the network coding data of the data block, the method further includes:
Acquiring channel quality reports of all stations;
and determining the stations of which the corresponding channel quality reports meet the quality conditions as the at least two stations.
In step 504, the access point performs exclusive-or operation on the data units in the at least one data unit pair, respectively, to obtain network coding data of the data block.
And for each data unit pair, the access point performs exclusive OR operation on two data units in the data unit pair, and at least one data unit pair obtains network coding data of the data block according to the exclusive OR operation result.
Because the network coding data is obtained through the exclusive OR operation between the data units, the data quantity of the network coding data is smaller than that of all the data units which are not successfully received.
In step 505, the access point sends the network coding data to the at least two stations in a multicast or broadcast mode, and correspondingly, the at least two stations receive the network coding data sent by the access point in a multicast or broadcast mode.
In one possible implementation manner, the frame header corresponding to the network coding data contains a data type identifier and exclusive or operation indication information;
The data type identifier is used for indicating whether the corresponding data is the network coding data or not;
the exclusive-or operation indication information is used for indicating the corresponding relation between the data units of the exclusive-or operation.
In one possible implementation, the data type identifier and the exclusive or indicating information are located in a section that follows the receive address field and the transmit address field.
The network coding and transmission processes of the steps 503 to 505 can refer to the following steps.
Step S1: and the AP receives BA information fed back by the STA, determines whether a reliable multicast transmission mechanism provided by the application is needed or not according to the data block and the received bitmaps in the BA information by using a selection algorithm, and selects data units to execute pairwise exclusive or network coding.
The network coding of the exclusive or of every two in step S1 may be: exclusive-or operation is performed on data units (such as MPDUs or MSDUs) in a data block, each operation uses two data units, a new data sequence is formed after bitwise exclusive-or operation is performed, and the new data sequence is called network coding data formed after pairwise exclusive-or network coding operation.
In one possible implementation, the access point may use the MSDU as a base data unit for the xor network encoding operation.
In one possible implementation, the process of the selection algorithm in step S1 may be as follows.
Calculating characteristic information according to BA information:
first, bitmaps (n users) of each BA information are subjected to simplification processing (such as deleting repeated rows, or absorbing rows whose "1" value is completely contained) to form a matrix BAsM (i.e., the above BA bitmap matrix), where each bit in a bitmap represents a receiving situation of one STA on one MPDU.
The following characteristic information is then calculated as described in table 1.
TABLE 1
Feature information Detailed description of characteristic information
ROWweight Row weight vector for BAsM matrix
COLweight Column weight vector of BAsM matrix
BAsAND Each row of the BAsM matrix bitwise sums the vector
BAsOR Bit-wise OR vector of each row of BAsM matrix
Then, code judgment is carried out: i.e., evaluating the overall reception situation based on the number of BAsOR vector "0" values, rowwight and COLweight, to determine whether to use the reliable data transmission provided by the present application and for which STAs to use the reliable data transmission provided by the present application; or, code judgment is performed according to information such as channel quality report, received power feedback (or other indexes related to frame error rate and bit error rate) and the like, so as to judge whether multicast retransmission based on network coding enhances network performance, and further determine whether to use the reliable data transmission mechanism provided by the application in transmission or not, and how to use the reliable data transmission mechanism provided by the application.
For example, the access point directly decides according to BAsM matrix characteristic information: if the number of BAsOR vectors "0" is large and/or the values of the rowwight and COLweight are small (or the ratio of the values to the data k is small), the transmission quality is considered to be poor, the probability of transmission failure by using the network coding mechanism is still large, the retransmission number may not be effectively reduced, and excessive operation cost is brought, so that the transmission performance cannot be effectively improved, and at this time, other mechanisms should be used to improve the transmission situation, such as CC-HARQ or IR-HARQ.
For example, the access point employs a "packet" transmission policy: if the received user channel quality report shows that the channel quality among the users has obvious level difference, classifying the multicast group member users based on different channel quality, and taking the frame error rate as a judgment index for illustration: some users have an average frame error rate of 1% or less, some users have 1% to 5%, some users have 5% to 8%, and some users have 8% or more, and the users can be divided into 4 groups according to the above description. And informs each class of users that the following data transmission will be performed using different transmission strategies by some mechanism, providing data services at different rates.
For another example, a "filter" transmission strategy is employed: if the channel quality report of a very individual user shows that the channel quality is significantly worse than that of other users, the user is informed by some mechanism that the reliable multicast transmission service cannot be provided for the user, and then the user is not required to feed back the receiving condition in the process, or the receiving condition (relatively bad) of the user is ignored in the actual encoding process, so as to prevent the overall performance from being influenced to meet the individual requirement. The information of the acceptance failure can also be sent separately by means of multicast to unicast (DMS).
After determining to use the reliable transport mechanism provided by the present application, the access point may select the data to be exclusive-ored by:
selecting the row with the smallest ROWweight, selecting the bit with the smallest COLweight (corresponding to a column of BAsM) in the '0' bit and the bit with the smallest COLweight (corresponding to a column of BAsM) in the '1' bit in the row as the data to be exclusive-or coded, and optionally selecting one row to execute the steps when the plurality of rows of ROWweights are the same and the minimum ROWweights exist;
taking OR from the row selected as BAsM corresponding to the data to be exclusive-ored to replace one row, and setting the other row as all 1 to obtain a new matrix;
And selecting data to be exclusive-ored according to the new ROWweights and COLweights according to the rule, repeating the steps until all matrix elements are 1, and recording the column code number of the data to be exclusive-ored.
After obtaining the data unit to be xored, the pairwise exclusive or network coding can be calculated:
and carrying out exclusive-or operation on the data units to be exclusive-or according to the numbers of the data units to be exclusive-or, thereby obtaining network coding data.
Referring to fig. 6, which shows a schematic diagram of a selection algorithm according to an embodiment of the present application, a matrix 6*5 in fig. 6 is a BAsM matrix composed of bitmaps, representing the receiving situation of 6 users on data (# 1, #2, #3, #4, # 5), "1" represents successful decoding receiving, and "0" represents unsuccessful decoding receiving, and the row and column augmentation are respectively described above for COLweights and rowwweights.
The network coding data in the downlink multicast scene should be distinguished from the original data, so that the receiving party (STAs) can know which two groups of data in which "block" data are obtained by performing the exclusive or network coding.
When the feedback received in step S1 indicates that all data has been successfully decoded and received, the transmission buffer is released, and network coding is not performed, so as to end the block transmission.
Step S2: the network coding data formed in the step S1 is repackaged into reliable multicast transmission data frames-network coding data frames (MPDUs) as MSDUs, and added to a network coding data transmission queue to be ready for transmission in a broadcast form.
The network coding data transmission queue may include a data identification bit storage area for recording a sequence number of network coding data in the queue, where the indication of the network coding data in the queue is from the network coding data generated by the network coding module; and a transmission decision mechanism for deciding when to transmit the network encoded data frame.
The determination conditions of the above-described transmission determination mechanism are exemplified as follows:
1. when the number or size of network coding data in the network coding data transmission queue meets a certain condition (for example, when the network coding data in the queue is enough to form an A-MPDU meeting the size requirement, placing a network coding data frame into a data area to be transmitted of the MAC layer and aggregating to form the A-MPDU to be transmitted);
2. when delay information of original data corresponding to network coding data in a network coding data frame meets a certain condition, for example, an AP knows through other mechanisms: the original data corresponding to the network coding data carried by the network coding frame in the queue N number needs to be immediately delivered to prevent the data receiving failure caused by overlong delay or exceeding the longest allowable time, and then the data corresponding to the queue is directly sent.
When the above 1 st determination method is adopted, in order to consider the time delay performance, one network coding data transmission queue may need to correspond to multiple original data transmission queues to ensure timely delivery of data, and the number correspondence of the two queues is related to the selection algorithm and the performance requirement.
The original data transmission queue is a concept corresponding to the network coding data transmission queue, and comprises a data identification bit storage area for recording the sequence number of original data in the queue, wherein the data is from the requirement of an upper protocol (such as data from an IP-LLC layer and needs to be sent to STAs) and meets the constraint of a BA transmission window; and a transmission decision mechanism for deciding when to transmit the original data frame.
The above-mentioned original data transmission queue and network coding data transmission queue are a logic concept in the system, and can be carried by a unified scheduling mechanism to coordinate the number of original data frames and network coding data frames sent by the AP.
Step S3: and (3) transmitting the network coding data in the network coding data transmission queue meeting the conditions in the step S2 to the members in a broadcast mode.
And step 506, at least two stations decode the network coded data to obtain corresponding data units of which the stations fail to receive.
In one possible implementation manner, taking a first station of the at least two stations as an example, the first station includes a receiving buffer area for buffering the successfully received data units in the data units;
the decoding the network encoded data to obtain a data unit of the first station failed to receive, including:
analyzing the frame head corresponding to the network coding data to obtain the data type identifier;
when the data type identification indicates that the corresponding data is the network coding data, analyzing the exclusive-or operation indication information;
and decoding the network coded data through the data units in the receiving buffer area according to the exclusive OR operation indication information to obtain the data units which are failed to be received by the first station.
In one possible implementation, the buffer is released after each data unit in the data block is successfully received and reported.
Correspondingly, the access point comprises a transmission buffer area for buffering each data unit; and when the BA information sent by the at least two stations indicates that the at least two stations successfully receive the data units, the access point releases the sending buffer zone.
And each station decodes and recovers the unsuccessfully received decoded data in the block by utilizing the network coding data in the subtype network coding data frame of the received reliable multicast transmission data frame, and then shifts to the stage II after the decoding is completed, and the decoded data is regarded as the data received in the stage II. Similar to stage two, if all data is successfully decoded for reception and uploading to the upper layer, the data block transmission is considered to be ended.
Referring to fig. 7, a flowchart of an execution of an access point in a data transmission process according to an embodiment of the present application is shown.
Referring to fig. 8, a flowchart of a station performing a data transmission process according to an embodiment of the present application is shown.
In fig. 8, data reception is triggered by the reception of a reliable multicast transmission data frame or data block formed by aggregation thereof, and thus the reception flow receives only a scene for one data frame or data block.
Referring to fig. 9, a new frame structure of a data block according to an embodiment of the present application is shown. This structure may be referred to as a reliable multicast transmission data Frame, as shown in fig. 9, in which the Frame Control field to HT Control field is a MAC Header segment.
Fig. 10 is a schematic structural diagram of a reliable multicast transmission module in an AP according to an embodiment of the present application. As shown in fig. 10, the reliable multicast transmission module is as follows:
The reliable multicast transmission service triggering module is included to determine whether the reliable multicast transmission mechanism provided by the embodiment of the application needs to be used.
The reliable multicast transmission frame reorganization module is used for reorganizing the received data with the target address being the multicast address after the reliable multicast transmission mechanism provided by the embodiment of the application is determined to be needed to be used, so as to form a reliable multicast transmission data frame.
The system comprises a multicast member maintenance module, which records the multicast group condition participated by the STAs under the control of the AP, and maintains a multicast table containing all multicast group addresses in the STAs under the control and the STAs addresses of the corresponding members by utilizing a interception function.
The network coding method comprises a network coding module, wherein the network coding operation provided by the embodiment of the application is executed, and comprises a selecting function for selecting data to be coded; includes coding function for implementing exclusive or network coding, and network coding data transmission queue function for deciding when to transmit network coding data.
The system comprises a rate control module for executing the rate control and buffer management functions in the scheme provided by the embodiment of the application. The implementation of the rate control function depends on the state of the self-sending buffer area and the feedback condition of the multicast group STAs under jurisdiction on the self-receiving buffer area.
The reliable multicast transmission module shown in fig. 10 described above needs to be additionally deployed in a third layer network switch (wireless AP router) with a wireless distribution function to implement the required functions.
Fig. 11 is a schematic structural diagram of a reliable multicast transmission module in an STA according to an embodiment of the present application. As shown in fig. 11, the reliable multicast transmission module is as follows:
the system comprises a reliable multicast transmission service identification module, and the system acquires that the AP is performing reliable multicast transmission by identifying a data frame from the AP and prepares to perform relevant receiving work (such as developing a buffer area, preparing to perform feedback and the like).
The reliable multicast transmission frame identification module is used for identifying the type of the received frame from the AP, and specifically comprises the following steps: whether the data frame is transmitted for reliable multicast or whether the data frame is network coded.
The network coding and decoding module is used for carrying out joint decoding on the buffer data and the received network coding data to obtain a data frame which is failed to be decoded in the prior transmission process.
The system comprises a rate feedback module, and is used for carrying out transmission rate related feedback on the AP according to the transmission rate of a sender and the condition of the self-cache region, so as to realize the flow control requirement and prevent the self-cache region from overflowing and unnecessary data discarding.
The reliable multicast transmission module shown in fig. 11 needs to be additionally deployed in the existing station equipment (STA) with wireless function to implement the required functions.
The embodiment of the present application further provides a MAC layer service function class deployed in the reliable multicast transmission module shown in fig. 10 or fig. 11 and used for supporting the reliable multicast transmission scheme shown in the present application. The MAC layer service function class belongs to the group data transfer service (Group Addressed Transmission Service, GATS) with retransmission multicast (GCR), also known as network coding reliable multicast transfer service.
Please refer to fig. 12 to 14, wherein fig. 12 illustrates a schematic diagram of a reliable multicast transmission service according to an embodiment of the present application. Fig. 13 shows a schematic diagram of a reliable multicast transmission service sending sub-flow according to an embodiment of the present application. Fig. 14 shows a schematic diagram of a reliable multicast transmission service receiving sub-flow according to an embodiment of the present application.
As shown in fig. 12, it is first determined whether reliable multicast transmission service is initiated by receiving a reliable multicast transmission data frame identified. If yes, the STA receives the reliable multicast transmission data frame sent by the AP through the wireless channel, so the receiving process as shown in fig. 13 needs to be started; if not, the representative router-AP receives the data to be transmitted by the reliable multicast transmission mechanism through other protocols, and needs to transmit the data to the downstream STAs belonging to the multicast group requiring the data in a reliable multicast transmission manner, so that the transmission flow shown in fig. 14 needs to be started.
The flow of the data transmission phase performed in the transmission sub-flow of the reliable multicast transmission service is shown in fig. 7.
The flow of the data reception phase performed in the reception sub-flow of the reliable multicast transmission service is shown in fig. 8.
In one possible implementation manner, before data transmission through the reliable multicast transmission service, at least two stations respectively send a multicast request with retransmission to an access point; the reserved value of the sub-field of the retransmission strategy of the group data transmission service GATS in the sub-element with the retransmission multicast request is used for indicating the network coding retransmission strategy; the network coding retransmission strategy is a strategy for retransmitting the data block through network coding data of the data block; correspondingly, the access point receives the multicast request with retransmission, and sends a confirmation response to the network coding retransmission strategy to at least two stations, and the at least two stations receive the confirmation response to the network coding retransmission strategy sent by the access point, namely, can confirm the subsequent retransmission and reception of the data block through the network coding data of the data block.
Embodiments of the present application provide a scheme for indicating a new group data transmission service used in a MAC layer service class using a reserved value of a group data transmission service (Group Addressed Transmission Service, GATS) retransmission policy (Retransmission Policy) subfield in a retransmission multicast request sub-element (GCR Request subelement).
Referring to fig. 15, a schematic diagram of a network coding reliable multicast transmission service indication manner according to an embodiment of the present application is shown. As shown in fig. 15, the network encoded reliable multicast transmission service is indicated with a reserved value "4" in GATS Retransmission Policy in the GCR Request sub-element in Optional subelement allowed in the DMS descriptor sub-field in the DMS Request element. The multicast data transmission service-retransmission policy subfield mapping relationship may be as shown in table 2 below.
TABLE 2
Value of GATS retransmission strategy Remarks
0 No preference 802.11 standard provision
1 DMS 802.11 standard provision
2 GCR unsolicited retry 802.11 standard provision
3 GCR Block Ack 802.11 standard provision
4 GCR Network code The proposal is newly added with
5-15 Reserved 802.11 standard provision
The carrier DMS Descriptor subfield information of the reliable multicast transmission service of the network coding informs MLME (MAC sublayer Management Entity) of STA by SME (Station Management Entity) of STA requiring multicast data service through MLME-gats.request primitive, MLME encapsulates it into DMS Request frame and sends it to MLME of peer AP, MLME of AP informs SME of AP through MLME-gats.indication primitive, and selects specific GATS according to a certain policy. And then the AP responds to the STA for multicast transmission service, the SME of the AP informs the MLME of the AP through an MLME-GATS. Response primitive, the MLME of the AP encapsulates the MLME into a DMS Response frame and sends the DMS Response frame to the MLME of the peer STA, and the MLME of the STA informs the SME of the STA through the MLME-GATS. Response primitive to confirm the multicast transmission service.
In one possible implementation, for a "legacy device" that supports GATS but does not support network-coded reliable multicast transmission services, if the multicast traffic flow is of low importance (priority), the AP indicates in the DMS Response frame that the STA will use GCR unsolicited retry active retransmission for multicast data transmission when establishing the multicast service. And then, when the AP is actually transmitted, carrying out network coding reliable multicast transmission according to the Block Ack feedback of non-traditional equipment, wherein an address 1 in a network coding reliable multicast transmission data frame uses a GCR hidden address (concealment address) to prevent a multicast group member STA which does not support GATS from receiving GCR data, wherein an original data frame is only changed for an address 3, the traditional equipment can normally decode and receive the GCR data, the network coding data is transmitted in an A-MSDU mode according to standard requirements in an MSDU segment, the DA field of the A-MSDU subframe structure is not in accordance with the actual multicast group address because of exclusive OR network coding (because the same multicast group belongs to, the DA field in the A-MSDU subframe structure in the original data is the multicast group address, the DA field of the encoded A-MSDU subframe structure is all 0), and the traditional equipment can directly discard the received network coding data frame. At this time, for the legacy device, only the data that is transmitted for the first time can be received, the AP will not respond to the feedback of the legacy device, and will not retransmit it.
In one possible implementation, for a "legacy device" that supports GATS but does not support network-coded reliable multicast transport services, if the multicast traffic flow importance (priority) is high, the AP indicates in the DMS Response frame that the STA will use DMS (direct multicast service) for multicast data transmission (if supported) when establishing the multicast service. The multicast data is then sent to legacy devices in unicast form through the DMS. For example, where the RA of the MPDU is the personal address of the STA, where the DA field of the A-MSDU is the multicast group address, upon receipt of such a frame the STA knows that the frame is multicast data sent using the DMS.
In one possible implementation, for a "new device" supporting a reliable multicast transmission service for network coding, where the channel quality of the portion "filtered" in the network coding flow is poor, the portion of user feedback is selected to be ignored (data reliability is not guaranteed) or sent in unicast after a certain time by means of DMS, according to the importance (priority) of the traffic flow. Wherein the certain time is required to be shorter than the "lifetime" of the frame, and the certain time is required to be enough for the STA to recover a certain data unit according to the network encoded data.
The indication of the information may be implemented using vendor custom segments in the MLME-GATS family primitive.
The scheme disclosed by the application aims at reducing the retransmission data amount in a downlink group/broadcast retransmission scene, saving network resources and improving network throughput on the premise of ensuring reliable data reception.
Compared with a DMS scheme of unicast forwarding, the scheme can utilize a group/broadcast transmission mode to avoid occupation of unicast wireless resources.
Compared with GCR with BlockACK, according to the selection method described in the embodiment of the application, the transmission data volume can be the same as the maximum failure receiving quantity of a single user under the optimal theoretical condition, and the data volume can be reduced by one transmission unit compared with the traditional multicast retransmission data volume during retransmission under the worst condition.
Through mathematical simulation of a selection algorithm, under the condition that the channel bit error rate is 10-5 (the corresponding frame error rate is about 0.08 and the occurrence of frame error events is considered to be mutually independent), and the number of users is 1000, compared with a direct broadcast retransmission scheme, the scheme shown in the embodiment of the application can reduce the transmission data amount by about 24% during the first retransmission; under the condition that the channel bit error rate is 10 < -6 > (the corresponding frame error rate is about 0.01 and the occurrence of frame error events is considered to be mutually independent), and the number of users is 200, compared with a direct broadcast retransmission scheme, the scheme can reduce the transmission data quantity by about 43 percent in the first retransmission. And under the condition that the number of users is 200 and the average frame error rate is 0.08, compared with a direct broadcast retransmission scheme, the throughput performance of the scheme can be improved by about 25%.
Meanwhile, the two-by-two exclusive-or network coding (relative to any exclusive-or network coding, i.e. network coding allowing multiple data exclusive-or) used by the scheme disclosed by the embodiment of the application has the property of providing the maximum information gain by a single exclusive-or operation, so that the benefit provided by the computing resource is the maximum, and the example proves that:
when data A, B, C, D and E are to be transmitted, 5 users respectively have 1 mutually different data decoding and receiving failures in the first broadcast transmission, namely, the feedback BAsM matrix is characterized in that: 5*5, with the auxiliary diagonal of 0 and the remaining elements of 1, has an information gain of 1 for a user who did not successfully decode received data A
Figure PCTCN2020127292-APPB-000001
The calculation can be performed by the following formula:
Figure PCTCN2020127292-APPB-000002
wherein BCDE and
Figure PCTCN2020127292-APPB-000003
can uniquely determine A, so
Figure PCTCN2020127292-APPB-000004
Obviously 0, if the ABCDE data are not considered to be correlated, then H (a|bcde) =h (a), at which time four exclusive-or operations are performed in total, so that a single exclusive-or operation provides an information gain of H (a)/4.
Meanwhile, compared with the GCR of active retransmission, the scheme can ensure that all users successfully decode and receive target data, and simultaneously reduce the occupation condition of group/broadcast wireless resources.
In summary, according to the scheme shown in the embodiment of the present application, by obtaining the receiving condition of each station on the data unit, the data unit to be retransmitted is subjected to exclusive or coding, so that the data amount to be transmitted is reduced while each station is guaranteed to obtain the data unit which is not successfully received according to the coded data decoding, and thus the retransmission efficiency under the multicast or broadcast scene is improved.
In another possible implementation, for the exclusive or coding part in the embodiment shown in fig. 5 described above, the following coding strategy may be used instead:
a multicast retransmission mechanism based on linear random network coding may be employed. Only the number N of data not received by the STA with the least data in the received data block needs to be counted before encoding NACK Then randomly generate N NACK The linear coding parameters are set, all data are multiplied by the corresponding linear coding parameters and added to calculate N NACK And (5) network coding the data packet to obtain final network coding data. And transmitting the network coding parameters and the generated network coding data together during transmission. And the receiving party decodes the original data by utilizing the network coding parameters and the network coding data. The theoretical optimum of the network coding scheme (maximum information gain provided per network coded packet) can be reached in terms of network resource occupancy at this time. The scheme is different from the frame structure adopted by the exclusive or coding scheme, and a linear random network coding retransmission mechanism is adopted in the scheme, so that a field for identifying a parameter value used by the current random network coding is added in a newly defined network coding data frame subtype belonging to a reliable multicast transmission data frame.
Referring to fig. 16, a frame header diagram of a frame structure of a data block according to an exemplary embodiment of the present application is shown. As shown in fig. 16, the frame structure is as follows:
adding a new identification bit in the MAC Header: isTGC-reliable multicast transmission frame identification bit, 0 represents unreliable multicast transmission data frame, and other newly added structures (network coding data frame identification bit and network coding operation sequence number subfield) are set to be reserved and not to play a role; and 1 represents a reliable multicast transmission data frame. Adding a new identification bit: isNetCode, a network coding data frame identification bit, 0 represents an original data frame, and a newly added network coding operation sequence number subfield is set to be reserved and not to play a role; the representation 1 is a network encoded data frame. A new SN1, SN2 two network coding operation sequence number subfields are added to indicate the sequence number SN of the data frame used by the network coding operation. Other frame structures are consistent with the MAC layer data frame structure in 802.11.
When the frame structure shown in fig. 16 is used, for a "legacy device" supporting GATS but not supporting the network coding reliable multicast transmission service according to the present scheme, if radio resources are sufficient, a conventional GCR multicast service (such as GCR Block Ack retransmission policy) can be provided to the legacy device alone at a relatively low service rate, and a "new device" supporting the network coding reliable multicast transmission service according to the present scheme can be provided with the network coding reliable multicast transmission service according to the present scheme at a relatively high service rate.
In order to prevent the collision problem caused by the "new device" receiving the traditional GCR multicast service data frame (mainly manifested in the handover aspect of the GCR policy), different GCR hidden addresses will be allocated by the AP to the multicast (sub-) group using different GCR retransmission policies at the beginning of the multicast service setup to distinguish between different GCR services.
The following are device embodiments of the present application, which may be used to perform method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
Referring to fig. 17, a block diagram of a data transmission device according to an embodiment of the present application is shown. The device is used in an access point and has the function of implementing the steps performed by the access point in the method shown in fig. 2 or fig. 5 described above. As shown in fig. 17, the apparatus may include:
a data block sending module 1701, configured to send a data block to at least two sites by multicast or broadcast, where the data block includes at least two data units;
a confirmation information receiving module 1702, configured to receive block confirmation BA information sent by the at least two stations, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
The encoding module 1703 is configured to perform exclusive-or encoding on the data units that fail to be received by the at least two sites according to BA information sent by the at least two sites, so as to obtain network encoded data of the data block;
the encoded data sending module 1704 is configured to send the network encoded data to the at least two sites by multicast or broadcast mode.
In one possible implementation, the encoding module 1703 includes:
a data unit pair determining submodule, configured to determine at least one data unit pair from the at least two data units based on BA information sent by the at least two stations, where the data unit pair includes two data units;
and the exclusive OR operation sub-module is used for carrying out exclusive OR operation on the data units in the at least one data unit pair to obtain network coding data of the data block.
In one possible implementation, the pair of data units determines the sub-module, for,
constructing a BA bitmap matrix based on BA information sent by the at least two stations, wherein the value of the p-th row and the q-th column in the BA bitmap matrix is used for indicating the receiving information of the p-th station to the q-th data unit, and the receiving information comprises receiving success or receiving failure;
Acquiring row weights of all rows in the BA bitmap matrix and column weights of all columns in the BA bitmap matrix; the row weights are positively correlated with the values in the corresponding rows; the column weights are positively correlated with the values in the corresponding columns;
the at least one data unit pair is determined sequentially from the at least two data units based on row weights for each row in the BA bitmap matrix and column weights for each column in the BA bitmap matrix.
In one possible implementation manner, when the value of the p-th row and the q-th column in the BA bitmap matrix is 0, the p-th station is indicated to fail to receive the q-th data unit;
and when the value of the p-th row and the q-th column in the BA bitmap matrix is 1, indicating that the p-th site successfully receives the q-th data unit.
In one possible implementation manner, when the value of the p-th row and the q-th column in the BA bitmap matrix is 0, the p-th station is indicated to fail to receive the q-th data unit; when the value of the p-th row and the q-th column in the BA bitmap matrix is 1, indicating that the p-th site successfully receives the q-th data unit;
the pair of data units determining submodule for,
determining a target row in the BA bitmap matrix when determining an ith data unit pair in the at least one data unit pair, wherein the target row is a row with the minimum current row weight;
Determining columns meeting a first condition and columns meeting a second condition in the BA bitmap matrix according to the target row; the first condition includes: in the column corresponding to the 0 element of the target row, the column weight is minimum; the second condition includes: in the column corresponding to the 1 element of the target row, the column weight is minimum;
taking the data units corresponding to the columns meeting the first condition and the data units corresponding to the columns meeting the second condition as the ith data unit pair;
performing OR operation on element values belonging to the same row in a column meeting the first condition and a column meeting the second condition;
the value of one of the columns satisfying the first condition and the columns satisfying the second condition is replaced with the result of the or operation, and the value of the other column is set to 1.
In one possible implementation, the pair of data units determines the sub-module, for,
and when 0 value elements exist in each element in the BA bitmap matrix, executing the step of determining a target row in the BA bitmap matrix when the ith data unit pair in the at least one data unit pair is determined, wherein the target row is the row with the minimum current row weight.
In one possible implementation, the pair of data units determines the sub-module, for,
when the BA bitmap matrix meets a specified condition, determining the at least one data unit pair from the at least two data units in sequence based on row weights of each row in the BA bitmap matrix and column weights of each column in the BA bitmap matrix;
wherein the specified condition includes at least one of the following conditions:
the number of 0-valued elements in the bitmap matrix or vector is greater than a number threshold; the bitmap matrix or vector is a vector obtained by each row in the BA bitmap matrix according to bits;
the line weight of the BA bitmap matrix is smaller than a line weight threshold;
the ratio of the row weight of the BA bitmap matrix to the number of each data unit is smaller than a first ratio;
the column weight of the BA bitmap matrix is smaller than a column-row weight threshold;
the ratio of the column weight of the BA bitmap matrix to the number of individual data units is less than a second ratio.
In one possible implementation, the apparatus further includes:
the report obtaining module is configured to obtain a channel quality report of each station before the encoding module 1703 performs exclusive or encoding on the data units failed to be received by the at least two stations according to BA information sent by the at least two stations to obtain network encoded data of the data block;
And the station determining module is used for determining the station with the corresponding channel quality report meeting the quality condition as the at least two stations.
In one possible implementation manner, the frame header corresponding to the network coding data includes a data type identifier and exclusive-or operation indication information;
the data type identifier is used for indicating whether the corresponding data is the network coding data or not;
the exclusive-or operation indication information is used for indicating the corresponding relation between the data units of the exclusive-or operation.
In a possible implementation manner, the data type identifier and the area where the exclusive or operation indication information is located are located after the receiving address field and the transmitting address field.
In a possible implementation manner, the access point includes a first buffer area for buffering the data units;
the apparatus further comprises:
and the releasing module is used for releasing the first buffer zone when the BA information sent by the at least two stations indicates that the at least two stations successfully receive the data units.
In one possible implementation, the apparatus further includes:
a multicast request receiving module, configured to receive a multicast request with retransmission sent by the at least two sites; the reserved value of the sub-field of the retransmission strategy of the group data transmission service GATS in the sub-element with the retransmission multicast request is used for indicating the network coding retransmission strategy; the network coding retransmission strategy is a strategy for retransmitting the data block through network coding data of the data block;
And the acknowledgement response module is used for sending acknowledgement responses to the network coding retransmission strategies to the at least two stations.
Referring to fig. 18, a block diagram of a data transmission device according to an embodiment of the present application is shown. The device is used in a first station and has the function of implementing the steps performed by any station of the at least two stations in the method shown in fig. 3 or 5. As shown in fig. 18, the apparatus may include:
a data block receiving module 1801, configured to receive a data block sent by an access point through a multicast or broadcast manner, where the data block includes at least two data units;
a confirmation information sending module 1802, configured to send block confirmation BA information to the access point, where the BA information is used to indicate a receiving situation of the at least two data units by a corresponding station;
the coded data receiving module 1803 is configured to receive network coded data sent by the access point in a multicast or broadcast manner, where the network coded data is obtained by performing exclusive or coding on data units that are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
a decoding module 1804 is configured to decode the network encoded data to obtain a data unit that fails to be received by the first station.
In one possible implementation manner, the frame header corresponding to the network coding data includes a data type identifier and exclusive-or operation indication information;
the data type identifier is used for indicating whether the corresponding data is the network coding data or not;
the exclusive-or operation indication information is used for indicating the corresponding relation between the data units of the exclusive-or operation.
In a possible implementation manner, the first station includes a second buffer area for buffering the successfully received data units in the data units;
the decoding module 1804, for,
analyzing the frame head corresponding to the network coding data to obtain the data type identifier;
when the data type identification indicates that the corresponding data is the network coding data, analyzing the exclusive-or operation indication information;
and decoding the network coding data through the data units in the second buffer area according to the exclusive OR operation indication information to obtain the data units which are failed to be received by the first station.
In a possible implementation manner, the data type identifier and the area where the exclusive or operation indication information is located are located after the receiving address field and the transmitting address field.
In one possible implementation, the apparatus further includes:
and the releasing module is used for releasing the buffer area after each data unit in the data block is successfully received and reported.
In one possible implementation, the apparatus further includes:
a multicast request sending module, configured to send a multicast request with retransmission to the access point; the reserved value of the sub-field of the retransmission strategy of the group data transmission service GATS in the sub-element with the retransmission multicast request is used for indicating the network coding retransmission strategy; the network coding retransmission strategy is a strategy for retransmitting the data block through network coding data of the data block;
and the confirmation response receiving module is used for receiving a confirmation response sent by the access point to the network coding retransmission strategy.
It should be noted that, when the apparatus provided in the foregoing embodiment performs the functions thereof, only the division of the respective functional modules is used as an example, in practical application, the foregoing functional allocation may be performed by different functional modules according to actual needs, that is, the content structure of the device is divided into different functional modules, so as to perform all or part of the functions described above.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Referring to fig. 19, a schematic structural diagram of a computer device 1910 according to one embodiment of the present application is shown. The computer device 1900 may include: a processor 1901, a receiver 1902, a transmitter 1903, a memory 1904, and a bus 1905.
The processor 1901 includes one or more processing cores, and the processor 1901 executes various functional applications and information processing by running software programs and modules.
The receiver 1902 and the transmitter 1903 may be implemented as a communication component, which may be a communication chip. The communication chip may also be referred to as a transceiver.
The memory 1904 is connected to the processor 1901 via a bus 1905.
The memory 1904 may be used for storing a computer program, and the processor 1901 is used for executing the computer program to implement the steps performed by the terminal device in the above-described method embodiment.
Further, memory 1904 may be implemented by any type of volatile or nonvolatile storage device or combination thereof, including but not limited to: magnetic or optical disks, electrically erasable programmable read-only memory, static random access memory, read-only memory, magnetic memory, flash memory, programmable read-only memory.
The computer device may be implemented as an AP or a station in the above-described method embodiments.
In an exemplary embodiment, the computer device includes a processor, a memory, and a transceiver (which may include a receiver for receiving information and a transmitter for transmitting information);
when the computer device is implemented as the AP,
the transceiver transmits a data block to at least two sites in a multicast or broadcast mode, wherein the data block comprises at least two data units;
the transceiver is configured to receive block acknowledgement BA information sent by the at least two stations, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
the processor is configured to perform exclusive-or encoding on the data units failed to be received by the at least two sites according to BA information sent by the at least two sites, so as to obtain network encoded data of the data block;
the transceiver is configured to send the network encoded data to the at least two sites by multicast or broadcast.
When the computer device described above is implemented as the first station in the various method embodiments described above,
The transceiver is configured to receive a data block sent by an access point through a multicast or broadcast mode, where the data block includes at least two data units;
the transceiver is configured to send block acknowledgement BA information to the access point, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
the transceiver is configured to receive network coding data sent by the access point in a multicast or broadcast manner, where the network coding data is obtained by performing exclusive or coding on data units that are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
the processor is configured to decode the network encoded data, and obtain a data unit that fails to be received by the first station.
The embodiment of the application further provides a computer readable storage medium, in which a computer program is stored, where the computer program is loaded and executed by a processor to implement the steps performed by an AP in the method shown in fig. 2 or fig. 5; alternatively, the computer program is loaded and executed by a processor to implement the steps performed by the first station in the methods shown in fig. 3 or fig. 5 described above.
The present application also provides a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps performed by the AP in the method shown in fig. 2 or fig. 5, described above; alternatively, the computer program is loaded and executed by a processor to implement the steps performed by the first station in the methods shown in fig. 3 or fig. 5 described above.
Those skilled in the art will appreciate that in one or more of the examples described above, the functions described in the embodiments of the present application may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, these functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The foregoing description of the exemplary embodiments of the present application is not intended to limit the invention to the particular embodiments disclosed, but on the contrary, the intention is to cover all modifications, equivalents, alternatives, and alternatives falling within the spirit and scope of the invention.

Claims (23)

  1. A method of data transmission, the method performed by an access point, the method comprising:
    transmitting a data block to at least two sites in a multicast or broadcast mode, wherein the data block comprises at least two data units;
    receiving Block Acknowledgement (BA) information sent by the at least two stations, wherein the BA information is used for indicating the receiving condition of the corresponding stations on the at least two data units;
    performing exclusive or coding on the data units which are failed to be received by the at least two stations according to the BA information sent by the at least two stations to obtain network coding data of the data blocks;
    and transmitting the network coding data to the at least two stations in a multicast or broadcast mode.
  2. The method according to claim 1, wherein the exclusive-or encoding the data units failed to be received by the at least two stations according to BA information sent by the at least two stations, to obtain network encoded data of the data block, includes:
    Determining at least one data unit pair from the at least two data units based on BA information sent by the at least two stations, wherein the data unit pair comprises two data units;
    and performing exclusive OR operation on the data units in the at least one data unit pair to obtain network coding data of the data block.
  3. The method of claim 2, wherein the determining at least one data unit pair from the at least two data units based on BA information sent by the at least two stations comprises:
    constructing a BA bitmap matrix based on BA information sent by the at least two stations, wherein the value of the p-th row and the q-th column in the BA bitmap matrix is used for indicating the receiving information of the p-th station to the q-th data unit, and the receiving information comprises receiving success or receiving failure;
    acquiring row weights of all rows in the BA bitmap matrix and column weights of all columns in the BA bitmap matrix; the row weights are positively correlated with the values in the corresponding rows; the column weights are positively correlated with the values in the corresponding columns;
    the at least one data unit pair is determined sequentially from the at least two data units based on row weights for each row in the BA bitmap matrix and column weights for each column in the BA bitmap matrix.
  4. The method of claim 3, wherein the step of,
    when the value of the p-th row and the q-th column in the BA bitmap matrix is 0, indicating that the p-th site fails to receive the q-th data unit;
    and when the value of the p-th row and the q-th column in the BA bitmap matrix is 1, indicating that the p-th site successfully receives the q-th data unit.
  5. The method of claim 4, wherein a p-th station is indicated to fail to receive a q-th data unit when a value of a p-th row and a q-th column in the BA bitmap matrix is 0; when the value of the p-th row and the q-th column in the BA bitmap matrix is 1, indicating that the p-th site successfully receives the q-th data unit;
    the determining the at least one data unit pair from the at least two data units in turn based on row weights of the rows in the BA bitmap matrix and column weights of the columns in the BA bitmap matrix, comprises:
    determining a target row in the BA bitmap matrix when determining an ith data unit pair in the at least one data unit pair, wherein the target row is a row with the minimum current row weight;
    determining columns meeting a first condition and columns meeting a second condition in the BA bitmap matrix according to the target row; the first condition includes: in the column corresponding to the 0 element of the target row, the column weight is minimum; the second condition includes: in the column corresponding to the 1 element of the target row, the column weight is minimum;
    Taking the data units corresponding to the columns meeting the first condition and the data units corresponding to the columns meeting the second condition as the ith data unit pair;
    performing OR operation on element values belonging to the same row in a column meeting the first condition and a column meeting the second condition;
    the value of one of the columns satisfying the first condition and the columns satisfying the second condition is replaced with the result of the or operation, and the value of the other column is set to 1.
  6. The method of claim 5, wherein the determining a target row in the BA bitmap matrix when determining an i-th pair of data units in the at least one pair of data units, the target row being a row having a smallest current row weight comprises:
    and when 0 value elements exist in each element in the BA bitmap matrix, executing the step of determining a target row in the BA bitmap matrix when the ith data unit pair in the at least one data unit pair is determined, wherein the target row is the row with the minimum current row weight.
  7. The method of claim 4, wherein the sequentially determining the at least one data unit pair from the at least two data units based on row weights for each row in the BA bitmap matrix and column weights for each column in the BA bitmap matrix comprises:
    When the BA bitmap matrix meets a specified condition, determining the at least one data unit pair from the at least two data units in sequence based on row weights of each row in the BA bitmap matrix and column weights of each column in the BA bitmap matrix;
    wherein the specified condition includes at least one of the following conditions:
    the number of 0-valued elements in the bitmap matrix or vector is greater than a number threshold; the bitmap matrix or vector is a vector obtained by each row in the BA bitmap matrix according to bits;
    the line weight of the BA bitmap matrix is smaller than a line weight threshold;
    the ratio of the row weight of the BA bitmap matrix to the number of each data unit is smaller than a first ratio;
    the column weight of the BA bitmap matrix is smaller than a column-row weight threshold;
    the ratio of the column weight of the BA bitmap matrix to the number of individual data units is less than a second ratio.
  8. A method according to claim 3, wherein the exclusive-or encoding the data units failed to be received by the at least two stations according to BA information sent by the at least two stations, before obtaining the network encoded data of the data block, further comprises:
    acquiring channel quality reports of all stations;
    And determining the stations of which the corresponding channel quality reports meet the quality conditions as the at least two stations.
  9. The method of claim 1, wherein the frame header corresponding to the network encoded data includes a data type identifier and exclusive-or operation indication information;
    the data type identifier is used for indicating whether the corresponding data is the network coding data or not;
    the exclusive-or operation indication information is used for indicating the corresponding relation between the data units of the exclusive-or operation.
  10. The method of claim 9, wherein the data type identification and the exclusive or indicating information are located in a section that follows a receive address field and a transmit address field.
  11. The method of claim 1, wherein the access point includes a first buffer for buffering the respective data units;
    the method further comprises the steps of:
    and when the BA information sent by the at least two stations indicates that the at least two stations successfully receive the data units, releasing the first buffer zone.
  12. The method according to claim 1, wherein the method further comprises:
    Receiving a multicast request with retransmission sent by the at least two stations; the reserved value of the sub-field of the retransmission strategy of the group data transmission service GATS in the sub-element with the retransmission multicast request is used for indicating the network coding retransmission strategy; the network coding retransmission strategy is a strategy for retransmitting the data block through network coding data of the data block;
    and sending acknowledgement responses to the network coding retransmission strategy to the at least two stations.
  13. A method of data transmission, the method performed by a first station, the first station being any one of at least two stations, the method comprising:
    receiving a data block sent by an access point in a multicast or broadcast mode, wherein the data block comprises at least two data units;
    transmitting Block Acknowledgement (BA) information to the access point, wherein the BA information is used for indicating the receiving condition of the corresponding station to the at least two data units;
    receiving network coding data sent by the access point in a multicast or broadcast mode, wherein the network coding data is obtained by performing exclusive or coding on data units which are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
    And decoding the network coding data to obtain the data unit of which the first station fails to receive.
  14. The method of claim 13, wherein the frame header corresponding to the network encoded data includes a data type identifier and exclusive-or indication information;
    the data type identifier is used for indicating whether the corresponding data is the network coding data or not;
    the exclusive-or operation indication information is used for indicating the corresponding relation between the data units of the exclusive-or operation.
  15. The method of claim 14 wherein the first station includes a second buffer for buffering successfully received ones of the data units;
    the decoding the network coding data to obtain the data unit of the first station failure in receiving includes:
    analyzing the frame head corresponding to the network coding data to obtain the data type identifier;
    when the data type identification indicates that the corresponding data is the network coding data, analyzing the exclusive-or operation indication information;
    and decoding the network coding data through the data units in the second buffer area according to the exclusive OR operation indication information to obtain the data units which are failed to be received by the first station.
  16. The method of claim 15, wherein the data type identifier and the exclusive or indicating information are located in a section that follows a receive address field and a transmit address field.
  17. The method of claim 15, wherein the method further comprises:
    and after each data unit in the data block is successfully received and reported, releasing the buffer area.
  18. The method of claim 13, wherein the method further comprises:
    sending a multicast request with retransmission to the access point; the reserved value of the sub-field of the retransmission strategy of the group data transmission service GATS in the sub-element with the retransmission multicast request is used for indicating the network coding retransmission strategy; the network coding retransmission strategy is a strategy for retransmitting the data block through network coding data of the data block;
    and receiving a confirmation response sent by the access point to the network coding retransmission strategy.
  19. A data transmission apparatus for use in an access point, the apparatus comprising:
    the data block sending module is used for sending data blocks to at least two stations in a multicast or broadcast mode, wherein the data blocks comprise at least two data units;
    The acknowledgement information receiving module is used for receiving Block Acknowledgement (BA) information sent by the at least two stations, wherein the BA information is used for indicating the receiving condition of the at least two data units by the corresponding stations;
    the coding module is used for performing exclusive or coding on the data units which are failed to be received by the at least two stations according to the BA information sent by the at least two stations to obtain network coding data of the data blocks;
    and the coded data transmitting module is used for transmitting the network coded data to the at least two stations in a multicast or broadcast mode.
  20. A data transmission apparatus for use in a first station, the first station being any one of at least two stations, the apparatus comprising:
    the data block receiving module is used for receiving a data block sent by an access point in a multicast or broadcast mode, wherein the data block comprises at least two data units;
    a confirmation information sending module, configured to send block confirmation BA information to the access point, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
    the coded data receiving module is used for receiving network coded data sent by the access point in a multicast or broadcast mode, wherein the network coded data is obtained by performing exclusive or coding on data units which are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
    And the decoding module is used for decoding the network coding data to acquire the data unit of which the first station fails to receive.
  21. A computer device, wherein the computer device is an access point, the computer device comprising a processor, a memory, and a transceiver;
    the transceiver transmits a data block to at least two sites in a multicast or broadcast mode, wherein the data block comprises at least two data units;
    the transceiver is configured to receive block acknowledgement BA information sent by the at least two stations, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
    the processor is configured to perform exclusive-or encoding on the data units failed to be received by the at least two sites according to BA information sent by the at least two sites, so as to obtain network encoded data of the data block;
    the transceiver is configured to send the network encoded data to the at least two sites by multicast or broadcast.
  22. A computer device, wherein the computer device is a first site, the first site being any one of at least two sites, the computer device comprising a processor, a memory, and a transceiver;
    The transceiver is configured to receive a data block sent by an access point through a multicast or broadcast mode, where the data block includes at least two data units;
    the transceiver is configured to send block acknowledgement BA information to the access point, where the BA information is used to indicate a receiving situation of the at least two data units by the corresponding station;
    the transceiver is configured to receive network coding data sent by the access point in a multicast or broadcast manner, where the network coding data is obtained by performing exclusive or coding on data units that are failed to be received by the at least two stations according to BA information sent by the at least two stations by the access point;
    the processor is configured to decode the network encoded data, and obtain a data unit that fails to be received by the first station.
  23. A computer readable storage medium, characterized in that the storage medium has stored therein a computer program for execution by a processor to implement the data transmission method of any one of claims 1 to 18.
CN202080103881.3A 2020-11-06 2020-11-06 Data transmission method, device, computer equipment and storage medium Pending CN116097624A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/127292 WO2022094974A1 (en) 2020-11-06 2020-11-06 Data transmission method and apparatus, computer device and storage medium

Publications (1)

Publication Number Publication Date
CN116097624A true CN116097624A (en) 2023-05-09

Family

ID=81458457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080103881.3A Pending CN116097624A (en) 2020-11-06 2020-11-06 Data transmission method, device, computer equipment and storage medium

Country Status (2)

Country Link
CN (1) CN116097624A (en)
WO (1) WO2022094974A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378548B (en) * 2022-08-17 2024-06-11 中国人民解放军63892部队 Connectionless-oriented binary superposition determination linear network code transmission method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016519539A (en) * 2013-05-15 2016-06-30 クアルコム,インコーポレイテッド Group bearer and bearer selection for multicast / broadcast data transmission
CN103873216A (en) * 2014-03-17 2014-06-18 北京邮电大学 Novel lost packet retransmission mechanism in WLAN (Wireless Local Area Network) multicast scene
CN104852788B (en) * 2015-05-20 2018-03-13 中国人民解放军理工大学 Data broadcasting ARQ methods based on minimax network code
US11044589B2 (en) * 2018-10-11 2021-06-22 Qualcomm Incorporated V2X network based relaying

Also Published As

Publication number Publication date
WO2022094974A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
JP4558739B2 (en) How to provide a multicast service
US8745470B2 (en) Method and system for data transmission in a data network
US8578230B2 (en) Enhanced block acknowledgement
US6744766B2 (en) Hybrid ARQ for a wireless Ad-Hoc network and a method for using the same
AU9344601A (en) Hybrid arq with parallel packet transmission
CN1253682A (en) Method for transmitting packet switched data in mobile communications system
CN113055285B (en) Self-adaptive data transmission method based on MPTCP and network coding
CN104521167A (en) Data transmission method, apparatus, base station and user equipment
CN113573359A (en) Multi-link communication method and related device
US11271686B2 (en) Hybrid automatic repeat request acknowledgement and upload multiuser operation
EP3790213B1 (en) Mac-based hybrid automatic repeat request (harq)
EP3939190B1 (en) Method of enabling harq, network entity and computer program
US20050285755A1 (en) Transmitter, communication system, and communication method
CN116097624A (en) Data transmission method, device, computer equipment and storage medium
US20090257377A1 (en) Reducing buffer size for repeat transmission protocols
CN111988118B (en) Communication method and device in wireless local area network
CN115968538A (en) Information processing apparatus, information processing method, and computer program
JP2011217072A (en) Radio communication equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination