IP Library Granted Patent US 9,792,295
Granted Patent B1
US 9,792,295 · App. 14/484,639 · Granted Oct 17, 2017

Distributing data of multiple logically independent file systems in distributed storage systems including physically partitioned disks

Inventor: Silvius V. Rus (Orinda, CA)
Assignee: Quantcast Corporation
G06F17/30194G06F3/067G06F17/30584
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 9,792,295
App. No.
14/484,639
Granted
Oct 17, 2017
Kind
B1
Abstract

A distributed storage system maintains multiple logically independent file systems. Each file system includes a data set stored by a storage device of the distributed storage system. During operation, access pattern levels for the multiple logically independent file systems are determined. Thereafter, the data sets included in the multiple logically independent file systems are redistributed across multiple storage devices of the distributed storage. Redistribution of a particular data set is based at least in part on the particular file system including the particular data set and on the determined access pattern levels for the multiple logically independent file systems. In addition, each disk of a plurality of disks in the distributed storage includes a physically separated partition dedicated to storing the data of the file system that is most frequently accessed. The distribution of data is based at least in part on the presence of the physically separated partition.

Claims (60)

1. A computer-implemented method for distributing data stored in a distributed storage comprising a plurality of disks, the method comprising:

maintaining a plurality of logically independent file systems, wherein each file system includes a data set stored by the distributed storage;

determining file system access pattern levels by observing accesses to data files in the data set included in each of the file systems;

determining which file system is most frequently accessed among the plurality of logically independent file systems;

establishing a dedicated physical partition in each of the plurality of disks for the data set of the most frequently accessed file system, the dedicated physical partition located near an outer edge of the respective disk;

and distributing the data set of the most frequently accessed file system across dedicated physical partitions of the plurality of disks before distributing data sets of other file systems of the plurality of logically independent file systems across another partition in each of the plurality of disks, wherein the data sets of the other file systems are distributed based at least in part on determined file system access pattern levels for the plurality of logically independent file systems;

determining that a specific file system from a plurality of other logically independent file systems has an access pattern level specifying a higher probability of future access than a probability of future access specified by an access pattern level of another one of the plurality of logically independent file systems; and

redistributing a data set included in the specific file system prior to redistributing a data set included in another file system based on the determination that the specific file system from the plurality of other logically independent file systems has the access pattern level specifying a higher probability of future access than the probability of future access specified by the access pattern level of the another one of the plurality of logically independent file systems.

2. The computer-implemented method of claim 1 , wherein

distributing the data sets of the other logically independent file systems comprises:

redistributing a particular data set included in a particular file system from the plurality of logically independent file systems uniformly across a plurality of storage devices of the distributed storage.

3. The computer-implemented method of claim 1 , wherein distributing the data sets of the other logically independent file systems comprises:

determining storage requirements for the plurality of file systems;

obtaining device characteristic information for a plurality of storage devices of the distributed storage; and

redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage.

4. The computer-implemented method of claim 3 , wherein redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage comprises:

redistributing a specific data set included in a specific file system from the plurality of logically independent file systems across the plurality of storage devices in proportion to a performance characteristic for the specific file system described by the performance characteristic information.

5. The computer-implemented method of claim 3 , wherein redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage comprises:

calculating a target amount of storage space assigned to a specific file system for each of the plurality of storage devices by dividing a storage requirement for the specific file system by a number of the plurality of storage devices; and

redistributing a specific data set included in the specific file system across the plurality of storage devices based on the calculated target amounts of storage space.

6. A non-transitory computer readable storage medium including computer program instructions that, when executed, cause a computer processor to perform operations comprising:

maintaining a plurality of logically independent file systems, wherein each file system includes a data set stored by a distributed storage;

determining file system access pattern levels by observing accesses to data files in the data set included in each of the file systems;

determining which file system is most frequently accessed among the plurality of logically independent file systems;

establishing a dedicated physical partition in each of a plurality of disks for the data set of the most frequently accessed file system, the dedicated physical partition located near an outer edge of the respective disk;

and distributing the data set of the most frequently accessed file system across dedicated physical partitions of the plurality of disks before distributing data sets of other file systems of the plurality of logically independent file systems across another partition in each of the plurality of disks, wherein the data sets of the other file systems are distributed based at least in part on determined file system access pattern levels for the plurality of logically independent file systems;

determining that a specific file system from a plurality of other logically independent file systems has an access pattern level specifying a higher probability of future access than a probability of future access specified by an access pattern level of another one of the plurality of logically independent file systems; and

redistributing a data set included in the specific file system prior to redistributing a data set included in another file system based on the determination that the specific file system from the plurality of other logically independent file systems has the access pattern level specifying a higher probability of future access than the probability of future access specified by the access pattern level of the another one of the plurality of logically independent file systems.

7. The medium of claim 6 , wherein distributing the data sets of the other logically independent file systems comprises:

