IP Library Granted Patent US 10,152,306
Granted Patent B2
US 10,152,306 · App. 15/730,646 · Granted Dec 11, 2018

Framework for developing and deploying applications

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,152,306
App. No.
15/730,646
Granted
Dec 11, 2018
Kind
B2
Abstract

A system may determine one or more data sources which the system is configured to access. The system may provide a set of application programming interfaces (APIs) for interacting with data stored in one or more data sources. The APIs may be accessible to one or more web applications which the system is configured to serve. The system may determine that a web application has requested an operation for interacting with the data through one or more APIs in the set of APIs. The system may determine one or more responses based at least in part on the operation requested by the web application. The system may provide the response(s) to the web application.

Claims (71)

1. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform:

determining a first data source which the system is configured to access;

providing a set of application programming interfaces (APIs) for interacting with data stored in the first data source, the APIs being accessible to a first web application which the system is configured to serve;

determining that the first web application has requested a first operation for interacting with the data through a first API in the set of APIs;

determining one or more first responses based at least in part on the first operation requested by the first web application;

providing the one or more first responses to the first web application;

causing the system to integrate with a data analysis platform through which a second data source is accessible, wherein the first data source is not accessible through the data analysis platform;

providing information describing a second operation to the data analysis platform for processing using data stored in the second data source;

obtaining one or more second responses from the data analysis platform;

configuring the system to serve a second web application, the second web application being deployed to process data stored in a second data source; and

causing the system to integrate with the second data source, the system being configured to restrict access to the second data source to only the second web application.

2. The system of claim 1 , wherein determining the one or more first responses based at least in part on the first operation requested by the first web application further causes the system to perform:

determining that the first operation involves interacting with the first data source;

providing information describing the first operation to the first data source for processing; and

obtaining the one or more first responses from the first data source.

3. The system of claim 1 , wherein determining the one or more first responses based at least in part on the first operation requested by the first web application further causes the system to perform:

determining that the first operation involves interacting with the first data source;

providing information describing the first operation to a data analysis platform for processing; and

obtaining the one or more first responses from the data analysis platform.

4. The system of claim 1 , wherein:

a server plugin provides a second set of APIs for interacting with the data stored in the first data source, the server plugin being deployed in a workspace running on a computing device;

wherein the system is configured to process requests from the server plugin; and the instructions further cause the system to perform:

determining that the server plugin has requested a second operation for interacting with the data through one or more of the set of APIs;

determining one or more second responses based at least in part on the second operation requested by the server plugin; and

providing the one or more second responses to the server plugin.

5. The system of claim 4 , wherein:

the server plugin is configured to serve a second web application deployed in the workspace running on the computing device; and

the server plugin provides the one or more second responses to the second web application.

6. The system of claim 5 , wherein the second web application is deployed a Java workspace running on the computing device.

7. The system of claim 5 , wherein the second web application is able to be deployed separately for execution through a web browser application.

8. The system of claim 1 , wherein the first web application is running a web browser application.

9. A computer-implemented method, the method being implemented by a computing system including one or more processors and storage media storing machine-readable instructions, the method comprising

determining a first data source which the system is configured to access;

providing a set of application programming interfaces (APIs) for interacting with data stored in the first data source, the APIs being accessible to a first web application which the system is configured to serve;

determining that the first web application has requested a first operation for interacting with the data through a first API in the set of APIs;

determining one or more first responses based at least in part on the first operation requested by the first web application;

providing the one or more first responses to the first web application;

causing the system to integrate with a data analysis platform through which a second data source is accessible, wherein the first data source is not accessible through the data analysis platform;

providing information describing a second operation to the data analysis platform for processing using data stored in the second data source;

obtaining one or more second responses from the data analysis platform;

configuring the system to serve a second web application, the second web application being deployed to process data stored in a second data source; and

causing the system to integrate with the second data source, the system being configured to restrict access to the second data source to only the second web application.

10. The computer-implemented method of claim 9 , wherein determining the one or more first responses based at least in part on the first operation requested by the first web application further comprises:

determining that the first operation involves interacting with the first data source;

providing information describing the first operation to the first data source for processing; and

obtaining the one or more first responses from the first data source.

11. The computer-implemented method of claim 9 , wherein determining the one or more first responses based at least in part on the first operation requested by the first web application further comprises:

determining that the first operation involves interacting with the first data source;

providing information describing the first operation to a data analysis platform for processing; and

obtaining the one or more first responses from the data analysis platform.

12. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

determining a first data source which the system is configured to access;

providing a set of application programming interfaces (APIs) for interacting with data stored in the first data source, the APIs being accessible to a first web application which the system is configured to serve;

determining that the first web application has requested a first operation for interacting with the data through a first API in the set of APIs;

determining one or more first responses based at least in part on the first operation requested by the first web application; and

providing the one or more first responses to the first web application;

causing the system to integrate with a data analysis platform through which a second data source is accessible, wherein the first data source is not accessible through the data analysis platform;

providing information describing a second operation to the data analysis platform for processing using data stored in the second data source;

obtaining one or more second responses from the data analysis platform;

configuring the system to serve a second web application, the second web application being deployed to process data stored in a second data source; and

causing the system to integrate with the second data source, the system being configured to restrict access to the second data source to only the second web application.

13. The non-transitory computer readable medium of claim 12 , wherein determining the one or more first responses based at least in part on the first operation requested by the first web application further causes the processors to perform:

determining that the first operation involves interacting with the first data source;

providing information describing the first operation to the first data source for processing; and

obtaining the one or more first responses from the first data source.

14. The non-transitory computer readable medium of claim 12 , wherein determining the one or more first responses based at least in part on the first operation requested by the first web application further causes the processors to perform:

determining that the first operation involves interacting with the first data source;

providing information describing the first operation to a data analysis platform for processing; and

obtaining the one or more first responses from the data analysis platform.

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 Feb 21, 2018
From: RYAN, ALEXANDER; CHANG, ALLEN; BINDI, WILLIAM; LEE, BRIAN; CARRINO, JOHN; TIBSHIRANI, JULIE; WILSON, TIMOTHY
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 044994/0125 →
Cited By (1)
US 12,566,740