# Patent

## Title
Method, apparatus, and computer program product for filtering list in wireless request

## Abstract

Method, apparatus, and computer program product embodiments of the invention are disclosed to improve the discovery of wireless networks. In example embodiments of the invention, a method comprises: transmitting a wireless message including a list of one or more wireless devices, from which a response is not desired; and receiving zero or more responses from one or more other wireless devices that are not on the list.

## Background
FIELD
The embodiments relate to wireless communication, and more particularly to improvements in discovering wireless networks.
BACKGROUND
Modern society has adopted, and is becoming reliant upon, wireless communication devices for various purposes, such as connecting users of the wireless communication devices with other users. Wireless communication devices can vary from battery powered handheld devices to stationary household and/or commercial devices utilizing an electrical network as a power source. Due to rapid development of the wireless communication devices, a number of areas capable of enabling entirely new types of communication applications have emerged.
Cellular networks facilitate communication over large geographic areas. These network technologies have commonly been divided by generations, starting in the late 1970s to early 1980s with first generation (1G) analog cellular telephones that provided baseline voice communications, to modern digital cellular telephones. GSM is an example of a widely employed 2G digital cellular network communicating in the 900 MHZ/1.8 GHZ bands in Europe and at 850 MHz and 1.9 GHZ in the United States. While long-range communication networks, like GSM, are a well-accepted means for transmitting and receiving data, due to cost, traffic and legislative concerns, these networks may not be appropriate for all data applications.
Short-range communication technologies provide communication solutions that avoid some of the problems seen in large cellular networks. BluetoothTM is an example of a short-range wireless technology quickly gaining acceptance in the marketplace. In addition to BluetoothTM other popular short-range communication technologies include BluetoothTM Low Energy, IEEE 802.11 wireless local area network (WLAN), Wireless USB (WUSB), Ultra Wide-band (UWB), ZigBee (IEEE 802.15.4, IEEE 802.15.4a), and ultra-high frequency radio frequency identification (UHF RFID) technologies. All of these wireless communication technologies have features and advantages that make them appropriate for various applications.
SUMMARY
Method, apparatus, and computer program product embodiments of the invention are disclosed to improve the discovery of wireless networks.
In example embodiments of the invention, a method comprises:
transmitting a wireless message including a list of one or more wireless devices, from which a response is not desired; and
receiving zero or more responses from one or more other wireless devices that are not on the list.
In example embodiments of the invention, the method further comprises:
wherein the wireless message is a probe request and the zero or more responses are probe responses.
In example embodiments of the invention, the method further comprises:
wherein the wireless message is a wireless generic advertisement service request and the zero or more responses are wireless generic advertisement service responses.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are access point devices.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are stations.
In example embodiments of the invention, the method further comprises:
transmitting a second wireless message including a second list of one or more wireless devices, from which a response is not desired, the second list including the other devices that responded to the first said list, and
receiving zero or more responses from one or more additional other wireless devices that are not on the first said list or the second list.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are known from at least one previous scanning.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are known from a location database.
In example embodiments of the invention, the method further comprises:
wherein the list includes at least one of device addresses and network addresses of the one or more wireless devices.
In example embodiments of the invention, the method further comprises:
prior to transmitting the wireless message, transmitting a preceding wireless message without the list of one or more wireless devices; and
omitting the inclusion of the list of one or more wireless devices in the first said wireless message if no responses are received to the preceding wireless message.
In example embodiments of the invention, an apparatus comprises:
at least one processor;
at least one memory including computer program code;
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
transmit a wireless message including a list of one or more wireless devices, from which a response is not desired; and
receive zero or more responses from one or more other wireless devices that are not on the list.
An example embodiment of the invention further comprises a computer program product comprising computer executable program code recorded on a computer readable, non-transitory storage medium, the computer executable program code, when executed by a computer processor, comprising:
code for transmitting a wireless message including a list of one or more wireless devices, from which a response is not desired; and
code for receiving zero or more responses from one or more other wireless devices that are not on the list.
In example embodiments of the invention, a method comprises:
receiving by an apparatus, a wireless message from a sending device, including a list of one or more wireless devices, from which a response to the wireless message is not desired; and
transmitting a response to the wireless message if the receiving apparatus is not on the list.
In example embodiments of the invention, the method further comprises:
wherein the wireless message is a probe request and the response is a probe response or the wireless message is a wireless generic advertisement service request and the response is a wireless generic advertisement service response.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are access point devices or the one or more wireless devices included in the list, are stations.
In example embodiments of the invention, the method further comprises:
receiving a second wireless message including a second list of one or more wireless devices from which a response is not desired, the second list including the receiving apparatus that responded to the first said list, and
suppressing transmission of a response to the second message.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are known from at least one previous scanning.
In example embodiments of the invention, the method further comprises:
wherein the one or more wireless devices included in the list, are known from a location database.
In example embodiments of the invention, the method further comprises:
wherein the list includes device addresses of the one or more wireless devices.
In example embodiments of the invention, an apparatus comprises:
at least one processor;
at least one memory including computer program code;
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
receive a wireless message from a sending device, including a list of one or more wireless devices, from which a response to the wireless message is not desired; and
transmit a response to the wireless message if the apparatus is not on the list.
An example embodiment of the invention further comprises a computer program product comprising computer executable program code recorded on a computer readable, non-transitory storage medium, the computer executable program code, when executed by a computer processor, comprising:
code for receiving by an apparatus, a wireless message from a sending device, including a list of one or more wireless devices, from which a response to the wireless message is not desired; and
code for transmitting a response to the wireless message if the receiving apparatus is not on the list.
In this manner, embodiments of the invention improve the discovery of wireless networks.



