IP Library Granted Patent US 8,639,978
Granted Patent B2
US 8,639,978 · App. 13/101,028 · Granted Jan 28, 2014

Topology independent network-based automation infrastructure

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 8,639,978
App. No.
13/101,028
Granted
Jan 28, 2014
Kind
B2
Abstract

An automation process verifies that a test bed includes a set of devices specified by at least one script which are to be executed by the automation process on the test bed. The test bed is locked and the set of devices is allocated to the automation process. Performance data collection and logging for the set of devices is started and the at least one script is executed on the set of devices. After executing the at least one script, the set of devices is de-allocated and the test bed is unlocked. A notification is generated indicating that the at least one script has been executed.

Claims (90)

1. A method comprising:

verifying, by an automation process executing on a data processing system, that a test bed includes a set of devices specified by at least one script to be executed on the test bed;

locking the test bed;

allocating the set of devices to the automation process;

starting performance data collection and logging for the set of devices;

executing the at least one script on the set of devices;

de-allocating the set of devices after executing the at least one script;

unlocking the test bed; and

generating a notification indicating that the at least one script has been executed.

2. The method of claim 1 , wherein verifying that a test bed includes a set of devices comprises:

determining that a script requires a device of a first type;

locking the device of the first type in response to determining that the test bed includes the device of the first type; and

creating a mapping of the device of the first type, wherein the mapping links the script to the device of the first type.

3. The method of claim 1 , wherein executing the at least one script comprises:

determining that the at least one script includes a provision command modifying a state of one of the devices in the set of devices;

extracting the provision command from the script;

executing the provision command on the set of devices;

creating an un-provision command using the provision command, wherein executing the un-provision command reverts the state of a device to an original state;

tagging the un-provision command; and

pushing the un-provision command on to a stack.

4. The method of claim 3 , wherein de-allocating the set of the devices comprises:

determining that all scripts have been executed;

executing each un-provision command on the stack.

5. The method of claim 1 , further comprising:

receiving a set of parameters and attributes with a selection of the at least one script;

comparing the set of parameters and attributes to one or more allowable ranges extracted from a data source; and

modifying the set of parameters and attributes to be consistent with the allowable ranges.

6. The method of claim 5 , further comprising:

comparing the received set of parameters and attributes to a set of required parameters and attributes of the at least one script; and

inserting a default value for a required parameter or attribute not included in the received set of parameters and attributes, wherein the default value is extracted from the data source.

7. A non-transitory machine readable storage medium storing executable instructions which when executed by a processor cause the processor to perform operations comprising:

verifying, by an automation process, that a test bed includes a set of devices specified by at least one script to be executed on the test bed;

locking the test bed;

allocating the set of devices to the automation process;

starting performance data collection and logging for the set of devices;

executing the at least one script on the set of devices;

de-allocating the set of devices after executing the at least one script;

unlocking the test bed; and

generating a notification indicating that the at least one script has been executed.

8. The non-transitory machine readable storage medium of claim 7 , wherein verifying that a test bed includes a set of devices comprises:

determining that a script requires a device of a first type;

locking the device of the first type in response to determining that the test bed includes the device of the first type; and

creating a mapping of the device of the first type, wherein the mapping links the script to the device of the first type.

9. The non-transitory machine readable storage medium of claim 7 , wherein executing the at least one script comprises:

determining that the at least one script includes a provision command modifying a state of one of the devices in the set of devices;

extracting the provision command from the script;

executing the provision command on the set of devices;

creating an un-provision command using the provision command, wherein executing the un-provision command reverts the state of a device to an original state;

tagging the un-provision command; and

pushing the un-provision command on to a stack.

10. The non-transitory machine readable storage medium of claim 9 , wherein de-allocating the set of the devices comprises:

determining that all scripts have been executed;

executing each un-provision command on the stack.

11. The non-transitory machine readable storage medium of claim 7 , further comprising:

receiving a set of parameters and attributes with a selection of the at least one script;

comparing the set of parameters and attributes to one or more allowable ranges extracted from a data source; and

modifying the set of parameters and attributes to be consistent with the allowable ranges.

12. The non-transitory machine readable storage medium of claim 11 , further comprising:

comparing the received set of parameters and attributes to a set of required parameters and attributes of the at least one script; and

inserting a default value for a required parameter or attribute not included in the received set of parameters and attributes, wherein the default value is extracted from the data source.

13. A hardware-based data processing system comprising:

means for verifying, by an automation process executing on a hardware device, that a test bed includes a set of devices specified by at least one script to be executed on the test bed;

means for locking the test bed;

means for allocating the set of devices to the automation process;

means for starting performance data collection and logging for the set of devices;

means for executing the at least one script on the set of devices;

means for de-allocating the set of devices after executing the at least one script;

means for unlocking the test bed; and

means for generating a notification indicating that the at least one script has been executed.

14. The data processing system of claim 13 , wherein verifying that a test bed includes a set of devices comprises:

means for determining that a script requires a device of a first type;

means for locking the device of the first type in response to determining that the test bed includes the device of the first type; and

means for creating a mapping of the device of the first type, wherein the mapping links the script to the device of the first type.

15. The data processing system of claim 13 , wherein executing the at least one script comprises:

means for determining that the at least one script includes a provision command modifying a state of one of the devices in the set of devices;

means for extracting the provision command from the script;

means for executing the provision command on the set of devices;

means for creating an un-provision command using the provision command, wherein executing the un-provision command reverts the state of a device to an original state;

means for tagging the un-provision command; and

means for pushing the un-provision command on to a stack.

16. The data processing system of claim 15 , wherein de-allocating the set of the devices comprises:

means for determining that all scripts have been executed;

means for executing each un-provision command on the stack.

17. The data processing system of claim 13 , further comprising:

means for receiving a set of parameters and attributes with a selection of the at least one script;

means for comparing the set of parameters and attributes to one or more allowable ranges extracted from a data source; and

means for modifying the set of parameters and attributes to be consistent with the allowable ranges.

18. The data processing system of claim 17 , further comprising:

means for comparing the received set of parameters and attributes to a set of required parameters and attributes of the at least one script; and

means for inserting a default value for a required parameter or attribute not included in the received set of parameters and attributes, wherein the default value is extracted from the data source.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →