# US 8,751,449 B2 · Managing performance within an enterprise object store file system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,449 B2
- Document ID: US8751449B2
- Status: Granted
- Kind: B2
- Application number: 13/101,956
- Filed: 2011-05-05
- Published: 2012-10-04
- Granted: 2014-06-10
- Earliest claimed: 2011-04-04
- Assignees: Symantec Corporation
- Applicants: John Albert Carmichael
- Inventors: John Albert Carmichael
- Web page: https://patentgrep.com/patent/US8751449B2

## CPC

- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/134: {Distributed indices}
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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.

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 8)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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.
