(57)【要約】【課題】  【解決手段】  本発明の一実施形態によれば、システムはデータベース・アプリケーションを制御することができる。システムは、データベース・システムへのアクセスを提供するためのデータベース・アプリケーションと、少なくとも１つのプロセッサとを含む、コンピュータ・システムを備える。コンピュータ・システムは、データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求し、取り出されたアプリケーション特有の特性情報を、データベース・アプリケーションの動作を制御するためにデータベース・アプリケーションに適用する。本発明の実施形態は、データベース・アプリケーションを制御するための方法およびコンピュータ・プログラムを含む。【選択図】  図１
2013533525.tif 000002
【特許請求の範囲】
【請求項１】
データベース・アプリケーションを制御する方法であって、
データベース・システムへのアクセスを提供するデータベース・アプリケーションに関するアプリケーション特有の特性情報をデータ・リポジトリから取り出すステップと、
前記取り出されたアプリケーション特有の特性情報を、前記データベース・アプリケーションの動作を制御するために前記データベース・アプリケーションに適用するステップを含む、方法。
【請求項２】
前記アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、前記データベース・アプリケーションの照会言語実行モデルに関連付けられた１つまたは複数の特性を含む、請求項１に記載の方法。
【請求項３】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、前記アプリケーション特有の特性情報を適用するステップは、前記照会言語ステートメントの静的実行を示す前記アプリケーション特有の特性情報に応答して、前記最適化された照会言語ステートメントを前記データベース・システムに結合するステップを含む、請求項２に記載の方法。
【請求項４】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、前記アプリケーション特有の特性情報を適用するステップは、前記照会言語ステートメントの置換を示す前記アプリケーション特有の特性情報に応答して、前記データベース・アプリケーションの照会言語ステートメントを遮断するステップと、前記最適化された照会言語ステートメントに置換するステップを含む、請求項２または３に記載の方法。
【請求項５】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が許可された少なくとも１つの照会言語ステートメントの指示を含む、請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも１つの照会言語ステートメントの指示を含む、請求項２から５のいずれか一項に記載の方法。
【請求項７】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む、請求項２から６のいずれか一項に記載の方法。
【請求項８】
前記データベース・アプリケーションは、前記データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための前記プログラム・スタックの少なくとも１つの層に関連付けられた１つまたは複数の特性を含む、前記請求項のいずれか一項に記載の方法。
【請求項９】
前記アプリケーション特有の特性情報は、前記データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む、前記請求項のいずれか一項に記載の方法。
【請求項１０】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションによって維持される前記データベース・システムへの接続の数を制御するためのいくつかの接続を含む、前記請求項のいずれか一項に記載の方法。
【請求項１１】
前記アプリケーション特有の特性情報を取り出すステップは、
前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、
前記更新されたアプリケーション特有の特性情報を前記データ・リポジトリから取り出すステップと、
を含む、前記請求項のいずれか一項に記載の方法。
【請求項１２】
前記データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、前記アプリケーション特有の特性情報を取り出すステップは、各データベース・アプリケーションに関するアプリケーション特有の特性情報を、それぞれの識別子に基づいて前記データ・リポジトリから取り出すステップを含む、前記請求項のいずれか一項に記載の方法。
【請求項１３】
前記データベース・アプリケーションのうちの少なくとも２つは、異なるコンピュータ・システム上に常駐する、請求項１２に記載の方法。
【請求項１４】
前記アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む、前記請求項のいずれか一項に記載の方法。
【請求項１５】
前記データベース・アプリケーションは、前記データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する前記データベース・アプリケーションを構成するための前記アプリケーション特有の特性情報を含む、前記請求項のいずれか一項に記載の方法。
【請求項１６】
前記アプリケーション特有の特性情報を取り出すステップは、
前記データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、
前記実行された照会言語ステートメントを、前記性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップを含み、
前記アプリケーション特有の特性情報は、前記最適化された照会言語ステートメントを含む、前記請求項のいずれか一項に記載の方法。
【請求項１７】
データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含むコンピュータ・システムを備え、前記コンピュータ・システムは、
前記データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求するステップと、および、
前記データベース・アプリケーションの動作を制御するために、前記取り出されたアプリケーション特有の特性情報を前記データベース・アプリケーションに適用するステップを実行するように構成された少なくとも１つのプロセッサをさらに含む、データベース・アプリケーションを制御するためのシステム。
【請求項１８】
前記アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、前記データベース・アプリケーションの照会言語実行モデルに関連付けられた１つまたは複数の特性を含む、請求項１７に記載のシステム。
【請求項１９】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、前記最適化された照会言語ステートメントは、前記照会言語ステートメントの静的実行を示す前記アプリケーション特有の特性情報に応答して、前記データベース・システムに結合される、請求項１８に記載のシステム。
【請求項２０】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、さらに前記少なくとも１つのプロセッサは、前記照会言語ステートメントの置換を示す前記アプリケーション特有の特性情報に応答して、前記データベース・アプリケーションの照会言語ステートメントを遮断し、前記最適化された照会言語ステートメントに置換するように構成された、請求項１８または１９に記載のシステム。
【請求項２１】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が許可された少なくとも１つの照会言語ステートメントの指示を含む、請求項１８から２０のいずれか一項に記載のシステム。
【請求項２２】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも１つの照会言語ステートメントの指示を含む、請求項１８から２１のいずれか一項に記載のシステム。
【請求項２３】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む、請求項１８から２２のいずれか一項に記載のシステム。
【請求項２４】
前記データベース・アプリケーションは、前記データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための前記プログラム・スタックの少なくとも１つの層に関連付けられた１つまたは複数の特性を含む、請求項１７から２３のいずれか一項に記載のシステム。
【請求項２５】
前記アプリケーション特有の特性情報は、前記データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む、請求項１７から２４のいずれか一項に記載のシステム。
【請求項２６】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションによって維持される前記データベース・システムへの接続の数を制御するためのいくつかの接続を含む、請求項１７から２５のいずれか一項に記載のシステム。
【請求項２７】
さらに前記少なくとも１つのプロセッサは、
前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の前記データ・リポジトリからの取り出しを定期的に要求するように構成された、請求項１７から２６のいずれか一項に記載のシステム。
【請求項２８】
前記データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、前記システムは、それぞれがデータベース・アプリケーションを含む複数のコンピュータ・システムをさらに含み、少なくとも１つのプロセッサは、
対応するデータベース・アプリケーションに関するアプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すように構成された、
請求項１７から２７のいずれか一項に記載のシステム。
【請求項２９】
前記データ・リポジトリと通信する制御システムをさらに含み、
前記コンピュータ・システムから要求を受信し、前記データベース・アプリケーションに関する前記アプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すステップと、
前記取り出されたアプリケーション特有の特性情報を前記コンピュータ・システムに提供するステップを実行するように構成された、少なくとも１つのプロセッサを含む、請求項１７から２８のいずれか一項に記載のシステム。
【請求項３０】
前記データ・リポジトリと通信する制御システムをさらに含み、
前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、
前記データベース・アプリケーションに関する前記更新されたアプリケーション特有の特性情報を前記データ・リポジトリから取り出し、前記更新されたアプリケーション特有の特性情報を前記コンピュータ・システムに提供するステップを実行するように構成された、少なくとも１つのプロセッサを含む、請求項１７から２９のいずれか一項に記載のシステム。
【請求項３１】
前記アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む、請求項１７から３０のいずれか一項に記載のシステム。
【請求項３２】
前記データベース・アプリケーションは、前記データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する前記データベース・アプリケーションを構成するための前記アプリケーション特有の特性情報を含む、請求項１７から３１のいずれか一項に記載のシステム。
【請求項３３】
さらに前記少なくとも１つのプロセッサは、
前記データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、
前記実行された照会言語ステートメントを、前記性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けることであって、前記アプリケーション特有の特性情報は、前記最適化された照会言語ステートメントを含む、関連付けるステップを実行するように構成される、請求項１７から３２のいずれか一項に記載のシステム。
【請求項３４】
コンピュータ・システム内にロードされ、その上で実行された場合、前記コンピュータ・システムに、請求項１から１６のいずれか一項に従った方法のすべてのステップを実行させるために、コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム・コードを備える、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データベース・アプリケーションの制御に関し、より具体的に言えば、１つまたは複数のアプリケーション・サーバにわたる企業データベース・アプリケーションの集中制御に関する。
【背景技術】
【０００２】
企業は、通常、多数のデータベース・アプリケーションを有する。これらデータベース・アプリケーションのそれぞれが関連付けられた特性（properties）を定義し、そのうちの一部はアプリケーション特有であって、データ・アクセスに関するメカニズムを提供する。しかしながら、データベース・アプリケーションの制御および最適化のタスクは非常に複雑かつ面倒である。たとえば、データベース管理者は、複数のサーバおよび複数の地理にわたって、各データベース・アプリケーションを個別に最適化せざるを得ない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
サーバ上の接続特性を制御する現行のシステムは、複数の地理全体にわたる複数のサーバにまたがってこれらの特性を非効率的に制御するものである。さらにデータベース管理者には、ＳＱＬ実行モデルを集中制御する機能、実行されるＳＱＬを最適化および制限する機能、ならびに、集中ゲートウェイとして動作する中間システムなしに複数のクライアントからのオープン接続の数を制御する機能が欠如している。
【課題を解決するための手段】
【０００４】
したがって本発明は、第１の態様において、データベース・アプリケーションを制御する方法を提供する。方法は、データベース・システムへのアクセスを提供するデータベース・アプリケーションに関するアプリケーション特有の特性情報をデータ・リポジトリから取り出すステップと、および、当該取り出されたアプリケーション特有の特性情報を、当該データベース・アプリケーションの動作を制御するために当該データベース・アプリケーションに適用するステップを含む。好ましくは、当該アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、当該データベース・アプリケーションの照会言語実行モデルに関連付けられた１つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、当該アプリケーション特有の特性情報を適用するステップは、当該照会言語ステートメントの静的実行を示す当該アプリケーション特有の特性情報に応答して、当該最適化された照会言語ステートメントを当該データベース・システムに結合する（binding）ステップを含む。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、当該アプリケーション特有の特性情報を適用するステップは、当該照会言語ステートメントの置換を示す当該アプリケーション特有の特性情報に応答して、当該データベース・アプリケーションの照会言語ステートメントを遮断（intercepting）するステップと、当該最適化された照会言語ステートメントに置換するステップを含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が許可された少なくとも１つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも１つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む。好ましくは、当該データベース・アプリケーションは、当該データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための当該プログラム・スタックの少なくとも１つの層に関連付けられた１つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションによって維持される当該データベース・システムへの接続の数を制御するためのいくつかの接続を含む。好ましくは、当該アプリケーション特有の特性情報を取り出すステップは、当該データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決��するステップと、当該更新されたアプリケーション特有の特性情報を当該データ・リポジトリから取り出すステップを含む。好ましくは、当該データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、当該アプリケーション特有の特性情報を取り出すステップは、各データベース・アプリケーションに関するアプリケーション特有の特性情報をそれぞれの識別子に基づいて当該データ・リポジトリから取り出すステップを含む。好ましくは、当該データベース・アプリケーションのうちの少なくとも２つは、異なるコンピュータ・システム上に常駐する。好ましくは、当該アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む。
【０００５】
好ましくは、当該データベース・アプリケーションは、当該データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する当該データベース・アプリケーションを構成するための当該アプリケーション特有の特性情報を含む。好ましくは、当該アプリケーション特有の特性情報を取り出すステップは、当該データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、当該実行された照会言語ステートメントを、当該性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップを含む。当該アプリケーション特有の特性情報は、当該最適化された照会言語ステートメントを含む。
【０００６】
第２の態様では、データベース・アプリケーションを制御するためのシステムが提供される。当該システムは、データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含むコンピュータ・システムを備える。当該コンピュータ・システムは、当該データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求するステップと、当該データベース・アプリケーションの動作を制御するために、当該取り出されたアプリケーション特有の特性情報を当該データベース・アプリケーションに適用するステップを実行するように構成された少なくとも１つのプロセッサをさらに含む。
【０００７】
好ましくは、当該アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、当該データベース・アプリケーションの照会言語実行モデルに関連付けられた１つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、当該最適化された照会言語ステートメントは、当該照会言語ステートメントの静的実行を示す当該アプリケーション特有の特性情報に応答して、当該データベース・システムに結合される。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、さらに当該少なくとも１つのプロセッサは、当該照会言語ステートメントの置換を示す当該アプリケーション特有の特性情報に応答して、当該データベース・アプリケーションの照会言語ステートメントを遮断するステップと、当該最適化された照会言語ステートメントに置換するステップを実行するように構成される。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が許可された少なくとも１つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも１つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む。好ましくは、当該データベース・アプリケーションは、当該データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための当該プログラム・スタックの少なくとも１つの層に関連付けられた１つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションによって維持される当該データベース・システムへの接続の数を制御するためのいくつかの接続を含む。好ましくは、さらに当該少なくとも１つのプロセッサは、当該データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の当該データ・リポジトリからの取り出しを定期的に要求するように、構成される。好ましくは、当該データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、当該システムは、それぞれがデータベース・アプリケーションを含む複数のコンピュータ・システムをさらに含み、少なくとも１つのプロセッサは、対応するデータベース・アプリケーションに関するアプリケーション特有の特性情報を識別子に基づいて当該データ・リポジトリから取り出すように構成される。
【０００８】
システムは、当該データ・リポジトリと通信する制御システムをさらに含むことが可能であり、当該コンピュータ・システムから要求を受信し、当該データベース・アプリケーションに関する当該アプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すステップと、当該取り出されたアプリケーション特有の特性情報を当該コンピュータ・システムに提供するステップを実行するように構成された、少なくとも１つのプロセッサを含む。
【０００９】
システムは、当該データ・リポジトリと通信する制御システムをさらに含むことが可能であり、当該データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、当該データベース・アプリケーションに関する当該更新されたアプリケーション特有の特性情報を当該データ・リポジトリから取り出し、当該更新されたアプリケーション特有の特性情報を当該コンピュータ・システムに提供するステップを実行するように構成された、少なくとも１つのプロセッサを含む。好ましくは、当該アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む。好ましくは、当該データベース・アプリケーションは、当該データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する当該データベース・アプリケーションを構成するための当該アプリケーション特有の特性情報を含む。好ましくは、さらに当該少なくとも１つのプロセッサは、当該データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、当該実行された照会言語ステートメントを、当該性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップを実行するように構成される。当該アプリケーション特有の特性情報は、当該最適化された照会言語ステートメントを含む。
【００１０】
第３の態様では、コンピュータ・システム内にロードされ、その上で実行された場合、当該コンピュータ・システムに、第１の態様に従った方法のすべてのステップを実行させるために、コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム・コードを備える、コンピュータ・プログラムが提供される。
【００１１】
コンピュータ・プログラムは、それらで具体化されるコンピュータ読み取り可能プログラム・コードを有する、コンピュータ読み取り可能ストレージ媒体を備える、データベース・アプリケーションを制御するためのコンピュータ・プログラム製品の形で実装可能であり、コンピュータ読み取り可能プログラム・コードは、当該データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求すること、および、当該データベース・アプリケーションの動作を制御するために、当該取り出されたアプリケーション特有の特性情報を当該データベース・アプリケーションに適用することを、実行するように構成された、コンピュータ読み取り可能プログラム・コードを備える。
【００１２】
本発明の一実施形態によれば、システムはデータベース・アプリケーションの制御が実行可能である。システムは、データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含むコンピュータ・システムと、少なくとも１つのプロセッサとを備える。コンピュータ・システムは、データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求し、データベース・アプリケーションの動作を制御するために、取り出されたアプリケーション特有の特性情報をデータベース・アプリケーションに適用する。本発明の実施形態は、上記で説明したものとほぼ同じ方式でデータベース・アプリケーションを制御するための方法およびコンピュータ・プログラム製品をさらに含む。
【００１３】
次に、本発明の好ましい実施形態について、添付の図面を参照しながら、単なる例として説明する。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に従った、制御システムのための例示的トポロジを示す図である。
【図２】本発明の実施形態に従った、データベース接続情報を提供する例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。
【図３】本発明の実施形態に従った、データベース・アプリケーションに関する構成情報を提供する例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。
【図４】本発明の実施形態に従った、データベース・アプリケーションに関連付けられたアプリケーション特有の特性情報を提供する、例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。
【図５】本発明の実施形態に従った、データベース・アプリケーションに関するデータベース接続に関連する接続情報を提供する、例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。
【図６】本発明の実施形態に従った、データベース・アプリケーションに関する照会言語（たとえばＳＱＬなど）実行モデルに関連する情報を提供する、例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。
【図７】本発明の実施形態に従った、アプリケーション・サーバがデータベース・アプリケーションに関するアプリケーション特有の特性情報を取り出す方式を示す、手続き流れ図である。
【図８】本発明の実施形態に従った、データベース・アプリケーションに関するアプリケーション特有の特性情報が構成リポジトリから取り出され、アプリケーション・サーバに提供される方式を示す、手続き流れ図である。
【図９】本発明の実施形態に従った、データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報が構成リポジトリから取り出され、データベース・アプリケーション構成を更新するためにアプリケーション・サーバに提供される代替方式を示す、手続き流れ図である。
【図１０】本発明の実施形態に従った、照会言語実行（たとえばＳＱＬなど）が制御される方式を示す、手続き流れ図である。
【図１１】本発明の実施形態に従った、照会言語（たとえばＳＱＬなど）実行に関連する様々な性能情報を提供する例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。
【図１２】本発明の実施形態に従った、制御システムに関する代替の例示的トポロジを示す概略図である。
【発明を実施するための形態】
【００１５】
本発明の実施形態は、企業データベース・アプリケーション（たとえば、所望のアクションを実行するためにデータベースからのデータを処理するソフトウェア・アプリケーション、その処理に関してデータベースからデータを取り出すためにデータベース・アクセスを実施する対応する基礎となるプロセス、データベースへの接続、あるいは、照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべて、を含むかまたはこれに関連付けられる）を、集中的に制御するためのメカニズムに関連する。このメカニズムは、データベース接続特性と、データベース・アプリケーションに集中ゲートウェイを強制することのないデータベース・クライアントから所与のデータベースへのオープン接続の数との、集中制御を提供する。接続の数は、データベースの特性とすること、およびデータベースに許可されたオープン接続の数を示すことが可能であり、データベース・アプリケーションのアクションは、データベースへの接続の数に基づいて制御される。たとえば、データベース・アプリケーションは、データベースへの接続の数がアクティブであるかまたは使い尽くされているかに基づいて、異なるアクション方針を取ることができる。別の方法として、接続の数は、データベース・アプリケーションの特性とすること、および接続プール内での維持が許可されたオープン接続の数を示すことが可能である。
【００１６】
加えて、本発明の実施形態は、管理者（たとえばデータベース管理者、システム管理者、または他のユーザ）が、どの特定の照会言語（たとえばＳＱＬなど）ステートメントがデータベース内で実行されるか、およびそれらステートメントの実行方式を、確保、最適化、および制御できるようにするものである。集中制御は、管理者が、最適化された照会言語（たとえばＳＱＬなど）ステートメントをすべての企業データベース・アプリケーションに配布できるようにするために、照会言語（たとえばＳＱＬなど）実行モデル全体にわたって提供される。これらの最適化は、データベース・アプリケーションのソース・コードを修正することなく適用可能である。したがって、本発明の実施形態は、フレームワークを提供し、データベース・アプリケーションの集中制御および監視のための基礎となるプロトコルを定義する。
【００１７】
本発明の実施形態に従った制御システムに関する例示的トポロジが、図１に示されている。具体的には、制御システム１００は、１つまたは複数のアプリケーション・サーバ１０と制御サーバ３０とを含む。制御サーバは、以下で説明するように、アプリケーション・サーバ１０のデータベース・アプリケーションを集中的に制御する。制御サーバ３０は、アプリケーション・サーバ１０からリモートであり、ネットワーク７０を介して通信することができる。ネットワークは、任意数の任意の好適な通信媒体（たとえば、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、イントラネットなど）によって実装可能である。別の方法として、制御サーバ３０は、１つまたは複数のアプリケーション・サーバ１０に対してローカルであり、通信媒体７４を介して通信することができる。通信媒体は、任意の好適な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって実装可能である。
【００１８】
各アプリケーション・サーバ１０は、対応するトランザクションまたは他のデータベース５０に結合され、様々な機能またはアクションを実行するためのデータを取り出すためにデータベースにアクセスする。各アプリケーション・サーバ１０および対応するデータベース５０は、互いにリモートであり、ネットワーク７０を介して通信することができる。別の方法として、アプリケーション・サーバおよび対応するデータベースは互いにローカルであり、通信媒体７６を介して通信することができる。通信媒体は、任意の好適な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって実装可能である。データベースがネットワーク（たとえばＬＡＮまたはＷＡＮ）によってアクセス可能な場合、データベースは、データベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース（たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス（たとえばモデム、ネットワーク・カードなど）、またはそれらすべてを含む）、オプションの入力デバイス（たとえばキーボード、マウス、または他の入力デバイス）、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア（たとえばサーバ／通信ソフトウェアなど）が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
【００１９】
各アプリケーション・サーバ１０は、１つまたは複数のデータベース・アプリケーション８０（たとえば、所望のアクションを実行するために対応するデータベース５０からのデータを処理するソフトウェア・アプリケーション、その処理に関して対応するデータベース５０からデータを取り出すためにデータベース・アクセスを実施する対応する基礎となるプロセス、対応するデータベース５０への接続、あるいは、照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべて、を含むかまたはこれに関連付けられる）を含む。データベース５０からのデータを処理するソフトウェア・アプリケーション、および対応する基礎となるプロセス（たとえばデータベース接続の管理を含む）は、プログラム・スタック８１内に提供される。各アプリケーション・サーバ１０は、対応するデータベース５０へのアクセスを提供し、照会言語（たとえばＳＱＬなど）実行モデルを実装するために協働する、複数の層８２を含む、プログラム・スタック８１をそれぞれが備える、１つまたは複数のデータベース・アプリケーション８０を含む。プログラム・スタック８１は、データベースへの直接アクセス（たとえばJava Database Connectivity（ＪＤＢＣ）またはIBM DB2 Call Level Interface（ＣＬＩ））または間接的データベース・アクセス（たとえばIBM pureQuery、Java Persistent API（ＪＰＡ）、Hibernateなどを含む様々なフレームワークを介して）を提供する、層８２を含むことができる。単なる例として、プログラム・スタック層８２は、ビジネス論理１２、マッピング論理１４、データ・アクセス論理１６、接続プール１８、構成制御２０、およびデータベース・ドライバ２２を含む。ビジネス論理１２は、ビジネスまたは特定の実装のために他の機能を提供するための、対応するデータベース５０からのデータを処理するソフトウェア・アプリケーションを含む。これらのソフトウェア・アプリケーションは、通常、対応するデータベース５０からデータを取り出して処理するための、１つまたは複数のデータベース照会を含む。マッピング論理１４は、データベース・テーブルを、特定のコンピュータ・プログラミング言語（たとえば、Ｊａｖａ、Ｃ＋＋など）のオブジェクトにマッピングする。たとえば、ビジネス論理１２および関係データベース５０のＪａｖａ実装に関して、マッピング論理１４は、ビジネス論理１２のＪａｖａベース・オブジェクトをデータベース５０の関係データベース・テーブルにマッピングすることができる。マッピング論理は、Ｊａｖａベース・オブジェクトを伴うビジネス論理１２からの照会が、データベース５０の関係テーブルから適切なデータを取り出せるようにし、さらに、それらの関係データベース・テーブルから取り出されたデータを、Ｊａｖａベース・オブジェクトに関してビジネス論理１２に提供する。言い換えれば、マッピング論理は、Ｊａｖａベースのビジネス論理とデータベースとの間に、データ管理互換性を提供する。マッピング論理１４は、任意の所望のコンピュータ・プログラミング言語に関する、任意の好適なマッピング・ツールまたはフレームワーク（たとえば、Java Persistent API（ＪＰＡ）、Hibernateなど）を含むことができる。
【００２０】
データ・アクセス論理１６は、データベースにアクセスするための方式（たとえば、規則または基準、接続または他の情報など）を提供するが、接続プール１８は接続割振り管理機能（たとえば、データベースへの接続数の管理など）を提供する。接続の数は、データベースの特性とすること、および可能なオープン接続の数をデータベースに示すことが可能であり、データベース・アプリケーションのアクションは、データベースへの接続の数に基づいて制御される。たとえば、データベース・アプリケーションは、データベースへの接続の数がアクティブであるかまたは使い尽くされているかに基づいて、異なるアクション方針を取ることができる。別の方法として、接続の数は、データベース・アプリケーションの特性とすること、および接続プールによる維持が許可されたオープン接続の数を示すことが可能である。構成制御２０は、データベース・アプリケーションを構成し、以下で説明するように、管理者（たとえばデータベース管理者、システム管理者、または他のユーザ）の指定に従って、データベース照会の実行を容易にする（たとえば、IBM pureQuryまたは他のフレームワークを含むことができる）ために、
制御サーバ３０と通信する。データベース・ドライバ２２は、データベース・アクセスのために対応するデータベース５０との実際の通信を提供する。データベース・ドライバ２２は、Ｊａｖａデータベース・ドライバ（たとえばＪＤＢＣなど）、あるいは、任意の好適なコンピュータ・プログラミング言語に適合する他のドライバまたはメカニズムを含むことができる。ビジネス論理１２、マッピング論理１４、データ・アクセス論理１６、接続プール１８、構成制御２０、およびデータベース・ドライバ２２は、ソフトウェアあるいはハードウェアまたはその両方のモジュールまたはユニットによって、実装可能である。
【００２１】
各データベース・アプリケーション８０は、対応するデータベース５０がアクセスされる方式を制御する様々な特性またはパラメータを含む、アプリケーション特有の特性情報に関連付けられる。データベース・アプリケーションのアプリケーション特有の特性情報は、アプリケーション・サーバ１０あるいは１つまたは複数のプログラム・スタック層８２またはその両方に関連するものとすることができる。単なる例として、
アプリケーション特有の特性情報の特性またはパラメータは、
アプリケーション・サーバ１０が、maxconnections（たとえば、データ・ソース接続プールに対して作成される最大数の接続）、minconnections（たとえば、データ・ソース接続プールに対する最小数の接続）、unusedtimeout（たとえば、オープン接続がクローズされるまでに未使用のままであることが許可される時間量を表すタイムアウト値）、reaptime（たとえば、接続プール保守スレッドの実行間の時間量を秒単位で指定する）などを含むことが可能であり、マッピング論理１４が、ＪＰＡまたはHibernate実装に関して、hibernate.cache.use_query_cache（たとえば、照会結果がHibernateエンジンによってキャッシュに入れられるかどうかを指定する）を含むことが可能であり、データ・アクセス論理１６が、ＪＤＢＣまたはIBM DB2 CLI実装に関して、databaseurl（たとえば、データベース接続情報（たとえばホスト、ポート、データベース名））、deferprepares（たとえば、照会言語ステートメント準備が、そのステートメントの実行まで延期される）、fetchsize（たとえば、照会言語ステートメントに使用されるフェッチ・サイズを指定する）など、およびIBM pureQuery実装に関して、captureMode（たとえば、取り込み（capture）の有効化および無効化を制御する）、executionMode（たとえば、照会言語ステートメントの実行が静的であるか動的であるかを指定する）、allowDynamicsSQL（たとえば、動的ＳＱＬが許可されるかどうかを指定する）などを、含むことが可能であること、に関する。ビジネス論理１２に関するアプリケーション特有の特性情報は、各特定の実装ごとに変化し、その特定の実装に好適な任意の特性またはパラメータを含むことができる。
【００２２】
加えて、各データベース・アプリケーション８０は（たとえば、プログラム・スタック８１を介して）、データベース照会が照会言語（たとえばＳＱＬなど）ステートメントの形で実行される方式を制御する特性またはパラメータを含む、アプリケーション特有の特性情報に関連付けられた実行モデルを実装する。実行モデルおよび関連付けられた特性またはパラメータは、データベース・アプリケーションからの照会言語（たとえばＳＱＬなど）の実行を制御するための、構成制御２０のフレームワーク（たとえば、IBM pureQueryなど）の特定の機能に関する。照会言語の実行に関するアプリケーション特有の特性情報の例示的特性またはパラメータは、照会言語（たとえばＳＱＬなど）の動的または静的な実行、およびオリジナルまたは最適化された照会言語（たとえばＳＱＬなど）の実行を、示すことができる。照会言語の最適化は、照会言語（たとえばＳＱＬなど）ステートメントの不十分な実行を、ステートメントのより良い実行に置き換えること、または、照会言語（たとえばＳＱＬなど）ステートメント・パラメータを、パラメータ・マーカに置き換えることを含むことが可能であり、これによってステートメントをキャッシュに入れることおよび再使用が実行可能になる。したがって、前述の様々な特性またはパラメータに関する値を含むアプリケーション特有の特性情報は、データベース・アプリケーションに関する構成を提供し、データベースがアクセスされ照会言語（たとえばＳＱＬなど）ステートメントが実行される方式を制御する。
【００２３】
アプリケーション・サーバ１０は、好ましくは、ディスプレイまたはモニタ、ベース（たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス（たとえばモデム、ネットワーク・カードなど）、またはそれらすべてを含む）、オプションの入力デバイス（たとえばキーボード、マウス、または他の入力デバイス）、および、任意の市販の（たとえばサーバ／通信ソフトウェアなど）あるいは、以下で説明するようなデータベース・アプリケーションを制御するための特別注文の（たとえば制御ソフトウェアなど）、またはその両方のソフトウェアが装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。トランザクション・データベース５０は、任意数の任意タイプの従来型またはその他のデータベース、データ・ストア、またはストレージ構造（たとえばファイル、データベース、データ構造など）によって実装可能である。
【００２４】
企業は、通常、多数のデータベース・アプリケーションを有し、ここで各データベース・アプリケーションは、前述のように、複数のサーバおよび複数の地理にわたって、個別に最適化される。しかしながら本発明の実施形態は、複数のサーバにわたってデータベース・アプリケーションを集中的に構成および制御するための方式を提供する。この集中制御機能を提供するために、制御サーバ３０は、管理者（たとえばデータベース管理者、システム管理者、または他のユーザ）が、それらのデータベース・アプリケーション（たとえば、アプリケーション・サーバ１０の特性、対応するプログラム・スタックの層８２、データベース接続、あるいは照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべて）に関連付けられたアプリケーション特有の特性情報のうちのいずれかの、定義、入力、あるいは修正、またはそれらすべてを実行することによって、様々なアプリケーション・サーバの１つまたは複数のデータベース・アプリケーションを構成できるようにする。入力または修正されたアプリケーション特有の特性情報は、対応するアプリケーション・サーバに提供され、データベース・アプリケーションを構成するために、その後適用される。
【００２５】
具体的には、制御サーバ３０は、データベース・アプリケーションに関するアプリケーション特有の特性またはパラメータ情報を格納する、構成リポジトリ６０に結合される。制御サーバは、以下で説明するように、対応するデータベース・アプリケーション８０を構成および制御するために、構成リポジトリ６０にアクセスし、アプリケーション特有の特性情報を取り出して、１つまたは複数のアプリケーション・サーバ１０に提供する。制御サーバ３０および構成リポジトリ６０は、互いにリモートであり、ネットワーク７０を介して通信することができる。別の方法として、制御サーバ３０は構成リポジトリ６０に対してローカルであり、通信媒体７８を介して通信することができる。通信媒体は、任意の好適な通信媒体（たとえば。ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって実装可能である。構成リポジトリ６０がネットワーク（たとえばＬＡＮまたはＷＡＮ）によってアクセス可能である場合、リポジトリは、データベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース（たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス（たとえばモデム、ネットワーク・カードなど）、またはそれらすべてを含む）、オプションの入力デバイス（たとえばキーボード、マウス、または他の入力デバイス）、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア（たとえばサーバ／通信ソフトウェアなど）が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
【００２６】
制御サーバ３０は、管理者が、アプリケーション特有の特性情報に関して、データベース・アプリケーション特性の論理的および階層的なグループ化を定義できるようにするものである。特性は、データ・ソース、データベース、特定の管理者、およびワークステーションを含む、様々な基準に基づいてグループ化することができる。
【００２７】
構成制御２０は、対応するデータベース・アプリケーションに関して、そのデータベース・アプリケーションを構成するために、構成リポジトリ６０からアプリケーション特有の特性情報を取り出すために制御サーバ３０との通信を確立する。本発明の実施形態は、異種のアプリケーション・サーバ上で実行可能であり、任意のコンピュータ・プログラミング言語で作成された異種の構成制御コンポーネント（configuration control components）をサポートすることができる。アプリケーションと制御サーバとの間の通信は、同期または非同期の通信を介して達成可能である。取り出されたアプリケーション特有の特性情報は、アプリケーション・サーバ１０上に対応するデータベース・アプリケーションを構成するために使用される。したがって、制御サーバ３０は、コントローラ３２および構成マネージャ・サービス３４を含む。コントローラ３２は、アプリケーション・サーバ１０の構成制御２０と通信し、対応するデータベース・アプリケーションに関する要求されたアプリケーション特有の特性情報を構成リポジトリ６０から取り出すために、構成マネージャ・サービス３４と協働する。取り出されたアプリケーション特有の特性情報は、コントローラによって要求側アプリケーション・サーバに転送される。
【００２８】
構成マネージャ・サービス３４は、構成リポジトリ６０にアクセスし、アプリケーション特有の特性およびその他の情報を取り出して、その内部に格納する。さらに、構成マネージャ・サービスは、構成マネージャ・インターフェース４０を介して、１つまたは複数のエンド・ユーザ・システム９０と対話する。構成マネージャ・インターフェースは、管理者（データベース管理者、システム管理者、または他のユーザ）が、以下で説明するように、アプリケーション・サーバ１０のデータベース・アプリケーションを制御するために、構成リポジトリ６０内のアプリケーション特有の特性情報の表示あるいは修正、またはその両方を実行できるようにするものである。構成マネージャ・インターフェース４０は、構成マネージャ・サービス３４によって生成され、エンド・ユーザ・システム９０上で管理者に提示することができる。エンド・ユーザ・システム９０および制御サーバ３０は互いにリモートであり、ネットワーク７０を介して通信することができる。別の方法として、エンド・ユーザ・システム９０は制御サーバ３０に対してローカルとし、通信媒体７９を介して通信することができる。通信媒体は、任意の好適な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって、実装可能である。コントローラ３２、構成マネージャ・サービス３４、および構成マネージャ・インターフェース４０は、ソフトウェアあるいはハードウェアまたはその両方のモジュールまたはユニットの、任意の組み合わせによって実装可能である。
【００２９】
制御サーバ３０およびエンド・ユーザ・システム９０は、好ましくは、ディスプレイまたはモニタ、ベース（たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス（たとえばモデム、ネットワーク・カードなど）、またはそれらすべてを含む）、オプションの入力デバイス（たとえばキーボード、マウス、または他の入力デバイス）、および、任意の市販の（たとえばサーバ、ブラウザ、または他の通信ソフトウェアなど）あるいは、以下で説明するようなデータベース・アプリケーションを制御するための特別注文の（たとえば制御ソフトウェアなど）、またはその両方のソフトウェアが装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。構成リポジトリ６０は、任意数の任意タイプの従来型または他のデータベース、データ・ストア、またはストレージ構造（たとえば、ファイル、データベース、データ構造など）によって、実装可能である。
【００３０】
構成マネージャ・インターフェース４０は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、アプリケーション・サーバ１０のデータベース・アプリケーション８０を構成および制御するために、構成リポジトリ６０内のアプリケーション特有の特性情報の表示、定義、入力、あるいは修正、またはそれらすべてを実行できるようにするものである。各データベース・アプリケーション８０には固有の識別子が割り当てられ、データベース・アプリケーションに関する構成を提供するアプリケーション特有の特性情報は、構成識別子（たとえば識別子１１３（図３〜６））に基づいて、構成リポジトリ６０内に格納される。このように、構成識別子は、データベース・アプリケーションに関する所望の構成を提供するために、適切なアプリケーション特有の特性情報を取り出すためのインデックスまたはキーとして機能する。たとえば、構成識別子は、構成リポジトリ６０内のアプリケーション特有の特性情報の位置を示す、ファイル名、ポインタ、または他のインジケータを取り出すために使用可能である（たとえば、構成識別子に基づいてアプリケーション特有の特性情報の位置を提供するために、ルックアップ・テーブルが採用可能であるなど）。別の方法として、構成識別子は、ファイル名、ポインタ、または他のインジケータとするか、あるいは、アプリケーション特有の特性情報に関する位置情報を含むデータベース・テーブル内へのインデックスとすることができる（たとえば、構成識別子は、データベース・テーブル内のキー・フィールドとすることができるなど）。
【００３１】
本発明の実施形態では、データベース・アプリケーションは単一の構成に関連付けられ、構成識別子はデータベース・アプリケーション識別子と同じとすることができる。たとえば、データベース・アプリケーション識別子は論理名を含み、（複数の層を備えるプログラム・スタックを含む）データベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報を識別することができる。管理者は、データベース・アプリケーションに関する論理名の知識を有すること、および、情報の入力中に、構成を定義するアプリケーション特有の特性情報をデータベース・アプリケーションに関係付けるために、構成識別子になる論理名（またはデータベース・アプリケーション識別子）を提供することができる。
【００３２】
別の方法として、管理者は、データベース・アプリケーションの１つまたは複数の属性（たとえばＵＲＬまたはアドレスなど）を入力することが可能であり、構成マネージャ・サービス３４は、属性に基づいて（たとえば、アプリケーション・サーバと通信することによって、データベース・アプリケーション属性および論理名を含むルックアップまたは他のテーブルを介して、など）、所望のデータベース・アプリケーションに関する論理名（またはデータベース・アプリケーション識別子）を確認することが可能である。この場合、決定された論理名（またはデータベース・アプリケーション識別子）が構成識別子になり、構成を定義するアプリケーション特有の特性情報を所望のデータベース・アプリケーションに関連付けるために使用される。
【００３３】
したがって、データベース・アプリケーション識別子は、データベース・アプリケーション８０に関する構成を定義する適切なアプリケーション特有の特性情報を構成リポジトリ６０から取り出すために、アプリケーション・サーバ１０によって使用可能である。たとえば、アプリケーション・サーバ１０上のデータベース・アプリケーション８０に論理名「Ａ」を割り当てることができる。構成リポジトリ６０内でそのデータベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報に関するルックアップは、論理名「Ａ」（データベース・アプリケーション識別子および構成識別子の両方である）に基づいて実行され、結果として生じるアプリケーション特有の特性情報が（たとえば、データベース・アプリケーションのプログラム・スタック内の層に）適用される。同様に、同じかまたは異なるアプリケーション・サーバ上の別のデータベース・アプリケーションに論理名「Ｂ」を割り当てることができる。このその他のデータベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報に関するルックアップは、論理名「Ｂ」（データベース・アプリケーション識別子および構成識別子の両方である）に基づいて実行され、結果として生じるアプリケーション特有の特性情報が（たとえば、他のデータベース・アプリケーションのプログラム・スタック内の層に）適用される。
【００３４】
本発明の実施形態では、データベース・アプリケーション８０に関して複数の構成を定義することができる。この場合、アプリケーション・サーバ１０は、構成識別子１１３を決定するためにデータベース・アプリケーション識別子および追加の情報を提供し、構成リポジトリ６０から特定の構成を定義する適切なアプリケーション特有の特性情報を取り出すことができる。例を挙げると、追加の情報は、所望の構成の属性（たとえば、特性の記述、構成名、（最も新しいもの、最も古いものなどを取り出すために）作成または修正の日付など）を含むことが可能であり、構成マネージャ・サービス３４は、データベース・アプリケーション識別子および属性に基づいて（たとえば、構成属性および論理名を含むルックアップまたは他のテーブルなどを介して）、所望の構成識別子１１３を決定することが可能である。加えて、構成識別子１１３は、追加の情報がデータベース・アプリケーション識別子に付加されるかまたは他の方法でこれに組み込まれた状態の、データベース・アプリケーション識別子を含むことが可能であり、ここで構成識別子は、所望の構成を定義するアプリケーション特有の特性情報を取り出すために、アプリケーション・サーバによって決定および提供することができる。
【００３５】
別の方法として、それぞれのデータベース・アプリケーション構成を定義するアプリケーション特有の特性情報を、それぞれ、その構成に関するアプリケーション特有の特性情報をデータベース・アプリケーションに関連付ける、その構成に特有の（たとえばデータベース・アプリケーション識別子とは無関係であり、構成の作成／修正中に割り当てられる）構成識別子１１３に関連付けることができる。この場合、構成識別子１１３は、その構成に関するアプリケーション特有の特性情報を取り出すために、（データベース・アプリケーション識別子を伴って、または伴わずに）アプリケーション・サーバ１０によって提供可能である。あるいは構成識別子１１３は、データベース・アプリケーション識別子に付加されるかまたはこれに組み込まれた、この特有の構成識別子を含むことが可能であり、ここで構成識別子１１３は、構成に関するアプリケーション特有の特性情報を取り出すために、アプリケーション・サーバによって決定および提供することができる。
【００３６】
構成マネージャ・インターフェース４０は、好ましくは、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）と対話するため、およびデータベース・アプリケーションを構成するために、複数のグラフィカル・ユーザ・インターフェース画面を使用する。構成マネージャ・インターフェースは、構成マネージャ・サービス３４によって生成され、エンド・ユーザ・システム９０上で管理者に提示することができる。データベース接続に関連する情報を提供する例示的インターフェース画面が、図２に示されている。具体的に言えば、インターフェース画面１０５は、企業システム内のデータベース接続に関する情報を提供する。インターフェース画面は、様々な情報を表示するためにそれぞれが管理者によって選択可能な、複数のタブ１１５を含む。例を挙げると、タブ１１５は、Welcome、Manage Database Connections、およびData Client Managementを含む。インターフェース画面１０５は、ホスト領域１１１および作業領域１１７をさらに含み、Manage Database Connectionsタブ１１５の作動に応答して表示される、例示的画面を反映する。ホスト領域１１１は、管理者による選択のために、ディレクトリ・タイプ構造内に様々なホストを提供する。管理者が（たとえばマウスまたは他の入力デバイスを介して）ホストを選択すると、選択されたホストに関する接続情報が構成リポジトリ６０から取り出され、作業領域１１７内に表示される。例を挙げると、作業領域１１７は、Name、Data ServerType、Database Name、User ID、Host Name、およびPort Numberを含む列を備えた、テーブルを含む。Nameフィールドは、データベース接続の名前を含む。Data Server Typeフィールドは、データベース・サーバのタイプ（たとえば採用されるサーバ・ソフトウェアなど）を提供する。Database Nameフィールドはデータベースの名前を含み、User IDフィールドはユーザの識別を含む。Host Nameフィールドはホスト・コンピュータ・システムの名前（たとえばＵＲＬまたはアドレスなど）を含み、Port Numberフィールドは接続に使用されているポートを含む。
【００３７】
テーブルの各行は、選択された項目に関する情報（たとえば、図２に表示されるような、選択されたホストcfgmgr.com）を提供する。インターフェース画面１０５は、管理者が、制御システムに新しいデータベース接続を追加（または登録）し、その後、アクチュエータ１０７を介して、それらのデータベース接続の表示、編集、あるいは削除、またはそれらすべてを実行できるようにするものである。データベース接続に関して管理者によって入力された情報は、構成マネージャ・サービス３４によって構成リポジトリ６０内に格納される。
【００３８】
データベース・アプリケーションに関する構成情報を提供する例示的インターフェース画面が、図３に示されている。具体的に言えば、インターフェース画面１１０は、アプリケーション・サーバ１０上のデータベース・アプリケーションの構成に関する情報を提供する。インターフェース画面１１０は、Data Client Managementタブ１１５の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域１１２および作業領域１１４を含む。構成領域１１２は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）による選択のために、データベース・アプリケーションの様々な構成を提供する。構成は、アプリケーション特有の特性情報を含み、構成バージョン１１９と、前述のように構成をデータベース・アプリケーションに関連付ける構成識別子またはキー１１３とによって、指示される。作業領域１１４は、選択された構成に関連する様々な情報を表示するために、それぞれが管理者によって選択可能な、複数のタブ１１６を含む。例を挙げると、タブ１１６は、Configuration、Properties、Connections、およびＳＱＬを含む。さらにインターフェース画面１１０は、Configurationタブ１１６の作動に応答して表示される、例示的画面を反映する。Configurationタブは、作業領域１１４内での選択された構成の表示を可能にする。
【００３９】
管理者が（たとえばマウスまたは他の入力デバイスを介して）構成を選択すると、選択された構成に関する情報が構成リポジトリ６０から取り出され、作業領域１１４内に表示される。例を挙げると、作業領域１１４は、Version、Client Refresh Update、Description、Contactname、Contact Locator、およびContact descriptionとラベル表示されたフィールドを含む。Versionフィールドは構成のバージョンを含み、Client Refresh Updateフィールドは、情報をリフレッシュするための時間間隔と、対応する時間単位（たとえば分など）を含む。Descriptionフィールドは、選択された構成の説明を含む。Contact name、Contact Locator、およびContactdescriptionのフィールドは、それぞれ、連絡担当者（たとえば、構成のバージョンを作成／修正するか、またはその責務を負う、管理者など）の名前、対応する通知情報（たとえば電子メール（Ｅメール）および対応する電子メール・アドレスなど）を連絡担当者に通知する方式、および連絡担当者の説明（たとえば役職、職責など）を含む。様々なフィールド内の情報は、選択された構成に関する情報を更新するために、管理者によって入力あるいは修正、またはその両方を実行することが可能であり、この情報は、構成マネージャ・サービス３４によって構成リポジトリ６０内に格納される。
【００４０】
管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、データベース・アプリケーションのアプリケーション特有の特性情報の表示、定義、あるいは編集、またはそれらすべてを実行できるようにする、例示的インターフェース画面が、図４に示されている。具体的に言えば、インターフェース画面１２０は、前述のインターフェース画面１１０と同様であり、データベース・アプリケーションのアプリケーション特有の特性情報に関する情報を提供する。インターフェース画面１２０は、Data Client Managementタブ１１５およびPropertiesタブ１１６の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域１１２および作業領域１１４を含む。構成領域１１２は、管理者による選択のためにデータベース・アプリケーションの様々な構成を提供し、構成は、前述のように、構成識別子またはキー１１３および構成バージョン１１９によって指示される。管理者が（たとえば、マウスまたは他の入力デバイスを介して）構成を選択すると、選択された構成に関するアプリケーション特有の特性情報が構成リポジトリ６０から取り出され、作業領域１１４内に表示される。例を挙げると、作業領域１１４は、Driver Type、Name、Value、Override、Type、およびDescriptionを含む列を備えたテーブルを表示する。Driver Typeフィールドはドライバのタイプを含み、Nameフィールドはアプリケーション特有の特性情報内の特性の名前を含む。Valueフィールドは、アプリケーション特有の特性情報内の特性の値を含む。Typeフィールドは特性値のタイプ（たとえば整数、文字など）を含み、Descriptionフィールドはアプリケーション特有の特性情報内の特性の説明を含む。
【００４１】
Overrideフィールドは、データベース・アプリケーションに対して使用されることになる特性値を決定する。アプリケーション特有の特性情報内の特性に対してオーバーライドが実行可能になった（たとえば、特性に対するチェック記号（たとえば、図４に表示されるようなfetchSizeおよびuseTransactionR）が提示される）場合、テーブル内に指定されたその特性に関する値が、データベース・アプリケーション構成に使用される。アプリケーション特有の特性情報内の特性に対してオーバーライドが実行不可になった（たとえば、特性に対するチェック記号（図４に表示されるようなaccountingInter）がない）場合、データベース・アプリケーションによって設定された特性に関する値（たとえば初期またはデフォルトの値）が使用される。しかしながら、オーバーライドが実行不可であるアプリケーション特有の特性情報内の特性に関する値が、データベース・アプリケーションによって設定されていない（たとえば、特性に対する初期またはデフォルトの値がない）場合、その特性に関してテーブル内に指定された値が使用される。
【００４２】
テーブルの各行は、選択された項目に関するアプリケーション特有の特性情報を提供する（たとえばＪＣＣドライバは、図４に示されるように、３６００の値を伴いオーバーライドが実行不可のaccountingInter、２５の値を伴いオーバーライドが実行可能なfetchSize、およびtrueの値を伴いオーバーライドが実行可能なuseTransactionRという、特性を含む）。インターフェース画面１２０は、さらに管理者が、アプリケーション特有の特性情報内の特性の入力あるいは修正またはその両方を実行できるようにするものである。これは、様々なアクチュエータの使用によって達成される。具体的には、保存アクチュエータ１２１は入力された特性値の格納を容易にし、削除アクチュエータ１２７はテーブルから選択された特性の削除を実行可能にする。新規アクチュエータ１２３は、テーブルから選択された項目の新しい特性に関する値を定義および入力するために、対応するフィールドを伴う入力ウィンドウの表示を容易にする。編集アクチュエータ１２５は、選択された特性の値を変更できるようにする。特性および対応する値を含むアプリケーション特有の特性情報は、構成マネージャ・サービス３４によって構成リポジトリ６０内に格納される。
【００４３】
データベース・アプリケーションに関する接続情報を提供する例示的インターフェース画面が、図５に示されている。具体的に言えば、インターフェース画面１３０は、前述のインターフェース画面１１０、１２０と同様であり、選択されたデータベース・アプリケーション構成に対するデータベース接続に関する情報を提供する。インターフェース画面１３０は、Data Client Managementタブ１１５およびConnectionsタブ１１６の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域１１２および作業領域１１４を含む。構成領域１１２は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）による選択のために、データベース・アプリケーションの様々な構成を提供し、構成は、前述のように、構成識別子またはキー１１３および構成バージョン１１９によって指示される。管理者が（たとえばマウスまたは他の入力デバイスを介して）構成を選択すると、選択された構成に関する接続情報が構成リポジトリ６０から取り出され、作業領域１１４内に表示される。例を挙げると、作業領域１１４は、ConnectionおよびDatabaseを含む列を伴うテーブルを表示する。Connectionフィールドはデータベース・アプリケーション接続の名前を含み、Databaseフィールドは、接続の通信リンクの確立先であるデータベースを含む。
【００４４】
テーブルの各行は、選択された項目に関する情報を提供する（たとえば、REPO-ConnectionはＲＥＰＯデータベースに関連付けられる）。インターフェース画面１３０は、管理者が、データベース・アプリケーションから選択されたデータベースまでの作成アクチュエータ１３１を介した接続を作成できるようにするものである。作成アクチュエータは、新しい接続に関する情報を定義および入力するための対応するフィールドを備えた入力ウィンドウの表示を容易にする。作成された接続に関する特性および対応する値には、前述された方式とほぼ同じ方式で、１つまたは複数のインターフェース画面を介した表示、入力、あるいは修正、またはそれらすべてを実行することができる。接続情報および対応するアプリケーション特有の特性情報は、構成マネージャ・サービス３４によって構成リポジトリ６０内に格納される。
【００４５】
さらに本発明の実施形態は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、アプリケーション・サーバ側の照会言語（たとえばＳＱＬなど）実行モデルに影響を与えられるようにするものである。実行モデルおよび関連付けられた特性またはパラメータは、データベース・アプリケーションから実行される照会言語（たとえばＳＱＬなど）を制御するための構成制御２０のフレームワーク（たとえばIBM pureQueryなど）の特定の機能に関係する。本発明の実施形態は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、最適化された照会言語（たとえばＳＱＬなど）ステートメントを提供できるようにするものである。照会言語の最適化は、照会言語（たとえばＳＱＬなど）ステートメントの不十分な実行を、ステートメントのより良い実行に置き換えること、または、照会言語（たとえばＳＱＬなど）ステートメント・パラメータを、パラメータ・マーカに置き換えることを含むことが可能であり、これによってステートメントをキャッシュに入れることおよび再使用が実行可能になる。
【００４６】
さらに本発明の実施形態は、管理者が、実行される照会言語（たとえばＳＱＬなど）ステートメントを制限すること、および、実行のためにデータベース・アプリケーションからデータベース５０へと転送される照会言語（たとえばＳＱＬなど）ステートメントのバッチ処理を制御することを、実行できるようにするものである。照会言語（例えばＳＱＬなど）実行モデルに関する特性またはパラメータを含むアプリケーション特有の特性情報は、構成リポジトリ６０内に格納される。
【００４７】
したがって、本発明の実施形態は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）がフレームワーク（たとえばＪＰＡなど）を最適化できるようにするものであり、照会言語（たとえばＳＱＬなど）は自動的に生成される。本発明の実施形態は、管理者が、データベースに対して実行される照会言語（たとえばＳＱＬなど）の取り込み、表示、最適化、および制限を実行できるようにするものである。照会言語（たとえばＳＱＬなど）がデータベース・アプリケーションに対して最適化されると、この最適化をデータベース・アプリケーションをホストしている他のシステムに転送することが可能であり、これによって、照会言語（たとえばＳＱＬなど）実行モデルの集中制御が提供される。
【００４８】
管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、データベース・アプリケーションに関する照会言語（たとえばＳＱＬなど）実行モデルに関連する様々な情報を表示および入力できるようにするための、例示的インターフェース画面が、図６に示されている。具体的に言えば、インターフェース画面１５５は前述のインターフェース画面１１０、１２０、１３０と同様であり、選択されたデータベース・アプリケーション構成に対して、照会言語（たとえばＳＱＬなど）実行モデルに関連する情報を提供する。インターフェース画面１５５は、Data Client Managementタブ１１５およびＳＱＬタブ１１６の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域１１２および作業領域１１４を含む。構成領域１１２は、管理者による選択のためにデータベース・アプリケーションの様々な構成を提供し、構成は、前述のように、構成識別子またはキー１１３および構成バージョン１１９によって指示される。
【００４９】
管理者が、（たとえばマウスまたは他の入力デバイスを介して）構成を選択すると、選択された構成に関するアプリケーション特有の特性情報の照会言語（たとえばＳＱＬなど）実行モデル情報が構成リポジトリ６０から取り出され、作業領域１１４に表示される。例を挙げると、作業領域１１４は、最適化領域１５７、制限領域１５９、およびバッチ領域１６１を含む。これらの領域には、構成リポジトリ６０から取り出された適切な構成情報が自動的に記入されることが可能である。最適化領域１５７は、管理者が、選択されたデータベース・アプリケーション構成内で実行される特定のステートメントに関する最適化された照会言語（たとえばＳＱＬなど）の、表示または入力あるいはその両方を実行できるようにするためのフィールドを含む。さらに管理者は、最適化されたステートメントに関する実行のタイプ（たとえば以下で説明するように、静的または動的など）、および、最適化領域内での実装の方式（たとえば結合または置換など）の、表示あるいは指示またはその両方が可能である。最適化された照会言語（たとえばＳＱＬなど）に関して管理者によって入力された情報は、構成マネージャ・サービス３４によって、アプリケーション特有の特性情報の一部として構成リポジトリ６０に格納される。
【００５０】
制限領域１５９は、管理者が、所与のデータベース上での実行が許可された照会言語（たとえばＳＱＬなど）ステートメントのリストの、表示あるいは入力またはその両方を実行できるようにするためのフィールドを含む。制限領域に対して管理者によって入力された情報は、構成マネージャ・サービス３４によって、アプリケーション特有の特性情報の一部として構成リポジトリ６０に格納される。
【００５１】
バッチ領域１６１は、管理者が、実行のために一緒にバッチ処理されることになる照会言語（たとえばＳＱＬなど）ステートメントの表示あるいは指定またはその両方を実行できるようにするためのフィールドを含む。バッチ処理は、複数の照会言語（たとえばＳＱＬなど）実行を組み合わせて、データベースに対する単一の要求にすることによって、性能を向上させる。たとえば、接続の使用は、異種のバッチを使用することによって最適化可能であり、トランザクションがコミットされるまで実行を遅延する。これによってフレームワークは、実行のためにわずかな時間だけデータベース・アプリケーションに物理的な接続を割り当てることができる。このバッチ処理は、データベース・アプリケーションに関連付けられた１つまたは複数の特性またはパラメータ内に指定可能であり、バッチ領域１６１フィールド内に入力することができる。バッチ領域に対して管理者によって入力された情報は、構成マネージャ・サービス３４によってアプリケーション特有の特性情報の一部として、構成リポジトリ６０に格納される。
【００５２】
構成マネージャ・サービス３４は、データベース・アプリケーションの他の態様の制御を実行可能にするための情報を受信するために、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）と対話することができる。たとえば制御システムは、管理者が、最適化されたオブジェクト対関係（Ｏ／Ｒ）マッピング特性を、アプリケーション特有の特性情報の一部として、アプリケーション・サーバに集中的に転送可能にする（たとえば、各個別のアプリケーション・サーバ上でこれらの設定を構成するのを防ぐために）ことができる。この場合、特性は少なくともプログラム・スタック８１のマッピング論理１４と関連付けられ、データベース内の関係テーブルまたは他の構造に対する、コンピュータ・プログラミング言語内のオブジェクトのマッピングを制御する。例を挙げると、特性は、データベース・テーブルからのオブジェクト・ローディング（またはマッピング）の精度を制御することができる（たとえば、怠惰な（lazy）ローディング（精度が低い）または熱心な（eager）ローディング（精度が高い））。しかしながら、データベース・アプリケーションの任意の好適なアプリケーション特有の特性情報は、関係または他のタイプのデータベースに対するオブジェクトのマッピングを制御するために、インターフェース４０を介して調整可能である。
【００５３】
さらに、制御システムは、どの管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、作成中のデータベース・オブジェクトに対して規則を実行および施行できるかを、制御することができる。データベース接続から管理者を抽出するためのプロファイルを確立することができる。プロファイルは、（ユーザ識別およびパスワードを使用する必要なしに）データベース接続をカプセル化し、認証に関する基準を含める。プロファイルおよび関連付けられたデータベース・オブジェクト規則に関する情報は、構成マネージャ・インターフェース４０および構成マネージャ・サービス３４を介して、管理者によって入力され、アプリケーション特有の特性情報の一部として、構成リポジトリ６０に格納することができる。
【００５４】
構成制御２０は、プロファイルおよび関連付けられた規則を、データベース・アプリケーションのアプリケーション特有の特性情報として取り出し、管理者を認証する（たとえば拒否権付きの呼び出しを実行する）ためにこのプロファイルを使用する。管理者が（たとえばデータベース、システム、または他の管理者として）認証された場合、構成制御２０は、認証された管理者が、対応するデータベース５０のオブジェクトへのアクセスを制御するための規則を確立および施行できるようにする。このように、管理者は、カタログ・オブジェクトを読むために基礎となるデータベースにアクセスするための多くの特権なしに接続を使用し、規則の確立および施行のためにプロファイルを使用することができる。
【００５５】
管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）は、制御サーバ３０からのデータベース・アプリケーションの任意の部分を集中的に構成および制御するために、インターフェース４０または他の入力メカニズムを介して、（たとえば、アプリケーション・サーバ、プログラム・スタック層のうちのいずれか、接続のうちのいずれか、照会言語（たとえばＳＱＬなど）実行モデルなどに関連付けられた）アプリケーション特有の特性情報に関する値を指定するか、またはこれらのうちの任意のデータベース・アプリケーション特性を修正することができる。構成を定義するアプリケーション特有の特性情報は、さらに、同じアプリケーション・サーバのうちの１つまたは複数のデータベース・アプリケーションに対して、または任意数の異なるアプリケーション・サーバのうちの１つまたは複数のデータベース・アプリケーションに対して、適用することができる。構成に関するデータベース・アプリケーションは、任意の好適な基準によってグループ化することが可能であり、グループ・メンバに対して同じ構成の取り出しが実行できるようにするために、同じ構成識別子が各グループ・メンバによって使用される。
【００５６】
アプリケーション・サーバ１０が、（たとえば構成制御２０を介して）データベース・アプリケーションを制御するためにアプリケーション特有の特性情報を取り出して適用する方式が、図７に示されている。初めに、（たとえば、アプリケーション・サーバ１０、プログラム・スタック８１の層８２、データベース接続、あるいは照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべてに関する特性を含む）データベース・アプリケーション特有の特性情報が、前述のように、構成マネージャ・インターフェース４０を介して、定義され、グループ化され、コントローラ３２に登録される。アプリケーション・サーバ１０のデータベース・アプリケーションに集中制御が採用される場合、構成制御２０はステップ１４０で、制御サーバ３０の存在を検出し、制御サーバとの適切な通信を確立する。検出は、フラグ、ユニフォーム・リソース・ロケータ（ＵＲＬ）またはアドレス、あるいは、構成制御２０にアクセス可能な他の制御サーバの存在のインジケータ（たとえば、構成変数、所定の位置、パラメータなどに格納される）を使用することによって、達成可能である。構成制御は、コントローラ３２との通信を確立するために、制御サーバ３０に関する指定されたＵＲＬまたはアドレスを使用する。別の方法として、構成制御は、通信を確立するために、ネットワーク上の制御サーバの存在（およびＵＲＬまたはアドレス）を決定するための自動検出メカニズムを含むことができる。
【００５７】
適切な通信が確立されると、ステップ１４２で、構成制御２０は、構成識別子またはキー１１３に基づいて、対応するデータベース・アプリケーション８０に関する所望のアプリケーション特有の特性情報に関してコントローラ３２に照会する。構成制御２０は、構成マネージャ・サービス３４を介して構成リポジトリから所望の構成を定義するアプリケーション特有の特性情報を取り出すために、構成識別子１１３（あるいは、前述のように、構成識別子の決定を実行可能にする他の情報、またはその両方）をコントローラ３２に渡す。
【００５８】
ステップ１４３で、アプリケーション特有の特性情報が取り出されないものと決定された場合、ステップ１４９で、構成制御２０は、アプリケーション特有の特性情報がないことを示す例外またはメッセージをコントローラ３２から受信し、データベース・アプリケーションは初期またはデフォルトの特性値で続行する。構成制御２０あるいはコントローラ３２またはその両方は、アプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関する問題の通知を提供するために、エラーまたは他のメッセージの管理者への表示を容易にすることができる。
【００５９】
アプリケーション特有の特性情報が取り出された場合、ステップ１４４で、構成制御２０は、取り出されたアプリケーション特有の特性情報をコントローラ３２から受信し、データベース・アプリケーションを構成するために、受信されたアプリケーション特有の特性情報内の特性値を適用する。具体的に言えば、構成制御２０は、受信されたアプリケーション特有の特性情報内の値で、既存のパラメータまたは特性値を修正する。これは、受信した値を更新し、既存の特性またはパラメータ値（たとえば、アプリケーション・サーバおよびプログラム・スタック層が、照会言語（たとえばＳＱＬなど）実行モデルの動作あるいは実装またはその両方のために、格納されたパラメータが見つけられるものと予測される位置）を含む、対応する構成変数、メモリ、または他のストレージ位置（たとえば、ファイル、レジスタなど）に格納することによって、達成可能である。受信した特性値が適用されると、データベース・アプリケーション構成が更新され、データベース・アプリケーションはそれらの受信した値に従って動作する。
【００６０】
ステップ１４６で、構成制御２０は、データベース・アプリケーション特有の特性情報に対するいずれかの更新の存在を決定するために、定期的にチェックする。たとえばこれは、構成マネージャ・サービス３４が構成マネージャ・インターフェース４０を介して、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）との対話中の、アプリケーション特有の特性情報の入力あるいは更新またはその両方を識別することによって達成可能である。構成マネージャ・サービスは、各更新された構成の更新された情報および関連付けられた構成識別子１１３の存在を、コントローラ３２に通知する。構成制御２０からの更新に関する照会に応答して、コントローラ３２は、アプリケーション特有の特性情報内の更新の存在を決定する。アプリケーション特有の特性情報が更新された場合、コントローラ３２は、前述とほぼ同じように構成識別子１１３に基づいて、更新されたアプリケーション特有の特性情報を構成リポジトリ６０から取り出すよう試行する。
【００６１】
ステップ１４７で決定されたように、アプリケーション特有の特性情報が更新されなかった場合、または更新されたアプリケーション特有の特性情報を構成識別子１１３に基づいて取り出すことができなかった場合、ステップ１４９で、構成制御２０は、更新されたアプリケーション特有の特性情報がないことを示す例外またはメッセージをコントローラ３２から受信し、データベース・アプリケーションは従来の特性値で続行する。構成制御２０あるいはコントローラ３２またはその両方は、更新されたアプリケーション特有の特性情報がない旨、または、更新されたアプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関した問題の存在の通知を提供するために、エラーまたは他のメッセージを管理者に表示するのを容易にすることができる。
【００６２】
更新されたアプリケーション特有の特性情報が取り出された場合、コントローラ３２は、更新されたアプリケーション特有の特性情報を構成制御２０に転送する。構成制御は、更新されたアプリケーション特有の特性情報をコントローラ３２から受信し、ステップ１４８で、前述とほぼ同じように、データベース・アプリケーションを構成するために、更新されたアプリケーション特有の特性情報を適用する。
【００６３】
構成制御２０あるいはコントローラ３２またはその両方は、監査目的で、更新されたアプリケーション特有の特性情報を構成リポジトリ６０に送信する。さらに構成制御は、アプリケーション特有の特性情報をアプリケーション・サーバ上にローカルに持続させることができる。
【００６４】
制御サーバ３０が、データベース・アプリケーションに関する対応するアプリケーション特有の特性情報を取り出す方式が、図８に示されている。初めに、データベース・アプリケーション特有の特性情報（たとえば、アプリケーション・サーバ１０、プログラム・スタック８１の層８２、データベース接続、あるいは照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべてに関する、特性を含む）が、定義され、グループ化され、コントローラ３２に登録され、アプリケーション・サーバ１０と制御サーバ３０との間の適切な通信が、前述のように確立される。具体的に言えば、ステップ１５０で、コントローラ３２は、アプリケーション・サーバ１０の構成制御２０から、対応するデータベース・アプリケーションに対して所望の構成を定義するアプリケーション特有の特性情報に関する要求を受信する。要求は、アプリケーション特有の特性情報の取り出しに関するものとすることが可能であり、構成識別子１１３（あるいは、前述のように構成識別子の決定を可能にする他の情報、またはその両方）、または、更新されたアプリケーション特有の特性情報を取り出すための定期的な照会を含む。ステップ１５２で、コントローラは、アプリケーション特有の特性情報を取り出すために構成リポジトリ６０と通信する構成サービス・マネージャ３４と協働する。コントローラ３２は、所望の構成を定義するアプリケーション特有の特性情報の取り出しを実行可能にするために、構成識別子１１３（あるいは、前述のように構成識別子の決定を実行可能にする他の情報、またはその両方）を、構成マネージャ・サービス３４に提供する。構成識別子（あるいは、前述のように構成識別子の決定を実行可能にする他の情報、またはその両方）を要求内でコントローラ３２に提供することが可能であるか、または、コントローラが、前述のように、更新された情報の構成マネージャ・サービスからの通知によって、構成識別子を所有することができる。ステップ１５３で、アプリケーション特有の特性情報が取り出されないか、または更新された情報が存在しないことが決定された場合、ステップ１５６で、アプリケーション特有の特性情報がないことを示す例外またはメッセージが、コントローラ３２によって構成制御２０に転送される。構成制御２０あるいはコントローラ３２またはその両方は、更新されたアプリケーション特有の特性情報がない旨、または、アプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関した問題の存在の通知を提供するために、エラーまたは他のメッセージを管理者に表示するのを容易にすることができる。
【００６５】
アプリケーション特有の特性情報が構成リポジトリ６０から取り出された場合、取り出されたアプリケーション特有の特性情報は構成マネージャ・サービス３４によって受信され、ステップ１５４で、前述とほぼ同じように、データベース・アプリケーション構成を更新するため、構成制御２０への転送のためにコントローラ３２に提供される。
【００６６】
別の方法として、制御サーバ３０は、アプリケーション特有の特性情報のために制御サーバをポーリングするアプリケーション・サーバの代わりに、更新されたアプリケーション特有の特性情報をアプリケーション・サーバ１０に自動的に提供することができる。制御サーバ３０が、更新されたアプリケーション特有の特性情報をアプリケーション・サーバ１０に自動的に提供する方式が、図９に示されている。初めに、アプリケーション特有の特性情報の特性（たとえば、アプリケーション・サーバ１０、プログラム・スタック８１の層８２、データベース接続、あるいは照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべてに関する、特性を含む）が、定義され、グループ化され、コントローラ３２に登録され、アプリケーション・サーバ１０と制御サーバ３０との間の適切な通信が、前述のように確立される。具体的に言えば、コントローラ３２は、更新されたアプリケーション特有の特性情報の存在を決定する。たとえばこれは、前述のように、構成マネージャ・サービス３４が構成マネージャ・インターフェース４０を介して、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）との対話中の、アプリケーション特有の特性情報の入力あるいは更新またはその両方を識別すること、ならびに、更新されたアプリケーション特有の特性情報および各更新された構成の関連付けられた構成識別子１１３の存在をコントローラ３２に通知することによって、達成可能である。
【００６７】
ステップ１６０で決定されたように更新が存在する場合、ステップ１６２で、コントローラ３２は、前述とほぼ同じように、構成識別子１１３に基づいて、構成リポジトリ６０から構成マネージャ・サービス３４を介して、更新されたアプリケーション特有の特性情報を取り出す。ステップ１６３で決定されたように、更新されたアプリケーション特有の特性情報が取り出されない場合、コントローラは、構成識別子１１３に関連付けられたデータベース・アプリケーションをホストする適切なアプリケーション・サーバを決定し、ステップ１６５で、更新されたアプリケーション特有の特性情報の取り出しの問題の存在を示す例外またはメッセージを、そのアプリケーション・サーバの構成制御２０に送信する。この場合、データベース・アプリケーションは従来の値で続行する。構成制御２０あるいはコントローラ３２またはその両方は、アプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関する問題の存在の通知を提供するために、エラーまたは他のメッセージの管理者への表示を容易にすることができる。
【００６８】
更新されたアプリケーション特有の特性情報が取り出された場合、コントローラは、構成識別子１１３に関連付けられたデータベース・アプリケーションをホストする適切なアプリケーション・サーバを決定し、ステップ１６４で、更新されたアプリケーション特有の特性情報をそのアプリケーション・サーバの構成制御２０に転送する。構成制御は更新されたアプリケーション特有の特性情報をコントローラ３２から受信し、更新されたアプリケーション特有の特性情報を、前述とほぼ同じようにデータベース・アプリケーションを構成するために適用する。このプロセスは、ステップ１６６で決定されるように、終止条件（たとえば電源切断など）が発生するまで繰り返される。
【００６９】
さらに本発明の実施形態は、前述のように管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、アプリケーション・サーバで照会言語（たとえばＳＱＬなど）実行モデルに影響を与えることができるようにするものである。データベース・アプリケーションに関する照会言語実行モデルを制御することが可能な方式が、図１０に示されている。初めに、構成制御２０は、前述のように（たとえばIBM pureQueryフレームワークを介して）他のプログラム・スタック層８２から照会言語（たとえばＳＱＬなど）ステートメントを受信し、その実行を容易にする。具体的に言えば、構成制御２０は、ステップ１７０で照会言語（たとえばＳＱＬなど）ステートメントの実行を監視し、ステップ１７２でステートメントを取り込む。構成制御は照会言語ステートメントを取り込み、様々な関連情報（たとえば、データベース・アプリケーションおよび、ステートメント、時間などを提供する、特定のプログラム・スタック層）を追跡する。取り込まれた照会言語（たとえばＳＱＬなど）ステートメントは、構成制御２０によって、好ましくはファイル（たとえばＸＭＬなど）に格納される。ファイルは、構成リポジトリ６０内に構成マネージャ・サービス３４によって格納されるために、コントローラ３２に送信される。
【００７０】
照会言語（たとえばＳＱＬなど）ステートメントが取り込まれると、構成マネージャ・サービス３４は、構成マネージャ・インターフェース４０を介してエンド・ユーザ・システム９０上で管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）に提示するために、構成リポジトリ６０からステートメントを取り出すことができる。管理者は、ステップ１７４で、ステートメントおよび様々な性能または他の情報（たとえば、各ステートメントについての実行時間など）を検討することができる。性能情報は、取り込まれた情報、および、ステートメントを実行した１つまたは複数の対応するデータベース５０から集められた情報に基づく。照会言語（たとえばＳＱＬなど）実行に関連する様々な性能情報を提供する例示的グラフィカル・ユーザ画面１９０が、図１１に示されている。画面１９０は、照会言語（たとえばＳＱＬなど）ステートメント、および１つまたは複数の対応するデータベース５０によるそれらの実行に関連する、様々な例示的グラフィカル表現および図を含む。
【００７１】
再度図１０を参照すると、照会言語（たとえばＳＱＬなど）ステートメントが性能しきい値に準拠しない場合、管理者はステップ１７６で、照会言語（たとえばＳＱＬなど）ステートメントを最適化することができる。たとえば、構成マネージャ・サービス３４は、管理者が、前述のような特定のステートメントまたは一連のステートメントに関して最適化された照会言語セットを入力できるようにする、インターフェース画面１５５（図６）を提示することができる。
【００７２】
さらに管理者は、ステップ１７８で、実行される照会言語（たとえばＳＱＬなど）ステートメントを制限することができる。たとえば構成マネージャ・サービス３４は、管理者が、前述のように所与のデータベース上で実行されることが許可された照会言語（たとえばＳＱＬなど）ステートメントのリストを作成できるようにする、インターフェース画面１５５（図６）を提示することができる。
【００７３】
加えて、さらに本発明の実施形態は、管理者が、ステップ１７９で、実行のためにデータベース５０に転送される照会言語（たとえばＳＱＬなど）ステートメントのバッチ処理を制御できるようにすることが可能である。たとえば構成マネージャ・サービス３４は、管理者が、前述のようにアプリケーション・コードを変更することなくまとめてバッチ処理されることになる照会言語（たとえばＳＱＬなど）ステートメントを指定できるようにする、インターフェース画面１５５（図６）を提示することができる。
【００７４】
最適化、制限、あるいはバッチ処理、またはそれらすべてが決定および入力されると、構成マネージャ・サービス３４は、最適化された照会言語セット、ならびに制限およびバッチ処理指定を、前述のように情報を登録するために、構成識別子１１３に基づいて、アプリケーション特有の特性情報の一部として構成リポジトリ６０に格納する。
【００７５】
構成制御２０が初期化されるか、またはアプリケーション特有の特性情報が更新された場合、構成制御は、（たとえば最適化された照会言語（たとえばＳＱＬなど）セット、対応するパラメータ、および、制限あるいはバッチ処理またはその両方に関する指定を含む）対応するデータベース・アプリケーションに関する構成を定義する、アプリケーション特有の特性情報を受信する。構成制御２０は、ステップ１８０で、データベース・アプリケーションを構成するか、または初期化および他のタスクを実行する。静的実行用の構成である（たとえば、データベース・アプリケーション特性またはパラメータが静的実行を示す）場合、ステップ１８２で、最適化された照会言語（たとえばＳＱＬなど）をデータベース５０と結合させることができる。しかしながら、構成が動的実行用である（たとえば、データベース・アプリケーション特性またはパラメータが動的実行を示す）場合、ステップ１８２で、構成制御２０はデータベース・アプリケーションによる実行のために、照会言語（たとえばＳＱＬなど）ステートメントを遮断し、遮断されたステートメントをそれらの層に関する適切な最適化された照会言語（たとえばＳＱＬなど）で置換する。これにより、複数のサーバおよび地理にわたって各データベース・アプリケーションまたは対応する特性を手動で修正することなく、最適化された照会言語（たとえばＳＱＬなど）がデータベース・アプリケーションに転送できるようになる。アプリケーション特有の特性情報に基づいた静的実行のために、照会言語ステートメントの遮断および置換を同様に採用することができる。
【００７６】
照会言語（たとえばＳＱＬなど）構成がインストールされると、制限あるいはバッチ処理またはその両方の指定に従って、照会言語ステートメントをデータベース５０に転送し、ステップ１８４で実行することができる。たとえば、前述のように、接続の使用は、異種のバッチを使用することによって最適化可能であり、トランザクションがコミットされるまで実行を遅延する。これによってフレームワークは、実行のためにわずかな時間だけデータベース・アプリケーションに物理的な接続を割り当てることができる。このバッチ処理は、前述のように、データベース・アプリケーションに関連付けられたアプリケーション特有の特性情報のうちの１つまたは複数の特性またはパラメータ内に指定可能である。
【００７７】
さらに、実行の遅延によって、構成制御２０がすべての照会言語（たとえばＳＱＬなど）ステートメントを取り込んで分析し、それらのステートメントの最適化されたバッチ処理を提供できるようになる。たとえば、取り込まれたステートメント・セット内の冗長照会言語ステートメントを除去することが可能であり、ステートメントを統合するために取り込まれたセット内の同様のステートメントをパラメータ化することが可能である。さらに、実行のために提供されるステートメントの数を減らすために、取り込まれたセット内のステートメントの効果を構成制御２０によって分析することが可能であり、それによって性能が向上する（たとえば、データの追加に続いてそのデータを削除することで、逆効果なしに、取り込まれたセット内のステートメントを除去することが可能であるなど）。
【００７８】
本発明の実施形態に従った制御システムに関する代替トポロジが、図１２に示されている。初めに、制御システム２００は、前述の制御システム１００とほぼ同様であり、ここでコントローラ３２および構成マネージャ・サービス３４は、アプリケーション・サーバ・プログラム・スタック８１の構成制御２０内に埋め込まれ、対応するデータベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報を取り出すために、アプリケーション・サーバ１０が、構成リポジトリ６０に直接アクセスできるようにする。具体的に言えば、構成制御２０は、１つまたは複数のアプリケーション・サーバ１０および構成リポジトリ６０を含む。アプリケーション・サーバおよび構成リポジトリは互いにリモートであり、ネットワーク７０を介して通信することができる。ネットワークは、前述のように、任意数の任意の好適な通信媒体（たとえば、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、イントラネットなど）によって実装可能である。別の方法として、構成リポジトリ６０はアプリケーション・サーバ１０に対してローカルであり、通信媒体７８を介して通信可能である。通信媒体は、前述のように、任意の好適な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって実装可能である。構成リポジトリ６０がネットワーク（たとえばＬＡＮまたはＷＡＮ）によってアクセス可能である場合、構成リポジトリはデータベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース（たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス（たとえばモデム、ネットワーク・カードなど）、またはそれらすべてを含む）、オプションの入力デバイス（たとえばキーボード、マウス、または他の入力デバイス）、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア（たとえばサーバ／通信ソフトウェアなど）が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
【００７９】
アプリケーション・サーバ１０は、前述のアプリケーション・サーバとほぼ同様であり、ここで各アプリケーション・サーバは、対応するトランザクションまたは他のデータベース５０に結合される。データベース５０および構成リポジトリ６０は、前述のデータベースおよび構成リポジトリとほぼ同様である。各アプリケーション・サーバおよび対応するデータベースは互いにリモートであり、ネットワーク７０を介して通信可能である。別の方法として、アプリケーション・サーバおよび対応するデータベースは互いにローカルであり、通信媒体７６を介して通信可能である。通信媒体は、前述のように、任意の好適な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって実装可能である。データベース５０がネットワーク（たとえばＬＡＮまたはＷＡＮ）によってアクセス可能である場合、データベースはデータベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース（たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス（たとえばモデム、ネットワーク・カードなど）、またはそれらすべてを含む）、オプションの入力デバイス（たとえばキーボード、マウス、または他の入力デバイス）、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア（たとえばサーバ／通信ソフトウェアなど）が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
【００８０】
各アプリケーション・サーバ１０は、１つまたは複数のデータベース・アプリケーション８０（たとえば、所望のアクションを実行するために、対応するデータベース５０からのデータを処理するソフトウェア・アプリケーションを含むか、またはこれに関連付けられ、対応する基礎となるプロセスは、その処理のために対応するデータベース５０からデータを取り出すためのデータベース・アクセス、対応するデータベース５０への接続、あるいは、照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべてを実装する）を含む。データベース５０からのデータを処理するソフトウェア・アプリケーション、および対応する基礎となるプロセス（たとえばデータベース接続の管理を含む）が、プログラム・スタック８１内に提供される。各アプリケーション・サーバ１０は、前述のように、それぞれが、対応するデータベース５０へのアクセスを提供し、照会言語（たとえばＳＱＬなど）実行モデルを実装するように協働する、複数の層８２を備えたプログラム・スタック８１を含む、１つまたは複数のデータベース・アプリケーション８０を含む。各データベース・アプリケーションは、そのデータベース・アプリケーションに関する１つまたは複数の構成を定義し、対応するデータベース５０にアクセスする方式を制御する様々な特性またはパラメータを含む、アプリケーション特有の特性情報に関連付けられる。データベース・アプリケーションに関するアプリケーション特有の特性情報の様々な特性またはパラメータは、アプリケーション・サーバ１０、あるいは１つまたは複数のプログラム・スタック層８２、またはその両方に関連するものとすることができる。加えて、各データベース・アプリケーション８０は（たとえばプログラム・スタック８１を介して）、前述のように、照会言語（たとえばＳＱＬなど）ステートメントの形でデータベース照会が実行される方式を制御する特性またはパラメータを含む、関連付けられたアプリケーション特有の特性情報を備えた実行モデルを実装する。
【００８１】
構成リポジトリ６０は、前述のように、データベース・アプリケーションを構成するためのデータベース・アプリケーションに関する構成を定義する、アプリケーション特有の特性情報（たとえば、アプリケーション・サーバ１０、プログラム・スタック８１の層８２、データベース接続、あるいは照会言語（たとえばＳＱＬなど）実行モデル、またはそれらすべてに関する特性を含む）を格納する。制御システム２００は、管理者（たとえば、データベース管理者、システム管理者、または他のユーザ）が、データベース・アプリケーションを集中制御できるようにするために、アプリケーション・サーバ１０内で基本的には前述の制御サーバ３０の機能を採用する。
【００８２】
具体的に言えば、構成制御２０は、コントローラ３２および構成マネージャ・サービス３４を含み、それぞれが前述のコントローラおよび構成マネージャ・サービスとほぼ同様である。構成マネージャ・サービス３４は、前述とほぼ同じように、データベース・アプリケーションを集中的に制御および構成するために、管理者が、アプリケーション特有の特性情報の表示、定義、入力、あるいは編集、またはそれらすべてを実行できるようにするために、１つまたは複数のエンド・ユーザ・システム９０の構成マネージャ・インターフェース４０と対話する。入力されたアプリケーション特有の特性情報は、前述のように、構成識別子１１３に基づいて、構成マネージャ・サービス３４によって構成リポジトリ６０に格納される。エンド・ユーザ・システム９０およびアプリケーション・サーバ１０は互いにリモートであり、ネットワーク７０を介して通信可能である。べつの方法として、エンド・ユーザ・システム９０はアプリケーション・サーバ１０に対してローカルであり、通信媒体７９を介して通信可能である。ネットワークは、前述のように、任意数の任意の好適な通信媒体（たとえば、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、イントラネットなど）によって実装可能である。
【００８３】
コントローラ３２は、前述とほぼ同じように、構成識別子１１３に基づいて、構成リポジトリ６０から、対応するデータベース・アプリケーションに関する所望な構成を定義するアプリケーション特有の特性情報を取り出すために、構成マネージャ・サービス３４と協働する。アプリケーション特有の特性情報は、コントローラ３２の初期化に応答して、または、前述のように、アプリケーション特有の特性情報に対する更新に応答して、取り出される。コントローラ３２は、通信を確立するために構成リポジトリ６０に関する指定されたＵＲＬまたはアドレスを使用することが可能であるか、あるいは、前述とほぼ同じように、構成リポジトリを検出するために自動検出メカニズムを採用することが可能である。
【００８４】
アプリケーション特有の特性情報が取り出されると、コントローラ３２は、取り出されたアプリケーション特有の特性情報を構成制御２０に提供する。構成制御は、前述とほぼ同じように、対応するデータベース・アプリケーションを構成するためにアプリケーション特有の特性情報を適用する。別の方法として、コントローラおよび構成サービス・マネージャを、アプリケーション・サーバ１０のプログラム・スタック８１内の１つまたは複数の層に埋め込むか、またはこれを形成すること、あるいは、データベース・アプリケーションを構成するために、アプリケーション・サーバの１つまたは複数のプログラム・スタックの外であるが、これにアクセス可能な、アプリケーション・サーバ上に常駐することが可能である。
【００８５】
上記で説明され、図面内に示された実施形態は、データベース・アプリケーションの集中制御のための実施形態を実装する多くの方法のうちの、いくつかのみを表すものであることを理解されよう。
【００８６】
本発明の実施形態のトポロジは、任意数のコンピュータまたは他の処理システム（たとえば、データベース、アプリケーション、制御、または他のサーバ・システム、エンド・ユーザ・システム９０など）およびデータベース、あるいは任意の所望の様式で配置構成された他のリポジトリを含むことが可能であり、ここで、本発明の実施形態は、
任意の所望のタイプのコンピューティング環境（たとえば、クラウド・コンピューティング、クライアント・サーバ（たとえば、サーバとして働く制御サーバ（またはコントローラ）を備えたクライアントとして働くアプリケーション・サーバ（または構成制御））、ネットワーク・コンピューティング、メインフレームなど）に適用可能である。本発明の実施形態によって採用されるコンピュータまたは他の処理システムは、任意数の任意のパーソナルまたは他のタイプのコンピュータ、あるいは処理システム（たとえば、ＩＢＭ互換、Ａｐｐｌｅ、Ｍａｃｉｎｔｏｓｈ、ラップトップ、パーム・パイロットなど）によって実装可能であり、任意の市販のオペレーティング・システム（たとえば、Ｗｉｎｄｏｗｓ、ＯＳ／２、Ｕｎｉｘ、Ｌｉｎｕｘなど）および任意の市販または特別注文のソフトウェア（たとえば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェア、制御ソフトウェア（たとえばコントローラ、構成マネージャ・サービス、構成マネージャ・インターフェース、プログラム・スタック層など））を、含むことができる。これらのシステムは、情報の入力あるいは表示またはその両方のために、任意のタイプのモニタおよび入力デバイス（たとえば、キーボード、マウス、音声認識など）を含むことができる。
【００８７】
本発明の実施形態のコンピュータ・システムのためのソフトウェア（たとえば、コントローラ、構成マネージャ・サービス、構成マネージャ・インターフェース、プログラム・スタック層など）は、任意の所望のコンピュータ言語で実装可能であり、当業者であれば、図面内に示された指定および流れ図に含まれる機能的な記述に基づいて開発可能であることが理解されよう。たとえばコントローラおよび構成マネージャ・サービスは、Ｊａｖａで実装可能であり、構成制御はＣ＋＋で実装可能である。さらに、本明細書で様々な機能を実行するソフトウェアの任意の言及は、一般に、ソフトウェア制御の下でそれらの機能を実行するコンピュータ・システムまたはプロセッサを言い表すものである。別の方法で、本発明の実施形態のコンピュータ・システムは、任意のタイプのハードウェアあるいは他の処理回路またはその両方によって実装可能である。
【００８８】
コンピュータ・システムの様々な機能は、任意数のソフトウェアあるいはハードウェアまたはその両方のモジュールまたはユニット、処理またはコンピュータ・システムあるいは回路またはその両方の中の、いずれかの方式で分散可能であり、ここでコンピュータまたは処理システムは、互いにローカルまたはリモートに配設すること、および、任意の好適な通信媒体（たとえば、ＬＡＮ、ＷＡＮ、イントラネット、インターネット、ハードワイヤ、モデム接続、ワイヤレスなど）を介して通信することが可能である。たとえば、本発明の実施形態の機能は、様々なエンド・ユーザ、制御サーバ、アプリケーション・サーバ、およびデータベース・サーバのシステム、あるいは、任意の他の中間処理デバイス、またはそれらすべての中の、いずれかの方式で分散可能である。上記で説明され、流れ図に示された、ソフトウェアあるいはアルゴリズムまたはその両方は、本明細書で説明された機能を達成する任意の方式で修正可能である。加えて、流れ図または説明における昨日は、所望の動作を達成する任意の順序で実行可能である。
【００８９】
本発明の実施形態のソフトウェア（たとえば、コントローラ、構成マネージャ・サービス、構成マネージャ・インターフェース、プログラム・スタック層など）は、スタンドアロン型システムあるいはネットワークまたは他の通信媒体によって接続されたシステムで使用するための、記録可能媒体（たとえば、磁気または光媒体、光磁気媒体、フレキシブル・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ・デバイスなど）上で使用可能である。
【００９０】
通信ネットワークは、任意数の任意のタイプの通信ネットワーク（たとえば、ＬＡＮ、ＷＡＮ、インターネット、イントラネット、ＶＰＮなど）によって実装可能である。本発明の実施形態のコンピュータ・システム（たとえば、データベース、アプリケーション、制御、または他のサーバ・システム、エンド・ユーザ・システムなど）は、任意の従来のまたは他のプロトコルを介し、ネットワークを通じて通信するための、任意の従来のまたは他の通信デバイスを含むことができる。コンピュータ・システム（たとえば、データベース、アプリケーション、制御、または他のサーバ・システム、エンド・ユーザ・システムなど）は、ネットワークへのアクセスのための任意のタイプの接続（たとえば、ワイヤード、ワイヤレスなど）を使用することができる。通信媒体は、任意の好適な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、ワイヤレス・リンク、イントラネットなど）によって実装可能である。
【００９１】
データベースおよびリポジトリは、任意数の任意の従来のまたは他のデータベース、データ・ストア、またはストレージ構造（たとえば、ファイル、データベース、データ構造、データまたは他のリポジトリなど）によって、実装可能である。データベースは、互いに、あるいはサーバ・システム（たとえば、アプリケーション・サーバ、制御サーバ、データベース・サーバなど）に、またはその両方に対して、リモートまたはローカルとすることができる。アプリケーション特有の特性情報は、任意の所望のアプリケーション特有の、またはその他の情報を含むことが可能であり、アプリケーション特有の特性情報のすべてまたは任意の部分は、互いにローカルまたはリモートであることが可能な、任意数のデータベース、データ・リポジトリ、またはストレージ・ユニットに格納可能である。たとえば、アプリケーション特有の特性情報のすべてまたは任意の部分は、１つまたは複数のデータベース５０に格納可能である。
【００９２】
データベース・アプリケーションは、データベース内のデータの処理を実行可能にする任意数の任意の構成要素（たとえば、プログラム・スタック、アプリケーション・サーバ・ソフトウェア、プログラム・スタックの１つまたは複数の層のうちの任意の部分、アプリケーション・サーバ・ソフトウェアの任意の部分など）を含むことができる。プログラム・スタックは、任意の様式で配置構成され、任意の所望の機能（たとえば、トランザクション機能、マッピング機能、接続あるいはアクセスまたはその両方の機能、通信機能など）を提供する、任意数の層を含むことができる。データベース・アプリケーションは、データベースに格納されたデータを処理するためのビジネスまたは任意の他のタイプの実装を提供することができる。データベース・アプリケーション（またはその任意の部分）は、任意数の識別子に関連付けることができる。データベース・アプリケーションおよび構成識別子は、任意数の任意の好適な文字または記号（たとえば、英数字、句読点、または他の記号など）、あるいは任意の他の好適な情報（属性、１つまたは複数の追加の識別子など）を含むことができる。データベース・アプリケーションあるいは構成識別子またはその両方を使用して、データベース・アプリケーションに関する任意の好適な情報またはその一部（たとえば、特性、ランタイム情報など）の、格納あるいは取り出しまたはその両方を実行することができる。たとえば、別々のデータベース・アプリケーションあるいは構成識別子またはその両方を、データベース・アプリケーションの各部分（たとえば、プログラム・スタック層、アプリケーション・サーバなど）に使用して、その部分に関する特性を含むアプリケーション特有の特性情報を取り出して適用することができる。この場合、データベース・アプリケーションの１つまたは複数の特定部分を構成することができる。加えて、データベース・アプリケーションは任意数の構成に関連付けることが可能であり、ここで各構成を取り出すための構成識別子は、データベース・アプリケーション識別子および任意の追加の情報（たとえば、属性、特定構成に関する識別子など）を含むことができる。データベース・アプリケーションあるいは構成識別子またはその両方を任意の好適な様式で使用して、所望のアプリケーション特有の特性情報の構成リポジトリ（たとえば、ルックアップ・テーブル、データベース・テーブルのキーまたは他のフィールドなど）内の位置（たとえば、ファイル名、アドレス、ポインタなど）を取り出すかまたは決定することができる。
【００９３】
アプリケーション特有の特性情報は、データベース・アプリケーションまたは他のエンティティに関する任意の好適なアプリケーション特有のまたは他の情報（たとえば、属性、特性、特徴、動作パラメータなど）を含むことが可能であり、そのデータベース・アプリケーションの任意の部分（たとえば、プログラム・スタックの１つまたは複数の層、アプリケーション・サーバなど）に関連付けることができる。アプリケーション特有の特性情報は、構成リポジトリあるいは他のデータベースまたはストレージ・ユニットに、任意の様式で（たとえば、データベース・アプリケーションあるいは構成識別子または他のインデックスに基づいて、データベース・アプリケーションの特性特徴または関連付けられた部分に基づいて、など）格納することができる。アプリケーション特有の特性情報のデータベース・アプリケーションあるいは特性またはその両方は、任意の好適な基準（たとえば、データ・ソース、接続など）に基づいてグループ化することができる。アプリケーション特有の特性情報は、アプリケーション・サーバ上にローカルに、あるいは、リモートまたはローカルのリポジトリ内に、またはその両方に、格納することができる。データベース・アプリケーションを構成するために、任意数の特性またはアプリケーション特有の特性情報の、格納あるいは取り出しまたはその両方を実行することができる。
【００９４】
集中またはその他の制御の存在は、任意の好適な様式（たとえば、フラグまたは他のインジケータ、制御プロバイダのユニフォーム・リソース・ロケータ（ＵＲＬ）またはアドレス、自動検出メカニズムなど）で、検出可能である。データベース・アプリケーションに関するアプリケーション特有の特性情報は、任意の好適な様式（たとえば、取り出された特性値を対応する構成変数、メモリ、または他のストレージ位置（たとえばファイル、レジスタなど）に格納するなど）で適用可能である。更新された情報の取り出しは、任意の所望の時間間隔（たとえば、分、秒など）でポーリング（たとえば、更新された情報に関する要求の伝送）可能であり、定期的または様々なインスタンスで、とすることができる。別の方法として、更新された情報は、任意の所望の時間間隔（たとえば、分、秒、更新直後など）で、自動的に取り出してデータベース・アプリケーションに提供することができる。例外またはメッセージは、任意の所望の情報（たとえばエラー・コード、説明、インジケータなど）を含むことが可能であり、任意の条件（たとえば、データの取り出し、データベースまたは他のアプリケーションの構成に関連する、エラーまたは他の条件）に応答して、任意の関与パーティ（たとえば、任意の管理者または他のユーザなど）に提供することができる。
【００９５】
本発明の実施形態は、任意数または任意タイプのユーザ・インターフェース（たとえば、グラフィカル・ユーザ・インターフェース（ＧＵＩ）、コマンド行、プロンプトなど）を採用することが可能であり、ここでインターフェースは、任意の様式で配置構成された任意の情報を含むことができる。インターフェースは、任意の好適な入力デバイス（たとえばマウス、キーボードなど）を介して、情報を入力／表示し、所望のアクションを開始するために、任意の位置に配設された、任意数の任意のタイプの入力または作動メカニズム（たとえば、ボタン、アイコン、フィールド、ボックス、リンクなど）を含むことができる。制御システムは、データベース・アプリケーションを構成するための任意の好適なユーザ（データベース管理者、システム管理者、エンド・ユーザなど）によって動作可能である。インターフェース画面は、任意の様式でスクリーン間をナビゲートするための、任意の好適なアクチュエータ（たとえばリンク、タブなど）を含むことができる。
【００９６】
照会言語最適化は、任意の様式（たとえば手動、照会言語オプティマイザなど）で実行可能であり、照会言語ステートメントは、任意の方式（たとえば、実行が許可されたステートメントまたはステートメント属性を提供すること、実行が許可されないステートメントまたはステートメント属性を提供すること、など）で実行を制限可能である。照会言語ステートメント・バッチは、任意の所望の様式（たとえば、バッチ処理のためのステートメントを手動で指定することなど）で実行可能である。ステートメントは、バッチ処理シーケンスを決定するために、任意の様式で取り込み、分析することができる。バッチ処理の実行は、任意の所望の時間間隔だけ延期することが可能であるか、または別の方法として、バッチ処理の実行は、指定された時間に、またはプログラム間隔（たとえばトランザクション境界など）で実行可能である。照会言語実行モデルは、任意の所望の照会または他の言語（たとえばＳＱＬなど）に対して使用可能である。
【００９７】
データベース・アプリケーション制御は、企業システム内のすべてのデータベース・アプリケーションにわたって集中制御を提供するために、単一の中央プラットフォーム（たとえば中央コントローラなど）から実行することができる。別の方法として、データベース・アプリケーションの制御は、任意数のプラットフォームから実行可能であり、ここで各プラットフォームは、企業内の１つまたは複数のデータベース・アプリケーションの任意の好適な態様または部分を制御することができる。
【００９８】
本発明の実施形態は、前述の使用またはアプリケーション特有の特性情報に限定されるものではなく、任意のデータベース・アプリケーションまたは関連アイテムの任意の所望のアプリケーション特有の特性情報を、それらのアイテムを構成するために、集中的に表示、定義、あるいは修正するため、またはそれらすべてを実行するために、採用することが可能である。たとえば、制御システムは、ユーザが、データベース・アプリケーションに関する初期のデータベース接続構成を集中的に設定できるようにすること、および、現在構成されているデータベース接続から異なるデータベース接続への、データベース・アプリケーションのリダイレクトを集中的に制御できるようにすることが可能である。接続の数は、データベースの特性とすること、および、データベースに許可されたオープン接続の数を示すことが可能であり、ここでデータベース・アプリケーションのアクションは、データベースへの接続数に基づいて制御される。例を挙げると、データベース・アプリケーションは、データベースへの接続の数がアクティブであるかまたは使い尽くされているかに基づいて、異なるアクション方針を取ることができる。別の方法として、接続の数は、データベース・アプリケーションの特性とすること、および接続プール内での維持が許可されたオープン接続の数を示すことが可能である。さらに制御システムは、ユーザが、どのデータベース・アプリケーションが構成されるか、およびそれらのデータベース・アプリケーションに接続されたデータベースを含む、トポロジを集中的に表示できるようにすることが可能である。
【００９９】
制御システムは、構成の変更を追跡し、構成リポジトリ内に格納することが可能であり、ユーザが、それらの変更の監査記録を集中的に表示できるようにすることが可能である。制御システムは、ユーザが、データベース・アプリケーションおよびデータベースの任意の論理的、階層的グループ化を集中的に定義できるようにすること、ならびに、定義された論理的、階層的グループ化およびポリシーによって、データベースまたはデータベース・アプリケーションおよびそれらの構成を、集中的に表示できるようにすることが可能である。
【０１００】
さらに、制御システムは、ユーザが、アプリケーション・サーバの再構成（複雑でエラーが発生しやすい可能性がある）またはサーバの再始動なしに、アプリケーション・サーバのデータ・ソースを集中的に表示および制御できるようにすること、ならびに、任意のデータベース・アプリケーション構成特性を集中的に変更できるようにすることが可能である。さらに制御システムは、ユーザが、データベース・アプリケーションの静的照会言語（たとえばＳＱＬなど）使用を集中的に管理できるようにすること、および、照会言語プログラミング・モデルを変更できるようにすることが可能である。加えて制御システムは、ユーザが、ドライバ・レベル、環境情報、アプリケーション特性、およびウェブ・サーバ情報を含む、すべてのデータベース・アプリケーション設定を、集中的に表示できるようにすることが可能である。
【０１０１】
本発明の実施形態の技法は、データベース・アプリケーションの制御に限定されるものではないが、任意の好適な実装（たとえば、ネットワーク、コンピュータ（たとえばサーバ、クライアントなど）、コンピュータまたは他の環境、ツール、シミュレーション、処理、または他のデバイスなど）の制御あるいは構成またはその両方に適用可能である。識別子は、データベース・アプリケーションをアプリケーション特有の特性情報（たとえばインデックスまたはキーなど）あるいはアプリケーション・サーバ、またはその両方に（たとえば、アプリケーション・サーバのＵＲＬ、アドレス、または他の識別子とリンクするために、ルックアップ・テーブルまたは他の方式を介して、など）任意の様式で関連付けることができる。
【０１０２】
本明細書で使用される用語は、特定の実施形態を説明するためのみのものであり、本発明を限定するものとは意図されない。本明細書で使用される場合、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、コンテキストが明確に示していない限り、複数形も含むものと意図される。さらに「備える」、「備えている」、「含む」、「含んでいる」などの用語は、本明細書で使用される場合、記述された特徴、整数、ステップ、動作、要素、あるいは構成要素、またはそれらすべての存在を指定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、あるいはそれらのグループ、またはそれらすべての存在または追加を除外するものではないことを理解されよう。
【０１０３】
以下の特許請求の範囲におけるすべての手段またはステップに加えて、あるとすれば機能要素の、対応する構造、材料、動作、および等価物は、具体的に請求された他の請求要素と組み合わせて機能を実行するための、任意の構造、材料、または動作を含むものと意図される。本発明の記述は、例示および説明の目的で提示されてきたものであって、開示された形の発明を網羅するかまたはこれに限定されることは意図されていない。当業者であれば、本発明の範囲を逸脱することなく、多くの修正および変形が明らかとなろう。実施形態は、本発明の原理および実際の適用例を最も良く説明するために、ならびに、他の当業者が、企図された特定の用途に好適なような様々な修正を伴う様々な実施形態に関して本発明を理解できるようにするために、選択および記述されたものである。
【０１０４】
当業者であれば明らかなように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなど）、あるいは、本明細書ではすべて一般に「回路」、「モジュール」、または「システム」と呼ばれる場合のあるソフトウェアおよびハードウェアの態様を組み合わせた実施形態、の形を取ることができる。さらに、本発明の態様は、コンピュータ読み取り可能プログラム・コードがその上に具体化された１つまたは複数のコンピュータ読み取り媒体内に具体化された、コンピュータ・プログラム製品の形を取ることができる。
【０１０５】
１つまたは複数のコンピュータ読み取り可能媒体の任意の組み合わせが使用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能ストレージ媒体とすることができる。コンピュータ読み取り可能ストレージ媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体の、システム、装置、またはデバイス、あるいはそれらの任意の好適な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ読み取り可能ストレージ媒体のより具体的な例（非網羅的なリスト）には、１本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光ストレージ・デバイス、磁気ストレージ・デバイス、あるいはそれらの任意の好適な組み合わせが含まれる。本書との関連において、コンピュータ読み取り可能ストレージ媒体は、命令実行のシステム、装置、またはデバイスによって、あるいはこれらに関連して使用するためのプログラムを含むかまたは格納することが可能な、任意の有形の媒体とすることができる。
【０１０６】
コンピュータ読み取り可能信号媒体は、たとえばベースバンド内に、または搬送波の一部として、内部にコンピュータ読み取り可能プログラム・コードが具体化された、伝搬データ信号を含むことができる。こうした伝搬信号は、電磁、光、またはそれらの任意の好適な組み合わせを含むが、これらに限定されない、様々な形のいずれかを取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能ストレージ媒体ではなく、命令実行のシステム、装置、またはデバイスによって、あるいはこれらに関連して使用するためのプログラムを、送信、伝搬、または移送することが可能な、任意のコンピュータ読み取り可能媒体とすることができる。
【０１０７】
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、またはそれらの任意の好適な組み合わせを含むが、それらに限定されない、任意の適切な媒体を使用して、伝送することができる。
【０１０８】
本発明の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語と、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む、１つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは、完全にリモートのコンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを介して、ユーザのコンピュータに接続可能であるか、または（たとえばインターネット・サービス・プロバイダを使用しインターネットを介して）外部コンピュータに接続可能である。
【０１０９】
本発明の態様については、本発明の実施形態に従った方法、装置（システム）、およびコンピュータ・プログラム製品の、流れ図あるいはブロック図またはその両方を参照しながら説明される。流れ図あるいはブロック図またはその両方の各ブロック、および流れ図あるいはブロック図またはその両方のブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能であることを理解されよう。これらのコンピュータ・プログラム命令は、マシンを製造するために、汎用コンピュータ、特定用途向けコンピュータ、または他のプログラマブル・データ処理装置の、プロセッサに提供可能であるため、結果として、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能／動作を実装するための手段を作成する。
【０１１０】
コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の方式で機能するように命令することが可能な、これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体に格納することも可能であるため、結果としてコンピュータ読み取り可能媒体内に格納された命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能／動作を実装する命令を含む製品を生成する。
【０１１１】
コンピュータ実装プロセスを生成するように、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実行させるために、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードすることも可能であるため、結果としてコンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能／動作を実装するためのプロセスを提供する。
【０１１２】
図面内の流れ図およびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示すものである。この点で、流れ図またはブロック図は、指定された論理機能を実装するための１つまたは複数の実行可能命令を備える、モジュール、セグメント、またはコードの一部を表すことができる。いくつかの代替実装では、ブロック内に示された機能は図面内に示された順序以外で実行可能であることにも留意されたい。たとえば、連続して示されている２つのブロックは、実際には、関連する機能に応じて、ほぼ同時に実行可能であるか、または時には逆の順序で実行可能である。ブロック図あるいは流れ図またはその両方の各ブロック、および、ブロック図あるいは流れ図またはその両方におけるブロックの組み合わせは、指定された機能または動作を実行する特定用途向けのハードウェアベース・システム、あるいは、特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって、実装可能であることにも留意されたい。
【図１】
2013533525.tif 000003
【図２】
2013533525.tif 000004
【図３】
2013533525.tif 000005
【図４】
2013533525.tif 000006
【図５】
2013533525.tif 000007
【図６】
2013533525.tif 000008
【図７】
2013533525.tif 000009
【図８】
2013533525.tif 000010
【図９】
2013533525.tif 000011
【図１０】
2013533525.tif 000012
【図１１】
2013533525.tif 000013
【図１２】
2013533525.tif 000014
【手続補正書】
【提出日】平成25年3月26日(2013.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データベース・アプリケーションを制御する方法であって、
データベース・システムへのアクセスを提供するデータベース・アプリケーションに関するアプリケーション特有の特性情報をデータ・リポジトリから取り出すステップと、
前記取り出されたアプリケーション特有の特性情報を、前記データベース・アプリケーションの動作を制御するために前記データベース・アプリケーションに適用するステップを含む、方法。
【請求項２】
前記アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、前記データベース・アプリケーションの照会言語実行モデルに関連付けられた１つまたは複数の特性を含む、請求項１に記載の方法。
【請求項３】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、前記アプリケーション特有の特性情報を適用するステップは、前記照会言語ステートメントの静的実行を示す前記アプリケーション特有の特性情報に応答して、前記最適化された照会言語ステートメントを前記データベース・システムに結合するステップを含む、請求項２に記載の方法。
【請求項４】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、前記アプリケーション特有の特性情報を適用するステップは、前記照会言語ステートメントの置換を示す前記アプリケーション特有の特性情報に応答して、前記データベース・アプリケーションの照会言語ステートメントを遮断するステップと、前記最適化された照会言語ステートメントに置換するステップを含む、請求項２または３に記載の方法。
【請求項５】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が許可された少なくとも１つの照会言語ステートメントの指示を含む、請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも１つの照会言語ステートメントの指示を含む、請求項２から５のいずれか一項に記載の方法。
【請求項７】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む、請求項２から６のいずれか一項に記載の方法。
【請求項８】
前記データベース・アプリケーションは、前記データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための前記プログラム・スタックの少なくとも１つの層に関連付けられた１つまたは複数の特性を含む、前記請求項のいずれか一項に記載の方法。
【請求項９】
前記アプリケーション特有の特性情報は、前記データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む、前記請求項のいずれか一項に記載の方法。
【請求項１０】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションによって維持される前記データベース・システムへの接続の数を制御するためのいくつかの接続を含む、前記請求項のいずれか一項に記載の方法。
【請求項１１】
前記アプリケーション特有の特性情報を取り出すステップは、
前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、
前記更新されたアプリケーション特有の特性情報を前記データ・リポジトリから取り出すステップと、
を含む、前記請求項のいずれか一項に記載の方法。
【請求項１２】
前記データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、前記アプリケーション特有の特性情報を取り出すステップは、各データベース・アプリケーションに関するアプリケーション特有の特性情報を、それぞれの識別子に基づいて前記データ・リポジトリから取り出すステップを含む、前記請求項のいずれか一項に記載の方法。
【請求項１３】
前記データベース・アプリケーションのうちの少なくとも２つは、異なるコンピュータ・システム上に常駐する、請求項１２に記載の方法。
【請求項１４】
前記アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む、前記請求項のいずれか一項に記載の方法。
【請求項１５】
前記データベース・アプリケーションは、前記データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する前記データベース・アプリケーションを構成するための前記アプリケーション特有の特性情報を含む、前記請求項のいずれか一項に記載の方法。
【請求項１６】
前記アプリケーション特有の特性情報を取り出すステップは、
前記データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、
前記実行された照会言語ステートメントを、前記性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップを含み、
前記アプリケーション特有の特性情報は、前記最適化された照会言語ステートメントを含む、前記請求項のいずれか一項に記載の方法。
【請求項１７】
データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含むコンピュータ・システムを備え、前記コンピュータ・システムは、
前記データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求するステップと、および、
前記データベース・アプリケーションの動作を制御するために、前記取り出されたアプリケーション特有の特性情報を前記データベース・アプリケーションに適用するステップを実行するように構成された少なくとも１つのプロセッサをさらに含む、データベース・アプリケーションを制御するためのシステム。
【請求項１８】
前記アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、前記データベース・アプリケーションの照会言語実行モデルに関連付けられた１つまたは複数の特性を含む、請求項１７に記載のシステム。
【請求項１９】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、前記最適化された照会言語ステートメントは、前記照会言語ステートメントの静的実行を示す前記アプリケーション特有の特性情報に応答して、前記データベース・システムに結合される、請求項１８に記載のシステム。
【請求項２０】
前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、さらに前記少なくとも１つのプロセッサは、前記照会言語ステートメントの置換を示す前記アプリケーション特有の特性情報に応答して、前記データベース・アプリケーションの照会言語ステートメントを遮断し、前記最適化された照会言語ステートメントに置換するように構成された、請求項１８または１９に記載のシステム。
【請求項２１】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が許可された少なくとも１つの照会言語ステートメントの指示を含む、請求項１８から２０のいずれか一項に記載のシステム。
【請求項２２】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも１つの照会言語ステートメントの指示を含む、請求項１８から２１のいずれか一項に記載のシステム。
【請求項２３】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む、請求項１８から２２のいずれか一項に記載のシステム。
【請求項２４】
前記データベース・アプリケーションは、前記データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための前記プログラム・スタックの少なくとも１つの層に関連付けられた１つまたは複数の特性を含む、請求項１７から２３のいずれか一項に記載のシステム。
【請求項２５】
前記アプリケーション特有の特性情報は、前記データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む、請求項１７から２４のいずれか一項に記載のシステム。
【請求項２６】
前記アプリケーション特有の特性情報は、前記データベース・アプリケーションによって維持される前記データベース・システムへの接続の数を制御するためのいくつかの接続を含む、請求項１７から２５のいずれか一項に記載のシステム。
【請求項２７】
さらに前記少なくとも１つのプロセッサは、
前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の前記データ・リポジトリからの取り出しを定期的に要求するように構成された、請求項１７から２６のいずれか一項に記載のシステム。
【請求項２８】
前記データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、前記システムは、それぞれがデータベース・アプリケーションを含む複数のコンピュータ・システムをさらに含み、少なくとも１つのプロセッサは、
対応するデータベース・アプリケーションに関するアプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すように構成された、
請求項１７から２７のいずれか一項に記載のシステム。
【請求項２９】
前記データ・リポジトリと通信する制御システムをさらに含み、
前記コンピュータ・システムから要求を受信し、前記データベース・アプリケーションに関する前記アプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すステップと、
前記取り出されたアプリケーション特有の特性情報を前記コンピュータ・システムに提供するステップを実行するように構成された、少なくとも１つのプロセッサを含む、請求項１７から２８のいずれか一項に記載のシステム。
【請求項３０】
前記データ・リポジトリと通信する制御システムをさらに含み、
前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、
前記データベース・アプリケーションに関する前記更新されたアプリケーション特有の特性情報を前記データ・リポジトリから取り出し、前記更新されたアプリケーション特有の特性情報を前記コンピュータ・システムに提供するステップを実行するように構成された、少なくとも１つのプロセッサを含む、請求項１７から２９のいずれか一項に記載のシステム。
【請求項３１】
前記アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む、請求項１７から３０のいずれか一項に記載のシステム。
【請求項３２】
前記データベース・アプリケーションは、前記データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する前記データベース・アプリケーションを構成するための前記アプリケーション特有の特性情報を含む、請求項１７から３１のいずれか一項に記載のシステム。
【請求項３３】
さらに前記少なくとも１つのプロセッサは、
前記データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、
前記実行された照会言語ステートメントを、前記性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けることであって、前記アプリケーション特有の特性情報は、前記最適化された照会言語ステートメントを含む、関連付けるステップを実行するように構成される、請求項１７から３２のいずれか一項に記載のシステム。
【請求項３４】
請求項１から１６のいずれか一項に記載された方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項３５】
請求項１から１６のいずれか一項に記載された方法の各ステップを実行するための手段を備える、コンピュータ・システム。
【国際調査報告】
2013533525.tif 000015
2013533525.tif 000016
2013533525.tif 000017