IP Library › Granted Patent US 10,135,755
Granted Patent B1
US 10,135,755 · App. 15/272,704 · Granted Nov 20, 2018

Information technology infrastructure discovery utilizing discovery adapters

Inventors: Robert A. Lincourt, Jr. (Pawtucket, RI); Mark Kaberman (Framingham, MA); Susan Young (North Scituate, RI)
Assignee: EMC IP Holding Company LLC
H04L47/803H04L41/0213H04L41/12
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,135,755
App. No.
15/272,704
Filed
Sep 22, 2016
Granted
Nov 20, 2018
Kind
B1
Art Unit
2447
USPC
709/224
Abstract

A method comprises building a registry of available discovery adapters, obtaining discovery data from information technology infrastructure, generating a discovery plan comprising a list of discovery adapters by matching one or more information technology resource types identified in the discovery data to information technology resource types associated with respective ones of the available discovery adapters, providing the discovery data to the discovery adapters in the list to execute a discovery run comprising the discovery adapters analyzing the discovery data and storing information on information technology resources in a discovered resources repository, and dynamically adjusting allocation of the information technology resources based on the information stored in the discovered resources repository.

Claims (59)

1. A method comprising:

building a registry of available discovery adapters;

obtaining discovery data from information technology infrastructure;

generating a discovery plan comprising a list of discovery adapters by matching one or more information technology resource types identified in the discovery data to information technology resource types associated with respective ones of the available discovery adapters;

providing the discovery data to the discovery adapters in the list to execute a discovery run comprising the discovery adapters analyzing the discovery data and storing information on information technology resources in a discovered resources repository; and

dynamically adjusting allocation of the information technology resources based on the information stored in the discovered resources repository;

wherein the method is performed by at least one processing platform comprising one or more host devices implementing the discovery adapters;

wherein generating the discovery plan comprises identifying scale factors used to select respective numbers of discovery adapters associated with each of the information technology resource types identified in the discovery data;

further comprising dynamically adjusting the scale factors during the discovery run based on processing loads for different information technology resource types; and

wherein dynamically adjusting the scale factors comprises adjusting amounts of compute, storage and networking resources of the one or more host devices allocated for different instances of the discovery adapters.

2. The method of claim 1 wherein the discovery adapters comprise respective self-registered software modules each comprising one or more discovery application programming interfaces implementing at least one registration entry point for one or more types of information technology resources.

3. The method of claim 2 wherein the one or more discovery application programming interfaces comprise at least one of:

an Intelligent Platform Management Interface (IPMI) application programming interface;

a Storage Management Initiative (SMI) application programming interface;

a Windows Management Instrumentation (WMI) application programming interface; and

a Simple Network Management Protocol (SNMP) application programming interface.

4. The method of claim 2 wherein building the registry of available discovery adapters comprises utilizing a bootstrapper to search for available discovery adapters and invoking the registration entry points of the available discovery adapters to create an in-memory registry mapping information technology infrastructure resource types to the available discovery adapters.

5. The method of claim 2 wherein executing the discovery run comprises traversing a resource tree comprising two or more levels, wherein the registration entry points of two or more of the discovery adapters are associated with information technology resources types at different ones of the two or more levels of the resource tree.

6. The method of claim 2 wherein the registration entry points of the discovery adapters provide a service registry specifying particular types of information technology resources that the discovery adapter can handle and arguments used by the discovery adapters to perform discovery tasks.

7. The method of claim 1 wherein a given one of the discovery adapters is configured to discover multiple information technology resource types using a single application programming interface.

8. The method of claim 1 wherein a given one of the discovery adapters is configured to discover a single information technology resource type using a single application programming interface.

9. The method of claim 1 wherein building the registry of available discovery adapters comprises, in response to identifying a new information technology resource type not mapped to at least one of the available discovery adapters, instantiating a new discovery adapter providing a registration entry point for the new information technology resource type.

10. The method of claim 1 wherein at least two of the discovery adapters are implemented on a single host device in said at least one processing platform.

11. The method of claim 1 wherein a first one of the discovery adapters is implemented on a first host device in a first processing platform and a second one of the discovery adapters is implemented on a second host device in a second processing platform.

