(57)【要約】【課題】各トランザクションによる負荷がアンバランスの場合でも、各ホストコンピュータにかかる負荷をバランスすることにより、システム全体の処理性能を向上させる。【解決手段】クライアント３から送られる入力データの処理サーバ２への分散を行うために、入力データ長を算出し、負荷情報管理テーブルの総入力データ長を参照して総入力データ長が一番小さい処理サーバを検索し、該当する処理サーバを特定し、負荷情報管理テーブルを検索し、特定した処理サーバに対応する総入力データ長に前記入力データ長の値を加算し、特定した処理サーバに、入力データを送信することを特徴とするトランザクション分散方法、トランザクション分散プログラムおよびトランザクション分散装置１を提供する。【選択図】図１
2007108992.tif 000002
【特許請求の範囲】
【請求項１】
クライアントおよび処理サーバに接続し、情報の送受信を行う送受信処理部、処理サーバの負荷情報を管理する負荷情報管理テーブル、システムの定義情報を保持する定義テーブル、負荷情報に基づいて各処理サーバにトランザクションの分散を行うトランザクション分散処理部を備えるトランザクション分散装置におけるトランザクション分散方法であって、
前記送受信処理部が、
前記クライアントから入力データを受信し、
前記トランザクション分散処理部が、
前記入力データを基に、入力データ長を算出し、
前記負荷情報管理テーブルの総入力データ長を参照して総入力データ長が小さい処理サーバを検索し、
前記定義テーブルを基に、該当する処理サーバを特定し、
前記負荷情報管理テーブルを検索し、前記特定した処理サーバに対応する総入力データ長に前記入力データ長の値を加算し、
前記送受信処理部が、
前記特定した処理サーバに、入力データを送信すること
を特徴とするトランザクション分散方法。
【請求項２】
前記トランザクション分散装置は、統計情報処理部をさらに備え、
前記統計情報処理部は、
負荷係数を設定し、
前記トランザクション分散処理部は、
前記総入力データ長に加算される入力データ長は、前記入力データ長に前記負荷係数を乗算した値であることを特徴とする請求項１に記載のトランザクション分散方法。
【請求項３】
請求項１または請求項２に記載のトランザクション分散方法を、コンピュータに実行させることを特徴とするトランザクション分散プログラム。
【請求項４】
クライアントおよび処理サーバに接続し、情報の送受信を行う送受信処理部、処理サーバの負荷情報を管理する負荷情報管理テーブル、システムの定義情報を保持する定義テーブル、負荷情報に基づいて各処理サーバにトランザクションの分散を行うトランザクション分散処理部を備えるトランザクション分散装置であって、
各処理サーバ毎に処理中のトランザクションの入力データ長の総和を求め、トランザクション受付時に入力データ長の総和が少ない処理サーバにトランザクションを振り分ける機能を有することを特徴とするトランザクション分散装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理サーバと、複数のクライアントと、トランザクション分散装置とから構成されたトランザクション分散処理システムにおける負荷分散技術に関する。
【背景技術】
【０００２】
コンピュータに対する処理の増加と共に、処理すべきトランザクションを複数の処理サーバに分散させる技術が実用化されている。しかしながら、現状の分散技術では、トランザクションによる負荷の非均一（偏りが生じていること）性が原因で各処理サーバの負荷に差が生じ、結果として、システム全体のスループットの向上が図れないといった問題がある。
【０００３】
前記した問題を解決するための技術の一つとして、クライアント（端末）から処理サーバ（ホストコンピュータ）へ確立されるセッション数を、各処理サーバで均一（偏りが生じていないこと）にすることによって、クライアントからのトランザクションの処理にかかる各処理サーバの負荷を分散させる技術が開示されている（例えば、特許文献１参照）。
【特許文献１】特開平９−９７２３３号公報（請求項１、第４〜５頁、図２・図５）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に係る技術は、各処理サーバに確立されるセッション数を均一に（バランス）しても、各セッションにかかるトランザクションによる負荷に偏りが生じ、各セッションにかかる負荷にばらつきがある場合、各処理サーバにかかる負荷がアンバランスとなり、システム全体のスループットが低下するという課題がある。
【０００５】
前記課題に鑑みて、本発明の目的は、各トランザクションによる負荷がアンバランスの場合、各処理サーバにかかる負荷をバランスすることにより、複数の処理サーバからなるシステムの処理性能を向上させることにある。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明は、クライアントから送られる入力データの処理サーバへの分散を行うために、入力データ長を算出し、負荷情報管理テーブルの総入力データ長を参照して総入力データ長が一番小さい処理サーバを検索し、該当する処理サーバを特定し、負荷情報管理テーブルを検索し、特定した処理サーバに対応する総入力データ長に前記入力データ長の値を加算し、特定した処理サーバに、入力データを送信することを特徴とするトランザクション分散方法、トランザクション分散プログラムおよびトランザクション分散装置を提供する。
【発明の効果】
【０００７】
本発明によれば、各トランザクションの負荷がアンバランスの場合、各処理サーバにかかる負荷をバランスすることにより、複数の処理サーバからなるシステムの処理性能を向上させることが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【０００９】
［第１実施形態：トランザクション分散処理システムの構成］
図１は、第１実施形態におけるトランザクション分散処理システムの構成の一例を示す図である。
本実施例では、トランザクションを処理する少なくとも１つの処理サーバ２と、トランザクションを分散（振分）するトランザクション分散装置１と、トランザクションのための入力データを送信する少なくとも１つのクライアント３とを含んで構成される。
各処理サーバ２と、トランザクション分散装置１とは、通信回線４を介して接続しており、各クライアント３と、トランザクション分散装置１とは、通信回線５を介して接続している。
通信回線４，５は、ＬＡＮ（Local Area Network）のような狭域ネットワークでもよいし、ＷＡＮ（Wide Area Network）のような広域ネットワークでもよい。
また、トランザクション分散装置１は、メモリ１１と、キーボード１２と、ディスプレイ１３と、マウス１４と、ＣＰＵ１５と、バス１６と、ハードディスク１７とを含んで構成される。
また、メモリ１１は、情報の送受信などの処理を行う送受信処理部１１１と、トランザクションの分散処理を行うトランザクション分散処理部１１２と、処理サーバ名と処理サーバＩＤが対応付けられている処理サーバ定義テーブル（請求項における定義テーブル）１１３と、クライアント名とクライアントＩＤが対応付けられているクライアント定義テーブル１１４と、処理サーバＩＤと総入力データ長が対応付けられている負荷情報管理テーブル１１５と、入力データに関する情報が管理されている入力データ管理テーブル１１６と、これらを制御するオペレーティングシステム１１７とを備える。
【００１０】
［処理サーバ定義テーブル１１３］
ここで、図１を参照しつつ、図２に沿って処理サーバ定義テーブル１１３について説明する。
図２は、第１実施形態における処理サーバ定義テーブルの構成例を示す図である。
処理サーバ定義テーブル１１３は、処理サーバＩＤのフィールドと処理サーバ名のフィールドとから構成される。なお、処理サーバＩＤと処理サーバ名との１組を処理サーバ定義エントリと呼ぶことがある。処理サーバＩＤは、処理サーバ２を識別するための固有なＩＤである。処理サーバ名は、図１に示すトランザクション分散処理システム内の各処理サーバ２に割当てられた、トランザクション分散処理システム内で固有の名称である。
【００１１】
［クライアント定義テーブル１１４］
ここで、図１を参照しつつ、図３に沿ってクライアント定義テーブル１１４について説明する。
図３は、クライアント定義テーブルの構成例を示す図である。
クライアント定義テーブル１１４は、クライアントＩＤのフィールドとクライアント名のフィールドとから構成される。なお、クライアントＩＤとクライアント名との１組をクライアント定義エントリと呼ぶことがある。クライアントＩＤは、クライアント３を識別するための固有なＩＤである。クライアント名は、図１に示すトランザクション分散処理システム内の各クライアントに割当てられた、トランザクション分散処理システム内で固有の名称である。
【００１２】
［負荷情報管理テーブル１１５］
ここで、図１を参照しつつ、図４に沿って負荷情報管理テーブル１１５について説明する。
図４は、負荷情報管理テーブルの構成例を示す図である。
負荷情報管理テーブル１１５は、処理サーバＩＤのフィールドと総入力データ長のフィールドにより構成される。処理サーバＩＤと総入力データ長との１組を、負荷情報エントリと呼ぶことがある。処理サーバＩＤは、処理サーバ２を識別するための固有なＩＤである。本実施形態において、固有とは、図１に示すトランザクション分散処理システム内で固有という意味だが、これに限らず、グローバルアドレスのようなＷＡＮ内で固有のＩＤであってもよい。総入力データ長は、対応している処理サーバＩＤで識別される処理サーバ２において処理中のトランザクションの入力データ長の総和である。
【００１３】
さらに、図１を参照しつつ、図５に沿って入力データ管理テーブル１１６について説明する。
図５は、第1実施形態における入力データ管理テーブルの構成例を示す図である。
入力データ管理テーブル１１６は、トランザクションごとに作成されるテーブルである。入力データ管理テーブル１１６には、トランザクションごとに付与されたＩＤであるトランザクションＩＤ、該トランザクションが送信される処理サーバ２のＩＤである処理サーバＩＤを登録するためのフィールドが含まれる。さらに、該当するトランザクションの入力データの長さである入力データ長、そして入力データの入力元であるクライアント３のＩＤであるクライアントＩＤを登録するためのフィールドをさらに含んで構成されている。ここで、入力データ長とは、例えば入力データのバイト数などで表される値である。
【００１４】
［トランザクション分散処理］
次に、図１および図２を参照しつつ、図６に沿ってトランザクション分散処理の流れを説明する。
図６は、第１実施形態におけるトランザクション分散装置によるトランザクション分散処理の流れを示すフローである。
トランザクション分散処理に先立って、負荷情報管理テーブル１１５には、処理サーバＩＤと、総入力データ長の初期値として０が登録される。
さらに、トランザクション分散処理に先立って、処理サーバ定義テーブル１１３には、処理サーバＩＤと処理サーバ名が登録され、クライアント定義テーブル１１４には、クライアントＩＤとクライアント名が登録される。
【００１５】
（入力データ長、各ＩＤの取得、処理サーバの選択）
まず、送受信処理部１１１が通信回線５を介して、クライアント３からトランザクションのための入力データを受信する（Ｓ６０１）。この入力データには、クライアント３ごとに付与されているクライアントＩＤが含まれている。
さらに、トランザクション分散処理部１１２が、送受信処理部１１１から入力データを取得し、この入力データを基に、入力データ長を算出する（Ｓ６０２）。
さらに、トランザクション分散処理部１１２は、受信した入力データを送受信処理部１１１から取得し、この入力データからクライアントＩＤを取得する（Ｓ６０３）。
次に、トランザクション分散処理部１１２が、負荷情報管理テーブル１１５の総入力データ長を参照して総入力データ長が一番小さい処理サーバＩＤを検索し（Ｓ６０４）、該当する処理サーバＩＤを取得する（Ｓ６０５）。なお、同じ総入力データ長である処理サーバ２が複数存在するときは、処理サーバＩＤが最も小さい処理サーバ２を選択する。
【００１６】
このようにすることで、現在入力されている入力データ長の総和が、最も小さい処理サーバ２、すなわち負荷が最も少ない処理サーバ２を選択することができる。
【００１７】
（トランザクション要求）
そして、トランザクション分散処理部１１２が、送受信処理部１１１の入力データにトランザクションＩＤを付与する（Ｓ６０６）。
次に、トランザクション分散処理部１１２が、トランザクションＩＤ、処理サーバＩＤ、クライアントＩＤおよび入力データ長を入力データ管理テーブル１１６に登録する（Ｓ６０７）。
次に、トランザクション分散処理部１１２が、負荷情報管理テーブル１１５を、処理サーバＩＤをキーとして検索し、対応する総入力データ長に入力データ長の値を加算する（Ｓ６０８）。
次に、送受信処理部１１１が、トランザクション分散処理部１１２から処理サーバＩＤを取得し、処理サーバ定義テーブル１１３を、処理サーバＩＤをキーとして参照し、対応する処理サーバ名を取得する（Ｓ６０９）。
そして、送受信処理部１１１は、通信回線４を介して、ステップＳ６０９で取得した処理サーバ名を有する処理サーバ２に、トランザクションＩＤが付与された入力データを送信する（Ｓ６１０）ことによって、該処理サーバ２にトランザクション処理を要求する。
【００１８】
（トランザクション終了後の処理）
そして、処理サーバ２は、要求されたトランザクション処理を行う。トランザクション処理が終了すると、処理サーバ２は、通信回線４を介して、送受信処理部１１１に対し、該当するトランザクションＩＤを含む応答データを送信し、送受信処理部１１１は、この応答データを受信する（Ｓ６１１）。
次に、トランザクション分散処理部１１２が、送受信処理部１１１から応答データを取得し、この応答データからトランザクションＩＤを取得する（Ｓ６１２）。
そして、トランザクション分散処理部１１２が、処理サーバＩＤ、クライアントＩＤおよび入力データ長を取得する（Ｓ６１３）。
そして、トランザクション分散処理部１１２は、取得した処理サーバＩＤをキーとして、負荷情報管理テーブル１１５を検索し、該当する処理サーバＩＤの総入力データ長から、取得した入力データ長の値を減算する（Ｓ６１４）。
【００１９】
このようにすることで、トランザクション分散装置１は、処理サーバ２において処理中のすべてのトランザクションの入力データ長、すなわち処理サーバ２に入力されているすべての入力データの入力データ長を常に管理することができる。
【００２０】
そして、送受信処理部１１１が、トランザクション分散処理部１１２からクライアントＩＤを取得し、このクライアントＩＤをキーとして、クライアント定義テーブル１１４を参照し、対応するクライアント名を取得する（Ｓ６１５）。
そして、送受信処理部１１１は、このクライアント名に該当するクライアント３に応答データを送信する（Ｓ６１６）。
【００２１】
以上のような方法を用いることにより、各トランザクションの負荷がアンバランスの場合でも、各処理サーバにかかる負荷をバランスすることにより、複数の処理サーバからなるシステム全体のスループットを向上させることが可能となる。
【００２２】
［第２実施形態：トランザクション分散装置の構成］
次に、図７から図１２を参照して、本発明に係る第２実施形態を説明する。なお、第２実施形態は、前記した第１実施形態と共通の要素および処理を含むため、このような要素および処理に関しては、同一の符号を付して説明を省略し、本実施形態の特徴的な要素および処理について説明する。
【００２３】
図７は、第２実施形態におけるトランザクション分散処理システムの構成の一例を示す図である。
第１実施形態と異なる第１の点は、メモリ１１ａが、平均処理時間の算出などの処理を行う統計情報処理部１１８をさらに備えた点である。
そして、第２の点は、バス１６に接続されるハードディスク１７ａに統計情報処理の結果を保存する統計情報テーブル１７１が格納される点である。
さらに、第３の点は、処理サーバ定義テーブル１１３ａに、各処理サーバごとの負荷係数が格納される点である。
第４の点は、トランザクション分散処理部１１２ａに、入力データ長に負荷係数を乗算する機能などが加わった点である。
【００２４】
［処理サーバ定義テーブル１１３ａ］
さらに、図７を参照しつつ、図８に沿って第２実施形態における処理サーバ定義テーブル１１３ａと負荷係数について説明する。
図８は、第２実施形態における処理サーバ定義テーブルの構成例を示す図である。
図８が図２に示す第1実施形態における処理サーバ定義テーブル１１３と異なる点は、それぞれの処理サーバに対応して、後記する負荷係数が設けられている点である。
【００２５】
［負荷係数］
負荷係数は、処理サーバごとの処理時間を平均した平均処理時間を基に決定され、対応する処理サーバＩＤで識別される処理サーバ２が処理できる能力値を表現するものである。負荷係数は、少なくとも正の値であり、標準値は１とし、例えば０．１から１０までの範囲で指定する。図７に示すトランザクション分散処理システム内の他の処理サーバ２と比較して、高い処理能力を有する処理サーバ２は、平均処理時間が短くなる。このような処理サーバに対しては、１より小さい値の負荷係数を設定する。また、図７に示すトランザクション分散処理システム内の他の処理サーバ２と比較して、低い処理能力を有する処理サーバ２は、平均処理時間が長くなる。このような処理サーバに対しては、１より大きい値の負荷係数を設定する。
【００２６】
ここで、図７を参照しつつ、図９に沿って第２実施形態における入力データ管理テーブル１１６ａについて説明する。
図９は、第２実施形態における入力データ管理テーブルの構成例を示す図である。
図５に示す第1実施形態における入力データ管理テーブル１１６と異なる点は、トランザクション分散装置１ａから処理サーバ２に対しトランザクションを要求した時刻である要求時刻が存在する点である。
【００２７】
次に、図７を参照しつつ、図１０に沿って統計情報テーブル１７１について説明する。
図１０は、統計情報テーブルの構成例を示す図である。
統計情報テーブル１７１は、処理サーバ２ごとに作成され、該当する処理サーバＩＤが登録されるフィールド、平均処理時間が登録されるフィールドおよび処理時間が登録されるフィールドを含んで構成される。処理時間を登録するフィールドは、複数のフィールドからなる。
平均処理時間とは、後記する処理時間を処理サーバ２ごとに平均した値であり、前記した負荷係数の決定に関わる値である。平均処理時間の算出方法は、図１２を参照して後記する。
処理時間とは、処理サーバＩＤに該当する処理サーバ２が、１つのトランザクションを処理する時間である。処理時間の算出方法は、図１２を参照して後記する。
【００２８】
［トランザクション分散処理］
次に、図７を参照しつつ、図１１に沿って第２実施形態におけるトランザクション分散処理の流れを説明する。
図１１は、第２実施形態におけるトランザクション分散装置によるトランザクション分散処理の流れを示すフローである。
なお、図１１では、図１２に示す統計情報処理が完了していることを前提に説明するが、統計情報処理が完了していない場合は、負荷係数の初期値として１を処理サーバ定義テーブル１１３ａに予め設定しておく。
また、統計情報テーブル１７１には、処理サーバＩＤが予め登録されているものとする。
【００２９】
本実施形態において、図６に示す第１実施形態におけるトランザクション分散処理と異なる処理は、以下の処理である。
ステップＳ６０７の後に、統計情報処理部１１８が、トランザクション分散処理部１１２ａから処理サーバＩＤを取得し、この処理サーバＩＤをキーとして、処理サーバ定義テーブル１１３ａを検索して、対応する処理サーバＩＤに対応している負荷係数を取得する（Ｓ１１０１）。負荷係数の入力処理については、図１２を参照して後記する。
そして、トランザクション分散処理部１１２ａが、統計情報処理部１１８から負荷係数を取得し、処理サーバＩＤをキーとして、負荷情報管理テーブル１１５を検索し、対応する総入力データ長に入力データ長×負荷係数の値を加算する（Ｓ１１０２）。
【００３０】
そして、ステップＳ６０９の後、送受信処理部１１１は、通信回線４を介して、ステップＳ６０９で取得した処理サーバ名を有する処理サーバ２に、トランザクションＩＤが付与された入力データを送信することによって、この処理サーバ２にトランザクション処理を要求すると同時に、入力データを送信した時刻である要求時刻を取得する（Ｓ１１０３）。
さらに、送受信処理部１１１は、ステップＳ６０６で取得したトランザクションＩＤをキーとして、入力データ管理テーブル１１６ａを検索して、対応する要求時刻のフィールドに、ステップＳ１１０３で取得した要求時刻を登録する（Ｓ１１０４）。
【００３１】
そして、処理サーバ２によるトランザクション処理の終了後、送受信処理部１１１は、処理サーバ２からトランザクションＩＤを含む応答データを受信し、同時に応答時刻を取得する（Ｓ１１０５）。
そしてステップＳ６１２の処理の後、統計情報処理を行う（Ｓ１１０６）。統計情報処理の詳細は、図１２を参照して後記する。
【００３２】
さらに、統計情報処理部１１８が、トランザクション分散処理部１１２ａから処理サーバＩＤを取得し、この処理サーバＩＤをキーとして、処理サーバ定義テーブル１１３ａを検索して、対応する負荷係数を取得する（Ｓ１１０７）。
次に、トランザクション分散処理部１１２ａが、統計情報処理部１１８から負荷係数を取得し、処理サーバＩＤをキーとして、負荷情報管理テーブル１１５を検索し、該当する処理サーバＩＤの総入力データ長から、取得した入力データ長×負荷係数の値を減算する（Ｓ１１０８）。
【００３３】
［統計情報処理］
次に、図７および図３を参照しつつ、図１２に沿って図１１のステップＳ１１０６の統計情報処理を説明する。
図１２は、図１１のステップＳ１１０６の統計情報処理の流れを示すフローである。
【００３４】
（処理時間の算出）
まず、統計情報処理部１１８は、送受信処理部１１１から応答時刻を取得し、トランザクション分散処理部１１２ａからトランザクションＩＤを取得する（Ｓ１２０１）。
さらに、統計情報処理部１１８は、取得したトランザクションＩＤをキーとして、入力データ管理テーブル１１６ａから処理サーバＩＤと要求時刻を取得する（Ｓ１２０２）。
そして、統計情報処理部１１８は、応答時刻から要求時刻を減算することで、該当する処理サーバ２がトランザクション処理に要した時間である処理時間を算出する（Ｓ１２０３）。
さらに、統計情報処理部１１８は、統計情報テーブル１７１を、処理サーバＩＤをキーとして検索し、算出した処理時間を、該当する統計情報テーブル１７１の処理時間のフィールドに追加登録する（Ｓ１２０４）。
【００３５】
（平均処理時間の算出）
さらに、統計情報処理部１１８は、統計情報テーブル１７１から、すべての処理サーバＩＤと、すべての処理時間を処理サーバ２ごとに取得し（Ｓ１２０５）、さらにこれらの平均をとることで処理サーバ２ごとの平均処理時間を算出する（Ｓ１２０６）。
そして、統計情報処理部１１８は、統計情報テーブル１７１の、それぞれの処理サーバＩＤに対応する平均処理時間のフィールドに登録することで、統計情報テーブル１７１の平均処理時間を更新する（Ｓ１２０７）。
【００３６】
（負荷係数入力）
次に、トランザクション分散処理部１１２ａが、トランザクションＩＤをキーとして、入力データ管理テーブル１１６ａを検索して、該当するクライアントＩＤを取得する（Ｓ１２０８）。
さらに、送受信処理部１１１は、取得したクライアントＩＤをキーとして、クライアント定義テーブル１１４を検索して、対応するクライアント名を取得する（Ｓ１２０９）。
そして、送受信処理部１１１は、統計情報処理部１１８から、すべての処理サーバＩＤを取得し、これらの処理サーバＩＤをキーとして、対応する平均処理時間を取得し、通信回線５を介して、これらをクライアント３に送信する（Ｓ１２１０）。
次に、クライアント３が処理サーバＩＤおよび平均処理時間を表示する。なお、処理サーバＩＤおよび平均処理時間を送信されるクライアント３は、トランザクション分散装置１ａに処理サーバ２に関する情報を要求したクライアント３でもよいし、すべてのクライアント３に一定時間ごとに処理サーバＩＤおよび平均処理時間を送信してもよい。
【００３７】
ユーザは、表示された処理サーバＩＤと平均処理時間を参考に、処理サーバ２の負荷係数をクライアント３に入力し、クライアント３は、入力された負荷係数と処理サーバＩＤとをペアの情報として、送受信処理部１１１に送る。そして、送受信処理部１１１は、処理サーバＩＤと負荷係数を受信する（Ｓ１２１１）。
送受信処理部１１１は、受信した処理サーバＩＤをキーとして、処理サーバ定義テーブル１１３ａを検索し、該当する負荷係数のフィールドおよびに負荷係数を登録する（Ｓ１２１２）。
【００３８】
このようにすることで以下のような効果を得ることができる。
例えば、負荷係数が１よりも小さい場合は、図１１のステップＳ１１０２の処理の際、出力される結果は、元の入力データ長よりも小さい値となる。このため、実際の総入力データ長よりも、小さい値の総入力データ長が負荷情報管理テーブル１１５に登録されることになる。このため、対応する処理サーバ２へのトランザクションの振分け量が増える。
また、負荷係数が１よりも大きい場合は、図１１のステップＳ１１０２の処理の際、出力される結果は、元の入力データ長よりも大きい値となる。このため、実際の総入力データ長よりも、大きい値の総入力データ長が負荷情報管理テーブル１１５に登録されることになる。このため、対応する処理サーバ２へのトランザクションの振分け量が減ることとなる。
このようにして、各処理サーバ２の性能に応じたトランザクションの分散が可能となり、システム全体のスループット向上が可能となる。
【００３９】
なお、本実施形態では、クライアント３を介して、負荷係数がトランザクション分散装置１ａに入力されたが、これに限らず図示しないトランザクション分散装置１ａの入力部を介して入力されてもよいし、平均処理時間に対応した負荷係数を予め設定しておき、算出した平均処理時間を基にトランザクション分散装置１ａが負荷係数を決定してもよい。
【００４０】
なお、ステップＳ１２１０に先立って、送受信処理部１１１が、処理サーバ定義テーブル１１３ａを参照することによって、該処理サーバＩＤに対応する処理サーバ名を取得し、通信回線５を介して、この処理サーバ名をクライアント３に送信してもよい。この場合、クライアント３には、処理サーバ名と平均処理時間が表示されることとなり、ステップＳ１２１１では、この処理サーバ名と負荷係数が送受信処理部１１１によって受信される。そして、その後、トランザクション分散処理部１１２ａが、処理サーバ定義テーブル１１３ａを検索して、該当する処理サーバＩＤを取得してもよい。
また、第１実施形態における図６のステップＳ６０４および第２実施形態における図１１のステップＳ６０４で、総入力データ長が最小の処理サーバ２を選択したが、小さい値であれば最小でなくてもよい。
【００４１】
［プログラム］
なお、トランザクション分散装置１，１ａ（図１および図７参照）は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスクドライブ、入出力インターフェースなどを含んで構成されるコンピュータを用いて具現され、図１および図７に示す送受信処理部１１１、トランザクション分散処理部１１２，１１２ａ、統計情報処理部１１８の各部の機能は、このコンピュータのハードディスクドライブに格納されたプログラムをＲＡＭに展開し、ＣＰＵが実行することで具現される。
【図面の簡単な説明】
【００４２】
【図１】第1実施形態におけるトランザクション分散処理システムの構成の一例を示す図である。
【図２】第1実施形態における処理サーバ定義テーブルの構成例を示す図である。
【図３】クライアント定義テーブルの構成例を示す図である。
【図４】負荷情報管理テーブルの構成例を示す図である。
【図５】第1実施形態における入力データ管理テーブルの構成例を示す図である。
【図６】第１実施形態におけるトランザクション分散装置によるトランザクション分散処理の流れを示すフローである。
【図７】第２実施形態におけるトランザクション分散処理システムの構成の一例を示す図である。
【図８】第２実施形態における処理サーバ定義テーブルの構成例を示す図である。
【図９】第２実施形態における入力データ管理テーブルの構成例を示す図である。
【図１０】統計情報テーブルの構成例を示す図である。
【図１１】第２実施形態におけるトランザクション分散装置によるトランザクション分散処理の流れを示すフローである。
【図１２】図１１のステップＳ１１０６の統計情報処理の流れを示すフローである。
【符号の説明】
【００４３】
１，１ａ      トランザクション分散装置
２      処理サーバ
３      クライアント
４      通信回線
５      通信回線
１１，１１ａ    メモリ
１７，１７ａ  ハードディスク
１１１  送受信処理部
１１２，１１２ａ  トランザクション分散処理部
１１３，１１３ａ  処理サーバ定義テーブル
１１４  クライアント定義テーブル
１１５  負荷情報管理テーブル
１１６，１１６ａ  入力データ管理テーブル
１１７  オペレーティングシステム
１１８  統計情報処理部
１７１  統計情報テーブル
【図１】
2007108992.tif 000003
【図２】
2007108992.tif 000004
【図３】
2007108992.tif 000005
【図４】
2007108992.tif 000006
【図５】
2007108992.tif 000007
【図６】
2007108992.tif 000008
【図７】
2007108992.tif 000009
【図８】
2007108992.tif 000010
【図９】
2007108992.tif 000011
【図１０】
2007108992.tif 000012
【図１１】
2007108992.tif 000013
【図１２】
2007108992.tif 000014