DESCRIPTION OF THE FIGURES
FIG. 1A illustrates an example wireless network diagram of a sending wireless node, NODE A, broadcasting a first message to a plurality of seven receiving wireless nodes NODE 1 to NODE 7, in accordance with example embodiments of the invention.
FIG. 1B illustrates the example wireless network diagram of FIG. 1A, of three receiving wireless nodes NODE 1, NODE 3, and NODE 4 of the plurality of seven receiving wireless node devices, replying to the wireless message with a response, in accordance with an example embodiment of the invention.
FIG. 1C illustrates the example wireless network diagram of FIG. 1B, wherein the sending wireless node, NODE A, broadcasts a second message to the plurality of seven receiving wireless nodes, the wireless message including a first filtering list of addresses of receiving wireless nodes from which a response is not desired, the first filtering list containing the addresses of the receiving wireless nodes NODE 1, NODE 3, and NODE 4 that have previously responded to the first message, in accordance with an example embodiment of the invention.
FIG. 1D illustrates the example wireless network diagram of FIG. 1C, of three additional receiving wireless nodes, NODE 2, NODE 5, and NODE 6 of the plurality of seven receiving wireless node devices, replying to the second message with a response, in accordance with an example embodiment of the invention.
FIG. 1E illustrates the example wireless network diagram of FIG. 1D, wherein the sending wireless node, NODE A, broadcasts a third message to the plurality of seven receiving wireless nodes, the wireless message including a second filtering list of addresses of receiving wireless nodes from which a response is not desired, in accordance with an example embodiment of the invention.
FIG. 1F illustrates the example wireless network diagram of FIG. 1E, of the last receiving wireless node, NODE 7, of the plurality of seven receiving wireless node devices, replying to the third message with a response, in accordance with an example embodiment of the invention.
FIG. 2 illustrates an example of the wireless message as a generalized frame body that includes an information element, in accordance with an example embodiment of the invention.
FIG. 2A illustrates an example of the wireless message as a probe request frame, in accordance with an example embodiment of the invention.
FIG. 2B illustrates an example frame body format of the probe response frame, in accordance with an example embodiment of the invention.
FIG. 3A illustrates an example of the wireless message as a Generic Advertisement Service Initial Request Frame, in accordance with an example embodiment of the invention.
FIG. 3B illustrates an example frame body format of the Generic Advertisement Service Initial Response Frame, in accordance with an example embodiment of the invention.
FIG. 4A illustrates an example flow diagram of operational steps of an example embodiment of the procedure performed in the sending wireless node, NODE A, according to an embodiment of the present invention.
FIG. 4B is an example flow diagram of operational steps of an example embodiment of the procedure performed in the receiving wireless node device NODE 1, according to an embodiment of the present invention.
FIG. 5A illustrates an example wireless network and functional block diagram of the sending wireless node, NODE A, and the receiving wireless node, NODE 2, with the sending wireless node, NODE A, transmitting a message frame, in accordance with an example embodiment of the invention.
FIG. 5B illustrates the example wireless network and functional block diagram of FIG. 5A, of the sending wireless node, NODE A, and the receiving wireless node, NODE 2, with the receiving wireless node, NODE 2 transmitting a response frame, in accordance with an example embodiment of the invention.
FIG. 6 illustrates the example wireless network and functional block diagram of FIG. 5A, of the sending wireless node, NODE A, and a regional database containing the geographic locations of wireless nodes and their addresses, the sending wireless node, NODE A, and the regional database communicating over a wide area wireless network, in accordance with an example embodiment of the invention.



DISCUSSION OF EXAMPLE EMBODIMENTS OF THE INVENTION
This section is organized into the following topics:
A. WLAN Communication Technology

    
    
        1. IEEE 802.11 MAC Frames and Information Elements
        2. IEEE 802.11 Beacon, Probe Request and Response
        3. Generic Advertisement Service (GAS)
        4. Wi-Fi Direct—Software Access Points
    
    


B. Filtering List In Wireless Request
A. WLAN Communication Technology
An example wireless network, such as a Wireless Local Area Network (WLAN) may be organized as an independent basic service set (IBSS), mesh basic service set (MBSS) or an infrastructure basic service set (BSS). Wireless devices in an independent basic service set (IBSS) communicate directly with one another and there is no access point (AP) in the IBSS. A mesh basic service set (MBSS) consists of autonomous wireless devices that establish peer-to-peer wireless links that provide means for multi-hop communication. An infrastructure basic service set (BSS) includes a wireless access point that may be connected to one or more servers and peripheral devices by a wired backbone connection. In an infrastructure BSS, the access point is a central hub to which mobile wireless devices are wirelessly connected. The mobile wireless devices typically do not communicate directly with one another, but communicate indirectly through the access point. An access point may be connected to other access points by a wired backbone connection in an extended service set (ESS). Mobile wireless devices may roam from one wireless connection with one access point to a second wireless connection with a second access point in the ESS, and still be linked to the first access point in the ESS via the wired backbone connection.
The IEEE 802.11 standard specifies methods and techniques of wireless local area network (WLAN) operation. Examples include the IEEE 802.11b and 802.11g wireless local area network specifications, which have been a staple technology for traditional WLAN applications in the 2.4 GHz ISM band. The various amendments to the IEEE 802.11 standard were consolidated for IEEE 802.11a, b, d, e, g, h, i, j protocols, into the base standard IEEE 802.11-2007, Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications, June 2007 (incorporated herein by reference). Since then, emerging broadband applications have stimulated interest in developing very high-speed wireless networks for short range communication, for example, the IEEE 802.11n, the planned IEEE 802.11 ac, and the planned IEEE 802.11 ad WLAN specifications that are to provide a very high throughput in higher frequency bands. Applications of these IEEE 802.11 standards include products such as consumer electronics, telephones, personal computers, and access points for both for home and office.
According to an example embodiment, wireless local area networks (WLANs) typically operate in unlicensed bands. IEEE 802.11b and 802.11g WLANs have been a staple technology for traditional WLAN applications in the 2.4 GHz ISM band and have a nominal range of 100 meters. The IEEE 802.11ah WLAN standard is being developed for operation in the 900 MHz ISM band and will have a greater range and lower obstruction losses due to its longer wavelength.
1. IEEE 802.11 MAC Frames and Information Elements
There are three major types of medium access control (MAC) frames in the IEEE 802.11 protocol: the management frame, the control frame, and the data frame. Management frames provide management services. Data frames carry payload data. Control frames assist in the delivery of data frames. Each of these types of MAC frame consists of a MAC header, a frame body, and a frame check sequence (FCS). The header contains control information used for defining the type of 802.11 MAC frame and providing information necessary to process the MAC frame. The frame body contains the data or information included in either management type or data type frames. The frame check sequence is a value representing a cyclic redundancy check (CRC) over all the fields of the MAC header and the frame body field.
Management frames are used to provide management services that may be specified by variable-length fields called information elements included in the MAC frame body. An information element includes three fields: its function is identified by an element ID field, its size is provided by a length field, and the information to deliver to the recipient is provided in a variable-length information field.
2. IEEE 802.11 Beacon, Probe Request and Response
a. Beacon
The beacon frame is a management frame that is transmitted periodically to allow wireless devices to locate and identify a network. The beacon frame includes the fields: timestamp, beacon interval, and capability information. The timestamp contains the value of the device's synchronization timer at the time that the frame was transmitted. The capability information field is a 16-bit field that identifies the capabilities of the device. The information elements in a beacon frame are the service set identifier (SSID), the supported rates, one or more physical parameter sets, an optional contention-free parameter set, and an optional traffic indication map.
i. Infrastructure BSS Networks with an Access Point
In an infrastructure BSS networks with an Access Point, beacon frames are used for enabling wireless devices to establish and maintain orderly communications. The beacon frames are transmitted by the Access Points at regular intervals and include a frame header and a body with various information, including a SSID identifying the name of a specific WLAN and a beacon interval specifying the intended time interval between two beacon transmissions. One purpose of the beacon frames is to inform the wireless devices about the presence of an Access Point in the area. The access point in an infrastructure BSS IEEE 802.11 WLAN network, may be a central hub that relays all communication between the mobile wireless devices (STAs) in an infrastructure BSS. If a STA in an infrastructure BSS wishes to communicate a frame of data to a second STA, the communication may take two hops. First, the originating STA may transfer the frame to the AP. Second, the AP may transfer the frame to the second STA. In an infrastructure BSS, the AP may transmit beacons or respond to probes received from STAs. After a possible authentication of a STA that may be conducted by the AP, an association may occur between the AP and a STA enabling data traffic to be exchanged with the AP. The Access Point in an Infrastructure BSS may bridge traffic out of the BSS onto a distribution network. STAs that are members of the BSS may exchange packets with the AP.
ii. Ad Hoc IBSS Networks
The first ad hoc wireless device to become active establishes an IBSS and starts sending beacons to inform the other wireless devices about the presence of an ad hoc network in the area. Other ad hoc wireless devices may join the network after receiving a beacon and accepting the IBSS parameters, such as the beacon interval, found in the beacon frame.
Each wireless device that joins the ad hoc network may send a beacon periodically if it doesn't hear a beacon from another device within a short random delay period after the beacon is supposed to be sent. If a wireless device doesn't hear a beacon within the random delay period, then the wireless device assumes that no other wireless devices are active in the ad hoc network and a beacon needs to be sent.
A beacon signal is periodically transmitted from the ad hoc network. The beacon frame is transmitted periodically and includes the address of the sending device.
b. Probe Request
The probe request frame is a management frame that is transmitted by a wireless device attempting to quickly locate a wireless local area network (LAN). It may be used to locate independent basic service sets (IBSSs), infrastructure basic service sets (BSSs) or mesh basic service sets (MBSSs) only or any of them. It may be used to locate a wireless LAN with a particular SSID or to locate any wireless LAN. The probe request frame may contain a service attribute request.
For active scans, the wireless device either broadcasts or unicasts a probe request on the channel it is scanning. It may set the SSID in the probe request to a wildcard SSID or to a specific SSID value. It may set the BSSID in the probe request a wildcard BSSID or to a specific BSSID value. With these options the wireless device can look for any SSID or BSSID, any representative of a specific SSID or a specific BSSID. The wireless device will add any received beacons or probe responses to a cached BSSID scan list. For passive scans, the wireless device does not send a probe request, but instead, listens on a channel for a period of time and adds any received beacons or probe responses to its cached BSSID scan list. The wireless device may scan both infrastructure and ad hoc networks, regardless of the current setting of its network mode. The wireless device may use either the active or passive scanning methods, or a combination of both scanning methods. The wireless device performs the scan across all the frequency channels and bands that it supports.
i. Infrastructure BSS Networks with an Access Point
The wireless device may transmit a probe request and receive a probe response from the access point in the BSS. The probe request is transmitted by a wireless device to obtain information from another station or access point. For example, a wireless device may transmit a probe request to determine whether a certain access point is available. In the infrastructure BSS, only the AP responds to probe requests. The probe response sent back by the AP contains a timestamp, beacon interval, and capability information. It also includes the SSID of the BSS, supported rates, and PHY parameters. The wireless device STA may learn that the access point AP will accept the STA's credentials.
Exemplary rules applied by the scanning wireless device (i.e. scanner) and the APs with active scanning are as follows:
1) Scanner (for each channel to be scanned):

    
    
        a. Transmit a probe request frame (or multiple of thereof) with the SSID and the BSSID fields set as per the scan command;
        b. Reset ProbeTimer to zero and start it upon the probe request transmission;
        c. If nothing is detected (any signal with high enough energy) on the channel before the ProbeTimer reaches MinChannelTime (a.k.a. Min Probe_Response_Time), then go to scan the next channel (if any), else when the ProbeTimer reaches MaxChannelTime (i.e., Max_Probe_Response_Time), process all received probe responses and go to scan the next channel (if any).
    
    


