Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1999-08-27
2004-01-13
Najjar, Saleh (Department: 2157)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000, C709S241000, C709S241000, C709S201000, C709S205000
Reexamination Certificate
active
06678715
ABSTRACT:
BACKGROUND OF THE INVENTION
This invention relates to a distributed system composed of computers connected to each other, and more particularly to the determination of the execution position of a requested process.
This application is based on Japanese Patent Application No. 10-243614, filed Aug. 28, 1998, the entire content of which is incorporated herein by reference.
With the recent advances in computer and communication technology, rather than using computers in a stand-alone manner, more and more users have been constructing various types of network systems, such as LAN, WAN, or the Internet, and sharing resources in the network. A network system where a computer (server host) carries out a specific process at the request of another computer (client host) is known as a client-server system or a distributed system (hereinafter, referred to as a distributed system). With such a distributed system, the process requested by the client host can be executed by a server host other than the client host, depending on the state of the network system or the contents of the process at that time.
Conventional distributed systems are broadly classified into three types as follows.
A first type of distributed system is a vertical-type distributed system, represented by a mainframe. In the vertical-type distributed system, a client host requests a server host to carry out a process, the server host executes the process, and the client host receives the result of the process from the server.
The vertical-type distributed system has the following problems.
(1) When many client hosts are connected to a server host, the overload on the server host decreases the throughput of the entire process.
(2) Because communication is effected through the network each time a process is requested, the network traffic increases.
A second type of distributed system is a horizontal-type distributed system. In the horizontal-type distributed system, the necessary data is requested from the database management system (DMBS) existing in the server host and a client host processes the information obtained from the DMBS. By doing this, the problems of the vertical-type distributed system in items (1) and (2) can be overcome to some degree.
In this system, however, the following problems arise:
(3) The client host requires some degree of processing capability and a certain numbers of resources.
(4) The system has a low flexibility in dealing with the modification of the database management system, because the client host is closely related to the database management system.
(5) Application program management has to be carried out for each client host.
A third type of distributed system is a distributed network system composed of network computers (NCs) without a secondary memory (such as a HDD) or mobile-environment-oriented mobile network computers (MNCs). In the distributed network system, ordinary personal computers (PCs) and workstations (WSs) can serve as terminals. With the distributed network system, when a client requests a process from a server, the server component for executing the process is sent to the client host. The process is executed on the client host. Today's Java applets correspond to the component.
This system overcomes the problem of the horizontal-type distributed system in item (5). The problem in item (3), however, becomes more serious. If the client host were a powerful personal computer or workstation, the problem in item (3) would be overcome. The reason is that network computers and mobile network computers have lower processing capabilities. This leads to the following problem:
(6) When a client has a low load, processing is done on the server host rather than on the client host. This improves the throughput of the entire processing.
Besides these problems, the systems of the first to third types have the following problems in common:
(7) Since the software structure (the execution position of a process component) has been determined statically, the systems lack flexibility in a dynamically changing network environment.
(8) Since the systems are difficult to design (in deciding what process which host should execute) and lack flexibility, a problem can arise in making a change later or adding a new specification.
In a load distributed system or a mobile-environment-oriented agent system in a distributed environment, there is a conventional example of dynamically moving and arranging process components on a network to improve the flexibility of the system. The system of this type, however, has the following problem:
(9) In execution on the client host, the components have to communicate with each other because client components differ from server components in type. The overhead in the communication becomes a problem.
In such conventional distributed systems, the execution position of a component that provides a specific process has been determined statically by the system developer. Therefore, a certain component is always executed on the client host and another component is always executed on the server host.
In the prior art, as the system has advanced from the first type, second type, and to third type, the number of problems seems to have decreased. This is not necessarily true. Specifically, in the network system, the computer environment changes dynamically. The dynamic change of the computer environment combines with the fixation of the component execution position to make it difficult to improve the processing efficiency.
Therefore, The distributed system of any one of the first to third type does not necessarily perform the process in an ideal state because of the dynamically changing environment and cannot achieve the performance it essentially has. For example, a large number of clients are connected to a server, which makes the load of the server heavy. Even if the vertical-type system is changed to a horizontal-type system or to a distributed network system, distribution goes too far, which makes the load on the server so low that the execution of a certain process on the server host may improve the throughput of the entire process.
To improve the throughput of the process while coping with such dynamic changes in the computer environment, it is preferable to form a system capable of dynamically changing the execution position of a component for carrying out the process.
In developing various types of network systems taking into account the scalablility of the system, it is desirable that the execution position should be changed dynamically, rather than being determined statically.
To determine the execution position of the process dynamically, it is necessary to implement programs including processes (in executable form) in all the relevant computers beforehand. This makes it possible to select the execution position of the process from the computers and cause the selected computer to execute the process. Such a distributed system can be constructed, taking into account fault tolerance or load distribution.
It is hard work to implement programs in all the computers and manage them. Thus, this approach is not feasible.
There is what is called a mobile agent for changing the execution position of a process after the execution of the process. This is intended for the specified computers on a distributed system. The mobile agent carries out processes while going around the specified computers. Specifically, after having carried out a process on a computer, the mobile agent moves to another computer and carries out a similar process. From this time on, it repeats a similar process on each of the remaining computers specified. Such a distributed system is used mainly for the purpose of acquiring information or monitoring the system.
In the mobile agent, however, the programs related to the process are put together into a unit and all the unit is moved (delivered) to the relevant computer, which executes the unit. Therefore, the mobile agent itself cannot have such a structure as makes use of resources in a specific computer.
Furthermore, there has been a system in whic
Finnegan Henderson Farabow Garrett & Dunner L.L.P.
Kabushiki Kaisha Toshiba
Najjar Saleh
LandOfFree
Systems and apparatus for switching execution of a process... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Systems and apparatus for switching execution of a process..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Systems and apparatus for switching execution of a process... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3237834