# US 2020/0401566 A1 · Hybrid Data Integration Platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401566 A1
- Document ID: US20200401566A1
- Status: Published application
- Kind: A1
- Application number: 16/913,035
- Filed: 2020-06-26
- Published: 2020-12-24
- Earliest claimed: 2015-06-26
- Assignees: Groupon, Inc.
- Applicants: Groupon, Inc.
- Inventors: David Alan JOHNSTON; Andrew JAMES; Pradhee TANDON; Sivaramakrishnan NATARAJAN
- Web page: https://patentgrep.com/patent/US20200401566A1

## CPC

- G06F 16/215: Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
- G06F 16/256: {in federated or virtual databases}
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 16/285: {Clustering or classification}
- G06F 16/951: Indexing; Web crawling techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In general, embodiments of the present invention provide systems and computer readable media for implementing a single data integration platform that supports multiple data access interfaces to a single corpus of stored dynamic data collected from multiple data sources. In embodiments, the data integration platform includes a record tables layer that stores a group of data records and supports a CRUD interface for accessing the data records; a resolution mapping layer that stores a set of entities generated by a many-to-one mapping of data records to entities using entity resolution; and an entities layer that stores resolved entities which may be accessed via either a search interface based on search criteria or a hybrid search interface that supports “get via record id” queries.

## Claims

### Claim at position 1

-22. (canceled)

### Claim 23

A system comprising one or more computers and one or more storage devices, the system comprising:
a single corpus of stored dynamic data; and
a data integration platform for accessing the single corpus of stored dynamic data via a plurality of data access interfaces, wherein the data integration platform comprises:
a records layer for storing a group of data records,
wherein each data record includes a permanent record identifier and a data payload associated with the record identifier, and
wherein the records layer implements a creating, reading, updating, and deleting (CRUD) interface for accessing the data records;
a resolution mapping layer for generating a group of entity records using the group of data records,
wherein each entity record includes an entity identifier and a set of record identifiers representing a set of the data records that have been determined, using an entity resolution system, to represent a unique entity;
an entities layer for storing a group of resolved entities derived from the entity records,
wherein each resolved entity includes a resolved entity identifier and a resolution payload that includes data from the data payload of at least one of the data records, and
a hybrid search interface, implemented by the entities layer, for providing access to each of a plurality of hybrid clients to resolved data entities, receiving an update to one or more of the resolved data entities, and causing, upon determination of the reception of the update, a new set of resolved data entities to be generated.

### Claim 24 (depends on 23)

The system of claim 23, wherein the records layer implements an operation specifying CRUD semantics to be applied to at least one of the data records in response to receiving a request from the CRUD interface.

### Claim 25 (depends on 24)

The system of claim 24, wherein the group of entity records is updated by the entity resolution system in response to a notification of the implementation of the operation specifying CRUD semantics by the records layer.

### Claim 26 (depends on 23)

The system of claim 23, wherein generating the group of entity records using the group of data records comprises data quality operations including at least one of de-duplication, enrichment, and normalization of the group of data records.

### Claim 27 (depends on 23)

The system of claim 23, wherein determining that a set of data records represents a unique entity comprises generating a new entity record by merging at least two of the group of entity records.

### Claim 28 (depends on 27)

The system of claim 27, wherein the new entity record is associated with each of the entity identifiers respectively associated with each of the merged entity records.

### Claim 29 (depends on 23)

The system of claim 23, wherein determining that a set of data records represents a unique entity comprises generating at least two new entity records by splitting one of the group of entity records.

### Claim 30 (depends on 29)

The system of claim 29, wherein one of the new entity records is determined, based on a heuristic, to be most representative of the entity record that was split, and the most representative new entity record is associated with the entity identifier of the entity record that was split.

### Claim 31 (depends on 23)

The system of claim 23, wherein, in response to a hybrid search query including a particular record identifier received from the hybrid search interface, the entities layer generates a search result including a resolved entity including data from the data payload of a data record associated with the particular record identifier.

### Claim 32 (depends on 23)

The system of claim 23, wherein, in response to a search query including a set of search criteria, the entities layer generates a search result including a set of the resolved entities, each resolved entity including attributes determined to match the set of search criteria.

### Claim 33 (depends on 23)

The system of claim 23, wherein the search interface includes a search engine.

### Claim 34

A computer program product, stored on a non-transitory computer readable medium, comprising instructions that when executed on one or more computers cause the one or more computers to perform operations implementing a data integration platform comprising:
a single corpus of stored dynamic data; and
the data integration platform for accessing the single corpus of stored dynamic data via a plurality of data access interfaces, wherein the data integration platform comprises:
a records layer for storing a group of data records,
wherein each data record includes a permanent record identifier and a data payload associated with the record identifier, and
wherein the records layer implements a creating, reading, updating, and deleting (CRUD) interface for accessing the data records;
a resolution mapping layer for generating a group of entity records using the group of data records,
wherein each entity record includes an entity identifier and a set of record identifiers representing a set of the data records that have been determined, using an entity resolution system, to represent a unique entity; and
an entities layer for storing a group of resolved entities derived from the entity records,
wherein each resolved entity includes a resolved entity identifier and a resolution payload that includes data from the data payload of at least one of the data records; and
a hybrid search interface, implemented by the entities layer, for providing access to each of a plurality of hybrid clients to resolved data entities, receiving an update to one or more of the resolved data entities, and causing, upon determination of the reception of the update, a new set of resolved data entities to be generated.

### Claim 35 (depends on 34)

The computer program product of claim 34, wherein the records layer implements an operation specifying CRUD semantics to be applied to at least one of the data records in response to receiving a request from the CRUD interface.

### Claim 36 (depends on 35)

The computer program product of claim 35, wherein the group of entity records is updated by the entity resolution system in response to a notification of the implementation of the operation specifying CRUD semantics by the records layer.

### Claim 37 (depends on 34)

The computer program product of claim 34, wherein generating the group of entity records using the group of data records comprises data quality operations including at least one of de-duplication, enrichment, and normalization of the group of data records.

### Claim 38 (depends on 34)

The computer program product of claim 34, wherein determining that a set of data records represents a unique entity comprises generating a new entity record by merging at least two of the group of entity records.

### Claim 39 (depends on 38)

The computer program product of claim 38, wherein the new entity record is associated with each of the entity identifiers respectively associated with each of the merged entity records.

### Claim 40 (depends on 34)

The computer program product of claim 34, wherein determining that a set of data records represents a unique entity comprises generating at least two new entity records by splitting one of the group of entity records.

### Claim 41 (depends on 40)

The computer program product of claim 40, wherein one of the new entity records is determined, based on a heuristic, to be most representative of the entity record that was split, and the most representative new entity record is associated with the entity identifier of the entity record that was split.

### Claim 42 (depends on 34)

The computer program product of claim 34, wherein, in response to a hybrid search query including a particular record identifier received from the hybrid search interface, the entities layer generates a search result including a resolved entity including data from the data payload of a data record associated with the particular record identifier.

### Claim 43 (depends on 34)

The computer program product of claim 34, wherein, in response to a search query including a set of search criteria, the entities layer generates a search result including a set of the resolved entities, each resolved entity including attributes determined to match the set of search criteria.

### Claim 44 (depends on 34)

The computer program product of claim 34, wherein the search interface includes a search engine.
