IP Library Granted Patent US 7,805,733
Granted Patent B2
US 7,805,733 · App. 11/324,731 · Granted Sep 28, 2010

Software implementation of hardware platform interface

Assignee: Augmentix Corporation
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 7,805,733
App. No.
11/324,731
Granted
Sep 28, 2010
Kind
B2
Abstract

A computer program product and a system are provided for implementing the Hardware Platform Interface (HPI) specification for platform management of computer systems. Software, implemented by the computer program product includes a user library, a resource program, a domain program and a bridge program. The user library accepts calls from user application programs for accessing management data and management capabilities incorporated in a running instance of the resource program. The running instance of the resource program provides access to the management data and the management capabilities. This access is through restrictions to a set of running instances of the domain program. In addition, access to the user application programs is indirect through a set of running instances of the domain program. A running instance of the domain program provides access of a set of running instances of the resource program to a pre-defined set of user application programs, based on access restrictions defined for the domain program. The bridge program enables communication with remotely-connected computer systems.

Claims (72)

1. A computer program product, the computer program product comprising a non-transitory computer readable medium including computer program code for platform management of computer systems in accordance with the Hardware Platform Interface (HPI) specifications provided by the Service Availability Forum (SAF), the computer program code comprising instructions for:

a) a user library, wherein zero or more instances of the user library being configurable to be present on one or more computer systems, each instance of the user library accepting HPI calls from user application programs;

b) a resource program, wherein zero or more instances of the resource program being configurable to run on the one or more computer systems, each running instance of the resource program providing access to zero or more of a set of management data and a set of management capabilities, the access being provided via access restrictions to a set of running instances of a domain program directly, and to the user application programs indirectly through the set of the running instances of the domain program;

c) a domain program, wherein zero or more instances of the domain program being configurable to run on the one or more computer systems, each running instance of the domain program providing access of a set of the running instances of the resource program to a pre-defined set of user application programs, the set of the running instances of the resource program being configured as the members of the running instance of the domain program, and the access to the pre-defined set of user application programs being provided based on access restrictions defined for the running instance of the domain program; and

d) a bridge program, wherein zero or more instances of the bridge program being configurable to run on the one or more computer systems, each running instance of the bridge program enabling communication with zero or more remotely-connected computer systems.

2. The computer program product according to claim 1 , wherein each of the zero or more instances of the user library, the zero or more instances of the resource program, the zero or more instances of the domain program, and the zero or more instances of the bridge program being configurable to start and stop the execution independently of each other.

3. The computer program product according to claim 2 , wherein the zero or more instances of the user library, the zero or more instances of the resource program, the zero or more instances of the domain program, and the zero or more instances of the bridge program communicating amongst each other by operating system (OS) specific inter-process communication mechanisms.

4. The computer program product according to claim 1 , wherein the user library comprises:

a) instruction means for establishing a management context of a user application program with the running instance of the domain program;

b) instruction means for providing access to the running instance of the domain program on an established management context, the access to the running instance of the domain program being required for accessing the zero or more of the set of management data and the set of management capabilities, the set of management data and the set of management capabilities being associated with one of the set of the running instances of the resource program; and

c) instruction means for terminating the management context with the domain program.

5. The computer program product according to claim 4 , wherein the instruction means for establishing the management context comprises:

a) instruction means for communicating a message to the running instance of the domain program for establishing the management context;

b) instruction means for communicating a session identification entity to the user application program if the running instance of the domain program responds to the message, the session identification entity representing the management context; and

c) instruction means for storing the session identification entity and the association between the session identification entity and the running instance of the domain program in the user library.

6. The computer program product according to claim 4 , wherein the instruction means for providing the access to the running instance of the domain program comprises:

a) instruction means for identifying the running instance of the domain program that the user application program requires to access by observing a session identification entity representing the established management context;

b) instruction means for communicating a request message to the running instance of the domain program, the request message comprising one or more parameters containing information about the zero or more of the set of management data and the set of management capabilities;

c) instruction means for receiving a response from the running instance of the domain program, the response containing one or more of a return code and a set of return data, the return code containing information about one of a success and a failure in response to the request message; and

d) instruction means for returning one or more of the return code and the set of return data to the user application program in response to the HPI call for providing the access.

