Asynchronous document ingestion and enrichment system

Inventors

Dellinger, NathanPeters, David

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Assignees

Noblis Inc

Member
Noblis
Noblis

Noblis is a nonprofit research and technical organization supporting federal missions in defense, health, environment, and security. Emphasizing applied sciences, engineering, digital transformation, artificial intelligence, cloud, and cybersecurity, Noblis provides objective solutions for government agencies confronting complex operational and scientific challenges.

Publication Number

US-12032655-B2

Patent

Publication Date

2024-07-09

Expiration Date


Abstract

Provided are asynchronous data ingestion and enrichment systems and methods. The systems comprise a plurality of components (e.g., ingestion components, enrichment components, and/or publishing components). Instead of passing data from one component to another, the data is sent to a messaging queue that formats and hold the data until the subsequent component is ready to receive it. Additionally, each component comprises a central microservice and a plurality of instances, the central microservice configured to communicate with each instance of the plurality of instances.

Core Innovation

The invention provides an asynchronous data ingestion and enrichment system that instantiates a plurality of ingestion software processing modules, a plurality of enrichment software processing modules, and a plurality of publishing software processing modules. Each ingestion module includes an ingestion central microservice configured to manage a plurality of ingestion instances, each enrichment module includes an enrichment central microservice configured to manage a plurality of enrichment instances, and each publishing module includes a publishing central microservice configured to manage a plurality of publishing instances.

The architecture instructs ingestion modules to publish to one or more messaging queues and instructs enrichment modules to consume from the messaging queues and publish to the messaging queues. The publishing software processing modules consume from one or more of the plurality of messaging queues, completing the ingestion-enrichment-publishing pipeline under the coordinated microservice management.

The system applies a de-duplication algorithm in at least one ingestion software processing module. Applying the de-duplication algorithm comprises transmitting a message from the enrichment central microservice to an Application Processing Interface (API) to determine whether a document has been previously processed by the system, and further comprises the enrichment central microservice calling back to at least one other component of the system to determine whether the document has been previously processed.

The enrichment software processing modules are configured to support failover/resume without duplication of work. In response to a first enrichment instance ceasing operation, a second enrichment instance resumes operation such that there is no duplication of work.

Claims Coverage

This partial set includes two independent claims, clm-00001 and clm-00013, both directed to the same asynchronous ingestion-enrichment-publishing architecture with messaging queues, centralized microservice management, de-duplication via an API/callback flow, and enrichment failover/resume without duplication of work. The claims cover four inventive features.

Asynchronous ingestion, enrichment, and publishing via central microservice-managed instances

Instantiating a plurality of ingestion software processing modules, a plurality of enrichment software processing modules, and a plurality of publishing software processing modules, wherein each module comprises a central microservice configured to manage a plurality of corresponding instances.

Messaging-queue routing between ingestion, enrichment, and publishing modules

Instructing each ingestion software processing module to publish to one or more of a plurality of messaging queues, instructing each enrichment software processing module to consume from one or more of the plurality of messaging queues and publish to one or more of the plurality of messaging queues, and instructing each publishing software processing module to consume from one or more of the plurality of messaging queues.

De-duplication algorithm using enrichment central microservice API/callback determination

Applying a de-duplication algorithm comprising transmitting a message from the enrichment central microservice to an Application Processing Interface (API) to determine whether a document has been previously processed by the system and further comprising the enrichment central microservice calling back to at least one other component of the system to determine whether the document has been previously processed.

Enrichment instance failover/resume without duplication of work

Configuring at least one enrichment software processing module such that, in response to a first one of the plurality of enrichment instances ceasing operation, a second one of the plurality of enrichment instances resumes operation without duplication of work.

Across both independent claims, the main inventive elements are the coordinated instantiation and microservice management of ingestion, enrichment, and publishing instances, asynchronous message-queue communication, de-duplication based on whether a document has been previously processed using an enrichment-central-microservice API and callback flow, and enrichment failover/resume that avoids duplicate work.

Stated Advantages

Enrichment instances resume operation without duplication of work.

Documents can be prevented from being duplicated in processing through the de-duplication algorithm that determines whether a document has been previously processed.

Documented Applications

Not explicitly described in patent.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.