# US 2020/0401588 A1 · Scaling By Dynamic Discovery For Data Processing

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

- Number: US 2020/0401588 A1
- Document ID: US20200401588A1
- Status: Published application
- Kind: A1
- Application number: 16/848,230
- Filed: 2020-04-14
- Published: 2020-12-24
- Earliest claimed: 2019-06-21
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Hala Salim El-Ali; Rajesh Ranjan Sinha; Raghavendra Dharmavaram; Siddharth Srinivasan; Vipin Dwivedi; Fredrick Allen Crable
- Web page: https://patentgrep.com/patent/US20200401588A1

## CPC

- G06F 16/2471: {Distributed queries}
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- G06F 16/90335: {Query processing}
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/0877: {by inventory control or reporting using inventory tracking or counting}
- G06Q 30/0627: {by specifying product or service characteristics, e.g. product dimensions}
- G06Q 40/03: Credit; Loans; Processing thereof
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Aspects described herein may relate to methods, systems, and apparatuses that partitions searchable content and distributes the segments across a plurality of processing nodes, which in turn further sub-partitions the partitions for processing by local search actor in order to increase the speed with which a search request from a user is processed. Processing nodes available to receive partitioned searchable content are registered with an external storage device. The external storage device also maintains a global results collector that compiles results from the partitions of searchable content. Respective local collector actors receive compiled results from local search actors for a processing node and the compiled results are sent to the global results collector for compiling for the plurality of processing nodes. Results of the user search request are then provided to the user.

## Claims

### Claim 1

A method comprising:
receiving, by a first computing device from a user computing device, a search request, wherein the search request comprises at least one user specified criterion of content to be searched and a universally unique identifier (UUID) of the user computing device;
receiving, by the first computing device from an external storage device, a list of at least one second computing device registered with the external storage device and available for assisting the first computing device in processing the search request;
generating a global results collector to compile results received from the at least one second computing device;
sending, to the global results collector, the UUID and a number of partitions of the content to be searched;
sending, to each of the at least one second computing device, a respective one of the number of partitions and reference data of the global results collector;
determining whether the global results collector has received all expected compiled result lists from each of the at least one second computing device; and
upon determining that the global results collector has received all expected compiled result lists, sending, by the global results collector to the user computing device, a response to the search request, wherein the response comprises results including the expected compiled result lists from each of the at least one second computing device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising partitioning, by the first computing device, the content to be searched for the search request across the at least one second computing device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the global results collector is generated within the first computing device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the global results collector is generated within one of the at least one second computing device.

### Claim 5 (depends on 1)

The method of claim 1, further comprising registering the global results collector with the external storage device.

### Claim 6 (depends on 5)

The method of claim 5, further comprising registering, with the external storage device, the at least one second computing device as an available computing device for assisting in processing search requests.

### Claim 7 (depends on 1)

The method of claim 1, further comprising sending the UUID to each of the at least one second computing device.

### Claim 8 (depends on 1)

The method of claim 1, further comprising requesting, by the first computing device from the external storage device, the list of the at least one second computing device registered with the external storage device and available for assisting the first computing device in processing the search request.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
generating a local collector actor to compile results received from at least one local search actors; and
sending, to the local collector actor, a number of sub-partitions and reference data of the global results collector.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
for each of the at least one local search actors, sending a respective one of the sub-partitions and reference data of the local collector actor; and
for each of the at least one local search actors, processing a search of the respective sub-partition based upon the user specified criterion to obtain a local search actor result list.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
receiving, from each of the at least one local search actors, a respective local search actor result list;
determining whether the local collector actor has received all expected respective local search actor result lists; and
upon determining that the local collector actor has received all expected respective local search actor result lists, sending, by the local collector actor to the global results collector, a compiled result list of all expected respective local search actor result lists.

### Claim 12 (depends on 10)

The method of claim 10, further comprising sub-partitioning, by the respective at least one second computing device, the respective one of the number of partitions, across the at least one local search actors.

### Claim 13 (depends on 1)

The method of claim 1, wherein the content to be searched comprises vehicle identification numbers (VINs).

### Claim 14 (depends on 13)

