IP Library Granted Patent US 9,185,148
Granted Patent B1
US 9,185,148 · App. 13/716,675 · Granted Nov 10, 2015

Methods and systems for efficient discovery of devices in a peer-to-peer network

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,185,148
App. No.
13/716,675
Granted
Nov 10, 2015
Kind
B1
Abstract

When attempting to establish a peer-to-peer connection, a computing device can quickly discover compatible devices, which are capable of exchanging content, and remember them. When a neighboring device is discovered during a scan, the computing device can determine whether the neighboring device is capable of sharing content. Once it is determine that the neighboring device can share content, the computing device can determine a history of previous connections with the neighboring device. The computing device can determine a priority for sharing content with neighboring device relative to other devices. The computing device can determine the priority based on the history of the neighboring device and the history of other devices so that the devices with a likelihood of new content receive a higher priority.

Claims (75)

1. A method for discovering devices with which to share content, the method comprising:

identifying, by a first computing device, a second device with which to attempt a peer-to-peer connection;

determining that the second device is a device capable of sharing content;

determining that a previous peer-to-peer connection was made with the second device;

retrieving data reflecting the previous peer-to-peer connection, wherein the data comprises a time of the previous peer-to-peer connection;

determining, based on the data, whether content sharing was successfully completed during the previous peer-to-peer connection; and

determining a priority with which to attempt of the peer-to-peer connection with the second device relative to connections with other devices based on at least one of the time of the previous peer-to-peer connection and whether content sharing was successfully completed during the previous peer-to-peer connection.

2. The method of claim 1 , wherein determining whether the second device is a device capable of sharing content, comprises:

examining a record of devices not capable of sharing content for an identification of the second device.

3. The method of claim 1 , the method further comprising:

determining that a third device is not capable of sharing content; and

determining not to attempt further peer-to-peer connections with the third device.

4. The method of claim 3 , the method further comprising:

determining that a record of devices does not include an identification of the third device; and

adding the identification of the third device to the record of devices not capable of sharing content.

5. The method of claim 1 , wherein determining the priority comprises:

determining that the content sharing was not successfully completed during the previous peer-to-peer connection; and

determining a first priority for the peer-to-peer connection with the second device relative to connections with other devices.

6. The method of claim 5 , the method further comprising:

determining that a previous peer-to-peer connection was not made with a third device; and

determining a priority lower than the first priority for a peer-to-peer connection with the third device relative to the peer-to-peer connection with the second device.

7. The method of claim 1 , the method further comprising:

determining that a predetermined number of peer-to-peer connection attempts with a third device have been unsuccessful; and

waiting a predetermined period of time before attempting further peer-to-peer connections with the third device.

8. The method of claim 1 , the method further comprising:

determining that the content sharing was successfully completed during the previous peer-to-peer connection;

determining whether a predetermined period of time has elapsed since the time of the previous peer-to-peer connection; and

attempting the peer-to-peer connection based on whether the predetermined period of time has elapsed since the time of the previous peer-to-peer connection.

9. A computer readable storage medium storing instructions for causing one or more processors to perform a method comprising:

identifying, by a first computing device, a second device with which to attempt a peer-to-peer connection;

determining that the second device is a device capable of sharing content;

determining that a previous peer-to-peer connection was made with the second device;

retrieving data reflecting the previous peer-to-peer connection, wherein the data comprises a time of the previous peer-to-peer connection;

determining, based on the data, whether content sharing was successfully completed during the previous peer-to-peer connection; and

determining a priority with which to attempt of the peer-to-peer connection with the second device relative to connections with other devices based on at least one of the time of the previous peer-to-peer connection and whether content sharing was successfully completed during the previous peer-to-peer connection.

10. The computer readable storage medium of claim 9 , wherein determining whether the second device is a device capable of sharing content, comprises:

examining a record of devices not capable of sharing content for an identification of the second device.

11. The computer readable storage medium of claim 9 , the method further comprising:

determining that a third device is not capable of sharing content; and

determining not to attempt further peer-to-peer connections with the third device.

12. The computer readable storage medium of claim 11 , the method further comprising:

determining that a record of devices does not include an identification of the third device; and

adding the identification of the third device to the record of devices not capable of sharing content.

13. The computer readable storage medium of claim 9 , wherein determining the priority comprises:

determining that the content sharing was not successfully completed during the previous peer-to-peer connection; and

determining a first priority for the peer-to-peer connection with the second device relative to connections with other devices.

14. The computer readable storage medium of claim 13 , the method further comprising:

determining that a previous peer-to-peer connection was not made with a third device; and

determining a priority lower than the first priority for a peer-to-peer connection with the third device relative to the peer-to-peer connection with the second device.

15. The computer readable storage medium of claim 9 , the method further comprising:

determining that a predetermined number of peer-to-peer connection attempts with a third device have been unsuccessful; and

waiting a predetermined period of time before attempting further peer-to-peer connections with the third device.

16. The computer readable storage medium of claim 9 , the method further comprising:

determining that the content sharing was successfully completed during the previous peer-to-peer connection;

determining whether a predetermined period of time has elapsed since the time of the previous peer-to-peer connection; and

attempting the peer-to-peer connection based on whether the predetermined period of time has elapsed since the time of the previous peer-to-peer connection.

17. A computing device for discovering devices with which to share content, comprising:

one or more memory devices storing instructions; and

one or more processors coupled to the one or more memory devices and configured to execute the instructions to perform a method comprising:

identifying a second device with which to attempt a peer-to-peer connection;

determining that the second device is a device capable of sharing content;

determining that a previous peer-to-peer connection was made with the second device;

retrieving data reflecting the previous peer-to-peer connection, wherein the data comprises a time of the previous peer-to-peer connection;

determining, based on the data, whether content sharing was successfully completed during the previous peer-to-peer connection; and

determining a priority with which to attempt of the peer-to-peer connection with the second device relative to connections with other devices based on at least one of the time of the previous peer-to-peer connection and whether content sharing was successfully completed during the previous peer-to-peer connection.

18. The computing device of claim 17 , wherein the one or more processors are configured to execute the instructions to perform the method further comprising:

determining that a third device is not capable of sharing content; and

determining not to attempt further peer-to-peer connections with the third device.

19. The computing device of claim 17 , wherein the one or more processors are configured to execute the instructions to perform the method further comprising:

determining that a predetermined number of peer-to-peer connection attempts with a third device have been unsuccessful; and

waiting a predetermined period of time before attempting further peer-to-peer connections with the third device.

20. The computing device of claim 17 , wherein the one or more processors are configured to execute the instructions to perform the method further comprising:

determining that the content sharing was successfully completed during the previous peer-to-peer connection;

determining whether a predetermined period of time has elapsed since the time of the previous peer-to-peer connection; and

attempting the peer-to-peer connection based on whether the predetermined period of time has elapsed since the time of the previous peer-to-peer connection.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2012
From: SWITKIN, DANIEL JULES; MARGOLIN, BENJAMIN
To: GOOGLE INC.
Reel/Frame 029481/0956 →