(57)【要約】  さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトを自分のデスクトップ上にインストールできるようにするメカニズムを提供する。１つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、ＪａｖａＳｃｒｉｐｔコードおよび／またはＨＴＭＬマークアップを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合のためのさまざまな構成を提供することができる。
2013536482.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデバイス上にインストールされるウェブアプリケーションに関連付けられたウェブサイトのスタートＵＲＬへサイトモードブラウザーをナビゲートするステップと、
前記スタートＵＲＬに関連付けられたウェブページ以外のウェブページへ前記サイトモードブラウザーをナビゲートするステップと、
ウェブアプリケーションホームボタンの選択を受け取るステップと、
前記ウェブアプリケーションホームボタンの選択を受け取ったことに応答して、前記サイトモードブラウザーを前記ウェブサイトのスタートＵＲＬへナビゲートするステップと
を含む、コンピューターによって実施される方法。
【請求項２】
前記ウェブアプリケーションホームボタンが、ブランド化を可能にするように構成される、請求項１に記載の方法。
【請求項３】
前記ウェブアプリケーションホームボタンが、原色を使用したブランド化を可能にするように構成される、請求項１に記載の方法。
【請求項４】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成される、請求項１に記載の方法。
【請求項５】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成され、前記ナビゲーションボタンが、前記ウェブサイトに関連付けられた原色を利用する、請求項１に記載の方法。
【請求項６】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられた戻るおよび進むナビゲーションボタンの隣に表示されるように構成される、請求項１に記載の方法。
【請求項７】
前記ウェブサイトのスタートＵＲＬが、ＨＴＭＬから確認される、請求項１に記載の方法。
【請求項８】
コンピューター実行可能命令を具体化する１つまたは複数のコンピューター可読記憶媒体であって、前記コンピューター実行可能命令が、実行されたときに、
クライアントデバイス上にインストールされるウェブアプリケーションに関連付けられたウェブサイトのスタートＵＲＬへサイトモードブラウザーをナビゲートするステップと、
前記スタートＵＲＬに関連付けられたウェブページ以外のウェブページへ前記サイトモードブラウザーをナビゲートするステップと、
ウェブアプリケーションホームボタンの選択を受け取るステップと、
前記ウェブアプリケーションホームボタンの選択を受け取ったことに応答して、前記サイトモードブラウザーを前記ウェブサイトのスタートＵＲＬへナビゲートするステップと
を含む方法を実施する、１つまたは複数のコンピューター可読記憶媒体。
【請求項９】
前記ウェブアプリケーションホームボタンが、ブランド化を可能にするように構成される、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１０】
前記ウェブアプリケーションホームボタンが、原色を使用したブランド化を可能にするように構成される、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１１】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成される、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１２】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成され、前記ナビゲーションボタンが、前記ウェブサイトに関連付けられた原色を利用する、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１３】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられた戻るおよび進むナビゲーションボタンの隣に表示されるように構成される、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１４】
前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられた戻るおよび進むナビゲーションボタンの隣に表示されるように構成され、前記戻るおよび進むナビゲーションボタンが、前記ウェブサイトに関連付けられた原色を利用する、請求項８に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項１５】
コンピューター実行可能命令を具体化する１つまたは複数のコンピューター可読記憶媒体であって、前記コンピューター実行可能命令が、実行されたときに、
１つまたは複数のナビゲーションボタンと、
クライアントによってインストール可能なウェブアプリケーションに関連付けられるウェブアプリケーションホームボタンであって、前記ウェブアプリケーションに関連付けられたウェブサイトに関連付けられたスタートＵＲＬへのナビゲーションを可能にする、ウェブアプリケーションホームボタンと
を含むサイトモードブラウザーを実施する、１つまたは複数のコンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブアプリケーションホームボタンに関する。
【背景技術】
【０００２】
[0001]より最近では、業界は、ウェブアプリケーションまたはウェブサイトをユーザーのコンピューターデスクトップ環境すなわち「デスクトップ」と統合するという概念に焦点を合わせ始めている。しかし、そうすることに関連した難題がある。たとえば、今日では、ウェブサイトがデスクトップ統合の目的で自らのサイトの境界を定義することは困難である。したがってエンドユーザーは、自分たち自身が開発するクライアント側スクリプトを通じて境界を定義することを委ねられている。これは、問題となる可能性がある。なぜなら、エンドユーザーは、ある特定のウェブサイトがどのように構築されているかを必ずしも知っているとは限らない可能性があるためである。たとえばエンドユーザーは、リンク、ウェブプロパティーどうしの間における関係、または機能をユーザーに提供するためにウェブサイトによって採用されているその他のニュアンスのすべてを必ずしも知っているとは限らない可能性がある。したがってエンドユーザーのスクリプトは、これらのリンクまたはニュアンスを理解しない可能性があり、それゆえに、望ましくないまたは破綻したユーザー経験につながる可能性がある。
【０００３】
[0002]さらに、ユーザーは今日、デュアルブート問題として知られている問題に直面している。具体的には、ユーザーは、自分たちのパーソナルコンピューターをブートし、自らのブラウザーを始動し、最後に、自分たちが内部で作業したいと望む特定のウェブアプリケーションを起動することを余儀なくされている。この問題は、ブラウザーのクロム内に現れて、ウェブアプリケーションに関連した手元の特定のタスクにユーザーが単に集中することを不可能にする、気を散らすものなど、ユーザーにとってあまりにも多くの気を散らすものをブラウザーが提供することがあるという事実によって、複雑にされている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ウェブアプリケーションホームボタンを提供する。
【課題を解決するための手段】
【０００５】
[0003]この「発明の概要」は、以降の「発明を実施するための形態」においてさらに説明されるコンセプトから抜粋したものを、簡略化された形式で紹介するために提供される。この「発明の概要」は、特許請求される主題の鍵となる特徴または必要不可欠な特徴を特定することを意図されておらず、特許請求される主題の範囲を限定するために使用されることも意図されていない。
【０００６】
[0004]さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトをクライアントデバイスデスクトップなどのクライアントデバイス上にインストールできるようにするメカニズムを提供する。１つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに複数のその他の機能のためのさまざまな構成を提供することができる。
【０００７】
[0005]同様の機能を指すために、複数の図面を通じて同じ番号が使用される。
【図面の簡単な説明】
【０００８】
【図１】[0006]本明細書に記載のさまざまな原理が１つまたは複数の実施形態に従って採用されることが可能である動作環境を示す図である。
【図２】[0007]１つまたは複数の実施形態によるウェブアプリケーションウィンドウを示す図である。
【図３】[0008]１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ  ＡＰＩを示す図である。
【図４】[0009]１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。
【図５】[0010]１つまたは複数の実施形態によるウェブアプリケーション対話方法におけるステップを示す流れ図である。
【図６】[0011]１つまたは複数の実施形態によるクライアントデスクトップの一部を示す図である。
【図７】[0012]１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ  ＡＰＩを示す図である。
【図８】[0013]１つまたは複数の実施形態による、ウェブサイトとカスタムジャンプリストの間における動的な対話を示す図である。
【図９】[0014]１つまたは複数の実施形態によるクライアントデスクトップの一部を示す図である。
【図１０】[0015]１つまたは複数の実施形態によるクライアントデスクトップの一部を示す図である。
【図１１】[0016]１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。
【図１２】[0017]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図１３】[0018]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図１４】[0019]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図１５】[0020]１つまたは複数の実施形態によるドラッグアンドドロップオペレーションを図式的に示す図である。
【図１６】[0021]１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。
【図１７】[0022]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図１８】[0023]１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。
【図１９】[0024]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図２０】[0025]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図２１】[0026]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図２２】[0027]１つまたは複数の実施形態による、ウェブサイトを表示するブラウザーと、証明書ストアと、関連付けられたウェブアプリケーションと、ウェブアプリケーション証明書ストアとの間における関係を示す図である。
【図２３】[0028]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図２４】[0029]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図２５】[0030]１つまたは複数の実施形態による複数のウェブアプリケーションインスタンスの一例を示す図である。
【図２６】[0031]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図２７】[0032]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図２８】[0033]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図２９】[0034]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図３０】[0035]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図３１】[0036]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図３２】[0037]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図３３】[0038]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図３４】[0039]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図３５】[0040]１つまたは複数の実施形態による、ウェブアプリケーションとブラウザーの間における関係を示す図である。
【図３６】[0041]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図３７】[0042]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図３８】[0043]１つまたは複数の実施形態による一時的なウェブアプリケーションの一例を示す図である。
【図３９】[0044]１つまたは複数の実施形態によるサイトモードブラウザー（site mode browser）を示す図である。
【図４０】[0045]１つまたは複数の実施形態による方法におけるステップを示す流れ図である。
【図４１】[0046]１つまたは複数の実施形態を実装するために利用されることが可能である例示的なシステムを示す図である。
【発明を実施するための形態】
【０００９】
概観
[0047]さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトをクライアントデバイスデスクトップなどのクライアントデバイス上にインストールできるようにするメカニズムを提供する。１つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに複数のその他の機能のためのさまざまな構成を提供することができる。
【００１０】
[0048]境界は、どのようにして機能がエンドユーザーに表示されるかに関する、開発者によって定義された経験と考えられることが可能である。境界は、別々のアプリケーションに関連付けられる可能性があるトップレベルドメインおよびサブドメインなどのウェブサイトドメイン、またはドメイン上にホストされるウェブサイトのサブセットに関連付けられる。したがって境界は、特定のウェブアプリケーションを機能させるために利用される一式のドメイン、サブドメイン、フォルダ、サブサイト、プロトコル、ホスト、パスなどによって定義されることが可能である。
【００１１】
[0049]１つまたは複数の実施形態においては、ウェブサイトは、上述および後述の機能を選択することができる。この場合には、開発者は、自分たちのウェブサイトとユーザーの経験との境界を定義するコード（場合によっては、ＪａｖａＳｃｒｉｐｔ（登録商標）で表される）を提供することができる。代替として、または追加として、上述および後述の機能を選択しないウェブサイトは、デフォルトの経験がユーザーに提供されるようにすることができる。
【００１２】
[0050]以降の考察においては、「動作環境」と題されたセクションが提供され、このセクションは、１つまたは複数の実施形態が採用されることが可能である１つの環境を説明する。これに続いて、「統合インフラストラクチャー」と題されたセクションが、１つまたは複数の実施形態に従ってウェブアプリケーションがクライアントデバイス上に統合されることを可能にするインフラストラクチャーを説明する。次いで、「ジャンプリスト統合」と題されたセクションが、いわゆるジャンプリストが１つまたは複数の実施形態に従ってどのようにして統合されることが可能であるかを説明する。次いで、「タスクバーの固定」と題されたセクションが、ウェブアプリケーションが１つまたは複数の実施形態に従ってどのようにしてタスクバーに固定されることが可能であるかを説明する。これに続いて、「証明書とログインセッションの関連付け」と題されたセクションが、証明書とログインセッションが１つまたは複数の実施形態に従ってどのようにして関連付けられることが可能であるかを説明する。次いで、「関連付けられた証明書を伴うウェブアプリケーションの作成および起動」と題されたセクションが、ウェブアプリケーションが１つまたは複数の実施形態に従ってどのようにして作成され起動されることが可能であるかを説明する。これに続いて、「ウェブアプリケーションタスクセッション」と題されたセクションが、１つまたは複数の実施形態によるタスクセッションの概念を説明する。次いで、「ウェブアプリケーションとブラウザーの間における遷移」と題されたセクションが、ウェブアプリケーションとブラウザーの間における遷移が１つまたは複数の実施形態に従ってどのようにして生じることが可能であるかを説明する。これに続いて、「ブラウザーからの一時的なウェブアプリケーションの作成」と題されたセクションが、一時的なウェブアプリケーションが１つまたは複数の実施形態に従ってどのようにしてブラウザーから作成されることが可能であるかを説明する。次いで、「インストールされたウェブアプリケーションへの一時的なウェブアプリケーションの変換」と題されたセクションが、一時的なウェブアプリケーションが１つまたは複数の実施形態に従ってどのようにしてインストールされたウェブアプリケーションに変換されることが可能であるかを説明する。これに続いて、「ウェブアプリケーションスーパーホームボタン」と題されたセクションが、１つまたは複数の実施形態によるウェブアプリケーションに関連付けられたホームボタンを説明する。最後に、「例示的なシステム」と題されたセクションが、１つまたは複数の実施形態を実装するために利用されることが可能である例示的なシステムを説明する。
【００１３】
[0051]次いで、１つまたは複数の実施形態が実装されることが可能である例示的な動作環境について考察されたい。
動作環境
[0052]図１は、１つまたは複数の実施形態による動作環境を全体として１００で示す。環境１００は、１つまたは複数のプロセッサー１０４と、１つまたは複数のコンピューター可読記憶媒体１０６と、コンピューター可読記憶媒体上に存在して（１つまたは複数の）プロセッサーによって実行可能である１つまたは複数のアプリケーション１０８とを有するコンピューティングデバイス１０２を含む。コンピューター可読記憶媒体は、典型的にはコンピューティングデバイスに関連付けられるすべての形態の揮発性および不揮発性のメモリーおよび／または記憶媒体を、限定ではなく例として含むことができる。そのような媒体は、ＲＯＭ、ＲＡＭ、フラッシュメモリー、ハードディスク、取り外し可能な媒体などを含むことができる。コンピューティングデバイスの具体的な一例が、以降で図４１において示され、説明される。
【００１４】
[0053]さらにコンピューティングデバイス１０２は、ウェブブラウザー１１０の形態のソフトウェアアプリケーションを含む。任意の適切なウェブブラウザーが使用されることが可能であり、その例は、本明細書の譲受人およびその他から入手可能である。さらにコンピューター可読記憶媒体１０６は、上述および後述のように機能するウェブアプリケーションモードブラウザー１１１を含むことができる。ウェブアプリケーションモードブラウザー１１１は、ウェブサイトからのＡＰＩコールを受け取り、ウェブサイトへのＡＰＩコールを行い、ウェブアプリケーションインストールプロセスを監視し、境界を施行し、上述および後述の機能を可能にするランタイムエンジンとして機能する。オペレーションにおいて、ウェブアプリケーションモードブラウザーは、完全なブラウザーの軽量化バージョンであり、通常のブラウザー機能の多くがオフにされている。いくつかの場合においては、ウェブアプリケーションモードブラウザーは、通常のブラウザーコントロールの多くを含まない「クロムレス（chrome-less）」ブラウザーと考えられることが可能である。しかし、いくつかのコマンドは、ミニチュアコントロールバーを通じて表示されることが可能である。したがってウェブアプリケーションモードブラウザーは、ユーザーにとって気を散らすものの多くを取り除き、ウェブサイトが自分たちのウェブアプリケーションとユーザーがどのようにして対話するかをコントロールすることができる、方向付けられた、ウェブサイトによって定義されたユーザー経験を可能にする。
【００１５】
[0054]オペレーションにおいて、ウェブアプリケーションモードブラウザーは、ウェブサイトと、クライアントデバイスのオペレーティングシステムとの間に論理的に存在すると考えられることが可能である。したがってウェブアプリケーションモードブラウザーは、ウェブサイトからのコールを受け取り、それに応答して、本明細書に記載の機能に影響を与えるためにオペレーティングシステムコールを行うことができる。同様に、ウェブアプリケーションモードブラウザーは、ウェブサイトの機能に影響を与えることになるコールをオペレーティングシステムから受け取ることができる。たとえばオペレーティングシステムは、デスクトップのタスクバーとの対話を可能にするＡＰＩを表示する。ウェブアプリケーションモードブラウザーは、ウェブサイトからのコールを受け取ることができ、それに応答して、以降で明らかになるようなタスクバー機能を可能にするＡＰＩコールを行うことができる。
【００１６】
[0055]ウェブアプリケーションモードブラウザー１１１は、スタンドアロンのコンポーネントとして実装されることが可能である。代替として、または追加として、ウェブアプリケーションモードブラウザー１１１は、アプリケーション１０８および／またはブラウザー１１０の一部として実装されることが可能である。
【００１７】
[0056]さらに環境１００は、インターネットなどのネットワーク１１２と、１つまたは複数のウェブサイト１１４とを含み、それらのウェブサイト１１４との間で、コンテンツが送受信されることが可能である。そのようなコンテンツは、上述および後述のように、クライアントデスクトップ上に統合される、またはクライアントデバイスを通じてその他の形で使用可能である、ウェブアプリケーションなどのコンテンツを含むことができる。
【００１８】
[0057]コンピューティングデバイス１０２は、限定ではなく例として、デスクトップコンピューター、ポータブルコンピューター、携帯情報端末（ＰＤＡ）などのハンドヘルドコンピューター、携帯電話など、任意の適切なコンピューティングデバイスとして具体化されることが可能である。
【００１９】
[0058]例示的な動作環境について説明してきたが、次いで、ウェブアプリケーションがクライアントデバイス上に統合されることを可能にするインフラストラクチャーに関する論考について考察されたい。
【００２０】
統合インフラストラクチャー
[0059]１つまたは複数の実施形態によれば、ウェブサイトは、より一般的な「サイトモード（site mode）」の経験の一部として提供されるドメインナビゲーションを選択することができる。ドメインナビゲーションは、ウェブサイトが、ユーザーが特定のドメインの内側および外側のリンクにアクセスする際の自分たちの現行のウェブサイトの動作をカスタマイズできるようにする。開発者によって指定された境界の内側のリンクにアクセスする際には、コンテンツは、関連付けられたウェブアプリケーションの一部としてウェブアプリケーションモードブラウザーによってレンダリングされるウェブアプリケーションウィンドウ内でレンダリングされ消費されることが可能である。開発者によって指定された境界の外側のリンクにアクセスする際には、関連付けられたコンテンツは、ウェブアプリケーションモードブラウザーの外側にあるデフォルトブラウザーの内側でレンダリングされ消費されることが可能である。これは、ウェブサイトが、どのドメインがそのウェブサイトの拡張として扱われるべきか、およびどれがそのウェブサイトの拡張として扱われるべきでないかを定義できるようにする。
【００２１】
[0060]１つまたは複数の実施形態においては、ナビゲーションドメインは、ウェブ開発者によって定義されることが可能であり、統合されたウェブサイトの一部としてウェブアプリケーションモードブラウザーによって表示されるか、またはウェブアプリケーションモードブラウザーの外側でデフォルトブラウザー内に表示されるコンテンツのリンクを識別することができる。さらに、ウェブアプリケーションページの集合を共に関連付けるために使用されるデフォルトドメインパラメータが定義されることが可能である。
【００２２】
[0061]一例として、下記のインラインドメインページ定義（in-line domain page definition）を考察されたい。
*contoso.crm.dynamics.com\*;*.microsoft.com\*;
[0062]このドメインページ定義は、そのすぐ下のフォームのＵＲＩが同じデスクトップウェブアプリケーションウィンドウ内に表示されることを可能にする。
sales.contoso.crm.dynamics.com\*
hr.contoso.crm.dynamics\*
*.microsoft.com\crm\
[0063]同様に、このドメインページ定義は、その他のＵＲＩが、たとえリンク参照がデスクトップウェブアプリケーションウィンドウ内のページの内側にあっても、デスクトップウェブアプリケーションウィンドウの外側に表示されるようにする。
www.bing.com
home.live.com
[0064]上記のドメインページ定義においては、ウェブアプリケーションインストールＡＰＩの内側でワイルドカードが利用される。このＡＰＩは、典型的には、ウェブサイトによって提供されるウェブサイト統合リンクをユーザーが選択すると、ウェブサイトによってコールされる。このＡＰＩは、デスクトップ、タスクバー、またはスタートメニュー、またはウェブサイトショートカットを起動するために使用されることになるその他の任意の適切な場所における情報およびコンテンツをウェブアプリケーションファイルすなわち「．ｗｅｂａｐｐ」ファイルに投入することができる。ウェブアプリケーションファイルを示すために任意の適切なファイル拡張子が使用されることが可能であるということを認識および理解されたい。ナビゲーションドメインおよびその他の境界の情報は、．ｗｅｂａｐｐファイル内に格納される。
【００２３】
[0065]．ｗｅｂａｐｐファイルが起動されると、その内部のナビゲーションドメインが、ウェブアプリケーションモードブラウザー１１１によって施行される。ユーザーによって選択されたリンク、またはウェブサイトによってアクセスされたリンクは、ワイルドカードドメインとマッチする限り、ウェブアプリケーションウィンドウの内側で実行し続ける。しかし、定義されたナビゲーションドメインの外側にあるウェブサイトが検知されると、デフォルトブラウザーが、インスタンス化されるかまたはその他の形で使用され、そのウェブサイトに関連付けられたコンテンツが、ウェブアプリケーションウィンドウの外側に、かつデフォルトブラウザーの内側に表示される。
【００２４】
[0066]一例として、図２を考察されたい。図２は、ａ．ｃｏｍ（２０２）、ｂ．ｃｏｍ（２０４）、およびｄ．ｃｏｍ（２０６）のナビゲーションドメインセットを有するウェブアプリケーションウィンドウ２００を示し、これは、これらのドメインからのすべてのページが、ウェブアプリケーションウィンドウ２００の内側に表示されることを意味する。ｃ．ｃｏｍ（２０８）またはｅ．ｃｏｍ（２１０）からのページは、ウェブアプリケーションウィンドウ２００内からアクセスされると、デフォルトブラウザーウィンドウに表示され、ウェブアプリケーションウィンドウ２００には表示されない。
【００２５】
[0067]図３は、１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ  ＡＰＩを３００で示す。示されたＪａｖａＳｃｒｉｐｔ  ＡＰＩは、ウェブサイトがウェブアプリケーションをクライアントデスクトップと統合できるようにする。このＡＰＩは、ウェブアプリケーションまたはランタイムエンジンによって施行されることになるナビゲーションドメインを定義する。この例においては、ナビゲーションドメインは、上述のようなワイルドカード表現を使用して記述される。このＡＰＩは、クライアントデバイス上のコンテンツおよび情報を．ｗｅｂａｐｐアプリケーションファイル３０２に投入すること、またはそれらのコンテンツおよび情報で．ｗｅｂａｐｐアプリケーションファイル３０２を更新することを可能にし、ナビゲーションドメインおよびその他の情報を．ｗｅｂａｐｐアプリケーションファイル３０２に格納する。これらのナビゲーションドメインは、ウェブアプリケーションが起動されるときに施行される。
【００２６】
[0068]図示され説明された実施形態においては、．ｗｅｂａｐｐアプリケーションファイル３０２は、ウェブサイトが自分のサイトモード構成に関して定義した情報を含む。この情報は、ウェブアプリケーションモードブラウザーによって表示される最初のページであるスタートＵＲＬと、ウェブサイトが指定したナビゲーションドメインのすべてと、ウェブアプリケーションタイトルと、いわゆるファビコンとを含む。以降で説明されるように、その他の情報が含まれることも可能である。
【００２７】
[0069]次いで、ウェブアプリケーションがクライアント側で起動されると、ウェブアプリケーションモードブラウザーは、ウェブアプリケーションファイルを読み取り、その中で定義された境界を施行する。上述のように、ウェブアプリケーション経験は、特定のウェブサイトおよびそのニュアンスに精通した開発者によって定義されるため、完全な統合されたユーザー経験が提供されることが可能である。
【００２８】
[0070]図４は、１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアントデバイス上で実行するソフトウェアによって実行される。
【００２９】
[0071]ステップ４００は、ウェブサイト統合機能を選択する。このステップは、任意の適切な方法で実行されることが可能である。典型的には、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために手段を選択するか、またはその他の形でアクションを起こすと、実行される。たとえばユーザーは、ウェブアプリケーションを統合できるようにするリンクを選択することができる。これがどのようにして行われることが可能であるかについての具体的な例が、以降で提供される。
【００３０】
[0072]ステップ４０２は、クライアントデバイス上で、ウェブアプリケーションファイル（ここでは、「．ｗｅｂａｐｐ」ファイルと示される）を作成する。このファイルは、はじめに作成されたときには、ウェブサイトから、またはウェブサイトのために受け取られるコンテンツおよび情報が後に投入されることが可能であるアーチファクト（artifact）またはシェル（shell）を構成することができる。ステップ４０４は、ウェブアプリケーションコンテンツをウェブアプリケーションファイルに投入する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、このステップは、ＪａｖａＳｃｒｉｐｔ  ＡＰＩの使用を通じて実行されることが可能であり、そのＪａｖａＳｃｒｉｐｔ  ＡＰＩの例は、上記および下記で提供されている。代替として、または追加として、このステップは、ＨＴＭＬなどのマークアップの使用を通じて実行されることが可能である。
【００３１】
[0073]クライアント上にウェブアプリケーションファイルを作成し、そのウェブアプリケーションファイルにコンテンツを投入すると、ウェブアプリケーションは、起動され対話されることが可能になる。
【００３２】
[0074]図５は、１つまたは複数の実施形態によるウェブアプリケーション対話方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェア、およびウェブサイトをサポートするサーバにおいて実行するソフトウェアによって実行される。したがって、この図の１つの列は、クライアントによって、またはクライアントにおいて、たとえばウェブアプリケーションモードブラウザーによって実行されるステップを示すために「クライアント」と表示され、１つの列は、ウェブサイトによって、またはウェブサイトのために実行されるステップを示すために「ウェブサイト」と表示される。
【００３３】
[0075]ステップ５００は、サイトモードのユーザー選択を受け取る。このステップは、任意の適切な方法で実行されることが可能である。たとえば、サイトモード選択を受け取るために、クライアントデスクトップ上にインストールされたショートカットが利用されることが可能である。サイトモード選択を受け取ったことに応答して、ステップ５０２は、スタートＵＲＬを要求する。スタートＵＲＬは、上述のウェブアプリケーションファイル内で見つけられることが可能である。
【００３４】
[0076]ステップ５０４は、スタートＵＲＬ要求を受け取る。ステップ５０６は、スタートＵＲＬに関連付けられたコンテンツを含む、関連付けられたウェブリソースをクライアントに返す。
【００３５】
[0077]ステップ５０８は、関連付けられたウェブリソースを受け取り、ステップ５１０は、それらのウェブリソースをウェブアプリケーションウィンドウ内にレンダリングする。上述のように、ウェブアプリケーションウィンドウは、ウェブアプリケーションモードブラウザーによってレンダリングされる。ステップ５１２は、ウェブアプリケーションウィンドウ内にレンダリングされたリソースに関するユーザー対話を受け取る。ユーザー対話は、任意の適切なタイプのユーザー対話を含むことができる。たとえばユーザー対話は、ウェブアプリケーションウィンドウ内から生じるナビゲーションアクティビティーを含むことができる。ステップ５１４は、ユーザー対話が、ウェブアプリケーションファイルによって定義された境界内にあるかどうかを確かめる。ユーザー対話が、ウェブアプリケーションファイルによって定義された境界内にある場合には、ステップ５１６は、ユーザー対話に関連付けられたコンテンツをウェブアプリケーションウィンドウ内にレンダリングする。その一方で、ユーザー対話が、ウェブアプリケーションファイルによって定義された境界内にない場合には、ステップ５１８は、ユーザー対話に関連付けられたコンテンツをデフォルトウェブブラウザー内にレンダリングする。
【００３６】
[0078]このようにして、ウェブサイト開発者によって所望されるとおりにユーザー経験が保持されることを確実にするために、特定のウェブサイトに関してそれらの開発者によって定義された境界が施行されることが可能である。たとえば、ウェブサイトによって定義されたスタートＵＲＬはホームページであり、ウェブアプリケーションモードにおけるそのホームページへの以降のアクセスは、ユーザーの独自に定義したブラウザーホームページではなく、スタートＵＲＬへとナビゲートする。これは、何らかの無関係なホームページではなく、ウェブアプリケーション固有のページへの迅速なアクセスを可能にする。これは、エンドユーザーが、正確に機能することもあれば正確に機能しないこともある自分たち自身のサイト固有の経験を定義しなければならない状況を緩和する。したがって、完全な、統合された、インテリジェントに管理された経験が、エンドユーザーに提供されることが可能である。
【００３７】
[0079]例示的なインストールおよび対話の経験について説明してきたが、次いで、ジャンプリスト統合の概念について考察されたい。
ジャンプリスト統合
[0080]１つまたは複数の実施形態においては、開発者は、ウェブサイトと対話するために使用されることが可能であるデスクトップ統合中の一連のいわゆるジャンプリストタスクをウェブサイトが定義できるようにすることができる。さらに、少なくともいくつかの実施形態においては、ウェブサイトは、カスタムジャンプリストを作成および更新することができる。
【００３８】
[0081]ジャンプリストは、ユーザーに提示される関連するタスクまたはコンテンツのセットを構成するリストと考えられることが可能である。ジャンプリストを通じて、ウェブサイトは、ユーザーに対する関連する有用な情報の抽出を促進することができる。ジャンプリストは、特定のウェブアプリケーションの性能または機能に関連する。たとえば、電子メールアプリケーション用のジャンプリストは、連絡先を開く能力、新たな電子メールメッセージを作成する能力などをユーザーに与えるタスクを含むことができる。いくつかの場合においては、ジャンプリストは、関連する最も頻繁に使用されるコマンドおよびデータのリストを含むことができる。
【００３９】
[0082]１つまたは複数の実施形態においては、ジャンプリスト機能は、静的な要素と動的な要素の両方を含むように実装されることが可能である。
[0083]開発者は、上述のようにウェブアプリケーションファイルを投入するウェブアプリケーションインストールプロセスの間に静的な要素を定義することができる。静的な要素に関連付けられた設定は、ウェブアプリケーションファイル内に格納されることが可能である。１つまたは複数の実施形態においては、それらの設定は、リスト名および関連付けられたタスクを含むことができる。少なくともいくつかの場合においては、静的な要素は、一般に使用される機能を表す要素を構成することができる。
【００４０】
[0084]動的な要素に関連付けられた設定は、ウェブアプリケーションウィンドウ内で動作するウェブサイトページによって駆動されることが可能である。これらの設定は、ユーザーにとって識別可能な表示（しるし、indicia）を動的に表示する設定を含む。たとえば、ある設定は、アイテムをカスタムジャンプリストに追加することができ、ある設定は、オーバーレイアイコンを表示することができ、オーバーレイアイコンの例は、以降で提供される。少なくともいくつかの実施形態においては、動的な設定は、ウェブアプリケーションが起動されるたびにクリアされることが可能であり、ウェブアプリケーションスクリプトコードによって構成されることが可能である。
【００４１】
[0085]一実施形態によるカスタムジャンプリストの一例として、図６を考察されたい。図６は、クライアントデスクトップの一部を全体として６００で示す。カスタムジャンプリスト６０２が、１つまたは複数の実施形態に従って表示される。ここでは、静的な要素が６０４で示され、動的な要素が６０６で示される。この例においては、静的な要素のリスト名は、「Ｔａｓｋｓ（タスク）」であり、タスクすなわち静的な要素は、「Ｎｅｗ  Ｅ−ｍａｉｌ  Ｍｅｓｓａｇｅ（新たな電子メールメッセージ）」、「Ｎｅｗ  Ａｐｐｏｉｎｔｍｅｎｔ（新たなアポイントメント」、「Ｎｅｗ  Ｃｏｎｔａｃｔ（新たな連絡先）」、および「Ｎｅｗ  Ｔａｓｋ（新たなタスク）」を含む。動的な要素のリスト名は、「Ｔｏｄａｙ（今日）」であり、タスクすなわち動的な要素は、この例においては、ユーザーのカレンダーから生成されるリマインダーを含む。動的な要素は、関連付けられたウェブサイトによって動的に投入される。したがって、この例においては、動的な要素またはコンテンツは、典型的にはユーザーのアクションとは無関係に、ユーザーに通知を提供することに関連付けられる。
【００４２】
[0086]上述のように、ジャンプリストは、デスクトップ統合プロセスの間に定義されることが可能である。タスクおよびジャンプリスト定義は、ウェブアプリケーションファイル内に格納されることが可能である。一例として、図７を考察されたい。図７は、１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ  ＡＰＩを７００で示す。示されたＪａｖａＳｃｒｉｐｔ  ＡＰＩは、ウェブサイトがクライアントデスクトップと統合すること、およびジャンプリストを定義することを可能にする。このＪａｖａＳｃｒｉｐｔ  ＡＰＩは、「ｃｕｓｔｏｍ  ｔａｓｋ（カスタムタスク）」および「ｃｕｓｔｏｍＪｕｍｐＬｉｓｔ（カスタムジャンプリスト）」の存在を除いて、図３に関して説明されたＪａｖａＳｃｒｉｐｔ  ＡＰＩと同じかまたは同様のものとすることができる。簡潔にするために、図３の内容のうちのいくつかが省略されている。少なくともいくつかの実施形態においては、ジャンプリストタスクの静的なリストの最初の作成は、マークアップによって、たとえばＨＴＭＬドキュメント内で定義されるＨＴＭＬタグを使用して定義されることが可能である。
【００４３】
[0087]たとえば、静的なリストの機能を記述するためにメタタグを使用するすぐ下の例を考察されたい。
<META name="msapplication-task"
content="name=Task;uri=http://marap/test3.html;icon-
uri=http://marap/icon3.ico"/>
[0088]タスクが実行される際、１つまたは複数の実施形態においては、数個のオプションがある。たとえば、タスクに関連付けられたＵＲＬは、現在閲覧されているウェブページを含む同じウェブアプリケーション／ブラウザーウィンドウ内で開かれることが可能である。代替として、または追加として、新たなページが起動されることも可能である。代替として、または追加として、新たなポップアップウィンドウが表示されることも可能である。
【００４４】
[0089]これらのパラメータは、定義されてシステムによって読み取られると、ユーザーが、ウェブサイトをスタートメニューに追加すること、または以降で説明されるようにウェブサイトをタスクバーに固定することなどによって、ウェブサイトを自分のデスクトップ上にインストールする際に、使用されることが可能である。同時に、少なくともいくつかの実施形態においては、ジャンプリスト上のウェブサイトクライアントコードによって操作されることが可能である動的な値のセットがある。
【００４５】
[0090]「カスタムタスク」は、上述のように静的なタスクを定義するためにウェブサイトによって利用される。この例においては、静的なタスクは、新たなメッセージの静的なタスクである。このＡＰＩは、デスクトップ上に．ｗｅｂａｐｐアプリケーションファイル７０２を作成し、（図３の例におけるような）ナビゲーションドメイン、およびジャンプリストに関連付けられた情報などのその他の情報を格納する。
【００４６】
[0091]図示され説明された実施形態においては、．ｗｅｂａｐｐアプリケーションファイル７０２は、ウェブサイトが自分のサイトモード構成に関して定義した情報を含む。この情報は、スタートＵＲＬと、ウェブサイトが指定したナビゲーションドメインのすべて（具体的には図示されていない）と、ウェブアプリケーションタイトルと、いわゆるファビコンとを含む。その他の情報は、上述の新たなメッセージに関連付けられたカスタムタスクと、「ｃｕｓｔｏｍ  ｌｉｓｔ（カスタムリスト）」とを含む。この例においては、カスタムリスト要素は、ウェブアプリケーションがクライアント上で動作しているときにウェブサイトによって動的に投入されることが可能である動的な要素である。ここでは、「ｆｒｉｅｎｄｓ（友人）」の表示は、動的なコンテンツに関連付けられるヘッダを含む。したがって、この場合には、動的なコンテンツは、ユーザーの友人がオンライン状態であるときにユーザーに通知を提供することに関連付けられる。ここでは、カスタムリストは、ウェブアプリケーション内に存在しない別個のＡＰＩである。しかしカスタムタスクは、ウェブアプリケーション内に存在する。
【００４７】
[0092]オペレーションにおいて、静的な要素に関連付けられたアイテムは、プリフェッチされ、ウェブアプリケーションが動作しているときのためにキャッシュに格納されることが可能である。その一方で、動的な要素に関連付けられたアイテムは、ウェブアプリケーションが動作しているときにウェブサイトによってオンザフライで提供されることが可能である。動的な要素に関連付けられたアイテムがどのようにしてウェブアプリケーションにオンザフライで提供されることが可能であるかについての実施例として、図８を考察されたい。
【００４８】
[0093]図８は、メッセージが着信したことをユーザーがわかるようにするためにウェブサイトがどのようにしてカスタムジャンプリストと動的に対話することができるかを示す。この例においては、ＪａｖａＳｃｒｉｐｔ８００は、ウェブサイトが、ウェブアプリケーションモードブラウザー内にホストされるページに更新をどのようにして送信することができるかを示す。ブラウザー内で実行されるクライアント側コードは、更新を受け取ること、スクリーン上のコンテンツを更新すること、およびジャンプリストにそのリストを更新したいという要求を送信することを担当する。この例においては、ウェブサイトは、リアルタイムの経験を提供するために情報をジャンプリストに押し出すことができる。ここでは、新たなメッセージ、たとえばＮｅｗ  Ｍｅｓｓａｇｅ０（新たなメッセージ０）およびＮｅｗ  Ｍｅｓｓａｇｅ１（新たなメッセージ１）がウェブサイトによって受け取られると、ジャンプリスト８０２を更新するためにウェブアプリケーションからＪａｖａＳｃｒｉｐｔ（登録商標）コールが行われることが可能である。少なくともいくつかの実施形態においては、関連する情報が受け取られたことをユーザーに知らせるための通知がタスクバー８０４内に現れることができる。通知は、タスクバー内の任意の適切な場所に現れることができ、任意の適切なタイプの通知を含むことができる。たとえば通知は、ウェブアプリケーションに関連付けられるアイコン８０６のところに、またはその付近に現れることができる。代替として、または追加として、通知は、ユーザーの注目を得るために点滅することができる。
【００４９】
[0094]一例として、図９を考察されたい。そこでは、クライアントデスクトップの一部が、全体として９００で示される。タスクバー９０１が、現在のウェブアプリケーションに関連付けられたアイコン９０２を含む。ここでは、オーバーレイアイコン９０４が、アイコン９０２内にレンダリングされていることに留意されたい。この例においては、ユーザーが新たなメッセージを受け取っており、オーバーリーアイコン９０４がアイコン９０２内にレンダリングされるようにするために、上述のように、ウェブサイトがウェブアプリケーションへのコールを行っている。これは、新たなメッセージが着信しているという通知をユーザーに提供する。オーバーリーアイコン９０４を見たことに応答して、ユーザーは、現在生じているまたは生じつつあるアポイントメントを示す要素９０８を表示するために、ジャンプリスト９０５にアクセスすることができる。要素９０６も表示されるということにも留意されたい。ＪａｖａＳｃｒｉｐｔ（登録商標）の抜粋９１０は、オーバーレイアイコンを更新するために使用されることが可能であるコードの一例を示す。
【００５０】
[0095]ウェブサイトとウェブアプリケーションの間における動的な対話は、その他のさまざまな方法で生じることができる。たとえば、少なくともいくつかの実施形態においては、ウェブサイトに関するユーザーのアクションに応答して、プレビューウィンドウが、ウェブサイトからジャンプリストに押し出されることが可能である。図示され説明された実施形態においては、プレビューウィンドウは、ウェブサイトによって提供されるミニチュアビューである。プレビューウィンドウは、任意の適切なタイプのユーザーアクションに応答して提供されることが可能である。たとえば、少なくともいくつかの実施形態においては、ウェブサイトに関連付けられたタスクバーアイコンの上でのマウスホバーに応答して、プレビューウィンドウが、ウェブサイトからジャンプリストに押し出されることが可能である。代替として、または追加として、ウェブアプリケーションのタスクバーアイコンの上にカーソルを置いて左クリックすることによって、プレビューウィンドウが提供されることも可能である。
【００５１】
[0096]一例として、図１０を考察されたい。そこでは、クライアントデスクトップの一部が、全体として１０００で示される。タスクバー１００１が、現在のウェブアプリケーションに関連付けられたアイコン１００２を含む。ここでは、ユーザーが自分のカーソルをアイコン１００２の上に置いていることに留意されたい。それに応答して、プレビューウィンドウ１００４がレンダリングされている。オペレーションにおいては、自分のカーソルをそのアイコンの上に置くというユーザーのアクションに応答して、イベントがウェブページに伝送される。次いで、そのイベントを受け取ったことに応答して、ウェブページは、プレビューを動的に提供すること、またはキャッシュに格納されていたプレビューウィンドウがレンダリングされるようにすることが可能である。
【００５２】
[0097]少なくともいくつかの実施形態においては、プレビューウィンドウは、ツールバーボタンおよび関連付けられた動作を定義するためにウェブサイトによって使用されることも可能である。たとえば、図示され説明された実施形態においては、ウェブアプリケーションは、メディアプレーヤーアプリケーションを含み、３つのツールバーボタンが、プレビューウィンドウ１００４の上にオーバーレイされるユーザーインターフェース手段１００６内に現れる。これらのボタンは、一時停止ボタン、停止ボタン、および再生ボタンを含む。少なくともいくつかの実施形態においては、ツールバーボタンは、リモートサーバと対話しなければならない状況を回避するクライアント側コードを使用して実装されることが可能である。たとえば個々のボタンは、特定のウェブページ用として登録されることが可能である。それぞれのボタンは、設定されてＩＤを割り当てられる。１つの「リスナー」が、すべてのボタンイベントに関して登録される。ボタンが押されると、イベントが生成され、ブラウザーに返信され、次いでブラウザーは、そのイベントを、登録されたイベントリスナーに伝える。そのイベントは、押されたボタンを含む。これは、ボタンどうしの間におけるあいまい性の除去を可能にする。
【００５３】
実施例
[0098]一実施例においては、ウェブ開発者は、ジャンプリスト内のカスタムリストを更新するために、およびタスクバーオーバーレイアイコンを更新するために、下記のＪａｖａＳｃｒｉｐｔ（登録商標）機能を使用することができる。
【００５４】
リスト作成動作
[0099]これは、カスタムリストのタイトルであるリスト名を定義する。この値は、リストヘッダとして表示されることになる。任意選択で、アイテムの名前と、そのアイテムに関するＵＲＩ値と、そのアイテムに関連付けられたイメージとを含むアイテムリストが、はじめにリストの投入を行うために提供されることが可能である。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。
【００５５】
リスト更新動作
[00100]特定のリストアイテムを更新するために、リストアイテム値が提供される。リストアイテム値は、アイテムに関する名前と、そのアイテムに関するＵＲＩ値と、アイテムに関連付けられたイメージとを含む。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。
【００５６】
オーバーレイアイコンの設定
[00101]現行のタスクバーアイコンのためのオーバーレイとして使用されることになるアイコンを指すＵＲＩ値が指定される。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。
【００５７】
プレビューイメージの設定
[00102]タスクバープレビューイメージ（またはサムバープレビュー（thumbbar preview））のための絵画表現として使用されることになるイメージを指すＵＲＩ。ユーザーがマウスの左ボタンでタスクバーアイコンをクリックすると、プレビューが表示される。
【００５８】
オーバーレイアイコンのクリア
[00103]これは、タスクバーアイコン上の現行のオーバーリーアイコンを取り除く。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。
【００５９】
[00104]ウェブ開発者は、特定のウェブサイトのタスクバープレビューウィンドウ内に表示される一式のツールバーボタンを定義および修正するために、下記のＪａｖａＳｃｒｉｐｔ（登録商標）機能を使用することができる。
【００６０】
ツールバーボタンのインストール
[00105]ボタンＩＤのリストが、ツールチップおよびイメージＵＲＬと共に指定される。イベントは、ユーザーがツールバーボタンを選択すると、処理用としてウェブサイトに渡される。次いでウェブサイトは、ボタンイベントどうしの間においてあいまい性を除去することができる。このコールは、ボタンが表示されるようにするためにサイトモードウィンドウが開かれると、少なくとも１回実行される。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされる。
【００６１】
イメージの更新
[00106]これは、指定されるボタンＩＤの状態および可視性を識別する。状態は、有効にされるかまたは無効にされることが可能である。少なくともいくつかの実施形態においては、デフォルトでは、ボタンは有効にされる。ビューは、表示または非表示のいずれかとすることができる。デフォルトでは、定義されたボタンは可視である。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされる。
【００６２】
[00107]図１１は、１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアントデバイス上で実行するソフトウェアによって実行される。
【００６３】
[00108]ステップ１１００は、ウェブサイト統合機能を選択する。このステップは、任意の適切な方法で実行されることが可能である。典型的には、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために手段を選択するか、またはその他の形でアクションを起こすと、実行される。たとえばユーザーは、ウェブアプリケーションを統合できるようにするリンクを選択することができる。これがどのようにして行われることが可能であるかについての具体的な例が、以降で提供される。
【００６４】
[00109]ステップ１１０２は、クライアントデバイス上で、ウェブアプリケーションファイル（ここでは、「．ｗｅｂａｐｐ」ファイルと示される）を作成する。このファイルは、はじめに作成されたときには、ウェブサイトから、またはウェブサイトのために受け取られるコンテンツおよび情報が後に投入されることが可能であるアーチファクトまたはシェルを構成することができる。ステップ１１０４は、この例においてはジャンプリストを含むウェブアプリケーションコンテンツをウェブアプリケーションファイルに投入する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、このステップは、ＪａｖａＳｃｒｉｐｔ  ＡＰＩの使用を通じて実行されることが可能であり、そのＪａｖａＳｃｒｉｐｔ  ＡＰＩの例は、上述のとおりである。代替として、または追加として、このステップの態様は、ＨＴＭＬなどのマークアップの使用を通じて実行されることが可能である。
【００６５】
[00110]クライアント上にウェブアプリケーションファイルを作成して投入を行うと、ウェブアプリケーションは、任意の適切なときに起動されることが可能になる。
[00111]図１２は、１つまたは複数の実施形態による方法のステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。
【００６６】
[00112]ステップ１２００は、ジャンプリストに関連付けられたユーザーアクションを受け取る。任意の適切なユーザーアクションが受け取られることが可能であり、それらのユーザーアクションの例は、上記で提供されている。たとえば、少なくともいくつかの実施形態においては、ユーザーアクションは、具体的に表示されたジャンプリストまたは表示されていないジャンプリストに関して受け取られることが可能である。代替として、または追加として、ユーザーアクションは、ウェブアプリケーションに関連付けられている表示されたアイコンに関して受け取られることが可能である。アイコンは、たとえばデスクトップタスクバーまたはその他の任意の適切な場所に表示されることが可能である。そのようなアクションの例は、上記で提供されている。
【００６７】
[00113]ステップ１２０２は、ユーザーアクションに関連付けられたコンテンツを提示する。たとえば、提示されるコンテンツは、ジャンプリストそのものを含むことができる。ジャンプリストは、任意の適切なタイプのユーザーアクションに応答して提示されることが可能であり、そのユーザーアクションの例は、上記で提供されている。提示されるコンテンツは、ジャンプリストそのもの以外のコンテンツを含むこともできる。たとえばカスタムプレビューウィンドウが、たとえばタスクバーアイコンを左クリックすることなどのユーザーアクションに応答して提示されることが可能である。たとえばユーザーは、新たな電子メールメッセージを作成または編成することを選択することができる。
【００６８】
[00114]図１３は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェア、およびウェブサイトをサポートするサーバにおいて実行するソフトウェアによって実行される。したがって、この図の１つの列は、クライアントによって、またはクライアントにおいて実行されるステップを示すために「クライアント」と表示され、１つの列は、ウェブサイトによって、またはウェブサイトのために実行されるステップを示すために「ウェブサイト」と表示される。
【００６９】
[00115]ステップ１３００は、動的なジャンプリストアイテムに関連付けられた情報を受け取る。任意の適切なジャンプリストアイテムが、情報が受け取られる際の基礎として機能することができ、そのジャンプリストアイテムの例は、上記で提供されている。ステップ１３０２は、通知を作成し、ステップ１３０４は、ウェブアプリケーションを実行するクライアントデバイスにその通知を伝送する。
【００７０】
[00116]ステップ１３０６は、その通知を受け取り、ステップ１３０８は、識別可能な通知をユーザーに提供する。任意の適切なタイプの識別可能な通知が提供されることが可能である。たとえば、少なくともいくつかの実施形態においては、識別可能な通知は、オーバーレイアイコンまたは点滅するウェブアプリケーションアイコンなどの視覚的に識別可能な通知とすることができる。代替として、または追加として、識別可能な通知は、ベルまたはブザーなどの可聴式に識別可能な通知を含むことができる。
【００７１】
[00117]ジャンプリスト統合に関連付けられたさまざまな実施形態について考察してきたが、次いで、ウェブサイトが１つまたは複数の実施形態に従ってどのようにしてタスクバーなどのデスクトップ機能に「固定される」ようになることができるかに関する論考について考察されたい。
【００７２】
タスクバーの固定
[00118]ウェブアプリケーションがクライアントデスクトップまたはタスクバーと統合されるようになることができるさまざまな方法がある。少なくともいくつかの実施形態においては、ウェブアプリケーションは、ドラッグアンドドロップオペレーションを通じてデスクトップと統合されることが可能である。代替として、または追加として、ウェブアプリケーションは、ウェブブラウザーのメニュー選択を介して統合されることが可能である。代替として、または追加として、ウェブアプリケーションは、関連付けられたウェブサイトそのものによって統合されることが可能である。これらの実施形態のそれぞれは、以降でそれ自身の見出しのもとで論じられる。
【００７３】
ドラッグアンドドロップオペレーションを通じた統合
[00119]１つまたは複数の実施形態においては、ウェブアプリケーションは、ドラッグアンドドロップオペレーションを通じてデスクトップまたはタスクバーと統合されることが可能である。一例として、図１４を考察されたい。そこでは、クライアントデスクトップが、全体として１４００で示される。ウェブブラウザーウィンドウ１４０２は、ウェブサイトＵＲＬが中に表示された状態のアドレスバー１４０４を含む。ＵＲＬに関連して、「ファビコン」と呼ばれるアイコン１４０６が示される。加えて、デスクトップ１４００は、タスクバー１４０８を含む。
【００７４】
[00120]図１５は、１つまたは複数の実施形態によるドラッグアンドドロップオペレーションを図式的に示す。この例においては、カーソルがファビコン１４０６の上に置かれている。ファビコンを左クリックしてタスクバー１４０８へドラッグすることによって、関連付けられたウェブアプリケーション（この場合は、メッセージボードアプリケーション）が、デスクトップのタスクバー１４０８に固定されることが可能である。このドラッグアンドドロップオペレーションは、上述のようにウェブアプリケーションを統合する統合プロセスを始動し、ひいては、そのウェブアプリケーションをタスクバーに固定する。
【００７５】
[00121]１つまたは複数の実施態様においては、ウェブアプリケーションに関連付けられたウェブページがブラウザー内でタブを開かれている場合には、ファビコンがタスクバー上にドロップされると、関連付けられたタブは、ブラウザーのウィンドウから消えることができる。代替として、または追加として、タブが除去されるのではなく、代わりに、そのタブのコンテンツが「新たなタブ」のページに入れ替えられることが可能である。ブラウザーウィンドウ内で単一のタブが開かれている場合には、そのブラウザーウィンドウは、ファビコンがタスクバーに固定されると消えることになる。この時点で、元のサイトに含まれるタブは、ブラウザーが閉じる前に、ただしウェブアプリケーションが固定された後で、除去されることが可能である。さらに、少なくともいくつかの実施形態においては、ドラッグオペレーションがタスクバーに入るときに、固定機能をユーザーに知らせるために、「タスクバーに固定する」という形態のツールチップが提示されることが可能である。
【００７６】
[00122]さらに、タスクバーに固定されたウェブサイトまたはウェブアプリケーションの状態は、そのウェブアプリケーションが初めてインスタンス化されるときに、新たに表示されるウィンドウに移行されることが可能である。これは、ユーザーがそのアプリケーションを使用できるようになるためにサイトに証明書を再入力することを不要とすることができる。
【００７７】
[00123]ウェブサイトまたはウェブアプリケーションをタスクバーに固定して、上述のようなインストールプロセスを完了すると、ウェブアプリケーションは、関連付けられたファビコンをクリックするだけでタスクバーから起動されることが可能となる。
【００７８】
[00124]図１６は、１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。
【００７９】
[00125]ステップ１６００は、ウェブアプリケーションインストールに関連付けられたドラッグアンドドロップオペレーションの表示を受け取る。このステップは、任意の適切な方法で実行されることが可能である。すぐ上で説明された実施形態においては、このステップは、ユーザーが、関連付けられたウェブアプリケーションを自分のデスクトップに統合したいという希望をウェブサイトに示すために、ウェブサイトに関連付けられたファビコンなどのアイコンをドラッグアンドドロップすると、実行される。たとえばユーザーは、タスクバー、クイック起動エリア、または、デスクトップキャンバスなど、デスクトップ上のその他の何らかの場所にファビコンをドラッグアンドドロップすることができる。ステップ１６０２は、ドラッグアンドドロップオペレーションに応答してウェブアプリケーションファイルを作成する。図示され説明された実施形態においては、はじめに作成されるウェブアプリケーションファイルは、ジャンプリストタスク、スタートＵＲＬ、ファビコン、または、静的なジャンプリストタスク、代替スタートＵＲＬ、代替ファビコンなどのその他のプロパティーなど、関連付けられたウェブサイトからの情報をまだ含まないアーチファクトまたはシェルである。これらは、上述のような新たなマークアップおよび／またはＪａｖａＳｃｒｉｐｔ  ＡＰＩを通じて後から追加されることが可能である。ＪａｖａＳｃｒｉｐｔ  ＡＰＩを採用する技術以外の技術が、特許請求される主題の趣旨および範囲から逸脱することなく利用されることが可能であるということを認識および理解されたい。
【００８０】
ブラウザーメニュー選択を通じた統合
[00126]１つまたは複数の実施形態においては、ウェブアプリケーションは、ウェブブラウザーのメニュー選択を介して統合されることが可能である。一例として、図１７を考察されたい。そこでは、クライアントデスクトップが、全体として１７００で示される。ウェブブラウザーウィンドウ１７０２は、ＵＲＬが表示された状態のアドレスバー１７０４を含む。さらにデスクトップ１７００は、タスクバー１７０６を含む。ページメニューの形態のブラウザーメニューアイテム１７０８が示される。メニュー選択１７１０を表示するためにページメニューをドロップダウンすることによって、メニューアイテムまたは選択「Ａｄｄ  ｔｏ  Ｓｔａｒｔ  Ｍｅｎｕ（スタートメニューに追加）」が表示される。このオプションを選択することによって、ウェブサイトまたはウェブアプリケーションがデスクトップのスタートメニューに追加されることが可能であり、上述のようにインストールプロセスが開始されることが可能である。代替として、または追加として、インストールプロセスの開始を可能にするために「Ａｄｄ  ｔｏ  Ｔａｓｋ  Ｂａｒ（タスクバーに追加）」のメニューアイテムまたは選択が表示されることも可能である。
【００８１】
[00127]図１８は、１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。
【００８２】
[00128]ステップ１８００は、ブラウザーメニュー選択を受け取る。このステップは、任意の適切な方法で実行されることが可能である。すぐ上で説明された実施形態においては、このステップは、ユーザーが特定のウェブサイトへナビゲートし、ブラウザーメニューをドロップダウンしてメニュー選択を表示し、そのウェブサイトに関連付けられたウェブアプリケーションのインストールを開始することに関連付けられたメニューアイテムを選択することによってアクションを起こすと、実行される。
【００８３】
[00129]ステップ１８０２は、ブラウザーメニュー選択を受け取ったことに応答してウェブアプリケーションファイルを作成する。図示され説明された実施形態においては、はじめに作成されるウェブアプリケーションファイルは、ジャンプリストタスク、スタートＵＲＬ、ファビコンなど、関連付けられたウェブサイトからの情報をまだ含まないアーチファクトまたはシェルである。これらは、上述のような新たなマークアップおよび／またはＪａｖａＳｃｒｉｐｔ  ＡＰＩを通じて後から追加されることが可能である。ＪａｖａＳｃｒｉｐｔ  ＡＰＩを採用する技術以外の技術が、特許請求される主題の趣旨および範囲から逸脱することなく利用されることが可能であるということを認識および理解されたい。
【００８４】
関連付けられたウェブサイトを通じた統合
[00130]１つまたは複数の実施形態においては、デスクトップとウェブアプリケーションの統合は、ウェブページから生じることができる。これらの実施形態においては、特定のウェブサイトが、ウェブアプリケーションをデスクトップ内に統合するための、ＪａｖａＳｃｒｉｐｔ（登録商標）などのコードを使用することによる統合アクティビティーを選択することができる。これは、ウェブサイトが統合開始手段をコントロールできるようにする。
【００８５】
[00131]一例として、図１９を考察されたい。そこでは、クライアントデスクトップが、全体として１９００で示される。ウェブブラウザーウィンドウ１９０２は、ＵＲＬが中に表示された状態のアドレスバー１９０４を含む。加えて、デスクトップ１９００は、タスクバー１９０６を含む。さらに、ブラウザーウィンドウ１９０２内に表示されたウェブページは、「Ａｄｄ  ｔｏ  Ｄｅｓｋｔｏｐ（デスクトップに追加）」と題されたリンク１９０８を含む。このリンクをクリックすることによって、ユーザーは、上述のようなウェブアプリケーションインストールプロセスを開始することができる。
【００８６】
[00132]少なくともいくつかの実施形態においては、リンク選択が行われると、ユーザーが行おうとしているユーザーアクションと、新たに作成されたショートカットにアクセスするのはどこかとを説明するモーダル確認ダイアログが提示されることが可能である。この確認ダイアログは、提示されているページのソースＵＲＬをユーザーに提示することができる。表示されるＵＲＬは、ウェブサイトのフルパスを含むことができる。これは、ユーザーがインストールしたいと望むウェブサイトが正しいサイトから提供されていることをユーザーが確認できるようにすることができる。これは、悪意あるサブディレクトリーに関連する状況を緩和することができる。
【００８７】
[00133]さまざまな実施態様においては、デスクトップと統合されることになるウェブサイトのＵＲＬがチェックされて、そのウェブサイトが、そのウェブサイトを含むウェブページと同じドメイン上にあることが確認される。そのウェブサイトが、そのウェブサイトを含むウェブページと同じドメイン上にない場合には、エラーが表示されることが可能であり、そのオペレーションは、失敗に終わる可能性がある。ユーザーがオペレーションを確認すると、ダイアログが除去されることが可能であり、ウェブアプリケーションウィンドウが、正しいＵＲＬを伴って表示されることが可能である。
【００８８】
[00134]図２０は、１つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。
【００８９】
[00135]ステップ２０００は、統合リンクを伴うウェブページを表示する。このステップは、任意の適切な方法で実行されることが可能であり、その方法の例は、上記で提供されている。ステップ２００２は、統合リンクの選択を受け取る。ステップ２００４は、リンクの選択を受け取ったことに応答してウェブアプリケーションファイルを作成する。図示され説明された実施形態においては、はじめに作成されるウェブアプリケーションファイルは、ジャンプリストタスク、スタートＵＲＬ、ファビコンなど、関連付けられたウェブサイトからの情報をまだ含まないアーチファクトまたはシェルである。これらは、上述のような新たなマークアップおよび／またはＪａｖａＳｃｒｉｐｔ  ＡＰＩを通じて後から追加されることが可能である。ＪａｖａＳｃｒｉｐｔ  ＡＰＩを採用する技術以外の技術が、特許請求される主題の趣旨および範囲から逸脱することなく利用されることが可能であるということを認識および理解されたい。
【００９０】
[00136]少なくともいくつかの実施形態においては、ウェブアプリケーションに関連付けられた複数のウィンドウまたはタブの視覚的な表示が、ユーザーに提供されることが可能である。一例として、図２１を考察されたい。そこでは、デスクトップ２１００が、ウェブアプリケーションアイコンが固定されているタスクバー２１０２を含む。アイコンをクリックすることによってウェブアプリケーションを起動するために、カーソルが使用されている。この例においては、ユーザーが、ウェブアプリケーションのスターティングページを使用して、複数のページへナビゲートしたと想定する。ウェブアプリケーションは、ユーザーがナビゲートした先のウェブページの集合２１０４を示す視覚化を可能にすることができる。具体的には、この例においては、集合２１０４は、ウェブアプリケーションのためのスターティングページ２１０６と、ユーザーがスターティングページからナビゲートした先の後続のページ２１０８および２１１０とを含む。
【００９１】
[00137]さまざまなウェブアプリケーション統合技術について考察してきたが、次いで、ユーザー証明書がどのようにしてウェブアプリケーションのためのログインセッションに関連付けられることが可能であるかに関する論考について考察されたい。
【００９２】
証明書とログインセッションの関連付け
[00138]さまざまな実施形態は、ログイン／証明書情報（login or credential information）を利用するウェブサイトに関連付けられる１つまたは複数のウェブアプリケーションが、１つのウェブアプリケーションの別々のインスタンスにわたってログイン／証明書情報を保持する様式で統合されることを可能にする。
【００９３】
[00139]ブラウザーが、ログイン／証明書情報を利用するウェブサイトへナビゲートする場合には、そのログイン／証明書情報は、手動で入力されるか、または証明書ストアから検索されることが可能である。証明書ストアは、限定ではなく例として、ユーザー名およびパスワード、または特定のＵＲＬに関するユーザーの証明書など、ユーザーログイン情報を含むことができる。同一のＵＲＬまたはウェブサイトは、それぞれが別々のユーザーに関連付けられた複数のエントリーを有することができる。同様に、証明書ストアは、複数のＵＲＬに関するユーザーログイン情報または証明書を含むことができる。
【００９４】
[00140]少なくともいくつかの実施形態においては、ユーザーがログインされているウェブサイトに関連付けられたウェブアプリケーションが、上述のようにデスクトップ上に統合され、対話されることが可能である。そのようなウェブアプリケーションが統合されるときに、プロセスは、そのウェブアプリケーションが関連付けられているのはどのウェブサイトかを、ならびにそのウェブサイトにログオンされているユーザーを特定する。プロセスは、関連付けられたログイン情報および／または証明書を求めて証明書ストアを検索する。次いでプロセスは、ユーザーと、作成されたウェブアプリケーションと、関連する証明書との間における関連付けを作成する。
【００９５】
[00141]一例として、図２２を考察されたい。図２２は、１つまたは複数の実施形態による、ウェブサイトと、証明書ストアと、ウェブアプリケーションとの間における関係を示す。ブラウザー２２００が、ログイン情報を利用するウェブサイトを表示する。ＵＲＬを表示することに加えて、上述のようにウェブアプリケーションの統合を容易にするために選択されることが可能であるアイコン２２１０が表示される。証明書ストア２２２０が、複数のウェブサイトに関するログイン情報を含むエントリーを含む。そのような１つのエントリーが、２２３０で示される。ここでは、そのエントリーは、ウェブサイトＵＲＬ、ユーザー名、およびパスワードを含む。図２２は、ログイン情報を、ユーザー名およびパスワードを含むものとして示すが、他の形態のログイン情報または証明書が採用されることも可能であるということを認識および理解されたい。
【００９６】
[00142]１つまたは複数の実施形態においては、アイコン２２１０は、上述のように、かつアイコン２２４０によって示されるように、選択されてタスクバー２２３５上にドラッグアンドドロップされることが可能である。この手順は、ウェブサイトに関連付けられたウェブアプリケーションの統合を開始する。選択が受け取られると、プロセスは、どのユーザーが現在そのウェブサイトにログオンされているかを特定し、関連付けられた証明書を求めて証明書ストア２２２０を検索する。しかし、関連付けられた証明書は、特許請求される主題の趣旨から逸脱することなく、その他の方法で特定および／または入手されることが可能であるということを認識および理解されたい。
【００９７】
[00143]ユーザーの証明書および／またはログイン情報を入手すると、証明書と、ウェブアプリケーション証明書ストア２２５０内のウェブアプリケーションとの間において関連付けが作成される。ウェブアプリケーション証明書ストア２２５０は、ウェブサイトと、ウェブアプリケーションと、関連する証明書との間における関連付けに関連するデータを含む１つまたは複数のエントリーを含む。
【００９８】
[00144]たとえば図２２は、エントリー２２６０を示し、このエントリー２２６０は、ユーザーｊｓｍｉｔｈに関するウェブサイト「ａ．ｃｏｍ」に関連するログイン情報を含むものとして示される。ＵＲＬ、ユーザー名、およびパスワード情報に加えて、エントリー２２６０は、ウェブアプリケーションを対応する証明書に関連付けるために使用されることが可能であるアプリケーションＩＤすなわち「ＡｐｐＩＤ」も含む。ウェブアプリケーション証明書ストア２２５０は、同じウェブサイト「ａ．ｃｏｍ」に関する一方で別のユーザー、ｂｓｍｉｔｈに関する第２のエントリー２２７０も含む。このメカニズムは、同じウェブサイトからの個々のウェブアプリケーションを別々のユーザーおよびそれらのユーザーの関連付けられた証明書に関連付けることを可能にする。
【００９９】
[00145]図２２には示されていないが、さまざまな形態のユーザーログイン情報および／または証明書が、１つのウェブアプリケーションに関連付けられることが可能である。たとえば一実施形態においては、関連付けは、証明書ストア２２２０内の情報へ戻るポインタまたは参照を含むことができる。別の実施形態においては、ウェブアプリケーション証明書ストア２２５０は、証明書ストアからコピーされた情報を含むことができる。さらに別の実施形態においては、ユーザー名およびパスワードとは別個の証明書、またはユーザー名およびパスワードに追加した証明書が、１つのウェブアプリケーションに関連付けられることが可能である。たとえばバイオメトリック情報が、ウェブアプリケーション証明書ストア内で作成される関連付けの基礎を形成することができる。
【０１００】
[00146]ウェブサイトと、証明書ストアと、ウェブアプリケーションとの間における関係について説明してきたが、次いで、関連付けられた証明書を採用するウェブサイトに関してウェブアプリケーションがどのようにして統合されることが可能であるかを考察されたい。
【０１０１】
関連付けられた証明書を伴うウェブアプリケーションの作成および起動
[00147]図２３は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。
【０１０２】
[00148]ステップ２３００は、ウェブサイト統合機能の選択を受け取る。これがどのようにして行われることが可能であるかの例は、上記で提供されている。上述のように、ウェブサイト統合機能は、クライアントのデスクトップ上におけるウェブアプリケーションのインストールに関連付けられる。ウェブサイト統合機能の選択を受け取ったことに応答して、ステップ２３０２は、上述のように、クライアントのデスクトップ上においてウェブアプリケーションをインストールするためのインストールプロセスを開始する。具体的には、クライアント上におけるこのプロセスの開始は、上述のようにウェブアプリケーションファイルを作成することを含むことができる。ステップ２３０４は、ウェブサイトに関連付けられた現在のウェブセッションに関連付けられたセッション情報を入手する。このステップは、任意の適切な方法で実行されることが可能である。たとえば一実施形態においては、セッション情報は、ウェブサイトに関連付けられたコンテンツをレンダリングするブラウザーと、インストールプロセスとの間における共有メモリーコンポーネントを使用して入手されることが可能である。別の実施形態においては、ウェブサイトは、ウェブサイト統合機能が選択されると、セッション情報を自動的に転送することができる。さらに別の実施形態においては、セッション情報がブラウザーによって格納されて、後からクエリーされることが可能である。
【０１０３】
[00149]セッション情報を入手したことに応答して、ステップ２３０６は、そのセッション情報に関連した証明書を入手する。一実施形態においては、証明書ストアは、ユーザーがログインされるウェブサイトに関連したログインおよび／または証明書を求めてクエリーされることが可能である。たとえば証明書ストアは、現在のセッションのウェブサイトおよびユーザーに関連付けられたユーザー名およびパスワードを求めてクエリーされることが可能である。ステップ２３０８は、セッション情報に関連した証明書および／またはログイン情報を１つのウェブアプリケーションに関連付ける。このステップは、任意の適切な方法で実行されることが可能である。たとえば証明書は、その後の参照のためにウェブアプリケーション証明書ストアにコピーされることが可能である。代替として、または追加として、証明書ストア内の証明書へのポインタまたは参照が、ウェブアプリケーション証明書ストア内に配置されることも可能である。１つのウェブアプリケーションのそれぞれのインスタンスと、関連した証明書および／またはログイン情報とに関する一意のＩＤを作成するために、セッション情報および／または証明書に少なくとも部分的に基づいて１つの識別番号が生成されることが可能である。この情報は、取得された証明書および／またはログイン情報を１つのウェブアプリケーションに関連付けるために、ウェブアプリケーション証明書ストアのエントリーに加えられることが可能である。しかし、特許請求される主題の趣旨および範囲から逸脱することなく、証明書を１つのウェブアプリケーションに関連付けるために任意の適切な技術が採用されることが可能であるということを認識および理解されたい。
【０１０４】
[00150]上述のように、それぞれのウェブアプリケーションインスタンスごとの一意のＩＤは、複数のウェブアプリケーションの複数のインスタンスが同じＵＲＬまたはウェブサイトに関連付けられ、かつ、それぞれのインスタンスが別々のユーザー証明書に関連付けられている状態を可能にする。
【０１０５】
[00151]図２４は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。
【０１０６】
[00152]ステップ２４００は、起動するウェブアプリケーションの選択を受け取る。このステップは、任意の適切な方法で実行されることが可能である。たとえばアイコンの選択は、上述のように、そのアイコンが固定されているタスクバーから行われることが可能である。代替として、または追加として、デスクトップスタートメニューまたはシステムツールバーからの選択が行われることも可能である。起動するウェブアプリケーションの選択を受け取ると、ステップ２４０２は、ウェブアプリケーションに関連付けられた証明書を検索する。たとえば、１つまたは複数の実施形態においては、現在ログインされているユーザーに関するログイン情報を検索する目的でウェブアプリケーション証明書ストアを参照するために、ＡｐｐＩＤが使用されることが可能である。ステップ２４０４は、ウェブアプリケーションおよび関連する証明書に関連付けられたＵＲＬおよび／またはＦｏｒｍＩＤを検索する。ステップ２４０２および２４０４で説明された情報を取得すると、ステップ２４０６は、ユーザーの介入を伴わずに、関連付けられたウェブサイトに自律的にログインする。ウェブサイトにログインすると、ステップ２４０８は、上述のように、スタートＵＲＬへナビゲートする。
【０１０７】
[00153]証明書に関連付けられた１つのウェブアプリケーションがどのようにして統合され起動されるかについて説明してきたが、次いで、関連付けられた証明書を伴う複数のウェブアプリケーションの複数のインスタンスに関する論考について考察されたい。
【０１０８】
関連付けられた証明書を伴う複数のウェブアプリケーションの複数のインスタンス
[00154]図２５は、証明書に関連付けられる複数のウェブアプリケーションインスタンスの一例を示す。ウェブアプリケーション証明書ストア２５００が、ウェブアプリケーションに関連するデータと、ウェブサイトに関する関連付けられた証明書とを含む。ウェブアプリケーション証明書ストア２５００内に含まれるのは、エントリー２５１０および２５２０であり、これらはそれぞれ、別々のユーザーに関する。図２５に示されるように、エントリー２５１０は、ウェブサイト「ａ．ｃｏｍ」に関連し、関連付けられたウェブサイトにログオンするために使用されるユーザー名ｊｓｍｉｔｈおよびパスワードｂｕｌｌｄｏｇｓなど、さらなる情報を含む。エントリー２５１０は、ＡｐｐＩＤを含み、このＡｐｐＩＤは、そのエントリーをウェブアプリケーション２５３０に関連付けるために使用される。エントリー２５２０は、同様にウェブサイト「ａ．ｃｏｍ」に関連し、その一方でユーザーｂｓｍｉｔｈに関するログイン情報を含み、ウェブアプリケーション２５４０に関連付けられる。図２５は、エントリーを、ＵＲＬ／ＦｏｒｍＩＤ、ユーザー名、パスワード、およびＡｐｐＩＤを含むように示すが、特許請求される主題の趣旨から逸脱することなく、別の形態の関連付けおよび証明書情報が使用されることが可能であるということを認識および理解されたい。したがって、ウェブアプリケーション証明書ストア内の複数のデータエントリーが、同じウェブサイトに関連付けられる別々のユーザー証明書をそれぞれが有してクライアントのデスクトップ上に統合される別々のウェブアプリケーションを識別するデータを含むことができる。
【０１０９】
[00155]１つまたは複数の実施形態においては、同じウェブサイトに関連付けられる１つまたは複数のウェブアプリケーションが存在すること、または同時にアクティブ化されることが可能である。たとえば、ウェブアプリケーションが、デスクトップツールバーを介して起動されることと、そのウェブアプリケーションが起動されるときに、関連付けられた証明書を使用して、関連付けられたユーザーをウェブサイトに自動的にログインさせることとを可能にするようにソフトウェアモジュールが構成されることが可能である。単一のウェブアプリケーションを起動することに加えて、第２のウェブアプリケーションが選択されて起動されるときに同じウェブサイトまたは別のウェブサイトのいずれかに関して別々のユーザー証明書を使用して第２のウェブアプリケーションが起動されることを可能にするようにソフトウェアモジュールが構成されることも可能である。
【０１１０】
[00156]たとえば、図２５の２つのウェブアプリケーション２５３０、２５４０は、同時にアクティブ化される。上述のように、それぞれは、ウェブサイト「ａ．ｃｏｍ」に関連し、その一方で別々の証明書を関連付けられている。ウェブアプリケーション２５３０は、選択されて起動される際に、ユーザーｊｓｍｉｔｈに関連付けられた証明書を使用して、ウェブサイト「ａ．ｃｏｍ」に自動的にログオンする。同様に、ウェブアプリケーション２５４０は、選択されて起動されるときに、ユーザーｂｓｍｉｔｈに関連付けられた証明書を使用して、ウェブサイト「ａ．ｃｏｍ」にログオンする。このように、同じウェブサイトに関連付けられた複数のウェブアプリケーションの複数のインスタンスが、同時にアクティブ化され、別々の証明書に関連付けられることが可能である。
【０１１１】
[00157]関連付けられた証明書を伴うウェブアプリケーションの作成および起動という概念について説明してきたが、次いで、ウェブアプリケーションタスクセッションに関する論考について考察されたい。
【０１１２】
ウェブアプリケーションタスクセッション
[00158]１つまたは複数の実施形態においては、ウェブアプリケーションに関連付けられた状態情報がシステムに保存されることを可能にするために、タスクセッションが作成されることが可能である。状態情報は、限定ではなく例として、セッションクッキー、ＪａｖａＳｃｒｉｐｔ（登録商標）状態、ＤＯＭ状態、フォーム状態、タブおよびウィンドウの配置、ウィンドウサイズ、ＵＲＬ、履歴などを含むことができる。
【０１１３】
[00159]特定のタスクセッションに関連付けられた状態情報が保存されるため、ウェブアプリケーションが、閉じられて、そのウェブアプリケーションに関する状態情報を復元またはリハイドレートするために後から再び開かれることが可能である。状態情報は、自動的に、または手動の選択プロセスを通じて保存されることが可能である。
【０１１４】
[00160]一例として、図２６を考察されたい。そこでは、デスクトップ２６００が、ウェブアプリケーションウィンドウ２６０２を含み、そのウェブアプリケーションウィンドウ２６０２は、旅行を計画するために利用されている。デスクトップ２６００は、タスクバー２６０４およびジャンプリスト２６０６も含む。ウェブアプリケーションディレクトリー２６０８が、ストレージ機能を提供し、このストレージ機能は、タスクセッション状態情報を格納するために利用されることが可能である。図示され説明された実施形態においては、ウェブアプリケーションディレクトリー２６０８が、システムのユーザースペース内に作成される。この例においては、ユーザーは、保存されている２つのタスクセッション、すなわち、プエルトリコ旅行に関連付けられたタスクセッションと、アラスカ旅行に関連付けられたタスクセッションとを有する。
【０１１５】
[00161]オペレーションにおいて、ユーザーは、ウェブアプリケーションと対話するときに、タスクセッションを作成および保存することを、任意の適切な手段を通じて選択することができる。図示された例においては、ジャンプリスト２６０６は、２つのエントリーを含むメニューアイテム「Ｔａｓｋｓ（タスク）」を有する。第１のエントリー「Ｎｅｗ  Ｔａｓｋ  Ｓｅｓｓｉｏｎ（新たなタスクセッション）」は、ユーザーが新たなタスクセッションを作成することを可能にする。第２のエントリー「Ｓａｖｅ  Ｃｕｒｒｅｎｔ  Ｔａｓｋ（現在のタスクを保存）」は、ユーザーが現在のタスクを保存することを可能にする。現在のタスクを保存することによって、タスクに関連付けられた状態情報が、ウェブアプリケーションディレクトリー２６０８に保存される。「Ｏｐｅｎ  Ｔａｓｋ  Ｓｅｓｓｉｏｎｓ（タスクセッションを開く）」と題されたメニューアイテムは、ウェブアプリケーションディレクトリー２６０８に保存された前のタスクセッションをユーザーが復元またはリハイドレートすることを可能にするエントリーを含む。ここでは、２つの前述した、前に保存されたタスクセッション、すなわちプエルトリコ旅行およびアラスカ旅行がある。
【０１１６】
[00162]上記の例からわかるように、個々のウェブアプリケーションに関して複数のタスクセッションが作成および保存されることが可能である。タスクセッションが保存される場合には、ウェブアプリケーションに関連付けられたアプリケーションＩＤが、そのタスクセッションと共に保存されることが可能である。次いで、保存されたタスクセッションに関連付けられた情報をどのウェブアプリケーションが利用することになるかを特定するために、アプリケーションＩＤが使用されることが可能である。
【０１１７】
[00163]タスクセッションが作成および保存されることを可能にするために、任意の適切な技術およびアプローチが利用されることが可能である。少なくともいくつかの実施形態においては、本システムは、本システムのウェブブラウザーに関連付けられたクラッシュ回復システムを活用またはその他の形で利用することができる。この場合には、たとえばユーザーが、現在のタスクを保存すること、または新たなタスクセッションを作成することを選択すると、クラッシュ回復機能がトリガーされることが可能である。このクラッシュ回復機能は、「ａｐｐｄａｔａ」ファイルを作成することができ、この「ａｐｐｄａｔａ」ファイルは、ユーザーのアプリケーションデータディレクトリー内に存在し、タスクセッションに関連付けられた情報を保存するために使用されることが可能である。クラッシュ回復システムの具体的なオペレーションは、当業者によって理解されるであろう。したがって、簡潔にするために、そのようなシステムは、本明細書においては説明されない。
【０１１８】
[00164]図２７は、１つまたは複数の実施形態による、タスクセッション状態情報を保存するための方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。
【０１１９】
[00165]ステップ２７００は、タスクセッション状態情報を保存することに関連付けられた入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、受け取られる入力は、ユーザーから受け取られる入力を含むことができる。代替として、または追加として、入力は、何らかのタイプの自動的な、プログラムによる入力を含むことができる。少なくともいくつかの実施形態においては、ユーザー入力は、ジャンプリストを介して受け取られることが可能である。代替として、または追加として、ユーザー入力は、ショートカットを介して受け取られることが可能である。図示され説明された実施形態においては、ユーザー入力は、ウェブアプリケーションに関連付けられたタスクセッション状態情報を保存したいとユーザーが望んでいることを示す。ステップ２７０２は、ウェブアプリケーションディレクトリー内のタスクセッションデータ構造を作成するか、またはその他の形でそのタスクセッションデータ構造にアクセスする。タスクセッションデータ構造は、タスクセッション状態情報を保存するために利用される。ステップ２７０４は、タスクセッション状態情報をデータ構造内に保存する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、このステップは、ユーザーがタスクセッション状態情報を保存することを選択すると、実行されることが可能である。代替として、または追加として、このステップは、ウェブアプリケーションとユーザーの対話中に定期的に実行されることが可能である。少なくともいくつかの実施形態においては、ステップ２７０２および２７０４は、ウェブブラウザーのクラッシュ回復システムを利用することによって実行されることが可能である。しかし、特許請求される主題の趣旨および範囲から逸脱することなく、他の技術が利用されることが可能であるということを認識および理解されたい。
【０１２０】
[00166]図２８は、１つまたは複数の実施形態による、状態情報が保存されているタスクセッションを復元するための方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。
【０１２１】
[00167]ステップ２８００は、状態情報が前に保存されたタスクセッションを復元することに関連付けられたユーザー入力を受け取る。ステップ２８０２は、ウェブアプリケーションディレクトリー内のタスクセッションデータ構造にアクセスする。上述のように、タスクセッションの状態情報は、タスクセッションデータ構造内に保存される。ステップ２８０４は、ウェブアプリケーションディレクトリーからタスクセッション状態情報を検索する。ステップ２８０６は、関連付けられたウェブアプリケーションを起動し、ウェブアプリケーションディレクトリーから検索されたタスクセッション状態情報を使用してタスクセッションを復元する。
【０１２２】
[00168]タスクセッション状態情報を保存および再利用するという概念について説明してきたが、次いで、ウェブアプリケーションとブラウザーの間においてどのようにして遷移が実行されることが可能であるかを考察されたい。
【０１２３】
ウェブアプリケーションとブラウザーの間における遷移
[00169]１つまたは複数の実施形態においては、ウェブアプリケーションは、そのウェブアプリケーションを可能にするウェブアプリケーションモードブラウザーによって提供されることが不可能であるブラウザー性能を活用できるようにするために、ブラウザー経験に遷移することができる。これは、いくつかの実施形態において、ウェブアプリケーションモードブラウザーが、よりサイト固有の経験を開発者たちが提供できるようにするために、軽量化されたまたはクロムレスのブラウザーであることに起因するということを想起されたい。ウェブアプリケーションモードブラウザーから除外されているそのような他の性能としては、たとえば、お気に入り、ツールバー、および／またはその他のアドオンを含むことができる。
【０１２４】
[00170]少なくともいくつかの実施形態においては、個々のタブに関連付けられたコンテンツおよび状態が、ウェブアプリケーションからウェブブラウザーに移行されることが可能である。代替として、または追加として、複数のタブに関連付けられたコンテンツおよび状態、ならびに／またはウェブアプリケーションのすべてのコンテンツおよび状態が、ウェブアプリケーションからウェブブラウザーに移行されることも可能である。代替として、または追加として、個々のタブに関連付けられたセッションが、ウェブアプリケーションからブラウザーに移行されることも可能である。
【０１２５】
[00171]ユーザーが、自分のデスクトップからウェブアプリケーションを始動しており、その中でナビゲートしており、新たなタブにおいて１つまたは複数のリンクを開く状況を考えていただきたい。一例として、図２９を考察されたい。そこでは、デスクトップ２９００が、ウェブアプリケーションウィンドウ２９０２を含み、ウェブアプリケーションウィンドウ２９０２は、ウェブアプリケーションのうちで旅行を計画するために利用されている部分を含む。デスクトップ２９００は、タスクバー２９０４も含み、ウェブアプリケーションは、そのタスクバーに固定されている関連付けられたアイコンをクリックすることなどによって、そのタスクバー２９０４から起動された。ウェブアプリケーションウィンドウ２９０２は、３つのタブ２９０６、２９０８、および２９１０を含む。この場合には、ユーザーは、タブ２９０６を選択しており、ユーザーが開くことができるリンク「Ｃｌｉｃｋ  ｈｅｒｅ  ｔｏ  ｓｅａｒｃｈ  ｆｏｒ  ｆｌｉｇｈｔｓ（フライトを検索するためにはここをクリックしてください）」を有する。
【０１２６】
[00172]次いでユーザーは、関連付けられたリンクをクリックしてそのリンクを開き、そのリンクを開くと、タブ２９０６内に表示されているウェブサイトに関するお気に入りアイテムを作成したいと決心する、と想定する。この場合には、ユーザーは、ツールメニュー２９１２を開くか、またはその他の何らかのユーザーインターフェース手段を使用して、関連付けられたウェブブラウザー内にタブのコンテンツを開くというオプションを選択することができる。一例として、図３０を考察されたい。図３０は、図２９と同様の番号を使用する。
【０１２７】
[00173]そこでは、ツールメニュー２９１２が、そのコンテンツ３０００を表示するために開かれている。この例においては、ユーザーにとって、２つの選択、すなわち「Ｏｐｅｎ  Ｔａｂ  ｉｎ  Ｂｒｏｗｓｅｒ．．．（ブラウザー内にタブを開く．．．）」および「Ｏｐｅｎ  ＷｅｂＡｐｐ  Ｃｏｎｔｅｎｔ  ｉｎ  Ｂｒｏｗｓｅｒ．．．（ブラウザー内にウェブアプリケーションコンテンツを開く．．．）」が利用可能である。第１の選択は、ユーザーが、選択されたタブのコンテンツをウェブブラウザー内に開くことを可能にする。選択されたタブがウェブブラウザー内に開かれる場合には、そのタブのコンテンツおよび状態が、ウェブブラウザーに移行される。このウェブブラウザーは、オープンインスタンスを有するものとすることができ、または別法として、起動されるものとすることもできる。第２の選択は、ユーザーが、ウェブアプリケーションのすべてのコンテンツをウェブブラウザー内に開くことを可能にする。これが行われる場合には、そのウェブアプリケーションのコンテンツおよび状態が、ウェブブラウザーに移行される。
【０１２８】
[00174]コンテンツおよび状態をウェブアプリケーションタブまたはウェブアプリケーションからウェブブラウザーに移行するために、任意の適切な技術が利用されることが可能である。少なくともいくつかの実施形態においては、移行は、上述のようなウェブブラウザーのクラッシュ回復システムの使用を通じて生じる。具体的には、コンテンツおよび状態をウェブアプリケーションからウェブブラウザーに移行したいという希望をユーザーが示すと、コンテンツおよび状態は、たとえば、移行されることになる関連するデータを含むａｐｐｄａｔａファイルを書き込むことによって、システムのディスクに書き込まれることが可能である。
【０１２９】
[00175]加えて、少なくともいくつかの場合においては、通常はウェブブラウザーのクラッシュ回復システムによって利用されない情報またはデータを移行するために、共有メモリーが利用されることが可能である。たとえば、証明書およびセッションクッキーなどのデータが共有メモリー内に格納されることが可能であり、そのようなデータがウェブブラウザーによって使用されることを可能にするために、その共有メモリーが利用されることが可能である。
【０１３０】
[00176]ツールメニュー２９１２内に表示される特定のオプションをユーザーが選択すると、情報またはデータは、ウェブブラウザーの最新のすなわち新たなインスタンスに移行されることが可能であり、ウェブアプリケーションウィンドウ２９０２内の関連付けられたタブは、閉じられることが可能である。１つまたは複数の実施形態においては、情報またはデータが移行されつつある元のタブが、ウェブアプリケーション内で開いている唯一のタブである場合には、ウェブアプリケーションは、移行が完了すると閉じられることが可能である。
【０１３１】
[00177]上述のアプローチは、１つのプロセス境界をまたいで別々のプロセスにおいてウェブアプリケーションおよびウェブブラウザーが実行する場合に功を奏する。すなわち、クラッシュ回復システムおよび共有メモリーを使用する移行は、プロセス境界をまたぐことに非常に適する。しかし、いくつかの場合には、プロセス境界を必ずしもまたぐ必要はない。むしろ、ウェブアプリケーションおよびその後に続くウェブブラウザー機能は、同じプロセス内から表示されることが可能である。具体的には、この場合、ウェブブラウザーユーザーインターフェースが、ウェブアプリケーションウィンドウ２９０２と共にインスタンス化されて使用されることが可能であり、ウェブアプリケーションモードブラウザーを通じて利用できない機能がオンにされて、ウェブブラウザーユーザーインターフェースを通じてアクセスできるようにされることが可能である。オペレーションにおいて、これを実施する１つの方法は、次のとおりである。ウェブアプリケーションは、はじめにいくつかのクラッシュ回復ファイルを作成する。新たなブラウザーが始動され、それらのクラッシュ回復ファイルからクラッシュ回復情報をロードする。次いで、この情報は、その新たなブラウザーの状態を構成するために使用される。ユーザーは、その新たなブラウザー内で作業するときには、そのブラウザーの標準のユーザーインターフェースを介してブラウザー機能のすべてにアクセスできることになる。
【０１３２】
[00178]図３１は、一実施形態を示し、この実施形態においては、ユーザーが、１つのタブに関連付けられたコンテンツおよび状態を新たなブラウザーインスタンスに移行することを選択している。図２９の例と同様の番号が、利用されている。ここでは、ユーザーがタブ２９０６に関して「Ｏｐｅｎ  Ｔａｂ  ｉｎ  Ｂｒｏｗｓｅｒ（ブラウザー内にタブを開く）」のメニュー選択（図３０）を選択していると想定する。それに応答して、そのタブのコンテンツおよび状態が、ウェブブラウザーの新たなインスタンスに移行され、その関連付けられたユーザーインターフェースウィンドウが、３１００で示される。ユーザーインターフェースウィンドウ３１００は、アドレスバー３１０２と、ウェブアプリケーションから移行されたタブに関連付けられたタブ３１０４とを含む。この例においては、ウェブアプリケーションウィンドウ２９０２においてタブ２９０６（図３０）が閉じられているが、複数のタブが開いているため、ウェブアプリケーションは開いたままであるということに留意されたい。
【０１３３】
[00179]図３２は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。
【０１３４】
[00180]ステップ３２００は、ウェブアプリケーションのコンテンツおよび／または状態をウェブブラウザーに移行することに関連付けられたユーザー入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、少なくともいくつかの実施形態においては、入力は、ウェブアプリケーションによって表示されるツールメニューを通じて受け取られることが可能である。ステップ３２０２は、ウェブアプリケーションのコンテンツおよび／または状態をウェブブラウザーに移行する。ウェブアプリケーションのコンテンツおよび／または状態を移行するために、任意の適切な技術が利用されることが可能である。加えて、任意の適切なレベルの細かさでコンテンツおよび／または状態が移行されることが可能である。たとえば、ウェブアプリケーションの個々のタブまたは複数のタブに関連付けられたコンテンツおよび／または状態が移行されることが可能である。代替として、または追加として、ウェブアプリケーションのコンテンツ全体が移行されることも可能である。さらに、少なくとも複数の実施形態においては、移行は、複数のプロセス境界をまたいで生じることが可能である。代替として、または追加として、移行は、同じプロセス内で生じることも可能である。
【０１３５】
[00181]図３３は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。
【０１３６】
[00182]ステップ３３００は、ウェブアプリケーションのコンテンツおよび／または状態をウェブブラウザーに移行することに関連付けられたユーザー入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、少なくともいくつかの実施形態においては、入力は、ウェブアプリケーションによって表示されるツールメニューを通じて受け取られることが可能である。ステップ３３０２は、ウェブブラウザーユーザーインターフェースをインスタンス化する。ステップ３３０４は、そのウェブブラウザーユーザーインターフェースを使用して機能を表示する。機能を表示することは、ウェブブラウザーユーザーインターフェースを通じたウェブアプリケーションコンテンツとの対話を可能にすることを含む。少なくともいくつかの実施形態においては、表示される機能は、ウェブアプリケーションまたはウェブアプリケーションモードブラウザーを通じて利用できない機能で、かつウェブアプリケーションコンテンツと対話するために使用されることが可能である機能を含む。そのような機能の例は、上記で提供されている。図３３の方法は、ウェブアプリケーションのコンテンツおよび／または状態の移行が同じプロセス内で生じる状況において役に立つことができる。
【０１３７】
[00183]図３４は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。
【０１３８】
[00184]ステップ３４００は、ウェブアプリケーションのコンテンツおよび／または状態をウェブブラウザーに移行することに関連付けられたユーザー入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、少なくともいくつかの実施形態においては、入力は、ウェブアプリケーションによって表示されるツールメニューを通じて受け取られることが可能である。ステップ３４０２は、ウェブアプリケーションコンテンツに関連付けられたデータを保存する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、少なくともいくつかの実施形態においては、データのうちの少なくともいくつかが、システムのディスクに書き込まれることが可能である。データをシステムのディスクに書き込むために、任意の適切な技術が利用されることが可能である。たとえば、少なくともいくつかの実施形態においては、データをシステムのディスクに書き込むために、ウェブブラウザーのクラッシュ回復システムが利用されることが可能である。さらに、少なくともいくつかの実施形態においては、ステップ３４０２は、ウェブアプリケーションとウェブブラウザーとの間において共有される共有メモリーを使用することによって実行されることが可能である。
【０１３９】
[00185]ステップ３４０４は、ウェブブラウザーが開いているかどうかを確かめる。ウェブブラウザーが開いている場合には、ステップ３４０６は、保存されたデータを使用して、ウェブアプリケーションコンテンツをウェブブラウザー内に提示する。その一方で、ウェブブラウザーが開いていない場合には、ステップ３４０８は、ウェブブラウザーを起動し、ステップ３４０６に戻って、保存されたデータを使用して、ウェブアプリケーションコンテンツを提示する。
【０１４０】
ブラウザーからの一時的なウェブアプリケーションの作成
[00186]さまざまな実施形態が、１つまたは複数のいわゆる一時的なウェブアプリケーションの作成を可能にする。少なくともいくつかの実施形態においては、一時的なウェブアプリケーションをタスクバーに固定することなく、または上述のように一時的なウェブアプリケーションの関連付けられたファイルもしくは表示をクライアントのデスクトップにその他の形で統合することなく、一時的なウェブアプリケーションが作成されることが可能である。たとえば、一時的なウェブアプリケーションは、スタートメニュー上のショートカット、クライアントのタスクバー上のショートカットアイコンなど、その一時的なウェブアプリケーションが起動または再起動されることを可能にする方法を提供する、クライアントのデスクトップ上に統合されたユーザーインターフェース手段をまったく有さないことが可能である。しかし、そのような場合には、ユーザーは、一時的なウェブアプリケーションをその関連付けられたウェブサイトから起動することができ、そのウェブアプリケーションが上述のようにインストールまたは統合されていたならばそのウェブアプリケーションによって提供されることになるのと同じ機能にアクセスすることができる。一時的なウェブアプリケーションを使い終わると、その一時的なウェブアプリケーションは、ユーザーによって閉じられることが可能である。少なくともいくつかの実施形態においては、一時的なウェブアプリケーションが閉じられると、ユーザーは、もはやウェブアプリケーションのその特定のインスタンスにアクセスできなくなり、したがって、その一時的なウェブアプリケーションをクライアントのデスクトップツールバーまたはスタートメニューから再起動できなくする。これを行う１つの方法は、関連付けられたウェブサイトからウェブアプリケーションをユーザーが最初に起動したときにそのウェブアプリケーションに関して作成されたファイルまたはプロセスを削除することである。いくつかの実施形態においては、一時的なウェブアプリケーションは、インストールされたウェブアプリケーションに変換されることが可能であり、したがって、クライアントのデスクトップからそのウェブアプリケーションへのその後のアクセスを提供する。
【０１４１】
[00187]一例として、図３５を考察されたい。図３５は、一時的なウェブアプリケーションとブラウザーの間における関係を示す。ここでは、ブラウザー３５００が、タブ付きシステム（tabbed system）を通じた複数のウェブページへのアクセスを可能にし、タブ３５１０が、ウェブサイト「Ａｎｙ  Ｓｅａｒｃｈ  Ｐａｇｅ（任意の検索ページ）」に関連付けられ、タブ３５２０が、「Ａ  Ｓｅｃｏｎｄ  Ｏｐｅｎ  Ｐａｇｅ（第２の開いたページ）」に関連付けられる。１つまたは複数の実施形態においては、一時的なウェブアプリケーションは、開いているウェブページから作成されることが可能である。図３５においては、一時的なウェブアプリケーション３５３０は、ユーザーがタブ３５１０を選択してその選択をデスクトップ上のブラウザー３５００の外側にドラッグアンドドロップすることによって、生成または作成される。これが行われる場合、一時的なウェブアプリケーションファイルは、一時的な場所に作成されることが可能である。
【０１４２】
[00188]しかし、特許請求される主題の趣旨および範囲から逸脱することなく、その他の方法で一時的なウェブアプリケーションが生成されることも可能であるということを認識および理解されたい。たとえばブラウザー３５００は、ウェブページの選択と、それに続く関連付けられた一時的なウェブアプリケーションの生成とを容易にするためのプルダウンメニューを有することができる。
【０１４３】
[00189]本明細書の文脈においては、一時的なウェブアプリケーションは、本明細書において上述されている方法でクライアントのシステム上にインストールされないウェブアプリケーションである。しかしウェブサイトは、それでもなお、インストールされたウェブアプリケーションにおいて実行されることが可能であるのと同じ機能を一時的なウェブアプリケーションにおいても実行すること、およびそうした機能へのアクセスを提供することが可能である。たとえばウェブサイトは、一時的なウェブアプリケーションの独立したジャンプリストを修正すること、オーバーレイアイコンを設定およびクリアすることなどが可能である。代替として、または追加として、一時的なウェブアプリケーションは、上述のように、一時的なウェブアプリケーション内から開かれるタブまたはウィンドウの独立した集合を提供することなど、インストールされたウェブアプリケーションと同じ動作をサポートすることができる。
【０１４４】
[00190]図３６は、１つまたは複数の実施形態による方法におけるステップを示す流れ図を示す。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実施されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、図１におけるような、クライアントデバイス上の適切に構成されたウェブブラウザーおよび／またはソフトウェアモジュールによって実施されることが可能である。
【０１４５】
[00191]ステップ３６００は、ウェブアプリケーションを取得できる元となるウェブサイトの選択を受け取る。これは、タブ付きウェブブラウザー上のタブの選択を通じて、プルダウンメニューを通じてなど、任意の適切な方法で達成されることが可能である。ウェブサイトの選択を受け取ると、ステップ３６０２は、ウェブアプリケーションをクライアントデバイス上の一時的なウェブアプリケーションとして作成するための入力を受け取る。１つまたは複数の実施形態においては、これは、ウェブアプリケーションを生成するために使用されることが可能である要求またはその他の情報を含むメッセージまたはコールを受け取ることを含むことができる。その他の実施形態においては、これは、ウェブサイトに関連付けられた何らかの表示をユーザーがドラッグアンドドロップすることから生成された入力を受け取ることを含むことができる。ステップ３６０４は、選択されたウェブサイトに関連付けられる一時的なウェブアプリケーションを作成する。いくつかの実施形態においては、一時的なウェブアプリケーションを作成することによって、ウェブアプリケーションファイルおよび／またはプロセスが作成され、それらのウェブアプリケーションファイルおよび／またはプロセスまたは何らかの関連付けられた表示は、クライアントのデスクトップまたはスタートメニュー上に統合されない。たとえば、関連付けられたファイルは、統合されたウェブアプリケーションファイルが置かれる場所とは異なる一時的なファイルロケーションに保存されることが可能である。加えて、少なくともいくつかの実施形態においては、一時的なウェブアプリケーションの作成は、ウェブサイトの状態をブラウザーから一時的なウェブアプリケーションに転送することを含むことができる。
【０１４６】
[00192]図３７は、１つまたは複数の実施形態による方法におけるステップを示す流れ図を示す。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実施されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、図１におけるような、適切に構成されたウェブブラウザーおよび／またはソフトウェアモジュールによって実施されることが可能である。
【０１４７】
[00193]ステップ３７００は、一時的なウェブアプリケーションを閉じるための入力を受け取る。このステップは、任意の適切な方法で実行されることが可能である。たとえば一実施形態においては、これは、開いている一時的なウェブアプリケーション上の閉じるボタンをユーザーが選択することから入力を受け取ることを含むことができる。別の実施形態においては、これは、一時的なウェブアプリケーションのプルダウンメニュー上の閉じるオプションをユーザーが選択することに基づいて入力を受け取ることを含むことができる。一時的なウェブアプリケーションを閉じるための入力を受け取ると、ステップ３７０２は、一時的なウェブアプリケーションを閉じる。一時的なウェブアプリケーションを閉じることは、一時的なウェブアプリケーションの関連付けられたファイルおよびプロセスを削除または除去することを含むことができる。したがって、一時的なウェブアプリケーションを閉じると、ユーザーは、上述のようにその一時的なウェブアプリケーションに再びアクセスするか、またはすぐ次に説明されるようにその一時的なウェブアプリケーションを一時的でないウェブアプリケーションとしてインストールしない限り、もはやその機能にアクセスすることはできない。
【０１４８】
[00194]一時的なウェブアプリケーションの作成および削除について説明してきたが、次いで、一時的なウェブアプリケーションが、１つまたは複数の実施形態に従って、固定されたまたはインストールされたウェブアプリケーションへとどのようにして変換されることが可能であるかについて考察されたい。
【０１４９】
インストールされたウェブアプリケーションへの一時的なウェブアプリケーションの変換
[00195]１つまたは複数の実施形態においては、一時的なウェブアプリケーションは、そのウェブアプリケーションが閉じられた後に永続的なアクセスを可能にするために、インストールされたまたは統合されたウェブアプリケーションへと変換されることが可能である。いったん変換されると、一時的なウェブアプリケーションは、一時的でないウェブアプリケーションと考えられることが可能である。
【０１５０】
[00196]図３８は、ジャンプリストを含む一時的なウェブアプリケーションを示す。タスクバー３８００が、クライアントデバイス上で開かれて動作している複数のプログラムを示す。一時的なウェブアプリケーション３８１０は、プログラム３８４０から生じたウェブアプリケーションである。一時的なウェブアプリケーション３８１０に関連付けられているのは、ジャンプリスト３８２０である。インストールされたまたは統合されたウェブアプリケーションの場合と同様に、ジャンプリスト３８２０は、インストールされたウェブアプリケーションに関連付けられたすべての潜在的な機能を有する。加えて、ジャンプリスト３８２０は、「Ｐｉｎ  ｔｈｉｓ  ｐｒｏｇｒａｍ  ｔｏ  ｔａｓｋｂａｒ（このプログラムをタスクバーに固定する）」と題されたアイテム３８３０を含む。このオプションを選択することは、ウェブアプリケーションをクライアントのタスクバーに固定し、ひいては、そのウェブアプリケーションおよび関連付けられたユーザーインターフェース手段を上述のようにクライアントのデスクトップ上にインストールする。これは、今や一時的ではなくなったウェブアプリケーションがデスクトップから再起動されることを可能にする。しかし、特許請求される主題の趣旨および範囲から逸脱することなく、一時的なウェブアプリケーションを一時的でないウェブアプリケーションに変換するために、任意の適切な技術が採用されることが可能であるということを認識および理解されたい。たとえば、いくつかの実施形態においては、一時的なウェブアプリケーションは、そのウェブアプリケーションを統合およびインストールするためにクライアントのデスクトップのスタートメニューに追加されることが可能である。別の実施形態においては、一時的なウェブアプリケーションは、インストールプロセスを開始するオプションを伴うプルダウンメニューを有することができる。言うまでもなく、一時的なウェブアプリケーションを一時的でないウェブアプリケーションへと変換するために、多くの方法が利用されることが可能である。
【０１５１】
ウェブアプリケーションスーパーホームボタン
[00197]ウェブアプリケーションと対話しているときに、ユーザーは、そのウェブアプリケーションが関連付けられているウェブサイトに直接関連付けられたドメイン以外のドメインへナビゲートすることが可能である。たとえばユーザーは、電子メールウェブアプリケーションを始動してから、外部リンクを辿って、ニュース、ショッピング、または娯楽のサイトなどの別のサイトに至ることができる。
【０１５２】
[00198]１つまたは複数の実施形態においては、ウェブアプリケーションホームボタンが、ユーザーインターフェース経験の一部として提供される。ウェブアプリケーションホームボタンは、結合目的を果たす。第１に、ウェブアプリケーションホームボタンは、特定のウェブアプリケーションモードブラウザー（「サイトモードブラウザー（site mode browser）」とも呼ばれる）インスタンスの目的が、関連付けられたウェブアプリケーションのためであるということを示す。ウェブアプリケーションホームボタンは、この情報を伝達するために、ブランド化およびその他の視覚的な手段を使用することができる。第２に、ウェブアプリケーションホームボタンは、ユーザーが、スタートＵＲＬにアクセスするためにウェブアプリケーションホームボタンをクリックするだけで、自分のウェブアプリケーション経験の起点に迅速かつ容易に戻ってスタートし直すことを可能にする。これは、関連付けられたウェブサイトに関するスタートＵＲＬにアクセスするために特定のウェブアプリケーションを閉じてから再起動しなければならない状況を緩和する。少なくともいくつかの実施形態においては、デフォルトで、スタートＵＲＬに関連付けられた値が、ユーザーがファビコンをタスクバー上にドラッグアンドドロップする元となるページから確認される。あるいはウェブ開発者は、スタートＵＲＬを記述するＨＴＭＬタグを自分のページの一部として定義することもできる。これは、ウェブ開発者が、自分が現在閲覧しているページと同じではない代替スタートＵＲＬを定義することを可能にする。
【０１５３】
[00199]一例として、図３９を考察されたい。そこでは、ウェブアプリケーションモードブラウザー３９００が、アドレスバー３９０２を含み、アドレスバー３９０２の中には、ウェブサイトに関するＵＲＬが現れている。加えて、ウェブアプリケーションホームボタン３９０４が、戻るおよび進むナビゲーションボタンの隣に現れている。ユーザーは、ウェブアプリケーションに関連付けられたウェブサイトの外側のドメインへナビゲートする際、いつでも、ウェブアプリケーションホームボタン３９０４をクリックするだけで、ウェブアプリケーションファイル内に記述されているウェブサイトのスタートＵＲＬへナビゲートすることができる。
【０１５４】
[00200]さらに、少なくともいくつかの実施形態においては、ナビゲーションの戻るボタンおよび進むボタンは、デフォルトブラウザーではなくウェブアプリケーション内の自らのコンテキストをユーザーに伝えるために、ウェブアプリケーションホームボタンを通じてウェブサイトのブランドの原色を利用または抽出することによって、そのサイトの独自性を帯びることができる。加えて、ウェブサイトがこれらのボタンの色を自らのＨＴＭＬページの一部として指定することを可能にするために、ＨＴＭＬタグが利用されることが可能である。
【０１５５】
[00201]図４０は、１つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実施されることが可能である。少なくともいくつかの実施形態においては、この方法は、上述のようなサイトモードブラウザーによって実施されることが可能である。
【０１５６】
[00202]ステップ４０００は、クライアントデバイス上にインストールされるウェブアプリケーションに関連付けられたウェブサイトのスタートＵＲＬへサイトモードブラウザーをナビゲートする。このステップは、任意の適切な方法で実行されることが可能であり、そうした方法の例は、上記で提供されている。ステップ４００２は、別のウェブページへナビゲートする。このウェブページは、スタートＵＲＬに関連付けられたウェブサイトに関連付けられることもあり、または関連付けられないこともある。ステップ４００４は、ウェブアプリケーションホームボタンの選択を受け取る。ウェブアプリケーションホームボタンの選択を受け取ったことに応答して、ステップ４００６は、サイトモードブラウザーをウェブサイトのスタートＵＲＬへナビゲートする。
【０１５７】
例示的なシステム
[00203]図４１は、上述のさまざまな実施形態を実装するために使用されることが可能である例示的なコンピューティングデバイス４１００を示す。コンピューティングデバイス４１００は、たとえば図１のコンピューティングデバイス１０２、またはその他の任意の適切なコンピューティングデバイスとすることができる。
【０１５８】
[00204]コンピューティングデバイス４１００は、１つまたは複数のプロセッサーまたは処理装置４１０２と、１つまたは複数のメモリーおよび／またはストレージコンポーネント４１０４と、１つまたは複数の入力／出力（Ｉ／Ｏ）デバイス４１０６と、さまざまなコンポーネントおよびデバイスどうしが相互に通信することを可能にするバス４１０８とを含む。バス４１０８は、メモリバスまたはメモリコントローラと、ペリフェラルバスと、アクセラレイティッドグラフィックスポートと、さまざまなバスアーキテクチャーのうちのいずれかを使用するプロセッサーまたはローカルバスとを含むいくつかのタイプのバス構造のいずれかのうちの１つまたは複数に相当する。バス４１０８は、有線バスおよび／またはワイヤレスバスを含むことができる。
【０１５９】
[00205]メモリー／ストレージコンポーネント４１０４は、１つまたは複数のコンピューター記憶媒体に相当する。コンポーネント４１０４は、揮発性の媒体（ランダムアクセスメモリー（ＲＡＭ）など）、および／または不揮発性の媒体（読み取り専用メモリー（ＲＯＭ）、フラッシュメモリー、光ディスク、磁気ディスクなど）を含むことができる。コンポーネント４１０４は、固定式の媒体（たとえば、ＲＡＭ、ＲＯＭ、固定式のハードドライブなど）、ならびに取り外し可能な媒体（たとえば、フラッシュメモリードライブ、取り外し可能なハードドライブ、光ディスクなど）を含むことができる。
【０１６０】
[00206]１つまたは複数の入力／出力デバイス４１０６は、ユーザーがコマンドおよび情報をコンピューティングデバイス４１００に入力することを可能にし、また、情報がユーザーおよび／またはその他のコンポーネントもしくはデバイスに提示されることを可能にする。入力デバイスの例は、キーボード、カーソルコントロールデバイス（たとえばマウス）、マイクロフォン、スキャナなどを含む。出力デバイスの例は、ディスプレイデバイス（たとえば、モニターまたはプロジェクター）、スピーカー、プリンター、ネットワークカードなどを含む。
【０１６１】
[00207]さまざまな技術が、本明細書ではソフトウェアモジュールまたはプログラムモジュールという一般的なコンテキストにおいて説明されることが可能である。一般にソフトウェアは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールおよび技術の実装形態は、何らかの形態のコンピューター可読媒体上に格納されること、またはそうしたコンピューター可読媒体を介して伝送されることが可能である。コンピューター可読媒体は、コンピューティングデバイスによってアクセスされることが可能である任意の利用可能な１つまたは複数の媒体とすることができる。限定ではなく例として、コンピューター可読媒体は、「コンピューター可読記憶媒体」を含むことができる。
【０１６２】
[00208]「コンピューター可読記憶媒体」は、コンピューター可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するための任意の方法またはテクノロジーにおいて実装される揮発性の媒体および不揮発性の媒体、ならびに取り外し可能な媒体および取り外し不能な媒体を含む。コンピューター可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー、もしくはその他のメモリーテクノロジー、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気ストレージデバイス、または所望の情報を格納するために使用されることが可能で、コンピューターによってアクセスされることが可能であるその他の任意の媒体を含むが、それらには限定されない。
【０１６３】
結論
[00209]さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトを自分のデスクトップ上にインストールできるようにするメカニズムを提供する。１つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびにその他のさまざまな機能のためのさまざまな構成を提供することができる。
【０１６４】
[00210]本主題は、構造的な特徴および／または方法論的な行為に特有の言葉で説明されたが、添付の特許請求の範囲において定義される本主題は、上述の特定の特徴または行為に必ずしも限定されるものではないということを理解されたい。むしろ、上述の特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示されている。
【図６】
2013536482.tif 000003
【図１０】
2013536482.tif 000004
【図１４】
2013536482.tif 000005
【図１５】
2013536482.tif 000006
【図１７】
2013536482.tif 000007
【図１９】
2013536482.tif 000008
【図２１】
2013536482.tif 000009
【図２９】
2013536482.tif 000010
【図３０】
2013536482.tif 000011
【図３１】
2013536482.tif 000012
【図３５】
2013536482.tif 000013
【図３８】
2013536482.tif 000014
【図３９】
2013536482.tif 000015
【図１】
2013536482.tif 000016
【図２】
2013536482.tif 000017
【図３】
2013536482.tif 000018
【図４】
2013536482.tif 000019
【図５】
2013536482.tif 000020
【図７】
2013536482.tif 000021
【図８】
2013536482.tif 000022
【図９】
2013536482.tif 000023
【図１１】
2013536482.tif 000024
【図１２】
2013536482.tif 000025
【図１３】
2013536482.tif 000026
【図１６】
2013536482.tif 000027
【図１８】
2013536482.tif 000028
【図２０】
2013536482.tif 000029
【図２２】
2013536482.tif 000030
【図２３】
2013536482.tif 000031
【図２４】
2013536482.tif 000032
【図２５】
2013536482.tif 000033
【図２６】
2013536482.tif 000034
【図２７】
2013536482.tif 000035
【図２８】
2013536482.tif 000036
【図３２】
2013536482.tif 000037
【図３３】
2013536482.tif 000038
【図３４】
2013536482.tif 000039
【図３６】
2013536482.tif 000040
【図３７】
2013536482.tif 000041
【図４０】
2013536482.tif 000042
【図４１】
2013536482.tif 000043
【国際調査報告】
2013536482.tif 000044
2013536482.tif 000045