12. The method of claim 1 wherein said at least one processing platform comprises a cloud computing environment.

13. The method of claim 1 wherein the discovery adapters analyzing the discovery data and storing information on information technology resources in the discovered resources repository comprises a given one of the discovery adapters:

finding a given information technology resource to be discovered;

determining whether the given discovery adapter is capable of discovering the given information technology resource;

responsive to determining that the given discovery adapter is capable of discovering the given information technology resource, performing deep discovery, saving detailed information about the given information technology resource in the discovered resources repository and marking the given information technology resource as discovered; and

responsive to determining that the given discovery adapter is not capable of discovering the given information technology resource, saving basic information about the given information technology resource in the discovered resources repository and marking the given information technology resources as not discovered.

14. The method of claim 13 wherein the basic information about the given information technology resource comprises:

a resource type;

a resource identifier;

a resource address; and

one or more relationships of the given information technology resource to other information technology resources in the information technology infrastructure.

15. The method of claim 1 wherein storing information on the information technology resources in the discovered resources repository comprises tagging each information technology resource with a first unique identifier associated with the discovery run and a second unique identifier that identifies that information technology resource within the discovery run.

16. The method of claim 1 wherein dynamically adjusting the scale factors further comprises moving at least one discovery adapter from a first one of the host devices to a second one of the host devices.

17. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing platform comprising one or more host devices implementing discovery adapters causes the at least one processing platform:

to build a registry of available discovery adapters;

to obtain discovery data from information technology infrastructure;

to generate a discovery plan comprising a list of discovery adapters by matching one or more information technology resource types identified in the discovery data to information technology resource types associated with respective ones of the available discovery adapters;

to provide the discovery data to the discovery adapters in the list to execute a discovery run comprising the discovery adapters analyzing the discovery data and storing information on information technology resources in a discovered resources repository; and

to dynamically adjust allocation of the information technology resources based on the information stored in the discovered resources repository

wherein generating the discovery plan comprises identifying scale factors used to select respective numbers of discovery adapters associated with each of the information technology resource types identified in the discovery data;

wherein the program code when executed further causes the at least one processing platform to dynamically adjust the scale factors during the discovery run based on processing loads for different information technology resource types; and

wherein dynamically adjusting the scale factors comprises adjusting amounts of compute, storage and networking resources of the one or more host devices allocated for different instances of the discovery adapters.

18. The computer program product of claim 17 wherein the discovery adapters comprise respective self-registered software modules each comprising one or more discovery application programming interfaces implementing at least one registration entry point for one or more types of information technology resources.

19. An apparatus comprising:

at least one processing platform comprising one or more host devices implementing discovery adapters;

the at least one processing platform being configured:

to build a registry of available discovery adapters;

to obtain discovery data from information technology infrastructure;

to generate a discovery plan comprising a list of discovery adapters by matching one or more information technology resource types identified in the discovery data to information technology resource types associated with respective ones of the available discovery adapters;

to provide the discovery data to the discovery adapters in the list to execute a discovery run comprising the discovery adapters analyzing the discovery data and storing information on information technology resources in a discovered resources repository; and

to dynamically adjust allocation of the information technology resources based on the information stored in the discovered resources repository;

wherein generating the discovery plan comprises identifying scale factors used to select respective numbers of discovery adapters associated with each of the information technology resource types identified in the discovery data;

wherein the at least one processing platform is further configured to dynamically adjust the scale factors during the discovery run based on processing loads for different information technology resource types; and

wherein dynamically adjusting the scale factors comprises adjusting amounts of compute, storage and networking resources of the one or more host devices allocated for different instances of the discovery adapters.

20. The apparatus of claim 19 wherein the discovery adapters comprise respective self-registered software modules each comprising one or more discovery application programming interfaces implementing at least one registration entry point for one or more types of information technology resources.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 048825 FRAME 0489 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058000/0916 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Apr 8, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 048825/0489 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: LINCOURT, ROBERT A., JR.; KABERMAN, MARK; YOUNG, SUSAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041540/0755 →