Method and system for load balancing by replicating a portion of a file being read by a first stream onto second device and reading portion with a second stream capable of accessing
First Claim
1. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server, comprising:
- code means for determining the existence of an overload condition on a first storage device, said first storage device having a plurality of retrieval streams accessing at least one file thereon;
code means for selecting a first retrieval stream reading a file;
code means for replicating a portion of said file while being read by said first retrieval stream onto a second storage device; and
code means for reading said replicated portion of said file on said second storage device with a retrieval stream capable of accessing said replicated portion of said file.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system for improving load balancing in a file server is disclosed. The method includes determining the existence of an overload condition on a storage device, the storage device having a plurality of retrieval streams accessing at least one file thereon; selecting a first retrieval stream reading a file; replicating a portion of said file being read by said first retrieval stream onto a second storage device; and reading the replicated portion of said file on said second storage device with a retrieval stream capable of accessing the replicated portion of said file. The method and system enables the dynamic replication of data objects to respond to fluctuating user demand. The method and system is particularly useful in file servers such as multimedia servers delivering continuously in real time large multimedia files such as movies.
-
Citations
34 Claims
-
1. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server, comprising:
-
code means for determining the existence of an overload condition on a first storage device, said first storage device having a plurality of retrieval streams accessing at least one file thereon;
code means for selecting a first retrieval stream reading a file;
code means for replicating a portion of said file while being read by said first retrieval stream onto a second storage device; and
code means for reading said replicated portion of said file on said second storage device with a retrieval stream capable of accessing said replicated portion of said file. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 20, 21, 28)
-
-
6. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining the existence of an overload condition on a first storage device, said first storage device having a plurality of retrieval streams accessing at least one file thereon;
code means for selecting a first retrieval stream reading a file;
code means for replicating a portion of said file being read by said first retrieval stream onto a second storage device; and
code means for reading said replicated portion of said file on said second storage device with a retrieval stream capable of accessing said replicated portion of said file;
wherein said code means for replicating a portion of said file being read by said first retrieval stream onto a second storage device comprises; code means for reading said file using said first retrieval stream from said first storage device; and
code means for writing said portion of said file using a retrieval stream capable of accessing said replicated portion of said file onto said second storage device.
-
-
13. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server, comprising:
-
code means for determining the existence of an overload condition on a first storage device, said first storage device having a plurality of retrieval streams accessing at least one file thereon;
code means for selecting a first retrieval stream reading a file;
code means for replicating a portion of said file being read by said first retrieval stream onto a second storage device; and
code means for reading said replicated portion of said file on said second storage device with a retrieval stream capable of accessing said replicated portion of said file;
wherein said file includes at least one permanent, primary segment; and wherein said replicated portion of said file comprises at least one secondary segment. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining the existence of an overload condition on a first storage device, said first storage device having a plurality of retrieval streams accessing at least one file thereon;
code means for selecting a first retrieval stream reading a file;
code means for replicating a portion of said file being read by said first retrieval stream onto a second storage device; and
code means for reading said replicated portion of said file on said second storage device with a retrieval stream capable of accessing said replicated portion of said file;
wherein said file comprises a plurality of blocks; and wherein said code means for replicating said portion of said file being read by said first retrieval stream onto said second storage device comprises; code means for sequentially reading said plurality of blocks from said first retrieval stream; and
code means for writing one or more of said plurality of blocks onto said second storage device.
-
-
19. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining the existence of an overload condition on a first storage device, said first storage device having a plurality of retrieval streams accessing at least one file thereon;
code means for selecting a first retrieval stream reading a file;
code means for replicating a portion of said file being read by said first retrieval stream onto a second storage device; and
code means for reading said replicated portion of said file on said second storage device with a retrieval stream capable of accessing said replicated portion of said file;
wherein said file comprises a plurality of segments, each of said plurality of segments comprising a plurality of blocks; and wherein said code means for replicating said portion of said file being read by said first retrieval stream onto said second storage device comprises; code means for sequentially reading at least one of said segments from said first retrieval stream; and
code means for writing at least one of said segments on to said second storage device.
-
-
22. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining an excess number of permanently stored primary copies of a segment of a file;
code means for converting one of said permanently stored primary copies of said segment, not being accessed, to a temporary secondary copy of said segment, wherein said secondary copy of said segment is capable of being overwritten; and
code means for overwriting said secondary copy of said segment for improving the load balancing in said file server.
-
-
23. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining an excess number of permanently stored primary segments of a file;
code means for estimating a required number of primary segments based on load history;
code means for converting one of said permanently stored primary segments, not being accessed, to a temporary secondary segment, wherein said secondary segment is capable of being overwritten; and
code means for overwriting said secondary segment for improving the load balancing in said file server. - View Dependent Claims (24)
-
-
25. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining a load on a temporarily stored secondary copy of a segment of a file;
code means for determining if said load on said secondary copy of said segment exceeds a threshold value; and
code means for converting said temporarily stored secondary copy of said segment to a permanently stored primary copy of said segment of said file, wherein said primary copy of said segment is prevented from being overwritten.
-
-
26. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for improving load balancing in a file server comprising:
-
code means for determining a load on a temporarily stored secondary segment of a file including means for determining a variable load history for said secondary segment;
code means for determining if said load on said secondary segment exceeds a threshold value; and
code means for converting said temporarily stored secondary segment to a permanently stored primary segment of said file, wherein said primary segment is prevented from being overwritten. - View Dependent Claims (27)
-
-
29. A method for balancing a load in a file server having a plurality of retrieval streams reading at least one file therein, comprising:
copying a portion of a file of said at least one file from a first storage area to a second storage area in said file server, for future access by at least one other retrieval stream, while the same data of the portion of the same file is being read by a given retrieval stream of the plurality of retrieval streams, wherein said copying includes using the given retrieval stream to read the data of the portion of the file from the first storage area.
-
30. A method for balancing a load in a file server having a plurality of retrieval streams reading at least one file therein, comprising:
copying a portion of a file of said at least one file from a first storage area to a second storage area in said file server while the same data of the portion of the same file is being read by a given retrieval stream of the plurality of retrieval streams, wherein said copying includes using the given retrieval stream to read the data of the portion of the file from the first storage area, and using another retrieval stream to write the data of the portion of the file to the second storage area.
-
31. A system for balancing a load in a file server having a plurality of retrieval streams reading at least one file therein, comprising:
means for copying a portion of a file of said at least one file from a first storage area to a second storage area in said file server, for future access by at least one other retrieval stream, while the same data of the portion of the same file is being read by a given retrieval stream of the plurality of retrieval streams, wherein said means for copying includes means for using the given retrieval stream to read the data of the portion of the file from the first storage area.
-
32. A system for balancing a load in a file server having a plurality of retrieval streams reading at least one file therein, comprising:
means for copying a portion of a file of said at least one file from a first storage area to a second storage area in said file server while the same data of the portion of the same file is being read by a given retrieval stream of the plurality of retrieval streams, wherein said means for copying includes means for using the given retrieval stream to read the data of the portion of the file from the first storage area, and using another retrieval stream to write the data of the portion of the file to the second storage area.
-
33. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for balancing a load in a file server having a plurality of retrieval streams reading at least one file therein, comprising:
code means for copying a portion of a file of said at least one file from a first storage area to a second storage area in said file server, for future access by at least one other retrieval stream, while the same data of the portion of the same file is being read by a given retrieval stream of the plurality of retrieval streams, wherein said code means for copying includes code means for using the given retrieval stream to read the data of the portion of the file from the first storage area.
-
34. An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for balancing a load in a file server having a plurality of retrieval streams reading at least one file therein, comprising:
code means for copying a portion of a file of said at least one file from a first storage area to a second storage area in said file server while the same data of the portion of the same file is being read by a given retrieval stream of the plurality of retrieval streams, wherein said code means for copying includes code means for using the given retrieval stream to read the data of the portion of the file from the first storage area, and code means for using another retrieval stream to write the data of the portion of the file to the second storage area.
Specification