7. The computer program product according to claim 4 , wherein the instruction means for terminating the management context comprises instruction means for removing a session identification entity from the user library, the session identification entity representing the management context.

8. The computer program product according to claim 1 , wherein the resource program comprises:

a) instruction means for creating a portal for OS specific inter-process communication for each running instance of the resource program;

b) instruction means for configuring the running instance of the resource program to be the member of the set of the running instances of the domain program; and

c) instruction means for processing a request for accessing the zero or more of the set of management data and the set of management capabilities, the request being made by the running instance of the domain program.

9. The computer program product according to claim 8 , wherein the instruction means for processing the request comprises:

a) instruction means for decoding the request for identifying the zero or more of the set of management data and the set of management capabilities; and

b) instruction means for sending one or more of a return code and a set of return data to the running instance of the domain program in response to the request.

10. The computer program product according to claim 1 , wherein the domain program comprises:

a) instruction means for creating one or more portals for OS specific inter-process communication, the one or more portals having access restrictions defined for each running instance of the domain program, the access restrictions allowing only the pre -defined set of user application programs to send request messages to the one or more portals; and

b) instruction means for maintaining a database within the running instance of the domain program, the database indicating which of the set of the running instances of the resource program are configured to be the members of the running instance of the domain program.

11. The computer program product according to claim 1 , wherein the bridge program comprises:

a) instruction means for communicating with any of the zero or more instances of the user library, the zero or more instances of the resource program and the zero or more instances of the domain program, the zero or more instances of the user library, the zero or more instances of the resource program and the zero or more instances of the domain program running on the same computer system;

b) instruction means for communicating with zero or more instances of the bridge program running on the zero or more remotely-connected computer systems; and

instruction means for managing requests for accessing one of a running instance of a resource program and a running instance of a domain program running on the remotely -connected computer system.

12. The computer program product according to claim 11 , wherein the instruction means for communicating with any of the zero or more instances of the user library, the zero or more instances of the resource program and the zero or more instances of the domain program comprises:

a) instruction means for creating a portal for OS specific inter-process communication for each running instance of the bridge program; and

b) instruction means for applying access restrictions on the portal for accessing the running instance of the bridge program.

13. The computer program product according to claim 11 , wherein the instruction means for managing requests for accessing the one of the running instance of the resource program and the running instance of the domain program:

a) instruction means for receiving a request encapsulated with a header, the header comprising information for identifying the one of the running instance of the resource program and the running instance of the domain program;

b) instruction means for identifying an appropriate running instance of the bridge program from the zero or more instances of the bridge program running on the zero or more remotely-connected computer systems, the appropriate running instance of the bridge program being capable of communicating the encapsulated request to the one of the running instance of the resource program and the running instance of the domain program; and

c) instruction means for forwarding the encapsulated request to the appropriate running instance of the bridge program if the appropriate running instance of the bridge program is identified in a database in the running instance of the bridge program.

14. The computer program product according to claim 11 , wherein the instruction means for managing requests for accessing the one of the running instances of the resource program and the domain program:

a) instruction means for broadcasting the encapsulated request to each of the zero or more instances of the bridge program running on the zero or more remotely-connected computer systems if the appropriate running instance of the bridge program is not identified in a database in the running instance of the bridge program; and

b) instruction means for identifying an instance of the bridge program responding to the encapsulated request, the instance of the bridge program belonging to the zero or more instances of the bridge program running on the zero or more remotely-connected computer systems.

15. A computer program product, the computer program product comprising a non-transitory computer readable medium including computer program code for platform management of computer systems in accordance with the Hardware Platform Interface (HPI) specifications provided by the Service Availability Forum (SAF), the computer program code comprising instructions for:

a) a user library, wherein zero or more instances of the user library being configurable to be present on one or more computer systems, each instance of the user library accepting HPI calls from user application programs, the user library comprising:

i. instruction means for establishing a management context of a user application program with the running instance of the domain program;

ii. instruction means for providing access to the running instance of the domain program on an established management context, the access to the running instance of the domain program being required for accessing the zero or more of the set of management data and the set of management capabilities, the set of management data and the set of management capabilities being associated with one of the set of the running instances of the resource program; and

iii. instruction means for terminating the management context with the domain program;

b) a resource program, wherein zero or more instances of the resource program being configurable to run on the one or more computer systems, each running instance of the resource program providing access to zero or more of a set of management data and a set of management capabilities, the access being provided via access restrictions to a set of running instances of a domain program directly, and to the user application programs indirectly through the set of the running instances of the domain program, the resource program comprising:

i. instruction means for creating a portal for OS specific inter-process communication for each running instance of the resource program;

ii. instruction means for configuring the running instance of the resource program to be the member of the set of the running instances of the domain program; and

iii. instruction means for processing a request for accessing the zero or more of the set of management data and the set of management capabilities, the request being made by the running instance of the domain program;

c) a domain program, wherein zero or more instances of the domain program being configurable to run on the one or more computer systems, each running instance of the domain program providing access of a set of the running instances of the resource program to a pre-defined set of user application programs, the set of the running instances of the resource program being configured as the members of the running instance of the domain program, and the access to the pre-defined set of user application programs being provided based on access restrictions defined for the running instance of the domain program, the domain program comprising:

i. instruction means for creating one or more portals for OS specific inter-process communication, the one or more portals having access restrictions defined for each running instance of the domain program, the access restrictions allowing only the pre-defined set of user application programs to send request messages to the one or more portals; and

ii. instruction means for maintaining a database within the running instance of the domain program, the database indicating which of the set of the running instances of the resource program are configured to be the members of the running instance of the domain program; and

d) a bridge program, wherein zero or more instances of the bridge program being configurable to run on the one or more computer systems, each running instance of the bridge program enabling communication with zero or more remotely-connected computer systems, the bridge program comprising:

i. instruction means for communicating with any of the zero or more instances of the user library, the zero or more instances of the resource program and the zero or more instances of the domain program, the zero or more instances of the user library, the zero or more instances of the resource program and the zero or more instances of the domain program running on the same computer system;

ii. instruction means for communicating with zero or more instances of the bridge program running on the zero or more remotely-connected computer systems; and

iii. instruction means for managing requests for accessing one of a running instance of a resource program and a running instance of a domain program running on the remotely-connected computer system.

16. A system for platform management of computer systems in accordance with the Hardware Platform Interface (HPI) specifications provided by Service Availability Forum (SAF), the system comprising:

a computing device, including a processor, the processor executing instructions configured to provide:

a) a user library, wherein zero or more instances of the user library being configurable to be present on one or more computer systems, each instance of the user library accepting HPI calls from user application programs;

b) a resource program, wherein zero or more instances of the resource program being configurable to run on the one or more computer systems, each running instance of the resource program providing access to zero or more of a set of management data and a set of management capabilities, the access being provided via access restrictions to a set of running instances of a domain program directly, and to the user application programs indirectly through the set of the running instances of the domain program;

c) a domain program, wherein zero or more instances of the domain program being configurable to run on the one or more computer systems, each running instance of the domain program providing access of a set of the running instances of the resource program to a pre-defined set of user application programs, the set of the running instances of the resource program being configured as the members of the running instance of the domain program, and the access to the pre-defined set of user application programs being provided based on access restrictions defined for the running instance of the domain program; and

d) a bridge program, wherein zero or more instances of the bridge program being configurable to run on the one or more computer systems, each running instance of the bridge program enabling communication with zero or more remotely-connected computer systems.

17. A method for enabling platform management of computer systems in accordance with the Hardware Platform Interface (HPI) specifications provided by Service Availability Forum (SAF), the method comprising:

a) accepting HPI calls from user application programs;

b) providing access to zero or more of a set of management data and a set of management capabilities by a running instance of a resource program, the access being provided via access restrictions only to a set of running instances of a domain program directly, and to the user application programs only indirectly through the set of the running instances of the domain program;

c) providing access of a set of running instances of the resource program to a pre-defined set of user application programs by a running instance of the domain program, the set of the running instances of the resource program being configured as the members of the running instance of the domain program, and the access to the pre-defined set of user application programs being provided based on access restrictions defined for the running instance of the domain program; and

d) enabling communication with zero or more remotely-connected computer systems.

Assignments (16)
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 IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2013
From: AUGMENTIX CORPORATION
To: DELL PRODUCTS, L.P.
Reel/Frame 029775/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2007
From: MCKINLEY, DAVID J.
To: AUGMENTIX CORPORATION
Reel/Frame 020221/0934 →
Continuity (1)
Related Publication 20070157158A1 · Jul 5, 2007