US10462222B2ActiveUtilityA1

Cloud storage methods and systems

84
Assignee: WOLFRAM RES INCPriority: Nov 20, 2013Filed: May 8, 2017Granted: Oct 29, 2019
Est. expiryNov 20, 2033(~7.4 yrs left)· nominal 20-yr term from priority
G06F 16/00G06F 16/182G06F 9/445G06F 16/16G06F 16/134G06F 16/116H04L 67/1097G06F 9/546G06F 16/27G06F 8/60H04L 67/42H04L 67/01
84
PatentIndex Score
3
Cited by
35
References
37
Claims

Abstract

A system receives one or more messages corresponding to a request to add data to an electronic storage object that is accessible on a network, the one or more messages corresponding to the electronic storage object to which data is to be stored, and including raw data corresponding to the data that is to be stored. Responsive to the one or more messages, the system: locates the electronic storage object in a database, identifies data conversion metadata in the electronic storage object that indicates how the raw data is to be converted to formatted data in a format that is recognized by a computational application, uses the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and stores the formatted data to the electronic storage object in the database.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for adding data to a cloud storage object for storing data, the method comprising:
 receiving, at one or more processors, one or more messages corresponding to a request to add data to an electronic storage object that is accessible on a network, the one or more messages corresponding to the electronic storage object to which data is to be stored, and including raw data corresponding to the data that is to be stored; and 
 responsive to the one or more messages:
 locating, at one or more processors, the electronic storage object in a database, 
 identifying, at one or more processors, data conversion metadata in the electronic storage object that indicates how the raw data is to be converted to formatted data in a format that is recognized by a computational application, 
 using the data conversion metadata to convert, at one or more processors, the raw data to the formatted data in the format recognized by the computational application, and 
 storing the formatted data to the electronic storage object in the database. 
 
 
     
     
       2. The method of  claim 1 , wherein:
 receiving the one or more messages comprises receiving one or more application programming interface (API) calls requesting adding of data to the data to the electronic storage object, the one or more API calls including a parameter specifying the electronic storage object; and 
 locating the electronic storage object includes using the parameter to locate the electronic storage object. 
 
     
     
       3. The method of  claim 1 , further comprising:
 establishing, with one or more processors, a connection according to a communication protocol; 
 wherein the raw data is received via the connection. 
 
     
     
       4. The method of  claim 1 , further comprising:
 storing the raw data to the electronic storage object in the database responsive to the one or more messages. 
 
     
     
       5. The method of  claim 4 , wherein using the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and storing the formatted data to the electronic storage object are performed after the raw data is stored to the electronic storage object. 
     
     
       6. The method of  claim 5 , wherein using the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and storing the formatted data to the electronic storage object are performed by a background process and also in response to the background process determining that the electronic storage object includes raw data has not yet been converted to formatted data. 
     
     
       7. The method of  claim 5 , wherein using the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and storing the formatted data to the electronic storage object are performed also in response to i) receiving a request to access the electronic storage object and ii) determining that the electronic storage object includes raw data that has not yet been converted to formatted data. 
     
     
       8. The method of  claim 1 , wherein:
 locating the electronic storage object includes locating an electronic file system structure corresponding to the electronic storage object; 
 identifying the data conversion metadata in the electronic storage object includes analyzing a metadata file in the electronic file system structure, the metadata file storing the data conversion metadata; and 
 storing the formatted data includes storing the formatted data to a data file in the electronic file system structure. 
 
     
     
       9. The method of  claim 8 , further comprising:
 storing the raw data to the data file in the electronic file system structure responsive to the one or more messages. 
 
     
     
       10. The method of  claim 1 , wherein the data conversion metadata specify one or more data types to which the raw data is to be converted, among a plurality of data types recognized by the computational application. 
     
     
       11. The method of  claim 1 , wherein:
 the one or more messages include a key-value association for at least some of the raw data 
 the method further includes, responsive to the one or more messages:
 identifying, at one or more processors, key-value association metadata in the electronic storage object that indicates how formatted data is to be associated with keys in the electronic storage object, and 
 using the key-value association metadata to store formatted data in the electronic storage object so that at least some of the formatted data in the electronic storage object is associated with one or more keys. 
 
 
     
     
       12. The method of  claim 1 , further comprising, responsive to the one or more messages:
 identifying, at one or more processors, function metadata in the electronic storage object that indicates one or more processing functions to be performed on the raw data and/or the formatted data, and 
 performing, at one or more processors, the one or more processing functions on the raw data and/or the formatted data indicated by the function metadata in the electronic storage object. 
 
     
     
       13. The method of  claim 1 , wherein:
 the raw data is first raw data; 
 the formatted data is first formatted data; and 
 the method further comprises:
 receiving, at one or more processors, an email corresponding to a request to add data to the electronic storage object, the email including i) a parameter specifying the electronic storage object to which data is to be stored, and ii) second raw data, and 
 responsive to the email:
 locating, at one or more processors, the electronic storage object in the database using the parameter, 
 identifying, at one or more processors, the data conversion metadata in the electronic storage object, 
 using the data conversion metadata to convert, at one or more processors, the second raw data to second formatted data, and 
 storing the second formatted further data to the electronic storage object in the database. 
 
 
 
     
     
       14. The method of  claim 13 , wherein:
 the parameter is a first parameter; 
 the one or more messages are one or more first messages; and 
 the method further comprises:
 obtaining, at one or more processors, a second message from a messaging application server using an application programming interface (API) of the messaging application, the second message corresponding to a request to add data to the electronic storage object, the second message including i) a second parameter specifying the electronic storage object to which data is to be stored, and ii) third raw data, and 
 responsive to the second message:
 locating, at one or more processors, the electronic storage object in the database using the second parameter, 
 identifying, at one or more processors, the data conversion metadata in the electronic storage object, 
 using the data conversion metadata to convert, at one or more processors, the third raw data to third formatted data, and 
 storing the third formatted further data to the electronic storage object in the database. 
 
 
 
     
     
       15. The method of  claim 13 , wherein:
 the parameter is a first parameter; and 
 the method further comprises:
 receiving, at one or more processors and via a web server, one or more application programming interface (API) calls corresponding to the request to add data to the electronic storage object, the one or more API calls including i) a second parameter specifying the electronic storage object to which data is to be stored, and ii) third raw data, and 
 responsive to the one or more API calls:
 locating, at one or more processors, the electronic storage object in the database using the second parameter, 
 identifying, at one or more processors, the data conversion metadata in the electronic storage object, 
 using the data conversion metadata to convert, at one or more processors, the third raw data to third formatted data, and 
 storing the third formatted data to the electronic storage object in the database. 
 
 
 
     
     
       16. The method of  claim 1 , wherein:
 receiving, at one or more processors, one or more application programming interface (API) calls requesting access to data in the electronic storage object, the one or more API calls including a parameter specifying the electronic storage object; and 
 responsive to the one or more API calls:
 locating, at one or more processors, the electronic storage object in the database using the parameter, 
 retrieving, at the one or more processors, data from the electronic storage object; and 
 forwarding, with the one or more processors, the retrieved data in the format recognized by the computational application, the retrieved data forwarded to a computer via the network or another network, wherein the computer executes the computational application. 
 
 
     
     
       17. The method of  claim 16 , wherein:
 the parameter is a first parameter; 
 the one or more API calls include one or more or more second parameters that indicate which data within the electronic storage object are to be retrieved; 
 the method further includes determining, at one or more processors, which data within the electronic storage object are to be retrieved using the one or more second parameters; and 
 retrieving data from the electronic storage object comprises retrieving the data within the electronic storage object determined using the one or more or more second parameters. 
 
     
     
       18. The method of  claim 17 , wherein:
 the one or more or more second parameters indicate a range of entries within the electronic storage object that are to be retrieved; and 
 retrieving data from the electronic storage object comprises
 identifying the indicated range of entries using the one or more or more second parameters, and 
 retrieving the identified data. 
 
 
     
     
       19. The method of  claim 18 , wherein:
 the one or more or more second parameters include an integer indicating a number of entries in the range; and 
 retrieving data from the electronic storage object comprises
 identifying the integer number of entries using the one or more or more second parameters, and 
 retrieving the identified entries. 
 
 
     
     
       20. The method of  claim 18 , wherein:
 the one or more or more second parameters include one or more dates and/or times corresponding to the range; and 
 retrieving data from the electronic storage object comprises
 identifying entries falling with the range corresponding to the one or more dates and/or times, and 
 retrieving the identified entries. 
 
 
     
     
       21. The method of  claim 17 , wherein:
 data in the electronic storage object is categorized according to key-value associations; 
 the one or more or more second parameters indicate that data corresponding to one or more keys are to be retrieved; and 
 retrieving data from the electronic storage object comprises
 identifying entries corresponding to the one or more keys, and 
 retrieving the identified entries. 
 
 
     
     
       22. The method of  claim 16 , wherein:
 the computational application utilizes a uniform format in which i) a plurality of other data and ii) functions in the document are represented as symbolic expressions; and 
 the retrieved data forwarded to the computer are in the uniform format and represented as a symbolic expression. 
 
     
     
       23. A system, comprising:
 a network interface device configured to support communications via a communication network; 
 a network-accessible computer storage system; 
 one or more processors coupled to the network interface device and the network-accessible computer storage system; and 
 one or more memory devices coupled to the one more processors, the one or more memory devices storing machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 receive, via the network interface device, one or more messages corresponding to requests to add data to an electronic storage object that is accessible on a network, the one or more messages corresponding to the electronic storage object to which data is to be stored, and including raw data corresponding to the data that is to be stored; and 
 responsive to the one or more messages:
 locate the electronic storage object in the network-accessible computer storage system, 
 identify data conversion metadata in the electronic storage object that indicates how the raw data is to be converted to formatted data in a format that is recognized by a computational application, 
 use the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and 
 store the formatted data to the electronic storage object in the network-accessible computer storage system. 
 
 
 
     
     
       24. The system of  claim 23 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 receive one or more application programming interface (API) calls requesting adding of data to the data to the electronic storage object, the one or more API calls including a parameter specifying the electronic storage object; and 
 use the parameter to locate the electronic storage object. 
 
     
     
       25. The system of  claim 23 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 establish a connection according to a communication protocol; 
 wherein the raw data is received via the connection. 
 
     
     
       26. The system of  claim 23 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 store the raw data to the electronic storage object in the network-accessible computer storage system responsive to the one or more messages. 
 
     
     
       27. The system of  claim 26 , wherein using the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and storing the formatted data to the electronic storage object are performed after the raw data is stored to the electronic storage object. 
     
     
       28. The system of  claim 27 , wherein using the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and storing the formatted data to the electronic storage object are performed by a background process, executed by the one or more processors, and also in response to the background process determining that the electronic storage object includes raw data has not yet been converted to formatted data. 
     
     
       29. The system of  claim 27 , wherein using the data conversion metadata to convert the raw data to the formatted data in the format recognized by the computational application, and storing the formatted data to the electronic storage object are performed also in response to i) receiving a request to access the electronic storage object and ii) determining that the electronic storage object includes raw data that has not yet been converted to formatted data. 
     
     
       30. The system of  claim 23 , wherein:
 locating the electronic storage object includes locating an electronic file system structure corresponding to the electronic storage object; 
 identifying the data conversion metadata in the electronic storage object includes analyzing a metadata file in the electronic file system structure, the metadata file storing the data conversion metadata; and 
 storing the formatted data includes storing the formatted data to a data file in the electronic file system structure. 
 
     
     
       31. The system of  claim 30 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 store the raw data to the data file in the electronic file system structure responsive to the one or more messages. 
 
     
     
       32. The system of  claim 23 , wherein the data conversion metadata specify one or more data types to which the raw data is to be converted, among a plurality of data types recognized by the computational application. 
     
     
       33. The system of  claim 23 , wherein:
 the one or more messages include a key-value association for at least some of the raw data 
 the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to, responsive to the one or more messages:
 identify key-value association metadata in the electronic storage object that indicates how formatted data is to be associated with keys in the electronic storage object, and 
 use the key-value association metadata to store formatted data in the electronic storage object so that at least some of the formatted data in the electronic storage object is associated with one or more keys. 
 
 
     
     
       34. The system of  claim 23 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to, responsive to the one or more messages:
 identify function metadata in the electronic storage object that indicates one or more processing functions to be performed on the raw data and/or the formatted data, and 
 perform the one or more processing functions on the raw data and/or the formatted data indicated by the function metadata in the electronic storage object. 
 
     
     
       35. The system of  claim 23 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 execute an email server configured to:
 receive an email corresponding to a request to add data to the electronic storage object, the email including i) a parameter specifying the electronic storage object to which data is to be stored, and ii) the raw data, and 
 responsive to the email, generate the one or more messages to include the parameter and the raw data; 
 
 wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 responsive to the one or more messages, locate the electronic storage object in the network-accessible computer storage system using the parameter. 
 
 
     
     
       36. The system of  claim 23 , wherein:
 the one or more messages are one or more first messages; and 
 the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 execute a messaging application module configured to:
 obtain, from a messaging application server using an application programming interface (API) of a messaging application, a second message corresponding to a request to add data to the electronic storage object, the second message including i) a parameter specifying the electronic storage object to which data is to be stored, and ii) the raw data, and 
 responsive to the second message, generate the one or more first messages to include the parameter and the raw data; 
 
 
 wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 responsive to the one or more first messages, locate the electronic storage object in the network-accessible computer storage system using the parameter. 
 
 
     
     
       37. The system of  claim 23 , wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 execute a web server application configured to:
 generate one or more web pages that prompt a user to provide i) a parameter specifying the electronic storage object to which data is to be stored, and ii) the raw data, 
 responsive to prompting the user, receive i) the parameter, and ii) the raw data, and 
 responsive to receiving i) the parameter, and ii) the raw data, generate the one or more messages to include the parameter and the raw data; 
 
 wherein the one or more memory devices further store machine readable instructions that, when executed by the one or more processors, cause the one or more processors to:
 responsive to the one or more messages, locate the electronic storage object in the network-accessible computer storage system using the parameter.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.