(57)【特許請求の範囲】
【請求項１】
ソーシャルネットワーキングシステムのユーザである第１のユーザの第１ユーザジオロケーションと前記ソーシャルネットワーキングシステムのユーザである第２のユーザの第２ユーザジオロケーションとをサーバコンピューティングデバイスによって判定する工程であって、前記ソーシャルネットワーキングシステムは、複数のノードと、ノード同士を接続するエッジとを備えるソーシャルグラフを備えるものであり、前記第１のユーザは、前記ソーシャルグラフの第１のノードに関連付けられており、前記第２のユーザは、前記ソーシャルグラフの第２のノードに関連付けられており、前記第１のノードと前記第２のノードは、前記ソーシャルグラフの少なくとも１つのエッジによって接続されており、前記第１のユーザは、前記第１のユーザ及び前記第２のユーザの両方に関連する将来のイベントに基づき更に判定され、前記将来のイベントは、前記ソーシャルネットワーキングシステムの前記ソーシャルグラフからの前記第２のユーザに関連する予定表またはイベントのデータへのアクセスに基づいて判定される、前記判定する工程と、
前記第１のユーザと前記第２のユーザとの関係を、前記第１のノードと前記第２のノードとを接続する少なくとも１つのエッジに基づいて前記サーバコンピューティングデバイスによって特定する工程と、
前記第１ユーザジオロケーションと、前記第１のユーザに関連するソーシャルグラフ情報と、所定の時間期間にわたる前記第１のユーザの移動の軌跡とに基づいて前記第１のユーザの将来の第１ユーザジオロケーションを前記サーバコンピューティングデバイスによって予測する工程であって、前記第１のユーザに関連する前記ソーシャルグラフ情報は、前記第１のユーザと前記将来の第１ユーザジオロケーションとの関係を示す履歴情報を含むものである、前記予測する工程と、
前記第２ユーザジオロケーションに基づいて将来の第２ユーザジオロケーションを前記サーバコンピューティングデバイスによって予測する工程と、
前記将来の第１ユーザジオロケーションが共通のジオロケーションにて前記将来の第２ユーザジオロケーションと交差するかどうかを、前記第１のユーザの移動の前記軌跡が前記共通のジオロケーションにて前記第２のユーザの移動の軌跡と実質的に交差するかどうかに少なくとも部分的に基づいて前記サーバコンピューティングデバイスによって判定する工程と、
前記将来の第１ユーザジオロケーションが前記共通のジオロケーションにて前記将来の第２ユーザジオロケーションと交差するとの判定に応答して、前記将来のイベントの通知と、前記第１のユーザと前記第２のユーザとの前記関係と、前記共通のジオロケーションに関連するとともに前記第１のユーザによって更新された近況とを含む通知オブジェクトを、前記第２のユーザに関連するモバイルクライアントコンピューティングデバイスに送信する工程とを備える方法。
【請求項２】
前記ノード同士を接続する前記エッジの１つまたは複数は、前記第２のユーザに対応する前記ノードのうちの少なくとも１つのノードに接続されている前記第１のユーザに対応する前記ノードのうちの少なくとも１つのノードに直接接続している請求項１に記載の方法。
【請求項３】
前記第２のユーザに関連する前記モバイルクライアントコンピューティングデバイスによって、前記通知オブジェクトをプッシュ通知としてサーバコンピューティングデバイスから受信する工程と、
前記モバイルクライアントコンピューティングデバイスによって、ディスプレイに前記プッシュ通知を表示する工程を備える請求項１または２に記載の方法。
【請求項４】
実行されるときに、請求項１から３のいずれか一項に記載の方法を実行するように構成された論理を具現化する１つまたは複数のコンピュータ可読非一時的ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概してモバイルデバイスに関する。
【背景技術】
【０００２】
ソーシャルネットワーキングシステムはソーシャルネットワーキングウェブサイトを含むことがあるが、（個人または組織などの）ユーザが当該システムとインタラクションできるようにしたり、当該システムを通じてユーザが互いにインタラクションできるようにし得る。ソーシャルネットワーキングシステムは、ユーザからの入力を用いてそのユーザに関連するユーザプロファイルを生成し、ソーシャルネットワーキングシステムに記憶し得る。ユーザプロファイルは、デモグラフィック情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含み得る。さらに、ソーシャルネットワーキングシステムは、ユーザの入力を用いて当該ユーザとソーシャルネットワーキングシステムのその他のユーザとの関係の記録を生成及び記憶し、ユーザ間のまたはユーザ同士のソーシャルインタラクションを促進するサービス（例えば、ウォールへの投稿（ｗａｌｌ  ｐｏｓｔ）、写真の共有、イベントの編成、メッセージング、ゲーム、または広告）を提供し得る。
【０００３】
ソーシャルネットワーキングシステムは、そのサービスに関連するコンテンツまたはメッセージを１つまたは複数のネットワークを介してユーザのモバイルまたはその他のコンピューティングデバイスに送信し得る。また、ユーザは、ユーザのユーザプロファイルおよびソーシャルネットワーキングシステム内のその他のデータにアクセスするためにユーザのモバイルまたはその他のコンピューティングデバイスにソフトウェアアプリケーションをインストールし得る。ソーシャルネットワーキングシステムは、ユーザにつながりのあるその他のユーザの投稿のまとめ（ａｇｇｒｅｇａｔｅｄ  ｓｔｏｒｉｅｓ）のニュースフィードなどの、パーソナライズされたコンテンツオブジェクトセットを生成してユーザに表示し得る。
【０００４】
スマートフォン、タブレットコンピュータ、またはラップトップコンピュータなどのモバイルコンピューティングデバイスは、その場所、方向、または向きを判定するための、ＧＰＳ受信機、コンパス、またはジャイロスコープなどの機能を含み得る。そのようなデバイスは、ＢＬＵＥＴＯＯＴＨ（登録商標）通信、近接場通信（ＮＦＣ）、もしくは赤外線（ＩＲ）通信、または無線ローカルエリアネットワーク（ＷＬＡＮ）もしくはセルラ電話ネットワークによる通信などの無線通信機能も含み得る。そのようなデバイスは、１つまたは複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、またはスピーカも含み得る。さらに、モバイルコンピューティングデバイスは、ゲーム、ウェブブラウザ、またはソーシャルネットワーキングアプリケーションなどのソフトウェアアプリケーションを実行し得る。ソーシャルネットワーキングアプリケーションによって、ユーザは、それらのユーザのソーシャルネットワーク内のその他のユーザとつながったり、通信したり、情報を共有することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明による実施形態は、方法およびコンピュータ可読非一時的ストレージ媒体を対象とする添付の請求項において開示される。
【課題を解決するための手段】
【０００６】
特定の実施形態は、連続的な位置情報または周囲の位置情報から導出されたリアルタイムのプッシュ通知を提供する。プッシュ通知に含まれる情報は、ユーザの連続的な位置情報およびユーザのソーシャルグラフから導出された関係に基づくことがある。例えば、ソーシャルネットワーキングシステムが、同じ場所にいる、ユーザの友達のグループが親睦会（ｓｏｃｉａｌ  ｇａｔｈｅｒｉｎｇ）の一部であるかもしれないと推定し得る。プッシュ通知は、親睦会の場所へのユーザの到着を知らせるためにその場所の友達に送信され得る。特定の実施形態においては、例えば、リアルタイムの交通データなどのその他の情報は平易な英語のプッシュ通知を構成するためにアクセスされることがある。例えば、ユーザが空港で動かずにおり、ユーザの妻または友達が空港に向かう経路に沿って移動している場合、ソーシャルネットワーキングシステムは、妻が空港にユーザを車で迎えに行っていると推定し得る。プッシュ通知の内容は、妻の場所を示すＧＰＳ座標を記載する代わりに、リアルタイムの交通データに基づく、友達がユーザの場所に到着する前の時間の量を記載することがある。例えば、ソーシャルネットワーキングシステムは、妻が空港に到着する前の時間の量を推定するプッシュ通知をユーザに送信することがある。
【図面の簡単な説明】
【０００７】
【図１】ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境を示す図。
【図２】例示的なソーシャルグラフを示す図。
【図３】例示的なモバイルデバイスを示す図。
【図４】ジオロケーションにまたはその近くにあるモバイルクライアントコンピューティングデバイスに通知を送信するための例示的な方法を示す図。
【図５】ジオロケーションに関連するコンテンツを有する通知を受信するための例示的な方法を示す図。
【図６】複数のユーザに共通する活動に関連する情報を含む通知を送信するための例示的な方法を示す図。
【図７】複数のユーザに共通する活動に関連する情報を有する通知を受信するための例示的な方法を示す図。
【図８】例示的なコンピューティングシステムを示す図。
【発明を実施するための形態】
【０００８】
図１は、ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境１００を示す。ネットワーク環境１００は、ネットワーク１１０によって互いに接続されたクライアントシステム１３０、ソーシャルネットワーキングシステム１６０、およびサードパーティシステム１７０を含む。図１は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０の特定の構成を示すが、本開示は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０の任意の好適な構成を想定する。限定ではなく例として、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、およびサードパーティシステム１７０のうちの２つ以上が、ネットワーク１１０を避けて互いに直接接続され得る。別の例として、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、およびサードパーティシステム１７０のうちの２つ以上が、全体的または部分的に物理的にまたは論理的に同じ場所に置かれ得る。さらに、図１は、特定の数のクライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０を示すが、本開示は、任意の好適な数のクライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０を想定する。限定ではなく例として、ネットワーク環境１００は、複数のクライアントシステム１３０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０を含み得る。
【０００９】
本開示は、任意の好適なネットワーク１１０を想定する。限定ではなく例として、ネットワーク１１０の１つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、セルラ電話ネットワーク、またはこれらのうちの２つ以上の組合せを含み得る。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含み得る。
【００１０】
リンク１５０は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、およびサードパーティシステム１７０を通信ネットワーク１１０にまたは互いに接続し得る。本開示は、任意の好適なリンク１５０を想定する。特定の実施形態において、１つまたは複数のリンク１５０は、１つまたは複数の（例えば、デジタル加入者線（ＤＳＬ）もしくはデータオーバーケーブルサービスインターフェース仕様（ＤＯＣＳＩＳ）などの）有線、（例えば、Ｗｉ−Ｆｉもしくはマイクロ波アクセスのための世界的相互運用性（ＷｉＭＡＸ）などの）無線、または（例えば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタルハイアラーキ（ＳＤＨ）などの）光リンクを含む。特定の実施形態において、１つまたは複数のリンク１５０は、いずれも、アドホックネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部、ＰＳＴＮの一部、セルラテクノロジーに基づくネットワーク、衛星通信テクノロジーに基づくネットワーク、別のリンク１５０、または２つ以上のそのようなリンク１５０の組合せを含む。リンク１５０は、必ずしもネットワーク環境１００全体を通じて同じである必要はない。１つまたは複数の第１のリンク１５０は、１または２以上の第２のリンク１５０と１つまたは複数の点で異なってもよい。
【００１１】
特定の実施形態において、クライアントシステム１３０は、ハードウェア、ソフトウェア、もしくは組み込み論理構成要素、または２つ以上のそのような構成要素の組合せを含み、クライアントシステム１３０によって実装またはサポートされる適切な機能を実行することができる電子デバイスであり得る。限定ではなく例として、クライアントシステム１３０は、デスクトップコンピュータ、ノートブックもしくはラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子ブックリーダ、全地球測位システム（ＧＰＳ）デバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラ電話、スマートフォン、その他の好適な電子デバイス、またはこれらの任意の好適な組合せなどのコンピュータシステムを含み得る。本開示は、任意の好適なクライアントシステム１３０を想定する。クライアントシステム１３０は、クライアントシステム１３０のネットワークユーザがネットワーク１１０にアクセスできるようにし得る。クライアントシステム１３０は、そのクライアントシステム１３０のユーザがその他のクライアントシステム１３０のその他のユーザと通信できるようにし得る。
【００１２】
特定の実施形態において、クライアントシステム１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブブラウザ１３２を含んでもよい、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張機能を有してもよい。クライアントシステム１３０のユーザは、ウェブブラウザ１３２を（サーバ１６２、またはサードパーティシステム１７０に関連するサーバなどの）特定のサーバに振り向けるユニフォームリソースロケータ（ＵＲＬ）またはその他のアドレスを入力してもよく、ウェブブラウザ１３２は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を生成し、ＨＴＴＰ要求をサーバに伝達してもよい。サーバは、ＨＴＴＰ要求を受け付け、ＨＴＴＰ要求に応じた１つまたは複数のハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルをクライアントシステム１３０に伝達し得る。クライアントシステム１３０は、ユーザに対して表示するためにサーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングし得る。本開示は、任意の好適なウェブページファイルを想定する。限定ではなく例として、ウェブページは、特定の必要に応じて、ＨＴＭＬファイル、拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングされ得る。そのようなページは、例えば、限定することなく、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴなどのスクリプト、ＡＪＡＸ（非同期ＪＡＶＡＳＣＲＩＰＴおよびＸＭＬ）などのマークアップ言語とスクリプトとの組合せなどを実行してもよい。本明細書において、ウェブページへの言及は、適切な場合、（ブラウザがウェブページをレンダリングするために使用し得る）１つまたは複数の対応するウェブページファイルを包含し、その逆も同様である。
【００１３】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、オンラインソーシャルネットワークをホストすることができるネットワークアドレス指定可能なコンピューティングシステムであり得る。ソーシャルネットワーキングシステム１６０は、例えば、ユーザプロファイルデータ、概念（ｃｏｎｃｅｐｔ）プロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関連するその他の好適なデータなどのソーシャルネットワーキングデータを生成、記憶、受信、および送信し得る。ソーシャルネットワーキングシステム１６０は、直接かまたはネットワーク１１０を介するかのどちらかでネットワーク環境１００のその他の構成要素によってアクセスされ得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つまたは複数のサーバ１６２を含み得る。各サーバ１６２は、単一のサーバであるか、または複数のコンピュータもしくは複数のデータセンターに広がる分散型サーバであってもよい。サーバ１６２は、例えば、限定することなく、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、エクスチェンジサーバ（ｅｘｃｈａｎｇｅ  ｓｅｒｖｅｒ）、データベースサーバ、プロキシサーバ、本明細書において説明される機能もしくは方法を実行するのに好適な別のサーバ、またはこれらの任意の組合せなどのさまざまな種類であってもよい。特定の実施形態において、各サーバ１６２は、ハードウェア、ソフトウェア、もしくは組み込み論理構成要素、またはサーバ１６２によって実装またはサポートされる適切な機能を実行するための２つ以上のそのような構成要素の組合せを含み得る。特定の実施形態において、ソーシャルネットワーキングシステム１６４は、１つまたは複数のデータストア１６４を含み得る。データストア１６４は、さまざまな種類の情報を記憶するために使用され得る。特定の実施形態において、データストア１６４に記憶される情報は、特定のデータ構造に従って編成され得る。特定の実施形態において、各データストア１６４は、リレーショナルデータベース、列指向データベース、相関データベース（ｃｏｒｒｅｌａｔｉｏｎ  ｄａｔａｂａｓｅ）、またはその他の好適なデータベースであってもよい。本開示は、特定の種類のデータベースを説明または例示するが、任意の好適な種類のデータベースを想定する。特定の実施形態は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、またはサードパーティシステム１７０がデータストア１６４に記憶された情報を管理、検索、修正、追加、または削除できるようにするインターフェースを提供し得る。
【００１４】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つまたは複数のデータストア１６４に１つまたは複数のソーシャルグラフを記憶し得る。特定の実施形態において、ソーシャルグラフは、複数のノード−−これらの複数のノードは（各々が特定のユーザに対応する）複数のユーザノードまたは（各々が特定の概念に対応する）複数の概念ノードを含み得る−−およびノード同士を接続する複数のエッジ（edge)を含み得る。ソーシャルネットワーキングシステム１６０は、オンラインソーシャルネットワークのユーザにその他のユーザとコミュニケーションおよびインタラクションする能力を提供し得る。特定の実施形態において、ユーザは、ソーシャルネットワーキングシステム１６０を介してオンラインソーシャルネットワークに参加し、それから、それらのユーザがつなげられたいソーシャルネットワーキングシステム１６０の何人かのその他のユーザへのつながり（例えば、関係）を追加し得る。本明細書において、用語「友達」は、ソーシャルネットワーキングシステム１６０を介してユーザがつながり、関連付け、または関係を形成したソーシャルネットワーキングシステム１６０の任意のその他のユーザを指すことがある。
【００１５】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、ソーシャルネットワーキングシステム１６０によってサポートされるさまざまな種類のアイテム（ｉｔｅｍ）またはオブジェクトに対するアクションを行う能力をユーザに提供し得る。限定ではなく例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステム１６０のユーザが属する可能性があるグループもしくはソーシャルネットワーク、ユーザが関心を持っている可能性があるイベントもしくは予定表のエントリ、ユーザが使用し得るコンピュータに基づくアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売できるようにするトランザクション、ユーザが実行し得る広告とのインタラクション、またはその他の好適なアイテムもしくはオブジェクトを含み得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、以下で説明されるように、ソーシャルネットワーキングシステムによってサポートされるイベントまたは予定表のエントリ、およびユーザ間の関係に基づいてユーザの将来のジオロケーションを予測し得る。ユーザは、ソーシャルネットワーキングシステム１６０、またはソーシャルネットワーキングシステム１６０と分かれており、ネットワーク１１０を介してソーシャルネットワーキングシステム１６０に結合されるサードパーティシステム１７０の外部システムによって示され得る任意のものとインタラクションし得る。
【００１６】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、さまざまな主体をリンクできてもよい。限定ではなく例として、ソーシャルネットワーキングシステム１６０は、ユーザが互いにインタラクションし、サードパーティシステム１７０もしくはその他の主体からコンテンツを受信するか、またはユーザがアプリケーションプログラミングインターフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらの主体とインタラクションできるようにし得る。別の例として、ソーシャルネットワーキングシステム１６０は、サードパーティシステムとインタラクションして、例えば、リアルタイムの交通データ、飛行機のフライト時刻表、公共交通機関の時刻表などの交通機関のデータ、例えば、会社の所在地もしくは企業活動の情報などの企業名鑑情報、または例えば、地理情報システム（ＧＩＳ）データなどの地図データに関連するコンテンツを受信してもよい。
【００１７】
特定の実施形態において、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、ソーシャルネットワーキングシステム１６０に記憶されたソーシャルグラフ情報およびサードパーティシステム１７０に記憶されたコンテンツに加えてクライアントシステム１３０によって送信された位置データに基づいてソーシャルネットワーキングシステム１６０のユーザに関する情報を導出し得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、位置データおよび地図データからのユーザ１０１の移動の軌跡に少なくとも部分的に基づいてユーザ１０１の将来のジオロケーションを予測し得る。ソーシャルネットワーキングシステム１６０は、ソーシャルグラフ情報に少なくとも部分的に基づいてユーザ１０１の将来のジオロケーションに関心を持っている別のユーザを特定し得る。限定ではなく例として、ソーシャルネットワーキングシステム１６０は、ユーザ１０１に関連する移動の軌跡が別のユーザの現在のジオロケーションと交わると判定され、ユーザ１０１が別のユーザとの関係を有するとき、ユーザ１０１と別のユーザとが会っていると判定し得る。さらに、ソーシャルネットワーキングシステム１６０は、クライアントシステム１３０によって送信された位置データと、サードパーティシステム１７０からのアクセスされるユーザ１０１の移動の軌跡に関連するリアルタイムの交通データおよび例えばＧＩＳデータなどの地図データとに少なくとも部分的に基づいて空港への到着時間を推定し得る。
【００１８】
特定の実施形態において、サードパーティシステム１７０は、１つもしくは複数の種類のサーバ、１つもしくは複数のデータストア、ＡＰＩを含むがこれに限定されない１つもしくは複数のインターフェース、１つもしくは複数のウェブサービス、１つもしくは複数のコンテンツソース、１つもしくは複数のネットワーク、またはサーバが通信し得る任意のその他の好適な構成要素を含んでもよい。サードパーティシステム１７０は、ソーシャルネットワーキングシステム１６０を運用する主体とは異なる主体によって運用されてもよい。しかし、特定の実施形態において、ソーシャルネットワーキングシステム１６０およびサードパーティシステム１７０は、互いに連係して動作して、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０のユーザにソーシャルネットワーキングサービスを提供し得る。この意味で、ソーシャルネットワーキングシステム１６０は、サードパーティシステム１７０などのその他のシステムがインターネットを介してユーザにソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供してもよい。
【００１９】
特定の実施形態において、サードパーティシステム１７０は、サードパーティコンテンツオブジェクトプロバイダを含み得る。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム１３０に伝達され得るコンテンツオブジェクトの１つまたは複数のソースを含み得る。限定ではなく例として、コンテンツオブジェクトは、例えば、映画の上映時間、映画の批評、レストランの批評、レストランのメニュー、製品の情報および批評、またはその他の好適な情報などのユーザが関心を持っているものまたは活動に関する情報を含み得る。限定ではなく別の例として、コンテンツオブジェクトは、クーポン、割引チケット、商品券、またはその他の好適なインセンティブオブジェクトなどのインセンティブコンテンツオブジェクトを含み得る。
【００２０】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、ソーシャルネットワーキングシステム１６０とのユーザのインタラクションを向上させ得るユーザによって生成されたコンテンツオブジェクトも含む。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム１６０に追加、アップロード、送信、または「投稿」することができる任意のものを含み得る。限定ではなく例として、ユーザは、クライアントシステム１３０からソーシャルネットワーキングシステム１６０に投稿を伝達する。投稿は、最新の近況もしくはその他のテキストデータ、位置情報、写真、動画、リンク、音楽、またはその他の同様のデータもしくは媒体などのデータを含み得る。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによるソーシャルネットワーキングシステム１６０にユーザにより提供されてもよい。
【００２１】
特定の実施形態において、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、以下で説明されるように、ユーザ１０１と関係がある１人または複数のユーザによって提供されたコンテンツを受信し得る。ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、以下で説明されるように、位置データに関してクライアントシステム１３０にポーリングし、コンテンツに関連する位置を位置ストアに記憶し得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、ユーザ１０１が位置更新を開始することを通じて、ユーザ１０１によって実行される「チェックイン」を通じて、またはこれらの組合せを通じてクライアントシステム１３０の位置データを受信し得る。限定ではなく例として、例えば、Ｃｏｉｔ  Ｔｏｗｅｒなどの特定のジオロケーションからユーザによって提供される最新の近況は、特定のジオロケーションに対応する地図データに関連付けられることがある。本開示は、特定の方法でユーザに関連するクライアントシステムの位置データを取得することを示すが、例えば、クライアントデバイスの位置サービスにポーリングすること、ユーザによって実行される「チェックイン」、または方法の任意の組合せなどの任意の好適な方法でユーザに関連するクライアントシステムの位置データを取得することを想定する。さらに、本開示は、コンテンツを特定のジオロケーションに関連付けることを示すが、コンテンツを、例えば、ソーシャルネットワーキングシステム１６０を通じてユーザによって生成された「仮想的な」ジオロケーションなどの任意の好適なジオロケーションに関連付けることを想定する。
【００２２】
ソーシャルネットワーキングシステム１６０の通知コントローラは、ユーザ１０１のための通知をクライアントデバイス１３０に送信し得る。特定の実施形態において、通知は、ユーザ１０１に関連するクライアントシステム１３０のディスプレイに表示され得る。限定ではなく例として、ソーシャルネットワーキングシステム１６０のサーバは、例えば、ユーザ１０１に関連する１つまたは複数のクライアントシステム１３０のディスプレイのモーダルウィンドウなどの通知を送信し得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、ユーザ１０１に関連するクライアントデバイス１３０の現在のジオロケーションに基づいて通知を送信し得る。ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、ユーザ１０１と関係があるユーザによって提供されたコンテンツの中から、クライアントシステム１３０の現在のジオロケーションに関連するコンテンツを選択し得る。限定ではなく例として、モーダルウィンドウのコンテンツは、以下で説明されるように、例えば、特定のジオロケーションに関連する最新の近況または更新された写真などの別のユーザによって提供されたコンテンツを含み得る。別の例として、ソーシャルネットワーキングシステム１６０の通知コントローラは、ユーザ１０１と関係がある別のユーザの現在のジオロケーションまたは予測されたジオロケーションに基づいて通知を送信し得る。例えば、モーダルウィンドウなどの通知のコンテンツは、ユーザ１０１と関係があるユーザの現在のジオロケーションまたは予測された将来のジオロケーションに関連する状態を含み得る。本開示は、特定の形態の通知を送信することを示すが、例えば、ショートメッセージングサービス（ＳＭＳ）メッセージ、マルチメディアメッセージングサービス（ＭＭＳ）メッセージ、インスタントメッセージング、バルーン、ダイアログボックス、または電子メールなどのユーザに関連するクライアントシステムで送信または表示される任意の好適な形態の通知を想定する。
【００２３】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含み得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、以下、すなわち、ウェブサーバ、アクションロガー、ＡＰＩ要求サーバ、関連性およびランク付けエンジン（ｒｅｌｅｖａｎｃｅ−ａｎｄ−ｒａｎｋｉｎｇ  ｅｎｇｉｎｅ）、コンテンツオブジェクト分類器、通知コントローラ、アクションログ、第三者コンテンツオブジェクト露出ログ、推定モジュール、認可／プライバシーサーバ、検索モジュール、広告ターゲティングモジュール（ａｄ−ｔａｒｇｅｔｉｎｇ  ｍｏｄｕｌｅ）、ユーザインターフェースモジュール、ユーザプロファイルストア、つながりストア（ｃｏｎｎｅｃｔｉｏｎ  ｓｔｏｒｅ）、サードパーティコンテンツストア、または位置ストアのうちの１つまたは複数を含み得る。ソーシャルネットワーキングシステム１６０は、ネットワークインターフェース、セキュリティメカニズム、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク操作コンソール、その他の好適な構成要素、またはこれらの任意の好適な組合せなどの好適な構成要素も含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、ユーザプロファイルを記憶するための１つまたは複数のユーザプロファイルストアを含み得る。ユーザプロファイルは、例えば、経歴、デモグラフィック情報、行動情報、ソーシャル情報（ｓｏｃｉａｌ  ｉｎｆｏｒｍａｔｉｏｎ）、あるいは職歴、学歴、趣味もしくは嗜好、興味、アフィニティ（ａｆｆｉｎｉｔｙ）、または位置などのその他の種類の記述情報を含んでもよい。関心の情報は、１つまたは複数のカテゴリに関連する関心を含み得る。カテゴリは、大まかでもよくまたは詳細であってもよい。限定ではなく例として、ユーザが、靴のブランドに関する記事「に対して『いいね』を表明する（ｌｉｋｅ）」場合、カテゴリは、ブランドであるか、または大まかなカテゴリ「靴」もしくは「衣料品」であり得る。つながりストアは、ユーザについてのつながり情報を記憶するために使用され得る。つながり情報は、同様のもしくは共通の職歴、グループへの所属、趣味、学歴を有するか、または何らかの形で関連があるか、もしくは共通の属性を共有するユーザを示し得る。つながり情報は、異なるユーザと（内部と外部との両方の）コンテンツとの間のユーザによって定義されたつながりを含んでもよい。ウェブサーバは、ソーシャルネットワーキングシステム１６０をネットワーク１１０を介して１つもしくは複数のクライアントシステム１３０または１つもしくは複数のサードパーティシステム１７０にリンクするために使用され得る。ウェブサーバは、メールサーバ、またはメッセージを受信し、ソーシャルネットワーキングシステム１６０と１つまたは複数のクライアントシステム１３０との間でルーティングするためのその他のメッセージング機能を含み得る。ＡＰＩ要求サーバは、サードパーティシステム１７０が１つまたは複数のＡＰＩを呼び出すことによってソーシャルネットワーキングシステム１６０の情報にアクセスできるよ���にし得る。アクションロガーは、ソーシャルネットワーキングシステム１６０に対するユーザのアクションまたはソーシャルネットワーキングシステム１６０に対してではないユーザのアクションについてのウェブサーバからの通信を受信するために使用され得る。アクションログと併せて、ユーザに対するサードパーティコンテンツオブジェクトの露出のサードパーティコンテンツオブジェクトログが、保有され得る。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム１３０に提供し得る。情報は、クライアントシステム１３０に通知としてプッシュされてもよく、またはクライアントシステム１３０から受信された要求に応じてクライアントシステム１３０からプルされてもよい。認可サーバは、ソーシャルネットワーキングシステム１６０のユーザの１つまたは複数のプライバシー設定を施行するために使用され得る。ユーザのプライバシー設定は、ユーザに関連する特定の情報がどのように共有され得るかを判定する。認可サーバは、ユーザが、例えば、適切なプライバシー設定を設定することによるなどしてそれらのユーザのアクションをソーシャルネットワーキングシステム１６０によってログに記録させるかまたはその他のシステム（例えば、サードパーティシステム１７０）と共有させることをオプトインまたはオプトアウトできるようにし得る。サードパーティコンテンツオブジェクトストアは、サードパーティシステム１７０などのサードパーティから受信されたコンテンツオブジェクトを記憶するために使用され得る。位置ストアは、ユーザに関連するクライアントシステム１３０から受信された位置情報を記憶するために使用され得る。広告値付けモジュールは、ソーシャル情報、現在の時間、位置情報、またはその他の好適な情報を組み合わせて、関連する広告を通知の形態でユーザに提供し得る。
【００２４】
図２は、例示的なソーシャルグラフを示す。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つまたは複数のデータストアに１つまたは複数のソーシャルグラフ２００を記憶し得る。特定の実施形態において、ソーシャルグラフ２００は、複数のノード−−これらの複数のノードは複数のユーザノード２０２または複数の概念ノード２０４を含み得る−−およびノード同士を接続する複数のエッジ２０６を含み得る。図２に示される例示的なソーシャルグラフ２００は、教示を目的として２次元の視覚的なマップの形で示される。特定の実施形態において、ソーシャルネットワーキングシステム１６０、クライアントシステム１３０、またはサードパーティシステム１７０は、ソーシャルグラフ２００、および好適なアプリケーションのための関連するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ２００のノードおよびエッジは、例えば、（ソーシャルグラフデータベースなどの）データストアにデータオブジェクトとして記憶され得る。そのようなデータストアは、ソーシャルグラフ２００のノードまたはエッジの１または複数の検索可能または問い合わせ可能なインデックスを含み得る。
【００２５】
特定の実施形態において、ユーザノード２０２は、ソーシャルネットワーキングシステム１６０のユーザに対応することがある。限定ではなく例として、ユーザは、ソーシャルネットワーキングシステム１６０ともしくはソーシャルネットワーキングシステム１６０上でインタラクションもしくはコミュニケーションする個人（人間のユーザ）、主体（例えば、企業、会社、もしくはサードパーティアプリケーション）、または（例えば、個人もしくは主体の）グループであってもよい。特定の実施形態においては、ユーザがソーシャルネットワーキングシステム１６０にアカウントを登録するとき、ソーシャルネットワーキングシステム１６０は、ユーザに対応するユーザノード２０２を生成し、ユーザノード２０２を１つまたは複数のデータストアに記憶し得る。本明細書において説明されるユーザおよびユーザノード２０２は、適切な場合、登録されたユーザに関連する登録されたユーザおよびユーザノード２０２を指すことがある。加えて、または代替として、本明細書において説明されるユーザおよびユーザノード２０２は、適切な場合、ソーシャルネットワーキングシステム１６０に登録していないユーザを指すことがある。特定の実施形態において、ユーザノード２０２は、ユーザによって提供された情報、またはソーシャルネットワーキングシステム１６０を含むさまざまなシステムによって収集された情報に関連付けられることがある。限定ではなく例として、ユーザは、ユーザの名前、プロフィール写真、連絡先情報、誕生日、性別、婚姻区分、家族状況、職業、学歴、嗜好、興味、またはその他のデモグラフィック情報を提供してもよい。特定の実施形態において、ユーザノード２０２は、ユーザに関連する情報に対応する１つまたは複数のデータオブジェクトに関連付けられ得る。特定の実施形態において、ユーザノード２０２は、１つまたは複数のウェブページに対応するものであってよい。
【００２６】
特定の実施形態において、概念ノード２０４は、概念に対応するものであってよい。限定でなく例として、概念は、場所（例えば、映画館、レストラン、名所、もしくは都市など）、ウェブサイト（例えば、ソーシャルネットワーキングシステム１６０に関連するウェブサイト、もしくはウェブアプリケーションサーバに関連するサードパーティウェブサイトなど）、主体（例えば、個人、会社、グループ、スポーツチーム、もしくは有名人など）、ソーシャルネットワーキングシステム１６０内またはウェブアプリケーションサーバなどの外部サーバ上に置かれ得るリソース（例えば、音声ファイル、動画ファイル、デジタル写真、テキストファイル、構造化された文書、もしくはアプリケーション）、物的動産もしくは知的財産（例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、もしくは著作など）、ゲーム、活動、アイデアもしくは理論、別の好適な概念、または２つ以上のそのような概念に対応するものであってよい。概念ノード２０４は、ユーザによって提供された概念の情報、またはソーシャルネットワーキングシステム１６０を含むさまざまなシステムによって収集された情報に関連付けられてもよい。限定でなく例として、概念の情報は、名前もしくは題名、１つもしくは複数の画像（例えば、本の表紙の画像）、場所（例えば、住所もしくは地理的位置）、（ＵＲＬに関連付けられ得る）ウェブサイト、連絡先情報（例えば、電話番号もしくは電子メールアドレス）、その他の好適な概念情報、またはそのような情報の任意の好適な組合せを含んでもよい。特定の実施形態において、概念ノード２０４は、概念ノード２０４に関連する情報に対応する１つまたは複数のデータオブジェクトに関連付けられるものであってよい。特定の実施形態において、概念ノード２０４は、１つまたは複数のウェブページに対応するものであってよい。
【００２７】
特定の実施形態において、ソーシャルグラフ２００のノードは、（「プロファイルページ」と呼ばれることがある）ウェブページを表すか、またはそのようなウェブページによって表されるものであってよい。プロファイルページは、ソーシャルネットワーキングシステム１６０によってホストされるか、またはソーシャルネットワーキングシステム１６０によってアクセスされ得るものであってよい。プロファイルページは、サードパーティサーバ３７０に関連するサードパーティウェブサイトでホストされるものであってよい。限定ではなく例として、特定の外部ウェブページに対応するプロファイルページは、特定の外部ウェブページであってよく、特定の概念ノード２０４に対応するものであってよい。プロファイルページは、その他のユーザのすべてまたは選択されたサブセットにより閲覧可能であり得る。限定ではなく例として、ユーザノード２０２は、対応するユーザがコンテンツを追加するか、申告を行うか、またはそうでなければ自分の考えを表明し得る対応するユーザプロファイルページを有してよい。限定ではなく別の例として、概念ノード２０４は、特に概念ノード２０４に対応する概念に関連して１人または複数のユーザがコンテンツを追加するか、申告を行うか、またはそれらのユーザ自身の考えを表明し得る対応する概念プロファイルページを有してよい。
【００２８】
特定の実施形態において、概念ノード２０４は、サードパーティシステム１７０によってホストされるサードパーティウェブページまたはリソースを表してよい。サードパーティウェブページまたはリソースは、要素の中でもとりわけ、アクションまたは活動を表すコンテンツ、選択可能なもしくはその他のアイコン、または（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装され得る）その他のインタラクション可能なオブジェクトを含み得る。限定ではなく例として、サードパーティウェブページは、「いいね」、「チェックイン」、「食べる（ｅａｔ）」、「おすすめ」、または別の好適なアクションもしくは活動などの選択可能なアイコンを含み得る。サードパーティウェブページを閲覧するユーザは、アイコンのうちの１つ（例えば、「食べる」）を選択することによってアクションを実行し、クライアントシステム１３０に、ユーザのアクションを示すメッセージをソーシャルネットワーキングシステム１６０に送信させてよい。メッセージに応答して、ソーシャルネットワーキングシステム１６０は、ユーザに対応するユーザノード２０２とサードパーティウェブページまたはリソースに対応する概念ノード２０４との間のエッジ（例えば、「食べる」エッジ）を生成し、エッジ２０６を１つまたは複数のデータストアに記憶し得る。
【００２９】
特定の実施形態において、ソーシャルグラフ２００の対のノードは、１つまたは複数のエッジ２０６によって互いに接続され得る。対のノードを接続するエッジ２０６は、対のノードの間の関係を表し得る。特定の実施形態において、エッジ２０６は、対のノードの間の関係に対応する１つまたは複数のデータオブジェクトまたは属性を含むかまたは表し得る。限定ではなく例として、第１のユーザが、第２のユーザが第１のユーザの「友達」であることを示してよい。この指示に応じて、ソーシャルネットワーキングシステム１６０は、第２のユーザに「友達リクエスト」を送信し得る。第２のユーザが「友達リクエスト」を承認すると、ソーシャルネットワーキングシステム１６０は、ソーシャルグラフ２００において第１のユーザのユーザノード２０２を第２のユーザのユーザノード２０２に接続するエッジ２０６を生成し、エッジ２０６をソーシャルグラフ情報としてデータストア２４のうちの１つまたは複数に記憶し得る。図２の例において、ソーシャルグラフ２００は、ユーザＡおよびユーザＢのユーザノード２０２の間の友達関係を示すエッジ２０６と、ユーザＣおよびユーザＢのユーザノード２０２の間の友達関係を示すエッジとを含む。本開示は、特定のユーザノード２０２に接続する、特定の属性を有する特定のエッジ２０６を説明または例示するが、ユーザノード２０２に接続する、任意の好適な属性を有する任意の好適なエッジ２０６を想定する。限定ではなく例として、エッジ２０６は、交友関係、家族関係、取引もしくは雇用関係、ファンの関係、フォロワの関係、訪問者の関係、加入者の関係、上／下関係、互恵関係、非互恵関係、別の好適な種類の関係、または２つ以上のそのような関係を表してよい。その上、本開示は、概して、ノードを接続されているものとして示すが、さらに、本開示は、ユーザまたは概念を接続されているものとして示す。本明細書において、接続されているユーザまたは概念への言及は、適切な場合、ソーシャルグラフ２００において１つまたは複数のエッジ２０６によって接続されているユーザまたは概念に対応するノードを指してよい。
【００３０】
ソーシャルネットワーキングシステムは、ユーザによって生成されたかまたはサードパーティによって生成され、関係の（例えば、「友達」）エッジ２０６によってクライアントシステムのユーザに接続されるユーザノード２０２によって提供されたコンテンツにアクセスし得る。特定の実施形態において、ソーシャルネットワーキングシステムは、クライアントシステムの現在位置に関連付けられるコンテンツを選択するためにユーザノード２０２によって提供されたコンテンツにアクセスし得る。上述のように、ソーシャルネットワーキングシステムは、ユーザに関連する１つまたは複数のクライアントシステム１３０に通知を送信し得る。クライアントデバイスに送信される通知は、クライアントデバイスの現在のジオロケーションに関連するユーザによって生成されたコンテンツを含んでよい。図２の例においては、ユーザＡは、ユーザＢと友達関係を有し得る。限定ではなく例として、ユーザＡのクライアントデバイスがＣｏｉｔ  Ｔｏｗｅｒの近くにあるとソーシャルネットワーキングシステムが判定することに応じて、ユーザＡのクライアントデバイスに送信される通知が、ユーザＢによってアップロードされたＣｏｉｔ  Ｔｏｗｅｒの写真を含んでよい。
【００３１】
上述のように、ソーシャルネットワーキングシステムは、現在のジオロケーションを判定するか、またはユーザが関心を持っている将来のジオロケーションを予測するために、例えばイベントまたは予定表のエントリなどの、ソーシャルネットワーキングシステムによってサポートされるさまざまな種類のアイテムまたはオブジェクトにアクセスし得る。図２の例に示されるように、ユーザＤおよびユーザＢは、ユーザノード２０２に接続するエッジ２０６によって示されるようにユーザＡとの関係を有し得る。特定の実施形態において、ソーシャルネットワーキングシステムは、アクセスされた予定表またはイベントのエントリおよびソーシャルグラフ情報に少なくとも部分的に基づいて、別のユーザの将来のジオロケーションに関心を持っているユーザを特定し得る。限定ではなく例として、ユーザＡは、ユーザＢおよびユーザＤによって認められる特定のジオロケーションにおけるイベントを編成することがある。ソーシャルネットワーキングシステムによってサポートされる予定表オブジェクトに基づいて、ソーシャルネットワーキングシステムは、ユーザＤのジオロケーションに関心を持っているユーザＢを特定し得る。限定ではなく例として、ユーザＢおよびユーザＤは、イベントに関連する特定のジオロケーションに向かう移動の軌跡を有することがあり、ソーシャルネットワーキングシステムは、ユーザＤが特定のジオロケーションに到着する前の時間の量の推定値を提供する通知をユーザＢに送信することがある。
【００３２】
上述のように、ソーシャルネットワーキングシステムは、ソーシャルグラフ情報と併せてサードパーティシステムのコンテンツにアクセスして、関係を有するユーザの現在のジオロケーションを判定するかまたは将来のジオロケーションを予測し得る。図２の例に示されるように、ユーザＤをユーザＡに接続するエッジ２０６は、ユーザＤとユーザＡとの関係を示し得る。特定の実施形態において、ソーシャルネットワーキングシステムは、ユーザＡの移動の軌跡とユーザＤの現在のジオロケーションとに少なくとも部分的に基づいて将来のジオロケーションを判定し得る。ソーシャルネットワーキングシステムは、ユーザＡの移動の軌跡が実質的に静止しているユーザＤの現在の場所と交わる可能性があると判定し、ユーザＡの将来のジオロケーションがユーザＤの現在の場所であると判定し得る。限定ではなく例として、ソーシャルネットワーキングシステムは、ユーザＡが空港に向かう移動の軌跡を有し、ユーザＤが空港で少なくとも所定の量の時間静止しているとき、ユーザＡがユーザＤに会おうとしていると判定し得る。
【００３３】
特定の実施形態において、ソーシャルネットワーキングシステムは、位置データ、地図データ、およびソーシャルグラフ情報に少なくとも部分的に基づいてユーザの将来のジオロケーションを判定し得る。限定ではなく例として、ソーシャルネットワーキングシステムは、ユーザＡ、ユーザＢ、およびユーザＤが例えば「Ｏｌｄ  Ｐｒｏ」などの特定のレストランで実質的に交わる移動の軌跡を有するとき、ユーザＡ、ユーザＢ、およびユーザＤが特定のレストランで食事のために会っていると判定し得る。特定の実施形態において、この判定は、例えば、図２の例に示されるようにユーザＢが「Ｏｌｄ  Ｐｒｏ」「に対して『いいね』を表明している」こと、またはユーザＡが「Ｏｌｄ  Ｐｒｏ」で前に「チェックインしている」ことなどのソーシャルグラフ情報によってサポートされ得る。本開示は、特定のデータに基づいて将来のジオロケーションを予測する特定のシステムを示すが、任意の好適なデータまたはデータの組合せに基づいて将来のジオロケーションを予測する任意の好適なシステムを想定する。
【００３４】
特定の実施形態において、ユーザノード２０２と概念ノード２０４との間のエッジ２０６は、概念ノード２０４に関連する概念に対してユーザノード２０２に関連するユーザによって実行される特定のアクションまたは活動を表す可能性がある。限定ではなく例として、図２に示されるように、ユーザは、概念「に対して『いいね』を表明する」可能性があるか、概念「に通学した」か、概念「を再生した、で遊んだ」か、概念「を聞いた」か、概念「を調理した」か、概念「で働いた」か、または概念「を見た」。これらはいずれも、エッジの種類またはサブタイプに対応し得る。概念ノード２０４に対応する概念プロファイルページは、例えば、（例えば、クリック可能な「チェックイン」アイコンなどの）選択可能な「チェックイン」アイコンまたは選択可能な「お気に入りに追加」アイコンを含み得る。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキングシステム１６０は、それぞれのアクションに対応するユーザのアクションに応じて「お気に入り」エッジまたは「チェックイン」エッジを生成し得る。限定ではなく別の例として、ユーザ（ユーザＣ）は、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を用いて特定の歌（「Ｒａｍｂｌｅ  Ｏｎ」）を聞く可能性がある。この場合、ソーシャルネットワーキングシステム１６０は、ユーザが歌を聞き、アプリケーションを使用したことを示すために、ユーザに対応するユーザノード２０２と歌およびアプリケーションに対応する概念ノード２０４との間の（図２に示された）「〜を聞いた」エッジ２０６および「〜を使用した」エッジを生成し得る。さらに、ソーシャルネットワーキングシステム１６０は、特定の歌が特定のアプリケーションによって再生されたことを示すために、歌およびアプリケーションに対応する概念ノード２０４との間の（図２に示された）「〜を再生した」エッジ２０６を生成し得る。この場合、「〜を再生した」エッジ２０６は、外部音声ファイル（歌「Ｉｍａｇｉｎｅ」）に対して外部アプリケーション（ＳＰＯＴＩＦＹ）によって実行されるアクションに対応する。本開示は、特定のユーザノード２０２と概念ノード２０４とを接続する、特定の属性を有する特定のエッジ２０６を示すが、ユーザノード２０２と概念ノード２０４とを接続する、任意の好適な属性を有する任意の好適なエッジ２０６を想定する。さらに、本開示は、単一の関係を表すユーザノード２０２と概念ノード２０４との間のエッジを示すが、１つまたは複数の関係を表すユーザノード２０２と概念ノード２０４との間のエッジを想定する。限定ではなく例として、エッジ２０６は、ユーザが特定の概念に対して「いいね」を表明することと、ユーザが特定の概念を使用したこととの両方を表す可能性がある。代替的に、別のエッジ２０６は、（図２においてユーザＥに関するユーザノード２０２と「ＳＰＯＴＩＦＹ」に関する概念ノード２０４との間に示された）ユーザノード２０２と概念ノード２０４との間のそれぞれの種類の関係（または複数の単一の関係）を表すことがある。
【００３５】
特定の実施形態において、ソーシャルネットワーキングシステム１６０は、ソーシャルグラフ２００においてユーザノード２０２と概念ノード２０４との間のエッジ２０６を生成し得る。限定ではなく例として、（例えば、ウェブブラウザ、またはユーザのクライアントシステム１３０によってホストされる専用アプリケーションを用いることによるなどして）概念プロファイルページを閲覧するユーザは、ユーザのクライアントシステム１３０に、概念プロファイルページに関連する概念に対するユーザの「いいね」の表明を示すメッセージをソーシャルネットワーキングシステム１６０に送信させ得る「いいね」アイコンのクリックまたは選択によって、そのユーザが概念ノード２０４によって表された概念に対して「いいね」を表明することを示す可能性がある。メッセージに応答して、ソーシャルネットワーキングシステム１６０は、ユーザと概念ノード２０４との間の「〜に対して『いいね』を表明する」エッジ２０６によって示されるように、ユーザに関連するユーザノード２０２と概念ノード２０４との間のエッジ２０６を生成し得る。特定の実施形態において、ソーシャルネットワーキングシステム１６０は、１つまたは複数のデータストアにエッジ２０６を記憶し得る。特定の実施形態において、エッジ２０６は、特定のユーザのアクションに応じてソーシャルネットワーキングシステム１６０によって自動的に形成され得る。限定ではなく例として、第１のユーザが画像をアップロードするか、映画を視聴するか、または歌を聴く場合、エッジ２０６が、第１のユーザに対応するユーザノード２０２とそれらの概念に対応する概念ノード２０４との間に形成され得る。本開示は、特定の方法で特定のエッジ２０６を形成することを示すが、任意の好適な方法で任意の好適なエッジ２０６を形成することを想定する。
【００３６】
図３は、例示的なモバイルデバイスを示す。特定の実施形態において、クライアントシステムは、上述のように、モバイルデバイス１０である可能性がある。本開示は、任意の好適な物理的形態をとるモバイルデバイス１０を想定する。特定の実施形態において、モバイルデバイス１０は、以下で説明されるように、コンピューティングシステムである可能性がある。限定ではなく例として、モバイルデバイス１０は、（例えば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）などの）単一ボードコンピュータシステム（ＳＢＣ）、ラップトップもしくはノートブックコンピュータシステム、モバイル電話、スマートフォン、携帯情報端末（ＰＤＡ）、タブレットコンピュータシステム、またはこれらのうちの２つ以上の組合せである可能性がある。特定の実施形態において、モバイルデバイス１０は、入力構成要素としてタッチセンサー１２を有する可能性がある。図３の例において、タッチセンサー１２は、モバイルデバイス１０の前面に組み込まれる。静電容量タッチセンサーの場合、送信および受信の２種類の電極が存在し得る。これらの電極は、電気パルスによって送信電極を駆動し、接触または接近入力によって引き起こされる受信電極の静電容量の変化を測定するように設計されたコントローラに接続され得る。図３の例においては、１つまたは複数のアンテナ１４Ａ〜Ｂが、モバイルデバイス１０の１つまたは複数の側面に組み込まれ得る。アンテナ１４Ａ〜Ｂは、電流を電波に変換し、その逆の変換を行う構成要素である。信号の送信中、送信機は、アンテナ１４Ａ〜Ｂの端子に振動する無線周波数（ＲＦ）電流を印加し、アンテナ１４Ａ〜Ｂは、印加された電流のエネルギーを電磁（ＥＭ）波として放射する。信号の受信中、アンテナ１４Ａ〜Ｂは、到着するＥＭ波の電力をアンテナ１４Ａ〜Ｂの端子で電圧に変換する。電圧は、増幅のために受信機に送信され得る。
【００３７】
特定の実施形態において、ソーシャルネットワーキングシステムまたはサードパーティシステムは、位置情報を得るためにアクティブ化信号を用いてモバイルデバイス１０にポーリングまたは「ｐｉｎｇ」を行い得る。限定ではなく例として、ソーシャルネットワーキングシステムは、モバイルデバイス１０の位置サービスをアクティブ化するアクティブ化信号を送信することによって、位置データに関してモバイルデバイス１０のアプリケーションにポーリングし得る。アクティブ化信号は、例えば、ＷＩ−ＦＩまたは第３世代モバイル電気通信（３Ｇ）などの無線通信プロトコルを用いて送信され、１つまたは複数のアンテナ１４Ａ〜Ｂを通じてモバイルデバイス１０によって受信され得る。特定の実施形態において、モバイルデバイス１０の位置サービスは、例えば、１つもしくは複数のセルラ電話の電波塔の位置、ＷＩ−ＦＩホットスポットに関連するクラウド由来から供給される（ｃｒｏｗｄ−ｓｏｕｒｃｅｄ）位置情報、またはモバイルデバイス１０の全地球測位システム（ＧＰＳ）機能を用いるなど、位置判定の１つまたは複数の方法を使用し得る。
【００３８】
上述のように、ソーシャルネットワーキングシステムは、自動的に、手動入力なしに、モバイルデバイス１０によって与えられた位置データに部分的に基づいてモバイルデバイス１０に関連するジオロケーションを判定し得る。代替的に、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０は、ユーザ１０１が位置更新を開始することを通じて、ユーザ１０１によって実行される「チェックイン」を通じて、またはこれらの組合せを通じてクライアントシステム１３０の位置データを受信し得る。特定の実施形態において、ソーシャルネットワーキングシステムは、モバイルデバイス１０からの位置データに少なくとも部分的に基づいてユーザに関連するモバイルデバイス１０に通知を送信し得る。通知は、モバイルデバイス１０が特定のジオロケーションにまたはその近くにあると判定することに応じて、モバイルデバイス１０のディスプレイに別のユーザによって提供されたコンテンツを表示するモーダルウィンドウであり得る。限定ではなく例として、Ｃｏｉｔ  Ｔｏｗｅｒで婚約したユーザが、ソーシャルネットワーキングシステムに婚約の写真を投稿する可能性がある。モバイルデバイス１０に関連するユーザがその他のユーザと関係（例えば、「友達」）を有し、モバイルデバイス１０が現在Ｃｏｉｔ  Ｔｏｗｅｒにまたはその近くにあると判定することに応じて、婚約の写真を含む通知が、モバイルデバイス１０に送信され得る。別の例として、ユーザＤが、Ｃｏｉｔ  Ｔｏｗｅｒからソーシャルネットワーキングシステムに婚約を知らせる最新の近況を投稿する可能性がある。ユーザＡに関連するモバイルデバイス１０は、モバイルデバイス１０が現在Ｃｏｉｔ  Ｔｏｗｅｒにまたはその近くにあるとソーシャルネットワーキングシステムが判定することに応じて、「ユーザＤがＣｏｉｔ  Ｔｏｗｅｒで婚約した」ことが書かれたモーダルウィンドウである通知を受信し得る。
【００３９】
上述のように、通知で表示されるコンテンツは、ユーザのジオロケーションに関連する情報を含み得る。特定の実施形態において、ソーシャルネットワーキングシステムは、各ユーザに関連するジオロケーションを判定するためにユーザＡおよびユーザＤのモバイルデバイス１０にポーリングし得る。個々のモバイルデバイス１０の位置データは、ソーシャルネットワーキングシステムによって、例えば、ＧＩＳデータなどの地図データに少なくとも部分的に基づいて特定のジオロケーションに相互に関連付けられる可能性がある。限定ではなく例として、ソーシャルネットワーキングシステムは、ユーザＤが空港におり、ユーザＡが空港に向かう道にいると判定する可能性がある。上で検討されたように、ソーシャルグラフ情報、位置データ、および地図データに基づいて、ソーシャルネットワーキングシステムは、空港がユーザＡの将来のジオロケーションであると予測する可能性があり、さらに、リアルタイムの交通データに少なくとも部分的に基づいて到着時間を判定する可能性がある。特定の実施形態において、ソーシャルネットワーキングシステムは、ユーザＤに関連するモバイルデバイス１０に通知を送信する可能性があり、通知は、空港へのユーザＡの更新された到着時間を提供する情報を含み得る。限定ではなく例として、ユーザＤに関連するモバイルデバイス１０に表示される通知は、「ユーザ『Ａ』が空港から約５分のところにいる」と書かれる可能性がある。本開示は、特定のコンテンツを含む特定の通知をモバイルデバイスに送信することを示すが、任意の好適なコンテンツを含む任意の好適な通知を任意の好適なデバイスに送信することを想定する。
【００４０】
図４は、ジオロケーションにまたはその近くにあるモバイルクライアントコンピューティングデバイスに通知を送信するための例示的な方法を示す。方法は、サーバコンピューティングデバイスが第１のユーザに関連するモバイルクライアントコンピューティングデバイスの現在のジオロケーションを判定する工程３００で始まる可能性がある。特定の実施形態において、モバイルクライアントデバイスは、現在のジオロケーションに対応する位置データをサーバコンピューティングデバイスに提供するように構成され得る。工程３０２において、サーバコンピューティングデバイスは、第２のユーザによって提供された現在のジオロケーションに関連するコンテンツを選択する。特定の実施形態において、コンテンツの選択は、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づく。工程３０４において、モバイルクライアントコンピューティングデバイスが現在のジオロケーションにまたはその近くにある間に、コンテンツに関連する通知が、サーバコンピューティングデバイスによってモバイルクライアントコンピューティングデバイスに送信され、この時点で、方法は、終了する可能性がある。本開示は、図４の方法の特定の工程を特定の順序で行われるものとして説明し、例示するが、図４の方法の任意の好適な工程が任意の好適な順序で行われることを想定する。さらに、本開示は、特定の構成要素が図４の方法の特定の工程を実行することを説明し、例示するが、任意の好適な構成要素の任意の好適な組合せが図４の方法の任意の好適な工程を実行することを想定する。
【００４１】
図５は、ジオロケーションに関連するコンテンツを有する通知を受信するための例示的な方法を示す。方法は、モバイルクライアントコンピューティングデバイスがサーバコンピューティングデバイスに位置データを送信する工程３１０で始まる可能性がある。特定の実施形態において、位置データは、第１のユーザに関連するモバイルクライアントコンピューティングデバイスの現在のジオロケーションに対応する。工程３１２において、モバイルクライアントコンピューティングデバイスは、第２のユーザによって提供された現在のジオロケーションに関連するコンテンツに関連する通知をサーバコンピューティングデバイスから受信し、この時点で、方法は、終了する可能性がある。特定の実施形態において、通知は、モバイルクライアントコンピューティングデバイスが現在のジオロケーションにまたはその近くにある間に受信される。特定の実施形態において、コンテンツの選択は、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づく。本開示は、図５の方法の特定の工程を特定の順序で行われるものとして説明し、例示するが、図５の方法の任意の好適な工程が任意の好適な順序で行われることを想定する。さらに、本開示は、特定の構成要素が図５の方法の特定の工程を実行することを説明し、例示するが、任意の好適な構成要素の任意の好適な組合せが図５の方法の任意の好適な工程を実行することを想定する。
【００４２】
図６は、第１のユーザのジオロケーションに関心を持っている第２のユーザに通知を送信するための例示的な方法を示す。方法は、サーバコンピューティングデバイスが第１のユーザの現在のジオロケーションを判定する工程４００で始まる可能性がある。工程４０２は、第１のユーザのジオロケーションが関心を持たれている第２のユーザを特定する。特定の実施形態において、第２のユーザは、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づいて特定される。工程４０４において、第１のユーザのジオロケーションに関連する通知が、第２のユーザに関連するモバイルクライアントコンピューティングデバイスに送信され、この時点で、方法は、終了する可能性がある。特定の実施形態において、第１のユーザのジオロケーションは、将来のジオロケーションであり、サーバコンピューティングデバイスが、第２のユーザのジオロケーションに対して相対的な第１のユーザのジオロケーションおよびソーシャルグラフ情報に少なくとも部分的に基づいて将来のジオロケーションを予測する。本開示は、図６の方法の特定の工程を特定の順序で行われるものとして説明し、例示するが、図６の方法の任意の好適な工程が任意の好適な順序で行われることを想定する。さらに、本開示は、特定の構成要素が図６の方法の特定の工程を実行することを説明し、例示するが、任意の好適な構成要素の任意の好適な組合せが図６の方法の任意の好適な工程を実行することを想定する。
【００４３】
図７は、第１のユーザのジオロケーションに関心を持っている第２のユーザによって通知を受信するための例示的な方法を示す。方法は、第２のユーザに関連するモバイルクライアントコンピューティングデバイスがサーバコンピューティングデバイスから第１のユーザのジオロケーションに関連する通知を受信する工程４１０で始まる可能性がある。特定の実施形態において、第２のユーザは、第１のユーザのジオロケーションに関心を持っており、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づいて特定される。工程４１２において、モバイルクライアントコンピューティングデバイスのディスプレイが、通知を表示し、この時点で、方法は、終了する可能性がある。特定の実施形態において、通知は、モバイルクライアントコンピューティングデバイスのディスプレイに表示されるモーダルウィンドウである。本開示は、図７の方法の特定の工程を特定の順序で行われるものとして説明し、例示するが、図７の方法の任意の好適な工程が任意の好適な順序で行われることを想定する。さらに、本開示は、特定の構成要素が図７の方法の特定の工程を実行することを説明し、例示するが、任意の好適な構成要素の任意の好適な組合せが図７の方法の任意の好適な工程を実行することを想定する。
【００４４】
図８は、例示的なコンピューティングシステムを示す。特定の実施形態においては、１つまたは複数のコンピュータシステム６０が、本明細書において説明または例示された１つまたは複数の方法の１つまたは複数の工程を実行する。特定の実施形態においては、１つまたは複数のコンピュータシステム６０が、本明細書において説明または例示された機能を提供する。特定の実施形態においては、１つまたは複数のコンピュータシステム６０で実行されるソフトウェアが、本明細書において説明もしくは例示された１つもしくは複数の方法の１つもしくは複数の工程を実行するか、または本明細書において説明もしくは例示された機能を提供する。特定の実施形態は、１つまたは複数のコンピュータシステム６０の１つまたは複数の部分を含む。本明細書において、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含する可能性がある。さらに、コンピュータシステムへの言及は、適切な場合、１つまたは複数のコンピュータシステムを包含する可能性がある。
【００４５】
本開示は、任意の好適な数のコンピュータシステム６０を想定する。本開示は、任意の好適な物理的形態をとるコンピュータシステム６０を想定する。限定ではなく例として、コンピュータシステム６０は、組み込みコンピュータシステム、システムオンチップ（ＳＯＣ）、（例えば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）などの）単一ボードコンピュータシステム（ＳＢＣ）、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、インタラクティブなキオスク、メインフレーム、コンピュータシステムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレットコンピュータシステム、またはこれらのうちの２つ以上の組合せである可能性がある。適切な場合、コンピュータシステム６０は、１つもしくは複数のコンピュータシステム６０を含むか、単一であるかもしくは分散されているか、複数の場所に広がっているか、複数のマシンに広がるか、複数のデータセンターに広がるか、または１つもしくは複数のネットワークの１つもしくは複数のクラウド構成要素を含み得るクラウドに存在する可能性がある。適切な場合、１つまたは複数のコンピュータシステム６０は、本明細書において説明または例示された１つまたは複数の方法の１つまたは複数の工程を実質的な空間的または時間的限定なしに実行し得る。限定ではなく例として、１つまたは複数のコンピュータシステム６０は、本明細書において説明または例示された１つまたは複数の方法の１つまたは複数の工程をリアルタイムでまたはバッチ式で実行し得る。１つまたは複数のコンピュータシステム６０は、適切な場合、本明細書において説明または例示された１つまたは複数の方法の１つまたは複数の工程を異なる時間にまたは異なる場所で実行し得る。
【００４６】
特定の実施形態において、コンピュータシステム６０は、プロセッサ６２、メモリ６４、ストレージ６６、入力／出力（Ｉ／Ｏ）インターフェース６８、通信インターフェース７０、およびバス７２を含む。本開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータシステムを説明し、例示するが、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータシステムを想定する。
【００４７】
特定の実施形態において、プロセッサ６２は、コンピュータプログラムを構成する命令などの命令を実行するためのハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ６２は、内部レジスタ、内部キャッシュ、メモリ６４、またはストレージ６６から命令を取り出し（またはフェッチし）、それらの命令をデコードおよび実行し、それから、内部レジスタ、内部キャッシュ、メモリ６４、またはストレージ６６に１つまたは複数の結果を書き込み得る。特定の実施形態において、プロセッサ６２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ６２を想定する。限定ではなく例として、プロセッサ６２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータキャッシュ、および１つまたは複数のトランスレーションルックアサイドバッファ（ＴＬＢ）を含み得る。命令キャッシュ内の命令は、メモリ６４またはストレージ６６内の命令のコピーである可能性があり、命令キャッシュは、プロセッサ６２によるそれらの命令の取り出しを高速化し得る。データキャッシュ内のデータは、動作するためにプロセッサ６２で実行される命令に関するメモリ６４またはストレージ６６のデータのコピーであるか、プロセッサ６２で実行される後続の命令によるアクセスのためまたはメモリ６４もしくはストレージ６６への書き込みのための、プロセッサ６２で実行された前の命令の結果であるか、あるいはその他の好適なデータである可能性がある。データキャッシュは、プロセッサ６２による読み出しまたは書き込みを高速化し得る。ＴＬＢは、プロセッサ６２に関する仮想アドレス変換を高速化し得る。特定の実施形態において、プロセッサ６２は、データ、命令、またはアドレスのための１つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ６２を想定する。適切な場合、プロセッサ６２は、１つもしくは複数の算術論理演算ユニット（ＡＬＵ）を含むか、マルチコアプロセッサであるか、または１つもしくは複数のプロセッサ６２を含む可能性がある。本開示は、特定のプロセッサを説明し、例示するが、任意の好適なプロセッサを想定する。
【００４８】
特定の実施形態において、メモリ６４は、実行するためのプロセッサ６２に関する命令または動作するためのプロセッサ６２に関するデータを記憶するためのメインメモリを含む。限定ではなく例として、コンピュータシステム６０は、命令をストレージ６６または（例えば、別のコンピュータシステム６０などの）別のソースからメモリ６４にロードし得る。そして、プロセッサ６２は、命令をメモリ６４から内部レジスタまたは内部キャッシュにロードし得る。命令を実行するために、プロセッサ６２は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令をデコードし得る。命令の実行中または命令の実行後、プロセッサ６２は、（中間結果または最終結果である可能性がある）１つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。そして、プロセッサ６２は、それらの結果のうちの１つまたは複数をメモリ６４に書き込み得る。特定の実施形態において、プロセッサ６２は、（ストレージ６６またはその他の場所と対照的に）１つもしくは複数の内部レジスタもしくは内部キャッシュまたはメモリ６４内の命令のみ実行し、（ストレージ６６またはその他の場所と対照的に）１つもしくは複数の内部レジスタもしくは内部キャッシュまたはメモリ６４内のデータのみに基づいて動作する。（各々がアドレスバスおよびデータバスを含み得る）１つまたは複数のメモリバスが、プロセッサ６２をメモリ６４に結合し得る。バス７２は、以下で説明されるように、１つまたは複数のメモリバスを含み得る。特定の実施形態においては、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ６２とメモリ６４との間に存在し、プロセッサ６２によって要求されるメモリ６４へのアクセスを容易にする。特定の実施形態において、メモリ６４は、ランダムアクセスメモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリである可能性がある。適切な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）もしくはスタティックＲＡＭ（ＳＲＡＭ）である可能性がある。さらに、適切な場合、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭである可能性がある。本開示は、任意の好適なＲＡＭを想定する。メモリ６４は、適切な場合、１つまたは複数のメモリ６４を含み得る。本開示は、特定のメモリを説明し、例示するが、任意の好適なメモリを想定する。
【００４９】
特定の実施形態において、ストレージ６６は、データまたは命令のための大容量ストレージを含む。限定ではなく例として、ストレージ６６は、ハードディスクドライブ（ＨＤＤ）、フロッピーディスク（登録商標）ドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、もしくユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらのうちの２つ以上の組合せを含み得る。ストレージ６６は、適切な場合、取り外し可能なまたは取り外し不可能な（もしくは固定の）媒体を含み得る。ストレージ６６は、適切な場合、コンピュータシステム６０の内部または外部にある可能性がある。特定の実施形態において、ストレージ６６は、不揮発性のソリッドステートメモリである。特定の実施形態において、ストレージ６６は、読み出し専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムドＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的変更可能ＲＯＭ（ＥＡＲＯＭ）、もしくはフラッシュメモリ、またはこれらのうちの２つ以上の組合せである可能性がある。本開示は、任意の好適な物理的形態をとる大容量ストレージ６６を想定する。ストレージ６６は、適切な場合、プロセッサ６２とストレージ６６との間の通信を容易にする１つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ６６は、１つまたは複数のストレージ６６を含み得る。本開示は、特定のストレージを説明し、例示するが、任意の好適なストレージを想定する。
【００５０】
特定の実施形態において、Ｉ／Ｏインターフェース６８は、コンピュータシステム６０と１つまたは複数のＩ／Ｏデバイスとの間の通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはそれら両方を含む。コンピュータシステム６０は、適切な場合、これらのＩ／Ｏデバイスのうちの１つまたは複数を含み得る。これらのＩ／Ｏデバイスのうちの１つまたは複数は、個人とコンピュータシステム６０との間の通信を可能にし得る。限定ではなく例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なＩ／Ｏデバイス、またはこれらのうちの２つ以上の組合せを含み得る。Ｉ／Ｏデバイスは、１つまたは複数のセンサーを含み得る。本開示は、任意の好適なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の好適なＩ／Ｏインターフェース６８を想定する。適切な場合、Ｉ／Ｏインターフェース６８は、プロセッサ６２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバイスまたはソフトウェアドライバを含み得る。Ｉ／Ｏインターフェース６８は、適切な場合、１つまたは複数のＩ／Ｏインターフェース６８を含み得る。本開示は、特定のＩ／Ｏインターフェースを説明し、例示するが、任意の好適なＩ／Ｏインターフェースを想定する。
【００５１】
特定の実施形態において、通信インターフェース７０は、コンピュータシステム６０と１つもしくは複数のその他のコンピュータシステム６０または１つもしくは複数のネットワークとの間の（例えば、パケットに基づく通信などの）通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはそれら両方を含む。限定ではなく例として、通信インターフェース７０は、イーサネット（登録商標）もしくはその他の有線のネットワークによって通信するためのネットワークインターフェースコントローラ（ＮＩＣ）もしくはネットワークアダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークによって通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含み得る。本開示は、任意の好適なネットワーク、およびそのネットワークのための任意の好適な通信インターフェース７０を想定する。限定ではなく例として、コンピュータシステム６０は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、もしくはインターネットの１つもしくは複数の部分、またはこれらのうちの２つ以上の組合せによって通信し得る。これらのネットワークのうちの１つまたは複数の部分は、有線または無線である可能性がある。例として、コンピュータシステム６０は、（例えば、ＢＬＵＥＴＯＯＴＨ（登録商標）  ＷＰＡＮなどの）無線ＰＡＮ（ＷＰＡＮ）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、（例えば、移動体通信用グローバルシステム（ＧＳＭ）ネットワークなどの）セルラ電話ネットワーク、もしくはその他の好適な無線ネットワーク、またはこれらの２つ以上の組合せによって通信し得る。コンピュータシステム６０は、適切な場合、これらのネットワークいずれかのための任意の好適な通信インターフェース７０を含み得る。通信インターフェース７０は、適切な場合、１つまたは複数の通信インターフェース７０を含み得る。本開示は、特定の通信インターフェースを説明し、例示するが、任意の好適な通信インターフェースを想定する。
【００５２】
特定の実施形態において、バス７２は、コンピュータシステム６０の構成要素を互いに結合するハードウェア、ソフトウェア、またはそれら両方を含む。限定ではなく例として、バス７２は、アクセラレーテッドグラフィックスポート（ＡＧＰ）もしくはその他のグラフィックスバス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ローピンカウント（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、周辺装置相互接続（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バス、シリアルアドバンスドテクノロジーアタッチメント（ＳＡＴＡ）バス、映像電子機器標準協会ローカル（ＶＬＢ）バス、もしくは別の好適なバス、またはこれらの２つ以上の組合せを含み得る。バス７２は、適切な場合、１つまたは複数のバス７２を含み得る。本開示は、特定のバスを説明し、例示するが、任意の好適なバスまたは相互接続を想定する。
【００５３】
本明細書において、１つのコンピュータ可読非一時的ストレージ媒体または複数のコンピュータ可読非一時的ストレージ媒体は、適切な場合、（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは特定用途向けＩＣ（ＡＳＩＣ）などの）１つもしくは複数の半導体に基づくもしくはその他の集積回路（ＩＣ）、ハードディスクドライブ（ＨＤＤ）、ハイブリッドハードドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）ディスケット、フロッピーディスク（登録商標）ドライブ（ＦＤＤ）、磁気テープ、ソリッドステートドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュアデジタルカードもしくはドライブ、任意のその他の好適なコンピュータ可読非一時的ストレージ媒体、またはこれらの２つ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的ストレージ媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せである可能性がある。
【００５４】
本明細書において、「または」は、そうでないことが明示的に示されるか、またはそうでないことが文脈によって示されない限り、包含的であり、排他的でない。したがって、本明細書において、「ＡまたはＢ」は、そうでないことが明示的に示されるか、またはそうでないことが文脈によって示されない限り、「Ａ、Ｂ、またはそれら両方」を意味する。さらに、「および」は、そうでないことが明示的に示されるか、またはそうでないことが文脈によって示されない限り、一緒の場合と個別の場合の両方である。したがって、本明細書において、「ＡおよびＢ」は、そうでないことが明示的に示されるか、またはそうでないことが文脈によって示されない限り、「ＡとＢの両方またはどちらか一方」を意味する。
【００５５】
本開示の範囲は、当業者が理解する、本明細書において説明または例示された例示的な実施形態に対するすべての変更、置き換え、変化、改変、および修正を包含する。本開示の範囲は、本明細書において説明または例示された例示的な実施形態に限定されない。さらに、本開示は、実施形態を本明細書において特定の構成要素、要素、機能、動作、または工程を含むものとして説明し、例示するが、これらの実施形態のいずれかが、当業者が理解する、本明細書の任意の箇所で説明または例示された構成要素、要素、機能、動作、または工程の任意の組合せまたはいずれかの変更形態を含む可能性がある。さらに、特定の機能を実行するように適合されるか、特定の機能を実行するように配列されるか、特定の機能を実行する能力があるか、特定の機能を実行するように構成されるか、特定の機能を実行することを可能にされるか、特定の機能を実行するように動作可能であるか、または特定の機能を実行するように機能する装置もしくシステムまたは装置もしくはシステムの構成要素に対する添付の請求項における言及は、そのような装置、システム、または構成要素がそのように適合されるか、配列されるか、能力があるか、構成されるか、可能にされるか、動作可能であるか、または機能する限り、その装置、システム、構成要素、またはその特定の機能が作動されるか、オンにされるか、またはロックを解除されるか否かにかかわらずその装置、システム、構成要素を包含する。
【００５６】
以下の内容は、添付の請求項の代替としてまたは添付の請求項と任意に組み合わせて、語「実施形態」を「請求項」に置き換えるだけで特許請求され得る。
実施形態１：サーバコンピューティングデバイスによって、第１のユーザのジオロケーションを判定し、
サーバコンピューティングデバイスによって、第１のユーザのジオロケーションに関心がある第２のユーザを、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づいて特定し、
サーバコンピューティングデバイスによって、第２のユーザに関連するモバイルクライアントコンピューティングデバイスに第１のユーザのジオロケーションに関連する通知を送信することを備える方法。
【００５７】
実施形態２：第１のユーザのジオロケーションが現在のジオロケーションである実施形態１に記載の方法。
実施形態３：第１のユーザのジオロケーションが将来のジオロケーションであり、将来のジオロケーションを判定することが、将来のジオロケーションを予測することを備える実施形態１に記載の方法。
【００５８】
実施形態４：将来のジオロケーションを予測することが、第２のユーザのジオロケーションに対して相対的な第１のユーザのジオロケーションおよびソーシャルグラフ情報に少なくとも部分的に基づいて第１のユーザおよび第２のユーザに共通のジオロケーションを判定することを備える実施形態３に記載の方法。
【００５９】
実施形態５：将来のジオロケーションを予測することが、第１のユーザの移動の軌跡が第２のユーザの移動の軌跡と実質的に交わるかどうかおよびソーシャルグラフ情報に少なくとも部分的に基づいて第１のユーザおよび第２のユーザに共通のジオロケーションを判定することを備える実施形態３に記載の方法。
【００６０】
実施形態６：第１のユーザおよび第２のユーザが、ソーシャルネットワーキングシステムのユーザであり、
ソーシャルネットワーキングシステムが、複数のノードと、ノード同士を接続するエッジとを備えるグラフを備え、
グラフの少なくとも１つのノードが、第１のユーザに対応し、
グラフの少なくとも１つのノードが、第２のユーザに対応し、
第１のユーザと第２のユーザとの関係が、第１のユーザに対応するノードのうちの少なくとも１つが１つまたは複数のエッジによって第２のユーザに対応するノードのうちの少なくとも１つに接続されることを備える実施形態１から５のいずれか一つに記載の方法。
【００６１】
実施形態７：１つまたは複数のエッジは、第２のユーザに対応するノードのうちの少なくとも１つのノードに接続されている第１のユーザに対応するノードのうちの少なくとも１つのノードに直接接続している実施形態６に記載の方法。
【００６２】
実施形態８：実行されるときに、
第１のユーザのジオロケーションを判定させ、
第１のユーザのジオロケーションが関心をもたれており、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づいて特定される第２のユーザを特定させ、
第２のユーザに関連するモバイルクライアントコンピューティングデバイスに第１のユーザのジオロケーションに関連する通知を送信させるように構成された論理を具現化する１つまたは複数のコンピュータ可読非一時的ストレージ媒体。
【００６３】
実施形態９：第１のユーザのジオロケーションが、現在のジオロケーションである実施形態８に記載の媒体。
実施形態１０：第１のユーザのジオロケーションが、将来のジオロケーションであり、将来のジオロケーションを判定することが、将来のジオロケーションを予測することを備える実施形態８に記載の媒体。
【００６４】
実施形態１１：論理が、第２のユーザのジオロケーションに対して相対的な第１のユーザのジオロケーションおよびソーシャルグラフ情報に少なくとも部分的に基づいて第１のユーザおよび第２のユーザに共通のジオロケーションを判定するようにさらに構成される実施形態１０に記載の媒体。
【００６５】
実施形態１２：論理が、第１のユーザの移動の軌跡が第２のユーザの移動の軌跡と実質的に交差するかどうかおよびソーシャルグラフ情報に少なくとも部分的に基づいて第１のユーザおよび第２のユーザに共通のジオロケーションを判定するようにさらに構成される実施形態１０に記載の媒体。
【００６６】
実施形態１３：第１のユーザおよび第２のユーザが、ソーシャルネットワーキングシステムのユーザであり、
ソーシャルネットワーキングシステムが、複数のノードと、ノード同士を接続するエッジとを備えるグラフを備え、
グラフの少なくとも１つのノードが、第１のユーザに対応し、
グラフの少なくとも１つのノードが、第２のユーザに対応し、
第１のユーザと第２のユーザとの関係が、第１のユーザに対応するノードのうちの少なくとも１つが１つまたは複数のエッジによって第２のユーザに対応するノードのうちの少なくとも１つに接続されることを備える実施形態８に記載の媒体。
【００６７】
実施形態１４：１つまたは複数のエッジは、第２のユーザに対応するノードのうちの少なくとも１つのノードに接続されている第１のユーザに対応するノードのうちの少なくとも１つのノードに直接接続している実施形態１３に記載の媒体。
【００６８】
実施形態１５：第１のユーザのジオロケーションに関心を持っており、第１のユーザと第２のユーザとの関係に少なくとも部分的に基づいて特定される第２のユーザに関連するモバイルクライアントコンピューティングデバイスによって、第１のユーザのジオロケーションに関連する通知をサーバコンピューティングデバイスから受信し、
モバイルクライアントコンピューティングデバイスによって、ディスプレイに通知を表示することを備える方法。
【００６９】
実施形態１６：第１のユーザのジオロケーションが、現在のジオロケーションである実施形態１５に記載の方法。
実施形態１７：第１のユーザのジオロケーションが、将来のジオロケーションであり、将来のジオロケーションを判定することが、将来のジオロケーションを予測することを備える実施形態１５に記載の方法。
【００７０】
実施形態１８：将来のジオロケーションを予測することが、第２のユーザのジオロケーションに対して相対的な第１のユーザのジオロケーションおよびソーシャルグラフ情報に少なくとも部分的に基づいて第１のユーザおよび第２のユーザに共通のジオロケーションを判定することを備える実施形態１７に記載の方法。
【００７１】
実施形態１９：第１のユーザおよび第２のユーザが、ソーシャルネットワーキングシステムのユーザであり、
ソーシャルネットワーキングシステムが、複数のノードと、ノード同士を接続するエッジとを備えるグラフを備え、
グラフの少なくとも１つのノードが、第１のユーザに対応し、
グラフの少なくとも１つのノードが、第２のユーザに対応し、
第１のユーザと第２のユーザとの関係が、第１のユーザに対応するノードのうちの少なくとも１つが１つまたは複数のエッジによって第２のユーザに対応するノードのうちの少なくとも１つに接続されることを備える実施形態１５に記載の方法。
【００７２】
実施形態２０：１つまたは複数のエッジは、第２のユーザに対応するノードのうちの少なくとも１つのノードに接続されている第１のユーザに対応するノードのうちの少なくとも１つのノードに直接接続している実施形態１９に記載の方法。
【図１】
0006427496.tif 000002
【図２】
0006427496.tif 000003
【図３】
0006427496.tif 000004
【図４】
0006427496.tif 000005
【図５】
0006427496.tif 000006
【図６】
0006427496.tif 000007
【図７】
0006427496.tif 000008
【図８】
0006427496.tif 000009