摘要:
A computing workflow system has a workflow process definition contained in a workflow table as script functions. The workflow table is part of an extended database schema operating with an extended store, a workflow engine and a script engine. The novel workflow system includes a server database having a data table and an associated workflow table. A workflow extended store is communicatively coupled to the server database. A workflow engine is also communicatively coupled to the server database and to the workflow extended store. Further, a script engine is communicatively coupled to the workflow engine. The workflow table includes workflow rules and associated code to be executed by the workflow engine. Each row of the workflow table represents a workflow step. Script functions are defined in the workflow table to evaluate the condition and execute the action of each workflow step. The rules and associated code in the workflow table is both declarative and procedural. The workflow engine compares the data change information from the extended store procedure with the workflow definition in the workflow table and determines the appropriate step that needs to be executed. Then it checks execution permissions on that step. If execute permission is granted, the workflow engine evaluates the workflow step condition against the workflow table and, if true, it executes the step action. Upon completing the step action, the workflow engine commits all the changes made to the current item or to other items in the database.
摘要:
Described is an application program interface (API) that enables dynamic modification to applications executing in a heterogeneous distributed computing environment. The application program interface includes a navigation function, a query function, a thread management function, and a modifier function. The navigation function returns program information for a local or remote computer (i.e., specified computing device). The query function returns information about a program on the specified computing device. The thread management function controls execution of other programs on the specified computing device. The modifier function modifies a system memory on the specified computing device that stores the heterogeneous program. The API works in conjunction with a hierarchical intermediate representation of the heterogeneous program such that pre-defined program tools can modify the intermediate representation and write these modifications to the specified computing device while the heterogeneous program remains operational.
摘要:
Described is a system and method for dynamically modifying an executing heterogeneous program in a heterogeneous distributed computing environment. A system reference is obtained to a target system on which the heterogeneous program is executing. The target system may be a local or a remote system. Based on the system reference, a program reference associated with the program is obtained which is used to locate a component of the program. An executable code associated with the component is modified to create a modified executable code based on a modification of an internal representation of the component. The modified code is inserted into the target system memory without requiring the target system to go offline. The code is inserted either by patching over an original memory area or injecting into a new memory location. The code may be inserted when the target program is operating in user mode or kernel mode.
摘要:
A method prepares a computer program for operation in a computer supply system that supplies portions, or program units, of program code or program data of the computer program as the program needs the portions. The method includes defining a program unit of the program and removing the program unit from the program, thereby producing a program skeleton that is missing the program unit. The method further includes inserting instructions in place of the program unit in the program skeleton. The instructions are operative to request the program unit when the program skeleton encounters the instructions. An information structure includes a program skeleton of a program. The program skeleton is missing a funclet of the program, but includes a placeholder in place of the funclet. The program skeleton additionally includes instructions in place of the funclet. The instructions are operative to request the funclet when the program skeleton encounters the instructions.
摘要:
A method prepares a computer program for operation in a computer supply system that supplies portions, or program units, of program code or program data of the computer program as the program needs the portions. The method includes defining a program unit of the program and removing the program unit from the program, thereby producing a program skeleton that is missing the program unit. The method further includes inserting instructions in place of the program unit in the program skeleton. The instructions are operative to request the program unit when the program skeleton encounters the instructions. An information structure includes a program skeleton of a program. The program skeleton is missing a funclet of the program, but includes a placeholder in place of the funclet. The program skeleton additionally includes instructions in place of the funclet. The instructions are operative to request the funclet when the program skeleton encounters the instructions.
摘要:
A method of supplying program units of a computer program as the program needs the program units includes running a program skeleton. The program skeleton is derived from the program, but has a program stub where a program unit associated with the program stub may be inserted. Upon encountering the program stub, the method includes getting the program unit associated with the program stub and inserting the program unit at the program stub. A method of supplying funclets of a computer program from a server computer system to a client computer system includes receiving a plurality of requests for funclets during a test period. If a tested probability of requests for a first funclet being followed by requests for a second funclet is at least a predetermined probability, then the method also includes sending the first funclet and the second funclet to the client computer system in response to a request from the client computer system for the first funclet after the test period.