(57)【要約】【課題】  クライアントにおいて適当なアプリケーションの自動コンテンツダウンロードおよびインストールのための方法などを提供する。【解決手段】  本発明にかかる方法は、ネットワーク（１１６）に連結されたサーバ（１０９）と、サーバに保持され、ネットワーク（１１６）に連結されたクライアント（１０３）によってアクセス可能なネットワークページ（２０６）とを備える。ネットワークページは、メディア要素（２０９）とメディアアクチュエータ（２１３）へのリンクを有する。メディアアクチュエータは、クライアントに対しインストールプラグイン（１５６）の実行を提供するリンクを有し、インストールプラグインは、クライアントにおいてアプリケーション（１５３）の自動インストールを実行し、アプリケーションは、メディアコンテンツをレンダリングするために使用される。
2005531049.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク（１１６）に連結されたサーバ（１０９）と、
このサーバ（１０９）に保持され、前記ネットワーク（１１６）に連結されたクライアント（１０３）によってアクセス可能であり、メディア要素（２０９）を含むネットワークページ（２０６）と、
前記クライアント（１０３）において、インストールプラグイン（１５６）を実行するために提供される第２のリンクを含む、前記ネットワークページ（２０６）のメディアアクチュエータ（２１３）であって、前記インストールプラグイン（１５６）は、前記クライアント（１０３）においてアプリケーション（１５３）の自動インストールを実行するようになっており、前記アプリケーション（１５３）は前記メディア要素（２０９）をレンダリングするために使用されるメディアアクチュエータと
を具備するインストールシステム。
【請求項２】
前記第２のリンクは、前記インストールプラグイン（１５６）の前記クライアント（１０３）へのダウンロードと、このクライアント（１０３）におけるインストールとをさらに提供する
請求項１に記載のインストールシステム。
【請求項３】
前記メディアアクチュエータ（２１３）は、前記インストールプラグイン（１５６）の実行に関連して、このインストールプラグインにアプリケーション識別子を提供するロジック
をさらに備え、
前記アプリケーション識別子は、前記クライアント（１０３）にインストールされる前記アプリケーション（１５３）に関連する
請求項１に記載のインストールシステム。
【請求項４】
前記アプリケーション識別子は、前記メディア要素（２０９）のファイル拡張子
をさらに含む請求項３に記載のインストールシステム。
【請求項５】
前記アプリケーション識別子は、前記アプリケーション（１５３）の名前と、このアプリケーション（１５３）のバージョンと
をさらに含む
請求項３に記載のインストールシステム。
【請求項６】
前記アプリケーション識別子は、
前記アプリケーション（１５３）に関連するニックネーム
をさらに含む
請求項３に記載のインストールシステム。
【請求項７】
自動インストール方法であって、
コンピュータシステム（１０３）においてインストールプラグイン（１５６）がインストールされているか否かを検出することであって、前記インストールプラグイン（１５６）は、前記コンピュータシステム（１０３）においてアプリケーション（１５３）の自動インストールを実行するようになっていることと、
前記インストールプラグイン（１５６）が前記コンピュータシステム（１０３）にインストールされていない場合、前記インストールプラグイン（１５６）をリモートサーバ（１０６）からダウンロードすることと、
前記コンピュータシステム（１０３）において前記インストールプラグイン（１５６）を実行することと
を含む自動インストール方法。
【請求項８】
表示装置（１３３）においてトリガメカニズム（２１３ａ）を生成することと、
ユーザによる前記トリガメカニズム（２１３ａ）の操作時に、前記インストールプラグイン（１５６）の存在の検出を実施することと
をさらに含む請求項７に記載の自動インストール方法。
【請求項９】
ネットワーク（１１６）における前記インストールプラグイン（１５６）の位置を識別するユニフォームリソース識別子を提供すること
をさらに含む請求項７に記載の自動インストール方法。
【請求項１０】
前記インストールプラグイン（１５６）にアプリケーション識別子を提供すること
をさらに含み、
前記アプリケーション識別子は、前記インストールプラグイン（１５６）によって前記コンピュータシステム（１０３）にインストールされる前記アプリケーション（１５３）に関連する
請求項７に記載の自動インストール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの自動インストールに関する。
【背景技術】
【０００２】
［背景］
インターネットは、ユーザが、リモートウェブサイトからクライアント装置にコンテンツをダウンロードしそこに含まれるコンテンツを表示しまたは他の方法でかかるコンテンツと対話することができるようにする。
多くの場合、たとえばＡｄｏｂｅ  Ａｃｒｏｂａｔ文書、Ｍｉｃｒｏｓｏｆｔ  Ｐａｉｎｔ文書またはビデオコンテンツ等、コンテンツの特定の項目を閲覧しまたはそれと対話するためには、特別なアプリケーションが必要である。
かかる場合、ユーザは、コンテンツ項目をダウンロードするように試みるが、結局自身のクライアント装置に、ダウンロードしたコンテンツ項目を表示しまたはそれと対話するために必要なアプリケーションがないことが分かる場合がある。
そして、その必要なアプリケーションをダウンロードし、インストールするか否かはユーザ次第である。
【特許文献１】国際公開第０１／５３９３７号
【特許文献２】米国特許第６３４７３９８号
【特許文献３】米国特許出願公開第２００２／００７３５７号
【特許文献４】国際公開第０１／２７８２４号
【特許文献５】国際公開第０１／１１４６６号
【特許文献６】米国特許第６０５２７３２号
【特許文献７】米国特許第６０７８９５１号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
不都合なことに、すべてのウェブアプリケーションのダウンロードのうちの５０％に及ぶものが複数の理由で失敗すると推定される。
したがって、かかる状況では、ユーザは、所望のコンテンツにアクセスしまたは他の方法でそれを享受することができない。
【課題を解決するための手段】
【０００４】
本発明を、以下の図面を参照して理解することができる。
図面の構成要素は、必ずしも一定比例尺になっていない。
また、図面において、同様の参照数字は各図面を通して対応する部分を示す。
【発明を実施するための最良の形態】
【０００５】
［詳細な説明］
図１を参照すると、本発明の態様によるクライアント／サーバネットワーク１００が示されている。
クライアント／サーバネットワーク１００は、クライアント１０３と、情報サーバ１０６と、メディアサーバ１０９と、アプリケーションサーバ１１３と、を有し、それらはすべてネットワーク１１６に連結されている。
ネットワーク１１６は、たとえば、インターネット、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク、無線ネットワークまたは他の適当なネットワーク等もしくは２つ以上のかかるネットワークの任意の組合せを含んでもよい。
クライアント１０３とサーバ１０６、１０９および１１３とは、ネットワーク１１６との間のデータ通信を容易にするために、当業者には既知の多数の方法のうちの１つによってネットワーク１１６に連結されている。
これに関して、クライアント１０３とサーバ１０６、１０９および１１３を、たとえばネットワークカード、モデム、ルータまたは他のかかる通信装置等のさまざまなデバイスを介してネットワーク１１６にリンクさせてもよい。
【０００６】
クライアント／サーバネットワーク１００に含まれるさまざまなデバイスは、本発明によりネットワーク１１６によるクライアント１０３へのアプリケーションの自動インストールを容易にする。
クライアント／サーバネットワーク１００におけるさまざまなデバイスの動作を詳細に説明する前に、まず、さまざまなデバイスの物理的態様を詳細に説明する。
その後、ネットワーク１１６によるクライアント１０３へのアプリケーションの自動インストールを容易にするさまざまなデバイスの動作について説明する。
【０００７】
クライアント１０３は、コンピュータシステムまたは同様の機能を有する他のデバイスを備える。
これに関して、クライアント１０３は、ともにローカルインタフェース１２９に連結されたプロセッサ１２３とメモリ１２６とを備えるプロセッサ回路を有する。
ローカルインタフェース１２９は、たとえば、当業者には一般に既知であるように、制御／アドレスバスが付随するデータバスであってもよい。
クライアント１０３は、表示装置１３３と、マウス１３６と、キーボード１３９と、プリンタ１４３と、を有する。
クライアント１０３で使用してもよい他の周辺機器には、たとえば、キーパッド、タッチパッド、タッチスクリーン、マイクロフォン、スキャナ、ジョイスティックもしくは１つまたは複数の押ボタン等があってもよい。
周辺機器にはまた、表示灯、スピーカ等があってもよい。
表示装置１３３は、たとえば、ブラウン管（ＣＲＴ）、液晶ディスプレイスクリーン、ガスプラズマベースのフラットパネルディスプレイまたは他のタイプの表示装置等であってもよい。
当業者は理解することができるように、クライアント１０３は、ネットワーク１１６に連結される多数のクライアント装置の代表的なものである。
【０００８】
当業者は理解することができるように、情報サーバ１０６と、メディアサーバ１０９と、アプリケーションサーバ１１３と、は、各々、クライアント１０３について説明したものと同様のさまざまな周辺機器を有してもよい。
【０００９】
クライアント１０３はまた、メモリ１２６に格納されプロセッサ１２３が実行可能な複数のソフトウェアコンポーネントを有する。
これらのソフトウェアコンポーネントには、オペレーティングシステム１４６と、ブラウザ１４９と、後述するようにクライアント１０３にインストールされるアプリケーション１５３と、がある。
後述するように、クライアント１０３へのアプリケーション１５３のインストール中に、ブラウザ１４９に対し、インストールプラグイン１５６を実施するように命令してもよい。
インストールプラグイン１５６は、たとえば、ブラウザプラグイン、ＡｃｔｉｖｅＸコントロールまたは他のプログラムであってもよい。
これに関して、アプリケーション１５３は、クライアント１０３にインストールされるものであって、クライアント１０３に初めから存在しなくてもよい。
当業者は理解することができるように、実行時、ブラウザ１４９は、表示装置１３３上に例示的なＧＵＩ１４９ａ等のブラウザグラフィカルユーザインタフェース（ＧＵＩ）を生成する。
【００１０】
情報サーバ１０６もまた、ともにローカルインタフェース１６９に連結されるプロセッサ１６３とメモリ１６６とを備えるプロセッサ回路を有する、コンピュータシステムまたは他の同様のデバイスであってもよい。
ローカルインタフェース１６９は、たとえば、当業者は理解することができるように、制御／アドレスバスが付随するデータバスであってもよい。
情報サーバ１０６は、メモリ１６６に格納されプロセッサ１６３が実行可能ないくつかのソフトウェアコンポーネントを含む。
これらのコンポーネントには、オペレーティングシステム１７３と、インストール情報システム１７６と、インストールプラグイン１５６と、プラグインエグゼキュータ１７９ａと、プラグインインストーラ１７９ｂと、がある。
インストール情報システム１７６は、アプリケーションテーブル１８３を含む。
インストールプラグイン１５６と、インストール情報システム１７６と、プラグインインストーラ１７９ｂとは、後述するように、クライアント１０３へのアプリケーション１５３のインストールのプロセス中に使用される。
プラグインエグゼキュータ１７９ａは、後述するように、インストールプラグイン１５６がクライアント１０３に先にインストールされた場合にそれを実行するために使用される。
【００１１】
クライアントサーバネットワーク１００はまた、コンピュータシステムまたは同様の機能を有する他のデバイスであってもよいメディアサーバ１０９を有する。
これに関して、メディアサーバ１０９は、ともにローカルインタフェース１９９に連結されたプロセッサ１９３とメモリ１９６とを備えるプロセッサ回路を有する。
ローカルインタフェース１９９は、たとえば、当業者には一般に既知であるように、制御／アドレスバスが付随するデータバスであってもよい。
メディアサーバ１０９は、たとえばオペレーティングシステム２０３等、メモリ１９６に格納されプロセッサ１９３によって実行可能なソフトウェアコンポーネントを含む。
メディアサーバ１０９はまた、ネットワークページ２０６とメディア要素２０９とを有する。
ネットワークページ２０６は、必要に応じてたとえば、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）または拡張可能マークアップ言語（ＸＭＬ）または他のマークアップ言語によって表現されるウェブページであってもよい。
別法として、必要に応じてネットワークページ２０６を生成するために、マークアップ言語以外の他の言語を使用してもよい。
【００１２】
ネットワークページ２０６は、後述するように、クライアント１０３にアプリケーション１５３をインストールするために実施されるさまざまな機能を含むメディアアクチュエータ２１３を有する。
これに関して、クライアント１０３のブラウザ１４９は、ネットワークページ２０６にアクセスしそのネットワークページを表示装置においてレンダリングされたネットワークページ２０６ａとして表示してもよい。
これに関して、メディアサーバ１０９はまた、当業者には一般に既知であるように、たとえばハイパーテキスト転送プロトコル（ＨＴＴＰ）または他の適当なプロトコル等の適当なプロトコルに従って、ネットワーク１１６を通してネットワークページ２０６および／またはメディア要素２０９をクライアント１０３へダウンロードするのを容易にするサーバソフトウェアも有する。
ネットワークページ２０６をレンダリングする際、ブラウザ１４９はまた、必要に応じて表示装置１３３においてグラフィカルメディアアクチュエータ２１３ａまたは他のアクチュエータとメディア要素リンク２０９ａとを生成する。
メディア要素リンク２０９ａは、たとえば、ユーザ入力または命令に応じるレンダリングされたウェブページのハイパーリンクまたは他の領域であってもよい。
【００１３】
メディア要素２０９は、たとえばビデオファイル、音声ファイル、マクロメディアフラッシュファイル、画像ファイル、スライドショー、仮想現実設計言語（ＶＲＭＬ）ファイルもしくは他の何らかのマルチメディアファイル、文書または他のメディア等、任意のタイプの文書または他のファイルであってもよい。
【００１４】
クライアントサーバネットワーク１００はまた、アプリケーション１５３が配置されクライアント１０３によってアクセス可能となるアプリケーションサーバ１１３も有する。
これに関して、アプリケーションサーバ１１３は、コンピュータシステムまたは同様の機能を有する他のデバイスであってもよい。
したがって、アプリケーションサーバ１１３は、ともにローカルインタフェース２２９に連結されるプロセッサ２２３とメモリ２２６とを備えるプロセッサ回路を有する。
ローカルインタフェースは、たとえば、当業者には一般に既知であるように、制御／アドレスバスが付随するデータバスであってもよい。
【００１５】
アプリケーションサーバ１１３は、メモリ２２６に格納されプロセッサ２２３によって実行可能なオペレーティングシステム２３３を有する。
アプリケーション１５３もまた、メモリ２２６に格納され、ネットワーク１１６を通してクライアント１０３にダウンロードされることが可能になる。
これに関して、アプリケーションサーバ１１３はまた、ネットワーク１１６を通してアプリケーション１５３をクライアント１０３へダウンロードするのを容易にする、メディアサーバ１０９のものと同様のサーバソフトウェアを有する。
【００１６】
別々のサーバ１０６、１９３および２２３が、ネットワーク１１６に連結されているように示されるが、当業者が理解することができるように、これらのサーバの各々の中のさまざまなコンポーネントは移植可能であり、単一サーバ上で結合するかまたは分散した異なるサーバ間で分散することが可能である、ということが理解される。
【００１７】
メモリ１２６、１６６、１９６および２２６の各々を、本明細書では、揮発性および不揮発性両方のメモリおよびデータ記憶コンポーネントとして定義する。
揮発性コンポーネントは、電源の喪失時にデータ値を保持しないものである。
不揮発性コンポーネントは、電源の喪失時にデータを保持するものである。
したがって、メモリ１２６、１６６、１９６および２２６の各々は、たとえば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ハードディスクドライブ、関連するフロッピーディスク（登録商標）ドライブを介してアクセスされるフロッピーディスク、コンパクトディスクドライブを介してアクセスされるコンパクトディスク、適当なテープドライブを介してアクセスされる磁気テープおよび／または他のメモリコンポーネント、もしくはこれらのメモリコンポーネントのうちの任意の２つ以上の組合せを含んでもよい。
さらに、ＲＡＭは、たとえば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）または磁気ランダムアクセスメモリ（ＭＲＡＭ）および他のかかるデバイスを含んでもよい。
ＲＯＭは、たとえば、プログラマブルリードオンリメモリ（ＰＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的に消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）または他の同様のメモリデバイスを含んでもよい。
【００１８】
また、プロセッサ１２３、１６３、１９３および２２３の各々は、複数のプロセッサを表してもよく、メモリ１２６、１６６、１９３および２２３の各々は、それぞれ並列処理回路で動作する複数のメモリを表してもよい。
かかる場合、ローカルインタフェース１２９、１６９、１９９および２２９の各々は、複数のプロセッサのうちの任意の２つの間、任意のプロセッサとメモリのうちの任意のものとの間、またはメモリのうちの任意の２つの間等の通信を容易にする適当なネットワークであってもよい。
プロセッサ１２３、１６３、１９３および２２３は、本質的に電気的であっても光学的であってもよい。
【００１９】
オペレーティングシステム１４６、１７３、２０３および２３３の各々を、クライアント１０３およびサーバ１０６、１０９、１１３における、メモリ、処理時間および周辺機器等のハードウェア資源の割当ておよび使用を制御するように実行する。
このように、オペレーティングシステム１４６、１７３、２０３および２３３の各々は、当業者には一般に既知であるように、アプリケーションが依存する基礎としての役割を果たす。
【００２０】
次に、本発明の動作を例示するために、クライアント／サーバネットワーク１００のさまざまなコンポーネントの動作を説明する。
まず、クライアント１０３のユーザが、ブラウザ１４９を操作してメディアサーバ１０９からネットワークページ２０６をダウンロードするものとする。
ネットワークページ２０６は、メディア要素２０９に対するリンクを含む。
また、クライアント１０３には、メディア要素２０９をレンダリングするために必要なアプリケーション１５３がないものとする。
本明細書で使用する「レンダリング」という用語は、ユーザが理解可能な方法でメディア要素２０９の提示を達成するタスクを実行することとして定義する。
これに関し、レンダリングの行為は、たとえば、テキストまたは画像の表示またはプリント、音声ファイルの再生およびユーザに対する提示を達成する他の任意のタスクであってもよい。
【００２１】
クライアント１０３にメディア要素２０９をレンダリングするアプリケーション１５３がないため、ユーザは、クライアント１０３において所望のレンダリングを実行するために必要なアプリケーション１５３をインストールする必要がある。
これを達成するために、ユーザは、表示装置１３３においてネットワークページ２０６ａの一部として示されるメディアアクチュエータ２１３ａをクライアント１０３にクリックし、メディア要素２０９をレンダリングする際に用いるアプリケーション１５３を自動的にインストールする。
メディアアクチュエータ２１３の機能は、ユーザによってメディアアクチュエータ２１３ａが操作される時に実行される。
これに関し、メディアアクチュエータ２１３ａは、表示装置１３３に表示され、レンダリングされたメディアアクチュエータ２１３ａと対話するユーザによって操作される、トリガメカニズムとして作用する。
【００２２】
ネットワークページ２０６に関連するメディアアクチュエータ２１３は、クライアント１０３においてインストールプラグイン１５６がすでにインストールされているか否かを検出する、たとえばＡｃｔｉｖｅＸコントロール、Ｊａｖａ（登録商標）ＳｃｒｉｐｔまたはＶｉｓｕａｌ  Ｂａｓｉｃ  Ｓｃｒｉｐｔ（ＶＢＳｃｒｉｐｔ）等のロジックまたはコードを含む。
実行時、メディアアクチュエータ２１３は、クライアント１０３においてインストールプラグイン１５６が目下インストールされているか否かを判断する。
インストールプラグイン１５６がそのようにインストールされている場合、メディアアクチュエータ２１３は、情報サーバ１０６から、インストールプラグイン１５６を実行しクライアント１０３へのアプリケーション１５３の結果としてのダウンロードおよびインストールの進行状況を監視するプラグインエグゼキュータ１７９ａをダウンロードする。
プラグインエグゼキュータ１７９ａは、表示装置１３３において、たとえばクライアント１０３へのアプリケーション１５３の結果としてのダウンロードおよびインストールの進行状況に関する指示を提供してもよい。
【００２３】
別法として、メディアアクチュエータ２１３は、クライアント１０３にインストールプラグイン１５６がインストールされていないと判断すると、情報サーバ１０６からプラグインインストーラ１７９ｂをダウンロードする。
そして、プラグインインストーラ１７９ｂは、情報サーバ１０６からインストールプラグイン１５６をダウンロードし、その後、クライアント１０３においてインストールプラグイン１５６をインストールし実行する。
これに関して、プラグインインストーラ１７９ｂは、ダウンロードを容易にするためにインストールプラグイン１５６のユニフォームリソース識別子（uniform resource identifier）（ＵＲＩ）を含む。
プラグインインストーラ１７９ｂはまた、アプリケーション１５３のインストールにおける進行状況を監視し、表示装置１３３においてかかる進行状況を示してもよい。
インストールプラグイン１５６を実行する際、プラグインエグゼキュータ１７９ａおよび／またはプラグインインストーラ１７９ｂは、ブラウザ１４９に対してインストールプラグイン１５６を実行するように命令してもよく、あるいは他の何らかの手法を使用してもよい。
【００２４】
メディアアクチュエータ２１３は、プラグインエグゼキュータ１７９ａまたはプラグインインストーラ１７９ｂのいずれかをダウンロードするために、プラグインアクチュエータ１７９ａへのリンクとプラグインインストーラ１７９ｂへのリンクとを含むスクリプトを使用する。
これに関して、メディアアクチュエータ２１３は、インストールプラグイン１５６の実行もしくはダウンロード、インストールおよび実行のいずれかを容易にする。
【００２５】
インストールプラグイン１５６を実行する場合、プラグインエグゼキュータ１７９ａまたはプラグインインストーラ１７９ｂのいずれかは、インストールプラグイン１５６に対してアプリケーション識別子を提供する。
アプリケーション識別子は、メディア要素２０９をレンダリングするためにクライアント１０３にインストールされる対応するアプリケーション１５３に関連する。
これに関して、アプリケーション識別子は、たとえば、メディア要素２０９のファイル拡張子、アプリケーション１５３のファイル名およびバージョン、もしくは情報サーバ１０６においてアプリケーション１５３の所望のバージョンを表すニックネームであってもよい。
また、これらのパラメータのすべての組合せを、同様に提供してもよい。
さらに、メディアアクチュエータ２１３は、メディア要素２０９をダウンロードするために使用されるべきインストールプラグイン１５６に対しメディア要素２０９のユニフォームリソース識別子（ＵＲＩ）を提供する。
【００２６】
インストールプラグイン１５６は、クライアント１０３で実行されている時、情報サーバ１０６のインストール情報システム１７６に送信されるべき、アプリケーション１５３に対するセキュアな要求を生成する。
インストールプラグイン１５６は、セキュアな要求に、インストール情報システム１７６に対しいずれのアプリケーション１５３が望まれているかを正確に通知するアプリケーション識別子を含む。
セキュアな要求は、ネットワーク１１６上のアプリケーション１５３の位置を識別するユニフォームリソース識別子（ＵＲＩ）に対する、インストール情報システム１７６への要求である。
セキュアな要求を、たとえばハイパーテキスト転送プロトコルセキュア（hypertext transfer protocol secure）（ＨＴＴＰＳ）等の任意の適当なセキュアな伝送プロトコルまたはメカニズムを使用して作成してもよい。
また、当業者は理解することができるように、さまざまな暗号化および認証システムを使用してもよい。
さらに、インストールプラグイン１５６によって生成されるセキュアな要求以外の本明細書で説明する他のすべての伝送が、セキュアな伝送であってもよい。
【００２７】
情報サーバ１０６は、セキュアな要求を受信し、それを、処理するためにインストール情報システム１７６に通信する。
これに関して、それぞれのデバイスにおいてデータを「受信する」という行為には、ネットワーク１１６からデータを受け入れること、およびさらに処理するためにデバイスに関連付けられたメモリにデータを格納すること、が伴う。
次に、インストール情報システム１７６は、アプリケーションテーブル１８３を調べてアプリケーション識別子に関連するアプリケーション１５３を探す。
これに関して、アプリケーションテーブル１８３は、それぞれのアプリケーション識別子をアプリケーション１５３のユニフォームリソース識別子にマッピングする情報を含む。
アプリケーションテーブル１８３はまた、アプリケーション識別子をそれぞれのアプリケーション１５３に関連するハッシュ合計にマッピングする。
【００２８】
ハッシュ合計を、アプリケーション１５３から計算し、アプリケーション１５３がクライアント１０３において望まれたアプリケーションであることを確実にするために認証手段として使用する。
特に、ハッシュ合計を、適当なハッシュシステムを使用してアプリケーション１５３から計算する。
たとえば、ハッシュ合計は、ＭＤ５ハッシュかまたは等価物であってもよい。
インストール情報システム１７６は、アプリケーション１５３に関連するユニフォームリソース識別子と対応するハッシュ合計とを取得すると、そのアプリケーションのユニフォームリソース識別子とハッシュ合計とを含むセキュアな応答を生成し、それをクライアント１０３に送信する。
別の実施形態では、上記要求および応答は、セキュアな伝送でなくてもよい。
【００２９】
所望のアプリケーション１５３に関連するユニフォームリソース識別子とハッシュ合計とを受け取ると、インストールプラグイン１５６は、アプリケーション１５３のユニフォームリソース識別子（indicator→identifierとして訳）を使用してアプリケーション１５３に対する要求を送信する。
ユニフォームリソース識別子は、アプリケーションサーバ１１３におけるアプリケーション１５３の位置を識別する。
これに応じて、アプリケーションサーバ１１３は、クライアント１０３にアプリケーション１５３のインストールバージョンを送信する。
アプリケーション１５３のインストールバージョンを、後にクライアント１０３にインストールすることができる形態で提供し、これはまた、当業者は一般に理解することができるように、「インストーラ」として知られている。
そして、インストールプラグイン１５６は、アプリケーション１５３のインストーラを受け取ると、アプリケーション１５３のインストーラからハッシュ合計を計算することによりそれが真正であることを検証してもよいが、不要であると考えられる場合、この検証ステップをスキップしてもよい。
【００３０】
検証を実行すると想定すると、インストールプラグイン１５６は、ハッシュ計算システムを実行してハッシュ合計を生成してもよい。
このハッシュ計算システムは、情報サーバ１０６のアプリケーションテーブル１８３に格納されるハッシュ合計を生成するために使用したハッシュ計算システムと同じである。
そして、この新たに生成されたハッシュ合計をインストール情報システム１７６から受け取ったハッシュ合計と比較することにより、アプリケーション１５３のインストーラが真正であるか否かを判断してもよい。
【００３１】
アプリケーション１５３のインストーラが真正であると想定すると、インストールプラグイン１５６は、クライアント１０３へのアプリケーション１５３のインストールを実行する。
そうする際、インストールプラグイン１５６は、インストールプロセスのステータスをユーザに通知する１つまたは複数のＧＵＩが表示装置１３３に表示されるようにしてもよい。
別法として、プラグインエグゼキュータ１７９ａまたはインストーラ１７９ｂが、ユーザに対し、上述したようにインストールプロセスの進行状況に関して通知してもよい。
アプリケーション１５３のインストール中、当業者は理解することができるように、たとえば、適当なインストールが確実に発生するようにするためにクライアント１０３で開いているすべてのアプリケーションをシャットダウンすることを含む、１つまたは複数のタスクを実行するようにユーザに命令してもよい。
【００３２】
その後、アプリケーション１５３がクライアント１０３に正しくインストールされたと想定すると、インストールプラグイン１５６は、メディアサーバ１０９からメディア要素２０９をダウンロードする。
クライアント１０３においてメディア要素２０９が受け取られると、インストールプラグイン１５６は、アプリケーション１５３を実行しメディア要素２０９をレンダリングし始める。
【００３３】
要求に対する任意の期待された応答が期待された時に受け取られなかったという事実等、インストールプラグイン１５６の動作中に任意の障害が発生するかまたは他のエラーが発生すると、インストールプラグイン１５６は、表示装置１３３において、ユーザに対しかかるエラーを通知するＧＵＩを生成する。
かかる状況では、アプリケーション１５３のインストールおよび／またはクライアント１０３におけるメディア要素２０９のレンダリングは、通常は打ち切られる。
【００３４】
図２を参照すると、本発明の態様による、表示装置１３３（図１）において生成される例示的なブラウザＧＵＩ１４９ａが示されている。
図示するように、ブラウザＧＵＩ１４９ａは、メディアサーバ１０９（図１）かまたはネットワーク１１６（図１）に連結された別のサーバに格納された１つまたは複数のメディア要素２０９（図１）を参照する複数のメディア要素リンク２０９ａを含むネットワークページ２０６ａを示す。
これに関して、メディア要素リンク２０９ａは、たとえば、ハイパーテキストリンクまたは他のリンクもしくはアドレスを含んでもよい。
しかしながら、ブラウザＧＵＩ１４９ａの内容は、単に例示的なものであり、他のグラフィカル要素を使用してもよいこと等が理解される。
ユーザがメディア要素リンク２０９ａのうちの１つをクリックするようにＧＵＩと対話し、アプリケーション１５３（図１）がクライアント１０３（図１）にインストールされていないとすれば、クライアント１０３にダウンロードされたいかなるメディア要素２０９もレンダリングすることができない。
【００３５】
そうである場合、ユーザは、メディア要素リンク２０９ａに関連ししたがってメディア要素２０９に関連するメディアアクチュエータ２１３をクリックしてもよい。
このように、メディア要素２０９のみがダウンロードされるのではなく、メディア要素２０９をレンダリングするために必要なアプリケーション１５３もまたクライアント１０３にダウンロードされインストールされる。
その後、インストールされたアプリケーション１５３は実行され、メディア要素２０９は、それ以上のユーザ入力なしに自動的にレンダリングされる。
状況によっては、ユーザに対し、アプリケーション１５３のインストール中に、たとえばクライアント１０３で開いているすべてのアプリケーションを閉じること等のさまざまなタスクを実行するように促してもよい。
【００３６】
図３を参照すると、本発明の実施形態による、メディアアクチュエータ２１３の動作を示すフローチャートが示されている。
別法として、図３のフローチャートを、メディアアクチュエータ２１３に関連しクライアント１０３（図１）で実施される方法のステップを示すものとして見てもよい。
【００３７】
ボックス２５３で開始して、メディアアクチュエータ２１３ａ（図２）へのユーザのクリック動作により実行されると、メディアアクチュエータ２１３はまず、クライアント１０３にインストールプラグイン１５６（図１）が存在するか否かを判断する。
存在する場合、メディアアクチュエータ２１３はボックス２５６に進む。
そうでない場合、メディアアクチュエータ２１３はボックス２５９にジャンプする。
【００３８】
ボックス２５６において、メディアアクチュエータ２１３は、たとえばウェブページに組み込まれていてもよいプラグインエグゼキュータ１７９ａをダウンロードする。
そして、プラグインエグゼキュータ１７９ａが実行されることにより、先にダウンロードされたインストールプラグイン１５６が実行される。
さらに、ボックス２５６において、メディアアクチュエータ２１３は、ユーザに対し、アプリケーションダウンロードの進行状況とメディア要素２０９のダウンロードの進行状況とを示す。
その後、メディアアクチュエータ２１３は終了する。
【００３９】
ボックス２５９において、メディアアクチュエータ２１３は、たとえばウェブページに組み込まれていてもよいプラグインインストーラ１７９ｂをダウンロードする。
そして、プラグインインストーラ１７９ｂが実行されることにより、インストールプラグイン１５６がダウンロードされ、インストールされ、実行される。
さらに、ボックス２５９において、メディアアクチュエータ２１３は、ユーザに対し、アプリケーションダウンロードの進行状況とメディア要素２０９のダウンロード進行状況とを示す。
その後、メディアアクチュエータ２１３は終了する。
【００４０】
次に図４Ａを参照すると、本発明の実施形態によるプラグインエグゼキュータ１７９ａの動作のフローチャートが示されている。
別法として、図４Ａのフローチャートを、クライアント１０３（図１）においてインストールプラグイン１５６を実行するために、本発明の態様によりクライアント１０３において実施される方法のステップを示すものとして見てもよい。
プラグインエグゼキュータ１７９ａを、たとえば、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）と、たとえばＡｃｔｉｖｅＸコントロール、ＪａｖａＳｃｒｉｐｔ、Ｖｉｓｕａｌ  Ｂａｓｉｃ  Ｓｃｒｉｐｔ（ＶＢＳｃｒｉｐｔ）または他の言語等のロジックまたはコードと、を使用して作成してもよい。
【００４１】
ボックス２６１で開始して、プラグインエグゼキュータ１７９ａはまず、クライアント１０３において既存のインストールプラグイン１５６を実行する。
そうする際、プラグインエグゼキュータ１７９ａは、インストールプラグイン１５６に対し、アプリケーション識別子とメディア要素２０９のユニフォームリソース識別子とを提供してもよく、かかる情報は、メディアアクチュエータ２１３によって提供されている。
別法として、かかる情報を、メディアアクチュエータ２１３によりインストールプラグイン１５６自体に直接提供してもよい。
その後、ボックス２６３において、プラグインエグゼキュータ１７９ａは、クライアント１０３におけるアプリケーション１５３（図１）とメディア要素２０９（図１）とのダウンロードの進行状況を監視し、かかる進行状況を表示装置１３３において指示してもよい。
別法として、かかる指示を、インストールプラグイン１５６自体によって生成してもよい。
【００４２】
次に図４Ｂを参照すると、本発明の実施形態によるプラグインインストーラ１７９ｂの動作のフローチャートが示されている。
別法として、図４Ｂのフローチャートを、情報サーバ１０６からインストールプラグイン１５６をダウンロードしそれをクライアント１０３（図１）においてインストールし実行するために、本発明の態様によりクライアント１０３において実施される方法のステップを示すものとして見てもよい。
プラグインインストーラ１７９ｂを、たとえば、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）と、たとえばＡｃｔｉｖｅＸコントロール、ＪａｖａＳｃｒｉｐｔ、Ｖｉｓｕａｌ  Ｂａｓｉｃ  Ｓｃｒｉｐｔ（ＶＢＳｃｒｉｐｔ）または他の言語等のロジックまたはコードと、を使用して生成してもよい。
【００４３】
ボックス２６６で開始して、プラグインインストーラ１７９ｂは、情報サーバ１０６からインストールプラグイン１５６をダウンロードし、それをクライアント１０３においてインストールする。
その後、ボックス２６９において、プラグインインストーラ１７９ｂは、クライアント１０３においてインストールプラグイン１５６を実行する。
そうする際、プラグインインストーラ１７９ｂは、インストールプラグイン１５６に対し、アプリケーション識別子とメディア要素２０９のユニフォームリソース識別子とを提供してもよく、かかる情報は、メディアアクチュエータ２１３によって提供されている。
別法として、かかる情報を、メディアアクチュエータ２１３によりインストールプラグイン１５６自体に直接提供してもよい。
その後、ボックス２７１（図面では２７１になっています）において、プラグインインストーラ１７９ｂは、クライアント１０３においてアプリケーション１５３（図１）のダウンロードおよび実行の進行状況を監視し、かかる進行状況を表示装置１３３において指示してもよい。
別法として、かかる指示を、インストールプラグイン１５６自体によって生成してもよい。
【００４４】
図５を参照すると、本発明の実施形態によるインストールプラグイン１５６の動作のフローチャートが示されている。
別法として、図５のフローチャートを、メディア要素２０９（図１）をレンダリングするためにアプリケーション１５３をクライアント１０３（図１）にインストールするために、本発明の態様によりクライアント１０３において実施される方法のステップを示すものとして見てもよい。
【００４５】
ボックス２７３で開始して、インストールプラグイン１５６がクライアント１０３にダウンロードされインストールされており、ブラウザ１４０によって実行されるものと想定すると、インストールプラグイン１５６はまず、アプリケーション１５３の要求されたバージョンがクライアント１０３にインストールされているか否かを判断する。
アプリケーションの特定のバージョンは、メディア要素２０９と互換性がありまたはそれをレンダリングすることができるいかなるバージョンであってもよい。
その後、ボックス２７６において、アプリケーション１５３の要求されたバージョンがインストールされている場合、インストールプラグイン１５６はボックス２７９にジャンプし、そうでない場合、インストールプラグイン１５６はボックス２８３に進む。
ボックス２８３では、表示装置１３３（図１）において、アプリケーション１５３のダウンロードの進行状況を指示するステータスボックスを表示する。
さらに、クライアント１０３へのアプリケーション１５３のインストールの進行状況のステータスもまた、当業者は理解することができるように、そのステータスボックスにまたは異なるステータスボックスに示してもよい。
【００４６】
次に、ボックス２８６において、セキュアな要求を生成し情報サーバ１０６（図１）のインストール情報システム１７６（図１）に送信する。
セキュアな要求には、アプリケーション識別子が含まれる。
その後、ボックス２８９において、インストールプラグイン１５６は、情報サーバ１０６のインストール情報システム１７６からセキュアな応答を受け取るのを待つ。
セキュアな応答を受け取る前にタイムアウト期間が経過する（toll）と、インストールプラグイン１５６は、エラーが発生したと想定し、ボックス２９１に進んで、表示装置１３３においてエラーまたは障害指示を生成する。
これは、アプリケーション１５３のインストールが失敗し、クライアント１０３においてメディア要素２０９をレンダリングすることができない、ということをユーザに通知する。
その後、インストールプラグイン１５６は終了する。
【００４７】
しかしながら、ブロック２８９において、インストール情報システム１７６からセキュアな応答を受け取ると、インストールプラグイン１５６は、ボックス２９３に進み、ＨＴＴＰ等の適当な通信プロトコルを使用してアプリケーション１５３に対する要求をアプリケーションサーバ１１３に送信する。
アプリケーションサーバ１１３から取得される実際のファイルは、クライアント１０３におけるアプリケーション１５３のインストール中に実施することができるアプリケーション１５３のインストーラバージョンである。
要求を、ボックス２８９においてインストール情報システム１７６から先に取得されたアプリケーション１５３のユニフォームリソース識別子に送信する。
【００４８】
そして、ボックス２９６において、インストールプラグイン１５６は、要求に応じてアプリケーションサーバ１１３からアプリケーション１５３を受け取るのを待つ。
アプリケーションを受け取ることなく所定期間が経過すると、インストールプラグイン１５６は、エラーが発生したと想定し、ボックス２９１に進んで表示装置１３３においてユーザにエラーを通知する。
一方、ボックス２９６においてアプリケーションサーバ１１３からアプリケーション１５３のインストールバージョンが受け取られると想定すると、ボックス２９９において、インストールプラグイン１５６は、アプリケーション１５３のインストールバージョンのハッシュ値を計算する。
そして、ボックス３０３において、アプリケーション１５３のインストールバージョンから計算されたハッシュ合計が、ボックス２９６において送信された要求に応じてアプリケーションサーバ１１３から受け取られたハッシュ合計と一致する場合、インストールプラグイン１５６はボックス３０６に進む。
そうでない場合、インストールプラグイン１５６はボックス２９１に移動し、表示装置１１３においてアプリケーション１５３のインストールが失敗したことを示す。
【００４９】
ボックス３０３においてハッシュ合計が一致したと想定すると、ボックス３０６において、インストールプラグイン１５６は、クライアント１０３においてアプリケーション１５３のインストールを実行する。
そうする際、インストールプラグイン１５６は、たとえばアプリケーション１５３に関連するインストーラを実行してもよい。
その後、ボックス２７９において、メディアサーバ１０９から所望のメディア要素２０９をダウンロードし、それとともにアプリケーション１５３を実行する。
このように、メディア要素２０９をユーザに対してレンダリングする。
その後、インストールプラグイン１５６は終了する。
【００５０】
図６を参照すると、本発明の別の態様による情報サーバ１０６（図１）で実施されるインストール情報システム１７６の動作のフローチャートが示されている。
別法として、図６のフローチャートを、情報サーバ１０６で実施される方法のステップを示すものとして見てもよい。
ボックス３２３で開始すると、インストール情報システム１７６は、アプリケーションテーブル１８３（図１）においてアプリケーション識別子を探すことにより、アプリケーション１５３の関連するユニフォームリソース識別子と、それに関連するハッシュ合計と、を確定する。
その後、ボックス３２６において、アプリケーション１５３のユニフォームリソース識別子と対応するハッシュ合計とを含むセキュアな応答を生成する。
そして、セキュアな応答をクライアント１０３に送信する。
その後、インストール情報システム１７６は終了する。
【００５１】
メディアアクチュエータ２１３とインストールプラグイン１５６とインストール情報システム１７６と本発明の他のロジックとを、上述したように汎用ハードウェアで実行されるソフトウェアまたはコードで具体化しているが、代替形態として、それらを、専用ハードウェアまたはソフトウェア／汎用ハードウェアおよび専用ハードウェアの組合せで具体化してもよい。
専用ハードウェアで具体化される場合、メディアアクチュエータ２１３とインストールプラグイン１５６とインストール情報システム１７６と本明細書で説明した他のロジックとを、複数の技術のうちの任意の１つまたは組合せを使用する回路または状態機械として実施してもよい。
これらの技術には、限定されないが、１つまたは複数のデータ信号が与えられるとさまざまな論理機能を実施する論理ゲートを有するディスクリート論理回路、適当な論理ゲートを有する特定用途向け集積回路、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のコンポーネント等があってもよい。
かかる技術は、一般に当業者には既知であり、したがって、それらについて本明細書では詳細に説明しない。
【００５２】
図３、図４Ａおよび図４Ｂ、図５ならびに図６のフローチャートは、メディアアクチュエータ２１３とインストールプラグイン１５６とインストール情報システム１７６と他のロジックとの実施態様のアーキテクチャ、機能および動作を示す。
ソフトウェアで具体化する場合、各ブロックは、指定された論理機能（複数可）を実施するプログラム命令を含むモジュール、セグメントまたはコードの一部を表してもよい。
プログラム命令を、コンピュータシステムまたは他のシステムにおけるプロセッサ等の適当な実行システムによって認識可能な多数の命令を含むプログラミング言語または機械コードで書かれた人間が読取可能なステートメントを含むソースコードの形態で具体化してもよい。
機械コードを、ソースコード等から変換してもよい。
ハードウェアで具体化する場合、各ブロックは、指定された論理機能（複数可）を実施する１つの回路または複数の相互接続された回路を表してもよい。
【００５３】
図３、図４Ａおよび図４Ｂ、図５ならびに図６のフローチャートは、特定の実行の順序を示すが、実行の順序は図示したものと異なってもよい、ということが理解される。
たとえば、２つ以上のブロックの実行の順序を、図示する順序に対して並べ替えてもよい。
また、図３、図４Ａおよび図４Ｂ、図５ならびに図６において連続して示す２つ以上のブロックを、同時にまたは部分的に同時に実行してもよい。
さらに、ユーティリティの向上、アカウンティング、パフォーマンス測定または障害追跡支援を提供する等の目的で、本明細書で説明した論理フローに対し、任意の数のカウンタ、状態変数、警告セマフォまたはメッセージを追加してもよい。
かかる変形形態は本発明の範囲内にあることが理解される。
【００５４】
また、メディアアクチュエータ２１３、インストールプラグイン１５６またはインストール情報システム１７６がソフトウェアまたはコードからなる場合、各々をたとえばコンピュータシステムまたは他のシステムのプロセッサ等の命令実行システムによるかまたはそれに関連して使用される任意のコンピュータ読取可能媒体で具体化してもよい。
これに関し、ロジックは、たとえば、コンピュータ読取可能媒体からフェッチし命令実行システムによって実行することができる命令および宣言を含むステートメントを有してもよい。
本発明の文脈では、「コンピュータ読取可能媒体」は、命令実行システムによるかまたはそれに関連して使用される、メディアアクチュエータ２１３、インストールプラグイン１５６およびインストール情報システム１７６を含み、格納し、または保持することができる任意の媒体であってもよい。
コンピュータ読取可能媒体は、たとえば、電子、磁気、光、電磁気、赤外線または半導体媒体等の多くの物理媒体のうちの任意のものであってもよい。
適当なコンピュータ読取可能媒体のより特定の例には、限定されないが、磁気テープ、磁気フロッピーディスケット、磁気ハードドライブまたはコンパクトディスクがある。
また、コンピュータ読取可能媒体は、たとえばスタティックランダムアクセスメモリ（ＳＲＡＭ）およびダイナミックランダムアクセスメモリ（ＤＲＡＭ）もしくは磁気ランダムアクセスメモリ（ＭＲＡＭ）を含むランダムアクセスメモリ（ＲＡＭ）であってもよい。
さらに、コンピュータ読取可能媒体は、リードオンリメモリ（ＲＯＭ）、プログラマブルリードオンリメモリ（ＰＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的に消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）または他のタイプのメモリデバイスであってもよい。
【００５５】
本発明を、いくつかの好ましい実施形態に関して図示し説明しているが、本明細書を読み理解した当業者が等価形態および変更形態を思いつくであろうということは明らかである。
本発明は、かかる等価形態および変更形態をすべて含み、特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００５６】
【図１】クライアントにおけるアプリケーションの自動インストールを容易にするデバイスを含む、本発明の実施形態によるクライアント／サーバネットワークの図である。
【図２】図１のクライアント／サーバネットワークにおけるクライアントの表示装置において示される例示的なネットワークページに対応する例示的なグラフィカルユーザインタフェースの図である。
【図３】図１のクライアント／サーバネットワークにおけるクライアントにおいて実行される、本発明の実施形態によるメディアアクチュエータの動作を示すフローチャートである。
【図４Ａ】クライアントにおいて先にインストールされた図１のアプリケーションを実行する、図１のクライアント／サーバネットワークにおけるクライアントにおいて実行される本発明の実施形態によるプラグインエグゼキュータの動作を示すフローチャートである。
【図４Ｂ】クライアントにおけるアプリケーションのインストールおよび実行を開始する、図１のクライアント／サーバネットワークにおけるクライアントにおいて実行される本発明の実施形態によるプラグインインストーラの動作を示すフローチャートである。
【図５】図１のクライアント／サーバネットワークにおけるクライアントにおいて実行される、本発明の実施形態によるインストールプラグインのフローチャートである。
【図６】図１のクライアント／サーバネットワークにおける情報サーバにおいて実行される、本発明の実施形態によるインストール情報システムのフローチャートである。
【符号の説明】
【００５７】
１０３・・・クライアント，
１０６・・・情報サーバ，
１０９・・・メディアサーバ，
１１３・・・アプリケーションサーバ，
１１６・・・ネットワーク，
１２３，１６３，１９３，２２３・・・プロセッサ，
１２６，１６６，１９６，２２６・・・メモリ，
１４３・・・プリンタ，
１４６，１７３，２０３，２３３・・・オペレーティングシステム，
１４９・・・ブラウザ，
１５３・・・アプリケーション，
１５６・・・インストールプラグイン，
１７６・・・インストール情報システム，
１７９ａ・・・プラグインエグゼキュータ，
１７９ｂ・・・プラグインインストーラ，
１８３・・・アプリケーションテーブル，
２０６・・・ネットワークページ，
２０９・・・メディア要素，
２１３・・・メディアアクチュエータ，
【図１】
2005531049.tif 000003
【図２】
2005531049.tif 000004
【図３】
2005531049.tif 000005
【図４Ａ】
2005531049.tif 000006
【図４Ｂ】
2005531049.tif 000007
【図５】
2005531049.tif 000008
【図６】
2005531049.tif 000009
【国際調査報告】
2005531049.tif 000010
2005531049.tif 000011
2005531049.tif 000012