IP Library Granted Patent US 10,476,972
Granted Patent B2
US 10,476,972 · App. 15/136,672 · Granted Nov 12, 2019

User presence determination

Inventors: Taylor Keith Umphreys (Menlo Park, CA); Siddhant Bhargava (Redwood City, CA); Benjamin Jerming Chang (San Jose, CA); Brian Keith Hales (Sandy, UT); Steven Alexander Hales (Palo Alto, CA); Craig Thomas Rohe (San Francisco, CA); Thomas Joseph Gurka (San Francisco, CA)
Assignee: Google LLC
H04L67/18G06Q10/04H04L67/22
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 10,476,972
App. No.
15/136,672
Granted
Nov 12, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for presence determination. One of the methods includes for one or more user devices having one or more associated users, determining a current location of a user, wherein the current location is associated with a particular space of a plurality of different spaces, wherein the determining includes: computing a plurality of location results, wherein each location result is computed using a distinct process of a plurality of processes; and evaluating the plurality of location results to determine a current space of the user; wherein the determining is performed by one or more of, a particular user device, a terminal device, or a server system.

Claims (27)

1. A method comprising:

for one or more user devices having one or more associated users, determining a current location of a user, wherein the current location is associated with a particular space of a plurality of different spaces, wherein the determining includes:

computing a plurality of location results, wherein each location result is computed using a distinct process of a plurality of processes, and wherein a first process of the plurality of processes produces a lag result that represents location results for a past time, and wherein at least a second process of the plurality of processes produces a real-time result that represents location results for a current time, wherein the real-time result is characterized as having less confidence than the lag result; and

evaluating the plurality of location results, including the lag result and real-time results, to determine a current space of the user,

wherein the determining is performed by one or more of, a particular user device, a terminal device, or a server system.

2. The method of claim 1 , wherein determining the current location of the user includes obtaining a plurality of data points.

3. The method of claim 2 , further comprising performing calibration for the plurality of different spaces prior to obtaining the plurality of data points.

4. The method of claim 1 , wherein the determining is based on votes generated for the location result computed for each of the plurality of processes.

5. The method of claim 1 , wherein in response to determining the current location is a space of the plurality of different spaces that has not been calibrated, mapping the space.

6. The method of claim 1 , wherein each process of the plurality of processes is trained, and wherein the training includes comparing a location of a user computed using a particular process with a location of the user computed using a baseline process.

7. The method of claim 6 , wherein each process of the plurality of processes is associated with a particular weight, wherein the particular weight is determined based on a confidence of the computed location of the process determining during the training.

8. The method of claim 6 , wherein the training includes monitoring one or more of RSSI data and accelerometer data for a user device.

9. The method of claim 1 , wherein a process of the plurality of processes comprises generating scan tables of RSSI values between terminal devices over time.

10. The method of claim 9 , wherein changes in the scan tables provide an indication that the calibration is incorrect due to movement of one or more terminal devices.

11. The method of claim 1 , wherein a process of the plurality of processes comprises tracking user device movement in a space to predict whether the user device is going to leave the space.

12. The method of claim 11 , wherein in response to a determination that the user device in a space is not moving includes initiating one or more low power modes for the process.

13. The method of claim 1 , wherein a process of the plurality of processes comprises detecting signal dampening that exceeds a threshold value and using the detected signal dampening to provide an offset to a baseline process for determining user device location.

14. The method of claim 13 , wherein user device orientation is used to interpret signal dampening.

15. The method of claim 14 , wherein training the process includes performing machine learning to understand a relationship between user device orientation and how it effects incoming RSSI data.

16. The method of claim 1 , wherein a process of the plurality of processes comprises using proximity and motion detectors to provide a vote on the location of a user when the user device is not present.

17. The method of claim 1 , wherein one or more of the processes include a reactive specification that determines which user device of a plurality of user devices to provide a vote for as the location of a user.

18. The method of claim 1 , wherein the determination of the current user location is performed on one or more of the user device, a remote server in communication with the user device, or one or more terminal devices located in respective spaces of the plurality of different spaces.

19. The method of claim 1 , comprising adjusting one or more settings of one or more terminal devices based on the determination of the current location of the user.

20. The method of claim 1 , further comprising:

in response to determining the space corresponding to the current user location, establishing a connection with one or more terminal devices in the space; and

presenting information on the user device indicating equipment coupled to respective terminal devices that are closest to the location of the user.

21. The method of claim 1 , wherein the determined current location is used to determine a predicted change from one space to another space.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2018
From: ZULI, INC.
To: GOOGLE INC.
Reel/Frame 044847/0972 →
CHANGE OF NAME Recorded Feb 6, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 045270/0262 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SIXTH INVENTOR NAME AND INCORRECT APPL. NO. 61/151,830 PREVIOUSLY RECORDED AT REEL: 043660 FRAME: 0379. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 26, 2017
From: UMPHREYS, TAYLOR KEITH; BHARGAVA, SIDDHANT; CHANG, BENJAMIN JERMING; HALES, BRIAN KEITH; HALES, STEVEN ALEXANDER; ROHE, CRAIG THOMAS; GURKA, THOMAS JOSEPH
To: ZULI, INC.
Reel/Frame 044012/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: UMPHREYS, TAYLOR KEITH; BHARGAVA, SIDDHANT; CHANG, BENJAMIN JERMING; HALES, BRIAN KEITH; HALES, STEVEN ALEXANDER; ROTH, CRAIG THOMAS; GURKA, THOMAS JOSEPH
To: ZULI, INC.
Reel/Frame 043660/0379 →
Continuity (2)
Provisional Application 62151830 · Apr 23, 2015
Related Publication 20160323393A1 · Nov 3, 2016
Cited By (1)
US 12,316,501