Distributed file system for intelligently managing the storing and retrieval of data
First Claim
1. A distributed file storage system comprising:
- a plurality of storage units that communicate over a network, wherein each storage unit includes at least a processor and a storage device;
a file stored on one of the plurality of the storage units;
a switch that is configured to receive a read request for the file and to send the read request to one of the plurality of storage units that stores at least the file or a replicated copy of the file, wherein each of the plurality of storage units is operable to monitor access to the file, such that a block cache module is operable to perform a scaled amount of packet read aheads, and wherein the scaled amount is based on at least a current read rate and a current latency of a link to access the file;
wherein the distributed file storage system is arranged for determining at least one copy of the file to be replicated and determining at least a portion of the plurality of storage units to separately store each replicated copy of the file, wherein monitoring is in real time for a pattern of access and based on the monitored pattern of access indicating a frequent access pattern, modifying storage of data blocks for the file by replicating the data blocks on multiple storage units that creates multiple points of access for at least one of the data blocks for the file; and
wherein the distributed file storage system includes different levels of replication including different types and times of replications for different files.
14 Assignments
0 Petitions
Accused Products
Abstract
A distributed file system enables the intelligent storing and retrieval of files among a plurality of storage units. The distributed file system utilizes a metadata data structure to track and manage detailed information about each file, including, for example, the device and block locations of the file'"'"'s data blocks, to permit different levels of replication and/or redundancy. The distributed file system includes a switch to receive a read request for a file and to send the read request to one of the storage units. Each of the plurality of storage units is operable to monitor access to the file, such that a block cache module is operable to perform a scalable number of packet read aheads, wherein the scalable number is based on at least a current read rate and a current latency of a link to access the at least one file.
-
Citations
20 Claims
-
1. A distributed file storage system comprising:
-
a plurality of storage units that communicate over a network, wherein each storage unit includes at least a processor and a storage device; a file stored on one of the plurality of the storage units; a switch that is configured to receive a read request for the file and to send the read request to one of the plurality of storage units that stores at least the file or a replicated copy of the file, wherein each of the plurality of storage units is operable to monitor access to the file, such that a block cache module is operable to perform a scaled amount of packet read aheads, and wherein the scaled amount is based on at least a current read rate and a current latency of a link to access the file; wherein the distributed file storage system is arranged for determining at least one copy of the file to be replicated and determining at least a portion of the plurality of storage units to separately store each replicated copy of the file, wherein monitoring is in real time for a pattern of access and based on the monitored pattern of access indicating a frequent access pattern, modifying storage of data blocks for the file by replicating the data blocks on multiple storage units that creates multiple points of access for at least one of the data blocks for the file; and wherein the distributed file storage system includes different levels of replication including different types and times of replications for different files. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A storage unit for a distributed file storage system, comprising:
-
a storage device; an interface for communicating with a plurality of storage units and a switch over a network; a file that is stored on the storage unit and at least one replicated copy of the file is stored on at least one of the other storage units; and a processor that is operable to execute instructions that enable actions, including; enabling the distributed file storage system to include different levels of replication including different types and times of replications for different files; enabling a switch to receive a read request for the file and to send the read request to at least one of the plurality of storage units that stores at least one of the file or a replicated copy of the file, wherein each of the plurality of storage units is operable to monitor access to the file, such that a block cache module is operable to perform a scaled amount of packet read aheads, wherein the scaling of the amount is based on at least a current read rate and a current latency of a link to access the file; enabling the distributed file storage system to determine at least one copy of the file to be replicated and to determine at least a portion of the plurality of storage units to store each replicated copy of the file; and wherein the monitoring of access to the file further comprises monitoring in real time a pattern of access; and
based on the monitored pattern of access indicating a frequent access pattern, modifying storage of data blocks for the file by replicating the data blocks on multiple storage units that creates multiple points of access for at least one of the data blocks for the file. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A processor readable storage media that includes processor readable instructions for enabling actions for a distributed file system to operate over a network, comprising:
-
enabling communication between a switch and a plurality of storage units; enabling the distributed file system to include different levels of replication including different types and times of replications for different files; storing a file on at least one of the plurality of storage units and a replicated copy of the file on at least one of the other storage units; enabling a read request for the at least one file to be provided by the switch to one of the storage units, wherein each of the plurality of storage units is operable to monitor access to the file, such that a block cache module is operable to perform a scaled amount of packet read aheads, and wherein the scaled amount is based on at least a current read rate and a current latency of a link to access the file; determining a number of copies of the file to be replicated and determining at least a portion of the plurality of storage units to store each replicated copy of the file; and wherein the monitoring of access to the file further comprises monitoring in real time a pattern of access; and
based on the monitored pattern of access indicating a frequent access pattern, modifying storage of data blocks for the file by replicating the data blocks on multiple storage units that creates multiple points of access for at least one of the data blocks for the file. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for enabling actions for a distributed file system to operate over a network, comprising:
-
enabling communication between a switch and a plurality of storage units; enabling the distributed file system to include different levels of replication including different types of replications for different files; storing a file on at least one of the plurality of storage units and a replicated copy of the file on at least one of the other storage units; enabling a read request for the at least one file to be provided by the switch to one of the storage units, wherein each of the plurality of storage units is operable to monitor access to the file, such that a block cache module is operable to perform a scaled amount of packet read aheads, and wherein the scaled amount is based on at least a current read rate and a current latency of a link to access the file; determining a number of copies of the file to be replicated and determining at least a portion of the plurality of storage units to store each replicated copy of the file; and wherein the monitoring of access to the file further comprises monitoring in real time a pattern of access; and
based on the monitored pattern of access indicating a frequent access pattern, modifying storage of data blocks for the file by replicating the data blocks on multiple storage units that creates multiple points of access for at least one of the data blocks for the file. - View Dependent Claims (17, 18, 19, 20)
-
Specification