IP Library Granted Patent US 11,995,064
Granted Patent B2
US 11,995,064 · App. 17/469,767 · Granted May 28, 2024

Module expiration management

Inventors: Jonathan Lafleche (London, GB); Justin Uang (New York, NY); Onur Satici (London, GB); Yifei Huang (Naperville, IL); Ovidiu-Dan Sanduleac (London, GB); Lawrence Manning (New York, NY)
Assignee: Palantir Technologies Inc.
G06F16/2365G06F9/485G06F16/219
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,995,064
App. No.
17/469,767
Granted
May 28, 2024
Kind
B2
Abstract

Systems, methods, and non-transitory computer readable media are provided for managing expiration of modules. An expiry dataset may be maintained. The expiry dataset may include a set of identifiers corresponding to a set of modules, a set of expiry values for the set of modules, and a set of termination tasks for the set of modules. A request to refresh a module may be received from a client. Responsive to the reception of the request, an expiry value and a termination task for the module within the expiry dataset may be updated. The expiry value may be independent of a timestamp associated with the request.

Claims (51)

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:

receiving, from a client, a request to refresh a module, wherein the request includes an identification of the module, wherein the module comprises one or more hardware or software components or one or more federated processors that perform a computing task related to data transformation;

updating, based on the request or a different request, a first expiry value and a termination task of the module stored in an internal memory of the system, wherein the updating of the first expiry value comprises updating the first expiry value to a second expiry value;

comparing, based on the identification of the module, the first expiry value of the module stored in the internal memory of the system with a corresponding starting expiry value of the module stored in a data storage accessible by the system; and

selectively updating the termination task of the module stored in the internal memory of the system based on the comparison, wherein the termination task effects a termination of the module at a given time in an absence of the request to refresh the module.

2. The system of claim 1 , wherein the request to refresh the module extends expiration of the module for use by the client.

3. The system of claim 1 , wherein the starting expiry value of the module is a version number associated with the module.

4. The system of claim 3 , wherein the termination task includes a time at which the module is terminated for use by the client.

5. The system of claim 4 , wherein updating the corresponding termination task of the module stored in the internal memory of the system based on the comparison comprises:

determining that the version number of the module stored in the data storage has been incremented from the version number of the module stored in the internal memory of the system; and

updating the termination task stored in the internal memory of the system to terminate access to the module by the client at a future time.

6. The system of claim 5 , wherein updating the termination task stored in the internal memory of the system to terminate access to the module by the client at the future time comprises:

replacing the termination task stored in the internal memory of the system with a new termination task.

7. The system of claim 6 , wherein the new termination task comprises a time at which the module with the incremented version number is terminated for use by the client.

8. The system of claim 6 , wherein updating the termination task of the module stored in the internal memory of the system based on the comparison comprises:

refreshing the module being accessed by the client to the module with the version number stored in the data storage at the future time.

9. The system of claim 4 , wherein updating the corresponding termination task of the module stored in the internal memory of the system based on the comparison comprises:

determining that the version number of the module stored in the data storage is same as the version number of the module stored in the internal memory of the system; and

updating the termination task stored in the internal memory of the system to extend access to the module by the client to a future time.

10. The system of claim 1 , wherein the first expiry value includes a randomly generated value.

11. The system of claim 1 , wherein the receiving of the request comprises:

receiving, from the client, at a first server of the system, a first request to store expiration information of a module being accessed by a client; and

receiving, from the client, at one or more second servers of the system, a second request to refresh the module.

12. The system of claim 11 , wherein the client comprises a first client, and receiving of the request comprises:

receiving, from a second client, at one or more third servers of the system, a third request to refresh the module; and

updating, based on the third request, the first expiry value to a third expiry value.

13. A method implemented by a computing system including one or more processors and a storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:

receiving, from a client, a request to refresh a module, wherein the request includes an identification of the module, wherein the module comprises one or more hardware or software components or one or more federated processors that perform a computing task related to data transformation;

updating, based on the request or a different request, a first expiry value and a termination task of the module stored in an internal memory of the system, wherein the updating of the first expiry value comprises updating the first expiry value to a second expiry value;

comparing, based on the identification of the module, the first expiry value of the module stored in the internal memory of the system with a corresponding starting expiry value of the module stored in a data storage accessible by the system; and

selectively updating the termination task of the module stored in the internal memory of the system based on the comparison, wherein the termination task effects a termination of the module at a given time in an absence of the request to refresh the module.

14. The method of claim 13 , wherein the request to refresh the module extends expiration of the module for use by the client.

15. The method of claim 13 , wherein updating the corresponding termination task of the module stored in the internal memory of the system based on the comparison comprises:

determining that a version number of the module stored in the data storage has been incremented from the version number of the module stored in the internal memory of the system; and

updating the termination task stored in the internal memory of the system to terminate access to the module by the client at a future time.

16. The method of claim 13 , wherein updating the corresponding termination task of the module stored in the internal memory of the system based on the comparison comprises:

determining that a version number of the module stored in the data storage is same as the version number of the module stored in the internal memory of the system; and

updating the termination task stored in the internal memory of the system to extend access to the module by the client to a future time.

17. A non-transitory computer readable medium of a computing system comprising instructions that, when executed, cause the computing system to perform:

receiving, from a client, a request to refresh a module, wherein the request includes an identification of the module, wherein the module comprises one or more hardware or software components or one or more federated processors that perform a computing task related to data transformation;

updating, based on the request or a different request, a first expiry value and a termination task of the module stored in an internal memory of the system, wherein the updating of the first expiry value comprises updating the first expiry value to a second expiry value;

comparing, based on the identification of the module, the first expiry value of the module stored in the internal memory of the system with a corresponding third expiry value of the module stored in a data storage accessible by the system; and

selectively updating the termination task of the module stored in the internal memory of the system based on the comparison, wherein the termination task effects a termination of the module at a given time in an absence of the request to refresh the module.

18. The non-transitory computer readable medium of claim 17 , wherein updating the corresponding termination task of the module stored in the internal memory of the system based on the comparison comprises:

determining that a version number of the module stored in the data storage has been incremented from the version number of the module stored in the internal memory of the system; and

updating the termination task stored in the internal memory of the system to terminate access to the module by the client at a future time.

19. The non-transitory computer readable medium of claim 17 , wherein updating the corresponding termination task of the module stored in the internal memory of the system based on the comparison comprises:

determining that a version number of the module stored in the data storage is same as the version number of the module stored in the internal memory of the system; and

updating the termination task stored in the internal memory of the system to extend access to the module by the client to a future time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2024
From: LAFLECHE, JONATHAN; UANG, JUSTIN; SATICI, ONUR; HUANG, YIFEI; SANDULEAC, OVIDIU-DAN; MANNING, LAWRENCE
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 067128/0207 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
Continuity (3)
Continuation 16252363 · Jan 18, 2019
Provisional Application 62771316 · Nov 26, 2018
Related Publication 20210406247A1 · Dec 30, 2021