IP Library Granted Patent US 8,290,991
Granted Patent B2
US 8,290,991 · App. 12/795,426 · Granted Oct 16, 2012

Atomic deletion of database data categories

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 8,290,991
App. No.
12/795,426
Granted
Oct 16, 2012
Kind
B2
Abstract

A device may maintain, in a database, a plurality of data items, each data item of the plurality of data items being associated with a respective category and supplemental information relating to deletion of the data item. The device may associate a group of counters with at least one of the categories and receive a deletion request corresponding to one of the group of categories, the deletion request including the supplemental information. The device may identify a counter associated with the category corresponding to the deletion request based on the supplemental information. The device may then increment the identified counters and selectively delete the data items based on values of the counters.

Claims (57)

1. A computing-device implemented method comprising:

maintaining, by a data access point, a plurality of data items, each data item of the plurality of data items being associated with a respective category of the data item and supplemental information relating to a lifetime of the data item, the category identifying one or more related data items;

associating, by the data access point, a counter with at least one of the categories, the counter being one of a plurality of counters;

associating, by the data access point, a deletion count with each of the plurality of data items;

receiving, by the data access point, a deletion request corresponding to one of the plurality of categories, the deletion request including the supplemental information;

identifying, by the data access point and based on the deletion request, that the counter is associated with the category corresponding to the deletion request, the identification being performed based on the supplemental information included with the deletion request;

incrementing, by the data access point, a value of the identified counter;

selecting, by the data access point, one or more of the data items, of the plurality of data items, based on the incremented value of the identified counter;

determining, by the data access point and for each of the plurality of data items and based on the supplemental information for each of the plurality of data items, one of the plurality of counters that corresponds to the selected data item; and

deleting, by the data access point, the selected data item when the counter that corresponds to the selected data item has a value greater than the deletion count of the selected data item.

2. The method of claim 1 , where the deletion count associated with each of the plurality of data items is set to a value equal to a value of a counter that corresponds to the data item when the data item is published or updated by a client device connected to the data access point.

3. The method of claim 1 , where determining the one of the plurality of counters that corresponds to the selected data item includes:

determining the one of the plurality of counters based on a function applied to the data item and the supplemental information.

4. The method of claim 3 , where the function applied to the data item and supplemental information includes a predefined function or a custom function uploaded from a client device.

5. The method of claim 1 , where the supplemental information defines whether a data item has an indefinite lifetime or a session lifetime.

6. The method of claim 1 , further comprising:

determining the respective category by extracting data from the data item.

7. The method of claim 1 , where the deletion request is generated based on a client device losing contact with the data access point.

8. The method of claim 1 , where receiving the deletion request includes receiving the deletion request from a client device that publishes information to the data access point.

9. A device, comprising:

a memory to store instructions; and

a processor to execute the instructions to:

connect to a plurality of client devices that publish information to the memory;

store, in the memory, a plurality of data items published by the client devices, each of the data items being associated with supplemental information relating to a lifetime of the data items and a deletion count value;

maintain categories corresponding to the plurality of data items, each of the categories identifying one or more related data items;

maintain a counter corresponding to each of the categories, the counter being one of a plurality of counters;

associate a deletion count with each of the plurality of data items;

receive a deletion request corresponding to a first of the categories, the deletion request including the supplemental information;

identify, for the deletion request for the first category and based on the supplemental information, the counter;

increment the identified counter;

select one or more of the plurality of data items based on a value of the counter;

determine, for a selected one of the plurality of data items and based on the supplemental information for the selected one of the plurality of data items, one of the plurality of counters that corresponds to the selected data item; and

delete the selected data item when the counter that corresponds to the selected data item has a value greater than the deletion count of the selected data item.

10. The device of claim 9 , where when determining the one of the plurality of counters that corresponds to the selected data item, the processor is to execute instructions to:

determine the one of the plurality of counters based on a function applied to the data item and the supplemental information.

11. The device of claim 10 , where the function applied to the data item and supplemental information includes a predefined function or a custom function uploaded from one of the client devices.

12. The device of claim 9 , where the supplemental information defines whether a data item has an indefinite lifetime or a session lifetime.

13. The device of claim 9 , where the processor further executes the instructions to:

determine the category of a data item based on information extracted from the data item.

14. The device of claim 9 , where, when receiving the deletion request, the processor is to execute instructions to:

generate the deletion request based on one of the client devices losing contact with the device.

15. The device of claim 9 , where, when receiving the deletion request, the processor is to execute instructions to receive the deletion request from one of the client devices that publishes information to the device.

16. The device of claim 9 , where the device includes an access point for the Interface for Metadata Access Points (IF-MAP) protocol.

17. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions which, when executed by a device, cause the device to maintain a plurality of data items, each data item of the plurality of data items being associated with a respective category of the data item and supplemental information relating to a lifetime of the data item, the category identifying one or more related data items;

one or more instructions which, when executed by the device, cause the device to associate a counter with at least one of the categories, the counter being one of a plurality of counters;

one or more instructions which, when executed by the device, cause the device to associate a deletion count with each of the plurality of data items;

one or more instructions which, when executed by the device, cause the device to receive a deletion request corresponding to one of the plurality of categories, the deletion request including the supplemental information;

one or more instructions which, when executed by the device, cause the device to identify, based on the deletion request, that the counter is associated with the category corresponding to the deletion request, the identification being performed based on the supplemental information included with the deletion request;

one or more instructions which, when executed by the device, cause the device to increment the identified counter;

one or more instructions which, when executed by the device, cause the device to select one or more of the data items, of the plurality of data items, based on a value of the incremented, identified counter;

one or more instructions which, when executed by the device, cause the device to determine, for each of the plurality of data items and based on the supplemental information for each of the data items, one of the plurality of counters that corresponds to the selected data item; and

one or more instructions which, when executed by the device, cause the device to delete the selected data item when the counter that applies to the selected data item has a value greater than the deletion count of the selected data item.

18. The computer-readable medium of claim 17 , where the deletion count associated with each of the plurality of data items is set to a value equal to a value of a counter that corresponds to the data item when the data item is published or updated by a client device connected to the data access point.

19. The computer-readable medium of claim 17 , where one or more instructions to determine the one of the plurality of counters that corresponds to the selected data item includes:

one or more instructions to determine the one of the plurality of counters based on a function applied to the data item and the supplemental information.

20. The computer-readable medium of claim 17 , where the supplemental information defines whether a data item has an indefinite lifetime or a session lifetime.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
Reel/Frame 053271/0307 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
SECURITY INTEREST Recorded Dec 30, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034713/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034045/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2010
From: KAHN, CLIFFORD E.; CHICKERING, ROGER A.
To: JUNIPER NETWORKS, INC.
Reel/Frame 024497/0561 →