APPARATUS AND METHODS FOR COORDINATED QUERY AND RESPONSE SERVICE DISCOVERY
Apparatus and methods for, among other things, a grouped based reactive service discovery protocol are discussed. In an example, a method can include broadcasting a first group beacon at a group interval using a first station belonging to a first group of stations and broadcasting a service request to the second group during a query interval of the second group. In an example, the first group beacon can include a service update alert configured to alert other members of the first group of an anticipated service request and response event to learn services available from a second group.
This application claims the benefit of priority under 35 U.S.C. 119(e) to Kim et al., U.S. Provisional Patent Application Ser. No. 61/715,916, entitled, “METHOD OF COORDINATED QUERY AND RESPONSE FOR SERVICE DISCOVERY”, filed Oct. 19, 2012, hereby incorporated by reference herein in its entirety.
TECHNICAL FIELDExamples pertain service discovery protocols and, more particularly, to coordinated service discovery communications for individual stations and groups of wireless devices.
BACKGROUNDService discovery protocols can allow devices to find available services with or without intervention of a device user. When service discovery is combined with wireless devices, such as personal digital assistants, personal media players, cell phones, smart phones and tablets, it can provide many interesting possibilities. In some cases, wireless devices can find available services in the near area automatically. Friends in the same area can play games together with smart phones. One characteristic of this proximity based service discovery is that each device can be a service provider as well as a user. As such, it can be beneficial for a first device to inform other devices about available services on the first device at the same relative time the first device discovers service from other devices. There are some existing service discovery protocols such as Wi-Fi Direct, Universal Plug and Play (Upnp) and Bonjour. However, existing protocols use individual service advertisement or individual service request and response and, as such, when the number of devices in an area increases, existing service discovery protocols can create high communication traffic volumes and can cause each station to consume a lot of energy monitoring and responding to service discovery requests.
The inventors have recognized a more efficient reactive service discovery protocol that can assist in service and social information awareness and can advertise general social information and services of a station on a regular basis while at the same time reducing overhead and energy consumption associated with acquiring service information of other groups and stations.
If a service request is received during a query window, a response can provide more detailed service information about the receiving station or group to the querying station. In some examples, a querying station can coordinate a service request and response event 220 with other stations, such as other stations associated with the querying station in a group, by letting the other stations know in advance that a query will be made. The other interested stations in the group can then wake during the query window to listen to the detailed service information. As illustrated in
In certain examples, a group can include only members that can directly communicate with each other member of the group directly. This type of group can be referred to as a group arranged to communicate with each other station of the group using a single hop. For a new member to join the group, the new member may be expected to communicate directly with each existing member of the group before being accepted to the group.
In certain examples, each station can be a wireless station. In some examples, each station can include a transmitter, a receiver, or a transceiver capable of communication over an Institute of Electrical and Electronic Engineers (IEEE) 802.11 compatible wireless network. In certain examples, a wireless communication module can include a transmitter, a receiver, or a transceiver capable of communication over an IEEE 802.11 compatible wireless network. IN some examples, the wireless communication module can include a processor, memory and an antenna operable with an IEEE 802.11 compatible transmitter, receiver, or transceiver. In certain examples, the wireless communication module can wirelessly communicate information be stored in, or retrieved from the memory. In some examples, the transceiver, transmitter, or receiver can exchange control commands with the processor to control a mode of the wireless communication device such as switching the wireless communication device or a portion thereof into and out of a sleep mode, for example.
In certain examples, after broadcast of a publishing beacon, the station that broadcast the publishing beacon can listen for join requests during a join window 308. Join requests can be transmitted by a station interested in joining the publishing group. In some examples, a publishing beacon can include timing information associated with the join window. In certain examples, each broadcast of a publishing beacon can be followed by a join window. In certain examples, a join window may not follow each broadcast of a publishing beacon.
In certain examples, stations of a group can be referred to as an up-stream station or downstream station relative to another station of a group. For example, referring to the example of
In certain examples, a station of a first group of stations can be triggered to discover whether there are any other non-member stations nearby, or to discover a second group of stations nearby. In certain examples, the trigger can be a user determined trigger. In some examples, the trigger can be a scheduled discovery trigger. In some examples, the station can be programmed to execute service updates in the form of a coordinated request and response service discovery event at a threshold frequency. In some examples, the trigger can be set by receiving a publishing beacon from a non-member station. In the illustrated example of
For example, referring again to
In certain examples, a station can include an interest parameter and a wake-up alarm. The interest parameter, in some examples, can include values that indicate services the station is actually interested in finding or discovering. In some examples, the interest parameter includes user settable values. In certain examples, the wake-up alarm can be set with one or more times to wake the processor, memory or transceiver of the station from a sleep mode to participate in an event, for example, a beacon transmission or a request and response service discovery event. When the station receives a publishing beacon indicative of an anticipated service request and response event, the station can compare values of the interest parameter to the general service categories discoverable during the event and can determine whether to set the wake up alarm for the event based on the comparison. In some examples, a station can include a battery level indicator that can provide an indication of remaining battery capacity of the station. In certain examples, the station can compare the battery level indication to a threshold level to determine whether to set the wake-up alarm for a request and response service discovery event. In certain examples, a station can include memory associated with a processor for storing and retrieving parameters, such as an interest parameter or a parameter indicative of battery capacity.
In the illustrated example of
In certain examples, the query window 303 can be scheduled arbitrarily with respect to the timing for the publishing beacon of the group. In some examples, the query window 303 can be scheduled to overlap with a join window 308A. In some examples, just before or during the query window 303, the first station (A) can transmit a service request 304 and then listen for a service response transmission 305. In certain examples, a service response transmission can also be referred to as a service response frame or simply, a service response.
In certain examples, a fourth station can wake-up 310, from a sleep mode for example, to receive the service request 304. In certain examples, upon receiving a service request 304, the fourth station (D) can provide detailed service information in a service response transmission 305. In certain examples, the detailed service information can include detailed service information associated with the fourth station (D). In some examples, the fourth station (D) can be a member of a second group of stations and the service information can include detailed service information associated with the fourth station (D) as well as detailed service information associated with each of the other stations of the second group.
In certain examples, one or more other stations (B, C) can wake-up 306 to receive the service response transmission 305 from the fourth station (D). In doing so, detailed service information can be discovered more efficiently by having more than one station of one or more groups receive the service response transmission, thus, having more than one station discovering services for each service discovery request.
In certain examples, a coordinated service discovery method according to the present subject matter can efficiently provide a station with a number of available services and social contacts using substantially less energy than if the station was expected to use individual direct request and response communications to discover each of those available services and contacts. In certain circumstances, operational opportunities of a station that relies on a limited energy source, such as a battery, can be extended using a coordinated service discovery method according to the present subject matter.
EXAMPLES AND ADDITIONAL NOTESIn Example 1, a method for grouped based reactive service discovery can include broadcasting a first group beacon at a group interval using a first station belonging to a first group of stations, and broadcasting a service request to a second group during a query interval of the second group. The first group beacon can include a service update alert configured to alert other members of the first group of an anticipated service request and response event to learn services available from the second group. The service update alert including a beginning time for the anticipated service request and response event corresponding to the query interval of the second group.
In Example 2, the service update alert of Example 1 optionally includes a group identifier associated with the second group.
In Example 3, the method of any one or more of Examples 1-2 optionally includes receiving a second group beacon from the second group, and setting the beginning time using the second group beacon.
In Example 4, the second beacon of any one or more of Examples 1-3 optionally includes query time information of the second group, and the setting the beginning time of any one or more of Examples 1-3 optionally includes setting the beginning time using the query time information of the second group beacon.
In Example 5, each of the stations belonging to the first group of stations, including the first station, of any one or more of Examples 1-4 optionally are arranged to communicate with each other station of the first group of stations using a single hop.
In Example 6, a method for grouped based reactive service discovery can include receiving at a first station of a first group of stations a service update alert indicating a beginning time for an anticipated service request and response event to learn services available from a second group of stations, switching the first station to a sleep mode to conserve energy, waking the first station from the sleep mode at or near the beginning time, and receiving a service response frame from the second group of stations at the first station.
In Example 7, the receiving the service response frame of any one or more of Examples 1-6 optionally includes receiving service information of the second group.
In Example 8, the receiving the service response frame from the second group of any one or more of Examples 1-7 optionally includes receiving a service request transmitted from the first group to the second group.
In Example 9, the receiving the service update alert of any one or more of Examples 1-8 optionally includes receiving a group identifier configured to identify the second group.
In Example 10, the waking the first station from the sleep mode of any one or more of Examples 1-9 optionally includes verifying a battery level indication of the first station is greater than a threshold.
In Example 11, the waking the first station from the sleep mode of any one or more of Examples 1-10 optionally includes verifying an interval of time since a last service update of the first station is greater than a programmable update frequency threshold of the first station.
In Example 12, a wireless communication station configured for grouped based reactive service discovery can include an IEEE 802.11 compatible wireless transceiver. The IEEE 802.11 compatible wireless transceiver can be configured to receive a service update alert indicating a beginning time for an anticipated service request and response event from a first group of stations, to switch the processor to a sleep mode to conserve energy, to wake the processor from the sleep mode at or near the beginning time, and to receive a service response frame from a second group of stations.
In Example 13, the service update alert of any one or more of Examples 1-12 optionally includes a group identifier configured to identify the second group of stations.
In Example 14, the service response frame of any one or more of Examples 1-13 optionally includes service information of the second group.
In Example 15, the IEEE 802.11 compatible wireless transceiver of any one or more of Examples 1-14 optionally is configured to receive a service request of the first group, wherein the service request is configured to be received by a station of the second group.
In Example 16, the IEEE 802.11 compatible wireless transceiver of any one or more of Examples 1-15 optionally is configured to verify a battery level indication of the first station is greater than a threshold before waking the processor.
In Example 17, the IEEE 802.11 compatible wireless transceiver of any one or more of Examples 1-16 optionally is configured to verify an interval of time since a last service update of the first wireless communication station is greater than a programmable update frequency threshold of the first wireless communication station before waking the processor.
In Example 18, a wireless communication station configured for grouped based reactive service discovery can include a processor, memory coupled to the processor, an antenna, and an IEEE 802.11 compatible wireless transceiver. The IEEE 802.11 compatible wireless transceiver can be configured to provide wireless communication of information to be stored into and retrieved from the memory using the antenna, to receive a service update alert indicating a beginning time of a query window of an anticipated service request and response event of a first group of stations, to switch the processor to a sleep mode to conserve energy, to wake the processor from the sleep mode at or near the beginning time, and to receive a service response frame from a second group of stations during the query window.
In Example 19, the IEEE 802.11 compatible wireless transceiver of any one or more of Examples 1-18 optionally is configured to propagate the service update alert to other stations of the first group. The service update alert of any one or more of Examples 1-18 optionally includes a group identifier configured to identify the second group of stations. The service response frame of any one or more of Examples 1-18 optionally includes service information of the second group.
In Examples 20, the transceiver of any one or more of Examples 1-19 optionally is configured to transmit a second service update alert configured to alert other members of the first group of a second anticipated service request and response event to learn services available from a third group of stations, the second service update alert including a beginning time for a query window of the third group, to transmit a second service request for service information of the third group during the query window, and to receive a second service response including the service information of the third group from a station of the third group.
Example 21 can include, or can optionally be combined with any portion or combination of any portions of any one or more of Examples 1 through 20 to include, subject matter that can include means for performing any one or more of the functions of Examples 1 through 20, or a machine-readable medium including instructions that, when performed by a machine, cause the machine to perform any one or more of the functions of Examples 1 through 20.
Embodiments may be implemented in one or a combination of hardware, firmware and software. Embodiments may also be implemented as instructions stored on a computer-readable storage device, which may be read and executed by at least one processor to perform the operations described herein. A computer-readable storage device may include any non-transitory mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a computer-readable storage device may include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, and other storage devices and media. Some embodiments may include one or more processors and may be configured with instructions stored on a computer-readable storage device.
The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the subject matters can be practiced. These embodiments are also referred to herein as “examples.” All publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects. The above description is intended to be illustrative, and not restrictive. In other examples, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments can be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided to comply with 37 C.F.R. §1.72(b), to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. The scope of the invention should be determined with reference to the appended claims, along with the full scope of legal equivalents to which such claims are entitled.
Claims
1. A method for grouped based reactive service discovery, the method comprising:
- broadcasting a first group beacon at a group interval using a first station belonging to a first group of stations, the first group beacon including a service update alert configured to alert other members of the first group of an anticipated service request and response event to learn services available from a second group, the service update alert including a beginning time for the anticipated service request and response event corresponding to a query interval of the second group; and
- broadcasting a service request to the second group during the query interval of the second group.
2. The method of claim 1, wherein the service update alert includes a group identifier associated with the second group.
3. The method of claim 1, including receiving a second group beacon from the second group; and
- setting the beginning time using the second group beacon.
4. The method of claim 3, wherein the second beacon includes query time information of the second group; and
- wherein setting the beginning time includes setting the beginning time using the query time information of the second group beacon.
5. The method of claim 1, wherein each of the stations belonging to the first group of stations, including the first station, are arranged to communicate with each other station of the first group of stations using a single hop.
6. A method for grouped based reactive service discovery, the method comprising:
- receiving at a first station of a first group of stations a service update alert indicating a beginning time for an anticipated service request and response event to learn services available from a second group of stations;
- switching the first station to a sleep mode to conserve energy;
- waking the first station from the sleep mode at or near the beginning time; and
- receiving a service response frame from the second group of stations at the first station.
7. The method of claim 6, wherein receiving the service response frame includes receiving service information of the second group.
8. The method of claim 6, wherein receiving the service response frame from the second group includes receiving a service request transmitted from the first group to the second group.
9. The method of claim 6, wherein receiving the service update alert includes receiving a group identifier configured to identify the second group.
10. The method of claim 6, wherein waking the first station from the sleep mode includes verifying a battery level indication of the first station is greater than a threshold.
11. The method of claim 6, wherein waking the first station from the sleep mode includes verifying an interval of time since a last service update of the first station is greater than a programmable update frequency threshold of the first station.
12. A wireless communication station configured for grouped based reactive service discovery, the wireless communication device comprising:
- an IEEE 802.11 compatible wireless transceiver configured: to receive a service update alert indicating a beginning time for an anticipated service request and response event from a first group of stations; to switch the processor to a sleep mode to conserve energy; to wake the processor from the sleep mode at or near the beginning time; and to receive a service response frame from a second group of stations.
13. The wireless communication station of claim 12, wherein the service update alert includes a group identifier configured to identify the second group of stations.
14. The wireless communication station of claim 12, wherein the service response frame includes service information of the second group.
15. The wireless communication station of claim 12, wherein the IEEE 802.11 compatible wireless transceiver is configured to receive a service request of the first group, wherein the service request is configured to be received by a station of the second group.
16. The wireless communication station of claim 12, wherein the IEEE 802.11 compatible wireless transceiver is configured to verify a battery level indication of the first station is greater than a threshold before waking the processor.
17. The wireless communication station of claim 12, wherein the IEEE 802.11 compatible wireless transceiver is configured to verify an interval of time since a last service update of the first wireless communication station is greater than a programmable update frequency threshold of the first wireless communication station before waking the processor.
18. A wireless communication station configured for grouped based reactive service discovery, the wireless communication device comprising:
- a processor;
- memory coupled to the processor;
- an antenna; and
- an IEEE 802.11 compatible wireless transceiver configured: to provide wireless communication of information to be stored into and retrieved from the memory using the antenna; to receive a service update alert indicating a beginning time of a query window of an anticipated service request and response event of a first group of stations, to switch the processor to a sleep mode to conserve energy; to wake the processor from the sleep mode at or near the beginning time; and to receive a service response frame from a second group of stations during the query window.
19. The wireless communication station of claim 18, wherein the IEEE 802.11 compatible wireless transceiver is configured to propagate the service update alert to other stations of the first group;
- wherein the service update alert includes a group identifier configured to identify the second group of stations; and
- wherein the service response frame includes service information of the second group.
20. The wireless communication station 18, wherein the transceiver is configured:
- to transmit a second service update alert configured to alert other members of the first group of a second anticipated service request and response event to learn services available from a third group of stations, the second service update alert including a beginning time for a query window of the third group;
- to transmit a second service request for service information of the third group during the query window; and
- to receive a second service response including the service information of the third group from a station of the third group.
Type: Application
Filed: Dec 13, 2012
Publication Date: Apr 24, 2014
Inventors: Sanghoon Kim (Ann Arbor, MI), Minyoung Park (Portland, OR)
Application Number: 13/713,858