(57)【要約】ネットワークアクセス可能サービスにおいて、クライアントの構成記録収集部への移行ファシリテータによるアクセスを可能にする要求がクライアントから受信される。移行候補識別クエリへの応答は、構成記録収集部を使用して生成され、ファシリテータに伝達される。ファシリテータからの補助でクライアントのコンピューティング環境の少なくとも一部を異なるコンピューティング環境に移行させることに関連付けられる提案の指示は、クライアントに提供される。【選択図】図１８
2019525302.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
リソース移行マーケットプレイスサービスの１つ以上のコンピューティングデバイスによって、
１つ以上のプログラムインターフェースを介して、第１のクライアントから前記第１のクライアントの構成記録収集部への１つ以上の移行ファシリテータによるアクセスを可能にする第１の要求を受信することであって、前記構成記録収集セットは前記第１のクライアントの第１のコンピューティング環境に関連付けられる情報を含む、前記受信することと、
前記１つ以上のプログラムインターフェースを介して前記１つ以上の移行ファシリテータのうちの特定の移行ファシリテータに、特定の移行候補識別クエリに対する応答を伝達することであって、前記応答は前記構成記録収集部に少なくとも部分的に基づくものである、前記伝達することと、
前記第１のクライアントに前記１つ以上のプログラムインターフェースを介して、前記特定の移行ファシリテータの補助で、前記第１のコンピューティング環境の少なくとも一部を第２のコンピューティング環境に移行することに関連付けられる第１の提案の指示を提供することと、
を行うことを含む、前記方法。
【請求項２】
前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して、前記移行候補識別クエリを前記特定の移行ファシリテータから受信することと、
移行候補識別クエリに少なくとも部分的に基づいて及び１つ以上の構成難読化基準に少なくとも部分的に基づいて、前記構成記録収集部から読み出される１つ以上の構成属性を示すフィルタ仕様を構成することと、
前記フィルタ仕様を含む構成クエリを、前記構成記録収集部が記憶される自動構成発見サービスに伝達することと、
前記構成クエリに対する前記自動構成発見サービスから受信される応答に少なくとも部分的に基づいて、前記特定の移行候補識別クエリに対する前記応答を生成することと、
を行うことをさらに含む、請求項１に記載の方法。
【請求項３】
前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して、実行可能候補マッチングモジュールの指示を前記特定の移行ファシリテータから受信することであって、前記特定の移行候補識別クエリに対する前記応答は前記候補マッチングモジュールを実行する結果に少なくとも部分的に基づくものである、前記受信すること、
を行うことをさらに含む、請求項１に記載の方法。
【請求項４】
前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して前記特定の移行ファシリテータから、前記候補マッチングモジュールが実行されるプロバイダネットワークの特定の算出サービスの指示を受信することと、
実行するための前記候補マッチングモジュールを前記特定の算出サービスに提出することと、
を行うことをさらに含む、請求項３に記載の方法。
【請求項５】
前記第１の提案は、（ａ）移行コスト見積、（ｂ）移行スケジュール見積、または（ｃ）前記特定の移行ファシリテータによって実施される前の移行を示すフィードバック記録のうちの１つ以上の指示を含む、請求項１に記載の方法。
【請求項６】
前記１つ以上のコンピューティングデバイスによって、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、第２の移行ファシリテータに対する前記第２のクライアントによって割り当てられる評定を受信することであって、前記評定は第２のコンピューティング環境の特定の移行に関連付けられ、前記特定の移行は前記第２の移行ファシリテータの補助で行われた、前記受信することと、
前記評定を前記データベース内に記憶することと、
前記１つ以上のプログラムインターフェースを介して、前記評定を第３のクライアントに提供することと、
を行うことをさらに含む、請求項１に記載の方法。
【請求項７】
前記１つ以上のコンピューティングデバイスによって、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、第２のコンピューティング環境に対する移行補助要求を受信することと、
前記移行補助要求に応答して、前記第２のクライアントに前記１つ以上のプログラムインターフェースを介して、前記第２のコンピューティング環境の移行を補助するための候補として前記特定の移行ファシリテータを識別する推薦を伝達することと、
を行うことをさらに含む、請求項１に記載の方法。
【請求項８】
前記１つ以上のコンピューティングデバイスによって、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、前記特定の移行ファシリテータが第２のコンピューティング環境の移行に関して承認されている指示を受信することと、
前記第２のクライアントが、プロバイダネットワークの移行計画サービスのワークフローを実行することを可能にする１つ以上の動作を開始することと、
を行うことをさらに含む、請求項１に記載の方法。
【請求項９】
前記特定の移行候補識別クエリは、（ａ）移行が前記特定の移行ファシリテータによってサポートされるアプリケーションアーキテクチャ、（ｂ）移行が前記特定の移行ファシリテータによってサポートされるソースコンピューティング環境の最小サイズ、または（ｃ）前記特定の移行ファシリテータの動作の好ましい地理的場所もしくは領域のうちの
１つ以上の指示を含む、請求項１に記載の方法。
【請求項１０】
前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して、第２のクライアントから第２のコンピューティング環境の構成情報の読み出しを開始する要求を受信することであって、前記第２のコンピューティング環境で起動するアプリケーションは第３のコンピューティング環境への移行に関する候補である、前記受信することと、
自動発見サービスの１つ以上のプログラムインターフェースを呼び出し、前記構成情報の前記読み出しを開始することと、
を行うことをさらに含む、請求項１に記載の方法。
【請求項１１】
メモリ及びプロセッサを含むシステムであって、前記メモリは、実行時、前記システムに、
第１のクライアントから前記第１のクライアントの構成記録収集部への１つ以上の移行ファシリテータによるアクセスを可能にする第１の要求が受信されていることを判定させ、前記構成記録収集セットは前記第１のクライアントの第１のコンピューティング環境に関連付けられる情報を含み、
１つ以上のプログラムインターフェースを介して前記１つ以上の移行ファシリテータのうちの特定の移行ファシリテータに、特定の移行候補識別クエリに対する応答の伝達を開始させ、前記応答は前記構成記録収集部に少なくとも部分的に基づくものであり、
前記特定の移行ファシリテータの補助で、前記第１のコンピューティング環境の少なくとも一部を第２のコンピューティング環境に移行することに関連付けられる第１の提案の指示を、前記第１のクライアントに前記１つ以上のプログラムインターフェースを介して提供させる、
命令を含む、前記システム。
【請求項１２】
前記命令はさらに、実行時、前記システムに、
前記移行候補識別クエリが前記１つ以上のプログラムインターフェースを介して前記特定の移行ファシリテータから受信されていることを判定させ、
移行候補識別クエリに少なくとも部分的に基づいて及び１つ以上の構成難読化基準に少なくとも部分的に基づいて、前記構成記録収集部から読み出される１つ以上の構成属性を示すフィルタ仕様を構成させ、
前記構成記録収集部が記憶される自動構成発見サービスへの前記フィルタ仕様を含む構成クエリの伝達を開始させ、
前記構成クエリに対する前記自動構成発見サービスから受信される応答に少なくとも部分的に基づいて、前記特定の移行候補識別クエリに対する前記応答を生成させる、
を行うことをさらに含む、請求項１１に記載のシステム。
【請求項１３】
前記命令はさらに、実行時、前記システムに、
実行可能候補マッチングモジュールの指示が前記１つ以上のプログラムインターフェースを介して前記特定の移行ファシリテータから受信されていることを判定させ、前記特定の移行候補識別クエリに対する前記応答は前記候補マッチングモジュールを実行する結果に少なくとも部分的に基づくものである、請求項１１に記載のシステム。
【請求項１４】
前記命令はさらに、実行時、前記システムに、
前記候補マッチングモジュールが実行されるプロバイダネットワークの特定の算出サービスを識別させ、
前記候補マッチングモジュールを、実行するために前記特定の算出サービスに提出させる、
を行うことを含む、請求項１３に記載のシステム。
【請求項１５】
前記第１の提案は前記特定の移行ファシリテータから利用可能である移行関連ツールを示し、前記ツールは、前記第１のクライアントによって使用可能であり、前記第１のコンピューティング環境の前記一部を前記第２のコンピューティング環境に移行させる、請求項１１に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
多くの企業及びその他の組織は、それらの業務をサポートする多数のコンピューティングシステムを相互接続するコンピュータネットワークを運用し、例えば、そのコンピューティングシステムは、共同設置される（例えば、ローカルエリアネットワークの一部として）、または、その代わりに、複数の特徴のある地理的位置にある（例えば、他の１つ以上のプライベートネットワークまたはパブリック中間ネットワークを介して接続される）。例えば、単一組織及びその代わりのものによって運用されるプライベートデータセンター（例えば、企業データセンター）ならびにコンピューティングリソースを顧客に提供するビジネスとして組織によって運用されるパブリックデータセンター等のかなり多くの相互接続されたコンピューティングシステムを収容するデータセンターは、一般的になりつつある。いくつかのパブリックデータセンターのオペレータは、様々な顧客が所有するハードウェアのためのネットワークアクセス、電力、安全な設置施設を提供する一方、その他のパブリックデータセンターのオペレータは、その顧客による使用のために利用可能にされたハードウェアリソースも含む「フルサービス」施設を提供する。
【０００２】
汎用ハードウェアに関する仮想化技術の出現は、多様なニーズがある多くの顧客のための大規模のコンピューティングリソースの管理に関して利益をもたらしており、種々のコンピューティングリソースを、複数の顧客によって効率的及び安全に共有することを可能にする。例えば、仮想化技術は、単一の物理コンピューティングマシンを、各ユーザに単一の物理コンピューティングマシンによってホストされる１つ以上の仮想マシンを提供することによって、複数のユーザ間でシェアすることを可能にし得る。係る仮想マシンのそれぞれは、ユーザに、そのユーザが所与のハードウェアコンピューティングリソースの１人のオペレータ及びアドミニストレータである錯覚をもたらし、その間に、また様々な仮想マシン間でアプリケーション隔離をもたらす、特徴のある論理コンピューティングシステムとして働くソフトウェアシミュレーションとして考えられ得る。
【０００３】
高性能のアプリケーションの実行環境は、様々なリソースにわたり得る。例えば、アプリケーションのいくつかの構成要素が仮想マシンを使用して起動し得る一方、他の構成要素は非仮想サーバを使用して起動し得る。いくつかの場合、アプリケーションのリソースまたはアプリケーションの関連セットは、いくつかの異なるデータセンター間で分散され得る。実行環境の複雑度は、様々なアプリケーション構成要素間の関係性及び依存関係の十分な理解を得ることを難しくし得る。同様に、係る明確さの欠如は、顧客所有施設からプロバイダネットワーク環境までのアプリケーションを移行する等の重大なビジネス決定を困難にし得る。
【図面の簡単な説明】
【０００４】
【図１】少なくとも一部の実施形態による、マルチデータセンターアプリケーションに関するインテリジェント構成発見サービスが実装され得る例示的システム環境を示す。
【図２】少なくとも一部の実施形態による、構成情報を体系化するために使用され得る発見サービスオントロジの例示的構成要素を示す。
【図３】少なくとも一部の実施形態による、監督属性値リストを作り出すために、複数のデータセンターからの未加工構成情報を各々の信頼スコアと合体する例を示す。
【図４】少なくとも一部の実施形態による、構成発見サービスにおいて実装され得るアプリケーションプログラミングインターフェースの例を示す。
【図５】少なくとも一部の実施形態による、構成アイテムが果たす役割を自動的に検出する発見サービスにおいて使用され得るアプリケーションアーキテクチャパターンの例を示す。
【図６】少なくとも一部の実施形態による、構成発見サービスにおいてネットワークパケットに関するソース識別情報検出アルゴリズムの使用を示す。
【図７】少なくとも一部の実施形態による、関連スコアを構成アイテムに割り当てる構成発見サービスにおいて使用され得る例示的因子を示す。
【図８】少なくとも一部の実施形態による、時間クエリに対する反応性を改善する構成発見サービスにおいて採用され得る技法の概要を示す。
【図９】少なくとも一部の実施形態による、構成発見サービスで行われ得る動作の態様を示すフロー図である。
【図１０】少なくとも一部の実施形態による、発見サービスで収集された構成記録に関する可視化サービスが実装され得る例示的システム環境を示す。
【図１１】少なくとも一部の実施形態による、可視化サービスによって自動的に実施され得るビュー間のコンテクストベースの推移の例を示す。
【図１２】少なくとも一部の実施形態による、可視化サービスのグラフィカルユーザインターフェースの例示的要素を示す。
【図１３】少なくとも一部の実施形態による、可視化サービスの支援で表示され得るトランザクション関連情報の例を示す。
【図１４】少なくとも一部の実施形態による、可視化サービスの支援で表示され得るネットワークトラフィック関連情報の例を示す。
【図１５】少なくとも一部の実施形態による、可視化サービスの支援で経時的に構成変化の可視化を得るようなスライダ制御の使用例を示す。
【図１６】少なくとも一部の実施形態による、アプリケーション実行環境の段階的移行を開始する可視化サービスの使用例を示す。
【図１７】少なくとも一部の実施形態による、構成記録のグラフィカル表現を提供する可視化サービスによって行われ得る動作の態様を示すフロー図である。
【図１８】少なくとも一部の実施形態による、構成発見サービスで集められたデータを利用する移行マーケットプレイスサービスが実装され得る例示的システム環境を示す。
【図１９】少なくとも一部の実施形態による、クライアントと移行マーケットプレイスサービスとの間のプログラム相互作用の例を示す。
【図２０】少なくとも一部の実施形態による、移行ファシリテータと移行マーケットプレイスサービスとの間のプログラム相互作用の例の第１のセットを示す。
【図２１】少なくとも一部の実施形態による、移行ファシリテータと移行マーケットプレイスサービスとの間のプログラム相互作用の例の第２のセットを示す。
【図２２】少なくとも一部の実施形態による、移行マーケットプレイスサービスのメタデータリポジトリに記憶され得る項目の例を示す。
【図２３】少なくとも一部の実施形態による、移行マーケットプレイスサービスによって実装され得るウェブベースインターフェースの例を示す。
【図２４】少なくとも一部の実施形態による、移行マーケットプレイスサービスで行われ得る動作の態様を示すフロー図である。
【図２５】少なくとも一部の実施形態で使用され得るコンピューティングデバイスの例を示す、ブロック図である。
【０００５】
実施形態が、いくつかの実施形態及び例示の図面の例として本明細書で説明されている一方、当業者は、実施形態が説明される実施形態または図面に限定されないことを認識するであろう。それらについての図面及び詳細な説明は、実施形態を特定の開示される形式に限定することを意図しておらず、逆に、その意図は、添付の「特許請求の範囲」によって定義されるような主旨及び範囲内にある全ての修正物、同等物、及び代替物を対象としている。本明細書で使用される表題は、体系的な目的だけのためであり、「詳細な説明」または「特許請求の範囲」の範囲を限定するために使用されることを意味していない。本出願全体を通じて使用されるように、用語「ｍａｙ」は、義務的な意味ではなく（すなわち、〜しなければならないことを意味する）、許容的な意味（すなわち、〜する潜在性があることを意味する）で使用される。同様に、単語「ｉｎｃｌｕｄｅ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、及び「ｉｎｃｌｕｄｅｓ（含む）」は、「限定ではないが、〜を含む」ことを意味する。「特許請求の範囲」で使用されるとき、用語「ｏｒ（または）」は、「両立的ＯＲ」として使用され、「排他的ＯＲ」として使用されない。例えば、語句「ｘ、ｙ、またはｚの少なくとも１つ」は、ｘ、ｙ、及びｚのいずれか１つと、それらの任意の組み合わせとを意味する。
【発明を実施するための形態】
【０００６】
ネットワークアクセス可能発見サービスに実装されるインテリジェントな構成発見技術に関する方法及び装置、構成情報の自動的に更新されるビューを提供するための可視化技法、ならびに発見サービスの顧客を補助する移行マーケットプレイスサービス及びアプリケーションの移行に関する決定を行う移行ファシリテータの様々な実施形態が説明される。高レベルで、構成発見サービスは、（他の特徴の中でとりわけ）構成アイテム（アプリケーションを構成する物理サーバまたは仮想算出サーバ、ストレージデバイス、データベース、ソフトウェアスタック構成要素等）の自動検出と、種々のデータソースによって集められる未加工データに基づく分散アプリケーションパターンと、構成アイテムへの一意の識別名の割り当てと、相互作用（例えば、トランザクション、ネットワークトラフィックフロー等）の追跡及びアイテム間の依存関係と、複雑なアプリケーション実行環境に関する所望のレベルの粒度で監視するパフォーマンスとを可能にし得る。構成発見サービスはまた、構成アイテムがアプリケーションを形成する構成要素であるため、「アプリケーション発見サービス」と称され得る、または、一部の環境では「リソース発見サービス」と称され得る。構成発見サービスは、構成関連クエリに対する応答を得るために、サービスクライアントによって使用されることができる種々のプログラムインターフェース（例えば、ウェブサービスアプリケーションプログラムインターフェース、コマンドラインインターフェース等）を実装し得、また、より高レベルの機能性を提供する移行マーケットプレイスサービス及び可視化サービスを含む他のサービスによる構成要素として使用されることができる。一部の実施形態では、構成発見サービスと連携する、またはその一部である可視化サービスは、構成発見サービスのクライアントに関する相互作用の主要モードの１つとしての役割を果たし得る。例えば、顧客は、使用される特定のクライアント側表示環境に適合されるそのアプリケーション実行環境のカスタム表現を視認し、可視化インターフェースを介して、構成関連クエリを発行し、及び／またはリソースの１セットから別のものまでアプリケーション移行の一部または全部を開始し得る。様々な実施形態では、移行マーケットプレイスは、（例えば、クライアント施設からクラウドベースコンピューティング環境まで、または一方のクラウドベース環境から別のものまで移動させるために）クライアントが好適な移行施設を識別することを可能にし、移行ファシリテータがクライアントの候補者を識別することを可能にする中間サービスとして働き得る。
【０００７】
少なくとも一部の実施形態では、サービスの一部または全ては、プロバイダネットワークで実施され得る。インターネット及び／または他のネットワークを介して、クライアントの分散セットにアクセス可能な１つ以上のネットワークアクセス可能サービス（様々な種類のクラウドベースコンピューティングサービスまたはストレージサービス等）を提供するために、企業または公営企業組織等の事業体によって設定されたネットワークは、本明細書では、「プロバイダネットワーク」と称され得る。プロバイダネットワークは、時々、「パブリッククラウド」環境と称され得る。プロバイダネットワークのリソースは、いくつかの場合、複数のデータセンターにわたって分散され得、そこでは、同様に、多数の都市、州、及び国間で分散され得る。構成発見サービス、可視化サービス、及び／または移行マーケットプレイスサービスが特定のプロバイダネットワーク内で実施され得るが、これらのサービスの一部または全部は承認され、他のプロバイダネットワークから（例えば、異なる企業組織によって起動されるプロバイダネットワークから）情報にアクセスする適切な許可が与えられ得ることに留意されたい。例えば、オペレータＯ１によって起動されるプロバイダネットワークＰＮ１で起動する構成発見サービスは、オペレータＯ２によって起動されるプロバイダネットワークＰＮ２から（同様に、クライアント所有データセンター及びＰＮ１の所有データセンター等の他の施設から）集められた構成データを収集することが可能であり得、ＰＮ１で起動する可視化サービスは、クライアントが、ＰＮ２で起動する構成要素を備える分散アプリケーションアーキテクチャを視認することを可能にし得、及び／またはＰＮ１で起動する移行マーケットプレイスサービスは、ＰＮ２で起動する構成要素をＰＮ１に移行させるために、移行ファシリテータについての情報をクライアントに提供することが可能であり得る。一部の実施形態では、可視化サービス及び／または移行マーケットプレイスサービスは、構成発見サービスの補助構成要素として実施され得る。構成発見サービスはまた、本明細書では、単に、「発見サービス」と称され得る。
【０００８】
様々なデータソースは、構成記録のリポジトリを構築する構成発見サービスで採用され得る。例えば、一部の実施形態では、データソースは、クライアントデータセンター（構成データが時々プログラムインターフェースを介して大量にインポートされ得る）において既存の構成管理データベースと、様々なリソースで構成発見サービスの代わりにインストールされるエージェントまたは構成データコレクタと、第３者または業界標準構成管理ツール等とを含み得る。各データソースは、（例えば、構成アイテムの一部のセットに関するいくつかの数の属性値のペアを含む）構成情報を、時間内に１つ以上の点において構成発見サービスに提供し得る。いくつかのデータソースが規則的間隔で未加工構成データを提供し得る一方、他のものは、少なくとも一部の実施形態では、イベント駆動型であり得る。様々な実施形態では、（例えば、サービスの代わりにインストールされたエージェントを介して）値がサービスにおいて取得される構成アイテム属性は、とりわけ、ユーザ情報（ユーザ名及びホームディレクトリ等）、グループ情報（グループ名及びグループ帰属関係等）、インストール済ソフトウェア／プログラムのリスト、及びカーネルモジュールのリストを含み得る。プロセス作成／終了（関連プロセス識別子を用いる）、ドメインネームサービス（ＤＮＳ）クエリ及び応答、パケット等のいくつかの異なる種類の構成関連イベントについての情報は、ネットワークスタックの様々な層で送信及び受信され、したがって、また、少なくとも一部の実施形態では、集められ得る。（例えば、使用されるイーサネット（登録商標）、サポートされる最大帯域幅、関連メディアアクセス制御またはＭＡＣアドレス等のネットワーク相互接続の種類を含む）物理及び／または仮想ネットワークインターフェースの様々な属性の値は、標的実行環境のデバイスから集められ得る。様々なリソースにおいて使用されているＴＣＰ（伝送制御プロトコル）ポートまたはＵＤＰ（ユーザデータグラムプロトコル）ポート等の特定のネットワークポートが識別され得、ＴＣＰバージョン４またはバージョン６の接続属性（接続部の両端におけるプロセスの識別子、接続確立回数、接続部が開いたままである期間等）が集められ得る。例えば、様々なホスト及び仮想マシンで使用中のオペレーティングシステムの特定のバージョンを含むオペレーティングシステム関連属性は、一部の実施形態で集められ得る。システム性能及びプロセス性能測定基準は、異なる実施形態で様々な間隔で集められ得る。一部の実施形態では、発見サービスの複数のエージェントは、１つ以上の構成アイテムに関する構成属性値の各々のサブセットを集めるために、所与のホストまたはデバイスにインストールされ得る。他の実施形態では、単一のエージェントまたはツールは、属性値をいくつかの異なるソースから抽出することが可能であり得る。
【０００９】
構成発見サービスは、粒度の各々のレベルにおいて及び各々のスケジュールに従って、様々なデータソースから集められた潜在的に期限切れの矛盾し、及び／または不明瞭な未加工構成情報の連結部及び監督部として働き得る。異なるデータソースから、一部の実施形態では、構成発見サービスは、合体構成記録及び監督構成記録を生成及び記憶することを担当し得る。係る合体記録は、可視化サービス及び移行マーケットプレイスサービス（または、発見サービスに依存する他のサービス）に関する構成データの信頼性のあるソースとして役割を果たし得る。少なくとも一部の実施形態では、構成発見サービスは、一意のサービス側識別子を生成し、当該サービスによって定義されるオントロジに少なくとも部分的に基づいて、それを各々の構成アイテムに割り当て得る。例えば、所与のハードウェアサーバは、サーバのＩＰアドレス（経時的に変化し得る）の１つに基づく一方のデータソースによって、サーバ名またはＭＡＣ（メディアアクセス制御）アドレスに基づく別のデータソースによって、分散アプリケーションのサーバによって行われる役割（例えば、「ウェブサーバ」または「分散アプリケーション」）に基づく第３のデータソース等によって識別され得る。データソースは、それぞれ、構成発見サービスに提供される未加工構成データのサーバに関するそのデータソース自体の各々の識別子／名前を含み得る。係る識別子は、本明細書では、「データソース側識別子」と称され得る。構成発見サービスは、１つ以上の異なるデータソースから受信された未加工構成データを検査し、（未加工データの属性値のサブセットを考慮し得る）定義されたオントロジ及びネーミングスキームに基づいて、サーバに関する一意のサービス側識別子を生成し得る。
【００１０】
一意のサービス側識別子は、データソースによって使用される識別子／名前の少なくとも一部と異なり得る。未加工構成データの新しいセットが当該サービスにおいて受信または分析されるとき、当該サービスは、少なくとも一部の実施形態では、未加工データの一意の識別子の不足に関わらず、未加工データの少なくとも一部が適用する一意に識別された構成アイテムを判定することが可能であり得る。一部の実施形態では、当該サービスは、データソース提供識別子と一意のサービス側識別子との間でマッピングを維持することに、及び係るマッピングと関連付けられる不明瞭性（例えば、データソースが所与の構成アイテムに関するその識別子を変更させる場合に生じ得る不明瞭性）を解決することを担当し得る。不明瞭性は、例えば、一部の期間にわたって他のデータソースから受信された未加工構成データに対する相関分析、クライアントのフィードバック等に基づいて、異なる実施形態で種々の機構を使用して解決され得る。一例示的シナリオでは、例えば、２つの特徴のある一意のサービス側識別子は、例えば、２つの異なるデータソースから受信された各々の未加工構成データセットＤＳ１及びＤＳ２に基づいて、（誤って）最初に同じ構成項目に割り当てられ得、結果として、各々の特徴のあるサービス側識別子を伴う２つの異なる合体構成記録Ｒ１及びＲ２は、サービスリポジトリ内に記憶され得る。後で、例えば、１つ以上の追加未加工データセットを処理した後、及び／またはクライアントとのプログラムインターフェースを介した対話の後、エラーを検出及び訂正し得る。すなわち、当該サービスは、値がＲ２に記憶される属性が実際にＲ１に対応する基本構成アイテムの属性であることを判定し得る。例えば、リソース消費情報の分析に基づいて、係る判定を行い得る。Ｒ１及びＲ２に関連付けられる２つの構成アイテムが最初に誤って異なるハードウェアサーバであると想定されていたが、２つのアイテムのＣＰＵ利用レベルまたはネットワークパケット流出に関する収集測定基準がある期間にわたってかなり類似するまたは同一であることが分かる場合、記録Ｒ１及びＲ２は、同じサーバを指すものとして識別され得る。Ｒ２で記憶された情報の一部は、係るシナリオでは、Ｒ１を更新するために使用され得、Ｒ２は削除され得る（または反対に、Ｒ１の情報はＲ２を修正するために使用され得、次に、Ｒ１は削除され得る）。少なくとも１つの実施形態では、エラー訂正ＡＰＩは発見サービスによって実施され得、クライアント（及び／または、プロバイダネットワークオペレータの専門サービスアナリスト、コンサルタントまたはパートナー等の他の権限のある事業体）が、係る誤りに関するサービスを知らせることを可能にする。係るＡＰＩを介して提供される訂正は、様々な実施形態では、より広範にサービス動作を改善するために使用され得る。例えば、所与のサービス顧客の構成データの所与のセットに関する１つの承認された事業体によって行われる訂正は、同じ顧客または他の顧客の構成データの他のセットに対して行われた潜在的エラーを検出及び訂正するために一般化及び使用され得る。
【００１１】
少なくとも一部の実施形態では、構成発見サービスは、各々の信頼スコアを異なるデータソースと関連付ける場合があり、潜在的に矛盾する、または期限切れの構成データ要素のセットの中のどのセットを受け入れるべきかを決定するときに、係る信頼スコアを使用し得る。信頼スコア自体は経時的に変化し得る。例えば、クライアントデータセンターを表すクライアントの構成管理データベースのダンプがサービスにおいて取得される場合、クライアントのデータベースに関する最初の信頼スコアは高い値に設定され得るが、当該スコアは時間が経過するにつれて小さくなり得、構成変更はクライアントデータセンターで発生する。少なくとも一部の実施形態では、合体構成記録を未加工構成データから生成するときに、信頼スコアを使用し得る。例えば、高い信頼性のデータソースから取得された属性値は、低い信頼性のデータソースから取得された属性値よりも高い合体記録の可能性があるように含まれ得る。現在の信頼スコアＴＳ１を伴うデータソースＤＳ１から得られた属性値Ｖ１が、より高い現在の信頼スコアＴＳ２を伴う異なるデータソースＤＳ２から得られた属性値Ｖ２と相反または矛盾するシナリオでは、より高い信頼スコアを伴うソースから得られた属性値（この場合、Ｖ２）は合体構成記録に含まれ得、より小さい信頼スコアを伴うソースから得られた属性値は除外され得る。少なくとも一部の実施形態では、機械学習法は、経時的に、信頼スコアを生成及び更新するために使用され得る。
【００１２】
アプリケーション構成要素の自動パターンベースのグループ分け及びタグ付け、難読化中間部を介して受信されるネットワークパケットのソースを検出するためのアルゴリズムを含み、関連スコアをクエリに対する応答性を増加させるために使用される構成アイテム、データモデル、及び事前ロード技法に関連付ける、構成発見サービスの動作の様々な態様に関する追加詳細が下記に提供される。発見サービスの詳細が検討された後に、可視化サービス及びマーケットプレイスサービスを説明する。
【００１３】
例示的システム環境
図１は、少なくとも一部の実施形態による、マルチデータセンターアプリケーションに関するインテリジェント構成発見サービスが実装され得る例示的システム環境を示す。示されるように、システム１００は、示される実施形態では、プロバイダネットワーク１０２Ａ及び１０２Ｂ等の複数のプロバイダネットワークと、顧客施設ネットワーク１７２とを備え得る。プロバイダネットワーク１０２のそれぞれの内部では、１つ以上のネットワークアクセス可能サービスは、各々のプロバイダネットワークオペレータによって実施され得る。例えば、プロバイダネットワーク１０２Ａは、構成発見サービス１０４と、仮想化コンピューティングサービス１３２と、潜在顧客によって利用され、それらのアプリケーションをプロバイダネットワーク１０２Ａの外側の実行環境からプロバイダネットワーク１０２Ａに移行させ得る１つ以上の移行関連サービス１３０とを備える。移行関連サービスについての追加詳細は下記に提供される。プロバイダネットワーク１０２Ｂは、それ自体の仮想化コンピューティングサービス１９２を含み得、仮想化コンピューティングサービス１９２では、算出サーバの仮想化に関する異なるアプローチは、仮想コンピューティングサービス１３２で使用されるよりも利用され得る。例えば、異なる種類のハイパーバイザまたは仮想化管理ソフトウェアスタックが利用され得、異なるセットのプログラムインターフェースが仮想マシンを獲得及び使用するためにサポートされ得る。
【００１４】
いくつかの分散アプリケーションは、示される実施形態では、プロバイダネットワーク１０２Ａ及び１０２Ｂのリソース及び顧客施設ネットワーク１７２のリソースを使用して、様々な顧客の代わりに起動し得る。所与のアプリケーションのために使用されるリソースのセットまたはアプリケーションの関連セットは、本明細書では、「アプリケーション実行環境（ＡＥＥ）１４４」と称され得る。所与のＡＥＥは、様々なリソース（例えば、仮想及び／または物理算出サーバ、ストレージデバイス、ネットワークデバイス、マルチレイヤーソフトウェアスタック等）を備え得る。リソースの少なくとも一部は、構成アイテム（ＣＩ）１３６を備え得、構成アイテム（ＣＩ）１３６について、構成情報の各々のセット（例えば、属性値の群）が構成発見サービス１０４内で集められ及び記憶される。一般的に、構成発見サービス及びそのクライアントの観点から、構成アイテム１３６は、任意の物理エンティティ、仮想エンティティ、または論理エンティティ（それらの構成設定及び／または状態情報が１つ以上のアプリケーションを管理するために有用であり得る）を備え得、構成発見サービスによって、プログラムインターフェースを介して取得されることができる。例示的構成アイテムは、とりわけ、非仮想ハードウェアサーバ、仮想マシン、ソフトウェア処理または関連処理の群、回転磁気ディスクまたはソリッドステート（ＳＳＤ）等のストレージデバイス、ルータ等のネットワークデバイス等を備え得る。一部の実施形態では、構成発見サービスは、繰り返して（例えば、規則的間隔で、または特定のイベントの発生に応答して）、所与の構成アイテム１３６についての構成データの各々のデータセットを１つ以上の構成データソース（ＣＤＳｒｃｓ）１３４から取得し得る。後のシナリオでは、サービス１０４に記憶される構成データは、構成アイテムに関する複数のタイムスタンプが付された記録を含み得る。例えば、構成発見サービス１０４の代わりにインストールされるソフトウェア及び／またはハードウェアエージェント、業界標準構成管理ツール、顧客構成管理ツール、顧客構成管理データベース等のいくつかの異なる種類の構成データコレクタまたはソースは、様々な実施形態で採用され得る。
【００１５】
いくつかのＡＥＥ（ＡＥＥ１４４ＡまたはＡＥＥ１４４Ｃ等）は、所与のネットワークの境界内のリソースを備え得る。ＡＥＥ１４４Ａは顧客施設ネットワーク１７２の構成アイテム１３６Ｑ、１３６Ｒ、及び１３６Ｓを備える一方、ＡＥＥ１４４Ｃはプロバイダネットワーク１０２Ｂの構成アイテム１３６Ｉ及び１３６Ｊを備える。他のＡＥＥは、複数のネットワーク及び／またはデータセンター間で分散される構成アイテムを備え得る。例えば、ＡＥＥ１４４Ｂは、プロバイダネットワーク１０２Ａの構成アイテム１３６Ａ〜１３６Ｄと、プロバイダネットワーク１０２Ｂの構成アイテム１３６Ｈとを備える。時間の経過にわたって、少なくとも一部の実施形態では、ＡＥＥ１４４と、ＡＥＥの構成アイテムが位置するネットワークとの間のマッピングが変化し得ることを留意されたい。例えば、１つ以上の構成アイテムは、顧客施設ネットワークからプロバイダネットワークに、またはプロバイダネットワークから顧客施設ネットワークに、すなわち、異なるネットワークに移行され得る。
【００１６】
示される実施形態では、各ネットワークは、構成発見サービス１０４と通信し得る複数の構成データソース１３４を備え得る。例えば、プロバイダネットワーク１０２Ａは、まとめて構成アイテム１３６Ａ〜１３６Ｆに関する構成データセットを取得し、サービス１０４に伝達することを担当するような構成データソース１３４Ａ〜１３４Ｃを備える。同様に、プロバイダネットワーク１０２Ｂは構成アイテム１３６Ｈ〜１３６Ｌについて報告することを担当するデータソース１３４Ｅ〜１３４Ｇを備える一方、顧客施設ネットワーク１７２は構成アイテム１３６Ｎ及び１３６Ｐ〜１３６Ｓに関連する構成データセットをサービス１０４に伝達することを担当するデータソース１３４Ｈ及び１３４Ｉを備える。いくつかの場合、所与の構成データソース１３４は複数の構成アイテム１３６に関連する構成データを集めることを担当し得る一方、他の場合、構成データソース１３４は単一の構成アイテム１３６について報告し得る。少なくとも、いくつかの構成アイテム１３６に関して、構成データセットは、例えば、粒度の各々のレベルにおいて、及び／またはソフトウェア／ハードウェアスタックの各々の層において、複数の構成データソース１３４によって集められ得る。一部の実施形態では、所与の構成データソース１３４は、例えば、構成アイテムを表すサーバで起動する実行のプロセスまたはスレッドのような構成アイテム１３６の補助構成要素であり得る。例えば、データソース１３４Ｇは、構成アイテム１３６Ｌの一部として示される。いくつかの構成データソースは、既存の構成管理ツールの補助構成要素を備え得る。例えば、示される実施形態では、顧客の構成管理データベース１６７は、サービス１０４に報告するデータソース１３４Ｇを備える。
【００１７】
構成発見サービス１０４は、示される実施形態では、プログラムインターフェース１５０の１つ以上のセットを実装し得、プログラムインターフェース１５０のいずれかは、例えば、アプリケーションプログラミングインターフェース（ＡＰＩ）、ウェブベースコンソール、コマンドラインツール、及び／またはグラフィカルユーザインターフェースを備え得る。クライアント対応プログラムインターフェース１５０Ａは、例えば、顧客によって使用され、そのアプリケーション実行環境１４４に関連付けられる許可を収集する構成データを識別し及び／または与え、サービス１０４（例えば、さらに詳細に下記に検討されるような可視化サービスを使用する）によって集められる構成情報を視認し、クライアントフィードバックを要求し得るイベントまたは状況に関する通知等を取得し得る。データ群のセット及び／またはサービス側プログラムインターフェース１５０Ｂは、示される実施形態では、構成データソース１３４とサービス１０４との間の相互作用のために、同様に、サービス１０４の集められた構成データを使用して、移行関連サービス１３０及び／または他のサービスによって追加特徴を構築するために使用され得る。
【００１８】
構成発見サービス１０４は、示される実施形態では、いくつかの補助構成要素を備え得る。いくつかの補助構成要素として、下記に示されるように、構成記録リポジトリ１０８と、未加工構成データを合体し／その曖昧性を除去することを担当する構成要素１１０と、及び／またはデータソース１３４に信頼スコアを割り当てる／その信頼スコアを修正することに、及び／または関連スコアを構成記録に割り当てる／その関連スコアを修正することを担当する１つ以上のスコアリング構成要素１１２が挙げられる。少なくとも一部の実施形態では、当該サービスは、下記に説明されるように、異なる実行能力及び／またはデータモデルを伴ういくつかのデータストアを備え得る。例えば、構成記録は、予期される種類のクエリに対する応答性を高めるために、中央リポジトリ１０８から低遅延キャッシュに事前にロードされ得る。
【００１９】
構成データソース１３４は、示される実施形態では、種々の形式において及び構成発見サービス１０４に異なる間隔で、未加工構成データセットを提供し得る。いくつかの場合、１つ以上の構成アイテム１３６に対するサービス１０４で受信される未加工データは、古いまたは期限切れまたは不正確であり得る。さらに、構成アイテムが異なるデータソース１３４によって提供される未加工データセットで識別される様式は、いくつかの場合、一貫性がない場合がある。例えば、所与のハードウェアサーバ構成アイテムが複数のＩＰアドレスを有する場合、サーバは、異なる構成データソースによって異なるＩＰアドレス、または他のデータソースによって名前もしくは場所（「データセンターＤＣ１のルーム３のラックＲ１のサーバ５」等）によって、異なるＩＰアドレスを使用して参照され得る。構成発見サービス１０４は、示される実施形態では、種々の技法を使用して、未加工構成データセットを統合し、その曖昧性を除去し、それを監督することを担当し得る。１つの係る技法では、未加工構成データのセットが受信されるとき、サービス１０４は、当該データが既知の構成アイテム１３６（構成データが当該サービスで事前に受信及び記録されているアイテム）を参照しているかどうかを判別することを試み得る。新しく受信されるデータが既知の構成アイテムに対応するように思えない場合、ネーミングスキームまたはアルゴリズムが、サービス１０４に定義されるオントロジ及び／または未加工データに示される構成アイテムの１つ以上の属性値に少なくとも部分的に基づいて、未加工データが対応する構成アイテムに関する一意のサービス側識別子を生成するために使用され得る。一意のサービス側識別子は、少なくとも一部の実施態様では、未加工データセットのデータソースによって使用される識別子と異なり得る。実質的に、係る実施態様では、サービス１０４は、データソース報告識別子と一意のサービス側識別子との間でマッピングを維持することを担当し得る。後の未加工データセットが当該サービスで受信されるとき、一部の実施形態では、合体／曖昧性除去構成要素１１０は、係るマッピングを利用して、及び／または事前に見られたデータとの未加工構成データの相関関係を使用し、未加工データセットが適用する構成アイテムを識別し得る。一部の実施形態では、所与の構成アイテム１３６に割り当てられるサービス側識別子がサービス１０４に記憶される構成記録の群全体内で一意であり得る一方、他の実施形態では、識別子は、特定の構成ドメインまたはネームスペース（例えば、所与の顧客に関連付けられるドメインまたはネームスペース）の内部で一意であり得る。
【００２０】
構成アイテムについての利用可能な構成データが一意のサービス側識別子を生成するために分析及び使用される様式は、異なる実施形態で異なり得る。一実施形態では、未加工構成データ（異なるデータソースによる、ＸＭＬ（拡張マークアップ言語）、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）、ＣＢＯＲ（簡潔なバイナリオブジェクト表現）等のプレーンテキストまたはバイナリフォーマット）は、最初に、共通形式に構文解析及び正規化され得る。いくつかのネームスペース内の一意性と関連付けられるキーワード（インターネットプロトコルに関する「ＩＰアドレス」、または媒体アクセス制御アドレスに関する「ＭＡＣアドレス」）に提供される属性値に関する検索が未加工データまたは正規化データで行われ得、検索の結果は、一意のサービス側識別子（例えば、「ＤＢＳｅｒｖｅｒ．＜ＤＢＶｅｎｄｏｒＮａｍｅ＞．＜ＩＰ ａｄｄｒｅｓｓ＞」）を生成するために、オブジェクトタイプ名（例えば、「データベースサーバ」または「仮想化ホスト」）と組み合わせられ／連結され得る。一実施形態では、機械学習法は、構成アイテムに関する一意のサービス側の名前を生成するプロセスを改善するために使用され得る。例えば、識別子を生成するための機械学習モデルは、プロバイダネットワーク（例えば、構成発見サービスが起動する同じプロバイダネットワーク）の仮想コンピューティングサービスの様々な構成要素から集められた大きい匿名構成データセットを使用して訓練され得る。モデルの初期バージョンによって行われるネーミング決定の一部はエラーがある場合がある。例えば、同じ基本構成アイテムは２つの異なる一意の識別子が与えられ得る、または２つの構成アイテムは同じ識別子が与えられ得る。経時的に、より大きい入力データセットを用いたモデル訓練が進むにつれて、エラー率は少なくなり得る。
【００２１】
少なくとも一部の実施形態では、各々の信頼スコアは、（例えば、スコアリング構成要素１１２によって）各々の構成データソース１３４に割り当てられ、実質的に、２つの潜在的に矛盾するソースのどれが所与の時点でより正確である可能性が高いかを決定するために使用され得る。例えば、データソースの一部は発見サービス１０４のエージェントを備え、発見サービス１０４はインストール前にプロバイダネットワーク１０２Ｂのオペレータの人員によって設計、開発、及びテストされている一方、他のデータソースに関連付けられる起源及び／またはテストレベルが既知である可能性が低い場合がある。後のシナリオでは、より高い信頼スコアは、時々、より知られているまたは良好に理解されているデータソースに割り当てられ得る。一部の実施形態では、所与のデータソースの信頼スコアは、属性（その値が検討中である）または属性値が生成されたソフトウェア／ハードウェアスタックのレベルに基づいて変わり得る。例えば、データソースＤＳ１及びＤＳ２は、それぞれ、所与のプログラムまたはプロセスのＣＰＵ使用に関する各々の測定基準Ｃ１及びＣ２を提供し得る。ＤＳ１がハイパーバイザ層においてＣＰＵ利用測定法Ｃ１のそのバージョンを集める場合、ＤＳ２がオペレーティングシステムによって提供されるツールを使用してそのバージョンＣ２を集める間に、異なる信頼スコアは、２つのソースからＣＰＵ使用属性値に割り当てられ得る。複数のデータソースが同じ属性に関する各々の値を提供し得る少なくとも一部の実施形態では、各データソース（または｛データソース及び属性｝のペア）は、現在の信頼レベルを示す各々の加重が割り当てられ得、当該加重は、発見サービスによって使用及び保存される属性の最終値を判定するために使用され得る。一実施形態では、同じ構成アイテム１３６に対応する２つの異なる未加工データセットが各々のデータソース１３４から受信され、及び一方の未加工データセットの少なくとも１つの属性値が他方に示される属性値と矛盾または相反する場合及びそのとき、より低い信頼スコアと矛盾するデータソースの属性値を除外する合体構成記録は、リポジトリ１０８内で生成及び記憶され得る。異なるデータソース１３４に関する信頼スコアは、一部の実施形態では、時間加重され得る。例えば、未加工構成データが１つのデータソースＣＤＳｒｃ１によって時間Ｔ１で集められ得及び一見矛盾している未加工データが別のデータソースＣＤＳｒｃ２によって時間Ｔ２（Ｔ２はＴ１よりも遅い）で集められ得る場合、より最近に集められた未加工データは、より信頼性があるものとして見なされ得る。構成要素１１０を合体し／その曖昧性を除去することによって生成される合体データ記録は、様々な実施形態では、プログラムインターフェース１５０Ａ及び／または１５０Ｂを介して（例えば、プロバイダネットワーク１０２Ａの顧客から、またはその他のサービスからのどちらかで）受信される構成クエリに対する応答を提供するために使用され得る。
【００２２】
データソース１３４から受信された未加工構成データを監督または統合することに加えて、少なくとも一部の実施形態では、発見サービス１０４の構成要素は、いくつかの他の機能を行い得、他の機能として、分散アプリケーションパターンに一緒に対応する構成要素のグループを自動的に識別すること、係るグループ内の役割を各々の構成アイテムに割り当てること、ネットワークトラフィック（そのソースが媒介デバイスによって難読化されている場合があるもの）に関するトラフィックソース検出アルゴリズムを実施すること、先に構成データを準備し高性能クエリをサポートすること等が挙げられる。これらの機能及び他の機能についての追加詳細は下記に提供される。
【００２３】
前述に言及されたように、少なくとも一部の実施形態では、構成発見サービスは、構成アイテムのオントロジを定義及び利用し得る。図２は、少なくとも一部の実施形態による、構成情報を体系化するために使用され得る発見サービスオントロジの例示的構成要素を示す。オントロジ２０２は、示される実施形態では、複数のオブジェクトタイプと、各オブジェクトタイプに対応する１つ以上の属性のリストとを備え得る。所与の構成アイテムに関する所与の属性リストの属性の少なくとも一部の各々の値は、様々な構成データソースによって構成発見サービスに伝達される未加工構成データセットに含まれ得る。オントロジ及び未加工属性値は、様々な実施形態では、構成アイテムに関する一意のサービス側識別子を生成するために使用され得る。例えば、構成アイテムに関する一意のサービス側識別子は、一部の実施形態では、いくつかの属性値（それらの一部が異なるデータソースから取得され得る）をサービス生成テキスト識別子接頭辞と連結させることによって構成され得る。
【００２４】
オブジェクトタイプ２０４Ａは、例えば、物理ホストまたはサーバに対応する。対応する属性リスト２０５Ａは、ＣＰＵ種類、ＣＰＵまたはコアのカウント、現在割り当てられるホスト名、ハイパーバイザ（いずれかがインストールされている場合）、オペレーティングシステム（ＯＳデータ）の様々な要素、１つ以上のＩＰアドレス等を含み得る。２０５Ａ等の属性リストの所与の属性の値は、それ自体、データのいくつかの特徴のある要素を備え得る。例えば、「ＣＰＵタイプ」属性は、ＣＰＵによってサポートされる命令セットアーキテクチャ、ＣＰＵベンダ、ＣＰＵのクロック周波数、モデル名等についての情報を含み得る。
【００２５】
オブジェクトタイプ２０４Ｂは、プロセス（例えば、サーバでの実行の単位）を表す。当該プロセスに関する属性リスト２０５Ｂは、とりわけ、プロセス名、プロセスを読み出すために使用されるコマンドライン、当該プロセスに使用される実行ファイルの場所及び／または当該プロセスのホームディレクトリに対応するホストのオペレーティングシステムにおけるパス（例えば、ディレクトリパスまたはフォルダパス）、当該プロセスのスレッド数等を含み得る。
【００２６】
オブジェクトタイプ２０４Ｃは、ネットワーク接続（この例では、伝達制御プロトコル／インターネットプロトコルまたはＴＣＰ／ＩＰスイートを使用して確立されることが想定される）を表す。属性リスト２０５Ｃは、ソース及び宛先ＩＰアドレス（各々、ｓｒｃＩＰ及びｄｅｓｔＩＰ）（例えば、ソースが接続を確立するために接続（）コールを発行したエンドポイントとして識別される）、ソース及び宛先プロセス識別子（各々、ｓｒｃＰｒｏｃｅｓｓ及びｄｅｓｔＰｒｏｃｅｓｓ）、及び／または宛先ポート（ｄｅｓｔＰｏｒｔ）を含む。
【００２７】
オブジェクトタイプ２０４Ｄは、特定の技術ベンダＶ１から取得される仮想化フレームワークを使用して生成される仮想マシンに対応する。仮想マシンに関する属性リスト２０５Ｄは、ベンダ定義済仮想マシン識別子（ＶＭＩＤ）と、仮想マシンが起動中である、または起動しているデータセンターの識別子と、仮想マシンが現在起動中である、起動する予定になっている、または起動しているホストとを含む。
【００２８】
いくつかの他のオブジェクトタイプは、様々な実施形態では、オントロジ２０２に定義され得る。例えば、各々のオブジェクトタイプは、一部の実施形態では、ストレージデバイス、データベースインスタンス等のエンティティ、ロードバランサ／ルータ等のネットワークデバイスなどに定義され得る。一実施形態では、各々のオブジェクトタイプは、リソースの地理的または他のグループ分けに関して定義され得る。例えば、データセンターはそれ自体のオブジェクトタイプを有し得る、または、サーバラックはそれ自体のオブジェクトタイプを有し得る。一部の実施形態では、オントロジは、様々なオブジェクト間の階層的関係または包含関係を定義し得る。例えば、いくつかのプロセスは、所与のホストで起動し得る、ひいては、ホスト内に含有され得、アプリケーションのマスタープロセスは、マスターの子プロセスとして設計され得る様々な他のプロセスをスポーンし得る等が行われる。オントロジの様々なエンティティ間の関係は、少なくとも一部の実施態様では、オブジェクト指向様式で定義され得る。
【００２９】
合体及び監督構成記録
図３は、少なくとも一部の実施形態による、監督属性値リストを作り出すために、複数のデータソースからの未加工構成情報を各々の信頼スコアと合体する例を示す。示される実施形態では、複数の未加工構成データセット３２０（所与の構成アイテムに関連するデータセット３２０Ａ、３２０Ｂ、及び３２０Ｋを含む）は、各々のデータソース３１０（例えば、データソース３１０Ａ、３１０Ｂ、及び３１０Ｋ）によって発見サービスに伝達される。各未加工構成データセット３２０は、各々の属性値リスト３２５を含む。所与のホストに関して、例えば、属性及びその対応する値は、「名前：ホスト１００」、「ＩＰアドレス：ａ．ｂ．ｃ．ｄ」、「オペレーティングシステム：＜ＯＳバージョン＞」等を含み得る。少なくとも一部の実施形態では、属性値は、必ずしも、単一の構成アイテムに対応しない場合がある。例えば、１つ以上の構成データソースは、複数の構成アイテムについて報告し得る。異なるデータセット３２０は、異なるレベルの粒度を表し得る。例えば、一方のデータセットは発行または受信されるデータベーストランザクションの数等のアプリケーションレベル情報を含み得る一方、別のデータセットは伝達または受信されるネットワークパケットの数等の下位レベルの詳細を含み得る。２つの異なるデータソースによって送信される未加工構成データの一部は、異なる時間に対応し得る。例えば、データセット３２０Ａは、データセット３２０Ｋと異なる時間で集められている場合がある。いくつかの場合、所与の構成アイテムに関連する２つ以上の属性値は相互に矛盾し得る。例えば、当該属性は、一方のデータセットが、一方のホストＨ１におけるプロセス識別子ＰＩＤ１を伴う特定のプロセスが異なるホストと通信することを担当したことを示す一方、別のデータセットが、別のプロセス識別子ＰＩＤ２を伴うプロセスが係る通信を担当したことを示す場合であり得る。一部の実施形態では、構成データソースの少なくとも一部は、それらがデータを発見サービスに提供する構成アイテムに関する各々の識別子を生成し、データセット３２０にこれらの識別子を含み得る。係る識別子は、それを発見サービスによって生成される識別子と区別するために、「データソース側識別子」と称され得る。２つのデータソースは、時々、特徴のあるデータソース側識別子を使用する同じ基本構成アイテムを指す場合がある。例えば、１つのデータソースは、名前でホストを指す場合があり（例えば、「ホストＫ．＜ドメイン名＞」）、別のデータソースは、ＩＰアドレスによって同じホストと、機能によって別のホストとを指す場合がある（例えば、「データベースサーバＤＢＳ１」）。
【００３０】
構成発見サービスの合体／曖昧性除去構成要素３６０は、示される実施形態では、全ての未加工構成データセット３２０を検査及び処理し、１つ以上の構成アイテム（その未加工データがデータセット３２０に含まれる）に対応する各々の合体構成記録３５０を更新（または作成）し得る。２つの異なるソースから２つの未加工構成データセットを合体するために使用され得るアルゴリズムは、一実施形態では、以下のステップの少なくとも一部を備え得る。最初に、データセットのそれぞれが同じ種類の構成アイテム（図２のオントロジ２０２のオブジェクトタイプとして定義されるホスト、プロセス、仮想マシン等）に関連する属性値を含むかどうかについての判定が行われ得る。それを行うために、一部の実施形態では、属性名は、発見サービスのオントロジにおいて、様々な構成アイテムに関して定義される属性リスト（例えば、図２の属性リスト２０５）と比較され得る。属性リストは、いくつかの場合、同義語を示し得る。例えば、同じ属性名は、一方のデータソースによって名前「属性名１」及び別のデータソースによって名前「属性名２」を用いて識別される。両方のデータセットが同じ構成アイテム種類に関連する少なくとも一部の属性値を含有していることが判定される場合、それらの＜属性：値＞ペアは、相関関係、一致、または重複に関して検査され得る。例えば、両方のデータセットが（ａ）ホストにおけるＣＰＵ利用が特定の時間間隔の間に約７５％であったことと、（ｂ）２５００ＵＤＰパケットが当該ホストからある時間間隔の間に送信されたことを示す場合、これは、異なるデータソース側識別子が同じホストに使用される場合でさえも、データセットが同じホストを指すことを指示するものとして解釈される場合がある。係る一致が（ある最小の信頼レベルで）検出される場合、ホストに関する単一の合体記録を作成する決定が行われ得る。そうでなければ、２つのデータセットは、２つの異なるホストを指すものと思われ得、別個の合体記録が生成され得る。単一の合体記録の中で、１つまたは両方のデータセットから取られた＜属性：値＞ペアの一部のサブセットが組み込まれられ得る。例えば、冗長／重複属性値が破棄され得、いくつかの属性値は合体記録に含まれない場合があり得、この理由として、それらが含有する情報が、含まれる他の属性値から推論されるためであり、または、同じデータに関するより正確なデータソースが既知であるためである。データセットに含まれるデータの種類に応じて、いくつかの場合、既存の合体構成記録の１つ以上の要素または属性値は、新しい合体構成記録を生成する代わりに、更新され得る（または、新しい属性が既存の合体構成記録に追加される）。
【００３１】
合体構成記録３５０は、多くの場合、任意の単一の未加工構成データセット３２０から可能であるだろうものよりも構成アイテムのより完全な特性化をもたらし得る。合体構成記録３５０は、構成アイテムに関する一意のサービス側識別子３５２を含み得、一意のサービス側識別子３５２は、示される実施形態では、未加工データセット３２０に示される各々のデータソース側識別子と異なり得、構成発見サービスのオントロジ及び／または未加工構成データセットの要素に少なくとも部分的に基づいて生成され得る。少なくとも一部の実施形態では、合体構成記録３５０は、構成アイテムに関連する全ての属性値リスト３２５の共用体を必ずしも含まない場合がある監督属性値リスト３５４を含み得る。その代わりに、例えば、合体／曖昧性除去構成要素は、いくつかの属性値を１つ以上のデータソースから破棄し得る、この理由として、値が古いためである（例えば、値が他のソースから取得される同じ基本属性に関するより新しい値に取って代わる、または単に、値が集められた時間と値が処理されている時間との間の差が閾値を超えるためである）。一部の実施形態では、異なるデータソースの各々の信頼スコア３１５（例えば、スコア３１５Ａ〜３１５Ｋ）は、また、または代わりに、所与の属性値が合体構成記録に含まれるかどうかを判定するために使用され得る。信頼スコアは、特に、２つの異なるデータソースが同じ属性に対応する未加工データを提供するときに有用であり得る。係るシナリオでは、より高い信頼スコアで当該ソースによって提供される属性値が優先され得る。各未加工データセット３２０が、当該データが集められたときを示す関連タイムスタンプを有する一部の実施形態では、タイムスタンプ及び信頼スコアの両方を考慮する式（実質的に、時間加重信頼スコアをもたらす）は、どの属性が監督属性値リスト３５４内に含まれるべきかを選択するために使用され得る。
【００３２】
一部の実施形態では、未加工データセット３２０内の所与の１つのアイテムまたは複数のアイテムが関連する構成アイテムが不明である場合及びそのとき、構成発見サービスの合体／曖昧性除去構成要素３６０は、パターンマッチングアプローチを利用して構成アイテムを識別し得る。例えば、未加工データセット３２０Ｂ及び３２０Ｋの両方が、いくつかの構成アイテムに関する所与の時間間隔にわたる、おおよそのアウトバウンドネットワークトラフィックについて報告し、データセット３２０Ｂが構成アイテムのホスト名を含むが、データセット３２０Ｋはそれを含まない単純なシナリオを考慮されたい。この平凡な例示的シナリオでは、合体／曖昧性除去構成要素３６０は、同様の期間に他のデータセットの属性値に一致するデータセット３２０Ｋに含有される属性値を見つけることを試み得る。アウトバウンドネットワークトラフィックレートが、データセット３２０Ｋと３２０Ｂとの間で、精度または正確性のある程度の閾値レベルに一致する場合、２つのデータセット（いずれかの矛盾している証拠が不足している）が、同じ基本構成アイテムを指すことが想定され得る。
【００３３】
前述に言及されたように、種々のプログラムインターフェースは、様々な実施形態では、構成発見サービスにおいて使用され得る。図４は、少なくとも一部の実施形態による、構成発見サービスにおいて実装され得るアプリケーションプログラミングインターフェースの例を示す。構成データ獲得インターフェース（未加工構成データセットを当該サービスに提供するために使用される）の４つの例が示され、構成データ消費インターフェース（当該サービスに向けられたクエリに対する応答を取得するために使用される）の一例が示される。
【００３４】
少なくとも１つの実施形態では、構成発見サービス４６０は、大量のインポート／エクスポートアプリケーションプログラミングインターフェース（ＡＰＩ）４１５Ａを提供し得、ＡＰＩ４１５Ａは、例えば、クライアントの構成管理データベース４１０から当該サービスに大量の情報を伝送するために使用され得る。少なくとも一部の実施形態では、当該サービスは、（例えば、ダウンロードにより）構成データが取得される様々な物理または仮想デバイスにインストールされ得るいくつかの異なるソフトウェアエージェント４１２を提供し得る。係るエージェントは、エージェントＡＰＩ４１５Ｂを使用し、当該サービスと通信し得る。様々な実施形態では、エージェント４１２の少なくとも一部は、特定のイベントに関するデータを集め得（例えば、Ｘ秒毎に１回、ＣＰＵ利用収集イベントがサーバでスケジュールされ得る）、結果として、エージェントのＡＰＩ４１５Ｂを介して１回に伝達されるデータ量は、エクスポート／インポートＡＰＩ４１５Ａにわたって伝送されるデータ量と比較して、比較的小さい場合がある。
【００３５】
一部の実施形態では、構成発見サービスは、未加工構成データを種々の構成ツール４１４から受け得、構成ツール４１４は、例えば、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、ウィンドウズ（登録商標）管理測定器（ＷＭＩ）、またはＷＢＥＭ（ウェブベース企業管理）を含む。ツール特異的ＡＰＩ４１５Ｃは、係るツールと構成発見サービスとの間で相互作用するように実装され得る。市販のレポーティングＡＰＩ４１５Ｄはまた、一部の実施形態で展開及び配備され得るカスタムデータソース４１６のために実装され得る（すなわち、エージェント自体ではないデータソースが、第３者の構成ツールと関連付けられなく、クライアント構成管理データベースと連携しない）。
【００３６】
いくつかの異なるクエリＡＰＩ４１６は、発見サービスの合体構成情報を消費するエンティティのために実装され得る。係るエンティティは、移行マーケットプレイスサービスまたは移行計画サービスを含む可視化サービス及び／または１つ以上の移行関連サービス等のプロバイダネットワークの他のサービスと、移行関連サービスが起動するプロバイダネットワークの顧客とを含み得る。いくつかのクエリＡＰＩ４１６は、構造化クエリ言語（ＳＱＬ）等の既知のクエリ言語の変形を利用し得る。一実施形態では、ＯｐｅｎＴＳＤＢによってサポートされる言語等の時系列指向クエリ言語は、時間構成関連クエリに利用され得る。
【００３７】
パターンベースのグループ分け及び役割の割り当て
図５は、少なくとも一部の実施形態による、構成アイテムが果たす役割を自動的に検出する発見サービスにおいて使用され得るアプリケーションアーキテクチャパターンの例を示す。様々な実施形態では、当該サービスは、構成アイテムをグループ化するために使用されるアプリケーション、ソフトウェア、及び／またはハードウェア構成パターンで検索するためのクエリをサポートし得る。示される実施形態では、構成発見サービスの構成アイテムグループ記述子データベース５９０は、５１０Ａまたは５１０Ｂ等のいくつかのグループ記述子５１０を含み得る。各グループ記述子５１０は、「３階層ウェブアプリケーション」または「段階的分割連結アプリケーション」等の各々のパターン名５７７（例えば、５７７Ａまたは５７７Ｂ）と、アプリケーション、またはアプリケーションの関連セットをまとめて実装する様々なエンティティ間の関係の表現とを含み得る。
【００３８】
各エンティティは、アプリケーションパターン内の特定の論理的役割を果たし得、異なる役割が割り当てられたエンティティによって示されることが予期される通信挙動は、グループ記述子５１０で示され得る。例えば、グループ記述子５１０Ａは、４つの役割（ロードバランサ（ＬＢ）役割５１１、ウェブサーバ役割５１２、アプリケーションサーバ（Ａｐｐｓｅｒｖｅｒ）役割５１３、及びデータベースサーバ（ＤＢｓｅｒｖｅｒ）役割５１４）を定義する。５１１Ａ〜５１１Ｃ等の１つ以上のロードバランサは、記述子５１０Ａに対応する構成アイテムのグループのインスタンスにおける５１２Ａ〜５１２Ｎ等の１つ以上のウェブサーバと、ネットワークトラフィックを介して相互作用し得る。ウェブサーバ５１２のそれぞれは、また、１つ以上のアプリケーションサーバ５１３（例えば、５１３Ａ〜５１３Ｋ）と相互作用し得、同様に、各アプリケーションサーバは、また、５１４Ａ〜５１４Ｊ等の１つ以上のバックエンドデータベースサーバと相互作用し得る。グループ記述子５１０Ｂでは、当該役割は、タスクをサブタスクに細かく分割することを担当するタスクスプリッタ５５１と、サブタスクを実行することを担当する段階１のワーカー５５２と、段階１のタスクの結果を集め、段階２の分析に関する結果を区分化することを担当する段階１の結果連結部５５３と、区分化された結果を分析することを担当する段階２のワーカー５５４と、段階２の分析の結果を収集する最終結果連結部５５５とを含み得る。少なくとも一部の役割に対応する構成アイテムの特定の数は、一方のグループインスタンスから別のものまで異なり得る。例えば、単一のタスクスプリッタ、段階１の結果連結部、及び最終結果連結部が、記述子５１０Ｂに対応する構成アイテムグループ内でインスタンス化され得るが、段階１のワーカーまたは段階２のワーカーとして構成される構成アイテムの数は、記述子の一実施例から別のものまで変わり得る。
【００３９】
一部の実施形態では、発見サービスのクライアントは、記述子５１０の表現を当該サービスにプログラムインターフェースを介して提出し得、当該サービスは、記述子に示されるパターンを示す構成アイテムの対応する例を識別し得る。所与の記述子５１０は、分散アプリケーションの様々な態様の指示を含み得、その指示として、アプリケーションに関連付けられる構成アイテムの予期される相互接続トポロジ、アプリケーションに関連付けられる予期されるアイテム名リスト（例えば、プロセス名またはパス）、及び／またはアプリケーションに関連付けられる構成アイテムのペアの間の予期される通信パターン（例えば、要求応答挙動または初期化／終了ハンドシェイク手順の特定の種類を表すパケットの交換）が挙げられる。当該サービスは、様々な構成アイテムの観測挙動を記述子要素に一致させ、構成アイテムが果たす役割を判定することを試み得る。例えば、図５に示される実施形態では、様々なデータソースから集められた構成データを使用して、当該サービスは、合体構成記録５８０Ａによって表される一意のサービス側識別子５８２Ａが、アイテムグループＩＤ５８６Ａによって識別されるグループテンプレートの１つの特定のインスタンス（例えば、４階層ウェブアプリケーションのインスタンス１）内のアイテムグループ役割ＩＤ５８８Ａによって示される役割（例えば、ウェブサーバの役割）を果たしている。合体構成記録５８０Ｂによって表されるアイテム等の他の構成アイテムは、必ずしも、任意の所与のパターンまたはグループ記述子に関連付けられる役割を果たさない場合がある。係る構成アイテムに関するフィードアイテムグループ役割ＩＤ及びアイテムグループＩＤは、示される実施形態では、無効にするように設定され得る。アイテムグループ役割ＩＤ及びアイテムグループＩＤに使用されるラベルは、一部の実施形態では、同じ役割を果たす、または同じ挙動パターンを示す複数の構成アイテムを指す「タグ」として使用され得る。係るタグは、発見サービスのクライアントによって要求される様々な動作に関するオペランドを識別するために使用され得る。例えば、クエリ「タグ「ウェブサーバ」を伴うデータセンターＤＣ１内の全ての構成アイテムをリスト化する」またはコマンド「データセンターＤＣ２への、タグ「ＤＢサーバ」を伴うデータセンターＤＣ１内の構成アイテムの自動移行を開始する」の論理的等価物が、クライアントによって発行され得る。クライアントは、一部の実施形態では、様々な構成アイテムに関するタグを指定し得、係るタグは、次により大きいパターンまたはグループ記述子を識別するために、発見サービスによって使用され得る。一実施形態では、発見サービスの一方の顧客によって示されるパターン及び／またはタグは、他の顧客の構成アイテムの中から役割をグループ分けし及び割り当てるために、発見サービスによって（例えば、パターン／タグを提供した顧客の許可を用いて）使用され得る。
【００４０】
難読化ネットワークトラフィックソースの自動検出
多くのアプリケーションでは、ネットワークアドレス変換（ＮＡＴ）デバイス、ポート変換デバイス等のネットワーク中継部は、時々、所与のパケットの真のソースがそれらのパケットの宛先に関連付けられる構成データソースに対して即座に検出可能ではないような方法で、ネットワークパケットを修正し得る。図６は、少なくとも一部の実施形態による、構成発見サービスにおいてネットワークパケットに関するソース識別情報検出アルゴリズムの使用を示す。係るソース識別情報検出アルゴリズムはまた、本明細書では、「ソースエンドポイント検出アルゴリズム」と称され得る。示されるように、トラフィックソースエンドポイント６１０（構成アイテム等の発見サービスで表現可能であり得る）からのパケットセット６２２は、表示される実施形態では、１つ以上のアドレス難読化中継部６１２を介して、トラフィック宛先エンドポイント６２８に送信され得る。アドレス難読化中継部は、また、逆方向（例えば、エンドポイント６２８からエンドポイント６１０に）のトラフィックに使用され得る。宛先及びソースエンドポイントの両方は、構成データを発見サービスに伝達することを担当するそれらに関連付けられる１つ以上の構成データソースを有し得る。しかしながら、中継部または複数の中継部６１２によって行われる難読化動作（例えば、パケットヘッダ変更、エンベロープパケット内のカプセル化等）のため、受信パケットセット６２３（送信パケットセット６２２に対応する）の送信者の識別情報は、宛先エンドポイント６２８と連携するデータソース（複数可）に対して不明であり得る。顧客の観点から（その代わりに、発見サービスがエンドポイント６１０及び６２８で使用される）、または、１つまたは両方のエンドポイントに関連する構成情報を取得する別のサービス（例えば、移行関連サービス）の観点から、送信者の識別情報を発見することは、重要であり得る。
【００４１】
いくつかの技法のいずれかは、受信されたパケットセット６２３の送信者エンドポイントを識別するために発見サービスによって採用され得る。少なくとも１つの実施形態では、コマンドが当該サービスから発行されることができる各々のデータソースが２つのエンドポイントで起動し、特別なパケットシーケンス６５５は、エンドポイント検出アルゴリズムの一部として、難読化中継部または複数の中継部６１２を介して、エンドポイント６２８からエンドポイント６１０まで発行され得る。例えば、別々に正確にＮミリ秒の間隔があるＮ「余分」なパケット（正常なアプリケーショントラフィックの一部ではない）は、エンドポイント６２８に関連付けられるデータソースによってパケットシーケンス６５５で発行され得、エンドポイント６１０を含む様々な他のエンドポイントにおけるデータソースは、実質的に、係る正確な間隔のあるパケットに関する着信トラフィックを監視し得る。エンドポイント間の経路に沿ってネットワーク障害または問題がないことを仮定すると、エンドポイント６１０におけるデータソースが、受信された余分パケットの到着時間間隔を、エンドポイント６２８におけるデータソースの伝達時間間隔と一致させることが可能であり得、それによって、かなり高い確率でパケットセット６２３の送信者の識別情報を確証する。一部の実施形態では、様々なパケットのＩＰアドレス及び／またはポートは中継部６１２で難読化され得、パケットのシーケンス番号は修正されない場合があり、パケットのシーケンス番号は、エンドポイント検出アルゴリズムでは、パケットのソースを識別するために受信者及び送信者のデータソースにおける一致に関して分析され得る。一実施形態では、接続解除要求がすぐ後に続く一連の接続確立要求は、エンドポイント６２８からエンドポイント６１０まで発行され得、管理要求の係る異常パターンは、エンドポイント検出アルゴリズムにおいてパケットソースを識別するために使用され得る。一実施形態では、エンドポイント６２８で起動するサービスエージェント等のデータソースは、サービス側の一意のサービス側識別子に関する要求を、エンドポイント６１０で起動するデータソース（別のサービスエージェント等）に発行し得、一意のサービス側識別子は、送信者を識別するために使用され得る。送信者を検出するために採用される特定のエンドポイント検出アルゴリズムに関わらず、送信者の識別情報を示す合体構成記録は、送信者が識別された後、様々な実施形態で更新され得る。
【００４２】
関連スコア
図７は、少なくとも一部の実施形態による、関連スコアを構成アイテムに割り当てる構成発見サービスにおいて使用され得る例示的因子を示す。関連スコアは、構成アイテムに向けられるクエリに対する少なくとも最初の応答を判定するために使用され得る。例えば、「ホストＨ１で起動するプロセスをリスト化する」等の一般的クエリに対する応答は、閾値を上回る関連スコアが割り当てられているプロセスを含み得、それによって、応答の合計サイズを小さくし、ノイズが多い応答または情報が不足した応答を回避する。図７に示される特定の例示的因子がプロセスに適用するが、同様に、様々な実施形態では、他の種類の構成アイテムに関して、同様のアプローチをとり得る。
【００４３】
所与の物理または仮想算出サーバは、数百のプロセスを含み得、当該プロセスは、一般的に、多くのリソースを消費しなく、バックグラウンドタスクを行うまたは異常な状況に応答するために（例えば、オペレーティングシステムレベルまたはカーネルレベルで）使用される多くの低レベルプロセスまたはバックグラウンドのプロセスを含む。多くの係るプロセスは、所与のバージョンのオペレーティングシステムの全てのインスタンスに存在し得る。例えば、５０のリナックス（登録商標）サーバを含む実行環境では、デーモンプロセスの同様のセットは、全ての５０サーバで実行し得る。構成サービスのデータの少なくとも一部の消費者は、アプリケーション特有であり、ひいては、必ずしもデフォルト設定でサーバ毎の処理リスト内で現れないプロセスにより関心があり得る。したがって、構成サービスは、その関連スコア割り当てアルゴリズム７１０において、異なるホストまたはサーバにおける所与の周波数の繰り返し周波数７１２を考慮し得、全てのホストで（または、ほとんど全てのホストで）実行するそれらのプロセスは、より低い関連性が割り当てられる。最新のＣＰＵ使用７１４、ネットワークポート使用量７１６等のプロセスのリソース使用レベル（例えば、当該プロセスが１つ以上のネットワークポートを介してトラフィックを伝達または受信しているかどうかのレベル）及び／または入出力デバイス使用量７１８はそれぞれ、示される実施形態では、関連スコアと正の相関があり得る。例えば、かなり低レベルのリソースを消費する傾向があり、及び／またはネットワークから切断されているそれらのプロセスは、関連性が低いと見なされる場合がある。少なくとも一部の実施形態では、構成発見サービスは、（例えば、所与のクライアント、クライアントの群、または全てのクライアント／顧客のいずれかから）特別に、所与の種類のプロセスを標的化するいくつかのクエリ（例えば、「ｈｔｔｐｄ」と名付けられたプロセスに向けられたクエリ）の追跡を継続し得る。クエリ履歴測定基準７２４は、また、プロセスの関連性を判定するために使用され得る。例えば、Ｘ日前以内に名前または役割によって特別にプロセスに向けられたクエリが存在している場合、高い関連スコアは当該プロセスに割り当てられ得る。
【００４４】
示される実施形態では、アルゴリズム７１０によって生成される関連スコアは、プロセスを少なくとも２つのカテゴリに分類またはランク付けするために使用され得、示される実施形態では、選択された閾値よりも高いスコアを伴う「より関心のある」プロセス７３０と、閾値以下または閾値と同等のスコアを伴う「関心の少ない」プロセス７３２とが挙げられる。所与のプロセス関連クエリが、全てのプロセスがそれに応答することにおいて含まれるべきであることを規定していない場合、または特別に、「関心の少ない」プロセスとして分類されることが発生する特定のクエリについての情報を要求しない場合、より関心のあるプロセスのリストは、示される実施形態では、クエリ応答を準備するために使用され得る。同様の発見的解決アプローチは、少なくとも一部の実施形態では、他の種類の構成アイテムに関するクエリに対する応答を除去または短くするために使用され得る。様々な実施形態では、図１に示されるスコアリング構成要素１１２は、機械学習法を利用して、関連スコア、信頼スコア等を生成し得る。
【００４５】
構成クエリパフォーマンスの改善
発見サービスの多くの顧客は、大きなアプリケーション実行環境を有し得、潜在的に、いくつかのデータセンター間で分散される数千の構成アイテムを備え得る。アプリケーション構成要素の構成に対する最新の変更及び／またはアプリケーション構成のパフォーマンスまたは挙動の最新の傾向は、多くの場合、より古い構成データよりも係る顧客により関心があり得る。経時的に、所与のアプリケーション実行環境に関して発見サービスで集められ及び記憶される構成データの合計量は、極めて大きくなり得、潜在的に、特にいくつかの従来のデータモデルが最適化されない場合がある時間クエリに対してクエリ応答性を遅くする。図８は、少なくとも一部の実施形態による、時間クエリに対する反応性を改善する構成発見サービスにおいて採用され得る技法の概要を示す。
【００４６】
データソース８０２によって取得される未加工構成データセット８７１は、タイムスタンプが付された合体構成記録８７２を生成または更新するために、発見サービスの合体構成要素８０４で使用され得、合体構成記録８７２のそれぞれは、前述に考察されたような構成アイテムの１つ以上の一意のサービス側識別子と関連付けられる。合体構成記録８７２は、示される実施形態では、持続的発見サービスリポジトリ８１０のセットの一部を形成する自動スケーリング区分化データストア８２０で記憶され得る。各パーティションは、一実施態様では、Ｍギガバイト等の選択された最大量の構成記録データを含み得、発見サービスの各クライアントは最初に１つのパーティションに割り当てられる。クライアントの構成データがクライアントの既存のパーティション（複数可）の最大パーティションサイズに近づくにつれて及びそのとき、リソースの関連セットを伴う新しいパーティション（例えば、割り付けられたストレージスペース及び／または算出能力）は、クライアントのために自動的に生成され得、一部の実施態様では、クライアントのデータの一部のサブセットは、負荷バランシングのための新しいパーティションに移動し得る。一部の実施形態では、プロバイダネットワークによって実施されるデータベースサービス及び／またはストレージサービスは、持続的リポジトリ８１０に使用され得る。持続的リポジトリはまた、一部の実施形態では、事前に生成されたクエリ結果のために随意式ストア８２２を含み得る。持続的リポジトリ８１０は、記録読み出しのための平均待ち時間Ｌ１をもたらし得る。
【００４７】
図８に示される実施形態では、少なくとも一部の構成記録は、矢印８７５によって示されるように、ある予期される種類のクエリに関して最適化される低遅延リポジトリ８５０に先に事前ロードされ得る。当該記録はそれぞれ、様々な実施形態では、作成及び／または最新の修正タイムスタンプを含み得る。当該記録は新しい順にロードされ得、例えば、少なくとも一部の実施形態では、最優先事項は事前ロードされたより最新に更新された（または、より最新に作成された）記録に割り当てられる。リポジトリ８５０から記録にアクセスする平均待ち時間Ｌ２は、リポジトリ８１０への記録アクセスの待ち時間Ｌ１よりも短い場合がある。少なくとも一部の実施態様では、リポジトリ８５０は、最新の構成データに主に向けられた時間クエリまたは時系列クエリを含む、クライアントクエリを扱うために指定される発見サービスの様々なコンピューティングデバイスにおいて、揮発性メモリの一部を備え得る。リポジトリ８５０における構成データキャッシュ８５２は、一部の実施形態では、ＯｐｅｎＴＳＤＢで使用されるデータモデル等の時間クエリ（例えば、「サーバＳ１及びＳ２において、最後に発生する構成変更をリスト化する」の論理的等価物）に対して特別に標的化されるデータモデルを実装し得る。少なくとも一部の実施形態では、キャッシュ８５２に利用可能である最大スペースは、持続的記録リポジトリで利用可能であるスペースよりも小さい場合があり、結果として、より古いキャッシュエンティティ８９２は、必要に応じて、新しいエンティティに場所を作るために破棄され得る。少なくとも一部の実施形態では、いくつかのクエリの結果は、随意に、クエリ結果ストア８２２に記憶され得、必要に応じて、矢印８７７によって示されるように再利用され得る。
【００４８】
一部の実施形態では、図８に示されるものを超えるストレージの追加層が使用され得る。例えば、コールドストレージのバックエンド層は、閾値経過時間（１カ月または６カ月等）に達している構成データに使用され得る。係るコールドストレージ層は、主要持続的データリポジトリよりも少ないコストであり得る（いくつかの場合、当該データに関するより空間効率の良い形式を使用する）。しかしながら、コールドストレージから記録を読み出す待ち時間は、より長くなり得る。少なくとも一部の実施形態では、スナップショットベースのプログラムインターフェースのセット（または、他の時間指向のプログラムインターフェース）は、構成発見サービスによって実施され、特定タイムスタンプまたは期間に対応する構成記録を使用されるストレージの異なる層のいずれかから読み出すことを可能にし得る。一実施形態では、異なる時点に関するクライアントの構成データの各々のスナップショットは、少なくとも一部の時間ベース構成クエリに対する急速な応答を可能にし得る発見サービスによる特徴のあるオブジェクトとして自動的に、または要求に応じて、作成または記憶され得る。様々な時点に対応するスナップショットは、他の層から、様々な実施形態では、キャッシュ８５２に要求に応じて（または、要求を予想して）ロードされ得る。一実施形態では、スナップショットベースＡＰＩは、クライアントが、２つのスナップショット構成が、比較が有用になるように十分に同様であるかどうかを判定することが可能であり得、そのような場合、係る比較の結果（構成スナップショットレベルで「ｄｉｆｆ」コマンドの結果に対する概念上同様であるもの）を提供することを可能にし得る。
【００４９】
構成発見サービスをサポートするための方法
図９は、少なくとも一部の実施形態による、構成発見サービスで行われ得る動作の態様を示すフロー図である。要素９０１に示されるように、クライアントの１つ以上のアプリケーション実行環境から構成情報の自動発見が発見サービスで開始されたことの判定を行い得る。実行環境は、１つ以上のプロバイダネットワークにおいて（例えば、発見サービス自体が実施される同じプロバイダネットワークの仮想コンピューティングサービス及び／またはストレージサービスにおいて、ならびに他のプロバイダネットワークにおいて）、及び／または顧客所有施設または顧客管理施設において、リソースを含み得る。例えば、発見サービスのプログラムインターフェースを介して顧客から受信される要求に応答して、自動発見が開始される判定を行い得る。例えば、当該サービスは、サービスのエージェントに自動発見を開始させることができるＳｔａｒｔｄａｔａｃｏｌｌｅｃｔｉｏｎＡＰＩを露出し得る。例えば、エージェントは、状態変更に関してＡＰＩをポーリングするように構成可能である。発見サービスが、データ収集を開始するためにデータベースの状態を変化させるとき、エージェントは、この状態更新を受信し、データ収集を始めることができる。
【００５０】
構成データソースの最初のセットが、例えば、発見サービスエージェントによって識別され得、ネットワーク接続性は、（例えば、エージェントを介して）発見サービスとデータソースとの間で確立され得る（要素９０４）。例えば、クライアントの既存の構成管理データベース、第３者構成管理ツール及び／またはパフォーマンス管理ツール、及び／またはクライアントに特別に生成されるカスタムデータを含む種々のデータソースを使用し得る。当該サービスは、大量のエクスポート／インポートインターフェース、イベント駆動型構成更新に関するインターフェース等を含む、データソースの異なるカテゴリから未加工構成データセットを受信するためにプログラムインターフェースを実装し得る。エージェントは、データをプログラムインターフェースに送信するように構成可能である。例えば、エージェントは、プログラムインターフェースに関するエンドポイント（複数可）を識別する情報でプログラムされることができる。
【００５１】
当該サービスは、データソースから未加工構成データセットを集めることを開始し得る（要素９０７）。各データセットは、関連構成アイテムに関する属性値の一部のセット及びいくつかの識別情報（例えば、データソースによって取得される識別子）を含み得る。一意のサービス側識別子は、例えば、データソース側識別子、属性値、及び／または発見サービスで定義されるオントロジの要素を組み合わせるネーミングスキームに基づいて、示される実施形態では、様々な構成アイテムのために作成され得る（要素９１０）。構成アイテムが異なる目的のために物理的に移動され、再配備される等が行われる場合でさえも、サービス側識別子は、データソース提供識別子の少なくとも一部と異なり得、一部の実施形態では、そのライフサイクル間にサーバ等の構成アイテムを一意に識別するために使用され得る。一部の実施形態では、特定の構成アイテムに適用される構成変更の程度に応じて、発見サービスは、経時的に、一意のサービス側識別子を修正し得る。サービス側識別子を変更するための閾値条件は、構成アイテムの１つのカテゴリから別のものまで異なり得る。一例示的シナリオでは、例えば、メモリまたはディスクスペースがホストに追加される場合、ホストのサービス側の一意の識別子は変更しないが、ＣＰＵまたはマザーボードを交換する場合、一意の識別子は変更され得る。
【００５２】
異なる粒度で、異なる時間で、または異なるツールを使用して、同じ基本エンティティについての構成詳細を含み得る種々のデータソースから得られた未加工構成データセットは、示される実施形態では、発見サービスにおいて合計され得る（要素９１３）。未加工データセットは、一部の実施形態では、共通識別子を使用して、構成アイテムを識別しない場合があり（例えば、異なるデータソース側識別子は、各々の未加工構成データセットの同じ構成アイテムに提供され得る）、当該サービスは、異なるソースから受信される様々な属性値間の相関関係または一致を利用して、２つの異なるデータセットの構成データが実際に同じアイテムを指していることを判定し得る。合体構成記録は、発見サービスの１つ以上の持続的リポジトリで生成及び記憶され得る。
【００５３】
少なくとも一部の実施形態では、各々の信頼スコアは、異なるデータソースに関連付けられ得、係る信頼スコアは、報告された構成データ間の矛盾をなくすために、及び／または随意に、低信頼性ソースから受信された一部の属性値を破棄するために使用され得る（要素９１６）。したがって、合体監督構成記録は、未加工構成データセットに示される属性値のいくつかのサブセットを除外し得る。いくつかの属性値は、信頼スコアに起因して除外されることに加えて、またはその代わりに、陳腐化に起因して（例えば、値が集められてから経過している時間が当該サービスで選択された閾値を超えるため）、除外され得る。信頼スコア自体は、例えば、機械学習法及び／またはクライアントフィードバックを使用して、経時的に調整され得る。
【００５４】
様々な実施形態では、発見サービスは、アプリケーションパターンに従って、構成アイテムをグループ分けするために記述子を維持し得る。構成アイテムの挙動及び／または通信パターンが係る記述子の示される挙動またはパターンに一致する場合、当該サービスは、構成アイテムの構成記録を対応する役割識別子に自動的にタグ付けし得る（要素９１９）。例えば、当該サービスで集められた構成データ（例えば、ネットワークパケットフローのパターン）は、当該サービスが、サーバが果たす役割のクライアントによって知らされることなく、特定のサーバが複数階層ウェブアプリケーションパターンのウェブサーバであることと、別のサーバが当該パターンのアプリケーションサーバであること等とを認識することが十分であり得る。
【００５５】
一部の実施形態では、合体及び監督構成記録の少なくとも一部は、元の持続的リポジトリから事前ロードされ得、持続的リポジトリでは、当該記録は、予期された種類のクエリに適するデータモデルが実装される低遅延リポジトリ内に記憶されていた（要素９２２）。低遅延リポジトリは、一部の実施形態では、時間クエリに対する急速な応答が提供され得るキャッシュ（例えば、揮発性メモリに実装される）を備え得る。データは、一部の実施形態では、（合体記録の最新のタイムスタンプを使用して）新しい順で事前ロードされ得、これにより、より最新の変更または測定基準に向けられた対象のクエリを優先するようにする。合体記録のコンテンツは、発見サービスのプログラムインターフェースを介して受信されるクエリに応答して提供され得る（要素９２５）。
【００５６】
発見された構成情報に関する可視化サービス
図１０は、少なくとも一部の実施形態による、発見サービスで収集された構成記録に関する可視化サービスが実装され得る例示的システム環境を示す。示されるように、システム１０００は、プロバイダネットワーク１００２Ａ及び１００２Ｂと、顧客施設ネットワーク１０７２とを備える。図１〜図９に関連して上記に説明されたものと同様に、構成発見サービス１００４を含むいくつかのネットワークアクセス可能サービスは、プロバイダネットワーク１００２Ａで実施され得る。示される実施形態では、可視化サービス１００６は、例えば、発見サービス１００４に記憶される構成データのカスタムのグラフィカル表現を提供するために、構成発見サービス１００４の構成要素として実装され得る。他の実施形態では、可視化サービス１００６は、構成記録を発見サービス１００４から取得する独立型サービスとして実装され得る。
【００５７】
システム１０００は、示される実施形態では、プロバイダネットワーク１００２Ａの構成アイテム１０３６Ａ〜１０３６Ｃと、プロバイダネットワーク１００２Ｂの構成アイテム１０３６Ｆ〜１０３６Ｈと、顧客施設ネットワーク１０７２の構成アイテム１０３６Ｌ〜１０３６Ｎとを含む、多数の構成アイテム１０３６を備える。構成アイテムに関連付けられる未加工構成データセット（例えば、属性値のセット）は、プロバイダネットワーク１００２Ａのデータソース１０３４Ａ及び１０３４Ｂ、プロバイダネットワーク１００２Ｂのデータソース１０３４Ｋ、及び顧客施設ネットワーク１０７２のデータソース１０３４Ｍ等の様々な構成データソース（ＣＤＳｒｃｓ）１０３４で取得され得る。未加工構成データセットは、構成発見サービス１００４に伝達され得、合体構成記録は、前述のような、及び１つ以上のリポジトリ内に記憶された未加工データから収集され得る。
【００５８】
可視化サービス１００６は、示される実施形態では、動的に、複雑なアプリケーション環境の構成の更新されたコンテクスト依存グラフィカル表現をクライアントに提供し得る。所与のクライアントが可視化コンソールを見るとき、またはそうでなければ、クライアントのアプリケーション実行環境のグラフィカル表現が所望される指示を送信するとき、可視化サービスは、発見サービスのプログラムインターフェースを使用して１つ以上のクエリを発行し、構成データが表示されるクライアントに関連付けられる構成アイテムのセットを識別し得る。情報が所与のクライアント側表示環境でクライアントの代わりに可視化される構成アイテム１０３６の群は、本明細書では、「可視化標的環境（ＶＴＥ）」と称され得る。所与のＶＴＥは、異なるネットワークの複数のデータセンター間に分散される構成アイテムを備え得る。例えば、クライアントＣ１のＶＴＥ１０４４Ａは、プロバイダネットワーク１００２Ａの１つ以上のデータセンターの構成アイテム１０３６Ｂ及び１０３６Ｃと、プロバイダネットワーク１００２Ｂの場合、１つ以上のデータセンターの構成アイテム１０３６Ｆ及び１０３６Ｇとを備え得る。クライアントＣ２のＶＴＥ１０４４Ｂは、示される例では、プロバイダネットワーク１００２Ｂの構成アイテム１０３６Ｈと、顧客施設ネットワーク１０７２の構成アイテム１０３６Ｌとを備え得る。
【００５９】
少なくとも一部の実施形態では、可視化サービス１００６は、ＶＴＥのグラフィカル表現が示される表示環境の様々な特性または制約（例えば、表示に利用可能であるスクリーンの種類、表示をレンダリングすることを担当するクライアント側デバイスの算出能力等）を検出することと、適宜、表示されるコンテンツを調整することとが可能であり得る。所与のクライアントは、いくつかの異なる表示環境を利用することが可能であり得る。例えば、クライアントＣ１の表示環境１０８２Ａは複数のモニタを伴うデスクトップを備える一方、クライアントＣ１の別の表示環境１０８２Ｂはタブレットコンピューティングデバイスを備え得る。クライアントＣ２の表示環境１０８２Ｃは、１０８４×７６８画素のスクリーンを伴う１３インチのラップトップを備える。いくつかの場合、複数の表示環境は、同時に単一のクライアントの代わりに使用され得、可視化サービスは、異なるレベルの粒度において、情報を異なる表示環境に伝達し得る。
【００６０】
所与のクライアントのＶＴＥ１０４４の一部として識別されている構成アイテムのセットに少なくとも部分的に基づいて、及び表示環境の制約または特徴に少なくとも部分的に基づいて、可視化サービスは、ＶＴＥが表示される粒度のレベルを選択し得る。可視化サービスとの対話型セッション中、利用可能であるクライアントの構成情報の様々なサブセット（または全て）のいくつかの異なるビューが提供され得、特定の組み合わせまたはシーケンスのビューがセッションに関するクライアントの目標に応じて提供される。例えば、一方のセッション中、クライアントは性能上の問題のトラブルシューティングを行うことを望み得、別のセッション中、クライアントは、一部の期間にわたって、アプリケーションの構成に対する変更を視認することを望み得、第３のセッション中、クライアントは、ネットワークパケットのソースを識別すること等を望み得る。係るセッションまたはワークフローは、それぞれ、各々の一連のグラフィカル表示またはビューを含み得る。「ビューカテゴリ」と称され得る構成データを表示するいくつかの異なるモードは、示される実施形態では、例えば、階層的またはツリー指向ビュー、グラフまたはネットワーク指向ビュー、またはテーブルビュー等の可視化サービスによってサポートされ得る。所与のセッション中に所与の表示のために使用される特定のビューカテゴリは、少なくとも一部の実施形態では、可視化サービスによって自動的に選択され得る。当該セッションは、セッションまたはワークフローの現在の状態に最も関連があると思われる特定の種類の構成データ（例えば、性能測定、ネットワーク接続性情報、構成の経時変化、構成アイテム間の階層／包含関係、クライアントの特定基準に基づく特定の種類の構成アイテムのランキング等）に少なくとも部分的に基づくものであり得る、及び／またはクライアントの目標に関するサービスの予測または予期に少なくとも部分的に基づくものであり得る。クライアントには、所望される場合、ビューカテゴリ選択を無効にする制御要素（例えば、ボタン、ドロップダウンメニュー等）が提供され得る。例えば、クライアントは、テーブルビューから階層ビューに（またはその逆も同様に）変更する要求を発行し得る。動的カスタム構成可視化１０２２（例えば、可視化１０２２Ａ〜１０２２Ｃ）を生成するために使用されることができるデータ及び／または命令（それぞれが使用されるビューカテゴリと一緒に、選択された粒度レベルでＶＴＥの少なくとも一部を表す）は、クライアントの表示環境のデバイスに伝達され得る。したがって、ＶＴＥ構成要素に対応するデータは、クライアントのデバイスで視認するためにレンダリングされ得る。可視化サービスは、少なくとも一部の実施形態では、並行して同じＶＴＥのいくつかの異なる表現の表示を開始し得る。
【００６１】
少なくとも一部の実施形態では、ＶＴＥ１０４４の全てまたは一部のグラフィカル表現の生成を開始することに加えて、可視化サービスは、また、クライアントのために、ダッシュボード内に含まれる最優先の、または高い重要性があるコンテンツを提供し得る。可視化サービスは、例えば、時間ウィンドウの境界を判定し、時間ウィンドウ中に発生した少なくとも一部の構成変更についての情報を、ダッシュボードの「最新の変更」セクションに表示させ得る。ダッシュボードはまた、さらに詳細に下記に説明されるような様々な実施形態では、可視化サービス及び／または発見サービスによって識別される不明瞭性に関してクライアントフィードバックを受信するために使用され得る。ダッシュボードのレイアウト及び提示はまた、少なくとも一部の実施形態では、クライアントの表示環境の制約及び能力に基づいて修正され得る。
【００６２】
新しい構成情報が発見サービス１００４に収集されるにつれて及びそのとき、可視化サービスは、クライアントに提供されるグラフィカル表現を自動的に更新し得る。いくつかの対話式制御は、下記にさらに詳細に検討されるように、時間関数のような構成情報を再生するためのスライダ等の視覚インターフェースでクライアントに利用可能にされ得る。
【００６３】
コンテクストベースのビュー推移
可視化サービスは、様々な実施形態では、構成データを視認するためのクライアントワークフローのステップを予想し、表示されたコンテンツを自動的に調整し、最も有用なビューを提供し得る。図１１は、少なくとも一部の実施形態による、可視化サービスによって自動的に実施され得るビュー間のコンテクストベースの推移の例を示す。３つの例示的ビューのカテゴリ（テーブルビュー１１２０Ａ、ツリーまたは階層ビュー１１２０Ｂ、及びグラフまたはネットワークビュー１１２０Ｃ）が示される。いくつかの場合、それは、ビューカテゴリの一部または全部を使用して、構成アイテム１１０２Ａ〜１１０２Ｆ等の構成アイテムの同じセットについて表示することが可能であり得る。
【００６４】
可視化サービスは、示される実施形態では、様々な要因に基づいて、例えば、クライアントによって次に入力されることが予期される対話的ワークフローの特定のステージに基づいて、表示される構成データの種類、表示のために選択される粒度等に基づいて、使用される特定のビューカテゴリを選択し得る。様々な実施形態では、ビューカテゴリを選択するために使用され得る構成データ種類の例は、とりわけ、性能測定、トランザクションフロー、構成に対する経時変化、アクティブな接続数等のネットワーク接続性インジケータ、制約／階層関係情報、構成アイテムの場所ベースのグループ分け、図５に示されるもののようなアプリケーションパターンの帰属関係等を含み得る。係る自動ワークフローコンテクストベース推移１１０５（例えば、推移１１０５Ａ〜１１０５Ｃ）は、少なくとも一部の実施形態では、クライアントによって無効にされ得る。例えば、使用されるグラフィカルインターフェースのリンクまたは他の制御要素は、表示されるデータに使用されるビューカテゴリの変化を要求するクライアントに提供され得る。
【００６５】
可視化サービスは、少なくとも一部の実施形態では、頻繁に使用されるクライアントワークフローの知識ベースを維持し得、各ワークフローは、可視化サービスで、セッション中にクライアントの目標を達成するためにクライアントに一般的に提供される各々の一連の表示を表す。例えば、一方の係るワークフローは、可視化コンソールにログインするクライアントにより始まり、クライアントのアプリケーションに使用される全てのホスト等の選択種類の構成アイテムのテーブルビューが提供され得る。テーブルビューでは、属性値等（例えば、ホスト名、ＩＰアドレス、現在のアップタイム、最新の時間間隔中の平均ＣＰＵ利用、最新の時間間隔中に消費される平均ネットワーク回線容量等）が、異なるホストに提供され得る。クライアントがログインした後に表形式で最初に提示される特定の構成アイテム種類が、例えば、一実施態様では、クライアントの好みの設定で表示され得る。クライアントが最初のログイン後表示に関する特定の好みを有さない場合、一実施形態では、クライアントの可視化標的環境に関連する最大の、または最も包括的な階層的構成アイテム種類（例えば、クライアントのリソースが分散されるデータセンター、クライアントによって使用されるネットワークサブネット、図５に示されるものに同様のアプリケーションパターンのインスタンス、またはホスト）を見つけることと、当該種類の構成アイテムをリスト化することとを試み得る。
【００６６】
ワークフローの次の表示に関するビューカテゴリは、（例えば、事前に使用されたワークフローとの一致に基づいて、ワークフローに関するクライアントの目標の指示として解釈され得る）第１の指示でクライアントの対話に基づいて選択され得る。第１の表示がホスト情報のテーブルを含み及びクライアントが、ホストがネットワーク回線容量使用測定基準に基づいてソートされることを要求する場合、例えば、当該サービスは、クライアントが次の表示でネットワーク接続情報を視認することを望むことを想定し得る。したがって、ホストの選択されたセットのネットワークビューは次に表示され得、例えば、ホスト間のネットワーク経路、ホスト間の接続開放等を示す。第１の表示が利用可能コンテナまたはデータセンター等の階層コンテナのリストを含み及びクライアントがコンテナの１つをクリックする場合、階層またはツリービューカテゴリは、クライアントが含有される構成アイテムを視認することを望む想定の下、次の表示のために選択され得る。表示される構成データの種類以外であり及び事前に使用されたワークフローと一致するいくつかの因子は、様々な実施形態では、自動ビューカテゴリ選択に考慮され得、例えば、情報がワークフローの所与のステージで利用可能であるクライアントの構成アイテムの合計数、クライアントの表示環境の予想サイズ（例えば、画素）等が、カテゴリビュー選択に影響を及ぼし得る。例えば、クライアントのアプリケーションが１０００ホストを使用し及びスマートフォンがクライアントの表示環境として検出される場合、ホストの階層ビューまたは要約ビュー（例えば、データセンターの場所に基づくもの、またはサブネット帰属関係に基づくもの）は、１０００ホストの全てのテーブルビューの代わりに提供され得る。一実施形態では、クライアントは、可視化サービス（いくつかの場合、自動ビューカテゴリ選択決定のクライアントによる無効を含み得る）とのその対話の記録が保存されることを要求し得、係るカスタム記録は、後続セッションでビューカテゴリを選択するために使用され得る。
【００６７】
例示的可視化インターフェース構成要素
前述に言及されたように、可視化サービスは、１つ以上のアプリケーション実行環境の少なくとも一部のグラフィカルビュー及びダッシュボードの両方を提供し得る。図１２は、少なくとも一部の実施形態による、可視化サービスのグラフィカルユーザインターフェースの例示的要素を示す。示されるように、可視化インターフェース１２０２は、示される実施態様では、可視化標的環境１２０５及びダッシュボード１２７０の一部または全てを表示し得る。一部の実施形態では、グラフィカルユーザインターフェースは、ブラウザの一部としてレンダリングされ得る一方、他の実施態様では、独立型ツールが採用され得る。
【００６８】
ＶＴＥ部１２０５は、構成アイテムのいくつかの場所ベースのグループ分けを示し得る。示される例では、プロバイダネットワーク１２２０及び顧客所有データセンター１２３０で発見される構成アイテムについての情報は、ＶＴＥ部で含まれる。少なくとも一部の実施形態では、プロバイダネットワークは、複数の地理的領域に体系化され得、各領域は、１つ以上の利用可能コンテナを含み得、また、利用可能コンテナは「利用可能ゾーン」と称され得る。同様に、利用可能コンテナは、所与の利用可能コンテナ内のリソースが他の利用可能コンテナ内の不具合から隔離されるような方法で（例えば、電力関連機器、冷房機器、または物理的機密保護構成要素等の独立式インフラ構成要素で）設計された、１つ以上の特徴のある場所またはデータセンターの一部または全てを備え得る。一方の利用可能コンテナ内の不具合が、任意の他の利用可能コンテナ内に不具合をもたらすことが予期されない場合があり、したがって、所与のリソースの利用可能プロファイルは、異なる利用可能コンテナ内のリソースの利用可能プロファイルから独立していることが意図される。したがって、様々な種類のサービス及び／またはアプリケーションは、各々の利用可能コンテナ内の複数のアプリケーションインスタンスを起動することによって、単一の場所の不具合から保護され得る。少なくとも一部のプロバイダネットワーク顧客のために、異なる利用可能コンテナ間で顧客に割り付けられるリソースの分散の視覚表現を提供することは有用であり得る。図１２に示されるシナリオでは、顧客に割り付けられる仮想マシンは、少なくとも２つの利用可能コンテナ間で分散される。仮想マシン（ＶＭ）１２２２Ａ及び１２２２Ｂはプロバイダネットワーク１２２０の利用可能コンテナ１２１０Ａ内で起動する一方、ＶＭ１２２２Ｋ及び１２２２Ｌは第２の利用可能コンテナ１２１０Ｂ内で起動する。
【００６９】
可視化サービスによってプロバイダネットワークに対して表示される場所ベースグループは時々、例えば、場所の詳細に関して異なる許可に基づいて、顧客施設ネットワークに対して表示されるグループと異なり得る。例えば、仮想マシン１２２２は利用可能コンテナによってグループ化されるように示され、顧客所有データセンター１２３０内に示されるリソースは、場所及びサーバラックによってグループ化される。データセンター１２３０の場所１２１４は、顧客のＶＴＥの２つのラック１２３２Ａ及び１２３２Ｂを備える。ラック１２３２Ａは２つのサーバ１２３４Ａ及び１２３４Ｂを備える一方、ラック１２３２Ｂはサーバ１２３４Ｃを備える。また、構成アイテム間に確立されるネットワーク接続は表示される。例えば、ＶＭ１２２２Ａはサーバ１２３４Ａ及びサーバＶＭ１２２２Ｋに接続されるように示され、ＶＭ１２２２ＢはサーバＶＭ１２２２Ｌ及びサーバ１２３４Ｋに接続される。場所ベースグループ分けの粒度は、例えば、構成アイテムの合計数、表示環境特性等に基づいて、仮想化サービスによって自動的に選択され得る。少なくとも１つの実施形態では、特定のグラフィカル表現で自動的に含まれる（それを行う明示的要求を受信することがない）場所ベース境界カテゴリは、例えば、プロバイダネットワークの利用可能コンテナ境界、データセンター境界、ラック境界、場所境界、ネットワーク相互接続トポロジ境界、物理マシン境界、処理コンテナ境界、または仮想マシン境界を含むセットから選択され得る。各々の分離アプリケーションセットに対応する複数の処理コンテナは、例えば、単一のハードウェアでサポートされ得、可視化サービスは、あるビューに関するサーバ内のコンテナのグラフィカル表現を提供し得る。
【００７０】
ダッシュボード１２７０は、示される実施形態では、２種類の情報；最新の構成変更（セクション１２７１の選択された時間ウィンドウに示されるもの）と、曖昧性除去セクション１２７２とを含み得る。示される実施態様では、最新の時間ウィンドウ内で発生している構成変更は、（例えば、上記に説明された種類の関連スコアに基づいて、及び／または他の因子に基づいて）ランク付けされ得、セクション１２７１で、順番にまたはランク順に表示され得る。これは、クライアントが、どのようにそのアプリケーション実行環境が変化しているかをすぐに理解することを可能にし得る。
【００７１】
一部の実施形態では、構成発見サービスは、可視化インターフェースは、可視化インターフェースを利用して、クライアントフィードバックを取得し、構成アイテムの識別情報に関する質問を確認または解決することを支援し得る。特定の構成アイテムの識別情報のクライアントフィードバックベース曖昧性除去が開始したことを判定する場合、曖昧性除去要求は、インターフェースのセクション１２７２に示され得る。例えば、当該要求は、提案された識別情報の確認を要求する記号（例えば、クエスチョンマークまたはテキストの吹き出し）で、構成アイテムの提案された識別情報及び／または１つ以上の属性値を示し得る。クライアントは、フィードバック（例えば、チェックマーク）を入力することによって識別情報を確認し得る、または代替の識別子もしくは名前を提供し得る。不明瞭な識別情報をクライアントのフィードバックの支援で解決する場合、構成発見サービスは、示される実施態様では、その構成記録を更新し得（または、検証済としてマークし得）、曖昧性除去要求がセクション１２７２から除去され得る。
【００７２】
一部の実施形態では、可視化サービスは、クライアントが、構成発見サービスによって識別された様々な種類のトランザクションに関連付けられる詳細（例えば、待ち時間）を検査することを可能にし得る。図１３は、少なくとも一部の実施形態による、可視化サービスの支援で表示され得るトランザクション関連情報の例を示す。示されるように、可視化インターフェース１３０２は、「トランザクション表示」制御要素１３５０（例えば、ボタン）と、クライアントが、情報が表示される粒度を増加または減少させることを可能にするズーム制御要素１３４９とを含み得る。ズーム制御要素１３４９は、例えば、個々の仮想マシン１３２２（プロバイダネットワーク１３２０内にある）及びサーバ１３３４（顧客所有データセンター１３３０内にある）が示される粒度のレベルに達するために使用され得る。クライアントが「トランザクション表示」ボタンをクリックすると、領域１３７０Ａ及び１３７０Ｂを示すために表示を更新し得る。領域１３７０Ａが、１２５００のトランザクションに関する要求（トランザクションの定義がサービスにより選択され得る、またはクライアントにより選択され得る）が、一部の期間中に（この例では、１００秒）、顧客所有データセンターの場所１３１４のラック１３３２Ａにおけるサーバ１３３４Ｂから、プロバイダネットワーク１３２０の利用可能コンテナ１３１０Ｂの仮想マシン１３２２Ｋに伝達されたことを示す。平均スループットは１２．５トランザクション／秒であり、平均トランザクション待ち時間または応答時間は５００ミリ秒であった。同様に、領域１３７０Ｂは、サーバ１３３４Ｋから仮想マシン１３２２Ｂに提出されるトランザクションに関するカウント、スループット、待ち時間を示す。
【００７３】
最新のトランザクションリスト１３８５は、示される実施形態では、表示に含まれ得る。可視化標的環境の現在表示されている部に関連付けられる最新のトランザクションの一部に関して、提出部構成アイテム１３８７（例えば、トランザクションが開始されたプロセスまたはホスト）の識別子、応答者１３８８、提出タイムスタンプ１３８９、トランザクションコマンド／要求詳細１３９０、ならびに完了時間及び状態（例えば、コミット／途中停止）１３９１等の詳細が挙げられる。クライアントは、可視化インターフェースを使用して、選択された属性に基づいて最新のトランザクションをソートすること、選択された期間が表示されることを要求すること、及び／またはトランザクション送信者またはトランザクション応答者についての追加詳細を視認することを可能にし得る。一部の実施形態では、クライアントは、可視化サービス（例えば、パケットフローシーケンス、トランザクション要求及び応答の形式等を示す）を介して、トランザクション記述子を提出し得、構成発見サービスが、トランザクションが発生するときに当該トランザクションを監視することを可能にする。他の実施形態では、発見サービスは、様々な構成アイテム間の通信の頻繁な要求／応答パターンを検出することが可能であり得、これらのパターンを使用して、トランザクションを定義し得る。
【００７４】
図１４は、少なくとも一部の実施形態による、可視化サービスの支援で表示され得るネットワークトラフィック関連情報の例を示す。前述のように、時々、ネットワークトラフィック経路が、１つ以上のパケットが送信された真のソースを検出することをより難しくするアドレス変換機構またはポート変換機構等の難読化デバイスを含み得る場合があり得る。示される実施形態では、可視化サービスは、選択された構成アイテム（例えば、仮想マシン１４２２Ａ）で受信されたネットワークパケットの数に関する統計値を示す制御要素（制御要素１４４８等）を提供し得る。示される例示的シナリオでは、領域１４７０は、一部の選択された時間間隔中、合計４５００パケットが、利用可能コンテナ１４１０Ａ及びプロバイダネットワーク１４２０の仮想マシン１４２２Ａで受信されたことを示す。
【００７５】
「トラフィックソース表示」とラベル付けされる制御要素１４５０は、受信されたパケットに関するソース検出クエリを、可視化サービスを介して、構成発見サービスに提出するために使用され得る。それに応答して、発見サービスは、図６に関連して検討されるもの等のいくつかのソース識別情報検出アルゴリズムのいずれかを採用し、パケットを、難読化中継部を介して、仮想マシン１４２２Ａに伝達している構成アイテムの考えられる識別情報を解明し得る。当該アルゴリズムは、例えば、異常パターンの複数の接続確立要求及び接続解除要求を送信することと、パケット到着時間間隔を綿密に追跡すること、そのパケット到着時間間隔を伝達時間間隔と一致させること、シーケンス番号を監視すること等を含み得る。領域１４７１Ａ及び領域１４７１Ｂに示されるように、構成発見サービスは、示される例では、４５００パケットのうちの５００の適したソースのようなサーバ１４３４Ａと、残りの４０００パケットの適したソースのようなサーバ１４３４Ｋとを識別している。いくつかのパケットに関するソース識別が、必ずしも、ここで検討される識別情報検出アルゴリズムの種類の起動を要求しない場合があることを留意されたい。難読化中継部を通過しないパケットのソースは、構成発見サービスによってパケットヘッダから単純に取得され得る。
【００７６】
一部の実施形態では、可視化インターフェースは、最新の受信済パケットリスト領域１４８５を含み得、パケットリスト領域１４８５では、受信タイムスタンプ１４８７、推定の送信者のＩＰアドレス１４８８、受信者のＩＰアドレス１４８９、パケットサイズ１４９０、及び／またはシーケンス番号１４９１等の詳細が表示され得る。クライアントは、可視化インターフェースによって提供される制御によって、所望されるような最新の受信済パケットリスト領域１４８５のコンテンツをソート及び／または再配列することが可能であり得る。
【００７７】
図１５は、少なくとも一部の実施形態による、可視化サービスの支援で経時的に構成変化の可視化を得るようなスライダ制御要素の使用例を示す。スライダ制御要素１５７１は、クライアントが、様々な時点における、その可視化標的環境の状態を視認することを可能にし得る。示される例では、可視化インターフェース１５０２Ａは、要素１５７４Ａに示される時点の、クライアントの標的環境が５つのアイテム（プロバイダネットワーク１５２０の利用可能コンテナ１５１０ＡにおけるＣＩ１５２２Ａ及び１５２２Ｂと、利用可能コンテナ１５１０ＢにおけるＣＩ１５２２Ｋ及び１５２２Ｌと、外部データセンター１５３３におけるＣＩ１５２２Ｐ）を含むことを示す。
【００７８】
例えば、クライアントによって使用される表示環境に応じてマウスまたは指先を使用して、スライダが右に動く（矢印１５５１によって示されるように）につれて、要素１５７４Ａに示される時間は進み得、インターフェースに示される構成アイテムは変更し得る。例えば、要素１５７４Ｂに対応する時間において、インターフェース１５０２Ｂは、２つの新しい構成アイテムがクライアントの標的環境に追加されていることを示す。構成アイテム１５２２Ｒは利用可能コンテナ１５１０Ｂに追加されている一方、構成アイテム１５２２Ｓは外部データセンターに追加されている。少なくとも一部の実施態様では、新しく追加された構成アイテムは、矢印１５５５によって示されるようにハイライトされ得る（例えば、一時的に、異なる色で示される）。スライダ以外の対話式制御（例えば、ラジオ式ボタン、または早送り制御／巻き戻し制御）は、一部の実施形態では、時間ベース構成表示に提供され得る。インターフェースは、また、時間クエリに関連付けられる追加制御を提供し、例えば、様々な時点におけるその可視化標的環境の状態の機械読取可能スナップショットをキャプチャすることを可能にし、特定の時点における構成の差だけを示し、タイムラインの変更をプロットする等を行うことを可能にし得る。スライダ１５７１及び視覚インターフェースの他の時系列的制御は、様々な実施形態では、発見サービス（図８に関連して上記で検討された）のスナップショットベースＡＰＩ及び／または時系列的ＡＰＩに依存し得る。
【００７９】
一部の実施形態では、可視化サービスは、クライアントが、アプリケーション構成要素を一方のデータセンターまたはプロバイダネットワークから別のものに移行させることを可能にする機構を提供し得る。図１６は、少なくとも一部の実施形態による、アプリケーション実行環境の段階的移行を開始する可視化サービスの使用例を示す。示されるシナリオでは、アプリケーションパターンの範囲内の様々な構成アイテムが果たす役割を示すタグは、可視化インターフェース１６０２Ａに示され得る。例えば、クライアントの構成アイテム間の相互作用のパターンに基づいて、構成発見サービスは、複数階層ウェブアプリケーションを識別している場合がある。外部データセンター１６３３で起動する構成アイテム１６２２Ｑは複数階層ウェブアプリケーションのウェブサーバとして識別されている場合がある一方、構成アイテム１６２２Ｒは複数階層ウェブアプリケーションのデータベースサーバとして識別されている場合がある。タグ１６７４Ａ及び１６７４Ｂは、各々、構成アイテム１６２２Ｑ及び１６２２Ｒのために生成されている場合がある。
【００８０】
あるステージの複数階層ウェブアプリケーションの構成要素をプロバイダネットワーク１６２０に移行させる計画は、示される実施形態で、例えば、移行計画及び実施サービスにおいて、生成されている場合がある。移行の各ステージは、プロバイダネットワークへの特定の役割を果たす構成アイテム（例えば、「ウェブサーバ」または「データベースサーバ」）の移行を伴い得る。役割毎の移行計画の詳細は、制御１６３３Ａ（データベースサーバ用）及び１６３３Ｂ（ウェブサーバ用）を使用して視認され得る。制御要素１６７５は、クライアントが特定のタグに関連付けられる構成アイテムに関する段階的移行を開始することを可能にするように提供され得る。
【００８１】
示される例では、クライアントがデータベースサーバのためにラベル「ＤＢ」でタグ付けされる構成アイテムの移行を要求する場合及びそのとき、可視化サービスは、示される実施形態では、発見サービス及び／または移行実施サービスにプログラムで対応する要求を伝達し得る。構成アイテム１６２２Ｒに対応するデータベースサーバがプロバイダネットワーク１６２０の利用可能コンテナ１６１０Ｂへの段階的移行の一部として推移した後、クライアントのビューは、インターフェース１６０２Ｂに示されるような移行構成アイテム（１６７４Ｃとラベル付けされた）を示すように更新され得る。
【００８２】
少なくとも一部の実施形態では、可視化サービスは、また、移行に対する前後の性能比較を可能にするインターフェースをサポートし得る。例えば、移行前のアプリケーションの性能（例えば、スループット、トランザクション待ち時間／応答時間等）の基準値のビューが領域１６４６に示され得る一方、対応する移行後の性能統計が領域１６４７に示され得る。後の性能統計が満たされない場合、クライアントは、所望される場合、逆の移行を開始し得る（示される例では、データベースサーバを外部データセンターに戻るように移動させる）。
【００８３】
一実施形態では、可視化インターフェースは、アプリケーション内の構成アイテムが果たす様々な役割に関連付けられるタグを直接規定するように、クライアントによって使用され得る。例えば、「タグを加える」制御は、クライアントが新しいタグを定義する、またはインターフェースを介して選択された構成アイテムと既存のタグを関連付けるために提供され得る。経時的に、タグのライブラリは蓄積され得、クライアントは、可視化インターフェースを使用して、利用可能タグを点検し、ライブラリの既存タグに関するタグ付け要求を発行し、または新しいタグをライブラリに追加し得る。実質的に、クライアントは、可視化サービスによって提供される係る制御を使用して、アプリケーションパターンに関する発見サービスを「教え」得る。クライアントがウェブサーバタグを、可視化サービスを使用して、例えば、１つ以上の構成アイテムに関連付けた後、発見サービスは、タグ付けされたアイテムの挙動（例えば、他の構成アイテムとのネットワーク相互作用のパターン）を監視し得る。発見サービスは、観測された挙動に基づいて、発見的解決策を生成することが可能であり得、以下のことを行うためにクライアントによって明確に要求されることなく、他の構成アイテムを、クライアントによって提供される例と同じラベル／タグに自動的にタグ付けするために使用されることができる。例えば、クライアントが複数階層ウェブアプリケーションアーキテクチャを実装する環境内のウェブサーバまたはデータベースサーバのいくつかの例を提供した後、発見サービスは、それ自体に同様のアプリケーションアーキテクチャを実装する他の環境内で他のウェブサーバ及び／またはデータベースサーバを識別し、適宜、自動生成されたタグを表示し得る。
【００８４】
構成データ可視化サービスをサポートするための方法
図１７は、少なくとも一部の実施形態による、構成記録のグラフィカル表現を提供する可視化サービスによって行われ得る動作の態様を示すフロー図である。要素１７０１に示されるように、例えば、クライアントが可視化ツールもしくはコンソールにログインするとき、またはクライアントがプログラムインターフェースを介して可視化要求を発行するとき、クライアントの１つ以上のアプリケーション実行環境に関連付けられる構成情報のグラフィカル表現が提供された判定を行い得る。アプリケーション実行環境は、１つ以上のデータセンター間に分散されるリソースを備え得る。データセンターの一部は各々のプロバイダネットワークの一部であり得る一方、他のものは顧客所有施設にあり得る。合体構成記録の発見サービスのリポジトリに向けられた１つ以上のクエリを使用して、可視化サービスは、特定の可視化標的環境または情報が表示される環境を識別し得る（要素１７０４）。一部の実施形態では、可視化サービスは構成発見サービスの外部にあり得る一方、他の実施形態では、可視化サービスは構成発見サービスの一部を形成し得る。いくつかの場合、可視化サービス（または発見サービス）の所与の顧客アカウントは、当該アカウントに関連付けられるいくつかの異なるアプリケーション実行環境を有し得、視認されることができる構成アイテムの特定のセットは、一方のクライアント側表示環境から別のものまで異なり得る。顧客のオフィス内に位置するワークステーションから、例えば、タブレットコンピュータからのものよりも大きいクライアントのアプリケーション実行環境のサブセットは、可視化によってアクセスされ得る。少なくとも一部の実施形態では、識別情報及びアクセス管理システムは、表示が提供されることができる構成アイテムの種類を判定するために使用され得る。
【００８５】
可視化サービスは、（例えば、クライアント側デバイスオペレーティングシステムによってサポートされるＡＰＩを使用して）クライアント側表示環境の様々な特徴を識別し得る（要素１７０７）。当該特徴は、利用可能であるスクリーンの数及びサイズ、グラフィカル表現が提供されるクライアント側デバイスのコンピュータ能力、当該サービスとクライアントデバイスとの間の通信に利用可能であるネットワーク回線容量等を含み得る。可視化標的環境に利用可能である構成データの量に基づいて及び／または表示環境の特徴に基づいて、クライアントのために生成される最初のグラフィカル表現に関する可視化サービスにおいて、いくつかの決定を行い得る。これらの決定は、構成情報が表示される（例えば、データセンターレベル、利用可能コンテナレベル、場所レベル、サーバレベル等で集約される）粒度と、使用されるビューカテゴリ（例えば、表ビュー、グラフ／ネットワークビュー、またはツリー／階層ビュー）粒度とを選択することを含み得る（要素１７１０）。
【００８６】
少なくとも一部の実施形態では、例えば、可視化インターフェースのダッシュボード部を使用して、構成変更がハイライトされる時間ウィンドウを判定し得る（要素１７１３）。選択された粒度及びビューカテゴリを使用して可視化標的環境の動的に更新された表示が、クライアント側表示環境において開始され得る（要素１７１６）。新しい構成データが発見サービスから利用可能になるにつれて及びそのとき、またはクライアントによってプログラムで発行される要求に応答して、表示を更新し得る（要素１７１９）。一実施形態では、クライアント側表示環境の特徴は、時々、クライアントによって要求される情報を表示するのに不十分であると思われ得る。例えば、利用可能であるスクリーンスペースは、クライアントによって要求される詳細のレベルを示すには非常に小さい場合がある、またはクライアントに利用可能であるネットワーク回線容量は、妥当な時間で要求されるデータ量を伝送するには非常に小さい場合がある。いくつかの係るシナリオでは、例えば、現在のクライアント側表示環境を介して可視化要求を満たすことに関連付けられるリソース使用の推定に基づいて、可視化サービスは、可視化要求で要求される情報を表示するために、オフラインツール（または、現在使用されるものと異なるクライアント側表示環境）を利用する推薦を伝達し得る。
【００８７】
移行マーケットプレイスサービス
図１に関して言及されるように、プロバイダネットワークは、一部の実施形態では、１つ以上の移行関連サービスを実装し得、顧客が所望されるようにアプリケーションまたはアプリケーション構成要素を物理または仮想プラットフォームの一方のセットから別のものに伝送することを可能にし、例えばコストを減らすことを支援し、アプリケーションの可用性または回復力を高め、管理を簡単にする等の高いレベルの目標がある。発見サービスによって集められた情報は、前述で検討されたような移行関連決定を行う際に有用であり得る。しかしながら、複雑なアプリケーションスタックの構成要素間の多くの依存関係の一部に起因して、アプリケーションを一方の環境から別の環境に推移させるプロセスは、時々、アプリケーション所有者の組織の内部で利用可能でなくてよい専門知識によって利益を受け得る。一部の実施形態では、構成発見サービスが起動するプロバイダネットワークは、移行マーケットプレイスサービスを実装することによって、移行ファシリテータまたは専門家とアプリケーション所有者との間の中継部として働き得る。例えば、顧客所有データセンターからプロバイダネットワークへ、または一方のプロバイダネットワークから別のものへ等、実行プラットフォームの一方のセットから別のセットへのアプリケーションまたはアプリケーション構成要素の移行を計画及び／または実施することを支援することが可能である企業体は、本明細書では、「移行ファシリテータ」または「移行実行者」と称され得る。移行ファシリテータが、実行プラットフォーム（アプリケーションが移行される）の標的セットを動作させる事業体と異なり及び事業体のアプリケーションが移行される当該事業体と異なる場合、移行ファシリテータは、「第３者移行ファシリテータ」と称され得る。少なくとも一部の移行ファシリテータは、第３者として特徴付けられない場合がある。例えば、プロバイダネットワークへの／から移行が行われる当該プロバイダネットワークの１つの一部である（または、それと連携する）専門サービスまたはコンサルタント組織は、また、一部の実施形態では、移行ファシリテータの役割において移行マーケットプレイスサービスを利用し得る。高レベルにおいて、移行マーケットプレイスサービスは、アプリケーション所有者が、複雑なアプリケーション移行タスクを支援し得る潜在的パートナーについて学習することを可能にし得、移行ファシリテータが顧客を見つけることを可能にし得る。移行ファシリテータは、様々な実施形態では、ツールプロバイダ（例えば、アプリケーション移行を実施するためにクライアントによって使用されることができる移行ツールを開発する独立ソフトウェアベンダまたは独立系ソフト開発会社）と、ツールを提供する代わりに実際に移行を計画及び実施することが利用可能である技術専門家（そのようなものとして、専門サービス組織、プロバイダネットワークオペレータのパートナー等）とを含み得る。
【００８８】
図１８は、少なくとも一部の実施形態による、構成発見サービスで集められたデータを利用する移行マーケットプレイスサービスが実装され得る例示的システム環境を示す。示されるように、システム１８００は、いくつかのネットワークアクセス可能サービスが実装されるプロバイダネットワーク１８０２を備える。当該サービスは、仮想コンピューティングサービス１８１０、パッケージ化プログラム実行サービス１８１２、１つ以上のストレージまたはデータベース１８１４、構成発見サービス１８０４、移行マーケットプレイスサービス１８０６、及び移行計画及び実施サービス１８０８を含む。各サービスは、示される実施形態では、プログラムインターフェースのセットを実装し得、プログラムインターフェースは、当該サービスとそのクライアントとの間に相互作用するために使用され得、また、いくつかの場合、サービス相互作用間に使用され得る。仮想コンピューティングサービス１８１０に関連付けられるＶＣＳプログラムインターフェース１８４４は、仮想マシンを獲得、使用、及び解放するために使用され得る。パッケージ化プログラム実行サービス１８１２のＰＥＳインターフェース１８４５は、明確にサーバをリクエスタに割り付けることなく、及びプログラム実行の結果を受信するために、プログラムの実行に関する要求を提出するために使用され得る。ＳＤＳプログラムインターフェース１８４６は、様々なアプリケーションに関連付けられるデータセットを記憶し及びそれにアクセスするために使用され得る。発見サービス１８０４のＣＤＳプログラムインターフェース１８４１は、前述で検討されたように、構成情報の自動発見を開始するために及び自動発見の結果を視認するために採用され得る。移行計画及び実施サービス１８０８のＭＰＩＳインターフェース１８４３は、詳細な移行計画を生成し、当該計画を実行するために使用され得る。
【００８９】
移行マーケットプレイスサービス１８０６は、示される実施形態では、図１８に示される他のサービスの一部または全てを利用し得る。移行マーケットプレイスサービスのＭＭＳプログラムインターフェース１８４２は、少なくとも２種類のエンティティ；潜在的移行クライアント１８３４（例えば、移行され得るアプリケーションの所有者）及び移行ファシリテータ１８３６によって利用され得る。一実施形態によると、クライアント１８３４は、要求を移行マーケットプレイスサービスに伝達し、１つ以上の移行ファシリテータをクライアントのアプリケーションに関連付けられる構成情報の少なくとも一部のサブセットにアクセスすることを可能にし得る。アクセス許可が与えられる構成情報は、例えば、発見サービス１８０４に維持されるリポジトリの合体構成記録に記憶され得る。前述で検討されるように、クライアント１８３４の所与のアプリケーション実行環境は、例えば、プロバイダネットワーク１８０２の外側にあるいくつかのリソース及び／またはプロバイダネットワーク１８０２の内部に位置するいくつかのリソースを含む、複数のプラットフォーム間で分散される構成アイテムまたはリソースを含み得る。一部の実施形態では、クライアント１８３４は、構成詳細の少なくとも一部が移行ファシリテータに提供される前に難読化または匿名化されることを要求し得る。すなわち、ファシリテータは、十分な詳細が提供されることなく、構成情報のいくつかの態様にアクセスすることが可能にあり得る。いくつかの場合、クライアントは、移行ファシリテータの特定のセットだけが構成情報を検査することを可能にし得る一方、他の実施形態では、移行マーケットプレイスサービスによって登録または承認されている任意の移行ファシリテータは、アクセス許可が与えられ得る。クライアントの構成記録収集部へのアクセスを共有するクライアント要求に応答して、移行マーケットプレイスサービス１８０６は、（例えば、移行マーケットプレイスサービス自体によって維持されるメタデータ内、または発見サービス１８０４のメタデータ内のいずれかで）構成記録に関する１つ以上のセキュリティ設定の修正を開始し得る。
【００９０】
移行マーケットプレイスサービス１８０６は、示される実施態様では、ＭＭＳプログラムインターフェース１８４２を介して、各々のメンバーの要求をファシリテータから受信し得る。少なくとも一部の実施形態では、移行マーケットプレイスサービスは、マーケットプレイスの認可されたメンバーとして移行ファシリテータを登録する前に、（例えば、ファシリテータの識別情報及び事業背景を検証するために）有効な手順のセットを開始し得る。
【００９１】
登録移行ファシリテータは、示される実施形態では、インターフェース１８４２を介して、移行候補マッチング要求１８３７を伝達し得る。係る要求は、例えば、ファシリテータの専門知識または能力の記述（例えば、アプリケーションスタックの種類：ファシリテータが過去に支援されていたアプリケーションスタックの移行）、及び／またはファシリテータが好むであろう移行クライアントの種類の特徴（例えば、移行されるべきアプリケーション実行環境の最小または最大サイズ、移行されるべきアプリケーション実行環境または移行目的地環境の地理的場所等）を含み得る。発見サービス１８０４のクライアントの中からファシリテータのために１人以上の潜在的顧客を識別する移行候補マッチング要求１８３７に対する応答は、移行ファシリテータにアクセスが許可されている構成情報を使用して、サービス１８０６で生成され得る。さらに詳細に下記に検討される一部の実施形態では、移行マーケットプレイスサービス１８０６は、サービス生成アルゴリズムを実行し一致する潜在顧客を見つけ得る一方、他の実施形態では、ファシリテータは、それ自体の実行可能コードモジュールを供給し得、ファシリテータ供給コードは事前パッケージ化プログラム実行サービス１８１２またはいくつかの他のプラットフォームにおいて実行し得る。
【００９２】
移行ファシリテータ１８３６は、サービス１８０６によって提供される潜在的移行候補に関して提供された情報を検査し、移行提案を、インターフェース１８４２を介してサービス１８０６に提出し得る。当該提案は、例えば、アプリケーション実行環境の特定のサブセットまたは全て、暫定的スケジュールまたは実施計画等を移行させるための暫定的コスト見積を含む、ファシリテータが提供する意志がある補助の様々な態様を表し得る。移行ファシリテータが、実際に移行を実施する際に関心のある技術専門家よりも移行ツールを提供する独立したソフトウェアベンダである場合、ツールの名前（クライアントのアプリケーションを移行させるためにクライアントによって使用されることができる）は、一部の実施形態では、提案に含まれ得る。次に、サービス１８０６は、提案１８３７の表現を潜在的移行クライアント１８３４に、プログラムインターフェース１８４２を介して伝達し得る。サービス１８０６は、一部の実施形態では、同じ潜在的移行クライアント１８３４の所与のアプリケーション環境に関する多数の提案を受信し、提案のそれぞれは、クライアントにプログラムで提供され得る。
【００９３】
クライアント１８３４が許容可能な提案の１つを見つけ、詳細な移行計画及び／または実施に進むことを望む場合、一部の実施形態では、承認メッセージは、インターフェース１８４２を介して、移行マーケットプレイスサービスに伝達され得る。係る承認メッセージに応答して、一実施形態では、移行マーケットプレイスサービスは、例えば、途切れなく及びプログラムでさらなる移行相互作用をＭＰＩＳインターフェース１８４２に伝送することによって、クライアント１８３４が移行計画及び／または実施サービス１８０８のワークフローを実行することを可能にする動作を開始し得る。したがって、少なくとも一部の実施形態では、移行マーケットプレイスサービス１８０６は、必ずしも、移行の詳細な計画及び実際の実施を担当しない場合がある。その代わりに移行マーケットプレイスサービス１８０６の主な役割は、移行を計画及び実行する詳細な作業が始まる前に、潜在的移行クライアントと移行ファシリテータとの間の情報の信頼できるパイプ役として働くことを含み得る。他の実施形態では、移行マーケットプレイスサービスは、移行の少なくとも一部の態様の実施を計画及び／または調整することを担当し得る。図１０〜図１７に関連して本明細書で検討される可視化サービスは、また、一部の実施形態では、移行マーケットプレイスサービス１８０６及び／または移行計画／実施サービス１８０８とともに使用され得ることを留意されたい。可視化サービスは、係る実施形態では、アプリケーション実行環境構成データを視認するために使用されることができるグラフィカルインターフェースの統一された途切れないセットを提供し、アプリケーション移行に関する潜在的ファシリテータを識別し、所望されるような移行を計画及び実施し得る。
【００９４】
移行マーケットプレイスサービスとのプログラム相互作用
図１９は、少なくとも一部の実施形態による、クライアントと移行マーケットプレイスサービスとの間のプログラム相互作用の例を示す。示されるように、クライアント１９２０は、発見データアクセス許可要求１９２５を移行マーケットプレイスサービス１９２２の１つ以上のコンピューティングデバイスに、プログラムインターフェースを介して提出し得る。発見データアクセス許可要求１９２５は、例えば、クライアントの構成記録収集部に対応するアプリケーション環境識別子１９２８、１つ以上のセキュリティ制約１９３１、及び／またはファシリテータリスト１９３４のセットを含み得る。ファシリテータリスト１９３４は、クライアント１９２０の構成情報が必要に応じて開示される１つ以上の特定のファシリテータを示し得る、または任意の登録／承認ファシリテータに構成情報が提供され得たことを示し得る。セキュリティ制約１９３１は、任意の制限が公開された構成データに課されるかどうか（例えば、クライアントは、構成アイテムの一部の種類の詳細が個々の構成アイテムレベルで公開されないが、集約情報が公開され得ることを好む場合がある）を示し、もしあれば構成情報のどの態様が匿名化または難読化されたか等を示し得る。
【００９５】
要求１９２５のコンテンツに少なくとも部分的に基づいて、移行マーケットプレイスサービス１９２２は、例えば、マーケットプレイスメタデータリポジトリ１９５５において及び／または構成発見サービス１９５７において、クライアントの構成記録に関連付けられるセキュリティ設定を修正し得る。要求アクセス許可変更が適用されていることを示す構成メッセージ１９７５は、クライアント１９２０にプログラムインターフェースを介して伝達され得る。
【００９６】
図２０は、少なくとも一部の実施形態による、移行ファシリテータと移行マーケットプレイスサービスとの間のプログラム相互作用の例の第１のセットを示す。示される実施形態では、移行ファシリテータ２０２０は、移行候補識別クエリ２０２５を移行マーケットプレイスサービス２０２２に、プログラムインターフェースを介して提出し得る。クエリ２０２５は、ファシリテータの能力２０２８（例えば、アプリケーションの種類：ファシリテータが補助を提供する際に関心があるアプリケーションの移行に関するもの）と、候補の好み２０３１（例えば、最小及び／または最大アプリケーション構成サイズ（ファシリテータが補助する意思がある）、ファシリテータの観点から好ましい地理的領域または場所等）とを含み得る。
【００９７】
候補識別クエリ２０２５に応答して、マッチング構成データを構成発見サービスデータベース２０４０から読み出すフィルタ仕様２０３７は、移行マーケットプレイスサービス２０２２において準備され得る。一部の実施形態では、構成データアノニマイザ２０３４は、フィルタ仕様２０３７の準備に関与し得、これにより、図１９に関連して検討される種類のアクセス許可要求によってアクセスが潜在的移行クライアントによって許可されている構成データのサブセットだけが、読み出される。様々な実施形態では、難読化基準（例えば、潜在的移行クライアントによって提供されるもの、または発見的解決策に基づいて移行マーケットプレイスサービスによって生成されるもの）は、クライアント構成セキュリティまたは機密保護の違反を回避するためにフィルタを準備するために使用され得る。一実施形態では、フィルタ仕様を生成する代わりに及びそれに加えて、構成データアノニマイザ２０３４は、発見サービスデータベースから読み出される構成データを処理し、潜在的移行クライアントによって示される任意のセキュリティ制約が違反ではないことを確実にし得る。
【００９８】
移行ファシリテータ２０２０の能力及び好みに一致するアプリケーション実行環境及び／またはクライアントを示す監督候補環境リスト２０４６は、サービスのプログラムインターフェースを介して、ファシリテータに伝達され得る。順に、ファシリテータは、リスト２０４６に示される候補環境及びクライアントの一部または全てに対応するサービス２０２２に移行提案のリスト２０４９を提出し得る。次に、移行マーケットプレイスサービスは、示される実施形態では、移行提案２０５１（例えば、２０５１Ａ及び２０５１Ｂ）の表現を、適切なクライアント２０８０（例えば、２０８０Ａまたは２０８０Ｂ）に、サービスのプログラムインターフェースを介して伝達し得る。提案２０５１の少なくとも一部は、示される実施形態では、提案された移行取り組みに関する暫定的コスト見積２０５４（例えば、２０５４Ａまたは２０５４Ｂ）の各々の指示を含み得る。一実施形態では、提案２０５１は、また、または、その代わりに、移行スケジュール推定、または提案に関連付けられるファシリテータによって実施される前の移行を示すフィードバック記録（例えば、レビューまたは評定／ランキングスコア）を含み得る。
【００９９】
図２１は、少なくとも一部の実施形態による、移行ファシリテータと移行マーケットプレイスサービスとの間のプログラム相互作用の例の第２のセットを示す。図２１と図２０との主な差は、図２１に示されるシナリオでは、移行ファシリテータが、サービス生成マッチングアルゴリズムを使用する移行マーケットプレイスサービスに依存する代わりに、ファシリテータの要求に一致する移行候補を識別するために実行されることができる実行可能プログラムコードを伝達し得ることである。係るアプローチは、例えば、移行ファシリテータが、マーケットプレイスサービスに提供される必要があるファシリテータの能力または制約に関する詳細情報の量を減らすことを可能にし得、また、マーケットプレイスサービスに課される負担を減らし、正確及び効率的なマッチングアルゴリズムを開発し得る。
【０１００】
図２１に示される実施形態では、移行ファシリテータ２１２０は、実行可能候補マッチングアルゴリズムコードモジュール２１２８の指示を含む移行候補識別クエリ２１２５を、移行マーケットプレイスサービス２１２２に提出する。一部の実施態様では、クエリ２１２５は、候補マッチングコードモジュール２１２８が起動する実行プラットフォームまたはサービスの一部の指示を含み得る。サービス２１２２は、コード２１２８を選択された実行サービス２１７５（例えば、図１８のパッケージ化プログラム実行サービス１８１２）に伝達する。パッケージ化プログラム実行サービスの使用は、リソースが移行ファシリテータに事前に割り付けられる必要がなくてよい利点をもたらし得る。その代わりに、パッケージ化プログラム実行サービスは、単に、プラットフォームのプールの中から利用可能実行プラットフォームを見つけ、モジュールを当該プラットフォーム上で起動し、実行の結果を提供し得る。移行ファシリテータは、モジュールの実行に実際に使用される算出リソースだけを担当し得る。いくつかの場合、プロバイダネットワークの仮想コンピューティングサービス等の他の実行プラットフォームを使用し得る。
【０１０１】
マッチングアルゴリズムコードの実行の結果として、フィルタ仕様２１７８を構成発見サービスに伝達し得、候補構成環境２１８１に一致する場合、適宜、セットを生成し得る。マッチングアルゴリズムコードは、候補構成環境を使用して、移行マーケットプレイスサービスに伝達される移行提案リスト２１８３を作り出し得る。次に、リストの個々の提案２１８４（例えば、２１８４Ａまたは２１８４Ｂ）は、示される実施形態では、適切なクライアント２１８０（例えば、２１８０または２１８０Ｂ）に伝達され得る。
【０１０２】
マーケットプレイスメタデータ
図２２は、少なくとも一部の実施形態による、移行マーケットプレイスサービスのメタデータリポジトリに記憶され得る項目の例を示す。示されるように、メタデータリポジトリ２２０５は、少なくとも２つのカテゴリの情報（移行ファシリテータ記録２２３１及び発見サービスクライアント記録２２５１）を含み得る。
【０１０３】
移行ファシリテータ記録２２３１は、例えば、ファシリテータの能力２２３３または専門知識（例えば、アプリケーションスタックの種類：ファシリテータが経験を有する当該ファシリテータの移行を有するもの）を含み得る。記録２２３１は、また、様々な実施形態では、移行候補をファシリテータに適切にさせる特徴（例えば、移行前の構成アイテムもしくは移行後の構成アイテムの地理的分散、移行されるべきアプリケーション環境の許容可能なもしくは好ましいサイズの範囲、またはファシリテータの動作の好ましい地理的領域もしくは場所）に関するファシリテータの好みまたは要求２２３５を含み得る。少なくとも１つの実施形態では、記録２２３１は、また、ファシリテータの前の補助の評価を示すフィードバック２２３７または証明書を含み得る。当該フィードバックは、一部の実施形態では、評定またはランキング（例えば、１〜５の星の数で、１は劣った評定を示し、５は優れた評定を示す）と、テキストレビューとを含み得る。示される実施形態では、記録２２３１は、また、移行提案履歴２２３９（過去にファシリテータによって生成される１つ以上の提案を示す）と、クライアントによって受けた提案のサブセットを示す提案変換履歴２２４１とを含み得る。
【０１０４】
発見サービスクライアント記録２２５１は、様々なクライアントに対応する構成データアクセス許可２２５３を含み得る。加えて、少なくとも１つの実施形態では、また、クライアントの移行履歴を示す項目２２５５を維持し得る。一部の実施形態では、図２２に示される要素の種類の少なくとも一部が、必ずしも、移行マーケットプレイスサービスで記憶されない場合があることを留意されたい。
【０１０５】
ウェブベースマーケットプレイスサービスインターフェース
図２３は、少なくとも一部の実施形態による、移行マーケットプレイスサービスによって実装され得るウェブベースインターフェースの例を示す。示されるように、当該インターフェースは、メッセージエリア２３１０と、各々の登録移行ファシリテータに対応するいくつかの広告領域２３１５（例えば、２３１５Ａ〜２３１５Ｄ）と、相互作用制御（例えば、ボタンまたはウェブリンク）２３２５、２３２７、及び２３２９とを含む、ウェブページ２３０２を含む。
【０１０６】
メッセージエリア２３０２は、移行マーケットプレイスサービスのクライアントに、様々な移行ファシリテータに関する追加情報が広告内に示されるリンクによって取得されることができることを知らせ得る。広告のそれぞれは、特定のファシリテータが、例えば、広告領域２３１５Ａ内のファシリテータＦ１のサポートされたアプリケーションスタック２３２２Ａ、広告領域２３１５Ｂ内のファシリテータＦ２のサポートされたアプリケーションスタック２３２２Ｂ等で補助する意志があるアプリケーションスタックを示し得る。ファシリテータに関するランキング／評定フィードバック２３２４及び例示的価格情報２３２５はまた、一部の実施形態では、広告内に含まれ得る。
【０１０７】
（例えば、顧客所有データセンターからプロバイダネットワークまでの）移行アプリケーションの利点を示すケーススタディは、ウェブページ２３０２のボタン制御２３２５によってクライアントに利用可能になり得る。構成アイテム及び／または移行計画の自動発見に関する追加情報（例えば、ホワイトペーパーまたはオンラインチュートリアル）は、ボタン制御２３２７によってアクセスされ得る。示される実施形態では、クライアントは、制御２３２９を使用して、移行ファシリテータに関する推薦にサインアップし得る。様々な実施形態では、クライアントは、移行マーケットプレイスサービスのインターフェースを使用して、移行の補助に関する要求を提出し得る。例えば、一部の実施形態では、発見サービスを使用して、まだ開始していないが、潜在的に、今後いつか、そのアプリケーションを移行することに関心があり得るプロバイダネットワークのクライアントは、要求をマーケットプレイスサービスのプログラムインターフェースを介して伝達し、構成アイテムの自動発見を開始し得る。係る要求に応答して、移行マーケットプレイスサービスは、当該クライアントの代わりに構成発見サービスのプログラムインターフェースを呼び出し得、これにより、クライアントのアプリケーションに関連付けられるデータベースから構成情報の読み出しが始まり得る。集められた情報は、後で、クライアントを適切な移行ファシリテータと一致させるために使用され得る。少なくとも１つの実施形態では、クライアント（代わりの構成データが既に発見サービスに集められている）は、移行補助要求を移行マーケットプレイスサービスに提出し得る。移行マーケットプレイスサービスは、ファシリテータ（例えば、図２２のリポジトリ２２０５内にある）に関して記憶されるクライアントの構成データ及びメタデータに基づいて、それ自体のマッチングアルゴリズムを実行し、ファシリテータの推薦をクライアントに提供し得る。
【０１０８】
移行マーケットプレイスをサポートするための方法
図２４は、少なくとも一部の実施形態による、移行マーケットプレイスサービスで行われ得る動作の態様を示すフロー図である。要素２４０１に示されるように、移行ファシリテータがクライアントのアプリケーション環境の構成記録にアクセスすることを可能にする要求は、プロバイダネットワークの移行マーケットプレイスサービスで受信され得る。構成記録は、前述に示されたような構成発見サービスと連携する種々のデータソースから集められている場合がある。クライアントの構成記録収集部に関するセキュリティメタデータは、適宜、修正され得る（要素２４０４）。前述に言及されたように、いくつかの場合、セキュリティ設定は発見サービスで修正され得る一方、他の実施形態では、セキュリティメタデータは移行マーケットプレイスサービス自体によって維持され得る。
【０１０９】
移行候補識別要求またはクエリは、移行ファシリテータからマーケットプレイスサービスで受信され得る（要素２４０７）。クライアントの許可付与及び／またはデータ難読化要求に基づく発見サービスデータベースから読み出される構成データを制限するフィルタ仕様またはクエリは、発見サービスに伝達され得る（要素２４１０）。一部の実施形態では、移行マーケットプレイスサービスは、フィルタ仕様またはクエリを伝達し得る。他の実施形態では、移行候補マッチングアルゴリズムに関する実行可能コードは移行ファシリテータによって供給され得、プロバイダネットワーク（コードに関するサーバの事前割り付けを要求しないパッケージ化プログラム実行サービス等）の異なるサービスにおいて起動し得、フィルタ仕様またはクエリの提出をもたらす。
【０１１０】
フィルタリングに応答して読み出される構成情報は、１つ以上の移行提案を生成するために使用され得（要素２４１３）、例えば、移行ファシリテータがクライアントの実行環境の移行を補助することに関心があることを示す。少なくとも一部の実施形態では、当該提案は、暫定的コスト見積を含み得る。マーケットプレイスサービスは、提案の表現をそのプログラムインターフェースを介して、提案が適用されるクライアントに伝達し得る（要素２４１６）。随意に、プログラムインターフェースを介して提案のクライアントの受け取りに応答して、移行マーケットプレイスサービスは、別個の移行計画または実施サービスのワークフローを開始し得る（要素２４１９）。
【０１１１】
様々な実施形態では、図９、図１７、及び図２４に示されるもの以外の少なくとも一部の動作は、上記に説明された構成発見関連技法及び移行マーケットプレイス関連技法を実施するために使用され得ることを留意されたい。示される動作の一部は、一部の実施形態では、実施されない場合がある、または、異なる順序で、もしくは連続的よりもむしろ並行して実施され得る。
【０１１２】
使用ケース
複数のネットワークにおける種々のソースからの構成データの自動収集、合体、及び仮想化の、ならびに、移行関連オンラインマーケットプレイスの上記に説明された技法は、種々の実施形態で有用であり得る。顧客所有及びプロバイダ所有リソース間に分散される複雑なアプリケーションに関して、説明される構成発見サービスは、粒度、信頼性、及び正確性のレベルを変えることで、アプリケーション構成データを組み合わせ及び監督することが可能であり得る。当該サービスは、顧客の計画を支援しプロバイダネットワーク環境へのアプリケーションの移行を実施するサービス等のより高いレベルサービスを構築するために使用されることができるＡＰＩを含む使い易いプログラムインターフェースを介して、標準オントロジベースネーミングスキーマに従って体系化される、収集データを露出し得る。構成発見サービス情報の可視化構成要素は、顧客が、その全体のアプリケーションスタックの概要を取得すること及び任意の所望のレベルの詳細を掘り下げることをより容易にし得、これは、パフォーマンス及びトラブルシューティングを計画しデバックするリソース能力を支援することができる。移行マーケットプレイスサービスは、アプリケーション所有者（潜在的にそのアプリケーションをプロバイダネットワークに移行することに関心があり得る）を紹介することができる中継部として働き得るが、その移行の必要性があるアプリケーション所有者を支援することが可能であり得る移行ファシリテータまたは専門家に、移行を計画及び実施する方法についてある程度の必要な技術的専門知識を有しない場合がある。移行サービスは、所与のアプリケーション環境に関して提供される情報がアプリケーション所有者のセキュリティ基準を満たすことを確実にし得、移行ファシリテータを選択している顧客のための移行計画及び実施サービスへのスムーズな推移をサポートし得る。
【０１１３】
本開示の実施形態は、以下の条項を鑑みて説明できる。
１．システムであって、
プロバイダネットワークのリソース移行マーケットプレイスサービスの１つ以上のコンピューティングデバイスであって、
前記１つ以上のコンピューティングデバイスは、
１つ以上のプログラムインターフェースを介して、第１のクライアントから前記第１のクライアントの構成記録収集部への１つ以上の移行ファシリテータによるアクセスを可能にする第１の要求を受信し、前記構成記録収集部は構成発見サービスに記憶され、前記構成記録収集部は前記第１のクライアントの第１のコンピューティング環境に関連付けられ、前記第１のコンピューティング環境は前記プロバイダネットワークの外側に少なくとも１つのリソースを含み、
前記１つ以上のプログラムインターフェースを介して前記１つ以上の移行ファシリテータのうちの特定の移行ファシリテータに、特定の移行候補識別クエリに対する前記構成発見サービスにおいて生成される応答を伝達し、前記応答は前記構成記録収集部に少なくとも部分的に基づくものであり、
前記特定の移行ファシリテータから前記１つ以上のプログラムインターフェースを介して、第２のコンピューティング環境への前記第１のコンピューティング環境の少なくとも一部を移行させることに関連付けられる第１の提案の指示を受信し、前記第２のコンピューティング環境は前記プロバイダネットワークの少なくとも１つのリソースを含み、前記第１の提案は暫定的コスト測定基準を含み、
前記１つ以上のプログラムインターフェースを介して第１のクライアントに、前記第１のコンピューティング環境の少なくとも一部を移行させることに関連付けられる１つ以上の提案の各々の指示を伝達し、前記１つ以上の提案は前記第１の提案を含む、
ように構成される、前記システム。
【０１１４】
２．前記１つ以上のコンピューティングデバイスは、
前記１つ以上のプログラムインターフェースを介して、前記特定の移行候補識別クエリを前記特定の移行ファシリテータから受信し、
移行候補識別クエリに少なくとも部分的に基づいて及び１つ以上の構成難読化基準に少なくとも部分的に基づいて、前記構成記録収集部から読み出される１つ以上の構成属性を示すフィルタ仕様を構成し、
前記フィルタ仕様を含む構成クエリを、前記構成発見サービスに伝達し、
前記構成クエリに対する前記自動構成発見サービスから受信される応答に少なくとも部分的に基づいて、前記特定の移行候補識別クエリに対する前記応答を生成する
ように構成されている、条項１に記載のシステム。
【０１１５】
３．前記１つ以上のコンピューティングデバイスは、
前記１つ以上のプログラムインターフェースを介して、実行可能候補マッチングモジュールの指示を前記特定の移行ファシリテータから受信し、前記特定の移行候補識別クエリに対する前記応答は前記候補マッチングモジュールを実行する結果に少なくとも部分的に基づくものである
ように構成されている、条項１に記載のシステム。
【０１１６】
４．前記第１の提案は、（ａ）移行コスト見積、（ｂ）移行スケジュール見積、または（ｃ）前記特定の移行ファシリテータによって実施される前の移行を示すフィードバック記録のうちの１つ以上の指示を含む、条項１に記載のシステム。
【０１１７】
５．前記１つ以上のコンピューティングデバイスは、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、第２の移行ファシリテータに対する前記第２のクライアントによって割り当てられる評定を受信し、前記評定は第２のコンピューティング環境の特定の移行に関連付けられ、前記特定の移行は前記第２の移行ファシリテータによって行われていた、
前記評定を前記移行ファシリテータデータベース内に記憶し、
前記１つ以上のプログラムインターフェースを介して、前記評定を第３のクライアントに提供する
ように構成されている、条項１に記載のシステム。
【０１１８】
６．方法であって、
リソース移行マーケットプレイスサービスの１つ以上のコンピューティングデバイスによって、
１つ以上のプログラムインターフェースを介して、第１のクライアントから前記第１のクライアントの構成記録収集部への１つ以上の移行ファシリテータによるアクセスを可能にする第１の要求を受信することであって、前記構成記録収集セットは前記第１のクライアントの第１のコンピューティング環境に関連付けられる情報を含む、前記受信することと、
前記１つ以上のプログラムインターフェースを介して前記１つ以上の移行ファシリテータのうちの特定の移行ファシリテータに、特定の移行候補識別クエリに対する応答を伝達することであって、前記応答は前記構成記録収集部に少なくとも部分的に基づくものである、前記伝達することと、
前記第１のクライアントに前記１つ以上のプログラムインターフェースを介して、前記特定の移行ファシリテータの補助で、前記第１のコンピューティング環境の少なくとも一部を第２のコンピューティング環境に移行することに関連付けられる第１の提案の指示を提供することと、
を行うことを含む、前記方法。
【０１１９】
７．前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して、前記移行候補識別クエリを前記特定の移行ファシリテータから受信することと、
移行候補識別クエリに少なくとも部分的に基づいて及び１つ以上の構成難読化基準に少なくとも部分的に基づいて、前記構成記録収集部から読み出される１つ以上の構成属性を示すフィルタ仕様を構成することと、
前記フィルタ仕様を含む構成クエリを、前記構成記録収集部が記憶される自動構成発見サービスに伝達することと、
前記構成クエリに対する前記自動構成発見サービスから受信される応答に少なくとも部分的に基づいて、前記特定の移行候補識別クエリに対する前記応答を生成することと、
を行うことをさらに含む、条項６に記載の方法。
【０１２０】
８．前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して、実行可能候補マッチングモジュールの指示を前記特定の移行ファシリテータから受信することであって、前記特定の移行候補識別クエリに対する前記応答は前記候補マッチングモジュールを実行する結果に少なくとも部分的に基づくものである、前記受信すること、
を行うことをさらに含む、条項６に記載の方法。
【０１２１】
９．前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して前記特定の移行ファシリテータから、前記候補マッチングモジュールが実行されるプロバイダネットワークの特定の算出サービスの指示を受信することと、
実行するための前記候補マッチングモジュールを前記特定の算出サービスに提出することと、
を行うことをさらに含む、条項８に記載の方法。
【０１２２】
１０．前記第１の提案は、（ａ）移行コスト見積、（ｂ）移行スケジュール見積、または（ｃ）前記特定の移行ファシリテータによって実施される前の移行を示すフィードバック記録のうちの１つ以上の指示を含む、条項６に記載の方法。
【０１２３】
１１．前記１つ以上のコンピューティングデバイスによって、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、第２の移行ファシリテータに対する前記第２のクライアントによって割り当てられる評定を受信することであって、前記評定は第２のコンピューティング環境の特定の移行に関連付けられ、前記特定の移行は前記第２の移行ファシリテータの補助で行われた、前記受信することと、
前記評定を前記データベース内に記憶することと、
前記１つ以上のプログラムインターフェースを介して、前記評定を第３のクライアントに提供することと、
を行うことをさらに含む、条項６に記載の方法。
【０１２４】
１２．前記１つ以上のコンピューティングデバイスによって、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、第２のコンピューティング環境に対する移行補助要求を受信することと、
前記移行補助要求に応答して、前記第２のクライアントに前記１つ以上のプログラムインターフェースを介して、前記第２のコンピューティング環境の移行を補助するための候補として前記特定の移行ファシリテータを識別する推薦を伝達することと、
を行うことをさらに含む、条項６に記載の方法。
【０１２５】
１３．前記１つ以上のコンピューティングデバイスによって、
第２のクライアントから前記１つ以上のプログラムインターフェースを介して、前記特定の移行ファシリテータが第２のコンピューティング環境の移行に関して承認されている指示を受信することと、
前記第２のクライアントが、プロバイダネットワークの移行計画サービスのワークフローを実行することを可能にする１つ以上の動作を開始することと、
を行うことをさらに含む、条項６に記載の方法。
【０１２６】
１４．前記特定の移行候補識別クエリは、（ａ）移行が前記特定の移行ファシリテータによってサポートされるアプリケーションアーキテクチャ、（ｂ）移行が前記特定の移行ファシリテータによってサポートされるソースコンピューティング環境の最小サイズ、または（ｃ）前記特定の移行ファシリテータの動作の好ましい地理的場所もしくは領域のうちの
１つ以上の指示を含む、条項６に記載の方法。
【０１２７】
１５．前記１つ以上のコンピューティングデバイスによって、
前記１つ以上のプログラムインターフェースを介して、第２のクライアントから第２のコンピューティング環境の構成情報の読み出しを開始する要求を受信することであって、前記第２のコンピューティング環境で起動するアプリケーションは第３のコンピューティング環境への移行に関する候補である、前記受信することと、
自動発見サービスの１つ以上のプログラムインターフェースを呼び出し、前記構成情報の前記読み出しを開始することと、
を行うことをさらに含む、条項６に記載の方法。
【０１２８】
１６．非一過性コンピュータアクセス可能ストレージ媒体であって、１つ以上のプロセッサ上で実行されるとき、
第１のクライアントから前記第１のクライアントの構成記録収集部への１つ以上の移行ファシリテータによるアクセスを可能にする第１の要求が受信されていることを判定させ、前記構成記録収集セットは前記第１のクライアントの第１のコンピューティング環境に関連付けられる情報を含み、
１つ以上のプログラムインターフェースを介して前記１つ以上の移行ファシリテータのうちの特定の移行ファシリテータに、特定の移行候補識別クエリに対する応答の伝達を開始させ、前記応答は前記構成記録収集部に少なくとも部分的に基づくものであり、
前記特定の移行ファシリテータの補助で、前記第１のコンピューティング環境の少なくとも一部を第２のコンピューティング環境に移行することに関連付けられる第１の提案の指示を、前記第１のクライアントに前記１つ以上のプログラムインターフェースを介して提供させる、
プログラム命令を記憶する、前記非一過性コンピュータアクセス可能ストレージ媒体。
【０１２９】
１７．前記命令は、前記１つ以上のコンピューティングデバイスで実行されるとき、
前記移行候補識別クエリが前記１つ以上のプログラムインターフェースを介して前記特定の移行ファシリテータから受信されていることを判定し、
移行候補識別クエリに少なくとも部分的に基づいて及び１つ以上の構成難読化基準に少なくとも部分的に基づいて、前記構成記録収集部から読み出される１つ以上の構成属性を示すフィルタ仕様を構成し、
前記構成記録収集部が記憶される自動構成発見サービスへの前記フィルタ仕様を含む構成クエリの伝達を開始させ、
前記構成クエリに対する前記自動構成発見サービスから受信される応答に少なくとも部分的に基づいて、前記特定の移行候補識別クエリに対する前記応答を生成する、
条項１６に記載の非一過性コンピュータアクセス可能ストレージ媒体。
【０１３０】
１８．前記命令は、前記１つ以上のコンピューティングデバイスで実行されるとき、
実行可能候補マッチングモジュールの指示が前記１つ以上のプログラムインターフェースを介して前記特定の移行ファシリテータから受信されていることを判定させ、前記特定の移行候補識別クエリに対する前記応答は前記候補マッチングモジュールを実行する結果に少なくとも部分的に基づくものである、条項１６に記載の非一過性コンピュータアクセス可能ストレージ媒体。
【０１３１】
１９．前記命令は、前記１つ以上のコンピューティングデバイスで実行されるとき、
前記候補マッチングモジュールが実行されるプロバイダネットワークの特定の算出サービスを識別し、
前記候補マッチングモジュールを、実行するために前記特定の算出サービスに提出させる、
条項１８に記載の非一過性コンピュータアクセス可能ストレージ媒体。
【０１３２】
２０．前記第１の提案は、（ａ）移行コスト見積、（ｂ）移行スケジュール見積、または（ｃ）前記特定の移行ファシリテータの補助で実施される前の移行を示すフィードバック記録のうちの１つ以上の指示を含む、条項１６に記載の非一過性コンピュータアクセス可能ストレージ媒体。
【０１３３】
２１．前記第１の提案は前記特定の移行ファシリテータから利用可能である移行関連ツールを示し、前記ツールは、前記第１のクライアントによって使用可能であり、前記第１のコンピューティング環境の前記一部を前記第２のコンピューティング環境に移行させる、条項１６に記載の非一過性コンピュータアクセス可能ストレージ媒体。
【０１３４】
例示のコンピュータシステム
少なくとも一部の実施形態では、構成発見サービス、関連可視化サービス、及び／または移行マーケットプレイスサービスの構成要素を実装する技法を含む本明細書で説明される１つ以上の技法の一部または全てを実装するサーバは、１つ以上のコンピュータアクセス可能媒体を含む、またはそれにアクセスするように構成される汎用コンピュータシステムを含み得る。図２５は、係る汎用コンピューティングデバイス９０００を示す。示される実施形態では、コンピューティングデバイス９０００は、入力／出力（Ｉ／Ｏ）インターフェース９０３０を介して、システムメモリ９０２０（不揮発性及び揮発性メモリモジュールの両方を備え得る）に連結される、１つ以上のプロセッサ９０１０を含む。コンピューティングデバイス９０００は、さらに、Ｉ／Ｏインターフェース９０３０に連結されるネットワークインターフェース９０４０を含む。
【０１３５】
様々な実施形態では、コンピューティングデバイス９０００は、１つのプロセッサ９０１０を含むユニプロセッサシステム、またはいくつかのプロセッサ９０１０（例えば、２つ、４つ、８つ、または別の好適な数）を含むマルチプロセッサシステムであり得る。プロセッサ９０１０は、命令を実行することが可能な任意の好適なプロセッサであり得る。例えば、様々な実施形態では、プロセッサ９０１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、もしくはＭＩＰＳ  ＩＳＡ、または任意の他の好適なＩＳＡ等の様々な命令セットアーキテクチャ（ＩＳＡ）のうちのいずれかを実装する、汎用または組み込みプロセッサであり得る。マルチプロセッサシステムでは、プロセッサ９０１０のそれぞれは、同じＩＳＡを一般的に実装し得るが、必ずしもそうでない場合がある。一部の実施態様では、グラフィックス処理ユニット（ＧＰＵ）は、従来のプロセッサの代わりに、またはそれに加えて使用され得る。
【０１３６】
システムメモリ９０２０は、プロセッサ（複数可）９０１０によってアクセス可能な命令及びデータを記憶するように構成され得る。少なくとも一部の実施形態では、システムメモリ９０２０は、揮発性及び不揮発性部の両方を備え得、他の実施形態では、揮発性メモリだけが使用され得る。様々な実施形態では、システムメモリ９０２０の揮発性部は、静的ランダムアクセスメモリ（ＳＲＡＭ）、同時性動的ＲＡＭ、または任意の他の種類のメモリ等の任意の好適なメモリ技術を使用して実装され得る。システムメモリの不揮発性部（例えば、１つ以上のＮＶＤＩＭＭを備え得る）に関して、一部の実施形態では、ＮＡＮＤ−フラッシュデバイスを含むフラッシュベースのメモリデバイスが使用され得る。少なくとも一部の実施形態では、システムメモリの不揮発性部は、スーパーキャパシタまたは他の電力ストレージデバイス（例えば、バッテリ）等の電源を含み得る。様々な実施形態では、メモリスタベースの抵抗ランダムアクセスメモリ（ＲｅＲＡＭ）、３次元ＮＡＮＤ技術、強誘電ＲＡＭ、磁気抵抗ＲＡＭ（ＭＲＡＭ）、または様々な種類の相変化メモリ（ＰＣＭ）のうちのいずれかが、少なくともシステムメモリの不揮発性部に使用され得る。示される実施形態では、上記に説明されたそれらの方法、技法、及びデータ等の１つ以上の所望の機能を実施するプログラム命令及びデータは、コード９０２５及びデータ９０２６として、システムメモリ９０２０内に記憶されるように示される。
【０１３７】
一実施形態では、Ｉ／Ｏインターフェース９０３０は、ネットワークインターフェース９０４０、または様々な種類の持続的及び／または揮発性ストレージデバイス等の他の周辺インターフェースを含む、プロセッサ９０１０、システムメモリ９０２０、及びデバイス内の任意の周辺デバイス間のＩ／Ｏトラフィックを調整するように構成され得る。一部の実施形態では、Ｉ／Ｏインターフェース９０３０は、１つの構成要素（例えば、システムメモリ９０２０）からのデータ信号を、別の構成要素（例えば、プロセッサ９０１０）による使用に好適な形式に変換するように、任意の必要なプロトコル、タイミング、または他のデータ変換を行い得る。一部の実施形態では、Ｉ／Ｏインターフェース９０３０は、例えば、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス規格、またはユニバーサルシリアルバス（ＵＳＢ）規格の異形等の様々な種類の周辺バスによって取設されるデバイスに対するサポートを含み得る。一部の実施形態では、Ｉ／Ｏインターフェース９０３０の機能は、例えば、ノースブリッジ及びサウスブリッジ等の２つ以上の別個の構成要素に分割され得る。また、一部の実施形態では、システムメモリ９０２０に対するインターフェース等のＩ／Ｏインターフェース９０３０の機能性のうちの一部または全ては、プロセッサ９０１０に直接組み込まれ得る。
【０１３８】
ネットワークインターフェース９０４０は、データが、例えば、図１〜図２４に示されるような他のコンピュータシステムまたはデバイス等の、コンピューティングデバイス９０００と、単一のネットワークまたは複数のネットワーク９０５０に取設される他のデバイス９０６０との間で交換されることを可能にするように構成され得る。様々な実施形態では、ネットワークインターフェース９０４０は、例えば、イーサネットネットワークの種類等の任意の好適な有線または無線一般データネットワークを介した通信をサポートし得る。加えて、ネットワークインターフェース９０４０は、アナログ音声ネットワークもしくはデジタルファイバ通信ネットワーク等の電気通信／テレフォニネットワークを介して、ファイバチャネルＳＡＮ等のストレージエリアネットワークを介して、または任意の他の好適な種類のネットワーク及び／またはプロトコルを介して通信をサポートし得る。
【０１３９】
一部の実施形態では、システムメモリ９０２０は、対応する方法及び装置の実施形態を実装するための図１〜図２４に関して上記に説明されたようなプログラム命令及びデータを記憶するように構成される、コンピュータアクセス可能媒体の一実施形態であり得る。しかしながら、他の実施形態では、プログラム命令及び／またはデータは、異なる種類のコンピュータアクセス可能媒体に、受信、送信、または記憶され得る。一般的に、コンピュータアクセス可能媒体は、Ｉ／Ｏインターフェース９０３０を介してコンピューティングデバイス９０００に連結される、磁気もしくは光媒体（例えば、ディスクもしくはＤＶＤ／ＣＤ）等の非一過性ストレージ媒体またはメモリ媒体を含み得る。非一過性コンピュータアクセス可能ストレージ媒体は、また、システムメモリ９０２０または別の種類のメモリ等のコンピューティングデバイス９０００の一部の実施形態に含まれ得るＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の任意の揮発性または不揮発性媒体を含み得る。さらに、コンピュータアクセス可能媒体は、伝送媒体、またはネットワーク及び／または無線リンク等の通信媒体を介して伝えられる（ネットワークインターフェース９０４０を介して実施され得る等）電気、電磁気、もしくはデジタル信号等の信号を含み得る。図２５に示されるもの等の複数のコンピューティングデバイスのうちの一部または全ては、様々な実施形態では、説明される機能性を実装するために使用され得、例えば、種々の異なるデバイス及びサーバ上で起動するソフトウェア構成要素が、機能性を提供するために協働し得る。一部の実施形態では、説明される機能性の一部は、汎用コンピュータシステムを使用して実装されることに加えて、またはその代わりに、ストレージデバイス、ネットワークデバイス、または専用コンピュータシステムを使用して実装され得る。本明細書で使用されるような用語「コンピューティングデバイス」は、少なくとも全てのこれらの種類のデバイスを指し、これらの種類のデバイスに限定されない。
【０１４０】
結論
様々な実施形態は、さらに、コンピュータアクセス可能媒体に関する前述の説明に従って実施される命令及び／またはデータを受信、送信、または記憶することを含み得る。一般的に、コンピュータアクセス可能媒体は、磁気媒体または光媒体（例えば、ディスクまたはＤＶＤ／ＣＤ−ＲＯＭ）等のストレージ媒体またはメモリ媒体と、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の揮発性または不揮発性媒体と、伝達媒体、またはネットワーク及び／または無線リンク等の通信媒体を介して伝えられる電気信号、電磁信号、またはデジタル信号等の信号とを含み得る。
【０１４１】
図に示され及び本明細書で説明されるような様々な方法は、本方法の例示的実施形態を表す。本方法は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施され得る。方法の順序は変更され得、様々な要素が追加、再順位付け、組み合わせ、省略、修正等され得る。
【０１４２】
本開示の利点を有する当業者に明白であるように、種々の変形及び変更を行い得る。全ての係る修正及び変更を包含することを意図しており、適宜、上記説明が限定的な意味よりはむしろ、例示的であると見なされる。
【図１】
2019525302.tif 000003
【図２】
2019525302.tif 000004
【図３】
2019525302.tif 000005
【図４】
2019525302.tif 000006
【図５】
2019525302.tif 000007
【図６】
2019525302.tif 000008
【図７】
2019525302.tif 000009
【図８】
2019525302.tif 000010
【図９】
2019525302.tif 000011
【図１０】
2019525302.tif 000012
【図１１】
2019525302.tif 000013
【図１２】
2019525302.tif 000014
【図１３】
2019525302.tif 000015
【図１４】
2019525302.tif 000016
【図１５】
2019525302.tif 000017
【図１６】
2019525302.tif 000018
【図１７】
2019525302.tif 000019
【図１８】
2019525302.tif 000020
【図１９】
2019525302.tif 000021
【図２０】
2019525302.tif 000022
【図２１】
2019525302.tif 000023
【図２２】
2019525302.tif 000024
【図２３】
2019525302.tif 000025
【図２４】
2019525302.tif 000026
【図２５】
2019525302.tif 000027
【国際調査報告】
2019525302.tif 000028
2019525302.tif 000029
2019525302.tif 000030