(57)【要約】【課題】  端末の状況を動的に判断し、アプリケーション毎にユーザ環境に適した実行環境に切り替える。【解決手段】  本発明は、アプリケーション開発販売事業者装置にアクセスし、所望のアプリケーション起動用のURLを取得し、URLを用いてクラウド事業者Webサーバにアクセスして、受信したファイルの端末状況判断処理に基づいて、該実行環境が既に当該端末にインストールされているかを判断し、インストールされている場合は、実行環境でアプリケーションを起動し、インストールされていない場合はサービス要求用のURLを用いてWebサーバにアクセスし、テストアプリケーション、アプリケーション、その実行環境、仮想マシンをダウンロードし、該テストアプリケーションを実行し、実行可能であるかを判断し、実行可能であった場合には、ダウンロードしたアプリケーションと実行環境を仮想マシン上で実行させる。【選択図】  図２
2015114844.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行する環境を切り替えるためのアプリケーション実行環境切替方法であって、
ユーザ端末と、アプリケーション及びその実行環境を保持するクラウド事業者Webサーバと、該クラウド事業者Webサーバにアプリケーション及び実行環境を提供するアプリケーション開発販売事業者装置と、を有するシステムにおいて、
前記ユーザ端末は、
前記アプリケーション開発販売事業者装置にアクセスし、所望のアプリケーション起動用のURLを取得する起動用URL取得ステップと、
前記URLを用いて前記クラウド事業者Webサーバにアクセスして、端末状況判断処理が埋め込まれたファイルを受信し、該端末状況判断処理に基づいて、該実行環境が既に当該端末にインストールされているかを判断する第１の端末状況判断ステップと、
前記第１の端末状況判断ステップにおいて、インストールされていると判断された場合は、前記実行環境でアプリケーションを起動するアプリケーション起動ステップと、
前記第１の端末状況判断ステップにおいて、インストールされていないと判断された場合はサービス要求用のURLを用いて前記クラウド事業者Webサーバにアクセスし、所望のアプリケーション、該所望のアプリケーションの実行環境、ブラウザで動作する仮想マシン、該所望のアプリケーションを実行する前に該所望のアプリケーションと同等のメモリ容量を使用するテストアプリケーションをダウンロードし、該仮想マシン上で該テストアプリケーションを実行し、実行可能であるかを判断する第２の端末状況判断ステップと、
前記第２の端末状況判断ステップで実行可能であった場合には、ダウンロードした前記所望のアプリケーションと前記実行環境を前記仮想マシン上で実行させる実行環境実行ステップと、
を行うことを特徴とするアプリケーション実行環境切替方法。
【請求項２】
前記第２の端末状況判断ステップにおいて、
前記仮想マシンを起動し、前記テストアプリケーションを実行することでメモリ容量およびリソースの状況判断を行い、
前記実行環境実行ステップにおいて、
前記メモリ容量および前記リソースが十分である場合は、前記実行環境を実行する
請求項１記載のアプリケーション実行環境切替方法。
【請求項３】
前記第１の端末状況判断ステップにおいて、
前記実行環境をダウンロードした時点で、ブラウザ種別、インストールの有無及びバージョンによる状況判断を行い、その時点のユーザ端末の状況に適合している場合に、該実行環境がインストールされているかを判定する
請求項１記載のアプリケーション実行環境切替方法。
【請求項４】
アプリケーションを実行する環境を切り替えるためのアプリケーション実行環境切替装置であって、
ユーザ端末と、クラウド事業者Webサーバと、該クラウド事業者Webサーバにアプリケーション及び実行環境を提供するアプリケーション開発販売事業者装置と、を有するシステムにおいて、
アプリケーション開発販売事業者装置にアクセスし、所望のアプリケーション起動用のURLを取得する起動用URL取得手段と、
前記URLを用いて前記クラウド事業者Webサーバにアクセスして、端末状況判断処理が埋め込まれたファイルを受信し、該端末状況判断処理に基づいて、該実行環境が既に当該端末にインストールされているかを判断する第１の端末状況判断手段と、
前記第１の端末状況判断手段において、インストールされていると判断された場合は、前記実行環境でアプリケーションを起動するアプリケーション起動手段と、
前記第１の端末状況判断手段において、インストールされていないと判断された場合はサービス要求用のURLを用いて前記クラウド事業者Webサーバにアクセスし、所望のアプリケーション、該所望のアプリケーションの実行環境、ブラウザで動作する仮想マシン該所望のアプリケーションを実行する前に該所望のアプリケーションと同等のメモリ容量を使用するテストアプリケーションをダウンロードし、該仮想マシン上で該テストアプリケーションを実行し、実行可能であるかを判断する第２の端末状況判断手段と、
前記第２の端末状況判断手段で実行可能であった場合には、ダウンロードした前記所望のアプリケーションと前記実行環境を前記仮想マシン上で実行させる実行環境実行手段と、
を有することを特徴とするアプリケーション実行環境切替装置。
【請求項５】
前記第２の端末状況判断手段は、
前記仮想マシンを起動し、前記テストアプリケーションを実行することでメモリ容量およびリソースの状況判断を行う手段を含み、
前記実行環境実行手段は、
前記メモリ容量および前記リソースが十分である場合は、前記実行環境を実行する手段を含む
請求項４記載のアプリケーション実行環境切替装置。
【請求項６】
前記第１の端末状況判断手段は、
前記実行環境をダウンロードした時点で、ブラウザ種別、インストールの有無及びバージョンによる状況判断を行い、その時点のユーザ端末の状況に適合している場合に、該実行環境がインストールされているかを判定する手段を含む
請求項４記載のアプリケーション実行環境切替装置。
【請求項７】
コンピュータを、
請求項４乃至６のいずれか１項に記載のアプリケーション実行環境切替装置の各手段として機能させるためのアプリケーション実行環境切替プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション実行環境切替方法及び装置及びプログラムに係り、特に、アプリケーションを端末上または仮想マシンで実行する環境を切り替えるためのアプリケーション実行環境切替方法及び装置及びプログラムに関する。
【背景技術】
【０００２】
近年、Webサイトは静的なHTML(Hyper Text Markup Language)ページのみならず、動的なページを表示することや、ブラウザ上でアプリケーションを実行することが可能となってきている。特に、最近、デザイン性が高く、表現力豊かなアプリケーションが多く提供されている。
【０００３】
例えば、FlashPlayer(登録商標)で作られたアプリケーションなどであるが、これらは、アプリケーションを楽しむためには事前にFlashPlayer (例えば、非特許文献１参照)や、Java VM(登録商標)（例えば、非特許文献２）という実行環境を別途インストールする必要がある。
【０００４】
このように、実行環境を別途インストールする必要があるアプリケーションを、ここでは「実行環境依存型ネイティブアプリケーション（以下、単に「ネイティブアプリケーション」と記す）」と呼ぶ。
【０００５】
アプリケーション開発販売事業者は、できるだけ多くのユーザに実行環境を利用してもらいたいと考えているが、端末内の処理装置で演算処理が実行されるネイティブアプリケーションの場合、ユーザ自身の端末内に実行環境をインストールすることを嫌うユーザに対しては提供するのが困難であった。
【０００６】
ユーザにこのようなネイティブアプリケーションをインストールしてもらうためには、以下の２つのアプローチがある。
【０００７】
アプリケーション開発販売事業者がWebアプリケーション開発を行う際に、Webアプリケーションへネイティブアプリケーションを移植することや、サーバ設備を構築するなどの対応を行うアプローチ(第１のアプローチ)がある。
【０００８】
また、ユーザが、仮想マシンを設定し、仮想マシン上に実行環境とアプリケーションをインストールし、そのアプリケーションを実行するアプローチ（第２のアプローチ）がある。ユーザ自身でネイティブアプリケーションを仮想マシン上で実行する場合には、例えば、ブラウザで動く仮想マシン技術として、JavaScript(登録商標)でx86のPCをエミュレートし、その上でLinux(登録商標)を動作させる方法（例えば、非特許文献３参照）や、仮想マシンの一例として個人利用（無償）向けのVMware Player(登録商標)（例えば、非特許文献４参照）を利用することができる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】FlashPlayer： http://www.adobe.com/jp/products/flashplayer.html
【非特許文献２】Java VM： http://java.com/ja/about/
【非特許文献３】http://bellard.org/jslinux/
【非特許文献４】http://www.vmware.com/jp/virtualization/
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の従来技術における２つのアプローチには、下記の課題がある。
【００１１】
第１のアプローチでは、アプリケーション開発販売事業者側がWebアプリケーションへ実行環境依存型ネイティブアプリケーションを移植するには、プログラム言語や方式が異なる、ネットワークや通信に関する知識やスキルが必要となる、ブラウザによる制限事項やレイテンシーの問題や、同様なサービス仕様を満たすことができるか否かの判断が必要となる等により、Webアプリケーションの開発コストがかかるという問題がある。また、サーバ設備を構築するには、サーバ設置コストや維持費がかかるという問題がある。
【００１２】
また、Webアプリケーションの場合は、サーバ設備が必要であり、サーバに一気にアクセスが集中した場合のサーバダウン等の問題も懸念され、サーバの設備コストやその運用保守に関わる維持費もかかる。
【００１３】
第２のアプローチでは、仮想マシンにおけるメモリ容量を確保する際に、一括で確保する、または、段階的に確保する等、ブラウザ毎に決められた制限がある。
【００１４】
また、第２のアプローチは、ユーザに新たな作業負担を強いるという問題がある。仮に、ユーザがアプリケーションを端末にインストールして、端末の空メモリ容量を測定せずに、所望のアプリケーションをいきなり実行することは、作業途中にメモリ容量不足によりアプリケーションが動作不能になることが考えられ、作業が完結しないという弊害を招く恐れがある。メモリ容量を測定するには、端末に専用の測定ソフトをインストールする方法があるが、ユーザにインストール作業を強いることになる。ユーザ自らが、仮想マシン、実行環境、アプリケーションのそれぞれをインストールし、環境を構築するのはユーザにとって作業負担が大きい。また、動的なページを表示したり、ブラウザ上でアプリケーションを実行するには、ユーザはFlashPlayerやJava VMなど、動的ページやWebアプリケーションの実行環境を自端末に別途インストールする必要があるため、アプリケーションの利用を諦める等の問題がある。
【００１５】
これに対処するため、Webブラウザ上で動作し、インストールが不要な仮想マシン上でアプリケーションを実行することが考えられる。しかし、仮想化によりアプリケーションの動作速度が遅くなったり、メモリ空き領域不足や、ホストコンピュータのリソース不足でアプリケーションが動作しなくなる等の問題がある。
【００１６】
本発明は、上記の点に鑑みなされたもので、端末の状況を動的に判断し、アプリケーション毎にユーザ環境に適した実行環境に切り替えることが可能なアプリケーション実行環境切替方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
一態様によれば、アプリケーションを実行する環境を切り替えるためのアプリケーション実行環境切替方法であって、
ユーザ端末と、アプリケーション及びその実行環境を保持するクラウド事業者Webサーバと、該クラウド事業者Webサーバにアプリケーション及び実行環境を提供するアプリケーション開発販売事業者装置と、を有するシステムにおいて、
前記ユーザ端末は、
前記アプリケーション開発販売事業者装置にアクセスし、所望のアプリケーション起動用のURLを取得する起動用URL取得ステップと、
前記URLを用いて前記クラウド事業者Webサーバにアクセスして、端末状況判断処理が埋め込まれたファイルを受信し、該端末状況判断処理に基づいて、該実行環境が既に当該端末にインストールされているかを判断する第１の端末状況判断ステップと、
前記第１の端末状況判断ステップにおいて、インストールされていると判断された場合は、前記実行環境でアプリケーションを起動するアプリケーション起動ステップと、
前記第１の端末状況判断ステップにおいて、インストールされていないと判断された場合はサービス要求用のURLを用いて前記クラウド事業者Webサーバにアクセスし、所望のアプリケーション、該所望のアプリケーションの実行環境、ブラウザで動作する仮想マシン、該所望のアプリケーションを実行する前に該所望のアプリケーションと同等のメモリ容量を使用するテストアプリケーションをダウンロードし、該仮想マシン上で該テストアプリケーションを実行し、実行可能であるかを判断する第２の端末状況判断ステップと、
前記第２の端末状況判断ステップで実行可能であった場合には、ダウンロードした前記所望のアプリケーションと前記実行環境を前記仮想マシン上で実行させる実行環境実行ステップと、を行うアプリケーション実行環境切替方法が提供される。
【発明の効果】
【００１８】
一態様によれば、ユーザがユーザ端末でアプリケーションを実行する前に、ユーザ端末に実行環境がインストールされてるかをチェックし、インストールされている場合にはユーザ端末で実行し、されていない場合に限り、ブラウザ上で動作するダウンロードされた仮想マシンで実行することにより、全てのネイティブアプリケーションを実行速度が遅くなる仮想マシンで動作させることがないという効果を奏する。
【００１９】
また、仮想マシンで実行する前に、端末のリソースの状況をチェックすることにより、実行中にアプリケーションが動作しなくなるという状況を回避することができる。
【００２０】
また、ネイティブアプリケーションはURLを指定するだけでクラウド事業者Webサーバよりダウンロードすることができるため、ユーザが実行環境を自らインストールする必要がなく、ユーザの負担を軽減することができる。さらに、アプリケーション開発販売事業者側では、ユーザがネイティブアプリケーションを利用することで、Webアプリケーションの開発に掛かるコストを削減することができると共に、端末側CPUを使うことによりサーバ設備コストや維持費を抑えることが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明のシステム構成例である。
【図２】本発明のユーザ端末の構成例である。
【図３】本発明の概要動作のフローチャートである。
【図４】本発明の第１の実施の形態におけるシステムのシーケンスチャートである。
【図５】本発明の第１の実施の形態における端末状況判断の例である。
【図６】本発明の第２の実施の形態の概念図である。
【図７】本発明の第２の実施の形態におけるシステムのシーケンスチャートである。
【図８】本発明の第２の実施の形態における端末状況判断の例である。
【発明を実施するための形態】
【００２２】
以下、図面と共に本発明の実施の形態を説明する。
【００２３】
前述の問題を解決するために、ネイティブアプリケーションを用いる（方法A）、端末側のCPUを使って処理実行する（方法B）、インストール作業なしに、ブラウザ上の仮想マシンでアプリケーションを実行する（方法C）等が考えられる。方法Cの、インストールすることなく、ブラウザ上で仮想マシンを実行する技術として、例えばJavaScript(登録商標)でx86のPCをエミュレートし、その上でLinux(登録商標)を動作させるものがある。しかし、現状ではネットワーク通信ができないという問題がある。この問題に対しては、ブラウザ上の仮想マシンが他のマシンとネットワーク通信を行うために必要なデータを送受信させるために、パケットデータの変換機能を適用することが考えられる。
【００２４】
しかし、上記の方法A、方法B，方法Cの３つの仕組みを適用し、一律に端末側でネイティブアプリケーションをブラウザ上の仮想マシンで動かせば良いというものではない。
【００２５】
一般的に仮想マシンは端末のCPUよりもアプリケーション動作が遅くなるといわれており、実行環境が既にインストールされている端末に対しては、当該端末のCPUでアプリケーションを実行するのが良い。
【００２６】
また、通常、仮想マシン上でアプリケーションを動作させる場合は、ゲストOS用のメモリとその上で実行するアプリケーション用のメモリが必要となる。 メモリ容量が十分でない場合は、アプリケーションの動作性能が落ちることがわかっている。そのため、事前にメモリ容量に十分な空きがある場合にのみ、仮想マシン上でアプリケーションを実行するのが望ましい。
【００２７】
本発明は、ネイティブアプリケーション（例えば、FlashPlayer上で動くゲーム等）を利用したいというユーザの希望に沿って、ユーザ自身がネイティブアプリケーションをインストールすることなく、ユーザがPCやスマートフォン等の各種端末のブラウザからURLを指定するのみで、ユーザ端末内で端末状況判断を動的に実施し、クラウド事業者Webサーバからネイティブアプリケーションと実行環境、及び仮想マシンを配信し、ユーザ端末では、ネイティブアプリケーション毎にユーザ環境に適した実行環境に切り替えて、当該ネイティブアプリケーションを実行する。
【００２８】
図１は、本発明のシステム構成例を示す。
【００２９】
同図に示すシステムは、アプリケーションを実行するユーザ端末１０、アプリケーション（以下では、ネイティブアプリケーション）を開発販売するアプリケーション開発販売事業者装置２０、アプリケーション開発販売事業者装置２０から予め提供されたネイティブアプリケーションを保持し、ユーザ端末１０へネイティブアプリケーションやテストアプリケーション、実行環境、ユーザ端末１０のブラウザ上で動作する仮想マシンを配信するクラウド事業者Webサーバ３０、これらを収容するネットワーク(NW)４０を有する。
【００３０】
ユーザ端末１０の構成を図２に示す。同図に示すユーザ端末１０は、ユーザインタフェース１１、処理制御部１２、通信制御部１３、端末状況判断部１４、ブラウザ１５を有する。
【００３１】
ユーザインタフェース１１は、ユーザとの間でデータの入出力を行う。ユーザからアプリケーション開発販売事業者装置２０へのアクセス、アプリケーションの指定入力を受け付け、処理制御部１２や通信制御部１３へ情報を転送する、及び、メッセージの出力を行う。
【００３２】
通信制御部１３は、ユーザから指定された装置へのアクセス及び処理制御部１２の指示に基づいてURLへのアクセス及びアクセス先からのメッセージを受信し、処理制御部１２に通知する。
【００３３】
処理制御部１２は、通信制御部１３を介してクラウド事業者Webサーバ３０に、アプリケーション起動用のURLを用いてHTMLファイル要求を送信することにより、ダウンロードされたHTMLファイルを実行する。
【００３４】
端末状況判断部１４は、クラウド事業者Webサーバ３０からダウンロードされたHTMLファイルに含まれるインストール状況判断プログラムを用いて自端末（ユーザ端末１０）の状況を判断する。インストール状況判断プログラムを実行した結果、既に実行環境がインストールされていると判断した場合には、処理制御部１２に対してブラウザ１５上での処理が可能であることを通知する。一方、インストールされていない場合は、ブラウザ１５上に仮想マシンをダウンロードする必要があるため、処理制御部１２にサービス起動要求を行う必要があることを通知する。
【００３５】
また、端末状況判断部１４は、処理制御部１２を介してテストアプリケーションを取得すると、当該テストアプリケーションを実行し、その結果を処理制御部１２に返す。
【００３６】
処理制御部１２は、端末状況判断部１４から既に実行環境がインストールされている通知を取得した場合には、ブラウザ１５上でネイティブアプリケーションを実行させる。一方、端末状況判断部１４から実行環境がインストールされていないことが通知された場合は、通信制御部１３を介してクラウド事業者Webサーバ３０にサービス起動要求を送信し、テストアプリケーション、実行環境、ネイティブアプリケーション、仮想マシンを取得して、テストアプリケーションを端末状況判断部１４に渡す。端末状況判断部１４からテストアプリケーションの実行結果を取得し、テストアプリケーションが実行できた場合には、ダウンロードされた実行環境で、ブラウザ１５上にダウンロードされた仮想マシン１５１でネイティブアプリケーションを実行させる。実行できなかった場合はその旨を、ユーザインタフェース１１を介してメッセージ出力する
なお、テストアプリケーションは、アプリケーションの実行を担保するために、ネイティブアプリケーションが動作するために最大必要とするメモリ容量と同程度の容量のメモリを使用するプログラムを意味する。
【００３７】
クラウド事業者Webサーバ３０は、ネイティブアプリケーション及びその実行環境を予めアプリケーション開発販売事業者装置２０から取得して保持している。ユーザ端末１０からのHTMLファイル要求を受信すると、実行環境がインストールされてるかを判定するためのインストール状況判断プログラムが埋め込まれたHTMLファイルをユーザ端末１０に送信する。また、ユーザ端末１０からサービス起動要求を受信すると、テストアプリケーションとユーザが希望するネイティブアプリケーションと実行環境及びブラウザ１５上で動く仮想マシンを送信する。
【００３８】
アプリケーション開発販売事業者装置２０は、クラウド事業者Webサーバ３０にネイティブアプリケーション及び実行環境を予め格納し、ユーザ端末１０からホームページ（HP）へのアクセスがあると、当該HP上でユーザにより選択されたネイティブアプリケーションの起動用のURLを当該ユーザ端末１０に送信する。
【００３９】
以下に、上記のシステム構成における概要動作を説明する。
【００４０】
図３は、本発明の概要動作のフローチャートである。
【００４１】
ステップ１）端末状況判断処理：
ユーザ端末１０の処理制御部１２は、クラウド事業者Webサーバ３０からインストール状況判断プログラムが埋め込まれたHTMLファイルを通信制御部１３を介して受信し、端末状況判断部１４において、適合バージョンの実行環境が既に自端末（ユーザ端末１０）内にインストールされているかを判断する。インストールされている場合には、処理制御部１２は、ブラウザ１５上でネイティブアプリケーションを実行させる（ステップ４）。実行環境がインストールされていない場合には、ステップ２に移行する。
【００４２】
ステップ２）自動配信処理：
ステップ１において、実行環境がユーザ端末１０内にインストールされていない場合には、処理制御部１２は、クラウド事業者Webサーバ３０にサービス起動要求を送出する。クラウド事業者Webサーバ３０は、当該サービス起動要求に基づいて、メモリ容量やHDD、CPUを同程度の容量を必要とする試験用に作成されたテストアプリケーション、最適な実行環境、ユーザが希望するネイティブアプリケーション、及び仮想マシンを当該ユーザ端末１０に送信する。
【００４３】
ユーザ端末１０は、クラウド事業者Webサーバ３０から、取得したテストアプリケーション、最適な実行環境、ネイティブアプリケーション、及び仮想マシンをダウンロードすると、まず、テストアプリケーションをブラウザ１５上で実行する。テストアプリケーションを実行せずに、最初から所望のネイティブアプリケーションを実行することは、作業途中にメモリ容量やメモリの使用状況に起因して当該ネイティブアプリケーションが動作不能になることが考えられ、作業が完結しないという弊害を招く恐れがあるため、ユーザ端末１０に実行環境がインストールされていない場合は、テストアプリケーションを実行する。
【００４４】
なお、テストアプリケーションは、アプリケーションの実行を担保するために、所望のネイティブアプリケーションが最大に必要とするメモリ容量と同程度の容量のメモリを使用するプログラムとする。
【００４５】
そのテストアプリケーションが実行可能であった場合は、ステップ３に移行する。実行が失敗した場合は、メッセージをユーザインタフェース１１を介してユーザに通知する。
【００４６】
ステップ３）端末側実行処理：
ユーザ端末１０は、ブラウザ上でダウンロードされた仮想マシンが実行環境を起動すると、ユーザは希望するネイティブアプリケーションを実行することができる。
【００４７】
［第１の実施の形態］
本実施の形態では、ユーザ端末１０に実行環境がインストールされていない場合の動作について説明する。また、実行環境の一例としてFlashPlayerを採用しているネイティブアプリケーションを用いて説明する。
【００４８】
なお、アプリケーション開発販売事業者装置２０を有する企業は、クラウド事業者Webサーバ３０にアプリケーションを何らかの方法により格納している前提である。
【００４９】
図４は、本発明の第１の実施の形態におけるシステムのシーケンスチャートである。
【００５０】
＜端末状況判断フェーズ(a)＞
ステップ１０１）  ユーザ端末１０は、ユーザからユーザインタフェース１１を介して選択されたブラウザを起動し、通信制御部１３を介して利用したいネイティブアプリケーションを提供している企業のアプリケーション開発販売事業者装置２０のホームページ（HP）にアクセスする。
【００５１】
ステップ１０２）  ユーザインタフェース１１を介してアプリケーション開発販売事業者装置２０の企業HPが表示されると、ユーザがユーザインタフェース１１を介して、当該HPに掲載されているアプリケーションの中からあるネイティブアプリケーション（例えば、「ゲームA」）を選択する。通信制御部１３は、アプリケーション開発販売事業者装置２０のホームページに所望のゲームAのアプリケーション起動用のURL（例えば、「http://www.xxx.jp/yyy/url1.html」）にアクセスする。
【００５２】
ステップ１０３）  ユーザ端末１０の処理制御部１２は、通信制御部１３を介してクラウド事業者Webサーバ３０からFlashPlayerインストール状況判断プログラムが埋め込まれたHTMLファイルを受信し、ダウンロードする。
【００５３】
ステップ１０４）  ユーザ端末１０の端末状況判断部１４は、FlashPlayerのインストール状況判断プログラムを実行する。FlashPlayerのインストール状況判断プログラムを実行した結果、FlashPlayerの適合バージョンがインストールされていない場合は、ステップ１０５に移行する。インストールされている場合には、ブラウザ１５上でFlashPlayerを起動し、ネイティブアプリケーション（例えば、「ゲームA」）を実行する。
【００５４】
＜自動配信処理フェーズ＞
ステップ１０５）  ステップ１０４において、FlashPlayerの適合バージョンがインストールされていない場合は、ユーザ端末１０の通信制御部１３は、クラウド事業者Webサーバ３０のサービス起動要求用のURL（例えば、「http://www.xxx.jp/yyy.zzz.url11.html」）へアクセスする。
【００５５】
ステップ１０６）  クラウド事業者Webサーバ３０は、テストアプリケーション、ユーザが所望するネイティブアプリケーション（例えば、「ゲームA」）及びその実行環境であるFlashPlayerと仮想マシンを、ユーザ端末１０に送信する。
【００５６】
＜端末状況判断フェーズ(b)＞
ステップ１０７）  ユーザ端末１０の処理制御部１２は、通信制御部１３を介してクラウド事業者Webサーバ３０から受信した、テストアプリケーション、ネイティブアプリケーション及びその実行環境と仮想マシンをダウンロードする。端末状況判断部１４は、その仮想マシン１５１をブラウザ１５上で起動し、その上でテストアプリケーションを実行し、メモリ容量状況判断結果を処理制御部１２に通知する。処理制御部１２は、テストアプリケーションが実行できた場合には、ステップ１０８に移行し、途中で実行が停止した場合は、アプリケーション起動不可メッセージをユーザインタフェース１１を介してユーザに提示する。
【００５７】
＜端末側実行処理フェーズ＞
ステップ１０８）  処理制御部１２は、ブラウザ１５において、実行環境であるFlashPlayerを起動し、ユーザが所望するネイティブアプリケーション（ゲームA）をダウンロードされた仮想マシン１５１上で実行する。これにより、ユーザはゲームAをユーザはブラウザ上で利用することができる。
【００５８】
上記の図４のシーケンスチャートにおけるステップ１０４とステップ１０７における端末状況判断処理について説明する。
【００５９】
図５に、本発明の第１の実施の形態における端末状況判断の例を示す。
【００６０】
同図（ａ）は、アプリケーションのインストール状況判断のフローを示し、同図（ｂ）は実行環境で使用するメモリ容量とリソースについての状況判断のフローを示す。
【００６１】
（ａ）インストール状況判断：
ユーザ端末１０の端末状況判断部１４では、一例としてFlashPlayerインストール状況判断を実行するが、同図（ｃ）の表に示すように、ブラウザ種別、インストールの有無及びバージョンによる判断を行うことが可能である。
【００６２】
ステップ２０１）  ブラウザ種別が適合していない（サービス起動を保証していない）バージョンであるかを判定し、適合していない場合はステップ２０２に移行し、適合している場合はステップ２０３に移行する。
【００６３】
ステップ２０２）  適合するブラウザのインストール指示画面を出力する。インストール指示画面は、例えば以下のような表示を行う。
【００６４】
例１）「インストールしますか？」と画面表示し、ユーザに適合するブラウザのインストールを促す。
【００６５】
例２）「ブラウザも含めた形式でダウンロードします。」と画面表示し、サービス起動要求の処理（図４のステップ１０５）へ移行する。
【００６６】
ステップ２０３）  次に、FlashPlayerがインストールされていない場合、サービス起動要求の処理へ移行する。また、FlashPlayerがインストールされているが適合バージョンでない場合も、サービス起動要求の処理へ移行する。
【００６７】
FlashPlayerがインストールされており、かつ適合バージョンである場合は、ステップ２０４に移行する。
【００６８】
ステップ２０４）  既にブラウザ１５上にインストールされているFLashPlayerを起動する。
【００６９】
（ｂ）メモリ容量とリソースの状況判断：
ステップ３０１）ユーザ端末１０は、所望のアプリケーションと実行環境で使用するメモリ容量と同程度の容量のメモリを使用するテストアプリケーションを起動し、アプリケーションの実行可否の判断を行う。
【００７０】
実行可能である場合には、実行環境であるFlashPlayerとユーザが所望するアプリケーション（ゲームA）の起動処理へ移行する。
【００７１】
実行不可である場合には、ステップ３０２に移行する。
【００７２】
ステップ３０２）アプリケーション起動不可（準正常処理）としてユーザにメッセージを出力する。実行不可の要因として、他のアプリケーションでメモリを使用していることが考えられるため、ユーザに出力されるメッセージの例としては、「不要なアプリケーションを終了し、再度トライしてください。」と画面表示し、ユーザにメモリ解放を促す。
【００７３】
［第２の実施の形態］
本実施の形態では、ユーザ端末１０の実行環境において不足するものがある場合について説明する。本実施の形態におけるユーザ端末１０の構成は第１の実施の形態における図２と同様である。
【００７４】
具体的には、最初に実行環境１（FlashPlayer）がユーザ端末１０上にあり、次に実行環境２（JavaVM）がユーザ端末１０にない場合の例を示す。
【００７５】
なお、勤務する企業からクラウド事業者のサーバ３０に予めアプリケーションを格納している前提である。
【００７６】
図６は、本発明の第２の実施の形態の概念図であり、JavaVM（Java仮想マシン、以下、「JVM」と記す）の例である。なお、Webページ上で動くJavaプログラムをJavaアプレットと呼び、CPUに依存しない形式でダウンロードされ、JVMの上で動く。
【００７７】
現状、Javaで作成されたアプリケーションを動かすためには、JVMというバイトコードを実行するための環境を提供するソフトウェアが必要となる。JVMはWindows(登録商標)用、Linux(登録商標)用、Mac OS用のように、OSごとに用意されており、OS間の差異をJVMが吸収することで、プログラマは一回ソースコードを書けば、修正を施すことなくどんなコンピュータ上でも実行することが可能となる。
【００７８】
しかし、FlashPlayerのケースと同様に、Java VMを自端末にインストールする負担がユーザにかかるという課題を持ち、ユーザに提供するため本発明が適用できると考える。
【００７９】
図７は、本発明の第２の実施の形態におけるシステムのシーケンスチャートである。
【００８０】
同図では、ユーザ端末１０、アプリケーション開発販売事業者装置２０、ユーザが勤務している企業サーバ４０、クラウド事業者Webサーバ３０からなるシステムにおけるシーケンスを示している。
【００８１】
＜端末状況判断フェーズ(a)＞
以下のステップ４０１〜ステップ４０４は、既にユーザ端末１０にFlashPlayerがインストールされている場合の動作であり、ステップ４０５〜ステップ４０８は、Java VMがインストールされていない場合の動作を示す。
【００８２】
ステップ４０１）  ユーザは、ユーザ端末１０より、ブラウザを起動し試したいソフトを提供している企業のアプリケーション開発販売事業者装置２０のHPにアクセスする。
【００８３】
ステップ４０２）  ユーザによって企業HPに掲載されているアプリケーションの中から所望の「ゲームA」が選択されると、ユーザ端末１０の通信制御部１３は、「ゲームA」のアプリケーション起動用のURL（例えば、「http://www.xxx.jp/yyy/zzz/url1.html」）にアクセスする。
【００８４】
ステップ４０３）  クラウド事業者Webサーバ３０は、FlashPlayerインストール状況判断プログラムを埋め込んだHTMLファイルをユーザ端末１０に送信し、ユーザ端末１０の処理制御部１２はこれを通信制御部１３を介して取得し、ダウンロードする。
【００８５】
ステップ４０４）  ユーザ端末１０の端末状況判断部１４では、FlashPlayerインストール状況判断プログラムを実行する。
【００８６】
本実施の形態では、Internet Explorer 9(登録商標)（以下、IE9と略す）ブラウザかつFlashPlayerがインストールされており、かつ適合バージョンであったため、ユーザ端末１０は、既にインストールされているFlashPlayerを起動し、ゲームAのアプリケーションを実行する。
【００８７】
次に、ゲームを終えたユーザが、自分が勤務する企業で業務管理アプリケーションを利用したいとする。
【００８８】
ステップ４０５）  ユーザ端末１０の処理制御部１２はブラウザ１５を起動し、ユーザの勤務する企業のHPにアクセスする。
【００８９】
ステップ４０６）  ユーザ端末１０処理制御部１２は、通信制御部１３を介して企業HPから取得した業務管理のアプリケーション起動用のURL（例えば、「http://www.xxx.jp/yyy/zzz/ur2.html」）にアクセスする。
【００９０】
ステップ４０７）  ユーザ端末１０の処理制御部１２は、クラウド事業者Webサーバ３０からJava VMインストール状況判断プログラムが埋め込まれたHTMLファイルをダウンロードする。
【００９１】
ステップ４０８）ユーザ端末１０の端末情報判断部１４は、HTMLファイル内のJava VMインストール状況判断プログラムを実行する。
【００９２】
＜自動配信処理フェーズ＞
ステップ４０９）  ステップ４０８の判断において、IE9ブラウザかつJava VMがインストールされていないため、ユーザ端末１０の通信制御部１３は、サービス起動要求用のURL（例えば、「http://www.xxx.jp/yyy/zzz/url22.html」）へアクセスを行う。
【００９３】
ステップ４１０）  クラウド事業者Webサーバ３０は、ユーザ端末１０からサービス起動要求を受信すると、メモリ容量状況判断のためのテストアプリケーション、ユーザが所望する業務管理アプリケーション及びその実行環境であるJava VMと仮想マシンをユーザ端末１０に送信する。
【００９４】
また、ユーザ端末１０の通信制御部１３は、テストアプリケーション、ユーザが所望する業務管理アプリケーション及びその実行環境であるJava VMと仮想マシンを受信し、処理制御部１２は、それらをダウンロードする。
【００９５】
＜端末状況判断フェーズ(b)＞
ステップ４１１）  ユーザ端末１０の端末状況判断部１４は、ダウンロードされた仮想マシンを起動し、その上でテストアプリケーションを実行し、メモリ容量状況判断を実施する。業務管理アプリケーションを実行するためのメモリ容量を満たしている場合は、処理制御部１２は、実行環境を起動する。
【００９６】
＜端末側実行処理フェーズ＞
ステップ４１２）  ユーザ端末１０の処理制御部１２は、実行環境であるJava VMとユーザが所望する業務管理アプリケーションを実行する。
【００９７】
図８に、本発明の第２の実施の形態における端末状況判断の例を示す。
【００９８】
同図（ａ）は、ブラウザ種別と業務管理アプリケーションがインストールされているかの判断を行う場合のフローを示す。
【００９９】
ユーザ端末１０の端末状況判断部１４は、Java VMインストール状況判断を実行するが、同図（ｃ）の表に示すようにブラウザ種別、インストールの有無及びバージョンによる判断を行う。
【０１００】
ステップ５０１）ブラウザ種別が適合していない（サービス起動を保証していない）バージョンの場合、ステップ５０２に移行する。
【０１０１】
ステップ５０２）  ユーザインタフェース１１は、適合するブラウザのインストール指示画面を出力する。インストール指示画面は、例えば以下のような表示を行う。
【０１０２】
例１）「インストールしますか？」と画面表示し、ユーザに適合するブラウザのインストールを促す。
【０１０３】
例２）「ブラウザも含めた形式でダウンロードします。」と画面表示し、サービス起動要求の処理（図７のステップ４０９）へ移行する。
【０１０４】
ステップ５０３）  Java VMがインストールされていない場合、サービス起動要求の処理（図７のステップ４０９）へ移行する。また、Java VMがインストールされているが適合バージョンでない場合も、サービス起動要求の処理へ移行する。Java VMがインストールされており、かつ適合バージョンである場合は、ステップ５０４に移行する。
【０１０５】
ステップ５０４）  既にブラウザ１５上にインストールされているJava VMにて起動する既存の手順へ進む。
【０１０６】
図８（ｂ）は、端末状況判断部１４におけるメモリ領域の容量の判断を行う場合のフローである。
【０１０７】
ステップ６０１）  端末状況判断部１４は、所望の業務管理アプリケーションと実行環境で使用するメモリ容量と同程度のメモリ容量のメモリを使用するテストアプリケーションを起動し、所望の業務管理アプリケーションが実行できるか否かの判断を行う。実行可能である場合は、実行環境であるJava VMとユーザが業務管理アプリケーションの起動処理（図７のステップ４１２）へ移行する。実行不可である場合はステップ６０２に移行する。
【０１０８】
ステップ６０２）  アプリケーション起動不可として、準正常処理を行う。
【０１０９】
実行不可の要因として、他のアプリケーションでメモリを使用していることが考えられるため、ユーザインタフェース１１からユーザに出力されるメッセージの例としては、「不要なアプリケーションを終了し、再度トライしてください。」と画面表示し、ユーザにメモリ解放を促す。
【０１１０】
なお、上記の実施の形態では、実行環境として、Java VMやFlashPlayerを例として説明したが、これらに限定されることなく、ネイティブコードに変換して実行するソフトウェアやアプリケーションを実行するためのソフトウェア等、実行環境は特に限定しない。
【０１１１】
上記の第１、第２の実施の形態では、ユーザ端末のリソースとしてメモリの場合について述べたが、本発明は、この例に限定されるものではなく、HDDの空き容量、CPUの使用率などの端末リソースや、ネットワークトラフィックの輻輳状況などをユーザ端末から測定可能な外部リソースであってもよい。
【０１１２】
上記のユーザ端末１０の各構成要素の動作をプログラムとして構築し、ユーザ端末として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１１３】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１１４】
１０  ユーザ端末
１１  ユーザインタフェース
１２  処理制御部
１３  通信制御部
１４  端末状況判断部
１５  ブラウザ
２０  アプリケーション開発販売事業者装置
３０  クラウド事業者Webサーバ
【図１】
2015114844.tif 000003
【図２】
2015114844.tif 000004
【図３】
2015114844.tif 000005
【図４】
2015114844.tif 000006
【図５】
2015114844.tif 000007
【図６】
2015114844.tif 000008
【図７】
2015114844.tif 000009
【図８】
2015114844.tif 000010