US9882985B1ActiveUtility

Data storage path optimization for internet of things computing system

92
Assignee: EMC CORPPriority: Sep 14, 2015Filed: Sep 14, 2015Granted: Jan 30, 2018
Est. expirySep 14, 2035(~9.2 yrs left)· nominal 20-yr term from priority
G06F 17/30575H04L 67/1097G06F 17/30873G06F 3/0644G06F 3/0631G06F 3/067G06F 16/954G06F 16/27
92
PatentIndex Score
204
Cited by
20
References
19
Claims

Abstract

Systems, methods, and articles of manufacture comprising processor-readable storage media are provided for data storage path processing. For example, in one method, a data block is received from a first device over a communications network, wherein the data block is specified to be sent to a second device located on the communications network. A distributed data storage system is accessed to store the data block in a first datastore associated with the first device, and to store a copy of the data block in a second datastore associated with the second device. A notification message is sent to the second device over the communications network to notify the second device that the data block is stored in the second datastore. The method may be performed by an application server that is implemented in an IoT (Internet of Things) cloud computing system.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 executing a data processing platform on one or more computing nodes of a cloud network, wherein the data processing platform comprises (i) one or more processing nodes to process data received by a plurality of computing devices that are network connected to the data processing platform over a communications network, and (ii) a distributed data storage system to store data associated with the computing devices; 
 performing a registration process by the data processing platform, wherein the registration process comprises:
 receiving a request from a user to register a first device and a second device; 
 assigning unique network IDs to the first and second devices; 
 allocating at least one storage pool in the distributed data storage system to store data associated with devices registered by the user including the first and second devices of the user; and 
 storing information with regard to the user, the first and second devices, and the at least one allocated storage pool, in a database; and 
 
 executing an automated process by the data processing platform, wherein the automated process comprises:
 receiving a data block from the first device over the communications network, wherein the data block is specified by the first device to be sent to the second device located on the communications network; 
 determining whether a size of the data block received from the first device exceeds a predefined size threshold; 
 responsive to a determination that the size of the data block exceeds the predetermined size threshold,
 accessing the distributed data storage system to store the data block in a first datastore in the at least one allocated storage pool for the first device, and to store a copy of the data block in a second datastore in the at least one allocated storage pool for the second device, wherein information in the database is accessed to determine locations of the first and second datastores in the at least one allocated storage pool for the first and second devices; and 
 sending a notification message to the second device over the communications network to notify the second device that the data block is stored in the second datastore and available for access by the second device; and 
 
 responsive to a determination that the size of the data block does not exceed the predetermined size threshold, sending the data block directly to the second device over the communications network. 
 
 
     
     
       2. The method of  claim 1 , wherein the first datastore and the second datastore are located within a same storage pool of the distributed data storage system. 
     
     
       3. The method of  claim 1 , wherein accessing the distributed data storage system to store the data block in the first datastore in the at least one storage pool allocated to the first device, and to store the copy of the data block in the second datastore in the at least one storage pool allocated to the second device comprises:
 determining a first network ID associated with the first device and a second network ID associated with the second device; 
 utilizing the first network ID to identify the first datastore as being associated with the first device; and 
 utilizing the second network ID to identify the second datastore as being associated with the second device. 
 
     
     
       4. The method of  claim 3 , wherein the first datastore and the second datastore comprise one of (i) different LUNs (logical unit numbers) of a same storage pool and (ii) different LUNs of different storage pools. 
     
     
       5. The method of  claim 1 , further comprising allocating at least one virtual machine or server to the first and second devices, wherein a same virtual machine or server is allocated to the first and second devices when the first and second devices are of a same application type. 
     
     
       6. The method of  claim 1 , wherein the data processing platform comprises an Internet-of-Things cloud computing system. 
     
     
       7. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method which comprises:
 executing a data processing platform on one or more computing nodes of a cloud network, wherein the data processing platform comprises (i) one or more processing nodes to process data received by a plurality of computing devices that are network connected to the data processing platform over a communications network, and (ii) a distributed data storage system to store data associated with the computing devices; 
 performing a registration process by the data processing platform, wherein the registration process comprises:
 receiving a request from a user to register a first device and a second device; 
 assigning unique network IDs to the first and second devices; 
 allocating at least one storage pool in the distributed data storage system to store data associated with devices registered by the user including the first and second devices of the user; and 
 storing information with regard to the user, the first and second devices, and the at least one allocated storage pool, in a database; and 
 
 executing an automated process by the data processing platform, wherein the automated process comprises:
 receiving a data block from the first device over the communications network, wherein the data block is specified by the first device to be sent to the second device located on the communications network; 
 determining whether a size of the data block received from the first device exceeds a predefined size threshold; 
 responsive to a determination that the size of the data block exceeds the predetermined size threshold,
 accessing the distributed data storage system to store the data block in a first datastore in the at least one allocated storage pool for the first device, and to store a copy of the data block in a second datastore in the at least one allocated storage pool for the second device, wherein information in the database is accessed to determine locations of the first and second datastores in the at least one allocated storage pool for the first and second devices; and 
 sending a notification message to the second device over the communications network to notify the second device that the data block is stored in the second datastore and available for access by the second device; and 
 
 responsive to a determination that the size of the data block does not exceed the predetermined size threshold, sending the data block directly to the second device over the communications network. 
 
 
     
     
       8. The article of manufacture of  claim 7 , wherein the program code to access the distributed data storage system to store the data block in the first datastore in the at least one allocated storage pool for the first device, and to store the copy of the data block in the second datastore in the at least one allocated storage pool for the second device, further comprises program code that is executable by the one or more processors to:
 determine a first network ID associated with the first device and a second network ID associated with the second device; 
 utilize the first network ID to identify the first datastore as being associated with the first device; and 
 utilize the second network ID to identify the second datastore as being associated with the second device. 
 
     
     
       9. The article of manufacture of  claim 8 , wherein the first datastore and the second datastore comprise one of (i) different LUNs (logical unit numbers) of a same storage pool and (ii) different LUNs of different storage pools. 
     
     
       10. The article of manufacture of  claim 7 , wherein the program code is further executable by the one or more processors to allocate at least one virtual machine or server to the first and second devices, wherein a same virtual machine or server is allocated to the first and second devices when the first and second devices are of a same application type. 
     
     
       11. A system, comprising:
 a data processing platform executing on one or more computing nodes of a cloud network, wherein the data processing platform comprises (i) one or more processing nodes to process data received by a plurality of computing devices that are network connected to the data processing platform over a communications network, and (ii) a distributed data storage system to store data associated with the computing devices; 
 wherein the data processing platform is configured to perform a registration process, wherein the registration process comprises:
 receiving a request from a user to register a first device and a second device; 
 assigning unique network IDs to the first and second devices; 
 allocating at least one storage pool in the distributed data storage system to store data associated with devices registered by the user including the first and second devices of the user; and 
 storing information with regard to the user, the first and second devices, and the at least one allocated storage pool, in a database; and 
 
 wherein the data processing platform is configured to perform an automated process, wherein the automated process comprises:
 receiving a data block from the first device over the communications network, wherein the data block is specified by the first device to be sent to the second device located on the communications network; 
 determining whether a size of the data block received from the first device exceeds a predefined size threshold; 
 responsive to a determination that the size of the data block exceeds the predetermined size threshold,
 accessing the distributed data storage system to store the data block in a first datastore in the at least one allocated storage pool for the first device, and to store a copy of the data block in a second datastore in the at least one allocated storage pool for the second device, wherein information in the database is accessed to determine locations of the first and second datastores in the at least one allocated storage pool for the first and second devices; and 
 sending a notification message to the second device over the communications network to notify the second device that the data block is stored in the second datastore and available for access by the second device; and 
 
 responsive to a determination that the size of the data block does not exceed the predetermined size threshold, sending the data block directly to the second device over the communications network. 
 
 
     
     
       12. The system of  claim 11 , wherein the data processing platform is further configured to:
 determine a first network ID associated with the first device and a second network ID associated with the second device; 
 utilize the first network ID to identify the first datastore as being associated with the first device; and 
 utilize the second network ID to identify the second datastore as being associated with the second device. 
 
     
     
       13. The system of  claim 11 , wherein the data processing platform comprises an Internet-of-Things cloud computing system, and wherein the distributed data storage system comprises a SAN (storage area network) storage array. 
     
     
       14. The system of  claim 11 , wherein the first datastore and the second datastore are located within a same storage pool of the distributed data storage system. 
     
     
       15. The system of  12 , wherein the first datastore and the second datastore comprise one of (i) different LUNs (logical unit numbers) of a same storage pool and (ii) different LUNs of different storage pools. 
     
     
       16. The system of  claim 11 , wherein the data processing platform is further configured to allocate at least one virtual machine or server to the first and second devices, wherein a same virtual machine or server is allocated to the first and second devices when the first and second devices are of a same application type. 
     
     
       17. The system of  claim 11 , wherein the data processing platform is further configured to perform an automated process which comprises:
 receiving a request from the first device to send a data block, which is stored in the first datastore in the at least one allocated storage pool for the first device, to the second device; 
 accessing the data block from the first datastore; 
 determining whether a size of the accessed data block exceeds a predefined size threshold; 
 responsive to a determination that the size of the data block does not exceed the predetermined size threshold, sending the accessed data block directly to the first device over the communications network to allow the first device to send the accessed data block to the second device; and 
 responsive to a determination that the size of the data block exceeds the predetermined size threshold,
 storing a copy of the accessed data block in the second datastore in the at least one allocated storage pool for the second device; and 
 sending a notification message to the second device over the communications network to notify the second device that the accessed data block is stored in the second datastore and available for access by the second device. 
 
 
     
     
       18. The method of  claim 1 , wherein executing an automated process by the data processing platform further comprise:
 receiving a request from the first device to send a data block, which is stored in the first datastore in the at least one allocated storage pool for the first device, to the second device; 
 accessing the data block from the first datastore; 
 determining whether a size of the accessed data block exceeds a predefined size threshold; 
 responsive to a determination that the size of the data block does not exceed the predetermined size threshold, sending the accessed data block directly to the first device over the communications network to allow the first device to send the accessed data block to the second device; and 
 responsive to a determination that the size of the data block exceeds the predetermined size threshold,
 storing a copy of the accessed data block in the second datastore in the at least one allocated storage pool for the second device; and 
 sending a notification message to the second device over the communications network to notify the second device that the accessed data block is stored in the second datastore and available for access by the second device. 
 
 
     
     
       19. The article of manufacture of  claim 7 , wherein executing the automated process by the data processing platform, further comprises:
 receiving a request from the first device to send a data block, which is stored in the first datastore in the at least one allocated storage pool for the first device, to the second device; 
 accessing the data block from the first datastore; 
 determining whether a size of the accessed data block exceeds a predefined size threshold; 
 responsive to a determination that the size of the data block does not exceed the predetermined size threshold, sending the accessed data block directly to the first device over the communications network to allow the first device to send the accessed data block to the second device; and 
 responsive to a determination that the size of the data block exceeds the predetermined size threshold,
 storing a copy of the accessed data block in the second datastore in the at least one allocated storage pool for the second device; and 
 sending a notification message to the second device over the communications network to notify the second device that the accessed data block is stored in the second datastore and available for access by the second device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.