(57)【要約】【課題】クラウド上で動作している仮想マシン内又は仮想マシンのコンテナ内で実行されるアプリケーションが動作している間にローカル環境の認識を支援することが可能なクラウドアプリケーション動作中ローカル環境認識支援装置及びそれを用いたクラウドアプリケーション動作中ローカル環境認識支援方法を提供する。【解決手段】クラウドアプリケーション動作中ローカル環境認識支援装置１６は、クラウド上で動作している仮想マシン１４、２９、３０内又は仮想マシンのコンテナ内で実行されるアプリケーションソフトウェア１０、２７、２８に、仮想マシン１４、２９、３０が動作するクラウドのローカル環境に存在するハードウェアと各種ローカル資源を提供して、アプリケーションソフトウェア１０、２７の動作中にローカル環境認識を支援する。【選択図】図１
2017084060.tif 000002
【特許請求の範囲】
【請求項１】
クラウド上で動作している仮想マシン内又は該仮想マシンのコンテナ内で実行されるアプリケーションソフトウェアに、前記仮想マシンが動作する前記クラウドのローカル環境に存在するローカルハードウェアと各種ローカル資源を提供して、前記アプリケーションソフトウェアの動作中にローカル環境認識を支援することを特徴とするクラウドアプリケーション動作中ローカル環境認識支援装置。
【請求項２】
請求項１記載のクラウドアプリケーション動作中ローカル環境認識支援装置において、前記仮想マシンは、前記クラウド内のネットワークと接続する物理マシンに実装されたクラウドプラットフォーム上で動作し、前記ローカル環境は、１）前記物理マシン、又は２）該物理マシンと該物理マシンに接続する施設内ネットワーク上の予め設定された特定範囲により形成されることを特徴とするクラウドアプリケーション動作中ローカル環境認識支援装置。
【請求項３】
請求項２記載のクラウドアプリケーション動作中ローカル環境認識支援装置において、前記仮想マシンには、前記アプリケーションソフトウェアを動作させると共に、該アプリケーションソフトウェアからの要求を外部に出力し、外部からの応答を該アプリケーションソフトウェアに伝えるアプリケーション動作中ローカル環境認識手段が設けられ、前記クラウドプラットフォーム上には、該アプリケーション動作中ローカル環境認識手段を介して、前記アプリケーションソフトウェアからの要求により前記ローカルハードウェアと前記各種ローカル資源を探索して探索結果を該アプリケーションソフトウェアに通知すると共に、該ローカルハードウェアと該各種ローカル資源の使用を可能とするローカルハードウェア認識支援手段を備えたローカルハードウェア認識プラットフォームが設けられていることを特徴とするクラウドアプリケーション動作中ローカル環境認識支援装置。
【請求項４】
請求項３記載のクラウドアプリケーション動作中ローカル環境認識支援装置において、前記ローカルハードウェア認識プラットフォームは、複数の前記アプリケーションソフトウェアから同時に前記ローカルハードウェアと前記各種ローカル資源へのアクセスが要求された際に、該アプリケーションソフトウェア毎に該ローカルハードウェアと該各種ローカル資源の並行使用を制御するローカルハードウェア利用制御手段を有していることを特徴とするクラウドアプリケーション動作中ローカル環境認識支援装置。
【請求項５】
クラウド上で動作している仮想マシン内又は該仮想マシンのコンテナ内で実行されるアプリケーションソフトウェアに、前記仮想マシンが動作する前記クラウドのローカル環境に存在するローカルハードウェアと各種ローカル資源を提供して、前記アプリケーションソフトウェアの動作中にローカル環境認識を支援することを特徴とするクラウドアプリケーション動作中ローカル環境認識支援方法。
【請求項６】
請求項５記載のクラウドアプリケーション動作中ローカル環境認識支援方法において、前記仮想マシンを、前記クラウド内のネットワークと接続する物理マシンに実装されたクラウドプラットフォーム上で動作させ、前記ローカル環境を、１）前記物理マシン、又は２）該物理マシンと該物理マシンに接続する施設内ネットワーク上の予め設定された特定範囲により形成することを特徴とするクラウドアプリケーション動作中ローカル環境認識支援方法。
【請求項７】
請求項６記載のクラウドアプリケーション動作中ローカル環境認識支援方法において、前記仮想マシンに、前記アプリケーションソフトウェアを動作させると共に、該アプリケーションソフトウェアからの要求を外部に出力し、外部からの応答を該アプリケーションソフトウェアに伝えるアプリケーション動作中ローカル環境認識手段を設け、前記クラウドプラットフォーム上に、該アプリケーション動作中ローカル環境認識手段を介して、前記アプリケーションソフトウェアからの要求により前記ローカルハードウェアと前記各種ローカル資源を探索して探索結果を該アプリケーションソフトウェアに通知すると共に、該ローカルハードウェアと該各種ローカル資源の使用を可能にするローカルハードウェア認識支援手段を備えたローカルハードウェア認識プラットフォームを設けることを特徴とするクラウドアプリケーション動作中ローカル環境認識支援方法。
【請求項８】
請求項７記載のクラウドアプリケーション動作中ローカル環境認識支援方法において、前記ローカルハードウェア認識プラットフォームに、複数の前記アプリケーションソフトウェアから同時に前記ローカルハードウェアと前記各種ローカル資源の提供を要求された際に、該アプリケーションソフトウェア毎に該ローカルハードウェアと該各種ローカル資源の並行使用を制御するローカルハードウェア利用制御手段を設けることを特徴とするクラウドアプリケーション動作中ローカル環境認識支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウド上で動作している仮想マシン内又は仮想マシンのコンテナ内で実行されるアプリケーションソフトウェア（以下、単にアプリケーションという）の動作中にローカル環境認識を支援するローカル環境認識支援装置及びクラウドアプリケーション動作中ローカル環境認識支援方法に関する。
ここで、ローカル環境は、データセンター内及びクラウド施設内のローカル範囲で動作しているアプリケーションに提供される計算機資源（各種のハードウェア、ハードウェア機能、ソフトウェア）のことをいう。
ユーザ向けの便益提供事業では、複数のデータセンターやクラウド施設の上に、多数の仮想マシン又はコンテナを分散して運営することが多くあるため、複数のアプリケーションの集合や、複数のアプリケーションを集約した動作単位のことを「クラウドサービス」（以下、単にサービスともいう）と呼んでいる。このため、本発明は、アプリケーションを利用するユーザに対しては直接の関係が無く、殆どがクラウドサービスとクラウド管理者の間の関係に限られている。
【背景技術】
【０００２】
図８（Ａ）に示すように、クラウド上の複数のアプリケーション８０ａ、８０ｂ、８０ｃを集約して一つのクラウドサービス８０として実行させる場合、単クラウド内のネットワーク上に配置されている物理マシン（例えば、サーバ）の中から、例えば、物理マシンのＩＰアドレス等に基づいてクラウドサービス８０に対して最寄りとなる場所に設置されている物理マシン８１が一つ任意に選択され、この物理マシン８１にクラウドサービス８０を実行する仮想マシン８２が立ち上げられる。また、仮想マシン８２が立ち上げられた後に、別のサービスがクラウド上のアプリケーション８３を選択して実行させる場合、実行場所として物理マシン８１が選択されると、物理マシン８１には更にアプリケーション８３を実行する仮想マシン８４が立ち上げられる。そして、クラウドサービス８０とアプリケーション８３の動作が終了すると、仮想マシン８２、８４は消滅する。ここで、物理マシンより数が多い仮想マシンの配置、選択、及び選択解除等の作業は、基本的にクラウド管理者に任されているが、その作業の一部はサービス側で行うことが可能である。
なお、符号８５は物理マシン８１に実装されたクラウドプラットフォーム、符号８６は物理マシン８１に実装されたオペレーティングシステムであって、物理マシン８１、物理マシン８１に接続する計算機資源、及びクラウドプラットフォーム８５の動作を制御している。
【０００３】
また、図８（Ｂ）に示すように、クラウド上に配置する物理マシン８７に実装するクラウドプラットフォーム８８として、非特許文献１に記載されているＸｅｎを使用すると、Ｘｅｎにはメモリ管理、スケジューラ、コンソールやネットワーク等のデバイスドライバといった最低限の機能を備えたＭｉｎｉ‐ＯＳが存在するため、Ｍｉｎｉ‐ＯＳを使用してＭｉｎｉ‐ＯＳ上で動作する専用の仮想マシン８９を物理マシン８７内に立ち上げることができる。このため、サービスがクラウド上のアプリケーション９０を実行する際の実行場所に物理マシン８７が選択されると、アプリケーション９０を仮想マシン８９内で動作させることができる。ここで、仮想マシン８９内でアプリケーション９０が動作している際に、別のサービスによりクラウド上のアプリケーション９１の実行場所として物理マシン８７が選択されると、アプリケーション９１の動作は仮想マシン８９内で行われる。そして、アプリケーション９０、９１の動作が終了すると、仮想マシン８９内のアプリケーション９０、９１は消滅するが、仮想マシン８９は消滅しない。
なお、符号９２は物理マシン８７に存在するハードウェアであり、符号９３は物理マシン８７に実装されたオペレーティングシステムであって、物理マシン８７、ハードウェア９２、及びクラウドプラットフォーム８８の動作を制御している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｘｅｎ  Ｃｌｏｕｄ  Ｐｌａｔｆｏｒｍ  Ａｄｍｉｎｉｓｔｒａｔｏｒ’ｓ  Ｇｕｉｄｅ、［平成２７年７月１５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｒｃｈｉｖｅ.ｘｅｎｐｒｏｊｅｃｔ．ｏｒｇ／ｆｉｌｅｓ／Ｘｅｎ  Ｃｌｏｕｄ／ｇｕｅｓｔ．ｐｄf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図８（Ａ）に示す物理マシン８１は、クラウドサービス８０とアプリケーション８３をそれぞれ実行する仮想マシン８２、８４の動作環境を提供しているだけである。このため、クラウドサービス８０とアプリケーション８３が実行される際に必要となる計算機資源が物理マシン８１内及びその周辺にローカル環境として存在していても、クラウドサービス８０とアプリケーション８３に直接提供されることはなく、クラウドサービス８０とアプリケーション８３の動作過程で計算機資源が必要になるときに、クラウドサービス８０とアプリケーション８３が実行される物理マシン８１の外部に存在し、インターネット上で集中管理されている計算機資源の資源管理センターとの間で通信を行うことになる。従って、クラウドサービス８０とアプリケーション８３に高いリアルタイム性やリーチャビリティが要求される場合は、通信に伴う時間遅延が大きな問題となる。更に、資源管理センターに対しては動作中のアプリケーションからのアクセスが集中するため、資源管理センターに接続する通信回線の容量増大、通信回線の高速化、資源管理センターにおける情報処理能力の増強等の設備能力向上を常に図る必要があるという問題が生じる。
【０００６】
図８（Ｂ）に示す物理マシン８７では、アプリケーション９０、９１の実行場所は、物理マシン８７内に設けられたＭｉｎｉ‐ＯＳ上で動作する仮想マシン８９であるため、アプリケーション９０、９１はＭｉｎｉ‐ＯＳを介して動作中に物理マシン８７内に存在するハードウェア９２内の記憶装置と通信することができるが、ハードウェア９２内の記憶装置以外のハードウェア機能は利用できないという制約がある。このため、アプリケーション９０、９１の動作中に記憶装置以外の計算機資源を必要とする場合、アプリケーション９０、９１は物理マシン８７の外部に存在する、例えば、インターネット上で集中管理されている資源管理センターにアクセスすることになって、アプリケーション９０、９１に高いリアルタイム性やリーチャビリティが要求される場合、通信に伴う時間遅延が大きな問題となる。そして、管理センターに対しては動作中のアプリケーションからの通信が集中するため、管理センターに接続する通信回線の容量増大、通信回線の高速化、管理センターにおける情報処理能力の増強等の設備能力向上を常に図る必要があるという問題が生じる。更に、仮想マシン８９で実行される複数のアプリケーション９０、９１からハードウェア９２に対して同時にアクセスが行われた場合、Ｍｉｎｉ‐ＯＳにはアプリケーション９０、９１毎にハードウェア９２（記憶装置）を並行提供制御する仕組みが設けられていないため、仮想マシン８９内でアプリケーション９０、９１を同時に効率的に実行させることができないという問題がある。
【０００７】
本発明はかかる事情に鑑みてなされたもので、クラウド上で動作している仮想マシン内又は仮想マシンのコンテナ内で実行されるアプリケーションが動作している間にローカル環境の認識を支援することが可能なクラウドアプリケーション動作中ローカル環境認識支援装置及びそのローカル環境認識支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的に沿う第１の発明に係るクラウドアプリケーション動作中ローカル環境認識支援装置は、クラウド上で動作している仮想マシン内又は該仮想マシンのコンテナ内で実行されるアプリケーションソフトウェアに、前記仮想マシンが動作する前記クラウドのローカル環境に存在するローカルハードウェアと各種ローカル資源を提供して、前記アプリケーションソフトウェアの動作中にローカル環境認識を支援する。
また、前記目的に沿う第２の発明に係るクラウドアプリケーション動作中ローカル環境認識支援方法は、クラウド上で動作している仮想マシン内又は該仮想マシンのコンテナ内で実行されるアプリケーションソフトウェアに、前記仮想マシンが動作する前記クラウドのローカル環境に存在するローカルハードウェアと各種ローカル資源を提供して、前記アプリケーションソフトウェアの動作中にローカル環境認識を支援する。
ここで、ローカル環境に存在するハードウェアの中でアプリケーションと直接通信するものをローカルハードウェアといい、ローカル環境に存在するハードウェアの中でアプリケーションとローカルネットワークを介して通信するもの、及びローカル環境に存在するデータ処理システム等のローカルサービスを各種ローカル資源という。
【発明の効果】
【０００９】
第１の発明に係るクラウドアプリケーション動作中ローカル環境認識支援装置及び第２の発明に係るクラウドアプリケーション動作中ローカル環境認識支援方法においては、クラウド上の仮想マシン内又は仮想マシンのコンテナ内で実行されるアプリケーションに、仮想マシンが動作するローカル環境に存在するローカルハードウェアと各種ローカル資源の提供範囲を把握した上、アプリケーションはローカルハードウェアと各種ローカル資源を利用することができ、通信に伴う時間遅延による効率低下を解消することができる。そして、ローカル環境上に利用できるローカルハードウェアと各種ローカル資源が存在しない場合、アプリケーションはクラウドを介してローカル環境の外部に存在するリモートハードウェアとリモートサービスを利用することになるが、本発明の技術を導入したクラウドサービス側で、ローカルと外部の両方の環境を把握した上で負荷分散を行ったり、クラウド内のトラフィック量を減少したりすることができる。
また、特定のアプリケーションに対して、仮想マシンが動作するクラウドのローカル環境に存在するローカルハードウェアと各種ローカル資源を利用するように、クラウド管理者側で予め設定されるので、負荷分散によるサービス全体の効率化が達成できると共に、ローカルハードウェアと各種ローカル資源の管理（品質、安定性、負荷分散、セキュリティ等）を十分に行うことで、例えば、ビッグデータ等の処理を効率的かつ安全に行うことも可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施の形態に係るクラウドアプリケーション動作中ローカル環境認識支援装置の構成とローカル環境認識を用いるアプリケーション動作の支援例を示す説明図である。
【図２】同クラウドアプリケーション動作中ローカル環境認識支援装置によるアプリケーション動作の別の支援例を示す説明図である。
【図３】（Ａ）、（Ｂ）はクラウド上にアプリケーションを提供する方法の説明図である。
【図４】クラウドアプリケーション動作中ローカル環境認識支援方法を用いてアプリケーションを動作させた際のローカルハードウェア及び各種ローカル資源と外部資源の使用状況の関係を示す説明図である。
【図５】実施例１におけるローカル環境の説明図である。
【図６】実施例２におけるローカル環境の説明図である。
【図７】実施例３におけるローカル環境の説明図である。
【図８】（Ａ）、（Ｂ）はクラウド上のアプリケーションを従来方法で実行する際の状況を示す説明図である。
【発明を実施するための形態】
【００１１】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
図１に示すように、クラウドサービスがクラウド上のアプリケーション（アプリケーションソフトウェア）１０を実行する場合、クラウドの管理窓口（ソフトウェア又は電子的手続き等）を通して、クラウド内のネットワーク１１と接続する物理マシンの中で、サービスの最寄りとなる場所に設置されている物理マシン１２がアプリケーション１０の実行場所として選択され、この物理マシン１２に実装されたクラウドプラットフォーム１３上にアプリケーション１０を実行する仮想マシン１４が立ち上げられる。ここで、物理マシン１２とクラウド全体のクラウドプラットフォームには、Ｘｅｎ等の従来から使用されているものを使用することができる。なお、符号１５はネットワーク１１と物理マシン１２の間に設けられたスイッチである。
【００１２】
本発明の一実施の形態に係るクラウドアプリケーション動作中ローカル環境認識支援装置１６は、クラウド上の物理マシン１２で動作する仮想マシン１４内で実行されるアプリケーション１０に、仮想マシン１４が動作するクラウドのローカル環境に存在するローカルハードウェアと各種ローカル資源が提供される範囲を把握した上で、ローカルハードウェアと各種ローカル資源を提供し、アプリケーション１０の動作中にローカル環境認識を支援している。ここで、ローカル環境は、物理マシン１２と物理マシン１２に接続するデータセンター内ネットワーク１７（施設内ネットワークの一例）上の予めクラウド管理者に設定された特定範囲（データセンター内の開放範囲）により形成される。なお、ローカル環境を物理マシン１２内、物理マシン１２のラック内、複数のラックのクラスタ内等に限定することがきる。
符号１８は物理マシン１２をデータセンター内ネットワーク１７に接続するスイッチ、符号１９はデータセンター内ネットワーク１７に設置された分断器である。
【００１３】
データセンター内ネットワーク１７に分断器１９を分散配置して、分断器１９の操作を組み合わせることにより、データセンター内ネットワーク１７において物理マシン１２と接続する特定範囲を任意に設定することができる。これにより、物理マシン１２内のハードウェアと、データセンター内の開放範囲に存在するセンター内開放ハードウェア２０とにより、仮想マシン１４が動作するローカル環境内のローカルハードウェアを構成することができる。なお、図１において、符号２１、２２、２３は、データセンター内の非開放範囲に存在するセンター内非開放物理マシンであり、符号２４、２５はデータセンター内の非開放範囲に存在するセンター内非開放ハードウェアである。
【００１４】
物理マシン１２内に立ち上げられる仮想マシン１４には、アプリケーション１０を動作させると共に、アプリケーション１０からの要求を外部に出力し、外部からの応答をアプリケーション１０に伝える機能を有するソフトウェアを備えたアプリケーション動作中ローカル環境認識手段２６が設けられている。アプリケーション１０が動作を開始することにより、アプリケーション動作中ローカル環境認識手段２６を介して仮想マシン１４の外部にアプリケーション１０が動作時に必要とするハードウェアの要求が出力される。
なお、物理マシン１２に仮想マシン１４が立ち上げられた後に、他のサービスがアプリケーション２７、２８をそれぞれ実行させようとし、その実行場所として物理マシン１２が選択されると、物理マシン１２にはアプリケーション２７、２８を実行するためにアプリケーション動作中ローカル環境認識手段２６をそれぞれ備えた仮想マシン２９、３０が更に立ち上げられる。
【００１５】
仮想マシン１４内へのアプリケーション動作中ローカル環境認識手段２６のインストール及び起動方法としては、予めアプリケーション動作中ローカル環境認識手段２６がインストールされた仮想マシン１４が物理マシン１２のローカル環境にマイグレーションして起動する方法、物理マシン１２のローカル環境にマイグレーションした仮想マシン１４に、ローカル環境でアプリケーション動作中ローカル環境認識手段２６を追加インストールして起動する方法、又はあるクラウドが予めアプリケーション動作中ローカル環境認識手段２６をインストールした仮想マシン１４を準備して物理マシン１２のローカル環境に提供し、外部から起動命令が来ることにより起動する方法等が考えられる。どの方法を採用するかは、ローカルハードウェアの構成や提供方法に基づいて選択される。
【００１６】
図１に示すように、クラウドアプリケーション動作中ローカル環境認識支援装置１６は、クラウドプラットフォーム１３上に設けられて、アプリケーション動作中ローカル環境認識手段２６を介して、アプリケーション１０、２７、２８からの要求によりローカルハードウェアと各種ローカル資源を探索し、探索結果をアプリケーション１０、２７、２８に通知する機能と、ローカルハードウェアと各種ローカル資源の使用を可能とする機能を備えたローカルハードウェア認識支援手段３１を備えたローカルハードウェア認識プラットフォーム３２を有している。また、ローカルハードウェア認識プラットフォーム３２には、アプリケーション１０、２７から同時にローカルハードウェアと各種ローカル資源の利用要求が生じた際に、アプリケーション１０、２７毎にローカルハードウェアと各種ローカル資源の並行アクセス制御を行うローカルハードウェア利用制御手段３３が設けられている。
【００１７】
図２に示すように、物理マシン１２にアプリケーション３４、３５を実行するためにアプリケーション動作中ローカル環境認識手段２６をそれぞれ備えた仮想マシン３６、３７が立ち上げられた場合において、アプリケーション３４はローカル環境にローカルハードウェアと各種ローカル資源が存在することを認識し、アプリケーション３５はローカル環境にローカルハードウェアと各種ローカル資源が存在しないことを認識すると、アプリケーション３５は、クラウドプラットフォーム１３を介してローカル環境の外部に存在するリモートハードウェアと各種リモート資源を利用することになる。このため、アプリケーション３４だけがローカルハードウェアと各種ローカル資源の提供を要求することになって、物理マシン１２内で、ローカルハードウェアと各種ローカル資源の要求に競合は生じない。この場合は、アプリケーション３４はクラウドプラットフォーム１３を介してローカルハードウェアと各種ローカル資源を直接利用することができる。
【００１８】
ここで、図３（Ａ）に示すように、アプリケーションをクラウド３８に提供する方法として、例えば、クラウド３８内にアプリケーションを収納するプラットフォーム３９を開設し、プラットフォーム３９には、プラットフォーム３９の開設者４０がアプリケーションを提供する方式が考えられる。従って、クラウドサービス４１がプラットフォーム３９内から選択したアプリケーションが動作する場合、クラウド３８のローカル環境内のローカルハードウェアと各種ローカル資源を優先活用する処理Ｐが図られ、ローカルハードウェアと各種ローカル資源が存在しない場合にクラウド３８の外部の第三者４２が提供する資源（リモートハードウァと各種リモート資源）を活用する処理Ｑが行われる。
【００１９】
また、図３（Ｂ）に示すように、複数のクラウドのネットワーク同士を接続してクラウド連４３を構成し、クラウド連４３内にアプリケーションを収納するプラットフォーム４４を開設した開設者４５が、クラウド連４３を構成している各クラウドの管理者４６に対してプラットフォーム４４へのアプリケーションの提供を働きかけ、クラウドの管理者４６がアプリケーションをプラットフォーム４４内に入力する方式も考えられる。この場合、各クラウド毎に設定されたローカル環境の集合が、クラウド連４３としてのローカル環境に対応する。従って、プラットフォーム４４内から選択されたアプリケーションが動作する場合、クラウド連４３のローカル環境内のローカルハードウェアと各種ローカル資源を優先活用する処理Ｒが図られ、ローカルハードウェアと各種ローカル資源が存在しない場合にクラウド連４３の外部の第三者４７が提供する資源（リモートハードウァと各種リモート資源）を活用する処理Ｓが行われる。
【００２０】
続いて、本発明の一実施の形態に係るクラウドアプリケーション動作中ローカル環境認識支援装置１６を用いたクラウドアプリケーション動作中ローカル環境認識支援方法について説明する。
図１に示すように、クラウドアプリケーション動作中ローカル環境認識支援方法は、クラウド上で動作している仮想マシン１４、２９、３０内で実行されるアプリケーション１０、２７、２８に、仮想マシン１４、２９、３０が動作するクラウドのローカル環境（物理マシン１２と物理マシン１２に接続するデータセンター内ネットワーク１７上のデータセンター内の開放範囲）に存在するローカルハードウェアと各種ローカル資源が提供されている範囲を把握した上で、ローカルハードウェアと各種ローカル資源を提供して、アプリケーション１０、２７、２８の動作中にローカル環境認識を支援するものである。
【００２１】
仮想マシン１４、２９、３０にはアプリケーション動作中ローカル環境認識手段２６が設けられており、アプリケーション１０、２７、２８が動作すると、アプリケーション動作中ローカル環境認識手段２６を介したアプリケーション１０、２７、２８からの要求によりローカルハードウェア認識プラットフォーム３２のローカルハードウェア認識支援手段３１はローカルハードウェアと各種ローカル資源を探索して探索結果をアプリケーション１０、２７、２８に通知すると共に、ローカルハードウェアと各種ローカル資源の使用を可能とする。
【００２２】
ここで、アプリケーション１０、２７、２８には、ハードウェアを利用する際に制約は設けていないので、ローカルハードウェア認識支援手段３１による探索結果から、ローカル環境に利用できるローカルハードウェアと各種ローカル資源の存在を認識したアプリケーション１０、２７は、例えば、各種ローカル資源を利用し、ローカル環境で利用できるローカルハードウェアと各種ローカル資源が存在しないことを認識したアプリケーション２８は、クラウドプラットフォーム１３を介してローカル環境の外部に存在する各種リモート資源を利用することができる。
【００２３】
アプリケーション１０、２７は、ローカルハードウェア認識プラットフォーム３２のローカルハードウェア利用制御手段３３を介してローカルハードウェアと各種ローカル資源を利用する。これにより、アプリケーション１０、２７においてローカルハードウェアと各種ローカル資源の同時利用が生じても、アプリケーション１０、２７に対してローカルハードウェアと各種ローカル資源を並行に提供することができる。
【００２４】
図２に示すように、物理マシン１２にアプリケーション３４、３５を実行する仮想マシン３６、３７が立ち上げられ、ローカルハードウェア認識プラットフォーム３２のローカルハードウェア認識支援手段３１からの探索結果を受けて、アプリケーション３４はローカル環境に利用できるローカルハードウェアと各種ローカル資源の存在を認識し、アプリケーション３５はローカル環境に利用できるローカルハードウェアと各種ローカル資源が存在しないことを認識した場合、アプリケーション３５は、クラウドプラットフォーム１３を介してローカル環境の外部に存在するリモートハードウェアと各種リモート資源を利用することができる。その結果、アプリケーション３４だけがローカルハードウェアと各種ローカル資源を利用することになって、物理マシン１２内で、ローカルハードウェアと各種ローカル資源の利用に競合は生じない。この場合は、アプリケーション３４はクラウドプラットフォーム１３を介してローカルハードウェアと各種ローカル資源を直接利用することができる。
【００２５】
ここで、アプリケーションの一般的な動作におけるクラウドアプリケーション動作中ローカル環境認識支援方法の作用を図４に示す。
アプリケーション（ＡＰＰ）が動作する仮想マシン（ＶＭ）に搭載されたアプリケーション動作中ローカル環境認識手段（Ｔｏｏｌｓ）によりアプリケーションが起動すると（Ａ−１）、アプリケーションに、例えば、各種リモート資源を使用することが規定されている場合は、従来のようにアプリケーションは各種リモート資源を使用する（Ａ−２）。一方、アプリケーションに、各種リモート資源を使用する規定が設けられていないと、アプリケーションは、アプリケーション動作中ローカル環境認識手段とローカルハードウェア認識プラットフォーム（ＬＨＡＰ）のローカルハードウェア認識支援手段により、探索結果に基づいて各種ローカル資源を認識し、各種ローカル資源の提供（各種ローカル資源の使用が可能であること）を認識する（Ａ−３）。
【００２６】
ローカルハードウェア認識支援手段により、アプリケーションがローカル環境に使用できる各種ローカル資源が存在しないことを認識すると、アプリケーションは各種リモート資源を使用する（Ａ−２）。一方、ローカル環境に使用できる各種ローカル資源が存在することを認識したアプリケーションが複数存在する場合、アプリケーションは、ローカルハードウェア認識プラットフォームのローカルハードウェア利用制御手段を経由して各種ローカル資源の提供を受けて使用する（Ａ−４）。なお、ローカル環境に使用できる各種ローカル資源が存在することを認識したアプリケーションが一つの場合、各種ローカル資源はアプリケーションによる単独使用状態となるため、アプリケーションは各種ローカル資源を直接使用する（Ａ−５）。
【実施例】
【００２７】
（実施例１）
図５に示すように、クラウド内の外部ネットワークにスイッチＡを介して物理マシンが接続し、物理マシンにスイッチＢを介してデータセンター内ネットワークが接続している。ここで、物理マシンには、ローカルハードウェア認識プラットフォーム（ＬＨＡＰ）が設けられている。また、データセンター内ネットワーク内には分断器が設けられており、データセンター内ネットワーク上において、スイッチＢと分断器の間の特定範囲に存在する記憶装置、センサ、及びＨａｄｏｏｐ（データ処理システムの一例）が物理マシンと通信可能となる。従って、クラウド上のアプリケーションを実行するための仮想マシンが物理マシンに立ち上げられると、物理マシンと特定範囲を組み合わせた範囲がクラウドのローカル環境になって、アプリケーションはＬＨＡＰを介して、記憶装置、センサ、及びＨａｄｏｏｐを使用する。
【００２８】
（実施例２）
無線や有線によりアクセスが可能な物理マシンを用いてクラウドを構成した例を図６に示す。ここで、物理マシンは、ローカルハードウェア認識プラットフォーム（ＬＨＡＰ）、アプリケーションを実行する仮想マシン、記憶装置やセンサ等のハードウェア（ハードウェア機能を有する仮想ハードウェアでもよい）を有している。また、物理マシンには、ハブを介して、外部ハードウェア（仮想ハードウェアやデータ処理システムを含む）、無線ユーザのための無線アクセスポイント、及び有線ユーザ用アクセスポイントが接続する。無線ユーザ、有線ユーザがアプリケーションを実行する仮想マシンにアクセスすると、アプリケーションに応じて仮想マシンと仮想マシンに接続するハードウェアとの間にローカル環境が形成され、アプリケーションは、ＬＨＡＰを介してハードウェアを使用する。
【００２９】
（実施例３）
無線によりアクセスが可能な物理マシン内にクラウドを構成する例を図７に示す。ここで、物理マシンは、ローカルハードウェア認識プラットフォーム（ＬＨＡＰ）、アプリケーションを実行する仮想マシン、記憶装置やセンサ等のハードウェア（ハードウェア機能を有する仮想ハードウェアでもよい）を有している。ユーザがアプリケーションを実行する仮想マシンにアクセス（Ｐ２Ｐローカル通信、ビーコン、インターネット通信等により）すると、アプリケーションに応じて仮想マシンと仮想マシンに接続するハードウェアとの間にローカル環境が形成され、アプリケーションは、ＬＨＡＰを介してハードウェアを使用する。
【００３０】
以上、本発明を、実施の形態を参照して説明してきたが、本発明は何ら上記した実施の形態に記載した構成に限定されるものではなく、特許請求の範囲に記載されている事項の範囲内で考えられるその他の実施の形態や変形例も含むものである。
更に、本実施の形態とその他の実施の形態や変形例にそれぞれ含まれる構成要素を組合わせたものも、本発明に含まれる。
本実施の形態及び実施例では、アプリケーションが仮想マシン内で実行される場合について説明したが、アプリケーションが仮想マシンのコンテナ内で実行される場合も、本発明に含まれる。
【符号の説明】
【００３１】
１０：アプリケーション、１１：ネットワーク、１２：物理マシン、１３：クラウドプラットフォーム、１４：仮想マシン、１５：スイッチ、１６：クラウドアプリケーション動作中ローカル環境認識支援装置、１７：データセンター内ネットワーク、１８：スイッチ、１９：分断器、２０：センター内開放ハードウェア、２１、２２、２３：センター内非開放物理マシン、２４、２５：センター内非開放ハードウェア、２６：アプリケーション動作中ローカル環境認識手段、２７、２８：アプリケーション、２９、３０：仮想マシン、３１：ローカルハードウェア認識支援手段、３２：ローカルハードウェア認識プラットフォーム、３３：ローカルハードウェア利用制御手段、３４、３５：アプリケーション、３６、３７：仮想マシン、３８：クラウド、３９：プラットフォーム、４０：開設者、４１：クラウドサービス、４２：第三者、４３：クラウド連、４４：プラットフォーム、４５：開設者、４６：管理者、４７：第三者
【図１】
2017084060.tif 000003
【図２】
2017084060.tif 000004
【図３】
2017084060.tif 000005
【図４】
2017084060.tif 000006
【図５】
2017084060.tif 000007
【図６】
2017084060.tif 000008
【図７】
2017084060.tif 000009
【図８】
2017084060.tif 000010