This description relates to wireless networks.
Wireless devices may operate in a full-power state to transmit and receive data, and perform other activities. From time to time, wireless devices may switch to a low-power or sleep state. Battery power may be conserved by allowing a wireless device to spend less time transmitting, and spend more time in a low power or sleep state.
In addition, wireless devices may send an acknowledgement or ACK to indicate that a data frame (or other frame) was received. In some cases, a regular acknowledgement may be used to acknowledge receipt of a single data frame. In other cases, a block acknowledgement, which may be more efficient than a regular ACK, may be used to acknowledge receipt for a group or block of data frames.
According to an example embodiment, an apparatus may include a processor, the apparatus being configured to receive, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to an example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to an example embodiment, a method may include receiving, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to another example embodiment, an apparatus may include means for receiving, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to an example embodiment, a method may include transmitting, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to another example embodiment, an apparatus may include means for transmitting, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit, via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and receive a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit, via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and receive a response frame indicating that block acknowledgements may be used, and also indicating whether or not data frames with fragmented payloads may be transmitted.
According to an example embodiment, an apparatus may include a processor, the apparatus being configured to: receive, via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and transmit a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used.
According to an example embodiment, an apparatus may include a processor, the apparatus being configured to: receive, via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and transmit a response frame indicating that block acknowledgements may be used, and also indicating whether or not data frames having a fragmented payload may be transmitted.
An apparatus may include a processor, the apparatus being configured to: transmit, via a wireless network, one or more data frames; and receive a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: receive, via a wireless network, one or more data frames; and transmit a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
According to an example embodiment, a method may include transmitting a message indicating that individual data frames having a fragmented payload may not be transmitted.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit, via a wireless network, one or more data frames; and receive a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not data frames with a fragmented payload may be transmitted.
According to another example embodiment, a method may include transmitting, via a wireless network, one or more data frames; and receiving a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not data frames with a fragmented payload may be transmitted.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
Although not shown in
Data frames may be transmitted, and in some cases, an acknowledgement may be sent by the receiving station to the transmitting station to acknowledge receipt of the data frame(s). An example of a data frame may be a MAC (Media Access Control) Protocol Data Unit or MPDU, although this is merely an example and other types of data frames/packets may be used. An aggregate or group of data frames may be transmitted together, such as, for example, as an Aggregate MPDU, which may include a plurality or multiple MPDUs. Received data frames may be acknowledged by using a regular (or single frame) acknowledgement (regular ACK). Or, a block acknowledgement (or block ACK) may be used to acknowledge receipt of a group or block of or multiple data frames. Block ACKs may be considered to be a more efficient acknowledgement technique (as compared to a regular ACK or single ACK), since with a block ACK more frames may be acknowledged using fewer frames and fewer resources, for example.
According to an example embodiment, several different data transmission and acknowledgement mechanisms or modes may be used by wireless stations to transmit data frames and acknowledge their receipt. According to an example embodiment, some stations may support (or prefer to use) only some but not (necessarily) all of these transmission/acknowledgement mechanisms or modes.
For example, a single (or individual) data frame may be transmitted from a transmitting wireless station to a receiving wireless station, where the payload may be fragmented. In this mode, the fragmented data frames may be acknowledged using only regular ACKs, for example. In another mode, an individual data frame may be transmitted with an unfragmented (or complete) payload, and such data frame may be acknowledged using either a regular ACK or via a block ACK, for example. In another example data transmission/ACK mode, data frames may be transmitted via one or more aggregate data frames, and receipt of these data frames may be acknowledged via a block ACK (e.g., using only block ACKs), for example. These are some example transmission/ACK modes or mechanisms, and others may be used.
For example, a MAC Protocol Data Unit, or MPDU, may receive a MSDU or MAC Service Data Unit to be transmitted as a MPDU payload. For example, if there are insufficient resources remaining (or available to the transmitting station), a station may fragment a MSDU and send the MDPU with the fragmented payload (fragment of the MSDU). Alternatively, the complete MSDU may be transmitted as a payload of the MPDU. Alternatively, an aggregate data frame (e.g., aggregate MPDU) may be used to send an aggregate or group of MPDUs together, which may be more efficient since some overhead may be saved by transmitting an aggregate data frame (or aggregate MPDU).
In some cases, stations may allow both regular ACKs and block ACKs to be used to acknowledge receipt of data frames, e.g., with regular ACKs used for individual data frames (with either fragmented or complete payloads), and block ACKs used for aggregate data frames or individual data frames having complete payloads
From a perspective of a transmitting station, it may be advantageous or efficient to allow the transmitting station to use regular ACKs (including to acknowledge fragmented or unfragmented data frames) and block ACKs (to acknowledge aggregate data frames or unfragmented data frames).
Therefore, the transmitting station (TX) would like to retransmit the MPDU(i) that was not received. However, in this example, insufficient time is remaining in the TXOP1 to transmit a MPDU or data frame with a complete payload (or unfragmented MSDU, for example). Therefore, to allow greater usage of the remaining time/resources in the TXOP1, the transmitting station (TX) may fragment the MSDU or payload for the MPDU(i) into two fragments. (or may fragment a payload for a next data frame, in the event no data frame is being retransmitted). The transmitting station (TX) then retransmits the data frame with the fragmented payload with the first fragment (MPDU frag1), which is acknowledged by the receiving station using a regular (or single) ACK. During a subsequent TXOP, shown as TXOP2, the transmitting station (TX) may then transmit a data frame that includes the second fragment (MPDU frag2), which is acknowledged by receiving station using a regular ACK. The transmitting station may then transmit a next aggregate data frame (A-MPDU) during TXOP2.
While this arrangement (e.g., allowing both ACKs for fragments and blocks ACKs to be used) shown in
Therefore, according to an example embodiment, a receiving station may identify or specify at least one data transmission/acknowledgement mode that may be used (this may also indicate one or more ACK/transmission modes that should not be used). For example, the receiving station may send a message or frame to the transmitting station that indicates that block ACKs are supported (or may be used), but regular ACKs (or regular ACKs to ACK data frames with fragmented payloads) are not supported/may not be used. Thus, according to an example embodiment, in the case where both transmitting and receiving stations have agreed to use block ACKs, the receiving station may send a frame to the transmitting station indicating whether or not regular ACKS and/or transmission of data frames with fragmented payloads are not supported/should not be used. This may be useful where the receiving wireless station relies on battery power, and conserving battery power is important, e.g., for a mobile station, although this technique may be used for all wireless stations. For example, the receiving wireless station (receiving data frames) may send a frame to the transmitting station, e.g., during a block ACK agreement negotiation phase or as part of a block ACK exchange, to indicate that regular ACKs (or regular ACKs to ACK data frames with fragmented payloads) should not be used for one or more traffic streams or to prohibit or deny the use of these modes or mechanisms for such traffic stream(s) or flow(s). In one example embodiment, the receiving station may send a frame that indicates that data frames with fragmented payloads may not be used (e.g., for a specific traffic stream or TID).
Power savings may result for the receiving station (RX) in this example embodiment shown in
According to an example embodiment, as noted above, the receiving station (RX) may send a message to the transmitting station (TX), e.g., during a block ACK agreement negotiation phase or as part of a block ACK exchange, to indicate whether or not regular acknowledgements (or regular ACKs) may be used, in addition to block acknowledgements. Thus, block ACKs may be permitted or supported for a data transmission between two stations or for a traffic stream, and a field (such as a Block ACK Only field) in the message (sent by receiving station to transmitting station) may indicate whether or not regular ACKs may be used (in addition to the block ACKs).
In one example embodiment, data frames having fragmented payloads may be acknowledged only with regular ACKs, and block ACKs may be used to acknowledge both individual data frames (e.g., MPDUs) and aggregate data frames (e.g., A-MPDUs). Thus, in this example, a message from the receiving station that indicates that regular ACKs may not be used for a particular traffic stream, this message, in effect also indicates that individual data frames with a fragmented payload may not be used (because regular ACKs are prohibited by the message, and regular ACKs are the only ACK mechanism for fragments, in this example).
At 440, one or more data frames may be transmitted by the transmitting station 410 to the receiving station 412. The data frames may be individual data frames or MPDUs (for example), or aggregate data frames or aggregate MPDUs (or A-MPDUs).
At 450, in response to receiving data frames, the receiving station 412 may transmit ACKs and/or block ACKs to the transmitting station. In an example embodiment, block ACKs may be used, for example, to acknowledge data frames sent as individual data frames (MPDUs) and/or to acknowledge data frames sent as an aggregate data frame (e.g., A-MPDU). Also, according to an example embodiment, regular ACKs will/may be used by receiving station 412 to acknowledge receipt of data frames (and data frames with fragmented payloads will be transmitted by TX station 410) only if the BA only field in the ADDBA response message 430 indicates that regular ACKs may be used.
At 460, a block ACK is transmitted from the receiving station 412 to the transmitting station 410 to acknowledge receipt of one or more data frames (received either as individual MPDUS or received in an aggregate data frame or A-MPDU). The block ACKs may allow a receiving station another opportunity to indicate or specify to the transmitting station whether or not regular ACKs (in addition to block ACKs) are supported or not (and/or whether or not data frames with fragmented payloads may be used). Therefore, like the ADDBA response message 430, the block ACK at 460 may include a field, such as a block ACK only (or BA Only) field, that indicates whether or not regular ACKs (and/or data frames with fragmented payloads) may be used for a specific traffic flow. The block ACK may also include other fields, such as a TID (traffic ID) (or other identifier) that may identify the traffic flow, stream, etc., for which the BA only field applies, for example. By providing a BA Only field in the Block acknowledgement (or block ACK) 460, this may allow the receiving station to dynamically turn on and off support for regular ACKs, for example, after the block ACK mechanism or mode has been activated or enabled between two stations.
In an alternative embodiment, the transmitting station 410 and receiving station 412 may establish the use of block ACKs (e.g., for a TID or traffic stream). This may be accomplished via the ADDBA request request and ADDBA response, for example. As part of the block ACK negotiation (ADDBA request/response exchange) or as part of the block ACK exchange, the receiving station 412 may send a message to the transmitting station 410 indicating that data frames with fragmented payloads may not be transmitted to the receiving station. Thus, a field may be provided in the ADDBA response or the Block ACK indicating that data frames with fragmented payloads may not be transmitted. This field may be called a “Block ACK Only” or may be referred to as a “No Fragments” field, as examples. In such case, upon receipt of such message, the transmitting station 410 may be prohibited or precluded from transmitting data frames or individual MPDUs having a fragmented payload to the receiving station (e.g., for all traffic or for a specified TID or traffic stream). However, the transmitting station, in such example, may still be able to transmit individual data frames/MPDUs with complete (or unfragmented) payloads, and the receiving station may Acknowledge receipt of such data frames with complete payloads using either regular ACKs or block ACKs. Of course, aggregated data frames or A-MPDUs may be transmitted and block ACKs may also be used to acknowledge data frames received via individual or aggregate data frames.
A block ACK Only field 518 may indicate whether or not, in addition to block ACKs, regular ACKs are supported, or may be used, for the specified TID. For example, a 0 for the BA only field 518 may indicate that stations may use both block ACKs and regular ACKs, and a 1 for the BA only field may indicate that only block ACKs may be used for this TID (e.g., no regular ACKs should be used, and/or MPDUs with fragmented payloads should not be transmitted).
Alternatively, field 518 may be a “No Fragments” field that indicates that the transmitting station may not transmit data frames having a fragmented payload. This message or instruction may be sent, e.g., in a case where block ACKs are used, to improve power savings at the receiving station, as noted above with respect to
Block ACK 610 may include a MAC header 612, which may include an address of the transmitting station, an address of the receiving station; a block ACK control (or BA control) field 614; and a block ACK (or BA) information 616.
BA control field 614 may include a block ACK policy field 618 (e.g., specifying immediate policy, or delayed block ACKs allowed), a multi-TID that indicates whether or not the BA control 614 (at least the BA only 624) and/or the BA information 616 is provided for each of a plurality of TIDs.
A compressed bitmap 622 may be provided to acknowledge a group of data frames. In an example embodiment, a block ACK only field 624 may indicate whether or not a regular ACK (in addition to a block ACK) (and/or data frame with fragmented payload) may be used for a specified TID. TID info 626 identifies the traffic ID<traffic stream, flow, or other identifier.
BA control information 614 may be provided for each TID, in the case of multiple TIDs. For each TID, the BA control information 614 may include a TID 628, which identifies the traffic ID or traffic stream, a block ACK bitmap 632 that may include a bit to acknowledge received or not each of a plurality of data frames, and a block ACK starting sequence number (BA SSN) 630 that identifies the first data frame for which the block ACK bitmap acknowledges receipt.
According to an example embodiment, an apparatus may include a processor, the apparatus being configured to: receive (e.g., by processor 1104 and/or transceiver 1102), via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
In an example embodiment, the apparatus may be further configured to receive (e.g., by processor 1104 and/or transceiver 1102) the frame indicating whether or not a data frame with a fragmented payload may be transmitted.
In an example embodiment, the apparatus being configured to receive (e.g., by processor 1104 and/or transceiver 1102) may include the apparatus being configured to receive the frame indicating whether or not transmission of data frames with a fragmented payload and regular acknowledgements may be used.
In an example embodiment, the apparatus may be further configured to transmit (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and receive (e.g., by processor 1104 and/or transceiver 1102) a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used.
In an example embodiment, the apparatus may be further configured to: transmit (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, an Add Block Acknowledgement (ADDBA) request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames associated with a traffic identifier; and wherein the apparatus being configured to receive comprises the apparatus being configured to receive an Add Block Acknowledgement (ADDBA) response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used to acknowledge receipt of one or more data frames associated with a traffic identifier.
In an example embodiment, the apparatus may be further configured to receive a block acknowledgement that acknowledges receipt for one or more data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
In an example embodiment, the apparatus may be further configured to: transmit one or more data frames, either as individual MAC Protocol Data Units (MPDUs) or as part of a Aggregate MPDU.
In an example embodiment, the apparatus being configured to receive may include the apparatus being configured to receive a block acknowledgement that acknowledges receipt for one or more data frames, the block acknowledgement including, for each of a plurality of traffic identifiers, a field indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames associated with the traffic identifier.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit (e.g., by processor 1104 and/or transceiver 1102), via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
In an example embodiment, the apparatus being configured to transmit may include the apparatus being configured to transmit the frame indicating whether or not transmission of data frames with a fragmented payload.
In an example embodiment, the apparatus may be further configured to: receive (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and transmit (e.g., by processor 1104 and/or transceiver 1102) a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used.
In an example embodiment, the apparatus may be further configured to: receive (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, an Add Block Acknowledgement (ADDBA) request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames associated with a traffic identifier; and wherein the apparatus being configured to transmit comprises the apparatus being configured to transmit an Add Block Acknowledgement (ADDBA) response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used to acknowledge receipt of one or more data frames associated with a traffic identifier.
In an example embodiment, the apparatus may be further configured to transmit (e.g., by processor 1104 and/or transceiver 1102) a block acknowledgement that acknowledges receipt for one or more data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
In an example embodiment, the apparatus may be further configured to: receive (e.g., by processor 1104 and/or transceiver 1102) one or more data frames, either as individual MAC Protocol Data Units (MPDUs) or as part of a Aggregate MPDU.
In an example embodiment, the receiving may include receiving the frame indicating whether or not a data frame with a fragmented payload may be transmitted.
In an example embodiment, the receiving may include receiving the frame indicating whether or not transmission of data frames with a fragmented payload and regular acknowledgements may be used.
The method may further include transmitting (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and
The receiving may include receiving a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used.
The method may further include transmitting, via the wireless network, an Add Block Acknowledgement (ADDBA) request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames associated with a traffic identifier; and wherein the receiving may include receiving an Add Block Acknowledgement (ADDBA) response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used to acknowledge receipt of one or more data frames associated with a traffic identifier.
The method may further include receiving (e.g., by processor 1104 and/or transceiver 1102) a block acknowledgement that acknowledges receipt for one or more data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
The method may further include transmitting (e.g., by processor 1104 and/or transceiver 1102) one or more data frames, either as individual MAC Protocol Data Units (MPDUs) or as part of a Aggregate MPDU.
In an example embodiment, the receiving may include receiving a block acknowledgement that acknowledges receipt for one or more data frames, the block acknowledgement including, for each of a plurality of traffic identifiers, a field indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames associated with the traffic identifier.
In another example embodiment, an apparatus may include:
means (e.g., by processor 1104 and/or transceiver 1102) for receiving, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
In an example embodiment, the transmitting may include transmitting the frame indicating whether or not transmission of data frames with a fragmented payload.
The method in
The method of
According to another example embodiment, an apparatus may include: means (e.g., by processor 1104 and/or transceiver 1102) for transmitting, via a wireless network, a frame indicating whether or not regular acknowledgements may be used, in addition to block acknowledgements.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and receive (e.g., by processor 1104 and/or transceiver 1102) a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used. In an example embodiment, the apparatus being configured to transmit may include the apparatus being configured to transmit, via the wireless network, an Add Block Acknowledgement (ADDBA) request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames associated with a traffic identifier; and the apparatus being configured to receive may include the apparatus being configured to receive an Add Block Acknowledgement (ADDBA) response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may also be used to acknowledge receipt of one or more data frames associated with a traffic identifier (or indicating whether or not data frames with fragmented payloads may be transmitted).
The response frame may include a Block Ack Only field indicating whether or not regular acknowledgements may be used.
The apparatus may be further configured to: transmit one or more data frames, either as individual MAC Protocol Data Units (MPDUs) or as part of a Aggregate MPDU; and receive a block acknowledgement that acknowledges receipt of one or more of the transmitted data frames, the block acknowledgement also including, for one or more traffic identifiers, a field indicating whether or not regular acknowledgements, in addition to block acknowledgements, may be used to acknowledge receipt of one or more subsequent data frames associated with the traffic identifier.
According to another example embodiment, an apparatus may include a processor, the apparatus being configured to: transmit (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and receive (e.g., by processor 1104 and/or transceiver 1102) a response frame indicating that block acknowledgements may be used, and also indicating whether or not data frames with fragmented payloads may be transmitted.
An apparatus may include a processor, the apparatus being configured to: receive (e.g., by processor 1104 and/or transceiver 1102), via the wireless network, a request frame to request a use of block acknowledgements to acknowledge receipt of one or more data frames; and transmit (e.g., by processor 1104 and/or transceiver 1102) a response frame indicating that block acknowledgements may be used, and also indicating whether or not regular acknowledgements may be used (or indicating whether or not data frames having a fragmented payload may be transmitted).
An apparatus may include a processor, the apparatus being configured to: transmit (e.g., by processor 1104 and/or transceiver 1102), via a wireless network, one or more data frames; and receive (e.g., by processor 1104 and/or transceiver 1102) a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
The block acknowledgement may include a No Fragments field or a Block Ack Only field indicating whether or not transmission of data frames with a fragmented payload and regular acknowledgements may be used.
In an example embodiment, the block acknowledgement may include a multi-TID field that indicates whether the field, that indicates whether or not regular acknowledgements may be used, is provided for more than one traffic identifier.
In an example embodiment, the block acknowledgement may indicate that regular acknowledgements may be used to acknowledge subsequently transmitted data frames, and wherein the apparatus is further configured to: transmit one or more additional data frames having a fragmented payload; and receive one or more regular acknowledgements for one or more of the additional data frames.
An apparatus may include a processor, the apparatus being configured to: receive, via a wireless network, one or more data frames; and transmit a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not regular acknowledgements may be used, in addition to the use of block acknowledgements, to acknowledge receipt of subsequent data frames.
In an example embodiment, the message may include a No Fragments field that indicates that individual data frames having a fragmented payload may not be transmitted.
In an example embodiment, the message is at least one of an add block acknowledgement (ADDBA) response, or a block Acknowledgement.
An apparatus may include a processor, the apparatus being configured to: transmit, via a wireless network, one or more data frames; and receive a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not data frames with a fragmented payload may be transmitted.
Operation 1010 may include transmitting (e.g., by processor 1104 and/or transceiver 1102), via a wireless network, one or more data frames; and operation 1020 may include receiving (e.g., by processor 1104 and/or transceiver 1102) a block acknowledgement that acknowledges receipt for one or more of the data frames, the block acknowledgement indicating whether or not data frames with a fragmented payload may be transmitted.
Processor 1104 may also make decisions or determinations, generate frames or messages for transmission, decode received frames or messages for further processing, and other tasks or functions described herein. Processor 1104, which may be a baseband processor, for example, may generate messages, packets, frames or other signals for transmission via wireless transceiver 1102. Processor 1104 may control transmission of signals or messages over a wireless network, and may receive signals or messages, etc., via a wireless network (e.g., after being down-converted by wireless transceiver 1102, for example). Processor 1104 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above. Processor 1104 may be (or may include), for example, hardware, programmable logic, a programmable processor that executes software or firmware, and/or any combination of these. Using other terminology, processor 1104 and transceiver 1102 together may be considered as a wireless transmitter/receiver system, for example.
In addition, referring to
In addition, a storage medium may be provided that includes stored instructions, which when executed by a controller or processor may result in the processor 1104, or other controller or processor, performing one or more of the functions or tasks described herein.
Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, a data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.
The subject application claims priority benefit, under 35 U.S.C. 119(e), to U.S. Provisional Patent Application No. 61/186,814, filed Jun. 13, 2009.
Number | Date | Country | |
---|---|---|---|
61186814 | Jun 2009 | US |