IP Library Granted Patent US 11,595,477
Granted Patent B2
US 11,595,477 · App. 17/683,324 · Granted Feb 28, 2023

Cloud storage methods and systems

Inventors: Stephen Wolfram (Concord, MA); Bradley Ashby (Champaign, IL)
Assignee: Wolfram Research, Inc.
H04L67/1097G06F8/60G06F9/445G06F9/546G06F16/00G06F16/116G06F16/134G06F16/16G06F16/182G06F16/27H04L67/01
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 11,595,477
App. No.
17/683,324
Granted
Feb 28, 2023
Kind
B2
Abstract

Programmer input in a programming language is received, the programmer input for adding data to an electronic storage object that is accessible via a network. The programmer input includes i) a built-in function corresponding to adding data to electronic storage objects, ii) a first parameter specifying the electronic object to which data is to be stored, and iii) one or more second parameters indicating the data that is to be stored. The programmer input is evaluated with a computational application to generate one or more messages to a server for the server to add the data to the electronic object, and the one or more messages are sent to cause the data indicated by the second parameter to be added to the electronic storage object.

Claims (62)

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,

converting, at one or more processors, the raw data to one or more symbolic objects that are in a format that is recognized by a computational application that is configured to evaluate symbolic objects in the format, and

storing the one or more symbolic objects to the electronic storage object in the database.

2. The method of claim 1 , further comprising:

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 the one or more symbolic objects;

wherein converting the raw data to the one or more symbolic objects comprises using the data conversion metadata to convert, at one or more processors, the raw data to the one or more symbolic objects.

3. The method of claim 2 , 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 one or more symbolic objects includes storing the one or more symbolic objects to a data file in the electronic file system structure.

4. The method of claim 3 , further comprising:

storing the raw data to the data file in the electronic file system structure responsive to the one or more messages.

5. The method of claim 2 , wherein:

the one or more messages include a key-value association for at least some of the raw data; and

using the data conversion metadata to convert the raw data to the one or more symbolic objects comprises:

identifying, at one or more processors, key-value association metadata in the data conversion metadata that indicates how symbolic object types are to be associated with keys in the electronic storage object, and

using the key-value association metadata to convert the at least some of the raw data to the one or more symbolic objects.

6. 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.

7. The method of claim 6 , wherein converting the raw data to the one or more symbolic objects, and storing the one or more symbolic objects to the electronic storage object are performed after the raw data is stored to the electronic storage object.

8. The method of claim 7 , wherein converting the raw data to the one or more symbolic objects, and storing the one or more symbolic objects 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 the one or more symbolic objects.

9. The method of claim 7 , wherein converting the raw data to the one or more symbolic objects, and storing the one or more symbolic objects 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 the one or more symbolic objects.

10. The method of claim 1 , wherein the data conversion metadata specify one or more symbolic object types, among a plurality of symbolic object types recognized by the computational application, to which the raw data is to be converted.

11. 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 one or more symbolic objects, and

performing, at one or more processors, the one or more processing functions on the raw data and/or the one or more symbolic objects indicated by the function metadata in the electronic storage object.

12. 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,

convert the raw data to one or more symbolic objects in a format that is recognized by a computational application that is configured to evaluate symbolic objects in the format, and

store the one or more symbolic objects to the electronic storage object in the network-accessible computer storage system.

13. The system of claim 12 , 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:

identify data conversion metadata in the electronic storage object that indicates how the raw data is to be converted to the one or more symbolic objects, and

use the data conversion metadata to convert the raw data to the one or more symbolic objects.

14. The system of claim 13 , 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:

locate an electronic file system structure corresponding to the electronic storage object;

analyze a metadata file in the electronic file system structure, the metadata file storing the data conversion metadata; and

store the one or more symbolic objects to a data file in the electronic file system structure.

15. The system of claim 14 , 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.

16. The system of claim 13 , wherein:

the one or more messages include a key-value association for at least some of the raw data; 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:

identify key-value association metadata in the data conversion metadata that indicates how symbolic object types are to be associated with keys in the electronic storage object, and

use the key-value association metadata to convert the at least some of the raw data to the one or more symbolic objects.

17. The system of claim 14 , 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.

18. The system of claim 17 , wherein converting the raw data to the one or more symbolic objects, and storing the one or more symbolic objects to the electronic storage object are performed after the raw data is stored to the electronic storage object.

19. The system of claim 18 , wherein converting the raw data to the one or more symbolic objects, and storing the one or more symbolic objects 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 one or more symbolic objects.

20. The system of claim 18 , wherein converting the raw data to the one or more symbolic objects, and storing the one or more symbolic objects 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 one or more symbolic objects.

21. The system of claim 12 , wherein the data conversion metadata specify one or more symbolic object types, among a plurality of symbolic object types recognized by the computational application, to which the raw data is to be converted.

22. The system of claim 12 , 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 one or more symbolic objects, and

perform the one or more processing functions on the raw data and/or the one or more symbolic objects indicated by the function metadata in the electronic storage object.

Continuity (7)
Continuation 17121278 · Dec 14, 2020
Continuation 16666146 · Oct 28, 2019
Continuation 15589266 · May 8, 2017
Continuation 14872129 · Sep 30, 2015
Continuation In Part 14549541 · Nov 20, 2014
Provisional Application 61906888 · Nov 20, 2013
Related Publication 20220294850A1 · Sep 15, 2022