JPH09288648A - Distributed processing method in network and its system - Google Patents

Distributed processing method in network and its system

Info

Publication number
JPH09288648A
JPH09288648A JP8098174A JP9817496A JPH09288648A JP H09288648 A JPH09288648 A JP H09288648A JP 8098174 A JP8098174 A JP 8098174A JP 9817496 A JP9817496 A JP 9817496A JP H09288648 A JPH09288648 A JP H09288648A
Authority
JP
Japan
Prior art keywords
client
server
specific task
processing
time
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP8098174A
Other languages
Japanese (ja)
Other versions
JP3737560B2 (en
Inventor
Akiyoshi Wakaya
彰良 若谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP09817496A priority Critical patent/JP3737560B2/en
Publication of JPH09288648A publication Critical patent/JPH09288648A/en
Application granted granted Critical
Publication of JP3737560B2 publication Critical patent/JP3737560B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an efficient distributed processing system coping with the fluctuation of load conditions in a network. SOLUTION: A client calculates its own effective processing speed (procedure 1) and requests the processing of a task provided in a server to the server along with the information (procedure 2). The server judges which device is to process the task so as to shorten turn-around time relating to the task based on the received processing speed of the client and its own processing speed (procedure 3). By the judgement, the server himself processes the task (procedures 4a and 5a) or the client processes it (procedure 5b) after moving the task to the client (procedure 4b).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、クライアントとサ
ーバからなる分散処理方法及びそのシステムに関し、特
に、タスク処理のターンアラウンド時間を短縮するため
の分散処理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed processing method including a client and a server and a system thereof, and more particularly to a distributed processing method for reducing turnaround time of task processing.

【0002】[0002]

【従来の技術】近年、インタネット等に代表されるネッ
トワーク通信技術の発達及びワークステーション等に代
表される端末装置の高機能化に伴い、クライアント・サ
ーバ形式による分散処理システムが一般化してきた。ク
ライアント・サーバ形式の分散処理システムを実現する
第1の従来方式として、遠隔手続き呼出しによる方式
(Remote Procedure Call、以下「RPC方式」とい
う。)がある。例えば、"Concurrent Systems",Addiso
n-Wesley,1992に記載されている。ここで、クライアン
トとは、ある特定のタスク(以下、「特定タスク」とい
う。)の処理を依頼するネットワーク上の端末をいい、
サーバとは、その依頼を受けたネットワーク上の端末を
いうが、ここでは必ずしもサーバがその特定タスクの処
理を実行するとは限らないとする。
2. Description of the Related Art In recent years, with the development of network communication technology typified by the Internet and the sophistication of terminal devices typified by workstations, etc., a distributed processing system of a client / server type has become popular. As a first conventional method for realizing a client-server type distributed processing system, there is a method by remote procedure call (hereinafter referred to as "RPC method"). For example, "Concurrent Systems", Addiso
n-Wesley, 1992. Here, the client refers to a terminal on the network that requests processing of a specific task (hereinafter referred to as “specific task”),
The server refers to a terminal on the network that has received the request, but here it is assumed that the server does not always execute the processing of the specific task.

【0003】図9(a)はRPC方式におけるクライア
ントとサーバとの通信のやりとりを示す説明図であり、
図9(b)はそのシーケンス図である。この方式は、大
きく3つの手順からなる。即ち、(1)クライアント
は、特定タスクの処理を依頼するためにサーバに処理依
頼メッセージを送る。(2)サーバは、依頼されたその
特定タスクを実行する。(3)実行し終えると、サーバ
は、その結果を通知するためにクライアントにリプライ
メッセージを返す。
FIG. 9 (a) is an explanatory diagram showing communication exchanges between a client and a server in the RPC system.
FIG. 9B is a sequence diagram thereof. This method mainly consists of three procedures. That is, (1) the client sends a processing request message to the server in order to request processing of a specific task. (2) The server executes the requested specific task. (3) Upon completion of execution, the server returns a reply message to the client to notify the result.

【0004】例えば、クライアントがサーバに対して、
サーバが持つデータベースに検索処理およびその結果を
グラフイメージで返す処理を依頼し、その生成されたイ
メージ情報をクライアントが受け取る場合が該当する。
この方式の長所は、比較的低価格の端末と通信手段によ
ってシステム全体としては高度な処理が実行される点に
ある。
For example, a client may
This corresponds to the case where the server has a database requesting a search process and a process of returning the result as a graph image, and the client receives the generated image information.
The advantage of this method is that a relatively low-priced terminal and communication means perform sophisticated processing as a whole system.

【0005】クライアント・サーバ形式の分散処理シス
テムを実現する第2の従来方式として、タスク移動(マ
イグレーション)による方式がある。例えば、SUN micr
osystems社が提唱しているJAVA("Hooked on Java",Add
ison-Wesley,1995 に記載)やNetscape社で提案されて
いるもの等(以下、この方式を「JAVA方式」とい
う。)がそうである。
As a second conventional method for realizing a client / server type distributed processing system, there is a method by task migration. For example, SUN micr
JAVA ("Hooked on Java", Add advocated by osystems
This is the case as described in ison-Wesley, 1995) and those proposed by Netscape (hereinafter, this method is referred to as "JAVA method").

【0006】図10(a)はJAVA方式におけるクラ
イアントとサーバとの通信のやりとりを示す説明図であ
り、図10(b)はそのシーケンス図である。この方式
も、大きく3つの手順からなる。即ち、(1)クライア
ントは、特定タスクの処理を依頼するためにサーバに処
理依頼メッセージを送る。(2)サーバは、処理手続き
と必要データをパッケージした特定タスクの移動を行
う。即ち、特定タスク本体をメッセージとして構築し、
リプライメッセージとしてクライアントに返信する。
(3)その特定タスクを受け取ったクライアントは、自
らその特定タスクを実行する。
FIG. 10 (a) is an explanatory diagram showing communication exchanges between a client and a server in the JAVA system, and FIG. 10 (b) is a sequence diagram thereof. This method also consists of three major steps. That is, (1) the client sends a processing request message to the server in order to request processing of a specific task. (2) The server moves a specific task that packages a processing procedure and necessary data. That is, the specific task body is constructed as a message,
Reply to the client as a reply message.
(3) The client receiving the specific task executes the specific task by itself.

【0007】この方式の長所は、クライアントにタスク
処理を行わせることにより、処理が集中しがちなサーバ
での負荷を軽減させることができ、これによってシステ
ム全体における負荷分散が図れるという点にある。
The advantage of this method is that by causing the client to perform task processing, it is possible to reduce the load on the server, which tends to concentrate the processing, and thus to achieve load distribution in the entire system.

【0008】[0008]

【発明が解決しようとする課題】しかしながら、上記の
従来方式では、クライアントやサーバでの負荷の変動に
伴い、必ずしも、ターンアラウンド時間、即ち、処理の
依頼が発生してからその処理結果を利用できる状態にな
るまでの時間が最小になるとは限らないという問題点が
ある。
However, in the above-described conventional method, the turnaround time, that is, the processing result can be used after the processing request is generated, due to the fluctuation of the load on the client or the server. There is a problem that the time to reach the state is not always the minimum.

【0009】図11は、その問題点を説明するためのシ
ステム構成を示すモデル図である。本図に示されるよう
に、いま、システムの処理性能やデータ転送速度、負荷
状況をモデル化することにより、以下の通り、各分散処
理方式におけるターンアラウンド時間を評価する。ま
ず、各端末装置ごとに、現在処理されているタスクに新
たに1個のタスクが加わった場合に、各タスクが処理さ
れる速度、即ち、実効処理速度を定義する。
FIG. 11 is a model diagram showing a system configuration for explaining the problem. As shown in this figure, the turnaround time in each distributed processing method is evaluated as follows by modeling the processing performance, data transfer rate, and load status of the system. First, for each terminal device, when one task is newly added to the currently processed task, the speed at which each task is processed, that is, the effective processing speed is defined.

【0010】クライアントの処理速度の最大値をRcmax
(仕事単位/秒)、クライアントで並行処理しているタ
スク数をNc(個)とすると、クライアントの実効処理
速度Rc(仕事単位/秒・タスク)は、 Rc=Rcmax/(Nc+1) ・・・ (式1) で表されるものとし、同様に、サーバの処理速度の最大
値をRsmax(仕事単位/秒)、サーバで並行処理してい
るタスク数をNs(個)とすると、サーバの実効処理速
度Rs(仕事単位/秒・タスク)は、 Rs=Rsmax/(Ns+1) ・・・ (式2) で表されるものとする。
The maximum value of the processing speed of the client is Rcmax
(Work unit / second) and the number of tasks concurrently processed by the client is Nc (pieces), the effective processing speed Rc (work unit / second / task) of the client is Rc = Rcmax / (Nc + 1) ... Assuming that the maximum value of the processing speed of the server is Rsmax (work unit / second) and the number of tasks performing parallel processing in the server is Ns (pieces), The processing speed Rs (work unit / second · task) is represented by Rs = Rsmax / (Ns + 1) (Equation 2).

【0011】ここで、最大処理速度Rcmax、Rsmaxと
は、各端末装置固有の処理能力を示す単位であり、各装
置が有するCPUのSPECmark等に相当し、仕事単位と
は、タスクの処理サイズを表す単位であり、実効処理速
度が1仕事単位/秒である装置が1秒間に処理できる正
規化された演算量に相当する。さらに、特定タスクの仕
事量をMtask(仕事単位)、通信路の通信速度をRt
(通信単位/秒)、依頼メッセージの通信量をMcall
(通信単位)、リプライメッセージの通信量をMrep
(通信単位)、タスク移動に伴う特定タスクの通信量を
Mmig(通信単位)と定義する。
Here, the maximum processing speeds Rcmax and Rsmax are units showing the processing capability peculiar to each terminal device, and correspond to the SPECmark of the CPU of each device, and the work unit is the processing size of the task. This is a unit to represent, and corresponds to a normalized amount of calculation that can be processed in one second by an apparatus having an effective processing speed of 1 work unit / second. Furthermore, the work amount of a specific task is Mtask (work unit), and the communication speed of the communication path is Rt.
(Communication unit / second), communication volume of request message Mcall
(Communication unit), reply message communication volume Mrep
(Communication unit), the communication amount of a specific task accompanying task movement is defined as Mmig (communication unit).

【0012】すると、RPC方式におけるターンアラウ
ンド時間Trpc(秒)は、上述の3つの手順に対応する
時間の合計になるので、 Trpc=Mcall/Rt+Mtask/Rs+Mrep/Rt ・・・ (式3) と表され、一方、JAVA方式におけるターンアラウン
ド時間Tjava(秒)も、上述の3つの手順に対応する時
間の合計になるので、 Tjava=Mcall/Rt+Mmig/Rt+Mtask/Rc ・・・ (式4) と表される。
Then, the turnaround time Trpc (second) in the RPC system is the sum of the times corresponding to the above-mentioned three procedures, and therefore Trpc = Mcall / Rt + Mtask / Rs + Mrep / Rt (Expression 3) On the other hand, the turnaround time Tjava (seconds) in the JAVA method is the sum of the times corresponding to the above-mentioned three procedures, and is therefore expressed as Tjava = Mcall / Rt + Mmig / Rt + Mtask / Rc (Equation 4). It

【0013】具体的な数値を用いて両方式でのターンア
ラウンド時間を評価すると、以下の通りである。今、シ
ステムの性能として、クライアントの処理速度の最大値
Rcmaxが40、サーバの処理速度の最大値Rsmaxが10
0、通信路の通信速度Rtが5であり、各通信量・仕事
量として、特定タスクの仕事量Mtaskが200、依頼メ
ッセージの通信量Mcallが5、リプライメッセージの通
信量Mrepが5、タスク移動に伴う特定タスクの通信量
Mmigが100であるとする。
The turnaround time in both equations is evaluated using concrete numerical values as follows. Now, as the system performance, the maximum value Rcmax of the processing speed of the client is 40, and the maximum value Rsmax of the processing speed of the server is 10.
0, the communication speed Rt of the communication path is 5, and as each communication amount / work amount, the work amount Mtask of the specific task is 200, the communication amount Mcall of the request message is 5, the communication amount Mrep of the reply message is 5, and the task movement is It is assumed that the communication amount Mmig of the specific task associated with is 100.

【0014】そして、第1の負荷状況として、クライア
ントで並行処理しているタスク数Ncが1、サーバで並
行処理しているタスク数Nsが19の場合を考える。式
1及び式2より、クライアント及びサーバの実効処理速
度Rc及びRsは、 Rc=40/(1+1)=20 Rs=100/(19+1)=5 となるので、式3及び式4より、RPC方式及びJAV
A方式におけるターンアラウンド時間Trpc及びTjava
は、 Trpc=5/5+200/5+5/5=42(秒) Tjava=5/5+100/5+200/20=31
(秒) となる。図12は、この結果をタイムチャートで示した
ものである。
As a first load condition, consider a case where the number of tasks Nc concurrently processed by the client is 1 and the number of tasks Ns concurrently processed by the server is 19. From Equations 1 and 2, the effective processing speeds Rc and Rs of the client and server are Rc = 40 / (1 + 1) = 20 Rs = 100 / (19 + 1) = 5. Therefore, from Equations 3 and 4, the RPC method is used. And JAV
Turnaround time Trpc and Tjava in method A
Is Trpc = 5/5 + 200/5 + 5/5 = 42 (seconds) Tjava = 5/5 + 100/5 + 200/20 = 31
(Seconds). FIG. 12 is a time chart showing this result.

【0015】以上より、この第1の負荷状況において
は、JAVA方式による場合の方がRPC方式に比べて
ターンアラウンド時間が小さくなるので、JAVA方式
がより好ましい分散処理方式と言える。続いて、サーバ
で並行処理しているタスク数Nsがそれまでの19から
9に減少した第2の負荷状況を考える。
As described above, under the first load condition, the turnaround time in the JAVA method is shorter than that in the RPC method. Therefore, it can be said that the JAVA method is a more preferable distributed processing method. Next, consider a second load situation in which the number of tasks Ns concurrently processed by the server has decreased from 19 up to that of 9 to 9.

【0016】第1の負荷状況の場合と同様に算出する
と、クライアントの実効処理速度Rcは20のまま変動
しないが、サーバの実効処理速度Rsは、 Rs=100/(9+1)=10 と増加するので、RPC方式におけるターンアラウンド
時間Trpcは、 Trpc=5/5+200/10+5/5=22(秒) と減少する。一方、JAVA方式におけるターンアラウ
ンド時間Tjavaは31秒のまま変動しない。図13は、
この結果をタイムチャートで示したものである。
When calculated in the same way as in the first load situation, the effective processing speed Rc of the client remains unchanged at 20, but the effective processing speed Rs of the server increases to Rs = 100 / (9 + 1) = 10. Therefore, the turnaround time Trpc in the RPC system is reduced to Trpc = 5/5 + 200/10 + 5/5 = 22 (seconds). On the other hand, the turnaround time Tjava in the JAVA method remains unchanged at 31 seconds. FIG.
This result is shown in a time chart.

【0017】以上より、この第2の負荷状況において
は、第1の負荷状況の場合と異なり、RPC方式による
場合の方がJAVA方式に比べてターンアラウンド時間
が小さくなるので、RPC方式がより好ましい分散処理
方式と言える。このように、システムの負荷状況の変動
に伴い、両方式におけるターンアラウンド時間の大小関
係が反転するが、従来のいずれの方式であっても、負荷
の変動には依存しない固定的な方式であるために、必ず
しも他方の方式よりも小さいターンアラウンド時間が提
供されるとは言えない。即ち、負荷の状況によっては、
急激にそのパフォーマンスが落ちるという問題点があ
る。
As described above, in the second load situation, unlike the first load situation, the RPC method has a shorter turnaround time than the JAVA method. Therefore, the RPC method is more preferable. It can be said to be a distributed processing method. As described above, the magnitude relationship of the turnaround time in both systems is reversed as the load condition of the system fluctuates, but any conventional system is a fixed system that does not depend on the fluctuation of the load. Therefore, it cannot be said that a turnaround time smaller than that of the other scheme is necessarily provided. That is, depending on the load situation,
There is a problem that its performance drops sharply.

【0018】そこで、本発明は、上記問題点を解決する
ためになされたものであり、システムの負荷状況が変動
する場合であっても最小のターンアラウンド時間が得ら
れる効率的な分散処理方法及びそのシステムを提供する
ことを目的とする。
Therefore, the present invention has been made in order to solve the above-mentioned problems, and an efficient distributed processing method that can obtain a minimum turnaround time even when the load condition of the system changes, and The purpose is to provide the system.

【0019】[0019]

【課題を解決するための手段】上記目的を達成するため
に、本発明に係る分散処理方法及びシステムによれば、
クライアントがサーバに備えられた特定タスクの処理結
果を利用したい旨の要求を発すると、先ず、前記特定タ
スクに係るターンアラウンド時間を小さくするためには
サーバ又はクライアントのいずれがその特定タスクを処
理すべきかが判断され、次に、サーバが処理すべきと判
断された場合にはその特定タスクはサーバによって処理
された後にその結果が前記クライアントに報告され、一
方、前記クライアントが処理すべきと判断された場合に
はその特定タスクはサーバからクライアントに移動され
た後にその特定タスクはクライアントによって処理され
る。
In order to achieve the above object, according to the distributed processing method and system of the present invention,
When the client issues a request to use the processing result of the specific task provided in the server, first, in order to reduce the turnaround time for the specific task, either the server or the client should process the specific task. If it is determined that the server should process, then the specific task is processed by the server and the result is reported to the client, while the client is determined to process. If the specified task is moved from the server to the client, the specified task is processed by the client.

【0020】これにより、クライアントからの処理要求
が発生する度に、その処理に要するターンアラウンド時
間をより小さくするための処理方式が採用されるので、
サーバ又はクライアントのいずれかによって固定的に処
理されていた従来方式に比べ、そのターンアラウンド時
間が短縮され、システムの負荷状況の変動に対応した効
率的な分散処理システムが実現される。
As a result, every time a processing request is issued from the client, a processing method for reducing the turnaround time required for the processing is adopted.
The turnaround time is shortened as compared with the conventional method in which processing is fixedly performed by either the server or the client, and an efficient distributed processing system that responds to changes in the system load situation is realized.

【0021】[0021]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて詳細に説明する。 (実施の形態1)図1は、実施の形態1に係る分散処理
システムのハードウェア構成を示すブロック図であり、
ネットワークシステム全体の中の関連する2台の端末装
置1、11のみを示している。
Embodiments of the present invention will be described below in detail with reference to the drawings. (Embodiment 1) FIG. 1 is a block diagram showing a hardware configuration of a distributed processing system according to Embodiment 1,
Only two related terminal devices 1 and 11 in the entire network system are shown.

【0022】本システムは、通信路20を介して接続さ
れたクライアント1とサーバ11から構成される。クラ
イアント1及びサーバ11は、それぞれプロセッサ2、
12、メモリ3、13及び通信部4、14から構成され
る。プロセッサ2、12は、CPU等であり、装置全体
を制御したり複数のタスクを並列処理したりする。
This system comprises a client 1 and a server 11 connected via a communication path 20. The client 1 and the server 11 are the processor 2,
12, memory 3, 13 and communication units 4, 14. The processors 2 and 12 are CPUs and the like, and control the entire apparatus or process a plurality of tasks in parallel.

【0023】メモリ3、13は、ROM、RAM及びハ
ードディスク等からなり、後述する制御プログラム、シ
ステム性能パラメータ、タスク等を予め保持し、また、
処理されるタスクの作業域としても用いられる。通信部
4、14は、イーサネット用のインタフェースカード等
であり、通信路20と装置1、11との中継をする。
The memories 3 and 13 are composed of a ROM, a RAM, a hard disk, etc., and hold in advance control programs, system performance parameters, tasks, etc., which will be described later.
It is also used as a work area for the task being processed. The communication units 4 and 14 are Ethernet interface cards and the like, and relay the communication path 20 and the devices 1 and 11.

【0024】なお、クライアント1及びサーバ11は、
汎用のワークステーション等の端末装置のハードウェア
構成と同じであるが、メモリ3、13に本実施形態を実
現する固有の制御プログラム等を保持している点で汎用
の端末装置と異なる。以上のように構成された分散処理
システムにおける動作について説明する。ここで、従来
技術での説明と同様の状況を考える。即ち、クライアン
ト1は、サーバ11のメモリ13に保持されている特定
タスクの処理結果を得たいとする。この場合における分
散処理方式を説明する。
The client 1 and the server 11 are
The hardware configuration is the same as that of a terminal device such as a general-purpose workstation, but differs from the general-purpose terminal device in that the memories 3 and 13 hold a unique control program for implementing the present embodiment. The operation of the distributed processing system configured as above will be described. Now consider the same situation as described in the prior art. That is, the client 1 wants to obtain the processing result of the specific task held in the memory 13 of the server 11. The distributed processing method in this case will be described.

【0025】図2は、本実施形態の分散処理方式におけ
るクライアント1とサーバ11との通信のやりとりを示
すシーケンス図であり、従来の図9(b)及び図10
(b)に対応する。このシーケンス図は、2つの異なる
場合における流れを同時に示している。即ち、以下の手
順1〜3、4a、5aからなる場合と、手順1〜3、4
b、5bからなる2つの場合である。 (手順1)まず、クライアント1は、特定タスクの処理
の依頼に先立ち、自らの実効処理速度を算出する。
FIG. 2 is a sequence diagram showing an exchange of communication between the client 1 and the server 11 in the distributed processing method of this embodiment, which is shown in FIG. 9 (b) and FIG.
This corresponds to (b). This sequence diagram simultaneously shows the flow in two different cases. That is, the case consisting of the following steps 1-3, 4a, and 5a and the steps 1-3, 4
There are two cases consisting of b and 5b. (Procedure 1) First, the client 1 calculates its own effective processing speed prior to requesting processing of a specific task.

【0026】具体的には、プロセッサ2は、自らの処理
負荷、即ち、メモリ3にロードされ並列処理されている
タスクの数Ncを検出し、さらに、メモリ3に格納され
ている最大処理速度Rcmaxを読み出し、式1に従って、
実効処理速度Rcを算出する。 (手順2)続いて、クライアント1は、算出した実効処
理速度Rcとサーバ11が保持する特定タスクの処理結
果を利用したい旨とを一つのメッセージM'callにして
サーバ11に送信する。
Specifically, the processor 2 detects its own processing load, that is, the number Nc of tasks loaded in the memory 3 and processed in parallel, and further, the maximum processing speed Rcmax stored in the memory 3 is detected. And read according to Equation 1,
The effective processing speed Rc is calculated. (Procedure 2) Subsequently, the client 1 transmits to the server 11 one message M'call indicating the calculated effective processing speed Rc and the fact that the processing result of the specific task held by the server 11 is to be used.

【0027】具体的には、プロセッサ2は、送信元、即
ち、クライアント1のネットワークアドレス、サーバが
有する特定タスクを識別する情報等を通信部4を介して
サーバ11に送信する。 (手順3)メッセージM'callを受信したサーバ11
は、その特定タスクに係るターンアラウンド時間を短縮
するには、その特定タスクを自ら処理すべきかクライア
ント1が処理すべきかを判断する。
Specifically, the processor 2 transmits the transmission source, that is, the network address of the client 1 and information for identifying a specific task of the server to the server 11 via the communication unit 4. (Procedure 3) Server 11 that has received message M'call
Determines whether to process the specific task by itself or the client 1 in order to reduce the turnaround time for the specific task.

【0028】具体的には、プロセッサ12は、通信部1
4を介して受信したメッセージM'callにより特定され
た特定タスクが保持されたメモリ13を参照することに
より、この特定タスクの仕事量Mtask、タスク移動に伴
う通信量Mmig及びリプライメッセージの通信量Mrepを
決定すると共に、そのメッセージM'callに含まれるク
ライアント1の実効処理速度Rcを抽出する。
Specifically, the processor 12 includes the communication unit 1
By referring to the memory 13 that holds the specific task specified by the message M'call received via the message M'call, the work amount Mtask of this specific task, the communication amount Mmig accompanying the task movement, and the communication amount Mrep of the reply message Mrep And the effective processing speed Rc of the client 1 included in the message M'call is extracted.

【0029】続いて、プロセッサ12は、通信部14に
よる定期的な通信路20の観察に基づいて、現在におけ
る通信路20の平均通信速度Rtを検出する。そして、
プロセッサ12は、クライアント1の場合と同様にし
て、自らの処理負荷、即ち、実効処理速度Rsを算出す
る。以上の値に基づいて、プロセッサ12は、式3及び
式4のそれぞれの第2項及び第3項からなる以下の2種
類の時間T1、T2を算出し比較する。
Subsequently, the processor 12 detects the current average communication speed Rt of the communication path 20 based on the periodic observation of the communication path 20 by the communication unit 14. And
The processor 12 calculates its own processing load, that is, the effective processing speed Rs, as in the case of the client 1. Based on the above values, the processor 12 calculates and compares the following two types of times T1 and T2 consisting of the second and third terms of the equations 3 and 4, respectively.

【0030】 T1=Mtask/Rs+Mrep/Rt ・・・ (式5) T2=Mmig/Rt+Mtask/Rc ・・・ (式6) なお、式5で表されるT1と式6で表されるT2との大小
関係は、式3で表されるRPC方式によるターンアラウ
ンド時間Trpcと式4で表されるJAVA方式によるタ
ーンアラウンド時間Tjavaとの大小関係と同じになる。
なぜなら、式3と式4のそれぞれの第1項は共通だから
である。
T1 = Mtask / Rs + Mrep / Rt (Equation 5) T2 = Mmig / Rt + Mtask / Rc (Equation 6) In addition, T1 represented by Equation 5 and T2 represented by Equation 6 The magnitude relationship is the same as the magnitude relationship between the turnaround time Trpc by the RPC method expressed by Expression 3 and the turnaround time Tjava by the JAVA method expressed by Expression 4.
This is because the first terms of equations 3 and 4 are common.

【0031】比較の結果、T1<T2の場合には、サーバ
11は、サーバ自らこの特定タスクを処理すべきと判断
し、以下の手順4a、5aを実行する。 (手順4a)サーバ11は、特定タスクを処理する。具
体的には、プロセッサ12は、クライアント1から依頼
された特定タスクをメモリ13の保持部から作業用領域
に移し、既に実行しているタスクに加えてタイムシェア
リングにより実行する。 (手順5a)特定タスクの処理を終えると、サーバ11
は、その処理によって得られた結果をリプライメッセー
ジとしてクライアント1に返信する。
As a result of the comparison, when T1 <T2, the server 11 judges that the server itself should process this specific task, and executes the following steps 4a and 5a. (Procedure 4a) The server 11 processes a specific task. Specifically, the processor 12 moves the specific task requested by the client 1 from the holding unit of the memory 13 to the work area, and executes it by time sharing in addition to the task already executed. (Procedure 5a) When the processing of the specific task is completed, the server 11
Returns the result obtained by the processing to the client 1 as a reply message.

【0032】具体的には、プロセッサ12は、クライア
ント1からの要求に対する返答として、その特定タスク
の実行により得られたデータを通信部14を介してクラ
イアント1に送信する。以上の手順1〜3、4a、5a
により、クライアント1から依頼された特定タスクはサ
ーバ11によって処理されるので、結果的に従来のRP
C方式と同様の分散処理方式が行われたことになる。
Specifically, the processor 12 transmits the data obtained by executing the specific task to the client 1 via the communication unit 14 as a response to the request from the client 1. Steps 1 to 3 above, 4a, 5a
As a result, the specific task requested by the client 1 is processed by the server 11, and as a result, the conventional RP
This means that the distributed processing method similar to the C method has been performed.

【0033】一方、手順3での比較において、T1≧T2
の場合には、サーバ11は、サーバ11自らではなくク
ライアント1が特定タスクを処理すべきと判断し、上記
手順4a、5aに代えて以下の手順4b、5bを実行す
る。 (手順4b)サーバ11は、特定タスクをクライアント
1に移動する。
On the other hand, in the comparison in the procedure 3, T1 ≧ T2
In this case, the server 11 determines that the client 1 should process the specific task, not the server 11 itself, and executes the following steps 4b and 5b instead of the above steps 4a and 5a. (Procedure 4b) The server 11 moves the specific task to the client 1.

【0034】具体的には、プロセッサ12は、クライア
ント1から依頼された特定タスクをメモリ13の保持部
から読み出し、通信部14を介してクライアント1に転
送する。なお、ここで転送される情報には、特定タスク
自体、即ち、処理手続き及び必要な関連データだけでな
く、手順2によるクライアント1からの要求に対する返
答としてタスク移動が行われた旨のメッセージ等も含ま
れる。 (手順5b)その特定タスクを受信したクライアント1
は、自らその特定タスクを処理する。
Specifically, the processor 12 reads the specific task requested by the client 1 from the holding unit of the memory 13 and transfers it to the client 1 via the communication unit 14. Note that the information transferred here includes not only the specific task itself, that is, the processing procedure and necessary related data, but also a message indicating that the task has been moved in response to the request from the client 1 according to step 2. included. (Procedure 5b) Client 1 that received the specific task
Handles the specific task by itself.

【0035】具体的には、プロセッサ2は、通信部4を
介してメモリ3の作業領域にロードした特定タスクを、
既に実行しているタスクに加えてタイムシェアリングに
より実行する。以上の手順1〜3、4b、5bにより、
クライアント1から依頼された特定タスクはクライアン
ト1自らによって処理されるので、結果的に従来のJA
VA方式と同様の分散処理方式が行われたことになる。
Specifically, the processor 2 executes the specific task loaded in the work area of the memory 3 via the communication unit 4,
Execute by time sharing in addition to the already executed task. By the above steps 1-3, 4b, 5b,
The specific task requested by the client 1 is processed by the client 1 itself, and as a result, the conventional JA
This means that a distributed processing method similar to the VA method has been performed.

【0036】このように、本方式によれば、システムに
おける処理負荷の状況、即ち、クライアント1及びサー
バ11において並列処理されているタスク数を考慮する
ことにより、T1<T2、即ち、Trpc<Tjavaと判断さ
れた場合には、従来のRPC方式によるタスク処理が行
われ、一方、T1≧T2、即ち、Trpc≧Tjavaと判断さ
れた場合には、従来のJAVA方式によるタスク処理が
行われる。
As described above, according to the present method, T1 <T2, that is, Trpc <Tjava, by considering the processing load situation in the system, that is, the number of tasks processed in parallel in the client 1 and the server 11. If it is determined that the task processing by the conventional RPC method is performed, on the other hand, if it is determined that T1 ≧ T2, that is, Trpc ≧ Tjava, the task processing by the conventional JAVA method is performed.

【0037】これによって、システムの処理負荷の状況
に応じ、RPC方式又はJAVA方式のうち、より小さ
いターンアラウンド時間が得られる方式が動的に決定さ
れたことになる。図3は、以上のシーケンスにおけるサ
ーバ11のみの動作を示すフローチャートである。
As a result, one of the RPC method and the JAVA method that can obtain a smaller turnaround time is dynamically determined according to the processing load of the system. FIG. 3 is a flowchart showing the operation of only the server 11 in the above sequence.

【0038】サーバ11は、クライアント1から送られ
てきた処理要求メッセージM'callを受信した後(ステ
ップS31)、通信部14で通信路20の通信速度Rt
を検出する(ステップS32)。そして、受信したメッ
セージM'callから、実行すべき特定タスクの内容を決
定し、クライアント1の実効処理速度Rcを抽出する
(ステップS33)。
After receiving the processing request message M'call sent from the client 1 (step S31), the server 11 causes the communication unit 14 to communicate with the communication speed Rt of the communication path 20.
Is detected (step S32). Then, the content of the specific task to be executed is determined from the received message M'call, and the effective processing speed Rc of the client 1 is extracted (step S33).

【0039】さらに、サーバ11の実効処理速度Rsを
求め(ステップS34)、タスク移動に伴うタスクの通
信量Mmig、処理に必要となる演算数Mtaskおよびタス
ク処理の終了時にリプライに必要となるメッセージの通
信量Mrepを求める(ステップS35)。以上の情報を
用い、式5で表されるT1と式6で表されるT2とを比較
し(ステップS36)、前者が小さい場合は、サーバ1
1内でタスク処理を行なった後に(ステップS37)そ
の結果をクライアント1にリプライし(ステップS3
8)、そうでない場合は、クライアント1にタスク本体
を移動してクライアント1内でその特定タスクの処理を
行なうようにする(ステップS39)。
Further, the effective processing speed Rs of the server 11 is obtained (step S34), the communication amount Mmig of the task accompanying the task movement, the number of operations Mtask required for processing, and the message required for reply at the end of the task processing. The communication amount Mrep is obtained (step S35). Using the above information, T1 represented by Equation 5 is compared with T2 represented by Equation 6 (step S36). If the former is smaller, the server 1
After performing the task processing in step 1 (step S37), the result is replied to the client 1 (step S3).
8) If not, the task body is moved to the client 1 so that the specific task is processed in the client 1 (step S39).

【0040】図4は、図2に示されたシーケンスにおけ
るクライアント1のみの動作を示すフローチャートであ
る。まず、クライアント1は、実効処理速度Rcを求め
(ステップS41)、それを処理依頼メッセージM'cal
lに付加してサーバ11に送信する(ステップS4
2)。
FIG. 4 is a flow chart showing the operation of only the client 1 in the sequence shown in FIG. First, the client 1 obtains the effective processing speed Rc (step S41) and uses it for the processing request message M'cal.
It is added to l and transmitted to the server 11 (step S4)
2).

【0041】続いて、サーバ11からのリプライを受信
し(ステップS43)、それが特定タスク本体であれば
(ステップS44)、クライアント1内でその特定タス
クを実行し(ステップS45)、そうでなければ、その
リプライを特定タスクの処理結果として利用する。以上
のシーケンスについて、従来技術での説明と同様の具体
的な数値を用いてその流れを説明する。
Then, when the reply from the server 11 is received (step S43) and if it is the specific task body (step S44), the specific task is executed in the client 1 (step S45), otherwise. For example, the reply is used as the processing result of the specific task. The flow of the above sequence will be described using specific numerical values similar to those in the conventional art.

【0042】即ち、システムの性能として、Rcmax=4
0、Rsmax=100、Rt=5であり、通信量・仕事量
として、Mtask=200、M'call=5、Mrep=5、M
mig=100であり、第1の負荷状況として、Nc=1、
Ns=19の場合を考える。すると、 Rc=40/(1+1)=20 Rs=100/(19+1)=5 より、 T1=200/5+5/5=41 T2=100/5+200/20=30 となるので、上記手順3においては、T1≧T2と判断さ
れ、クライアント1が特定タスクを処理すべきと判断さ
れるので、その後、上記手順4b、5b、即ち、従来の
JAVA方式が採られる。
That is, as the system performance, Rcmax = 4
0, Rsmax = 100, Rt = 5, and as communication / work volume, Mtask = 200, M'call = 5, Mrep = 5, M
mig = 100, and the first load status is Nc = 1,
Consider the case of Ns = 19. Then, Rc = 40 / (1 + 1) = 20 Rs = 100 / (19 + 1) = 5, so that T1 = 200/5 + 5/5 = 41 T2 = 100/5 + 200/20 = 30. Therefore, in the above procedure 3, Since it is determined that T1 ≧ T2 and the client 1 should process the specific task, the above steps 4b and 5b, that is, the conventional JAVA method is adopted thereafter.

【0043】図5は、この第1の負荷状況における本方
式のタイムチャートを、従来の固定的なRPC方式との
比較において示す図である。式3及び式4より、本方式
により得られるターンアラウンド時間(31秒)は、従
来方式の場合(42秒)よりも小さい。続いて、Ns=
9に減少した第2の負荷状況を考える。
FIG. 5 is a diagram showing a time chart of this system under the first load condition in comparison with the conventional fixed RPC system. From Equations 3 and 4, the turnaround time (31 seconds) obtained by this method is shorter than that of the conventional method (42 seconds). Then, Ns =
Consider a second load situation that has decreased to 9.

【0044】Rs=100/(9+1)=10 に増加するので、 T1=200/10+5/5=21 と減少するが、T2はそのまま(30)であるので、上
記手順3においては、T1<T2と判断され、クライアン
ト1が特定タスクを処理すべきと判断されるので、その
後、上記手順4a、5a、即ち、従来のRPC方式が採
られる。
Since Rs = 100 / (9 + 1) = 10 increases, T1 decreases to 200/10 + 5/5 = 21, but T2 remains (30). Therefore, in the above procedure 3, T1 <T2 Since it is determined that the client 1 should process the specific task, the procedures 4a and 5a described above, that is, the conventional RPC method are adopted.

【0045】図6は、この第2の負荷状況における本方
式のタイムチャートを、従来の固定的なJAVA方式と
の比較において示す図である。式3及び式4より、本方
式により得られるターンアラウンド時間(22秒)は、
従来方式の場合(31秒)よりも小さい。以上のよう
に、本方式によれば、タスク処理の要求が発生した時点
におけるシステムでの処理負荷の状況が考慮されるの
で、RPC方式又はJAVA方式のうち、より小さいタ
ーンアラウンド時間が得られる分散処理方式が動的に決
定される。 (実施の形態2)次に、本発明の実施の形態2に係る分
散処理システムを説明する。
FIG. 6 is a diagram showing a time chart of the present system in the second load situation in comparison with the conventional fixed JAVA system. From equations 3 and 4, the turnaround time (22 seconds) obtained by this method is
It is smaller than that of the conventional method (31 seconds). As described above, according to the present method, the situation of the processing load in the system at the time when the request for the task processing is generated is taken into consideration, so that a distributed turnaround time that is smaller than the RPC method or the JAVA method can be obtained. The processing method is dynamically determined. (Second Embodiment) Next, a distributed processing system according to a second embodiment of the present invention will be described.

【0046】本実施形態は、クライアントからの処理依
頼が発生してからその処理をすべき装置を決定するまで
の手順が実施形態1と異なり、他の点においては実施形
態1と同じである。従って、ここでは、実施形態1と異
なる点のみ説明する。図7は、本実施形態の分散処理方
式におけるクライアント1とサーバ11との通信のやり
とりを示すシーケンス図である。実施形態1における図
2と比較して判るように、本実施形態では、実施形態1
の手順1、2に代えて異なる手順1〜4を採用し、それ
以降の手順は同一である。 (手順1)まず、クライアント1は、サーバ11に対し
て、サーバ11が保持する特定タスクの処理結果を利用
したい旨のメッセージのみを送信する。ここでは、実施
形態1と相違し、このメッセージにはクライアント1の
実効処理速度Rcの情報は含まれない。 (手順2)そのメッセージを受信したサーバ11は、自
らの処理負荷が軽くなった頃等を見計らって、クライア
ント1に実効処理速度Rcを問い合わせる。 (手順3)問い合わせを受けたクライアント1は、実施
形態1の場合と同様の方法により現時点での自らの実効
処理速度Rcを算出する。 (手順4)そして、クライアント1は、その実効処理速
度Rcをサーバ11に送信する。 (手順5、6a、7a、6b、7b)これらのクライア
ント1及びサーバ11での動作は、それぞれ実施形態1
の手順3、4a、5a、4b、5bと同一である。
The present embodiment is different from the first embodiment in the procedure from the generation of the processing request from the client to the determination of the apparatus to perform the processing, and is otherwise the same as the first embodiment. Therefore, only the points different from the first embodiment will be described here. FIG. 7 is a sequence diagram showing an exchange of communication between the client 1 and the server 11 in the distributed processing method of this embodiment. As can be seen by comparing with FIG. 2 in the first embodiment, in the present embodiment, the first embodiment
In place of the procedures 1 and 2, different procedures 1 to 4 are adopted, and the subsequent procedures are the same. (Procedure 1) First, the client 1 transmits to the server 11 only a message indicating that it wants to use the processing result of the specific task held by the server 11. Here, unlike the first embodiment, this message does not include information on the effective processing speed Rc of the client 1. (Procedure 2) The server 11, which has received the message, inquires the client 1 of the effective processing speed Rc, for example, when the processing load of the server 11 is lightened. (Procedure 3) The client 1 that has received the inquiry calculates its own effective processing speed Rc at the present time by the same method as in the first embodiment. (Procedure 4) Then, the client 1 transmits the effective processing speed Rc to the server 11. (Procedures 5, 6a, 7a, 6b, 7b) The operations in the client 1 and the server 11 are the same as those in the first embodiment.
Steps 3, 4a, 5a, 4b, and 5b are the same.

【0047】なお、図8は、以上のシーケンスにおける
サーバ11のみの動作を示すフローチャートであり、実
施形態1における図3に対応する。以上のように、本実
施形態は、実施形態1と比較し、手順5におけるサーバ
11での判断のために必要とされる情報の準備方法(手
順1〜4)が異なるだけで、手順5における判断内容や
その結果による以降の流れは同一であるので、実施形態
1と同様に、システムでの処理負荷の状況を考慮した最
適な分散処理方式が動的に行われるのは言うまでもな
い。
FIG. 8 is a flowchart showing the operation of only the server 11 in the above sequence and corresponds to FIG. 3 in the first embodiment. As described above, the present embodiment is different from the first embodiment only in the information preparation method (procedures 1 to 4) required for the determination in the server 11 in the procedure 5, and in the procedure 5. It is needless to say that the optimum distributed processing method considering the status of the processing load in the system is dynamically performed, as in the first embodiment, because the determination contents and the subsequent flow depending on the result are the same.

【0048】また、クライアント1は、処理依頼メッセ
ージを発行する毎に実効処理速度Rcを計算するのでは
なくサーバから問い合わせられた時のみ計算するので、
クライアント1の負荷は小さくなる。さらに、サーバ1
1は、自分にとって都合のよいタイミングでクライアン
ト1の実効処理速度Rcを獲得できるので、手順6a又
は7bにおいて実際に特定タスクが処理される時刻に近
い時刻において手順5での判断を行うことが可能とな
り、刻々と変化する負荷状況にあっても、より精度の高
い処理方式が決定される。
Further, the client 1 does not calculate the effective processing speed Rc every time a processing request message is issued, but only when inquired by the server.
The load on the client 1 is reduced. Furthermore, server 1
Since 1 can acquire the effective processing speed Rc of the client 1 at a timing convenient for itself, it is possible to make the determination in step 5 at a time close to the time when the specific task is actually processed in step 6a or 7b. Therefore, a more accurate processing method is determined even in a load condition that changes every moment.

【0049】以上、本発明に係る分散処理システムにつ
いて、実施形態に基づいて説明したが、本発明はこれら
実施形態に限られないことは勿論である。即ち、 (1)上記実施形態においては、プロセッサの処理能力
が処理対象となる各タスクに均等に分配されることを前
提に、各端末装置の実効処理速度は式1及び式2で表さ
れるとしたが、この実効処理速度は、これらの式で表さ
れるものに限定されない。例えば、優先順位を伴う重み
付けされたスケジューリングが行われる端末装置であれ
ば、その重み付けを考慮した式となる。 (2)本分散処理方式における処理装置の決定は、サー
バ11によって行われたが、この装置に限定されるもの
ではなく、例えば、クライアント1や第3の端末装置に
よって行われるとするシステムとすることも考えられ
る。
Although the distributed processing system according to the present invention has been described above based on the embodiments, it goes without saying that the present invention is not limited to these embodiments. That is, (1) In the above embodiment, the effective processing speed of each terminal device is expressed by Expression 1 and Expression 2, assuming that the processing capacity of the processor is evenly distributed to each task to be processed. However, the effective processing speed is not limited to those expressed by these equations. For example, in the case of a terminal device in which weighted scheduling with priority is performed, the formula takes into account the weighting. (2) The determination of the processing device in the present distributed processing method is performed by the server 11, but is not limited to this device, and for example, the system is assumed to be performed by the client 1 or the third terminal device. It is also possible.

【0050】[0050]

【発明の効果】以上の説明から明らかなように、本発明
に係る分散処理方法及びシステムによれば、クライアン
トがサーバに備えられた特定タスクの処理結果を利用し
たい旨の要求を発すると、先ず、前記特定タスクに係る
ターンアラウンド時間を小さくするためにはサーバ又は
クライアントのいずれがその特定タスクを処理すべきか
が判断され(第1ステップ)、次に、サーバが処理すべ
きと判断された場合にはその特定タスクはサーバによっ
て処理された後にその結果が前記クライアントに報告さ
れ、一方、前記クライアントが処理すべきと判断された
場合にはその特定タスクはサーバからクライアントに移
動された後にその特定タスクはクライアントによって処
理される(第2ステップ)。
As is apparent from the above description, according to the distributed processing method and system of the present invention, when a client makes a request to use the processing result of a specific task provided in the server, first, When it is determined that the server or the client should process the specific task in order to reduce the turnaround time of the specific task (first step), and then the server determines that the specific task should be processed. The result is reported to the client after the specific task is processed by the server, while the specific task is moved from the server to the client after the client is determined to process the specific task. The task is processed by the client (second step).

【0051】これにより、クライアントからの処理要求
が発生する度に、その処理に要するターンアラウンド時
間をより小さくするための処理方式が行われるので、サ
ーバ又はクライアントのいずれかによって固定的に処理
されていた従来方式に比べ、システムの負荷状況の変動
に対応した効率的な分散処理方法及びシステムが実現さ
れるという効果がある。
As a result, each time a processing request is issued from the client, a processing method for reducing the turnaround time required for the processing is performed, so that the processing is fixedly performed by either the server or the client. As compared with the conventional method, there is an effect that an efficient distributed processing method and system that can cope with changes in the system load situation are realized.

【0052】ここで、サーバ又はクライアントのいずれ
が処理すべきかを決定する方法として、先ず、その時点
におけるサーバ及びクライアントの実効処理速度を検出
し、次に、その実効処理速度に基づいて、サーバが特定
タスクを処理しその結果を前記クライアントに報告した
場合に要する第1の時間と、サーバからクライアントに
特定タスクを移動しそのクライアントがその特定タスク
を処理した場合に要する第2の時間とを求めて比較する
ことにより行うことができる。
Here, as a method of deciding which of the server or the client should process, first, the effective processing speeds of the server and the client at that time are detected, and then the server determines based on the effective processing speed. Determine a first time required to process a specific task and report the result to the client, and a second time required to move the specific task from the server to the client and the client processes the specific task. It can be performed by comparing.

【0053】また、サーバ及びクライアントの実効処理
速度Rs、Rcは、並行処理されているそれぞれのタスク
数Ns、Ncを検出し、それぞれの最大処理速度Rsmax、
Rcmaxを用いて、式Rs=Rsmax/(Ns+1) 及び Rc=Rcmax/(Nc+1) により決定し、第1の時間T1及び第2の時間T2は、特
定タスクの処理に伴う仕事量をMtask、通信路の通信速
度をRt、報告に伴う通信量をMrep、タスク移動に伴う
通信量をMmigとすると、式T1=Mtask/Rs+Mrep/
Rt 及び T2=Mmig/Rt+Mtask/Rc により算出することもできる。
The effective processing speeds Rs and Rc of the server and the client detect the respective numbers Ns and Nc of tasks being processed in parallel, and the maximum processing speeds Rsmax and Rsmax of the respective tasks are detected.
Rcmax is used to determine by the equations Rs = Rsmax / (Ns + 1) and Rc = Rcmax / (Nc + 1), and the first time T1 and the second time T2 are Mtask, the work amount associated with the processing of a specific task, and Assuming that the communication speed of the road is Rt, the communication volume associated with the report is Mrep, and the communication volume associated with the task movement is Mmig, the equation T1 = Mtask / Rs + Mrep /
It can also be calculated by Rt and T2 = Mmig / Rt + Mtask / Rc.

【0054】これにより、刻々と変化する両装置での処
理能力を考慮した柔軟で精度の高いな分散処理方式が可
能となる。また、前記第1ステップは、クライアントが
現時点における自らの実効処理速度を算出し、その実効
処理速度を示す情報を前記要求と同時にサーバに通知
し、サーバが前記判断を行うとすることもできる。
As a result, a flexible and highly accurate distributed processing method that takes into consideration the processing capabilities of both devices, which changes moment by moment, becomes possible. Further, in the first step, the client may calculate its own effective processing speed at the present time, notify the server of the information indicating the effective processing speed at the same time as the request, and the server may make the determination.

【0055】これによって、クライアントからの処理要
求と共にクライアントの処理能力がサーバに同時に通知
されるので、この分散処理のための通信トラフィックの
増加を最小限に抑えることができる。また、前記第1ス
テップは、前記要求を受けたサーバがクライアントに問
い合わせ、クライアントが現時点における自らの実効処
理速度を算出して返答し、サーバが前記判断を行うとす
ることもできる。
As a result, since the processing capability of the client is notified to the server at the same time as the processing request from the client, the increase in communication traffic for this distributed processing can be minimized. Further, in the first step, the server that has received the request may inquire of the client, the client may calculate its effective processing speed at the present time and reply, and the server may make the determination.

【0056】これによって、サーバは、自らの都合のよ
いタイミングでクライアントの処理能力を知ることがで
きるので、処理すべき装置をより的確に決定することが
できるという効果がある。
As a result, the server can know the processing capacity of the client at a timing convenient for itself, so that there is an effect that the apparatus to be processed can be more accurately determined.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施の形態1及び2に係る分散処理シ
ステムのハードウェア構成を示すブロック図である。
FIG. 1 is a block diagram showing a hardware configuration of a distributed processing system according to first and second embodiments of the present invention.

【図2】実施形態1の分散処理方式におけるクライアン
ト1とサーバ11との通信のやりとりを示すシーケンス
図である。
FIG. 2 is a sequence diagram showing an exchange of communication between a client 1 and a server 11 in the distributed processing method according to the first exemplary embodiment.

【図3】図2のシーケンスにおけるサーバ11のみの動
作を示すフローチャートである。
FIG. 3 is a flowchart showing an operation of only the server 11 in the sequence of FIG.

【図4】図2のシーケンスにおけるクライアント1のみ
の動作を示すフローチャートである。
FIG. 4 is a flowchart showing an operation of only the client 1 in the sequence of FIG.

【図5】実施形態1の第1の負荷状況におけるタイムチ
ャートを、従来の固定的なRPC方式との比較において
示す図である。
FIG. 5 is a diagram showing a time chart in the first load situation of the first embodiment in comparison with a conventional fixed RPC method.

【図6】実施形態1の第2の負荷状況におけるタイムチ
ャートを、従来の固定的なJAVA方式との比較におい
て示す図である。
FIG. 6 is a diagram showing a time chart in the second load situation of the first embodiment in comparison with a conventional fixed JAVA system.

【図7】実施形態2の分散処理方式におけるクライアン
ト1とサーバ11との通信のやりとりを示すシーケンス
図である。
FIG. 7 is a sequence diagram showing an exchange of communication between a client 1 and a server 11 in the distributed processing method of the second exemplary embodiment.

【図8】図7のシーケンスにおけるサーバ11のみの動
作を示すフローチャートである。
8 is a flowchart showing the operation of only the server 11 in the sequence of FIG.

【図9】図9(a)は従来のRPC方式におけるクライ
アントとサーバとの通信のやりとりを示す説明図であ
り、図9(b)はそのシーケンス図である。
FIG. 9 (a) is an explanatory diagram showing a communication exchange between a client and a server in a conventional RPC system, and FIG. 9 (b) is a sequence diagram thereof.

【図10】図10(a)は従来のJAVA方式における
クライアントとサーバとの通信のやりとりを示す説明図
であり、図10(b)はそのシーケンス図である。
FIG. 10 (a) is an explanatory diagram showing a communication exchange between a client and a server in a conventional JAVA system, and FIG. 10 (b) is a sequence diagram thereof.

【図11】各分散処理方式におけるターンアラウンド時
間を評価するためのシステム構成のモデル図である。
FIG. 11 is a model diagram of a system configuration for evaluating turnaround time in each distributed processing method.

【図12】JAVA方式による場合の方がRPC方式に
比べてターンアラウンド時間が小さくなる場合の従来例
のタイムチャートである。
FIG. 12 is a time chart of a conventional example in which the turnaround time in the JAVA method is shorter than that in the RPC method.

