In a computer for executing processing based on a storage management program, a management information storing unit designates, from the data blocks having the same content, main-data used as an access destination and sub-data used as a backup, and stores management information that registers storage nodes as allocation destinations of the respective main-data and sub-data; a load information collecting unit continuously collects load information on the storage nodes; a replacement object detecting unit detects a pair of the main-data and the sub-data having the same content and having a predetermined condition such that a load difference between the allocation destination of the main-data and that of the sub-data exceeds a predetermined allowable value; and a management information updating unit replaces roles of the main-data and the sub-data between the detected pair of data blocks.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-readable, non-transitory recording medium which records a storage management program for managing a data allocation status of a distributed storage system that distributes and allocates a plurality of data blocks having a same content to a plurality of storage nodes connected via a network, the program causing a computer to perform a procedure comprising: designating, from the data blocks having the same content, main-data used as an access destination and sub-data used as a backup, and storing management information that registers the storage nodes as allocation destinations of the respective main-data and sub-data; collecting load information on the storage nodes; detecting as a replacement object a pair of the main-data and the sub-data having the same content based on the management information and the collected load information, the pair of the main-data and the sub-data having a condition such that a load difference between a storage node storing the main-data and a storage node storing the sub-data exceeds a predetermined allowable value; updating the management information so as to replace roles of the main-data and the sub-data between the detected pair of data blocks; and transmitting, upon receiving a request for the management information from an access node, the updated management information to the access node, wherein the access node accesses one of the data blocks stored in a storage node among the storage nodes, and when said one of the data blocks is the sub-data and an access to said one of the data blocks is rejected by the accessed storage node, transmits the request to the computer and accesses another one of the data blocks stored in another storage node among the storage nodes based on the updated management information received in response to the request.
A distributed storage system balances data access load by designating data blocks as either "main" (primary access point) or "sub" (backup). Management software tracks the location of these blocks across multiple storage nodes. The system monitors the load on each node and, if the load difference between nodes storing the main and sub copies of the same data exceeds a threshold, it swaps their roles. When an access node requests data, it's directed to the "main" copy. If that access fails (e.g., the "main" is busy and rejects the connection), the access node reports back to the management software and then accesses the "sub" copy's storage node, based on updated location information, ensuring continued data availability and better load distribution.
2. The computer readable, non-transitory recording medium according to claim 1 , wherein: the procedure further comprises determining whether a load difference between a maximum load node and a minimum load node among the storage nodes exceeds the predetermined allowable value, and the detecting detects, when the load difference exceeds the predetermined allowable value, a pair of the main-data allocated to the maximum load node and the sub-data allocated to the minimum load node as a candidate for an replacement object.
Building upon the distributed storage system in claim 1, the system identifies overloaded and underloaded storage nodes. Specifically, it determines if the load difference between the most heavily loaded node and the least loaded node exceeds a predetermined limit. If so, the system prioritizes swapping the roles of "main" data residing on the busiest node with "sub" data on the least busy node. This focuses the load balancing efforts on the most significant disparities in node utilization.
3. The computer readable, non-transitory recording medium according to claim 1 , wherein: the detecting continuously performs replacement object detection processing at predetermined time intervals.
In the distributed storage system described in claim 1, the load balancing process, which involves detecting main/sub data pairs for potential role swapping, is performed continuously at regular time intervals. This ensures that the data allocation is consistently optimized for load distribution, adapting to changes in access patterns and node performance over time without requiring manual intervention.
4. The computer readable, non-transitory recording medium according to claim 1 , wherein: in the management information, an address space of a logical volume used for identification of data is divided into a plurality of logical segments, and the data blocks having the same content are managed in units of the logical segments, and the updating replaces roles of the main-data and the sub-data in units of the logical segments.
Expanding on claim 1, the distributed storage system organizes data into logical volumes, further dividing them into logical segments. The management software tracks main and sub data blocks and performs role swaps at the granularity of these logical segments. This allows for more fine-grained load balancing, rather than swapping entire volumes, which is useful when only certain parts of a volume are experiencing high access rates.
5. The computer readable, non-transitory recording medium according to claim 1 , wherein: the procedure further comprises receiving from any one of the storage nodes a notification indicating a start of rearrangement of data blocks allocated to the storage node, and the detecting identifies, when the notification is received, all the main-data blocks allocated to the storage node as a notification source, and detects as an replacement object a pair of the identified main-data and sub-data having the same content as that of the main-data, regardless of a load size.
Continuing from claim 1, if a storage node begins rearranging its internally stored data blocks (e.g. during defragmentation), it notifies the management software. Upon receiving this notification, the system identifies all "main" data blocks stored on that node, and regardless of current load differences, flags the pairs of main and corresponding sub data blocks for role swapping. This ensures that data being moved isn't simultaneously accessed as the primary copy, minimizing disruption during node maintenance.
6. The computer readable, non-transitory recording medium according to claim 1 , wherein the procedure further comprises notifying the storage nodes of an updated content after the management information is updated, the storage nodes being registered as allocation destinations of data blocks whose roles are replaced.
Extending the system of claim 1, after the management software updates the role assignments ("main" to "sub" or vice-versa) due to load balancing, it notifies the affected storage nodes. This communication informs the nodes that their role for specific data blocks has changed, ensuring they correctly handle subsequent access requests.
7. A storage management apparatus for managing a data allocation status of a distributed storage system that distributes and allocates a plurality of data blocks having a same content to a plurality of storage nodes connected via a network, the storage management apparatus comprising: a management information storing unit which designates, from the data blocks having the same content, main-data used as an access destination and sub-data used as a backup, and stores management information that registers the storage nodes as allocation destinations of the respective main-data and sub-data; a load information collecting unit which continuously collects load information on the storage nodes; a replacement object detecting unit which detects as a replacement object a pair of the main-data and the sub-data having the same content based on the management information stored in the management information storing unit and the load information collected by the load information collecting unit, the pair of the main-data and the sub-data having a condition such that a load difference between a storage node storing the main-data and a storage node storing the sub-data exceeds a predetermined allowable value; a management information updating unit which updates the management information stored in the management information storing unit so as to replace roles of the main-data and the sub-data between the pair of data blocks detected by the replacement object detecting unit; and a transmitter which transmits, upon receiving a request for the management information from an access node, the updated management information to the access node, wherein the access node accesses one of the data blocks stored in a storage node among the storage nodes, and when said one of the data blocks is the sub-data and an access to said one of the data blocks is rejected by the accessed storage node, transmits the request to the storage management apparatus and accesses another one of the data blocks stored in another storage node among the storage nodes based on the updated management information received in response to the request.
A storage management apparatus manages data allocation in a distributed storage system by designating data blocks as "main" (primary) or "sub" (backup) and tracking their locations across storage nodes. It continuously collects load information from these nodes. If the load difference between the nodes storing the main and sub copies of the same data exceeds a threshold, the apparatus swaps their roles in its internal records. When an access node requests data, it retrieves the updated location information from the apparatus. If access to the "main" copy fails (rejected by node), the access node queries the apparatus again and accesses the "sub" copy's node, based on updated routing, to maintain availability and balance the load.
8. The storage management apparatus according to claim 7 , wherein: the replacement object detecting unit determines whether a load difference between a maximum load node and a minimum load node among the storage nodes exceeds the predetermined allowable value, and detects, when the load difference exceeds the predetermined allowable value, a pair of the main-data allocated to the maximum load node and the sub-data allocated to the minimum load node as a candidate for a replacement object.
Expanding on the storage management apparatus in claim 7, the apparatus determines whether the load difference between the storage node with the highest load and the node with the lowest load exceeds a defined limit. If the load difference is excessive, the apparatus selects a main data block on the most loaded node and a corresponding sub data block on the least loaded node as candidates for role swapping. This prioritizes load balancing by focusing on the most extreme differences in utilization.
9. The storage management apparatus according to claim 7 , wherein: the replacement object detecting unit continuously performs replacement object detection processing at predetermined time intervals.
In the storage management apparatus described in claim 7, the process of identifying main/sub data pairs for role swapping based on node load is performed continuously at predetermined intervals. This automated, regular process dynamically adapts the data allocation to fluctuations in node performance and data access patterns, thus continuously balancing the load distribution.
10. The storage management apparatus according to claim 7 , wherein: in the management information, an address space of a logical volume used for identification of data is divided into a plurality of logical segments, and the data blocks having the same content are managed in units of the logical segments, and the management information updating unit replaces roles of the main-data and the sub-data in units of the logical segments.
Expanding on the apparatus of claim 7, the logical volumes used for data identification are further divided into logical segments. The storage management apparatus tracks main and sub data blocks and performs role swaps at the granularity of these logical segments. This allows for fine-grained load balancing, particularly when certain sections within a volume experience disproportionately high activity.
11. The storage management apparatus according to claim 7 , further comprising a notification receiving unit which receives from any one of the storage nodes a notification indicating a start of rearrangement of data blocks allocated to the storage node, wherein: the replacement object detecting unit identifies, when the notification receiving unit receives the notification, all the main-data blocks allocated to the storage node as a notification source, and detects as a replacement object a pair of the identified main-data and sub-data having the same content as that of the main-data, regardless of a load size.
Building upon the apparatus of claim 7, if a storage node starts rearranging its data blocks, it notifies the storage management apparatus. Upon receiving this notification, the apparatus identifies all "main" data blocks stored on that reporting node, and independently of existing load imbalances, flags these main data blocks and their associated sub copies for role swapping. This prevents the node from being overloaded during its internal reorganization process by redirecting access to the sub copy, preventing data access disruption during maintenance.
12. The storage management apparatus according to claim 7 , further comprising an updated content notifying unit which notifies the storage nodes of an updated content after the management information updating unit updates the management information, the storage nodes being registered as allocation destinations of data blocks whose roles are replaced.
Extending the apparatus from claim 7, after the storage management apparatus updates the main/sub role assignments, it sends notifications to the involved storage nodes. These notifications inform the affected nodes of their updated roles for specific data blocks and make sure that they correctly handle subsequent data access requests.
13. A storage management method for causing a computer to manage a data allocation status of a distributed storage system that distributes and allocates a plurality of data blocks having a same content to a plurality of storage nodes connected via a network, the method comprising: designating, from the data blocks having the same content, main-data used as an access destination and sub-data used as a backup, and storing management information that registers the storage nodes as allocation destinations of the respective main-data and sub-data; collecting load information on the storage nodes; detecting as a replacement object a pair of the main-data and the sub-data having the same content based on the management information and the collected load information, the pair of the main-data and the sub-data having a condition such that a load difference between a storage node storing the main-data and a storage node storing the sub-data exceeds a predetermined allowable value; updating the management information so as to replace roles of the main-data and the sub-data between the detected pair of data blocks; and transmitting, upon receiving a request for the management information from an access node, the updated management information to the access node, wherein the access node accesses one of the data blocks stored in a storage node among the storage nodes, and when said one of the data blocks is the sub-data and an access to said one of the data blocks is rejected by the accessed storage node, transmits the request to the computer and accesses another one of the data blocks stored in another storage node among the storage nodes based on the updated management information received in response to the request.
A storage management method balances data load in a distributed system by designating blocks as "main" (primary) or "sub" (backup), tracking their locations across storage nodes, and continuously monitoring node load. When the load difference between the main and sub copy locations exceeds a threshold, it swaps their roles. Access nodes retrieve updated location info and are directed to the "main" copy. On access failure (e.g., rejection), the access node queries the management system, and the system redirects to the "sub" copy based on the updated data allocation for availability and balance.
14. The storage management method according to claim 13 , wherein: the storage management method further comprises determining whether a load difference between a maximum load node and a minimum load node among the storage nodes exceeds the predetermined allowable value, and the detecting detects, when the load difference exceeds the predetermined allowable value, a pair of the main-data allocated to the maximum load node and the sub-data allocated to the minimum load node as a candidate for a replacement object.
The storage management method of claim 13 includes determining if the load difference between the most and least loaded nodes exceeds a threshold. If so, the method identifies a pair comprising a main data block on the most loaded node and a corresponding sub data block on the least loaded node, and flags them as candidates for a main/sub role swap. This prioritizes load balancing by addressing the most significant imbalances in node utilization.
15. The storage management method according to claim 13 , wherein: the detecting continuously performs replacement object detection processing at predetermined time intervals.
In the storage management method of claim 13, the process of detecting which main/sub data pairs to swap roles is performed continuously on a regular schedule. The continuous monitoring and dynamic adjustment ensure consistent optimization of load distribution, adapting to changes in access patterns and node performance over time.
16. The storage management method according to claim 13 , wherein: in the management information, an address space of a logical volume used for identification of data is divided into a plurality of logical segments, and the data blocks having the same content are managed in units of the logical segments, and the updating replaces roles of the main-data and the sub-data in units of the logical segments.
The storage management method of claim 13 uses logical volumes divided into logical segments for data organization. Role swapping between main and sub data is performed at the logical segment level. This offers fine-grained load balancing, especially useful when only certain portions of a volume have high access, and allows for a more precise adjustment of data placement for optimal resource use.
17. The storage management method according to claim 13 , further comprising receiving from any one of the storage nodes a notification indicating a start of rearrangement of data blocks allocated to the storage node, wherein: the detecting identifies, when the notification is received, all the main-data blocks allocated to the storage node as a notification source, and detects as a replacement object a pair of the identified main-data and sub-data having the same content as that of the main-data, regardless of a load size.
Expanding on the storage management method of claim 13, when a storage node initiates internal data rearrangement, it sends a notification. The management method responds by identifying all main data blocks on the reporting node and marking the associated main/sub data pairs for role swapping, irrespective of current load. This avoids any data access disruptions during the internal reorganization.
18. The storage management method according to claim 13 , further comprising notifying the storage nodes of an updated content after the management information is updated, the storage nodes being registered as allocation destinations of data blocks whose roles are replaced.
In the storage management method of claim 13, after updating the main/sub roles to balance data load, the method notifies the affected storage nodes. The notification tells these nodes of their updated data role and makes sure that they accurately handle future data access requests.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 24, 2009
August 27, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.