BROADCAST BASED DISCOVERY OF WI-FI NETWORKS, DEVICES AND SERVICES
Embodiments reduce the time and energy expended to establish an initial link to a network. Some embodiments use either active or passive scans to discover available access points and then use a broadcast or multicast Generic Advertisement Service (GAS) Request message to identify access points providing requested services. Other embodiments use a broadcast or multicast GAS Request message to identify access points or mobile devices providing requested services without first scanning for access points. Only access points or mobile devices providing requested services need to respond to the GAS request message. Duplicate messages received by multiple access points coupled to the same network can be filtered so only one message is received and responded to.
Embodiments pertain to wireless communications. More particularly, embodiments pertain to establishing an initial connection to a network.
BACKGROUNDAn ongoing problem in devices is the time and power required to establish a connection to a network. In particular, it can be time and energy consuming to scan for access points or other responders, identify the proper responder, and establish a connection thereto.
The following description and the drawings sufficiently illustrate specific embodiments to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Portions and features of some embodiments may be included in, or substituted for, those of other embodiments. Embodiments set forth in the claims encompass all available equivalents of those claims.
The IEEE 802.11u standard (IEEE Std 802.11u-2011) has defined GAS and Access Network Query Protocol (ANQP), which are used by the Wi-Fi Alliance (WFA) Hotspot 2.0 program and WFA Wi-Fi Direct (Wi-Fi Peer-to-Peer) program, which allow a Station (STA) to discover and establish a link to a responder (such as an Access Point (AP), STA, or other responder). The defined standard is based on query-response mechanism—a device sends a query request to the Wi-Fi Access network (or another device as in the case of Wi-Fi Direct) and the network or responding device comes back with a response. All of these request and responses are “unicast” based messages. In other words, if a mobile device identifies 50 different Wi-Fi networks or Wi-Fi enabled peer devices (STAs) in a given location, it will have to send the query request to all networks and devices one-by-one 50 times and get responses from them individually. This process is illustrated in
In
In
Assuming STA 102 does not recognize any of the responders, it can use GAS to post an ANQP query to each of the responders to discover whether any are able to provide access to a desired service, for example. In
After the appropriate GAS comeback delay (td 126), STA 102 sends GAS comeback request 128, receives GAS comeback response 130, and perhaps engages in additional GAS comeback request/response exchanges (e.g., GAS comeback request 132 and GAS comeback response 134) in order to receive all of the information provided by ANQP server 120. The time delay for a GAS comeback request/response can be about 100 ms and is illustrated in
Note that this process needs to be completed for each responder (e.g., AP or STA) that STA 102 discovered.
Assuming the ANQP information was fragmented across multiple GAS comeback request/response exchanges, STA 102 needs to defragment the ANQP information for each responder, consolidate all information from all the networks, analyze the ANQP information, and select a network that can provide the service that STA 104 desires. This time is illustrated in
After a desired responder is selected, STA 102 sends an Association Request message 142.
Using the existing protocol, it can take significant time and energy to discover and identify all responders, identify the services provided by the responders, select an appropriate responder, and send an association request message. This is true even if the ANQP messages are sent to individual responders in an overlapping manner (e.g., the GAS Init Req. message for one responder is sent before the GAS comeback delay td for another responder expires).
Responders that are access points may be connected to an appropriate server or other device directly, through a network, or even through an access controller. In
A message, such as message 222, may be sent using broadcast or multicast so that it is received by all responders (e.g., stations 202, 204 and access points 206, 208 and 210) within range.
Once all responders have been identified, station 300 transmits GAS Request message 314 having a broadcast or multicast delivery method so that all responders receive the message and access the information contained therein. The GAS Request message 314 contains information regarding a service that station 300 is interested in obtaining For example, GAS Request message 314 may contain indicating that station 300 wants to access its home network provider realm “GreenWiFiProvider.com” or needs a network that is providing Virtual Private Network (VPN) services.
As responders receive GAS Request message 314, they determine if they are able to provide the service requested. In one embodiment, only responders able to provide the requested service respond. In other embodiments, any responders may respond to the request. In
Although not illustrated in
After station 300 receives all needed information, station 300 will process the responses and select a responder for association. In
As illustrated in
Fields 404, 406, 410, 412, 414, and 416 can correspond to Orders 0-5, respectively, in the GAS Initial Request frame as defined by IEEE Std. 802.11u-2011, which is an amendment to IEEE Std. 802.11-2007 as amended by IEEE Std. 802.11k-2008, IEEE Std. 802.11r-2008, IEEE Std. 802.11y-2008, IEEE Std. 802.11w-2009, IEEE Std. 802.11n-2009, IEEE Std. 802.11p-2010, IEEE Std. 802.11z-2010 and IEEE Std. 802.11v-2011, all of which are incorporated by reference. In these specifications GAS Initial Request Frame is defined in 7.4.7.13 (GAS Initial Request frame format) and Table 7-57f6 as: the category field (order 0) is set to a value indicating a public action frame, as specified in Table 7-24; the action field (order 1) is set to the value specified in table 7-57e for a GAS Initial
Request frame; the dialog token (order 2) is defined in 7.3.1.12 and is set by the requesting station; the advertisement protocol element (order 3) is defined in 7.3.2.93 and includes exactly one Advertisement Protocol ID; the query request length (order 4) is defined in FIG. 7-101h10 and is set to the total number of octets in the query request field; and the query request field (order 5) is defined in FIG. 7-101h11 and is a generic container whose value is a GAS Query that is formatted in accordance with the protocol specified in the Advertisement Protocol element.
Once station 500 receives all GASR messages, it selects a responder and transmits an AQ message, such as AQ message 520 transmitted to responder 508.
Although not illustrated in
In some instances, multiple responders (e.g., access points) can feed received information through an access controller to a server. In these instances, when a broadcast message is received by multiple responders, multiple copies of the same message can be received at the server.
In
In
Station 700 may include processor 704, memory 706, transceiver 708 (including at least one antenna 710), instructions 712, 714, and possibly other components (not shown). Responder 702 may include processor 716, memory 718, transceiver 720 (including at least one antenna 722), instructions 724, 726, and possibly other components (not shown). While similar from a block diagram standpoint, it will be apparent to those of skill in the art that the configuration and details of the operation of station 700 and responder 702 may be similar, or substantially different, depending on the exact device and role.
The processor 704 and processor 716 each comprise one or more central processing units (CPUs), graphics processing units (GPUs), accelerated processing units (APUs), or various combinations thereof. The processor 704 provides processing and control functionalities for station 700, and processor 716 provides processing and control functionalities for responder 702.
Memory 706 and memory 718 each comprise one or more transient and/or static memory units configured to store instructions and data for station 700 and responder 702, respectively. Transceiver 708 and transceiver 720 each comprise one or more transceivers including, for an appropriate station or responder, a multiple-input and multiple-output (MIMO) antenna to support MIMO communications. For station 700, transceiver 708 receives transmissions and transmits transmissions, among other things, from and to responder 702 respectively. For responder 702, the transceiver 720 receives transmissions from and transmits data back to station 700 (and perhaps other entities as well).
The instructions 712, 714, comprise one or more sets of instructions or software executed on a computing device (or machine) to cause such computing device (or machine) to perform any of the methodologies discussed herein. The instructions 712, 714, (also referred to as computer- or machine-executable instructions) may reside, completely or at least partially, within processor 704 and/or the memory 706 during execution thereof by station 700. While instructions 712 and 714 are illustrated as separate, they can be part of the same whole. The processor 704 and memory 706 also comprise machine-readable media.
The instructions 724, 726 comprise one or more sets of instructions or software executed on a computing device (or machine) to cause such computing device (or machine) to perform any of the methodologies discussed herein. The instructions 724, 726 (also referred to as computer- or machine-executable instructions) may reside, completely or at least partially, within processor 716 and/or the memory 718 during execution thereof by responder 702. While instructions 724 and 726 are illustrated as separate, they can be part of the same whole. The processor 716 and memory 718 also comprise machine-readable media.
In
Accordingly, the term “processing circuitry” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
The Abstract is provided to comply with 37 C.F.R. Section 1.72(b) requiring an abstract that will allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims. The following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.
The terms “computer readable medium,” “machine-readable medium,” and the like should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The terms shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The terms “computer readable medium” and “machine-readable medium” shall accordingly be taken to include “computer storage medium,” “machine storage medium,” and the like (e.g., tangible sources including, solid-state memories, optical and magnetic media, or other tangible devices and carriers but excluding signals per se, carrier waves and other intangible sources) as well as “computer communication medium,” “machine communication medium” and the like (intangible sources including, signals per se, carrier wave signals and the like).
It will be appreciated that, for clarity purposes, the above description describes some embodiments with reference to different functional units or processors. However, it will be apparent that any suitable distribution of functionality between different functional units, processors, or domains may be used without detracting from embodiments disclosed herein. For example, functionality illustrated as performed by separate processors or controllers may be performed by the same processor or controller. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality, rather than indicative of a strict logical or physical structure or organization.
Although the present invention has been described in connection with some embodiments, it is not intended to be limited to the specific form set forth herein. One skilled in the art would recognize that various features of the described embodiments may be combined in accordance with the invention. Moreover, it will be appreciated that various modifications and alterations may be made by those skilled in the art without departing from the scope of the invention.
Claims
1. A wireless device comprising:
- transceiver circuitry comprising an antenna, the transceiver circuitry to transmit a Generic Advertisement Service (GAS) Request message and an Association Request (AQ) message and to receive at least one GAS Response message;
- memory;
- a processor coupled to the memory and transceiver circuitry; and
- instructions, stored in the memory, which when executed, cause the processor to: create the GAS Request message with a Delivery Method (DM) field value selected from a group consisting of broadcast, multicast, and unicast; cause the GAS Request message to be transmitted via the transceiver circuitry; process the at least one GAS Response message; and create the AQ message and transmit it via the transceiver circuitry.
2. The wireless device of claim 1, wherein the instructions cause the processor to initiate a network scan process, the network scan process to identify responders available to the wireless device.
3. The wireless device of claim 2, wherein the instructions cause the processor to create the GAS Request message with the DM field value selected based on a stored profile of an intended recipient of the GAS Request message.
4. The wireless device of claim 2, wherein the instructions cause the processor to:
- locate a stored profile for an identified responder; and
- create the GAS Request message with a DM field value of unicast for the identified responder.
5. The wireless device of claim 1, wherein the GAS Request message contains a request for a service and the at least one GAS Response message is received from at least one responder able to provide the service.
6. The wireless device of claim 1, wherein the DM field value is either broadcast or multicast and wherein the at least one GAS Response message is received only from responders able to provide a service requested in the GAS Request message.
7. A wireless device comprising:
- transceiver circuitry;
- processing circuitry to cause the transceiver circuitry to: transmit a Generic Advertisement Service (GAS) Request message using a broadcast or a multicast mode, the GAS Request message containing a request for at least one service; receive a GAS Response message transmitted by a responder able to provide the at least one service; and transmit an Association Request (AQ) message to the responder.
8. The device of claim 7, wherein the processing circuitry further causes the transceiver circuitry to scan for responders adapted to provide network access.
9. The device of claim 7, wherein the processing circuitry causes the transceiver circuitry to transmit the GAS Request message without scanning for the presence of responders.
10. A method for establishing an initial connection to a wireless network comprising:
- transmitting, by a station, a Generic Advertisement Service (GAS) Request message comprising a Delivery Method (DM) field indicating the GAS Request message is a broadcast or multicast message;
- receiving, by the station, at least one GAS Response message, each GAS Response message transmitted by a responder; and
- transmitting, by the station, an Association Request (AR) message to a selected responder.
11. The method of claim 10, wherein the GAS Request message further comprises a request for at least one service.
12. The method of claim 11, wherein the request for at least one service comprises a request for access to a network provider.
13. The method of claim 11, wherein the responder only transmits a GAS Response message if the responder is able to provide at least one service.
14. The method of claim 10, wherein the DM field consists of a value selected from unicast, broadcast, and multicast; and
- wherein the station selects the DM field value based on whether the station is associated or unassociated with a wireless network adapted to provide a desired service.
15. The method of claim 10, further comprising:
- scanning, by the station, for wireless networks to identify responders.
16. The method of claim 10, wherein the at least one GAS Response message is unicast from the responder to the station.
17. A method for establishing an initial connection to a wireless network comprising:
- receiving, by a responder, a Generic Advertisement Service (GAS) Request message comprising a Delivery Method (DM) field indicating the GAS Request message is a broadcast or multicast message;
- transmitting, by the responder, a GAS Response message; and
- receiving, by the responder, an Association Request (AR) message.
18. The method of claim 17, wherein the GAS Request message further comprises a request for at least one service; and
- wherein the GAS Response message is only transmitted if the responder can provide the at least one service.
19. The method of claim 18, wherein the request for at least one service comprises a request for access to a network provider.
20. The method of claim 17, further comprising
- receiving, by the responder, a Scan Request (SR) message; and
- transmitting, by the responder, a SR Response message.
Type: Application
Filed: Dec 27, 2012
Publication Date: Jul 3, 2014
Patent Grant number: 9125143
Inventors: Necati Canpolat (Beaverton, OR), Vivek G. Gupta (San Jose, CA)
Application Number: 13/728,657
International Classification: H04W 48/20 (20060101);