ADAPTIVE POWER CONSERVATION IN STORAGE CLUSTERS
First Claim
1. A method of reading a computer file from a storage cluster having a plurality of computer nodes, said method comprising:
- receiving at a first computer node of said storage cluster, a request from an external client application to retrieve said computer file from said storage cluster, each of said computer nodes of said storage cluster being in an idle state;
receiving, at said first computer node, bid values from a subset of said computer nodes for reading said computer file, each computer node in said subset including said computer file;
choosing one of said plurality of computer nodes based upon said bid values from said computer nodes, said computer file residing on said chosen computer node while said chosen computer node is in an idle state, calculation of said bid values not requiring a disk access of said computer nodes;
transitioning said chosen computer node and a disk volume of said chosen computer node that includes said computer file to an active state;
maintaining computer nodes of said storage cluster that are not chosen in said idle state; and
returning said computer file from said disk volume of said chosen computer node to said external client application.
3 Assignments
0 Petitions
Accused Products
Abstract
Each node and volume in a storage cluster makes a decision whether to reduce power consumption based on lack of requests from client applications and nodes over a time period. Node configuration parameters determine how long to wait until idling a node or volume, and how long to wait while idle before performing integrity checks. A bid value is calculated by each node and reflects how much it will cost for that node to write a file, read a file, or keep a copy. A node with the lowest bid wins, and nodes that are idle have a premium added to each bid to ensure that idle nodes are kept idle. In an archive mode, writes bids are reversed, nodes with less capacity submit lower bids, fuller nodes fill up faster and are then idled, while empty or near empty nodes may remain idle before winning a write bid.
44 Citations
26 Claims
-
1. A method of reading a computer file from a storage cluster having a plurality of computer nodes, said method comprising:
-
receiving at a first computer node of said storage cluster, a request from an external client application to retrieve said computer file from said storage cluster, each of said computer nodes of said storage cluster being in an idle state; receiving, at said first computer node, bid values from a subset of said computer nodes for reading said computer file, each computer node in said subset including said computer file; choosing one of said plurality of computer nodes based upon said bid values from said computer nodes, said computer file residing on said chosen computer node while said chosen computer node is in an idle state, calculation of said bid values not requiring a disk access of said computer nodes; transitioning said chosen computer node and a disk volume of said chosen computer node that includes said computer file to an active state; maintaining computer nodes of said storage cluster that are not chosen in said idle state; and returning said computer file from said disk volume of said chosen computer node to said external client application. - View Dependent Claims (2, 3, 4)
-
-
5. A method of writing a computer file to a storage cluster having a plurality of computer nodes, said method comprising:
-
receiving at a first computer node of said storage cluster, a request from an external client application to write said computer file to said storage cluster, each of said computer nodes of said storage cluster being in an idle state, at least one of said computer nodes including at least one user computer file; each of said computer nodes calculating a bid value reflecting how much it costs each node to write to said each computer node, calculation of said bid value not requiring a disk access of said each computer node; receiving, at said first computer node, said bid values from said computer nodes; choosing one of said plurality of computer nodes by choosing the computer node with the best bid value; transitioning said chosen computer node and a disk volume of said chosen computer node to an active state; maintaining computer nodes of said storage cluster that are not chosen in said idle state; and writing said computer file from said external client application to said disk volume of said chosen computer node. - View Dependent Claims (6, 7, 8)
-
-
9. A method of writing a computer file to a storage cluster having a plurality of computer nodes, said method comprising:
-
receiving at a first computer node of said storage cluster, a request from an external archive application to write said computer file to said storage cluster; each of said computer nodes calculating a bid value for the opportunity to write to said each of said computer nodes, wherein a subset of said computer nodes are designated as being in archive mode and wherein bid values from computer nodes in archive mode having greater capacity being higher than bid values from computer nodes in archive mode having less capacity; receiving, at said first computer node, said bid values from said computer nodes; choosing, by said first computer node, one of said plurality of computer nodes having the least bid value because said chosen node has the least capacity out of said computer nodes; and writing said computer file from said external client application to a disk volume of said chosen computer node. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of storing a computer file in a storage cluster having a plurality of computer nodes, said method comprising:
-
receiving at a first computer node of said storage cluster a request from an external archive application to write said computer file to said storage cluster; calculating by a second computer node in said storage cluster a bid value for the opportunity to write to said second computer node; determining whether said second computer node is in an archive mode, and when it is determined that said second computer node is in an archive mode, adjusting said bid value such that the greater capacity of said second computer node the higher said bid value; said second computer node winning a bid competition amongst said computer nodes on the basis of said calculated bid value being a least bid value; and writing said computer file from said external client application to a disk volume of said second computer node. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A method of processing an external request in a storage cluster having a plurality of computer nodes, said method comprising:
-
receiving, at a first computer node of said storage cluster, an external request originating at an external client application; calculating, by an idle computer node of said storage cluster, a bid value for the opportunity to process said external request; determining whether said idle computer node is in an idle state, wherein when it is determined that said idle computer node is in an idle state, adding a premium value to said bid value resulting in a final bid value; submitting said final bid value to said first computer node for processing said external request; receiving notification by said idle computer node that said final bid value is not accepted to process said external request by virtue of no response being received to said submitted final bid value at said idle computer node, said final bid value not being accepted because said final bid value is higher than another bid value from another computer node of said storage cluster; and not processing said external request by said idle computer node. - View Dependent Claims (22, 23)
-
-
24. A method of writing a computer file to an idled storage cluster having a plurality of computer nodes, said storage cluster including a plurality of drives, including at least one solid-state drive (SSD) and at least one hard disk drive (HDD), said method comprising:
-
receiving at a first computer node of said storage cluster, a request from an external application to write said computer file to said storage cluster, all of said plurality of drives of said idled storage cluster being in an idle state; each of said computer nodes calculating a bid value for the opportunity to write said computer file, wherein a bid value from a second computer node takes into account an SSD bid value from an SSD of said second computer node, said SSD bid value being calculated differently from an HDD bid value from an HDD of one of said computer nodes; receiving, at said first computer node, said bid values from said computer nodes; choosing said second computer node having the lowest bid value; and writing said computer file from said external client application to said SSD of said chosen second computer node. - View Dependent Claims (25, 26)
-
Specification