JP6253110B2 - インストールされたアプリケーションのリソースを更新するためのアプリケーションキャッシュの利用 - Google Patents

インストールされたアプリケーションのリソースを更新するためのアプリケーションキャッシュの利用 Download PDF

Info

Publication number
JP6253110B2
JP6253110B2 JP2014557728A JP2014557728A JP6253110B2 JP 6253110 B2 JP6253110 B2 JP 6253110B2 JP 2014557728 A JP2014557728 A JP 2014557728A JP 2014557728 A JP2014557728 A JP 2014557728A JP 6253110 B2 JP6253110 B2 JP 6253110B2
Authority
JP
Japan
Prior art keywords
application
resources
cache
manifest
downloading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014557728A
Other languages
English (en)
Other versions
JP2015513726A (ja
JP2015513726A5 (ja
Inventor
ヒレリオ,イスラエル
ヴォーン ウィンクラー,デイヴィッド
ヴォーン ウィンクラー,デイヴィッド
アール. ソーントン,ダニエル
アール. ソーントン,ダニエル
アール. コックス,マシュー
アール. コックス,マシュー
ロバート ベイトマン,エイドリアン
ロバート ベイトマン,エイドリアン
ディー. マクゲイサ,ジェシー
ディー. マクゲイサ,ジェシー
エリザベス パーカー アンダソン,カレン
エリザベス パーカー アンダソン,カレン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015513726A publication Critical patent/JP2015513726A/ja
Publication of JP2015513726A5 publication Critical patent/JP2015513726A5/ja
Application granted granted Critical
Publication of JP6253110B2 publication Critical patent/JP6253110B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

既存のコンピューティング環境では、一般的に、新しいコンテンツをオフラインで利用できるようになる前に、ユーザは自分のアプリケーションを更新しなければならない。すなわち、アプリケーションに更新版があれば、ユーザは、一般的に、その更新版について知り、リモートのアプリケーションストアに物理的にナビゲーションして、新しいコンテンツを使う前に、更新版を取得してインストールしなければならない。
本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。この要約は、請求項に記載した主題の主要な特徴や本質的な特徴を特定することを意図したものではない。
様々な実施形態では、ローカルクライアントマシン上で使うインストール可能アプリケーションが、ウェブ上にリモートにあるアプリケーションキャッシュマニフェストファイルを利用して、更新し、インストールされたアプリケーションがローカルクライアントマシン上に展開されてからオフラインで利用できるようにすべき様々なリソースを画定できる。インストールされたアプリケーションは、自分の環境で実行でき、ウェブブラウザに依存し、またはウェブブラウザにおいて実行されない、自己完結したアプリケーションであると考えることができる。ウェブ上でマニフェストファイルのコンテンツが更新されるたびに、インストールされたアプリケーションは、自分のローカルアプリケーションキャッシュリソースを自動的に更新し、インストールされたアプリケーションにこれらのリソースをオフラインで使わせる。これは、アプリケーションの新しい更新版をインストールせずに、更新されるコンテンツを取得するロケーションへユーザがナビゲーションする負担なく、行われる。
詳細な説明は添付した図面を参照して説明する。図中、参照数字の最も左の桁は、その参照数字が最初に現れる図面を指す。説明と図面の異なる箇所で同じ参照番号を用いるが、それは同様の又は同一のアイテムを示す。
ここに説明する様々な実施形態を実行するよう動作可能な、一実装例における環境を示す図である。 一または複数の実施形態による、インストールされたアプリケーションを利用できる一実装例を示す図である。 一または複数の実施形態によるプロセスの一例を示す図である。 一または複数の実施形態による方法のステップを説明するフロー図である。 図1を参照して説明するコンピューティングデバイスを含むシステムの一例を示す図である。 ここに説明する任意のタイプのコンピューティングデバイスとして実装できるデバイスの一例の様々なコンポーネントを示す図である。
概要
様々な実施形態では、ローカルクライアントマシン上で使うインストール可能アプリケーションが、ウェブ上にリモートにあるアプリケーションキャッシュマニフェストファイルを利用して、更新し、インストールされたアプリケーションがローカルクライアントマシン上に展開されてからオフラインで利用できるようにすべき様々なリソース、例えば画像、メディア、スクリプト、CSSスタイルシート、HTMLなどを画定できる。インストールされたアプリケーションは、自分の環境で実行でき、ウェブブラウザに依存し、またはウェブブラウザにおいて実行されない、自己完結したアプリケーションであると考えることができる。この目的を達成するため、インストールされるアプリケーションは、本文書のコンテキストでは、ウェブブラウザではない。むしろ、インストールされるアプリケーションは、ScaleForm,XUI(Xbox UI),HTML,XAMLなどのマークアップベースのコンテンツを利用及びレバレッジできる。インストールされるアプリケーションは、一般的には、HTMLその他のウェブ技術を利用するアプリケーション体験を対象として、ユーザが、自分がインストールしたアプリケーションとインターラクトするのに利用されるユーザインタフェースを含むユーザ体験を提供する。ウェブ上でマニフェストファイルのコンテンツが更新されるたびに、インストールされたアプリケーションは、自分のローカルアプリケーションキャッシュリソースを自動的に更新し、インストールされたアプリケーションにこれらのリソースをオフラインで使わせる。更新されるコンテンツのチェックは、展開時に、展開後同時に、または最初の実行時、または実行ごとに行うことができる。これは、アプリケーションの新しい更新版をインストールせずに、更新されるコンテンツを取得するロケーション(例えば、アプリケーションストア)へユーザがナビゲーションする負担なく、行われる。
以下の説明では、ここに説明する手法を利用できる環境の例をまず説明する。次に、上記の環境例やその他の環境で実行できる手順例を説明する。そのため、これら手順例の実行は上記環境例に限定されず、環境例は手順例の実行に限定されない。
環境例
図1は、一又は複数の実施形態による動作環境100を示す。環境100はコンピューティングデバイス102(「ローカルクライアントマシン」とも呼ぶ)を含む。コンピューティングデバイス102は、一または複数のプロセッサ104と、一または複数のコンピュータ読み取り可能記憶媒体106と、一または複数のアプリケーション108と、コンピュータ読み取り可能媒体上にあってプロセッサ104により実行可能なインストールされた一または複数のアプリケーション110とを有する。コンピューティングデバイス102は、限定ではなく例として、デスクトップコンピュータ、ポータブルコンピュータ、パーソナルデジタルアシスタント(PDA)等のハンドヘルドコンピュータ、携帯電話、テレビジョン、タブレットコンピュータなどの、任意の好適な計算装置として実施できる。コンピューティングデバイス102の一例を図5と図6に示して説明する。
アプリケーション108は、例えばウェブブラウザを含む任意の好適なタイプのアプリケーションを含む。ウェブブラウザはネットワーク112を介してナビゲートするように構成されている。ネットワーク112はインターネットとして例示するが、いろいろな構成を想定できる。例えば、ネットワーク112は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ネットワーク、公衆電話ネットワーク、イントラネットなどを含み得る。さらに、単一のネットワーク112を示したが、ネットワーク112は複数のネットワークを含むように構成することもできる。
例えば、ブラウザは、ネットワーク112を介してナビゲーションして、一または複数のウェブサーバ114から得られるコンテンツとインターラクトし、一または複数のウェブサーバ114にデータを送り、例えばダウンロードとアップロードを実行するように構成されている。ウェブサーバ114は、ネットワーク112を介してアクセス可能な一または複数のサービスを提供するように構成されていてもよい。かかるサービスの例には、電子メール、ウェブページ、写真共有サイト、ソーシャルネットワーク、コンテンツ共有サービス、メディアストリーミングサービスなどを含む。
また、一または複数のアプリケーション108は、例えば、直接及び/またはブラウザ110を通じて、ネットワーク112にアクセスするように構成されていてもよい。例えば、一または複数のアプリケーション108は、電子メールやインスタントメッセージなどのメッセージを送受信するように構成されていてもよい。その他の例では、アプリケーション108は、例えば、ソーシャルネットワークにアクセスし、天気情報を取得し、一または複数のウェブサービス114により実装されたブックストアサービスとインターラクトし、ワードプロセッシングをサポートし、スプレッドシート機能を提供し、創作をサポートし、プレゼンテーションを出力するように構成されていてもよい。
このように、アプリケーション108は、直接的または間接的なネットワーク112へのアクセスを含む、様々な機能を実行するように構成されていてもよい。例えば、アプリケーション108は、アプリケーション108によりローカルでレバレッジされ、他のコンピューティングデバイス上で実行されるアプリケーションと同期され得る構成設定(configuration setting)その他のデータを含む。このようにして、これらの設定は複数のデバイスにより共有され得る。他の様々な場合も想定される。このように、コンピューティングデバイス102は、異なる様々なコンテンツ源からのコンテンツと、様々な方法でインターラクトできる。
インストールされたアプリケーション110は、ウェブブラウザとは別でもので独立しているが、ウェブに周期的にアクセスするアプリケーション機能を表し、オンラインシナリオとオフラインシナリオで利用できる。インストールされたアプリケーションは、一般的には、ローカルクライアントマシンがウェブアプリケーションのサイト・オブ・オリジン(site of origin;SOO)として機能するとき、ローカルクライアントマシンから逃げる(run off)。インストールされたアプリケーションは、ローカルクライアントマシンがウェブに接続された時に、更新可能である。本明細書のコンテキストでは、インストールされたアプリケーションは、自分の環境で実行でき、ウェブブラウザに依存し、またはウェブブラウザにおいて実行されない、自己完結したアプリケーションであると考えることができる。少なくとも幾つかの状況では、インストールされたアプリケーションは、コンピューティングデバイス102にアプリケーションとしてインストールされ、実行可能プログラムコードまたはソフトウェアをホストしている専用アプリケーション中でレンダリングされるウェブページであるとみなせる。あるタイプのインストールされたアプリケーションはメトロ(Metro)スタイルのアプリケーションまたはappである。かかるアプリケーションは、JavaScript(登録商標)を用い、HTML、CSS、JavaScriptその他を含むウェブの技術で構成できる。ウェブサイトとは異なり、JavaScriptを用いるMetroスタイルのappは、ウェブサーバからページごとに展開されるのではなく、実行前に、ソフトウェアパッケージとして、ユーザによりそのユーザのマシン上にローカルにインストールされる。
また、コンピューティングデバイス102は、インストール済みアプリケーションストレージ118を含む。インストール済みアプリケーションストレージ118は、ローカルアプリケーションキャッシュ120と更新モジュール116とを含む。これらを、リモートアプリケーションコンテンツに関して用いて、コンピューティングデバイス102がオンラインである時、ローカルアプリケーションキャッシュ120を自動的に更新することができる。アプリケーションキャッシュ120は、データを記憶するのに用いられ得る一または複数のキャッシュを表す。データとは、例えば、オーディオ、ビデオ、スタイルシート、スクリプト、画像、ハイパーティストマークアップ言語(HTML)データなどの、ウェブサイトから取得されるリソースであり、インストール済みアプリケーション110に関して用いられるリソースの生成と表示に関わるものである。一または複数の実装では、対応するデータのソースが利用できない時、例えばデータを提供するウェブサーバ114がオフラインの時、ネットワーク接続が切れている時でも、アプリケーションキャッシュ120にアクセスしてもよい。このようにして、インストール済みアプリケーション110は、コンピューティングデバイス102にローカルに記憶されているコンテンツとリソースを、それがネットワーク接続を介して取得されたものであるかのように、利用でき、これによりシームレスなユーザ体験を提供できる。
一般的に、ここに説明する機能はどれも、ソフトウェア、ファームウェア、ハードウェア(例えば、固定的な論理回路)、またはこれらの組合せで実装できる。ここで用いる「モジュール」、「機能」及び「ロジック」との用語は、一般的に、ハードウェア、ソフトウェア、ファームウェア、ハードウェアまたはこれらの組み合わせを表す。ソフトウェア実装の場合、モジュール、機能、またはロジックは、プロセッサ(例えば、CPU)により実行された時、タスクを実行するプログラムコードを表す。プログラムコードは、一または複数のコンピュータ読み取り可能メモリデバイスに格納できる。下記の手法の特徴は、プラットフォームに依存しない。すなわち、これらの手法は様々なプロセッサを有する様々な商業的コンピューティングプラットフォームで実装し得る。
例えば、コンピューティングデバイス102は、例えば、プロセッサ、機能ブロックなどのそのコンピューティングデバイス102のハードウェアまたは仮想マシンに動作を実行させるエンティティ(例えば、ソフトウェア)を含んでいてもよい。例えば、コンピューティングデバイス102は、コンピューティングデバイスに、より具体的にはコンピューティングデバイス102のオペレーティングシステム及び関連ハードウェアに動作を実行させる命令を保持するように構成されたコンピュータ読み取り可能媒体を含んでもよい。このように、命令は、動作を実行するようにオペレーティングシステム及び関連ハードウェアを設定するように機能し、このようにオペレーティングシステム及び関連ハードウェアが機能を実行するように変換する。命令は、異なる様々な構成により、コンピュータ読み取り可能媒体によりコンピューティングデバイス102に提供される。
コンピュータ読み取り可能媒体のかかる一構成は、信号搬送媒体であり、ネットワークなどを介してコンピューティングデバイスに命令を(例えば、搬送波のように)伝送するように構成される。また、コンピュータ読み取り可能媒体は、コンピュータ読み取り可能記憶媒体として構成でき、信号搬送媒体ではない。コンピュータ読み取り可能記憶媒体の例には、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、光ディスク、フラッシュメモリ、ハードディスクメモリ、及びその他のメモリデバイスであって磁気、光、その他の技術を用いて命令その他のデータを記憶するものが含まれる。
ここに説明する手法が動作し得る環境例を説明したので、ここに説明する原理を利用できる幾つかの実施形態を説明する。
実施形態
図2は、以下の説明に関連して、図1の幾つかのコンポーネントを参照番号200で示す。
一または複数の実施形態では、インストール済みアプリケーション110は、アプリケーションキャッシュ115を利用し、より具体的には、ウェブ上にあり、ネットワーク112を介してアクセス可能であるアプリケーションキャッシュマニフェストファイル115aを利用して、インストール済みアプリケーションがオンラインで、及びオフラインでコンテンツを表示するのに用いる一セットのリソースを画定する。一または複数の実施形態では、これらのリソースは、アプリケーションが用いられる時に、またはアプリケーションマニフェストがサーバ上で更新されるときに最初にダウンロードされ、後で使用するため、アプリケーションキャッシュ120にローカルにキャッシュされる。ある実装では、アプリケーションキャッシュ115は、W3C HTML5 Application Cacheに準拠して実装される。しかし、言うまでもなく、本発明の主題の精神と範囲から逸脱することなく、他のキャッシュ実装を利用できる。
この例では、インストール可能アプリケーション110がインストールされ、リソースがダウンロードされキャッシュされると、次にインストールされたアプリケーションが使われ、リソースを使いたいと思うと、マニフェストファイル中の指定されたリソースが、コンピューティングデバイス102上のアプリケーションキャッシュ120からサービスされ、オンライン接続されていれば、更新モジュール116が、新しいリソースにアクセスして読み出すためにマニフェストファイル115aが更新されたかチェックする。
例えば、後で、インストール済みアプリケーション110とマニフェストファイル115aにより使用されるリソースを開発者が更新した時、インストール済みアプリケーション110は、更新モジュール116により、インストール後の最初の実行時にすぐ使う、または次に、アプリケーションが起動または再ロードされた時に、これらのリソースをダウンロードする。その後、エンドユーザがインストール済みアプリケーションにアクセスした時、アプリケーションキャッシュ120からの新しいリソースが使われる。これにより、インストール済みアプリケーション110は、アプリケーションを更新しなくても、オフラインで、新しいリソース(例えば、画像、サウンド、ビデオなど)を表示し操作できる。さらに、ユーザは、インストール済みアプリケーションを更新しなければならないことから開放され、幾つかの場合には、そのプロセスに関わらなくてすむ。
また、少なくとも幾つかの実施形態では、インストール可能アプリケーションのインストール中に、アプリケーションキャッシュマニフェストファイル115aは、最初のアプリケーション実行時に処理される、ウェブからのコンテンツのダウンロードを可能にするメカニズムとして機能できる。これにより、開発者は、アプリケーションキャッシュマニフェストファイル115aを、自分のインストール可能アプリケーションのあるタイプの設定ツールとして使える。
ここで図3を参照して実装例を考える。図3は、参照番号300で、一または複数の実施形態によるプロセス例を示す。
この例では、2つの別々のしかし関連したプロセスがある。アプリケーション展開プロセス302とアプリケーション実行プロセス304である。これらのプロセスは、コンピュータ読み取り可能記憶媒体などの、幾つかのタイプのコンピュータ読み取り可能媒体上にあるソフトウェアで実装できる。図示し説明する例では、各インストール可能アプリケーションは、対応するアプリケーションパッケージ306を有する。アプリケーションパッケージ306は、アプリケーションマニフェスト308と、インストール可能アプリケーションを含むウェブページ310などのマークラップ文書への参照とを含む。ウェブアプリケーションマニフェスト308は、例えば、リモートアプリケーションキャッシュマニフェストファイル115a(図1)のロケーションを指すURLなどの、リソース識別子を含むがこれに限定されない。ウェブページ310への参照は、インストール可能アプリケーションを含む対応ウェブページ(例えば、リソース)のそれぞれのロケーションを含む。
アプリケーションマニフェスト308中のリソース識別子により参照されるアプリケーションキャッシュマニフェストファイルは、アプリケーション展開プロセス302中に、初めてインストールされるすべてのリソースを読み出すのに利用される。したがって、「1」で示したように、展開プロセスにおいて、コンピューティングデバイスは、アプリケーションパッケージ306を取得し読み込む。「2」で示したように、アプリケーションマニフェスト308が読み込まれ、インストール可能アプリケーションにより利用されるすべてのリソースまたはウェブページをプリフェッチまたはダウンロードするために利用される。「3」で示したように、これらのリソースは、アプリケーションキャッシュ120に記憶される。次に説明するように、一旦アプリケーションキャッシュ120に記憶されると、アプリケーション実行プロセス304において、インストール可能またはインストール済みアプリケーションを、オンライン及びオフラインのシナリオで利用できる。
「4」で示すように、アプリケーション実行プロセス304において、インストール済みアプリケーションは、アプリケーションキャッシュ120を利用して、インストール済みアプリケーションにより利用されるローカルにキャッシュされたすべてのリソースを読み出す。また、「6」で示すように、ネットワーク接続がある場合、アプリケーション実行プロセス304は、更新済みアプリケーションマニフェスト308があるかチェックする。これは、例えば、ローカルアプリケーションキャッシュマニフェストファイルに関連するタイムスタンプ、またはアプリケーションキャッシュの内容の変化をチェックして、リモートに保持されたリモートアプリケーションキャッシュマニフェストファイル115a(図1)の値と同じか確認することにより行える。リモートアプリケーションキャッシュマニフェストファイルの更新バージョンがあれば、「6」で示したように、アプリケーション実行プロセス304は、更新バージョンをダウンロードして、関連リソースをダウンロードして、「4」で示したように、アプリケーションキャッシュ120に新しいバージョンを生成するために用いることができる。これらの新たに取得されたリソースは、インストール済みアプリケーションをさらに実行するのに用いることができる。
言うまでもなく、更新されたコンテンツのダウンロードは、個別リソースの粒度で行い得る。個別リソースは、例えば少し例を挙げれば、個別のウェブページ内のウェブページまたはリソース全体を含む。このように、更新されたコンテンツのダウンロードは、完全に新しいアプリケーションパッケージをダウンロードしなくてもよくなるように、行い得る。これにより、ネットワーク帯域幅の節約に役立ち、コンテンツのローカルな受信者にとって、例えば携帯電話キャリアにより課金される帯域幅使用量の節約となり、サーバ運営者にとって、出力コストの節約となる。
少なくとも幾つかの実施形態において、アプリケーション実行プロセス304により、インストール済みアプリケーションに対して、更新プロセスがいつ完了するか知らせるメッセージが送られる。少なくとも幾つかの実施形態において、アプリケーションは、ユーザに、この新しい情報を通知し、新たに更新されたキャッシュ中の新しいコード及びユーザインタフェース要素に切り替えることができる。切り替えが完了すると、インストール済みアプリケーションは、ダウンロードされた新しいリソースを自動的に用いることができる。これにより、少なくとも幾つかの実施形態において、ユーザは、リモートロケーションに物理的にナビゲーションしてアプリケーションストアなどを介して対応アプリケーションを更新しなくても、インストール済みアプリケーションとそのリソースの最新バージョンとインターラクトできる。すなわち、ユーザは、更新プロセスにまったく関与する必要がない。むしろ、更新プロセスは裏で自動的に行われ、多くの場合、新しくダウンロードされた、更新されたリソース、またはユーザインタフェースやユーザ機能の知覚可能要素が変わったことを通知されるまで、ユーザに気づかれない。これにより、インストール済みアプリケーションは、最新のコンテンツにアクセスでき、かかるコンテンツをオフラインシナリオで利用できるようにすることにより、ウェブサイトにより近い振る舞いをできる。
上記の通り、ダウンロードできるタイプのリソースに関して、それには、限定ではなく例示として、好適なタイプの媒体(例えば、オーディオビジュアルファイル)その他のリソースであってインストール済みアプリケーションにより利用されるものを含む。少なくとも幾つかの実施形態では、ダウンロードされるこれらのタイプのリソースは、限定ではなく例示として、セキュリティなどの様々な理由により、限定され得る。例えば、JavaScriptなどの実行可能スクリプトを含むリソースは、必ずしもダウンロードされなくてもよい。
上記の通り実施形態の例を検討したので、ここで、一または複数の実施形態による方法の例を検討する。
方法例
図4は、一または複数の実施形態による方法のステップを説明するフロー図である。本方法は、任意の好適なハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせに関連して実施できる。少なくとも幾つかの実施形態では、本方法は、コンピュータ読み取り可能記憶媒体に幾つかの形式で記憶されたソフトウェアで実装される。
ステップ400において、アプリケーションのインストールを開始する。このステップは任意の好適な方法で実行してもよい。例えば、ユーザは、アプリケーションに関連するウェブサイトにナビゲーションし、「インストール」リンクをクリックすることにより、アプリケーションインストールプロセスを開始する。代替的にまたは追加的に、アプリケーションはアプリケーションストアからインストールすることができる。図示し説明する実施形態では、アプリケーションがインストールされる時、リモートアプリケーションキャッシュ、例えばアプリケーションキャッシュ115(図1)がアクセスされ、アプリケーションキャッシュマニフェストが利用され、ダウンロードされる関連リソースが確認され、リソースがオンラインとオフラインの両方のシナリオで利用できるようにする。したがって、アプリケーションキャッシュマニフェストにアクセスし、ステップ402において、インストール済みアプリケーションに関連するリソースをダウンロードする。リソースをダウンロードすることにより、インストール済みアプリケーションは、インストール手順後、すぐにオフラインで利用可能になる。少なくとも幾つかの実施形態において、このステップは、標準のW3C HTML5 Application Cache実装を用いることにより、実行できる。具体的に、アプリケーションキャッシュマニフェスト内に、HTML5アプリケーションキャッシュマニフェストのURIを含むセクションがある。これは、図3において、一番上のHTML文に示した。開発において、インストールメカニズムは、このセクションを探し、HTML5アプリケーションキャッシュマニフェストの内容を用いてすべてのリソースにプリフェッチする。インストールメカニズムは、上記の通り、ローカルアプリケーションキャッシュストレージを生成し、これらのリソースをこのストレージに格納する。あるいは、幾つかの実施形態では、展開メカニズムに、インストールしたアプリケーションの開始ページからHTML5アプリケーションキャッシュURIを読み出して、図3の一番下のHTML文に示したように、同じプロセスを行う。
ステップ404において、インストール済みアプリケーションを実行する。インストール済みアプリケーションは、実行されると、ローカルアプリケーションキャッシュをレバレッジして、インストール済みアプリケーションにより利用されるリソースをすべて読み出す。また、ネットワーク接続がある場合、ステップ406において、更新されたアプリケーションキャッシュマニフェストがあることを確認する。ステップ408において、更新されたマニフェストがなければ、ステップ410において、前にダウンロードしたローカルリソースを用いて、インストール済みアプリケーションを実行する。一方、更新されたマニフェストがあれば、ステップ412において、アプリケーションを実行中に、更新されたリソースをダウンロードする。少なくとも幾つかの実施形態では、このステップは、HTML5アプリケーションキャッシュ機能を用いて、HTMLタグ属性中のURIにより指示されたマニフェストコンテンツが修正されているかチェックする。HTMLタグ属性の例は前述した。
ステップ414において、ダウンロードしたリソースを用いて、インストール済みアプリケーションをする。一または複数の実施形態では、これは、限定ではなく例示として、アプリケーションキャッシュの新しいバージョンの生成と、インストール済みアプリケーションにいつプロセスが完了するか通知するメッセージの送信とを含み得る。その後、少なくとも幾つかの実施形態では、アプリケーションはユーザにこの新しい情報を通知し、リソースに切り替える。切り替えが完了すると、ユーザは、インストール済みアプリケーション中の新しいリソースを自動的に用いることができる。これにより、ユーザは、上記の通り、その体験を少しも失わずに、インストール済みアプリケーションをオンラインまたはオフラインで実行できる。さらに、上記の通り、このプロセスは、ユーザに、アプリケーションストアから更新版をインストールするよう頼まなくても、実行できる。これにより、インストール済みアプリケーションが、オンラインまたはオフラインのシナリオで使える最新コンテンツにアクセスできるようにして、よりウェブサイトのように振る舞うことができる。
一または複数の実施形態による方法の例を検討したので、ここで、上記の実施形態を実装するのに利用できるシステム及びデバイスの例を検討する。
システム及び装置の例
図5は、図1を参照して説明するコンピューティングデバイス102を含むシステム500の一例を示す図である。例示のシステム500により、パーソナルコンピュータ(PC)、テレビジョン装置、及び/またはモバイル装置上でアプリケーションを実行した時に、シームレスなユーザ体験をできるユビキタス環境が可能となる。サービスとアプリケーションは、アプリケーションの利用、ビデオゲームのプレイ、ビデオの視聴などの際、一装置から次の装置に移行する時、共通のユーザ体験のために3つの環境すべてでほぼ同様に実行される。
システム例500において、複数の装置は中央コンピューティングデバイスにより相互接続されている。中央コンピューティング装置は複数の装置に対してローカルであっても、複数の装置からリモートに配置されていてもよい。一実施形態では、中央コンピューティング装置は、ネットワーク、インターネット、またはその他のデータ通信リンクにより複数の装置に接続された一または複数のサーバコンピュータのクラウドであり得る。一実施形態では、この相互接続アーキテクチャにより複数装置にまたがる機能は、その複数装置のユーザに共通かつシームレスの体験を提供できる。複数のデバイスのそれぞれは、異なる物理的要求と能力を有し、中央コンピューティングデバイスは、そのデバイスに、そのデバイスに合わせてあり、かつすべての装置に共通の体験を配信できる。一実施形態では、ターゲット装置のクラスが生成され、体験は一般的な装置のクラスに合わせられる。装置のクラスはその装置の物理的特徴、使用のタイプ、その他の共通の特徴により確定できる。
様々な実施形態において、コンピューティング装置102は、コンピュータ502、モバイル504及びテレビジョン506などの様々な異なる構成を使うものと仮定してもよい。これらの構成はそれぞれ、概して異なる構成と機能を有し、そのためコンピューティング装置102は、一または複数の異なる装置クラスにより構成され得る。例えば、コンピューティング装置102は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブックなどを含むコンピュータの装置クラス502として実施できる。これらの異なる構成のそれぞれは、上記のように、アプリケーション108、インストール済みアプリケーション110、HTMLレンダラ111、更新モジュール116及びアプリケーションキャッシュ120を含めて説明したように、ここに説明した手法を利用できる。図示して説明した実施形態では、アプリケーション108とインストール済みアプリケーション110は、HTMLレンダラ111の独立したホストである。
コンピューティング装置102は、携帯電話、携帯音楽プレーヤ、携帯ゲーム装置、タブレットコンピュータ、マルチスクリーンコンピュータなどのモバイル装置を含むモバイル装置クラス504として実施することもできる。コンピューティング装置102は、気軽な視聴環境で一般的には大きなスクリーンを有しまたは接続された装置を含むテレビジョン装置クラス506として実施してもよい。これらの装置は、テレビジョン、セットトップボックス、ゲームコンソールなどを含む。ここに説明した手法は、コンピューティング装置102のこれらの様々な構成によりサポートされ得るが、手法で説明する具体的な例には限定されない。
クラウド508は、コンテンツサービス512のプラットフォーム510を含む及び/または表す。プラットフォーム510は、基礎となるハードウェアの機能(例えば、サーバ)とクラウド508のソフトウェアリソースを抽象したものである。コンテンツサービス512は、コンピュータ処理がコンピューティング装置102とは離れたところにあるサーバ上で実行されている間に利用できるアプリケーション及び/またはデータを含み得る。コンテンツサービス512は、インターネット及び/または加入者ネットワーク、例えばセルらネットワークやWiFiネットワークを介してサービスとして提供できる。
プラットフォーム510は、コンピューティング装置102を他のコンピューティング装置と接続するリソースと機能を抽象化している。また、プラットフォーム510は、リソースのスケーリングを抽象するよう機能し、プラットフォーム510を介して実現されるコンテンツサービス512へのデマンドに対応するスケールのレベルを提供する。したがって、相互接続されたデバイスの実施形態では、ここに説明した機能の実装は、システム500を通して配信できる。例えば、これらの機能は、部分的にはコンピューティング装置102に実装され、またクラウド510の機能を抽象したプラットフォーム508を介して実装され得る。
図6は、ここに説明する手法の実施形態を実装する、図1、2及び5を参照して説明した任意のタイプのコンピュータデバイスとして実装できるデバイス例600の様々なコンポーネントを示す。デバイス600は、デバイスデータ602(例えば、受信データ、受信されるデータ、ブロードキャストされる予定のデータ、データのデータパケットなど)の有線及び/または無線通信を可能にする通信デバイス604を含む。デバイスデータ604その他のデバイスコンテンツは、デバイスの設定、デバイスに格納されたメディアコンテンツ、及び/またはデバイスのユーザに関連する情報を含み得る。デバイス600に格納されたメディアコンテンツは、任意のタイプのオーディオ、ビデオ、及び/または画像データを含み得る。デバイス600は、ユーザ選択可能入力、メッセージ、音楽、テレビジョンメディアコンテンツ、録画されたビデオコンテンツ、及び他の任意のタイプのオーディオ、ビデオ、及び/または任意のコンテンツ源及び/またはデータ源から受信した画像データなどの任意のタイプのデータ、メディアコンテンツ、及び/または入力を受信できる一または複数のデータ入力606を含む。
また、デバイス600は、シリアル及び/またはパラレルインタフェース、無線インタフェース、任意のタイプのネットワークインタフェース、モデム、及び他の任意のタイプの通信インタフェースのうちの一または複数として実装できる通信インタフェース608を含む。通信インタフェース608は、他のエレクトロニクス、コンピューティング、及び通信デバイスがデバイス600とデータを通信する、デバイス600と通信ネットワークとの間の接続及び/または通信リンクを提供する。
デバイス600は、様々なコンピュータ実行可能または読み取り可能命令を処理し、デバイス600の動作を制御し、上記の手法の実施形態を実施する(例えば、マイクロプロセッサ、コントローラなどの)一または複数のプロセッサ610を含む。代替的にまたは追加的に、デバイス600は、612で総称的に示した処理及び制御回路と共に実装できるハードウェア、ファームウェア、または固定ロジック回路のうちの一つまたは組み合わせで実装できる。図示していないが、デバイス600は、デバイス内の様々なコンポーネントを結合するシステムバスまたはデータ転送システムを含み得る。システムバスは、任意のバスアーキテクチャを利用するメモリバス、メモリコントローラ、ペリフェラルバス、ユニバーサルシリアルバス、及び/またはプロセッサまたはローカルバスなど、異なるバス構造のうちの一つまたはその組み合わせを含み得る。
また、デバイス600は、一または複数のメモリコンポーネントなどのコンピュータ読み取り可能媒体614を含む。その例には、ランダムアクセスメモリ(RAM)、不揮発性メモリ(例えば、一又は複数のリードオンリメモリ(ROM)、フラッシュメモリ、EPROM、EEPROMなど)が含まれる。ディスクストレージデバイスは、ハードディスクドライブ、記録可能及び/またはリライタブルコンパクトディスク(CD)、任意のタイプのデジタルバーサタイルディスク(DVD)などの任意のタイプの磁気または光記憶デバイスとして実施できる。また、デバイス600は、大規模記憶媒体デバイス616を含み得る。
コンピュータ読み取り可能媒体614は、デバイスデータ604及び様々なデバイスアプリケーション618及びデバイス600の動作態様に関連する他のタイプの情報及び/またはデータを記憶するデータ記憶メカニズムを提供する。例えば、オペレーティングシステム620は、コンピュータ読み取り可能媒体614でコンピュータアプリケーションとして維持でき、プロセッサ610上で実行できる。デバイスアプリケーション618は、デバイスマネージャ(例えば、制御アプリケーション、ソフトウェアアプリケーション、信号処理及び制御モジュール、あるデバイスに対してネイティブなコード、あるデバイスのハードウェア抽象化レイヤなど)を含み得る。また、デバイスアプリケーション618は、ここに説明する手法の実施形態を実装する任意のシステムコンポーネントまたはモジュールを含む。この例では、デバイスアプリケーション618は、ソフトウェアモジュール及び/またはコンピュータアプリケーションとして示されたインタフェースアプリケーション622と入出力モジュール624を含む。入出力モジュール624は、タッチスクリーン、トラックパッド、カメラ、マイクロホンなど、入力をキャプチャするように構成されたデバイスで、インタフェースを提供するのに用いられるソフトウェアを表す。代替的にまたは追加的に、インタフェースアプリケーション622と入出力モジュール624は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせとして実装できる。また、入出力モジュール624は、それぞれビジュアル入力とオーディオ入力をキャプチャするように構成されたデバイスなど、複数の入力デバイスをサポートしてもよい。
また、デバイス600は、オーディオシステム626にオーディオデータを提供する、及び/またはディスプレイシステム628にビデオデータを提供するオーディオ及び/またはビデオ入出力システム630を含む。オーディオシステム628及び/またはディスプレイシステム630は、オーディオ、ビデオ及び画像データを処理、表示、及び/またはレンダリングする任意のデバイスを含み得る。ビデオ信号とオーディオ信号は、デバイス600からオーディオデバイス及び/またはディスプレイデバイスに、RF(無線周波数)リンク、Sビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、DVI(デジタルビデオインタフェース)、アナログオーディオ接続、またはその他の同様な通信リンクを介して通信できる。一実施形態では、オーディオシステム628及び/またはディスプレイシステム630は、デバイス600の外部コンポーネントとして実装される。あるいは、オーディオシステム628及び/またはディスプレイシステム630は、デバイス600と一体のコンポーネントとして実装される。
結論
様々な実施形態では、ローカルクライアントマシン上で使うインストール済みアプリケーションが、ウェブ上にリモートにあるアプリケーションキャッシュマニフェストファイルを利用して、更新し、インストールされたアプリケーションがローカルクライアントマシン上に展開されてからオフラインで利用できるようにすべき様々なリソースを画定できる。ウェブ上でマニフェストファイルのコンテンツが更新されるたびに、インストールされたアプリケーションは、自分のローカルアプリケーションキャッシュリソースを自動的に更新し、インストールされたアプリケーションにこれらのリソースをオフラインで使わせる。これは、アプリケーションの新しい更新版をインストールせずに、更新されるコンテンツを取得するロケーションへユーザがナビゲーションする負担なく、行われる。
本発明を個別の構造的特徴及び/又は方法動作を用いて説明したが、言うまでもなく、添付した特許請求の範囲に規定する発明は、上記の特定の特徴や動作には必ずしも限定されない。むしろ、具体的な特徴や動作は、請求した発明を実施する形式例として開示したものである。

Claims (9)

  1. コンピュータにより実施される方法であって、
    ローカルコンピューティングデバイスにおける、ウェブブラウザ以外のアプリケーションとアプリケーションマニフェストのインストールを開始するステップと、
    前記アプリケーションのインストールが開始されたインストール済みアプリケーションに関連する前記アプリケーションマニフェストに関連するリソースをダウンロードするステップと、
    オンラインシナリオ及びオフラインシナリオで用いるため、ダウンロードしたリソースをアプリケーションキャッシュに記憶するステップと、
    リモートの更新されたアプリケーションキャッシュマニフェストの存在を確認するステップと、
    前記リモートの更新されたアプリケーションキャッシュマニフェストを用いて、前記インストール済みアプリケーションに対して、更新されたリソースをダウンロードするステップと、
    ダウンロードされたリソースを用いて前記インストール済みアプリケーションを実行するステップとを有する、方法。
  2. リソースをダウンロードするステップは、W3C HTML5アプリケーションキャッシュ実装を用いるステップを含む、請求項1に記載の方法。
  3. ダウンロードするステップは、アプリケーションマニフェスト中のURIにより指示されるアプリケーションキャッシュマニフェストファイルを用いるステップを含む、請求項1に記載の方法。
  4. 前記リソースは、オンライン及びオフラインのシナリオで用いられるよう構成された、
    請求項1に記載の方法。
  5. リソースをダウンロードするステップは、一または複数のマークアップ文書をダウンロードするステップを含む、
    請求項1に記載の方法。
  6. リソースをダウンロードするステップは、個々のマークアップ文書をレンダリングするのに利用されるリソースをダウンロードするステップを含む、請求項1に記載の方法。
  7. 前記インストール済みアプリケーションに関連するリソースをダウンロードするステップと、更新されたリソースをダウンロードするステップは、前記リソースを取得する一ロケーションに、関連ユーザにナビゲーションさせることなく、実行される、請求項1に記載の方法。
  8. コンピュータに、
    アプリケーション展開プロセスであって:
    関連するインストール可能アプリケーションにより利用されるリソースをダウンロードするのに利用されるアプリケーションマニフェストを含むインストール可能アプリケーションパッケージを取得し、読み出し、
    オンライン及びオフラインのシナリオで使用するためアプリケーションキャッシュにダウンロードされたリソースを格納するように構成されたアプリケーション展開プロセスと、
    アプリケーション実行プロセスであって:
    前記アプリケーションキャッシュを利用して、インストールされるアプリケーションにより利用されるリソースを読み出し、
    リモートにある更新されたアプリケーションマニフェストをチェックし、
    前記更新されたアプリケーションマニフェストを用いて関連リソースをダウンロードし、
    前記アプリケーションキャッシュを前記ダウンロードされた関連リソースで更新し、
    前記インストールされるアプリケーションの実行のために前記ダウンロードされた関連リソースを使用できるようにするように構成され、
    前記インストールされるアプリケーションは、ウェブブラウザ以外のアプリケーションを含む、
    アプリケーション実行プロセスとを実行させるコンピュータプログラム。
  9. 前記アプリケーション展開プロセスとアプリケーション実行プロセスは、W3C HTML5アプリケーションキャッシュを利用するように構成された、
    請求項8に記載のコンピュータプログラム。
JP2014557728A 2012-02-16 2013-02-13 インストールされたアプリケーションのリソースを更新するためのアプリケーションキャッシュの利用 Expired - Fee Related JP6253110B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/398,321 US20130219383A1 (en) 2012-02-16 2012-02-16 Using an Application Cache to Update Resources of Installed Applications
US13/398,321 2012-02-16
PCT/US2013/025795 WO2013122965A1 (en) 2012-02-16 2013-02-13 Using an application cache to update resources of installed applications

Publications (3)

Publication Number Publication Date
JP2015513726A JP2015513726A (ja) 2015-05-14
JP2015513726A5 JP2015513726A5 (ja) 2016-03-10
JP6253110B2 true JP6253110B2 (ja) 2017-12-27

Family

ID=48983370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014557728A Expired - Fee Related JP6253110B2 (ja) 2012-02-16 2013-02-13 インストールされたアプリケーションのリソースを更新するためのアプリケーションキャッシュの利用

Country Status (6)

Country Link
US (1) US20130219383A1 (ja)
EP (1) EP2815311B1 (ja)
JP (1) JP6253110B2 (ja)
KR (1) KR20140126328A (ja)
CN (1) CN104106048B (ja)
WO (1) WO2013122965A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812451B2 (en) * 2009-03-11 2014-08-19 Microsoft Corporation Programming model for synchronizing browser caches across devices and web services
US8650550B2 (en) * 2011-06-07 2014-02-11 Blackberry Limited Methods and devices for controlling access to computing resources
US9053337B2 (en) 2011-06-07 2015-06-09 Blackberry Limited Methods and devices for controlling access to a computing resource by applications executable on a computing device
US9582603B1 (en) 2012-02-27 2017-02-28 Amazon Technologies, Inc. Managing preloading of data on client systems
SG194245A1 (en) * 2012-04-17 2013-11-29 ZingMobile Pte Ltd A method for real-time synchronization between a device and host servers
US9489193B2 (en) 2012-05-01 2016-11-08 Sophos Limited Method and system for providing software updates to local machines
US9043469B2 (en) * 2012-06-29 2015-05-26 International Business Machines Corporation Cache control for web application resources
US9736121B2 (en) * 2012-07-16 2017-08-15 Owl Cyber Defense Solutions, Llc File manifest filter for unidirectional transfer of files
US9128792B2 (en) * 2012-09-28 2015-09-08 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US9253279B2 (en) * 2012-11-06 2016-02-02 International Business Machines Corporation Preemptive caching of data
US20140228014A1 (en) * 2013-02-12 2014-08-14 Mistral Mfs Oy Method, System and Computer Program for Remotely Configurable Mobile Application
US20140289609A1 (en) * 2013-03-20 2014-09-25 Tencent Technology (Shenzhen) Company Limited Method For Implementing Off-Line Application and Apparatus Therefor
US10195520B1 (en) * 2013-05-14 2019-02-05 Take-Two Interactive Software, Inc. System and method for network gaming architecture
GB2516009A (en) * 2013-07-01 2015-01-14 Muntedhar Sahib Alhakim Automated software deployment management
KR101525519B1 (ko) * 2013-11-21 2015-06-03 (주)판도라티비 Html5를 기반으로 하는 오프라인상에서의 웹브라우징 방법
US9400643B2 (en) 2014-03-03 2016-07-26 Google Inc. Methods and systems for updating components on a computing device
JP6385157B2 (ja) * 2014-04-25 2018-09-05 キヤノン株式会社 情報処理端末、制御方法及びプログラム
US9672026B2 (en) 2014-07-21 2017-06-06 Xiaomi Inc. Light app offline updating method, device and terminal
US9880824B2 (en) 2015-06-05 2018-01-30 Apple Inc. On demand resources
US10447812B2 (en) 2015-06-05 2019-10-15 Apple Inc. On demand resources
CN107666459B (zh) * 2016-07-27 2020-10-16 阿里巴巴(中国)有限公司 应用缓存校验方法和装置以及计算设备
CN108287758A (zh) * 2017-01-09 2018-07-17 阿里巴巴集团控股有限公司 一种应用资源管理方法、使用方法及装置
GB2567665B (en) * 2017-10-19 2022-06-22 Arm Ip Ltd Asset update service
CN108600382A (zh) * 2018-04-28 2018-09-28 广州联欣信息科技有限公司 一种在网络离线时app内容缓存的方法和计算机可读存储介质
KR102256249B1 (ko) * 2018-08-16 2021-05-26 경희대학교 산학협력단 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
CN109358873A (zh) * 2018-09-25 2019-02-19 平安普惠企业管理有限公司 一种应用程序更新方法、存储介质和终端设备
EP3754486B1 (en) * 2019-06-20 2024-04-10 BlackBerry Limited Selectively installing applications based on manifest files
CN110377360A (zh) * 2019-07-12 2019-10-25 深圳市酷开网络科技有限公司 webview快速加载的方法、显示终端及计算机可读存储介质
US20220236998A1 (en) * 2021-01-27 2022-07-28 Salesforce.Com, Inc. Systems and methods for bootstrap management

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL121815A (en) * 1997-09-22 2000-09-28 Security 7 Software Ltd Method and system for the identification and the suppression of executable objects
US6182045B1 (en) * 1998-11-02 2001-01-30 Nortel Networks Corporation Universal access to audio maintenance for IVR systems using internet technology
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
US7305475B2 (en) * 1999-10-12 2007-12-04 Webmd Health System and method for enabling a client application to operate offline from a server
US7275105B2 (en) * 2002-01-16 2007-09-25 Laszlo Systems, Inc. Enabling online and offline operation
US8316361B2 (en) * 2003-01-09 2012-11-20 Hewlett-Packard Development Company, L.P. Method of enabling a user to update one or more low-level resources of a computer system in a user-friendly manner
EP1618482A2 (en) * 2003-05-01 2006-01-25 Long, Jim Network meeting system
US7395534B2 (en) * 2003-05-22 2008-07-01 Microsoft Corporation System and method for progressively installing a software application
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
US8271774B1 (en) * 2003-08-11 2012-09-18 Symantec Corporation Circumstantial blocking of incoming network traffic containing code
US20050091107A1 (en) * 2003-10-22 2005-04-28 Scott Blum Media player and access system and method and media player operating system architecture
US8930944B2 (en) * 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
US7353454B2 (en) * 2004-05-21 2008-04-01 International Business Machines Corporation Web based device management and monitoring interface
US20060148462A1 (en) * 2004-10-14 2006-07-06 Xiongwei Zhu Customizable mobile phone using at command
JP4405939B2 (ja) * 2005-05-18 2010-01-27 キヤノン株式会社 画像処理装置とその制御方法および画像処理システム
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
US20080313628A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Metrics pack distribution for data reporting tool
US9483255B2 (en) * 2008-03-04 2016-11-01 Telefonaktiebolaget Lm Ericsson (Publ) Application resource updates
US20100318967A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Supplementary deployment actions
US8386718B2 (en) * 2009-11-18 2013-02-26 Research In Motion Limited Method and apparatus for managing application data in a shared cache of a mobile electronic device
EP2383645B1 (en) * 2010-04-30 2015-03-04 BlackBerry Limited Method and device for application installation to multiple memory components
US8800050B2 (en) * 2010-11-09 2014-08-05 Microsoft Corporation Security system for computing resources pre-releases
JP5686046B2 (ja) * 2011-03-31 2015-03-18 富士通株式会社 アプリ提供システム、アプリ提供方法及びアプリ提供プログラム
US10136097B2 (en) * 2012-02-02 2018-11-20 Apple Inc. Digital camera raw image support

Also Published As

Publication number Publication date
KR20140126328A (ko) 2014-10-30
EP2815311A4 (en) 2015-08-26
EP2815311A1 (en) 2014-12-24
EP2815311B1 (en) 2019-03-27
WO2013122965A1 (en) 2013-08-22
US20130219383A1 (en) 2013-08-22
CN104106048B (zh) 2018-07-06
JP2015513726A (ja) 2015-05-14
CN104106048A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
JP6253110B2 (ja) インストールされたアプリケーションのリソースを更新するためのアプリケーションキャッシュの利用
US9832253B2 (en) Content pre-render and pre-fetch techniques
EP3734449B1 (en) Systems and methods for integration of an application runtime environment into a user computing environment
US9807081B2 (en) Live tiles without application-code execution
WO2017206626A1 (zh) 网络资源访问设备、混合设备及方法
US8856685B2 (en) Method and system for providing web content on a mobile device
JP2015512540A (ja) インスタンス化可能なジェスチャオブジェクト
CN108416021B (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
US10037215B2 (en) Method and apparatus for interworking application and web browser
US20130151937A1 (en) Selective image loading in mobile browsers
CN105324753A (zh) 调用来自web页面或其他应用的应用
AU2016202576B2 (en) Techniques for evaluating applications through use of an auxiliary application
EP3298756B1 (en) Interfacing with servers having different apis to obtain advertisement data
JP2009259124A (ja) アプリケーション更新情報提供システム、及びアプリケーション更新情報提供方法
CN110618811B (zh) 信息呈现方法和装置
JP2017216492A (ja) データ送受信方法、データ送信方法及びサーバ装置
US20140313215A1 (en) Scene-isolated internet application
WO2016127888A1 (zh) 一种多媒体文件下载的方法与装置
US20130132467A1 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
US20130339469A1 (en) Self-replenishing caches
TWI669614B (zh) 電子裝置與其離線更新程式的方法
CN113992645B (zh) 一种请求处理方法、装置、电子设备及存储介质
KR20150049450A (ko) 동적 링크 제공 방법 및 이를 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP2020030447A (ja) サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
JP2009169953A (ja) ウェブランチングシステム及びウェブランチング方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171024

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171122

R150 Certificate of patent or registration of utility model

Ref document number: 6253110

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees