IP Library Granted Patent US 11,475,034
Granted Patent B2
US 11,475,034 · App. 16/733,896 · Granted Oct 18, 2022

Schemaless to relational representation conversion

Inventors: Jiang Wu (Mountain View, CA); Aditya Vailaya (Cupertino, CA); Nilesh Khandelwal (Mountain View, CA)
Assignee: Mulesoft, LLC
G06F16/258G06F16/2237G06F16/2246G06F16/2255
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,475,034
App. No.
16/733,896
Filed
Jan 3, 2020
Granted
Oct 18, 2022
Kind
B2
Art Unit
2161
USPC
707/746
Abstract

A system is disclosed. The system includes a processor configured to: receive a set of data structured in a schemaless data representation; automatically translate the set of data into a relational representation by: translating an array map value in the set of data into an ordered multi-map; and converting the ordered multi-map to the relational representation. The processor is further configured to store the translated set of data in a key-value data store for a query-based retrieval.

Claims (37)

1. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive data structured in a schemaless data representation, wherein the data comprises an array value and a key associated with the array value;

generate, based on the key, a label path for an object of an ordered multi-map and an index path for the array value;

transform, based on the label path for the object, the index path for the array value, and a value type of the array value, the data to a relational representation; and

store the relational representation of the data in a key-value data store for a query-based retrieval.

2. The system of claim 1 , wherein the schemaless data representation comprises a schemaless JavaScript Object Notation (JSON) hierarchical data representation.

3. The system of claim 2 , wherein the data comprises an event data object, wherein the event data object comprises time series data from at least one of a plurality of sensors or a user device.

4. The system of claim 1 , wherein the at least one processor configured to transform the data to the relational representation is further configured to transform a nested array in the data to a nested ordered multi-map.

5. The system of claim 4 , wherein the at least one processor is further configured to transform the nested ordered multi-map to the relational representation.

6. The system of claim 1 , wherein the at least one processor is further configured to:

encode the relational representation to a columnar block of data; and

store the columnar block in the key-value data store.

7. The system of claim 1 , wherein the at least one processor is further configured to:

distribute the relational representation of the data across a plurality of partitions, and wherein metadata is stored in the plurality of partitions with the relational representation of the data.

8. The system of claim 1 , wherein the at least one processor is further configured to distinguish between an atomic value of the data and an array of a single value of the data.

9. The system of claim 1 , wherein the at least one processor is further configured to distinguish between an array map element of the data and a nested array element of the data.

10. The system of claim 1 , wherein the at least one processor is further configured to recognize a non-map root value of the data.

11. The system of claim 2 , wherein wherein each JSON object of the schemaless JSON hierarchical data representation of the data comprises a different structure.

12. The system of claim 1 , wherein the at least one processor is further configured to reconstruct original JSON formatted data without loss of information.

13. The system of claim 1 , wherein the at least one processor is further configured to reconstruct a subset of original JSON formatted data.

14. The system of claim 1 , wherein the at least one processor is further configured to encode the relational representation of the data into a plurality of columnar blocks of data.

15. The system of claim 1 , wherein the at least one processor is further configured to optimize the query-based retrieval based on push down projection of columns of the relational representation of the data.

16. The system of claim 1 , wherein the at least one processor is further configured to optimize the query-based retrieval based on push down predicate of time dimensions of the relational representation of the data.

17. A computer-implemented method, comprising:

receiving, by a computing device, a data structure in a schemaless data representation, wherein the data structure comprises a value and a key associated with the value;

generating, based on the key, a label path for an object of an ordered multi-map and an index path for the value;

transforming, based on the label path for the object, the index path for the value, and a value type of the value, the data structure to a relational representation of the data structure; and

storing the relational representation of the data structure in a key-value data store for a query-based retrieval.

18. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

receiving data structured in a schemaless data representation, wherein the data comprises an array value and a key associated with the array value;

generating, based on the key, a label path for an object of an ordered multi-map and an index path for the array value;

transforming, based on the label path for the object, the index path for the array, and a value type of the array value, the data into a relational representation; and

storing the relational representation of the data in a key-value data store for a query-based retrieval.

19. The computer-implemented method of claim 17 , wherein the data comprises an event data object, wherein the event data object comprises time series data from at least one of a plurality of sensors or a user device.

20. The non-transitory computer-readable medium of claim 18 , wherein the data comprises an event data object, wherein the event data object comprises time series data from at least one of a plurality of sensors or a user device.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: MULESOFT, LLC
To: SALESFORCE, INC.
Reel/Frame 070454/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: KHANDELWAL, NILESH
To: NUMERX, INC.
Reel/Frame 060788/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: NUMERX, INC.
To: MULESOFT, INC.
Reel/Frame 060788/0736 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: WU, JIANG; VAILAYA, ADITYA
To: MULESOFT, INC.
Reel/Frame 060788/0745 →
CHANGE OF NAME Recorded Aug 11, 2022
From: MULESOFT, INC.
To: MULESOFT, LLC
Reel/Frame 061159/0171 →
Continuity (3)
Continuation 15667934 · Aug 3, 2017
Provisional Application 62373899 · Aug 11, 2016
Related Publication 20200320091A1 · Oct 8, 2020