IP Library › Granted Patent US 12,197,385
Granted Patent B2
US 12,197,385 · App. 18/307,553 · Granted Jan 14, 2025

Transaction-level data retention policy inheritance

Inventors: Arnav Jagasia (New York, NY); Ashley Meuser (Arlington, VA); Hugo Dobbelaere (Paris, FR); Mihir Patil (New York, NY); Sam Stoll (London, GB); Pieris Christofi (London, GB)
Assignee: Palantir Technologies Inc.
G06F16/125G06F16/162
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 12,197,385
App. No.
18/307,553
Granted
Jan 14, 2025
Kind
B2
Abstract

A computer system provides transaction-level data retention policy inheritance. The system may perform operations including storing a first dataset comprising a plurality of transactions, each of the plurality of transactions comprising one or more data items; receiving a first transaction to the first dataset, the first transaction comprising one or more data items; determining a first retention policy for the first transaction; and storing the first retention policy with the first transaction. The system may further perform operations including calculating a deletion date for the first transaction based on the first retention policy; and storing the deletion date with the first transaction in the first dataset.

Claims (73)

1. A computer-implemented method for determining and storing a retention policy for a transaction to a dataset, the computer-implemented method comprising, by one or more hardware processors executing program instructions:

storing a first dataset comprising a plurality of transactions, each of the plurality of transactions comprising one or more data items;

receiving a first transaction to the first dataset, the first transaction comprising one or more data items;

querying a data source or service using a unique identifier associated with the first transaction;

receiving, from the data source or service, information indicative of any upstream transactions or datasets associated with the first transaction, wherein the information includes an indication of a second transaction;

determining that the first transaction is downstream from a second transaction;

determining a second retention policy associated with the second transaction;

determining a first retention policy for the first transaction based at least in part on the second retention policy; and

storing the first retention policy with the first transaction.

2. The computer-implemented method of claim 1 further comprising, by the one or more hardware processors executing program instructions:

calculating a deletion date for the first transaction based on the first retention policy; and

storing the deletion date with the first transaction in the first dataset.

3. The computer-implemented method of claim 2 further comprising, by the one or more hardware processors executing program instructions:

deleting the first transaction based on the deletion date and/or the first retention policy.

4. The computer-implemented method of claim 3 , wherein each of the plurality of transactions of the first dataset include associated retention policies and calculated deletion dates.

5. The computer-implemented method of claim 4 further comprising, by the one or more hardware processors executing program instructions:

generating data useable for rendering a graphical user interface, the graphical user interface including at least one of:

indications of deletion dates and/or retention policies associated with a plurality of datasets, or

user input elements for creating or selecting a retention policy to apply to a dataset or transaction.

6. The computer-implemented method of claim 5 further comprising, by the one or more hardware processors executing program instructions:

storing a creation date of the first transaction with the first transaction, wherein the creation date is usable for calculating a deletion date of the first transaction.

7. The computer-implemented method of claim 1 further comprising, by the one or more hardware processors executing program instructions:

calculating a deletion date for the first transaction based on a minimum deletion date associated with the first retention policy and the second retention policy; and

storing the deletion date with the first transaction in the first dataset.

8. The computer-implemented method of claim 1 , wherein the second transaction is in a second dataset different from the first dataset.

9. The computer-implemented method of claim 1 , wherein:

the first retention policy is at least one of: a time to live policy, or a fixed deletion date policy, and

the second retention policy a different one of at least one of: a time to live policy, or a fixed deletion date policy.

10. The computer-implemented method of claim 1 further comprising, by the one or more hardware processors executing program instructions:

receiving an update to the second retention policy; and

determining an update to the first retention policy in response to receiving the update to the second retention policy.

11. The computer-implemented method of claim 10 further comprising, by the one or more hardware processors executing program instructions:

in response to receiving the update to the second retention policy:

querying a data source or service using a unique identifier associated with the second transaction; and

receiving, from the data source or service, information indicative of any downstream transactions or datasets associated with the second transaction,

wherein the information includes an indication of the first transaction.

12. The computer-implemented method of claim 11 further comprising, by the one or more hardware processors executing program instructions:

