(57)【要約】  様々な実施例は、ブラウザー及び／又は他のアプリケーションプログラムのためにアドオンを管理する際にユーザーを支援するために設計されるアドオンアドバイザーを提供する。少なくともいくつかの実施例では、アドオンアドバイザーは、新たにインストールされたアドオンを検出し、検出されたアドオンについてのユーザーへの通知を提供するように実施することができる。新たなアドオンに関する通知は、ユーザーがアドオンを有効又は無効にすることを可能にするオプションをもつように構成することができる。ユーザーによって明示的に有効にされていないアドオンはアドオンアドバイザーによって動作することを防止することができる。さらに、少なくともいくつかの実施例では、アドオンアドバイザーは、アドオンのパフォーマンスへの影響を監視し、アドオンがパフォーマンスに悪影響を与える場合にユーザーに対する通知を提供するように実施することができる。ユーザーは、選択的にアドオンを有効化及び無効化することによってパフォーマンスを向上させるためにアドオンアドバイザーとインタラクトすることができる。
2013537338.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスによって実行されるとコンピューティングデバイスにアドオンアドバイザーを実施させる命令を格納する１つ又は複数のコンピューター読み取り可能な記憶媒体であって、アドオンアドバイザーは、
コンピューティングデバイスのアプリケーションに関連付けられる１つ又は複数のアドオンのパフォーマンスへの影響を監視するステップと、
アドオンのパフォーマンスへの影響がアドオンについて定義された１つ又は複数のパフォーマンスしきい値を超える場合を検出するステップと、
検出されたアドオンをユーザーに通知し、前記検出されたアドオンを選択的に有効又は無効にするオプションへのアクセスをユーザーに提供するための通知を出力するステップと
を含む動作を実行するように構成される１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項２】
前記アプリケーションはウェブブラウザーを含む請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項３】
前記通知は、非モーダルであり、コンテンツレンダリング領域において前記アプリケーションによってレンダリングされるコンテンツに重なる通知バーを介して出力される請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項４】
前記通知はポップアップダイアログボックスである請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項５】
前記アドオンアドバイザーは、
有効にするべき前記検出されたアドオンのうちの１つ又は複数についての選択を受信するステップと、
アドオンに関連付けられるフラグを設定することによって前記１つ又は複数の選択されたアドオンを有効にするステップと、
前記有効にされた１つ又は複数のアドオンの動作を可能にするステップと
を含む動作を実行するようにさらに構成される請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項６】
前記アドオンアドバイザーは、
無効にするべき前記検出されたアドオンのうちの１つ又は複数についての選択を受信するステップと、
アドオンに関連付けられるフラグを設定することによって前記１つ又は複数の選択されたアドオンを無効にするステップと、
前記無効にされた１つ又は複数のアドオンの動作を防止するステップと
を含む動作を実行するようにさらに構成される請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項７】
前記通知は、前記検出されたアドオンを前記通知を介して直接的に有効又は無効にするように構成されたユーザー選択可能な手段を含む請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項８】
前記通知は、前記検出されたアドオンを選択的に有効又は無効にするオプションを提供するアドオン管理ダイアログにアクセスするように選択可能である、ユーザー選択可能な手段を含む請求項１に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項９】
ウェブブラウザーのための１つ又は複数のアドオンのパフォーマンスへの影響を監視するステップと、
パフォーマンスへの影響がパフォーマンスしきい値を超える場合に、パフォーマンスへの影響をユーザーに知らせ、パフォーマンスを向上させるために１つ又は複数のアドオンを選択的に有効又は無効にするオプションへのアクセスをユーザーに提供するための通知を出力するステップと
を含むコンピューターにより実施される方法。
【請求項１０】
前記パフォーマンスへの影響は１つ又は複数のアドオンによって引き起こされるブラウジング時間の遅延に対応する請求項９に記載のコンピューターにより実施される方法。
【請求項１１】
前記ウェブブラウザーのための１つ又は複数のアドオンのパフォーマンスへの影響を監視するステップは、前記１つ又は複数のアドオンによって引き起こされるブラウジングの遅延を決定するために、前記１つ又は複数のアドオンの各々に関連付けられるロード時間又はナビゲーション時間のうちの１つ又は複数を計算するステップを含む請求項９に記載のコンピューターにより実施される方法。
【請求項１２】
前記通知は、非モーダルであり、コンテンツレンダリング領域において前記ウェブブラウザーによってレンダリングされるコンテンツに重なる通知バーを介して出力される請求項９に記載のコンピューターにより実施される方法。
【請求項１３】
ウェブブラウザーのアドオンがインストールされる場合を検出するステップと、
検出されたアドオンをユーザーに知らせて、前記検出されたアドオンを選択的に有効又は無効にするオプションへのアクセスをユーザーに提供するために、新たなアドオンの通知を出力するステップと、
前記検出されたアドオンを有効又は無効にするためのユーザーによるアクションの前に、前記検出されたアドオンの動作を防止するステップと
をさらに含む請求項９に記載のコンピューターにより実施される方法。
【請求項１４】
前記通知は、アドオン管理ダイアログを見せるように選択可能であるユーザー選択可能な手段を含み、前記アドオン管理ダイアログは、
前記１つ又は複数のアドオンのパフォーマンスへの相対的な影響を表し、
前記１つ又は複数のアドオンを選択的に有効又は無効にするオプションを提供する
ように構成される請求項９に記載のコンピューターにより実施される方法。
【請求項１５】
前記パフォーマンスへの影響は前記１つ又は複数のアドオンにより引き起こされるブラウジング時間の遅延に対応し、
前記１つ又は複数のアドオンのパフォーマンスへの相対的な影響は、前記１つ又は複数のアドオンの各々によって引き起こされるブラウジング時間の相対的な遅延を示すように、異なる長さのバーを使用して前記アドオン管理ダイアログに表される請求項１４に記載のコンピューターにより実施される方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドオンパフォーマンスアドバイザーに関する。
【背景技術】
【０００２】
[0001]アドオンは、ブラウザーや他のアプリケーションプログラムに新たなカスタマイズされた機能を追加するのに便利な方法であるため、ユーザーに人気がある。残念ながら、ユーザーは、特定のアドオンがインストールされたことに気付かないことがあり、及び／又は、アドオンをロードして動作するのに時間がかかるためにアドオンがパフォーマンスに悪影響を与え得ることを理解しないことがある。したがって、ユーザーは、アドオンによってブラウザーや他のアプリケーションプログラムに対して引き起こされるパフォーマンスの低下を誤って別のもののせいにする可能性がある。また、アドオンの管理に対する従来の手法は、アドオンをまとめてオン又はオフすることに限定される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この手法によればユーザーはアドオンをある程度制御することができるが、ユーザーは、他のアドオンによって引き起こされるパフォーマンスの低下のために、ユーザーが望んでいるいくつかのアドオンを無効にすることを余儀なくされる可能性がある。
【課題を解決するための手段】
【０００４】
[0002]この概要は、以下の詳細な説明でさらに説明される概念の選択を簡略化した形で紹介するために設けられる。この概要は、特許請求された主題の重要な特徴又は不可欠な特徴を特定することを意図しておらず、特許請求された主題の範囲を限定するために用いられることも意図していない。
【０００５】
[0003]様々な実施例は、ブラウザー及び／又は他のアプリケーションプログラムのためにアドオンを管理する際にユーザーを支援するように構成されるアドオンアドバイザーを提供する。少なくともいくつかの実施例では、アドオンアドバイザーは、新たにインストールされたアドオンを検出し、検出されたアドオンについてのユーザーへの通知を提供するように実施することができる。新たなアドオンに関する通知は、ユーザーがアドオンを有効又は無効にすることを可能にするオプションをもつように構成することができる。ユーザーによって明示的に有効にされていないアドオンはアドオンアドバイザーによって動作することを防止することができる。さらに、少なくともいくつかの実施例では、アドオンアドバイザーは、アドオンのパフォーマンスへの影響を監視し、アドオンがパフォーマンスに悪影響を与える場合にユーザーに対する通知を提供するように実施することができる。ユーザーは、選択的にアドオンを有効化及び無効化することによってパフォーマンスを向上させるためにアドオンアドバイザーとインタラクトすることができる。
【図面の簡単な説明】
【０００６】
[0004]同じ番号が同様の特徴を指すように図面全体を通して使用される。 
【図１】[0005]１つ又は複数の実施例による、本明細書に記載の様々な原理を使用することができる動作環境を示す。
【図２】[0006]１つ又は複数の実施例によるウェブブラウザーの例を示す。
【図３】[0007]１つ又は複数の実施例による方法のステップを説明する流れ図である。
【図４Ａ】[0008]１つ又は複数の実施例によるアドオンに関連した通知の例を示す。
【図４Ｂ】１つ又は複数の実施例によるアドオンに関連した通知の例を示す。
【図５】[0009]１つ又は複数の実施例による方法のステップを説明する流れ図である。
【図６】[0010]１つ又は複数の実施例によるアドオンアドバイザーのダイアログの例を示す。
【図７】[0011]１つ又は複数の実施例を実施するために使用することができるシステムの例を示す。
【発明を実施するための形態】
【０００７】
概説
[0012]様々な実施例は、ブラウザー及び／又は他のアプリケーションプログラムのためのアドオンを管理する際にユーザーを支援するように設計されるアドオンアドバイザーを提供する。少なくともいくつかの実施例では、アドオンアドバイザーは、新たにインストールされたアドオンを検出し、検出されたアドオンについてのユーザーへの通知を提供するように実施することができる。新たなアドオンに関する通知は、ユーザーがアドオンを有効又は無効にすることを可能にするオプションをもつように構成することができる。ユーザーによって明示的に有効にされていないアドオンはアドオンアドバイザーによって動作することを防止することができる。さらに、少なくともいくつかの実施例では、アドオンアドバイザーは、アドオンのパフォーマンスへの影響を監視し、アドオンがパフォーマンスに悪影響を与える場合にユーザーに対する通知を提供するように実施することができる。ユーザーは、選択的にアドオンを有効化及び無効化することによってパフォーマンスを向上させるためにアドオンアドバイザーとインタラクトすることができる。
【０００８】
[0013]以下の説明では、「動作環境」と題するセクションが示され、１つ又は複数の実施例を使用することができる１つの環境を説明する。これに続いて、「通知バーを有する例示的なユーザーインターフェイス」と題するセクションは、１つ又は複数の実施例による、アドオンの通知のために通知バーを使用するように構成されたアプリケーションのための例示的なユーザーインターフェイスを説明する。次に、「例示的なアドオンアドバイザー機能」と題するセクションは、１つ又は複数の実施例によるアドオンアドバイザーの例示的な技術及び機能（特徴）を説明する。このセクションは１つ又は複数の実施例による様々な特徴を説明する複数のサブセクションを含む。最後に「例示的なシステム」と題するセクションは１つ又は複数の実施例を実施するために利用することができるシステムの例を説明する。
動作環境
[0014]図１は、１つ又は複数の実施例による動作環境を一般的に１００において示す。環境１００は、１つ又は複数のプロセッサー１０４、１つ又は複数のコンピューター読み取り可能な記憶媒体１０６、及び、コンピューター読み取り可能な記憶媒体に格納されてプロセッサーによって実行可能である１つ又は複数のアプリケーションを有するコンピューティングデバイス１０２を含む。コンピューター読み取り可能な記憶媒体は、限定ではなく例として、一般的にコンピューティングデバイスに関連付けられるすべての形式の揮発性及び不揮発性メモリー及び／又は記憶媒体を含むことができる。このような媒体は、ＲＯＭ、ＲＡＭ、フラッシュメモリー、ハードディスク、取り外し可能な媒体などを含んでもよい。コンピューティングデバイスの１つの具体例が図７に示され、以下で説明される。
【０００９】
[0015]加えて、コンピューティングデバイス１０２は、上記及び下記のように動作するアドオンアドバイザー１１１を含むかそうでなければ利用するウェブブラウザー１１０の形式のソフトウェアアプリケーションを含む。アドオンアドバイザーは、ユーザーがアドオンを制御するように設計されたアドオン管理機能を提供する。少なくともいくつかの実施例では、アドオンアドバイザーは、新たにインストールされたアドオンを検出し、インストールされたアドオンを有効にするオプションをユーザーに提供するようにユーザーに通知することができる。アドオンアドバイザーは、ユーザーによって明示的に有効にされていないアドオンの動作を防止又は制限することができる。さらに、少なくともいくつかの実施例において、アドオンアドバイザーは、アドオンのパフォーマンスを監視して、パフォーマンスへの影響が設定可能なパフォーマンスしきい値を超える場合にユーザーにプロンプトを表示する（prompt）ことができる。ユーザーは、以下で明らかになるように、アドオンを選択的に有効又は無効にするためにアドオンアドバイザーとインタラクトすることができる。
【００１０】
[0016]アドオン管理の様々な例がブラウジング環境及びウェブブラウザーのコンテキストにおいて本明細書に記載されるが、アドオンアドバイザー１１１及び対応する技術は、アドオンを利用する様々な環境で任意の適切なアプリケーションで使用できることが理解されるべきである。例として、アドオンアドバイザーは、説明される例のようなウェブブラウザー、電子メールアプリケーション、デスクトップ生産性アプリケーション、ゲームアプリケーション、メディアアプリケーション、及び／又はコンピューティングデバイス１０２の他の適切なアプリケーションのうちの１つ又は複数のためのアドオンを管理するために実施することができる。
【００１１】
[0017]加えて、環境１００は、上記及び下記のように、インターネットなどのネットワーク１１２、コンテンツを送受信することができる１つ又は複数のウェブサーバー１１４を含む。このようなコンテンツはウェブサーバーから受信されるウェブページを含んでもよい。
【００１２】
[0018]コンピューティングデバイス１０２は、限定ではなく例として、デスクトップコンピューター、ポータブルコンピューター、パーソナルデジタルアシスタント（ＰＤＡ）などのハンドヘルドコンピューター、携帯電話などの、任意の適切なコンピューティングデバイスとして具体化することができる。
【００１３】
[0019]例示的な動作環境を説明したが、ここで、アドオンアドバイザー１１１を利用することができるいくつかの例示的な実施例を説明する。
通知バーを有する例示的なユーザーインターフェイス
[0020]図２は、一般的に２００において、１つ又は複数の実施例による例示的なウェブブラウザーを示す。図示されるウェブブラウザーは、アドオンを利用することができるアプリケーションとアドオンの管理を容易にするアドオンアドバイザー１１１の１つの例にすぎない。ウェブブラウザー２００は、指定されていないが、後方ナビゲーションボタン及び前方ナビゲーションボタン、アドレスバー、検索バー、及び複数のタブをサポートすることができるタブバンドなどの一般的な手段（instrumentalities）を含むウェブブラウザーユーザーインターフェイス２０２を含む。ウェブブラウザーユーザーインターフェイスはまた、コンテンツをレンダリングすることができるコンテンツレンダリング領域２０４（平行線模様で示される）を含む。また、ウェブブラウザーユーザーインターフェイス２０２は通知バー２０６を含む。１つ又は複数の実施例では、通知バーは、提案の形式で通知を提供しつつ、ユーザーがブラウジングアクティビティへの集中を維持するのを助けるように設計される。通知バーを介して提示される通知は、アドオン管理のための様々な技術を有効にするためにアドオンアドバイザー１１１の動作を介して出力されるかそうでなければ引き起こされる、アドオンに関連する通知を含んでもよい。
【００１４】
[0021]少なくともいくつかの実施例では、通知バーは非モーダル（non-modal）であり、ユーザーの注意散漫を低減するために選択されるブラウジング視野（field-of-view）内の位置に提示される。例えば、図示されて説明される実施例では、通知バーは、ウェブブラウザーのユーザーインターフェイスの下部又はその近くに示され、ここはコンテンツレンダリング領域２０４の下部に隣接するか又は当該領域の下である。通知バーは、気づくことができるが無視できるように設計され、したがって、ユーザーがモーダルなダイアログに気を取られることなくコンテンツレンダリング領域２０４においてブラウジングタスクを継続することを可能にする。さらに、少なくともいくつかの実施例では、通知バーは、ウェブブラウザーによってレンダリングされるコンテンツに重なるように提示される。通知バーの位置は、通知バーに現れるかもしれない特定の通知に対してコンテンツレンダリング領域２０４内にレンダリングされるコンテンツを効果的に優先する。
【００１５】
[0022]１つ又は複数の実施例による通知バーを利用する例示的なユーザーインターフェイスについて考えたが、ここで、１つ又は複数の実施例に従って提供できる例示的なアドオンアドバイザー機能に関する詳細について考える。
例示的なアドオンアドバイザー機能
アドオン通知
[0023]図３は、１つ又は複数の実施例による方法のステップを説明する流れ図である。方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せに関連して実施することができる。少なくともいくつかの実施例において、方法は、アドオンアドバイザー１１１を含むかそうでなければ使用する図１の例示的なコンピューティングデバイス１０２などの適切に構成されたコンピューティングデバイスによって実施することができる。図３の説明において、図４Ａ及び図４Ｂに示される例示的な通知が参照される。
【００１６】
[0024]ステップ３００はアドオンのインストールを検出する。たとえば、アドオンは、別のアプリケーションプログラムのインストールの一部として、及び／又はバックグラウンドプロセスによって、ユーザーが直接インストールすることができる。したがって、ユーザーは、アドオンがいつインストールされるかを知っていてもよいし知らなくてもよい。アドオンのユーザー制御を容易にするために、アドオンアドバイザー１１１は、アドオンが最初にインストールされるときに最初にアドオンを無効にするように構成することができる。ユーザーがアドオンを有効にするために明示的な選択を提供するまで、アドオンは無効のままであってもよい。このように、ユーザーが選択していないアドオンの実行を防止するか又は制限することができる。
【００１７】
[0025]アドオンは任意の適切な方法で有効／無効にすることができる。これが生じ得る１つの方法は、アドオンがインストールされるときにアドオンに関連付けられる１つ又は複数の設定可能なフラグやフィールドを介して行われる。設定可能なフラグやフィールドは、アドオンが新しいものである場合を示し、また、アドオンが有効にされるか無効にされるかを示すように設定することができる。このコンテキストでの新たなアドオンは、アドオンを有効又は無効にするためにユーザーがまだ行動をとっていないアドオンを指す。したがって、アドオンアドバイザーは、ユーザーによって作用されていない新たにインストールされたアドオンを検出するためのフラグ、フィールド、及び／又は他の適切なインジケーターを参照してもよい。
【００１８】
[0026]ステップ３０２は、ユーザーに、インストールされたアドオンを選択的に有効又は無効にすることを通知する。このステップは、１つ又は複数の新たにインストールされたアドオンの検出に応答して発生してもよい。通知は、新たにインストールされたアドオンをユーザーに通知し、ユーザーが設定可能なフラグやフィールドを設定することにより有効又は無効にするアドオンを選択することを可能にするための選択可能なオプションを提供するように構成することができる。ユーザーが有効又は無効にするアドオンを選択することを可能にするためのオプションは、通知を介して直接、及び／又は通知を介してアクセス可能にされる別個のダイアログ又はインターフェイスを介して、提供することができる。設定可能なフラグやフィールドを設定することによって有効にされるアドオンは、動作することが可能になる。一方、設定可能なフラグ又はフィールドを介して無効にされるアドオンの動作を制限することができる。
【００１９】
[0027]任意の適切な通知は、インストールされて使用の準備ができているアドオンについてユーザーに通知するために提示することができる。適切な通知は、ポップアップダイアログボックス、ウェブブラウザーや他のアプリケーションによってレンダリングされるＨＴＭＬページ、タブ付きのユーザーインターフェイスのタブアラート、図２と関連して説明される通知バーの通知（notification bar notice）及び／又はこれらの組み合わせを含んでもよい。少なくともいくつかの実施例では、適切な場合、アプリケーション（例えばブラウザー）が開かれたとき、新たなアドオンがアプリケーションによってインストールされるとき、アプリケーションが閉じられるときなど、特定のイベントの発生の際に、通知は自動的に出力することができる。
【００２０】
[0028]例として、図４Ａは、図２の通知バー２０６を介した提示のために構成される新たにインストールされたアドオンの例示的な通知を示す。この例では、通知４００は、「いくつかのアドオンが使用可能な状態である」ことを示す情報テキスト４０２を含む。必要に応じて、情報テキスト４０２は、名前、発行者、ステータス、パフォーマンス統計などの、様々なアドオンに関する詳細を含んでもよい。通知４００はまた、アドオンの管理のためのさまざまなオプションを提供するように構成される、４０４において一般に示される、図示されるボタンなどの１つ又は複数のユーザーが選択可能な手段を含んでもよい。例えば、図４Ａの例示的なボタンは、選択されると、ユーザーがアドオンに関するより詳細な情報を取得でき、有効又は無効にするアドオンを選択することができ、及び／又はアドオンを管理するために他の動作を実行することができる、別のダイアログ又はインターフェイスを見せる（公開する、expose）ように構成することができる「アドオン管理（Manage add-ons）」ボタンを含む。他のダイアログ又はインターフェイスは、様々なアドオンに関する詳細を情報テキスト４０２の一部として提供することに加えて、又はその代わりに、そのような詳細を提供するように構成することができる。様々なアドオン管理技術を容易にする例示的なアドオンダイアログが「アドオン管理」と題する以下のセクションにおいてここで詳細に説明される。図４Ａの例示的なボタンは、さらに、通知４００を介して直接的に新たなアドオンを無効のまま維持するように選択することができる「有効にしない」ボタンを含む。
【００２１】
[0029]ステップ３０４はアドオンのパフォーマンスへの影響を監視する。たとえば、アドオンアドバイザーは、様々なパフォーマンスメトリック（metrics）を使用してアドオンの影響を監視するように動作することができる。適切なパフォーマンスメトリックの例としては、いくつか例を挙げると、アドオンのロード時間、ページナビゲーション時間、ドキュメントのレンダリング時間、メモリー使用量、ＣＰＵ使用率を含むが、これらに限定されない。これらの及び／又は他の適切なメトリックを監視することによって、アドオンアドバイザーは、１つのアドオン又は複数のアドオンが組み合わせてパフォーマンスの問題（performance issue）を生成する場合を確認することができる。このようなモニタリングに関するさらなる詳細は、「アドオンパフォーマンス監視」と題する以下のセクションに見ることができる。
【００２２】
[0030]ステップ３０４において実行されるモニタリングを通じてパフォーマンスの問題が確認されると、ユーザーに知らせてユーザーに行動を取ることを促す通知を出力することができる。特に、ステップ３０６は、ユーザーに、パフォーマンスへの影響に基づいてアドオンを選択的に有効又は無効にするよう促す。アドオンパフォーマンスに関してユーザーに通知するために、新たにインストールされたアドオンの検出に関して上述した通知の少なくとも例示的な種類を含む、任意の適切な通知を提示することができる。少なくともいくつかの実施例では、通知は、１つ又は複数のパフォーマンスメトリックに関連するパフォーマンスのしきい値を超えたときに自動的に出力することができる。
【００２３】
[0031]例として、図４Ｂは、図２の通知バー２０６を介した提示のために構成されるアドオンのパフォーマンスについての例示的な通知を示す。図示した例では、通知はブラウジングコンテキストに関する。このコンテキストにおいて、アドオンアドバイザーは、ページのロード時間及び／又はナビゲーション時間が１つ又は複数のアドオンの動作のための閲覧遅延について設定されたしきい値を超えたことをパフォーマンス監視が示すときに、通知を自動的に提示させてもよい。したがって、通知は、ブラウジングを高速化するために利用可能なオプションをユーザーに提供するように構成することができる。
【００２４】
[0032]具体的には、例示的な通知４０６は、ユーザーに「アドオンを無効にすることによってブラウジングをスピードアップする」よう促す、情報テキスト４０８含む。通知４０６はまた、通知に応答してアドオンの管理のためのさまざまなオプションを提供するように構成される、４１０において一般に示される例示的なボタンを含む。たとえば、図４Ｂの例示的なボタンは、図４Ａに関連して説明したものに対応する「アドオンの管理」ボタンを含む。「アドオンの管理」ボタンは、ユーザーがアドオンに関するより詳細な情報を取得でき、有効又は無効にする様々なアドオンの中から選択することができ、そうでなければ、アドオンを管理することができる、別のダイアログ又はインターフェイスを見せる（公開する、expose）ために選択することができる。図４Ｂの例示的なボタンはまた、アドオンアドバイザーにいずれまたユーザーへ通知させるために選択することができる「あとで確認する（Ask Me Later）」ボタンを含む。
【００２５】
[0033]１つ又は複数の実施例に従って利用できる例示的なアドオン通知を説明したが、ここで、１つ又は複数の実施例による例示的なアドオンパフォーマンス監視技術について考える。
アドオンパフォーマンス監視
[0034]以前の説明から、アドオンアドバイザー１１１がアドオン管理を容易にするためにアドオンのさまざまな監視を実行するように構成することができることを思い出してほしい。前述のように、パフォーマンスの監視はアドオンのパフォーマンスについてユーザーにフィードバックを提供するために用いることができる。具体的には、パフォーマンスメトリックの監視が、アドオンに対する制御をユーザーに提供してアドオンを管理するためのオプションを提供するために、通知をトリガーすることができる。様々なパフォーマンスメトリックの監視に応答して出力される通知は、アドオンのパフォーマンスに基づいて、アドオンの管理を容易にするために、ツール、インターフェイス、及び手段（instrumentalities）へのアクセスを提供してもよい。
【００２６】
[0035]ブラウジングのコンテキストでは、アドオンアドバイザーによって監視することができる適切なパフォーマンスメトリックの例は、いくつか例を挙げると、アドオンのロード時間、ページナビゲーション時間、メモリー使用量、ＣＰＵ使用率を含むが、これらに限定されない。アドオンロード時間は、ブラウザーが最初に開かれたとき又はアドオンがロードされたときに確認することができる。ページナビゲーション時間は、リンクが選択されたとき、新しいタブが開かれたとき、及び／又は他のナビゲーションイベントが発生したときなど、ナビゲーションイベントが発生したときに計算することができる。メモリー使用量及び／又はＣＰＵ使用率は、アドオンが実行するように設定されたタスクを実行するためにアドオンの動作中に決定することができる。当然のことながら、他のメトリックを、アドオンアドバイザーをアドオン管理のために用いることができる他のコンテキストにおいて、監視することができる。たとえば、幾つか他の例を挙げると、アドオンアドバイザーは、電子メールアプリケーションの電子メール送受信時間、メディアアプリケーションのコンテンツダウンロード時間、ワードプロセッサーのドキュメントレンダリング時間、ゲームアプリケーションのゲームロード時間をモニターするように実施することができる。
【００２７】
[0027]例として、１つ又は複数の実施例によるアドオンパフォーマンスを監視するための方法の手順を説明するフロー図である図５を考える。方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せに関連して実施することができる。少なくともいくつかの実施例において、この方法は、アドオンアドバイザー１１１を含むかそうでなければ使用する図１の例示的なコンピューティングデバイス１０２などの、適切に構成されたコンピューティングデバイスによって実施することができる。
【００２８】
[0037]ステップ５００は、アドオンのパフォーマンスメトリックをモニターする。上記の及び／又は様々な異なるコンテキストで説明されるように、監視は様々なメトリック（metrics）について生じてもよい。さらに、アドオンアドバイザーが、コンピューティングデバイスの複数の異なるアプリケーションについて、パフォーマンスの監視を含む、本明細書に説明されるようなアドオン管理を容易にするための様々な技術を実行するように構成することができると考えられる。
【００２９】
[0038]ステップ５０２は、サンプル数が十分であるかどうかを決定する。たとえば、所定の数のデータサンプルが得られるまで、モニタリングとデータ収集を行うことができる。モニタリングのために収集するサンプル数の設定可能な値は、必要に応じて、分析のために使用されるデータの量と質を制御するために設定することができる。特定のアドオンについて使用されるデータポイントが少なすぎると、不正確な結果や予期しない結果を与えることがある。したがって、少なくとも定義された数のサンプル（例えば、５個のサンプル、１０個のサンプルなど）がアドオンのパフォーマンスを分析するために得られていることを確実にするためにチェックを行うことができる。
【００３０】
[0039]十分なデータが収集されると、ステップ５０４は、アドオンのパフォーマンスへの影響を計算する。１つの方法は、監視を通じて収集されたサンプルについて平均値を計算することによって生じてもよい。統計的技術はまた、離れた（outlying）データポイントや誤ったデータポイントを破棄するために利用することができる。ウェブブラウザーの例では、１つ又は複数のアドオンは、ブラウジングのパフォーマンスへの影響を確認するために監視することができる。より具体的には、ブラウザーのアドオンの監視は、ロード時間やナビゲーション時間などのブラウジングに関連する１つ又は複数の目標とされる（targeted）パフォーマンスメトリックの監視を含んでもよい。ある数のサンプルを上記のように目標とされるメトリックについて収集することができる。十分なデータが収集されると、ブラウジングのパフォーマンスへの影響（例えば、ブラウジング遅延）をメトリックに基づいて計算することができる。例えば、アドオンに関連付けられる総ロード時間とナビゲーション時間（例えば、総合的な影響）及び／又は各アドオンについての個々の時間（例えば、個々の影響）を計算することができる。前述したように他のメトリックを使用することもできる。
【００３１】
[0040]ステップ５０６は、計算された影響がパフォーマンスのしきい値を超えているか否かを確認する。例えば、様々なメトリックに基づいて、ステップ５０４で計算されたパフォーマンスへの影響が許容可能なレベルにあるか許容できないレベルにあるかについて評価を行うことができる。それに応じて、本明細書に記載のアドオン通知及び／又は管理オプションをトリガーすることができる。
【００３２】
[0041]例として、設定可能なしきい値は、ロード時間、ナビゲーション時間、及び／又は他のパフォーマンスメトリックに関連付けることができる。したがって、アドオンアドバイザーは、パフォーマンスメトリックを対応するしきい値と比較し、しきい値を超えた場合にアクションを実行するように動作することができる。たとえば、ブラウザーの遅延しきい値が０．２秒に設定されている場合、アドオンアドバイザーは、アドオンに関連付けられるロード／ナビゲーション時間を計算して、０．２秒のしきい値が全体としてアドオンによって及び／又は個々のアドオンによって超えられる場合に適切なアドオン通知を出力するように構成されてもよい。パフォーマンスへの影響がしきい値を超えない（例えば、パフォーマンスへの影響が許容できる）場合には、パフォーマンスメトリックの監視はステップ５００のように続行することができる。
【００３３】
[0042]１つ又は複数のパフォーマンスしきい値を超えた場合、ステップ５０８は、アドオン通知のためのさらなる基準が満たされるかどうかをチェックする。１つ又は複数の基準が満たされていない場合には、アドオンに関する通知は抑制されてもよい（例えば、表示されない）。様々なさらなる基準を、アドオン通知がユーザーに提供されるときを制御するように定義することができると考えられる。例えば、ユーザーは、アドオン通知を無効にしたり選択された期間の間通知を抑制したりするために、好み（プリファレンス、preferences）を設定することができる。この場合には、それに応じて、アドオンの通知を抑制することができる。別の例では、ユーザーが、最近１時間以内や同じ日などの指定された期間内に別のアドオン通知を最近却下した場合、通知を抑制することができる。したがって、アドオンアドバイザーは、通知がユーザーに提示される前に、アドオン通知について定義された任意の追加の基準が満たされることを確認するために、チェックすることができる。
【００３４】
[0043]通知が適切である場合、ステップ５１０はアドオンパフォーマンス通知を出力する。たとえば、アドオンアドバイザー１１１は、パフォーマンスのしきい値を超過し、通知をコントロールするための定義された任意の他の基準が満たされた場合に、図４Ａ及び図４Ｂに示される例に対応する通知を出力させてもよい。そのとき、ユーザーは、通知とインタラクトして、詳細について以下のセクションで説明されるアドオンを管理するために通知を介して利用できるようになる様々なアクションを取ることを選択することができる。
【００３５】
[0044]アドオンパフォーマンス監視に関連する様々な実施例を説明したが、ここで、１つ又は複数の実施例によるアドオン管理技術の例について考える。
アドオン管理 
[0045]ここで、図６に示されるアドオンアドバイザーのダイアログの例に関連して説明される１つ又は複数の実施例に係るアドオン管理技術の様々な例を考える。特に、図６は、アドオンの管理を容易にするために使用することができる例示的なアドオンダイアログを６００において一般的に示す。図示されたアドオンダイアログは、図４Ａ及び図４Ｂと関連して説明される例などの通知を介して見せることができる。特に、アドオンダイアログは、「アドオン管理（Manage Add-ons）」ボタンや通知により提供される他の手段の選択に応答して、提示することができる。また、ユーザーは、メニュー項目の選択、キーボードショートカットなどを通じて、ダイアログにアクセスすることができる。アドオンの管理のためのさまざまな異なるオプションを、図６の例示的なダイアログに対応する１つ又は複数のダイアログを介してアドオンアドバイザーによって提供することができる。
【００３６】
[0046]例えば、例示的なアドオンダイアログは、ヘッダーメッセージ６０２、アドオンリスト６０４、アドオン管理のために構成されるさまざまなユーザー選択可能な手段を含む。ヘッダーメッセージ６０２は、アドオンのパフォーマンスへの影響についてユーザーに通知し、ユーザーがアドオンを有効にすること又は無効にすることによってアドオンを制御できることを示す。例として、ヘッダーメッセージ６０２はまた、アドオンのパフォーマンスへの影響が「１．４０秒」だけブラウジング時間を増加させることを示す。上記及び下記のように、このパフォーマンスへの影響はパフォーマンスの監視によって決定することができる。
【００３７】
[0047]アドオンリスト６０４は、ダイアログを通じて管理できるアドオンのリストや、アドオン名、作成者／発行者、アドオンについて計算されるメトリック（例えば、ロード時間、ナビゲーション時間、ＣＰＵ使用率など）などの個々のアドオンについての情報を提供するように構成されてもよい。アドオンリスト６０４はまた、互いに対する（相互の、one to another）相対的な方法でアドオンのパフォーマンスへの影響を表すように構成することができる。図示した例では、長さの異なるバー６０６は、アドオンのそれぞれに起因するブラウジング時間の相対的な増加を表すために使用される。視覚的なインジケーターもまた、個々のアドオンのうちのどれがしきい値を超えて及び／又は全体的なパフォーマンスへの影響がしきい値を超えるようにするかを示すために使用することができる。視覚的なインジケーターは、異なる色、テキストプロパティ、強調表示、アニメーション、アイコン、及び／又は他のインジケーターの任意の組み合わせを含んでもよい。
【００３８】
[0048]オプションで、リストにおいて、アドオンは相対的な影響に応じた順序で配置することができる。このように、視覚的なインジケーター（指標）は、パフォーマンスへの影響がパフォーマンスしきい値を超えたアドオンを、パフォーマンスへの影響がパフォーマンスしきい値を超えないアドオンから（まとめて又は個別に）区別するために用いることができる。したがって、ユーザーは、どのアドオンがパフォーマンスに対して最大の影響を与えるかを決定するためにすぐにリストをスキャンすることができる。
【００３９】
[0049]たとえば、図６のコントソ（Contoso）ツールバーのバーは、関連付けられた１．２６秒の値が０．２秒に設定されるしきい値を超えたことを示すために、他のバーに対して異なる色で示される。ファブリカム（Fabrikam）とウィングトップトイ（Wing Top Toys）にそれぞれ関連付けられる０．１０及び０．０４という値は、０．２秒のしきい値を超えていないので、対応するバーは、しきい値に収まるアドオンに対して指定された色で表示される。リスト中の例示的なアドオンはまた、パフォーマンスに対するそれらの相対的な影響に応じて降順に上から下に配置されることに注意されたい。
【００４０】
[0050]アドオンダイアログはさらに、ユーザーが様々なアドオンを無効及び／又は有効にすることを可能にする機能を持つように構成することができる。これは、任意の適切なユーザー選択可能手段を用いて達成することができる。図６の例示的なアドオンダイアログでは、無効ボタン６０８は、アドオンリストにリストされる各項目とともに表示される。無効ボタンは対応するアドオンを無効にするために選択可能である。また、すべて無効にするボタン６１０は、アドオンをまとめて無効にするために選択されるように提供することができる。
【００４１】
[0051]少なくともいくつかの実施例では、アドオンは、グループに割り当てることができ、ユーザーは、グループごとにアドオンを選択的に有効／無効にするオプションを提供されてもよい。アドオンはさまざまな方法でグループ化することができる。たとえば、アドオンのグループは、アドオンの種類、機能の類似性、アドオンの作成者又は提供者、及び／又はアドオンのカテゴリーのうちの１つ又は複数に基づいて形成することができる。アドオンはまた、アドオンに関連付けられるバイナリーが同じディレクトリーにインストールされるかどうかに基づいて、グループで（in groups）配置することができる。このように、アドオンの異なるグループは、異なるグループを有効／無効にするオプションとともにユーザーに提示することができる。
【００４２】
[0052]アドオンダイアログが、示される有効にされたアドオンのみ、無効にされたものと有効にされたものを含むすべてのインストールされたアドオン、無効にされたアドオンのみ、新たにインストールされたアドオンなどを示すように構成することができることに留意されたい。ユーザーはまた、異なる時間においてダイアログを介して異なる種類のアドオンを選択的に表示又は非表示にするオプションを提供されてもよい。たとえば、例として、すべて表示するボタン６１２が図６に示され、これは、インストールされたアドオンの完全なリストを見せるように動作可能な機能を表す。完全なリストが提示されるとき、様々な方法で完全なリストをフィルタリングするためのオプションが表示されてもよい。無効にされるアドオンダイアログに示されるアドオンについて、対応するアドオンを有効にするために選択可能な有効コントロール（enable control）を提供することができる。同様に、新たにインストールされたアドオンは、対応するアドオンを有効／無効にするために選択可能なボタンや他のコントロールとともにリストに表示される。従って、例示的なダイアログに対応するダイアログは、新たに検出されたアドオンの管理を容易にするように構成することができる。例えば、新たに検出されたアドオンをリストするダイアログは、図４Ａに関連して説明される例などの、新たなアドオン通知を介してアクセスできる。
【００４３】
[0053]また、図６には、アドオンの管理を容易にするためにアドオンアドバイザーを介して利用可能となる様々なさらなるオプションにアクセスするように動作可能な機能を表す、例示的なより多くのオプションボタン（more options button）６１４が示される。このようなさらなるオプションは、いくつか例を挙げると、アドオンに関するより多くの情報を得るためのリンク、アドオン及びリストについてのカテゴリー及び／又はフィルターツール、並びに／又は、アドオンに関連づけられる詳細な及び／又は履歴の（historic）パフォーマンスデータを提供する分析ツールを含んでもよいが、これらに限定されない。
【００４４】
[0054]アドオンの通知及び管理が様々なパフォーマンスメトリックに関連付けられるしきい値に基づいてトリガーすることができることを思い出していただきたい。例示的なアドオンダイアログはまた、様々なパフォーマンスメトリックのしきい値を見たり及び／又は設定したりするためのオプションを提供することができる。たとえば、図６における例示的なしきい値コントロール６１６は、ブラウジング遅延について設定される０．２秒という現在の値を示す。しきい値コントロール６１６は、ユーザーが対応するしきい値に関連付けられる値を変更することを可能にするように選択することができる。図示した例では、しきい値コントロール６１６は、選択されたときにしきい値の選択可能な値のスクロール可能なリストを提供することができる、入力リストボックスとして示されている。入力リストボックスが例に示されているが、しきい値コントロール６１６は、選択されるしきい値の値を可能にする任意の適切な手段を介して実施することができる。アドオンダイアログは、１つ又は複数の対応するパフォーマンスメトリックのしきい値管理を容易にするために、例示的なしきい値コントロール６１６に対応する１つ又は複数のしきい値コントロールを含んでもよい。
【００４５】
[0055]アドオンアドバイザーの様々な例示的な機能につき考察したが、ここで、１つ又は複数の実施例によるアドオン管理のためのさまざまな技術を実施するために使用することができる例示的なシステムを考える。
例示的なシステム
[0056]図７は、上述の様々な実施例を実施するために使用することができる例示的なコンピューティングデバイス７００を示す。コンピューティングデバイス７００は、例えば、図１のコンピューティングデバイス１０２やウェブサーバー１１４とすることができる。
【００４６】
[0057]コンピューティングデバイス７００は、１つもしくは複数のプロセッサー又は処理ユニット７０２、１つもしくは複数のメモリー及び／又はストレージコンポーネント７０４、１つ又は複数の入出力（Ｉ／Ｏ）デバイス７０６、様々なコンポーネントやデバイスが互いに通信することを可能にするバス７０８を含む。バス７０８は、様々なバスアーキテクチャーの任意のものを使用する、メモリーバス又はメモリーコントローラー、周辺バス、アクセラレーテッドグラフィックポート、プロセッサー又はローカルバスを含む、いくつかのタイプのバスアーキテクチャーのうちの１つ又は複数を表す。バス７０８は有線及び／又は無線バスを含んでもよい。
【００４７】
[0058]メモリー／ストレージコンポーネント７０４は１つ又は複数のコンピューター記憶媒体を表す。コンポーネント７０４は、（ランダムアクセスメモリー（ＲＡＭ）などの）揮発性媒体及び／又は（リードオンリーメモリー（ＲＯＭ）、フラッシュメモリー、光ディスク、磁気ディスクなどの）不揮発性媒体を含んでもよい。コンポーネント７０４は、固定媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハードドライブなど）のほか、取り外し可能な媒体（例えば、フラッシュメモリードライブ、取り外し可能なハードドライブ、光ディスクなど）を含んでもよい。
【００４８】
[0059]１つ又は複数の入出力デバイス７０６は、ユーザーがコンピューティングデバイス７００にコマンドや情報を入力することを可能にし、また、情報をユーザー及び／又は他のコンポーネントやデバイスに提示することを可能にする。入力デバイスの例としては、キーボード、カーソル制御デバイス（例えば、マウス）、マイク、スキャナーなどを含む。出力デバイスの例としては、ディスプレイデバイス（例えば、モニター又はプロジェクター）、スピーカー、プリンター、ネットワークカードなどを含む。
【００４９】
[0060]様々な技術をソフトウェア又はプログラムモジュールの一般的なコンテキストで本明細書に記載することができる。一般的に、ソフトウェアは、特定のタスクを実行したり特定の抽象データ型を実施したりする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールや技術の実施例は、何らかの形式のコンピューター読み取り可能な媒体に格納されてもよいし、それを通じて伝送されてもよい。コンピューター読み取り可能な媒体は、コンピューティングデバイスによってアクセスされ得る任意の利用可能な媒体とすることができる。例えば、限定はしないが、コンピューター読み取り可能な媒体は、「コンピューター読み取り可能な記憶媒体」を含むことができる。
【００５０】
[0061]「コンピューター読み取り可能な記憶媒体」は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するための任意の方法又は技術で実施される、揮発性及び不揮発性、取り外し可能な及び取り外し不能な媒体を含む。コンピューター読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気記憶装置、所望の情報を格納するために使用できコンピューターによってアクセスすることができる任意の他の媒体を含むが、これらに限定されない。
むすび 
[0062]様々な実施例は、ブラウザー及び／又は他のアプリケーションプログラム用のアドオンを管理する際にユーザーを支援するように設計されるアドオンアドバイザーを提供する。少なくともいくつかの実施例では、アドオンアドバイザーは、新たにインストールされたアドオンを検出し、検出されたアドオンについてのユーザーに対する通知を提供するように実施することができる。新たなアドオンに関する通知は、ユーザーがアドオンを有効又は無効にすることを可能にするオプションとともに構成することができる。ユーザーによって明示的に有効にされていないアドオンは、アドオンアドバイザーによって動作することを防止することができる。さらに、少なくともいくつかの実施例では、アドオンアドバイザーは、アドオンのパフォーマンスへの影響を監視して、アドオンがパフォーマンスに悪影響を与えるときにユーザーに通知を提供するように実施することができる。このとき、ユーザーは、アドオンを選択的に有効化及び無効化することによってパフォーマンスを向上させるために、アドオンアドバイザーとインタラクトすることができる。
【００５１】
[0063]主題は構造的特徴及び／又は方法論的動作に特有の言葉で記載されたが、添付の特許請求の範囲に規定される主題が必ずしも上述の特定の特徴又は動作に限定されるものではないことを理解すべきである。正しくは、上述の特定の特徴及び動作は、特許請求の範囲を実施する例示的な形態として開示されている。
【図２】
2013537338.tif 000003
【図１】
2013537338.tif 000004
【図３】
2013537338.tif 000005
【図４Ａ】
2013537338.tif 000006
【図４Ｂ】
2013537338.tif 000007
【図５】
2013537338.tif 000008
【図６】
2013537338.tif 000009
【図７】
2013537338.tif 000010
【国際調査報告】
2013537338.tif 000011
2013537338.tif 000012