(57)【要約】      （修正有）【課題】コストを下げ、出費を回避し、ハードウェアリソースの無駄な消耗を減らし、不要な操作ステップとダウンロードの待ち時間を排除できるとともに、広告またはプロモーションの効果を更に向上させ得るアプリケーション試用システム等を提供する。【解決手段】本発明のアプリケーション試用システム１は、少なくとも１つのユーザデバイス２及びサーバ３を備える。サーバはユーザデバイスに通信可能に接続され、アプリケーションを試用するための要求データを受信する。要求データは、ユーザデバイスの入力に対応して生成される。サーバは、要求データに基づいてアプリケーションの少なくとも一部を実行すると同時に、ユーザデバイスと双方向通信接続を作る。サーバとユーザデバイスは、双方向通信接続によって、少なくとも１つのビデオデータと少なくとも１つの制御データを送信する。【選択図】図１
2016076216.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのユーザデバイスと、
前記ユーザデバイスに通信可能に接続されるサーバとを備え、
前記サーバはアプリケーションを試用するための要求データを受信し、前記要求データは前記ユーザデバイスの入力に対応して生成され、前記サーバは前記要求データに基づいて前記アプリケーションの少なくとも一部を実行すると同時に、前記ユーザデバイスと双方向通信接続を作り、前記サーバと前記ユーザデバイスは前記双方向通信接続によって、少なくとも１つのビデオデータと少なくとも１つの制御データを送信することを特徴とするアプリケーション試用システム。
【請求項２】
前記サーバは少なくとも１つのクラスタ演算ユニットを備え、前記クラスタ演算ユニットは少なくとも１つのクラスタノードを備え、前記サーバは前記クラスタノードによって前記アプリケーションを実行し、且つ前記クラスタノードは少なくとも１つの仮想マシンを有し、前記サーバは前記仮想マシンによって前記アプリケーションを実行することを特徴とする請求項１に記載のアプリケーション試用システム。
【請求項３】
前記仮想マシンは前記アプリケーションに対応するオペレーティングシステムを実行し、且つ前記オペレーティングシステムにおいて、前記アプリケーションを実行することを特徴とする請求項２に記載のアプリケーション試用システム。
【請求項４】
もう１つのユーザデバイスを備え、前記サーバはもう１つのアプリケーションを試用するためのもう１つの要求データを受信し、前記もう１つの要求データは前記もう１つのユーザデバイスの入力に対応して生成され、前記サーバは前記もう１つの要求データに基づいて、同一の前記仮想マシンによって前記もう１つのアプリケーションを実行することを特徴とする請求項２に記載のアプリケーション試用システム。
【請求項５】
アプリケーション試用システムに応用されるサーバであって、
前記アプリケーション試用システムは前記サーバと少なくとも１つのユーザデバイスを備え、
前記サーバは、前記ユーザデバイスに通信可能に接続されるとともに、
少なくとも１つのメモリユニットと、
少なくとも１つの送信ユニットと、
前記メモリユニット及び前記送信ユニットに通信可能に接続される１つまたは複数の演算ユニットとを備え、
前記送信ユニットは要求データを受信し、前記要求データは前記ユーザデバイスの入力に対応して生成され、前記１つまたは複数の演算ユニットは前記要求データに基づいて、前記メモリユニットに保存された前記アプリケーションの少なくとも一部を実行すると同時に、前記送信ユニットを介して、前記ユーザデバイスと双方向通信接続を作り、前記サーバと前記ユーザデバイスは前記双方向通信接続を介して、少なくとも１つのビデオデータと少なくとも１つの制御データを送信することを特徴とするサーバ。
【請求項６】
少なくとも１つのクラスタ演算ユニットを備え、前記クラスタ演算ユニットは少なくとも１つのクラスタノードを備え、前記サーバは前記クラスタノードによって前記アプリケーションを実行し、且つ前記クラスタノードは少なくとも１つの仮想マシンを有し、前記サーバは前記仮想マシンによって前記アプリケーションを実行することを特徴とする請求項５に記載のサーバ。
【請求項７】
前記仮想マシンは前記アプリケーションに対応するオペレーティングシステムを実行し、且つ前記オペレーティングシステムにおいて、前記アプリケーションを実行することを特徴とする請求項６に記載のサーバ。
【請求項８】
もう１つのアプリケーション試用を使用するためのもう１つの要求データを受信し、前記もう１つの要求データは前記もう１つのユーザデバイスの入力に対応して生成され、前記サーバは前記もう１つの要求データに基づいて、同一の前記仮想マシンによって、前記もう１つのアプリケーションを実行することを特徴とする請求項６に記載のサーバ。
【請求項９】
アプリケーション試用システムに応用されるユーザデバイスであって、
前記アプリケーション試用システムはサーバと前記ユーザデバイスを備え、前記サーバは前記ユーザデバイスに通信可能に接続され、前記ユーザデバイスは少なくとも１つのメモリ素子と、１つまたは複数の演算素子とを備え、前記メモリ素子は複数の指令を保存すると同時に、前記１つまたは複数の演算素子に接続し、前記１つまたは複数の演算素子は、前記複数の指令を実行することで以下の動作を起こすこと、即ち、
入力を受信し、
前記入力に基づいて、アプリケーションを試用するための要求データを前記サーバに送信し、
前記サーバと双方向通信接続を作り、
前記双方向通信接続と前記サーバを介して少なくとも１つのビデオデータと少なくとも１つの制御データを送信し、
前記ビデオデータは、前記サーバが前記アプリケーションの少なくとも一部を実行することにより生成されると同時に、前記制御データは、前記アプリケーションとインタラクションを取る、という動作を起こすことを特徴とするユーザデバイス。
【請求項１０】
アプリケーション試用システムに応用され、前記アプリケーション試用システムが少なくとも１つのユーザデバイスとサーバを備え、前記サーバが前記ユーザデバイスに通信可能に接続されるアプリケーション試用方法であって、
前記ユーザデバイスが入力に対応してアプリケーションを試用するための要求データを生成するステップと、
前記サーバが前記要求データを受信するステップと、
前記サーバが前記要求データに基づいて前記アプリケーションの少なくとも一部を実行するステップと、
前記サーバと前記ユーザデバイスが双方向通信接続を作るステップと、
前記サーバと前記ユーザデバイスが前記双方向通信接続を介して、少なくとも１つのビデオデータと少なくとも１つの制御データを送信するステップと、
を備えることを特徴とするアプリケーション試用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション試用システム、方法及びそのサーバとユーザデバイスに関する。
【背景技術】
【０００２】
スマートフォン、タブレットＰＣの普及化によって、これらのモバイルユーザデバイスに合わせたモバイルアプリケーション（mobile application。mobile app、もしくは appと略す）が急速に現れている。このようなモバイルユーザデバイスにインストールするのに好適なソフトウェアは、ユーザがアプリケーションストア［例えば、Google Playストア（登録商標）、Apple（登録商標）のAPP Store（登録商標）］を介してダウンロードすることで、インストール及び実行が可能となるため、非常に迅速、且つ簡単に異なるユーザの要求を満たすことができる。
【０００３】
しかしながら、現在のアプリケーションストアは静態的な文字記述、及びビデオや動画のみを提供し、これをユーザの購入前の基準とすることしかできないため、アプリケーションが使用上のニーズを満たすか、否かを知るためには、ユーザはリスクを負いつつアプリケーションを実際に購入して、ダウンロードを行いインストールするしかない。もちろん、一部のユーザは、購入後のアプリケーションがニーズを満たせられないことを恐れて、あきらめてしまうこともある。
【０００４】
この問題を克服するために、すでにメーカはユーザに無料の試用版を提供するようにしている。この無料版は、費用を支払わなければならない心理的な障壁を克服できるが、ダウンロードとインストールなどの面倒なステップを行わなければならない。また、仮にソフトウェアの内容が要求に合わない場合は、手動で削除する必要があるため、迷惑だけでなく、デバイスの保存スペースとコンピュータリソースも無駄に消耗してしまう。
【０００５】
これに鑑て、本願発明人が考案したアプリケーション試用システム、方法及びそのサーバとユーザデバイスは、ユーザがアプリケーションや試用ソフトウェアをダウンロードしてインストールする必要がないという前提で、自らのデバイスで試用することができるため、コストを下げ、且つ出費を避けることができると同時に、ネットワーク、またはハードウェアリソースの無駄な消耗を減らし、且つ不要な操作ステップやダウンロードの待ち時間を同時に排除することができ、更に重要なことは、ユーザの興味を高めることができるため、広告またはプロモーションの効果を向上させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的は、ユーザがアプリケーション及び試用ソフトウェアをダウンロードとインストールする必要がないという前提で、自分のデバイスで試用することによって、コストを下げるだけでなく、出費を避けることができ、且つハードウェアリソースの無駄な消耗を減らすと同時に、不要な操作ステップやダウンロードの待ち時間を同時に排除することができ、更に重要なことは、ユーザの興味を高めることができるため、広告またはプロモーションの効果を向上させることができるアプリケーション試用システム、方法及びそのサーバとユーザデバイスを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記の目的を達するために、本発明に基づいたアプリケーション試用システムは少なくとも１つのユーザデバイス及びサーバを備える。サーバはユーザデバイスに通信可能に接続される。サーバはアプリケーションを試用するための要求データを受信し、要求データはユーザデバイスの入力に対応して生成される。サーバは要求データに基づいてアプリケーションの少なくとも一部を実行すると同時に、ユーザデバイスと双方向通信接続を作る。サーバとユーザデバイスは双方向通信接続によって、少なくとも１つのビデオデータと少なくとも１つの制御データを送信する。
【０００８】
一実施例において、サーバは少なくとも１つのクラスタ演算ユニットを備え、クラスタ演算ユニットは少なくとも１つのクラスタノードを備え、サーバはクラスタノードによって、アプリケーションを実行する。
【０００９】
一実施例において、クラスタノードは少なくとも１つの仮想マシンを備え、サーバは仮想マシンによって、アプリケーションを実行する。
【００１０】
一実施例において、仮想マシンはアプリケーションに対応するオペレーティングシステムを実行し、且つオペレーティングシステムにおいて、アプリケーションを実行する。
【００１１】
一実施例において、クラスタノードは複数の仮想マシンを備え、これらの仮想マシンはそれぞれ異なるオペレーティングシステムを実行する。
【００１２】
一実施例において、アプリケーション試用システムはもう１つのユーザデバイスを備え、サーバはもう１つのアプリケーションを試用するためのもう１つの要求データを受信し、もう１つの要求データはもう１つのユーザデバイスの入力に対応して生成され、サーバはもう１つの要求データに基づいて、同一の仮想マシンでもう１つのアプリケーションを実行する。
【００１３】
一実施例において、仮想マシンは、入出力エージェントプログラムを実行し、双方向通信接続を介してユーザデバイスにデータを送信する。
【００１４】
一実施例において、仮想マシンが実行する入出力エージェントプログラムの数量は、仮想マシンが実行するアプリケーションの数量に対応する。
【００１５】
一実施例において、サーバは、メモリユニットを備え、このメモリユニットは、サーバが実行するアプリケーションのスナップショットデータを保存する。
【００１６】
一実施例において、サーバは、スナップショットデータに基づいて、アプリケーションを実行する。
【００１７】
一実施例において、サーバは、アプリケーションインターフェースユニットと、作業管理ユニットと、リソース割当ユニットとを備え、アプリケーションインターフェースユニットは要求データを受信し、作業管理ユニットは要求データに基づいて、作業管理データを生成し、リソース割当ユニットは作業管理データに基づいて、アプリケーションの実行関連データを取得して生成し、サーバは、アプリケーションの実行関連データに基づいて、アプリケーションを実行する。
【００１８】
上記目的を達するために、本発明に基づいたサーバは、アプリケーション試用システムに応用され、アプリケーション試用システムは前記サーバと少なくとも１つのユーザデバイスを備え、サーバはユーザデバイスに通信可能に接続され、サーバは少なくとも１つのメモリユニットと、少なくとも１つの送信ユニット及び１つまたは複数の演算ユニットとを備え、１つまたは複数の演算ユニットはメモリユニット及び送信ユニットに通信可能に接続され、送信ユニットは要求データを受信し、要求データはユーザデバイスの入力に対応して生成され、１つまたは複数の演算ユニットは要求データに基づいて、メモリユニットに保存されたアプリケーションの少なくとも一部を実行すると同時に、送信ユニットを介して、ユーザデバイスと双方向通信接続を作り、サーバとユーザデバイスは双方向通信接続を介して、少なくとも１つのビデオデータと少なくとも１つの制御データを送信する。
【００１９】
一実施例において、サーバは少なくとも１つのクラスタ演算ユニットを備え、クラスタ演算ユニットは少なくとも１つのクラスタノードを備え、サーバはクラスタノードによって、アプリケーションを実行する。
【００２０】
一実施例において、クラスタノードは少なくとも１つの仮想マシンを備え、
サーバは仮想マシンによって、アプリケーションを実行する。
【００２１】
一実施例において、仮想マシンはアプリケーションに対応するオペレーティングシステムを実行し、且つオペレーティングシステムにおいて、アプリケーションを実行する。
【００２２】
一実施例において、クラスタノードは複数の仮想マシンを備え、これらの仮想マシンはそれぞれ異なるオペレーティングシステムを実行する。
【００２３】
一実施例において、サーバはもう１つのアプリケーションを試用するためのもう１つの要求データを受信し、もう１つの要求データはもう１つのユーザデバイスの入力に対応して生成され、サーバはもう１つの要求データに基づいて、同一の仮想マシンでもう１つのアプリケーションを実行する。
【００２４】
一実施例において、仮想マシンは、入出力エージェントプログラムを実行し、双方向通信接続を介してユーザデバイスにデータを送信する。
【００２５】
一実施例において、仮想マシンが実行する入出力エージェントプログラムの数量は、仮想マシンが実行するアプリケーションの数量に対応する。
【００２６】
一実施例において、メモリユニットは、サーバが実行するアプリケーションのスナップショットデータを保存する。
【００２７】
一実施例において、サーバは、スナップショットデータに基づいて、アプリケーションを実行する。
【００２８】
一実施例において、サーバは、アプリケーションインターフェースユニットと、作業管理ユニットと、リソース割当ユニットとを備え、アプリケーションインターフェースユニットは要求データを受信し、作業管理ユニットは要求データに基づいて、作業管理データを生成し、リソース割当ユニットは作業管理データに基づいて、アプリケーションの実行関連データを取得して生成し、サーバは、アプリケーションの実行関連データに基づいて、アプリケーションを実行する。
【００２９】
上記目的を達するために、本発明に基づいたユーザデバイスは、アプリケーション試用システムに応用され、アプリケーション試用システムはサーバと前記ユーザデバイスを備え、サーバはユーザデバイスに通信可能に接続され、ユーザデバイスは少なくとも１つのメモリ素子と、１つまたは複数の演算素子とを備え、メモリ素子は複数の指令を保存すると同時に、１つまたは複数の演算素子に接続され、１つまたは複数の演算素子は、前記複数の指令を実行することで、以下の動作を起こす。即ち、入力を受信し、入力に基づいてアプリケーションを試用するための要求データをサーバに送信し、サーバと双方向通信接続を作り、双方向通信接続とサーバを介して、少なくとも１つのビデオデータと少なくとも１つの制御データを送信し、このうち、ビデオデータは、サーバがアプリケーションの少なくとも一部を実行することで生成され、且つ制御データはアプリケーションとインタラクションを取る、という動作を起こす。
【００３０】
一実施例において、アプリケーションの一部を実行する前に、サーバは、ユーザデバイスの試用環境を確認する。
【００３１】
一実施例において、アプリケーションの一部を実行する前に、サーバは、保存されたアプリケーションの状態を確認する。
【００３２】
一実施例において、１つまたは複数の演算素子は、前記複数の指令を実行することで、以下の動作、即ち、ビデオデータの送信終了後、アプリケーションのダウンロードデータをロードするという動作を起こす。
【００３３】
上記目的を達するために、本発明に基づいたアプリケーション試用方法はアプリケーション試用システムに応用され、アプリケーション試用システムは少なくとも１つのユーザデバイスとサーバを備え、サーバはユーザデバイスに通信可能に接続され、この試用方法は、ユーザデバイスが入力に対応してアプリケーションを試用するための要求データを生成するステップと、サーバが要求データを受信するステップと、サーバが要求データに基づいて、アプリケーションの少なくとも一部を実行するステップと、サーバとユーザデバイスが双方向通信接続を作るステップと、サーバとユーザデバイスが双方向通信接続を介して、少なくとも１つのビデオデータと少なくとも１つの制御データを送信するステップとを備える。
【００３４】
一実施例において、アプリケーション試用方法は、ビデオデータの送信終了後、ユーザデバイスがアプリケーションのダウンロードデータをロードするステップをさらに備える。
【発明の効果】
【００３５】
上記をまとめると、本発明のアプリケーション試用システム、方法及びそのサーバとユーザデバイスにおいて、アプリケーションはまず、サーバで実行してから、インターネットとユーザデバイスを介してビデオ画面と制御動作の送信を行うため、ユーザはダウンロード、またはインストールする必要がない状態でアプリケーションを試用することができる。よって、コストの問題を排除できる以外に、ネットワーク、またはハードウェアリソースの無駄な消耗を減らすことができる。もちろん、ダウンロード、またはインストールする必要がないため、不要な手順とダウンロードの待ち時間を排除することができる。したがって、本発明の試用方法は一般的な試用ソフトウェアより優れているため、ユーザの興味を高め、広告またはプロモーションの効果を更に向上させることができる。
【００３６】
また、アプリケーションはサーバで実行するため、ユーザデバイスのハードウェア規格によって制限されないので、ユーザはスムーズに試用を行うことができる。特に、アプリケーションにおいて、割合として大部分を占めたゲームソフトは、高規格のハードウェア機能を必要とするが、本発明の技術方案によってこの問題を回避することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施例に係るアプリケーション試用システムの構成図である。
【図２】図１に示されるサーバの構成図である。
【図３】図１に示されるサーバのもう１つの実施態様の概略図である。
【図４】本発明のもう１つの実施例に係るアプリケーション試用システムのサーバの構成図である。
【図５】本発明の一実施例に係る実施状況の概略図である。
【図６】本発明の一実施例に係る実施状況の概略図である。
【図７】本発明の一実施例に係る実施状況の概略図である。
【図８】本発明の一実施例に係る実施状況の概略図である。
【図９】本発明の一実施例に係るアプリケーション使用方法のステップを示す図である。
【発明を実施するための形態】
【００３８】
関連する図面を参照しながら、本発明の好ましい実施例に係る本発明のアプリケーション試用システム、方法及びそのサーバとユーザデバイスを以下の通りに説明する。
【００３９】
まず、以下の実施例で呼ばれている「アプリケーション」は、さまざまのユーザの特定の応用目的に対して作られたソフトウェア、またはプログラムを備え、例えば、モバイルアプリケーション（mobile application。mobile app、もしくは appと略称する。また、携帯電話アプリケーションプログラム、モバイルアプリケーションプログラム、携帯電話appとも呼ばれる）、またはパーソナルコンピュータが実行するプログラムであるが、これらに限定されない。
【実施例】
【００４０】
図１は本発明の一実施例に係るアプリケーション試用システムのシステム構成図であり、図１に示すように、本実施例のアプリケーション試用システム１はユーザデバイス２とサーバ３を備え、好ましくは複数のユーザデバイス２を備える。ユーザデバイス２は、スマートフォン、タブレットコンピュータ、モバイルデジタルアシスタント、ネットワーク機能を有するビデオカメラ、装着式デバイス、デスクトップコンピュータ、ノート型コンピュータ、または任意のネットワーク機能を有するデバイスである。本実施例において、ユーザデバイス２はスマートフォンを例として説明し、この場合、無線通信の方式によって、インターネットを介してサーバ３に通信可能に接続される。
【００４１】
ユーザがユーザデバイス２で入力動作を行い、前記アプリケーションの試用に関連するアイコン（icon）、または物体（object）をタッチした場合、ユーザデバイス２はこれに対応して試用したいアプリケーションの要求データを生成し、且つ前記要求データをサーバ３に送信する。
【００４２】
本実施例において、サーバ３は単一の実体ホストコンピューターである。図２は図１に示されるサーバの構成図であり、図２に示すように、サーバ３は少なくとも１つのメモリユニット３１と、少なくとも１つの送信ユニット３２及び演算ユニット３３を有する。もちろん、本実施例のその他の態様において、サーバ３は複数の演算ユニットを有することで、演算効率を高めることができる。サーバ３は送信ユニット３２を介して要求データを受信し、且つ要求データの内容に基づいて、演算ユニット３３によって対応するアプリケーション３１１の少なくとも一部を実行する。アプリケーション３１１は予めアップロードすることによって、メモリユニット３１内に保存され、且つより好ましくは、メモリユニット３１内に異なる複数のアプリケーション３１１を保存し、その提供元を異なるアプリケーションの開発者、または広告主とすることができるため、ユーザに異なるアプリケーション３１１の試用を提供することが可能である。
【００４３】
特に説明すべきことは、本実施例において、実行されるアプリケーション３１１の少なくとも一部は、全部のアプリケーション３１１のうちの１つのセグメントの実行（試用）を備え、例えば、アプリケーション３１１が１０ステージのゲームである場合を例とすると、一部の実行は、第３ステージの内容のみを実行（試用）することを指す。しかし、その他の実施例において、一部の実行は、一部の機能を実行することを指すこともできる。もちろん、サーバ３は、アプリケーション３１１の全部を実行することで、アプリケーションの完全な試用をユーザに提供することができる。
【００４４】
演算ユニット３３は要求データの内容に基づいて、ユーザデバイス２と双方向通信接続を作るように送信ユニット３２を制御する。具体的には、送信ユニット３２はWebsocket通信協定を介して、ユーザデバイス２と双方向通信接続を作る。Websocket通信協定以外に、他の手段としては、ＵＤＰネットワーク通信協定、ＴＣＰネットワーク通信協定、その他この２つの通信協定に基づいたメディア送信協定を更に備えることができ、例えば、ＲＴＰ、ＲＴＭＰ、ＲＴＳＰなどを備えることができる。双方向通信接続によって、ユーザデバイス２はサーバ３との間にリアルタイム（real-time）にデータ交換を行うことで、サーバ３がアプリケーション３１１を実行する際に生じるビデオデータをユーザデバイス２に送信し、表示することができ、ユーザのユーザデバイス２での入力制御も、制御データの形式でサーバ３に送信することができる。入力制御は、例えば、タッチ入力、または音声入力であるが、これらに限定されない。アプリケーション３１１はサーバ３で実行するため、ユーザデバイス２は、ビデオ画面データのみを受信し、かつ入力動作をサーバ３にフィードバックすることで、アプリケーション３１１に対する入力指令とすればよいため、ユーザデバイス側ではダウンロードとインストールをしなくても、アプリケーション３１１の効果を試すことができる。
【００４５】
もちろん、双方向通信接続を介して送信されるデータは、複数種類とすることができる。例えば、アプリケーションを実行することで生じる音響データ、またはユーザデバイス２のセンサーが感知したセンシングデータなど、いずれもユーザがアプリケーションを試用する際のリアリティを強化することができる。具体的には、送信可能なデータとして、ブルートゥース信号、三軸加速器もしくはジャイロスコープなどによる動作感知信号、マイク音声入力信号、またはカメラで撮影したビデオ信号を更に備える。
【００４６】
また、ビデオデータに対して説明を補充する。ここでは、ビデオデータは少なくとも２種類の異なる形態がある。そのうちの１種類は、フレームバッファ（framebuffer）による方式であり、サーバ３によってレンダリング（render）し、１つまたは複数のビデオを完成するものである。フレームバッファの内容の送信は、ビデオを直接に送信することで実現されるか、または符号化およびストリーミング（streaming）によって実現される。つまり、サーバ３を使用してビデオを符号化し、ユーザデバイス２に送信してからデコードを行う方式である。２種類目のビデオデータの形態は描画指令であり、サーバ３によってユーザデバイス２に送信される。ユーザデバイス２が描画指令を受信した後、レンダリング演算によって表示する。もちろん、上記送信手段はその他の各サーバ３とユーザデバイス２との間に送信されるデータ、例えば音響データに用いることもできる。
【００４７】
ユーザデバイス２がビデオデータを受信した後に、ビデオ画面を表示することができ、且つ前記ビデオ画面の入力操作も対応する効果を生じることができる。例えば、ビデオ画面の目録アイコンをタッチすると、複数のオプションからなるリストを呼び出すことができる。よって、アプリケーション試用システムがユーザデバイス２において、対話型ビデオインタフェースを形成させたと見なすことができるため、ビテオ再生のみを試用する一般的な試用経験とは異なっている。
【００４８】
図３は図1に示すサーバのもう１つの実施態様である。本実施態様において、サーバ３ａは同様にメモリユニットと送信ユニット、及び演算ユニットなどのハードウェア構造を有するが、更にメモリユニットと演算ユニットに対してリソース割り当てを行い、複数の仮想マシン３１２（図３では３つを例とする）を形成させる。各仮想マシン３１２は一部の演算ユニットリソースを使用し、メモリユニットに保存されたオペレーティングシステム３１２１を実行し、前記オペレーティングシステム３１２１の環境で試用したいアプリケーション３１２２を実行する。オペレーティングシステム３１２１と試用したいアプリケーション３１２２は互いに対応しており、つまり、アプリケーション３１２２がAndroid（登録商標）バージョンである場合、仮想マシン３１２は動作時にAndroid（登録商標）のオペレーティング環境を生成しなければならない。アプリケーション３１２２がｉＯＳ（登録商標）バージョンである場合、仮想マシン３１２は動作時にｉＯＳ（登録商標）のオペレーティング環境を生成しなければならない。また、仮想マシン３１２は、入出力エージェントプログラム３１２３（Input/output agent, I／O agentと称する）を更に実行し、送信ユニット３２（図２を同時に参照）の送信データを用いることで、送信ユニット３２とユーザデバイス２を介してデータ交換の目的を達することができる。また、本実施例において、各仮想マシン３１２が実行する入出力エージェントプログラム３１２３の数量は、同一仮想マシン３１２が実行するアプリケーション３１２２の数量に対応し、且つ互いにマッチすることができる。具体的には、仮に、１つの仮想マシン３１２内で２つのアプリケーション３１２２を実行する必要がある場合、２つの入出力エージェントプログラム３１２３を実行しなければならない。よって、ユーザデバイス２とサーバ３ａの仮想マシン３１２との間のデータ交換は混乱せず、単一の仮想マシン３１２に複数のアプリケーション３１２２を実行させて、多機能の効果を達することができ、リソースの利用効率を更に高めることができる。
【００４９】
同様に、図３を参照されたい。サーバ３ａは仮想基礎構造３１３を更に有し、この仮想基礎構造３１３は、ハードウェアリソースを仮想化することで、複数の仮想マシン３１２にハードウェアリソースを共有させることができるため、各仮想マシン３１２の動作時のプラットフォームとして複数の仮想マシン３１２の間に通信、またはデータを交換することによって、個々の独立時の統合障碍を克服することができる。本実施例において、仮想基礎構造３１３は、ソフトウェアＫＶＭ（Kernel-based Virtual Machine）に基づいた動作原理が類似するソフトウェアであり、サーバ３ａの演算ユニット、メモリユニットなどのハードウェアリソースを仮想化することで生成される。もちろん、その他の実施例において、Ｘen（登録商標）、またはＶＭware（登録商標）などのソフトウェアを介して仮想基礎構造を生成する効果を達することもできるが、本発明はこれに限定されない。
【００５０】
図４は本発明のもう１つの実施例に係るアプリケーション試用システムのサーバの構成図である。図４に示すように、本実施例のサーバ３ｂは複数の実体ホストからインターネットプロトコルを介して互いに通信接続を構成することで、効率的にリソース利用することができる。サーバ３ｂは、アプリケーションインターフェースユニット（またはＡＰＩ serverと称する）３４ｂ、作業管理ユニット（service session manager）３５ｂと、リソース割当ユニット（resource pool manager）３６ｂと、少なくとも１つの演算ユニット３３ｂと、少なくとも１つのメモリユニット３１ｂと、送信ユニット３２ｂとを備える。上記ユニットと実体ホストとの間の関係はさまざまの組み合わせを有することができ、且つ互いにインターネットプロトコルを介して互いに通信可能に接続し、特定の機能をそれぞれ実現する。例えば、本実施例において、アプリケーションインターフェースユニット３４ｂ、作業管理ユニット３５ｂ、及びリソース割当ユニット３６ｂは、１つの実体ホストの内部に位置し、１つの演算ユニット３３ｂは複数の実体ホストから構成される。演算ユニット３３ｂは複数の実体ホストを備え、本実施例の演算ユニット３３ｂはクラスタ演算ユニット（cluster computing unit）と称し、各々の実体ホストはクラスタノード（cluster node）と称する。もちろん、その他の実施例において、上記の各ユニットを各自単独の実体ホストとすることもできるが、本発明はこれに限定されない。
【００５１】
アプリケーションインターフェースユニット３４ｂがアプリケーションインターフェース３４１を実行する際には、１つのユーザデバイス２（図１を同時に参照されたい）とともに実行し、タッチする時に試用要求を送信したアプリケーションに対応する（二者の関係はａｐｐとＡＰＩの関係と同じである）ことができるため、サーバ３ｂはアプリケーションインターフェースユニット３４ｂを介して、ユーザデバイス２がアプリケーションを介して送信した要求データを受信することができる。
【００５２】
要求データは作業管理ユニット３５ｂに送信される。作業管理ユニット３５ｂはサーバ３ｂと関連する動作情報を管理し、この動作情報は、要求データの内容の解釈と、アプリケーションの状態確認と、情報指向と、アプリケーションの実行時間管理、及び接続状態管理などの情報を備える。作業管理ユニット３５ｂは要求データの内容を分析した後、作業管理データを生成し、且つ前記作業管理データを介して、リソース割当ユニット３６ｂに前記アプリケーションの実行準備状態を問い合わせる。仮に、状態が異常の場合、ユーザデバイス２に異常情報をフィードバックすると同時に、リソース割当ユニット３６ｂを介してリソースを調整し、かつ演算ユニット３３ｂを介してアプリケーションを修復する。仮に、状態が正常の場合、作業管理ユニット３５ｂは作業管理データを介して、リソース割当ユニット３６ｂに通知して少なくとも１つの演算ユニット３３ｂの内の１つのクラスタノード３３１を指定し、且つリソース割当ユニット３６ｂから作業管理データに基づいて、アプリケーションの実行関連データを生成することで、前記クラスタノード３３１にアプリケーションの実行を通知する。上記作業管理データ、またはアプリケーションの実行関連データは１つのコマンド命令、または複数のコマンド命令の集まりである。
【００５３】
本実施例において、クラスタノード３３１がアプリケーションを実行する方式は上記実施例のサーバ３、３ａの２つの態様を参照することができ、つまり、ハードウェアリソースを直接利用してアプリケーションを実行するか、または仮想マシンの方式で実行することができる。ここでは、仮想マシンを例として説明するが、これに限定されない。詳細な実施方法は上記を参照することができるため、ここで繰り返して述べない。
【００５４】
本実施例において、サーバ３ｂのメモリユニット３１ｂは単独の１つの実体ホストであり、且つメモリユニット３１ｂはスナップショットデータ（snapshot data）３１４を保存し、前記スナップショットデータ３１４は、サーバ３ｂがアプリケーションの試用を要求される前に、仮想マシン３３１１によってアプリケーションを予め実行し、特定の時間点においてスナップショット（system snapshot）されたビデオデータである。スナップショットデータ３１４内にはオペレーティングシステムイメージ（ＯＳ image）３１４１及びアプリケーションソフトウェアイメージ（application software image）３１４２を備える。また、メモリユニット３１ｂは、アプリケーション記録データ３１５を更に保存することで、アプリケーションの試用が要求される前に実行された当該アプリケーションの実行履歴を記録することができる。
【００５５】
よって、アプリケーションの開発者、またはサーバ管理者はまず、アプリケーションをアップロードすると同時に、このアプリケーションをメモリユニット３１ｂ内に保存し、且つ仮想マシン３３１１を使用して前記アプリケーションを実行する。仮想マシン３３１１が開発者、またはサーバ管理者の希望するユーザ試用の開始時点（時間点）まで実行された場合は、スナップショットを行い、且つスナップショットデータ３１４を生成して保存する。これにより、クラスタノード３３１が仮想基礎構造３３１２でアプリケーションを実行するための仮想マシン３３１１を生成する時、リソース割当ユニット３６ｂは、メモリユニット３１ｂにおける特定のスナップショットデータ３１４を取得するようにクラスタノード３３１に指示するため、ユーザが試用する時、開発者、またはサーバ管理者が希望する所からアプリケーションを直接に起動することができる。最初から始めなくても良いため、ユーザ試用時の好感度を更に高めることができる。また、説明すべきことは、作業管理ユニット３５ｂは演算ユニット３３ｂの作業時間を管理することができるため、アプリケーションの試用時間の長さを設定することによって、ユーザがアプリケーションを試用する時の終了位置を設定することができる。
【００５６】
本実施例において、送信ユニット３２ｂはトランスポートゲートウェイであり、トランスポートゲートウェイは、作業管理ユニット３５ｂがアプリケーションを正常に実行できると確認した後に、作業管理ユニット３５ｂを実行し、ユーザデバイス２と双方向通信接続を確立するように作業管理ユニット３５ｂに指示させることで、生成したビデオデータ及びユーザの入力データを含んださまざまな入力／出力を、サーバ３ｂとユーザデバイス２との間に交換させることができる。送信ユニット３２ｂはこの機能を有するため、入力/出力ゲートウェイ（Ｉ/Ｏ gateway）と呼ぶことができる。送信ユニット３２ｂとユーザデバイス２が双方向通信接続を確立する方式は、Websocket通信協定、ＵＤＰネットワーク通信協定、ＴＣＰネットワーク通信協定、またはこの２つの通信協定に基づいたその他のメディア通信協定、例えばＲＴＳＰなどを介して実現されるが、本発明はこれらに限定されない。送信ユニット３２ｂは単一の実体ホスト、または複数の実体ホストからなり、また、通信協定の実施上の詳細内容はいずれも本発明に属する技術分野における通常知識を有する者が理解できるため、ここで繰り返して述べない。
【００５７】
双方向通信接続が確立した時、且つサーバ３ｂがクラスタノード３３１を介してアプリケーションを実行した後、どの様にユーザに試用させるのかについては上記の説明を参照されたい。
【００５８】
本実施例において、サーバ３ｂは同時に複数のユーザデバイス２の要求データを受信することができ、且つ各要求データは、異なるアプリケーションの試用を請求することを表す。しかし、同一のオペレーティングシステム環境で実行されるアプリケーションであれば、クラスタノード３３１は同一の仮想マシン３３１１を利用して同時実行することで、多機能、且つリソース節約の効果を達することができる。つまり、１つの仮想マシン３３１１は１つのオペレーティングシステムを作動できると同時に、前記環境内で２つ、または２つ以上の異なるアプリケーションを実行することができる。
【００５９】
本発明の他の実施例において、サーバは、開発基板（development board）を核心とし動作させることで、ハードウェアと組み合わせる際に更なる柔軟性を持たせることができる。
【００６０】
以下、ユーザが実際にユーザデバイスを操作する時に試用要求を提出するところから始めて、本発明の実施例の詳細を更に説明する。組み合わせとなるシステム構成については、同時に図１と図４を参照されたい。
【００６１】
図５は、本発明の一実施例に係る実施状況の概略図である。図５に示すように、ユーザがユーザデバイス２を操作すると同時に、ブラウザー２１を使用する時、ブラウザー２１のページに広告記事２２が表示され、前記広告記事２２はユーザに１つのアプリケーションを販売するために用いられる。ユーザが広告記事２２をタッチした後、ユーザデバイス２は要求データをサーバ３ｂ（同時に図４を参照されたい）に送信する。サーバ３ｂのアプリケーションインターフェースユニット３４ｂは要求データを受信すると同時に、要求データを作業管理ユニット３５ｂに送信する。作業管理ユニット３５ｂはリソース割当ユニット３６ｂを介してアプリケーションの状態を確認し、状態正常の場合、１つの仮想マシン３３１１を割り当て、アプリケーションを実行するようにリソース割当ユニット３６ｂに指示する。仮想マシン３３１１はサーバ３ｂが要求データを受信する前に予め完成したものであり、すなわち、仮想マシン３３１１は、予め取り付けられたスナップショットデータ３１４（オペレーティングシステムイメージ３１４１及びアプリケーションソフトウェアイメージ３１４２を備える）であり、随時にアプリケーションを実行することができる。より好ましいのは、作業管理ユニット３５ｂは設定に基づいて、複数の仮想マシン３３１１を生成するように予めクラスタノード３３１に指示することができる。
【００６２】
また、作業管理ユニット３５ｂは、要求データ内における携帯されるユーザデバイス２の位置データを分析し、且つ送信ユニット３２ｂとユーザデバイス２に双方向通信接続の確立を指示する。双方向通信接続が確立した後、アプリケーションを実行することで生成されたビデオデータと音響データは即時ストリーミングの方式でユーザデバイス２に送信され、且つ図６に示したように、１つのインタラクションビデオインターフェース２３として表示される。このうち図６は、本発明の一実施例に係る実施状況の概略図である。
【００６３】
双方向通信接続に基づいて、ユーザによるユーザデバイス２での入力動作も仮想マシン３３１１にフィードバックし、且つ対応する入力効果を生成することができる。図７は本発明の一実施例に係る実施状況の概略図である。図７に示すように、ユーザはインタラクションビデオインターフェース２３でドラッグ入力を行い、前記入力に対応して画面上のロープを切断する効果を生成し、試用の目的を達する。
【００６４】
試用が終了した後、ユーザデバイス２はソフトウェアのダウンロードデータをロードし、且つダウンロード画面２４（図８）を表示する。図８に示すように、本発明の一実施例に係る実施状況の概略図では、ユーザがダウンロード画面２４をタッチした後、前記アプリケーションのダウンロードページにリンクし、またはタッチした直後に、アプリケーションのダウンロードを行うことができる。仮に、ユーザがアプリケーションをダウンロードしたくない場合、ダウンロード画面２４を閉じれば、ユーザデバイス２は、試用前の状態に戻り、未完成の作業を実行し続けることができる。例えば、試用前にブラウザーを使用して、データを検索する作業を実行し続けることができる。
【００６５】
本実施例の他の態様では、サーバ３ｂ（図４を同時に参照されたい）はアプリケーションを実行する前に、まず、ユーザデバイス２の試用環境を確認することができる。試用環境は設備のハードウェア規格、及び／またはネットワーク接続状態を備えるが、これらに限定されない。ユーザデバイス２の試用環境の確認は少なくとも２種類があり、そのうちの１つは、サーバ３ｂが要求データを受信した後、ユーザデバイスに問合せデータを送信することで、ユーザデバイス２に現在のハードウェア環境及び／または接続状態の関連データを提供するように要求する。または、ユーザデバイス２のハードウェア環境及び／または接続状態の関連データを要求データに含ませて合わせて送信し、サーバ３ｂによって分析させることができる。サーバ３ｂは、ユーザデバイス２の試用環境によって、アプリケーションをユーザに試用させるか、否かの実行を決定することができ、仮に、適合しない場合、ユーザデバイスに１つの例外情報を送信し、試用を行うことができないと知らせることができる。そうすることで、ユーザに試用環境が好ましくないために、良くない試用体験をもたらすことを回避することができる。
【００６６】
また、本実施例の他の態様では、サーバはアプリケーションを実行する前に、まず、メモリユニット３１ｂ（図４）に保存されたアプリケーションの状態を確認することができる。仮に、前記アプリケーションが保存、または破損されていない場合に、同様にユーザデバイス２に向けて例外情報を送信し、試用を行うことができないと知らせることができる。
【００６７】
また、前記広告記事２２（図５）は使用中のアプリケーション（Application、即ちappである）の画面の下部に表示するか、または広告画面から飛び出した位置に表示することができる。ユーザは、ネイティブアプリケーション（Native Application）を実行する時に、画面の下部に位置し、または画面から飛び出してきた広告記事２２をタッチすることができる。ネイティブアプリケーションは、ユーザデバイスに直接作動しているローカルアプリケーションであり、例えば、カメラ、位置決めシステムなどのユーザデバイスにおける全ての機能を使用でき、且つより迅速な実行速度と優れた品質を併せ持ち、オフライン状態の操作を行うこともできる。実行時、ネイティブアプリケーションは、すでに広告記事２２に嵌め込まれているため、ユーザが前記広告記事２２にタッチした時、ユーザに、例えば、関連する企業のアプリケーションを試用させることができる。しかし、説明すべきことは、仮に、ソフトウェアのダウンロードデータの画面を閉じても、ネイティブアプリケーションは、依然として実行し続け、試用により中断されることはない。
【００６８】
本発明はアプリケーション試用方法をさらに開示し、前記試用方法は、アプリケーション試用システムに応用され、アプリケーション試用システムは少なくとも１つのユーザデバイスとサーバを備え、且つサーバはユーザデバイスに通信可能に接続される。図９は本発明の一実施例のアプリケーション試用方法のステップを示す図であり、図９に示すように、試用方法は、ユーザデバイスが入力に対応して、アプリケーションを試用するための要求データを生成するステップ（Ｓ１）と、サーバが要求データを受信するステップ（Ｓ２）と、サーバが要求データに基づいて、アプリケーションの少なくとも一部を実行するステップ（Ｓ３）と、サーバとユーザデバイスが双方向通信接続を作るステップ（Ｓ４）と、サーバとユーザデバイスが双方向通信接続を介して少なくとも１つのビデオデータと少なくとも１つの制御データを送信するステップ（Ｓ５）とを備える。
【００６９】
本発明はサーバをさらに開示し、このサーバはアプリケーション試用システムに応用される。アプリケーション試用システムはサーバと少なくとも１つのユーザデバイスを備え、サーバはユーザデバイスに通信可能に接続される。サーバは少なくとも１つのメモリユニットと、少なくとも１つの送信ユニット及び１つまたは複数の演算ユニットとを備える。１つまたは複数の演算ユニットはメモリユニット及び送信ユニットに通信可能に接続される。送信ユニットは要求データを受信し、且つ要求データはユーザデバイスの入力に対応して生成される。１つまたは複数の演算ユニットは要求データに基づいて、メモリユニットに保存されたアプリケーションの少なくとも一部を実行すると同時に、送信ユニットを介して、ユーザデバイスと双方向通信接続を作る。サーバとユーザデバイスは双方向通信接続を介して、少なくとも１つのビデオデータと少なくとも１つの制御データを送信する。
【００７０】
本発明はユーザデバイスをさらに開示し、このユーザデバイスはアプリケーション試用システムに応用される。アプリケーション試用システムはサーバとユーザデバイスを備える。サーバはユーザデバイスに通信可能に接続される。ユーザデバイスは少なくとも１つのメモリ素子と、１つまたは複数の演算素子とを備える。メモリ素子は複数の指令を保存すると同時に、１つまたは複数の演算素子に接続し、１つまたは複数の演算素子は、前記複数の指令を実行することで、以下の動作を起こす。即ち、入力を受信し、入力に基づいて、アプリケーションを試用するための要求データをサーバに送信し、サーバと双方向通信接続を作り、この双方向通信接続を介して、サーバと少なくとも１つのビデオデータと少なくとも１つの制御データを送信し、このうち、ビデオデータは、サーバがアプリケーションの少なくとも一部を実行することで生成され、且つ制御データはアプリケーションとインタラクションを取る、という動作を起こす。
【００７１】
上記の試用方法、サーバとユーザデバイスの実施詳細と詳しい説明はいずれも前記説明を参照することができるため、ここで繰り返して述べない。
【００７２】
上記をまとめると、本発明のアプリケーション試用システム、方法及びそのサーバとユーザデバイスにおいて、アプリケーションはまず、サーバで実行してから、インターネットとユーザデバイスを介してビデオ画面と制御動作の送信を行うため、ユーザはダウンロード、またはインストールする必要なく試用することができる。よって、コストの問題を排除できる以外に、ネットワーク、またはハードウェアリソースの無駄な消耗を減らすことができる。もちろん、ダウンロード、またはインストールする必要がないので、本発明の試用方式は一般的な試用ソフトウェアより優れているため、ユーザの興味を高め、広告またはプロモーションの効果を更に向上させることができる。
【００７３】
アプリケーションはサーバで実行するため、ユーザデバイスのハードウェア規格によって制限されないので、ユーザはスムーズに試用を行うことができる。特に、アプリケーションにおいて、大部分の割合を占めたゲームソフトは、高規格のハードウェア機能を必要とするが、本発明の技術方案を介してこの問題を回避することができる。
【００７４】
上記実施例は例示的なものであって、限定するためのものではない。本発明の技術的思想および範囲から逸脱することなく行われる等価の修正または変更は、いずれも別紙の特許請求の範囲に含まれる。
【産業上の利用可能性】
【００７５】
本発明は以上の如く構成したため、ユーザは、アプリケーション及び試用ソフトウェアをダウンロード、またはインストールする必要がないという前提で、自らの装置で試用することができるため、コストを削減し、更には出費を回避することができる。更にまた、ハードウェアリソースの無駄な消耗を減らし、且つ不要な操作ステップとダウンロードの待ち時間を排除することができ、もっとも重要なことは、ユーザの興味を高められるため、広告またはプロモーションの効果を更に向上させることができるアプリケーション試用システム、方法及びそのサーバとユーザデバイスを提供し得るものである。
【符号の説明】
【００７６】
１    アプリケーション試用システム
２    ユーザデバイス
２１  ブラウザー
２２  広告記事
２３  インタラクションビデオインターフェース
２４  ダウンロード画面
３、３ａ、３ｂ  サーバ
３１、３１ｂ  メモリユニット
３１１、３１２２  アプリケーション
３１２、３３１１  仮想マシン
３１２１  オペレーティングシステム
３１２３  入出力エージェントプログラム
３１３、３３１２  仮想基礎構造
３１４  スナップショットデータ
３１４１  オペレーティングシステムイメージ
３１４２  アプリケーションイメージ
３１５  アプリケーション記録データ
３２、３２ｂ  送信ユニット
３３、３３ｂ  演算ユニット
３３１  クラスタノード
３４１  アプリケーションインターフェース
３４ｂ  アプリケーションインターフェースユニット
３５ｂ  作業管理ユニット
３６ｂ  リソース割当ユニット
Ｓ１〜Ｓ５  ステップ
【図１】
2016076216.tif 000003
【図２】
2016076216.tif 000004
【図３】
2016076216.tif 000005
【図４】
2016076216.tif 000006
【図５】
2016076216.tif 000007
【図６】
2016076216.tif 000008
【図７】
2016076216.tif 000009
【図８】
2016076216.tif 000010
【図９】
2016076216.tif 000011