IP Library Granted Patent US 9,459,995
Granted Patent B2
US 9,459,995 · App. 14/715,017 · Granted Oct 4, 2016

Compliance testing engine for integrated computing system

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,459,995
App. No.
14/715,017
Granted
Oct 4, 2016
Kind
B2
Abstract

A technique tests whether an integrated computing system having server, network and storage components complies with a configuration benchmark expressed as rules in first markup-language statements such as XML. The rules are parsed to obtain test definition identifiers identifying test definitions in a second set of markup-language statements, each test definition including a test value and an attribute identifier of system component attribute. A management database is organized as an integrated object model of all system components. An interpreter invoked with the test definition identifier from each rule process each test definition to (a) access the management database using the attribute identifier obtain the actual value for the corresponding attribute, and (b) compare the actual value to the test value of the test definition to generate a comparison result value that can be stored or communicated as a compliance indicator to a human or machine user.

Claims (48)

1. An apparatus for testing compliance of a computing system, the apparatus comprising a processor and a memory storing executable instructions that in response to execution by the processor cause the apparatus to at least:

receive a collection of rules in a first set of markup-language statements, the collection of rules representing a configuration benchmark against which a computing system is to be tested for compliance, the computing system having interconnected components;

parse the collection of rules to obtain test references to tests and comparison values used therein, the tests being defined in a second set of markup-language statements, with references to at least some of the interconnected components and their attributes as represented in a database organized as an object model of the computing system, the object model expressing physical and functional relationships among the interconnected components; and

invoke an interpreter with the test references and comparison values to perform the tests defined in the second set of markup-language statements using the comparison values, performance of the tests including the apparatus being caused to:

access the database using the references to the at least some of the interconnected components and their attributes to obtain actual values of their attributes; and

perform the tests to generate results based on comparisons of the actual values and corresponding ones of the comparison values, the results indicating whether the computing system is compliant with the configuration benchmark.

2. The apparatus of claim 1 , wherein the database provides a Representational State Transfer (REST) interface by which the actual values are obtained, and

wherein the references to the at least some of the interconnected components and their attributes are embodied as structured uniform resource identifiers (URIs) defined in the REST interface for the at least some of the interconnected components and their attributes, the URIs being used in request messages of the REST interface, and the actual values being returned in corresponding response messages of the REST interface.

3. The apparatus of claim 2 , wherein each response message of the corresponding response messages includes a set of markup-language statements for a component of the at least some of the interconnected components, in which an actual value of an attribute of the component is returned as a tagged value, and including one or more statements having respective URIs for other components of the interconnected components.

4. The apparatus of claim 1 , wherein the second set of markup-language statements includes respective test definitions for the tests, and

wherein for a rule of the collection of rules, a test definition of the respective test definitions includes references to multiple ones of the interconnected components and their attributes, and two or more distinct conditions one or more of which are to be satisfied by the multiple ones of the interconnected components for the computing system to comply with the rule.

5. The apparatus of claim 1 , wherein the interconnected components include different types of hardware components, and the object model expresses physical and functional relationships among the interconnected components including the different types of hardware components.

6. The apparatus of claim 5 , wherein the interconnected components further include different types of software components, and the object model expresses physical and functional relationships among the interconnected components including the different types of hardware components and the different types of software components, and

wherein a rule of the collection of rules specifies a relationship between a hardware component and software component of respectively the different types of hardware components and the different types of software components, and a test of the tests is for compliance with the rule.

7. The apparatus of claim 5 , wherein the interconnected components further include different types of software components, and the object model expresses physical and functional relationships among the interconnected components including the different types of hardware components and the different types of software components,

wherein the different types of software components include a virtualizing software component, and an operating system or application component, and

wherein a rule of the collection of rules specifies a relationship between the virtualizing software component, and the operating system or application component, and a test of the tests is for compliance with the rule.

8. A method of testing compliance of a computing system, the method comprising:

receiving a collection of rules in a first set of markup-language statements, the collection of rules representing a configuration benchmark against which a computing system is to be tested for compliance, the computing system having interconnected components including different types of hardware components;

parsing the collection of rules to obtain test references to tests and comparison values used therein, the tests being defined in a second set of markup-language statements, with references to at least some of the interconnected components and their attributes as represented in a database organized as an object model of the computing system, the object model expressing physical and functional relationships among the interconnected components including the different types of hardware components; and

invoking an interpreter with the test references and comparison values to perform the tests defined in the second set of markup-language statements using the comparison values, performance of the tests including:

accessing the database using the references to the at least some of the interconnected components and their attributes to obtain actual values of their attributes; and

performing the tests to generate results based on comparisons of the actual values and corresponding ones of the comparison values, the results indicating whether the computing system is compliant with the configuration benchmark.

