(57)【要約】【課題】コンピューティングデバイスの性能をユーザが評価する方法を提供する。【解決手段】第１デバイスの性能データ値を受信する工程と、他のデバイスの性能データを受信する工程と、他のデバイスの性能データを集約して、第１デバイスのイベントに類似するイベントの発生を経験した他のデバイスについての集約された性能データを生成する工程と、集約された性能データを使用して、第１デバイスと同じのプロファイルを有し、かつ、第１イベントに類似するイベントの発生を経験した他のデバイスの性能データの平均値を決定する工程と、性能データの平均値及び第１性能データ値の両方を表示画面上に表示する工程と、を行うための命令を記憶した媒体を提供する。【選択図】図３
2020126655.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピューティング・デバイスについての第１の性能データを受信する工程であって、前記第１のコンピューティング・デバイスは、デバイス・プロファイルを有し、前記デバイス・プロファイルは、１以上の特定のコンピューティング・デバイス特性を備え、前記第１の性能データは、第１のタイムスタンプ付きデバイス・データを含み、前記第１の性能データは、第１のシステム・イベント・データをさらに含む、工程と、
他の複数のコンピューティング・デバイスの各々についての第２のタイムスタンプ付きデバイス・データを含む第２の性能データを受信する工程であって、前記第２の性能データは、他の複数のコンピューティング・デバイスの各々についての第２のシステム・イベント・データをさらに含み、他の前記複数のコンピューティング・デバイスもデバイス・プロファイルを有する、工程と、
他の前記複数のコンピューティング・デバイスの各々についての前記第２の性能データを集約して、他の前記複数のコンピューティング・デバイスについての集約された性能データを生成する工程であって、前記集約された性能データは、前記第２のタイムスタンプ付きデバイス・データと、前記第２のシステム・イベント・データとの両方に基づいている、工程と、
前記第１のタイムスタンプ付きデバイス・データと、前記第１のシステム・イベント・データとの両方を、前記集約された性能データと比較する工程と、
類似するシステム・イベントの発生の際の前記第１の性能データと前記集約された性能データとの間のデバイス性能の相違を検出することに基づいて、前記第１のコンピューティング・デバイスの１つ以上の問題を診断する工程と、
を行うためのコンピュータ実行形式の命令を記憶した非一時的コンピュータ可読媒体。
【請求項２】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、対応する前記第１のコンピューティング・デバイスおよび他の前記複数のコンピューティング・デバイスについてのバッテリ使用状況データを含み、前記１つ以上の問題は、バッテリに関する問題を含む、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項３】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、対応する前記第１のコンピューティング・デバイスおよび他の前記複数のコンピューティング・デバイスについてのネットワーク接続データを含み、前記１つ以上の問題は、ネットワーク接続に関する問題を含む、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項４】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、２以上の互いに異なるカテゴリのデータを含む、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項５】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、バッテリ使用状況データとネットワーク接続データとを含む、請求項４に記載の非一時的コンピュータ可読媒体。
【請求項６】
前記第１のシステム・イベント・データおよび前記第２のシステム・イベント・データの各々は、対応する前記ネットワーク接続データの各々における無線接続がないことに対応するネットワーク外指標を含み、
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの両方における前記バッテリ使用状況データは、前記ネットワーク外指標があるときには、無線接続がある少なくとも１つの期間中よりも高く、
前記第１のタイムスタンプ付きデバイス・データおよび前記第１のシステム・イベント・データを、前記集約された性能データと比較することによって、前記ネットワーク外指標があるときに問題がないことが示される、請求項５に記載の非一時的コンピュータ可読媒体。
【請求項７】
前記デバイス・プロファイルについてのユーザの選択を受信することによって、前記第１の性能データと比較するための前記集約された性能データをユーザが選ぶことを可能とする工程をさらに備える、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項８】
前記１つ以上の問題に関する情報を提示するように構成されているグラフィカル・ユーザ・インターフェースを生成および表示する工程をさらに備える、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項９】
前記グラフィカル・ユーザ・インターフェースは、前記１つ以上の問題を解決するための解決策をユーザに推奨するようにさらに構成されている、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１０】
１つ以上のハードウェア部品の交換が、前記１つ以上の問題の前記診断に基づいて必要とされるか否かを判定する工程をさらに備える、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記デバイス・プロファイルは、地理的位置を含むことによって、他の前記複数のコンピューティング・デバイスは、前記第１のコンピューティング・デバイスの位置と類似の位置にある、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記地理的位置は、特定のセル・タワーを含む、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、対応する前記第１のコンピューティング・デバイスおよび他の前記複数のコンピューティング・デバイスについての付属周辺データを含み、前記１つ以上の問題は、周辺に関する問題を含む、請求項１に記載の非一時的コンピュータ可読媒体。
【請求項１４】
少なくとも１つのプロセッサを備え、
第１のコンピューティング・デバイスについての第１の性能データを受信する工程であって、前記第１のコンピューティング・デバイスは、デバイス・プロファイルを有し、前記デバイス・プロファイルは、１以上の特定のコンピューティング・デバイス特性を備え、前記第１の性能データは、第１のタイムスタンプ付きデバイス・データを含み、前記第１の性能データは、第１のシステム・イベント・データをさらに含む、工程と、
他の複数のコンピューティング・デバイスの各々についての第２のタイムスタンプ付きデバイス・データを含む第２の性能データを受信する工程であって、前記第２の性能データは、他の複数のコンピューティング・デバイスの各々についての第２のシステム・イベント・データをさらに含み、他の前記複数のコンピューティング・デバイスもデバイス・プロファイルを有する、工程と、
他の前記複数のコンピューティング・デバイスの各々についての前記第２の性能データを集約して、他の前記複数のコンピューティング・デバイスについての集約された性能データを生成する工程であって、前記集約された性能データは、前記第２のタイムスタンプ付きデバイス・データと、前記第２のシステム・イベント・データとの両方に基づいている、工程と、
前記第１のタイムスタンプ付きデバイス・データと、前記第１のシステム・イベント・データとの両方を、前記集約された性能データと比較する工程と、
類似するシステム・イベントの発生の際の前記第１の性能データと前記集約された性能データとの間のデバイス性能の相違を検出することに基づいて、前記第１のコンピューティング・デバイスの１つ以上の問題を診断する工程と、
を行うように構成されたコンピュータ・システム。
【請求項１５】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、対応する前記第１のコンピューティング・デバイスおよび他の前記複数のコンピューティング・デバイスについてのバッテリ使用状況データを含み、前記１つ以上の問題は、バッテリに関する問題を含む、請求項１４に記載のコンピュータ・システム。
【請求項１６】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、対応する前記第１のコンピューティング・デバイスおよび他の前記複数のコンピューティング・デバイスについてのネットワーク接続データを含み、前記１つ以上の問題は、ネットワーク接続に関する問題を含む、請求項１４に記載のコンピュータ・システム。
【請求項１７】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、２以上の互いに異なるカテゴリのデータを含む、請求項１４に記載のコンピュータ・システム。
【請求項１８】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、バッテリ使用状況データとネットワーク接続データとを含む、請求項１７に記載のコンピュータ・システム。
【請求項１９】
前記第１のシステム・イベント・データおよび前記第２のシステム・イベント・データの各々は、対応する前記ネットワーク接続データの各々における無線接続がないことに対応するネットワーク外指標を含み、
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの両方における前記バッテリ使用状況データは、前記ネットワーク外指標があるときには、無線接続がある少なくとも１つの期間中よりも高く、
前記第１のタイムスタンプ付きデバイス・データおよび前記第１のシステム・イベント・データを、前記集約された性能データと比較することによって、前記ネットワーク外指標があるときに問題がないことが示される、請求項１８に記載のコンピュータ・システム。
【請求項２０】
前記デバイス・プロファイルについてのユーザの選択を受信することによって、前記第１の性能データと比較するための前記集約された性能データをユーザが選ぶことを可能とする工程をさらに備える、請求項１４に記載のコンピュータ・システム。
【請求項２１】
前記１つ以上の問題に関する情報を提示するように構成されているグラフィカル・ユーザ・インターフェースを生成および表示する工程をさらに備える、請求項１４に記載のコンピュータ・システム。
【請求項２２】
前記グラフィカル・ユーザ・インターフェースは、前記１つ以上の問題を解決するための解決策をユーザに推奨するようにさらに構成されている、請求項２１に記載のコンピュータ・システム。
【請求項２３】
１つ以上のハードウェア部品の交換が、前記１つ以上の問題の前記診断に基づいて必要とされるか否かを判定する工程をさらに備える、請求項１４に記載のコンピュータ・システム。
【請求項２４】
前記デバイス・プロファイルは、地理的位置を含むことによって、他の前記複数のコンピューティング・デバイスは、前記第１のコンピューティング・デバイスの位置と類似の位置にある、請求項１４に記載のコンピュータ・システム。
【請求項２５】
前記地理的位置は、特定のセル・タワーを含む、請求項２４に記載のコンピュータ・システム。
【請求項２６】
前記第１のタイムスタンプ付きデバイス・データおよび前記第２のタイムスタンプ付きデバイス・データの各々は、対応する前記第１のコンピューティング・デバイスおよび他の前記複数のコンピューティング・デバイスについての付属周辺データを含み、前記１つ以上の問題は、周辺に関する問題を含む、請求項１４に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング・デバイスについてのシステム性能およびイベント・データを収集、追跡、および記憶するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータの問題を診断するときに、技術者などは、コンピューティング・デバイスに関する情報をその現在の状態で確認できるにすぎない場合がある。このため、デバイスが本当に基準以下の状態で動作しているか、またその場合に何が基準以下の性能を引き起こしているかを決定することが難しくなり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、コンピューティング・デバイスの性能をユーザが評価および／または改善するのを支援するための、改善されたシステムおよび方法が必要とされている。
【課題を解決するための手段】
【０００４】
（Ａ）経時的に取られた、複数のコンピューティング・デバイスの各々に関連付けられているタイムスタンプ付き性能データを、メモリに記憶し、（Ｂ）経時的に取られた、複数のコンピューティング・デバイスの各々に関連付けられているタイムスタンプ付きイベント・データを、メモリに記憶し、（Ｃ）少なくともタイムスタンプ付き性能データおよび／またはイベント・データを使用して、複数のコンピューティング・デバイスのうちの第１のコンピューティング・デバイスに関連付けられている個人に対して、第１のコンピューティング・デバイスの性能と、第１のコンピューティング・デバイスに類似した複数のコンピューティング・デバイスのうちの他のコンピューティング・デバイスの代表的な性能との比較を提供するためのコンピュータ実行形式の命令を記憶した非一時的コンピュータ可読媒体。この比較は、たとえば、経時的に取られた、コンピューティング・デバイスのうちの１以上についての性能および／またはイベント・データを表示する情報（または、複数のコンピューティング・デバイスについての集約された情報）の長尺表示の形態であってよい。
【０００５】
種々の実施形態による非一時的コンピュータ可読媒体は、（Ａ）１以上の特性を備えるデバイス・プロファイルを有する第１のコンピューティング・デバイスについての第１のシステム・イベント・データを受信し、（Ｂ）第１のコンピューティング・デバイスについての第１の性能データを受信し、（Ｃ）デバイス・プロファイルを有する少なくとも１つの第２のコンピューティング・デバイスについての第２のシステム・イベント・データを受信し、（Ｄ）少なくとも１つの第２のコンピューティング・デバイスについての第２の性能データを受信し、（Ｅ）第１のシステム・イベント・データ、第１の性能データ、第２のシステム・イベント・データ、および第２の性能データをユーザが比較することを可能にするためのコンピュータ実行形式の命令を記憶する。
【０００６】
特定の実施形態によるコンピュータ・システムは、少なくとも１つのプロセッサを備える。種々の実施形態において、コンピュータ・システムは、（Ａ）第１のモバイル・コンピューティング・デバイスに関連付けられている第１のデータを受信する工程であって、第１のデータは、第１の性能データおよび少なくとも１つの第１のシステム・イベントを含み、第１のモバイル・コンピューティング・デバイスは、少なくとも１つのモバイル・デバイス特性を含む、受信する工程と、（Ｂ）１以上の第２のモバイル・コンピューティング・デバイスに関連付けられている第２のデータを受信する工程であって、第２のデータは、１以上の第２のモバイル・コンピューティング・デバイスの各々についての第２の性能データおよび少なくとも１つの第２のシステム・イベントを含む、受信する工程と、（Ｃ）少なくとも１つのプロファイルを確立する工程であって、少なくとも１つのプロファイルは、少なくとも１つのモバイル・デバイス特性に関連付けられている、確立する工程と、（Ｄ）１以上の第２のコンピューティング・デバイスのうちの、少なくとも１つのモバイル・デバイス特性を有する第２のコンピューティング・デバイスを決定する工程と、（Ｅ）１以上の第２のコンピューティング・デバイスが少なくとも１つのモバイル・デバイス特性を有すると決定することに少なくとも部分的に応答して、１以上の第２のコンピューティング・デバイスをプロファイルに割り当てる工程と、（Ｆ）第１のコンピューティング・デバイスが少なくとも１つのモバイル・デバイス特性を有するか否かを決定する工程と、（Ｇ）第１のデータ、およびプロファイルに割り当てられた１以上の第２のコンピューティング・デバイスの第２のデータを、第１のモバイル・デバイスのユーザへ表示する工程と、を行うように構成される。
【０００７】
種々の実施形態によるコンピュータ実装方法は、プロセッサによって、複数のコンピューティング・デバイスについてのシステム・イベント・データおよびシステム性能データを受信することを含む。特定の実施形態では、複数のコンピューティング・デバイスは、第１のシステム・イベント・データおよび第１のシステム性能データに関連付けられている第１のコンピューティング・デバイスを含み、複数のコンピューティング・デバイスの１以上の特性に少なくとも基づいて、少なくとも１つのプロファイルを共有する。種々の実施形態において、コンピュータ実装方法は、プロセッサによって、システム・イベント・データおよびシステム性能データに少なくとも部分的に基づいて、複数のコンピューティング・デバイスについての平均性能メトリックを決定する工程と、プロセッサによって、第１のシステム・イベント・データおよび第１のシステム性能データに少なくとも部分的に基づいて、第１のコンピューティング・デバイスについての第１の性能メトリックを決定する工程と、プロセッサによって、平均性能メトリックおよび第１の性能メトリックを、第１のコンピューティング・デバイスのユーザへ表示する工程と、をさらに含む。
【０００８】
コンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶するためのシステムおよび方法の種々の実施形態を、以下に説明する。この説明の過程で添付の図面を参照する。図面は必ずしも原寸通りではない。
【図面の簡単な説明】
【０００９】
【図１】本システムの実施形態による、コンピューティング・デバイス診断システムのブロック図。
【図２】種々の実施形態における使用に適した、図１のシステム情報サーバなどのコンピュータの概略図。
【図３】たとえば図１のシステム情報サーバによって実行され得る、システム診断モジュールによって実行される種々の工程を概略的に示すフローチャート。
【図４】一実施形態によるシステムの例示的画面表示を示す図。
【図５】一実施形態によるシステムの例示的画面表示を示す図。
【図６】一実施形態によるシステムの例示的画面表示を示す図。
【図７】一実施形態によるシステムの例示的画面表示を示す図。
【図８】一実施形態によるシステムの例示的画面表示を示す図。
【図９】一実施形態によるシステムの例示的画面表示を示す図。
【発明を実施するための形態】
【００１０】
次に、種々の実施形態を添付の図面を参照して以下により完全に説明する。本発明は、多くの異なる形態で具体化されることが可能であり、本明細書に記載された実施形態に限定されると解釈すべきでないことを理解されたい。そうではなく、これらの実施形態は、本開示が徹底され完全であり、本発明の範囲を当業者に十分に伝えるように与えられる。同様の番号は、全体を通して同様の要素を参照する。
【００１１】
概要
種々の実施形態において、コンピューティング・デバイス（たとえば、デスクトップ・コンピュータ、タブレット・コンピュータなどのモバイル・コンピューティング・デバイス、スマートフォンなど）についての性能およびシステム情報を収集、追跡、および記憶するためのシステムおよび方法が、１以上のコンピューティング・デバイス（たとえば、１以上の類似したコンピューティング・デバイス）、特にモバイル・コンピューティング・デバイスについてのシステムおよび性能情報を記憶するように構成される。種々の実施形態において、コンピューティング・デバイス性能情報は、コンピューティング・デバイスについての任意の適切な性能情報、たとえば、バッテリ使用状況（ｂａｔｔｅｒｙ  ｕｓａｇｅ）、プロセッサ・リソース使用状況などを含む。コンピューティング・デバイス・システム情報は、任意の適切なシステム情報（たとえばイベント情報）、たとえば、（１）信号レベル変化（たとえば、無線ネットワークへの接続における信号強度の変化）、（２）新しくインストールされたソフトウェアに関する情報、（３）コンピューティング・デバイスに対して接続または切断された周辺デバイス（たとえば、コンピューティング・デバイスに関連付けられているＵＳＢ、ＦｉｒｅＷｉｒｅ（登録商標）、または他の適切なポートを通じたプリンタ、スキャナ、スマートフォンなど）のログ、（４）どのようなコンピュータ・ネットワークに対してコンピューティング・デバイスが接続および／または切断したかに関する情報、（５）コンピューティング・デバイスを通じて訪問された任意のウェブサイトなどを含み得る。
【００１２】
種々の実施形態において、システムは、実質的に一定の間隔（たとえば、毎日、毎週、毎時、または任意の他の適切な間隔）で、この情報を収集および記憶する。他の実施形態では、システムは、イベントが発生すると実質的に自動的にデータを収集するように構成される。たとえば、スマートフォンの場合、システムは、スマートフォン上の新しいソフトウェア・アプリケーションのインストールに関連するシステム・イベントに関する情報を収集することができる。この例でのシステム・イベント・データは、たとえば、ソフトウェア・アプリケーションの発行元、ソフトウェア・アプリケーションのバージョン、またはソフトウェア・アプリケーションに関連する任意の他の情報を含み得る。種々の実施形態において、収集された情報は、コンピューティング・デバイスの性能およびシステム情報の長尺ビュー（たとえば、経時的な性能およびシステム情報のスナップショットまたは他の表現）を提供するために使用される。
【００１３】
特定の実施形態では、システムは、収集された情報を後で取り出すために、たとえば、クラウド・ストレージ・サーバまたは他のサーバに記憶および送信するように構成される。システムは、実質的に一定の間隔で、または所定のイベントに応答して、たとえばデバイスがアイドル状態で充電していると決定したことに応答して、または任意の他の適切な時刻で、情報を送信するように構成され得る。
【００１４】
システムは、種々の実施形態において、この情報を、特定のコンピューティング・デバイスの性能の問題のトラブルシューティングを行っているユーザに提供するように構成される。特定の実施形態では、システムは、トラブルシューティングが行われている特定のコンピューティング・デバイスのみについて、この情報を提供する。他の実施形態では、システムは、トラブルシューティングが行われているコンピュータに関するこの情報だけでなく、問題のコンピューティング・デバイスに類似したコンピューティング・デバイスに関連付けられている情報（たとえば、集約された情報）を提供するように構成される。これらの類似したコンピューティング・デバイスは、たとえば、（１）類似したデバイス製造者およびモデル、（２）類似したハードウェア構成（たとえば、類似したプロセッサ、類似したＲＡＭ量など）を有するデバイス、（３）類似したタイプのコンピューティング・デバイス（たとえば他のタブレット・コンピュータ、他のスマートフォンなど）、（４）類似した地理的領域に位置するコンピューティング・デバイス、（５）類似したソフトウェアを実行しているコンピューティング・デバイス、（６）類似したまたは同じネットワーク（たとえば、特定のローカル・エリア・ネットワーク、セルラー電話ネットワークなど）を通じて接続されたコンピューティング・デバイス、（７）類似した接続された周辺機器を有するコンピューティング・デバイス、（８）類似したオペレーティング・システムを実行しているコンピューティング・デバイス、ならびに／または（９）任意の他の適切な類似したコンピューティング・デバイスを含み得る。種々の実施形態において、類似した他のデバイスの性能（たとえば、類似したデバイスの平均性能）に対するデバイス性能の比較は、システムが、（たとえば、所定のベースライン性能メトリックとの比較とは対照的に、）類似したデバイスの実際の性能に対する特定のデバイスの相対的性能を提供することを可能にする。
【００１５】
種々の実施形態において、システムは、情報（たとえば、性能情報および／またはシステム情報）に少なくとも部分的に基づいて技術者がコンピューティング・デバイスの診断またはトラブルシューティングを行うことができるように構成される。たとえば、システムは、どの特定のイベント（たとえば、特定のソフトウェアのインストールなど）がデバイス性能の低下を引き起こした可能性があるかを技術者または他のユーザが決定することを可能にするために使用され得る、コンピューティング・デバイス性能情報の履歴およびシステム情報を表示することができる。他の実施形態では、システムは、性能およびシステム情報に少なくとも部分的に基づいて、実質的に自動的にコンピューティング・デバイスの診断またはトラブルシューティングが行われるように構成される。種々の実施形態において、そうした情報は、コンピューティング・デバイスが悪意のあるソフトウェア（たとえば、ウィルス、スパイウェア、アドウェアなど）に感染されていること、コンピューティング・デバイスがデフラグされる必要があること、コンピューティング・デバイスが熱疲労にさらされていること、またはコンピューティング・デバイスのプロセッサまたはバッテリが他の当てはまるハードウェア障害にさらされていることを明らかにすることが可能である。種々の実施形態において、システムは、そうした情報に基づいて診断された任意の問題を実質的に自動的に修正するように構成される。
【００１６】
例示的な技術基盤
当業者には理解されるように、本発明は、たとえば、コンピュータ・システム、方法、またはコンピュータ・プログラム製品として具体化され得る。したがって、種々の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態を取ることがある。さらに、特定の実施形態は、コンピュータ可読記憶媒体に具体化されるコンピュータ可読命令（たとえばソフトウェア）を有するコンピュータ可読記憶媒体に記憶されたコンピュータ・プログラム製品の形態を取ることがある。種々の実施形態は、ウェブに実装されたコンピュータ・ソフトウェアの形態を取ることもある。たとえば、ハード・ディスク、コンパクト・ディスク、ＤＶＤ、光ストレージ・デバイス、および／または磁気ストレージ・デバイスを含む、任意の適切なコンピュータ可読記憶媒体が利用されてよい。
【００１７】
方法、装置（たとえばシステム）およびコンピュータ・プログム製品のブロック図およびフローチャート図を参照して、種々の実施形態を以下で説明する。ブロック図およびフローチャート図の各ブロック、ならびにブロック図およびフローチャート図のブロックの組合せはそれぞれ、コンピュータ・プログラム命令を実行するコンピュータによって実装することができることを理解されたい。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置上にロードされて、そのコンピュータまたは他のプログラマブル・データ処理装置上で実行する命令が、１以上のフローチャート・ブロックに指定された機能を実装するための手段を作成するように、マシンを形成することができる。
【００１８】
これらのコンピュータ・プログラム命令はまた、コンピュータまたは他のプログラマブル・データ処理装置に特定の様式で機能するように指示できるコンピュータ可読メモリに記憶されて、コンピュータ可読メモリに記憶された命令が、１以上のフローチャート・ブロックに指定された機能を実装するように構成された製造品を形成するようにすることができる。コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラマブル・データ処理装置にロードされて、一連の動作工程がコンピュータまたは他のプログラマブル装置上で実施されるようにし、コンピュータまたは他のプログラマブル装置上で実行する命令が、１以上のフローチャート・ブロックに指定された機能を実装するための工程を提供するように、コンピュータ実装方法を形成することができる。
【００１９】
したがって、ブロック図およびフローチャート図のブロックは、指定された機能を実施するための機構の組合せ、指定された機能を実施するための工程の組合せ、および指定された機能を実施するためのプログラム命令をサポートする。また、ブロック図およびフローチャート図の各ブロック、ならびにブロック図およびフローチャート図のブロックの組合せは、指定された機能または工程を実施する専用ハードウェアベースのコンピュータ・システム、または適切なコンピュータ命令を実行する専用ハードウェアおよび他のハードウェアの組合せによって実装され得ることを理解されたい。
【００２０】
例示的なシステム・アーキテクチャ
図１は、特定の実施形態によるシステム１１０のブロック図である。この図から理解できるように、システム１１０は、１以上のコンピュータ・ネットワーク１１５と、システム情報サーバ１００と、データベース１４０と、１以上の遠隔コンピューティング・デバイス、たとえば、モバイル・コンピューティング・デバイス１５６（たとえば、スマートフォン、タブレット・コンピュータ、ウェアラブル・コンピューティング・デバイス、ラップトップコンピュータなど）またはデスクトップ・コンピュータ１５４と、を含む。特定の実施形態では、１以上のコンピュータ・ネットワークは、システム情報サーバ１００、データベース１４０、および１以上の遠隔コンピューティング・デバイス１５２、１５４の間の通信を促進する。
【００２１】
１以上のコンピュータ・ネットワーク１１５は、インターネット、専用イントラネット、メッシュ・ネットワーク、公衆交換電話網（ＰＳＴＮ）、または任意の他のタイプのネットワーク（たとえば、コンピュータ間の通信を促進するためにＢｌｕｅｔｏｏｔｈ（登録商標）もしくは近距離無線通信を使用するネットワーク）など、任意の様々なタイプの有線または無線コンピュータ・ネットワークを含み得る。システム情報サーバ１００とデータベース１４０との間の通信リンクは、たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）またはインターネットを通じて実装することができる。
【００２２】
図２は、たとえば、クライアント・コンピュータ（たとえば、図１に示されるクライアント・コンピュータ１５２、１５４のうちの１つ）として、またはサーバ・コンピュータ（たとえば、図１に示されるシステム情報サーバ１００）として、システム１１０内で使用できるコンピュータ・アーキテクチャ１２０の概略図を示す。特定の実施形態では、コンピュータ１２０は、コンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶するように構成されたシステム１１０のコンテキストにおいてコンピュータとして使用するのに適することが可能である。
【００２３】
特定の実施形態では、コンピュータ１２０は、ＬＡＮ、イントラネット、エクストラネット、および／またはインターネットにおける他のコンピュータに接続（たとえばネットワーク接続）される。上述のように、コンピュータ１２０は、クライアント／サーバ・ネットワーク環境におけるサーバまたはクライアント・コンピュータとして適格なものとして、またはピアツーピア（もしくは分散）ネットワーク環境におけるピア・コンピュータとして動作することができる。コンピュータ１２０は、デスクトップ・パーソナル・コンピュータ（ＰＣ）、タブレットＰＣ、セットトップ・ボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、セルラー電話、ウェブ・アプライアンス、サーバ、ネットワーク・ルータ、スイッチまたはブリッジ、あるいは、そのコンピュータによって行われる動作を指定する（シーケンスまたは他の）命令のセットを実行できる任意の他のコンピュータとすることができる。また、単一のコンピュータのみが示されているが、用語「コンピュータ」は、本明細書に論じられる方法の任意の１以上を実施するために命令の１セット（または複数のセット）を個別または一緒に実行するコンピュータの任意の集合を含むと解釈されるものとする。
【００２４】
例示的なコンピュータ１２０は、処理デバイス２０２、メイン・メモリ２０４（たとえば、読出し専用メモリ（ＲＯＭ）、フラッシュ・メモリ、同期型ＤＲＡＭ（ＳＤＲＡＭ）またはラムバスＤＲＡＭ（ＲＤＲＡＭ）などのダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ））、スタティック・メモリ２０６（たとえば、フラッシュ・メモリ、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）など）、およびデータ・ストレージ・デバイス２１８を含み、それらはバス２３２を通じて互いに通信する。
【００２５】
処理デバイス２０２は、マイクロプロセッサまたは中央処理装置などの１以上の汎用処理デバイスを表す。より具体的には、処理デバイス２０２は、複合命令セット・コンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット・コンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、あるいは他の命令セットを実装するプロセッサまたは命令セットの組合せを実装するプロセッサであってよい。処理デバイス２０２はまた、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、またはネットワークプロセッサなどの１以上の専用処理デバイスであってもよい。処理デバイス２０２は、本明細書に論じられる種々の動作および工程を実施するための処理ロジック２２６を実行するように構成され得る。
【００２６】
コンピュータ１２０は、ネットワーク・インターフェース・デバイス２０８をさらに含むことができる。コンピュータ１２０はまた、映像ディスプレイ装置２１０（たとえば、液晶ディスプレイ（ＬＣＤ）または陰極線管（ＣＲＴ））、英数字入力デバイス２１２（たとえばキーボード）、カーソル制御デバイス２１４（たとえばマウス）、および信号生成デバイス２１６（たとえばスピーカ）を含むこともできる。
【００２７】
データ・ストレージ・デバイス２１８は、本明細書に論じられる方法または機能のうちの任意の１以上を具体化する１以上のセットの命令（たとえばソフトウェア２２２）が記憶される（非一時的コンピュータ可読記憶媒体または非一時的コンピュータ可読媒体としても知られる）非一時的コンピュータ・アクセス可能記憶媒体２３０を含むことができる。ソフトウェア２２２はまた、コンピュータ１２０によるその実行中に、完全にまたは少なくとも部分的にメイン・メモリ２０４内および／または処理デバイス２０２内に存在してよく、メイン・メモリ２０４および処理デバイス２０２もまた、コンピュータ・アクセス可能記憶媒体を構成する。ソフトウェア２２２はさらに、ネットワーク・インターフェース・デバイス２０８を経由してネットワーク１１５を通じて送信または受信されてもよい。
【００２８】
コンピュータ・アクセス可能記憶媒体２３０は例示的な実施形態では単一の媒体として示されているが、用語「コンピュータ・アクセス可能記憶媒体」は、１以上のセットの命令を記憶する単一の媒体または複数の媒体（たとえば、集中もしくは分散データベース、ならびに／または関連したキャッシュおよびサーバ）を含むものと理解されるべきである。用語「コンピュータ・アクセス可能記憶媒体」はまた、コンピュータにより実行するための命令のセットを記憶、符号化、または搬送することができ、本発明の方法のうちの任意の１以上をコンピュータに実施させる、任意の媒体を含むものと理解されるべきである。したがって、用語「コンピュータ・アクセス可能記憶媒体」は、固体メモリ、光媒体および磁気媒体などを含むがそれらに限定されないと理解されるべきである。
【００２９】
例示的なシステム基盤
コンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶するためのシステムおよび方法の種々の実施形態が、任意の適切なシステム情報サービスのコンテキスト内で実装され得る。特定の実施形態では、システムは、たとえば、コンピューティング・デバイスが適切に機能している、または交換を必要とし得ることを保証するために、コンピューティング・デバイスに保険を掛けるサービスなどの保険サービスの一部として、実装することができる。特定の実施形態では、システムは、（たとえば、顧客が保険サービスを通して保険を掛けたコンピューティング・デバイスと共に使用するために、）コンピューティング・デバイスを保険サービスの顧客に対して保証する保険会社によって提供されてよい。システムの機能の様々な態様は、たとえばモバイル・コンピューティング・デバイス（たとえばセルラー電話もしくはタブレット・コンピュータ）または他のコンピューティング・デバイスによって実行され得る、システム診断モジュール３００を含む、いくつかのシステム・モジュールによって実行され得る。このモジュールについては以下でより詳細に論じる。
【００３０】
システム診断モジュール
図３は、例示的なシステム診断モジュール３００によって実行される動作のフローチャートである。特定の実施形態では、システム診断モジュール３００は、少なくとも１つのコンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶することを促進し、コンピューティング・デバイスに関する性能問題を診断する目的で、かつ／またはデバイスの過去の性能に対するもしくは他の類似したデバイスの性能に対するデバイスの現在の性能をモニタする目的で、この情報を技術者または他のユーザに提供することができる。種々の実施形態において、システム診断モジュール３００は、コンピューティング・デバイス（たとえば、モバイル・コンピューティング・デバイス）にローカルに記憶されたソフトウェア・アプリケーションの一部として実行される。
【００３１】
システム診断モジュール３００を実行すると、システムは、工程３１０で、第１のコンピューティング・デバイスについての第１のシステム・イベント・データを受信することにより開始する。特定の実施形態では、システム・イベント・データは、たとえば、１以上のイベントが発生した時刻（たとえば日時）に関連付けられ得る、１以上のシステム・イベントを含み得る。一般的な例では、システム・イベント・データは、第１の時刻で発生した第１のイベントおよび第２の時刻で発生した第２のイベントなどに関するタイムスタンプ付きデータを含むことができる。種々の実施形態において、１以上のイベントは、（たとえば、イベントのタイプなどによって）少なくともいくらか関連し得る。特定の実施形態では、システム・イベント・データは、経時的に本質的にリアルタイムで生成されるシステム・イベントのログを含むことができる。
【００３２】
種々の実施形態において、システム・イベント・データは、第１のコンピューティング・デバイスと１以上のネットワーク（たとえば、無線ローカル・エリア・ネットワーク、セルラー電話ネットワークなど）との間の接続についての信号レベルの変化を含む。システム・イベントは、第１のコンピューティング・デバイス（たとえば、スマートフォン）と特定のセルラー電話ネットワーク（たとえば、Ｖｅｒｉｚｏｎ（登録商標）、ａｔ＆ｔ（登録商標）、Ｓｐｒｉｎｔ（登録商標）など）との間の接続についての２つのバーから３つのバーへの信号レベルの変化を含むことができる。他の実施形態では、システム・イベント・データは、第１のコンピューティング・デバイスと１以上のネットワークとの間の任意の他の適切な信号強度の変化（たとえば、弱い信号から強い信号への変化など）を含むことができる。
【００３３】
他の実施形態では、システム・イベント・データは、特定のネットワーク（たとえば無線ネットワーク）に対する接続または切断を含む。たとえば、第１のコンピューティング・デバイスがスマートフォンである場合、システムは、第１のコンピューティング・デバイスが新しい無線ローカル・エリア・ネットワークに接続した時刻に関連付けられている情報を含む、システム・イベント・データを受信することができる。特定のネットワークとの接続および／または切断に関連付けられているシステム・イベント・データはさらに、たとえば、（１）ネットワークのセキュリティ機能（たとえば、ネットワークが、ＷＥＰ、ＷＰＡ、ＷＰＡ２などのような無線セキュリティ・プロトコルを有するか否か）（２）第１のコンピューティング・デバイスが以前にネットワークに接続しているか否か（たとえば、ネットワークがつなぎ慣れたネットワークであるか否か）、（３）第１のコンピューティング・デバイスとネットワークとの間の信号強度、または（４）ネットワークへの第１のコンピューティング・デバイスの接続に関連付けられている任意の他の適切な情報などの情報を含むことができる。
【００３４】
種々の実施形態において、システム・イベント・データは、コンピューティング・デバイスの種々の機能のアクティブ化および非アクティブ化に関するデータを含むことができる。特定の実施形態では、これは、たとえば、第１のコンピューティング・デバイスの機内モードをオンまたはオフにすること、第１のコンピューティング・デバイスのＢｌｕｅｔｏｏｔｈをオンまたはオフにすること、第１のコンピューティング・デバイスのＧＰＳ（たとえば、位置ベースのサービス）をオンまたはオフにすることなどを含むことができる。
【００３５】
特定の実施形態では、システム・イベント・データは、第１のコンピューティング・デバイスに新しくインストールされたソフトウェアに関連付けたデータを含むことができる。たとえば、システムは、新しいソフトウェア・アプリケーションが第１のコンピューティング・デバイスにインストールされた日時を含む、システム・イベント・データを受信することができる。種々の実施形態において、そのような場合のシステム・イベント・データはさらに、ソフトウェア・アプリケーションのファイル・サイズ、ソフトウェア・アプリケーションの発行元、ソフトウェア・アプリケーションのインストール元のソース（たとえば、ソフトウェアのダウンロード元のウェブサイトなど）を含むことができる。他の実施形態では、システム・イベント・データはさらに、第１のコンピューティング・デバイスからのソフトウェアの除去に関する情報を含むことができる（たとえば、システム・イベントは、第１のコンピューティング・デバイスからの特定のソフトウェア・アプリケーションの削除を含むことができる）。
【００３６】
特定の実施形態では、システム・イベント・データは、第１のコンピューティング・デバイスに対して（たとえば、周辺デバイスと通信するために第１のコンピューティング・デバイスが備えるＵＳＢ、ｆｉｒｅｗｉｒｅ、無線ネットワーク、または他の適切な機構を通じて）接続または切断された周辺デバイス（たとえば、プリンタ、スキャナ、外部ハード・ディスク、および光学式ドライブなど）のログを含む。種々の実施形態において、システム・イベント・データは、周辺デバイスが接続および／または切断された時刻、周辺デバイスに関連して第１のコンピューティング・デバイスにインストールされた任意のデバイス・ドライバまたは他のソフトウェアに関連付けられている情報、あるいは周辺デバイスに関連する任意の他の適切な情報（たとえば、デバイス・タイプ、モデル番号、製造者など）を含む。たとえば、システムは、新しいプリンタのインストールに少なくとも部分的に応答して、コンピューティング・デバイスにインストールされた新しいプリンタに関連付けられている情報を記憶することができる。この新しいプリンタに関連付けられている情報は、たとえば、プリンタがコンピューティング・デバイスに接続されるコンピューティング・デバイス上のポート、コンピューティング・デバイスがプリンタと通信することを可能にするためにインストールされるドライバ情報、プリンタと共に使用するためにコンピューティング・デバイスにインストールされたソフトウェアなどを含むことができる。
【００３７】
種々の実施形態において、システム・イベント・データは、第１のコンピューティング・デバイスにアクセスされた任意のウェブ・ページのログ（たとえば、第１のコンピューティング・デバイスの閲覧履歴）を含み、それは、たとえば、種々のウェブ・ページがアクセスされた時刻を含むことができる。他の実施形態では、システム・イベント・データは、ウェブ閲覧に関連する他のデータ、たとえば、クッキー・データ（たとえば、特定のクッキーが作成された時刻、およびクッキーのコンテンツ）、キャッシュ、または他の適切なデータを含むことができる。
【００３８】
特定の実施形態では、第１のコンピューティング・デバイスは、モバイル・コンピューティング・デバイス（たとえば、スマートフォン、ラップトップ、タブレット・コンピュータなど）である。他の実施形態では、第１のコンピューティング・デバイスは、デスクトップ・コンピュータである。特定の実施形態では、システムは、（たとえば、システム・イベントが発生すると）システム・イベント・データをログ記録および／または記憶するように構成された第１のコンピューティング・デバイス上のアプリケーションを通じて、システム・イベント・データを受信するように構成される。特定の実施形態では、システムは、イベントが発生すると実質的に自動的にシステム・イベント・データを受信するように構成される。たとえば、システムは、スマートフォンとヘッドセットのペアリングに応答して、ハンズフリーのＢｌｕｅｔｏｏｔｈヘッドセットに関連付けられている情報を記憶することができる。そのような場合のシステム・イベント・データは、たとえば、Ｂｌｕｅｔｏｏｔｈヘッドセットの製造元およびモデル、ペアリングが発生した時刻、Ｂｌｕｅｔｏｏｔｈヘッドセットのバッテリ寿命、またはＢｌｕｅｔｏｏｔｈヘッドセットもしくはペアリングに関連する任意の他の適切な情報を含むことができる。
【００３９】
種々の実施形態において、システムは、システム・イベント・データをローカルに（たとえば、第１のコンピューティング・デバイスに）記憶するように構成される。たとえば、第１のコンピューティング・デバイスに記憶されたソフトウェア・アプリケーションは、システム・イベント・データに少なくとも一時的に記憶することができる。他の実施形態では、システムは、システム・イベント・データをローカルに記憶し、システム・イベント・データを後で取り出すために、たとえば、クラウド・ストレージ・サーバもしくは他のサーバまたは任意の適切な遠隔の記憶場所に送信するように構成される。特定の実施形態では、システムは、実質的に一定の間隔（たとえば、毎日、１日に２回、６時間毎、または任意の他の適切な時間間隔）でシステム・イベント・データを送信するように構成される。他の実施形態では、システムは、所定のイベントに応答して、たとえば、第１のコンピューティング・デバイスが外部電源にプラグ接続された（たとえば、第１のコンピューティング・デバイスがスマートフォンである場合に、第１のコンピューティング・デバイスがプラグ接続され充電している）と決定したことに応答して、システム・イベント・データを送信するように構成される。さらに他の実施形態では、システムは、（たとえば、無線ローカル・エリア・ネットワーク、特定の無線ローカル・エリア・ネットワーク、セルラー電話ネットワークなどを通じて）第１のコンピューティング・デバイスがインターネットに接続されたと決定したことに応答して、システム・イベント・データを送信するように構成される。特定の実施形態では、システムは、第１のコンピューティング・デバイスが外部電源にプラグ接続され、かつ（たとえば、３ｇ、４ｇなどを通じたセルラー電話ネットワークではなく）無線ローカル・エリア・ネットワークを通じてインターネットに接続されたと決定したことに応答して、システム・イベント・データを送信するように構成される。
【００４０】
工程３２０に戻って、システムは続いて、第１のコンピューティング・デバイスについての第１の性能データを受信する。種々の実施形態において、第１の性能データは、バッテリ使用状況（たとえば、消耗レート、充電レベルなど）、プロセッサ・リソース使用状況、クロック・レート、１秒間に１００万回の浮動小数点演算を行う回数（ＭＦＬＯＰＳ）、ストレージ使用状況、データ使用状況（たとえば、モバイル・データの量対Ｗｉ−Ｆｉデータ使用状況）、または、第１のコンピューティング・デバイスの性能に関連する任意の他の適切な性能メトリックまたはベンチマークを含む。種々の実施形態において、第１の性能データは、工程３１０で受信した特定のシステム・イベント・データ・ポイントと実質的に同じ時間（および、たとえば、それに関連付けられている時間）に受信される。たとえば、バッテリ使用状況は、システム・イベント・データが、第１のコンピューティング・デバイスがネットワーク外である（たとえば、無線ネットワークに現在接続されていないが、たとえば第１のコンピューティング・デバイスの利用可能なバッテリ寿命より多くを使用し得るものを能動的に検索している）ことを示すときに、システム性能データとして受信され得る。特定の実施形態では、システム性能データは、特定の時間量における平均性能（たとえば、１日の平均プロセッサ使用状況、バッテリが特定のレベルに消耗する平均時間など）を含むことができる。特定の実施形態では、システムは、性能情報を使用して、デバイスについてのタイムスタンプ付き性能記録のログを作成するように構成される。
【００４１】
種々の実施形態において、システムは、第１の性能データに少なくとも部分的に基づいて、性能メトリックを規定するように構成される。たとえば、性能メトリックは、２以上の性能データ・ポイント、たとえばすぐ上に述べたタイプの性能データなどの組合せに少なくとも部分的に基づいてよい。たとえば、特定の性能メトリックは、バッテリ使用状況とプロセッサ使用状況の両方に少なくとも部分的に基づいてもよい。種々の実施形態において、システムは、任意の他の適切なファクタに基づいて性能メトリックを規定するように構成され得る。
【００４２】
次いで、システムは、工程３３０で、プロファイルを第１のコンピューティング・デバイスと共有する１以上の第２のコンピューティング・デバイスについての第２のシステム・イベント・データおよび第２の性能データを受信する。種々の実施形態において、第２のシステム・イベント・データは、１以上の第２のコンピューティング・デバイスに関連付けられている任意の適切なシステム・イベント・データ、たとえば、（工程３１０で）第１のコンピューティング・デバイスに関して上述した第１のシステム・イベント・データのいずれかであってよい。特定の実施形態では、第２の性能データは、１以上の第２のコンピューティング・デバイスに関連付けられている任意の適切な性能データ、たとえば、（工程３２０で）第１のコンピューティング・デバイスに関して上述した第１の性能データのいずれかのタイプであってよい。
【００４３】
種々の実施形態において、少なくとも１つのプロファイルを第１のコンピューティング・デバイスと共有する１以上の第２のコンピューティング・デバイスは、第１のコンピューティング・デバイスと共通する１以上の特性を有する（たとえば、同じタイプのデバイスである、同じモデルのデバイスである、第１のコンピューティング・デバイスと類似のソフトウェアを実行する、かつ／または、第１のコンピューティング・デバイスと類似のオペレーティング・システムを有するなど）コンピューティング・デバイスである。特定の実施形態では、システムは、種々のコンピューティング・デバイスの１以上の特性に少なくとも部分的に基づいて、（たとえば、適切なプロファイルを実質的に自動的に決定し、そのプロファイルと１以上の特性を関連付け、関連付けられているプロファイルに、１以上の特性を有する任意のコンピューティング・デバイスを割り当てることによって、）少なくとも１つのプロファイルを確立するように構成される。種々の実施形態において、システムは、第１のコンピューティング・デバイスの１以上の特性に少なくとも部分的に基づいて、少なくとも１つのプロファイルを確立するように構成される。そして、システムは、種々の実施形態において、特定のプロファイルに関連付けられている１以上の特性をコンピューティング・デバイスが有すると決定したことに応答して、コンピューティング・デバイス（たとえば、１以上の第２のコンピューティング・デバイス）を特定のプロファイルに割り当てるように構成される。
【００４４】
特定の実施形態では、１以上の特性は、たとえば、第１のコンピューティング・デバイスの特定のハードウェア構成（たとえば、第１のコンピューティング・デバイスが備える特定のプロセッサ、第１のコンピューティング・デバイスが有するＲＡＭの数など）を含む。特定の実施形態では、種々のコンピューティング・デバイスにプロファイルを割り当てるためにシステムが使用し得る１以上の特性は、コンピューティング・デバイスのタイプを含む。たとえば、第１のコンピューティング・デバイスがスマートフォンである場合、システムはスマートフォンに対するプロファイルを確立し、第１のコンピューティング・デバイスがタブレット・コンピュータである場合、システムはタブレット・コンピュータに対するプロファイルを確立することなどができる。特定の実施形態では、１以上の特性は、コンピューティング・デバイスに記憶された特定のソフトウェアを含むことができる。たとえば、システムは、特定のソフトウェアを実行しているすべてのコンピューティング・デバイスに対してプロファイルを作成することができる。他の実施形態では、１以上の特性は、コンピューティング・デバイスのオペレーティング・システム（たとえば、Ｗｉｎｄｏｗｓ（登録商標）、ｉＯＳ、Ａｎｄｒｏｉｄ（登録商標）など）を含むことができる。
【００４５】
種々の実施形態において、１以上の特性は、コンピューティング・デバイスが位置する特定の地理的領域を含むことができる。特定の地理的領域は、コンピューティング・デバイスのＧＰＳ位置に少なくとも部分的に基づいて、または任意の他の適切な技法を用いて決定することができる。特定の実施形態では、コンピューティング・デバイスの地理的領域は、第１のコンピューティング・デバイスが接続されたネットワーク（たとえば、特定の無線ローカル・エリア・ネットワーク、特定のセルラー電話ネットワーク内の特定のセルラー・タワーに対する接続など）を含むことができる。コンピューティング・デバイスが、特定のセルラー電話ネットワークにおける特定のセルラー・タワーに対して接続されると、システムは、たとえば、同じ特定のセルラー・タワーに接続されたすべてのコンピューティング・デバイスに対してプロファイルを確立することができる。
【００４６】
種々の実施形態において、１以上の特性は、コンピューティング・デバイスに接続された特定の周辺デバイス（たとえば、プリンタ、特定のブランドの周辺デバイス、スキャナなど）を有することを含むことができる。システムは、たとえば、ＵＳＢを通じて接続された特定のモデルのプリンタを有するコンピューティング・デバイスに対するプロファイルを確立することができる。
【００４７】
特定のプロファイルは、複数の異なるデバイス特性を含んでもよい。たとえば、プロファイルは、特定の製造者（たとえば、Ａｐｐｌｅ（登録商標）、Ｓａｍｓｕｎｇ（登録商標）など）によって製造され、特定のモデル／タイプであり、かつ少なくとも特定の組合せのソフトウェア・アプリケーションを実行している、任意のコンピューティング・デバイスとして定義されてもよい。
【００４８】
特定の実施形態では、プロファイルを第１のコンピューティング・デバイスと共有する１以上の第２のコンピューティング・デバイスについての第２のシステム・イベント・データおよび第２の性能データを受信する前に、システムは、どのようなプロファイルが第１のコンピューティング・デバイスに関連付けられているか、および、１以上の第２のコンピューティング・デバイスのうち、それらのプロファイルに関連付けられている第２のコンピューティング・デバイスを決定するように構成されている。種々の実施形態において、システムは、第１のシステム・イベント・データ、第１の性能データ、第２のシステム・イベント・データ、および第２の性能データを含むデータベースにデータを投入するように構成される。このデータベースは、たとえば、システムの一部である任意のコンピューティング・デバイスのすべての関連データを含むことができる。次いで、システムは、特定のプロファイルに当てはまるコンピューティング・デバイスに関連付けられているデータを、その特定のプロファイルに割り当てる（またはたとえば、関連付ける）ことができる。次いで、システムは、集約されたプロファイルデータを使用して、そのプロファイルを共有するデバイスの平均性能を決定し、そのプロファイルを有する特定のデバイスと比較することができる。
【００４９】
たとえば、システムが１００個のスマートフォンからシステム・イベントおよび性能データを受信した場合、システムは、１００個のスマートフォンの各々のそうしたデータを記憶する。それら１００個のスマートフォンのうちの１０個がｉＰｈｏｎｅ（登録商標）５である場合、システムは、１０個のｉＰｈｏｎｅ５についてのデータのみを含むｉＰｈｏｎｅ５に対するプロファイルを作成することができる。次いで、システムは、ｉＰｈｏｎｅ５の平均性能を決定し、ｉＰｈｏｎｅ５のうちの１つのユーザへ、そのユーザのｉＰｈｏｎｅ５の実際の性能と共にその平均性能を表示することができる。システムは、すべてのスマートフォンを含む第２のプロファイルを作成することもできる。そのｉＰｈｏｎｅ５ユーザの性能を第２のプロファイルと比較したとき、システムは、１００個すべてのスマートフォンの平均性能を、そのｉＰｈｏｎｅ５ユーザの実際の性能と共に表示することができる。
【００５０】
特定の実施形態では、各特定のプロファイルの特性は、システムによって実質的に自動的に決定される。他の実施形態では、特定の特性を有するデバイス（たとえば、ユーザによって制御されるデバイスと特定の特性を共有するデバイス）についての平均性能を表示することを求めるユーザからの要求に少なくとも部分的に基づいて、プロファイルが確立される。種々の実施形態において、要求は、第１のコンピューティング・デバイスのユーザから発せられてよい。他の実施形態では、要求は、特定のプロファイルを有するコンピューティング・デバイスに関する問題を決定するための診断サービスに関連した人物から発せられてよい。
【００５１】
工程３４０に戻って、システムは続いて、１以上の第２のコンピューティング・デバイス（たとえば、特定のプロファイルを有する１以上の第２のコンピューティング・デバイス）についての平均システム性能を決定する。特定の実施形態では、システムは、特定のプロファイルの範囲内のすべてのデバイスについての平均性能を決定するように構成される。特定の実施形態では、決定された平均は、上述した性能メトリックの集約を含むことができる。他の実施形態では、決定された平均は、特定のプロファイルを共有するすべてのコンピューティング・デバイスについての性能データの特定部分の単純平均とすることができる。種々の実施形態において、システムは、特定のプロファイルを共有するすべてのコンピューティング・デバイスについての集約された（たとえば平均）性能を決定するように構成される。
【００５２】
システムは続いて、工程３５０で、第１のイベント・データ、第１の性能データ、および第２の性能データの平均を（たとえば、第１のコンピューティング・デバイスの表示画面上に情報を表示することによって）ユーザへ表示する。種々の実施形態において、ユーザは、第１のコンピューティング・デバイスのユーザ（たとえば、スマートフォンの所有者およびユーザ）である。他の実施形態では、ユーザは、第１のコンピューティング・デバイスの性能の問題を診断する技術者または他の人物である。特定の実施形態では、データを表示することは、たとえば、グラフ、チャート、または他の適切な形式で、ユーザへデータを表示することを備える。たとえば、特定の実施形態では、システムは、ｉＰｈｏｎｅ４ｓの所有者に対して、それらのデバイスの平均バッテリ寿命と共に、他のｉＰｈｏｎｅ４ｓユーザの平均バッテリ寿命を表示することができる。次いで、ユーザは、任意の適切な理由のために、たとえば、それらのバッテリ寿命が比較的短いか否かを決定するため、減少の原因を決定するため、および場合によってはバッテリ寿命を引き起こす何らかの問題を修正するために、そのデータを使用することができる。特定の実施形態では、そのデータにより、ユーザが、特定のコンピューティング・デバイスが不良部品を有する（たとえば、１以上の部品が熱疲労した可能性がある）ことを突き止めることが可能になる。そのような実施形態では、より良い性能データを有する第２のコンピューティング・デバイスに類似したイベント・データを有するコンピューティング・デバイス（たとえば、より良い性能で動作する類似したコンピューティング・デバイスと類似の様式で使用されるコンピューティング・デバイス）は、１以上の部品の交換を要することがある。
【００５３】
種々の実施形態において、システムは、データ（たとえば、性能情報および／またはシステム情報）に少なくとも部分的に基づいて技術者または第１のコンピューティング・デバイスのユーザがコンピューティング・デバイスの診断またはトラブルシューティングを行うことができるように構成される。たとえば、システムは、コンピューティング・デバイス性能情報の履歴およびある種のシステム情報を表示して、特定のイベント（たとえば、特定のソフトウェアのインストールなど）が性能の低下に寄与するか否かを技術者または他のユーザが決定することを可能にすることができる。
【００５４】
デバイスの自動診断
種々の実施形態において、システムは、性能に影響し得るコンピューティング・デバイスに関する問題を実質的に自動的に決定するように構成される。ユーザがそのＳａｍｓｕｎｇ  Ｇａｌａｘｙ  Ｓ４のバッテリ寿命の減少を経験する特定の例において、システムは、そのユーザによるアプリケーション使用状況を他のＧａｌａｘｙ  Ｓ４ユーザと比較して、そのユーザが使用する特定のソフトウェア・アプリケーションがより良好なバッテリ寿命を享受する他のユーザによって使用されていないと決定する場合がある。次いで、システムは、たとえば、問題となるアプリケーションを削除するようユーザに推奨する、またはそのアプリケーションの使用を制限するようユーザに推奨することによって、解決策をユーザに提示するように構成され得る。
【００５５】
例示的なユーザ体験
特定の実施形態では、ユーザは、ソフトウェア・アプリケーションを、ユーザのモバイル・コンピューティング・デバイス（たとえば、ユーザのスマートフォン）にインストールすることができる。ソフトウェア・アプリケーションが実行されている間、アプリケーションは、モバイル・コンピューティング・デバイスについて、タイムスタンプ付きシステム・イベント・データ（たとえば、本文献に記載の任意のシステム・イベント・データ）およびタイムスタンプ付きシステム性能データをログ記録することができる。データをログ記録するソフトウェア・アプリケーションは、モバイル・コンピューティング・デバイス上で実質的にバックグラウンドで実行することができる（たとえば、アプリケーションがデータをログ記録している間にアプリケーションはモバイル・デバイス上に全く表示されない、またはアプリケーションがデータをログ記録するときに他の形式でユーザに通知する）。ユーザが（たとえば、モバイル・コンピューティング・デバイスのバッテリを充電するために）モバイル・コンピューティング・デバイスをプラグ接続したとき、モバイル・コンピューティング・デバイスがＷｉ−Ｆｉに接続されていると、システムは、ログ記録されたタイムスタンプ付きデータを中央サーバ（たとえばクラウド・ストレージ・サーバ）に送信することができ、中央サーバ上で、システムは、複数のコンピューティング・デバイスについての類似したデータを記憶するように構成される。
【００５６】
種々の実施形態において、システムは、コンピューティング・デバイスについてのデータ（たとえば、中央サーバに記憶されたデータ）を、そのコンピューティング・デバイスの特性に基づいて、１以上のプロファイルに関連付けることができる。システムは、たとえば、スマートフォンの製造元およびモデルについてのプロファイルを含むユーザのスマートフォンに、プロファイルを割り当てることができる。次いで、システムは、そのプロファイル内のすべてのスマートフォンについてのデータを集約し、そのプロファイルを共有するデバイスの平均性能を決定することができる。
【００５７】
任意の適切な時点で、ユーザは、ユーザのモバイル・コンピューティング・デバイス上のソフトウェア・アプリケーションを開き、ユーザのスマートフォンについての性能データ、およびプロファイルをユーザのスマートフォンと共有する他のスマートフォンと比較してユーザのスマートフォンがどのような性能で動作するかに関する比較性能データを、表示するように要求することができる。種々の実施形態において、ユーザは、ユーザのデバイスの相対的性能を表示することを望む対象のプロファイルを選択または提供することができる。たとえば、ユーザは、デバイスのタイプに関わらず、特定のソフトウェア・アプリケーションがインストールされたすべてのデバイスに関する相対的性能データをシステムが表示するように要求することができる。次いで、システムは、その要求に応答して、複数のデバイスのうち、そのソフトウェア・アプリケーションをインストールしているデバイスを決定し、さらに、たとえば遠隔サーバに記憶されたデータに基づいて、それらの類似したデバイスについての平均性能データを決定し、ユーザへ表示することができる。特定の実施形態では、平均性能データは、複数の異なる性能カテゴリ（たとえば、処理速度、無線接続の強度、バッテリ寿命など）に分類され得る。
【００５８】
図４〜図９は、本明細書に記載のシステムの種々の機能を示す例示的画面表示である。これらの画面表示は、任意の適切なデバイス（たとえば、上述のシステム診断モジュール３００のコンテキストで説明された第１のコンピューティング・デバイス）上に表示されてよいことは理解されるであろう。
【００５９】
図４は、特定のコンピューティング・デバイスに関する情報４１０を表示する画面表示４００を示す。この図に示されるように、情報４１０は、特定のコンピューティング・デバイスの最後の再起動からの時間に関する情報（たとえば、１日）、およびシステム性能を向上するための推奨（たとえば、コンピューティング・デバイスを再起動すればシステム性能を改善することができるというアドバイス）を含む。情報４１０はさらに、最も新しくインストールされたアプリケーションに関する情報、音声およびデータ・ネットワークへの接続に関する情報、ならびにＷｉ−Ｆｉ接続情報を含む。最も新しくインストールされたアプリケーションに関係する情報４１０はまた、最新のインストールされたアプリケーションの他のユーザの平均月間データ使用状況を示す比較情報４１５を含む。この図から理解できるように、システムは、類似したデバイス（たとえば、同様に特定のアプリケーションをインストールされたデバイス）から受信された情報４１０を表示し、また、特定のコンピューティング・デバイスについての関係したシステム・イベント（たとえば、特定のアプリケーションのインストール）に関連して情報４１０を表示するように構成される。
【００６０】
図５は、現在および過去のバッテリ充電レベル５１０を表示する画面表示５００を示す。この図から理解できるように、システムは、経時的な過去のバッテリ・レベルに加えて現在のバッテリ・レベルを表示するように構成される。バッテリ使用状況は、種々の実施形態において、システムが経時的に追跡するように構成される多くの性能データのうちの１つである。図６は、別の実施形態によるバッテリ・レベル６１０に関連する情報を表示する画面表示６０を示す。この図に示されるように、システムはまた、この画面表示が表示されるデバイスについての平均バッテリ寿命を、他（たとえば、同じ製造元およびモデルのデバイスのような類似したデバイスを含む他のデバイス）の平均バッテリ寿命に対して比較する、比較バッテリ寿命情報６１５を示す。この図から理解できるように、データが表示されているこのユーザのデバイスは、フル充電における平均バッテリ寿命が比較的良好である（たとえば、１４時間７分に対して１６時間９分）。
【００６１】
図７は、特定のコンピューティング・デバイス（たとえば、ＤＲＯＩＤ  ＲＡＺＲ）についての最近の接続アクティビティ７１０を表示する表示画面７００を示す。図に示されるように、システムは、Ｗｉ−Ｆｉ信号強度の最近の変化、特定のＷｉ−Ｆｉネットワークに対する接続の最近の変化、モバイル・データ・ネットワークのオンおよびオフなどを表示する。この図から理解できるように、システムは、これらの接続イベントが発生するとそれらをログ記録し、それらを後でユーザへ表示するために記憶する。図８は、システムが表示するように構成され得るさらに他のシステム情報８１０を示す表示画面８００を示す。この図に示されるように、システム情報は、デバイスのモデル、デバイス上のオペレーティング・システム、クライアント・バージョン、ステータス、アクティブ化情報、デバイスの最新の再起動に関する情報などを含むことができる。システムは、バッテリ状態、バッテリ健全性、バッテリ充電技術、バッテリ充電時間、バッテリ・レベル、ならびにネットワークおよびストレージ情報などを表示するようにさらに構成される。種々の実施形態において、システムは、この情報を使用して、１以上の類似したコンピューティング・デバイス（たとえば、図８にシステム情報８１０として表示される１以上の特性を共有するコンピューティング・デバイス）を識別することができる。
【００６２】
図９は、特定のデバイス（たとえば、特定のＤＲＯＩＤ  ＲＡＺＲ）についてのアプリケーション情報９１０を表示する表示画面９００を示す。この図に示されるように、システムは、デバイスにインストールされた種々のアプリケーションに関して、各アプリケーションのデータ使用量、ＣＰＵ使用量、および種々のアプリケーションに関連する他の情報を表示のために追跡および記憶する。
【００６３】
結び
本発明の多くの修正形態および他の実施形態が、上記の説明および関連した図で提示された教示の利益を有する本発明に関する技術分野の当業者には想到されよう。したがって、本発明は、開示した特定の実施形態に限定されず、修正形態および他の実施形態は、添付の特許請求の範囲の範囲内に含まれることが意図されていることは理解されるであろう。本明細書では特定の用語が使用されているが、それらは一般的で記述的な意味でのみ使用されるものであり、制限することを目的としていない。
【図１】
2020126655.tif 000003
【図２】
2020126655.tif 000004
【図３】
2020126655.tif 000005
【図４】
2020126655.tif 000006
【図５】
2020126655.tif 000007
【図６】
2020126655.tif 000008
【図７】
2020126655.tif 000009
【図８】
2020126655.tif 000010
【図９】
2020126655.tif 000011