WO2008003183A1 - Method and system for controlling execution of computer processing steps - Google Patents

Method and system for controlling execution of computer processing steps Download PDF

Info

Publication number
WO2008003183A1
WO2008003183A1 PCT/CH2006/000360 CH2006000360W WO2008003183A1 WO 2008003183 A1 WO2008003183 A1 WO 2008003183A1 CH 2006000360 W CH2006000360 W CH 2006000360W WO 2008003183 A1 WO2008003183 A1 WO 2008003183A1
Authority
WO
WIPO (PCT)
Prior art keywords
user input
computer
steps
processing
time
Prior art date
Application number
PCT/CH2006/000360
Other languages
French (fr)
Inventor
Martin Naedele
Original Assignee
Abb Research Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abb Research Ltd filed Critical Abb Research Ltd
Priority to PCT/CH2006/000360 priority Critical patent/WO2008003183A1/en
Publication of WO2008003183A1 publication Critical patent/WO2008003183A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

For controlling execution of a sequence of computer processing steps and interjacent user input steps that separate sequential processing steps, the user is provided with schedule information (S3) about the processing steps in relation to the user input steps. The schedule information includes anticipated processing times of the processing steps. The anticipated processing time is determined based on a real-time performance of computer and/or networking components used for executing the processing steps. Furthermore, the schedule information includes a waiting time indicative of the estimated time until user interaction is required by the next user input step. The schedule information makes possible improved time planning for a human operator: idle waiting time can be reduced and required presence can be preserved to avoid unnecessary delays.

Description

DESCRIPTION
METHOD AND SYSTEM FOR CONTROLLING EXECUTION OF COMPUTER PROCESSING STEPS
FIELD OF THE INVENTION
The present invention relates to a computer-implemented method and a computer system for controlling execution of a sequence of computer processing steps and user input steps, the user input steps separating sequential processing steps.
BACKGROUND OF THE INVENTION
There are various processes that are executed on computer systems as a sequence of processing steps separated by interjacent user input steps. In such processes, each of the computer processing steps represents a non-interactive period, without user input; whereas each of the user input steps represents a period of interaction with the user, requiring user input. Examples of such processes include software installation, data backup/restore, computer-implemented diagnosis, and computer-controlled startup and/or shut down applications. For example, software installation processes are typically controlled by software installation wizards, i.e. special GUI applications also referred to as "installers" or "install wizards". These installation applications provide to the user feedback about the progress of the installation, e.g. by means of a graphic bar indicating the percentage of the process that is completed. Moreover these applications collect from the user data input, where necessary, to determine execution of subsequent steps in the installation. Installing complex software packages such as operating systems or process control systems may require several hours of installation time. The installation time comprises the interactive periods, for capturing user input, and the non-interactive periods, for copying files, compiling programs, and/or executing sub-applications. State of the art of installer design is e.g. embodied in the MS Windows 2003 server installer by Microsoft. The installer provides graphical feedback about the progress, displays information about the application to inform the user who is waiting for the next interaction request, and displays an estimate of time until the installation process is complete. Unfortunately, having been informed that it will take another 50 minutes for the installation process to complete, a user may decide to leave and do something instead of waiting in front of the computer terminal, only to come back after 50 minutes to find a blocking interaction dialog that opened up 20 seconds after he left. The current installer applications have thus the disadvantage that they may lead to unnecessary prolongation of installation time and thus to wasting of time.
DESCRIPTION OF THE INVENTION
It is therefore an objective of the present invention to provide a computer- implemented method and a computer system for controlling execution of a sequence of computer processing steps separated by interjacent user input steps, which method and system do not have the disadvantage of the prior art. Particularly, it is an objective of the present invention to provide a computer-implemented method and a computer system for installing software applications without unnecessary prolonging the installation time. These objectives are achieved by a computer-implemented method according to claim I3 a computer system according to claim 12, and a computer program product according to claim 19. Further preferred embodiments are evident from the dependent claims.
According to the present invention, the above-mentioned objects are particularly achieved in that, for controlling execution of a sequence of computer processing steps and user input steps separating sequential processing steps, provided to the user is schedule information about at least one processing step in relation to the user input step following this one processing step. For example, the processing steps are part of a software installation process for installing software applications, updates, service packs and/or patches; a data backup/restore process; a computer-implemented diagnosis process; a computer-controlled startup process and/or a computer-controlled shut down process. The schedule information makes it possible for a user to get an indication of the next "upcoming user input step requiring user interaction. Preferably, the schedule
• information includes an indication of an anticipated processing time of at least one of the processing steps. Consequently, the user is informed about how much processing time is expected to pass until his presence is required for providing user input. For execution processes, e.g. software installation applications, having execution and interaction characteristics with non-interactive processing periods, when no user input is required, and interjacent interactive periods, when user input is required, the schedule information makes possible improved time planning for the human operator. On one hand, the user can avoid idle waiting time before the next user input step; on the other hand, the user can avoid unnecessary delay by making sure he is present at the next user input step. In an embodiment, the schedule information includes an outline of the sequence of all processing steps and user input steps from the start to the end of the respective execution process; preferably, timing information is associated with each of the processing steps.
In an embodiment, the schedule information includes a waiting time indicative of an anticipated time until user interaction is required by one of the user input steps. Thus, by taking into account the anticipated processing time of the current processing step and the time elapsed since the start of this processing step, the user is informed continuously about the expected waiting time until the next user input step.
In alternative or complimentary embodiments, the schedule information is determined from stored system configuration information, run-time deduced system parameters, and/or user input data, hi a further embodiment, the anticipated processing time is determined based on a real-time performance of computer components, e.g. central processing unit (CPU) or hard disk, and/or networking components used for executing the processing steps. Determining the processing time dynamically at run time has the advantage that the estimated waiting times correspond more accurately to the actual values. In a further embodiment, during execution of the computer processing steps, updated is any timing information included in the schedule information based on new estimates of performance and processing times. Thus changes in the system performance, for example, are reflected dynamically in the estimated timing values. hi an embodiment, the outline of the sequence includes an indication of user input steps with mandatory user interaction and user input steps with optional user interaction. After a defined response time has elapsed, using a set of default parameters, initiated is execution of a processing step that follows a user input step with optional user interaction. In an additional embodiment, the user is informed, a defined warning time prior to an upcoming user input step, about the upcoming user input step, by using a display, an acoustic converter, a pager, a mobile radio phone, and/or an electronic messaging system.
In addition to a computer-implemented method and a computer system for controlling execution of a sequence of computer processing steps and user input steps, the present invention also relates to a computer program product including computer program code means for controlling one or more processors of a computer such that the computer executes said method; particularly, a computer program product including a computer readable medium containing therein the computer program code means.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be explained in more detail, by way of example, with reference to the drawings in which: Figs. Ia to Id show examples of different architectural arrangements of a control module, and various processing step and user input step modules,
Figs. 2a and 2b show a stand-alone and a networked computer system for executing the processing steps,
Fig. 3 shows an exemplary sequence of steps for controlling execution of a sequence of computer processing steps and user input steps. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Fig. Ia shows an architectural arrangement illustrating schematically a computer system 1 comprising an application module Al with various programmed software modules: a control module 10, an alarm module 11, processing step modules Pl, P2 and user input step modules UIl, UI2. The processing step modules Pl, P2 are configured to execute a computer-processing step, without any user interaction. The user input step modules UIl, UI2 are configured to request from a human operator data input required by the control module 10, to determine further proceedings, or by the processing step modules Pl, P2 for subsequent processing. The application module Al is configured, for example, to execute a software installation process, the control module 10 controlling the sequential execution of installation steps performed by the processing step modules Pl, P2 and user input steps performed by the user input step modules UIl, UI2. In other examples, application module Al is configured to execute a data backup/restore process, a computer-implemented diagnosis process, a computer- controlled startup process, or a computer-controlled shut down process, the control module 10 controlling the sequential execution of backup/restore, diagnosis, startup, or shut down steps, respectively, performed by the processing step modules Pl, P2. As illustrated in Figure 2a, in an embodiment, the computer system 1 is implemented on a stand-alone computer, i.e. the execution process controlled by control module 10 involves only local components of the computer system 1 such as a CPU, a bus system, a hard disk, or other data carriers and/or data storage elements.
Alternatively, as illustrated in Figure 2b, the computer system 1 is connected to a communication network 2 and, in addition to local components and communications network 2, the execution process controlled by control module 10 involves also remote network entities 3 such as database servers, file servers, networked hard disks, etc.
As illustrated in Fig. Ib, in an alternative architectural arrangement, the user input step modules UIl, UI2 are part of the control module 10. In the architectural arrangement illustrated in Fig. Ic, control module 10 is implemented in an application module A2, whereas the processing step modules Pl, P2 and user input step modules UIl, UI2 are implemented in a separate application module A3. Applications Al and A3 have corresponding functionality. IQ the architectural arrangement illustrated in Fig. Id, application module A4 comprises control module 10 and user input step modules UIl, UI2, whereas application module A5 comprises the processing step modules Pl, P2. Combined applications A4 and A5 provide a functionality corresponding to application Al .
It must be emphasized that the architectural arrangements shown in Figs. la-Id are just examples, one skilled in the art will understand that other architectural arrangements are possible without deviating from the scope of the present invention. hi the following paragraphs, described with reference to Fig. 3 is an exemplary sequence of steps for controlling execution of a sequence of computer processing steps and user input steps. In step Sl, control module 10 prepares data needed for preparing schedule information about the application (or execution process) involving processing steps performed by processing step modules Pl, P2, P3, and user input steps performed by user input step modules UIl, UI2. Depending on the embodiment, control module 10 retrieves stored system configuration information and/or requests (and/or retrieves) user input data. The configuration data indicates system parameters such as speed and/or type of CPU, type and/or access times of storage elements, network characteristics, as well as identification and possible sequencing of processing and user input steps of the respective application. In addition, control module 10 also deduces system parameters at run-time, e.g. as part of an up-front benchmark test or during subsequent execution of a processing step, as will be explained with reference to step S5. The run time system parameters include performance values of computer and networking components used for executing the processing steps, for example, processing speed, network throughput (speed), data access response times, etc. Thus assessed are local components of the computer system 1, the communications network 2, as well as remote network entities 3 through benchmarking or run-time performance sampling for certain time periods to determine run-time system parameters and anticipated processing times.
In step S2, control module 10 determines schedule information about the sequence of processing steps and interjacent user input steps. The schedule information defines a full or partial, final or initial schedule or schedule estimate, respectively, of the execution process. Preferably, control module 10 calculates anticipated processing times for the processing steps, at least for consecutive processing steps to be executed up to the first user input step. The anticipated processing time are determined based on advance knowledge, the configuration information, available user input data, and/or run-time system parameters .
In step S3, control module 10 provides the schedule information to the user through a user interface, preferably in visible form on a display of computer system 1. For example, the schedule information is presented to the user as a linear list or as a directed graph or tree, based on and annotated with corresponding user inputs. As illustrated in Table 1, for an example of an operating system (OS) installation application, the schedule information presented to the user includes an outline of the sequence of processing steps (type "P") and interjacent user input steps (type "I"), separating at least some of the processing steps:
Figure imgf000008_0001
Table 1 Preferably, as illustrated in Table 2, the schedule information presented to the user includes the anticipated processing times for at least the processing steps up to the next user input step:
Figure imgf000009_0001
Table 2
In step S4, control module 10 triggers execution of the first or next processing/user input step, respectively.
In step S5, upon completion of the step triggered in step S4, control module 10 checks whether all processing and user input steps have been completed. If there are further steps to be processed, control module 10 proceeds to step S2 for determining and subsequently displaying (in step S3) updated schedule information. Otherwise, the execution process ends.
In Fig. 3, reference numeral PP refers to a parallel process that triggers periodic determination and display of updated schedule information in steps S2 or S3, respectively. Table 3 shows an example of run time schedule information for the current processing step(s) (No. 1, "copy files to HD", No. 2 "run system diagnosis"), indicating anticipated total processing time, elapsed time, and remaining time until execution of the next user input step (No. 3, "User input: input/output localization"):
Figure imgf000010_0001
Table 3
Updated periodically is the estimated time until the next user interaction. As indicated in Fig. 3, optionally, parallel process PP performs step S6 to determine ' periodically run time system parameters for subsequent determination and display of updated schedule information in steps S2 or S3, respectively. Thus the schedule information is updated based on information becoming available during execution of the process. Specifically, timing annotations for the schedule are updated during execution based on new performance and run-time estimates.
In an embodiment, in the schedule information there is a distinction between user input steps with mandatory user interaction (e.g. type "I") and user input steps with optional user interaction (e.g. type "01"). As illustrated in Table 4, a user input step with optional user interaction ("Optional user input: I/O localization") is associated with a defined response time and a default value:
Figure imgf000010_0002
Table 4
If there is no user input within the defined response time, control module 10 triggers automatically execution of the subsequent processing step, using the default values instead of user input data. Additionally, the schedule information is provided with indications on whether and how the user can later change the default values. In an embodiment, control module 10 provides the user the option to specify up front, i.e. prior to executing a particular processing step, whether or not he wants to interact, i.e. respond to one or more of the user input steps (e.g. by selecting specific user input steps in the schedule or by specifying a specified number of subsequent processing and/or user input steps).
In optional step S7, control module 10 checks whether the time remaining until execution of the next user input step is shorter than or equal to a defined warning time.
If the remaining time is shorter than or equal to the warning time, in optional step S8, alarm module 11 informs (alarms) the user about the upcoming user input step. For example, the warning is displayed on computer system 1, signaled through an acoustic converter, and/or relayed through a pager, a mobile radio phone, and/or an electronic messaging system such as e-mail or instant messaging.

Claims

1. A computer-implemented method of controlling execution of a sequence of computer processing steps and user input steps, user input steps separating sequential computer processing steps, the method comprising: providing to the user schedule information (S3) about at least one processing step in relation to the user input step following this one processing step.
2. The method according to claim I5 wherein providing the schedule information (S3) includes providing an indication of an anticipated processing time of at least one of the processing steps.
3. The method according to claim 2, wherein the anticipated processing time is determined based on a real-time performance of at least one of computer components and networking components used for executing the processing steps.
4. The method according to claim 1, wherein providing the schedule information (S3) includes providing a waiting time indicative of an anticipated time until user interaction is required by one of the user input steps.
6. The method according to claim 1 , further comprising updating, during execution of the computer processing steps, any timing information included in the schedule information based on new estimates of performance and processing times.
7. The method according to claim 1, wherein providing the schedule information (S3) includes providing an outline of the sequence of all processing steps and user input steps from a start to an end of an execution process.
8. The method according to claim 7, wherein providing the outline of the sequence includes providing an indication of user input steps with mandatory user interaction and user input steps with optional user interaction; and wherein the method further comprises initiating execution of a processing step (S4), subsequent to a user input step with optional user interaction, using a set of default parameters, after elapsing of a defined response time.
9. The method according to claim 1, wherein the schedule information is determined (S2) from at least one of stored system configuration information, run-time deduced system parameters, and user input data.
10. The method according to claim 1, further comprising informing the user (S 8), within a defined warning time prior to an upcoming user input step, about the upcoming user input step, by using at least one of a display, an acoustic converter, a pager, a mobile radio phone, and an electronic messaging system.
11. The method according to claim 1 , wherein the processing steps are part of at least one of a software installation process, a data backup/restore process, a computer- implemented diagnosis process, a computer-controlled startup process, and a computer-controlled shut down process.
12. A computer system (1) comprising a control module (10) configured to control execution of a sequence of computer processing steps and user input steps, user input steps separating sequential processing steps, wherein the control module (10) is further configured to provide to the user schedule information (S3) about at least one processing step in relation to the user input step following this one processing step.
13. The system (1) according to claim 12, wherein the control module (10) is further configured to provide with the schedule information an indication of an anticipated processing time of at least one of the processing steps.
14. The system (1) according to claim 13, wherein the control module (10) is further configured to determine the anticipated processing time based on a real-time performance of at least one of computer components and networking components used for executing the processing steps.
15. The system (1) according to claim 12, wherein the control module (10) is further configured to provide with the schedule information a waiting time indicative of an anticipated time until user interaction is required by one of the user input steps.
16. The system (1) according to claim 12, wherein the control module (10) is further configured to update, during execution of the computer processing steps, any timing information included in the schedule information based on new estimates of performance and processing times.
17. The system (1) according to claim 12, wherein the control module (10) is further configured to determine the schedule information (S2) from at least one of stored system configuration information, run-time deduced system parameters, and user input data.
18. The system (1) according to claim 12, further comprising an alarm module (11) configured to inform the user, within a defined warning time prior to an upcoming user input step, about the upcoming user input step, by using at least one of a display, an acoustic converter, a pager, a mobile radio phone, and an electronic messaging system.
19. A computer program product comprising computer program code means for controlling one or more processors of a computer, such that the computer performs the method according to one of the claims 1 to 11.
PCT/CH2006/000360 2006-07-07 2006-07-07 Method and system for controlling execution of computer processing steps WO2008003183A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CH2006/000360 WO2008003183A1 (en) 2006-07-07 2006-07-07 Method and system for controlling execution of computer processing steps

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CH2006/000360 WO2008003183A1 (en) 2006-07-07 2006-07-07 Method and system for controlling execution of computer processing steps

Publications (1)

Publication Number Publication Date
WO2008003183A1 true WO2008003183A1 (en) 2008-01-10

Family

ID=37771026

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH2006/000360 WO2008003183A1 (en) 2006-07-07 2006-07-07 Method and system for controlling execution of computer processing steps

Country Status (1)

Country Link
WO (1) WO2008003183A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881102A (en) * 1987-10-21 1989-11-14 Sharp Kabushiki Kaisha Copier with variable magnification ratio
EP0394160A2 (en) * 1989-03-20 1990-10-24 International Business Machines Corporation Dynamic progress marking icon
US5978832A (en) * 1991-05-24 1999-11-02 International Business Machines Corporation Time to completion determination in a multitasking workstation
WO2001059755A1 (en) * 2000-02-11 2001-08-16 Mattel, Inc. Musical drawing assembly
EP1143714A1 (en) * 1998-12-28 2001-10-10 Sony Corporation Method for editing video information and editing device
US20030136897A1 (en) * 2002-01-18 2003-07-24 Boris Rabkin Input interface and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881102A (en) * 1987-10-21 1989-11-14 Sharp Kabushiki Kaisha Copier with variable magnification ratio
EP0394160A2 (en) * 1989-03-20 1990-10-24 International Business Machines Corporation Dynamic progress marking icon
US5978832A (en) * 1991-05-24 1999-11-02 International Business Machines Corporation Time to completion determination in a multitasking workstation
EP1143714A1 (en) * 1998-12-28 2001-10-10 Sony Corporation Method for editing video information and editing device
WO2001059755A1 (en) * 2000-02-11 2001-08-16 Mattel, Inc. Musical drawing assembly
US20030136897A1 (en) * 2002-01-18 2003-07-24 Boris Rabkin Input interface and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"STOPWATCH POINTER: A DYNAMIC PROGRESS INDICATOR", IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 35, no. 1B, 1 June 1992 (1992-06-01), pages 469 - 471, XP000309141, ISSN: 0018-8689 *

Similar Documents

Publication Publication Date Title
JP6152675B2 (en) Workflow control program, apparatus and method
US6948171B2 (en) Apparatus, system and method for active scheduling of time based event-driven long running processes
TWI390456B (en) Method and system for restarting a project management system scheduling engine based on user input of contractual start/finish data
CN110858158B (en) Distributed task scheduling method and device, electronic equipment and storage medium
US9383993B2 (en) Enterprise wide software version recommendation
US7624394B1 (en) Software installation verification
US20030212586A1 (en) Automatic project documentation updates
US20120096455A1 (en) Apparatus and method for management of software
US20080098094A1 (en) Automated Operating System Device Driver Updating System
US8990797B2 (en) Method for improving the performance of computers by releasing computer resources
US20090089784A1 (en) Variable polling interval based on historical timing results
EP3935503B1 (en) Capacity management in a cloud computing system using virtual machine series modeling
US9697009B2 (en) Method for improving the performance of computers
JP2014191604A5 (en)
CN104572069A (en) Real-time, distributed administration of information describing dependency relationships among configuration items in a data center
JP6686371B2 (en) Data staging management system
EP1399785B1 (en) A scheduling method and system for controlling execution of processes
CA2668958A1 (en) System and method for managing batch production
US7032211B1 (en) Method for managing user scripts utilizing a component object model object (COM)
KR100553144B1 (en) An efficient timer management system
WO2008003183A1 (en) Method and system for controlling execution of computer processing steps
US8601489B2 (en) Automated computer systems event processing
JP2004295188A (en) Method for managing production using delivery time expectation
JP5387083B2 (en) Job management system and method
Schneidewind An integrated failure detection and fault correction model

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06761216

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06761216

Country of ref document: EP

Kind code of ref document: A1