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.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CLAIM OF PRIORITY AND RELATED APPLICATIONS

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 FIELD

Examples pertain service discovery protocols and, more particularly, to coordinated service discovery communications for individual stations and groups of wireless devices.

BACKGROUND

Service 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.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a direct service discovery protocol system.

FIG. 2 illustrates generally a system of stations employing an example coordinated request and response service discovery protocol.

FIG. 3 illustrates generally an example method of coordinated request and response service discovery.

DESCRIPTION

FIG. 1 illustrates generally a service discovery protocol system 100 that expects a station (S) to listen often for service information from other stations and to broadcast often to advertise services the station has available or is interested in using. In certain examples, several stations can belong to a group 101, 102, 103 of stations. For example, a group of stations can be associated by a particular service each station is interested in or a service that can be used by each of the member stations of the group. To learn what other services may be available from one or more other groups or stations within the one or more other groups, each station can be expected to monitor each other station. This type of service discovery protocol can be limiting. For example, if a station's user desires to be aware of as much service or social information as possible and to advertise to other stations the social information or services of the user's station, the station can consume appreciable energy in waking and listening for nearby stations and in transmitting beacons to advertise the station's social information and services.

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. FIG. 2 illustrates generally a system 200 of stations (S), such as wireless devices, using an example coordinated query, or request, and response service discovery protocol. In certain examples, the system 200 can include one or more groups 201, 202, 203 of one or more stations. Each group can provide a publishing beacon at a publishing interval. In certain examples, the publishing beacon can include general service and social information associated with the members of the group. A publishing beacon can be received by member stations of the group and by non-member stations. In certain examples, the publishing beacon can include information associated with a query window of the group and the information can be used to notify member and non-member stations of an anticipated service request to be made during the query window. In some examples, the information about the query window can include a beginning time for the query window and duration of the query window. In certain examples, the query window can be associated with a coordinated request and response event 220 that can be used to efficiently discover and propagate service information of other stations or other groups. In certain examples, a query window can provide an interval of time when a station associated with the group is expected to request service information from a non-member station, listen for service requests or responses from non-member stations, or a combination thereof.

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 FIG. 2, social and service information of the groups can be more efficiently exchange using a coordinated request and response service discovery protocol according to the present subject matter. In FIG. 2, the dashed lines extending from the request and response events 220 indicate that other stations (S) can listen for, and discover, service information using a service request of a different station. Efficiency can be realized in terms of reduced communication traffic, and wider information exchange with reduced power consumption of each station of the system.

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.

FIG. 3 illustrates generally an example method 300 of coordinated request and response service discovery. The example method 300 illustrates communication activity of four stations (A, B, C, D). The first three stations (A, B, C) can be associated in a group. In certain examples, a fourth station (D) can be associated with a second group. In certain examples, the fourth station may not be associated with a group. In certain examples, the stations (A, B, C) associated with the first group can alternately transmit or broadcast a publishing beacon 301 to advertise social information or service information associated with the first group. For example, the first station (A) of first group can broadcast a first publishing beacon 301A, a beacon interval (T) later; the second station (B) of the first group can broadcast a second publishing beacon 301B. A beacon interval (T) later, the third station (C) of the first group can broadcast a third publishing beacon 301C. In general, a station can switch to a sleep mode between broadcasts of the publishing beacons. In certain examples, a sleep mode can conserve battery energy by operating the station's processor, memory, or transceiver in a reduced energy mode of operation that can extend operation of the station between charges of the battery.

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 FIG. 3, the first station (A) of the first group can be referred to as the immediately up-stream station of the second station (B). The second station (B) can be referred to as the immediately up-stream station of the third station (C), and so on. In certain systems, the first station (A) can be referred to as the immediately down-stream station of the third station (C). The second station (B) can be referred to as the immediately down-stream station of the first station (A), and so on. In certain examples, an immediately down-stream station can wake up 309A, 309B, 309C, to receive a publishing beacon from an up-stream device. In such an example group, changes to the group or timing information associated with various protocol communications can be propagated to each member of the group. In certain examples, having a down-stream station receive a publishing beacon of an up-stream device can facilitate coordinated service discovery.

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 FIG. 3, the first station (A) can be triggered to discover another station that is nearby or another group of stations that is nearby and to discover any social information or service information about the station or the group. In pursuing the discovery, a station of a group can prepare the other station of the group for an anticipated service request and response event such that each interested station in the group can simultaneously discover nearby social and service information in a coordinated and low energy manner. In certain examples, a service request can be transmitted with the expectation that a station receiving the request will respond with detailed information regarding that station's available services or with detailed service information of a group associated with that station.

For example, referring again to FIG. 3, the first station (A) can broadcast a fourth publishing beacon 302A. The fourth publishing beacon 302A can include service alert information, such as timing information associated with a query window 303 of the anticipated service request and response event. The alert information can be distributed throughout the group via subsequent publishing beacons 302B, 302C of the stations (B, C) down-stream from the first station (A). In certain examples, the alert information can provide general categories of social information and services that may be discovered during the anticipated service request and response event. Such information may have been received from a publishing beacon of a nearby station or group of stations, such as the fourth station (D). In certain examples, considerations of an initiating station, for example the first station (A), for scheduling a query window (303) can include the available timing of a target group or target station (D) and the time needed for the propagation of a designated wake up time for other stations (B, C) of the first group. In certain examples, the alert information can include a group identifier associated with the target group. Such information can be used by the target group or target station to prepare for the service request and response event during the query window 303.

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 FIG. 3, the fourth station (D) can receive the alert information and can prepare to participate in the anticipated service request and response event. In certain examples, the alert information can be targeted at a particular non-member station or at a particular nearby group such that the targeted station (D) or a station within the targeted group can prepare and participate in the anticipated query and response event.

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 NOTES

In 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.
Patent History
Publication number: 20140111312
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
Classifications
Current U.S. Class: Group Call (340/10.32)
International Classification: G08C 17/02 (20060101);