IP Library Granted Patent US 8,578,096
Granted Patent B2
US 8,578,096 · App. 13/082,986 · Granted Nov 5, 2013

Policy for storing data objects in a multi-tier storage system

Inventors: Raghupathi Malige (San Jose, CA); Meher Shah (Newark, CA); Gautham Ravi (Mountain View, CA)
Assignee: Symantec Corporation
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,578,096
App. No.
13/082,986
Granted
Nov 5, 2013
Kind
B2
Abstract

A sliding window policy is implemented to manage database objects. At a first time, a first portion of a database object is allocated to a first tier of a multi-tier storage system. The first portion corresponds to a first specified percentage of the size of the database object at the first time and is selected according to information associated with the database object. The remaining portion of the database object at the first time is allocated to one or more other tiers. At a second (later) time, a second portion of the database object is allocated to the first tier. The second portion corresponds to a second specified percentage of the size of the database object at the second time and is also selected according to information associated with the database object. The remaining portion of the database object at the second time is allocated to the other tier(s).

Claims (35)

1. A non-transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method comprising:

accessing a database object, wherein a size of said database object changes over time;

at a first time, allocating a first portion of said database object for storage in a first tier of a multi-tier storage system, said first portion corresponding to a first specified percentage of the size of said database object at said first time, wherein said first portion is selected according to information associated with said database object, and wherein a first remaining portion of said database object at said first time is allocated for storage in one or more other tiers of said multi-tier storage system; and

at a second time, after said first time, allocating a second portion of said database object for storage in said first tier, said second portion corresponding to a second specified percentage of the size of said database object at said second time, wherein said second portion is selected according to said information, and wherein a second remaining portion of said database object at said second time is allocated for storage in said one or more other tiers.

2. The non-transitory computer-readable storage medium of claim 1 wherein said database object comprises a table, wherein an at least one data comprises entries in said table, and wherein said at least one data is stored as a plurality of extents, said extents each comprising a plurality of contiguous blocks of memory.

3. The non-transitory computer-readable storage medium of claim 2 wherein said method further comprises:

determining the size of said table at said first time;

accessing time-based information associated with each of said extents; and

starting with the most recent of said extents based on said time-based information and continuing the most recent of said extents, selecting a subset of said extents comprising newer extents, wherein said subset comprises a number of said extents that corresponds to said first specified percentage.

4. The non-transitory computer-readable storage medium of claim 2 wherein said method further comprises translating each of said extents to a file name, offset, and length.

5. The non-transitory computer-readable storage medium of claim 1 wherein said database object comprises a plurality of data, wherein said information is time-based and used to rank said plurality of data from newest data to oldest data, wherein said first portion and said second portion are each selected by selecting relatively newer data from said plurality of data according to said rank until, respectively, said first specified percentage and said second specified percentage are reached.

6. The non-transitory computer-readable storage medium of claim 1 wherein a different percentage is specified per database object.

7. The non-transitory computer-readable storage medium of claim 1 wherein said first specified percentage and said second specified percentage have the same value.

8. The non-transitory computer-readable storage medium of claim 1 wherein said method further comprises, if data in said first portion is deleted, then automatically evacuating said data from said first tier.

9. A computer system comprising:

a processor; and

memory coupled to said processor and having stored therein instructions that, if executed by said computer system, cause said computer system to execute a method comprising:

accessing a database object, wherein a size of said database object changes from a first amount at a first time to a second amount at a second time, wherein said second time is after said first time;

at said first time, storing a first portion of said database object in a first tier of a multi-tier storage system, said first portion corresponding in size to a first specified percentage of said first amount, wherein said first portion is selected according to information associated with said database object, and wherein a first remaining portion of said database object is stored in one or more other tiers of said multi-tier storage system; and

at said second time, allocating a second portion of said database object for storage in said first tier, said second portion corresponding in size to a second specified percentage of said second amount, said second portion selected according to said information, and wherein a second remaining portion of said database object is stored in one or more other tiers of said multi-tier storage system.

10. The computer system of claim 9 wherein said database object comprises a table, wherein said data comprises entries in said table, and wherein said data is stored as a plurality of extents, said extents each comprising a plurality of contiguous blocks of memory.

11. The computer system of claim 10 wherein said method further comprises: at said first time, determining a size of said table; accessing time-based information associated with each of said extents to identify an age for each of said extents; and starting with the youngest extent of said extents based on said time-based information and continuing from said youngest extent, selecting a subset of said extents comprising newer extents, wherein said subset comprises a number of said extents that corresponds to said first specified percentage.

12. The computer system of claim 9 wherein said information is time-based and used to rank data in said database object at said first time and at said second time from newest data to oldest data, wherein said first portion and said second portion are each selected by selecting relatively newer data according to said rank until said, respectively, said first specified percentage and said second specified percentage are reached.

13. The computer system of claim 9 wherein a different percentage is specified per database object.

14. The computer system of claim 9 wherein said first specified percentage and said second specified percentage have the same value.

15. A computer-implemented method comprising:

determining the size of a database object at a first time;

at said first time, storing a first portion of said database object in a first tier of a multi-tier storage system, said first portion corresponding to a first specified percentage of the size of said database object at said first time, wherein said first portion is selected according to information associated with said database object, and wherein a first remaining portion of said database object at said first time is stored in one or more other tiers of said multi-tier storage system;

determining the size of said database object at a second time; and

at said second time, after said first time, allocating said database object between said first tier and said one or more other tiers as necessary so that a second portion of said database object at said second time is stored in said first tier, said second portion corresponding to a second specified percentage of the size of said database object at said second time, said second portion selected according to said information, and wherein a second remaining portion of said database object is stored in one or more other tiers of said multi-tier storage system.

16. The method of claim 15 wherein said database object comprises a table, wherein said data comprises entries in said table, and wherein said data is stored as a plurality of extents, said extents each comprising a plurality of contiguous blocks of memory.

17. The method of claim 16 wherein said method further comprises translating each of said extents to a file name, offset, and length.

18. The method of claim 15 wherein said information is time-based and is used to rank data in said database object at said first time and at said second time from newest data to oldest data, wherein said first portion and said second portion are each selected by selecting relatively newer data according to said rank until said, respectively, said first specified percentage and said second specified percentage are reached.

19. The method of claim 15 wherein a different percentage is specified per database object.

20. The method of claim 15 wherein said first specified percentage and said second specified percentage have different values.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA AND CORRECT THE PATENT NUMBERS PREVIOUSLY RECORDED AT REEL: 69548 FRAME: 468. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 4, 2026
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 074876/0584 →
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2011
From: MALIGE, RAGHUPATHI; SHAH, MEHER; RAVI, GAUTHAM
To: SYMANTEC CORPORATION
Reel/Frame 026097/0596 →
Continuity (1)
Related Publication 20120260040A1 · Oct 11, 2012