further in response to receiving the update to the second retention policy:

identifying, based on the information indicative of any downstream transactions or datasets associated with the second transaction, the first dataset; and

determining updates to retention policies associated with the plurality of transactions of the first dataset.

13. The computer-implemented method of claim 12 , wherein determining the updates to retention policies associated with the plurality of transactions of the first dataset comprises:

querying a data source or service using the unique identifier associated with the first transaction;

receiving, from the data source or service, information indicative of any upstream and downstream transactions or datasets associated with the first transaction, wherein the information includes an indication of the second transaction; and

determining the update to the first retention policy based at least in part on the update to the second retention policy associated with the second transaction.

14. The computer-implemented method of claim 1 , wherein the first retention policy is further based at least in part on a third retention policy associated with a third transaction from which the first transaction is also downstream.

15. The computer-implemented method of claim 1 further comprising, by the one or more hardware processors executing program instructions:

receiving an override retention policy for the first transaction; and

in response to receiving the override retention policy:

severing a connection between the first transaction and the second transaction; and

determining an update to the first retention policy based at least in part on the override retention policy.

16. The computer-implemented method of claim 1 further comprising, by the one or more hardware processors executing program instructions:

determining a compatibility between the first retention policy and the second retention policy; and

in response to determining the compatibility, severing a connection between the first transaction and the second transaction.

17. A system comprising:

a computer readable storage medium having program instructions embodied therewith; and

one or more processors configured to execute the program instructions to cause the system to;

store a first dataset comprising a plurality of transactions, each of the plurality of transactions comprising one or more data items;

receive a first transaction to the first dataset, the first transaction comprising one or more data items;

query a data source or service using a unique identifier associated with the first transaction;

receive, from the data source or service, information indicative of any upstream transactions or datasets associated with the first transaction, wherein the information includes an indication of a second transaction;

determine that the first transaction is downstream from a second transaction;

determine a second retention policy associated with the second transaction;

determine a first retention policy for the first transaction based at least in part on the second retention policy; and

store the first retention policy with the first transaction.

18. A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to:

store a first dataset comprising a plurality of transactions, each of the plurality of transactions comprising one or more data items;

receive a first transaction to the first dataset, the first transaction comprising one or more data items;

query a data source or service using a unique identifier associated with the first transaction;

receive, from the data source or service, information indicative of any upstream transactions or datasets associated with the first transaction, wherein the information includes an indication of a second transaction;

determine that the first transaction is downstream from a second transaction;

determine a second retention policy associated with the second transaction;

determine a first retention policy for the first transaction based at least in part on the second retention policy; and

store the first retention policy with the first transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: JAGASIA, ARNAV; MEUSER, ASHLEY; DOBBELAERE, HUGO; PATIL, MIHIR; CHRISTOFI, PIERIS; STOLL, SAM
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 064721/0805 →
Continuity (4)
Provisional Application 63363865 · Apr 29, 2022
Provisional Application 63431913 · Dec 12, 2022
Provisional Application 63359044 · Jul 7, 2022
Related Publication 20230350843A1 · Nov 2, 2023
References Cited (11)
US 20050234931A1 · Yip · 2005 [cited by examiner]
US 20130066948A1 · Colrain · 2013 [cited by examiner]
US 20190311563A1 · O'Neill · 2019 [cited by examiner]
US 20200372517A1 · Malkin · 2020 [cited by examiner]
US 20210096957A1 · Rahman · 2021 [cited by examiner]
US 20210256027A1 · Murao et al. · 2021 [cited by applicant]
US 20230079548A1 · Landers · 2023 [cited by examiner]
US 20230418747A1 · Arora · 2023 [cited by examiner]
EP 4276647 · 2023 [cited by applicant]
Lu et al., “Auditing a Database Under Retention Restrictions”, IEEE International Conference on Data Engineering, 2009, pp. 42-53. [cited by applicant]
Official Communication for European Patent Application No. 23170633.4 dated Oct. 16, 2023, 8 pages. [cited by applicant]
Cited By (1)
US 12,645,638