IP Library Granted Patent US 10,412,160
Granted Patent B2
US 10,412,160 · App. 15/227,996 · Granted Sep 10, 2019

Controlling a device cloud

Inventors: Eran Tal (San Jose, CA); Martin Rehwald (Mountain View, CA); Francislav Penov (Kirkland, WA); Siyin Yang (Mercer Island, WA); Damian Kowalewski (Sunnyvale, CA); Georgiy Yakovlev (Pacifica, CA); Anupma Chhabra (Fremont, CA); Zachary Chee-Ping Lawrence (College Park, MD); Rizwan Ahmad (Menlo Park, CA); Dung Nguyen Tien (Newport News, VA); Angelica Estefania Escareno (San Francisco, CA); Aidymar Bigio (Hillsborough, CA)
Assignee: Facebook, Inc.
H04L67/1042G06F17/2705G06F17/2765G06Q10/10G06Q50/01H04L43/16H04W12/08H04W68/005
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,412,160
App. No.
15/227,996
Granted
Sep 10, 2019
Kind
B2
Abstract

In one embodiment, a method includes receiving a natural-language message including an authorization request to authorize a first user access to one or more of a number of connected devices associated with a second user; parsing the natural-language message; identifying, based on the parsed natural-language message, the first user and one or more of a number of connected devices; implicitly determining that the first user is authorized to access the identified one or more of the number of connected devices based on a calculated strength of a relationship between a node representing the first user in a social graph and a node representing the second user in the social graph satisfying a pre-determined threshold; and providing, based on the implicit authorization, access to the identified one or more of the number of connected devices.

Claims (48)

1. A method comprising:

by one or more computer server machines, receiving, from a messaging application running on a first client system associated with a first user, a natural-language message comprising an authorization request to authorize a second client system associated with a second user access to one or more of a plurality of connected devices associated with the first user;

by the server machines, parsing the natural-language message;

by the server machines, identifying, based on the parsed natural-language message, the second user and at least one connected device of the plurality of connected devices associated with the first user;

by the server machines, implicitly determining that the second user is authorized to access the identified connected device of the first user based on a device coefficient satisfying a pre-determined threshold, the device coefficient indicating a frequency of interaction of the identified connected device of the first user by the second user; and

by the server machines, in response to the device coefficient satisfying the pre-determined threshold, sending, via the messaging application running on the second client system associated with the second user, a temporary access token authorizing access to the identified connected device of the first user to the second user, wherein the temporary access token to access the identified connected device of the first user is enabled when the second client system of the second user is in close proximity to the identified connected device.

2. The method of claim 1 , further comprising identifying a plurality of n-grams of the parsed natural-language message.

3. The method of claim 2 , further comprising identifying the authorization request, the at least one connected device associated with the first user, or the second user based on the identified n-grams.

4. The method of claim 3 , wherein identifying the at least one connected device comprises identifying an identifier of the connected device based on the plurality of n-grams.

5. The method of claim 1 , wherein:

the command message comprises an instruction for the identified connected device of the plurality of connected devices; and

the instruction is sent to the identified connected device based on the implicit authorization.

6. The method of claim 1 , wherein the first and second users are connected through the messaging application executed on their respective client systems.

7. The method of claim 1 , wherein determining that the second user is authorized to access the identified connected device of the first user is further based on the first user adding the second user to a chat on the messaging application.

8. The method of claim 1 , wherein the second user access is authorized for a pre-determined amount of time.

9. The method of claim 8 , wherein the pre-determined amount of time is based at least in part on a calculated strength of a relationship between a node representing the first user in a social graph and a node representing the second user in the social graph.

10. The method of claim 1 , wherein determining that the second user is authorized to access the identified connected device of the first user is further based on a social coefficient satisfying a pre-determined threshold, the social coefficient indicating a strength of a relationship between a first node representing the first user in a social graph and a second node representing the second user in the social graph.

11. The method of claim 1 , wherein:

the identified connected device comprises a router of a communication network; and

access to the router provides access to the communication network.

12. The method of claim 1 , further comprising:

receiving a device message from the identified connected device;

generating a natural-language message based on the device message; and

sending the natural-language message to the first client system of the first user.

13. The method of claim 12 , wherein the natural-language message comprises:

a status message relating to the identified connected device;

a message acknowledging the command message or confirming completion of the instructions;

a message stating that one or more instructions regarding the identified connected device cannot be executed; or

an alert regarding the identified connected device.

14. One or more computer-readable non-transitory storage media embodying software configured when executed to:

receive, from a messaging application running on a first client system associated with a first user, a natural-language message comprising an authorization request to authorize a second client system associated with a second user access to one or more of a plurality of connected devices associated with the first user;

parse the natural-language message;

identify, based on the parsed natural-language message, the second user and at least one connected device of the plurality of connected devices associated with the first user;

implicitly determine that the second user is authorized to access the identified connected device of the first user based on a device coefficient satisfying a pre-determined threshold, the device coefficient indicating a frequency of interaction of the identified connected device of the first user by the second user; and

in response to the device coefficient satisfying the pre-determined threshold, send, via the messaging application running on the second client system associated with the second user, a temporary access token authorizing access to the identified connected device of the first user to the second user, wherein the temporary access token to access the identified connected device of the first user is enabled when the second client system of the second user is in close proximity to the identified connected device.

15. The media of claim 14 , wherein the software is further configured to identify a plurality of n-grams of the parsed natural-language message.

16. The media of claim 15 , wherein the software is further configured to identify the authorization request, the at least one connected device associated with the first user, or the second user based on the identified n-grams.

17. The media of claim 15 , wherein the software is further configured to identify an identifier of the connected device based on the plurality of n-grams.

18. A device comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to the processors and embodying software configured when executed to:

receive, from a messaging application running on a first client system associated with a first user, a natural-language message comprising an authorization request to authorize a second client system associated with a second user access to one or more of a plurality of connected devices associated with the first user;

parse the natural-language message;

identify, based on the parsed natural-language message, the second user and at least one connected device of the plurality of connected devices associated with the first user;

implicitly determine that the second user is authorized to access the identified connected device of the first user based on a device coefficient satisfying a pre-determined threshold, the device coefficient indicating a frequency of interaction of the identified connected device of the first user by the second user; and

in response to the device coefficient satisfying the pre-determined threshold, send, via the messaging application running on the second client system associated with the second user, a temporary access token authorizing access to the identified connected device of the first user to the second user, wherein the temporary access token to access the identified connected device of the first user is enabled when the second client system of the second user is in close proximity to the identified connected device.

19. The device of claim 18 , wherein the software is further configured to identify a plurality of n-grams of the parsed natural-language message.

20. The device of claim 19 , wherein the software is further configured to identify the authorization request, the at least one connected device associated with the first, or the second user based on the identified n-grams.

Assignments (4)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2017
From: TIEN, DUNG NGUYEN
To: FACEBOOK, INC.
Reel/Frame 043719/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2017
From: LAWRENCE, ZACHARY CHEE-PING
To: FACEBOOK, INC.
Reel/Frame 043632/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: TAL, ERAN; REHWALD, MARTIN; PENOV, FRANCISLAV; YANG, SIYIN; KOWALEWSKI, DAMIAN; YAKOVLEV, GEORGIY; CHHABRA, ANUPMA; AHMAD, RIZWAN; ESCARENO, ANGELICA ESTEFANIA; BIGIO, AIDYMAR
To: FACEBOOK, INC.
Reel/Frame 040154/0015 →
Continuity (2)
Provisional Application 62201496 · Aug 5, 2015
Related Publication 20170041388A1 · Feb 9, 2017