IP Library Granted Patent US 10,216,548
Granted Patent B1
US 10,216,548 · App. 14/134,543 · Granted Feb 26, 2019

Dynamic and adaptive programmatic interface selection (DAPIS)

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,216,548
App. No.
14/134,543
Granted
Feb 26, 2019
Kind
B1
Abstract

Aspects of the present disclosure involve converged infrastructures, and more particularly, systems that automatically select an application programming interface for use in connecting one or more components of the converged infrastructure with management software. Component information is obtained for a particular component within the converged infrastructure. The component information is used in conjunction with various selection metrics to identify an applicable application programming interface.

Claims (35)

1. A method for selecting an application programming interface comprising:

obtaining, by at least one processor, component information comprising a unique identifier identifying a specific executing instance of a computing component included within a computing infrastructure, the component information further comprising data identifying a specific version of the specific executing instance of the computing component, the computing component associated with a plurality of application programming interfaces that enable the computing component to interface with a management software included within the computing infrastructure;

dynamically configuring, by the at least one processor, an application programming interface implementation customized to the computing component by:

selecting, from the plurality of application programming interfaces supported by the at least one processor, a subset of one or more application programming interfaces to configure based on analyzing the specific version of the specific executing instance of the computing component; and

dynamically configuring the selected subset of the one or more application programming interfaces based on the component information, the dynamic configuration causing communication of the computing component within the computing infrastructure by loading a code library of the selected subset of the one or more application programming interfaces into the management software to allow the one or more application programming interfaces to access, in a system library of the management software, a set of functions.

2. The method of claim 1 , further comprising servicing any communication requests between the management software and the computing component using the application programming interface.

3. The method of claim 2 , further comprising:

determining whether the application programming interface provides sufficient data access to a type of data required to enable the computing component to service the communication requests;

identifying another application programming interface of the plurality of application programming interfaces when the data access is not sufficient; and

accessing the another application programming interface of the plurality of application programming interfaces from the management software.

4. The method of claim 1 , wherein the computing component is at least one of a networking component, storage component, or a compute component and wherein identifying the application programming interface of the plurality of application programming interfaces occurs during run-time of the management software.

5. A system for selecting an application programming interface comprising:

a computing infrastructure maintained at a server, the computing infrastructure comprising a plurality of computing components and a management software configured to manage the plurality of computing components; and

wherein the server is configured to:

obtain computing component information comprising a unique identifier identifying a specific executing instance of a computing component of the plurality of computing components, the computing component associated with a plurality of application programming interfaces that enable the computing component to interface with the management software the component information further comprising data identifying a specific version of the specific executing instance of the computing component;

dynamically configure, by the server, an application programming interface implementation customized to the computing component by:

selecting, from the plurality of application programming interfaces supported by the server, a subset of one or more application programming interfaces to configure based on analyzing the specific version of the specific executing instance of the computing component; and

dynamically configure the selected subset of the one or more application programming interfaces based on the component information, the dynamic configuration causing communication of the computing component within the computing infrastructure by loading a code library of the selected subset of the one or more application programming interfaces into the management software to allow the one or more application programming interfaces to access a set of functions included in a system library of the management software and thereby enable communication between the computing component and the computing infrastructure.

6. The system of claim 5 , wherein the server is further configured to service any communication requests between the management software and the computing component using the application programming interface.

7. The system of claim 6 , wherein the server is further configured to:

determine whether the application programming interface provides sufficient data access to a type of data required to enable the computing component to service the communication requests;

identify another application programming interface of the plurality of application programming interfaces when the data access is not sufficient; and

access the another application programming interface of the plurality of application programming interfaces from the management software.

8. The system of claim 5 , wherein the computing component is at least one of a networking component, storage component, or a compute component and wherein identifying the application programming interface of the plurality of application programming interfaces occurs during run-time of the set of the functions included in the system library of the management software.

9. A non-transitory computer readable medium including instructions for selecting an application programming interface, the instructions, executable by a processor, comprising:

obtaining computing component information comprising a unique identifier identifying a specific executing instance of a computing component included within a computing infrastructure, the component information further comprising data identifying a specific version of the specific executing instance of the computing component, the computing component associated with a plurality of application programming interfaces that enable the computing component to interface with a management software included within the computing infrastructure;

dynamically configuring, by the processor, an application programming interface implementation customized to the computing component by:

selecting, from the plurality of application programming interfaces supported by the processor, a subset of one or more application programming interfaces to configure based on analyzing the specific version of the specific executing instance of the computing component; and

dynamically configuring the selected subset of the one or more application programming interfaces based on the component information, the dynamic configuration causing communication of the computing component within the computing infrastructure by loading a code library of the selected subset of the one or more application programming interfaces into the management software to allow the one or more application programming interfaces to access a set of functions included in a system library of the management software and thereby enable communication between the computing component and the computing infrastructure.

10. The non-transitory computer readable medium of claim 9 , further comprising servicing any communication requests between the management software and the computing component using the application programming interface.

11. The non-transitory computer readable medium of claim 10 , further comprising:

determining whether the application programming interface provides sufficient data access to a type of data required to enable the computing component to service the communication requests;

identifying another application programming interface of the plurality of application programming interfaces when the data access is not sufficient; and

accessing the another application programming interface of the plurality of application programming interfaces from the management software.

12. The non-transitory computer readable medium of claim 9 , wherein the computing component is at least one of a networking component, storage component, or a compute component and wherein identifying the application programming interface of the plurality of application programming interfaces occurs during run-time of the set of functions included in a system library of the management software.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
MERGER Recorded Apr 14, 2020
From: VCE IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052398/0413 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2016
From: VCE COMPANY, LLC
To: VCE IP HOLDING COMPANY LLC
Reel/Frame 040576/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: ZHANG, YING VICTOR; NANDYALAM, RAJESH
To: VCE COMPANY, LLC
Reel/Frame 031821/0429 →
Cited By (39)
US 12,197,696 US 12,198,130 US 12,205,121 US 12,206,674 US 12,217,248 US 12,223,091 US 12,229,384 US 12,229,385 US 12,238,051 US 12,238,112 US 12,248,611 US 12,299,657 US 12,299,691 US 12,314,435 US 12,314,783 US 12,321,490 US 12,333,047 US 12,333,551 US 12,354,111 US 12,373,884 US 12,450,613 US 12,462,248 US 12,469,015 US 12,469,025 US 12,493,716 US 12,511,649 US 12,554,881 US 12,561,668 US 12,586,003 US 12,602,682 US 12,619,478 US 12,619,993 US 12,664,302 US 12,675,604 US 12,681,619 US 12,699,499 US 12,699,805 US 12,699,974 US 12,711,492