(57)【特許請求の範囲】
【請求項１】
コンピューティング・デバイスによって、１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを、各ジオロケーション・クラスタ内における１つまたは複数のジオロケーション・データ・ポイントの各々とジオロケーション・セントロイドとの間の距離に基づいて決定することであって、前記ジオロケーション・セントロイドは、そのジオロケーション・クラスタ内の前記１つまたは複数のジオロケーション・データ・ポイントの中心を表し、前記ジオロケーション・データ・ポイントは、ユーザに関連付けられたモバイル・コンピューティング・デバイスからの１つまたは複数のロケーション記録を表し、前記ジオロケーション・セントロイドは、特定の曜日の特定の時刻の間に得られたロケーション記録に少なくとも部分的に基づく、前記１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを決定すること、
前記コンピューティング・デバイスによって、１つまたは複数のジオロケーション・セントロイドのルーチンの中心を、各ジオロケーション・セントロイドと各ルーチンの中心との間の距離に基づいて決定することであって、各ルーチンの中心は、前記特定の曜日の前記特定の時刻の１つまたは複数のジオロケーション・セントロイドの中心を表す、前記１つまたは複数のジオロケーション・セントロイドのルーチンの中心を決定すること、
前記コンピューティング・デバイスによって、前記特定の曜日の各特定時刻のいくつかのルーチンの中心に少なくとも部分的に基づいて、前記特定の曜日の時間ベースのルーチンを決定することであって、前記時間ベースのルーチンは、前記特定の曜日の複数の時刻の複数のルーチンの中心のパターンからなる、前記特定の曜日の時間ベースのルーチンを決定すること、および
前記コンピューティング・デバイスによって、前記決定された時間ベースのルーチンに基づいて前記モバイル・コンピューティング・デバイスからのロケーション記録のポーリングの頻度を調整すること、
を備える方法。
【請求項２】
前記ジオロケーション・セントロイドをグループ化することは、
前記コンピューティング・デバイスによって、各グループの前記ルーチンの中心のジオロケーションを前記各グループ内の前記ジオロケーション・セントロイドの中心に更新すること、および
前記コンピューティング・デバイスによって、各ルーチンの中心の前記更新されたジオロケーションに少なくとも部分的に基づいて前記ジオロケーション・セントロイドを再グループ化すること、
を備える、請求項１に記載の方法。
【請求項３】
前記コンピューティング・デバイスによって、前記ルーチンの中心の前記ジオロケーションの更新と、前記ジオロケーション・セントロイドの再グループ化とを所定の回数行うことをさらに備える請求項２に記載の方法。
【請求項４】
前記時間ベースのルーチンを決定することは、前記コンピューティング・デバイスによって、最大数のジオロケーション・セントロイドを有するグループを決定することに少なくとも部分的に基づいて、所定の曜日の特定の時刻に関連付けられた最も可能性の高いルーチンの中心を決定することを備える、請求項１に記載の方法。
【請求項５】
前記時間ベースのルーチンを決定することは、前記コンピューティング・デバイスによって、複数の最も可能性の高いルーチンの中心をオーバーレイすることを備える、請求項４に記載の方法。
【請求項６】
前記コンピューティング・デバイスによって、後続のジオロケーション・セントロイドと特定のグループの前記ルーチンの中心との間の距離が所定のしきい値未満であることに応じて、前記特定のグループに前記後続のジオロケーション・セントロイドを追加することをさらに備える請求項１に記載の方法。
【請求項７】
前記ジオロケーション・セントロイドをグループ化することは、前記コンピューティング・デバイスによって、各ジオロケーション・セントロイドと特定のグループの前記ルーチンの中心との間の距離が所定のしきい値未満であることに少なくとも部分的に基づいて、各ジオロケーション・セントロイドを前記特定のグループに位置付けることを備える、請求項１に記載の方法。
【請求項８】
前記ジオロケーション・セントロイドをグループ化することは、所定の期間にわたって得られたロケーション記録に対して行われる、請求項１に記載の方法。
【請求項９】
１つまたは複数のコンピュータ読み取り可能非一時的記憶媒体であって、実行時に、
１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを、各ジオロケーション・クラスタ内における１つまたは複数のジオロケーション・データ・ポイントの各々とジオロケーション・セントロイドとの間の距離に基づいて決定することであって、前記ジオロケーション・セントロイドは、そのジオロケーション・クラスタ内の前記１つまたは複数のジオロケーション・データ・ポイントの中心を表し、前記ジオロケーション・データ・ポイントは、ユーザに関連付けられたモバイル・デバイスからの１つまたは複数のロケーション記録を表し、前記ロケーション記録は、前記ユーザによる手操作の入力なしに自動的に送信される、前記１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを決定すること、
１つまたは複数のジオロケーション・セントロイドのルーチンの中心を、各ジオロケーション・セントロイドと各ルーチンの中心との間の距離に基づいて決定することであって、各ルーチンの中心は、前記特定の曜日の前記特定の時刻の１つまたは複数のジオロケーション・セントロイドの中心を表す、前記１つまたは複数のジオロケーション・セントロイドのルーチンの中心を決定すること、
前記特定の曜日の各特定時刻のいくつかのルーチンの中心に少なくとも部分的に基づいて、前記特定の曜日の時間ベースのルーチンを決定することであって、前記時間ベースのルーチンは、前記特定の曜日の複数の時刻の複数のルーチンの中心のパターンからなる、前記特定の曜日の時間ベースのルーチンを決定すること、および
前記決定された時間ベースのルーチンに基づいて前記モバイル・コンピューティング・デバイスからのロケーション記録のポーリングの頻度を調整すること、
を行うように構成されたソフトウェアを具現化する記憶媒体。
【請求項１０】
前記ソフトウェアは、
各グループの前記ルーチンの中心のジオロケーションを、前記各グループ内の前記ジオロケーション・セントロイドの中心に更新すること、および
各ルーチンの中心の前記更新されたジオロケーションに少なくとも部分的に基づいて、前記ジオロケーション・セントロイドを再グループ化すること
を行うようにさらに構成されている、請求項９に記載の記憶媒体。
【請求項１１】
前記ソフトウェアは、前記ルーチンの中心の前記ジオロケーションの更新と、前記ジオロケーション・セントロイドの再グループ化とを所定の回数行うようにさらに構成されている、請求項１０に記載の記憶媒体。
【請求項１２】
前記ソフトウェアは、最大数のジオロケーション・セントロイドを有するグループを決定することに少なくとも部分的に基づいて、所定の曜日の特定の時刻に関連付けられた最も可能性の高いルーチンの中心を決定することを行うようにさらに構成されている、請求項９に記載の記憶媒体。
【請求項１３】
前記ソフトウェアは、複数の最も可能性の高いルーチンの中心をオーバーレイすることを行うようにさらに構成されている、請求項１２に記載の記憶媒体。
【請求項１４】
前記ソフトウェアは、後続のジオロケーション・セントロイドと特定のグループの前記ルーチンの中心との間の距離が所定のしきい値未満であることに応じて、前記特定のグループに前記後続のジオロケーション・セントロイドを追加することを行うようにさらに構成されている、請求項９に記載の記憶媒体。
【請求項１５】
前記ソフトウェアは、各ジオロケーション・セントロイドと特定のグループの前記ルーチンの中心との間の距離が所定のしきい値未満であることに少なくとも部分的に基づいて、各ジオロケーション・セントロイドを前記特定のグループに位置付けることを行うようにさらに構成されている、請求項９に記載の記憶媒体。
【請求項１６】
前記ジオロケーション・セントロイドは、所定の期間にわたって得られたロケーション記録に少なくとも部分的に基づく、請求項９に記載の記憶媒体。
【請求項１７】
１つまたは複数のプロセッサと、
前記プロセッサに結合された１つまたは複数のコンピュータ読み取り可能非一時的記憶媒体であって、実行時に、
１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを、各ジオロケーション・クラスタ内における１つまたは複数のジオロケーション・データ・ポイントの各々とジオロケーション・セントロイドとの間の距離に基づいて決定することであって、前記ジオロケーション・セントロイドは、そのジオロケーション・クラスタ内の前記１つまたは複数のジオロケーション・データ・ポイントの中心を表し、前記ジオロケーション・データ・ポイントは、ユーザに関連付けられたモバイル・デバイスからの１つまたは複数のロケーション記録を表し、前記ロケーション記録は、前記ユーザによる手操作の入力なしに自動的に送信される、前記１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを決定すること、
１つまたは複数のジオロケーション・セントロイドのルーチンの中心を、各ジオロケーション・セントロイドと各ルーチンの中心との間の距離に基づいて決定することであって、各ルーチンの中心は、前記特定の曜日の前記特定の時刻の１つまたは複数のジオロケーション・セントロイドの中心を表す、前記１つまたは複数のジオロケーション・セントロイドのルーチンの中心を決定すること、
前記特定の曜日の各特定時刻のいくつかのルーチンの中心に少なくとも部分的に基づいて、前記特定の曜日の時間ベースのルーチンを決定することであって、前記時間ベースのルーチンは、前記特定の曜日の複数の時刻の複数のルーチンの中心のパターンからなる、前記特定の曜日の時間ベースのルーチンを決定すること、および
前記決定された時間ベースのルーチンに基づいて前記モバイル・コンピューティング・デバイスからのロケーション記録のポーリングの頻度を調整すること、
を行うように構成されたソフトウェアを具現化する前記記憶媒体と、
を備えるデバイス。
【請求項１８】
前記ソフトウェアは、
各グループの前記ルーチンの中心のジオロケーションを、前記各グループ内の前記ジオロケーション・セントロイドの中心に更新すること、および
各ルーチンの中心の前記更新されたジオロケーションに少なくとも部分的に基づいて、前記ジオロケーション・セントロイドを再グループ化すること
を行うようにさらに構成されている、請求項１７に記載のデバイス。
【請求項１９】
前記ソフトウェアは、前記ルーチンの中心の前記ジオロケーションの更新と、前記ジオロケーション・セントロイドの再グループ化とを所定の回数行うようにさらに構成されている、請求項１８に記載のデバイス。
【請求項２０】
前記ソフトウェアは、最大数のジオロケーション・セントロイドを有するグループを決定することに少なくとも部分的に基づいて、所定の曜日の特定の時刻に関連付けられた最も可能性の高いルーチンの中心を決定することを行うようにさらに構成されている、請求項１７に記載のデバイス。
【請求項２１】
前記ソフトウェアは、複数の最も可能性の高いルーチンの中心をオーバーレイすることを行うようにさらに構成されている、請求項２０に記載のデバイス。
【請求項２２】
前記ソフトウェアは、後続のジオロケーション・セントロイドと特定のグループの前記ルーチンの中心との間の距離が所定のしきい値未満であることに応じて、前記特定のグループに前記後続のジオロケーション・セントロイドを追加することを行うようにさらに構成されている、請求項１７に記載のデバイス。
【請求項２３】
前記ソフトウェアは、各ジオロケーション・セントロイドと特定のグループの前記ルーチンの中心との間の距離が所定のしきい値未満であることに少なくとも部分的に基づいて、各ジオロケーション・セントロイドを前記特定のグループに位置付けることを行うようにさらに構成されている、請求項１７に記載のデバイス。
【請求項２４】
前記ジオロケーション・セントロイドは、所定の期間にわたって得られたロケーション記録に少なくとも部分的に基づく、請求項１７に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、概してロケーション・トラッキングに関する。
【背景技術】
【０００２】
ソーシャルネットワーキング・ウェブサイトなどのソーシャルネットワーキング・システムは、そのユーザ（人または団体など）が、システムと対話したり、システムを通して互いに対話したりすることを可能にする。ソーシャルネットワーキング・システムは、ユーザからの入力によって、ユーザに関連付けられたユーザ・プロファイルをソーシャルネットワーキング・システム中に作成し格納することができる。ユーザ・プロファイルは、ユーザの人口統計情報、通信チャネル情報、および個人的な関心についての情報を含むことができる。また、ソーシャルネットワーキング・システムは、ユーザからの入力によって、ソーシャルネットワーキング・システムのユーザと他のユーザとの関係の記録を作成し格納するだけでなく、サービス（例えば、ウォール投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ間の社会的相互作用を促進することができる。
【０００３】
ソーシャルネットワーキング・システムは、そのサービスに関係するコンテンツまたはメッセージを、１つまたは複数のネットワークを介してユーザのモバイル・コンピューティング・デバイスなどに送信することができる。また、ユーザは、自分のモバイル・コンピューティング・デバイスなどにソフトウェア・アプリケーションをインストールして、ソーシャルネットワーキング・システム内の、自分のユーザ・プロファイルなどのデータにアクセスすることができる。ソーシャルネットワーキング・システムは、ユーザにつながっている他のユーザの集約された記事からなるニュースフィードなど、コンテンツ・オブジェクトの個人用セットを生成して、ユーザに表示することができる。
【０００４】
スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなどのモバイル・コンピューティング・デバイスは、ＧＰＳ受信機、コンパス、またはジャイロスコープなど、位置、方向、または向きを決定するための機能を含むことができる。また、このようなデバイスは、ブルートゥース（登録商標）通信、近距離通信（ＮＦＣ）、もしくは赤外線（ＩＲ）通信、またはワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）もしくはセルラ電話ネットワークによる通信など、ワイヤレス通信のための機能を含むことができる。また、このようなデバイスは、１つまたは複数のカメラ、スキャナ、タッチ・スクリーン、マイクロホン、またはスピーカを含むことができる。また、モバイル・コンピューティング・デバイスは、ゲーム、ウェブ・ブラウザ、またはソーシャルネットワーキング・アプリケーションなど、ソフトウェア・アプリケーションを実行することができる。ソーシャルネットワーキング・アプリケーションによって、ユーザは、そのソーシャル・ネットワークにおける他のユーザとつながり、通信し、情報を共有することができる。
【発明の概要】
【０００５】
特定の実施形態において、周辺ロケーション記録のグループ化に基づいてユーザの時間ベースのルーチンを推定することができる。（１時間間隔での）時刻および曜日に基づいて周辺ロケーション記録をクラスタ化することができる。所定回数の週にわたって特定のクラスタが生じる回数に基づいて、ユーザが特定の時刻および／または曜日に特定のロケーションにいる可能性を計算することができる。それぞれの日に周辺ロケーション記録の各時間について、例えば、午後４：００〜４：５９の間または午前１２：００〜１２：５９の間に取られたデータについて、周辺ロケーション記録のクラスタの計算を行うことができる。特定の曜日および時刻におけるアニメーションによる連続または不連続の再生として、特定のユーザのルーチンを表示することができる。
【図面の簡単な説明】
【０００６】
【図１】ソーシャルネットワーキング・システムに関連付けられた例示的なネットワーク環境を示す図。
【図２Ａ】周辺ロケーション記録の例示的なグループ化を示す図。
【図２Ｂ】周辺ロケーション記録の例示的なグループ化を示す図。
【図２Ｃ】周辺ロケーション記録の例示的なグループ化を示す図。
【図３Ａ】例示的な時間ベースのルーチン抽出を示す図。
【図３Ｂ】例示的な時間ベースのルーチン抽出を示す図。
【図３Ｃ】例示的な時間ベースのルーチン抽出を示す図。
【図３Ｄ】例示的な時間ベースのルーチン抽出を示す図。
【図４】例示的なモバイル・デバイスを示す図。
【図５】周辺ロケーション更新をグループ化するための例示的な方法を示す図。
【図６】ルーチンの推定のための例示的な方法を示す図。
【図７】ユーザのパターンをラベリングするための例示的な方法を示す図。
【図８】ルーチン逸脱通知を提供するための例示的な方法を示す図。
【図９】ユーザにルーチン逸脱を通知するための例示的な方法を示す図。
【図１０】例示的なソーシャル・グラフを示す図。
【図１１】例示的なコンピューティング・システムを示す図。
【発明を実施するための形態】
【０００７】
図１は、ソーシャルネットワーキング・システムに関連付けられた例示的なネットワーク環境１００を示す。ネットワーク環境１００は、ユーザ１０１、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を含み、ネットワーク１１０によって互いに接続される。図１は、ユーザ１０１、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の配置を示すが、本開示は、ユーザ１０１、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の適切な配置を企図している。限定ではなく一例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの２つ以上は、互いに直接、ネットワーク１１０をバイパスして接続され得る。別の例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの２つ以上は、物理的または論理的に、全体的または部分的に互いに同じ場所に配置され得る。また、図１は、特定の数のユーザ１０１、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示すが、本開示は、任意の適切な数のユーザ１０１、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を企図している。限定ではなく一例として、ネットワーク環境１００は、複数のユーザ１０１、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含むことができる。
【０００８】
特定の実施形態において、ユーザ１０１は、ソーシャルネットワーキング・システム１６０と対話する、またはソーシャルネットワーキング・システム１６０を介して通信する、個人（人間のユーザ）、エンティティ（例えば、企業、ビジネス、もしくはサードパーティのアプリケーション）、またはグループ（例えば、個人もしくはエンティティの）であり得る。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストする、ネットワークにアドレス可能なコンピューティング・システムであり得る。ソーシャルネットワーキング・システム１６０は、例えば、オンライン・ソーシャル・ネットワークに関係するユーザプロファイル・データ、コンセプトプロファイル・データ、ソーシャル・グラフ情報、または他の適切なデータなど、ソーシャルネットワーキング・データを生成、格納、受信、および送信することができる。ソーシャルネットワーキング・システム１６０は、直接またはネットワーク１１０を介してネットワーク環境１００の他の構成要素によってアクセスされ得る。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、認証サーバ（または他の適切な構成要素）を含むことができ、認証サーバ（または他の適切な構成要素）によって、ユーザは、例えば適正なプライバシ設定を設定することによって、ユーザのアクションをソーシャルネットワーキング・システム１６０にログ記録させる、または他のシステム（例えば、サードパーティ・システム１７０）と共有させることに対して、オプト・インまたはオプト・アウトすることが可能になる。ユーザのプライバシ設定は、ユーザに関連付けられたどのような情報がログ記録されてよいか、ユーザに関連付けられた情報がどのようにログ記録されてよいか、ユーザに関連付けられた情報がいつログ記録されてよいか、ユーザに関連付けられた情報を誰がログ記録してよいか、ユーザに関連付けられた情報を誰と共有してよいか、およびユーザに関連付けられた情報をどのような目的でログ記録または共有してよいかについて決定することができる。認証サーバは、必要に応じて、ブロッキング、データ・ハッシング、匿名化、または他の適切な技法により、ソーシャルネットワーキング・システム１６０のユーザの１つまたは複数のプライバシ設定を実施するために使用され得る。
【０００９】
サードパーティ・システム１７０は、直接またはネットワーク１１０を介してネットワーク環境１００の他の構成要素によってアクセスされ得る。特定の実施形態において、１つまたは複数のユーザ１０１は、１つまたは複数のクライアント・システム１３０を使用して、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０にアクセスし、データを送信し、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０からデータを受信することができる。クライアント・システム１３０は、直接、またはネットワーク１１０もしくはサードパーティ・システムを介して、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０にアクセスすることができる。限定ではなく一例として、クライアント・システム１３０は、ソーシャルネットワーキング・システム１６０を介してサードパーティ・システム１７０にアクセスすることができる。特定の実施形態において、ユーザ１０１は、後述のように、ソーシャルネットワーキング・システム１６０に格納されたソーシャル・グラフ情報に少なくとも部分的に基づいて認証され得る。限定ではなく一例として、ソーシャルネットワーキング・システム１６０は、ユーザ１０１に関連付けられたコンテンツ・オブジェクトに少なくとも部分的に基づいてユーザ１０１を認証することによって、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０の認証されていない使用を防止することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、コンテンツ・オブジェクトの選択に対応するクライアント・システム１３０からデータを受信し、選択が、ユーザ１０１に関連付けられたコンテンツ・オブジェクトに対応するかどうか決定する。ソーシャルネットワーキング・システム１６０は、クライアント・システム１３０にデータを送信し、選択が、ユーザ１０１に関連付けられたコンテンツ・オブジェクトに対応するかどうかに少なくとも部分的に基づいてユーザ１０１を認証することができる。クライアント・システム１３０は、例えば、パーソナル・コンピュータ、ラップトップ・コンピュータ、セルラ電話、スマートフォン、またはタブレット・コンピュータなど、任意の適切なコンピューティング・デバイスであってよい。
【００１０】
ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ユーザ１０１によるいかなる手操作の入力もなしに自動的に、クライアント・システム１３０の現在のロケーションを決定することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、例えば、ＷＩ−ＦＩ（登録商標）または第３世代移動通信（３Ｇ）など、ワイヤレス通信プロトコルを使用して、ネットワーク１１０を介してアクティブ化信号を送信することによってロケーション・データにクライアント・システム１３０上で実行されるアプリケーションをポーリングまたは「ピン（ping）」することができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０は、バックグランドまたは「スリープ」モードで動作するクライアント・システム１３０のアプリケーションを定期的にポーリングすることができる。特定の実施形態において、アプリケーションは、ソーシャルネットワーキング・システム１６０からのアクティブ化信号に応じるイベントドリブン・アプリケーションであってよい。ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、クライアント・システム１３０の移動距離に少なくとも部分的に基づいて、クライアント・システム１３０上で実行されるアプリケーションによって行われるロケーション決定の所定のサンプリング期間およびポーリング頻度を状況に応じて調整することができる。限定ではなく一例として、所定のサンプリング期間およびポーリング頻度は、クライアント・システム１３０が移動中であるか静止しているかに少なくとも部分的に基づいて、状況に応じて調整され得る。クライアント・システム１３０が移動中であり、移動距離が比較的大きいときは、ソーシャルネットワーキング・システム１６０は、より高い頻度であるがより低い精度で、アプリケーションにロケーション・データを要求することができる。別の例として、クライアント・システム１３０が実質的に静止しており、移動距離が比較的小さいときは、ソーシャルネットワーキング・システム１６０は、より低い頻度であるがより高い精度で、クライアント・システム１３０にロケーション・データを要求することができる。
【００１１】
アプリケーションによって測定されるロケーション・データの精度は、少なくとも部分的に、クライアント・システム１３０のロケーション・サービスがソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０によってアクティブ化される所定のサンプリング期間によって決定され得る。ソーシャルネットワーキング・システム１６０またはサードパーティ・システムは、クライアント・システム１３０の現在のロケーションを過去の記録からのロケーションと比較することに少なくとも部分的に基づいて、クライアント・システム１３０の移動距離を計算することができる。クライアント・システム１３０の移動距離は、次式によって概算され得る。
【００１２】
距離移動＝（位置ｔ−位置ｔ−１）  （１）
位置ｔは、最も新しいロケーション記録におけるクライアント・システム１３０の位置であり、位置ｔ−１は、２番目に新しいロケーション記録におけるクライアント・システム１３０の位置である。限定ではなく一例として、クライアント・システム１３０の移動距離が実質的に所定のしきい値距離以下であるときは、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、クライアント・システム１３０が静止していることを決定することができる。特定の実施形態において、所定の距離は、クライアント・システム１３０の全地球測位システム（ＧＰＳ）機能の測定精度であってよい。本開示は、ポーリング頻度およびサンプリング期間を、移動距離に基づいて特定の数の不連続な設定に調整することを記載しているが、本開示は、ポーリング頻度およびサンプリング期間を、移動距離に基づいて任意の適切な数の不連続な設定または連続な設定に調整することを企図している。
【００１３】
特定の実施形態において、ロケーション記録のフィルタリングは、クライアント・システム１３０のロケーションの個々の決定において存在するノイズまたは不確実さの量を低減し、ソーシャルネットワーキング・システム１６０に格納されるクライアント・システム１３０に関連付けられたロケーション・データの量を減らすことができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０によって受信されるロケーション・データは、地理座標に関連付けられた情報、およびロケーション・データが測定された時刻を含むことができる。上述のように、受信した地理座標は、クライアント・システム１３０が静止しているときでさえ、ある量の不正確さを有し得る。特定の実施形態において、ロケーション記録のフィルタリングによって、ロケーション記録を代表的なジオロケーション（geo-location）・データ・ポイントへと減少させ、このジオロケーション・データ・ポイントをソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０に格納することができる。特定の実施形態において、例えば位置ｔなど現在のロケーション記録と、例えば位置ｔ−１などにおける初期のジオロケーション・データ・ポイントとの間の距離を計算することができ、計算された距離は所定のしきい値距離と比較される。上述のように、所定のしきい値距離は、クライアント・システム１３０の全地球測位システム（ＧＰＳ）機能の測定精度であってよい。特定の実施形態において、初期のジオロケーション・データ・ポイントの地理座標は、計算された距離が所定のしきい値距離未満であることに応じて、初期の地理座標および現在のロケーション記録に少なくとも部分的に基づいて再計算され更新され得る。特定の実施形態において、初期の地理座標に関連付けられた時間の長さは、現在のロケーション記録に関連付けられた時刻によって更新され得る。特定の実施形態において、新たなジオロケーション・データ・ポイントは、計算された距離が所定のしきい値距離を超えることに応じて作成され得る。後続のロケーション記録は、新たなジオロケーション・データ・ポイントに関連付けられた地理座標を更新するために使用され得る。特定の実施形態において、クライアント・システム１３０の移動の方向および速度は、時間の長さゼロによるロケーション記録に少なくとも部分的に基づいて決定され得る。限定ではなく一例として、移動中のクライアント・システム１３０に関連付けられた時間の長さはゼロであってよい。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、フィルタリングを使用して、複数のジオロケーション・データ・ポイントを分類することができる。一例として、クライアント・システム１３０が、ある期間静止していた、または特定の方向に特定の速度で移動中であることを、ソーシャルネットワーキング・システム１６０は決定することができる。
【００１４】
特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、クライアント・システム１３０からの複数のロケーション記録をグループ化して、複数のジオロケーション・データ・ポイントを表す地理的クラスタを決定することができる。限定ではなく一例として、複数のジオロケーション・データ・ポイントは、後述のように、空間クラスタリング・アルゴリズムを使用してグループ化され得る。特定の実施形態において、空間クラスタリング・アルゴリズムは、複数のジオロケーション・データ・ポイントを、１つまたは複数の地理的クラスタとして表すことができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、後述のように、空間クラスタリング・アルゴリズムを使用して決定された地理的中心に少なくとも部分的に基づいて、ユーザ１０１の時間ベースのルーチンを推論することができる。後述のように、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ジオロケーション・クラスタを、１つまたは複数のルーチン・クラスタにグループ化することができる。後述のように、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ルーチン・クラスタのルーチンの中心に基づいてユーザ１０１のパターンを決定することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ルーチンの中心の１つまたは複数に対応する場所を決定することができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ディレクトリ情報のデータベースにアクセスし、ルーチンの中心の１つまたは複数を特定の住所に関連付けることができる。
【００１５】
上述のように、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、クライアント・システム１３０上で実行されるアプリケーションによって行われるロケーション決定のポーリング頻度を状況に応じて調整することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ルーチンの中心の１つまたは複数に対応する場所、およびルーチンの中心に関連付けられた時刻に少なくとも部分的に基づいてロケーション記録のポーリング頻度を調整することができる。限定ではなく一例として、ユーザ１０１の現在のジオロケーションがホーム・ロケーションであり、その時間中は通常、ユーザ１０１がホーム・ロケーションにいると推論されるときは、ポーリング頻度は減少され得る。別の例として、ユーザ１０１の現在のジオロケーションが職場であり、その時間中は通常、ユーザ１０１が職場で働いていると推論されるときは、ポーリング頻度は減少され得る。上述のように、ポーリング頻度を減少させることによって、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０によって送信されたアクティブ化信号数が減少し、それによってロケーション記録の数が減少する。
【００１６】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、クライアント・システム１３０の複数のロケーション記録から推論される時間ベースのルーチンからユーザ１０１が逸脱すると、そのことを検出することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、クライアント・システム１３０の現在のロケーション記録と、ユーザ１０１のルーチンの中心との間の距離を計算することに少なくとも部分的に基づいて、時間ベースのルーチンからの逸脱を決定することができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、クライアント・システム１３０の現在のロケーションまでの最小距離を有するジオロケーションのパターンから特定のルーチンの中心を決定することができる。特定の実施形態において、特定のルーチンの中心は、クライアント・システム１３０のロケーション・データの時間情報のうち曜日および時刻に対応する。上述のように、ソーシャルネットワーク・システム１６０またはサードパーティ・システム１７０は、ルーチンの中心の１つまたは複数、およびルーチンの中心に関連付けられた時刻に対応する場所に少なくとも部分的に基づいて、ロケーション記録のポーリング頻度を調整することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ユーザ１０１の推論されたルーチンからの逸脱を検出することに応じて、ポーリング頻度を増加させることができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ユーザ１０１の推論された勤務時間中にユーザ１０１の現在のジオロケーションがユーザ１０１の推論されたワーク・ロケーションから逸脱することを検出することに応じて、ポーリング頻度を増加させることができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ルーチンの中心の１つまたは複数、およびルーチンの中心に関連付けられた時刻に対応する推論された場所に少なくとも部分的に基づいて、緊急事態が発生していることを決定することができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ユーザ１０１または他のユーザが、推論された時間ベースのルーチンから実質的に同時に逸脱していることを決定することに応じて、緊急事態が発生していることを推論することができる。例えば、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ユーザ１０１および他のユーザの現在のジオロケーションが、実質的に同時に職場から逸脱していることを決定することに応じて、緊急事態が発生していることを決定することができる。別の例として、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ユーザの現在のジオロケーションが、ルーチンの中心から、場所に対応しない通常とは異なるジオロケーション、例えば隔離されたロケーションへと、長期間逸脱していることを決定することに応じて、緊急事態が発生していることを決定することができる。
【００１７】
ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、上述のように、ユーザ１０１の時間ベースのルーチンにアクセスし、クライアント・システム１３０の現在のロケーションからの最小距離を有するユーザ１０１のルーチンの中心を決定することができる。特定の実施形態において、時間ベースのルーチンからのユーザ１０１の逸脱の測定は、クライアント・システム１３０の現在のロケーションと、ユーザ１０１の最も近いルーチンの中心との間の距離に少なくとも部分的に基づいて決定され得る。限定ではなく一例として、ソーシャルネットワーキング・システム１６０は、クライアント・システム１３０の現在のロケーションと、最も近いルーチンの中心との間の距離が、勤務時間中の所定の距離よりも大きいことを決定し、ユーザ１０１が休暇中であることを推論することができる。
【００１８】
特定の実施形態において、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０は、ソーシャル・グラフ情報、およびユーザ１０１による時間ベースのルーチンの逸脱の決定に少なくとも部分的に基づいて、ユーザ１０１と関係を有する別のユーザに通知を送信することができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０は、ユーザ１０１が勤務時間中にサン・フランシスコにいるとき、勤務時間中の最も可能性の高いロケーションがメンロー・パークであるユーザ１０１が時間ベースのルーチンから逸脱していることを決定することができる。また、ソーシャルネットワーキング・システム１６０は、ユーザ１０１に関連付けられたソーシャル・グラフ情報に少なくとも部分的に基づいて、ユーザ１０１と関係を有する他のユーザの現在のロケーションを決定することができる。特定の実施形態において、ユーザ１０１の現在のロケーションから所定の距離内に現在位置するユーザ１０１に対して関係を有する他のユーザは、ユーザ１０１の現在のロケーションの通知を受信することができる。限定ではなく一例として、現在サン・フランシスコにいる別のユーザは、時間ベースのルーチンが、ユーザ１０１が通常はメンロー・パークにいることを示すことに応じて、ユーザ１０１がサン・フランシスコにいるという通知を受信することができる。
【００１９】
特定の実施形態において、ユーザ１０１の情報は、ユーザ１０１の時間ベースのルーチンに少なくとも部分的に基づいて推論され得る。特定の実施形態において、ソーシャルネットワーキング・システムは、１つまたは複数のデータベースに格納された情報を、ユーザ１０１に関連付けられた時間ベースのルーチンと相関させて、ユーザ１０１の情報を推論することができる。データベースに格納された情報は、ユーザ１０１に関連付けられたソーシャル・グラフ情報、またはビジネスおよびその物理的なロケーションの情報を含むことができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０は、多くの人は毎週平日の午前２：００〜５：００の間はホーム・ロケーションにいるという仮定、およびその時間におけるユーザ１０１の最も可能性の高いロケーションに関連付けられたジオロケーションに少なくとも部分的に基づいて、ユーザ１０１のホーム・ロケーションを推論することができる。別の例として、ソーシャルネットワーキング・システム１６０は、多くの人は毎週平日の午後２：００〜５：００の間は職場にいるという仮定、およびその時間におけるユーザ１０１の最も可能性の高いロケーションに関連付けられたジオロケーションと一致するジオロケーションを有するビジネスの情報に少なくとも部分的に基づいて、ユーザ１０１の勤務場所を推論することができる。別の例として、ユーザ１０１に関連付けられた職場および勤務時間の決定に基づいて、ソーシャルネットワーキング・システム１６０は、ユーザ１０１が、職場に到着する前の時刻におけるコーヒー・ショップのジオロケーションにルーチンの中心を有することに少なくとも部分的に基づき、職場に行く途中の特定のコーヒー・ショップの常連であることを推論することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、後述のように、ユーザ１０１の時間ベースのルーチンに基づく推論された情報に応じて、ユーザ１０１に関連付けられたソーシャル・グラフ情報を変更または追加することができる。
【００２０】
図２Ａ〜図２Ｃは、周辺ロケーション記録の例示的なグループ化を示す。上述のように、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、空間クラスタリング・アルゴリズムを使用して、例えば１時間などの所定の時間間隔にわたって得られるロケーション記録をフィルタリングすることによって得られた複数のジオロケーション・データ・ポイント５０をグループ化することができる。限定ではなく一例として、空間クラスタリングは、例えば午後４：００〜４：５９の間、または午前１２：００〜１２：５９の間に得られたジオロケーション・データ・ポイント５０に対して行われ得る。特定の実施形態において、空間クラスタリング・アルゴリズムは、ジオロケーション・データ・ポイント５０のセットを、１つまたは複数のジオロケーション・クラスタ５４として表す。図２Ａに示されるように、特定の実施形態において、所定の数のジオロケーション・クラスタ５４のジオロケーション・セントロイド（geo-location centroid）５２は、ジオロケーション・データ・ポイント５０の中に実質的にランダムに分配され得る。図２Ａの例に示されるように、ジオロケーション・データ・ポイント５０は、ジオロケーション・データ・ポイント５０とジオロケーション・セントロイド５２との間の距離に少なくとも部分的に基づいて、特定のジオロケーション・クラスタ５４に割り当てられ得る。限定ではなく一例として、各ジオロケーション・データ・ポイント５０は、特定のジオロケーション・クラスタ５４のジオロケーション・セントロイド５２と、ジオロケーション・データ・ポイント５０との間の最小距離を有する特定のジオロケーション・クラスタ５４に割り当てられ得る。図２Ｂに示されるように、特定の実施形態において、各ジオロケーション・クラスタ５４について、各ジオロケーション・クラスタ５４内のすべてのジオロケーション・データ・ポイント５０の中心を計算してよく、ジオロケーション・セントロイド５２が、各ジオロケーション・クラスタ５４のジオロケーション・データ・ポイント５０の中心のロケーションに更新される。図２Ｂの例に示されるように、ジオロケーション・セントロイド５２は、ジオロケーション・データ・ポイント５０を切り離すジオロケーションであってよい。
【００２１】
図２Ｃの例に示されるように、ジオロケーション・クラスタ５４は、各ジオロケーション・データ・ポイント５０に最も近いジオロケーション・セントロイド５２を有する特定のジオロケーション・クラスタ５４に各ジオロケーション・データ・ポイント５０を割り当てることに少なくとも部分的に基づいて各ジオロケーション・データ・ポイント５０を特定のジオロケーション・クラスタ５４に割り当てることによって、再編成することができる。特定の実施形態において、図２Ａ〜図２Ｃに示されるような、ジオロケーション・クラスタ５４の中心を計算する工程、ジオロケーション・セントロイド５２を各ジオロケーション・クラスタ５４内のジオロケーション・データ・ポイント５０の中心のロケーションに更新する工程、およびジオロケーション・クラスタ５４を再編成する工程は、所定の回数行われ得る。本開示は、空間クラスタリングの特定の方法を使用して複数のジオロケーション・データ・ポイントをグループ化することを記載しているが、本開示は、例えばｋ平均法または階層的クラスタリングなど、空間クラスタリングの任意の適切な方法を使用して複数のジオロケーション・データ・ポイントをグループ化することを企図している。特定の実施形態において、空間クラスタリングにより計算されたジオロケーション・セントロイド５２は、ソーシャルネットワーキング・システムまたはサードパーティ・システムによって格納され得る。
【００２２】
特定の実施形態において、後続のジオロケーション・データ・ポイント５０は、ジオロケーション・クラスタ５４のジオロケーション・セントロイド５２をより正確にするために使用され得る。限定ではなく一例として、後続のジオロケーション・データ・ポイント５０は、後続のジオロケーション・データ・ポイント５０と各ジオロケーション・クラスタ５４のジオロケーション・セントロイド５２との間の距離が所定のしきい値未満であることに少なくとも部分的に基づいて、ジオロケーション・クラスタ５４のうちの１つに加えられ得る。特定の実施形態において、新たなジオロケーション・クラスタ５４は、後続のジオロケーション・データ・ポイント５０と各ジオロケーション・クラスタ５４のジオロケーション・セントロイド５２との間の距離が所定のしきい値を超えることに応じて、後続のジオロケーション・データ・ポイント５０から形成され得る。
【００２３】
図３Ａ〜図３Ｄは、時間ベースのルーチンの推定を示す。上述のように、図２Ａ〜図２Ｃの例に示されるように特定の日の各所定の時間間隔についてジオロケーション・クラスタ５４を生成するために、各曜日について特定の所定の時間間隔の間に得られたロケーション・データに対して空間クラスタリングが行われ得る。特定の実施形態において、ルーチンの中心５６Ａ〜５６Ｃは、ユーザに関連付けられたクライアント・デバイスのジオロケーションのスナップショットを形成するために、特定の時刻および特定の曜日に計算されたジオロケーション・セントロイドの空間クラスタリングによって生成され得る。限定ではなく一例として、各曜日の各所定の時間期間について計算された地理的クラスタのジオロケーション・セントロイドの、図２Ａ〜図２Ｃの例に示されるような空間クラスタリングは、例えば２８日間など所定の期間にわたって、例えば１時間間隔など特定の時間間隔で、例えば月曜日など特定の曜日に行われて、ルーチンの中心５６Ａ〜５６Ｃを計算することができる。特定の実施形態において、ジオロケーション・セントロイドの中心を計算する工程、ルーチンの中心５６Ａ〜５６Ｃをジオロケーション・セントロイドの各グループ内のジオロケーション・セントロイドの中心のロケーションに更新する工程、およびジオロケーション・セントロイドの各グループを再編成する工程は、所定の回数行われ得る。図３Ａ〜図３Ｄの例において、３人の特定のユーザに関連付けられた１つまたは複数のルーチンの中心５６Ａ〜５６Ｃは、計算されたジオロケーション・セントロイドの空間クラスタリングによって特定の曜日の特定の時刻について決定され得る。
【００２４】
図３Ａの例に示されるように、例えば午前８時など特定の時刻、および例えば月曜日など特定の曜日に、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、各ユーザに関連付けられたルーチンの中心５６Ａ〜５６Ｃを決定することができる。図３Ａの例において、第１および第２のユーザに対する単一のルーチンの中心５６Ａおよび５６Ｂはそれぞれ、第１および第２のユーザが、所定の期間全体を通して特定の曜日の特定の時刻の間は一貫して特定のジオロケーションにいることを示すことができる。これに対して、第３のユーザに関連付けられた複数のルーチンの中心５６Ｃは、その曜日のその時刻の間、第３のユーザのジオロケーションにばらつきがあることを表すことができる。
【００２５】
図３Ｂの例において、月曜日の午前９時には、第２のユーザに関連付けられたルーチンの中心５６Ｂは、図３Ａの例に示されるような過去の時刻と実質的に同じジオロケーションにある。第１および第３のユーザに関連付けられた複数のルーチンの中心５６Ａおよび５６Ｃはそれぞれ、特定の時刻および曜日における第１および第３のユーザのジオロケーションにばらつきがあることを表すことができる。図３Ｃの例において、第３のユーザに関連付けられたルーチンの中心５６Ｃは、所定の期間全体を通して特定の曜日の特定の時刻の間は一貫して特定のジオロケーションにある。第１のユーザに関連付けられたルーチンの中心５６Ａは、図３Ａおよび図３Ｂの例に示されるものよりも小さな地理的エリア内にある。図３Ｃの例において、第１および第３のユーザに関連付けられたルーチンの中心５６Ａおよび５６Ｃはそれぞれ、比較的小さな地理的エリア内にある。特定の実施形態において、特定の曜日の特定の時刻のロケーション記録が、比較的小さな地理的エリアに限定されるとき、ルーチンの中心５６Ａ〜５６Ｃは、図３Ａ〜図３Ｃの例に示される詳細レベルに比較してより高い精度レベルまでルーチンの中心５６Ａ〜５６Ｃを決定することができる。
【００２６】
ユーザの時間ベースのルーチンは、ルーチンの中心５６Ａ〜５６Ｃに基づいて推論され得る。特定の実施形態において、ルーチンの中心５６Ａ〜５６Ｃは、ソーシャルネットワーキング・システムまたはサードパーティ・システムによって、所定の期間にわたるログとして格納され得る。限定ではなく一例として、ルーチンの中心５６Ａ〜５６Ｃは、ユーザに関連付けられたルーチンの中心５６Ａ〜５６Ｃのパターンを形成するために、ルーチンの中心５６Ａ〜５６Ｃの、時間経過に従うアニメーションによる連続または不連続なプレイバックとして表示され得る。ソーシャルネットワーキング・システムまたはサードパーティ・システムは、ルーチンの中心５６Ａ〜５６Ｃの１つまたは複数に対応する場所を決定することができる。限定ではなく一例として、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、ビジネス情報のデータベースにアクセスし、１つまたは複数のルーチンの中心５６Ａ〜５６Ｃを特定のビジネスに関連付けることができる。特定の実施形態において、ユーザが特定の曜日の特定の時刻に特定のジオロケーションにいることがある可能性は、特定の時刻に対応するジオロケーション・セントロイドが、特定のジオロケーションに対応する特定のルーチンの中心５６Ａ〜５６Ｃ内にある割合を計算することによって推定され得る。限定ではなく一例として、第１のユーザに関連付けられたルーチンの中心５６Ａが、特定の時刻に対応する１０箇所のジオロケーション・セントロイドのうち８箇所のジオロケーション・セントロイドを含む場合、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、特定の曜日の特定の時刻の間、８０％の確実性で第１のユーザがルーチンの中心５６Ａにいることを推論することができる。
【００２７】
上述のように、ユーザの情報は、ユーザの時間ベースのルーチンに少なくとも部分的に基づいて推論され得る。限定ではなく一例として、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、図３Ａの例によって示されるように、第１のユーザが月曜日の午前８時に単一のルーチンの中心５６Ａを有することに少なくとも部分的に基づいて、第１のユーザのホーム・ロケーションがサン・フランシスコの特定のロケーションであることを推論することができる。別の例として、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、図３Ｂおよび図３Ｃの例に示されるように、ルーチンの中心５６Ａのばらつきに少なくとも部分的に基づいて、第１のユーザが通勤中であり得ることを推論することができる。限定ではなく一例として、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、データベースにアクセスして、ルーチンの中心５６Ａが特定の高速道路に対応することを決定し、第１のユーザが職場に通勤中であることを推論することができる。また、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、図３Ｄの例に示されるように、例えば午後１時などの勤務時間中に比較的小さな地理的エリア内にルーチンの中心５６Ａを有すること、およびルーチンの中心５６Ａに対応するジオロケーションを、ソーシャルネットワーキング・システムまたはサードパーティ・システムの１つまたは複数のデータベースに格納された職場と相関させることに基づいて、第１のユーザの職場を推論することができる。
【００２８】
上述のように、推論される時間ベースのルーチンから特定のユーザが逸脱することに応じて、特定のユーザに対して関係を有するユーザに、通知が送信され得る。特定の実施形態において、ソーシャルネットワーキング・システムまたはサードバーティ・システムは、ユーザの現在のジオロケーションまでの最小距離を有するルーチンの中心５６Ａ〜５６Ｃのパターンから、特定のルーチンの中心５６Ａ〜５６Ｃを決定する。ソーシャルネットワーキング・システムまたはサードパーティ・システムは、パターンの特定のルーチンの中心５６Ａ〜５６Ｃと現在のジオロケーションとの距離を決定し、特定のルーチンの中心５６Ａ〜５６Ｃと現在のジオロケーションとの間の距離が所定の逸脱しきい値よりも長いことに応じて、１つまたは複数の他のユーザに通知を送信することができる。限定ではなく一例として、図３Ｄの例に示されるように、第１のユーザが月曜日の午後１時には通常メンロー・パークにいることを示すルーチンの中心５６Ａから逸脱する、第１のユーザがその曜日のその時刻にサン・フランシスコにおいてロケーション記録を有することに応じて、第１のユーザに対して「友達」関係を有するユーザに通知が送信され得る。また、ユーザの現在のジオロケーションと第１のユーザの現在のジオロケーションとの間の距離が所定の近接しきい値よりも短い場合、第１のユーザに対して関係を有するユーザに、通知が送信され得る。限定ではなく一例として、第１のユーザが、サン・フランシスコにいることによりユーザのルーチンから逸脱していることの通知は、サン・フランシスコの現在のジオロケーションを有する「友達」に送信され得る。
【００２９】
図４は、例示的なモバイル・デバイスを示す。特定の実施形態において、クライアント・システムは、上述のようにモバイル・デバイス１３０であってよい。本開示は、モバイル・デバイス１３０が任意の適切な物理的形態を取ることを企図している。特定の実施形態において、モバイル・デバイス１３０は、後述のようにコンピューティング・システムであってよい。限定ではなく一例として、モバイル・デバイス１３０は、シングルボード・コンピュータ・システム（ＳＢＣ）（例えば、コンピュータ・オン・モジュール（ＣＯＭ）もしくはシステム・オン・モジュール（ＳＯＭ）など）、ラップトップもしくはノートブック・コンピュータ・システム、モバイル電話、スマートフォン、パーソナル・デジタル・アシスタント（ＰＤＡ）、タブレット・コンピュータ・システム、またはこれらの２つ以上の組合せであってよい。特定の実施形態において、モバイル・デバイス１３０は、入力構成要素としてタッチ・センサ１２を有することができる。図４の例において、タッチ・センサ１２は、モバイル・デバイス１３０の表面に組み込まれている。静電容量式タッチ・センサの場合、２つのタイプの電極、すなわち送信用および受信用があり得る。これらの電極は、電気パルスによって送信電極を駆動しタッチまたは近接入力により生じる受信電極からのキャパシタンスの変化を測定するように設計された制御装置に接続され得る。図４の例において、１つまたは複数のアンテナ１４Ａおよび１４Ｂは、モバイル・デバイス１３０の１つまたは複数の側面に組み込まれ得る。アンテナ１４Ａおよび１４Ｂは、電流を電波に、またはその逆に変換する構成要素である。信号の送信中、送信機は、発振する無線周波数（ＲＦ）電流をアンテナ１４Ａおよび１４Ｂの端子に印加し、アンテナ１４Ａおよび１４Ｂは、印加された電流のエネルギーを電磁（ＥＭ）波として放射する。信号の受信中、アンテナ１４Ａおよび１４Ｂは、入来するＥＭ波をアンテナ１４Ａおよび１４Ｂの端子において電圧に変換する。電圧は、受信機に送信されて増幅され得る。
【００３０】
上述のように、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、アクティブ化信号を使用してモバイル・デバイス１３０をポーリングまたは「ピン」して、ロケーション情報を得ることができる。限定ではなく一例として、ソーシャルネットワーキング・システムは、アクティブ化信号を送信してモバイル・デバイス１３０のロケーション・サービスをアクティブ化することにより、ロケーション・データのための、モバイル・デバイス１３０によって実行されるアプリケーションをポーリングすることができる。アクティブ化信号は、例えば、ＷＩ−ＦＩまたは第３世代移動通信（３Ｇ）など、ワイヤレス通信プロトコルを使用して送信され、１つまたは複数のアンテナ１４Ａおよび１４Ｂを介してモバイル・デバイス１３０によって受信され得る。特定の実施形態において、モバイル・デバイス１３０のロケーション・サービスは、例えば、１つまたは複数のセルラ・タワーのロケーション、ＷＩ−ＦＩホットスポットに関連付けられたクラウドソーシングのロケーション情報、またはモバイル・デバイス１３０のＧＰＳ機能を使用するなど、ロケーション決定の１つまたは複数の方法を使用することができる。
【００３１】
上述のように、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、所定のサンプリング期間の終了時に、モバイル・デバイス１３０によって実行されるアプリケーションにアクティブ化信号を送信することができる。アプリケーションは、送信信号を受信することに応じて、ソーシャルネットワーキング・システムまたはサードパーティ・システムに、取得したロケーション・データなどの関連データを送信することができる。特定の実施形態において、追加のロケーションサービス・アクティブ化信号が、ロケーション・データの取得中にモバイル・デバイス１３０に定期的に送信されて、ロケーション・データが取得される前にアプリケーションがスリープ・モードに戻らないようにする。上述のように、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、モバイル・デバイス１３０が静止しているか移動中であるかに基づいて、モバイル・デバイス１３０に送信されたデータの量を調整することができる。特定の実施形態において、モバイル・デバイス１３０のロケーション・サービスは、所定のサンプリング期間モバイル・デバイス１３０のアプリケーションをアクティブにする１つまたは複数のロケーションサービス・アクティブ化信号を受信すると、所定のサンプリング期間アクティブ化される。
【００３２】
アプリケーションは、ロケーションサービス・アクティブ化信号を受信することに応じて、モバイル・デバイス１３０のロケーション・サービスをアクティブ化する。特定の実施形態において、モバイル・デバイス１３０のロケーション・サービスは、例えば、１つまたは複数のセルラ・タワーのロケーション、ＷＩ−ＦＩホットスポットに関連付けられたクラウドソーシングのロケーション情報、またはモバイル・デバイス１３０のＧＰＳ機能を使用するなど、ロケーション決定の１つまたは複数の方法を使用することができる。特定の実施形態において、モバイル・デバイス１３０のアプリケーションは、ロケーション・データ、および、例えば、近隣のセルラ・タワーからの信号強度など他の関連データを送信することができる。特定の実施形態において、モバイル・デバイス１３０のオペレーティング・システム（ＯＳ）は、モバイル・デバイス１３０のロケーション・サービスによって使用される様々な方法によって、データの収集に対してアービトレーションを行うことができる。限定ではなく一例として、モバイル・デバイス１３０のロケーション・サービスによって使用される方法は、ロケーション測定の所定のサンプリング期間に少なくとも部分的に依存することができる。限定ではなく一例として、アプリケーションは、モバイル・デバイス１３０が所定のサンプリング期間内にＧＰＳデータを取得できるかどうかに少なくとも部分的に依存して、ＧＰＳデータをロケーション情報の主なソースとして使用することができる。別の例として、モバイル・デバイス１３０が所定のサンプリング期間内にＧＰＳデータを取得できない場合、アプリケーションは、１つまたは複数のセルラ・タワーまたはＷＩ−ＦＩホットスポットを使用して決定されたロケーションを使用することができる。本開示は、ロケーション決定の特定の方法を使用したロケーション・サービスを記載しているが、本開示は、ロケーション検出の任意の適切な方法または方法の組合せを使用したロケーション・サービスを企図している。
【００３３】
特定の実施形態において、モバイル・デバイス１３０上で実行されるアプリケーションは、スリープ・モードからアプリケーションをウェイクさせるアクティブ化信号を受信し、例えば１０秒など、所定のサンプリング期間モバイル・デバイス１３０のロケーション・サービスをアクティブ化させる。上述のように、ソーシャルネットワーキング・システムまたはサードパーティ・システムは、モバイル・デバイス１３０の移動距離に従って、ポーリング頻度（すなわち、各信号送信間の時間間隔）およびサンプリング期間を調整することができる。所定のサンプリング期間は、ロケーション・データの所望の精度に少なくとも部分的に依存する。所定のサンプリング期間を長くすると、アプリケーションがＧＰＳデータを取得するより高い可能性を有すること、またはロケーション・サービスがより詳細なＧＰＳデータを取得できること、に少なくとも部分的に起因して、モバイル・デバイス１３０のロケーションの精度が高まる。
【００３４】
図５は、周辺ロケーション更新をグループ化するための例示的な方法を示す。この方法は、工程３００において開始することができ、ここでコンピューティング・デバイスは、ユーザに関連付けられたモバイル・コンピューティング・デバイスからロケーション・データを受信する。特定の実施形態において、ロケーション・データは、ユーザからの手操作入力なしに自動的に送信される、１つまたは複数のロケーション記録を含むことができる。工程３０２は、ロケーション・データを１つまたは複数のジオロケーション・データ・ポイントとして表す。特定の実施形態において、この表示は、ロケーション記録とジオロケーション・データ・ポイントとの間の距離に少なくとも部分的に基づくことができる。工程３０４において、コンピューティング・デバイスは、ジオロケーション・データ・ポイントの１つまたは複数を、１つまたは複数のジオロケーション・クラスタにグループ化し、この時点で、方法は終了することができる。特定の実施形態において、グループ化は、各ジオロケーション・データ・ポイントと各ジオロケーション・クラスタのジオロケーション・セントロイドとの間の距離に少なくとも部分的に基づくことができる。本開示は、図５の方法の特定の工程を特定の順序で行われるものとして記載しかつ示しているが、本開示は、図５の方法の任意の適切な工程が任意の適切な順序で行われることを企図している。また、本開示は、特定の構成要素が図５の方法の特定の工程を実行することを記載しかつ示しているが、本開示は、任意の適切な構成要素の任意の適切な組合せが図５の方法の任意の適切な工程を実行することを企図している。
【００３５】
図６は、ルーチンの推定のための例示的な方法を示す。この方法は、工程３１０において開始することができ、ここでコンピューティング・デバイスは、１つまたは複数のジオロケーション・クラスタの各々のジオロケーション・セントロイドを決定する。特定の実施形態において、ジオロケーション・セントロイドは、そのジオロケーション・クラスタ内の１つまたは複数のジオロケーション・データ・ポイントに対応する。ジオロケーション・データ・ポイントは、ユーザに関連付けられたモバイル・コンピューティング・デバイスからの１つまたは複数のロケーション記録を表すことができる。ジオロケーション・セントロイドは、特定の曜日の特定の時刻の間に得られたロケーション記録に少なくとも部分的に基づくことができる。特定の実施形態において、ロケーション・データは、ユーザからの手操作入力なしに自動的に送信される１つまたは複数のロケーション記録を含む。工程３１２は、コンピューティング・デバイスによって、１つまたは複数のジオロケーション・セントロイドを１つまたは複数のグループにグループ化する。工程３１４において、コンピューティング・デバイスは、各グループ内のいくつかのジオロケーション・セントロイドに少なくとも部分的に基づいて、時間ベースのルーチンを決定し、この時点で、方法は終了することができる。本開示は、図６の方法の特定の工程が特定の順序で行われるものとして記載しかつ示しているが、本開示は、図６の方法の任意の適切な工程が任意の適切な順序で行われることを企図している。また、本開示は、特定の構成要素が図６の方法の特定の工程を実行することを記載しかつ示しているが、本開示は、任意の適切な構成要素の任意の適切な組合せが、図６の方法の任意の適切な工程を実行することを企図している。
【００３６】
図７は、ユーザのパターンをラベリングするための例示的な方法を示す。この方法は、工程３２０において開始することができ、ここでコンピューティング・デバイスは、ユーザに関連付けられたログにアクセスする。特定の実施形態において、ログは、ある時点におけるユーザのジオロケーションをそれぞれが示すエントリを含む。ログは、ある期間にわたることができ、エントリのいくつかは、ユーザによる手操作入力なしに、ユーザのモバイル・コンピューティング・デバイスによって決定され報告されたジオロケーションに基づくことができる。特定の実施形態において、ロケーション・データは、ユーザによる手操作の入力なしに自動的に送信される１つまたは複数のロケーション記録を含む。工程３２２は、コンピューティング・デバイスによって、この時点におけるユーザのジオロケーションの中のパターンを決定する。工程３２４は、コンピューティング・デバイスによって、ジオロケーションのいくつかについてジオロケーションに対応する場所を決定する。工程３２６において、コンピューティング・デバイスは、パターンおよび場所に少なくとも部分的に基づいてユーザのルーチンを推論し、この時点で、方法は終了することができる。本開示は、図７の方法の特定の工程が特定の順序で行われるものとして記載しかつ説明しているが、本開示は、図７の方法の任意の適切な工程が任意の適切な順序で行われることを企図している。また、本開示は、特定の構成要素が図７の方法の特定の工程を実行すること記載しかつ示しているが、本開示は、任意の適切な構成要素の任意の適切な組合せが図７の方法の任意の適切な工程を実行することを企図している。
【００３７】
図８は、ルーチン逸脱通知を提供するための例示的な方法を示す。この方法は、工程３３０において開始することができ、ここでコンピューティング・デバイスは、ある期間にわたるユーザのいくつかのジオロケーションの中のパターンを決定する。特定の実施形態において、各ジオロケーションは、ユーザによる手操作入力なしにユーザのモバイル・コンピューティング・デバイスによって決定され報告される。工程３３２は、コンピューティング・デバイスによって、モバイル・コンピューティング・デバイスの現在のジオロケーションまでの最小距離を有する、パターンにおけるジオロケーションの中の特定のジオロケーションを決定する。工程３３４は、コンピューティング・デバイスによって、特定のジオロケーションと現在のジオロケーションとの間の距離を決定する。工程３３６において、コンピューティング・デバイスは、距離が所定の逸脱しきい値よりも長いことに応じて、他のユーザに現在のロケーションの通知を送信し、この時点で、方法は終了することができる。特定の実施形態において、他のユーザは、ユーザに関連付けられたソーシャル・グラフ情報に少なくとも部分的に基づいて、ユーザに対する関係を有する。本開示は、図８の方法の特定の工程が特定の順序で行われるものとして記載しかつ示しているが、本開示は、図８の方法の任意の適切な工程が任意の適切な順序で行われることを企図している。また、本開示は、特定の構成要素が図８の方法の特定の工程を実行することを記載しかつ示しているが、本開示は、任意の適切な構成要素の任意の適切な組合せが図８の方法の任意の適切な工程を実行することを企図している。
【００３８】
図９は、ユーザにルーチン逸脱を通知するための例示的な方法を示す。この方法は、工程３４０において開始することができ、ここでモバイル・コンピューティング・デバイスは、１つまたは複数のロケーション記録を含むロケーション・データを送信する。特定の実施形態において、ロケーション記録は、第１のユーザの現在のジオロケーションに対応する。工程３４２において、モバイル・コンピューティング・デバイスは、第２のユーザに関連付けられた特定のジオロケーションと、第２のユーザの現在のジオロケーションとの間の距離が所定の逸脱しきい値よりも大きいことに応じて、第２のユーザの現在のジオロケーションの通知を受信し、この時点で、方法は終了することができる。特定の実施形態において、パターンは、ある期間にわたる第２のユーザのジオロケーションを含む。また、特定のジオロケーションは、第２のユーザの現在のジオロケーションまでの最小距離を有することができる。第２のユーザは、第１のユーザに関連付けられたソーシャル・グラフ情報に少なくとも部分的に基づいて、第１のユーザに対する関係を有することができる。本開示は、図９の方法の特定の工程が特定の順序で行われるものとして記載しかつ示しているが、本開示は、図９の方法の任意の適切な工程が任意の適切な順序で行われることを企図している。また、本開示は、特定の構成要素が図９の方法の特定の工程を実行することを記載しかつ示しているが、本開示は、任意の適切な構成要素の任意の適切な組合せが図９の方法の任意の適切な工程を実行することを企図している。
【００３９】
図１０は、例示的なソーシャル・グラフを示す。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、１つまたは複数のデータ・ストア中に１つまたは複数のソーシャル・グラフ２００を格納することができる。特定の実施形態において、ソーシャル・グラフ２００は、複数のユーザ・ノード２０２または複数のコンセプト・ノード２０４を含むことができる複数のノードと、ノードをつなぐ複数のエッジ２０６とを含むことができる。図１０に示される例示的なソーシャル・グラフ２００は、教示目的で２次元の視覚的なマップ表示として示されている。特定の実施形態において、ソーシャルネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、ソーシャル・グラフ２００、および適切なアプリケーションのための関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ２００のノードおよびエッジは、例えば（ソーシャル・グラフ・データベースなどの）データ・ストアに、データ・オブジェクトとして格納され得る。こうしたデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の探索可能または照会可能なインデックスを含むことができる。
【００４０】
特定の実施形態において、ユーザ・ノード２０２は、ソーシャルネットワーキング・システム１６０のユーザに対応することができる。限定ではなく一例として、ユーザは、ソーシャルネットワーキング・システム１６０と対話する、またはソーシャルネットワーキング・システム１６０を介して通信する、個人（人間のユーザ）、エンティティ（例えば、企業、ビジネス、もしくはサードパーティのアプリケーション）、またはグループ（例えば、個人もしくは企業の）であってよい。特定の実施形態において、ユーザがソーシャルネットワーキング・システム１６０にアカウントの登録をするとき、ソーシャルネットワーキング・システム１６０はユーザに対応するユーザ・ノード２０２を作成し、ユーザ・ノード２０２を１つまたは複数のデータ・ストアに格納することができる。本明細書に記載されるユーザおよびユーザ・ノード２０２は、必要な場合、登録されたユーザ、および登録されたユーザに関連付けられたユーザ・ノード２０２を指すことができる。これに加えて、または代替として、本明細書に記載されるユーザおよびユーザ・ノード２０２は、必要な場合、ソーシャルネットワーキング・システム１６０にまだ登録されていないユーザを指すことができる。特定の実施形態において、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム１６０を含む様々なシステムによって集められた情報に関連付けられ得る。限定ではなく一例として、ユーザは、自分の名前、プロファイル・ピクチャ、コンタクト情報、生年月日、性別、婚姻状況、家族状況、職業、学歴、好み、関心、または他の人口統計情報を提供することができる。特定の実施形態において、ユーザ・ノード２０２は、ユーザに関連付けられた情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態において、ユーザ・ノード２０２は、１つまたは複数のウェブページに対応することができる。
【００４１】
特定の実施形態において、ユーザ・ノード２０２は、ユーザの時間ベースのルーチンから推論された情報に関連付けられ得る。限定ではなく一例として、ユーザのホーム・ロケーションは、例えば午前２：００〜５：００など特定の時間に得られたルーチンの中心から推論され、ユーザのホーム・ロケーションはユーザ・ノード２０２に関連付けられ得る。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、ユーザによって提供された情報を増強することができ得る。限定ではなく一例として、ユーザは、サン・フランシスコのホーム・ロケーションを提供することができ、ソーシャルネットワーキング・システム１６０は、サン・フランシスコの特定のエリアまたはストリート内の精度でユーザのホーム・ロケーションを推論することができる。また、ソーシャルネットワーキング・システムは、エリアまたはストリート情報をユーザ・ノード２０２に関連付けることができる。
【００４２】
特定の実施形態において、コンセプト・ノード２０４は、コンセプトに対応することができる。限定ではなく一例として、コンセプトは、場所（例えば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（例えば、ソーシャルネットワーキング・システム１６０に関連付けられたウェブサイトもしくはウェブアプリケーション・サーバに関連付けられたもしくはサードパーティ・ウェブサイトなど）、エンティティ（例えば、人、ビジネス、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャルネットワーキング・システム１６０内もしくはウェブアプリケーション・サーバなど外部サーバ上に配置され得るリソース（例えば、オーディオ・ファイル、ビデオ・ファイル、デジタル・フォト、テキスト・ファイル、構造化ドキュメント、もしくはアプリケーションなど）、不動産もしくは知的財産（例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、もしくは著作など）、ゲーム、アクティビティ、アイデアもしくは理論、別の適切なコンセプト、または２つ以上のこうしたコンセプトに対応することができる。コンセプト・ノード２０４は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム１６０を含む様々なシステムによって集められた情報に関連付けられ得る。限定ではなく一例として、コンセプトの情報は、名前もしくは肩書き、１つもしくは複数の画像（例えば、書籍のカバー・ページの画像）、ロケーション（例えば、アドレスもしくは地理的ロケーション）、（ＵＲＬに関連付けられ得る）ウェブサイト、コンタクト情報（例えば、電話番号もしくはＥメール・アドレス）、他の適切なコンセプト情報、またはこうした情報の任意の適切な組合せを含むことができる。特定の実施形態において、コンセプト・ノード２０４は、コンセプト・ノード２０４に関連付けられた情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態において、コンセプト・ノード２０４は、１つまたは複数のウェブページに対応することができる。
【００４３】
特定の実施形態において、ソーシャル・グラフ２００中のノードは、（「プロファイル・ページ」と呼ばれることがある）ウェブページを表すことができ、またはこうしたウェブページによって表され得る。プロファイル・ページは、ソーシャルネットワーキング・システム１６０によってホストされてよく、またはソーシャルネットワーキング・システム１６０にアクセス可能としてもよい。また、プロファイル・ページは、サードパーティ・サーバ１７０に関連付けられたサードパーティ・ウェブサイト上でホストされ得る。限定ではなく一例として、特定の外部ウェブページに対応するプロファイル・ページは、その特定の外部ウェブページであってよく、プロファイル・ページは、特定のコンセプト・ノード２０４に対応することができる。プロファイル・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧可能であってよい。限定ではなく一例として、ユーザ・ノード２０２は、対応するユーザが、コンテンツを追加し、告知をし、または、さもなければ自己紹介をすることができる、対応するユーザプロファイル・ページを有することができる。限定ではなく別の例として、コンセプト・ノード２０４は、特にコンセプト・ノード２０４に対応するコンセプトに対して、１または複数のユーザが、コンテンツを追加し、告知をし、または自己紹介をすることができる、対応するコンセプトプロファイル・ページを有することができる。
【００４４】
特定の実施形態において、コンセプト・ノード２０４は、サードパーティ・システム１７０によってホストされたサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、他の要素の中に、アクションまたはアクティビティを表す（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＡＪＡＸ、またはＰＨＰのコードで実装され得る）コンテンツ、選択可能もしくはその他のアイコン、または他の相互に動作可能なオブジェクトを含むことができる。限定ではなく一例として、サードパーティ・ウェブページは、「いいね！」、「チェックイン」、「たべる」、「おすすめ」、または別の適切なアクションまたはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、アイコンのうちの１つ（例えば「たべる」）を選択することによってアクションを行い、クライアント・システム１３０がソーシャルネットワーキング・システム１６０にユーザのアクションを示すメッセージを送信するようにさせることができる。メッセージに応じて、ソーシャルネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード２０４との間にエッジ（例えば、「たべる」エッジ）を作成し、エッジ２０６を１つまたは複数のデータ・ストアに格納することができる。
【００４５】
特定の実施形態において、ソーシャル・グラフ２００における１対のノードは、１つまたは複数のエッジ２０６によって互いにつながっていてよい。１対のノードをつなぐエッジ２０６は、１対のノード間の関係を表すことができる。特定の実施形態において、エッジ２０６は、１対のノード間の関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むまたは表すことができる。限定ではなく一例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であることを示すことができる。この指標に応じて、ソーシャルネットワーキング・システム１６０は、「友達リクエスト」を第２のユーザに送信することができる。第２のユーザが「友達リクエスト」を承認する場合、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００において第１のユーザのユーザ・ノード２０２と第２のユーザのユーザ・ノード２０２とをつなぐエッジ２０６を作成し、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア２４の１つまたは複数に格納することができる。図１０の例において、ソーシャル・グラフ２００は、ユーザ「Ａ」およびユーザ「Ｂ」の各ユーザ・ノード２０２間の友達関係を示すエッジ２０６、ならびにユーザ「Ｃ」およびユーザ「Ｂ」の各ユーザ・ノード２０２間の友達関係を示すエッジを含む。本開示は、特定のユーザ・ノード２０２をつなぐ特定の属性を有する特定のエッジ２０６を記載しまたは示しているが、本開示は、ユーザ・ノード２０２をつなぐ任意の適切な属性を有する任意の適切なエッジ２０６を企図している。限定ではなく一例として、エッジ２０６は、交友関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワ関係、ビジタ関係、加入者関係、主従関係、相互関係、非相互関係、別の適切なタイプの関係、または２つ以上のこうした関係を表すことができる。また、本開示は全般的に、ノードがつながっているものとして記載しているが、本開示はまた、ユーザまたはコンセプトがつながっているものとしても記載している。本明細書において、ユーザまたはコンセプトがつながっているということへの言及は、必要な場合、こうしたユーザまたはコンセプトに対応するノードが、１つまたは複数のエッジ２０６によって、ソーシャル・グラフ２００においてつながっていることを指すことができる。上述のように、時間ベースのルーチンから逸脱するユーザに対して関係を有するユーザ・ノード２０２に関連付けられたユーザに、通知が送信され得る。限定ではなく一例として、ユーザ「Ａ」が、例えば、勤務時間中にサン・フランシスコにいることによってなど、時間ベースのルーチンから逸脱することに応じて、サン・フランシスコで働いており友達関係によってユーザ「Ａ」につながっているユーザ「Ｂ」に通知が送信され得る。
【００４６】
特定の実施形態において、ユーザ・ノード２０２とコンセプト・ノード２０４との間のエッジ２０６は、コンセプト・ノード２０４に関連付けられたコンセプトに向かうユーザ・ノード２０２に関連付けられたユーザによって行われる特定のアクションまたはアクティビティを表すことができる。限定ではなく一例として、図１０に示されるように、ユーザは、コンセプトに対して「いいね」、「通学済み」、「プレイ済み」、「聴取済み」、「調理済み」、「勤務済み」、または「視聴済み」を表すことができ、その各々は、エッジのタイプまたはサブタイプに対応することができる。コンセプト・ノード２０４に対応するコンセプトプロファイル・ページは、例えば、選択可能な「チェックイン」アイコン（例えばクリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこうしたアイコンをクリックした後に、ソーシャルネットワーキング・システム１６０は、各アクションに対応するユーザのアクションに応じて、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく別の例として、ユーザ（「ユーザＣ」）は、特定のアプリケーション（オンライン音楽アプリケーションのスポティファイ（ＳＰＯＴＩＦＹ）（登録商標））を使用して、特定の歌（「ランブル・オン」）を聴くことができる。この場合、ソーシャルネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、歌およびアプリケーションに対応するコンセプト・ノード２０４との間に（図１０に示されるような）「聴取済み」エッジ２０６および「使用済み」エッジを作成して、ユーザが歌を聴き、アプリケーションを使ったことを示すことができる。また、ソーシャルネットワーキング・システム１６０は、歌およびアプリケーションに対応する各コンセプト・ノード２０４間に（図１０に示されるような）「プレイ済み」エッジ２０６を作成して、特定の歌が特定のアプリケーションによってプレイされたことを示すことができる。この場合、「プレイ済み」エッジ２０６は、外部オーディオ・ファイル（歌「イマジン」）に対して外部アプリケーション（スポティファイ）によって行われるアクションに対応する。本開示は、ユーザ２０２とコンセプト・ノード２０４とをつなぐ特定の属性を有する特定のエッジ２０６を記載しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなぐ任意の適切な属性を有する任意の適切なエッジ２０６を企図している。また、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４との間のエッジが単一の関係を表すことを記載しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４との間のエッジが１つまたは複数の関係を表すことを企図している。限定ではなく一例として、エッジ２０６は、特定のコンセプトにおいて、ユーザが気に入っていることと、ユーザが使用したこととの両方を表すことができる。あるいは、別のエッジ２０６が、（図１０において、ユーザ「Ｅ」のユーザ・ノード２０２と「スポティファイ」のコンセプト・ノード２０４との間で示されるような）ユーザ・ノード２０２とコンセプト・ノード２０４との間の各タイプの関係（または複数の単一関係）を表すことができる。
【００４７】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００においてユーザ・ノード２０２とコンセプト・ノード２０４との間にエッジ２０６を作成することができる。限定ではなく一例として、（例えば、ユーザのクライアント・システム１３０によってホストされるウェブ・ブラウザまたは専用のアプリケーションを使用することによってなど）コンセプトプロファイル・ページを閲覧するユーザは、ユーザのクライアント・システム１３０に、コンセプトプロファイル・ページに関連付けられたコンセプトをユーザが好んでいることを示すメッセージをソーシャルネットワーキング・システム１６０に送信させ得る「いいね！」アイコンのクリックまたは選択によって、コンセプト・ノード２０４によって表されるコンセプトをユーザが気に入っていることを示すことができる。メッセージに応じて、ソーシャルネットワーキング・システム１６０は、ユーザとコンセプト・ノード２０４との間の「いいね」エッジ２０６によって示されるように、ユーザに関連付けられたユーザ・ノード２０２とコンセプト・ノード２０４との間にエッジ２０６を作成することができる。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、エッジ２０６を１つまたは複数のデータ・ストアに格納することができる。特定の実施形態において、エッジ２０６は、特定のユーザ・アクションに応じて、ソーシャルネットワーキング・システム１６０によって自動的に形成され得る。限定ではなく一例として、第１のユーザが、ピクチャをアップロードする、映画を観る、または歌を聴く場合、第１のユーザに対応するユーザ・ノード２０２と、こうしたコンセプトに対応するコンセプト・ノード２０４との間にエッジ２０６が形成され得る。本開示は、特定のエッジ２０６を特定の方法で形成することを記載しているが、本開示は、任意の適切なエッジ２０６を任意の適切な方法で形成することを企図している。
【００４８】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、上述のように、ユーザの時間ベースのルーチンから推論されたユーザの情報に応じて、ソーシャル・グラフ２００においてユーザ・ノード２０２とコンセプト・ノード２０４との間にエッジ２０６を作成することができる。限定ではなく一例として、ソーシャルネットワーキング・システム１６０は、ユーザの時間ベースのルーチン、および１つまたは複数のコンセプト・ノード２０４に関連付けられた情報に基づいて、ユーザ・ノード２０２に関連付けられたユーザが特定のコーヒー・ショップを気に入っていることを推論することができる。上述のように、ソーシャルネットワーキング・システム１６０は、ユーザの推論された職場に到着する前の時刻において、ユーザに関連付けられたルーチンの中心がコーヒー・ショップのロケーションに一致することに少なくとも部分的に基づいて、ユーザが特定のコーヒー・ショップによく行くことを推論することができる。また、ソーシャルネットワーキング・システムは、ユーザに関連付けられたユーザ・ノード２０２と特定のコーヒー・ショップに関連付けられたコンセプト・ノード２０４との間に「いいね」に対応するエッジ２０６を作成することができる。別の例として、ソーシャルネットワーキング・システムは、ユーザの推論された時間ベースのルーチンに少なくとも部分的に基づいて、ユーザ・ノード２０２と、ビジネスに対応するコンセプト・ノード２０４との間にエッジ２０６を作成することができる。上述のように、ソーシャルネットワーキング・システムは、ユーザが事業所にルーチンの中心を有することに基づいてユーザの雇用主を推論することができ、ユーザ・ノード２０２と、雇用主に対応するコンセプト・ノード２０４との間に「勤務済み」関係に対応するエッジ２０６を作成することができる。
【００４９】
別の例として、ソーシャルネットワーキング・システム１６０は、ユーザの時間ベースのルーチンに少なくとも部分的に基づいて、ユーザ・ノード２０２と、特定のタイプの音楽または特定のスポーツ・チームに対応するコンセプト・ノード２０４との間に「いいね」関係に対応するエッジ２０６を作成することができる。ソーシャルネットワーキング・システム１６０は、スポーツ・チームの会場にユーザがルーチンの中心を有することに応じて、ユーザ・ノード２０２と、特定のスポーツ・チームに対応するコンセプト・ノード２０４との間に「いいね」関係に対応するエッジ２０６を作成することができる。別の例として、ソーシャルネットワーキング・システム１６０は、特定のタイプの音楽に特化した、例えばジャズ・クラブなどの会場にユーザがルーチンの中心を有することに応じて、ユーザ・ノード２０２と、特定のタイプの音楽に対応するコンセプト・ノード２０４との間に「いいね」関係に対応するエッジ２０６を作成することができる。
【００５０】
図１１は、例示的なコンピューティング・システムを示す。特定の実施形態において、１つまたは複数のコンピュータ・システム６０は、本明細書に記載または示された１つまたは複数の方法の１つまたは複数の工程を行う。特定の実施形態において、１つまたは複数のコンピュータ・システム６０は、本明細書に記載または示された機能を提供する。特定の実施形態において、１つまたは複数のコンピュータ・システム６０上で動作するソフトウェアは、本明細書に記載もしくは示された１つもしくは複数の方法の１つもしくは複数の工程を行う、または本明細書に記載または示された機能を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム６０の１つまたは複数の部分を含む。本明細書において、コンピュータ・システムへの言及は、必要な場合、コンピューティング・デバイスを包含することができる。また、コンピュータ・システムへの言及は、必要な場合、１つまたは複数のコンピュータ・システムを包含することができる。
【００５１】
本開示は、任意の適切な数のコンピュータ・システム６０を企図している。本開示は、コンピュータ・システム６０が、任意の適切な物理的形態を取ることを企図している。限定ではなく一例として、コンピュータ・システム６０は、エンベデッド・コンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングル・ボード・コンピュータ・システム（ＳＢＣ）（例えば、コンピュータ・オン・モジュール（ＣＯＭ）もしくはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、パーソナル・デジタル・アシスタント（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２つ以上の組合せであってよい。必要な場合、コンピュータ・システム６０は、１つまたは複数のコンピュータ・システム６０を含むことができ、一体型または分散型であってよく、複数のロケーションにわたってもよく、複数のマシンにわたってもよく、複数のデータ・センタにわたってもよく、または１つまたは複数のネットワークに１つまたは複数のクラウド構成要素を含むことができるクラウドにあってもよい。必要な場合、１つまたは複数のコンピュータ・システム６０は、空間的にも時間的にも実質的に限定されることなく、本明細書に記載または示された１つまたは複数の方法の１つまたは複数の工程を行うことができる。限定ではなく一例として、１つまたは複数のコンピュータ・システム６０は、本明細書に記載または示された１つまたは複数の方法の１つまたは複数の工程を、リアルタイムまたはバッチ・モードで行うことができる。１つまたは複数のコンピュータ・システム６０は、必要な場合、本明細書に記載または示された１つまたは複数の方法の１つまたは複数の工程を、異なる時刻または異なるロケーションにおいて行うことができる。
【００５２】
特定の実施形態において、コンピュータ・システム６０は、プロセッサ６２、メモリ６４、ストレージ６６、入力／出力（Ｉ／Ｏ）インターフェース６８、通信インターフェース７０、およびバス７２を含む。本開示は、特定の構成に特定の数の特定の構成要素を有する特定のコンピュータ・システムを記載しかつ示しているが、本開示は、任意の適切な構成に任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図している。
【００５３】
特定の実施形態において、プロセッサ６２は、コンピュータ・プログラムを構成するものなど、命令を実行するためのハードウェアを含む。限定ではなく一例として、命令を実行するためにプロセッサ６２は、内部レジスタ、内部キャッシュ、メモリ６４、またはストレージ６６から命令を取得（またはフェッチ）し、命令をデコードして実行し、次いで１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ６４、またはストレージ６６に書き込むことができる。特定の実施形態において、プロセッサ６２は、データ、命令、またはアドレス用に、１つまたは複数の内部キャッシュを含むことができる。本開示は、必要な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ６２を企図している。限定ではなく一例として、プロセッサ６２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータ・キャッシュ、および１つまたは複数のトランスレーション・ルックアサイド・バッファ（ＴＬＢ）を含むことができる。命令キャッシュ中の命令は、メモリ６４またはストレージ６６中の命令のコピーであってよく、命令キャッシュは、プロセッサ６２による命令の取得を高速化することができる。データ・キャッシュ中のデータは、プロセッサ６２において実行する命令がその上で動作するようにメモリ６４もしくはストレージ６６中のデータのコピーであってよく、またはプロセッサ６２において実行する後続の命令によるアクセスのために、もしくはメモリ６４もしくはストレージ６６に書き込むためにプロセッサ６２において実行された過去の命令の結果であってよく、または他の適切なデータであってよい。データ・キャッシュは、プロセッサ６２による読み取りまたは書き込み動作を高速化することができる。ＴＬＢは、プロセッサ６２に対する仮想アドレス変換を高速化することができる。特定の実施形態において、プロセッサ６２は、データ、命令、またはアドレス用に、１つまたは複数の内部レジスタを含むことができる。本開示は、必要な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ６２を企図している。必要な場合、プロセッサ６２は、１つまたは複数の算術論理装置（ＡＬＵ）を含むことができ、マルチコア・プロセッサであってよく、または１つもしくは複数のプロセッサ６２を含んでもよい。本開示は、特定のプロセッサを記載しかつ示しているが、本開示は、任意の適切なプロセッサを企図している。
【００５４】
特定の実施形態において、メモリ６４は、プロセッサ６２が実行するための命令、またはプロセッサ６２がそれに対する動作をするためのデータを格納するための主メモリを含む。限定ではなく一例として、コンピュータ・システム６０は、ストレージ６６または別のソース（例えば、別のコンピュータ・システム６０など）からメモリ６４に命令をロードすることができる。次いで、プロセッサ６２は、メモリ６４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するためにプロセッサ６２は、内部レジスタまたは内部キャッシュから命令を取得し、命令をデコードすることができる。命令の実行中または実行後に、プロセッサ６２は、（途中結果または最終結果であり得る）１つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込むことができる。次いで、プロセッサ６２は、こうした結果の１つまたは複数をメモリ６４に書き込むことができる。特定の実施形態において、プロセッサ６２は、（ストレージ６６もしくは他の箇所とは対照的に）１つもしくは複数の内部レジスタもしくは内部キャッシュまたはメモリ６４中の命令のみを実行し、（ストレージ６６もしくは他の箇所とは対照的に）１つもしくは複数の内部レジスタもしくは内部キャッシュまたはメモリ６４中のデータに対してのみ動作する。（アドレス・バスおよびデータ・バスをそれぞれが含むことができる）１つまたは複数のメモリ・バスは、プロセッサ６２をメモリ６４に結合させることができる。バス７２は、後述のように、１つまたは複数のメモリ・バスを含むことができる。特定の実施形態において、１つまたは複数のメモリ管理ユニット（ＭＭＵ）は、プロセッサ６２とメモリ６４との間にあり、プロセッサ６２によって要求されたメモリ６４へのアクセスを促進する。特定の実施形態において、メモリ６４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、必要な場合、揮発性メモリであってよい。必要な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であってよい。また、必要な場合、このＲＡＭは、シングルポートまたはマルチポートのＲＡＭであってよい。本開示は、任意の適切なＲＡＭを企図している。メモリ６４は、必要な場合、１つまたは複数のメモリ６４を含むことができる。本開示は、特定のメモリを記載しかつ示しているが、本開示は、任意の適切なメモリを企図している。
【００５５】
特定の実施形態において、ストレージ６６は、データまたは命令用にマス・ストレージを含む。限定ではなく一例として、ストレージ６６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらの２つ以上の組合せを含むことができる。ストレージ６６は、必要な場合、リムーバブルまたはノンリムーバブルな（もしくは固定された）媒体を含むことができる。ストレージ６６は、必要な場合、コンピュータ・システム６０の内部または外部にあってよい。特定の実施形態において、ストレージ６６は、不揮発性のソリッドステート・メモリである。特定の実施形態において、ストレージ６６は、リード・オンリ・メモリ（ＲＯＭ）を含む。必要な場合、このＲＯＭは、マスクプログラムされたＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気式書換え可能ＲＯＭ（ＥＡＲＯＭ）、もしくはフラッシュ・メモリ、またはこれらの２つ以上の組合せであってよい。本開示は、マス・ストレージ６６が任意の適切な物理的形態を取ることを企図している。ストレージ６６は、必要な場合、プロセッサ６２とストレージ６６との間の通信を促進する１つまたは複数のストレージ制御ユニットを含むことができる。必要な場合、ストレージ６６は、１つまたは複数のストレージ６６を含むことができる。本開示は、特定のストレージを記載しかつ示しているが、本開示は、任意の適切なストレージを企図している。
【００５６】
特定の実施形態において、Ｉ／Ｏインターフェース６８は、ハードウェア、ソフトウェア、またはこの両方を含み、コンピュータ・システム６０と１つまたは複数のＩ／Ｏデバイスとの間の通信のための１つまたは複数のインターフェースを提供する。コンピュータ・システム６０は、必要な場合、こうしたＩ／Ｏデバイスの１つまたは複数を含むことができる。こうしたＩ／Ｏデバイスの１つまたは複数は、人とコンピュータ・システム６０との間の通信を可能にすることができる。限定ではなく一例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏデバイス、またはこれらの２つ以上の組合せを含むことができる。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイス、および、このための任意の適切なＩ／Ｏインターフェース６８を企図している。必要な場合、Ｉ／Ｏインターフェース６８は、こうしたＩ／Ｏデバイスの１つまたは複数をプロセッサ６２に駆動させることを可能にする１つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインターフェース６８は、必要な場合、１つまたは複数のＩ／Ｏインターフェース６８を含むことができる。本開示は、特定のＩ／Ｏインターフェースを記載しかつ示しているが、本開示は、任意の適切なＩ／Ｏインターフェースを企図している。
【００５７】
特定の実施形態において、通信インターフェース７０は、ハードウェア、ソフトウェア、またはこの両方を含み、コンピュータ・システム６０と、１つもしくは複数の他のコンピュータ・システム６０または１つもしくは複数のネットワークとの間の通信（例えば、パケット・ベースの通信など）のための１つまたは複数のインターフェースを提供する。限定ではなく一例として、通信インターフェース７０は、イーサネットもしくは他の有線ベースのネットワークと通信するためのネットワーク・インターフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）もしくはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、および、このための任意の適切な通信インターフェース７０を企図している。限定ではなく一例として、コンピュータ・システム６０は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、もしくは、インターネットの１つもしくは複数の部分、またはこれらの２つ以上の組合せと通信することができる。こうしたネットワークの１つまたは複数の１つまたは複数の部分は、ワイヤードまたはワイヤレスであってよい。一例として、コンピュータ・システム６０は、ワイヤレスＰＡＮ（ＷＰＡＮ）（例えば、ブルートゥース（登録商標）ＷＰＡＮなど）、ＷＩ−ＦＩ（登録商標）ネットワーク、ＷＩ−ＭＡＸ（登録商標）ネットワーク、セルラ電話ネットワーク（例えば、モバイル通信用グローバル・システム（ＧＳＭ（登録商標））ネットワークなど）、もしくは他の適切なワイヤレス・ネットワーク、またはこれらの２つ以上の組合せと通信することができる。コンピュータ・システム６０は、必要な場合、こうしたネットワークのいずれかのための任意の適切な通信インターフェース７０を含むことができる。通信インターフェース７０は、必要な場合、１つまたは複数の通信インターフェース７０を含むことができる。本開示は、特定の通信インターフェースを記載しかつ示しているが、本開示は、任意の適切な通信インターフェースを企図している。
【００５８】
特定の実施形態において、バス７２は、ハードウェア、ソフトウェア、またはこの両方を含み、コンピュータ・システム６０の構成要素を互いに結合している。限定ではなく一例として、バス７２は、アクセラレーテッド・グラフィクス・ポート（ＡＧＰ）もしくは他のグラフィクス・バス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロント・サイド・バス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、業界標準アーキテクチャ（ＩＳＡ）バス、インフィニバンド・インターコネクト、ロー・ピン・カウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエキスプレス（ＰＣＩｅ）バス、シリアル・アドバンスド・テクノロジ・アタッチメント（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、もしくは別の適切なバス、またはこれらの２つ以上の組合せを含むことができる。バス７２は、必要な場合、１つまたは複数のバス７２を含むことができる。本開示は、特定のバスを記載しかつ示しているが、本開示は、任意の適切なバスまたはインターコネクトを企図している。
【００５９】
本明細書において、コンピュータ読み取り可能非一時的記憶媒体は、必要な場合、１つもしくは複数の半導体ベースもしくは他の集積回路（ＩＣ）（例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、もしくは特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ読み取り可能非一時的記憶媒体、またはこれらの２つ以上の組合せを含むことができる。コンピュータ読み取り可能非一時的記憶媒体は、必要に応じて、揮発性、不揮発性、または揮発性と不揮発性との組合せであってよい。
【００６０】
本明細書において、「または」は、別段明示的に示されず別段文脈によっても示されない場合、包括的であり排他的ではない。したがって、本明細書において、「ＡまたはＢ」は、別段明示的に示されず別段文脈によっても示されない場合、「Ａ、Ｂ、または両方」を意味する。また、「および」は、別段明示的に示されず別段文脈によっても示されない場合、共にと別々の両方のことである。したがって、本明細書において、「ＡおよびＢ」は、別段明示的に示されず別段文脈によっても示されない場合、「共にまたは別々にＡおよびＢ」を意味する。
【００６１】
本開示の範囲は、当業者が認識することになる、本明細書に記載または示した例示的な実施形態の変形、置換、変化、改変、および変更をすべて含む。本開示の範囲は、本明細書に記載または示した例示的な実施形態に限定されない。また、本開示は、それぞれの実施形態を、特定の構成要素、要素、機能、動作、または工程を含みものとして本明細書に記載しかつ示したが、これらの実施形態のいずれも、当業者が認識することになる、本明細書のいずれかの箇所に記載または示された構成要素、要素、機能、動作、または工程のいずれかの任意の組合せまたは並べ替えを含むことができる。さらに、装置もしくはシステム、または装置もしくはシステムの構成要素が、特定の機能を行う、ようになされた、ように配置された、ことが可能な、ように構成された、ことを可能にする、ように動作可能な、または、ように動作する、といったことに対する特許請求の範囲における言及は、それまたはその特定の機能がアクティブ化、ターン・オン、またはアンロックされているかどうかにかかわらず、こうした装置、システム、または構成要素が、そのようになされ、配置され、可能であり、構成され、可能にし、動作可能であり、または動作する限り、こうした装置、システム、構成要素を含む。
【図２Ａ】
0005913758.tif 000002
【図２Ｂ】
0005913758.tif 000003
【図２Ｃ】
0005913758.tif 000004
【図４】
0005913758.tif 000005
【図１】
0005913758.tif 000006
【図３Ａ】
0005913758.tif 000007
【図３Ｂ】
0005913758.tif 000008
【図３Ｃ】
0005913758.tif 000009
【図３Ｄ】
0005913758.tif 000010
【図５】
0005913758.tif 000011
【図６】
0005913758.tif 000012
【図７】
0005913758.tif 000013
【図８】
0005913758.tif 000014
【図９】
0005913758.tif 000015
【図１０】
0005913758.tif 000016
【図１１】
0005913758.tif 000017