IP Library Granted Patent US 11,283,897
Granted Patent B2
US 11,283,897 · App. 16/597,632 · Granted Mar 22, 2022

Adaptive computation and faster computer operation

Inventor: Nicholas Chang (San Carlos, CA)
Assignee: Palantir Technologies Inc.
H04L67/327G06F9/505G06F16/283H04L67/10H04L67/303
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,283,897
App. No.
16/597,632
Granted
Mar 22, 2022
Kind
B2
Abstract

A datacenter has more computing power than a personal computer. The personal computer sends a request to perform an operation on a data set to the datacenter. The datacenter evaluates various inputs to determine if, despite the datacenter's computing power, the personal computer is likely to complete the operation faster. Based on the determination, the datacenter may perform the operation, send the data set to the personal computer for the personal computer to process, or start a competitive computation. As a result, a user interface can be more responsive. Machine learning processes can be used to improve predictions.

Claims (56)

1. A system comprising:

one or more processors; and

a network communication interface;

wherein the system is configured to:

receive, through the network communication interface, a request from a personal computer to perform a computation on a data set;

access information indicating past speeds of performing the computation on other data sets by the system and the personal computer;

based at least in part on a comparison between the past speeds of performing the computation on other data sets by the system and the personal computer, determine to perform the computation on the data set or transmit the data set to the personal computer; and

in response to the determining, initiate performing the computation on the data set or transmitting the data set to the personal computer.

2. The system of claim 1 , wherein the information indicates whether the system completed the computation on a previous data set before the personal computer completed the computation on the previous data set.

3. The system of claim 1 , wherein the system is further configured to:

perform the computation on the data set or transmit the data set to the personal computer further based at least in part on a hardware specification of the personal computer.

4. The system of claim 1 , wherein the system is further configured to:

perform the computation on the data set or transmit the data set to the personal computer further based at least in part on at least two of:

comparing a size of the data set to a threshold size,

a type of the computation being performed,

a type of data being operated on in the computation,

an identity of a user making the request to perform the computation, or

an identity of the personal computer.

5. The system of claim 1 , wherein the system is further configured to:

perform the computation on the data set in response to receiving the request to perform the computation on the data set; and

transmit a result of the computation to the personal computer.

6. The system of claim 5 , wherein the system is further configured to:

transmit the data set to the personal computer; and

determine whether the system performed the computation on the data set before the personal computer locally performed the computation on the transmitted data set.

7. The system of claim 1 , wherein the system is configured to perform the computation on the data set by executing a large scale data processing engine.

8. The system of claim 7 further comprising:

a plurality of storage devices set up with a fault-tolerant configuration; and

wherein the one or more processors are configured to perform the computation tolerant of a failure by at least one processor of the one or more processors.

9. The system of claim 1 , wherein the system has at least one of: more raw processing power, more random access memory (RAM), more storage capacity, or better redundancy than the personal computer.

10. A method performed by a computer system, the method comprising:

receiving, through a network communication interface, a request from a personal computer to perform a computation on a data set;

accessing information indicating past speeds of performing the computation on other data sets by the computer system and the personal computer;

based at least in part on a comparison between the past speeds of performing the computation on other data sets by the computer system and the personal computer, determining to perform the computation on the data set or transmitting the data set to the personal computer; and

in response to the determining, initiating performing the computation on the data set or transmitting the data set to the personal computer.

11. The method of claim 10 , wherein the information indicates whether the computer system completed the computation on a previous data set before the personal computer completed the computation on the previous data set.

12. The method of claim 10 further comprising:

determining a hardware specification of the personal computer; and

wherein performing the computation on the data set or transmitting the data set to the personal computer is further based in part on the hardware specification of the personal computer.

13. The method of claim 10 further comprising:

selecting between performing the computation on the data set or transmitting the data set to the personal computer based in part on at least two of:

determining that a size of the data set is less than a threshold amount,

a type of the computation,

a type of data being operated on in the computation,

an identity of a user making the request to perform the computation, or

an identity of the personal computer.

14. The method of claim 10 further comprising:

performing the computation on the data set using a one or more processors in response to receiving the request to perform the computation on the data set; and

transmitting a result of the computation to the personal computer.

15. The method of claim 14 further comprising:

transmitting the data set to the personal computer; and

receiving a time that the personal computer finishes performing the computation on the transmitted data set.

16. The method of claim 14 , wherein performing the computation further comprises executing the computation with a large scale data processing engine.

17. The method of claim 14 further comprising:

reading the data set from storage devices set up with a fault-tolerant configuration; and

wherein performing the computation further comprises performing the computation using one or more processors that are configured to perform the computation tolerant of a failure by at least one processor of the one or more processors.

18. The method of claim 14 , wherein the request from the personal computer includes one or more keys that references values of the data set.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2019
From: CHANG, NICHOLAS
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 050994/0001 →
Continuity (4)
Continuation 16035336 · Jul 13, 2018
Continuation 15655732 · Jul 20, 2017
Provisional Application 62506474 · May 15, 2017
Related Publication 20200084296A1 · Mar 12, 2020