IP Library Granted Patent US 9,807,167
Granted Patent B2
US 9,807,167 · App. 14/542,221 · Granted Oct 31, 2017

System and method for optimally managing heterogeneous data in a distributed storage environment

Inventor: Abhishek Suman (Nalanda, IN)
Assignee: Wipro Limited
H04L67/1097G06F3/06G06F12/023G06F2212/1016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,807,167
App. No.
14/542,221
Granted
Oct 31, 2017
Kind
B2
Abstract

This technology relates to data management computing apparatuses, methods, and non-transitory computer-readable media that optimally manage heterogeneous data in a distributed environment in real time. The method comprises initializing a first storage pool capable of storing data from one or more sources, the first storage pool being distributed across one or more computing devices. Then data from the one or more sources may be stored in the first storage pool. Subsequently, one or more memory pools may be generated in a second storage pool based on amount of data to be stored in the first storage pool and one or more parameters associated with the data stored in the first storage pool. Finally, metadata is created in a first memory pool of the one or more memory pools for the data stored in the first storage pool, the metadata capable of retrieving the data stored in the first storage pool in real-time.

Claims (60)

1. A method for optimally managing data in a distributed storage environment, the method comprising:

initializing, by a data management computing apparatus, a first storage pool capable of storing data from one or more sources, the first storage pool being distributed across one or more computing devices;

storing, by the data management computing apparatus, data from the one or more sources in the first storage pool;

generating, by the data management computing apparatus, one or more memory pools in a second storage pool based on amount of data to be stored in the first storage pool and one or more parameters associated with the data stored in the first storage pool;

creating, by the data management computing apparatus, metadata in a first memory pool of the one or more memory pools for the data stored in the first storage pool, the metadata capable of retrieving the data stored in the first storage pool in real-time;

identifying, by the data management computing apparatus, a failure in at least one of the one or more computing devices;

circulating, by the data management computing apparatus, the information regarding the failure to the metadata stored in the second storage pool;

creating, by the data management computing apparatus, one or more redundant copies of the data corrupted by the failure; and

updating, by the data management computing apparatus, the metadata in response to creating one or more redundant copies of the data.

2. The method of claim 1 , wherein the metadata comprises at least one of location of the data, access rights associated with the data, number of copies of the data, status of the data, retention period of the data, location of the nearest copy of the data across the one or more computing devices.

3. The method of claim 1 , further comprising:

performing, by the data management computing apparatus, one or more operations associated with the data stored in the first storage pool; and

updating, by the data management computing apparatus, the metadata in the second storage pool in response to performing the one or more operations associated with the data stored in the first storage pool.

4. The method of claim 1 , further comprising;

receiving, by the data management computing apparatus, a request to retrieve a first data from the first storage pool;

fetching, by the data management computing apparatus, a map indicative of the location of the first data in the first storage pool; and

fetching, by the data management computing apparatus, a nearest copy of the first data using the map.

5. The method of claim 1 , wherein initializing the first storage pool further comprises:

initiating, by the data management computing apparatus, one or more services on the one or more computing devices to provide storage capacity of the first storage pool;

sharing, by the data management computing apparatus, the storage capacity by the one or more computing devices among themselves.

6. The method of claim 1 , further comprising generating, by the data management computing apparatus, a cache data store in a second memory pool of the one or more memory pools, the cache data store capable of storing at least a portion of the data, the portion of the data being frequently accessed data.

7. The method of claim 1 , wherein the first storage pool comprises a persistent storage and wherein the second storage pool comprises a volatile random access memory.

8. The method of claim 1 , further comprising:

providing, by the data management computing apparatus, concurrent and exclusive access to multiple users of the first storage pool in real-time using semaphores and Mutex index.

9. The method of claim 1 , further comprising:

grouping, by the data management computing apparatus, similar type of data together for faster access.

10. A data management computing apparatus comprising:

a processor; and

a memory coupled to the processor, which is configured for executing programmed instructions comprising and stored in the memory to:

initialize a first storage pool capable of storing data from one or more sources, the first storage pool being distributed across one or more computing devices;

store data from the one or more sources in the first storage pool;

generate one or more memory pools in a second storage pool based on amount of data to be stored in the first storage pool and one or more parameters associated with the data stored in the first storage pool, the second storage pool being distributed across the one or more computing devices;

create metadata in a first memory pool of the one or more memory pools for the data stored in the first storage pool, the metadata capable of retrieving the data stored in the first storage pool in real-time;

identify a failure in at least one of the one or more computing devices;

circulate the information regarding the failure to the metadata stored in the first storage pool;

create one or more redundant copies of the data corrupted by the failure; and

update the metadata in response to creating one or more redundant copies of the data.

11. The apparatus of claim 10 , wherein the metadata comprises at least one of a location of the data, access rights associated with the data, number of copies of the data, status of the data, retention period of the data, location of the nearest copy of the data across the one or more computing devices.

12. The apparatus of claim 10 , wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction further comprising and stored in the memory to:

perform one or more operations associated with the data stored in the first storage pool; and

update the metadata in the second storage pool in response to performing the one or more operations associated with the data stored in the first storage pool.

13. The apparatus of claim 10 , wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction further comprising and stored in the memory to:

receive a request to retrieve a first data from the first storage pool;

fetch a map indicative of the location of the first data in the first storage pool; and

fetch a nearest copy of the first data using the map.

14. The apparatus of claim 10 , wherein the processor coupled to the memory is further configured to be capable of executing for the initializing the first storage pool at least one additional programmed instruction further comprising and stored in the memory to:

initiate one or more services on the one or more computing devices to provide storage capacity of the first storage pool;

share the storage capacity by the one or more computing devices among themselves.

15. The apparatus of claim 10 , wherein the processor coupled to the memory is further configured to be capable of executing at least one additional programmed instruction further comprising and stored in the memory to:

generate a cache data store in a second memory pool of the one or more memory pools, the cache data store capable of storing at least a portion of the data, the portion of the data being frequently accessed data.

16. The apparatus of claim 10 , wherein the first storage pool comprises a volatile random access memory and wherein the second storage pool comprises a persistent storage.

17. A non-transitory computer readable medium having stored thereon instructions for optimally managing data in a distributed storage environment comprising executable code which when executed by a processor, causes the processor to perform steps comprising:

initializing a first storage pool capable of storing data from one or more sources, the first storage pool being distributed across one or more computing devices;

storing data from one or more sources in the first storage pool;

generating one or more memory pools in a second storage pool based on amount of data to be stored in the first storage pool and one or more parameters associated with the data stored in the first storage pool, the second storage pool being distributed across the one or more computing devices;

creating metadata in a first memory pool of the one or more memory pools for the data stored in the first storage pool, the metadata capable of retrieving the data stored in the first storage pool in real-time;

identifying a failure in at least one of the one or more computing devices;

circulating the information regarding the failure to the metadata stored in the first storage pool;

creating one or more redundant copies of the data corrupted by the failure; and

updating the metadata in response to creating one or more redundant copies of the data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: SUMAN, ABHISHEK
To: WIPRO LIMITED
Reel/Frame 034410/0820 →
Priority Claims (1)
IN 4676/CHE/2014 · Sep 24, 2014 · national
Continuity (1)
Related Publication 20160088084A1 · Mar 24, 2016