Object-based machine automation method and system
First Claim
1. A machine automation system for automating control of a client machine under control of a server process, the system comprising:
- a predefined machine automation server object adapted to execute in the server process;
a predefined machine automation client object class adapted to execute on the client machine in communication with the machine automation server object and the predefined machine automation client object class comprises one or more machine automation client objects for executing testing methods on the client machine; and
a machine automation control module instantiating a machine automation server object of the machine automation server object class in the server process and instructing the machine automation server object to instantiate one of the machine automation client objects of the machine automation client object on the client machine to control operation of the client machine; and
the machine automation server object includes a shutdown server object executing in the server process of a server machine, the machine automation client object includes a shutdown client object executing in a client process of the client machine, and the machine automation control module instructs the shutdown server object to cause the shutdown client object to reboot the client machine and to re-establish communications with the shutdown client object via a communications mechanism after rebooting of the client machine completes.
2 Assignments
0 Petitions
Accused Products
Abstract
Automation objects are implemented in a client-server model to control operations on one or more client machines from a single machine automation control module, such as a test program. The machine automation control module instantiates machine automation server objects in a server process. The control module can then instruct the server objects to instantiate corresponding machine automation client objects on specified client machines via a connection mechanism. Object-oriented automation classes are provided in a library and may be extended to meet customized requirements of a given testing procedure. Examples of automation objects may include, without limitation, application objects, machine image objects, snapshot objects, file and registry access objects, reboot objects, autologon objects, and command execution objects. Automation objects allow the re-establishment of remote control after the loss of control resulting from a reboot, a relogon, or a disk image restoration, for example. Automation objects may also be used to automate the deployment of software throughout an enterprise.
-
Citations
33 Claims
-
1. A machine automation system for automating control of a client machine under control of a server process, the system comprising:
-
a predefined machine automation server object adapted to execute in the server process; a predefined machine automation client object class adapted to execute on the client machine in communication with the machine automation server object and the predefined machine automation client object class comprises one or more machine automation client objects for executing testing methods on the client machine; and a machine automation control module instantiating a machine automation server object of the machine automation server object class in the server process and instructing the machine automation server object to instantiate one of the machine automation client objects of the machine automation client object on the client machine to control operation of the client machine; and the machine automation server object includes a shutdown server object executing in the server process of a server machine, the machine automation client object includes a shutdown client object executing in a client process of the client machine, and the machine automation control module instructs the shutdown server object to cause the shutdown client object to reboot the client machine and to re-establish communications with the shutdown client object via a communications mechanism after rebooting of the client machine completes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for automating control of a client machine under control of a server process, the method comprising:
-
executing a machine automation control module in the server process; instantiating a machine automation server object of a predefined machine automation server object class in the server process, under command of the machine automation control module; instructing the machine automation server object to instantiate a machine automation client object of a predefined machine automation client object class on the client machine; instructing the machine automation server object to cause the machine automation client object to reboot the client machine; and re-establishing communications between the machine automation server object and the machine automation client object via a communications mechanism after rebooting of the client machine completes. - View Dependent Claims (16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30)
-
-
20. The method of 15 further comprising:
-
executing a first instruction of the machine automation control module that instructs the machine automation server object to cause the machine automation client object to reboot the client machine; and executing a subsequent instruction of the machine automation control module after the machine automation server object causes the machine automation client object to reboot the client machine and before rebooting of the client machine completes.
-
-
23. The method of 15 further comprising:
-
executing a first instruction of the machine automation control module that instructs the machine automation server object to cause the machine automation client object to reboot the client machine; and executing a subsequent instruction of the machine automation control module after the machine automation server object causes the machine automation client object to reboot the client machine and before rebooting of the client machine completes.
-
-
31. A computer program storage medium readable by a computer system and encoding a computer program for executing a computer process automating control of a client machine under control of a server process, the computer process comprising:
-
executing a machine automation control module in the server process; instantiating a machine automation server object of a predefined machine automation server object class in the server process, under command of the machine automation control module; instructing the machine automation server object to instantiate a machine automation client object of a predefined machine automation client object class on the client machine; instructing the machine automation server object to cause the machine automation client object to reboot the client machine; and re-establishing communications between the machine automation server object and the machine automation client object via a communications mechanism after rebooting of the client machine completes.
-
-
32. A computer program storage medium readable by a computer system and encoding a computer program for executing on a computer system a computer process for automating control of a first client machine and a second client machine under control of a server process via a communications mechanism, for testing software on the first client machine and the second client machine, the computer process comprising:
-
executing a machine automation control module in the server process; instantiating a first machine automation server object of a predefined machine automation server object control module; instructing the first machine automation server object to instantiate a first machine automation client object of a predefined machine automation client class on the first client machine, and the first machine automation client object for executing one or more testing methods on the client machine; instantiating a second machine automation server object of the machine automation server object class in the server process, under command of the machine automation control module; instructing the second machine automation server object to the instantiate a second machine automation client object of the machine automation client object class on the second client machine, and the second machine automation client object for executing one or more testing methods on the client machine; instructing the first machine automation server object to cause the first machine automation client object to control testing of the first client machine; instructing the second machine automation server object to cause the second machine automation client object to control testing of the second client machine; executing the server process in a server machine; instructing the first machine automation server object to cause the first machine automation client object to reboot the first client machine; instructing the second machine automation server object to cause the second machine automation client object to reboot the second client machine; re-establishing communications between the first machine automation server object and the first machine automation client object via the communications mechanism after rebooting of the first client machine completes; and re-establishing communications between the second machine automation server object and the second machine automation client object via the communications mechanism after rebooting of the second client machine completes. - View Dependent Claims (33)
-
Specification