redistributing a particular data set included in a particular file system from the plurality of logically independent file systems uniformly across a plurality of storage devices of the distributed storage.

8. The medium of claim 6 , wherein distributing the data sets of the other logically independent file systems comprises:

determining storage requirements for the plurality of file systems;

obtaining device characteristic information for a plurality of storage devices of the distributed storage; and

redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage.

9. The medium of claim 8 , wherein redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage comprises:

redistributing a specific data set included in a specific file system from the plurality of logically independent file systems across the plurality of storage devices in proportion to a performance characteristic for the specific file system described by the performance characteristic information.

10. The medium of claim 8 , wherein redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage comprises:

calculating a target amount of storage space assigned to a specific file system for each of the plurality of storage devices by dividing a storage requirement for the specific file system by a number of the plurality of storage devices; and

redistributing a specific data set included in the specific file system across the plurality of storage devices based on the calculated target amounts of storage space.

11. A system comprising:

a hardware computer processor; and

a non-transitory computer readable storage medium storing processor-executable computer program instructions, the instructions comprising instructions for:

maintaining a plurality of logically independent file systems, wherein each file system includes a data set stored by a distributed storage;

determining file system access pattern levels by observing accesses to data files in the data set included in each of the file systems;

determining which file system is most frequently accessed among the plurality of logically independent file systems;

establishing a dedicated physical partition in each of a plurality of disks for the data set of the most frequently accessed file system, the dedicated physical partition located near an outer edge of the respective disk; and

distributing the data set of the most frequently accessed file system across the dedicated physical partitions of the plurality of disks before distributing the data sets of other file systems of the plurality of logically independent file systems across another partition in each of the plurality of disks, wherein the data sets of the other file systems are distributed based at least in part on determined file system access pattern levels for the plurality of logically independent file systems;

determining that a specific file system from a plurality of other logically independent file systems has an access pattern level specifying a higher probability of future access than a probability of future access specified by an access pattern level of another one of the plurality of logically independent file systems; and

redistributing a data set included in the specific file system prior to redistributing a data set included in another file system based on the determination that the specific file system from the plurality of other logically independent file systems has the access pattern level specifying a higher probability of future access than the probability of future access specified by the access pattern level of the another one of the plurality of logically independent file systems.

12. The system of claim 11 , wherein distributing the data sets of the other logically independent file systems comprises:

redistributing a particular data set included in a particular file system from the plurality of logically independent file systems uniformly across a plurality of storage devices of the distributed storage.

13. The system of claim 11 , wherein distributing the data sets of the other logically independent file systems comprises:

determining storage requirements for the plurality of file systems;

obtaining device characteristic information for a plurality of storage devices of the distributed storage; and

redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage.

14. The system of claim 11 , wherein redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage comprises:

redistributing a specific data set included in a specific file system from the plurality of logically independent file systems across the plurality of storage devices in proportion to a performance characteristic for the specific file system described by the performance characteristic information.

15. The system of claim 11 , wherein redistributing the data sets across the plurality of storage devices based on the storage requirements for the plurality of file systems and the obtained device characteristic information for the plurality of storage devices of the distributed storage comprises:

calculating a target amount of storage space assigned to a specific file system for each of the plurality of storage devices by dividing a storage requirement for the specific file system by a number of the plurality of storage devices;

and redistributing a specific data set included in the specific file system across the plurality of storage devices based on the calculated target amounts of storage space.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 21, 2024
From: BANK OF AMERICA, N.A.
To: QUANTCAST CORPORATION
Reel/Frame 067807/0017 →
SECURITY INTEREST Recorded Jun 18, 2024
From: QUANTCAST CORPORATION
To: CRYSTAL FINANCIAL LLC D/B/A SLR CREDIT SOLUTIONS
Reel/Frame 067777/0613 →
SECURITY INTEREST Recorded Dec 5, 2022
From: QUANTCAST CORPORATION
To: VENTURE LENDING & LEASING IX, INC.; WTI FUND X, INC.
Reel/Frame 062066/0265 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2021
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: QUANTCST CORPORATION
Reel/Frame 057678/0832 →
SECURITY INTEREST Recorded Sep 30, 2021
From: QUANTCAST CORPORATION
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 057677/0297 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2021
From: TRIPLEPOINT VENTURE GROWTH BDC CORP.
To: QUANTCAST CORPORATION
Reel/Frame 055599/0282 →
SECURITY INTEREST Recorded Aug 7, 2018
From: QUANTCAST CORPORATION
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 046733/0305 →
PATENT SECURITY AGREEMENT Recorded Jun 26, 2015
From: QUANTCAST CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 036020/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2014
From: RUS, SILVIUS V.
To: QUANTCAST CORPORATION
Reel/Frame 033729/0905 →
Continuity (1)
Continuation In Part 13760933 · Feb 6, 2013