IP Library Granted Patent US 11,620,284
Granted Patent B2
US 11,620,284 · App. 16/747,829 · Granted Apr 4, 2023

Backend data aggregation system and method

Inventors: Bruce Alan Arnett (Lehi, UT); Daniel Michael Korzeniewski (Perrysburg, OH); Zackery Jon Walker (Draper, UT); Devin Joseph Martin (American Fork, UT)
Assignee: INMOMENT RESEARCH, LLC
G06F16/24522G06F16/211G06F16/244G06F16/254
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,620,284
App. No.
16/747,829
Granted
Apr 4, 2023
Kind
B2
Abstract

A backend data aggregation and customer experience (CX) systems and methods for processing very-large enterprise CX data. A columnar data store has a transform processor coupled thereto via a data communication network. The transform processor is configured to receive customer experience data from a plurality of data sources and to dynamically transform the received data into a columnar data schema format for storage in the columnar data store. A dynamic Object-Relational Mapper (ORM) is configured to dynamically map the transformed data to structured data based on metadata associated therewith and to store the structured data in the columnar data store.

Claims (42)

1. A backend data aggregation system for processing very-large enterprise customer experience data comprising:

at least one backend processor configured to receive customer experience data from a plurality of data sources via the data communication network;

a database coupled to the at least one backend processor via a data communication network, the database storing the data received from the plurality of data sources in a relational format, the data received from the plurality of data sources having metadata associated therewith;

a columnar data store coupled to the at least one backend processor via the data communication network; and

at least one non-transitory memory device coupled to the backend processor via the data communication network, the memory device storing computer-executable instructions that, when executed by the backend processor, configure the backend processor to dynamically transform the data received from the plurality of data sources based on the metadata associated therewith from the relational format into a columnar data schema format suitable for storage in the columnar data store and to populate the columnar data store with the transformed data; and

wherein the memory device further stores a dynamic Object-Relational Mapper (ORM) that, when executed by the backend processor, configures the backend processor to dynamically map the transformed data in the columnar data store to structured data based on the metadata associated therewith for retrieval from the columnar data store and aggregation by the backend processor in response to a query.

2. The system of claim 1 , wherein the at least one backend processor comprises a customer experience (CX) processor coupled to the columnar data store via the data communication network, and wherein the memory devices further store computer-executable instructions that, when executed by the CX processor, configure the CX processor to receive a request for a query from a user via a web application and parse the query into a structured query language.

3. The system of claim 2 , wherein the at least one backend processor comprises a query processor coupled to the columnar data store via the data communication network, and wherein the memory devices further store computer-executable instructions that, when executed by the query processor, configure the query processor to execute the parsed query against the columnar data store to retrieve structured data responsive to the query.

4. The system of claim 3 , further comprising a display coupled to the query processor via the data communication network, the display configured to display the retrieved structured data in an aggregated format for the user.

5. The system of claim 2 , wherein the memory devices further store computer-executable instructions that, when executed by the CX processor, configure the CX processor to parse the query as a function of the metadata associated with the structured data stored in the columnar data store.

6. The system of claim 5 , wherein the memory devices further store computer-executable instructions that, when executed by the CX processor, configure the CX processor to translate the query into Structured Query Language (SQL) using the metadata.

7. The system of claim 1 , wherein the at least one backend processor comprises a transform processor, and wherein the memory devices further store an Extract Transform Load process that, when executed by the transform processor, configure the transform processor to dynamically transform the data into the columnar data schema format.

8. The system of claim 7 , further comprising a messaging cluster coupled to the transform processor via the data communication network, the messaging cluster configured to perform stream processing on the data received from the plurality of data sources, wherein the transform processor dynamically transforms the stream processed data into the columnar data schema format.

9. A method of processing very-large enterprise customer experience data comprising:

receiving customer experience data from a plurality of data sources;

storing the data received from the plurality of data sources in a relational format, the data received from the plurality of data sources having metadata associated therewith;

dynamically transforming, by at least one backend processor, the data received from the plurality of data sources based on the metadata associated therewith from the relational format into a columnar data schema format suitable for storage in a columnar data store, the backend processor and the columnar data store coupled to the plurality of data sources and to each other via a data communication network;

populating the columnar data store with the transformed data;

dynamically mapping, by a dynamic Object-Relational Mapper (ORM) executed by the backend processor, the transformed data in the columnar data store to structured data based on metadata associated therewith; and

retrieving and aggregating the structured data in the columnar data store by the backend processor in response to a query.

10. The method of claim 9 , further comprising receiving, by the backend processor, a request for a query from a user via a web application and parsing, by the backend processor, the query into a structured query language.

11. The method of claim 10 , further comprising executing, by the backend processor, the parsed query against the columnar data store to retrieve structured data responsive to the query.

12. The method of claim 11 , further comprising displaying the retrieved structured data in an aggregated format for the user.

13. The method of claim 10 , wherein parsing the query comprises parsing the query as a function of the metadata associated with the structured data stored in the columnar data store.

14. The method of claim 13 , further comprising translating the query into Structured Query Language (SQL) using the metadata.

15. The method of claim 9 , wherein transforming the data comprises executing an Extract Transform Load process to dynamically transform the data into the columnar data schema format.

16. The method of claim 9 , further comprising performing, by the backend processor, stream processing on the data received from the plurality of data sources, wherein transforming the data comprises dynamically transforming the stream processed data into the columnar data schema format.

17. A customer experience (CX) reporting system comprising:

one or more backend processors;

a columnar data store coupled to the one or more backend processors via a data communication network;

a database coupled to the one or more backend processors via the data communication network;

one or more memory devices coupled to the one or more backend processors via the data communication network, the one or more memory devices storing computer-executable instructions that, when executed by the one or more backend processors, configure the one or more backend processors to:

receive customer experience data from a plurality of data sources coupled to the one or more backend processors via the data communication network;

store the data received from the plurality of data sources in the database in a relational format, the data received from the plurality of data sources having metadata associated therewith;

dynamically transform, by an Extract Transform Load process executed by the one or more backend processors, the data received from the plurality of data sources based on the metadata associated therewith from the relational format into a columnar data schema format suitable for storage in the columnar data store;

populate the columnar data store with the transformed data;

dynamically map, by an Object-Relational Mapper executed by the one or more backend processors, the transformed data in the columnar data store to structured data based on metadata associated therewith; and

retrieve and aggregate the structured data in the columnar data store by the one or more backend processors in response to a query; and

a display coupled to the one or more backend processors via the data communication network, the display configured to display, in an aggregated format, the structured data retrieved from the columnar data store in response to the query.

18. The system of claim 17 , wherein the computer-executable instructions, when executed by the one or more backend processors, further configure the one or more backend processors to receive a request for the query from a user via a web application, parse the query into a structured query language, execute the parsed query against the columnar data store to retrieve structured data responsive to the query, and display the retrieved structured data in the aggregated format for the user.

19. The system of claim 18 , wherein the computer-executable instructions, when executed by the one or more backend processors, further configure the one or more backend processors to parse the query as a function of the metadata associated with the structured data stored in the columnar data store.

20. The system of claim 17 , wherein the computer-executable instructions, when executed by the one or more backend processors, further configure the one or more backend processors to perform stream processing on the data received from the plurality of data sources and to dynamically transform the stream processed data into the columnar data schema format.

Assignments (10)
SECURITY INTEREST Recorded May 18, 2026
From: QUALTRICS, LLC; PRESS GANEY ASSOCIATES LLC; CLARABRIDGE, INC.; DELIGHTED, LLC; RIOSOFT HOLDINGS, INC.; INMOMENT, INC.; LEXALYTICS, INC.; INMOMENT RESEARCH, LLC; ALLEGIANCE SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075583/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 73141, FRAME 0160 Recorded May 18, 2026
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: INMOMENT, INC.; INMOMENT RESEARCH, LLC; LEXALYTICS, INC.
Reel/Frame 075583/0497 →
PATENT SECURITY AGREEMENT Recorded Oct 21, 2025
From: INMOMENT, INC.; INMOMENT RESEARCH, LLC; LEXALYTICS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073141/0160 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 60140/0705 Recorded May 19, 2025
From: ANKURA TRUST COMPANY, LLC
To: INMOMENT, INC.; INMOMENT RESEARCH, LLC; ALLEGIANCE SOFTWARE, INC.; LEXALYTICS, INC.
Reel/Frame 071312/0715 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 9, 2022
From: PNC BANK, NATIONAL ASSOCIATION
To: ALLEGIANCE SOFTWARE, INC.; INMOMENT HOLDINGS, LLC; INMOMENT RESEARCH, LLC
Reel/Frame 060328/0144 →
SECURITY INTEREST Recorded Jun 8, 2022
From: INMOMENT, INC; INMOMENT RESEARCH, LLC; ALLEGIANCE SOFTWARE, INC.; LEXALYTICS, INC.
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 060140/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2022
From: MARITZ HOLDINGS, INC.
To: MARITZCX RESEARCH LLC
Reel/Frame 058754/0539 →
CHANGE OF NAME Recorded Jan 25, 2022
From: MARITZCX RESEARCH LLC
To: INMOMENT RESEARCH, LLC
Reel/Frame 058754/0752 →
SECURITY INTEREST Recorded Mar 12, 2020
From: ALLEGIANCE SOFTWARE, INC.; MARITZCX HOLDINGS LLC; MARITZCX RESEARCH LLC
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 052092/0073 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2020
From: ARNETT, BRUCE ALAN; KORZENIEWSKI, DANIEL MICHAEL; WALKER, ZACKERY JON; MARTIN, DEVIN JOSEPH
To: MARITZ HOLDINGS INC.
Reel/Frame 051568/0123 →