IP Library › Granted Patent US 10,725,542
Granted Patent B1
US 10,725,542 · App. 16/274,891 · Granted Jul 28, 2020

Sleep detection in a location sharing system

Inventors: Xabier Jaureguiberry (Vincennes, FR); Alexy Lean (Grigny, FR); Antoine Martin (Paris, FR); Antoine Sinton (Courteuil, FR)
Assignee: Snap Inc.
G06F3/015G06F3/017G06F16/904G06F16/906G06F2203/011
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,725,542
App. No.
16/274,891
Filed
Feb 13, 2019
Granted
Jul 28, 2020
Kind
B1
Examiner
VU, TOAN H
Art Unit
2177
USPC
715/863
Abstract

Methods, systems, and devices for predicting a state of a user (e.g., asleep or awake). In some embodiments, the location sharing system accesses historical activity data of the user and extracts historical sleep records from the historical activity data. The system clusters the historical sleep records into a plurality of clusters and extracts a sleep pattern from each one of the plurality of clusters. Then, when the location sharing system receives current activity data of the user, the system can predict whether the user is currently asleep based on the current activity of the user and at least one of the sleep patterns. Some embodiments additionally compute an estimated wake up time of the user. Some embodiments share the predicted physiological state of the user with the user's friends via the map GUI. Some embodiments additionally share the estimated wake up time of the user.

Claims (68)

1. A method comprising:

accessing, from a database coupled to a server computer, historical activity data of a user;

extracting, using one or more processors of the server computer, historical sleep records from the historical activity data;

clustering, by the one or more processors, the historical sleep records into a plurality of clusters;

extracting, by the one or more processors, a sleep pattern from each one of the plurality of clusters;

receiving, at the server computer from a client device of the user via a wireless communication over a network, an electronic communication containing current activity data of the user; and

determining, using the one or more processors, that the user is currently asleep based on the current activity of the user and at least one of the sleep patterns.

2. The method of claim 1 , wherein determining, using the one or more processors, that the user is currently asleep comprises:

determining that the current activity data of the user verifies a set of criteria;

selecting one of the plurality of sleep patterns based on the current activity of the user;

computing a probability of the user being currently asleep based on the selected sleep pattern; and

wherein the user is determined to be currently asleep based on the computed probability exceeding a threshold.

3. The method of claim 2 , further comprising computing a predicted wake up time based on the selected sleep pattern.

4. The method of claim 2 , wherein each historical sleep record comprises an historical timetable comprising a plurality of historical time slots, each historical time slot being associated with a probability of the user being asleep during said historical time slot, the probability of the user being asleep during said historical time slot being computed based on the historical activity data verifying the set of criteria for said historical time slot.

5. The method of claim 4 , wherein each one of the sleep patterns comprises a generic timetable comprising a plurality of generic time slots, each generic time slot being associated with a probability of the user being asleep during said generic time slot; and

wherein extracting a sleep pattern from one of the plurality of clusters comprises:

for each generic time slot:

retrieving, from the historical sleep records included in the cluster, one or more probabilities of the user being asleep during one or more historical time slots matching said generic time slot; and

computing a probability of the user being asleep during said generic time slot, the probability of the user being asleep during said generic time slot being computed based on the one or more probabilities of the user being asleep during the one or more historical time slots matching said generic time slot.

6. The method of claim 2 , wherein the set of criteria includes that the client device is static.

7. The method of claim 2 , wherein the set of criteria includes that no user input has been detected at the client device for a preset period of time.

8. The method of claim 2 , wherein the set of criteria includes that a location of the user is not within a preset distance of the location of a second user.

9. The method of claim 2 , wherein the set of criteria includes that a location of the user is within a preset distance of the location of a domicile of the user.

10. The method of claim 1 , wherein each historical sleep record is associated with one of a plurality of categories; and

wherein clustering the historical sleep records into a plurality of clusters comprises grouping together the historical sleep records associated with one of the categories.

11. The method of claim 10 , wherein the categories are days of a week.

12. The method of claim 1 , further comprising:

based on determining that the user is currently asleep, initiating transmission of physiological data to a second client device of a second user, the physiological data comprising the information that the first user is sleeping for display on a display screen of the second client device.

13. The method of claim 12 , wherein initiating transmission of physiological data to a second client device of a second user includes attaching the physiological data to an ephemeral message accessible for a predetermined duration of time; and

wherein display on a display screen of the second client device includes:

receiving a request from the second client device to access the ephemeral message;

in response to the request, causing the ephemeral message to be displayed on the second client device; and

ceasing display of, and access to, the ephemeral message in response to expiration of the predetermined duration of time.

14. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, configure the system to perform operations comprising:

accessing, from a database coupled to the processor, historical activity data of a user;

extracting, using the one or more processors, historical sleep records from the historical activity data;

clustering the historical sleep records into a plurality of clusters;

extracting a sleep pattern from each one of the plurality of clusters;

receiving, from a client device of the user, via a wireless communication over a network, an electronic communication containing current activity data of the user; and

determining, using the one or more processors, that the user is currently asleep based on the current activity of the user and at least one of the sleep patterns.

15. The system of claim 14 , wherein determining that the user is currently asleep comprises:

determining that the current activity data of the user verifies a set of criteria;

selecting one of the plurality of sleep patterns based on the current activity of the user;

computing a probability of the user being currently asleep based on the selected sleep pattern; and

wherein the user is determined to be currently asleep based on the computed probability exceeding a threshold.

16. The system of claim 15 , wherein the operations further comprise:

computing a predicted wake up time based on the selected sleep pattern.

17. The system of claim 15 , wherein the set of criteria includes one or more of the following criteria:

the client device is static;

no user input has been detected at the client device for a preset period of time;

a location of the user is not within a preset distance of the location of a second user; and

the location of the user is within a preset distance of the location of a domicile of the user.

18. The system of claim 14 , wherein the operations further comprise:

based on determining that the user is currently asleep, initiating transmission of physiological data to a second client device, the physiological data comprising the information that the first user is sleeping for display on a display screen of the second client device of a second user.

19. The system of claim 18 , wherein initiating transmission of physiological data to a second client device of a second user includes attaching the physiological data to an ephemeral message accessible for a predetermined duration of time; and

wherein display on a display screen of the second client device includes:

receiving a request from the second client device to access the ephemeral message;

in response to the request, causing the ephemeral message to be displayed on the second client device; and

ceasing display of, and access to, the ephemeral message in response to expiration of the predetermined duration of time.

20. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that, when executed by a computer, cause the computer to perform operations comprising:

accessing, from a database coupled to a server computer, historical activity data of the user;

extracting, using one or more processors of the server computer, historical sleep records from the historical activity data;

clustering the historical sleep records into a plurality of clusters;

extracting a sleep pattern from each one of the plurality of clusters;

receiving, at the server computer, from a client device of the user, via a wireless communication over a network, an electronic communication containing current activity data of the user; and

determining, using the one or more processors, that the user is currently asleep based on the current activity of the user and at least one of the sleep patterns.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2020
From: JAUREGUIBERRY, XABIER; LEAN, ALEXY; MARTIN, ANTOINE; SINTON, ANTOINE
To: SNAP INC.
Reel/Frame 053011/0906 →