(57)【要約】【課題】本発明は、大規模コンピューティング・システム環境において仮想リソースを検索するための方法、デバイス、およびシステムに関する。【解決手段】仮想リソースは少なくとも１つのサーバ上で展開され、各サーバはセンサに結合されると共にセンサと通信を行い、センサは相互に通信を行うと共に通信ネットワークから成り、各センサはセンサに接続されたサーバにおいて展開された仮想リソースの識別子およびセンサ自体の位置情報を記憶する。この方法は、少なくとも１つのセンサによって仮想リソースの検索要求を受信することであって、検索要求が検索対象の仮想リソースの識別子を含む、ことと、検索要求をセンサの通信ネットワークにおいて転送することと、仮想リソースの識別子を記憶しているセンサの位置情報をセンサ自体によって戻すことと、を含む。【選択図】図７
2013503376.tif 000002
【特許請求の範囲】
【請求項１】
仮想リソースの位置を検索するための方法であって、前記仮想リソースが少なくとも１つのサーバ上で展開され、各サーバがセンサに結合されると共に前記センサと通信を行い、前記センサが相互に通信を行うと共に通信ネットワークから成り、各センサが前記センサに接続されたサーバにおいて展開された仮想リソースの識別子および前記センサ自体の位置情報を記憶し、前記方法が、
前記少なくとも１つのセンサによって仮想リソースの検索要求を受信することであって、前記検索要求が検索対象の前記仮想リソースの識別子を含む、ことと、
前記検索要求を前記センサの前記通信ネットワークにおいて転送することと、
前記仮想リソースの前記識別子を記憶しているセンサの位置情報を前記センサ自体によって戻すことと、
を含む、方法。
【請求項２】
前記センサの前記通信ネットワークがアドホック無線ネットワークである、請求項１に記載の方法。
【請求項３】
各センサが前記センサに接続されたサーバにおいて展開された前記仮想リソースの情報を獲得することであって、前記仮想リソースの前記情報が前記仮想リソースの識別子を含むことを更に含む、請求項１または２に記載の方法。
【請求項４】
前記仮想リソースの前記情報が、アクティブおよび非アクティブの少なくとも１つからの前記仮想リソースのステータスを示す情報を含む、請求項３に記載の方法。
【請求項５】
各センサがそれ自体の位置情報を獲得することを更に含み、各センサがそれ自体の位置情報を獲得することが、
各センサが複数の信号源から信号を受信することによってそれ自体の前記位置を計算することであって、前記複数の基準信号源が前記サーバの周囲に固定されていることを含む、前出の請求項のいずれかに記載の方法。
【請求項６】
前記位置情報を戻す前記センサが、前記センサに音響信号または視覚信号を生成するように命令するメッセージを受信し、前記受信したメッセージに従って音響信号または視覚信号を生成することを更に含む、前出の請求項のいずれかに記載の方法。
【請求項７】
前記位置情報を戻す前記センサまでの経路を計算し表示することを更に含む、前出の請求項のいずれかに記載の方法。
【請求項８】
サーバ上に搭載されるセンサであって、前記サーバに仮想リソースが展開され、
通信ユニットであって、他のセンサの通信ユニットと通信を行って前記センサおよび他のセンサが通信ネットワークから成るようにするため、更に仮想リソースの検索要求を受信するために用いられ、前記検索要求が前記仮想リソースの識別子を含む、通信ユニットと、
前記センサの位置情報を計算し記憶するために用いられる位置情報計算ユニットと、
前記センサが搭載されたサーバと通信を行い、前記サーバ上で展開された仮想リソースの識別子を獲得するために用いられる仮想リソース情報獲得ユニットと、
前記仮想リソース情報獲得ユニットによって獲得された前記仮想リソースの前記識別子を記憶するために用いられる仮想リソース情報記憶ユニットと、
前記仮想リソース情報記憶ユニットから前記仮想リソースの前記識別子を検索し、前記仮想リソースの前記識別子が見つかった場合には前記位置情報計算ユニットによって計算された前記位置情報を戻すために用いられる仮想リソース情報検索ユニットと、
を含む、センサ。
【請求項９】
前記通信ユニットがアドホック無線プロトコルによって通信を行う、請求項８に記載のセンサ。
【請求項１０】
前記仮想リソース情報記憶ユニットが、アクティブおよび非アクティブの少なくとも１つからの前記仮想リソースのステータスを示す情報を更に記憶する、請求項８または９に記載のセンサ。
【請求項１１】
前記センサの前記位置情報計算ユニットが、複数の基準信号源から信号を受信することによって前記位置情報を計算する、請求項８から１０のいずれかに記載のセンサ。
【請求項１２】
複数のサーバであって、少なくとも１つのサーバに仮想リソースが展開されている、サーバと、
請求項８から１１のいずれかに記載の複数のセンサと、
を含む、データ・コンピューティング・システム。
【請求項１３】
データ・コンピューティング・システムにおいて仮想リソースの位置を検索するために用いられる端末デバイスであって、前記データ・コンピューティング・システムが複数のサーバを含み、各サーバがセンサに結合され、前記センサが通信ネットワークから成り、少なくとも１つのサーバに前記仮想リソースが展開され、前記端末デバイスが、
仮想リソースの検索要求を入力するために用いられ、前記検索要求が前記仮想リソースの識別子を含む、仮想リソース検索要求入力ユニットと、
前記複数のセンサの少なくとも１つのセンサと通信を行うため、および前記検索要求を前記センサに送信するために用いられる通信ユニットと、
前記端末デバイスの位置を計算するために用いられる位置情報計算ユニットと、
前記センサから戻された前記仮想リソースの位置情報に基づいて、前記端末デバイスの前記位置から前記仮想リソースまでの経路を計算するために用いられる経路計算ユニットと、
前記経路計算ユニットによって計算された経路情報を表示するために用いられる表示ユニットと、
を含む、端末デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想リソースを検索するための方法およびシステムに関し、具体的には、例えばクラウド・コンピューティング環境のような大規模コンピューティング・システム環境において仮想リソースを検索するための方法およびシステムに関する。
【背景技術】
【０００２】
クラウド・コンピューティングは、動的にスケーラブルであり多くの場合は仮想化されているリソースがインターネットを介してサービスとして提供される新規なスタイルのコンピューティングである。ユーザは、自分をサポートしている「クラウド」における技術インフラストラクチャについて知識もノウハウも持つ必要がなく、制御する必要もない。クラウド・コンピューティング・インフラストラクチャの大部分は、異なるレベルの仮想化技術を用いてデータ・センタを介して配信されサーバ上で構築された信頼性の高いサービスから成る。これらのサービスは、ネットワーキング・インフラストラクチャにアクセスを提供するいかなる場所でもアクセス可能である。多くの場合、クラウドは、全ての消費者のコンピューティング・ニーズのための単一のアクセス・ポイントとして現れる。
【０００３】
図１はクラウド・コンピューティング・センタの一例を示す。図１に示す例では、相互接続された複数のサーバ１０１は、クラウド・コンピューティング・センタ１００で構成されている。複数の端末２００が、クラウド・コンピューティング・センタ１００にアクセスして、「クラウド」が提供するコンピューティング・サービスを得ることができる。かかるクラウド・コンピューティング・センタは、すでに民間分野で広く用いられている。例えば、Amazon Elastic Computer Cloud（「ＥＣ２」としても知られる）は民間のウェブ・サービスであり、カスタマが自分のコンピュータ・アプリケーションを動作させるコンピュータを賃借することを可能とする。ＥＣ２は、カスタマが好みのソフトウェアをロードすることができる仮想マシンすなわちサーバ・インスタンスを生成することができるウェブ・サービス・インタフェースを提供することによって、スケーラブルなアプリケーション展開を可能とする。カスタマは、必要に応じてサーバ・インスタンスを生成、起動、および終了させることができ、アクティブなサーバについて時間ぎめで支払いをするので、「elastic（柔軟な）」という言葉が用いられる。ＥＣ２のこれ以上の詳細については、Amazon. co.が提供するＡＷＳ（Amazon Web Services）を参照されたい。更に、Microsoftが提供するAzureService Platformも、幅広いインターネット・サービスを提供するクラウド・コンピューティング・プラットフォームである。MicrosoftおよびSalesforce等は、各々クラウド・コンピューティング・サービスを提供している。
【０００４】
多くの場合、クラウド・コンピューティング・センタを実施するのは、１つ以上のデータ・センタにおいて集合的に展開されネットワークによって相互接続された多数の物理サーバである。例えば、クラウド・コンピューティング・サービスを提供しているプロバイダは、１つのデータ・センタ内で何万もの物理サーバを展開することによって、１つのクラウド・コンピューティング・センタを実施することができる。
【０００５】
上述の大規模クラウド・コンピューティング・センタにおいては、往々にして、ある物理サーバまたはある仮想マシンの位置を見つけることが必要となる。例えば、ユーザにクラウド・コンピューティング・サービスを提供している１つの仮想マシンが機能しない場合、マネージャはこの仮想マシンの具体的な位置を見つけたいはずである。更に、例えばある物理マシンが機能しない場合、マネージャはこの物理マシンの具体的な位置を見つけたいはずである。
【０００６】
しかしながら、多くの場合クラウド・コンピューティング・センタの物理サーバは移動されて再展開されるので、物理サーバおよびその上の仮想マシンも移動することが多い。物理サーバの各移動の後に新しい位置情報をマネージャが注意深く記録する場合であっても、移動回数が多くなればなるほど、マネージャがミスをして、そのためにある物理マシンの位置情報を失うということが容易に起こり得る。更に、マネージャが全ての物理サーバの位置を記録し更新することは大きな負担であり、特にデータ・センタが超大規模である場合には不可能な任務である。例えば、１つの大きいデータ・センタからのリポートによれば、このデータ・センタの物理サーバの大部分の位置を精密に特定することは不可能であるが、それでもクラウド・コンピューティング・センタ全体は動作している。
【０００７】
クラウド・コンピューティング・センタにおいては、物理サーバの位置だけが頻繁に移動するのでなく、物理サーバ上の仮想マシンも動的に確立され、移動され、マージされる等であることが多い。従って、物理マシンおよび仮想マシンの双方の位置は絶え間なく変化しており、このため従来技術の手段によって満足する位置サービスを提供することは難しい。
【０００８】
例えば、米国特許第７，１８０，４２２号が開示するアセット管理方法およびデバイスにおいては、ターゲット・デバイスを管理するために、このターゲット・デバイスに論理タグ（Ｌタグ）および物理タグ（Ｐタグ）を取り付ける。物理タグは、コンピュータの物理アドレス情報および他の情報を含み、論理タグは、コンピュータの名前、ＩＰアドレス等を含む。タグとしてＲＦＩＤが用いられる。しかしながら上述の方法は、単に物理コンピュータの物理的および論理的属性を追跡可能であるだけであり、仮想サーバに適用することはできず、仮想サーバの情報を提供することもできない。更に、タグとしてＲＦＩＤが用いられるので、追加のＲＦＩＤリーダが必要であり、リーダとＲＦＩＤとの間の距離が制限されることで、上述の方法の動作距離が制限される。
【０００９】
更に、例えば米国特許第７，４３６，３０３号は、ラックに収容されたハードウェア・アセットについての情報を検知するように動作可能なラック・センサ・コントローラについて記載している。各ラック・センサ・コントローラは、ラックの位置および複数のセンサから受信したセンサ情報を記憶したメモリを有する。センサの少なくともいくつかは、ラックに収容されたアセットに取り付けたＲＦＩＤタグを読み取るように動作可能である１つ以上のＲＦＩＤリーダを含む。各ラック・センサ・コントローラはプロセッサを有し、これがセンサ情報を受信して、フォワーダによって１つ以上のバックエンド・アプリケーションに送信するために、センサ情報およびラックの位置を含むメッセージを発生するように動作可能である。しかしながら、上述の特許において、センサはラックに搭載され、ラックの位置は比較的固定されて頻繁には移動されない。このため、この特許は、例えばクラウド・コンピューティング・センタの物理サーバを移動させることができる場合のような、サーバが任意に移動される動的データ・コンピューティング環境に適用することはできない。更に、上述の特許はＲＦＩＤ技法を用いる。各ＲＦＩＤは受動的であり、通信またはコンピューティング機能を持たない。このため、追加のＲＦＩＤリーダが必要であり、上述のデバイスはＲＦＩＤリーダの通信距離によって制限される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第７，１８０，４２２号
【特許文献２】米国特許第７，４３６，３０３号
【非特許文献】
【００１１】
【非特許文献１】Distributedlocalization in wireless sensor networks: a quantitative comparison（Computer Networks 43、２００３年、４９９〜５１８、Koen Langendoen等）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述のような従来技術における技術的な問題を解決するため、本発明は、大規模コンピューティング環境（例えばクラウド・コンピューティング環境）において仮想リソースを検索するための方法およびシステムを提供すること、具体的には、仮想マシン（ＶＭ）の位置を検索するための方法およびシステムを提供することを意図している。
【課題を解決するための手段】
【００１３】
本発明は、仮想リソースの位置を検索するための方法を提供する。仮想リソースは少なくとも１つのサーバ上で展開され、各サーバはセンサに結合されると共にセンサと通信を行い、センサは相互に通信を行うと共に通信ネットワークから成り、各センサはセンサに接続されたサーバにおいて展開された仮想リソースの識別子およびセンサ自体の位置情報を記憶する。この方法は、少なくとも１つのセンサによって仮想リソースの検索要求を受信することであって、検索要求が検索対象の仮想リソースの識別子を含む、ことと、検索要求をセンサの通信ネットワークにおいて転送することと、仮想リソースの識別子を記憶しているセンサの位置情報をセンサ自体によって戻すことと、を含む。
【００１４】
また、本発明は、データ・コンピューティング・システムにおいて仮想リソースの位置を管理するための方法を提供する。データ・コンピューティング・システムは複数のサーバを含み、少なくとも１つのサーバに仮想リソースが展開され、各サーバはセンサに結合され、センサは通信ネットワークから成る。この方法は、各センサがセンサに接続されたサーバにおける仮想リソースの情報を記憶することと、各センサがこのセンサの位置情報を記憶することと、各センサの位置情報および各センサの仮想リソースの情報に基づいて各仮想リソースの位置情報を表示することと、を含む。
【００１５】
本発明は更に、データ・コンピューティング・システムを提供する。このシステムは、複数のサーバであって、少なくとも１つのサーバに仮想リソースが展開された、サーバと、複数のセンサであって、各センサがサーバに搭載された、センサと、を含む。各センサは、通信ユニットであって、他のセンサの通信ユニットと通信を行って複数のセンサが通信ネットワークから成るようにするため、更に仮想リソースの検索要求を受信するために用いられ、検索要求が仮想リソースの識別子を含む、通信ユニットと、センサの位置情報を計算し記憶するために用いられる位置情報計算ユニットと、センサが搭載されたサーバと通信を行い、サーバ上で展開された仮想リソースの識別子を獲得するために用いられる仮想リソース情報獲得ユニットと、仮想リソース情報獲得ユニットによって獲得された仮想リソースの識別子を記憶するために用いられる仮想リソース情報記憶ユニットと、仮想リソース情報記憶ユニットから仮想リソースの識別子を検索し、仮想リソースの識別子が見つかった場合には位置情報計算ユニットによって計算された位置情報を戻すために用いられる仮想リソース情報検索ユニットと、を含む。
【００１６】
本発明は更に、サーバ上に搭載されるセンサを提供する。サーバには仮想リソースが展開されている。センサは、通信ユニットであって、他のセンサの通信ユニットと通信を行ってセンサおよび他のセンサが通信ネットワークから成るようにするため、更に仮想リソースの検索要求を受信するために用いられ、検索要求が前記仮想リソースの識別子を含む、通信ユニットと、センサの位置情報を計算し記憶するために用いられる位置情報計算ユニットと、センサが搭載されたサーバと通信を行い、サーバ上で展開された仮想リソースの識別子を獲得するために用いられる仮想リソース情報獲得ユニットと、仮想リソース情報獲得ユニットによって獲得された仮想リソースの識別子を記憶するために用いられる仮想リソース情報記憶ユニットと、仮想リソース情報記憶ユニットから仮想リソースの識別子を検索し、仮想リソースの識別子が見つかった場合には位置情報計算ユニットによって計算された位置情報を戻すために用いられる仮想リソース情報検索ユニットと、を含む。
【００１７】
本発明は更に、データ・コンピューティング・システムにおいて仮想リソースの位置を検索するために用いられる端末デバイスを提供する。データ・コンピューティング・システムは複数のサーバを含み、各サーバはセンサに結合され、センサは通信ネットワークから成り、少なくとも１つのサーバに仮想リソースが展開されている。端末デバイスは、仮想リソースの検索要求を入力するために用いられ、検索要求が仮想リソースの識別子を含む、仮想リソース検索要求入力ユニットと、複数のセンサの少なくとも１つのセンサと通信を行うため、および検索要求をセンサに送信するために用いられる通信ユニットと、端末デバイスの位置を計算するために用いられる位置情報計算ユニットと、センサから戻された仮想リソースの位置情報に基づいて、端末デバイスの位置から仮想リソースまでの経路を計算するために用いられる経路計算ユニットと、経路計算ユニットによって計算された経路情報を表示するために用いられる表示ユニットと、を含む。
【００１８】
好ましくは、センサの通信ネットワークはアドホック無線ネットワークである。好ましくは、各センサは、センサに接続されたサーバ内の仮想リソースの情報を記憶している。仮想リソースの情報は、アクティブおよび非アクティブの少なくとも１つからの仮想リソースのステータスを示す情報を含む。
【００１９】
好ましくは、コンピューティング・システムが存在するビルに複数の基準信号源を展開する。基準信号源と通信することによって、基準信号源の近くのセンサ・ノードの位置情報を計算することができる。すでに位置情報を取得しているセンサ・ノードと通信することによって、他のセンサ・ノードの位置情報を取得することができる。
【図面の簡単な説明】
【００２０】
【図１】クラウド・コンピューティング・センタの一例を示す。
【図２】物理サーバ上に展開された仮想マシンを示す。
【図３】本発明に従って仮想マシンおよびセンサを展開する物理サーバの一例を示す。
【図４】本発明に従ったセンサの構造を示す。
【図５】本発明に従ったセンサから成るセンサ・ネットワークを示す。
【図６】仮想マシン情報リストの一例を示す。
【図７】本発明に従って仮想マシンを検索する方法のフローチャートの一例を示す。
【図８】図７に示したような方法を実施するためのシステムの一例を示す。
【図９】本発明の検索デバイスの構造の一例を示す。
【図１０】本発明に従ってデータ・コンピューティング・システムにおいて仮想マシンの位置を管理する方法のフローチャートの一例を示す。
【発明を実施するための形態】
【００２１】
図面に関連付けて、具体的な実施形態について説明する。
【００２２】
図２は、従来の物理サーバ２００およびサーバ上で展開された仮想マシン２０４〜２０６を示す。
【００２３】
図２に示すような物理サーバ２００は、ハードウェア２０１、オペレーティング・システム２０２、ハイパーバイザ２０３、および複数の仮想マシン２０４〜２０６を有する。
【００２４】
ハードウェア２０１は、従来のＣＰＵ、メモリ、Ｉ／Ｏインタフェース、バス等を含むことができる。更に、ハードウェアは、例えばAMD-V、Alcatel-Lucent 3B20D/3B21D、IBM System/370、System/390、zSeriesメインフレーム、SunMicrosystemsのような、仮想マシンをサポートする様々なハードウェアを展開する。
【００２５】
オペレーティング・システム２０２は、例えばSolaris Zones、Linux OS、FreeBSD OS等のような様々な既知のオペレーティング・システムとすることができる。
【００２６】
ハイパーバイザ２０３は、複数の仮想マシン（ＶＭ）を管理するためのアプリケーション・プログラムである。図２に示すハイパーバイザ２０３およびオペレーティング・システム２０２は別個であるが、仮想マシンを直接サポートするいくつかのオペレーティング・システムでは、ハイパーバイザ２０３はオペレーティング・システム２０２において実施することができる。
【００２７】
複数の仮想マシン２０４〜２０６は、完全なオペレーティング・システムの実行をサポートするように設計されたシステム仮想マシン（システムＶＭ）とすることができる。システム仮想マシンの一例はSolaris Containersである。あるいは、仮想マシン２０４〜２０６は、単一プログラムを動作させて単一プロセスをサポートするように設計されたプロセス仮想マシン（プロセスＶＭ）とすることができる。例えば、プロセス仮想マシンの一例はJava Virtual Machineである。仮想マシンの不可欠な特徴は、内部で動作しているソフトウェアが、仮想マシンによって提供されるリソースおよびアブストラクションに制限されることである。すなわち、その仮想世界から抜け出ることはできない。仮想マシン２０４〜２０６は、動的な生成、除去、移動、および結合等を行うことができる。
【００２８】
本記載において、「仮想マシン」という言葉は、物理サーバ上で展開されたあらゆる仮想リソース（すなわちソフトウェア・リソース）として広く解釈されることに留意すべきである。例えば、同一の物理サーバ上で展開される複数のオペレーティング・システムもしくはユーザ・スペース、ウェブ・サービス・プログラム、ｆｔｐサービス・プログラム、ｅメール・サービス・プログラム、または物理サーバ上で展開される様々なサービスもしくはエージェントを提供する他のプログラムである。
【００２９】
ハイパーバイザ２０３は、仮想マシン２０４〜２０６の生成、除去、移動を管理し、仮想マシン２０４〜２０６に対するリソースの割り当ておよび解放を行い、全ての仮想マシンのステータスを追跡する。例えば仮想マシンが生成された場合、ハイパーバイザ２０３は、この仮想マシンを識別するようにこの仮想マシンに１つの一意の識別子ＶＭＩＤを割り当てる。ユーザが望む場合には、ハイパーバイザ２０３は、生成した各仮想マシンに様々なリソースを割り当てることができる。これらのリソースは例えば、一定のスペースを占めるメモリ、多数のコンピューティング・ユニット、ＣＰＵが動作するビット数（例えば３２ビットまたは６４ビット）、Ｉ／Ｏスループット等が含まれる。仮想マシン２０４を除去する場合には、ハイパーバイザ２０３は割り当てたリソースを解放する。仮想マシン２０４がある物理サーバから別の物理サーバに移動した場合には、元の物理サーバがこの仮想マシン２０４のためのリソースを解放し、新しい物理サーバがこの物理マシン２０４のための新しいリソースを割り当てる。本発明の一実施形態によれば、仮想マシン２０４を除去した場合、その割り当てられたＶＭＩＤは保存され、新たに生成された仮想マシンには用いられない。本発明の別の実施形態によれば、仮想マシン２０４がある物理サーバから別の物理サーバに移動した場合、この新しい物理サーバはこの仮想マシンのために、元のＶＭＩＤを用いずに新しいＶＭＩＤを割り当てる。このようにすることで、ＶＭＩＤと仮想マシン２０４との間に一対一の対応関係が保証される。
【００３０】
図３は、本発明に従って仮想マシンおよびセンサを展開するサーバの一例を示す。
【００３１】
図３に示すようなサーバ３００は、ハードウェア３０１、オペレーティング・システム３０２、ハイパーバイザ３０３、複数の仮想マシン３０４〜３０６、およびセンサ３１０を含む。
【００３２】
図３に示すように、ハードウェア３０１、オペレーティング・システム３０２、ハイパーバイザ３０３、複数の仮想マシン３０４〜３０６は、図２のハードウェア２０１、オペレーティング・システム２０２、ハイパーバイザ２０３、複数の仮想マシン２０４〜２０６と実質的に同一である。その詳細は省略する。
【００３３】
図３のセンサ３１０は、サーバ３００における仮想マシン３０４〜３０６の情報を取得するために用いられる。具体的には、ハイパーバイザ３０３にエージェント３０７が設けられている。エージェント３０７を用いて、サーバ３００における仮想マシン３０４〜３０６の関連情報を監視および維持し、仮想マシン３０４〜３０６の記憶された関連情報をセンサ３１０に送信する。センサ３１０は、ハードウェア３０１と通信し、エージェント３０６が送信した仮想マシン３０４〜３０６の関連情報を取得することができる。本発明の好適な実施形態によれば、センサ３１０は、仮想マシンの最新情報を取得するための要求を定期的にエージェント３０７に送信することができる。
【００３４】
本発明の好適な実施形態によれば、センサ３１０は無線でハードウェア３０１と対話することができる。あるいは、センサ３１０は有線でハードウェア３０１と対話することも可能である。
【００３５】
図３に示す実施形態ではセンサ３１０がサーバ３００のコンポーネントとして実施されているが、本発明はこれによって限定されないことに留意すべきである。代替的な実施形態においては、センサ３１０およびサーバ３００は別個に実施される。センサ３１０は、サーバ３００に固定することができ、無線通信技法によってサーバ３００と対話する。
【００３６】
図４は、センサ３１０の基本構造を示す。
【００３７】
図４に示すようなセンサ３１０は、通信ユニット４００１、仮想マシン情報検索ユニット４００２、メモリ４００３、仮想マシン情報獲得ユニット４００６、位置情報計算ユニット４００７、電源供給ユニット４００８を含む。通信ユニット４００１は他のセンサと通信を行うために用いられる。本発明の１つの好適な実施形態によれば、複数のセンサ３１０は無線アドホック通信ネットワークから成る。無線アドホック・ネットワークは、自己組織型の分散無線ネットワークである。各ノードの位置を動的に変更することができ、これに従ってネットワーク全体のレイアウトが変わる。無線アドホック・ネットワークの各ノードは、他のノードのためにデータを転送することで、ネットワーク全体の接続性を取得することができる。
【００３８】
複数のセンサ３１０は、複数の通信ユニット４００１を介した独立ネットワークから構成することができることに留意すべきである。センサ３１０を展開するサーバ３００が問題を有する場合であっても、センサ３１０間の相互接続にマイナスの影響はない。
【００３９】
図４に示すようなセンサ３１０およびそのセンサ・ネットワークは、既知の市販のセンサ製品を用いて実現することができる。例えば本発明のセンサは、Crossbow Corp.が開発したセンサ製品ＭＩＣＡ２（Ｒ）に基づいて実現することができる。更に、ＣＡＳ（中国科学院：Chinese Academy of Sciences）およびＨＩＴ（ハルビン工業大学：Harbin Institute of Technology）も、関連するセンサ製品を開発している。むろん、当業者は、本発明に適用可能である他のセンサ製品を用いることも可能である。
【００４０】
図５は、通信ユニット４００１を介した複数のセンサ３１０から成るアドホック・ネットワーク５００を示す。
【００４１】
図５に示すセンサ・ネットワーク５００はセンサ１〜６を含む。ネットワーク５００は自己適応型である、すなわちノードの移動に従って再構築される。１つ以上の近傍ノードがメッセージを転送することによって、ソース・センサはあらゆるターゲット・センサに対するメッセージを送信／受信することができる。例えばセンサ２がセンサ５にメッセージを送信した場合、ルーティング経路は、センサ２−センサ３−センサ４−センサ５となり得る。
【００４２】
アドホック無線ネットワークは、ネットワーク内のノード間の通信を実現するために、様々なルーティング・アルゴリズムをサポートする。例えば、オンデマンドのルーティング・アルゴリズムはマルチレート・アドホック・オンデマンド距離ベクトル・ルーティング・プロトコルを含み、事前対応型ルーティング・アルゴリズムは、ＡＷＤＳ（アドホック無線分散サービス）、ＨＳＲ（階層状態ルーティング・プロトコル）等を含む。適応型ルーティング・アルゴリズムも使用可能である。
【００４３】
好ましくは、本発明によって用いられるアドホック・ネットワークは無線メッシュ・ネットワーク（ＷＭＮ）とすることができる。ＷＭＮは特別なアドホック無線ネットワークであり、ノードがメッシュ（網目）のような通信ネットワークとして組織化される。ＷＭＮにおけるノードは、ノードパッド、モバイル・フォン、または例えばセンサのような他の無線デバイスとすることができる。ＷＭＮは、例えば８０２．１１、８０２．１６またはそれらの組み合わせを含む様々な通信プロトコルを用いて実現することができる。本発明のセンサ・ネットワーク５００は、センサ間の相互接続を提供可能であるならば、いずれかの特別なタイプのネットワークに限定されないことに留意すべきである。
【００４４】
図４を参照すると、センサ３１０は、仮想マシンの情報を管理するための仮想マシン情報獲得ユニット４００６を含む。具体的には、仮想マシン情報獲得ユニット４００６は、サーバ３００におけるエージェント３０７（図３を参照のこと）と通信を行って、サーバ３００における仮想マシン３０４〜３０６の情報を獲得する。仮想マシン情報獲得ユニット４００６は、獲得した仮想マシン情報をメモリ４００３に記憶する。メモリ４００３は仮想マシン情報リスト４００４を記憶しており、これはセンサ３１０に対応するサーバ３００内の全ての仮想マシンの関連情報を記憶している。
【００４５】
図６は仮想マシン情報リスト４００４の一例を示す。
【００４６】
図６に示すように、ＶＭＩＤは仮想マシン情報リスト４００４のインデックスである。ＶＭＩＤはマネージャによって定義することができる。簡略化のため、本実施形態において、図６は５つの識別子ＶＭＩＤすなわち０００１、０００２、０００３、０００４、および０００５を示す。ＶＭＩＤを構成するのは１０進数の数に限定されず、１６進数の数、または文字もしくは他の記号およびそれらの組み合わせも用いられることに留意すべきである。更に、所望の場合にはＶＭＩＤの長さを調節することができる。例えば、データ・センタに展開された物理サーバの数に従って、ＶＭＩＤの長さは、確実に全ての仮想マシンに一意の識別子が割り当てられるように設定する。更に、ＶＭＩＤがリサイクルできない場合すなわち１つの仮想マシンが除去された場合には、そのＶＭＩＤは維持され、ＶＭＩＤの空きはなお充分である。
【００４７】
また、図６はＶＭＩＤに対応する属性も示す。例えば、１列目のサーバＩＤ（Ｓｒｖ１）はサーバの識別子であり、ＶＭＩＤに対応するサーバ（サーバ１）を識別するために用いられる。２列目のステータスはステータス識別子であり、仮想マシンの現在のステータスを識別するために用いられる。例えばステータスは、ライブ、終了等のうちいずれかを含むことができる。ライブ・ステータスは、この仮想マシンがなお常駐しておりこの物理サーバ上で動作することを示す。終了ステータスは、この仮想マシンがすでにこの物理サーバから除去されていることを示す。
【００４８】
上述のものは、仮想マシン情報リスト４００４における仮想マシンのステータスの単なる例に過ぎない。特定のアプリケーションによって必要な場合には仮想マシンの他のステータスを定義することが可能であることは、当業者には理解されよう。
【００４９】
例えば代替的な実施形態に従って、ある仮想マシンのステータスを監視することができないことを示す非アクティブ・ステータスが更に定義される。非アクティブ・ステータスは、仮想マシンまたは物理サーバに問題が発生した状況を示すために用いることができる。センサ３１０は仮想マシンの最新ステータス情報を検索するための要求を定期的にサーバ３００に送信すると想定されており、物理サーバ３００に問題がある場合（例えば物理サーバがシャットダウンされる）には、センサ３１０は物理サーバ３００に常駐している仮想サーバの情報を取得することができない。所定の時間が経過した後または所定回数の要求の後に依然として仮想マシンの情報が利用可能でない場合、センサ３１０はこの物理サーバ３００における全ての仮想マシンのステータスを非アクティブに設定する。同様に、ある仮想マシンが問題を有する（正常に終了していない）場合、センサ３１０はこの仮想マシンのステータスを非アクティブに設定する。
【００５０】
代替的な実施形態によれば、仮想マシン情報リスト４００において仮想マシンに移動済みステータスが更に定義される。移動済みステータスは、この仮想マシンがすでにこの物理サーバから別のサーバに移動したことを示す。更に、仮想マシンが移動したターゲット・サーバの関連情報を仮想マシン・リスト４００４に記憶することができる。これは例えば、ターゲット・サーバの識別子、移動の後にこの仮想マシンに割り当てられた新しい識別子ＶＭＩＤ等である。実際、マネージャが、移動済みの仮想マシンまたは終了した仮想マシンに関心がない場合には、メモリ空間を節約するために、移動済み仮想マシンおよび終了した仮想マシンの情報を仮想マシン情報リスト４００４から削除することができる。
【００５１】
上述の記載は仮想マシン情報リスト４００４の単なる例に過ぎないことに留意すべきである。仮想マシン情報リスト４００４は拡張可能とすることができる。ユーザは、必要な場合には、仮想マシン生成時刻、仮想マシンのユーザ、仮想マシンが占有するリソース、仮想マシンの優先レベル等を含む更に詳細な情報を仮想マシン情報リスト４００４に記憶することができる。
【００５２】
本発明の実施形態によれば、仮想マシンの位置を特定するために、仮想マシン情報リスト４００４は、１つの仮想マシンが対応する物理サーバ上に常駐しているか否かを少なくとも示すものとする。従って、単に仮想マシン情報リスト４００４のインデックスＶＭＩＤを検索するだけで、１つの仮想マシンが物理サーバ上にあるか否かがわかる。
【００５３】
再び図４を参照すると、センサ３１０は仮想マシン情報獲得ユニット４００６も含む。
【００５４】
仮想マシン情報獲得ユニット４００６は、センサ３１０が接続されているサーバ３００と通信を行い、サーバ３００から仮想マシン３０４〜３０６の情報を受信する。好ましくは、センサ３１０の仮想マシン情報獲得ユニット４００６は無線でサーバ３００と通信を行う。
【００５５】
仮想マシン情報獲得ユニット４００６は、サーバ３００におけるエージェント３０７が送信したデータを受動的に受信することができる。あるいは仮想マシン情報獲得ユニット４００６は、仮想マシンの関連情報を求める要求を自発的にサーバ３００に送信することができる。また、仮想マシン情報獲得ユニット４００６は、定期的に要求をサーバ３００に送信し、サーバ３００によって戻された仮想マシンの情報を仮想マシン情報リスト４００４に書き込むことができ、これによって仮想マシン情報リスト４００４は、新しい仮想マシンの生成、古い仮想マシンの除去、仮想マシンの移動等を含む全ての仮想マシンの更新された情報を維持することができる。
【００５６】
図４を参照すると、センサ３１０は位置情報計算ユニット４００７も含む。位置情報計算ユニット４００７は、このセンサ３１０を含むサーバ３００の位置を得るために、センサ３１０自体の位置を計算し記憶するために用いられる。
【００５７】
センサ３１０の位置を計算するためには、従来のＧＰＳ位置特定技法は適していない。これは、本発明が主として大規模かつ高密度のデータ・センタにおいて用いられるからである。第一に、ＧＰＳ位置特定技法は衛星信号を受信する必要があるが、データ・センタはビル内で展開され、ビル内のいくつかの場所ではおそらく信号のＱｏＳが悪いのでＧＰＳ位置特定は動作することができない。更に、ＧＰＳ位置特定によって提供される精密さは、センサ３１０の位置を正確に計算するためには充分でない。大規模データ・センタにおいては、単一のラックに何千ものサーバ３００が存在することがある。このため、２つの隣接するサーバ３００間の距離が極めて小さいので、もっと精密な位置特定技法が望まれる。
【００５８】
位置情報計算ユニット４００７は、様々な方法を用いてビル内で高精度の位置特定を実現することができる。例えば位置特定の原理は、三角測量、単一エッジ測量、または多重エッジ測量とすることができる。更に、「アンカー」が存在するか否かに応じて、位置特定方法は大まかに２つのグループに分けられる。すなわちアンカー・フリーのアルゴリズムおよびアンカー・ベースのアルゴリズムである。アンカー・フリーのアルゴリズムでは、位置情報を予め設定する必要はないが、局所距離値に基づいて位置特定を行う必要がある。このアンカー・フリーのアルゴリズムの既知の方法は、例えばＡＦＬアルゴリズムおよびＡＢＣアルゴリズムを含む。アンカー・ベースのアルゴリズムは、座標がすでに既知であるいくつかのノードに基づいている。このアンカー・ベースのアルゴリズムは複数のノードを予め設定する必要がある。位置情報計算ユニット４００７は、受信信号の強度、受信信号の到着時刻差、またはアンテナによって推定される受信信号の到着角度を計算することによって、それ自体の位置情報を計算する。本発明の好適な実施形態によれば、データ・センタが展開されるビル内に複数のアンカー（基準信号源）が設けられ、アンカーの位置は固定であり、その座標は既知である。複数の基準信号源がビル全体におけるセンサ・ノードをカバーすることができるので、各センサは複数の基準信号源から信号を受信し、基準信号源の座標を用いることによってそれ自体の正確な位置を計算する。別の代替的な実施形態では、基準信号源はビル全体をカバーする必要はないので、基準信号源の通信範囲が小さくなる。そして、最初に、基準信号源によってカバーされるセンサの正確な位置を計算し、次いで他のセンサの位置を推測することができる。
【００５９】
また、基準信号源は、固定かつ既知の位置に搭載されたセンサ３１０として実現することも可能である。
【００６０】
本発明は、センサ３１０の正確な位置を特定するためのいずれかの特定の方法に限定されないことに留意すべきである。例えば本発明は、アンカー・フリーすなわち固定アンカーを必要としない位置特定方法を用いることができる。アドホック無線ネットワークにおける分散型位置特定方法に関する更に詳しい情報については、Distributed localization inwireless sensor networks: a quantitative comparison（Computer Networks 43、２００３年、４９９〜５１８、Koen Langendoen等）を参照されたい。
【００６１】
図４に示す例では、各センサ３１０が位置情報計算ユニット４００７によってそれ自体の位置を計算する。すなわちセンサ３１０の位置の計算は分散的である。しかしながら、本発明はこれに限定されない。センサ３１０の位置情報は集中的に外部において計算することができ、次いで計算結果をセンサ３１０に送信することも可能である。
【００６２】
位置情報計算ユニット４００７がセンサ３１０の位置を計算した後、位置情報計算ユニット４００７はセンサ３１０の位置情報をメモリ４００３に記憶する。メモリ４００３は、位置情報計算ユニット４００７によって入力された位置情報を位置情報記憶ユニット４００５内に記憶する。
【００６３】
サーバ３００が頻繁に移動する場合、位置情報計算ユニット４００７は定期的に位置情報を計算することができる。このため、センサ３１０がサーバ３００と共に移動した場合であっても、位置情報記憶ユニット４００５はセンサ３１０およびサーバ３００の更新された位置情報を引き続き記憶することができる。一方、サーバ３００が頻繁には移動しない場合、位置情報計算ユニットは初期化の間にセンサ３１０の位置を計算することができ、または命令（例えばリセット命令）の受信時にセンサ３１０の位置を計算することができる。
【００６４】
図４に示した例では、位置情報記憶ユニット４００５および仮想マシン情報リスト４００４は別個に実施されているが、代替的な実施形態では、位置情報記憶ユニット４００５および仮想マシン情報リスト４００は一体的に実施することができる、すなわち、センサ３１０（すなわちサーバ３００）の位置および仮想マシンの情報をセンサに共に記憶する。例えば、図６に示す仮想マシン情報リスト４００４に追加の列を加えて、位置情報計算ユニット４００７が計算した位置を記憶することができる。
【００６５】
図４を参照すると、センサ３１０は電源供給ユニット４００８も含む。本発明の好適な実施形態によれば、電源供給ユニット４００８はバッテリとして実施されるので、センサ３１０は独立した電源供給部を有する。サーバ３００がダウンした場合であっても、センサは動作し続けることができる。一方、センサ３１０は外部電源供給インタフェースを有して外部の電源供給部から電力を得ることも可能である。例えば、いくつかのサーバ・ラックでは、センサ３１０が用いるための追加の電源供給ソケットが設けられている。
【００６６】
図４を参照すると、センサ３１０は仮想マシン情報検索ユニット４００２も含む。仮想マシン情報検索ユニット４００２は、通信ユニット４００１と結合され、通信ユニット４００１からあるターゲット仮想マシン（ＶＭターゲット）の検索要求を受信する。仮想マシン情報検索ユニット４００２は、メモリ４００３にも結合されており、仮想マシン情報リスト４００４でターゲット仮想マシンＶＭターゲットを検索する。仮想マシン情報リスト４００４においてターゲット仮想マシンＶＭターゲットが見つかると、通信ユニット４００１にヒット結果が通知される。次いで通信ユニット４００１は、検索要求を送信したセンサに通知する。
【００６７】
図７は、本発明の一実施形態による仮想マシンを検索する方法のフローチャート７００を示す。
【００６８】
図１、図３、および図５に示すように、仮想マシンは少なくとも１つのサーバ上で展開され、各サーバにはセンサが取り付けられてこれと通信を行う。センサは相互に通信を行い、通信ネットワークから成る。図７に示す方法７００は以下のステップを含む。
【００６９】
ステップＳ７０５において、センサは仮想マシンの情報を獲得する。
【００７０】
具体的には、各センサ３１０は、このセンサに接続されたサーバ３００において展開された１つ以上の仮想マシンの情報を獲得する。図３から図４を参照すると、センサ３１０は仮想マシン情報獲得ユニット４００６を介してサーバ３００と通信を行い、サーバ３００上で展開された仮想マシンの関連情報を獲得する。
【００７１】
ステップＳ７１０において、センサは位置情報を獲得する。
【００７２】
具体的には、各センサ３１０はこのセンサの位置情報を計算し記憶する。図４の例では、位置情報計算ユニット４００７がセンサ３１０の位置を計算し、それを位置情報記憶ユニット４００５に記憶する。あるいは、位置情報は各センサ３１０内では計算されない。代わりに、これは外部で集中的に計算され、次いでセンサ３１０に送信される。
【００７３】
本発明の一実施形態によれば、物理サーバの位置は移動せず、仮想マシンは動的に生成も移動もされず、ステップＳ７０５、Ｓ７１０は初期化の間に実行されるだけである。この場合、検索方法は以下のステップＳ７１５において開始する。本発明の別の実施形態によれば、物理サーバの位置は頻繁に変更され、仮想マシンは動的に生成され、従ってステップＳ７０５およびＳ７１０を定期的に実行して最新の更新情報を獲得する。
【００７４】
ステップＳ７１５において、センサは検索要求を受信する。検索要求はターゲット仮想マシンの識別子（ＶＭターゲット）を含む。
【００７５】
本発明の好適な実施形態によれば、検索デバイスが設けられている（詳細については図８から図９を参照のこと）。検索デバイスは、検索要求を入力するインタフェースを提供するために用いられる。検索デバイスは、少なくとも１つのセンサ３１０と通信を行い、このセンサ３１０に検索要求を送信することができる。検索デバイスは、１つの場所に固定するか、または携帯型とすることができる。検索デバイスが携帯型である場合、好ましくは、検索デバイスはそれ自体の位置を計算し表示することができる。
【００７６】
ステップＳ７２０において、複数のセンサ３１０から成るセンサ・ネットワーク５００において検索要求を転送する。
【００７７】
センサ・ネットワーク５００において検索要求を転送または伝播させるには、多数の方法がある。例えば、センサ・ネットワーク５００がアドホックの無線ネットワークである場合、各センサは検索要求を受信した後にそれ自体の仮想マシン・リストを検索し、ターゲット仮想マシンの識別子が存在しない場合には同報通信によって検索要求を隣接センサに転送するので、検索要求はセンサ・ネットワーク内の全てのセンサに届くことができる。同報通信によってメッセージ（例えば検索要求）を転送することは簡単であり、センサ・ネットワークのトポロジーが頻繁に変化する状況にも適合する。しかしながら、頻繁な同報通信はフラッディングによるネットワーク・トラヒックを引き起こす場合がある。あるいは、センサ・ネットワークのトポロジーが安定している場合には、センサは隣接センサにルーティングするためのルーティング情報を維持することができ、ルーティング・テーブルに従って隣接センサに検索要求を転送することができる。
【００７８】
ステップＳ７２５において、ターゲット仮想マシンの識別子を記憶しているセンサが、それ自体の位置情報を戻す。
【００７９】
具体的には、センサ３１０は検索要求を受信した後、ステップＳ７０５で獲得した仮想マシン情報を検索し、ターゲット仮想マシンが見つかると、センサ３１０はステップＳ７１０で計算した位置情報を戻す。
【００８０】
位置情報は、最初に検索要求を受信したセンサに戻すことができる。位置情報は更に、検索要求を入力する検索デバイスに戻すことができる。検索デバイスは位置情報を表示するためのディスプレイを有する。
【００８１】
図８は、図７に示したような方法フローチャートを実施するためのシステム８００を示す。
【００８２】
図８に示すシステム８００は、複数のセンサ８０１ａ、８０２ａ、８０３ａ、８０４ａ、８０５ａ、８０６ａ、および複数のサーバ８０１ｂ、８０２ｂ、８０３ｂ、８０４ｂ、８０５ｂ、８０６ｂを含み、各サーバは対応するセンサに接続されている。図８のシステムは更に検索デバイス８１０を含む。
【００８３】
図９は、本発明の好適な実施形態に従った検索デバイス８１０の基本構造を示す。
【００８４】
検索デバイス８１０は、検索要求入力ユニット９００１、通信ユニット９００２、位置情報計算ユニット９００３、経路表示ユニット９００４、マップ記憶ユニット９００５を含む。
【００８５】
検索要求入力ユニット９００１は、ユーザ（例えばマネージャ）からのＶＭ位置検索要求を受信するために用いられる。仮想マシン位置検索要求は、ターゲット仮想マシンの識別子を含む。
【００８６】
通信ユニット９００２は、センサと通信を行うために用いられる。
【００８７】
図７のステップＳ７１５を参照すると、検索要求入力ユニット９００１が、ユーザにより入力された仮想マシン位置検索要求を受信した後、これを通信ユニット９００２を介してセンサに転送する。例えば、図８を参照すると、仮想マシン位置検索要求は隣接センサ８０４ａに送信される。図８に示す例では、ターゲット仮想マシンは例えば、サーバ８０６ｂ上に展開された仮想マシン８０６ｃである。
【００８８】
図７のステップＳ７２５を参照すると、仮想マシンを含むセンサ８０６ａの位置情報が、検索要求を受信したセンサ８０４ａに戻され、次いでセンサ８０４ａはこの位置情報を検索デバイス８０６の通信ユニット９００２に戻す。
【００８９】
検索デバイス８１０の表示ユニット９００４は、通信ユニット９００２が受信した位置情報を表示することができる。
【００９０】
本発明の１つの好適な実施形態によれば、検索デバイス８１０は、データ・センタ全体のマップを記憶するために用いられるマップ記憶ユニット９００５を更に含む。このため、位置情報およびマップ情報に基づいて、表示ユニット９００４はデータ・センタ全体のマップ上にターゲット仮想マシンの位置を表示することができる。
【００９１】
本発明の１つの好適な実施形態によれば、検索デバイス８１０は、位置情報計算ユニット９００３を更に含む。検索デバイス８１０が１つの場所に固定されておらず携帯型である場合、位置情報計算ユニット９００３は検索デバイス８１０の位置を計算する。検索デバイスの位置、ターゲット仮想マシンの位置、マップ記憶ユニット９００５に記憶されたマップ情報に基づいて、表示ユニット９００４は保留中の位置からターゲット仮想マシンまでの経路を計算して表示する。
【００９２】
好ましくは、検索デバイス８１０は、ターゲット仮想マシンの位置を戻すセンサ８０６ａにメッセージを送信するために用いられるプロンプト・ユニット（図９には図示せず）を更に含み、センサ８０６ａが音響信号または視覚信号を発生するようにする。これは、高密度データ・センタでは単一のサーバ・ラック内に何百ものサーバが存在する可能性があり、ターゲット仮想マシンの正確な位置（すなわちサーバ８０６ｂの位置）が獲得されたとしても、何百もの隣接サーバのうちどれがターゲット・サーバであるかを迅速に位置特定することが難しいからである。センサ８０６ａから音響信号または他の知覚可能信号を発生させることによって、マネージャがターゲット・サーバ８０６ｂを迅速に見つけるのに役立つ。あるいは、ターゲット・サーバ８０６ｂに音響信号または他の知覚可能信号を発生させることも可能である。
【００９３】
本発明の代替的な実施形態によれば、検索デバイスをセンサ３１０として実施することも可能である。すなわち、センサ３１０に追加の入力デバイスを加えることによって検索要求の入力を可能とし、追加の表示デバイスを加えることで位置情報を表示する。
【００９４】
図１０は、本発明に従ってデータ・コンピューティング・システムにおいて仮想マシンの位置を管理する方法の方法フローチャート１００を示す。データ・コンピューティング・システムは複数のサーバを含み、少なくとも１つのサーバに仮想マシンが展開され、各サーバにはセンサが取り付けられ、複数のセンサはセンサ・ネットワークから成る。この方法は以下を含む。
【００９５】
ステップＳ１００５において、センサは仮想マシンの情報を獲得する。
【００９６】
具体的には、各センサは、センサに接続されたサーバに展開された仮想マシンの情報を獲得し記憶する。例えば、仮想マシンの情報は、図４に示した仮想マシン情報管理ユニット４００６を介してサーバから取得される。
【００９７】
ステップＳ１０１０において、センサは位置情報を獲得する。
【００９８】
具体的には、各センサはセンサ自体の位置情報を計算し記憶する。例えば位置情報は、図４に示した位置情報計算ユニット４００７によって獲得される。
【００９９】
ステップＳ１０１５において、各仮想マシンの位置情報を表示する。
【０１００】
具体的には、各センサの位置情報および各センサの仮想マシン情報に基づいて、各仮想マシンの位置を表示することができる。
【０１０１】
仮想マシンの位置は、図９に示したような検索デバイス８１０の表示ユニット９００４に表示することができる。検索デバイス８１０がマップ記憶ユニット９００５を含む場合、表示ユニット９００４はデータ・センタ全体のマップ上に全ての仮想マシンの位置を表示することができる。
【０１０２】
好ましくは、各センサは、センサに接続されたサーバにおける仮想マシンの情報を記憶し、この情報は、以下の仮想マシン・ステータスの少なくとも１つを示す情報を更に含む。すなわち、図６に示したような、アクティブ、終了、移動済み、非アクティブ等である。このため、各仮想マシンの位置が検索デバイス８１０に表示されると、対応する仮想マシンの様々なステータス情報も表示することができる。
【０１０３】
上述の記載は、図１から図１０に基づいており、大規模データ・センタにおいて仮想マシンの位置を検索し表示するための方法、デバイス、およびシステムを説明したものである。
【０１０４】
本発明の方法、デバイス、およびシステムは、仮想マシンの位置の検索に限定されず、データ・センタにおける他のソフト・リソースおよびハード・リソースの検索に適用可能であることに留意すべきである。例えば、サーバ上で他のアプリケーション・プログラムが展開されている場合、このアプリケーションの情報をセンサによって獲得することができ、次いでアプリケーションの位置を獲得することができる。従って、この記載における「仮想マシン」という言葉は、その最も広い意味で、すなわち物理サーバ上で展開されたいかなる仮想リソースも含むように解釈されるものとする。例えば、これはウェブ・サーバ、ｆｔｐサーバ、ｅメール・サーバ、または物理サーバ上で展開されたサービスもしくはエージェントを提供する他のアプリケーションとすることができる。例えば、センサは、このセンサに接続された物理サーバ上で展開された様々なアプリケーション（例えばウェブ・サービス、ｆｔｐサービス、ｅメール・サービス等）の識別子を獲得することができ、データ・センタのマネージャは各アプリケーションについて一意の識別子を割り当てる。
【０１０５】
更に、本発明を用いて、物理サーバの位置の検索、またはサーバに結合された他のハードウェア（例えばプリンタ）の位置の検索を行うことができる。
【０１０６】
本発明の方法、デバイス、およびシステムを実施するには多数の方法があることに留意すべきである。例えば、本発明の方法およびシステムは、ソフトウェア、ハードウェア、ファームウェア、またはそれらのいずれかの組み合わせによって実施することができる。この方法のステップを記載した特定の順序は、単に説明のためのものであり、他に具体的に規定しない限り制約として解釈すべきではない。更に、いくつかの実施形態において、本発明は記録媒体上に記録されたプログラムとして実施することができる。これらのプログラムは、本発明に従った方法を実施するための機械読み取り可能命令を含む。従って本発明は、本発明の方法を実行するためのプログラムを記憶する記録媒体も包含する。
【０１０７】
本発明について、いくつかの具体的な実施形態と組み合わせて詳細に記載したが、上述の例は単に説明のためのものであり本発明の制約として解釈すべきではないということは当業者には理解されよう。設計要件および他のファクターに応じて、添付の特許請求の範囲およびその均等物内にある限り、様々な変更、組み合わせ、部分的組み合わせ、および改変を行い得ることは、当業者には理解されよう。
【図１】
2013503376.tif 000003
【図２】
2013503376.tif 000004
【図３】
2013503376.tif 000005
【図４】
2013503376.tif 000006
【図５】
2013503376.tif 000007
【図６】
2013503376.tif 000008
【図７】
2013503376.tif 000009
【図８】
2013503376.tif 000010
【図９】
2013503376.tif 000011
【図１０】
2013503376.tif 000012
【国際調査報告】
2013503376.tif 000013
2013503376.tif 000014
2013503376.tif 000015