IP Library Granted Patent US 12,050,974
Granted Patent B1
US 12,050,974 · App. 18/192,744 · Granted Jul 30, 2024

System and method for enhanced distribution of data to compute nodes

Inventor: Mir Tariq (Seattle, WA)
Assignee: IQVIA Inc.
G06N20/00G06F16/22G06F16/2455G06N5/04
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 12,050,974
App. No.
18/192,744
Granted
Jul 30, 2024
Kind
B1
Abstract

A computer-implemented includes a computing system receiving one or more queries. The computing system includes one or more compute nodes that perform computations for determining a response to at least one query. The system stores, in a storage device, domain data that includes at least one of: a dataset, a metric associated with the domain data, a query time, or a usage pattern that is based, in part, on the one or more queries. The method includes the system generating a distribution model based on analysis of the domain data. The distribution model is generated using machine learning logic executed by the system. The method further includes the system using the distribution model to distribute data to the one or more compute nodes. The distributed data is used to determine, within a threshold response time, the response to the at least one query.

Claims (82)

1. A computer-implemented method, comprising:

receiving a first query;

determining, based on a trained machine learning model, a partitioning strategy from (i) content from the received first query and (ii) inferences about usage patterns that include allocations of different domains of data to one or more compute nodes, wherein the inferences indicate (i) usage of values of the data stored by the one or more compute nodes in responding to one or more previous queries and (ii) a number of transfers of the data performed between one or more of the compute nodes to respond to the one or more previous queries;

partitioning portions of the data for the one or more compute nodes based on the determined partitioning strategy and types of the different domains, wherein the portions of the data having a similar type of domain are allocated to a respective compute node of the one or more compute nodes;

distributing the partitioned portions of the data comprising the values to the one or more compute nodes based on the determined partitioning strategy and the type of domain; and

determining a response to the first query within a threshold time using the data distributed to the one or more compute nodes.

2. The computer-implemented method of claim 1 , further comprising:

optimizing the distribution of the data to the one or more compute nodes, by

assigning a first dataset of the data to a first compute node to generate a first portion of the response, and

assigning a second dataset of the data to at least a second compute node to generate a second portion of the response;

generating, by the first compute node, the first portion of the response using the first dataset; and

generating, using the second compute node, the second portion of the response using the second dataset.

3. The computer-implemented method of claim 1 , further comprising:

training a machine learning model using at least one maximum likelihood algorithm to process the distributed data; and

determining data partitioning logic using the trained machine learning model in response to executing the at least one maximum likelihood algorithm to process the data, wherein the data partitioning logic is operable to partition a subset of the data for distribution among the one or more compute nodes to cause the response to the first query to be determined within the threshold time.

4. The computer-implemented method of claim 1 , wherein the usage patterns reflects user behavior that comprises at least one of:

(i) a frequency of a query type;

(ii) a correlation of the received queries and the query types; and

(iii) a correlation of a user and the query types.

5. The computer-implemented method of claim 1 , wherein the threshold time comprises (i) 5 seconds, (ii) 30 seconds, or (iii) 60 seconds.

6. The computer-implemented method of claim 1 , further comprising:

optimizing the distribution of the data to the one or more compute nodes, by

assigning a first dataset of the data to a first compute node to generate a first portion of the response;

distributing the first portion of the response to a second compute node; and

assigning a second dataset of the data to at least the second compute node to generate a second portion of the response using the first portion of the response.

7. The computer-implemented method of claim 1 , wherein each domain of the different domains relate to professional disciplines that comprises healthcare, finance, technology, engineering, information technology, health and nutrition, and law.

8. The computer-implemented method of claim 1 , further comprising:

predicting one or more future queries to be received for subsequent time windows; and

prior to receiving the one or more predicted future queries:

determining a second partitioning strategy from (i) prior received queries and (ii) the inferences about the usage patterns that include allocations of different types of domain data to the one or more compute nodes; and

in response, distributing one or more portions of the data to the one or more compute nodes according to the second partitioning strategy.

9. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a first query;

determining, based on a trained machine learning model, a partitioning strategy from (i) content from the received first query and (ii) inferences about usage patterns that include allocations of different domains of data to one or more compute nodes, wherein the inferences indicate (i) usage of values of the data stored by the one or more compute nodes in responding to one or more previous queries and (ii) a number of transfers of the data performed between one or more of the compute nodes to respond to the one or more previous queries;

partitioning portions of the data for the one or more compute nodes based on the determined partitioning strategy and types of the different domains, wherein the portions of the data having a similar type of domain are allocated to a respective compute node of the one or more compute nodes;

distributing the partitioned portions of the data comprising the values to the one or more compute nodes based on the determined partitioning strategy and the type of domain; and

determining a response to the first query within a threshold time using the data distributed to the one or more compute nodes.

10. The system of claim 9 , further comprising:

optimizing the distribution of the data to the one or more compute nodes, by

assigning a first dataset of the data to a first compute node to generate a first portion of the response, and

assigning a second dataset of the datasets to at least a second compute node to generate a second portion of the response;

generating, by the first compute node, the first portion of the response using the first dataset; and

generating, using the second compute node, the second portion of the response using the second dataset.

11. The system of claim 9 , further comprising:

training a machine learning model using at least one maximum likelihood algorithm to process the distributed data; and

determining data partitioning logic using the trained machine learning model in response to executing the at least one maximum likelihood algorithm to process the data, wherein the data partitioning logic is operable to partition a subset of the data for distribution among the one or more compute nodes to cause the response to the first query to be determined within the threshold time.

12. The system of claim 9 , wherein the usage patterns reflects user behavior that comprises at least one of:

(i) a frequency of a query type;

(ii) a correlation of the received queries and the query types; and

(iii) a correlation of a user and the query types.

13. The system of claim 9 , wherein the threshold time comprises (i) 5 seconds, (ii) 30 seconds, or (iii) 60 seconds.

14. The system of claim 9 , further comprising:

optimizing the distribution of the data to the one or more compute nodes, by

assigning a first dataset of the datasets to a first compute node to generate a first portion of the response;

distributing the first portion of the response to a second compute node; and

assigning a second dataset of the datasets to at least the second compute node to generate a second portion of the response using the first portion of the response.

15. The system of claim 9 , wherein each domain of the different domains relate to professional disciplines that comprises healthcare, finance, technology, engineering, information technology, health and nutrition, and law.

16. The system of claim 9 , further comprising:

predicting one or more future queries to be received for subsequent time windows; and

prior to receiving the one or more predicted future queries:

determining a second partitioning strategy from (i) prior received queries and (ii) the inferences about the usage patterns that include allocations of different types of domain data to the one or more compute nodes; and

in response, distributing one or more portions of the data to the one or more compute nodes according to the second partitioning strategy.

17. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving a first query;

determining, based on a trained machine learning model, a partitioning strategy from (i) content from the received first query and (ii) inferences about usage patterns that include allocations of different domains of data to one or more compute nodes, wherein the inferences indicate (i) usage of values of the data stored by the one or more compute nodes in responding to one or more previous queries and (ii) a number of transfers of the data performed between one or more of the compute nodes to respond to the one or more previous queries;

partitioning portions of the data for the one or more compute nodes based on the determined partitioning strategy and types of the different domains, wherein the portions of the data having a similar type of domain are allocated to a respective compute node of the one or more compute nodes;

distributing the partitioned portions of the data comprising the values to the one or more compute nodes based on the determined partitioning strategy and the type of domain; and

determining a response to the first query within a threshold time using the data distributed to the one or more compute nodes.

18. The non-transitory computer-readable medium of claim 17 , further comprising:

optimizing the distribution of the data to the one or more compute nodes, by

assigning a first dataset of the data to a first compute node to generate a first portion of the response, and

assigning a second dataset of the data to at least a second compute node to generate a second portion of the response;

generating, by the first compute node, the first portion of the response using the first dataset; and

generating, using the second compute node, the second portion of the response using the second dataset.

19. The non-transitory computer-readable medium of claim 17 , further comprising:

training a machine learning model using at least one maximum likelihood algorithm to process the distributed data; and

determining data partitioning logic using the trained machine learning model in response to executing the at least one maximum likelihood algorithm to process the data, wherein the data partitioning logic is operable to partition a subset of the data for distribution among the one or more compute nodes to cause the response to the first query to be determined within the threshold time.

20. The non-transitory computer-readable medium of claim 17 , wherein the usage patterns reflects user behavior that comprises at least one of:

(i) a frequency of a query type;

(ii) a correlation of the received queries and the query types; and

(iii) a correlation of a user and the query types.

Assignments (8)
SECURITY INTEREST Recorded Mar 12, 2026
From: IMS SOFTWARE SERVICES LTD.; IQVIA INC.; IQVIA RDS INC.; RULES-BASED MEDICINE, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 075047/0061 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTIES INADVERTENTLY NOT INCLUDED IN FILING PREVIOUSLY RECORDED AT REEL: 065709 FRAME: 618. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Dec 6, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065790/0781 →
SECURITY INTEREST Recorded Nov 29, 2023
From: IQVIA INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065709/0618 →
SECURITY INTEREST Recorded Nov 29, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065710/0253 →
SECURITY INTEREST Recorded Jul 12, 2023
From: IQVIA INC.; IMS SOFTWARE SERVICES, LTD.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 064258/0577 →
SECURITY INTEREST Recorded May 24, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 063745/0279 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2023
From: TARIQ, MIR
To: QUINTILES IMS INCORPORATED
Reel/Frame 063181/0979 →
CHANGE OF NAME Recorded Mar 31, 2023
From: QUINTILES IMS INCORPORATED
To: IQVIA INC.
Reel/Frame 063215/0008 →
Continuity (1)
Continuation 15441511 · Feb 24, 2017