(57)【特許請求の範囲】
【請求項１】
トランザクション処理要求を受信した場合にトランザクション処理を実行する複数のトランザクション処理部間の負荷を分散させるためのトランザクション処理の負荷分散方法であって、
トランザクション負荷分散処理部が、前記複数のトランザクション処理部の負荷の情報および前記複数のトランザクション処理部の前記トランザクション処理要求に対する実行優先度であって当該複数のトランザクション処理部にそれぞれ与えられるタイムスライスに応じた実行優先度の情報に基づいて、前記複数のトランザクション処理部に対し、前記負荷が低くなるにしたがって前記トランザクション処理要求の送信先を決定するためのプライオリティを高く設定し、前記複数のトランザクション処理部の負荷が同じである場合は前記実行優先度が高くなるにしたがって前記プライオリティを高く設定するステップと、
トランザクション処理要求窓口部が、前記トランザクション処理要求を、前記プライオリティが高い順に前記複数のトランザクション処理部に振り分けて送信するステップとを有する、負荷分散方法。
【請求項２】
前記トランザクション負荷分散処理部が、前記複数のトランザクション処理部に所定の間隔で状態情報送信要求を送信することにより、前記複数のトランザクション処理部から前記負荷の情報および前記実行優先度の情報を取得するステップをさらに有する、請求項１に記載の負荷分散方法。
【請求項３】
前記トランザクション負荷分散処理部が、前記複数のトランザクション処理部の前記負荷の平均値が所定の値を超えた場合に、前記状態情報送信要求を送信する前記所定の間隔を自動的に拡大するステップをさらに有する、請求項２に記載の負荷分散方法。
【請求項４】
トランザクション処理要求を発行する複数の端末と、前記トランザクション処理要求を受信した場合にトランザクション処理を実行する複数のトランザクション処理部と、前記複数のトランザクション処理部間の負荷を分散させる計算機とを有するトランザクション処理の負荷分散システムにおいて、
前記計算機は、
前記複数のトランザクション処理部の負荷の情報および前記複数のトランザクション処理部の前記トランザクション処理要求に対する実行優先度であって当該複数のトランザクション処理部にそれぞれ与えられるタイムスライスに応じた実行優先度の情報に基づいて、前記複数のトランザクション処理部に対し、前記負荷が低くなるにしたがって前記トランザクション処理要求の送信先を決定するためのプライオリティを高く設定し、前記複数のトランザクション処理部の負荷が同じである場合は前記実行優先度が高くなるにしたがって前記プライオリティを高く設定するトランザクション負荷分散部と、
前記トランザクション処理要求を、前記プライオリティが高い順に前記複数のトランザクション処理部に振り分けて送信するトランザクション処理要求窓口部とを有することを特徴とする負荷分散システム。
【請求項５】
前記トランザクション負荷分散部は、前記複数のトランザクション処理部に所定の間隔で状態情報送信要求を送信することにより、前記複数のトランザクション処理部から前記負荷の情報および前記実行優先度の情報を取得する、請求項４に記載の負荷分散システム。
【請求項６】
前記トランザクション負荷分散部は、前記複数のトランザクション処理部の前記負荷の平均値が所定の値を超えた場合に、前記状態情報送信要求を送信する前記所定の間隔を自動的に拡大する、請求項５に記載の負荷分散システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トランザクション処理要求に対するトランザクション処理を実行する複数のトランザクション処理部間の負荷を分散させるためのトランザクション処理の負荷分散方法およびそのシステムに関する。
【０００２】
【従来の技術】
従来、複数の端末装置からほぼ同時にトランザクション処理要求が発行された場合、このトランザクション処理要求を受信した計算機は、トランザクション処理を円滑に行うために、複数のトランザクション処理部を起動することにより、トランザクション処理の負荷分散を行っている。
【０００３】
【発明が解決しようとする課題】
しかしながら、計算機から各トランザクション処理部に与えられるタイムスライスは、トランザクション処理部の負荷状況等により変化し、一様ではない。そのため、トランザクション処理に要する時間が、トランザクション処理を行ったトランザクション処理部の負荷状況等に依存してしまう。
【０００４】
その結果、先にトランザクション処理要求を発行した端末装置よりも、後にトランザクション処理要求を発行した端末装置の方が、先にトランザクション処理結果を得てしまうという処理時間の不平等を発生させる場合がある。
【０００５】
そこで本発明の目的は、どの端末装置からのトランザクション処理要求に対してもトランザクション処理時間を一様なものとすることができる、トランザクション処理の負荷分散方法およびそのシステムを提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明のトランザクション処理の負荷分散方法は、トランザクション処理要求を受信した場合にトランザクション処理を実行する複数のトランザクション処理部間の負荷を分散させるためのトランザクション処理の負荷分散方法であって、トランザクション負荷分散処理部が、前記複数のトランザクション処理部の負荷の情報および前記複数のトランザクション処理部の前記トランザクション処理要求に対する実行優先度であって当該複数のトランザクション処理部にそれぞれ与えられるタイムスライスに応じた実行優先度の情報に基づいて、前記複数のトランザクション処理部に対し、前記負荷が低くなるにしたがって前記トランザクション処理要求の送信先を決定するためのプライオリティを高く設定し、前記複数のトランザクション処理部の負荷が同じである場合は前記実行優先度が高くなるにしたがって前記プライオリティを高く設定するステップと、トランザクション処理要求窓口部が、前記トランザクション処理要求を、前記プライオリティが高い順に前記複数のトランザクション処理部に振り分けて送信するステップとを有することを特徴とするものである。
【０００７】
この場合、各トランザクション処理部は、負荷が常に均等になるように動作を行うことになるため、どの端末装置からのトランザクション処理要求に対してもトランザクション処理時間を一様なものとすることが可能となる。
【０００８】
また、前記トランザクション負荷分散処理部が、前記複数のトランザクション処理部に所定の間隔で状態情報送信要求を送信することにより、前記複数のトランザクション処理部から前記負荷の情報および前記実行優先度の情報を取得するステップをさらに有することとしても良く、前記トランザクション負荷分散処理部が、前記複数のトランザクション処理部の前記負荷の平均値が所定の値を超えた場合に、前記状態情報送信要求を送信する前記所定の間隔を自動的に拡大するステップをさらに有することとしても良い。
【０００９】
この場合、トランザクション処理部が高負荷状態である時に、状態情報送信要求に対する処理によりさらに負荷が増大することを抑えることが可能となる。
【００１０】
また、上記目的を達成するために本発明のトランザクション処理の負荷分散システムは、トランザクション処理要求を発行する複数の端末と、前記トランザクション処理要求を受信した場合にトランザクション処理を実行する複数のトランザクション処理部と、前記複数のトランザクション処理部間の負荷を分散させる計算機とを有するトランザクション処理の負荷分散システムにおいて、前記計算機は、前記複数のトランザクション処理部の負荷の情報および前記複数のトランザクション処理部の前記トランザクション処理要求に対する実行優先度であって当該複数のトランザクション処理部にそれぞれ与えられるタイムスライスに応じた実行優先度の情報に基づいて、前記複数のトランザクション処理部に対し、前記負荷が低くなるにしたがって前記トランザクション処理要求の送信先を決定するためのプライオリティを高く設定し、前記複数のトランザクション処理部の負荷が同じである場合は前記実行優先度が高くなるにしたがって前記プライオリティを高く設定するトランザクション負荷分散部と、前記トランザクション処理要求を、前記プライオリティが高い順に前記複数のトランザクション処理部に振り分けて送信するトランザクション処理要求窓口部とを有することを特徴とするものである。
【００１１】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１２】
図１は、本発明の一実施形態によるトランザクション処理の負荷分散システムを示す図である。
【００１３】
図１に示すように本実施形態の一実施形態によるトランザクション処理の負荷分散システムは、ｎ（ｎは自然数）個の端末装置２０1〜２０nと、計算機１０と、ｍ個（ｍは自然数）のトランザクション処理部１４1〜１４mとを有している。
【００１４】
各端末装置２０1〜２０nは、トランザクション処理要求を発行する。
【００１５】
計算機１０は、通信部１１と、トランザクション処理要求窓口部１２と、トランザクション負荷分散処理部１３とを有している。
【００１６】
通信部１１は、端末装置２０1〜２０nが発行したトランザクション処理要求を受信した場合、受信したトランザクション処理要求をトランザクション処理要求窓口部１２に送信する。
【００１７】
トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mに対し、トランザクション処理要求窓口部１２が受信したトランザクション処理要求の送信先を決定するためのプライオリティ付けを行う。
【００１８】
そのため、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mに所定の間隔で状態情報送信要求を発行することにより、トランザクション処理部１４1〜１４mから状態情報として、負荷状況の情報およびトランザクション処理要求に対する実行優先度の情報を取得する。
【００１９】
上記の実行優先度は、計算機１０が与えたタイムスライスによって各トランザクション処理部１４1〜１４mに割り当てられているトランザクション処理実行可能時間が長くなるにしたがって高くなり、トランザクション処理実行可能時間が短くなるにしたがって低くなっている。
【００２０】
トランザクション負荷分散処理部１３は、まず、トランザクション処理部１４1〜１４mの負荷状況の情報に基づいて、トランザクション処理部１４1〜１４mに対し、負荷が低くなるにしたがってプライオリティを高く設定する。
【００２１】
このとき、トランザクション処理部１４1〜１４mの負荷が同じである場合、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mの実行優先度の情報に基づいて、トランザクション処理部１４1〜１４mに対し、実行優先度が高くなるにしたがってプライオリティを高く設定する。
【００２２】
トランザクション処理要求窓口部１２は、端末装置２０1〜２０nから通信部１１を経由してトランザクション処理要求を受信した場合、トランザクション負荷分散処理部１３にトランザクション処理部１４1〜１４mの中からプライオリティが最も高いトランザクション処理部を検索させ、プライオリティが最も高いトランザクション処理部にトランザクション処理要求を送信する。
【００２３】
各トランザクション処理部１４1〜１４mは、端末装置２０1〜２０nが発行したトランザクション処理要求を計算機１０内のトランザクション処理要求窓口部１２を経由して受信した場合、受信したトランザクション処理要求に対するトランザクション処理を行い、そのトランザクション処理結果をトランザクション処理要求窓口部１２に送信する。トランザクション処理要求窓口部１２に送信されたトランザクション処理結果は、通信部１１を経由して、トランザクション処理要求の発行元の端末装置に送信される。
【００２４】
また、各トランザクション処理部１４1〜１４mは、計算機１０内のトランザクション負荷分散処理部１３が発行した状態情報送信要求を受信した場合、自らの負荷状況を計測するとともに自らの実行優先度を取得し、負荷状況の情報および実行優先度の情報をトランザクション負荷分散処理部１３に送信する。
【００２５】
以下に、図１に示したトランザクション処理の負荷分散システムの動作について説明する。
【００２６】
計算機１０内のトランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mに所定の間隔で状態情報送信要求を発行する。
【００２７】
各トランザクション処理部１４1〜１４mは、トランザクション負荷分散処理部１３が発行した状態情報送信要求を受信した場合、自らの負荷状況を計測するとともに自らのトランザクション処理要求に対する実行優先度を取得し、負荷状況の情報および実行優先度の情報をトランザクション負荷分散処理部１３に送信する。
【００２８】
トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mから負荷状況の情報および実行優先度の情報を取得すると、まず、取得した負荷状況の情報に基づいて、トランザクション処理部１４1〜１４mのプライオリティ付けを行う。このプライオリティ付けは、負荷が低いトランザクション処理部に対してはプライオリティを高く設定し、負荷が高いトランザクション処理部にはプライオリティを低く設定するように行う。
【００２９】
このとき、トランザクション処理部１４1〜１４mの負荷が同じである場合、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mから取得した実行優先度の情報に基づいて、トランザクション処理部１４1〜１４mのプライオリティ付けを行う。このプライオリティ付けは、実行優先度が高いトランザクション処理部にはプライオリティを高く設定し、実行優先度が低いトランザクション処理部にはプライオリティを低く設定するように行う。
【００３０】
以下に、各トランザクション処理部１４1〜１４mの負荷が同じである場合に、トランザクション処理要求に対する実行優先度に基づいてプライオリティ付けを行う理由について説明する。
【００３１】
トランザクション処理要求に対する実行優先度によって、各トランザクション処理部１４1〜１４mにタイムスライスによって割り当てられているトランザクション処理実行可能時間が変化する。
【００３２】
各トランザクション処理部１４1〜１４mの実行優先度が高い状態のままである場合、トランザクション処理要求やその他の要求に対する処理が実行できなくなる可能性があるため、自動的に実行優先度が下げられることがある。
【００３３】
その場合、実行優先度が下げられたトランザクション処理部は、タイムスライスによって割り当てられているトランザクション処理実行可能時間が短くなる（もしくは実行時間と次の実行時間との間隔が長くなる）ため、トランザクション処理を終了するまでの時間が長くなる。すると、他のトランザクション処理を実行可能になるまで、さらに長時間待たされることとなる。
【００３４】
そこで、本実施形態においては、このようなトランザクション処理部にトランザクション処理要求を送信することを回避するため、トランザクション処理要求に対する実行優先度が低い（タイムスライスによって割り当てられているトランザクション処理実行可能時間が長い）トランザクション処理部のプライオリティを低く設定することとしている。
【００３５】
ここで、端末装置２０1〜２０nが、ほぼ同時にトランザクション処理要求を発行した場合、計算機１０内の通信部１１がこれを受信し、受信した順にトランザクション処理要求をトランザクション処理要求窓口部１２に送信する。
【００３６】
トランザクション処理要求窓口部１２は、トランザクション負荷分散処理部１３に対し、トランザクション処理部１４1〜１４mの中からプライオリティが最も高いトランザクション処理部を検索させる。
【００３７】
このとき、トランザクション負荷分散処理部１３がプライオリティの最も高いトランザクション処理部としてトランザクション処理部１４1を検索したと仮定した場合、トランザクション処理要求窓口部１２は、一番最初に受信したトランザクション処理要求をトランザクション処理部１４1に送信する。
【００３８】
トランザクション負荷分散処理部１３は、トランザクション処理要求窓口部１２がトランザクション処理要求をトランザクション処理部１４1に送信した後、トランザクション処理部１４1のプライオリティを下げる。
【００３９】
トランザクション処理部１４1は、トランザクション処理要求窓口部１２から受信したトランザクション処理要求に対するトランザクション処理を行い、そのトランザクション処理結果をトランザクション処理要求窓口部１２に送信する。
【００４０】
その後、トランザクション処理要求窓口部１２に送信されたトランザクション処理結果は、通信部１１を経由し、トランザクション処理要求の発行元の端末装置に送信される。
【００４１】
なお、トランザクション処理部１４1におけるトランザクション処理中も、トランザクション処理要求窓口部１２は、他の端末装置から発行されたトランザクション処理要求を順次受信している。
【００４２】
そのため、トランザクション処理要求窓口部１２は、トランザクション処理要求を受信する度に、トランザクション負荷分散処理部１３に対し、トランザクション処理部１４1〜１４mのうちプライオリティが最も高いトランザクション処理部を検索させ、プライオリティが最も高いトランザクション処理部にトランザクション処理要求を送信する。
【００４３】
そして、トランザクション負荷分散処理部１３は、トランザクション処理要求窓口部１２がトランザクション処理要求を送信した後、トランザクション処理要求の送信先のトランザクション処理部のプライオリティを下げる。
【００４４】
したがって、本実施形態においては、上述した負荷分散処理により、トランザクション処理部１４1〜１４mのうち、常にトランザクション処理に要する時間が最も短いトランザクション処理部がトランザクション処理を行うことになる。
【００４５】
これにより、端末装置２０1〜２０nに対し、トランザクション処理要求を発行した順番にトランザクション処理結果を返すことが可能となり、トランザクション処理時間の不平等を防ぐことができる。
【００４６】
また、計算機１０の負荷状態が一様であれば、端末装置２０1〜２０nのうち、どの端末装置からのトランザクション処理要求に対しても、トランザクション処理時間を一様なものとすることができる。
【００４７】
以下に、トランザクション負荷分散処理部１３の動作について、図２のフローチャートを参照して詳細に説明する。
【００４８】
トランザクション負荷分散処理部１３は、発生イベントの種類に応じて、次のような３つの動作を行う（ステップ２０１）。
【００４９】
トランザクション処理部１４1〜１４mから状態情報として負荷状況の情報および実行優先度の情報が入力されるイベント１が発生した場合、トランザクション負荷分散処理部１３は、状態情報を更新し、トランザクション処理部１４1〜１４mに対するプライオリティ付けを行う（ステップ２０２）。
【００５０】
詳細には、トランザクション負荷分散処理部１３は、まず、トランザクション処理部１４1〜１４mの負荷状況の情報に基づいて、トランザクション処理部１４1〜１４mに対し、負荷が低くなるにしたがってプライオリティを高く設定する。
【００５１】
このとき、トランザクション処理部１４1〜１４mの負荷が同じである場合、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mの実行優先度の情報に基づいて、トランザクション処理部１４1〜１４mに対し、実行優先度が高くなるにしたがってプライオリティを高く設定する。
【００５２】
ここで、トランザクション処理部１４1〜１４mが高負荷状態である時に、トランザクション負荷分散処理部１３から状態情報送信要求が発行された場合、トランザクション処理部１４1〜１４mは、状態情報送信要求に対する処理を行うためにさらに高負荷状態となり、業務の処理に支障をきたすと考えられる。
【００５３】
そのため、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mの負荷の平均値が所定の値（本システムの使用者が設定可能な値）を超えた場合に、状態情報送信要求を発行する間隔を自動的に拡大する（ステップ２０３）。
【００５４】
これにより、トランザクション処理部１４1〜１４mが高負荷状態である場合に、状態情報送信要求に対する処理によりさらに負荷が増大することを抑えることが可能となる。
【００５５】
なお、状態情報送信要求を発行する間隔を決定するための情報として、トランザクション処理部１４1〜１４mの負荷の平均値を使用する理由は、あるトランザクション処理部のみが高負荷状態で、それ以外のトランザクション処理部が低負荷状態となっている場合を想定しているためである。
【００５６】
また、上述の負荷分散処理によりトランザクション処理部１４1〜１４mの負荷は一様に保たれているために平均値を取る必要はないが、ここで平均値を取る理由は、ある業務要求に対する処理の負荷がそれ以外の業務要求に対する処理の負荷よりも非常に高くなる場合を想定しているためである。
【００５７】
トランザクション負荷分散処理部１３は、ステップ２０３における処理が終了すると、ステップ２０１のイベント発生待ち状態に戻る。
【００５８】
また、トランザクション処理部１４1〜１４mから状態情報を取得してから所定の間隔（本システムの使用者が設定可能な間隔）が経過したイベント２が発生した場合、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mに対し、状態情報送信要求を発行する（ステップ２０４）。
【００５９】
トランザクション負荷分散処理部１３は、ステップ２０４における処理が終了すると、ステップ２０１のイベント発生待ち状態に戻る。
【００６０】
また、トランザクション処理要求窓口部１２が端末装置２０1〜２０nからのトランザクション処理要求を受信するイベント３が発生した場合、トランザクション負荷分散処理部１３は、トランザクション処理部１４1〜１４mの中からプライオリティが最も高いトランザクション処理部を検索し、その検索結果をトランザクション処理要求窓口部１２に通知する（ステップ２０５）。
【００６１】
トランザクション処理要求窓口部１２がトランザクション処理要求を送信した後、トランザクション負荷分散処理部１３は、トランザクション処理要求の送信先のトランザクション処理部のプライオリティを下げる（ステップ２０６）。
【００６２】
トランザクション負荷分散処理部１３は、ステップ２０６における処理が終了すると、ステップ２０１のイベント発生待ち状態に戻る。
【００６３】
【発明の効果】
以上説明したように本発明においては、複数のトランザクション処理部に対し、負荷が低くなるにしたがってプライオリティを高く設定し、負荷が同じである場合、トランザクション処理要求に対する実行優先度が高くなる（タイムスライスによって割り当てられているトランザクション処理実行可能時間が長くなる）にしたがってプライオリティを高く設定するトランザクション負荷分散部と、トランザクション処理要求をプライオリティが高い順に複数のトランザクション処理部に振り分けて送信するトランザクション処理要求窓口部とを設けている。
【００６４】
これにより、各トランザクション処理部は、負荷が常に均等になるように動作を行うことになるため、どの端末装置からのトランザクション処理要求に対してもトランザクション処理時間を一様なものとすることができ、トランザクション処理時間の不平等の発生を防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるトランザクション処理の負荷分散システムを示す図である。
【図２】図１に示したトランザクション負荷分散処理部の動作を説明するフローチャートである。
【符号の説明】
１０    計算機
１１    通信部
１２    トランザクション処理要求窓口部
１３    トランザクション負荷分散処理部
１４1〜１４m    トランザクション処理部
２０1〜２０n    端末装置
【図１】
0003891273.tif 000002
【図２】
0003891273.tif 000003