IP Library Granted Patent US 10,715,407
Granted Patent B2
US 10,715,407 · App. 15/158,826 · Granted Jul 14, 2020

Dispatcher for adaptive data collection

Inventors: Guangning Hu (Ottawa, CA); Xuejun Situ (Ottawa, CA)
Assignee: QUEST SOFTWARE INC.
H04L43/04H04L43/0876
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 10,715,407
App. No.
15/158,826
Filed
May 19, 2016
Granted
Jul 14, 2020
Kind
B2
Art Unit
2452
USPC
709/224
Abstract

This disclosure describes systems, methods, and computer-readable media for optimizing data collection in a distributed environment by leveraging real-time and historical data collection performance statistics and server performance data. In some configurations, a computing device can be initially configured for data collection. In such configurations, the initial configuration can include preferred target servers for a particular task. The computing device can request batches of data from the preferred target servers, and process the information through a buffer. Techniques and technologies described herein collect the batches of data from servers as well as corresponding data collection statistics (e.g., server performance per task, server historical performance, etc.) and server performance data (e.g. server status).

Claims (88)

1. A computer-implemented method, comprising:

receiving a data collection task;

identifying a group of data collection endpoints associated with the data collection task;

receiving, by a computing device, data collection statistics related to a server associated with the group of data collection endpoints;

generating a forecast performance of the server;

determining a real-time performance of the server by collecting metadata of real-time data retrieval and calculating a weight factor with a timestamp for the data collection task, wherein the weight factor is associated with a first performance of the server during the data collection task;

determining that one or more of the forecast performance or the real-time performance of the server satisfy a threshold level of performance;

sending a data request associated with the data collection task to the server associated with the group of data collection endpoints;

continuing to receive data collection statistics related to the server associated with the group of data collection endpoints;

determining an updated forecast performance of the server including calculating a second weight factor for a second data collection task, wherein the second weight factor is associated with a second performance of the server during the second data collection task, wherein the updated forecast performance of the server is calculated using a series of historical weight factors correlated to historical server performance, wherein the series of historical weight factors include the first weight factor and the second weight factor, wherein the historical server performance includes the first performance of the server and the second performance of the server;

determining, in view of the second weight factor, that the updated forecast performance of the server does not satisfy the threshold level of performance; and

refraining from sending a future data request to the server.

2. The computer-implemented method of claim 1 , wherein the forecast performance of the server is based at least in part on one or more of:

a status of the server; or

a historical performance of the server.

3. The computer-implemented method of claim 1 , wherein the group of data collection endpoints are grouped based at least in part on a shared characteristic of each data collection endpoint of the group of data collection endpoints.

4. The computer-implemented method of claim 3 , wherein the shared characteristic comprises one or more of:

the server storing the group of data collection endpoints;

a region in which the group of data collection endpoints is stored; or

a sub-section of a company to which the data collection endpoints are associated.

5. The computer-implemented method of claim 1 , wherein the forecast performance and the real-time performance of the server are based at least in part on data collection statistics related to the server.

6. The computer-implemented method of claim 1 , wherein the server is a first server of a plurality of servers in a distributed computing resource.

7. A device comprising:

an adaptive dispatcher configured to:

receive a data collection task;

identify a group of data collection endpoints associated with the data collection task;

request data from a server associated with the group of data collection endpoints based on data collection task;

an historical collection analyzer module configured to:

receive data collection statistics;

receive a server status;

generate a forecast performance of the server; and

send the forecast performance of the server to the adaptive dispatcher; and

a real-time collection analyzer module configured to:

receive the data collection statistics;

determine a real-time performance of the server by collecting metadata of real-time data retrieval and calculating a weight factor with a timestamp for the data collection task, wherein the weight factor is associated with a first performance of the server during the data collection task;

send the real-time performance of the server to the adaptive dispatcher,

wherein the adaptive dispatcher is configured to send a data request associated with the data collection task to the server associated with the group of data collection endpoints based at least in part on one or more of the forecast performance of the server or the real-time performance of the server;

continue to receive data collection statistics related to the server associated with the group of data collection endpoints; and

send the real-time performance of the server to the adaptive dispatcher, wherein the adaptive dispatcher is configured to:

determine an updated forecast performance of the server by calculating a second weight factor for a second data collection task, wherein the second weight factor is associated with a second performance of the server during the second data collection task, wherein the updated forecast performance of the server is calculated using a series of historical weight factors correlated to historical server performance, wherein the series of historical weight factors include the first weight factor and the second weight factor, wherein the historical server performance includes the first performance of the server and the second performance of the server;

determine, in view of the second weight factor, that the updated forecast performance of the server does not satisfy the threshold level of performance; and

refrain from sending a future data request to the server.

8. The device of claim 7 , further comprising:

a configuring module configured to:

identify the server associated with a data collection task;

group two or more data collection endpoints based on the data collection task; and

establish initial settings for the adaptive dispatcher.

9. The device of claim 7 , further comprising:

a buffer configured to:

receive batches of data and corresponding data collection statistics;

send the batches of data to a data processing module; and

send the data collection statistics to the historical collection analyzer module and the real-time collection analyzer module.

10. The device of claim 7 , further comprising:

a server status analyzer module configured to receive the server status from the server and send the server status to one or more of the historical collection analyzer module or the adaptive dispatcher.

11. The device of claim 10 , wherein the server status comprises one or more of:

server performance status;

CPU usage;

memory usage of the server;

network traffic related to the server;

software restraints on the server; or

hardware restraints on the server.

12. The device of claim 7 , further comprising a data collection module configured to receive batches of data and corresponding data collection statistics from the server and store the batches of data and the corresponding data collection statistics.

13. A data collection system, comprising:

a processor; and

a non-transitory computer-readable medium coupled to the processor and having instructions stored thereon that, when executed by the processor, cause the processor to perform operations comprising:

receive a data collection task;

identify a group of data collection endpoints associated with the data collection task;

receive data collection statistics from a server associated with the group of data collection endpoints;

generate a forecast performance of the server based at least in part on the data collection statistics;

determine a real-time performance of the server based at least in part on the data collection statistics by collecting metadata of real-time data retrieval and calculating a weight factor with a timestamp for the data collection task, wherein the weight factor is associated with a first performance of the server during the data collection task;

determine that at least one of the forecast performance or the real-time performance of the server meet a threshold performance level;

send a data request associated with the data collection task to the server associated with the group of data collection endpoints based at least in part on the forecast performance of the server or the real-time performance of the server;

continue to receive data collection statistics related to the server associated with the group of data collection endpoints;

determine an updated forecast performance of the server by calculating a second weight factor for a second data collection task, wherein the second weight factor is associated with a second performance of the server during the second data collection task, wherein the updated forecast performance of the server is calculated using a series of historical weight factors correlated to historical server performance, wherein the series of historical weight factors include the first weight factor and the second weight factor, wherein the historical server performance includes the first performance of the server and the second performance of the server;

determine, in view of the second weight factor, that the updated forecast performance of the server does not satisfy the threshold level of performance; and

refrain from sending a future data request to the server.

14. The data collection system of claim 13 , wherein the forecast performance of the server is further based at least in part on one or more of:

a status of the server; or

a historical performance of the server.

15. The data collection system of claim 13 , wherein the group of data collection endpoints are grouped based at least in part on a shared characteristic of each data collection endpoint of the group of data collection endpoints.

16. The data collection system of claim 15 , wherein the shared characteristic comprises one or more of:

the server storing the group of data collection endpoints;

a region in which the group of data collection endpoints is stored; or

a sub-section of a company to which the data collection endpoints are associated.

17. The data collection system of claim 13 , wherein the forecast performance and the real-time performance of the server are based at least in part on data collection statistics related to the server.

18. The data collection system of claim 13 , wherein the data request is sent to a second server based at least in part on the forecast performance and the real-time performance of the server not meeting the threshold performance level.

19. The computer-implemented method of claim 1 , wherein the weight factor is associated with a timestamp.

20. The device of claim 7 , wherein the weight factor is associated with a timestamp.

Assignments (26)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
CHANGE OF NAME Recorded Jun 19, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046393/0009 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SEC. INT. IN PATENTS (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0329 →
RELEASE OF SEC. INT. IN PATENTS (NOTES) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040026/0710 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SEC. INT. IN PATENTS (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040013/0733 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039643/0953 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 039644/0084 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 039719/0889 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2016
From: HU, GUANGNING; SITU, XUEJUN
To: DELL SOFTWARE, INC.
Reel/Frame 038755/0804 →
Continuity (1)
Related Publication 20170339031A1 · Nov 23, 2017
Cited By (1)
US 12,461,725