2) APs:

    
    
        a. An AP shall respond with a probe response only if:
        
            i. The Address 1 field in the probe request frame is the broadcast address or the specific MAC address of the AP; and
            ii. The SSID in the probe request is the wildcard SSID, the SSID in the probe request is the specific SSID of the AP, or the specific SSID of the AP is included in the SSID list element of the probe request, or the Address 3 field in the probe request is the wildcard BSSID or the BSSID of the AP.
        
        
        b. Some further conditions may be set as well for the generation of a probe response.
    
    


In general, the probe request transmitter specifies the conditions that wireless devices need to meet in order to respond to with a probe response. All wireless devices that fulfill the condition try to send a probe response frame. The active scanning mechanism defines the signaling.
ii. Ad Hoc IBSS Networks
The effect of receiving a probe request is to cause the wireless device to respond with a probe response if the conditions indicated in the probe request are met. When a wireless device arrives within the communication range of any member of an ad hoc network, its probe request frame inquiry signals are answered by a member of the ad hoc network detecting the inquiry. A device in an ad hoc network that broadcasted the latest beacon in the network responds to the probe request frame inquiry signals with a probe response containing the address of the responding device. The probe response frame also includes the timestamp, beacon interval, capability information, information elements of the SSID, supported rates, one or more physical parameter sets, the optional contention-free parameter set, and the optional ad hoc network parameter set.
Once a device has performed an inquiry that results in one or more ad hoc network descriptions, the device may choose to join one of the ad hoc networks. The joining process may be a purely local process that occurs entirely internal to the wireless device. There may be no indication to the outside world that a device has joined a particular ad hoc network. Joining an ad hoc network may require that all of the wireless device's MAC and physical parameters be synchronized with the desired ad hoc network. To do this, the device may update its timer with the value of the timer from the ad hoc network description, modified by adding the time elapsed since the description was acquired. This will synchronize the timer to the ad hoc network. The BSSID of the ad hoc network may be adopted, as well as the parameters in the capability information field. Once this process is complete, the wireless device has joined the ad hoc network and is ready to begin communicating with the devices in the ad hoc network.
c. Probe Response
The probe response sent back by a wireless device that met the conditions set by the received probe request contains a timestamp, beacon interval, and capability information. It also includes the SSID of the BSS, supported rates, and PHY parameters.
According to an example embodiment, standard spacing intervals are defined in the IEEE 802.11 specification, which delay a station's access to the medium, between the end of the last symbol of the previous frame and the beginning of the first symbol of the next frame. The short interframe space (SIFS), the shortest of the interframe spaces, may allow acknowledgement (ACK) frames and clear to send (CTS) frames to have access to the medium before others. The longer duration distributed coordination function (DCF) interframe space (IFS) or DCF Interframe Space (DIFS) interval may be used for transmitting data frames and management frames.
According to an example embodiment, after the channel has been released, IEEE 802.11 and before a probe response is transmitted, wireless devices normally employ a spectrum sensing capability during the SIFS interval or DIFS interval, to detect whether the channel is busy. A carrier sensing scheme may be used wherein a node wishing to transmit a probe response has to first listen to the channel for a predetermined amount of time to determine whether or not another node is transmitting on the channel within the wireless range. If the channel is sensed to be idle, then the node may be permitted to begin the transmission process. If the channel is sensed to be busy, then the node may delay its transmission of a probe response for a random period of time called the backoff interval. In the DCF protocol used in IEEE 802.11 networks, the stations, on sensing a channel idle for DIFS interval, may enter the backoff phase with a random value between 0 and a maximum value CWmin. The backoff counter may be decremented from this selected value as long as the channel is sensed idle for a predetermined time interval. After every received frame one may however wait for a DIFS before sensing the channel status and resuming backoff counter update.
3. Generic Advertisement Service (GAS)
IEEE 802.11u-2011 is an amendment to the IEEE 802.11-2007 base standard published as IEEE 802.11u-2011, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amendment 9: Interworking with External Networks, Feb. 25, 2011 (incorporated herein by reference). IEEE 802.11u-2011 adds features to improve interworking with external networks. IEEE 802.11u-2011 amendment establishes MAC and physical layer PHY protocols for an interworking service to permit a wireless device to exchange information with an external network, to enable the selection of networks to connect to, and to enable access to emergency services. A GAS is specified in the IEEE 802.11u amendment to enable mobile wireless devices or STAs to discover the availability of information related to desired network services. For example, the GAS enables discovery of information about services provided in an infrastructure basic service set, information about local access services, information from available Subscription Service Providers (SSP) and/or Subscription Service Provider Networks (SSPNs) or other external networks. GAS enables a wireless device to transmit a generic advertisement service initial request frame to request information about network services from access points and it enables an access point to use a generic container, a GAS initial response frame, to advertise information about network services over an IEEE 802.11 network. The GAS protocol has been proposed to be updated to operate with broadcast request and response messages. Public action frames are used to transport the GAS initial request frame and the GAS initial response frame.
4. Wi-Fi Direct
The Wi-Fi Alliance has developed a Wi-Fi Peer-to-Peer technology named Wi-Fi DirectTM that is specified in the Wi-Fi Alliance Peer-to-Peer Specification, October 2010 (incorporated herein by reference). Wi-Fi Direct is also referred to herein as Peer-to-Peer (P2P) or Device-to-Device (D2D). Wi-Fi Direct enables IEEE 802.11a, g, or n devices to connect to one another, peer-to-peer, without prior setup or the need for wireless access points. Devices that support Wi-Fi Direct may discover one another and advertise available services. Wi-Fi Direct devices support typical Wi-Fi ranges and the same data rates as can be achieved with an 802.11a, g, or n infrastructure connection. When a device enters the range of the Wi-Fi Direct device, it may connect to it using the specified protocol.
Wi-Fi Direct enables wireless devices that support Wi-Fi Direct, to connect to one another, point-to-point, without joining an infrastructure network. Wireless devices that support the specification will be able to discover one another and advertise available services. Wi-Fi Direct devices will support typical Wi-Fi ranges and the same data rates as can be achieved with an infrastructure connection. Wi-Fi Direct provides point-to-point connections for networks by embedding a software access point into any Wi-Fi Direct devices.
Wi-Fi Direct-certified devices may create direct connections between each other without requiring the presence of a traditional Wi-Fi infrastructure network of an access point or router. Wi-Fi Direct Device Discovery and Service Discovery features allow users to identify available devices and services before establishing a connection, for example, discovering which Wi-Fi Direct devices have a printer. Wi-Fi Direct devices may use Wi-Fi Protected Setup to create connections between devices.
A Wi-Fi Direct device is capable of a peer-to-peer connection and may support either an infrastructure network of an access point or router or a peer-to-peer connection. Wi-Fi Direct devices may join infrastructure networks as stations (STAs). Wi-Fi Direct devices may connect by forming groups in a one-to-one or one-to-many topology. The groups functions in a manner similar to an infrastructure basic service set. A single Wi-Fi Direct device will be the group owner that manages the group, including controlling which devices are allowed to join and when the group is started or terminated. The group owner is responsible for responding to probe requests in a similar manner as an AP of an infrastructure BSS. The group owner will appear as an access point to legacy client devices. A significant difference between a group owner and an access point is that it is optional for the group owner to route and forward traffic between clients associated to it.
Wi-Fi Direct devices include Wi-Fi Protected Setup Internal Registrar functionality. A Wi-Fi Direct device may be a group owner of a group and may be able to negotiate which device adopts this role when forming a group with another Wi-Fi Direct device. A group may include both Wi-Fi Direct devices and legacy devices (i.e., that are not compliant with the Wi-Fi Alliance Peer-to-Peer Specification). Legacy devices may only function as clients within a group.
Wi-Fi Direct devices may support discovery mechanisms. Device discovery is used to identify other Wi-Fi Direct devices and establish a connection by using a scan similar to that used to discover infrastructure access points. If the target is not already part of a group, a new group may be formed. If the target is already part of a group, the searching Wi-Fi Direct device may attempt to join the existing group. Wi-Fi Protected Setup may be used to obtain credentials from the group owner and authenticate the searching Wi-Fi Direct device. Wi-Fi Direct devices may include service discovery that enables the advertisement of services supported by higher layer applications to other Wi-Fi Direct devices. Service discovery may be performed at any time (e.g. even before a connection is formed) with any other discovered Wi-Fi Direct device.
A Group may be created by a single Wi-Fi Direct device. When forming a connection between two Wi-Fi Direct devices, a group may be formed automatically and the devices may negotiate to determine which device is the group owner. The group owner may decide if this is a temporary (single instance) or persistent (multiple, recurring use) group. After a group is formed, a Wi-Fi Direct device may invite another Wi-Fi Direct device to join the group. The decision of whether or not to accept an invitation may be left to the invited Wi-Fi Direct device.
B. Filtering List in Wireless Request
Many use cases for wireless local area networks (WLANs) may be improved by a faster initial link setup. For example, offloading traffic from a wide area network to a WLAN in an efficient way requires a fast initial link setup for the local area network.
Example WLANs that may be available for offloading traffic from a wide area network include, for example, IEEE 802.11, Digital Enhanced Cordless Telecommunications (DECT), and HiperLAN networks.
WLAN discovery mechanisms include passive and active scanning. In the passive scanning mode, a device or station listens to a channel for no longer than an interval determined for the scan. In practice, the passively scanning device looks for beacon frames from any access points (APs) or alternatively beacon frames that meet a given criterion, such as a device address or network ID. When a device uses the active scanning, it generates probe request frames and transmits them to request APs to reply with probe response frames providing requested information.
It may be beneficial for scanning devices to reduce the level of traffic contributed by their scanning operations. In some example embodiments, a scanning device may have already detected a responding network or access point and, thus, may no longer need to receive additional probe responses from the already discovered network or access point. In other example embodiments, the scanning device may have learned of the proximity of a network or access point, using a geolocation-based database.
In accordance with example embodiments of the invention, the scanning device may transmit a wireless request including a filtering list of one or more access point devices or networks, from which no response is desired, and the access point devices or networks will not respond to the request if they are represented on the filtering list.
In example embodiments, the request may be a generalized management, control, or data frame including an information element that contains the filtering list of addresses of wireless nodes from which a response is not desired, in accordance with an example embodiment of the invention. In example embodiments, the request may be an IEEE 802.11 probe request or a generic advertisement service initial request. In example embodiments, one or more of the access point devices may be generalized as a hub device representing either an access point device in an infrastructure network or a group owner device in a peer-to-peer network, in accordance with example embodiments of the invention.
In example embodiments, the filtering list may specify attributes such as a device MAC address and/or a network SSID or BSSID. If any of the parameters in filtering list matches those of a wireless node responsible for responding with a probe response, then the wireless node may not send a probe response.
In accordance with example embodiments of the invention, the filtering list may enable obtaining the identity of all networks, access points and/or stations in an area, which match the characteristics that are requested in the probe request, by virtue of limiting the quicker responding networks from continuing to repeat their responses while slower responding networks are attempting to access the channel.
In accordance with embodiments of the invention, all networks access points and/or stations within one channel and location may be identified. For example, the clocks in WLAN devices may run at different speeds or their CSMA/CA-based backoff calculations may have been implemented incorrectly or differently in different devices. As a result, the different clock speeds and different backoff implementations may skew the randomness in obtaining a transmit opportunity (TXOP) and may cause some devices achieve TXOP faster than others. For transmitting a probe response, a consistently longer random delay in achieving a TXOP may cause the device to fail to respond within the Max_Probe_Response_Time, since other devices competing for the channel are able to exclusively seize it. In accordance with example embodiments of the invention, the scanning device may transmit a wireless request including a filtering list specifying the faster devices that have already responded, from which no response is desired. Those faster devices will not respond to the request if they are represented on the filtering list.
In accordance with example embodiments of the invention, unnecessary responses are eliminated, resulting in higher speed scanning, improved device discovery time, reduced network load, and a reduction in power consumption of the scanning device.
FIG. 1A illustrates an example wireless network diagram of a sending wireless node, NODE A, broadcasting a first message 100 to a plurality of seven receiving wireless nodes NODE 1 to NODE 7, in accordance with example embodiments of the invention. In example embodiments, the first message 100 may be a generalized management, control, or data frame, for example an IEEE 802.11 probe request or a generic advertisement service (GAS) initial request. In example embodiments, the sending wireless node, NODE A, may be generalized as a mobile or fixed station device or a hub device representing either an access point device in an infrastructure network or a group owner (GO) device in a peer-to-peer (P2P) network, in accordance with example embodiments of the invention. In example embodiments, one or more of the seven receiving wireless node devices NODE 1 to NODE 7, may be generalized as a mobile or fixed station device or a hub device representing either an access point device in an infrastructure network or a group owner (GO) device in a P2P network, in accordance with example embodiments of the invention. Any of the devices NODE 1 to NODE 7A may be a modern smartphone configured as an access point so that it may share its cellular telephone connection with other surrounding devices via a WLAN link.
FIG. 1B illustrates the example wireless network diagram of FIG. 1A, of three receiving wireless nodes NODE 1, NODE 3, and NODE 4 of the plurality of seven receiving wireless node devices, replying to the wireless message with a response 120(1), 120(3), 120(4) with their respective discovery data, for example node name, MAC address and/or SSID, in accordance with an example embodiment of the invention. All seven receiving wireless nodes NODE 1 to NODE 7 may have responded. But, the three receiving wireless nodes NODE 1, NODE 3, and NODE 4 may have faster clocks or their CSMA/CA-based backoff intervals may be shorter and, as a result, may cause the other receiving wireless nodes NODE 2, NODE 5, NODE 6, and NODE 7 to fail to respond within the Max_Probe_Response_Time, since the faster nodes NODE 1, NODE 3, and NODE 4 competing for the channel are able to exclusively seize it.
FIG. 1C illustrates the example wireless network diagram of FIG. 1B, wherein the sending wireless node, NODE A, broadcasts a second message 100′ to the plurality of seven receiving wireless nodes, the wireless message including a first filtering list 110′ of addresses of receiving wireless nodes from which a response is not desired, the first filtering list 110′ containing information, such as the addresses and/or SSIDs of the receiving wireless nodes NODE 1, NODE 3, and NODE 4 that have previously responded to the first message 100, in accordance with an example embodiment of the invention. In example embodiments, the second message 100′ may be a generalized management, control, or data frame including an information element that contains the filtering list 110′ of addresses of wireless nodes from which a response is not desired, in accordance with an example embodiment of the invention. In example embodiments, the second message 110′ may be an IEEE 802.11 probe request or a generic advertisement service (GAS) initial request, in accordance with an example embodiment of the invention.
In example embodiments of the invention, prior to transmitting the wireless message 100′, the preceding wireless message 100 is transmitted without a filtering list 110′ of addresses of receiving wireless nodes from which a response is not desired. If there are no responses received to the preceding wireless message 100, then omit the inclusion of the list 110′ in the second wireless message 100′.
FIG. 1D illustrates the example wireless network diagram of FIG. 1C, of three additional receiving wireless nodes, NODE 2, NODE 5, and NODE 6 of the plurality of seven receiving wireless node devices, replying to the second message 100′ with respective responses 120(2), 120(5), 120(6) with their respective discovery data, for example node name, MAC address and/or SSID, in accordance with an example embodiment of the invention. The four receiving wireless nodes NODE 2, NODE 5, NODE 6, and NODE 7 may have responded, since the first filtering list 110′ contains the addresses for the other receiving wireless nodes NODE 1, NODE 3, and NODE 4 from which a response is not desired. But, the additional receiving wireless nodes NODE 2, NODE 5, and NODE 6 may have faster clocks or their CSMA/CA-based backoff intervals may be shorter and, as a result, may cause the remaining receiving wireless node, NODE 7 to fail to respond within the Max_Probe_Response_Time, since the faster receiving wireless nodes NODE 2, NODE 5, and NODE 6 competing for the channel are able to exclusively seize it.
FIG. 1E illustrates the example wireless network diagram of FIG. 1D, wherein the sending wireless node, NODE A, broadcasts a third message 100′′ to the plurality of seven receiving wireless nodes, the wireless message 100′′ including a second filtering list 110′′ of information, such as the addresses and/or SSIDs of receiving wireless nodes from which a response is not desired, the second filtering list 110′′ containing the addresses of the receiving wireless nodes NODE 1, NODE 3, and NODE 4 that have previously responded to the first message 100 and the second filtering list 110′′ further containing information, such as the addresses and/or SSIDs of the receiving wireless nodes NODE 2, NODE 5, and NODE 6 that have previously responded to the second message 100′, in accordance with an example embodiment of the invention.
FIG. 1F illustrates the example wireless network diagram of FIG. 1E, of the last receiving wireless node, NODE 7, of the plurality of seven receiving wireless node devices, replying to the third message 100′′ with a response 120(7) with its discovery data, in accordance with an example embodiment of the invention. Only the receiving wireless node, NODE 7 may respond, since the second filtering list 110′′ contains information, such as the addresses and/or SSIDs for all of the other receiving wireless nodes NODE 1 to NODE 6 from which a response is not desired.
FIG. 2 illustrates an example of the wireless message 100′ broadcast by the sending wireless node, NODE A, as a generalized frame body that includes an information element 102, in accordance with an example embodiment of the invention. In example embodiments, the message 100′ may be a generalized management, control, or data frame including an information element 102 that contains the filtering list 110′ of information, such as addresses and/or SSIDs of wireless nodes from which a response is not desired, in accordance with an example embodiment of the invention. The message 100′ includes a header with MAC frame control information field 211 and address fields 212 and the information element 102. The information element 102 includes the element ID field 213, the length field 214, and the information field that contains the filtering list 110′. In example embodiments, the wireless message 100′ may be a generalized management, control, or data frame including an information element that contains the filtering list 110′ of information, such as the addresses and/or SSIDs of wireless nodes from which a response is not desired, in accordance with an example embodiment of the invention.
In example embodiments, the information element 102 may be freely used in management frames, depending on the information element definition. For example, if the information element is defined as a response filtering information element, the information element may be primarily useful in request frames transmitted with a broadcast or groupcast address to other devices that may respond. However, the information element 102 may also be used for informational purposes in probe response frames, GAS response frames, beacons, and data frames, depending on the information element definition.
FIG. 2A illustrates an example of the wireless message 100′ broadcast by the sending wireless node, NODE A, as a management frame, such as a probe request frame, in accordance with an example embodiment of the invention. Probe request frame 100′ includes an IEEE 802.11 management header that includes MAC frame type 221 indicating it is a management frame. Field 222 identifies the frame 100′ as a probe request packet. Field 224 is the source address for NODE A and field 225 is the broadcast address. The payload portion of the probe request frame 100′ includes the information element 102 that includes the filtering list 110′ of information, such as addresses and/or SSIDs of wireless nodes from which a response is not desired.
FIG. 2B illustrates an example frame body format of the probe response frame 120(1), in accordance with an example embodiment of the invention. FIG. 2B illustrates one example embodiment of a probe response frame 120(1) sent by the receiving wireless node, NODE 1 to the sending wireless node, NODE A. The probe response frame 120(1) includes an IEEE 802.11 management header that includes MAC frame type 221 indicating it is a management frame. Field 222 identifies the frame 120(1) as a probe response packet. Field 224 is the source address for NODE 1 and field 225 is the destination address NODE A. The payload portion 227 of the response frame 120(1) includes receiving wireless node, NODE 1 response data. In example embodiments, the receiving wireless node device NODE 1 may be generalized as a mobile or fixed station device or a hub device representing either an access point device in an infrastructure network or a group owner device in a peer-to-peer network, in accordance with example embodiments of the invention.
FIG. 3A illustrates an example frame body format of the Generic Advertisement Service Initial Request Frame 100′, in accordance with an example embodiment of the invention. The IEEE 802.11 MAC management frame 302 shown in FIG. 3A may have the frame control field indicate that this is a management frame, the frame type and subtype fields are set to indicate an action frame. The frame body 304 category field that may indicate a public action frame to allow communications between an access point and an unassociated STA. An action field value of 10 may indicate a GAS initial request, transmitted by a requesting STA to request information from another STA. The GAS protocol has been proposed to be updated to operate with broadcast request and response messages.
In accordance with an example embodiment of the invention, as shown in FIG. 3A, when the public action field is set to value of 10 to indicate GAS initial request 100′, access network query protocol (ANQP) information elements may be sent with query request data. In accordance with an example embodiment of the invention, the query request data may include the filtering list 110′ of addresses of devices from which a response is not desired, sent from the sending wireless node, NODE A, to a broadcast address. The dialog token field may be set by the requesting station with any value, such as “123”, to identify the GAS initial request frame. The GAS initial request frame 100′ may include a length value for the length of the following query request field.
FIG. 3B illustrates an example frame body format of the Generic Advertisement Service Initial Response Frame 120(1), transmitted by the receiving wireless node device NODE 1 to the sending wireless node, NODE A, in accordance with an example embodiment of the invention. The GAS initial response frame 120(1) shown in FIG. 3B, may include a category field that is set to a value of 4 indicating a public action frame. The GAS initial response frame 120(1) shown in FIG. 3B, may be sent to a unicast address, such as to sending wireless node, NODE A. There have been proposals to allow use of a broadcast address with the GAS initial response frame. The GAS initial response frame 120(1) shown in FIG. 3B, may include a dialog token field which is set to a value, such as “123”, identical to the corresponding value in the GAS initial request frame 100, to enable relating the response frame to the request frame. The GAS initial response frame 120(1) shown in FIG. 3B, may include a comeback delay value field.
In accordance with an example embodiment of the invention, the Generic Advertisement Service Initial Response Frame 120(1) may have access network query protocol (ANQP) information elements sent in the query response field for the receiving wireless node device NODE 1 response data. In example embodiments, the receiving wireless node device NODE 1 may be generalized as a mobile or fixed station device or a hub device representing either an access point device in an infrastructure network or a group owner device in a peer-to-peer network, in accordance with example embodiments of the invention.
FIG. 4A illustrates an example flow diagram of operational steps of an example embodiment of the procedure performed in the sending wireless node, NODE A, according to an embodiment of the present invention. FIG. 4A illustrates an example embodiment of a flow diagram 400 for the process in the sending wireless node, NODE A. FIG. 4A illustrates an example of steps in the procedure carried out by an apparatus, for example the wireless device in executing-in-place program code stored in the memory of the device. The steps in the procedure of the flow diagram may be embodied as program logic stored in the memory of the wireless device in the form of sequences of programmed instructions which, when executed in the microprocessor control logic of the device, carry out the functions of an exemplary disclosed embodiment. The steps may be carried out in another order than shown and individual steps may be combined or separated into component steps. Additional steps may be inserted into this sequence. The steps in the procedure are as follows:
Step 402: transmitting a wireless message by an apparatus, including a list of one or more wireless devices, from which a response is not desired; and
Step 404: receiving zero or more responses by the apparatus, from one or more other wireless devices that are not on the list.
FIG. 4B is an example flow diagram of operational steps of an example embodiment of the procedure performed in the receiving wireless node device NODE 1, according to an embodiment of the present invention. FIG. 4B illustrates an example embodiment of a flow diagram 450 for the process in the receiving wireless node device NODE 1. FIG. 4B is an example of steps in the procedure carried out an apparatus, for example the wireless device in executing-in-place program code stored in the memory of the device. The steps in the procedure of the flow diagram may be embodied as program logic stored in the memory of the wireless device in the form of sequences of programmed instructions which, when executed in the microprocessor control logic of the device, carry out the functions of an exemplary disclosed embodiment. The steps may be carried out in another order than shown and individual steps may be combined or separated into component steps. Additional steps may be inserted into this sequence. The steps in the procedure are as follows:
Step 452: receiving by an apparatus, a wireless message from a sending device, including a list of one or more wireless devices, from which a response to the wireless message is not desired; and
Step 454: transmitting a response to the wireless message if the receiving apparatus is not on the list.
FIG. 5A illustrates an example wireless network and functional block diagram of the sending wireless node, NODE A, and the receiving wireless node device NODE 2, with the sending wireless node, NODE A, transmitting a message frame 100′ that includes the filtering list 110′ of addresses from which a response is not desired, in accordance with an example embodiment of the invention. In example embodiments, the message 100′ may be a generalized management, control, or data frame including an information element that contains the filtering list 110′ of addresses of wireless nodes from which a response is not desired, in accordance with an example embodiment of the invention. In example embodiments, the message 100′ may be an IEEE 802.11 probe request or a GAS initial request, in accordance with an example embodiment of the invention. Examples of wireless devices embodying NODE A and/or NODE 2 may include mobile phones, smartphones, personal digital assistants, pagers, BluetoothTM headsets, wireless microphones, wireless remote controls, wireless sensors, laptops, palmtops, tablet computers, appliances with an embedded wireless micro-controller, engine control computers with a wireless interface, video game consoles with a wireless interface, digital toys with a wireless interface, such as a wireless robot, and the like.
FIG. 5B illustrates the example wireless network and functional block diagram of FIG. 5A, of the sending wireless node, NODE A, and the receiving wireless node device NODE 2, with the receiving wireless node device NODE 2 transmitting a response frame 120(2), to the sending wireless node, NODE A, in accordance with an example embodiment of the invention.
In accordance with an example embodiment of the invention, the sending wireless node, NODE A, and the receiving wireless node device NODE 2 are shown in FIGS. 5A and 5B in functional block diagram form to illustrate an example embodiment of their components. The receiving wireless node device NODE 2 may include a processor 522′, which includes a single core central processing unit (CPU) or multiple core CPU 524′ and 525′, a random access memory (RAM) 526′, a programmable read only memory (PROM) 527′, and interface circuits 528′ to interface with one or more radio transceivers 508′, battery or house power sources, keyboard, display, etc. The RAM and PROM may be removable memory devices such as smart cards, SIMs, WIMs, semiconductor memories such as RAM, ROM, PROMS, flash memory devices, etc. Buffer 548, which may be a partition of the RAM 526′ in NODE 2, buffers the response data.
In accordance with an example embodiment of the invention, the sending wireless node, NODE A, may include a processor 522, which includes a dual core central processing unit 524 and 525, a random access memory (RAM) 526, a programmable read only memory (PROM) 527, and interface circuits 528 to interface with one or more radio transceivers 508, battery and other power sources, key pad, touch screen, display, microphone, speakers, ear pieces, camera or other imaging devices, etc. in the sending wireless node, NODE A. The RAM and PROM may be removable memory devices such as smart cards, SIMs, WIMs, semiconductor memories such as RAM, ROM, PROMS, flash memory devices, etc. A buffer that may be a partition of the RAM 526 in NODE A, buffers the filtering list 110′ of addresses from which a response is not desired.
In accordance with an example embodiment of the invention, an example embodiment of the WLAN protocol stack 502 may include the IEEE 802.11 protocol in the sending wireless node, NODE A. An example embodiment of the WLAN protocol stack 502′ may include the IEEE 802.11 protocol in the receiving wireless node device NODE 2. The protocol stacks 502 and 502′ may be computer code instructions stored in the RAM and/or PROM memory of the respective processors 522 and 522′, which when executed by the central processing units (CPU), carry out the functions of the example embodiments of the invention.
In an example embodiment of the sending wireless node, NODE A, a geolocation detector 550 establishes the current location of the sending wireless node, NODE A. The detected location may then be compared with location and address data in the local database 552 in the sending wireless node, NODE A, device, to determine if there are any other wireless devices in the area. For example, by using the database 552, if a receiving wireless node device NODE 1 is determined to be located in the area, then the address of the receiving wireless node device NODE 1 may be included in the filtering list 110′ of addresses from which a response is not desired, in accordance with an example embodiment of the invention. The contents of the database 552 may be updated via the wide area radio 554 providing a wireless link to a regional database, such as the regional database 600 of FIG. 6.
FIG. 6 illustrates the example wireless network and functional block diagram of FIG. 5A, of the sending wireless node, NODE A, and a regional database 600 containing data representing the geographic locations of receiving wireless nodes NODE 1 to NODE 7 and their addresses, the sending wireless node, NODE A, and the regional database 600 communicating over a wide area wireless network, in accordance with an example embodiment of the invention. The regional database 600 may include a processor 622, which includes a single core central processing unit (CPU) or multiple core CPU 624 and 625, a random access memory (RAM) 626, a read only memory (ROM) 627. Buffer 630, which may be a partition of the RAM 626 in regional database 600, buffers the data representing the geographic locations of the nodes and their addresses.
The wide area wireless network may be, for example, an IEEE 802.16h wireless metropolitan area network (WMAN) (IEEE Standard 802.16h-2010) or a cellular telephone network. The contents of the local database 552 in sending wireless node, NODE A, may be updated via the wide area radio 654 in the regional database 600.
The regional database 600 may be part of a hierarchical distributed database referred to as the territory domain system. The territory domain system enables locating and identifying the geographic area of specific hosting entities, related services and information required to access the hosting entities and their services. The communication territories and interference territories are unique geographical areas that are managed by a server associated with the corresponding geographic area, in the territory domain system.
In accordance with example embodiments of the invention, a HIPERLAN Type 1 device may perform groupcasting or broadcasting of a wireless request to a plurality of other HIPERLAN Type 1 devices, specifying one or more required characteristics, the request including a request frame 100′ that includes the filtering list 110′ of information, such as addresses or SSIDs from which a response is not desired, in accordance with an example embodiment of the invention. The requesting HIPERLAN Type 1 device may receive one or more wireless responses from only one or more of the plurality of HIPERLAN Type 1 devices that are not represented on the filtering list 110′.
The HIPERLAN standard provides a wireless LAN with a high data rate of up to 54 Mbps and a medium-range of 50 meters. There are two HIPERLAN standards. HIPERLAN Type 1 is a dynamic, priority driven channel access protocol similar to wireless Ethernet. HIPERLAN Type 2 is reserved channel access protocol similar to a wireless version of ATM. HIPERLAN Type 1 ad hoc networks support distributed activities similar those of the Bluetooth piconets and IEEE 802.11 IBSS. The HIPERLAN Type 1 standard provides wireless devices with service inquiry features similar to those of the Bluetooth inquiry and scanning features and the IEEE 802.11 probe request and response features. An overview of the HIPERLAN Type 1 principles of operation is provided in the publication HIPERLAN Type 1 Standard, ETSI ETS 300 652, WA2 Dec. 1997.
In accordance with example embodiments of the invention, a HIPERLAN Type 2 device may perform groupcasting or broadcasting of a wireless request to a plurality of other HIPERLAN Type 2 devices, specifying one or more required characteristics, the request including a request frame 100′ that includes the filtering list 110′ of addresses from which a response is not desired, in accordance with an example embodiment of the invention. The requesting HIPERLAN Type 2 device may receive one or more wireless responses from only one or more of the plurality of HIPERLAN Type 2 devices that are not represented on the filtering list 110′.
HIPERLAN Type 2 is a reserved channel access protocol that forms ad hoc networks. HIPERLAN Type 2 ad hoc networks support distributed activities similar those of the HIPERLAN Type 1 ad hoc networks, Bluetooth piconets and IEEE 802 IBSS. Centralized mode is used to operate HIPERLAN Type 2 as an access network via a fixed access point. In addition a capability for direct link communication is provided. This mode is used to operate HIPERLAN Type 2 as an ad hoc network without relying on a cellular network infrastructure. Restricted user mobility is supported within the local service area. Wide area roaming mobility can also be supported. An overview of the HIPERLAN Type 2 principles of operation is provided in the Broadband Radio Access Networks (BRAN), HIPERLAN Type 2, System Overview, ETSI TR 101 683 VI.I.1 (2000-02) and a more detailed specification of its ad hoc network architecture is described in HIPERLAN Type 2. Data Link Control (DLC) Layer; Part 4. Extension for Home Environment, ETSITS 101 761-4 V1.2.1 (2000-12).
In addition to IEEE 802.11 based WLAN, the features described herein may be employed in other short-range communication technologies, such as Bluetooth, Wireless Universal Serial Bus (WUSB), Ultra Wide-band (UWB), ZigBee (IEEE 802.15.4, IEEE 802.15.4a), and ultra-high frequency radio frequency identification (UHF RFID) technologies.
An example embodiment of the invention further comprises a computer program product comprising computer executable program code recorded on a computer readable, non-transitory storage medium, the computer executable program code, when executed by a computer processor, comprising:
code for receiving by an apparatus, a wireless message from a sending device, including a list of one or more wireless devices, from which a response to the wireless message is not desired; and
code for transmitting a response to the wireless message if the receiving apparatus is not on the list.
An example embodiment of the invention further comprises a computer program product comprising computer executable program code recorded on a computer readable, non-transitory storage medium, the computer executable program code, when executed by a computer processor, comprising:
code for transmitting a wireless message including a list of one or more wireless devices, from which a response is not desired; and
code for receiving zero or more responses from one or more other wireless devices that are not on the list.
Using the description provided herein, the embodiments may be implemented as a machine, process, or article of manufacture by using standard programming and/or engineering techniques to produce programming software, firmware, hardware or any combination thereof.
Any resulting program(s), having computer-readable program code, may be embodied on one or more computer-usable media such as resident memory devices, smart cards or other removable memory devices, or transmitting devices, thereby making a computer program product or article of manufacture according to the embodiments. As such, the terms “article of manufacture” and “computer program product” as used herein are intended to encompass a computer program that exists permanently or temporarily on any computer-usable, non-transitory medium.
As indicated above, memory/storage devices include, but are not limited to, disks, optical disks, removable memory devices such as smart cards, SIMs, WIMs, semiconductor memories such as RAM, ROM, PROMS, etc. Transmitting mediums include, but are not limited to, transmissions via wireless communication networks, the Internet, intranets, telephone/modem-based network communication, hard-wired/cabled communication network, satellite communication, and other stationary or mobile network systems/communication links.
Although specific example embodiments have been disclosed, a person skilled in the art will understand that changes can be made to the specific example embodiments without departing from the spirit and scope of the invention. For instance, the features described herein may be employed in other networks beside short-range wireless networks, for example wireless local area networks.

