(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024056003
(43)【公開日】2024-04-19
(54)【発明の名称】コンピューティング・デバイスについてのシステム性能およびイベント・データを収集、追跡、および記憶するためのシステムおよび方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20240412BHJP
G06F 11/30 20060101ALI20240412BHJP
【FI】
G06F11/34 152
G06F11/30 140A
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024033819
(22)【出願日】2024-03-06
(62)【分割の表示】P 2021190217の分割
【原出願日】2014-09-12
(31)【優先権主張番号】14/026,965
(32)【優先日】2013-09-13
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514252832
【氏名又は名称】アシュラント インコーポレイテッド
【氏名又は名称原語表記】ASSURANT,INC.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ブルーワー、ダスティン
(72)【発明者】
【氏名】サンダース、スチュワート
(72)【発明者】
【氏名】ハースト、キャメロン
(57)【要約】
【課題】コンピューティングデバイスの性能をユーザが評価する方法を提供する。
【解決手段】第1デバイスの性能データ値を受信する工程と、他のデバイスの性能データを受信する工程と、他のデバイスの性能データを集約して、第1デバイスのイベントに類似するイベントの発生を経験した他のデバイスについての集約された性能データを生成する工程と、集約された性能データを使用して、第1デバイスと同じのプロファイルを有し、かつ、第1イベントに類似するイベントの発生を経験した他のデバイスの性能データの平均値を決定する工程と、性能データの平均値及び第1性能データ値の両方を表示画面上に表示する工程と、を行うための命令を記憶した媒体を提供する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1のモバイル・コンピューティング・デバイスに関連付けられた第1のデータセットを受信することと、
第1のプロファイルと第2のプロファイルとを含む、前記第1のモバイル・コンピューティング・デバイスに関連付けられた2つ以上のプロファイルを識別することと、
前記第1のプロファイルに関連付けられた第1の集約されたデータセットを生成することであって、前記第1の集約されたデータセットは、第1の複数のモバイル・コンピューティング・デバイスに関連付けられた第1のデータを含むことと、
前記第2のプロファイルに関連付けられた第2の集約されたデータセットを生成することであって、前記第2の集約されたデータセットは、第2の複数のモバイル・コンピューティング・デバイスに関連付けられた第2のデータを含んでおり、前記第1の複数のモバイル・コンピューティング・デバイスは、前記第2の複数のモバイル・コンピューティング・デバイスには含まれていない1つ以上のコンピューティング・デバイスを含むことと、
前記第1のモバイル・コンピューティング・デバイスにおける第1の選択を示す指示に応じて、前記第1のモバイル・コンピューティング・デバイスの画面上において第1のグラフィカル・ユーザ・インターフェースの表示を生じさせることであって、前記第1の選択は、前記第1のプロファイルに関連付けられており、前記第1のグラフィカル・ユーザ・インターフェースは、前記第1のデータセットのうちの少なくとも一部と前記第1の集約されたデータセットのうちの少なくとも一部とに基づいた表現を含み、前記第1のモバイル・コンピューティング・デバイスと前記第1の複数のモバイル・コンピューティング・デバイスとの比較を容易にすることと、
前記第1のモバイル・コンピューティング・デバイスにおける第2の選択を示す指示に応じて、前記第1のモバイル・コンピューティング・デバイスの前記画面上において第2のグラフィカル・ユーザ・インターフェースの表示を生じさせることであって、前記第2の選択は、前記第2のプロファイルに関連付けられており、前記第2のグラフィカル・ユーザ・インターフェースは、前記第1のデータセットのうちの少なくとも一部と前記第2の集約されたデータセットのうちの少なくとも一部とに基づいた表現を含み、前記第1のモバイル・コンピューティング・デバイスと前記第2の複数のモバイル・コンピューティング・デバイスとの比較を容易にすることと、を含む、
コンピュータ実装方法。
【請求項2】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスの性能データを含む、
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスの性能データとイベント・データとを含む、
請求項1に記載のコンピュータ実装方法。
【請求項4】
前記第1のプロファイルは、前記第2のプロファイルとは異なる1つ以上のデバイス特性に基づいて確立される、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスの平均バッテリ性能を含み、前記第1の集約されたデータセットは、前記第1の複数のモバイル・コンピューティング・デバイスの平均バッテリ性能を含み、前記第1の複数のモバイル・コンピューティング・デバイスの前記平均バッテリ性能との比較を可能とする、
請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のデータセットのうちの少なくとも一部と前記第1の集約されたデータセットのうちの少なくとも一部とに基づいた前記表現は、前記第1の集約されたデータセットの平均を含む、
請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第1のグラフィカル・ユーザ・インターフェースは、前記画面のうちの第1の部分を含み、前記第2のグラフィカル・ユーザ・インターフェースは、前記画面の前記第1の部分と同時に表示される、前記画面のうちの第2の部分を含む、
請求項1に記載のコンピュータ実装方法。
【請求項8】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスが経験する第1のシステム・イベントの発生に関連付けられた性能データに対応し、前記第1の集約されたデータセットは、前記第1の複数のモバイル・コンピューティング・デバイスが経験する第2のシステム・イベントの発生に関連付けられた性能データに対応し、前記第2のシステム・イベントは、前記第1のシステム・イベントと等価であるか実質的に同一であると判定されている、
請求項1に記載のコンピュータ実装方法。
【請求項9】
前記第1のシステム・イベントおよび前記第2のシステム・イベントは、前記第1のモバイル・コンピューティング・デバイスおよび前記第1の複数のモバイル・コンピューティング・デバイスそれぞれにおけるアプリケーションのインストールを含む、
請求項8に記載のコンピュータ実装方法。
【請求項10】
前記第1のシステム・イベントの前記発生に応じて、前記第1のモバイル・コンピューティング・デバイスにおけるデータ収集をトリガーすることと、前記第2のシステム・イベントの前記発生に応じて、前記第1の複数のモバイル・コンピューティング・デバイスにおけるデータ収集をトリガーすることと、をさらに含む、
請求項8に記載のコンピュータ実装方法。
【請求項11】
前記第1の複数のモバイル・コンピューティング・デバイスは、前記第2の複数のモバイル・コンピューティング・デバイスに含まれる1つ以上のモバイル・コンピューティング・デバイスを含んでいる、
請求項1に記載のコンピュータ実装方法。
【請求項12】
前記第1のモバイル・コンピューティング・デバイスを前記第1の複数のモバイル・コンピューティング・デバイスまたは前記第2の複数のモバイル・コンピューティング・デバイスと比較することに少なくとも基づいて判定される、前記第1のモバイル・コンピューティング・デバイスの性能問題に応じて、前記第1のモバイル・コンピューティング・デバイス上の不良を解決することをさらに含む、
請求項1に記載のコンピュータ実装方法。
【請求項13】
1つ以上のプロセッサと、コンピュータコード化された命令が記憶された1つ以上のメモリとを備えるシステムであって、前記コンピュータコード化された命令は、前記1つ以上のプロセッサで実行されると、
第1のモバイル・コンピューティング・デバイスに関連付けられた第1のデータセットを受信することと、
第1のプロファイルと第2のプロファイルとを含む、前記第1のモバイル・コンピューティング・デバイスに関連付けられた2つ以上のプロファイルを識別することと、
前記第1のプロファイルに関連付けられた第1の集約されたデータセットを生成することであって、前記第1の集約されたデータセットは、第1の複数のモバイル・コンピューティング・デバイスに関連付けられた第1のデータを含むことと、
前記第2のプロファイルに関連付けられた第2の集約されたデータセットを生成することであって、前記第2の集約されたデータセットは、第2の複数のモバイル・コンピューティング・デバイスに関連付けられた第2のデータを含んでおり、前記第1の複数のモバイル・コンピューティング・デバイスは、前記第2の複数のモバイル・コンピューティング・デバイスには含まれていない1つ以上のコンピューティング・デバイスを含むことと、
前記第1のモバイル・コンピューティング・デバイスにおける第1の選択を示す指示に応じて、前記第1のモバイル・コンピューティング・デバイスの画面上において第1のグラフィカル・ユーザ・インターフェースの表示を生じさせることであって、前記第1の選択は、前記第1のプロファイルに関連付けられており、前記第1のグラフィカル・ユーザ・インターフェースは、前記第1のデータセットのうちの少なくとも一部と前記第1の集約されたデータセットのうちの少なくとも一部とに基づいた表現を含み、前記第1のモバイル・コンピューティング・デバイスと前記第1の複数のモバイル・コンピューティング・デバイスとの比較を容易にすることと、
前記第1のモバイル・コンピューティング・デバイスにおける第2の選択を示す指示に応じて、前記第1のモバイル・コンピューティング・デバイスの前記画面上において第2のグラフィカル・ユーザ・インターフェースの表示を生じさせることであって、前記第2の選択は、前記第2のプロファイルに関連付けられており、前記第2のグラフィカル・ユーザ・インターフェースは、前記第1のデータセットのうちの少なくとも一部と前記第2の集約されたデータセットのうちの少なくとも一部とに基づいた表現を含み、前記第1のモバイル・コンピューティング・デバイスと前記第2の複数のモバイル・コンピューティング・デバイスとの比較を容易にすることと、を行うように前記システムを構成する、
システム。
【請求項14】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスの性能データを含む、
請求項13に記載のシステム。
【請求項15】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスの性能データとイベント・データとを含む、
請求項13に記載のシステム。
【請求項16】
前記第1のプロファイルは、前記第2のプロファイルとは異なる1つ以上のデバイス特性に基づいて確立される、
請求項13に記載のシステム。
【請求項17】
前記第1のデータセットは、前記第1のモバイル・コンピューティング・デバイスの平均バッテリ性能を含み、前記第1の集約されたデータセットは、前記第1の複数のモバイル・コンピューティング・デバイスの平均バッテリ性能を含み、前記第1の複数のモバイル・コンピューティング・デバイスの前記平均バッテリ性能との比較を可能とする、
請求項13に記載のシステム。
【請求項18】
前記第1のデータセットのうちの少なくとも一部と前記第1の集約されたデータセットのうちの少なくとも一部とに基づいた前記表現は、前記第1の集約されたデータセットの平均を含む、
請求項13に記載のシステム。
【請求項19】
前記第1のグラフィカル・ユーザ・インターフェースは、前記画面のうちの第1の部分を含み、前記第2のグラフィカル・ユーザ・インターフェースは、前記画面の前記第1の部分と同時に表示される、前記画面のうちの第2の部分を含む、
請求項13に記載のシステム。
【請求項20】
コンピュータコード化された命令を記憶した1つ以上の非一時的なコンピュータ可読媒体であって、前記コンピュータコード化された命令は、1つ以上のプロセッサによって実行されると、
第1のモバイル・コンピューティング・デバイスに関連付けられた第1のデータセットを受信することと、
第1のプロファイルと第2のプロファイルとを含む、前記第1のモバイル・コンピューティング・デバイスに関連付けられた2つ以上のプロファイルを識別することと、
前記第1のプロファイルに関連付けられた第1の集約されたデータセットを生成することであって、前記第1の集約されたデータセットは、第1の複数のモバイル・コンピューティング・デバイスに関連付けられた第1のデータを含むことと、
前記第2のプロファイルに関連付けられた第2の集約されたデータセットを生成することであって、前記第2の集約されたデータセットは、第2の複数のモバイル・コンピューティング・デバイスに関連付けられた第2のデータを含んでおり、前記第1の複数のモバイル・コンピューティング・デバイスは、前記第2の複数のモバイル・コンピューティング・デバイスには含まれていない1つ以上のコンピューティング・デバイスを含むことと、
前記第1のモバイル・コンピューティング・デバイスにおける第1の選択を示す指示に応じて、前記第1のモバイル・コンピューティング・デバイスの画面上において第1のグラフィカル・ユーザ・インターフェースの表示を生じさせることであって、前記第1の選択は、前記第1のプロファイルに関連付けられており、前記第1のグラフィカル・ユーザ・インターフェースは、前記第1のデータセットのうちの少なくとも一部と前記第1の集約されたデータセットのうちの少なくとも一部とに基づいた表現を含み、前記第1のモバイル・コンピューティング・デバイスと前記第1の複数のモバイル・コンピューティング・デバイスとの比較を容易にすることと、
前記第1のモバイル・コンピューティング・デバイスにおける第2の選択を示す指示に応じて、前記第1のモバイル・コンピューティング・デバイスの前記画面上において第2のグラフィカル・ユーザ・インターフェースの表示を生じさせることであって、前記第2の選択は、前記第2のプロファイルに関連付けられており、前記第2のグラフィカル・ユーザ・インターフェースは、前記第1のデータセットのうちの少なくとも一部と前記第2の集約されたデータセットのうちの少なくとも一部とに基づいた表現を含み、前記第1のモバイル・コンピューティング・デバイスと前記第2の複数のモバイル・コンピューティング・デバイスとの比較を容易にすることと、を行うように構成されている、
1つ以上の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピューティング・デバイスについてのシステム性能およびイベント・データを収集、追跡、および記憶するためのシステムおよび方法に関する。
【背景技術】
【0002】
コンピュータの問題を診断するときに、技術者などは、コンピューティング・デバイスに関する情報をその現在の状態で確認できるにすぎない場合がある。このため、デバイスが本当に基準以下の状態で動作しているか、またその場合に何が基準以下の性能を引き起こしているかを決定することが難しくなり得る。
【発明の概要】
【発明が解決しようとする課題】
【0003】
したがって、コンピューティング・デバイスの性能をユーザが評価および/または改善するのを支援するための、改善されたシステムおよび方法が必要とされている。
【課題を解決するための手段】
【0004】
(A)経時的に取られた、複数のコンピューティング・デバイスの各々に関連付けられているタイムスタンプ付き性能データを、メモリに記憶し、(B)経時的に取られた、複数のコンピューティング・デバイスの各々に関連付けられているタイムスタンプ付きイベント・データを、メモリに記憶し、(C)少なくともタイムスタンプ付き性能データおよび/またはイベント・データを使用して、複数のコンピューティング・デバイスのうちの第1のコンピューティング・デバイスに関連付けられている個人に対して、第1のコンピューティング・デバイスの性能と、第1のコンピューティング・デバイスに類似した複数のコンピューティング・デバイスのうちの他のコンピューティング・デバイスの代表的な性能との比較を提供するためのコンピュータ実行形式の命令を記憶した非一時的コンピュータ可読媒体。この比較は、たとえば、経時的に取られた、コンピューティング・デバイスのうちの1以上についての性能および/またはイベント・データを表示する情報(または、複数のコンピューティング・デバイスについての集約された情報)の長尺表示の形態であってよい。
【0005】
種々の実施形態による非一時的コンピュータ可読媒体は、(A)1以上の特性を備えるデバイス・プロファイルを有する第1のコンピューティング・デバイスについての第1のシステム・イベント・データを受信し、(B)第1のコンピューティング・デバイスについての第1の性能データを受信し、(C)デバイス・プロファイルを有する少なくとも1つの第2のコンピューティング・デバイスについての第2のシステム・イベント・データを受信し、(D)少なくとも1つの第2のコンピューティング・デバイスについての第2の性能データを受信し、(E)第1のシステム・イベント・データ、第1の性能データ、第2のシステム・イベント・データ、および第2の性能データをユーザが比較することを可能にするためのコンピュータ実行形式の命令を記憶する。
【0006】
特定の実施形態によるコンピュータ・システムは、少なくとも1つのプロセッサを備える。種々の実施形態において、コンピュータ・システムは、(A)第1のモバイル・コンピューティング・デバイスに関連付けられている第1のデータを受信する工程であって、第1のデータは、第1の性能データおよび少なくとも1つの第1のシステム・イベントを含み、第1のモバイル・コンピューティング・デバイスは、少なくとも1つのモバイル・デバイス特性を含む、受信する工程と、(B)1以上の第2のモバイル・コンピューティング・デバイスに関連付けられている第2のデータを受信する工程であって、第2のデータは、1以上の第2のモバイル・コンピューティング・デバイスの各々についての第2の性能データおよび少なくとも1つの第2のシステム・イベントを含む、受信する工程と、(C)少なくとも1つのプロファイルを確立する工程であって、少なくとも1つのプロファイルは、少なくとも1つのモバイル・デバイス特性に関連付けられている、確立する工程と、(D)1以上の第2のコンピューティング・デバイスのうちの、少なくとも1つのモバイル・デバイス特性を有する第2のコンピューティング・デバイスを決定する工程と、(E)1以上の第2のコンピューティング・デバイスが少なくとも1つのモバイル・デバイス特性を有すると決定することに少なくとも部分的に応答して、1以上の第2のコンピューティング・デバイスをプロファイルに割り当てる工程と、(F)第1のコンピューティング・デバイスが少なくとも1つのモバイル・デバイス特性を有するか否かを決定する工程と、(G)第1のデータ、およびプロファイルに割り当てられた1以上の第2のコンピューティング・デバイスの第2のデータを、第1のモバイル・デバイスのユーザへ表示する工程と、を行うように構成される。
【0007】
種々の実施形態によるコンピュータ実装方法は、プロセッサによって、複数のコンピューティング・デバイスについてのシステム・イベント・データおよびシステム性能データを受信することを含む。特定の実施形態では、複数のコンピューティング・デバイスは、第1のシステム・イベント・データおよび第1のシステム性能データに関連付けられている第1のコンピューティング・デバイスを含み、複数のコンピューティング・デバイスの1以上の特性に少なくとも基づいて、少なくとも1つのプロファイルを共有する。種々の実施形態において、コンピュータ実装方法は、プロセッサによって、システム・イベント・データおよびシステム性能データに少なくとも部分的に基づいて、複数のコンピューティング・デバイスについての平均性能メトリックを決定する工程と、プロセッサによって、第1のシステム・イベント・データおよび第1のシステム性能データに少なくとも部分的に基づいて、第1のコンピューティング・デバイスについての第1の性能メトリックを決定する工程と、プロセッサによって、平均性能メトリックおよび第1の性能メトリックを、第1のコンピューティング・デバイスのユーザへ表示する工程と、をさらに含む。
【0008】
コンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶するためのシステムおよび方法の種々の実施形態を、以下に説明する。この説明の過程で添付の図面を参照する。図面は必ずしも原寸通りではない。
【図面の簡単な説明】
【0009】
【
図1】本システムの実施形態による、コンピューティング・デバイス診断システムのブロック図。
【
図2】種々の実施形態における使用に適した、
図1のシステム情報サーバなどのコンピュータの概略図。
【
図3】たとえば
図1のシステム情報サーバによって実行され得る、システム診断モジュールによって実行される種々の工程を概略的に示すフローチャート。
【
図4】一実施形態によるシステムの例示的画面表示を示す図。
【
図5】一実施形態によるシステムの例示的画面表示を示す図。
【
図6】一実施形態によるシステムの例示的画面表示を示す図。
【
図7】一実施形態によるシステムの例示的画面表示を示す図。
【
図8】一実施形態によるシステムの例示的画面表示を示す図。
【
図9】一実施形態によるシステムの例示的画面表示を示す図。
【発明を実施するための形態】
【0010】
次に、種々の実施形態を添付の図面を参照して以下により完全に説明する。本発明は、多くの異なる形態で具体化されることが可能であり、本明細書に記載された実施形態に限定されると解釈すべきでないことを理解されたい。そうではなく、これらの実施形態は、本開示が徹底され完全であり、本発明の範囲を当業者に十分に伝えるように与えられる。同様の番号は、全体を通して同様の要素を参照する。
【0011】
概要
種々の実施形態において、コンピューティング・デバイス(たとえば、デスクトップ・コンピュータ、タブレット・コンピュータなどのモバイル・コンピューティング・デバイス、スマートフォンなど)についての性能およびシステム情報を収集、追跡、および記憶するためのシステムおよび方法が、1以上のコンピューティング・デバイス(たとえば、1以上の類似したコンピューティング・デバイス)、特にモバイル・コンピューティング・デバイスについてのシステムおよび性能情報を記憶するように構成される。種々の実施形態において、コンピューティング・デバイス性能情報は、コンピューティング・デバイスについての任意の適切な性能情報、たとえば、バッテリ使用状況(battery usage)、プロセッサ・リソース使用状況などを含む。コンピューティング・デバイス・システム情報は、任意の適切なシステム情報(たとえばイベント情報)、たとえば、(1)信号レベル変化(たとえば、無線ネットワークへの接続における信号強度の変化)、(2)新しくインストールされたソフトウェアに関する情報、(3)コンピューティング・デバイスに対して接続または切断された周辺デバイス(たとえば、コンピューティング・デバイスに関連付けられているUSB、FireWire(登録商標)、または他の適切なポートを通じたプリンタ、スキャナ、スマートフォンなど)のログ、(4)どのようなコンピュータ・ネットワークに対してコンピューティング・デバイスが接続および/または切断したかに関する情報、(5)コンピューティング・デバイスを通じて訪問された任意のウェブサイトなどを含み得る。
【0012】
種々の実施形態において、システムは、実質的に一定の間隔(たとえば、毎日、毎週、毎時、または任意の他の適切な間隔)で、この情報を収集および記憶する。他の実施形態では、システムは、イベントが発生すると実質的に自動的にデータを収集するように構成される。たとえば、スマートフォンの場合、システムは、スマートフォン上の新しいソフトウェア・アプリケーションのインストールに関連するシステム・イベントに関する情報を収集することができる。この例でのシステム・イベント・データは、たとえば、ソフトウェア・アプリケーションの発行元、ソフトウェア・アプリケーションのバージョン、またはソフトウェア・アプリケーションに関連する任意の他の情報を含み得る。種々の実施形態において、収集された情報は、コンピューティング・デバイスの性能およびシステム情報の長尺ビュー(たとえば、経時的な性能およびシステム情報のスナップショットまたは他の表現)を提供するために使用される。
【0013】
特定の実施形態では、システムは、収集された情報を後で取り出すために、たとえば、クラウド・ストレージ・サーバまたは他のサーバに記憶および送信するように構成される。システムは、実質的に一定の間隔で、または所定のイベントに応答して、たとえばデバイスがアイドル状態で充電していると決定したことに応答して、または任意の他の適切な時刻で、情報を送信するように構成され得る。
【0014】
システムは、種々の実施形態において、この情報を、特定のコンピューティング・デバイスの性能の問題のトラブルシューティングを行っているユーザに提供するように構成される。特定の実施形態では、システムは、トラブルシューティングが行われている特定のコンピューティング・デバイスのみについて、この情報を提供する。他の実施形態では、システムは、トラブルシューティングが行われているコンピュータに関するこの情報だけでなく、問題のコンピューティング・デバイスに類似したコンピューティング・デバイスに関連付けられている情報(たとえば、集約された情報)を提供するように構成される。これらの類似したコンピューティング・デバイスは、たとえば、(1)類似したデバイス製造者およびモデル、(2)類似したハードウェア構成(たとえば、類似したプロセッサ、類似したRAM量など)を有するデバイス、(3)類似したタイプのコンピューティング・デバイス(たとえば他のタブレット・コンピュータ、他のスマートフォンなど)、(4)類似した地理的領域に位置するコンピューティング・デバイス、(5)類似したソフトウェアを実行しているコンピューティング・デバイス、(6)類似したまたは同じネットワーク(たとえば、特定のローカル・エリア・ネットワーク、セルラー電話ネットワークなど)を通じて接続されたコンピューティング・デバイス、(7)類似した接続された周辺機器を有するコンピューティング・デバイス、(8)類似したオペレーティング・システムを実行しているコンピューティング・デバイス、ならびに/または(9)任意の他の適切な類似したコンピューティング・デバイスを含み得る。種々の実施形態において、類似した他のデバイスの性能(たとえば、類似したデバイスの平均性能)に対するデバイス性能の比較は、システムが、(たとえば、所定のベースライン性能メトリックとの比較とは対照的に、)類似したデバイスの実際の性能に対する特定のデバイスの相対的性能を提供することを可能にする。
【0015】
種々の実施形態において、システムは、情報(たとえば、性能情報および/またはシステム情報)に少なくとも部分的に基づいて技術者がコンピューティング・デバイスの診断またはトラブルシューティングを行うことができるように構成される。たとえば、システムは、どの特定のイベント(たとえば、特定のソフトウェアのインストールなど)がデバイス性能の低下を引き起こした可能性があるかを技術者または他のユーザが決定することを可能にするために使用され得る、コンピューティング・デバイス性能情報の履歴およびシステム情報を表示することができる。他の実施形態では、システムは、性能およびシステム情報に少なくとも部分的に基づいて、実質的に自動的にコンピューティング・デバイスの診断またはトラブルシューティングが行われるように構成される。種々の実施形態において、そうした情報は、コンピューティング・デバイスが悪意のあるソフトウェア(たとえば、ウィルス、スパイウェア、アドウェアなど)に感染されていること、コンピューティング・デバイスがデフラグされる必要があること、コンピューティング・デバイスが熱疲労にさらされていること、またはコンピューティング・デバイスのプロセッサまたはバッテリが他の当てはまるハードウェア障害にさらされていることを明らかにすることが可能である。種々の実施形態において、システムは、そうした情報に基づいて診断された任意の問題を実質的に自動的に修正するように構成される。
【0016】
例示的な技術基盤
当業者には理解されるように、本発明は、たとえば、コンピュータ・システム、方法、またはコンピュータ・プログラム製品として具体化され得る。したがって、種々の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態を取ることがある。さらに、特定の実施形態は、コンピュータ可読記憶媒体に具体化されるコンピュータ可読命令(たとえばソフトウェア)を有するコンピュータ可読記憶媒体に記憶されたコンピュータ・プログラム製品の形態を取ることがある。種々の実施形態は、ウェブに実装されたコンピュータ・ソフトウェアの形態を取ることもある。たとえば、ハード・ディスク、コンパクト・ディスク、DVD、光ストレージ・デバイス、および/または磁気ストレージ・デバイスを含む、任意の適切なコンピュータ可読記憶媒体が利用されてよい。
【0017】
方法、装置(たとえばシステム)およびコンピュータ・プログム製品のブロック図およびフローチャート図を参照して、種々の実施形態を以下で説明する。ブロック図およびフローチャート図の各ブロック、ならびにブロック図およびフローチャート図のブロックの組合せはそれぞれ、コンピュータ・プログラム命令を実行するコンピュータによって実装することができることを理解されたい。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置上にロードされて、そのコンピュータまたは他のプログラマブル・データ処理装置上で実行する命令が、1以上のフローチャート・ブロックに指定された機能を実装するための手段を作成するように、マシンを形成することができる。
【0018】
これらのコンピュータ・プログラム命令はまた、コンピュータまたは他のプログラマブル・データ処理装置に特定の様式で機能するように指示できるコンピュータ可読メモリに記憶されて、コンピュータ可読メモリに記憶された命令が、1以上のフローチャート・ブロックに指定された機能を実装するように構成された製造品を形成するようにすることができる。コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラマブル・データ処理装置にロードされて、一連の動作工程がコンピュータまたは他のプログラマブル装置上で実施されるようにし、コンピュータまたは他のプログラマブル装置上で実行する命令が、1以上のフローチャート・ブロックに指定された機能を実装するための工程を提供するように、コンピュータ実装方法を形成することができる。
【0019】
したがって、ブロック図およびフローチャート図のブロックは、指定された機能を実施するための機構の組合せ、指定された機能を実施するための工程の組合せ、および指定された機能を実施するためのプログラム命令をサポートする。また、ブロック図およびフローチャート図の各ブロック、ならびにブロック図およびフローチャート図のブロックの組合せは、指定された機能または工程を実施する専用ハードウェアベースのコンピュータ・システム、または適切なコンピュータ命令を実行する専用ハードウェアおよび他のハードウェアの組合せによって実装され得ることを理解されたい。
【0020】
例示的なシステム・アーキテクチャ
図1は、特定の実施形態によるシステム110のブロック図である。この図から理解できるように、システム110は、1以上のコンピュータ・ネットワーク115と、システム情報サーバ100と、データベース140と、1以上の遠隔コンピューティング・デバイス、たとえば、モバイル・コンピューティング・デバイス156(たとえば、スマートフォン、タブレット・コンピュータ、ウェアラブル・コンピューティング・デバイス、ラップトップコンピュータなど)またはデスクトップ・コンピュータ154と、を含む。特定の実施形態では、1以上のコンピュータ・ネットワークは、システム情報サーバ100、データベース140、および1以上の遠隔コンピューティング・デバイス152、154の間の通信を促進する。
【0021】
1以上のコンピュータ・ネットワーク115は、インターネット、専用イントラネット、メッシュ・ネットワーク、公衆交換電話網(PSTN)、または任意の他のタイプのネットワーク(たとえば、コンピュータ間の通信を促進するためにBluetooth(登録商標)もしくは近距離無線通信を使用するネットワーク)など、任意の様々なタイプの有線または無線コンピュータ・ネットワークを含み得る。システム情報サーバ100とデータベース140との間の通信リンクは、たとえば、ローカル・エリア・ネットワーク(LAN)またはインターネットを通じて実装することができる。
【0022】
図2は、たとえば、クライアント・コンピュータ(たとえば、
図1に示されるクライアント・コンピュータ152、154のうちの1つ)として、またはサーバ・コンピュータ(たとえば、
図1に示されるシステム情報サーバ100)として、システム110内で使用できるコンピュータ・アーキテクチャ120の概略図を示す。特定の実施形態では、コンピュータ120は、コンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶するように構成されたシステム110のコンテキストにおいてコンピュータとして使用するのに適することが可能である。
【0023】
特定の実施形態では、コンピュータ120は、LAN、イントラネット、エクストラネット、および/またはインターネットにおける他のコンピュータに接続(たとえばネットワーク接続)される。上述のように、コンピュータ120は、クライアント/サーバ・ネットワーク環境におけるサーバまたはクライアント・コンピュータとして適格なものとして、またはピアツーピア(もしくは分散)ネットワーク環境におけるピア・コンピュータとして動作することができる。コンピュータ120は、デスクトップ・パーソナル・コンピュータ(PC)、タブレットPC、セットトップ・ボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブ・アプライアンス、サーバ、ネットワーク・ルータ、スイッチまたはブリッジ、あるいは、そのコンピュータによって行われる動作を指定する(シーケンスまたは他の)命令のセットを実行できる任意の他のコンピュータとすることができる。また、単一のコンピュータのみが示されているが、用語「コンピュータ」は、本明細書に論じられる方法の任意の1以上を実施するために命令の1セット(または複数のセット)を個別または一緒に実行するコンピュータの任意の集合を含むと解釈されるものとする。
【0024】
例示的なコンピュータ120は、処理デバイス202、メイン・メモリ204(たとえば、読出し専用メモリ(ROM)、フラッシュ・メモリ、同期型DRAM(SDRAM)またはラムバスDRAM(RDRAM)などのダイナミック・ランダム・アクセス・メモリ(DRAM))、スタティック・メモリ206(たとえば、フラッシュ・メモリ、スタティック・ランダム・アクセス・メモリ(SRAM)など)、およびデータ・ストレージ・デバイス218を含み、それらはバス232を通じて互いに通信する。
【0025】
処理デバイス202は、マイクロプロセッサまたは中央処理装置などの1以上の汎用処理デバイスを表す。より具体的には、処理デバイス202は、複合命令セット・コンピューティング(CISC)マイクロプロセッサ、縮小命令セット・コンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、あるいは他の命令セットを実装するプロセッサまたは命令セットの組合せを実装するプロセッサであってよい。処理デバイス202はまた、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタル・シグナル・プロセッサ(DSP)、またはネットワークプロセッサなどの1以上の専用処理デバイスであってもよい。処理デバイス202は、本明細書に論じられる種々の動作および工程を実施するための処理ロジック226を実行するように構成され得る。
【0026】
コンピュータ120は、ネットワーク・インターフェース・デバイス208をさらに含むことができる。コンピュータ120はまた、映像ディスプレイ装置210(たとえば、液晶ディスプレイ(LCD)または陰極線管(CRT))、英数字入力デバイス212(たとえばキーボード)、カーソル制御デバイス214(たとえばマウス)、および信号生成デバイス216(たとえばスピーカ)を含むこともできる。
【0027】
データ・ストレージ・デバイス218は、本明細書に論じられる方法または機能のうちの任意の1以上を具体化する1以上のセットの命令(たとえばソフトウェア222)が記憶される(非一時的コンピュータ可読記憶媒体または非一時的コンピュータ可読媒体としても知られる)非一時的コンピュータ・アクセス可能記憶媒体230を含むことができる。ソフトウェア222はまた、コンピュータ120によるその実行中に、完全にまたは少なくとも部分的にメイン・メモリ204内および/または処理デバイス202内に存在してよく、メイン・メモリ204および処理デバイス202もまた、コンピュータ・アクセス可能記憶媒体を構成する。ソフトウェア222はさらに、ネットワーク・インターフェース・デバイス208を経由してネットワーク115を通じて送信または受信されてもよい。
【0028】
コンピュータ・アクセス可能記憶媒体230は例示的な実施形態では単一の媒体として示されているが、用語「コンピュータ・アクセス可能記憶媒体」は、1以上のセットの命令を記憶する単一の媒体または複数の媒体(たとえば、集中もしくは分散データベース、ならびに/または関連したキャッシュおよびサーバ)を含むものと理解されるべきである。用語「コンピュータ・アクセス可能記憶媒体」はまた、コンピュータにより実行するための命令のセットを記憶、符号化、または搬送することができ、本発明の方法のうちの任意の1以上をコンピュータに実施させる、任意の媒体を含むものと理解されるべきである。したがって、用語「コンピュータ・アクセス可能記憶媒体」は、固体メモリ、光媒体および磁気媒体などを含むがそれらに限定されないと理解されるべきである。
【0029】
例示的なシステム基盤
コンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶するためのシステムおよび方法の種々の実施形態が、任意の適切なシステム情報サービスのコンテキスト内で実装され得る。特定の実施形態では、システムは、たとえば、コンピューティング・デバイスが適切に機能している、または交換を必要とし得ることを保証するために、コンピューティング・デバイスに保険を掛けるサービスなどの保険サービスの一部として、実装することができる。特定の実施形態では、システムは、(たとえば、顧客が保険サービスを通して保険を掛けたコンピューティング・デバイスと共に使用するために、)コンピューティング・デバイスを保険サービスの顧客に対して保証する保険会社によって提供されてよい。システムの機能の様々な態様は、たとえばモバイル・コンピューティング・デバイス(たとえばセルラー電話もしくはタブレット・コンピュータ)または他のコンピューティング・デバイスによって実行され得る、システム診断モジュール300を含む、いくつかのシステム・モジュールによって実行され得る。このモジュールについては以下でより詳細に論じる。
【0030】
システム診断モジュール
図3は、例示的なシステム診断モジュール300によって実行される動作のフローチャートである。特定の実施形態では、システム診断モジュール300は、少なくとも1つのコンピューティング・デバイスについての性能およびシステム情報を収集、追跡、および記憶することを促進し、コンピューティング・デバイスに関する性能問題を診断する目的で、かつ/またはデバイスの過去の性能に対するもしくは他の類似したデバイスの性能に対するデバイスの現在の性能をモニタする目的で、この情報を技術者または他のユーザに提供することができる。種々の実施形態において、システム診断モジュール300は、コンピューティング・デバイス(たとえば、モバイル・コンピューティング・デバイス)にローカルに記憶されたソフトウェア・アプリケーションの一部として実行される。
【0031】
システム診断モジュール300を実行すると、システムは、工程310で、第1のコンピューティング・デバイスについての第1のシステム・イベント・データを受信することにより開始する。特定の実施形態では、システム・イベント・データは、たとえば、1以上のイベントが発生した時刻(たとえば日時)に関連付けられ得る、1以上のシステム・イベントを含み得る。一般的な例では、システム・イベント・データは、第1の時刻で発生した第1のイベントおよび第2の時刻で発生した第2のイベントなどに関するタイムスタンプ付きデータを含むことができる。種々の実施形態において、1以上のイベントは、(たとえば、イベントのタイプなどによって)少なくともいくらか関連し得る。特定の実施形態では、システム・イベント・データは、経時的に本質的にリアルタイムで生成されるシステム・イベントのログを含むことができる。
【0032】
種々の実施形態において、システム・イベント・データは、第1のコンピューティング・デバイスと1以上のネットワーク(たとえば、無線ローカル・エリア・ネットワーク、セルラー電話ネットワークなど)との間の接続についての信号レベルの変化を含む。システム・イベントは、第1のコンピューティング・デバイス(たとえば、スマートフォン)と特定のセルラー電話ネットワーク(たとえば、Verizon(登録商標)、at&t(登録商標)、Sprint(登録商標)など)との間の接続についての2つのバーから3つのバーへの信号レベルの変化を含むことができる。他の実施形態では、システム・イベント・データは、第1のコンピューティング・デバイスと1以上のネットワークとの間の任意の他の適切な信号強度の変化(たとえば、弱い信号から強い信号への変化など)を含むことができる。
【0033】
他の実施形態では、システム・イベント・データは、特定のネットワーク(たとえば無線ネットワーク)に対する接続または切断を含む。たとえば、第1のコンピューティング・デバイスがスマートフォンである場合、システムは、第1のコンピューティング・デバイスが新しい無線ローカル・エリア・ネットワークに接続した時刻に関連付けられている情報を含む、システム・イベント・データを受信することができる。特定のネットワークとの接続および/または切断に関連付けられているシステム・イベント・データはさらに、たとえば、(1)ネットワークのセキュリティ機能(たとえば、ネットワークが、WEP、WPA、WPA2などのような無線セキュリティ・プロトコルを有するか否か)(2)第1のコンピューティング・デバイスが以前にネットワークに接続しているか否か(たとえば、ネットワークがつなぎ慣れたネットワークであるか否か)、(3)第1のコンピューティング・デバイスとネットワークとの間の信号強度、または(4)ネットワークへの第1のコンピューティング・デバイスの接続に関連付けられている任意の他の適切な情報などの情報を含むことができる。
【0034】
種々の実施形態において、システム・イベント・データは、コンピューティング・デバイスの種々の機能のアクティブ化および非アクティブ化に関するデータを含むことができる。特定の実施形態では、これは、たとえば、第1のコンピューティング・デバイスの機内モードをオンまたはオフにすること、第1のコンピューティング・デバイスのBluetoothをオンまたはオフにすること、第1のコンピューティング・デバイスのGPS(たとえば、位置ベースのサービス)をオンまたはオフにすることなどを含むことができる。
【0035】
特定の実施形態では、システム・イベント・データは、第1のコンピューティング・デバイスに新しくインストールされたソフトウェアに関連付けたデータを含むことができる。たとえば、システムは、新しいソフトウェア・アプリケーションが第1のコンピューティング・デバイスにインストールされた日時を含む、システム・イベント・データを受信することができる。種々の実施形態において、そのような場合のシステム・イベント・データはさらに、ソフトウェア・アプリケーションのファイル・サイズ、ソフトウェア・アプリケーションの発行元、ソフトウェア・アプリケーションのインストール元のソース(たとえば、ソフトウェアのダウンロード元のウェブサイトなど)を含むことができる。他の実施形態では、システム・イベント・データはさらに、第1のコンピューティング・デバイスからのソフトウェアの除去に関する情報を含むことができる(たとえば、システム・イベントは、第1のコンピューティング・デバイスからの特定のソフトウェア・アプリケーションの削除を含むことができる)。
【0036】
特定の実施形態では、システム・イベント・データは、第1のコンピューティング・デバイスに対して(たとえば、周辺デバイスと通信するために第1のコンピューティング・デバイスが備えるUSB、firewire、無線ネットワーク、または他の適切な機構を通じて)接続または切断された周辺デバイス(たとえば、プリンタ、スキャナ、外部ハード・ディスク、および光学式ドライブなど)のログを含む。種々の実施形態において、システム・イベント・データは、周辺デバイスが接続および/または切断された時刻、周辺デバイスに関連して第1のコンピューティング・デバイスにインストールされた任意のデバイス・ドライバまたは他のソフトウェアに関連付けられている情報、あるいは周辺デバイスに関連する任意の他の適切な情報(たとえば、デバイス・タイプ、モデル番号、製造者など)を含む。たとえば、システムは、新しいプリンタのインストールに少なくとも部分的に応答して、コンピューティング・デバイスにインストールされた新しいプリンタに関連付けられている情報を記憶することができる。この新しいプリンタに関連付けられている情報は、たとえば、プリンタがコンピューティング・デバイスに接続されるコンピューティング・デバイス上のポート、コンピューティング・デバイスがプリンタと通信することを可能にするためにインストールされるドライバ情報、プリンタと共に使用するためにコンピューティング・デバイスにインストールされたソフトウェアなどを含むことができる。
【0037】
種々の実施形態において、システム・イベント・データは、第1のコンピューティング・デバイスにアクセスされた任意のウェブ・ページのログ(たとえば、第1のコンピューティング・デバイスの閲覧履歴)を含み、それは、たとえば、種々のウェブ・ページがアクセスされた時刻を含むことができる。他の実施形態では、システム・イベント・データは、ウェブ閲覧に関連する他のデータ、たとえば、クッキー・データ(たとえば、特定のクッキーが作成された時刻、およびクッキーのコンテンツ)、キャッシュ、または他の適切なデータを含むことができる。
【0038】
特定の実施形態では、第1のコンピューティング・デバイスは、モバイル・コンピューティング・デバイス(たとえば、スマートフォン、ラップトップ、タブレット・コンピュータなど)である。他の実施形態では、第1のコンピューティング・デバイスは、デスクトップ・コンピュータである。特定の実施形態では、システムは、(たとえば、システム・イベントが発生すると)システム・イベント・データをログ記録および/または記憶するように構成された第1のコンピューティング・デバイス上のアプリケーションを通じて、システム・イベント・データを受信するように構成される。特定の実施形態では、システムは、イベントが発生すると実質的に自動的にシステム・イベント・データを受信するように構成される。たとえば、システムは、スマートフォンとヘッドセットのペアリングに応答して、ハンズフリーのBluetoothヘッドセットに関連付けられている情報を記憶することができる。そのような場合のシステム・イベント・データは、たとえば、Bluetoothヘッドセットの製造元およびモデル、ペアリングが発生した時刻、Bluetoothヘッドセットのバッテリ寿命、またはBluetoothヘッドセットもしくはペアリングに関連する任意の他の適切な情報を含むことができる。
【0039】
種々の実施形態において、システムは、システム・イベント・データをローカルに(たとえば、第1のコンピューティング・デバイスに)記憶するように構成される。たとえば、第1のコンピューティング・デバイスに記憶されたソフトウェア・アプリケーションは、システム・イベント・データに少なくとも一時的に記憶することができる。他の実施形態では、システムは、システム・イベント・データをローカルに記憶し、システム・イベント・データを後で取り出すために、たとえば、クラウド・ストレージ・サーバもしくは他のサーバまたは任意の適切な遠隔の記憶場所に送信するように構成される。特定の実施形態では、システムは、実質的に一定の間隔(たとえば、毎日、1日に2回、6時間毎、または任意の他の適切な時間間隔)でシステム・イベント・データを送信するように構成される。他の実施形態では、システムは、所定のイベントに応答して、たとえば、第1のコンピューティング・デバイスが外部電源にプラグ接続された(たとえば、第1のコンピューティング・デバイスがスマートフォンである場合に、第1のコンピューティング・デバイスがプラグ接続され充電している)と決定したことに応答して、システム・イベント・データを送信するように構成される。さらに他の実施形態では、システムは、(たとえば、無線ローカル・エリア・ネットワーク、特定の無線ローカル・エリア・ネットワーク、セルラー電話ネットワークなどを通じて)第1のコンピューティング・デバイスがインターネットに接続されたと決定したことに応答して、システム・イベント・データを送信するように構成される。特定の実施形態では、システムは、第1のコンピューティング・デバイスが外部電源にプラグ接続され、かつ(たとえば、3g、4gなどを通じたセルラー電話ネットワークではなく)無線ローカル・エリア・ネットワークを通じてインターネットに接続されたと決定したことに応答して、システム・イベント・データを送信するように構成される。
【0040】
工程320に戻って、システムは続いて、第1のコンピューティング・デバイスについての第1の性能データを受信する。種々の実施形態において、第1の性能データは、バッテリ使用状況(たとえば、消耗レート、充電レベルなど)、プロセッサ・リソース使用状況、クロック・レート、1秒間に100万回の浮動小数点演算を行う回数(MFLOPS)、ストレージ使用状況、データ使用状況(たとえば、モバイル・データの量対Wi-Fiデータ使用状況)、または、第1のコンピューティング・デバイスの性能に関連する任意の他の適切な性能メトリックまたはベンチマークを含む。種々の実施形態において、第1の性能データは、工程310で受信した特定のシステム・イベント・データ・ポイントと実質的に同じ時間(および、たとえば、それに関連付けられている時間)に受信される。たとえば、バッテリ使用状況は、システム・イベント・データが、第1のコンピューティング・デバイスがネットワーク外である(たとえば、無線ネットワークに現在接続されていないが、たとえば第1のコンピューティング・デバイスの利用可能なバッテリ寿命より多くを使用し得るものを能動的に検索している)ことを示すときに、システム性能データとして受信され得る。特定の実施形態では、システム性能データは、特定の時間量における平均性能(たとえば、1日の平均プロセッサ使用状況、バッテリが特定のレベルに消耗する平均時間など)を含むことができる。特定の実施形態では、システムは、性能情報を使用して、デバイスについてのタイムスタンプ付き性能記録のログを作成するように構成される。
【0041】
種々の実施形態において、システムは、第1の性能データに少なくとも部分的に基づいて、性能メトリックを規定するように構成される。たとえば、性能メトリックは、2以上の性能データ・ポイント、たとえばすぐ上に述べたタイプの性能データなどの組合せに少なくとも部分的に基づいてよい。たとえば、特定の性能メトリックは、バッテリ使用状況とプロセッサ使用状況の両方に少なくとも部分的に基づいてもよい。種々の実施形態において、システムは、任意の他の適切なファクタに基づいて性能メトリックを規定するように構成され得る。
【0042】
次いで、システムは、工程330で、プロファイルを第1のコンピューティング・デバイスと共有する1以上の第2のコンピューティング・デバイスについての第2のシステム・イベント・データおよび第2の性能データを受信する。種々の実施形態において、第2のシステム・イベント・データは、1以上の第2のコンピューティング・デバイスに関連付けられている任意の適切なシステム・イベント・データ、たとえば、(工程310で)第1のコンピューティング・デバイスに関して上述した第1のシステム・イベント・データのいずれかであってよい。特定の実施形態では、第2の性能データは、1以上の第2のコンピューティング・デバイスに関連付けられている任意の適切な性能データ、たとえば、(工程320で)第1のコンピューティング・デバイスに関して上述した第1の性能データのいずれかのタイプであってよい。
【0043】
種々の実施形態において、少なくとも1つのプロファイルを第1のコンピューティング・デバイスと共有する1以上の第2のコンピューティング・デバイスは、第1のコンピューティング・デバイスと共通する1以上の特性を有する(たとえば、同じタイプのデバイスである、同じモデルのデバイスである、第1のコンピューティング・デバイスと類似のソフトウェアを実行する、かつ/または、第1のコンピューティング・デバイスと類似のオペレーティング・システムを有するなど)コンピューティング・デバイスである。特定の実施形態では、システムは、種々のコンピューティング・デバイスの1以上の特性に少なくとも部分的に基づいて、(たとえば、適切なプロファイルを実質的に自動的に決定し、そのプロファイルと1以上の特性を関連付け、関連付けられているプロファイルに、1以上の特性を有する任意のコンピューティング・デバイスを割り当てることによって、)少なくとも1つのプロファイルを確立するように構成される。種々の実施形態において、システムは、第1のコンピューティング・デバイスの1以上の特性に少なくとも部分的に基づいて、少なくとも1つのプロファイルを確立するように構成される。そして、システムは、種々の実施形態において、特定のプロファイルに関連付けられている1以上の特性をコンピューティング・デバイスが有すると決定したことに応答して、コンピューティング・デバイス(たとえば、1以上の第2のコンピューティング・デバイス)を特定のプロファイルに割り当てるように構成される。
【0044】
特定の実施形態では、1以上の特性は、たとえば、第1のコンピューティング・デバイスの特定のハードウェア構成(たとえば、第1のコンピューティング・デバイスが備える特定のプロセッサ、第1のコンピューティング・デバイスが有するRAMの数など)を含む。特定の実施形態では、種々のコンピューティング・デバイスにプロファイルを割り当てるためにシステムが使用し得る1以上の特性は、コンピューティング・デバイスのタイプを含む。たとえば、第1のコンピューティング・デバイスがスマートフォンである場合、システムはスマートフォンに対するプロファイルを確立し、第1のコンピューティング・デバイスがタブレット・コンピュータである場合、システムはタブレット・コンピュータに対するプロファイルを確立することなどができる。特定の実施形態では、1以上の特性は、コンピューティング・デバイスに記憶された特定のソフトウェアを含むことができる。たとえば、システムは、特定のソフトウェアを実行しているすべてのコンピューティング・デバイスに対してプロファイルを作成することができる。他の実施形態では、1以上の特性は、コンピューティング・デバイスのオペレーティング・システム(たとえば、Windows(登録商標)、iOS、Android(登録商標)など)を含むことができる。
【0045】
種々の実施形態において、1以上の特性は、コンピューティング・デバイスが位置する特定の地理的領域を含むことができる。特定の地理的領域は、コンピューティング・デバイスのGPS位置に少なくとも部分的に基づいて、または任意の他の適切な技法を用いて決定することができる。特定の実施形態では、コンピューティング・デバイスの地理的領域は、第1のコンピューティング・デバイスが接続されたネットワーク(たとえば、特定の無線ローカル・エリア・ネットワーク、特定のセルラー電話ネットワーク内の特定のセルラー・タワーに対する接続など)を含むことができる。コンピューティング・デバイスが、特定のセルラー電話ネットワークにおける特定のセルラー・タワーに対して接続されると、システムは、たとえば、同じ特定のセルラー・タワーに接続されたすべてのコンピューティング・デバイスに対してプロファイルを確立することができる。
【0046】
種々の実施形態において、1以上の特性は、コンピューティング・デバイスに接続された特定の周辺デバイス(たとえば、プリンタ、特定のブランドの周辺デバイス、スキャナなど)を有することを含むことができる。システムは、たとえば、USBを通じて接続された特定のモデルのプリンタを有するコンピューティング・デバイスに対するプロファイルを確立することができる。
【0047】
特定のプロファイルは、複数の異なるデバイス特性を含んでもよい。たとえば、プロファイルは、特定の製造者(たとえば、Apple(登録商標)、Samsung(登録商標)など)によって製造され、特定のモデル/タイプであり、かつ少なくとも特定の組合せのソフトウェア・アプリケーションを実行している、任意のコンピューティング・デバイスとして定義されてもよい。
【0048】
特定の実施形態では、プロファイルを第1のコンピューティング・デバイスと共有する1以上の第2のコンピューティング・デバイスについての第2のシステム・イベント・データおよび第2の性能データを受信する前に、システムは、どのようなプロファイルが第1のコンピューティング・デバイスに関連付けられているか、および、1以上の第2のコンピューティング・デバイスのうち、それらのプロファイルに関連付けられている第2のコンピューティング・デバイスを決定するように構成されている。種々の実施形態において、システムは、第1のシステム・イベント・データ、第1の性能データ、第2のシステム・イベント・データ、および第2の性能データを含むデータベースにデータを投入するように構成される。このデータベースは、たとえば、システムの一部である任意のコンピューティング・デバイスのすべての関連データを含むことができる。次いで、システムは、特定のプロファイルに当てはまるコンピューティング・デバイスに関連付けられているデータを、その特定のプロファイルに割り当てる(またはたとえば、関連付ける)ことができる。次いで、システムは、集約されたプロファイルデータを使用して、そのプロファイルを共有するデバイスの平均性能を決定し、そのプロファイルを有する特定のデバイスと比較することができる。
【0049】
たとえば、システムが100個のスマートフォンからシステム・イベントおよび性能データを受信した場合、システムは、100個のスマートフォンの各々のそうしたデータを記憶する。それら100個のスマートフォンのうちの10個がiPhone(登録商標)5である場合、システムは、10個のiPhone5についてのデータのみを含むiPhone5に対するプロファイルを作成することができる。次いで、システムは、iPhone5の平均性能を決定し、iPhone5のうちの1つのユーザへ、そのユーザのiPhone5の実際の性能と共にその平均性能を表示することができる。システムは、すべてのスマートフォンを含む第2のプロファイルを作成することもできる。そのiPhone5ユーザの性能を第2のプロファイルと比較したとき、システムは、100個すべてのスマートフォンの平均性能を、そのiPhone5ユーザの実際の性能と共に表示することができる。
【0050】
特定の実施形態では、各特定のプロファイルの特性は、システムによって実質的に自動的に決定される。他の実施形態では、特定の特性を有するデバイス(たとえば、ユーザによって制御されるデバイスと特定の特性を共有するデバイス)についての平均性能を表示することを求めるユーザからの要求に少なくとも部分的に基づいて、プロファイルが確立される。種々の実施形態において、要求は、第1のコンピューティング・デバイスのユーザから発せられてよい。他の実施形態では、要求は、特定のプロファイルを有するコンピューティング・デバイスに関する問題を決定するための診断サービスに関連した人物から発せられてよい。
【0051】
工程340に戻って、システムは続いて、1以上の第2のコンピューティング・デバイス(たとえば、特定のプロファイルを有する1以上の第2のコンピューティング・デバイス)についての平均システム性能を決定する。特定の実施形態では、システムは、特定のプロファイルの範囲内のすべてのデバイスについての平均性能を決定するように構成される。特定の実施形態では、決定された平均は、上述した性能メトリックの集約を含むことができる。他の実施形態では、決定された平均は、特定のプロファイルを共有するすべてのコンピューティング・デバイスについての性能データの特定部分の単純平均とすることができる。種々の実施形態において、システムは、特定のプロファイルを共有するすべてのコンピューティング・デバイスについての集約された(たとえば平均)性能を決定するように構成される。
【0052】
システムは続いて、工程350で、第1のイベント・データ、第1の性能データ、および第2の性能データの平均を(たとえば、第1のコンピューティング・デバイスの表示画面上に情報を表示することによって)ユーザへ表示する。種々の実施形態において、ユーザは、第1のコンピューティング・デバイスのユーザ(たとえば、スマートフォンの所有者およびユーザ)である。他の実施形態では、ユーザは、第1のコンピューティング・デバイスの性能の問題を診断する技術者または他の人物である。特定の実施形態では、データを表示することは、たとえば、グラフ、チャート、または他の適切な形式で、ユーザへデータを表示することを備える。たとえば、特定の実施形態では、システムは、iPhone4sの所有者に対して、それらのデバイスの平均バッテリ寿命と共に、他のiPhone4sユーザの平均バッテリ寿命を表示することができる。次いで、ユーザは、任意の適切な理由のために、たとえば、それらのバッテリ寿命が比較的短いか否かを決定するため、減少の原因を決定するため、および場合によってはバッテリ寿命を引き起こす何らかの問題を修正するために、そのデータを使用することができる。特定の実施形態では、そのデータにより、ユーザが、特定のコンピューティング・デバイスが不良部品を有する(たとえば、1以上の部品が熱疲労した可能性がある)ことを突き止めることが可能になる。そのような実施形態では、より良い性能データを有する第2のコンピューティング・デバイスに類似したイベント・データを有するコンピューティング・デバイス(たとえば、より良い性能で動作する類似したコンピューティング・デバイスと類似の様式で使用されるコンピューティング・デバイス)は、1以上の部品の交換を要することがある。
【0053】
種々の実施形態において、システムは、データ(たとえば、性能情報および/またはシステム情報)に少なくとも部分的に基づいて技術者または第1のコンピューティング・デバイスのユーザがコンピューティング・デバイスの診断またはトラブルシューティングを行うことができるように構成される。たとえば、システムは、コンピューティング・デバイス性能情報の履歴およびある種のシステム情報を表示して、特定のイベント(たとえば、特定のソフトウェアのインストールなど)が性能の低下に寄与するか否かを技術者または他のユーザが決定することを可能にすることができる。
【0054】
デバイスの自動診断
種々の実施形態において、システムは、性能に影響し得るコンピューティング・デバイスに関する問題を実質的に自動的に決定するように構成される。ユーザがそのSamsung Galaxy S4のバッテリ寿命の減少を経験する特定の例において、システムは、そのユーザによるアプリケーション使用状況を他のGalaxy S4ユーザと比較して、そのユーザが使用する特定のソフトウェア・アプリケーションがより良好なバッテリ寿命を享受する他のユーザによって使用されていないと決定する場合がある。次いで、システムは、たとえば、問題となるアプリケーションを削除するようユーザに推奨する、またはそのアプリケーションの使用を制限するようユーザに推奨することによって、解決策をユーザに提示するように構成され得る。
【0055】
例示的なユーザ体験
特定の実施形態では、ユーザは、ソフトウェア・アプリケーションを、ユーザのモバイル・コンピューティング・デバイス(たとえば、ユーザのスマートフォン)にインストールすることができる。ソフトウェア・アプリケーションが実行されている間、アプリケーションは、モバイル・コンピューティング・デバイスについて、タイムスタンプ付きシステム・イベント・データ(たとえば、本文献に記載の任意のシステム・イベント・データ)およびタイムスタンプ付きシステム性能データをログ記録することができる。データをログ記録するソフトウェア・アプリケーションは、モバイル・コンピューティング・デバイス上で実質的にバックグラウンドで実行することができる(たとえば、アプリケーションがデータをログ記録している間にアプリケーションはモバイル・デバイス上に全く表示されない、またはアプリケーションがデータをログ記録するときに他の形式でユーザに通知する)。ユーザが(たとえば、モバイル・コンピューティング・デバイスのバッテリを充電するために)モバイル・コンピューティング・デバイスをプラグ接続したとき、モバイル・コンピューティング・デバイスがWi-Fiに接続されていると、システムは、ログ記録されたタイムスタンプ付きデータを中央サーバ(たとえばクラウド・ストレージ・サーバ)に送信することができ、中央サーバ上で、システムは、複数のコンピューティング・デバイスについての類似したデータを記憶するように構成される。
【0056】
種々の実施形態において、システムは、コンピューティング・デバイスについてのデータ(たとえば、中央サーバに記憶されたデータ)を、そのコンピューティング・デバイスの特性に基づいて、1以上のプロファイルに関連付けることができる。システムは、たとえば、スマートフォンの製造元およびモデルについてのプロファイルを含むユーザのスマートフォンに、プロファイルを割り当てることができる。次いで、システムは、そのプロファイル内のすべてのスマートフォンについてのデータを集約し、そのプロファイルを共有するデバイスの平均性能を決定することができる。
【0057】
任意の適切な時点で、ユーザは、ユーザのモバイル・コンピューティング・デバイス上のソフトウェア・アプリケーションを開き、ユーザのスマートフォンについての性能データ、およびプロファイルをユーザのスマートフォンと共有する他のスマートフォンと比較してユーザのスマートフォンがどのような性能で動作するかに関する比較性能データを、表示するように要求することができる。種々の実施形態において、ユーザは、ユーザのデバイスの相対的性能を表示することを望む対象のプロファイルを選択または提供することができる。たとえば、ユーザは、デバイスのタイプに関わらず、特定のソフトウェア・アプリケーションがインストールされたすべてのデバイスに関する相対的性能データをシステムが表示するように要求することができる。次いで、システムは、その要求に応答して、複数のデバイスのうち、そのソフトウェア・アプリケーションをインストールしているデバイスを決定し、さらに、たとえば遠隔サーバに記憶されたデータに基づいて、それらの類似したデバイスについての平均性能データを決定し、ユーザへ表示することができる。特定の実施形態では、平均性能データは、複数の異なる性能カテゴリ(たとえば、処理速度、無線接続の強度、バッテリ寿命など)に分類され得る。
【0058】
図4~
図9は、本明細書に記載のシステムの種々の機能を示す例示的画面表示である。これらの画面表示は、任意の適切なデバイス(たとえば、上述のシステム診断モジュール300のコンテキストで説明された第1のコンピューティング・デバイス)上に表示されてよいことは理解されるであろう。
【0059】
図4は、特定のコンピューティング・デバイスに関する情報410を表示する画面表示400を示す。この図に示されるように、情報410は、特定のコンピューティング・デバイスの最後の再起動からの時間に関する情報(たとえば、1日)、およびシステム性能を向上するための推奨(たとえば、コンピューティング・デバイスを再起動すればシステム性能を改善することができるというアドバイス)を含む。情報410はさらに、最も新しくインストールされたアプリケーションに関する情報、音声およびデータ・ネットワークへの接続に関する情報、ならびにWi-Fi接続情報を含む。最も新しくインストールされたアプリケーションに関係する情報410はまた、最新のインストールされたアプリケーションの他のユーザの平均月間データ使用状況を示す比較情報415を含む。この図から理解できるように、システムは、類似したデバイス(たとえば、同様に特定のアプリケーションをインストールされたデバイス)から受信された情報410を表示し、また、特定のコンピューティング・デバイスについての関係したシステム・イベント(たとえば、特定のアプリケーションのインストール)に関連して情報410を表示するように構成される。
【0060】
図5は、現在および過去のバッテリ充電レベル510を表示する画面表示500を示す。この図から理解できるように、システムは、経時的な過去のバッテリ・レベルに加えて現在のバッテリ・レベルを表示するように構成される。バッテリ使用状況は、種々の実施形態において、システムが経時的に追跡するように構成される多くの性能データのうちの1つである。
図6は、別の実施形態によるバッテリ・レベル610に関連する情報を表示する画面表示60を示す。この図に示されるように、システムはまた、この画面表示が表示されるデバイスについての平均バッテリ寿命を、他(たとえば、同じ製造元およびモデルのデバイスのような類似したデバイスを含む他のデバイス)の平均バッテリ寿命に対して比較する、比較バッテリ寿命情報615を示す。この図から理解できるように、データが表示されているこのユーザのデバイスは、フル充電における平均バッテリ寿命が比較的良好である(たとえば、14時間7分に対して16時間9分)。
【0061】
図7は、特定のコンピューティング・デバイス(たとえば、DROID RAZR)についての最近の接続アクティビティ710を表示する表示画面700を示す。図に示されるように、システムは、Wi-Fi信号強度の最近の変化、特定のWi-Fiネットワークに対する接続の最近の変化、モバイル・データ・ネットワークのオンおよびオフなどを表示する。この図から理解できるように、システムは、これらの接続イベントが発生するとそれらをログ記録し、それらを後でユーザへ表示するために記憶する。
図8は、システムが表示するように構成され得るさらに他のシステム情報810を示す表示画面800を示す。この図に示されるように、システム情報は、デバイスのモデル、デバイス上のオペレーティング・システム、クライアント・バージョン、ステータス、アクティブ化情報、デバイスの最新の再起動に関する情報などを含むことができる。システムは、バッテリ状態、バッテリ健全性、バッテリ充電技術、バッテリ充電時間、バッテリ・レベル、ならびにネットワークおよびストレージ情報などを表示するようにさらに構成される。種々の実施形態において、システムは、この情報を使用して、1以上の類似したコンピューティング・デバイス(たとえば、
図8にシステム情報810として表示される1以上の特性を共有するコンピューティング・デバイス)を識別することができる。
【0062】
図9は、特定のデバイス(たとえば、特定のDROID RAZR)についてのアプリケーション情報910を表示する表示画面900を示す。この図に示されるように、システムは、デバイスにインストールされた種々のアプリケーションに関して、各アプリケーションのデータ使用量、CPU使用量、および種々のアプリケーションに関連する他の情報を表示のために追跡および記憶する。
【0063】
結び
本発明の多くの修正形態および他の実施形態が、上記の説明および関連した図で提示された教示の利益を有する本発明に関する技術分野の当業者には想到されよう。したがって、本発明は、開示した特定の実施形態に限定されず、修正形態および他の実施形態は、添付の特許請求の範囲の範囲内に含まれることが意図されていることは理解されるであろう。本明細書では特定の用語が使用されているが、それらは一般的で記述的な意味でのみ使用されるものであり、制限することを目的としていない。