Method, apparatus, and computer program product for wireless network discovery through passive and active scanning
View Patent ↗Method, apparatus, and computer program product embodiments of the invention are disclosed to improve the discovery of wireless networks having desired service offerings. In example embodiments of the invention, a method comprises: determining whether to perform passive or active scanning; transmitting a wireless generic advertisement service request specifying one or more required characteristics of a transmitting device, if the determination is to perform active scanning; passively listening for one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices, the responses including one or more required characteristics of a passive listening device, if the determination is to perform passive scanning; and receiving one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices having the characteristics specified in the transmitted request.
1. A method, comprising:
determining, at a wireless device, whether to perform passive or active scanning;
transmitting a wireless generic advertisement service request specifying one or more required characteristics of a transmitting device, if the determination is to perform active scanning;
passively listening for one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices, the responses including one or more required characteristics of a passive listening device, if the determination is to perform passive scanning; and
receiving one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices having the characteristics specified in the transmitted request;
wherein said determining further comprises:
creating a random value;
comparing the random value with a selection value; and
choosing whether to perform passive or active scanning based on the comparison of the random value with the selection value.
2. 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:
determine whether to perform passive or active scanning;
transmit a wireless generic advertisement service request specifying one or more required characteristics of a transmitting device, if the determination is to perform active scanning;
passively listen for one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices, the responses including one or more required characteristics of a passive listening device, if the determination is to perform passive scanning; and
receive one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices having the characteristics specified in the transmitted request;
wherein said determining further comprises:
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
create a random value;
compare the random value with a selection value; and
choose whether to perform passive or active scanning based on the comparison of the random value with the selection value.
3. A method, comprising:
determining, at a wireless device, whether to perform passive or active scanning;
transmitting a wireless generic advertisement service request specifying one or more required characteristics of a transmitting device, if the determination is to perform active scanning;
passively listening for one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices, the responses including one or more required characteristics of a passive listening device, if the determination is to perform passive scanning;
receiving one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices having the characteristics specified in the transmitted request;
creating a random value with a random value a random number generator y=R(x)mod z, with R being the random number generator with a seed value input x, and z an integer;
performing active scanning when the random number y compares with a selection value; and
if the random number y is not equal to the selection value, then performing passive scanning for all other values of the random number.
4. 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:
determine whether to perform passive or active scanning;
transmit a wireless generic advertisement service request specifying one or more required characteristics of a transmitting device, if the determination is to perform active scanning;
passively listen for one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices, the responses including one or more required characteristics of a passive listening device, if the determination is to perform passive scanning;
receive one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices having the characteristics specified in the transmitted request;
create a random value with a random value a random number generator y=R(x)mod z, with R being the random number generator with a seed value input x, and z an integer;
perform active scanning when the random number y compares with a selection value; and
if the random number y is not equal to the selection value, then perform passive scanning for all other values of the random number.
5. 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 determining, at a wireless device, whether to perform passive or active scanning;
code for transmitting a wireless generic advertisement service request specifying one or more required characteristics of a transmitting device, if the determination is to perform active scanning;
code for passively listening for one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices, the responses including one or more required characteristics of a passive listening device, if the determination is to perform passive scanning;
code for receiving one or more wireless generic advertisement service responses sent to a broadcast address by one or more wireless devices having the characteristics specified in the transmitted request;
code for creating a random value with a random value a random number generator y=R(x)mod z, with R being the random number generator with a seed value input x, and z an integer;
code for performing active scanning when the random number y compares with a selection value; and
code for if the random number y is not equal to the selection value, then performing passive scanning for all other values of the random number.