図面 (/)

技術 負荷分散方式、負荷分散システム、負荷分散方法および負荷分散用プログラム

出願人 日本電気株式会社NECソリューションイノベータ株式会社
発明者 菅野知己小林綾子
出願日 2002年4月2日 (17年4ヶ月経過) 出願番号 2002-100173
公開日 2003年10月17日 (15年10ヶ月経過) 公開番号 2003-296289
状態 拒絶査定
技術分野 マルチプログラミング
主要キーワード CPU時間 振り分けサーバ 振り分け方 使用ファイル オンライントランザクション処理システム クラスタ構成 処理経過 トランザクション数
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2003年10月17日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題

本発明は、トランザクション処理メッセージ振り分け配分を決定する負荷分散方式を提供することにある。

解決手段

複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子キーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定することを特徴とする。

概要

背景

従来のクライアントサーバ型オンライントランザクション処理システムにおけるトランザクション処理負荷分散方式の一例が、特開2001−34591号広報に記載されている。

同公報に開示されているクライアント/サーバ型のオンラインシステムは、各々サーバ過負荷トランザクション数を算出する過負荷通知手段と、端末から投入されたトランザクション処理をいずれのサーバに振り分けるかを決定するサーバ選択手段とを備えた通信手段から構成される。

当該クライアント/サーバ型のオンラインシステムにおいて、前記サーバ毎CPU使用率過負荷状態になるトランザクション数を算出し、その算出したトランザクション数をもとに、前記端末から投入されたトランザクション処理をいずれの前記サーバに振り分けるかを決定し負荷分散を実現している。

概要

本発明は、トランザクション処理メッセージの振り分け配分を決定する負荷分散方式を提供することにある。

複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子キーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定することを特徴とする。

目的

本発明の目的は、複数の端末から投入された複数のトランザクション処理メッセージについて、トランザクション処理メッセージ毎平均CPU使用時間の稼働統計情報をもとに算出した本トランザクション処理メッセージ実行時に発生するCPU使用時間の予測値、および各々サーバの現在のCPU使用率をもとに、トランザクション処理メッセージの振り分け配分を決定する負荷分散方式を提供することにある。

効果

実績

技術文献被引用数
0件
牽制数
2件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表と、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分け手段とを備えたことを特徴とする負荷分散方式

請求項2

前記トランザクション振り分け手段は、前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を全て加算することにより、前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出するとともに、一定時間間隔で取得した前記複数のサーバそれぞれの現在のCPU使用率から、前記複数のサーバそれぞれの使用可能CPU値を算出し、前記予測値と前記使用可能CPU値に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入することを特徴とする請求項1記載の負荷分散方式。

請求項3

複数のトランザクション実行サーバとトランザクション振り分けサーバとが接続されたコンピュータシステムにおいて、トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子と、前記トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間と、前記トランザクション処理メッセージの総実行件数を示す総実行件数と、前記トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間を記憶するトランザクション毎稼働統計情報管理ファイルと、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表とを備え、前記トランザクション振り分けサーバは、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した前記複数のトランザクション実行サーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のトランザクション実行サーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のトランザクション実行サーバのそれぞれに投入するトランザクション振り分け手段を備え、前記複数のトランザクション実行サーバのそれぞれは、前記トランザクション処理メッセージを受け取って対応するアプリケーションプログラム起動するとともに、受け取った前記トランザクション処理メッセージのトランザクション処理メッセージ識別子に対応する前記トランザクション毎稼働統計情報管理ファイルの前記総CPU使用時間と、前記総実行件数と、前記平均CPU使用時間を更新するトランザクション実行制御手段を備えたことを特徴とする負荷分散システム

請求項4

前記トランザクション振り分け手段は、一定時間毎に前記トランザクション毎稼働統計情報管理ファイルのトランザクション処理メッセージ識別子および平均CPU使用時間を読み込み、読み込んだ値で前記トランザクション毎平均CPU使用時間管理表を更新することを特徴とする請求項3記載の負荷分散システム。

請求項5

複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分けステップを含むことを特徴とする負荷分散方法

請求項6

前記トランザクション振り分けステップは、前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を全て加算することにより、前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出するとともに、一定時間間隔で取得した前記複数のサーバそれぞれの現在のCPU使用率から、前記複数のサーバそれぞれの使用可能CPU値を算出し、前記予測値と前記使用可能CPU値に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入することを特徴とする請求項5記載の負荷分散方法。

請求項7

複数のトランザクション実行サーバとトランザクション振り分けサーバとが接続されたコンピュータシステムにおいて、前記トランザクション振り分けサーバが、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した前記複数のトランザクション実行サーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のトランザクション実行サーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のトランザクション実行サーバのそれぞれに投入するトランザクション振り分けステップを含み、前記複数のトランザクション実行サーバのそれぞれが、前記トランザクション処理メッセージを受け取って対応するアプリケーションプログラムを起動するとともに、受け取った前記トランザクション処理メッセージのトランザクション処理メッセージ識別子に対応する、トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子と、前記トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間と、前記トランザクション処理メッセージの総実行件数を示す総実行件数と、前記トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間を記憶するトランザクション毎稼働統計情報管理ファイルの前記総CPU使用時間と、前記総実行件数と、前記平均CPU使用時間を更新するトランザクション実行制御ステップを含むことを特徴とする負荷分散方法。

請求項8

前記トランザクション振り分けステップは、一定時間毎に前記トランザクション毎稼働統計情報管理ファイルのトランザクション処理メッセージ識別子および平均CPU使用時間を読み込み、読み込んだ値で前記トランザクション毎平均CPU使用時間管理表を更新することを特徴とする請求項7記載の負荷分散方法。

請求項9

複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分け処理コンピュータに実行させることを特徴とする負荷分散用プログラム

請求項10

前記トランザクション振り分け処理は、前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を全て加算することにより、前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出するとともに、一定時間間隔で取得した前記複数のサーバそれぞれの現在のCPU使用率から、前記複数のサーバそれぞれの使用可能CPU値を算出し、前記予測値と前記使用可能CPU値に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入することを特徴とする請求項9記載の負荷分散用プログラム。

請求項11

複数のトランザクション実行サーバとトランザクション振り分けサーバとが接続されたコンピュータシステムにおいて、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した前記複数のトランザクション実行サーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のトランザクション実行サーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のトランザクション実行サーバのそれぞれに投入するトランザクション振り分け処理を前記トランザクション振り分けサーバに実行させ、前記トランザクション処理メッセージを受け取って対応するアプリケーションプログラムを起動するとともに、受け取った前記トランザクション処理メッセージのトランザクション処理メッセージ識別子に対応する、トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子と、前記トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間と、前記トランザクション処理メッセージの総実行件数を示す総実行件数と、前記トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間を記憶するトランザクション毎稼働統計情報管理ファイルの前記総CPU使用時間と、前記総実行件数と、前記平均CPU使用時間を更新するトランザクション実行制御処理を前記複数のトランザクション実行サーバのそれぞれに実行させることを特徴とする負荷分散用プログラム。

請求項12

前記トランザクション振り分け処理は、一定時間毎に前記トランザクション毎稼働統計情報管理ファイルのトランザクション処理メッセージ識別子および平均CPU使用時間を読み込み、読み込んだ値で前記トランザクション毎平均CPU使用時間管理表を更新することを特徴とする請求項11記載の負荷分散用プログラム。

技術分野

0001

負荷分散方式負荷分散システム負荷分散方法および負荷分散用プログラムに関し、特に、CPU使用時間の予測値および現在のCPU使用率をもとにトランザクション処理メッセージ振り分け配分を決定する負荷分散方式、負荷分散システム、負荷分散方法および負荷分散用プログラムに関する。

背景技術

0002

従来のクライアントサーバ型オンライントランザクション処理システムにおけるトランザクション処理の負荷分散方式の一例が、特開2001−34591号広報に記載されている。

0003

同公報に開示されているクライアント/サーバ型のオンラインシステムは、各々サーバ過負荷トランザクション数を算出する過負荷通知手段と、端末から投入されたトランザクション処理をいずれのサーバに振り分けるかを決定するサーバ選択手段とを備えた通信手段から構成される。

0004

当該クライアント/サーバ型のオンラインシステムにおいて、前記サーバ毎のCPU使用率が過負荷状態になるトランザクション数を算出し、その算出したトランザクション数をもとに、前記端末から投入されたトランザクション処理をいずれの前記サーバに振り分けるかを決定し負荷分散を実現している。

発明が解決しようとする課題

0005

上述した従来のクライアント/サーバ型のオンラインシステムには、CPU使用時間が異なるトランザクションが複数投入された際、特定サーバのみ負荷が解消されないという状況が発生する場合がある。

0006

例えば、各々サーバのCPU使用率が過負荷状態である複数のサーバ群へ、CPU使用時間の異なるトランザクションが複数投入された場合、単にトランザクション数だけで振り分けても、投入されたトランザクションが終了するまでの時間はトランザクション毎に異なる為、各々サーバのCPU使用率の過負荷状態が解消されるまでの時間がサーバ毎に異なってしまう。よって特定サーバのみ負荷が解消されないという状況が発生し、CPUの利用効率平準化が図れない場合がある。

0007

本発明の目的は、複数の端末から投入された複数のトランザクション処理メッセージについて、トランザクション処理メッセージ毎平均CPU使用時間の稼働統計情報をもとに算出した本トランザクション処理メッセージ実行時に発生するCPU使用時間の予測値、および各々サーバの現在のCPU使用率をもとに、トランザクション処理メッセージの振り分け配分を決定する負荷分散方式を提供することにある。

課題を解決するための手段

0008

本発明の第1の負荷分散方式は、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表と、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分け手段を備えたことを特徴とする。

0009

本発明の第2の負荷分散方式は、第1の負荷分散方式において、前記トランザクション振り分け手段は、前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を全て加算することにより、前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出するとともに、一定時間間隔で取得した前記複数のサーバそれぞれの現在のCPU使用率から、前記複数のサーバそれぞれの使用可能CPU値を算出し、前記予測値と前記使用可能CPU値に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入することを特徴とする。

0010

本発明の第1の負荷分散システムは、複数のトランザクション実行サーバとトランザクション振り分けサーバとが接続されたコンピュータシステムにおいて、トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子と、前記トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間と、前記トランザクション処理メッセージの総実行件数を示す総実行件数と、前記トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間を記憶するトランザクション毎稼働統計情報管理ファイルと、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表とを備え、前記トランザクション振り分けサーバは、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した前記複数のトランザクション実行サーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のトランザクション実行サーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のトランザクション実行サーバのそれぞれに投入するトランザクション振り分け手段を備え、前記複数のトランザクション実行サーバのそれぞれは、前記トランザクション処理メッセージを受け取って対応するアプリケーションプログラム起動するとともに、受け取った前記トランザクション処理メッセージのトランザクション処理メッセージ識別子に対応する前記トランザクション毎稼働統計情報管理ファイルの前記総CPU使用時間と、前記総実行件数と、前記平均CPU使用時間を更新するトランザクション実行制御手段を備えたことを特徴とする。

0011

本発明の第2の負荷分散システムは、第1の負荷分散システムにおいて、前記トランザクション振り分け手段は、一定時間毎に前記トランザクション毎稼働統計情報管理ファイルのトランザクション処理メッセージ識別子および平均CPU使用時間を読み込み、読み込んだ値で前記トランザクション毎平均CPU使用時間管理表を更新することを特徴とする。

0012

本発明の第1の負荷分散方法は、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分けステップを含むことを特徴とする。

0013

本発明の第2の負荷分散方法は、第1の負荷分散方法において、前記トランザクション振り分けステップは、前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を全て加算することにより、前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出するとともに、一定時間間隔で取得した前記複数のサーバそれぞれの現在のCPU使用率から、前記複数のサーバそれぞれの使用可能CPU値を算出し、前記予測値と前記使用可能CPU値に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入することを特徴とする。

0014

本発明の第3の負荷分散方法は、複数のトランザクション実行サーバとトランザクション振り分けサーバとが接続されたコンピュータシステムにおいて、前記トランザクション振り分けサーバが、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した前記複数のトランザクション実行サーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のトランザクション実行サーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のトランザクション実行サーバのそれぞれに投入するトランザクション振り分けステップを含み、前記複数のトランザクション実行サーバのそれぞれが、前記トランザクション処理メッセージを受け取って対応するアプリケーションプログラムを起動するとともに、受け取った前記トランザクション処理メッセージのトランザクション処理メッセージ識別子に対応する、トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子と、前記トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間と、前記トランザクション処理メッセージの総実行件数を示す総実行件数と、前記トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間を記憶するトランザクション毎稼働統計情報管理ファイルの前記総CPU使用時間と、前記総実行件数と、前記平均CPU使用時間を更新するトランザクション実行制御ステップを含むことを特徴とする。

0015

本発明の第4の負荷分散方法は、第3の負荷分散方法において、前記トランザクション振り分けステップは、一定時間毎に前記トランザクション毎稼働統計情報管理ファイルのトランザクション処理メッセージ識別子および平均CPU使用時間を読み込み、読み込んだ値で前記トランザクション毎平均CPU使用時間管理表を更新することを特徴とする。

0016

本発明の第1の負荷分散用プログラムは、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分け処理コンピュータに実行させることを特徴とする。

0017

本発明の第2の負荷分散用プログラムは、第1の負荷分散用プログラムにおいて、前記トランザクション振り分け処理は、前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を全て加算することにより、前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出するとともに、一定時間間隔で取得した前記複数のサーバそれぞれの現在のCPU使用率から、前記複数のサーバそれぞれの使用可能CPU値を算出し、前記予測値と前記使用可能CPU値に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入することを特徴とする。

0018

本発明の第3の負荷分散用プログラムは、複数のトランザクション実行サーバとトランザクション振り分けサーバとが接続されたコンピュータシステムにおいて、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして、トランザクション処理メッセージの実行に要する平均CPU使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均CPU使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均CPU使用時間を取得するとともに、取得した前記平均CPU使用時間より前記複数のトランザクション処理メッセージの実行に要するCPU使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した前記複数のトランザクション実行サーバそれぞれの現在のCPU使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のトランザクション実行サーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のトランザクション実行サーバのそれぞれに投入するトランザクション振り分け処理を前記トランザクション振り分けサーバに実行させ、前記トランザクション処理メッセージを受け取って対応するアプリケーションプログラムを起動するとともに、受け取った前記トランザクション処理メッセージのトランザクション処理メッセージ識別子に対応する、トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子と、前記トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間と、前記トランザクション処理メッセージの総実行件数を示す総実行件数と、前記トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間を記憶するトランザクション毎稼働統計情報管理ファイルの前記総CPU使用時間と、前記総実行件数と、前記平均CPU使用時間を更新するトランザクション実行制御処理を前記複数のトランザクション実行サーバのそれぞれに実行させることを特徴とする。

0019

