IP Library Granted Patent US 8,751,449
Granted Patent B2
US 8,751,449 · App. 13/101,956 · Granted Jun 10, 2014

Managing performance within an enterprise object store file system

Inventor: John Albert Carmichael (Singapore Post Centre, SG)
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,751,449
App. No.
13/101,956
Filed
May 5, 2011
Granted
Jun 10, 2014
Kind
B2
Examiner
LEE, WILSON
Art Unit
2155
USPC
707/827
Abstract

A file system is disclosed that includes an application wide name space instantiated in a global index (Gindex) that is used for accessing objects related to an application. Summary workload statistics are monitored and calculated via a calibrated hierarchical service level agreement (SLA) in a method of operation that includes: establishing a tenant wide name space used for accessing objects of an application stored in physical file systems across one or more appliances, each defining a storage cluster, in association with a tenant logically spanning across the appliances; and monitoring a performance statistic for the application across the tenant.

Claims (91)

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

in a first data center, establishing one or more appliances, each appliance defining a storage cluster;

establishing one or more tenants spanning across said one or more appliances in said first data center, wherein an application stores objects in file systems associated with said appliances and said tenants;

establishing one or more directories of said file systems;

storing said directories in a first directory file system locally at said first data center in association with said application;

replicating said directories to a second directory file system locally at a second data center, wherein said second data center is separate from said first data center; and

providing directory look-up in said replicated directories locally stored at said second data center without performing said directory look-up in said directories locally stored at said first data center.

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

providing a path name to an object in said directories; and

accessing said object via said path name in a corresponding directory look-up operation.

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

receiving at said second data center a directory look-up request for an object stored at said first data center;

accessing said object at said first data center;

replicating said object at said first data center to said second data center; and

providing said object in response to said directory look-up request.

4. The non-transitory computer-readable storage medium of claim 1 , wherein said method further comprises:

storing objects in said file systems that are separate from said first directory file system and said second directory file system.

5. The non-transitory computer-readable storage medium of claim 1 , wherein said method further comprises:

replicating an object stored in said first data center to a file system in said second data center;

receiving a directory look-up request for said object at said second data center; and

accessing said object at said second data center.

6. The non-transitory computer-readable storage medium of claim 1 , wherein said method further comprises:

storing a new object at said second data center;

incorporating directory information for said new object into said second directory file system located in said second data center;

replicating said directory information into said first directory file system located in said first data center; and

providing directory look-up for said new object in said first and second directory file systems located in said first and second data centers.

7. The non-transitory computer-readable storage medium of claim 1 , wherein said method further comprises:

establishing a name space associated with said directories;

storing said name space in said first directory file system in association with said application;

replicating said name space to said second directory file system in said second data center; and

providing directory look-up in said name space at said second data center.

8. A method for mobile storage, said method comprising:

in a first data center, establishing one or more appliances, each appliance defining a storage cluster;

establishing one or more tenants spanning across said one or more appliances in said first data center, wherein an application stores objects in file systems associated with said appliances and said tenants;

establishing one or more directories of said file systems;

storing said directories in a first directory file system locally at said first data center in association with said application;

replicating said directories to a second directory file system locally at a second data center, wherein said second data center is separate from said first data center; and

providing directory look-up in said replicated directories locally stored at said second data center without performing said directory look-up in directories locally stored at said first data center.

9. The method of claim 8 , wherein said method further comprises:

providing a path name to an object in said directories; and

accessing said object via said path name in a corresponding directory look-up operation.

10. The method of claim 9 , wherein said method further comprises:

receiving at said second data center a directory look-up request for an object stored at said first data center;

accessing said object at said first data center;

replicating said object at said first data center to said second data center; and

providing said object in response to said directory look-up request.

11. The method of claim 8 , wherein said method further comprises:

storing objects in said file systems that are separate from said first directory file system and said second directory file system.

12. The method of claim 8 , wherein said method further comprises:

replicating an object stored in said first data center to a file system in said second data center;

receiving a directory look-up request for said object at said second data center; and

accessing said object at said second data center.

13. The method of claim 8 , wherein said method further comprises:

storing a new object at said second data center;

incorporating directory information for said new object into said second directory file system located in said second data center;

replicating said directory information into said first directory file system located in said first data center; and

providing directory look-up for said new object in said first and second directory file systems located in said first and second data centers.

14. The method of claim 8 , wherein said method further comprises:

establishing a name space associated with said directories;

storing said name space in said first directory file system in association with said application;

replicating said name space to said second directory file system in said second data center; and

providing directory look-up in said name space at said second data center.

15. A system for mobile storage, said system comprising:

memory for storing directories, objects, and file systems in a first data center;

an interface for communication with a second data center; and

a processor coupled to said memory and said interface, said processor configured to:

in said first data center, establish one or more appliances, each appliance defining a storage cluster;

establish one or more tenants spanning across said one or more appliances in said first data center, wherein an application stores in said memory objects in file systems associated with said appliances and said tenants;

establish one or more directories of said file systems;

store said directories in a first directory file system locally at said first data center in said memory in association with said application;

replicate said directories over said interface to a second directory file system locally at a second data center, wherein said second data center is separate from said first data center; and

provide directory look-up in said replicated directories locally stored at said second data center without performing said directory look-up in directories locally stored at said first data center.

16. The system of claim 15 , wherein said processor is further configured to:

provide a path name to an object in said directories; and

access said object via said path name in a corresponding directory look-up operation.

17. The system of claim 16 , wherein said processor is further configured to:

receive at said second data center a directory look-up request for an object stored at said first data center;

access said object at said first data center;

replicate said object at said first data center to said second data center; and

provide said object in response to said directory look-up request.

18. The system of claim 15 , wherein said processor is further configured to:

store objects in said file systems that are separate from said first directory file system and said second directory file system.

19. The system of claim 15 , wherein said processor is further configured to:

replicate an object stored in said first data center to a file system in said second data center;

receive a directory look-up request for said object at said second data center; and

access said object at said second data center.

20. The system of claim 15 , wherein said processor is further configured to:

store a new object at said second data center;

incorporate directory information for said new object into said second directory file system located in said second data center;

replicate said directory information into said first directory file system located in said first data center; and

provide directory look-up for said new object in said directory file systems located in said first and second data centers.

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 May 5, 2011
From: CARMICHAEL, JOHN ALBERT
To: SYMANTEC CORPORATION
Reel/Frame 026233/0401 →
Continuity (2)
Provisional Application 61471642 · Apr 4, 2011
Related Publication 20120254269A1 · Oct 4, 2012