(58)【調査した分野】(Int.Cl.,DB名)
前記アプリケーションの前記更新と前記インタフェース画像との間のマッピング関係を含み、1グループのサンプルインタフェース画像および該1グループのサンプルインタフェース画像に関連するサンプルアプリケーションの更新に基づいて訓練されるインタフェース知識モデルを取得するステップと、
前記マッピング関係および前記インタフェース画像に基づいて、前記更新の信頼度を決定するステップとをさらに含む請求項1に記載のアプリケーション更新方法。
前記アプリケーションの前記実例は、モバイルデバイスからユーザの入力を受信し、前記アプリケーションの前記実例を動作して生成された前記インタフェースの画像を前記モバイルデバイスに出力する請求項1に記載のアプリケーション更新方法。
前記インタフェース画像が前記更新の存在を指示すると決定されたことに応答して、前記アプリケーション試用プラットフォームで動作される前記アプリケーションの他の実例を更新するステップをさらに含む請求項1に記載のアプリケーション更新方法。
前記アプリケーションの前記更新と前記インタフェース画像との間のマッピング関係を含み、1グループのサンプルインタフェース画像および該1グループのサンプルインタフェース画像に関連するサンプルアプリケーションの更新に基づいて訓練されるインタフェース知識モデルを取得するモデル取得モジュールと、
前記マッピング関係および前記インタフェース画像に基づいて、前記更新の信頼度を決定する検証モジュールとをさらに備える請求項11に記載のアプリケーション更新装置。
前記アプリケーションの前記実例は、モバイルデバイスからユーザの入力を受信し、前記アプリケーションの前記実例を動作して生成されたインタフェースの画像を前記モバイルデバイスに出力する請求項11に記載のアプリケーション更新装置。
前記インタフェース画像が前記更新の存在を指示すると決定されたことに応答して、前記アプリケーション試用プラットフォームで動作される前記アプリケーションの他の実例を更新する実例更新モジュールをさらに備える請求項11に記載のアプリケーション更新装置。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の内容の実施形態をさらに詳細に説明する。図面では本発明の内容の特定の実施形態を示したが、本発明の内容はさまざまな形態で実現できることを理解すべきである。以下に説明する実施形態に限られると解釈されるものではなく、逆に、さらに透徹にかつ完全に本発明の内容を理解するために、実施形態を提供する。本発明の図面および実施形態は、単に例示的な作用に用いられ、本発明の保護範囲を限定するものでないことを理解すべきである。
【0012】
本発明の実施形態の説明において、用語である「含む」およびそれと類似な用語は、開放的に含むことと理解すべきであり、すなわち「含むが限定されない」と理解すべきである。用語である「に基づいて」は、「少なくとも一部に基づいて」と理解すべきである。用語である「一実施形態」または「本実施形態」は、「少なくとも一つの実施形態」と理解すべきである。用語である「第1の」、「第2の」などは、異なる対象または同一の対象を示すことができる。以下に他の明示的および暗黙的な定義も含まれている可能性がある。
【0013】
図1は、本発明の一実施形態に係る技術案を採用したアプリケーション環境100の例示的な図面を模式的に示す。
図1は、アプリケーション試用プラットフォーム110の一例を模式的に示す。
図1に示されるように、アプリケーション試用プラットフォーム110には、複数のアプリケーションの実例112、・・・・・・、114などが動作できる。例えば、アプリケーションの実例112は、アプリケーション試用プラットフォーム110にインストールされたゲームAであり、アプリケーションの実例114は、アプリケーション試用プラットフォーム110にインストールされたゲームBであってもよい。
図1に示していないが、アプリケーション試用プラットフォーム110には、ゲームAの複数の実例が存在してもよい。一般的に、ゲームの更新頻度がより高いため、本発明の文脈ではゲームをアプリケーションの実例として説明する。本発明の文脈において、アプリケーションは、例えば、買い物、チケット予約、または、他の機能を実現するプログラムなどのような他のプログラムをさらに含んでもよいことが理解される。
【0014】
図1に示されるように、アプリケーション試用プラットフォーム110は、ネットワーク140を介して各アプリケーションのサーバにカップリングされることができる。例えば、サーバ130は、ゲームAに用いられるサーバであり、サーバ132は、ゲームBに用いられるサーバであってもよい。このとき、複数のユーザは、それぞれのモバイルデバイス120、・・・・・・、122を介して、アプリケーション試用プラットフォーム110で各アプリケーションの機能を試用することができる。具体的には、一方のユーザは、モバイルデバイス120を利用して、ネットワーク140を介してアプリケーションの実例112にアクセスし、他のユーザは、モバイルデバイス122を利用して、ネットワーク140を介してアプリケーションの実例114にアクセスすることができる。
【0015】
アプリケーションの開発者は、頻繁に更新たなバージョンのアプリケーションを発表することになり、これに応じて、アプリケーション試用プラットフォーム110もプラットフォームのアプリケーションのバージョンを絶えず更新する必要がある。現在、アプリケーションの最新インストールパッケージを定期的に採取し、プラットフォームで使用されるインストールパッケージのバージョンと最新インストールパッケージとの間の差異を比較することによって、アプリケーションを更新するかどうかを決定する技術が、既に提出された。しかしながら、現在、アプリケーションの更新は、一般的に、オリジナルインストールパッケージの内容を修正せずに、アプリケーション動作過程にインストールパッケージをダウンロードして更新するように(それを「ホットアップデート」と呼ぶ)ユーザに知らせる。従来技術は、このようなホットアップデートを検出できないため、アプリケーション試用プラットフォーム110におけるアプリケーションバージョンが最新のものに更新されるように確保することができない。
【0016】
先行技術での上記の欠陥に鑑み、さらに便利で効率的にアプリケーションを更新する技術案を提供することが望ましい。さらに、本技術案は既存する技術案と組み合わせること、および、できるだけ既存する技術案のハードウェアアーキテクチャを変更しない状況で実現することが望ましい。
【0017】
本発明の一実施形態によると、アプリケーションの実例の動作期間に生成されたインタフェース画像を取得し、また、インタフェース画像を識別することで更新が存在するかどうかを決定することができる。
以下、
図2から
図8を参照して詳細に説明する。
図2は、本発明の一実施形態に係る技術案の例示的なブロック
図200を模式的に示す。
図2に示されるように、アプリケーション試用プラットフォーム110でアプリケーションの実例112を動作し、動作期間に生成されたインタフェース画像210を取得することができる。例えば、定期的にスクリーンショットする方法によってインタフェース画像210を取得してもよいし、あるいは、スクリーンの内容が変えたことが見つかったときにインタフェース画像210を取得してもよい。
【0018】
一般的に、インタフェース画像210には、複数のウィジェット220が含まれ、このとき、画像識別によって、インタフェース画像210におけるウィジェットに関連する複数の属性230を取得することができる。
図2は、対話ボックスウィジェット222(その中にはボタン224とボタン226が含まれる)を模式的に示し、ウィジェット222の属性は、例えば、ウィジェットの文字、種類、位置などを含んでいてもよい。次に、抽出された複数の属性に基づいて、インタフェース画像が、サーバによって発表されたアプリケーションの更新240の存在を指示するか否かを決定することができる。もし、更新240が存在すると、更新240に関連するインストールパッケージをダウンロードし、更新を実行することができる。
【0019】
上記の実現において、アプリケーション試用プラットフォームで動作されるアプリケーションのインタフェース画像に対して、画像識別を行うことによって、ウィジェットの複数の属性(例えば、文字内容には、「更新」を含み、色は「鮮やか」など)を抽出し、複数の属性に基づいてアプリケーションの更新を検出することができる。この方式によると、一方では、アプリケーション動作期間にインタフェース画像210から「ホットアップデート」を検出して更新を実行することができ、他方では、手動操作なしに、画像識別により検出と更新を自動的に実行することができる。
【0020】
以下、
図3を参照して、アプリケーション更新に関するさらに多い細部を詳細に説明する。
図3は、本発明の一実施形態に係るアプリケーション更新方法300の例示的なフローチャートを模式的に示す。
図3に示されるように、ステップ310は、アプリケーションの実例112の動作期間に生成されたインタフェース画像210を取得する。この場合、アプリケーションの実例112は、アプリケーション試用プラットフォーム110で動作され、また、アプリケーション試用プラットフォーム110は、アプリケーションのサーバ130に通信可能にカップリングされている。この実現において、ユーザは、自分のモバイルデバイス120にアプリケーションをインストールする必要がなく、アプリケーション試用プラットフォーム110におけるアプリケーションの実例112を遠隔アクセスすることができる。動作期間において、アプリケーションの実例112は、モバイルデバイス120からのユーザとの対話をアプリケーションのサーバ130に伝送し、アプリケーションのサーバ130からフィードバックを受信することができる。次に、アプリケーションの実例112は、表示されているインタフェースの内容をモバイルデバイス120に送信することができる。例えば、ビデオストリームの方式でインタフェース内容をユーザに送信することができる。
【0021】
ステップ320は、インタフェース画像におけるウィジェット220に関連する複数の属性230を抽出する。具体的には、インタフェース画像210における各ウィジェットに対して、関連する属性を抽出することができる。一般的に、ウィジェット220は、アプリケーションの更新に関する内容を含む。例えば、
図2に示されるウィジェット222には、「アプリケーション更新が存在します。インストールパッケージをダウンロードしますか?」とのプロンプトを表示する。この一例において、属性230は、例えば、ウィジェットにおける文字を含んでいてもよい。本実施形態によると、ウィジェットの文字、ウィジェットの種類、ウィジェットの位置、ウィジェットのスタイルおよびウィジェットがトリガー可能であるか否かのうちの少なくとも任意の一つに基づいて、複数の属性を抽出することができる。
【0022】
ステップ330は、抽出された複数の属性230に基づいて、インタフェース画像210が、サーバ130によって発表されたアプリケーションの更新の存在を指示するか否かを決定する。例えば、ウィジェット222に関連する上記の文字で検出された「更新」との単語に基づいて、更新の存在を決定することができる。また、例えば、更新を知らせる対話ボックスには、例えば「決定」、「バージョン」、「新たなバージョン」、「ダウンロード」、「インストールパッケージ」など文字がさらに含まれていてもよい。このとき、ウィジェットに関連する属性230に上記の文字が存在することが検出されると、更新が存在すると判断することができる。ここで、属性230に特定の文字が含まれていることのみを一例として、更新が存在するかどうかをどのように判断するかを説明したことが理解される。本実施形態によると、知識モデルに基づいて、属性のさらに多い側面に基づいて、更新が存在するかどうかを決定することができる。
【0023】
ステップ340は、インタフェース画像210が更新の存在を指示すると決定したことに応答して(すなわち、判断結果が「はい」である)、ステップ350に進む。
ステップ350は、アプリケーション試用プラットフォーム130でアプリケーションの実例112を更新する。例えば、
図2に示されるウィジェット222におけるボタン224をクリックすることによって、更新に関連するインストールパッケージをダウンロードし、続いて、アプリケーション試用プラットフォーム110でアプリケーションの実例112を更新することができる。
また、ステップ340においては、インタフェース画像210が更新の存在を指示すると決定した場合(すなわち、判断結果が「いいえ」である)、ステップ360に進み、アプリケーション試用プラットフォームにおけるアプリケーションの実例を更新しない。すなわち、アプリケーション試用プラットフォームにおけるアプリケーションの実例が最新なバージョンであるので、直接にアプリケーション試用プラットフォームにおけるアプリケーションの実例を用いればよい。
【0024】
本実施形態によると、属性230は、複数の側面を含んでいてもよい。例えば、上記のウィジェットの文字のほか、属性230は、ウィジェットの種類、ウィジェットの位置、ウィジェットのスタイルおよびウィジェットがトリガー可能であるか否かのうちの任意の一つを含んでいてもよい。例えば、ウィジェットの種類は、対話ボックス、選択ボックス、ボタンなどを含んでもよい。ウィジェットの中心(または、左上角)がスクリーンに対する相対的な位置を採用してウィジェットの位置を表示することができる。一般的に、明確にするために、アプリケーション更新を知らせるためのウィジェットは、一般的に、スクリーンの中心に存在する。したがって、もし、ウィジェットに、文字である「更新」が含まれ、かつ、当該ウィジェットがスクリーンの中心位置に位置していることが見つかると、アプリケーション更新が存在すると決定することができる。
【0025】
本実施形態においては、属性230は、ウィジェット220のスタイル(例えば、色、フォント、アイコンを含むかどうかなど)をさらに含んでいてもよい。一般的に、顕著にするために、アプリケーション更新を知らせるウィジェット220は、一般的に、顕著な色、大きなフォント、感嘆符などを含むアイコンに設定される。したがって、ウィジェット220が上記の内容に関することが見つかると、アプリケーション更新が存在すると決定することができる。以上は一例の方式によって属性に関する複数の側面の内容を説明したことに過ぎず、具体的なアプリケーションの環境において、属性230は、さらに多い側面の内容、または、さらに少ない側面の内容をさらに含んでもよいことが理解される。
【0026】
大量の属性が存在する場合、各属性の具体的な数値に基づいて各属性が更新が存在する該当する閾値を満たすかどうかを一つずつ判断すると、大量の判断語句を使用することになり、判断の流れより複雑になることが理解される。本実施形態においては、抽出された複数の属性に基づいてウィジェットの特徴を決定することができる。この方式によると、複数の属性を単一な特徴にマッピングすることによって、ウィジェットのさまざまな側面の要素と更新が存在するかどうかとの間の関連関係を総合的に考慮することができる。
【0027】
本実施形態においては、線形回帰方法を利用して、複数の属性に基づいてウィジェットの特徴を決定することができる。具体的に、以下の数式1を採用してあるウィジェットの特徴を決定することができる。
【数1】
【0028】
上記の数式1において、
yは、ウィジェットの特徴を示し、
nは、属性の数を示し、
Xiは、複数の属性におけるi番目の属性の得点を示し、
aiおよびbiは、線形回帰方法におけるi番目の属性の重みとオフセットを示す。
この方式によると、さらに簡単で効率的な方式で複数の属性を特徴にマッピングすることによって、アプリケーションに更新が存在するかどうかの決定を容易にすることができる。
【0029】
[00、100]範囲における数値によって各属性の得点を示すと想定する。例えば、もし、ウィジェットの文字に「更新」、「ダウンロード」などの文字が存在すると、属性である「文字」の得点をより高い数値(例えば、80)に設定することができる。文字が更新が存在するかどうかの判断に重要であるため、属性に対してより高い重み(例えば、1.5)と正の方向のオフセットを付与することができる。また、例えば、もし、ウィジェットの位置がスクリーンの中央にいると、属性である「位置」の得点をより高い数値(例えば、60)に設定することができる。ウィジェットの位置が更新が存在するかどうかの判断により重要であるため、属性に対してより高い重み(例えば、1.2)と正の方向のオフセットを付与することができる。上記の実施形態を利用して、各属性の得点に基づいてウィジェットの特徴を決定することができる。
【0030】
本実施形態においては、ウィジェット知識モデルを取得することができる。ここで、ウィジェット知識モデルは、アプリケーションの更新とウィジェットの特徴との間のマッピング関係を含み、知識モデルは、1グループのサンプルウィジェットの特徴および1グループのサンプルウィジェットに関連するサンプルアプリケーションの更新に基づいて訓練されることができる。次に、もし、ウィジェットの特徴がマッピング関係にマッチングされると決定されると、インタフェース画像が更新の存在を指示すると決定することができる。上記の実施形態を利用して、機械学習方法にしたがって、既存の知識訓練に基づいて得た知識モデルを利用して、アプリケーション更新が存在するかどうかの判断を補助することができる。
【0031】
以下、
図4Aを参照して、どのようにウィジェットの特徴に基づいて更新が存在するかどうかを決定するかを説明する。
図4Aは、本発明の一実施形態に係るウィジェット知識モデル420Aを取得するためのブロック
図400Aを模式的に示す。
図4Aに示されるように、サンプルウィジェット特徴410Aを取得することができ、ここで、サンプルウィジェット特徴410Aとは、以前にアプリケーションを動作して得たものを指す。更新412Aとは、以前にアプリケーションを動作するときウィジェットの更新が行われたか否かを指す。本実施形態においては、サンプルウィジェット特徴410Aおよび更新412Aに基づいてウィジェット知識モデル420Aを訓練することができる。具体的には、1グループのサンプルウィジェットの特徴(グループのサンプルウィジェットによって更新が行われた)を取得することができ、また、他のグループのサンプルウィジェットの特徴(グループのサンプルウィジェットによって更新が行われなかった)を取得することができる。機械学習技術によって、ウィジェット知識モデル420Aを訓練して得ることによって、ウィジェット知識モデル420Aおよび現在得たウィジェット特徴に基づいて、アプリケーションに更新が存在するかどうかを決定することができる。
【0032】
本実施形態においては、1グループのサンプルウィジェット特徴がいずれも文字である「更新」に関し、また、ウィジェットによって更新が行われたと想定すれば、文字である「更新」に関するウィジェット特徴が受信されると、上記のサンプル訓練によって得られたウィジェット知識モデル420Aを採用して、アプリケーションに更新が存在すると決定することができる。上記の実施形態を利用して、ウィジェット特徴と更新が存在するかどうかに関する歴史経験に十分に基づいて、アプリケーションの実例112の動作期間に更新が存在するかどうかを決定することができる。
【0033】
以上、どのようにウィジェット特徴に基づいて更新が存在するかどうかを判断するかを既に説明した。アプリケーションインタフェースには他の複雑な内容が存在する可能性があるため、ウィジェット特徴に単純に依存すると、誤判断が生じる可能性がある。このとき、インタフェース画像210の内容全体に基づいて更新が存在するかどうかの判断を補助することができる。本実施形態においては、インタフェース知識モデルを取得することができ、ここで、インタフェース知識モデルは、アプリケーションの更新とインタフェース画像との間のマッピング関係を含み、インタフェース知識モデルは、1グループのサンプルインタフェース画像および1グループのサンプルインタフェース画像に関連するサンプルアプリケーションの更新に基づいて訓練される。次に、マッピング関係およびインタフェース画像に基づいて、更新の信頼度を決定する。この実現において、もし、インタフェース画像に基づく判断結果とウィジェット特徴に基づくオリジナル判断結果とが一致すると、オリジナル判断結果がより高い信頼度を有すると決定することができ、一致しないと、オリジナル判断結果の信頼度を低減することができる。
【0034】
以下、
図4Bを参照して、どのようにインタフェース画像210に基づいて更新が存在するかどうかを決定するかを説明する。
図4Bは、本発明の一実施形態に係るインタフェース知識モデルを取得するためのブロック
図400Bを模式的に示す。
図4Bに示されるように、サンプルインタフェース画像410Bを取得することができる。ここで、サンプルインタフェース画像410Bとは、以前にアプリケーションを動作して得たものを指し、更新412Bとは、以前にアプリケーションを動作するときインタフェース画像210によって更新が行われたか否かを指す。本実施形態によると、サンプルインタフェース画像410Bおよび更新412Bに基づいて、インタフェース知識モデル420Bを訓練することができる。具体的には、1グループのサンプルインタフェース画像(グループのサンプルインタフェース画像によって更新が行われた)を取得することができ、他のグループのサンプルインタフェース画像(グループのサンプルインタフェース画像によって更新が行われなかった)を取得することができる。機械学習技術によって、インタフェース知識モデル420Bを訓練して得ることによって、インタフェース知識モデル420Bおよび現在得たインタフェース画像に基づいて、アプリケーションに更新が存在するかどうかを決定することができるようにする。インタフェース知識モデル420Bを訓練および使用する詳しいステップは、
図4Aを参照して説明したウィジェット知識モデル420Aを訓練および使用するステップと類似であるため、以下繰り返して説明しない。
【0035】
本実施形態においては、ウィジェットをトリガーすることでサーバから更新に関連するデータをダウンロードすることができる。次に、アプリケーション試用プラットフォームにおいて、ダウンロードしたデータに基づいてアプリケーションの実例を更新する。
図2に示した一例に戻り、上記の方法を採用してウィジェット222がアプリケーションの更新の存在を指示すると決定されると、このとき、ウィジェット222におけるボタン224をクリックして、サーバからインストールパッケージをダウンロードする操作をトリガーすることができる。上記の実施形態を利用して、サーバからダウンロードした更新に関するインストールパッケージを利用して、アプリケーション試用プラットフォームで動作されているアプリケーションの実例112を更新することができる。
【0036】
本実施形態においては、アプリケーションの実例112を動作した後の時間にアプリケーションの更新が行われたかどうかに基づいて、上記の知識モデル(例えば、ウィジェット知識モデル420Aとインタフェース知識モデル420Bとが正しいか否か)をさらに検証することができる。以下、ウィジェット知識モデル420Aのみを一例として説明する。
図5は、本発明の一実施形態に係るウィジェット知識モデルを更新するための方法500のフローチャートを模式的に示す。ステップ510において、ウィジェットをトリガーした後の予め設定された時点に、アプリケーションの実例の他のインタフェース画像を取得する。ここで、予め設定された時点は、例えば、ウィジェットをトリガーした後の2分間であってもよい(または、他の時間長さ)ことが理解される。一般的に、もし、アプリケーションに更新が存在すると、例えば上記のウィジェット222をトリガーした後、他のインタフェースが出現することになる(例えば、インストールパッケージの保存を知らせる対話ボックス、または、インストールパッケージをダウンロードするプログレスバー、など)。このとき、前のインタフェース画像と他のインタフェース画像との間の差異を判断することによって、更新が存在するかどうかを決定することができる。
【0037】
ステップ520において、他のインタフェース画像とインタフェース画像との間の差異の程度を判断することができ、差異が予め設定された閾値よりも小さいと、操作はステップ530に進入する。なた、もう一つのインタフェース画像とインタフェース画像との間の差異が予め設定された閾値よりも小さいと、後続に更新操作を実行しなかったことを示す。このとき、前の知識モデルによって誤判断されたと見なすことができるので、後続のステップ530において、後続に、ウィジェットの特徴に基づいてマッピング関係を更新することによって、更新されたマッピング関係が、特徴とアプリケーションの更新との間にマッピングが存在しないことを指示するようにすることができる。また、差異が予め設定された閾値よりも小さくない場合には、知識モデルによる判断が正しいことを意味するので、この場合には、ステップ540に進み、知識モデルを更新しない。
【0038】
本実施形態においては、さまざまな方式によって、二つのインタフェース画像の間の差異を決定することができる。例えば、ピクセル比較によって差異を決定することができるし、また、例えば、インタフェース画像における文字、または、画像内容を識別することによって、差異を決定することができる。数値の方式で差異の程度を表示することでき、例えば、予め設定された数値範囲である[00、100]を差異の範囲とすることができる。このとき、予め設定された閾値を60、または、他の数値に設定することができる。
【0039】
一例において、ウィジェットをトリガーした後でダウンロードプログレスバーを表示すると想定すると、ダウンロードプログレスバーと前のインタフェース画像における更新を知らせる対話ボックスとが完全に異なると決定することができ、このとき、現在の知識モデルに基づいて正しい判断結果を得ることができると決定でき、このとき、知識モデルを更新する必要がない。他の一例において、ウィジェットをトリガーした後にインタフェースが依然として現在のゲームインタフェースを表示すると想定すると、二つのインタフェース画像の間の差異が予め設定された閾値よりも小さいと決定することができる。次に、ウィジェットの特徴に基づいてウィジェット知識モデル420Aを更新することができ、インタフェース画像に基づいてインタフェース知識モデル420Bを更新することもできる。
【0040】
上記の実施形態を利用して、一方では、実際のアプリケーションの実例112の動作によって更新が行われたかどうかに基づいて、ウィジェット知識モデル420Aおよびインタフェース知識モデル420Bにおける誤りを校正することができる。他方では、知識モデルを訓練する初期段階においてより少ないサンプルのみが存在する場合、二つのインタフェース画像の間の差異が予め設定された閾値よりも大きい状況に基づいて、更新が行われたサンプルを取得し、二つのインタフェース画像の間の差異が予め設定された閾値よりも小さい状況に基づいて、更新が行われなかったサンプルを取得することができる。この方式によると、自発学習の方式によって訓練するためのサンプルを取得することができる。
【0041】
本発明の実施形態によると、上記の方法300は、アプリケーション試用プラットフォーム110で実行されることができる。本実施形態においては、アプリケーションの実例112は、モバイルデバイス120からユーザの入力を受信し、モバイルデバイス120に、アプリケーションの実例112を動作して生成されたインタフェースの画像を出力することができる。このとき、アプリケーション試用プラットフォーム110で動作されるアプリケーションの実例112は、モバイルデバイス120とサーバ130との間の仲介になり、両者の間でデータを送信/受信できる。上記の実施形態を利用して、ユーザは、モバイルデバイス120にアプリケーションを予めインストールしない状況で、アプリケーションのさまざまな機能を体験することができる。ユーザは、アプリケーションの機能が自身の要求を満たすと確認した後に、アプリケーションをダウンロードし、モバイルデバイス120にアプリケーションをインストールすることができる。この方式によると、ユーザが、自身の要求を満たさないアプリケーションをダウンロードし、インストールし、さらに、アンインストールすることを回避することができる。
【0042】
本実施形態においては、アプリケーション試用プラットフォーム110における各アプリケーションの実例112、・・・・・・、124に対して、上記の方法を実行することができる。本発明の実施形態によると、一部の実例のみに対して上記の方法を実行することができ、また、インタフェース画像が更新の存在を指示すると決定した場合、アプリケーション試用プラットフォーム110で動作されているアプリケーションの他の実例を更新することができる。
図6は、本発明の一実施形態に係るアプリケーション試用プラットフォーム110におけるアプリケーションを更新するための変形例のブロック
図600を模式的に示す。
図6に示されるように、アプリケーション試用プラットフォーム110におけるアプリケーションの実例112に対して上記の方法を既に実行し、アプリケーション更新が存在すると決定したと想定する。このとき、アプリケーションの実例114に対する更新を起動することができる。実例112と実例114とは同一のアプリケーションに対する実例であるので、更新が既に存在すると決定した場合、実例114を更新する過程において、更新が存在するかどうかを判断する操作をスキップして、インタフェース画像における更新に関連するウィジェットを直接トリガーすることによって、更新に関連するインストールパッケージをダウンロードしてインストールすることができる。
【0043】
本実施形態においては、アプリケーション試用プラットフォーム110の作業負荷がより軽い時間帯に(例えば、夜間)上記のアプリケーション更新方法を実行することができる。この実現において、アプリケーション試用プラットフォーム110におけるアプリケーションの実例を定期的に動作することによって、アプリケーションの提供者が新たなインストールパッケージを発表したか否かをチェックすることができる。
【0044】
以上でアプリケーションの実例112を更新する一例のみを挙げて、どのようにアプリケーション試用プラットフォーム110で動作されているアプリケーションの実例を更新するかを説明したことが理解される。実際の操作環境において、アプリケーション試用プラットフォーム110には複数のアプリケーションの複数の実例が動作されることができ、このとき、各実例に対して上記のアプリケーション更新方法を実行することができる。この方式によると、各アプリケーションの各実例がいずれも最新なバージョンに更新されることが確保できる。
【0045】
以上、図面を参照して、アプリケーション試用プラットフォーム110で動作されるアプリケーションの実例112を更新するための方法500の具体的なステップを説明した。本実施形態においては、処理装置を利用して上記の方法を実行することができる。具体的には、
図7は、本発明の一実施形態に係るアプリケーション更新装置700の例示的なブロック図を模式的に示す。
具体的には、アプリケーション更新装置700は、取得モジュール710と、抽出モジュール720と、決定モジュール730と、更新モジュール740とを備えている。
具体的には、取得モジュール710は、アプリケーションの実例の動作期間に生成されたインタフェース画像を取得する。アプリケーションの実例はアプリケーション試用プラットフォームで動作され、アプリケーション試用プラットフォームはアプリケーションのサーバに通信可能にカップリングされる。
抽出モジュール720は、インタフェース画像におけるウィジェットに関連する複数の属性を抽出する。
決定モジュール730は、抽出された複数の属性に基づいて、インタフェース画像がサーバによって発表されたアプリケーションの更新の存在を指示するか否かを決定する。
更新モジュール740は、インタフェース画像が更新の存在を指示すると決定されたことに応答して、アプリケーション試用プラットフォームでアプリケーションの実例を更新する。
【0046】
本実施形態においては、決定モジュール730は、特徴抽出モジュールと、モデル取得モジュールと、更新決定モジュールと、をさらに備えている。
特徴抽出モジュールは、抽出された複数の属性に基づいて、ウィジェットの特徴を決定する。
モデル取得モジュールは、ウィジェット知識モデルを取得する。ウィジェット知識モデルは、アプリケーションの更新とウィジェットの特徴との間のマッピング関係を含み、ウィジェット知識モデルは、1グループのサンプルウィジェットの特徴および1グループのサンプルウィジェットに関連するサンプルアプリケーションの更新に基づいて訓練されたものである。
更新決定モジュールは、ウィジェットの特徴がマッピング関係とマッチングされたことに応答して、インタフェース画像が更新の存在を指示すると決定する。
【0047】
本実施形態においては、抽出モジュール720は、属性抽出モジュールを備えている。
属性抽出モジュールは、ウィジェットの文字、ウィジェットの種類、ウィジェットの位置、ウィジェットのスタイル、および、ウィジェットがトリガー可能であるか否かのうちの少なくとも任意の一つに基づいて、複数の属性を抽出する。
【0048】
本実施形態においては、特徴抽出モジュールは、回帰モジュールを備えている。
回帰モジュールは、線形回帰方法を利用し、複数の属性に基づいてウィジェットの特徴を決定する。
【0049】
本実施形態に係るアプリケーション更新装置700は、モデル取得モジュールと、検証モジュールとをさらに備えている。
モデル取得モジュールは、インタフェース知識モデルを取得する。インタフェース知識モデルは、アプリケーションの更新とインタフェース画像との間のマッピング関係を含み、インタフェース知識モデルは、1グループのサンプルインタフェース画像および1グループのサンプルインタフェース画像に関連するサンプルアプリケーションの更新に基づいて訓練される。
検証モジュールは、マッピング関係およびインタフェース画像に基づいて、更新の信頼度を決定する。
【0050】
本実施形態においては、更新モジュール740は、トリガーモジュールと、動作モジュールとを備える。トリガーモジュールは、ウィジェットをトリガーしてサーバから更新に関連するデータをダウンロードする。動作モジュールは、アプリケーション試用プラットフォームで、ダウンロードされたデータに基づいて、アプリケーションの実例を更新する。
【0051】
本実施形態においては、アプリケーション更新装置700は、画像取得モジュールと、マッピング更新モジュールとをさらに備えている。
画像取得モジュールは、ウィジェットをトリガーした後の予め設定された時点に、アプリケーションの実例の他のインタフェース画像を取得する。
マッピング更新モジュールは、他のインタフェース画像とインタフェース画像との間の差異が予め設定された閾値よりも小さいことに応答して、ウィジェットの特徴に基づいてマッピング関係を更新することによって、更新されたマッピング関係が、特徴とアプリケーションの更新との間にマッピングが存在しないことを指示する。
【0052】
本実施形態においては、アプリケーション更新装置700は、アプリケーション試用プラットフォームに配置される。
【0053】
本実施形態においては、アプリケーションの実例は、モバイルデバイスからユーザの入力を受信し、アプリケーションの実例を動作して生成されたインタフェースの画像をモバイルデバイスに出力する。
【0054】
本実施形態においては、アプリケーション更新装置700は、実例更新モジュールをさらに備えている。
実例更新モジュールは、インタフェース画像が更新の存在を指示すると決定されたことに応答して、アプリケーション試用プラットフォームで動作されるアプリケーションの他の実例を更新する。
【0055】
図8は、本発明の一実施形態に係るアプリケーション更新方法を実施できる電子機器800のブロック図を示す。
電子機器800は、
図1のアプリケーション環境を実現することができる。図示のように、電子機器800は、読み出し専用メモリ(ROM)802に記憶されているコンピュータプログラム命令または記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされたコンピュータプログラム命令に従ってさまざまな適切な動作およびプロセスを実行可能な中央処理装置(CPU)801を備えている。RAM803には、電子機器800の動作に必要な各種のプログラムやデータも記憶可能である。CPU801、ROM802およびRAM803は、バス804を介して相互に接続されている。入力/出力(I/O)インタフェース805もバス804に接続されている。
【0056】
キーボード、マウスなどの入力ユニット806と、各種のディスプレイ、スピーカなどの出力ユニット807と、ディスク、CDなどの記憶ユニット808と、ネットワークカード、モデム、無線通信トランシーバなどの通信ユニット809とを備えている、電子機器800における複数の構成要素は、I/Oインタフェース805に接続されている。通信ユニット809は、電子機器800がインターネットおよび/または様々な電気通信ネットワークなどを介して他の機器と情報/データを交換することを許容する。
【0057】
CPU801は、アプリケーション更新方法300など、上記のさまざまな方法およびプロセスを実行する。例えば、変形例としては、アプリケーション更新方法300は、記憶ユニット808などの機器読み取り可能な媒体に有形に含まれるコンピュータソフトウェアプログラムとして実現することができる。変形例では、コンピュータプログラムの少なくとも一部は、ROM802および/または通信ユニット809を介して電子機器800にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM803にロードされ、CPU801によって実行されると、上記のアプリケーション更新方法300の少なくとも1つのステップが実行される。変形例として、CPU801は、任意の他の適切な手段によって(例えば、ファームウェアによって)アプリケーション更新方法300を実行するように構成されてもよい。
【0058】
本発明の一実施形態において、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供した。プログラムがプロセッサによって実行されるとき、本発明によって説明されたアプリケーション更新方法が実現される。
【0059】
本明細書で以上によって説明された機能は、少なくとも一部が少なくとも一つのハードウェア論理部品によって実行されてもよい。例えば、限定ではなく一例として、使用できる模範的なタイプのハードウェア論理部品は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンシステム(SOC)、プログラマブルロジック設備(CPLD)などを含む。
【0060】
本発明の一実施形態に係るアプリケーション更新方法を実施するためのプログラムコードは、少なくとも一つのプログラミング言語の任意の組み合わせでプログラミングすることができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供されてもよい。その結果、プログラムコードがプロセッサまたはコントローラによって実行されると、フローチャートおよび/またはブロック図において特定される機能/操作が実行される。プログラムコードは、完全に機器で実行、部分的に機器で実行することができ、スタンドアロンソフトウェアパッケージとして部分的に機器で実行され、部分的にリモート機器で実行されまたは全てリモート機器またはサーバで実行され得る。
【0061】
本開示の明細書では、機器読み取り可能な媒体は、命令実行システム、装置、または機器によって使用されるまたは命令実行システム、装置、または機器と組み合わせて使用するためのプログラムを含むまたは記憶することができる有形の媒体とすることができる。機器読み取り可能な媒体は、機器読み取り可能な信号媒体または機器読み取り可能な記憶媒体とすることができる。機器読み取り可能な媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム、装置、または機器、あるいは上記の任意の適切な組み合わせを含むことができるが、それらに限定されない。機器読み取り可能な記憶媒体のより具体的な一例は、少なくとも一つのラインに基づく電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンメモリ(ROM)、消去可能プログラマブルリードオンメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM)、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含むことができる。
【0062】
また、動作は、特定の順序で説明されたが、これは、そのような動作が示された特定の順序または順序の順番で実行されること、または所望の結果を達成するためにすべての示された動作が実行されることを必要とする。特定の状況では、マルチタスキングおよび並列処理は、有利な場合がある。同様に、いくつかの具体的な実施例の詳細が上記の説明に含まれているが、これらは本開示の範囲を限定するものとして解釈されるべきではない。別々の実施例で説明されているいくつかの特徴は、単一の実現において組み合わせて実現することもできる。逆に、単一の実施例に関して説明されている様々な特徴は、個別にまたは任意の適切なサブコンビネーションで複数の実施例で実施することができる。
【0063】
本願は、構成的特徴および/または方法論理的動作に特有の言語で説明されているが、添付の特許請求の範囲で定義されるテーマは、説明された上記の特定の特徴または動作に限定されないことが理解されるべきである。逆に、上記の特定の特徴および動作は単に特許請求の範囲を実施する例示的な形態である。