Detecting available computers to participate in computationally complex distributed processing problem
First Claim
1. A process for executing a complex computational task on a network having a plurality of independent interconnected workstations, each workstation including a computer processing unit and a user input device, the process comprising the steps of:
- (i) identifying available workstations connected to a dispatching work station having a complex computational task to perform;
(ii) requesting computational characteristics and a local user profile from the identified workstations;
(iii) selecting, in response to the respective computational characteristics and local user profiles, at least one of the identified workstations for assisting in execution of the task to achieve a predetermined minimal efficiency;
(iv) dividing the task, in accordance with the respective computational characteristics and local user profiles, into portions for execution on the at least one selected workstation and the dispatching workstation;
(v) distributing the portions among the at least one selected workstation and the dispatching workstation; and
(vi) executing the distributed portions at the irrespective at least one selected workstation and the dispatching workstation to complete the task.
7 Assignments
0 Petitions
Accused Products
Abstract
A complex computational task is processed by a plurality of computers coupled to a network. A plurality of different computers (64-74) are each assigned a different portion of a distributed processing task by a problem dispatcher (88). Each computer determines if a local operator has not used a keyboard (43) or a mouse (40) for a predefined period of time. If not, a screen saving program is initiated and the computer begins monitoring the network to determine if a request for participation in a distributed processing task has been transmitted. Upon receiving such a request, the screen saver program responds, indicating that the computer is available to participate in the task. Each computer also sends characteristics to the problem dispatcher, which selects assistant computers to participate in the task. The problem dispatcher assigns specific portions of the task to each of the assistant computers until the task is completed. If a local operator interrupts, the portion of the task being processed by that computer is assigned to a different assistant computer. In this manner, the complex computational task is processed relatively quickly using only those computers that are available and have the appropriate capabilities.
155 Citations
32 Claims
-
1. A process for executing a complex computational task on a network having a plurality of independent interconnected workstations, each workstation including a computer processing unit and a user input device, the process comprising the steps of:
-
(i) identifying available workstations connected to a dispatching work station having a complex computational task to perform;
(ii) requesting computational characteristics and a local user profile from the identified workstations;
(iii) selecting, in response to the respective computational characteristics and local user profiles, at least one of the identified workstations for assisting in execution of the task to achieve a predetermined minimal efficiency;
(iv) dividing the task, in accordance with the respective computational characteristics and local user profiles, into portions for execution on the at least one selected workstation and the dispatching workstation;
(v) distributing the portions among the at least one selected workstation and the dispatching workstation; and
(vi) executing the distributed portions at the irrespective at least one selected workstation and the dispatching workstation to complete the task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
(vii) detecting a local user input at the at least one selected workstation; and
(viii) interrupting execution of the portion executing at the at least one selected workstation in response to the local user input.
-
-
9. A process according to claim 8, further including the step of:
(ix) redistributing the interrupted portion for execution at an unselected available workstation.
-
10. A method for rendering a graphics project over a network having a directing workstation preparing the graphics project, and a plurality of assistant workstations connected to the directing workstation through the network, each of the directing and assistant workstations including a computer processing unit and a user input device, the method comprising the steps of:
-
(i) querying the assistant workstations to determine available assistant workstations;
(ii) providing to the directing workstation computational characteristics and a local user profile for each of the available assistant workstations;
(iii) selecting a plurality of the available assistant workstations, according to their respective computational characteristics and local user profiles, to maximize efficiency of a graphics rendering task;
(iv) apportioning the rendering task among the selected assistant workstations and the directing workstation according to their respective computational characteristics and local user profiles;
(v) rendering the apportioned rendering task at the selected assistant workstations and directing workstation; and
(vi) assembling the rendered task at the directing workstation to provide a rendered digital graphics project. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
(a) detecting a local user input at one of the selected assistant workstations;
(b) interrupting execution of the portion of the rendering task apportioned to the detected assistant workstation; and
(c) assigning the interrupted portion for execution at an unselected available assistant workstation.
-
-
18. A system for processing a complex computational task among a plurality of independent workstations interconnected over a network, each workstation including a computer processing unit and a user input device, comprising:
-
a dispatcher for transmitting a request to workstations connected to a dispatching workstation having a complex computational task to perform;
an inactivity detector at each said workstations for receiving the request and providing an availability response if a local user idle time exceeds a predefined time;
selection means at the dispatcher for requesting processing characteristics and a local user profile from available workstations, and for selecting, in response to the respective computational characteristics and local user profiles, at least one of the available workstations for assisting in execution of the task with at least a predetermined minimal efficiency; and
apportioning means at the dispatcher for dividing the task into portions for execution on the at least one selected workstation and the dispatching workstation, and for distributing the portions among the at least one selected workstation and the dispatching workstation. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A graphics rendering system, comprising:
-
a directing workstation having a graphics rendering task to perform;
a plurality of assistant workstations connected to the directing workstation through a network, each of the directing and assistant workstations including a computer processing unit and a user input device;
a dispatcher at the directing workstation for transmitting an assistance request to the assistant workstations;
an inactivity detector at each said assistant workstations for receiving the request and providing an availability response if a local user idle time exceeds a predefined interval;
selection means at the dispatcher for requesting processing characteristics and a local user profile from available assistant workstations, and for selecting, in response to the respective computational characteristics and local user profiles, at least one of the available workstations for assisting in execution of the rendering task with at least a predetermined minimal efficiency;
apportioning means at the dispatcher for dividing the task into portions for execution on the at least one selected workstation and the dispatching workstation, and for distributing the portions among the at least one selected workstation and the dispatching workstation; and
assembling means for assembling the executed portions to form rendered graphics project. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
Specification