IP Library Granted Patent US 9,306,813
Granted Patent B2
US 9,306,813 · App. 12/796,524 · Granted Apr 5, 2016

Efficient service advertisement and discovery in a peer-to-peer networking environment with cooperative advertisement

Inventors: Pierre Vandwalle (Sunnyvale, CA); Tito Thomas (San Jose, CA); Charles Francis Dominguez (Redwood City, CA)
Assignee: Apple Inc.
H04L43/04G06F1/32H04L67/16H04L67/2861H04L67/325H04W8/005H04W48/08H04W4/00H04W52/02H04W52/0216H04W84/18H04W92/18Y02B60/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,306,813
App. No.
12/796,524
Granted
Apr 5, 2016
Kind
B2
Abstract

Operating conditions of a remote device and operating conditions of a local device are compared, where the local device and the remote device are located within a predetermined proximity of a wireless network. An advertisement request is transmitted from the local device to the remote device based on the comparison of the operating conditions of the local device and the remote device. The advertisement request includes information identifying one or more services advertised by the local device, whereby the remote device is configured to advertise the one or more services on behalf of the local device in the wireless network.

Claims (86)

1. A machine-implemented method for advertising services in a peer-to-peer networking environment, the method comprising:

while advertising, by a local device, one or more services of the local device, comparing operating conditions of a remote device and operating conditions of the local device, wherein the local device and the remote device are located within a predetermined proximity of a wireless network;

transmitting an advertisement request from the local device to the remote device based at least in part on the comparison of the operating conditions of the local device and the remote device, the advertisement request identifying the one or more services of the local device and requesting the remote device to:

advertise the one or more services of the local device on behalf of the local device in the wireless network; and

determining that the advertising request was accepted and then terminating the local device's advertising of the one or more services of the local device.

2. The method of claim 1 , wherein advertising on behalf of the local device comprises broadcasting, at the remote device, a service advertisement having the one or more services of the local device on behalf of the local device.

3. The method of claim 2 , wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the remote device and a second advertisement segment having the one or more services of the local device.

4. The method of claim 3 , wherein the first advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the remote device; and

a first availability schedule of the remote device during which the remote device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs.

5. The method of claim 3 , wherein the second advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the local device;

a second availability schedule of the local device during which the local device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs; and

an address of the local device such that another device can directly contact the local device for inquiring the one or more services of the local device without having to contact the remote device.

6. The method of claim 1 , wherein the remote device is configured to broadcast a service advertisement in the wireless network for advertising the one or more services of the local device on behalf of the local device, without requiring the local device to advertise the one or more services of the local device.

7. The method of claim 1 , further comprising, listening in the wireless network, at the local device, to determine one or more remote devices that are capable of advertising the one or more services of the local device.

8. The method of claim 1 , wherein determining that the advertising request was accepted comprises one of:

receiving an advertisement response from the remote device, the advertisement response indicating that the remote device will honor the advertisement request and act as a group advertiser; and

receiving a next service advertisement from the remote device and determining that the next service advertisement has the one or more services of the local device.

9. The method of claim 1 , wherein the operating conditions of the local device comprise at least one of:

a battery status of the local device; and

network congestion experienced by the local device.

10. 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 peer-to-peer networking environment, the method comprising:

while advertising, by a local device, one or more services of the local device, comparing operating conditions of a remote device and operating conditions of the local device, wherein the local device and the remote device are located within a predetermined proximity of a wireless network;

transmitting an advertisement request from the local device to the remote device based on the comparison of the operating conditions of the local device and the remote device, the advertisement request identifying the one or more services of the local device and requesting the remote device to:

advertise the one or more services of the local device on behalf of the local device in the wireless network; and

determining that the advertising request was accepted and then terminating the local device's advertising of the one or more services of the local device.

11. The non-transitory machine-readable storage medium of claim 10 , wherein advertising on behalf of the local device comprises broadcasting, at the remote device, a service advertisement having the one or more services of the local device on behalf of the local device.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the remote device and a second advertisement segment having the one or more services of the local device.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the first advertisement segment includes:

one or more service identifiers (IDs) identifying the one or more services of the remote device; and

a first availability schedule of the remote device during which the remote device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs.

14. The non-transitory machine-readable storage medium of claim 12 , wherein the second advertisement segment includes:

one or more service identifiers (IDs) identifying the one or more services of the local device;

a second availability schedule of the local device during which the local device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs; and

an address of the local device such that another device can directly contact the local device for inquiring the one or more services of the local device without having to contacting the remote device.

15. The non-transitory machine-readable storage medium of claim 10 , wherein the remote device is configured to broadcast a service advertisement in the wireless network for advertising the one or more services of the local device on behalf of the local device, without requiring the local device to advertise the one or more services of the local device.

16. A portable device, comprising:

a processor;

a memory;

a service advertiser selection unit, which is stored in the memory and executed by the processor, to, while advertising, by the portable device, one or more services of the portable device, compare operating conditions of a remote device and operating conditions of the portable device, wherein the portable device and the remote device are located within a predetermined proximity of a wireless network;

a service advertisement unit coupled to the service advertiser selection unit to transmit an advertisement request to the remote device based on the comparison of the operating conditions of the portable device and the remote device, the advertisement request identifying the one or more services of the portable device and requesting the remote device to:

advertise the one or more services of the portable device on behalf of the portable device in the wireless network; and

determine that the advertising request was accepted and then terminate the local device's advertising of the one or more services of the local device.

17. The portable device of claim 16 , wherein advertising on behalf of the portable device comprises broadcasting, at the remote device, a service advertisement having the one or more services of the portable device on behalf of the portable device.

18. The portable device of claim 17 , wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the remote device and a second advertisement segment having the one or more services of the portable device.

19. The portable device of claim 18 , wherein the first advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the remote device; and

a first availability schedule of the remote device during which the remote device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs.

20. The portable device of claim 18 , wherein the second advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the portable device;

a second availability schedule of the portable device during which the portable device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs; and

an address of the portable device such that another device can directly contact the portable device for inquiring the one or more services of the portable device without having to contact the remote device.

21. The portable device of claim 16 , wherein the remote device is configured to broadcast a service advertisement in the wireless network to advertise the one or more services of the portable device on behalf of the portable device, without requiring the portable device to advertise the one or more services of the portable device.

22. A machine-implemented method for advertising services in a peer-to-peer networking environment, the method comprising:

receiving an advertisement request from a remote device based on a comparison of operating conditions of a local device and operating conditions of the remote device, the advertisement request including one or more services available from the remote device;

broadcasting a service advertisement in the wireless network, by the local device, the service advertisement including the one more services to be advertised on behalf of the remote device; and

sending an advertisement response to the remote device, the advertisement response informing the remote device that the advertisement request was accepted by the local device;

wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the local device and a second advertisement segment having the one or more services of the remote device, wherein the first advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the local device; and

a first availability schedule of the local device during which the local device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs.

23. The method of claim 22 , wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the local device and a second advertisement segment having the one or more services of the remote device, wherein the second advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the remote device;

a second availability schedule of the remote device during which the remote device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs; and

an address of the remote device such that another device can directly contact the remote device for inquiring the one or more services of the remote device without having to contacting the local device.

24. A portable device, comprising:

a processor;

a memory;

a service advertiser selection unit to receive an advertisement request from a remote device based on a comparison of operating conditions of the portable device and operating conditions of the remote device, the advertisement request including one or more services to be available from the remote device; and

a service advertisement unit coupled to the service advertiser selection unit to:

broadcast a service advertisement in the wireless network, the service advertisement including one more services to be advertised on behalf of the remote device; and

send an advertisement response to the remote device, the advertisement response informing the remote device that the advertisement request was accepted by the local device;

wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the portable device and a second advertisement segment having the one or more services of the remote device, wherein the first advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the portable device; and

a first availability schedule of the portable device during which the portable device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs.

25. The portable device of claim 24 , wherein the second advertisement segment comprises:

the one or more service IDs identifying the one or more services of the remote device;

a second availability schedule of the remote device during which the remote device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs; and

an address of the remote device such that another device can directly contact the remote device for inquiring the one or more services of the remote device without having to contacting the portable device.

26. 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 peer-to-peer networking environment, the method comprising:

receiving an advertisement request from a remote device based on a comparison of operating conditions of a local device and operating conditions of the remote device, the advertisement request including one or more services available from the remote device;

broadcasting a service advertisement in the wireless network, by the local device, the service advertisement including the one more services to be advertised on behalf of the remote device; and

sending an advertisement response to the remote device, the advertisement response informing the remote device that the advertisement request was accepted by the local device;

wherein the service advertisement is a compound service advertisement having a first advertisement segment having one or more services of the local device and a second advertisement segment having the one or more services of the remote device, wherein the first advertisement segment comprises:

one or more service identifiers (IDs) identifying the one or more services of the local device; and

a first availability schedule of the local device during which the local device is configured to listen to any service requests from another device concerning the one or more services identified by the one or more service IDs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2010
From: VANDWALLE, PIERRE; THOMAS, TITO; DOMINGUEZ, CHARLES FRANCIS
To: APPLE INC.
Reel/Frame 024503/0811 →
Continuity (2)
Provisional Application 61289689 · Dec 23, 2009
Related Publication 20110153773A1 · Jun 23, 2011