(57)【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサ、システムメモリ、及びウェブブラウザを含むコンピュータシステムにおいて、ウェブサイトについての代替ユーザエクスペリエンスを発見する方法であって、前記方法は、
ウェブサイトに、コンテンツ要求を提示する動作と、
前記ウェブサイトから前記コンテンツ要求に応じた応答コンテンツを受信する動作と、
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断する動作であって、前記アプリケーションマニフェストは、前記ウェブサイトが提供するコンテンツにアクセスするよう構成された１つまたは複数の代替アプリケーションをリストアップしている、判断する動作と、
前記応答コンテンツが前記アプリケーションマニフェストへのリンクを含むと判断するのに応じて、前記ウェブサイトが代替アプリケーションエクスペリエンスを含むことを前記ウェブブラウザにおいて示す動作と、
前記アプリケーションマニフェストにリストアップされた前記代替アプリケーションエクスペリエンスを保持したいというユーザ願望についてのユーザ指示を受信する動作と、
前記ユーザ指示に応じて、前記コンピュータシステムへ、前記代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードする動作と、
前記ダウンロードされたコンポーネントを前記コンピュータシステムにおけるキャッシュに入れて次の使用のために前記代替アプリケーションエクスペリエンスを保持する動作と、
前記コンピュータシステムにおいて代替アプリケーションセンタを介して前記代替ユーザエクスペリエンスが利用可能であることを示す動作であって、前記代替アプリケーションセンタは、異なったウェブサイトについての代替アプリケーションエクスペリエンスにアクセスするための共通の場所を提供する、示す動作と
を含むことを特徴とする方法。
【請求項２】
前記ウェブサイトから前記コンテンツ要求に応じた応答コンテンツを受信する動作は、ＨＴＭＬドキュメントを受信する動作を含み、前記ＨＴＭＬドキュメントは、ヘッダ及び本文を含み、前記ヘッダは、前記アプリケーションマニフェストへのリンクを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断する動作は、前記リンクがＨＴＭＬヘッダに含まれているかどうかを判断する動作を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断する動作は、前記リンクが前記アプリケーションマニフェストにアクセスするためのＵＲＬを含むかどうかを判断する動作を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードする動作は、前記ＵＲＬを前記ウェブサイトに提示する動作を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードする動作は、前記アプリケーションマニフェストをダウンロードする動作を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ウェブサイトが代替アプリケーションエクスペリエンスを含むことを示す動作は、前記ウェブブラウザのユーザインタフェース制御部を点灯する動作を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ダウンロードされたコンポーネントをキャッシュに入れることに続いて前記ダウンロードされたコンポーネントを更新し、前記ユーザが利用できる代替ユーザエクスペリエンスの更新されたバージョンを作成する動作を更に含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記代替アプリケーションセンタを開くためのユーザ入力を受信する動作と、
前記ユーザが利用できる利用可能な代替アプリケーションを示す動作と、
前記示された利用可能な代替アプリケーションのうちの１つについてのユーザ選択を受信する動作と、
前記代替アプリケーションについてのキャッシュに入れられたコンポーネントにアクセスして使用のために前記代替アプリケーションを起動する動作と、
前記代替アプリケーションが前記ウェブサイトにコンテンツ要求を提示する動作と、
前記代替アプリケーションが前記コンテンツ要求に応じて前記ウェブサイトからのコンテンツを受信する動作と、
前記代替アプリケーションにおいて前記受信されたコンテンツを示す動作と
を更に含むことを特徴とする請求項１に記載の方法。
【請求項１０】
１つまたは複数のプロセッサ、システムメモリ、及びウェブブラウザを含むコンピュータシステムに、ウェブサイトについての代替ユーザエクスペリエンスを発見する方法を実行させるコンピュータ実行可能命令を有する１つまたは複数のコンピュータ可読記憶媒体であって、前記方法は、
ウェブサイトに、コンテンツ要求を提示するステップと、
前記ウェブサイトから前記コンテンツ要求に応じた応答コンテンツを受信するステップと、
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断するステップであって、前記アプリケーションマニフェストは、前記ウェブサイトが提供するコンテンツにアクセスするよう構成された１つまたは複数の代替アプリケーションをリストアップしている、判断するステップと、
前記応答コンテンツが前記アプリケーションマニフェストへのリンクを含むと判断するのに応じて、前記ウェブサイトが代替アプリケーションエクスペリエンスを含むことを前記ウェブブラウザにおいて示すステップと、
前記アプリケーションマニフェストにリストアップされた前記代替アプリケーションエクスペリエンスを保持したいというユーザ願望についてのユーザ指示を受信するステップと、
前記ユーザ指示に応じて、前記コンピュータシステムへ、前記代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードするステップと、
前記ダウンロードされたコンポーネントを前記コンピュータシステムにおけるキャッシュに入れて次の使用のために前記代替アプリケーションエクスペリエンスを保持するステップと、
前記コンピュータシステムにおいて代替アプリケーションセンタを介して前記代替ユーザエクスペリエンスが利用可能であることを示すステップであって、前記代替アプリケーションセンタは、異なったウェブサイトについての代替アプリケーションエクスペリエンスにアクセスするための共通の場所を提供する、示すステップと
を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１１】
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断するステップは、前記リンクがＨＴＭＬヘッダに含まれているかどうかを判断するステップを含むことを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断するステップは、前記リンクが前記アプリケーションマニフェストにアクセスするためのＵＲＬを含むかどうかを判断するステップを含むことを特徴とする請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記方法は、前記ダウンロードされたコンポーネントをキャッシュに入れることに続いて前記ダウンロードされたコンポーネントを更新し、前記ユーザが利用できる代替ユーザエクスペリエンスの更新されたバージョンを作成するステップを更に含むことを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記方法は、
前記代替アプリケーションセンタを開くためのユーザ入力を受信するステップと、
前記ユーザが利用できる利用可能な代替アプリケーションを示すステップと、
前記示された利用可能な代替アプリケーションのうちの１つについてのユーザ選択を受信するステップと、
前記代替アプリケーションについてのキャッシュに入れられたコンポーネントにアクセスして使用のために前記代替アプリケーションを起動するステップと、
前記ウェブサイトにコンテンツ要求を提示するステップと、
前記コンテンツ要求に応じて前記ウェブサイトからのコンテンツを受信するステップと、
前記代替アプリケーションにおいて前記受信されたコンテンツを示すステップと
を更に含むことを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１５】
ウェブブラウザコンピュータシステム及びウェブサーバコンピュータシステムを含む分散コンピュータシステムであって、前記ウェブブラウザコンピュータシステムは、
１つまたは複数のプロセッサと、
システムメモリと、
コンピュータ実行可能命令を有する１つまたは複数のコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が前記ウェブブラウザコンピュータシステムに実行させる方法は、
ウェブサイトにコンテンツ要求を提示するステップと、
前記ウェブサイトから前記コンテンツ要求に応じた応答コンテンツを受信するステップと、
前記応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断するステップであって、前記アプリケーションマニフェストは、前記ウェブサイトが提供するコンテンツにアクセスするよう構成された１つまたは複数の代替アプリケーションをリストアップしている、判断するステップと、
前記応答コンテンツが前記アプリケーションマニフェストへのリンクを含むと判断するのに応じて、前記ウェブサイトが代替アプリケーションエクスペリエンスを含むことを前記ウェブブラウザにおいて示すステップと、
前記アプリケーションマニフェストにリストアップされた前記代替アプリケーションエクスペリエンスを保持したいというユーザ願望についてのユーザ指示を受信するステップと、
前記ユーザ指示に応じて、前記コンピュータシステムへ、前記代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードするステップと、
前記ダウンロードされたコンポーネントを前記コンピュータシステムにおけるキャッシュに入れて次の使用のために前記代替アプリケーションエクスペリエンスを保持するステップと、
前記コンピュータシステムにおいて代替アプリケーションセンタを介して前記代替ユーザエクスペリエンスが利用可能であることを示すステップであって、前記代替アプリケーションセンタは、異なったウェブサイトについての代替アプリケーションエクスペリエンスにアクセスするための共通の場所を提供する、示すステップと、
前記代替アプリケーションセンタを開くためのユーザ入力を受信するステップと、
前記ユーザが利用できる利用可能な代替アプリケーションを示すステップと、
前記示された利用可能な代替アプリケーションのうちの１つについてのユーザの選択を受信するステップと、
前記代替アプリケーションについてのキャッシュに入れられたコンポーネントにアクセスして使用のために前記代替アプリケーションを起動するステップと、
前記ウェブサイトにコンテンツ要求を提示するステップと、
前記コンテンツ要求に応じて前記ウェブサイトからのコンテンツを受信するステップと、
前記代替アプリケーションにおいて前記受信されたコンテンツを示すステップと
を含む、コンピュータ可読記憶媒体と
を含み、
前記ウェブサーバコンピュータシステムは、
１つまたは複数のプロセッサと、
システムメモリと、
コンピュータ実行可能命令を有する１つまたは複数のコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が前記ウェブサーバコンピュータシステムに実行させる方法は、
前記ウェブサイト対するコンテンツの配信を管理するステップと、
前記ウェブブラウザコンピュータシステムからの前記ウェブサイトへ向けた前記コンテンツ要求に応答するステップと、
前記コンテンツ要求に応じて返されたメッセージ内に前記代替アプリケーションについての前記アプリケーションマニフェストへのリンクを埋め込むステップと、
前記ウェブブラウザコンピュータシステムにおいて前記代替アプリケーションを起動するためのキャッシュに入れることができるコンポーネントを提供するステップと、
前記ウェブブラウザコンピュータシステムとの通信が検出されると、前記ウェブブラウザコンピュータシステムで前記代替アプリケーションを起動するための前記キャッシュに入れられたコンポーネントを更新するステップと
を含む、コンピュータ可読記憶媒体と
を含むことを特徴とする分散コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサイトについての代替ユーザエクスペリエンスを発見する方法に関する。
【背景技術】
【０００２】
コンピュータシステム及び関連技術は、社会の多くの側面に影響を与える。実際、情報を処理するコンピュータシステムの能力は、我々が生活し仕事をする方法を変えた。コンピュータシステムは、現在では一般に、コンピュータシステムの出現前に手作業で行なわれた多くの作業（例えば、文書処理、スケジューリング、会計等）を行なう。最近は、コンピュータシステムは、互いにかつ他の電子装置に接続されていて、コンピュータシステム及び他の電子装置が電子データを転送することができる無線及び有線のコンピュータネットワークを形成する。従って、多くのコンピュータ作業は、多くの異なったコンピュータシステム及び／または多くの異なるコンピュータ環境に分散されて実行される。
【０００３】
例えば、インターネット上で、コンピュータシステムは、クライアント／サーバ構成で動作することが多い。ウェブブラウザを含むコンピュータシステムが、ウェブサーバを含む別のコンピュータシステムにデータを要求する。ウェブブラウザとウェブサーバとの間の通信は、通常、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）を用いることによって容易になる。ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）は、インターネット及びワールドワイドウェブ（「ＷＷＷ」）上で情報を転送するための通信プロトコルである。ＨＴＴＰは、要求／応答（または同期）プロトコルである。ウェブブラウザは、ＵＲＬ（「Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ」）を提示することによって情報を要求し、ＵＲＬで特定されたウェブサイトは、ウェブブラウザにコンテンツ（通常、「ＨＴＭＬ」（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ））を返す。次に、ウェブブラウザは、例えば、ビデオ出力デバイス及び／またはオーディオ出力デバイスなどを介して、提示するためにコンテンツを解釈する。
【０００４】
通常のＷＥＢについての体験（ウェブエクスペリエンス）は、適切に設定されたウェブブラウザを有するいずれかのコンピュータシステムがウェブサイトからコンテンツにアクセスすることができるという点で利点を有している。即ち、ウェブブラウザは、シンクライアント（ｔｈｉｎ  ｃｌｉｅｎｔ）として本質的に機能し、コンテンツにアクセスして提示するための少数の明確に定義されたメカニズムを提供する。ウェブサーバは、ウェブブラウザの要求に応じて、処理の全てを仮想的に行って、ウェブブラウザで提示するための適当なフォーマット（例えば、ＨＴＭＬ）のデータを得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
残念なことに、このクライアント／サーバ構成はまた、多くの不利な点を有する。例えば、アプリケーションとの全てのインタラクション（対話）は、ウェブサーバを経るよう義務づけられている。結果として、データ（例えば、ＵＲＬ）は、サーバに送信され、サーバが応答し、他のデータ（例えば、ウェブページ）はウェブブラウザでリロードされる。よって、通常のウェブブラウザの動作は、例えば、ウェブサイトコンテンツを表示することができる時を限定するなどのユーザインタラクションについての同期（時々遅い）ループをもたらす。
【０００６】
更に、コンテンツにアクセスして提示するためのウェブブラウザの少数の明確に定義されたメカニズムは、コンテンツを提示することができる方法及びどのような種類のコンテンツを提示できるかを限定する。例えば、ほとんどのウェブブラウザは、ＨＴＭＬデータ以外の何かを提示するようもともと設定されていない。スクリプトの使用は、ある程度、ウェブブラウザの提示能力を向上させることができる。しかしながら、データ提示は、やはりウェブブラウザ内で起こり、ウェブブラウザ環境に限られている。
【０００７】
「ＲＩＡ」（Ｒｉｃｈ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎ）と称されることが多い様々なアプリケーションは、インターネットベースのコンテンツ（ウェブブラウザ以外のこともある）にアクセスして提示するための拡張機能または向上された機能を提供することができる。ＲＩＡは、ウェブブラウザとウェブサーバとの間の、クライアントエンジンと称される場合がある中間ソフトウェア層を利用して、ウェブブラウザの制限を回避する。ＲＩＡは、ユーザインタフェースのいくつかの面を改善するかまたは様々なユーザインタラクションを処理する場合に（例えば、標準のウェブブラウザ実施例と比べて）その応答性を向上させると設計者が信じるいずれかのアプリケーション機能を仮想的に実行するようプログラムすることができる。例えば、ＲＩＡは、ＨＴＭＬを介して得られない拡張ユーザインタフェース挙動、強化された応答性、クライアント／サーバ作業負荷バランス、非同期通信（即ち、通信をユーザがきっかけとなる応答／返答なしで起こすことができる）及びネットワーク効率性などの利点を提供することができる。
【０００８】
ＲＩＡは、実行（例えば、．ｅｘｅ）ファイル、インストールパッケージ（例えば、．ｍｓｉ）、またはＺＩＰファイルインストールパッケージであってもよい。残念なことに、ＲＩＡにアクセスすることまたはＲＩＡを知るようになることは、異なったウェブサイト同士の間で異なっているかもしれない。例えば、ユーザは通常、特定のウェブサイトまたはアプリケーションのアプリケーション特有のＨＴＭＬユーザインタフェースを読み出してＲＩＡへのリンクを特定しなければならない。次にユーザは、ＨＴＭＬページ上の特定のボタンまたはリンクをクリックして、ＲＩＡのダウンロード及び／またはインストールを作動する。  
【課題を解決するための手段】
【０００９】
本発明は、ウェブサイトについての代替ユーザエクスペリエンスを発見するための方法、システム及びコンピュータプログラム製品に及ぶ。ウェブブラウザは、ウェブサイトにコンテンツ要求を提示する。ウェブブラウザは、ウェブサイトから要求に応じた応答コンテンツを受信する。ウェブブラウザは、応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断する。アプリケーションマニフェストは、ウェブサイトからコンテンツにアクセスするよう設定された１つまたは複数の代替アプリケーションをリストアップしている。
【００１０】
ウェブブラウザは、ウェブサイトが代替アプリケーションエクスペリエンスを含むことを（例えば、ユーザインタフェース要素を介して）示す。該指示は、応答コンテンツがアプリケーションマニフェストへのリンクを含むと判断するのに応じて示される。ウェブブラウザは、アプリケーションマニフェストにリストアップされた代替アプリケーションエクスペリエンスを保持したいというユーザ願望についてのユーザ指示を受信する。ウェブブラウザは、ユーザ指示に応じてコンピュータシステムへ代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードする。
【００１１】
ウェブブラウザは、コンピュータシステムでダウンロードされたコンポーネントをキャッシュに入れて、次の使用のために代替アプリケーションエクスペリエンスを保持する。ウェブブラウザは、代替ユーザエクスペリエンスを代替アプリケーションセンタを介して利用できることを示す。代替アプリケーションセンタは、異なったウェブサイトについての代替アプリケーションエクスペリエンスにアクセスするための共通の場所を提供する。
【００１２】
この概要は、詳細な説明で更に後述される簡略化された形式の概念の選択を導くために提供される。この概要は、請求された本発明の重要な特徴または基本的な特徴を識別することを意図していないし、請求された本発明の範囲を決定する際の助けとして用いられることも意図していない。
【００１３】
本発明の追加の特徴及び利点は、あとに続く詳細な説明に記載されており、該詳細な説明から一部が明らかになるかまたは本発明の実施によって理解することができる。本発明の特徴及び利点は、添付の特許請求の範囲において特に指摘される機器及び該機器の組み合わせを用いて実現しかつ得ることができる。本発明のこれらの特徴及び他の特徴は、以下の詳細な説明及び添付の特許請求の範囲からさらに十分に明らかになるか、または以後に記載されるような本発明の実施例で理解することができる。
【００１４】
本発明の上記の利点及び特徴並びに他の利点及び特徴を得ることができる方法を説明するために、上記に簡単に説明された本発明のより具体的な説明は、添付の図面に示されるこれらの特定の実施形態を参照して示される。これらの図面は本発明の代表的な実施形態だけを表していて、従って、その範囲を限定すると見なされるべきではないということを理解すると、本発明は、添付の図面を用いて追加の特異性及び詳細によって述べられかつ説明することができる。
【図面の簡単な説明】
【００１５】
【図１Ａ】ウェブサイトについての代替ユーザエクスペリエンスの発見を容易にする例示的なコンピュータアーキテクチャを示す図である。
【図１Ｂ】ウェブサイトについての代替ユーザエクスペリエンスの起動を容易にする例示的なコンピュータアーキテクチャを示す図である。
【図２】ウェブサイトについての代替ユーザエクスペリエンスを発見する例示的な方法のフローチャートである。
【図３】ウェブサイトについての代替ユーザエクスペリエンスを保存するためのウェブブラウザユーザインタフェースの一部を示す図である。
【図４Ａ】ウェブサイトについての代替ユーザエクスペリエンスにアクセスして起動するためのユーザインタフェースの一部を示す図である。
【図４Ｂ】ウェブサイトについての代替ユーザエクスペリエンスにアクセスして起動するためのユーザインタフェースの一部を示す図である。
【発明を実施するための形態】
【００１６】
本発明は、ウェブサイトについての代替ユーザエクスペリエンスを発見するための方法、システム及びコンピュータプログラム製品に及ぶ。ウェブブラウザは、ウェブサイトにコンテンツ要求を提示する。ウェブブラウザは、ウェブサイトから要求に応じて応答コンテンツを受信する。ウェブブラウザは、応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断する。アプリケーションマニフェストは、ウェブサイトからコンテンツにアクセスするよう構成された１つまたは複数の代替アプリケーションをリストアップしている。
【００１７】
ウェブブラウザは、ウェブサイトが代替アプリケーションエクスペリエンスを含むことを（例えば、ユーザインタフェース要素を介して）示す。該指示は、応答コンテンツがアプリケーションマニフェストへのリンクを含むと判断するのに応じて示される。ウェブブラウザは、アプリケーションマニフェストにリストアップされた代替アプリケーションエクスペリエンスを保持したいというユーザ願望についてのユーザ指示を受信する。ウェブブラウザは、ユーザ指示に応じてコンピュータシステムへ代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードする。
【００１８】
ウェブブラウザは、コンピュータシステムでダウンロードされたコンポーネントをキャッシュに入れて、次の使用のために代替アプリケーションエクスペリエンスを保持する。ウェブブラウザは、代替ユーザエクスペリエンスを代替アプリケーションセンタを介して利用できることを示す。代替アプリケーションセンタは、異なったウェブサイトについての代替アプリケーションエクスペリエンスにアクセスするための共通の場所を提供する。
【００１９】
本発明の実施形態は、更に詳細に以下で検討されるように、コンピュータハードウェアを含む専用コンピュータまたは汎用コンピュータを含むかまたは利用することができる。本発明の範囲内にある実施形態はまた、コンピュータ実行可能命令及び／またはコンピュータ実行可能データ構造を送信または格納するための物理的コンピュータ可読媒体及び他のコンピュータ可読媒体を含む。かかるコンピュータ可読媒体は、汎用コンピュータシステムまたは専用コンピュータシステムがアクセスすることができるいかなる利用可能な媒体であってもよい。コンピュータ実行可能命令を格納するコンピュータ可読媒体は、物理的記憶媒体である。コンピュータ実行可能命令を送信するコンピュータ可読媒体は、伝送媒体である。よって、例であって限定ではないが、本発明の実施形態は、少なくとも２つの明らかに異なった種類のコンピュータ可読媒体を含むことができる。即ち、物理的記憶媒体及び伝送媒体である。
【００２０】
物理的記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、またはコンピュータ可読命令またはコンピュータ可読データ構造の形で所望のプログラムコード手段を格納するために用いることができるあらゆる他の媒体もしくは汎用コンピュータもしくは専用コンピュータがアクセスすることができるあらゆる他の媒体を含む。
【００２１】
「ネットワーク」は、コンピュータシステム及び／またはモジュール及び／または他の電子デバイスの間で電子データの送信を可能にする１つまたは複数のデータリンクと定義される。情報がネットワークまたは別の通信接続（有線、無線、または、有線もしくは無線の組合せのいずれか）を介してコンピュータに転送されるかまたは提供されると、コンピュータは、伝送媒体として適切に接続を表示する。伝送媒体は、ネットワーク及び／またはデータリンクを含むことができ、ネットワーク及び／またはデータリンクは、コンピュータ実行可能命令またはコンピュータ実行可能データ構造の形で所望のプログラムコード化手段を搬送するために用いることができるかまたは汎用コンピュータまたは専用コンピュータがアクセスすることができる。上記の組合せも、コンピュータ可読媒体の範囲内に含まれなければならない。
【００２２】
更に、様々なコンピュータシステムコンポーネントに至ると、コンピュータ実行可能命令またはコンピュータ実行可能データ構造の形のプログラムコード手段は、伝送媒体から物理的記憶媒体に（またはその逆）自動的に転送されてもよい。例えば、ネットワークまたはデータリンクを介して受信されたコンピュータ実行可能命令またはコンピュータ実行可能データ構造は、ネットワークインタフェースモジュール（例えば、「ＮＩＣ」）内のＲＡＭにバッファリングすることができ、次にコンピュータシステムＲＡＭにかつ／またはコンピュータシステムのより不安定でない物理的記憶媒体に最終的に転送することができる。よって、物理的な記憶媒体は、伝送媒体をも（または主としても）利用するコンピュータシステムコンポーネントに含まれ得ると理解されなければならない。
【００２３】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータまたは専用処理デバイスに一定の機能または一定の機能グループを実行させる命令及びデータを含む。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令またはソースコードでもよい。本発明は、構造上の特徴及び／または方法論的動作に特有の言語で説明されているが、添付の特許請求の範囲において定義される本発明は、必ずしも上記に説明された特徴または説明された動作に限定されるものではないと理解されなければならない。むしろ、説明された特徴及び動作は、特許請求の範囲を実施する例示的な形式として開示される。
【００２４】
当業者は、本発明を多くのタイプのコンピュータシステム構成を備えたネットワークコンピュータ環境で実施することができると認めることができる。多くのタイプのコンピュータシステム構成には、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、携帯デバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品もしくはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ、ポケットベル、ルータ、スイッチなどが含まれる。本発明はまた、ネットワークを介して（有線データリンクによって、無線データリンクによって、または、有線データリンク及び無線データリンクの組み合わせによってのいずれかで）接続されたローカルのコンピュータシステム及びリモートのコンピュータシステムの両方がタスクを実行する分散処理システム環境において実施することができる。分散システム環境において、プログラムモジュールは、ローカルのメモリ記憶装置及び遠隔のメモリ記憶装置の両方に配されてもよい。
【００２５】
図１Ａは、ウェブサイトについての代替ユーザエクスペリエンスを発見するのを容易にする例示的なコンピュータアーキテクチャ１００を示す。図１Ａを参照すると、コンピュータアーキテクチャ１００は、コンピュータシステム１０１及びコンピュータシステム１０２を含む。示したコンピュータシステムの各々は、例えばローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、及びインターネットなどのネットワークを介して互いに接続されている（または、これらの一部である）。従って、示したコンピュータシステム及びあらゆる他の接続されたコンピュータシステムの各々、並びにこれらのコンポーネントは、メッセージ関連データを生成することができ、ネットワークを介してメッセージ関連データ（例えば、インターネットプロトコル（「ＩＰ」）データグラム及び、例えば、伝送制御プロトコル（「ＴＣＰ」）、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等を利用する他の上位層プロトコルなど）を交換することができる。
【００２６】
コンピュータシステム１０１は、ウェブブラウザ１０２、代替アプリケーションセンタ１０４及び代替アプリケーションキャッシュ１０６を含む。通常、ウェブブラウザ１０２は、ウェブサイトとインタラクションするよう構成されていて、（例えば、ＨＴＴＰ  ＧＥＴ、ＨＴＴＰ  ＨＥＡＤ、ＨＴＴＰ  ＰＯＳＴ、ＨＴＴＰ  ＰＵＴ等のＨＴＴＰメッセージにおいて）ウェブベースのデータをウェブサイトに送信しかつウェブベースのデータをウェブサイトから受信し、ユーザインタフェースを介してウェブベースのデータを示す。ウェブブラウザ１０２はまた、スティッキーユーザインタフェース制御部１０３を含む。ウェブサイトが代替ユーザエクスペリエンスを有することが受信されたメッセージによって示されると、スティッキーユーザインタフェース制御部１０３が起動（または「点灯」）される。次にユーザは、スティッキーユーザインタフェース制御部１０３を選択して、ウェブサイトについての代替ユーザエクスペリエンスを格納するかまたは「スティッキーにして」、オフライン時に代替ユーザエクスペリエンスを使用するのを潜在的に容易にしている。
【００２７】
代替アプリケーションセンタ１０４は、安全に代替ユーザエクスペリエンスにアクセスするためのユーザインタフェースを提供する。代替アプリケーションキャッシュ１０６は、代替ユーザエクスペリエンスについてのデータを格納するよう構成されている。代替ユーザエクスペリエンスが保存される場合、代替ユーザエクスペリエンスについてのデータを、コンピュータシステム１０１へダウンロードして、代替アプリケーションキャッシュ１０６に格納することができる。代替アプリケーションセンタ１０４は、代替アプリケーションキャッシュ１０６に格納された代替ユーザエクスペリエンスをユーザに対して視覚的に（例えばアイコンとして）示すことができる。ユーザは、リストから代替ユーザエクスペリエンスを選択して、（直接または代替アプリケーションセンタ１０４を介してのいずれかで代替ユーザエクスペリエンスで起動する）代替ユーザエクスペリエンスを起動することができる。
【００２８】
コンピュータシステム１１１は、ウェブサーバ１１２を含む。通常、ウェブサーバ１１２は、１つまたは複数のウェブサイトについてのコンテンツを管理するよう構成されている。ウェブサーバ１１２は、ウェブブラウザ及び代替アプリケーションとインタラクションすることができて、（例えば、ＨＴＭＬデータを含むＨＴＴＰメッセージで）ウェブベースのデータをウェブブラウザ及び代替アプリケーションに送信しかつウェブベースのデータをウェブブラウザ及び代替プリケーションから受信することができる。コンピュータシステムは、ウェブサーバ１１２で受信したデータ要求に応じて、記憶装置１１３からウェブベースのデータを返すことができる。データ要求への応答は、コンテンツ１１４からのコンテンツ及び／または代替アプリケーション１１６内の代替ユーザエクスペリエンスへのリンクを含むことができる。ウェブブラウザにウェブベースのデータを返すときに、ウェブサーバ１１２は、あらゆる代替ユーザエクスペリエンスへのリンクを含むことができる。例えば、ウェブサーバ１１２は、ＨＴＭＬメッセージのＨＴＭＬヘッダにリンク要素を含むことができる。リンク要素は、ウェブサーバ１１２によって提供される代替ユーザエクスペリエンスを起動させるための（例えば、代替アプリケーション１１６内の）データに接続することができる。
【００２９】
例えばウェブブラウザ１０２などのウェブブラウザは、例えば、ＨＴＭＬヘッダ内などの他の受信したデータ内の代替ユーザエクスペリエンスへのリンク要素を検出するのに応じて、例えばスティッキーユーザインタフェース制御部１０３などのユーザインタフェース制御部を起動させることができる。
【００３０】
図２は、ウェブサイトについての代替ユーザエクスペリエンスを発見する例示的な方法２００のフローチャートを示す。方法２００が、コンピュータアーキテクチャ１００のコンポーネント及びデータに関して説明される。
【００３１】
方法２００は、ウェブサイトに、コンテンツ要求を提示する動作を含む（動作２０１）。例えば、ウェブブラウザ１０２は、要求１２１（例えば、ウェブサーバ１１２についてのＵＲＬを含むＨＴＴＰ  ＧＥＴ）をウェブサーバ１１２に提示することができる。方法２００は、ウェブサイトから要求に応じた応答コンテンツを受信する動作を含む（動作２０２）。例えば、ウェブブラウザ１０２は、要求１２１に応じた応答１２２を受信することができる。
【００３２】
示したように、応答１２２は、ヘッダ１２３及び本文１２６を含む。ヘッダ１２３及び本文１２６は、それぞれＨＴＭＬメッセージのヘッダ及び本文であってもよい。本文１２６は、要求１２１に応じたコンテンツを含むことができる。通常、ヘッダ１２６は、表題、キーワード及び必ずしもコンテンツとみなされない他の情報を含む応答１２２に関する情報を含むことができる。示したように、ヘッダ１２６もマニフェストリンク１２４を含む。ウェブサーバ１１２は、応答１２２を送信する前にヘッダ１２３にマニフェストリンク１２４を埋め込むことができる。
【００３３】
マニフェストリンク１２４は、以下のフォーマットであってもよい。
【００３４】
0005384646.tif 000002
【００３５】
リンク要素は、コンテンツ１１４にアクセスするための代替ユーザエクスペリエンスにアクセスするための関係情報を運ぶ属性／値の対を含む。rel=”ａｌｔｅｒｎａｔｅ”属性／値の対は、本文１２６から”ｌｏｃａｌ．ｘｍｌ”  （即ち、href属性において特定されるアンカ）への関係を記述し、本文１２６の代理バージョンとしてlocal.xmlを指定する。type=”application/localria”属性／値の対は、リンクの宛先アドレス（即ち、応答１２２の代理バージョンについての）で利用可能なコンテンツのコンテンツタイプがＲＩＡ（Ｒｉｃｈ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎ）タイプのコンテンツであるという助言的なヒントを与える。”ａｐｐｌｉｃａｔｉｏｎ／ｌｏｃａｌｒｉａ”タイプは、ウェブブラウザ１０２とウェブサーバ１１２との間で管理することができ、かつ／または幅広い使用のために例えばマイムタイプなどのコンテンツタイプとして登録することができる。hrer="local.xml”属性／値の対は、応答１２２と代替アプリケーションマニフェスト１２８との間のリンクを定義している代替アプリケーションマニフェスト１２８の場所を特定する。
【００３６】
通常、表題属性は、リンク要素に関する助言的な情報を提供するために用いることができる。表題属性の値は、ウェブブラウザでユーザツールの助言として提供することができる。よって、title="Applications”属性／値の対は、マニフェストリンク１２４の性質が「Applications」に関係していることを示す。本文１２６の一部として示されるユーザインタフェース要素上にマウスポインタを重ねると、ウェブブラウザ１０２は文言「Applications」を表示することができる。
【００３７】
方法２００は、応答コンテンツがアプリケーションマニフェストへのリンクを含むかどうかを判断する動作を含む。アプリケーションマニフェストは、ウェブサイトからコンテンツにアクセスするよう構成された１つまたは複数の代替アプリケーションをリストアップしている（動作２０３）。例えば、ウェブブラウザ１０２は、応答１２２がマニフェストリンク１２４を含むかどうかを判断することができる。マニフェストリンク１２４は、代替アプリケーション１１６の一部（例えば、”ｌｏｃａｌ．ｘｍｌ”）に接続することができて、代替アプリケーション１１６の一部は、ウェブサーバ１１２からコンテンツにアクセスするよう構成された１つまたは複数の代替アプリケーションをリストアップしている。方法２００は、応答コンテンツがアプリケーションマニフェストへのリンクを含むと判断するのに応じて、ウェブサイトが代替アプリケーションエクスペリエンスを含むことを、ウェブブラウザにおいて示す動作を含む。例えば、ウェブサーバ１０２は、応答１２２がマニフェストリンク１２４を含むと判断するのに応じてスティッキーユーザインタフェース制御部１０３を起動または「点灯」することができる。
【００３８】
ここで図３を参照すると、図３は、ウェブブラウザのユーザインタフェース３００の一部を示す。ウェブブラウザのユーザインタフェース３００は、ウェブサイトについての代替ユーザエクスペリエンスを保存するのを容易にすることができる。ウェブブラウザのユーザインタフェース３００の機能は、ウェブブラウザ１０２で提供することができる。示したように、ウェブブラウザのユーザインタフェース３００は、（例えば、ＵＲＬを提示するための）アドレスフィールド３０１、受信されたコンテンツを検索するための検索フィールド３０６、指定されたホームページを返すためのホームページ制御部３０２、受信されたコンテンツを印刷するための印刷制御部３０４、ＲＳＳフォーマットフィードを起動するためのＲＳＳ制御部３０３（例えば、data of type="application/rss+xml”）を含む。ウェブブラウザのユーザインタフェース３００はまた、代替ユーザエクスペリエンス（例えば複数のＲＩＡ）をコンピュータシステム１０１でスティッキーにするためのスティッキーユーザインタフェース制御部１０３を含むことができる。
【００３９】
方法２００は、アプリケーションマニフェストにリストアップされた代替アプリケーションエクスペリエンスを保持したいというユーザ願望についてのユーザ指示を受信する動作を含む（動作２０４）。例えば、ウェブブラウザ１０２は、スティッキーユーザインタフェース制御部１０３を選択するユーザ入力１０７を受信することができる。
【００４０】
方法２００は、ユーザ指示に応じて、コンピュータシステムへ代替アプリケーションエクスペリエンスに付随するコンポーネントをダウンロードする動作を含む（動作２０５）。例えば、スティッキーユーザインタフェース制御部１０３を選択することによって、ウェブブラウザ１０２がマニフェストリンク１２４を利用して代替アプリケーション要求１２７をウェブサーバ１１２に送信することができる。代替アプリケーション要求１２７は、例えば”ｌｏｃａｌ．ｘｍｌ”などの、代替アプリケーション１１６の一部についての要求であってもよい。代替アプリケーション要求１２７を受信するのに応じて、ウェブサーバ１１２は、代替アプリケーション１１６から代替アプリケーションマニフェスト１２８（例えば、”ｌｏｃａｌ．ｘｍｌ”）を引き出すことができて、ウェブブラウザ１０２に代替アプリケーションマニフェスト１２８を提供することができる。
【００４１】
いくつかの実施形態において、代替アプリケーションは、アプリケーションユーザエクスペリエンス（ＸＡＭＬ、画像、媒体）、コードＤＬＬ及び必要なアプリケーション参照データをキャッシュに入れることによって代替アプリケーションセンタにおいてスティッキーにされる。アプリケーションは、簡単な「スティッキーな」マニフェストにおいて簡単なＺＩＰのようなファイル形式を用いてパッケージングすることができる。よって、代替アプリケーションマニフェスト１２８は、以下のフォーマットであってもよい。
【００４２】
0005384646.tif 000003
【００４３】
0005384646.tif 000004
【００４４】
0005384646.tif 000005
【００４５】
代替アプリケーションマニフェスト１２８において、アプリケーション記述（”ＭｙＴＶ”）は、代替アプリケーションのユーザフレンドリな記述を言う。アプリケーションパブリッシャ（”Ｔｉｍｂｕｋｔｏｕｒｉｓｔ”）は、代替アプリケーションのパブリッシャを言う。アプリケーションアイコン（”ｆａｖｉｃｏｎ．ｉｃｏ”）は、代替アプリケーションについての可視画像を言う。
【００４６】
マニフェストはまた、複数のホストセクションを含む。各ホストセクションは、例えば、ria-local、clickonce、roa-device、gadget-sidebar、gadget-list、gadget-w3cなどのアプリケーションタイプを含む代替アプリケーションを表す。各ホストセクション内に、一貫性のあるユニットとして同期／ダウンロードされなければならないアプリケーションリソース（例えば、”ClientBin.TVSticky.xap”、”TVSticky.application”等）のリストが含まれている。リソースは、簡単な関連ＵＲＩを用いて特定することができる。デフォルトのリソースは、アプリケーションＺＩＰファイルである。
【００４７】
方法２００は、コンピュータシステムでダウンロードされたコンポーネントをキャッシュに入れて、次の使用のための代替アプリケーションエクスペリエンスを保持する動作を含む（動作２０６）。例えば、コンピュータシステム１０１は、代替アプリケーションキャッシュ１０６の代替アプリケーションマニフェスト１２８において特定される（かつ／またはウェブサーバ１１２によって提供される）コンポーネントをキャッシュに入れることができる。キャッシュに入れられたコンポーネントは、リソース及び代替アプリケーションマニフェスト１２８に示された設定情報を含むことができる。これらのコンポーネントは、アプリケーションデータ１４１としてグループ化して格納することができる。
【００４８】
代替アプリケーションマニフェスト１２８を受信するのに応じて、コンピュータシステム１０１は、（例えば、代替アプリケーションマニフェスト１２８に含まれるＵＲＬを用いて）ウェブサーバ１１２に更なるコンポーネントを要求することができる。例えば、コンピュータシステム１０１は、ウェブサーバ１１２にコンポーネント要求１２９を送信することができる。コンポーネント要求１２９に応じて、代替アプリケーションマニフェスト１２８における代替アプリケーションの起動及び使用に関係があるような代替アプリケーションコンポーネント１３１をウェブサーバ１１２は特定することができる。ウェブサーバ１１２は、キャッシュに入れるためにコンピュータシステム１０１に代替アプリケーションコンポーネント１３１を提供することができる。これらのコンポーネントは、代替アプリケーションキャッシュ１０６で格納するためのアプリケーションデータ１４１に分類することができる。
【００４９】
方法２００は、代替ユーザエクスペリエンスをコンピュータシステムで代替アプリケーションセンタを介して利用可能なことを示す動作を含み、代替アプリケーションセンタは、異なったウェブサイトについての代替アプリケーションエクスペリエンスにアクセスするために共通の場所を提供する（動作２０７）。例えば、コンテンツ１１４にアクセスするための代替ユーザエクスペリエンスの可用性は、代替アプリケーションセンタ１０４を介して示すことができる。
【００５０】
図４Ａ及び図４Ｂは、ウェブサイトについての代替ユーザエクスペリエンスにアクセスして起動するためのユーザインタフェース４００の一部を示す。ここで図４Ａを参照すると、代替アプリケーション制御センタ１０４は、ユーザインタフェース４００のユーザインタフェース制御部として表すことができる。ここで図４Ｂを参照すると、ユーザインタフェース制御部を選択することによって、代替アプリケーションキャッシュ１０６にキャッシュされた利用可能な代替ユーザエクスペリエンスのリストが示させることができる。
【００５１】
よって、簡単な表示行為で、ユーザは、自身のマシンにＲＩＡを「スティッキーに存在」させることを選択することができる。スティッキーは、アプリケーションを起動するためのアプリケーションコード及びデータリソースがローカルにキャッシュに入れられるという意味である。スティッキーに存在するＲＩＡは、ブラウザにおいてＲＩＡのコード及びＵＩ資源の多くを再利用することができる代替アプリケーションである。
【００５２】
従って、本発明の実施形態は、ユーザをウェブページにナビゲートできるようにする。ウェブページは、代替アプリケーション、即ち、ウェブサイトについての「スティッキーな」ＲＩＡ（例えば、．ＥＸＥアプリケーション、．ＭＳＩインストールパッケージまたはＺＩＰファイルインストールパッケージ）を有する。代替アプリケーション即ち「スティッキーな」ＲＩＡを検出するウェブブラウザに応じて、ブラウザツールバーの「スティッキーにする」ボタンを起動することができる。次にユーザは、ボタンをクリックすることができ、ユーザは、自身の動作を確認することを求められてもよい。確認すると（表示されると）、代替アプリケーション即ち「スティッキーな」ＲＩＡは、ＲＩＡセンタにインストールすることができる。
【００５３】
更に、ウェブ開発者は、代替アプリケーションを「スティッキー」にするユーザエクスペリエンスをカスタマイズすることができる。例えば、ウェブ開発者は、自身のアプリケーションに例えばボタンなどのユーザインタフェース制御部を追加することができる。ユーザが選択した場合、ボタンLocalApplication.Install APIが呼び出され、スティッキーなマニフェストにＵＲＬが渡される。更に、ウェブ開発者がＨＴＭＬウェブページの<head>の<link>要素を設けると、ユーザはウェブページを（アドレスバーから）ＲＩＡセンターにドラッグアンドドロップすることができる。
【００５４】
これらのメカニズムのいずれかを用いて、ユーザはＲＩＡをスティッキーにするための行動をいつ起こすべきかを決定するようになる。更に、一旦代替アプリケーションがキャッシュに入れられると、アプリケーションのリソース及びデータは、バックグラウンドで自動的に更新されて、ユーザは、更新されたユーザインタフェースエクスペリエンス及びデータにアクセスできる。例えば、コンピュータシステム１０１との通信が検出されると、ウェブサーバ１１２はアプリケーションデータ１４１を更新することができる。
【００５５】
図１Ｂは、ウェブサイトについての代替ユーザエクスペリエンスを起動するのを容易にするコンピュータアーキテクチャ１００の一部を示す。示したように、図１Ｂはコンピュータシステム１０１及びコンピュータシステム１１１を含む。ユーザ入力１４７（起動のための代替アプリケーションを選択する入力）に応じて、代替アプリケーション制御センタは、代替アプリケーションキャッシュ１０６からキャッシュされたデータ１４１をローディングする。代替アプリケーション制御センタ１０４は、アプリケーションデータ１４１を処理して代替アプリケーション１４２を起動する。
【００５６】
代替アプリケーション１４２は、ウェブサーバ１１２にウェブベースのデータを要求することができる。例えば、代替アプリケーション１４２は、ウェブサーバ１１２に要求１５１を送信することができる。要求１５１は、コンテンツ１１４の一部（例えば、本文１２６またはいくつかの他のウェブベースのデータに含まれるコンテンツ）についての要求であってもよい。要求に応じて、ウェブサーバ１１２は代替アプリケーション１４２にウェブベースのデータを返すことができる。例えば、ウェブサーバ１１２は、代替アプリケーション１４２にコンテンツ１６４を返すことができる。代替アプリケーション１４２は、ユーザインタフェースでコンテンツ１６４を表示することができる。
【００５７】
本発明は、本発明の精神または本質的な特徴から逸脱することなく、他の特定の形で具体化することができる。説明された実施形態は、例示的であって限定的でないと、あらゆる点で考慮されることになっている。従って、本発明の範囲は、前述の詳細な説明によってよりはむしろ添付の特許請求の範囲によって示される。特許請求の範囲内の同等の意味及び範囲内で生じる全ての変更は、これらの範囲内に含まれることになっている。
【図１Ａ】
0005384646.tif 000006
【図１Ｂ】
0005384646.tif 000007
【図２】
0005384646.tif 000008
【図３】
0005384646.tif 000009
【図４Ａ】
0005384646.tif 000010
【図４Ｂ】
0005384646.tif 000011