【図13】RPC方式による場合の方がJAVA方式に
比べてターンアラウンド時間が小さくなる場合の従来例
のタイムチャートである。
FIG. 13 is a time chart of a conventional example in which the turnaround time is shorter in the RPC method than in the JAVA method.

【符号の説明】[Explanation of symbols]

1 クライアント 2 プロセッサ 3 メモリ 4 通信部 11 サーバ 12 プロセッサ 13 メモリ 14 通信部 20 通信路 1 client 2 processor 3 memory 4 communication unit 11 server 12 processor 13 memory 14 communication unit 20 communication path

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 複数のタスクを並行処理し得る複数の端
末装置が通信路に接続されたネットワークにおいて、一
の端末装置(クライアント)が他の一の端末装置(サー
バ)に備えられた特定タスクの処理結果を利用したい場
合における分散処理方法であって、 前記クライアントが前記結果を利用したい旨の要求を発
すると、前記特定タスクに係るターンアラウンド時間を
小さくするためにはサーバ又は前記クライアントのいず
れがその特定タスクを処理すべきかを判断する第1ステ
ップと、 サーバが処理すべきと判断した場合には、そのサーバは
前記特定タスクを処理しその結果を前記クライアントに
報告し、一方、前記クライアントが処理すべきと判断し
た場合には、前記サーバは前記特定タスクを前記クライ
アントに移動しそのクライアントがその特定タスクを処
理する第2ステップとからなることを特徴とする分散処
理方法。
1. A specific task in which one terminal device (client) is provided in another one terminal device (server) in a network in which a plurality of terminal devices capable of concurrently processing a plurality of tasks are connected to a communication path. In the distributed processing method in the case of wanting to use the processing result, when the client issues a request to use the result, either the server or the client is required to reduce the turnaround time related to the specific task. The first step of determining whether to process the particular task, and if the server determines to process, the server processes the particular task and reports the result to the client, while the client Server decides that it should handle it, the server moves the specific task to the client and Distributed processing method bets is characterized by comprising a second step of processing the specific tasks.
【請求項2】 前記第1ステップは、 前記サーバにより行われ、 現時点における前記サーバ及び前記クライアントの実効
処理速度を決定する決定ステップと、 決定した実効処理速度に基づいて、前記サーバが前記特
定タスクを処理しその結果を前記クライアントに報告し
た場合に要する第1の時間と、前記サーバから前記クラ
イアントに前記特定タスクを移動しそのクライアントが
その特定タスクを処理した場合に要する第2の時間とを
求めて比較することにより前記判断をする判断ステップ
とからなることを特徴とする請求項1記載の分散処理方
法。
2. The first step is performed by the server, the determining step of determining an effective processing speed of the server and the client at the present time, and the server performing the specific task based on the determined effective processing speed. And a second time required when the specific task is moved from the server to the client and the client processes the specific task. The distributed processing method according to claim 1, further comprising a determination step of making the determination by obtaining and comparing.
【請求項3】 前記決定ステップにおいては、前記サー
バ及び前記クライアントの実効処理速度Rs、Rcは、並
行処理されているそれぞれのタスク数Ns、Ncを検出
し、それぞれの最大処理速度Rsmax、Rcmaxを用いて、
式Rs=Rsmax/(Ns+1) 及び Rc=Rcmax/(Nc+1) により決定し、 前記判断ステップにおいては、前記第1の時間T1及び
第2の時間T2は、前記特定タスクの処理に伴う仕事量
をMtask、前記通信路の通信速度をRt、前記報告に伴
う通信量をMrep、前記タスク移動に伴う通信量をMmig
とすると、式T1=Mtask/Rs+Mrep/Rt 及び T2=Mmig/Rt+Mtask/Rc により算出することを特徴とする請求項2記載の分散処
理方法。
3. In the determining step, the effective processing speeds Rs, Rc of the server and the client detect the respective numbers Ns, Nc of tasks being processed in parallel, and the respective maximum processing speeds Rsmax, Rcmax are determined. make use of,
It is determined by the formulas Rs = Rsmax / (Ns + 1) and Rc = Rcmax / (Nc + 1), and in the determining step, the first time T1 and the second time T2 are the workloads involved in the processing of the specific task. Mtask, the communication speed of the communication path is Rt, the communication volume associated with the report is Mrep, and the communication volume associated with the task movement is Mmig.
Then, the distributed processing method according to claim 2, wherein the calculation is performed by the formulas T1 = Mtask / Rs + Mrep / Rt and T2 = Mmig / Rt + Mtask / Rc.
【請求項4】 前記決定ステップにおける前記クライア
ントの実効処理速度の決定は、そのクライアントが現時
点における自らの実効処理速度を算出し、その実効処理
速度を示す情報を前記要求と同時に前記サーバに通知
し、その通知を受けた前記サーバにより行われることを
特徴とする請求項2記載の分散処理方法。
4. In the determination of the effective processing speed of the client in the determining step, the client calculates its own effective processing speed at the present time and notifies the server of the information indicating the effective processing speed at the same time as the request. The distributed processing method according to claim 2, wherein the distributed processing method is performed by the server that has received the notification.
【請求項5】 前記検出ステップにおける前記クライア
ントの実効処理速度の決定は、前記要求を受けた前記サ
ーバが前記クライアントに問い合わせ、そのクライアン
トが現時点における自らの実効処理速度を算出して返答
し、その返答を受けた前記サーバにより行われることを
特徴とする請求項2記載の分散処理方法。
5. The determination of the effective processing speed of the client in the detecting step is performed by the server that receives the request, inquires of the client, the client calculates and returns its own effective processing speed at the present time, and The distributed processing method according to claim 2, wherein the distributed processing method is performed by the server that receives a reply.
【請求項6】 特定タスクを有するサーバとその特定タ
スクの処理結果を利用するクライアントとが通信路を介
して接続された分散処理システムであって、 前記クライアントは、 前記サーバに前記結果を利用したい旨の要求をする手段
と、 現時点における自らの実効処理速度を算出して前記サー
バに通知する第1算出手段と、 前記サーバから前記特定タスクが移動されてきた場合に
は、その特定タスクを処理する手段とを備え、 前記サーバは、 現時点における自らの実効処理速度を算出する第2算出
手段と、 前記要求を受けると、前記クライアント及び前記サーバ
で算出された実効処理速度に基づいて、サーバ自らが前
記特定タスクを処理しその結果を前記クライアントに報
告した場合に要する第1の時間と、前記特定タスクを前
記クライアントに移動しそのクライアントがその特定タ
スクを処理した場合に要する第2の時間とを求めて比較
する比較手段と、 前記第1の時間が小さい場合には、サーバ自らが前記特
定タスクを処理しその結果を前記クライアントに報告
し、一方、前記第2の時間が小さい場合には、前記特定
タスクを前記クライアントに移動する手段とを備えるこ
とを特徴とする分散処理システム。
6. A distributed processing system in which a server having a specific task and a client that uses the processing result of the specific task are connected via a communication path, and the client wants to use the result to the server. Means for making a request to that effect, first calculating means for calculating its own effective processing speed at the present time and notifying the server, and processing the specific task if the specific task is moved from the server The server itself, based on the effective processing speeds calculated by the client and the server when the request is received, the server itself The first time it takes for the specific task to process the specific task and report the result to the client and the specific task for the client. A comparing means for moving to the ant and comparing with a second time required when the client processes the specific task; and when the first time is short, the server itself processes the specific task. A means for reporting the result to the client, and moving the specific task to the client when the second time is short, the distributed processing system.
【請求項7】 前記第1算出手段は、 前記クライアントの最大処理速度Rcmaxを予め記憶する
第1記憶手段と、 現時点において並行処理しているタスク数Ncを検出す
る第1検出手段と、 前記第1記憶手段から読み出した最大処理速度Rcmaxと
前記第1検出手段により検出されたタスク数Ncとか
ら、前記実効処理速度Rcを、式 Rc=Rcmax/(Nc+1) により算出する第1速度算出手段とからなり、 前記第2算出手段は、 前記サーバの最大処理速度Rsmaxを予め記憶している第
2記憶手段と、 現時点において並行処理しているタスク数Nsを検出す
る第2検出手段と、 前記記憶手段から読み出した最大処理速度Rsmaxと前記
検出手段により検出されたタスク数Ncとから、前記実
効処理速度Rsを、式 Rs=Rsmax/(Ns+1) により算出する第2速度算出手段とからなり、 前記比較手段は、 前記特定タスクの処理に伴う仕事量Mtask、前記通信路
の通信速度Rt、前記報告に伴う通信量Mrep及び前記タ
スク移動に伴う通信量Mmigを予め記憶している第3記
憶手段と、 前記要求を受けると、前記第3記憶手段から読み出した
値並びに前記第1速度算出手段及び前記第2速度算出手
段により算出された実効処理速度Rc、Rsを用いて、前
記第1の時間T1及び第2の時間T2を、式T1=Mtask
/Rs+Mrep/Rt 及び T2=Mmig/Rt+Mtask/Rc により算出する時間算出手段と、 前記時間算出手段により算出された第1の時間T1及び
第2の時間T2を比較する手段とからなることを特徴と
する請求項6記載の分散処理システム。
7. The first calculation means, first storage means for storing in advance a maximum processing speed Rcmax of the client, first detection means for detecting the number Nc of tasks currently being processed in parallel, No. 1 first speed calculating means for calculating the effective processing speed Rc from the maximum processing speed Rcmax read from the storage means and the number of tasks Nc detected by the first detecting means by the formula Rc = Rcmax / (Nc + 1) The second calculation means includes a second storage means that stores in advance a maximum processing speed Rsmax of the server, a second detection means that detects the number Ns of tasks currently being processed in parallel, and the storage A second speed for calculating the effective processing speed Rs from the maximum processing speed Rsmax read from the means and the number of tasks Nc detected by the detecting means by the equation Rs = Rsmax / (Ns + 1). The comparison means stores in advance the work amount Mtask associated with the processing of the specific task, the communication rate Rt of the communication path, the communication amount Mrep associated with the report, and the communication amount Mmig associated with the task movement. And the effective processing speeds Rc and Rs calculated by the first speed calculation means and the second speed calculation means when the request is received. Then, the first time T1 and the second time T2 are expressed by the formula T1 = Mtask
/ Rs + Mrep / Rt and T2 = Mmig / Rt + Mtask / Rc, and a means for comparing the first time T1 and the second time T2 calculated by the time calculating means. The distributed processing system according to claim 6.
JP09817496A 1996-04-19 1996-04-19 Distributed processing method and system in network Expired - Fee Related JP3737560B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09817496A JP3737560B2 (en) 1996-04-19 1996-04-19 Distributed processing method and system in network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09817496A JP3737560B2 (en) 1996-04-19 1996-04-19 Distributed processing method and system in network

Publications (2)

Publication Number Publication Date
JPH09288648A true JPH09288648A (en) 1997-11-04
JP3737560B2 JP3737560B2 (en) 2006-01-18

Family

ID=14212687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09817496A Expired - Fee Related JP3737560B2 (en) 1996-04-19 1996-04-19 Distributed processing method and system in network

Country Status (1)

Country Link
JP (1) JP3737560B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076172A (en) * 1998-08-28 2000-03-14 Toshiba Corp Distribution system
JP2000172657A (en) * 1998-12-08 2000-06-23 Fujitsu Ltd System and method for distributed processing, computer- readable recording medium with program for computer to execute the same method recorded therein, server device and client device
JP2001134519A (en) * 1999-11-05 2001-05-18 Toshiba Corp Client-server system and business support system
JP2002197356A (en) * 2000-12-26 2002-07-12 Toshiba Corp Commercial message providing method and system and storage medium
JP2002259353A (en) * 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> Setting method for wide area cluster communication, cluster node manager device, cluster device and wide area cluster network
JP2008065729A (en) * 2006-09-11 2008-03-21 Toshiba Corp Information processor
JP2008097603A (en) * 2006-10-05 2008-04-24 Palo Alto Research Center Inc System and method for transferring code to data producer
JP2009064211A (en) * 2007-09-06 2009-03-26 Nec Corp Distributed system
US7584464B2 (en) 2002-12-06 2009-09-01 Panasonic Corporation Software processing method and software processing system
WO2011033594A1 (en) 2009-09-18 2011-03-24 富士通株式会社 Biometric authentication system and control method
JP2011108087A (en) * 2009-11-19 2011-06-02 Nec Access Technica Ltd Data processing system, data processing method and data processing program
WO2011080809A1 (en) * 2009-12-29 2011-07-07 株式会社 東芝 Server
JP2013257750A (en) * 2012-06-13 2013-12-26 Nippon Telegr & Teleph Corp <Ntt> Dispersion execution system, method, device, and program
JP2014186445A (en) * 2013-03-22 2014-10-02 Fuji Xerox Co Ltd Information processing device, system, and program
JP5945637B2 (en) * 2014-04-22 2016-07-05 オリンパス株式会社 Data processing system and data processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134959A (en) * 1991-11-14 1993-06-01 Matsushita Electric Ind Co Ltd Remote service execution control system
JPH0877118A (en) * 1994-09-07 1996-03-22 Toshiba Corp Distributed processor and process execution method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134959A (en) * 1991-11-14 1993-06-01 Matsushita Electric Ind Co Ltd Remote service execution control system
JPH0877118A (en) * 1994-09-07 1996-03-22 Toshiba Corp Distributed processor and process execution method

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076172A (en) * 1998-08-28 2000-03-14 Toshiba Corp Distribution system
JP2000172657A (en) * 1998-12-08 2000-06-23 Fujitsu Ltd System and method for distributed processing, computer- readable recording medium with program for computer to execute the same method recorded therein, server device and client device
JP2001134519A (en) * 1999-11-05 2001-05-18 Toshiba Corp Client-server system and business support system
JP2002197356A (en) * 2000-12-26 2002-07-12 Toshiba Corp Commercial message providing method and system and storage medium
JP2002259353A (en) * 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> Setting method for wide area cluster communication, cluster node manager device, cluster device and wide area cluster network
US7584464B2 (en) 2002-12-06 2009-09-01 Panasonic Corporation Software processing method and software processing system
JP2008065729A (en) * 2006-09-11 2008-03-21 Toshiba Corp Information processor
JP2008097603A (en) * 2006-10-05 2008-04-24 Palo Alto Research Center Inc System and method for transferring code to data producer
JP2009064211A (en) * 2007-09-06 2009-03-26 Nec Corp Distributed system
US8863259B2 (en) 2009-09-18 2014-10-14 Fujitsu Limited Method of controlling biometric authentication system, non-transitory, computer readable storage medium and biometric authentication system
WO2011033594A1 (en) 2009-09-18 2011-03-24 富士通株式会社 Biometric authentication system and control method
JP2011108087A (en) * 2009-11-19 2011-06-02 Nec Access Technica Ltd Data processing system, data processing method and data processing program
WO2011080809A1 (en) * 2009-12-29 2011-07-07 株式会社 東芝 Server
JPWO2011080809A1 (en) * 2009-12-29 2013-05-09 株式会社東芝 server
JP2013257750A (en) * 2012-06-13 2013-12-26 Nippon Telegr & Teleph Corp <Ntt> Dispersion execution system, method, device, and program
JP2014186445A (en) * 2013-03-22 2014-10-02 Fuji Xerox Co Ltd Information processing device, system, and program
JP5945637B2 (en) * 2014-04-22 2016-07-05 オリンパス株式会社 Data processing system and data processing method
JPWO2015163084A1 (en) * 2014-04-22 2017-04-13 オリンパス株式会社 Data processing system and data processing method
US9699509B2 (en) 2014-04-22 2017-07-04 Olympus Corporation Alternate video processing on backup virtual machine due to detected abnormalities on primary virtual machine

Also Published As

Publication number Publication date
JP3737560B2 (en) 2006-01-18

Similar Documents

Publication Publication Date Title
JPH09288648A (en) Distributed processing method in network and its system
US7793290B2 (en) Grip application acceleration by executing grid application based on application usage history prior to user request for application execution
US6823392B2 (en) Hybrid and predictive admission control strategies for a server
US7451226B1 (en) Method for grouping content requests by behaviors that relate to an information system&#39;s ability to deliver specific service quality objectives
US7904759B2 (en) System and method for service availability management
US6708224B1 (en) Methods, systems and computer program products for coordination of operations for interrelated tasks
US7644408B2 (en) System for assigning and monitoring grid jobs on a computing grid
US20060015875A1 (en) Distributed processing controller, distributed processing control method, and computer product
US20020087623A1 (en) Method and apparatus for determining network topology and/or managing network related tasks
EP1672495A1 (en) Grid parallel execution
US7610388B2 (en) System, method and program for coordinating timeouts for distributed servers
WO2007064129A1 (en) Grid computing control method for testing application program capacity of server and service method thereof
US20030135617A1 (en) Intelligent system control agent
JP4059682B2 (en) Estimating computational resources for Bayesian belief networks
US7657590B2 (en) Load balancing system and method
CN117687759A (en) Task scheduling method, device, processing equipment and readable storage medium
US8180846B1 (en) Method and apparatus for obtaining agent status in a network management application
Sakr et al. Qos-aware score-based edge resource allocation model
JP2002342098A (en) Management device, data processing system, management method and program for making computer perform management method
EP3429261B1 (en) Non-blocking request processing method and device
JPH11110360A (en) Method and system for distributing transaction and storage medium for transaction distributing processing
JP2000194650A (en) Data processing load distribution system
US8549537B2 (en) Middleware bridge system and method
CN110351334A (en) Service request processing and payment transaction request processing method and device
US20040267898A1 (en) Status information for software used to perform a service

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051027

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees