JP5380540B2 - データ層アプリケーションコンポーネント - Google Patents

データ層アプリケーションコンポーネント Download PDF

Info

Publication number
JP5380540B2
JP5380540B2 JP2011529112A JP2011529112A JP5380540B2 JP 5380540 B2 JP5380540 B2 JP 5380540B2 JP 2011529112 A JP2011529112 A JP 2011529112A JP 2011529112 A JP2011529112 A JP 2011529112A JP 5380540 B2 JP5380540 B2 JP 5380540B2
Authority
JP
Japan
Prior art keywords
dac
database
server
instance
resource
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.)
Expired - Fee Related
Application number
JP2011529112A
Other languages
English (en)
Other versions
JP2012503827A5 (ja
JP2012503827A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012503827A publication Critical patent/JP2012503827A/ja
Publication of JP2012503827A5 publication Critical patent/JP2012503827A5/ja
Application granted granted Critical
Publication of JP5380540B2 publication Critical patent/JP5380540B2/ja
Expired - Fee Related 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/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、データ層アプリケーションコンポーネントに関する。
アプリリケーションのオーサリング、インストールおよび実行時を含むアプリケーションのライフサイクル中、一般的に、多くの異なるオブジェクトが作成され、あるいは、アプリケーションに関連付けられる。例えば、プログラムコード、実行コード、ソフトウェアリソース、および、ハードウェアリソースが、アプリケーションに関連付けられ、また、このアイテムそれぞれが、種々のファイル名およびファイル型およびファイル形式に割り当てられる。データベースアプリケーションを、プログラムコード、実行コードおよびリソースに関連付ける他に、ログイン、テーブル、ストアドプロシージャおよびデータベースポリシー等の追加のオブジェクトに関連付けることができる。
トラッキングおよび維持の対象となるオブジェクトが多いと、データベースアプリケーションにそのライフサイクルを通して関連付けられる全てのアイテムを、データベース管理者が効果的に管理することは、難しくかつ時間がかかる場合が多い。例えば、データベース管理者が、データベースアプリケーションにより使用されるハードウェアまたは他のアイテムに変更を加えたい場合、または、データベースアプリケーションがインストールされるデータベースサーバインスタンスを追加または変更したい場合、所望の変更を加える処理は、時間がかかり、かつ高コストなものとなってしまう。オブジェクトは、コード化することができ、または、オブジェクトが常駐するハードウェアリソースもしくはそこで動作するハードウェアリソースに直接リンクさせることができる。また、そのようなオブジェクトを他の場所に移動させることは、多大な再プログラミングを伴うことになる。アプリケーションオブジェクトが複数の場所に記憶される場合、または、単一のデータベースが複数のアプリケーションにより使用されるオブジェクトを記憶する場合、オブジェクトの移動または追加のインストールに伴う労力が増大する。
データベースアプリケーションのライフサイクルの段階での高度な管理の生産性を達成するために、データベースアプリケーションを構成するアイテム、またはアプリケーションにより使用されるアイテムを関連付ける、グルーピング抽象化を有することは有益である。ソフトウェアのグルーピング抽象化が無いと、データベースアプリケーションの識別、概念化、移動、または複製、あるいは管理は非常に難しい。本明細書に開示される実施形態は、例えば、データベースアプリケーションを全体として移動または複製することを許可する、データベースオブジェクトのメタデータに関連するコンテナ内の、データベースアプリケーションの要素を関連付ける。コンテナは、ランタイムリソース識別子をデータベース要素に関連付け、このランタイムリソース識別子により、ハードウェアもしくは他のランタイムリソースの変更を可能にし、または、データベースアプリケーションの要素を選択して、要素を再コード化することなく異なるリソースを使用することを可能にする。
加えて、複数のデータベースアプリケーションコンテナは自身を、全体として移動、複製、または管理することを可能にする単一のグルーピングまたはファブリックに、関連付けることができる。ファブリックは、データベースアプリケーションの要素により使用されるリソース識別子を参照して、複数のデータベースアプリケーションの管理を可能にする。
特定の実施形態に従って、コンピュータ可読媒体が、データベースオブジェクトに関するメタデータをパッケージ化する管理の一単位を含む、DAC(data−tier application component:データ層アプリケーションコンポーネント)を記憶する。データベースオブジェクトに関するメタデータには、データベースオブジェクトの識別子、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子、および、データベースランタイムリソースの実行に関するポリシーが含まれる。
本概要は、以下の「発明を実施するための形態」でさらに説明される概念から選択したものを簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題の重要な特徴または本質的な特徴を特定することを意図するものでも、特許請求の範囲に記載されている主題の範囲を決定する際の一助として使用することを意図するものでもない。
DACを使用するデータベース開発ツールを例示するブロック図である。 DACおよびDACパッケージを使用してDACインスタンスをインストールする方法を例示するフロー図である。 DACの特定の実施形態を例示する概略図である。 関連するDAC名を有するDACの第2の実施形態を例示するブロック図である。 一組のDACを含むサーバファブリックの特定の実施形態を例示するブロック図である。 一組のDACを含むサーバファブリックの第2の実施形態を例示するブロック図である。 サーバファブリックのエンティティにおいてデータベース管理アクションおよびポリシーを適用する方法を例示するフロー図である。 サーバファブリックのエンティティの関係を例示するフロー図である。 データベースアプリケーションを管理するシステムの実施形態のブロック図である。 サーバファブリック要素を処理する方法を例示するフロー図である。 SQLインスタンスを管理するためのシステムの第1の特定の実施形態を例示するブロック図である。 SQLインスタンスを管理するためのシステムの第2の特定の実施形態を例示するブロック図である。 SQLインスタンスを管理するためのシステムの第3の特定の実施形態を例示するブロック図である。 SQLインスタンスを管理するためのシステムの第4の特定の実施形態を例示するブロック図である。 SQLインスタンスを管理するためのシステムの第5の特定の実施形態を例示するブロック図である。 SQLインスタンスを管理するためのシステムの第6の特定の実施形態を例示するブロック図である。
特定の実施形態により、データベースアプリケーションの要素を識別し、かつ、データベースアプリケーションのための管理の一単位を提供する、DAC(data−tier application component:データ層アプリケーションコンポーネント)の使用について記載する。DACにより識別されるデータベースアプリケーションは、データベースオブジェクト識別子および/またはデータベースオブジェクトのメタデータに関連付けられ、これらを介してデータベースアプリケーションを操作することが可能である。加えて、データベースランタイム識別子は、データベースアプリケーションの要素により使用されるランタイムリソースの内の1つまたは複数と関連付けられる。データベースランタイムリソースの実行に関する1つまたは複数のポリシーはまた、DACにより識別される。その結果、データベースオブジェクト識別子によりDACを参照して、データベースアプリケーションを変更、移動または複製することが可能である。同様に、それぞれの要素に関連付けられるデータベースランタイム識別子を変更することにより、ランタイムリソースを変更することができ、かつ、データベースアプリケーションを複製することができる。その結果、データベース管理者は、データベースアプリケーションのインスタンスの編成の側面を管理することに時間と注意を費やすことなく、データベースアプリケーションのコンテンツの管理に集中することができる。
特定の実施形態では、コンピュータ可読媒体として実装することができるDAC(data−tier application component:データ層アプリケーションコンポーネント)を開示する。DACには、データベースオブジェクトに関するメタデータをパッケージ化する管理の一単位が含まれる。データベースオブジェクトに関するメタデータには、データベースオブジェクトの識別子が含まれる。メタデータにはまた、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子が含まれる。メタデータには、データベースランタイムリソースの実行に関するポリシーも含まれる。加えて、上述の管理の一単位が、複数のデータベースオブジェクト、複数のランタイムリソース、およびデータベースランタイムリソースの実行に関する複数のポリシーのメタデータを含むことができることを理解されたい。さらに、データベースオブジェクトのメタデータには、データベースオブジェクト識別子、データベースオブジェクトのスキーマ(例えば、テーブルの列スキーマ、ストアドプロシージャおよび/またはストアドファンクションのテキストボディ)、データベースオブジェクトに関する許可、および/または他のメタデータのエントリであって、データベースサーバ内のオブジェクトを作成または変更するために、および/または、データベースオブジェクトについてリーズニングするために使用することが可能な他のメタデータのエントリを含むことができる。
別の特定の実施形態では、データベース要素を一組の支援コンピュータリソースに関連付けるための、コンピュータ実装システムを開示する。システムには、1つまたは複数のデータベースオブジェクトに関するメタデータを含むデータベース要素のコレクションを含む、DAC(data−tier application component:データ層アプリケーションコンポーネント)が含まれる。データベース要素のコレクションにはまた、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子、および、データベースランタイムリソースの実行に関するポリシーが含まれる。DACは、データベース要素のコレクションに関連付けられるDAC名を有する。DAC名は、データベースアプリケーションによる使用のためにアクセス可能である。データベース要素のコレクションは、一組のユーザ選択可能な支援コンピュータリソースに、プログラム可能に関連付けられる。特定の実施形態では、DAC名が不変のままとしながら、支援コンピュータリソースを変更することができる。
別の特定の実施形態では、DAC(data−tier application component:データ層アプリケーションコンポーネント)を配置する方法を開示する。方法は、DACモデルを作成するステップを含む。DACモデルには、1つまたは複数のデータベースオブジェクトに関するメタデータを含むデータベース要素のコレクションが含まれる。1つまたは複数のデータベースオブジェクトに関するメタデータには、各データベースオブジェクトの識別子、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子、および、データベースランタイムリソースの実行に関するポリシーが含まれる。方法は、DACモデルに基づきDACパッケージをビルドするステップ、および、DAC型をDACパッケージからサーバファブリックにインポートするステップを含む。方法はさらに、DAC型を配置して、配置されるDACインスタンスを作成するステップを含む。
開示される主題には、データベースアプリケーションを構成するアイテムを関連付ける、ソフトウェアのグルーピング抽象化が含まれる。ソフトウェアのグルーピング抽象化により、データベースアプリケーションの識別、概念化、および管理が可能となる。本開示には、データベースアプリケーションに関連付けられるデータベースオブジェクト、ポリシー、およびランタイムリソースを効果的にモデル化する、DAC(data−tier application component:データ層アプリケーションコンポーネント)と呼ばれる抽象化が含まれる。
DACは、バージョニングを含む、アプリケーションのライフサイクル全体の管理の一単位を形成する。例えば、HR(Human Resources:人的資源)DACは、HR DACが支援するHRアプリケーションコードと併せて開発することができる。HRアプリケーション実行コードがアプリケーションサーバに配置されるため、HR DACは、Microsoft(登録商標) SQL Serverのインスタンスに配置される。そして、HR DACを監視および管理することが可能である。例えば、HR DACへの予測される負荷が、HR DACを保持するカレントサーバの容量を超える恐れがある場合、HR DACを、新しいサーバに移動させることができる。移動は、DACに関連付けられるデータベースオブジェクト識別子によってデータベースアプリケーションを参照することにより、かつ、データベース要素に関連付けられるデータベースランタイム識別子を変更して新しいサーバのランタイムリソースを参照することにより達成することができる。DACは、一般には複数のタイプのデータベースランタイム環境に、および/または、特にはMicrosoft SQL Serverランタイム環境にまで亘り、これらには、Microsoft SQL Server、Microsoft SQL Serverデータベース、Microsoft SQL Serverデータベースエンジン、Microsoft SQL Server Analysis Services、 Microsoft SQL Server Reporting Services、および、データベースサーバおよび/または異なるベンダおよびタイプのデータベースのインスタンスが含まれる。
加えて、本開示では、データベースサーバおよび/またはMicrosoft SQL Server環境を全体として管理することに効果をもたらすことができ、DACの管理により重きをおき、個々のコンピュータ、データベースインスタンス、およびデータベースの管理にはそれほど着目しない。本開示は、このことに対して「サーバファブリック」の概念(「サーバファブリック」とも称する)を介して対処する。「サーバファブリック」の概念は、編成のDAC、Microsoft SQL Serverランタイム、およびハードウェアリソースの全てをモデル化する。サーバファブリックは、DAC、ランタイム、およびリソース層におけるエンティティおよびコンテナの統一されたビューを提供し、かつ、エンティティ間のより動的なマッピングを可能にする。サーバファブリックにはまた、管理アクションを宣言および起動するための中央管理ポイント、中央ポリシー管理者、および影響、what−if(仮定)、もしくは配置の分析等の分析に使用されるモデルまたはデータを含有する中央リーズニング(動作推定)ポイントが含まれる。これらの宣言的、モデル駆動の特徴により、データベース管理者および開発者は、グローバルな管理アクションを定義することができる。グローバルな管理アクションは、編成の規則を実施し、DACに必要な全ての特徴を有するランタイムに対してDACが配置されることを確実にし、および、サーバファブリック内のエンティティが、最小限の手動の介入で環境の変化に対応することを可能とする。
データベース管理者および開発者にとって、データ層アプリケーションコンポーネントの開発、配置および管理が著しく容易になるよう、サーバファブリック内のエンティティの状態についてのより深い知見により駆動されるこれらの自己管理能力が求められる。本開示は、データベース管理者および開発者が、そのライフサイクルを通して自分のアプリケーション管理において、より生産的であることを可能にする。これにより、データベース管理者および開発者は、追加のデータプラットフォーム技術およびストレージプラットフォーム技術をそのシステムに組み込むことに、より時間を費やすことができる。
本開示では、着目点を従来のMicrosoft SQL Serverのインスタンスおよびコンピュータから、データベースアプリケーションに移す。DACは、データベースアプリケーションのインスタンスおよびデータベースコンテナの両方の上にある新しい高レベルの抽象化である。DACには、従来の3層アプリケーションのデータレイヤサポートを形成する一組のデータベースエンティティが含まれる。現代のシステムでは、データベースアプリケーションは、複数のデータベースに及ぶことが多く、また、システムレベルのアプリケーション情報が「master」および「msdb」等のシステムデータベース内に記憶される。
より具体的には、本開示では、DACと呼ばれるコンテナ内にデータベースアプリケーションをモデル化する。DACは、データベースアプリケーションのアーチファクト、関連するポリシー、および参照されるランタイムリソースの全てをアプリケーションに対してまとめる論理的表現である。各DACは、管理の一単位として機能する。ポリシーを、DACに対して適用することができ、DACを、全体として移動することができる。ポリシーを使用して、必要とされるまたは好ましい、成果または検討事項の開発者または配置の意図を明らかにすることができる。例えば、開発者は、DACが64ビットランタイムで配置可能であるだけである、というポリシーを指定することにより必要な意図を宣言することができる。
サーバファブリックは、一組のDACをモデル化し、それらを、下層のMicrosoft SQL Serverランタイム(インスタンスまたはマトリクスなど)、および、ランタイムにより使用されるハードウェアリソースにマッピングする。サーバファブリックは、一組のDACが機能するのに必要とする全てのランタイムおよびハードウェアリソースのモデルを提供する。サーバファブリックはまた、他の技術を使用すると非常に複雑になるアクションを簡略化させる中央集中管理の特性を提供する。例えば、各DACは、サーバファブリックにより管理される1つまたは複数の周知の名称(「エンドポイント名」)を有する。エンドポイント名は、DACにより使用されているハードウェアリソースまたはインスタンスとは無関係である。その結果、アプリケーションは、コンピュータ名およびインスタンス名の代わりにエンドポイント名を使用して接続する。そのためアプリケーションの変更を要求せずに、DACをインスタンス間で移動させることができる。
全ての利用可能なDAC、ランタイム、およびリソースのモデルを、サーバファブリック内の中央管理リーズニング能力と組み合わせることによって、いくつかのシナリオが可能になる。例えば、サーバファブリック内の全てのDACのリソースの使用を、監視することができる。別の例として、中央リーズニングエンジンは、ホストのランタイムに割り当てられるリソースに対するDACの将来の作業負荷を予測することができる。別の例として、予測されるリソースの不足に応じてアクションを起こすことができる。例えば、システムは、ランタイムに利用可能なリソースを動的に統括し、余剰能力を有するランタイムを発見し、アプリケーションの接続に影響が無いようにDACをそのライタイムに移動させる。ツールと能力の組は、サーバファブリックにおいてDACをそのライフサイクル(開発、配置および管理)を通して管理するものとして記載される。
特定の実施形態では、DACは、データベースオブジェクト、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子、およびデータベースランタイムリソースの実行に関するポリシーのメタデータをパッケージ化する管理の一単位である。図1に例示するように、異なるアクションを、ライフサイクルの状態に応じてDACに適用することが可能である。
例えば、図1を参照すると、ユーザ100(例えば、開発者)は、DACモデル102を作成することができる。DACモデル102には、DAC(data−tier application component:データ層アプリケーションコンポーネント)104が含まれる。DAC104は、DACコンテナ106に含むことができる。DAC104には、データベース要素のコレクションが含まれる。図1に示すように、DAC104には、第1の要素108、第2の要素110、および第3の要素112が含まれる。第1の要素108は、データベースオブジェクト識別子を含むデータベースオブジェクトのメタデータを含み得る。第2の要素110は、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースを含み得る。第3の要素112は、データベースランタイムリソースの実行に関するポリシーを含み得る。DACモデル102で表されるデータベースアプリケーションの開発中に、ユーザ100は、DACモデル102の作成、エディット、認証をすることができ、かつ、DACモデル102を表現するものをDACプロジェクト114として保存することができる。DACプロジェクト114には、1つまたは複数のファイル118を含むことができる。次にDACプロジェクト114を、データベースアプリケーションの開発中に、ソースコントロールシステムまたはソースコントロールデータベース116にチェックインおよびソースコントロールシステムまたはソースコントロールデータベース116からチェックアウトすることができる。
ユーザ100(例えば、開発者)が、DACモデル102で表されるデータベースアプリケーションの開発を完了すると、DACモデル102は、DACモデル102に基づいてコンパイル、またはビルドされ、完成したDACパッケージ120にまとめられる。DACパッケージ120は、所望の通りに複製および配置することができるDACモデル102の概念化されたバージョンを表すDAC型122として、サーバファブリック(例えば、サーバファブリック126)にインポートすることができる。DAC型122を配置して、配置されるDACインスタンス124を作成することができる。DACインスタンス124は、DACモデル102として開発されたデータベースアプリケーションの実用化インストールを表す。従って、開発者は、DACモデル102を開発しつつ、データベースアプリケーションを再コード化せずに複製することができるポータブルなデータベースアプリケーションを作成したことになる。開発者はまた、DACインスタンス124を配置する前にDAC型122を構成することができる。さらに、DACインスタンス124は、特定の組の物理的コンピュータリソースに対してインストールすることができる。
図2を参照すると、データ層アプリケーションコンポーネントを配置する特定の方法のフロー図が例示される。方法は、202にて、1つまたは複数のデータベースオブジェクトのメタデータを含むデータベース要素のコレクションを含有するDACモデルを作成するステップを含む。DACモデルにはさらに、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子が含まれる。DACモデルにはさらに、データベースランタイムリソースの実行に関するポリシーが含まれる。特定の実施形態では、204にて、方法は、DACモデルを表現するものをDACプロジェクトとして保存するステップ、および、選択的に、DACプロジェクトをソースコントロールシステムまたはソースコントロールデータベースにチェックインしてDACプロジェクトを記憶するステップを含む。別の特定の実施形態では、206にて、方法は、DACパッケージをビルドする前に、DACモデルをエディットし、DACモデルを認証するステップと、DACインスタンスを配置する前にDAC型を構成するステップと、DACインスタンスを特定の組の物理的コンピュータリソースに対してインストールするステップとを含む。208に移って、方法は、DACモデルに基づきDACパッケージをビルドするステップを含む。210に移って、方法は、DAC型をDACパッケージからサーバファブリックにインポートするステップを含む。212に移って、方法は、DAC型を配置して、配置されるDACインスタンスを作成するステップを含む。
DACが、サーバファブリック内にDAC型とDACインスタンスという2つの主要な細分割部を有することは強調すべきことである。DAC型は、DACがサーバファブリックにインポートされる時に構築される。DAC型は、DACにおいてテーブルおよびキューブ等のオブジェクトの論理的実装を定義し、どのようにDACが使用されることを開発者が意図するかを定義するポリシーを含む。DACインスタンスは、サーバファブリックにおいて、1つまたは複数のデータベースサーバランタイム(例えば、Microsoft SQL Serverランタイム)にDAC型が配置される時に、構築される。DACインスタンスは、DAC型のエンティティがそれらのサーバランタイム層におけるホストにどのようにマッピングされるかを記録する。DACインスタンスには、どのようにDACがサーバファブリック内で動作することを管理者が意図するかを定義するポリシーを含む。
図3を参照すると、DAC(data−tier application component:データ層アプリケーションコンポーネント)のコンテンツの高レベルの図が例示される。この図は、開発者の意図(DAC型)と配置の意図(DACインスタンス)との概念的な分離を例示する。図3に示すように、DACは、DAC型304とDACインスタンス306とに概念的に分割することができる。DAC型304には、構造、ロジック、ポリシーおよびDAC定義を備える他のエンティティが含まれる。DAC型304により、開発者が、不変条件、要求、ならびに、意図されるDAC302の使用および解釈を正式に定義するための機構を提供することもできる。DAC型304を備えるエンティティは、一単位として管理されることが意図される。情報は、DAC302の特定のバージョンの全ての配置に対してグローバルである。従って、DAC型304は、開発者の意図を表現すること、バージョニングすること、特定のバージョンに対して不変であることができ、また、一意的であることが保証される識別子を有する。編成の目的で、DAC型304の3つの主要な部分は、プロパティ308、アプリケーションスキーマ310、開発者の意図とポリシー312として示される。
DAC型304のプロパティ308は、DAC型304に特有の特徴または属性である。例えば、プロパティ308は、人が読める名称および記述を含むことができる。更なる例として、プロパティ308は、最大バージョン番号および最小バージョン番号等の1つまたは複数のバージョン識別子を含むことができる。更なる例として、プロパティ308は、DAC型304に対して一意的であることが保証される識別子を含むことができる。更なる例として、プロパティ308は、周知のエンドポイント名を含むことができる。更なる例として、プロパティ308は、他のDAC型への依存関係を含むことができる。
DAC型304のアプリケーションスキーマ310は、DAC302を備えるMicrosoft SQL Serverオブジェクトを定義する。DAC型304のこの部分におけるオブジェクト定義は、DAC302に固有のものであり、任意の変更によりDAC型の新しいバージョンを生成することができる。アプリケーションスキーマ310は、本質的には、DAC302が「何」から成るのかを定義する。例えば、アプリケーションスキーマ310は、テーブル、キューブおよびデータマイニングモデル等のアプリケーション構造を含むことができる。さらなる例として、アプリケーションスキーマ310は、ストアドプロシージャ、ユーザ定義の関数、およびトリガ等のアプリケーションロジックを含むことができる。さらなる例として、アプリケーションスキーマ310は、アプリケーション定義の一部としてみなされる参照データを含むことができる。例えば、米国の郵便番号および他の郵便番号、または国番号および州番号等のルックアップデータが参照され得る。
DAC型304の開発者の意図とポリシー312により、どのようにDAC302が使用または解釈されるよう意図されているかについての追加の情報が提供される。例えば、開発者の意図とポリシー312は、DAC302を配置するために利用可能でなければならないサーバファブリックリソース要求を含むことができる。例えば、DAC302は、Microsoft SQL Server 2008に要求して、空間データ型とCLR統合、および80GBのディスク空き容量のサポートを可能にすることができる。更なる例として、開発者の意図とポリシー312は、DAC302内に組み込まれるコンフィギュアビリティ(設定可能性)を定義する構成の意図(パラメータ化)を含むことができる。これにより、DACのバージョンに影響を与えない、配置に特有の構成が可能にされ、この構成には配置時に提供可能なまたは提供しなければならない情報が含まれる。例えば、構成のパラメータは、配置の処理が、ファイルグループおよびMicrosoft SQL Serverのインスタンスの名称など、サーバファブリックリソースの特定の型へのマッピングを提供しなければならないことを示すことができる。さらなる例として、開発者の意図とポリシー312は、DAC302のどの部分を外部に公開するかを指定するインターフェース定義を含むことができる。これにより、公のインターフェースとDAC302の内部の実装の詳細とを分離することができる。例えば、インターフェース定義では、どのエンティティがクライアントアプリケーションまたは別のDACにより参照可能であるかを指定する。さらなる例として、開発者の意図とポリシー312は、このDAC302に対して実行されるクエリ等の作業負荷のプロファイル情報を含むことができる。
開発者の意図とポリシーの例には、DACを配置するために利用可能でなければならないサーバファブリックリソース要求が含まれる。例えば、DACは、Microsoft SQL Server 2008に要求して、空間データ型とCLR統合および80GBのディスク空き容量のサポートを可能にすることができる。開発者の意図とポリシーの別の例には、DAC内に組み込まれるコンフィギュアビリティを定義する構成の意図(パラメータ化)が含まれる。これにより、DACのバージョンに影響を与えない、配置に特有の構成が可能にされ、この構成には配置時に提供可能なまたは提供しなければならない情報が含まれる。例えば、構成のパラメータは、配置の処理が、ファイルグループおよびMicrosoft SQL Serverのインスタンスの名称など、サーバファブリックリソースの特定の型へのマッピングを提供しなければならないことを示すことができる。開発者の意図とポリシーの別の例には、DACのどの部分を外部に公開するかを指定するインターフェース定義が含まれ得る。これにより、公のインターフェースとDACの内部の実装の詳細とを分離することができる。例えば、インターフェース定義では、どのエンティティがクライアントアプリケーションまたは別のDACにより参照可能であるかを指定する。開発者の意図とポリシーの別の例には、DACに対して実行されるクエリ等の作業負荷のプロファイル情報が含まれ得る。
図3に示すように、DACインスタンス306は、実際のインスタンスまたは配置に特有の情報を保存する。この情報は、特定の配置に対して一意的である。DACインスタンス306は、配置の意図を表現する。DACインスタンス306は、DAC型304に関連付けられる。複数のDACインスタンスが、各DAC型304に対して存在することが可能である。DACインスタンス306は、サーバファブリック内において一意的であることが保証される識別子を有する。DACインスタンス306は、サーバファブリックマッピングを含有する。
DACインスタンス306のプロパティ314は、DAC302の配置インスタンスに特有の特徴または属性である。プロパティ314には、DACインスタンス306識別子および配置の名称等のアイテムが含まれる。
DACインスタンス306の配置スキーマ316は、特定の配置に対して特有のSQLオブジェクトを定義するDACインスタンス306の一部である。配置スキーマ316には、プリンシパルおよびインデックス等のオブジェクトが含まれる。
DACインスタンス306の配置の意図とポリシー318は、DAC302が「どのように」配置または解釈されることが意図されるかについての情報を提供する。配置の意図とポリシー318には、特定の配置に対して特有の意図されるサーバファブリックマッピングおよび意図されるポリシー等のアイテムが含まれる。
ファブリックマッピング320は、DACインスタンス306と下層のリソースとの間のマッピングを定義するDACインスタンス306の一部である。ファブリックマッピング320のコンテンツの例には、インスタンスまたはマトリクス等のMicrosoft SQL Serverランタイムマッピング、および、ディスクストレージおよびコンピュータ等のハードウェアリソースが含まれる。
データ322は、特定のDACインスタンスに関連するデータを表すDACインスタンス306の一部である。データ322には、アプリケーションのユーザにより作成されるアプリケーションデータと、DACインスタンス306またはアプリケーションに対して特有の性能データ等の実用的データとの両方が含まれる。
図4を参照すると、400にて、DAC(data−tier application component:データ層アプリケーションコンポーネント)の特定の実施形態が例示される。DAC402には、データベース要素のコレクション404が含まれる。データベース要素のコレクション404には、データベースオブジェクトのデータベースオブジェクト識別子406が含まれる。データベース要素のコレクション404にはまた、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子408が含まれる。データベース要素のコレクション404にはまた、データベースランタイムリソースの実行に関するポリシー410が含まれる。DAC402にはまた、データベース要素のコレクション404に関連付けられるDAC名412が含まれる。DAC名412は、データベースアプリケーション414による使用のためにアクセス可能である。データベース要素のコレクション404は、416にて示すように、一組のユーザ選択可能な支援コンピュータリソース418に、プログラム可能に関連付けられる。
DAC名412(例えば、エンドポイント名)は、ドメイン名サーバ(DNS)名に若干類似して動作する。アプリケーション実行ファイルは、DAC名に接続し、DAC402をホストする特定のコンピュータまたはインスタンスには接続しない。DAC402の特定のコンピュータまたはインスタンスへの関連付けは、DAC402をコンピュータおよびインスタンスにマッピングすることにより、サーバファブリック内に確立される。DAC402は、アプリケーションがデータベースサーバに接続する方法に影響を与えることなく(例えば、接続文字列に影響を与えることなく)、Microsoft SQL Serverの新しいインスタンスにDAC402を単に再マッピングすることにより、新しいインスタンスに移動させることが可能である。変更の必要があるアプリケーションは無く、全て同じDAC名に接続している。例えば、給与というDAC名のDACを、コンピュータ1上のデフォルトのインスタンスからコンピュータ2上の別のインスタンスに移動することができる。全てのアプリケーションは、周知のDAC名である給与を参照するため、同じDAC402に接続している。
特定の実施形態では、一組のユーザ選択可能な支援コンピュータリソース418は、自動化ツール(例えば、ソフトウェアアプリケーション、ユーザ制御のアプリケーションなどであり、Microsoft SQL Server Management Studio、Visual Studio、ラインコマンド、Powershell、等がある)を使用して変更することが可能である。別の特定の実施形態では、コレクションに関連付けられるDAC名412は、複数のデータベースアプリケーションからアクセス可能である。
別の特定の実施形態では、一組のユーザ選択可能な支援コンピュータリソース418は修正されるが、DAC名412は不変である。
別の特定の実施形態では、データベース要素のコレクション404内のデータベース要素は修正されるが、DAC名412は不変である。
別の特定の実施形態では、データベースランタイムリソースは、Microsoft SQL Serverのインスタンスであり、Microsoft SQL Serverのインスタンスが第1のMicrosoft SQL Serverインスタンスから第2のMicrosoft SQL Serverインスタンスに修正されるが、DAC名412は不変である。
別の特定の実施形態では、データベース要素のコレクション404は変更することができ、または、一組のユーザ選択可能な支援コンピュータリソース418は変更することができ、かつ、DAC名412は不変であるため、データベース要素のコレクション404が変更される時、または、一組のユーザ選択可能な支援コンピュータリソース418が変更される時は、1つまたは複数のデータベースアプリケーション(例えば、データベースアプリケーション414)のアプリケーションの接続文字列を、記録(例えば、変更、更新、アプリケーションの再コンパイルの要求、アプリケーションのバイナリおよび/または実行ファイルの再作成の要求)する必要が無い。
別の特定の実施形態では、DAC名412を使用するデータベースアプリケーションは、異なるネットワークコンピュータ上に置かれる。
別の特定の実施形態では、データベースランタイムリソースの実行に関するポリシー410が、DAC名412に適用され、データベース要素のコレクション404が変更される時、または、一組のユーザ選択可能な支援コンピュータリソース418が変更される時、ポリシー410は、適用が継続される。
別の特定の実施形態では、DAC402は、データベース要素のコレクション404とインターフェースをとるAPI(application program interface:アプリケーションプログラムインターフェース)をさらに備える。例えば、APIは、データベース要素のコレクションの要素の利用を測定することができる。例えば、APIにより、開発者は図1のようなデータベース要素のコレクション404とインターフェースをとることができる。
特定の実施形態では、DAC402は、コンピュータ可読媒体に記憶される。コンピュータ可読媒体は、データベースオブジェクト、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子、およびデータベースランタイムリソースの実行に関するポリシーのメタデータをパッケージ化する管理の一単位を含むことができる。一度に1つずつであるように記載したが、管理の一単位が、複数のデータベースオブジェクト、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースの複数のデータベースランタイムリソース識別子、およびデータベースランタイムリソースの実行に関する複数のポリシーのメタデータをパッケージ化することが可能であることを理解されたい。加えて、複数のデータベースオブジェクトは、スキーマ、テーブル、ビュー、ストアドプロシージャ、関数、トリガ、データ型、インデックス、ログイン、ユーザ、許可、ポリシー、統計値、主キー、外部キー、デフォルト、チェックの制約、および/または、データベースサーバまたはデータベースにおいて作成可能な任意の他のオブジェクトを含むことができる。
管理の一単位を、第1の物理的コンピュータリソースに対してマッピングすることができる。管理の一単位を、第1の物理的コンピュータリソースから第2の物理的コンピュータリソースに再マッピングすることができる。第1の物理的コンピュータリソースの例には、プロセッサまたはメモリストレージデバイスがある。特定の実施形態では、管理の一単位は、関連するDAC名により識別される。ここで、DAC名はデータベースアプリケーションによる使用のためにアクセス可能である。
データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースは、SQL(Structured Query Language)サーバのインスタンスである。Microsoft SQL Serverのインスタンスには、Microsoft SQL Serverデータベースエンジンのインスタンス、Microsoft SQL Server Analysis Servicesのインスタンス、もしくは、SQL Reporting Servicesのインスタンス、または、他のデータベースのサーバタイプおよびベンダのインスタンスを含むことができる。
ポリシーは、リソース制限ポリシー、または、ソフトウェアリソースもしくはハードウェアリソースの要求に関するプロシージャを含むデータベースランタイムリソースの実行に関するものとすることができる。
図5を参照すると、500にて、システムの特定の実施形態が例示される。システム500には、一組のDAC502が含まれる。図5に示す実施形態では、第1のDAC504、第2のDAC506、および第3のDAC508が、一組のDAC502に含まれる。あるいは、一組のDAC502には、任意の数のDACを含むことができる。DAC504、506、および508のそれぞれには、データベース要素のコレクション510、512、および514の論理的表現が含まれる。
システム500には、一組のDAC502をホストする一組のデータベースランタイムリソース516がさらに含まれる。図5に示す実施形態では、一組のデータベースランタイムリソース516には、第1のデータベースランタイムリソース518、第2のデータベースランタイムリソース520、および第3のデータベースランタイムリソース522が含まれる。あるいは、一組のデータベースランタイムリソース516には、任意の数のデータベースランタイムリソースを含むことができる。
システム500には、一組のデータベースランタイムリソース516により使用されて一組のDAC502をホストするコンピュータリソース524がさらに含まれる。図5に示す実施形態では、コンピュータリソース524には、第1のコンピュータリソース526、第2のコンピュータリソース528、および第3のコンピュータリソース530が含まれる。あるいは、コンピュータリソース524には、任意の数のコンピュータリソースを含むことができる。
コンピュータリソース524は、1つまたは複数のコンピュータサーバリソース、1つまたは複数のコンピュータデータストレージリソース、または、1つまたは複数の仮想マシンリソースを含むことができる。1つまたは複数のコンピュータサーバリソースのそれぞれは、プロセッサ、メモリ、またはネットワーク要素を含むことができる。1つまたは複数のコンピュータデータストレージリソースの少なくとも1つを、複数のファイルを含む記憶ボリュームとすることができる。1つまたは複数のコンピュータサーバリソースの少なくとも1つを、最初に第1のSAN(storage area network:ストレージエリアネットワーク)にマッピングし、続いて、第2のSANにマッピングすることができる。
一実施形態では、一組のDAC502内のDAC504、506、および508のそれぞれには、DACコンテナが含まれる。各DACコンテナは、データベースオブジェクト、データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子、および、データベースランタイムリソースの実行に関するポリシーのメタデータをパッケージ化する管理の一単位を含むことができる。
一組のDAC502内の第1のDAC504は、一組のDAC502内の第2のDAC506に依存することとしても良い。
一組のDAC502内のDAC504、506、および508のそれぞれは、サーバファブリック501のDAC層により表すことができる。コンピュータリソース526、528、および530を含むコンピュータリソース524は、サーバファブリック501のハードウェアリソース層により表すことができる。一組のデータベースランタイムリソース516内のデータベースランタイムリソース518、520、および522のそれぞれは、サーバファブリック501のSQL(Structured Query Language)サーバランタイム層により表すことができる。
一組のデータベースランタイムリソース516は、Microsoft SQL Serverサービスを提供する1つまたは複数のMicrosoft SQL Serverランタイムインスタンスを含むことができる。1つまたは複数のMicrosoft SQL Serverランタイムインスタンスは、Microsoft SQL Server、Microsoft SQL Server Analysis Services、およびMicrosoft SQL Server Reporting Servicesの1つまたは複数のインスタンスを含むことができる。さらに、1つまたは複数のMicrosoft SQL Serverランタイムインスタンスは、スキーマおよびビューを含むことができる。
DAC504、506、および508のそれぞれを、データベースランタイムリソース518、520、および522の1つにマッピングすることができ、かつ、各データベースランタイムリソース518、520、および522を、1つまたは複数の物理的コンピュータリソース526、528、および530にマッピングすることができる。データベースランタイムリソースを、第1のコンピュータから第2のコンピュータに再マッピングすることができる。
DAC504、506、および508のそれぞれは、関連するDAC名を含むことができる。DAC名は、データベースアプリケーションによる使用のためにアクセス可能である。
図6を参照すると、一組のDACを含むサーバファブリックの第2の実施形態を例示するブロック図が、600にて示される。サーバファブリック608は、一組のDAC(複数のDAC)、DACをホストするMicrosoft SQL Serverランタイム、および、それらのランタイムに使用されてDACをホストするリソースのモデルに基づく表現である。サーバファブリックのモデルは、図6に示すような3つの層を有し、すなわち、DAC層610、サーバランタイム層612、およびホストリソース層614である。モデル内のオブジェクトの全ては、一組の一般的モデル化概念(noun)を使用して記述され、かつ、それらのオブジェクトに対して実行される一連のアクション(verb)を有する。
DAC層610は、DACのサーバファブリック定義をホストする。示される実施形態では、DAC層610には、第1のDAC622、第2のDAC624、および第3のDAC626が含まれる。あるいは、DAC層610には、任意の数のDACを含むことができる。サーバランタイム層612は、サーバファブリック608内にデータベースランタイムリソースのビュー(例えば、Microsoft SQL Serverサービス)を提供する。示される実施形態では、サーバランタイム層612には、第1のデータベースランタイムリソース616、第2のデータベースランタイムリソース618、および第3のデータベースランタイムリソース620が含まれる。あるいは、サーバランタイム層612には、任意の数のデータベースランタイムリソースを含むことができる。ホストリソース層614は、サーバファブリック608内の要素により使用されるコンピューティングとストレージの容量を表す。示される実施形態では、ホストリソース層614には、第1のサーバ636および第2のサーバ638を含むサーバリソース630が含まれる。さらに、ホストリソース層614には、第1のストレージリソース640および第2のストレージリソース642を含むデータリソース632が含まれる。さらに、ホストリソース層614には、第1の仮想リソース644および第2の仮想リソース646を含む仮想リソース634が含まれる。あるいは、ホストリソース層614は、任意の数のサーバリソース、データリソース、または仮想リソースを含むことができる。
サーバファブリック608は、DAC、一組のDACをホストするデータベースランタイムリソース、および、データベースランタイムリソースにより使用されDACをホストするコンピュータリソースを識別する。各DAC610には、データベース要素のコレクションの論理的表現が含まれる。中央リーズニングポイント604は、サーバファブリック608のエンティティを監視する。中央ポリシー606は、サーバファブリック608により識別された影響を受けるエンティティにおいて、受け取ったデータベース管理アクションおよびポリシーを自動的に適用するために使用される。
サーバファブリック608内の各層は、4つのタイプのエンティティ、すなわち、コンテナ、要素、リソース、およびマッピングを含有する。コンテナは、サーバファブリック608の所与の層内の最高レベルのエンティティであり、管理および識別の直観的な一単位を提供する。コンテナの例には、DAC、コンピュータ、仮想マシン、ストレージ、Microsoft SQL Serverのインスタンス、Microsoft SQL Server Analysis Services、およびMicrosoft SQL Server Reporting Servicesが含まれる。要素は、コンテナ内に存在するサーバファブリック608内の一単位である。例えば、テーブルおよびストアドプロシージャは、DAC内に存在する要素である。リソースは、有限の容量を有する特定のタイプの要素であり、かつ、その容量を決めるプロパティを有する。プロセッサデバイスは、粒度の細かいリソースの例であり、そのクロック速度は、容量を決めるプロパティの一例である。ストレージデバイスは、物理ディスク等のより粒度の細かいリソースを含有するリソースの一例である。ストレージデバイスの容量は、ストレージデバイスが含有する物理的ディスクのプロパティのみにより決められるのではなく、RAIDレベル等の構成のプロパティによっても決められる。マッピングは、サーバファブリック608の2つの部分の間の関係を表す。マッピングは、サーバファブリック608をMicrosoft SQL Server環境の実際のモデルに形成する、一般的モデル化概念である。マッピングは、コンテナとコンテナ、コンテナと要素、コンテナとリソース、要素と要素、要素とリソース、およびリソースとリソース間で行うことができる。
サーバファブリック608における各層610、612、および614の構成は、上述の一般的モデル化概念を適用することにより定義することができる。各層は、1つまたは複数のコンテナ、それらのコンテナ内の要素およびリソース、ならびに、サーバファブリック608の近接する層内のコンテナ間または要素間のマッピングから成る。
DAC層610は、DACのサーバファブリック定義をホストする。各DACは、DACコンテナを使用して定義される。各DACコンテナは、構造、コード、バージョン、およびポリシー等のアプリケーションエンティティを表す多数の要素で構成される。
DAC層610におけるマッピングにより、DACとMicrosoft SQL Serverランタイム(例えば、Microsoft SQL Serverのインスタンス)との間の関係を記述する。例えば、DAC層610内のDACを、サーバランタイム層612内のMicrosoft SQL Serverのインスタンスにマッピングすることが可能である。そして、DACをインスタンス間に再マッピングすることにより、1つのインスタンスから別のインスタンスにDACを移動させることができる。例として、第1のDAC622は、第1のデータベースランタイムリソース616(例えば、Microsoft SQL Serverの第1のインスタンス)にマッピングされ、また、次に第1のDAC622を第2のデータベースランタイムリソース618に再マッピングすることにより、第1のDAC622を、第2のデータベースランタイムリソース618(例えば、Microsoft SQL Serverの第2のインスタンス)に移動させることができる。
マッピングではまた、DAC間の関係について記述することもできる。DACは、共通の要素の再利用を可能にするために別のDACへの依存関係を表現することができる。例えば、消耗品の注文のための企業のポリシーを実施する一組のストアドプロシージャ等の、いくつかのアプリケーションにより共有される要素を有する「ベースの」DACを、定義することが可能である。それらの要素を必要とする任意の他のDACは、「ベースの」DACにマッピングすることによりそれらを参照することができる。例えば、第1のDAC622は、第2のDAC624に依存することとしても良い。
サーバランタイム層612は、サーバファブリック内にMicrosoft SQL Serverサービスを提供する。Microsoft SQL Serverランタイムコンテナには、Microsoft SQL Serverのインスタンス、Microsoft SQL Server Analysis Services、およびMicrosoft SQL Server Reporting Servicesのインスタンスが含まれる。各ランタイムコンテナは、1つまたは複数のデータベース要素を有することができる。データベース要素は、スキーマ、テーブル、ビュー、ストアドプロシージャ、関数、データ型、インデックス、ログイン、ユーザ、ポリシー、統計値、主キー、外部キー、デフォルト、チェックの制約、および/または、データベースサーバまたはデータベースにおいて作成可能な任意の他のオブジェクトを含むことができる。
サーバランタイム層612におけるマッピングにより、特定のSQLランタイム(例えば、Microsoft SQL Serverのインスタンス)と、そこに割り当てられる物理的リソースとの関係を記述する。例えば、サーバランタイム層612に存在するインスタンスが、ハードウェアリソース層614内の物理的コンピュータにマッピングされる。インスタンスは、インスタンスをコンピュータ間で再マッピングすることにより、物理的コンピュータ間で移動させることができる。例として、第1のデータベースリソース616を、第1のサーバ636にマッピングすることができ、かつ、第1のデータベースリソース616は、第1のデータベースリソース616を第1のサーバ636から第2のサーバ638に再マッピングすることにより、第2のサーバ638に移動させることができる。
ホストリソース層614は、サーバファブリック608内の要素により使用されるコンピューティングとストレージの容量を表す。ホストリソース層614におけるコンテナは、物理的コンピュータ、仮想マシン、および記憶ボリュームが含まれる。リソースコンテナはまた、サブ要素を含有することができる。例えば、物理的サーバは、プロセッサ、メモリ、およびネットワーク要素を含有する。記憶ボリュームは、ファイル要素とともに、言及したアーチファクトの記憶に関する他の要素を含有することができる。
ホストリソース層614におけるマッピングにより、物理的リソース間の関係を記述する。例えば、ホストリソース層のマッピングは、どのSAN LUN(Logical Unit Number:論理ユニット番号))が、各物理的サーバからアクセス可能であるのかを表現する。物理的サーバとSAN LUNとの間のマッピングを変更することにより、SAN LUNは、物理的サーバ間で移動させることができる。
サーバファブリック608は、サーバファブリック608全体に亘ってエンティティに適用することが可能な管理アクションおよびポリシーの中央宣言を支援する。サーバファブリック608の中央管理ポイント602は、データベース管理アクションおよびポリシーを受け取ることができる。サーバファブリック608はまた、サーバファブリックのエンティティを監視すること、かつ、管理アクションおよびポリシーを自動的に適用することが可能であるリーズニングエンジンを提供する。サーバファブリック608の中央管理機構が図6に例示される。
中央管理機構は全て、コンテナの関連する詳細、関係、および制約をサーバファブリック608に記録するモデルを参照する。
サーバファブリック608内のMicrosoft SQL Serverのインスタンスの1つは、中央管理ポイント602として指名され、中央集中管理の能力(ディスカバリ(発見)、ポリシー定義および監視等)を全てのサーバファブリック層に提供する。中央管理ポイント602は、全てのコンテナのアクションがトリガ(例えば、インポート、移動、作成、および配置)される場所である。中央管理ポイント602を、サーバファブリック608により識別されるデータベースランタイムリソースの1つにおいて、ホストすることができる。例えば、中央管理ポイント602を、第1のデータベースランタイムリソース616、第2のデータベースランタイムリソース618、または第3のデータベースランタイムリソース620においてホストすることができる。中央管理ポイント602は、サーバファブリック層610、612、および614に対してディスカバリ、ポリシー定義、および監視を提供することができる。
中央リーズニングポイント604は、サーバファブリック608内の要素のデータモデルを供給する。モデルは、リソース使用の傾向およびサーバファブリック608全体に亘る可能性のあるアクションの影響を予測するために、分析エンジンにより使用される。中央リーズニングポイント604を使用して、SQLサーバファブリック608により識別されるエンティティに対して中央リーズニングアクションを行うことができる。中央リーズニングアクションには、例えば、他のDACが第1のDACに依存しているような場合に、第1のDACをアンインストールすることの影響を推定する、第1のアクションを含むことができる。中央リーズニングアクションにはまた、例えば、コンピュータリソースの内の1つのメモリリソースを修正することの1つまたは複数のDACへの影響を推定する第2のアクションを含むことができる。中央リーズニングアクションにはまた、例えば、SQLサーバファブリック内のMicrosoft SQL Serverのインスタンスであって、配置対象のDACをホストするよう構成されるインスタンスのリストを提示する、第3のアクションを含むことができる。
中央ポリシー606には、挙動またはアクションを導くよう定義される正式な原則であるポリシーを含むことができる。ここで、ポリシーは、SQLサーバファブリック608により識別される一組のエンティティに適用することができる一組の条件を指定する。例えば、一組のエンティティは、1つまたは複数のMicrosoft SQL Serverランタイムインスタンスを含むことができ、かつ、ポリシーは、Microsoft SQL Serverのソフトウェアバージョンに基づき、1つまたは複数のMicrosoft SQL ServerランタイムインスタンスのSQLサーバファブリック608への組み込みを制限することができる。例として、Microsoft SQL Server2008のインスタンスのみを、サーバランタイム層612に組み込むことができる。更なる例として、一組のエンティティは、1つまたは複数のコンピュータリソースを含むことができ、かつ、ポリシーは、オペレーティングシステムまたはメモリ容量に基づき、1つまたは複数のコンピュータリソースのSQLサーバファブリック608への組み込みを制限することができる。例として、64ビットバージョンのWindows Server 2008で、少なくとも4ギガバイト(4GB)のメモリを有するサーバのみを、ホストリソース層614に組み込むことができる。
中央管理ポイント602は、SQLサーバファブリックのアクションをトリガすることができる。例えば、SQLサーバファブリックのアクションは、インポートアクション、エクスポートアクション、配置アクション、コピーアクション、認証アクション、インストールアクション、アンインストールアクション、追加アクション、削除アクション、入手アクション、設定アクション、列挙アクション、移動アクション、作成アクション、保存アクション、アップグレードアクション、開始アクション、終了アクション、再起動アクション、実行アクション、一時停止アクション、再開アクション、無効化アクション、有効化アクション、測定アクション、監視アクション、予測アクション、統括アクション、マップアクション、アンマップアクション、ディスカバアクション、比較アクション、マージアクション、ブロックアクション、アンブロックアクション、承諾アクション、または、取り消しアクションを含むことができる。
ライフサイクルの一連のアクションにより、エンティティを、作成またはサーバファブリック608へのインポートの時間から、サーバファブリック608からの削除の時間まで管理するための一組のアクションを記述する。例えば、ライフサイクルの一連のアクションは、所与のエンティティの作成、修正、および消去のようなアクションを対象とする。いくつかのライフサイクルの一連のアクションは、1つまたは複数の層610、612、および614に適用することができる。ライフサイクルの一連のアクションには、インポートアクション、エクスポートアクション、配置アクション、コピーアクション、認証アクション、インストールアクション、アンインストールアクション、追加アクション、削除アクション、入手アクション、設定アクション、列挙アクション、移動アクション、作成アクション、保存アクション、およびアップグレードアクションが含まれる。
インポートアクションでは、新しいコンテナおよび関連する要素を、外部の永続的なデータストアから作成する。インポートアクションは、DAC層610に適用することができる。例えば、インポートアクションにより、DACをDACパッケージファイルからサーバファブリック608にインポートすることができる。エクスポートアクションは、永続的な外部のデータストア(例えば、ファイル)を、コンテナおよびそれに含まれる要素から作成する。エクスポートアクションは、DAC層610に適用することができる。例えば、エクスポートアクションは、DACをファイルにエクスポートすることができる。
配置アクションでは、コンテナおよびそのオブジェクトを意図される場所に置く。配置アクションは、DAC層610に適用することができる。例えば、配置アクションは、第1のDAC622をサーバランタイム層612(例えば、第1のインスタンス616)内のインスタンスに配置することができる。
コピーアクションでは、一組の要素を1つのコンテナから別のコンテナにコピーする。コピーアクションは、DAC層610およびサーバランタイム層612に適用することができる。例えば、コピーアクションにより、データベースをMicrosoft SQL Serverの1つのインスタンスからサーバランタイム層612の別のインスタンスに(例えば、第1のインスタンス616から第2のインスタンス618に)コピーすることができる。
認証アクションでは、対象のコンテナ、要素、リソース、またはマッピングが指定された基準でコンパイルしているかどうかをチェックする。認証アクションは、DAC層610、サーバランタイム層612、およびホストリソース層614に適用することができる。例えば、認証アクションにより、Microsoft SQL ServerのインスタンスがCLR統合を有効にしたことを認証することができる。
インストールアクションでは、サーバファブリック608においてDACを動作可能に構成する。インストールアクションは、DAC層610およびサーバランタイム層612に適用することができる。例えば、インストールアクションにより、DACを第1のインスタンス616にインストールすることができる。アンインストールアクションでは、コンテナおよびその要素を指定される場所から削除する。アンインストールアクションは、DAC層610およびサーバランタイム層612に適用することができる。例えば、アンインストールアクションにより、DACを第1のインスタンス616からアンインストールすることができる。
追加アクションでは、外部で作成されたコンテナ、要素、またはリソース、を表現するものをサーバファブリックに組み込む。追加のアクションは、サーバランタイム層612およびホストリソース層614に適用することができる。例えば、追加アクションにより、第1のMicrosoft SQL Serverインスタンス616をサーバランタイム層612に追加することができる。削除アクションでは、外部で作成されたコンテナ、要素、またはリソースをサーバファブリック608との関連から切り離す。削除アクションは、サーバランタイム層612およびホストリソース層614に適用することができる。例えば、削除アクションにより、Microsoft SQL Serverインスタンス616をサーバランタイム層612から削除することができる。
入手アクションでは、コンテナ、要素、リソース、またはマッピング、の現在の構成を取り出す。入手アクションは、DAC層610、サーバランタイム層612、およびホストリソース層614に適用することができる。例えば、入手アクションにより、第1のMicrosoft SQL Serverインスタンス616にインストールされたDACのバージョン番号を入手することができる。
設定アクションでは、コンテナ、要素、リソース、またはマッピング、の現在の構成を更新する。設定アクションは、DAC層610、サーバランタイム層612、およびホストリソース層614に適用することができる。例えば、設定アクションにより、第1のMicrosoft SQL Serverインスタンス616にインストールされたDACのバージョン番号を設定することができる。
列挙アクションでは、コンテナ内の一組の要素またはリソースを入手する。列挙アクションは、DAC層610、サーバランタイム層612、およびホストリソース層614に適用することができる。例えば、列挙アクションにより、第1のサーバ636にリソースを列挙することができる。
移動アクションでは、一組の要素またはリソースを1つのコンテナ、要素、またはリソースから、別のコンテナ、要素、またはリソースに移動させる。移動アクションは、DAC層610、サーバランタイム層612、およびホストリソース層614に適用することができる。例えば、移動アクションにより、データベースをMicrosoft SQL Serverの1つインスタンスからサーバランタイム層612内の別のインスタンスに移動させることができる。
作成アクションでは、新しいコンテナまたは要素を作成する。作成アクションは、DAC層610およびサーバランタイム層612に適用することができる。例えば、作成アクションにより、DACがMicrosoft SQL Server2008を要求することを指定する新しいポリシーの制約を作成することができる。
保存アクションでは、コンテナ、要素、リソース、またはマッピングの現在の構成を存続させる。保存アクションは、DAC層610、サーバランタイム層612、およびホストリソース層614に適用することができる。例えば、保存アクションにより、第1のMicrosoft SQL Serverインスタンス616にインストールされたDACのバージョン番号を保存することができる。
アップグレードアクションでは、コンテナまたは要素の既存の構成を新しい定義に変換する。アップグレードアクションは、DAC層610およびサーバランタイム層612に適用することができる。例えば、アップグレードアクションにより、第1のMicrosoft SQL Serverインスタンス616にインストールされたOrdersテーブルの定義を第1のバージョンから第2のバージョンにアップグレードすることができる。
サーバファブリック608は、監視性能、照合変更、およびポリシー順守の認証等のアクションを実行するいくつかの処理を有する。以下の一組の一連のアクションを使用して、処理を管理することができる。その他の一連のアクションの全てが、サーバファブリック608の全ての層(例えば、DAC層610、サーバランタイム層612、およびホストリソース層614)に適用される。処理制御の一連のアクションには、開始アクション、終了アクション、再起動アクション、実行アクション、一時停止アクション、再開アクション、無効化アクション、および有効化アクションが含まれる。
開始アクションでは、処理を開始し、処理は終了されるまで継続される。例えば、開始アクションは、第1のMicrosoft SQL Serverインスタンス616の照合を開始する。終了アクションでは、処理の実行を中止する。例えば、終了アクションにより、第1のMicrosoft SQL Serverインスタンス616の照合を終了することができる。再起動アクションでは、実行中の処理を終了させ、それを再度開始させる。例えば、再起動アクションにより、第1のMicrosoft SQL Serverインスタンス616の照合を再起動することができる。実行アクションでは、実行されて完了時に自動的に終了する処理を、開始する。例えば、実行アクションにより、第1のMicrosoft SQL Serverインスタンス616上でディスカバリを実行することができる。一時停止アクションでは、処理を中断し、処理は再開されるまで中断されたままにされる。例えば、一時停止アクションにより、第1のMicrosoft SQL Serverインスタンス616上でディスカバリを一時停止させることができる。再開アクションでは、一時停止された処理を継続させる。例えば、再開アクションにより、第1のMicrosoft SQL Serverインスタンス616上のディスカバリを再開することができる。無効化アクションでは、処理を利用できないように構成し、処理の開始を不可能にする。処理は、有効にされるまで無効のままになる。例えば、無効化アクションにより、第1のMicrosoft SQL Serverインスタンス616の照合を無効にすることができる。有効化アクションでは、無効にされた処理が開始されるように構成する。例えば、有効化アクションにより、第1のMicrosoft SQL Serverインスタンス616の照合を有効にすることができる。
性能管理の一連のアクションを使用して、サーバファブリックリソースの現在の利用について、現在のまたは予測されるサーバファブリック608の健全性を分析する。これらのverbはまた、サーバファブリック608内の種々のコンテナおよび要素によるリソースの使用を統括する手段も提供する。性能管理の一連のアクションは、測定アクション、監視アクション、予測アクション、および統括アクションを含むことができる。
測定アクションでは、リソース、要素、またはコンテナに関する性能統計値を収集する。例えば、測定アクションにより、第1のサーバ636のボリュームE上のデータベースファイルFinance.mdbにより使用されるスペースを測定することができる。監視アクションでは、リソース、要素、またはコンテナに関する性能統計値を、ポリシーに対して評価する。例えば、監視アクションにより、容量の80%を超える利用の発生時について、第1のサーバ636のボリュームE上のデータベースファイルFinance.mdbにより使用されるスペースを監視することができる。予測アクションでは、履歴データ、リソース変更、または、配置もしくは作成等のサーバファブリックアクションの関数として、コンテナ、要素、またはリソースの性能統計値を予想する。例えば、予測アクションにより、増大した会計のDACを収容するために追加のストレージがいつ必要になるかを予測することができる。更なる例として、予測アクションは、全体的に増大したサーバファブリックを収容するために追加のリソースがいつ必要になるかを予測する。統括アクションでは、コンテナまたは要素に割り当てられるリソースの最小量または最大量を指定する。例えば、統括アクションにより、第1のMicrosoft SQL Serverインスタンス616のCPUの利用を、第2のサーバ638のCPUの容量の50%に制限することができる。
マッピングの一連のアクションでは、サーバファブリック608内の層の間の関係を管理する簡素な手段を提供する。マッピングの一連のアクションは、主として、近接する2つの層の間の関係を確立するために使用される。一連のアクションを使用して全ての関係が管理されるわけではない。例えば、コンピュータとそのストレージとの関係は、コンピュータを物理的に操作することにより制御される。マッピングの一連のアクションは、マップアクションおよびアンマップアクションを含むことができる。概念的には、これらの一連のアクションは、サーバファブリック608に対して行うことが可能な最高レベルのアクションであるとして考えることができ、このアクションの結果、一連の他のライフサイクルアクションが実行されることになる。例えば、DACをMicrosoft SQL Serverのインスタンスにマッピングすることで、DACがそのインスタンス上で利用可能であることをシステムに知らせることになる。これにより、そのDACを、指定されるインスタンス上で利用可能にすることが求められる、配置またはインストール等の全ての一連のアクションが呼び出される。
マップアクションでは、コンテナ、要素、またはリソースの間の関係を作成する。例えば、マップアクションにより、第1のDAC622を第1のMicrosoft SQL Serverインスタンス616に結びつけることができる。アンマップアクションでは、コンテナ、要素、またはリソースの間のマッピングを削除する。例えば、アンマップアクションにより、第1のDAC622を第1のMicrosoft SQL Serverインスタンス616から分離させることができる。
照合は、サーバファブリック内の、所定の定義から外れたエンティティを識別するための処理である。例えば、照合により、プロダクションサーバ内のテーブルの定義が、DACにおいて定義されたものから変更されているかどうかを検出する。3つのサーバファブリックの一連のアクションが、照合を実装する。照合の一連のアクションは、ディスカバアクション、比較アクション、およびマージアクションを含むことができる。
ディスカバアクションでは、新しいアイテムを見つけ、かつ、新しいアイテムに生産的な見識を与える動作が定義される。例えば、ディスカバアクションにより、第1のMicrosoft SQL Serverインスタンス616内のEmployeeテーブル内に新しい列を発見することができる。比較アクションでは、コンテナ、要素、またはリソースの現在の構成を、予め定義された構成とマッチさせ、任意の相違を報告する。例えば、比較アクションにより、第1のMicrosoft SQL Serverインスタンス616に存在するEmployeeテーブルを、DAC内のテーブル定義比較することができ、かつ、DAC内に定義されていない列を有する、第1のMicrosoft SQL Serverインスタンス616内のテーブルのバージョンを見つける。マージアクションでは、複数のインスタンスから、コンテナ、要素、またはリソースの単一の構成を作成する。例えば、マージアクションにより、Employeeテーブル内の新しい列の定義をDAC定義にマージすることができる。
アクセスの一連のアクションでは、サーバファブリックモデルの一部へのアクセスを制御する手段を提供して、長期間実行される処理を支援する。例えば、ファイルを1つのボリュームから別のボリュームに移動させる処理は、移動先のボリュームへのアクセスを制御して、複数の処理が相容れないスペースの割り当てを行わないようにしなければならない。セキュリティの一連のアクションでは、サーバファブリック608内のコンテナおよび要素へのアクセスを、認可されたユーザに限定する。本開示では、新しい認可の基礎構造を提供しないが、むしろ、これらの一連のアクションにより、サーバファブリック608全体に亘る認可の構成についての統一されたインターフェースを表す。従って、本開示では、Microsoft SQL Serverには既に整っている種々の下層にある認可の機構を活用する。アクセスおよびセキュリティの一連のアクションは、ブロックアクション、アンブロックアクション、承諾アクション、および、取り消しアクションを含むことができる。
ブロックアクションでは、コンテナ、要素、またはリソースの構成への発行処理排他的アクセスを提供し、他の処理がその構成にアクセスすることを阻止する。この一連のアクションは、実際のエンティティ自体にではなく、サーバファブリック608のモデル内のデータに作用する。例えば、ブロックアクションにより、第1のサーバ636の記憶ボリュームEへのアクセスをブロックすることができ、ファイル移動を実行するためにスペースを確保する。アンブロックアクションは、コンテナ、要素、またはリソースの構成への排他的アクセスを解除する。この一連のアクションは、実際のエンティティ自体にではなく、サーバファブリック608のモデル内のデータに作用する。例えば、ファイル移動が完了した後、アンブロックアクションにより、第1のサーバ636の記憶ボリュームEへのアクセスをアンブロックすることができる。承諾アクションでは、コンテナ、要素、またはリソースにアクセスするための主要な許可を与える。例えば、承諾アクションにより、DACへの主要なJanet書き込みアクセスを承諾することができる。取り消しアクションでは、コンテナまたは要素にアクセスするための主要な許可を拒否する。例えば、取り消しアクションにより、主要なJanetからDACへの書き込みアクセスを取り消すことができる。
図7を参照すると、データベース管理アクションおよびポリシーを自動的に適用する方法の特定の実施形態が例示される。702にて、方法は、SQLサーバファブリック(例えば、図6のサーバファブリック608の中央管理ポイント602)の中央管理ポイントにおいて、データベース管理アクションおよびポリシーを受け取るステップを含む。SQLサーバファブリックは、DAC、一組のDACをホストするデータベースランタイムリソース、およびDACをホストするためにデータベースランタイムリソースにより使用されるコンピュータリソースを識別する。DACのそれぞれには、データベース要素のコレクションの論理的表現が含まれる。704に移ると、方法はまた、中央リーズニングポイント(例えば、図6のサーバファブリック608の中央リーズニングポイント604)において、SQLサーバファブリックのエンティティを監視するステップを含む。706に移ると、方法はまた、SQLサーバファブリックにより(例えば、図6の中央ポリシー606を使用して)識別される影響を受けるエンティティにおいて、受け取ったデータベース管理アクションおよびポリシーを自動的に適用するステップを含む。
図8を参照すると、ERD(entity relationship diagram:エンティティ関係図)により、サーバファブリックがデータ層のコンポーネントを記述するモデルをどのように表すかについて、および、そのコンポーネントがどのように関係するかを例示する。図8のERDでは、このモデルがどのような形になってサーバファブリックの3つの層の構造とセマンティック(意味)を支援するのかを例示する。
各層は、コンテナ、要素、およびリソースと同様にモデル内の正規のエンティティとして表される。モデルはまた、これらのエンティティ間の関係セマンティックを定義し、その結果サーバファブリックの構造が定義される。この構造では、本開示の実施形態によるサーバファブリックに対するリーズニングおよびアクションを起こすことを可能にすることにより、次のセクションで説明する機構が容易にされる。
図9を参照すると、900にて、システムの特定の例示の実施形態が例示される。CMS(Central Management Server:中央管理サーバ)902により、サーバファブリックに中央集中管理ポイントが提供される。CMS902は、CMR(Central Management Repository:中央管理リポジトリ)904に接続する。サーバファブリック内のMicrosoft SQL Serverの管理されるインスタンスは、CMS902に接続し、情報をCMR904にアップロードする。CMS902は、ネットワーク上のSQLサービスのインスタンスをディスカバリするアクション、DACをプロビジョンするアクション、DAC要素を所望の場所に置くアクション、DACを基準に対してチェックするアクション、および、サーバファブリック内の要素間の相違を照合するアクションを提供する。
CMR904は、サーバファブリックのモデル(例えば、全ての関連する詳細、関係、および制約)を含有する。CMS902は、配置分析、影響分析、およびwhat−if分析のための中央リーズニングポイントであり、コアデータ型、詳細データ型、およびリンクデータ型を含有する。この型の内の2つにより、IMR(例えば、IMR910および914)からCMR904への複製の頻度に基づく分類を用いて、CMR904に含有されるデータを表す。頻繁に複製されるデータをコアデータと称する。それほど頻繁に複製されないデータを詳細データと称する。リンクデータ型は、CMR904に記憶されないデータに対するインデックスまたはポインタとして機能する。
CMDW(Central Management Data Warehouse:中央管理データウェアハウス)906により、一組の物理的サーバおよびインスタンス全体に亘る性能統計値履歴を中央に集中してレポートすることを可能にする。各管理されるSQLサーバランタイムインスタンス上に存在するデータは、収集されて、監視およびレポートの目的でCMDW906のデータベースの配置場所にアップロードされる。
CFS(Central Fabric Service:中央ファブリックサービス)908は、コアのCMS902のアクションのためのAPIを提供する。これらのアクションには、ネットワーク上のSQLサービスのインスタンスをディスカバリするアクション、DACをプロビジョンするアクション、DAC要素を所望の場所に置くアクション、DACを基準に対してチェックするアクション、および、サーバファブリック内の要素間の相違を照合するアクションが含まれる。
IMR(Instance Management Repository:インスタンス管理リポジトリ)は、Microsoft SQL Serverの各インスタンス内に存在するデータベースである。例えば、第1のIMR910は、第1のMicrosoft SQL Serverインスタンス912内に存在する。第2のIMR914は、第2のMicrosoft SQL Serverインスタンス916内に存在する。IMRは、全ての配置またはサーバファブリックの修正の最初の対象である。「コレクションセット」として既知の機構により、IMR情報をコピーし、CMR904内にアップロードしてサーバファブリックの集約レベルのビューを提供する。
IMDW(Instance Management Data Warehouse:インスタンス管理データウェアハウス)は、Microsoft SQL Serverの各インスタンス内に存在する管理データウェアハウスである。例えば、第1のIMDW918は、第1のMicrosoft SQL Serverインスタンス912内に存在する。第2のIMDW920は、第2のMicrosoft SQL Serverインスタンス916内に存在する。IMDWは、インスタンスのデータの性能(例えば、レポートおよび/または監視)の最初の対象であり、後で、CMDW906内にアップロードされてサーバファブリックの集約的なビューを提供する。
IFS(Instance Fabric Server:インスタンスファブリックサーバ)は、コアの管理アクションのためのAPIを提供する。例えば、第1のIFS922は、第1のMicrosoft SQL Serverインスタンス912内に存在する。第2のIFS924は、第2のMicrosoft SQL Serverインスタンス916内に存在する。これらのアクションには、ローカルなインスタンス上にDACインスタンスを認証してインストールするアクション、外れたインストールをディスカバリするアクション、および照合動作を提供するアクションが含まれる。IFSはまた、インスタンスの性能を測定することができ、CMS902から送られるアクションを実行する。
図10を参照すると、1000にて、エンド・ツー・エンド管理の処理の例示の図が例示される。本開示は、開発から配置までの完全なソフトウェアライフサイクル全体に亘ってMicrosoft SQL Serverデータベースアプリケーションを管理するための、ツールおよび基礎構造を動作に提供する。このセクションでは、本開示のいくつかの標準的なワークフローを前のセクションで説明された主要なアーキテクチャのコンポーネントに対して用いて、核となる設計の原則に見識を提供する。
1002にて、システムがインストールされ、サーバファブリックが構成される。1004にて、DACが、既存の配置から作成され、サーバファブリックにインポートされる。1006にて、サーバファブリックの利用が監視および予測される。監視と予測に基づき、サーバファブリックリソースを調節することができる。例えば、1008にて、サーバファブリックリソースが統括される。1010にて、サーバファブリック要素が移動される。
図11を参照すると、インストール処理例示が示される。インストールパッケージは、3つのコンポーネントで構成される。すなわち、ツール拡張機能、サーバファブリックサービス、および管理リポジトリスキーマである。ツール拡張機能は、Visual StudioおよびMicrosoft SQL Server Management Studioに適用される。サーバファブリックサービスおよび管理リポジトリスキーマは、中央管理サーバおよび管理されるインスタンス内にインストールされる。
1102にて、インストールパッケージが取得される。1104にて、ツール拡張機能(Visual StudioおよびMicrosoft SQL Server Management Studio)がインストールされる。1106にて、中央管理サーバ(CMS)および中央ファブリックサービス(CFS)が、インストールされ構成される。1108にて、中央管理リポジトリ(CMR)スキーマおよび中央管理データウェアハウス(CMDW)スキーマがインストールされる。1110にて、全てのランタイムインスタンスがディスカバリされ、サーバファブリックにおいて管理されるインスタンスとなるインスタンスがディスカバリされる。1112にて、サーバファブリックインストールのジョブが、各管理されるインスタンス内に作成される。1114にて、インスタンス管理リポジトリ(IMR)スキーマおよびインスタンス管理データウェアハウス(IMDW)スキーマが、各管理されるインスタンス内に作成される。1116にて、サーバファブリックIMDWのCMDWへのデータアップロード機構がインストールされ、1118にて開始される。
図12を参照すると、既存の配置からDACを作成し、サーバファブリック内にインポートする説明に役立つ実例が示される。DACは、サーバファブリック内のコアの論理的な管理の単位である。サーバファブリックはDACを管理して、最適なリソース利用を確実にする。DACは、新しいDACプロジェクトを作成することにより、Visual StudioまたはMicrosoft SQL Server Management Studioのどちらかにおいて認可される。加えて、アプリケーションデータベースオブジェクトを選択することにより、新しいDACを、以前のデータベースの配置からリバースエンジニアすることが可能である。
1202にて、DACが作成される。1204にて、インスタンスオブジェクトが、DACに追加される。1206にて、インスタンスの設定およびポリシーがDACに追加される。1208にて、配置の設定およびポリシーがDACに追加される。1210にて、DACの設定およびポリシーが、IMRに対して認証される。1212にて、DACはIMRに保存される。1214にて、DACはIMRからCMRにコピーされる。選択的に、1216にて、DACパッケージバイナリファイルが、Visual Studioにおける後の開発での使用のために作成される。
図13を参照すると、サーバファブリックの利用を監視および予測する説明に役立つ実例が示される。リソース利用のポリシーにより、サーバファブリックおよびDAC全体に亘って設定および評価が可能であり、リソース利用の過不足を防ぐことができる。
1302にて、グローバルリソースの監視ポリシーがCMRにおいて設定される。1304にて、統計値がIMDWに追加される。1306にて、データベースリソースの監視ポリシーがIMRにおいて設定される。1308にて、リソースの利用の統計値がIMDWにおいて監視される。1310にて、IMDWリソースの利用の統計値がCMDWにエクスポートされる。1312にて、現在のリソースの利用がCMDWにおいて監視される。1314にて、予測されるリソースの利用がCMDWにおいて監視される。
図14を参照すると、サーバファブリックリソースを調節する説明に役立つ実例が示される。リソース割り当てのポリシーにより、サーバファブリックおよびDAC全体に亘って設定および評価が可能であり、DACが利用可能なリソースのバランスを保つことができる。リソースの調節は、配置済みのリソースの統括、および、ボリューム間でのファイルの移動またはサーバ間のデータベースアプリケーションの移動といったサーバファブリック要素の移動、等のアクションを介して達成することが可能である。サーバファブリックリソースは、ポリシーを統括する新しいリソースを実装することにより調節することができる。
1402にて、リソースのバランスを保つオプションが、対象のDACに関するDACに対して予測される。1404にて、新しいリソースのポリシーがCMRにおいて設定される。1406にて、新しいリソースのポリシーは、各IMRにコピーされる。1408にて、リソース統括の規則が各IMRに実装される。
図15を参照すると、サーバファブリックリソースを調節する別の説明に役立つ実例が示される。図15において、DACを1つのファイルから別のファイルに移動させる処理が例示される。
1502にて、DACがCMRから取得される。1504にて、可能性のある対象ボリュームが予測される。1506にて、DACが別のボリューム(ボリューム2)にマッピングされる。1508にて、DACはCMRからIMRにコピーされる。1510にて、DACは、IMRにおいて認証される。1512にて、DACはインストールされる(データベースを変更、ファイルをコピー、...)。1514にて、DACはCMRにおいて認証される。
図16を参照すると、サーバファブリックリソースを調節する別の説明に役立つ実例が示される。図16において、DACをMicrosoft SQL Serverの1つのインスタンスから別のそれに移動させる処理が例示される。
1602にて、DACがCMRから取得される。1604にて、可能性のある対象インスタンスが予測される。1606にて、DACはランタイムインスタンス2にマッピングされる。1608にて、DACは、CMRからインスタンス2IMRにコピーされる。1610にて、DACは、インスタンス2IMRにおいて認証される。1612にて、DACは、インスタンス2IMRにインストールされる。1614にて、DACのエンドポイント名が、CMRにおいて移動される。1616にて、DACはCMRにおいて認証される。
本明細書に記載される実施形態の例示では、種々の実施形態の構造についての全体的な理解を提供すことが意図される。例示では、本明細書に記載される構造または方法を利用する装置およびシステムの要素および特徴の全てを完全に説明することは意図されない。本開示を精査すれば、多くの他の実施形態が当業者には明らかであろう。本開示から、他の実施形態が利用されかつ導かれ、構造的および論理的な置き換えおよび変更が、本開示の範囲から逸脱することなくなされ得るであろう。従って、本開示および図面は、制限するものではなく例示として見なされるべきである。
当業者はさらに理解するであろうが、本明細書に開示される実施形態と併せて記載される、種々の例示の論理的なブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子機器、コンピュータソフトウェア、またはその組み合わせとして実装できる。ハードウェアとソフトウェアのこの互換性を明確に例示するために、種々の例示のコンポーネント、ブロック、構想、モジュール、回路、またはステップが、その機能性の観点から概して記載された。そのような機能性がハードウェアまたはソフトウェアとして実装されるかどうかは、特定のアプリケーション、およびシステム全体に課される設計上の制約に依存する。当業者は、記載される機能性を、各特定のアプリケーションに対して色々な方法で実装することができるが、そのような実装の決定を、本開示の範囲から逸脱する原因として解釈すべきではない。
本明細書に開示される実施形態と併せて記載される方法のステップは、直接ハードウェアにおいて、プロセッサにより実行されるソフトウェアモジュールにおいて、または、その2つの組み合わせにおいて、具現化することができる。ソフトウェアモジュールは、RAM(random access memory)、フラッシュメモリ、ROM(read only memory)、レジスタ、ハードディスク、着脱可能ディスク、CD−ROM、または従来技術において既知の任意の他の形式の記憶媒体、等のコンピュータ可読媒体に存在させることができる。例示の記憶媒体は、プロセッサに連結され、プロセッサが記憶媒体から情報を読み書きできるようにされる。代替えとして、記憶媒体はプロセッサに統合することができ、または、プロセッサと記憶媒体を、コンピュータデバイスまたはコンピュータシステム内で離散したコンポーネントとして存在させることができる。
本明細書において特定の実施形態が例示されかつ記載されたが、同一または同様の目的を達成するために設計される、任意の後に続く構成は、示される特定の実施形態と置き換えることができることを理解されたい。本開示では、種々の実施形態の、任意のおよび全ての後に続く適合または変動を対象とすることが意図される。
本開示の要約書は、37C.F.R.§1.72(b)に従って提供され、かつ、請求項の範囲または意味を解釈または制限するために使用されないという理解のもとに提出される。加えて、前述の「発明を実施するための形態」において、本開示を簡素化する目的で、種々の特徴が単一の実施形態でまとめられ、または、単一の実施形態で記載される。本開示は、請求される実施形態が、各請求項に明示的に列挙されるものより多くの特徴を要求するという意図を反映するものとして解釈されるべきではない。むしろ、以下の請求項が反映するように、発明の主題は、開示される実施形態の内のいずれかの全て特徴のより少ないものを対象とする。
開示される実施形態の上述の記載が提供されて、任意の当業者が開示される実施形態を形成または使用することが可能にされる。これらの実施形態に対する種々の修正が、当業者には容易に明らかにされるであろう、また、本明細書に定義される一般的原理が、本開示の範囲から逸脱することなく他の実施形態に適用される。従って、本開示は、本明細書に示される実施形態に限定されることは意図されず、以下の請求項に定義される原理および新規の特徴に整合する可能性のある一番広い範囲に一致することが意図される。

Claims (22)

  1. コンピュータに、データ層アプリケーションコンポーネント(DAC)を配置するための方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記方法は、
    コンパイル可能なDACモデルに基づいてDACパッケージをビルドするステップであって、前記DACパッケージをビルドすることは、前記DACモデルをコンパイルすることを含む、ステップと、
    前記DACパッケージからサーバファブリックに複数のDAC型をインポートするステップであって、前記複数のDAC型のそれぞれは、前記DACの論理的実装を定義し、前記サーバファブリックは、少なくとも1つのDAC、1または複数のデータベースサーバランタイム、および少なくとも1つのハードウェアリソースをモデル化する、ステップと、
    前記サーバファブリックにおいて、前記複数のDAC型のうち1つのDAC型を、前記1または複数のデータベースサーバランタイムに配置して、DACインスタンスを作成するステップであって、前記DACインスタンスの作成は、少なくとも前記DACインスタンスの2以上のプロパティおよび配置に対して特有のオブジェクトを定義する配置スキーマを含む情報を保存することを含み、前記2以上のプロパティは、一意な識別子プロパティおよび配置名称プロパティを含む、ステップと
    を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
  2. 前記DAC型は、少なくともプロパティ、アプリケーションスキーマおよび配置ポリシーを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  3. 前記DAC型は、ユーザが、不変条件、要求、および意図される前記DACの使用を定義するための機構を提供することを特徴とする請求項2に記載のンピュータ読み取り可能な記録媒体。
  4. 前記DACインスタンスが、配置ポリシー、ファブリックマッピング、およびデータをさらに含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  5. データベース要素を一組の支援コンピュータリソースに関連付けるためのコンピュータ実装システムであって、少なくとも1つのプロセッサ、および前記プロセッサにデータ層アプリケーションコンポーネント(DAC)を配置するための方法を実行させるためのプログラムを記録したメモリを備え、前記方法は、
    データベース要素のコレクションを含むコンパイル可能なDACモデルを作成するステップであって、前記データベース要素のコレクションは、
    1または複数のデータベースオブジェクトに関するメタデータであって、前記メタデータは、各前記データベースオブジェクトの識別子を含む、メタデータと、
    前記データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子と、
    前記データベースランタイムリソースの実行に関するポリシー
    を含む、ステップと、
    前記DACモデルに基づいてDACパッケージをビルドするステップであって、前記DACパッケージをビルドすることは、前記DACモデルをコンパイルすることを含む、ステップと、
    前記DACパッケージからサーバファブリックに複数のDAC型をインポートするステップであって、前記複数のDAC型のそれぞれは、前記DACの論理的実装を定義し、前記サーバファブリックは、少なくとも1つのDAC、1または複数のデータベースサーバランタイム、および少なくとも1つのハードウェアリソースをモデル化する、ステップと、
    前記サーバファブリックにおいて、前記複数のDAC型のうち1つのDAC型を、前記1または複数のデータベースサーバランタイムに配置して、DACインスタンスを作成するステップであって、前記DACインスタンスの作成は、少なくとも前記DACインスタンスの2以上のプロパティおよび配置に対して特有のオブジェクトを定義する配置スキーマを含む情報を保存することを含み、前記2以上のプロパティは、一意な識別子プロパティおよび配置名称プロパティを含む、ステップと
    を含むことを特徴とするシステム。
  6. 前記データベース要素のコレクション内の1または複数のデータベース要素は修正されるが、DAC名は不変であることを特徴とする請求項5に記載のシステム。
  7. 前記データベース要素のコレクション、または、1もしくは複数のランタイムリソースが変更可能であり、前記データベース要素のコレクションに関連付けられるDAC名は不変であり、1または複数のデータベースアプリケーションのアプリケーションの接続文字列を、前記データベース要素のコレクションに対する変更に応答して記録する必要が無いことを特徴とする請求項5に記載のシステム。
  8. 前記DAC名を使用する前記データベースアプリケーションが、異なるネットワークコンピュータ上に置かれることを特徴とする請求項7に記載のシステム。
  9. 前記データベースランタイムリソースの実行に関するポリシーが、前記データベース要素のコレクションに関連付けられるDAC名に適用され、および、前記データベース要素のコレクション、または、1もしくは複数のランタイムリソースが変更される場合に、前記ポリシーは継続して適用されることを特徴とする請求項5に記載のシステム。
  10. 前記データベース要素のコレクションとインターフェースをとるAPIをさらに備え、前記APIは、前記データベース要素のコレクション内の1または複数の要素の利用を測定することができることを特徴とする請求項5に記載のシステム。
  11. データ層アプリケーションコンポーネント(DAC)を配置するための方法であって、
    データベース要素のコレクションを含むコンパイル可能なDACモデルを作成するステップであって、前記データベース要素のコレクションは、
    1または複数のデータベースオブジェクトに関するメタデータであって、前記メタデータは、各前記データベースオブジェクトの識別子を含む、メタデータと、
    前記データベースオブジェクトを操作するよう動作可能なデータベースランタイムリソースのデータベースランタイムリソース識別子と、
    前記データベースランタイムリソースの実行に関するポリシー
    を含む、ステップと、
    前記DACモデルに基づいてDACパッケージをビルドするステップであって、前記DACパッケージをビルドすることは、前記DACモデルをコンパイルすることを含む、ステップと、
    前記DACパッケージからサーバファブリックに複数のDAC型をインポートするステップであって、前記複数のDAC型のそれぞれは、前記DACの論理的実装を定義し、前記サーバファブリックは、少なくとも1つのDAC、1または複数のデータベースサーバランタイム、および少なくとも1つのハードウェアリソースをモデル化する、ステップと、
    前記サーバファブリックにおいて、前記複数のDAC型のうち1つのDAC型を、前記1または複数のデータベースサーバランタイムに配置して、DACインスタンスを作成するステップであって、前記DACインスタンスの作成は、少なくとも前記DACインスタンスの2以上のプロパティおよび配置に対して特有のオブジェクトを定義する配置スキーマを含む情報を保存することを含み、前記2以上のプロパティは、一意な識別子プロパティおよび配置名称プロパティを含む、ステップと
    を含むことを特徴とする方法。
  12. 前記DACモデルを表現するものをDACプロジェクトとして保存するステップと、
    前記DACプロジェクトをソースコントロールシステムまたはソースコントロールデータベースにチェックインして、前記DACプロジェクトを記憶するステップと
    をさらに含むことを特徴とする請求項11に記載の方法。
  13. 前記DACパッケージをビルドする前に、前記DACモデルをエディットし、前記DACモデルを認証するステップと、
    前記DACインスタンスを配置する前に前記DAC型を構成するステップと、
    前記DACインスタンスを特定の組の物理的コンピュータリソースに対してインストールするステップと
    をさらに含むことを特徴とする請求項11に記載の方法。
  14. データベースオブジェクトに関するメタデータをパッケージ化する、前記DACの管理の一単位が、第1の物理的コンピュータリソースに対してマッピングされることを特徴とする請求項11に記載の方法。
  15. 前記第1の物理的コンピュータリソースが、プロセッサ、メモリストレージデバイス、物理的ストレージデバイス、ハードディスク、コンパクトディスク、ハードドライブ、およびレジスタの内の1つまたは複数を含むことを特徴とする請求項14に記載の方法。
  16. 前記管理の一単位が、前記第1の物理的コンピュータリソースから第2の物理的コンピュータリソースに再マッピングされることを特徴とする請求項14に記載の方法。
  17. 前記データベースランタイムリソースの実行に関するポリシーは、リソース制限ポリシー、または、ソフトウェアリソースもしくはハードウェアリソースの要求に関するプロシージャであることを特徴とする請求項11に記載の方法。
  18. 前記管理の一単位は、関連するDAC名により識別され、前記DAC名はデータベースアプリケーションによる使用のためにアクセス可能であることを特徴とする請求項14に記載の方法。
  19. 前記データベースオブジェクトが、スキーマ、テーブル、ビュー、ストアドプロシージャ、関数、トリガ、データ型、インデックス、ログイン、ユーザ、許可、ポリシー、統計値、主キー、外部キー、デフォルト、およびチェックの制約の内の1つまたは複数を含むことを特徴とする請求項11に記載の方法。
  20. 前記管理の一単位は、DAC型、DACインスタンスを含み、前記DAC型は、少なくともプロパティ、アプリケーションスキーマ、および配置ポリシーを含むことを特徴とする請求項14に記載の方法。
  21. 前記DAC型は、ユーザが、不変条件、要求、および意図される前記DACの使用を定義するための機構を提供することを特徴とする請求項20に記載の方法。
  22. 前記DACインスタンスが、プロパティ、配置スキーマ、配置ポリシー、ファブリックマッピング、およびデータを含むことを特徴とする請求項20に記載の方法。
