IP Library Granted Patent US 10,484,504
Granted Patent B2
US 10,484,504 · App. 16/035,336 · Granted Nov 19, 2019

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 10,484,504
App. No.
16/035,336
Granted
Nov 19, 2019
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 (54)

1. A system comprising:

a plurality of processors;

a plurality of storage devices configured to store a first data set; and

a network communication interface configured to receive a request from a personal computer to perform an operation on the first data set;

wherein the system is configured to:

access information indicating whether the system completed a first processing operation on the first data set before a personal computer completed the first processing operation on the first data set;

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

determine a size of the second data set; and

based at least in part on the size of the second data set and the information indicating whether the system completed the first processing operation on the first data set before the personal computer completed the first processing operation on the first data set, perform the second processing operation on the second data set or transmit the second data set to the personal computer.

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

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

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

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

comparing the size to a threshold amount,

a type of the second processing operation being performed,

a type of data being operated on in the second processing operation,

an identity of a user making the request to perform the second processing operation, or

an identity of the personal computer.

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

perform the second processing operation on the second data set in response to receiving the request to perform the second operation on the second data set; and

transmit a result of the second processing operation to the personal computer.

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

transmit the second data set to the personal computer; and

determine whether the system performed the second processing operation on the second data set before the personal computer locally performed the second processing operation on the transmitted second data set.

6. The system of claim 4 , wherein the system is configured to perform the second processing operation on the second data set by executing a large scale data processing engine.

7. The system of claim 6 , wherein:

the plurality of storage devices are setup with a fault-tolerant configuration; and

the plurality of processors are configured to perform the second processing operation tolerant of a failure by at least one processor of the plurality of processors.

8. 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.

9. A method comprising:

accessing information indicating whether a personal computer completed a first processing operation before previously completing the first processing operation on a first data set;

receiving, through a network communication interface, a request from the personal computer to perform a second processing operation on a second data set;

determining a size of the data set; and

based at least in part on the size of the second data set and the information indicating whether the personal computer completed the first processing operation on the first data set before the personal computer completed the first processing operation on the first data set, performing the second processing operation on the second data set or transmitting the second data set to the personal computer.

10. The method of claim 9 , further comprising:

determining a hardware specification of the personal computer; and

wherein performing the second processing operation on the second data set or transmitting the second data set to the personal computer is further based at least in part on the hardware specification of the personal computer.

11. The method of claim 9 , wherein performing the second processing operation on the second data set or transmitting the second data set to the personal computer is further based in part on at least two of:

determining that the size is less than a threshold amount,

a type of the second processing operation,

a type of data being operated on in the second processing operation,

an identity of a user making the request to perform the second processing operation, or

an identity of the personal computer.

12. The method of claim 9 , further comprising:

performing the second processing operation on the second data set using a plurality of processors in response to receiving the request to perform the second processing operation on the second data set; and

transmitting a result of the second processing operation to the personal computer.

13. The method of claim 12 , further comprising:

transmitting the second data set to the personal computer; and

receiving a time that the personal computer finishes performing the second processing operation on the transmitted second data set.

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

15. The method of claim 14 , further comprising:

reading the second data set from storage devices setup with a fault-tolerant configuration;

wherein performing the second processing operation further comprises performing the second processing operation using a plurality of processors that are configured to perform the second processing operation tolerant of a failure by at least one processor of the plurality of processors.

16. 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 Oct 4, 2019
From: CHANG, NICHOLAS
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 050627/0574 →