IP Library Granted Patent US 11,741,195
Granted Patent B2
US 11,741,195 · App. 16/844,855 · Granted Aug 29, 2023

Secure deployment of a software package

Inventors: Daniel Fox (London, GB); Felix Mance (London, GB); Jelena Cvitanovic (London, GB)
Assignee: Palantir Technologies Inc.
G06F21/121G06F8/60G06F16/254G06F16/9566H04L67/02H04L67/146H04L67/34G06F2221/0711
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,741,195
App. No.
16/844,855
Granted
Aug 29, 2023
Kind
B2
Abstract

Techniques for easy and secure deployment of a software package from a server to a customer-controlled computing device are described. In an embodiment, a deployment engine running on a server can be used to generate a unique URL for deployment of the software package. The unique URL may include a restricted use token. The restricted use token may be generated based on a combination of a random selection of one or more dictionary words, numbers, and/or symbols. The restricted token is easily readable given the combination of dictionary words, numbers, and/or symbols that make up the restricted use token. The unique URL may then be entered into a customer-controlled computing device via a curl command. The curl command will use the unique URL to generate a secure channel to the deployment engine and automatically download the software package onto the customer-controlled computing device. Upon downloading and/or installing the software package on the customer-controlled computing device, the unique URL is invalidated so that it may not be reused.

Claims (43)

1. A method comprising:

generating a unique URL for a software package,

wherein the unique URL comprises a restricted use token string, the restricted use token string comprising N dictionary strings randomly selected from a linguistic dictionary comprising a plurality of candidate dictionary strings and a value of N being randomly selected from a set of positive integers;

receiving, at a server, a deployment command, wherein the deployment command comprises the unique URL; and

in response to receiving the deployment command, sending the software package over a secure channel,

wherein the method is performed using one or more processors.

2. The method of claim 1 , wherein each candidate dictionary string of the plurality of candidate dictionary strings comprises a dictionary word.

3. The method of claim 1 , wherein the N dictionary strings comprises a plurality of dictionary strings.

4. The method of claim 3 , wherein the restricted use token comprises concatenating the plurality of dictionary strings with a delimiter between each of the plurality of dictionary strings.

5. The method of claim 1 , further comprising:

storing validity data regarding the restricted use token string; and

determining whether the deployment command is valid by comparing an extracted portion of the deployment command with the validity data for the restricted use token string.

6. The method of claim 5 , wherein the validity data comprises a threshold number of uses for the restricted use token string and determining whether the deployment command is valid comprises:

determining that the extracted portion of the deployment command matches the restricted use token string; and

determining whether the threshold number of uses for the restricted use token string has been exceeded or not.

7. The method of claim 5 , wherein the validity data comprises a time range for the restricted use token string and determining whether the deployment command is valid comprises:

determining that the extracted portion of the deployment command matches the restricted use token string; and

determining whether the deployment command was received in the time range.

8. The method of claim 1 , further comprising:

generating, by the server, the software package; and

deactivating, the unique URL on the server.

9. The method of claim 1 , wherein the software package comprises a data extraction agent that is programmed or configured to perform data extraction of data records from a data source.

10. One or more non-transitory computer readable storage media storing instruction, which when executed by one or more processors, cause:

generating a unique URL for a software package,

wherein the unique URL comprises a restricted use token string, the restricted use token string comprising N dictionary strings randomly selected from a linguistic dictionary comprising a plurality of candidate dictionary strings and a value of N being randomly selected from a set of positive integers;

receiving, at a server, a deployment command, wherein the deployment command comprises the unique URL; and

in response to receiving the deployment command, sending the software package over a secure channel.

11. The one or more non-transitory computer readable storage media of claim 10 , wherein each candidate dictionary string of the plurality of candidate dictionary strings comprises a dictionary word.

12. The one or more non-transitory computer readable storage media of claim 10 , wherein the N dictionary strings comprises a plurality of dictionary strings.

13. The one or more non-transitory computer readable storage media of claim 12 , wherein the restricted use token comprises concatenating the plurality of dictionary strings with a delimiter between each of the plurality of dictionary strings.

14. The one or more non-transitory computer readable storage media of claim 10 , further comprising instructions, which when executed by the one or more processors, cause:

storing validity data regarding the restricted use token string; and

determining whether the deployment command is valid by comparing an extracted portion of the deployment command with the validity data for the restricted use token string.

15. The one or more non-transitory computer readable storage media of claim 14 , wherein the validity data comprises a threshold number of uses for the restricted use token and determining whether the deployment command is valid comprises:

determining that the extracted portion of the deployment command matches the restricted use token string; and

determining whether the threshold number of uses for the restricted use token string has been exceeded or not.

16. The one or more non-transitory computer readable storage media of claim 14 , wherein the validity data comprises a time range for the restricted use token string and determining whether the deployment command is valid comprises:

determining that the extracted portion of the deployment command matches the restricted use token string; and

determining whether the deployment command was received in the time range.

17. The one or more non-transitory computer readable storage media of claim 10 , further comprising instructions, which when executed by the one or more processors, cause:

generating, by the server, the software package; and

deactivating, the unique URL on the server.

18. The one or more non-transitory computer readable storage media of claim 10 , wherein the software package comprises a data extraction agent that is programmed or configured to perform data extraction of data records from a data source.

Assignments (1)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
Continuity (3)
Continuation 15697270 · Sep 6, 2017
Continuation In Part 15225437 · Aug 1, 2016
Related Publication 20200233937A1 · Jul 23, 2020