SOFTWARE ROBOTS FOR PROGRAMMATICALLY CONTROLLING COMPUTER PROGRAMS TO PERFORM TASKS
First Claim
1. A system, comprising:
- at least one computer hardware processor; and
at least one computer-readable storage medium storing;
a software robot computer program for controlling multiple application programs to perform a task comprising a first sub-task to be performed by a first application program and a second sub-task to be performed by a second application program; and
processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform;
accessing the software robot;
generating an object hierarchy comprising a plurality of objects corresponding to active graphical user interface (GUI) elements of at least one of the multiple application programs;
controlling the first application program to perform the first sub-task at least in part by using the software robot computer program and the object hierarchy; and
controlling the second application program to perform the second sub-task at least in part by using software robot computer program and the object hierarchy,wherein the first and second application programs are configured to execute at least in part by using different GUI application libraries.
6 Assignments
0 Petitions
Accused Products
Abstract
A system comprising at least one computer hardware processor; and at least one computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: generating an object hierarchy comprising a plurality of objects corresponding to active graphical user interface (GUI) elements of at least one of a first application program and a second application program; controlling the first application program to perform a first sub-task of a task at least in part by using the object hierarchy; and controlling the second application program to perform a second sub-task of the task at least in part by using the object hierarchy, wherein the first and second application programs are configured to execute at least in part by using different GUI application libraries.
30 Citations
19 Claims
-
1. A system, comprising:
-
at least one computer hardware processor; and at least one computer-readable storage medium storing; a software robot computer program for controlling multiple application programs to perform a task comprising a first sub-task to be performed by a first application program and a second sub-task to be performed by a second application program; and processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform; accessing the software robot; generating an object hierarchy comprising a plurality of objects corresponding to active graphical user interface (GUI) elements of at least one of the multiple application programs; controlling the first application program to perform the first sub-task at least in part by using the software robot computer program and the object hierarchy; and controlling the second application program to perform the second sub-task at least in part by using software robot computer program and the object hierarchy, wherein the first and second application programs are configured to execute at least in part by using different GUI application libraries.
-
-
2. The system of claim 1, wherein, when the controlling of the second application is performed, the object hierarchy comprises a first plurality of objects corresponding to a respective plurality of active GUI elements of the first application program and a second plurality of objects corresponding to a respective plurality of active GUI elements of the second application program.
-
3. The system of claim 1, wherein the object hierarchy comprises a first plurality of objects corresponding to a respective plurality of active GUI elements of the first application program and a second plurality of objects corresponding to a respective plurality of active GUI elements of the second application program.
-
4. The system of claim 1, wherein controlling the first application program to perform the first sub-task comprises:
-
automatically accessing a first object in the object hierarchy corresponding to a first active GUI element of the first application program; and automatically using the first object to cause the first application to perform an action in furtherance of the first sub-task.
-
-
5. The system of claim 4, wherein controlling the second application program to perform the second sub-task comprises:
-
automatically accessing a second object in the object hierarchy corresponding to a second active GUI element of the second application program; and automatically using the second object to cause the second application to perform an action in furtherance of the second sub-task.
-
-
6. The system of claim 4, wherein:
-
automatically accessing the first object comprises searching for the first object in the object hierarchy using a search grammar; and automatically accessing the second object comprises searching for the second object in the object hierarchy using the search grammar.
-
-
7. The system of claim 1, wherein the first and second application programs are configured to execute using different operating systems.
-
8. The system of claim 1, wherein the first application program is a Windows application program configured to execute on a Windows operating system and the second application program is a web-based application program configured to execute at least in part by using a web-browser application program.
-
9. The system of claim 1, wherein the first application program is a Windows application program and the second application program is a Java application program.
-
10. The system of claim 1, wherein the first application program is an application program selected from the group consisting of an application program configured to execute on a mobile device, an application program configured to execute on a server, a Windows application program, a LINUX GTK application program, an application program having component object model (COM) access, a Java application program, a FLASH application program, a SILVERLIGHT application program, a SAP application program, an Android application program, an Oracle application program, a web-based application program, an HTML application program, a Javascript application program, an AJAX application program, a Windows MOBILE application program, an IOS application program, a SOLARIS application program, an IBM AIX application program, and a proxy application program that may be used as a proxy for controlling another application program.
-
11. The system of claim 1, wherein the first and second application programs are configured to execute at least in part by using different software platforms.
-
12. The system of claim 11, wherein the different software platforms include a first software platform selected from the group consisting of a Windows operating system, a LINUX operating system, a Java virtual machine, a web-browser, an operating system configured to execute on a mobile device, a SAP platform, an Oracle platform.
-
13. A system, comprising:
-
at least one computer hardware processor; and at least one computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform; generating an object hierarchy comprising a plurality of objects corresponding to active graphical user interface (GUI) elements of at least one of a first application program and a second application program; controlling the first application program to perform a first sub-task of a task at least in part by using the object hierarchy; and controlling the second application program to perform a second sub-task of the task at least in part by using the object hierarchy, wherein the first and second application programs are configured to execute at least in part by using different GUI application libraries.
-
-
14. The system of claim 13, wherein the first and second application programs are configured to execute using different operating systems.
-
15. The system of claim 13, wherein the first application program is a Windows application program configured to execute on a Windows operating system and the second application program is a web-based application program configured to execute at least in part by using a web-browser application program.
-
16. The system of claim 13, wherein the first application program is a Windows application program and the second application program is a Java application program.
-
17. The system of claim 13, wherein the first application program is an application program selected from the group consisting of an application program configured to execute on a mobile device, an application program configured to execute on a server, a Windows application program, a LINUX GTK application program, an application program having component object model (COM) access, a Java application program, a FLASH application program, a SILVERLIGHT application program, a SAP application program, an Android application program, an Oracle application program, a web-based application program, an HTML application program, a Javascript application program, an AJAX application program, a Windows MOBILE application program, an IOS application program, a SOLARIS application program, an IBM AIX application program, and a proxy application program that may be used as a proxy for controlling another application program.
-
18. The system of claim 13, wherein the first and second application programs are configured to execute at least in part by using different software platforms.
-
19. The system of claim 18, wherein the different software platforms include a first software platform selected from the group consisting of a Windows operating system, a LINUX operating system, a Java virtual machine, a web-browser, an operating system configured to execute on a mobile device, a SAP platform, an Oracle platform.
Specification