-
2017-10-17
13/032,302
2011-02-22
US 9,794,801 B1
2017-10-17
-
-
Ricky Ngo | Lan Huong Truong
Law Office of Dorian Cartwright | Dorian Cartwright
2033-08-18
Smart Summary: Reliable delivery of messages in wireless communication is improved by allowing access points (APs) to handle multicast messages without needing to know the sender. When multicast packets arrive at an AP, they are wrapped in a special packet format called A-MSDU, which can carry multiple messages at once. This method allows destinations to receive messages more quickly than if they were sent one by one. Each AP can optimize how it sends these packets based on the specific needs of each destination and the types of messages being sent. Overall, this system enhances the efficiency of delivering different messages to various receivers in a wireless network. 🚀 TL;DR
Reliable multicast delivery in wireless communication, even when a WS doesn't know its AP, is determined at the AP without the sending device. Multicast packets are received at each AP having destinations. Without altering those packets, the AP encapsulates them in an A-MSDU packet. Each A-MSDU packet is sent individually to each destination, and might encapsulate more than one multicast packet. Destinations might receive two streaming messages faster than if sent separately. AP's might choose a 1st multiple of multicast packets from a 1st source, a 2nd, different, multiple of multicast packets from a 2nd source, and a single multicast packet from a 3rd source. Individualized optimization of transmission parameters for each A-MSDU packet and each multicast packet therein. Individualized optimization of transmission parameters for the A-MSDU packet for each destination. The AP collectively optimizes delivery of distinct multicast packets to different destinations.
Get notified when new applications in this technology area are published.
H04W24/02 » CPC main
Supervisory, monitoring or testing arrangements Arrangements for optimising operational condition
H04L12/56 » CPC further
Data switching networks; Store-and-forward switching systems Packet switching systems
H04W4/06 » CPC further
Services specially adapted for wireless communication networks; Facilities therefor Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
H04W24/10 » CPC further
Supervisory, monitoring or testing arrangements Scheduling measurement reports ; Arrangements for measurement reports
H04W36/08 » CPC further
Hand-off or reselection arrangements Reselecting an access point
H04L12/28 IPC
Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
H04L12/54 IPC
Data switching networks Store-and-forward switching systemsÂ
This application claims priority of the following disclosures, hereby incorporated by reference as if fully set forth herein:
This application claims priority of any and all disclosures whose priority is claimed by the foregoing, or which are incorporated by reference by the foregoing. These disclosures are sometimes referred to herein as the “Incorporated Disclosures”.
In wireless communication systems, each mobile station might be coupled to a communication network by associating that mobile station with a particular AP (access point). In some IEEE wireless communication standards, wireless packets may be sent unicast (to a single destination) or multicast (to more than one destination). “Broadcast” packets are that special case of multicast packets where the designated “more than one destination” includes substantially all destinations in the wireless communication system.
In some IEEE wireless communication standards, such as the IEEE 802.11 family of communication protocols, multicast packets are not reliably delivered. In wireless communication systems following an IEEE 802.11 protocol, unicast packets must be responded to by the destination, with an acknowledgement (ACK) packet. A higher-level protocol is able to ensure reliable delivery by known techniques that are employed when a message is sent to, but no ACK packet is received from, the destination.
While this technique is generally adequate to assure delivery of unicast packets, many communication protocols, including the IEEE 802.11 family of communication protocols, do not require the destination to respond with an ACK packet when it receives a multicast packet. This could be due to concern that the sender would be flooded with ACK packets, or might be due to the nature of traffic using multicast packets. For example, multicast packets are often used to broadcast streaming audio, video, or audio-video, signals to a recipient audience. In some cases, such as election news, sports events, and the first episode of the “Victoria's Secret” modeling show, that audience may be numbered in millions.
While the loss of some fraction of packets for streaming audio-video (for example) is not necessarily crippling, it can have a noticeable effect for a user at the destination. Missing even 50 milliseconds of audio, for example, can be noticed by many human ears, with the effect that loss of even a small fraction of packets may make the streaming signal seem broken-up or jumpy.
This description includes techniques, including methods, physical articles, and systems, which provide reliable multicast delivery in a wireless communication system. This has the effect that the sender can be assured that those multicast messages it sends are reliably received by substantially every destination, without having to accept the possibility of some fraction of those messages being lost without notice to the sender.
For example and without limitation, in a wireless communication system similar to those described in the Incorporated Disclosures (as described below), or employing similar principles, the description includes techniques, including methods, physical articles, and systems, which provide reliable multicast delivery even when a wireless station (WS) is not aware of which access point (AP) it is assigned to. This has the effect that reliable delivery of those messages can be determined at the AP, without generating unnecessary traffic between the AP and the sending device, and without possibly overwhelming the sending device with ACK messages.
For example and without limitation, multicast packets in a wireless communication system (such as, for example, streaming audio-video) might be received at each AP for which there are one or more destination stations assigned thereto. Without altering any of those multicast packets, the AP might encapsulate each of them as a subframe in an aggregated MAC service data unit (A-MSDU) packet. Each such A-MSDU packet might be sent individually to each individual recipient destination station. This has the effect that the AP can substantially guarantee delivery of substantially each such multicast packet to substantially every one of its designated destinations.
This description includes techniques, including methods, physical articles, and systems, which provide for more than one such multicast packet to be encapsulated, each as a separate subframe, within each such A-MSDU packet. Note that as each such A-MSDU packet is sent directly to its individual destination, the selection of which, and how many, multicast packets to include within each such A-MSDU packet might be made by the AP. For example and without limitation, if a destination station is concurrently receiving streaming messages from multiple sources, multicast packets from each, or at least more than one, of those sources, might be differently encapsulated for distinct destinations. This has the effect that a destination might receive two or more such streaming messages encapsulated in a single A-MSDU packet.
If those two or more such streaming messages are originally from distinct sources, the destination might thus receive those streaming messages superior to if those two or more such streaming messages were sent separately. If those two or more such streaming messages are originally from a single source, the destination might again thus receive those streaming messages superior to if those two or more such streaming messages were sent separately. The invention includes the possibility that an AP, when generating an A-MSDU packet for a particular individual destination, might choose a 1st set of multiple multicast packets from a 1st source, a 2nd set of multiple multicast packets from a 2nd source, where the multiple number in the 2nd set differs from the 1st set, and perhaps, a single multicast packet from a 3rd source, any combination or conjunction thereof, or by some other technique.
This description includes techniques, including methods, physical articles, and systems, which provide individualized optimization of transmission parameters for substantially each such A-MSDU packet. Note that as each such A-MSDU packet is separately sent to its individual destination, the selection of transmission parameters for each multicast packet encapsulated in the A-MSDU packet might be chosen individually for substantially each such multicast packet, and the selection of transmission parameters for the entire A-MSDU packet might be chosen individually for substantially each such destination. The invention includes the possibility that some multicast packets are delivered, when encapsulated, more slowly than if they had been otherwise transmitted multicast, so that the AP might deliver other multicast packets, when encapsulated, more quickly than if they had been otherwise transmitted multicast. This has the effect that a multicast packet to a 1st destination need not slow down the same multicast packet sent to a 2nd destination. This also has the effect that a 1st multicast packet might be sent slower than if multicast, so that the AP can collectively optimize delivery of both 1st and 2nd multicast packets, in different numbers, to different destinations.
FIG. 1 shows a conceptual drawing of a wireless communication system.
The invention includes techniques, including methods, physical articles, and systems, that receive real-world information dictated by real-world conditions (not mere inputs to a problem-solving technique). The techniques provided by the invention are transformative of the information received, at least in the sense that incoming data is reordered and allocated to particular times and priorities. This has the effect that a 1st type of information (e.g., incoming message units) is transformed into a 2nd type of information (e.g., relative priority of outgoing message units).
The invention includes techniques that are tied to a particular machine, at least in the sense that allocation of time and bandwidth is performed in a communication system. While this description is primarily directed to that portion of the invention in which an AP plays a prominent role, this description also shows that an AP alone (i.e., without appropriate instructions) would not necessarily be sufficient to perform methods, or comprise systems, within the scope and spirit of the invention.
This application should be read in the most general possible form. This includes, without limitation, the following:
The invention is not in any way limited to the specifics of any particular examples disclosed herein. Many other variations are possible which remain within the content, scope and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application.
The following definitions and notations are exemplary, and not intended to be limiting in any way:
When a computation or determination is said to be “at the AP”, “at the access point”, and the like, there is no particular requirement that a computing device included in, or substantially co-located with, the AP perform that computation or determination. The AP might have access, for example and without limitation, by a wire-line connection, to other computing resources which are able to supply an answer to the computation or determination.
The terms “destination”, and the like, when used with respect to information or messages, generally refer to either an immediate next hop in a communication chain, or to an intended recipient of the information in the message.
The phrases “reliable multicast delivery”, and the like, generally refer to delivery of multicast packets in such manner that (presuming that higher-level protocols make proper use of ACK packets) a sender can substantially guarantee that each and every multicast packet will be delivered to each and every designated destination.
The terms “send”, and the like, when used with respect to information or messages, generally refer to constructing and uttering a message to another element in a communication system. In the context of the invention, when a message is received and “sent”, there is no particular requirement that the original signal or exact original bits of the message be included in the new message that is “sent”.
The terms “stream”, “streaming”, and the like, and the phrases “streaming (some type of) data”, and the like, generally refer to a sequence of messages intended to be received and used to present a time-varying signal. For example and without limitation, such a time-varying signal might include audio-visual data for presentation as part of a movie or television show.
The terms “superior”, and the like, and the phrases “superior to”, and the like, when used with respect to messages sending or transmission, generally refer to any set of transmission parameters which are preferred. For example, a 1st set of transmission parameters might be superior to a 2nd such set, in any one or more the following cases: faster per-bit throughput, lower bit-error rate, lower power required.
The phrases “wireless communication system”, and the like, generally refer to any communication system including computing devices, in which at least some portion of the communication (such as between access points and wireless stations) is performed using a wireless technique.
After reading this application, those skilled in the art would recognize that these definitions and notations would be applicable to techniques, methods, physical elements, and systems—not currently known, or not currently known to be applicable by the techniques described herein—including extensions thereof that would be inferred by those skilled in the art after reading this application, even if not obvious to those of ordinary skill in the art at the time of reading this application.
Where described as shown in a FIGURE, an element might include:
FIG. 1 shows a conceptual drawing of a wireless communication system.
A system 100 includes elements shown in the FIG. 1, including at least a control element 110, access points 120, wireless stations 130, and a communicating device 140 to an external network 150. These elements might cooperate in one or more of the ways described in the Incorporated Disclosures, or as in another operational wireless communication system.
Incorporated Methods
The control element 110 directs the access points 120 regarding which wireless stations 130 are assigned thereto. In general, IEEE standard 802.11 provides that each wireless station 130 should determine its best access point 120 to communicate with and should operate with the wireless communication system using that access point 120. In the FIG. 1, the control element 110 directs the access points 120 to respond (or not respond) to wireless stations 130 in compliance with a relevant standard; however, it directs the access points 120 to react in a way that causes the wireless station 130 (also in compliance with a relevant standard) to believe that its best access point 120 is the one assigned to it by the control element 110.
The Incorporated Disclosures describe at least two distinct ways by which this might be accomplished:
In either case, each particular wireless station 130 is able to communicate with only the access point 120 to which it has been assigned by the control element 110. If a particular wireless station 130 desires to send a unicast message 160, that unicast message 160 is transmitted, received by its assigned access point 120, routed within the wireless communication system 100, possibly to the communicating device 140 toward a destination accessible using the external network 150. Similarly, if a unicast message 160 is directed to a particular wireless station 130, possibly from a sender accessible using the external network 150 to the communicating device 140, that unicast message 160 is routed within the wireless communication system 100 to the access point 120 assigned to that particular wireless station 130, which delivers that unicast message 160 to that particular wireless station 130.
One having skill in the art will appreciated that the control element 110 may be integrally formed as part of an access point 120 or be otherwise communicably coupled to an access point to effectuate the control element 110 functionality.
Receipt of Multicast Messages
If a particular wireless station 130 desires to send, or is one of the designated recipients of, a multicast message 160, that multicast message 160 first reaches an access point 120. That multicast message 160 would reach the access point 120 assigned to the sender, possibly the communicating device 140 if the sender is accessible using the external network 150.
When the multicast message 160 first reaches an access point 120, that access point 120 recognizes the message 160 as being multicast (as distinguished from unicast), and determines a set of designated destinations for that multicast message 160. Designated destinations might include one or more selected wireless stations 130, might include one or more destinations addressable using the external network 150, some combination or conjunction thereof, or otherwise.
While this description is primarily directed to cases in which the multicast message 160 explicitly designates all its recipients, in the context of the invention, there is no need for any such limitation. For example and without limitation, it might occur that a 1st access point 120 reviews the multicast message 160, determines some number of destination wireless stations 130 assigned to it, and in addition, constructs and sends a revised multicast message 160 to a 2nd access point for further processing.
In a case in which the wireless station 130 is a sender, the multicast message 160 reaches the access point 120 assigned to the wireless station. That access point 160 determines those destinations toward which the multicast message is directed.
The sending access point 120 constructs an A-MSDU packet 161, a type of message 160, including a packet header 162, packet body 163, and packet end-marker 164. The sending access point 120 constructs one such A-MSDU packet 161 for each destination it determines the multicast message 160 is directed toward. Note that an A-MSDU packet 161 is unicast to a particular wireless station 130, or possibly to the communicating device 140 if its destination is to be accessed using the external network 150. The packet header 162 of the A-MSDU packet 161 includes the MAC address of the particular destination, while the packet body 163 includes (a copy of) the original multicast message 160.
Construction of A-MSDU Packet
A-MSDU packets 161 provide for agglomerated transport of (copies of) multiple messages 160, so that multiple such messages 160 might be sent in a single message 160. The A-MSDU packet 161 including a (copy of) the multicast message 160 might also include (copies of) other multicast messages 160, and might include copies of other messages 160. For example and without limitation, an A-MSDU packet 161 might include copies of unicast messages 160 that the access point 120 has queued-up for sending.
In the case in which streaming audio-video data is sent to multiple destinations using multicast messages 160, it might occur that several of such multicast messages 160, each marked with its transmission order, are all (eventually, but hopefully sooner rather than later) sent to the destination. The access point 120 that constructs the A-MSDU packet 161 might choose to include multiple such multicast messages 160, with the effect that multiple such multicast messages 160 are combined into a single transport packet.
In the case in which streaming audio-video data, or other data, is sent from multiple senders to a single destination (for example and without limitation, when a television channel includes a picture-within-picture or split-screen feature), it might occur that several of such multicast messages 160, each marked with the MAC address of its sender, are all sent to the destination. The access point 120 that constructs the A-MSDU packet 161 might choose to include multiple such multicast messages 160, with the effect that multicast messages 160 from disparate senders are combined into a single transport packet.
There is no particular requirement that the access point 120 balance the number of multicast messages 160 it encapsulates (copies of) within the packet body 163 of the A-MSDU packet 161. A 1st such A-MSDU packet 161 might include only one such multicast message 160; a 2nd such A-MSDU packet 161 might include two or more multicast messages 160 from the same sender; a 3rd such A-MSDU packet 161 might include single or multiple ones of multicast messages 160 from more than one sender, and might also include any “stray” unicast messages 160 the access point 120 happens to have available when constructing some particular A-MSDU packet 161.
Reliable Delivery of A-MSDU Packet
When each particular device for which the multicast message 160 was designated (for example and without limitation, each particular wireless station 130 or the communicating device 140) receives the A-MSDU packet 161, that A-MSDU packet 161 includes the specific MAC address for that particular wireless station 130. The destination wireless station 130 (hopefully) receives the A-MSDU packet 161 and responds with an ACK packet 171, another type of message 160. When the access point 120 associated with that destination wireless station 130 receives the ACK packet 171, it can reliably assure the sender of the multicast message 160 of receipt by that particular destination wireless station 130.
In the event that one or more of these ACK packets 171 is lost, stolen, or otherwise unaccounted for, the access point 120 might retry sending the A-MSDU packet 161 to those destination wireless stations 130 for which no ACK packet 171 was received. Acknowledgement and retry, together with backoff are techniques known in the art of computer communication to assure reliable delivery of messages 160 to destinations. The access point 120 might use acknowledgement and retry, or some other technique, to assure reliable delivery even if one or more such ACK packets 171 goes awry.
Reliable Acknowledgment of A-MSDU Packet
As noted above, the access point 120 waits for, and should receive, an ACK packet 171 for each individual destination, for each individual A-MSDU packet 161. Each particular ACK packet 171 has the effect of showing that its particular destination has received the A-MSDU packet 161, and by implication, that it has received each of the multicast messages 160 included in the packet body 130 of that A-MSDU packet 161. This has the effect that multicast messages 160 are reliably delivered, notwithstanding that the IEEE 802.11 standard provides for no such mechanism.
While this description is primarily directed to cases in which ACK packets 171 might be agglomerated into A-MSDU packets 161, in the context of the invention, there is no particular requirement for any such limitation. For example and without limitation, access points 120 and other routing elements on a communication pathway back from the destination access point 120 might receive such A-MSDU packets 161, parse them, and extract or insert other data in the packet data 163.
Such other data might include ACK packets 171 produced by distribution of other multicast messages 160, individualized ACK packets 171 produced by sending unicast messages 160, stray unicast messages 160 an intermediate access point 120 has ready for sending, other multicast messages 160 for delivery in a different communication direction, some combination or conjunction thereof, or otherwise.
Transmission Parameters
As noted above, a distributing access point 120 might choose to combine more than one multicast message 160 from the same source, or multicast messages 160 from more than one source, or some combination or conjunction thereof.
In the case that more than one multicast message 160 is encapsulated in a single A-MSDU packet 161, a particular access point 120 might be able to achieve superior communication with a particular wireless station 130, notwithstanding that multiple unicast messages 160 (the A-MSDU packets 171) are constructed in response to each such multicast message 160.
Other cases might also provide for superior communication between an access point 120 and its assigned wireless stations 130:
The invention has applicability and generality to other aspects of wireless communication. It is not limited to wireless communication based upon 802.11 standards, nor is it limited to any particular IEEE standard, to any particular communication standard, or even to wireless communication. One having skill in the art will recognize that the systems and methods disclosed herein may be effectuated using other techniques.
1. A computer-implemented method, in an access point of a communication network, the method comprising the steps of:
intermittently receiving a first set of multicast packets from a first sender and addressed to a first destination;
intermittently receiving a second set of multicast packets from a second sender and addressed to the first destination;
encapsulating in a first A-MSDU (aggregated media access control service data unit) packets for a first destination, at least a portion of both the first and second sets of multicast packets received from the first and second senders, wherein both the first and second sets of multicast packets are both destined to a station wirelessly connected to the access point;
sending the first A-MSDU packets to the first destination through a unicast transmission; and
receiving an ACK (acknowledgment) frame from the first destination for each of the first A-MSDU packets received.
2. The method of claim 1, wherein the first and second set of multicast packets are also addressed to a second destination, wherein the further comprises:
encapsulating in one or more second A-MSDU packets for a second destination, at least a portion of both the first and second sets of multicast packet that differ in composition from the first one or more A-MSDU packets.
3. The method of claim 1, wherein a transmission parameter of the unicast transmission of the one or more first A-MSDU packets is altered by the access point relative to a transmission parameters of the first set of multicast packets.
4. The method of claim 1, wherein both the first and second sets of multicast packets are both received from a station wirelessly connected to the access point.
5. A non-transitory computer readable medium storing code that, when executed in an access point of a communication network, performs a method comprising the steps of:
intermittently receiving a first set of multicast packets from a first sender and addressed to a first destination;
intermittently receiving a second set of multicast packets from a second sender and addressed to the first destination;
encapsulating in a first A-MSDU (aggregated media access control service data unit) packets for a first destination, at least a portion of both the first and second sets of multicast packets received from the first and second senders, wherein both the first and second sets of multicast packets are both destined to a station wirelessly connected to the access point;
sending the first A-MSDU packets to the first destination through a unicast transmission; and
receiving an ACK (acknowledgment) frame from the first destination for each of the first A-MSDU packets received.
6. The computer readable of claim 5, wherein the first and second set of multicast packets are also addressed to a second destination, wherein the further comprises:
encapsulating in one or more second A-MSDU packets for a second destination, at least a portion of both the first and second sets of multicast packet that differ in composition from the first one or more A-MSDU packets.
7. The method of claim 5, wherein a transmission parameter of the unicast transmission of the one or more first A-MSDU packets is altered by the access point relative to a transmission parameters of the first set of multicast packets.
8. The method of claim 5, wherein both the first and second sets of multicast packets are both received from a station wirelessly connected to the access point.
9. The method of claim 5, wherein both the first and second sets of multicast packets are both destined to a station wirelessly connected to the access point.
10. An access point of a communication network, comprising:
a processor; and
a memory device, storing:
a first module to intermittently receive a first set of multicast packets from a first sender and addressed to a first destination;
a second module to intermittently receive a second set of multicast packets from a second sender and addressed to the first destination;
a third module to encapsulate in a first A-MSDU (aggregated media access control service data unit) packets for a first destination, at least a portion of both the first and second sets of multicast packets received from the first and second senders, wherein both the first and second sets of multicast packets are both destined to a station wirelessly connected to the access point;
a fourth module to send the first A-MSDU packets to the first destination through a unicast transmission; and
a fifth module to receive an ACK (acknowledgment) frame from the first destination for each of the first A-MSDU packets received.