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