JPH0887473A - Data processor - Google Patents

Data processor

Info

Publication number
JPH0887473A
JPH0887473A JP6246845A JP24684594A JPH0887473A JP H0887473 A JPH0887473 A JP H0887473A JP 6246845 A JP6246845 A JP 6246845A JP 24684594 A JP24684594 A JP 24684594A JP H0887473 A JPH0887473 A JP H0887473A
Authority
JP
Japan
Prior art keywords
data
processing request
execution
computer
unit
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.)
Pending
Application number
JP6246845A
Other languages
Japanese (ja)
Inventor
Tatsunori Kanai
達徳 金井
Takeshi Yokogawa
健 横川
Toshio Shirokibara
敏雄 白木原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6246845A priority Critical patent/JPH0887473A/en
Publication of JPH0887473A publication Critical patent/JPH0887473A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: To automate system management and tuning by using a system for data arrangement determination and a system which determines which process request executing computer respective process requests are allocated to on the basis of the history of the respective process requests at the same time, and making them cooperate with each other. CONSTITUTION: This data processor consists of (m) computers 110-1 110-m for process request execution, a computer 111 for front-end processing, a coupling path 114 which mutually connects the front-end computer 111 and respective process request executing computers 110-1 110-m, and data storage devices 118-1-118-m which are connected to the respective process request executing computers 110-1-110-m and store data. Those computers perform parallel data processing with high performance and the loads of the process requests are decentralized to cope with highly-loaded data processing. Then a process request allocation part 101 obtains information on the execution history of past process requests and selects the computers 110-1-110m as allocation destinations on the basis of the information.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、複数の計算機で構成さ
れたデータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device composed of a plurality of computers.

【0002】[0002]

【従来の技術】通信路で結合された複数の端末装置や計
算機あるいは自動現金支払機などの処理要求発生部から
処理要求を受け付け、この処理要求に基づいて所定の処
理を実行するデータ処理装置は、今日広く利用されてい
る。このようなデータ処理装置は、従来は単一の汎用計
算機を用いて構成されてきたが、より高い処理性能が求
められる場合には複数台の計算機を用いて構成されるよ
うになって来ている。
2. Description of the Related Art A data processing apparatus that receives a processing request from a processing request generation unit such as a plurality of terminal devices, a computer, or an automatic cash dispenser connected by a communication path, and executes a predetermined processing based on the processing request is known. Widely used today. Conventionally, such a data processing device has been configured using a single general-purpose computer, but when higher processing performance is required, it has come to be configured using multiple computers. There is.

【0003】そのような複数台の計算機を用いたデータ
処理装置は、データ非共有型の構成をとる場合と、デー
タ共有型の構成をとる場合がある。図38は、データ非
共有型の構成をとる従来のデータ処理装置の一例であ
り、図39は、データ共有型の構成をとる従来のデータ
処理装置の一例である。いずれの構成においても、複数
の処理要求実行計算機1110−1〜1110−mにア
プリケーションプログラム1116−1〜1116−m
を夫々配置し、通信路1115を介して接続された処理
要求発生部1102−1〜1102−nからの処理要求
を受けたフロントエンド計算機111上の処理要求割り
付け部1101が各処理要求実行計算機に処理要求の実
行を割り当てる方式になっている。
A data processing device using such a plurality of computers may have a non-shared data structure or a shared data structure. FIG. 38 is an example of a conventional data processing apparatus having a data non-shared type configuration, and FIG. 39 is an example of a conventional data processing apparatus having a data sharing type configuration. In any of the configurations, the application programs 1116-1 to 1116-m are installed in the plurality of processing request execution computers 1110-1 to 1110-m.
Respectively, and the process request allocating unit 1101 on the front-end computer 111 that receives the process requests from the process request generating units 1102-1 to 1102-n connected via the communication path 1115 is assigned to each process request executing computer. It is a method of assigning execution of processing requests.

【0004】データ非共有型とデータ共有型の違いは、
データ記憶装置と処理要求実行計算機の結合方式にあ
る。データ非共有型の場合は各処理要求実行計算機がロ
ーカルにデータ記憶装置1118−1〜1118−mを
持ち、データは各データ記憶装置に分割して記憶され
る。それゆえ、データ管理部1117−1〜1117−
mは自処理要求実行計算機に接続されているデータ記憶
装置上のデータにしかアクセスできない。一方、データ
共有型の場合は、すべての処理要求実行計算機はデータ
記憶装置1118を共有するので、どの処理要求実行計
算機も任意のデータをアクセスすることができる。
The difference between the non-shared data type and the shared data type is
It is a combination of a data storage device and a processing request execution computer. In the case of the non-shared data type, each processing request execution computer locally has the data storage devices 1118-1 to 1118-m, and the data is divided and stored in each data storage device. Therefore, the data management units 1117-1 to 1117-
The m can only access the data on the data storage device connected to the own processing request execution computer. On the other hand, in the case of the data sharing type, since all the processing request execution computers share the data storage device 1118, any processing request execution computer can access any data.

【0005】処理要求割り付け部1101が各処理要求
実行計算機に対し処理要求を割り付ける方式としては、
例えばあらかじめ与えられた処理要求とその要求を実行
する計算機の対応表を見て、どの処理の場合はどの処理
要求実行計算機に割り当てるかを判断したり、あるい
は、各処理要求実行計算機の負荷状況を調べる手段を付
加して、負荷の小さいと判断した処理要求実行計算機に
処理を割り当てる方式などがある。
As a method for the processing request allocating unit 1101 to allocate processing requests to each processing request execution computer,
For example, by looking at the correspondence table of a given processing request and the computer that executes that request, you can determine which processing request execution computer to assign in the case of processing, or determine the load status of each processing request execution computer. There is a method in which a means for investigating is added and the processing is assigned to the processing request execution computer determined to have a small load.

【0006】例えば、「TUXEDO SYSTEM
Release 4.1 Transaction M
anager Administrator´s Gu
ide」(Prentice Hall)には、処理要
求の持つ引数をみて処理要求実行計算機を決定する方式
が記載されている。
[0006] For example, "TUXEDO SYSTEM
Release 4.1 Transaction M
manager Administrator's Gu
"ide" (Prentice Hall) describes a method of determining the processing request execution computer by looking at the argument of the processing request.

【0007】図38に示した構成のように複数台のデー
タ記憶装置を用いる場合、格納するデータを複数台のデ
ータ記憶装置にどの様に分割して配置するかに関して
は、例えばデータベース・ベンチマーキング(Jim Gray
編 喜連川 優、渡辺栄一監訳日経BP社)に述べられ
ているように、データをデータ記憶装置に対しハッシュ
関数などを用いランダムに配置するもの、データをデー
タ記憶装置に対しラウンドロビン式に配置するもの、デ
ータの値の範囲をデータ格納領域の数に分割しそれらを
一つずつデータ記憶装置に割り当てるものなどがある。
また、データの配置を変更する方式としては、「Dat
a Placement In Bubba、Geor
ge Copeland et.al.、SIGMO
D、Vol.17、No.3、1988」に述べられて
いるように、データアクセスへの情報を基に最適な配置
を計算し再配置を行う方式などがあった。
When a plurality of data storage devices are used as in the configuration shown in FIG. 38, how to divide the data to be stored into the plurality of data storage devices and arrange the data is described in, for example, database benchmarking. (Jim Gray
Edited by Yu Kitsuregawa, Eiichi Watanabe, Nikkei BP Co., Ltd.) Data is randomly arranged in a data storage device by using a hash function, etc. In some cases, the range of data values is divided into the number of data storage areas, and these are assigned to the data storage device one by one.
In addition, as a method for changing the arrangement of data, "Dat
a Placement In Bubba, Geor
ge Copeland et. al. , SIGMO
D, Vol. 17, No. 3, 1988 ”, there is a method of calculating an optimum arrangement based on information for data access and performing the rearrangement.

【0008】ところで、複数台の処理要求実行計算機を
用いて効率良く業務を実行するためには、各処理要求を
その処理のコストの低い処理要求実行計算機に対して割
り付ける必要があり、また複数台のデータ記憶装置を用
いている時にはデータを複数台のデータ記憶装置に分割
して配置させる必要がある。
By the way, in order to efficiently execute a job by using a plurality of processing request execution computers, it is necessary to allocate each processing request to a processing request execution computer whose processing cost is low. When using this data storage device, it is necessary to divide the data into a plurality of data storage devices and arrange them.

【0009】従来、システム管理者は、データ処理装置
内で実行されるアプリケーションプログラムを調べそれ
がどの様なデータをアクセスするかを解析し、なるべく
個々の処理要求の実行が並列に処理されるように、また
個々の処理要求を実行するのに必要なデータはなるべく
その処理要求を実行する処理要求実行計算機内にあるよ
うに、更にはデータ配置とデータ処理装置への各処理要
求の発生頻度等を考慮して各処理要求を実行するに必要
なコストがなるべく小さくなるように、データの分散配
置と処理要求の処理要求実行計算機への割り付け方式を
決定する必要があった。
Conventionally, a system administrator examines an application program executed in a data processing device to analyze what data is accessed by the application program, and preferably executes individual processing requests in parallel. In addition, the data required to execute each processing request is stored in the processing request execution computer that executes the processing request as much as possible, and further, the data allocation and the frequency of occurrence of each processing request to the data processing device, etc. In consideration of the above, it is necessary to determine the distributed arrangement of data and the allocation method of the processing requests to the processing request execution computers so that the cost required to execute each processing request becomes as small as possible.

【0010】しかしながら、データの分散配置、処理要
求の割り付け方式のどちらか一方を決定するだけでも、
システムの性能を十分に発揮させるためにはシステム全
体の動的な特性を解析する必要があり非常に困難であっ
た。
However, even if only one of the distributed arrangement of data and the allocation method of processing requests is determined,
It was very difficult to analyze the dynamic characteristics of the entire system in order to make full use of the system performance.

【0011】[0011]

【発明が解決しようとする課題】この様に、従来のデー
タ管理装置では、データの分散配置および処理要求の割
り付け方法のどちらか一方を最適化するだけでも、シス
テム全体の動的な特性を解析する必要があり非常に困難
であったため、システムの性能を十分に発揮させること
ができないという問題点があった。また、システムの管
理やチューニングに非常に手間が掛かるという問題点が
あった。
As described above, in the conventional data management apparatus, the dynamic characteristics of the entire system can be analyzed by optimizing either one of the data distributed arrangement and the processing request allocation method. Since it is very difficult to do so, there is a problem that the system performance cannot be fully exhibited. In addition, there is a problem that it takes a lot of time to manage and tune the system.

【0012】本発明は、上記事情に鑑みてなされたもの
であり、データ配置を決定するのに必要な情報の作成・
解析を自動的に実行し最適なデータ配置を決定する方式
と各処理要求をどの処理要求実行計算機に割り付けるか
を各処理要求の履歴を基に決定する方式を同時に用い、
これらを協調させる事により、システムの能力を十分に
引き出すことができ、かつシステムの管理やチューニン
グを自動化することのできるデータ処理装置を提供する
ことを目的とする。
The present invention has been made in view of the above circumstances, and creates / creates information necessary for determining data allocation.
Simultaneously using the method of automatically executing the analysis and determining the optimum data arrangement and the method of deciding which processing request execution computer to allocate each processing request based on the history of each processing request,
An object of the present invention is to provide a data processing device which can bring out the system capability sufficiently and can automate system management and tuning by coordinating these.

【0013】[0013]

【課題を解決するための手段】本発明は、処理要求を発
生する少なくとも1つの第1の計算機と、発生された処
理要求を実行する複数の第2の計算機とならなるトラン
ザクション処理システムにおいて、第1の計算機により
発生された処理要求を複数の第2の計算機のいずれかへ
転送する処理要求割付手段と、第2の計算機に接続さ
れ、処理要求の実行に用いられるデータを記憶するデー
タ記憶手段と、この手段に記憶されているデータの配置
を決定し再配置を行う手段とを具備するものである。
The present invention provides a transaction processing system comprising at least one first computer that issues a processing request and a plurality of second computers that execute the issued processing request. Processing request allocating means for transferring a processing request generated by one computer to any of the plurality of second computers, and data storage means for storing data used for executing the processing request, which is connected to the second computer And means for determining the arrangement of the data stored in this means and rearrangement.

【0014】そして、本発明の第1の発明は、前記処理
要求割付手段が、過去の処理要求の実行履歴の情報を獲
得し、この履歴情報に基づいて割付先の第2の計算機を
選択することを特徴とする。
According to a first aspect of the present invention, the processing request allocating means acquires information on an execution history of past processing requests, and selects a second computer as an allocation destination based on the history information. It is characterized by

【0015】一方、本発明の第2の発明は、前記処理要
求割付手段が、前記記憶手段にきおくされるデータの配
置の情報を獲得し、この配置情報に基づいて割付先の第
2の計算機を選択することを特徴とする。
On the other hand, according to a second aspect of the present invention, the processing request allocating means acquires information on an arrangement of data stored in the storage means, and based on the arrangement information, a second computer as an allocation destination. Is selected.

【0016】本発明の第1の発明の好ましい態様は、デ
ータを記憶するための複数のデータ記憶手段と、いずれ
かの前記データ記憶手段と接続され、与えられた処理要
求をアプリケーションプログラムを用いて実行する手段
および該処理要求を実行する該アプリケーションプログ
ラムからの要求に基づき該実行に必要な該データ記憶手
段内のデータへのアクセスを行うとともに該データへの
アクセスの履歴に関する情報を蓄積するデータ管理手段
を夫々有する複数の計算機と、該複数の計算機を相互接
続する結合手段と、この結合手段に接続され、通信路を
介して接続された少なくとも1つの処理要求発生手段か
ら送られた処理要求を受付ける手段、過去の処理要求、
該処理要求を実行した前記計算機、その実行に要したコ
ストを含む実行履歴を蓄積する手段および該処理要求発
生手段から送られた新しい処理要求を受信すると該実行
履歴と比較して実行すべき前記アプリケーションプログ
ラムの存在する前記計算機を選択して該処理要求の実行
を指示する手段を有する処理要求割り付け手段と、前記
計算機上の前記データ管理手段から前記データへのアク
セスの履歴に関する情報を夫々受け取り、該情報を元に
して最適なデータ配置を夫々決定し、該データ管理手段
に対しこの決定したデータ配置に基づくデータの配置の
変更処理の実行を夫々指示するデータ配置決定手段とを
具備してなることを特徴とする。
In a preferred aspect of the first invention of the present invention, a plurality of data storage means for storing data and any one of the data storage means are connected, and a given processing request is made by using an application program. Data management for accessing the data in the data storage means necessary for the execution based on a request from the application program for executing the processing request and the processing request, and accumulating information on a history of access to the data A plurality of computers each having a means, a coupling means for interconnecting the plurality of computers, and a processing request sent from at least one processing request generation means connected to the coupling means and connected via a communication path. Accepting means, past processing request,
The computer that has executed the processing request, a means for accumulating an execution history including a cost required for the execution, and a new processing request sent from the processing request generation means, which should be executed by comparing with the execution history. Processing request allocating means having means for selecting the computer in which an application program exists and instructing execution of the processing request; and receiving information on the history of access to the data from the data managing means on the computer, The data allocation determining means determines the optimum data allocation based on the information, and instructs the data managing means to execute the data allocation changing process based on the determined data allocation. It is characterized by

【0017】本発明の第2の発明の好ましい態様は、デ
ータを記憶するための複数のデータ記憶手段と、いずれ
かの前記データ記憶手段と接続され、与えられた処理要
求をアプリケーションプログラムを用いて実行する手段
および該処理要求を実行する該アプリケーションプログ
ラムからの要求に基づき該実行に必要な該データ記憶手
段内のデータへのアクセスを行うとともに該データへの
アクセスの履歴に関する情報を蓄積するデータ管理手段
を夫々有する複数の計算機と、該複数の計算機を相互接
続する結合手段と、この結合手段に接続され、通信路を
介して接続された少なくとも1つの処理要求発生手段か
ら送られた処理要求を受付ける手段、各計算機に接続さ
れた前記データ記憶手段にはどのようなデータが記憶さ
れているかを表すデータ配置情報を獲得する手段、該処
理要求発生手段から送られた新しい処理要求を受信する
と該データ配置情報と比較して実行すべきアプリケーシ
ョンプログラムの存在する前記計算機を選択して処理要
求の実行を指示する手段を有する処理要求割り付け手段
と、前記計算機上の前記データ管理手段から前記データ
へのアクセスの履歴に関する情報を夫々受け取り、該情
報を元にして最適なデータ配置を夫々決定し、該データ
管理手段に対しこの決定したデータ配置に基づくデータ
の配置の変更処理の実行を夫々指示するデータ配置決定
手段とを具備してなることを特徴とする。
In a preferred aspect of the second aspect of the present invention, a plurality of data storage means for storing data and any one of the data storage means are connected, and a given processing request is made by using an application program. Data management for accessing the data in the data storage means necessary for the execution based on a request from the application program for executing the processing request and the processing request, and accumulating information on a history of access to the data A plurality of computers each having a means, a coupling means for interconnecting the plurality of computers, and a processing request sent from at least one processing request generation means connected to the coupling means and connected via a communication path. Receiving means, indicating what kind of data is stored in the data storage means connected to each computer Means for acquiring data allocation information, and when receiving a new processing request sent from the processing request generating means, compares the data allocation information and selects the computer having an application program to be executed to execute the processing request. Processing request allocating means having means for instructing, and information regarding the history of access to the data from the data managing means on the computer, respectively, and based on the information, determining the optimum data arrangement, respectively, It is characterized by further comprising a data arrangement determining means for respectively instructing the data managing means to execute a data arrangement changing process based on the determined data arrangement.

【0018】好ましくは、第1および第2の発明におい
て、前記データ管理部は、アプリケーションプログラム
の実行に伴うデータ操作要求を受け取り、操作対象のデ
ータが自計算機のデータ記憶装置にある場合は操作要求
を実行し、自計算機にない場合はデータが存在する計算
機のデータ管理部にデータ操作を要求することを特徴と
する。すなわち、アプリケーションプログラムに対して
はすべてのデータに透過にアクセスすることを可能にす
る手段を持たせる。
Preferably, in the first and second inventions, the data management unit receives a data operation request accompanying the execution of an application program, and if the data to be operated is in a data storage device of its own computer, an operation request. Is executed, and when it is not in the own computer, a data operation is requested to the data management unit of the computer where the data exists. That is, the application program is provided with means for transparently accessing all data.

【0019】好ましくは、第1および第2の発明におい
て、前記データ管理部は、前記データ配置決定手段の決
定したデータ配置に従ってデータの配置を変更する手段
を有することを特徴とする。
Preferably, in the first and second aspects of the invention, the data management section has means for changing the data arrangement according to the data arrangement determined by the data arrangement determining means.

【0020】好ましくは、第1および第2の発明におい
て、前記データ配置決定手段が、新しいデータ配置を決
定する処理の開始を指示する手段を有することを特徴と
する。
Preferably, in the first and second aspects of the invention, the data arrangement determining means has means for instructing the start of processing for determining a new data arrangement.

【0021】好ましくは、第2の発明において、前記デ
ータ配置決定手段は、決定した新しいデータの配置をデ
ータ配置情報として前記処理要求割り付け部に知らせる
手段を有することを特徴とする。
[0021] Preferably, in the second invention, the data arrangement determining means includes means for notifying the processing request allocation section of the determined arrangement of the new data as data arrangement information.

【0022】好ましくは、第2の発明において、前記デ
ータ管理部夫々は、管理するデータの情報をデータ配置
情報として前記処理要求割り付け部に知らせる手段を持
つことを特徴とする。
Preferably, in the second invention, each of the data management units has means for notifying the processing request allocation unit of information of data to be managed as data arrangement information.

【0023】好ましくは、第1および第2の発明におい
て、アプリケーションプログラムは、同じものを各計算
機上に配置することを特徴とする。
Preferably, in the first and second inventions, the same application program is arranged on each computer.

【0024】[0024]

【作用】本発明では、処理要求割り付け部は、その処理
要求を実行する最適な計算機すなわち最も小さなコスト
でその処理要求を実行することのできる計算機を選択
し、処理を割り当てる。通常、処理要求の実行に必要な
データを持つ計算機に処理を割り付けた場合に最もコス
トが小さくなるが、データを持たない計算機に割り付け
た場合はリモートのデータへのアクセスが必要となるた
めコストが増大する。このとき、すべてのアプリケーシ
ョンプログラムは、データ管理部を通してすべてのデー
タを透過にアクセスできるようになっているので、必ず
しも絶対に最適な計算機に割り当てられることが保証さ
れていなくても構わない。
According to the present invention, the processing request allocating section selects an optimum computer that executes the processing request, that is, a computer that can execute the processing request at the lowest cost, and allocates the processing. Usually, the cost is lowest when a process is assigned to a computer that has the data required to execute a processing request, but when assigned to a computer that does not have data, the cost is high because it requires access to remote data. Increase. At this time, all the application programs can transparently access all the data through the data management unit, so that it is not always guaranteed that the application programs are assigned to the optimum computers.

【0025】このような処理要求の割り付けを行うと、
データの配置によって各処理要求の実行時間が異なり、
また各計算機の負荷が均衡化したり、しなかったりす
る。そこで、どの処理要求を実行するのにどのデータの
アクセスが必要であったかを示す情報を基に、各処理要
求の実行時間と各計算機の負荷を最適化するデータ配置
を求め、その状態にデータを配置し直す。
When the above processing requests are allocated,
The execution time of each processing request varies depending on the data arrangement,
In addition, the load on each computer may or may not be balanced. Therefore, based on the information indicating which data needs to be accessed to execute which processing request, the data allocation that optimizes the execution time of each processing request and the load on each computer is obtained, and the data is placed in that state. Reposition.

【0026】処理要求割り付け部は、新しいデータ配置
に従って処理要求を割り付けることで、負荷を均衡化す
ることができる。また、各処理要求の実行時間に関して
も最適化される。この様なデータの配置に応じた処理要
求割り付けとデータ再配置とのフィードバックループに
よって、データ処理装置全体の負荷の均衡化が自動化さ
れ、またデータ処理装置全体の性能も向上する。
The processing request allocating section can balance the loads by allocating the processing requests according to the new data arrangement. Also, the execution time of each processing request is optimized. By such a feedback loop of processing request allocation and data rearrangement according to the data arrangement, the load balancing of the entire data processing apparatus is automated and the performance of the entire data processing apparatus is also improved.

【0027】ここで、データの配置に応じた処理要求割
り付けとデータ再配置とのフィードバックループは、各
発明において次のようしてなされる。
Here, a feedback loop for processing request allocation and data relocation according to data placement is performed as follows in each invention.

