(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスの目標の地理的な場所を受け取るステップと、
前記目標の地理的な場所に基づいて近傍を特定するステップと、
前記近傍を使用してソーシャルネットワークサービスのアカウントに関連する1組の連絡先を特定するステップであって、前記1組の連絡先が、前記近傍内の場所に関連しない1つまたは複数の連絡先を除外する連絡先リストを生成するために使用される、ステップと、
前記連絡先リストのメンバーに連絡を送るステップであって、前記連絡が、前記目標の地理的な場所に関連する、ステップとを含み、
前記近傍の境界は、前記連絡の主題と前記近傍内の１または複数の連絡先との間の関連に基づいて設定される、方法。
【請求項２】
前記1組の連絡先を特定するステップが、
連絡先の中から前記近傍に関連するワードを検索するステップと、
前記近傍に関連する前記ワードを有する連絡先を選択するステップとを含む請求項1に記載の方法。
【請求項３】
前記目標の地理的な場所を受け取るステップが、前記ソーシャルネットワークサービスを通じてアクセス可能であるインデックスから前記目標の地理的な場所を取得するステップを含む請求項1に記載の方法。
【請求項４】
前記目標の地理的な場所を受け取るステップが、
ジオロケーションサービスから前記コンピューティングデバイスの現在の場所を取得するステップと、
前記現在の場所を前記目標の地理的な場所と相互に関連付けるステップとを含む請求項1に記載の方法。
【請求項５】
前記コンピューティングデバイスに関連するユーザのソーシャルグラフに少なくとも部分的に基づいて前記連絡先リストのメンバー資格を改善するステップをさらに含む請求項1に記載の方法。
【請求項６】
前記目標の地理的な場所を受け取るステップが、チェックイン情報を含むデータベースに問い合わせるステップを含み、前記チェックイン情報が、前記コンピューティングデバイスの現在の場所を含み、前記現在の場所が、前記目標の地理的な場所である請求項1に記載の方法。
【請求項７】
前記近傍を特定するステップが、
前記連絡の前記主題を特定するステップと、
前記主題に対応する近傍に関してデータベースを検索するステップとを含む請求項1に記載の方法。
【請求項８】
前記1組の連絡先が、前記目標の地理的な場所の近傍にあることが知られている前記ソーシャルネットワークサービスのメンバーを含む請求項1に記載の方法。
【請求項９】
ソーシャルネットワークサービスの連絡先のグループを定義するステップであって、連絡先の前記グループが、地理に基づいて定義される、ステップと、
コンピューティングデバイスの目標の場所を取得するステップであって、前記目標の場所が、前記目標の場所に関連する名前によって定義される、ステップと、
前記目標の場所の近傍を用いてソーシャルネットワークサービスのアカウントに関連する1組の連絡先を取得するステップであって、前記1組の連絡先が、連絡先の前記グループを含む連絡先リストを生成するために使用される、ステップと、  前記連絡先リストに連絡を送るステップであって、前記連絡が、前記目標の場所に関連する、ステップとを含み、
前記近傍の境界は、前記連絡の主題と前記近傍内の１または複数の連絡先との間の関連に基づいて設定される、方法。
【請求項１０】
前記目標の場所を取得するステップが、前記ソーシャルネットワークサービスを通じてアクセス可能であるプロファイルから前記目標の場所を取得するステップを含む請求項9に記載の方法。
【請求項１１】
前記目標の場所を取得するステップが、
ジオロケーションサービスを用いて前記コンピューティングデバイスの現在の場所を取得するステップと、
前記現在の場所を前記目標の場所と相互に関連付けるステップとを含む請求項9に記載の方法。
【請求項１２】
前記連絡が、前記目標の場所のイベントに関連する請求項9に記載の方法。
【請求項１３】
コンピューティングデバイスの目標の地理的な場所を受け取る動作と、
前記目標の地理的な場所に基づいて近傍を特定する動作と、
前記近傍を使用してソーシャルネットワークサービスのアカウントに関連する1組の連絡先を特定する動作であって、前記1組の連絡先が、前記近傍内の場所に関連しない1つまたは複数の連絡先を除外する連絡先リストを生成するために使用される、動作と、
前記連絡先リストのメンバーに連絡を送る動作であって、前記連絡が、前記目標の地理的な場所に関連する、動作とを含み、
前記近傍の境界は、前記連絡の主題と前記近傍内の１または複数の連絡先との間の関連に基づいて設定される、動作を実行するための実行可能な命令を記憶する1つまたは複数の非一時的機械可読記憶媒体。
【請求項１４】
ソーシャルネットワークサービスの連絡先のグループを定義する動作であって、連絡先の前記グループが、地理に基づいて定義される、動作と、
コンピューティングデバイスの目標の場所を取得する動作であって、前記目標の場所が、前記目標の場所に関連する名前によって定義される、動作と、
前記目標の場所の近傍を用いてソーシャルネットワークサービスのアカウントに関連する1組の連絡先を取得する動作であって、前記1組の連絡先が、連絡先の前記グループを含む連絡先リストを生成するために使用される、動作と、
前記連絡先リストに連絡を送る動作であって、前記連絡が、前記目標の場所に関連する、動作とを含み、
前記近傍の境界は、前記連絡の主題と前記近傍内の１または複数の連絡先との間の関連に基づいて設定される、動作を実行するための実行可能な命令を記憶する1つまたは複数の非一時的機械可読記憶媒体。
【請求項１５】
コンピューティングデバイスの目標の地理的な場所を受け取り、前記目標の地理的な場所に基づいて近傍を特定するためのデータエンジンと、
前記近傍を使用してソーシャルネットワークサービスのアカウントに関連する1組の連絡先を特定することであって、前記1組の連絡先が、前記近傍内の場所に関連しない1つまたは複数の連絡先を除外する連絡先リストを生成するために使用される、特定すること、および前記連絡先リストのメンバーに連絡を送ることであって、前記連絡が、前記目標の地理的な場所に関連する、送ることを行うための検索エンジンとを含み、
前記近傍の境界は、前記連絡の主題と前記近傍内の１または複数の連絡先との間の関連に基づいて設定される、システム。
【請求項１６】
実行可能な命令を記憶する1つまたは複数の非一時的機械可読記憶媒体と、
ソーシャルネットワークサービスの連絡先のグループを定義する動作であって、連絡先の前記グループが、地理に基づいて定義される、動作、
コンピューティングデバイスの目標の場所を取得する動作であって、前記目標の場所が、前記目標の場所に関連する名前によって定義される、動作
前記目標の場所の近傍を用いてソーシャルネットワークサービスのアカウントに関連する1組の連絡先を取得する動作であって、前記1組の連絡先が、連絡先の前記グループを含む連絡先リストを生成するために使用される、動作、および
前記連絡先リストに連絡を送る動作であって、前記連絡が、前記目標の場所に関連する、動作
を含み、
前記近傍の境界は、前記連絡の主題と前記近傍内の１または複数の連絡先との間の関連に基づいて設定される、動作を実行するために前記命令を実行するための1つまたは複数の処理デバイスとを含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
2012年3月26日に出願した米国仮出願第61/615,447号の優先権が、本明細書によって主張される。米国仮出願第61/615,447号の内容は、参照により本開示に組み込まれる。
【０００２】
本開示は、概して、ソーシャルネットワークサービスの連絡先に連絡を送ることに関する。
【背景技術】
【０００３】
インターネットに基づくソーシャルネットワークは、ユーザが互いにインタラクションし、情報を共有するためのデジタル媒体を提供する。例えば、ユーザは、それらのユーザがソーシャルネットワークで接続される可能性があるその他のユーザに電子的なコンテンツ(例えば、テキストのコメント、デジタル画像、デジタル動画、デジタル音声、ウェブサイトへのハイパーリンクなど)を配信することができる。ユーザに配信される電子的なコンテンツは、ホーム(または「ストリーム(stream)」)ページのコンテンツストリームでユーザに対して表示される可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、ソーシャルネットワークサービスの連絡先に連絡を送るための技術を説明する。
【０００５】
例示的な技術は、コンピューティングデバイスの目標の地理的な場所を受け取るステップと、目標の地理的な場所に基づいて近傍を特定するステップと、近傍を使用してソーシャルネットワークサービスのアカウントに関連する1組の連絡先を特定するステップであって、1組の連絡先が、近傍内の場所に関連しない1つまたは複数の連絡先を除外する連絡先リストを生成するために使用される、特定するステップと、連絡先リストのメンバーに連絡を送るステップであって、連絡が、目標の地理的な場所に関連する、送るステップとを含む。上述の例示的な技術は、単独でかまたは組み合わせてかのどちらかで考慮される以下の特徴のうちの1つまたは複数を含み得る。
【０００６】
1組の連絡先を特定するステップは、連絡先の中から近傍に関連するワードを検索するステップと、近傍に関連するワードを有する連絡先を選択するステップとを含み得る。
【０００７】
目標の地理的な場所を受け取るステップは、ソーシャルネットワークサービスを通じてアクセス可能であるインデックスから目標の地理的な場所を取得するステップを含み得る。目標の地理的な場所を取得するステップは、ジオロケーションサービスからコンピューティングデバイスの現在の場所を取得するステップと、現在の場所を目標の地理的な場所と相互に関連付けるステップとを含み得る。目標の地理的な場所を受け取るステップは、チェックイン(check-in)情報を含むデータベースに問い合わせるステップを含む可能性があり、チェックイン情報は、目標の地理的な場所に対応するコンピューティングデバイスの現在の場所を含む。
【０００８】
上述の例示的な技術は、コンピューティングデバイスに関連するユーザのソーシャルグラフに少なくとも部分的に基づいて連絡先リストのメンバー資格を改善する(refine)ステップを含み得る。近傍を特定するステップは、連絡の主題を特定するステップと、主題に対応する近傍に関してデータベースを検索するステップとを含み得る。1組の連絡先は、目標の地理的な場所の近傍にあることが知られているソーシャルネットワークサービスのメンバーを含み得る。
【０００９】
別の例示的な技術は、ソーシャルネットワークサービスの連絡先のグループを定義するステップであって、連絡先のグループが、地理に基づいて定義される、ステップと、コンピューティングデバイスの目標の場所を取得するステップであって、目標の場所が、目標の場所に関連する名前によって定義される、ステップと、目標の場所を用いてソーシャルネットワークサービスのアカウントに関連する1組の連絡先を取得するステップであって、1組の連絡先が、連絡先のグループを含む連絡先リストを生成するために使用される、ステップと、連絡先リストに連絡を送るステップであって、連絡が、目標の場所に関連する、ステップとを含む。上述の例示的な技術は、単独でかまたは組み合わせてかのどちらかで考慮される以下の特徴のうちの1つまたは複数を含み得る。
【００１０】
目標の場所を取得するステップは、ソーシャルネットワークサービスを通じてアクセス可能であるプロファイルから目標の場所を取得するステップを含み得る。目標の場所を取得するステップは、ジオロケーションサービスを用いてコンピューティングデバイスの現在の場所を取得するステップと、現在の場所を目標の場所と相互に関連付けるステップとを含み得る。連絡は、目標の場所のイベントに関連する可能性がある。
【００１１】
本明細書において説明されるシステムおよび技術のすべてまたは一部は、1つまたは複数の非一時的機械可読ストレージ媒体に記憶され、1つまたは複数の処理デバイスで実行可能な命令を含むコンピュータプログラム製品として実装される可能性がある。本明細書において説明されるシステムおよび技術のすべてまたは一部は、装置、方法、または1つもしくは複数の処理デバイスと、記載された機能を実装するための実行可能な命令を記憶するメモリとを含み得る電子的なシステムとして実装される可能性がある。
【００１２】
1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。その他の特徴、目標、および利点は、それらの説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】本明細書において説明されるプロセスが実装され得るネットワーク環境の例を示すブロック図である。
【図２】ソーシャルネットワークのユーザのメインページの例を示す図である。
【図３】図1のネットワーク環境の一部の例のブロック図である。
【図４】ソーシャルグラフの例の概念図である。
【図５】ソーシャルネットワークサービスの連絡先に連絡を送るためのプロセスの例を示す流れ図である。
【図６】本明細書において説明されるプロセスまたはその一部が実装され得るコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【００１４】
さまざまな図面における同様の参照符号は、同様の要素を示す。
【００１５】
本明細書において説明されるのは、ソーシャルネットワークサービスの連絡先に連絡を送るためのシステムである。1つの実装において、システムは、スマートフォンなどのコンピューティングデバイスの目標の場所を取得することを含み得る。目標の場所は、名前によって定義される可能性がある。システムは、目標の場所を用いて、ソーシャルネットワークサービスのアカウントに関連する社会的連絡先(social contact)のリストを特定する。連絡先リストは、目標の場所の予め定義された近傍の中にない1つまたは複数の連絡先を除外する。システムは、連絡先リストの連絡先に電子的な連絡を送信する。例えば、連絡は、目標の場所に関連付けられるイベントに関する可能性がある。
【００１６】
場所の名前によって連絡先を特定することによって、例えば、イベントに実際に参加することができる特定の地域内の連絡先を特定することが可能である。連絡は、それらの連絡先に制限される可能性があり、それによって、その他の社会的連絡先が、それらの社会的連絡先が出席できそうにないイベント、またはそれらの社会的連絡先が参加しそうにないその他のことに関する連絡を受け取らなくてすむようにする。
【００１７】
上述のシステムは、適切なデバイスおよびコンピューティング機器によって適切なネットワーク環境で実装され得る。そのような環境の例が、以下で説明される。
【００１８】
図1は、本明細書において説明されるシステムが実装され得るネットワーク環境100の例を示すブロック図である。ネットワーク環境100は、ネットワーク111を介して第1のサーバシステム112および/または第2のサーバシステム114と通信するように構成されるコンピューティングデバイス102、104、106、108、110を含む。コンピューティングデバイス102、104、106、108、110は、それらのコンピューティングデバイスに関連するそれぞれのユーザ122、124、126、128、130を有する。第1のおよび第2のサーバシステム112、114は、それぞれ、コンピューティングデバイス116と、機械可読リポジトリまたはデータベース118とを含む。例示的な環境100は、図示されていない何千ものウェブサイト、コンピューティングデバイス、およびサーバを含む可能性がある。
【００１９】
ネットワーク111は、大規模なコンピュータネットワークを含む可能性があり、大規模なコンピュータネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、セルラネットワーク、または多数のモバイルコンピューティングデバイス、固定コンピューティングデバイス、およびサーバシステムを接続するそれらのネットワークの組み合わせを含む。ネットワーク111に含まれるネットワークは、さまざまなモードまたはプロトコルの下で通信を提供する可能性があり、それらのモードまたはプロトコルの例は、とりわけ、伝送制御プロトコル(TCP/IP)、移動体通信用グローバルシステム(GSM（登録商標）: Global System for Mobile communication)音声通話、ショート電子メッセージサービス(SMS)、拡張メッセージングサービス(EMS: Enhanced Messaging Service)、またはマルチメディアメッセージングサービス(MMS)メッセージング、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、パーソナルデジタルセルラ(PDC)、広帯域符号分割多元接続(WCDMA（登録商標）)、CDMA2000、または汎用パケット無線システム(GPRS: General Packet Radio System)を含む。通信は、無線周波数トランシーバを通じて行われ得る。加えて、近距離通信は、例えば、BLUETOOTH（登録商標）、WiFi、近距離無線通信(NFC: Near Field Communication)、またはその他のそのようなトランシーバシステムを用いて行われ得る。
【００２０】
コンピューティングデバイス102、104、106、108、110は、それぞれのユーザ122、124、126、128、130がドキュメント、例えば、ウェブサイトに含まれるウェブページにアクセスし、閲覧することを可能にする。例えば、コンピューティングデバイス102のユーザ122は、ウェブブラウザを用いてウェブページを閲覧することができる。ウェブページは、サーバシステム112、サーバシステム114、または別のサーバシステム(図示せず)によってコンピューティングデバイス102に提供され得る。
【００２１】
例示的な環境100において、コンピューティングデバイス102、104、106は、デスクトップ型のコンピューティングデバイスとして示され、コンピューティングデバイス108は、ラップトップ型のコンピューティングデバイス108として示され、コンピューティングデバイス110は、モバイルコンピューティングデバイスとして示されている。しかし、コンピューティングデバイス102、104、106、108、110は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯情報端末(PDA)、セルラ電話、ネットワーク家電、カメラ、スマートフォン、拡張汎用パケット無線サービス(EGPRS: enhanced general packet radio service)モバイル電話、メディアプレーヤー、ナビゲーションデバイス、電子メッセージングデバイス、ゲームコンソール、またはこれらのデータ処理デバイスもしくはその他の適切なデータ処理デバイスの2つ以上の組み合わせを含む可能性があることが留意される。一部の実装において、コンピューティングデバイスは動力車(例えば、自動車、緊急車両(例えば、消防車、救急車)、バス)の一部として含まれる可能性がある。
【００２２】
コンピューティングデバイス102、104、106、108、110とインタラクションするユーザは、ソーシャルネットワークに電子的なコンテンツをアップロードおよびダウンロードすることによって、例えば、サーバシステム112によってホストされるソーシャルネットワーク123に参加することができる。電子的なコンテンツは、例えば、電子的なメッセージ(例えば、電子メール、投稿、もしくはインスタントメッセージ)、テキストのコメント(例えば、更新、告知、返事)、デジタル画像、動画、音声ファイル、および/またはその他の適切な情報を含む可能性がある。
【００２３】
概して、コンピューティングデバイス102、104、106、108、110とインタラクションするユーザは、やはりソーシャルネットワーク123を用いて、ソーシャルネットワークのその他のユーザとのユーザの関係を組織化し、カテゴリー分けするための社会的集まり(social circle) (またはその他の同様のグループもしくはリスト)を定義することができる。社会的集まりは、ユーザの社会的つながりの一部となる。電子的なコンテンツは、1つまたは複数の社会的集まりを含むソーシャルネットワーク123内の社会的連絡先(または単に「連絡先」)に配信される可能性があり、したがって、そのようなコンテンツが、示された連絡先および/もしくは連絡先またはその他の者によって閲覧され得る。例示的な動作において、ソーシャルネットワーク123のユーザは、メッセージを生成し、例えば、生成されたメッセージが送信されるべき1つまたは複数の個々のソーシャルネットワークの連絡先および/または社会的集まりを示すことができる。コンテンツ書き込み時間中に、(例えば、電子的なメッセージ、投稿などに関する)コンテンツデータセットが、ユーザのクライアントコンピューティングデバイス(例えば、図1のコンピューティングデバイス102)から、サーバ(例えば、図1のサーバシステム112またはネットワーク上のその他の場所)で提供され得る配信ハブ(例えば、コンテンツ配信エンジン125)に送信される。一部の実装において、コンテンツデータセットは、コンテンツデータ(例えば、テキスト、コンテンツの著作者の識別情報、統一資源インジケータ(URI: uniform resource indicator)、著作者の場所、タイムスタンプデータ(例えば、コンテンツが生成された時間を示すタイムスタンプ))、配信データ(例えば、コンテンツおよび/または1つもしくは複数の社会的集まりを特定するデータ)、ならびに識別情報(ID)データ(例えば、コンテンツが生成された際にコンテンツデータセットに割り振られたID)を含む可能性がある。
【００２４】
一部の実装においては、その他のデータが、コンテンツデータセットに付加される可能性がある。例示的なその他のデータは、スコアデータ(scoring data)を含む可能性がある。一部の例において、スコアデータは、あり得るスコアデータの中でもとりわけ、社会的親密性(affinity)スコアを含む可能性がある。以下でより詳細に説明されるように、親密性は、ソーシャルグラフ上での関係者の近さを特定する。
【００２５】
図2は、ソーシャルネットワークのメンバーの例示的なメインページ200を示す。例えば、ページ200は、ソーシャルネットワーク123のウェブサイト内のウェブページとして提供される可能性があり、ページ200に関連するメンバー201と共有されたメッセージを含む電子的なコンテンツを表示する可能性がある。示された例において、メンバーは「Jane McDavies」であり、ページ200は、その他のメンバーがそのメンバーと共有したアイテム(例えば、電子的なコンテンツ)および/またはそのメンバーがその他のメンバーと共有したアイテムを表示する。また、ページ200は、ソーシャルネットワークメニュー206と、コンテンツのアイテムが示されるコンテンツストリーム207とを含む。メンバーに送信された例示的なコンテンツアイテム209が、コンテンツストリームで表示されている。概して、コンテンツストリーム207に表示されるアイテム209は、ソーシャルネットワーク内で確立された連絡先からメンバーに配信される電子的なコンテンツを含む。コンテンツ共有インターフェース210も、ページ200で提供される可能性がある。メンバーは、電子的なコンテンツを入力するためにインターフェース210をアクティブ化する(例えば、クリックする)ことができる。12個のコンテンツアイテムが図2に示されているが、ページ200は12個よりも多いまたは少ないコンテンツアイテムをメンバーに対して表示する可能性があることが理解される。コンテンツに関してソーシャルネットワーク123を検索するために検索フィールド211もページ200に提供される可能性がある。
【００２６】
特徴の中でもとりわけ、ソーシャルネットワークは、ソーシャルネットワークサービスのユーザが互いに電子的にコミュニケーションすることを可能にするメッセージングサービスを含む。一部の例においては、メッセージがコンテンツストリームに現れ、一方、その他の例においては、分離したメッセージインターフェース(図示せず)が存在する。
【００２７】
また、ソーシャルネットワークサービスのユーザは、プロファイルを有する。場合によっては、各ユーザは、それらのユーザのユーザ名およびパスワードに関連するプロファイルを有する。プロファイルは、ユーザのホームロケーション(home location) (例えば、地区、都市、州、国など)および利用可能であればユーザの現在の場所などの個人情報を含むフィールドを有する可能性がある。ユーザの現在の場所は、例えば、GPSサービスを通じて、適切な許可を得てユーザのモバイルデバイスの地理座標を取得し、それらの座標を特定の地理的な場所の名前に相互に関連付けることによって決定され得る。
【００２８】
図3は、図1のネットワーク環境の例示的な一部のブロック図である。特に、図3は、例示的なネットワーク環境100の一部300を示す。この例示的な実装において、サーバシステム112は、リソース304、306、308を記憶する。リソースは、関連するリソース識別子(リソースID)を有する。例えば、リソース304、306、308は、同じウェブサイトの異なるウェブページに対応する可能性があり、または異なるウェブサイトのウェブページに対応する可能性がある。以下で説明されるように、この例示的な動作において、コンピューティングデバイス104は、サーバシステム112と通信して検索エンジンウェブサイトのホームウェブページ(「ホームページ」) 302および/またはソーシャルネットワークのホームページ(例えば、ユーザのコンテンツストリームを含む図2のページ200)を表示する。
【００２９】
ウェブページを閲覧するために、ユーザ124は、コンピューティングデバイス104で実行されるウェブブラウザを使用してリソースIDを入力または選択することができる。リソースIDは、例えば、URIまたはユニフォームリソースロケータ(URL)を含み得る。リソースIDを含む要求が、ネットワーク111を介してコンピューティングデバイス104からサーバシステム112に送信される。それに応答して、サーバシステムは、リソースIDに基づいて要求されたリソースを特定し、要求されたリソースをネットワーク111を介してコンピューティングデバイス104に送信する。例えば、リソースは、ソーシャルネットワーク123のホームページ200または検索システム312のホームページ302である可能性がある。一部の実装において、検索システム312は、ソーシャルネットワーク123の一部であるか、またはソーシャルネットワーク123から独立しているがやはりソーシャルネットワーク123のコンテンツにアクセスすることができる。
【００３０】
検索システム312のページ302は、検索システムに送信される検索クエリを入力するためのフィールド303を含む可能性がある。代替的に、検索クエリは、適切なウェブサービスを通じて入力される可能性がある。検索クエリは、例えば、1つもしくは複数の語、画像、音声、動画、またはその他のコンテンツを含み得る。それに応答して、検索システムは、1つまたは複数の検索インデックスを含むインデックス付けされたキャッシュの検索を実行し、検索結果をユーザまたはその他のコンピュータプログラム(例えば、メッセージングサービス)に返す。検索システム312は、例えば、示されたサーバシステム112またはその他の適切なハードウェアで実装され得る。検索システム312は、検索エンジン318および1つまたは複数の検索インデックスを含む。
【００３１】
検索システム312は、リソースをクローリングするためのクローリングエンジン319と、例えば、インデックス付けされたキャッシュ314に記憶される1つまたは複数の検索インデックス(集合的に「検索インデックス」と呼ばれる)でそれらのリソースをインデックス付けするためのインデックス付けエンジン313とを含む。検索エンジン318は、(例えば、クエリテキストマッチングルーチンを実装することによって)クエリに応じた、クエリに関連する可能性のある検索インデックス内のリソースを特定するためのリソースロケータエンジン316も含む。ランク付けエンジン315は、検索クエリに関連すると見なされたエンジンをランク付けする。
【００３２】
ソーシャルグラフ情報が、その他のリソースと同じ検索インデックスまたは別の検索インデックス(図示せず)に含まれる可能性がある。以下でより詳細に説明されるように、ソーシャルグラフ情報は、例えば、コメント、承認(endorsement)、つながり、親密性、ならびにインデックス付けされたコンテンツおよびユーザのソーシャルグラフ上の連絡先に関連するその他諸々を含む可能性がある。ソーシャルグラフ情報は、ソーシャルネットワーク123からのコンテンツを含む可能性がある。クエリに応じた広い検索結果と、ユーザのソーシャルグラフに関連するリソース(例えば、承認されたウェブコンテンツ)を特定する特定の検索結果とに関して、別々の検索が実行される可能性がある。
【００３３】
一部の実装においては、ユーザのソーシャルグラフに関連する情報が、好適なデータ構造、例えば、社会的な制約(social restrict)を生成し、既存の検索インデックスに組み込むことによってインデックス付けされ得る。一部の例において、インデックス付けエンジンは、特定された情報を検索インデックスで参照される対応するウェブリソースにマッピングし、ウェブリソースとユーザとの間の社会的つながりを決定することによって社会的な制約を生成することができる。例えば、システムは、そのような社会的つながりを決定するためのユーザのソーシャルグラフを記述する関係データを含む関係ルックアップテーブルにアクセスすることができる。一部の例において、社会的な制約は、情報タグ、または検索インデックスに含まれる参照されるウェブリソースに関連するその他のデータの形態で与えられる可能性がある。
【００３４】
ユーザが生成したコンテンツ(例えば、ソーシャルネットワークコンテンツ)は、上述のようにその他のリソースと同じインデックスまたは別のインデックスに含まれる可能性がある。これに関連して、適切な許可を得て、クローリングエンジン319は、(検索者とその他の者、例えば、検索者のソーシャルグラフのメンバーとの両方の)ユーザが生成したコンテンツをクローリングすることができ、インデックス付けエンジン313は、そのコンテンツを適切な検索インデックスに組み込むことができる。リソースロケータエンジン316は、例えば、検索クエリに対するユーザが生成したコンテンツの関連性スコアに基づいて、および例えば、例えばコンテンツ自体またはコンテンツの著作者との検索者の社会的つながりを含むその他の情報に基づいて、ユーザプロファイルおよび(許可される場合)その他のユーザが生成した情報を含め、そのユーザが生成したコンテンツを特定することができる。これに関連して、コンテンツまたは著作者との社会的つながりの有無は、関連性スコアに影響を与える可能性がある。この文脈で、著作者は、コンテンツを作成した者に限定されず、例えば、コンテンツとインタラクションした、コンテンツを共有した、コンテンツを承認した、コンテンツを投稿した等々の任意の者を含み得る。
【００３５】
検索クエリに応答して、検索エンジン318は、インデックス付けされたキャッシュ314にアクセスして検索クエリに関連するリソースを特定することができる。リソースロケータエンジン316は、リソースを検索結果の形態で特定し、検索結果ページで要求元のデバイスに検索結果を返すことができる。検索結果は、リソースを特定する検索システム312によって生成されたデータを含む可能性があり、リソース自体またはリソースへのリンクを画像、動画、またはその他の適切なコンテンツとともに含める可能性がある。場合によっては、検索結果は、社会的情報(social information)を含む可能性がある。例えば、検索結果の一部とともに含まれるのは、例えば、メンバーの場所、コメント、承認、またはユーザのソーシャルグラフからメンバーについて得られるその他の情報である可能性がある。検索結果は、単独で、または関連する社会的情報(例えば、コンテンツの著作者のプロファイルへのリンク)に関連して表示されるユーザが生成したコンテンツを含む可能性もある。検索結果は、メッセージを近傍の連絡先宛てにするために本明細書において説明されるようにして使用され得る。
【００３６】
上述のように、ソーシャルグラフは、同じソーシャルネットワーク上にいる可能性があり、またはいない可能性がある2人の関係者の間の社会的つながりを表し、関係者とコンテンツとの間のつながりを表す方法である。関係者は、個人または主体、例えば、会社、組織、国などである可能性がある。ソーシャルグラフのつながりの種類は、ユーザが直接接しているその他のユーザ(例えば、ユーザメッセージングまたはチャットの連絡先、ソーシャルサイト上の直接の連絡先)およびユーザが間接的に接しているユーザ(例えば、連絡先の連絡先、ユーザと直接的なつながりのあるユーザのつながり)を含む可能性があるがこれらに限定されない。一部の例において、直接的なつながりは、一方向であるかまたは双方向である可能性がある。一部の実装において、ソーシャルグラフは、ユーザとのつながりとして個人によって生成されたコンテンツ(例えば、ブログの投稿、レビュー)を含む。ソーシャルグラフは、単一のネットワーク内のつながりまたは複数のネットワークにまたがるつながりを含む可能性がある。
【００３７】
異なる種類のつながりに関して、異なるソーシャルグラフが生成される可能性がある。例えば、ユーザは、1つのソーシャルグラフでチャットの連絡先に接続され、第2のソーシャルグラフで電子的なメッセージの連絡先に接続され、第3のソーシャルグラフで特定のソーシャルネットワークからのつながりに接続される可能性がある。ソーシャルグラフは、ユーザからの隔たりの度合いがより大きいさらなる関係者への辺を含む可能性がある。例えば、電子的なメッセージの連絡先は、ユーザからのある程度の隔たりを加える他者への独自の電子的なメッセージの連絡先を有する可能性がある(例えば、ユーザ→電子的なメッセージの連絡先→電子的なメッセージの連絡先の連絡先)。そして今度は、これらの連絡先は、ユーザからの別の度合いの隔たりのさらなる連絡先を有する可能性がある。同様に、特定のソーシャルネットワーク内の誰かとの関係者のつながりが、その人のつながりに基づいてさらなるつながりを特定するために使用され得る。異なるソーシャルグラフは、1つまたは複数のソーシャルグラフを1つまたは複数のその他のソーシャルグラフに接続する辺を含み得る。したがって、ソーシャルグラフは、相互に接続されているが別々のいくつかの異なる種類のソーシャルグラフを含む可能性がある完全なソーシャルグラフを含み得る。
【００３８】
上述のように、ユーザは、コンテンツを承認済みと指定するか、コンテンツを共有するかもしくはコンテンツにコメントするか、URLを引用するか、またはその他の方法でコンテンツの関心もしくはリンクを示すことができ、コンテンツの例は、特定のリソース、ウェブページ、または検索結果を含むがこれらに限定されない。例えば、アプリケーション、ウィジェット、またはスクリプト(scripting)が、検索結果ページ、ウェブページ、またはユーザが、関連するリソースもしくは検索結果のリンク、共有、またはその他の評価を示すことを可能にするブラウザアプリケーションで提供される可能性がある。ユーザは、(例えば、関連するコンテンツとともに示されるブラウザコントロールまたはユーザインターフェース要素を通じて)承認またはその他の評価を示すために特定のリソース、ウェブサイト、または検索結果に印を付けることができる。他者からの情報へのそのような関係が、ユーザのソーシャルグラフで捕捉され得る。
【００３９】
ソーシャルグラフの主体の間の親密性は、ユーザのソーシャルグラフの上述の辺によって表され得る。上述のように、親密性は、ユーザとの関係者の近さを特定する可能性がある。例えば、ユーザと共通する5つの中間の連絡先を有する連絡先の連絡先は、1つの共通する中間の連絡先しか持たない連絡先の連絡先よりもユーザとの親密性が高い(例えば、ユーザにより近いと考えられる)。親密性を決定する要因は、例えば、連絡先がユーザにどのように接続されるか(例えば、つながりの源)、連絡先がどのソーシャルネットワークサイトのメンバーであるか、連絡先であるかまたは連絡先の連絡先であるか、および連絡先の連絡先にたどり着くための経路の数(例えば、共通の中間の連絡先)を含む可能性がある。辺は、ソーシャルグラフにおけるつながり(例えば、関係者)の間の親密性のレベルを反映するために、ソーシャルグラフを含むデータベースかまたはその他の場所かのどちらかで重み付けされる可能性がある。
【００４０】
関係者の間の親密性は、場合によってはコンテンツに固有である可能性がある。例えば、ソーシャルグラフデータは、関係者の間の辺に関連する特定の種類のコンテンツおよびそのコンテンツに関する特定の親密性を特定する可能性がある。一例において、ソーシャルグラフデータは、2人の接続された関係者の間で、第1の関係者が第2の関係者の動画に関して第1のレベルの親密性を有し、第2の関係者の著作に関して第2の異なるレベルの親密性を有することを規定する可能性がある。同様に、ソーシャルグラフは、第2の関係者が第1の関係者のブログに関して第3の異なるレベルの親密性を有することを規定する可能性がある。同じことが、コンテンツの対象に当てはまる。例えば、ソーシャルグラフデータは、2人の接続された関係者の間で、第1の関係者が第2の関係者の野球についてのコンテンツに関して第1のレベルの親密性を有し、第2の関係者のバスケットボールについてのコンテンツに関して第2の異なるレベルの親密性を有することを規定する可能性がある。
【００４１】
親密性は、ソーシャルグラフのメンバーとのユーザのインタラクション(例えば、インタラクションの頻度、インタラクションの種類など)に基づく可能性もある。例えば、特定の連絡先による投稿を頻繁にクリックするユーザは、それらのユーザがそれぞれの投稿をより少ない頻度でクリックするその他の連絡先よりもその連絡先に近いと考えられる可能性がある。同様に、ユーザが著作者によるコンテンツ(例えば、検索結果のリンク)に頻繁に「マウスオーバーする」が、そのコンテンツを選択しない場合、親密性の度合いは、リンクが選択された場合よりも低い可能性がある。同様に、コンテンツを閲覧する時間の量は、ある関係者が別の関係者のコンテンツが好きである指標である可能性がある。特定のコンテンツを閲覧する時間の量は、ある関係者が、その他の関係者のその他の種類のコンテンツとは対照的にその他の関係者のその特定の種類のコンテンツが好きであることを示すものである可能性がある。
【００４２】
その他の例において、親密性は、ユーザ間の間接的なインタラクションによって定義される可能性がある。例えば、2人のユーザが定期的にまたは頻繁に同じコンテンツとインタラクションする場合、それらの2人のユーザは、互いに親密であると考えられる可能性がある。さらにその他の例においては、2人のユーザが定期的にまたは頻繁に同じ人とインタラクションする場合、それらの2人のユーザは、互いに親密であると考えられる可能性がある。
【００４３】
図4は、例示的なソーシャルグラフ400の概念図である。とりわけ、図4は、ソーシャルグラフの情報のソースを示す。この例において、ユーザのソーシャルグラフは、ある隔たりの度合い以内のユーザ402 (自分)との関係を有すると特定されたつながり(例えば、ユーザ、リソース/コンテンツなど)の集合である。ユーザのソーシャルグラフは、異なる隔たりの度合いの関係者および特定のコンテンツを含み得る。例えば、ユーザのソーシャルグラフは、連絡先、(例えば、ユーザ、ソーシャルグラフサイト、またはその他の基準によって定義された)連絡先の連絡先、ユーザの社会的集まり、ユーザによってフォローされた人(例えば、申し込みされたブログ、フィード、またはウェブサイト)、同僚、およびユーザが関心のあるその他の特に特定されたコンテンツ(例えば、特定のウェブサイト)を含む可能性がある。
【００４４】
図4は、ユーザのソーシャルグラフを、単一のネットワーク内の人およびコンテンツと、1つまたは複数の外部ネットワークにまたがる人およびコンテンツとの両方に広げることが可能であることを示す。例えば、ユーザは、1組の特定された連絡先、1組の関心、外部リソース(例えば、ウェブページ)への1組のリンク、ならびにシステム(例えば、電子的なメッセージ、チャット、動画、フォトアルバム、フィード、またはブログを含むさまざまなコンテンツおよびアプリケーションを提供するシステム)のコンテンツへの申し込みを含むプロファイルまたは連絡先のリストを有する可能性がある。同様に、ユーザの連絡先へのリンクを含むブログは、ユーザのソーシャルグラフの一部である可能性がある。これらのグループは、ユーザからの別の度合いの隔たりのその他のユーザまたはリソースに接続される可能性がある。例えば、ユーザの連絡先は、リソースとのつながり、およびそれぞれの連絡先の連絡先、1組の関心などを含むそれらの連絡先自体のプロファイルを有する可能性がある。別の例においては、ユーザは、ソーシャルネットワークアカウントに接続される可能性がある。そのソーシャルネットワークアカウントは、新聞の記事を参照する可能性がある。したがって、社会的つながりが、ユーザと記事の著作者との間で確立され得る。
【００４５】
一部の実装においては、規定された数の隔たりの度合い以内のユーザとのつながりが、ユーザのソーシャルグラフの境界と考えられる可能性がある。ソーシャルグラフのメンバー資格および隔たりの度合いは、インタラクションの頻度を含むその他の要因に基づく可能性がある。例えば、インタラクションの頻度は、ユーザによる(例えば、ユーザが特定のソーシャルネットワークサイトをどれだけ頻繁に訪れるかである)可能性があり、またはインタラクションの種類(例えば、連絡先に関連するアイテムを承認すること、選択すること、もしくは選択しないこと)である可能性がある。インタラクションの変化として、ソーシャルグラフの特定の連絡先の関係が、動的に変化する可能性もある。したがって、ソーシャルグラフは、静的ではなく動的である可能性がある。
【００４６】
社会的信号(social signal)は、(例えば、重み付けされた辺、またはソーシャルグラフ内のつながりの間のその他の重みを用いて)ソーシャルグラフ上で階層化される可能性がある。これらのシグナル、例えば、ユーザと特定のつながりとの間のインタラクションの頻度またはインタラクションの種類は、実際のソーシャルグラフのつながりを修正することなく1つのソーシャルグラフまたは複数のソーシャルグラフの特定のつながりを重み付けするために使用され得る。これらの重みは、ユーザとのインタラクションが変化するにつれて変わる可能性がある。
【００４７】
ソーシャルグラフは、好適なデータ構造(例えば、リストまたは行列型のデータ構造)を使用して記憶される可能性がある。記憶されるソーシャルグラフの様相を記述する情報は、関係データと考えられる可能性がある。例えば、関係データは、ユーザのソーシャルグラフの特定のメンバーがユーザにどのように接続されるか(例えば、どの社会的経路(social path)を通じて特定の主体がユーザに接続されるか)を記述する情報を含む可能性がある。関係データは、ユーザのソーシャルグラフに組み込まれる社会的信号を記述する情報も含む可能性がある。一部の実装において、関係データは、関係ルックアップテーブル(例えば、ハッシュテーブル)に記憶される可能性がある。ルックアップテーブル内の値(例えば、関係データ)を探し出すための好適なキーは、ユーザとユーザのソーシャルグラフのメンバーとの両方の識別情報を記述する情報を含む可能性がある。例えば、ルックアップテーブル内の関係データを探し出すための好適なキーは、(ユーザX,ユーザY)である可能性があり、ここで、ユーザYは、ユーザXのソーシャルグラフのメンバーである。
【００４８】
上述のソーシャルグラフ情報を含むソーシャルグラフ情報は、情報の取り出しに使用するためにインデックス付けされる可能性がある。ソーシャルグラフ情報は、図3のインデックス付けされたキャッシュ314の検索インデックスの一部である可能性がある。したがって、検索インデックスは、社会的信号に依存する、例えば、上で例が与えられているユーザのソーシャルグラフの1つまたは複数の様相に関連付けられる関連する検索結果を特定するために検索され得る。例えば、検索システムは、クエリを受け取り、例えば、広い検索結果およびユーザが生成したコンテンツを特定することができる。ユーザが生成したコンテンツは、例えば、インデックス付けされたソーシャルグラフ情報(例えば、検索者のソーシャルグラフのメンバーの電子的なメッセージ、投稿、ブログ、チャットなどのコンテンツ)に基づく検索結果を含み得る。インデックス付けされたソーシャルグラフ情報は、例えば、ユーザのソーシャルグラフに関連する最近追加された情報(例えば、ユーザの現在の場所、過去の場所、将来の場所など)を含めるために間欠的にまたは周期的に更新される可能性がある。また、インデックス付けされたソーシャルグラフ情報は、例えば、本明細書において説明されたプロセスにしたがって決定された関係を反映するために継続的に更新される可能性がある。
【００４９】
ユーザは、例えば、選択肢を用いて、または連絡先をソーシャルグラフを生成するために使用される特定のグループから外しておくことによってユーザソーシャルグラフへのメンバーの追加を防ぐことができる。一部の実装においては、プライバシーの特徴が、別のユーザのソーシャルグラフのメンバーとして含まれることを許すかまたは防ぐ(もしくは既に含まれている場合にはそのユーザを削除する)ためのオプションをユーザにそれぞれ提供する。したがって、ユーザは、存在する場合、どの個人情報またはつながりの情報がそれらのユーザのソーシャルグラフに含まれ、結果として、本明細書において説明されたコンテンツストリームおよび検索結果に含まれるかを制御することができる。
【００５０】
再び図1を参照すると、この例において、モバイルデバイス110は、マサチューセッツ州Bostonにある。モバイルデバイス110に組み込まれ、モバイルデバイス110で使用される全地球測位システム(GPS)が、地理座標を用いてモバイルデバイス110の現在の場所を特定する。GPSは、モバイルデバイス110の現在の場所の場所の名前、この例においてはBostonを提供する可能性もある。代替的に、GPS以外のシステムが、地理座標を場所の名前と相互に関連付ける可能性がある。例えば、一部の実装においては、セル三角測量などのアシスト型GPS (A-GPS)が、モバイル電話/ユーザの場所が決定され得るその他のメカニズムである。加えて、デバイスのIPアドレスが、IPGeoサービスを使用して近似された地理的な場所を決定するために使用される可能性がある。
【００５１】
識別子が、場所の名前を補足するために使用され得る。例えば、郵便番号または地域コードが、実際の名前を補足するために使用され得る。一部の実装においては、そのような識別子が、実際の場所の名前の代わりに使用され得る。
【００５２】
いずれの場合も、この例においては、モバイルデバイスの現在の場所に関連する名前(例えば、Boston)が、その場所にあるかまたはその場所の近傍の中にある可能性がある連絡先またはユーザのソーシャルネットワーク内のその他の連絡先を特定するために使用される。例えば、ユーザの識別情報およびデバイスの現在の地理的な場所の名前が、検索エンジン318に1つまたは複数の検索クエリとして入力され得る。検索エンジン318、特に、リソースロケータエンジン316は、(i)ユーザの社会的連絡先と、(ii)それらの社会的連絡先の名前による地理的な場所を含むそれらの社会的連絡先についての情報とを特定するためにインデックス314を検索することができる。検索エンジン318が連絡先の地理的な場所の名前がユーザの現在の場所の名前と一致すると判定する場合、ユーザおよび連絡先は、同じ場所にあると見なされ、以下で説明されるように、メッセージが、その連絡先に送信され得る。
【００５３】
しかし、場合によっては、たとえ2つの場所が地理的に近いとしても場所の名前が一致しない可能性がある。例えば、BostonとCambridgeとは、地理的に近い。しかし、単純な名前検索は、BostonとCambridgeとの一致を生じない可能性がある。したがって、サーバシステム112のデータエンジン322は、場所の名前をその地理座標またはその他の地理的識別子(例えば、地域コード、郵便番号など)に転換することができる。それらの地理座標は、場所の名前から指定された距離内にあるその他の地域(例えば、町、都市、地区、郵便番号など)を特定するために使用され得る。
【００５４】
これらのその他の地域の名前は、場所の名前によって上で当初指定された場所の近傍の中にある場所のグループに関連する可能性がある。したがって、インデックス314が、名前がそのグループの中の任意の名前に一致する場所にいるまたは住むユーザの連絡先を特定するために検索され得る。上述のように、メンバーの現在の場所は、メンバーのモバイルデバイスのジオロケーションを通じて、またはモバイルデバイスのユーザが特定の時間にチェックインすることを可能にするサービスを参照することによって(許可を得た上で)特定される可能性がある。メンバーは、これらのサービスを有効化または無効化する機会を与えられる可能性がある。
【００５５】
近傍の境界が、モバイルデバイスのユーザによって(例えば、それらのユーザのソーシャルネットワークプロファイルで)設定される可能性があり、またはソーシャルネットワークサービスによって自動的に設定される可能性がある。一部の実装において、近傍の境界は、メッセージの主題に合わせられる可能性がある。例えば、Boston市議会の会合などのBostonのイベントに関するメッセージは、Bostonに住む社会的連絡先しか関心がない可能性がある。この場合、検索エンジン318は、メッセージの主題を特定し、近傍の境界をBostonにのみ制限する可能性がある。対照的に、レッドソックスの試合は、例えば、Boston、Cambridge、Somerville、the North Short、Cape Codなどを含むBoston地域内のすべての社会的連絡先に関心がある可能性がある。この場合、データエンジン322および検索エンジン318は、メッセージの主題を特定し、設定に応じて、近傍の境界をMassachusetts東部かまたはそれよりも広い範囲中のすべての場所の名前を含むように広げることができる。
【００５６】
これに関連して、データエンジン322は、メッセージを解析して検索で使用するためのキーワードを特定することによってメッセージの主題を特定する可能性がある。解析は、適切な技術を使用して実行され得る。解析によって得られたワードは、ソーシャルネットワーク123の中かまたは外かのどちらかのデータベースに記憶された主題と比較される可能性があり、それによって、メッセージがそれらの主題に関連するかどうかを判定する。比較は、キーワードまたはその他の適切な技術によって行われ得る。データベースは、イベントまたはその他の出来事を適切な近傍と相互に関連付けることができる。例えば、データベースは、レッドソックスの試合などの一部のイベントがあるサイズの近傍(例えば、Springfield、MAの東のすべての町)を有し、一方、Bostonに固有の会合などのその他のイベントが別のサイズの近傍(例えば、Boston市内のみ)を有すると規定する可能性がある。
【００５７】
データベースは、例えば、ユーザの過去の行為に基づいて、またはソーシャルネットワークのその他のメンバーの過去の行為に基づいてデータを投入される可能性がある。例えば、システムは、「レッドソックス」に関する閾値の数の以前のメッセージング要求を特定し、ソーシャルネットワークのその他のメンバーによる以前のメッセージで指定された近傍に基づいて適切な近傍を決定することができる。データベースは、同様に、ユーザ自身の行為に基づいて(例えば、話題「レッドソックス」に関連する過去のメッセージング操作に基づいて)データを投入される可能性がある。例えば、システムは、ユーザによる「レッドソックス」に関する閾値の数の以前のメッセージング要求を特定し、ユーザによる以前のメッセージで指定された近傍に基づいて適切な近傍を決定することができる。その他の実装においては、ユーザが、メッセージの対象が送られるべき近傍を直接指定することができる。一部の実装において、目標の近傍は、ユーザの現在の場所に基づく可能性がある。例えば、ユーザの現在の場所がBostonであると判定される場合、目標の近傍は、Massachusetts東部である可能性がある。一方、ユーザの場所がSeattleであると判定され、その夜にレッドソックスの試合がSeattleである場合、目標の場所は、Seattleに近い町、都市、地域などである可能性がある。この場合、近傍は、現在の場所を「Seattle」と特定し、Seattleの近傍の中にあるものとしてそのユーザに関して予め定義される町、都市、およびその他の地域に関してデータベースを参照することによって決定され得る。
【００５８】
モバイルデバイス110のユーザは、現在ユーザの近傍の中にあると判定される連絡先のみに、例えば、ソーシャルネットワーク123を通じてメッセージを送信することができる。したがって、例えば、ユーザ130は、Bostonにおり、その夜にレッドソックスの試合に行くことを計画することができる。ユーザ130は、本明細書に記載のプロセスを用いて、Boston、またはMassachusettsの適切なその他の町の中または周りにいる社会的連絡先を特定することができる。したがって、社会的連絡先をその特定のレッドソックスの試合に招待するメッセージが、Boston、またはMassachusettsの適切なその他の町の中または周りにいるそれらの連絡先にのみ向けられる可能性がある。場合によっては、メンバーは、Boston、またはMassachusettsの適切なその他の町の中または周りにいる連絡先を含む社会的集まりを確立し、その社会的集まりの中の連絡先にのみメッセージを送信することができる。いずれの場合も、Bostonまたはその近傍とのつながりを持たない連絡先またはその他のユーザは、おそらく、その夜のレッドソックスの試合に行くための場所にいないので、メッセージを送信されない。
【００５９】
上述のようにメッセージングを制限することによって、ソーシャルネットワークサービスにおけるメッセージトラフィックの量が削減され得る。さらに、Bostonとつながりのないユーザの連絡先は、それらの連絡先に関係のない可能性があるメッセージ(例えば、それらの連絡先がおそらく間に合わないであろう市内のスポーツイベントに行くためのメッセージ)を受け取らずに済むようにされる。
【００６０】
図5は、図1および図3に示されたネットワーク環境の検索エンジン318およびデータエンジン322によって実行され得る、図1に関連して概念的に説明されたプロセスなどのプロセス500を示す流れ図である。
【００６１】
図5を参照すると、例えば、モバイルデバイス110からメッセージが受信される(501)。例えば、データエンジン322が、メッセージを受信する可能性がある。そのメッセージは、モバイルデバイスのユーザのソーシャルネットワークの連絡先に向けられる。メッセージは、例えば、メッセージがどの連絡先に向けられているかを示す1つまたは複数のフィールドを含む可能性がある。例えば、メッセージは、そのメッセージがユーザと同じ都市、地区、または地域内の連絡先に向けられるべきであることを示す可能性がある。一部の実装において、メッセージは、1つまたは複数の場所の名前、例えば、Boston、Cambridge、Newtonなどを指定する可能性がある。一部の実装において、メッセージは、そのような情報を含まない可能性があり、プロセス500は、本明細書において説明されたように、メッセージの主題に基づいてどの連絡先にメッセージを振り向けるべきかを決定する可能性がある。
【００６２】
モバイルデバイス110の場所が、取得される(502)。この動作は、モバイルデバイスのユーザがメッセージを特定の場所、例えば、Bostonの近傍の連絡先に送信したいことをメッセージがはっきり書いている場合は実行される必要がない。しかし、メッセージが単にそのメッセージがモバイルデバイスユーザの近傍のユーザに送信されることを要求するか、または受信者を指定しない場合、プロセス500は、モバイルデバイスのユーザの場所を取得することができる(502)。これに関連して、モバイルデバイスは、GPS (またはその他の)システムと通信するためのソフトウェアを備える可能性があり、それによって、GPS (またはその他の)システムがモバイルデバイスの場所を判定することを可能にする。プロセス500は、周期的にもしくは受信された(501)メッセージによって座標を受け取る可能性があり、または、プロセス500は座標を含むデータベースにアクセスすることができる可能性がある。その他の実装において、プロセス500は、地理座標または場所の名前によってモバイルデバイスの現在の場所を特定し得るチェックイン情報にアクセスすることができる可能性がある。現在の場所が地理座標によって特定される場合、プロセス500(例えば、データエンジン322)は、それらの地理座標を1つまたは複数の場所の名前と相互に関連付けることができる。プロセス500は、ローカルのデータベースまたはネットワーク111上で利用可能な遠隔のサービスを用いて相互関連付けを行うことができる。
【００６３】
ソーシャルネットワーク123上のモバイルデバイスのユーザの連絡先の場所が、取得される(503)。この情報は、検索インデックス314でユーザのソーシャルグラフを検索することによって取得され得る。例えば、情報は、社会的連絡先プロファイルで利用することができる可能性がある。これに関連して、ユーザのソーシャルグラフからの任意の適切なコンテンツが、そのようなコンテンツの所有者が適切な許可を与えた場合、検索され得る。情報は、例えば、それぞれの連絡先の住所、それぞれの連絡先の現在の場所、およびその他の同様の情報を含む可能性がある。連絡先の現在の場所がそれらの連絡先のプロファイルから利用することができない場合、プロセス500は、プロファイルからのその他の場所の情報を使用する可能性がある。また、プロセス500は、プロセス500が現在のジオロケーション情報またはチェックイン情報にアクセスすることができる限り、上述のようにしてそれらの連絡先の現在の場所の場所の名前を特定することができる。
【００６４】
目標の場所、例えば、モバイルデバイスのユーザの現在の近傍の中にいる連絡先が、特定される(504)。例えば、検索エンジン318は、例えば、モバイルデバイスのユーザの現在の場所の指定された近傍の中に現在いるか、または(例えば、インデックス314を検索することによって決定される)その指定された近傍の中に住む連絡先のリストを出力することができる。例えば、上述のように、データエンジン322は、例えば、最初のメッセージの内容に基づいてデータベースに問い合わせる可能性がある。そのデータベースは、連絡先を検索すべき近傍の範囲を規定する可能性がある。データベースからの情報(例えば、場所の名前、郵便番号、地理座標、地域コードなど)は、検索クエリに組み込まれ、規定された近傍の中にいるユーザの社会的連絡先を特定するために使用され得る。
【００６５】
ユーザのソーシャルグラフからの情報が、特定される連絡先のリストを改善するために使用され得る(504)。例えば、メッセージの主題(例えば、メッセージからのキーワード)に関連するコメント、承認、つながり、親密性などが、メッセージの主題に関心がある予め定義された近傍の中のユーザのソーシャルグラフのメンバーを特定するために検索される可能性がある。例えば、ユーザのソーシャルグラフが、(例えば、ソーシャルグラフの1つまたは2つのノード以内の)特定の親密性を有し、レッドソックスにコメントするか、投稿するか、またはその他の形で関心のある近傍の中の連絡先を特定するために検索される可能性がある。指定された基準を満たすそれらのユーザが、メッセージングのための連絡先リストに含められる可能性があり、その他のユーザは、含められない可能性がある。
【００６６】
プロセス500によれば、メッセージが、連絡先リストの連絡先にのみ送信され(505)、メッセージがおそらく関連しないであろうその他の連絡先には送信されない。この目的で、連絡先リストの連絡先の識別情報が、(直接か、またはユーザとのインタラクションを通じてかのどちらかで)検索エンジンによってメッセージングサービスに与えられ、適切なメッセージが、フォーマットされ、送信される。
【００６７】
一部の実装においては、上述の動作のうちの少なくとも一部が、自動的に(例えば、ユーザのインタラクションなしに)実行される可能性がある。例えば、ユーザは、メッセージの目標の近傍または受信者を指定せずに「今夜レッドソックスの試合で会おう」のようなメッセージを送信することができる。プロセス500は、メッセージの主題を特定し、スポーツ、レッドソックス、野球などに関心のあるBostonの近傍のユーザのソーシャルグラフのメンバーを特定し、メッセージを自動的にフォーマットし、それらのユーザに送信することができる。メッセージは、予め定義された種類のメッセージ(例えば、コンテンツストリームの投稿、電子メール、インスタントメッセージなど)である可能性があり、またはシステムは、連絡先リストの各人のためのコミュニケーションの好ましい方法を特定し、適切な種類のメッセージを送信する可能性がある。この情報は、例えば、メンバーのソーシャルグラフ、プロファイル、またはソーシャルネットワークが利用可能なその他のデータベースを検索することによって取得され得る。
【００６８】
その他の実装においては、プロセス500は、イベントの名前を特定し、イベントの名前に基づいてそのイベントの近傍の中の連絡先を特定し、イベントの近傍の中のそれらの連絡先のみにメッセージを送るように構成され得る。上述の処理は、この場合、場所の名前(例えば、Boston)の代わりにイベントの名前(例えば、the Rolling Stones at Fenway Park)とともに使用され得る。しかし、処理は、上述の処理と実質的に同様である。
【００６９】
本明細書に記載のシステムは、多くのソーシャルネットワークユーザにリンクされた多くのコンピューティングデバイスの場所を取得することを含む可能性もある。例えば、ユーザがレッドソックスの試合に行き、システムがユーザがLansdowne Street (Fenway Parkの近くの通り)にいることを発見する場合、システムは、最も最近Lansdowne Streetの地域にいることが突き止められたか、またはソーシャルネットワークへの最も最近のチェックインがその地域内であったその他のユーザを見つける。そのとき、システムは、本明細書において説明されたようにしてそれらのユーザにメッセージを送信することができる。
【００７０】
図6は、本明細書において説明されるプロセスまたはその一部が実装され得るコンピューティングデバイスの例を示す。これに関連して、図6は、本明細書に記載のプロセスのすべてまたは一部を実装するために使用され得る汎用的なコンピューティングデバイス600および汎用的なモバイルコンピューティングデバイス650の例を示す。例えば、サーバシステム112およびソーシャルネットワーク123は、コンピューティングデバイス600で実装され得る。モバイルコンピューティングデバイス650は、図1のクライアントデバイスを表す可能性がある。図1のその他のクライアントデバイスは、コンピューティングデバイス600のアーキテクチャをやはり有する可能性がある。
【００７１】
コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、データセンターの規模のコンピュータ、およびその他の適切なコンピュータなどのさまざまな形式のデジタルコンピュータを表すように意図される。コンピューティングデバイス650は、携帯情報端末、セルラ電話、スマートフォン、およびその他の同様のコンピューティングデバイスなどのさまざまな形式のモバイルデバイスを表すように意図される。本明細書で示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求されている本発明の実装を限定するように意図されていない。
【００７２】
コンピューティングデバイス600は、プロセッサ602と、メモリ604と、ストレージデバイス606と、メモリ604および高速拡張ポート610に接続する高速インターフェース608と、低速バス614およびストレージデバイス606に接続する低速インターフェース612とを含む。構成要素602、604、606、608、610、および612のそれぞれは、さまざまなバスを用いて相互に接続されており、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載される可能性がある。プロセッサ602は、高速インターフェース608に接続されたディスプレイ616などの外部入力/出力デバイス上にGUIのグラフィカルな情報を表示するために、メモリ604またはストレージデバイス606に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理することができる。その他の実装においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリとともに適宜使用され得る。また、複数のコンピューティングデバイス600が、各デバイスが必要な動作の一部を行うようにして(例えば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続される可能性がある。
【００７３】
メモリ604は、コンピューティングデバイス600内で情報を記憶する。1つの実装において、メモリ604は、1つの揮発性メモリユニットまたは複数の揮発性メモリユニットである。別の実装において、メモリ604は、1つの不揮発性メモリユニットまたは複数の不揮発性メモリユニットである。メモリ604は、磁気または光ディスクなどの別の形態のコンピュータ可読媒体である可能性もある。
【００７４】
記憶装置606は、コンピューティングデバイス600に大容量記憶を提供することができる。1つの実装において、ストレージデバイス606は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレーなどのコンピュータ可読媒体であるか、またはそのようなコンピュータ可読媒体を含む可能性がある。コンピュータプログラム製品が、情報担体において有形で具現化され得る。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む可能性もある。情報担体は、メモリ604、ストレージデバイス606、プロセッサ602上のメモリ、または伝播信号などの非一時的コンピュータ可読媒体または機械可読媒体である可能性がある。例えば、情報担体は、非一時的機械可読ストレージ媒体である可能性がある。
【００７５】
高速コントローラ608が、コンピューティングデバイス600に関する帯域を大量に消費する動作を管理する一方、低速コントローラ612は、帯域をそれほど消費しない動作を管理する。そのような機能の割り当ては、例示的であるに過ぎない。1つの実装において、高速コントローラ608は、メモリ604と、(例えば、グラフィックスプロセッサまたはグラフィックスアクセラレータを介して)ディスプレイ616と、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート610とに接続される。その実装において、低速コントローラ612は、ストレージデバイス606および低速拡張ポート614に接続される。さまざまな通信ポート(例えば、USB、BLUETOOTH（登録商標）、イーサネット（登録商標）、無線イーサネット（登録商標）)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイスと接続され得るか、または例えばネットワークアダプタを介してスイッチもしくはルータなどのネットワークデバイスと接続され得る。
【００７６】
コンピューティングデバイス600は、図に示されるように、多くの異なる形態で実装され得る。例えば、コンピューティングデバイス600は、1つの標準的なサーバ620として実装されるか、または一群のそのようなサーバ内で複数回実装される可能性がある。コンピューティングデバイス600は、ラックサーバシステム624の一部として実装される可能性もある。さらに、コンピューティングデバイス600は、ラップトップコンピュータ622などのパーソナルコンピュータで実装され得る。代替的に、コンピューティングデバイス600の構成要素は、デバイス650などのモバイルデバイスのその他の構成要素(図示せず)と組み合わされる可能性がある。そのようなデバイスのそれぞれは、コンピューティングデバイス600、650のうちの1つまたは複数を含む可能性があり、システム全体が、互いに通信する複数のコンピューティングデバイス600、650によって構成される可能性がある。
【００７７】
コンピューティングデバイス650は、構成要素の中でもとりわけ、プロセッサ652、メモリ664、ディスプレイ654などの入力/出力デバイス、通信インターフェース666、およびトランシーバ668を含む。デバイス650は、追加的なストレージを提供するために、マイクロドライブまたはその他のデバイスなどのストレージデバイスを備える可能性もある。構成要素650、652、664、654、666、および668のそれぞれは、さまざまなバスを用いて相互に接続されており、それらの構成要素のうちのいくつかは、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載され得る。
【００７８】
プロセッサ652は、メモリ664に記憶された命令を含むコンピューティングデバイス650内の命令を実行することができる。プロセッサは、別々の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサは、例えば、ユーザインターフェース、デバイス650によって実行されるアプリケーション、およびデバイス650による無線通信の制御などの、デバイス650のその他の構成要素の調整を行うことができる。
【００７９】
プロセッサ652は、ディスプレイ654に接続された制御インターフェース658およびディスプレイインターフェース656を介してユーザとコミュニケーションすることができる。ディルプレイ654は、例えば、TFT LCD (薄膜トランジスタ液晶ディスプレイ)もしくはOLED (有機発光ダイオード)ディスプレイ、またはその他の適切なディスプレイテクノロジーである可能性がある。ディスプレイインターフェース656は、ユーザに対してグラフィカルな情報およびその他の情報を提示するようにディスプレイ654を駆動するための適切な回路を含み得る。制御インターフェース658は、ユーザから命令を受信し、それらの命令を、プロセッサ652に送るために変換することができる。さらに、デバイス650とその他のデバイスとの近距離通信を可能にするために、プロセッサ652と通信する外部インターフェース662が設けられる可能性がある。外部インターフェース662は、例えば、一部の実装においては有線通信を、またはその他の実装においては無線通信を提供する可能性があり、複数のインターフェースが使用される可能性もある。
【００８０】
メモリ664は、コンピューティングデバイス650内で情報を記憶する。メモリ664は、1つのコンピュータ可読媒体もしくは複数のコンピュータ可読媒体、1つの揮発性メモリユニットもしくは複数の揮発性メモリユニット、または1つの不揮発性メモリユニットもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装され得る。また、拡張メモリ674が設けられ、例えば、SIMM (シングルインラインメモリモジュール(Single In Line Memory Module))カードインターフェースを含む可能性がある拡張インターフェース672を介してデバイス650に接続され得る。そのような拡張メモリ674は、デバイス650に追加的な記憶空間を提供することができるか、またはデバイス650に関するアプリケーションもしくはその他の情報をやはり記憶することができる。特に、拡張メモリ674は、上述のプロセスを実行または補足する命令を含むことができ、安全な情報を含むこともできる。したがって、例えば、拡張メモリ674は、デバイス650のセキュリティモジュールとして設けられる可能性があり、デバイス650の安全な使用を可能にする命令でプログラムされる可能性がある。さらに、ハッキングすることができない方法でSIMMカードに識別情報を置くなど、追加的な情報とともに、安全なアプリケーションがSIMMカードによって提供され得る。
【００８１】
メモリは、例えば、以下で検討されるように、フラッシュメモリおよび/またはNVRAMメモリを含み得る。1つの実装においては、コンピュータプログラム製品が、情報担体において有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ664、拡張メモリ674、プロセッサ652上のメモリ、または例えばトランシーバ668もしくは外部インターフェース662を介して受信され得る伝播信号などのコンピュータ可読媒体または機械可読媒体である。
【００８２】
デバイス650は、必要に応じてデジタル信号処理回路を含み得る通信インターフェース666を介して無線通信することができる。通信インターフェース666は、とりわけ、GSM（登録商標）音声電話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA（登録商標）、CDMA2000、またはGPRSなどのさまざまな方式またはプロトコルで通信を行うことができる。そのような通信は、例えば、無線周波数トランシーバ668を介して行われ得る。さらに、近距離通信が、BLUETOOTH（登録商標）、Wi-Fi、またはその他のそのようなトランシーバ(図示せず)を用いるなどして行われ得る。加えて、GPS (全地球測位システム)受信機モジュール670が、デバイス650で実行されているアプリケーションによって適宜使用され得るさらなるナビゲーションおよび場所に関連する無線データをデバイス650に提供する可能性がある。
【００８３】
デバイス650は、ユーザから発話された情報を受信し、その情報を使用可能なデジタル情報に変換することができる音声コーデック660を用いて音声通信することもできる。同じく、音声コーデック660は、例えば、デバイス650のハンドセットのスピーカを介するなどして、ユーザのための聞くことができる音声を生成することができる。そのような音声は、音声電話通話の音声を含む可能性があり、記録された音声(例えば、ボイスメッセージ、音楽ファイルなど)を含む可能性があり、デバイス650上で動作しているアプリケーションによって生成された音声も含む可能性がある。
【００８４】
コンピューティングデバイス650は、図に示されるように、多くの異なる形態で実装され得る。例えば、コンピューティングデバイス650は、セルラ電話680として実装され得る。また、コンピューティングデバイス650は、スマートフォン682、携帯情報端末、またはその他の同様のモバイルデバイスの一部として実装され得る。
【００８５】
本明細書に記載のシステムおよび技術のさまざまな実装は、デジタル電子回路、集積回路、特別に設計されたASIC (特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現され得る。これらのさまざまな実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために接続された、専用または汎用である可能性がある少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上の、実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実装を含み得る。
【００８６】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能なプロセッサ用の機械命令を含み、高級手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用されるとき、用語「機械可読媒体」、「コンピュータ可読媒体」とは、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」とは、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【００８７】
ユーザとのインタラクションを行うために、本明細書に記載のシステムおよび技術は、ユーザに対して情報を表示するためのディスプレイデバイス(例えば、CRT (ブラウン管)またはLCD (液晶ディスプレイ)モニタ)、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータで実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを行うためにさらに使用される可能性があり、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック)である可能性があり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られ得る。
【００８８】
本明細書に記載のシステムおよび技術は、バックエンド構成要素を(例えば、データサーバとして)含むか、またはミドルウェア構成要素(例えば、アプリケーションサーバ)を含むか、またはフロントエンド構成要素(例えば、ユーザが本明細書に記載のシステムおよび技術の実装とインタラクションすることができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むか、またはそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムで実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットを含む。
【００８９】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを介してインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。
【００９０】
いくつかの実装が、説明された。しかしながら、本発明の精神および範囲から逸脱することなくさまざまな修正がなされ得ることが理解されるであろう。
【００９１】
本出願の文脈で、「ソーシャルネットワーク」および「ソーシャルネットワークサービス」は、交換可能なように使用される可能性がある。
【００９２】
加えて、図面に示された論理フローは、所望の結果を達成するために、示された特定の順序、または逐次的順序である必要はない。さらに、その他のステップが設けられる可能性があり、またはステップが説明されたフローから削除される可能性があり、その他の構成要素が説明されたシステムに追加されるか、もしくは説明されたシステムから削除される可能性がある。したがって、その他の実装は、添付の特許請求の範囲の範囲内にある。
【００９３】
一部の例においては、特定のデータは、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で匿名化される可能性がある。例えば、ユーザの識別情報が、匿名化される可能性がある。
【００９４】
本明細書に記載のプロセスおよびそれらの変更形態は、関係者のプライバシーが保護されることを保証するための機能を含む。この目的で、プロセスは、ユーザがメンバーであることを別の関係者に明かす前に、ソーシャルネットワークアカウントのユーザのメンバー資格が公に知られていることを確かめるようにプログラムされる可能性がある。同様に、プロセスは、関係者についての情報を別の関係者に明かす前、またはその情報をソーシャルグラフに組み込む前にさえも、その情報が公に知られていることを確かめるようにプログラムされる可能性がある。
【００９５】
本明細書で検討されたシステムがユーザについての個人情報を収集する状況では、ユーザは、個人情報(例えば、ユーザの好みまたはユーザの現在の場所についての情報)を収集することができるプログラムまたは特徴を有効化/無効化する機会を与えられる可能性がある。さらに、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で匿名化される可能性がある。例えば、個人を特定できる情報がユーザに関して決定され得ないようにユーザの識別情報が匿名化される可能性があり、または場所の情報が取得される場合、ユーザの特定の場所が決定され得ないようにユーザの地理的な場所が(例えば、都市、郵便番号、または州のレベルに)ぼやかされる可能性がある。
【００９６】
本明細書に記載の異なる実装の要素は、上で特に記載されていないその他の実装を形成するために組み合わされる可能性がある。要素は、本明細書において説明されたプロセス、コンピュータプログラム、ウェブページなどから、それらの動作に悪影響を与えることなく外される可能性がある。さらに、さまざまな別々の要素が、本明細書において説明された機能を実行するための1つまたは複数の個々の要素に組み合わされる可能性がある。
【００９７】
本明細書において特に説明されていないその他の実装も、添付の特許請求の範囲の範囲内にある。
【符号の説明】
【００９８】
100  ネットワーク環境
102  コンピューティングデバイス
104  コンピューティングデバイス
106  コンピューティングデバイス
108  コンピューティングデバイス
110  コンピューティングデバイス
111  ネットワーク
112  第1のサーバシステム
114  第2のサーバシステム
118  データベース
122  ユーザ
123  ソーシャルネットワーク
124  ユーザ
125  コンテンツ配信エンジン
126  ユーザ
128  ユーザ
130  ユーザ
【図１】
0006262199.tif 000002
【図２】
0006262199.tif 000003
【図３】
0006262199.tif 000004
【図４】
0006262199.tif 000005
【図５】
0006262199.tif 000006
【図６】
0006262199.tif 000007