9. The method of claim 8 , wherein the database provides a Representational State Transfer (REST) interface by which the actual values are obtained, and

wherein the references to the at least some of the interconnected components and their attributes are embodied as structured uniform resource identifiers (URIs) defined in the REST interface for the at least some of the interconnected components and their attributes, the URIs being used in request messages of the REST interface, and the actual values being returned in corresponding response messages of the REST interface.

10. The method of claim 9 , wherein each response message of the corresponding response messages includes a set of markup-language statements for a component of the at least some of the interconnected components, in which an actual value of an attribute of the component is returned as a tagged value, and including one or more statements having respective URIs for other components of the interconnected components.

11. The method of claim 8 , wherein the second set of markup-language statements includes respective test definitions for the tests, and

wherein for a rule of the collection of rules, a test definition of the respective test definitions includes references to multiple ones of the interconnected components and their attributes, and two or more distinct conditions one or more of which are to be satisfied by the multiple ones of the interconnected components for the computing system to comply with the rule.

12. The method of claim 11 , wherein the multiple ones of the interconnected components include different types of hardware components.

13. The method of claim 8 , wherein the interconnected components further include different types of software components, and the object model expresses physical and functional relationships among the interconnected components including the different types of hardware components and the different types of software components, and

wherein a rule of the collection of rules specifies a relationship between a hardware component and software component of respectively the different types of hardware components and the different types of software components, and a test of the tests is for compliance with the rule.

14. The method of claim 8 , wherein the interconnected components further include different types of software components, and the object model expresses physical and functional relationships among the interconnected components including the different types of hardware components and the different types of software components,

wherein the different types of software components include a virtualizing software component, and an operating system or application component, and

wherein a rule of the collection of rules specifies a relationship between the virtualizing software component, and the operating system or application component, and a test of the tests is for compliance with the rule.

15. A computer-readable medium for testing compliance of a computing system, the computer-readable medium being non-transitory and storing a set of computer instructions executable by a computerized device to cause the computerized device to at least:

receive a collection of rules in a first set of markup-language statements, the collection of rules representing a configuration benchmark against which a computing system is to be tested for compliance, the computing system having interconnected components including different types of hardware components;

parse the collection of rules to obtain test references to tests and comparison values used therein, the tests being defined in a second set of markup-language statements, with references to at least some of the interconnected components and their attributes as represented in a database organized as an object model of the computing system, the object model expressing physical and functional relationships among the interconnected components including the different types of hardware components; and

invoke an interpreter with the test references and comparison values to perform the tests defined in the second set of markup-language statements using the comparison values, performance of the tests including the computerized device being caused to:

access the database using the references to the at least some of the interconnected components and their attributes to obtain actual values of their attributes; and

perform the tests to generate results based on comparisons of the actual values and corresponding ones of the comparison values, the results indicating whether the computing system is compliant with the configuration benchmark.

16. The computer-readable medium of claim 15 , wherein the database provides a Representational State Transfer (REST) interface by which the actual values are obtained, and

wherein the references to the at least some of the interconnected components and their attributes are embodied as structured uniform resource identifiers (URIs) defined in the REST interface for the at least some of the interconnected components and their attributes, the URIs being used in request messages of the REST interface, and the actual values being returned in corresponding response messages of the REST interface.

17. The computer-readable medium of claim 16 , wherein each response message of the corresponding response messages includes a set of markup-language statements for a component of the at least some of the interconnected components, in which an actual value of an attribute of the component is returned as a tagged value, and including one or more statements having respective URIs for other components of the interconnected components.

18. The computer-readable medium of claim 15 , wherein the second set of markup-language statements includes respective test definitions for the tests, and

wherein for a rule of the collection of rules, a test definition of the respective test definitions includes references to multiple ones of the interconnected components and their attributes, and two or more distinct conditions one or more of which are to be satisfied by the multiple ones of the interconnected components for the computing system to comply with the rule.

19. The computer-readable medium of claim 18 , wherein the multiple ones of the interconnected components include different types of hardware components.

20. The computer-readable medium of claim 15 , wherein the interconnected components further include different types of software components, and the object model expresses physical and functional relationships among the interconnected components including the different types of hardware components and the different types of software components, and

wherein a rule of the collection of rules specifies a relationship between a hardware component and software component of respectively the different types of hardware components and the different types of software components, and a test of the tests is for compliance with the rule.

Assignments (5)
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 →
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 →
MERGER Recorded Mar 25, 2020
From: VCE IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052224/0314 →
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 May 18, 2015
From: DOLINSKY, TODD; STREETE, JONATHAN P.; HANSEN, NICHOLAS; SHAN, XUNING VINCENT
To: VCE COMPANY, LLC
Reel/Frame 035661/0768 →