## Claims

1. A method comprising:
transmitting, by an apparatus, a first wireless request message;
receiving, by the apparatus, zero or more responses from one or more other wireless devices;
transmitting, by the apparatus, a second wireless request message including a first list of one or more wireless devices, from which a response is not desired, the first list including the other devices that responded to the first wireless request message, in the zero or more responses received by the apparatus;
receiving, by the apparatus, zero or more responses from one or more other wireless devices that are not on the first list;
transmitting, by the apparatus, a third wireless request message including a second list of one or more wireless devices, from which a response is not desired, the second list including the other devices that responded to the first wireless request message and the other devices that responded to the first said list, in the zero or more responses received by the apparatus; and
receiving, by the apparatus, zero or more responses from one or more additional other wireless devices that are not on the first said list or the second list.

2. The method of claim 1, further comprising:
wherein the wireless request message is a probe request and the zero or more responses are probe responses.

3. The method of claim 1, further comprising:
wherein the wireless request message is a wireless generic advertisement service request and the zero or more responses are wireless generic advertisement service responses.

4. The method of claim 1, further comprising:
wherein the one or more wireless devices included in the list, are access point devices.

5. The method of claim 1, further comprising:
wherein the one or more wireless devices included in the list, are stations.

6. The method of claim 1, further comprising:
wherein the one or more wireless devices included in the list, are known from at least one previous scanning.

