(57)【要約】【課題】負荷分散のための不必要な処理オーバーヘッドを削減し，高速かつ効率の良いデータ処理装置を得る。【解決手段】負荷分散手段５は，先行予約情報管理テーブル７に先行予約済みのデータ処理手段３があれば，負荷状況管理テーブル６を検索せずに，処理を割り当てるデータ処理手段３を決定する。先行予約済みのデータ処理手段３がない場合には，負荷状況管理テーブル６を検索し，処理を割り当てるデータ処理手段３を決定すると共に，先行予約可能なデータ処理手段３が存在する場合には，先行予約情報管理テーブル７に保持する。【選択図】    図１
2004302736.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータに対し処理を行い，前記処理の結果を出力するデータ処理装置において，
データを処理する複数の独立したデータ処理手段と，
前記複数の独立したデータ処理手段のいずれかに処理を割り当てる負荷分散手段と，
前記負荷分散手段に備えられる前記複数の独立したデータ処理手段の負荷状況を保持する負荷状況管理テーブルと、
前記負荷分散手段に備えられる使用可能な前記データ処理手段を予め予約する先行予約情報管理テーブルと、
を備え，
前記負荷分散手段は，前記負荷状況管理テーブルの前記負荷状況と，前記先行予約情報管理テーブルの予約状況とから，処理を行う前記データ処理手段を決定するデータ処理装置。
【請求項２】
前記負荷分散手段により決定された前記データ処理手段にデータを転送するデータ入力手段を備えた請求項１に記載のデータ処理装置。
【請求項３】
前記負荷分散手段は，処理が割り当てられていない処理待ち状態の前記データ処理手段を，前記先行予約情報管理テーブルに予約する請求項１に記載のデータ処理装置。
【請求項４】
前記負荷分散手段は，同レベルの負荷状態の前記データ処理手段を，前記先行予約情報管理テーブルに予約する請求項１に記載のデータ処理装置。
【請求項５】
前記負荷分散手段は，閾値より低い負荷状態の前記データ処理手段を，前記先行予約情報管理テーブルに予約する請求項１に記載のデータ処理装置。
【請求項６】
前記負荷分散手段は，最も早く処理負荷が減少する前記データ処理手段を，前記先行予約情報管理テーブルに予約する請求項１に記載のデータ処理装置。
【請求項７】
前記負荷分散手段は，前記データ処理手段で実行されている処理内容から処理負荷が減少する時刻を推定する処理割り当て管理テーブルを備える請求項６に記載のデータ処理装置。
【請求項８】
前記負荷分散手段は，前記データ処理手段が同種の処理を実行している場合、最も過去に処理を割り当てた前記データ処理手段を，前記先行予約情報管理テーブルに予約する請求項１に記載のデータ処理装置。
【請求項９】
前記データ処理手段は、処理が完了したことを前記負荷分散手段に伝達する請求項１から請求項８に記載のデータ処理装置。
【請求項１０】
前記負荷分散手段は、前記データ処理手段の負荷状況が変更になった場合に，前記先行予約情報管理テーブルの内容を更新する請求項１に記載のデータ処理装置。
【請求項１１】
前記負荷分散手段は，前記データ処理手段に，前記先行予約情報管理テーブルの内容を通知する請求項１に記載のデータ処理装置。
【請求項１２】
前記負荷分散手段は，前記先行予約情報管理テーブルに予約されている前記データ処理手段が変更になった場合に、当該データ処理手段に予約が変更になったことを通知する請求項１１に記載のデータ処理装置。
【請求項１３】
前記負荷分散手段は，前記データ処理手段に，前記先行予約情報管理テーブルの内容を通知した場合には，前記先行予約管理テーブルの内容を変更しない請求項１１に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，入力したデータに対し何らかの処理を行い，その処理結果を出力するデータ処理装置，特に複数の独立したデータ処理手段を備える並列処理システムとして構成されるデータ処理装置に関する。
【０００２】
【従来の技術】
近年，データ処理装置においては，その処理能力の目的とし，複数の独立したデータ処理手段を備える並列処理システムの構成を採ることがある。こうした並列処理システムにおいては，複数のデータ処理手段を効果的，効率的に使用するための，各データ処理手段に処理を割り当てる負荷分散の機能が重要となっている。
【０００３】
従来の負荷分散の方法としては，各コンピュータの負荷率を取得すると共に各コンピュータにおいて発生するジョブを検出し，発生したジョブを負荷率が低いコンピュータに実行させる方法が知られている（例えば，特許文献１）。
【０００４】
また，タスクが発生した場合に，まずタスクの実行に必要な資源を予約した後に，タスクを実行するデータ処理手段を決定し，タスクを割り当てる方法もある（例えば，特許文献２）。
【０００５】
【特許文献１】
特開平１０−１６１９８７号広報（第３−６頁，第１図）
【特許文献２】
特開平１０−７８９３８号広報（第３−９頁，第２図）
【０００６】
【発明が解決しようとする課題】
上記のように，従来の負荷分散方法においては，何らかの処理要求が発生するたびに各データ処理手段の負荷状態を調べ処理の割り当てを決定するので，例えば，処理待ち状態にあるデータ処理手段が多数存在する場合など，一度各データ処理手段の負荷状況を調べれば，次に処理要求が発生した際に，わざわざもう一度各データ処理手段の負荷状況を調べなくて良いようなケースであっても，もう一度各データ処理手段の負荷状態を調べ処理の割り当てを決定するため，不必要な処理オーバーヘッドが発生し，データ処理装置の性能低下を招くという問題があった。
【０００７】
また，各データ処理手段で実行される処理において，中間の処理結果や最終的な処理結果を，次に処理を実行するデータ処理手段に転送することが要求される場合には，次に処理を実行するデータ処理手段は次の処理要求が発生するまで決定されないので，次のデータ処理手段に転送すべき処理結果を一時的に別の場所に保持する，または，データを転送すべきデータ処理手段の情報を負荷分散手段に問い合わせる等の不要なデータ転送が必要となり，データ処理装置の性能低下を招くという問題があった。
【０００８】
本発明は，上記のような問題点を解決するためになされたもので，負荷分散のための不必要な処理オーバーヘッドを削減し，高速かつ効率の良いデータ処理装置を得ることを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係るデータ処理装置は，入力されたデータに対し処理を行い，前記処理の結果を出力するデータ処理装置において，データを処理する複数の独立したデータ処理手段と，前記複数の独立したデータ処理手段のいずれかに処理を割り当てる負荷分散手段と，前記負荷分散手段に備えられる前記複数の独立したデータ処理手段の負荷状況を保持する負荷状況管理テーブルと、を備え，前記負荷分散手段は，前記負荷状況管理テーブルの前記負荷状況から，処理を行う前記データ処理手段を決定するものである。
【００１０】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態１に係るデータ処理装置について図面を参照しながら説明する。
【００１１】
図１は，本発明の実施の形態１に係るデータ処理装置の構成を示す図である。図１において，データ入力手段１は，処理要求及び処理すべきデータを入力する。処理要求及び処理すべきデータはデータ通信手段２を介してデータ処理手段３に転送される。データ処理手段３は，与えられた処理要求及びデータに対して予め定められた処理を実行し，処理結果を得る。データ処理手段３で得られた処理結果は，データ通信手段２を介して，データ出力手段４に転送される。データ出力手段４は，処理結果を出力する。負荷分散手段５は，データ通信手段２を介して，データ入力手段１で入力された処理要求を受け取り，各データ処理手段３の負荷状況に基づき，入力された処理要求及びデータを処理するデータ処理手段３を決定する。負荷分散手段５に保持される負荷状況管理テーブル６は，本データ処理装置の具備する全てのデータ処理手段３に関する負荷状況が含まれており，負荷分散手段５によって参照，更新される。先行予約情報管理テーブル７は，今後発生すると予測される処理要求に対する処理を行うデータ処理手段３（以下，先行予約済みのデータ処理手段３と呼ぶ）に関する情報が含まれており，負荷分散手段５によって参照，更新される。
【００１２】
なお，データ入力手段１，データ処理手段３，データ出力手段４，負荷分散手段５は，それぞれ例えばプロセッサないしはコンピュータ，またはソフトウェア等で構成されている。これらは，物理的に別の装置として構成しても良く，または同一の装置に構成しても良い。
【００１３】
次に，この実施の形態１に係るデータ処理装置の動作について図面を参照しながら説明する。
【００１４】
まず，本データ処理装置に対する処理要求及び処理すべきデータは，データ入力手段１によって所望の手順にのっとり入力される。ここで，ある種のデータ処理装置，例えば，各種センサシステム等のように，予め定められた周期で定期的にデータを入力し，処理するようなデータ処理装置においては，明示的な処理要求は入力されず，処理すべきデータのみが入力されるかもしれない。この場合は，予め定められた周期で定期的に入力されたデータにより、明示的な処理要求でなくとも、処理要求が入力されたものとみなすことができる（暗黙的な処理要求）。また，処理要求及び処理すべきデータには，データ処理手段３で所定の処理を実行する時に必要となる処理のパラメータが含まれているかもしれない。
【００１５】
データ入力手段１によって入力された明示的ないしは暗黙的な処理要求は，データ通信手段２を介して，負荷分散手段５に伝達される。負荷分散手段５は，データ入力手段１から処理要求を受け取ると，負荷状況管理テーブル６及び先行予約情報管理テーブル７を参照，更新し，その処理要求に対する処理を実行するデータ処理手段３を決定する。
【００１６】
負荷分散手段５によって，データ処理手段３への処理の割り当てが決定されると，その情報はデータ通信手段２を介して，データ入力手段１に伝達される。データ入力手段１は，負荷分散手段５で決定されたデータ処理手段３に対して，データ通信手段２を介して，処理要求及び処理すべきデータを転送する。決定されたデータ処理手段３に選択的にデータを転送する方法としては、通常実施されているように、各データ処理手段３に固有のＩＤ番号を付加する等で実施すれば良い。例えば、データ入力手段１は、負荷分散手段５で決定されたデータ処理手段３のＩＤ番号をもとに、データ通信手段２を介して、所望のデータ処理手段３にデータを転送する。
【００１７】
データ処理手段３は，データ入力手段１から「処理要求及び処理すべきデータ」を受け取ると，その内容に基づき，予め定められた処理を実行し，処理結果を得る。データ処理手段３は，処理結果が得られると，その処理結果をデータ通信手段２を介して，データ出力手段４に転送する。
【００１８】
データ出力手段４は，データ処理手段３から処理結果を受け取ると，所望の手順にのっとり，処理結果を出力する。
【００１９】
続いて，負荷分散手段５における，処理要求に対する処理を実行するデータ処理手段３を決定するまでの動作について説明する。
【００２０】
負荷分散手段５は，本データ処理装置で具備する複数のデータ処理手段３に対して，それぞれの負荷状況を管理するための負荷状況管理テーブル６を保持する。図２は，負荷分散手段５が保持する負荷状況管理テーブル６の内容の一例を示す図である。負荷分散手段５が保持する負荷情報管理テーブル６には，少なくとも，本データ処理装置で具備する全てのデータ処理手段３に関する負荷状況が含まれている。
【００２１】
ここで，負荷分散手段５が保持する負荷情報管理テーブル６に含まれる負荷状況は，各データ処理手段３における処理負荷の状況を表すものである。各データ処理手段３に対して，同時に割り当てられる処理の数が１つに限定されている場合には，処理を割り当て済みか否かという情報のみで負荷状況を表すかもしれない。また，各データ処理手段３に対して，同時に複数の処理を割り当てることが可能である場合には，割り当てた処理の数やデータ処理手段３の負荷率で負荷状況を表すかもしれない。ここで、負荷率とは、データ処理手段により処理できる最大能力に対する、処理負荷の比である。
【００２２】
また，負荷分散手段５が保持する負荷情報管理テーブル６は，電源投入後など，データ処理装置が処理を開始する際に初期化される。ここで，負荷情報管理テーブル６に含まれる負荷状況は，処理を割り当て済みか否か，または割り当てた処理の数によって表わされる場合などには，処理の割り当てがない，または割り当てた処理の数が０に初期化される。あるいは，負荷率によって表わされる場合などには，未定値として初期化されるか，または各データ処理手段３の負荷率を調べて初期化される。
【００２３】
さらに，負荷分散手段５が保持する負荷情報管理テーブル６に含まれる負荷状況は，各データ処理手段３の実際の処理負荷の状況に応じて適宜更新される。負荷情報管理テーブル６に含まれる負荷状況が，処理を割り当て済みか否か，または割り当てた処理の数によって表わされる場合などには，自負荷分散手段５により処理を割り当てた時及び各データ処理手段３の処理が完了した時に更新されるかもしれない。あるいは，負荷率によって表わされる場合などには，自負荷分散手段５が負荷情報管理テーブル６を参照する場合，すなわち，各データ処理手段３への処理の割り当てを決定する場合であって，負荷情報管理テーブル６を検索する必要がある場合に，各データ処理手段３の負荷率を調べて，最新の負荷率に更新されるかもしれない。
【００２４】
負荷分散手段５は，上記負荷状況管理テーブル６と共に，先行予約情報管理テーブル７を保持する。図３は，負荷分散手段５が保持する先行予約情報管理テーブル７の内容の一例を示す図である。負荷分散手段５が保持する先行予約情報管理テーブル７には，少なくとも，先行予約済みのデータ処理手段３に関する情報が含まれている。つまり、先行予約情報管理テーブル７は、使用可能なデータ処理手段３に関する情報を保持している。
【００２５】
なお，負荷分散手段５が保持する先行予約情報管理テーブル７は，リンクド・リストやリング・バッファ等によって実現されていてもよい。
【００２６】
また，負荷分散手段５が保持する先行予約情報管理テーブル７は，電源投入後など，データ処理装置が処理を開始する際に初期化される。ここで，各データ処理手段３において何らかの処理が実行され負荷が変動する場合などには，先行予約情報管理テーブル７は空に初期化される。あるいは，各データ処理手段３において何も処理が開始される負荷が最も低い状態となる場合などには，先行予約情報管理テーブル７は，全てのデータ処理手段３を追加してもよい。
【００２７】
図４は，負荷分散手段５における，処理要求に対する処理を実行するデータ処理手段３を決定するまでの手順を示すフローチャートである。負荷分散手段５は，データ入力手段１から，処理要求を受け取ると，図４に示す手順によって処理要求に対する処理を実行するデータ処理手段３を決定する。
【００２８】
負荷分散手段５は，データ入力手段１から処理要求を受け取る（Ｓ１０１）と，まず，自身が保持する先行予約情報管理テーブル７を参照し，先行予約済みのデータ処理手段３が存在するか否かを調べる（Ｓ１０２）。先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されている場合には，先頭の先行予約済みのデータ処理手段３を，処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ１０３），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ１０４）。そして，先行予約情報管理テーブル７を更新する，すなわち先に処理を割り当てたデータ処理手段３に関する情報を削除する（Ｓ１０５）。
【００２９】
もし，先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されていない場合には，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出し（Ｓ１０６），処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ１０７），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ１０８）。
【００３０】
ここで，前述の通り，必要がある場合には，負荷状況管理テーブル６を検索する前に，負荷状況管理テーブル６の内容を更新するかもしれない。また，同一の負荷状況にあるデータ処理手段３が複数個存在する場合には，そのいずれか１つを選択し，処理要求に対する処理を実行するデータ処理手段３として決定する。いずれのデータ処理手段３を選択するかについては，本発明の本質的な目的とは直接関係がないが，例えば，予め定められた優先順位に基づいて，データ処理手段３を決定する。
【００３１】
次に，今後処理要求が発生した場合に，処理要求に対する処理を実行するデータ処理手段３として割り当て可能なデータ処理手段３が存在する場合には，そのデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する（Ｓ１０９）。
【００３２】
こうして，ステップＳ１０９によって，先行予約情報管理テーブル７に先行予約済みのデータ処理手段３が登録されると，次回以降処理要求を受け取った際には，先行予約情報管理テーブル７に保持される先行予約済みのデータ処理手段３が空になるまで，先行予約済みのデータ処理手段３に処理が割り当てられることとなる。
【００３３】
このように，本発明の実施の形態１によるデータ処理装置では，先行予約情報管理テーブル７に先行予約済みのデータ処理手段３が存在する場合には，負荷状況管理テーブル６を検索せずに，処理要求に対する処理を実行するデータ処理手段３の割り当てを行うので，不必要な負荷状況管理テーブル６の検索回数を削減できる。また，負荷状況管理テーブル６の検索前に行われる各データ処理手段３の負荷率の調査も削減できるので，負荷率の調査のために使用されるデータ通信手段２のトラフィックを削除でき，データ通信手段２を効率よく使用することができる。さらに，これらの不必要な処理オーバーヘッドが削減できるため，処理要求が入力してから処理結果を出力するまでの時間を短縮でき，データ処理装置を高速化できる。
【００３４】
なお，負荷分散手段５における先行予約情報管理テーブル７への先行予約済みのデータ処理手段３の追加及び削除の処理は，処理要求に対する処理を実行するデータ処理手段３を割り当て，その結果をデータ入力手段１に転送した後に行われるので，処理性能の影響はほとんどない。
【００３５】
実施の形態２．
なお，負荷分散手段５では，先行予約済みのデータ処理手段３を先行予約情報管理テーブル７に追加する処理（図４のステップＳ１０９）において，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加するデータ処理手段３は，データ処理装置で要求される処理の内容や，各データ処理手段３の動作特性によって決定することができる。
【００３６】
本発明の実施の形態２に係るデータ処理装置における負荷分散手段５は，何も処理が割り当てられていない，処理待ち状態にあるデータ処理手段３が存在する場合に，処理待ち状態にあるデータ処理手段３を選択し，先行予約済みのデータ処理手段３として，先行予約情報管理テーブル７に追加する方法を採る。
【００３７】
例えば，各データ処理手段３において実行される処理は，データ入力手段１から処理要求が入力され，その処理要求に対する処理が割り当てられた場合にのみ発生し，その他のタイミングでは発生しないケースが想定される。このようなケースにおいては，ある時点で，何も処理が割り当てられていない，処理待ち状態にあるデータ処理手段３が存在すると，それら処理待ち状態にあるデータ処理手段３は次の処理要求が入力されるまで処理待ち状態である。処理待ち状態にあるデータ処理手段３は，最も処理負荷の低いデータ処理手段３であるから，次の処理要求が入力されると，この処理待ち状態にあるデータ処理手段３が，その処理要求に対する処理を実行するデータ処理手段３として割り当てられることとなる。
【００３８】
したがって，負荷分散手段５は，処理待ち状態にあるデータ処理手段３を発見した場合，この処理待ち状態にあるデータ処理手段３を，先行予約情報管理テーブル７に追加する先行予約済みのデータ処理手段３として決定することができる。
【００３９】
次に，図５を用いて，負荷分散手段５の動作を説明する。図５は，本実施の形態２による負荷分散手段５における，処理要求に対する処理を実行するデータ処理手段３を決定するまでの手順を示すフローチャートである。
【００４０】
負荷分散手段５は，データ入力手段１から処理要求を受け取る（Ｓ２０１）と，まず，自身が保持する先行予約情報管理テーブル７を参照し，先行予約済みのデータ処理手段３が存在するか否かを調べる（Ｓ２０２）。先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されている場合には，先頭の先行予約済みのデータ処理手段３を，処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ２０３），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ２０４）。そして，先行予約情報管理テーブル７を更新する，すなわち先に処理を割り当てたデータ処理手段３に関する情報を削除する（Ｓ２０５）。
【００４１】
もし，先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されていない場合には，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出し（Ｓ２０６），処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ２０７），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ２０８）。
【００４２】
ここで，ステップＳ２０６の，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出す過程において，何も処理が割り当てられていない処理待ち状態にあるデータ処理手段３を発見した場合は抽出しておく。ただし，ステップＳ２０７において，処理の割り当てられたデータ処理手段３は除く。
【００４３】
何も処理が割り当てられていない処理待ち状態にあるデータ処理手段３が抽出されたかを調べ（Ｓ２０９），処理待ち状態にあるデータ処理手段３が存在する場合は，処理待ち状態にあるデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する（Ｓ２１０）。
【００４４】
こうして，ステップＳ２１０によって，先行予約情報管理テーブル７には，処理待ち状態にあるデータ処理手段３が先行予約済みのデータ処理手段３として登録される。次回以降処理要求を受け取った際には，先行予約情報管理テーブル７に保持される先行予約済みのデータ処理手段３，すなわち処理待ち状態にあるデータ処理手段３が空になるまで，先行予約済みのデータ処理手段３，すなわち処理待ち状態にあるデータ処理手段３に処理が割り当てられることとなる。
【００４５】
このように，本発明の実施の形態２によるデータ処理装置においても，前述の実施の形態１によるデータ処理装置と同様な効果を得ることができる。
【００４６】
実施の形態３．
本発明の実施の形態３に係るデータ処理装置における負荷分散手段５は，要求された処理要求に割り当てたデータ処理手段３と，同レベルの負荷状態にあるデータ処理手段３が存在する場合に，そのデータ処理手段３を，先行予約済みのデータ処理手段３として，先行予約情報管理テーブル７に追加する方法を採る。
【００４７】
例えば，前述の実施の形態２で示したケースと同様に，各データ処理手段３において実行される処理は，データ入力手段１から処理要求が入力され，その処理要求に対する処理が割り当てられた場合にのみ発生し，その他のタイミングでは発生しないケースを想定する。このようなケースにおいて，ある時点において，要求された処理要求に割り当てたデータ処理手段３と，同レベルの負荷状態にある他のデータ処理手段３は，次の処理要求が入力されるまで同一の負荷状態であるか，または，実行中であった処理が終了し，より低い負荷状態となる。そのため，次の処理要求が入力されると，これらのデータ処理手段３に，その処理要求に対する処理が割り照られる可能性が高い。
【００４８】
ただし，次の処理要求が入力されるまでの期間中に，他のデータ処理手段３においても，実行中であった処理が終了し，より低い負荷状態となる可能性も考えられる。このような一時的な矛盾を許容できる場合や，こうした負荷状況の変動が発生しないことを保証できる場合であれば，負荷分散手段５は，要求された処理要求に割り当てたデータ処理手段３と，同レベルの負荷状態にあるデータ処理手段３を発見した場合，このデータ処理手段３を，先行予約情報管理テーブル７に追加する先行予約済みのデータ処理手段３として決定することができる。
【００４９】
次に，図６を用いて，負荷分散手段５の動作を説明する。図６は，本実施の形態３による負荷分散手段５における，処理要求に対する処理を実行するデータ処理手段３を決定するまでの手順を示すフローチャートである。
【００５０】
負荷分散手段５は，データ入力手段１から，処理要求を受け取る（Ｓ３０１）と，まず，自身が保持する先行予約情報管理テーブル７を参照し，先行予約済みのデータ処理手段３が存在するか否かを調べる（Ｓ３０２）。先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されている場合には，先頭の先行予約済みのデータ処理手段３を，処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ３０３），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ３０４）。そして，先行予約情報管理テーブル７を更新する，すなわち先に処理を割り当てたデータ処理手段３に関する情報を削除する（Ｓ３０５）。
【００５１】
もし，先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されていない場合には，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出し（Ｓ３０６），処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ３０７），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ３０８）。
【００５２】
ここで，ステップＳ３０６の，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出す過程において，最も負荷の低いデータ処理手段３と同レベルの負荷状態にあるデータ処理手段３を発見した場合は抽出しておく。ただし，ステップＳ３０７において，処理の割り当てられたデータ処理手段３は除く。
【００５３】
処理の割り当てられたデータ処理手段３と同レベルの負荷状態にあるデータ処理手段３が抽出されたかを調べ（Ｓ３０９），存在する場合には，抽出されたデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する（Ｓ３１０）。
【００５４】
こうして，ステップＳ３１０によって，先行予約情報管理テーブル７には，残りの最も低い負荷状態にあるデータ処理手段３が先行予約済みのデータ処理手段３として登録される。次回以降処理要求を受け取った際には，先行予約情報管理テーブル７に保持される先行予約済みのデータ処理手段３が空になるまで，先行予約済みのデータ処理手段３，すなわち先の処理要求において処理が割り当てられなかった他のデータ処理手段３に処理が割り当てられることとなる。
【００５５】
このように，本発明の実施の形態３によるデータ処理装置においても，前述の実施の形態１によるデータ処理装置と同様な効果を得ることができる。
【００５６】
実施の形態４．
本発明の実施の形態４に係るデータ処理装置における負荷分散手段５は，予め定められた閾値より低い負荷状態にあるデータ処理手段３が存在する場合に，そのデータ処理手段３を，先行予約済みのデータ処理手段３として，先行予約情報管理テーブル７に追加する方法を採る。
【００５７】
例えば，データ入力手段１で入力される処理要求に対する処理を含む，各データ処理手段３における処理負荷の変動が予め予測可能である場合などでは，あるレベル以下の負荷状態にあるデータ処理手段３に対して，順に処理を割り当てることによって，全体的な処理負荷の平均化を図ることができる。
【００５８】
したがって，負荷分散手段５は，あるレベル以下の負荷状態にあるデータ処理手段３を発見した場合，このデータ処理手段３を，先行予約情報管理テーブル７に追加する先行予約済みのデータ処理手段３として決定することができる。
【００５９】
次に，図７を用いて，負荷分散手段５の動作を説明する。図７は，本実施の形態４による負荷分散手段５における，処理要求に対する処理を実行するデータ処理手段３を決定するまでの手順を示すフローチャートである。
【００６０】
負荷分散手段５は，データ入力手段１から，処理要求を受け取る（Ｓ４０１）と，まず，自身が保持する先行予約情報管理テーブル７を参照し，先行予約済みのデータ処理手段３が存在するか否かを調べる（Ｓ４０２）。先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されている場合には，先頭の先行予約済みのデータ処理手段３を，処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ４０３），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ４０４）。そして，先行予約情報管理テーブル７を更新する，すなわち先に処理を割り当てたデータ処理手段３に関する情報を削除する（Ｓ４０５）。
【００６１】
もし，先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されていない場合には，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出し（Ｓ４０６），処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ４０７），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ４０８）。
【００６２】
ここで，ステップＳ４０６の，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出す過程において，予め定められた閾値より低い負荷状態にあるデータ処理手段３を発見した場合は抽出しておく。ただし，ステップＳ４０７において，処理の割り当てられたデータ処理手段３は除く。
【００６３】
予め定められた閾値より低い負荷状態にあるデータ処理手段３が抽出されたかを調べ（Ｓ４０９），閾値より低い負荷状態にあるデータ処理手段３が存在する場合は，閾値より低い負荷状態にあるデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する（Ｓ４１０）。
【００６４】
こうして，ステップＳ４１０によって，先行予約情報管理テーブル７には，予め定められた閾値より低い負荷状態にあるデータ処理手段３が先行予約済みのデータ処理手段３として登録される。次回以降処理要求を受け取った際には，先行予約情報管理テーブル７に保持される先行予約済みのデータ処理手段３が空になるまで，先行予約済みのデータ処理手段３，すなわち予め定められた閾値より低い負荷状態にあるデータ処理手段３に処理が割り当てられることとなる。
【００６５】
このように，本発明の実施の形態４によるデータ処理装置においても，前述の実施の形態１によるデータ処理装置と同様な効果を得ることができる。
【００６６】
実施の形態５．
本発明の実施の形態５に係るデータ処理装置における負荷分散手段５は，各データ処理手段３の負荷が均衡している場合に，最も早く処理負荷が減少する可能性のあるデータ処理手段３を，先行予約済みのデータ処理手段３として，先行予約情報管理テーブル７に追加する方法を採る。
【００６７】
例えば，同レベルの負荷状態にあるデータ処理手段３が複数存在する場合，これらのデータ処理手段３の中で，現在実行中の処理が終了し，処理負荷が減少するのが，最も早いデータ処理手段３は，次の処理要求が入力された時に，その処理要求に対する処理を実行するデータ処理手段３として割り当てられる可能性が高い。
【００６８】
したがって，負荷分散手段５は，各データ処理手段の負荷が均衡している場合，最も早く処理負荷が減少する可能性のあるデータ処理手段を，先行予約情報管理テーブル７に追加する先行予約済みのデータ処理手段３として決定することができる。
【００６９】
図８は，本発明の実施の形態５に係るデータ処理装置における負荷分散手段５の構成を示す図である。処理割り当て管理テーブル８には，各データ処理手段３に割り当てられている処理に関する情報が格納されている。処理情報管理テーブル９には，データ処理手段３で実行される処理に関する情報が格納されている。
【００７０】
負荷分散手段５が保持する処理割り当て管理テーブル８には，各データ処理手段３について，処理負荷が減少する時刻を推定するための情報が含まれる。例えば，直接，処理負荷が減少する推定時刻が含まれていても良く，あるいは，割り当てられている処理の数，割り当てられている処理の種類，処理が割り当てられた時刻など，間接的に，処理負荷が減少する時刻を推定しうる情報が含まれていても良い。また，ここであげる以外のその他の情報を含んでいても構わない。
【００７１】
また，負荷分散手段５が保持する処理割り当て管理テーブル８から得られる，各データ処理手段３の処理負荷が減少する推定時刻は，絶対的な実時刻でもよいし，現時刻からの相対的な時刻，あるいは，各データ処理手段３の処理負荷が減少する推定時刻を比較しうる何らかの指数であってもよい。
【００７２】
なお，処理割り当て管理テーブル８は，負荷状況管理テーブル６の中に含むように構成されていても構わない。
【００７３】
負荷分散手段５が保持する処理情報管理テーブル９には，全てのデータ処理手段３で実行される処理について，処理の実行時間を推定するための情報が含まれる。例えば，直接，処理の推定実行時間が含まれていても良く，あるいは，処理の演算量など，間接的に，処理の実行時間を推定しうる情報が含まれていても良い。また，ここであげる以外のその他の情報を含んでいても構わない。
【００７４】
また，負荷分散手段５が保持する処理情報管理テーブル９から得られる，各処理の実行推定時間は，実時間でも良いし，各処理の実行時間を比較しうる指数や相対値であってもよい。
【００７５】
次に，図９を用いて，負荷分散手段５の動作を説明する。図９は，本実施の形態５による負荷分散手段５における，処理要求に対する処理を実行するデータ処理手段３を決定するまでの手順を示すフローチャートである。
【００７６】
負荷分散手段５は，データ入力手段１から，処理要求を受け取る（Ｓ５０１）と，まず，自身が保持する先行予約情報管理テーブル７を参照し，先行予約済みのデータ処理手段３が存在するか否かを調べる（Ｓ５０２）。先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されている場合には，先頭の先行予約済みのデータ処理手段３を，処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ５０３），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ５０４）。そして，先行予約情報管理テーブル７を更新する，すなわち先に処理を割り当てたデータ処理手段３に関する情報を削除する（Ｓ５０５）。
【００７７】
さらに，処理要求に対する処理の推定実行時間を，処理情報管理テーブル９から獲得し（Ｓ５０６），得られた処理の推定実行時間に基づき，処理割り当て管理テーブル８の内容を更新する（Ｓ５０７）。
【００７８】
もし，先行予約情報管理テーブル７に，先行予約済みのデータ処理手段３が保持されていない場合には，負荷状況管理テーブル６を検索し，最も負荷の低いデータ処理手段３を探し出し（Ｓ５０８），処理要求に対する処理を実行するデータ処理手段３として決定し（Ｓ５０９），処理を割り当てたデータ処理手段３の情報をデータ入力手段１に伝達する（Ｓ５１０）。
【００７９】
そして，処理要求に対する処理の推定実行時間を，処理情報管理テーブル９から獲得し（Ｓ５１１），得られた処理の推定実行時間に基づき，処理割り当て管理テーブル８の内容を更新する（Ｓ５１２）。
【００８０】
次に，ステップＳ５０８〜Ｓ５０９において，処理要求に対する処理が割り当てられなかった他のデータ処理手段３について，処理要求に対する処理が割り当てられたデータ処理手段３と同レベルの負荷状況にあるデータ処理手段３，ないしは，次に低いレベルの負荷状況にあるデータ処理手段３を抽出する（Ｓ５１３）。
【００８１】
処理割り当て管理テーブル８を参照し，抽出されたデータ処理手段３の中から，最も早く処理負荷が減少するデータ処理手段３を選択し（Ｓ５１４），先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する（Ｓ５１５）。
【００８２】
こうして，ステップＳ５１５によって，先行予約情報管理テーブル７には，最も早く処理負荷が減少する可能性のあるデータ処理手段３が先行予約済みのデータ処理手段３として登録される。次回以降処理要求を受け取った際には，先行予約情報管理テーブル７に保持される先行予約済みのデータ処理手段３が空になるまで，先行予約済みのデータ処理手段３，すなわち先の処理要求において処理が割り当てられなかった他のデータ処理手段３のうち，次に処理が割り当てられる可能性のある，負荷状態にあるデータ処理手段３の中で，最も早く処理負荷が減少する可能性のあるデータ処理手段３に処理が割り当てられることとなる。
【００８３】
このように，本発明の実施の形態５によるデータ処理装置においても，前述の実施の形態１によるデータ処理装置と同様な効果を得ることができる。
【００８４】
実施の形態６．
なお，同種の処理要求が連続して発生する場合，各データ処理手段３には，同じ処理負荷の処理が次々と割り当てられることになるので，処理負荷が均衡しているデータ処理手段３のうち，最も早く理負荷が減少するのは，最も過去に処理を割り当てたデータ処理手段３である。
【００８５】
よって，負荷分散手段５では，最も過去に処理を割り当てたデータ処理手段が，最も早く処理負荷が減少する可能性のあるデータ処理手段であると予測し，このデータ処理手段３を，先行予約済みのデータ処理手段３として，先行予約情報管理テーブル７に追加することによっても，同様な効果を得ることができる。
【００８６】
実施の形態７．
本発明の実施の形態７に係るデータ処理装置について図面を参照しながら説明する。本発明の実施の形態７に係るデータ処理装置の構成は，図１に示す上記実施の形態１と同様である。
【００８７】
本発明の実施の形態７に係るデータ処理装置では，負荷分散手段５は，各データ処理手段３の負荷状態が変更になった場合に，先行予約情報管理テーブル７の内容を変更する方式を採る。
【００８８】
処理要求及び処理すべきデータは，データ入力手段１によって所望の手順にのっとり入力される。データ入力手段１によって入力された処理要求は，データ通信手段２を介して，負荷分散手段５に伝達される。
【００８９】
負荷分散手段５は，データ入力手段１から処理要求を受け取ると，負荷状況管理テーブル６及び先行予約情報管理テーブル７を参照，更新し，その処理要求に対する処理を実行するデータ処理手段３を決定する。この手順は，上記実施の形態１〜６に示す方法と同様に行われる。
【００９０】
負荷分散手段５によって，データ処理手段３への処理の割り当てが決定されると，その情報はデータ通信手段２を介して，データ入力手段１に伝達される。データ入力手段１は，負荷分散手段５で決定されたデータ処理手段３に対して，データ通信手段２を介して，処理要求及び処理すべきデータを転送する。
【００９１】
データ処理手段３は，データ入力手段１から処理要求及び処理すべきデータを受け取ると，その内容に基づき，予め定められた処理を実行し，処理結果を得る。データ処理手段３は，処理結果が得られると，その処理結果をデータ通信手段２を介して，データ出力手段４に転送する。同時に，データ処理手段３は，処理が完了したことを負荷分散手段５に伝達する。
【００９２】
データ出力手段４は，データ処理手段３から処理結果を受け取ると，所望の手順にのっとり，処理結果を出力する。
【００９３】
一方，負荷分散手段５は，データ処理手段３から，処理が完了したことを伝達されると，保持する負荷状況管理テーブル６を更新すると共に，必要に応じて，先行予約情報管理テーブル７の内容を更新する。
【００９４】
例えば，負荷分散手段５は，処理が完了したデータ処理手段３に関する負荷状況管理テーブル６を更新することによって，処理が完了したデータ処理手段３が，何も処理が割り当てられていない，処理待ち状態になったことを認識すると，このデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する。
【００９５】
例えば，負荷分散手段５は，処理が完了したデータ処理手段３に関する負荷状況管理テーブル６を更新することによって，処理が完了したデータ処理手段３が，直前の処理要求に対する処理を割り当てたデータ処理手段３と同レベルの負荷状態になったことを認識すると，このデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する。
【００９６】
例えば，負荷分散手段５は，処理が完了したデータ処理手段３に関する負荷状況管理テーブル６を更新することによって，処理が完了したデータ処理手段３が，予め定められた閾値より低い負荷状態になったことを認識すると，このデータ処理手段３を，先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加する。
【００９７】
例えば，負荷分散手段５は，処理が完了したデータ処理手段３が，先に先行予約済みのデータ処理手段３として先行予約情報管理テーブル７に追加したデータ処理手段３よりも早く処理を完了した場合には，先行予約情報管理テーブル７から，先行予約済みのデータ処理手段３として追加したデータ処理手段３を削除し，処理が完了したデータ処理手段３を先行予約済みのデータ処理手段３として追加する。
【００９８】
このように，本発明の実施の形態７によるデータ処理装置では，上記実施の形態１によるデータ処理装置と同様な効果が得られると共に，各データ処理手段３の負荷状態の変更に応じて，先行予約情報管理テーブル７の内容を変更するので，最新の負荷状態に応じた負荷分散を行うことができ，効率よくデータ処理手段３を使用することができる。
【００９９】
なお，負荷分散手段５における先行予約情報管理テーブル７の更新は，データ入力手段１により処理要求が入力された時ではないので，処理要求が入力してから処理結果を出力するまでの時間への影響はほとんどない。
【０１００】
なお，上記実施の形態７によるデータ処理装置では，データ処理手段３が処理を完了した時に負荷分散手段５に伝達するようにしたが，データ処理手段３が処理を開始した時にも負荷分散手段５に伝達するようにしてもよい。この場合，負荷分散手段５は，データ処理手段３から，処理が開始したことを伝達されると，保持する負荷状況管理テーブル６を更新すると共に，必要に応じて，先行予約情報管理テーブル７の内容を更新する。
【０１０１】
実施の形態８．
本発明の実施の形態８に係るデータ処理装置について図面を参照しながら説明する。本発明の実施の形態８に係るデータ処理装置の構成は，図１に示す上記実施の形態１と同様である。
【０１０２】
本発明の実施の形態８に係るデータ処理装置では，負荷分散手段５は，各データ処理手段３が必要とする場合には，先行予約情報管理テーブル７に保持された先行予約済みのデータ処理手段３の情報をデータ処理手段３に通知する方式を採る。
【０１０３】
処理要求及び処理すべきデータは，データ入力手段１によって所望の手順にのっとり入力される。データ入力手段１によって入力された処理要求は，データ通信手段２を介して，負荷分散手段５に伝達される。
【０１０４】
負荷分散手段５は，データ入力手段１から処理要求を受け取ると，負荷状況管理テーブル６及び先行予約情報管理テーブル７を参照，更新し，その処理要求に対する処理を実行するデータ処理手段３を決定する。この手順は，上記実施の形態１〜６に示す方法と同様に行われる。
【０１０５】
負荷分散手段５によって，データ処理手段３への処理の割り当てが決定されると，その情報はデータ通信手段２を介して，データ入力手段１に伝達される。
【０１０６】
同時に，負荷分散手段５は，処理要求から，その処理要求に対する処理を実行するデータ処理手段３が，先行予約済みのデータ処理手段３に関する情報を必要か否かを判断し，必要と判断した場合には，先行予約情報管理テーブル７に保持されている先行予約済みのデータ処理手段３に関する情報をデータ処理手段３に通知する。
【０１０７】
データ入力手段１は，負荷分散手段５で決定されたデータ処理手段３に対して，データ通信手段２を介して，処理要求及び処理すべきデータを転送する。
【０１０８】
データ処理手段３は，データ入力手段１から処理要求及び処理すべきデータを受け取ると，その内容に基づき，予め定められた処理を実行し，処理結果を得る。ここで，処理要求に対する処理において，先行予約済みのデータ処理手段３に関する情報が必要な場合には，負荷分散手段５から通知された先行予約済みのデータ処理手段３に関する情報を使用する。
【０１０９】
例えば，処理の中間処理結果や最終的な処理結果を，データ通信手段２を介して，先行予約済みのデータ処理手段３に転送する。
【０１１０】
データ処理手段３は，処理結果が得られると，その処理結果をデータ通信手段２を介して，データ出力手段４に転送する。データ出力手段４は，データ処理手段３から処理結果を受け取ると，所望の手順にのっとり，処理結果を出力する。
【０１１１】
このように，本発明の実施の形態８によるデータ処理装置では，上記実施の形態１によるデータ処理装置と同様な効果が得られると共に，必要に応じて，負荷分散手段５からデータ処理手段３に先行予約済みのデータ処理手段３に関する情報が通知されるので，例えば，次のデータ処理手段に転送すべき中間処理結果や最終処理結果を一時的に別の場所に保持するなどの不要なデータ転送が削減でき，高速かつ効率の良いデータ処理装置を得ることができる。
【０１１２】
実施の形態９．
なお，上記実施の形態８において，負荷分散手段５から，必要に応じて，先行予約情報管理テーブル７に保持された先行予約済みのデータ処理手段３に関する情報を，データ処理手段３に通知する場合，上記実施の形態７に示すように，各データ処理手段３の負荷状態が変更になった場合に，負荷分散手段５が保持する先行予約情報管理テーブル７の内容を更新すると，データ処理手段３に通知した先行予約済みのデータ処理手段３に関する情報と負荷分散手段５が保持する先行予約情報管理テーブル７の内容とに矛盾が発生する場合がある。
【０１１３】
そのため，負荷分散手段５は，各データ処理手段３の負荷状態が変更になった場合，先行予約情報管理テーブル７の内容を更新すると共に，この更新によって，先にデータ処理手段３に通知した先行予約済みのデータ処理手段３に関する情報に矛盾がないかを確認し，矛盾があった場合には，その変更内容をデータ処理手段３に通知する。
【０１１４】
データ処理手段３は，負荷分散手段５から，先行予約済みのデータ処理手段３に関する情報に変更があったことを通知されると，自身が保持する先行予約済みのデータ処理手段３に関する情報を直ちに変更する。
【０１１５】
このように，各データ処理手段３の負荷状態の変更に応じて，先行予約情報管理テーブル７の内容を更新する場合であっても，データ処理手段３に通知した先行予約済みのデータ処理手段３に関する情報と負荷分散手段５が保持する先行予約情報管理テーブル７の内容とに矛盾が発生せず，誤動作を防止することができる。
【０１１６】
なお，負荷分散手段５から，データ処理手段３に変更を通知した時に，既にデータ処理手段３が変更前の先行予約済みのデータ処理手段３に関する情報を使用していた場合には，変更前の先行予約済みのデータ処理手段３に関する情報を使用して行った処理をやり直すようにしてもよい。例えば，変更前の先行予約済みのデータ処理手段３に関する情報に従い，処理の中間処理結果や最終的な処理結果を，他のデータ処理手段３に転送した場合には，この転送をキャンセルし，変更後の先行予約済みのデータ処理手段３に，処理の中間処理結果や最終的な処理結果を転送する。
【０１１７】
実施の形態１０．
なお，上記実施の形態９では，先行予約情報管理テーブル７に保持された先行予約済みのデータ処理手段３に関する情報を通知したデータ処理手段３が，その情報を使用したか否かとは無関係に，先行予約情報管理テーブル７を更新したが，データ処理手段３が通知した先行予約済みのデータ処理手段３に関する情報を使用した後は先行予約情報管理テーブル７を更新しないようにしてもよい。
【０１１８】
データ処理手段３は，負荷分散手段５から通知された先行予約済みのデータ処理手段３に関する情報を使用すると，使用済みであることを負荷分散手段５に通知する。
【０１１９】
負荷分散手段５は，データ処理手段３から使用済みであることの通知を受けると，各データ処理手段３の負荷状態が変更になった場合であっても，自身が保持する先行予約情報管理テーブル７の内容を更新しない。
【０１２０】
このように，負荷分散手段５は，通知した先行予約済みのデータ処理手段３に関する情報を使用した後は，自身が保持する先行予約情報管理テーブル７の内容を更新しないので，データ処理手段３におけるデータ通信や処理のやり直しによる不要な処理のオーバーヘッドを削除する事ができる。
【０１２１】
【発明の効果】
本発明は，以上説明した通り，負荷分散のための不必要な処理オーバーヘッドを削減し，高速かつ効率の良いデータ処理装置を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るデータ処理装置の構成を示す図である。
【図２】本発明の実施の形態１に係る負荷分散手段５が保持する負荷状況管理テーブル６の内容の一例を示す図である。
【図３】本発明の実施の形態１に係る負荷分散手段５が保持する先行予約情報管理テーブル７の内容の一例を示す図である。
【図４】本発明の実施の形態１に係る負荷分散手段５の動作を示すフローチャートである。
【図５】本発明の実施の形態２に係る負荷分散手段５の動作を示すフローチャートである。
【図６】本発明の実施の形態３に係る負荷分散手段５の動作を示すフローチャートである。
【図７】本発明の実施の形態４に係る負荷分散手段５の動作を示すフローチャートである。
【図８】本発明の実施の形態５に係るデータ処理装置における負荷分散手段５の構成を示す図である。
【図９】本発明の実施の形態５に係る負荷分散手段５の動作を示すフローチャートである。
【符号の説明】
１  データ入力手段
２  データ通信手段
３  データ処理手段
４  データ出力手段
５  負荷分散手段
６  負荷状況管理テーブル
７  先行予約情報管理テーブル
８  処理割り当て管理テーブル
９  処理情報管理テーブル
【図１】
2004302736.tif 000003
【図２】
2004302736.tif 000004
【図３】
2004302736.tif 000005
【図４】
2004302736.tif 000006
【図５】
2004302736.tif 000007
【図６】
2004302736.tif 000008
【図７】
2004302736.tif 000009
【図８】
2004302736.tif 000010
【図９】
2004302736.tif 000011