Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1999-01-19
2004-03-16
Maung, Zarni (Department: 2126)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C717S127000
Reexamination Certificate
active
06708224
ABSTRACT:
FIELD OF THE INVENTION
The present invention, generally, relates to coordination of tasks, and, more particularly, to systems, methods and computer program products for coordination of tasks in a computer environment.
BACKGROUND OF THE INVENTION
Increases in the application of computers throughout many differing environments has led to a wide range of usage of computers and, more particularly, to the usage of computers supporting multi-tasking. While the various concurrently executing tasks in a multi-tasking environment may be operating independently without the need for any interaction, problems may arise in coordination where the various concurrently executing tasks need to interact in order to operate for their intended purpose. Furthermore, the coordination challenge may be increased where user interaction with the tasks during execution is required.
In an effort to reduce the complexity of applications having user input and present a more “user friendly” computing environment, graphic user interfaces (GUIs) have been developed. GUIs are believed to present an easier to understand interface to an application's users and, thus, reduce the intimidation of an application. GUIs typically include multiple windows in which information is presented and user input obtained. Each of these windows may interact with one or more applications and may share data with one or more applications or other windows. However, development of these multiple window interfaces may be complex as interactions between the windows may be limited by the underlying application or by particular sequences of events which may be dictated by the windows.
An example of an application environment where multiple tasks may require interaction is where multiple users share data across a computer network. Such an environment may provide convenience in that it allows a central repository of data but may add further complications in managing this data as multiple users may desire to access such data simultaneously or concurrently. Thus, applications and, in particular, user interfaces for applications may have increased complexity associated with them to manage the interaction of users with a shared network resource, such as a database, to coordinate users' interactions with the shared resource and maintain integrity of the shared resource.
Further problems may be created in a networked environment where user input may specify changes to a state of remote devices connected over a network. The problem of coordination of tasks may be complicated by introducing a plurality of unsynchronized systems, each of which may be a multi-tasking environment, which must be coordinated. Typically, coordination is provided by communications over a computer network, thereby introducing additional delay in the time between user input through, for example, a GUI, and updating of the state of individual multi-tasking environments. An example of such an environment is a distributed network management tool with tasks executing on various nodes of the computer network to be managed under the direction of a console node subject to user input to define test protocols for network management.
SUMMARY OF THE INVENTION
Accordingly, it is an object of the present invention to provide methods, systems and computer program products which may provide for coordination of operations between interrelated tasks in a multi-tasking environment.
It is a further object of the present invention to provide such methods, systems and computer program products which can process user inputs affecting the state of network resources and/or affecting the interaction between interrelated tasks.
These and other objects are provided by systems, methods and computer program products which coordinate operations for a plurality of interrelated tasks executing on a computer using actual state objects and desired state objects. For each event including coordination between two of the plurality of interrelated tasks, a first (or initiator) task initiates operations by a second (or executor) task to carry out a desired sequence of operations. The initiator task sets a desired state object to the desired state and submits a request to the executor task. The executor task, in turn, operates on the request in order to update an actual state object to the desired state stored in the desired state object by the initiator task. Write control over the desired state object is therefore granted to the initiator task while write control over the actual state object is granted to the executor task. The actual state object may represent a state of a remote device in which circumstance there may be a significant time delay between the point at which a request to change actual state is submitted and the time at which confirmation of the change is received. Therefore, a transitional state may be provided for the actual state object during the time period while the executor task is carrying out the operations necessary to change from the actual state to the desired state. Different restrictions on operations related to the associated object may be provided while the actual state object is in the transitional state.
Systems, methods and computer program products are also provided for monitoring a task executing on a computer which utilizes a work in process queue and a work pending queue. A watchdog task monitors an executing task to determine if any problems have been encountered and restarts the task if it is not executing properly. To allow clean restart, requests in the work in process queue are restarted from an initial start point. Alternatively, tasks from the work in process queue may be placed back in the work pending queue and the work in process queue is cleared after which execution of requests from the work pending queue are resumed.
In one embodiment of the present invention, a method is provided for coordination of operations for a plurality of interrelated tasks. A first one of the plurality of interrelated tasks sets a desired state object to a desired state and requests an update of an actual state object to the desired state. A second one of the plurality of interrelated tasks updates the actual state object responsive to the request to update the actual state object. The first one of the plurality of interrelated tasks has write access to the desired state object and does not have write access to the actual state object. The second one of the plurality of interrelated tasks has write access to the actual state object and does not have write access to the desired state object.
In another embodiment of the present invention, the desired state object and the actual state object each have an associated version number. Updating operations include receiving the request to update the actual state object to the desired state and reading the version number of the actual state object and the version number of the desired state object. The actual state object is set to the desired state if the version number of the actual state object is different from the version number of the desired state object. The version number of the actual state object is then set to the version number of the desired state object.
In a further embodiment of the present invention the second one of the plurality of interrelated tasks receives the request to update the actual state object to the desired state, reads the actual state object and the desired state object and sets the actual state object to the desired state. Setting operations for the actual state object may include setting the actual state object to a transitional state and then performing operations associated with changing from the actual state to the desired state. The actual state object is then set to the desired state. In one embodiment, operations for changing the actual state include communicating a request to change state to the desired state to a second device remote from the data processing system executing the first and second tasks. At least one of an error indication and a confirmation of state change is received from t
Chandra Vikas
Schwaller Peter James
Tsun William
Wood John Lee
Maung Zarni
Myers Bigel & Sibley & Sajovec
NetIQ Corporation
Opie George L.
LandOfFree
Methods, systems and computer program products for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Methods, systems and computer program products for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods, systems and computer program products for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3228537