Efficient service discovery for peer-to-peer networking devices
First Claim
1. A machine-implemented method for discovering a service in a wireless environment, the method comprising:
- receiving a service discovery request from a client application of a local device, wherein the service discovery request is to discover a service from one or more remote devices over a wireless network;
computing a key and value pair (key/value pair) based on the service discovery request, the key/value pair representing the service to be discovered;
generating a local bitmask based on the key of the key/value pair, the local bitmask including at least one bit having a predetermined logical value corresponding to a key of the key/value pair;
broadcasting an inquiry message in the wireless network, the inquiry message inquiring possible services possible provided by the remote devices over the wireless network;
receiving one or more remote bitmasks from the remote devices, each of the remote bitmasks including one or more bits corresponding to one or more services possibly provided by the remote devices, including receiving a first bitmask from a first remote device over the wireless network, the first bitmask having one or more bits that have a predetermined logical value, each representing a particular service provided by the first remote device; and
for each of the remote bitmasks, comparing the remote bitmask with the local bitmask to determine whether a respective remote device is potentially capable of providing the requested service, including performing a logical operation between the first bitmask and the local bitmask, and determining whether the first remote device is potentially capable of providing the service being searched by the local device based on a result of the logical operation.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for discovering and/or advertising services are described herein. A first bitmask is received from a remote device over a wireless network, the first bitmask having one or more bits that have a predetermined logical value. Each bit represents a particular service provided by the remote device. A logical operation is performed between the first bitmask and a second bitmask locally generated within a local device, where the second bitmask represents a service being searched by the local device. It is determined whether the remote device is potentially capable of providing the service being searched by the local device based on a result of the logical operation.
85 Citations
25 Claims
-
1. A machine-implemented method for discovering a service in a wireless environment, the method comprising:
-
receiving a service discovery request from a client application of a local device, wherein the service discovery request is to discover a service from one or more remote devices over a wireless network; computing a key and value pair (key/value pair) based on the service discovery request, the key/value pair representing the service to be discovered; generating a local bitmask based on the key of the key/value pair, the local bitmask including at least one bit having a predetermined logical value corresponding to a key of the key/value pair; broadcasting an inquiry message in the wireless network, the inquiry message inquiring possible services possible provided by the remote devices over the wireless network; receiving one or more remote bitmasks from the remote devices, each of the remote bitmasks including one or more bits corresponding to one or more services possibly provided by the remote devices, including receiving a first bitmask from a first remote device over the wireless network, the first bitmask having one or more bits that have a predetermined logical value, each representing a particular service provided by the first remote device; and for each of the remote bitmasks, comparing the remote bitmask with the local bitmask to determine whether a respective remote device is potentially capable of providing the requested service, including performing a logical operation between the first bitmask and the local bitmask, and determining whether the first remote device is potentially capable of providing the service being searched by the local device based on a result of the logical operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory machine-readable storage medium having instructions stored therein, which when executed by a machine, cause the machine to perform a method for discovering services in a wireless environment, the method comprising:
-
receiving a service discovery request from a client application of a local device, wherein the service discovery request is to discover a service from one or more remote devices over a wireless network; computing a key and value pair (key/value pair) based on the service discovery request, the key/value pair representing the service to be discovered; generating a local bitmask based on the key of the key/value pair, the local bitmask including at least one bit having a predetermined logical value corresponding to a key of the key/value pair; broadcasting an inquiry message in the wireless network, the inquiry message inquiring possible services possible provided by the remote devices over the wireless network; receiving one or more remote bitmasks from the remote devices, each of the remote bitmasks including one or more bits corresponding to one or more services possibly provided by the remote devices, including receiving a first bitmask from a first remote device over the wireless network, the first bitmask having one or more bits that have a predetermined logical value, each representing a particular service provided by the first remote device; for each of the remote bitmasks, comparing the remote bitmask with the local bitmask to determine whether a respective remote device is potentially capable of providing the requested service, including performing a logical operation between the first bitmask and the local bitmask, and determining whether the first remote device is potentially capable of providing the service being searched by the local device based on a result of the logical operation. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for searching a service in a wireless environment, the apparatus comprising:
-
a service advertisement unit to receive a service discovery request from a client application of a local device, wherein the service discovery request is to discover a service from one or more remote devices over a wireless network; a key and value (key/value) generator to generate a key/value pair based on the service discovery request, the key/value pair representing the service to be discovered; a service bitmask generator to generate a local bitmask based on the key of the key/value pair, the local bitmask including at least one bit having a predetermined logical value corresponding to a key of the key/value pair, wherein the service advertisement unit is to broadcast an inquiry message in the wireless network, the inquiry message inquiring possible services possible provided by the remote devices over the wireless network; a wireless communications interface to receive one or more remote bitmasks from the remote devices, each of the remote bitmasks including one or more bits corresponding to one or more services possibly provided by the remote devices, including a first bitmask from a first remote device over a wireless network, the first bitmask having one or more bits that have a predetermined logical value, each representing a particular service provided by the remote device; and a wireless processing unit coupled to the wireless communications interface to perform a logical operation between the first bitmask and the local bitmask, and to determine whether the first remote device is potentially capable of providing the service being searched by the local device based on a result of the logical operation. - View Dependent Claims (18, 19)
-
-
20. A machine-implemented method for advertising a service in a wireless environment, the method comprising:
-
generating a key/value pair based on an identifier of a service to be advertised by a local device; performing a hash operation on a key of the key/value pair to generate a bitmask, the bitmask including a bit having a predetermined logical value; in response to an inquiry message from a remote device over a wireless network for searching for a service, transmitting the bitmask to the remote device over the wireless network to allow the remote device to determine whether the local device is potentially capable of providing a service being searched based on the bitmask, wherein the service is to be performed by the local device and received by the remote device; establishing a session connection with the remote device over the wireless network, wherein the session connection is established if the remote device determines that the local device is potentially capable of providing the service being searched based on the bitmask; and transmitting the key/value pair to the remote device over the wireless network to allow the remote device to determine whether the local device is actually capable of providing the service being searched based on the key/value pair, wherein the wireless environment provides communication between devices which are compatible with an IEEE 802.11 standard. - View Dependent Claims (21)
-
-
22. A non-transitory machine-readable storage medium having instructions stored therein, which when executed by a machine, cause the machine to perform a method for advertising a service in a wireless environment, the method comprising:
-
generating a key/value pair based on an identifier of a service to be advertised by a local device; performing a hash operation on a key of the key/value pair to generate a bitmask, the bitmask including a bit having a predetermined logical value; in response to an inquiry message from a remote device over a wireless network for searching for a service, transmitting the bitmask to the remote device over the wireless network to allow the remote device to determine whether the local device is potentially capable of providing a service being searched based on the bitmask, wherein the service is to be performed by the local device and received by the remote device; establishing a session connection with the remote device over the wireless network, wherein the session connection is established if the remote device determines that the local device is potentially capable of providing the service being searched based on the bitmask; and transmitting the key/value pair to the remote device over the wireless network to allow the remote device to determine whether the local device is actually capable of providing the service being searched based on the key/value pair, wherein the wireless environment provides communication between devices which are compatible with an IEEE 802.11 standard. - View Dependent Claims (23)
-
-
24. An apparatus for advertising a service in a wireless environment, the apparatus comprising:
-
a service discovery unit to generate a key/value pair based on an identifier of a service to be advertised by a local device; and a wireless processing unit coupled to the service discovery unit to perform a hash operation on a key of the key/value pair to generate a bitmask, the bitmask including a bit having a predetermined logical value, wherein in response to an inquiry message from a remote device over a wireless network for searching for a service, the wireless processing unit is configured to transmit the bitmask to the remote device over the wireless network to allow the remote device to determine whether the local device is potentially capable of providing a service being searched based on the bitmask, wherein the service is to be performed by the local device and received by the remote device, wherein the wireless processing unit is further configured to establish a session connection with the remote device over the wireless network, wherein the session connection is established if the remote device determines that the local device is potentially capable of providing the service being searched based on the bitmask, and transmit the key/value pair to the remote device over the wireless network to allow the remote device to determine whether the local device is actually capable of providing the service being searched based on the key/value pair and wherein the wireless environment provides communication between devices which are compatible with an IEEE 802.11 standard. - View Dependent Claims (25)
-
Specification