(57)【要約】  関連ソフトウェアの存在についてユーザに通知するとともに、ブラウザを使用してこのようなソフトウェアのインストールを容易にする方法を提供する。ユーザのブラウザとのインタラクションをモニタして所定のブラウジングセッションのコンテキストを判定し、コンテキストに関連するソフトウェアが利用可能かどうかを判定する。このようなソフトウェアが利用可能な場合、これをユーザに推奨し、ユーザがこのソフトウェアのインストールを希望する場合、ブラウザを介してインストールを実行することができる。静的なウェブページ内への推奨の組み込み、動的なウェブページ内への推奨の組み込み、及び広告コンテンツの一部としての推奨の配信を含む様々な手段を通じてソフトウェアをユーザに推奨することができる。推奨は、ブラウザによるソフトウェアのインストールを容易にするインストールスクリプトなどへのリンクを含むことができる。【選択図】      図１
2010522398.tif 000002
【特許請求の範囲】
【請求項１】
関連ソフトウェアの存在についてユーザに通知するとともに、このようなソフトウェアのインストールを容易にする方法であって、
ブラウジングセッション中にコンピュータデバイス上で実行中のブラウザとのユーザインタラクションをモニタするステップと、
前記モニタしたユーザインタラクションに基づいて前記ブラウジングセッションに関するコンテキストを判定するステップと、
前記コンテキストに関連するソフトウェアが利用可能かどうかを判定するステップと、
前記判定したソフトウェアを前記ユーザに推奨するステップと、
前記判定したソフトウェアの前記インストールを、ページ内インストーラを通じて容易にするステップと、
を含むことを特徴とする方法。
【請求項２】
前記容易にするステップは、
前記ブラウザがサポートされたブラウザであるかどうかを判定し、前記ブラウザがサポートされたブラウザでない場合、前記判定したソフトウェアの前記インストールを、標準インストーラを通じて容易にするステップと、
前記コンピュータデバイス上に前記必要なコードライブラリがインストールされているかどうかを判定し、前記コンピュータデバイスにあらゆる必要なコードライブラリをインストールするステップと、
中央アプリケーションサーバからインストールスクリプトを取得するステップと、
前記ブラウザに前記インストールスクリプトを開始させるステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記インストールスクリプトの少なくとも一部はデジタル署名される、
ことを特徴とする請求項２に記載の方法。
【請求項４】
デジタル署名された前記インストールスクリプトの前記一部は、実行するために高い権限を必要とする命令を含む、
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記デジタル署名に基づいて、前記インストールスクリプトが信頼できるソースから得たものであることを検証するステップをさらに含む、
ことを特徴とする請求項３に記載の方法。
【請求項６】
前記インストールスクリプトが検証されない場合、前記インストールの実行を拒否するステップをさらに含む、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記インストールスクリプトが検証されない旨を前記ユーザに通知するステップと、
前記インストールを進める許可を前記ユーザに求めるステップと、
前記ユーザが前記インストールを許可しない場合、前記方法を終了させるステップと、
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記モニタしたユーザインタラクションに基づいて前記ユーザのプロファイルを構築するステップをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記判定したソフトウェアは、広告を通じて前記ユーザに推奨される、
ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記判定したソフトウェアは、前記ブラウザ内に現れるウェブページに動的に組み込まれたコンテンツを通じて前記ユーザに推奨される、
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記コンテキストは、前記ユーザが前記ブラウザを介して行なった検索の結果に部分的に基づいて判定される、
ことを特徴とする請求項１に記載の方法。
【請求項１２】
前記検索は、コンピュータソフトウェアアプリケーションリポジトリの検索を含む、
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記コンテキストは、前記ブラウザが現在表示している前記ページ内のキーワードに部分的に基づいて判定される、
ことを特徴とする請求項１に記載の方法。
【請求項１４】
前記コンテキストは、前記ブラウザが現在表示している前記ページに関連するメタデータに部分的に基づいて判定される、
ことを特徴とする請求項１に記載の方法。
【請求項１５】
ソフトウェアのインストールを容易にするためのシステムであって、
アプリケーションサーバと、
アプリケーション依存性データベースと、
コンピュータデバイス上で動作中のブラウザが解釈可能なコマンドセットと、
を含み、前記コマンドセットは、前記ブラウザにより解釈された場合、
前記アプリケーション依存性データベースからインストールスクリプトを取得し、
前記インストールスクリプトにおいて参照したファイルを前記アプリケーションサーバから取得し、
動作するために高い権限を必要とする前記インストールスクリプトの少なくとも前記一部が、信頼できるソースによりデジタル署名されていることを検証し、
前記インストールスクリプトを実行して前記ソフトウェアをインストールする、
ことを容易にする、
ことを特徴とするシステム。
【請求項１６】
前記アプリケーションサーバは、前記アプリケーション依存性データベースを含む、
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記コンピュータデバイスにインストールされた第１のコードライブラリをさらに含み、該第１のコードライブラリは、前記コンピュータデバイス上で実行中のオペレーティングシステムと前記ブラウザとの間のインタラクションを容易にする、
ことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記コンピュータデバイスにインストールされた第２のコードライブラリをさらに含み、該第２のコードライブラリは、前記オペレーティングシステム及び前記コンピュータデバイスにインストールされたその他のソフトウェアアプリケーションに関する情報の取得を容易にする、
ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記第１のコードライブラリと前記第２のコードライブラリとが１つのコードライブラリに統合される、
ことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記コマンドセットは、前記信頼されるスクリプトの少なくとも一部が信頼できるソースによりデジタル署名されていない場合、前記ユーザに通知するとともに前記インストールを進める許可を前記ユーザに求めるための命令をさらに含む、
ことを特徴とする請求項１５に記載のシステム。
【請求項２１】
前記コマンドセットは、ブラウザセッションのコンテキストを判定するための命令をさらに含む、
ことを特徴とする請求項１５に記載のシステム。
【請求項２２】
前記コンテキストは、前記ユーザが前記ブラウザを介して行なった検索の結果に部分的に基づいて判定される、
ことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記検索は、コンピュータソフトウェアアプリケーションリポジトリの検索を含む、
ことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記コンテキストは、前記ブラウザが現在表示している前記ページ内のキーワードに部分的に基づいて判定される、
ことを特徴とする請求項２１に記載のシステム。
【請求項２５】
前記コンテキストは、前記ブラウザが現在表示している前記ページに関連するメタデータに部分的に基づいて判定される、
ことを特徴とする請求項２１に記載のシステム。
【請求項２６】
コンピュータプログラムロジックを記録したコンピュータ可読媒体を有するコンピュータプログラム製品であって、関連ソフトウェアの前記存在についてユーザに通知するとともにこのようなソフトウェアの前記インストールを容易にするための命令を含み、
ブラウジングセッション中にコンピュータデバイス上で実行中のブラウザとのユーザインタラクションをモニタするための命令と、
前記モニタしたユーザインタラクションに基づいて前記ブラウジングセッションのコンテキストを判定するための命令と、
前記コンテキストに関連するソフトウェアが利用可能かどうかを判定するための命令と、
前記判定したソフトウェアを前記ユーザに推奨するための命令と、
前記判定したソフトウェアの前記インストールを、ページ内インストーラを通じて容易にするための命令と、
をさらに含むことを特徴とするコンピュータプログラム製品。
【請求項２７】
前記ブラウザがサポートされたブラウザであるかどうかかを判定し、前記ブラウザがサポートされたブラウザでない場合、前記判定したソフトウェアの前記インストールを、標準インストーラを通じて容易にするための命令と、
前記コンピュータデバイスに前記必要なコードライブラリがインストールされているかどうかを判定し、前記コンピュータデバイスにあらゆる必要なコードライブラリをインストールするための命令と、
中央アプリケーションサーバからインストールスクリプトを取得するための命令と、
前記ブラウザに前記インストールスクリプトを開始させるための命令と、
をさらに含むことを特徴とする請求項２６に記載のコンピュータプログラム製品。
【請求項２８】
前記デジタル署名に基づいて、前記インストールスクリプトが信頼できるソースから得たものであることを検証するための命令をさらに含む、
ことを特徴とする請求項２７に記載のコンピュータプログラム製品。
【請求項２９】
前記インストールスクリプトが検証されない場合、前記インストールの実行を拒否するための命令をさらに含む、
ことを特徴とする請求項２８に記載のコンピュータプログラム製品。
【請求項３０】
前記インストールスクリプトが検証されない旨を前記ユーザに通知するための命令と、
前記インストールを進める許可を前記ユーザに求めるための命令と、
前記ユーザが前記インストールを許可しない場合、前記インストールを中断させるための命令と、
をさらに含むことを特徴とする請求項２８に記載のコンピュータプログラム製品。
【請求項３１】
前記モニタしたユーザインタラクションに基づいて前記ユーザのプロファイルを構築するための命令をさらに含む、
ことを特徴とする請求項２７に記載のコンピュータプログラム製品。
【請求項３２】
前記判定したソフトウェアを、広告を通じて前記ユーザに推奨するための命令をさらに含む、
ことを特徴とする請求項２７に記載のコンピュータプログラム製品。
【請求項３３】
前記判定したソフトウェアを、前記ブラウザ内に現れるウェブページに動的に組み込まれたコンテンツを通じて前記ユーザに推奨するための命令をさらに含む、
ことを特徴とする請求項２７に記載のコンピュータプログラム製品。
【請求項３４】
前記コンテキストは、前記ユーザが前記ブラウザを介して行なった検索の結果に部分的に基づいて判定される、
ことを特徴とする請求項２６に記載のコンピュータプログラム製品。
【請求項３５】
前記検索は、コンピュータソフトウェアアプリケーションリポジトリの検索を含む、
ことを特徴とする請求項３４に記載のコンピュータプログラム製品。
【請求項３６】
前記コンテキストは、前記ブラウザが現在表示している前記ページ内のキーワードに部分的に基づいて判定される、
ことを特徴とする請求項２６に記載のコンピュータプログラム製品。
【請求項３７】
前記コンテキストは、前記ブラウザが現在表示している前記ページに関連するメタデータに部分的に基づいて判定される、
ことを特徴とする請求項２６に記載のコンピュータプログラム製品。
【請求項３８】
ソフトウェアのインストールを容易にするためのシステムであって、
ウェブサーバと、
アプリケーションサーバと、
アプリケーション依存性データベースと、
前記ウェブサーバが、該ウェブサーバが提示したコンテンツをレンダリングすることができるブラウザと通信できるようにする通信パスと、
前記ブラウザが解釈可能なコマンドセットと、
を含み、前記コマンドセットは、
前記アプリケーション依存性データベースからインストールスクリプトを取得し、
前記インストールスクリプトにおいて参照したファイルを前記アプリケーションサーバから取得し、
動作するために高い権限を必要とする前記インストールスクリプトの少なくとも前記一部が信頼できるソースによりデジタル署名されていることを検証し、
前記インストールスクリプトを実行してコンピュータデバイス上にソフトウェアをインストールする、
ことを容易にする、
ことを特徴とするシステム。
【請求項３９】
前記アプリケーションサーバは、前記アプリケーション依存性データベースを含む、
ことを特徴とする請求項３８に記載のシステム。
【請求項４０】
前記コンピュータデバイスにインストールされた第１のコードライブラリをさらに含み、該第１のコードライブラリは、前記コンピュータデバイス上で実行中のオペレーティングシステムと前記ブラウザとの間のインタラクションを容易にする、
ことを特徴とする請求項３８に記載のシステム。
【請求項４１】
前記コンピュータデバイスにインストールされた第２のコードライブラリをさらに含み、該第２のコードライブラリは、前記オペレーティングシステム及び前記コンピュータデバイス上にインストールされたその他のソフトウェアアプリケーションに関する情報の取得を容易にする、
ことを特徴とする請求項４０に記載のシステム。
【請求項４２】
前記第１のコードライブラリと前記第２のコードライブラリとが１つのコードライブラリに統合される、
ことを特徴とする請求項４１に記載のシステム。
【請求項４３】
前記コマンドセットは、前記信頼されるスクリプトの少なくとも一部が信頼できるソースによりデジタル署名されていない場合、前記ユーザに通知するとともに前記インストールを進める許可を前記ユーザに求めるための命令をさらに含む、
ことを特徴とする請求項３８に記載のシステム。
【請求項４４】
前記コマンドセットは、ブラウザセッションのコンテキストを判定するための命令をさらに含む、
ことを特徴とする請求項３８に記載のシステム。
【請求項４５】
前記コンテキストは、前記ユーザが前記ブラウザを介して行なった検索の結果に部分的に基づいて判定される、
ことを特徴とする請求項４４に記載のシステム。
【請求項４６】
前記検索は、コンピュータソフトウェアアプリケーションリポジトリの検索を含む、
ことを特徴とする請求項４５に記載のシステム。
【請求項４７】
前記コンテキストは、前記ブラウザが現在表示している前記ページ内のキーワードに部分的に基づいて判定される、
ことを特徴とする請求項４４に記載のシステム。
【請求項４８】
前記コンテキストは、前記ブラウザが現在表示している前記ページに関連するメタデータに部分的に基づいて判定される、
ことを特徴とする請求項４４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は著作権保護の対象内容を含む。著作権の権利所有者は、合衆国特許商標庁のファイル又は記録内に表されるとおりに第三者が特許開示を複製することには異議を唱えないが、それ以外は全ての著作権を留保する。
本開示は、コンピュータソフトウェアの分野に関し、より具体的には、ウェブページを介してユーザのコンピュータにソフトウェアアプリケーションをインストールできるようにするシステム及び方法を提供する。
【背景技術】
【０００２】
コンピュータセキュリティ問題の多くは、無防備なユーザのコンピュータに悪意のあるコンピュータソフトウェアがインストールされることにより生じるが、この問題に関する報道が広まるにつれ、ユーザは当然ながらあらゆる新規ソフトウェアのインストールに警戒心を抱く。また、大部分の人々にとって、新規ソフトウェアのインストールは面倒な作業であり、彼らは、インストールパス、インストールオプション、及び初心者ユーザにとっては理解が困難なこともあるその他の属性を確認するように促される。結果として、コンピュータソフトウェア企業は、メーカーが新しいコンピュータを販売する際に、これらのコンピュータに新規ソフトウェアをインストールさせる機会を獲得するために争うことが多くなる。ソフトウェアをプレインストールさせることにより、コンピュータソフトウェア企業は、ユーザが後でソフトウェアをインストールする必要性を避けるようにすることができる。結果として、これらのコンピュータソフトウェア企業は、自社のソフトウェアをプレインストールさせていないコンピュータソフトウェア企業よりも高いソフトウェアの普及率を実現することができる。
【０００３】
従来技術の中には、コンピュータソフトウェアのインストール処理を簡略化することにより、これらの欠点への対処を試みてきたものもある。一例として、カリフォルニア州サンタクララのＭａｃｒｏｖｉｓｉｏｎ社が販売するＩｎｓｔａｌｌＳｈｉｅｌｄインストールツール、及びユタ州リンドンのＡｌｔｉｒｉｓ社が販売するＷｉｓｅ  Ｉｎｓｔａｌｌａｔｉｏｎ  Ｓｔｕｄｉｏは、ソフトウェアインストール処理の多くを自動化できる手段を提供する。しかしながら、このようなインストールツールでは、個々のアプリケーション及びアプリケーションのバージョンごとに新規のインストーラを作成する必要がある。インストーラは、インストール全体を１又はそれ以上の圧縮したデジタル署名済みのファイルにパッケージ化し、後でこのファイルをインストーラにより展開する。ソフトウェアのインストール後、インストーラは自己の少なくとも一部を削除する。
【０００４】
業界内では、プログラム更新のインストールを簡略化して、少なくともユーザがプログラムをインストールしなければならない回数を減らすことにより問題への対処を試みてきたものもある。一例として、ワシントン州レドモンドのマイクロソフト社がＣｌｉｃｋＯｎｃｅ展開技術を提供している。ＣｌｉｃｋＯｎｃｅとは、ソフトウェア開発者がＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（商標）ファミリのオペレーティングシステムのための自己更新型アプリケーションを作成できるようにする展開技術である。最小限のユーザインタラクションにより、自己更新型アプリケーションをインストールし、実行することができる。ＣｌｉｃｋＯｎｃｅ展開技術についてのさらなる情報については、ｈｔｔｐ://ｍｓｄｎ２．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｅｎ−ｕｓ／ｌｉｂｒａｒｙ／１４２ｄｂｂｚ４．ａｓｐｘで検出することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コンピュータソフトウェアのインストール及び更新をさらに簡略化することができるシステム及び方法が必要とされている。従って、本開示は、関連技術の限界及び不都合に起因する問題の１又はそれ以上を実質的に取り除くページ内コンピュータソフトウェアインストーラを対象とする。
【０００６】
上述のように、たとえユーザのニーズにより適している可能性のある他のコンピュータソフトウェアが存在していても、多くのコンピュータデバイスがコンピュータソフトウェアを予め組み込んだ形となり、多くのユーザがこのようなコンピュータソフトウェアを使用することのみにとどまっている。同様に、特定のユーザにとって都合の良いコンピュータソフトウェアが存在する可能性があっても、ユーザがこのようなソフトウェアの存在に気付かないこともある。
【０００７】
限定的な意味ではないが、ワシントン州レドモンドのマイクロソフト社が販売するＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、及びカリフォルニア州マウンテンビューのＭｏｚｉｌｌａ社が販売するＦｉｒｅｆｏｘなどの従来型のウェブブラウザの使用及びこれらとのインタラクションに基づいて、ユーザをプロファイリングできる多くのシステムが存在する。このようなプロファイリングシステムの使用を通じて、ユーザにとって関心のありそうなコンピュータソフトウェアが存在するかどうかを判定することが可能となる。本開示は、このようなプロファイリングシステムを利用してこのようなソフトウェアの存在をユーザに通知するとともに、このようなコンピュータソフトウェアのインストールを効率化する。
【０００８】
本発明の追加の特徴及び利点について以下の説明で述べており、本開示からこの一部を明らかにし、或いは本発明の実施によりこれを理解することができる。本発明の目的及びその他の利点は、特許請求の範囲及び添付図面を含む本明細書に具体的に示す構造により実現され達成されるであろう。
【課題を解決するための手段】
【０００９】
ページ内コンピュータソフトウェアインストーラのいくつかの実施形態が、関連するコンテキストにおけるソフトウェアをウェブを通してダウンロードし、このようなソフトウェアを、コンテキストを破壊せずにできるだけ迅速かつ簡単に取得する能力をユーザに提供する。この解決法により、ウェブページなどが適当なソフトウェアをインストールするようにユーザにオファーできるようになり、ページが提供するコンテキスト及びユーザのコンピュータデバイスの構成に基づいてオファー及びコールトゥアクションを動的にカスタマイズする方法で、このようなオファーを既存のウェブページに埋め込むことができるようになる。この解決法は、専用のウェブページからインストーラを起動しなければならないウェブベースのインストールをサポートする従来型のインストーラとは対照的なものである。一例として、限定的な意味ではないが、ユーザが、ユーザのコンピュータに保存されたデジタル写真をスライドショーの形で表示できるソフトウェアを求めて、ｗｉｄｇｅｔｓ．ｙａｈｏｏ．ｃｏｍなどのコンピュータソフトウェアリポジトリを検索する場合がある。このような検索により、ユーザにとって関心のありそうな複数のソフトウェアアプリケーションを返すことができる。ページ内コンピュータソフトウェアインストーラにより、ユーザは、検索の一部として返された１又はそれ以上のソフトウェアアプリケーションを容易にインストールできるようになる。
【００１０】
いくつかの実施形態では、ページ内コンピュータソフトウェアインストーラが、ユーザからの入力を要請又は要求することなく、ユーザのコンピュータデバイスの構成に特有のインストール依存性を自動的に管理することもできる。これによりユーザは、ウェブページ上でのコールトゥアクションのクリックから、ユーザ側における付加的な中間の行動を伴わずにソフトウェアの実行へと進めるようになる。
【００１１】
いくつかのページ内コンピュータソフトウェアインストーラの実施形態はオープンかつ拡張可能であり、提供者が提供する設定及び親ウェブページの開発者が指示するパラメータに基づいて、及びユーザのコンピュータデバイスの構成に従って、リポジトリに置かれたあらゆるソフトウェアのインストール依存性を動的に管理する能力を有する。
【００１２】
実施形態によっては、配布可能なアーキテクチャを利用するものもあり、この結果様々な環境における展開が容易になるとともに基本的なアーキテクチャへの変更が容易になる。いくつかの実施形態では、ＨＴＭＬ  ２．０仕様又は同様の要素で定義されるように、ＩＦＲＡＭＥ又はインラインフレームを介してインストーラへの「バッジ」をウェブページに埋め込むことにより、上記を達成することができる。いくつかの実施形態では、個々のウェブページ内に適当な機能を手動でハードコードすることにより、ページ内コンピュータソフトウェアインストーラを実行することができる。さらに別の実施形態では、あらゆるウェブページに動的に埋め込むことができるモジュールを作成することにより、ページ内コンピュータソフトウェアインストーラを実行することができる。さらに別の実施形態では、広告提供媒体に適当な機能を埋め込むことにより、ページ内コンピュータソフトウェアインストーラを実行することができる。
【００１３】
いくつかの実施形態は、関連ソフトウェアの存在についてユーザに通知するとともに、このようなソフトウェアのインストールを容易にする方法を含み、この方法は、ブラウジングセッション中にコンピュータデバイス上で実行中のブラウザとのユーザインタラクションをモニタするステップと、モニタしたユーザインタラクションに基づいてブラウジングセッションのコンテキストを判定するステップと、このコンテキストに関連するソフトウェアが利用可能かどうかを判定するステップと、判定したソフトウェアをユーザに推奨するステップと、判定したソフトウェアのインストールをページ内インストーラを通じて容易にするステップとを含む。いくつかの実施形態では、容易にするステップは、ブラウザがサポートされたブラウザであるかどうかを判定し、ブラウザがサポートされたブラウザでない場合、判定したソフトウェアのインストールを標準インストーラを通じて容易にするステップと、必要なコードライブラリがコンピュータデバイスにインストールされているかどうかを判定し、あらゆる必要なコードライブラリをコンピュータデバイスにインストールするステップと、中央アプリケーションサーバからインストールスクリプトを取得するステップと、ブラウザにインストールスクリプトを開始させるステップとをさらに含む。
【００１４】
いくつかの実施形態では、インストールスクリプト又はその一部にデジタル署名を行うことができ、このデジタル署名を使用して、インストールスクリプトが信頼できるソースから得たものであることを検証することができる。インストールスクリプトが信頼できるソースから得たものでない場合、ページ内インストーラがインストールの実行を拒否することができ、或いはページ内インストーラが、インストールの開始前にユーザに追加の許可を要求することができる。
【００１５】
いくつかの実施形態では、ページ内インストーラが、モニタしたユーザインタラクションに基づいてユーザのプロファイルを構築するステップをさらに含むことができる。いくつかの実施形態では、判定したソフトウェアが広告を通じてユーザに推奨される。いくつかの実施形態では、判定したソフトウェアが、ブラウザ内に現れるウェブページに動的に組み込まれたコンテンツを通じてユーザに推奨される。
【００１６】
いくつかの実施形態では、ブラウザが現在表示しているページに関連するキーワード、メタデータ、又はその他のこのような情報に少なくとも部分的に基づいてコンテキストを判定することができる。いくつかの実施形態では、人気のあるＹａｈｏｏ！サーチエンジンを利用した検索などの、ユーザが実行する検索の結果に少なくとも部分的に基づいてコンテキストを判定することができる。
【００１７】
いくつかの実施形態は、ソフトウェアのインストールを容易にするためのシステムを含み、このシステムは、標準ウェブサーバと、アプリケーションサーバと、アプリケーション依存性データベースと、標準ウェブサーバが提供するコンテンツをレンダリングできるコンピュータデバイス上で動作するブラウザと、ブラウザが解釈可能なコマンドセットとを含み、コマンドセットは、アプリケーション依存性データベースからインストールスクリプトを取得すること、インストールスクリプトで参照したファイルをアプリケーションサーバから取得すること、及びインストールスクリプトを実行してソフトウェアをインストールすることを容易にする。いくつかの実施形態では、アプリケーションサーバがアプリケーション依存性データベースを含むことができる。いくつかの実施形態は、コンピュータデバイスにインストールされた第１のコードライブラリをさらに含むことができ、この第１のコードライブラリが、コンピュータデバイス上で実行中のオペレーティングシステムとブラウザとの間のインタラクションを容易にする。いくつかの実施形態は、コンピュータデバイス上にインストールされた第２のコードライブラリをさらに含むことができ、この第２のコードライブラリが、オペレーティングシステム及びコンピュータデバイスにインストールされたその他のソフトウェアアプリケーションに関する情報の取得を容易にする。いくつかの実施形態では、第１のコードライブラリと第２のコードライブラリとが１つのコードライブラリに統合される。
【００１８】
いくつかの実施形態は、１又はそれ以上のコンピュータプログラム製品に組み込まれたページ内インストーラの態様を含むことができる。
【００１９】
この解決法には、大いなる可能性を秘めたビジネス上の重要性が存在する。この解決法は、ユーザのＰＣにいくつかのコアファイルをインストールすると、あらゆる追加のソフトウェアのインストールがユーザにとって全くたやすいものとなることを確実にするように設計される。この解決法の実施形態は、非常に軽いとともに構成変更可能な展開を可能にするようにオープンかつ拡張可能な態様で設計され、これにより配布ポイントの数及び妥当性が大幅に増加することになる。また、広告サーバのターゲティング技術を利用するための能力が、全く新しい配布方法の可能性を開く。この配布機会の増殖を、従来型のダウンロード可能ソフトウェアの配布に付随する最も厄介なユーザの痛点を除去することと組み合わせた最終的な結果として、ソフトウェアのインストール成功数の大幅な増加、並びにこのようなソフトウェアを利用するユーザの保有率がより高くなることが予想される。これにより、コンピュータメーカ及びコンピュータソフトウェアベンダが、決して関連性があるとは言えないソフトウェアを、より人気の高いソフトウェア製品と積極的にバンドリングするという現在の慣習から脱皮し、代わりに、ユーザがソフトウェアを求めるという状況においてユーザが望むより多くのソフトウェアをユーザに与えることに焦点を合わせることができるようになる。
【００２０】
前述の概要及び以下の詳細な説明の両方は例示的かつ説明的なものであり、開示するページ内コンピュータソフトウェアインストーラのさらなる説明を提供するものであることを理解されたい。
【００２１】
開示するページ内コンピュータソフトウェアインストーラのさらなる理解を与えるために含まれ、本明細書に組み入れられるとともに明細書の一部を成す添付図面は様々な実施形態を示し、説明と共に、開示するページ内コンピュータソフトウェアインストーラの少なくとも１つの実施形態の原理を説明する役目を果たす。
【図面の簡単な説明】
【００２２】
【図１】ユーザにとって関心がありそうなソフトウェアの存在をユーザに通知できるようにする例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図２】ユーザにとって関心のあるソフトウェアを識別できるようにする例示的な方法を示すフロー図である。
【図３ａ】ページ内インストーラを使用してソフトウェアをインストールできるようにする例示的な方法を示すフロー図である。
【図３ｂ】ページ内インストーラを使用してソフトウェアをインストールできるようにする例示的な方法を示すフロー図である。
【図４】関心のあるソフトウェアに関する追加の詳細をユーザに通知できるようにする例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図５】ユーザがページ内インストーラを使用してソフトウェアのダウンロード及びインストールを開始できるようにする例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図６】ユーザがソフトウェアを開けるようにする例示的なページ内インストーラユーザインターフェイスを示すスクリーンキャプチャである。
【図７】ユーザがソフトウェア及び関連するサポートコンポーネントのインストールを確認応答できるようにする例示的なページ内インストーラユーザインターフェイスを示すスクリーンキャプチャである。
【図８】ユーザが関連するサポートコンポーネントについての追加情報を取得できるようにする例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図９】例示的なステータスバーを示すスクリーンキャプチャである。
【図１０】例示的なステータスバーを示すスクリーンキャプチャである。
【図１１】例示的なステータスバーを示すスクリーンキャプチャである。
【図１２】インストールが取り消されたことを示す、例示的なステータスバーを示すスクリーンキャプチャである。
【図１３】インストールが完了したことをユーザに通知する例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図１４】インストール及び／又はダウンロードエラーをユーザに通知する例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図１５】ユーザが以前にインストールしたソフトウェアの更新を開始できるようにする例示的なユーザインターフェイスを示すスクリーンキャプチャである。
【図１６】ページ内インストーラの実行をサポートする例示的なネットワークアーキテクチャを示す機能ブロック図である。
【発明を実施するための形態】
【００２３】
以下、実施例を添付図面に示した開示するページ内コンピュータソフトウェアインストーラの実施形態について詳細に参照する。
【００２４】
本開示は、ユーザのウェブブラウザとのインタラクションに基づいてユーザにソフトウェアを推奨し、その後ユーザのためにインストールできるようにするシステム及び方法について説明するものである。一例として、限定的な意味ではないが、ユーザが訪れるＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ（「ウェブ」）サイト、及び限定的な意味ではないが、１又はそれ以上のサーチエンジンを介してユーザが行なった検索などの、サイトに入力された情報に基づいてユーザのプロファイリングを可能にする複数のシステムが存在する。このようなプロファイルを使用して、ユーザの関心のある分野を判定することができ、後にこれらの関心のある分野を使用して、ユーザにとって好都合な又は望ましい可能性のあるソフトウェアを識別することができる。図１は、このようなソフトウェアの存在をユーザに通知できるようにする例示的なユーザインターフェイスのスクリーンキャプチャである。図１に示す実施例では、このシステムは、「ＹＭＥ  Ｒｅｍｏｔｅ」、すなわち、周知のＹａｈｏｏ！  Ｍｕｓｉｃ  Ｅｎｇｉｎｅ（「ＹＭＥ」）の制御を容易にする「ｗｉｄｇｅｔ（ウィジェット）」として知られる小型の特殊アプリケーションを推奨している。ウィジェットは、比較的小さなマイクロプロセッサ時間及び／又はメモリを利用して動作するという利点を有する。いくつかの実施形態では、ＡｃｔｉｖｅＸコントロールの形で、或いはＪＡＶＡ（登録商標）、Ｊａｖａ  Ｓｃｒｉｐｔ（登録商標）、ＶＢＳｃｒｉｐｔなどの形でウィジェットを記述することができ、これにより、ブラウザ内におけるこのようなウィジェットの動作が容易になる。本開示は、ユーザにウィジェットを推奨するためのシステム及び方法について説明するが、当業者にとっては、本発明の思想又は範囲から逸脱することなくこれを代替のソフトウェアに置き換えできることが明らかであろう。
【００２５】
図２は、ソフトウェアをユーザに推奨できるようにする例示的な方法を示す機能ブロック図である。ブロック２００において、ユーザのウェブブラウザとのインタラクションをモニタし、その後これらのインタラクションに基づいてプロファイルが構築される（ブロック２１０）。ブロック２２０において、ユーザがウェブブラウザとさらにインタラクションするにつれ、本システム及び方法は、ユーザのブラウザとのインタラクションに関する特定のコンテキストを判定することができる。次に、本システム及び方法は、ユーザのコンテキスト及びプロファイルに関連する及び／又は適したソフトウェアが利用可能かどうかを判定することができ（ブロック２３０）、このソフトウェアをユーザに推奨することができる（ブロック２４０）。一例として、限定的な意味ではないが、プロファイルは、ユーザが男性で、年齢は１８歳から２５歳の可能性が最も高く、デジタル音楽を頻繁に購入しており、ＹＭＥを利用して自身のデジタル音楽を管理していることを特定することができる。その後、ユーザがブラウザを使用して「メディアプレーヤ」を検索するか、或いはダウンロード可能なメディアプレーヤを含むウェブページを訪れると、本システム及び方法もまた、利用可能なウィジェット及びその他のソフトウェアのデータベースを検索して、ユーザにとって関心がありそうなソフトウェアを識別することができる。識別すると、本システム及び方法は、広告の形で通知を代入又は挿入し、或いは別の方法でユーザに行動を喚起することにより、図１に示すようなインターフェイスを介してＹＭＥ  Ｒｅｍｏｔｅソフトウェアが存在するという事実をユーザに通知することができる。いくつかの実施形態では、コールトゥアクションがページ内ソフトウェアインストーラを組み込むことにより、ソフトウェアのインストールを効率化及び簡略化することができる。
【００２６】
図３ａ及び図３ｂは、ページ内ソフトウェアインストーラを使用してユーザのコンピュータデバイスにソフトウェアをインストールできるようにする例示的な方法を示すブロック図である。この方法は、図３ａのブロック３００から開始する。この実施形態では、ユーザのコンピュータデバイス上で実行中のオペレーティングシステムがコンピュータソフトウェアのページ内インストールをサポートするシステムであるか、コンピュータデバイス上に適当なスクリプトエンジンが存在するか、及びページ内インストール可能なバージョンのソフトウェアがこのコンピュータデバイスに利用可能であるかをブラウザが判定する（ブロック３０１）。いくつかの実施形態では、本方法は、ＪＡＶＡスクリプト（登録商標）を利用してページ内インストールを有効にするが、本発明の思想又は範囲から逸脱することなくこれを代替のスクリプト言語に置き換えることもできる。オペレーティングシステムが、コンピュータソフトウェアのページ内インストールを利用できないシステムである場合、コンピュータデバイス上に適当なスクリプトエンジンが存在しない場合、或いはページ内インストール可能なソフトウェアのバージョンが利用可能でない場合、本方法は、ソフトウェアをダウンロードできるようにするリンクを取得する（ブロック３０２）。その後、本方法は、限定的な意味ではないが、図５に示すウェブページのようなダイアログボックス、ウェブページ、又はその他のユーザインターフェイスを表示し、ユーザはこれを通じて、このソフトウェアのための標準インストーラのダウンロードを開始することができる（ブロック３０３）。次にユーザは、インストーラの実行及び／又は保存（ブロック３０４）、或いは取り消しを選択することができる。
【００２７】
本システム及び方法が、ユーザのコンピュータデバイス上で実行中のオペレーティングシステムにおいてソフトウェアのページ内インストールをサポートしており、コンピュータデバイス上に適当なスクリプトエンジンが存在するものの、ページ内インストール可能なソフトウェアのバージョンが利用可能でない場合（ブロック３０５）、ユーザは、従来型のインストールプログラムを使用してソフトウェアをダウンロードし、インストールする機会を与えられる（ブロック３０２）。ページ内インストール可能なソフトウェアのバージョンが利用可能な場合、本方法は、ソフトウェアのページ内インストールを容易にするのに必要なコードが、ユーザのコンピュータデバイス上で現在使用中のオペレーティングシステムと関連付けられているかどうかを判定する（ブロック３１０）。
【００２８】
ページ内ソフトウェアインストーラの実施形態によっては、ユーザのコンピュータデバイスにインストールされているか、或いはアクセス可能な２つのコードライブラリを利用するものもある。本明細書でＹＩｎｓｔ及びＹＶｅｒＩｎｆｏと呼ぶこれらの２つのコードライブラリにより、限定的な意味ではないが、ＪＡＶＡ（登録商標）、Ｊａｖａ  Ｓｃｒｉｐｔ（登録商標）、ＶＢＳｃｒｉｐｔなどで記述された、ウェブページ内の追加のコンピュータソフトウェアコードが、ほとんどのウェブページが通信できない方法でコンピュータデバイスのオペレーティングシステムと通信できるようになる。ウェブページは、ＹＶｅｒＩｎｆｏを利用してコンピュータデバイスに問い合わせを行って、システム構成情報、バージョン情報、オペレーティングシステム自体のみならず、あらゆるインストール済みのソフトウェアアプリケーションに関する他の関連情報を取得することができる。次に、このようなデータが、ウェブページが指示するビジネスロジック及びアプリケーション依存性データベースのための入力の役割を果たすことにより、ユーザが要求したコンテンツを体験するにはいずれのソフトウェア（もしあれば）をインストールする必要があるかを判定する。
【００２９】
ＹＩｎｓｔコードライブラリは、必要なコンポーネントを１又はそれ以上のリポジトリから取得し、取得したコンポーネントをしかるべき順序及び配置でインストールすることにより、ビジネスロジックの出力に基づいてインストール処理を管理する。いくつかの実施形態では、ユーザがブラウザのセキュリティダイアログ又はクライアントインストーラインターフェイスを全く見ることなく、上記の全てを行うことができる。ウェブページに埋め込まれた元のコールトゥアクションのコンテキスト内で、全ての必要なユーザ入力及び情報の表示を完全に行うことができる。いくつかの実施形態では、ＹＩｎｓｔ及びＹＶｅｒＩｎｆｏコードライブラリが提供する機能を１つのコードライブラリにまとめることができる。このような結合型コードライブラリの例示的なオブジェクトモデルの定義を付属書Ａとして本明細書に添付しており、この付属書Ａは引用として全体が本明細書に組み入れられる。
【００３０】
ページ内インストールコードが利用できない場合、或いはコンピュータデバイス上で使用中のブラウザに関連付けられていない場合、図６に示すユーザインターフェイスのようなダイアログボックス又はその他のユーザインターフェイスがユーザに提示される（ブロック３１２及び３１４）。ユーザが、ソフトウェアをインストールすべきである旨を示した場合、図７に示すような次のユーザインターフェイスをユーザに提示することができる。図７に示す例示的なユーザインターフェイスのようなユーザインターフェイスにより、ユーザは、ページ内インストーラコードとソフトウェアとの両方をユーザのコンピュータデバイスにインストールする旨、及びページ内インストーラコードが、少なくともユーザのコンピュータデバイス上で現在実行中のブラウザに関連付けられている旨を確認応答できるようになる。図８は、ユーザが、ユーザのコンピュータにインストールされるページ内インストーラコード又はその他のファイルに関する追加情報を取得できるようにする例示的なユーザインターフェイスである。図４は、ユーザが、ソフトウェアに関する追加情報を取得できるようにする代替の例示的なインターフェイスである。ユーザが、ページ内インストーラコードをブラウザに関連付けないことを選択した場合、従来型のソフトウェアインストーラを使用してソフトウェアをインストールする機会をユーザに与えることができる。ページ内インストーラコードがインストールされると（ブロック３１６及び３１８）、方法はブロック３２０へ進む。
【００３１】
ページ内インストーラコードが、ユーザのコンピュータデバイス上で現在実行中のブラウザに関連付けられている場合、本方法は、最新バージョンのページ内インストーラコードがユーザのコンピュータデバイスに現在常駐しているかどうかを判定する（ブロック３２０）。最新バージョンのページ内インストーラコードがユーザのコンピュータデバイスに常駐していない場合、本方法は、現在インストール済みのバージョンのページ内インストーラコードを利用して、最新バージョンのダウンロード及びインストールを開始する（ブロック３２２、３２４、及び３２６）。いくつかの実施形態では、最新バージョンのページ内インストーラコードをインストールすべきである旨を確認するための機会をユーザに提示することができる。何らかの大型ファイル又は一連のファイルのダウンロード中、本方法は、コンピュータデバイス及び／又はブラウザに、図９に示す例示的なステータスバーのようなステータスバー又はダウンロード処理を示すその他の指標を表示させることができる。同様に、本方法は、図１０、図１１、及び図１２に示すステータスバーのようなステータスバーを表示させてインストールの進捗を伝えることができる。ページ内インストーラコードの更新に成功すると、本方法は、ソフトウェアのバージョンが既にユーザのコンピュータデバイスにインストールされているかどうかを判定することができる（ブロック３２８）。ソフトウェアが既にインストールされている場合、本方法は、限定的な意味ではないが、図１３に示すユーザインターフェイスのような成功を表すユーザインターフェイスを任意で表示させ、ソフトウェアを起動する（ブロック３６０）。ソフトウェアがインストールされていない場合、本方法はソフトウェアインストール手順を開始する（ブロック３３４）。
【００３２】
最新バージョンのページ内インストーラコードがユーザのコンピュータデバイスに常駐している場合、本方法はブロック３３０へ進む。ブロック３３０において、ユーザのコンピュータデバイスにポーリングを行って、ソフトウェアのバージョンが既にユーザのコンピュータデバイスに常駐しているかどうかを判定する。一例として、限定的な意味ではないが、公共の又は共有のコンピュータデバイスでは、ソフトウェアが以前にダウンロードされインストールされたことをユーザが認識していない場合があり、これによりソフトウェアを再インストールする必要性が潜在的に避けられる。ソフトウェアがインストールされている場合、本方法は、コンピュータデバイスに最新バージョンが常駐しているかどうかを判定することができる（ブロック３４０）。ソフトウェアがインストールされており、かつコンピュータデバイスに最新バージョンが常駐している場合、ソフトウェアが起動される（ブロック３５０）。ソフトウェアがコンピュータデバイスに常駐していない場合、或いは、より新しいバージョンのソフトウェアを利用可能な場合、本方法はソフトウェアのダウンロード及びインストールを開始することができる（ブロック３３２及び３４２）。インストールが更新の場合、本方法は、変更があったファイル又はファイルの一部のみをダウンロードすることにより、帯域幅要件を削減し、インストールを高速化することができる。さらに、図１５と同様のユーザインターフェイスをユーザに提示することができ、ユーザはこれを通じて、ソフトウェアを更新すべきであることを確認することができる。
【００３３】
いくつかの実施形態では、本方法は、ソフトウェアの実行に必要な及び／又は好都合なサポートコンポーネントがコンピュータデバイスに常駐しているかどうか（ブロック３３４）、及びコンピュータデバイスに常駐しているいずれかのサポートコンポーネントを更新する必要があるかどうか（ブロック３４４）をさらに判定することができる。最新バージョンのサポートコンポーネントが既にユーザのコンピュータデバイスに常駐している場合、本方法は、ソフトウェアのインストール及びアップグレードを容易にするのに必要なファイルのダウンロード及びインストールを開始することができる（ブロック３３６）。サポートコンポーネントをインストール及び／又は更新する必要がある場合、本方法は、ソフトウェアのためのファイルを含む必要なファイルをダウンロードし、インストールする（ブロック３７０）。インストールが完了すると、図１３に示すようなユーザインターフェイスをユーザに提示することにより、インストールが成功し、完了したことをユーザに通知することができる。ソフトウェア又はサポートコンポーネントのダウンロード又はインストール中にエラーが発生した場合（ブロック３３８及び３７２）、図１４と同様のユーザインターフェイスをユーザに提示することができ、これを通じてユーザにエラーを通知することができる。
【００３４】
ユーザはまた、ソフトウェア又はサポートコンポーネントのダウンロード及び／又はインストールをいつでも取り消すこともできる（ブロック３７４）。サポートコンポーネントのインストールを開始していた場合（ブロック３７６）、クリーンアップ処理を開始してこれらのサポートコンポーネントを削除することができ（ブロック３７７）、その後に取り消しが完了する（ブロック３７８）。
【００３５】
上述のように、ページ内インストーラは、ブラウザ及び関連するスクリプトエンジンを使用してユーザのコンピュータデバイスにおけるソフトウェアのインストールを容易にする。ページ内インストーラの配布の実施形態は複数存在し、これらの全てが上述の例示的な方法又は同様の方法を活用することができる。これらの配布の実施形態は、限定的な意味ではないが以下を含む。
１）この機能を個々のウェブページ内に手動でハードコードすること
２）あらゆるウェブページに動的に埋め込みできるモジュールを作成すること
３）あらゆるウェブページに動的に埋め込みできる「バッジ」を（ＩＦＲＡＭＥを使用して）作成すること
４）この機能を広告提供媒体に埋め込むこと
【００３６】
図１６は、ページ内インストーラを動作できるようにする例示的なアーキテクチャを示す図である。図示の実施形態では、ページ内インストーラがブラウザ解釈可能コマンド１６０８として配布され、これがユーザのコンピュータデバイス１６００上のブラウザ１６０５内で実行される。ユーザがブラウザ１６０５を使用して、標準ウェブサーバ１６３０により提供されるウェブページを訪れた場合、ユーザの関心及び／又は好みを、中央アプリケーションサーバ１６２０から入手可能なソフトウェアと比較することにより決定されるような、ユーザにとって関心のあるソフトウェアをインストールする機会をユーザに提示することができる。ユーザがソフトウェアのインストールを希望する旨を示した場合、ブラウザ解釈可能コマンド１６０８は、アプリケーション依存性データベース１６２５から必要なファイル及びインストールスクリプトを取得することができる。アプリケーション依存性データベース１６２５は、標準インストールスクリプトを提供することができ、或いはユーザの好み、ブラウザ１６０５の構成、及び／又はユーザのコンピュータデバイス１６００の構成に基づいてカスタマイズされたインストールスクリプトを作成することができる。いくつかの実施形態では、アプリケーション依存性データベース１６２５から取得したあらゆるインストールスクリプトの少なくとも一部にデジタル署名を行うことにより、ブラウザ解釈可能コマンド１６０８が、インストールスクリプトが信頼できるソースから得たものであることを検証できるようになる。限定的な意味ではないが、ＲＳＡ、ＳＨＡ、及びＧＭＲ署名スキームの使用を含む様々な手段を通じて、このようなデジタル署名を行うことができる。いくつかの実施形態では、より大きなスクリプトセットにデジタル署名情報を埋め込むことにより、スクリプトが自己認証を行えるようになる。いくつかの実施形態では、デジタル署名されたスクリプトの一部を高い権限を必要とする命令のみに限定して、オペレーティングシステム、ブラウザ、デバイスなどと程よくインタラクションすることができる。
【００３７】
ページ内コンピュータソフトウェアインストーラの詳細かつ特定の実施形態について本明細書で説明したが、当業者にとっては、ページ内コンピュータソフトウェアインストーラの思想及び範囲から逸脱することなく様々な変更及び修正を加えることができることが明らかであろう。従って、本開示は、これらの変更及び修正が添付の特許請求及び／又はこれらの同等物の範囲に収まるという条件で、これらの変更及び修正も対象とすることを意図している。
【図１】
2010522398.tif 000003
【図２】
2010522398.tif 000004
【図３ａ】
2010522398.tif 000005
【図３ｂ】
2010522398.tif 000006
【図４】
2010522398.tif 000007
【図５】
2010522398.tif 000008
【図６】
2010522398.tif 000009
【図７】
2010522398.tif 000010
【図８】
2010522398.tif 000011
【図９】
2010522398.tif 000012
【図１０】
2010522398.tif 000013
【図１１】
2010522398.tif 000014
【図１２】
2010522398.tif 000015
【図１３】
2010522398.tif 000016
【図１４】
2010522398.tif 000017
【図１５】
2010522398.tif 000018
【図１６】
2010522398.tif 000019
【国際調査報告】
2010522398.tif 000020
2010522398.tif 000021