【0028】第1の本発明では、処理要求割り付け手段
は、処理要求をある計算機に割り付けた結果得られたコ
ストなどを蓄積し、これに基づいて最適な割り付け方を
学習していくとともに、一方、データ配置決定手段は、
データアクセスの履歴を見ながら適宜データ配置を最適
なものに変更する。そして、このデータ配置の変更が、
間接的に処理要求割り付け手段の処理要求割り付け結果
にフィードバックされるのである。
In the first aspect of the present invention, the processing request allocating means accumulates the cost obtained as a result of allocating the processing request to a certain computer, and learns the optimum allocation method based on the accumulated cost. , The data arrangement determining means,
While observing the data access history, change the data layout to the optimum one. And the change of this data arrangement is
It is indirectly fed back to the processing request allocation result of the processing request allocation means.

【0029】第2の発明では、処理要求割り付け手段
は、データ配置情報に基づいて処理要求を各計算機に割
り付るとともに、一方、データ配置決定手段は、データ
アクセスの履歴を見ながら適宜データ配置を最適なもの
に変更する。そして、このデータ配置の変更を、直接的
に処理要求割り付け手段に与えるのである。
In the second invention, the processing request allocating means allocates the processing request to each computer based on the data allocation information, while the data allocation deciding means appropriately allocates the data while observing the data access history. To the optimum one. Then, the change of the data arrangement is directly given to the processing request allocating means.

【0030】このように、本発明のデータ処理装置を用
いれば、複数の処理要求実行計算機を用いて処理を並列
実行する事により高性能なデータ処理が実現できる。ま
た、処理要求の負荷が高い場合でも、その処理要求を実
行するアプリケーションプログラムを複数の処理要求実
行計算機に分散する事により、高負荷のデータ処理にも
対応できる。
As described above, by using the data processing apparatus of the present invention, high-performance data processing can be realized by executing processing in parallel using a plurality of processing request execution computers. Further, even when the load of the processing request is high, by distributing the application program that executes the processing request to a plurality of processing request execution computers, it is possible to handle high-load data processing.

【0031】また、本発明によれば、データ共有型ある
いはデータ分散型のどちらのデータ記憶装置を用いた場
合でも、各アプリケーションプログラムはどの処理要求
実行計算機に接続されているデータ記憶装置上のデータ
にもアクセスできるので、従来の単一計算機上で開発し
たアプリケーションプログラムを変更せずに並列処理を
行うことが可能になる。またこの性質によって、処理要
求割り付け装置は必ずしも毎回最適な処理要求実行計算
機を選び出せる決定的なアルゴリズムではなく、最適で
ない処理要求実行計算機を選ぶ場合も存在するような確
率的なアルゴリズムを用いて処理要求の割り付けを行う
ことができる。
Further, according to the present invention, no matter which data storage device of the data sharing type or the data distribution type is used, each application program stores data in the data storage device connected to which processing request execution computer. Since it can also be accessed, it becomes possible to perform parallel processing without changing the application program developed on the conventional single computer. Also, due to this property, the processing request allocation device is not necessarily a deterministic algorithm that can select the optimal processing request execution computer every time, but uses a probabilistic algorithm that may exist when selecting a non-optimal processing request execution computer. Requests can be assigned.

【0032】更にデータ配置決定部によるデータの自動
最適配置によって、どのような処理要求がどのような頻
度で発生するかといった動的な特性に対して、それに対
する最適なデータの分割配置を行うことができ各処理要
求の実行性能が向上する。また、そのデータ配置に従っ
て、処理要求割り付け部は各処理要求をそれを実行する
のに適した処理要求実行計算機に割り付けるので、デー
タの分散配置の決定や処理要求の割り付け方法を与えな
くても自動的に処理の負荷分散ができ、データ処理装置
全体のチューニングも自動化でき、システム管理も容易
になる。
Further, by the automatic optimum allocation of data by the data allocation determining unit, optimum data division allocation is performed for dynamic characteristics such as what processing request occurs at what frequency. The execution performance of each processing request is improved. In addition, according to the data allocation, the processing request allocation unit allocates each processing request to the processing request execution computer suitable for executing the processing request, so that automatic allocation is possible without determining the data distribution allocation and processing request allocation method. The processing load can be balanced, tuning of the entire data processing device can be automated, and system management becomes easy.

【0033】また、処理要求割り付け部における最適な
割り付け戦略が明らかでない場合や、最適なデータの分
散配置が明らかではない場合でも、処理の負荷分散がう
まく行われない可能性は存在するもののデータ処理装置
としては動作することができる。
Further, even if the optimum allocation strategy in the processing request allocation unit is not clear or the optimum data distribution arrangement is not clear, there is a possibility that the processing load distribution will not be successful, but data processing It can operate as a device.

【0034】[0034]

【実施例】以下、図面を参照しながら本発明の実施例を
説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0035】各構成要素(ブロック)に付した参照番号
のうち「i−j」「i−j−k」(例えば102−1)
の形のものは、「i」が同一のものは同様の構成を有す
るものであることを表す。また、参照番号iを付したブ
ロックの個々を区別する必要のない場合など、適宜「−
j」「−j−k」を省略して記述する。
Of the reference numbers given to the respective constituent elements (blocks), "i-j" and "i-j-k" (for example, 102-1)
The ones in the form of indicate that the same "i" have the same configuration. In addition, when it is not necessary to distinguish each of the blocks with the reference number i, “-
The description will be made by omitting "j" and "-j-k".

【0036】(第1の実施例)図1に、本発明の第1の
実施例の構成を示す。
(First Embodiment) FIG. 1 shows the configuration of a first embodiment of the present invention.

【0037】図1のデータ処理装置は、m(mは2以
上)台の処理要求実行用の計算機(処理要求実行計算
機)110−1〜110−mと、フロントエンド処理用
の計算機(フロントエンド計算機)111と、フロント
エンド計算機111と各処理要求実行計算機110−1
〜110−mとを相互接続する結合路114と、各処理
要求実行計算機110−1〜110−mに接続されてデ
ータを記憶するデータ記憶装置118−1〜118−m
とから構成されている。なお、図1ではフロントエンド
計算機は1台であるが並列に複数台設けても良い。ま
た、データ記憶装置はすべての処理要求実行計算機では
なくそのうちの一部にだけローカルに設けても良い(デ
ータ記憶装置は1台だけでも良い)。
The data processing apparatus shown in FIG. 1 includes m (m is 2 or more) computers for executing processing requests (processing request executing computers) 110-1 to 110-m and front-end processing computers (front end). Computer) 111, front-end computer 111, and each processing request execution computer 110-1
To 110-m, and data storage devices 118-1 to 118-m connected to the processing request execution computers 110-1 to 110-m and storing data.
It consists of and. In FIG. 1, the number of front-end computers is one, but a plurality of computers may be provided in parallel. Further, the data storage device may be provided locally in only a part of all the processing request execution computers (there may be only one data storage device).

【0038】このように複数台の処理要求実行計算機を
用いることによって、並列処理による高性能なデータ処
理が実現できる。また、処理要求の負荷を複数の処理要
求実行計算機に分散して、高負荷のデータ処理に対応で
きる。
By using a plurality of processing request execution computers in this way, high-performance data processing by parallel processing can be realized. Further, the load of processing requests can be distributed to a plurality of processing request execution computers to handle high-load data processing.

【0039】フロントエンド計算機111は、処理要求
を発生するn(nは1以上)台の各処理要求発生部10
2−1〜102−nと通信路115を介して接続され、
処理要求発生部102−1〜102−nから送られてく
る処理要求を受信し、それを実行すべきアプリケーショ
ンプログラム116−1〜116−mの存在する処理要
求実行計算機110−1〜110−mを選択し、該処理
要求の実行を指示する処理要求割り付け部101を持
つ。
The front-end computer 111 includes n (n is 1 or more) processing request generating units 10 for generating processing requests.
2-1 to 102-n are connected via a communication path 115,
The processing request execution computers 110-1 to 110-m that receive the processing requests sent from the processing request generation units 102-1 to 102-n and have the application programs 116-1 to 116-m to execute the processing requests. And has a processing request allocation unit 101 for instructing execution of the processing request.

【0040】処理要求発生部102としては、端末装置
や計算機あるいは自動現金支払機など種々のものが考え
られる。
As the processing request generation unit 102, various types such as a terminal device, a calculator, an automatic cash dispenser, etc. can be considered.

【0041】各処理要求実行計算機110−1〜110
−mは、処理要求を実行するアプリケーションプログラ
ム116−1〜116−m、アプリケーションプログラ
ム116−1〜116−mの実行に必要なデータ記憶装
置118−1〜118−m上のデータの操作を行うデー
タ管理部117−1〜117−mを夫々持つ。
Each processing request execution computer 110-1 to 110
-M operates the application programs 116-1 to 116-m that execute processing requests, and the data on the data storage devices 118-1 to 118-m that are necessary to execute the application programs 116-1 to 116-m. Each has data management units 117-1 to 117-m.

【0042】処理要求実行計算機110−1〜110−
mのうちの1つは、データ配置管理部120を持つ。こ
のデータ配置管理部120は、各処理要求実行計算機1
10−1〜110−m内部のデータ管理部117−1〜
117−m夫々と協調して動作するものであり、各デー
タ管理部117−1〜117−mからデータアクセスに
関する情報を受け取り、その情報を基に最適なデータ配
置を計算し、その結果に従って各処理要求実行計算機1
10−1〜110−mにデータの配置の変更を指示す
る。なお、データ配置管理部120およびデータ管理部
117のより具体的な内部構成については後述する。
Processing request execution computers 110-1 to 110-
One of m has a data placement management unit 120. This data arrangement management unit 120 is provided for each processing request execution computer 1
10-1 to 110-m internal data management section 117-1 to
117-m operates in cooperation with each other, receives information regarding data access from each of the data management units 117-1 to 117-m, calculates an optimum data arrangement based on the information, and calculates each according to the result. Processing request execution computer 1
Instruct 10-1 to 110-m to change the data arrangement. A more specific internal configuration of the data arrangement management unit 120 and the data management unit 117 will be described later.

【0043】本実施例においては、データ配置決定部1
20は処理要求実行計算機110の1台に配設したが、
その替わりにフロントエンド計算機111上に1台設け
ても、フロントエンド計算機111および処理要求実行
計算機110の他に設けた計算機上に1台設けても、こ
れら計算機のいずれか複数台上に夫々設けても良い。
In this embodiment, the data arrangement determining unit 1
Although 20 is arranged in one of the processing request execution computers 110,
Instead, one unit may be provided on the front-end computer 111, or one unit may be provided on a computer provided in addition to the front-end computer 111 and the processing request execution computer 110, or one may be provided on any one of these computers. May be.

【0044】データ記憶装置を複数台用いる場合は、デ
ータは分割されて各データ記憶装置118−1〜118
−mに格納される。データの分割に際しては、例えばキ
ーによりデータを分類して各計算機に格納させることが
できる。また、この場合、データの一部あるいは全体の
複製を作成し、複製を元のデータが格納されているデー
タ記憶装置と異なるデータ格納装置に格納することによ
り、耐障害性を向上させることも可能である。
When a plurality of data storage devices are used, the data is divided into data storage devices 118-1 to 118.
Stored in -m. When dividing the data, the data can be sorted by a key and stored in each computer, for example. In this case, fault tolerance can also be improved by creating a copy of some or all of the data and storing the copy in a data storage device different from the data storage device in which the original data is stored. Is.

【0045】データ記憶装置118としては、ハードデ
ィスク、半導体メモリ等を用いる事ができる。また、マ
グネティックテープ、フロッピーディスク、CD−RO
M、MO等を用いる事も可能である。
A hard disk, a semiconductor memory or the like can be used as the data storage device 118. In addition, magnetic tape, floppy disk, CD-RO
It is also possible to use M, MO and the like.

【0046】データ記憶装置内にデータを分散して配置
する場合には、データを単に重なり無く分割して配置す
る事も可能であるが、データの一部あるいは全てに対し
冗長性を持たせて元のデータとその複製を異なるデータ
記憶装置内に配置する事によって、データ処理装置の耐
障害性を向上させる事も可能である。
When the data is distributed and arranged in the data storage device, it is possible to arrange the data by simply dividing the data without overlapping, but by providing redundancy to some or all of the data. By arranging the original data and its copy in different data storage devices, it is possible to improve the fault tolerance of the data processing device.

【0047】次に、図1のデータ処理装置の動作を説明
する。
Next, the operation of the data processing apparatus shown in FIG. 1 will be described.

【0048】処理要求発生部102−1〜102−nの
いずれかにより出力された処理要求は、通信路115を
通してフロントエンド計算機111上の処理要求割り付
け部101に送られる。処理要求割り付け部101は、
処理要求実行計算機110−1〜110−mのうちか
ら、その処理要求を実行するのに最適なものを選択して
処理を割り付ける。
The processing request output by any one of the processing request generation units 102-1 to 102-n is sent to the processing request allocation unit 101 on the front end computer 111 through the communication path 115. The processing request allocation unit 101
From among the processing request execution computers 110-1 to 110-m, the optimum one for executing the processing request is selected and the processing is assigned.

【0049】処理要求を実行するのに最適な処理要求実
行計算機とは、その処理要求を最も小さなコストで実行
できる処理要求実行計算機である。コストは、例えばそ
の処理要求を実行するのに必要な時間で表すことができ
る。あるいは、その処理を実行するのに必要な通信回数
などでコストを表すこともできる。
The optimum process request execution computer for executing the process request is the process request execution computer that can execute the process request at the lowest cost. The cost can be represented, for example, by the time required to execute the processing request. Alternatively, the cost can be expressed by the number of communications required to execute the process.

【0050】処理要求を実行する処理要求実行計算機を
選択する方式は、後述するように、「過去に、どの様な
処理要求を、どの処理要求実行計算機で実行したら、ど
れくらいのコストがかかったか」を表す実行履歴を蓄積
する手段を設け、新しい処理要求が到着すると、その処
理要求を実行履歴と照らし合わせて、どの処理要求実行
計算機で実行すると最小のコストで実行できるかを判断
する方式を用いることができる。この方式では、過去の
実行履歴を基に最適な処理要求実行計算機を選択するた
め、必ず最適なものが選択される保証はなく、最適なも
のが選択されるか否かは確率的なものとなる。このよう
な確率的な方式を使用できるのは、後述するように、ど
の処理要求実行計算機上のアプリケーションプログラム
からもすべてのデータに透過にアクセスできるように構
成していることによる。
As will be described later, the method of selecting the processing request execution computer for executing the processing request is "how much cost in the past, which processing request execution computer was executed by which processing request execution computer?" By providing a means for accumulating an execution history that represents the execution request, when a new processing request arrives, the processing request is compared with the execution history to determine which processing request execution computer should be executed at the lowest cost. be able to. In this method, the optimum processing request execution computer is selected based on the past execution history, so there is no guarantee that the optimum one will be selected, and it is probabilistic whether or not the optimum one will be selected. Become. The reason why such a probabilistic method can be used is that all the data can be transparently accessed from an application program on any processing request execution computer, as will be described later.

【0051】どのデータがどの処理要求実行計算機のデ
ータ記憶装置にあるかによって、決定的なアルゴリズム
で最適な処理要求実行計算機を選択することができる場
合には、処理要求割り付け装置にそのようなアルゴリズ
ムをプログラムとして組み込む方法もある。
When the optimum processing request executing computer can be selected by a deterministic algorithm depending on which data is stored in the data storage device of which processing request executing computer, the algorithm for the processing request allocating device is used. There is also a method of incorporating as a program.

【0052】なお、処理要求割り付け部101のより具
体的な内部構成については後述する。
A more specific internal structure of the processing request allocation unit 101 will be described later.

【0053】さて、処理要求実行計算機110−1〜1
10−mに割り付けられた処理要求は、その処理要求実
行計算機上に配置されたアプリケーションプログラム1
16によって実行される。後述するように、どの処理要
求実行計算機110−1〜110−m上のアプリケーシ
ョンプログラム116−1〜116−mからもすべての
データに透過にアクセスできるように構成しているた
め、アプリケーションプログラム116−1〜116−
mとしては、どの処理要求実行計算機110−1〜11
0−mにも同一のものを配置して構わない。したがっ
て、従来の単一計算機上で開発したアプリケーションプ
ログラムを変更せずに並列処理を行うことが可能であ
る。
Now, the processing request execution computers 110-1 to 110-1
The processing request assigned to 10-m corresponds to the application program 1 arranged on the processing request execution computer.
16 is executed. As will be described later, since all the data are transparently accessible from the application programs 116-1 to 116-m on any of the processing request execution computers 110-1 to 110-m, the application program 116- 1-116-
As m, which processing request execution computer 110-1 to 11
The same thing may be arranged in 0-m. Therefore, it is possible to perform parallel processing without changing the application program developed on the conventional single computer.

【0054】データ管理部117−1〜117−mは、
アプリケーションプログラム116−1〜116−mか
らその実行に伴って必要となるデータ操作要求を受け取
って実行する。このとき操作対象のデータが自処理要求
実行計算機110のデータ記憶装置118上になけれ
ば、そのデータを持つ処理要求実行計算機110のデー
タ管理部117に操作を依頼する。自計算機110にあ
る場合には、ローカルに操作を行う。このようなデータ
操作は、通常、キーによって操作対象のデータを指定す
る。「キーの値がどの範囲ならば、どの処理要求実行計
算機にデータの実体があるか」を記録する表を持たせる
ことによって、データ操作をローカルに行うか他の処理
要求実行計算機のデータ管理部117に依頼するかを判
断することができる。ローカルに操作を行う場合の処理
方式は、例えば「データベースシステム入門技術解説、
滝沢 誠著、ソフトリサーチセンター、ISBN4−9
15778−07−x」に開示されている。
The data management units 117-1 to 117-m are
It receives a data operation request necessary for its execution from the application programs 116-1 to 116-m and executes it. At this time, if the data to be operated is not in the data storage device 118 of the own processing request execution computer 110, the data management unit 117 of the processing request execution computer 110 having the data is requested to perform the operation. If it is in the local computer 110, it is operated locally. In such a data operation, data to be operated is usually designated by a key. Whether a data operation is performed locally by having a table that records "what range of key value is in which processing request execution computer has the substance of the data" or data management unit of another processing request execution computer It is possible to determine whether to request 117. The processing method when operating locally is, for example, "Technical introduction to database systems,
Makoto Takizawa, Soft Research Center, ISBN4-9
15778-07-x ".

【0055】データ配置決定部120は、各処理要求実
行計算機110−1〜110−mのデータ管理部117
−1〜117−mから、「どの処理要求の実行にはどの
データへのアクセスが必要であったか」という情報とそ
の処理要求の頻度情報等からなる統計情報を収集する。
そのため、データ配置決定部120は、各処理要求実行
計算機110と結合路114を通じて結合されている計
算機であれば、どの計算機上に存在していても構わな
い。図1の例では処理要求実行計算機のひとつに存在し
ているが、フロントエンド計算機111の上でも構わな
いし、新たな計算機を結合路114に接続してその上に
置いても構わない。
The data arrangement determination unit 120 is a data management unit 117 of each of the processing request execution computers 110-1 to 110-m.
From -1 to 117-m, statistical information including information "which data needs to be accessed to execute which processing request" and frequency information of the processing request is collected.
Therefore, the data allocation determination unit 120 may exist on any computer as long as it is a computer that is coupled to each processing request execution computer 110 through the coupling path 114. Although it exists in one of the processing request execution computers in the example of FIG. 1, it may be on the front-end computer 111, or a new computer may be connected to the connection path 114 and placed on it.

【0056】データ配置決定部120は、後述するよう
に、各データ管理部117−1〜117−mから集めた
統計情報を基にデータをどのように配置すると各処理要
求実行計算機110−1〜110−mの負荷が均衡化さ
れ、かつ個々の処理要求の実行に要するコストを小さく
できるかを考えて、最適なデータ配置を求める。その結
果に基づいて各データ管理部117−1〜117−mの
管理するデータを移動することで、最適なデータ配置に
なる。このデータの移動は、データ配置決定部120が
各処理要求実行計算機110上のデータ管理部117に
指示することにより行うことができる。また、データ配
置決定部120が求めた新しいデータ配置に従って、人
手でデータを移動するような実施方法も可能である。
As will be described later, the data arrangement determining unit 120 determines how to arrange the data based on the statistical information collected from the respective data managing units 117-1 to 117-m. Optimal data allocation is determined by considering whether the load of 110-m is balanced and the cost required to execute each processing request can be reduced. By moving the data managed by each of the data management units 117-1 to 117-m based on the result, the optimum data arrangement is achieved. This data movement can be performed by the data allocation determination unit 120 instructing the data management unit 117 on each processing request execution computer 110. Further, an implementation method of manually moving the data according to the new data layout determined by the data layout determination unit 120 is also possible.

【0057】データ配置決定部120がデータの最適な
配置を決定してデータの再配置を行うタイミングは、オ
ペレータがデータ配置決定部120に指示することによ
って行う方法、データ配置決定部120が予め決められ
た時間間隔で行う方法、データ配置決定部120が予め
決められた量の統計情報を収集すると行う方法、統計情
報から各処理要求実行計算機110のデータアクセスの
回数に偏りが認められるようになった時点で行う方法、
各処理要求実行計算機110の負荷情報に偏りが生じた
ら行う方法、処理要求割り付け部101が処理要求を割
り付ける処理要求実行計算機110に偏りが生じたらデ
ータ配置決定部120に再配置を指示する方法など、種
々の方法が可能である。
The timing at which the data arrangement determining unit 120 determines the optimum arrangement of data and rearranges the data is determined by a method in which the operator instructs the data arrangement determining unit 120 and by the data arrangement determining unit 120 in advance. From the statistical information, the method of performing at a predetermined time interval, the method of performing when the data allocation determining unit 120 collects a predetermined amount of statistical information, and the statistical information show a bias in the number of data access of each processing request execution computer 110. How to do it when
A method to perform when there is a bias in the load information of each processing request execution computer 110, a method to instruct the data allocation determination unit 120 to perform relocation when the processing request allocation computer 101 allocates a processing request to a processing request execution computer 110, etc. Various methods are possible.

【0058】データ配置決定部120によるデータの自
動最適配置によって、各処理要求の頻度や個々の処理要
求のアクセスするデータの変化といった様なシステム全
体の動的な特性に対し、その変化に追従して最適なデー
タ配置とする事が可能になる。さらに、そのデータ配置
に従って、処理要求割り付け部101は各処理要求をそ
れを実行するのに適した処理要求実行計算機110に割
り付けるので、データ配置の変更の度に新たなデータの
配置やその配置に基づいた処理要求の割り付け方法を与
えなくても自動的に処理の負荷分散ができ、更にはデー
タ処理装置全体のチューニングも自動化でき、システム
管理も容易になる。
By the automatic optimal allocation of data by the data allocation determining unit 120, the dynamic characteristics of the entire system such as the frequency of each processing request and the access data of each processing request can be tracked. It is possible to optimize the data layout. Further, according to the data allocation, the processing request allocation unit 101 allocates each processing request to the processing request execution computer 110 suitable for executing the processing request, so that new data allocation and its allocation are performed each time the data allocation is changed. The load of processing can be automatically distributed without giving a method for allocating processing requests based on it. Furthermore, the tuning of the entire data processing apparatus can be automated, and system management becomes easy.

【0059】また、処理要求割り付け部101における
最適な割り付け戦略が明らかでない場合や、最適なデー
タの分散配置が明らかではない場合でも、データを取り
敢えず分散して配置しておけば、処理の負荷分散がうま
く行われない可能性は存在するものの、データ処理装置
としては動作することが保証される。
Further, even if the optimum allocation strategy in the processing request allocation unit 101 is not clear, or even if the optimum distributed arrangement of data is not clear, it is possible to distribute the processing load by allocating the data in a distributed manner. Although there is a possibility that the operation will not be successful, it is guaranteed to operate as a data processing device.

【0060】図1のデータ処理装置の例ではフロントエ
ンド計算機111は1つであるが、図2に示すように、
夫々が処理要求割り付け部101−1〜101−lを有
する複数のフロントエンド計算機111−1〜111−
lを用いることもできる。複数台のフロントエンド計算
機111−1〜111−lを通信路115と結合路11
4の間に置くことによって、1台のフロントエンド計算
機111が故障した場合は別のフロントエンド計算機1
11で代替することにより、耐障害性が向上する。
In the example of the data processor of FIG. 1, the number of front-end computers 111 is one, but as shown in FIG.
A plurality of front-end computers 111-1 to 111-, each having processing request allocation units 101-1 to 101-l.
It is also possible to use l. A plurality of front end computers 111-1 to 111-l are connected to the communication path 115 and the connection path 11
If one front-end computer 111 fails, another front-end computer 1
By replacing with 11, the fault tolerance is improved.

【0061】また、フロントエンド計算機1台では処理
要求割り付け部の処理に必要な性能が得られない場合、
複数台を用いて負荷を分散することができる。また、複
数の処理要求発生部を収容する通信路を複数に分割し、
複数台のフロントエンド計算機をそれぞれ異なる通信路
に結合する方法も可能である。
Further, when the performance required for the processing of the processing request allocating unit cannot be obtained with one front-end computer,
The load can be distributed by using multiple units. In addition, the communication path accommodating a plurality of processing request generation units is divided into a plurality of
A method of connecting a plurality of front-end computers to different communication paths is also possible.

【0062】本実施例のデータ処理装置は、オンライン
トランザクション処理にもそうでないオンライン処理に
も適用できる。
The data processing apparatus of this embodiment can be applied to online transaction processing and other online processing.

【0063】ここで、データの配置を固定した上で、各
処理要求をどの処理要求実行計算機に対して割り付ける
かということだけを動的に決定する手法を用いて各処理
要求をどの処理要求実行計算機に対して割り付けるかを
動的に決定する場合を考えると、個々の処理要求の必要
とするデータが必ずしもその処理要求実行計算機内にあ
るように処理要求を割り付ける事ができないため、シス
テムの性能が十分に発揮できない。システムの性能を十
分に発揮させるためには、新たに決定された処理要求の
割り付け方等に基づいて、データの配置をどうすべきか
を決定し、システム管理者自身がデータを再配置する必
要がある。このため、システム管理に非常に手間がかか
る。
Here, after fixing the data arrangement, each processing request is executed by using a method of dynamically determining only to which processing request executing computer the processing request is allocated. Considering the case of dynamically deciding whether to allocate to a computer, it is not possible to allocate processing requests so that the data required by each processing request is in the processing request execution computer, so system performance Can not be fully exerted. In order to maximize the performance of the system, it is necessary for the system administrator to reallocate the data by deciding how to allocate the data based on the newly determined allocation method of processing requests. is there. Therefore, it takes a lot of time to manage the system.

【0064】一方、処理要求の実行できる業務計算機が
予め決定されていた場合には、動的な特性に基づいてデ
ータ配置を決定する方法、例えば「Data Plac
ement In Bubba、George Cop
eland et.al.、SIGMOD、Vol.1
7、No.3、1988」に述べられているように、フ
ァイルへのアクセスを監視し、ファイルを人手により移
動する方法によってデータアクセスの動的な特性を基に
データの配置を変えたとしても、当初処理要求の割り付
け方式を決定する時に用いたデータの配置と異なるた
め、各処理要求の必要とするデータが当該処理要求を実
行する処理要求実行計算機内にあるとは限らなくなるた
めにやはりシステムの性能が十分に発揮できない。シス
テムの性能を十分に発揮させるには、新たなデータ配置
と各処理要求の発生頻度等を考慮して新たに各処理要求
をどの処理要求実行計算機に割り付けるかを決定する必
要がある。このため、システム管理に非常に手間が掛か
る。
On the other hand, when the business computer that can execute the processing request has been determined in advance, a method for determining the data arrangement based on the dynamic characteristics, for example, "Data Plac"
element In Bubba, George Cop
eland et. al. , SIGMOD, Vol. 1
7, No. 3, 1988 ”, the access to the file is monitored, and even if the arrangement of the data is changed based on the dynamic characteristic of the data access by the method of manually moving the file, the initial processing request is required. Since the data allocation used when deciding the allocation method is different, the data required by each processing request is not necessarily in the processing request execution computer that executes the processing request, so the system performance is sufficient. Can not be demonstrated to. In order to make full use of the performance of the system, it is necessary to decide which processing request execution computer to newly allocate each processing request in consideration of the new data arrangement and the occurrence frequency of each processing request. Therefore, system management is extremely troublesome.

【0065】本実施例(あるいは後述する各実施例)で
は、処理要求を実行する最適な計算機すなわち最も小さ
なコストでその処理要求を実行することのできる計算機
を選択し処理を割り当てる処理要求割り付け手段と、デ
ータの自動最適配置を行うデータ配置決定手段とを設
け、データの配置に応じた処理要求割り付けとデータ再
配置とのフィードバックループを形成させることで、デ
ータの配置と処理要求の割り付けの両方を動的に最適化
することを可能にしているのである。
In the present embodiment (or each of the embodiments described later), a processing request allocating means for selecting an optimum computer for executing the processing request, that is, a computer capable of executing the processing request at the lowest cost and allocating the processing is provided. By providing a data allocation determining unit that performs automatic optimum allocation of data and forming a feedback loop of processing request allocation and data relocation according to data allocation, both data allocation and processing request allocation can be performed. It makes it possible to optimize dynamically.

【0066】(第2の実施例)図3に、本発明の第2の
実施例の構成を示す。
(Second Embodiment) FIG. 3 shows the configuration of the second embodiment of the present invention.

【0067】図3に示すデータ処理装置と図1のデータ
処理装置との違いは、データ記憶装置118の接続方式
にある。図3のデータ処理装置では、すべての処理要求
実行計算機110−1〜110−mが1つのデータ記憶
装置118を共有している。本方式においては、各処理
要求実行計算機110−1〜110−mはデータ記憶装
置118内の任意のデータにアクセスすることが可能で
ある。
The difference between the data processing device shown in FIG. 3 and the data processing device of FIG. 1 lies in the connection system of the data storage device 118. In the data processing device of FIG. 3, all the processing request execution computers 110-1 to 110-m share one data storage device 118. In this method, each of the processing request execution computers 110-1 to 110-m can access any data in the data storage device 118.

【0068】図3の各処理要求実行計算機110−1〜
110−m内のデータ管理部117−1〜117−m
は、まず自分がアクセスしようとするデータを他のデー
タ管理部117がアクセスしているかを調べる。もしも
他のデータ管理部117がアクセスしていない場合に
は、まずそのデータを自データ管理部117内に用意し
た領域に読み込み、その上で必要な操作を行う。データ
管理部117は必要な処理を行った後、データをデータ
記憶装置118内に戻す事も可能であるが、再度同じデ
ータをアクセスする可能性が高い場合には、データを書
き戻さずに自データ管理部117内の領域に保持したま
まにする事もできる。この場合、他のデータ管理部11
7は、そのデータに対し直接アクセスする事はできなく
なり、このデータ管理部117に対し処理を依頼する事
になる。
Each processing request execution computer 110-1 to 110-1 in FIG.
Data management units 117-1 to 117-m in 110-m
First, it checks whether the other data management unit 117 is accessing the data that the user wants to access. If the other data management unit 117 is not accessing, the data is first read into the area prepared in the own data management unit 117, and the necessary operation is performed on it. The data management unit 117 can return the data to the data storage device 118 after performing the necessary processing. However, if there is a high possibility that the same data will be accessed again, the data management unit 117 does not write back the data. It is also possible to keep it held in the area within the data management unit 117. In this case, the other data management unit 11
7 cannot directly access the data, and requests the data management unit 117 for processing.

【0069】このため本実施例のような場合には、デー
タ配置決定部120は、「データ記憶装置118内のど
こにデータを配置するか」ではなく、「どの処理要求実
行計算機のデータ管理部117が、どのデータを、当該
データ管理部117内の領域内に保持したままでも良い
か」を決定する。
Therefore, in the case of the present embodiment, the data allocation determining unit 120 does not ask "where in the data storage device 118 the data should be allocated" but "the data management unit 117 of which processing request executing computer". However, which data may be retained in the area within the data management unit 117? ”Is determined.

【0070】本実施例は、本発明の方式が、図1に示す
ようなデータ非共有型のデータ処理装置だけではなく、
データ共有型あるいはディスク共有型のデータ処理装置
にも適用可能であることを示している。
In this embodiment, the system of the present invention is not limited to the data non-shared data processing device as shown in FIG.
It is shown that it is also applicable to a data sharing type or disk sharing type data processing device.

【0071】(第3の実施例)図4に、本発明の第3の
実施例の構成を示す。
(Third Embodiment) FIG. 4 shows the configuration of the third embodiment of the present invention.

【0072】図4に示すデータ処理装置は、図1のデー
タ処理装置においてフロントエンド計算機111上にあ
った処理要求割り付け部101を、各処理要求実行計算
機110−1〜110−m上に持たせるようにしたもの
である。
In the data processing apparatus shown in FIG. 4, the processing request allocating unit 101, which was on the front-end computer 111 in the data processing apparatus of FIG. 1, is provided on each of the processing request execution computers 110-1 to 110-m. It was done like this.

【0073】各処理要求実行計算機110−1〜110
−mの処理要求割り付け部101−1〜101−mは、
夫々通信路115−1〜115−mを介して複数の処理
要求発生部102と接続されている。図4の例のように
各処理要求実行計算機110−1〜110−mは、それ
ぞれ別の通信路115−1〜115−mに接続する代わ
りに、すべての処理要求実行計算機あるいはそのうちの
何台かが同一の通信路に接続されていても構わない(通
信路は、ただ1つでも構わない)。
Each processing request execution computer 110-1 to 110
-M processing request allocation units 101-1 to 101-m
The plurality of processing request generation units 102 are connected via the communication paths 115-1 to 115-m, respectively. As in the example of FIG. 4, each processing request execution computer 110-1 to 110-m is connected to different communication paths 115-1 to 115-m, but instead of all processing request execution computers or some of them. May be connected to the same communication path (there may be only one communication path).

【0074】データ記憶装置118は、図3と同様、す
べての処理要求実行計算機110−1〜110−mで共
有するような方法も可能である。
As in the case of FIG. 3, the data storage device 118 may be shared by all the processing request execution computers 110-1 to 110-m.

【0075】(第1〜第3の実施例のデータ配置決定部
120およびデータ管理部117の具体例)次に、第1
〜第3の実施例のデータ配置決定部120およびデータ
管理部117の具体例を示す。図5は、データ管理部1
20およびデータ配置決定部117の概略構成図であ
る。このように、データ配置決定部120は、相関情報
記憶表202、相関情報管理部203、データ配置決定
部204から構成され、データ管理部117は、アクセ
ス要求受信部201、データ格納情報記憶部205、デ
ータ配置変更部206、データアクセス部207から構
成される。なお、図5中では、結合路114、通信路1
15、処理要求割り付け部101、処理要求発生部10
2は省いてある。また、アプリケーションプログラム1
16は、1つでも複数個でも良いが、図中では1つのみ
示してある。データ記憶装置118は、処理要求実行計
算機110にローカルに接続されたものでも、複数の処
理要求実行計算機110に共有されたものでも良い。
(Specific Examples of Data Placement Determining Unit 120 and Data Managing Unit 117 of First to Third Embodiments) Next, the first
~ Specific examples of the data arrangement determination unit 120 and the data management unit 117 of the third embodiment will be shown. FIG. 5 shows the data management unit 1.
20 is a schematic configuration diagram of 20 and a data arrangement determination unit 117. FIG. As described above, the data allocation determination unit 120 is composed of the correlation information storage table 202, the correlation information management unit 203, and the data allocation determination unit 204, and the data management unit 117 includes the access request reception unit 201 and the data storage information storage unit 205. , A data arrangement changing unit 206 and a data access unit 207. In addition, in FIG. 5, the coupling path 114 and the communication path 1
15, processing request allocation unit 101, processing request generation unit 10
2 is omitted. In addition, application program 1
Although 16 may be one or plural, only one is shown in the drawing. The data storage device 118 may be locally connected to the processing request execution computer 110 or may be shared by a plurality of processing request execution computers 110.

【0076】以下では、説明の便宜上、データ管理部1
20およびデータ配置決定部117のことを、データ管
理装置と呼ぶこととする。
In the following, for convenience of explanation, the data management unit 1
20 and the data arrangement determination unit 117 will be referred to as a data management device.

【0077】このデータ管理装置は、概略的には、計算
機等から、複数の異なるデータ格納領域に分散して格納
されているデータへのアクセスを要する処理要求が送信
されてくると、まず、これを受け取り、特定の複数のデ
ータが一連の処理内で共にアクセスされたことを示すデ
ータ相互の相関情報を更新する。
In general, this data management apparatus first receives a processing request from a computer or the like that requires access to data stored in a distributed manner in a plurality of different data storage areas. Is received, and the mutual correlation information of the data indicating that the specific plurality of data have been accessed together in a series of processing is updated.

【0078】ここに、一連の処理とは、所定の開始時点
より所定の終了時点までの間に行なわれた処理のことで
ある。例えばあるプロセスが生成されてから終了するま
でを一連の処理として扱うことも可能であるし、あるい
はそのプロセスが入力に応じて異なる処理をする時には
その処理毎を一連の処理と定義することもできる。ある
いはまたそのプロセスの動作を複数に分割し、それらを
それぞれ一連の処理と定義することも可能である。さら
にはトランザクションとして実行される処理を一連の処
理と定義することも可能である。また特定の処理以外は
全て同じように定義することも可能である。あるいは所
定の開始時刻から終了時刻の間に実行されたものを全て
一連の処理とすることも可能である。
Here, the series of processes means processes performed from a predetermined start time to a predetermined end time. For example, it is possible to treat a process as a series of processes from its creation to its termination, or when that process performs different processes according to input, each process can be defined as a series of processes. . Alternatively, it is also possible to divide the operation of the process into a plurality of parts and define each as a series of processing. Furthermore, it is possible to define a process executed as a transaction as a series of processes. Further, it is possible to define the same except for specific processing. Alternatively, all the processes executed between the predetermined start time and end time can be set as a series of processes.

【0079】上記の処理要求を受け取るごとにデータ相
互の相関情報を更新する操作を繰り返し、システムにお
ける相関情報に関する情報を十分に獲得した後、この相
関情報とデータが格納されているデータ格納領域を示す
データ格納情報を基にして、システムの特性に適合した
前記データ格納領域内の新しいデータ配置を決定する。
Each time the above processing request is received, the operation of updating the mutual correlation information of data is repeated, and after sufficiently acquiring the information on the correlation information in the system, the correlation information and the data storage area in which the data is stored are changed. Based on the data storage information shown, a new data arrangement in the data storage area that matches the characteristics of the system is determined.

【0080】したがって、このようなデータ管理方法に
よれば、複数のデータ格納領域に格納されているデータ
が一連の処理において共に参照・更新される頻度が多い
場合には、その相関を自動的に判別することができ、そ
の様なデータを同じデータ格納領域に格納するようにデ
ータの配置を自動的に変更することができる。
Therefore, according to such a data management method, when the data stored in the plurality of data storage areas are frequently referred / updated together in a series of processes, the correlation is automatically calculated. It is possible to make a determination, and the data arrangement can be automatically changed so that such data is stored in the same data storage area.

【0081】また、データの配置に必要な情報を自動的
に取得するため、システム管理者がシステム上の処理を
解析してデータの配置を決定する必要がなく、各プロセ
スの実行時間が短くなりシステムの持つ性能を容易に引
き出すことができるようになる。
Further, since the information necessary for arranging the data is automatically acquired, it is not necessary for the system administrator to analyze the processing on the system to determine the data arrangement, and the execution time of each process is shortened. The performance of the system can be brought out easily.

【0082】このデータ管理装置は、アプリケーション
プログラム116からデータアクセス要求を受け取り、
アクセス要求の履歴が予め決められた条件を満たすよう
になったときに相関情報を作成・更新する。この様にし
て十分な量の相関情報を取得した後、それとデータ格納
情報に基づき新たなデータ配置情報を作成する。
This data management device receives a data access request from the application program 116,
Correlation information is created and updated when the history of access requests meets a predetermined condition. After acquiring a sufficient amount of correlation information in this way, new data arrangement information is created based on this and the data storage information.

【0083】また、データ管理装置は、1つ以上のデー
タ記憶装置118上にデータを格納する。ここで、デー
タ管理装置は複数のデータ格納領域を管理するが、それ
らを各データ記憶装置に一つずつ割り当てるように構成
することも、各データ記憶装置に複数個ずつ割り当てて
構成することも可能である。また複数のデータ記憶装置
をまとめて一つのデータ格納領域として扱うことも可能
である。データ記憶装置内のデータ格納領域の数、個々
の領域の大きさは任意であり、また各データ記憶装置間
のデータ格納領域の数、領域の大きさがそれぞれ異なる
構成にすることも可能である。
The data management device also stores data on one or more data storage devices 118. Here, the data management device manages a plurality of data storage areas, but it is possible to allocate them to each data storage device one by one, or to allocate them to each data storage device. Is. It is also possible to collectively handle a plurality of data storage devices as one data storage area. The number of data storage areas in the data storage device and the size of each area are arbitrary, and the number of data storage areas between the data storage devices and the size of the areas can be different from each other. .

【0084】データ管理装置が管理するデータ記憶装置
118は、データを格納する機能を有するものであっ
て、該データ記憶装置118中の任意の位置のデータを
読み出したり、書き変えたりすることもできるものであ
れば良く、半導体メモリ、ハードディスク、フロッピー
ディスク、磁気テープ等を用いることが可能である。
The data storage device 118 managed by the data management device has a function of storing data, and data at an arbitrary position in the data storage device 118 can be read or rewritten. Any material can be used, and a semiconductor memory, a hard disk, a floppy disk, a magnetic tape, or the like can be used.

【0085】データ管理装置は、独立した装置として構
成することも可能であり、また計算機の持つ機能として
ソフトウェアあるいはハードウェアとして実現すること
も可能である。
The data management device can be configured as an independent device, or can be realized as software or hardware as a function of the computer.

【0086】以下、図5のデータ管理装置の動作を説明
する。
The operation of the data management apparatus shown in FIG. 5 will be described below.

【0087】アプリケーションプログラム116におい
て実行されている処理要求から発生されたデータアクセ
ス要求は、アクセス要求受信部201によって受け取ら
れる。アクセス要求は、データアクセスを行なうのに必
要なデータと相関情報を生成するために必要なデータか
らなる。アクセス要求受信部201は、受け取ったデー
タアクセス要求を相関情報管理部203とデータアクセ
ス部207へと渡す。
The data access request generated from the processing request executed in the application program 116 is received by the access request receiving unit 201. The access request is made up of data required to perform data access and data required to generate correlation information. The access request reception unit 201 passes the received data access request to the correlation information management unit 203 and the data access unit 207.

【0088】データアクセス部207は、受け取ったア
クセス要求に基づきデータ記憶装置118からデータを
読み出しあるいは更新し、その結果をデータアクセス要
求発生元であるアプリケーションプログラム116へと
返す。
The data access unit 207 reads or updates data from the data storage device 118 based on the received access request, and returns the result to the application program 116 which is the source of the data access request.

【0089】相関情報管理部203は、新たに受け取っ
たアクセス要求から相関情報を作成し、相関情報記憶表
202に記憶されている相関情報と照らし合わせ、既に
登録されている相関情報ならばその相関情報の更新を行
ない、また未登録の相関情報ならばその相関情報を相関
情報記憶表202に登録する。その際、一定期間以上更
新されていなかったり、あるいは予め決められた条件に
満たないようなものを相関情報記憶表2から削除する。
相関情報管理部203は、アクセス要求がある度にこの
様な相関情報の更新を繰り返し、相関情報が十分に得ら
れたならば相関情報をデータ配置決定部204に渡す。
The correlation information management unit 203 creates the correlation information from the newly received access request and compares it with the correlation information stored in the correlation information storage table 202. If the correlation information is already registered, the correlation information is stored. Information is updated, and if it is unregistered correlation information, the correlation information is registered in the correlation information storage table 202. At this time, those that have not been updated for a certain period of time or those that do not meet the predetermined conditions are deleted from the correlation information storage table 2.
The correlation information management unit 203 repeats such updating of the correlation information every time there is an access request, and passes the correlation information to the data arrangement determination unit 204 when sufficient correlation information is obtained.

【0090】データ配置決定部204は、受け取った相
関情報とデータ格納情報記憶部205に記憶されている
データ格納情報をもとに新たなデータ配置を決定する。
データ配置決定部204は、新たなデータ配置を決定し
たならば、それをデータ配置変更部206とデータ格納
情報記憶部205へと渡す。
The data arrangement determination unit 204 determines a new data arrangement based on the received correlation information and the data storage information stored in the data storage information storage unit 205.
After deciding a new data arrangement, the data arrangement determining unit 204 transfers it to the data arrangement changing unit 206 and the data storage information storage unit 205.

【0091】データ配置変更部205は、配置を変更す
るにあたり、まずデータアクセス部207に対しどのデ
ータの場所をどの様に入れ換えるかを通知する。この通
知を受けるとデータアクセス部207は、それらのデー
タに対する更新要求を一時的に禁止する。次に、データ
配置変更部206は、受け取ったデータ配置をもとにデ
ータを入れ換え、入れ換えが終了したならばその旨をデ
ータ格納情報記憶部205とデータアクセス部207へ
と伝える。
When changing the arrangement, the data arrangement changing unit 205 first notifies the data access unit 207 of which data location and how. Upon receiving this notification, the data access unit 207 temporarily prohibits update requests for those data. Next, the data arrangement changing unit 206 exchanges the data based on the received data arrangement and, when the exchange is completed, notifies the data storage information storage unit 205 and the data access unit 207 of that fact.

