(57)【特許請求の範囲】
【請求項１】
ミドルウェアを含む情報システムの仕様に関する仕様情報から当該ミドルウェアの第１の設定項目における第１の設定値を算出するための条件を定義した算出定義情報、を記憶する記憶部と、
ユーザから前記仕様情報を第１の入力値として受け付ける受付部と、
前記第１の入力値から、前記算出定義情報に定義された条件を満たす第１の算出値を算出する算出部と、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する設定部と、
を備える情報処理装置。
【請求項２】
前記算出定義情報は、前記ミドルウェアの第２の設定項目における第２の設定値と、前記仕様情報とに基づいて前記第１の設定値を算出する条件が前記条件として定義され、
前記受付部は、前記ユーザから前記第２の設定項目における第２の入力値をさらに受け付け、
前記算出部は、前記第１の入力値及び前記第２の入力値から、前記条件を満たす前記第１の算出値を算出し、
前記設定部は、前記第１の算出値を前記第１の設定値とし、前記第２の入力値を前記第２の設定値として前記ミドルウェアに設定する
請求項１に記載の情報処理装置。
【請求項３】
前記受付部は、前記ユーザから前記第２の設定項目における変更値をさらに受け付け、
前記算出部は、前記第１の入力値と前記変更値により前記第１の設定値が前記条件を満たすか否かを判定し、
前記設定部は、前記条件を満たす場合に、前記変更値を前記第２の設定値として前記ミドルウェアに設定し、
前記情報処理装置は、
前記条件を満たさない場合に、前記ユーザに対してその旨を出力する出力部をさらに備える
請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、
前記情報システムから前記仕様情報に対応する実測値を取得する取得部をさらに備え、
前記算出部は、前記実測値を前記第１の入力値として前記条件を満たす前記第１の算出値を算出する
請求項１又は２に記載の情報処理装置。
【請求項５】
前記受付部は、前記算出定義情報の更新情報をさらに受け付けた場合に、当該更新情報を前記算出定義情報として前記記憶部に格納する
請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置は、
前記算出部による算出後に、前記第１の入力値及び前記第１の算出値を含めたログを生成し、前記ユーザに対して出力する出力部をさらに備える
請求項１又は２に記載の情報処理装置。
【請求項７】
前記仕様情報は、前記ミドルウェアの第３の設定項目における第３の設定値を含み、
前記受付部は、前記第３の設定値を前記第１の入力値として受け付け、
前記算出部は、前記第１の入力値から、前記条件を満たす前記第１の算出値及び第２の算出値を算出し、
前記設定部は、前記第１の算出値を前記第１の設定値とし、前記第２の算出値を前記第３の設定値として前記ミドルウェアに設定する
請求項１に記載の情報処理装置。
【請求項８】
コンピュータが、ユーザから、ミドルウェアを含む情報システムの仕様に関する仕様情報を第１の入力値として受け付け、
コンピュータが、前記第１の入力値から、前記仕様情報に基づく前記ミドルウェアの第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出し、
コンピュータが、前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する
ミドルウェアの設定方法。
【請求項９】
ユーザから、ミドルウェアを含む情報システムの仕様に関する仕様情報を第１の入力値として受け付ける処理と、
前記第１の入力値から、前記仕様情報に基づく前記ミドルウェアの第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出する処理と、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する処理と、
をコンピュータに実行させる、ミドルウェアの設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置並びにミドルウェアの設定方法及び設定プログラムに関し、特に、ミドルウェアの設定を行うための情報処理装置並びにミドルウェアの設定方法及び設定プログラムに関する。
【背景技術】
【０００２】
アプリケーションサーバは、様々なＷｅｂアプリケーションを制御及び管理するために利用されるミドルウェアの一つである。ここで、アプリケーションサーバは、ユーザがニーズに応じて最適な環境でアプリケーションを運用できるように、多くの設定項目が提供されている。そのため、ユーザはシステムの設計方針及び運用方針に基づいて、これらの設定項目における設定値を自由に変更し、それぞれのシステムの中でアプリケーションサーバの性能を最大限に発揮できるようチューニングを行うことが一般的である。
【０００３】
ここで、特許文献１には、性能向上サービス提供システムに関する技術が開示されている。特許文献１では、顧客のユーザシステム内の構成要素毎に、性能向上を施すための処置内容とその優先度とを対応付けた処置規則情報が定義されている。そして、性能向上サービス提供システムは、性能劣化の事象の発生に応じて、処置規則情報に従って、性能向上処置を実施する。また、処置規則情報は、入力コンソールからの指示によって更新可能である。
【０００４】
また、特許文献２には、システムモニタリング方法に関する技術が開示されている。特許文献２にかかる管理サーバは、項目をチューニングする際に使用する値を決定するためのルールを予め登録している。そして、管理サーバは、業務サーバにおけるモニタデータに基づき、対応するルールを検索し、モニタデータがルールの条件（例えば、「ＤＢＭＳキャッシュヒット率が８５％以下である」）を満たすか否かを判定する。条件を満たさない場合、管理サーバは、ルールに規定された処理（例えば、「ＤＢＭＳキャッシュサイズを５％増やす」）を業務サーバへ指示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０１８１０３号公報
【特許文献２】特開２００５−２５１０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の通り、アプリケーションサーバには、多数の設定項目が提供されている。しかしながら、上記のような多数の設定項目に適切な設定をするには、アプリケーションサーバについての多くの知識を必要とする。さらに、アプリケーションサーバの性能を最大限に引き出すようチューニングするためには、マニュアルに記載されたチューニングガイドや経験に基づいて、ユーザ自身が最適な設定値を決定しなければならない。これらの知識を習得するためにマニュアルを読解することや実務経験を積むためには膨大な時間を要する。そのため、システム構築時にアプリケーションサーバ等のミドルウェアに対して適切な設定を行うことが困難であるという問題点があった。
【０００７】
例えば、アプリケーションサーバが使用されるシステム全体の設計方針、又は、ハードウェア構成及びネットワーク環境等によって最適な設定値は異なる。そのため、汎用性を保持するという観点からソフトウェアを開発する際にアプリケーションサーバの設定値を確定することは困難である。また、マニュアルには、アプリケーションサーバの構造やチューニング指針についての記載がある。しかし、マニュアルには、汎用性を保つ必要から、設定値を決めるにあたっての考え方を示すことしか記載されていない。この場合、ユーザがマニュアルを熟読した上で、構築しているシステムに最適なアプリケーションサーバの具体的な設定値を導き出さなければならない。ところが、ユーザが導き出した設定値が妥当かどうかを判断することも経験を要するため困難である。
【０００８】
尚、特許文献１及び２に記載の技術は、運用開始後に性能を監視し、監視結果に基づいて設定値を求めるものである。そのため、運用実績が蓄積されていないシステム構築時における上述した課題を解決することができない。
【０００９】
本発明は、このような問題点を解決するためになされたものであり、システム構築時にミドルウェアに対して適切な設定を容易に行うための情報処理装置、設定方法及び設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様にかかる情報処理装置は、
ミドルウェアを含む情報システムの仕様に関する仕様情報から、当該ミドルウェアの第１の設定項目における第１の設定値の算出条件を定義した算出定義情報を記憶する記憶部と、
ユーザから前記仕様情報を第１の入力値として受け付ける受付部と、
前記第１の入力値から、前記算出定義情報に定義された算出条件を満たす第１の算出値を算出する算出部と、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する設定部と、
を備える。
【００１１】
本発明の第２の態様にかかるミドルウェアの設定方法は、
ユーザから、ミドルウェアを含む情報システムの仕様に関する仕様情報を第１の入力値として受け付け、
前記第１の入力値から、前記仕様情報に基づく前記ミドルウェアの第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出し、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する。
【００１２】
本発明の第３の態様にかかるミドルウェアの設定プログラムは、
ユーザから、ミドルウェアを含む情報システムの仕様に関する仕様情報を第１の入力値として受け付ける処理と、
前記第１の入力値から、前記仕様情報に基づく前記ミドルウェアの第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出する処理と、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１３】
本発明により、システム構築時にミドルウェアに対して適切な設定を容易に行うための情報処理装置、設定方法及び設定プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１にかかる情報処理装置を含む全体構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるミドルウェアの設定処理の流れを説明するためのフローチャートである。
【図３】本発明の実施の形態２にかかるアプリケーションサーバ装置の構成を示すブロック図である。
【図４】本発明の実施の形態２にかかる算出定義情報の例を示す図である。
【図５】本発明の実施の形態２にかかるタグの定義の例を示す図である。
【図６】本発明の実施の形態２にかかるチューニング処理の流れを説明するためのフローチャートである。
【図７】本発明の実施の形態３にかかるチューニング処理の流れを説明するためのフローチャートである。
【図８】本発明の実施の形態４にかかるチューニング処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１６】
＜実施の形態１＞
図１は、本発明の実施の形態１にかかる情報処理装置１００を含む全体構成を示すブロック図である。情報処理装置１００は、情報システム１０００に含まれるミドルウェア１５０に対して設定項目のチューニングを行うものである。特に、情報処理装置１００は、情報システム１０００の構築時にミドルウェア１５０に対する設定を行うことができる。
【００１７】
情報処理装置１００は、記憶部１１０と、受付部１２０と、算出部１３０と、設定部１４０と、ミドルウェア１５０とを備える。記憶部１１０は、算出定義情報１１１を記憶する記憶装置である。算出定義情報１１１は、情報システム１０００の仕様に関する仕様情報１６１から、ミドルウェア１５０の第１の設定項目における第１の設定値の算出条件を定義した情報である。算出定義情報１１１は、例えば、仕様情報１６１の数値から第１の設定値を算出するための計算式や、仕様情報１６１の数値と第１の設定値との間の制約条件等である。ここで、仕様情報１６１とは例えば、マシンの使用可能メモリ、配備するアプリケーションの想定アクセス人数、又は、アプリケーションが参照するデータベースとの通信回数等のシステムの仕様書が確定した時点で決定している内容が挙げられる。特に、仕様情報１６１は、ミドルウェア１５０の直接の設定項目以外の項目に対する値を少なくとも含むものとする。尚、仕様情報１６１に、ミドルウェア１５０の一部の設定項目における値が含まれていても構わない。尚、記憶部１１０は、複数の算出定義情報１１１を記憶していても構わない。
【００１８】
受付部１２０は、ユーザから仕様情報１６１を第１の入力値として受け付ける。算出部１３０は、第１の入力値から、算出定義情報１１１に定義された算出条件を満たす第１の算出値を算出する。設定部１４０は、第１の算出値を第１の設定値としてミドルウェア１５０に設定する。
【００１９】
ミドルウェア１５０は、任意のアプリケーションの動作を制御及び管理するためのソフトウェアである。ミドルウェア１５０は、例えば、アプリケーションサーバプログラムである。ミドルウェア１５０は、設定部１４０により第１の設定項目に設定された第１の設定値に基づいて動作する。設定項目、チューニング対象の項目としては、例えば、最大プロセス数、最大スレッド数、呼び出しタイムアウト値、実行時間タイムアウト値、起動タイムアウト値、クライアント無通信監視間隔、接続クライアント数の上限値、セッションあたりの同時実行数、及び、メモリプールサイズ等が挙げられるが、これらに限定されない。
【００２０】
尚、図１ではミドルウェア１５０を情報処理装置１００内の構成要素としているがこれに限定されない。つまり、ミドルウェア１５０は、少なくとも情報システム１０００に含まれるコンピュータ装置上で稼働するものであればよい。また、その場合、情報処理装置１００は、情報システム１０００の外部に存在していても構わない。
【００２１】
図２は、本発明の実施の形態１にかかるミドルウェアの設定処理の流れを説明するためのフローチャートである。まず、受付部１２０は、ユーザから、仕様情報１６１を第１の入力値として受け付ける（Ｓ１０１）。ここで、受付部１２０は、情報処理装置１００の入力インタフェースであり、ユーザからの入力操作を直接受け付けるものであってもよい。または、受付部１２０は、ユーザが操作する端末から通信回線を介して入力値を受け付けても良い。
【００２２】
次に、算出部１３０は、第１の入力値から、仕様情報１６１に基づくミドルウェア１５０の第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出する（Ｓ１０２）。そして、設定部１４０は、第１の算出値を第１の設定値としてミドルウェア１５０に設定する（Ｓ１０３）。
【００２３】
このように本実施の形態では、ユーザはミドルウェア１５０の設定項目に対して直接、設定値を入力する必要がなく、システム構築に携わるユーザであれば入手可能な情報システム１０００に関する仕様情報１６１を入力する。そして、算出定義情報１１１には、仕様情報１６１から設定値１６２を算出するための条件が予め定義されているため、算出定義情報１１１に基づいて設定値１６２を算出することができる。そのため、ミドルウェア１５０に設定値１６２が設定されることで、稼働実績がなくてもシステム構築時の適切な設定を容易に行うことができる。
【００２４】
＜実施の形態２＞
本実施の形態２は、上述した実施の形態１の具体的な実施例である。
図３は、本発明の実施の形態２にかかるアプリケーションサーバ装置２の構成を示すブロック図である。アプリケーションサーバ装置２は、上述した情報処理装置１００の一例であり、ミドルウェアとしてのアプリケーションサーバ（不図示）が稼働するコンピュータ装置である。アプリケーションサーバ装置２のハードウェア構成は公知のものを適用できるため、図示及び詳細な説明を省略する。また、アプリケーションサーバは、例えば、ＷＥＢアプリケーションを制御及び管理するものが挙げられるが、これに限定されない。
【００２５】
また、アプリケーションサーバ装置２は、ユーザ端末１と接続されている。ユーザ端末１は、アプリケーションサーバに対するシステム構築時の設定を行うユーザが操作するコンピュータ装置である。ユーザ端末１には、パーソナルコンピュータ等を用いることができる。
【００２６】
アプリケーションサーバ装置２は、受付部２０と、入力値解析部２１と、算出部２２と、設定部２３と、出力部２４と、記憶部２５とを備える。記憶部２５は、記憶部１１０の一例であり、算出定義情報２６１、２６２、・・・と、設定値２７１、２７２、・・・とを記憶する。設定値２７１等は、後述する設定部２３により設定され、アプリケーションサーバの設定項目における値である。
【００２７】
算出定義情報２６１等は、算出定義情報１１１の一例である。算出定義情報２６１等は、入力値から設定値を算出するための計算式や制約条件の集合を示す。尚、計算式や制約条件は、算出条件の一例である。算出定義情報２６１等の内容としては、例えば、入力値を所定の演算により変換して設定値を算出するもの、入力値自体もある設定項目の値であるが他の設定項目の設定値を算出するために入力値を用いるもの、複数の入力値の組合せに基づいて制約条件（例えば、入力値間の依存関係）を満たす設定値を算出するもの、複数の入力値の組合せについて複数の計算式や制約条件を満たすように値を調整して算出するもの、等が挙げられる。また、算出定義情報２６１等の具体例としては、「使用メモリ計算式」、「実行多重度計算式」、又は「タイムアウト計算式」等が挙げられるが、これらに限定されない。
【００２８】
図４は、本発明の実施の形態２にかかる算出定義情報２６１等の例を示す図である。図４では、算出定義情報２６１等をＸＭＬ（eXtensible Markup Language）形式で定義した場合を示す。また、図５は、算出定義情報２６１等のＸＭＬ形式にけるタグの定義の例を示す図である。但し、算出定義情報２６１等はＸＭＬ形式に限定されず、タグの定義もこれに限定されない。つまり、図４は、算出定義情報２６１がタイムアウトに関する属性と推奨条件の集合である場合を示している。例えば、attributeタグの属性nameは、入力値又は設定値に相当する変数名1A〜1Fの定義を示す。また、conditionタグの属性expressionは、計算式又は制約条件の定義を示す。
【００２９】
図３に戻り説明を続ける。受付部２０は、受付部１２０の一例である。受付部２０は、ユーザ端末１からの要求に応じて、上述した仕様情報１６１やアプリケーションサーバの各種設定項目の値の入力を受け付けるための画面を生成し、ユーザ端末１へ返信する。画面には、複数の入力項目と各入力項目に対応する入力欄とが含まれる。例えば、受付部２０は、ユーザ端末１のディスプレイに表示されるコンソール画面、又は、Ｗｅｂブラウザなどを利用したアプリケーションサーバの操作画面を生成する。そのため、ユーザは、ユーザ端末１のディスプレイに表示される画面に対して、ユーザ端末１の入力装置を介して、ＯＳ又はアプリケーションの消費メモリ、アプリケーションサーバ装置２の使用可能メモリ、配備するアプリケーションの想定アクセス人数、及び、アプリケーションが参照するデータベースとの通信回数等のシステムの仕様書に記載される数値、又は、アプリケーションサーバ自体に用意されている一部の設定項目に対する値を入力できる。そして、受付部２０は、ユーザにより画面の入力欄に入力された入力値をユーザ端末１から受信する。
【００３０】
入力値解析部２１は、受付部２０が受け付けた入力値を解析し、入力形式が正しいか否か、及び、当該入力値に対応する入力項目が算出定義情報２６１等の入力となるか否か等を判定する。そして、入力値解析部２１は、入力値の入力形式が正しく、対応する入力項目が算出定義情報２６１等の入力となる場合、つまり、入力値が他の設定項目の設定値を算出するものである場合に、当該入力値を算出部２２へ出力する。一方、入力値に対応する入力項目が設定項目そのものであり、算出定義情報２６１等の入力ともならない場合には、入力値解析部２１は、入力値をそのまま設定部２３へ出力する。
【００３１】
ここで、アプリケーションサーバ装置２は、入力項目の入力形式として入力値の型や値の範囲等を予め保持しているものとする。また、アプリケーションサーバ装置２は、各入力項目について、設定項目との対応の有無や算出定義情報２６１で使用されているかについての情報を予め保持しているものとする。
【００３２】
算出部２２は、算出部１３０の一例であり、入力値に対応する入力項目に基づいて記憶部２５内から該当する算出定義情報２６１等を選択し、選択した算出定義情報を用いて入力値から算出値を算出する。
【００３３】
設定部２３は、設定部１４０の一例であり、算出部２２で算出された算出値を対応する設定項目の設定値２７１等として記憶部２５に格納する。つまり、設定部２３は、アプリケーションサーバの所定の設定項目に設定値により設定を行う。
【００３４】
出力部２４は、入力値と算出値とを対応付けたログを作成し、ユーザ端末１の画面に出力する。
【００３５】
図６は、本発明の実施の形態２にかかるチューニング処理の流れを説明するためのフローチャートである。まず、ユーザは、ユーザ端末１の画面に表示された複数の入力項目に対応する各入力欄に、システムの仕様に関する仕様情報を入力する。そして、受付部２０は、ユーザ端末１から入力値を受け付ける（Ｓ１１）。
【００３６】
次に、入力値解析部２１は、入力値を解析して入力形式が正しいか否かを判定する（Ｓ１２）。入力形式が正しくない場合、ステップＳ１１へ戻る。このとき、受付部２０は、ユーザ端末１の画面に、入力形式が誤っている内容と再入力を促すメッセージを出力してもよい。
【００３７】
また、入力形式が正しい場合、入力値解析部２１は、入力値の振り分けを行う（Ｓ１３）。つまり、入力値解析部２１は、入力値が設定項目に直接設定できる値か、又は、別の設定項目の設定値を算出する必要のある値かを判定する。直接設定できる値である場合、入力値解析部２１は、設定部２３へその入力値を出力し、ステップＳ１５へ進む。一方、算出定義情報２６１等で用いられる値である場合、入力値解析部２１は、算出部２２へその入力値を出力し、ステップＳ１４へ進む。
【００３８】
算出部２２は、記憶部２５の中から入力値が用いられる算出定義情報を選択し、算出定義情報を用いて入力値から算出値を設定値として算出する（Ｓ１４）。
【００３９】
設定部２３は、入力値解析部２１から受け付けた入力値、又は、算出部２２により算出された算出値を、対応する設定項目の設定値として記憶部２５の設定値２７１等に格納、つまり、反映する（Ｓ１５）。その後、出力部２４は、入力値と算出値とを対応付けたログを作成し、ユーザ端末１の画面に出力する（Ｓ１６）。
【００４０】
このように、本実施の形態では、アプリケーションサーバをチューニングする際、ユーザはアプリケーションサーバ独自の設定項目の値を直接入力するのではなく、システムの仕様書に記載された具体的な値を入力すればよいため、仮にシステム構築の経験の浅いユーザでも又は初めて使用するアプリケーションサーバであっても、アプリケーションサーバに適切な設定を容易に行うことができる。その理由は、アプリケーションサーバ内部に、これらの入力項目を基に設定項目の値を算出する計算式を保持しており、設定値を自動的に算出して設定するためである。そのため、ユーザはマニュアルを熟読することなく、システムに応じた最適なチューニングを行うことができる。また、ユーザはアプリケーションサーバ独自の設定を意識することなく設定することができる。
【００４１】
また、計算式の拡張性を考慮して、算出ロジックを算出部２２内に実装せず、記憶部２５内に可読性のある形式のファイル、つまり、リソース情報として管理することで、算出ロジックの変更に柔軟に対応することができる。そのため、今後、計算式が増減した場合にも、大幅なソフトウェアの改造を実施する必要がなくなり、パッチ等で計算式を記載したファイルを更新するのみで対応できる。
【００４２】
尚、チューニングに際して、一部機能の起動停止やよりきめ細かなチューニングを要する場合などには、設定部２３が算出値を自動的に設定するのではなく、出力部２４はユーザ端末１に対して特定の設定項目に対して手動設定可能に出力してもよい。その際、出力部２４は、算出定義情報２６１等に基づいて共に変更すべき設定項目と、その設定項目の設定値を決める際にユーザが考慮すべき観点や計算式等を合わせて通知するとよい。これにより、ユーザは、チューニングの際に、共に変更すべき設定を知ることができ、設定変更による不具合を減らすことができる。また、考慮すべき観点等が通知されることで、ユーザは、設定値の妥当性を検証できる。
【００４３】
以上のことから本実施の形態により、運用管理者がシステムを構築する際に、アプリケーションサーバに対する知識の蓄積やマニュアルの読解に要する時間の削減、及び、チューニングミスによる障害を減少することもできる。
【００４４】
ここで、本実施の形態は次のように表現することもできる。すなわち、前記算出定義情報は、前記ミドルウェアの第２の設定項目における第２の設定値と、前記仕様情報とに基づいて前記第１の設定値を算出する条件が前記算出条件として定義され、前記受付部は、前記ユーザから前記第２の設定項目における第２の入力値をさらに受け付け、前記算出部は、前記第１の入力値及び前記第２の入力値から、前記算出条件を満たす前記第１の算出値を算出し、前記設定部は、前記第１の算出値を前記第１の設定値とし、前記第２の入力値を前記第２の設定値として前記ミドルウェアに設定する。これにより、より複雑な算出条件に対応できる。
【００４５】
また、前記受付部は、前記算出定義情報の更新情報をさらに受け付けた場合に、当該更新情報を前記算出定義情報として前記記憶部に格納することが望ましい。このように算出ロジックを差替え可能にして、ソフトウェアの改修規模を抑制できる。
【００４６】
また、前記情報処理装置は、前記算出部による算出後に、前記第１の入力値及び前記第１の算出値を含めたログを生成し、前記ユーザに対して出力する出力部をさらに備えるとよい。これにより、ユーザが変更内容を把握でき、設定項目の理解を深めることができる。
【００４７】
また、前記仕様情報は、前記ミドルウェアの第３の設定項目における第３の設定値を含み、前記受付部は、前記第３の設定値を前記第１の入力値として受け付け、前記算出部は、前記第１の入力値から、前記算出条件を満たす前記第１の算出値及び第２の算出値を算出し、前記設定部は、前記第１の算出値を前記第１の設定値とし、前記第２の算出値を前記第３の設定値として前記ミドルウェアに設定することができる。これにより、アプリケーションサーバの設定項目自体が仕様情報に含まれている場合に、仕様情報に規定されていない設定項目の値を導出して設定することができる。
【００４８】
＜実施の形態３＞
本発明の実施の形態３は、上述した実施の形態２の改良例である。図４で例示した算出定義情報における計算式のように、設定値の中には他の設定値との間に大小関係が決まっているものがある。そのため、ある設定項目における設定値をユーザが手動で変更したことで、その大小関係が崩れてしまうおそれがある。例えば、図４の計算式の例に示された（１Ｃ）server.resources.jdbc-datasource.{1}.loginTimeoutという設定値は、（１Ａ）server.resources.jdbc-datasource.{1}.connectRetryMax及び（１Ｂ）server.resources.jdbc-datasource.{1}.connectRetryIntervalの値と依存関係があるため、１Ｃの変更が１Ａ及び１Ｂに影響を与えてしまう。そこで、本実施の形態ではこのような場合を検出し、ユーザに対して関係する設定値を変更させるか、設定値を元に戻させるかを促すものとする。本実施の形態は、実施の形態２により既に設定項目に設定値が設定された後に、値を変更する場合が該当する。
【００４９】
すなわち、前記受付部は、前記ユーザから前記第２の設定項目における変更値をさらに受け付ける。そして、前記算出部は、前記第１の入力値と前記変更値により前記第１の設定値が前記算出条件を満たすか否かを判定する。また、前記設定部は、前記算出条件を満たす場合に、前記変更値を前記第２の設定値として前記ミドルウェアに設定する。そして、前記情報処理装置は、前記算出条件を満たさない場合に、前記ユーザに対してその旨を出力する出力部をさらに備える。これにより、ユーザは、第２の設定値の変更に伴い、第１の設定値が影響を受けることを知ることができ、設定変更による不具合を減らすことができる。尚、本実施の形態にかかるアプリケーションサーバ装置の構成は、図３と同等であるため図示及び詳細な説明を省略する。
【００５０】
図７は、本発明の実施の形態３にかかるチューニング処理の流れを説明するためのフローチャートである。尚、図６と同じ処理には同一の符号を付している。まず、受付部２０は、ユーザ端末１から設定項目に対する変更値を受け付ける（Ｓ２１）。そして、ステップＳ１２で、変更値の入力形式が正しいと判定された場合、入力値解析部２１は、変更値が他の設定値との依存関係があるか否かを判定する（Ｓ２３）。例えば、入力値解析部２１は、記憶部２５の中から、変更値における設定項目が含まれ、かつ、他の設定項目を含む算出条件が定義された算出定義情報２６１等を抽出する。
【００５１】
変更値が他の設定値との依存関係がある場合、入力値解析部２１は、抽出された算出定義情報において変更値が算出条件を満たすか否かを判定する（Ｓ２４）。ステップＳ２４において算出条件を満たす場合、又は、ステップＳ２３で依存関係がない場合、設定部２３は、変更値を設定値として反映し（Ｓ１５）、出力部２４はログを作成し画面出力する（Ｓ１６）。
【００５２】
ステップＳ２４において算出条件を満たさない場合、出力部２４はユーザ端末１に対して変更値の見直しを求めるメッセージを画面出力する（Ｓ２５）。そして、受付部２０は再度、ユーザ端末１から変更値を受け付けた場合（Ｓ１１）に、ステップＳ１２以降を繰り返す。
【００５３】
このように、本実施の形態では、ユーザがアプリケーションサーバの設定値を手動で変更した際に連動して変更すべき設定値をユーザに通知することで、設定変更による不具合を減らすことができる。
【００５４】
＜実施の形態４＞
本発明の実施の形態４は、上述した実施の形態２の改良例である。本実施の形態では、実施の形態２により既に設定項目に設定値が設定された後に、アプリケーションサーバを含む情報システムを稼働させた場合が該当する。そして、情報システムの稼働に伴い、他のサーバや本アプリケーションサーバから実際のメモリ消費量などの実測値が取得できる。そこで、本実施の形態では、情報システムの稼働に伴い、実測値を入力値として算出定義情報に適用することで、機械学習のように、設定値をその時点で最適なものに更新することができる。このように、運用時間に比例して、最適なチューニングを行うことができるため、チューニングミスによる障害を減らすことができる。
【００５５】
すなわち、前記情報処理装置は、前記情報システムから前記仕様情報に対応する実測値を取得する取得部をさらに備え、前記算出部は、前記実測値を前記第１の入力値として前記算出条件を満たす前記第１の算出値を算出するものである。尚、本実施の形態にかかるアプリケーションサーバ装置の構成は、図３と同等であるため図示及び詳細な説明を省略する。
【００５６】
図８は、本発明の実施の形態４にかかるチューニング処理の流れを説明するためのフローチャートである。尚、図６と同じ処理には同一の符号を付している。まず、受付部２０は、ユーザ端末１からサーバの仕様に関する実測値を取得する（Ｓ３１）。そして、入力値解析部２１は、実測値を入力値として振り分けを行う（Ｓ１３）。算出対象である場合、算出部２２は、算出定義情報を用いて入力値から設定値を算出する（Ｓ１４）。ステップＳ１４の後、又は、ステップＳ１３で直接設定と判定された場合、設定部２３は、設定値を反映し（Ｓ１５）、出力部２４は、設定値を変更したログを作成する（Ｓ３６）。その後、ステップＳ３１へ戻る。そして、一定の間隔で、ステップＳ３１以降を繰り返す。
【００５７】
＜その他の実施の形態＞
【００５８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００５９】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００６０】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
ミドルウェアを含む情報システムの仕様に関する仕様情報から、当該ミドルウェアの第１の設定項目における第１の設定値の算出条件を定義した算出定義情報を記憶する記憶部と、
ユーザから前記仕様情報を第１の入力値として受け付ける受付部と、
前記第１の入力値から、前記算出定義情報に定義された算出条件を満たす第１の算出値を算出する算出部と、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する設定部と、
を備える情報処理装置。
（付記２）
前記算出定義情報は、前記ミドルウェアの第２の設定項目における第２の設定値と、前記仕様情報とに基づいて前記第１の設定値を算出する条件が前記算出条件として定義され、
前記受付部は、前記ユーザから前記第２の設定項目における第２の入力値をさらに受け付け、
前記算出部は、前記第１の入力値及び前記第２の入力値から、前記算出条件を満たす前記第１の算出値を算出し、
前記設定部は、前記第１の算出値を前記第１の設定値とし、前記第２の入力値を前記第２の設定値として前記ミドルウェアに設定する
付記１に記載の情報処理装置。
（付記３）
前記受付部は、前記ユーザから前記第２の設定項目における変更値をさらに受け付け、
前記算出部は、前記第１の入力値と前記変更値により前記第１の設定値が前記算出条件を満たすか否かを判定し、
前記設定部は、前記算出条件を満たす場合に、前記変更値を前記第２の設定値として前記ミドルウェアに設定し、
前記情報処理装置は、
前記算出条件を満たさない場合に、前記ユーザに対してその旨を出力する出力部をさらに備える
付記２に記載の情報処理装置。
（付記４）
前記情報処理装置は、
前記情報システムから前記仕様情報に対応する実測値を取得する取得部をさらに備え、
前記算出部は、前記実測値を前記第１の入力値として前記算出条件を満たす前記第１の算出値を算出する
付記１又は２に記載の情報処理装置。
（付記５）
前記受付部は、前記算出定義情報の更新情報をさらに受け付けた場合に、当該更新情報を前記算出定義情報として前記記憶部に格納する
付記１乃至４のいずれか１項に記載の情報処理装置。
（付記６）
前記情報処理装置は、
前記算出部による算出後に、前記入力値及び前記第１の算出値を含めたログを生成し、前記ユーザに対して出力する出力部をさらに備える
付記１又は２に記載の情報処理装置。
（付記７）
前記仕様情報は、前記ミドルウェアの第３の設定項目における第３の設定値を含み、
前記受付部は、前記第３の設定値を前記第１の入力値として受け付け、
前記算出部は、前記第１の入力値から、前記算出条件を満たす前記第１の算出値及び前記第２の算出値を算出し、
前記設定部は、前記第１の算出値を前記第１の設定値とし、前記第２の算出値を前記第３の設定値として前記ミドルウェアに設定する
付記１に記載の情報処理装置。
（付記８）
ユーザから、ミドルウェアを含む情報システムの仕様に関する仕様情報を第１の入力値として受け付け、
前記第１の入力値から、前記仕様情報に基づく前記ミドルウェアの第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出し、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する
ミドルウェアの設定方法。
（付記９）
ユーザから、ミドルウェアを含む情報システムの仕様に関する仕様情報を第１の入力値として受け付ける処理と、
前記第１の入力値から、前記仕様情報に基づく前記ミドルウェアの第１の設定項目における第１の設定値の算出条件を満たす第１の算出値を算出する処理と、
前記第１の算出値を前記第１の設定値として前記ミドルウェアに設定する処理と、
をコンピュータに実行させる、ミドルウェアの設定プログラム。
【符号の説明】
【００６２】
１０００  情報システム
１００  情報処理装置
１１０  記憶部
１１１  算出定義情報
１２０  受付部
１３０  算出部
１４０  設定部
１５０  ミドルウェア
１６１  仕様情報
１６２  設定値
１  ユーザ端末
２  アプリケーションサーバ装置
２０  受付部
２１  入力値解析部
２２  算出部
２３  設定部
２４  出力部
２５  記憶部
２６１  算出定義情報
２６２  算出定義情報
２７１  設定値
２７２  設定値
【図１】
0006657677.tif 000002
【図２】
0006657677.tif 000003
【図３】
0006657677.tif 000004
【図４】
0006657677.tif 000005
【図５】
0006657677.tif 000006
【図６】
0006657677.tif 000007
【図７】
0006657677.tif 000008
【図８】
0006657677.tif 000009