(57)【特許請求の範囲】
【請求項１】
コンピュータ読取可能な命令を含むコンピュータ読取可能な媒体であって、コンピュータによって実行される時、
サービス指向アーキテクチャモデルインスタンスを受ける過程と、
使用済みケースデータベースの少なくとも１つの使用済みケースに従って変換可能なサービス指向アーキテクチャモデルインスタンスのパターンを検出する過程であって、前記使用済みケースは、サービス指向アーキテクチャモデルまたはサービス指向インフラストラクチャモデルの一部であり、前記パターンは、サービス指向アーキテクチャモデルまたはサービス指向インフラストラクチャモデルの特徴または構成要素であって、１つまたは複数の前記使用済みケースに対応しており、使用済みケースデータベースは、サービス指向アーキテクチャモデルからサービス指向インフラストラクチャモデルへの変換が既に実行されたパターンに対応する１つまたは複数の使用済みケースを含む過程と、
少なくとも１つの中間状態のモデルインスタンスを生成するために、少なくとも１つの使用済みケースに従って、検出されたパターンを変換する過程であって、前記中間状態のモデルインスタンスは、該中間状態のモデルインスタンスよりも下位概念の状態のモデルインスタンスに変換することが可能なモデルインスタンスである過程と、
使用済みケースデータベースの少なくとも１つの他の使用済みケースに従って変換可能な少なくとも１つの中間状態のモデルインスタンスのパターンを検出し、１つまたは複数の下位の中間状態のモデルインスタンスを生成するために少なくとも１つの他の使用済みケースに従って、検出されたパターンを変換する過程であって、前記他の使用済みケースは、前記中間状態のモデルインスタンスを生成するために使用される前記使用済みケースとは異なる使用済みケースである過程と、
下位の中間状態のモデルが、使用済みケースデータベースの使用済みケースに従ってもはや変換可能でなくなるまで、下位の中間状態のモデルインスタンスのパターンを検出および変換する過程と、
サービス指向インフラストラクチャモデルのインスタンスとして、もはや変換可能でない下位の中間状態のモデルを格納する過程と、
前記下位の中間状態のモデルと所定の選択基準とに従ってサービス指向インフラストラクチャモデルの１つを選択する過程と
を具備し、
前記サービス指向アーキテクチャモデルは、ソフトウェアベースのサービスを記述する情報であって、前記サービスを提供するためのハードウェアを特定せずに前記サービスの内容を示す情報であり、
前記サービス指向インフラストラクチャモデルは、前記サービス指向アーキテクチャモデルを実装するために必要なハードウェアを示すための情報であり、
前記所定の選択基準は、動的パフォーマンスおよびビジネスデータ分析に基づき、
前記動的パフォーマンスおよびビジネスデータ分析は、選択されたサービス指向インフラストラクチャモデルを支援してサービスレベル合意の条件およびサービスレベル合意の制約を満たすために、ビジネス価値に基づくボトルネック分析レポートおよびコストレポート等のオンデマンドレポートおよびリアルタイムパフォーマンス情報に基づく、方法をコンピュータに実行させることを特徴とするコンピュータ読取可能な媒体。
【請求項２】
使用済みケースの少なくとも１つの使用済みケースに従って変換可能なパターンを検出する過程は、パターンを認識するために１つまたは複数の変換レベルで実行されることを特徴とする請求項１に記載のコンピュータ読取可能な媒体。
【請求項３】
パターンを認識するための１つまたは複数の変換レベルは、プロパティレベル、オブジェクトまたはクラスレベル、サービス間レベルおよびサービス内部レベルを含むことを特徴とする請求項２に記載のコンピュータ読取可能な媒体。
【請求項４】
検出されたパターンを変換できる使用済みケースは、１つまたは複数の使用済み変換アルゴリズム、変換アルゴリズムパラメータ、パフォーマンスパラメータおよびビジネスパラメータによって互いに異なることを特徴とする請求項１に記載のコンピュータ読取可能な媒体。
【請求項５】
パフォーマンスパラメータは、中間状態のモデルインスタンスに利用可能なハードウェア部分の静的パフォーマンスデータに依存して代替することを特徴とする請求項４に記載のコンピュータ読取可能な媒体。
【請求項６】
ビジネスパラメータは、コストおよび利益見積を具備することを特徴とする請求項４に記載のコンピュータ読取可能な媒体。
【請求項７】
サービス指向インフラストラクチャ変換に対するサービス指向アーキテクチャのためのコンピュータ化された方法であって、
サービス指向アーキテクチャモデルインスタンスを受ける過程と、
使用済みケースデータベースの少なくとも１つの使用済みケースに従って変換可能なサービス指向アーキテクチャモデルインスタンスのパターンを検出する過程であって、前記使用済みケースは、サービス指向アーキテクチャモデルまたはサービス指向インフラストラクチャモデルの一部であり、前記パターンは、サービス指向アーキテクチャモデルまたはサービス指向インフラストラクチャモデルの特徴または構成要素であって、１つまたは複数の前記使用済みケースに対応しており、使用済みケースデータベースは、サービス指向アーキテクチャモデルからサービス指向インフラストラクチャモデルへの変換が既に実行されたパターンに対応する１つまたは複数の使用済みケースを含む過程と、
少なくとも１つの中間状態のモデルインスタンスを生成するために、少なくとも１つの使用済みケースに従って、検出されたパターンを変換する過程であって、前記中間状態のモデルインスタンスは、該中間状態のモデルインスタンスよりも下位概念の状態のモデルインスタンスに変換することが可能なモデルインスタンスである過程と、
使用済みケースデータベースの少なくとも１つの他の使用済みケースに従って変換可能な少なくとも１つの中間状態のモデルインスタンスのパターンを検出し、１つまたは複数の下位の中間状態のモデルインスタンスを生成するために、少なくとも１つの他の使用済みケースに従って、検出されたパターンを変換する過程であって、前記他の使用済みケースは、前記中間状態のモデルインスタンスを生成するために使用される前記使用済みケースとは異なる使用済みケースである過程と、
下位の中間状態のモデルが、使用済みケースデータベースの使用済みケースに従ってもはや変換可能でなくなるまで、下位の中間状態のモデルインスタンスのパターンを検出および変換する過程と、
サービス指向インフラストラクチャモデルのインスタンスとしてもはや変換可能でない下位の中間状態のモデルを格納する過程と、
前記下位の中間状態のモデルと所定の選択基準とに従ってサービス指向インフラストラクチャモデルの１つを選択する過程と
を具備し、
前記サービス指向アーキテクチャモデルは、ソフトウェアベースのサービスを記述する情報であって、前記サービスを提供するためのハードウェアを特定せずに前記サービスの内容を示す情報であり、
前記サービス指向インフラストラクチャモデルは、前記サービス指向アーキテクチャモデルを実装するために必要なハードウェアを示すための情報であり、
前記所定の選択基準は、動的パフォーマンスおよびビジネスデータ分析に基づき、
前記動的パフォーマンスおよびビジネスデータ分析は、選択されたサービス指向インフラストラクチャモデルを支援してサービスレベル合意の条件およびサービスレベル合意の制約を満たすために、ビジネス価値に基づくボトルネック分析レポートおよびコストレポート等のオンデマンドレポートおよびリアルタイムパフォーマンス情報に基づく、ことを特徴とする方法。
【請求項８】
使用済みケースの少なくとも１つの使用済みケースに従って変換可能なパターンを検出する過程は、パターンを認識するために１つまたは複数の変換レベルで実行されることを特徴とする請求項７に記載の方法。
【請求項９】
パターンを認識するための１つまたは複数の変換レベルは、プロパティレベル、オブジェクトまたはクラスレベル、サービス間レベルおよびサービス内部レベルを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
検出されたパターンを変換できる使用済みケースは、１つまたは複数の使用済み変換アルゴリズム、変換アルゴリズムパターン、パフォーマンスパラメータおよびビジネスパラメータによって互いに異なることを特徴とする請求項７に記載の方法。
【請求項１１】
パフォーマンスパラメータは、中間状態のモデルインスタンスに利用可能なハードウェア部分の静的パフォーマンスデータに依存して代替することを特徴とする請求項１０に記載の方法。
【請求項１２】
ビジネスパラメータは、コストおよび利益見積を具備することを特徴とする請求項１０に記載の方法。
【請求項１３】
サービス指向アーキテクチャモデルからサービス指向インフラストラクチャモデルへ変換するためのコンピュータシステムであって、
サービス指向インフラストラクチャモデルにサービス指向アーキテクチャモデルを変換するように動作可能な変換エンジンと、洗練されたビジネス分析特徴で変換エンジンを支援するよう動作可能なビジネスエンジンとに関する格納された命令を有する１つまたは複数のメモリ装置と、
メモリと通信し、変換エンジンおよびビジネスエンジンに関するメモリ内の命令を実行するよう動作可能なプロセッサと、
サービス指向アーキテクチャをサービス指向インフラストラクチャへ変換することに関して一組の既知の変換可能なパターンを提供するための使用済みケースデータベースと、
サービス指向インフラストラクチャモデルに利用可能なハードウェア部分のプロパティを提供するためのパフォーマンスデータベースと、
ビジネス分析特徴に関する履歴情報、コストファクトおよび効率データを含むビジネス価値データベースと
を具備し、
前記使用済みケースデータベースは、サービス指向アーキテクチャモデルからサービス指向インフラストラクチャモデルへの変換が既に実行されたパターンに対応する１つまたは複数の使用済みケースを含み、
前記使用済みケースは、サービス指向アーキテクチャモデルまたはサービス指向インフラストラクチャモデルの一部であり、
前記パターンは、サービス指向アーキテクチャモデルまたはサービス指向インフラストラクチャモデルの特徴または構成要素であって、１つまたは複数の前記使用済みケースに対応しており、
前記変換エンジンは、少なくとも１つの中間状態のモデルインスタンスを生成するために、少なくとも１つの使用済みケースに従って、検出されたパターンを変換し、前記中間状態のモデルインスタンスは、該中間状態のモデルインスタンスよりも下位概念の状態のモデルインスタンスに変換することが可能なモデルインスタンスであり、
前記変換エンジンは、使用済みケースデータベースの少なくとも１つの他の使用済みケースに従って変換可能な少なくとも１つの中間状態のモデルインスタンスのパターンを検出し、１つまたは複数の下位の中間状態のモデルインスタンスを生成するために少なくとも１つの他の使用済みケースに従って、検出されたパターンを変換し、前記他の使用済みケースは、前記中間状態のモデルインスタンスを生成するために使用される前記使用済みケースとは異なる使用済みケースであり、
前記変換エンジンは、下位の中間状態のモデルが、使用済みケースデータベースの使用済みケースに従ってもはや変換可能でなくなるまで、下位の中間状態のモデルインスタンスのパターンを検出および変換し、
前記変換エンジンは、サービス指向インフラストラクチャモデルのインスタンスとして、もはや変換可能でない下位の中間状態のモデルを格納し、
前記変換エンジンは、前記下位の中間状態のモデルと所定の選択基準とに従ってサービス指向インフラストラクチャモデルの１つを選択し、
前記サービス指向アーキテクチャモデルは、ソフトウェアベースのサービスを記述する情報であって、前記サービスを提供するためのハードウェアを特定せずに前記サービスの内容を示す情報であり、
前記サービス指向インフラストラクチャモデルは、前記サービス指向アーキテクチャモデルを実装するために必要なハードウェアを示すための情報であり、
前記所定の選択基準は、動的パフォーマンスおよびビジネスデータ分析に基づき、
前記動的パフォーマンスおよびビジネスデータ分析は、選択されたサービス指向インフラストラクチャモデルを支援してサービスレベル合意の条件およびサービスレベル合意の制約を満たすために、ビジネス価値に基づくボトルネック分析レポートおよびコストレポート等のオンデマンドレポートおよびリアルタイムパフォーマンス情報に基づく、
ことを特徴とするコンピュータシステム。
【請求項１４】
階層ケースベースのリーズニングアプローチに基づきパターン認識方法に供するための認識エージェントをさらに具備することを特徴とする請求項１３に記載のコンピュータシステム。
【請求項１５】
ビジネス価値データベースのためにビジネスデータを提供するためのビジネスエージェントをさらに具備することを特徴とする請求項１３に記載のコンピュータシステム。
【請求項１６】
パフォーマンスデータベースのためにデータを提供するためのリアルタイム監視および分析エージェントをさらに具備することを特徴とする請求項１３に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス指向アーキテクチャ（ＳＯＡ）モデルからサービス指向インフラストラクチャ（ＳＯＩ）モデルへの変換に関する。具体的に、本発明は、ＳＯＡからＳＯＩへの変換を達成するための変換方法に関する。
【背景技術】
【０００２】
ビジネスにおいてインフォメーションテクノロジー（ＩＴ）の変化を促進し、ＩＴの変化により制限されないようにするために、サービス指向アーキテクチャ（ＳＯＡ）の全潜在能力は、サービスアプリケーションと対応するＩＴインフラストラクチャとの間の柔軟で動的な相互運用性を決定することに加えて役立てる必要があり、ＩＴインフラストラクチャ上で、アプリケーションは、最終的に配置され、作動される。ＳＯＡは、極めて柔軟でスケーラブルなサービスアプリケーションを提供するが、基礎をなすＩＴハードウェアインフラストラクチャが同一の柔軟な方法において変化のニーズおよび条件を満たすことができる場合に限る。現在のシステムを考慮すると、ＩＴインフラストラクチャは、ボトルネックであることが判明している。これは、ＩＴインフラストラクチャをサービスとして定義することを許容するサービス指向インフラストラクチャをもたらす。ＳＯＩでは、仮想化は、リソースのプール（例えば、ウェブサーバ、アプリケーションサーバ、データベースサーバ、サーバおよび格納インスタンス）を表示するサービスとしてＩＴインフラストラクチャを扱うことによって、柔軟性およびスケーラビリティを実現するために適用される。
【発明の概要】
【課題を解決するための手段】
【０００３】
ＳＯＡからＳＯＩへの変換のためのコンピュータ化された方法およびシステムは、本明細書で説明される。１つの実施形態では、方法は、ＳＯＡモデルインスタンスを受け、予め変換されたパターンの使用済みケースを含むデータベースの１つまたは複数の使用済みケースに従って変換可能なＳＯＡモデルインスタンスのパターンを検出することを含む。方法はまた、検出されたパターンを変換し、それにより中間状態のモデルインスタンスを生成し、動的パフォーマンスおよびビジネスデータ分析を介して最適なＳＯＩモデルインスタンスを選択することを含む。
【０００４】
本発明のもう１つの実施形態では、システムは、ＳＯＡモデルからＳＯＩモデルへ変換するように動作可能な変換エンジンと、洗練された（ｓｏｐｈｉｓｔｉｃａｔｅｄ）ビジネス分析特徴で変換エンジンを支援するように動作可能なビジネスエンジンとに関連付けられた格納された命令を有するメモリを含む。システムはまた、変換エンジンおよびビジネスエンジンに関連付けられたメモリの命令を実行するためのプロセッサと、ＳＯＡからＳＯＩへの変換のための１組の既知の変換可能なパターンを提供するための使用済みケースデータベースとを含む。変換エンジンはまた、ＳＯＩモデルに利用可能なハードウェア部分のプロパティを提供するためのパフォーマンスデータベースと、ビジネス分析特徴に関する履歴情報、コストファクトおよび効率データを含むビジネス価値データベースとによって支援される。
【０００５】
本発明は、一例として説明され、添付図面の特徴で限定されず、同一の参照番号は、類似の要素を表示する。本開示における実施形態または“１つ”の実施形態への言及は、同一の実施形態である必要はなく、そのような言及は、少なくとも１つを意味することが分かる。
【図面の簡単な説明】
【０００６】
【図１】図１は、ＳＯＡからＳＯＩプロパティ変換方法の例示を備えたブロック図である。
【図２】図２は、ＳＯＡからＳＯＩへのサービス間変換方法の例示を備えたブロック図である。
【図３ａ】図３ａは、本発明の実施形態による、ＳＯＡからＳＯＩへの変換のための例示的な概略システムアーキテクチャを表示するブロック図である。
【図３ｂ】図３ｂは、本発明の実施形態による、中間状態を含む例示的なＳＯＡからＳＯＩへの変換を表示するブロック図である。
【図３ｃ】図３ｃは、本発明の実施形態による、ＳＯＡからＳＯＩへの変換のための例示的な概略システムアーキテクチャを表示するブロック図である。
【図４】図４は、使用済みケースデータベースの例示的な設計のためのエンティティ関係図である。
【図５】図５は、本発明の実施形態による、例示的なＳＯＡからＳＯＩへの変換方法を記述するフロー図である。
【図６】図６は、ＳＯＡからＳＯＩへの変換による属性マッピングの方法の例示的な説明を備えたブロック図である。
【図７】図７は、ＳＯＡからＳＯＩへの変換方法の全体的な例のパターン認識および変換ステップを表示するブロック図である。
【図８】図８は、ＳＯＡからＳＯＩへの変換方法の全体的な例のパターン認識および変換ステップを表示するブロック図である。
【図９】図９は、ＳＯＡからＳＯＩへの変換方法の全体的な例のパターン認識および変換ステップを表示するブロック図である。
【図１０】図１０は、ＳＯＡからＳＯＩへの変換方法の全体的な例のパターン認識および変換を表示するブロック図である。
【図１１】図１１は、ＳＯＡからＳＯＩへの変換方法の全体的な例のビジネスエンジン分析ステップを表示するブロック図である。
【図１２】図１２は、ＳＯＡからＳＯＩへの変換のためのコンピュータシステムの発明の実施形態のブロック図である。
【発明を実施するための形態】
【０００７】
ＳＯＡモデルは、ソフトウェアベースのサービスを記述する。これは、全てのそのソフトウェアコンポーネント、インタフェースおよび実装の詳細を伴うサービスに対する、完全で抽象的な非物理的表示をもたらす。いくつかの例示的なＳＯＡモデルの局面および範囲は、サービス記述、サービスバインディング、サービス間の依存、サービスプロパティ、サービスのトポロジー、サービスコンポーネント、サービスの内部コンポーネント依存、コンポーネントプロパティ、コンポーネントトポロジー、帰納的コンポーネントモデリング、実装の局面および配置の局面を含む。これらの範囲を組込むＳＯＡモデル言語の一例は、サービスコンポーネントアーキテクチャ（ＳＣＡ）である。
【０００８】
ＳＯＩモデルにおいて、目標は、配置されたコンピュータ部分およびリンクの全ての物理ベースの局面を伴う物理ベースのコンピュータインフラストラクチャを記述することである。これらの点に加えて、ＳＯＩモデルは、インストール済みソフトウェアおよびネットワークトポロジーのような他の局面を記述する必要がある。いくつかの例示的なＳＯＩモデルの局面および範囲は、ハードウェア部分およびその位置、ネットワークのネットワーク部分およびトポロジー構成、ハードウェア部分の装置および機能性、インストール済みアプリケーション、ソフトウェア部分およびサービス、（ハードウェア、ネットワーク等からなるトップレベルモデルオブジェクトとして示される）システム、および記述されたシステムおよび要素のメトリクスを含む。これらの局面を組込む例示的なＳＯＩモデル言語は、共通情報モデル（ＣＩＭ）である。
【０００９】
１つの実施形態によると、ＳＯＡモデルは、ソフトウェアベースのサービスを記述する。例えば、ＳＯＡモデルにおいて、ソフトウェアベースのサービスは、そのコンポーネント、インタフェースおよび実装の詳細によって表示される。通常、そのようなモデルにおいて物理的なものはなく、表示は、完全に抽象的である。例えば、図１において、ＳＯＡモデルのプロパティ１００は、３００ＧＢ  Ｆｉｌｅｓｐａｃｅ１１０、１０ｍｓＲｅａｃｔｉｏｎ  ｔｉｍｅ１２０および１００ＭＢｉｔ／ｓｅｃ  ｓｐｅｅｄ１３０の条件として部分的に記述される。反対に、ＳＯＩモデルは、全ての必要なハードウェア部分を伴う物理ベースのコンピュータインフラストラクチャを記述する。なので、ＳＯＩモデルは、ＳＯＡモデルを実装するのに必要なハードウェアを表示する。図１の例において、プロパティ１００は、仮想ファイルサーバ１４０に変換され、３シングルＨｅｗｌｅｔｔ  Ｐａｃｋａｒｄスーパーストアシステム１６０を備え、各々は、１００ＧＢハードディスクおよび１０ｍｓ反応時間１５０を備え、システムは、１００ＭＢｉｔ／ｓｅｃのＧｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）１７０に接続される。これは、ＳＯＡからＳＯＩへの変換に関する一例であり、サービス条件（例えば、１００）は、ハードウェア部分（例えば、１４０）に実装される。ハードウェア部分に加えて、ＳＯＩモデルは、インストール済みアプリケーション、ソフトウェア部分およびサービスのような他の局面を記述するが、サービスがＳＯＡモデルで記述されるような方法で記述せず、むしろＳＯＡサービスを実装するのに必要なハードウェアインフラストラクチャの一部として記述する。
【００１０】
図２の例は、ビジネスプロセスのリクエストを示し、それは、異なるサービス（例えば、２１２、２１４、２２２および２２４）で構成され、プロセスのサービス間の関係は、ＳＯＡからＳＯＩへの変換に影響する。サービス間の関係の定義は、ビジネスプロセスと、ビジネス上の必要に応じて決定されるその形態とに依存する。１つのそのような関係は、サービス間の結合レベル（例えば、その相互依存性に対するおよその尺度）であり、図２に示す１つの実施形態では、弱い結合または強い結合として定義されることができる。強い結合２２０は例えば、２つの隣接したサービスが強い依存を有することを意味する。例えば、リアルタイム金融サービス２２２は、予約サービス２２４の後に直ちに処理されるべきである。これは、帯域幅および速度を含む高い通信条件を意味する。反対に、弱い結合２１０は、サービス間に強い依存がないことを意味し、例えばアーカイブサービス２１２は、予約サービス２１４の後で１年に２度だけ行われることができる。
【００１１】
ビジネスプロセスのサービス間のそのような関係は、ＳＣＡの組立図で記述されることができる。故に、サービスの関係は、対応するインフラストラクチャコンポーネントへの変換に影響する、以下でさらに詳しく説明される多くの要因のうちの１つでありうる。図２で示す例に関して、弱い結合を有するサービスは、例えばＢｏｎｎ２３０およびＰａｒｉｓ２３５のような異なる位置で動作されることができ、ＩＳＤＮネットワーク２４０のみが、２つの位置に接続するのに必要である。強い結合は、例えば異なるアプリケーションサーバＡ２５０およびＢ２５５で動作するが、Ｐａｒｉｓ２３５のような１つの位置で結合されるべき２つのサービス２２２および２２４を推定する。１Ｇｂｉｔ光ネットワーク２６０のような高速接続は、アプリケーションサーバＡ２５０およびＢ２５５間で高い通信帯域幅および速度の条件を満たす必要がある。
【００１２】
図３ａは、本発明の１つの実施形態によるＳＯＡからＳＯＩへの変換を実装するための例示的で概略的なシステムアーキテクチャを示す。システムは、ＳＯＡモデル３１０、ＳＯＩモデル３２０、変換エンジン３３０および使用済みケースデータベース３３５を含む。１つの実施形態によると、変換エンジン３３０は、現在の変換リクエストに対する適切な変換を決定するために、前に解決された変換インスタンスを使用する。変換エンジン３３０は、使用済みケースデータベース３３５から“使用済みケース”を使用する。使用済みケースは、特定のパターンに対してＳＯＡからＳＯＩへの変換ソリューションを提供し、それは、完全なＳＯＡまたはＳＯＩモデルの一部である。
【００１３】
パターンは、ＳＯＡまたはＳＯＩモデルの局面またはコンポーネットにすることができる。例えば、パターンは、サービス間の依存、サービスコンポーネント、サービスの内部コンポーネントの依存、ハードウェア部分およびその位置、ネットワーク部分およびネットワークのトポロジー構成、装置およびハードウェア部分の機能を含むことができる。パターンは、１つまたは複数の使用済みケースによって変換されてもよい。故に、いくつかの使用済みケースは、各種方法で単一のパターンを変換することができる。これらの各種方法は、同一の単一パターンへの代替の変換を定義する。全ての可能な代替の変換に従ってこの同一の単一パターンを変換することは、異なる中間状態のモデルインスタンスをもたらす。
【００１４】
例えば、図３ｂのＳＯＡモデルインスタンス３１０からのパターンは、そのようなパターンに対する全ての存在する使用済みケースに従って変換されるので、中間状態のモデルインスタンス３５０を生成する。また、各中間状態のモデルインスタンスは、他の下位の中間状態のモデルインスタンスに分岐する。例えば、中間状態のモデルインスタンス３５５はさらに、下位の中間状態のモデルインスタンス３６０に変換され、それは再び、下位の中間状態のモデルインスタンスに変換され、このプロセスは、変換できるパターンがなくなるまで続き、有限数の可能なＳＯＩモデル３２０を含むプールが生成される。プールは、ＳＯＡモデル３１０の全ての可能な変換を提供する。ＳＯＩモデル３２０の数は、使用済みケースデータベース３３５でパターンを変換するために利用可能な“使用済みケース”に依存する。
【００１５】
使用済みケースが、パターンを変換するための使用済みケースデータベース３３５に存在するほど、中間状態のモデルインスタンスがさらに生成でき、故にＳＯＩモデル３２０がさらに生成できる。ＳＯＡ３１０の可能な変換が１つしかない場合がありうる。そのような変換の一例は、図１に示された変換でもよい。サービス条件（例えば、１００）に関して、唯一の可能な一組のハードウェアインフラストラクチャ（例えば、１４０）が提案される。この場合、ＳＯＩモデル３２０に唯一のインスタンスがあり、このインスタンスは、そのコンポーネント１５０、１６０および１７０を備えた仮想ファイルサーバ１４０である。ＳＯＡモデル３１０のソリューションが１つより多い場合、例えば５００テラバイトのネットワークトラフィックのサービス条件を変換することにおける代替の変換は、同一の特徴を備えた異なるハードウェアコンポーネントによって達成される一方、異なる製造者によって生産されてもよい。同様に、３００ＧＢのファイルスペースのサービス条件は、１つの３００ＧＢハードディスク、または全容量が３００ＧＢと同一若しくは高い複数のハードディスクの何れか一方によって実現されてもよい。
【００１６】
図３ａに戻ると、１つの実施形態では、使用済みケースは、使用済みケースデータベース３３５において再使用のために保持される。変換は故に、既知の“使用済みケース”のパターン認識に少なくとも部分的に基づく、これらのパターンを変換エンジン３３０によって変換する。変換エンジン３３０は、変換を提供する使用済みケースデータベース３３５を使用する。故に、ＳＯＡまたはＳＯＩレベル上の新たなアプローチおよびファクトは、使用済みケースデータベース３３５に組込まれてもよく、いまだに解決されていない新たな変換局面および問題に関する新たなソリューションで、使用済みケースデータベース３３５を更新および改善する。
【００１７】
図４に示すエンティティ関係（ＥＲ）図は、使用済みケースデータベース３３５の１つの例示的な実装を示す。使用済みケース４００は、使用済みケース４００の名前４１０および簡単な記述４２０を含むことができる。追加の詳細（例えば、変換レベルＩＤ４３０）は、変換を実行する時に考慮された変換されているサービスの関係、プロパティおよびオブジェクトおよび／またはクラスの表示を含む使用済みケースに関連付けられた変換の１つまたは複数の属性を記述するために追加されることができる。使用済みケースを表示するパターンは、パターンＩＤ４４０によって部分的に定義されてもよい。また、異なる変換アルゴリズムパラメータ４５０、使用済み変換アルゴリズム４６０、使用済みパフォーマンスパラメータ４７０および使用済みビジネスパラメータ４８０が設定されてもよい。全てのこれら設定されたパラメータおよびアルゴリズムは、使用済みケース４００およびそれが記述する変換を特徴付ける。使用済み変換アルゴリズム４６０は、例えばスクリプト、計算法、またはパターン４４０を変換する微細なソフトウェア部分でもよい。異なる変換アルゴリズムパラメータ４５０、使用済みパフォーマンスパラメータ４７０（例えば、応答時間、エラー率等）および使用済みビジネスパラメータ４８０（例えば、コスト計算）は、変換アルゴリズムにおいて変数として全て使用されてもよい。パラメータの変更は、単一パターンに関して異なる変換結果を引起すことがある。これらの異なる変換結果は正に、図３ｂに関連して中間状態のモデルインスタンス３５０および３６０とも称される変換の代替である。また、情報４４５は、パターン定義４４６および認識データ４４７のようなパターン４４０に関して提供されてもよい。１つの実施形態では、パターン認識は、レベルで実行されるので、変換レベル情報４３５も提供されうる。
【００１８】
図３ａに戻ると、１つの実施形態では、使用済みケース変換エージェント３４０は、単一パターンの変換に関与する。１つの実施形態では、パターン認識エージェント３４５は、ＳＯＡモデル３１０のパターンを認識するために使用されてもよい。１つの実施形態では、パターン認識エージェント３４５は、階層ケースベースのリーズニング（ｒｅａｓｏｎｉｎｇ）に基づきパターン認識方法を使用する。変換は、全体モデルのうちどのパターンが初めに検索され、存在する場合、結果的に変換されるのかが判断される階層ケースベースのリーズニングアプローチに従って、全てのモデルに対して一度ではなく、特定のパターンに対して部分的に実行される。
【００１９】
変換結果を変更しうるいくつかのパラメータは、使用済みパフォーマンスパラメータ４７０および使用済みビジネスパラメータ４８０である。１つの実施形態では、これらのパラメータは、図３ｃに示す通り、パフォーマンスデータベース３７５およびビジネス価値データベース３８５にそれぞれ組込まれる。１つの実施形態では、両方のこれらデータベースは、ビジネスエンジン３７０によって使用される。ビジネスエンジン３７０は、パフォーマンスおよびビジネスファクトでＳＯＡモデルをエンリッチする。パフォーマンスデータベース３７５は、パフォーマンスパラメータ４７０を介して、現在の最新のハードウェア部分およびその特定のメトリクスを提供し、それらは、特定のパターン変換アルゴリズムに影響しうる。ビジネス価値データベース３８５は、ビジネスパラメータ４８０を介して、履歴情報に基づくビジネス分析データ、ビジネス分析に使用されるコストファクトおよび効率データを提供する。これにより、変換アルゴリズムは、さらにビジネス指向の変換を提供できる。
【００２０】
いくつかの実施形態では、リアルタイム監視および分析（ＲＴＭＡ）エージェント３８０は、ＳＯＩモデル３２０および変換エンジン３３０から与えられたその分離したコンポーネントの継続的な監視を提供する。故に、ＲＴＭＡエージェント３８０は動的に、ＳＯＩモデル３２０およびそのコンポーネントを検査し、ビジネスエンジン３７０および変換エンジン３３０によって使用されるパフォーマンスデータベース３７５用のデータを同時に生成する。ＲＴＭＡエージェント３８０はまた、監視情報に基づきボトルネック分析を実行できる。ＳＯＩでは、ボトルネック分析は、作業負荷の情報を含み、故にＳＯＩモデルのコンポーネントのパフォーマンス情報を含む。１つの実施形態では、ビジネスエージェント３９０は、ＳＯＩモデル３２０を検査し、ボトルネック分析レポートまたはコストレポートのようなビジネスデータを提供し、ＳＯＩがサービスレベル合意（ＳＬＡ）の条件および制約を満たすことを保証する。１つの実施形態では、ＳＬＡは、一方が消費者であり、もう一方がサービスプロバイダである２つのパーティ間で取り決められた合意である。ＳＬＡは、アベイラビリティ、有用性、パフォーマンス、動作、または請求のような他のサービス属性を定めることができる。そのような情報は、ビジネスエージェント３９０によって収集され、ビジネス価値データベース３８５に格納されてもよい。
【００２１】
いくつかの実施形態では、ビジネスエンジン３７０は、ビジネスエージェント３９０およびＲＴＭＡエージェント３８０とともに、その動的分析を用いて、ＳＯＩモデル３２０を１つのみのＳＯＩモデルに低減し、それは、コンカレントなパフォーマンスおよびビジネス条件および制約を満たすのに最適のものである。
【００２２】
図５は、例示的なＳＯＡからＳＯＩへの変換方法を記述するフロー図を示す。変換は、ブロック５１０でＳＯＡモデルインスタンスを受けることから始まる。ブロック５２０で、ＳＯＡモデルインスタンスのパターンは、検出され、それは、使用済みケースデータベースのうち少なくとも１つの使用済みケースに従って変換可能である。使用済みケースデータベースは、前に変換されたパターンの１つまたは複数の使用済みケースを含む。故に、使用済みケースは、特定パターンにソリューションを提供し、それは、完全な（コンプリート）モデルの一部である。特定パターンを変換できる使用済みケースは、このパターンに対して適用可能であると見なされる。１つの実施形態では、パターンの検出は、パターンを認識するために変換レベルで実行される。１つの実施形態では、パターンを認識するために４つの変換レベルがある。第１のレベルは、プロパティ変換レベルでもよい。このレベルでは、各ＳＯＡプロパティまたはＳＯＡオブジェクトまたはインスタンスは、図１に例示するとおり、ＳＯＩコンポーネントまたはアーチファクトの対応プロパティに変換される。第２のレベルは、オブジェクトまたはクラス変換レベルでもよい。この点では、ＳＯＡコンポーネントおよび要素は、そのプロパティの全てまたは下位部分でＳＯＩに変換される。第３のレベルは、サービス内部レベルでもよい。ワイヤ、インタフェース等の依存、およびコンポーネントおよびソフトウェアプロセス間の依存の分析を通じて、さらに洗練された（ｓｏｐｈｉｓｔｉｃａｔｅｄ）ＳＯＩ設計は、変換プロセス中に生成されることができる。
【００２３】
サービス内部依存の一例は、図７に示される。サービスＡ´７００のコンポーネントＡＡ７１０およびコンポーネントＡＢ７２０間には、強い結合が決定されているので、更新されたＳＯＩモデルのサービスＡ７４０は、コンポーネントＡＡ７１０のサービス条件７３０およびコンポーネントＡＢ７２０のサービス条件７３５をサービス条件７５０に結合する。第４のレベルは、サービス間レベルでもよい。このレベルでは、一組のサービス間の依存が分析される。故に、図２の例示のとおり、弱いまたは強い結合等のサービス間の関係、ＳＯＩモデルのハードウェア部分の位置、およびハードウェア部分間のネットワーク構成方法を認識することができる。
【００２４】
図５に再び戻ると、ブロック５３０で、検出されたパターンは、少なくとも１つの使用済みケースに従って変換されるので、少なくとも１つの中間状態のモデルインスタンスが生成される。適用可能な使用済みケースは、使用済み変換アルゴリズム、変換アルゴリズムパラメータ、パフォーマンスパラメータおよびビジネスパラメータによって互いに異なる。１つの実施形態では、使用済みパフォーマンスパラメータは、少なくとも１つの中間状態のモデルインスタンスに利用可能なハードウェア部分の静的パフォーマンスデータを表示する。１つの実施形態では、ビジネスパラメータは、コストおよび利益見積に依存して設定される。ブロック５４０では、チェックは、中間状態のモデルインスタンスにおける変換可能なパターンに対して行われる。変換可能なパターンがブロック５４０で検出された場合、即ちこのパターンに対して使用済みケースデータベースのうち少なくとも１つの適用可能な使用済みケースがある場合、パターンは、少なくとも１つの使用済みケースに従って変換されるので、１つまたは複数の下位の中間状態のモデルインスタンスは、生成される。パターンを検出および変換するためにブロック５３０および５４０で記述されたステップは、変換可能なパターンが下位の中間状態のモデルインスタンスで見出されなくなるまで繰り返し実行される。少なくとも１つの下位の中間状態のモデルインスタンスは、パターンが変換される毎に生成される。ブロック５５０では、もはや変換可能な下位の中間状態のモデルは、サービス指向インフラストラクチャモデルのインスタンスとして格納されない。最後に、ブロック５６０で、サービス指向インフラストラクチャモデルのうち１つは、所定の選択基準に従って選択される。１つの実施形態では、所定の選択基準は、動的パフォーマンスおよびビジネスデータ分析に基づく。１つの実施形態では、動的パフォーマンスおよびビジネスデータ分析は、選択されたＳＯＩモデルインスタンスがサービスレベル合意の制約およびサービスレベル合意の条件を満たすことを支援するために、リアルタイムパフォーマンス情報と、ビジネス価値に基づくボトルネック分析レポートおよびコストレポートのようなオンデマンドレポートとに基づく。コストレポートは、購入価格、修理コストおよびインフラストラクチャコンポーネントの初期代替価格のような情報を含んでよい。
【００２５】
１つの実施形態では、図６に関連して説明する通り、パターンの一致が定義される。図６は、ＳＯＡからＳＯＩへの変換による属性マッピングの方法の例示的な説明を備えたブロック図である。ＳＯＡの側から、ＳＯＡリクエスト６１０は、変換エンジン６２０にリクエストを送る。必要なリソースのリクエストが特定され、属性形式で送られる。ＳＯＩの側では、リソースプールに常駐する全てのインフラストラクチャコンポーネントは、共通情報モデル（ＣＩＭ）によってモデル化されることができ、それは次いで、ＸＭＬ  Ｓｃｈｅｍａ（ＸＳＤ）形式で記述される。故に、インフラストラクチャコンポーネントは、ＸＭＬ、対応するＸＳＤのインスタンスで記述されうる。変換エンジン６２０が受けたリクエストの属性は、図６の６３０、６４０および６５０のようないくつかのインフラストラクチャコンポーネントを記述するＸＭＬの要素または属性で検索されてもよく、故にＳＯＩレベルで“属性マッピング”クエリを実行する。特定の属性が一致する場合、対応するインフラストラクチャコンポーネントは、変換エンジン６２０によって制御される。全ての属性が一致する時、結果は、ＳＯＡの側に送り返される。
【００２６】
図１に示す例示的な変換は、１つのステップで実行される。これは、中間状態のモデル（例えば、図３ｂに関して説明した３５０および３６０）がないことを意味する。反対に、図７、８、９、１０および１１に示した変換は、いくつかのステップで実行される。これらのステップ中、いくつかの中間プロパティおよびオブジェクトを含むいくつかの中間状態のモデルインスタンスは、生成されるべきである。これらの中間状態のモデルインスタンスは、他の使用済みケースの認識パターンで適用されることができる。故に、複数ステップの変換は、帰納的方法で処理される。変換を達成するステップ毎に、下位の中間状態のモデルインスタンスが生成される。この下位の中間状態のモデルインスタンスはまた、検出されるパターンがなくなるまで、既知のパターンに関して処理される。図７、８、９、１０および１１は、本発明に従うＳＯＡからＳＯＩへの変換の全体的な例を表示するブロック図である。変換のプロセスは、サービス内部依存、帰納的変換、オブジェクト変換、プロパティ変換および中間状態を示すステップに分割される。全体例は、図３ｂに示すように、変換のプロセスの１ブランチを表示する。これは、その例が、ステップ毎に示された異なる代替を示さない（例えば、図３ｂの中間状態のモデルインスタンス３５０）が、むしろ初期ＳＯＡモデル（例えば、図３ｂのＳＯＡモデル３１０）、いくつかの中間状態のモデル（例えば、図３ｂの中間状態のモデル３５５および３６５）および最適なＳＯＩモデルインスタンス（例えば、図３ｂのＳＯＩモデル３６９）を示すことを意味する。従って、図７〜１１に示す例は、最適なＳＯＩモデルインスタンスをもたらすブランチに沿う経路を示す。図７から始めると、変換が開始される。これは、帰納的パターン認識の第１のステップ７６０である。強い結合がサービス内部レベルで検出されるので、適用された強い結合パターンは、両方のＳＯＡコンポーネント条件７３０および７３５の、１つのサービス条件７５０への結合を提供する。故に、コンポーネントＡＡ７１０およびＡＢ７２０は、変換の第１のステップ７６０で結合される。図８に示す、次の帰納的パターン認識ステップ８００では、ＲＡＭ／Ｃｏｍｐｕｔｉｎｇ  ｐｏｗｅｒ  ｐａｔｔｅｒｎ８１０が検出される。ＳＯＡレベル上のＲＡＭ／Ｃｏｍｐｕｔｉｎｇ  ｐｏｗｅｒのプロパティは、ＳＯＩレベル上で対応するプロパティＲＡＭ／ＣＰＵに変換される。適用されたＲＡＭ／Ｃｏｍｐｕｔｉｎｇ  ｐｏｗｅｒ  ｐａｔｔｅｒｎは、現在の最新のハードウェア部分を分析することによって、パフォーマンスデータベースにアクセスし、６６％効率の相互接続グリッド８２０でグリッド構造を提供する。この提供に基づき、現在の利用可能なＣＰＵ／ＲＡＭ部分８３０が選択される。代替の変換では、パフォーマンスデータベースによって提供されたグリッド構造は、例えば５０％または７５％効率の相互接続グリッドでもよい。そのような提供は、異なるＣＰＵ／ＲＡＭ部分の選択を引起すことがある。図９は、次の帰納的パターンステップ９００を表示する。このステップ９００では、“未知の”マザーボードの中間状態は、パフォーマンスデータベースから既知の選択されたマザーボード��Ｙ９１０に変換される。これらの選択されたマザーボードの一部は、サーバハウジング、スロットおよびネットワークアダプタ９２０のようなＳＯＩレベル上の他のプロパティと共に、さらに挿入される。ここで、パフォーマンスデータベースがいくつかのマザーボードの変種を提供する場合、異なる代替が出現しうる。同一のメトリクスであるが異なる製造者（商標）であるマザーボードでも、いくつかの代替の中間状態のモデルインスタンスの生成を引起しうる。図１０に示す次の帰納的ステップ１０００は、ネットワークパターン認識１０１０のステップを示す。中間状態は、ＳＯＩレベルのネットワークアダプタおよびリンク１０２０に結合および変換される。また、具体的なサーバラック１０３０およびスイッチ１０４０は、パフォーマンスデータベースから選択される。最後に、図１１は、ビジネスエンジンによって、ステップ１０００で、生成されたＳＯＩモデルインスタンスを分析するステップ１１００を示す。ビジネスエンジンは、ステップ１０００モデルが最適な１１１０であることを確認する。これは、ステップ１０００モデルを最適なＳＯＩモデルインスタンスとして定義する。また、ビジネスエンジンは、例えばＳＯＩインフラストラクチャプロバイダが、完全にロードされていないサーバファームを動作することを見出すために、そのビジネス価値データベースにアクセスすることができる。この情報に基づき、このサーバファーム上のサービスの配置は、ビジネスエンジン１１２０によって提供される。
【００２７】
図１２は、ＳＯＡからＳＯＩへの変換に関するコンピュータシステム１２００の発明の実施形態のブロック図である。コンピュータシステム１２００は、メモリ１２１０、プロセッサ１２３０およびＩ／Ｏインタフェース１２４０を組込む。メモリ１２１０は、内部データベース１２７０、変換エンジン１２２０およびビジネスエンジン１２５０を含む。変換エンジン１２２０を使用して、ＳＯＡモデルからＳＯＩモデルに変換する。変換エンジン１２２０は、ＳＯＡからＳＯＩ変換のための既知の変換可能なパターンを提供する使用済みケースデータベースにアクセスすることによって変換を実行する。使用済みケースデータベースは、内部データベース１２７０または外部データベース１２６０の何れか一方に常駐する。外部データベースは、Ｉ／Ｏインタフェース１２４０を用いてコンピュータシステム１２００に接続される。変換エンジン１２２０は、ビジネス分析特徴を備えたビジネスエンジン１２５０によって支援される。１つの実施形態では、変換エンジン１２２０およびビジネスエンジン１２５０は、ＳＯＩモデルに利用可能なハードウェア部分のプロパティを提供するパフォーマンスデータベースからのデータを用いて、変換を実行する。パフォーマンスデータベースは、内部データベース１２７０または外部データベース１２６０の何れか一方に常駐してもよい。１つの実施形態では、変換エンジン１２２０およびビジネスエンジン１２５０は、ビジネス分析特徴に関する履歴情報、コストファクトおよび効率データを提供するビジネス価値データベースからのデータを使用して変換を実行する。ビジネス価値データベースは、内部データベース１２７０または外部データベース１２６０の何れか一方に常駐してもよい。１つの実施形態では、認識エージェント（図示せず）は、コンピュータシステム１２００の一部でもよく、階層ケースベースのリーズニングシステムアプローチに基づき、洗練されたパターン認識方法を提供する。１つの実施形態では、変換エージェント（図示せず）を使用して、単一の認識パターンを変換し、更新されたＳＯＩモデルインスタンスを生成し、それは、更新されたＳＯＩモデルインスタンスにおける他の変換可能なパターンの利用可能性に依存して、変換に関して中間または最後でもよい。１つの実施形態では、ビジネス価値データベースは、ビジネスエージェント（図示せず）によってビジネスデータが供給される。１つの実施形態では、リアルタイム監視および分析（ＲＴＭＡ）エージェント（図示せず）が使用され、パフォーマンスデータベース用のデータを提供する。
【００２８】
本発明の実施形態は、コンピュータ読取可能な媒体を備えたコンピュータ格納製品に関し、各種コンピュータ用動作を実行するために媒体上にコンピュータコードを有する。メディアおよびコンピュータコードは、本発明の目的のために特に設計および構成されてもよく、コンピュータソフトウェア技術の当業者に周知で入手可能なものでもよい。コンピュータ読取可能なメディアの例は、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気メディア、ＣＤ−ＲＯＭ、ＤＶＤおよびホログラフィック装置のような光学メディア、磁気光学メディア、アプリケーション用集積回路（“ＡＳＩＣ”）、プログラマブル論理装置（“ＰＬＤ”）およびＲＯＭおよびＲＡＭ装置のような、プログラムコードを格納および実行するよう特に構成されたハードウェア装置、を含むが、それらに限定されない。コンピュータコードの例は、コンパイラによって生成されたような機械コード、およびインタープリタを用いてコンピュータにより実行される高位コードを含むファイルを含む。例えば、本発明の実施形態は、Ｊａｖａ（登録商標）、Ｃ＋＋、または他のオブジェクト指向のプログラム言語および開発ツールを用いて実装されてもよい。本発明のもう１つの実施形態は、機械実行可能なソフトウェア命令に代えて、またはそれと組み合わせて、ハードワイヤード回路で実装されてもよい。
【００２９】
上記説明は、説明目的のため、本発明の深い理解を提供するために特定の用語を使用した。しかし、当業者であれば、詳細は、本発明を実施するために必要とされないことが分かる。故に、本発明の特定の実施形態の上記説明は、例証および解説目的のために提供される。それらは、開示された形式のみに本発明を包括的または限定的にすることを意図せず、多くの修正および変更は、上記教示を鑑みて可能である。実施形態は、本発明の原理およびその実際の用途を最適に説明するために選択および記載され、故に当業者であれば、本発明および考えられる特定の使用に適した各種修正を備えた各種実施形態を最適に利用できる。以下の特許請求の範囲および均等物は、発明の範囲を定めることを意図する。
【符号の説明】
【００３０】
３１０  ＳＯＡモデル
３２０  ＳＯＩモデル
３３０  変換エンジン
【図１】
0005496829.tif 000002
【図２】
0005496829.tif 000003
【図３ａ】
0005496829.tif 000004
【図３ｂ】
0005496829.tif 000005
【図３ｃ】
0005496829.tif 000006
【図４】
0005496829.tif 000007
【図５】
0005496829.tif 000008
【図６】
0005496829.tif 000009
【図７】
0005496829.tif 000010
【図８】
0005496829.tif 000011
【図９】
0005496829.tif 000012
【図１０】
0005496829.tif 000013
【図１１】
0005496829.tif 000014
【図１２】
0005496829.tif 000015