【0092】データ格納情報記憶部205は、データ配
置更新部206よりデータの入れ換えが終了した旨を受
け取ると、先にデータ配置決定部204より受け取った
データ配置に関する情報に基づきデータ格納情報を更新
する。また、データアクセス部207は、データの入れ
換えが終了したという通知を受け取ると、必要に応じて
データの配置が変更されたことによるデータアクセスの
ための管理情報の変更をした上で、それらへの更新要求
を可能な状態にする。
When the data storage information storage unit 205 receives from the data layout update unit 206 that the data replacement has been completed, the data storage information storage unit 205 updates the data storage information based on the information about the data layout previously received from the data layout determination unit 204. . Further, when the data access unit 207 receives the notification that the data exchange is completed, the data access unit 207 changes the management information for the data access due to the change of the data arrangement as necessary, and then, Enables update requests.

【0093】(第1〜第3の実施例の処理要求割り付け
部101の具体例)次に、第1〜第3の実施例の処理要
求割り付け部101の具体例を示す。
(Specific Example of Processing Request Allocating Unit 101 of First to Third Embodiments) Next, a specific example of the processing request allocating unit 101 of the first to third embodiments will be described.

【0094】本実施例の処理要求割り付け部101の構
成例を図6に示す。また、他の構成例を図7に示す。な
お、構成を区別するために、図6の処理要求割り付け部
を1で表し、図7の処理要求割り付け部を11で表すこ
ととする。
FIG. 6 shows a structural example of the processing request allocation unit 101 of this embodiment. Further, another configuration example is shown in FIG. In order to distinguish the configurations, the processing request allocation unit in FIG. 6 is represented by 1 and the processing request allocation unit in FIG. 7 is represented by 11.

【0095】処理要求割り付け部1,11は、1つ以上
の処理要求発生部2−1〜2−nが発生した処理要求を
受け取り、その処理要求を実行可能な1つ以上の処理要
求実行計算機10−1〜10−mの中から実行に最適な
計算機を選択し、受け取った処理要求を選択した計算機
に転送する。
The processing request allocating units 1 and 11 receive the processing requests generated by the one or more processing request generating units 2-1 to 2-n, and one or more processing request execution computers capable of executing the processing requests. A computer optimal for execution is selected from 10-1 to 10-m, and the received processing request is transferred to the selected computer.

【0096】まず、処理要求割り付け部の構成例を図6
に従って説明する。いずれかの処理要求発生部2から送
られて来た処理要求は、処理要求受信部3によって受け
取られる。処理要求受信部3は受信した処理要求を処理
要求送信部6と特徴パラメタ抽出部4に渡す。特徴パラ
メタ抽出部4は渡された処理要求から特徴パラメタを抽
出し、それを実行計算機選択部5に渡すと共に、そのデ
ータを実行履歴情報記憶部8に渡して該当処理要求の特
徴パラメタとして記録しておく。実行計算機選択部5
は、特徴パラメタ抽出部4から渡された特徴パラメタの
値と、実行履歴情報記憶部8に記録している過去の実行
履歴情報を比較することによって、該当処理要求を実行
する最適な計算機を選択する。選択した計算機を処理要
求送信部6に伝えると共に、実行履歴情報記憶部8に知
らせて該当処理要求を実行した計算機として記録してお
く。処理要求送信部6は、処理要求受信部3から渡され
た処理要求を、実行計算機選択部5から知らされた計算
機に対して送信することによって、処理要求の割り付け
処理を完了する。実行履歴情報管理部7は、実行履歴情
報記憶部8に記録している実行履歴情報の管理を行い、
定められた時間あるいは処理回数を越える古い実行履歴
情報の消去等を行う。処理要求を受け取った処理要求を
実行計算機10は、その処理要求実行すると共に、その
実行に要したコストを処理要求割り付け部の実行コスト
検出部9に伝える。実行コスト検出部9は、受け取った
実行コストを実行履歴情報記憶部8に伝えることによっ
て、該当する処理要求の処理要求実行履歴情報に実行コ
ストを記録する。処理要求実行計算機10は処理要求の
実行結果を処理要求発生部2に伝える必要がある場合
は、適当な通信手段を用いて直接処理要求発生部に伝え
る。
First, FIG. 6 shows an example of the structure of the processing request allocation unit.
Follow the instructions below. The processing request received from any one of the processing request generation units 2 is received by the processing request receiving unit 3. The processing request receiving unit 3 passes the received processing request to the processing request transmitting unit 6 and the characteristic parameter extracting unit 4. The characteristic parameter extraction unit 4 extracts the characteristic parameter from the passed processing request, passes it to the execution computer selection unit 5, and passes the data to the execution history information storage unit 8 to record it as the characteristic parameter of the corresponding processing request. Keep it. Execution computer selection section 5
Selects the optimum computer that executes the corresponding processing request by comparing the value of the characteristic parameter passed from the characteristic parameter extraction unit 4 with the past execution history information recorded in the execution history information storage unit 8. To do. The selected computer is transmitted to the processing request transmission unit 6 and the execution history information storage unit 8 is notified so that it is recorded as the computer that executed the corresponding processing request. The processing request transmitting unit 6 completes the processing request allocation processing by transmitting the processing request passed from the processing request receiving unit 3 to the computer notified from the executing computer selecting unit 5. The execution history information management unit 7 manages the execution history information recorded in the execution history information storage unit 8,
It deletes old execution history information that exceeds a predetermined time or the number of processing times. The execution computer 10 receives the processing request, executes the processing request, and transmits the cost required for the execution to the execution cost detection unit 9 of the processing request allocation unit. The execution cost detecting unit 9 records the execution cost in the processing request execution history information of the corresponding processing request by transmitting the received execution cost to the execution history information storage unit 8. When it is necessary for the processing request execution computer 10 to transmit the execution result of the processing request to the processing request generation unit 2, the processing request execution computer 10 directly transmits the processing result to the processing request generation unit using an appropriate communication means.

【0097】処理要求割り付け部の別の構成例を図7に
従って説明する。図7の構成例は、処理要求を処理要求
実行計算機に伝えるまでは図6の構成例と同じである。
処理要求を受け取った処理要求実行計算機10はその処
理を実行するが、図6の構成例とは違って、その実行に
要したコストを陽に処理要求割り付け部に知らせること
はしない。処理要求実行計算機10は、処理要求を実行
した処理結果を処理要求割り付け部11に送り返す。こ
の処理結果は処理要求割り付け部の処理結果受信部12
が受信して処理結果送信部13に伝えると共に、処理結
果を受信したことを実行コスト検出部9に伝える。処理
結果を受け取った処理結果送信部13は、該当する処理
要求を発生した処理要求発生部2に処理結果を送り返
す。処理結果を受信したことを知らされた実行コスト検
出部9は、該当する処理要求の実行に要したコストを求
め、その実行コストを実行履歴情報記憶部8に伝えるこ
とによって、該当する処理要求の処理要求実行履歴情報
に実行コストを記憶する。実行コストを求める手段とし
ては、処理要求を受け取った時間とその処理要求に対応
する処理結果を受け取った時間の差を実行に必要なコス
トとする方式や、該当する処理要求の実行を追い抜いて
実行を完了した処理要求の数を実行コストとする方式な
どを用いることが出来る。
Another example of the configuration of the processing request allocation section will be described with reference to FIG. The configuration example of FIG. 7 is the same as the configuration example of FIG. 6 until the processing request is transmitted to the processing request execution computer.
The processing request execution computer 10 that has received the processing request executes the processing, but unlike the configuration example of FIG. 6, does not explicitly inform the processing request allocating unit of the cost required for the processing. The processing request execution computer 10 sends back the processing result of executing the processing request to the processing request allocation unit 11. This processing result is the processing result receiving unit 12 of the processing request allocating unit.
Is received and transmitted to the processing result transmission unit 13, and also notifies the execution cost detection unit 9 that the processing result has been received. The processing result transmission unit 13 that has received the processing result sends the processing result back to the processing request generation unit 2 that has generated the corresponding processing request. The execution cost detection unit 9 that has been notified that the processing result has been received obtains the cost required to execute the corresponding processing request and informs the execution cost to the execution history information storage unit 8 of the corresponding processing request. The execution cost is stored in the processing request execution history information. As a means for obtaining the execution cost, a method in which the cost required for execution is the difference between the time when a processing request is received and the time when the processing result corresponding to the processing request is received, or the execution of the corresponding processing request is overtaken It is possible to use a method in which the execution cost is the number of processing requests completed.

【0098】図6および図7に示した構成例では、図8
(a)に示すように受信した処理要求から取りだした特
徴パラメタを実行履歴情報記憶部8に記録し、実行計算
機選択部5は実行履歴情報記憶部に記録した過去の実行
履歴の特徴パラメタを基に実行計算機の選択を行ってい
る。これに対して、実行履歴情報記憶部8には特徴パラ
メタではなく処理要求そのものを記録しておくこともで
きる。この場合、図8(b)に示すように処理要求受信
部3が受信した処理要求をそのまま実行履歴情報記憶部
8に記録し、実行計算機選択部5が過去の処理要求実行
履歴情報の特徴パラメタを見る場合は特徴パラメタ抽出
部4を通して再度特徴パラメタを抽出する。図9に示す
処理要求割り付け部の構成例は、図6の処理要求割り付
け部の構成を、処理要求をそのまま実行履歴情報記憶部
8に記録するように変更したものである。また、図10
に示す処理要求割り付け部の構成例は、図7の処理要求
割り付け部の構成を、処理要求をそのまま実行履歴情報
記憶部8に記録するように変更したものである。
In the configuration example shown in FIGS. 6 and 7, FIG.
As shown in (a), the characteristic parameters extracted from the received processing request are recorded in the execution history information storage unit 8, and the execution computer selection unit 5 stores the characteristic parameters of the past execution history recorded in the execution history information storage unit. The execution computer is selected. On the other hand, the processing request itself may be recorded in the execution history information storage unit 8 instead of the characteristic parameter. In this case, as shown in FIG. 8B, the processing request received by the processing request receiving unit 3 is directly recorded in the execution history information storage unit 8, and the execution computer selecting unit 5 records the characteristic parameter of the past processing request execution history information. When looking at, the characteristic parameter is extracted again through the characteristic parameter extraction unit 4. In the configuration example of the processing request allocation unit shown in FIG. 9, the configuration of the processing request allocation unit of FIG. 6 is modified so that the processing request is recorded in the execution history information storage unit 8 as it is. FIG.
In the configuration example of the processing request allocating unit shown in FIG. 7, the configuration of the processing request allocating unit in FIG. 7 is modified so that the processing request is recorded in the execution history information storage unit 8 as it is.

【0099】以下には、処理要求割り付け部の一実施例
の動作原理を説明する。
The operation principle of an embodiment of the processing request allocation unit will be described below.

【0100】本発明の処理要求割り付け部では、処理要
求割り付け部が新しい処理要求を受け取ると、まずその
特徴パラメタを抽出する。処理要求の特徴パラメタは一
つの処理要求に対して一つではなく、一般に複数個の値
の組である。
In the processing request allocating unit of the present invention, when the processing request allocating unit receives a new processing request, first, the characteristic parameter thereof is extracted. The characteristic parameter of the processing request is not one for one processing request, but is generally a set of a plurality of values.

【0101】次に、新しい処理要求の特徴パラメタと、
記憶している過去の処理要求の実行履歴情報の持つ特徴
パラメタとを比較し、各計算機毎かつ各特徴パラメタ毎
に、新しい処理要求の特徴パラメタと最も近い特徴パラ
メタの値を持つ実行履歴情報を選び出す。
Next, the characteristic parameter of the new processing request,
It compares the characteristic parameters of the stored execution history information of past processing requests, and for each computer and for each characteristic parameter, obtains the execution history information having the value of the characteristic parameter closest to the characteristic parameter of the new processing request. Pick out.

【0102】すなわち、該当する処理要求を実行可能な
計算機がM台であり、特徴パラメタがN個の値の組から
なるとき、新しい処理要求の特徴パラメタをX[n]
(0≦n<N)すると、M×N個の実行履歴情報H
[m,n](0≦m<M、0≦n<N)を次の条件を満
たすように選び出す。
That is, when the number of computers capable of executing the corresponding processing request is M and the characteristic parameter consists of a set of N values, the characteristic parameter of the new processing request is X [n].
(0 ≦ n <N), M × N pieces of execution history information H
[M, n] (0 ≦ m <M, 0 ≦ n <N) is selected so as to satisfy the following condition.

【0103】[0103]

【数1】 ここで、Aは現在記憶している全ての実行履歴情報の集
合を、H[m,n][p]は実行履歴情報H[m,n]
の持つ特徴パラメタの値の組のp番目の値を、node
(F)は実行履歴情報Fに記録された処理要求の実行さ
れた計算機の番号を意味する。
[Equation 1] Here, A is a set of all currently stored execution history information, and H [m, n] [p] is execution history information H [m, n].
The p-th value of the set of characteristic parameter values possessed by
(F) means the number of the computer on which the processing request recorded in the execution history information F was executed.

【0104】こうして選び出したM×N個の実行履歴情
報H[m,n]の中から、まず、各特徴パラメタ毎に処
理要求を実行する候補となる計算機P[n](0≦n<
N)を次の条件を満たすように選択する。ここでcos
t(F)は、実行履歴情報Fに記録された処理要求の実
行に要したコストを意味する。
From among the M × N pieces of execution history information H [m, n] thus selected, first, a computer P [n] (0 ≦ n <is a candidate for executing a processing request for each characteristic parameter.
N) is selected so as to satisfy the following condition. Where cos
t (F) means the cost required to execute the processing request recorded in the execution history information F.

【0105】[0105]

【数2】 つまり実行履歴情報H[m,n]の中から、各特徴パラ
メタ毎に、コストの最も小さな実行履歴情報を選び、そ
の実行履歴情報に対応する処理要求を実行した計算機
を、各特徴パラメタの実行候補計算機P[n]とする。
ここで、実行候補として選ばれた実行履歴情報H[P
[n],n]の持つ実行に要するコストが、同じ特徴パ
ラメタを持つ他の実行履歴情報の持つ実行コストに比べ
て特に小さくなっている場合は、その実行履歴情報を実
行候補として選んで問題無い。しかし、H[P[n],
n]の持つ実行に要するコストが他の実行履歴情報の持
つコストと比べて有意な差が見られない場合、言い替え
れば、特にコストの小さな実行履歴情報がない場合に
は、単に最小のコストを持つ実行履歴情報を選んでも、
それが実際に最適な実行候補である可能性は小さい。そ
こで、そのような可能性が少い実行履歴情報を実行候補
計算機から外すために、たとえば次のような条件を満た
さない実行候補計算機P[n]は、実行候補計算機から
外す。
[Equation 2] That is, from the execution history information H [m, n], the execution history information with the smallest cost is selected for each characteristic parameter, and the computer that has executed the processing request corresponding to that execution history information executes the characteristic parameters. Let it be the candidate computer P [n].
Here, the execution history information H [P selected as the execution candidate
If the execution cost of [n], n] is particularly smaller than the execution cost of other execution history information having the same characteristic parameter, the execution history information is selected as an execution candidate. There is no. However, H [P [n],
[n] has no significant difference in the execution cost from the costs of other execution history information, in other words, if there is no execution history information with a particularly low cost, simply set the minimum cost. Even if you select the execution history information you have,
It is unlikely that it is actually the best candidate for execution. Therefore, in order to remove the execution history information having such a low possibility from the execution candidate computer, for example, the execution candidate computer P [n] that does not satisfy the following condition is removed from the execution candidate computer.

【0106】[0106]

【数3】 つまり、同じ特徴パラメタを持つ実行履歴情報H[m,
n]の持つコストの平均値が、実行候補となった実行履
歴情報H[P[n],n]の持つコストと比べて、定め
られた値T倍以上大きな場合は有意な差があると考え、
無い場合は実行候補計算機から外す。Tは例えば1.1
というような値を持つ。アルゴリズム上は、実行候補計
算機がない場合は、P[n]の値は−1のような計算機
番号としては有効でない値を入れておく。
(Equation 3) That is, the execution history information H [m, which has the same characteristic parameter
There is a significant difference when the average value of the costs of [n] is larger than the cost of the execution history information H [P [n], n] that is the execution candidate by a predetermined value T times or more. Thinking,
If not, remove it from the execution candidate computer. T is 1.1, for example
Has a value such as. According to the algorithm, if there is no execution candidate computer, the value of P [n] such as -1 is not valid as a computer number.

【0107】こうして選ばれたN個の実行候補計算機P
[N]から、実際に実行する計算機を選び出す。このと
き、各特徴パラメタの重み情報W[N]を用いる。W
[N]の各要素W[k]は、それぞれ処理要求のk番の
特徴パラメタの値と、その処理要求を実行する計算機番
号との相関の強さを表す。P[N]とW[N]の対応す
る要素を、W[N]の値の大きなものから順に並べたも
のをPP[N]とWW[N]とすると、PP[N]とW
W[N]から実際に実行する計算機を選び出す手続をC
言語で記述すると次のようになる。
The N execution candidate computers P selected in this way
From [N], a computer to be actually executed is selected. At this time, the weight information W [N] of each characteristic parameter is used. W
Each element W [k] of [N] represents the strength of correlation between the value of the kth characteristic parameter of the processing request and the computer number executing the processing request. Let PP [N] and WW [N] be the corresponding elements of P [N] and W [N] arranged in descending order of W [N] value.
The procedure for selecting a computer to actually execute from W [N] is C
The description in language is as follows.

【0108】[0108]

【数4】 ここで、random( )は0から1の間の実数値を
とる乱数を発生する関数であるとする。実行する計算機
の番号を代入する変数をpickednodeとして、
初期値はどの計算機番号でもない−1を入れておく。重
みの大きな候補から順に、乱数を発生させてその値が重
みより小さいならばその計算機を選択し、そうでない場
合は次に重みの大きな候補について同様に選択を続け
る。最後まで候補が決まらない場合は、適当な方法で実
行する計算機を選択する。ここで示した手続きの例で
は、乱数でM台の計算機の中のひとつを選んでいる。
[Equation 4] Here, it is assumed that random () is a function that generates a random number that takes a real value between 0 and 1. A variable for substituting the number of the computer to be executed is pickednode,
The initial value is -1, which is not any computer number. Random numbers are generated in descending order of weight, and if the value is smaller than the weight, the computer is selected. Otherwise, the candidate with the next highest weight is similarly selected. If the candidates are not decided until the end, select a computer to execute by an appropriate method. In the example of the procedure shown here, one of M computers is randomly selected.

【0109】以下には、本発明をリモート・プロシージ
ャ・コール(RPC)による処理要求の割り付け部に適
用した場合の一実施例を述べる。
An embodiment in which the present invention is applied to a processing request allocating section by a remote procedure call (RPC) will be described below.

【0110】図11に処理要求割付部の構成を示す。図
11の構成は、図10の構成に対して処理要求表(記憶
部)26と処理要求表管理部25がつけ加わったもので
ある。図10の処理要求割付部は、単一の種類の処理要
求の割り付けを行う場合の構成であり、これを複数の種
類の処理要求を扱えるようにしたのが図11の構成であ
る。
FIG. 11 shows the structure of the processing request allocation unit. The configuration of FIG. 11 is obtained by adding a process request table (storage unit) 26 and a process request table management unit 25 to the configuration of FIG. The processing request allocating unit of FIG. 10 has a configuration for allocating a single type of processing request, and the configuration of FIG. 11 is capable of handling a plurality of types of processing requests.

【0111】処理要求受信部3は、処理要求発生部2か
ら結合路14を通して伝えられる処理要求パケットを受
け取る。例えば結合路としてイーサネットを用いる場合
には、UDPプロトコルの特定ポートに到着するパケッ
トを受信する。パケットは図12(a)に示すようなバ
イト列の構造を持つデータであるが、RPCの処理要求
パケットはこのバイト列をたとえば図12(b)に示す
ような構造を持つデータと解釈する。すなわち、パケッ
トの先頭には処理要求の種別を示すデータが入ってい
る。図12(b)の例は、proc1と呼ぶ処理の種別
であることを示している。実際にはproc1に対応す
る一意の識別番号が、パケットの先頭の4バイトを占め
る数値として記録される。その後には、処理要求に付随
する引数が必要な個数並ぶ。図12(b)の例では、
x,y,zで表している3つの4バイト長のデータが並
んでいる。RPCのパケットの構造は、ここで示したも
の以外にも多くの構造があるが、本発明の方式はどのよ
うな構造のパケットにも適用可能である。
The processing request receiving unit 3 receives the processing request packet transmitted from the processing request generating unit 2 through the coupling path 14. For example, when Ethernet is used as the connection path, a packet that arrives at a specific port of the UDP protocol is received. The packet is data having a byte string structure as shown in FIG. 12A, but the RPC processing request packet interprets this byte string as data having a structure as shown in FIG. 12B, for example. That is, the head of the packet contains data indicating the type of processing request. The example in FIG. 12B indicates that the type of processing is called proc1. Actually, the unique identification number corresponding to proc1 is recorded as a numerical value occupying the first 4 bytes of the packet. After that, the required number of arguments accompanying the processing request are arranged. In the example of FIG. 12 (b),
Three 4-byte length data represented by x, y, and z are arranged. The RPC packet structure has many structures other than those shown here, but the method of the present invention can be applied to packets of any structure.

【0112】RPCのパケットのどの部分に要求の種別
が入っているかは固定であるので、パケットを受信した
処理要求受信部3はそのパケットから要求の種別を取り
出すことができ、それを処理要求表26に伝える。ここ
で、処理要求受信部は複数のポートに到着する処理要求
パケットを受信するように構成することも可能である。
この場合、各ポート毎にそのポートに到着する処理要求
に関する情報を記録した処理要求表を作成しておき、処
理要求受信部はパケットを受信すると、それを受信した
ポートに対応する処理要求表に要求の種別を伝えるよう
な構成も可能である。
Since which part of the RPC packet contains the request type is fixed, the processing request receiving unit 3 which has received the packet can extract the request type from the packet, and the processing request table Tell 26. Here, the processing request receiving unit can also be configured to receive processing request packets that arrive at a plurality of ports.
In this case, for each port, a processing request table that records information about processing requests that arrive at that port is created, and when the processing request receiving unit receives a packet, the processing request table is created in the processing request table corresponding to the port that received the packet. A configuration that conveys the type of request is also possible.

【0113】処理要求表26は図13に示すように、要
求の種別、引数情報、重み情報、実行計算機情報、実行
履歴情報ポインタの5種類の情報の対応関係を記録する
表である。
As shown in FIG. 13, the processing request table 26 is a table for recording the correspondence relationship of five types of information of request type, argument information, weight information, execution computer information, and execution history information pointer.

【0114】要求の種別は、各処理要求のパケットの先
頭の要求の種別を示す値である。図13の例ではpro
c1やproc2がこれに当たるが、実際にはproc
1やproc2に対応する数値が記録される。引数情報
は、要求の種別毎にその引数のデータ型を記録してい
る。例えば図13の例では、proc1の引数は3つあ
り、そのデータ型は順にint(整数型)、strin
g(文字列型)、float(浮動小数点型)であるこ
とを示している。実際にはそれぞれint,strin
g,floatに対応するように割り当てられた数値の
配列として実現する。
The request type is a value indicating the type of request at the head of each processing request packet. In the example of FIG. 13, pro
This corresponds to c1 and proc2, but actually proc
Numerical values corresponding to 1 and proc2 are recorded. The argument information records the data type of the argument for each request type. For example, in the example of FIG. 13, there are three arguments of proc1, and their data types are int (integer type) and strin in order.
g (character string type) and float (floating point type) are shown. Actually, int and string respectively
It is realized as an array of numerical values assigned so as to correspond to g and float.

【0115】図13の例に示されている引数情報はin
tやfloatのような構造を持たない型のみである
が、図14(a)に示すような構造体の場合には、図1
4(b)に示すように構造体であることを示す数値(図
ではstructと記述している)、構造体のメンバの
数(図の例では2)、メンバのデータ型に対応する数値
(図の例ではint、charと記述している)の組と
して表現する。図14(c)に示すような配列の場合
は、図14(d)に示すような配列であることを示す数
値(図ではarrayと記述している)、要素数を示す
数値(図の例では10)、要素のデータ型に対応する数
値(図ではintと記述している)の組として表現す
る。構造体や配列はその構成要素が構造体や配列であっ
ても構わない。
The argument information shown in the example of FIG. 13 is in
Only a type that does not have a structure such as t or float, but in the case of the structure shown in FIG.
As shown in FIG. 4B, a numerical value indicating a structure (described as “struct” in the figure), the number of members of the structure (2 in the example of the figure), and a numerical value corresponding to the data type of the member ( In the example of the figure, it is expressed as int and char). In the case of the array as shown in FIG. 14C, a numerical value indicating the array as shown in FIG. 14D (described as array in the drawing) and a numerical value indicating the number of elements (example of the drawing) In 10), it is expressed as a set of numerical values (described as int in the figure) corresponding to the data type of the element. The structure or array may have the constituent elements of the structure or array.

【0116】多くのRPCシステムでは、図14(e)
に示すようなインタフェース記述から実際に通信に用い
るパケットの形式を決定する。この処理は通常RPCコ
ンパイラと呼ぶプログラムによって行われる。RPCコ
ンパイラは図15に示すようにRPCのインタフェース
記述を入力とし、そのインタフェース記述に対応するパ
ケット形式で処理要求を送信するためのクライアントス
タブと、それを受信するためのサーバスタブ、およびク
ライアントとサーバで共通に使われる情報を記述したヘ
ッダファイルを出力する。ONC RPCではrpcg
en、DCERPCではidlと呼ぶプログラムが、こ
こで言うRPCコンパイラに相当する。
In many RPC systems, FIG.
The format of the packet actually used for communication is determined from the interface description as shown in. This processing is usually performed by a program called an RPC compiler. As shown in FIG. 15, the RPC compiler receives an RPC interface description as an input, a client stub for transmitting a processing request in a packet format corresponding to the interface description, a server stub for receiving the request, and a client and a server. Outputs a header file that describes information commonly used in. Rpcg for ONC RPC
A program called idl in en and DCERPC corresponds to the RPC compiler here.

【0117】本実施例では図15に示すように、RPC
コンパイラは、上記の他にパケット情報も出力する。パ
ケット情報は図16に示すように、処理要求表の要求の
種別の引数情報に登録すべきデータから構成される。す
なわち、図14(e)のようにインタフェース記述が与
えられた場合は、要求の種別としてはproc1、引数
情報としてはint,string,floatの組が
生成される。先にも述べたように、実際はproc1,
int,string,floatそれぞれに対して一
意に識別できるような数値が割り当てられている。図1
1の構成図において、処理要求表管理部25がパケット
情報を読み込んで、その中の要求の種別と引数情報を処
理要求表26に登録する。
In this embodiment, as shown in FIG.
In addition to the above, the compiler also outputs packet information. As shown in FIG. 16, the packet information is composed of data to be registered in the request type argument information of the processing request table. That is, when the interface description is given as shown in FIG. 14E, a set of proc1 is generated as the request type and a set of int, string, and float is generated as the argument information. As mentioned earlier, actually proc1,
Numerical values that can be uniquely identified are assigned to int, string, and float. FIG.
In the configuration diagram of FIG. 1, the processing request table management unit 25 reads the packet information and registers the request type and argument information in the packet information in the processing request table 26.

【0118】図13の処理要求表の重み情報は、要求の
種別が持つ各引数の重みを示す数値である。処理要求を
割り付けるべき処理要求実行計算機を予測する場合に、
どの特徴パラメタに注目すべきかを示している。重みの
情報は特徴パラメタの各要素と1対1に対応する要素を
持つ配列である。図13のproc1の例で引数は3つ
であるが重み情報は4要素のベクトルであるのは、特徴
パラメタはすべての引数に加えて、その中の一部の引数
のビット位置を変更した数値をも含むためである。ここ
では整数型の引数に関してはそのビット位置を変更した
物も特徴パラメタに加えているため、重み情報は4要素
のベクトルになっている。RPCパケットから特徴パラ
メタを取り出す方式、ビット位置変更の方式、およびど
の特徴パラメタに関してビット位置変換を行った特徴パ
ラメタを生成するかに関しては後で述べる。
The weight information in the processing request table of FIG. 13 is a numerical value indicating the weight of each argument of the request type. When predicting the processing request execution computer to which the processing request should be allocated,
It shows which characteristic parameter should be noted. The weight information is an array having elements that have a one-to-one correspondence with each element of the characteristic parameter. In the example of proc1 of FIG. 13, the number of arguments is three, but the weight information is a vector of four elements. The feature parameter is a numerical value obtained by changing the bit positions of some of the arguments in addition to all the arguments. This is because it also includes. Here, with respect to the integer type argument, the one whose bit position is changed is also added to the characteristic parameter, so that the weight information is a vector of four elements. The method of extracting the characteristic parameter from the RPC packet, the method of changing the bit position, and which characteristic parameter the characteristic parameter is generated by performing the bit position conversion will be described later.

【0119】図13の処理要求表の実行計算機情報は、
要求の種別毎にそれを実行可能な処理要求実行計算機を
列挙した物であり、実際には処理要求の転送に必要な計
算機のネットワークアドレスやその計算機上でのポート
番号といった情報を持つ。例えば図13のproc1の
1番目の実行計算機情報は、計算機のネットワークアド
レスが62.31で、ポート番号が70であることを示
している。
The execution computer information of the processing request table of FIG.
It is a list of processing request execution computers capable of executing each request type, and actually has information such as the network address of the computer and the port number on the computer necessary for transferring the processing request. For example, the first execution computer information of proc1 in FIG. 13 indicates that the network address of the computer is 62.31 and the port number is 70.

【0120】図13の処理要求表26の実行履歴情報ポ
インタは、実行履歴情報記憶部8に記憶されている実行
履歴情報で各要求の種別に属するもののグループを指し
示している。実行履歴情報は図17に示すように、処理
要求の内容、その処理要求を実行した計算機の番号、そ
の実行に要したコスト(例えばここでは実行に要した時
間)、処理結果を送り返すのに必要なその処理要求発生
部の情報(例えばここではネットワークアドレスとポー
ト番号)からなる。処理要求をそのまま記録するのでは
なく、その処理要求から取り出した特徴パラメタ、ある
いはその特徴パラメタのうち実行計算機の予測に用いる
重みの大きなもののみを取り出したものでも構わない。
The execution history information pointer of the processing request table 26 in FIG. 13 points to a group of execution history information stored in the execution history information storage unit 8 that belongs to each request type. As shown in FIG. 17, the execution history information is necessary to send back the contents of the processing request, the number of the computer that executed the processing request, the cost required for the execution (for example, the time required for the execution here), and the processing result. The information (eg, network address and port number here) of the processing request generation unit. Instead of recording the processing request as it is, the characteristic parameter extracted from the processing request or only the characteristic parameter having a large weight used for the prediction of the execution computer may be extracted.

【0121】図18に処理要求表を中心とした情報の流
れを示す。この図18は図11中で処理要求実行計算機
の決定に必要な部分を抜き出し、その中のモジュール間
で受け渡す情報を示したものである。以下、図11と図
18を参照しながら本実施例の動作を説明する。
FIG. 18 shows the flow of information centered on the processing request table. FIG. 18 shows information extracted from FIG. 11 that is necessary for determining the processing request execution computer and is transferred between the modules therein. The operation of this embodiment will be described below with reference to FIGS. 11 and 18.

【0122】処理要求表26の中に記録される情報は、
図15に示すようにRPCコンパイラがパケット情報と
して生成する。このパケット情報はファイル等の形態で
生成され、処理要求割り付け部の処理要求表管理部25
によって読み込まれ、処理要求表26に登録される。こ
のとき処理要求表26の重み情報の初期値は、プログラ
マやシステム管理者が与えても構わないし、あるいは全
ての要素を一定の初期値(例えば0.9)にしても構わ
ない。実行計算機情報は、プログラマやシステム管理者
が与えても構わないし、あるいはネームサーバ等によっ
てその要求を実行できる計算機を調べて登録するような
実施方法もある。また、各処理要求実行計算機10が自
分の実行できる要求の種別を処理要求割り付け部に知ら
せ、その情報を基に処理要求表26に記入するような実
施方法も可能である。処理要求表26の実行履歴情報ポ
インタの初期値は、実行履歴情報記憶部8に該当する要
求の種別の実行履歴情報が残っている場合はそれを指す
ように、残っていない場合は空の実行履歴情報の集合を
指すようにする。
The information recorded in the processing request table 26 is
As shown in FIG. 15, the RPC compiler generates the packet information. This packet information is generated in the form of a file or the like, and the processing request table management unit 25 of the processing request allocation unit 25
Is read by and registered in the processing request table 26. At this time, the initial value of the weight information in the processing request table 26 may be given by the programmer or the system administrator, or all elements may be set to constant initial values (for example, 0.9). The execution computer information may be given by a programmer or a system administrator, or there is an implementation method in which a computer capable of executing the request is checked and registered by a name server or the like. An implementation method is also possible in which each processing request execution computer 10 informs the processing request assigning section of the type of request that can be executed by itself, and fills in the processing request table 26 based on that information. The initial value of the execution history information pointer of the process request table 26 indicates the execution history information of the corresponding request type in the execution history information storage unit 8 when it remains, and the empty execution when it does not remain. Point to a set of history information.

【0123】処理要求受信部3が処理要求発生部2から
処理要求のRPCパケットを受信すると、その処理要求
パケットを次段の第1の特徴パラメタ抽出部28と処理
要求送信部6に渡す。また、処理要求とそれを出力した
処理要求発生部を、新しい実行履歴情報として実行履歴
情報記憶部8に登録する。さらに、受信した処理要求パ
ケットの先頭にある処理要求の種別を示す情報を取り出
し、これを処理要求表26に渡す。
When the processing request receiving unit 3 receives the processing request RPC packet from the processing request generation unit 2, the processing request packet is passed to the first characteristic parameter extraction unit 28 and the processing request transmission unit 6 in the next stage. Further, the processing request and the processing request generation unit that outputs the processing request are registered in the execution history information storage unit 8 as new execution history information. Further, the information indicating the type of the processing request at the head of the received processing request packet is extracted and passed to the processing request table 26.

【0124】処理要求表26は、処理要求受信部3から
受け取った要求の種別をキーとして処理要求表を引き、
その結果得られる引数情報を2つある特徴パラメタ抽出
部に、重み情報を実行計算機選択部5に、実行計算機情
報を処理要求送信部6に、実行履歴情報ポインタを実行
履歴情報記憶部8にそれぞれ渡す。
The processing request table 26 is obtained by pulling the processing request table using the type of request received from the processing request receiving unit 3 as a key.
The resulting argument information is stored in the characteristic parameter extraction unit having two pieces, the weight information is stored in the execution computer selection unit 5, the execution computer information is stored in the processing request transmission unit 6, and the execution history information pointer is stored in the execution history information storage unit 8. hand over.

【0125】処理要求パケットと引数情報をそれぞれ処
理要求受信部3と処理要求表26から受け取った第1の
特徴パラメタ抽出部28は、受け取った処理要求の特徴
パラメタを抽出し、実行計算機選択部5に渡す。
The first characteristic parameter extracting unit 28 which has received the processing request packet and the argument information from the processing request receiving unit 3 and the processing request table 26 respectively extracts the characteristic parameter of the received processing request, and the execution computer selecting unit 5 Pass to.

【0126】処理要求パケットは図19に示すようなバ
イト列である。その先頭には要求の種別を示すデータが
ある。例えば先頭の1ワード(4バイト)が要求の種別
を示すとすると、図19の例では10進数に直して37
2(16進数で174)が要求の種別を表す値である。
ここでは372はproc1を表すものとする。要求の
種別を示すデータの後には、その要求に付随する複数の
引数が続く。proc1の場合、処理要求表の引数情報
にも書かれているように、第1引数は整数型(in
t)、第2引数は文字列型(string)、第3引数
は実数型(float)である。各データ型のネットワ
ークパケット上での表現方式は各種のものがあり、本発
明はどのような表現方式にも適用できる。ここでは、整
数および実数は4バイトのデータとして表現され、文字
列は4バイトの整数によって表された文字列長と、その
後に続く1バイトで表現された文字の並びからなるもの
とする。例えば図19の例では、第1引数は整数値67
00、第2引数は文字列“abcdefg”、第3引数
は実数値12.5である。
The processing request packet is a byte string as shown in FIG. At the beginning thereof is data indicating the type of request. For example, if the first word (4 bytes) indicates the type of request, in the example of FIG.
2 (174 in hexadecimal) is a value representing the type of request.
Here, 372 represents proc1. The data indicating the request type is followed by a plurality of arguments associated with the request. In the case of proc1, the first argument is an integer type (in
t), the second argument is a character string type (string), and the third argument is a real number type (float). There are various representation methods on the network packet of each data type, and the present invention can be applied to any representation method. Here, an integer and a real number are represented as 4-byte data, and a character string is composed of a character string length represented by a 4-byte integer, and a character sequence represented by 1 byte following the character string length. For example, in the example of FIG. 19, the first argument is an integer value 67.
00, the second argument is a character string "abcdefg", and the third argument is a real value 12.5.

【0127】特徴パラメタ抽出部のもう一つの入力デー
タである引数情報は、要求の種別毎にその各引数の型を
示す情報を並べたものである。この引数情報は、処理要
求のデータ構造の情報の一例であり、この情報を参照し
て処理要求から基本データ単位を取り出して、この各基
本データ単位を特徴パラメタとする。例えば図20に示
すように、整数型は1、実数型は2、文字列型は3とい
うように符号化しておくと、proc1の引数情報は
1,3,2の3つの値を持つベクトル(あるいは配列)
になる。
Argument information, which is another input data of the characteristic parameter extraction unit, is an array of information indicating the type of each argument for each request type. This argument information is an example of the information of the data structure of the processing request, the basic data unit is extracted from the processing request by referring to this information, and each basic data unit is used as the characteristic parameter. For example, as shown in FIG. 20, if the integer type is 1, the real number type is 2, and the character string type is 3, the argument information of proc1 is a vector having three values 1, 3, and 2 ( Or array)
become.

【0128】以上の2種類の情報を受け取った特徴パラ
メタ抽出部は、図21に示すように動作して特徴パラメ
タを抽出し、実行計算機選択部5に渡す。すなわち特徴
パラメタ抽出部は処理要求パケットの引数部(図21で
はP)と引数情報(図21ではT)を入力とし、引数情
報の各要素に対応する処理要求パケットの引数部を順に
切り出し、それに対する特徴パラメタの値を順次出力し
て行く。例えば引数情報に記述された引数のデータ型が
整数型(図21の例では1)の場合は、処理要求パケッ
トの引数部から4バイトのデータを切り出し、それを1
ワードの整数値としてそのまま特徴パラメタの値として
出力する。図21の例には出てこないが、文字型や列挙
型にも同様に必要なバイト数のデータを切り出し、それ
を整数値として読み、その値を特徴パラメタとして出力
する。実数型(図21の例では2)の場合も同様に4バ
イトのデータを切り出し、それを単精度の実数値として
解釈し、その値を特徴パラメタとして出力する。倍精度
等の場合も同様である。
The characteristic parameter extraction unit that has received the above two types of information operates as shown in FIG. 21, extracts characteristic parameters, and passes them to the execution computer selection unit 5. That is, the characteristic parameter extraction unit inputs the argument portion (P in FIG. 21) and argument information (T in FIG. 21) of the processing request packet, cuts out the argument portion of the processing request packet corresponding to each element of the argument information in order, and The feature parameter values for are sequentially output. For example, when the data type of the argument described in the argument information is an integer type (1 in the example of FIG. 21), 4-byte data is cut out from the argument part of the processing request packet, and it is set to 1
It is output as the value of the characteristic parameter as it is as the integer value of the word. Although not shown in the example of FIG. 21, data of the required number of bytes is similarly cut out for a character type and an enumeration type, read as an integer value, and the value is output as a characteristic parameter. In the case of the real number type (2 in the example of FIG. 21), similarly, 4-byte data is cut out, interpreted as a single precision real value, and the value is output as a characteristic parameter. The same applies to double precision.

【0129】文字列型(図21の例では3)の場合はい
くつかの実施方式を用いることが出来る。図21の例で
は文字列の先頭の4バイト(4バイトに満たない場合は
0や空白文字等を補う)を1ワードの整数値として読
み、その値を特徴パラメタとして出力する。このよう
に、あらかじめ決められた長さの文字列に切揃えて、そ
れを数値として読み変えて特徴パラメタにすることがで
きる。文字列の切揃え方には、先頭の一定長の文字列を
切り出す方法、最後の一定長の文字列を切り出す方法、
先頭の一定長と最後の一定長を切り出して繋げたものを
用いる方法がある。また、このようにして切り出した文
字列だけでなく、文字列の長さも特徴パラメタとして加
える方式もある。文字列を数値化するのではなく、その
まま特徴パラメタとして実行計算機選択部5に渡し、実
行計算機選択部5は文字列を辞書式順序で比較すること
によって実行計算機の選択を行う方式もある。
In the case of the character string type (3 in the example of FIG. 21), several implementation methods can be used. In the example of FIG. 21, the first 4 bytes of the character string (when it is less than 4 bytes, 0 or blank characters are supplemented) are read as an integer value of 1 word, and the value is output as a characteristic parameter. In this way, the character string can be trimmed into a character string of a predetermined length and read as a numerical value to be a characteristic parameter. For trimming the character strings, a method of cutting out the fixed length character string at the beginning, a method of cutting out the fixed length character string at the end,
There is a method in which a fixed length at the beginning and a fixed length at the end are cut out and connected. There is also a method in which not only the character string cut out in this way, but also the length of the character string is added as a characteristic parameter. There is also a method in which the character string is not digitized, but is passed as it is to the execution computer selection unit 5 as a characteristic parameter, and the execution computer selection unit 5 selects the execution computer by comparing the character strings in lexicographic order.

【0130】引数情報に記述されるデータ型には、図2
1の例には出てこないが、配列や構造体のような複合型
のデータも存在する。固定長の配列の場合には、そのす
べて要素の特徴パラメタを取り出し、それらを配列の特
徴パラメタにするのが最も簡単な実施方法である。固定
長あるいは可変長の配列の場合、文字列型の場合のよう
に、先頭の一定個数、あるいは最後の一定個数、あるい
は先頭の一定個数と最後の一定個数の合わせたものを特
徴パラメタにする方式もある。また可変長の配列の場合
には、配列の大きさを特徴パラメタに加えることも出来
る。
The data type described in the argument information is shown in FIG.
Although it does not appear in the example of 1, there is also complex type data such as an array or a structure. In the case of a fixed-length array, the simplest implementation method is to take out the characteristic parameters of all the elements and make them the characteristic parameters of the array. In the case of a fixed-length or variable-length array, as in the case of the character string type, a method that uses a fixed number at the beginning, a fixed number at the end, or a combination of a fixed number at the beginning and a fixed number at the end as a characteristic parameter There is also. In the case of a variable length array, the size of the array can be added to the feature parameter.

【0131】構造体の場合は、それを構成するそれぞれ
の要素の特徴パラメタを順次取り出して、それらを構造
体の特徴パラメタとする。構造体の配列や文字列の配列
のように組み合わせた場合も同様の手順で特徴パラメタ
を抽出することが出来る。
In the case of a structure, the characteristic parameters of the respective constituent elements are sequentially taken out and used as the characteristic parameters of the structure. The characteristic parameters can be extracted by the same procedure when combined like an array of structures or an array of character strings.

【0132】本実施例では、特徴パラメタの内、いくつ
かのものについては、その値のビット位置を入れ換えた
値も特徴パラメタに加える。ビット位置を入れ換えたも
のを特徴パラメタに加えることによって、例えば引数の
上位のビットの値と、その処理要求の実行に適した計算
機の間に相関関係がある場合は、同じ計算機で実行する
のが望ましい処理要求の特徴パラメタの値が近くなるよ
うにでき、実行計算機選択部5の判断能力を強化するこ
とが出来る。また、実行計算機と相関関係のある引数の
特徴パラメタのビット位置を入れ換えたものは、実行計
算機との相関関係が無いランダムな特徴パラメタとな
る。逆に、ビット位置を入れ換えたものが実行計算機と
相関関係がある場合は、ビット位置を入れ換える前の特
徴パラメタは実行計算機との相関関係が無いランダムな
特徴パラメタとなる。そのため、各特徴パラメタの値と
実行計算機の間の相関関係を比べる際の基準となるラン
ダムな成分が必ず特徴パラメタの中に存在することにな
る。このようなランダムな成分が存在することによっ
て、すべての特徴パラメタと実行計算機の相関関係が同
程度で、すべての特徴パラメタが実行計算機と一様に相
関関係があるのか、あるいは一様に相関関係が無いのか
判断がつかない状況を無くすことが出来る。
In this embodiment, for some of the characteristic parameters, the values obtained by exchanging the bit positions of the values are also added to the characteristic parameters. By adding the bit positions interchanged to the feature parameter, for example, if there is a correlation between the value of the higher-order bit of the argument and the computer suitable for executing the processing request, it is possible to execute it on the same computer. The value of the characteristic parameter of the desired processing request can be made close to each other, and the judgment ability of the execution computer selection unit 5 can be enhanced. In addition, the bit positions of the characteristic parameters of the arguments having a correlation with the execution computer are replaced with each other to become a random characteristic parameter having no correlation with the execution computer. On the contrary, when the bit positions are exchanged and the execution computer has a correlation, the feature parameter before the exchange of the bit positions is a random feature parameter having no correlation with the execution computer. Therefore, a random component that serves as a reference when comparing the correlation between the value of each characteristic parameter and the execution computer always exists in the characteristic parameter. Due to the existence of such random components, all the characteristic parameters and the execution computer have a similar correlation, and whether all the characteristic parameters have a uniform correlation with the execution computer, or have a uniform correlation. It is possible to eliminate the situation where it is impossible to judge whether or not there is.

【0133】ビット位置の入れ換え方には各種の方式が
あり、本発明はどのような入れ換え方をも適用できる。
ビット位置の入れ換え方として有用な方式の例は、図2
2に示すようにビット位置を反転(ビットリバース)す
る方式である。すなわち、特徴パラメタの上位のビット
と下位のビットを反転し、その結果得られたビット列を
数値として読みかえたものを特徴パラメタの値とする。
There are various methods for exchanging bit positions, and the present invention can be applied to any exchanging method.
An example of a method that is useful as a method for exchanging bit positions is shown in FIG.
As shown in 2, the bit position is inverted (bit reverse). That is, the upper bits and the lower bits of the characteristic parameter are inverted, and the bit string obtained as a result is read as a numerical value to be the value of the characteristic parameter.

【0134】ビット位置を変換したものを特徴パラメタ
に加える引数の決め方には、引数から得られたすべての
特徴パラメタのビット位置を反転したものを特徴パラメ
タに加える方式、あらかじめ定められた特定のデータ型
に関してビット位置を反転したものを特徴パラメタに加
える方式、プログラマやシステム管理者が指定した引数
に関してビット位置を反転したものを特徴パラメタに加
える方式等がある。図21の例では、整数型の引数に対
してビット位置を反転したものを特徴パラメタに加える
方式を用いている。
The method of deciding the argument in which the bit position is converted is added to the characteristic parameter is a method of adding the bit position of all the characteristic parameters obtained from the argument to the characteristic parameter, and a predetermined specific data. There is a method of adding the bit position reversed with respect to the type to the characteristic parameter, a method of adding the bit position reversed with respect to the argument specified by the programmer or the system administrator to the characteristic parameter, and the like. In the example of FIG. 21, a method is used in which the bit position is inverted with respect to the integer type argument and is added to the feature parameter.

【0135】ランダムな成分を特徴パラメータとして加
えることによる効果を得るためには、乱数を発生させて
特徴パラメータとする実施法も可能である。
In order to obtain the effect of adding a random component as a characteristic parameter, an implementation method in which a random number is generated and used as a characteristic parameter is also possible.

【0136】引数情報と実行履歴情報を処理要求表26
と実行履歴情報記憶部8から受け取る第2の特徴パラメ
タ抽出部29は、上で述べた第1の特徴パラメタ抽出部
と同様の手順で特徴パラメタの抽出を行う。実行履歴情
報記憶部8は、処理要求表26から受け取った実行履歴
情報ポインタの指す特定の要求の種別に属する複数の実
行履歴情報を順次第2の特徴パラメタ抽出部29に送
る。実行履歴情報を受け取った第2の特徴パラメタ抽出
部29は、その中に記録されている処理要求から第1の
特徴パラメタ抽出部28と同じ方式で特徴パラメタを抽
出し、それを実行計算機選択部5に渡す。このとき、そ
の処理要求の実行履歴情報に記録されている実行計算機
と実行コストも合わせて実行計算機選択部5に渡す。
The processing request table 26 stores the argument information and the execution history information.
The second characteristic parameter extraction unit 29 receiving from the execution history information storage unit 8 extracts the characteristic parameters in the same procedure as the first characteristic parameter extraction unit described above. The execution history information storage unit 8 sequentially sends the plurality of execution history information items belonging to the specific request type indicated by the execution history information pointer received from the processing request table 26 to the second characteristic parameter extraction unit 29. The second characteristic parameter extraction unit 29, which has received the execution history information, extracts the characteristic parameter from the processing request recorded therein in the same manner as the first characteristic parameter extraction unit 28, and extracts it from the execution computer selection unit. Pass to 5. At this time, the execution computer and the execution cost recorded in the execution history information of the processing request are also passed to the execution computer selection unit 5.

【0137】実行計算機選択部5は図23に示すような
構成を持つ。実行計算機選択部5は、第1の特徴パラメ
タ抽出部からは新しく到着した処理要求の特徴パラメタ
を受け取り、第2の特徴パラメタ抽出部からは過去に実
行した同じ要求の種別を持つ実行履歴情報から取り出し
た特徴パラメタと実行計算機と実行コストを順次受け取
り、近似コスト選択部30に渡す。
The execution computer selection unit 5 has a structure as shown in FIG. The execution computer selection unit 5 receives the characteristic parameter of the newly arrived processing request from the first characteristic parameter extraction unit, and from the execution history information having the same request type executed in the past, from the second characteristic parameter extraction unit. The extracted characteristic parameter, execution computer, and execution cost are sequentially received and passed to the approximate cost selection unit 30.

【0138】近似コスト選択部30は、複数ある特徴パ
ラメタの内のひとつと、複数ある過去に同じ種別の処理
要求を実行した計算機のひとつとに関して、その実行計
算機で過去に実行した実行履歴情報で該当する特徴パラ
メタ値が最も近いものの実行コストを選び出す。すなわ
ちi番目の特徴パラメタとj番目の実行計算機を担当す
る近似コスト選択部30は、図24に示すような動作を
行う。新しい処理要求の特徴パラメタのi番目の特徴パ
ラメタの値をP、j番目の実行計算機で過去に実行した
同じ種別の処理要求の実行履歴情報の集合をHとする。
H中の各々の実行履歴情報hに対して、第2の特徴パラ
メタ抽出部によって取り出されたhの持つi番目の特徴
パラメタの値とPとを比較し、その差が最も小さな実行
履歴情報の実行コストを近似コストCとして出力する。
図24に示した方式では、該当する実行計算機で過去に
実行した処理要求が無い場合は、実行コストとして0を
出力する。図25に示す方式を用いると、過去に実行し
た処理要求がない場合は∞(最も大きな実行コスト)を
出力する。実行コストが0の場合はその実行計算機に優
先的に処理要求を割り付けられ、実行コストが∞の場合
はその実行計算機には処理要求を割り付けられないこと
になる。図24および図25に示した方式では、特徴パ
ラメタの値の比較は算術的に行っている。この比較には
ハミング距離等のような比較方式を用いることも出来
る。また、文字列に関しては辞書式順序を基にした比較
を用いることも出来る。このような複数の比較方式を併
用する方式も可能である。
The approximate cost selection unit 30 uses the execution history information of the past execution by the execution computer for one of the plurality of characteristic parameters and one of the plurality of computers that executed the same type of processing request in the past. The execution cost of the one having the closest characteristic parameter value is selected. That is, the approximate cost selection unit 30 in charge of the i-th feature parameter and the j-th execution computer performs the operation as shown in FIG. The value of the i-th characteristic parameter of the characteristic parameters of the new processing request is P, and the set of execution history information of the processing requests of the same type executed in the past by the j-th execution computer is H.
For each execution history information h in H, the value of the i-th characteristic parameter of h extracted by the second characteristic parameter extraction unit is compared with P, and the difference of execution history information having the smallest difference is calculated. The execution cost is output as the approximate cost C.
In the method shown in FIG. 24, when there is no processing request executed in the past by the corresponding execution computer, 0 is output as the execution cost. When the method shown in FIG. 25 is used, ∞ (largest execution cost) is output when there is no processing request executed in the past. When the execution cost is 0, the processing request is preferentially assigned to the execution computer, and when the execution cost is ∞, the processing request cannot be assigned to the execution computer. In the method shown in FIGS. 24 and 25, the comparison of the characteristic parameter values is performed arithmetically. A comparison method such as Hamming distance can be used for this comparison. It is also possible to use a lexicographical order-based comparison for character strings. A method using a plurality of such comparison methods in combination is also possible.

【0139】実行計算機選択部5はすべての特徴パラメ
タを実行計算機選択に用いる実施方式の他に、先頭の一
定個数の特徴パラメタのみを用いる実施方式、重み情報
の大きな一定個数の特徴パラメタのみを用いる実施方
式、あるいは重みが一定の値よりも大きな特徴パラメタ
のみを用いるような実施方式もある。
The execution computer selection unit 5 uses not only the implementation method in which all the characteristic parameters are used for execution computer selection, but also the implementation method in which only a fixed number of characteristic parameters at the head are used, and only the fixed number of characteristic parameters having large weight information. There is also an implementation method, or an implementation method in which only the characteristic parameters whose weights are larger than a certain value are used.

【0140】近似コスト選択部30で得られた近似コス
トは、特徴パラメタ毎に最小コスト計算機選択部31に
集められる。最小コスト計算機選択部31はこれらの近
似コストの中から、最も低い近似コストを与える実行計
算機を選び、その特徴パラメタに関する最小コスト計算
機番号Nとして出力する。最小コスト計算機選択部31
の動作は図26に示すように、最小の近似コストを与え
る実行計算機番号を選び出す部分(S4〜S7)と、そ
の最小性が意味のあるものか否かを判定する部分(S8
〜S10)から成る。j番目の特徴パラメタを担当する
最小コスト計算機選択部31に対してk番目の実行計算
機を担当する近似コスト選択部30から渡される近似コ
ストをIkとすると、図26のステップS4からS7
は、各実行計算機に関する近似コストI1,I2,・・
・Im(mは実行計算機の数とする)の中から最もコス
トの小さなものを選び出し、そのコストを与える実行計
算機の番号を実行候補計算機番号Nとして出力する。そ
の後、その最小の近似コストが他の近似コストに比べて
特別に小さいのか否かで、それが意味のある最小性を持
つかどうかを判断する。そのためにまず、ステップS4
からS7でI1からImまでの合計Sを求めておき、そ
れをmで割った平均値S/mと、選び出した実行計算機
Nの最小近似コストCを予め与えられた定数倍(例えば
1.1倍)した値とをステップS8で比べ、S/mの方
が大きければNをj番目の特徴パラメタに関する最小コ
スト計算機として出力する。そうでない場合は実行計算
機Nの近似コストCが有意な最小性を持たないと判断
し、どの実行計算機も選ばないことを意味する計算機番
号−1を出力する。
The approximate costs obtained by the approximate cost selecting section 30 are collected in the minimum cost calculator selecting section 31 for each characteristic parameter. The minimum cost computer selection unit 31 selects an execution computer that gives the lowest approximate cost from these approximate costs, and outputs it as the minimum cost computer number N regarding the characteristic parameter. Minimum cost calculator selection unit 31
26, as shown in FIG. 26, a part (S4 to S7) for selecting an execution computer number that gives the minimum approximate cost and a part (S8) for determining whether or not the minimum property is meaningful.
~ S10). Assuming that the approximate cost passed from the approximate cost selecting unit 30 in charge of the kth execution computer to the minimum cost computer selecting unit 31 in charge of the jth feature parameter is Ik, steps S4 to S7 in FIG.
Are approximate costs I1, I2, ...
The one with the lowest cost is selected from Im (m is the number of execution computers), and the number of the execution computer that gives the cost is output as the execution candidate computer number N. Then, it is judged whether or not it has a meaningful minimum property by whether or not the minimum approximation cost is particularly smaller than the other approximation costs. Therefore, first, step S4
From S7 to S7, the total S from I1 to Im is calculated, and the average value S / m obtained by dividing it by m and the minimum approximate cost C of the selected execution computer N are multiplied by a predetermined constant (for example, 1.1. If the S / m is larger, N is output as the minimum cost calculator for the jth feature parameter. If not, it is determined that the approximate cost C of the execution computer N does not have significant minimality, and the computer number -1 which means that no execution computer is selected is output.

【0141】こうして最小コスト計算機選択部31によ
って各特徴パラメタ毎に選ばれた実行候補計算機と、処
理要求表26から渡される各特徴パラメタの重み情報を
元に、計算機番号選択部32は処理要求を割り付けるべ
き実行計算機番号を選び出す。計算機番号選択部32は
図27に示すように、まず各特徴パラメタに関する実行
候補計算機とその特徴パラメタの重みの組を、重み順ソ
ート部33によって、重みの大きな物から順に並べかえ
る。その出力は図27に示すように重い物から順に確率
的選択部34に入れられ、実行計算機番号を選択する。
確率的選択部34は図28に示すように、実行候補計算
機番号C、その計算機番号を選び出した特徴パラメタの
重みW、乱数発生部35で発生した0.0から1.0の
間の値をとる乱数R、前段の確率的選択部34で選んだ
実行計算機番号Pを入力とし、この段で決定した実行候
補計算機番号Nを出力する。最上流の確率的選択部34
のPには、どの実行計算機も選ばれていないことを示す
−1が入力される。確率的選択部34の動作は図28に
示すように、前段で実行計算機が決定された場合はその
計算機番号を、そうでない場合で乱数Rが重みWより小
さな場合は候補計算機番号Cが、そのいずれでもない場
合はどの計算機も選ばないことを示す−1が出力Nとな
る。最下流にはどの特徴パラメタに関しても実行計算機
が選ばれなかった場合に備えて、重みが1.0で候補計
算機番号は任意計算機選択部36の選択結果である確率
的選択部34を設ける。
Based on the execution candidate computers selected for each characteristic parameter by the minimum cost computer selecting unit 31 and the weight information of each characteristic parameter passed from the processing request table 26, the computer number selecting unit 32 makes a processing request. Select the execution computer number to be assigned. As shown in FIG. 27, the computer number selection unit 32 first sorts the sets of execution candidate computers and the weights of the feature parameters for each feature parameter in order from the item with the largest weight by the weight order sort unit 33. As shown in FIG. 27, the output is put into the probabilistic selection unit 34 in order from the heaviest one, and the execution computer number is selected.
As shown in FIG. 28, the probabilistic selection unit 34 sets the execution candidate computer number C, the weight W of the characteristic parameter that has selected the computer number, and the value between 0.0 and 1.0 generated by the random number generation unit 35. The random number R to be taken and the execution computer number P selected by the stochastic selection unit 34 in the previous stage are input, and the execution candidate computer number N determined in this stage is output. The most upstream stochastic selection unit 34
In P of 1, -1 indicating that no execution computer is selected is input. As shown in FIG. 28, the operation of the probabilistic selection unit 34 is the computer number when the execution computer is determined in the previous stage, and the candidate computer number C when the random number R is smaller than the weight W otherwise. If none of the above, the output N is -1, which indicates that no computer is selected. A stochastic selection unit 34 having a weight of 1.0 and a candidate computer number which is the selection result of the arbitrary computer selection unit 36 is provided in the most downstream, in case no execution computer is selected for any feature parameter.

【0142】任意計算機選択部36は、どの特徴パラメ
タに関する確率的選択部34も実行計算機を選択しなか
った場合に、任意の計算機を選び出す働きを持つ。図2
7に示すように任意計算機選択部36が乱数を用いてラ
ンダムに実行計算機を決定する場合は、ランダムな割付
けとなる。任意計算機選択部36は、今までに各実行計
算機に割り付けた偏りをもとに、各処理要求実行計算機
の負荷を予測し、負荷が小さいと予測される実行計算
機、即ち過去に割り付けた処理要求の少ない実行計算機
や現在割り付けて処理中の処理要求の少い実行計算機を
優先的に選択したり、各実行計算機の負荷情報を知り、
それを元に負荷の小さな実行計算機を優先的に選択する
実施方式もある。
The arbitrary computer selection unit 36 has a function of selecting an arbitrary computer when the probabilistic selection unit 34 for any feature parameter does not select the execution computer. Figure 2
As shown in FIG. 7, when the arbitrary computer selection unit 36 randomly determines an execution computer by using a random number, random allocation is performed. The arbitrary computer selection unit 36 predicts the load of each processing request execution computer based on the bias allocated to each execution computer so far, and the execution computer whose load is predicted to be small, that is, the processing request allocated in the past. Of the execution computers with less processing requests and processing requests that are currently allocated and processed, and know the load information of each execution computer,
There is also an implementation method based on which an execution computer with a small load is preferentially selected.

【0143】こうして選択された実行計算機番号は処理
要求送信部6に送られる。処理要求送信部6はこの実行
計算機番号を用いて処理要求表26から渡された実行計
算機情報を引き、該当する計算機に対して、処理要求受
信部3から渡された処理要求を転送する。このとき、実
行履歴情報記憶部8に記憶した該当する処理要求の実行
履歴情報に、処理要求を転送した実行計算機を登録す
る。
The execution computer number thus selected is sent to the processing request transmission unit 6. The processing request transmitting unit 6 uses this execution computer number to subtract the execution computer information passed from the processing request table 26, and transfers the processing request passed from the processing request receiving unit 3 to the corresponding computer. At this time, the execution computer that transferred the processing request is registered in the execution history information of the corresponding processing request stored in the execution history information storage unit 8.

【0144】こうして割り付けられて転送された処理要
求は、処理要求実行計算機10によって実行し、その実
行結果は処理要求割り付け部11に送り返される。処理
要求割り付け部の処理結果受信部12は処理結果を受信
し、その処理結果を実行コスト検出部9と処理結果送信
部13に送る。実行コスト検出部9はその処理結果に対
応する実行履歴情報を実行履歴情報記憶部から取り出
し、その実行コストを記録する。ここでは実行に要した
時間を実行コストとする方式をとる。そのために、処理
要求送信部6は処理要求を転送する際に該当する実行履
歴情報の実行コスト欄にその時点の時刻を記録してお
く。実行コスト検出部9は実行コスト欄に記録された時
刻と現在の時刻の差を実行コストとして実行コスト欄に
記録し直す。本実施例では実行時間を実行コストとした
が、処理要求実行計算機10が実行コストを処理結果に
添えて送り返す方式もある。この場合処理要求実行計算
機10で任意のデータを実行コストとして与えることが
出来る。実行コストの例としては、実行中に必要となっ
たディスク参照回数、他のノードのデータのアクセス回
数、ロックの待ちの回数等を用いることが出来る。
The processing request thus allocated and transferred is executed by the processing request execution computer 10, and the execution result is sent back to the processing request allocation unit 11. The processing result receiving section 12 of the processing request allocating section receives the processing result and sends the processing result to the execution cost detecting section 9 and the processing result transmitting section 13. The execution cost detection unit 9 extracts the execution history information corresponding to the processing result from the execution history information storage unit and records the execution cost. In this case, the time taken for execution is used as the execution cost. Therefore, the processing request transmitting unit 6 records the time at that point in the execution cost column of the execution history information corresponding to the transfer of the processing request. The execution cost detector 9 re-records the difference between the time recorded in the execution cost column and the current time as the execution cost in the execution cost column. Although the execution time is used as the execution cost in this embodiment, there is also a method in which the processing request execution computer 10 sends back the execution cost together with the processing result. In this case, the processing request execution computer 10 can give arbitrary data as the execution cost. As an example of the execution cost, it is possible to use the number of disk references required during the execution, the number of times data is accessed by another node, the number of times waiting for a lock, and the like.

【0145】本実施例のように処理結果を処理要求割り
付け部が中継して処理要求発生部に送り返す方式以外
に、処理要求実行計算機が処理要求発生部に直接処理結
果を送り返し、処理要求割り付け部はその間の通信路を
モニターし、処理結果のパケットを見つければそれを取
り込んで実行コストを検出するような実施方式も可能で
ある。
In addition to the method in which the processing request allocating section relays the processing result and sends it back to the processing request generating section as in the present embodiment, the processing request execution computer directly sends the processing result back to the processing request generating section, and the processing request allocating section It is also possible to adopt an implementation method in which the communication path between them is monitored, and if a packet of the processing result is found, it is taken in and the execution cost is detected.

【0146】本実施例では、処理要求実行計算機に送っ
た処理要求とその処理結果の対応は、実行履歴情報を参
照することで判断する。しかし、この方式では同時に複
数のパケットを同じ処理要求実行計算機に割り付けて多
重処理を行なうことが出来ない。これを可能にするため
には、図29(a)に示すように処理要求パケットに一
意の識別番号を持たせる。処理要求実行計算機は図29
(b)に示すように処理要求に付いて来た識別番号を処
理結果に持たせて返す。この一意の識別番号を用いるこ
とにより、同時に複数の処理要求を同じ実行計算機に割
り付けた場合でも、実行履歴情報に記録された処理要求
と処理結果の対応をとることが可能になる。このような
識別番号を用いて同じ計算機に対する処理要求を識別す
る方式以外に、処理要求割り付け部と処理要求実行計算
機を結ぶ通信チャネルを論理的に多重化し、同時に同じ
計算機に対する処理要求も異なる通信チャネルを用いる
ことで識別することが可能になる。
In the present embodiment, the correspondence between the processing request sent to the processing request execution computer and the processing result is determined by referring to the execution history information. However, in this method, it is impossible to simultaneously allocate a plurality of packets to the same processing request execution computer and perform multiple processing. In order to enable this, the processing request packet is given a unique identification number as shown in FIG. The processing request execution computer is shown in FIG.
As shown in (b), the processing result is returned with the identification number attached to the processing request. By using this unique identification number, even when a plurality of processing requests are simultaneously assigned to the same execution computer, it becomes possible to associate the processing request recorded in the execution history information with the processing result. In addition to the method of identifying the processing request to the same computer using such an identification number, the communication channel connecting the processing request assigning unit and the processing request executing computer is logically multiplexed, and at the same time, the processing channel to which the processing request to the same computer is different. Can be identified by using.

【0147】処理要求を割り付ける処理要求実行計算機
の選択に用いる各特徴パラメタの重み情報は、プログラ
マやシステム管理者が与える実施方法もあるが、このよ
うな値は自動的に決定できることが望ましい。そのため
に、図30に示すような重み計算部(図11の27)を
用いる。重み計算部27は実行履歴情報記憶部8に記憶
している過去の実行履歴情報から、どの特徴パラメタと
最適な処理要求実行計算機との間に相関関係が強いかを
判断し、相関関係が強い特徴パラメタの重みほど大きく
なるように設定する。重み計算部27は大きく各特徴パ
ラメタ毎のクラスタ数を求めるクラスタ計算部37と、
そのクラスタ数を正規化して重み情報に変換する重み正
規化部38の2つの部分から成る。j番目の特徴パラメ
タに対応するクラスタ計算部37は、図31に示すよう
な構成を持ち、重み情報を計算したい要求の種別に属す
るすべての実行履歴情報を入力とする。それらの実行履
歴情報は特徴パラメタ順ソート部41に入り、j番目の
特徴パラメタの順に並べ変えられ、順次計算機番号変化
計数部42に送られる。計算機番号変化計数部42は実
行履歴情報を順次受け取り、その中に記録されている実
行計算機が変化する回数をクラスタ数として出力する。
j番目の特徴パラメタと最適な実行計算機の間に相関関
係がある場合には、j番目の特徴パラメタでソートすれ
ば同じ実行計算機を持つ実行履歴情報が並ぶ可能性が高
いため、クラスタ数が小さくなる。
The weight information of each characteristic parameter used for selecting the processing request execution computer to which the processing request is assigned may be given by a programmer or a system administrator, but it is desirable that such a value can be automatically determined. For that purpose, a weight calculator (27 in FIG. 11) as shown in FIG. 30 is used. The weight calculation unit 27 determines from the past execution history information stored in the execution history information storage unit 8 which characteristic parameter has a strong correlation with the optimum processing request execution computer, and the correlation is strong. The weight of the characteristic parameter is set to be larger. The weight calculation unit 27 roughly includes a cluster calculation unit 37 that obtains the number of clusters for each characteristic parameter,
The weight normalization unit 38 normalizes the number of clusters and converts it into weight information. The cluster calculation unit 37 corresponding to the jth feature parameter has a configuration as shown in FIG. 31 and receives as input all execution history information belonging to the type of request for which weight information is to be calculated. The execution history information is input to the characteristic parameter order sorting unit 41, rearranged in the order of the jth characteristic parameter, and sequentially sent to the computer number change counting unit 42. The computer number change counting unit 42 sequentially receives the execution history information, and outputs the number of times the execution computer recorded therein changes as the number of clusters.
If there is a correlation between the j-th characteristic parameter and the optimum execution computer, it is highly likely that the execution history information having the same execution computer will be lined up if sorted by the j-th characteristic parameter, so the number of clusters is small. Become.

【0148】こうして得られた各特徴パラメタのクラス
タ数は、重み正規化部38に送られると共に、最大値検
出部40と最小値検出部39にも送られる。最大値検出
部40は各特徴パラメタに対するクラスタ数の最大値
を、最小値検出部39は各特徴パラメタに対するクラス
タ数の最小値を求めて計算する。各特徴パラメタに対す
る重み正規化部38は、その特徴パラメタのクラスタ数
Cと、最小値検出部の出力min、最大値検出部の出力
maxを入力とし、クラスタ数を正規化処理してその特
徴パラメタの重みWとして出力する。この正規化出力
は、一例として次のような式を用いることが出来る。
The number of clusters of each characteristic parameter thus obtained is sent to the weight normalization section 38, and also to the maximum value detection section 40 and the minimum value detection section 39. The maximum value detector 40 calculates the maximum value of the number of clusters for each characteristic parameter, and the minimum value detector 39 calculates the minimum value of the number of clusters for each characteristic parameter. The weight normalization unit 38 for each characteristic parameter receives the number of clusters C of the characteristic parameter, the output min of the minimum value detection unit, and the output max of the maximum value detection unit as input, and normalizes the number of clusters to obtain the characteristic parameter. Is output as the weight W. For this normalized output, the following formula can be used as an example.

【0149】W=0.9*(max−C)/(max−
min)+0.05 この式を用いると、クラスタ数が最小の特徴パラメタの
重みが0.95に、クラスタ数が最大の特徴パラメタの
重みが0.05になるよう線形に正規化される。同様の
式を用いて0.0から1.0の間の値を持つような線形
の正規化を行うことも出来る。また非線形の関数を用い
た正規化を行い、たとえば、クラスタ数が大きな間は重
みがほとんどかからないようにするなどの実施方式もあ
る。
W = 0.9 * (max-C) / (max-
min) +0.05 When this expression is used, the weighting of the feature parameter with the smallest number of clusters is 0.95, and the weighting of the feature parameter with the largest number of clusters is 0.05. A similar normalization can be used to perform linear normalization with values between 0.0 and 1.0. There is also an implementation method in which normalization is performed using a non-linear function so that little weight is applied while the number of clusters is large.

【0150】実行履歴情報記憶部8に記憶する実行履歴
情報のうち、古い物は実行履歴情報管理部7によって削
除される。削除する実行履歴情報は、一定の時間以上前
に記録された物、あるいは実行履歴情報記憶部に入れる
実行履歴情報の個数を定めておく場合に、その個数を越
える古い物等が対象になる。本実施例では、実行履歴情
報記憶部8に記憶できる実行履歴情報の個数(保存履歴
数)が一定であるとしている。保存履歴数はプログラマ
やシステム管理者が与える実施方法もあるが、このよう
な値は自動的に決定できることが望ましい。そのため、
図32に示すような構成を持ち、保存履歴数を自動的に
調整する保存履歴数決定部を用いる。
Of the execution history information stored in the execution history information storage unit 8, the old one is deleted by the execution history information management unit 7. The execution history information to be deleted is an object recorded before a certain period of time or an old object exceeding the number when the number of pieces of execution history information to be stored in the execution history information storage unit is determined. In this embodiment, the number of pieces of execution history information that can be stored in the execution history information storage unit 8 (the number of saved histories) is constant. The number of saved histories may be given by a programmer or system administrator, but it is desirable that such a value can be automatically determined. for that reason,
A save history number determination unit that has a configuration as shown in FIG. 32 and automatically adjusts the save history number is used.

【0151】保存履歴数決定部は現在の保存履歴数Wと
それよりも小さな保存履歴数wとを管理し、新しい処理
要求に対して過去W個の実行履歴情報を用いて実行計算
機を選択した場合の予測コストと、過去w個の実行履歴
情報を用いて実行計算機を選択した場合の予測コストを
求め、実際に割り付けて実行するのに要した実行コスト
との差の統計量を基に保存履歴数を変更して行く。以
下、この動作を図32を用いて説明する。
The save history number determination unit manages the current save history number W and the save history number w smaller than the current save history number W, and selects the execution computer using the past W execution history information for a new processing request. The estimated cost of the case and the estimated cost when the execution computer is selected by using the past w pieces of execution history information, and saved based on the statistic of the difference between the execution cost actually allocated and executed. Change the number of histories. This operation will be described below with reference to FIG.

【0152】保存履歴数決定部は実行計算機選択部1と
実行計算機選択部5の2つの実行計算機選択部を持つ。
これらの実行計算機選択部は図23や図27に示したも
のと同等の構成を持つが、その出力は実行計算機番号で
はなく、選ばれた実行計算機での処理要求の実行に要す
ると予測した実行コストである。すなわち、図23にお
いて実行計算機選択部5の最小コスト計算機選択部は、
最小コストを与える実行候補計算機番号だけでなくその
最小の実行コストをも出力する。さらに図27において
各特徴パラメタに関する実行候補計算機の番号だけでな
くそれに付随する実行コストも一緒に重み順ソート部で
ソートし、確率的選択部も実行候補計算機番号と実行コ
ストを組みにして扱う。実行計算機選択部1は図11に
示すような処理要求割り付け部に用いる実行計算機選択
部8と兼用することが出来る。
The storage history number determination unit has two execution computer selection units, an execution computer selection unit 1 and an execution computer selection unit 5.
These execution computer selection units have the same configurations as those shown in FIG. 23 and FIG. 27, but the output is not the execution computer number, but the predicted execution required for execution of the processing request by the selected execution computer. The cost. That is, in FIG. 23, the minimum cost computer selection unit of the execution computer selection unit 5 is
It outputs not only the execution candidate computer number that gives the minimum cost, but also the minimum execution cost. Further, in FIG. 27, not only the number of the execution candidate computer relating to each characteristic parameter but also the execution cost associated therewith are sorted by the weight order sort unit, and the probabilistic selection unit also handles the execution candidate computer number and the execution cost as a set. The execution computer selection unit 1 can also serve as the execution computer selection unit 8 used in the processing request allocation unit as shown in FIG.

【0153】新しい処理要求を受信した実行計算機割り
付け部は、実行履歴情報記憶部に記憶しているW個の実
行履歴情報を用いて実行計算機選択部1によって、その
処理要求の実行に必要な予測コスト1を求める。この
時、その予測コスト1で実行できると推定した実行計算
機番号を処理要求送信部に送り、処理要求の割付けを行
う。同時に実行計算機選択部5はw個の実行履歴情報を
用いてその処理要求の実行に必要な予測コスト2を求め
る。こうして求めた予測コスト1および予測コスト2
と、実際にその処理要求を実行計算機選択部1で選択し
た実行計算機で実行するのに要した実行コストとの差
を、それぞれ偏差計算部1と偏差計算部2で求める。偏
差計算部は予測コストと実コストの算術的な差の絶対値
を出力する。
The execution computer allocating unit, which has received the new processing request, uses the W pieces of execution history information stored in the execution history information storage unit to execute the prediction required for the execution of the processing request by the execution computer selecting unit 1. Calculate the cost 1. At this time, the execution computer number estimated to be executable at the predicted cost 1 is sent to the processing request transmission unit to allocate the processing request. At the same time, the execution computer selection unit 5 uses the w pieces of execution history information to obtain the predicted cost 2 required to execute the processing request. Predicted cost 1 and predicted cost 2 thus obtained
Then, the deviation calculation unit 1 and the deviation calculation unit 2 respectively obtain the difference between the execution cost and the execution cost required to execute the processing request by the execution computer selected by the execution computer selection unit 1. The deviation calculator outputs the absolute value of the arithmetic difference between the predicted cost and the actual cost.

【0154】各処理要求に関する偏差計算部1と偏差計
算部2の出力および実コストは、それぞれ平均計算部
1、平均計算部2、平均計算部3に渡される。平均計算
部は入力された値に対して、過去の一定個数分の平均値
を求めて出力する。つまり平均計算部1および平均計算
部2の出力は、それぞれ予測コスト1と予測コスト2の
実コストとの差の絶対値の平均となる。また平均計算部
3の出力は実コストの平均値となる。平均計算部1と平
均計算部2の出力は誤差率計算部1と誤差率計算部2に
渡される。誤差率計算部1および誤差率計算部2は、そ
れぞれ平均計算部1と平均計算部2から渡された予測コ
ストと実コストの差の平均値を、平均計算部3から渡さ
れる実コストの平均値で割った値を出力する。これらの
値をそれぞれ誤差率1および誤差率2と呼ぶ。誤差率は
予測値が実コストとどれくらいずれているかを示す指標
となる。
The outputs and actual costs of the deviation calculator 1 and the deviation calculator 2 for each processing request are passed to the average calculator 1, the average calculator 2, and the average calculator 3, respectively. The average calculation unit obtains and outputs an average value of a fixed number in the past with respect to the input value. That is, the outputs of the average calculation unit 1 and the average calculation unit 2 are averages of the absolute values of the differences between the predicted cost 1 and the predicted cost 2, respectively. The output of the average calculation unit 3 is the average value of the actual costs. The outputs of the average calculator 1 and the average calculator 2 are passed to the error rate calculator 1 and the error rate calculator 2. The error rate calculation unit 1 and the error rate calculation unit 2 average the difference between the predicted cost and the actual cost passed from the average calculation unit 1 and the average calculation unit 2, respectively, and calculate the average of the actual costs passed from the average calculation unit 3. Output the value divided by the value. These values are called error rate 1 and error rate 2, respectively. The error rate is an index showing how much the predicted value is equal to the actual cost.

【0155】保存履歴数更新部は図33に示すように、
現在の保存履歴数Wと下位の保存履歴数wと誤差率1と
誤差率2を入力とし、望ましい保存履歴数WWと下位の
保存履歴数wwを計算し、それを新しい保存履歴数と下
位の保存履歴数として設定する。誤差率1と誤差率2を
それぞれEuとElとすると、予め与えられている満た
されなければならない誤差率Tに比べてElが小さな場
合(S12)は、現在の保存履歴数は大きすぎて期待す
る以上に良い予測値を与えていることになる。この時は
下位の保存履歴数wを新しい保存履歴数WWとし、wよ
りもさらに小さな数を新しい下位の保存履歴数wwとす
る(S13)。逆にEuがTよりも大きな場合(S1
4)は、現在の保存履歴数は小さすぎて期待する質の予
測値が出ていないことになる。この時は現在の保存履歴
数を新しい下位の保存履歴数wwとし、Wよりも大きな
数を新しい保存履歴数WWとする(S15)。
As shown in FIG. 33, the storage history number updating unit
Input the current save history number W, the lower save history number w, the error rate 1 and the error rate 2, calculate the desired save history number WW and the lower save history number ww, and calculate the desired save history number WW and the lower save history number ww. Set as the number of saved histories. Assuming that the error rate 1 and the error rate 2 are Eu and El, respectively, if El is smaller than the error rate T that must be satisfied in advance (S12), the current number of saved histories is too large and expected. It means giving a better predicted value than it does. At this time, the lower storage history number w is set as the new storage history number WW, and a number smaller than w is set as the new lower storage history number ww (S13). Conversely, when Eu is larger than T (S1
In 4), the current number of saved histories is too small to give the expected quality predicted value. At this time, the current storage history number is set as a new lower storage history number ww, and a number larger than W is set as a new storage history number WW (S15).

【0156】(発明の効果)(以上説明したように本発
明の処理要求割り付け部を用いれば、複数の計算機から
成る情報処理システムに於いて、処理要求とそれを実行
するのに最適な計算機の間に相関関係がある場合には、
その相関関係を自動的に検出し、処理要求を最適な計算
機に割り付けることができる。処理要求の割り付けに必
要な情報は自動的に検出するため、プログラマやシステ
ム管理者が割り付け手続きを与える必要がなく、情報処
理システム全体の持つ性能を容易に引き出すことが出来
る。) (第4の実施例)次に、本発明の第4の実施例を説明す
る。
(Effects of the Invention) (As described above, by using the processing request allocating unit of the present invention, in an information processing system composed of a plurality of computers, processing requests and the optimum computer for executing the processing requests can be obtained. If there is a correlation between
The correlation can be automatically detected and the processing request can be assigned to the optimum computer. Since the information necessary for allocating the processing request is automatically detected, the programmer or system administrator does not need to give an allocation procedure, and the performance of the entire information processing system can be easily obtained. (Fourth Embodiment) Next, a fourth embodiment of the present invention will be described.

【0157】本実施例のシステム全体図は、第1〜第3
の実施例で示したものと同様であり、本実施例と前述し
た実施例との相違は、処理要求割り付け部とデータ配置
決定部120およびデータ管理部117との間の協調の
仕方が異なる点にある。以下、主に、本実施例が前述し
た実施例と異なる点について説明する。なお、前述した
実施例の処理要求割り付け部と区別するため、本実施例
の処理要求割り付け部を301で表すこととする。
The overall system diagram of this embodiment is as follows:
This embodiment is the same as that shown in the above embodiment, and the difference between this embodiment and the above-mentioned embodiment is that the method of cooperation between the processing request allocation unit, the data arrangement determination unit 120, and the data management unit 117 is different. It is in. Hereinafter, differences between the present embodiment and the above-described embodiments will be mainly described. It should be noted that, in order to distinguish it from the processing request allocating unit of the above-described embodiment, the processing request allocating unit of this embodiment is represented by 301.

【0158】図1、図2、図3において、処理要求割り
付け部101は、新しい処理要求を受信すると、実行履
歴と比較して実行すべきアプリケーションプログラム1
16の存在する処理要求実行計算機110を選択して処
理要求の実行を指示した。
In FIG. 1, FIG. 2, and FIG. 3, when the processing request allocating unit 101 receives a new processing request, it compares the execution history with the application program 1 to be executed.
16 processing request execution computers 110, which exist, were selected to instruct execution of the processing request.

【0159】本実施例では、処理要求割り付け部301
に、各処理要求実行計算機110のデータ記憶装置11
8にどのようなデータが記憶されているかを表すデータ
配置情報を知る手段を持たせ、新しい処理要求を受信す
るとデータ配置情報と比較して実行すべきアプリケーシ
ョンプログラム116の存在する処理要求実行計算機1
10を選択して処理要求の実行を指示するように構成す
る。
In this embodiment, the processing request allocation unit 301
In addition, the data storage device 11 of each processing request execution computer 110
8 is provided with a means for knowing data arrangement information indicating what kind of data is stored, and when a new processing request is received, the processing request execution computer 1 in which the application program 116 to be executed by comparing with the data arrangement information exists
10 is selected to instruct execution of the processing request.

【0160】図34に、本実施例の処理要求割り付け部
301の内部構成の一例を示す。処理要求割り付け部3
01には、データ配置情報を記録するデータ配置表30
3と、ルーティング情報を記録するルーティング表30
4と、これら表303,304に基づき新しく到着した
処理要求を実行すべき処理要求実行計算機110を決定
して処理要求の実行を指示する割り付け決定部302か
らなる。
FIG. 34 shows an example of the internal structure of the processing request allocation unit 301 of this embodiment. Processing request allocation unit 3
01 is a data allocation table 30 for recording data allocation information.
3 and a routing table 30 for recording routing information
4 and an allocation determination unit 302 that determines a processing request execution computer 110 to execute a newly arrived processing request based on these tables 303 and 304 and instructs execution of the processing request.

【0161】データ配置表303は、例えば図35のよ
うな構成を持つ。データ配置表303には、各データベ
ースに関して、キーの値がどの範囲のデータは、どの処
理要求実行計算機のデータ記憶装置に記憶されているか
を示す情報が記録される。例えば図35の例では、AC
COUNTという名前のデータベースがあって、その主
キーの値が0から999の範囲のデータは0番の処理要
求実行計算機110のデータ記憶装置118にあること
を示している。
The data arrangement table 303 has a structure as shown in FIG. 35, for example. In the data arrangement table 303, for each database, information indicating which range of the key value is stored in which data storage device of which processing request execution computer is stored is recorded. For example, in the example of FIG.
It indicates that there is a database named COUNT, and the data whose primary key value is in the range of 0 to 999 is in the data storage device 118 of the processing request execution computer 110 having the number 0.

【0162】データ配置表303は、人手で作って処理
要求割り付け部301に与える方法も可能であり、ま
た、データ配置決定部120が新しいデータ配置を決定
した時にその情報を処理要求割り付け部301に伝えて
データ配置表303に記録する実施方法も可能であり、
さらに、各データ管理部117が自分がどのようなデー
タを管理するかを処理要求割り付け部301に伝えてデ
ータ配置表303に記録する実施方法も可能である。
The data allocation table 303 may be manually created and given to the processing request allocating section 301. Further, when the data allocation determining section 120 determines new data allocation, the information is sent to the processing request allocating section 301. It is also possible to carry out and record the data allocation table 303.
Furthermore, an implementation method is also possible in which each data management unit 117 informs the processing request allocation unit 301 of what data it manages and records it in the data allocation table 303.

【0163】ルーティング表304は、例えば図36の
ような構成を持つ。ルーティング表304には、処理要
求実行計算機110上のアプリケーションプログラム1
16が実行可能な処理要求の種類と、処理要求の割り付
けを行うときに使う引数の名前と、同じく処理要求の割
り付けのときに使うデータベースの名前を記録してい
る。
The routing table 304 has a structure as shown in FIG. 36, for example. The routing table 304 shows the application program 1 on the processing request execution computer 110.
16 records the types of process requests that can be executed, the names of arguments used when allocating process requests, and the names of databases that are also used when allocating process requests.

【0164】処理要求は、例えば図37に示すように、
処理要求の種類を示すヘッダと、処理要求の実行に必要
ないくつかの引数から構成される。図37の例では、預
金の引出しを行うWITHDRAWという処理要求は、
口座番号を示すACCOUNT_ID、窓口番号を示す
TELLER_ID、支店番号を示すBRANCH_I
D、引出し金額を示すAMOUNTの4つの引数を持
つ。
The processing request is, for example, as shown in FIG.
It consists of a header that indicates the type of processing request and some arguments required to execute the processing request. In the example of FIG. 37, the processing request called WITHDRAW for withdrawing a deposit is
ACCOUNT_ID showing account number, TELLER_ID showing window number, BRANCH_I showing branch number
It has four arguments, D and AMOUNT indicating the withdrawal amount.

【0165】図36のルーティング表304は、預金の
引出しを行うWITHDRAWという処理要求は、AC
COUNT_IDという引数の値とACCOUNTとい
うデータベースと照らし合わせて処理要求の割り付けを
行うことを示している。すなわち、WITHDRAWの
処理要求が処理要求割り付け部301に到着すると、割
り付け決定部302はまずルーティング表304を見
て、WITHDRAWはACCOUNT_IDの値とA
CCOUNTデータベースを用いてルーティングするこ
とを知る。次に、処理要求の持つACCOUNT_ID
という引数の値を取り出す。その後、割り付け決定部3
02はデータ配置表303を見て、ACCOUNTデー
タベースのデータで、そのキーの値が処理要求のACC
OUNT_ID引数の値と同じものはどの計算機番号の
処理要求実行計算機に存在するかを調べる。こうして調
べた処理要求実行計算機に対して処理要求の実行を指示
する。
In the routing table 304 of FIG. 36, the processing request WITHDRAW for withdrawing deposits is AC.
It indicates that the processing request is allocated by checking the value of the argument COUNT_ID and the database ACCOUNT. That is, when a WITHDRAW processing request arrives at the processing request allocating unit 301, the allocation determining unit 302 first looks at the routing table 304, and WITHDRAW indicates the value of ACCOUNT_ID and A.
Know to route using the CCOUNT database. Next, the ACCOUNT_ID of the processing request
To retrieve the value of the argument. After that, the allocation determination unit 3
02 is the data of the ACCOUNT database, looking at the data arrangement table 303, and the value of the key is the ACC of the processing request.
It is checked which computer number has the same value as the OUNT_ID argument in the processing request executing computer. The processing request execution computer thus checked is instructed to execute the processing request.

【0166】ルーティング表304は、人手で作成して
処理要求割り付け部301に記録するような方法が可能
である。
The routing table 304 can be manually created and recorded in the processing request allocation unit 301.

【0167】第1の実施例に示したような処理要求割り
付け部101は、必ずしも毎回最適な処理要求実行計算
機110を選び出せない確率的なアルゴリズムで動作し
ているのに対して、本実施例のような処理要求割り付け
部301は、ルーティング表304やデータ配置表30
3が正しく与えられれば必ず最適な処理要求実行計算機
110を選び出せる決定的なアルゴリズムで動作してい
る。決定的なアルゴリズムを用いる場合は、データの配
置が変更されてもすぐに新しいデータ配置に応じた処理
要求の割り付けが可能であるという効果が得られる。一
方、確率的なアルゴリズムの場合はルーティング表のよ
うな割り付けに関する情報を処理要求割り付け部に与え
る必要がないという効果が得られる。
The processing request allocating unit 101 as shown in the first embodiment operates with a probabilistic algorithm that cannot always select the optimum processing request execution computer 110, while the processing request allocating unit 101 of the present embodiment operates. The processing request assigning unit 301 such as
If 3 is given correctly, it operates by a deterministic algorithm that can always select the optimum processing request execution computer 110. When the deterministic algorithm is used, it is possible to obtain an effect that the processing request can be assigned according to the new data arrangement immediately after the data arrangement is changed. On the other hand, in the case of the probabilistic algorithm, it is possible to obtain the effect that it is not necessary to give the processing request allocating unit information regarding allocation such as a routing table.

【0168】また、本発明は上述した各実施例に限定さ
れるものではなく、その要旨を逸脱しない範囲で、種々
変形して実施することができる。
The present invention is not limited to the above-described embodiments, but can be implemented with various modifications without departing from the scope of the invention.

【0169】[0169]

【発明の効果】本発明では、処理要求を実行する最適な
計算機すなわち最も小さなコストでその処理要求を実行
することのできる計算機を選択し処理を割り当てる処理
要求割り付け手段と、データの自動最適配置を行うデー
タ配置決定手段とを設け、データの配置に応じた処理要
求割り付けとデータ再配置とのフィードバックループを
形成した。
According to the present invention, an optimum computer for executing a processing request, that is, a computer capable of executing the processing request at the lowest cost is selected, processing request allocating means for allocating the processing, and automatic data optimum allocation are provided. A data allocation determining means is provided to form a feedback loop for processing request allocation and data relocation according to the data allocation.

【0170】これによって、データ配置決定手段による
データの自動最適配置によって、どのような処理要求が
どのような頻度で発生するかといった動的な特性に対し
て、それに対する最適なデータの分割配置を行うことが
でき各処理要求の実行性能が向上する。
As a result, the optimum data division arrangement for the dynamic characteristics such as what kind of processing request occurs and how often by the automatic optimum arrangement of data by the data arrangement determining means. It is possible to improve the execution performance of each processing request.

【0171】また、処理要求割り付け手段は、新しいデ
ータ配置に従って各処理要求をそれを実行するのに適し
た計算機に割り付けることができるので、データの分散
配置の決定や処理要求の割り付け方法を与えなくても自
動的に処理の負荷分散ができ、各処理要求の実行時間に
関しても最適化される。
Further, the processing request allocating means can allocate each processing request to a computer suitable for executing the processing request according to the new data allocation, so that the method of allocating the data distribution and allocating the processing request are not given. However, the processing load can be automatically distributed, and the execution time of each processing request is optimized.

【0172】また、データ処理装置全体のチューニング
も自動化でき、システム管理も容易になる。
Further, the tuning of the entire data processing device can be automated and system management becomes easy.

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

【図1】第1の実施例に係るデータ処理装置の構成例を
概略的に示す図
FIG. 1 is a diagram schematically showing a configuration example of a data processing device according to a first embodiment.

【図2】第1の実施例に係るデータ処理装置の他の構成
を概略的に示す図
FIG. 2 is a diagram schematically showing another configuration of the data processing device according to the first embodiment.

【図3】第2の実施例に係るデータ処理装置の構成例を
概略的に示す図
FIG. 3 is a diagram schematically showing a configuration example of a data processing device according to a second embodiment.

【図4】第3の実施例に係るデータ処理装置の構成例を
概略的に示す図
FIG. 4 is a diagram schematically showing a configuration example of a data processing device according to a third embodiment.

【図5】第1〜第3の実施例に係るデータ管理部および
データ配置決定部の概略構成図
FIG. 5 is a schematic configuration diagram of a data management unit and a data arrangement determination unit according to the first to third embodiments.

【図6】同実施例に係る処理要求割り付け部の構成例を
示す図
FIG. 6 is a diagram showing a configuration example of a processing request allocation unit according to the embodiment.

【図7】処理要求割り付け部の別の構成例を示す図FIG. 7 is a diagram showing another configuration example of a processing request allocation unit.

【図8】特徴パラメタ抽出の流れの変形例を示す図FIG. 8 is a diagram showing a modification of the flow of feature parameter extraction.

【図9】処理要求割り付け部の別の構成例を示す図FIG. 9 is a diagram showing another configuration example of the processing request allocation unit.

【図10】処理要求割り付け部の別の構成例を示す図FIG. 10 is a diagram showing another configuration example of the processing request allocation unit.

【図11】処理要求割り付け部の詳細な構成例を示す図FIG. 11 is a diagram showing a detailed configuration example of a processing request allocation unit.

【図12】処理要求パケットの例を示す図FIG. 12 is a diagram showing an example of a processing request packet.

【図13】処理要求表の内容を示す図FIG. 13 is a diagram showing the contents of a processing request table.

【図14】引数情報の例とRPCのインタフェース記述
の例を示す図
FIG. 14 is a diagram showing an example of argument information and an example of interface description of RPC.

【図15】RPCコンパイラの機能の説明図FIG. 15 is an explanatory diagram of functions of the RPC compiler.

【図16】RPCのパケット情報の内容を示す図FIG. 16 is a diagram showing the contents of RPC packet information.

【図17】実行履歴情報の内容を示す図FIG. 17 is a diagram showing the contents of execution history information.

【図18】処理要求表に関するデータの流れを示す図FIG. 18 is a diagram showing a data flow regarding a processing request table.

【図19】処理要求パケットの内容を示す図FIG. 19 is a diagram showing the contents of a processing request packet.

【図20】特徴パラメタ抽出部の動作例の説明図FIG. 20 is an explanatory diagram of an operation example of a characteristic parameter extraction unit.

【図21】特徴パラメタ抽出部の動作を表すフロー図FIG. 21 is a flowchart showing the operation of the characteristic parameter extraction unit.

【図22】ビット位置反転の例を示す図FIG. 22 is a diagram showing an example of bit position inversion.

【図23】実行計算機選択部の構成例を示す図FIG. 23 is a diagram showing a configuration example of an execution computer selection unit.

【図24】近似コスト選択部の動作を表すフロー図FIG. 24 is a flowchart showing the operation of the approximate cost selection unit.

【図25】近似コスト選択部の別の動作を表すフロー図FIG. 25 is a flowchart showing another operation of the approximate cost selection unit.

【図26】最小コスト計算機選択部の動作を表すフロー
FIG. 26 is a flowchart showing the operation of the minimum cost computer selection unit.

【図27】計算機番号選択部の構成例を示す図FIG. 27 is a diagram showing a configuration example of a computer number selection unit.

【図28】確率的選択部の動作を表すフロー図FIG. 28 is a flowchart showing the operation of the probabilistic selection unit.

【図29】RPCの処理要求パケットと処理結果パケッ
トの例を示す図
FIG. 29 is a diagram showing an example of an RPC processing request packet and a processing result packet.

【図30】重み計算部の構成例を示す図FIG. 30 is a diagram showing a configuration example of a weight calculation unit.

【図31】クラスタ計算部の構成例を示す図FIG. 31 is a diagram showing a configuration example of a cluster calculation unit.

【図32】保存履歴数決定部の構成例を示す図FIG. 32 is a diagram showing a configuration example of a storage history number determination unit.

【図33】保存履歴数更新部の動作を表すフロー図FIG. 33 is a flowchart showing the operation of the storage history number updating unit.

【図34】第4の実施例に係る処理要求割り付け部の内
部構成の一例を示す図
FIG. 34 is a diagram showing an example of an internal configuration of a processing request allocation unit according to the fourth embodiment.

【図35】データ配置表の構成例を示す図FIG. 35 is a diagram showing a configuration example of a data allocation table.

【図36】ルーティング表の構成例を示す図FIG. 36 is a diagram showing a configuration example of a routing table.

【図37】処理要求の構成例を示す図FIG. 37 is a diagram showing a configuration example of a processing request.

【図38】従来のデータ処理装置の構成を示す図FIG. 38 is a diagram showing a configuration of a conventional data processing device.

【図39】従来のデータ処理装置の他の構成を示す図FIG. 39 is a diagram showing another configuration of the conventional data processing device.

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

101,101−1〜101−m…処理要求割り付け
部、102−1〜102−n,102−1−1〜102
−m−r…処理要求発生部、110−1〜110−m,
111,111−1〜111−l…計算機、114…結
合路、115,115−1〜115−l…通信路、11
6−1〜116−m…アプリケーションプログラム、1
17−1〜117−m…データ管理部、118,118
−1〜118−m…データ記憶装置、120…データ配
置決定部 201…アクセス要求受信部、202…相関情報記憶
表、203…相関情報管理部、204…データ配置決定
部、205…データ格納情報記憶部、206…データ配
置変更部、207…データアクセス部 301…処理要求割り付け部、302…割り付け決定
部、303…データ配置表、304…ルーティング表 1,11…処理要求割り付け装置、2…処理要求発生元
計算機、3…処理要求受信部、4…特徴パラメタ抽出
部、5…実行計算機選択部、6…処理要求送信部、7…
実行履歴情報管理部、8…実行履歴情報記憶部、9…実
行コスト検出部、10…処理要求実行計算機、12…処
理結果受信部、13…処理結果送信部、25…処理要求
表管理部、26…処理要求表、27…重み計算部、28
…特徴パラメタ抽出部1、29…特徴パラメタ抽出部
2、30…近似コスト選択部、31…最小コスト計算機
選択部、32…計算機番号選択部、33…重み順ソート
部、34…確率的選択部、35…乱数発生部、36…任
意計算機選択部、37…クラスタ計算部、38…重み正
規化部、39…最小値検出部、40…最大値検出部、4
1…特徴パラメタ順ソート部、42…計算機番号変化計
数部
101, 101-1 to 101-m ... Processing request allocating section, 102-1 to 102-n, 102-1-1 to 102
-M-r ... processing request generation unit, 110-1 to 110-m,
111, 111-1 to 111-l ... Computer, 114 ... Coupling path, 115, 115-1 to 115-l ... Communication path, 11
6-1 to 116-m ... Application program, 1
17-1 to 117-m ... Data management unit, 118, 118
-1 to 118-m ... Data storage device, 120 ... Data allocation determination unit 201 ... Access request reception unit, 202 ... Correlation information storage table, 203 ... Correlation information management unit, 204 ... Data allocation determination unit, 205 ... Data storage information Storage unit, 206 ... Data allocation changing unit, 207 ... Data access unit 301 ... Processing request allocating unit, 302 ... Allocation determining unit, 303 ... Data allocation table, 304 ... Routing table 1, 11 ... Processing request allocating device, 2 ... Processing Request generation source computer, 3 ... Processing request receiving unit, 4 ... Characteristic parameter extracting unit, 5 ... Execution computer selecting unit, 6 ... Processing request transmitting unit, 7 ...
Execution history information management unit, 8 ... Execution history information storage unit, 9 ... Execution cost detection unit, 10 ... Processing request execution computer, 12 ... Processing result receiving unit, 13 ... Processing result transmitting unit, 25 ... Processing request table management unit, 26 ... Processing request table, 27 ... Weight calculation section, 28
... feature parameter extraction section 1, 29 ... feature parameter extraction section 2, 30 ... approximate cost selection section, 31 ... minimum cost computer selection section, 32 ... computer number selection section, 33 ... weight order sorting section, 34 ... stochastic selection section , 35 ... Random number generation section, 36 ... Arbitrary computer selection section, 37 ... Cluster calculation section, 38 ... Weight normalization section, 39 ... Minimum value detection section, 40 ... Maximum value detection section, 4
1 ... Sorting section for characteristic parameters, 42 ... Computer number change counting section

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】データを記憶するための複数のデータ記憶
手段と、 いずれかの前記データ記憶手段と接続され、与えられた
処理要求をアプリケーションプログラムを用いて実行す
る手段および該処理要求を実行する該アプリケーション
プログラムからの要求に基づき該実行に必要な該データ
記憶手段内のデータへのアクセスを行うとともに該デー
タへのアクセスの履歴に関する情報を蓄積するデータ管
理手段を夫々有する複数の計算機と、 該複数の計算機を相互接続する結合手段と、 この結合手段に接続され、通信路を介して接続された少
なくとも1つの処理要求発生手段から送られた処理要求
を受付ける手段、過去の処理要求、該処理要求を実行し
た前記計算機、その実行に要したコストを含む実行履歴
を蓄積する手段および該処理要求発生手段から送られた
新しい処理要求を受信すると該実行履歴と比較して実行
すべき前記アプリケーションプログラムの存在する前記
計算機を選択して該処理要求の実行を指示する手段を有
する処理要求割り付け手段と、 前記計算機上の前記データ管理手段から前記データへの
アクセスの履歴に関する情報を夫々受け取り、該情報を
元にして最適なデータ配置を夫々決定し、該データ管理
手段に対しこの決定したデータ配置に基づくデータの配
置の変更処理の実行を夫々指示するデータ配置決定手段
とを具備してなることを特徴とするデータ処理装置。
1. A plurality of data storage units for storing data, a unit connected to any one of the data storage units, for executing a given processing request using an application program, and for executing the processing request. A plurality of computers each having data management means for accessing data in the data storage means necessary for the execution based on a request from the application program and accumulating information on a history of access to the data; Joining means for interconnecting a plurality of computers, means for accepting a processing request sent from at least one processing request generating means connected to this joining means, a past processing request, and the processing The computer that executed the request, a means for accumulating an execution history including the cost required for the execution, and the processing request generation A processing request allocating means having means for selecting a computer in which the application program to be executed is compared with the execution history when receiving a new processing request sent from the means, and instructing execution of the processing request; Information regarding the history of access to the data is received from the data management means on the computer, the optimum data arrangement is determined based on the information, and the data management means is based on the determined data arrangement. A data processing apparatus, comprising: a data layout determining means for instructing execution of data layout changing processing.
【請求項2】データを記憶するための複数のデータ記憶
手段と、 いずれかの前記データ記憶手段と接続され、与えられた
処理要求をアプリケーションプログラムを用いて実行す
る手段および該処理要求を実行する該アプリケーション
プログラムからの要求に基づき該実行に必要な該データ
記憶手段内のデータへのアクセスを行うとともに該デー
タへのアクセスの履歴に関する情報を蓄積するデータ管
理手段を夫々有する複数の計算機と、 該複数の計算機を相互接続する結合手段と、 この結合手段に接続され、通信路を介して接続された少
なくとも1つの処理要求発生手段から送られた処理要求
を受付ける手段、各計算機に接続された前記データ記憶
手段にはどのようなデータが記憶されているかを表すデ
ータ配置情報を獲得する手段、該処理要求発生手段から
送られた新しい処理要求を受信すると該データ配置情報
と比較して実行すべきアプリケーションプログラムの存
在する前記計算機を選択して処理要求の実行を指示する
手段を有する処理要求割り付け手段と、 前記計算機上の前記データ管理手段から前記データへの
アクセスの履歴に関する情報を夫々受け取り、該情報を
元にして最適なデータ配置を夫々決定し、該データ管理
手段に対しこの決定したデータ配置に基づくデータの配
置の変更処理の実行を夫々指示するデータ配置決定手段
とを具備してなることを特徴とするデータ処理装置。
2. A plurality of data storage units for storing data, a unit connected to any one of the data storage units, for executing a given processing request by using an application program, and for executing the processing request. A plurality of computers each having data management means for accessing data in the data storage means necessary for the execution based on a request from the application program and accumulating information on a history of access to the data; Connecting means for interconnecting a plurality of computers; means for receiving a processing request sent from at least one processing request generating means connected to the connecting means and connected via a communication path; A means for acquiring data arrangement information indicating what kind of data is stored in the data storage means; When a new processing request sent from the request generating means is received, it is compared with the data allocation information, and the processing request allocating means having means for selecting the computer having the application program to be executed and instructing execution of the processing request Receiving information regarding the history of access to the data from the data managing means on the computer, determining the optimum data arrangement based on the information, and setting the determined data arrangement for the data managing means. A data processing apparatus, comprising: a data allocation determining unit for instructing execution of a data allocation changing process based on the data allocation determining unit.
JP6246845A 1994-09-16 1994-09-16 Data processor Pending JPH0887473A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6246845A JPH0887473A (en) 1994-09-16 1994-09-16 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6246845A JPH0887473A (en) 1994-09-16 1994-09-16 Data processor

Publications (1)

Publication Number Publication Date
JPH0887473A true JPH0887473A (en) 1996-04-02

Family

ID=17154569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6246845A Pending JPH0887473A (en) 1994-09-16 1994-09-16 Data processor

Country Status (1)

Country Link
JP (1) JPH0887473A (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275126A (en) * 1997-03-31 1998-10-13 Nri & Ncc Co Ltd Client server system that performs load decentralization control
JPH10334061A (en) * 1997-06-04 1998-12-18 Fujitsu Ltd Load dispersing system
JP2006268104A (en) * 2005-03-22 2006-10-05 Nec Corp Fingerprint verification system, and fingerprint verification processing device and method
JP2006297905A (en) * 2005-03-23 2006-11-02 Canon Finetech Inc Inkjet printing device and preliminary discharge control method thereof
JP2007265193A (en) * 2006-03-29 2007-10-11 Fujitsu Ltd Job assignment program, job assigning device, and job assigning method
JP2008204120A (en) * 2007-02-20 2008-09-04 Hitachi Ltd Computer system
JP2011164736A (en) * 2010-02-05 2011-08-25 Nec Corp Load control device
WO2012023190A1 (en) * 2010-08-18 2012-02-23 富士通株式会社 Communication terminal apparatus, receipt processing program, and receipt processing method
JP2012160075A (en) * 2011-02-01 2012-08-23 Nippon Telegr & Teleph Corp <Ntt> Distribution processing device and distribution processing method
JP2012216214A (en) * 2006-06-13 2012-11-08 Tannenbaum Zvi Cluster computing support for application programs
JP2013105217A (en) * 2011-11-10 2013-05-30 Fujitsu Ltd Multicore processor system, register utilization method and register utilization program
US8683075B1 (en) 1996-12-09 2014-03-25 Verizon Corporate Services Group Inc. Distributed computing system and method for distributing user requests to replicated network servers
US8849889B1 (en) 2005-09-26 2014-09-30 Advanced Cluster Systems, Inc. Clustered computer system
JP2014194399A (en) * 2013-03-29 2014-10-09 Mitsubishi Electric Corp Radar processor
JP2015172833A (en) * 2014-03-11 2015-10-01 株式会社日立製作所 data processing system
WO2018061825A1 (en) * 2016-09-29 2018-04-05 日本電気株式会社 Distributed processing system, distributed processing method, and recording medium
JP2021086349A (en) * 2019-11-27 2021-06-03 Kddi株式会社 Information processing device and information processing method

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683075B1 (en) 1996-12-09 2014-03-25 Verizon Corporate Services Group Inc. Distributed computing system and method for distributing user requests to replicated network servers
JPH10275126A (en) * 1997-03-31 1998-10-13 Nri & Ncc Co Ltd Client server system that performs load decentralization control
JPH10334061A (en) * 1997-06-04 1998-12-18 Fujitsu Ltd Load dispersing system
JP2006268104A (en) * 2005-03-22 2006-10-05 Nec Corp Fingerprint verification system, and fingerprint verification processing device and method
JP4725150B2 (en) * 2005-03-22 2011-07-13 日本電気株式会社 Fingerprint verification system, fingerprint verification processing device, and fingerprint verification processing method
JP2006297905A (en) * 2005-03-23 2006-11-02 Canon Finetech Inc Inkjet printing device and preliminary discharge control method thereof
JP4693648B2 (en) * 2005-03-23 2011-06-01 キヤノンファインテック株式会社 Inkjet printing apparatus and preliminary ejection control method thereof
US8849889B1 (en) 2005-09-26 2014-09-30 Advanced Cluster Systems, Inc. Clustered computer system
JP2007265193A (en) * 2006-03-29 2007-10-11 Fujitsu Ltd Job assignment program, job assigning device, and job assigning method
US11811582B2 (en) 2006-06-13 2023-11-07 Advanced Cluster Systems, Inc. Cluster computing
US10333768B2 (en) 2006-06-13 2019-06-25 Advanced Cluster Systems, Inc. Cluster computing
JP2012216214A (en) * 2006-06-13 2012-11-08 Tannenbaum Zvi Cluster computing support for application programs
US11570034B2 (en) 2006-06-13 2023-01-31 Advanced Cluster Systems, Inc. Cluster computing
US11563621B2 (en) 2006-06-13 2023-01-24 Advanced Cluster Systems, Inc. Cluster computing
US8676877B2 (en) 2006-06-13 2014-03-18 Advanced Cluster Systems, Inc. Cluster computing using special purpose microprocessors
US12021679B1 (en) 2006-06-13 2024-06-25 Advanced Cluster Systems, Inc. Cluster computing
US11128519B2 (en) 2006-06-13 2021-09-21 Advanced Cluster Systems, Inc. Cluster computing
JP2014241167A (en) * 2006-06-13 2014-12-25 タンネンバウム、ズヴィ Cluster computing support for application program
JP2008204120A (en) * 2007-02-20 2008-09-04 Hitachi Ltd Computer system
JP2011164736A (en) * 2010-02-05 2011-08-25 Nec Corp Load control device
US9086910B2 (en) 2010-02-05 2015-07-21 Nec Corporation Load control device
US8768330B2 (en) 2010-08-18 2014-07-01 Fujitsu Limited Communication terminal apparatus, computer product, and incoming call processing method
JP5397549B2 (en) * 2010-08-18 2014-01-22 富士通株式会社 Mobile phone device, incoming call processing program, and incoming call processing method
WO2012023190A1 (en) * 2010-08-18 2012-02-23 富士通株式会社 Communication terminal apparatus, receipt processing program, and receipt processing method
JP2012160075A (en) * 2011-02-01 2012-08-23 Nippon Telegr & Teleph Corp <Ntt> Distribution processing device and distribution processing method
JP2013105217A (en) * 2011-11-10 2013-05-30 Fujitsu Ltd Multicore processor system, register utilization method and register utilization program
JP2014194399A (en) * 2013-03-29 2014-10-09 Mitsubishi Electric Corp Radar processor
JP2015172833A (en) * 2014-03-11 2015-10-01 株式会社日立製作所 data processing system
WO2018061825A1 (en) * 2016-09-29 2018-04-05 日本電気株式会社 Distributed processing system, distributed processing method, and recording medium
JPWO2018061825A1 (en) * 2016-09-29 2019-07-11 日本電気株式会社 Distributed processing system, distributed processing method, and recording medium
US11294736B2 (en) 2016-09-29 2022-04-05 Nec Corporation Distributed processing system, distributed processing method, and recording medium
JP2021086349A (en) * 2019-11-27 2021-06-03 Kddi株式会社 Information processing device and information processing method

Similar Documents

Publication Publication Date Title
JPH0887473A (en) Data processor
US5864679A (en) Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
US7756940B2 (en) Transaction processing system having service level control capabilities
US5819083A (en) Minimal sufficient buffer space for data redistribution in a parallel database system
CN110297699B (en) Scheduling method, scheduler, storage medium and system
US6374297B1 (en) Method and apparatus for load balancing of web cluster farms
US5924097A (en) Balanced input/output task management for use in multiprocessor transaction processing system
US7610425B2 (en) Approach for managing interrupt load distribution
EP1564638B1 (en) A method of reassigning objects to processing units
JP3812236B2 (en) Network management system with event control means
CN107766129A (en) A kind of task processing method, apparatus and system
US20050228855A1 (en) Acquisition system for distributed computing resources
WO2007023726A1 (en) Information processing system
JP2005516293A (en) Web farm traffic control method and apparatus
CN113722127A (en) Efficient lightweight easy-to-use distributed network message middleware
Wang et al. Hybrid pulling/pushing for i/o-efficient distributed and iterative graph computing
JP4839585B2 (en) Resource information collection and distribution method and system
US7647592B2 (en) Methods and systems for assigning objects to processing units
CN101299758B (en) Well-regulated group system for cosmically processing event as well as processing method
US7039707B2 (en) Disk subsystem, computer system, storage managing method and program
JPH0773148A (en) Processing request allocation device
JP4097274B2 (en) Resource search method, cluster system, computer, and cluster
CN113434268A (en) Workflow distributed scheduling management system and method
Mahato et al. Reliability analysis in grid system considering load
JP2001034583A (en) Decentralized object performance managing mechanism

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041109