JP2011529112A 2008-09-26 2009-09-15 データ層アプリケーションコンポーネント Expired - Fee Related JP5380540B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/239,184 2008-09-26
US12/239,184 US8396845B2 (en) 2008-09-26 2008-09-26 Data-tier application component
PCT/US2009/057042 WO2010036539A2 (en) 2008-09-26 2009-09-15 Data-tier application component

Publications (3)

Publication Number Publication Date
JP2012503827A JP2012503827A (ja) 2012-02-09
JP2012503827A5 JP2012503827A5 (ja) 2012-10-25
JP5380540B2 true JP5380540B2 (ja) 2014-01-08

Family

ID=42059118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011529112A Expired - Fee Related JP5380540B2 (ja) 2008-09-26 2009-09-15 データ層アプリケーションコンポーネント

Country Status (5)

Country Link
US (1) US8396845B2 (ja)
EP (1) EP2329415A4 (ja)
JP (1) JP5380540B2 (ja)
CN (1) CN102165445B (ja)
WO (1) WO2010036539A2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624138B2 (en) * 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US20050015340A1 (en) * 2003-06-27 2005-01-20 Oracle International Corporation Method and apparatus for supporting service enablers via service request handholding
US8966498B2 (en) * 2008-01-24 2015-02-24 Oracle International Corporation Integrating operational and business support systems with a service delivery platform
US9565297B2 (en) 2004-05-28 2017-02-07 Oracle International Corporation True convergence with end to end identity management
US9038082B2 (en) 2004-05-28 2015-05-19 Oracle International Corporation Resource abstraction via enabler and metadata
US8458703B2 (en) * 2008-06-26 2013-06-04 Oracle International Corporation Application requesting management function based on metadata for managing enabler or dependency
US8321498B2 (en) * 2005-03-01 2012-11-27 Oracle International Corporation Policy interface description framework
US9245236B2 (en) * 2006-02-16 2016-01-26 Oracle International Corporation Factorization of concerns to build a SDP (service delivery platform)
US20060116912A1 (en) * 2004-12-01 2006-06-01 Oracle International Corporation Managing account-holder information using policies
US8914493B2 (en) 2008-03-10 2014-12-16 Oracle International Corporation Presence-based event driven architecture
US8214503B2 (en) * 2007-03-23 2012-07-03 Oracle International Corporation Factoring out dialog control and call control
US8539097B2 (en) * 2007-11-14 2013-09-17 Oracle International Corporation Intelligent message processing
US8161171B2 (en) 2007-11-20 2012-04-17 Oracle International Corporation Session initiation protocol-based internet protocol television
US9654515B2 (en) * 2008-01-23 2017-05-16 Oracle International Corporation Service oriented architecture-based SCIM platform
US8589338B2 (en) * 2008-01-24 2013-11-19 Oracle International Corporation Service-oriented architecture (SOA) management of data repository
US8401022B2 (en) 2008-02-08 2013-03-19 Oracle International Corporation Pragmatic approaches to IMS
US10819530B2 (en) * 2008-08-21 2020-10-27 Oracle International Corporation Charging enabler
US8879547B2 (en) * 2009-06-02 2014-11-04 Oracle International Corporation Telephony application services
US8037108B1 (en) * 2009-07-22 2011-10-11 Adobe Systems Incorporated Conversion of relational databases into triplestores
US8997077B1 (en) * 2009-09-11 2015-03-31 Symantec Corporation Systems and methods for remediating a defective uninstaller during an upgrade procedure of a product
US8583830B2 (en) * 2009-11-19 2013-11-12 Oracle International Corporation Inter-working with a walled garden floor-controlled system
US8533773B2 (en) * 2009-11-20 2013-09-10 Oracle International Corporation Methods and systems for implementing service level consolidated user information management
US9269060B2 (en) * 2009-11-20 2016-02-23 Oracle International Corporation Methods and systems for generating metadata describing dependencies for composable elements
US20110125909A1 (en) * 2009-11-20 2011-05-26 Oracle International Corporation In-Session Continuation of a Streaming Media Session
US9509790B2 (en) * 2009-12-16 2016-11-29 Oracle International Corporation Global presence
US9503407B2 (en) * 2009-12-16 2016-11-22 Oracle International Corporation Message forwarding
WO2012038949A1 (en) * 2010-08-09 2012-03-29 Neebula Systems Ltd. System and method for storing a skeleton representation of an application in a computerized organization
US9959103B2 (en) * 2010-11-19 2018-05-01 Microsoft Technology Licensing, Llc Code deployment assistance
US9471243B2 (en) * 2011-12-15 2016-10-18 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
US9552231B2 (en) * 2012-09-27 2017-01-24 Adobe Systems Incorporated Client classification-based dynamic allocation of computing infrastructure resources
CN103944668B (zh) * 2013-01-18 2019-05-10 北京三星通信技术研究有限公司 一种处理灵活子帧的上下行传输的方法和设备
US9756128B2 (en) * 2013-04-17 2017-09-05 Apeiron Data Systems Switched direct attached shared storage architecture
US10452316B2 (en) 2013-04-17 2019-10-22 Apeiron Data Systems Switched direct attached shared storage architecture
US10078619B2 (en) 2014-12-16 2018-09-18 International Business Machines Corporation Dynamic association of application workload tiers to infrastructure elements in a cloud computing environment
US9679041B2 (en) * 2014-12-22 2017-06-13 Franz, Inc. Semantic indexing engine
JP6540356B2 (ja) * 2015-08-10 2019-07-10 富士通株式会社 システム複製制御装置およびシステムの複製制御方法
CN106933605B (zh) * 2015-12-29 2020-04-10 北京明朝万达科技股份有限公司 一种智能的进程识别控制方法和系统
US10725806B2 (en) 2016-02-16 2020-07-28 Netapp Inc. Transitioning volumes between storage virtual machines
US10129244B2 (en) 2016-06-20 2018-11-13 Princeton SciTech, LLC Securing computing resources
US10833955B2 (en) * 2018-01-03 2020-11-10 International Business Machines Corporation Dynamic delivery of software functions
CN108733571B (zh) * 2018-05-28 2022-05-31 北京五八信息技术有限公司 一种测试方法、装置、设备及计算机可读存储介质
JP2024122205A (ja) * 2023-02-28 2024-09-09 株式会社日立製作所 計算機システム及びデータ提供方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398645B1 (en) 1989-05-15 1997-08-06 International Business Machines Corporation System for controlling access privileges
US6772350B1 (en) 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6085198A (en) 1998-06-05 2000-07-04 Sun Microsystems, Inc. Integrated three-tier application framework with automated class and table generation
US6587854B1 (en) 1998-10-05 2003-07-01 Oracle Corporation Virtually partitioning user data in a database system
US6405212B1 (en) * 1999-09-27 2002-06-11 Oracle Corporation Database system event triggers
US7320004B1 (en) 2000-04-28 2008-01-15 Microsoft Corporation System and method for managing database files in a client management tool
US6766326B1 (en) * 2000-07-24 2004-07-20 Resty M Cena Universal storage for dynamic databases
US6810400B2 (en) 2000-11-17 2004-10-26 Microsoft Corporation Representing database permissions as associations in computer schema
US8271457B2 (en) 2000-11-22 2012-09-18 Bmc Software, Inc. Database management system and method which monitors action results and adjusts user parameters in response
US20020156792A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs
US6964040B2 (en) 2001-05-23 2005-11-08 General Electric Company Optimizing storage and retrieval of monitoring data
US7650607B2 (en) * 2001-06-22 2010-01-19 Invensys Systems, Inc. Supervisory process control and manufacturing information system application having a layered architecture
US6957261B2 (en) 2001-07-17 2005-10-18 Intel Corporation Resource policy management using a centralized policy data structure
KR20050065638A (ko) * 2002-10-28 2005-06-29 제이지알 어퀴지션 인코퍼레이티드 투명한 ejb 지원 및 수평 데이터 분할 방법
US6973460B1 (en) 2002-11-26 2005-12-06 Microsoft Corporation Framework for applying operations to nodes of an object model
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7500225B2 (en) 2004-02-10 2009-03-03 Microsoft Corporation SQL server debugging in a distributed database environment
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US7627671B1 (en) * 2004-05-22 2009-12-01 ClearApp, Inc. Monitoring and performance management of component-based applications
US7325003B2 (en) 2004-07-02 2008-01-29 Cognos Incorporated Method and system for mapping datasources in a metadata model
US7895591B2 (en) 2004-10-21 2011-02-22 Oracle International Corp. File deployment system and method
US20060242167A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Object based test library for WinFS data model
US7243097B1 (en) 2006-02-21 2007-07-10 International Business Machines Corporation Extending relational database systems to automatically enforce privacy policies
US9552214B2 (en) 2006-04-26 2017-01-24 Oracle International Corporation Tool for automated extraction and loading of configuration settings
WO2007145680A1 (en) * 2006-06-13 2007-12-21 Microsoft Corporation Declarative management framework
US20080065616A1 (en) 2006-09-13 2008-03-13 Brown Abby H Metadata integration tool, systems and methods for managing enterprise metadata for the runtime environment
US10031830B2 (en) 2006-10-13 2018-07-24 International Business Machines Corporation Apparatus, system, and method for database management extensions
US20080155641A1 (en) 2006-12-20 2008-06-26 International Business Machines Corporation Method and system managing a database system using a policy framework
CN100520716C (zh) * 2007-08-28 2009-07-29 北京中企开源信息技术有限公司 一种基于模型组件的代码自动生成装置、系统及方法

Also Published As

Publication number Publication date
US8396845B2 (en) 2013-03-12
WO2010036539A3 (en) 2010-05-20
CN102165445A (zh) 2011-08-24
US20100083285A1 (en) 2010-04-01
JP2012503827A (ja) 2012-02-09
EP2329415A2 (en) 2011-06-08
EP2329415A4 (en) 2016-04-06
WO2010036539A2 (en) 2010-04-01
CN102165445B (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
JP5380540B2 (ja) データ層アプリケーションコンポーネント
JP5711130B2 (ja) データ層アプリケーションコンポーネントファブリック管理
US9459850B2 (en) Adaptive cloud aware just-in-time (JIT) compilation
US7269612B2 (en) Method, system, and program for a policy based storage manager
US7587570B2 (en) System and method for providing automated storage provisioning
CN102521009B (zh) 创建并部署服务准备完毕虚拟硬盘
US20060206507A1 (en) Hierarchal data management
US8707308B1 (en) Method for dynamic management of system resources through application hints
Tesoriero Getting started with OrientDB
US8122106B2 (en) Integrating design, deployment, and management phases for systems
US8495067B2 (en) Partitioning management of system resources across multiple users
US20070078914A1 (en) Method, apparatus and program storage device for providing a centralized policy based preallocation in a distributed file system
JP2012503827A5 (ja)
WO2003088002A2 (en) Managing multiple virtual machines
WO2010091607A1 (zh) 一种在文件系统中提供自定义存取控制方式的方法
Höppner et al. Design and Implementation of an Object Store with Tiered Storage
Nevarez et al. SQL Server Configuration
Carr et al. Oracle 11g New Features: Get Started Fast with Oracle 11g Enhancements

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120904

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

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: 20130902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130930

R150 Certificate of patent or registration of utility model

Ref document number: 5380540

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees