Intelligent data integration
First Claim
Patent Images
1. A computer-implemented method for merging data, comprising:
- under control of one or more computer systems configured with executable instructions,implementing at least one technique for identifying changed data, the changed data being accessible to a client entity of the one or more computer systems;
while reassigning, by the client entity, the data from a first storage node that is inaccessible to the client entity to a second storage node, receiving, by the client entity, a notification that access by the client entity to the first storage node has been at least partially restored;
determining, by the client entity and using at least in part information from the at least one technique for identifying changed data, whether reassigned data on the second storage node has been modified by the client entity; and
when the reassigned data on the second storage node has been modified,determining, by the client entity and using at least in part information from the at least one technique for identifying changed data, a subset of the reassigned data that has been modified;
determining, by the client entity and at least in part by processing, by the client entity, the modified subset of reassigned data, whether to complete the data reassignment; and
when determined by the client entity that the data reassignment should be completed, then completing the data reassignment, and when determined by the client entity that the data reassignment should be not be completed, then merging, by the client entity and using at least the information from the at least one technique for identifying changed data, the reassigned data on the second storage node with original data on the first storage node, both the reassigned data and the original data are accessible on the first storage node by the client entity.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage controller is implemented for controlling a storage system. The storage controller may be implemented using a distributed computer system and may include components for servicing client data requests based on the characteristics of the distributed computer system, the client, or the data requests. The storage controller is scalable independently of the storage system it controls. All components of the storage controller, as well as the client, may be virtual or hardware-based instances of a distributed computer system.
-
Citations
23 Claims
-
1. A computer-implemented method for merging data, comprising:
under control of one or more computer systems configured with executable instructions, implementing at least one technique for identifying changed data, the changed data being accessible to a client entity of the one or more computer systems; while reassigning, by the client entity, the data from a first storage node that is inaccessible to the client entity to a second storage node, receiving, by the client entity, a notification that access by the client entity to the first storage node has been at least partially restored; determining, by the client entity and using at least in part information from the at least one technique for identifying changed data, whether reassigned data on the second storage node has been modified by the client entity; and when the reassigned data on the second storage node has been modified, determining, by the client entity and using at least in part information from the at least one technique for identifying changed data, a subset of the reassigned data that has been modified; determining, by the client entity and at least in part by processing, by the client entity, the modified subset of reassigned data, whether to complete the data reassignment; and when determined by the client entity that the data reassignment should be completed, then completing the data reassignment, and when determined by the client entity that the data reassignment should be not be completed, then merging, by the client entity and using at least the information from the at least one technique for identifying changed data, the reassigned data on the second storage node with original data on the first storage node, both the reassigned data and the original data are accessible on the first storage node by the client entity. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer-implemented method for merging data, comprising:
-
under control of one or more computer systems configured with executable instructions, implementing at least one technique for identifying changed data that is stored on a storage system, the changed data being accessible to a client instance of the one or more computer systems; determining, by a device of the one or more computer systems and at least using information from the implemented at least one technique for identifying changed data, whether an initial configuration of the storage system should be restored; when determined by the device that the initial configuration should be restored, then restoring the initial configuration by at least; merging, by the device and at least using information from the at least one technique for identifying changed data, a modified subset of the data with an unmodified subset of the data, thereby creating a merged set of data; providing, by the restored initial configuration, the client instance access to the merged set of data; and updating a mapping, the mapping being configured to enable, by associating client data requests with corresponding locations of the stored data on the storage system, access by the client instance to the merged set of data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system for merging data, comprising:
- one or more processors; and
memory, including instructions executable by the one or more processors to cause the computer system to at least; track at least one technique for identifying changed data stored on a storage system, the changed data being accessible to a client instance of the computer system; determine, by a device of the computer system and using information from the tracked at least one technique for identifying changed data, which storage configuration among a first storage system configuration and a second storage system configuration should be used to access the stored data; determine, by the device and using the at least one technique for identifying changed data, a subset of changed data from the stored data; and merge, by the device and using information from the tracked at least one technique for identifying changed data, the subset of changed data with data outside the subset, the merged data being accessible by the client instance using the determined storage configuration; and update a mapping, the mapping being configured to enable, by associating client data requests with corresponding locations of the stored data on the storage system, access by the client instance to the merged data. - View Dependent Claims (14, 15, 16, 17)
- one or more processors; and
-
18. One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computing resource provider'"'"'s computer system, cause the computer system to at least:
-
retain at least one technique for identifying changed data that is stored on a storage system, the at least one technique for identifying changed data indicating whether the changed data that is stored on the storage system has been modified, the changed data being accessible to a client instance of the computer system; and in response to a notification that, while reassigning data from a first storage device that is inaccessible to the client instance to a second storage device, the first storage device becomes accessible to the client instance; determine, by a device of the computer system and using the at least one technique for identifying changed data, an optimal storage device for providing the client instance access to the data, the optimal storage device being determined from among the first storage device and the second storage device; copy, by the device and using the at least one technique for identifying changed data, modified data to the optimal storage device; provide, by the device, information enabling the client instance to access the optimal storage device; and update a mapping, the mapping being configured to enable, by associating client data requests with corresponding locations of the data on the storage system, access by the client instance to the stored data. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification