IP Library Granted Patent US 10,291,490
Granted Patent B1
US 10,291,490 · App. 14/178,165 · Granted May 14, 2019

System and method for collecting data from low-availability devices

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,291,490
App. No.
14/178,165
Granted
May 14, 2019
Kind
B1
Abstract

In one embodiment, a method includes registering as a listener for availability notifications from at least one low-availability device. The method further includes determining a data-collection schedule of the at least one low-availability device. In addition, the method includes maintaining a prioritized queue comprising required data items needed from the at least one low-availability device. Also, the method includes preparing, in advance of the at least one low-availability device becoming available, a request for at least one required data item. The at least one required data item includes a highest-priority data item in the prioritized queue. The method additionally includes, responsive to a notification that the at least one low-availability device is available, transmitting the request to the at least one low-availability device.

Claims (48)

1. A method comprising, on a computer system comprising at least one server computer:

registering as a listener for availability notifications from at least one low-availability device;

determining a data-collection schedule of the at least one low-availability device based at least in part on the availability notifications, the determining comprising tracking a frequency of availability and a duration of availability of the at least one low-availability device over time, the data-collection schedule comprising a determined frequency and a determined duration;

maintaining a prioritized queue comprising required data items needed from the at least one low-availability device, wherein the required data items are prioritized in the prioritized queue based at least in part on the data-collection schedule and a time when one or more of the required data items are needed;

preparing, in advance of the at least one low-availability device becoming available, a request for at least one required data item, the at least one required data item comprising a highest-priority data item in the prioritized queue; and

responsive to a notification that the at least one low-availability device is available, transmitting the request to the at least one low-availability device.

2. The method of claim 1 , wherein the maintaining comprises creating the prioritized queue.

3. The method of claim 1 , wherein the maintaining comprises updating the prioritized queue responsive to data-item updates.

4. The method of claim 1 , comprising, responsive to successful receipt of the at least one required data item, removing the at least one required data item from the prioritized queue.

5. The method of claim 1 , comprising, responsive to no successful receipt of the at least one required data item:

determining whether at least one failure criterion has been met; and

responsive to a determination that the at least one failure criterion has been met, performing at least one of the following:

removing the at least one required data item from the prioritized queue; and

de-prioritizing the at least one required data item.

6. The method of claim 1 , comprising interacting with the at least one low-availability device until at least one of the following is true:

the prioritized queue contains no required data items that are needed from the at least one low-availability device; and

the at least one low-availability device is no longer available.

7. The method of claim 1 , wherein the required data items comprise at least one selected from the group consisting of: a firmware version, a received signal strength indication (RSSI), and a signal-to-noise ratio (SNR).

8. The method of claim 1 , wherein:

each required data item in the prioritized queue is associated with a priority value;

the prioritized queue comprises a list of the required data items sorted by the priority value; and

the maintaining comprises ascertaining each priority value.

9. The method of claim 8 , wherein the ascertaining is based, at least in part, on a request category of each of the required data items.

10. The method of claim 9 , wherein, for at least one required data item in the prioritized queue, the ascertaining is based, at least in part, on a number of collection periods remaining before a scheduled report is due.

11. The method of claim 9 , wherein, for at least one required data item in the prioritized queue, the ascertaining comprises adjusting an initial priority value based, at least in part, on the request category of the at least one required data item.

12. The method of claim 9 , wherein, for at least one required data item in the prioritized queue, the ascertaining comprises setting the priority value based, at least in part, on the request category of the at least one required data item.

13. The method of claim 9 , wherein the request category is selected from the group consisting of: scheduled reports, on-demand requests from users, and user dashboards.

14. The method of claim 1 , wherein the maintaining comprises merging identical entries in the prioritized queue.

15. The method of claim 1 , wherein the determining comprises:

detecting that the at least one low-availability device is not in a low-availability state; and

taking corrective action based thereon.

16. The method of claim 1 , wherein:

the at least one low-availability device comprises a plurality of low-availability devices; and

the method is performed for each low-availability device of the plurality of low-availability devices.

17. The method of claim 1 , comprising receiving a response to the request, the response comprising the at least one required data item.

18. An information handling system comprising:

a computer processor, wherein the computer processor is operable to implement a method comprising:

registering as a listener for availability notifications from at least one low-availability device;

determining a data-collection schedule of the at least one low-availability device based at least in part on the availability notifications, the determining comprising tracking a frequency of availability and a duration of availability of the at least one low-availability device over time, the data-collection schedule comprising a determined frequency and a determined duration;

maintaining a prioritized queue comprising required data items needed from the at least one low-availability device, wherein the required data items are prioritized in the prioritized queue based at least in part on the data-collection schedule and a time when one or more of the required data items are needed;

preparing, in advance of the at least one low-availability device becoming available, a request for at least one required data item, the at least one required data item comprising a highest-priority data item in the prioritized queue; and

responsive to a notification that the at least one low-availability device is available, transmitting the request to the at least one low-availability device.

19. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

registering as a listener for availability notifications from at least one low-availability device;

determining a data-collection schedule of the at least one low-availability device based at least in part on the availability notifications, the determining comprising tracking a frequency of availability and a duration of availability of the at least one low-availability device over time, the data-collection schedule comprising a determined frequency and a determined duration;

maintaining a prioritized queue comprising required data items needed from the at least one low-availability device, wherein the required data items are prioritized in the prioritized queue based at least in part on the data-collection schedule and a time when one or more of the required data items are needed;

preparing, in advance of the at least one low-availability device becoming available, a request for at least one required data item, the at least one required data item comprising a highest-priority data item in the prioritized queue; and

responsive to a notification that the at least one low-availability device is available, transmitting the request to the at least one low-availability device.

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/0649 →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044719/0565 →
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 →
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 →
RELEASE OF REEL 032809 FRAME 0987 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, INC.
Reel/Frame 040026/0953 →
RELEASE OF REEL 032810 FRAME 0038 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, INC.
Reel/Frame 040027/0686 →
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 REEL 032810 FRAME 0023 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, INC.
Reel/Frame 040014/0320 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032810/0038 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032810/0023 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032809/0987 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2014
From: MCALEER, DAVID; DYER, KELLY NOEL
To: DELL SOFTWARE INC.
Reel/Frame 032271/0565 →