【実施例】
【0037】
検出装置1は、センサデータレセプタ10、パターン抽出器20、及びパターンマッチャを有する。
【0038】
本実施例における検出装置及びそのコンポーネントの各々、そして以下に説明する各実施例は、専用のハードウエアコンポーネント、又はコンピューティング装置において実行される機能モジュールによって実現されてもよい。以下のケースにおいて、機能モジュールは、実行可能なソフトウエアコード、入出力インターフェース、プロセッサ、及びストレージデバイスの組合せであってもよい。各コンポーネントは、共通のコンピューティングデバイス上で実行されてもよく、あるいは、検出装置1は、複数のコンピューティングデバイスの共同したオペレーションによって実現されてもよい。このようなコンピューティングデバイスは、少なくとも相互接続されたネットワークインターフェースデバイス、ストレージデバイス、及びプロセッサ、加えて、入力デバイス及びディスプレイユニットを有してもよい。検出装置の機能を提供するコンピューティングデバイスは、その機能のために用いられ、あるいは、例えばタスク分散などのネットワーク管理機能のような他のタスクを実行するためのネットワークコントローラであってもよい。
【0039】
センサデータレセプタ10は、環境センサ、又はセンサデータが受信される何らかのインターフェースに接続されている。パターン抽出器20は、センサデータレセプタ10によって受け取られたセンサデータを分析し、かつパターンをそれから抽出するよう動作可能となっている。センサデータは、センサデータレセプタ10によって、あるいは他の装置によって、格納され、かつ、パターン抽出器20は、パターンを抽出するために、格納されたデータにアクセスすることができる。あるいは、センサデータレセプタ10と、パターン抽出器20との間のデータ接続が存在する。これによって、センサデータは、分析及びパターン抽出のために、センサデータはパターン抽出器20に転送される。センサデータレセプタ10は、受け取られたセンサデータの初期のフォーマッティングを実行してもよい。パターン抽出器は、パターンマッチャ30に対して、抽出したパターンを表すデータを転送するよう動作する。したがって、パターンマッチャとデータ抽出器との間には、データ接続が存在する。パターンマッチャ30は、一致が発見された場合、検出されたデータを出力するよう動作する。
【0040】
センサデータレセプタ10は、センサデータを受け取る。センサデータは、環境センサによって検出された物理資源のオペレーティングプロパティの変化を表している。環境センサは、例えば、物理資源により使われる電流、又はプロセッサなどのコンポーネントの電流の変化を検出する。センサデータは、したがって、物理資源により引き出されるパワーを反映している。センサデータは、オペレーティングプロパティの絶対的な値を提供する。しかしながら、示されるべきオペレーティングプロパティの変化を少なくとも提供すれば十分である。
【0041】
センサデータを受け取ると、センサデータレセプタ10は、その受け取ったデータの分析、分類、スケーリング、あるいはその他のフォーマッティングを実行する。センサデータレセプタ10は、1つ以上の受け取ったデータのバッファを有し、複数の環境センサからのデータを分離し、かつ、一時的に格納する。センサデータは、受け取った環境センサが識別できるように、あるいは、オペレーティングプロパティを検出する物理資源が識別できるように取り扱われる。例えば、センサデータは、パケットで格納されてもよい。あるいは、関連する環境センサ又は物理資源を記述したヘッダを含むファイルとして格納されてもよい。あるいは、パターン検出装置1は、複数の環境センサを連続的に取り扱ってもよい。これによって、いつでも、これは、1つの環境センサ又は物理資源のみからデータを受け取ることができる。
【0042】
パターン検出アルゴリズムは、広く利用可能で有り、かつ、多くの技術分野において利用されている。当業者であれば、特定のアルゴリズム又はルーチンを選択することは、本発明の実施例の特定の要求に依存することが理解できる。なお、センサデータが使用電流の変化を表している上述の単純な実施例を再度用いれば、閾値が設定されてもよい。そして、センサデータが受け取られた時間の時に、予め定められたインターバルによって分離され、電流の値が閾値を超えた場合には、1がマークされ、閾値以下であれば、0がマークされる。このようにして、ビットシーケンスが抽出される。これからパターン抽出器20は、例えば、繰り返しパターン(recurring patterns)を探すことができる。
【0043】
実施例に応じて、パターンは特定のフォーマットとなる。したがって、パターン抽出器20は、そのフォーマットに合致したパターンを探し、かつ抽出する。あるいは、パターンフォーマット間の識別は、パターンマッチャ30に委ねることができる。なぜなら、不正確なフォーマットのパターンは、一致(match)を出力しないからである。
【0044】
このパターンマッチャ30は、その設備(provision)の中で利用されている前記物理資源の詳細が要求されている特定の仮想資源に属する既知の識別子パターンを持っているため、既知のパターンをパターン抽出器20によって提供された抽出されたパターンと比較する。パターンマッチャ30によって一致が判断される得るためにパターンが同じでなければならない範囲は、実施例に依存する。例えば、予め定められた長さの二つの同一のビットパターンが要求される。あるいは、パターンマッチャは、既知のパターンに基づいて、特定の仮想資源から抽出されたパターンの類似性を評価するよう動作可能であってもよい。一致を出力するよう構成された閾値類似性が存在してもよい。
【0045】
検出装置1は、既知のパターンを、各環境センサ、又は一致を求めているドメインの物理資源からのパターンと比較する。特定の仮想資源を提供するために1つ以上の物理資源が利用されてもよい。この場合には、1つ以上の一致が発見されてもよい。検出装置1のデータ処理条件としては、検出装置1が、マルチスレッドのオペレーションを実行するよう動作可能であり、多くのセンサデータのストリームがパターン抽出を受け、マッチが同時になされるということであってもよい。
【0046】
本明細書において開示された実施例のコンテキストの仮想資源は、例えば、システムアーキテクチャのインフラストラクチャレイヤへのインターフェースであってもよい。この場合、仮想資源は、あたかも仮想資源そのものがインフラストラクチャレイヤを提供する物理資源であるかのように、インフラストラクチャレイヤを提供している物理資源への、より高いレイヤでのアクセスを提供する。
【0047】
図2は、クエリを受け取り応答するよう動作可能な実施例のブロック図を示している。検出装置1は、センサデータレセプタ10、パターン抽出器20、及びパターンマッチャ30を有し、これらのコンポーネントは、
図1に関連して述べたとおりである。検出装置1は、クエリレセプタ40、応答ジェネレータ50、及びストレージルックアップテーブル60を有する。クエリソース70及び応答先80も記載されている。なお、これらは実施例の特徴ではない。
【0048】
コンポーネント間のデータ接続は、実施例に示されたものに限定されない。特定の接続が例示的に選択されているが、コンポーネント間の他の接続も存在することを理解すべきである。クエリレセプタ40は、パターンマッチャ30に接続されており、クエリで識別された仮想資源によって生成されたことが既知であるパターンを表すデータがパターンマッチャに転送されるようにする。パターンマッチャ30は、応答ジェネレータ50に接続されており、抽出されたパターンが生成された既知のパターンと一致することが発見された物理資源の詳細が、応答ジェネレータ50に転送され、かつ応答としてフォーマットされる。クエリレセプタ40は、クエリ等に関係する情報を交換するために、応答ジェネレータ50に接続されている。実施例において、クエリレセプタ40は、ストレージルックアップテーブル60に接続されており、特定の仮想資源を識別するクエリを受信すると、クエリレセプタ40は、その仮想資源によって生成されたことが既知であるパターンを探すために、蓄積されたリスト(ストレージルックアップテーブル)60を参照する。
【0049】
クエリソース70は、ユーザ又はトラブルシュータプログラムなどのサービスである。クエリソース70、応答先80と、検出装置1との間の点線は、コンピューティング環境における他のコンポーネントの存在の可能性を示している。クエリソース70はクエリレセプタ40にクエリを転送する。クエリのコンテンツから、クエリレセプタ40は、クエリソースが詳細を知りたい物理資源であって、その設備を利用している少なくとも特定の仮想資源を識別できる。
【0050】
クエリレセプタ40は、クエリコンテンツ又は識別された仮想資源の識別から、特定の仮想資源によって生成されたことが既知であるパターンを得ることができる。あるいは、クエリレセプタ40は、識別された仮想資源が生成することが既知の識別子パターンを求めて、ストレージルックアップテーブル60にアクセスしてもよい。
【0051】
クエリレセプタ40は、抽出されたパターンからパターンマッチャが一致を求めるための既知のパターンとして、識別子パターンをパターンマッチャに転送する。例えば、センサデータレセプタ10、パターン抽出器20、及びパターンマッチャ30は、共同して、各環境センサ又は一致を発見するドメイン内の物理資源からのセンサデータを分析する。一旦一致(match)が発見されると、パターンマッチャ30は、環境センサ又は一致データの生じた物理資源の詳細を、応答ジェネレータ50に転送する。応答ジェネレータ50は、データベース又はルックアップテーブルに、一致したデータのオリジンに関する更なる情報を求めて、アクセスしてもよい。応答ジェネレータ50は、例えば、応答の宛先などの、クエリレセプタ40からの情報を必要に応じて用いて、クエリに対して応答を生成する。応答ジェネレータ50は、この応答を、応答先80に転送する。この応答先は、クエリソース70と同じであっても、異なってもよい。
【0052】
図3は、本発明の実施例のコンピューティングネットワークのブロック図を示している。
【0053】
ネットワーク100は、識別子Ph1を含む物理資源101a、及び識別子Ph2を含む物理資源101bを有する。物理資源101aは、環境センサ103aを含み、そして、仮想資源102aを提供するために利用されている。この仮想資源102aは、識別子Vir1を含む。物理資源101bは、環境センサ103bを含み、そして、仮想資源102bを提供するために利用されている。この仮想資源102bは、識別子Vir2を含む。仮想資源102bは、プローブソフトウエア104を実行している。識別子、Ph1、Ph2、Vir1、及びVir2は、任意のものであるが、このドメイン内においてユニークでなければならない。
【0054】
このネットワークは、更に、検出装置1及びデータベース105を有している。検出装置1は、
図1及び/又は
図2を参照しながら説明した検出装置であってもよい。
【0055】
物理資源101a及び101bは、相互に接続されており、検出装置にも接続されている。
【0056】
物理資源101a及び101bは、ネットワークコンポーネントであってもよい。例えば、サーバマシン、又は他のコンピュータである。あるいは、物理資源は、ネットワークスイッチ又は他の管理されたネットワークコンポーネントであってもよい。
【0057】
検出装置1は、最初に、関心対象の仮想資源の識別子と共にクエリを受け取る。この場合、メッセージは「Id Vrr2」である。これは、識別子「Vir2」を含む仮想資源102bを提供するために利用されている物理資源の詳細が要求されていることを、検出装置1が認識するに十分なものである。
【0058】
検出装置1は、データレセプタ10及びパターン抽出器20を用いて、このドメインの環境センサの出力をスキャンする。環境センサ103a及び103bからの出力が一定の時間スキャンされる。なお、この時間の長さは、仮想資源の性質又は他の構成可能なファクタにより決定される。
【0059】
図4は、環境センサがスキャンされた前記一定の時間に収集されたセンサデータの典型的なグラフを示している。このグラフからビットコードへの変換は、センサデータレセプタ10又はパターン抽出器20によって実行されてもよい。
図4の抽出されたパターンは、仮想資源を実行している物理資源によってなされている仕事によって自然に上昇している。あるいは、仮想資源上で動作しているソフトウエアによって人工的に生成され得る。
図4の抽出されたパターンは、仮想資源102bが動作している物理資源101bの環境センサ103bからのものである。仮想資源102bは、プローブソフトウエア104を実行している。これは、
図4に見られるパターンを人工的に作り出す責任がある。
【0060】
事実、環境センサS2は、物理資源101bのCPUによって消費される電流を検出している。プローブソフトウエアP2は、予め定められた期間に負荷をCPUにかけることができ、これが「負荷パターン」を形成する。負荷を増加させるには、例えば、複雑な計算中心のシミュレーション(complex calculation−intensive simulations)をCPUに実行するよう要求し、プローブソフトウエアにより要求される負荷パターンに基づいて、シミュレーションをストップあるいは開始させる要求を与えるだけで、センサデータの出力に人工的なパターンを生成することができる。
【0061】
プローブソフトウエアP2によって作られたパターンは、それが動作している仮想資源102bに特有のものとなる。特定の実施例に基づいて、プローブソフトウエアP2によって作られたパターンは、それが動作している仮想資源の識別子に特有のものとなる(仮想資源は、終了又は消滅してもよく、そしてその識別子は新たな仮想資源に再度用いられてもよい)。プローブソフトウエア104によって作られた、
図4の抽出されたパターンにおいて、このパターンは、物理資源101bのCPUの電流の高低のオペレーションの連続によって、バイナリにエンコードされる。負荷におけるこれらの変化は、CPUの電流消費に反映され、そして、環境センサ103bによって検出される。環境センサ103bからのセンサデータは、ネットワークを経由して検出装置1のセンサデータレセプタ10に転送される。
【0062】
図3の特定の実施例において、この抽出されたパターンは、特定の仮想資源によって生成されたこと、または、外部データベース105の特定の仮想資源IDに関連することが既知である識別子パターンのリストと比較される。この抽出されたパターンが、特定の仮想資源IDと関連しており、クエリのそれ(このケースでのVir2)と一致した場合、検出装置1は、そのパターンが検出された物理資源101bの識別子を出力する。
【0063】
図4に示した実施例において、抽出及びマッチングのプロセスは、パターンのバイナリの性質からして、非常に単純である。すなわち、高い電流=“1”;低い電流=“0”である。更に複雑な実施例、例えば、特定の物理資源で動作している複数の環境センサにより生成された多次元パターンを持つ実施例が存在する。あるいは、仮想資源が複数のアクティビティを実行している場合、その仮想資源での他のアクティビティにより作られるノイズからパターンを抽出するために、ノイズフィルタが必要となる。
【0064】
一つの物理資源は、複数の仮想資源を提供するために利用することができる。この場合、パターンを抽出するために、受け取られたセンサデータの更なるフィルタリングが必要となり得る。
【0065】
既知のパターンは、検出された値において類似性を持つバリエーションであってもよい。これによって、パターンに対して、より自由度が増加し、実行されるパターンの全期間に要する時間を短くすることができる。そして、必要とする高い/低い点に係るバリエーションを減少させる。
【0066】
上述した全ての場合において、ハードウエアに対して、又は、1つ以上のプロセッサで実行されるソフトウエアモジュールに対して、様々な特徴がインプリメントされ得る。一つの側面の特徴は、あらゆる他の側面に対しても適用し得る。
【0067】
本発明は、本明細書に記載された、いかなる方法を実行するためのコンピュータプログラム、又はコンピュータプロダクトをも提供する。そして、本明細書に記載された方法を実行するコンピュータプログラムを格納したコンピュータ可読媒体を提供する。本発明を実施するコンピュータプログラムは、コンピュータ可読媒体、あるいは、例えば、インターネットウェブサイトから提供されるダウンロード可能なデータ信号、あるいは、その他のいかなる形式の信号であってもよい。
【0068】
以上の実施例に関し、更に以下の付記を開示する。
(付記1)
コンピューティング環境において、特定の仮想資源を提供するために利用される物理資源を検出するための検出装置であって、前記コンピューティング環境は、複数の物理資源であって、それらの各々が、仮想資源を提供するために利用されるよう動作可能であり、かつ、前記物理資源のオペレーティングプロパティの変化を表すセンサデータを出力する環境センサを有し、当該検出装置は、
前記環境センサにより出力されたセンサデータを受け取るよう動作可能なセンサデータレセプタと;
物理資源から受け取られた前記センサデータからパターンを抽出するパターン抽出器と;
パターンマッチャと;
を有し、
前記パターンマッチャは、抽出された前記パターンを、特定の仮想資源から生成されたことが既知である識別子パターンと比較し、一致が発見された場合に、前記物理資源が前記特定の仮想資源を提供するために利用されていることを検出するよう動作可能な、
検出装置。
(付記2)
仮想資源のリストを格納するメモリであって、前記仮想資源の各々は、既知のユニークなパターンを生成する、メモリ、
を更に有する、付記1記載の検出装置。
(付記3)
仮想資源を識別し、前記仮想資源を提供するために利用されている物理資源の検出を要求するクエリを受け取るよう動作可能なクエリレセプタと;
前記特定の仮想資源として前記クエリによって識別された前記仮想資源を使用して、前記パターンマッチャによって一致が検出された場合、前記物理資源が前記クエリで識別された前記仮想資源を提供するために利用されているということを識別する応答を生成し、出力するよう動作可能な応答ジェネレータと;
を更に有する、付記1又は2に記載の検出装置。
(付記4)
前記パターンマッチャは、前記クエリの前記仮想資源の識別子に基づいて、前記ユニークなパターンを得る、
付記3記載の検出装置。
(付記5)
前記クエリは、識別された前記仮想資源を提供するために現在利用されている物理資源を更に識別し;
前記センサデータレセプタは、識別された前記物理資源が識別された前記仮想資源を提供するためにまだ利用されていることが既知の予め定められた時間間隔において、識別された前記物理資源からセンサデータを収集するよう動作可能であり;
前記パターン抽出器は、識別された前記仮想資源によって生成されたことが既知である前記識別子パターンとして、収集された前記センサデータから、パターンを抽出するよう動作可能である;
付記3又は4に記載の検出装置。
(付記6)
前記センサデータレセプタは、1つ以上の環境センサであって、それらの各々が異なるオペレーティングプロパティの変化を表すセンサデータを出力する、1つ以上の環境センサを有する物理資源からセンサデータを受け取るよう動作可能である、
付記1ないし5のうちいずれか1項記載の検出装置。
(付記7)
付記1ないし6のうちいずれか1項に記載の前記検出装置を有する、ネットワークコントローラ。
(付記8)
複数の物理資源であって、それらの各々が、前記仮想資源を提供するよう利用されるよう動作可能で、かつ、それらの各々が、前記物理資源のオペレーティングプロパティの変化を表すセンサデータを出力するよう動作可能な環境センサを含む、複数の物理資源と;
付記1記載の検出装置、又は付記7記載のネットワークコントローラと;
を有する、コンピュータネットワーク。
(付記9)
前記コンピュータネットワークに提供された前記仮想資源の各々は、プローブモジュールを実行するよう動作可能であり、前記プローブモジュールは、それぞれの仮想資源を提供するために利用される物理資源のセンサデータに識別子パターンを人工的に生成するよう動作可能である、
付記8記載のコンピュータネットワーク。
(付記10)
前記パターンは反復的である、付記9記載のコンピュータネットワーク。
(付記11)
前記プローブモジュールは、前記物理資源の前記オペレーティングプロパティに変更をもたらすことによって、物理資源の前記センサデータに前記識別子パターンを人工的に生成するよう動作可能である、
付記9又は10記載のコンピュータネットワーク。
(付記12)
前記識別子パターンは、それぞれの前記仮想資源のユニークな識別子を表すバイナリシーケンスである、
付記8ないし11のうちいずれか1項記載のコンピュータネットワーク。
(付記13)
コンピュータネットワークの仮想資源の上で動作するプローブモジュールであって、
前記コンピュータネットワークは、
複数の物理資源であって、それらの各々が、仮想資源を提供するよう利用されるべく動作可能であり、前記物理資源のオペレーティングプロパティの変化を表すセンサデータを出力する環境センサを含む、複数の物理資源と、
検出装置と、を含み、
前記検出装置は、コンピューティング環境において、特定の仮想資源を提供するために利用されている物理資源を検出するよう動作可能であり、
前記検出装置は、
前記環境センサにより出力されたセンサデータを受け取るよう動作可能なセンサデータレセプタと、
物理資源から受け取られた前記センサデータからパターンを抽出するよう動作可能なパターン抽出器と、
パターンマッチャと、を有し、
前記パターンマッチャは、抽出された前記パターンを、特定の仮想資源によって生成されたことが既知である識別子パターンと比較し、一致が発見された場合、前記物理資源が前記特定の仮想資源を提供するために利用されていることを検出するよう動作可能であり、
当該プローブモジュールは、前記特定の仮想資源を提供するために利用されている物理資源の前記センサデータに対して識別子パターンを人工的に生成するよう動作可能である、
プローブモジュール。
(付記14)仮想資源を提供するために物理資源が動作可能なコンピュータネットワークで特定の仮想資源を提供するために利用される物理資源を検出するための方法であって、前記コンピュータネットワークは、複数の物理資源の各々が仮想資源を提供するために利用されるよう動作可能であり、かつ、前記物理資源のオペレーティングプロパティの変化を表すセンサデータを出力する環境センサを有し、
当該方法は、
前記環境センサにより出力されるセンサデータを受信する段階と;
物理資源から受信された前記センサデータからパターンを抽出する段階と;
抽出された前記パターンを、特定の仮想資源によって生成されたことが既知である識別子パターンと比較し、一致が検出された場合、前記物理資源が特定の仮想資源を提供するために利用されていることを検出する段階と;
を有する方法。
(付記15)
物理資源が仮想資源を提供するよう動作可能なコンピュータネットワーク上のコンピュータによって実行され、特定の仮想資源を提供するために利用される物理資源を検出するためのプログラムであって、前記コンピュータネットワークは、複数の物理資源の各々が、仮想資源を提供するために利用されるよう動作可能であり、前記物理資源のオペレーティングプロパティの変化を表すセンサデータを出力する環境センサを有し、
当該プログラムは、
物理資源から受信された前記センサデータからパターンを抽出し、
前記抽出されたパターンを、特定の仮想資源によって生成されたことが既知である識別子パターンと、比較し、かつ、一致が検出された場合、前記特定の仮想資源を提供するために前記物理資源が利用されていることを検出する;
処理を前記コンピュータに実行させるプログラム。
(付記16)
物理資源が仮想資源を提供するよう動作可能なコンピュータネットワークで仮想資源を識別する方法であって、
前記コンピュータネットワークは、
複数の物理資源であって、複数の物理資源の各々は、仮想資源を提供するために利用されるよう動作可能であり、かつ、前記物理資源のオペレーティングプロパティの変化を表すセンサデータを出力する環境センサを含む、複数の物理資源と、
検出装置と、を有し、
前記検出装置は、コンピューティング環境で、特定の仮想資源を提供するために利用される物理資源を検出するよう動作可能であり、かつ、
前記検出装置は、
前記環境センサにより出力されたセンサデータを受け取るよう動作可能なセンサデータレセプタと、
物理資源から受け取られた前記センサデータからパターンを抽出するよう動作可能なパターン抽出器と、
パターンマッチャと、を有し、
前記パターンマッチャは、抽出された前記パターンを、特定の仮想資源によって生成されたことが既知である識別子バターンと比較し、かつ、一致が発見された場合、前記物理資源が、前記特定の仮想資源を提供するために利用されていることを検出するよう動作可能であり、
当該方法は、
前記それぞれの仮想資源を提供するために利用されている物理資源のセンサデータに識別子パターンを人工的に生成するステップ、
を有する方法。