Detecting available computers to participate in...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C709S241000

Reexamination Certificate

active

06192388

ABSTRACT:

FIELD OF THE INVENTION
This invention generally pertains to a distributed processing environment in which a plurality of computers connected in a network are each assigned a portion of a problem, and more specifically, pertains to the selection of available computers to participate in the distributed processing of a computationally complex problem.
BACKGROUND OF THE INVENTION
There are many types of problems that are so computationally complex as to require hours of computation by one of the currently available personal computers or workstations in a network. One example of such a complex problem arises in the rendering of three-dimensional (3D) images, which may require many calculations to determine the lighting and color applied to each pixel in the rendered image. The complexity of the problem multiplies when producing an animation that requires a number of scenes to be rendered. Although a single computer can eventually carry out all of the calculations required to render a single image or even a plurality of images for an animation, it has been recognized that the task can be handled much more efficiently in a distributed processing environment in which the problem is divided into parts for solution by a plurality of computers. Typically, the computers used in a distributed processing environment are linked directly together, e.g., in a rack at one location, or alternatively (and perhaps more commonly), linked to one or more servers in a network—either local or wide area. It should be noted that the term “computer” as used herein is intended to include personal computers, portable computers, and workstations having a processing capability.
In a dedicated distributed processing environment, all of the plurality of computers linked together are normally available to share a problem solving task. However, it is often not practical to dedicate several computers to solving only distributed processing tasks. More commonly, the computers will be connected in a network and reside at different locations throughout an office or in different geographic locations. However, when the computers are used locally, they will not be available for use in solving a distributed processing problem. Furthermore, in most cases, not all of the computers connected in a network will have equivalent computational capabilities or access to the same software, and thus, will not all be usable in solving every type of complex problem.
Typically, it is necessary for someone to specifically create a list identifying the computers connected in a network that should be used in a distributed processing task. If any of the computers listed is in use by another party when a distributed processing task is to be initiated, the list must be modified. Since some of the computers that might be used are likely not in the same office area and thus not visible to the person making the list, it is not a trivial problem to determine which of the listed computers that might be used is actually available.
The list of computers that can participate in the distributed solution of a problem should be based upon the computers' known capabilities. While the amount of memory, type and speed of processor, size of hard drive, software installed or accessible, and other relevant parameters for each computer that might be used can be tabulated and considered when making a list of the computers that will participate in solving a problem, it is likely that such information will quickly become outdated as changes are made to computers connected to a network. If software necessary to solve a distributed processing problem that was once installed on a computer is deleted, it is inefficient to attempt to assign part of the distributed processing task to that computer, since that portion of the task assigned to it cannot be completed.
Thus, there are several problems that arise when using a plurality of computers to solve a task in a distributed processing environment, which have not been resolved in the prior art. Specifically, it would be preferable for a controlling computer that is initiating a distributed processing task to automatically determine which computers on a network are available for use. In addition, it would be desirable to automatically determine the capabilities of each available computer so that only those capable of solving the problem, and perhaps of those, only the best are selected to participate. A further advantage of automating these tasks is that the problem being solved can be scheduled when most of the computers on the network are otherwise inactive, such as during lunch or overnight. The distributed processing problem and the control of the tasking should optionally be initiated within an application from which the problem derives. For example, a 3D rendering program might include the option to initiate the distributed processing of a scene or animation rendering problem using available computers on a network. Key provisions in such a system would be identifying the computers that are not being used by other operators and determining the computational parameters of such computers.
SUMMARY OF THE INVENTION
In accordance with the present invention, a method for automatically selecting computers on a network from among a plurality of interconnected computers to solve a portion of a computational task initially comprises the step of transmitting a tasking signal over the network, indicating that the computational task requires solving. Each of the plurality of interconnected computers is enabled to determine if it has not been used by a local operator for more than a predefined time interval. If not, the computer transmits a response signal indicating that the computer is available for solving the computational task. A different portion of the computational task is then assigned for execution by assisting computers that are selected from each of the plurality of interconnected computers from among those that have transmitted the response signal.
The step of enabling each of the plurality of interconnected computers to determine if it has not been used by a local operator for more than the predefined time interval is preferably carried out by executing a screen saver program on each of the plurality of interconnected computers. The screen saver program is activated to change a monitor display after the local operator has not used the computer for the predefined time interval. When thus activated, the screen saver program monitors the network to detect the tasking signal, and in response thereto, to transmit the response signal.
Any computer transmitting the response signal preferably also transmits data defining computational capabilities of the computer. The method then further preferably includes the step of selecting the assisting computers as a function of the data defining the computational capabilities of the computers transmitting the response signal. The assisting computers are selected from among the computers transmitting the response signal so as to ensure that the portions of the task are executed by the assisting computers with at least a minimal predetermined efficiency. The computational capabilities provided in the data include information specifying an average idle time, the amount of memory available to execute the portion of the task, and/or a type designation for the computer. The memory parameter can specify the random access memory (RAM) available and the size of the swap file available, and the type designation can indicate the type of processor and its clock speed.
The local operator at any assisting computer is enabled to interrupt execution of the portion of the task assigned to one of the assisting computers in order to use that computer. The portion of the task that was interrupted is then subsequently assigned to a different assisting computer.
The assisting computers each transmit an indication that the portion of the computational task assigned to them for execution has been completed. A different portion of the task can then be assigned to each assisting computer until the en

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Detecting available computers to participate in... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Detecting available computers to participate in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Detecting available computers to participate in... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2607835

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.