# US 9,882,996 B2 · Determining data associated with proximate computing devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,882,996 B2
- Document ID: US9882996B2
- Status: Granted
- Kind: B2
- Application number: 14/176,862
- Filed: 2014-02-10
- Published: 2015-07-23
- Granted: 2018-01-30
- Earliest claimed: 2014-01-23
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Alexander Faaborg; Gabriel Aaron Cohen
- Web page: https://patentgrep.com/patent/US9882996B2

## CPC

- H04L 67/52: specially adapted for the location of the user terminal
- H04W 4/023: {using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A computing system is described that determines a location of a first computing device at a particular time. Responsive to determining that a second computing device is located within a threshold distance of the location of the first computing device at the particular time, the computing system identifies, based on contextual information associated with a user of the first computing device and contextual information associated with a user of the second computing device, at least one data file that the user of the first computing device is likely to access at the particular time. The computing system then outputs, for transmission to the first computing device, an indication of the at least one data file.

## Claims

### Claim 1

A method, comprising:
determining, by a first computing device, a location of the first computing device;
determining, by the first computing device, whether a second computing device is located within a threshold distance of the location of the first computing device;
responsive to determining that the second computing device is located within the threshold distance of the location of the first computing device, identifying, by the first computing device, based on contextual information associated with a user of the first computing device and contextual information associated with a user of the second computing device, at least one data file that the user of the first computing device is likely to access at a particular time, wherein:
the contextual information associated with the user of the first computing device includes a calendar event on a first calendar and the contextual information associated with the user of the second computing device includes a calendar event on a second calendar;
the calendar event on the first calendar corresponds to the calendar event on the second calendar and are each associated with the particular time; and
at least a portion of content of the at least one data file is related to at least one of the first calendar event or the second calendar event associated with the particular time; and
outputting, by the first computing device, for display, a graphical indication of the at least one data file.

### Claim 2 (depends on 1)

The method of claim 1, wherein identifying the at least one data file comprises:
determining, by the first computing device, that an attribute of the at least one data file indicates that the user of the first computing device and the user of the second computing device each accessed the at least one data file at a time prior to the particular time; and
identifying, by the first computing device and based on the attribute, the at least one data file.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining, by the first computing device, whether the portion of content of the at least one data file is related to the calendar event on the first calendar or the calendar event on the second calendar,
wherein the at least one data file is further identified in response to determining that at least the portion of content of the at least one data file is related to at least one of the calendar event on the first calendar or the calendar event on the second calendar.

### Claim 4 (depends on 1)

The method of claim 1, wherein the at least one data file is further identified in response to determining that at least the portion of the content of the at least one data file is related to the location of the first computing device.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining that the second computing device is located within a threshold distance of the location of the first computing device further comprises:
detecting, by the first computing device, a wireless communication signal associated with the second computing device;
determining, by the first computing device, based on the wireless communication signal, a maximum detectable range associated with the wireless communication signal; and
responsive to determining that the maximum detectable range does not exceed the threshold distance, determining, by the first computing device, that the second computing device is located within the threshold distance of the location of the first computing device.

### Claim 6 (depends on 1)

The method of claim 1, wherein identifying the at least one data file further comprises:
responsive to detecting a wireless communication signal associated with the second computing device, determining, by the first computing device, based on the wireless communication signal, a device identifier associated with the second computing device;
determining, by the first computing device, based on the device identifier associated with the second computing device, that an attribute of the at least one data file indicates that the second computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the second computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining, by the first computing device, that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 7 (depends on 1)

The method of claim 1, wherein identifying the at least one data file further comprises:
determining, by the first computing device, based on the contextual information associated with the user of the second computing device, a user identifier associated with at least one of the user of the second computing device or the user of the first computing device;
determining, by the first computing device, based on the user identifier associated with at least one of the user of the second computing device or the user of the first computing device, that an attribute of the at least one data file indicates that the user of the second computing device or the user of the first computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the user of the second computing device or the user of the first computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining, by the first computing device, that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 8 (depends on 1)

The method of claim 1, wherein the at least one data file is a first data file, the method further comprising:
determining, by the computing device, that a third computing device is located within the threshold distance of the location of the first computing device;
determining, by the computing device, a ranking associated with the second and third computing devices, wherein the ranking is based on distance from the location of the first computing device;
identifying, by the first computing device and based on contextual information associated with the user of the first computing device and contextual information associated with a user of the third computing device, a second data file that the user of the first computing device is likely to access at the particular time; and
outputting, by the first computing device, for display and based on the ranking, a graphical indication of the first data file and the second data file.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
outputting, by the first computing device, for display, a graphical user interface comprising a plurality of graphical indications of data files that are accessible to the user of the first computing device at the particular time, the plurality of graphical indications including the graphical indication of the at least one data file, wherein the graphical indication of the at least one data file is different from each, other graphical indication of the plurality of graphical indications.

### Claim 10 (depends on 1)

The method of claim 1, wherein the contextual information associated with the user of the first computing device and the contextual information associated with the user of the second computing device comprises ambient audio data detected by each of the first and second computing devices, the method further comprising:
responsive to identifying corresponding portions of the ambient audio data detected by each of the first and second computing devices, determining, by the first computing device, that the second computing device is located within the threshold distance of the location of the first computing device.

### Claim 11

A first computing device, comprising:
at least one processor; and
at least one module operable by the at least one processor to:
determine a location of the first computing device;
determine whether a second computing device is located within a threshold distance of the location of the first computing device;
responsive to determining that the second computing device is located within the threshold distance of the location of the first computing device, identify, based on contextual information associated with a user of the first computing device and contextual information associated with a user of the second computing device, at least one data file that the user of the first computing device is likely to access at a particular time, wherein:
the contextual information associated with the user of the first computing device includes a calendar event on a first calendar and the contextual information associated with the user of the second computing device includes a calendar event on a second calendar;
the calendar event on the first calendar corresponds to the calendar event on the second calendar and are each associated with the particular time; and
at least a portion of content of the at least one data file is related to at least one of the first calendar event or the second calendar event associated with the particular time; and
output, for display, a graphical indication of the at least one data file.

### Claim 12 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to identify the at least one data file by at least:
determining that an attribute of the at least one data file indicates that the user of the first computing device and the user of the second computing device each accessed the at least one data file at a time prior to the particular time; and
identifying, based on the attribute, the at least one data file.

### Claim 13 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to:
determine whether the portion of content of the at least one data file is related to the calendar event on the first calendar or the calendar event on the second calendar,
identify the at least one data file in response to determining that at least the portion of content of the at least one data file is related to at least one of the calendar event on the first calendar of the calendar event on the second calendar.

### Claim 14 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to identify the at least one data file in response to determining that at least the content of the at least one data file is related to the location of the first computing device.

### Claim 15 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to determine that the second computing device is located within a threshold distance of the location of the first computing device by at least:
detecting a wireless communication signal associated with the second computing device;
determining, based on the wireless communication signal, a maximum detectable range associated with the wireless communication signal; and
responsive to determining that the maximum detectable range does not exceed the threshold distance, determining that the second computing device is located within the threshold distance of the location of the first computing device.

### Claim 16 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to identify the at least one data file by at least:
responsive to detecting a wireless communication signal associated with the second computing device, determining, based on the wireless communication signal, a device identifier associated with the second computing device;
determining, based on the device identifier associated with the second computing device, that an attribute of the at least one data file indicates that the second computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the second computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 17 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to identify the at least one data file that the user of the first computing device is likely to access at the particular time by at least:
determining, based on the contextual information associated with the user of the second computing device, a user identifier associated with at least one of the user of the second computing device or the user of the first computing device;
determining, based on the user identifier associated with at least one of the user of the second computing device or the user of the first computing device, that an attribute of the at least one data file indicates that the user of the second computing device or the user of the first computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the user of the second computing device or the user of the first computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 18 (depends on 11)

The first computing device of claim 11, wherein the at least one data file is a first data file wherein the at least one module is further operable by the at least one processor to:
determine that a third computing device is located within the threshold distance of the location of the first computing device;
determine a ranking associated with the second and third computing devices, wherein the ranking is based on distance from the location of the first computing device;
predict, based on contextual information associated with the user of the first computing device and contextual information associated with a user of the third computing device, a second data file that the user of the first computing device is likely to access at the particular time; and
output, for display and based on the ranking, a graphical indication of the first data file predicted to be accessed by the user of the first computing device at the particular time and the second data file predicted to be accessed by the user of the first computing device at the particular time.

### Claim 19 (depends on 11)

The first computing device of claim 11, wherein the at least one module is further operable by the at least one processor to:
output, for display, a graphical user interface comprising a plurality of graphical indications of data files that are accessible to the user of the first computing device at the particular time, the plurality of graphical indications including the graphical indication of the at least one data file, wherein the graphical indication of the at least one data file is different from each, other graphical indication of the plurality of graphical indications.

### Claim 20 (depends on 11)

The first computing device of claim 11, wherein the contextual information associated with the user of the first computing device and the contextual information associated with the user of the second computing device comprises ambient audio data detected by each of the first and second computing devices, the at least one module being further operable by the at least one processor to:
responsive to identifying corresponding portions of the ambient audio data detected by each of the first and second computing devices, determine that the second computing device is located within the threshold distance of the location of the first computing device.

### Claim 21

A method, comprising:
determining, by a computing system, a location of a first computing device;
determining, by the computing system, whether a second computing device is located within a threshold distance of the location of the first computing device;
responsive to determining that the second computing device is located within the threshold distance of the location of the first computing device, identifying, by the computing system, based on contextual information associated with a user of the first computing device and contextual information associated with a user of the second computing device, at least one data file that the user of the first computing device is likely to access at a particular time, wherein:
the contextual information associated with the user of the first computing device includes a calendar event on a first calendar and the contextual information associated with the user of the second computing device includes a calendar event on a second calendar;
the calendar event on the first calendar corresponds to the calendar event on the second calendar and are each associated with the particular time; and
at least a portion of content of the at least one data file is related to at least one of the first calendar event or the second calendar event associated with the particular time; and
outputting, by the computing system, for transmission to the first computing device, an indication of the at least one data file.

### Claim 22 (depends on 21)

The method of claim 21, wherein identifying the at least one data file comprises:
determining, by the computing system, that an attribute of the at least one data file indicates that the user of the first computing device and the user of the second computing device each accessed the at least one data file at a time prior to the particular time; and
identifying, by the computing system, based on the attribute, the at least one data file.

### Claim 23 (depends on 21)

The method of claim 21, wherein identifying the at least one data file comprises:
determining, by the computing system, based on the contextual information associated with the user of the second computing device, a user identifier associated with the user of the second computing device;
determining, by the computing system, based on the user identifier associated with the user of the second computing device, that an attribute of the at least one data file indicates that the user of the second computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the user of the second computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining, by the computing system, that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 24 (depends on 21)

The method of claim 21, wherein identifying the at least one data file comprises:
determining, by the computing system, based on the contextual information associated with the user of the first computing device, a user identifier associated with the user of the first computing device;
determining, by the computing system, based on the user identifier associated with the user of the first computing device, that an attribute of the at least one data file indicates that the user of the first computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the user of the first computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining, by the computing system, that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 25 (depends on 21)

The method of claim 21, further comprising:
receiving, by the computing system, from each of the first computing device and the second computing device, ambient audio data detected by each of the first and second computing devices;
comparing, by the computing system, the ambient audio detected by the first computing device to the ambient audio detected by the second computing device; and
responsive to identifying corresponding portions of the ambient audio data detected by each of the first and second computing devices, determining, by the computing system, that the second computing device is located within the threshold distance of the location of the first computing device.

### Claim 26

A computing system comprising:
at least one processor; and
at least one module operable by the at least one processor to:
determine a location of a first computing device;
determine whether a second computing device is located within a threshold distance of the location of the first computing device;
responsive to determining that the second computing device is located within the threshold distance of the location of the first computing device time, identify, based on contextual information associated with a user of the first computing device and contextual information associated with a user of the second computing device, at least one data file that the user of the first computing device is likely to access at a particular time, wherein:
the contextual information associated with the user of the first computing device includes a calendar event on a first calendar and the contextual information associated with the user of the second computing device includes a calendar event on a second calendar;
the calendar event on the first calendar corresponds to the calendar event on the second calendar and each are associated with the particular time; and
at least a portion a portion of content of the at least one data file is related to at least one of the first calendar event or the second calendar event associated with the particular time; and
output, for transmission to the first computing device, an indication of the at least one data file.

### Claim 27 (depends on 26)

The computing system of claim 26, wherein the at least one module is further operable by the at least one processor to identify the at least one data file by at least:
determining that an attribute of the at least one data file indicates that the user of the first computing device and the user of the second computing device each accessed the at least one data file at a time prior to the particular time; and
identifying, based on the attribute, the at least one data file.

### Claim 28 (depends on 26)

The computing system of claim 26, wherein the at least one module is further operable by the at least one processor to identify the at least one data file by at least:
determining, based on the contextual information associated with the user of the second computing device, a user identifier associated with the user of the second computing device; and
determining, based on the user identifier associated with the user of the second computing device, that an attribute of the at least one data file indicates that the user of the second computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the user of the second computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 29 (depends on 26)

The computing system of claim 26, wherein the at least one module is further operable by the at least one processor to identify the at least one data file by at least:
determining, based on the contextual information associated with the user of the first computing device, a user identifier associated with the user of the first computing device; and
determining, based on the user identifier associated with the user of the first computing device, that an attribute of the at least one data file indicates that the user of the first computing device previously accessed the at least one data file at an earlier time prior to the particular time; and
responsive to determining that the attribute of the at least one data file indicates that the user of the first computing device previously accessed the at least one data file at the earlier time prior to the particular time, determining that the at least one data file is likely to be accessed by the user of the first computing device at the particular time.

### Claim 30 (depends on 26)

The computing system of claim 26, wherein the at least one module is further operable by the at least one processor to:
receive ambient audio data detected by each of the first and second computing devices;
compare the ambient audio detected by the first computing device to the ambient audio detected by the second computing device; and
responsive to identifying corresponding portions of the ambient audio data detected by each of the first and second computing devices, determine that the second computing device is located within the threshold distance of the location of the first computing device.
