IP Library Granted Patent US 9,361,359
Granted Patent B1
US 9,361,359 · App. 12/586,719 · Granted Jun 7, 2016

Accessing schema-free databases

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,361,359
App. No.
12/586,719
Granted
Jun 7, 2016
Kind
B1
Abstract

Accessing a schema-free database includes constructing a model indicating a structure for the data to be used by applications accessing the data, validating the model based on the structure and on the data stored in the schema-free database, providing an API based on the structure, and accessing the database using the API. The model may be constructed by extracting data structure information from a program. The program may be written in the Ruby programming language or the Python programming language. The API may be a RESTful API.

Claims (30)

1. A method of accessing a schema-free database, comprising:

constructing a model indicating a desired data structure for data stored in the schema-free database to be used by an application accessing the data, wherein the model is constructed using a desired data structure extracted from a program of the application independently of the data or data relationships stored in the schema-free database, wherein the desired data structure includes a plurality of data fields and the schema-free database includes data with data properties;

validating the model to provide a validated model based on the desired structure and data stored in the schema-free database by determining whether the schema-free database contains data that satisfies the desired data structure and confirming that data fields in the desired data structure corresponds to data properties provided in the schema-free database;

generating an application program interface (API) for the application using the validated model in response to determining that the schema-free database satisfies the desired structure; and

accessing the schema-free database using the API, wherein the API enables access by the application to the data stored in the schema-free database according to the desired structure by presenting data from the schema-free database to the application using the API in a form according to the desired structure, enabling the application to access and manipulate data of the schema-free database based on an index, wherein the index contains entries for each indexed data and corresponding entry indicating a node in the schema-free database, and presenting a schema-based interface to the application to facilitate arranging the data stored in the schema-free database without the data being stored in any schema-based platform.

2. The method, according to claim 1 , wherein the program is written in one of: the Ruby programming language and the Python programming language.

3. The method, according to claim 1 , wherein the API is a RESTful API.

4. The method, according to claim 1 , further comprising:

constructing an optimization for each field of data provided in the data model.

5. The method, according to claim 4 , wherein the optimization is an index containing an entry for each indexed value and a corresponding node ID indicating a particular node of the schema-free database containing data corresponding to the value.

6. The method, according to claim 4 , wherein the optimization is an index containing an entry for each indexed value and a corresponding location of a node in a data file containing the schema-free database.

7. A non-transitory computer-readable medium including computer software that accesses a schema-free database, the software comprising:

executable code that constructs a model indicating a desired data structure for data stored in the schema-free database to be used by an application accessing the data, wherein the model is constructed using a desired data structure extracted from a program of the application independently of the data or data relationships stored in the schema-free database, wherein the desired data structure includes a plurality of data fields and the schema-free database includes data with data properties;

executable code that validates the model to provide a validated model based on the desired structure and data stored in the schema-free database by determining whether the schema-free database contains data that satisfies the desired data structure and confirming that data fields in the desired data structure corresponds to data properties provided in the schema-free database;

executable code that generates an application program interface (API) for the application using the validated model in response to determining that the schema-free database contains data with data properties that satisfies the desired structure; and

executable code that, when an API is generated, provides access to the schema-free database using the API, wherein the API enables access by the application to the data stored in the schema-free database according to the desired structure by presenting data from the schema-free database to the application using the API in a form according to the desired structure, enabling the application to access and manipulate data of the schema-free database based on an index, wherein the index contains entries for each indexed data and corresponding entry indicating a node in the schema-free database, and presenting a schema-based interface to the application to facilitate arranging the data stored in the schema-free database without the data being stored in any schema-based platform.

8. The non-transitory computer readable medium, according to claim 7 , wherein the program is written in one of the Ruby programming language and the Python programming language.

9. The non-transitory computer readable medium, according to claim 7 , wherein the API is a RESTful API.

10. The non-transitory computer readable medium, according to claim 7 , wherein the software further comprises:

executable code that constructs an optimization for each field of data provided in the data model.

11. The non-transitory computer readable medium, according to claim 10 , wherein the optimization is an index containing an entry for each indexed value and a corresponding node ID indicating a particular, node of the schema-free database containing data corresponding to the value.

12. The non-transitory computer readable medium, according to claim 10 , wherein the optimization is an index containing an entry for each indexed value and a corresponding location of a node in a data file containing the schema-free database.

13. A method of accessing a schema-free database, comprising:

constructing a model indicating a desired data structure for data stored in the schema-free database to be used by an application accessing the data, wherein the model is constructed using a desired data structure extracted from a program of the application, independently of the data or data relationships stored in the schema-free database, wherein the desired data structure includes a plurality of data fields and the schema-free database includes data with data properties;

validating the model to provide a validated model based on the desired structure and data stored in the schema-free database by determining whether the schema-free database contains data that satisfies the desired data structure and confirming that data fields in the desired data structure corresponds to data properties provided in the schema-free database;

generating a dynamic application program interface (API) platform for the application using the validated model in response to determining that the schema-free database contains data with data properties that satisfies the desired structure; and

accessing an index to obtain a node in the schema-free database that corresponds to data accessed through the API by presenting data from the schema-free database to the application using the API in a form according to the desired structure, enabling the application to access and manipulate data of the schema-free database based on an index, wherein the index contains entries for each indexed data and corresponding entry indicating a node in the schema-free database, and presenting a schema-based interface to the application to facilitate arranging the data stored in the schema-free database without the data being stored in any schema-based platform, wherein the index contains an entry for the data and a corresponding entry indicating the node.

14. The method, according to claim 13 , wherein the entry indicating the node is a node ID.

15. The method, according to claim 13 , wherein the entry indicating the node is a location of the node in a data file containing the schema-free database.

16. The method, according to claim 13 , wherein the API is a RESTful API.

Assignments (4)
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2018
From: MOZY, INC.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045243/0432 →
CHANGE OF NAME Recorded Jul 14, 2016
From: DECHO CORPORATION
To: MOZY, INC.
Reel/Frame 039339/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2009
From: SMIRNOV, ALEXIS; GAUTHIER, ANDRE; WINDISCH, MAX
To: DECHO CORPORATION
Reel/Frame 023527/0741 →