(57)【特許請求の範囲】
【請求項１】
ソーシャル・グラフを記憶するステップであって、該ソーシャル・グラフは複数のグラフ・オブジェクトと複数のグラフ・アクションとを含んでおり、それぞれのグラフ・アクションは、複数の事前定義されたアクション・タイプのうちの１つのアクション・タイプを有しており２つ以上のグラフ・オブジェクト間の関係を表している、記憶するステップと、
ソーシャル・ネットワーキング・システムとは別のサードパーティ・エンティティから新しいアクション・タイプの定義を受け取るステップと、
受け取った前記定義に応答して、グラフ・オブジェクトとのユーザ相互作用を取り込むために前記ソーシャル・ネットワーキング・システムが使用する前記新しいアクション・タイプを前記複数の事前定義されたアクション・タイプに追加するステップと、
グラフ・オブジェクトに関連して前記新しいアクション・タイプを有するグラフ・アクションを前記ソーシャル・ネットワーキング・システムのユーザが前記ソーシャル・ネットワーキング・システムの外部のシステムにおいて実行したことを示す指示を受け取る、指示を受け取るステップと、
前記ソーシャル・ネットワーキング・システムの外部のシステムから情報にアクセスして前記ソーシャル・ネットワーキング・システムにおいて前記ユーザに関連付けられている前記グラフ・オブジェクトおよび前記グラフ・アクションをリアルタイムに記録するステップであって、前記ソーシャル・ネットワーキング・システムの外部のシステムは前記情報を提供し、該情報は前記ソーシャル・ネットワーキング・システムの外部のシステムに埋め込まれているウィジェットによって生成されるアクション・ログ内の対応するオブジェクト・タイプおよび対応するアクション・タイプに応じてパラメータ化された前記グラフ・オブジェクトおよび前記グラフ・アクションを含む、記録するステップと、
アクセスされた前記情報から前記グラフ・オブジェクトおよび前記グラフ・アクションを抽出するステップと、
前記ソーシャル・ネットワーキング・システムの前記ソーシャル・グラフに、前記ユーザに関連付けられている前記グラフ・オブジェクトおよび前記グラフ・アクションを記憶するステップと、
前記グラフ・オブジェクトに関連して前記ユーザによって実行された前記グラフ・アクションであって、前記新しいグラフ・アクション・タイプを有する該グラフ・アクション
を前記ユーザがコネクションを確立した１または複数の他のユーザであって、前記ソーシャル・ネットワーキング・システムの１または複数の他のユーザに伝達するステップと、からなる方法。
【請求項２】
前記サードパーティ・エンティティから、ユーザ相互作用を取り込むための新しいオブジェクト・タイプの定義を受け取るステップと、
受け取った前記新しいオブジェクト・タイプの定義に応答して、該新しいオブジェクト・タイプのグラフ・オブジェクトとのユーザ相互作用を取り込むために前記ソーシャル・ネットワーキング・システムが使用する該新しいオブジェクト・タイプを定義するステップと、をさらに含み、
前記ソーシャル・ネットワーキング・システムの前記ユーザは前記新しいオブジェクト・タイプを有する前記グラフ・オブジェクトに関連して前記新しいアクション・タイプを有する前記グラフ・アクションを実行する、請求項１に記載の方法。
【請求項３】
指示を受け取る前記ステップは、
アプリケーション・プログラミング・インタフェース（ＡＰＩ）コールを前記ソーシャル・ネットワーキング・システムの外部のシステムから受け取ることであって、該ＡＰＩコールは前記グラフ・オブジェクトと前記ソーシャル・ネットワーキング・システムの前記ユーザとに関連する前記グラフ・アクションを含む、受け取ることと、
前記ソーシャル・ネットワーキング・システムにおける前記ソーシャル・グラフに記録するため前記ＡＰＩコールから前記グラフ・オブジェクトと関連する前記新しいアクション・タイプを有する前記グラフ・アクションを抽出することと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記新しいオブジェクト・タイプの前記定義は、他のオブジェクト・タイプを含むプロパティを含む、請求項２に記載の方法。
【請求項５】
前記新しいオブジェクト・タイプに関連付けられている前記グラフ・オブジェクトに対して前記新しいアクション・タイプの前記グラフ・アクションを実行する前記ユーザは、前記他のオブジェクト・タイプのグラフ・オブジェクトに対して前記グラフ・アクションを実行する、請求項４に記載の方法。
【請求項６】
前記グラフ・オブジェクトは、前記ソーシャル・ネットワーキング・システム内の別のユーザを表す、請求項１に記載の方法。
【請求項７】
前記新しいアクション・タイプは、前記ユーザが前記別のユーザと共に前記グラフ・アクションを実行することを含む、請求項６に記載の方法。
【請求項８】
前記グラフ・オブジェクトは、位置を表す、請求項１に記載の方法。
【請求項９】
前記新しいアクション・タイプは、前記ユーザが前記位置に将来存在することを確認することを含む、請求項８に記載の方法。
【請求項１０】
前記外部のシステムから前記情報にアクセスすることは、
前記ソーシャル・ネットワーキング・システムの外部のシステムのウェブ・ページに対するマークアップ言語文書を取得することと、
前記マークアップ言語文書内の１つまたは複数のタグを識別することであって、該タグは前記アクセスされた情報を含む、識別することと、を含む、請求項１に記載の方法。
【請求項１１】
新しいアクション・タイプの定義を受け取る前記ステップは、
前記新しいアクション・タイプによって実行され得るオブジェクト・タイプを受け取ることと、
前記新しいアクション・タイプの前記定義に、前記オブジェクト・タイプとの関連付けを記憶することと、をさらに含む、請求項１に記載の方法。
【請求項１２】
新しいオブジェクト・タイプの定義を受け取る前記ステップは、
前記新しいオブジェクト・タイプのアグリゲータ・プロパティを受け取ることであって、該アグリゲータ・プロパティは、前記サードパーティ・エンティティによって、該アグリゲータ・プロパティにより該新しいオブジェクト・タイプのグラフ・オブジェクトをグループ化するように定義される、アグリゲータ・プロパティを受け取ることと、
前記新しいオブジェクト・タイプの前記受け取ったアグリゲータ・プロパティに応答して、該受け取ったアグリゲータ・プロパティにより、該新しいオブジェクト・タイプを有するグラフ・オブジェクトをグループ化することと、をさらに含む、請求項２に記載の方法。
【請求項１３】
前記ソーシャル・ネットワーキング・システムの外部のシステム上の前記埋め込まれているウィジェットから、前記ユーザに関するパーソナライズされた情報の要求を受け取るステップであって、前記パーソナライズされた情報は、前記ソーシャル・ネットワーキング・システムに記憶された前記ソーシャル・グラフに記録されているグラフ・アクションおよびグラフ・オブジェクトに関係する、要求を受け取るステップと、
前記要求に応答して、前記ユーザに関する前記パーソナライズされた情報を前記ソーシャル・ネットワーキング・システムの外部のシステム上の前記埋め込まれているウィジェット内に提供するステップと、をさらに含む、請求項１に記載の方法。
【請求項１４】
前記パーソナライズされた情報は、前記新しいアクション・タイプを有するグラフ・アクションに対するカスタマイズされたクエリに応答して提供される、請求項１３に記載の方法。
【請求項１５】
前記新しいアクション・タイプを有する前記グラフ・アクションに対して、前記ソーシャル・グラフに記録された前記新しいアクション・タイプを有するグラフ・アクションをフィルタリングするクエリを指定することを可能にするステップと、
前記クエリの結果を可視化するためのテンプレートを提供するステップであって、前記テンプレートはソーシャル・ネットワーキング・システム上でタイムライン・ユニットを公開する、テンプレートを提供するステップと、
前記クエリの前記結果を可視化するために提供された前記テンプレートを使用して前記ソーシャル・ネットワーキング・システムのユーザに、該クエリの該結果を記述する前記タイムライン・ユニットを伝達するステップと、をさらに含む、請求項１に記載の方法。
【請求項１６】
ソーシャル・グラフを記憶するステップであって、該ソーシャル・グラフは複数のグラフ・オブジェクトと複数のグラフ・アクションとを含んでおり、それぞれのグラフ・アクションは、複数の事前定義されたアクション・タイプのうちの１つのアクション・タイプを有しており２つ以上のグラフ・オブジェクト間の関係を表している、記憶するステップと、
ソーシャル・ネットワーキング・システムとは別のサードパーティ・エンティティから、新しいアクション・タイプの定義を受け取る、ステップと、
受け取った前記定義に応答して、グラフ・オブジェクトとのユーザ相互作用を取り込むために前記ソーシャル・ネットワーキング・システムが使用する前記新しいアクション・タイプを前記複数の事前定義されたアクション・タイプに追加するステップと、
ユーザ・デバイス上にレンダリングするために、前記ソーシャル・ネットワーキング・システムとは別のドメイン上でコンテンツをホストする前記ソーシャル・ネットワーキン
グ・システムの外部のシステムから前記コンテンツを要求するステップと、
要求された前記コンテンツ、および前記ユーザ・デバイスを前記ソーシャル・ネットワーキング・システムで認証するための第１の命令を備える実行可能なウィジェットを受け取るステップと、
前記ユーザ・デバイス上に、要求された前記コンテンツをレンダリングするステップであって、該ユーザ・デバイスは、ユーザが前記ソーシャル・ネットワーキング・システムの外部のシステム上の要求された前記コンテンツと相互作用することを可能にする、レンダリングするステップと、
ユーザ相互作用を検出したことに応答して要求された前記コンテンツ内に該ユーザ相互作用を記録するための第２の命令を備える前記ウィジェットを該ユーザ・デバイス上で実行するステップと、
前記ユーザのユーザ識別子を含む該ユーザの認証を前記ソーシャル・ネットワーキング・システムから受け取るステップと、
前記ユーザ・デバイス上の要求された前記コンテンツとの前記ユーザの相互作用を検出するステップであって、該ユーザ相互作用は前記ソーシャル・ネットワーキング・システムの外部のシステム上で実行されるグラフ・アクションを含み、該グラフ・アクションはアクション・タイプを有し、グラフ・オブジェクトはオブジェクト・タイプを有する、前記検出するステップと、
前記ソーシャル・ネットワーキング・システムの外部のシステムから情報にアクセスして前記ソーシャル・ネットワーキング・システムにおいて前記ユーザに関連付けられている前記グラフ・オブジェクトおよび前記グラフ・アクションをリアルタイムに記録するステップであって、前記ソーシャル・ネットワーキング・システムの外部のシステムは前記情報を提供し、該情報は前記ウィジェットによって生成されるアクション・ログ内の対応するオブジェクト・タイプおよび対応するアクション・タイプに応じてパラメータ化された前記グラフ・オブジェクトおよび前記グラフ・アクションを含む、記録するステップと、
前記オブジェクト・タイプに対応する前記グラフ・オブジェクト、前記アクション・タイプに対応する前記グラフ・アクション、前記ソーシャル・ネットワーキング・システムの外部のシステム上の前記ユーザ相互作用を実行する前記ユーザの前記ユーザ識別子、および該グラフ・アクションおよび該グラフ・オブジェクトに関係するコンテキスト情報を含むエントリとして、該ユーザ相互作用を記録するステップであって、前記ソーシャル・グラフに記録された前記グラフ・アクションは、新しいアクション・タイプを有する、ステップと、からなる方法。
【請求項１７】
要求された前記コンテンツを受け取るステップは、
要求された前記コンテンツに対するマークアップ言語文書を受け取ることであって、前記マークアップ言語文書は、前記ソーシャル・ネットワーキング・システムからのパーソナライズされた情報を含む要求された前記コンテンツについてフレームをウェブ・ページ内に作成するための第３の命令を含む、受け取ることと、
前記マークアップ言語文書内の前記第３の命令の実行に基づき前記ソーシャル・ネットワーキング・システムから、パーソナライズされた情報を受け取ることと、をさらに含む請求項１６に記載の方法。
【請求項１８】
要求された前記コンテンツは、前記オブジェクト・タイプに対して実行される前記アクション・タイプを表す前記ユーザ相互作用に対応する選択可能なリンクを含む、請求項１６に記載の方法。
【請求項１９】
要求された前記コンテンツは、異なるアクション・タイプおよびオブジェクト・タイプを表す複数のユーザ相互作用をユーザが実行することを可能にする、請求項１６に記載の方法。
【請求項２０】
前記エントリを前記ソーシャル・ネットワーキング・システムに伝達することをさらに含む、請求項１６に記載の方法。
【請求項２１】
前記フレームは、前記ソーシャル・ネットワーキング・システムの前記ドメイン内のウェブ・ページを含むインラインフレーム（ｉｆｒａｍｅ）を含む、請求項１７に記載の方法。
【請求項２２】
前記ｉｆｒａｍｅは、前記ソーシャル・ネットワーキング・システムの前記ドメイン内から直接の、前記ユーザに関係する前記パーソナライズされた情報を含む、請求項２１に記載の方法。
【請求項２３】
前記ソーシャル・ネットワーキング・システムからパーソナライズされた情報を受け取ることは、
前記ソーシャル・ネットワーキング・システムの外部のシステムと相互作用しており、かつ前記ユーザが前記ソーシャル・ネットワーキング・システム内のコネクションを確立したユーザである１または複数の他のユーザに関する情報を前記ソーシャル・ネットワーキング・システムから受け取ることと、
前記ソーシャル・ネットワーキング・システムの外部のシステムと前記他のユーザの相互作用に関する前記情報を前記ウェブ・ページ内に表示することと、をさらに含む、請求項１７に記載の方法。
【請求項２４】
前記ユーザ相互作用をエントリとして記録するステップは、
前記エントリを前記ユーザ・デバイス上に記憶されているアクション・ログ内に生成することをさらに含む、請求項１６に記載の方法。
【請求項２５】
構造化されたクエリに応答してソーシャル・ネットワーキング・システムの外部のアクションを提供するための方法であって、
前記ソーシャル・ネットワーキング・システムのサーバにおいて、アプリケーション・プログラミング・インタフェース（ＡＰＩ）コールに基づき、外部アクションに対するクエリを受け取るステップであって、該クエリは、少なくとも１つのオブジェクト・タイプ、少なくとも１つのアクション・タイプ、および少なくとも１つのユーザ識別子を指定するパラメータを含む、受け取るステップと、
前記クエリへの結果を決定するステップであって、該結果は、前記ソーシャル・ネットワーキング・システムのユーザによってオブジェクトに対して実行されるアクションを含む、決定するステップと、
マークアップ言語文書内の命令によって生成されたフレーム内に表示するため前記結果を送るステップであって、該命令は前記クエリを含む、送るステップと、からなり、
前記クエリは、並べ替えパラメータを含み、前記方法は、
前記並べ替えパラメータによって前記クエリへの前記結果の順位付けを決定するステップと、
前記順位付けによって前記フレーム内に表示するために前記結果を提供するステップと、をさらに含む方法。
【請求項２６】
前記フレームは、前記ソーシャル・ネットワーキング・システムのドメイン内のウェブ・ページを含むインラインフレーム（ｉｆｒａｍｅ）を含む、請求項２５に記載の方法。
【請求項２７】
前記ｉｆｒａｍｅは、他のクエリを選択するためのユーザ・インタフェースを含み、前記方法は、
前記ユーザ・インタフェース内のリンクの選択を受け取るステップであって、該リンク
は異なるパラメータを持つ第２のクエリに関連付けられている、受け取るステップと、
前記第２のクエリへの結果を決定するステップと、
前記結果を前記フレーム内の表示のために前記第２のクエリに送るステップと、をさらに含む、請求項２６に記載の方法。
【請求項２８】
前記フレームを、前記ソーシャル・ネットワーキング・システムのユーザに対応するユーザ・デバイス上に表示するために提供するステップであって、前記フレームは、その外部アクションが前記ソーシャル・ネットワーキング・システムによって取り込まれており、かつ前記ソーシャル・ネットワーキング・システム内のコネクションを前記ユーザが確立した１または複数の他のユーザによってグループ化された前記結果を含む、提供するステップをさらに含む、請求項２７に記載の方法。
【請求項２９】
前記フレームを、前記ソーシャル・ネットワーキング・システムの外部のシステム上に表示するために提供するステップであって、前記フレームは、その外部アクションが前記ソーシャル・ネットワーキング・システムによって取り込まれた前記ソーシャル・ネットワーキング・システムの１または複数のユーザによってグループ化された前記結果を含む、提供するステップをさらに含む、請求項２５に記載の方法。
【請求項３０】
前記クエリは、グループ化パラメータおよびグループ化ファンクションを含み、前記方法は、
前記グループ化パラメータおよび前記グループ化ファンクションによって前記クエリへの前記結果の集計値を決定するステップと、
前記フレーム内に表示するために前記結果の前記集計値を提供するステップと、をさらに含む、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ソーシャル・ネットワーキングに関し、詳細には、ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクションを定義することに関する。
【背景技術】
【０００２】
ソーシャル・ネットワーキング・システムが近年流行しているのは、ユーザと他のユーザとのコネクションおよびコミュニケーションを可能にする有用な環境を提供しているからである。さまざまな異なるタイプのソーシャル・ネットワーキング・システムが存在しているが、これらのシステムは、一般に、ユーザがソーシャル・ネットワークを定義し、ソーシャル・ネットワーク内において相互作用することを可能にするメカニズムを提供する。このような状況において、ユーザは、個人であってもよいし、企業や他の人間以外のエンティティなど、他の任意のエンティティであってもよい。したがって、ソーシャル・ネットワーキング・システムは、友達間の社会的コミュニケーションを可能にする一方で、企業が潜在的顧客と関わりを持つための有益な手段にもなり得る。商業的な目的がない場合であっても、ソーシャル・ネットワーキング・システムを利用することで、他のタイプのエンティティがそれらのメッセージを広めることができる。例えば、人間以外のエンティティは、他のユーザが「好む」、または他の任意の形で関わりを持ち得るページもしくはグループを設けることができ、これにより、人間以外のエンティティは関心のあるユーザのグループとのコミュニケーションの受信および送信を行うフォーラムを提供することができる。
【０００３】
有益なソーシャル情報は、エッジによって相互接続されたノードの「ソーシャル・グラフ」にコンセプトとして維持され得る。ソーシャル・グラフのそれぞれのノードは、別のノードに作用し、および／または別のノードからの作用を受け得る何かを表す。ノードの一般的な例として、ユーザ、人間以外のエンティティ、コンテンツ・アイテム、グループ、イベント、ロケーション、メッセージ、コンセプト、およびソーシャル・ネットワーキング・システム内のオブジェクトで表すことができる他のものが挙げられる。ソーシャル・グラフ内の２つのノード間のエッジは、これらのノードの一方によって他方のノードに対して実行されたアクションの結果である２つのノード間の特定のタイプのコネクションを表す。
【０００４】
例えば、一方のユーザがソーシャル・ネットワーキング・システム内の他方のユーザとのコネクションを確立した場合、それらのユーザはノードとして表され、それらの間のエッジは、確立されたコネクションを表す。引き続きこの例を参照すると、一方のユーザはソーシャル・ネットワーキング・システム内の他方のユーザにメッセージを送信することができる。メッセージング・アクションは、ソーシャル・ネットワーキング・システムによって識別される２つのノードの間の別のエッジを表す。メッセージそれ自体は、１つのノードとして処理され得る。別の例では、一方のユーザは、ソーシャル・ネットワーキング・システムによって維持されている画像で別のユーザをタグ付けすることができる。このタグ付けアクションは、ユーザ間のエッジ、さらにはユーザのそれぞれとノードでもある画像との間のエッジも形成し得る。さらに別の例では、ユーザがイベントへの参加を確認する場合、ユーザとイベントはノードであり、イベントの参加はエッジである。したがって、ソーシャル・グラフを使用することで、ソーシャル・ネットワーキング・システムは、異なるタイプのオブジェクト、ならびにそれらのオブジェクト間の相互作用およびコネクションを維持することができ、これにより社会的に（ソーシャル・ネットワーク上で
）関連性のある情報の非常に豊かなストアを生成する。
【０００５】
車の長旅で他の友達と発見したサウンドトラックを聴きながら、車を運転して国を横断したり、名所旧跡を訪れたりするなどの現実世界の社会的相互作用は、ソーシャル・ネットワーキング・システムによって適切に取り込まれていない。この問題は、ソーシャル・グラフの説明の文脈において十分に理解され得る。まず所定のものが１つのノードによって表されない場合、他のノードは、ソーシャル・ネットワーキング・システムがそれらのノード間のエッジを発見することができるようにその１つのノードと相互作用することができない。例えば、人は、友達と公園をジョギングしながらインターネット・ラジオ放送局のダンス・ミュージックを聴くことができる。楽曲のタイトル、アーティスト、ジャンル、ロケーション、移動マイル数、持続時間を含めた、これらの情報を取り込むために、複数の外部システムおよびウェブサイトを使用することができる。外部システム上でユーザが聴く音楽のアーティストおよびジャンルを発見することが望ましい場合には、その情報は、外部システムによってソーシャル・ネットワーキング・システムに提供されなければならない。現状では、外部システム上のユーザは、手動で、この情報をソーシャル・ネットワーキング・システムと共有することになる。これは、外部システムを使用して再生する音楽を共有するに際してボトルネックとなる。さらに、外部システムがこの機能を使用可能にしていない場合、ユーザは、音楽をソーシャル・ネットワーキング・システム上で他のユーザと共有することができない。音楽を聴くなどの、外部の現実世界の相互作用から集められ得る無限量の情報をソーシャル・ネットワーキング・システムで利用できるようにすると、ソーシャル・ネットワーキング・システムのユーザに、あまりにも多いコンテンツ・アイテムが殺到するおそれがある。この情報をソーシャル・ネットワーキング・システムのユーザに提示する効率的なメカニズムは、生み出されていない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、アクションおよびオブジェクトを含む、ソーシャル・グラフのカスタマイズされた構造を定義して、ソーシャル・ネットワーキング・システムがこれらの現実世界の社会的相互作用に関する情報を発見し、共有し、ソーシャル・ネットワーキング・ユーザ経験に統合することを可能にするメカニズムが求められている。
【課題を解決するための手段】
【０００７】
ソーシャル・ネットワーキング・システムがオブジェクトおよびそれらの間の相互作用に関する社会的に関連する情報を発見できるようにするために、本発明の実施形態では、ソーシャル・ネットワーキング・システムの外部にあるオブジェクトに対するユーザ・アクションをソーシャル・ネットワーキング・システム上のユーザ経験に統合するための柔軟なメカニズムを提供する。例えば、ユーザが外部システム上でストリーミング音楽を再生することを可能にする音楽サービスは、ソーシャル・ネットワーキング・システム上のユーザ経験に統合され得る。ソーシャル・ネットワーキング・システムの管理者に加えて、サードパーティ・デベロッパーが、社会的に関連する情報をソーシャル・ネットワーキング・システムの他のユーザにも提供しながら、ソーシャル・ネットワーキング・システムを使用して再生され制御される外部音源の統合を可能にするオブジェクトおよびアクションを定義することができる。特に、本発明の実施形態では、ソーシャル・ネットワーキング・システムのドメインの外部のインターネットまたは他のネットワーク上のＵＲＬ、ＵＲＩ、または他のアドレスによってアクセス可能なウェブサイト、アプリケーション、および企業システムなどの外部システムのサードパーティ・デベロッパーによってグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプが定義されることを可能にすることができる。ユーザ相互作用から記録され、ソーシャル・ネットワーキング・システムに報告される、グラフ・アクションおよびグラフ・オブジェクトは、定義済みのグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプに基づき構造化され、これに
より、集約および構造化クエリ機能が使用可能になる。グラフ・アクションとグラフ・オブジェクトのこれらの関連付けで、ソーシャル・グラフ上で発見可能な情報のデータ可視化がなされる。グラフ・アクションおよびグラフ・オブジェクトは、グラフ・アクション・タイプおよびグラフ・オブジェクト・タイプの定義に基づきグラフ・アクションがグラフ・オブジェクトに対してどのように実行されたかを示すテキスト記述にも翻訳され得る。外部システム、またはソーシャル・ネットワーキング・システムの外部のエンティティに対して、その評判に関するスコアを付けることができる。これらの評判スコアは、視聴ユーザの選好および親近感に加えて、グラフ・アクションおよびグラフ・オブジェクトから生成されるコンテンツ・アイテムの順位付けに影響を及ぼし得る。このようにして、ソーシャル・ネットワーキング・システムのドメインの内部および外部の両方における、ユーザのアクションに関する興味深い情報は、ソーシャル・ネットワーキング・システム上の他のユーザと共有され、比較され得る。
【０００８】
グラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプは、ソーシャル・ネットワーキング・システムの外部のエンティティによって定義されるものとしてよい。一実施形態では、ユーザ・インタフェースは、外部システムのサードパーティ・デベロッパーを含む、これらのエンティティが、外部システム上のユーザ相互作用がソーシャル・ネットワーキング・システム上のソーシャル・グラフ内のグラフ・アクションおよびグラフ・オブジェクトとして取り込まれ得るようにグラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプを作成することを可能にし得る。ソーシャル・ネットワーキング・システムに加えて、複数の外部システムがソーシャル・ネットワーキング・システムのユーザに表示するコンテンツ・アイテムを生成する際に定義済みのグラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプを利用することができる。グラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプの定義に含まれる動詞時制および名詞形に基づき、グラフ・オブジェクトに対して実行されるグラフ・アクションのテキスト記述は、コンテンツ・アイテムについて自動的に生成され、ソーシャル・ネットワーキング・システムの他のユーザに表示され得る。ソーシャル・ネットワーキング・システムのユーザによって生成されるグラフ・アクションおよびグラフ・オブジェクトを含むコンテンツ・アイテムは、視聴ユーザの選好、グラフ・アクション・タイプおよびグラフ・オブジェクト・タイプを定義したエンティティの評判スコア、さらにはそれらのエンティティに対するユーザの親近感スコアを組み込むように順位付けされ得る。コンテンツ・アイテムの順位付けは、ソーシャル・ネットワーキング・システムのユーザが、外部エンティティによって定義されたグラフ・アクションおよびグラフ・オブジェクトを含む関連する、評判のよいコンテンツ・アイテムを表示することを確実にする。一実施形態では、ソーシャル・ネットワーキング・システムは、ストリーミング音楽およびビデオなどの、マルチメディア・アプリケーションに関するグラフ・アクションおよびグラフ・オブジェクトを、ユーザによって実行されるグラフ・アクションおよびグラフ・オブジェクトを集約してソーシャル・ネットワーキング・システム内の他のユーザに表示することによってユーザ経験に統合することができる。
【０００９】
楽曲のプレイリストを聴く、ギフトを購入する、書籍を読む、ニュース記事をリーディングリストに追加する、およびマラソンを走るなど、例えば、ソーシャル・ネットワーキング・システムのユーザによって、外部システム上でウェブ・ページに対して実行される相互作用は、ウェブ・ページに埋め込まれているウィジェットによって記録され得る。アクション・ログが、グラフ・アクション・タイプおよびグラフ・オブジェクト・タイプの定義に基づき相互作用を記録するウィジェットによって生成され得る。これらのエッジ、またはオブジェクトとユーザの間の相互作用は、ソーシャル・グラフに公開され、ソーシャル・ネットワーキング・システム内のニュースフィードまたはストリームにおけるコンテンツ・アイテムとして表示され得る。アクション・ログを作成するウィジェットは、アクション・ログをバッチ・プロセスで、またはリアルタイムで、ソーシャル・ネットワー
キング・システムに伝送することができる。別の実施形態では、ソーシャル・ネットワーキング・システムは、外部システムを「スクレイピング」して、アクション・ログに記録されたアクションを取り出すことができる。コンテンツ・アイテムは、ユーザがウェブ・ページ内のオブジェクトに構造化アクションを実行したことを示し、受信されたグラフ・アクションおよび関連するグラフ・オブジェクトから、対応するグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプの定義に基づき生成される。
【００１０】
楽曲を聴く、書籍を購入する、ニュース記事を読む、製品を欲しい物リストに追加する、およびランニングコースをジョギングするなど、構造化アクションおよびオブジェクトをソーシャル・ネットワーキング・システムに公開した結果、これらの構造化アクションに関するストーリまたは記述が、対応するグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプで定義されている動詞時制および名詞形に基づきソーシャル・ネットワーキング・システム上に自動的に生成され得る。外部システム上のユーザ相互作用がソーシャル・ネットワーキング・システムによって受け取られた後、ソーシャル・ネットワーキング・システムは、ユーザのプロファイルを更新して、作用を受けるオブジェクトとの関連付けを追加し、アクションをユーザのコネクションに投稿し、および／またはユーザがソーシャル・ネットワーキング・システムにおいてオブジェクトと相互作用するときに適している応答の組み合わせを実行することができる。
【００１１】
一実施形態では、オブジェクトは、ウェブサイトなど、外部システム上で、アクションとして取り込まれ、ソーシャル・グラフ内のエッジとして具現化される、ユーザ相互作用をソーシャル・ネットワーキング・システムに統合するためのソーシャル・グラフ内のノードとして定義される。オブジェクトは、マークアップ言語文書によって符号化されているそのようなウェブサイト上のウェブ・ページによって記述されることができ、ウェブ・ブラウザ・アプリケーションを使用してユーザ・デバイス上にウェブ・ページを描画して表示することができる。マークアップ言語文書は、ウェブ・ページ上のオブジェクトを識別するための情報を含む、１つまたは複数のタグを備える。これらのタグは、テキスト・タイトル、ラベル、オブジェクトに固有の識別子、マイクロ・フォーマット（ｍｉｃｒｏ
ｆｏｒｍａｔ）、および／またはオブジェクトに関する記述、さらには一実施形態において、オブジェクトのタイプなどその他の情報を提供することができる。別の実施形態では、オブジェクトは、データベースまたはフラット・ファイルなどの、その他のフォーマットで記述することもでき、その場合、オブジェクトを記述するタグがデータベースに記憶される。一実施形態では、サードパーティ・デベロッパーによってウェブサイト上のさまざまなウェブ・ページに埋め込まれる、ウィジェットは、ユーザ・デバイス上のブラウザ・アプリケーションによって実行され得る。別の実施形態では、ウィジェットは、外部システムおよびソーシャル・ネットワーキング・システムでアプリケーション・プログラミング・インタフェース（ＡＰＩ）を呼び出すユーザ・デバイス上で実行されるアプリケーションに埋め込まれ得る。ウィジェットは、ソーシャル・グラフ内への統合のためウェブ・ページとのユーザ相互作用を記録する命令またはプログラミング論理を含む。このようにして、ソーシャル・ネットワーキング・システムの外部のウェブ・ページとのユーザ相互作用は、ソーシャル・ネットワーキング・システムとの統合のためソーシャル・グラフ上にオブジェクトおよびアクションを生成することができる。これは、サードパーティ・デベロッパーに対してソーシャル・グラフを効果的に開放し、複雑で豊かなソーシャル・グラフのさらなる開発および定義を促す。
【００１２】
別の実施形態では、ユーザは、ソーシャル・ネットワーキング・システムの外にあり、隔たっているものとしてよい、ウェブサイト・サーバにウェブ・ページを要求する。サーバはユーザ・デバイスに、ウェブ・ページ内にシステム・ネットワーキング・システムから得られた情報を組み込み、またウェブ・ページ内に、マークアップ言語文書内にタグ付けされているリンクおよびボタンをクリックするなどの、指定されたオブジェクトに対す
る構造化アクションを取り込むためにユーザ・デバイス上で実行されるブラウザ・アプリケーションに対する命令を記憶するマークアップ言語文書を送信する。一実施形態では、命令は、ソーシャル・ネットワーキング・システムから直接引き込むコンテンツを記憶するウェブ・ページ内にフレームを作成する（例えば、インラインフレーム（ｉｆｒａｍｅ））。ソーシャル・ネットワーキング・システムによって提供される、フレームのコンテンツは、ソーシャル・グラフに公開されるカスタマイズされたアクションおよびオブジェクトからクエリされた情報を含む。このような情報は、例えば、音楽を聴く際にユーザが最も頻繁に聴く楽曲、トップ・アーティスト、トップジャンル、および同様のもの、ソーシャル・ネットワーキング・システム上でユーザと接続している他のユーザにより最も頻繁に読まれる記事、またはソーシャル・ネットワーキング・システムのすべてのユーザによってカリフォルニア州パロ・アルトでジョギングするために共有される最も一般的なルートも含むことができる。フレームは、電子リーダー用の雑誌を購入する、ゲーム・アプリケーションをインストールする、および電子商取引ウェブサイトに熊の玩具を組み入れるなどの、アクションも実行しているソーシャル・ネットワーキング・システムにおけるユーザのコネクションの１つまたは複数の指示などのユーザおよびノードに関係するソーシャル情報も記憶することができる。一実施形態では、フレームにコンテンツを設定する（ｐｏｐｕｌａｔｅ）のために、ユーザ指定クエリおよびテンプレート・クエリが使用され得る。
【００１３】
したがって、本発明の実施形態は、ソーシャル・ネットワーキング・システムが、コンセプトおよび外部システム上でユーザによって実行され得るアクションを、複数の外部システムからの音楽のプレイリストを作成し共有する、ソーシャル・ネットワーキング・システム上のそのコネクションの視聴習慣に基づき音楽をユーザに推奨する、ソーシャル・ネットワーキング・システム上のコネクションでラジオ放送局を協力しあって聴く、さらにはそれらのユーザと接続している他のユーザと、ニュース・ウェブサイト上で読まれている記事、ビデオ・ストリーミング・ウェブサイト上で視聴されているビデオ、および外部システム・アプリケーションを通じて実行され記録されているエクササイズを自動的に共有するなどの、ソーシャル・ネットワーキング・システム上のユーザ経験に統合することを可能にする。異なる外部システムは、音楽ストリーミング・ウェブサイト、ビデオ・ストリーミング・ウェブサイト、ニュースまとめウェブサイト、および同様のものをホストすることができるため、ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムの管理者によって定義された構造化オブジェクトおよびアクションを使用してソーシャル・ネットワーキング・システム上で外部システムとの相互作用をユーザ経験に統合し方法を合理化することを可能にすることができる。例えば、ユーザは、アールディーオー（ＲＤＩＯ）などの、特定の音楽サービスを使用して楽曲のプレイリストを聴くことができ、このアクションは、ソーシャル・ネットワーキング・システム上でユーザのコネクションと共有され得る。別のユーザが、スポティファイ（Ｓｐｏｔｉｆｙ）などの、異なる音楽サービスを使用して楽曲の同じプレイリストを聴くことができるが、それはソーシャル・ネットワーキング・システムが名前、アーティスト名、および持続時間で楽曲オブジェクトを自動的にマッピングしているからである。言い換えると、ソーシャル・ネットワーキング・システムは、オブジェクトのタグを使用して、相互作用をソーシャル・ネットワーキング・システムの経験に統合することを可能にし得るということである。同様に、ネットフリックス（Ｎｅｔｆｌｉｘ）などの、一方のサービス上でユーザによって視聴されるビデオは、Ｈｕｌｕなどの、別のサービス上でビデオを閲覧することができるソーシャル・ネットワーキング・システム上の別のユーザと共有され得る。それに加えて、ニューヨークタイムズ（Ｎｅｗ  Ｙｏｒｋ  Ｔｉｍｅｓ）などの、一方の新聞ウェブサイト上のユーザによって読まれるニュース記事は、ＡＰ通信（Ａｓｓｏｃｉａｔｅｄ  Ｐｒｅｓｓ）などの、異なる新聞ウェブサイト上の別のユーザによって読まれ得る。外部ユーザ相互作用とソーシャル・ネットワーキング・システムとの統合により、ソーシャル・ネットワーキング・システムが音楽選択、視聴したビデオジャンル、読ん
だニュース記事、購入した製品、プレイしたゲームなどを含む、ユーザの選好についてさらに学習することができる。この情報の可視化は、さまざまな目的（アクティビティフィードの投稿、ターゲティング広告など）で社会的に関連する情報を提供するために形成され得る。
【図面の簡単な説明】
【００１４】
【図１Ａ】本発明の一実施形態による、ソーシャル・ネットワーキング・システム上で公開するように外部ユーザ・アクションを構造化するためのシステムのネットワーク図。
【図１Ｂ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションから生成されるグラフ・ストーリを順位付けするための方法のハイレベルブロック図。
【図２】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの図。
【図３Ａ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表す定義済みグラフ構造のハイレベルブロック図。
【図３Ｂ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｃ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｄ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｅ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｆ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｇ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｈ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｉ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図３Ｊ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。
【図４】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するための方法の相互作用図。
【図５Ａ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。
【図５Ｂ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。
【図５Ｃ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。
【図５Ｄ】本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。
【図６】本発明の一実施形態による、グラフ・コンテンツ・アイテム順位付けモジュールのハイレベルブロック図。
【図７】本発明の一実施形態により、グラフ・オブジェクトおよびグラフ・アクションをソーシャル・ネットワーキング・システムに統合するソーシャル・ネットワーキング・システム上のユーザ・インタフェースの一例を示す図。
【発明を実施するための形態】
【００１５】
これらの図は、例示することのみを目的として本発明のさまざまな実施形態を示している。当業者であれば、本明細書で説明されている発明の原理から逸脱することなく本明細書に示されている構造および方法の代替的実施形態を使用できることを以下の説明から容易に理解するであろう。
【００１６】
ソーシャル・ネットワーキング・システムのアーキテクチャの概要
図１Ａは、ソーシャル・ネットワーキング・システム１３０上で公開するように外部ユーザ・アクションを構造化するためのシステム１００の一実施形態のネットワーク図である。システム１００は、１つまたは複数のユーザ・デバイス１１０、１つまたは複数の外部システム１２０、ソーシャル・ネットワーキング・システム１３０、およびネットワーク１４０を備える。例示することを目的として、図１に示されているシステム１００の実施形態は、単一の外部システム１２０および単一のユーザ・デバイス１１０を備える。しかし、他の実施形態では、システム１００は、さらに多くのユーザ・デバイス１１０および／またはさらに多くの外部システム１２０を備えることができる。いくつかの実施形態において、ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーク・プロバイダによって運営されるが、外部システム１２０は、異なるエンティティによって運営され得るという点でソーシャル・ネットワーキング・システム１３０とは別である。しかし、さまざまな実施形態において、ソーシャル・ネットワーキング・システム１３０と外部システム１２０は連携して動作し、ソーシャル・ネットワーキング・サービスをソーシャル・ネットワーキング・システム１３０のユーザに提供する。この点で、ソーシャル・ネットワーキング・システム１３０は、外部システム１２０などの他のシステムがソーシャル．ネットワーキング・サービスおよび機能をインターネット経由でユーザに提供するために使用することができるプラットフォーム、またはバックボーンを構成する。
【００１７】
ユーザ・デバイス１１０は、ユーザから入力を受信し、ネットワーク１４０を通じてデータを送受信することができる１つまたは複数のコンピューティング・デバイスを備える。一実施形態では、ユーザ・デバイス１１０は、例えば、マイクロソフト・ウィンドウズ（登録商標）（Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標））互換オペレーティング・システム（ＯＳ）、アップル（Ａｐｐｌｅ）ＯＳ  Ｘ、および／またはＬｉｎｕｘ（登録商標）ディストリビューションを実行する従来のコンピュータ・システムである。別の実施形態では、ユーザ・デバイス１１０は、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォンなどのコンピュータ機能を有するデバイスとすることができる。ユーザ・デバイス１１０は、ネットワーク１４０を通じて通信するように構成される。ユーザ・デバイス１１０は、アプリケーション、例えば、ユーザ・デバイス１１０のユーザとソーシャル・ネットワーキング・システム１３０との相互作用を可能にするブラウザ・アプリケーシ
ョンを実行することができる。別の実施形態では、ユーザ・デバイス１１０は、ｉＯＳ４およびアンドロイド（ＡＮＤＲＯＩＤ（登録商標））などの、ユーザ・デバイス１１０のネイティブ・オペレーティング・システム上で実行するアプリケーション・プログラミング・インタフェース（ＡＰＩ）を通じてソーシャル・ネットワーキング・システム１３０と相互作用する。ユーザ・デバイス１１０は、有線通信システムと無線通信システムの両方を使用して、ローカル・エリア・ネットワークおよび／またはワイド・エリア・ネットワークの組み合わせを含み得る、ネットワーク１４０を通じて外部システム１２０およびソーシャル・ネットワーキング・システム１３０と通信するように構成される。
【００１８】
一実施形態では、ネットワーク１４０は、標準通信技術および／プロトコルを使用する。したがって、ネットワーク１４０は、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））８０２．１１、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）、３Ｇ、４Ｇ、ＣＤＭＡ、デジタル加入者回線（ＤＳＬ）などの技術を使用するリンクを備えることができる。同様に、ネットワーク２０４上で使用されるネットワーキング・プロトコルとして、マルチプロトコル・ラベル・スイッチング（ＭＰＬＳ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ）、およびファイル転送プロトコル（ＦＴＰ）が挙げられる。ネットワーク１４０上で交換されるデータは、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）および拡張マークアップ言語（ＸＭＬ）を含む技術および／またはフォーマットを使用して表現され得る。それに加えて、リンクの全部または一部は、セキュア・ソケット・レイヤ（ＳＳＬ）、トランスポート・レイヤ・セキュリティ（ＴＬＳ）、およびインターネット・プロトコル・セキュリティ（ＩＰｓｅｃ）などの従来の暗号化技術を使用して暗号化され得る。
【００１９】
一実施形態では、ユーザ・デバイス１１０は、ブラウザ・アプリケーション１１２を使用して外部システム１２０から、またはソーシャル・ネットワーキング・システム１３０から受信されたマークアップ言語文書１１４を処理することによって外部システム１２０から、またはソーシャル・ネットワーキング・システム１３０からのコンテンツを表示する。マークアップ言語文書１１４は、コンテンツ、およびコンテンツのフォーマットまたは表現を記述する１つまたは複数の命令を識別する。マークアップ言語文書１１４に含まれる命令を実行することによって、ブラウザ・アプリケーション１１２は、マークアップ言語文書１１４によって記述されたフォーマットまたは表現を使用して示されたコンテンツを表示する。例えば、マークアップ言語文書１１４は、外部システム１２０および／またはソーシャル・ネットワーキング・システム１３０から取り出されたテキストおよび／または画像データを含む複数のフレームを有するウェブ・ページを生成し、表示するための命令を含む。さまざまな実施形態において、マークアップ言語文書１１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパーテキスト・マークアップ言語（ＸＨＴＭＬ）データ、または他のマークアップ言語データを含むデータ・ファイルからなる。それに加えて、マークアップ言語文書１１４は、外部システム１２０とユーザ・デバイス１１０との間の軽量データ交換を円滑にするため、ジャバスクリプト・オブジェクト・ノテーション（ＪａｖａＳｃｒｉｐｔ（登録商標）Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ））データ、パディング付きＪＳＯＮ（ＪＳＯＮＰ）、およびＪａｖａＳｃｒｉｐｔデータを含み得る。ユーザ・デバイス１１０上のブラウザ・アプリケーション１１２では、そのようなマークアップ言語文書を復号化するためにＪａｖａＳｃｒｉｐｔコンパイラを必要とする。
【００２０】
一実施形態では、ユーザ・デバイス１１０は、ユーザ・デバイス１１０のユーザがソーシャル・ネットワーキング・システム１３０にログインしたか否かを示すデータを含むクッキー１１６も備える。クッキー１１６は、ユーザ・デバイス１１０がソーシャル・ネッ
トワーキング・システム１３０とデータを交換するアクティブ・セッションにコンピューティング・デバイス１１０のユーザが関わっているか否かを示す。これにより、ソーシャル・ネットワーキング・システム１３０からユーザ・デバイス１１０に伝達されるデータを修正することが可能になる。ユーザ・デバイス１１０、ソーシャル・ネットワーキング・システム１３０、および／または外部システム１２０の間でデータを交換する際にクッキー１１６を使用することについて、図４を参照しつつ以下に説明する。
【００２１】
図１および他の図では、類似の参照番号を使用して類似の要素を識別する。「１２２ａ」などの参照番号の後の英字は、テキストがその特定の参照番号を有する要素を特に参照していることを示す。テキスト内に「１２２」など、英字が後に続かない数字がある場合、その参照番号を付けられた図中の要素のいずれか、またはすべてを指す（例えば、テキスト内の「１２２」は図中の参照番号「１２２ａ」および／または「１２２ｂ」を指す）。説明を簡素化し、わかりやすくするため、図１には２つのウェブ・ページ１２２ａおよび１２２ｂのみが示されている。
【００２２】
外部システム１２０は、ネットワーク１４０を使用してユーザ・デバイス１１０に伝達される、１つまたは複数のウェブ・ページ１２２を含む１つまたは複数のウェブ・サーバを備える。外部システム１２０は、ソーシャル・ネットワーキング・システム１３０とは別である。例えば、外部システム１２０は、第１のドメインに関連付けられるが、ソーシャル・ネットワーキング・ウェブサイトは、別のソーシャル・ネットワーキング・ドメインに関連付けられている。外部システム１２０内に含まれるウェブ・ページ１２２は、コンテンツを識別し、識別されたコンテンツのフォーマットまたは表示を指定する命令を含むマークアップ言語文書からなる。ウェブ・ページ１２２ａ内には、ウェブ・ページ上でユーザによって実行されているグラフ・アクションを識別する命令を与えるウィジェット１２４が含まれる。例えば、ユーザが外部システム１２０上の楽曲を再生するリンクをクリックすると、ウィジェット１２４は、グラフ定義モジュール１３２を使用してソーシャル・ネットワーキング・システム１３０上で定義されたオブジェクトおよびアクションの構造に応じて、グラフ・アクションおよびグラフ・オブジェクト、楽曲を再生するリンクのクリックを識別するためウェブ・ページ１２２ａをレンダリングする命令をブラウザ・アプリケーション１１２に送る。同様に、外部システム１２０上で実行される、ゲームをする、商品を欲しい物リストに追加する、ビデオを視聴するなどの、他のタイプのグラフ・アクションは、ユーザ・デバイス１１０によるクリックの後に、ウィジェット１２４がグラフ定義モジュール１３２を使用してソーシャル・ネットワーキング・システム１３０上で定義されているオブジェクトおよびアクションの構造に応じてグラフ・アクションを識別する命令をブラウザ・アプリケーション１１２に送る動作を引き起こすリンクに関連付けられ得る。ウィジェット１２４は、一実施形態において、ソーシャル・ネットワーキング・システムによって定期的に取り出されるアクション・ログにグラフ・オブジェクト上で実行されるグラフ・アクションを記録することによってグラフ・アクションを識別することができる。別の実施形態では、ウィジェット１２４は、グラフ・アクションをソーシャル・ネットワーキング・システムにリアルタイムで伝達することによってグラフ・アクションを識別することができる。外部システム１２０は、ウェブ・ページ１２２ｂによって記述されているオブジェクト１２６も含み得る。サードパーティ・デベロッパーは、タグを使用して、マークアップ言語文書内のウェブ・ページ１２２ｂにオブジェクトを記述することができる。例えば、オブジェクト１２６は、タイトル、アーティスト名、および持続時間を有する楽曲とすることができる。タグは、曲名、アーティスト・オブジェクト、および持続時間を含むようにオブジェクト１２６を記述するために使用され得る。同様に、オブジェクト１２６は、名前、説明、および製品カテゴリを有する製品とすることができる。ウェブ・ページ１２２ａは、リンク内のウェブ・ページ１２２ｂによって記述されたオブジェクト１２６を参照するウィジェット１２４を含み得る。例えば、ユーザが、オブジェクト１２６によって参照されている楽曲を再生するウェブ・ページ１２２ａ上
のリンクをクリックする。同様に、ユーザは、オブジェクト１２６によって参照されている製品を欲しい物オブジェクトに追加するウェブ・ページ１２２ａ上のリンクをクリックすることができる。
【００２３】
ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーク、またはソーシャル・グラフを記憶する、複数のユーザからなる、およびソーシャル・ネットワークのユーザにソーシャル・ネットワークの他のユーザとのコミュニケーションおよび相互作用を行う機能を提供する、１つまたは複数のコンピューティング・デバイスからなる。ソーシャル・ネットワーキング・システム１３０は、図２に関して以下でさらに説明される。使用時に、ユーザはソーシャル・ネットワーキング・システム１３０に参加し、次いで、コネクションを望んでいるソーシャル・ネットワーキング・システム１３０の多数の他のユーザにコネクションを追加する。本明細書で使用されているように、「友達」という用語は、ソーシャル・ネットワーキング・システム１３０を通じてユーザが形成した接続（コネクション）先、関連付け先、または関係先であるソーシャル・ネットワーキング・システム１３０の他のユーザを指す。
【００２４】
コネクションは、ユーザによって明示的に追加され得るか、またはユーザの共通特性（例えば、同じ教育機関の同窓生であるユーザ）に基づきソーシャル・ネットワーキング・システム１３０によって自動的に作成され得る。例えば、第１のユーザは、特に、他のユーザを友達として選択する。ソーシャル・ネットワーキング・システム１３０内のコネクションは、通常、双方向であるが、そうである必要はなく、したがって、「ユーザ」および「友達」という用語は、基準のフレームに依存する。ソーシャル・ネットワーキング・システム１３０のユーザ間のコネクションは、通常二者間のもの、つまり「相互的」であるが、コネクションは、一者だけ、つまり「一方向」であってもよい。例えば、ボブ（Ｂｏｂ）とジョー（Ｊｏｅ）がソーシャル・ネットワーキング・システム１３０の両方のユーザであり、互いに接続されている場合、ＢｏｂとＪｏｅは、それぞれ他方のコネクションである。他方で、Ｂｏｂが、Ｊｏｅによってソーシャル・ネットワーキング・システムに伝達されるデータを見るためにＪｏｅに接続することを望んでいるが、Ｊｏｅは、相互コネクションを形成することを望んでいない場合、一方向コネクションが確立され得る。ユーザ間のコネクションは、直接的コネクションであってよいが、ソーシャル・ネットワーキング・システムのいくつかの実施形態では、コネクションは、１つまたは複数のレベルのコネクションまたは程度または分離距離を通じて間接的なものとすることができる。
【００２５】
ユーザ間のコネクションを確立し、維持すること、およびユーザ間の相互作用を可能にすることに加えて、ソーシャル・ネットワーキング・システム１３０では、ソーシャル・ネットワーキング・システム１３０によってサポートされているさまざまなタイプのアイテムにアクションを実行する機能をユーザに付与する。これらのアイテムとして、ソーシャル・ネットワーキング・システムのユーザが属し得るグループまたはネットワーク（ここで「ネットワーク」は物理的な通信ネットワークを指すのではなく、むしろ人々、エンティティ、およびコンセプトの社会的ネットワークを指す）、ユーザが関心を持つと思われるイベントまたはカレンダー・エントリ、ソーシャル・ネットワーキング・システム１３０を通じてユーザが使用することができるコンピュータベースのアプリケーション、サービスを通じて商品をユーザが売買することを可能にする取引、およびユーザがソーシャル・ネットワーキング・システム上で、またはソーシャル・ネットワーキング・システムから離れて実行することができる広告との相互作用が挙げられる。これらは、ユーザがソーシャル・ネットワーキング・システム上で作用できるアイテムの一例にすぎず、他の多くの例が考えられる。ユーザは、ソーシャル・ネットワーキング・システム１３０または外部システム１２０において表現され得る、ソーシャル・ネットワーキング・システム１３０から分離されることができる、ネットワーク１４０を通じてソーシャル・ネットワーキング・システム１３０に結合され得る何かと相互作用することができる。
【００２６】
ソーシャル・ネットワーキング・システム１３０は、さまざまなエンティティをリンクすることもできる。例えば、ソーシャル・ネットワーキング・システム１３０では、ユーザが互いに、さらには外部システム１２０または他のエンティティと、ＡＰＩまたは他の通信チャネルを通じて相互作用することができる。したがって、ソーシャル・ネットワーキング・システム１３０は、複数のエッジによって相互接続されている複数のノードからなる「ソーシャル・グラフ」を生成し、維持する。ソーシャル・グラフのそれぞれのノードは、別のノードに作用し、および／または別のノードからの作用を受け得るエンティティを表し得る。ソーシャル・グラフは、さまざまなタイプのノードを含み得る。ノードのいくつかのタイプの例として、ユーザ、人間以外のエンティティ、コンテンツ・アイテム、ウェブ・ページ、グループ、イベント、メッセージ、コンセプト、およびソーシャル・ネットワーキング・システム１３０内のオブジェクトで表すことができる他のものが挙げられる。ソーシャル・グラフ内の２つのノード間のエッジは、これらのノードの一方によって他方のノードに対して実行されたアクションの結果生じ得る、２つのノード間の特定のタイプのコネクションを表す。例えば、第１のユーザが、第２のユーザを友達として識別したとき、第１のユーザを表すノードと第２のユーザを表す第２のノードとを接続するソーシャル・グラフ内のエッジが生成される。さまざまなノードが互いに相互作用するときに、ソーシャル・ネットワーキング・システム１３０は、さまざまなノード同士を接続するエッジを、それらの相互作用を反映するように修正する。
【００２７】
ソーシャル・ネットワーキング・システム１３０は、ユーザとソーシャル・ネットワーキング・システム１３０との相互作用を強化する、ユーザ生成コンテンツも含む。ユーザ生成コンテンツは、ユーザがソーシャル・ネットワーキング・システム１３０に追加、アップロード、送信、または「投稿」することができる何かを含むことができる。例えば、ユーザは、ユーザ・デバイス１００からソーシャル・ネットワーキング・システム１３０への投稿を伝達する。投稿は、ステータス更新または他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、または他の類似のデータなどのデータおよび／メディアを含み得る。コンテンツは、ニュースフィードまたはストリームなどの、「通信チャネル」を通じてサードパーティによってソーシャル・ネットワーキング・システム１３０にも追加され得る。コンテンツ「アイテム」は、ソーシャル・ネットワーキング・システム１３０内のオブジェクトとして表される単一のコンテンツ部分を表す。この方法で、ソーシャル・ネットワーキング・システム１３０のユーザは、さまざまな通信チャネルを通じてさまざまなタイプのメディアのテキストおよびコンテンツ・アイテムを投稿すること、ユーザ同士の相互作用を向上すること、およびソーシャル・ネットワーキング・システム１３０とユーザが相互作用する頻度を増やすことによって互いのコミュニケーションを奨励される。
【００２８】
ソーシャル・ネットワーキング・システム１３０のユーザが外部システム１２０を利用するときに、外部システム１２０に対するアクションが取り込まれ、ソーシャル・ネットワーキング・システム１３０に報告され得る。さらに、外部システム１２０に対して実行されるアクションは、ソーシャル・ネットワーキング・システム１３０がアクションからセマンティックな意味を導出できるようにウィジェット１２４によって識別され得る。例えば、外部システム１２０上の楽曲を再生するリンクをクリックすると、ユーザがその楽曲を聴いたことを示すだけでなく、その楽曲がダンス・ミュージック・ジャンルで再生された１００番目の楽曲であるためユーザがダンス・ミュージックを聴くことを好むことも示し得る。または、ユーザはその楽曲を歌うアーティストを聴くことを、ユーザがそのアーティストによる１０００曲を超える楽曲を再生したため、楽しんでいると思われる。「聴く」、「再生する」、「楽曲」、「アーティスト」、および「ジャンル」などのコンセプト間のセマンティックな意味は、ソーシャル・ネットワーキング・システム１３０が意味を導出するための構造を構成することによって実現される。ソーシャル・ネットワーキ
ング・システム１３０は、アクションおよびオブジェクトをソーシャル・グラフ内で定義することを可能にするグラフ定義モジュール１３２を備える。グラフ・アクション・モジュール１３４は、楽曲を聴く、靴を購入する、または映画を批評するなど、ユーザによって実行され得るグラフ・アクションを定義する。グラフ・オブジェクト・モジュール１３６は、楽曲、ラジオ放送局、製品、映画、および同様のものなどの、ユーザからの作用を受け得るグラフ・オブジェクトを定義する。
【００２９】
グラフ定義モジュール１３２は、サードパーティ・デベロッパーが動詞時制および名詞形、関係するグラフ・オブジェクト、およびデータ視覚エフェクトテンプレートを含む、グラフ・アクションおよびグラフ・オブジェクトのプロパティを定義することを可能にする。サードパーティ・デベロッパーは、「聴く」アクションなどの、グラフ・アクションを、過去、現在、単数形、および複数形の動詞時制を有するように定義することができる。同様に、「楽曲」オブジェクトなどの、グラフ・オブジェクトは、単数および複数名詞形、さらには「アーティスト」オブジェクトおよび「ジャンル」オブジェクトなどの、他のオブジェクトを含むオブジェクト・プロパティを有するように定義され得る。動詞時制および名詞形を定義することによって、ストーリをソーシャル・ネットワーキング・システムのユーザに伝達するためソーシャル・ネットワーキング・システムによりグラフ・オブジェクト上でグラフ・アクションを実行するユーザのテキスト記述が自動的に生成され得る。一実施形態では、グラフ・アクションおよびグラフ・オブジェクトを含むストーリは、動詞時制および名詞形の定義に基づき異なる言語に翻訳され得る。アクション・タイプは、一実施形態では、グラフ定義モジュール１３２に関連するソーシャル・ネットワーキング・システム１３０上でユーザ・インタフェース・ツールを使用してサードパーティ・デベロッパーによって定義され得る。アクション・タイプが、特定のオブジェクト・タイプに対して実行されるようにアクション・タイプを構成することを伴う、ユーザ・インタフェース・ツールを使用してサードパーティ・デベロッパーによって定義された後、ソーシャル・ネットワーキング・システム１３０は、そのアクション・タイプにアクセスする外部システム１２０にウェブ・ページを公開することができる。別の例として、「購入する」アクション・タイプは、「製品」オブジェクト・タイプ上で実行され、「欲しい物リスト」オブジェクト・タイプなどの、他のオブジェクト・タイプに関連付けられ得るサードパーティ・デベロッパーによって定義され得る。サードパーティ・デベロッパーは、外部システム１２０上にウェブ・ページ１２２ａを生成することができ、一方のウェブ・ページ１２２ｂは、「製品」オブジェクト・タイプのオブジェクト１２６、およびユーザが外部システム１２０上でユーザの欲しい物リストにある製品を購入することを可能にするウィジェット１２４を有する別のウェブ・ページ１２２ａを含み、ウィジェット１２４は、「製品」オブジェクト上で実行される「購入する」アクションを記録する。
【００３０】
オブジェクトおよびアクションに構造化クエリを使用してアーティストによる特定の１つまたは複数の楽曲の演奏の頻度を集計するなどの、分析がコンセプトに対して実行され得る。これらの集計は、ソーシャル・ネットワーキング・システム１３０上のストリームでニュースフィード・ストーリとして公開され得るか、ユーザを比較するために外部システム上のアプリケーションによって使用され得るか、または多数の方法で使用され得る。グラフ公開ＡＰＩ１３８は、ユーザによって外部システム上で実行されるアクションを受け取り、集計などの、オブジェクトおよびアクションの定義済みプロパティを使用して外部ユーザ・アクションをソーシャル・グラフに公開する。一実施形態では、サードパーティ・デベロッパーは、グラフ定義モジュール１３２を利用して、ソーシャル・グラフにおけるグラフ・オブジェクトおよびグラフ・アクションのプロパティを定義する。別の実施形態では、ソーシャル・ネットワーキング・システム１３０の管理者が、ソーシャル・グラフ内のグラフ・オブジェクトおよびグラフ・アクションのプロパティを定義する。グラフ・オブジェクトおよびグラフ・アクションは、いくつかの実施形態ではグローバルに定義され得るため、管理者は、均一性のためいくつかのグラフ・オブジェクトおよびグラフ
・アクションの初期プロパティを定義することができる。他の実施形態では、特定のオブジェクトおよびアクションは、異なるプロパティを備えることができ、また違いは、標準設定委員会によって、または合意によって調整され得る。いくつかのオブジェクトおよびアクションは、ソーシャル・ネットワーキング・システムの管理者またはサードパーティ・デベロッパーによって後で定義されおよび／または調整され得る未定義のプロパティを有することができる。
【００３１】
ユーザ・デバイス１１０は、外部システム１２０から受信されたマークアップ言語文書１１４を解釈するブラウザ・アプリケーション１１２を含み得る。マークアップ言語文書１１４は、ウィジェット１２４を含む、ウェブ・ページ１２２ａ内のコンテンツを記述するメタ情報を含む１つまたは複数のタグを含む。タグは、ソーシャル・ネットワーキング・システム１３０内のオブジェクトに関するタイトル、タイプ、ラベル、一意的な識別子、マイクロ・フォーマット、および／または他の記述などの、オブジェクトに関する記述を提供することができる。例えば、マークアップ言語文書１１４は、ユーザがバーチャル・スノーマンを作り、ソーシャル・ネットワーキング・システム１３０上でカスタマイズされたバーチャル・スノーマンを共有することを可能にするアプリケーションへのリンクを含む。オブジェクト１２６は、外部システム１２０上のウェブ・ページ１２２ｂに記載されているサードパーティ・デベロッパーによってスノーマン・オブジェクトについて定義され得る。スノーマン・オブジェクトは、例えば、トウモロコシの穂軸のパイプ、ボタンの鼻、および石炭で作られた２つの目を含むオブジェクト・プロパティを有することができる。スノーマン・オブジェクトのオブジェクト・プロパティを記述するためにタグが外部システム１２０のウェブ・ページ１２２ｂ上で使用され得る。これらのタグにより、ウェブ・ページ１２２ｂ内に定義された構造に基づきソーシャル・ネットワーキング・システム１３０内に構造化オブジェクトを作成することができる。他の実施形態では、オブジェクト１２６を記述するタグは、データベース、ファイル、または他のタイプのフォーマットに記憶され得る。サードパーティ・デベロッパーは、より多くのオブジェクト・プロパティに対応するより多くのタグを追加することによってカスタム・オブジェクトの定義を拡張することができる。ユーザ・デバイス１１０が、マークアップ言語文書１１４を解釈し、リンクをクリックするなどのユーザ入力を受け取るブラウザ・アプリケーション１１２を実行すると、ブラウザ・アプリケーション１１２は、マークアップ言語文書１１４を含むウェブ・ページ１２２ａ内のウィジェット１２４によって参照されるようなオブジェクト１２６を記述するウェブ・ページ１２２ｂ内の情報にアクセスすることができる。その結果、ソーシャル・ネットワーキング・システム１３０上で作成されたグラフ・オブジェクトは、オブジェクト１２６を記述するタグを含むウェブ・ページ１２２ｂ内に定義されたオブジェクト・プロパティを有する。これにより、外部システム１２０は、ソーシャル・ネットワーキング・システム１３０によって利用されるソーシャル・グラフ内にオブジェクトを定義し、作成し、維持することができる。
【００３２】
一実施形態では、ウェブ・ページ１２２ａは、ユーザ・デバイス１１０のブラウザ・アプリケーション１１２によって実行されたときに、グラフ定義モジュール１３２によって定義されるようなソーシャル・グラフ構造に対応するウェブ・ページ１２２ａ内でユーザによって実行されるアクションを記録し、報告し、さらに、ウェブ・ページ１２２ａ内でソーシャル・ネットワーキング・システム１３０から社会的に関連する情報を取り出し、表示する命令からなるウィジェット１２４を含む。例えば、ウィジェット１２４は、インターネット・ラジオ・ウェブサイト上で次の楽曲にスキップすることに関連するリンクの選択を取り込む命令を備えることができる。セマンティックには、現在再生中の楽曲をスキップするリンクの選択は、ユーザがその楽曲に関心を持っていないか、または好きでないことを示すものとしてよい。この情報は、ウィジェット１２４がイベントを取り込み、その情報をソーシャル・ネットワーキング・システム１３０に渡すことができるようにアクション・タイプを記述するソーシャル・ネットワーキング・システム１３０上のウェブ
・ページ内でタグ付けされ得る。したがって、ユーザが、「漕げ漕げお舟（Ｒｏｗ，  ｒｏｗ，  ｒｏｗ  ｙｏｕｒ  ｂｏａｔ）」と呼ばれる楽曲をスキップした場合、「スキップ」リンクの選択に関連付けられているタグが、ソーシャル・ネットワーキング・システム１３０に対して、ユーザが、アクション、「スキップ」がソーシャル・ネットワーキング・システム１３０においてどのように定義されているかに応じて、その楽曲、その楽曲を歌っているアーティスト、または楽曲のジャンルを好んでいないことを指示することができる。
【００３３】
一実施形態では、ウィジェット１２４は、外部システム１２０上で実行されるアクションをリアルタイムでソーシャル・ネットワーキング・システム１３０に報告する。ウィジェット１２４は、電子メール、ＳＭＳメッセージング、リアルタイム・チャット・メッセージング、通知、ニュースフィード、ストリーム、およびモバイル・デバイス上で動作しているアプリケーションによって解釈され得るＡＰＩイベントを含む、複数の通信チャネルを通じてソーシャル・ネットワーキング・システム１３０の他のユーザにアクションを伝達する命令を含むものとされてよい。別の実施形態では、ウィジェット１２４は、エントリをソーシャル・ネットワーキング・システム１３０によって後で取り出せるアクション・ログ内に作成する。グラフ公開ＡＰＩ１３８は、受け取った情報を整理、組み立てし（アセンブルし）、ソーシャル・ネットワーキング・システム１３０によって提供されるテンプレート、またはサードパーティ・デベロッパーによって作成されるカスタマイズされた視覚エフェクトに基づきソーシャル・ネットワーキング・システム１３０内のストリームに対するニュースフィード・ストーリまたはコンテンツを生成する。ウィジェット１２４は、ウェブ・ページ１２２ａがユーザ・デバイス１１０のブラウザ・アプリケーション１１２によってレンダリングされ、表示されるときに外部システム１２０からのウェブ・ページ１２２ａでソーシャル・ネットワーキング・ウェブサイト１３０からのパーソナライズされたコンテンツを提供することも可能にする。ウィジェット１２４は、ブラウザ・アプリケーション１１２が、現在再生中の楽曲を最近聴いた友達など、ソーシャル・ネットワーキング・システム１３０からの社会的に関連性のある情報を含むウェブ・ページ１２２ａ内のフレームを生成する命令を含む。ウェブ・ページ１２２ｂ内のオブジェクト１２６を記述するタグを使用することで、ウィジェットは、ソーシャル・ネットワーキング・システム１３０と通信して、同じオブジェクト１２６、すなわち、ウェブ・ページ１２２ａ上の現在再生中の楽曲と相互作用した視聴ユーザに接続された他のユーザを識別することができる。ウィジェット１２４が視聴ユーザに接続されている他のユーザを識別した後、他のユーザに関する情報が、ソーシャル・ネットワーキング・システム１３０から取り出され、外部システム１２０上のウェブ・ページ１２２ａ内のフレームの中に表現され得る。この情報は、同じオブジェクト１２６と相互作用した他のユーザの名前およびプロファイル写真も含み得る。
【００３４】
ソーシャル・ネットワーキング・システム１３０は、グラフ・コンテンツ・アイテム順位付けモジュール１５０およびグラフ統合モジュール１６０も備える。グラフ・コンテンツ・アイテム順位付けモジュール１５０は、外部システムおよび／またはソーシャル・ネットワーキング・システム上のユーザの相互作用の結果得られるグラフ・アクションおよびグラフ・オブジェクトから整理、組み立てされたコンテンツ・アイテムを分析する。分析結果に基づき、グラフ・コンテンツ・アイテムは、関連性および品質に応じて順位付けされ、これにより、ユーザ経験が改善される。グラフ・コンテンツ・アイテム順位付けモジュール１５０は、ソーシャル・ネットワーキング・システム１３０の視聴ユーザに対してグラフ・コンテンツ・アイテムを順位付けする際に、グローバルファクタおよびユーザ特有の複数のファクタを利用することができる。グラフ統合モジュール１６０は、外部システム１２０上のユーザによってソーシャル・ネットワーキング・システム１３０上のインタラクティブ要素として生成される構造化アクションおよびオブジェクトを統合する。例えば、音楽制御ユーザ・インタフェースは、ソーシャル・ネットワーキング・システム
のユーザがユーザのローカル・コンピュータ・システムで動作するアプリケーション、ストリーミング音楽サービスなどの外部システムで動作するアプリケーション、インターネット・ラジオ放送局、または購入した音楽がローカル・コンピュータの代わりに外部システム上に記憶される「クラウド・ベース」音楽サービスなど、外部システム上で現在再生中の音楽を再生または一時停止することを可能にする２つのボタンを備えることができる。
【００３５】
異なる外部システム１２０は、構造化アクションおよびオブジェクトの均一な集合がソーシャル・ネットワーキング・システムの管理者またはサードパーティ・デベロッパーによって定義されているため、音楽制御ユーザ・インタフェースを通じてソーシャル・ネットワーキング・システム１３０のユーザに音楽を提供することができる。ソーシャル・ネットワーキング・システム１３０は、一実施形態において、複数の異なる外部システム１２０によって生成され得る、楽曲などのオブジェクトの重複をなくすことができる。例えば、第１のユーザは、ｉＴｕｎｅｓなどの、音楽サービス上で楽曲を聴くことができ、楽曲オブジェクト上で実行される聴くアクション・インスタンスは、ソーシャル・ネットワーキング・システム１３０の他のユーザと共有され得る。次いで、第２のユーザは、ＲＤＩＯなどの、異なる音楽加入サービス上で同じ楽曲を聴くことができるが、それは、ソーシャル・ネットワーキング・システム１３０がタイトル、アーティスト名、および持続時間を含む、楽曲オブジェクトのオブジェクト・プロパティを認識しており、ソーシャル・ネットワーキング・システム１３０において楽曲に対するバーチャル・オブジェクトを作成しているからである。その結果、第２のユーザが、アーティスト「レディー・ガガ（Ｌａｄｙ  Ｇａｇａ）」による「ボーン・ディス・ウェイ（Ｂｏｒｎ  Ｔｈｉｓ  Ｗａｙ）」に対する楽曲オブジェクト上で実行される第１のユーザの聴くアクション・インスタンスを視聴するときに、ソーシャル・ネットワーキング・システム１３０は、第１のユーザによって作成された楽曲オブジェクトを楽曲オブジェクトに対するバーチャル・オブジェクトに自動的にマッピングしている。次いで、第２のユーザは、Ｓｐｏｔｉｆｙなどの、異なる音楽加入サービスを使用してその楽曲を聴くことができる。このようにして、ソーシャル・ネットワーキング・システム１３０は、類似のオブジェクトを認識し、異なる外部システム１２０上で異なるタグを使用して潜在的に定義される、異なるドメイン間の類似のオブジェクトを表すバーチャル・オブジェクトを生成することができる。これにより、ソーシャル・ネットワーキング・システム１３０は、アクションおよびオブジェクトのインスタンスを集約し、すべてのニュース報告ウェブサイト間でソーシャル・ネットワーキング・システム１３０上のユーザの友達ネットワーク内で共有されるトップニュース記事、すべての音楽加入プラットフォームおよびサービス間でユーザまたはユーザの定義済みグループが聴く音楽のトップジャンル、およびビデオ・ストリーミング・サービス上でソーシャル・ネットワーキング・システム１３０上のユーザが見る最高視聴率の映画などの、興味深いストーリを作成することができる。また、これにより、ソーシャル・ネットワーキング・システム１３０はソーシャル・グラフを正しく構築することができ、したがって、ユーザと映画「トランスフォーマー（Ｔｒａｎｓｆｏｒｍｅｒｓ）」との間のエッジが、ユーザとＮｅｔｆｌｉｘなどの、特定のビデオ・ストリーミング・サービスによって配信されるような映画「Ｔｒａｎｓｆｏｒｍｅｒｓ」との間のエッジの代わりに作成される。音楽制御インタフェースを通じて、楽曲オブジェクト、アーティスト・オブジェクト、ジャンル・オブジェクト、聴くアクション、スキップするアクション、および同様のものを含む、グラフ・オブジェクトおよびグラフ・アクションが、楽曲をユーザが聴くときに生成される。一実施形態では、アーティスト・オブジェクトおよび楽曲オブジェクトは、ソーシャル・ネットワーキング・システム１３０、さらには図３Ａに説明されているような他の関係するオブジェクト上に記憶され、インデックスを付けられ得る。異なるドメインおよび異なるウェブサイトを有する異なる外部システム１２０からの楽曲オブジェクトは、重複しないように固有の１つの楽曲に対するバーチャル楽曲オブジェクトにされているため、ソーシャル・ネットワーキング・システム１３０は、固有の楽曲に対するバ
ーチャル楽曲オブジェクトとの相互作用として異なる外部システム１２０からの楽曲オブジェクトとのユーザ相互作用を記憶し、インデックスを付けることができる。概して、ニュース記事、映画、およびテレビ番組などの類似の異なるサイトおよびドメインからのグラフ・オブジェクトは、タイトル、持続時間、単語数、ディレクタ、制作年、などを含む、グラフ・オブジェクトのオブジェクト・プロパティをマッピングすることによって同様に重複しないようにされ得る。ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーキング・システム１３０のユーザの相互作用をソーシャル・グラフに正しくマッピングすることを可能にするように類似のオブジェクトに対するバーチャル・オブジェクトを記憶し、インデックスを付けることができる。ソーシャル・ネットワーキング・システム１３０のユーザは、グラフ・オブジェクト内でコメントすること、共有すること、賛同（「いいね」）を表明すること、および他のユーザをタグ付けすることを含む、ソーシャル・ネットワーキング・システム上の他のオブジェクトのようにソーシャル・ネットワーキング・システム１３０上に記憶され、インデックスを付けられているグラフ・オブジェクトと相互作用することができる。この方法で、ユーザは、特定の楽曲、アーティスト、ラジオ放送局、音楽のジャンル、映画、ニュース記事、俳優、ディレクタ、放送会社、またはソーシャル・ネットワーキング・システム１３０において定義されているグラフ・オブジェクトに関する対話を有し、経験を共有することができる。
【００３６】
グラフ統合モジュール１６０は、ソーシャル・ネットワーキング・システム１３０のユーザがインターネット・ラジオ放送局上の音楽再生など、外部オブジェクトと協力的に相互作用することを可能にするユーザ・インタフェースを備えることもできる。グラフ統合モジュール１６０によって提供されるユーザ・インタフェースは、視聴ユーザが視聴ユーザに接続されている別のユーザから「また聞き」することを可能にする。一実施形態では、ソーシャル・ネットワーキング・システム１３０のユーザのグループは、１つまたは複数の外部システム１２０上にホストされている同じラジオ放送局、音楽プレイリスト、またはアルバムを協力的に聴くことができる。グループ内の何人かのユーザが、管理者として指定され、別のラジオ放送局、音楽プレイリスト、またはアルバムに切り替えることを選択することができる。別の実施形態では、楽曲は、２人のユーザによってソーシャル・ネットワーキング・システムの２人のユーザ間で関係ページについて選択され得る。さらに別の実施形態では、バースデー・パーティ、音楽コンサート、および同窓会などの、ソーシャル・ネットワーキング・システム１３０上のユーザ生成イベントは、プレイリスト、ラジオ放送局、およびグラフ統合モジュール１６０によって提供されるユーザ・インタフェースを使用して複数の外部システム１２０から集められたアルバムを含むことができる。さらなる実施形態において、グラフ統合モジュール１６０は、グラフ・オブジェクトおよびグラフ・アクションをソーシャル・ネットワーキング・システム１３０上のユーザのプロファイルに表示され得るユーザ・インタフェースに集約することができる。このユーザ・インタフェースは、ユーザの最近のアクション、ユーザのトップ・アーティスト、楽曲、アルバム、プレイリスト、およびラジオ放送局を含み得る。ユーザ・インタフェースは、別のユーザのプロファイルの視聴ユーザがユーザ・インタフェースからの楽曲、ソーシャル・ネットワーキング・システム１３０上のそのユーザのプロファイル・ページ上のユーザ・インタフェースから外部システム１２０上にホストされたストリーミング音楽を聴くことを可能にし、その一方で、視聴ユーザのプロファイルに対してグラフ・オブジェクト上にグラフ・アクションを生成することができる。このようにして、外部ユーザ相互作用は、ソーシャル・ネットワーキング・ユーザ経験に統合される。
【００３７】
図１Ｂは、本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションから生成されるグラフ・コンテンツ・アイテムを順位付けするための方法のハイレベルブロック図である。ここで、複数の外部システム１２０が、グラフ・コンテンツ・アイテム順位付けモジュール１５０が受け取るグラフ・データ１４２を生成する。一実施形態では、グラフ・データ１４２は、アクションが取り込まれたとき
の日時、アクションに関連付けられているオブジェクト（ユーザを含む）、アクションが実行された場所（複数可）、および同様のもの、さらには、外部システム１２０上に生成されたアクションおよびオブジェクトなどの、外部システム１２０上に生成されたアクションおよびオブジェクトに関する情報を含む。グラフ・コンテンツ・アイテム順位付けモジュール１５０は、アクションおよびオブジェクトに関する情報を利用して、グラフ・コンテンツ・アイテム・オブジェクト１５２に対する順位付けスコアを生成する。これらの順位付けスコアは、ソーシャル・ネットワーキング・システム１３０のユーザのストリーム内のニュースフィード・ストーリを順位付けしてより関連性の高いニュースフィード・ストーリをそれらのストリーム内でより高い位置に表示するために使用され得る。順位付けスコアは、楽曲、映画、テレビ番組、ニュース記事、ゲーム・アプリケーション、および同様のものなどの、視聴ユーザに接続されているソーシャル・ネットワーキング・システムの他のユーザによる相互作用を受けるグラフ・オブジェクトに基づき推奨されるグラフ・オブジェクトを視聴ユーザに通知する外部システム１２０に組み込まれている推奨プラグインによっても使用され得る。これは、より関連性の高いグラフ・オブジェクトがユーザに対して表示され、それによりソーシャル・ネットワーキング・システムのユーザの関与が高まるため、ソーシャル・ネットワーキング・システムのユーザに対するユーザ経験を改善する。
【００３８】
ソーシャル・ネットワーキング・システム１３０のユーザを、望ましくないアプリケーションがそれらのユーザ経験においてコンテンツ・アイテムでそれらに「スパムを送る」ことから保護するために、外部システム１２０上で生成されたコンテンツ・アイテム、またはアプリケーションは、グローバルファクタ、ユーザ特有のファクタ、および推奨されるスコアを含む、選択されたファクタに応じてグラフ・コンテンツ・アイテム順位付けモジュール１５０によって順位付けされる。グローバルファクタは、一実施形態では、ソーシャル・ネットワーキング・システム１３０に関して「グローバル」であると考えられ得る。グローバルファクタは、アプリケーションがスパムであることが既知であるのか、信頼できることが既知であるのか、さらにはソーシャル・ネットワーキング・システム１３０間のアプリケーションの品質の測定を含み得る。別の実施形態では、グローバルファクタは、スパマーに関する知識をグローバルファクタに組み込むことによってインターネットに関して「グローバル」である。ユーザ特有のファクタは、ユーザがアプリケーションに関わっているか、ユーザがアプリケーションをソーシャル・ネットワーキング・システム１３０にインストールしたか、およびユーザの他の特性を含む。最後に、推奨エンジンが、類似のコンテンツ・アイテムおよびその類似度を視聴ユーザに表示したソーシャル・ネットワーキング・システム１３０の他のユーザの相互作用に基づきコンテンツ・アイテムに対する推奨スコアを計算する。これらのファクタと推奨スコアとの組み合わせを使用して、外部システム１２０上に外部ユーザ相互作用を組み込みながらユーザ経験を改善することができる。一実施形態では、グラフ・コンテンツ・アイテム順位付けモジュール１５０は、視聴ユーザへの推奨楽曲へのユーザ・インタフェースの視聴ユーザに対する聴くアクション、楽曲オブジェクト、およびアーティスト・オブジェクトを含むコンテンツ・アイテムを順位付けすることができる。
【００３９】
図２は、ソーシャル・ネットワーキング・システム１３０の一実施形態の図である。図２に示されているソーシャル・ネットワーキング・ウェブサイト１３０の実施形態は、ウェブ・サーバ２１０、アクション・ロガー２２４、ＡＰＩ要求サーバ２２０、アクティビティ・ログ２２６、ユーザ・プロファイル・ストア２１２、コネクション・ストア２１４、グラフ・オブジェクト・タイプ・ストア２１６、グラフ・アクション・タイプ・ストア２１８、グラフ定義モジュール１３２、グラフ公開ＡＰＩ１３８、グラフ取り出しモジュール２２２、承認サーバ２２８、グラフ・コンテンツ・アイテム・オブジェクト・ストア２３０、グラフ・コンテンツ・アイテム順位付けモジュール１５０、グラフ統合モジュール１６０、グラフ・データ・ストア２３２、およびグラフ翻訳モジュール２３４を備える
。他の実施形態において、ソーシャル・ネットワーキング・ウェブサイト１３０は、さまざまなアプリケーションに対して、追加の、より少数の、または異なるモジュールを備えることができる。ネットワーク・インタフェース、セキュリティ・メカニズム、ロード・バランサー、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、および同様のものなどの従来のコンポーネントは、システムの詳細をわかりにくくしないために、図示されていない。
【００４０】
ユーザ・プロファイルは、ユーザによって宣言された、またはソーシャル・ネットワーキング・システム１３０によって推論された実務経験、教育経歴、趣味または選好、場所、および同様のものなどの、伝記、人口統計学、および他のタイプの記述情報を含む。この情報は、それぞれのユーザが一意に識別されるようにユーザ・プロファイル・ストア２１２内に記憶される。ソーシャル・ネットワーキング・システム１３０は、コネクション・ストア２１４における異なるユーザ間の１つまたは複数のコネクションを記述するデータも記憶する。コネクション情報は、類似のまたは共通の実務経験、集団の帰属関係、趣味、または教育経歴を有するユーザを示すことができる。それに加えて、ソーシャル・ネットワーキング・システム１３０は、異なるユーザ間のユーザ定義コネクションを含み、これにより、ユーザは他のユーザとの関係を指定することができる。例えば、ユーザ定義コネクションにより、ユーザは、友達、同僚、パートナなどの、ユーザの現実の関係と並行する他のユーザとの関係を生成することができる。ユーザは、定義済みタイプのコネクションから選択するか、または必要に応じて自身のコネクションのタイプを定義することができる。人間以外のエンティティ、利害関係、ページ、外部システム、コンセプト、および同様のものなどのソーシャル・ネットワーキング・システム１３０内の他のノードとのコネクションも、コネクション・ストア２１４内に記憶される。
【００４１】
ウェブ・サーバ２１０は、ソーシャル・ネットワーキング・システムを１つまたは複数のユーザ・デバイス１１０および／または１つまたは複数の外部システム１２０にネットワーク１４０を通じてリンクする。ウェブ・サーバ２１０は、ウェブ・ページ、さらにはＪａｖａ（登録商標）、Ｆｌａｓｈ（登録商標）、ＸＭＬなどの他のウェブ関係コンテンツを提供する。ウェブ・サーバ２１０は、ソーシャル・ネットワーキング・システム１３０と１つまたは複数のユーザ・デバイス１１０との間のメッセージの受信およびルーティングを行うためのメール・サーバまたは他のメッセージング機能を備えることができる。メッセージは、インスタント・メッセージ、キューに入っているメッセージ（例えば、電子メール）、テキストおよびＳＭＳメッセージ、または他の好適なメッセージング・フォーマットであってもよい。
【００４２】
アプリケーション・プログラミング・インタフェース（ＡＰＩ）要求サーバ２２０を使用することで、１つまたは複数の外部システム１２０およびユーザ・デバイス１１０は１つまたは複数のＡＰＩを呼び出すことによってソーシャル・ネットワーキング・システム１３０から情報にアクセスすることができる。ＡＰＩ要求サーバ２２０は、外部システム１２０がＡＰＩを呼び出すことによってソーシャル・ネットワーキング・ウェブサイトに情報を送信することも可能にし得る。一実施形態では、外部システム１２０は、ネットワーク１４０を通じてソーシャル・ネットワーキング・システム１３０にＡＰＩ要求を送信し、ＡＰＩ要求サーバ２２０がそのＡＰＩ要求を受信する。ＡＰＩ要求サーバ２２０は、適切な応答を生成するＡＰＩ要求に関連付けられているＡＰＩを呼び出すことによって要求を処理し、ＡＰＩ要求サーバ２２０は、ネットワーク１４０を通じて外部システム１２０と通信する。例えば、ＡＰＩ要求への応答として、ＡＰＩ要求サーバ２２０は、外部システム１２０にログインしたユーザのコネクションなどの、ユーザに関連付けられているデータを収集し、収集されたデータを外部システム１２０に伝達する。別の実施形態では、ユーザ・デバイス１１０は、外部システム１２０と同様にＡＰＩを通じてソーシャル・ネットワーキング・システム１３０と通信する。
【００４３】
アクション・ロガー２２４は、ソーシャル・ネットワーキング・システム１３０上で、および／またはそこから離れてユーザ・アクションに関する通信をウェブ・サーバ２１０から受け取ることができる。アクション・ロガー２２４は、アクティビティ・ログ２２６に、ユーザ・アクションに関する情報を設定し、これにより、ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーキング・システム１３０内の、またソーシャル・ネットワーキング・システム１３０の外部のユーザによって実行されるさまざまなアクションを発見することができる。特定のユーザがソーシャル・ネットワーキング・システム１３０上の別のノードに関して実行するアクションは、アクティビティ・ログ２２６に、または類似のデータベースまたは他のデータ・リポジトリ内に維持されている情報を通じて、それぞれのユーザのプロファイルに関連付けられる。識別され、記憶されているソーシャル・ネットワーク１３０内のユーザによって実行されるアクションの例として、例えば、コネクションを別のユーザに追加すること、メッセージを別のユーザに送信すること、別のユーザからメッセージを読み取ること、別のユーザに関連付けられているコンテンツを見ること、別のユーザによって投稿されたイベントに参加すること、または別のユーザと相互作用する他のアクションが挙げられる。ユーザがソーシャル・ネットワーキング・システム１３０内でアクションを実行すると、アクションはアクティビティ・ログ２２６に記録される。一実施形態では、ソーシャル・ネットワーキング・システムは、アクティビティ・ログ２２６をエントリのデータベースとして維持する。アクションがソーシャル・ネットワーキング・システム１３０内で実行されると、アクションのエントリがアクティビティ・ログ２２６に追加される。一実施形態では、アクティビティ・ログ２２６は、アクション・ログと称され得る。
【００４４】
それに加えて、ユーザ・アクションは、ソーシャル・ネットワーキング・システム１３０から分離している外部システム１２０などの、ソーシャル・ネットワーキング・システム１３０の外部のエンティティ内に出現するコンセプトおよびアクションに関連付けられ得る。例えば、アクション・ロガー２２４は、ユーザと外部システム１２０との相互作用を記述するデータをウェブ・サーバ２１０から受信することができる。この例では、外部システム１２０は、ソーシャル・グラフ内の構造化アクションおよびオブジェクトによるユーザの相互作用を報告する。受け取った相互作用は、一実施形態では、グラフ定義モジュール１３２によって定義されたグラフ・オブジェクトおよびグラフ・アクションを含むことができる。アクション・ロガー２２４は、グラフ・アクションおよびグラフ・オブジェクトの定義に応じて受け取った相互作用を解釈する。例えば、アクション・ロガー２２４は、ユーザの一意的な識別子、「聴く」と称されるグラフ・アクション、および「楽曲」と称されるグラフ・オブジェクトを含む相互作用を受け取ることができる。アクティビティ・ログ２２６には、この受信した情報が収められる。ユーザが外部システム１２０と相互作用するアクションの他の例として、ユーザが外部システム１２０または別のエンティティへの関心を表明すること、ユーザが外部システム１２０または外部システム１２０内のウェブ・ページ１２２ａを説明するコメントをソーシャル・ネットワーキング・システム１３０に投稿すること、ユーザがソーシャル・ネットワーキング・システム１３０に外部システム１２０と関連付けられているユニフォーム・リソース・ロケータ（ＵＲＬ）または他の識別子を投稿すること、ユーザが外部システム１２０または外部システム１２０に関係するユーザによる他のアクションに関連付けられたイベントに参加することが挙げられる。したがって、アクティビティ・ログ２２６は、ソーシャル・ネットワーキング・システム１３０のユーザとソーシャル・ネットワーキング・システム１３０とは別の外部システム１２０との間の相互作用を記述するアクションを含み得る。
【００４５】
承認サーバ２２８は、ソーシャル・ネットワーキング・システム１３０のユーザの１つまたは複数のプライバシー設定を強制する。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有され得るかを決定する。プライバシー設定は
、ユーザに関連付けられている特定の情報の指定および情報の共有先となり得る１つまたは複数のエンティティの指定からなる。情報の共有先となり得るエンティティの例として、他のユーザ、アプリケーション、外部システム１２０、または情報に潜在的にアクセス可能であるエンティティが挙げられる。ユーザによって共有され得る情報は、プロファイル写真などのプロファイル情報、ユーザに関連付けられている電話番号、ユーザのコネクション、コネクションを追加する、ユーザ・プロファイル情報を変更するなどのユーザによって実行されるアクション、および同様のものからなる。
【００４６】
プライバシー設定指定は、異なる粒度レベルで構成され得る。例えば、プライバシー設定では、他のユーザと共有される特定の情報を識別することができる。例えば、プライバシー設定では、仕事用電話番号またはプロファイル写真、自宅の電話番号、および役職を含む個人情報などの関連性のある情報の特定の組を識別する。あるいは、プライバシー設定は、ユーザに関連付けられているすべての情報に適用され得る。特定の情報にアクセスすることができるエンティティの組の指定も、さまざまな粒度レベルで指定され得る。情報の共有先となり得るエンティティのさまざまな組として、例えば、ユーザのすべての友達、友達のすべての友達、すべてのアプリケーション、またはすべての外部システム１２０が挙げられる。一実施形態では、エンティティの組の指定はエンティティの列挙からなるものとしてよく、例えば、ユーザは、特定の情報にアクセスすることを許されている外部システム１２０のリストを提供することができる。別の実施形態では、指定は情報にアクセスすることを許されていない例外のあるエンティティの組からなるものとしてよい。例えば、ユーザは、すべての外部システム１２０がユーザの仕事情報にアクセスするが仕事情報にアクセスすることを許されていない外部システム１２０のリストを指定することを許すことができる。いくつかの実施形態では、ブロック・リストの特定の情報にアクセスすることを許されていない例外のリストを呼び出す。ユーザによって指定されたブロック・リストに属す外部システム１２０は、プライバシー設定で指定された情報にアクセスすることからブロックされる。情報の指定の粒度と情報の共有先となるエンティティの指定の粒度のさまざまな組み合わせが可能である、つまり、すべての個人情報が友達と共有され得るが、すべての仕事情報は友達の友達とは共有され得ない。
【００４７】
承認サーバ２２８は、ユーザに関連付けられている特定の情報がユーザの友達、外部システム１２０、および／または他のアプリケーションおよびエンティティによってアクセスできるか否かを決定するロジックを含む。外部システム１２０に関連付けられているＵＲＬに関するユーザのコメントにアクセスすることを試みる外部システム１２０は、ユーザの仕事用電話番号などのユーザのよりプライベートな、より機密の情報にアクセスために承認サーバ２２８からの承認を必要とする場合もある。ユーザのプライバシー設定に基づき、承認サーバ２２８は、別のユーザ、外部システム１２０、アプリケーション、または別のエンティティがユーザによって実行されるアクションに関する情報を含む、ユーザに関連付けられている情報にアクセスすることを許されているか否かを決定する。一実施形態では、承認サーバ２２８は、ユーザ・プライバシー設定を使用して、外部システム１２０に関連付けられているＵＲＬに関するユーザのコメントが外部システム１２０によってアクセスされ得るか否かを決定する。ユーザのプライバシー設定は、他のユーザまたは他のエンティティのうちのいずれがユーザのアクションに関するデータまたはユーザに関連付けられている他の情報を受け取ることを許されているかを指定することができる。
【００４８】
それに加えて、ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーキング・システム１３０を使用することでユーザが相互作用することができるオブジェクトに関するデータを維持する。このデータを維持するために、ユーザ・プロファイル・ストア２１２およびコネクション・ストア２１４がソーシャル・ネットワーキング・システム１３０によって維持される対応するタイプのオブジェクトのインスタンスを記憶する。それぞれのオブジェクト・タイプは、オブジェクトのタイプに適している情報を記
憶するのに適している情報フィールドを有する。例えば、ユーザ・プロファイル・ストア２１２は、ユーザのプロファイルを記述するのに適しているフィールドを有するデータ構造体を含む。特定のタイプの新しいオブジェクトが作成されると、ソーシャル・ネットワーキング・システム１３０は、対応するタイプの新しいデータ構造体を初期化し、一意的なオブジェクト識別子をそれに割り当て、必要に応じてオブジェクトにデータを追加することを開始する。これは、例えば、ユーザがソーシャル・ネットワーキング・システム１３０のユーザになり、ソーシャル・ネットワーキング・システム１３０がユーザ・プロファイル・ストア２１２内にユーザ・プロファイルの新しいインスタンスを生成し、一意的な識別子をユーザ・プロファイルに割り当て、ユーザ・プロファイルのフィールドにユーザによって提供される情報を設定することを開始するときに、発生し得る。
【００４９】
アクション・ストア２１４は、ユーザと他のユーザとのコネクション、外部システム１２０とのコネクション、または他のエンティティとのコネクションを記述するのに適したデータ構造体を含む。コネクション・ストア２１４は、コネクション・タイプをユーザのコネクションに関連付けることもでき、これはユーザのプライバシー設定とともに使用され、ユーザに関する情報へのアクセスを調節することができる。
【００５０】
コネクション・ストア２１４内に記憶されているデータ、ユーザ・プロファイル・ストア２１２、およびアクティビティ・ログ２２６は、ソーシャル・ネットワーキング・システム１２０がノードを使用してさまざまなオブジェクトおよびノード同士を接続するエッジを識別し異なるオブジェクト間の関係を識別するソーシャル・グラフを生成することを可能にする。ソーシャル・グラフ内の２つのノード間のエッジは、これらのノードの一方によって他方のノードに対して実行されたアクションの結果生じ得る、２つのノード間の特定のタイプのコネクションを表す。
【００５１】
例えば、第１のユーザがソーシャル・ネットワーキング・システム内で第２のユーザとのコネクションを確立する場合、ユーザ・プロファイル・ストア２１２からの第１のユーザおよび第２のユーザのユーザ・プロファイルが、ソーシャル・グラフ内のノードとして機能し得る。コネクション・ストア２１４内に記憶されている第１のユーザと第２のユーザとの間のコネクションは、第１のユーザおよび第２のユーザに関連付けられているノード間のエッジである。引き続きこの例を参照すると、第２のユーザは、次いで、アクション・ロガー２２４によって識別され、アクティビティ・ログ２２６に記憶されているメッセージを、ソーシャル・ネットワーキング・システム１３０内で第１のユーザに送信し得ることがわかる。メッセージを送信する記憶されているアクションは、第１のユーザおよび第２のユーザを表すソーシャル・グラフ内の２つのノード間の別のエッジである。それに加えて、メッセージそれ自体は、アクティビティ・ログ２２６から識別され、ソーシャル・グラフ内に、第１のユーザおよび第２のユーザを表すノードに接続された別のノードとして含まれ得る。
【００５２】
別の例では、第１のユーザは、ソーシャル・ネットワーキング・システム１３０によって維持されている画像で（あるいは、ソーシャル・ネットワーキング・システム１３０の外部の別のシステムによって維持される画像で）第２のユーザをタグ付けすることができる。画像は、それ自体、ソーシャル・ネットワーキング・システム１３０内のノードで表され得る。このタグ付けアクションは、第１のユーザと第２のユーザとの間のエッジを作成し、さらにはユーザのそれぞれとソーシャル・グラフ内のノードでもある画像との間のエッジも作成することができる。さらに別の例では、ユーザがイベントへの参加を確認する場合、ユーザとイベントはユーザ・プロファイル・ストア２１２から得られるノードであり、イベントの参加は、アクティビティ・ログ２２６から取り出せるノード間のエッジである。ソーシャル・グラフを生成し、維持することによって、ソーシャル・ネットワーキング・システム１３０は、異なるタイプのオブジェクト、ならびにそれらのオブジェク
ト間の相互作用およびコネクションを記述し、社会的に関連性のある豊かな情報源となるデータを含む。
【００５３】
ノードおよびエッジからなる、ソーシャル・グラフのこのような理解を基に、ソーシャル・グラフは、サードパーティ・デベロッパーおよび外部システム１２０によって「オープンであり」、ソーシャル・グラフに公開されるオブジェクトおよびアクションを定義することができる。図１Ａおよび図２に示されているように、グラフ定義モジュール１３２は、グラフ・アクション・モジュール１３４およびグラフ・オブジェクト・モジュール１３６を備える。グラフ定義モジュール１３２は、現実世界の相互作用を模倣するアクションおよびオブジェクトの作成を可能にする。「聴く」などのアクションは、そのアクションが実行された場所、そのアクションに関わる１または複数のユーザ、およびユーザがアクションを実行した時間の長さを記録する持続時間フィールドなど、さまざまなプロパティを備えることができる。一実施形態では、その結果得られるグラフ・アクション・タイプは、グラフ・アクション・タイプ・ストア２１８内に記憶され得る。「楽曲」、「アーティスト」、「ジャンル」、および「ラジオ放送局」などのオブジェクトは、グラフ・オブジェクト・モジュール１３６を使用して、聴覚的オブジェクト・タイプ、音楽オブジェクト・タイプ、パフォーマンス・アート・オブジェクト・タイプ、および同様のものなどの、オブジェクト・プロパティを有するように定義され得る。これらのグラフ・オブジェクト・タイプは、グラフ・オブジェクト・タイプ・ストア２１６内に記憶される。
【００５４】
一実施形態では、グラフ定義モジュール１３２は、いくつかのアクションをいくつかのオブジェクトに対して実行されるものとして定義する。例えば、ソーシャル・ネットワーキング・システム１３０の管理者は、「聴く」アクションを、「楽曲」、「アーティスト」、「ジャンル」、および「ラジオ放送局」オブジェクトなどの、聴覚的オブジェクト・タイプに対してのみ実行されるように定義することができる。したがって、ユーザがアクション「聴く」を実行することができる「スピーチ」オブジェクトを定義することを望んでいると思われるサードパーティ・デベロッパーは、ユーザ自身の「スピーチ」オブジェクトを、「聴く」アクションがそれに対して実行され得るように聴覚的オブジェクト・タイプとして定義することができる。
【００５５】
別の実施形態では、グラフ定義モジュール１３２は、アクションをオブジェクトに対して実行することを可能にし、その意味については、ウィジェット１２４によって解釈されるマークアップ言語文書１１４上でアクションおよびオブジェクトを利用するサードパーティ・デベロッパーに委ねる。そのため、この実施形態では、サードパーティ・デベロッパーは、ソーシャル・ネットワーキング・システム１３０のユーザとＶｏｉｃｅ−ｏｖｅｒ−ＩＰアプリケーションのユーザとの間のＶｏｉｃｅ−ｏｖｅｒ−ＩＰアプリケーション通話において「ユーザ」オブジェクトとともに「聴く」アクションを利用することができる。Ｖｏｉｃｅ−ｏｖｅｒ−ＩＰアプリケーションのユーザがソーシャル・ネットワーキング・システム１３０のユーザでない場合、外部システム１２０から受け取った情報のみが、ソーシャル・ネットワーキング・システム１３０内のニュースフィードまたはストリームで公開されるようにアクティビティ・ログ２２６において使用され得る。したがって、外部ユーザ相互作用を取り込み、それらをソーシャル・ネットワーキング・システム１３０に統合するために文脈自由文法が利用され得る。
【００５６】
グラフ公開ＡＰＩ１３８は、一実施形態において、受け取ったアクションおよびオブジェクトをソーシャル・ネットワーキング・システム１３０におけるコンテンツ・アイテムのストリーム内のニュースフィード・ストーリまたは他のコンテンツ・アイテムに整理、組み立てする。別の実施形態では、グラフ公開ＡＰＩ１３８は、外部システム１２０上のユーザ相互作用を取り出すために外部システム１２０からのＡＰＩコールに応答する。グラフ公開ＡＰＩ１３８は、アクションおよびオブジェクトの定義を利用して、データをソ
ーシャル・ネットワーキング・システム１３０のソーシャル・グラフにどのように公開するかを決定する。一実施形態では、マークアップ言語文書１１４は、ストリーム中のニュースフィード・ストーリまたはコンテンツ・アイテムとして外部システム１２０上で実行されるすべてのアクションを公開するソーシャル・ネットワーキング・システム１３０内の命令を含む。別の実施形態では、マークアップ言語文書１１４は、バッチで、または全体で、外部システム１２０上で実行されるアクションを公開するソーシャル・ネットワーキング・システム１３０内の命令を含む。ソーシャル・ネットワーキング・システム１３０は、事前の承認が外部システム１２０に与えられているためソーシャル・ネットワーキング・システム１３０上のユーザのストリーム内にこれらのコンテンツ・アイテムを受動的に公開できることに留意されたい。コンテンツ・アイテムをストリーム内に投稿するこのような承認がユーザによって与えられていない場合、許可を求めるダイアログ・ボックスがユーザに対して促される。
【００５７】
グラフ翻訳モジュール２３４は、ソーシャル・ネットワーキング．システム１３０が外部システム上に生成される構造化オブジェクトおよびアクションに基づき文章を動的に形成することを可能にする。グラフ定義モジュール１３２によって定義されるアクション・タイプおよびオブジェクト・タイプの基本的なセマンティックな理解は、動詞時制および名詞形をアクション・タイプおよびオブジェクト・タイプに付加することによって達成され得る。文法の規則を外部システム上に生成されるアクションおよびオブジェクトの動詞時制および名詞形に適用することによって、グラフ翻訳モジュール２３４は、サードパーティ・デベロッパーまたはソーシャル・ネットワーキング・システム１３０の開発者からの介入なしで文法的に正しい文章を形成することができる。例えば、単数過去時制、または単純過去時制のアクション・タイプは、ユーザを過去のアクション・タイプのアクションを実行する実行者として表すために使用され得る。オブジェクト・タイプは、単数または複数名詞形のいずれかであってよく、そのアクションは実行者によって実行される。したがって、「フランクは、ｉＭａｐＭｙＲｕｎとともに１００マイルを完走した（Ｆｒａｎｃ  ｃｏｍｐｌｅｔｅｄ  １００  ｍｉｌｅｓ  ｗｉｔｈ  ｉＭａｐＭｙＲｕｎ）」は、グラフ翻訳モジュール２３４によって決定され得る文法的に正しい文章である。
【００５８】
上で説明されているランニング・アプリケーションにおいて、「完了する（ｃｏｍｐｌｅｔｅ）」アクション・タイプは、「走る（ｒｕｎ）」オブジェクト・タイプおよび「マイル」オブジェクト・タイプに作用し得る。複数動詞時制は、単数現在時制、複数現在時制、単数過去時制、および複数過去時制を含む、アクション・タイプの定義の際に集められる。同様に、名詞形は、単数名詞形および複数名詞形を含む、オブジェクト・タイプの定義の際に集められる。グラフ翻訳モジュール２３４は、グラフ・アクション・タイプ・ストア２１８およびグラフ・オブジェクト・タイプ・ストア２１６に記憶されるアクション・タイプおよびオブジェクト・タイプから動詞時制および名詞形を取り出す。
【００５９】
グラフ公開ＡＰＩ１３８と協調して、グラフ翻訳モジュール２３４は、一実施形態において、文章形成時に利用可能な情報に基づき文章を形成する。例えば、ランニング・アプリケーションは、ユーザがこのアプリケーションを使用して１００マイルを完走する毎にソーシャル・ネットワーキング・システム１３０内のストリームにニュースフィード・ストーリつまりタイムライン・ユニットを投稿するように構成され得る。グラフ翻訳モジュール２３４は、「フランクは、ｉＭａｐＭｙＲｕｎとともに２００マイルを完走した（Ｆｒａｎｃ  ｃｏｍｐｌｅｔｅｄ  ２００  ｍｉｌｅｓ  ｏｎ  ｉＭａｐＭｙＲｕｎ）」を示すストーリを投稿する際にアクション・タイプ「完了」およびオブジェクト・タイプ「マイル」に対して正しい動詞時制および名詞形を利用する。それに加えて、グラフ翻訳モジュール２３４は、構文を変えて、「フランク、３００マイルをｉＭａｐＭｙＲｕｎ上で完走した！（Ｃｏｍｐｌｅｔｅ  ３００  ｍｉｌｅｓ  ｗｉｔｈ  Ｆｒａｎｃ  ｏｎ  ｉＭａｐＭｙＲｕｎ！）」などのアクション・ニュース・ストーリへの呼び出しを作成する
こともできる。別の実施形態では、ニュースフィード・ストーリは、特定の期間に集められた情報を使用して形成され得る。
【００６０】
グラフ取り出しモジュール２２２と協調して、グラフ翻訳モジュール２３４は、外部システム、サードパーティ・デベロッパー、またはソーシャル・ネットワーキング・システムの管理者からの追加の入力なしでさまざまなデータ視覚エフェクトに対するコンテンツを動的に提供することができる。データ視覚エフェクトを提示する際に、データを記述する文章は、アクション・タイプの動詞時制およびオブジェクト・タイプの名詞形を使用して形成され得る。例えば、ソーシャル・ネットワーキング・システム１３０のフランクとその友達の５人は、ウェブサイトなどの、外部システム上で動作するランニング・アプリケーションを使用して、エクササイズ、燃焼カロリー、登った高さ、および同様のものを追跡することができる。この情報の豊富なデータセットは、上で説明されているように、カスタム・オブジェクトおよびアクションを使用して取り込まれ得る。グラフ取り出しモジュール２２２およびグラフ翻訳モジュール２３４を連携させて使用することで、フランクとその５人の友達による燃焼カロリーの総数、平均ランニング速度、その中で一番速いランナー、などのユーザ指定クエリに基づき関心あるデータの視覚エフェクトを生成することができる。
【００６１】
グラフ・コンテンツ・アイテム順位付けモジュール１５０は、ソーシャル・ネットワーキング・システム１３０の他のモジュールから集められたグラフ・データ１４２および情報を利用して、視聴ユーザ向けにパーソナライズされたストーリの順位付けスコアを生成する。従来、コンテンツ・アイテムは、クリック率を観察すること、挙動を共有すること、および関与パターンから示されるような、視聴ユーザが一般的に好むソーシャル・ネットワーキング・システム１３０の他のユーザからのアクションのタイプに応じて順位付けされた。ここでは、グラフ・コンテンツ・アイテム順位付けモジュール１５０は、エクササイズにおいて走ったマイル数または今週聴いたトップ・アーティストを示すアプリケーションなど、外部システム１２０上で生成されるオブジェクトに関するメタデータを利用する。これらのオブジェクト、例えば、アーティスト・オブジェクトおよびエクササイズ・オブジェクトに関するメタデータはグラフ・コンテンツ・アイテム順位付けモジュール１５０によって利用され、一実施形態において、これらの外部ユーザ相互作用から生成されるコンテンツ・アイテムを順位付けすることができる。これらのオブジェクトに関するメタデータは、いくつかの実施形態では、ニュースフィード・ストリームに公開されるか、ユーザのプロファイルに追加されるか、またはプラグイン（例えば、ｉｆｒａｍｅ）を通じて外部システム上に表示されるものとされてよい。
【００６２】
グラフ・コンテンツ・アイテム順位付けモジュール１５０は、視聴ユーザに対して表示されるコンテンツ・アイテムの順位付けスコアを計算する際に、グローバルファクタ、ユーザ特有のファクタ、および推奨スコアを含む、いくつかのファクタを利用する。グローバルファクタは、ソーシャル・ネットワーキング・システム１３０と対話するすべてのアプリケーションおよび／または外部システム１２０に適用される。ソーシャル・ネットワーキング・システム１３０の個別のモジュールが、アプリケーションおよび／または外部システム１２０に対する評判スコアを決定して、スパムまたは不要なアプリケーションを識別することができる。スパムの可能性を示す、アプリケーションの評判スコアは、アプリケーションによって生成されるコンテンツ・アイテムに対する順位付けスコアを決定する際にグラフ・コンテンツ・アイテム順位付けモジュール１５０によって利用される。評判スコアは、ヒューリスティック解析から集められたアプリケーションの挙動、そのアプリケーションがスパムである、迷惑である、不快であるというユーザからの報告、およびアプリケーションがスパムであることを示すブラックリストを含む、多数のファクタから決定され得る。
【００６３】
グラフ・コンテンツ・アイテム順位付けスコアに適用され得る別のグローバルファクタは、コンテンツ・アイテムを生成するアプリケーションの総合的品質である。アプリケーションの品質は、個別のモジュールを通じて決定され、アプリケーションの品質を判断する際に考慮されるファクタとして、ユーザとアプリケーションとの関わり、ソーシャル・ネットワーキング・システム１３０の全ユーザ間のアプリケーションの人気度、ソーシャル・ネットワーキング・システム１３０によって観察されるアプリケーションの挙動の一貫性、アプリケーションの作成者の評判、およびソーシャル・ネットワーキング・システム１３０のユーザおよび管理者によるアプリケーションの平均的格付けが挙げられる。一実施形態では、アプリケーションの総合的品質は、アプリケーション品質スコアとして表現され、アプリケーション品質スコアは、視聴ユーザに表示するためコンテンツ・アイテムを順位付けする際のファクタとみなされる。
【００６４】
ユーザ特有のファクタは、グラフ・コンテンツ・アイテムの順位付けにも適用され得る。これらのユーザ特有のファクタとして、視聴ユーザに接続された他のユーザへの重み、および視聴ユーザが好むアプリケーションおよび関心事への重みが挙げられる。例えば、視聴ユーザは、ソーシャル・ネットワーキング・システム１３０上で他のユーザとの１０００を超えるコネクションを有していたとしても、ユーザの部分集合によって生成されるコンテンツ・アイテム内に具現化されるリンクについての共有、コメント作成、賛同の表明、および選択を通じて毎日それらのユーザのうちの２０人とのみ相互作用しているかもしれない。したがって、部分集合内のユーザからのコンテンツ・アイテムは、グラフ・コンテンツ・アイテム順位付けモジュール１５０によってより高い順位を付けられ得る。それに加えて、観察されたクリック率、ユーザがコンテンツ・アイテムを生成するアプリケーションをインストールしたか否か、アプリケーションとの相互作用が始まってから経過した時間、およびアプリケーションとの相互作用の回数から決定されるような、視聴ユーザが好むアプリケーションによって生成されるコンテンツ・アイテムも、グラフ・コンテンツ・アイテム順位付けモジュール１５０によってより高い順位を付けられ得る。アプリケーション、関心事、および他のコンセプトに対する視聴ユーザの選好は、ユーザ・プロファイル・ストア２１２内の視聴ユーザに関連付けられているユーザ・プロファイル・オブジェクト内に親近感スコアとして記憶され得る。
【００６５】
例えば、視聴ユーザは、ユーザに関連付けられているユーザ・プロファイル・オブジェクト内でレディー・ガガに対する親近感スコアによって示されるように、レディー・ガガに非常に大きな関心を有しているものとしてよい。親近感スコアは、プロファイル・ページ上のユーザによって明示的に述べられた関心またはソーシャル・ネットワーキング・システム１３０および外部システム１２０上のユーザおよびそのコネクションのアクションによる暗黙的な関心に基づきソーシャル・ネットワーキング・システム１３０のさまざまな関心事、ノード、およびユーザについて個別のモジュールによって計算され得る。一実施形態では、レディー・ガガに対するアーティスト・オブジェクトは、高い親近感スコアを有する視聴ユーザのユーザ・プロファイル・オブジェクトに関連付けられている。視聴ユーザに接続されているユーザによって外部システム上に生成されたレディー・ガガに関連付けられているコンテンツ・アイテムは、レディー・ガガに関連付けられているアーティスト・オブジェクトに対して視聴ユーザが親近感を有しているのでグラフ・コンテンツ・アイテム順位付けモジュール１５０によってより高い順位を付けられる。それに加えて、ソーシャル・ネットワーキング・システム１３０上の視聴ユーザのコネクションが高い親近感スコアを有しているアーティスト・オブジェクトを伴うコンテンツ・アイテムも、視聴ユーザとのそれらのアーティスト・オブジェクトの隣接性（ａｄｊａｃｅｎｃｙ）に基づきより高い順位を付けられ得る。その結果、レディー・ガガ・ブランドを利用するゲーム・アプリケーション上の接続されているユーザによる得点成績、ビデオ共有ウェブサイト上で別の接続されているユーザによって視聴されているレディー・ガガによる新譜ミュージック・ビデオ、および外部ウェブサイト上の別の接続されているユーザによって出
されたレディー・ガガＬＰ新譜のアルバム・レビューなどの、さまざまな外部システムから生成されるコンテンツ・アイテムは、外部システム１２０上のユーザ相互作用によって生成される他のコンテンツ・アイテムよりも高い順位を付けられ得る。
【００６６】
グラフ・コンテンツ・アイテム順位付けモジュール１５０は、他のオブジェクトとの過去の相互作用、視聴ユーザの表明された関心、および視聴ユーザに接続された他のユーザによる他のオブジェクトとの過去相互作用に基づき視聴ユーザが関心を持つと思われる推奨エンジン・ハイライト・オブジェクトを含み得る。オブジェクト間類似度解析は、推奨エンジンによって非同期に決定されるものとしてよい。それに加えて、一実施形態では、推奨エンジンは、ユーザにどのようなオブジェクト・タイプが表示されたかを追跡することができ、またユーザに提示されるオブジェクト・タイプを多様化することを目指して、最近表示されていないオブジェクト・タイプも推奨することができる。推奨は、順位付けスコアを指数関数的に、直線的に、または対数関数的に増加させることなどによって、可変強度でグラフ・コンテンツ・アイテム順位付けモジュール１５０によって生成された順位付けスコアに影響を及ぼし得る。一実施形態では、オブジェクト所有者、ブランド所有者、または他のサードパーティは、ソーシャル・ネットワーキング・システム上のユーザ・インタフェースを通じて順位付けスコアの上昇を購入することができる。例えば、ソーシャル・ネットワーキング・システムのユーザによって実行されるグラフ・アクション・インスタンスとしてソーシャル・ネットワーキング・システムに伝達された電子小売店の書籍の購入は、書籍の出版社がソーシャル・ネットワーキング・システムの視聴ユーザに対する推奨内の書籍に対するプレミアム配置を購入した場合にユーザに接続されている視聴ユーザへの推奨の順位付けにおいて上昇され得る。
【００６７】
グラフ・データ１４２は、グラフ・データ・ストア２３２内に記憶され、インデックスを付けられ得る。グラフ・データ・ストア２３２は、外部システム１２０から受け取ったグラフ・データ１４２を記述するのに適しているデータ構造体を含む。一実施形態では、グラフ・データ１４２は、グラフ・データ１４２を含むストーリを他のユーザと共有するユーザ、ソーシャル・ネットワーキング・システム１３０上のストーリのニュースフィード・ストリーム内で共有された楽曲を再生するユーザ、ソーシャル・ネットワーキング・システム１３０上のアプリケーション内から製品を購入するユーザ、およびソーシャル・ネットワーキング・システム１３０の他のユーザからメッセージで共有されたプレイリストからのビデオを視聴するユーザなど、ソーシャル・ネットワーキング・システム１３０内から受信され得る。グラフ・データ１４２は、カスタム・グラフ・アクション、実行者（カスタム・グラフ・アクションを実行するユーザ）、カスタム・グラフ・オブジェクト、ならびにソーシャル・ネットワーキング・システム１３０の外部のエンティティによって定義されているカスタム・グラフ・アクションおよびカスタム・グラフ・オブジェクトのプロパティを含むことができる。グラフ・データ１４２が受信されると、ソーシャル・ネットワーキング・システム１３０は、グラフ・データ・ストア２３２内のグラフ・データ１４２を検索し、データを必要に応じてオブジェクトに追加する可能性がある。これは、例えば、ユーザが外部システム１２０上で既に聴いている楽曲を聴いた場合に生じる可能性がある。この場合、楽曲オブジェクトに対応するグラフ・データ１４２は、新しい聴くアクションを反映するように修正され得る。グラフ統合モジュール１６０は、グラフ・データ・ストア２３２と相互作用し、新しい聴くアクションを反映するソーシャル・ネットワーキング・システム１３０上のユーザのユーザ・プロファイル・ページにユーザ・インタフェースを構成することができる。グラフ・データ１４２は、Ｓｐｏｔｉｆｙ、ｉＴｕｎｅｓ、パンドラ（Ｐａｎｄｏｒａ）、およびＲＤＩＯなどの複数のドメインから類似のオブジェクトに関して収集されるので、バーチャル・オブジェクトは、ソーシャル・ネットワーキング・システム１３０によって作成され、グラフ・データ・ストア２３２内に記憶され得る。聴くアクション・インスタンスが、楽曲のタイトル、アーティスト名、アルバム名、および持続時間でソーシャル・ネットワーキング・システム１３０によって識
別されるような、同じ楽曲上で実行される複数のドメインから届くと、グラフ・データ・ストア２３２は、聴くアクション・インスタンスに関連付けられている楽曲オブジェクトを表すバーチャル・オブジェクトを識別するためにアクセスされる。次いで、聴くアクション・インスタンスは、ソーシャル・ネットワーキング・システム１３０によって決定されたような類似の楽曲オブジェクトを表すソーシャル・ネットワーキング・システム１３０によって作成されるバーチャル・オブジェクトに関連付けられる。この方法で、ソーシャル・ネットワーキング・システム１３０は、楽曲をＳｐｏｔｉｆｙで聴こうと、ｉＴｕｎｅｓで聴くこと、Ｐａｎｄｏｒａで聴くこと、ＲＤＩＯで聴くことに関係なく、ジャスティン・ビーバーによる「ベイビー（Ｂａｂｙ）」などの特定の楽曲に対する聴くアクションおよびバーチャル・オブジェクトを含むニュースフィード・ストーリを報告することができる。一実施形態では、ニュースフィード・ストーリは、聴いた楽曲のドメイン、または音楽サービスを含み得るが、これにより、ユーザはソーシャル・ネットワーキング・システム上のニュースフィード・ストーリ内から異なるドメインまたは音楽サービス上で楽曲を再生することができる。別の実施形態では、ユーザは、地理的位置をカスタム・グラフ・アクション・インスタンスに追加し、グラフ・アクションがどこで実行されたかを指示することができる。バーチャル・オブジェクトが、ニュース・ストーリ、商品、ビデオ、コンサート、演劇、テレビ番組などの他のタイプのカスタム・グラフ・オブジェクトについてソーシャル・ネットワーキング・システム１３０によって生成され得る。
【００６８】
グラフ統合モジュール１６０は、グラフ・オブジェクト・タイプ・ストア２１６およびグラフ・アクション・タイプ・ストア２１８内に記憶されるグラフ定義モジュール１３２によって定義されたアクション・タイプおよびオブジェクト・タイプ利用して、外部システム１２０上のユーザ相互作用をソーシャル・ネットワーキング・システム１３０と統合する。例えば、ストリーミング音楽サービスを使用すると、ユーザは、ウェブサイトまたはモバイル・アプリケーションなどの、外部システム１２０上のインターネット・ラジオ放送局を聴くことができる。一実施形態では、ソーシャル・ネットワーキング・システム１３０は、ユーザ・インタフェース上のボタンおよびリンクを、ストリーミング音楽サービスをホストする外部システム１２０上の組み込みウェブ・サーバに送信される要求と関連付けることができる。これらの要求は、楽曲の再生および一時停止またはラジオ放送局での音楽演奏などの、要求されたアクションのトリガとなる。これは、音楽ストリーミングをソーシャル・ネットワーキング・システム１３０上のチャット・アプリケーションまたはチャット・インタフェースに統合すること、ユーザがソーシャル・ネットワーキング・システム１３０を通じて外部システム１２０上の同じ楽曲またはラジオ放送局の再生を聴けるようにすること、「ジョーとあなたの５人の友達がたった今パンドラ・ラジオで“Ｐａｒｔｙ  Ｌｉｋｅ  ａ  Ｒｏｃｋｓｔａｒ”を聴きました（Ｊｏｅ  ａｎｄ  ５  ｏｆ  ｙｏｕｒ  ｆｒｉｅｎｄｓ  ｊｕｓｔ  ｌｉｓｔｅｎｅｄ  ｔｏ  Ｐａｒｔｙ  Ｌｉｋｅ  ａ  Ｒｏｃｋｓｔａｒ  ｏｎ  Ｐａｎｄｏｒａ  Ｒａｄｉｏ）」と読めるコンテンツ・アイテムなどの、相互作用の視覚エフェクトを外部システム１２０に投稿すること、ユーザが外部システム１２０との統合で別のユーザを「タグ付け」するか、または別のユーザへの選択可能なリンクを作成したという、携帯電話および電子メール・メッセージ上のプッシュ通知などの、メッセージを送信すること、および楽曲などの外部システム１２０上のオブジェクトとのすべての相互作用を取り込むソーシャル・ネットワーキング・システム１３０上のページを生成することなどの、ソーシャル・ネットワーキング・システム１３０上でユーザ経験と統合することをさらに可能にする。これらの機能によって、以前に聴いた１つの楽曲の名前を単に知っていてその後インターネットでその楽曲を検索しなければならないという状況になる代わりに、視聴ユーザは、ユーザ・インタフェースを通じてソーシャル・ネットワーキング・システム内から楽曲オブジェクトに関連付けられているリンクを単にクリックするだけでその楽曲を素早く聴くことができるため、ユーザ経験が向上する。リンクの選択で、アクションを実行する、この場合、ネットワーク１４０を通じてソーシャル・ネットワーキング・システム１３０にアクセスするユーザ・デバ
イス１１０を通じて楽曲を再生する外部システム１２０への要求を生成する。
【００６９】
さらに、グラフ統合モジュール１６０は、視聴ユーザまたは視聴ユーザのコネクションによって現在聴かれている、または最近聴かれた楽曲オブジェクトなどの、外部システム１２０から受け取ったグラフ・データ１４２に基づき広告の専門分野別ターゲット設定を可能にする。グラフ統合モジュール１６０は、ソーシャル・ネットワーキング・システム１３０上でグラフ・データ１４２の解析を行い、その情報をターゲット基準モジュールに送る。例えば、音楽コンサートの広告は、ユーザがコンサート会場の近くに位置するか否か、ユーザがコンサートで演奏しているアーティスト、またはそれらのアーティストに類似するアーティストによる楽曲を最近聴いたか否かに基づきユーザに対するターゲット設定がなされ得る。広告主は、グラフ・データ１４２から集められ、グラフ統合モジュール１６０によって解析された情報をさらに解析して、より関連性の高い広告を生成することができる。
【００７０】
一実施形態では、グラフ統合モジュール１６０はグラフ・コンテンツ・アイテム順位付けモジュール１５０を利用して、楽曲、アーティスト、およびジャンルなどの、グラフ・データ１４２の推奨を、ユーザの楽曲およびアーティストの選好、他の視聴選好を決定するためのユーザ挙動のヒューリスティック解析、およびソーシャル・ネットワーキング・システム１３０上のユーザのコネクションの視聴パターンを含む、多数のファクタに基づきソーシャル・ネットワーキング・システム１３０のユーザに提供することもできる。例えば、ユーザに関連付けられているリンクの高いクリック率、ソーシャル・ネットワーキング・システム上の頻繁な相互作用、および他のファクタの結果、互いに対して高い親近感スコアを有するユーザは、それらのユーザによる楽曲の推奨における重みに影響を及ぼし得る。一実施形態では、グラフ・コンテンツ・アイテム順位付けモジュール１５０は、ソーシャル・ネットワーキング・システム１３０に記憶されているオブジェクト・メタデータに基づきグラフ・オブジェクトを推奨するための順位付けモデルを構成することができる。
【００７１】
グラフ取り出しモジュール２２２は、サードパーティ・デベロッパーによって、外部システム１２０上の受け取ったアクションのデータの視覚エフェクトについてソーシャル・グラフにクエリを実行することができる。例えば、サードパーティ・デベロッパーが、ソーシャル・ネットワーキング・システム１３０内のユーザの友達間で外部システム１２０上の最も頻繁に聴いた楽曲を表示したい場合、そのクエリを生成するためにグラフ取り出しモジュール２２２が使用され得る。ソーシャル・ネットワーキング・システム１３０の管理者は、実行されたオブジェクトのユニットの数を合計する「総和（ｓｕｍ）」クエリを含む、これおよび他のものなどの基本クエリを作成することができる。例えば、ランニング・アプリケーションは、エクササイズ毎にユーザが走ったマイル数を記録することができる。「マイル」オブジェクトは、「総和」クエリがユーザが完走した合計マイル数を返すことが可能なようにこの値を記録することができる。「最もよく聴くアーティストの誕生年は？（Ｗｈａｔ  ｉｓ  ｔｈｅ  ｂｉｒｔｈ  ｙｅａｒ  ｏｆ  ａｒｔｉｓｔｓ  ｔｈａｔ  ａ  ｕｓｅｒ  ｌｉｓｔｅｎｓ  ｔｏ  ｔｈｅ  ｍｏｓｔ？）」などの興味深い質問に答えるためにソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーおよび管理者によって他のクエリが生成され得る。例えば、「アーティスト」オブジェクトは、「アーティスト」オブジェクトを定義したサードパーティ・デベロッパーによって「誕生年」オブジェクトにリンク付けされ得るため、グラフ取り出しモジュール２２２を使用してこの質問に答えるためのクエリが実行され得る。ソーシャル・グラフをサードパーティ・デベロッパーおよび外部システム１２０に開放し、ソーシャル・ネットワーキング・システム１３０の外部で実行され得るアクションに構造を提供することによって、ソーシャル・ネットワーキング・システム１３０のユーザは、ソーシャル・ネットワーキング・システム１３０で社会的に関連性のある情報を共有し、発見すること
によってメリットを得る。ソーシャル・ネットワーキング・システム１３０の外部で行われるアクションに構造を提供する別の利点は、外部システム１２０のユーザの行動に基づき広告のターゲットを設定することおよび興味深いデータの視覚エフェクトでユーザ経験を向上するために追加の入力を生成することである。
【００７２】
グラフ・コンテンツ・アイテム・オブジェクト・ストア２３０は、外部システム１２０との外部ユーザ相互作用の結果生成されるグラフ・コンテンツ・アイテム・オブジェクトを維持する。グラフ・コンテンツ・アイテム順位付けモジュール１５０は、ソーシャル・ネットワーキング・システム１３０のユーザに対するグラフ・コンテンツ・アイテム・オブジェクトの順位付けスコアであって、グラフ・コンテンツ・アイテムを潜在的に示す順位付けスコアを計算する。潜在的視聴ユーザに関連付けられているユーザ・プロファイル・オブジェクトに基づき、グラフ・コンテンツ・アイテムに対する順位付けスコアは、視聴ユーザの個々の選好に基づき変化する。一実施形態では、グラフ・コンテンツ・アイテム・オブジェクト・ストア２３０に記憶され、インデックスを付けられているグラフ・コンテンツ・アイテム・オブジェクトは、コンテンツ・アイテムに関するカテゴリのパラメータに対する値を含むユーザ独立のストーリ・ベクトルに関連付けられる。当業者であれば、配列、行列、およびデータベース・オブジェクトなどの、情報を維持するデータ構造体を含み得ることを理解されるであろう。
【００７３】
グラフ・アクションおよびグラフ・オブジェクトに対する構造および文法の定義
図３Ａは、本発明の一実施形態による、グラフ・アクションおよびソーシャル・ネットワーキング・システムの外部のエンティティによって定義されているようなグラフ・オブジェクトとのその関係を表す定義済みグラフ構造のハイレベルブロック図である。１つのアクション、聴くアクション３１０しか例示されていないが、全領域のアクション（ｗｈｏｌｅ  ｕｎｉｖｅｒｓｅ  ｏｆ  ａｃｔｉｏｎｓ）が、ソーシャル・ネットワーキング・システム１３０内での定義に利用可能である。例えば、ユーザは、製品、音楽、スポーツ試合、および映画などの、さまざまなオブジェクトを読み、購入し、販売し、視聴し、欲求し、再生し、達成し、取り、推奨し、レビューし、訪問し、コメントすることができる。ソーシャル・ネットワーキング・システム１３０の外部のエンティティは、ソーシャル・ネットワーキング・システム１３０上でソーシャル・グラフに公開するようにこれらのグラフ・アクションおよびグラフ・オブジェクトを定義することができる。グラフ・アクションおよびグラフ・オブジェクトは、外部システム１２０で、さらにはソーシャル・ネットワーキング・システム１３０上でユーザによって実行され得る。
【００７４】
図３Ａに例示され、上で説明されているように、例示的な実施形態は、インターネット・ラジオ・ウェブサイトなどの、外部システム１２０上で音楽を聴くことを伴う。聴くアクション３１０は、ネットワーク１４０に接続されているスタンドアロンのデスクトップ・アプリケーション、ポッドキャスト、インターネットを通じて放送する地上波ラジオ放送局、バーチャル・ミュージック・ロッカー・ウェブサイト、および音楽ストリーミング加入サービス・ウェブサイトを含む、他の外部システム１２０について定義され得る。上で述べたように、いくつかの実施形態では、聴くアクション３１０などのアクションは、プレイリスト、ポッドキャスト、およびストリーミング・ライブラリなどの（図示されていないが）、新しいオブジェクトが聴くアクション３１０の作用を受け得るようにオープンエンドであると定義され得る。聴くアクション３１０は、一実施形態ではエンティティが聴くアクション３１０タイプに関連付けられているオブジェクトのタイプを含む、アクション・プロパティを定義することを可能にする、ソーシャル・ネットワーキング・システム１３０によって提供されるツールを通じてソーシャル・ネットワーキング・システム１３０の外部のエンティティによって定義され得る。ツールは、新しいアクション・タイプをソーシャル・ネットワーキング・システム１３０上のウェブ・ページに公開し、これにより、ソーシャル・ネットワーキング・システム１３０の外部のエンティティは新しい
アクション・タイプにアクセスすることができる。
【００７５】
グラフ・オブジェクトは、ソーシャル・ネットワーキング・システム１３０の外部のエンティティによってオブジェクト・プロパティを含むように定義され得る。楽曲オブジェクト３０４のオブジェクト・プロパティは、例えば、タイトル、持続時間、アーティスト・オブジェクト３０６、アルバム・オブジェクト３１４、および複数のジャンル・オブジェクト３１６を含むことができる。アーティスト・オブジェクト３０６のオブジェクト・プロパティは、例えば、アーティスト名、アルバム・オブジェクト３１４、複数のジャンル・オブジェクト３１６、およびアーティスト誕生年オブジェクト３０８を含むことができる。ラジオ放送局オブジェクト３０２は、アプリケーションによって作成される楽曲オブジェクト３０４との関連付けを含むことができる。例えば、ラジオ放送局オブジェクト３０２は、ラジオ放送局オブジェクト３０２に関連付けられているラジオ放送局を聴いているユーザのために再生される複数の楽曲オブジェクト３０４のプレイリストを含むことができる。一実施形態では、オブジェクトは、タイトル、説明、画像、およびＵＲＬなどの、標準的なオブジェクト・プロパティを有する。オブジェクト・プロパティは、ソーシャル・ネットワーキング・システム１３０の外部のエンティティによって定義され得る。この方法では、複数の異なるオブジェクトが互いに関係するものとされてよい。
【００７６】
ラジオ放送局オブジェクト３０２は、「９９．７ＦＭ」または「ブリトニー・スピアーズ・チャネル（Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ  Ｃｈａｎｎｅｌ）」などの名前を有するものとして定義され得る。ラジオ放送局オブジェクト３０２は、企業によって所有される、特定のインターネットＵＲＬ上で放送されるなどのプロパティを備えることができる。ラジオ放送局オブジェクト３０２は、楽曲オブジェクト３０４にリンクされる。楽曲オブジェクト３０４は、ラジオ放送局で再生された１つの楽曲を表す。楽曲オブジェクト３０４は、楽曲を演奏するアーティスト・オブジェクト３０６にリンクされる。アーティスト・オブジェクト３０６は、アーティストが生まれた誕生年を表すアーティスト誕生年オブジェクト３０８にリンクされ得る。例えば、アーティスト・オブジェクト３０６が「ブリトニー・スピアーズ」を表した場合、アーティスト・オブジェクト３０６は、「１９８１」誕生年オブジェクト３０８にリンクされるが、それは、サードパーティ・デベロッパーがブリトニー・スピアーズが１９８１年に生まれたことを知っているからである。同様に、ブリトニー・スピアーズの曲である「ティル・ザ・ワールド・エンズ（Ｔｉｌｌ  ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓ）」に対する楽曲オブジェクト３０４の所有者は、その楽曲オブジェクト３０４を「ファム・ファタール（Ｆｅｍｍｅ  Ｆａｔａｌｅ）」に対するアルバム・オブジェクト３１４および「ポップ」、「ダンス・ポップ」、および「エレクトロ・ポップ」に対するジャンル・オブジェクト３１６にも関連付ける。このような情報は、データベースに記憶されているグラフ・オブジェクトに関する情報を使用して手動で定義されるか、または自動的に関連付けられ得る。
【００７７】
インターネット・ラジオ・ウェブサイトのサードパーティ・デベロッパーは、一実施形態ではソーシャル・ネットワーキング・システム１３０によって提供されるツールを使用して、または別の実施形態では、タグを使用してマークアップ言語文書の外部システム１２０上のウェブ・ページ内にオブジェクトを記述することによって、上で説明されているようなラジオ放送局、楽曲、アーティスト、アーティスト誕生年、アルバム、およびジャンルに対するオブジェクトを定義することができる。聴くアクション３１０は、同一もしくは別のサードパーティ・デベロッパーによって、またはソーシャル・ネットワーキング・システム１３０の管理者によって定義され得る。聴くアクション３１０は、大半のアクションと同様に、アクションが実行された地理的位置を識別し、記録するためにロケーション・オブジェクト３１２に関連付けられ得る。聴くアクション３１０は、アクションを実行しているユーザに対するユーザ・プロファイル・オブジェクト３１８にも関連付けられ得る。最後に、聴くアクション３１０のプロパティは、聴くアクション３１０が実行さ
れた回数を識別するアグリゲータ・オブジェクト３２０を含むことができる。一実施形態では、実行されたアクションのこの数は、ユーザ、位置、ユーザのグループ、またはソーシャル・ネットワーキング・システム１３０内の識別可能なノードで細分化され得る。
【００７８】
一例において、ソーシャル・ネットワーキング・システム１３０のユーザは、インターネット・ラジオ・ウェブサイトを訪れ、外部システム１２０上でホストされているインターネット・ラジオ・ウェブサイト上で実行されるアクションを共有する許可を既に与えられている。サードパーティ・デベロッパーは、ラジオ放送局を聴くなど、インターネット・ラジオ・ウェブサイト上でユーザがアクションを実行するときにソーシャル・ネットワーキング・システム１３０内にグラフ・オブジェクト・インスタンスを作成するようにマークアップ言語文書でタグを符号化することができる。ユーザがインターネット・ラジオ・ウェブサイト上で音楽を聴いているときに、聴くアクション３１０は、アクション・ログに記録されるか、またはユーザに対するユーザ・プロファイル・オブジェクト３１８に関連してソーシャル・ネットワーキング・システムに伝達され得る。アクション・ログは、スキップするまでに楽曲を聴いている時間の長さなど、オブジェクト・プロパティおよびアクション・プロパティの値などの、ユーザ識別子、グラフ・アクションのアクション・タイプ、オブジェクト識別子、時刻、日付、および他のメタデータを含み得る。ユーザが全地球測位システム（ＧＰＳ）機能を備えるモバイル・デバイスを使用している場合、または地理的位置が他の任意の方法で利用可能である場合に、その位置に対するロケーション・オブジェクト３１２は、聴くアクション３１０に関連付けられ得る。
【００７９】
アグリゲータ・オブジェクト３２０は、アクションが実行された回数をカウントするために聴くアクション３１０に関連付けられ得る。一実施形態では、ラジオ放送局オブジェクト３０２、楽曲オブジェクト３０４、アーティスト・オブジェクト３０６、アルバム・オブジェクト３１４、ジャンル・オブジェクト３１６などの、オブジェクトは、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者によって、集約され得るオブジェクトとして構成され得る。グラフ構造は、完全にカスタマイズ可能であるため、集約、さらには総和、頻度、距離、平均、および最頻値からの偏差などの他の統計機能は、指定されたオブジェクト上で実行され得る。例えば、アーティスト・オブジェクト３０６によって表される、レディー・ガガを聴くのに費やす時間などの、興味深いデータは、構造化グラフ・アクションおよびグラフ・オブジェクトの単純なクエリから決定され、ソーシャル・ネットワーキング・システム１３０のユーザの任意の組上で計算され得る。ユーザが、ラジオ放送局上で楽曲を聴くときに、聴くアクション３１０は、楽曲に対する対応するラジオ放送局オブジェクト３０２、楽曲オブジェクト３０４、さらにはリンクされたアーティスト・オブジェクト３０６、アルバム・オブジェクト３１４、およびジャンル・オブジェクト３１６に関連付けられ得る。アーティスト誕生年オブジェクト３０８は、聴くアクション３１０に直接的にはリンクされないが、代わりに、アーティスト・オブジェクト３０６に直接的にリンクされる。したがって、誕生年によって並べ替えられた、聴いたトップ・アーティストなどの、興味深いデータの視覚エフェクトを生成するために専門分野別クエリが利用され得る。
【００８０】
図３Ｂ〜図３Ｊは、外部システム上のユーザ相互作用に対するグラフ構造を定義するためソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者用のソーシャル・ネットワーキング・システム１３０上のツールのスクリーンショットを示している。図３Ｂは、外部システム上のアクション・タイプおよびオブジェクト・タイプの定義を可能にするソーシャル・ネットワーキング・システム上のウェブ・アプリケーションのスクリーンショットを示している。この実施形態では、外部システム１２０は、「マッチブック（Ｔｈｅ  Ｍａｔｃｈｂｏｏｋ）」と称すアプリケーション３３０である。アクション・タイプ・フィールド３３２およびオブジェクト・タイプ・フィールド３３４は、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパ
ーまたは管理者がグラフ構造を定義することを可能にする。ボタン３３６は、クリックされると、ソーシャル・ネットワーキング・システム１３０においてアクション・タイプおよびオブジェクト・タイプを生成する。この例では、オブジェクト・タイプ「テニス試合（ｔｅｎｎｉｓ  ｍａｔｃｈ）」に実行されるアクション・タイプ「再生する（ｐｌａｙ）」が定義されている。
【００８１】
図３Ｃに示されているように、アクション・タイプは、グラフ構造を定義するソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者によって定義されるようなさまざまな動詞形および他のプロパティを有することができる。アクション・タイプ名フィールド３３８内のアクション・タイプの名前を変更することができる。追加のオブジェクト・タイプをオブジェクト・フィールド３４０に含めることができる。アクション・ストーリ、またはタイムライン・ユニットのプレビューが表示され得る。ここで、第１の例示的なストーリ３４２は、単数過去時制でアクション・タイプを表示し、第２の例示的なストーリ３４４は、複数過去時制でアクション・タイプを表示する。図３Ｃでは、現在時制動詞をサポートするラジオ・ボタンのチェックが外されており、したがって、動詞形は現在、定義されていない。
【００８２】
図３Ｄは、外部システム１２０に関してアクション・タイプおよびオブジェクト・タイプを記述するために使用される前置詞に対するドロップ・ダウン・メニュー３４６を例示している。第１の例示的なストーリ３４２および第２の例示的なストア３４４は、ドロップ・ダウン・メニュー３４６内の前置詞の選択に基づき更新される。「ａｔ」、「ｉｎ」、「ｏｎ」、「ｕｓｉｎｇ」、「ｖｉａ」、「ｗｉｔｈ」などの異なる前置詞は、利用可能な異なる文章構造を示し得る。図３Ｅは、現在時制動詞のサポートがアクション・タイプに追加されるアクション・タイプ定義ツールの別の実施形態を示している。第３の例示的なストーリ３４８は、単数過去時制でアクション・タイプを表示し、第４の例示的なストーリ３５０は、複数過去時制でアクション・タイプを表示する。図３Ｅは、アクションが過去時制になる前の期間を管理者が設定することができるフィールドも例示している。この期間は、データの視覚エフェクトに対する文章を形成するためアクション・タイプの現在時制と過去時制との間で選択するためにグラフ翻訳モジュール２３４によって利用され得る。別の実施形態では、アクションが過去時制になる前の期間は、楽曲オブジェクト上の「持続時間」タグなどのメタ・タグを通じて推論され、推論された期間は、ソーシャル・ネットワーキング・システム１３０によってオブジェクト上で直接渡され得る。ソーシャル・ネットワーキング・システム１３０上のニュースフィード内のストーリに対する文章を形成する際に、このツールは、ソーシャル・ネットワーキング・システム１３０が動詞の正しい時制を使用して意味のある文章を自動的に形成することを可能にする。ニュースフィード・ストーリに誤った文章が現れると、ニュースフィード・ストーリのアピール力および関連性が弱められ、ユーザが特定のブランドから離れるのを助長する可能性がある。しかし、視聴ユーザに接続されている別のユーザによって現在読まれているニュース記事などの、より関連性のあるニュースフィード・ストーリは、チャット・メッセージまたは投稿などを通じてソーシャル・ネットワーキング・システム上でリアルタイムにそのニュース記事に関する議論を誘発する可能性があり、これにより、より関わりのあるユーザ経験をもたらす。同様に、ソーシャル・ネットワーキング・システム１３０の視聴ユーザは、視聴ユーザに接続されている他のユーザがジャスティン・ティンバーレイクの新譜を現在聴いていることを示すニュースフィード・ストーリを読み、その試聴ユーザは、ニュースフィード・ストーリの中からソーシャル・ネットワーキング・システム１３０を通じてその楽曲を聴くのにそれらの他のユーザに加わることを選ぶことができる。両方の例において、ニュースフィード・ストーリの中の動詞の現在時制は、視聴ユーザがソーシャル・ネットワーキング・システム１３０との関わりを強める機会を生み出した。さらに、ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーキング・システム１３０の視聴ユーザに提示する過去に出現したニュースフィード・ストーリを順
位付けし、および／または集約することができる。順位付けされた、および／または集約されたニュースフィード・ストーリは、過去に起きたものであり、したがって、ニュースフィード・ストーリは、必ず、過去時制で表されるべきである。ソーシャル・ネットワーキング・システムによって形成される文章は、より最近のイベントと過去のイベントとを自動的に線引きすることができるため、ユーザ経験はより関わりのある、関連性の高いものとなる。
【００８３】
図３Ｆは、ソーシャル・ネットワーキング・システム１３０上で公開するか、またはソーシャル・ネットワーキング・システム１３０の外部のドメイン上の外部システム１２０上で公開するように外部システムに対するグラフ構造でオブジェクト・タイプを定義するためのツールを例示している。この例では、オブジェクト・タイプ「テニス試合」が定義されている。単数名詞形フィールド３５２および複数名詞形フィールド３５４は、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者がソーシャル・ネットワーキング・システム１３０で公開する文章においてオブジェクト・タイプの名詞形を指定することを可能にする。ここで、「テニス試合」は、このオブジェクト・タイプに対する複数名詞形である。図３Ｆは、定義されているオブジェクト・タイプのオブジェクト・プロパティ３５６も例示している。タイトル、画像、および説明などの、複数のプロパティが、ソーシャル・ネットワーキング・システム１３０によって構造化され得る。追加のプロパティは、オブジェクト・タイプのカスタマイズされたプロパティを含むようにリンク３５８をクリックすることによって定義され得る。図３Ａで説明されているように、オブジェクト・タイプ「楽曲」などのオブジェクト・タイプは、オブジェクト・タイプ「アーティスト」、オブジェクト・タイプ「アルバム」、およびオブジェクト・タイプ「ジャンル」などの、他のオブジェクト・タイプを含む、複数のプロパティを有することができる。図３Ｆに示されているように、これらの追加のプロパティは、ソーシャル・ネットワーキング・システム１３０上で定義されているオブジェクト・タイプに追加され得る。単数形オブジェクト・タイプの例示的ストーリ３６０および複数形オブジェクト・タイプの例示的ストーリ３６２は図３Ｆにも示されている。
【００８４】
図３Ｇは、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者が外部システム１２０上で行われるユーザ・アクションに対するグラフ構造を定義するアクション・タイプおよびオブジェクト・タイプを管理し、作成することを可能にするソーシャル・ネットワーキング・システム１３０上のツールを例示している。ドロップ・ダウン・メニュー３８２を使用すると、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者が管理されるグラフ構造を選択することができる。ここで、リンク３６４は、リンク３６４に続くテキスト３６６によって示されているように、「テニス試合（ｔｅｎｉｓｓ  ｍａｔｃｈ）」に作用する「再生する（ｐｌａｙ）」アクション・タイプが定義されていることを表示する。また、リンク３６８は、リンク３６８に続くテキスト３７０によって示されているように、「タイプ、タイトル、画像（ｔｙｐｅ，  ｔｉｔｌｅ，  ｉｍａｇｅ）」のオブジェクト・プロパティを有する「テニス試合」オブジェクト・タイプが定義されていることを表示する。
【００８５】
さらに、図３Ｇは、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者がアクション・タイプ、オブジェクト・タイプ、および／またはプロファイル・ユニットを作成し編集し、さらにはソーシャル・ネットワーキング・システム１３０に公開する外部ユーザ・アクションを取り込むために外部システム上で入れるコード・スニペットを生成することを可能にするボタンおよびリンクを例示している。ソーシャル・ネットワーキング・システム１３０の外部のエンティティは、ソーシャル・ネットワーキング・システム１３０のユーザがクリックしたときに、エンティティによって決定されるようなカスタム・グラフ・アクション・タイプを有するグラフ・アクション・インスタンスを生成する外部システム上のウェブ・ページにボタンを備えることがで
きる。図３Ｇに例示されているボタンおよびリンクを通じてソーシャル・ネットワーキング・システム１３０が提供することができるコード・スニペットは、外部システム上でウェブ・ページ用にマークアップ言語文書に組み込まれ得る。例えば、「欲しい物リスト」ボタンは、電子商取引ウェブサイト上で民生用エレクトロニクス・デバイス用のウェブ・ページ上に備えることができる。ソーシャル・ネットワーキング・システム１３０のユーザが「欲しい物リスト」ボタンをクリックすると、「追加する」アクション・インスタンスが、民生用エレクトロニクス・デバイスに対するグラフ・オブジェクトの識別子とともに、アクション・ログに記録され得る。他の実施形態では、ソーシャル・ネットワーキング・システム１３０の外部のエンティティは、リンクをクリックすること、タッチスクリーン・インタフェースからタッチを受け取ること、視聴ユーザがウェブ・ページをロードしてから経過した所定の時間の長さなどの、イベントの他のタイプに基づきグラフ・アクション・インスタンスをアクション・ログに記録することができる。
【００８６】
図３Ｇは、ソーシャル・ネットワーキング・システム１３０上にグラフ構造を定義する際にサードパーティ・デベロッパーによって使用され得るさまざまなリンクおよびボタンを例示している。ボタン３７２を使って、新しいアクション・タイプを定義することができ、リンク３７４では、サードパーティ・デベロッパーまたは管理者は、定義されているアクション・タイプに対するコードを編集または取得することができる。一実施形態では、アクション・タイプに対する「コードを取得（Ｇｅｔ  Ｃｏｄｅ）」のリンク３７４は、ユーザが外部システム上でそのアクションを実行すると外部システム１２０上の「再生する」アクション・インスタンスを識別するために必要なパラメータを含むアプリケーション・プログラミング・インタフェース（ＡＰＩ）コールを含むコード・スニペットを提供する。別の実施形態では、「コードを取得」のリンク３７４は、ボタンまたはリンクをクリックするなどのイベントとして再生アクションが外部システム１２０上で生じると「テニス試合」のオブジェクト・インスタンスを識別するために必要なパラメータを含むマークアップ言語文書内に含めるメタ・タグを含むコード・スニペットを提供する。同様に、ボタン３７６を使って、新しいオブジェクト・タイプを定義することができ、リンク３７８では、サードパーティ・デベロッパーまたは管理者は、定義されているオブジェクト・タイプに対するコードを編集または取得することができる。一実施形態では、「コードを取得」のリンク３７８は、外部システム１２０上の「テニス試合」のオブジェクト・インスタンスを識別するために必要なパラメータを含むマークアップ言語文書内に含めるメタ・タグを含むコード・スニペットを提供する。ボタン３８０を使用することで、サードパーティ・デベロッパーまたは管理者は、新しいプロファイル・ユニットを定義することができる。プロファイル・ユニットは、定義されているグラフ構造に対するカスタマイズされたストーリである。例えば、グラフ取り出しモジュール２２２を使用して外部システム１２０上で取り込まれるユーザ・アクションに基づき興味深いデータを可視化するようにカスタム・クエリが定義され得る。グラフ翻訳モジュール２３４は、データ可視化に対する記述的コンテンツを生成するために使用され得る。
【００８７】
一実施形態では、プロファイル・ユニットは、図３Ｈに例示されているツールによって定義される。プロファイル・ユニットの名前は、名前のテキスト・フィールド３８４を通じて変更できる。ソーシャル・ネットワーキング・システム１３０は、プロファイル・ユニット内に取り込まれる外部ユーザ相互作用を可視化するために使用され得る複数のテンプレートを備える。プロファイル・ユニットは、ソーシャル・ネットワーキング・システム上で、ニュースフィード・ストーリとしてニュースフィード内に、またはユーザ・プロファイル・ページ上に表示され得る。プロファイル・ユニットは、一実施形態では、組み込みウィジェット（例えば、ｉｆｒａｍｅ）を通じてソーシャル・ネットワーキング・システムの外の外部システム上にも表示され得る。別の実施形態では、ソーシャル・ネットワーキング・システム１３０の外部のエンティティは、他のウェブサイト上の広告において図３Ｈに例示されているツールによって定義されるようなプロファイル・ユニットを備
えることができる。テンプレート・ドロップ・ダウン・メニュー３８６は、マップ（ｍａｐ）、リストビュー（ｌｉｓｔｖｉｅｗ）、ギャラリー（ｇａｌｌｅｒｙ）、テーブル（ｔａｂｌｅ）、およびポスター（ｐｏｓｔｅｒ）を含む、選択用のテンプレートを提示する。マップは、地図上に出現しているように外部ユーザ相互作用を表示することができる。リストビューは、外部ユーザ相互作用をリスト形式で提示する。ギャラリーは、外部ユーザ相互作用の取り込み時にパラメータ化されるような、外部ユーザ相互作用を表す画像とともに外部ユーザ相互作用を提示する。テーブルは、外部ユーザ相互作用の単純なテーブル・データの視覚エフェクトを提示する。ポスターは、外部ユーザ相互作用を個別にまたはグループ化して表示するタイムライン・ユニット、またはニュースフィード・ストリーム・ストーリを提示する。
【００８８】
図３Ｈに示されているように、取り込まれた外部ユーザ相互作用は、実行されるアクション・タイプまたはオブジェクト・タイプのプロパティによってグループ化され得る。これらのプロパティは、テキスト・フィールド３８８で指定される。外部ユーザ相互作用は、テキスト・フィールドおよびドロップ・ダウン・メニュー３９０を使用してユーザ指定のプロパティによって並べ替えることができる。定義されているプロファイル・ユニットのプレビュー３９２も表示される。一実施形態では、グラフ取り出しモジュール２２２を使用することで、外部システム上で生成されるアクションおよびオブジェクトを解析し、図３Ｈに例示されているデベロッパー・ツール・アプリケーションを使用して構成され得るプロファイル・ユニットで提示することができる。グラフ翻訳モジュール２３４は、プロファイル・ユニットにおけるデータの視覚エフェクトに対する記述的コンテンツを構成するために利用され得る。
【００８９】
図３Ｉは、テキスト・フィールド３９４のオブジェクト・タイプの名前を指定することによって新しいオブジェクト・タイプがどのように定義され得るかを示している。図３Ｊは、テキスト・フィールド３９６でプロパティ名（ｐｒｏｐｅｒｔｙ  ｎａｍｅ）を指定し、ドロップ・ダウン・メニュー３９８でプロパティのタイプを識別することによって新しいオブジェクト・タイプの新しいプロパティがどのように指定され得るかを例示する。図３Ｆと同様に、図３Ｊに示されているツールのスクリーンショットでは、複数のオブジェクト・タイプ・プロパティを定義に追加することができ、追加されたオブジェクト・プロパティを含むプレビューが表示される。
【００９０】
ソーシャル・ネットワーキング・システムに公開するように構造化された外部ユーザ相互作用の取り込み
ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者が、ソーシャル・ネットワーキング・システム１３０内のソーシャル・グラフに公開するためのアクションおよびオブジェクトの構造を定義した後、サードパーティ・デベロッパーは、図１Ａと併せて上で説明されているウィジェット１２４を含む外部システム１２０上のウェブ・ページ１２２ａを符号化するマークアップ言語文書１１４内に、構造化されたオブジェクトおよびアクションを識別するタグを含めることができる。外部システム上のユーザ相互作用は、アクションおよびオブジェクトに関連付けられているノードを生成する。ノードが生成された後、一実施形態では、アクションおよびオブジェクトが、ソーシャル・ネットワーキング・システム１３０によって維持されるソーシャル・グラフ内に記憶される。別の実施形態では、ソーシャル・グラフは、外部システム１２０によって維持されるが、ソーシャル・ネットワーキング・システム１３０によってアクセス可能であり、サードパーティ・デベロッパーにソーシャル・グラフを効果的に開放し、複雑で豊かなソーシャル・グラフのさらなる開発および定義を促進する。
【００９１】
一実施形態では、ウェブ・ページ１２２ａは、ウェブ・コンテンツおよびウェブ・コンテンツをフォーマットまたは提示するための命令を含むマークアップ言語文書１１４から
なる。さまざまな実施形態において、マークアップ言語文書１１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパーテキスト・マークアップ言語（ＸＨＴＭＬ）データ、または他のマークアップ言語データを含むデータ・ファイルからなる。ウェブ・ページ１２２ｂからなるマークアップ言語文書は、ウェブ・ページ１２２ａ内の外部ユーザ・アクションを取り込むように定義されている１つまたは複数のタグを備えており、該１つまたは複数のタグはオブジェクト・タイプに関するメタ情報を含む。一実施形態では、スクリプト言語のコード・スニペットは、サードパーティ・デベロッパーによってウェブ・ページ１２２ａを符号化するマークアップ言語に統合される。このコード・スニペットは、一実施形態において、ボタンまたはリンクをユーザがクリックすることなどのイベントに応答してユーザをオブジェクトに接続するアクション・インスタンスを作成するためのパラメータを含むＡＰＩコールを備える。一実施形態では、ソーシャル・ネットワーキング・システム１３０は、マークアップ言語文書１１４からタグを取り出し、タグから抽出された情報を使用してアクションおよびオブジェクトをソーシャル・グラフに公開する。別の実施形態では、抽出された情報は、ソーシャル・ネットワーキング・システム１３０内に記憶される。これらのタグにより、ソーシャル・ネットワーキング・システム１３０は、ウェブ・ページ１２２ａおよび外部システム１２０上のユーザ相互作用に基づきアクションおよびオブジェクトに対するソーシャル・グラフ内にノードを作成し定義することができる。ウェブ・ページ１２２ａは、ソーシャル・ネットワーキング・システム１３０のドメインの外にあってよく、またソーシャル・ネットワーキング・システム１３０の通信事業者とは別のエンティティによって運営され得るため、これらのタグを使用することで、サードパーティがソーシャル・ネットワーキング・システム１３０内のソーシャル・グラフに公開した構造化アクションおよびオブジェクトを表すノードを作成することができる。
【００９２】
ウェブ・ページ１２２ａを符号化するマークアップ言語文書１１４に含まれるタグによって提供されるアクションおよびオブジェクトに関する情報は、限定はしないが、タイトル、ラベル、一意的な識別子、マイクロ・フォーマット、および／またはアクションとオブジェクトに関する説明、さらにはノードのタイプ、ノードの１または複数の管理者を指定する１つまたは複数のソーシャル・ネットワーキング・システムのユーザ識別子、および／またはノードに関連付けられている位置情報などの他の情報を含み得る。タイトル・タグは、ソーシャル・ネットワーキング・システム１３０がノードにアクセスするときに示されるテキスト文字列を識別する。同様に、キーワード・タグは、アクションまたはオブジェクトを識別する１つまたは複数のキーワードを識別するテキスト情報を含み、説明タグは、ノードが提示されときにソーシャル・ネットワーキング・システム１３０によって表示されるアクションまたはオブジェクトを記述するテキストを含む。画像タグは、ノードが提示されるときにソーシャル・ネットワーキング・システム１３０によって、またはウィジェット１２４によって表示される画像を識別することができる。ユニフォーム・リソース・ロケータ（ＵＲＬ）、または他のウェブ識別子を使用して、外部システム１２０上のウェブ・ページ１２２ｂに記述されているグラフ・オブジェクトを識別することができる。例えば、ユーザがインターネット・ラジオ放送局ウェブサイト上で楽曲を再生するリンクをクリックした場合、リンクは、アドビ・ショックウェーブ−フラッシュ（Ａｄｏｂｅ  ｓｈｏｃｋｗａｖｅ−ｆｌａｓｈ）（．ｓｗｆ）マルチメディア・ファイルのアクション・イベントであってよい。サードパーティ・デベロッパーは、Ａｄｏｂｅ  ｓｈｏｃｋｗａｖｅ−ｆｌａｓｈマルチメディア・ファイルなどの、楽曲オブジェクト、アーティスト・オブジェクト、および他のファイル内の同様のものの識別子を埋め込むことができる。ランニング・エクササイズの持続時間など、アクション・プロパティの値に対する識別子は、Ａｄｏｂｅ  ｓｈｏｃｋｗａｖｅ−ｆｌａｓｈマルチメディア・ファイルなどの、ファイル内に埋め込まれ得る。Ａｄｏｂｅ  ｓｈｏｃｋｗａｖｅ−ｆｌａｓｈマルチメディア・ファイル内のアクション・イベントの場合、サードパーティ・デベロッパーは、ウェブ・ページ１２２ａ内に埋め込まれたウィジェット１２４にグラフ定義モジュー
ル１３２によって定義されるようなオブジェクトおよびアクションを作成するために必要な情報を伝達する。
【００９３】
管理者タグは、ウェブ・ページ１２２ａ上でタグ付けされたアクションおよびオブジェクトに関連付けられているノードを作成および／または維持する能力を持つソーシャル・ネットワーキング・システム１３０のユーザを指定する１つまたは複数のソーシャル・ネットワーキング・システム１３０のユーザ識別子を含む。管理者タグを使用すると、ソーシャル・ネットワーキング・システム１３０の指定されたユーザが、管理者タグによって指定されたユーザ識別子にのみ利用可能であるユーザ・インタフェースを使用してノードを作成し維持することができる。一実施形態では、アプリケーション識別子は、オブジェクトの所有者を識別するために管理者タグの代わりに使用され得る。別の実施形態では、ソーシャル・ネットワーキング・システム１３０は、オブジェクトがホストされているドメインに基づきオブジェクトの所有者を自動的に検出することができる。例えば、オブジェクトがウェブサイト上のウェブ・ページ、例えば、ｈｔｔｐ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ＳＮＯＷＭＡＮによって記述され、「スノーマン（ＳＮＯＷＭＡＮ）」がオブジェクトである場合、「ＳＮＯＷＭＡＮ」オブジェクトの所有者はドメイン「ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ」として自動的に検出され得る。次いで、ソーシャル・ネットワーキング・システムは、オブジェクトと相互作用したユーザの数などのオブジェクトに関する測定基準情報を決定することができる。ソーシャル・ネットワーキング・システムは、オブジェクト所有者に基づきオブジェクトの挙動を監視することもできる。例えば、既知のスパマーがオブジェクトを作成することをブロックされ得る。ソーシャル・ネットワーキング・システム上でコネクションを有していない所有者によって作成されたオブジェクトは、オブジェクトがスパムであるか、ウイルスであるか、または他のマルウェアであるかを決定するために監視され得る。
【００９４】
１つまたは複数のマイクロ・フォーマットは、マークアップ言語文書１１４に含まれる他のマークアップ・タグに意味を付加し、これにより、マークアップ・タグによって識別される情報をソーシャル・ネットワーキング・システム１３０によって自動処理することができる。マイクロ・フォーマットにより、オブジェクトおよびアクションを記述するデータを標準化することができる。それに加えて、１つまたは複数のマイクロ・フォーマットは、ノード・タイプをより詳細に識別するか、またはタイプにオブジェクトまたはアクションを関連付けるためにウェブ・ページ１２２ａからソーシャル・ネットワーキング・システム１３０が得る情報を増やすことができる。例えば、マイクロ・フォーマットを使用してウェブ・ページ１２２ａから得られた追加の情報により、ソーシャル・ネットワーキング・システム１３０は、マイクロ・フォーマットからインターネット・ラジオ放送局ウェブサイト、電子商取引ウェブサイト、またはニュース・サービスなどの、視聴されているウェブ・ページ１２２ａのタイプを認識することができる。一実施形態では、これらのタイプのウェブ・ページに固有のアクションおよびオブジェクトは、ソーシャル・ネットワーキング・システム１３０によって、外部システム１２０上で取り込まれるユーザ・アクションを検証するための追加チェックとして期待され得る。それに加えて、マイクロ・フォーマットを使用すると、ソーシャル・ネットワーキング・システム１３０は、ウェブ・ページ１２２ａに関連付けられているオブジェクトおよびアクションに接続されたユーザの関心に関してさらに学習することができる。同様に、位置タグは、ウェブ・ページ１２２ａに関連付けられている位置に関する情報をソーシャル・ネットワーキング・システム１３０に提供する。例えば、位置タグは、ウェブ・ページ１２２ａに関連付けられている１つまたは複数のアドレスを識別する。
【００９５】
ノード・タイプ・タグは、ソーシャル・ネットワーキング・ウェブサイト１３０上のノードのタイプを識別する。ソーシャル・ネットワーキング・システム１３０は、異なるタイプのノード上で異なるアクションを実行させることができる。ノードは、ユーザ、人間
以外のエンティティ、コンテンツ・アイテム、グループ、イベント、メッセージ、コンセプト、スポーツ・チーム、ブログ、アクティビティ、ウェブサイト、映画、ミュージシャン、ホテル、大学、政府機関、ＵＰＣで識別される製品、書籍、レストラン、会社、名所旧跡、バー、位置、またはソーシャル・ネットワーキング・システム１３０内のオブジェクトによって表すことができる他のものを表すことができる。ノード・タイプ・タグは、サードパーティ・デベロッパーが外部システム１２０および外部システム上でホストされているウェブサイト上のウェブ・ページ１２２ａ内のノードを識別することができる。例えば、楽曲オブジェクトに対するノード・タイプ・タグは、「＜ｎｏｄｅｔｙｐｅ＝Ｇｒａｐｈ  Ｏｂｊｅｃｔ＞＜ＯＧ：ｍｕｓｉｃ：ｓｏｎｇ＞ムーブス・ライク・ジャガー（Ｍｏｖｅｓ  Ｌｉｋｅ  Ｊａｇｇｅｒ）＜／ＯＧ＞」などの文字列を含むことができ、ノード・タグはノード・タイプをグラフ・オブジェクトであると識別し、タグは「Ｍｏｖｅｓ  Ｌｉｋｅ  Ｊａｇｇｅｒ」というタイトルの楽曲へのリンクを識別する。
【００９６】
外部システム１２０は、ウェブ・ページ１２２ａを符号化するマークアップ言語文書１１４を生成し、要求があった場合にマークアップ言語文書１１４をユーザ・デバイス１１０に提供する。ユーザ・デバイス１１０は、ユーザのユーザ・プロファイル・オブジェクト識別子を含むクッキー１１６を使用するブラウザ・アプリケーション１１２を利用する。マークアップ言語文書１１４内で、ウィジェット１２４は、一実施形態において、ウェブ・ページ１２２ａ上のグラフ・オブジェクトに対するユーザ・アクションに関する情報を含むソーシャル・ネットワーキング・システム１３０にＡＰＩコールを実行する命令を含む。ウィジェット１２４は、一実施形態では、ブラウザ・アプリケーション１１２によってレンダリングされたウェブ・ページ１２２ａには表示されない。別の実施形態では、ウィジェット１２４は、ウェブ・ページ１２２ａ上のユーザのアクションに対するアクション・ログを生成して、ソーシャル・ネットワーキング・システム１３０がアクションおよびオブジェクトをソーシャル・グラフ内に公開するためアクション・ログを定期的に取り出せるようにユーザによって受動的に生成されるアクションおよびオブジェクトを記録する。アクション・ログから抽出された、またはＡＰＩコールを通じて受け取った情報は、一実施形態において、ソーシャル・ネットワーキング・システム１３０に記憶され得る。別の実施形態では、抽出された情報は、ソーシャル・ネットワーキング・システム１３０のストリームでニュースフィード・ストーリまたはコンテンツ・アイテムを生成するために使用され得る。
【００９７】
ソーシャル・ネットワーキング・システム１３０が、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者によって定義されるような、オブジェクトのタイプおよびアクションのタイプ、さらにはオブジェクトとアクションとの間の関係を記憶した後、グラフ・アクションおよびグラフ・オブジェクトは、外部システム１２０上のウェブ・ページ１２２ａと相互作用するソーシャル・ネットワーキング・システム１３０のユーザによって生成され得る。図４は、本発明の一実施形態による、ソーシャル・ネットワーキング・システム１３０の外にある構造化アクションおよびオブジェクトを取り込むための方法の相互作用図である。図４で示されている実施形態において、外部システム１２０は、ソーシャル・ネットワーキング・システム１３０とは別である。最初に、ユーザ・デバイス１１０は、外部システム１２０にコンテンツを要求する（４１０）。例えば、ユーザ・デバイス１１０のユーザは、外部システム１２０に関連付けられているユニフォーム・リソース・ロケータ（ＵＲＬ）または他の識別子をユーザ・デバイス１１０上で動作するブラウザ・アプリケーション１１２に入力する。ブラウザ・アプリケーション１１２は、受け取ったＵＲＬまたは他の識別子に関連付けられている外部システム１２０を識別し、識別された外部システム１２０に受け取ったＵＲＬまたは他の識別子に関連付けられているウェブ・ページ１２２ａを要求する。別の例として、ユーザ・デバイス１１０のユーザは、外部システム１２０に関連付けられているユーザ・デバイス１１０上のアプリケーションを開き、コンテンツの要求４１０がアプリケーションによ
って外部システム１２０に送られる。
【００９８】
コンテンツの要求４１０を受信した後、外部システム１２０は、ローカルに記憶されているデータを使用してコンテンツを生成する（４１２）。例えば、外部システム１２０は、記憶されているデータに基づきウェブ・ページ１２２ａのコンテンツおよびフォーマットを記述するマークアップ言語文書１１４を生成する（４１２）。マークアップ言語文書１１４は、ユーザ・デバイス１１０のブラウザ・アプリケーション１１２によって実行されたときに、ソーシャル・ネットワーキング・システム１３０からデータを取り出し、ソーシャル・ネットワーキング・システム１３０から取り出された情報を表示する命令からなるウィジェット１２４を備える。別の例として、外部システム１２０は、ユーザ・デバイス１１０からのＡＰＩコールに応答してコンテンツを生成することができる（４１２）。
【００９９】
次いで、外部システム１２０は、コンテンツをユーザ・デバイスに送信する（４１４）。一実施形態では、外部システム１２０は、ネットワーク１４０を通じて、生成されたウェブ・ページ１２２ａ記述し、ウィジェット１２４を含むマークアップ言語文書１１４をユーザ・デバイス１１０に送信する（４１４）。マークアップ言語文書１１４を受け取った後、ブラウザ１１２は、マークアップ言語文書１１４に含まれるコンテンツおよびフォーマット命令に基づきウェブ・ページ１２２ａをレンダリングする（４１６）。ウェブ・ページ１２２をレンダリングする（４１６）ことに加えて、ユーザ・デバイス１１０におけるブラウザ１１２は、ウィジェット１２４を実行して（４１８）、ウェブ・ページ１２２ａ内にフレームを作成する。ウィジェット１２４を実行すると、クッキーを通じてユーザ・デバイスを認証することによってソーシャル・ネットワーキング・システム１３０にパーソナライズされたコンテンツを要求する（４２０）ことにもなる。ウィジェット１２４に含まれる、ＵＲＬ、または他のウェブ識別子は、ソーシャル・ネットワーキング・システム１３０に伝達され、これにより、ＵＲＬまたは他のウェブ識別子に関連付けられているオブジェクトおよびアクションにコンテンツを要求する（４２０）。一実施形態では、ブラウザ１１２は、ウィジェット１２４からの１つまたは複数のパラメータも識別し、フレーム内に入れるコンテンツを要求する（４２０）ときに識別されたパラメータをソーシャル・ネットワーキング・システム１３０に送信し、要求されたコンテンツのカスタマイズをさらに行えるようにする。別の実施形態では、パーソナライズされたコンテンツに対する要求４２０は、ユーザ・デバイス１１０からソーシャル・ネットワーキング・システム１３０へのＡＰＩコールを通じて行われる。ＡＰＩコールは、上で説明されているように、アクションおよびオブジェクトの構造を定義したサードパーティ・デベロッパーによってパラメータ化される。
【０１００】
ユーザ・デバイス１１０からコンテンツに対する要求を受け取ったことに応答して、ソーシャル・ネットワーキング・システム１３０は、クッキー１１６を通じてユーザ・デバイス１１０を認証する。一実施形態では、クッキー１１６の存在は、コンピューティング・デバイス１１０のユーザが、ソーシャル・ネットワーキング・システム１３０のユーザか否か（例えば、ユーザがソーシャル・ネットワーキング・システム１３０の有効なアカウントを有するか否か）を示す。コンピューティング・デバイス１１０のユーザが、ソーシャル・ネットワーキング・システム１３０のユーザである場合、クッキー１１６は、ユーザが、ソーシャル・ネットワーキング・システム１３０のユーザか否か（例えば、ユーザがソーシャル・ネットワーキング・システム１３０と現在有効なセッションを有するか否か）を示す情報を含んでいるものとしてよい。クッキーは、本明細書では、ユーザおよび／またはユーザ・セッションを認証することについて説明されているが、ユーザまたはセッション識別または認証の他の方法を使用することもできる（物理的なトークンを認識するなど）。
【０１０１】
ユーザ・デバイス１１０の認証後に、ソーシャル・ネットワーキング・システム１３０は、受け取ったクッキー１１６に関連付けられているユーザに応じてパーソナライズされるフレームに入れる要求されたパーソナライズコンテンツを生成する（４２２）。例えば、ソーシャル・ネットワーキング・システム１３０は、ウィジェット１２４に含まれているＵＲＬに関連付けられ、識別されたユーザの友達に関連付けられているノードのアクションを記述するソーシャル情報を生成する（４２２）。例えば、生成されたソーシャル情報は、あるタイプのオブジェクトに特定のタイプのアクションを行って識別されているユーザの友達の数を識別するか、またはあるタイプのオブジェクトに指定されたタイプのアクションを最近行ったユーザの特定の友達を識別する。あるいは、ソーシャル・ネットワーキング・システム１３０は、ウィジェット１２４に含まれているＵＲＬに関連付けられているアクションおよびオブジェクトから、識別されたユーザに関連付けられているソーシャル情報を追加することなく、データを抽出することによってコンテンツを生成する（４２０）。例えば、ソーシャル・ネットワーキング・システム１３０は、ウィジェット１２４に含まれるＵＲＬ上に既に取り込まれているアクションおよびオブジェクトのタイトル、説明、および画像を決定する。このコンテンツは、例えば、他のユーザがユーザに直接的に接続されていない場合であっても、関心に対する親近感で他のユーザによって実行されるアクションを並べ替えることによってユーザ・デバイス１１０に関連付けられているソーシャル・ネットワーキング・システム１３０のユーザにパーソナライズすることができる。
【０１０２】
ソーシャル・ネットワーキング・システム１３０が、受け取ったクッキー１１６に関連付けられているユーザがウィジェット１２４に含まれるＵＲＬに関連付けられているオブジェクト・タイプまたはアクション・タイプに記憶されている管理者ユーザ識別子と一致すると決定した場合に、ソーシャル・ネットワーキング・システム１３０は、フレームによる提示のため管理コンテンツを生成する（４２２）。ウェブ・ページ１２２ａを符号化するマークアップ言語文書１１４に含まれる管理者タグは、ウェブ・ページ１２２ａに関連付けられているオブジェクト・タイプまたはアクション・タイプを作成し、および／または維持することができるソーシャル・ネットワーキング・システム１３０のユーザを指定する。したがって、ソーシャル・ネットワーキング・システム１３０が、管理者ユーザ識別子に関連付けられているユーザを識別するときに、ソーシャル・ネットワーキング・システム１３０は、ユーザがウィジェット１２４に含まれるＵＲＬに関連付けられているノードを修正することを可能にするコンテンツを生成する（４２２）。例えば、ソーシャル・ネットワーキング・システム１３０は、フレームを通じてユーザによってアクセスされたときにユーザをデバッグ・ページに誘導するリンクを生成する（４２２）。あるいは、ソーシャル・ネットワーキング・システム１３０は、フレームを使用して表示するためにウィジェット１２４に含まれているＵＲＬに関連付けられているノードからデバッグ情報を生成する（４２２）。例えば、ソーシャル・ネットワーキング・システム１３０は、ウェブ・ページ１２２ａを符号化するマークアップ言語文書１１４から欠落しているタグを識別し、ユーザが欠落タグを入力するか、または既存のタグを修正することを可能にする。
【０１０３】
しかし、ソーシャル・ネットワーキング・システム１３０が、受け取ったクッキー１１６に関連付けられているユーザを認証することができない場合、ソーシャル・ネットワーキング・システム１３０は、ユーザが認証情報を入力することを求めるプロンプトをユーザ・デバイス１１０に伝達する。あるいは、ソーシャル・ネットワーキング・システム１３０は、ウィジェット１２４に含まれているＵＲＬに関連付けられているノードから、ユーザに向けてコンテンツをパーソナライズすることなく、データを抽出することによってコンテンツを生成する（４２２）。別の実施形態では、ソーシャル・ネットワーキング・システム１３０は、ウィジェット１２４に含まれているＵＲＬに関連付けられているノードからデータを抽出することと、識別されたノードに関するソーシャル・ネットワーキン
グ・システム１３０のユーザが実行するアクションを決定することとによってコンテンツを生成する（４２２）。例えば、ソーシャル・ネットワーキング・システム１３０は、ソーシャル・ネットワーキング・システム１３０のユーザによって実行される識別されたアクション・タイプおよびオブジェクト・タイプに関して一番最近のユーザ相互作用を識別することができる。したがって、ソーシャル・ネットワーキング・システム１３０が、受け取ったクッキー１１６に関連付けられているユーザに関連付けられている認証情報を受信するまで、ソーシャル・ネットワーキング・システム１３０によって生成される（４２２）コンテンツは、識別されたノードに関する受け取ったクッキー１１６に関連付けられているユーザの友達によって実行されるアクションを記述するソーシャル情報を含まない。
【０１０４】
ユーザ・デバイス１１０は、ネットワーク１４０を通じてソーシャル・ネットワーキング・システム１３０からパーソナライズされたコンテンツを受信する（４２４）。次いで、ユーザ・デバイス１１０は、ソーシャル・ネットワーキング・システム１３０から受信された（４２４）パーソナライズコンテンツを表示する（４２６）。次いで、ユーザ・デバイス１１０は、アクションに関連付けられているユーザから入力を受け取る（４２８）。ユーザ・デバイス１１０は、ユーザがプロンプトまたは他のユーザ・インタフェースを通じてユーザ・デバイス１１０を使用してユーザが「１０マイル走った」か、または「テール・オブ・ザ・シティ（Ｔａｌｅｓ  ｏｆ  ｔｈｅ  Ｃｉｔｙ）を読んだ」ことを示すことを可能にするユーザ・デバイス１１０上で実行されているアプリケーションなどの、アクションをユーザが実行したことを示す明示的な指示をユーザから受け取ることができる。別の実施形態では、ユーザ・デバイス１１０は、ユーザが特定のウェブ・ページをロードする、電子書籍リーダー・アプリケーションを開いて書籍をロードする、または音楽アプリケーションを開いて楽曲をロードするなど、ユーザが実行するアクションを観察することができる。アクションは、楽曲を聴く、書籍を読む、バーベルを持ち上げる、またはテニスの試合をするなど、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者によって定義される。アクションに関連付けられているユーザからの入力は、一実施形態では、ブラウザ・アプリケーション上でのマウスのクリック、タッチ・コマンド、または音声コマンドによって受け取ることができる。別の実施形態では、アクションに関連付けられているユーザ入力は、ウェブ・ページの指定されたＵＲＬをロードするＨＴＴＰ要求を提出することによって受け取る（４２８）ことができる。さらに別の実施形態では、アクションに関連付けられているユーザ入力は、ユーザ・デバイス１１０でユーザ・デバイス１１０上で実行しているアプリケーションを通じてＧＰＳ位置を取得することによって受け取る（４２８）ことができる。さらなる実施形態において、アクションに関連付けられているユーザ入力は、ユーザ・デバイス１１０が外部システムと通信して、インターネット・ラジオ放送局で次の楽曲を再生する、またはテニス試合で新しい高スコアを達成するなど、ユーザ・デバイス１１０上でアクションを実行することによって受け取る（４２８）ことができる。上で説明されているように外部システム１２０を運用しているサードパーティ・デベロッパーまたは通信事業者は、ウィジェット１２４でコード・スニペットを実装し、ユーザ・デバイス１１０が受け取る（４２８）アクションを識別した。このようにして、ユーザ・デバイス１１０のユーザは、ユーザ・デバイス１１０がソーシャル・ネットワーキング・システム１３０によって認証された後、ユーザ・デバイス１１０が受け取る（４２８）アクションを受動的に作成することができる。
【０１０５】
ユーザ・デバイス１１０は、アクションを受け取る（４２８）と、アクションに対するウィジェット・ロジック、またはウィジェットに含まれる命令を実行する（４３０）。一実施形態では、ウィジェット・ロジック内の命令により、ブラウザ・アプリケーション１１２はウィジェット１２４を実行させて、ウィジェット１２４によって識別されたＵＲＬに関連付けられているアクション・タイプおよびオブジェクト・タイプの定義済みの構造
に応じてアクションを記録する。ウィジェットは、ソーシャル・ネットワーキング・システム１３０にＡＰＩコールでユーザ・アクションに関する情報を送信する（４３２）命令も含み得る。そのような情報は、実行されたアクション・タイプ、オブジェクト・タイプ、およびユーザに対するユーザ識別子、さらには走ったマイル数、燃焼したカロリー数、エクササイズの位置、音楽アプリケーションなどの同時に実行している他のアプリケーション、および同様のものなどの、実行されたアクションに関する文脈の情報を含むものとしてよい。ソーシャル・ネットワーキング・システム１３０は、ユーザとアクション・タイプ・ノードとの間のアクションを記録する（４４０）。ソーシャル・ネットワーキング・システム１３０におけるノードとのユーザ相互作用の場合と同様に、この相互作用は、ユーザとそのユーザが相互作用したアクション・タイプとの間のエッジを形成し得る。記憶されているエッジは、そのアクション・タイプ・ノードとユーザとの間のコネクションに関する有用な情報をもたらす（ユーザがノードでも表されている場合）。このエッジ情報は、ソーシャル・ネットワーキング・システム１３０のオブジェクト・ストア内に、例えば、ユーザに関連付けられているユーザ・プロファイル・オブジェクト内に、またはコネクション・ストア２１４内の個別のコネクション・オブジェクトとして、記憶され得る。
【０１０６】
受け取った（４２８）アクションは、外部システム１２０との通信で行われ得るので、ユーザ・アクションは、ユーザ・デバイス１１０によって個別に報告される代わりに、外部システム１２０によって集約され得る（４３４）。定期的に、これらの集約されたアクションは、ソーシャル・ネットワーキング・システム１３０によって要求され（４３６）、アクションがソーシャル・ネットワーキング・システム１３０に記録され（４４０）得るようにソーシャル・ネットワーキング・システム１３０によって取り出され得る（４３８）。このような一実施形態では、ソーシャル・ネットワーキング・システム１３０は、外部システム１２０が集約されたアクションを要求（４３６）後に取り出し（４３８）に利用可能にするＡＰＩを提供することができる。あるいは、この情報を外部システム１２０からソーシャル・ネットワーキング・システム１３０に伝達するための他の適切なメカニズムも使用され得る。
【０１０７】
したがって、ソーシャル・ネットワーキング・システム１３０によって維持されるソーシャル・グラフは、外部システム上で生成され得るアクションおよびオブジェクトを含むことができる。ソーシャル・グラフによって記憶されるデータの量を増加させることに加えて、ソーシャル・グラフをサードパーティ・デベロッパーに開放することで、ソーシャル・ネットワーキング・システム１３０のユーザは、異なる外部システムからトラックの音楽プレイリストを再生する、ソーシャル・ネットワーキング・システム上のコネクションを有する新しいアーティストのアルバムに関して会話に加わる、推奨およびレビューを通じてソーシャル・ネットワーキング・システムのユーザと視聴選好に関する情報を受動的に共有する、外部システム１２０内に具現化されるコンセプトとの他の相互作用の数限りない組み合わせなど、外部システムとの現実世界の相互作用をソーシャル・ネットワーキングのユーザ経験に容易に統合し、共有し、発見することができる。
【０１０８】
図５Ａ〜図５Ｃは、外部システム１２０のウェブ・ページ１２２ａの一実施形態を例示している。ウェブ・ページ１２２ａは、ウェブ・ページ１２２ａを閲覧しているユーザに接続されているソーシャル・ネットワーキング・システム１３０の他のユーザに基づき外部システム１２０から公開されたソーシャル・グラフ・データのクエリの結果を表示するためのフレーム５０４を備える。ウェブ・ページ１２２ａは、ユーザ・デバイス１１０上で動作するブラウザ・アプリケーション１１２を使用してテキスト・データ、ビデオ・データ、画像データ、または提示するための他のデータなどのコンテンツ５１０を含む。ウェブ・ページ１２２ａは、コンテンツ５１０のフォーマットまたは表現を記述する１つまたは複数の命令も含む。ユーザ・デバイス１１０上で動作しているブラウザ・アプリケー
ション１１２が、ウェブ・ページ１２２に含まれる命令を実行する場合、ブラウザ・アプリケーション１１２は、ウェブ・ページ１２２ａによって記述されたフォーマットまたは提示を使用して識別されたコンテンツ５１０を表示する。
【０１０９】
ウェブ・ページ１２２ａは、ソーシャル・ネットワーキング・システム１３０に関連付けられているドメイン内のユニフォーム・リソース・ロケータ（ＵＲＬ）を呼び出すフレーム５０４も備える。フレーム５０４は、ウェブ・ページ１２２ａを符号化するマークアップ言語文書１１４に含まれるウィジェット１２４を実行するユーザ・デバイス１１０上で動作するブラウザ・アプリケーション１１２によってレンダリングされる。ウィジェット１２４は、ブラウザ・アプリケーション１１２によって実行されたときにウェブ・ページ１２２ａ内にフレーム５０４を生成し、フレーム５０４にソーシャル・ネットワーキング・システムからの情報を入れる１つまたは複数の命令からなる。一実施形態では、フレーム５０４は、ソーシャル・ネットワーキング・システム１３０から得られたデータを含むｉＦｒａｍｅである。ｉＦｒａｍｅは、外部システム１２０上で社会的に関連性のある情報をウェブ・ページ１２２ａ内に組み込むプラグインとしても記述され得る。社会的に関連性のある情報は、視聴ユーザに関して既知の情報に基づき視聴ユーザに関連性があるとして認知され得るソーシャル・ネットワーキング・システム１３０のコネクションまたは他のユーザに関する情報として定義され得る。一実施形態では、視聴ユーザの関心および選好は、視聴ユーザに関連付けられ、ソーシャル・ネットワーキング・システム１３０から得られるユーザ・プロファイル・オブジェクトから取得され得る。別の実施形態では、ソーシャル・ネットワーキング・システム１３０上の視聴ユーザの同一性は、未知であってもよい。その場合、ウェブ・ページ１２２ａ上で生成されるコンテンツに関する情報を利用して、コンテンツに関係する社会的に関連性のある情報をフレーム５０４に設定することができる。プラグインは、閲覧されている外部システム１２０上のソーシャル・ネットワーキング・システムのユーザによって生成されているグラフ・アクションおよびグラフ・オブジェクトを含み得る。
【０１１０】
フレーム５０４は、ソーシャル・ネットワーキング・システム１３０によって維持されるノードに関連付けられ、ウィジェット１２４によって指定された、ＵＲＬ、または他のウェブ識別子に関連付けられているソーシャル・ネットワーキング・システム１３０からのデータを含む。例えば、ブラウザ・アプリケーション１１２が、ウィジェット１２４を実行したときに、楽曲オブジェクト識別子、ラジオ放送局オブジェクト識別子、および／またはユーザ・プロファイル識別子を含むコンテンツに対する要求が、ブラウザ・アプリケーション１１２からソーシャル・ネットワーキング・システム１３０に伝達される。ソーシャル・ネットワーキング・システム１３０は、コンテンツに対する要求から楽曲オブジェクト３０４および／またはラジオ放送局オブジェクト３０２を識別し、識別された楽曲オブジェクト３０４および／またはラジオ放送局オブジェクト３０２に関する社会的に関連性のある情報を、ユーザ・プロファイル・オブジェクト３１８のコネクションに基づきブラウザ・アプリケーション１１２に伝達する。ブラウザ・アプリケーション１１２は、この社会的に関連性のある情報をフレーム５０４内に表示する。一実施形態では、ウィジェット１２４は、１つまたは複数のパラメータをソーシャル・ネットワーキング・システム１３０に伝達する。これらのパラメータにより、ウェブ・ページ１２４においてフレーム５０４をカスタマイズすることができる。例えば、これらのパラメータで、フレーム５０４の高さおよび／または幅を指定する。
【０１１１】
一実施形態では、ウィジェット１２４は、ＵＲＬまたは他のウェブ識別子へのいくつかのリンクをクリックするなど、いくつかのイベントの完了後にＡＰＩコールを行うスクリプト言語の命令を備える。例えば、図５Ａは、ウィジェット１２４を含むウェブ・ページ１２２ａの一部分５００を例示している。ウィジェット１２４は、ラジオ放送局メニュー５０２、聴くボタン５１４、次へボタン５１６、再生中リボン５１２、およびフレーム５
０４を備える。聴くボタン５１４の選択で、ユーザはインターネット・ラジオ放送局ウェブサイトで音楽を再生することができる。このイベントの後、聴くボタン５１４をクリックすると、ウィジェット１２４は、ユーザに関連付けられているユーザ・プロファイル・オブジェクト３１８によって聴くアクション３１０を記録する。それに加えて、ラジオ放送局オブジェクト３０２および楽曲オブジェクト３０４が記録され、聴くアクション３１０に関連付けられる。ウィジェット１２４は、一実施形態において、ソーシャル・ネットワーキング・システム１３０に伝達されるアクション・ログにアクションおよびオブジェクトを記録することができる。別の実施形態では、ウィジェット１２４は、ＡＰＩコールでラジオ放送局オブジェクト３０２、楽曲オブジェクト３０４、聴くアクション３１０、およびユーザ・プロファイル・オブジェクト３１８を含むメッセージをソーシャル・ネットワーキング・システム１３０に伝達する。ソーシャル・ネットワーキング・システム１３０へのこのＡＰＩコールにより、ソーシャル・グラフ上にノードを作成することができ、ユーザのコネクションに対して表示されるソーシャル・ネットワーキング・システム１３０のストリームで公開される新しいストーリおよびコンテンツ・アイテムに対するコンテンツを構成する。
【０１１２】
別の例として、ソーシャル・ネットワーキング・システム１３０の外部にある、モバイル・アプリケーションは、ユーザから要求されたときに動作して、クラブで演奏する楽曲を聴くことができる。モバイル・アプリケーションのユーザは、モバイル・アプリケーションにソーシャル・ネットワーキング・システム１３０と情報を共有する許可を与えたと仮定すると、クラブで演奏する識別された楽曲に対応する楽曲オブジェクト３０４は、ウィジェット１２４、さらには聴くアクション３１０によって記録され得る。ロケーション・オブジェクト３１２も、ユーザのモバイル・デバイス上のＧＰＳ測位サービスに基づきウィジェット１２４によって記録され得る。モバイル・アプリケーションは、ソーシャル・ネットワーキング・システム１３０のユーザによって実行されるオブジェクトおよびアクションを記録し、報告するためのウィジェット１２４を組み込むことができる。その結果、ユーザのユーザ・プロファイル・オブジェクト３１８は、楽曲オブジェクト３０４に関連付けられているジャンル・オブジェクト（複数可）３１６の音楽ジャンルにおける関心を反映するように更新され得る。さらに、ユーザは、ロケーション・オブジェクト３１２によって示される場所にチェックインすることができる。そこで、アプリケーションまたはウェブ・ページに組み込まれている、ウィジェット１２４により、ソーシャル・ネットワーキング・システム１３０のユーザは、ソーシャル・グラフに外部システム１２０との１つまたは複数の相互作用を受動的に公開することができる。
【０１１３】
フレーム５０４は、「友達の楽曲トップ３（Ｙｏｕｒ  Ｆｒｉｅｎｄｓ’  Ｔｏｐ  ３
Ｓｏｎｇｓ）」など、ソーシャル・ネットワーキング・システム１３０から得られた社会的に関連性のある情報５０６も含み得る。これにより、フレーム５０４内のコンテンツをソーシャル・ネットワーキング・システム１３０の示されたユーザについてパーソナライズすることができる。社会的に関連性のある情報５０６は識別されたユーザの友達にパーソナライズされるか、ソーシャル・ネットワーキング・システム１３０のユーザが識別できない場合にはすべてのユーザから得られた情報であってよい。それに加えて、社会的に関連性のある情報５０６は、現在視聴されているオブジェクトに対応するオブジェクト識別子に関係する構造化されたアクションおよびオブジェクトに関するクエリを使用して取り出すことができる。この場合、再生中リボン５１２は、アーティスト「ブリトニー・スピアーズ」による曲「Ｔｉｌｌ  Ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓ」を現在再生中となっている。
【０１１４】
図５Ａ〜図５Ｃは、インターネット・ラジオ放送局に対する外部システム１２０の例示的なウェブ・ページを示している。ソーシャル・ネットワーキング・システム１３０のユーザは、ソーシャル・ネットワーキング・システム１３０と情報を共有する許可を外部シ
ステム１２０に既に与えている。ユーザは、外部システム１２０上で「Ｂｒｉｔｎｅｙ」ラジオ放送局を聴くためにラジオ放送局メニュー５０２で選択５０８を行った。アーティスト「ブリトニー・スピアーズ」による曲「Ｔｉｌｌ  Ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓ」が再生中リボン５１２で現在再生中である。ユーザが「聴く」ボタン５１４をクリックすると、一実施形態において、ウェブ・ページ１２２ａに埋め込まれているウィジェット１２４は、ユーザのユーザ・プロファイル・オブジェクト識別子および楽曲オブジェクト識別子とともにソーシャル・ネットワーキング・システム１３０にＡＰＩコールを実行する。別の実施形態では、ウィジェット１２４は、ソーシャル・ネットワーキング・システム１３０によって定期的に取り出されるアクション・ログ内に、聴くアクションおよび楽曲オブジェクトを記録する。さらなる実施形態において、ウィジェット１２４は、ソーシャル・ネットワーキング・システム１３０上で聴くアクション・インスタンスおよび楽曲オブジェクト・インスタンスに関する識別情報をアクション・ログ内に記録する。一実施形態では、楽曲に対する楽曲オブジェクト識別子は、楽曲の名前およびアーティストの名前である。別の実施形態では、英数字識別子は、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者によって楽曲に割り当てられる。さらなる実施形態において、楽曲オブジェクトの識別子は、外部システム１２０上で楽曲オブジェクトを記述するウェブ・ページ１２２ｂに対するＵＲＬである。
【０１１５】
ユーザが「次へ」ボタン５１６をクリックすると、サードパーティ・デベロッパーは、ユーザは再生していた楽曲に関心を持っていないと解釈し得る。その結果、ユーザが楽曲をスキップしたことを示すユーザのユーザ・プロファイル・オブジェクト識別子および楽曲オブジェクト識別子とともにソーシャル・ネットワーキング・システム１３０に対して別のＡＰＩコールが実行される。「スキップする」アクションは、アプリケーションがこの情報を利用してユーザのユーザ・プロファイル情報を修正することによって、ユーザがその楽曲、その楽曲を演奏しているアーティスト、およびその楽曲に関連付けられている音楽のジャンルに関心を持っていないことを示すと解釈できる。楽曲オブジェクト３０４がアーティスト・オブジェクト３０６にリンクされ、楽曲オブジェクトとアーティスト・オブジェクトの両方がジャンル・オブジェクト３１６にリンクされている図３に説明されている構造のように、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者によって定義されているなど、楽曲オブジェクトが構造化されているため、グラフ・オブジェクトに対するグラフ・アクションの解析が実行され得る。グラフ・アクションおよびグラフ・オブジェクトの解釈は、ソーシャル・ネットワーキング・システム１３０および／または外部システム１２０のさまざまなモジュールによって生成され得る。
【０１１６】
図５Ａは、ウィジェット１２４が、現在再生している楽曲に関する社会的に関連性のある情報５０６をユーザにどのように提供することができるかも示している。これは、本発明の実施形態によって生成されるアクションおよびオブジェクトに対して行われるクエリの結果である。図５Ａにおいて、「Ｙｏｕｒ  Ｆｒｉｅｎｄｓ’  Ｔｏｐ  ３  Ｓｏｎｇｓ」は、ソーシャル・ネットワーキング・システム１３０上のユーザのコネクションによって再生された曲上位３曲を示す。サードパーティ・デベロッパーは、ソーシャル・ネットワーキング・システム１３０の管理者によって作成され得る最も頻繁に再生される楽曲などのテンプレート・クエリに加えて、カスタム・クエリも利用することができる。例えば、図５Ｂにおいて、ウィジェット１２４は、ユーザ自身の曲上位３曲のユーザへの表示のためフレーム５２０を提供する。これらの結果を取り出したクエリは、ユーザが最も聴いた楽曲に加えてユーザがスキップした楽曲を除外することができる。さらに入り組んだ複雑なクエリを生成して、ユーザが好むアーティストの最もポピュラーな誕生年を表示するフレーム５２２を例示している図５Ｃに示されているように、より興味深いデータの視覚エフェクトを提供することができる。このクエリは、ユーザが最も聴き、次いでアーティストの誕生年でグループ化された楽曲をとる。図示されていないが、このクエリは、ソ
ーシャル・ネットワーキング・システム１３０内のユーザのコネクション上で、またはソーシャル・ネットワーキング・システム１３０のすべてのユーザに亘って実行することもできる。ここでもまた、これらのクエリは、図３に例示されているように、ソーシャル・ネットワーキング・システム１３０のサードパーティ・デベロッパーまたは管理者によって定義されているような楽曲オブジェクトの構造によって可能にされる。
【０１１７】
図５Ｃは、ソーシャル・ネットワーキング・システム１３０のユーザによって再生されている、別のラジオ放送局である「グリー（Ｇｌｅｅ）」放送局を例示している。「Ｇｌｅｅ」ラジオ放送局の選択５０８は、一実施形態において、ＡＰＩコールのパラメータとして「Ｇｌｅｅ」に対するラジオ放送局オブジェクト識別子３０２およびユーザのユーザ・プロファイル・オブジェクト識別子を渡すウィジェット１２４によるソーシャル・ネットワーキング・システム１３０へのＡＰＩコールのトリガとなり得る。別の実施形態では、アクション・ログは、同じ情報が設定され、ソーシャル・ネットワーキング・システム１３０によって定期的に取り出され得る。例えば、「切り替える」アクションは、図３で説明されている「聴く」アクションに加えて、アクション・ログに記録され得る。
【０１１８】
図５Ａ〜図５Ｃに例示されているように、外部システム１２０上、特にウェブ・ページ１２２ａ上のユーザ・アクションに基づき複数のアクションおよびオブジェクトが生成され、ソーシャル・ネットワーキング・システム１３０のソーシャル・グラフに公開され得る。特に、ウェブ・ページ１２２ａ内に埋め込まれているウィジェット１２４は、一実施形態において、さまざまなボタン、メニュー、およびリンクをクリックするなど、ユーザ・イベントにおいてソーシャル・ネットワーキング・システム１３０へのＡＰＩコールを実行するようにサードパーティ・デベロッパーによってプログラムされ得る。別の実施形態では、ウィジェット１２４は、ユーザがこれらのイベントを実行することに対するアクション・ログを生成し、オブジェクトおよびアクションをアクション・ログに記録してソーシャル・ネットワーキング・システム１３０が定期的に取り出せるようにすることができる。
【０１１９】
図５Ｄは、本発明の一実施形態による、外部システム１２０のウェブ・ページ１２２ａ上で実行されるウィジェット１２４の一例を示している。一実施形態では、ウィジェット１２４は、社会的に関連性のある情報５３８を取り出して視聴ユーザに推奨を行うためにソーシャル・ネットワーキング・システム１３０へのＡＰＩコールを生成する命令を含む。図５Ｄは、ウィジェット１２４がソーシャル・ネットワーキング・システム１３０から取得された社会的に関連性のある情報５３８、「“ウラジーミル・プーチンは、人物です”は、ソレイオ・クエルボと３人の友達によって読まれた（Ｖｌａｄｉｍｉｒ  Ｐｕｔｉｎ  ｉｓ  Ｔｈｅ  Ｍａｎ  ｒｅａｄ  ｂｙ  Ｓｏｌｅｉｏ  Ｃｕｅｒｖｏ  ａｎｄ  ３
ｆｒｉｅｎｄｓ）」を組み込んだプラグイン５３０をレンダリングする外部システム１２０上にホストされているニュース記事ウェブサイトを例示している。図５Ｄに示されているように、ニュース記事「ウラジーミル・プーチンは、人物です（Ｖｌａｄｉｍｉｒ  Ｐｕｔｉｎ  ｉｓ  Ｔｈｅ  Ｍａｎ）」はグラフ・オブジェクトであり、「読まれた（ｒｅａｄ）」がグラフ・アクションである。「ソレイオ・クエルボ（Ｓｏｌｅｉｏ  Ｃｕｅｒｖｏ）」および「３人の友達（３  ｆｒｉｅｎｄｓ）」は、グラフ・オブジェクトに対してグラフ・アクションを実行した実行者（Ｓｏｌｅｉｏ  Ｃｕｅｒｖｏ）５４０、またはソーシャル・ネットワーキング・システム１３０のユーザである。画像５４４は、実行者５４０に対応するＡＰＩコールの結果としてソーシャル・ネットワーキング・システム１３０から取り出され、プラグイン５３０にも表示され得る。
【０１２０】
グラフ・アクションは、ニュース記事を「未読」としてマークすることを可能にするボタンなど、カスタム実行ボタン５３２に組み込まれ得る。カスタム実行ボタン５３２は、関わるグラフ・アクションのタイプに応じてさまざまなプログラミング命令を組み込むこ
とができる。この場合、カスタム実行ボタン５３２は、ユーザがウェブ・ページ１２２ａをロードするときに個別のアクション、「既読にする」アクションを反転する「未読にする」アクションを生成する。「既読にする」アクションは、一実施形態では、ウェブ・ページ１２２上でユーザが所定の時間を費やすか、または別の実施形態では、ウェブ・ページ１２２の終わりまでスクロール・ダウンすると受動的に生成され得る。ソーシャル・ネットワーキング・システム上のコネクションとノードを共有する、ノードの賛同を表明するなどの、他のアクションも、プラグイン５３０の送信（Ｓｅｎｄ）ボタン５３４および「いいね（Ｌｉｋｅ）」ボタン５３６に組み込むことができる。プラグイン５３０は、社会的に関連性のある情報５３８内に、ソーシャル・ネットワーキング・システム１３０のユーザによる多数のコメントおよび賛同の表明も含める。最後に、プラグイン５３０内に表示する承認（Ａｄｄ  ｔｏ  Ｐｒｏｆｉｌｅ）ボタン５４２が提供され、これにより、継続的に外部システム１２０上で生成されるグラフ・コンテンツ・アイテムのソーシャル・ネットワーキング・システム１３０への受動的公開に対する承認を行うことができる。例えば、外部システム１２０上にホストされているウェブサイトのウェブ・ページ１２２ａを訪れるユーザは、プラグイン５３０において、ウェブサイトをユーザに関連付けられているプロファイル・ページに追加するよう求められ得る。そうする際に、ユーザは、ユーザがウェブサイトとの相互作用を続けるときにコンテンツ・アイテムをストリーム内に受動的に公開する許可をソーシャル・ネットワーキング・システム１３０に付与する。これは、外部システム１２０上の現実世界の相互作用も取り込みつつ、ソーシャル・ネットワーキング・システム１３０のユーザに対して、発見し共有する追加のグラフ・コンテンツ・アイテムを生成する点において有益である。
【０１２１】
別の実施形態では、サードパーティ・デベロッパーは、ウェブ・ページ１２２ａ上のコンテンツに対するソーシャル・コンテキストを含む外部システム１２０上のウェブ・ページ１２２ａ上にウィジェット１２４を備えることができる。複数のアクションが、「推奨する」、「共有する」、「いいね」、「読む」、「コメントする」、「ダウンロードする」などのウェブ・ページ１２２ａ上に具現化されたグラフ・オブジェクトに対して実行され得る。図５Ｄにおいて、記事は、視聴ユーザによって「読まれている」。ウィジェット１２４に含まれる画像５４４は、ニュース記事オブジェクトに対して「読む」アクションを実行した他のユーザを含み得る。他方で、「推奨する」アクションなどの異なるアクションがグラフ・オブジェクトに対する「最良の」アクションであると決定される場合もあるが、それは視聴ユーザに接続されているより多くのユーザがグラフ・オブジェクトに対してそのアクションを実行しているためである。そのようなものとして、画像５４４は、「最良の」アクションである、「推奨する」アクションを実行した他のユーザを示すものとしてよい。さらなる実施形態において、ウィジェット１２４は、視聴ユーザの関心、親近感、および過去のクリックの挙動などの視聴ユーザに関する情報を使用して、表示する「最良の」アクションを決定することができる。例えば、「コメントする」アクションは、視聴ユーザが他の記事を頻繁にコメントしているため図５に表示されているグラフ・オブジェクトに対する「最良の」アクションとなっているものとしてよい。したがって、視聴ユーザに表示される画像５４４は、ニュース記事に関してコメントした他のユーザを含むことができる。一実施形態では、サードパーティ・デベロッパーは、ウェブ・ページ１２２ａのコンテンツに対するソーシャル・コンテキストを含め、ウェブ・ページ１２２ａに具現化されたグラフ・オブジェクトに関係する他のユーザ相互作用の可視化を広げるように、ウェブ・ページ１２２ａに具現化されたグラフ・オブジェクトに関係する他のオブジェクトに関心を有しているユーザも含めることができる。例えば、図５Ｄに示されているような「ザ・セレブリティ・ディフェンス（Ｔｈｅ  Ｃｅｌｅｂｒｉｔｙ  Ｄｅｆｅｎｓｅ）」という表題の記事、「ロマン・ポランスキー（Ｒｏｍａｎ  Ｐｏｌａｎｓｋｉ）」に関する記事と相互作用したユーザをウィジェット１２４に単に示す代わりに、ウィジェット１２４は、「Ｒｏｍａｎ  Ｐｏｌａｎｓｋｉ」に関心を持っている視聴ユーザに接続されたユーザ、ソーシャル・ネットワーキング・システム内のページ・オブジェクト、
ロマン・ポランスキーが監督する映画の映画評論記事に対するグラフ・オブジェクトと相互作用したユーザ、さらにはロマン・ポランスキーに関する別のニュース記事にコメントしたユーザを示すものとしてよい。この例では、ウィジェット１２４は、ウェブ・ページ１２２ａに具現化されたグラフ・オブジェクトがキーワード「Ｒｏｍａｎ  Ｐｏｌａｎｓｋｉ」を含んでいるため、映画監督グラフ・オブジェクト「Ｒｏｍａｎ  Ｐｏｌａｎｓｋｉ」などの、これらと関連付けられているメタデータを有する、グラフ・オブジェクトを含む、他のオブジェクトと相互作用したソーシャル・ネットワーキング・システムのユーザを含む。他の実施形態では、サードパーティ・デベロッパーは、ロマン・ポランスキーが監督した映画を鑑賞した、法律的記事に関心のある、視聴ユーザに接続されている他のユーザを検索するカスタム・クエリをウィジェット１２４に入れることができる。これらのカスタム・クエリは、カスタム・グラフ・オブジェクトが検索可能なオブジェクト・プロパティを含むことができるため実行され得る。
【０１２２】
ソーシャル・ネットワーキング・システム上への公開のためのグラフ・コンテンツ・アイテムの順位付け
図６は、本発明の一実施形態による、グラフ・コンテンツ・アイテム順位付けモジュールのハイレベルブロック図を例示している。グラフ・コンテンツ・アイテム順位付けモジュール１５０は、機械学習モジュール６００、ヒューリスティック解析モジュール６０２、アプリケーション・スコアリング・モジュール６０４、グラフ・オブジェクト推奨モジュール６０６、パフォーマンス・メトリクス解析モジュール６０８、およびグラフ・コンテンツ・アイテム・スコアリング・モジュール６１０を備える。これらのモジュールは、互いに連携して、または独立して動作し、ソーシャル・ネットワーキング・システム１３０に伝達される外部システム１２０上に生成されたグラフ・データから整理、組み立てられたコンテンツ・アイテムに対する順位付けスコアを作成することができる。
【０１２３】
機械学習モジュール６００は、ソーシャル・ネットワーキング・システム１３０上のグラフ・コンテンツ・アイテムの順位付けを最適化する。初期重みとともに学習モジュールを利用することで、機械学習モジュール６００は、パフォーマンス・メトリクス解析モジュール６０８と連携して使用され、これにより関連性のあるコンテンツ・アイテムを提示するために順位付けを最適化する最もよい方法を決定することができる。例えば、視聴ユーザによってスパムであるとマークされるか、または隠されるコンテンツ・アイテムは、機械学習モジュール６００によって、初期重みを調整するための学習情報として解釈されてもよく、この初期重みは、グラフ・コンテンツ・アイテムの順位付けにおいて機械学習モジュール６００によって使用される。機械学習モジュール６００は、他のモジュールと連携して使用され、一実施形態において、特定の視聴ユーザについてソーシャル・ネットワーキング・システム１３０に表示するコンテンツ・アイテムを明示的に含めるか、または除外することができる。
【０１２４】
ヒューリスティック解析モジュール６０２は、グラフ・コンテンツ・アイテム順位付けモジュール１５０において他のモジュールから独立して、非同期に動作する。ヒューリスティック解析モジュール６０２は、外部システム１２０上に生成されるオブジェクトおよびアクションに関するソーシャル・ネットワーキング・システム１３０によって集められた情報を解析するさまざまな工程を実行する。一実施形態では、ヒューリスティック解析モジュール６０２を使用して、外部ユーザ相互作用を通じて生成されるオブジェクトに具現化される特定の関心に関するコミュニケーション・アクティビティのレベルを解析し、それらのコミュニケーションが外部ユーザ相互作用から生成されたコンテンツ・アイテムを順位付けする際の関連するキーワードを含むか否かを決定することができる。例えば、ヒューリスティック解析モジュール６０２が「レディ・ガガのニュー・シングルは、ブリトニーのより断然よい（Ｔｈｅ  ｎｅｗ  Ｌａｄｙ  Ｇａｇａ  ｓｉｎｇｌｅ  ｉｓ  ｗａｙ  ｂｅｔｔｅｒ  ｔｈａｎ  Ｂｒｉｔｎｅｙ’ｓ）」と読めるソーシャル・ネットワ
ーキング・システム１３０に投稿されたコンテンツ・アイテムに関するコメントを解析して「レディー・ガガ」に対する関心が「ブリトニー」に関する関心より高いと推論し、その結果、コメント作成者のユーザ・プロファイル・オブジェクトにおいて「レディー・ガガ」により高い親近感スコアを割り当ててよい。別の例として、オブジェクト間類似度解析が、ヒューリスティック解析モジュール６０２によって実行され、視聴ユーザが関わっているか、または関心を表明しているオブジェクトと類似するオブジェクトを識別することができる。次いで、グラフ・オブジェクト推奨モジュール６０６によって類似度解析が利用され得る。外部システム１２０上のユーザ相互作用がグラフ・オブジェクトおよびグラフ・アクションを生成すると、整理、組み立てられたグラフ・コンテンツ・アイテムは、ヒューリスティック解析モジュール６０２からの情報を利用することによって順位付けされる。
【０１２５】
アプリケーション・スコアリング・モジュール６０４は、外部システム１２０から受け取ったグラフ・データ１４２に基づき品質に関してアプリケーションを評価する。アプリケーションは、アプリケーションのユーザの数、デベロッパーの年齢、デベロッパーが誰であるか、アプリケーションが報告された回数、公開された、またはスパムとマークされたストリーム・ストーリの数、アプリケーションがソーシャル・ネットワーキング・システムによって無効化されているか否か、および同様のものを含む、さまざまなファクタに基づきソーシャル・ネットワーキング・システム１３０の他のモジュールによって評判スコアを割り当てられ得る。これらのファクタは、アプリケーション・スコアリング・モジュール６０４によって解析され、表示するコンテンツ・アイテムを順位付けする際にグラフ・コンテンツ・アイテム順位付けモジュール１５０によって使用されるアプリケーション品質スコアを生成することができる。アプリケーション品質スコアを生成するために利用され得る追加のファクタとして、インプレッション、クリック、コメント、およびソーシャル・ネットワーキング・システム１３０の視聴ユーザに表示するために提供されたコンテンツ・アイテムとの他の相互作用が挙げられる。アプリケーションに関して受け取った情報は、過去数時間、日、週、および月に基づく履歴的値を含み得る。アプリケーションに対するアプリケーション品質スコアは、一実施形態において、機械学習モジュール６００およびパフォーマンス・メトリクス解析モジュール６０８と連携してアプリケーションに関して受け取った肯定的フィードバックおよび否定的フィードバックに基づき時間の経過とともに最適化されてよい。
【０１２６】
グラフ・オブジェクト推奨モジュール６０６は、他のオブジェクトとの過去の相互作用、視聴ユーザの関心、および視聴ユーザに接続された他のユーザによる他のオブジェクトとの過去相互作用に基づき視聴ユーザが関心を持つと思われるオブジェクトをハイライトする推奨エンジンを備える。一実施形態では、推奨スコアは、視聴ユーザに対するユーザ・ベクトルとオブジェクトを参照するユーザ独立ストーリ・ベクトルとの内積から決定される。視聴ユーザは、音楽ビデオ、社会論評リンク、ニュース記事、政治運動、および社会的正義などの、オブジェクト・タイプのいくつかのカテゴリに対する選好を有し得る。これらの視聴選好は、オブジェクトのそのカテゴリに対する親近感に対応する値を持つユーザ・ベクトルとして記憶され得る。同様に、オブジェクトに関するメタデータが解析され、ユーザ・ベクトルにおけるカテゴリのそれぞれに対するメンバーシップ値を持つユーザ独立ストーリ・ベクトルに記憶され得る。当業者であれば、ユーザ・ベクトルおよびユーザ独立ストーリ・ベクトル内の情報は、配列、行列、およびデータベースなどのさまざまなデータ構造体に記憶され得ることを理解されるであろう。ここで、「ベクトル」という用語は、例示のみを目的として使用されている。例えば、視聴ユーザに接続されている３人のユーザが視聴ユーザと同じ楽曲のうちの９９曲を聴いていれば、それら３人のユーザが１００番目の楽曲も聴いた場合、１００番目の楽曲は、視聴ユーザに関連性を有すると思われる楽曲オブジェクトとして推奨エンジンによって選択され得る。推奨エンジンは、ユーザ・ベクトルおよびユーザ独立ストーリ・ベクトルを使用して、視聴ユーザに推奨
され得る潜在的オブジェクトに対する推奨スコアを計算する。
【０１２７】
その構造で定義されるようなグラフ・オブジェクトのプロパティなどの、オブジェクト・メタデータは、グラフ・オブジェクトのカテゴリを生成するために利用され得る。例えば、社会論評を含むレディー・ガガによる音楽ビデオは、ストーリ・ベクトル内の音楽ビデオ・パラメータおよび社会的正義パラメータに対して値１を有するものとしてよい。ストーリ・ベクトルは、一実施形態では、ソーシャル・ネットワーキング・システムによって生成され得る。別の実施形態では、ストーリ・ベクトルは、オブジェクトおよびアクションを生成した外部システムによって生成され得る。ユーザ・ベクトルとユーザ独立ストーリ・ベクトルとの内積を求めた結果、コンテンツ・アイテムに対する推奨スコアが、視聴ユーザの選好およびコンテンツ・アイテム（ストーリ）において参照されるオブジェクトに関する情報に基づき生成される。ストーリ・ベクトルに対する値は、一実施形態では、音楽ビデオ・ファイル・フォーマット、社会的正義を専門とするウェブ・ドメイン、および同様のものなどの、既知のカテゴリを使用して、自動的に生成され得る。その結果、視聴ユーザに対するユーザ特有のスコアが、ソーシャル・ネットワーキング・システム上の他のユーザの挙動パターンを解析することによってグラフ・オブジェクトについて生成され得る。これにより、ソーシャル・ネットワーキング・システムは、視聴ユーザがグラフ・オブジェクトに関心を持っているか否かを予測することができる。
【０１２８】
オブジェクト間類似度解析は、グラフ・オブジェクト推奨モジュール６０６でも非同期に決定されるものとしてよい。グラフ・オブジェクトはそのオブジェクト・プロパティに基づき解析され、グラフ・オブジェクトが十分に類似しているか否かを決定することができる。例えば、ゲーム・アプリケーションは、「戦略ゲーム」のオブジェクト・プロパティを含むことができる。「戦略ゲーム」の同じオブジェクト・プロパティを含む他のゲーム・アプリケーションは、類似しているとみなされ得る。別の例では、「カントリー（Ｃｏｕｎｔｒｙ）」の同じジャンル・オブジェクト・プロパティを有する楽曲オブジェクトは、グラフ・オブジェクト推奨モジュール６０６によって類似していると考えられ得る。引き続き上記の例を参照すると、社会論評を含むケイティ・ペリーによる音楽ビデオは、ケイティ・ペリーへの関心を表明していない視聴ユーザに表示するため推奨される社会論評を含むレディー・ガガの音楽ビデオに十分類似していると決定され得る。類似度スコアリング・モデルは、グラフ・オブジェクトの類似度のスコアを設定するために生成され得る。その結果、所定の類似度閾値は、グラフ・オブジェクト推奨モジュール６０６によって、オブジェクトが視聴ユーザが相互作用した他のグラフ・オブジェクトとの類似度に基づき視聴ユーザに推奨され得るか否かを決定するために使用され得る。一実施形態では、ユーザ挙動が解析され、これによりグラフ・オブジェクトが類似しているか否かを決定することができる。グラフ・オブジェクト推奨モジュール６０６は、ヒューリスティック解析モジュール６０２と連携して動作し、オブジェクトが別のオブジェクトと類似していると見なせるか否かを決定するために事前のスパムの挙動に関してアプリケーションの挙動を解析することができる。また、オブジェクト・メタデータは、フィルタリングを目的としてグラフ・オブジェクト推奨モジュール６０６によってインデックスを付けられ得る。
【０１２９】
それに加えて、グラフ・オブジェクト推奨モジュール６０６は、一実施形態において、ユーザに表示されているオブジェクト・タイプを追跡し、最近表示されていないオブジェクト・タイプを推奨することができる。この情報は、ユーザに関連付けられているユーザ・プロファイル・オブジェクトにおいて追跡され維持され得る。これはユーザにとって都合がよいが、それは、多様なオブジェクト・タイプを有するさまざまなコンテンツ・アイテムがユーザとより関わり、それと引き換えに、広告主により多くの広告機会も与えつつ、ソーシャル・ネットワーキング・システム１３０上のユーザ経験を改善する可能性が高まるからである。
【０１３０】
グラフ・オブジェクト推奨モジュール６０６によって推奨されたオブジェクトおよび／またはコンテンツ・アイテムは、順位付けスコアを指数関数的に、直線的に、または対数関数的に増加させることなどによって、可変強度でグラフ・コンテンツ・アイテム順位付けモジュール１５０によって生成された順位付けスコアに影響を及ぼし得る。例えば、ユーザ・ベクトルとユーザ独立ストーリ・ベクトルとの内積によって決定されるような、上で説明されている推奨スコアは、順位付けスコアに強く影響し、その結果、順位付けスコアを指数関数的に増加させ得る。別の例として、オブジェクト間の類似度解析は、視聴ユーザの選好の不確定性により順位付けスコアへの影響が小さいものとされてよい。機械学習モジュール６００およびヒューリスティック解析モジュール６０２は、グラフ・オブジェクト推奨モジュール６０６およびパフォーマンス・メトリクス解析モジュール６０８と連携して動作し、推奨スコアがコンテンツ・アイテムの総順位付けスコアに有する影響の大きさを詳細化し、調整することができる。
【０１３１】
パフォーマンス・メトリクス解析モジュール６０８は、順位付けされ、視聴ユーザに表示されたコンテンツ・アイテムの転換率およびクリック率（ＣＴＲ）を追跡し、グラフ・コンテンツ・アイテム順位付けモジュール１５０によって生成される順位付けスコアに関するフィードバックを提供する。特に、機械学習モジュール６００は、パフォーマンス・メトリクス解析モジュール６０８によって集められた情報を利用して、ユーザ・プロファイル・オブジェクトにおける親近感、推奨スコアを決定する際に使用するためのユーザ・ベクトルおよびユーザ独立ストーリ・ベクトルのパラメータ、および外部システム１２０上でオブジェクトおよびアクションを生成することを可能にするソーシャル・ネットワーキング・システム１３０上のアプリケーションの品質を決定するためのアプリケーション品質スコアを含む、さまざまなパラメータを調整し、最適化する。コンテンツ・アイテムのクリック率（ＣＴＲ）に加えて、他の性能測定基準も、パフォーマンス・メトリクス解析モジュール６０８によって集められ、視聴ユーザによってコンテンツ・アイテムがスパムとマークされる頻度を追跡する「スパムとしてマーク」率、アプリケーションが不正使用として報告される頻度を同様に追跡する「不正使用として報告」率、およびコンテンツ・アイテム上のコメントおよび「いいね」の回数などの、順位付けスコア・モデルを最適化する際にユーザ向けに解析される。これらのパフォーマンス・メトリクスは、ユーザからの否定的フィードバックおよび肯定的フィードバックの両方を含み、外部システム１２０がユーザにスパムを送っているか、または社会的に関連性のある情報を提供しているかを見極める有用な手段となる。
【０１３２】
一実施形態では、ユーザは、ソーシャル・ネットワーキング・システム１３０上のユーザのプロファイル・ページ上でハイライトされるコンテンツ・アイテムを選択することができる。この選択は、プロファイル・ページ上へのコンテンツ・アイテムの「ピン留め」とも称され得る。ユーザ・プロファイル・ページ上に現れるコンテンツ・アイテムは、本明細書では「タイムライン・ユニット」とも称され、さまざまなタイムライン・ユニットが、グラフ・コンテンツ・アイテム順位付けモジュール１５０を使用しソーシャル・ネットワーキング・システムによって自動的に「ピン留め」され得る。タイムライン・ユニットとしてピン留めされるコンテンツ・アイテムを選択するために、さまざまな情報およびファクタがグラフ・コンテンツ・アイテム順位付けモジュール１５０によって利用され、ソーシャル・ネットワーキング・システム１３０のユーザによって高いコメントが付けられた、共有された、タグ付けされた、および関わり合った特定のコンテンツ・アイテムをハイライトする。この実施形態では、パフォーマンス・メトリクス解析モジュール６０８は、追加のパフォーマンス・メトリクスも集めて、追加のファクタをグラフ・コンテンツ・アイテム順位付けモジュール１５０に送り、ユーザによるピン留めされたタイムライン・ユニットの数、ユーザによって明示的に隠されたタイムライン・ユニットの数、およびピン留めされたタイムライン・ユニットとの関わり合いのメトリクス（クリック率、転換率、コメント、共有、「いいね」、およびタグ付けを含む）を含む、ユーザに対するプロ
ファイル・ページ上にタイムライン・ユニットを自動的に生成することもできる。これらのパフォーマンス・メトリクスは、一実施形態では、ユーザのプロファイル・ページに自動的にピン留めされる、グラフ・コンテンツ・アイテムを含む、最も関連性のあるコンテンツ・アイテムを表に出すために使用される。
【０１３３】
グラフ・コンテンツ・アイテム・スコアリング・モジュール６１０は、視聴ユーザに潜在的に表示され得る候補コンテンツ・アイテムの順位付けスコアを生成する。順位付けスコア・モデルは、グローバルファクタ、ユーザ特有のファクタ、および推奨スコアを含む。順位付けスコア・モデルは、一実施形態において、それぞれのファクタが重みである線形加重関数である。別の実施形態では、順位付けスコア・モデルは、機械学習モジュール６００を使用して最適化され得るそれぞれのファクタに対する係数および指数を持つ指数関数である。さらに別の実施形態では、順位付けスコア・モデルは、対数関数を含む。例えば、ソーシャル・ネットワーキング・システム上のコネクションの数が高いユーザは、他のユーザからのインプレッションおよびコメントの数が高いグラフ・コンテンツ・アイテムを公開している可能性がある。グラフ・コンテンツ・アイテムの人気は、その順位付けスコアに影響を及ぼすよいファクタであるものとされてよいが、グラフ・コンテンツ・アイテムの人気は、コンテンツ・アイテムを生成するユーザのコネクションの数が高いことによりその真の人気について歪められているか、または不釣り合いである場合がある。対数関数は、コネクションの数の多さを説明するために、この例では一次関数または指数関数より適していると思われる。それに加えて、一部のユーザは、ソーシャル・ネットワーキング・システムへのコンテンツ・アイテムの「過剰共有」または公開を頻繁に行っている可能性がある。一実施形態では、対数関数は、これらの過剰共有ユーザから推奨されるコンテンツ・アイテムを制限するために利用することができる。
【０１３４】
したがって、グラフ・コンテンツ・アイテム順位付けモジュール１５０を利用して、楽曲を聴く、映画を見る、ボードゲームをする、エクササイズを完了するなど、外部システム上でグラフ・オブジェクトおよびグラフ・アクションから整理、組み立てられたコンテンツ・アイテムを順位付けすることができる。順位付けモジュール１５０は、ソーシャル・ネットワーキング・システム１３０上のモジュールによって利用され、構造化されたグラフ・オブジェクトおよびグラフ・アクションがソーシャル・ネットワーキング・システム１３０上で定義されているため解析され観察され得る挙動のパターンに基づき楽曲、映画、ゲーム、および他のコンセプトに対する推奨を生成することができる。さらに、外部相互作用は、ソーシャル・ネットワーキング・システム１３０内に違和感無く統合することができ、これにより、ユーザに対するユーザ経験をより有益なものにし、それぞれのユーザについて、音楽を聴くなどの、現実世界のアクティビティをパーソナライズすることができる。
【０１３５】
ソーシャル・ネットワーキング・システム上のソーシャル音楽アプリケーションの例
図７は、本発明の一実施形態により、グラフ・オブジェクトおよびグラフ・アクションをソーシャル・ネットワーキング・システムに統合するソーシャル・ネットワーキング・システム上のユーザ・インタフェースの一例を示している。一実施形態では、グラフ・オブジェクトおよびグラフ・アクションは、図３Ａで定義されているような楽曲オブジェクト、アーティスト・オブジェクト、聴くアクション、および他のオブジェクトとして定義される。音楽ダッシュボード７００は、ユーザが外部システム１２０上でホストされているグラフ・アクションおよびグラフ・オブジェクトと相互作用することを可能にするソーシャル・ネットワーキング・システム１３０上のユーザ・インタフェースである。音楽ダッシュボード７００は、トップ・リスト・モジュール７００、音楽追跡モジュール７０４、再生中モジュール７０６、プレイリスト・モジュール７０８、視聴履歴モジュール７１０、および推奨モジュール７１２を含む、いくつかのモジュールを備える。音楽ダッシュボード７００は、一実施形態では、ソーシャル・ネットワーキング・システム１３０上の
ユーザ・プロファイル・ページ上のタブとして表示され得る。別の実施形態では、音楽ダッシュボード７００は、モバイル・デバイス上のネイティブ・オペレーティング・システムで実行されるモバイル・アプリケーションに表示され得る。さらに別の実施形態では、音楽ダッシュボード７００は、外部システム１２０によってホストされるウェブサイト上に埋め込むことができる。
【０１３６】
トップ・リスト・モジュール７００は、一実施形態では、ソーシャル・ネットワーキング・システム１３０のユーザによって生成される音楽のトップ・リストを表示する。楽曲のトップ・リストは、一実施形態では、ソーシャル・ネットワーキング・システム１３０上で利用可能なグローバルな情報に関するユーザ指定のクエリによって生成され得る。別の実施形態では、トップ・リスト・モジュール７００は、視聴ユーザに接続されているユーザによって生成される楽曲のトップ・リストを表示する。さらに別の実施形態では、トップ・リスト・モジュール７００は、先月、先週、最新の日、および最後の時間などの、所定の期間に最も聴いたリストを表示する。図７は、３つの選択可能なリンク、「ブリトニー・スピアーズ・ヒット（Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ  Ｈｉｔｓ）」、「レディ・ガガ・ステーション（Ｌａｄｙ  Ｇａｇａ  Ｓｔａｔｉｏｎ）」、および「エクササイズ・ミックス（Ｗｏｒｋｏｕｔ  Ｍｉｘ）」を表示するトップ・リスト・モジュール７００を例示する。一実施形態では、選択されたときにリンクは、音楽を提供する外部システム１２０に、リンクに関連付けられているリストを再生することを要求するトリガとなる。別の実施形態では、リンクを選択すると、リストに関連付けられているソーシャル・ネットワーキング・システム１３０上で別のページが開く。リストは、コメントされ、共有され、「いいね」が付けられ、タグが付けられ得るグラフ・オブジェクトとして定義されているリスト・オブジェクトによって表される。リストは、「Ｗｏｒｋｏｕｔ  Ｍｉｘ」リスト７１６など、一実施形態におけるソーシャル・ネットワーキング・システム１３０のユーザによって、または別の実施形態におけるサードパーティ・デベロッパーによって作成され得る。
【０１３７】
音楽追跡モジュール７０４は、ユーザがその楽曲を聴いた結果として他のユーザによって発見された楽曲を表示する。グラフ統合モジュール１６０は、ソーシャル・ネットワーキング・システム１３０上に表示されるグラフ・コンテンツ・アイテム上のユーザによる転換およびクリックを追跡する。図７は、３つのコンテンツ・アイテム、「ジョーがＢｏｎ  ＪｏｖｉのＹｏｕ  Ｇｉｖｅ  Ｌｏｖｅ  Ａ  Ｂａｄ  Ｎａｍｅを聴きました（Ｊｏｅ  ｌｉｓｔｅｎｅｄ  ｔｏ  Ｂｏｎ  Ｊｏｖｉ−Ｙｏｕ  Ｇｉｖｅ  Ｌｏｖｅ  Ａ  Ｂａｄ  Ｎａｍｅ）」、「マイクがＬａ  ＲｏｕｘのＢｕｌｌｅｔｐｒｏｏｆを聴きました（Ｍｉｋｅ  ｌｉｓｔｅｎｅｄ  ｔｏ  Ｌａ  Ｒｏｕｘ−Ｂｕｌｌｅｔｐｒｏｏｆ）」、および「チャーリーがＢｒｉｔｎｅｙ  ＳｐｅａｒｓのＴｉｌｌ  Ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓを聴きました（Ｃｈａｒｌｉｅ  ｌｉｓｔｅｎｅｄ  ｔｏ  Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ−Ｔｉｌｌ  Ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓ）」を表示する音楽追跡モジュール７０４の一例を示している。一実施形態では、音楽追跡モジュール７０４は、視聴ユーザがソーシャル・ネットワーキング・システム１３０を通じて外部システム１２０から選択された楽曲の再生を開始する楽曲を選択することを可能にする。一実施形態では、音楽追跡モジュール７０４において追跡されるユーザに関連付けられているリンク（Ｍｉｋｅ）７１４を選択することで、視聴ユーザを追跡されているユーザに対するユーザ・プロファイル・ページに誘導することができる。別の実施形態では、その追跡されているユーザに関連付けられているリンク７１４を選択すると、視聴ユーザは、音楽ダッシュボード７００に関連付けられているユーザを通じて追跡されているユーザによって聴かれている楽曲を含むソーシャル・ネットワーキング・システム１３０内のページに誘導される。
【０１３８】
同様に、再生中モジュール７０６は、現在再生中である楽曲およびユーザが聴いているリストを表示する。視聴ユーザは、再生中の楽曲（「Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ−Ｔ
ｉｌｌ  Ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓ」）、再生中のリスト（「Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ  Ｈｉｔｓ」）を聴くことを選択することができるか、または視聴ユーザは、リンク７１８「ボブと共に聴く！（Ｌｉｓｔｅｎ  ｉｎ  ｗｉｔｈ  Ｂｏｂ！）」を選択することによって音楽ダッシュボード７００に関連付けられているユーザと共同で聴くことを選択することができる。リンク７１８を選択することによって、視聴ユーザは、Ｂｏｂがリアルタイムで聴いているものを聴く。これにより、ユーザはソーシャル・ネットワーキング・システム１３０を通じて外部システム上のストリーミング音楽を共同で聴くことができる。共同で聴くアクション・リンク７１８は、メッセージング・アプリケーション、チャット・インタフェース、写真アプリケーション、グループ・インタフェース、および同様のものなどの、ソーシャル・ネットワーキング・システム１３０上の他のアプリケーションおよびインタフェースに含めることができる。
【０１３９】
プレイリスト・モジュール７０８は、視聴ユーザがソーシャル・ネットワーキング・システム１３０の別のユーザが聴き、作成するプレイリストを選択することを可能にする。一実施形態では、ユーザは、単純に楽曲の名前を入力するか、またはアルバム上のトラックを選択することによってソーシャル・ネットワーキング・システム１３０上にプレイリストを選択的に作成することができる。音楽は、入力された楽曲またはアルバム上の選択されたトラックに対応する利用可能な外部システム１２０から異なるストリームによりオンラインでブロードキャストされ、その際に、音源をユーザ生成のプレイリスト・グラフ・オブジェクト内に混ぜることができる。別の実施形態では、ユーザは、プレイリストを外部システム１２０からソーシャル・ネットワーキング・システム１３０にインポートすることができる。さらに別の実施形態では、プレイリストは、外部システム１２０上のユーザの聴く挙動に基づきソーシャル・ネットワーキング・システム１３０に自動的にインポートされる。図７では、プレイリスト・モジュール７０８は、３つのプレイリスト、「グリー・キャスト・ラジオ（Ｇｌｅｅ  Ｃａｓｔ  Ｒａｄｉｏ）」、「チルアウト・ミックス（Ｃｈｉｌｌ  ｏｕｔ  Ｍｉｘ）」、および「ジャーニーズ・グレイテスト・ヒット（Ｊｏｕｒｎｅｙ’ｓ  Ｇｒｅａｔｅｓｔ  Ｈｉｔｓ）」を表示している。ラジオ・プレイリストは、アーティストまたは楽曲に基づきプレイリストを生成するインターネット・ラジオ・ウェブサイトなどの、外部システム１２０によって生成され得る。例えば、ＡＭおよびＦＭラジオを含む、地上波ラジオは、それらのプレイリストをウェブサイトを通じて、ソーシャル・ネットワーキング・システム１３０のユーザに利用できるようにすることができる。「Ｃｈｉｌｌ  ｏｕｔ  Ｍｉｘ」プレイリストは、ソーシャル・ネットワーキング・システム１３０のユーザの１人によって作成され、音楽ダッシュボード７００に関連付けられているユーザによってプレイリスト・モジュール７０８に追加され得る。一実施形態では、「Ｃｈｉｌｌ  ｏｕｔ  Ｍｉｘ」などのユーザ生成プレイリストは、複数のユーザによって所有され、これにより、ユーザはソーシャル・ネットワーキング・システム１３０を通じて共同でプレイリストを修正することができる。「Ｊｏｕｒｎｅｙ’ｓ
Ｇｒｅａｔｅｓｔ  Ｈｉｔｓ」プレイリストは、掲示板またはアーティストのプロモーションを行うレコード会社などの、外部システム１２０上でサードパーティ・デベロッパーによって生成され得る。一実施形態では、視聴ユーザは、音楽ダッシュボード７００に関連付けられているユーザにプレイリストを提案するリンク（Ｓｕｇｇｅｓｔ  Ｐｌａｙｌｉｓｔｓ）７２０を選択する。提案されたプレイリストは、視聴ユーザが生成したプレイリスト、または外部システムを使用するサードパーティ・デベロッパーによって生成されたプレイリストを含み得る。プレイリスト・モジュール７０８を使用することで、ソーシャル・ネットワーキング・システム１３０は、順位スコアリング・アルゴリズム、ヒューリスティック解析、および上で説明されているような機械学習を使用してユーザの視聴選好を記録し、理解することができる。その結果、ユーザ経験が高められ、広告のターゲット設定、関連するコンテンツ・アイテムの投稿、および同様のものに対してユーザに関する有益な情報を与えることもできる。
【０１４０】
視聴履歴モジュール７１０は、音楽ダッシュボード７００に関連付けられているユーザ、この例では「ボブ（Ｂｏｂ）」の最近聴いたもの、さらにはソーシャル・ネットワーキング・システム１３０上のＢｏｂの友達の最近聴いたものを含み得る。別の実施形態では、外部システム１２０上でホストされている音楽ビデオは、視聴履歴モジュール７１０に統合され得る。図７に例示されているように、外部システム１２０上の楽曲オブジェクトへの選択可能なリンクは、ユーザおよびソーシャル・ネットワーキング・システム１３０上のユーザのコネクションについてリストされる。それに加えて、ユーザのコネクションは、視聴ユーザを、一実施形態ではユーザのコネクションの音楽ダッシュボードに誘導し、別の実施形態ではユーザのコネクションのプロファイル・ページに誘導することができる選択可能なリンクによっても表される。グラフ・コンテンツ・アイテム順位付けモジュール１５０は、一実施形態では、視聴ユーザの選好およびユーザのコネクションへの視聴ユーザの隣接性に基づき視聴ユーザにより関連性のあるユーザのコネクションによって最近聴いたものを表示するために利用され得る。別の実施形態では、ユーザおよびユーザのコネクションが一番最近聴いたものが、視聴履歴モジュール７１０に表示される。
【０１４１】
推奨モジュール７１２は、グラフ・コンテンツ・アイテム順位付けモジュール１５０を利用して、視聴ユーザに関連付けられているユーザ・プロファイル・オブジェクトから取得された選好に基づき視聴ユーザに対する推奨を生成する。この例では、推奨モジュール７１２は、視聴ユーザに表示する３つの楽曲、「Ｌａｄｙ  Ｇａｇａ−Ｂｏｒｎ  Ｔｈｉｓ  Ｗａｙ」、「マドンナ（Ｍａｄｏｎｎａ）−ヴォーグ（Ｖｏｇｕｅ）」、および「ケシャ（Ｋｅ＄ｈａ）−ブロー（Ｂｌｏｗ）」を提示する。推奨モジュール７１２に表示される楽曲は、音楽ダッシュボード７００に関連付けられているユーザに聴かれていない場合がある。その代わりに、視聴ユーザに表示される楽曲は、楽曲オブジェクトおよびアーティスト・オブジェクトに対するリンクをクリックした視聴ユーザの過去の履歴、視聴ユーザの選好、またはソーシャル・ネットワーキング・システム１３０に対する視聴ユーザのプロファイル・ページ上で述べた関心を含む多数のファクタ、および楽曲オブジェクトおよびアーティスト・オブジェクトに関連付けられている情報に基づきグラフ・コンテンツ・アイテム順位付けモジュール１５０によって選択される。例えば、視聴ユーザは、楽曲「Ｌａｄｙ  Ｇａｇａ−Ｂｏｒｎ  Ｔｈｉｓ  Ｗａｙ」を聴いたことのあるソーシャル・ネットワーキング・システム１３０上の多数のコネクションを有するものとしてよい。その結果、グラフ・コンテンツ・アイテム順位付けモジュール１５０は、視聴ユーザのその楽曲オブジェクトについて高い順位スコアを割り当てることができる。別の例として、視聴ユーザは、「Ｍａｄｏｎｎａ−Ｖｏｇｕｅ」を含むアルバム上の多くの楽曲を、その曲を聴かずに最近聴いたと思われ、したがって、視聴ユーザがアルバムを最初から最後まで聴きたいと推論できるため、その楽曲が推奨され得る。さらに別の例では、アーティスト「Ｋｅ＄ｈａ」は視聴ユーザによって聴かれていないが、「Ｋｅ＄ｈａ」は視聴ユーザが最近聴いた他のアーティストに非常によく似ていると思われる。「ポップ（ｐｏｐ）」および「ダンス（ｄａｎｃｅ）」ジャンル・オブジェクトなどの「Ｋｅ＄ｈａ」に対するアーティスト・オブジェクトに関するメタデータに基づき、「Ｋｅ＄ｈａ−Ｂｌｏｗ」が視聴ユーザに対して推奨され得る。
【０１４２】
ソーシャル・グラフに公開するための追加の外部ユーザ相互作用
ウェブサイト、モバイル・アプリケーション、エンタープライズ・システム、およびクラウド・ベースのサービスを含む、外部システム上で実行される他のアクションは、ソーシャル・グラフに公開することについて本明細書で説明されているような構造化されたオブジェクトおよびアクションを利用することによって取り込むことができる。一実施形態において、ユーザが電子商取引ウェブサイト上でギフトを購入することは、ソーシャル・ネットワーキング・システム１００の他のユーザと共有され得るオブジェクトに対するアクションのトリガとなる。全世界測位システム（ＧＰＳ）を装備するモバイル・デバイス上で動作するロケーション・ベースのアプリケーション上のロケーション・イベント、ま
たは場所への「チェックイン」は、一実施形態では、ソーシャル・グラフ内のアクションおよびオブジェクトを生成することができる。エンタープライズ・システムを通じてリアルタイムでアップロードされる、スポーツ・イベント・スコアも、ソーシャル・ネットワーキング・システム１００へのＡＰＩコールを通じて生成される構造化されたアクションおよびオブジェクトに関するニュースフィード・ストーリを生成することができる。これらの外部ユーザ相互作用は、ソーシャル・ネットワーキング・ユーザ経験にも統合され得る。
【０１４３】
例えば、ソーシャル・ネットワーキング・システム１３０に接続されている、モバイル・デバイス上のＡＰＩで書籍を読むモバイル・ユーザは、「Ｍｅｍｏｉｒｓ  ｏｆ  ａ  Ｇｅｉｓｈａ」を読んでいることをソーシャル・ネットワーキング・システム１３０上の他のユーザと受動的に共有することができる。一実施形態では、書籍は、書籍タイプ・オブジェクトとして識別され、その国際標準図書番号（ＩＳＢＮ）は、書籍オブジェクトのプロパティとなる。一実施形態において、「メモワール・オブ・ア・ゲイシャ（Ｍｅｍｏｉｒｓ  ｏｆ  ａ  Ｇｅｉｓｈａ）」に対する書籍オブジェクトおよびその著者「アーサー・ゴールデン（Ａｒｔｈｕｒ  Ｇｏｌｄｅｎ）」に対する著者オブジェクトは、「読む」アクションに関連付けられ、他のオブジェクトは、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者のいずれかによって定義される構造に応じて、関連付けられる。あるいは、別の実施形態では、書籍オブジェクトは、書籍タイプ・オブジェクト、製品タイプ・オブジェクト、および／または娯楽タイプ・オブジェクトとして識別され得る。
【０１４４】
別の例として、映画レンタル・ウェブサイトでは複数の映画をリストし、それぞれの映画について別のウェブ・ページを維持し、観た映画のレビューを提出することをユーザに奨励する。ウェブ・ページにアクセスするためのリンクは、さまざまなフレームが、異なる映画に関連付けられている異なるウェブ・ページのＵＲＬまたはウェブ識別子をソーシャル・ネットワーキング・システム１３０に伝達する異なるウィジェット１２４によって生成されるように異なる映画に関連付けられ得る。これらのフレームは、ユーザがソーシャル・ネットワーキング・システム１３０内のオブジェクトに関連付けられている特定の映画を観たいという関心を示す、ユーザがソーシャル・ネットワーキング・システム１３０内のオブジェクトに関連付けられている特定の映画を観たことを示す、およびユーザがソーシャル・ネットワーキング・システム１３０内のオブジェクトに関連付けられている特定の映画をレビューするなど、複数のアクションを記録することができる。これらのアクション、「映画を観たい」、「映画を既に観た」、および「映画をレビューする」、のそれぞれは、ソーシャル・ネットワーキング・システム１３０内に記憶され維持されている別々のグラフ・アクション・タイプに関連付けられ得る。同様に、映画、俳優、監督、プロデューサ、セッティング、カテゴリ、および同様のものを含む、オブジェクトは、ソーシャル・ネットワーキング・システム１３０内に記憶されているグラフ・オブジェクト・タイプに関連付けられ得る。
【０１４５】
追加の例として、ユーザは、ソーシャル・ネットワーキング・システム１３０上にも存在するバースデー・ディナー・イベントを主催するためにレストランを探している。レストラン予約ウェブサイトは、世界中の都市のレストランの空き予約を表示する。ウェブサイト上に表示されるそれぞれの空き予約は、例えば、ユーザの友達のレストランの推奨およびレビューを示すソーシャル・ネットワーキング・システム１３０からのパーソナライズされたコンテンツを含み得る。ユーザがレストラン予約ウェブサイトを使用してレストランを予約する場合、バースデー・パーティをレストランで主催するアクションは、予約ウェブサイトがソーシャル・ネットワーキング・システム１３０に接続され、ソーシャル・ネットワーキング・システム１３０と情報を共有する許可を受け取っていると仮定して、受動的に生成され得る。一実施形態では、ユーザのイベントに対するクエリが、ソーシ
ャル・ネットワーキング・システム１３０上で作成されたユーザのイベントを取り出すＡＰＩコールで予約ウェブサイトのデベロッパーによって作成され得る。例えば、このアプローチを使用することで、レストラン予約ウェブサイトは、日付および地理的位置に基づき取り出されたイベントをフィルタリングすることができる。ソーシャル・ネットワーキング・システム１３０上のユーザのユーザ・プロファイル・オブジェクトに関連付けられているイベントの日付について予約ウェブサイト上に要求されている予約日を検索するより詳細なユーザ指定クエリが実行され得る。適切な許可が降りていると仮定して、予約ウェブサイトは、ソーシャル・ネットワーキング・システム１３０上で既に作成されているイベント・オブジェクトにも関連付けられている「バースデー・パーティ（ｂｉｒｔｈｄａｙ  ｐａｒｔｙ）」のオブジェクト・タイプの「ホスティング（ｈｏｓｔｉｎｇ）」のアクション・タイプを記録することができる。この方法で、サードパーティ・デベロッパーによって生成されるグラフ・アクションおよびグラフ・オブジェクトは、ソーシャル・ネットワーキング・システム１３０に固有のアクションおよびオブジェクトと違和感無く組み合わされ得る。
【０１４６】
まとめ
本発明の実施形態の前記の説明は、例示を目的として提示されており、網羅的であること、または本発明を開示されている正確な形態に制限することを意図されていない。当業者であれば、上記の開示に照らして多くの修正および変更が可能であることを理解されるであろう。
【０１４７】
この説明のいくつかの部分では、情報に関する動作のアルゴリズムおよび記号的表現に関して本発明の実施形態を説明している。これらのアルゴリズムの説明および表現は、作業の内容を当業者に効果的に伝えるためにデータ処理の技術者によって一般に使用されている。これらの動作は、機能、計算、または論理に関して説明されているが、コンピュータ・プログラムまたは同等の電気的回路、マイクロコード、または同様のもので実装されると理解される。さらに、ときには、一般性を失うことなく、動作のこれらの配置構成はモジュールとして参照することも都合がよいと実証されている。説明されている動作および関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせで具現化され得る。
【０１４８】
本明細書で説明されている工程、動作、または方法は、１つまたは複数のハードウェアもしくはソフトウェア・モジュールで、単独で、または他のデバイスと組み合わせて実行または実装され得る。一実施形態では、ソフトウェア・モジュールは、説明されている工程、動作、または方法のどれか、または全部を実行するためにコンピュータ・プロセッサによって実行され得る、コンピュータ・プログラム・コードを記憶するコンピュータ可読媒体からなるコンピュータ・プログラム製品で実装される。
【０１４９】
本発明の実施形態は、本明細書の動作を実行するための装置に関するものであってもよい。この装置は、必要な目的のために特別に構築され得るか、および／またはコンピュータに記憶されているコンピュータ・プログラムによって選択的にアクティブ化されるかもしくは再構成される汎用コンピューティング・デバイスを備えることができる。このようなコンピュータ・プログラムは、非一時的な、有形のコンピュータ可読記憶媒体、またはコンピュータ・システム・バスに結合され得る、電子命令を記憶するのに適した任意のタイプの媒体に記憶され得る。さらに、本明細書で参照されているコンピューティング・システムは単一のプロセッサを備えるか、または計算能力を向上させるためにマルチプロセッサ設計をとるアーキテクチャであってもよい。
【０１５０】
本発明の実施形態は、本明細書で説明されている計算方法によって生み出される製品にも関係し得る。このような製品は、計算により得られる情報からなり、この情報は非一時
的な、有形のコンピュータ可読記憶媒体に記憶され、コンピュータ・プログラム製品または本明細書で説明されている他のデータ組み合わせの任意の実施形態を含み得る。
【０１５１】
最後に、本明細書で使用されている用語は、主に、可読および教育的な目的で選択されており、本発明の主題を限定、または制限するために選択されていないといえる。したがって、本発明の範囲は、この詳細な説明では限定されず、むしろ、本明細書に基づくアプリケーションに関して公表している請求項によって制限されることが意図されている。したがって、本発明の実施形態の開示は、以下の請求項で規定される本発明の範囲を例示することを意図し、本発明の範囲を制限することを意図していない。
【図３Ｂ】
0006023203.tif 000002
【図３Ｃ】
0006023203.tif 000003
【図３Ｄ】
0006023203.tif 000004
【図３Ｅ】
0006023203.tif 000005
【図３Ｆ】
0006023203.tif 000006
【図３Ｇ】
0006023203.tif 000007
【図３Ｈ】
0006023203.tif 000008
【図３Ｉ】
0006023203.tif 000009
【図３Ｊ】
0006023203.tif 000010
【図５Ｄ】
0006023203.tif 000011
【図１Ａ】
0006023203.tif 000012
【図１Ｂ】
0006023203.tif 000013
【図２】
0006023203.tif 000014
【図３Ａ】
0006023203.tif 000015
【図４】
0006023203.tif 000016
【図５Ａ】
0006023203.tif 000017
【図５Ｂ】
0006023203.tif 000018
【図５Ｃ】
0006023203.tif 000019
【図６】
0006023203.tif 000020
【図７】
0006023203.tif 000021