IP Library Granted Patent US 10,803,138
Granted Patent B2
US 10,803,138 · App. 15/977,164 · Granted Oct 13, 2020

Systems and methods for discovering and monitoring devices using search patterns for object identifiers and values

Inventors: Scott Logan (Stoneham, MA); Kevin Davis (Apollo Beach, FL)
Assignee: Connectwise, LLC
G06F16/955G06F16/2246G06F16/951H04L41/0213H04L41/0853H04L43/0817H04L41/0695H04L41/0803H04L41/0843H04L41/0846
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,803,138
App. No.
15/977,164
Granted
Oct 13, 2020
Kind
B2
Abstract

The present disclosure is directed to systems and methods of managing remote devices. The system can include a server with memory, a detection module, and a collection module. The memory can store a management information base (MIB) having a hierarchical tree of object identifiers and corresponding object values. The detection module can query devices and receive a first object identifier and its first object value, which can vary from those in the MIB; and use patterns to match the first object identifier and object value; and generate an identification of the device from the matches. The collection module can use the identification to select a collection template, which can indicate a subtree of the MIB and a collection pattern; traverse the subtree and identify a second object identifier that matches the collection pattern, and its second object value; and associate the second object value with the first object value.

Claims (40)

1. A system for managing remote devices, comprising:

a server comprising one or more processors and memory to:

store, in a first data structure, a management information base (MIB) having a hierarchical tree comprising a plurality of object identifiers and a plurality of corresponding object values;

query one or more devices and receive, responsive to the query, a first object identifier and a corresponding first object value from a device, the first object identifier varies from each of the plurality of object identifiers of the MIB, and the first object value varies from each of the plurality of corresponding object values of the MIB;

generate, using a first pattern that matches the first object identifier and a second pattern that matches the first object value, an identification of the device;

select a collection template from a plurality of collection templates based on the identification of the device, the collection template indicating a subtree of the MIB and comprising a collection pattern configured to account for variations between the first object identifier and each of the plurality of object identifiers of the MIB;

traverse the subtree using the collection template pattern configured to account for the variation to identify a second object identifier that matches the collection pattern and a corresponding second object value, the second object identifier varies from the plurality of object identifiers of the MIB; and

associate, in a second data structure in the memory, the second object value with the first object value based on the collection template.

2. The system of claim 1 , wherein the server is further configured to:

store, in the MIB, a definition of an object and attributes of an object comprising an object identifier (OID), a data type, and a set of supported operations.

3. The system of claim 1 , wherein the first object identifier varies from each of the plurality of object identifiers of the MIB due to an error.

4. The system of claim 1 , wherein the first object value varies from each of the plurality of corresponding object values of the MIB due to an error.

5. The system of claim 1 , wherein the first object value varies from each of the plurality of object values of the MIB due to a misspelling of the value of an object, and the server is further configured to:

detect the misspelling subsequent to production of the device.

6. The system of claim 1 , wherein the variation between the first object identifier and each of the plurality of object identifiers or the variation between the first object value and each of the corresponding object values of the MIB prevents the device from returning to the last value in a table responsive to an SNMP GET operation on the table.

7. The system of claim 1 , wherein at least one of the first object identifier or the second object identifier can be further be represented by at least one of a numeric representation or a symbolic representation.

8. The system of claim 1 , wherein the collection pattern is based on a regular expression comprising a named group that indicates a relationship between the second object value and the first object value.

9. The system of claim 1 , wherein the server is configured to:

traverse the subtree using the collection template to identify each object identifier that matches the collection pattern, and associates each corresponding object value with the first object value and the second object value in the second data structure in the memory.

10. The system of claim 1 , wherein at least one of the first object identifier or the second object identifier is based on an X.690 object identifier.

11. A method for managing remote devices, comprising:

storing, in a memory element of a server comprising one or more processors, in a first data structure, a management information base (MIB) having a hierarchical tree comprising a plurality of object identifiers and a plurality of corresponding object values;

querying, by a the server, one or more devices;

receiving, responsive to a query, a first object identifier and a corresponding first object value from a device, the first object identifier varying from each of the plurality of object identifiers of the MIB, and the first object value varying from each of the plurality of corresponding object values of the MIB;

generating, using a first pattern that matches the first object identifier and a second pattern that matches the first object value, an identification of the device;

selecting, a collection template from a plurality of collection templates based on the identification of the device, the collection template indicating a subtree of the MIB and comprising a collection pattern configured to account for variations between the first object identifier and each of the plurality of object identifiers of the MIB;

traversing, the subtree using the collection template configured to account for the variation to identify a second object identifier that matches the collection pattern and a corresponding second object value, the second object identifier varies from the plurality of object identifiers of the MIB; and

associating, in a second data structure in the memory, the second object value with the first object value based on the collection template.

12. The method of claim 11 , wherein the server is further comprising:

storing, in the MIB, a definition of an object and attributes of an object comprising an object identifier (OID), a data type, and a set of supported operations.

13. The method of claim 11 , wherein the first object identifier varies from each of the plurality of object identifiers of the MIB due to an error.

14. The method of claim 11 , wherein the first object value varies from each of the plurality of corresponding object values of the MIB due to an error.

15. The method of claim 11 , wherein the first object value varies from each of the plurality of object values of the MIB due to a misspelling of the value of an object, and the server is further configured to:

detect the misspelling subsequent to production of the device.

16. The method of claim 11 , wherein the variation between the first object identifier and each of the plurality of object identifiers or the variation between the first object value and each of the corresponding object values of the MIB prevents the device from returning to the last value in a table responsive to an SNMP GET operation on the table.

17. The method of claim 11 , wherein at least one of the first object identifier or the second object identifier can be further be represented by at least one of a numeric representation or a symbolic representation.

18. The method of claim 11 , wherein the collection pattern is based on a regular expression comprising a named group that indicates a relationship between the second object value and the first object value.

19. The method of claim 11 , wherein the server is further comprising:

traversing the subtree using the collection template to identify each object identifier that matches the collection pattern, and associates each corresponding object value with the first object value and the second object value in the second data structure in the memory.

20. The method of claim 11 , wherein at least one of the first object identifier or the second object identifier is based on an X.690 object identifier.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 6, 2021
From: OWL ROCK CAPITAL CORPORATION
To: CONNECTWISE, LLC; CONTINUUM MANAGED SERVICES HOLDCO, LLC
Reel/Frame 057718/0617 →
SECURITY INTEREST Recorded Oct 5, 2021
From: CONNECTWISE, LLC; DIPPELL & ASSOCIATES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 057771/0004 →
SECURITY INTEREST Recorded Mar 5, 2019
From: CONNECTWISE, LLC
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 048509/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2019
From: LOGAN, SCOTT; DAVIS, KEVIN
To: LABTECH SOFTWARE, LLC
Reel/Frame 048452/0315 →
MERGER Recorded Feb 27, 2019
From: LABTECH SOFTWARE, LLC
To: CONNECTWISE, INC.
Reel/Frame 048452/0812 →
CERTIFICATE OF CONVERSION Recorded Feb 27, 2019
From: CONNECTWISE, INC.
To: CONNECTWISE, LLC
Reel/Frame 048453/0416 →
Continuity (3)
Continuation 14704606 · May 5, 2015
Provisional Application 61989548 · May 7, 2014
Related Publication 20190114306A1 · Apr 18, 2019
Cited By (1)
US 12,664,224