本発明の第4の負荷分散用プログラムは、第3の負荷分散用プログラムにおいて、前記トランザクション振り分け処理は、一定時間毎に前記トランザクション毎稼働統計情報管理ファイルのトランザクション処理メッセージ識別子および平均CPU使用時間を読み込み、読み込んだ値で前記トランザクション毎平均CPU使用時間管理表を更新することを特徴とする。

発明を実施するための最良の形態

0020

次に、本発明の実施の形態について図面を参照して詳細に説明する。

0021

図1は、本発明の実施の形態を示すブロック図である。

0022

図1を参照すると、本発明の実施の形態は、クラスタシステムを構成しトランザクション処理を行うサーバ1およびサーバ2と、トランザクション処理メッセージ毎の平均CPU使用時間を記録するトランザクション毎稼動統計情報管理ファイル3と、端末51〜端末5Nからなる端末群5と、サーバ1、サーバ2および端末群5と接続され、端末群5から投入されたトランザクション処理メッセージの振り分け配分を決定し前記サーバ1またはサーバ2へトランザクション処理メッセージを投入するサーバ4から構成されている。クラスタシステムを構成しトランザクション処理を行うサーバ1およびサーバ2は同一構成であり、サーバ1は、トランザクション実行制御手段11と、アプリケーションプログラム12と、CPU測定装置13から構成されており、サーバ2は、トランザクション実行制御手段21と、アプリケーションプログラム22と、CPU測定装置23から構成されている。サーバ4は、端末群5から投入されたトランザクション処理メッセージの振り分け配分を決定し、前記サーバ1またはサーバ2へトランザクション処理メッセージを投入するトランザクション振り分け手段41と、トランザクション毎の平均CPU使用時間を記憶するトランザクション毎平均CPU使用時間管理表42から構成されている。

0023

図2は、トランザクション毎平均CPU使用時間管理表42の一例を示す図であり、トランザクション処理メッセージを識別するトランザクション処理メッセージ識別子421と、当該トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間422から構成されている。

0024

図3は、トランザクション毎稼働統計情報管理ファイル3の一例を示す図であり、トランザクション処理メッセージを識別するトランザクション処理メッセージ識別子31と、当該トランザクション処理メッセージの実行に要した総CPU使用時間を示す総CPU使用時間32と、当該トランザクション処理メッセージの総実行件数を示す総実行件数33と、当該トランザクション処理メッセージの実行に要する平均CPU使用時間を示す平均CPU使用時間34から構成されている。

0025

次に、本実施の形態の動作について、図1図2および図3を参照して詳細に説明する。

0026

端末群5から複数のトランザクション処理メッセージが投入された場合の動作について説明する。なお、説明上、本発明のオンライントランザクション処理システムにおいては、トランザクション処理メッセージの実行待ちは発生しないものとする。

0027

まず、端末群5が、複数のトランザクション処理メッセージを投入すると、トランザクション振り分け手段41は、当該複数のトランザクション処理メッセージを受け取り、当該複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子421をキーにして、トランザクション毎平均CPU使用時間管理表42を検索し、当該トランザクション処理メッセージ識別子421それぞれの平均CPU使用時間422の取得を試みる

0028

トランザクション毎平均CPU使用時間管理表42より平均CPU使用時間422を取得できたトランザクション処理メッセージについては、当該平均CPU使用時間より算出した、当該トランザクション処理メッセージの実行に要するCPU使用時間の予測値と、CPU測定装置13およびCPU測定装置23より一定時間間隔で取得した各々のサーバの現在のCPU使用率とに基づいて、当該トランザクション処理メッセージの振り分け配分を決定し、該当サーバへトランザクション処理メッセージを投入する。

0029

トランザクション毎平均CPU使用時間管理表42内に平均CPU使用時間422が存在しないトランザクション処理メッセージについては、本システムに初めて投入されたトランザクション処理メッセージであるとみなし、本トランザクション処理メッセージの投入件数およびCPU測定装置13およびCPU測定装置23より取得した各々サーバの現在のCPU使用率をもとに、トランザクション処理メッセージの振り分け配分を決定し、該当サーバへトランザクション処理メッセージを投入する。トランザクション実行制御手段11およびトランザクション実行制御手段21は、トランザクション振り分け手段41から受け取ったトランザクション処理メッセージに対応するアプリケーションプログラム12またはアプリケーションプログラム22の実行を制御し、前記トランザクション処理メッセージの実行結果を端末群5へ返却する。また、トランザクション実行制御手段11およびトランザクション実行制御手段21は、トランザクション毎稼働統計情報管理ファイル3のトランザクション処理メッセージ識別子31をキーにして、トランザクション処理メッセージ毎の総CPU使用時間32およびトランザクション処理メッセージ毎の総実行件数33を検索し、検索できたトランザクション処理メッセージについては、前記トランザクション処理メッセージの実行に要したCPU使用時間および実行件数をトランザクション毎稼働統計情報管理ファイル3の総CPU時間32および総実行件数33へ加算するとともに、総CPU使用時間32および総実行件数33よりトランザクション処理メッセージ毎の平均CPU使用時間を算出し、平均CPU使用時間34を更新する。

0030

一方、トランザクション毎稼働統計情報管理ファイル3内にトランザクション処理メッセージ識別子31が存在しないトランザクション処理メッセージについては、本システムに初めて投入されたトランザクション処理メッセージであるとみなし、トランザクション処理メッセージ識別子31、総CPU使用時間32、総実行件数33および平均CPU使用時間34を登録する。

0031

トランザクション振り分け手段41は、トランザクション毎稼動統計管理ファイル3を一定時間毎に読み込み、トランザクション毎平均CPU使用時間管理表42のトランザクション処理メッセージ識別子421およびトランザクション処理メッセージ毎の平均CPU使用時間422を更新し、最新状態とする。

0032

以上の動作により、トランザクション処理メッセージ毎の平均CPU使用時間を考慮したトランザクション処理メッセージの振り分け配分を決定することにより、各々のサーバの負荷の平準化(CPUの利用効率の平準化)を図ることができる。

0033

次に、本発明の一実施例の動作について、トランザクション毎平均CPU使用時間管理表42およびトランザクション毎稼働統計情報管理ファイル3の一例をあげて詳細に説明する。まず、オンライントランザクション処理システムの稼働を開始する前に、トランザクション毎稼働統計情報管理ファイル3のトランザクション処理メッセージ識別子31、総CPU使用時間32、総実行件数33および平均CPU使用時間34を初期化する。また、トランザクション毎平均CPU使用時間管理表42のトランザクション処理メッセージ識別子421、平均CPU使用時間422を初期化する。

0034

本実施例では、図1図2および図3に示すように、クラスタシステムを構成しトランザクション処理を行うサーバ1またはサーバ2でトランザクション処理メッセージ「TRNS0A」、「TRNS0B」、「TRNS0C」が既に実行され、トランザクション毎稼動統計情報管理ファイル3には、トランザクション処理メッセージ識別子31、総CPU使用時間32、総実行件数33および平均CPU使用時間34が既に登録され、トランザクション毎平均CPU使用時間管理表42には、トランザクション処理メッセージ識別子421および平均CPU使用時間422が既に登録されている場合について説明する。

0035

まず、トランザクション振り分け手段41は、端末群5より複数のトランザクション処理メッセージを受け取ると、トランザクション毎平均CPU使用時間管理表42よりトランザクション処理メッセージ識別子421をキーとしてトランザクション毎の平均CPU使用時間422を取得し、本トランザクション処理メッセージ実行時に発生するCPU使用時間の予測値を算出する。

0036

ここで、本システムに、端末群5より複数のトランザクション処理メッセージが65件(「TRNS0A」が5件、「TRNS0B」が10件、「TRNS0C」が20件、「TRNS0D」が30件)投入された場合について考える。なお、トランザクション処理メッセージのCPU使用時間をミリ秒単位、サーバのCPU使用率をパーセント単位とする。

0037

本実施例では、トランザクション毎平均CPU使用時間管理表42より「TRNS0A」の平均CPU使用時間「100」、「TRNS0B」の平均CPU使用時間「50」および「TRNS0C」の平均CPU使用時間「10」を取得し、「TRNS0A」、「TRNS0B」および「TRNS0C」の実行に要するCPU使用時間の予測値を求めると、計算式((「TRNS0A」の平均CPU使用時間×投入数)+(「TRNS0B」の平均CPU使用時間×投入数)+(「TRNS0C」の平均CPU使用時間×投入数)=(100×5)+(50×10)+(10×20)=1200)より「1200」となる。次に、トランザクション振り分け手段41は、CPU測定装置13およびCPU測定装置23より一定時間間隔で取得した各々のサーバの現在のCPU使用率をもとに、各々のサーバの使用可能CPU値を算出し、本トランザクション処理メッセージの実行に要するCPU使用時間の予測値が、各々のサーバの使用可能CPU値と同じ割合になるような振り分け配分を決め、該当サーバへトランザクション処理メッセージを投入する。また、「TRNS0D」は、トランザクション毎平均CPU使用時間管理表42内に平均CPU使用時間情報が存在しない為、本システムに初めて投入されたトランザクション処理メッセージであるとみなし、本トランザクション処理メッセージの投入件数およびCPU測定装置13およびCPU測定装置23より取得した各々サーバの現在のCPU使用率をもとに、トランザクション処理メッセージの振り分け配分を決定し、該当サーバへトランザクション処理メッセージを投入する。

0038

ここで、各々のサーバの現在のCPU使用率が次の三例であった場合の振り分け方式について考える。

0039

第一の例として、現在のCPU使用率がサーバ1「60%」およびサーバ2「20%」である各々のサーバへ、端末群5より複数のトランザクション処理メッセージが65件(「TRNS0A」が5件、「TRNS0B」が10件、「TRNS0C」が20件、「TRNS0D」が30件)投入された場合について考える。

0040

トランザクション振り分け手段41は、CPU測定装置13よりサーバ1のCPU使用率「60%」、CPU測定装置23よりサーバ2のCPU使用率「20%」を取得し、各々サーバにCPU負荷がかかっていない状態での使用可能なCPU値を「100%」とすると、サーバ1の使用可能なCPU値は計算式(100%−現在のサーバ1のCPU使用率)=(100%−60%=40%)より「40%」、サーバ2の使用可能なCPU値は計算式(100%−現在のサーバ2のCPU使用率)=(100%−20%=80%)より「80%」となり、各々サーバ毎の使用可能なCPU値の割合は(サーバ1:サーバ2=40%:80%=1:2)となる。次にトランザクション振り分け手段41はCPU使用時間「1200」の複数トランザクションについて、各々サーバ毎のCPU使用時間の予測値が各々サーバの使用可能なCPU値(サーバ1:サーバ2=40%:80%=1:2)の割合と同じ割合になるようなトランザクション処理メッセージの振り分け配分を求める。

0041

例えば、サーバ1に投入するトランザクション処理メッセージの振り分け配分は、CPU使用時間の予測値が「1200」の複数トランザクションについて各々サーバ毎のCPU使用時間の予測値が(サーバ1:サーバ2=1:2=400:800)となるように、トランザクション毎平均CPU使用時間管理表42の平均CPU使用時間422の多い順にトランザクション処理メッセージを選択すると、サーバ1のCPU使用時間の予測値が「400」となる為には、計算式((「TRNS0A」の平均CPU使用時間×投入数)=(100×4))=400)より「TRNS0A」(4件)と決定でき、残りのトランザクション処理メッセージ(「TRNS0A」(1件)および「TRNS0B」(10件)および「TRNS0C」(20件))をサーバ2へ投入するトランザクション処理メッセージと決定でき、そのときのサーバ2のCPU使用時間の予測値は(計算式=(「TRNS0A」の平均CPU使用時間×投入数)+(「TRNS0B」の平均CPU使用時間×投入数)+(「TRNS0D」の平均CPU使用時間×投入数)=(100×1)+(50×10)+(10×20)=800)となり、各々サーバ毎のCPU使用時間の予測値が各々サーバの使用可能なCPU値(サーバ1:サーバ2=40%:80%=1:2)の割合と同じ割合になるような振り分け配分を決定することができる。本振り分け配分に従いトランザクション処理メッセージを該当サーバへ投入する。

0042

また、「TRNS0D」の平均CPU使用時間はトランザクション毎平均CPU使用時間管理表42内に、CPU使用時間情報が存在しない為、初めて本システムに投入されたトランザクション処理メッセージであるとみなし、投入件数が30件の「TRNS0D」について、各々サーバ毎のトランザクション処理メッセージの投入件数が(サーバ1:サーバ2=1:2)の割合になるようなトランザクション処理メッセージの振り分け配分を求めると、サーバ1に投入するトランザクション処理メッセージの振り分け配分は、「TRNS0D」(10件)、サーバ2に投入するトランザクション処理メッセージの振り分け配分は、「TRNS0D」(20件)と決定できる。本振り分け配分に従い「TRNS0D」を該当サーバへ投入する。

0043

第二の例として、現在CPU使用率がサーバ1「100%」およびサーバ2「50%」である各々のサーバへ、端末群5より複数のトランザクション処理メッセージが65件(「TRNS0A」が5件、「TRNS0B」が10件、「TRNS0C」が20件、「TRNS0D」が30件)投入された場合について考える。

0044

トランザクション振り分け手段41は、CPU測定装置13よりサーバ1のCPU使用率「100%」、CPU測定装置23よりサーバ2のCPU使用率「50%」を取得し、各々サーバにCPU負荷がかかっていない状態での使用可能なCPU値を「100%」とすると、サーバ1の使用可能なCPU値は計算式(100%−現在のサーバ1のCPU使用率)=(100%−100%=0%)より「0%」、サーバ2の使用可能なCPU値は計算式(100%−現在のサーバ2のCPU使用率)=(100%−50%=50%)より「50%」となり、各々サーバ毎の使用可能なCPU値の割合が(サーバ1:サーバ2=0%:50%)であることより、サーバ1へはトランザクション処理メッセージを振り分けず、端末群5より投入されたトランザクション処理メッセージ全てサーバ2へ振り分ける。第二の例では、サーバ1に投入するトランザクション処理メッセージの振り分け配分は0件、サーバ2に投入するトランザクション処理メッセージの振り分け配分は、端末群5より投入された全トランザクション処理メッセージ65件(「TRNS0A」が5件、「TRNS0B」が10件、「TRNS0C」が20件、「TRNS0D」が30件)と決定できる。本振り分け配分に従いトランザクション処理メッセージを該当サーバへ投入する。

0045

第三の例として、現在CPU使用率がサーバ1「100%」およびサーバ2「100%」である各々のサーバへ、端末群5より複数のトランザクション処理メッセージが65件(「TRNS0A」が5件、「TRNS0B」が10件、「TRNS0C」が20件、「TRNS0D」が30件)投入された場合について考える。

0046

トランザクション振り分け手段41は、CPU測定装置13よりサーバ1のCPU使用率「100%」、CPU測定装置23よりサーバ2のCPU使用率「100%」を取得する。各々サーバのCPU使用率が同じである為、CPU使用時間の予測値「1200」の複数トランザクションについて、各々サーバ毎のCPU使用時間の予測値が(サーバ1:サーバ2=1:1)の割合になるようなトランザクション処理メッセージの振り分け配分を求める。

0047

例えば、サーバ1に投入するトランザクション処理メッセージの振り分け配分は、CPU使用時間の予測値が「1200」の複数トランザクションについて各々サーバ毎のCPU使用時間の予測値が(サーバ1:サーバ2=1:1=600:600)となるようにトランザクション毎平均CPU使用時間管理表42の平均CPU使用時間422の多い順にトランザクション処理メッセージを選択すると、サーバ1のCPU使用時間の予測値が「600」となる為には、(計算式=(「TRNS0A」の平均CPU使用時間×投入数)+(「TRNS0B」の平均CPU使用時間×投入数)=(100×5)+(50×2)=600)より「TRNS0A」(5件)および「TRNS0B」(2件)と決定でき、残りの「TRNS0B」(8件)および「TRNS0C」(20件)をサーバ2へ投入するトランザクション処理メッセージと決定でき、その時のサーバ2のCPU使用時間の予測値は((計算式=(「TRNS0B」の平均CPU使用時間×投入数)+(「TRNS0D」の平均CPU使用時間×投入数)=(50×8)+(10×20)=600)となり、各々サーバ毎のCPU使用時間の予測値が各々サーバの使用可能なCPU値(サーバ1:サーバ2=1:1)の割合と同じ割合になるような振り分け配分を決定することができる。本振り分け配分に従いトランザクション処理メッセージを該当サーバへ投入する。

0048

また、「TRNS0D」の平均CPU使用時間はトランザクション毎平均CPU使用時間管理表42内に、CPU使用時間情報が存在しない為、初めて本システムに投入されたトランザクション処理メッセージであるとみなし、投入件数が30件の「TRNS0D」について、各々サーバ毎のトランザクション処理メッセージの投入件数が(サーバ1:サーバ2=1:1)の割合になるようなトランザクション処理メッセージの振り分け配分を求めると、サーバ1に投入するトランザクション処理メッセージの振り分け配分は、「TRNS0D」(15件)、サーバ2に投入するトランザクション処理メッセージの振り分け配分は、「TRNS0D」(15件)と決定できる。本振り分け配分に従いトランザクション処理メッセージを該当サーバへ投入する。

0049

トランザクション実行制御手段11はトランザクション振り分け手段41から受け取ったトランザクション処理メッセージに対応するアプリケーションプログラム12を起動し、トランザクション実行後各々トランザクション処理メッセージの実行結果を端末群5へ返却し、トランザクション毎稼働統計情報管理ファイル3のトランザクション処理メッセージ識別子31をキーにして、トランザクション処理メッセージ毎の総CPU使用時間32およびトランザクション処理メッセージ毎の総実行件数33を検索する。

0050

トランザクション毎稼働統計情報管理ファイル3よりトランザクション処理メッセージ識別子31が検索できたトランザクション処理メッセージについては、前記トランザクション処理メッセージの実行に要したCPU使用時間および実行件数をトランザクション毎稼働統計情報管理ファイル3の総CPU時間32および総実行件数33へ加算し、またCPU使用時間32および総実行件数33よりトランザクション処理メッセージ毎の平均CPU使用時間を算出し、平均CPU使用時間34を更新する。トランザクション毎稼働統計情報管理ファイル3内にトランザクション処理メッセージ識別子31が存在しないトランザクション処理メッセージについては、本システムに初めて投入されたトランザクション処理メッセージであるとみなし、トランザクション処理メッセージ識別子31、総CPU使用時間32、総実行件数33および平均CPU使用時間34を登録する。

0051

ここでトランザクション実行制御手段11において「TRNS0A」が1件実行され、実行時にかかったCPU使用時間が「98」であった場合について考える。

0052

トランザクション実行制御手段11はトランザクション処理メッセージ識別子31より「TRNS0A」を検索し、「TRNS0A」欄の総CPU使用時間32「1000」に「TRNS0A」の実行に要したCPU使用時間「98」を加算し、「TRNS0A」欄の総CPU使用時間32を「1000」から「1098」に更新し、「TRNS0A」欄の総実行件数33「10」に「TRNS0A」の実行件数「1」を加算し、総実行件数33を「10」から「11」に更新する。

0053

次にトランザクション実行制御手段11は「TRNS0A」欄の総CPU使用時間32「1098」および「TRNS0A」欄の実行件数33「11」をもとにトランザクション処理メッセージあたりの平均CPU使用時間を(計算式(総CPU使用時間÷総実行件数)=(1099÷11)=99.9(少数第一位繰り上げ))より算出し、「TRNS0A」欄の平均CPU使用時間34を「100」から「99.9」に更新する。

0054

同様にトランザクション実行制御手段21はトランザクション振り分け手段41から受け取ったトランザクション処理メッセージに対応するアプリケーションプログラム22を起動し、トランザクション実行後トランザクション処理メッセージの実行結果を端末群5へ返却し、本サーバで実行されたトランザクション毎の総CPU使用時間およびトランザクション毎の実行件数およびトランザクション毎の平均CPU使用時間を取得し、トランザクション毎稼働統計情報管理ファイル3のトランザクション毎の総CPU使用時間32とトランザクション毎の実行件数33と平均CPU使用時間34を更新する。

0055

ここでトランザクション実行制御手段21において「TRNS0D」が1件実行され、実行時にかかったCPU使用時間が「20」であった場合について考える。

0056

トランザクション実行制御手段21はトランザクション処理メッセージ識別子31内に「TRNS0D」が存在しない為、本システムに初めて投入されたトランザクション処理メッセージとみなし、トランザクション処理メッセージ識別子31へ「TRNS0D」を登録するとともに、「TRNS0D」欄の総CPU使用時間32へ「20」、総実行件数33へ「1」を登録する。

0057

次にトランザクション実行制御手段11は「TRNS0D」欄の総CPU使用時間32「20」および「TRNS0D」欄の実行件数33「1」よりトランザクション処理メッセージあたりの平均CPU使用時間を(計算式(総CPU使用時間÷総実行件数)=(20÷1)=20)より算出し、平均CPU使用時間34へ「20」を登録する。トランザクション振り分け手段41は、一定時間毎にトランザクション毎稼働統計情報管理ファイル3のトランザクション処理メッセージ識別子31および平均CPU使用時間34を読み込み、トランザクション毎平均CPU使用時間管理表42のトランザクション処理メッセージ識別子421と平均CPU使用時間422を読み込んだ値で更新することにより最新状態にする。これにより、最新のCPU使用時間の稼働統計情報をもとにしたトランザクション処理メッセージの振り分け方式を実現することができる。以上のように、各々サーバにおいてトランザクション処理メッセージ実行時に発生するトランザクション処理メッセージ毎の平均CPU使用時間を考慮したトランザクション処理メッセージの振り分け配分を決定することにより、各々サーバに投入されたトランザクション処理メッセージが使用するCPU時間を平準化させ、各々サーバの負荷の平準化(CPUの利用効率の平準化)を図ることができる。

発明の効果

0058

以上、本発明にはトランザクション処理メッセージが複数投入された場合、トランザクション処理メッセージ毎の平均CPU使用時間の稼働統計情報をもとに算出した本トランザクション処理メッセージ実行時に必要となるCPU使用時間および、各々サーバの現在のCPU使用率をもとに振り分け配分を決定する為、各々サーバに投入されたトランザクション処理メッセージが使用するCPU時間を平準化させ、各々サーバの負荷の平準化(CPUの利用効率の平準化)を図ることができる。

0059

また、トランザクション処理メッセージに対応するアプリケーションプログラム変更により、本トランザクション処理メッセージ実行時に発生するCPU使用時間が変わっても、トランザクション処理メッセージ毎のCPU使用時間の最新情報を常に管理している為、操作員介入なく常に最適な振り分け方式を実現することが可能である。さらに、本発明は複数のクラスタ構成のサーバ群に分散して処理を行うオンライントランザクション処理システムにおける、トランザクション処理メッセージ毎の平均CPU使用時間の稼働統計情報を考慮した負荷分散方式について述べたが、同様にトランザクション処理メッセージ毎の処理経過時間の稼働統計情報や、トランザクション処理メッセージ毎の使用ファイルのI/O時間の稼働統計情報などを考慮した負荷分散方式の実現により、同様に各々サーバの負荷の平準化を図ることができ、オンライントランザクション処理以外にもバッチジョブの負荷分散方式の実現も可能という効果もある。

図面の簡単な説明

0060

図1本発明の実施の形態の構成を示すブロック図である。
図2本発明の実施の形態の具体例である。
図3本発明の実施の形態の具体例である。

--

0061

1サーバ
11トランザクション実行制御手段
12アプリケーションプログラム
13 CPU測定装置
2 サーバ
21 トランザクション実行制御手段
22 アプリケーションプログラム
23 CPU測定装置
3トランザクション毎稼動統計情報管理ファイル
4 サーバ
41 トランザクション振り分け手段
42 トランザクション毎平均CPU使用時間管理表
5端末群
51端末
52 端末
5N 端末

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 三菱電機株式会社の「 コントローラシステム」が 公開されました。( 2019/06/27)

    【課題・解決手段】コントローラシステムは、コントローラ(1)と、コントローラ(1)と通信可能に接続された複数の入出力制御装置(4)と、複数の入出力制御装置(4)に接続されたセンサ機器(5)とを備える。... 詳細

  • 三菱電機株式会社の「 制御装置、機器および制御プログラム」が 公開されました。( 2019/06/27)

    【課題・解決手段】制御装置において、第1処理部(51)は、第1処理として、制御のための出力値の演算をデジタル演算装置(21)で実行する。第2処理部(52)は、第2処理として、第1処理の演算精度を上げる... 詳細

  • 三菱電機株式会社の「 管理装置、管理方法及び管理プログラム」が 公開されました。( 2019/06/27)

    【課題・解決手段】管理ノード(10)は、タスクの実行が可能な複数の子ノード(20)を管理する。平文取得部(311)は、平文データを取得する。タスクスケジューラ(313)及びタスク配信部(314)は、平... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