7. The method of claim 1, further comprising:
wherein the one or more wireless devices included in the list, are known from a location database.

8. The method of claim 1, further comprising:
wherein the list includes at least one of device addresses and network addresses of the one or more wireless devices.

9. The method of claim 1, further comprising:
prior to transmitting the wireless request message, transmitting a preceding wireless message without the list of one or more wireless devices; and
omitting the inclusion of the list of one or more wireless devices in the first said wireless request message if no responses are received to the preceding wireless message.

10. The method of claim 1, further comprising:
wherein the wireless request message is a first management frame and the zero or more responses are second managed frames.

11. The method of claim 1, further comprising:
wherein the wireless request message is at least one of a broadcast message and a groupcast message.

12. An apparatus comprising:
at least one processor;
at least one memory including computer program code;
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
transmit a first wireless request message;
receive zero or more responses from one or more other wireless devices;
transmit a second wireless request message including a first list of one or more wireless devices, from which a response is not desired, the first list including the other devices that responded to the first wireless request message, in the zero or more responses received by the apparatus;
receive zero or more responses from one or more other wireless devices that are not on the first list;
transmit a third wireless request message including a second list of one or more wireless devices, from which a response is not desired, the second list including the other devices that responded to the first wireless request message and the other devices that responded to the first said list, in the zero or more responses received by the apparatus; and
receive zero or more responses from one or more additional other wireless devices that are not on the first said list or the second list.

13. A method comprising:
receiving by an apparatus, a wireless request message from a sending device, including a first list of one or more wireless devices, from which a response to the wireless request message is not desired, the first list including other devices that have responded to prior wireless request messages from the sending device;
transmitting a response to the wireless request message if the receiving apparatus is not on the first list;
receiving a second wireless request message including a second list of one or more wireless devices from which a response is not desired, the second list including the other devices that have responded to prior wireless request messages from the sending device and the receiving apparatus that responded to the first said list; and
suppressing transmission of a response to the second wireless request message.

14. The method of claim 13, further comprising:
wherein the wireless request message is a probe request and the response is a probe response or the wireless request message is a wireless generic advertisement service request and the response is a wireless generic advertisement service response.

15. The method of claim 13, further comprising:
wherein the one or more wireless devices included in the list, are access point devices or the one or more wireless devices included in the list, are stations.

16. The method of claim 13, further comprising:
wherein the one or more wireless devices included in the list, are known from at least one previous scanning.

17. The method of claim 13, further comprising:
wherein the list includes device addresses of the one or more wireless devices.

18. An apparatus comprising:
at least one processor;
at least one memory including computer program code;
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
receive a wireless request message from a sending device, including a first list of one or more wireless devices, from which a response to the wireless request message is not desired, the first list including other devices that have responded to prior wireless request messages from the sending device;
transmit a response to the wireless request message if the receiving apparatus is not on the first list;
receive a second wireless request message including a second list of one or more wireless devices from which a response is not desired, the second list including the other devices that have responded to prior wireless request messages from the sending device and the receiving apparatus that responded to the first said list; and
suppress transmission of a response to the second wireless request message.