JP5700730B2 - データベース・アプリケーションの集中制御のための方法、システム、およびコンピュータ・プログラム - Google Patents

データベース・アプリケーションの集中制御のための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP5700730B2
JP5700730B2 JP2013506575A JP2013506575A JP5700730B2 JP 5700730 B2 JP5700730 B2 JP 5700730B2 JP 2013506575 A JP2013506575 A JP 2013506575A JP 2013506575 A JP2013506575 A JP 2013506575A JP 5700730 B2 JP5700730 B2 JP 5700730B2
Authority
JP
Japan
Prior art keywords
application
database
characteristic information
specific characteristic
query language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013506575A
Other languages
English (en)
Other versions
JP2013533525A (ja
Inventor
ダウラ、アンシュル
ブロツキー、ステファン、アンドリュー
オスラー、ポール、アーノルド
チャン、デイヴィッド、ウェイ−ジェ
ラング、トニー、カイ−チ
ボミレディパリ、ヴィジェイ、ラマナ
ホーマン、ランドール、ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013533525A publication Critical patent/JP2013533525A/ja
Application granted granted Critical
Publication of JP5700730B2 publication Critical patent/JP5700730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明の実施形態は、データベース・アプリケーションの制御に関し、より具体的に言えば、1つまたは複数のアプリケーション・サーバにわたる企業データベース・アプリケーションの集中制御に関する。
企業は、通常、多数のデータベース・アプリケーションを有する。これらデータベース・アプリケーションのそれぞれが関連付けられた特性(properties)を定義し、そのうちの一部はアプリケーション特有であって、データ・アクセスに関するメカニズムを提供する。しかしながら、データベース・アプリケーションの制御および最適化のタスクは非常に複雑かつ面倒である。たとえば、データベース管理者は、複数のサーバおよび複数の地理にわたって、各データベース・アプリケーションを個別に最適化せざるを得ない。
サーバ上の接続特性を制御する現行のシステムは、複数の地理全体にわたる複数のサーバにまたがってこれらの特性を非効率的に制御するものである。さらにデータベース管理者には、SQL実行モデルを集中制御する機能、実行されるSQLを最適化および制限する機能、ならびに、集中ゲートウェイとして動作する中間システムなしに複数のクライアントからのオープン接続の数を制御する機能が欠如している。
したがって本発明は、第1の態様において、データベース・アプリケーションを制御する方法を提供する。方法は、データベース・システムへのアクセスを提供するデータベース・アプリケーションに関するアプリケーション特有の特性情報をデータ・リポジトリから取り出すステップと、および、当該取り出されたアプリケーション特有の特性情報を、当該データベース・アプリケーションの動作を制御するために当該データベース・アプリケーションに適用するステップを含む。好ましくは、当該アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、当該データベース・アプリケーションの照会言語実行モデルに関連付けられた1つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、当該アプリケーション特有の特性情報を適用するステップは、当該照会言語ステートメントの静的実行を示す当該アプリケーション特有の特性情報に応答して、当該最適化された照会言語ステートメントを当該データベース・システムに結合する(binding)ステップを含む。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、当該アプリケーション特有の特性情報を適用するステップは、当該照会言語ステートメントの置換を示す当該アプリケーション特有の特性情報に応答して、当該データベース・アプリケーションの照会言語ステートメントを遮断(intercepting)するステップと、当該最適化された照会言語ステートメントに置換するステップを含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が許可された少なくとも1つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも1つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む。好ましくは、当該データベース・アプリケーションは、当該データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための当該プログラム・スタックの少なくとも1つの層に関連付けられた1つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションによって維持される当該データベース・システムへの接続の数を制御するためのいくつかの接続を含む。好ましくは、当該アプリケーション特有の特性情報を取り出すステップは、当該データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、当該更新されたアプリケーション特有の特性情報を当該データ・リポジトリから取り出すステップを含む。好ましくは、当該データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、当該アプリケーション特有の特性情報を取り出すステップは、各データベース・アプリケーションに関するアプリケーション特有の特性情報をそれぞれの識別子に基づいて当該データ・リポジトリから取り出すステップを含む。好ましくは、当該データベース・アプリケーションのうちの少なくとも2つは、異なるコンピュータ・システム上に常駐する。好ましくは、当該アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む。
好ましくは、当該データベース・アプリケーションは、当該データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する当該データベース・アプリケーションを構成するための当該アプリケーション特有の特性情報を含む。好ましくは、当該アプリケーション特有の特性情報を取り出すステップは、当該データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、当該実行された照会言語ステートメントを、当該性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップを含む。当該アプリケーション特有の特性情報は、当該最適化された照会言語ステートメントを含む。
第2の態様では、データベース・アプリケーションを制御するためのシステムが提供される。当該システムは、データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含むコンピュータ・システムを備える。当該コンピュータ・システムは、当該データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求するステップと、当該データベース・アプリケーションの動作を制御するために、当該取り出されたアプリケーション特有の特性情報を当該データベース・アプリケーションに適用するステップを実行するように構成された少なくとも1つのプロセッサをさらに含む。
好ましくは、当該アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、当該データベース・アプリケーションの照会言語実行モデルに関連付けられた1つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、当該最適化された照会言語ステートメントは、当該照会言語ステートメントの静的実行を示す当該アプリケーション特有の特性情報に応答して、当該データベース・システムに結合される。好ましくは、当該アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、さらに当該少なくとも1つのプロセッサは、当該照会言語ステートメントの置換を示す当該アプリケーション特有の特性情報に応答して、当該データベース・アプリケーションの照会言語ステートメントを遮断するステップと、当該最適化された照会言語ステートメントに置換するステップを実行するように構成される。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が許可された少なくとも1つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも1つの照会言語ステートメントの指示を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む。好ましくは、当該データベース・アプリケーションは、当該データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションの動作を制御するための当該プログラム・スタックの少なくとも1つの層に関連付けられた1つまたは複数の特性を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む。好ましくは、当該アプリケーション特有の特性情報は、当該データベース・アプリケーションによって維持される当該データベース・システムへの接続の数を制御するためのいくつかの接続を含む。好ましくは、さらに当該少なくとも1つのプロセッサは、当該データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の当該データ・リポジトリからの取り出しを定期的に要求するように、構成される。好ましくは、当該データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、当該システムは、それぞれがデータベース・アプリケーションを含む複数のコンピュータ・システムをさらに含み、少なくとも1つのプロセッサは、対応するデータベース・アプリケーションに関するアプリケーション特有の特性情報を識別子に基づいて当該データ・リポジトリから取り出すように構成される。
システムは、当該データ・リポジトリと通信する制御システムをさらに含むことが可能であり、当該コンピュータ・システムから要求を受信し、当該データベース・アプリケーションに関する当該アプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すステップと、当該取り出されたアプリケーション特有の特性情報を当該コンピュータ・システムに提供するステップを実行するように構成された、少なくとも1つのプロセッサを含む。
システムは、当該データ・リポジトリと通信する制御システムをさらに含むことが可能であり、当該データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、当該データベース・アプリケーションに関する当該更新されたアプリケーション特有の特性情報を当該データ・リポジトリから取り出し、当該更新されたアプリケーション特有の特性情報を当該コンピュータ・システムに提供するステップを実行するように構成された、少なくとも1つのプロセッサを含む。好ましくは、当該アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む。好ましくは、当該データベース・アプリケーションは、当該データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する当該データベース・アプリケーションを構成するための当該アプリケーション特有の特性情報を含む。好ましくは、さらに当該少なくとも1つのプロセッサは、当該データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、当該実行された照会言語ステートメントを、当該性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップを実行するように構成される。当該アプリケーション特有の特性情報は、当該最適化された照会言語ステートメントを含む。
第3の態様では、コンピュータ・システム内にロードされ、その上で実行された場合、当該コンピュータ・システムに、第1の態様に従った方法のすべてのステップを実行させるために、コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム・コードを備える、コンピュータ・プログラムが提供される。
コンピュータ・プログラムは、それらで具体化されるコンピュータ読み取り可能プログラム・コードを有する、コンピュータ読み取り可能ストレージ媒体を備える、データベース・アプリケーションを制御するためのコンピュータ・プログラム製品の形で実装可能であり、コンピュータ読み取り可能プログラム・コードは、当該データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求すること、および、当該データベース・アプリケーションの動作を制御するために、当該取り出されたアプリケーション特有の特性情報を当該データベース・アプリケーションに適用することを、実行するように構成された、コンピュータ読み取り可能プログラム・コードを備える。
本発明の一実施形態によれば、システムはデータベース・アプリケーションの制御が実行可能である。システムは、データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含むコンピュータ・システムと、少なくとも1つのプロセッサとを備える。コンピュータ・システムは、データベース・アプリケーションに関するアプリケーション特有の特性情報のデータ・リポジトリからの取り出しを要求し、データベース・アプリケーションの動作を制御するために、取り出されたアプリケーション特有の特性情報をデータベース・アプリケーションに適用する。本発明の実施形態は、上記で説明したものとほぼ同じ方式でデータベース・アプリケーションを制御するための方法およびコンピュータ・プログラム製品をさらに含む。
次に、本発明の好ましい実施形態について、添付の図面を参照しながら、単なる例として説明する。
本発明の実施形態に従った、制御システムのための例示的トポロジを示す図である。 本発明の実施形態に従った、データベース接続情報を提供する例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。 本発明の実施形態に従った、データベース・アプリケーションに関する構成情報を提供する例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。 本発明の実施形態に従った、データベース・アプリケーションに関連付けられたアプリケーション特有の特性情報を提供する、例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。 本発明の実施形態に従った、データベース・アプリケーションに関するデータベース接続に関連する接続情報を提供する、例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。 本発明の実施形態に従った、データベース・アプリケーションに関する照会言語(たとえばSQLなど)実行モデルに関連する情報を提供する、例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。 本発明の実施形態に従った、アプリケーション・サーバがデータベース・アプリケーションに関するアプリケーション特有の特性情報を取り出す方式を示す、手続き流れ図である。 本発明の実施形態に従った、データベース・アプリケーションに関するアプリケーション特有の特性情報が構成リポジトリから取り出され、アプリケーション・サーバに提供される方式を示す、手続き流れ図である。 本発明の実施形態に従った、データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報が構成リポジトリから取り出され、データベース・アプリケーション構成を更新するためにアプリケーション・サーバに提供される代替方式を示す、手続き流れ図である。 本発明の実施形態に従った、照会言語実行(たとえばSQLなど)が制御される方式を示す、手続き流れ図である。 本発明の実施形態に従った、照会言語(たとえばSQLなど)実行に関連する様々な性能情報を提供する例示的グラフィカル・ユーザ・インターフェース画面を示す概略図である。 本発明の実施形態に従った、制御システムに関する代替の例示的トポロジを示す概略図である。
本発明の実施形態は、企業データベース・アプリケーション(たとえば、所望のアクションを実行するためにデータベースからのデータを処理するソフトウェア・アプリケーション、その処理に関してデータベースからデータを取り出すためにデータベース・アクセスを実施する対応する基礎となるプロセス、データベースへの接続、あるいは、照会言語(たとえばSQLなど)実行モデル、またはそれらすべて、を含むかまたはこれに関連付けられる)を、集中的に制御するためのメカニズムに関連する。このメカニズムは、データベース接続特性と、データベース・アプリケーションに集中ゲートウェイを強制することのないデータベース・クライアントから所与のデータベースへのオープン接続の数との、集中制御を提供する。接続の数は、データベースの特性とすること、およびデータベースに許可されたオープン接続の数を示すことが可能であり、データベース・アプリケーションのアクションは、データベースへの接続の数に基づいて制御される。たとえば、データベース・アプリケーションは、データベースへの接続の数がアクティブであるかまたは使い尽くされているかに基づいて、異なるアクション方針を取ることができる。別の方法として、接続の数は、データベース・アプリケーションの特性とすること、および接続プール内での維持が許可されたオープン接続の数を示すことが可能である。
加えて、本発明の実施形態は、管理者(たとえばデータベース管理者、システム管理者、または他のユーザ)が、どの特定の照会言語(たとえばSQLなど)ステートメントがデータベース内で実行されるか、およびそれらステートメントの実行方式を、確保、最適化、および制御できるようにするものである。集中制御は、管理者が、最適化された照会言語(たとえばSQLなど)ステートメントをすべての企業データベース・アプリケーションに配布できるようにするために、照会言語(たとえばSQLなど)実行モデル全体にわたって提供される。これらの最適化は、データベース・アプリケーションのソース・コードを修正することなく適用可能である。したがって、本発明の実施形態は、フレームワークを提供し、データベース・アプリケーションの集中制御および監視のための基礎となるプロトコルを定義する。
本発明の実施形態に従った制御システムに関する例示的トポロジが、図1に示されている。具体的には、制御システム100は、1つまたは複数のアプリケーション・サーバ10と制御サーバ30とを含む。制御サーバは、以下で説明するように、アプリケーション・サーバ10のデータベース・アプリケーションを集中的に制御する。制御サーバ30は、アプリケーション・サーバ10からリモートであり、ネットワーク70を介して通信することができる。ネットワークは、任意数の任意の好適な通信媒体(たとえば、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、イントラネットなど)によって実装可能である。別の方法として、制御サーバ30は、1つまたは複数のアプリケーション・サーバ10に対してローカルであり、通信媒体74を介して通信することができる。通信媒体は、任意の好適な通信媒体(たとえば、ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって実装可能である。
各アプリケーション・サーバ10は、対応するトランザクションまたは他のデータベース50に結合され、様々な機能またはアクションを実行するためのデータを取り出すためにデータベースにアクセスする。各アプリケーション・サーバ10および対応するデータベース50は、互いにリモートであり、ネットワーク70を介して通信することができる。別の方法として、アプリケーション・サーバおよび対応するデータベースは互いにローカルであり、通信媒体76を介して通信することができる。通信媒体は、任意の好適な通信媒体(たとえば、ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって実装可能である。データベースがネットワーク(たとえばLANまたはWAN)によってアクセス可能な場合、データベースは、データベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース(たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス(たとえばモデム、ネットワーク・カードなど)、またはそれらすべてを含む)、オプションの入力デバイス(たとえばキーボード、マウス、または他の入力デバイス)、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア(たとえばサーバ/通信ソフトウェアなど)が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
各アプリケーション・サーバ10は、1つまたは複数のデータベース・アプリケーション80(たとえば、所望のアクションを実行するために対応するデータベース50からのデータを処理するソフトウェア・アプリケーション、その処理に関して対応するデータベース50からデータを取り出すためにデータベース・アクセスを実施する対応する基礎となるプロセス、対応するデータベース50への接続、あるいは、照会言語(たとえばSQLなど)実行モデル、またはそれらすべて、を含むかまたはこれに関連付けられる)を含む。データベース50からのデータを処理するソフトウェア・アプリケーション、および対応する基礎となるプロセス(たとえばデータベース接続の管理を含む)は、プログラム・スタック81内に提供される。各アプリケーション・サーバ10は、対応するデータベース50へのアクセスを提供し、照会言語(たとえばSQLなど)実行モデルを実装するために協働する、複数の層82を含む、プログラム・スタック81をそれぞれが備える、1つまたは複数のデータベース・アプリケーション80を含む。プログラム・スタック81は、データベースへの直接アクセス(たとえばJava Database Connectivity(JDBC)またはIBM DB2 Call Level Interface(CLI))または間接的データベース・アクセス(たとえばIBM pureQuery、Java Persistent API(JPA)、Hibernateなどを含む様々なフレームワークを介して)を提供する、層82を含むことができる。単なる例として、プログラム・スタック層82は、ビジネス論理12、マッピング論理14、データ・アクセス論理16、接続プール18、構成制御20、およびデータベース・ドライバ22を含む。ビジネス論理12は、ビジネスまたは特定の実装のために他の機能を提供するための、対応するデータベース50からのデータを処理するソフトウェア・アプリケーションを含む。これらのソフトウェア・アプリケーションは、通常、対応するデータベース50からデータを取り出して処理するための、1つまたは複数のデータベース照会を含む。マッピング論理14は、データベース・テーブルを、特定のコンピュータ・プログラミング言語(たとえば、Java、C++など)のオブジェクトにマッピングする。たとえば、ビジネス論理12および関係データベース50のJava実装に関して、マッピング論理14は、ビジネス論理12のJavaベース・オブジェクトをデータベース50の関係データベース・テーブルにマッピングすることができる。マッピング論理は、Javaベース・オブジェクトを伴うビジネス論理12からの照会が、データベース50の関係テーブルから適切なデータを取り出せるようにし、さらに、それらの関係データベース・テーブルから取り出されたデータを、Javaベース・オブジェクトに関してビジネス論理12に提供する。言い換えれば、マッピング論理は、Javaベースのビジネス論理とデータベースとの間に、データ管理互換性を提供する。マッピング論理14は、任意の所望のコンピュータ・プログラミング言語に関する、任意の好適なマッピング・ツールまたはフレームワーク(たとえば、Java Persistent API(JPA)、Hibernateなど)を含むことができる。
データ・アクセス論理16は、データベースにアクセスするための方式(たとえば、規則または基準、接続または他の情報など)を提供するが、接続プール18は接続割振り管理機能(たとえば、データベースへの接続数の管理など)を提供する。接続の数は、データベースの特性とすること、および可能なオープン接続の数をデータベースに示すことが可能であり、データベース・アプリケーションのアクションは、データベースへの接続の数に基づいて制御される。たとえば、データベース・アプリケーションは、データベースへの接続の数がアクティブであるかまたは使い尽くされているかに基づいて、異なるアクション方針を取ることができる。別の方法として、接続の数は、データベース・アプリケーションの特性とすること、および接続プールによる維持が許可されたオープン接続の数を示すことが可能である。構成制御20は、データベース・アプリケーションを構成し、以下で説明するように、管理者(たとえばデータベース管理者、システム管理者、または他のユーザ)の指定に従って、データベース照会の実行を容易にする(たとえば、IBM pureQuryまたは他のフレームワークを含むことができる)ために、
制御サーバ30と通信する。データベース・ドライバ22は、データベース・アクセスのために対応するデータベース50との実際の通信を提供する。データベース・ドライバ22は、Javaデータベース・ドライバ(たとえばJDBCなど)、あるいは、任意の好適なコンピュータ・プログラミング言語に適合する他のドライバまたはメカニズムを含むことができる。ビジネス論理12、マッピング論理14、データ・アクセス論理16、接続プール18、構成制御20、およびデータベース・ドライバ22は、ソフトウェアあるいはハードウェアまたはその両方のモジュールまたはユニットによって、実装可能である。
各データベース・アプリケーション80は、対応するデータベース50がアクセスされる方式を制御する様々な特性またはパラメータを含む、アプリケーション特有の特性情報に関連付けられる。データベース・アプリケーションのアプリケーション特有の特性情報は、アプリケーション・サーバ10あるいは1つまたは複数のプログラム・スタック層82またはその両方に関連するものとすることができる。単なる例として、
アプリケーション特有の特性情報の特性またはパラメータは、
アプリケーション・サーバ10が、maxconnections(たとえば、データ・ソース接続プールに対して作成される最大数の接続)、minconnections(たとえば、データ・ソース接続プールに対する最小数の接続)、unusedtimeout(たとえば、オープン接続がクローズされるまでに未使用のままであることが許可される時間量を表すタイムアウト値)、reaptime(たとえば、接続プール保守スレッドの実行間の時間量を秒単位で指定する)などを含むことが可能であり、マッピング論理14が、JPAまたはHibernate実装に関して、hibernate.cache.use_query_cache(たとえば、照会結果がHibernateエンジンによってキャッシュに入れられるかどうかを指定する)を含むことが可能であり、データ・アクセス論理16が、JDBCまたはIBM DB2 CLI実装に関して、databaseurl(たとえば、データベース接続情報(たとえばホスト、ポート、データベース名))、deferprepares(たとえば、照会言語ステートメント準備が、そのステートメントの実行まで延期される)、fetchsize(たとえば、照会言語ステートメントに使用されるフェッチ・サイズを指定する)など、およびIBM pureQuery実装に関して、captureMode(たとえば、取り込み(capture)の有効化および無効化を制御する)、executionMode(たとえば、照会言語ステートメントの実行が静的であるか動的であるかを指定する)、allowDynamicsSQL(たとえば、動的SQLが許可されるかどうかを指定する)などを、含むことが可能であること、に関する。ビジネス論理12に関するアプリケーション特有の特性情報は、各特定の実装ごとに変化し、その特定の実装に好適な任意の特性またはパラメータを含むことができる。
加えて、各データベース・アプリケーション80は(たとえば、プログラム・スタック81を介して)、データベース照会が照会言語(たとえばSQLなど)ステートメントの形で実行される方式を制御する特性またはパラメータを含む、アプリケーション特有の特性情報に関連付けられた実行モデルを実装する。実行モデルおよび関連付けられた特性またはパラメータは、データベース・アプリケーションからの照会言語(たとえばSQLなど)の実行を制御するための、構成制御20のフレームワーク(たとえば、IBM pureQueryなど)の特定の機能に関する。照会言語の実行に関するアプリケーション特有の特性情報の例示的特性またはパラメータは、照会言語(たとえばSQLなど)の動的または静的な実行、およびオリジナルまたは最適化された照会言語(たとえばSQLなど)の実行を、示すことができる。照会言語の最適化は、照会言語(たとえばSQLなど)ステートメントの不十分な実行を、ステートメントのより良い実行に置き換えること、または、照会言語(たとえばSQLなど)ステートメント・パラメータを、パラメータ・マーカに置き換えることを含むことが可能であり、これによってステートメントをキャッシュに入れることおよび再使用が実行可能になる。したがって、前述の様々な特性またはパラメータに関する値を含むアプリケーション特有の特性情報は、データベース・アプリケーションに関する構成を提供し、データベースがアクセスされ照会言語(たとえばSQLなど)ステートメントが実行される方式を制御する。
アプリケーション・サーバ10は、好ましくは、ディスプレイまたはモニタ、ベース(たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス(たとえばモデム、ネットワーク・カードなど)、またはそれらすべてを含む)、オプションの入力デバイス(たとえばキーボード、マウス、または他の入力デバイス)、および、任意の市販の(たとえばサーバ/通信ソフトウェアなど)あるいは、以下で説明するようなデータベース・アプリケーションを制御するための特別注文の(たとえば制御ソフトウェアなど)、またはその両方のソフトウェアが装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。トランザクション・データベース50は、任意数の任意タイプの従来型またはその他のデータベース、データ・ストア、またはストレージ構造(たとえばファイル、データベース、データ構造など)によって実装可能である。
企業は、通常、多数のデータベース・アプリケーションを有し、ここで各データベース・アプリケーションは、前述のように、複数のサーバおよび複数の地理にわたって、個別に最適化される。しかしながら本発明の実施形態は、複数のサーバにわたってデータベース・アプリケーションを集中的に構成および制御するための方式を提供する。この集中制御機能を提供するために、制御サーバ30は、管理者(たとえばデータベース管理者、システム管理者、または他のユーザ)が、それらのデータベース・アプリケーション(たとえば、アプリケーション・サーバ10の特性、対応するプログラム・スタックの層82、データベース接続、あるいは照会言語(たとえばSQLなど)実行モデル、またはそれらすべて)に関連付けられたアプリケーション特有の特性情報のうちのいずれかの、定義、入力、あるいは修正、またはそれらすべてを実行することによって、様々なアプリケーション・サーバの1つまたは複数のデータベース・アプリケーションを構成できるようにする。入力または修正されたアプリケーション特有の特性情報は、対応するアプリケーション・サーバに提供され、データベース・アプリケーションを構成するために、その後適用される。
具体的には、制御サーバ30は、データベース・アプリケーションに関するアプリケーション特有の特性またはパラメータ情報を格納する、構成リポジトリ60に結合される。制御サーバは、以下で説明するように、対応するデータベース・アプリケーション80を構成および制御するために、構成リポジトリ60にアクセスし、アプリケーション特有の特性情報を取り出して、1つまたは複数のアプリケーション・サーバ10に提供する。制御サーバ30および構成リポジトリ60は、互いにリモートであり、ネットワーク70を介して通信することができる。別の方法として、制御サーバ30は構成リポジトリ60に対してローカルであり、通信媒体78を介して通信することができる。通信媒体は、任意の好適な通信媒体(たとえば。ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって実装可能である。構成リポジトリ60がネットワーク(たとえばLANまたはWAN)によってアクセス可能である場合、リポジトリは、データベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース(たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス(たとえばモデム、ネットワーク・カードなど)、またはそれらすべてを含む)、オプションの入力デバイス(たとえばキーボード、マウス、または他の入力デバイス)、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア(たとえばサーバ/通信ソフトウェアなど)が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
制御サーバ30は、管理者が、アプリケーション特有の特性情報に関して、データベース・アプリケーション特性の論理的および階層的なグループ化を定義できるようにするものである。特性は、データ・ソース、データベース、特定の管理者、およびワークステーションを含む、様々な基準に基づいてグループ化することができる。
構成制御20は、対応するデータベース・アプリケーションに関して、そのデータベース・アプリケーションを構成するために、構成リポジトリ60からアプリケーション特有の特性情報を取り出すために制御サーバ30との通信を確立する。本発明の実施形態は、異種のアプリケーション・サーバ上で実行可能であり、任意のコンピュータ・プログラミング言語で作成された異種の構成制御コンポーネント(configuration control components)をサポートすることができる。アプリケーションと制御サーバとの間の通信は、同期または非同期の通信を介して達成可能である。取り出されたアプリケーション特有の特性情報は、アプリケーション・サーバ10上に対応するデータベース・アプリケーションを構成するために使用される。したがって、制御サーバ30は、コントローラ32および構成マネージャ・サービス34を含む。コントローラ32は、アプリケーション・サーバ10の構成制御20と通信し、対応するデータベース・アプリケーションに関する要求されたアプリケーション特有の特性情報を構成リポジトリ60から取り出すために、構成マネージャ・サービス34と協働する。取り出されたアプリケーション特有の特性情報は、コントローラによって要求側アプリケーション・サーバに転送される。
構成マネージャ・サービス34は、構成リポジトリ60にアクセスし、アプリケーション特有の特性およびその他の情報を取り出して、その内部に格納する。さらに、構成マネージャ・サービスは、構成マネージャ・インターフェース40を介して、1つまたは複数のエンド・ユーザ・システム90と対話する。構成マネージャ・インターフェースは、管理者(データベース管理者、システム管理者、または他のユーザ)が、以下で説明するように、アプリケーション・サーバ10のデータベース・アプリケーションを制御するために、構成リポジトリ60内のアプリケーション特有の特性情報の表示あるいは修正、またはその両方を実行できるようにするものである。構成マネージャ・インターフェース40は、構成マネージャ・サービス34によって生成され、エンド・ユーザ・システム90上で管理者に提示することができる。エンド・ユーザ・システム90および制御サーバ30は互いにリモートであり、ネットワーク70を介して通信することができる。別の方法として、エンド・ユーザ・システム90は制御サーバ30に対してローカルとし、通信媒体79を介して通信することができる。通信媒体は、任意の好適な通信媒体(たとえば、ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって、実装可能である。コントローラ32、構成マネージャ・サービス34、および構成マネージャ・インターフェース40は、ソフトウェアあるいはハードウェアまたはその両方のモジュールまたはユニットの、任意の組み合わせによって実装可能である。
制御サーバ30およびエンド・ユーザ・システム90は、好ましくは、ディスプレイまたはモニタ、ベース(たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス(たとえばモデム、ネットワーク・カードなど)、またはそれらすべてを含む)、オプションの入力デバイス(たとえばキーボード、マウス、または他の入力デバイス)、および、任意の市販の(たとえばサーバ、ブラウザ、または他の通信ソフトウェアなど)あるいは、以下で説明するようなデータベース・アプリケーションを制御するための特別注文の(たとえば制御ソフトウェアなど)、またはその両方のソフトウェアが装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。構成リポジトリ60は、任意数の任意タイプの従来型または他のデータベース、データ・ストア、またはストレージ構造(たとえば、ファイル、データベース、データ構造など)によって、実装可能である。
構成マネージャ・インターフェース40は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、アプリケーション・サーバ10のデータベース・アプリケーション80を構成および制御するために、構成リポジトリ60内のアプリケーション特有の特性情報の表示、定義、入力、あるいは修正、またはそれらすべてを実行できるようにするものである。各データベース・アプリケーション80には固有の識別子が割り当てられ、データベース・アプリケーションに関する構成を提供するアプリケーション特有の特性情報は、構成識別子(たとえば識別子113(図3〜6))に基づいて、構成リポジトリ60内に格納される。このように、構成識別子は、データベース・アプリケーションに関する所望の構成を提供するために、適切なアプリケーション特有の特性情報を取り出すためのインデックスまたはキーとして機能する。たとえば、構成識別子は、構成リポジトリ60内のアプリケーション特有の特性情報の位置を示す、ファイル名、ポインタ、または他のインジケータを取り出すために使用可能である(たとえば、構成識別子に基づいてアプリケーション特有の特性情報の位置を提供するために、ルックアップ・テーブルが採用可能であるなど)。別の方法として、構成識別子は、ファイル名、ポインタ、または他のインジケータとするか、あるいは、アプリケーション特有の特性情報に関する位置情報を含むデータベース・テーブル内へのインデックスとすることができる(たとえば、構成識別子は、データベース・テーブル内のキー・フィールドとすることができるなど)。
本発明の実施形態では、データベース・アプリケーションは単一の構成に関連付けられ、構成識別子はデータベース・アプリケーション識別子と同じとすることができる。たとえば、データベース・アプリケーション識別子は論理名を含み、(複数の層を備えるプログラム・スタックを含む)データベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報を識別することができる。管理者は、データベース・アプリケーションに関する論理名の知識を有すること、および、情報の入力中に、構成を定義するアプリケーション特有の特性情報をデータベース・アプリケーションに関係付けるために、構成識別子になる論理名(またはデータベース・アプリケーション識別子)を提供することができる。
別の方法として、管理者は、データベース・アプリケーションの1つまたは複数の属性(たとえばURLまたはアドレスなど)を入力することが可能であり、構成マネージャ・サービス34は、属性に基づいて(たとえば、アプリケーション・サーバと通信することによって、データベース・アプリケーション属性および論理名を含むルックアップまたは他のテーブルを介して、など)、所望のデータベース・アプリケーションに関する論理名(またはデータベース・アプリケーション識別子)を確認することが可能である。この場合、決定された論理名(またはデータベース・アプリケーション識別子)が構成識別子になり、構成を定義するアプリケーション特有の特性情報を所望のデータベース・アプリケーションに関連付けるために使用される。
したがって、データベース・アプリケーション識別子は、データベース・アプリケーション80に関する構成を定義する適切なアプリケーション特有の特性情報を構成リポジトリ60から取り出すために、アプリケーション・サーバ10によって使用可能である。たとえば、アプリケーション・サーバ10上のデータベース・アプリケーション80に論理名「A」を割り当てることができる。構成リポジトリ60内でそのデータベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報に関するルックアップは、論理名「A」(データベース・アプリケーション識別子および構成識別子の両方である)に基づいて実行され、結果として生じるアプリケーション特有の特性情報が(たとえば、データベース・アプリケーションのプログラム・スタック内の層に)適用される。同様に、同じかまたは異なるアプリケーション・サーバ上の別のデータベース・アプリケーションに論理名「B」を割り当てることができる。このその他のデータベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報に関するルックアップは、論理名「B」(データベース・アプリケーション識別子および構成識別子の両方である)に基づいて実行され、結果として生じるアプリケーション特有の特性情報が(たとえば、他のデータベース・アプリケーションのプログラム・スタック内の層に)適用される。
本発明の実施形態では、データベース・アプリケーション80に関して複数の構成を定義することができる。この場合、アプリケーション・サーバ10は、構成識別子113を決定するためにデータベース・アプリケーション識別子および追加の情報を提供し、構成リポジトリ60から特定の構成を定義する適切なアプリケーション特有の特性情報を取り出すことができる。例を挙げると、追加の情報は、所望の構成の属性(たとえば、特性の記述、構成名、(最も新しいもの、最も古いものなどを取り出すために)作成または修正の日付など)を含むことが可能であり、構成マネージャ・サービス34は、データベース・アプリケーション識別子および属性に基づいて(たとえば、構成属性および論理名を含むルックアップまたは他のテーブルなどを介して)、所望の構成識別子113を決定することが可能である。加えて、構成識別子113は、追加の情報がデータベース・アプリケーション識別子に付加されるかまたは他の方法でこれに組み込まれた状態の、データベース・アプリケーション識別子を含むことが可能であり、ここで構成識別子は、所望の構成を定義するアプリケーション特有の特性情報を取り出すために、アプリケーション・サーバによって決定および提供することができる。
別の方法として、それぞれのデータベース・アプリケーション構成を定義するアプリケーション特有の特性情報を、それぞれ、その構成に関するアプリケーション特有の特性情報をデータベース・アプリケーションに関連付ける、その構成に特有の(たとえばデータベース・アプリケーション識別子とは無関係であり、構成の作成/修正中に割り当てられる)構成識別子113に関連付けることができる。この場合、構成識別子113は、その構成に関するアプリケーション特有の特性情報を取り出すために、(データベース・アプリケーション識別子を伴って、または伴わずに)アプリケーション・サーバ10によって提供可能である。あるいは構成識別子113は、データベース・アプリケーション識別子に付加されるかまたはこれに組み込まれた、この特有の構成識別子を含むことが可能であり、ここで構成識別子113は、構成に関するアプリケーション特有の特性情報を取り出すために、アプリケーション・サーバによって決定および提供することができる。
構成マネージャ・インターフェース40は、好ましくは、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)と対話するため、およびデータベース・アプリケーションを構成するために、複数のグラフィカル・ユーザ・インターフェース画面を使用する。構成マネージャ・インターフェースは、構成マネージャ・サービス34によって生成され、エンド・ユーザ・システム90上で管理者に提示することができる。データベース接続に関連する情報を提供する例示的インターフェース画面が、図2に示されている。具体的に言えば、インターフェース画面105は、企業システム内のデータベース接続に関する情報を提供する。インターフェース画面は、様々な情報を表示するためにそれぞれが管理者によって選択可能な、複数のタブ115を含む。例を挙げると、タブ115は、Welcome、Manage Database Connections、およびData Client Managementを含む。インターフェース画面105は、ホスト領域111および作業領域117をさらに含み、Manage Database Connectionsタブ115の作動に応答して表示される、例示的画面を反映する。ホスト領域111は、管理者による選択のために、ディレクトリ・タイプ構造内に様々なホストを提供する。管理者が(たとえばマウスまたは他の入力デバイスを介して)ホストを選択すると、選択されたホストに関する接続情報が構成リポジトリ60から取り出され、作業領域117内に表示される。例を挙げると、作業領域117は、Name、Data ServerType、Database Name、User ID、Host Name、およびPort Numberを含む列を備えた、テーブルを含む。Nameフィールドは、データベース接続の名前を含む。Data Server Typeフィールドは、データベース・サーバのタイプ(たとえば採用されるサーバ・ソフトウェアなど)を提供する。Database Nameフィールドはデータベースの名前を含み、User IDフィールドはユーザの識別を含む。Host Nameフィールドはホスト・コンピュータ・システムの名前(たとえばURLまたはアドレスなど)を含み、Port Numberフィールドは接続に使用されているポートを含む。
テーブルの各行は、選択された項目に関する情報(たとえば、図2に表示されるような、選択されたホストcfgmgr.com)を提供する。インターフェース画面105は、管理者が、制御システムに新しいデータベース接続を追加(または登録)し、その後、アクチュエータ107を介して、それらのデータベース接続の表示、編集、あるいは削除、またはそれらすべてを実行できるようにするものである。データベース接続に関して管理者によって入力された情報は、構成マネージャ・サービス34によって構成リポジトリ60内に格納される。
データベース・アプリケーションに関する構成情報を提供する例示的インターフェース画面が、図3に示されている。具体的に言えば、インターフェース画面110は、アプリケーション・サーバ10上のデータベース・アプリケーションの構成に関する情報を提供する。インターフェース画面110は、Data Client Managementタブ115の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域112および作業領域114を含む。構成領域112は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)による選択のために、データベース・アプリケーションの様々な構成を提供する。構成は、アプリケーション特有の特性情報を含み、構成バージョン119と、前述のように構成をデータベース・アプリケーションに関連付ける構成識別子またはキー113とによって、指示される。作業領域114は、選択された構成に関連する様々な情報を表示するために、それぞれが管理者によって選択可能な、複数のタブ116を含む。例を挙げると、タブ116は、Configuration、Properties、Connections、およびSQLを含む。さらにインターフェース画面110は、Configurationタブ116の作動に応答して表示される、例示的画面を反映する。Configurationタブは、作業領域114内での選択された構成の表示を可能にする。
管理者が(たとえばマウスまたは他の入力デバイスを介して)構成を選択すると、選択された構成に関する情報が構成リポジトリ60から取り出され、作業領域114内に表示される。例を挙げると、作業領域114は、Version、Client Refresh Update、Description、Contactname、Contact Locator、およびContact descriptionとラベル表示されたフィールドを含む。Versionフィールドは構成のバージョンを含み、Client Refresh Updateフィールドは、情報をリフレッシュするための時間間隔と、対応する時間単位(たとえば分など)を含む。Descriptionフィールドは、選択された構成の説明を含む。Contact name、Contact Locator、およびContactdescriptionのフィールドは、それぞれ、連絡担当者(たとえば、構成のバージョンを作成/修正するか、またはその責務を負う、管理者など)の名前、対応する通知情報(たとえば電子メール(Eメール)および対応する電子メール・アドレスなど)を連絡担当者に通知する方式、および連絡担当者の説明(たとえば役職、職責など)を含む。様々なフィールド内の情報は、選択された構成に関する情報を更新するために、管理者によって入力あるいは修正、またはその両方を実行することが可能であり、この情報は、構成マネージャ・サービス34によって構成リポジトリ60内に格納される。
管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、データベース・アプリケーションのアプリケーション特有の特性情報の表示、定義、あるいは編集、またはそれらすべてを実行できるようにする、例示的インターフェース画面が、図4に示されている。具体的に言えば、インターフェース画面120は、前述のインターフェース画面110と同様であり、データベース・アプリケーションのアプリケーション特有の特性情報に関する情報を提供する。インターフェース画面120は、Data Client Managementタブ115およびPropertiesタブ116の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域112および作業領域114を含む。構成領域112は、管理者による選択のためにデータベース・アプリケーションの様々な構成を提供し、構成は、前述のように、構成識別子またはキー113および構成バージョン119によって指示される。管理者が(たとえば、マウスまたは他の入力デバイスを介して)構成を選択すると、選択された構成に関するアプリケーション特有の特性情報が構成リポジトリ60から取り出され、作業領域114内に表示される。例を挙げると、作業領域114は、Driver Type、Name、Value、Override、Type、およびDescriptionを含む列を備えたテーブルを表示する。Driver Typeフィールドはドライバのタイプを含み、Nameフィールドはアプリケーション特有の特性情報内の特性の名前を含む。Valueフィールドは、アプリケーション特有の特性情報内の特性の値を含む。Typeフィールドは特性値のタイプ(たとえば整数、文字など)を含み、Descriptionフィールドはアプリケーション特有の特性情報内の特性の説明を含む。
Overrideフィールドは、データベース・アプリケーションに対して使用されることになる特性値を決定する。アプリケーション特有の特性情報内の特性に対してオーバーライドが実行可能になった(たとえば、特性に対するチェック記号(たとえば、図4に表示されるようなfetchSizeおよびuseTransactionR)が提示される)場合、テーブル内に指定されたその特性に関する値が、データベース・アプリケーション構成に使用される。アプリケーション特有の特性情報内の特性に対してオーバーライドが実行不可になった(たとえば、特性に対するチェック記号(図4に表示されるようなaccountingInter)がない)場合、データベース・アプリケーションによって設定された特性に関する値(たとえば初期またはデフォルトの値)が使用される。しかしながら、オーバーライドが実行不可であるアプリケーション特有の特性情報内の特性に関する値が、データベース・アプリケーションによって設定されていない(たとえば、特性に対する初期またはデフォルトの値がない)場合、その特性に関してテーブル内に指定された値が使用される。
テーブルの各行は、選択された項目に関するアプリケーション特有の特性情報を提供する(たとえばJCCドライバは、図4に示されるように、3600の値を伴いオーバーライドが実行不可のaccountingInter、25の値を伴いオーバーライドが実行可能なfetchSize、およびtrueの値を伴いオーバーライドが実行可能なuseTransactionRという、特性を含む)。インターフェース画面120は、さらに管理者が、アプリケーション特有の特性情報内の特性の入力あるいは修正またはその両方を実行できるようにするものである。これは、様々なアクチュエータの使用によって達成される。具体的には、保存アクチュエータ121は入力された特性値の格納を容易にし、削除アクチュエータ127はテーブルから選択された特性の削除を実行可能にする。新規アクチュエータ123は、テーブルから選択された項目の新しい特性に関する値を定義および入力するために、対応するフィールドを伴う入力ウィンドウの表示を容易にする。編集アクチュエータ125は、選択された特性の値を変更できるようにする。特性および対応する値を含むアプリケーション特有の特性情報は、構成マネージャ・サービス34によって構成リポジトリ60内に格納される。
データベース・アプリケーションに関する接続情報を提供する例示的インターフェース画面が、図5に示されている。具体的に言えば、インターフェース画面130は、前述のインターフェース画面110、120と同様であり、選択されたデータベース・アプリケーション構成に対するデータベース接続に関する情報を提供する。インターフェース画面130は、Data Client Managementタブ115およびConnectionsタブ116の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域112および作業領域114を含む。構成領域112は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)による選択のために、データベース・アプリケーションの様々な構成を提供し、構成は、前述のように、構成識別子またはキー113および構成バージョン119によって指示される。管理者が(たとえばマウスまたは他の入力デバイスを介して)構成を選択すると、選択された構成に関する接続情報が構成リポジトリ60から取り出され、作業領域114内に表示される。例を挙げると、作業領域114は、ConnectionおよびDatabaseを含む列を伴うテーブルを表示する。Connectionフィールドはデータベース・アプリケーション接続の名前を含み、Databaseフィールドは、接続の通信リンクの確立先であるデータベースを含む。
テーブルの各行は、選択された項目に関する情報を提供する(たとえば、REPO-ConnectionはREPOデータベースに関連付けられる)。インターフェース画面130は、管理者が、データベース・アプリケーションから選択されたデータベースまでの作成アクチュエータ131を介した接続を作成できるようにするものである。作成アクチュエータは、新しい接続に関する情報を定義および入力するための対応するフィールドを備えた入力ウィンドウの表示を容易にする。作成された接続に関する特性および対応する値には、前述された方式とほぼ同じ方式で、1つまたは複数のインターフェース画面を介した表示、入力、あるいは修正、またはそれらすべてを実行することができる。接続情報および対応するアプリケーション特有の特性情報は、構成マネージャ・サービス34によって構成リポジトリ60内に格納される。
さらに本発明の実施形態は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、アプリケーション・サーバ側の照会言語(たとえばSQLなど)実行モデルに影響を与えられるようにするものである。実行モデルおよび関連付けられた特性またはパラメータは、データベース・アプリケーションから実行される照会言語(たとえばSQLなど)を制御するための構成制御20のフレームワーク(たとえばIBM pureQueryなど)の特定の機能に関係する。本発明の実施形態は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、最適化された照会言語(たとえばSQLなど)ステートメントを提供できるようにするものである。照会言語の最適化は、照会言語(たとえばSQLなど)ステートメントの不十分な実行を、ステートメントのより良い実行に置き換えること、または、照会言語(たとえばSQLなど)ステートメント・パラメータを、パラメータ・マーカに置き換えることを含むことが可能であり、これによってステートメントをキャッシュに入れることおよび再使用が実行可能になる。
さらに本発明の実施形態は、管理者が、実行される照会言語(たとえばSQLなど)ステートメントを制限すること、および、実行のためにデータベース・アプリケーションからデータベース50へと転送される照会言語(たとえばSQLなど)ステートメントのバッチ処理を制御することを、実行できるようにするものである。照会言語(例えばSQLなど)実行モデルに関する特性またはパラメータを含むアプリケーション特有の特性情報は、構成リポジトリ60内に格納される。
したがって、本発明の実施形態は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)がフレームワーク(たとえばJPAなど)を最適化できるようにするものであり、照会言語(たとえばSQLなど)は自動的に生成される。本発明の実施形態は、管理者が、データベースに対して実行される照会言語(たとえばSQLなど)の取り込み、表示、最適化、および制限を実行できるようにするものである。照会言語(たとえばSQLなど)がデータベース・アプリケーションに対して最適化されると、この最適化をデータベース・アプリケーションをホストしている他のシステムに転送することが可能であり、これによって、照会言語(たとえばSQLなど)実行モデルの集中制御が提供される。
管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、データベース・アプリケーションに関する照会言語(たとえばSQLなど)実行モデルに関連する様々な情報を表示および入力できるようにするための、例示的インターフェース画面が、図6に示されている。具体的に言えば、インターフェース画面155は前述のインターフェース画面110、120、130と同様であり、選択されたデータベース・アプリケーション構成に対して、照会言語(たとえばSQLなど)実行モデルに関連する情報を提供する。インターフェース画面155は、Data Client Managementタブ115およびSQLタブ116の作動に応答して表示される、例示的画面を反映する。インターフェース画面は、構成領域112および作業領域114を含む。構成領域112は、管理者による選択のためにデータベース・アプリケーションの様々な構成を提供し、構成は、前述のように、構成識別子またはキー113および構成バージョン119によって指示される。
管理者が、(たとえばマウスまたは他の入力デバイスを介して)構成を選択すると、選択された構成に関するアプリケーション特有の特性情報の照会言語(たとえばSQLなど)実行モデル情報が構成リポジトリ60から取り出され、作業領域114に表示される。例を挙げると、作業領域114は、最適化領域157、制限領域159、およびバッチ領域161を含む。これらの領域には、構成リポジトリ60から取り出された適切な構成情報が自動的に記入されることが可能である。最適化領域157は、管理者が、選択されたデータベース・アプリケーション構成内で実行される特定のステートメントに関する最適化された照会言語(たとえばSQLなど)の、表示または入力あるいはその両方を実行できるようにするためのフィールドを含む。さらに管理者は、最適化されたステートメントに関する実行のタイプ(たとえば以下で説明するように、静的または動的など)、および、最適化領域内での実装の方式(たとえば結合または置換など)の、表示あるいは指示またはその両方が可能である。最適化された照会言語(たとえばSQLなど)に関して管理者によって入力された情報は、構成マネージャ・サービス34によって、アプリケーション特有の特性情報の一部として構成リポジトリ60に格納される。
制限領域159は、管理者が、所与のデータベース上での実行が許可された照会言語(たとえばSQLなど)ステートメントのリストの、表示あるいは入力またはその両方を実行できるようにするためのフィールドを含む。制限領域に対して管理者によって入力された情報は、構成マネージャ・サービス34によって、アプリケーション特有の特性情報の一部として構成リポジトリ60に格納される。
バッチ領域161は、管理者が、実行のために一緒にバッチ処理されることになる照会言語(たとえばSQLなど)ステートメントの表示あるいは指定またはその両方を実行できるようにするためのフィールドを含む。バッチ処理は、複数の照会言語(たとえばSQLなど)実行を組み合わせて、データベースに対する単一の要求にすることによって、性能を向上させる。たとえば、接続の使用は、異種のバッチを使用することによって最適化可能であり、トランザクションがコミットされるまで実行を遅延する。これによってフレームワークは、実行のためにわずかな時間だけデータベース・アプリケーションに物理的な接続を割り当てることができる。このバッチ処理は、データベース・アプリケーションに関連付けられた1つまたは複数の特性またはパラメータ内に指定可能であり、バッチ領域161フィールド内に入力することができる。バッチ領域に対して管理者によって入力された情報は、構成マネージャ・サービス34によってアプリケーション特有の特性情報の一部として、構成リポジトリ60に格納される。
構成マネージャ・サービス34は、データベース・アプリケーションの他の態様の制御を実行可能にするための情報を受信するために、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)と対話することができる。たとえば制御システムは、管理者が、最適化されたオブジェクト対関係(O/R)マッピング特性を、アプリケーション特有の特性情報の一部として、アプリケーション・サーバに集中的に転送可能にする(たとえば、各個別のアプリケーション・サーバ上でこれらの設定を構成するのを防ぐために)ことができる。この場合、特性は少なくともプログラム・スタック81のマッピング論理14と関連付けられ、データベース内の関係テーブルまたは他の構造に対する、コンピュータ・プログラミング言語内のオブジェクトのマッピングを制御する。例を挙げると、特性は、データベース・テーブルからのオブジェクト・ローディング(またはマッピング)の精度を制御することができる(たとえば、怠惰な(lazy)ローディング(精度が低い)または熱心な(eager)ローディング(精度が高い))。しかしながら、データベース・アプリケーションの任意の好適なアプリケーション特有の特性情報は、関係または他のタイプのデータベースに対するオブジェクトのマッピングを制御するために、インターフェース40を介して調整可能である。
さらに、制御システムは、どの管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、作成中のデータベース・オブジェクトに対して規則を実行および施行できるかを、制御することができる。データベース接続から管理者を抽出するためのプロファイルを確立することができる。プロファイルは、(ユーザ識別およびパスワードを使用する必要なしに)データベース接続をカプセル化し、認証に関する基準を含める。プロファイルおよび関連付けられたデータベース・オブジェクト規則に関する情報は、構成マネージャ・インターフェース40および構成マネージャ・サービス34を介して、管理者によって入力され、アプリケーション特有の特性情報の一部として、構成リポジトリ60に格納することができる。
構成制御20は、プロファイルおよび関連付けられた規則を、データベース・アプリケーションのアプリケーション特有の特性情報として取り出し、管理者を認証する(たとえば拒否権付きの呼び出しを実行する)ためにこのプロファイルを使用する。管理者が(たとえばデータベース、システム、または他の管理者として)認証された場合、構成制御20は、認証された管理者が、対応するデータベース50のオブジェクトへのアクセスを制御するための規則を確立および施行できるようにする。このように、管理者は、カタログ・オブジェクトを読むために基礎となるデータベースにアクセスするための多くの特権なしに接続を使用し、規則の確立および施行のためにプロファイルを使用することができる。
管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)は、制御サーバ30からのデータベース・アプリケーションの任意の部分を集中的に構成および制御するために、インターフェース40または他の入力メカニズムを介して、(たとえば、アプリケーション・サーバ、プログラム・スタック層のうちのいずれか、接続のうちのいずれか、照会言語(たとえばSQLなど)実行モデルなどに関連付けられた)アプリケーション特有の特性情報に関する値を指定するか、またはこれらのうちの任意のデータベース・アプリケーション特性を修正することができる。構成を定義するアプリケーション特有の特性情報は、さらに、同じアプリケーション・サーバのうちの1つまたは複数のデータベース・アプリケーションに対して、または任意数の異なるアプリケーション・サーバのうちの1つまたは複数のデータベース・アプリケーションに対して、適用することができる。構成に関するデータベース・アプリケーションは、任意の好適な基準によってグループ化することが可能であり、グループ・メンバに対して同じ構成の取り出しが実行できるようにするために、同じ構成識別子が各グループ・メンバによって使用される。
アプリケーション・サーバ10が、(たとえば構成制御20を介して)データベース・アプリケーションを制御するためにアプリケーション特有の特性情報を取り出して適用する方式が、図7に示されている。初めに、(たとえば、アプリケーション・サーバ10、プログラム・スタック81の層82、データベース接続、あるいは照会言語(たとえばSQLなど)実行モデル、またはそれらすべてに関する特性を含む)データベース・アプリケーション特有の特性情報が、前述のように、構成マネージャ・インターフェース40を介して、定義され、グループ化され、コントローラ32に登録される。アプリケーション・サーバ10のデータベース・アプリケーションに集中制御が採用される場合、構成制御20はステップ140で、制御サーバ30の存在を検出し、制御サーバとの適切な通信を確立する。検出は、フラグ、ユニフォーム・リソース・ロケータ(URL)またはアドレス、あるいは、構成制御20にアクセス可能な他の制御サーバの存在のインジケータ(たとえば、構成変数、所定の位置、パラメータなどに格納される)を使用することによって、達成可能である。構成制御は、コントローラ32との通信を確立するために、制御サーバ30に関する指定されたURLまたはアドレスを使用する。別の方法として、構成制御は、通信を確立するために、ネットワーク上の制御サーバの存在(およびURLまたはアドレス)を決定するための自動検出メカニズムを含むことができる。
適切な通信が確立されると、ステップ142で、構成制御20は、構成識別子またはキー113に基づいて、対応するデータベース・アプリケーション80に関する所望のアプリケーション特有の特性情報に関してコントローラ32に照会する。構成制御20は、構成マネージャ・サービス34を介して構成リポジトリから所望の構成を定義するアプリケーション特有の特性情報を取り出すために、構成識別子113(あるいは、前述のように、構成識別子の決定を実行可能にする他の情報、またはその両方)をコントローラ32に渡す。
ステップ143で、アプリケーション特有の特性情報が取り出されないものと決定された場合、ステップ149で、構成制御20は、アプリケーション特有の特性情報がないことを示す例外またはメッセージをコントローラ32から受信し、データベース・アプリケーションは初期またはデフォルトの特性値で続行する。構成制御20あるいはコントローラ32またはその両方は、アプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関する問題の通知を提供するために、エラーまたは他のメッセージの管理者への表示を容易にすることができる。
アプリケーション特有の特性情報が取り出された場合、ステップ144で、構成制御20は、取り出されたアプリケーション特有の特性情報をコントローラ32から受信し、データベース・アプリケーションを構成するために、受信されたアプリケーション特有の特性情報内の特性値を適用する。具体的に言えば、構成制御20は、受信されたアプリケーション特有の特性情報内の値で、既存のパラメータまたは特性値を修正する。これは、受信した値を更新し、既存の特性またはパラメータ値(たとえば、アプリケーション・サーバおよびプログラム・スタック層が、照会言語(たとえばSQLなど)実行モデルの動作あるいは実装またはその両方のために、格納されたパラメータが見つけられるものと予測される位置)を含む、対応する構成変数、メモリ、または他のストレージ位置(たとえば、ファイル、レジスタなど)に格納することによって、達成可能である。受信した特性値が適用されると、データベース・アプリケーション構成が更新され、データベース・アプリケーションはそれらの受信した値に従って動作する。
ステップ146で、構成制御20は、データベース・アプリケーション特有の特性情報に対するいずれかの更新の存在を決定するために、定期的にチェックする。たとえばこれは、構成マネージャ・サービス34が構成マネージャ・インターフェース40を介して、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)との対話中の、アプリケーション特有の特性情報の入力あるいは更新またはその両方を識別することによって達成可能である。構成マネージャ・サービスは、各更新された構成の更新された情報および関連付けられた構成識別子113の存在を、コントローラ32に通知する。構成制御20からの更新に関する照会に応答して、コントローラ32は、アプリケーション特有の特性情報内の更新の存在を決定する。アプリケーション特有の特性情報が更新された場合、コントローラ32は、前述とほぼ同じように構成識別子113に基づいて、更新されたアプリケーション特有の特性情報を構成リポジトリ60から取り出すよう試行する。
ステップ147で決定されたように、アプリケーション特有の特性情報が更新されなかった場合、または更新されたアプリケーション特有の特性情報を構成識別子113に基づいて取り出すことができなかった場合、ステップ149で、構成制御20は、更新されたアプリケーション特有の特性情報がないことを示す例外またはメッセージをコントローラ32から受信し、データベース・アプリケーションは従来の特性値で続行する。構成制御20あるいはコントローラ32またはその両方は、更新されたアプリケーション特有の特性情報がない旨、または、更新されたアプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関した問題の存在の通知を提供するために、エラーまたは他のメッセージを管理者に表示するのを容易にすることができる。
更新されたアプリケーション特有の特性情報が取り出された場合、コントローラ32は、更新されたアプリケーション特有の特性情報を構成制御20に転送する。構成制御は、更新されたアプリケーション特有の特性情報をコントローラ32から受信し、ステップ148で、前述とほぼ同じように、データベース・アプリケーションを構成するために、更新されたアプリケーション特有の特性情報を適用する。
構成制御20あるいはコントローラ32またはその両方は、監査目的で、更新されたアプリケーション特有の特性情報を構成リポジトリ60に送信する。さらに構成制御は、アプリケーション特有の特性情報をアプリケーション・サーバ上にローカルに持続させることができる。
制御サーバ30が、データベース・アプリケーションに関する対応するアプリケーション特有の特性情報を取り出す方式が、図8に示されている。初めに、データベース・アプリケーション特有の特性情報(たとえば、アプリケーション・サーバ10、プログラム・スタック81の層82、データベース接続、あるいは照会言語(たとえばSQLなど)実行モデル、またはそれらすべてに関する、特性を含む)が、定義され、グループ化され、コントローラ32に登録され、アプリケーション・サーバ10と制御サーバ30との間の適切な通信が、前述のように確立される。具体的に言えば、ステップ150で、コントローラ32は、アプリケーション・サーバ10の構成制御20から、対応するデータベース・アプリケーションに対して所望の構成を定義するアプリケーション特有の特性情報に関する要求を受信する。要求は、アプリケーション特有の特性情報の取り出しに関するものとすることが可能であり、構成識別子113(あるいは、前述のように構成識別子の決定を可能にする他の情報、またはその両方)、または、更新されたアプリケーション特有の特性情報を取り出すための定期的な照会を含む。ステップ152で、コントローラは、アプリケーション特有の特性情報を取り出すために構成リポジトリ60と通信する構成サービス・マネージャ34と協働する。コントローラ32は、所望の構成を定義するアプリケーション特有の特性情報の取り出しを実行可能にするために、構成識別子113(あるいは、前述のように構成識別子の決定を実行可能にする他の情報、またはその両方)を、構成マネージャ・サービス34に提供する。構成識別子(あるいは、前述のように構成識別子の決定を実行可能にする他の情報、またはその両方)を要求内でコントローラ32に提供することが可能であるか、または、コントローラが、前述のように、更新された情報の構成マネージャ・サービスからの通知によって、構成識別子を所有することができる。ステップ153で、アプリケーション特有の特性情報が取り出されないか、または更新された情報が存在しないことが決定された場合、ステップ156で、アプリケーション特有の特性情報がないことを示す例外またはメッセージが、コントローラ32によって構成制御20に転送される。構成制御20あるいはコントローラ32またはその両方は、更新されたアプリケーション特有の特性情報がない旨、または、アプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関した問題の存在の通知を提供するために、エラーまたは他のメッセージを管理者に表示するのを容易にすることができる。
アプリケーション特有の特性情報が構成リポジトリ60から取り出された場合、取り出されたアプリケーション特有の特性情報は構成マネージャ・サービス34によって受信され、ステップ154で、前述とほぼ同じように、データベース・アプリケーション構成を更新するため、構成制御20への転送のためにコントローラ32に提供される。
別の方法として、制御サーバ30は、アプリケーション特有の特性情報のために制御サーバをポーリングするアプリケーション・サーバの代わりに、更新されたアプリケーション特有の特性情報をアプリケーション・サーバ10に自動的に提供することができる。制御サーバ30が、更新されたアプリケーション特有の特性情報をアプリケーション・サーバ10に自動的に提供する方式が、図9に示されている。初めに、アプリケーション特有の特性情報の特性(たとえば、アプリケーション・サーバ10、プログラム・スタック81の層82、データベース接続、あるいは照会言語(たとえばSQLなど)実行モデル、またはそれらすべてに関する、特性を含む)が、定義され、グループ化され、コントローラ32に登録され、アプリケーション・サーバ10と制御サーバ30との間の適切な通信が、前述のように確立される。具体的に言えば、コントローラ32は、更新されたアプリケーション特有の特性情報の存在を決定する。たとえばこれは、前述のように、構成マネージャ・サービス34が構成マネージャ・インターフェース40を介して、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)との対話中の、アプリケーション特有の特性情報の入力あるいは更新またはその両方を識別すること、ならびに、更新されたアプリケーション特有の特性情報および各更新された構成の関連付けられた構成識別子113の存在をコントローラ32に通知することによって、達成可能である。
ステップ160で決定されたように更新が存在する場合、ステップ162で、コントローラ32は、前述とほぼ同じように、構成識別子113に基づいて、構成リポジトリ60から構成マネージャ・サービス34を介して、更新されたアプリケーション特有の特性情報を取り出す。ステップ163で決定されたように、更新されたアプリケーション特有の特性情報が取り出されない場合、コントローラは、構成識別子113に関連付けられたデータベース・アプリケーションをホストする適切なアプリケーション・サーバを決定し、ステップ165で、更新されたアプリケーション特有の特性情報の取り出しの問題の存在を示す例外またはメッセージを、そのアプリケーション・サーバの構成制御20に送信する。この場合、データベース・アプリケーションは従来の値で続行する。構成制御20あるいはコントローラ32またはその両方は、アプリケーション特有の特性情報の取り出し、あるいはデータベース・アプリケーションの構成、またはその両方に関する問題の存在の通知を提供するために、エラーまたは他のメッセージの管理者への表示を容易にすることができる。
更新されたアプリケーション特有の特性情報が取り出された場合、コントローラは、構成識別子113に関連付けられたデータベース・アプリケーションをホストする適切なアプリケーション・サーバを決定し、ステップ164で、更新されたアプリケーション特有の特性情報をそのアプリケーション・サーバの構成制御20に転送する。構成制御は更新されたアプリケーション特有の特性情報をコントローラ32から受信し、更新されたアプリケーション特有の特性情報を、前述とほぼ同じようにデータベース・アプリケーションを構成するために適用する。このプロセスは、ステップ166で決定されるように、終止条件(たとえば電源切断など)が発生するまで繰り返される。
さらに本発明の実施形態は、前述のように管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、アプリケーション・サーバで照会言語(たとえばSQLなど)実行モデルに影響を与えることができるようにするものである。データベース・アプリケーションに関する照会言語実行モデルを制御することが可能な方式が、図10に示されている。初めに、構成制御20は、前述のように(たとえばIBM pureQueryフレームワークを介して)他のプログラム・スタック層82から照会言語(たとえばSQLなど)ステートメントを受信し、その実行を容易にする。具体的に言えば、構成制御20は、ステップ170で照会言語(たとえばSQLなど)ステートメントの実行を監視し、ステップ172でステートメントを取り込む。構成制御は照会言語ステートメントを取り込み、様々な関連情報(たとえば、データベース・アプリケーションおよび、ステートメント、時間などを提供する、特定のプログラム・スタック層)を追跡する。取り込まれた照会言語(たとえばSQLなど)ステートメントは、構成制御20によって、好ましくはファイル(たとえばXMLなど)に格納される。ファイルは、構成リポジトリ60内に構成マネージャ・サービス34によって格納されるために、コントローラ32に送信される。
照会言語(たとえばSQLなど)ステートメントが取り込まれると、構成マネージャ・サービス34は、構成マネージャ・インターフェース40を介してエンド・ユーザ・システム90上で管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)に提示するために、構成リポジトリ60からステートメントを取り出すことができる。管理者は、ステップ174で、ステートメントおよび様々な性能または他の情報(たとえば、各ステートメントについての実行時間など)を検討することができる。性能情報は、取り込まれた情報、および、ステートメントを実行した1つまたは複数の対応するデータベース50から集められた情報に基づく。照会言語(たとえばSQLなど)実行に関連する様々な性能情報を提供する例示的グラフィカル・ユーザ画面190が、図11に示されている。画面190は、照会言語(たとえばSQLなど)ステートメント、および1つまたは複数の対応するデータベース50によるそれらの実行に関連する、様々な例示的グラフィカル表現および図を含む。
再度図10を参照すると、照会言語(たとえばSQLなど)ステートメントが性能しきい値に準拠しない場合、管理者はステップ176で、照会言語(たとえばSQLなど)ステートメントを最適化することができる。たとえば、構成マネージャ・サービス34は、管理者が、前述のような特定のステートメントまたは一連のステートメントに関して最適化された照会言語セットを入力できるようにする、インターフェース画面155(図6)を提示することができる。
さらに管理者は、ステップ178で、実行される照会言語(たとえばSQLなど)ステートメントを制限することができる。たとえば構成マネージャ・サービス34は、管理者が、前述のように所与のデータベース上で実行されることが許可された照会言語(たとえばSQLなど)ステートメントのリストを作成できるようにする、インターフェース画面155(図6)を提示することができる。
加えて、さらに本発明の実施形態は、管理者が、ステップ179で、実行のためにデータベース50に転送される照会言語(たとえばSQLなど)ステートメントのバッチ処理を制御できるようにすることが可能である。たとえば構成マネージャ・サービス34は、管理者が、前述のようにアプリケーション・コードを変更することなくまとめてバッチ処理されることになる照会言語(たとえばSQLなど)ステートメントを指定できるようにする、インターフェース画面155(図6)を提示することができる。
最適化、制限、あるいはバッチ処理、またはそれらすべてが決定および入力されると、構成マネージャ・サービス34は、最適化された照会言語セット、ならびに制限およびバッチ処理指定を、前述のように情報を登録するために、構成識別子113に基づいて、アプリケーション特有の特性情報の一部として構成リポジトリ60に格納する。
構成制御20が初期化されるか、またはアプリケーション特有の特性情報が更新された場合、構成制御は、(たとえば最適化された照会言語(たとえばSQLなど)セット、対応するパラメータ、および、制限あるいはバッチ処理またはその両方に関する指定を含む)対応するデータベース・アプリケーションに関する構成を定義する、アプリケーション特有の特性情報を受信する。構成制御20は、ステップ180で、データベース・アプリケーションを構成するか、または初期化および他のタスクを実行する。静的実行用の構成である(たとえば、データベース・アプリケーション特性またはパラメータが静的実行を示す)場合、ステップ182で、最適化された照会言語(たとえばSQLなど)をデータベース50と結合させることができる。しかしながら、構成が動的実行用である(たとえば、データベース・アプリケーション特性またはパラメータが動的実行を示す)場合、ステップ182で、構成制御20はデータベース・アプリケーションによる実行のために、照会言語(たとえばSQLなど)ステートメントを遮断し、遮断されたステートメントをそれらの層に関する適切な最適化された照会言語(たとえばSQLなど)で置換する。これにより、複数のサーバおよび地理にわたって各データベース・アプリケーションまたは対応する特性を手動で修正することなく、最適化された照会言語(たとえばSQLなど)がデータベース・アプリケーションに転送できるようになる。アプリケーション特有の特性情報に基づいた静的実行のために、照会言語ステートメントの遮断および置換を同様に採用することができる。
照会言語(たとえばSQLなど)構成がインストールされると、制限あるいはバッチ処理またはその両方の指定に従って、照会言語ステートメントをデータベース50に転送し、ステップ184で実行することができる。たとえば、前述のように、接続の使用は、異種のバッチを使用することによって最適化可能であり、トランザクションがコミットされるまで実行を遅延する。これによってフレームワークは、実行のためにわずかな時間だけデータベース・アプリケーションに物理的な接続を割り当てることができる。このバッチ処理は、前述のように、データベース・アプリケーションに関連付けられたアプリケーション特有の特性情報のうちの1つまたは複数の特性またはパラメータ内に指定可能である。
さらに、実行の遅延によって、構成制御20がすべての照会言語(たとえばSQLなど)ステートメントを取り込んで分析し、それらのステートメントの最適化されたバッチ処理を提供できるようになる。たとえば、取り込まれたステートメント・セット内の冗長照会言語ステートメントを除去することが可能であり、ステートメントを統合するために取り込まれたセット内の同様のステートメントをパラメータ化することが可能である。さらに、実行のために提供されるステートメントの数を減らすために、取り込まれたセット内のステートメントの効果を構成制御20によって分析することが可能であり、それによって性能が向上する(たとえば、データの追加に続いてそのデータを削除することで、逆効果なしに、取り込まれたセット内のステートメントを除去することが可能であるなど)。
本発明の実施形態に従った制御システムに関する代替トポロジが、図12に示されている。初めに、制御システム200は、前述の制御システム100とほぼ同様であり、ここでコントローラ32および構成マネージャ・サービス34は、アプリケーション・サーバ・プログラム・スタック81の構成制御20内に埋め込まれ、対応するデータベース・アプリケーションに関する構成を定義するアプリケーション特有の特性情報を取り出すために、アプリケーション・サーバ10が、構成リポジトリ60に直接アクセスできるようにする。具体的に言えば、構成制御20は、1つまたは複数のアプリケーション・サーバ10および構成リポジトリ60を含む。アプリケーション・サーバおよび構成リポジトリは互いにリモートであり、ネットワーク70を介して通信することができる。ネットワークは、前述のように、任意数の任意の好適な通信媒体(たとえば、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、イントラネットなど)によって実装可能である。別の方法として、構成リポジトリ60はアプリケーション・サーバ10に対してローカルであり、通信媒体78を介して通信可能である。通信媒体は、前述のように、任意の好適な通信媒体(たとえば、ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって実装可能である。構成リポジトリ60がネットワーク(たとえばLANまたはWAN)によってアクセス可能である場合、構成リポジトリはデータベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース(たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス(たとえばモデム、ネットワーク・カードなど)、またはそれらすべてを含む)、オプションの入力デバイス(たとえばキーボード、マウス、または他の入力デバイス)、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア(たとえばサーバ/通信ソフトウェアなど)が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
アプリケーション・サーバ10は、前述のアプリケーション・サーバとほぼ同様であり、ここで各アプリケーション・サーバは、対応するトランザクションまたは他のデータベース50に結合される。データベース50および構成リポジトリ60は、前述のデータベースおよび構成リポジトリとほぼ同様である。各アプリケーション・サーバおよび対応するデータベースは互いにリモートであり、ネットワーク70を介して通信可能である。別の方法として、アプリケーション・サーバおよび対応するデータベースは互いにローカルであり、通信媒体76を介して通信可能である。通信媒体は、前述のように、任意の好適な通信媒体(たとえば、ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって実装可能である。データベース50がネットワーク(たとえばLANまたはWAN)によってアクセス可能である場合、データベースはデータベース・サーバを含むか、またはその形とすることができる。データベース・サーバは、好ましくは、ディスプレイまたはモニタ、ベース(たとえば、プロセッサ、メモリ、あるいは、内部または外部通信デバイス(たとえばモデム、ネットワーク・カードなど)、またはそれらすべてを含む)、オプションの入力デバイス(たとえばキーボード、マウス、または他の入力デバイス)、および、任意の市販あるいは特別注文の、またはその両方のソフトウェア(たとえばサーバ/通信ソフトウェアなど)が装備された、任意の従来型またはその他のコンピュータ・システムによって実装可能である。
各アプリケーション・サーバ10は、1つまたは複数のデータベース・アプリケーション80(たとえば、所望のアクションを実行するために、対応するデータベース50からのデータを処理するソフトウェア・アプリケーションを含むか、またはこれに関連付けられ、対応する基礎となるプロセスは、その処理のために対応するデータベース50からデータを取り出すためのデータベース・アクセス、対応するデータベース50への接続、あるいは、照会言語(たとえばSQLなど)実行モデル、またはそれらすべてを実装する)を含む。データベース50からのデータを処理するソフトウェア・アプリケーション、および対応する基礎となるプロセス(たとえばデータベース接続の管理を含む)が、プログラム・スタック81内に提供される。各アプリケーション・サーバ10は、前述のように、それぞれが、対応するデータベース50へのアクセスを提供し、照会言語(たとえばSQLなど)実行モデルを実装するように協働する、複数の層82を備えたプログラム・スタック81を含む、1つまたは複数のデータベース・アプリケーション80を含む。各データベース・アプリケーションは、そのデータベース・アプリケーションに関する1つまたは複数の構成を定義し、対応するデータベース50にアクセスする方式を制御する様々な特性またはパラメータを含む、アプリケーション特有の特性情報に関連付けられる。データベース・アプリケーションに関するアプリケーション特有の特性情報の様々な特性またはパラメータは、アプリケーション・サーバ10、あるいは1つまたは複数のプログラム・スタック層82、またはその両方に関連するものとすることができる。加えて、各データベース・アプリケーション80は(たとえばプログラム・スタック81を介して)、前述のように、照会言語(たとえばSQLなど)ステートメントの形でデータベース照会が実行される方式を制御する特性またはパラメータを含む、関連付けられたアプリケーション特有の特性情報を備えた実行モデルを実装する。
構成リポジトリ60は、前述のように、データベース・アプリケーションを構成するためのデータベース・アプリケーションに関する構成を定義する、アプリケーション特有の特性情報(たとえば、アプリケーション・サーバ10、プログラム・スタック81の層82、データベース接続、あるいは照会言語(たとえばSQLなど)実行モデル、またはそれらすべてに関する特性を含む)を格納する。制御システム200は、管理者(たとえば、データベース管理者、システム管理者、または他のユーザ)が、データベース・アプリケーションを集中制御できるようにするために、アプリケーション・サーバ10内で基本的には前述の制御サーバ30の機能を採用する。
具体的に言えば、構成制御20は、コントローラ32および構成マネージャ・サービス34を含み、それぞれが前述のコントローラおよび構成マネージャ・サービスとほぼ同様である。構成マネージャ・サービス34は、前述とほぼ同じように、データベース・アプリケーションを集中的に制御および構成するために、管理者が、アプリケーション特有の特性情報の表示、定義、入力、あるいは編集、またはそれらすべてを実行できるようにするために、1つまたは複数のエンド・ユーザ・システム90の構成マネージャ・インターフェース40と対話する。入力されたアプリケーション特有の特性情報は、前述のように、構成識別子113に基づいて、構成マネージャ・サービス34によって構成リポジトリ60に格納される。エンド・ユーザ・システム90およびアプリケーション・サーバ10は互いにリモートであり、ネットワーク70を介して通信可能である。べつの方法として、エンド・ユーザ・システム90はアプリケーション・サーバ10に対してローカルであり、通信媒体79を介して通信可能である。ネットワークは、前述のように、任意数の任意の好適な通信媒体(たとえば、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、イントラネットなど)によって実装可能である。
コントローラ32は、前述とほぼ同じように、構成識別子113に基づいて、構成リポジトリ60から、対応するデータベース・アプリケーションに関する所望な構成を定義するアプリケーション特有の特性情報を取り出すために、構成マネージャ・サービス34と協働する。アプリケーション特有の特性情報は、コントローラ32の初期化に応答して、または、前述のように、アプリケーション特有の特性情報に対する更新に応答して、取り出される。コントローラ32は、通信を確立するために構成リポジトリ60に関する指定されたURLまたはアドレスを使用することが可能であるか、あるいは、前述とほぼ同じように、構成リポジトリを検出するために自動検出メカニズムを採用することが可能である。
アプリケーション特有の特性情報が取り出されると、コントローラ32は、取り出されたアプリケーション特有の特性情報を構成制御20に提供する。構成制御は、前述とほぼ同じように、対応するデータベース・アプリケーションを構成するためにアプリケーション特有の特性情報を適用する。別の方法として、コントローラおよび構成サービス・マネージャを、アプリケーション・サーバ10のプログラム・スタック81内の1つまたは複数の層に埋め込むか、またはこれを形成すること、あるいは、データベース・アプリケーションを構成するために、アプリケーション・サーバの1つまたは複数のプログラム・スタックの外であるが、これにアクセス可能な、アプリケーション・サーバ上に常駐することが可能である。
上記で説明され、図面内に示された実施形態は、データベース・アプリケーションの集中制御のための実施形態を実装する多くの方法のうちの、いくつかのみを表すものであることを理解されよう。
本発明の実施形態のトポロジは、任意数のコンピュータまたは他の処理システム(たとえば、データベース、アプリケーション、制御、または他のサーバ・システム、エンド・ユーザ・システム90など)およびデータベース、あるいは任意の所望の様式で配置構成された他のリポジトリを含むことが可能であり、ここで、本発明の実施形態は、
任意の所望のタイプのコンピューティング環境(たとえば、クラウド・コンピューティング、クライアント・サーバ(たとえば、サーバとして働く制御サーバ(またはコントローラ)を備えたクライアントとして働くアプリケーション・サーバ(または構成制御))、ネットワーク・コンピューティング、メインフレームなど)に適用可能である。本発明の実施形態によって採用されるコンピュータまたは他の処理システムは、任意数の任意のパーソナルまたは他のタイプのコンピュータ、あるいは処理システム(たとえば、IBM互換、Apple、Macintosh、ラップトップ、パーム・パイロットなど)によって実装可能であり、任意の市販のオペレーティング・システム(たとえば、Windows、OS/2、Unix、Linuxなど)および任意の市販または特別注文のソフトウェア(たとえば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェア、制御ソフトウェア(たとえばコントローラ、構成マネージャ・サービス、構成マネージャ・インターフェース、プログラム・スタック層など))を、含むことができる。これらのシステムは、情報の入力あるいは表示またはその両方のために、任意のタイプのモニタおよび入力デバイス(たとえば、キーボード、マウス、音声認識など)を含むことができる。
本発明の実施形態のコンピュータ・システムのためのソフトウェア(たとえば、コントローラ、構成マネージャ・サービス、構成マネージャ・インターフェース、プログラム・スタック層など)は、任意の所望のコンピュータ言語で実装可能であり、当業者であれば、図面内に示された指定および流れ図に含まれる機能的な記述に基づいて開発可能であることが理解されよう。たとえばコントローラおよび構成マネージャ・サービスは、Javaで実装可能であり、構成制御はC++で実装可能である。さらに、本明細書で様々な機能を実行するソフトウェアの任意の言及は、一般に、ソフトウェア制御の下でそれらの機能を実行するコンピュータ・システムまたはプロセッサを言い表すものである。別の方法で、本発明の実施形態のコンピュータ・システムは、任意のタイプのハードウェアあるいは他の処理回路またはその両方によって実装可能である。
コンピュータ・システムの様々な機能は、任意数のソフトウェアあるいはハードウェアまたはその両方のモジュールまたはユニット、処理またはコンピュータ・システムあるいは回路またはその両方の中の、いずれかの方式で分散可能であり、ここでコンピュータまたは処理システムは、互いにローカルまたはリモートに配設すること、および、任意の好適な通信媒体(たとえば、LAN、WAN、イントラネット、インターネット、ハードワイヤ、モデム接続、ワイヤレスなど)を介して通信することが可能である。たとえば、本発明の実施形態の機能は、様々なエンド・ユーザ、制御サーバ、アプリケーション・サーバ、およびデータベース・サーバのシステム、あるいは、任意の他の中間処理デバイス、またはそれらすべての中の、いずれかの方式で分散可能である。上記で説明され、流れ図に示された、ソフトウェアあるいはアルゴリズムまたはその両方は、本明細書で説明された機能を達成する任意の方式で修正可能である。加えて、流れ図または説明における昨日は、所望の動作を達成する任意の順序で実行可能である。
本発明の実施形態のソフトウェア(たとえば、コントローラ、構成マネージャ・サービス、構成マネージャ・インターフェース、プログラム・スタック層など)は、スタンドアロン型システムあるいはネットワークまたは他の通信媒体によって接続されたシステムで使用するための、記録可能媒体(たとえば、磁気または光媒体、光磁気媒体、フレキシブル・ディスク、CD−ROM、DVD、メモリ・デバイスなど)上で使用可能である。
通信ネットワークは、任意数の任意のタイプの通信ネットワーク(たとえば、LAN、WAN、インターネット、イントラネット、VPNなど)によって実装可能である。本発明の実施形態のコンピュータ・システム(たとえば、データベース、アプリケーション、制御、または他のサーバ・システム、エンド・ユーザ・システムなど)は、任意の従来のまたは他のプロトコルを介し、ネットワークを通じて通信するための、任意の従来のまたは他の通信デバイスを含むことができる。コンピュータ・システム(たとえば、データベース、アプリケーション、制御、または他のサーバ・システム、エンド・ユーザ・システムなど)は、ネットワークへのアクセスのための任意のタイプの接続(たとえば、ワイヤード、ワイヤレスなど)を使用することができる。通信媒体は、任意の好適な通信媒体(たとえば、ローカル・エリア・ネットワーク(LAN)、ハードワイヤ、ワイヤレス・リンク、イントラネットなど)によって実装可能である。
データベースおよびリポジトリは、任意数の任意の従来のまたは他のデータベース、データ・ストア、またはストレージ構造(たとえば、ファイル、データベース、データ構造、データまたは他のリポジトリなど)によって、実装可能である。データベースは、互いに、あるいはサーバ・システム(たとえば、アプリケーション・サーバ、制御サーバ、データベース・サーバなど)に、またはその両方に対して、リモートまたはローカルとすることができる。アプリケーション特有の特性情報は、任意の所望のアプリケーション特有の、またはその他の情報を含むことが可能であり、アプリケーション特有の特性情報のすべてまたは任意の部分は、互いにローカルまたはリモートであることが可能な、任意数のデータベース、データ・リポジトリ、またはストレージ・ユニットに格納可能である。たとえば、アプリケーション特有の特性情報のすべてまたは任意の部分は、1つまたは複数のデータベース50に格納可能である。
データベース・アプリケーションは、データベース内のデータの処理を実行可能にする任意数の任意の構成要素(たとえば、プログラム・スタック、アプリケーション・サーバ・ソフトウェア、プログラム・スタックの1つまたは複数の層のうちの任意の部分、アプリケーション・サーバ・ソフトウェアの任意の部分など)を含むことができる。プログラム・スタックは、任意の様式で配置構成され、任意の所望の機能(たとえば、トランザクション機能、マッピング機能、接続あるいはアクセスまたはその両方の機能、通信機能など)を提供する、任意数の層を含むことができる。データベース・アプリケーションは、データベースに格納されたデータを処理するためのビジネスまたは任意の他のタイプの実装を提供することができる。データベース・アプリケーション(またはその任意の部分)は、任意数の識別子に関連付けることができる。データベース・アプリケーションおよび構成識別子は、任意数の任意の好適な文字または記号(たとえば、英数字、句読点、または他の記号など)、あるいは任意の他の好適な情報(属性、1つまたは複数の追加の識別子など)を含むことができる。データベース・アプリケーションあるいは構成識別子またはその両方を使用して、データベース・アプリケーションに関する任意の好適な情報またはその一部(たとえば、特性、ランタイム情報など)の、格納あるいは取り出しまたはその両方を実行することができる。たとえば、別々のデータベース・アプリケーションあるいは構成識別子またはその両方を、データベース・アプリケーションの各部分(たとえば、プログラム・スタック層、アプリケーション・サーバなど)に使用して、その部分に関する特性を含むアプリケーション特有の特性情報を取り出して適用することができる。この場合、データベース・アプリケーションの1つまたは複数の特定部分を構成することができる。加えて、データベース・アプリケーションは任意数の構成に関連付けることが可能であり、ここで各構成を取り出すための構成識別子は、データベース・アプリケーション識別子および任意の追加の情報(たとえば、属性、特定構成に関する識別子など)を含むことができる。データベース・アプリケーションあるいは構成識別子またはその両方を任意の好適な様式で使用して、所望のアプリケーション特有の特性情報の構成リポジトリ(たとえば、ルックアップ・テーブル、データベース・テーブルのキーまたは他のフィールドなど)内の位置(たとえば、ファイル名、アドレス、ポインタなど)を取り出すかまたは決定することができる。
アプリケーション特有の特性情報は、データベース・アプリケーションまたは他のエンティティに関する任意の好適なアプリケーション特有のまたは他の情報(たとえば、属性、特性、特徴、動作パラメータなど)を含むことが可能であり、そのデータベース・アプリケーションの任意の部分(たとえば、プログラム・スタックの1つまたは複数の層、アプリケーション・サーバなど)に関連付けることができる。アプリケーション特有の特性情報は、構成リポジトリあるいは他のデータベースまたはストレージ・ユニットに、任意の様式で(たとえば、データベース・アプリケーションあるいは構成識別子または他のインデックスに基づいて、データベース・アプリケーションの特性特徴または関連付けられた部分に基づいて、など)格納することができる。アプリケーション特有の特性情報のデータベース・アプリケーションあるいは特性またはその両方は、任意の好適な基準(たとえば、データ・ソース、接続など)に基づいてグループ化することができる。アプリケーション特有の特性情報は、アプリケーション・サーバ上にローカルに、あるいは、リモートまたはローカルのリポジトリ内に、またはその両方に、格納することができる。データベース・アプリケーションを構成するために、任意数の特性またはアプリケーション特有の特性情報の、格納あるいは取り出しまたはその両方を実行することができる。
集中またはその他の制御の存在は、任意の好適な様式(たとえば、フラグまたは他のインジケータ、制御プロバイダのユニフォーム・リソース・ロケータ(URL)またはアドレス、自動検出メカニズムなど)で、検出可能である。データベース・アプリケーションに関するアプリケーション特有の特性情報は、任意の好適な様式(たとえば、取り出された特性値を対応する構成変数、メモリ、または他のストレージ位置(たとえばファイル、レジスタなど)に格納するなど)で適用可能である。更新された情報の取り出しは、任意の所望の時間間隔(たとえば、分、秒など)でポーリング(たとえば、更新された情報に関する要求の伝送)可能であり、定期的または様々なインスタンスで、とすることができる。別の方法として、更新された情報は、任意の所望の時間間隔(たとえば、分、秒、更新直後など)で、自動的に取り出してデータベース・アプリケーションに提供することができる。例外またはメッセージは、任意の所望の情報(たとえばエラー・コード、説明、インジケータなど)を含むことが可能であり、任意の条件(たとえば、データの取り出し、データベースまたは他のアプリケーションの構成に関連する、エラーまたは他の条件)に応答して、任意の関与パーティ(たとえば、任意の管理者または他のユーザなど)に提供することができる。
本発明の実施形態は、任意数または任意タイプのユーザ・インターフェース(たとえば、グラフィカル・ユーザ・インターフェース(GUI)、コマンド行、プロンプトなど)を採用することが可能であり、ここでインターフェースは、任意の様式で配置構成された任意の情報を含むことができる。インターフェースは、任意の好適な入力デバイス(たとえばマウス、キーボードなど)を介して、情報を入力/表示し、所望のアクションを開始するために、任意の位置に配設された、任意数の任意のタイプの入力または作動メカニズム(たとえば、ボタン、アイコン、フィールド、ボックス、リンクなど)を含むことができる。制御システムは、データベース・アプリケーションを構成するための任意の好適なユーザ(データベース管理者、システム管理者、エンド・ユーザなど)によって動作可能である。インターフェース画面は、任意の様式でスクリーン間をナビゲートするための、任意の好適なアクチュエータ(たとえばリンク、タブなど)を含むことができる。
照会言語最適化は、任意の様式(たとえば手動、照会言語オプティマイザなど)で実行可能であり、照会言語ステートメントは、任意の方式(たとえば、実行が許可されたステートメントまたはステートメント属性を提供すること、実行が許可されないステートメントまたはステートメント属性を提供すること、など)で実行を制限可能である。照会言語ステートメント・バッチは、任意の所望の様式(たとえば、バッチ処理のためのステートメントを手動で指定することなど)で実行可能である。ステートメントは、バッチ処理シーケンスを決定するために、任意の様式で取り込み、分析することができる。バッチ処理の実行は、任意の所望の時間間隔だけ延期することが可能であるか、または別の方法として、バッチ処理の実行は、指定された時間に、またはプログラム間隔(たとえばトランザクション境界など)で実行可能である。照会言語実行モデルは、任意の所望の照会または他の言語(たとえばSQLなど)に対して使用可能である。
データベース・アプリケーション制御は、企業システム内のすべてのデータベース・アプリケーションにわたって集中制御を提供するために、単一の中央プラットフォーム(たとえば中央コントローラなど)から実行することができる。別の方法として、データベース・アプリケーションの制御は、任意数のプラットフォームから実行可能であり、ここで各プラットフォームは、企業内の1つまたは複数のデータベース・アプリケーションの任意の好適な態様または部分を制御することができる。
本発明の実施形態は、前述の使用またはアプリケーション特有の特性情報に限定されるものではなく、任意のデータベース・アプリケーションまたは関連アイテムの任意の所望のアプリケーション特有の特性情報を、それらのアイテムを構成するために、集中的に表示、定義、あるいは修正するため、またはそれらすべてを実行するために、採用することが可能である。たとえば、制御システムは、ユーザが、データベース・アプリケーションに関する初期のデータベース接続構成を集中的に設定できるようにすること、および、現在構成されているデータベース接続から異なるデータベース接続への、データベース・アプリケーションのリダイレクトを集中的に制御できるようにすることが可能である。接続の数は、データベースの特性とすること、および、データベースに許可されたオープン接続の数を示すことが可能であり、ここでデータベース・アプリケーションのアクションは、データベースへの接続数に基づいて制御される。例を挙げると、データベース・アプリケーションは、データベースへの接続の数がアクティブであるかまたは使い尽くされているかに基づいて、異なるアクション方針を取ることができる。別の方法として、接続の数は、データベース・アプリケーションの特性とすること、および接続プール内での維持が許可されたオープン接続の数を示すことが可能である。さらに制御システムは、ユーザが、どのデータベース・アプリケーションが構成されるか、およびそれらのデータベース・アプリケーションに接続されたデータベースを含む、トポロジを集中的に表示できるようにすることが可能である。
制御システムは、構成の変更を追跡し、構成リポジトリ内に格納することが可能であり、ユーザが、それらの変更の監査記録を集中的に表示できるようにすることが可能である。制御システムは、ユーザが、データベース・アプリケーションおよびデータベースの任意の論理的、階層的グループ化を集中的に定義できるようにすること、ならびに、定義された論理的、階層的グループ化およびポリシーによって、データベースまたはデータベース・アプリケーションおよびそれらの構成を、集中的に表示できるようにすることが可能である。
さらに、制御システムは、ユーザが、アプリケーション・サーバの再構成(複雑でエラーが発生しやすい可能性がある)またはサーバの再始動なしに、アプリケーション・サーバのデータ・ソースを集中的に表示および制御できるようにすること、ならびに、任意のデータベース・アプリケーション構成特性を集中的に変更できるようにすることが可能である。さらに制御システムは、ユーザが、データベース・アプリケーションの静的照会言語(たとえばSQLなど)使用を集中的に管理できるようにすること、および、照会言語プログラミング・モデルを変更できるようにすることが可能である。加えて制御システムは、ユーザが、ドライバ・レベル、環境情報、アプリケーション特性、およびウェブ・サーバ情報を含む、すべてのデータベース・アプリケーション設定を、集中的に表示できるようにすることが可能である。
本発明の実施形態の技法は、データベース・アプリケーションの制御に限定されるものではないが、任意の好適な実装(たとえば、ネットワーク、コンピュータ(たとえばサーバ、クライアントなど)、コンピュータまたは他の環境、ツール、シミュレーション、処理、または他のデバイスなど)の制御あるいは構成またはその両方に適用可能である。識別子は、データベース・アプリケーションをアプリケーション特有の特性情報(たとえばインデックスまたはキーなど)あるいはアプリケーション・サーバ、またはその両方に(たとえば、アプリケーション・サーバのURL、アドレス、または他の識別子とリンクするために、ルックアップ・テーブルまたは他の方式を介して、など)任意の様式で関連付けることができる。
本明細書で使用される用語は、特定の実施形態を説明するためのみのものであり、本発明を限定するものとは意図されない。本明細書で使用される場合、単数形「a」、「an」、および「the」は、コンテキストが明確に示していない限り、複数形も含むものと意図される。さらに「備える」、「備えている」、「含む」、「含んでいる」などの用語は、本明細書で使用される場合、記述された特徴、整数、ステップ、動作、要素、あるいは構成要素、またはそれらすべての存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、あるいはそれらのグループ、またはそれらすべての存在または追加を除外するものではないことを理解されよう。
以下の特許請求の範囲におけるすべての手段またはステップに加えて、あるとすれば機能要素の、対応する構造、材料、動作、および等価物は、具体的に請求された他の請求要素と組み合わせて機能を実行するための、任意の構造、材料、または動作を含むものと意図される。本発明の記述は、例示および説明の目的で提示されてきたものであって、開示された形の発明を網羅するかまたはこれに限定されることは意図されていない。当業者であれば、本発明の範囲を逸脱することなく、多くの修正および変形が明らかとなろう。実施形態は、本発明の原理および実際の適用例を最も良く説明するために、ならびに、他の当業者が、企図された特定の用途に好適なような様々な修正を伴う様々な実施形態に関して本発明を理解できるようにするために、選択および記述されたものである。
当業者であれば明らかなように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなど)、あるいは、本明細書ではすべて一般に「回路」、「モジュール」、または「システム」と呼ばれる場合のあるソフトウェアおよびハードウェアの態様を組み合わせた実施形態、の形を取ることができる。さらに、本発明の態様は、コンピュータ読み取り可能プログラム・コードがその上に具体化された1つまたは複数のコンピュータ読み取り媒体内に具体化された、コンピュータ・プログラム製品の形を取ることができる。
1つまたは複数のコンピュータ読み取り可能媒体の任意の組み合わせが使用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能ストレージ媒体とすることができる。コンピュータ読み取り可能ストレージ媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体の、システム、装置、またはデバイス、あるいはそれらの任意の好適な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ読み取り可能ストレージ媒体のより具体的な例(非網羅的なリスト)には、1本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、あるいはそれらの任意の好適な組み合わせが含まれる。本書との関連において、コンピュータ読み取り可能ストレージ媒体は、命令実行のシステム、装置、またはデバイスによって、あるいはこれらに関連して使用するためのプログラムを含むかまたは格納することが可能な、任意の有形の媒体とすることができる。
コンピュータ読み取り可能信号媒体は、たとえばベースバンド内に、または搬送波の一部として、内部にコンピュータ読み取り可能プログラム・コードが具体化された、伝搬データ信号を含むことができる。こうした伝搬信号は、電磁、光、またはそれらの任意の好適な組み合わせを含むが、これらに限定されない、様々な形のいずれかを取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能ストレージ媒体ではなく、命令実行のシステム、装置、またはデバイスによって、あるいはこれらに関連して使用するためのプログラムを、送信、伝搬、または移送することが可能な、任意のコンピュータ読み取り可能媒体とすることができる。
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、またはそれらの任意の好適な組み合わせを含むが、それらに限定されない、任意の適切な媒体を使用して、伝送することができる。
本発明の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは、完全にリモートのコンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを介して、ユーザのコンピュータに接続可能であるか、または(たとえばインターネット・サービス・プロバイダを使用しインターネットを介して)外部コンピュータに接続可能である。
本発明の態様については、本発明の実施形態に従った方法、装置(システム)、およびコンピュータ・プログラム製品の、流れ図あるいはブロック図またはその両方を参照しながら説明される。流れ図あるいはブロック図またはその両方の各ブロック、および流れ図あるいはブロック図またはその両方のブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能であることを理解されよう。これらのコンピュータ・プログラム命令は、マシンを製造するために、汎用コンピュータ、特定用途向けコンピュータ、または他のプログラマブル・データ処理装置の、プロセッサに提供可能であるため、結果として、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装するための手段を作成する。
コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の方式で機能するように命令することが可能な、これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体に格納することも可能であるため、結果としてコンピュータ読み取り可能媒体内に格納された命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装する命令を含む製品を生成する。
コンピュータ実装プロセスを生成するように、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実行させるために、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードすることも可能であるため、結果としてコンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装するためのプロセスを提供する。
図面内の流れ図およびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示すものである。この点で、流れ図またはブロック図は、指定された論理機能を実装するための1つまたは複数の実行可能命令を備える、モジュール、セグメント、またはコードの一部を表すことができる。いくつかの代替実装では、ブロック内に示された機能は図面内に示された順序以外で実行可能であることにも留意されたい。たとえば、連続して示されている2つのブロックは、実際には、関連する機能に応じて、ほぼ同時に実行可能であるか、または時には逆の順序で実行可能である。ブロック図あるいは流れ図またはその両方の各ブロック、および、ブロック図あるいは流れ図またはその両方におけるブロックの組み合わせは、指定された機能または動作を実行する特定用途向けのハードウェアベース・システム、あるいは、特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって、実装可能であることにも留意されたい。

Claims (34)

  1. データベース・アプリケーションを制御する方法であって、
    データベース・システムへのアクセスを提供するデータベース・アプリケーションに関するアプリケーション特有の特性情報をデータ・リポジトリから取り出すステップであって、前記データベース・アプリケーションは、対応するデータベースがアクセスされる方式を制御する特性又はパラメータを含む、当該データ・アプリケーション特有の特性情報に関連付けられており、及び、前記データベース・アプリケーションは、前記特性情報に関連付けられた照会言語実行モデルを実装する、前記取り出すステップと、
    前記取り出されたアプリケーション特有の特性情報を前記データベース・アプリケーションに適用して、前記データベース・アプリケーションの動作を制御するステップ
    を含む、前記方法。
  2. 前記アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、前記データベース・アプリケーションの前記照会言語実行モデルに関連付けられた1つ又は複数の特性を含む、請求項1に記載の方法。
  3. 前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、
    前記アプリケーション特有の特性情報を前記データベース・アプリケーションに適用することは、
    前記照会言語ステートメントの静的実行を示す前記アプリケーション特有の特性情報に応答して、前記最適化された照会言語ステートメントを前記データベース・システムに結合すること
    を含む、請求項2に記載の方法。
  4. 前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、
    前記アプリケーション特有の特性情報を前記データベース・アプリケーションに適用することは、
    前記照会言語ステートメントの置換を示す前記アプリケーション特有の特性情報に応答して、前記データベース・アプリケーションの照会言語ステートメントを遮断することと、
    前記最適化された照会言語ステートメントに置換すること
    を含む、
    請求項2又は3に記載の方法。
  5. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が許可された少なくとも1つの照会言語ステートメントの指示を含む、請求項2〜4のいずれか一項に記載の方法。
  6. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも1つの照会言語ステートメントの指示を含む、請求項2〜5のいずれか一項に記載の方法。
  7. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む、請求項2〜6のいずれか一項に記載の方法。
  8. 前記データベース・アプリケーションは、前記データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、
    前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための前記プログラム・スタックの少なくとも1つの層に関連付けられた1つ又は複数の特性を含む、
    求項1〜7のいずれか一項に記載の方法。
  9. 前記アプリケーション特有の特性情報は、前記データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む、請求項1〜8のいずれか一項に記載の方法。
  10. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションによって維持される前記データベース・システムへの接続の数を制御するためのいくつかの接続を含む、請求項1〜9のいずれか一項に記載の方法。
  11. 前記アプリケーション特有の特性情報を取り出すステップは、
    前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、
    前記更新されたアプリケーション特有の特性情報を前記データ・リポジトリから取り出すステップと
    を含む、請求項1〜10のいずれか一項に記載の方法。
  12. 前記データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、
    前記アプリケーション特有の特性情報を取り出すステップは、
    各データベース・アプリケーションに関するアプリケーション特有の特性情報を、それぞれの識別子に基づいて前記データ・リポジトリから取り出すステップ
    を含む
    求項1〜11のいずれか一項に記載の方法。
  13. 前記データベース・アプリケーションのうちの少なくとも2つは、異なるコンピュータ・システム上に常駐する、請求項12に記載の方法。
  14. 前記アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む、請求項1〜13のいずれか一項に記載の方法。
  15. 前記データベース・アプリケーションは、前記データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する前記データベース・アプリケーションを構成するための前記アプリケーション特有の特性情報を含む、請求項1〜14のいずれか一項に記載の方法。
  16. 前記アプリケーション特有の特性情報を取り出すステップは、
    前記データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、
    前記実行された照会言語ステートメントを、前記性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップであって、前記アプリケーション特有の特性情報は、前記最適化された照会言語ステートメントを含む、前記関連付けるステップ
    を含む、
    求項1〜15のいずれか一項に記載の方法。
  17. データベース・アプリケーションを制御するためのコンピュータ・システムであって、前記コンピュータ・システムは、データベース・システムへのアクセスを提供するためのデータベース・アプリケーションを含み、前記コンピュータ・システムは、
    前記データベース・アプリケーションに関するアプリケーション特有の特性情報をデータ・リポジトリから取り出すことを要求するステップであって、前記データベース・アプリケーションは、対応するデータベースがアクセスされる方式を制御する特性又はパラメータを含む、当該データ・アプリケーション特有の特性情報に関連付けられており、及び、前記データベース・アプリケーションは、前記特性情報に関連付けられた照会言語実行モデルを実装する、前記要求するステップと、
    前記取り出されたアプリケーション特有の特性情報を前記データベース・アプリケーションに適用して、前記データベース・アプリケーションの動作を制御するステップと
    を実行するように構成された少なくとも1つのプロセッサをさらに含む、
    前記コンピュータ・システム。
  18. 前記アプリケーション特有の特性情報は、照会言語ステートメントの実行を制御するための、前記データベース・アプリケーションの前記照会言語実行モデルに関連付けられた1つ又は複数の特性を含む、請求項17に記載のコンピュータ・システム。
  19. 前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、
    前記照会言語ステートメントの静的実行を示す前記アプリケーション特有の特性情報に応答して、前記最適化された照会言語ステートメントは、前記データベース・システムに結合される、
    請求項18に記載のコンピュータ・システム。
  20. 前記アプリケーション特有の特性情報は、実行のために最適化された照会言語ステートメントを含み、
    前記少なくとも1つのプロセッサは、前記照会言語ステートメントの置換を示す前記アプリケーション特有の特性情報に応答して、前記データベース・アプリケーションの照会言語ステートメントを遮断し、前記最適化された照会言語ステートメントに置換するようにさらに構成されている
    請求項18又は19に記載のコンピュータ・システム。
  21. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が許可された少なくとも1つの照会言語ステートメントの指示を含む、請求項18〜20のいずれか一項に記載のコンピュータ・システム。
  22. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行が禁止された少なくとも1つの照会言語ステートメントの指示を含む、請求項18〜21のいずれか一項に記載のコンピュータ・システム。
  23. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための実行用にバッチ処理される照会言語ステートメントの指示を含む、請求項18〜22のいずれか一項に記載のコンピュータ・システム。
  24. 前記データベース・アプリケーションは、前記データベース・システムにアクセスするための複数の層を備えたプログラム・スタックを含み、
    前記アプリケーション特有の特性情報は、前記データベース・アプリケーションの動作を制御するための前記プログラム・スタックの少なくとも1つの層に関連付けられた1つ又は複数の特性を含む、
    請求項17〜23のいずれか一項に記載のコンピュータ・システム。
  25. 前記アプリケーション特有の特性情報は、前記データベース・システムへの接続の数に基づいてデータベース・アプリケーションのアクションを制御するためのいくつかの接続を含む、請求項17〜24のいずれか一項に記載のコンピュータ・システム。
  26. 前記アプリケーション特有の特性情報は、前記データベース・アプリケーションによって維持される前記データベース・システムへの接続の数を制御するためのいくつかの接続を含む、請求項17〜25のいずれか一項に記載のコンピュータ・システム。
  27. 前記少なくとも1つのプロセッサは、
    前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の前記データ・リポジトリからの取り出しを定期的に要求するようにさらに構成されている
    請求項17〜26のいずれか一項に記載のコンピュータ・システム。
  28. 前記データ・リポジトリは、複数のデータベース・アプリケーションに関するアプリケーション特有の特性情報を格納し、
    前記コンピュータ・システムは、それぞれがデータベース・アプリケーションを含む複数のコンピュータ・システムをさらに含み、
    前記少なくとも1つのプロセッサは、
    対応するデータベース・アプリケーションに関するアプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すように構成されている
    請求項17〜27のいずれか一項に記載のコンピュータ・システム。
  29. 前記データ・リポジトリと通信する制御システムをさらに含み、
    前記コンピュータ・システムから要求を受信し、前記データベース・アプリケーションに関する前記アプリケーション特有の特性情報を識別子に基づいて前記データ・リポジトリから取り出すステップと、
    前記取り出されたアプリケーション特有の特性情報を前記コンピュータ・システムに提供するステップ
    を実行するように構成された、少なくとも1つのプロセッサを含む、
    請求項17〜28のいずれか一項に記載のコンピュータ・システム。
  30. 前記データ・リポジトリと通信する制御システムをさらに含み、
    前記データベース・アプリケーションに関する更新されたアプリケーション特有の特性情報の存在を決定するステップと、
    前記データベース・アプリケーションに関する前記更新されたアプリケーション特有の特性情報を前記データ・リポジトリから取り出し、前記更新されたアプリケーション特有の特性情報を前記コンピュータ・システムに提供するステップ
    を実行するように構成された、少なくとも1つのプロセッサを含む、
    請求項17〜29のいずれか一項に記載のコンピュータ・システム。
  31. 前記アプリケーション特有の特性情報は、データベース・オブジェクトに規則を施行することを対応するユーザに認証するためのプロファイルを含む、請求項17〜30のいずれか一項に記載のコンピュータ・システム。
  32. 前記データベース・アプリケーションは、前記データ・リポジトリにそれぞれ格納された複数の構成に関連付けられ、対応する所望の動作に関する前記データベース・アプリケーションを構成するための前記アプリケーション特有の特性情報を含む、請求項17〜31のいずれか一項に記載のコンピュータ・システム。
  33. 前記少なくとも1つのプロセッサは、
    前記データベース・アプリケーションの実行された照会言語ステートメントを遮断し、それらのステートメントの実行に関連する性能情報を提供するステップと、
    前記実行された照会言語ステートメントを、前記性能情報としきい値との関係に基づいて、実行のために最適化された照会言語ステートメントに関連付けるステップであって、前記アプリケーション特有の特性情報は、前記最適化された照会言語ステートメントを含む、前記関連付けるステップと
    さらに実行するように構成されている、
    請求項17〜32のいずれか一項に記載のコンピュータ・システム。
  34. コンピュータに、請求項1〜16のいずれか一項に記載された方法の各ステップを実行させる、コンピュータ・プログラム。
JP2013506575A 2010-04-30 2011-04-13 データベース・アプリケーションの集中制御のための方法、システム、およびコンピュータ・プログラム Active JP5700730B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/771,104 2010-04-30
US12/771,104 US9129000B2 (en) 2010-04-30 2010-04-30 Method and system for centralized control of database applications
PCT/EP2011/055829 WO2011134795A1 (en) 2010-04-30 2011-04-13 Centralized control of database applications

Publications (2)

Publication Number Publication Date
JP2013533525A JP2013533525A (ja) 2013-08-22
JP5700730B2 true JP5700730B2 (ja) 2015-04-15

Family

ID=44310317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013506575A Active JP5700730B2 (ja) 2010-04-30 2011-04-13 データベース・アプリケーションの集中制御のための方法、システム、およびコンピュータ・プログラム

Country Status (7)

Country Link
US (3) US9129000B2 (ja)
JP (1) JP5700730B2 (ja)
CN (1) CN102859521B (ja)
DE (1) DE112011101508T5 (ja)
GB (1) GB2493311A (ja)
TW (1) TWI505110B (ja)
WO (1) WO2011134795A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9129000B2 (en) 2010-04-30 2015-09-08 International Business Machines Corporation Method and system for centralized control of database applications
US20130081109A1 (en) * 2011-09-23 2013-03-28 Corent Technology, Inc. Multi-Tenant Agile Database Connector
US9086937B2 (en) 2012-05-16 2015-07-21 Apple Inc. Cloud-based application resource files
US9401869B1 (en) * 2012-06-04 2016-07-26 Google Inc. System and methods for sharing memory subsystem resources among datacenter applications
US8903178B2 (en) 2012-11-02 2014-12-02 International Business Machines Corporation Adjusting application properties
US8694574B2 (en) * 2012-11-08 2014-04-08 Concurix Corporation Optimized settings in a configuration database with boundaries
TWI510938B (zh) * 2012-11-23 2015-12-01 Cobrasonic Software Inc 藉由異動日誌檔識別資料庫異動之方法以及資料庫系統
CN104838690A (zh) * 2012-12-07 2015-08-12 惠普发展公司,有限责任合伙企业 网络资源管理
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US10152605B2 (en) * 2014-05-21 2018-12-11 Siddharth Shetye Systems and methods for front-end and back-end data security protocols
US10235434B2 (en) * 2014-07-29 2019-03-19 Red Hat, Inc. Optimizing loading of relational data for applications
CN110781244B (zh) * 2014-12-03 2023-06-13 阿里巴巴集团控股有限公司 用于对数据库的并发操作进行控制的方法及装置
KR102037300B1 (ko) * 2015-02-17 2019-10-30 주식회사 엘지유플러스 가입 프로파일 처리 시스템, 어플리케이션서버 및 그 가입 프로파일 처리방법
US10862747B2 (en) * 2015-03-25 2020-12-08 Airwatch Llc Single user device staging
US10333778B2 (en) 2015-03-25 2019-06-25 Airwatch, Llc Multiuser device staging
CN106202102B (zh) 2015-05-06 2019-04-05 华为技术有限公司 批量数据查询方法和装置
CN105677326B (zh) * 2015-12-28 2019-03-22 国云科技股份有限公司 一种软件接口参数验证方法
CN108770367A (zh) * 2016-05-26 2018-11-06 艾尔维兹股份有限公司 密集数据获取、存储和取回
US10536338B2 (en) * 2016-07-07 2020-01-14 International Business Machines Corporation Networking connection resolution assistant
US10635659B2 (en) * 2016-09-19 2020-04-28 Salesforce.Com, Inc. Mobile application bundled with metadata database
US10885024B2 (en) * 2016-11-03 2021-01-05 Pearson Education, Inc. Mapping data resources to requested objectives
US11182382B2 (en) * 2017-04-19 2021-11-23 American International Group, Inc. Integrated object environment system and method
US11200228B2 (en) * 2017-04-19 2021-12-14 American International Group, Inc. Integrated object environment system and method
US11416235B2 (en) * 2017-09-28 2022-08-16 Oracle International Corporation System and method for managed server independence for deployment of software applications and libraries
US10642828B2 (en) * 2017-10-10 2020-05-05 Sap Se Searchable encryption scheme with external tokenizer
US10796013B2 (en) * 2017-11-13 2020-10-06 Veeva Systems Inc. User programmatic interface for supporting data access control in a database system
CN110658980B (zh) * 2018-06-29 2021-03-23 华为技术有限公司 数据处理方法及装置、存储系统
US11113258B2 (en) 2019-05-08 2021-09-07 Bank Of America Corporation Artificially-intelligent, continuously-updating, centralized-database-identifier repository system
CN115766253A (zh) * 2019-08-08 2023-03-07 谷歌有限责任公司 用于内容准个性化的低熵浏览历史
US11194866B2 (en) 2019-08-08 2021-12-07 Google Llc Low entropy browsing history for content quasi-personalization
CN110716960B (zh) * 2019-10-22 2022-07-15 北京锐安科技有限公司 一种数据库查询方法、装置、设备及存储介质
US11507371B2 (en) * 2019-12-11 2022-11-22 Microsoft Technology Licensing, Llc Column data driven arithmetic expression evaluation
US11379465B2 (en) * 2020-01-09 2022-07-05 Raytheon Company Autonomous self-healing application data validation using database configurations
US11442965B2 (en) * 2020-02-28 2022-09-13 Paypal, Inc. Processing techniques for database transaction requests with operations defined by different ORM libraries
US11354120B1 (en) * 2020-06-05 2022-06-07 Amazon Technologies, Inc. Machine learning-based software application modernization assessments
US11467828B1 (en) 2020-06-05 2022-10-11 Amazon Technologies, Inc. Ontology-based software modernization assessment engines
US11567758B2 (en) * 2020-12-09 2023-01-31 Adp, Inc. Configuration properties management for software
CN113407360A (zh) * 2021-05-21 2021-09-17 上汽通用五菱汽车股份有限公司 数据处理方法、服务器及计算机可读存储介质
US11269913B1 (en) * 2021-06-24 2022-03-08 Snowflake Inc. Reverse extract, transform, load (ETL) tool
CN113590643B (zh) * 2021-09-28 2022-03-18 太平金融科技服务(上海)有限公司深圳分公司 基于双轨数据库的数据同步方法、装置、设备和存储介质
US11930047B2 (en) * 2021-10-11 2024-03-12 Hewlett Packard Enterprise Development Lp Unified policy broker

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
JP3560806B2 (ja) 1998-03-30 2004-09-02 三菱電機株式会社 サーバクライアント型のデータベースシステムおよびデータベースシステムのリモートデータベースアクセス方法
US6487547B1 (en) 1999-01-29 2002-11-26 Oracle Corporation Database appliance comprising hardware and software bundle configured for specific database applications
US6430562B1 (en) * 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US7457279B1 (en) * 1999-09-10 2008-11-25 Vertical Communications Acquisition Corp. Method, system, and computer program product for managing routing servers and services
US7123608B1 (en) * 1999-09-10 2006-10-17 Array Telecom Corporation Method, system, and computer program product for managing database servers and service
JP2001084257A (ja) 1999-09-13 2001-03-30 Hitachi Ltd 問合せ処理方法及びシステム
AU2001227857A1 (en) * 2000-01-14 2001-07-24 Saba Software, Inc. Method and apparatus for a business applications management system platform
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
WO2001052118A2 (en) * 2000-01-14 2001-07-19 Saba Software, Inc. Information server
US7203752B2 (en) * 2001-02-16 2007-04-10 Openwave Systems Inc. Method and system for managing location information for wireless communications devices
US6854010B1 (en) * 2001-04-05 2005-02-08 Bluecube Software, Inc. Multi-location management system
US7801967B1 (en) * 2001-06-19 2010-09-21 Microstrategy, Incorporated Method and system for implementing database connection mapping for reporting systems
US20030055757A1 (en) * 2001-07-30 2003-03-20 Pfiffner Kimberly Ann Method, system and apparatus for enterprise customer contact management
US7275235B2 (en) * 2001-08-29 2007-09-25 Molinari Alfred A Graphical application development system for test, measurement and process control applications
US7010521B2 (en) 2002-05-13 2006-03-07 Netezza Corporation Optimized database appliance
US7421442B2 (en) 2002-07-02 2008-09-02 American Express Travel Related Services Company, Inc. System and method for data capture and reporting
US7664798B2 (en) 2003-09-04 2010-02-16 Oracle International Corporation Database performance baselines
US8082520B2 (en) 2004-02-26 2011-12-20 International Business Machines Corporation System and method for database management
US7552420B1 (en) * 2004-09-01 2009-06-23 Intuit Inc. Externally defined application configuration
US7801882B2 (en) 2004-10-01 2010-09-21 Microsoft Corporation Optimized constraint and index maintenance for non updating updates
US7554560B2 (en) * 2004-12-24 2009-06-30 Donald Pieronek System for defining network behaviors within application programs
US7729363B2 (en) * 2005-01-24 2010-06-01 Research In Motion Limited System and method for managing communication for component applications
US7640230B2 (en) * 2005-04-05 2009-12-29 Microsoft Corporation Query plan selection control using run-time association mechanism
US8295492B2 (en) * 2005-06-27 2012-10-23 Wells Fargo Bank, N.A. Automated key management system
JP2007018309A (ja) 2005-07-08 2007-01-25 Mitsubishi Electric Corp データベース装置およびdbアクセス制御装置およびアクセス制御システムおよびアクセス制御方法およびアクセス制御プログラム
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7953734B2 (en) * 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US8078597B2 (en) * 2005-11-17 2011-12-13 Oracle International Corporation System and method for providing extensible controls in a communities framework
US9942271B2 (en) * 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
US8244745B2 (en) * 2005-12-29 2012-08-14 Nextlabs, Inc. Analyzing usage information of an information management system
US8972449B2 (en) * 2005-12-29 2015-03-03 Nextlabs, Inc. Preventing conflicts of interests between two or more groups
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
US8677499B2 (en) * 2005-12-29 2014-03-18 Nextlabs, Inc. Enforcing access control policies on servers in an information management system
US8621549B2 (en) * 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US7716240B2 (en) * 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US7613682B2 (en) 2006-05-16 2009-11-03 International Business Machines Corporation Statistics collection using path-identifiers for relational databases
JP4813975B2 (ja) 2006-06-09 2011-11-09 株式会社日立製作所 無共有型データベースシステムの構成変更方法、管理サーバ及び無共有型データベースシステム
WO2007147151A2 (en) * 2006-06-16 2007-12-21 Neltura Technology, Inc. Using online community identities of users to establish mobile communication sessions
US7529827B2 (en) 2006-06-29 2009-05-05 Stratavia Corporation Standard operating procedure automation in database administration
US7865515B2 (en) 2006-08-28 2011-01-04 Microsoft Corporation Server side bucketization of parameterized queries
US8285707B2 (en) 2006-11-08 2012-10-09 International Business Machines Corporation Method of querying relational database management systems
US20080195577A1 (en) * 2007-02-09 2008-08-14 Wei Fan Automatically and adaptively determining execution plans for queries with parameter markers
US8260821B2 (en) * 2008-02-05 2012-09-04 International Business Machines Corporation Global, dynamic, remote and central system for database driver configuration
US8239369B2 (en) 2008-03-20 2012-08-07 DBSophic, Ltd. Method and apparatus for enhancing performance of database and environment thereof
US8775413B2 (en) 2008-06-30 2014-07-08 Teradata Us, Inc. Parallel, in-line, query capture database for real-time logging, monitoring and optimizer feedback
US8700602B2 (en) 2008-09-29 2014-04-15 Oracle International Corporation Multi-database, runtime database query performance monitoring
US8224806B2 (en) * 2009-07-31 2012-07-17 Hewlett-Packard Development Company, L.P. Selectivity-based optimized-query-plan caching
US9129000B2 (en) 2010-04-30 2015-09-08 International Business Machines Corporation Method and system for centralized control of database applications
US20130254761A1 (en) * 2012-03-20 2013-09-26 Cellco Partnership D/B/A Verizon Wireless Granular application sessions tagging

Also Published As

Publication number Publication date
US20170242888A1 (en) 2017-08-24
US20150347524A1 (en) 2015-12-03
CN102859521B (zh) 2016-06-15
US10360211B2 (en) 2019-07-23
WO2011134795A1 (en) 2011-11-03
GB201220375D0 (en) 2012-12-26
US20110270857A1 (en) 2011-11-03
JP2013533525A (ja) 2013-08-22
DE112011101508T5 (de) 2013-03-14
CN102859521A (zh) 2013-01-02
US9129000B2 (en) 2015-09-08
US9679017B2 (en) 2017-06-13
GB2493311A (en) 2013-01-30
TW201202976A (en) 2012-01-16
TWI505110B (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
JP5700730B2 (ja) データベース・アプリケーションの集中制御のための方法、システム、およびコンピュータ・プログラム
US11979285B2 (en) System and method for generic configuration management system application programming interface
US10225363B2 (en) Methods and systems for providing a consistent profile to overlapping user sessions
US11574070B2 (en) Application specific schema extensions for a hierarchical data structure
US20200089892A1 (en) Policy-based user device security checks
JP5536190B2 (ja) 外部データに対する連携能力の拡大
US8924592B2 (en) Synchronization of server-side cookies with client-side cookies
US7630974B2 (en) Multi-language support for enterprise identity and access management
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US9195707B2 (en) Distributed event system for relational models
AU2011202736B2 (en) Policy creation using dynamic access controls
EP1217551A2 (en) Managing a layered hierarchical data set
US20160134721A1 (en) Providing A Persona-Based Application Experience
US7870101B2 (en) Method and apparatus for presentation of a security-focused repository with a party-focused repository
US20070043716A1 (en) Methods, systems and computer program products for changing objects in a directory system
JP2004362144A (ja) 運用管理方法及び実施装置並びに処理プログラム
US10740286B1 (en) Migration task validation before data migration
US8812423B1 (en) Object qualifiers for multi-dimensional object model
CN110073335A (zh) 管理应用程序的共存和多个用户设备管理
WO2014190210A2 (en) System and method to provide document management on a public document system
US9313208B1 (en) Managing restricted access resources
CN113342775B (zh) 基于云的计算环境中的集中式多租户即服务
CN103902637B (zh) 用于向用户提供计算资源的方法和装置
US10963479B1 (en) Hosting version controlled extract, transform, load (ETL) code
US20070112868A1 (en) Storage management system and method

Legal Events

Date Code Title Description
A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20130625

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140822

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140822

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20140822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141208

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150128

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150213

R150 Certificate of patent or registration of utility model

Ref document number: 5700730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150