IP Library Granted Patent US 9,971,840
Granted Patent B2
US 9,971,840 · App. 14/704,606 · Granted May 15, 2018

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, Inc.
G06F17/30876G06F17/30327G06F17/30864H04L41/0213H04L41/0853H04L43/0817H04L41/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 9,971,840
App. No.
14/704,606
Granted
May 15, 2018
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 (48)

1. A system for managing remote devices, comprising:

a server comprising one or more processors;

at least one memory element storing, 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;

a detection module executing on the one or more processors of the server that queries one or more devices using a networking protocol and receives, responsive to a query and from a device, a first object identifier and a first object value that corresponds to the first object identifier, the first object identifier varies from each of the plurality of object identifiers of the MIB due to a first error, and the first object value varies from each of the plurality of corresponding object values of the MIB due to a second error;

the detection module generates, 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;

a collection module executing on the server that selects 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 at least one of the first error that caused the first object identifier to vary from each of the plurality of object identifiers of the MIB or the second error that caused the first object value to vary from each of the plurality of corresponding object values of the MIB;

the collection module traverses the subtree using the collection template configured to account for the at least one of the first error or the second error to identify a second object identifier that matches the collection pattern and a second object value corresponding to the second object identifier, the second object identifier varies from the plurality of object identifiers of the MIB; and

the collection module associates, in a second data structure in the at least one memory element, the second object value with the first object value based on the collection template.

2. The system of claim 1 , wherein at least one of the first pattern, the second pattern or the collection pattern is based on a regular expression.

3. The system of claim 1 , wherein the collection module further:

traverses 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 at least one memory element.

4. The system of claim 1 , further comprising:

a collection group indicating a starting point within the hierarchical tree of the MIB and comprising the first pattern, the second pattern, and the collection template;

the detection module generates, scanning from the starting point, using the first pattern that matches the first object identifier and the second pattern that matches the first object value, the identification of the device; and

the collection module traverses the subtree, scanning from the starting point, using the collection template to identify the second object identifier.

5. 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.

6. The system of claim 1 , wherein at least one of the first object identifier or the second object identifier is represented by at least one of a numeric representation or a symbolic representation.

7. 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.

8. The system of claim 1 , wherein the detection module generates the query using a Simple Network Management Protocol.

9. The system of claim 1 , wherein the device of the one or more devices is a first device, and the system further comprises:

a second device of the one or more devices, wherein the second device is provided by a same manufacturer of the first device;

the detection module further queries the second device to obtain a third object identifier from the second device and a third object value corresponding to the third object identifier; and

the collection module associates, in the second data structure, the third object value with the first object value and the second object value based on the collection template.

10. The system of claim 9 , wherein at least one of the third object identifier varies from the plurality of object identifiers of the MIB, or the first object value varies from the plurality of corresponding object values of the MIB.

11. A method for managing remote devices, comprising:

storing, in at least one 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 detection module executing on the one or more processors of the server, one or more devices;

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

generating, by the detection module, 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, by a collection module executing on the server, 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 at least one of the first error that caused the first object identifier to vary from each of the plurality of object identifiers of the MIB or the second error that caused the first object value to vary from each of the plurality of corresponding object values of the MIB;

traversing, by the collection module, the subtree using the collection template configured to account for the at least one of the first error or the second error to identify a second object identifier that matches the collection pattern and a second object value that corresponds to the second object identifier, the second object identifier varies from the plurality of object identifiers of the MIB; and

associating, by the collection module, in a second data structure in the at least one memory element, the second object value with the first object value based on the collection template.

12. The method of claim 11 , wherein at least one of the first pattern, the second pattern or the collection pattern is based on a regular expression.

13. The method of claim 11 , further comprising:

traversing, by the collection module, the subtree using the collection template to identify each object identifier that matches the collection pattern, and associating each corresponding object value with the first object value and the second object value in the second data structure in the at least one memory element.

14. The method of claim 11 , further comprising:

generating, by the detection module, scanning from a starting point within the hierarchical tree of the MIB, using the first pattern that matches the first object identifier and the second pattern that matches the first object value, the identification of the device; and

traversing, by the collection module, the subtree, scanning from the starting point, using the collection template to identify the second object identifier;

wherein a collection group indicates the starting point and comprises the first pattern, the second pattern, and the collection template.

15. 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.

16. The method of claim 11 , wherein at least one of the first object identifier or the second object identifier is represented by at least one of a numeric representation or a symbolic representation.

17. 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.

18. The method of claim 11 , further comprising:

querying, by the detection module, the one or more devices using a Simple Network Management Protocol.

19. The method of claim 11 , wherein the device of the one or more devices is a first device, and the method further comprises:

querying, by the detection module a second device of the one or more devices to obtain a third object identifier from the second device and a third object value corresponding to the third object identifier, the second device provided by a same manufacturer of the device; and

associating, by the collection module, in the second data structure, the third object value with the first object value and the second object value based on the collection template.

20. The method of claim 19 , wherein at least one of the third object identifier varies from the plurality of object identifiers of the MIB, or the first object value varies from the plurality of corresponding object values of the MIB.

Assignments (11)
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 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037190/0351 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048477/0819 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037701/0825 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048477/0897 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037701/0764 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048478/0019 →
CERTIFICATE OF CONVERSION Recorded Feb 26, 2019
From: CONNECTWISE, INC.
To: CONNECTWISE, LLC
Reel/Frame 048447/0076 →
SECURITY INTEREST OBTAINED BY RECEIVING PARTY BY MERGER RECORDED 1/14/2016; EXECUTION DATE IS DATE OF MERGER Recorded Feb 5, 2016
From: CONNECTWISE, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037701/0825 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 035596 FRAME: 0050. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2016
From: LOGAN, SCOTT; DAVIS, KEVIN
To: LABTECH SOFTWARE, LLC
Reel/Frame 037521/0064 →
MERGER Recorded Jan 14, 2016
From: LABTECH SOFTWARE, LLC
To: CONNECTWISE, INC.
Reel/Frame 037493/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: LOGAN, SCOTT; DAVIS, KEVIN
To: LABTECH LLC
Reel/Frame 035596/0050 →
Continuity (2)
Provisional Application 61989548 · May 7, 2014
Related Publication 20150324465A1 · Nov 12, 2015