The method of claim 13, wherein the at least one user specified criterion comprises geographical data, wherein the number of partitions is based upon the geographical data.

### Claim 15 (depends on 14)

The method of claim 14, wherein the response comprises VINs matching the at least one user specified criterion.

### Claim 16 (depends on 1)

The method of claim 1, wherein the global results collector further is configured to compile results received from the first computing device.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
generating, by the first computing device, a local collector actor to compile results received from at least one local search actors, wherein the local collector actor and at least one local search actors are maintained within the first computing device;
sending, to the local collector actor, a number of sub-partitions and reference data of the global results collector;
for each of the at least one local search actors, sending a respective one of the sub-partitions and reference data of the local collector actor; and
for each of the at least one local search actors, processing a search of the respective sub-partition based upon the user specified criterion to obtain a local search actor result list;
receiving, from each of the at least one local search actors, a respective local search actor result list;
determining whether the local collector actor has received all expected respective local search actor result lists; and
upon determining that the local collector actor has received all expected respective local search actor result lists, sending, by the local collector actor to the global results collector, a compiled result list of all expected respective local search actor result lists.

### Claim 18

A method comprising:
receiving, by a first computing device via a rapid representational state transfer (REST) application programming interface (API), a Get page search command, wherein the Get page search command comprises at least one user specified criterion of content to be searched and a universally unique identifier (UUID) of a user computing device;
accessing an external storage device to identify a global results collector for assisting the first computing device in processing the Get page command;
determining whether the global results collector is maintained within the first computing device;
after determining whether the global results collector is maintained within the first computing device, receiving, by the first computing device from the global results collector, a page and summary of results of content matching the at least one user specified criterion; and
sending, by the first computing device via the rapid REST API, the page and summary of results of content matching the at least one user specified criterion.

### Claim 19 (depends on 18)

The method of claim 18, further comprising: determining details of the content within the results of content matching the at least one user specified criterion, wherein the sending further comprises sending, by the first computing device via the rapid REST API, the details of the content within the results of content matching the at least one user specified criterion.

### Claim 20

A system comprising:
an external storage device configured to store identification of a plurality of computing devices registered with the external storage device and identification of a global results collector;
a first computing device, wherein the first computing device comprises:
one or more first processors; and
first memory storing instructions that, when executed by the one or more first processors, cause the first computing device to perform steps comprising:
receiving, from a user computing device, a search request, wherein the search request comprises at least one user specified criterion of content to be searched and a universally unique identifier (UUID) of the user computing device;
receiving, from the external storage device, a list of at least one second computing device registered with the external storage device and available for assisting the first computing device in processing the search request;
partitioning the content to be searched for the search request across the at least one second computing device;
generating the global results collector to compile results received from the at least one second computing device;
registering the global results collector with the external storage device;
sending, to the global results collector, the UUID and a number of partitions of the partitioned content to be searched;
sending, to each of the at least one second computing device, a respective one of the number of partitions and reference data of the global results collector;
determining whether the global results collector has received all expected compiled result lists from each of the at least one second computing device; and
upon determining that the global results collector has received all expected compiled result lists, sending, by the global results collector to the user computing device, a response to the search request, wherein the response comprises results including the expected compiled result lists from each of the at least one second computing device; and
at least one second computing device, wherein each of the second computing device comprises:
one or more second processors; and
second memory storing instructions that, when executed by the one or more second processors, cause the second computing device to perform steps comprising:
generating a local collector actor to compile results received from at least one local search actors;
sending, to the local collector actor, a number of sub-partitions and reference data of the global results collector;
for each of the at least one local search actors, sending a respective one of the sub-partitions and reference data of the local collector actor to the local search actor;
for each of the at least one local search actors, processing a search of the respective sub-partition based upon the user specified criterion to obtain a local search actor result list;
receiving, from each of the at least one local search actors, a respective local search actor result list;
determining whether the local collector actor has received all expected respective local search actor result lists; and
upon determining that the local collector actor has received all expected respective local search actor result lists, sending, by the local collector actor to the global results collector, a compiled result list of all expected respective local search actor result lists.
