IP Library Granted Patent US 11,914,687
Granted Patent B2
US 11,914,687 · App. 17/092,699 · Granted Feb 27, 2024

Controlling access to computer resources

Inventors: Babak Siavoshy (Irvine, CA); Kyle Owens (San Francisco, CA); Nathaniel Edwards (Arlington, VA)
Assignee: Palantir Technologies Inc.
G06F21/31G06F21/45G06F21/62G06F21/6209H04L63/102H04L63/104
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,914,687
App. No.
17/092,699
Granted
Feb 27, 2024
Kind
B2
Abstract

A system is described for controlling access to resources using an object model. Users can specify use cases for accessing resources. The user may be granted access if the user satisfies qualifications required for accessing the resource, selected a use case permissible for accessing the resource, and satisfies qualifications required for the use case. Use cases, qualifications, resources, and/or links between them can be implemented using an object model. The system can be used in addition to authentication and authorization.

Claims (100)

1. A computer-implemented method of managing access to computer resources, the method comprising:

by one or more processors configured to execute computer instructions:

authenticating a first entity based on authentication credentials provided by the first entity;

after authenticating the first entity, receiving, from the first entity, a selection of a first purpose, wherein the first purpose is indicated by a first use case object;

in response to receiving the selection of the first purpose from the first entity:

determining a first qualification object that is linked to the first use case object;

determining that qualifications of the first entity satisfy a first qualification of the first qualification object; and

determining a plurality of computer resources associated with the first use case object; and

in response to receiving the selection of the first purpose and determining that the qualifications of the first entity satisfy the first qualification, providing the first entity with access to the first plurality of computer resources associated with the first use case object,

wherein access to the first plurality of computer resources is granted to the first entity only after receiving the selection of the first purpose and determining that the qualifications of the first entity satisfy the first qualification of the first qualification object that is linked to the first use case object.

2. The computer-implemented method of claim 1 , wherein the first qualification is one of a plurality of qualifications of a plurality of qualification objects linked to the first use case object, any one of which may be satisfied by the qualifications of the first entity to provide the first entity with access to the first plurality of computer resources.

3. The computer-implemented method of claim 1 further comprising:

by the one or more processors configured to execute the computer instructions:

receiving, from a second entity, a selection of the first purpose;

determining a second qualification object that is linked to the first use case object, wherein the second qualification object is different from the first qualification object;

determining that qualifications of the second entity satisfy a second qualification of the second qualification object; and

in response to receiving the selection of the first purpose and determining that the qualifications of the second entity satisfy the second qualification, providing the second entity with access to the first plurality of computer resources associated with the first use case object.

4. The computer-implemented method of claim 1 further comprising:

by the one or more processors configured to execute the computer instructions:

receiving, from a second entity, a selection of the first purpose;

determining that qualifications of the second entity do not satisfy the first qualification; and

in response to determining that the qualifications of the second entity do not satisfy the first qualification, linking the second entity to an option for obtaining a qualification that will satisfy the first qualification.

5. The computer-implemented method of claim 4 further comprising:

by the one or more processors configured to execute the computer instructions:

receiving an indication that the second entity obtained the first qualification; and

in response to determining that the qualifications of the second entity do satisfy the first qualification, providing the second entity with access to the first plurality of computer resources associated with the first use case object.

6. The computer-implemented method of claim 1 further comprising:

by the one or more processors configured to execute the computer instructions:

receiving, from a second entity, a selection of a second purpose, wherein the second purpose is indicated by a second use case object;

determining a second qualification object that is linked to the second use case object, wherein the second qualification object is different from the first qualification object;

determining a third qualification object that is linked to the second use case object, wherein the third qualification object is different from the first qualification object;

determining that qualifications of the second entity satisfy at least one of: (i) a second qualification of the second qualification object, or (ii) a third qualification of the third qualification object; and

in response to receiving the selection of the second purpose and determining that the qualifications of the second entity satisfy at least one of the second qualification or the third qualification, providing the second entity with access to a second plurality of computer resources associated with the second use case object.

7. The computer-implemented method of claim 1 further comprising:

by the one or more processors configured to execute the computer instructions:

receiving, from a second entity, a selection of a second purpose, wherein the second purpose is indicated by a second use case object;

determining a second qualification object that is linked to the second use case object, wherein the second qualification object is different from the first qualification object;

determining a third qualification object that is linked to the second use case object, wherein the third qualification object is different from the first qualification object;

determining that qualifications of the second entity satisfy both of: (i) a second qualification of the second qualification object, and (ii) a third qualification of the third qualification object; and

in response to receiving the selection of the second purpose and determining that the qualifications of the second entity satisfy both of the second qualification and the third qualification, providing the second entity with access to a second plurality of computer resources associated with the second use case object.

8. The computer-implemented method of claim 1 further comprising:

by the one or more processors configured to execute the computer instructions:

updating the first qualification of the first qualification object, wherein for subsequent access attempts involving the first qualification object, entities' qualifications must satisfy the updated first qualification.

9. The computer-implemented method of claim 1 , wherein the first plurality of computer resources include at least one of: a file, a folder, a database, a memory, a processor, a drive, a storage device, a computer, a laptop, or a phone.

10. The computer-implemented method of claim 1 further comprising:

by the one or more processors configured to execute the computer instructions:

logging, in an audit log on one or more computer readable storage devices, an entry for an access to a first computer resource, of the first plurality of computer resources, by the first entity, wherein the entry includes at least two of:

a time stamp for the access,

an identity of the first entity,

an identity of the first computer resource,

the first purpose indicated by first use case object,

the qualifications of the first entity, or

qualifications required for accessing the first computer resource, the qualifications including the first qualification.

11. A computer system for managing access to computer resources, the computer system comprising:

one or more computer readable storage devices storing a plurality of computer readable instructions; and

one or more processors configured to execute the plurality of computer readable instructions to cause the computer system to perform operations comprising:

authenticating a first entity based on authentication credentials provided by the first entity;

after authenticating the first entity, receiving, from the first entity, a selection of a first purpose, wherein the first purpose is indicated by a first use case object;

in response to receiving the selection of the first purpose from the first entity:

determining a first qualification object that is linked to the first use case object;

determining that qualifications of the first entity satisfy a first qualification of the first qualification object; and

determining a plurality of computer resources associated with the first use case object; and

in response to receiving the selection of the first purpose and determining that the qualifications of the first entity satisfy the first qualification, providing the first entity with access to a first plurality of computer resources associated with the first use case object,

wherein access to the first plurality of computer resources is granted to the first entity only after receiving the selection of the first purpose and determining that the qualifications of the first entity satisfy the first qualification of the first qualification object that is linked to the first use case object.

12. The computer system of claim 11 , wherein the first qualification is one of a plurality of qualifications of a plurality of qualification objects linked to the first use case object, any one of which may be satisfied by the qualifications of the first entity to provide the first entity with access to the first plurality of computer resources.

13. The computer system of claim 11 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

receiving, from a second entity, a selection of the first purpose;

determining a second qualification object that is linked to the first use case object, wherein the second qualification object is different from the first qualification object;

determining that qualifications of the second entity satisfy a second qualification of the second qualification object; and

in response to receiving the selection of the first purpose and determining that the qualifications of the second entity satisfy the second qualification, providing the second entity with access to the first plurality of computer resources associated with the first use case object.

14. The computer system of claim 11 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

receiving, from a second entity, a selection of the first purpose;

determining that qualifications of the second entity do not satisfy the first qualification; and

in response to determining that the qualifications of the second entity do not satisfy the first qualification, linking the second entity to an option for obtaining a qualification that will satisfy the first qualification.

15. The computer system of claim 14 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

receiving an indication that the second entity obtained the first qualification; and

in response to determining that the qualifications of the second entity do satisfy the first qualification, providing the second entity with access to the first plurality of computer resources associated with the first use case object.

16. The computer system of claim 11 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

receiving, from a second entity, a selection of a second purpose, wherein the second purpose is indicated by a second use case object;

determining a second qualification object that is linked to the second use case object, wherein the second qualification object is different from the first qualification object;

determining a third qualification object that is linked to the second use case object, wherein the third qualification object is different from the first qualification object;

determining that qualifications of the second [[user ]]entity satisfy at least one of: (i) a second qualification of the second qualification object, or (ii) a third qualification of the third qualification object; and

in response to receiving the selection of the second purpose and determining that the qualifications of the second entity satisfy at least one of the second qualification or the third qualification, providing the second entity with access to a second plurality of computer resources associated with the second use case object.

17. The computer system of claim 11 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

receiving, from a second entity, a selection of a second purpose, wherein the second purpose is indicated by a second use case object;

determining a second qualification object that is linked to the second use case object, wherein the second qualification object is different from the first qualification object;

determining a third qualification object that is linked to the second use case object, wherein the third qualification object is different from the first qualification object;

determining that qualifications of the second entity satisfy both of: (i) a second qualification of the second qualification object, and (ii) a third qualification of the third qualification object; and

in response to receiving the selection of the second purpose and determining that the qualifications of the second entity satisfy both of the second qualification and the third qualification, providing the second entity with access to a second plurality of computer resources associated with the second use case object.

18. The computer system of claim 11 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

updating the first qualification of the first qualification object, wherein for subsequent access attempts involving the first qualification object, entities' qualifications must satisfy the updated first qualification.

19. The computer system of claim 11 , wherein the first plurality of computer resources include at least one of: a file, a folder, a database, a memory, a processor, a drive, a storage device, a computer, a laptop, or a phone.

20. The computer system of claim 11 , wherein the one or more processors are configured to execute the plurality of computer readable instructions to cause the computer system to perform operations further comprising:

logging, in an audit log on the one or more computer readable storage devices, an entry for an access to a first computer resource, of the first plurality of computer resources, by the first entity, wherein the entry includes at least two of:

a time stamp for the access,

an identity of the first entity,

an identity of the first computer resource,

the first purpose indicated by first use case object,

the qualifications of the first entity, or

qualifications required for accessing the first computer resource, the qualifications including the first qualification.

Assignments (2)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2021
From: SIAVOSHY, BABAK; OWENS, KYLE; EDWARDS, NATHANIEL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 054974/0256 →
Continuity (4)
Continuation 16288528 · Feb 28, 2019
Continuation 16023397 · Jun 29, 2018
Provisional Application 62652198 · Apr 3, 2018
Related Publication 20210056185A1 · Feb 25, 2021
Cited By (1)
US 12,561,482