(57)【特許請求の範囲】
【請求項１】
１以上のコンピューティング・システムによる方法であって、
前記１以上のコンピューティング・システムが、複数のノードと、前記ノード同士をつなげている複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードは、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応している第１のノードと、
前記オンライン・ソーシャル・ネットワークにそれぞれ関連付けられている複数のオブジェクトに各々が対応している複数の第２のノードであって、各オブジェクトは、特定のオブジェクト・タイプであり、少なくとも１つのオブジェクト・タイプは、広告を含む、複数の第２のノードと、を含む、アクセスする工程と、
前記１以上のコンピューティング・システムが、前記第１のユーザのクライアント・システムからクエリを受信する工程と、
前記１以上のコンピューティング・システムが、前記クエリに一致する１以上のオブジェクトを識別する工程であって、識別された前記オブジェクトのうちの少なくとも１つは広告である、一致オブジェクト識別工程と、
前記１以上のコンピューティング・システムが、識別された各広告について、識別された前記広告に対応している前記第２のノードに関する前記第１のノードの親和性係数に少なくとも部分的に基づいて、スコアを計算する工程と、
前記１以上のコンピューティング・システムが、前記クエリに一致する識別された前記オブジェクトのうちの１以上にそれぞれ対応している１以上の検索結果を生成する工程であって、各検索結果は、前記対応している識別されたオブジェクトへの参照を備え、前記検索結果のうちの少なくとも１つは、閾値スコアよりも大きなスコアを有する識別された広告に対応している、生成する工程と、
前記１以上のコンピューティング・システムが、前記クエリに応答して、検索結果ページを、表示のために前記第１のユーザの前記クライアント・システムへ送信する工程であって、前記検索結果ページは、生成された前記検索結果のうちの１以上を備える、送信する工程と、を備える、方法。
【請求項２】
前記クエリは、非構造化テキストクエリであり、前記方法は、前記クエリを構文解析して、１以上のｎ−ｇｒａｍを識別する工程をさらに備え、前記ｎ−ｇｒａｍのうちの少なくとも１つは、曖昧なｎ−ｇｒａｍであり、前記クエリに一致する１以上のオブジェクトを識別する工程は、前記曖昧なｎ−ｇｒａｍに一致する１以上の第２のノードを識別する工程を備える、請求項１に記載の方法。
【請求項３】
前記一致オブジェクト識別工程は、複数のバーティカルを検索して、前記クエリに一致する、各バーティカルにおけるオブジェクトの複数のセットをそれぞれ識別する工程を備え、各バーティカルは、前記オンライン・ソーシャル・ネットワークに関連付けられている１以上のオブジェクトを記憶し、各オブジェクトは、前記複数の第２のノードのうちの１つの第２のノードに対応し、前記複数のバーティカルの各バーティカルは、特定のオブジェクト・タイプのオブジェクトを記憶し、少なくとも１つのオブジェクト・タイプは広告である、請求項１に記載の方法。
【請求項４】
前記１以上のコンピューティング・システムが、各バーティカルからの識別されたオブジェクトの前記複数のセットを混合して、各バーティカルからの閾値数の識別されたオブジェクトを備える混合された検索結果のセットを形成する工程をさらに備える、請求項３に記載の方法。
【請求項５】
各バーティカルについて、前記特定のオブジェクト・タイプは、広告、ユーザ、写真、投稿、ページ、アプリケーション、イベント、ロケーション、およびユーザ・グループから成る群から選択される、請求項３に記載の方法。
【請求項６】
前記１以上のコンピューティング・システムが、前記テキストクエリを構文解析して、１以上のｎ−ｇｒａｍを識別する工程であって、前記クエリは、非構造化テキストクエリである、識別する工程と、
前記一致オブジェクト識別工程は、１以上のエッジまたは１以上の第２のノードを識別する工程であって、識別された前記エッジまたは識別された前記ノードの各々は、前記テキストクエリから識別された１以上のｎ−ｇｒａｍに対応している、識別する工程と、
前記１以上のコンピューティング・システムが、識別された前記オブジェクトを参照する１以上の構造化クエリを生成する工程と、をさらに備える、請求項１に記載の方法。
【請求項７】
前記１以上のコンピューティング・システムが、前記クエリの１以上の検索意図を決定する工程であって、決定された前記意図は、識別された前記オブジェクトに関連付けられている１以上のトピックと、識別された前記オブジェクトの１以上のオブジェクト・タイプとに基づいており、少なくとも１つの意図は、広告検索である、決定する工程をさらに備える、請求項１に記載の方法。
【請求項８】
前記スコアを計算する工程は、前記１以上の検索意図にさらに基づく、請求項７に記載の方法。
【請求項９】
前記スコアを計算する工程は、識別された各広告に関連付けられている広告主のロケーションにさらに基づく、請求項１に記載の方法。
【請求項１０】
前記スコアを計算する工程は、識別された前記広告が前記クエリに一致する信頼性の尺度にさらに基づく、請求項１に記載の方法。
【請求項１１】
前記スコアを計算する工程は、前記広告の１以上の特性にさらに基づく、請求項１に記載の方法。
【請求項１２】
前記広告の前記特性は、前記広告に関連付けられているオファーが主張された回数、前記広告に関連付けられている前記オファーの有効期限、前記広告の人口統計学的な目標、前記広告に関連付けられている広告主のプリファレンス、および、これらの任意の組み合わせのうちの１以上を備える、請求項１１に記載の方法。
【請求項１３】
前記スコアを計算する工程は、識別された各オブジェクトのスコアを計算する工程をさらに備える、請求項１に記載の方法。
【請求項１４】
生成された各検索結果は、閾値スコアよりも大きなスコアを有する識別されたオブジェクトに対応している、請求項１３に記載の方法。
【請求項１５】
前記検索結果ページは、複数の検索結果モジュールを備えており、各検索結果モジュールは、特定のオブジェクト・タイプに関連付けられており、少なくとも１つの検索結果モードは、広告オブジェクト・タイプに関連付けられている、請求項１に記載の方法。
【請求項１６】
前記検索結果ページは、前記第１のユーザの前記クライアント・システム上の前記オンライン・ソーシャル・ネットワークに関連付けられているネイティブ・アプリケーションのユーザインタフェースである、請求項１に記載の方法。
【請求項１７】
前記検索結果ページは、前記第１のユーザの前記クライアント・システムのブラウザ・クライアントによってアクセスされる前記オンライン・ソーシャル・ネットワークのウェブ・ページである、請求項１に記載の方法。
【請求項１８】
前記１以上のコンピューティング・システムが、前記クエリに基づいてクエリコマンドを生成する工程であって、前記クエリコマンドは、少なくとも２つのオペランドを備えており、前記オペランドのうちの１つは、前記クエリであり、前記オペランドのうちのもう１つは、検索制約および関連付けられている重みであり、前記重みは、前記検索制約に一致しなければならない、前記クエリに対する検索結果の数の制限を提供する、生成する工程をさらに備える、請求項１に記載の方法。
【請求項１９】
ソフトウェアを具現化している１以上のコンピュータ読取可能非一時的記憶媒体であって、前記ソフトウェアは、実行されるとき、
複数のノードと、前記ノード同士をつなげている複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードは、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応している第１のノードと、
前記オンライン・ソーシャル・ネットワークにそれぞれ関連付けられている複数のオブジェクトに各々が対応している複数の第２のノードであって、各オブジェクトは、特定のオブジェクト・タイプであり、少なくとも１つのオブジェクト・タイプは、広告を含む、複数の第２のノードと、を含む、アクセスする工程と、
前記第１のユーザのクライアント・システムからクエリを受信する工程と、
前記クエリに一致する１以上のオブジェクトを識別する工程であって、識別された前記オブジェクトのうちの少なくとも１つは広告である、識別する工程と、
識別された各広告について、識別された前記広告に対応している前記第２のノードに関する前記第１のノードの親和性係数に少なくとも部分的に基づいて、スコアを計算する工程と、
前記クエリに一致する識別された前記オブジェクトのうちの１以上にそれぞれ対応している１以上の検索結果を生成する工程であって、各検索結果は、前記対応している識別されたオブジェクトへの参照を備え、前記検索結果のうちの少なくとも１つは、閾値スコアよりも大きなスコアを有する識別された広告に対応している、生成する工程と、
前記クエリに応答して、検索結果ページを、表示のために前記第１のユーザの前記クライアント・システムへ送信する工程であって、前記検索結果ページは、生成された前記検索結果のうちの１以上を備える、送信する工程と、が行われる、記憶媒体。
【請求項２０】
１以上のプロセッサと、前記プロセッサによって実行可能な命令を備え、前記プロセッサに結合されているメモリとを備えるシステムであって、前記プロセッサは、前記命令が実行されるとき、
複数のノードと、前記ノード同士をつなげている複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードは、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応している第１のノードと、
前記オンライン・ソーシャル・ネットワークにそれぞれ関連付けられている複数のオブジェクトに各々が対応している複数の第２のノードであって、各オブジェクトは、特定のオブジェクト・タイプであり、少なくとも１つのオブジェクト・タイプは、広告を備える、複数の第２のノードと、
を含む、アクセスする工程と、
前記第１のユーザのクライアント・システムからクエリを受信する工程と、
前記クエリに一致する１以上のオブジェクトを識別する工程であって、識別された前記オブジェクトのうちの少なくとも１つは広告である、識別する工程と、
識別された各広告について、識別された前記広告に対応している前記第２のノードに関する前記第１のノードの親和性係数に少なくとも部分的に基づいて、スコアを計算する工程と、
前記クエリに一致する識別された前記オブジェクトのうちの１以上にそれぞれ対応している１以上の検索結果を生成する工程であって、各検索結果は、前記対応している識別されたオブジェクトへの参照を備え、前記検索結果のうちの少なくとも１つは、閾値スコアよりも大きなスコアを有する識別された広告に対応している、生成する工程と、
前記クエリに応答して、検索結果ページを、表示のために前記第１のユーザの前記クライアント・システムへ送信する工程であって、前記検索結果ページは、生成された前記検索結果のうちの１以上を備える、送信する工程と、が行われるように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、ソーシャル・グラフ、およびソーシャルネットワーキング環境内でオブジェクトを求めて検索を実行することに関する。
【背景技術】
【０００２】
ソーシャル・ネットワーキング・システム（ソーシャルネットワーキング・ウェブサイトを含むことができる）は、ソーシャル・ネットワーキング・システムのユーザ（人または組織など）がソーシャル・ネットワーキング・システムと対話し、およびソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にすることができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャル・ネットワーキング・システム内に記憶することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な興味に関する情報を含むことができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャル・ネットワーキング・システムのその他のユーザとの関係のレコードを作成および記憶すること、ならびにサービス（たとえば、ウォール投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【０００３】
ソーシャル・ネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、１つまたは複数のネットワークを通じて、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プロフィールおよびソーシャル・ネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャル・ネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュース・フィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成することができる。
【０００４】
ソーシャル・グラフ分析は、ソーシャルな関係を、ノードおよびエッジから構成されているネットワーク理論の点から見る。ノードは、ネットワーク内の個々の行為主体を表し、エッジは、行為主体同士の間における関係を表す。結果として生じるグラフベースの構造は、しばしば非常に複雑である。多くのタイプのノード、およびノード同士をつなげるための多くのタイプのエッジが存在することが可能である。ソーシャル・グラフは、その最もシンプルな形態においては、調査されているすべてのノードの間における関連があるすべてのエッジのマップである。
【図面の簡単な説明】
【０００５】
【図１】ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
【図２】例示的なソーシャル・グラフを示す図。
【図３】ソーシャル・ネットワーキング・システムのオブジェクトを記憶するための例示的なパーティショニングを示す図。
【図４】オンライン・ソーシャル・ネットワークの例示的なページを示す図。
【図５Ａ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図５Ｂ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図６】オンライン・ソーシャル・ネットワークのさらなる例示的なページを示す図。
【図７】オンライン・ソーシャル・ネットワークのさらに別の例示的なページを示す図。
【図８Ａ】広告を検索する例示的なスクリーン・ショットを示す図。
【図８Ｂ−１】広告を検索する例示的なスクリーン・ショットを示す図。
【図８Ｂ−２】広告を検索する例示的なスクリーン・ショットを示す図。
【図８Ｃ】広告を検索する例示的なスクリーン・ショットを示す図。
【図８Ｄ】広告を検索する例示的なスクリーン・ショットを示す図。
【図９】オファーおよび広告を検索するための例示的な方法を示す図。
【図１０】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【０００６】
特定の実施形態において、ソーシャル・ネットワーキング・システムのユーザは、検索クエリを使用して、システムに関連付けられているオブジェクトを検索し得る。特定の実施形態において、ソーシャル・ネットワーキング・システムは、ユーザがオファーおよび広告（これらは、まとめて「広告」と称され得る）を検索することを可能にし得る。例えば、ソーシャル・ネットワーキング・システムは、広告を検索可能にするために、広告を記憶し、インデックス付けしてもよい。広告を検索可能にすることによって、ソーシャル・ネットワーキング・システムは、ユーザによって過去に閲覧され、もしくは関わった広告をユーザが再訪問すること、または、ユーザがその広告を閲覧する資格を有するにもかかわらず、ユーザによって閲覧されていない広告をユーザが閲覧することを可能にし得る。そのため、ユーザは、ユーザが広告に興味があると後で決定することができ、または、ユーザは、ユーザにとって興味深いかもしれない新たな広告を検索することができる。ユーザのクエリに一致する広告は、例えば、広告に関するユーザの親和性係数に基づいて、得点付けされ得る。次いで、この得点付けに基づいて、検索結果が生成されることができ、結果は、次いで、ユーザのクライアント・システム上での表示のためにクエリ・ユーザへ送信され得る。例えば、ユーザは、ドレスについての広告を閲覧することがある。次いで、広告は、例えば、広告データ・ストア／バーティカルにおいてインデックス付けされ得る。ユーザは、ドレスを閲覧することおよび／購入することに後で興味を持つ可能性があり、ドレスに関係する広告を求めてソーシャル・ネットワーキング・システムを検索することが可能であってもよい。ソーシャル・ネットワーキング・システムは、ドレスに関係する広告を検索し、これらの広告を様々な要因に基づいて得点付けし、広告のうちの１つまたは複数をユーザに返すことができる。
【０００７】
上記に開示された実施形態は、例に過ぎず、本開示の範囲は、それらに限定されない。特定の実施形態は、上記に開示された実施形態のコンポーネント、要素、特徴、機能、動作、または工程の全部を含んでも、一部を含んでも、または全く含まなくてもよい。本発明に係る実施形態は、方法、記憶媒体、システムおよびコンピュータ・プログラム製品に向けられた添付の特許請求の範囲において特に開示されており、１つの請求項カテゴリ、例えば、方法において言及される任意の特徴は、別の請求項カテゴリ、例えば、システムにおいても同様に特許請求され得る。添付の特許請求の範囲における従属関係または参照は、形式上の理由で選ばれているに過ぎない。しかしながら、任意の先行する請求項（特に、多数項従属関係）への故意の参照から結果として生じるいかなる主題も、同様に特許請求されることが可能であり、その結果、添付の特許請求の範囲において選ばれている従属関係にかかわらず、請求項およびその特徴のいかなる組み合わせも開示されており、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において述べられているような特徴の組み合わせだけでなく、特許請求の範囲における特徴の任意の他の組み合わせも含んでおり、特許請求の範囲において言及されている各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組み合わせと組み合わされ得る。さらに、本願明細書において説明され、または示されている実施形態および特徴のうちのいずれも、個別
の請求項において特許請求されてもよく、および／または、本願明細書において説明され、もしくは示されている任意の実施形態もしくは特徴との任意の組み合わせ、もしくは添付の特許請求の範囲の特徴のうちのいずれかとの任意の組み合わせにおいて、特許請求されてもよい。
【０００８】
システムの概観
図１は、ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境１００を示している。ネットワーク環境１００は、ネットワーク１１０によって互いにつながっているクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０を含む。図１は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の構成を示しているが、本開示は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、ネットワーク１１０を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図１は、特定の数のクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示しているが、本開示は、任意の適切な数のクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を想定している。限定ではなく、例として、ネットワーク環境１００は、複数のクライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含むことができる。
【０００９】
本開示は、任意の適切なネットワーク１１０を想定している。限定ではなく、例として、ネットワーク１１０の１つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含むことができる。
【００１０】
リンク１５０は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサードパーティ・システム１７０を通信ネットワーク１１０に、または互いに接続することができる。本開示は、任意の適切なリンク１５０を想定している。特定の実施形態においては、１つまたは複数のリンク１５０は、１つもしくは複数の有線リンク（たとえば、デジタル・サブスクライバ・ライン（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）など）、無線リンク（たとえば、Ｗｉ−Ｆｉもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態においては、１つまたは複数のリンク１５０はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク１５０、ま
たは複数のそのようなリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００の全体を通じて必ずしも同じである必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の点において１つまたは複数の第２のリンク１５０とは異なることが可能である。
【００１１】
特定の実施形態においては、クライアント・システム１３０は、クライアント・システム１３０によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム１３０は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、ｅブック・リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム１３０を想定している。クライアント・システム１３０は、クライアント・システム１３０におけるネットワーク・ユーザがネットワーク１１０にアクセスすることを可能にし得る。クライアント・システム１３０は、そのユーザが他のクライアント・システム１３０における他のユーザと通信することを可能にし得る。
【００１２】
特定の実施形態においては、クライアント１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ１３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張を有することができる。クライアント・システム１３０のユーザは、ウェブ・ブラウザ１３２を特定のサーバ（サーバ１６２、またはサードパーティ・システム１７０に関連付けられているサーバなど）へ導くユニフォーム・リソース・ロケータ（ＵＲＬ）またはその他のアドレスを入力することができ、ウェブ・ブラウザ１３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成して、そのＨＴＴＰ要求をサーバに通信することができる。サーバは、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント・システム１３０に通信することができる。クライアント・システム１３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブ・ページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブ・ページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブ・ページへの参照は、適切な場合には、（そのウェブ・ページをレンダリングするためにブラウザが使用することができる）１つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
【００１３】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャル・ネットワーキング・システム１６０は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに
関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、記憶すること、受け取ること、および送信することが可能である。ソーシャル・ネットワーキング・システム１６０は、ネットワーク環境１００のその他のコンポーネントによって直接、またはネットワーク１１０を通じてアクセスされることが可能である。限定ではなく、例として、クライアント・システム１３０は、ウェブ・ブラウザ１３２を使用して、またはソーシャル・ネットワーキング・システム１６０に関連付けられているネイティブ・アプリケーション（例えば、モバイル・ソーシャルネットワーキング・アプリケーション、メッセージング・アプリケーション、別の適切なアプリケーション、もしくは、これらの任意の組み合わせ）を使用して、ソーシャル・ネットワーキング・システム１６０に直接またはネットワーク１１０を介してアクセスし得る。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のサーバ１６２を含むことができる。それぞれのサーバ１６２は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ１６２は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Ｅｘｃｈａｎｇｅサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ１６２は、サーバ１６２によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のデータ・ストア１６４を含むことができる。データ・ストア１６４は、さまざまなタイプの情報を記憶するために使用されることが可能である。特定の実施形態においては、データ・ストア１６４内に記憶されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア１６４は、リレーショナル・データベースであることが可能である。特定の実施形態は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、またはサードパーティ・システム１７０が、データ・ストア１６４内に記憶されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
【００１４】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフを１つまたは複数のデータ・ストア１６４内に記憶することができる。特定の実施形態においては、ソーシャル・グラフは、複数のノード（複数のユーザ・ノード（それぞれが、特定のユーザに対応している）、または複数のコンセプト・ノード（それぞれが、特定のコンセプトに対応している）を含むことができる）と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャル・ネットワーキング・システム１６０を通じてオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャル・ネットワーキング・システム１６０のその他の複数のユーザにつながり（たとえば、関係）を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム１６０を通じて、つながり、関連付け、または関係を形成しているソーシャル・ネットワーキング・システム１６０のその他の任意のユーザを示すことができる。
【００１５】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・ネットワーキング・システム１６０によってサポートされるさまざまなタイプの
アイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム１６０のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが興味を抱く可能性があるイベントもしくはカレンダー・エントリ、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを通じてアイテムを購入もしくは販売することを可能にする取引、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャル・ネットワーキング・システム１６０において、またはサードパーティ・システム１７０の外部システム（ソーシャル・ネットワーキング・システム１６０とは別個のものであって、ネットワーク１１０を通じてソーシャル・ネットワーキング・システム１６０に結合されている）によって表されることが可能である任意のものと対話することができる。
【００１６】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム１７０もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
【００１７】
特定の実施形態においては、サードパーティ・システム１７０は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、１つもしくは複数のインタフェース（ＡＰＩを含むが、それには限定されない）、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または（たとえば、サーバが通信することができる）その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム１７０は、ソーシャル・ネットワーキング・システム１６０を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０およびサードパーティ・システム１７０は、ソーシャル・ネットワーキング・システム１６０またはサードパーティ・システム１７０のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャル・ネットワーキング・システム１６０は、サードパーティ・システム１７０などのその他のシステムがインターネットを通じてソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
【００１８】
特定の実施形態においては、サードパーティ・システム１７０は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの１つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム１３０に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって興味がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、割引チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
【００１９】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０はまた、
ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャル・ネットワーキング・システム１６０とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム１６０に付加、アップロード、送信、または「投稿」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム１３０からソーシャル・ネットワーキング・システム１６０へ投稿を通信する。投稿は、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、映像、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャル・ネットワーキング・システム１６０に付加されることも可能である。
【００２０】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可／プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含むことができる。ソーシャル・ネットワーキング・システム１６０は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク動作コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ユーザ・プロフィールを記憶するための１つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくはプリファレンス、興味、親和性、またはロケーションを含むことができる。興味情報は、１つまたは複数のカテゴリに関連した興味を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね！」の表明をした場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を記憶するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または任意の形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ（内部および外部の両方）の間におけるユーザ定義のつながりを含むこともできる。ネットワーク１１０を通じてソーシャル・ネットワーキング・システム１６０を１つもしくは複数のクライアント・システム１３０または１つもしくは複数のサードパーティ・システム１７０にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャル・ネットワーキング・システム１６０と、１つまたは複数のクライアント・システム１３０との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。ＡＰＩ要求サーバは、サードパーティ・システム１７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャル・ネットワーキング・システム１６０からの情報にアクセスすることを可能にすることができる。ソーシャル・ネットワーキング・システム１６０上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・
オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム１３０に提供することができる。情報は、通知としてクライアント・システム１３０へ押し出されることが可能であり、または情報は、クライアント・システム１３０から受け取られた要求に応答してクライアント・システム１３０から引き出されることが可能である。ソーシャル・ネットワーキング・システム１６０のユーザの１つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、例えば、適当なプライバシー設定を設定することなどによって、自分のアクションをソーシャル・ネットワーキング・システム１６０によって記録されること、またはその他のシステム（例えば、サードパーティ・システム１７０）と共有されることをオプトインまたはオプトアウトすることを可能にすることができる。サードパーティ・システム１７０などのサードパーティから受け取られたコンテンツ・オブジェクトを記憶するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム１３０から受け取られたロケーション情報を記憶するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
【００２１】
ソーシャル・グラフ
図２は、例示的なソーシャル・グラフ２００を示している。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフ２００を１つまたは複数のデータ・ストア内に記憶することができる。特定の実施形態においては、ソーシャル・グラフ２００は、複数のノード（複数のユーザ・ノード２０２、または複数のコンセプト・ノード２０４を含むことができる）と、ノード同士をつなげる複数のエッジ２０６とを含むことができる。図２において示されている例示的なソーシャル・グラフ２００は、教示上の目的から、２次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、適切なアプリケーションに関してソーシャル・グラフ２００および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ２００のノードおよびエッジは、データ・オブジェクトとして、たとえば（ソーシャル・グラフ・データベースなどの）データ・ストア内に記憶されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
【００２２】
特定の実施形態においては、ユーザ・ノード２０２は、ソーシャル・ネットワーキング・システム１６０のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャル・ネットワーキング・システム１６０と、またはソーシャル・ネットワーキング・システム１６０を通じて対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループであることが可能である。特定の実施形態においては、あるユーザがソーシャル・ネットワーキング・システム１６０とのアカウントに登録した場合には、ソーシャル・ネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２を作成し、そのユーザ・ノード２０２を１つまたは複数のデータ・ストア内に記憶することができる。本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード２０２を示すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノー
ド２０２は、適切な場合には、ソーシャル・ネットワーキング・システム１６０に登録されていないユーザを示すことができる。特定の実施形態においては、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、プリファレンス、興味、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード２０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード２０２は、１つまたは複数のウェブ・ページに対応することができる。
【００２３】
特定の実施形態においては、コンセプト・ノード２０４は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム１６０に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャル・ネットワーキング・システム１６０内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース（たとえば、オーディオ・ファイル、営業ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など）、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード２０４は、ユーザによって提供されたコンセプトの情報、またはソーシャル・ネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、（ＵＲＬに関連付けられることが可能である）ウェブサイト、連絡先情報（たとえば、電話番号もしくはＥメール・アドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード２０４は、コンセプト・ノード２０４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード２０４は、１つまたは複数のウェブ・ページに対応することができる。
【００２４】
特定の実施形態においては、ソーシャル・グラフ２００内のノードは、ウェブ・ページ（「プロフィール・ページ」と呼ばれる場合もある）を表すこと、またはウェブ・ページによって表されることが可能である。プロフィール・ページは、ソーシャル・ネットワーキング・システム１６０によってホストされること、またはソーシャル・ネットワーキング・システム１６０にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ１７０に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブ・ページに対応するプロフィール・ページは、その特定の外部ウェブ・ページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード２０４に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード２０２は、対応するユーザ・プロフィール・ページを有することができ、そのユーザ・プロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく
、別の例として、コンセプト・ノード２０４は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、１人または複数のユーザが、特にコンセプト・ノード２０４に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
【００２５】
特定の実施形態においては、コンセプト・ノード２０４は、サードパーティ・システム１７０によってホストされているサードパーティ・ウェブ・ページまたはリソースを表すことができる。サードパーティ・ウェブ・ページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装されることが可能である）その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブ・ページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブ・ページを閲覧しているユーザは、アイコンのうちの１つ（例えば、「チェックイン」）を選択することによってアクションを実行して、クライアント・システム１３０に、そのユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム１６０へ送信させ得る。このメッセージに応答して、ソーシャル・ネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サードパーティ・ウェブ・ページまたはリソースに対応するコンセプト・ノード２０４との間にエッジ（例えば、チェックイン・タイプ・エッジ）を作成し、エッジ２０６を１つまたは複数のデータ・ストア内に記憶し得る。
【００２６】
特定の実施形態においては、ソーシャル・グラフ２００内の１対のノードが、１つまたは複数のエッジ２０６によって互いにつながることが可能である。１対のノードをつなげるエッジ２０６は、それらの１対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ２０６は、１対のノードの間における関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム１６０は、「友達要求」を第２のユーザに送信することができる。第２のユーザがその「友達要求」を承認した場合には、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００内で第１のユーザのユーザ・ノード２０２を第２のユーザのユーザ・ノード２０２につなげるエッジ２０６を作成して、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア１６４のうちの１つまたは複数の中に記憶することができる。図２の例においては、ソーシャル・グラフ２００は、ユーザ「Ａ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジ２０６と、ユーザ「Ｃ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード２０２同士をつなげる特定の属性を伴う特定のエッジ２０６を記述している、または示しているが、本開示は、ユーザ・ノード２０２同士をつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。限定ではなく、例として、エッジ２０６は、友達関係、家族関係、ビジネスまたは雇用関係、ファン関係（例えば、「いいね！」の表明をすること等を含む）、フォロワー関係、ビジター関係（例えば、アクセスすること、閲覧すること、チェックインすること、共有すること等を含む）、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または２つ以上のそのような関係を表し得る。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ２０６によってソーシャル・グ
ラフ２００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を示すことができる。
【００２７】
特定の実施形態においては、ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジ２０６は、ユーザ・ノード２０２に関連付けられているユーザによって、コンセプト・ノード２０４に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図２において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。コンセプト・ノード２０４に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャル・ネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の曲（「イマジン」）を聴く場合がある。このケースにおいては、ソーシャル・ネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２と、その曲およびアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「聴いた」エッジ２０６および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示すことができる。その上、ソーシャル・ネットワーキング・システム１６０は、その曲に対応するコンセプト・ノード２０４と、そのアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「再生した」エッジ２０６を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示すことができる。このケースにおいては、「再生した」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（「イマジン」という曲）に関して実行されたアクションに対応する。本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる特定の属性を伴う特定のエッジ２０６について記述しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。その上、本開示は、単一の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジについて記述しているが、本開示は、１つまたは複数の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジを想定している。限定ではなく、例として、エッジ２０６は、ユーザが特定のコンセプトに対して「いいね！」の表明をしているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ２０６は、（図２において、ユーザ「Ｅ」を表すユーザ・ノード２０２と、「ＳＰＯＴＩＦＹ」を表すコンセプト・ノード２０４との間において示されているような）ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表すことができる。
【００２８】
特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００内でユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成することができる。限定ではなく、例として、（たとえば、ユーザのクライアント・システム１３０によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィール・ページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプト・ノード２０４によって表されているコンセプトを自分が気に入っているという
ことを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアント・システム１３０に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャル・ネットワーキング・システム１６０へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム１６０は、そのユーザとコンセプト・ノード２０４との間における「いいね！」エッジ２０６によって示されているように、そのユーザに関連付けられているユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム１６０は、エッジ２０６を１つまたは複数のデータ・ストア内に記憶することができる。特定の実施形態においては、エッジ２０６は、特定のユーザ・アクションに応答してソーシャル・ネットワーキング・システム１６０によって自動的に形成されることが可能である。限定ではなく、例として、第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ２０６は、第１のユーザに対応するユーザ・ノード２０２と、それらのコンセプトに対応するコンセプト・ノード２０４との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ２０６を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ２０６を形成することを想定している。
【００２９】
オブジェクト・タイプに基づくインデックス付け
図３は、ソーシャル・ネットワーキング・システム１６０のオブジェクトを記憶するための例示的なパーティショニングを示す。複数のデータ・ストア１６４（これは「バーティカル」とも呼ばれ得る）は、ソーシャル・ネットワーキング・システム１６０のオブジェクトを記憶し得る。データ・ストアにおいて記憶されるデータ（例えば、ソーシャル・グラフ２００についてのデータ）の量は、非常に大きくなり得る。限定ではなく、例として、米国カリフォルニア州メンロー・パークのフェースブック（登録商標）・インコーポレイティッド社によって使用されるソーシャル・グラフは、１０８のオーダーの多数のノードと１０１０のオーダーの多数のエッジとを有し得る。典型的には、ビッグデータベースなどのビッグデータの集合は、多数のパーティションに分割され得る。データベースの各パーティションについてのインデックスは、データベース全体についてのインデックスよりも小さいので、パーティショニングは、データベースにアクセスする際のパフォーマンスを改善し得る。パーティションは、多くのサーバにわたって分散され得るため、パーティショニングは、データベースにアクセスする際のパフォーマンスおよび信頼性も改善し得る。通常は、データベースは、データベースの行（または列）を別個に記憶することによってパーティショニングされ得る。特定の実施形態において、データベースは、オブジェクト・タイプに基づいてパーティショニングされ得る。データ・オブジェクトは、複数のパーティションにおいて記憶され、各パーティションは、単一のオブジェクト・タイプのデータ・オブジェクトを保持する。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、期待される検索クエリの結果と同じオブジェクト・タイプのオブジェクトを記憶する特定のパーティションへ検索クエリを提出することによって、検索クエリに応答する検索結果を取り出し得る。本開示は、オブジェクトを特定の方法で記憶することを説明するが、本開示は、オブジェクトを任意の適切な方法で記憶することも企図する。
【００３０】
特定の実施形態において、各オブジェクトは、ソーシャル・グラフ２００の特定のノードに対応し得る。特定のノードと別のノードとをつないでいるエッジ２０６は、これらのノードに対応するオブジェクト間の関係を示し得る。オブジェクトを記憶することに加えて、特定のデータ・ストアは、オブジェクトに関係するソーシャル・グラフ情報も記憶し得る。代替的に、特定のオブジェクトに関するソーシャル・グラフ情報は、オブジェクトとは異なるデータ・ストアに記憶されてもよい。ソーシャル・ネットワーキング・システム１６０は、新たに受信されるオブジェクトと、受信されるオブジェクトに関連付けられ
ている関係とに基づいて、データ・ストアの検索インデックスを更新し得る。
【００３１】
特定の実施形態において、各データ・ストア１６４は、複数のオブジェクト・タイプのうちの特定の１つのオブジェクトをそれぞれのデータストレージデバイス３４０に記憶するように構成され得る。オブジェクト・タイプは、例えば、ユーザ、写真、投稿、コメント、メッセージ、イベント・リスト、ウェブ・ページ、アプリケーション、ロケーション、ユーザ・プロフィール・ページ、コンセプトプロフィール・ページ、ユーザ・グループ、オーディオ・ファイル、映像、オファー／クーポン、または別の適切なタイプのオブジェクトであってもよい。本開示は、特定のタイプのオブジェクトを説明するが、本開示は、任意の適切なタイプのオブジェクトも企図する。限定ではなく、例として、図３において示されるユーザ・バーティカルＰ１は、ユーザ・オブジェクトを記憶し得る。ユーザ・バーティカルＰ１において記憶される各ユーザ・オブジェクトは、識別子（例えば、文字列）と、ユーザ名と、オンライン・ソーシャル・ネットワークのユーザについてのプロフィール写真とを含み得る。ソーシャル・ネットワーキング・システム１６０は、ユーザ・バーティカルＰ１において、言語、ロケーション、学歴、連絡先情報、興味、交際ステータス、友達／連絡先のリスト、家族のメンバーのリスト、プライバシー設定などのユーザ・オブジェクトに関連付けられている情報も記憶し得る。限定ではなく、例として、図３に示される投稿バーティカルＰ２は、投稿オブジェクトを記憶し得る。投稿バーティカルＰ２において記憶される各投稿オブジェクトは、識別子と、ソーシャル・ネットワーキング・システム１６０に投稿された投稿についてのテキスト文字列とを備え得る。ソーシャル・ネットワーキング・システム１６０は、投稿バーティカルＰ２において、タイム・スタンプ、作成者、プライバシー設定、投稿に「いいね！」の表明をするユーザ、「いいね！」の数、コメント、コメントの数、ロケーションなどの投稿オブジェクトに関連付けられている情報も記憶し得る。限定ではなく、例として、写真バーティカルＰ３は、写真オブジェクト（または、映像もしくはオーディオなどの他のメディア・タイプのオブジェクト）を記憶し得る。写真バーティカルＰ３において記憶される各写真オブジェクトは、識別子と写真とを備え得る。ソーシャル・ネットワーキング・システム１６０は、写真バーティカルＰ３において、タイム・スタンプ、作成者、プライバシー設定、写真においてタグ付けされているユーザ、写真に「いいね！」の表明をするユーザ、コメントなどの写真オブジェクトに関連付けられている情報も記憶し得る。特定の実施形態において、各データ・ストアは、記憶された各オブジェクトに関連付けられている情報をデータストレージデバイス３４０において記憶するようにも構成され得る。
【００３２】
特定の実施形態において、各バーティカル１６４において記憶されるオブジェクトは、１つまたは複数の検索インデックスによってインデックス付けされ得る。検索インデックスは、１つまたは複数のコンピューティング・デバイス（例えば、サーバ）を備えるそれぞれのインデックス・サーバ３３０によってホストされ得る。インデックス・サーバ３３０は、ソーシャル・ネットワーキング・システム１６０（またはサードパーティシステム）のユーザまたは他のプロセスによってソーシャル・ネットワーキング・システム１６０へ提出されるデータ（例えば、写真および写真に関連付けられている情報）に基づいて、検索インデックスを更新し得る。インデックス・サーバ３３０は、検索インデックスを周期的に（例えば、２４時間ごとに）も更新し得る。インデックス・サーバ３３０は、検索用語を備えるクエリを受信し、その検索用語に対応する１つまたは複数の検索インデックスからの検索結果にアクセスし、その検索結果を取り出す。いくつかの実施形態において、特定のオブジェクト・タイプに対応するバーティカルは、複数の物理的パーティションまたは論理的パーティションを備え、各々がそれぞれの検索インデックスを備える。
【００３３】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、ＰＨＰ（ハイパーテキスト・プリプロセッサ）プロセス３１０から検索クエリを受信し得る。ＰＨＰプロセス３１０は、ソーシャル・ネットワーキング・システム１６０の１つまたは複
数のサーバ１６２によってホストされる、１つまたは複数のコンピューティング・プロセスを備え得る。検索クエリは、ソーシャル・ネットワーキング・システム１６０（またはサードパーティ・システム１７０）のユーザまたは別のプロセスによってＰＨＰプロセスへ提出されるテキスト文字列または検索クエリであり得る。
【００３４】
インデックスおよび検索クエリに関するさらなる情報は、２０１２年７月２７日に出願された米国特許出願第１３／５６０２１２号、２０１２年７月２７日に出願された米国特許出願第１３／５６０９０１号、２０１２年１２月２１日に出願された米国特許出願第１３／７２３８６１号、および２０１３年４月２５日に出願された米国特許出願第１３／８７０１１３号において見出され、これらの出願の各々が、本願明細書に援用される。
【００３５】
タイプアヘッドプロセス
特定の実施形態において、１つまたは複数のクライアント側および／またはバックエンド（サーバ側）プロセスは、ソーシャル・グラフ要素（例えば、ユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６）と、ソーシャル・ネットワーキング・システム１６０によってホストされ、またはソーシャル・ネットワーキング・システム１６０においてアクセス可能であり得る（例えば、ユーザ・プロフィール・ページ、コンセプトプロフィール・ページ、検索結果ページ、オンライン・ソーシャル・ネットワークに関連付けられているネイティブ・アプリケーションのユーザインタフェース、またはオンライン・ソーシャル・ネットワークの別の適切なページなどの）要求されるページと共にレンダリングされる入力フォームにおいてユーザによって現在入力されている情報とのマッチングを行うように自動的に試行し得る「タイプアヘッド（ｔｙｐｅａｈｅａｄ）」機能を実装および利用し得る。特定の実施形態において、ユーザが宣言を行うためにテキストを入力するにつれて、タイプアヘッド機能は、宣言において入力されているテキスト文字の文字列と、ユーザ、コンセプト、またはエッジに対応する文字の文字列（例えば、氏名、説明）およびソーシャル・グラフ２００におけるそれらの対応する要素とを一致させようと試行し得る。特定の実施形態において、一致が見出される場合、タイプアヘッド機能は、既存のソーシャル・グラフ要素の（例えば、ノード名／タイプ、ノードＩＤ、エッジ名／タイプ、エッジＩＤ、または別の適切な参照もしくは識別子などの）ソーシャル・グラフ要素への参照をフォームに自動的に追加し（ｐｏｐｕｌａｔｅ）得る。
【００３６】
特定の実施形態において、ユーザが、ユーザのプロフィール・ページ、ホーム・ページ、または他のページの様々なセクションにおいてコンテンツを追加し、または宣言を行うために使用されるフォーム内にテキストをタイプし、または、そうでなければ入力するにつれて、タイプアヘッドプロセスは、ソーシャル・ネットワーキング・システム１６０において（または内で）（例えば、サーバ１６２内で）実行される１つまたは複数のフロントエンド（クライアント側）および／またはバックエンド（サーバ側）タイプアヘッドプロセス（以下、単に「タイプアヘッドプロセス」と称される）と共に動作して、ユーザがテキストの文字を入力している最中に、ユーザによって入力されるテキストの文字と最も関連性のある、または最も良く一致すると決定される、既存のソーシャル・グラフ要素の名前に対応する１つもしくは複数の用語、または既存のソーシャル・グラフ要素に関連付けられている用語をフォームに自動追加しようと対話的に、かつ、実質的に瞬時に（ユーザには見えるように）試行し得る。ノードおよびエッジに関連付けられている情報を含む、ソーシャル・グラフ・データベースにおけるソーシャル・グラフ情報またはソーシャル・グラフ・データベースから抽出され、インデックス付けされた情報を利用することにより、タイプアヘッドプロセスは、ソーシャル・グラフ・データベースからの情報と共に、および、潜在的には、様々な他のプロセス、アプリケーション、またはソーシャル・ネットワーキング・システム１６０内に設置され、もしくはソーシャル・ネットワーキング・システム１６０内で実行されるデータベースと共に、ユーザの意図される宣言を高精度で予測することが可能になる。しかしながら、ソーシャル・ネットワーキング・システム１
６０は、ユーザが望む本質的にいかなる宣言も入力するための自由をユーザに提供することもでき、ユーザがユーザ自身を自由に表現することを可能にする。
【００３７】
特定の実施形態において、ユーザがテキスト文字をフォーム・ボックスまたは他のフィールド内に入力するにつれて、タイプアヘッドプロセスは、ユーザが文字を入力している最中に、ユーザの宣言において入力される文字の文字列に一致する既存のソーシャル・グラフ要素（例えば、ユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６）を識別しようと試行し得る。特定の実施形態において、ユーザが文字をフォーム・ボックス内に入力するにつれて、タイプアヘッドプロセスは、入力されるテキスト文字の文字列を読み得る。各キーストロークが行われるにつれて、フロントエンドタイプアヘッドプロセスは、入力された文字列を要求（または呼出）としてソーシャル・ネットワーキング・システム１６０内で実行されるバックエンドタイプアヘッドプロセスへ送信し得る。特定の実施形態において、タイプアヘッドプロセスは、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ  ａｎｄ  ＸＭＬ）または他の適切な技法、および、特に、非同期技法を通じて通信し得る。特定の実施形態において、要求は、結果の迅速かつ動的な送信およびフェッチングを可能にするＸＭＬＨＴＴＰ要求（ＸＨＲ：ＸＭＬＨＴＴＰＲｅｑｕｅｓｔ）であり、またはＸＭＬＨＴＴＰ要求を含み得る。特定の実施形態において、タイプアヘッドプロセスは、ユーザが宣言を行っている特定のページの特定のセクションを識別するセクション識別子（セクションＩＤ）も、要求の前に、要求の後に、または要求と共に、送信し得る。特定の実施形態において、ユーザＩＤパラメータも送信され得るが、これは、いくつかの実施形態において不要であり得る。なぜならば、ユーザがソーシャル・ネットワーキング・システム１６０にログイン済みである（または、そうでなければソーシャル・ネットワーキング・システム１６０によって認証済みである）ことに基づいて、ユーザは既に「既知」であり得るためである。
【００３８】
特定の実施形態において、タイプアヘッドプロセスは、１つまたは複数のマッチング・アルゴリズムを使用して、一致するソーシャル・グラフ要素を識別しようと試行し得る。特定の実施形態において、１つまたは複数の一致が見出される場合、タイプアヘッドプロセスは、例えば、一致するソーシャル・グラフ要素の名前（名前文字列）または説明と、潜在的には、一致するソーシャル・グラフ要素に関連付けられている他のメタデータとを含み得る（ＡＪＡＸまたは他の適切な技法を利用し得る）応答をユーザのクライアント・システム１３０へ送信し得る。限定ではなく、例として、ユーザがクエリ・フィールド内に文字「ｐｏｋ」を入力している場合、タイプアヘッドプロセスは、「ポーカ（ｐｏｋｅｒ）」または「ポケモン（ｐｏｋｅｍｏｎ）」と名付けられまたは供されるプロフィール・ページなどの、一致する既存のプロフィール・ページおよびそれぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の名前を表示するドロップ・ダウン・メニューを表示し得る。ユーザは、次いで、ドロップ・ダウン・メニューをクリックし、または、そうでなければ選択することができ、それによって、選択されたノードに対応する、一致するユーザまたはコンセプト名を宣言したいという欲求を確認する。限定ではなく、別の例として、「ポーカ」のクリックがあると、タイプアヘッドプロセスは、クエリ・フィールドに宣言「ポーカ」を自動追加し、または、ウェブ・ブラウザ１３２に自動追加させ得る。特定の実施形態において、タイプアヘッドプロセスは、ドロップ・ダウン・メニューを表示するよりはむしろ、１位に順位付けされた一致の名前または他の識別子をフィールドに単に自動追加し得る。ユーザは、次いで、単に、ユーザのキーボード上の「Ｅｎｔｅｒ」をキー入力することによって、または自動追加された宣言をクリックすることによって、自動追加された宣言を確認し得る。
【００３９】
タイプアヘッドプロセスに関するさらなる情報は、２０１０年４月１９日に出願された米国特許出願第１２／７６３１６２号、および２０１２年７月２３日に出願された米国特許出願第１３／５５６０７２号において見出され、これらの出願は、本願明細書に援用さ
れる。
【００４０】
構造化検索クエリ
図４は、オンライン・ソーシャル・ネットワークの例示的なページを示す。特定の実施形態において、ユーザは、クエリ・フィールド４５０内にテキストを入力することによって、ソーシャル・ネットワーキング・システム１６０へクエリを提出し得る。オンライン・ソーシャル・ネットワークのユーザは、特定の主題（例えば、ユーザ、コンセプト、外部コンテンツまたはリソース）に関係する情報を、「検索クエリ」と称されることが多い、その主題を説明する短い語句を検索エンジンに提供することによって、検索し得る。クエリは、非構造化テキストクエリであることがあり、１つまたは複数のテキスト文字列（これは、１つまたは複数のｎ−ｇｒａｍを含み得る）を備え得る。一般に、ユーザは、クエリ・フィールド４５０内に任意の文字列を入力して、テキストクエリに一致する、ソーシャル・ネットワーキング・システム１６０上のコンテンツを検索し得る。次いで、ソーシャル・ネットワーキング・システム１６０は、データ・ストア１６４（または、特に、ソーシャル・グラフ・データベース）を検索して、クエリに一致するコンテンツを識別し得る。検索エンジンは、様々な検索アルゴリズムを使用してクエリ語句に基づいて検索を実施し、検索クエリに最も関係がありそうなリソースまたはコンテンツ（例えば、ユーザ・プロフィール・ページ、コンテンツ・プロフィール・ページ、または外部リソース）を識別する検索結果を生成し得る。検索を実施するために、ユーザは、検索クエリを検索エンジンに入力または送信し得る。応答して、検索エンジンは、検索クエリに関係がありそうな１つまたは複数のリソースを識別し、それらの各々は、検索クエリに対応する「検索結果（ｓｅａｒｃｈ  ｒｅｓｕｌｔ）」と個々に称されても、または「検索結果（ｓｅａｒｃｈ  ｒｅｓｕｌｔｓ）」とまとめて称されてもよい。識別されたコンテンツは、例えば、ソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）、プロフィール・ページ、外部ウェブ・ページ、または、これらの任意の組み合わせを含み得る。次いで、ソーシャル・ネットワーキング・システム１６０は、識別されたコンテンツに対応する検索結果を有する検索結果ページを生成し、この検索結果ページをユーザへ送信し得る。検索結果は、多くの場合、検索結果ページ上のリンクのリストの形式でユーザへ提示されてもよく、各リンクは、識別されたリソースまたはコンテンツのうちのいくつかを含む異なるページに関連付けられている。特定の実施形態において、検索結果における各リンクは、対応するページがどこに位置するかと、対応するページを取り出すための機構とを特定するユニフォーム・リソース・ロケータ（ＵＲＬ）の形式であり得る。次いで、ソーシャル・ネットワーキング・システム１６０は、検索結果ページを、ユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２へ送信し得る。次いで、ユーザは、必要に応じて、ＵＲＬリンクをクリックして、または、そうでなければ検索結果ページからのコンテンツを選択して、ソーシャル・ネットワーキング・システム１６０からのコンテンツ、または（例えば、サードパーティ・システム１７０などの）外��システムからのコンテンツにアクセスし得る。リソースは、検索クエリに対するそれらの相対的な関連性の度合いに従って、順位付けされ、ユーザへ提示され得る。検索結果は、ユーザに対するそれらの相対的な関連性の度合いに従って、順位付けされ、ユーザへ提示されてもよい。換言すれば、検索結果は、例えば、ソーシャル・グラフ情報、ユーザ情報、ユーザの検索履歴もしくはブラウズ履歴、またはユーザに関係する他の適切な情報に基づいて、クエリを行うユーザのためにパーソナライズされ得る。特定の実施形態において、リソースの順位付けは、検索エンジンによって実装されている順位付けアルゴリズムによって決定されてもよい。限定ではなく、例として、検索クエリまたはユーザに対する関連性がより高いリソースは、検索クエリまたはユーザに対する関連性がより低いリソースよりも高く順位付けされ得る。特定の実施形態において、検索エンジンは、その検索をオンライン・ソーシャル・ネットワーク上のリソースおよびコンテンツに限定し得る。しかしながら、特定の実施形態において、検索エンジンは、サードパーティ・システム１７０、インターネットもしくはワールド・ワイド・ウェブ、または他の適切な
ソースなどの他のソース上のリソースおよびコンテンツも検索し得る。本開示は、ソーシャル・ネットワーキング・システム１６０に特定の方法でクエリを行うことについて説明するが、本開示は、ソーシャル・ネットワーキング・システム１６０に任意の適切な方法でクエリを行うことも企図する。
【００４１】
特定の実施形態において、本願明細書において説明されるタイプアヘッドプロセスは、ユーザによって入力される検索クエリに適用され得る。限定ではなく、例として、ユーザがクエリ・フィールド４５０内にテキスト文字を入力するにつれて、タイプアヘッドプロセスは、ユーザが文字を入力している最中に、クエリ・フィールド４５０内に入力される文字列に一致する、１つまたは複数のユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６を識別しようと試行し得る。タイプアヘッドプロセスが、テキストクエリから文字列またはｎ−ｇｒａｍを含む要求または呼出を受信するにつれて、タイプアヘッドプロセスは、入力されたテキストに一致する、それぞれの名前、タイプ、カテゴリ、または他の識別子を有する既存のソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）を識別するための検索を実施し、または実施させられ得る。タイプアヘッドプロセスは、１つまたは複数のマッチング・アルゴリズムを使用して、一致するノードまたはエッジを識別しようと試行し得る。１つまたは複数の一致が見出される場合、タイプアヘッドプロセスは、例えば、一致するノードの名前（名前文字列）と、潜在的には、一致するノードに関連付けられている他のメタデータとを含み得る応答をユーザのクライアント・システム１３０へ送信し得る。次いで、タイプアヘッドプロセスは、一致する既存のプロフィール・ページおよびそれぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の名前を表示するドロップ・ダウン・メニュー４００を表示し、一致するユーザ・ノード２０２またはコンセプト・ノード２０４につながり得る一致するエッジ２０６の名前を表示することができ、次いで、ユーザは、ドロップ・ダウン・メニューをクリックし、または、そうでなければ選択することができ、それによって、選択されたノードに対応する、一致するユーザもしくはコンセプト名を検索したいという欲求、または、一致するエッジによって、一致したユーザもしくはコンセプトにつなげられているユーザもしくはコンセプトを検索したいという欲求を確認する。代替的に、タイプアヘッドプロセスは、ドロップ・ダウン・メニュー４００を表示するよりもむしろ、１位に順位付けされた一致の名前または他の識別子をフォームに単に自動追加してもよい。ユーザは、次いで、単に、キーボード上の「Ｅｎｔｅｒ」をキー入力することによって、または自動追加された宣言をクリックすることによって、自動追加された宣言を確認し得る。一致するノードおよびエッジのユーザ確認があると、タイプアヘッドプロセスは、一致するソーシャル・グラフ要素を包含するクエリのユーザの確認をソーシャル・ネットワーキング・システム１６０に通知する要求を送信し得る。送信された要求に応答して、ソーシャル・ネットワーキング・システム１６０は、一致するソーシャル・グラフ要素、または、必要に応じて、一致するソーシャル・グラフ要素につながっているソーシャル・グラフ要素を自動的に（または、代替的に、要求内の命令に基づいて）呼び出し、または、そうでなければ、それらを求めてソーシャル・グラフ・データベースを検索し得る。本開示は、特定の方法でタイプアヘッドプロセスを検索クエリに適用することについて説明するが、本開示は、任意の適切な方法でタイプアヘッドプロセスを検索クエリに適用することも企図する。
【００４２】
検索クエリおよび検索結果に関連して、特定の実施形態は、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号、および２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号において開示された、１つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、または工程を利用し、これらの出願は、本願明細書に援用される。
【００４３】
図５Ａ〜図５Ｂは、ソーシャル・ネットワークの例示的なクエリを示す。特定の実施形態において、第１のユーザ（すなわち、クエリを行うユーザ）から受信されるテキストクエリに応答して、ソーシャル・ネットワーキング・システム１６０は、テキストクエリを構文解析し、特定のソーシャル・グラフ要素に対応するテキストクエリの一部を識別し得る。しかしながら、場合によっては、クエリが、１つまたは複数の曖昧な用語を含むことがある。ここで、曖昧な用語とは、複数のソーシャル・グラフ要素に恐らくは対応し得る用語である。曖昧な用語を構文解析するために、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００にアクセスし、次いで、テキストクエリを構文解析して、テキストクエリから、曖昧なｎ−ｇｒａｍに対応するソーシャル・グラフ要素を識別し得る。ソーシャル・ネットワーキング・システム１６０は、次いで、構造化クエリのセットを生成し、ここで、各構造化クエリは、一致する可能性があるソーシャル・グラフ要素のうちの１つに対応する。これらの構造化クエリは、それらが関連性のあるソーシャル・グラフ要素を参照して自然言語構文においてレンダリングされるように、文法モデルによって生成される文字列に基づき得る。これらの構造化クエリは、クエリを行うユーザへ提示されてもよく、クエリを行うユーザは、次いで、構造化クエリの中から選択して、クエリを行うユーザがどのソーシャル・グラフ要素を曖昧な用語により参照することを意図したかを示すことができる。クエリを行うユーザの選択に応答して、ソーシャル・ネットワーキング・システム１６０は、次いで、クエリ内の曖昧な用語を、クエリを行うユーザによって選択されたソーシャル・グラフ要素に対してロックし、次いで、選択されたソーシャル・グラフ要素に基づいて、構造化クエリの新たなセットを生成し得る。図５Ａ〜図５Ｂは、クエリ・フィールド４５０における様々な例示的なテキストクエリと、ドロップ・ダウン・メニュー４００（ただし、他の適切なグラフィカル・ユーザ・インターフェースも可能である）における、応答して生成される様々な構造化クエリとを示す。ユーザのテキストクエリに応答して、提案される構造化クエリを提供することによって、ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザに、ソーシャル・グラフ２００において表される要素を、それらのソーシャル・グラフ属性および様々なソーシャル・グラフ要素に対するそれらの関係性に基づいて検索するための強力な手法を提供し得る。構造化クエリは、クエリを行うユーザが、特定のエッジ・タイプによってソーシャル・グラフ２００において特定のユーザまたはコンセプトにつながっているコンテンツを検索することを可能にし得る。構造化クエリは、第１のユーザへ送信され、（例えば、クライアント側タイプアヘッドプロセスを通じて）ドロップ・ダウン・メニュー４００において表示され得る。ここで、第１のユーザは、次いで、適切なクエリを選択して、所望のコンテンツを検索し得る。本願明細書において説明される構造化クエリを使用する利点のうちのいくつかは、限定された情報に基づいてオンライン・ソーシャル・ネットワークのユーザを見出すこと、様々なソーシャル・グラフ要素に対するコンテンツの関係性に基づいて、オンライン・ソーシャル・ネットワークからそのコンテンツの仮想インデックスをまとめること、または、あなたおよび／もしくはあなたの友達に関係するコンテンツを見出すことを含む。本開示および図５Ａ〜図５Ｂは、特定の構造化クエリを特定の方法で生成することを説明および示すが、本開示は、任意の適切な構造化クエリを任意の適切な方法で生成することも企図する。
【００４４】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、クエリを行う／第１のユーザ（第１のユーザ・ノード２０２に対応する）から、非構造化テキストクエリを受信し得る。限定ではなく、例として、第１のユーザは、（１）第１のユーザの一次の友達であり、かつ（２）スタンフォード大学（Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ）に関連付けられている他のユーザを検索したいと望み得る（すなわち、ユーザ・ノード２０２は、エッジ２０６によって、学校「スタンフォード」に対応するコンセプト・ノード２０４につながっている）。第１のユーザは、次いで、図５Ａ〜図５Ｂに示されるように、クエリ・フィールド４５０内にテキストクエリ「友達  スタンフォード」を入力し得る。クエリを行うユーザが、クエリ・フィールド４５０内にこのテキストクエリ
を入力するにつれて、ソーシャル・ネットワーキング・システム１６０は、ドロップ・ダウン・メニュー４００に示されるように、様々な提案される構造化クエリを提供し得る。本願明細書において、非構造化テキストクエリとは、ユーザによって入力される単純なテキスト文字列を示す。テキストクエリは、当然ながら、標準的な言語／文法規則（例えば、英語言語文法）に関して構造化され得る。しかしながら、テキストクエリは、通常は、ソーシャル・グラフ要素に関して構築化されていない。換言すれば、単純なテキストクエリは、通常は、特定のソーシャル・グラフ要素への埋め込まれた参照を含まない。したがって、本願明細書において、構造化クエリとは、特定のソーシャル・グラフ要素への参照を包含するクエリに及び、検索エンジンが、識別された要素に基づいて検索することを可能にする。さらに、テキストクエリは、正式なクエリ構文に関して構造化されていないことがある。換言すれば、単純なテキストクエリは、必ずしも検索エンジンによって直接実行可能なクエリコマンドの形式であるとは限らない（例えば、テキストクエリ「友達  スタンフォード」は、ソーシャル・グラフ・データベースにおいてクエリとして実行され得る、クエリコマンド「交差（学校（スタンフォード大学），友達（私）」、または「／検索／私／友達／［スタンフォード大学に対するノードＩＤ］／学生／過去に／交差」（「ｉｎｔｅｒｓｅｃｔ（ｓｃｈｏｏｌ（Ｓｔａｎｄｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ），ｆｒｉｅｎｄｓ（ｍｅ）」、または「／ｓｅａｒｃｈ／ｍｅ／ｆｒｉｅｎｄｓ／［ｎｏｄｅ
ＩＤ  ｆｏｒ  Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ］／ｓｔｕｄｅｎｔｓ／ｅｖｅｒ−ｐａｓｔ／ｉｎｔｅｒｓｅｃｔ」）を形成するように構文解析され得る）。本開示は、特定の方法で特定のクエリを受信することについて説明するが、本開示は、任意の適切な方法で任意の適切なクエリを受信することについても企図する。
【００４５】
要素検出およびクエリの構文解析に関するさらなる情報は、２０１２年７月２３日に出願された米国特許出願第１３／５５６０７２号、２０１２年１２月３１日に出願された米国特許出願第１３／７３１８６６号、２０１２年１２月３１日に出願された米国特許出願第１３／７３２１０１号、および２０１３年５月３日に出願された米国特許出願第１３／８８７０１５号において見出されることができ、これらの出願の各々が、本願明細書に援用される。
【００４６】
オンライン・ソーシャル・ネットワーク上でのオファーおよび広告の検索
図６および図７は、オンライン・ソーシャル・ネットワークの例示的なページを示す。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、ユーザにとって検索可能な広告を作成し得る。開示された主題に従って、広告およびオファーを求めてソーシャル・ネットワークにクエリを行うための方法が提供される。本願明細書においては、「広告」という用語は、オンライン広告とオンライン・オファーとの双方に及ぶように使用される（オンライン・ソーシャル・ネットワークの文脈におけるオファーは、広告主から任意のタイプの利益を受け取るために、例えば、クーポン、クレジット、無料アイテム等などを受け取るために、ユーザがオンライン・ソーシャル・ネットワーク上のオファーと対話することを可能にする、広告主による投稿に及び得る）。広告は、ユーザインタフェース上でユーザに対して表示され得る広告を含むことが意図される。例えば、広告は、ユーザインタフェースのサイド・パネル６０１中のサイド・パネル広告（例えば、右側の広告６０２）として、または（例えば、ユーザのニュース・フィード６０３において提供される）スクロール広告６０４として表示されてもよい。別の例として、広告は、ユーザのチャット・ウィンドウまたは会話スレッド中に表示されてもよい。広告は、チャット・ウィンドウ中のキーワードに基づいてもよい。ユーザは、広告を閲覧してもよいし、または、ユーザは、広告を閲覧する資格を有していたとしても、閲覧しなくてもよい。限定ではなく、例として、ユーザが、広告の目標顧客内に存在したとしても、その広告は、ユーザに対して表示されるほど高くは得点付けされないことがある。代替案として、または付加的に、広告は、ユーザのニュース・フィード６０３中に存在し得るが、ユーザは、その広告を見るほど遠くまでスクロールしないことがある。広告は、本願明細書にお
いては、取引（例えば、クーポン、割引、景品）、ダーク投稿広告（すなわち、タイムライン上に含まれていない広告主による投稿）、および他の適切な投稿も含むことが意図される。広告は、インデックス付けされること、例えば、広告タイプ・バーティカル１６４、または他の適切なストレージ手段に記憶されることが可能である。広告は、ソーシャル・グラフ２００内の広告タイプ・コンセプト・ノード２０４に関連付けられてもよい。限定ではなく、例として、図６に示されるように、ドレス６０４の広告、例えば、「ブライド・ストア」と呼ばれる地域のブライダル・ブティックからのドレスについての割引（本願明細書においては、「ドレス取引」と称される）は、特定のユーザのニュース・フィードに表示されてもよい。ブライド・ストアは、ビジネスタイプ・コンセプト・ノード２０４に関連付けられていてもよく、ドレス取引は、広告タイプ・コンセプト・ノード２０４に関連付けられていてもよい。ブライド・ストアに関連付けられているコンセプト・ノード２０４は、ソーシャル・グラフ２００内のエッジ２０６によって、ドレス取引に関連付けられているコンセプト・ノード２０４につなげられ得る。ユーザは、ドレスを閲覧することおよび／または購入することに後で興味を持つ可能性があり、ユーザは、ソーシャル・ネットワーキング・システム１６０にアクセスし、「ドレス・オファー」を検索し得る。ソーシャル・ネットワーキング・システム１６０は、ドレスに関係する広告を求めてソーシャル・ネットワークを検索し、一致する広告を識別および順位付けし、検索結果としてドレス取引７０４およびブライド・ストア７０３を、クエリに一致するが必ずしも広告とは限らない他の検索結果（７０１、７０２）（例えば、それらは、ドレスについての他のユーザによる投稿であってもよい）に加えて、ユーザに提供し得る。ユーザのクエリに一致する広告は、例えば、広告に関するユーザの親和性係数に基づいて得点付けされ得る。次いで、検索結果は、この得点付けに基づいて生成されることが可能であり、結果は、次いで、ユーザのクライアント・システム上での表示のために、クエリを行うユーザへ送信されることが可能である。限定ではなく、別の例として、ユーザは「ドレス」を検索してもよい。ソーシャル・ネットワーキング・システム１６０は、検索を実行し、検索結果内にドレス取引を、他の検索結果に加えて含め得る。本開示は、特定の方法で広告を求めてソーシャル・ネットワークにクエリを行うことを記述しているが、本開示は、任意の適切な方法で広告を求めてソーシャル・ネットワークにクエリを行うことを想定している。
【００４７】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、第１のユーザのクライアント・システム１３０からクエリを受信し、クエリに一致する１つまたは複数のオブジェクトを識別し得る。ここで、識別されたオブジェクトのうちの少なくとも１つは広告である。ソーシャル・ネットワーキング・システム１６０は、第１の／クエリを行うユーザのクライアント・システム１３０からクエリを受信し得る。クエリは、例えば、非構造化テキストクエリであってもよい。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０は、クライアント・システム１３０から、「ドレス・オファー」または「ドレス」などのクエリを受信し得る。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０は、テキストクエリを構文解析して、１つまたは複数のｎ−ｇｒａｍを識別し得る。ここで、ｎ−ｇｒａｍのうちの少なくとも１つは、曖昧なｎ−ｇｒａｍである。上述されたように、ｎ−ｇｒａｍが、ソーシャル・ネットワーキング・システム１６０によって使用される構文解析アルゴリズムに基づいて、単一のソーシャル・グラフ要素へと直ちに解決可能ではない場合、そのｎ−ｇｒａｍは、曖昧なｎ−ｇｒａｍであり得る。構文解析は、上記に詳細に説明されたように行なわれ得る。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０は、テキストクエリ「ドレス・オファー」を受信し得る。テキストクエリは、「ドレス」という曖昧なｎ−ｇｒａｍと、「オファー」というｎ−ｇｒａｍとへ、構文解析され得る。この例において、「ドレス」はソーシャル・グラフ２００の特定の要素に一致しないので、「ドレス」は曖昧なｎ−ｇｒａｍと見なされ得る。対照的に、「オファー」は、特定のタイプのコンセプト・ノード２０４（すなわち、広告タイプのコンセプト・ノード２０４）に及び、したがって、曖昧であるとは見なされないことがある。テキストクエリ「ドレス・オファ
ー」に応答して、ソーシャル・ネットワーキング・システム１６０は、ブライド・ストアとドレス取引とをクエリに一致するオブジェクトとして識別し得る。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０は、曖昧なｎ−ｇｒａｍに一致する、１つまたは複数のノード２０４を識別し得る。例えば、ソーシャル・ネットワーキング・システム１６０は、ブライド・ストアに関連付けられているノード２０４と、ドレス取引に関連付けられているノード２０４とを、曖昧なｎ−ｇｒａｍ「ドレス」に一致するものとして識別し得る。限定ではなく、例として、ソーシャル・ネットワーキング・システムは、複数のバーティカル１６４を検索して、クエリに一致する、各バーティカルにおけるオブジェクトの複数のセットをそれぞれ識別することによって、クエリに一致する１つまたは複数のオブジェクトを識別し得る。各バーティカル１６４は、オンライン・ソーシャル・ネットワークに関連付けられている１つまたは複数のオブジェクトを記憶することができ、各オブジェクトは、ユーザ・ノード２０２またはコンセプト・ノード２０４に対応し得る。各バーティカル１６４は、特定のオブジェクト・タイプ、例えば、広告、ユーザ、写真、投稿、ページ、アプリケーション、イベント、ロケーション、またはユーザ・グループのオブジェクトを記憶し得る。例えば、ソーシャル・ネットワーキング・システム１６０は、広告タイプのオブジェクトを記憶するバーティカル１６４を検索して、ドレス取引に関連付けられている広告タイプのオブジェクトを識別し得る。ソーシャル・ネットワーキング・システム１６０は、ページタイプのオブジェクトを記憶するバーティカル１６４を検索して、ブライド・ストアに関連付けられているページタイプのオブジェクトをクエリに一致するものとして識別し得る。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、テキストクエリを構文解析して、１つまたは複数のｎ−ｇｒａｍを識別し得る。ここで、クエリは、非構造化テキストクエリである。ソーシャル・ネットワーキング・システム１６０は、識別されたエッジまたは識別されたノードの各々が、テキストクエリから識別された１つまたは複数のｎ−ｇｒａｍに対応する、１つもしくは複数のエッジまたは１つもしくは複数の第２のノードを識別し、識別されたオブジェクトを参照する１つまたは複数の構造化クエリを生成し得る。例えば、ソーシャル・ネットワーキング・システム１６０が、クエリとして「ドレス・オファー」を受信する場合、ソーシャル・ネットワーキング・システムは、ｎ−ｇｒａｍオファーに一致するオファータイプのオブジェクトを識別した後、「私の友達によって主張されたドレスについてのオファーを見せて」などの構造化クエリを生成し得る。本開示は、クエリを受信し、クエリに一致する１つまたは複数のオブジェクトを特定の方法で識別することを記述しているが、本開示は、クエリを受信し、クエリに一致する１つまたは複数のオブジェクトを任意の適切な方法で識別することを想定している。
【００４８】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、識別された各広告のスコアを計算し得る。スコアは、多様な要因（これらは、より詳細に下記で論じられる）に基づき得る。特定の実施形態において、スコアは、識別された広告に対応するコンセプト・ノード２０４に関する、クエリを行うユーザに関連付けられているユーザ・ノード２０２の親和性係数に少なくとも部分的に基づいてもよい。より詳細に下記で論じられるように、親和性は、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、または、これらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強度または興味のレベルを表現し得る。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、親和性係数（これは、本願明細書において「係数」と称され得る）を使用して、ソーシャル・グラフ親和性を測定または定量化し得る。限定ではなく、例として、クエリ「ドレス・オファー」に応答して、ソーシャル・ネットワーキング・システム１６０は、ユーザのクエリに一致する３つのドレス広告、すなわち、１）ドレス取引と、２）サンドレスの割引（本願明細書において「サンドレス取引」と称される）と、３）１着買えば１着無料のドレス取引（本願明細書において「１着分で２着の取引」と称される）とを識別し得る。この例にお
いて、ユーザは、ドレス取引との親和性を有していることがある。なぜならば、例えば、ユーザの友達が、ドレス取引６０４を主張したことがあり、したがって、ユーザの友達は、主張タイプ・エッジ２０４によってドレス取引につなげられており、友達のユーザ・ノード２０２が、友達タイプ・エッジによって、クエリを行うユーザのユーザ・ノード２０２につなげられているためである。ユーザは、１着分で２着の取引との親和性も有していることがある。なぜならば、例えば、ユーザは、エッジ２０４、例えば、「いいね！」タイプ・エッジ２０４によって、１着分で２着の取引の広告主につなげられており、ここで、広告主は、次いで、作成者タイプ・エッジ２０６によって、１着分で２着の取引に対応するコンセプト・ノード２０６につなげられているためである。ドレス取引および１着分で２着の取引は、ユーザ・ノード２０２と、ドレス取引および１着分で２着の取引に関連付けられているオブジェクト・ノード２０４との間の親和性に基づいて、比較的高いスコアを受け取ってもよい。対照的に、ユーザは、サンドレス取引に対しては、低い親和性を有しても（または、親和性を全く有しなくても）もよく（すなわち、ユーザは、オファーにつなげられておらず、またはオファーから隔たってつなげられているに過ぎない）、したがって、サンドレス取引は、比較的低いスコアを受け取り得る。ユーザと広告との間の親和性は、任意のタイプのつながり、例えば、特定のエッジ・タイプ（例えば、「いいね！」、閲覧、参加、購入／承認）によるつながりであってもよく、より高次のつながりを含んでもよい（例えば、広告は、一次または二次の友達によって「いいね！」の表明をされている）。ソーシャル・ネットワーキング・システム１６０内での親和性が、より詳細に下記で記述される。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、識別された各広告に関連付けられている広告主のロケーションに基づいて、スコアを計算し得る。例えば、ドレス取引が、ブライド・ストアに関連付けられており、１着分で２着の取引が、異なる店（例えば、ロッツォドレス（Ｌｏｔｓ’Ｏ’Ｄｒｅｓｓｅｓ））に関連付けられている場合、スコアは、ブライド・ストアおよびロッツォドレスのロケーションに基づいてもよい。例えば、ブライド・ストアは、クエリを行うユーザの近くに位置する地域の店であり、ロッツォドレスは、全国チェーンである場合、ドレス取引および１着分で２着の取引は、その情報に基づいて得点付けされてもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、識別された広告がクエリに一致するという信頼性の尺度に基づいて、スコアを計算し得る。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０は、キーワード・マッチング、マッチング・タグ／メタデータ、単語ベクトル、用語頻度−逆文書頻度（ＴＦ−ＩＤＦ：ｔｅｒｍ−ｆｒｅｑｕｅｎｃｙ−ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）、または他の適切な手段を使用して、広告がクエリにどのくらい十分に一致するかを決定し得る。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、広告の��つまたは複数の特性に基づいて、スコアを計算し得る。限定ではなく、例として、広告の特性は、広告に関連付けられているオファーが主張された回数、広告に関連付けられているオファーの有効期限、広告の人口統計学的な目標、および広告に関連付けられている広告主のプリファレンス、または、これらの任意の組み合わせを含んでもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、識別された各オブジェクトのスコアを計算し得る（これは、識別された広告のスコアと同じ要因のうちの１つまたは複数に基づいてもよい）。限定ではなく、例として、ソーシャル・ネットワーキング・システム１６０が、ブライド・ストアに関連付けられているコンセプト・ノード２０４をクエリに一致するものとして識別する場合、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数の適切な要因に基づいて、ブライド・ストアのスコアを計算することができる。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、広告主が広告のスコアを改善するために支払いを行ったかどうかに基づいて、スコアを計算してもよい。限定ではなく、例として、ブライド・ストアが、ドレス取引のスコアを増加させるために支払いを行っており、ロッツォドレスが、１着で２着分の取引のスコアを増加させるために支払いを行っていない場合、ドレス取引は、比較的より高いスコアを受け取り得る。本開示は、スコアを特定の方法で計算することを記
述しているが、本開示は、スコアを任意の適切な方法で計算することを想定している。
【００４９】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、クエリに一致する１つまたは複数の識別されたオブジェクトにそれぞれ対応する、１つまたは複数の検索結果を生成し得る。各検索結果は、対応する識別されたオブジェクトへの参照を含み得る。ここで、検索結果のうちの少なくとも１つは、閾値スコアよりも大きなスコアを有する、識別された広告に対応する。限定ではなく、例として、クエリ「ドレス・オファー」に応答して、ソーシャル・ネットワーキング・システム１６０は、ドレス取引および１着で２着分の取引への参照を含む検索結果を生成し得る。なぜならば、それらの広告は、閾値を超え得る、比較的高いスコアを受け取っているためである（ソーシャル・ネットワーキング・システム１６０は、検索クエリに一致する他のオブジェクトを参照する検索結果も生成し得る）。サンドレス取引は、閾値未満であり得る、比較的低いスコアを有するので、検索結果において参照されない場合がある。限定ではなく、別の例として、生成された検索結果のうちの１つまたは複数は、閾値スコアよりも大きなスコアを有する広告でない、識別されたオブジェクトに対応してもよい。限定ではなく、例として、ブライド・ストアのプロフィール・ページ（すなわち、広告でない）を参照する検索結果も、検索結果として生成され得る。なぜならば、ブライド・ストアは、閾値を超え得る、比較的高いスコアを有するためである。同様に、ロッツォドレスは、閾値未満であり得る、比較的低いスコアを受け取り得るので、ロッツォドレスは、検索結果に含まれない場合がある。本開示は、特定の方法で検索結果を生成することを記述しているが、本開示は、任意の適切な方法で検索結果を生成することを想定している。
【００５０】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、クエリに応答して、検索結果ページ７００を、表示のために第１のユーザのクライアント・システムへ送信し得る。検索結果ページは、生成された検索結果のうちの１つまたは複数を含み得る。例えば、検索結果ページは、ドレス取引７０４、ブライド・ストア７０３、ドレスに関する投稿７０２、および１着で２着分の取引７０１を含むことができる。限定ではなく、例として、検索結果ページは、複数の検索結果モジュールを含んでもよく、各検索結果モジュールは、特定のオブジェクト・タイプに関連付けられており、少なくとも１つの検索結果モジュールは、広告オブジェクト・タイプに関連付けられている。例えば、検索結果ページは、広告モジュール７１１に加えて、全結果モジュール７０５、人々モジュール７０６、ページ・モジュール７０７、グループ・モジュール７０８、アプリ・モジュール７０９、イベント・モジュール７１０を含んでもよい。全結果モジュールにおいて提供される結果は、多様なオブジェクト・タイプのオブジェクトを含む、混合された検索結果であってもよい。モジュールの選択は、そのモジュールに関連付けられているオブジェクト・タイプの結果を提供し得る。混合された検索結果に関するさらなる情報は、２０１４年８月２７日に出願された米国出願第１４／４７０５８３号、および２０１４年４月３日に出願された米国出願第１４／２４４７４８号において見出されることができ、これらの出願の各々が、本願明細書に援用される。特定の実施形態において、検索結果ページは、第１のユーザのクライアント・システム上のオンライン・ソーシャル・ネットワークに関連付けられているネイティブ・アプリケーション（例えば、モバイル・ソーシャル・ネットワーキング・アプリケーション、メッセージング・アプリケーション、別の適切なアプリケーション、または、これらの任意の組み合わせ）のユーザインタフェースであってもよい。限定ではなく、例として、ネイティブ・アプリケーションは、ユーザのモバイル・クライアント・システム上のソーシャル・ネットワーキング・システムに関連付けられているアプリケーション（例えば、スマートフォンおよびタブレット用のフェースブック・モバイル・アプリ）であってもよい。特定の実施形態において、検索結果ページは、第１のユーザのクライアント・システム１３０のブラウザ・クライアント１３２によってアクセスされるオンライン・ソーシャル・ネットワークのウェブ・ページ（例えば、ｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍのランディング・ページ）であってもよい。本開示は、特定
の方法で検索結果ページを送信することを記述しているが、本開示は、任意の適切な方法で検索結果ページを送信することを想定している。
【００５１】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、クエリの１つまたは複数の検索意図を決定し得る。決定された検索意図は、識別されたノードに関連付けられている１つまたは複数のトピックと、識別されたノードの１つまたは複数のノード・タイプとに基づき得る。例えば、ソーシャル・ネットワーキング・システムは、クエリに関連付けられている多数の広告タイプ・ノードを識別し、したがって、ユーザが広告を検索していると決定し得る。特定の実施形態において、スコアの計算は、１つまたは複数の検索意図にさらに基づくことができる。例えば、ソーシャル・ネットワーキング・システムが、意図は広告用であると決定した場合、検索に関連付けられている広告タイプのオブジェクトは、より高いスコアを受け取り得る。クエリ意図の決定に関するさらなる情報は、２０１４年８月２７日に出願された米国出願第１４／４７０，５８３号において見出され、この出願は、本願明細書に援用される。本開示は、特定の方法で検索意図を決定することを記述しているが、本開示は、任意の適切な方法で検索意図を決定することを想定している。
【００５２】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、クエリに基づいてクエリコマンドを生成し得る。特定の実施形態において、ユーザによって入力されたテキストクエリは、構文解析されて、検索エンジンによって実行可能なクエリコマンドが生成され得る。クエリコマンドは、特定の引数を受け取る、定義された関数を備えた、構造化された意味論的クエリであってもよい。限定ではなく、例として、テキストクエリ「友達  私  マーク（ｆｒｉｅｎｄ  ｍｅ  ｍａｒｋ）」は、構文解析されて、交差（友達（私），友達（マーク））（ｉｎｔｅｒｓｅｃｔ（ｆｒｉｅｎｄ（ｍｅ），ｆｒｉｅｎｄ（Ｍａｒｋ）））というクエリコマンドを形成し得る。換言すれば、クエリは、クエリを行うユーザ（「私（ｍｅ）」）と、ユーザ「マーク」とを交差させるソーシャル・グラフ内のノード（すなわち、友達タイプ・エッジ２０６よってクエリを行うユーザのユーザ・ノード２０２と、友達タイプ・エッジ２０６によってユーザ「マーク」のユーザ・ノード２０２との双方につなげられているユーザ・ノード２０２）を探している。特定の実施形態において、クエリコマンドは、少なくとも２つのオペランドを含むことができ、そのオペランドのうちの１つは、クエリであり、そのオペランドのうちのもう１つは、検索制約および関連付けられている重みである。この重みは、検索制約に一致しなければならない、クエリに対する検索結果の数の制限を提供し得る。例えば、ソーシャル・ネットワーキング・システムは、検索結果に多様性を持たせるため、ユーザの検索意図に合わせるため、または取り出されたオブジェクトにより他の所望の結果を達成するために、クエリコマンドにバイアスをかけてもよい。例えば、ソーシャル・ネットワーキング・システムは、弱い論理積（ｗｅａｋ  ＡＮＤ）／強い論理和（ｓｔｒｏｎｇ  ＯＲ）（ＷＡＮＤ／ＳＯＲ）機能を使用することができる。例えば、ソーシャル・ネットワーキング・システム１６０は、取り出されるオファーが地域の広告主と全国的な／オンラインの広告主との混合となるように、検索にバイアスをかけて、それにより、（例えば、より大きな広告主が世界的により人気があることが理由で）より大きな広告主からの広告が、取り出される結果の大半を占めることを防止し得る。例えば、ソーシャル・ネットワーキング・システム１６０は、取り出される結果の少なくとも４０％が地域のものであり、残りの６０％は地域のオファーまたは全国的なオファーからのものとなるように、結果に重み付けすることができる。同様に、検索結果をクエリ・ユーザへ送信する前に、検索結果に順位付けする場合、バイアスをかけることおよび／またはフィルタリングすることが行なわれ得る。ＷＡＮＤ／ＳＯＲ演算子は、より詳細に下記で論じられる。検索クエリのための論理表現の生成に関するさらなる情報は、２０１４年７月２７日に出願された米国出願第１３／５６０，９０１号、および２０１３年５月３日に出願された米国出願第１３／８８７，０１５号において見出され、これらの出願の各々が、本願明細書に援用される。本開示は、
特定のクエリコマンドを特定の方法で生成することを説明するが、本開示は、任意の適切なクエリコマンドを任意の適切な方法で生成することも企図する。
【００５３】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、「弱い論理積（ｗｅａｋ  ａｎｄ）」演算子（ＷＡＮＤ）を備えるクエリコマンドを生成し得る。ＷＡＮＤ演算子は、クエリコマンド内のその引数（例えば、キーワードまたは演算子とキーワードとを備える論理表現）のうちの１つまたは複数が、特定の回数または特定の時間の割合だけ不在となることを許容し得る。ソーシャル・ネットワーキング・システム１６０は、ＷＡＮＤ演算子を用いてクエリコマンドを生成する際に、構造化クエリにおいて参照されているソーシャル・グラフ要素を、それらのソーシャル・グラフ要素を参照する黙示的なクエリ制約を追加することによって、考慮し得る。ソーシャル・グラフ２００からのこの情報は、ＷＡＮＤ演算子を使用して検索結果を多様化させるために使用されてもよい。限定ではなく、例として、ユーザが、構造化クエリ「パロ・アルトのオファー（Ｏｆｆｅｒｓ  ｉｎ  Ｐａｌｏ  Ａｌｔｏ）」を入力する場合、ソーシャル・ネットワーキング・システム１６０は、例えば、
（ＷＡＮＤ    ｃａｔｅｇｏｒｙ：＜Ｏｆｆｅｒｓ＞
ｌｏｃａｔｉｏｎ：＜Ｐａｌｏ  Ａｌｔｏ＞：ｏｐｔｉｏｎａｌ−ｗｅｉｇｈｔ  ０．３）
などのクエリコマンドを生成し得る。
この例において、検索結果がクエリコマンドの（カテゴリ（ｃａｔｅｇｏｒｙ）：＜オファー（Ｏｆｆｅｒｓ）＞）部分と（ロケーション（ｌｏｃａｔｉｏｎ）：＜パロ・アルト（Ｐａｌｏ  Ａｌｔｏ）＞）部分との双方に常に一致することを必要とする代わりに、クエリのパロ・アルト部分は、重み０．３を用いてオプション化される。この場合において、これは、検索結果の３０％が項（ｌｏｃａｔｉｏｎ：＜Ｐａｌｏ  Ａｌｔｏ＞）に一致しなければならず（すなわち、エッジ２０６によって、ロケーション「パロ・アルト」に対応するコンセプト・ノード２０４につなげられていなければならない）、検索結果の残りの７０％は、その項を除外し得ることを意味する。したがって、Ｎが１００である場合、３０件のオファー結果は、「パロ・アルト」のロケーションを有しなければならず、７０件のオファー結果は、いかなる場所に（例えば、オファーの静的順位によって決定されるグローバルな上位１００件のオファーに）由来してもよい。特定の実施形態において、検索結果が「オファー」についてのソーシャル・グラフ要素に常に一致する必要はなく、いくつかの結果はソーシャル・ネットワーキング・システム１６０によって任意のオブジェクト（例えば、場所）となるように選ばれ得るように、項（ｃａｔｅｇｏｒｙ：＜Ｏｆｆｅｒｓ＞）も、随意的な重みを割り当てられ得る。
【００５４】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、「強い論理和（ｓｔｒｏｎｇ  ｏｒ）」演算子（ＳＯＲ）を備えるクエリコマンドを生成し得る。ＳＯＲ演算子は、クエリコマンド内のその引数（例えば、キーワードまたは演算子とキーワードとを含む論理表現）のうちの１つまたは複数が、特定の回数または特定の時間の割合だけ存在することを必要とし得る。ソーシャル・ネットワーキング・システム１６０は、ＷＡＮＤ演算子を用いてクエリコマンドを生成する際に、構造化クエリにおいて参照されているソーシャル・グラフ要素を、それらのソーシャル・グラフ要素を参照する黙示的なクエリ制約を追加することによって、考慮し得る。ソーシャル・グラフ２００からのこの情報は、ＳＯＲ演算子を使用して検索結果を多様化させるために使用され得る。限定ではなく、例として、ユーザが構造化クエリ「パロ・アルトまたはレッドウッド・シティのオファー」を入力する場合、ソーシャル・ネットワーキング・システム１６０は、例えば、
（ＡＮＤ  ｃａｔｅｇｏｒｙ：＜Ｏｆｆｅｒｓ＞
（ＳＯＲ  ｌｏｃａｔｉｏｎ：＜Ｐａｌｏ  Ａｌｔｏ＞：ｏｐｔｉｏｎａｌ−ｗｅｉｇｈｔ  ０．４
ｌｏｃａｔｉｏｎ：＜Ｒｅｄｗｏｏｄ  Ｃｉｔｙ＞：ｏｐｔｉｏｎａｌ−ｗｅｉｇｈｔ  ０．３））
などのクエリコマンドを転換し得る。この例において、クエリコマンドの（ｌｏｃａｔｉｏｎ：＜Ｐａｌｏ  Ａｌｔｏ＞）部分または（ｌｏｃａｔｉｏｎ：＜レッドウッド・シティ（Ｒｅｄｗｏｏｄ  Ｃｉｔｙ）＞）部分のどちらかに一致する検索結果を許容する代わりに、クエリのパロ・アルト部分は、重み０．４を用いてオプション化され、クエリのレッドウッド・シティ部分は、重み０．３を用いてオプション化される。この場合において、これは、検索結果の４０％が、項（ｌｏｃａｔｉｏｎ：＜Ｐａｌｏ  Ａｌｔｏ＞）に一致しなければならず（すなわち、エッジ２０６によって、（ｌｏｃａｔｉｏｎ：＜Ｐａｌｏ  Ａｌｔｏ＞）に対応するコンセプト・ノード２０４に各々つながっている、「オファー」に対応するコンセプト・ノード２０４である）、検索結果の３０％は、項（ｌｏｃａｔｉｏｎ：＜Ｒｅｄｗｏｏｄ  Ｃｉｔｙ＞）に一致しなければならず、検索結果の残りは、パロ・アルト制約またはレッドウッド・シティ制約のどちらかに（または、ある場合においては必要に応じて、双方に）一致することを意味する。したがって、Ｎが１００である場合、４０件のオファー結果は、「パロ・アルト」のロケーションを有しなければならず、３０件のオファー結果は、「レッドウッド・シティ」のロケーションを有しなければならず、３０件のオファーは、どちらのロケーションに由来してもよい。
【００５５】
図８Ａ〜図８Ｄは、広告を検索する例示的なスクリーン・ショットを示す。ユーザは、クエリ・フィールド４５０内に「サイドカー」を入力済みである。特定の実施形態において、例えば、図８Ａに示されるように、本願明細書において記述されているタイプアヘッドプロセスが適用され得る。限定ではなく、例として、ユーザがクエリ・フィールド４５０内にテキスト文字を入力する場合、タイプアヘッドプロセスは、ユーザが文字を入力するにつれて、クエリ・フィールド２５０内に入力された文字の文字列に一致する、１つまたは複数のユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６を識別しようと試行し得る。タイプアヘッドプロセスが、テキストクエリから文字列またはｎ−ｇｒａｍを含む要求または呼出を受信するにつれて、タイプアヘッドプロセスは、入力されたテストに一致する、それぞれの名前、タイプ、カテゴリ、または他の識別子を有する既存のソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）を識別するための検索を実施し、または実施させられ得る。タイプアヘッドプロセスは、１つまたは複数のマッチング・アルゴリズムを使用して、一致するノードまたはエッジを識別しようと試行し得る。１つまたは複数の一致が見出される場合、タイプアヘッドプロセスは、例えば、一致するノードの名前（名前文字列）と、潜在的には、一致するノードに関連付けられている他のメタデータとを含み得る応答をユーザのクライアント・システム１３０へ送信し得る。タイプアヘッドプロセスは、次いで、それぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の一致するプロフィール・ページ（例えば、ページに関連付けられている名前または写真）への参照を表示し、一致するユーザ・ノード２０２またはコンセプト・ノード２０４につなげ得る一致するエッジ２０６の名前を表示するドロップ・ダウン・メニュー４００を表示し得る。ユーザは、次いで、ドロップ・ダウン・メニュー４００をクリックし、または、そうでなければ選択し、それによって、選択されたノードに対応する一致したユーザもしくはコンセプト名を検索したい、または一致するエッジによって一致したユーザもしくはコンセプトにつながっているユーザもしくはコンセプトを検索したいという欲求を確認する。例えば、また、図８Ａに示されるように、ソーシャル・ネットワーキング・システム１６０は、特に、「サイドカー・スピードウェイ」、「サイドカー・オファー」、および「サイドカー世界選手権」を、クエリ「サイドカー」への潜在的な一致として識別している。代替的に、タイプアヘッドプロセスは、ドロップ・ダウン・メニュー４００を表示するよりもむしろ、１位に順位付けされた一致の名前または他の識別子をフォームに単に自動追加してもよい。ユーザは、次いで、単に、ユーザのキーボード上の「ｅｎｔｅｒ」をキー入力することによって、または自動追加された宣言をクリックすることによって、自動追加された宣言
を確認し得る。一致するノードおよび／またはエッジのユーザ確認があると、タイプアヘッドプロセスは、一致するソーシャル・グラフ要素を包含するクエリのユーザの確認をソーシャル・ネットワーキング・システム１６０に通知する要求を送信し得る。送信された要求に応答して、ソーシャル・ネットワーキング・システム１６０は、一致するソーシャル・グラフ要素、または、必要に応じて、一致するソーシャル・グラフ要素につながっているソーシャル・グラフ要素を自動的に（または、代替的に、要求内の命令に基づいて）呼び出し、または、そうでなければ、それらを求めてソーシャル・グラフ・データベースを検索し得る。図８Ｂは、例示的な検索結果ページ８０１を示す。ユーザは、クエリ・フィールド４５０内に「サイドカー」を入力済みである。検索結果ページ８０１は、サイドカーという会社に関連付けられているページを参照する結果８０２、サイドカーという会社による投稿８０３、およびサイドカーに関係する様々なオファー８０４を含む、混合された検索結果を含む。検索結果ページ８０１は、トップ８０５、人々８０６、写真８０７、およびページ８０８を含む、多くの検索モジュールも含む。検索結果ページ８０１は、さらなる検索モジュールを提供することができるボタン８０９も含む。図８Ｃにおいて、ユーザは、ボタン８０９を押下済みであり、ソーシャル・ネットワーキング・システム１６０は、オファー８１１を含むさらなる検索モジュールをインタフェース８１０に提供している。図８Ｄにおいて、ユーザは、オファー検索モジュールを選択済みであり、検索結果ページ８１２は、検索クエリ「サイドカー」に関係するオファーのみを含む。検索クエリおよび検索結果に関連して、特定の実施形態は、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号、２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号、および２０１２年１２月３１日に出願された米国特許出願第１３／７３２１０１号において開示された、１つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、または工程を利用し、これらの出願の各々が、本願明細書に援用される。
【００５６】
図９は、オファーおよび広告を検索するための例示的な方法９００を示す。本方法は、工程９１０において開始し、工程９１０において、ソーシャル・ネットワーキング・システム１６０は、複数のノードと、これらのノード同士をつなげている複数のエッジとを備えるソーシャル・グラフにアクセスし得る。ノードは、オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応している第１のノードと、オンライン・ソーシャル・ネットワークにそれぞれ関連付けられている複数のオブジェクトに各々が対応している複数の第２のノードとを備え、各オブジェクトは、特定のオブジェクト・タイプであり、少なくとも１つのオブジェクト・タイプは、広告を含む。工程９２０において、ソーシャル・ネットワーキング・システム１６０は、第１のユーザのクライアント・システムからクエリを受信し得る。工程９３０において、ソーシャル・ネットワーキング・システム１６０は、クエリに一致する１つまたは複数のオブジェクトを識別し得る。識別されたオブジェクトのうちの少なくとも１つは、広告である。工程９４０において、ソーシャル・ネットワーキング・システム１６０は、識別された各広告について、識別された広告に対応している第２のノードに関する第１のノードの親和性係数に少なくとも部分的に基づいて、スコアを計算し得る。工程９５０において、ソーシャル・ネットワーキング・システム１６０は、クエリに一致する識別されたオブジェクトのうちの１つまたは複数にそれぞれ対応している、１つまたは複数の検索結果を生成し得る。各検索結果は、対応している識別されたオブジェクトへの参照を含み、検索結果のうちの少なくとも１つは、閾値スコアよりも大きなスコアを有する、識別された広告に対応する。工程９６０において、ソーシャル・ネットワーキング・システム１６０は、クエリに応答して、検索結果ページを、表示のために第１のユーザのクライアント・システムへ送信することができ、この検索結果ページは、生成された検索結果のうちの１つまたは複数を備える。特定の実施形態は、適切な場合には、図９の方法の１つまたは複数の工程を繰り返し得る。本開示は、図９の方法の特定の工程を特定の順序で発生するものとして記述し、示しているが、本開示は、図９の方法の任意の適切な工程が任意の適切な順序で発生することを想定してい
る。その上、本開示は、図９の方法の特定の工程を含む、オファーおよび広告を検索するための例示的な方法を記述し、示しているが、本開示は、任意の適切な工程を含む、オファーおよび広告を検索するための任意の適切な方法を想定している。任意の適切な工程は、適切な場合には、図９の方法の工程の全部を含んでも、一部を含んでも、または全く含まなくてもよい。さらに、本開示は、図９の方法の特定の工程を実行する特定のコンポーネント、デバイス、またはシステムを記述し、示しているが、本開示は、図９の方法の任意の適切な工程を実行する任意の適切なコンポーネント、デバイス、またはシステムの任意の適切な組み合わせを想定している。
【００５７】
ソーシャル・グラフ親和性および係数
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、様々なソーシャル・グラフ・エンティティのソーシャル・グラフ親和性（これは、本願明細書において「親和性」と称され得る）を互いに決定し得る。親和性は、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、または、これらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強度または興味のレベルを表現し得る。親和性は、サードパーティ・システム１７０または他の適切なシステムに関連付けられているオブジェクトに関して決定されてもよい。各ユーザ、主題、またはコンテンツのタイプについてのソーシャル・グラフ・エンティティの全体的な親和性が確立され得る。全体的な親和性は、ソーシャル・グラフ・エンティティに関連付けられているアクションまたは関係の継続的な監視に基づいて変化し得る。本開示は、特定の方法で特定の親和性を決定することを記述しているが、本開示は、任意の適切な方法で任意の適切な親和性を決定することを想定している。
【００５８】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、親和性係数（これは、本願明細書において「係数」と称され得る）を使用して、ソーシャル・グラフ親和性を測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強度を表現または定量化し得る。係数は、ユーザが特定のアクションを実施する予測される確率を、そのユーザのそのアクションへの興味に基づいて測定する確率または関数も表現し得る。このように、ユーザの将来のアクションは、ユーザの過去のアクションに基づいて予測され得る。ここで、係数は、ユーザのアクションの履歴に少なくとも部分的に計算されてもよい。係数は、任意の数のアクションを予測するために使用され得る。アクションは、オンライン・ソーシャル・ネットワーク内のものであっても、またはオンライン・ソーシャル・ネットワーク外のものであってもよい。限定ではなく、例として、これらのアクションは、メッセージを送信すること、コンテンツを投稿すること、もしくはコンテンツに対してコメントすることなどの様々なタイプの通信、プロフィール・ページ、メディア、もしくは他の適切なコンテンツにアクセスすること、もしくはこれらを閲覧することなどの様々なタイプの観察アクション、同じグループに存在すること、同じ写真にタグ付けされていること、同じロケーションにチェックインしたこと、もしくは同じイベントに参加することなどの、２つ以上のソーシャル・グラフ・エンティティに関する様々なタイプの一致情報、または他の適切なアクションを含み得る。本開示は、特定の方法で親和性を測定することを記述しているが、本開示は、任意の適切な方法で親和性を測定することを想定している。
【００５９】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、多様な要因を使用して、係数を計算し得る。これらの要因は、例えば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な要因、または、これらの任意の組み合わせを含んでもよい。特定の実施形態において、係数を計算する場合に、異なる要因には、異なる重み付けがされ得る。各要因の重みは、静的であってもよく、または、重みは、例えば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーション
等によって変化してもよい。ユーザについての全体的な係数を決定するために、要因のレーティング（比率）は、それらの重みによって組み合わされてもよい。限定ではなく、例として、特定のユーザ・アクションには、比率と重みとの双方が割り当てられてもよく、一方で、特定のユーザ・アクションに関連付けられている関係には、比率と相関する重みとの双方が割り当てられる（例えば、したがって、重みは合計で１００％になる）。特定のオブジェクトへのユーザの係数を計算するために、ユーザのアクションに割り当てられる比率は、例えば、係数全体の６０％を含んでもよく、一方で、ユーザとオブジェクトとの間の関係は、係数全体の４０％を含んでもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、係数を計算するために使用される様々な要因の重みを決定する場合に、例えば、情報がアクセスされてからの時間、減衰要因、アクセスの頻度、情報に対する関係、もしくはそのオブジェクトに関する情報がアクセスされたオブジェクトに対する関係、オブジェクトにつなげられているソーシャル・グラフ・エンティティに対する関係、ユーザ・アクションの短期的もしくは長期的な平均、ユーザ・フィードバック、他の適切な変数、または、これらの任意の組み合わせなど、多様な変数を考慮し得る。限定ではなく、例として、係数を計算する場合に、より最近のアクションがより関係するように、係数は、特定のアクションによって提供される信号の強度を時間と共に減衰させる減衰要因を含んでもよい。比率および重みは、係数の基になるアクションの継続的な追跡に基づいて、継続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各要因の比率と、要因に対して割り当てられる重みとを、割り当てるため、組み合わせるため、平均化等するために採用されてもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、履歴上のアクションおよび過去のユーザ応答に関してトレーニングされた機械学習アルゴリズム、またはユーザに様々なオプションを経験させ、応答を測定することによってユーザから得られたデータを使用して、係数を決定し得る。本開示は、特定の方法で係数を計算することを記述しているが、本開示は、任意の適切な方法で係数を計算することを想定している。
【００６０】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、ユーザのアクションに基づいて、係数を計算し得る。ソーシャル・ネットワーキング・システム１６０は、そのようなアクションを、オンライン・ソーシャル・ネットワーク上で、サードパーティ・システム１７０上で、他の適切なシステム上で、または、これらの任意の組み合わせ上で、監視し得る。任意の適切なタイプのユーザ・アクションが、追跡され、または監視され得る。典型的なユーザ・アクションは、プロフィール・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、画像にタグ付けすること、または画像にタグ付けされること、グループに参加すること、イベントへの参加を列挙し、イベントへの参加を確認すること、ロケーションにチェックインすること、特定のページに対して「いいね！」の表明をすること、ページを作成すること、およびソーシャル・アクションを促進させる他のタスクを実行することを含む。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、特定のタイプのコンテンツに伴うユーザのアクションに基づいて、係数を計算してもよい。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム１７０、または別の適切なシステムに関連付けられていてもよい。コンテンツは、ユーザ、プロフィール・ページ、投稿、ニュース記事、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、写真、映像、音楽、他の適切なオブジェクト、またはこれらの任意の組み合わせを含んでもよい。ソーシャル・ネットワーキング・システム１６０は、ユーザのアクションを分析して、そのアクションのうちの１つまたは複数が、主題、コンテンツ、他のユーザ等への親和性を示すかどうかを決定し得る。限定ではなく、例として、ユーザが、「コーヒー」またはこれに似たものに関係するコンテンツの投稿を頻繁に行い得る場合、ソーシャル・ネットワーキング・システム１６０は、ユーザが「コーヒー」というコンセプトに関して高い係数を有すると決定し得る。特定のアクションまたは特定のタイプのアクションには、他のアクションよりも大きな重みおよび／または高い比率が割り
当てられ得る。これは、計算される係数全体に影響を及ぼし得る。限定ではなく、例として、第１のユーザが、第２のユーザへ電子メールを送る場合、このアクションの重みまたは比率は、第１のユーザが第２のユーザのユーザ・プロフィール・ページを単に閲覧する場合よりも大きく、または高くなり得る。
【００６１】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、特定のオブジェクト間の関係のタイプに基づいて、係数を計算し得る。ソーシャル・グラフ２００を参照して、ソーシャル・ネットワーキング・システム１６０は、係数を計算する場合に、特定のユーザ・ノード２０２とコンセプト・ノード２０４とをつなげているエッジ２０６の数および／またはタイプを分析し得る。限定ではなく、例として、配偶者タイプ・エッジ（２人のユーザが結婚していることを表す）によってつなげられているユーザ・ノード２０２には、友達タイプ・エッジによってつなげられているユーザ・ノード２０２よりも高い係数が割り当てられ得る。換言すれば、特定のユーザのアクションおよび関係に割り当てられている重みに応じて、全体的な親和性は、ユーザの友達に関するコンテンツよりもユーザの配偶者に関するコンテンツに対して、より高くなると決定され得る。特定の実施形態において、ユーザが別のオブジェクトに対して有する関係は、そのオブジェクトの係数の計算に関するユーザのアクションの重みおよび／または比率に影響を及ぼし得る。限定ではなく、例として、ユーザが、第１の写真においてはタグ付けされているが、第２の写真に対しては「いいね！」の表明をしているに過ぎない場合、ソーシャル・ネットワーキング・システム１６０は、ユーザが第２の写真よりも第１の写真に関して、より高い係数を有すると決定し得る。なぜならば、コンテンツに対してタグ付けタイプの関係を有することには、コンテンツに対して「いいね！」タイプの関係を有することよりも、大きな重みおよび／または高い比率が割り当てられ得るためである。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、１人または複数の第２のユーザが特定のオブジェクトに対して有する関係に基づいて、第１のユーザの係数を計算し得る。換言すれば、他のユーザが、あるオブジェクトに対して有するつながりおよび係数は、そのオブジェクトについての第１のユーザの係数に影響を及ぼし得る。限定ではなく、例として、第１のユーザが、１人もしくは複数の第２のユーザにつなげられているか、または１人もしくは複数の第２のユーザに対して高い係数を有しており、かつ、それらの第２のユーザが、特定のオブジェクトにつなげられているか、または特定のオブジェクトに対して高い係数を有する場合、ソーシャル・ネットワーキング・システム１６０は、第１のユーザもその特定のオブジェクトに対して比較的高い係数を有するべきであると決定し得る。特定の実施形態において、係数は、特定のオブジェクト間の分離度合いに基づいてもよい。より低い係数は、ソーシャル・グラフ２００内で第１のユーザに間接的につなげられているユーザのコンテンツ・オブジェクトへの興味を第１のユーザが共有する可能性の減少を表し得る。限定ではなく、例として、ソーシャル・グラフ２００においてより近い（すなわち、分離度合いがより小さい）ソーシャル・グラフ・エンティティは、ソーシャル・グラフ２００においてさらに離れているエンティティよりも高い係数を有し得る。
【００６２】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、ロケーション情報に基づいて、係数を計算し得る。互いに地理的により近いオブジェクト同士は、より離れたオブジェクト同士よりも、互いに関係している、または興味があると見なされ得る。特定の実施形態において、特定のオブジェクトへのユーザの係数は、そのユーザに関連付けられている現在のロケーション（または、ユーザのクライアント・システム１３０のロケーション）に対する、そのオブジェクトのロケーションの近接度に基づいてもよい。第１のユーザは、第１のユーザに対してより近い他のユーザまたはコンセプトに、より興味を持ち得る。限定ではなく、例として、ユーザが、空港から１．６０９キロメートル（１マイル）、ガソリン・スタンドから３．２１８キロメートル（２マイル）に存在する場合、ソーシャル・ネットワーキング・システム１６０は、ユーザに対する空港の近接度に基づいて、ユーザがガソリン・スタンドよりも空港に対してより高い係数を有する
と決定し得る。
【００６３】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、係数情報に基づいて、ユーザに関する特定のアクションを実行し得る。係数は、アクションに対するユーザの興味に基づいて、ユーザが特定のアクションを実行するかどうかを予測するために使用され得る。係数は、広告、検索結果、ニュース記事、メディア、メッセージ、通知、または他の適切なオブジェクトなどの、任意のタイプのオブジェクトをユーザに対して生成または提示する場合に使用されてもよい。係数は、適切な場合には、そのようなオブジェクトを順位付けし、順序付けするためにも利用され得る。このように、ソーシャル・ネットワーキング・システム１６０は、ユーザの興味および現在の状況に関係する情報を提供して、ユーザがそのような興味のある情報を見つける可能性を高め得る。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、係数情報に基づいて、コンテンツを生成し得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて、提供され、または選択されてもよい。限定ではなく、例として、係数は、ユーザに対してメディアを生成するために使用され得る。ここで、ユーザには、ユーザがメディア・オブジェクトに関して全体的に高い係数を有するメディアが提示され得る。限定ではなく、別の例として、係数は、ユーザに対して広告を生成するために使用されてもよい。ここで、ユーザには、広告されるオブジェクトに関してユーザが全体的に高い係数を有する広告が提示され得る。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、係数情報に基づいて、検索結果を生成し得る。特定のユーザについての検索結果は、クエリを行うユーザに関する検索結果に関連付けられている係数に基づいて、得点付けされ、または順位付けされ得る。限定ではなく、例として、より高い係数を有するオブジェクトに対応する検索結果は、より低い係数を有するオブジェクトに対応する結果よりも、検索結果ページ上で高く順位付けされ得る。
【００６４】
特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、特定のシステムまたはプロセスからの係数に対する要求に応答して、係数を計算し得る。ユーザが所与の状況において取り得る（または、所与の状況の目標となり得る）有力なアクションを予測するために、任意のプロセスは、ユーザについて計算された係数を要求し得る。この要求は、係数を計算するために使用される様々な要因に対して使用すべき、重みのセットも含み得る。この要求は、オンライン・ソーシャル・ネットワーク上で実行されているプロセスから、（例えば、ＡＰＩもしくは他の通信チャネルを介して）サードパーティ・システム１７０から、または別の適切なシステムから到来してもよい。要求に応答して、ソーシャル・ネットワーキング・システム１６０は、係数を計算し（または、係数が過去に計算され、記憶されている場合には、係数情報にアクセスし）得る。特定の実施形態において、ソーシャル・ネットワーキング・システム１６０は、特定のプロセスに関する親和性を測定し得る。異なるプロセス（オンライン・ソーシャル・ネットワークの内部と外部との双方）は、特定のオブジェクトまたはオブジェクトのセットについての係数を要求し得る。ソーシャル・ネットワーキング・システム１６０は、親和性の尺度を要求した特定のプロセスに関係する、親和性の尺度を提供し得る。このように、各プロセスは、そのプロセスが親和性の尺度を使用するであろう、異なるコンテキストに対して合わされた親和性の尺度を受け取る。
【００６５】
ソーシャル・グラフ親和性および親和性係数に関連して、特定の実施形態は、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号、２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号、および２０１２年１０月１日に出願された米国特許出願第１３／６３２８６９号において開示される１つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、または工程を利用し、これらの出願の各々が、本願明細書に援用される。
【００６６】
広告
特定の実施形態において、広告は、（ＨＴＭＬリンクされ得る）テキスト、（ＨＴＭＬリンクされ得る）１つもしくは複数の画像、１つもしくは複数の映像、オーディオ、１つもしくは複数のＡＤＯＢＥ  ＦＬＡＳＨファイル、これらの任意の組み合わせ、または、１つもしくは複数のウェブ・ページ上に、１つもしくは複数の電子メールにおいて、またはユーザによって要求される検索結果に関連して提示される任意の適切なデジタル・フォーマットにおける任意の他の適切な広告であり得る。付加的に、または代替案として、広告は、１つまたは複数のスポンサー付きのストーリ（例えば、ソーシャル・ネットワーキング・システム１６０上のニュース・フィードまたはティッカー・アイテム）であり得る。スポンサー付きのストーリは、例えば、広告主が、ソーシャル・アクションを、ユーザのプロフィール・ページまたは他のページの所定の領域内に提示させること、その広告主に関連付けられている付加的な情報と共に提示させること、他のユーザのニュース・フィードもしくはティッカー内でバンプ・アップ（ｂｕｍｐ  ｕｐ）もしくはそうでなければ強調させること、または、促進させることによって促進する、（ページに「いいね！」の表明をすること、ページ上の投稿に「いいね！」の表明をすることもしくはコメントをすること、ページに関連付けられているイベントに対して返信すること、ページ上に投稿された質問に対して投票すること、ある場所にチェックインすること、アプリケーションを使用することもしくはゲームをプレイすること、または、ウェブサイトに「いいね！」の表明をすることもしくはこれを共有することなどの）ユーザによるソーシャル・アクションであり得る。広告主は、ソーシャル・アクションを促進させるために代金を支払い得る。限定ではなく、例として、広告は、スポンサー付きのコンテンツがスポンサーなしのコンテンツよりも促進される、検索結果ページの検索結果の中に含まれ得る。
【００６７】
特定の実施形態において、広告は、ソーシャル・ネットワーキング・システムのウェブ・ページ、サードパーティのウェブ・ページ、または他のページ内での表示のために要求され得る。広告は、ページの上部のバナー領域において、ページの側部の列において、ページのＧＵＩにおいて、ポップ・アップ・ウィンドウにおいて、ドロップ・ダウン・メニューにおいて、ページの入力フィールドにおいて、ページのコンテンツの上に、またはページに関する他の場所などの、ページの専用の部分において表示され得る。付加的に、または代替案として、広告は、アプリケーション内に表示され得る。広告は、ユーザがページにアクセスし、またはアプリケーションを利用する前に、ユーザが広告と対話し、または広告を観察することを必要とする、専用のページ内に表示され得る。ユーザは、例えば、ウェブ・ブラウザを通じて広告を眺め得る。
【００６８】
ユーザは、任意の適切な方法で広告と対話し得る。ユーザは、広告をクリックし、または、そうでなければ選択し得る。広告を選択することによって、ユーザは、その広告に関連付けられているページ（または、ユーザによって使用されているブラウザもしくは他のアプリケーション）へ向けられ得る。広告に関連付けられているページにおいて、ユーザは、広告に関連付けられている製品もしくはサービスを購入すること、広告に関連付けられている情報を受信すること、または広告に関連付けられているニュースレターを定期購読することなどの、付加的なアクションを行い得る。オーディオまたは映像を有する広告は、広告の（「再生ボタン」のような）コンポーネントを選択することによって、再生され得る。代替的に、広告を選択することによって、ソーシャル・ネットワーキング・システム１６０は、ユーザの特定のアクションを実行または修正し得る。
【００６９】
広告は、ユーザが対話し得るソーシャル・ネットワーキング・システム機能を含み得る。限定ではなく、例として、広告は、ユーザが、承認に関連付けられているアイコンまたはリンクを選択することによって、広告に「いいね！」の表明をし、または、そうでなければこれを承認することができるようにし得る。限定ではなく、別の例として、広告は、
ユーザが、（例えば、クエリを実行することによって）広告主に関係するコンテンツを検索することができるようにし得る。同様に、ユーザは、（例えば、ソーシャル・ネットワーキング・システム１６０を通じて）広告を別のユーザと共有し、または広告に関連付けられているイベントに対して（例えば、ソーシャル・ネットワーキング・システム１６０を通じて）返信し得る。付加的に、または代替案として、広告は、ユーザに向けられるソーシャル・ネットワーキング・システム文脈を含み得る。限定ではなく、例として、広告は、その広告の主題に関連付けられているアクションを行った、ソーシャル・ネットワーキング・システム１６０内のユーザの友達についての情報を表示し得る。
【００７０】
システムおよび方法
図１０は、例示的なコンピュータ・システム１０００を示している。特定の実施形態においては、１つまたは複数のコンピュータ・システム１０００が、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を実行する。特定の実施形態においては、１つまたは複数のコンピュータ・システム１０００が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、１つまたは複数のコンピュータ・システム１０００上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている１つもしくは複数の方法の１つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム１０００の１つまたは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、１つまたは複数のコンピュータ・システムを包含することができる。
【００７１】
本開示は、任意の適切な数のコンピュータ・システム１０００を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム１０００を想定している。限定ではなく、例として、コンピュータ・システム１０００は、組み込みコンピュータ・システム、システムオンチップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム１０００は、１つもしくは複数のコンピュータ・システム１０００を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド（１つもしくは複数のネットワーク内の１つもしくは複数のクラウド・コンポーネントを含むことができる）内に常駐することが可能である。適切な場合には、１つまたは複数のコンピュータ・システム１０００は、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、１つまたは複数のコンピュータ・システム１０００は、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程をリアル・タイムで、またはバッチ・モードで実行することができる。１つまたは複数のコンピュータ・システム１０００は、適切な場合には、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
【００７２】
特定の実施形態においては、コンピュータ・システム１０００は、プロセッサ１００２、メモリ１００４、ストレージ１００６、入力／出力（Ｉ／Ｏ）インタフェース１００８
、通信インタフェース１０１０、およびバス１０１２を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【００７３】
特定の実施形態においては、プロセッサ１００２は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ１００２は、内部レジスタ、内部キャッシュ、メモリ１００４、またはストレージ１００６から命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次いで、１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ１００４、またはストレージ１００６に書き込むことができる。特定の実施形態においては、プロセッサ１００２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ１００２を想定している。限定ではなく、例として、プロセッサ１００２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータ・キャッシュ、および１つまたは複数の変換ルックアサイド・バッファ（ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ１００４またはストレージ１００６内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ１００２によるそれらの命令の取り出しをスピードアップすることができる。データ・キャッシュ内のデータは、プロセッサ１００２において実行される命令が機能する際に基づくメモリ１００４もしくはストレージ１００６内のデータのコピー、プロセッサ１００２において実行される後続の命令によるアクセスのための、もしくはメモリ１００４もしくはストレージ１００６への書き込みのためのプロセッサ１００２において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ１００２による読み取り動作または書き込み動作をスピードアップすることができる。ＴＬＢは、プロセッサ１００２のための仮想アドレス変換をスピードアップすることができる。特定の実施形態においては、プロセッサ１００２は、データ、命令、またはアドレスのための１つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ１００２を想定している。適切な場合には、プロセッサ１００２は、１つまたは複数の演算ロジック・ユニット（ＡＬＵ）を含むこと、マルチコア・プロセッサであること、または１つもしくは複数のプロセッサ１００２を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【００７４】
特定の実施形態においては、メモリ１００４は、プロセッサ１００２が実行するための命令、またはプロセッサ１００２が機能する際に基づくデータを記憶するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム１０００は、命令をストレージ１００６または別のソース（たとえば、別のコンピュータ・システム１０００など）からメモリ１００４にロードすることができる。次いでプロセッサ１００２は、命令をメモリ１００４から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ１００２は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ１００２は、１つまたは複数の結果（それらは、中間の結果または最終的な結果である場合がある）を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ１００２は、それらの結果のうちの１つまたは複数をメモリ１００４に書き込むことができる。特定の実施形態においては、プロセッサ１００２は、（ストレージ１００６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ１００４内の命令のみを実行し、（ストレージ１００６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内
の、またはメモリ１００４内のデータ上でのみ機能する。１つまたは複数のメモリ・バス（それらはそれぞれ、アドレス・バスおよびデータ・バスを含むことができる）は、プロセッサ１００２をメモリ１００４に結合することができる。バス１０１２は、以降で記述されているような１つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ１００２とメモリ１００４との間に常駐し、プロセッサ１００２によって要求されるメモリ９０４へのアクセスを容易にする。特定の実施形態においては、メモリ１００４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であることが可能である。その上、適切な場合には、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭであることが可能である。本開示は、任意の適切なＲＡＭを想定している。メモリ１００４は、適切な場合には、１つまたは複数のメモリ１００４を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【００７５】
特定の実施形態においては、ストレージ１００６は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ１００６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ１００６は、適切な場合には、取り外し可能なまたは取り外し不能な（すなわち、固定された）媒体を含むことができる。ストレージ１００６は、適切な場合には、コンピュータ・システム１０００の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ１００６は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ１００６は、読み取り専用メモリ（ＲＯＭ）を含む。適切な場合には、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書替え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ１００６を想定している。ストレージ１００６は、適切な場合には、プロセッサ１００２とストレージ１００６との間における通信を容易にする１つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ１００６は、１つまたは複数のストレージ１００６を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【００７６】
特定の実施形態においては、Ｉ／Ｏインタフェース１００８は、コンピュータ・システム１０００と１つまたは複数のＩ／Ｏデバイスとの間における通信のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム１０００は、適切な場合には、これらのＩ／Ｏデバイスのうちの１つまたは複数を含むことができる。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人とコンピュータ・システム１０００との間における通信を可能にすることができる。限定ではなく、例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、映像カメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの複数の組合せを含むことができる。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の適切なＩ／Ｏインタフェース１００８を想定している。適切な場合には、Ｉ／Ｏインタフェース１００８は、プロセッサ１００２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバ
イス・ドライバまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインタフェース１００８は、適切な場合には、１つまたは複数のＩ／Ｏインタフェース１００８を含むことができる。本開示は、特定のＩ／Ｏインタフェースについて記述し、示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【００７７】
特定の実施形態においては、通信インタフェース１０１０は、コンピュータ・システム１０００と、１つもしくは複数のその他のコンピュータ・システム１０００または１つもしくは複数のネットワークとの間における通信（たとえば、パケットベースの通信など）のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース１０１０は、イーサネット（登録商標）もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース１０１０を想定している。限定ではなく、例として、コンピュータ・システム１０００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの１つまたは複数の１つまたは複数の部分は、有線または無線であることが可能である。例として、コンピュータ・システム１０００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥースＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ（登録商標））ネットワークなど）、またはその他の適切な無線ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム１０００は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース１０１０を含むことができる。通信インタフェース１０１０は、適切な場合には、１つまたは複数の通信インタフェース１０１０を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【００７８】
特定の実施形態においては、バス１０１２は、コンピュータ・システム１０００のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス１０１２は、アクセラレイティッド・グラフィックス・ポート（ＡＧＰ）もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ（ＥＩＳＡ）バス、フロントサイド・バス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、インダストリー・スタンダード・アーキテクチャ（ＩＳＡ）バス、インフィニバンド・インターコネクト、ローピンカウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス１０１２は、適切な場合には、１つまたは複数のバス１０１２を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【００７９】
本明細書においては、１つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、１つもしくは複数の半導体ベースのもしくはその他の集積回路（ＩＣ）（た
とえば、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
【００８０】
本明細書においては、「または（もしくは）」は、包含的であり、排他的ではない（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡまたはＢ」は、「Ａ、Ｂ、またはその両方」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。その上、「および（ならびに）」は、包括的および個別的の両方である（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡおよびＢ」は、「まとめて、または個別に、ＡおよびＢ」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。
【００８１】
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本願明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、特徴、機能、動作、または工程を含むものとして記述し、示しているが、これらの実施形態のうちのいずれも、当技術分野における標準的な技術者が理解するであろう、本願明細書の任意の箇所において説明されているまたは記述されているコンポーネント、要素、特徴、機能、動作、または工程のうちの任意のものの任意の組み合わせまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。
【図１】
0006457641.tif 000002
【図２】
0006457641.tif 000003
【図３】
0006457641.tif 000004
【図４】
0006457641.tif 000005
【図５Ａ】
0006457641.tif 000006
【図５Ｂ】
0006457641.tif 000007
【図６】
0006457641.tif 000008
【図７】
0006457641.tif 000009
【図８Ａ】
0006457641.tif 000010
【図８Ｂ−１】
0006457641.tif 000011
【図８Ｂ−２】
0006457641.tif 000012
【図８Ｃ】
0006457641.tif 000013
【図８Ｄ】
0006457641.tif 000014
【図９】
0006457641.tif 000015
【図１０】
0006457641.tif 000016