(57)【特許請求の範囲】
【請求項１】
メッセージ交換システムにおいて、
外部システムに接続され、メッセージを転送するためのサービスバスと、
ユーザによって定義されたシステム要件とチューニングパラメータとが対応付けて格納されるチューニングパラメータ蓄積装置と、
前記サービスバスから取得した情報に基づいて、前記ユーザによって定義されたシステム要件を満たすようにチューニングパラメータを決定し、前記決定したチューニングパラメータの設定を前記サービスバスに適用する、パラメータ算出・設定装置と、
を備え、
前記パラメータ算出・設定装置は、前記決定されたチューニングパラメータを、前記ユーザによって定義されたシステム要件と対応付けて、前記チューニングパラメータ蓄積装置に格納し、かつ、前記チューニングパラメータ蓄積装置からシステム要件をキーに同一要件もしくは類似要件のチューニングパラメータを読み出し、当該読み出したチューニングパラメータを他のコンピュータのチューニングにおいて初期パラメータとして利用することのできる蓄積装置通信手段を備える、
ことを特徴とするメッセージ交換システム。
【請求項２】
前記チューニングパラメータは、スレッド数を含むことを特徴とする請求項１に記載のメッセージ交換システム。
【請求項３】
前記パラメータ算出・設定装置は、
前記サービスバスの複数のチェックポイントにおいて計測されたスループット情報を取得するスループット参照手段と、
前記スループット参照手段により取得された複数のチェックポイントにおけるスループット情報に基づいて、前記複数のチェックポイントの間で均一数のメッセージが通過するようなメッセージ数を算出する通過メッセージ数バランサーと、
前記通過メッセージ数バランサーの算出したメッセージ数を処理可能な最小スレッド数を、前記複数のチェックポイントのそれぞれについて算出するスレッド数調整手段と、
前記スレッド数調整手段により前記複数のチェックポイントのそれぞれについて算出されたスレッド数の設定を、前記複数のチェックポイントのそれぞれに適用するパラメータ設定手段と、
を備え、前記蓄積装置通信手段は、前記スレッド数調整手段により前記複数のチェックポイントのそれぞれについて算出されたスレッド数を、システム要件と対応付けて、前記チューニングパラメータ蓄積装置に格納することを特徴とする請求項２に記載のメッセージ交換システム。
【請求項４】
前記システム要件は、応答時間の最悪値、応答時間の平均値、データサイズの最大値、又は、データサイズの平均値のうち少なくとも１つを含むことを特徴とする請求項１乃至３のいずれかに記載のメッセージ交換システム。
【請求項５】
サービスバスと、チューニングパラメータ蓄積装置と、前記サービスバスと前記チューニングパラメータ蓄積装置とに接続されるパラメータ算出・設定装置と、を含むメッセージ交換システムにおいて、チューニングパラメータを管理する方法であって、
前記パラメータ算出・設定装置が、
前記サービスバスから取得した情報に基づいて、ユーザによって定義されたシステム要件を満たすようにチューニングパラメータを決定するステップと、
前記決定されたチューニングパラメータの設定を前記サービスバスに適用するステップと、
前記決定されたチューニングパラメータを、前記ユーザによって定義されたシステム要件と対応付けて、前記チューニングパラメータ蓄積装置に格納するステップと、
前記チューニングパラメータ蓄積装置からシステム要件をキーに同一要件もしくは類似要件のチューニングパラメータを読み出し、当該読み出したチューニングパラメータを他のコンピュータのチューニングにおいて初期パラメータとして利用するステップと、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス転送型のメッセージ交換システムにおいて、チューニングパラメータ最適化する手法に関する。
【背景技術】
【０００２】
近年、ＳａａＳ（Software as a Service）やクラウドといったサービス提供事業者が計算機資源を保有して顧客に利用させる事業形態が注目されている。これらの事業者はデータセンタに大量のコンピュータを保有して顧客にサービスを提供することが一般的である。この結果、従来の企業内で利用されるシステムと比して、ハードウェアの計画更新や設備収容計画を理由としたハードウェア構成変更が新たに発生しており、これにつれて大量に存在するハードウェア上に構築されたシステムの構成変更といった運用の容易化という新たな課題が発生している。なお、特許文献１は、対話的に得た指示を解析して蓄積し、その情報を用いてジョブにリソースを効率的に割り当て、かつ、計画立案内容に適合させていく学習機能を備えたジョブ・リソース割当て学習装置に関するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７４０７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来のクラウド事業者は、コンピュータシステムを大量に保有し、顧客に同システムを利用したサービスを提供している。クラウド事業者が保有する環境においては、技術進歩による機種の更新や、物理的な収容効率を高めるなどの理由により、従来の企業内システムに比べて頻繁に構成変更が行なわれる傾向がある。当然のごとく、構成変更の作業効率を高めたいという要求がある。また、投資額の最小化は事業者として当然の要求であり、クラウド事業者にとっては、同等の処理性能に対して、より少ない台数の、また、より安価なコンピュータハードウェアでサービスを提供することが課題となる。
【０００５】
一方、近年、業務アプリケーションをサービスと見立てて、サービス間の連携により、業務改善や統合を実現するＳＯＡ（Service Oriented Architecture）に基づくシステムが利用されている。ＳＯＡに基づくシステムの一形態として、異なるプロトコル、異なるデータ形式を用いたシステム間において、プロトコルおよびデータ形式を相互に変換することで、システム間連携を実現するバス型メッセージ交換システムがある。
【０００６】
ここで、バス型メッセージ交換システムはコンピュータシステムの一形態であり、クラウド事業者がバス型メッセージ交換システムを利用する際には、上記クラウド事業者の課題はバス型メッセージ交換システムについてもそのまま当てはまる。バス型メッセージ交換システムにおいては、連携の入力側および出力側処理に割り当てるスレッド数などの調整（以下「チューニング」という。)をすることで、処理効率を最適化し、より少ない計算機資源で同等の処理能力を提供することが可能となる。チューニングは、顧客要件に応じて定まるデータ量や保証する応答時間（ターンアラウンドタイム。以下「ＴＡＴ」という。）、また、ハードウェアの処理能力といった、システム要件に応じて、調整値が異なるという特性を持つ。
【０００７】
このため、従来は、顧客要件に従い、手作業で一システムごとに行なうことが一般的であり、手間がかかるという問題があった。また、当然ながら、チューニング中の処理能力はチューニング後には及ばないため、これをカバーするためにより高性能、つまり、より高価なハードウェアを利用せざるを得ず、コストがかさむという問題もある。
【０００８】
本発明は、かかる実情に鑑み、クラウド環境や大規模負荷分散環境において、顧客要件に応じた最適なパラメータへのチューニング作業の効率化、および、ハードウェアコストの最小化を図ろうとするものである。
【課題を解決するための手段】
【０００９】
本発明の一実施形態に係る発明は、バス転送型メッセージ交換システムのチューニング方法である。本チューニング方法は、処理スレッド数などのチューニングパラメータを自動的に決定すること、決定したパラメータを蓄積しておき、類似の要件でのパラメータを活用することで、パラメータの初期値精度を向上することを特徴とする。
【００１０】
すなわち、本発明の一実施形態に係る発明は、バス型メッセージ交換システム内でメッセージが通過するパスに接続された各コンポーネントにおいて通過したメッセージ数を計測し、コンポーネントごとにスループットを算出する。また、各コンポーネントのスループットが平準化し、かつ、所定のシステム要件を満たすようにチューニングパラメータを決定し、コンピュータに設定する。ここで、システム要件としては、ＴＡＴやメッセージ長を含み得る。同時にチューニングパラメータ蓄積装置に格納する。また、本発明の一実施形態に係る発明は、他のコンピュータのチューニングにおいて、チューニングパラメータ蓄積装置に格納されたチューニングパラメータを参照して初期パラメータとして利用する。さらに、本発明の一実施形態に係る発明は、リアルタイムにスループットを測定することにより、メッセージ送受信頻度の変化や要件の変化に対応し、動的に最適パラメータを更新する。
【発明の効果】
【００１１】
本発明によれば、要件を満たしかつサービスバス内部のコンポーネント間のスループットを均一化するようなチューニングパラメータを設定する。パラメータ算出・設定装置がスループット参照手段を用いて各コンポーネントのスループットを参照し、通過メッセージ数バランサーによってスループットを均一化することによって、スループットが不足していたコンポーネントは割当スレッド数が増やされることで要件を満たすようになり、スループットが過剰であったコンポーネントは割当スレッド数が減らされる。これにより要件を満たしかつ待ち状態のスレッドの数を最小化することでＣＰＵリソースの無駄を除去し、処理効率（処理メッセージ数／ＣＰＵ使用時間）を最大化する。
【００１２】
このようにしてチューニングされたパラメータはチューニングパラメータ蓄積装置に保持されている。チューニングパラメータ蓄積装置に保持されている最適チューニングパラメータを、パラメータ算出・設定装置が参照し各サービスバスへ適用することにより、他のサービスバスにおけるパラメータの初期値精度が高まり、処理効率最適化にかかる時間を短縮できる。また、初期値精度が高まることで、負荷率が低くなり、結果、処理余裕度が削減され、より処理能力の低い低コストなハードウェアを利用することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るメッセージ交換システムの概略構成を示すブロック図である。
【図２】本実施形態において、チューニングパラメータ蓄積装置１２５に格納されるレコード形式の一例を示す図である。
【図３】本実施形態において、サービスバス１０１におけるスループットの実測値を算出する処理の流れを示すフローチャートである。
【図４】本実施形態において、パラメータ算出・設定装置１１９における処理の流れを示すフローチャートである。
【図５】負荷分散時にチューニングパラメータをコピーする実施例について、メッセージ交換システムの概略構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１５】
図１は、本発明の一実施形態に係るバス転送型のメッセージ交換システムの概略構成を示すブロック図である。同図に示すように、メッセージ交換システムは、サービスバス１０１と、パラメータ算出・設定装置１１９と、チューニングパラメータ蓄積装置１２５とを備える。
【００１６】
サービスバス１０１は、外部システムとの通信を行う第１の外部通信部１０２と第２の外部通信部１１１、及び、メッセージの振り分けを行うルーティング部１０９を備える。サービスバス１０１は、従来のバスと同様の機能を備えるバスであり、ＬＡＮを通じてクライアント１１７やＷｅｂサービス１１８といった複数の外部システムと接続されており、それら外部システム間のメッセージ転送を行う。
【００１７】
第１の外部通信部１０２は、外部通信受信手段１０３、ルーティング部１０９への送信手段１０４、スループット計測手段１０５、スレッド数制御手段１０６及びパラメータ設定手段１０７を備え、クライアント１１７との通信を行う。
【００１８】
ルーティング部１０９は、第１のキュー１０８及び第２のキュー１１０を通じて第１の外部通信部１０２及び第２の外部通信部１１１に接続され、サービスバス１０１内部でのルーティングを行う。
【００１９】
第２の外部通信部１１１は、外部通信送信手段１１２、ルーティング部１０９からの受信手段１１３、スループット計測手段１１４、スレッド数制御手段１１５及びパラメータ設定手段１１６を備え、Ｗｅｂサービス１１８との通信を行う。
【００２０】
パラメータ算出・設定装置１１９は、スループット参照手段１２０、通過メッセージ数バランサー１２１、スレッド数調整手段１２２、パラメータ設定手段１２３及び蓄積装置通信手段１２４を備える。パラメータ算出・設定装置１１９はさらに、サービスバス１０１に接続され、サービスバス１０１の最適パラメータを算出し設定を行う。
【００２１】
チューニングパラメータ蓄積装置１２５は、パラメータ蓄積手段１２６とパラメータ参照手段１２７を備える。チューニングパラメータ蓄積装置１２５はさらに、パラメータ算出・設定装置１１９に接続され、チューニングパラメータの蓄積および参照を行う。
【００２２】
図２は、本実施形態において、チューニングパラメータ蓄積装置１２５に格納されるレコード形式の一例を示す図である。チューニングパラメータ蓄積装置１２５には、要件２０１とチューニングパラメータ２０６を含むレコードが格納される。より詳細には、チューニングパラメータ蓄積装置１２５には、要件２０１をキーとして、チューニングパラメータ２０６が格納される。要件２０１は顧客によって定義されるものであり、ＴＡＴ最悪値２０２、ＴＡＴ平均値２０３、データサイズ最大値２０４及びデータサイズ平均値２０５を備える。チューニングパラメータ２０６は、第１の外部通信部スレッド数２０７と第２の外部通信部スレッド数２０８を備える。チューニングパラメータ２０６は、顧客によって定義された要件２０１を満たすよう、パラメータ算出・設定装置１１９によって調整される。
【００２３】
本実施例ではチューニングパラメータ２０６の要素は各コンポーネントに割り当てるスレッド数のみとしているが、この限りではなく、他にコネクションプール数などをチューニングパラメータとして取り扱うこともできる。
【００２４】
次に、本実施形態における処理フローについて、図３及び図４を用いて説明する。
【００２５】
図３は、本実施形態において、サービスバス１０１におけるスループットの実測値を算出する処理の流れを示すフローチャートである。バス転送型メッセージ交換システムを構成するサービスバス１０１は、外部から受信したメッセージをバス内に流し、外部へ転送する役割を果たす。バス転送型メッセージ交換システムでは一般にデータ形式の変換などの処理をはさむが、本実施形態には直接関係しないため以下の説明では省いている。
【００２６】
第１の外部通信部１０２において、外部通信受信手段１０３がクライアント１１７よりメッセージを受信すると（３０１）、スレッド数制御手段１０６によって制御されるスレッド数に応じた多重度で並列して、メッセージを第１のキュー１０８へ転送する。このとき、制御されているスレッド数を超えたメッセージが同時に受信されると、メッセージは待ち状態となる。待ち状態となったメッセージはスレッドが空き次第処理が開始されるが、スレッド数不足はスループット低下の原因となる。スループット計測手段１０５は、メッセージがルーティング部１０９へ転送されると、そのメッセージを第１の外部通信部１０２を通過したメッセージとしてカウントし、単位時間あたりに通過したメッセージの数から第１の外部通信部１０２のスループット情報を算出する（３０２）。
【００２７】
第１のキュー１０８において、第１の外部通信部１０２から受信されたメッセージは、第１のキュー１０８からルーティング部１０９に順次取り出される（３０３）。ルーティング部１０９は第１のキュー１０８からメッセージを受信すると、ルーティング処理等を行った後に、そのメッセージを第２のキュー１１０に転送する（３０４）。
【００２８】
第２の外部通信部１１１において、ルーティング部からの受信手段１１３が、第２のキュー１１０からメッセージを受信すると（３０５）、外部通信送信手段１１２は、スレッド数制御手段１１５によって制御されているスレッド数に応じた多重度で並列して、メッセージをＷｅｂサービス１１８へと転送する。このとき、第１の外部通信部１０２における処理と同様に、スレッド数制御手段１１５によって制御されているスレッド数を超えたメッセージが同時に受信されると、メッセージは待ち状態となる。待ち状態となったメッセージはスレッドが空き次第処理が開始されるが、スレッド数不足はスループット低下の原因となる。また、第１の外部通信部１０２における処理と同様に、ルーティング部からの受信と同時に外部通信部２のスループットを算出する。すなわち、スループット計測手段１１４が第２の外部通信部１１１を通過したメッセージをカウントし、スループット情報を算出する（３０６）。
【００２９】
図４は、本実施形態において、パラメータ算出・設定装置１１９における処理の流れを示すフローチャートである。図３と同様に、データ形式の変換など、本実施形態には直接関係しない処理については、説明を省いている。
【００３０】
パラメータ算出・設定装置１１９は、クライアント１１７からのメッセージ送信開始前に、チューニングパラメータ蓄積装置１２５のパラメータ蓄積手段１２６を用いて、ＴＡＴ最悪値２０２、ＴＡＴ平均値２０３、最大メッセージ長としてのデータサイズ最大値２０４及び平均メッセージ長としてのデータサイズ平均値２０５を含む要件２０１を比較し、要件２０１をキーとして、同一要件もしくは類似要件のチューニングパラメータ２０６がチューニングパラメータ蓄積装置１２５に格納されているか否かを確認する（４０１）。
【００３１】
チューニングパラメータ蓄積装置１２５に同一要件もしくは類似要件のチューニングパラメータ２０６が格納されている場合（４０２：Ｙｅｓ）、パラメータ算出・設定装置１１９は、チューニングパラメータ蓄積装置１２５のパラメータ参照手段１２７を用いて、そのチューニングパラメータ２０６を取り出す（４０８）。そして、チューニングパラメータ蓄積装置１２５から取り出されたチューニングパラメータのレコードに基づいて、パラメータ設定手段１２３は、第１の外部通信部１０２及び第２の外部通信部１１１のそれぞれに対して設定を行う（４０９）。本実施例では、第１の外部通信部１０２と第２の外部通信部１１１それぞれのスレッド数を設定する。
【００３２】
チューニングパラメータ蓄積装置１２５に同一要件もしくは類似要件のチューニングパラメータ２０６が格納されていない場合（４０２：Ｎｏ）、又は、ステップ４０９でパラメータ設定手段１２３によりチューニングパラメータが設定された後、スループット計測手段１０５，１１４によって計測された第１の外部通信部１０２及び第２の外部通信部１１１のスループット情報を参照する（４０３）。スループット情報は、図３に例示した処理により、パラメータ算出・設定装置１１９により計測される。
【００３３】
続いて、通過メッセージ数バランサー１２１が、要件２０１を満たし、かつ、第１の外部通信部１０２及び第２の外部通信部１１１の間で均一数のメッセージが通過するようなメッセージ数を算出する（４０４）。そして、スレッド数調整手段１２２が、第１の外部通信部１０２及び第２の外部通信部１１１のそれぞれについて、通過メッセージ数バランサー１２１の算出したメッセージ数を処理可能な最小スレッド数を算出する（４０５）。パラメータ算出・設定装置１１９のパラメータ設定手段１２３は、第１の外部通信部１０２及び第２の外部通信部１１１のそれぞれに対し、パラメータ設定手段１０７，１１６を用いて、算出されたスレッド数の設定を適用する（４０６）。また、パラメータ算出・設定装置１１９の蓄積装置通信手段１２４は、チューニングパラメータ蓄積装置１２５のパラメータ蓄積手段１２６を用いて、調整された各部のスレッド数と、システム要件として定められたＴＡＴ最悪値２０２、ＴＡＴ平均値２０３、データサイズ最大値２０４及びデータサイズ平均値２０５とを１つのレコードとして、チューニングパラメータ蓄積装置１２５に格納する（４０７）。
【００３４】
このようにして、バス転送型メッセージ交換システムにおいて、最適化されたチューニングパラメータをチューニングパラメータ蓄積装置１２５に蓄積することで最適チューニングパラメータを参照することを可能とし、複数コンピュータにおいて高精度なチューニングを実現する。
【００３５】
最初の代表コンピュータ１台におけるチューニングパラメータ最適化については、上述のとおり、複数のチェックポイント間で通過メッセージ数が均一になるよう各部のスレッド数が設定される。好適には、スレッドを合算した総ＣＰＵ利用率が最小になるようスレッド数が設定される。そして、ＴＡＴ最悪値２０２、ＴＡＴ平均値２０３、データサイズ最大値２０４及びデータサイズ平均値２０５を含む要件２０１をキーとして、調整されたスレッド数などのチューニングパラメータをチューニングパラメータ蓄積装置１２５に格納する。残りの複数台のコンピュータがチューニングパラメータ蓄積装置１２５からチューニングパラメータを取り出す際には、要件２０１の全要素が完全に一致するレコード、もしくは、類似するレコードから、チューニングパラメータを取り出す。類似するレコードとしては、例えば、要素ごとの誤差率の総和が最も小さいレコードを取り出すことが好ましい。
【００３６】
上記実施例では、第１の外部通信部１０２と第２の外部通信部１１１のスループットを算出し、第１の外部通信部１０２と第２の外部通信部１１１の間で通過メッセージ数が均一になるよう各部のスレッド数を設定する例を示したが、さらに、ルーティング部１０９のルーティング情報を保持するルーティング制御部（不図示）を備えるものとして、第１の外部通信部１０２、ルーティング部１０９及び第２の外部通信部１１１それぞれのスループットを算出し、第１の外部通信部１０２、ルーティング部１０９及び第２の外部通信部１１１の間で通過メッセージ数が均一になるよう各部のスレッド数を設定するように、メッセージ交換システムを構成してもよい。このとき、ルーティング制御部は、図示しないスループット計測手段及びパラメータ設定手段を備える。
【００３７】
ルーティング制御部を備えるシステム構成において、スループット算出処理は、図３に示した処理に加えて、次の処理が行われる。すなわち、ステップ３０３でルーティング部１０９が第１のキュー１０８からメッセージを取り出した後、ルーティング部１０９は第３のキュー（不図示）へメッセージを転送する。ルーティング制御部は第３のキューを介してルーティング部１０９からメッセージを受信すると、ルーティング処理を行った後に第３のキューを介して、再度ルーティング部１０９へとメッセージを返送する。このとき、返送処理完了と同時に、ルーティング制御部内のスループット計測手段が、ルーティング制御部を通過したメッセージをカウントし、スループットを算出する。なお、スループットの算出処理は、第１の外部通信部１０２における処理と同様である。ルーティング部１０９は、ルーティング制御部からメッセージを受信すると、ステップ３０４に戻り、そのメッセージを第２のキュー１１０へと転送する。
【００３８】
ルーティング制御部を備えるシステム構成において、パラメータ算出・設定装置１１９における処理は、図４に示した処理に加えて、次の処理が行われる。すなわち、ステップ４０９において、チューニングパラメータ蓄積装置１２５から取り出されたチューニングパラメータのレコードに基づいて、パラメータ設定手段１２３は、第１の外部通信部１０２、ルーティング部１０９及び第２の外部通信部１１１のそれぞれに対して、スレッド数などの設定を行う。また、ステップ４０３において、スループット情報が参照される際、スループット計測手段１０５及び１１４によって計測された第１の外部通信部１０２及び第２の外部通信部１１１のスループット情報に加えて、ルーティング制御部内のスループット計測手段によって計測されたルーティング部１０９のスループット情報も参照される。続いて、ステップ４０４において、通過メッセージ数バランサー１２１は、要件２０１を満たし、かつ、第１の外部通信部１０２、ルーティング部１０９及び第２の外部通信部１１１の間で均一数のメッセージが通過するようなメッセージ数を算出する。そして、ステップ４０５において、スレッド数調整手段１２２は、第１の外部通信部１０２、ルーティング部１０９及び第２の外部通信部１１１のそれぞれについて、通過メッセージ数バランサー１２１の算出したメッセージ数を処理可能な最小スレッド数を算出する。さらに、ステップ４０６において、パラメータ算出・設定装置１１９のパラメータ設定手段１２３は、第１の外部通信部１０２、ルーティング部１０９及び第２の外部通信部１１１のそれぞれに対し、それぞれが備えるパラメータ設定手段を用いて、算出されたスレッド数の設定を適用する。こうして、複数コンピュータにおいてさらに高精度なチューニングを実現することができる。
【００３９】
次に、本発明の他の実施形態について説明する。
【００４０】
図５は、負荷分散時にチューニングパラメータをコピーする実施例について、メッセージ交換システムの概略構成を示すブロック図である。同図において、クライアント５０１ａ〜ｎ、サービスバス５０３ａ〜ｎ及びＷｅｂサービス５０４ａ〜ｎはそれぞれ、図１のクライアント１１７、サービスバス１０１及びＷｅｂサービス１１８に対応する。ｎ個のコンピュータ５０２ａ〜ｎは、対応するサービスバス５０３ａ〜ｎをそれぞれ備え、それぞれが、対応するクライアント５０１ａ〜ｎとＷｅｂサービス５０４ａ〜ｎに相互に接続される。本実施例において、パラメータ算出・設定装置５０９は、ＬＡＮを通じてｎ個のサービスバス５０３ａ〜ｎに接続されている。パラメータ算出・設定装置５０９は、データベースコントローラ５１０に接続され、データベースコントローラ５１０は、チューニングパラメータ蓄積装置５１１の動作を制御する。
【００４１】
この構成にｎ＋１個目のサービスバスを新規追加するとき、パラメータ算出・設定装置５０９は、ｎ＋１個目の要件に対して既存のｎ個の要件の中に類似要件が存在するか否かを、チューニングパラメータ蓄積装置５１１に確認する。
【００４２】
類似要件のチューニングパラメータがチューニングパラメータ蓄積装置５１１に保持されている場合には、そのチューニングパラメータをｎ＋１個目のサービスバスに適用する。既存のｎ個の要件の中に複数の類似要件が存在する場合には、その中から最も類似する要件（同一の要件がある場合には同一の要件）のチューニングパラメータを、ｎ＋１個目のサービスバスに適用する。ここで、類似要件が存在するとは、既存のｎ個の要件の中にｎ＋１個目の要件の全要素と完全に一致するレコードが存在する場合、または、ｎ＋１個目の要件との類似度が所定の閾値以下のもの既存のｎ個のレコードの中に存在する場合を指す。類似度は、例えば、要素ごとの誤差率の総和により算出することが好ましい。こうして、高精度の設定で速やかに運用を開始することができる。
【００４３】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。また、本明細書及び特許請求の範囲において、均一なる用語は、完全に均一な場合に加え、実質的に均一な場合も含む。同様に、本明細書及び特許請求の範囲において、同時なる用語は、完全に同時の場合に加え、実質的に同時の場合も含む。
【００４４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限
られない。
【００４５】
（付記１）メッセージ交換システムにおいて、外部システムに接続され、メッセージを転送するためのサービスバスと、システム要件とチューニングバラメータとが対応付けて格納されるチューニングパラメータ蓄積装置と、サービスバスから取得した情報に基づいてチューニングパラメータを決定し、決定したチューニングパラメータの設定をサービスバスに適用する、パラメータ算出・設定装置と、を備え、パラメータ算出・設定装置は、決定されたチューニングパラメータを、システム要件と対応付けて、チューニングパラメータ蓄積装置に格納し、かつ、チューニングパラメータ蓄積装置からシステム要件をキーにチューニングパラメータを読み出すことのできる蓄積装置通信手段を備える、ことを特徴とするメッセージ交換システム。
【００４６】
（付記２）チューニングパラメータは、スレッド数を含むことを特徴とする付記１に記載のメッセージ交換システム。
【００４７】
（付記３）パラメータ算出・設定装置は、サービスバスの複数のチェックポイントにおいて計測されたスループット情報を取得するスループット参照手段と、スループット参照手段により取得された複数のチェックポイントにおけるスループット情報に基づいて、複数のチェックポイントの間で均一数のメッセージが通過するようなメッセージ数を算出する通過メッセージ数バランサーと、通過メッセージ数バランサーの算出したメッセージ数を処理可能な最小スレッド数を、複数のチェックポイントのそれぞれについて算出するスレッド数調整手段と、スレッド数調整手段により複数のチェックポイントのそれぞれについて算出されたスレッド数の設定を、複数のチェックポイントのそれぞれに適用するパラメータ設定手段と、を備え、蓄積装置通信手段は、スレッド数調整手段により複数のチェックポイントのそれぞれについて算出されたスレッド数を、システム要件と対応付けて、チューニングパラメータ蓄積装置に格納することを特徴とする付記２に記載のメッセージ交換システム。
【００４８】
（付記４）システム要件は、応答時間の最悪値、応答時間の平均値、データサイズの最大値、又は、データサイズの平均値のうち少なくとも１つを含むことを特徴とする付記１乃至４のいずれかに記載のメッセージ交換システム。
【００４９】
（付記５）サービスバスと、チューニングパラメータ蓄積装置と、サービスバスとチューニングパラメータ蓄積装置とに接続されるパラメータ算出・設定装置と、を含むメッセージ交換システムにおいて、チューニングパラメータを管理する方法であって、パラメータ算出・設定装置が、サービスバスから取得した情報に基づいてチューニングパラメータを決定するステップと、決定されたチューニングパラメータの設定をサービスバスに適用するステップと、決定されたチューニングパラメータを、システム要件と対応付けて、チューニングパラメータ蓄積装置に格納するステップと、チューニングパラメータ蓄積装置からシステム要件をキーにチューニングパラメータを読み出すステップと、を備える方法。
【符号の説明】
【００５０】
１０１  サービスバス、１０２  第１の外部通信部、１０３  外部通信受信手段、１０４  ルーティング部への送信手段、１０５  スループット計測手段、１０６  スレッド数制御手段、１０７  パラメータ設定手段、１０８  第１のキュー、１０９  ルーティング部、１１０  第２のキュー、１１１  第２の外部通信部、１１２  外部通信送信手段、１１３  ルーティング部からの受信手段、１１４  スループット計測手段、１１５  スレッド数制御手段、１１６  パラメータ設定手段、１１７  クライアント、１１８  Ｗｅｂサービス、１１９  パラメータ算出・設定装置、１２０  スループット参照手段、１２１  通過メッセージ数バランサー、１２２  スレッド数調整手段、１２３  パラメータ設定手段、１２４  蓄積装置通信手段、１２５  チューニングパラメータ蓄積装置、１２６  パラメータ蓄積手段、１２７  パラメータ参照手段、５０１  クライアント、５０２  コンピュータ、５０３  サービスバス、５０４  Ｗｅｂサービス、５０９  パラメータ算出・設定装置、５１０  データベースコントローラ、５１１  チューニングパラメータ蓄積装置
【図１】
0005741131.tif 000002
【図２】
0005741131.tif 000003
【図３】
0005741131.tif 000004
【図４】
0005741131.tif 000005
【図５】
0005741131.tif 000006