LOCATION INDEPENDENT SCALABLE FILE AND BLOCK STORAGE
First Claim
Patent Images
1. A method for resolving a single server bottleneck, the method comprising:
- performing one or more of the following operations;
a) splitting a filesystem into two or more filesystem parts;
b) extending a filesystem residing on a given storage server with its new filesystem part in a certain specified I/O domain;
c) migrating or replicating one or more of those parts into separate I/O domains;
d) merging some or all of the filesystem parts to create a single combined filesystem, andthen redirecting filesystem clients to use the resulting filesystem spanning multiple I/O domains.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system is disclosed for resolving a single server bottleneck. Logically associated data is typically collocated within a single filesystem or a single block device accessible via a single storage server. A single storage server can provide a limited I/O bandwidth, which creates a problem known as “single I/O node” bottleneck. The method and system provides techniques for spreading I/O workload over multiple I/O domains, both local and remote, while at the same time increasing operational mobility and data redundancy. Both file and block level I/O access are addressed.
155 Citations
28 Claims
-
1. A method for resolving a single server bottleneck, the method comprising:
-
performing one or more of the following operations;
a) splitting a filesystem into two or more filesystem parts;
b) extending a filesystem residing on a given storage server with its new filesystem part in a certain specified I/O domain;
c) migrating or replicating one or more of those parts into separate I/O domains;
d) merging some or all of the filesystem parts to create a single combined filesystem, andthen redirecting filesystem clients to use the resulting filesystem spanning multiple I/O domains. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for resolving a single storage target bottleneck, the method comprising:
-
performing one or more of the following operations;
a) splitting a virtual block device accessed via a given storage target into two or more parts;
b) extending a block device with a new block device part residing in a certain specified I/O domain;
c) migrating or replicating one or more of those parts into separate I/O domains;
d) merging some or all of those parts to create a single combined virtual block device, andthen redirecting hosts on the Storage Area Network (SAN) to access and utilize the resulting block devices in their respective I/O domains. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer readable storage medium containing program instructions executable on a computer for resolving a single server bottleneck, wherein the computer performs the following functions:
-
performing one or more of the following operations;
a) splitting a filesystem into two or more filesystem parts;
b) extending a filesystem residing on a given storage server with its new filesystem part in a certain specified I/O domain;
c) migrating or replicating one or more of those parts into separate I/O domains;
d) merging some or all of the filesystem parts to create a single combined filesystem, andthen redirecting filesystem clients to use the resulting filesystem spanning multiple I/O domains.
-
-
28. A computer readable storage medium containing program instructions executable on a computer for resolving a single server bottleneck, wherein the computer performs the following functions:
-
performing one or more of the following operations;
a) splitting a virtual block device accessed via a given storage target into two or more parts;
b) extending a block device with a new block device part residing in a certain specified I/O domain;
c) migrating or replicating one or more of those parts into separate I/O domains;
d) merging some or all of those parts to create a single combined virtual block device; andthen redirecting hosts on the Storage Area Network (SAN) to access and utilize the resulting block devices in their respective I/O domains.
-
Specification