IP Library › Granted Patent US 11,722,483
Granted Patent B2
US 11,722,483 · App. 17/962,769 · Granted Aug 8, 2023

Structure-based access control

Inventors: Mark Spates, IV (San Francisco, CA); Vincent Yanton Mo (Sunnyvale, CA); Zhenguo Guan (Cupertino, CA); David Roy Schairer (San Jose, CA)
Assignee: GOOGLE LLC
H04L63/0853G06F16/2379
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 11,722,483
App. No.
17/962,769
Granted
Aug 8, 2023
Kind
B2
Abstract

The present disclosure provides systems and methods that perform structure-based access control. In particular, rather than relying upon a user-specific credential scheme, which can require manual sharing of user-specific credentials and/or switching between the multiple accounts to access the particular devices, applications, or services associated with such accounts, the systems and methods of the present disclosure facilitate user credentials to be inherited by or otherwise assigned to a structure identifier associated with a structure (e.g., a home in which the user resides), thereby generating a set of structure credentials. This enables other users in the structure, who may be part of a collaborative user group, to access devices, applications, and/or services using the structure credentials.

Claims (77)

1. A computer system, comprising:

a control computing device physically located within a physical structure, and wherein the control computing device comprises one or more processors and one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the control computing device to perform operations, the operations comprising:

receiving, from a first user, a first set of user credentials for one or more of: a first computing device physically located within the physical structure, a first application, or a first web service;

receiving a structure identifier assigned to the physical structure;

assigning the first set of user credentials to the structure identifier to generate a first set of structure credentials that are distinct from the first set of user credentials, wherein the first set of structure credentials enables one or more authorized users, distinct from the first user, to access the one or more of the first computing device, the first application, or the first web service;

receiving, from a second user, a request to control the one or more of the first computing device, the first application, or the first web service;

in response to receiving the request from the second user, determining whether the second user is one of the one or more authorized users; and

in response to determining that the second user is one of the one or more authorized users, using the first set of structure credentials to enable the second user to access the one or more of the first computing device, the first application, or the first web service.

2. The computer system of claim 1 , wherein determining whether the second user is one of the one or more authorized users comprises:

determining whether the second user is within the physical structure,

in response to determining that the second user is within the physical structure, determining that the second user is an authorized user, of the one or more authorized users, and

in response to determining that the second user is not within the physical structure, determining that the second user is not one of the one or more authorized users.

3. The computer system of claim 1 , wherein the request from the second user is a voice command, and determining whether the second user is one of the one or more authorized users comprises:

processing the voice command using voice recognition; and

determining whether the second user is one of the one or more authorized users based on the processed voice command.

4. The computer system of claim 1 , wherein the control computing device is a smart speaker located within the physical structure, and wherein the physical structure is a dwelling for the first user and/or the second user.

5. The computer system of claim 1 , wherein the structure identifier is programmed into the control computing device by a manufacturer of the physical structure, or is generated based on input from the first user.

6. The computer system of claim 1 , wherein assigning the first set of user credentials to the structure identifier comprises:

using the first set of user credentials to obtain an authentication token from a web server; and

storing the authentication token locally at the control computing device.

7. The computer system of claim 1 , wherein receiving, from the second user located within the structure, the request to control comprises:

receiving, from a second computing device associated with the second user, the request to control the first application, wherein the first application is not installed on the second computing device.

8. The computer system of claim 1 , wherein the operations further comprise:

receiving, from the second user, a second set of user credentials associated with the one or more of the first computing device, the first application, or the first web service; and

assigning the second set of user credentials to the structure identifier to generate a second set of structure credentials that are distinct from the first set of user credentials and that are distinct from the second set of user credentials.

9. The computer system of claim 8 , wherein the operations further comprise:

receiving, from the second user, a second request to control the one or more of the first computing device, the first application, or the first web service, wherein the second request comprises a verbal request;

performing voice recognition on the second request to recognize the second user; and

in response to the second request and recognition of the second user, automatically using the second set of structure credentials to control the one or more of the first computing device, the first application, or the first web service.

10. The computer system of claim 8 , wherein the operations further comprise:

receiving, from the second user, a second request to control the one or more of the first computing device, the first application, or the first web service;

in response to the second request, iteratively and individually analyzing each set of structure credentials assigned to the structure identifier to identify a first available set of structure credentials that enable satisfaction of the second request; and

using the first available set of structure credentials to control the one or more of the first computing device, the first application, or the first web service.

11. The computer system of claim 8 , wherein the operations further comprise:

receiving, from the second user, a second request to control the one or more of the first computing device, the first application, or the first web service;

in response to the second request, analyzing each set of structure credentials assigned to the structure identifier to identify a premier set of structure credentials that have, relative to other sets of structure credentials, a premier group of permissions; and

using the premier set of structure credentials to control the one or more of the first computing device, the first application, or the first web service.

12. The computer system of claim 8 , wherein the operations further comprise:

receiving, from the second user, a second request to control the one or more of the first computing device, the first application, or the first web service;

in response to the second request, determining that a plurality of sets of structure credentials are available to enable satisfaction of the second request; and

in response to determining that the plurality of sets of structure credentials are available, engaging in a question and answer routine with the second user to disambiguate between the plurality of sets of structure credentials.

13. A computer-implemented method, comprising:

receiving, from a first user, a first set of user credentials for accessing one or more of: a first computing device physically located within a physical structure, a first application, or a first web service;

receiving a structure identifier for the physical structure;

assigning the first set of user credentials to the structure identifier to generate a first set of structure credentials, wherein the first set of structure credentials are distinct from the first set of user credentials, and wherein the first set of structure credentials enables one or more authorized users, distinct from the first user, to access the one or more of the first computing device, the first application, or the first web service;

receiving, from a second user, a request to control the one or more of the first computing device, the first application, or the first web service; and

in response to receiving the request from the second user, determining whether the second user is one of the one or more authorized users; and

in response to determining that the second user is one of the one or more authorized users, using the first set of structure credentials to enable the second user to access the one or more of the first computing device, the first application, or the first web service, without the second user knowing the first set of user credentials.

14. The method of claim 13 , wherein determining whether the second user is one of the one or more authorized users comprises:

determining whether the second user is within the physical structure,

in response to determining that the second user is within the physical structure, determining that the second user is an authorized user, of the one or more authorized users, and

in response to determining that the second user is not within the physical structure, determining that the second user is not an authorized user, of the one or more authorized users.

15. The method of claim 13 , wherein assigning the first set of user credentials to the structure identifier comprises:

using the first set of user credentials to obtain an authentication token from a web server; and

mapping the authentication token to the structure identifier.

16. The method of claim 13 , wherein receiving, from the second user located within the structure, the request to control comprises:

receiving, from a second computing device associated with the second user, the request to control the first application,

wherein the first application is not installed on the second computing device.

17. The method of claim 13 , further comprising

receiving, from the second user, a second set of user credentials associated with the one or more of the first computing device, the first application, or the first web service; and

assigning the second set of user credentials to the structure identifier to generate a second set of structure credentials that are distinct from the first set of user credentials and that are distinct from the second set of user credentials.

18. The method of claim 17 , further comprising:

receiving, from the second user, a second request to control the one or more of the first computing device, the first application, or the first web service, wherein the second request comprises a verbal request;

performing voice recognition on the second request to recognize the second user; and

in response to the second request and recognition of the second user, automatically using the second set of structure credentials to control the one or more of the first computing device, the first application, or the first web service.

19. The method of claim 17 , further comprising:

receiving, from the second user, a second request to control the one or more of the first computing device, the first application, or the first web service;

in response to the second request, analyzing each set of structure credentials assigned to the structure identifier to identify a premier set of structure credentials that have, relative to other sets of structure credentials, a premier group of permissions; and

using the premier set of structure credentials to control the one or more of the first computing device, the first application, or the first web service.

20. A computer-implemented method, comprising:

receiving, from a first user, a first set of user credentials for accessing one or more of: a first computing device physically located within a physical structure, a first application, or a first web service;

receiving a structure identifier for the physical structure;

using the first set of user credentials to obtain an authentication token from a web server;

storing the authentication token at the first computing device or another computing device physically located within the physical structure;

receiving, from a second user, a request to control the one or more of the first computing device, the first application, or the first web service;

in response to receiving the request from the second user, determining whether the second user is one of the one or more authorized users; and

in response to determining that the second user is one of the one or more authorized users, retrieving the authentication token to enable the second user to access the one or more of the first computing device, the first application, or the first web service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2022
From: SPATES, MARK, IV; MO, VINCENT YANTON; GUAN, ZHENGUO; SCHAIRER, DAVID ROY
To: GOOGLE LLC
Reel/Frame 061372/0762 →
Continuity (3)
Continuation 16609569
Provisional Application 62591934 · Nov 29, 2017
Related Publication 20230030076A1 · Feb 2, 2023
Cited By (1)
US 12,470,551