(57)【特許請求の範囲】
【請求項１】
ソーシャル・ネットワーキング・システムにおいてソーシャルグラフを維持する工程であって、前記ソーシャルグラフはエッジオブジェクトを含み、各エッジオブジェクトは、１つまたは複数のアクションタイプを有する１つまたは複数のアクションを表すとともに、前記ソーシャルグラフの２つ以上のグラフオブジェクト間の関係を示す、前記工程と、
前記ソーシャル・ネットワーキング・システムのユーザのためのプライバシ設定を維持する工程であって、前記プライバシ設定は、サード・パーティ・アプリケーションによってアクセス可能な前記ユーザに関連付けられたエッジオブジェクトの１つまたは複数のアクションタイプを指定し、前記サード・パーティ・アプリケーションは、前記ソーシャル・ネットワーキング・システムとは別個のエンティティによって維持される、前記工程と、
複数のソースから前記ユーザに関連付けられたエッジオブジェクトを受け取る工程と、
前記サード・パーティ・アプリケーションから前記ユーザに関連付けられた前記エッジオブジェクトに関する情報の要求を受け取る工程と、
前記プライバシ設定に従って、前記ユーザに関連付けられた前記ソーシャルグラフの１つまたは複数のエッジオブジェクトに関するデータを集約する工程であって、集約された前記データは、１つ以上のプライバシ設定によって前記サード・パーティ・アプリケーションに対してアクセス可能として指定されるアクションタイプを有するエッジオブジェクトに関する情報を識別することを含む、前記工程と、
集約された前記データを前記サード・パーティ・アプリケーションに提供する工程と、を備える方法。
【請求項２】
前記複数のソースは、前記要求を行ったサード・パーティ・アプリケーション以外のソースを含む、請求項１に記載の方法。
【請求項３】
前記要求はアプリケーション・プログラミング・インターフェース（ＡＰＩ）呼出から受け取られる、請求項１に記載の方法。
【請求項４】
前記要求は１つまたは複数のアクションタイプを指定する、請求項１に記載の方法。
【請求項５】
前記サード・パーティ・アプリケーションからの前記要求は前記１つまたは複数のアクションタイプを有する閾値数のアクションを指定し、前記ソーシャルグラフの１つまたは複数のエッジオブジェクトに関するデータを集約する前記工程は、前記１つまたは複数のアクションタイプを有するとともに前記ユーザについて前記閾値数以上のアクションを記述するエッジオブジェクトからのデータを集約する工程をさらに含む、請求項４に記載の方法。
【請求項６】
前記１つまたは複数のアクションタイプのうちの少なくとも１つは、前記ソーシャル・ネットワーキング・システムの外部のエンティティによって定義される、請求項４に記載の方法。
【請求項７】
前記１つまたは複数のエッジオブジェクトのうちの少なくとも１つのエッジオブジェクトは、前記ユーザのアクティビティと前記ユーザの少なくとも１つの接続とを記述する、請求項４に記載の方法。
【請求項８】
前記サード・パーティ・アプリケーションからの前記要求は１つまたは複数のオブジェクトプロパティを指定する、請求項１に記載の方法。
【請求項９】
前記１つまたは複数のオブジェクトプロパティのうちの少なくとも１つのオブジェクトプロパティは地理的位置を含む、請求項８に記載の方法。
【請求項１０】
前記サード・パーティ・アプリケーションからの前記要求は１つまたは複数のオブジェクトタイプを指定する、請求項１に記載の方法。
【請求項１１】
ソーシャル・ネットワーキング・システムにおいて前記ソーシャル・ネットワーキング・システムのユーザのアクションに関するデータを維持する工程であって、前記アクションはアクションタイプを有する、前記工程と、
前記ソーシャル・ネットワーキング・システムのユーザのためのプライバシ設定を維持する工程であって、前記プライバシ設定は、サード・パーティ・アプリケーションによってアクセス可能な前記ユーザに関連付けられた１つまたは複数のアクションタイプを指定し、前記サード・パーティ・アプリケーションは、前記ソーシャル・ネットワーキング・システムとは別個のエンティティによって維持される、前記工程と、
複数のソースから前記ユーザのアクションを受け取る工程と、
前記サード・パーティ・アプリケーションから前記ユーザの前記アクションに関する情報の要求を受け取る工程と、
前記プライバシ設定に従って前記ユーザのアクションに関するデータからの情報を集約する工程と、
前記プライバシ設定に従って、前記ユーザのアクションに関するデータから情報を集約する工程であって、集約された前記データは、１つ以上のプライバシ設定によって前記サード・パーティ・アプリケーションに対してアクセス可能として指定されるアクションタイプを有するエッジオブジェクトに関する情報を識別することを含む、前記工程と、
集約された前記情報を前記サード・パーティ・アプリケーションに提供する工程と、
を備える方法。
【請求項１２】
ユーザに関連付けられた特定のアクションタイプの複数のアクションを受け取る工程であって、前記アクションは複数のソースから受け取られる、前記工程と、
特定のサード・パーティ・アプリケーションが前記特定のアクションタイプの前記ユーザのアクションに関する情報を受け取ることが可能であるか否かを示すプライバシ設定を受け取る工程と、
前記プライバシ設定に従って、前記特定のアクションタイプの前記ユーザのアクション
に関する情報を別のサード・パーティ・アプリケーションと共有する工程と、
前記プライバシ設定に従って、前記ユーザのアクションに関するデータから情報を集約する工程であって、集約された前記データは、１つ以上のプライバシ設定によって前記サード・パーティ・アプリケーションに対してアクセス可能として指定されるアクションタイプを有するエッジオブジェクトに関する情報を識別することを含む、前記工程と、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般にソーシャルネットワーキングに関し、詳細には、ユーザに関する情報を、その情報に関連付けられたアクションタイプに基づいてサード・パーティ・アプリケーションに提供すること、およびサード・パーティ・アプリケーションから受け取ることに関する。
【背景技術】
【０００２】
ソーシャル・ネットワーキング・システムは、ユーザが他のユーザに接続し、他のユーザと通信することができる便利な環境を提供するので、近年広く普及してきている。多種多様なソーシャル・ネットワーキング・システムが存在するが、これらのシステムは一般に、ユーザがユーザのソーシャルネットワーク内で定義し、対話することを可能にする機構を提供する。この状況では、ユーザを個人、または企業やその他の人以外のエンティティといった任意の他のエンティティとすることができる。したがって、友人間のソーシャルコミュニケーションを可能にすると同時に、ソーシャル・ネットワーキング・システムは、企業が潜在的消費者と交わるための有益なツールともなりうる。たとえ営利目的がなくても、ソーシャル・ネットワーキング・システムは、他のタイプのエンティティにそれらのメッセージを拡散させることができる。例えば、人以外のエンティティは、他のユーザが「いいね！」ボタンを押しうる、またはそれ以外の方法で関連付けられうるページやグループを設定してよく、これによりその人以外のエンティティは興味を示すユーザのグループへ通信を送受信するためのフォーラムを提供することができる。
【０００３】
有益な社会情報は、エッジで相互接続されたノードの「ソーシャルグラフ」として概念的に維持されうる。ソーシャルグラフ内の各ノードは、別のノードに作用し、および／または別のノードによって作用されうる何かを表す。ノードの一般的な例には、ユーザ、人以外のエンティティ、コンテンツアイテム、グループ、イベント、位置、メッセージ、概念、およびソーシャル・ネットワーキング・システム内のオブジェクトによって表されうる任意の他のものが含まれる。ソーシャルグラフ内の２つのノード間のエッジは、それらのノードの一方によって他方のノードに対して実行されたアクションから生じる２つのノード間の特定の種類の接続を表す。
【０００４】
例えば、あるユーザがソーシャル・ネットワーキング・システムにおいて別のユーザとの接続を確立する場合、各ユーザはノードとして表され、ユーザ間のエッジは確立された接続を表す。さらにこの例においては、一方のユーザがソーシャル・ネットワーキング・システム内の他方のユーザへメッセージを送信しうる。メッセージ送信アクションは、ソーシャル・ネットワーキング・システムによって識別される２つのノード間の別のエッジを表す。メッセージ自体はノードとして扱われうる。別の例では、あるユーザが、ソーシャル・ネットワーキング・システムによって維持される画像内の別のユーザにタグ付けしうる。このタグ付けアクションは、ユーザ間のエッジを作成すると共に、ユーザの各々と、やはりノードである画像との間のエッジも作成しうる。さらに別の例では、ユーザがイベントへの参加を確認する場合、ユーザとイベントはノードであり、イベントへの参加はエッジである。したがって、ソーシャルグラフを用いて、ソーシャル・ネットワーキング・システムは、多種多様なオブジェクト、ならびにそれらのオブジェクト間の相互作用および接続を維持し、それによって、社会的に関連性を有する情報のきわめて豊富なストアを生成しうる。
【０００５】
ソーシャル・ネットワーキング・システムは、ユーザが、各ユーザの実世界概念として
の興味および好み、例えば、ユーザのお気に入りの映画、ミュージシャン、有名人、ソフトドリンク、趣味、スポーツチーム、アクティビティを共有することを可能にする。これらの興味は、各ユーザによってユーザプロフィールで表明されてよく、また、ソーシャル・ネットワーキング・システムによって推測されてもよい。またユーザは、ソーシャル・ネットワーキング・システム上の複数のコミュニケーションチャンネルを介してこれら実世界概念と対話することもでき、これには、ソーシャル・ネットワーキング・システム上のページと対話すること、ソーシャル・ネットワーキング・システム上の他のユーザと原因および課題に関する興味深い記事を共有すること、ならびにソーシャル・ネットワーキング・システムの外部のオブジェクトに関して他のユーザによって生成されたアクションに対してコメントすることが含まれる。外部のウェブサイト上でユーザによってオブジェクトに対して実行されたアクション、例えば、ゲームアプリケーションをプレーすること、音楽ストリーミングサービスを聴くこと、文書共有システムを読むことなども、ソーシャル・ネットワーキング・システムによって取り込まれうる。ユーザはユーザの興味を共有しうるが、ユーザがオブジェクトとユーザとの対話に関する情報をサード・パーティ・アプリケーションに分配することを可能にするツールは開発されていない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、求められているのは、ユーザがアクションタイプに基づいてサード・パーティ・アプリケーションと情報を共有することを可能にする機構である。これによりサード・パーティ・アプリケーションはユーザに合わせてパーソナル化されたコンテンツを生成することができる。
【課題を解決するための手段】
【０００７】
ソーシャル・ネットワーキング・システムにおいて、ユーザは、オブジェクトに対して様々なタイプのアクションを実行しうる（例えば曲について、ユーザはその曲を買ったり、聴いたり、推奨したり、好意を示すことができる）。ソーシャル・ネットワーキング・システム上のオブジェクトは、オブジェクトプロパティを含みうる（例えば曲については、アーティスト、ジャンル、およびアルバムがその曲のオブジェクトプロパティである）。あるタイプのオブジェクトに対して実行される各タイプのアクションは様々なやり方で集約されうる（例えば、ある曲を５回聴いた、１週あたり平均約１６ｋｍ（１０マイル）走ったなど）。アクションは、ソーシャル・ネットワーキング・システムを使用している間にユーザによって直接オブジェクトに対して実行されうる。しかしアクションは、ユーザのために、ソーシャル・ネットワーキング・システムのプラットフォーム上にインストールされたサード・パーティ・アプリケーションを用いて実行されても、ソーシャル・ネットワーキング・システムの外部のアプリケーションおよびシステム上で実行されてもよい。本開示の実施形態は、サード・パーティ・アプリケーションが、アクションタイプに基づいて、および複数のオブジェクトに対するアクションタイプに対応するユーザのデータの集約に基づいてユーザデータを要求することを可能にする。ソーシャル・ネットワーキング・システムのユーザは、ユーザの情報のプライバシまたはアクセス可能性を、情報に関連付けられたアクションタイプに基づいて提供しうる（例えばユーザは、特定のアプリケーションに、あるタイプのすべてのアクションへのアクセスを、それらのアクションのソースにかかわらず許可してよい）。サード・パーティ・アプリケーションは、このアクセスした情報を使用することにより、ユーザのデータの集約に基づいてユーザのためのパーソナル化コンテンツを生成し、次いでパーソナル化コンテンツをソーシャル・ネットワーキング・システムに戻して公開しうる。
【図面の簡単な説明】
【０００８】
【図１】いくつかの実施形態による、サード・パーティ・アプリケーションにアクションタイプに基づいて集約されたデータを提供するためのプロセスのハイ・レベル・ブロック図である。
【図２】いくつかの実施形態による、システム環境を例示するハイ・レベル・ブロック図である。
【図３】本開示の実施形態による、ユーザアクションを表す定義されたグラフ構造のハイ・レベル・ブロック図である。
【図４Ａ】いくつかの実施形態による、サード・パーティ・アプリケーションにアクションタイプに基づいて集約されたデータを提供するための様々なモジュールを含む集約モジュールを例示するハイ・レベル・ブロック図である。
【図４Ｂ】いくつかの実施形態による、サード・パーティ・アプリケーションによって生成されたパーソナル化コンテンツを公開するための様々なモジュールを含むパブリッシャモジュールを示すハイ・レベル・ブロック図である。
【図５】いくつかの実施形態による、サード・パーティ・アプリケーションにアクションタイプに基づいて集約されたデータを提供するためのプロセスを例示する流れ図である。
【図６】いくつかの実施形態による、ソーシャル・ネットワーキング・システムにパーソナル化コンテンツを公開するためのプロセスを例示する流れ図である。
【図７】いくつかの実施形態による、集約データから生成されたパーソナル化コンテンツをソーシャル・ネットワーキング・システムへ公開することの一例の相互作用図である。
【発明を実施するための形態】
【０００９】
各図に描かれている本開示の様々な実施形態は例示のためのものにすぎない。以下の考察を読めば、本明細書で記述する開示の原理を逸脱することなく、本明細書で例示する構造および方法の代替の実施形態が用いられうることを、当業者は容易に理解するであろう。
【００１０】
概要
ソーシャル・ネットワーキング・システムはそのユーザに、ソーシャル・ネットワーキング・システムの他のユーザとコミュニケーションをとり、対話する能力を提供する。ユーザは、ソーシャル・ネットワーキング・システムに参加し、ユーザが接続されることを望む何人かの他のユーザへの接続を追加する。ソーシャル・ネットワーキング・システムのユーザは、ユーザプロフィールとして記憶されるユーザを記述する情報を提供することができる。例えば、ユーザは、ユーザの年齢、性別、地理的位置（ロケーション）、学歴、職歴などを提供することができる。ユーザによって提供された情報は、ソーシャル・ネットワーキング・システムによって、ユーザへ情報を誘導するのに使用されうる。例えば、ソーシャル・ネットワーキング・システムは、ソーシャルグループ、イベント、および潜在的な友人をユーザに推奨しうる。またソーシャル・ネットワーキング・システムは、ユーザが、有名人、趣味、スポーツチーム、書籍、音楽などといった概念への興味を明確に表明できるようにすることもできる。これらの興味は、広告の的を絞ることと、共有される興味に基づいてソーシャル・ネットワーキング・システムの他のユーザに関する関連ストーリーを示すことによりソーシャル・ネットワーキング・システム上でのユーザ体験をパーソナル化することとを含めて、無数の方法で使用されうる。
【００１１】
ソーシャルグラフは、ソーシャル・ネットワーキング・システム上に記憶されたエッジによって接続されたノードを含む。ノードはユーザおよびソーシャル・ネットワーキング・システムのオブジェクト、例えば概念およびエンティティを具現化したウェブページを含み、エッジは各ノードを接続する。エッジは２つのノード間の特定の相互作用、例えば、ユーザが「アメリカズ・カップ（Ａｍｅｒｉｃａ’ｓ  Ｃｕｐ）」に関する別のユーザによって共有されるニュース記事への興味を表明した場合にそのことを表す。ソーシャルグラフは、ソーシャル・ネットワーキング・システムのユーザ間の対話、ならびにソーシ
ャル・ネットワーキング・システムのユーザとオブジェクトとの対話を、これらの対話を表すノードおよびエッジとして情報を記憶することによって記録しうる。カスタム・グラフ・オブジェクト・タイプおよびカスタム・グラフ・アクション・タイプが、グラフオブジェクトおよびグラフアクションの属性を定義するために、サードパーティ開発者およびソーシャル・ネットワーキング・システムの管理者によって定義されうる。例えば、映画のためのグラフオブジェクトは、題名、俳優、監督、プロデューサ、年などといった、いくつかの定義されたオブジェクトプロパティを有しうる。「購入する」といったグラフ・アクション・タイプが、ソーシャル・ネットワーキング・システムの外部のウェブサイト上でサードパーティ開発者によって、ソーシャル・ネットワーキング・システムのユーザによって実行されたカスタムアクションを報告するのに使用されうる。このように、ソーシャルグラフは「開放」されていてよく、サードパーティ開発者が外部ウェブサイト上でカスタム・グラフ・オブジェクトおよびカスタム・グラフ・アクションを作成し、使用することを可能にする。
【００１２】
サードパーティ開発者は、ソーシャル・ネットワーキング・システムのユーザが、ソーシャル・ネットワーキング・システムの外部のウェブサイト上でホストされるウェブページへの興味を表明できるようにすることができる。これらのウェブページは、ウィジェット、ソーシャルプラグイン、プログラマブル論理、またはコードスニペット、例えばインラインフレーム（ｉｆｒａｍｅ）をウェブページに埋め込んだ結果として、ソーシャル・ネットワーキング・システム内のページオブジェクトとして表されうる。ウェブページで具現化されうるいかなる概念も、このようにソーシャル・ネットワーキング・システム上のソーシャルグラフ内のノードとなりうる。その結果、ユーザは、「ジャスティン・ビーバー（Ｊｕｓｔｉｎ  Ｂｉｅｂｅｒ）」といったキーワードまたはキーフレーズに関連したソーシャル・ネットワーキング・システムの外部の多くのオブジェクトと対話しうる。オブジェクトとの対話の各々が、ソーシャル・ネットワーキング・システムによりエッジとして記録されうる。サードパーティ開発者によるカスタム・オブジェクト・タイプおよびカスタム・アクション・タイプの定義を可能にすることについては、参照により本明細書に組み込まれる、２０１１年９月２１日に出願された、「Ｓｔｒｕｃｔｕｒｅｄ  Ｏｂｊｅｃｔｓ  ａｎｄ  Ａｃｔｉｏｎｓ  ｏｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ
Ｓｙｓｔｅｍ」、米国特許出願第１３／２３９３４０号明細書に記載されている。
【００１３】
ソーシャル・ネットワーキング・システムは、ユーザがサード・パーティ・アプリケーションに、アクションタイプに基づくユーザデータの集約へアクセス権を付与できるようにすることができる。先進的なサード・パーティ・アプリケーションは、ユーザにパーソナル化コンテンツを提供するためにこのデータを集約しうる。例えば、サード・パーティ・アプリケーションは、アクションタイプ「購入する」に基づいてユーザデータの集約を検索しうる。このデータを用いて、サード・パーティ・アプリケーションは、ユーザの購入アクティビティの分析を生成しうる。
【００１４】
別の実施形態では、ソーシャル・ネットワーキング・システムは、オブジェクトタイプまたはオブジェクトプロパティに基づいてユーザデータを集約しうる。サード・パーティ・アプリケーションは、ユーザデータの要求において１つまたは複数のオブジェクトタイプおよび／または１つまたは複数のオブジェクト特徴を指定しうる。例えば、サード・パーティ・アプリケーションは、曲オブジェクトがオブジェクトプロパティとして関連付けられたアーティストオブジェクトを有するために、特定のアーティストからの曲を聴いているユーザに関するデータにアクセスしうる。同様に、サード・パーティ・アプリケーションは、曲オブジェクトがジャンルオブジェクトに関連付けられているために、ポップミュージックといったあるジャンル内の任意の曲の閾値数回の再生に基づいてユーザに関するデータにアクセスしうる。またソーシャル・ネットワーキング・システムは、サード・パーティ・アプリケーションが、曲の再生の所定回数および過去においてコンサートホー
ルに少なくとも１回チェックインしたといった、複数の異なるタイプのアクションに関する集約を指定できるようにすることもできる。つまり、ソーシャル・ネットワーキング・システムにおけるオブジェクトは、オブジェクトのタイプに基づいて変化するオブジェクトに関連付けられてメタデータを有する。ソーシャル・ネットワーキング・システムは、サード・パーティ・アプリケーションがこれらのオブジェクトプロパティの集約、すなわちオブジェクトの特徴を検索できるようにすることができる。
【００１５】
図１に、一実施形態における、サード・パーティ・アプリケーションにアクションタイプに基づいて集約されたデータを提供するプロセスのハイ・レベル・ブロック図を示す。ソーシャル・ネットワーキング・システム１３０の集約モジュール１３２は、あるアクションのタイプについてユーザに関する情報の要求に応答する。要求はユーザのユーザ識別子を含み、１つまたは複数のアクションタイプを指定しうる。集約モジュール１３２は要求に対し、要求で指定された１つまたは複数のアクションタイプに基づいて集約された集約ユーザデータ１６０で応答する。例えば、集約ユーザデータ１６０は、「ランニング」、「水泳」、および「自転車」というアクションタイプに基づいて集約されうる。集約ユーザデータ１６０は、指定されたアクションタイプに関連付けられたコンテンツオブジェクト１３８およびエッジオブジェクト１３８からの情報を含む。例えば、集約データは、「ランニング」、「水泳」、および「自転車」というアクションタイプを有するエッジオブジェクトからのものとすることができる。ソーシャル・ネットワーキング・システム１３０上のコンテンツオブジェクト１３６は、ソーシャル・ネットワーキング・システム１３０のユーザによって作用されうる。コンテンツオブジェクト１３６は、ページ投稿、近況の更新、ニュースフィードストーリー、写真、ビデオ、リンク、共有コンテンツアイテム、ゲームアプリケーションの成績、地元企業でのチェックインイベントなどといった、ソーシャル・ネットワーキング・システム１３０上の任意のタイプのオブジェクトを含みうる。ユーザとコンテンツオブジェクト１３０との間の対話は、ユーザ、コンテンツオブジェクト１３６、および実行されたアクションのタイプに関する情報の特定を含む、対話に関する情報を含むエッジオブジェクト１３８を生成する。一実施形態では、ソーシャル・ネットワーキング・システム１３０上のコンテンツオブジェクト１３６は、ソーシャル・ネットワーキング・システム１３０上にインストールされた特定のアプリケーションを介してソーシャル・ネットワーキング・システム１３０のユーザによって作用されうる。
【００１６】
いくつかの実施形態では、集約モジュール１３２は、オブジェクトタイプおよび／またはオブジェクト特徴を指定する要求に応答する。集約モジュール１３２は指定されたオブジェクトタイプおよび／またはオブジェクト特徴に基づいて集約された集約ユーザデータで応答する。例えば、集約モジュール１３２は、ユーザのチェックイン、投稿画像、コメント、「いいね！」、および貼られたリンクに関する情報で応答しうる。
【００１７】
いくつかの実施形態では、ソーシャル・ネットワーキング・システム１３０のパブリッシャモジュール１３４は、ソーシャル・ネットワーキング・システムに公開するためにパーソナル化コンテンツ１６１を受け取りうる。パーソナル化コンテンツは集約ユーザデータ１６０に基づいて生成される。いくつかの実施形態では、パブリッシャモジュール１３４は、集約ユーザデータ１６０に関するニュースストーリーを受け取る。例えば、サード・パーティ・アプリケーション１１２はパブリッシャモジュール１３４へ、ユーザのランニングアクティビティ、水泳アクティビティ、および自転車アクティビティに関して示すチャートを含むニュースストーリーを送信しうる。いくつかの実施形態では、パブリッシャモジュール１３４は、コンポーザインターフェース入力を受け取る。コンポーザインターフェース入力は、集約ユーザデータ１６０に関連したテキスト、ビデオ、または画像を含みうる。例えば、コンポーザインターフェースは、ユーザの最近のランニングアクティビティ、水泳アクティビティ、および自転車アクティビティに関する統計を含む近況メッセージ更新を含みうる。パーソナル化コンテンツは、ニュースフィード、プロフィールペ
ージ、アプリケーション特有のページといった、ソーシャル・ネットワーキング・システムの１つまたは複数のページに公開されうる。
【００１８】
集約ユーザデータ１６０に含まれる個別のアクション、エッジおよび／またはオブジェクトは個別にアクセスされてよく、集約ユーザデータ１６０ならびにそのオブジェクトまたはアクションの個別の集約が、集約ならびに集約に含まれる様々なオブジェクトおよび／またはアクションへのアクセスを許可することを可能にする。例えば、「ランニング」、「水泳」、および「睡眠」というアクションタイプに基づく集約ユーザデータ１６０は、「楽しみ」、「水泳」、および「睡眠」という指定のアクションタイプに関連付けられたコンテンツオブジェクト１３６およびエッジオブジェクト１３８からの情報を含む。サード・パーティ・アプリケーション１１２は、ユーザデバイス１１０に含まれていてよく、後述するように、集約ユーザデータ１６０内のコンテンツオブジェクト１３６および／またはエッジオブジェクト１３８にアクセスすることにより、ユーザのためのパーソナル化コンテンツを生成しうる。ユーザは、異なる許可を集約ユーザデータ１６０内のコンテンツオブジェクト１３６および／またはエッジオブジェクト１３８に関連付けることにより、集約ユーザデータ１６０内のオブジェクトへのサード・パーティ・アプリケーションのアクセスを規制しうる。例えばユーザは、フィットネストレーニングのサード・パーティ・アプリケーション１１２に、「ランニング」および「水泳」のアクションタイプに関連付けられたコンテンツオブジェクト１３６および／またはエッジオブジェクト１３８へのアクセスを許可し、その一方で、フィットネストレーニングのサード・パーティ・アプリケーション１１２が、「睡眠」アクションタイプに関連付けられたコンテンツオブジェクト１３６またはエッジオブジェクト１２８にアクセスするのを妨げることができる。
【００１９】
ユーザデバイス１１０は、ソーシャル・ネットワーキング・システム１３０からの集約ユーザデータ１６０に基づいてユーザのためのパーソナル化コンテンツを生成するサード・パーティ・アプリケーション１１２を含む。前述のように、集約ユーザデータ１６０は、アクションタイプ、オブジェクトタイプ、オブジェクトプロパティ、またはそれらの任意の組み合わせに基づいて集約されうる。例えば、サード・パーティ・アプリケーション１１２は、「ランニング」というアクションタイプに基づいて集約されたデータを要求するソーシャル・ネットワーキング・システム１３０への要求を送りうる。要求に応答して、サード・パーティ・アプリケーション１１２は、「ランニング」というアクションタイプを有するエッジオブジェクトに関連付けられたソーシャル・ネットワーキング・システム１３０によって維持される１つまたは複数のオブジェクトからデータを受け取りうる。サード・パーティ・アプリケーション１１２は、前述のように、集約ユーザデータ１６０を使用してユーザのためのパーソナル化コンテンツを生成しうる。
【００２０】
外部システム１２０は、ソーシャル・ネットワーキング・システム１３０および／またはユーザデバイス１１０と通信するための命令を含むウィジェット１２４を備えるウェブページ１２２を含む。ウィジェット１２４は、アクションタイプ、オブジェクトタイプ、オブジェクトプロパティ、またはそれらの任意の組み合わせに基づいて集約された集約ユーザデータを取得しうる。ウィジェット１２４はこのデータを使用して、ユーザに表示すべきパーソナル化コンテンツを生成しうる。
【００２１】
上記方法を用いて、ソーシャル・ネットワーキング・システムは、サード・パーティ・アプリケーション１１２およびサード・パーティ・ウェブサイトが、ソーシャル・ネットワーキング・システムによって取り込まれた対話に基づいて集約されたデータを取り出せるようにすることができる。これらの対話はソーシャル・ネットワーキング・システム内で行われうるものであり、例えば、メッセージ、掲示板、およびコメントによるソーシャル・ネットワーキング・システムの他のユーザとの対話、アプリケーション対話、ならびに、ビデオおよび写真のアップロードや、ソーシャル・ネットワーキング・システム上の
ゲームアプリケーションとの対話といった、ソーシャル・ネットワーキング・システム上のオブジェクトとの他の対話などである。またユーザ対話は、ランニングワークアウトを完了する、全国にわたる自動車旅行を完了する、再生リストに記載された曲を再生するといったように、ソーシャル・ネットワーキング・システムの外部でも実行されうる。
【００２２】
図１およびその他の図では、類似の要素を識別するのに類似の参照番号を使用している。参照番号の後の文字、例えば「１６０−１」は、そのテキストが、明確にその特定の参照番号を有する要素を指すことを示している。後部の文字が付かないテキスト中の参照番号、例えば「１６０」は、その参照番号を持つ図中の要素のいずれかまたはすべてを指す（例えば、テキスト中の「１６０」は、図中の参照番号「１６０−１」および／または「１６０−２」を指す）。
【００２３】
システムアーキテクチャ
図２は、本開示の実施形態による、ユーザの対話に基づいて集約されたユーザのデータにサード・パーティ・アプリケーションがアクセスすることを可能にするのに適したシステム環境２００を例示するハイ・レベル・ブロック図である。システム環境は、１つまたは複数のユーザデバイス１１０、ソーシャル・ネットワーキング・システム１３０、ネットワーク２０４、および１つまたは複数の外部システム１２０を備える。代替の構成では、異なるモジュールおよび／または追加モジュールがシステムに含まれうる。例示のために、図２で示すシステム環境２００の実施形態は、単一の外部システム１２０および単一のユーザデバイス１１０を含んでいる。しかし、他の実施形態では、システム環境２００は、より多くのユーザデバイス１１０および／またはより多くの外部システム１２０を含みうる。
【００２４】
ユーザデバイス１１０は、ユーザ入力を受け取ることができ、ネットワーク２０４を介してデータを送受信することができる１つまたは複数のコンピューティングデバイスを備える。一実施形態では、ユーザデバイス１１０は、例えば、Ｍｉｃｒｏｓｏｆｔ  ＷＩＮＤＯＷＳ（登録商標）互換のオペレーティングシステム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬＩＮＵＸ（登録商標）ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態では、ユーザデバイス１１０は、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォンなどといった、コンピュータ機能を有するデバイスとすることができる。ユーザデバイス１１０は、ネットワーク２０４を介して通信するように構成されている。ユーザデバイス１１０はアプリケーション、例えば、ユーザデバイス１１０のユーザがソーシャル・ネットワーキング・システム１３０と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態では、ユーザデバイス１１０は、ｉＯＳ  ４やＡＮＤＲＯＩＤ（登録商標）といった、ユーザデバイス１１０の固有のオペレーティングシステム上で行うアプリケーション・プログラミング・インターフェース（ＡＰＩ）によってソーシャル・ネットワーキング・システム１３０と対話する。
【００２５】
一実施形態では、ネットワーク２０４は、標準的な通信技術および／またはプロトコルを使用する。よって、ネットワーク２０４は、ＥＴＨＥＲＮＥＴ（登録商標）８０２．１１、ＷｉＭＡＸ（ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、３Ｇ、４Ｇ、ＣＤＭＡ、デジタル加入者線（ＤＳＬ：ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ）などといった技術を用いたリンクを含むことができる。同様に、ネットワーク２０４上で使用されるネットワーキングプロトコルも、マルチプロトコル・ラベル・スイッチグループ（ＭＰＬＳ：ｍｕｌｔｉｐｒｏｔｏｃｏｌ  ｌａｂｅｌ  ｓｗｉｔｃｈｉｎｇ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ：ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）、ユーザ・データグラム・プロトコル（Ｕ
ＤＰ：Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ：ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｐｏｒｔ  ｐｒｏｔｏｃｏｌ）、電子メール転送プロトコル（ＳＭＴＰ：ｓｉｍｐｌｅ  ｍａｉｌ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）、およびファイル転送プロトコル（ＦＴＰ：ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を含むことができる。ネットワーク２０４上で交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ：ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）および拡張可能なマークアップ言語（ＸＭＬ：ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）を含む技術および／または書式を用いて表すことができる。加えて、リンクの全部または一部を、セキュア・ソケット・レイヤ（ＳＳＬ：ｓｅｃｕｒｅ  ｓｏｃｋｅｔｓ  ｌａｙｅｒ）、トランスポート層セキュリティ（ＴＬＳ：ｔｒａｎｓｐｏｒｔ  ｌａｙｅｒ  ｓｅｃｕｒｉｔｙ）、およびインターネット・プロトコル・セキュリティ（ＩＰｓｅｃ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｓｅｃｕｒｉｔｙ）といった従来の暗号化技術を用いて暗号化することもできる。
【００２６】
図２は、ソーシャル・ネットワーキング・システム１３０のブロック図を含んでいる。ソーシャル・ネットワーキング・システム１３０は、ウェブサーバ２０８、ユーザ・プロフィール・ストア２０６、コンテンツストア２１２、エッジストア２１４、アクションロガー２１６、アクティビティログ２１８、認可サーバ２２２、集約モジュール１３２、およびパブリッシャモジュール１３４を含む。他の実施形態では、ソーシャル・ネットワーキング・システム１３０は、様々なアプリケーションのための追加のモジュール、より少数のモジュール、または異なるモジュールを含みうる。ネットワークインターフェース、セキュリティ機能、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク動作コンソールなどといった従来の構成要素は、システムの詳細をあいまいにしないように図示されていない。
【００２７】
ウェブサーバ２０８は、ネットワーク２０４を介して１つまたは複数のユーザデバイス１１０にソーシャル・ネットワーキング・システム１３０をリンクさせる。すなわち、ウェブサーバ２０８はウェブページ、ならびに、ＪＡＶＡ（登録商標）、Ｆｌａｓｈ、ＸＭＬなどといった他のウェブ関連コンテンツのために機能する。ウェブサーバ２０８は、ソーシャル・ネットワーキング・システム１３０とユーザデバイス１１０との間のメッセージ、例えば、インスタントメッセージ、待ち行列メッセージ（例えば電子メール）、テキストおよびショート・メッセージ・サービス（ＳＭＳ：Ｓｈｏｒｔ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ）メッセージ、または任意の他の適切なメッセージング技術を用いて送信されるメッセージを受信し、経路指定する機能を提供しうる。ユーザは、コンテンツストア２１２に記憶された情報、例えば画像やビデオをアップロードするよう求めるウェブサーバ２０８への要求を送信することができる。加えて、ウェブサーバ２０８は、ｉＯＳ、ＡＮＤＲＯＩＤ（登録商標）、ｗｅｂＯＳ、ＲＩＭといった固有のユーザデバイスオペレーティングシステムへ直接データを送信するＡＰＩ機能を提供してもよい。
【００２８】
アクションロガー２１６は、ソーシャル・ネットワーキング・システム１３０上のユーザアクションおよび／またはソーシャル・ネットワーキング・システム１３０外のユーザアクションに関するウェブサーバ２０８からの通信を受信することができる。アクションロガー２１６はアクションログに、ユーザアクションを追跡するためのユーザアクションに関する情報を読み込む。そうしたアクションには、例えば特に、他方のユーザへの接続を追加する、他方のユーザへメッセージを送信する、画像をアップロードする、他方のユーザからのメッセージを読み取る、他方のユーザに関連付けられたコンテンツを閲覧する、別のユーザによって投稿されたイベントに参加するなどが含まれうる。加えて、他のオブジェクトと関連して記述されたいくつかのアクションも特定のユーザを対象としており、そのため、これらのアクションはそれらのユーザとも関連付けられる。
【００２９】
アクションログ２１８は、ソーシャル・ネットワーキング・システム１３０によって、ソーシャル・ネットワーキング・システム１３０上、ならびにソーシャル・ネットワーキング・システム１３０へ情報を送り返す外部ウェブサイト上でのユーザのアクションを追跡するのに使用されうる。前述のように、ユーザは、投稿へのコメント、リンクの共有、およびモバイルデバイスによる物理的な場所へのチェックインを含めて、ソーシャル・ネットワーキング・システム１３０上の様々なオブジェクトと対話しうる。またアクションログ２１８は、外部ウェブサイト上でのユーザアクションも含みうる。例えば、主として高級靴を格安価格で販売する電子商取引ウェブサイトは、その電子商取引ウェブサイトがソーシャル・ネットワーキング・システムのユーザを識別することを可能にするソーシャルプラグインによってソーシャル・ネットワーキング・システム１３０のユーザを認識しうる。ソーシャル・ネットワーキング・システム１３０のユーザを一意に識別できるため、この高級靴再販業者のような電子商取引ウェブサイトは、これらのユーザに関する情報を、ユーザが電子商取引のウェブサイトを訪問する際に使用しうる。アクションログは、閲覧履歴、クリックされた広告、購入アクティビティ、および購買パターンを含む、これらユーザに関するデータを記録する。
【００３０】
ユーザ・プロフィール・ストア２０６は、ユーザアカウント情報およびユーザについての他の関連情報を記憶する。ユーザ・プロフィール・ストア２０６に記憶されたユーザプロフィール情報は、ソーシャル・ネットワーキング・システム１３０のユーザを記述し、この記述は、実務経験、学歴、性別、趣味または好み、位置などといった、自己紹介、人口統計、および他のタイプの記述情報を含む。またユーザプロフィールは、ユーザによって提供される他の情報、例えば、画像やビデオなども記憶しうる。ある実施形態では、ユーザの画像は、画像に表示されたソーシャル・ネットワーキング・システム１３０のユーザの識別情報でタグ付けされうる。またユーザ・プロフィール・ストア２０６は、アクションログに記憶され、コンテンツストア２１２内のオブジェクトに対して実行されたアクションへの参照も維持しうる。
【００３１】
エッジストア２１４は、ユーザとソーシャル・ネットワーキング・システム１３０上の他のオブジェクトとの間の接続を記述する情報を記憶する。あるエッジはユーザによって定義され、ユーザがユーザと他のユーザとの関係を指定できるようにする。例えばユーザは、友人、同僚、パートナなどといった、ユーザの実生活の関係に対応する他のユーザとのエッジを生成しうる。他のエッジは、例えば、ソーシャル・ネットワーキング・システム上のページへの興味を表明する、ソーシャル・ネットワーキング・システムの他のユーザとリンクを共有する、ソーシャル・ネットワーキング・システムの他のユーザによってなされた投稿にコメントするなど、ユーザがソーシャル・ネットワーキング・システム１３０内のオブジェクトと対話するときに生成される。エッジストア２１４は、オブジェクト、興味、および他のユーザについての親和性（ａｆｆｉｎｉｔｙ）スコアといった、エッジに関する情報を含むエッジオブジェクトを記憶する。親和性は、ユーザによって実行されたアクションに基づいてソーシャル・ネットワーキング・システム１３０内のオブジェクト、興味、および他のユーザについてのユーザの親和性を概算するために、ある期間にわたってソーシャル・ネットワーキング・システム１３０によって算出されうる。一実施形態では、ユーザと特定のオブジェクトとの間の複数の対話が、エッジストア２１４内のあるエッジオブジェクトに記憶されうる。例えば、レディー・ガガ（Ｌａｄｙ  Ｇａｇａ）のアルバム「ボーン・ディス・ウェイ（Ｂｏｒｎ  Ｔｈｉｓ  Ｗａｙ）」からの複数の曲を再生するユーザは、それらの曲についての複数のエッジオブジェクトを有するが、Ｌａｄｙ  Ｇａｇａについてはただ１つのエッジオブジェクトしか有しない。
【００３２】
認可サーバ２２２は、ソーシャル・ネットワーキング・システム１３０のユーザの１つまたは複数のプライバシ設定を実施する。ユーザのプライバシ設定は、ユーザに関連付けられた特定の情報がどのように共有されうるか決定する。プライバシ設定は、ユーザに関
連付けられた特定の情報の指定および情報を共有しうる相手先の１つまたは複数のエンティティの指定を含む。情報を共有しうる相手先エンティティの例には、他のユーザ、アプリケーション、外部システム１２０またはその情報にアクセスしうる可能性を有する任意のエンティティが含まれうる。ユーザによって提供されうる情報は、プロフィール写真、ユーザに関連付けられた電話番号、ユーザの接続先、ユーザによって取られるアクション、例えば、接続先の追加、ユーザプロフィール情報の変更などといったユーザプロフィール情報を含む。
【００３３】
プライバシ設定の指定は、異なる粒度で提供されうる。いくつかの実施形態では、プライバシ設定は、アクションタイプ、オブジェクトタイプ、オブジェクトプロパティ、またはそれらの任意の組み合わせを指定する。いくつかの実施形態では、プライバシ設定は、他のユーザと共有されるべき具体的な情報を特定する。例えば、プライバシ設定は、勤務先電話番号、または、プロフィール写真、自宅電話番号、近況といった特定の関連情報のセットを特定する。あるいは、プライバシ設定は、ユーザに関連付けられたすべての情報に適用されてもよい。特定の情報にアクセスできるエンティティのセットの指定も、様々な粒度で指定することができる。情報を共有しうる相手先の様々なエンティティのセットは、例えば、ユーザのすべての友人、友人のすべての友人、すべてのアプリケーション、またはすべての外部システム１２０を含みうる。ある実施形態は、エントリのセットの指定がエンティティの列挙を含むことを可能にし、例えばユーザは、ある情報へのアクセスが許可される外部システム１２０および／またはサード・パーティ・アプリケーションのリストを提供しうる。別の実施形態は、指定がエンティティのセットを、情報へのアクセスが許可されない例外と共に含むことを可能にする。例えばユーザは、すべての外部システム１２０がユーザの勤務先情報にアクセスすることを許可するが、勤務先情報へのアクセスを許可されない外部システム１２０のリストを指定することができる。ある実施形態は、ある情報へのアクセスを許可されない例外のリストをブロックリストと呼ぶ。ユーザによって指定されたブロックリストに属する外部システム１２０は、プライバシ設定で指定された情報へのアクセスを阻止される。情報の指定の粒度と情報が共有される相手先のエンティティの指定の粒度との様々な組み合わせが可能であること、すなわち、すべての個人情報が友人と共有されうるのに対し、すべての勤務先情報が友人の友人と共有されてもよいことに留意されたい。
【００３４】
いくつかの実施形態では、認可サーバ２２２は、ユーザに関連付けられたサード・パーティ・アプリケーションごとまたはエンティティごとにユーザについてのプライバシ設定を記憶する。例えば、プライバシ設定は、特定のサード・パーティ・アプリケーションがアクセスすることができるアクションタイプ、オブジェクトタイプ、およびオブジェクトプロパティを指定する。いくつかの実施形態では、ユーザのためのプライバシ設定は、すべてのサード・パーティ・アプリケーションについてのプライバシ設定のセットを含む。例えば、プライバシ設定は、すべてのサード・パーティ・アプリケーションがアクセスしうるアクションタイプを指定しうる。
【００３５】
いくつかの実施形態では、ユーザのためのプライバシ設定は、コンテンツを公開するための設定を記憶する。公開プライバシ設定は、サード・パーティ・アプリケーションがパーソナル化コンテンツをユーザの友人に公開してよいか、それともユーザだけに公開してよいか判定しうる。また公開プライバシ設定は、パーソナル化コンテンツがどのコミュニケーションチャンネルに公開されてよいかも指定しうる。例えば、パーソナル化コンテンツは、ニュースフィード、プロフィールページ、ユーザのアクティビティのタイムラインを含むプロフィールページ、アプリケーションページ、グループページ、ダッシュボードページ、メッセージ、または通知に公開されうる。認可サーバ２２は、サード・パーティ・アプリケーションごとのプライバシ設定、またはユーザに関連付けられたすべてのサード・パーティ・アプリケーションについての単一のセットを含みうる。
【００３６】
認可サーバ２２２は、ユーザに関連付けられたある情報が、ユーザの友人、外部システム１２０、および／または他のアプリケーションやエンティティによってアクセス可能かどうか判定するための論理を含む。サード・パーティ・アプリケーションまたは外部システム１２０は、１つまたは複数のアクションタイプ、１つまたは複数のオブジェクトタイプ、１つまたは複数のオブジェクトプロパティ、またはそれらの任意の組み合わせに基づいて集約されたユーザに関する情報にアクセスするために、認可サーバ２２２からの認可を必要としうる。ユーザのプライバシ設定に基づき、認可サーバ２２２は、別のユーザ、外部システム１２０、アプリケーションまたは別のエンティティが、ユーザによって取られたアクションに関する情報を含むユーザに関連付けられた情報へのアクセスを許可されるかどうか判定する。一実施形態では、認可サーバ２２は、ユーザのプライバシ設定を使用して、サード・パーティ・アプリケーションまたは外部システム１２０が、１つまたは複数のアクションタイプ、１つまたは複数のオブジェクトタイプ、１つまたは複数のオブジェクトプロパティ、またはそれらの任意の組み合わせに基づいて集約されたユーザに関する情報にアクセスしてよいかどうか判定する。ユーザのプライバシ設定は、他のどのユーザ、アプリケーション、外部システムまたは他のエンティティが、ユーザのアクションまたはユーザに関連付けられた他の情報に関するデータの受信を許可されるか指定しうる。
【００３７】
グラフアクションおよびグラフオブジェクトのための構造
図３は、本開示の実施形態による、グラフアクションおよびグラフアクションのグラフオブジェクトに対する関係を表す定義されたグラフ構造のハイ・レベル・ブロック図である。１つのアクションのみ、すなわち聴くアクション３１０のみが例示されているが、アクションの全領域がソーシャル・ネットワーキング・システム１３０内で定義に使用されうる。例えばユーザは、製品、音楽、スポーツの試合、映画といった様々なオブジェクトを読むこと、購入すること、販売すること、見ること、欲すること、再生すること、獲得すること、取得すること、推奨すること、見直すこと、訪問すること、およびそれらに対してコメントすることができる。ソーシャル・ネットワーキング・システム１３０の外部のエンティティは、ソーシャル・ネットワーキング・システム１３０上のソーシャルグラフへ公開するためにこれらのグラフアクションおよびグラフオブジェクトを定義しうる。グラフアクションおよびグラフオブジェクトは、ソーシャル・ネットワーキング・システム１３０上はもとより外部システム１２０上でもユーザによって実行されうる。
【００３８】
図３に例示し、また先に論じたように、例示的実施形態は、インターネット・ラジオ・ウェブサイトといった外部システム１２０上で音楽を聴くことが関与する。聴くアクション３１０は、ネットワーク２０４に接続された独立型のデスクトップアプリケーション、ポッドキャスト、インターネットを介して放送している地上波ラジオ局、仮想音楽ロッカーウェブサイト、および音楽ストリーミング加入サービスウェブサイトを含む他の外部システム１２０について定義されうる。前述のように、いくつかの実施形態では、聴くアクション３１０といったアクションは、図示されてはいないが、再生リスト、ポッドキャスト、ストリーミングライブラリといった新しいオブジェクトが聴くアクション３１０によって作用されうるように、拡張可能なものとして定義することができる。聴くアクション３１０は、一実施形態では、ソーシャル・ネットワーキング・システム１３０によって提供されるツールを介してソーシャル・ネットワーキング・システム１３０の外部のエンティティによって定義され、ツールは、そのエンティティが、聴くアクション３１０タイプに関連付けられるタイプのオブジェクトを含めて、アクションプロパティを定義することを可能にする。ツールは、ソーシャル・ネットワーキング・システム１３０上のウェブページ上で新しいアクションタイプを公開することにより、ソーシャル・ネットワーキング・システム１３０の外部のエンティティがその新しいアクションタイプにアクセスできるようにすることができる。
【００３９】
グラフオブジェクトは、ソーシャル・ネットワーキング・システム１３０の外部のエンティティにより、オブジェクトプロパティを含むように定義されうる。曲オブジェクト３０４のオブジェクトプロパティは、例えば、曲名、演奏時間、アーティストオブジェクト３０６、アルバムオブジェクト３１４、およびいくつかのジャンルオブジェクト３１６を含みうる。アーティストオブジェクト３０６のオブジェクトプロパティは、例えば、アーティスト名、アルバムオブジェクト３１４、いくつかのジャンルオブジェクト３１６、およびアーティスト生年オブジェクト３０８を含みうる。ラジオ局オブジェクト３０２は、アプリケーションによって作成される曲オブジェクト３０４との関連付けを含みうる。例えば、ラジオ局オブジェクト３０２は、ラジオ局オブジェクト３０２に関連付けられたラジオ局を聴いているユーザのために再生されるべき複数の曲オブジェクト３０４の再生リストを含みうる。一実施形態では、オブジェクトは、題名、内容、画像、およびＵＲＬといった標準オブジェクトプロパティを有する。他のオブジェクトプロパティは、ソーシャル・ネットワーキング・システム１３０の外部のエンティティによって定義されうる。このようにして、複数の異なるオブジェクトが相互に関連付けられうる。
【００４０】
ラジオ局オブジェクト３０２は、「９９．７  ＦＭ」や「ブリトニー・スピアーズ・チャンネル（Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ  Ｃｈａｎｎｅｌ）」といった名前を有するものとして定義されうる。ラジオ局オブジェクト３０２は、企業によって所有されている、特定のインターネットＵＲＬでブロードキャストされているなどといったプロパティを含みうる。ラジオ局オブジェクト３０２は曲オブジェクト３０４にリンクされる。曲オブジェクト３０４は、ラジオ局で再生されたことのある１曲を表す。曲オブジェクト３０４はその曲を演奏するアーティストオブジェクト３０６にリンクされる。アーティストオブジェクト３０６は、そのアーティストが生まれた年を表すアーティスト生年オブジェクト３０８にリンクされうる。例えば、アーティストオブジェクト３０６が「ブリトニー・スピアーズ（Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ）」を表していた場合には、そのアーティストオブジェクト３０６は「１９８１」と生年オブジェクト３０８にリンクされるはずである。というのは、サードパーティ開発者はＢｒｉｔｎｅｙ  Ｓｐｅａｒｓが１９８１年に生まれたことを知っているはずだからである。同様に、Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓの曲である「ティル・ザ・ワールド・エンズ（Ｔｉｌｌ  ｔｈｅ  Ｗｏｒｌｄ  Ｅｎｄｓ９」の曲オブジェクト３０４の所有者は、この曲オブジェクト３０４を、「ファム・ファタール（Ｆｅｍｍｅ  Ｆａｔａｌｅ）」のアルバムオブジェクト３１４、ならびに「ポップ」、「ダンス−ポップ」、および「エレクトロポップ」のジャンルオブジェクト３１６とも関連付けるはずである。そうした情報は、データベースに記憶されたグラフオブジェクトに関する情報を用いて手動で定義され、または自動的に関連付けられうる。
【００４１】
インターネット・ラジオ・ウェブサイトのためのサード・パーティ・アプリケーションは、一実施形態ではソーシャル・ネットワーキング・システム１３０によって提供されるツールを用いて、あるいは別の実施形態では、タグを用いたマークアップ言語ドキュメントとして外部システム１２０上のウェブページでオブジェクトを記述することによって、前述のラジオ局、曲、アーティスト、アーティストの生年、アルバム、およびジャンルのためのオブジェクトを定義しうる。聴くアクション３１０は、同じまたは別のサードパーティ開発者によって、またはソーシャル・ネットワーキング・システム１３０の管理者によって定義されうる。聴くアクション３１０は、ほとんどのアクションと同様に、アクションが行われた地理的位置を特定し、記録するために、位置オブジェクト３１２に関連付けることができる。また聴くアクション３１０は、アクションを実行しているユーザのユーザ・プロフィール・オブジェクト３１８とも関連付けることができる。最後に、聴くアクション３１０のプロパティは、聴くアクション３１０が何回実行されたかを特定するアグリゲータオブジェクト３２０を含みうる。一実施形態では、この実行されたアクションの回数は、ユーザごと、位置ごと、ユーザグループごと、またはソーシャル・ネットワー
キング・システム１３０内の任意の識別可能なノードごとに分類されうる。
【００４２】
一例において、ソーシャル・ネットワーキング・システム１３０のユーザは、インターネット・ラジオ・ウェブサイトを訪問し、外部システム１２０上でホストされるそのインターネット・ラジオ・ウェブサイト上で取ったアクションを共有する許可をすでに与えていた。サード・パーティ・アプリケーションは、ユーザがラジオ局を聴取するといった、インターネット・ラジオ・ウェブサイト上でのアクションを実行する際に、ソーシャル・ネットワーキング・システム１３０でグラフ・オブジェクト・インスタンスを作成するために、マークアップ言語ドキュメントにおいてタグを符号化しうる。ユーザがインターネット・ラジオ・ウェブサイト上で音楽を聴く際に、聴くアクション３１０は、アクションログに記録され、またはユーザのユーザ・プロフィール・オブジェクト３１８に関連付けてソーシャル・ネットワーキング・システムへ伝達されうる。アクションログは、ユーザ識別子、グラフアクションのアクションタイプ、オブジェクト識別子、時間、日付、および他のメタデータ、例えば、オブジェクトプロパティや、ユーザが曲をどれ位聴いてからスキップしたかといったアクションプロパティ値を含みうる。ユーザがＧＰＳ機能を備えるモバイルデバイスを使用している場合、または地理的位置がそれ以外の方法で利用できる場合には、その位置の位置オブジェクト３１２が聴くアクション３１０に関連付けられうる。
【００４３】
アグリゲータオブジェクト３２０は、アクションの実行回数を記録するために、聴くアクション３１０に関連付けられうる。一実施形態では、ラジオ局オブジェクト３０２、曲オブジェクト３０４、アーティストオブジェクト３０６、アルバムオブジェクト３１４、ジャンルオブジェクト３１６といった任意のオブジェクトが、集約されうるオブジェクトとして、サードパーティ開発者またはソーシャル・ネットワーキング・システムの管理者によって構成されうる。グラフ構造は完全にカスタマイズ可能であるため、集約、ならびに、合計、頻度、距離、平均、標準からの偏差値といった他の統計的機能が指定のオブジェクトに対して実行されうる。例えば、アーティストオブジェクト３０６によって表されるＬａｄｙ  Ｇａｇａを聴くのに費やされた時間数といった興味深いデータが、構造化されたグラフアクションおよびグラフオブジェクトの単純な問合せから決定され、ソーシャル・ネットワーキング・システム１３０のユーザの任意のセットについて計算されうる。ユーザがラジオ局で曲を聴く際には、聴くアクション３１０は、その曲のリンクされたアーティストオブジェクト３０６、アルバムオブジェクト３１４、およびジャンルオブジェクト３１６はもとより、対応するラジオ局オブジェクト３０２、曲オブジェクト３０４とも関連付けられうる。アーティスト生年オブジェクト３０８は聴くアクション３１０に直接リンクされないが、代わりに、アーティストオブジェクト３０６に直接リンクされる。よって、特化された問合せを利用して、生年別にソートされた最も聴かれた上位アーティストといった興味深いデータの視覚化が生成されうる。
【００４４】
集約ユーザデータの提供
図４Ａに、一実施形態における、集約モジュール１３２のハイ・レベル・ブロック図をさらに詳細に例示する。集約モジュール１３２は、ＡＰＩ要求モジュール１４０と応答モジュール１３７とを含む。これらのモジュールは、他のモジュールと連携して、アクションタイプ、オブジェクトタイプ、オブジェクトプロパティ、またはそれらの任意の組み合わせに基づいて集約されたユーザデータの要求に応答するように動作しうる。
【００４５】
ＡＰＩ要求モジュール１３６は、ユーザデータを求めるアプリケーション・プログラミング・インターフェース要求を受け取る。要求は、サード・パーティ・アプリケーションまたは外部システムによって送信されうる。要求は、ユーザ識別子および１つまたは複数のパラメータを含みうる。ユーザ識別子は、ユーザまたはユーザのユーザプロフィールを一意に識別する。パラメータは、１つまたは複数のアクションタイプ、１つまたは複数の
オブジェクトタイプ、１つまたは複数のオブジェクト特徴、またはそれらの任意の組み合わせを指定しうる。アクションタイプの例には、「聴く」、「再生する」、および「見る」が含まれる。オブジェクトタイプの例には、チェックイン、貼られたリンク、写真、近況メッセージ更新、音楽のジャンルまたは曲の再生回数が含まれる。いくつかの実施形態では、要求は、要求の送信者を識別する情報を含む。例えば、要求は、サード・パーティ・アプリケーションまたは外部システムを識別する情報を含みうる。
【００４６】
ＡＰＩ要求モジュール１３６は、要求の送信者が要求された情報へのアクセスを許可されているかどうか判定する。ＡＰＩ要求モジュール１３６は、要求および要求パラメータの送信者を識別する情報を認可サーバ２２２へ送信する。ＡＰＩ要求モジュール１３６が認可サーバ２２２から認可を受け取る場合、ＡＰＩ要求モジュール１３６は要求を応答モジュール１３７へ送信する。そうでない場合、ＡＰＩ要求モジュール１３６は、送信者が適切なアクセス権限を有しないことを示す送信者へのメッセージを送信する。あるいは、許可を要求しているユーザへダイアログボックスが提示されてもよい。
【００４７】
応答モジュール１３７は、ＡＰＩ要求内の１つまたは複数のパラメータに基づいてソーシャル・ネットワーキング・システムによって維持されるグラフオブジェクトからユーザのデータを集約し、集約ユーザデータを要求の送信者へ提供する。一実施形態では、「集約する」という用語は、要求された情報を検索して取り出し、収集し、または集中することを意味する。この場合、応答モジュール１３７は、グラフオブジェクトを検索して取り出し、次いで、グラフオブジェクトまたはグラフオブジェクトからの情報を要求の送信者へ送信する。例えば、要求モジュール１３７は、ユーザのランニングアクティビティに関する情報を含むグラフオブジェクトを検索して取り出し、そのグラフオブジェクトを要求の送信者へ送信しうる。一実施形態では、「集約する」という用語は、いくつかの情報セットに基づいて情報を決定することを意味する。よって、一実施形態では、集約情報は、いくつかの情報セットの組み合わせとしうる。この場合、応答モジュール１３７は、要求された情報を分析し、要求された情報に基づいて情報を決定する。決定された情報は、要求された情報の要約またはメトリックとしうる。例えば、要求された情報が、ユーザがある期間にわたってハイキングした距離を記述する場合、応答モジュール１３７は、要求された情報を集約してユーザが１週間にハイキングした平均距離に関する統計にすることができる。
【００４８】
一実施形態では、応答モジュール１３７は、ソーシャル・ネットワーキング・システム１３０内の特定のノードおよびそのノードに関連したエッジの要求に応答する。例えば、オンライン音楽ストリーミングサービスのためのサード・パーティ・アプリケーションが、Ｊｕｓｔｉｎ  Ｂｉｅｂｅｒに関連したユーザ対話を特定しようとする。その結果、オンライン音楽ストリーミングサービスのためのサード・パーティ・アプリケーションは、カスタム・アーティストック・オブジェクトをＪｕｓｔｉｎ  Ｂｉｅｂｅｒと指定して、この情報を要求するＡＰＩ呼出を行うことになりうる。応答モジュール１３７は、一実施形態では、サード・パーティ・アプリケーションによって要求された書式のユーザ対話情報で応答しうる。別の実施形態では、応答モジュール１３７は、指定されたノードに関するエッジ情報の要求に対して、エッジタイプおよびユーザに関する情報を含む、指定されたノードとのユーザ対話に関するエッジ情報のリストで応答する。先進的なサード・パーティ・アプリケーションは、例えば、人口統計フィルタ、位置フィルタなどを含めて、ユーザ対話情報をフィルタリングするようにＡＰＩ呼出をカスタマイズしうる。
【００４９】
一実施形態では、応答モジュール１３７は、特定のアクションタイプを有し、特定のオブジェクトプロパティを有するユーザ対話の要求に応答する。例えば、サード・パーティ・アプリケーションは、「聴く」というアクションタイプおよび「クラシック」というオブジェクトプロパティを指定したソーシャル・ネットワーキング・システムへのＡＰＩ呼
出を行うことによって、ユーザが聴いたクラシック音楽の曲に関する情報を要求する。別の例では、サード・パーティ・アプリケーションは、アクションタイプ「見る」およびオブジェクトプロパティ「アクション」を指定したＡＰＩ呼出を行うことによって、ユーザが好むアクション映画に関する情報を要求しうる。
【００５０】
別の例では、応答モジュール１３７は、共通のオブジェクトプロパティを有するオブジェクトに対して実行された複数のタイプのアクションに関する情報の要求に応答する。例えば、Ｓｔａｒｂｕｃｋｓのためのサード・パーティ・アプリケーションが、Ｓｔａｒｂｕｃｋｓの所在地で、読む、飲む、滞在するなどといった任意の種類のアクションを実行したソーシャル・ネットワーキング・システムのユーザに関する情報を集めようとする。特定のＳｔａｒｂｕｃｋｓの各店舗はソーシャル・ネットワーキング・システム上で別々のノードを有するが、Ｓｔａｒｂｕｃｋｓの支店であり、コーヒーショップであるという共通のオブジェクトプロパティを共有しうる。その結果、それら複数のアクションタイプおよび複数のオブジェクトプロパティを含むいくつかのＡＰＩ呼出が受け取られることになりうる。いくつかの実施形態では、応答モジュール１２７は前述した集約オブジェクトを提供する。
【００５１】
パーソナル化コンテンツの公開
図４Ｂに、一実施形態における、集約モジュール１３２のハイ・レベル・ブロック図をさらに詳細に例示する。グラフ・パブリッシャ・モジュール１３４は、コンポーザ入力モジュール１５０と、パーソナル化ストーリーモジュール１５２とを含む。これらのモジュールは連携して、集約ユーザデータに基づいて生成されるパーソナル化コンテンツをソーシャル・ネットワーキング・システムに公開するように動作しうる。
【００５２】
グラフ・パブリッシャ・モジュール１３４は、パーソナル化コンテンツをソーシャル・ネットワーキング・システムに公開する。サード・パーティ・アプリケーションは、集約モジュール１３２によって提供されたユーザのデータの集約に基づいてユーザのためのパーソナル化コンテンツを生成しうる。いくつかの実施形態では、パーソナル化コンテンツを公開する前に、グラフ・パブリッシャ・モジュール１３４は、パーソナル化コンテンツを公開する許可を得るために認可サーバ２２２へ要求を送信する。ユーザのためのプライバシ設定は、どのエンティティがソーシャル・ネットワーキング・システムへのコンテンツの公開を許可されるか指定しうる。いくつかの実施形態では、ユーザのためのプライバシ設定は、パーソナル化コンテンツがどこで公開されてよく、だれがパーソナル化コンテンツを閲覧してよいかを指定する。いくつかの実施形態では、プライバシ設定は、ユーザの接続先（つながり）がコンテンツを閲覧してよいかどうか指定しうる。
【００５３】
またプライバシ設定は、ユーザが、外部システム１２０による、サード・パーティ・アプリケーションによる、または任意の他のエンティティによる集約ユーザデータ、またはユーザに関連付けられた他のデータへのアクセスを規制することも可能にする。加えて、プライバシ設定は、様々なサード・パーティ・アプリケーションおよび／または外部システム１２０の間でのユーザに関連付けられたデータの共有も規制しうる。例えば、プライバシ設定は、サード・パーティ・アプリケーションがユーザに関連付けられた集約データにアクセスできるようにすると共に、そのサード・パーティ・アプリケーションが集約データを、プライバシ設定によって指定された１つまたは複数のさらに別のサード・パーティ・アプリケーションと共有できるようにすることもできる。サード・パーティ・アプリケーションおよび／または外部システム１２０の間でデータを共有することによって、サード・パーティ・アプリケーションまたは外部システム１２０は、ユーザに関するより正確な情報を維持するためにユーザに関する追加情報を利用することができる。一実施形態では、サード・パーティ・アプリケーションまたは外部システム１２０は、ユーザの集約データへのアクセスについて、ユーザがそうしたアクセスを許可するという条件で、ソー
シャル・ネットワーキング・システムに報酬を払う。
【００５４】
グラフ・パブリッシャ・モジュール１３４は、パーソナル化コンテンツのタイプに基づいて選択される１つまたは複数のモジュールを介してパーソナル化コンテンツをソーシャル・ネットワーキング・システムに公開する。いくつかの実施形態では、パーソナル化コンテンツは、コンテンツがユーザにどのように提示されるべきかを指定する情報を含む。例えば、パーソナル化コンテンツは、パーソナル化コンテンツがニュースストーリーとして公開されるべきか、またはコンポーザインターフェースに挿入されるべきかを指定する情報を含みうる。一実施形態では、サード・パーティ・アプリケーションまたは外部システム１２０は、ソーシャル・ネットワーキング・システムへの公開のためのパーソナル化コンテンツを指定し、公開されたコンテンツへのアクセスを規制するプライバシ設定を指定しうる。例えば、サード・パーティ・アプリケーションによって公開されたコンテンツへのアクセスは、ユーザだけに制限され、またはユーザおよびユーザに接続された他のユーザだけに制限されうる。さらに別の例として、サード・パーティ・アプリケーションまたは外部システム１２０は、関連した主題を有する他のサード・パーティ・アプリケーションまたは外部システム１２０が、公開されたコンテンツにアクセスできるようにすることもできる。例えば、ビデオ・ストリーミング・アプリケーションは、他のビデオ・ストリーミング・アプリケーションが公開されたコンテンツにアクセスできるようにすることができる。サード・パーティ・アプリケーションまたは外部システム１２０によって指定されたプライバシ設定およびユーザによって指定されたプライバシ設定に従い、広告主は、公開されたコンテンツにアクセスするために、サード・パーティ・アプリケーション、外部システム１２０、ユーザおよび／またはソーシャル・ネットワーキング・システムのうちの１つまたは複数に報酬を支払うことができる。例えば、広告主は、公開された情報に基づいて広告の的を絞ることができる。
【００５５】
グラフ・パブリッシャ・モジュール１３４は、パーソナル化コンテンツをコンポーザインターフェースに挿入するコンポーザ入力モジュール１５０を含む。パーソナル化コンテンツは、画像、リンク、ビデオ、テキスト、またはそれらの任意の組み合わせを含みうる。いくつかの実施形態では、コンポーザインターフェースは、近況メッセージ更新のためのコンテンツを受け入れる。コンポーザインターフェースによって生成されたコンテンツアイテムは、ユーザおよび／またはユーザの接続先に表示されうる。
【００５６】
グラフ・パブリッシャ・モジュール１３４は、パーソナル化コンテンツをニュースストーリーとして公開するパーソナル化ストーリーモジュール１５２を含む。ニュースストーリーは、ユーザのニュースフィードに、および／またはユーザの接続先のニュースフィードに表示されうる。ニュースストーリーは、ユーザおよびユーザの接続先のうちの１つまたは複数にタグ付けしうる。例えば、ユーザがユーザの友人のうちの２人とサーフィンに出かけることを記述するニュースストーリーは、そのニュースストーリーにおいてユーザおよびユーザの友人にタグ付けしうる。
【００５７】
パーソナル化コンテンツは集約ユーザデータへの洞察を提供しうる。例えば、集約ユーザデータがユーザのランニングアクティビティ、自転車アクティビティおよびハイキングアクティビティに関する場合、パーソナル化コンテンツは、ユーザのアクティビティに関する統計を含み、ユーザのための追加のアクションについての推奨を提供しうる。またパーソナル化コンテンツは、ユーザの目標に向けての成績および進捗状況を報告し、ユーザが目標に向けての進捗状況をより容易に確認し、または成績の達成を確定することができるようにしてもよい。
【００５８】
パーソナル化コンテンツは、サード・パーティ・アプリケーションのページ、またはユーザのニュースフィード、プロフィールページ、またはユーザのアクティビティのタイム
ラインを含むページに表示されうる。あるいは、パーソナル化コンテンツは、通知または警告によってユーザに提示されうる。いくつかの実施形態では、パーソナル化コンテンツは、１つまたは複数のユーザ指定の基準が満たされたときにユーザに提示される。例えば、閾値に達したとき、目標が達成されたとき、マイルストーンに到達したとき、または任意の他の適切な基準が指定されたときに、パーソナル化コンテンツを含む通知がユーザに送信され、またはパーソナル化コンテンツがニュースフィードストーリーとしてユーザに、および／またはそのユーザに接続されたユーザに公開される。
【００５９】
いくつかの実施形態では、パーソナル化コンテンツは、ユーザだけがアクセスを許可されているページに公開される。例えば、ユーザは１つまたは複数のサード・パーティ・アプリケーションから生成されたパーソナル化コンテンツを含む個人専用ページ（例えばダッシュボードページ）を有しうる。いくつかの実施形態では、パーソナル化コンテンツは、ユーザ情報と、ユーザの接続先といった他のユーザとの比較を提供する。例えば、パーソナル化コンテンツは、ユーザのランニングタイムがユーザの接続先のランニングタイムと比較してどうかを示すチャートを提示しうる。またパーソナル化コンテンツは、ユーザに接続された他のユーザにも表示されうる。例えば、パーソナル化コンテンツは、ソーシャル・ネットワーキング・システムでのユーザの接続先と、ユーザの接続先の接続先とに表示されうる。言い換えると、パーソナル化コンテンツは、ユーザの第１次および第２次の接続先に表示されうる。
【００６０】
集約ユーザデータを提供するためのプロセス
図５に、サード・パーティ・アプリケーションにアクションタイプに基づいて集約されたユーザデータを提供するプロセス５００の流れ図を示す。プロセス５００は、１つまたは複数のプロセッサと非一時的メモリとを有するサーバシステム（例えばソーシャル・ネットワーキング・システム１３０）で実行される。非一時的メモリは、１つまたは複数のプロセッサによって実行されるべき１つまたは複数のプログラムを記憶する。１つまたは複数のプログラムはプロセス５００のための命令を含む。
【００６１】
このプロセス５００では、ソーシャルグラフがソーシャル・ネットワーキング・システムによって維持される。ソーシャルグラフは、ソーシャル・ネットワーキング・システムのユーザのアクションに関するデータを含み、各アクションはアクションタイプを有する。より具体的には、ソーシャルグラフは、１つまたは複数のアクションタイプを有する１つまたは複数のアクションを表すエッジオブジェクトを含む。エッジオブジェクトは、ソーシャルグラフの２つ以上のグラフオブジェクトの間の関係を示す。エッジオブジェクトは、別のグラフオブジェクトとユーザとの対話に関する情報を記憶しうる。例えば、ユーザがニュースストーリーにコメントすると、ユーザのグラフオブジェクトとニュースストーリーのグラフオブジェクトとの間でエッジが作成され、または更新されうる。いくつかの実施形態では、ソーシャル・ネットワーキング・システムによって維持されるソーシャルグラフ内のエッジオブジェクトのうちの少なくとも１つが、ソーシャル・ネットワーキング・システムのユーザによって実行されたアクションに関する情報アイテムを記憶する。いくつかの実施形態では、ソーシャル・ネットワーキング・システムによって維持されるソーシャルグラフ内のエッジオブジェクトのうちの少なくとも１つが、ソーシャル・ネットワーキング・システムにおけるユーザの接続先の対話を記述する情報を含む。
【００６２】
ソーシャル・ネットワーキング・システムのユーザのためのプライバシ設定が維持される（５０２）。プライバシ設定は、サード・パーティ・アプリケーションによってアクセス可能なユーザに関連付けられた１つまたは複数のアクションタイプを指定する。特に、プライバシ設定は、サード・パーティ・アプリケーションによってアクセス可能なユーザに関連付けられたエッジオブジェクトの１つまたは複数のアクションタイプを指定し、サード・パーティ・アプリケーションは、ソーシャル・ネットワーキング・システムとは別
個のエンティティによって維持される。プライバシ設定はユーザから受け取られうる。特に、ユーザのためのプライバシ設定はユーザによって指定されうる。例えばユーザは、「見た」、「再生した」、「聴いた」、および「共有した」というアクションに関連したユーザの対話に関する情報にサード・パーティ・アプリケーションがアクセスしうると指定することができる。ユーザは、異なるサード・パーティ・アプリケーションについて異なるプライバシ設定を指定することができる。例えばユーザは、第１のプライバシ設定のセットをあるサード・パーティ・アプリケーションに対して指定し、第２のプライバシ設定のセットを別のサード・パーティ・アプリケーションに対して指定することができる。いくつかの実施形態では、プライバシ設定は、サード・パーティ・アプリケーションによってアクセス可能なユーザに関連付けられた１つまたは複数のオブジェクトタイプを指定する。例えば、サード・パーティ・アプリケーションについてのプライバシ設定は、サード・パーティ・アプリケーションは、ユーザに関連付けられたコンテンツアイテム、イベント、およびメッセージにアクセスしうると指定することができる。いくつかの実施形態では、プライバシ設定は、１つまたは複数のオブジェクトプロパティを指定することができる。例えば、プライバシ設定は、レストランのタイプまたは映画のジャンルを指定することができる。
【００６３】
ユーザに関連付けられたユーザアクションが複数のソースから受け取られる（５０４）。より具体的には、ユーザアクションに関する情報が複数のソースから受け取られ、各アクションはアクションタイプを有する。いくつかの実施形態では、ユーザのアクションに関する情報を含むエッジオブジェクトが複数のソースから受け取られる。複数のソースは、サード・パーティ・アプリケーションおよび外部システムを含みうる。いくつかの実施形態では、ユーザアクションは複数のソースから受け取られる。例えば、複数のソースは、少なくとも２つの異なるサード・パーティ・アプリケーションまたは少なくとも２つの異なる外部システムを含む。エッジオブジェクトは、ユーザまたはサード・パーティ・アプリケーションによってソーシャル・ネットワーキング・システムへ送信されうる。いくつかの実施形態では、エッジオブジェクトは、ソーシャル・ネットワーキング・システムによって維持されるソーシャルグラフから検索され、または特定される。いくつかの実施形態では、複数のソースは、プライバシ設定で指定されたサード・パーティ・アプリケーションを含まない。エッジオブジェクトは、ソーシャル・ネットワーキング・システム上、およびソーシャル・ネットワーキング・システム外でのユーザのアクティビティを記述する情報を含みうる。いくつかの実施形態では、エッジオブジェクトのうちの少なくとも１つが、ソーシャル・ネットワーキング・システムにおけるユーザの接続先のアクティビティを記述する情報を含む。
【００６４】
サード・パーティ・アプリケーションからユーザのアクションに関する情報の要求が受け取られる（５０６）。より具体的には、サード・パーティ・アプリケーションからユーザに関連付けられたエッジオブジェクトに関する情報の要求が受け取られる。いくつかの実施形態では、要求はＡＰＩ呼出から受け取られる。いくつかの実施形態では、要求は１つまたは複数のアクションタイプを指定する。例えば要求は、「ランニング」、「水泳」、および「自転車」というアクションタイプのアクションタイプを指定しうる。いくつかの実施形態では、要求は１つまたは複数のオブジェクトタイプを指定する。例えば要求は、コンテンツアイテム、イベントおよび地理的位置を指定しうる。いくつかの実施形態では、要求は１つまたは複数のオブジェクトプロパティを指定する。例えば要求は地理的位置を指定しうる。いくつかの実施形態では、要求は１つまたは複数のオブジェクトタイプを指定しうる。例えば要求は、チェックイン、貼られたリンク、写真、および近況メッセージ更新を指定しうる。いくつかの実施形態では、要求は、アクションタイプとオブジェクトタイプとオブジェクトプロパティとの組み合わせを指定する。例えば要求は、「再生する」というアクションタイプと、「曲」というオブジェクトタイプと、曲のジャンルまたは曲の再生回数の閾値というオブジェクトプロパティとを指定しうる。いくつかの実施
形態では、要求で指定されたアクションタイプのうちの少なくとも１つが、ソーシャル・ネットワーキング・システムの外部のエンティティによって定義される。例えば、サード・パーティ・アプリケーションが「エクササイズ」というアクションタイプを指定しうる。
【００６５】
ユーザに関連付けられたアクションのうちの１つまたは複数に関するデータがプライバシ設定に従って集約される（５０８）。いくつかの実施形態では、データは、プライバシ設定に従って、ユーザに関連付けられたソーシャルグラフの１つまたは複数のエッジオブジェクトから集約される。いくつかの実施形態では、データは、ユーザとの接続を確立しているユーザに関連付けられた１つまたは複数のエッジオブジェクトから集約される。言い換えると、データは、ユーザの接続先のアクティビティに関する情報を含む１つまたは複数のエッジオブジェクトから集約されうる。いくつかの実施形態では、データは、要求で指定されたアクションタイプ、オブジェクトタイプ、またはオブジェクトプロパティと一致する１つまたは複数のエッジオブジェクトから集約される。データは、アクションタイプ、オブジェクトタイプ、またはオブジェクトプロパティの組み合わせと一致する１つまたは複数のエッジオブジェクトから集約されうる。例えば、要求はアクション「再生する」を指定し、オブジェクトタイプは「曲」であり、オブジェクトプロパティは曲の再生回数の閾値を指定し、データは、ユーザによって閾値回数にわたって再生された曲オブジェクトから集約されうる。いくつかの実施形態では、データは、ソーシャル・ネットワーキング・システムにおけるユーザの接続先に関する情報を含む。例えば、要求が「〜と共に（ｗｉｔｈ）」アクションタイプを指定すると、ソーシャル・ネットワーキング・システムは、ユーザと共にあったすべての人々のプロフィール情報を集約しうる。
【００６６】
集約データはサード・パーティ・アプリケーションに提供される（５１０）。いくつかの実施形態では、集約データは、グラフオブジェクトとしてサード・パーティ・アプリケーションに提供される。
【００６７】
パーソナル化コンテンツを公開するためのプロセス
図６に、パーソナル化コンテンツをソーシャル・ネットワーキング・システムに公開するプロセス６００の流れ図を示す。プロセス６００は、１つまたは複数のプロセッサと非一時的メモリとを有するサーバシステム（例えばソーシャル・ネットワーキング・システム１３０）で実行される。非一時的メモリは、１つまたは複数のプロセッサによって実行されるべき１つまたは複数のプログラムを記憶する。１つまたは複数のプログラムはプロセス６００のための命令を含む。
【００６８】
このプロセス６００では、サード・パーティ・アプリケーションからユーザに関連付けられたアクションに関する情報の要求が受け取られる（６０２）。いくつかの実施形態では、サード・パーティ・アプリケーションからの要求は、ユーザに関連付けられたエッジオブジェクトに関する情報を要求する。要求は、１つまたは複数のアクションタイプ、１つまたは複数のオブジェクト・プロパティ・タイプ、１つまたは複数のオブジェクトプロパティ、またはそれらの任意の組み合わせを指定する。ユーザに関連付けられた１つまたは複数のアクションに関するデータがプライバシ設定に従って集約される。いくつかの実施形態では、データは、ユーザに関連付けられたソーシャルグラフの１つまたは複数のエッジオブジェクトから集約される。いくつかの実施形態では、データは、ユーザとの接続を確立しているユーザに関連付けられたソーシャルグラフの１つまたは複数のエッジオブジェクトから集約される。いくつかの実施形態では、データは、要求で指定されたアクションタイプ、オブジェクトタイプ、またはオブジェクトプロパティと一致する１つまたは複数のエッジオブジェクトから集約される。集約データはサード・パーティ・アプリケーションに提供される（６０６）。
【００６９】
ユーザのためのパーソナル化コンテンツがサード・パーティ・アプリケーションから受け取られる（６０８）。サード・パーティ・アプリケーションは集約データを用いてパーソナル化コンテンツを生成する。いくつかの実施形態では、パーソナル化コンテンツは、集約データで記述されたユーザのアクティビティに関する統計を含む。例えば、集約データがユーザのランニングアクティビティに関する情報または洞察を含む場合、統計は、ユーザが１週間に走った平均距離を含みうる。いくつかの実施形態では、パーソナル化コンテンツは、目標に向けてのユーザの進捗状況を示す。例えばユーザは１ヵ月に約１６ｋｍ（１０マイル）走るという目標を有し、パーソナル化コンテンツはその目標に向けてのユーザの進捗状況を示しうる。いくつかの実施形態では、パーソナル化コンテンツは、ユーザの接続先のうちの１つまたは複数に関する情報を含む。いくつかの実施形態では、パーソナル化は、ユーザのアクティビティとユーザの接続先のうちの１つまたは複数のアクティビティとの比較を含む。例えば、パーソナル化コンテンツは、ユーザのランニングタイムと接続先のランニングタイムとの比較を示しうる。
【００７０】
いくつかの実施形態では、パーソナル化コンテンツはコンポーザインターフェースに挿入される。例えば、パーソナル化コンテンツは、近況メッセージ更新を投稿するためのコンポーザインターフェースに挿入されうる。いくつかの実施形態では、パーソナル化コンテンツはニュースストーリーに挿入され、ユーザのニュースフィードまたはプロフィールページに表示される。いくつかの実施形態では、ニュースストーリーはユーザの接続先に表示される。ニュースストーリーは、ニュースストーリーで言及された１つまたは複数のユーザにタグ付けしうる。
【００７１】
パーソナル化コンテンツは、ソーシャル・ネットワーキング・システムによって維持されるソーシャルグラフ内のグラフオブジェクトとして記憶される（６１０）。いくつかの実施形態では、パーソナル化コンテンツを記憶するグラフオブジェクトは、集約データに関連付けられた１つまたは複数のエッジオブジェクトに関連付けられる。パーソナル化コンテンツは、ソーシャル・ネットワーキング・システムの１つまたは複数のページに公開されうる。例えば、ニュースストーリーは、ユーザだけが閲覧しうるページ（例えばダッシュボードページ）に公開されうる。
【００７２】
動作例
図７は、集約データから生成されたパーソナル化コンテンツの公開の一例の相互作用図である。図７の例では、サードパーティのビデオ・ストリーミング・アプリケーション７０５がソーシャル・ネットワーキング・システム１３０の集約データからパーソナル化コンテンツを生成するが、どんなサード・パーティ・アプリケーションまたは外部システム１２０がパーソナル化コンテンツを生成してもよい。ユーザは、サードパーティのビデオ・ストリーミング・アプリケーション７０５といったサードパーティのビデオ・ストリーミング・アプリケーションが、ユーザに関連付けられた指定のアクションタイプにアクセスすることを許可する１つまたは複数のプライバシ設定を維持する（７１０）。この例では、プライバシ設定は、サードパーティのビデオ・ストリーミング・アプリケーション７０５が、「閲覧した」、「購入した」、「見た」、「再生した」、「聴いた」、または「共有した」というアクションタイプにアクセスすることを許可する。ユーザが異なるサード・パーティ・アプリケーションによってアクセス可能なアクションタイプを異なる方法で規制することを可能にするさらに別のプライバシ設定がさらに別のサードパーティのビデオ・ストリーミング・アプリケーションについて維持されうる（７１０）。例えば、プライバシ設定は、さらに別のサードパーティのビデオ・ストリーミング・アプリケーションが、「見た」、「購入した」、または「再生した」というアクションタイプにアクセスすることを許可し、ユーザが、異なるサードパーティのビデオ・ストリーミング・アプリケーションにアクセス可能なアクションタイプをカスタマイズすることを可能にする。
【００７３】
異なるアクションタイプを有する、ユーザに関連付けられたアクションが様々なソースから受け取られる（７２０）。例えば、「見た」アクションタイプを有するアクションが、ソーシャル・ネットワーキング・システムを介してビデオデータを閲覧しているユーザから受け取られ７２０、または「共有した」アクションタイプを有するアクションが、ユーザが他のソーシャル・ネットワーキング・システム・ユーザとビデオデータを共有するときに受け取られる（７２０）。またソーシャル・ネットワーキング・システム外で実行されたアクションも受け取られうる。例えば、オンラインのマーケットプレイスから映画または他のオンライン・ビデオ・コンテンツを購入するユーザは、「購入した」アクションタイプを有するアクションとして受け取られる（７２０）。
【００７４】
サードパーティのビデオ・ストリーミング・アプリケーション７０５は、ユーザのアクションに関する情報を要求し７２５、ソーシャル・ネットワーキング・システムがサードパーティのビデオ・ストリーミング・アプリケーション７０５から要求を受け取ると、アクションタイプおよび／またはオブジェクトタイプが要求から抽出され、サードパーティのビデオ・ストリーミング・アプリケーションとの通信のためのデータを識別するのに使用される。例えば、サードパーティのビデオ・ストリーミング・アプリケーション７０５は、特定のアクションを検索するために、「買った」、「見た」、および「共有した」というアクションタイプを要求する（７２５）。要求には、サードパーティのビデオ・ストリーミング・アプリケーション７０５が検索して取り出すべきデータをさらに絞り込むことを可能にする追加情報が含まれうる。例えば、サードパーティのビデオ・ストリーミング・アプリケーション７０５は、ユーザが映画を見たムーブシアターの場所であるオブジェクトを識別するために映画館に関連付けられた地理的位置を指定し、またはユーザによって見られ、またはユーザによって買われたコンテンツに関連付けられたページを識別するためにソーシャル・ネットワーキング・システム内のページを識別しうる。
【００７５】
要求内の基準を満たすデータが集約され７３０、サードパーティのビデオ・ストリーミング・アプリケーション７０５に提供される（７３５）。例えばデータは、ユーザが買った、見た、または共有したコンテンツを記述するデータを検索するために、「買った」、「見た」および「共有した」というアクションタイプを有するエッジオブジェクトから集約される（７３０）。同様に、ユーザが要求によって指定された地理的位置にいるときに見られたコンテンツが集約され７３０、ユーザが見た、または買ったコンテンツに関連付けられたページが集約され７３０、サードパーティのビデオ・ストリーミング・アプリケーション７０５に提供される（７３５）。
【００７６】
集約データに基づき、サードパーティのビデオ・ストリーミング・アプリケーション７０５は、ユーザのためのパーソナル化コンテンツを生成する（７４０）。例えば、パーソナル化コンテンツは、ユーザが最も頻繁に見たビデオデータを識別し、指定時間中にユーザによって見られ、または共有されたコンテンツを識別し、またはユーザが指定された地理的位置にいた間に見られたコンテンツを識別する。いくつかの実施形態では、パーソナル化コンテンツは、指定されたリストの映画を見ることといった目標に向けてのユーザの進捗状況を示す。パーソナル化コンテンツは、１つまたは複数の指定された基準を満たす集約データに基づいて生成されうる（７４０）。例えば、サードパーティのビデオ・ストリーミング・アプリケーション７０５は、ユーザが特定の映画を見たこと、または特定の位置でチェックインしている間に指定された映画を見たことを集約データが示す場合に、パーソナル化コンテンツを生成する。
【００７７】
サードパーティのビデオ・ストリーミング・アプリケーション７０５はパーソナル化コンテンツをソーシャル・ネットワーキング・システム１３０へ送信し７４５、ソーシャル・ネットワーキング・システム１３０はパーソナル化コンテンツを、ソーシャル・ネットワーキング・システム１３０によって維持されるソーシャルグラフ内のグラフオブジェク
トとして記憶する（７５０）。一実施形態では、ソーシャル・ネットワーキング・システム１３０はパーソナル化コンテンツを、近況メッセージ更新を投稿するためのインターフェースといったコンポーザインターフェースにも挿入する。加えて、パーソナル化コンテンツは、ユーザおよび／またはユーザに接続された他のユーザに公開７６０されてもよい。例えば、パーソナル化コンテンツは、ユーザまたはユーザに接続されたユーザに提示されるニュースフィード内のニュースストーリーとして含められ、ユーザへの通知として提供され、ユーザのプロフィールページ上に含められ、または任意の適切なやり方でユーザに提示されうる。
【００７８】
前述のように、ユーザは、サードパーティのビデオ・ストリーミング・アプリケーション７０５がソーシャル・ネットワーキング・システム１３０を介して公開７６０してよいパーソナル化コンテンツを規制するプライバシ設定を維持しうる。例えば、プライバシ設定は、サードパーティのビデオ・ストリーミング・アプリケーションを、「買った」アクションタイプに基づくのではなく、「見た」アクションタイプに基づくパーソナル化コンテンツを公開すること７６０だけに制限しうる。追加のプライバシ設定は、追加のサードパーティのビデオ・ストリーミング・アプリケーションが、「見る」アクションタイプに基づくパーソナル化コンテンツを、そのユーザに接続されたユーザには公開するが７６０、そのユーザに接続されたユーザに接続されているもののそのユーザには接続されていないさらに別のユーザには公開しないことを許可しうる。
【００７９】
要約
本発明の実施形態の以上の説明は例示のために提示したものであり、網羅的であることも、システムおよび方法を開示通りの形態に限定することも意図されていない。当業者は、上記の開示に照らして多くの改変および変形が可能であることを理解することができる。
【００８０】
本明細書のいくつかの部分は、システムおよび方法の実施形態を、情報に対する操作のアルゴリズムおよび記号表現として記述している。これらのアルゴリズムの記述および表現は、データ処理分野の当業者によってその作業の内容を他の当業者に効果的に伝えるために一般に使用される。これらの操作は、機能的、計算的、または論理的に記述されているが、コンピュータプログラムまたは等価の電気回路、マイクロコードなどによって実装されるべきことが理解される。さらに、往々にして、一般性を失わずに、これらの操作の構成をモジュールと呼ぶことが好都合であることも判っている。前述の操作およびそれらに関連付けられるモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせとして具現化されうる。
【００８１】
本明細書で記述する工程、操作、またはプロセスのいずれも、１つまたは複数のハードウェアまたはソフトウェアモジュールを単独で、または他のデバイスと組み合わせて用いて実行され、または実装されうる。一実施形態では、ソフトウェアモジュールは、記述した工程、操作、またはプロセスのいずれかまたは全部を実行するためにコンピュータプロセッサによって実行されうる、コンピュータ・プログラム・コードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品を用いて実装される。
【００８２】
またシステムおよび方法の実施形態は、本明細書の操作を実行するための装置にも関連しうる。この装置は、必要とされる目的のために専用に構築されてよく、および／またはコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化され、または再構成される汎用コンピューティングデバイスを備えていてもよい。そうしたコンピュータプログラムは、コンピュータ・システム・バスに結合されうる、非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適した任意のタイプの媒体に記憶されうる。さらに、本明細書で言及した任意のコンピューティングシステムは、単
一のプロセッサを含んでいてもよく、計算能力を高めるために複数のプロセッサ設計を用いたアーキテクチャであってもよい。
【００８３】
またシステムおよび方法の実施形態は、本明細書で記述した計算プロセスによって作り出される製品に関連したものであってもよい。そうした製品は、計算プロセスの結果として得られる情報を含んでいてよく、情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、本明細書で記述したコンピュータプログラム製品または他のデータ組み合わせの任意の実施形態を含みうる。
【００８４】
最後に、本明細書で使用される言葉は主として、読みやすさと教示を目的として選択されたものであり、本発明の主題を正確に叙述し、またはその範囲を定めるために選択されたものではない場合もある。したがって、システムおよび方法システムおよび方法の範囲は、この詳細な説明によってではなく、むしろ本明細書に基づく出願時に発行される任意の特許請求の範囲によって限定されることが意図されている。したがって、システムおよび方法の実施形態の開示は、本発明の範囲を限定するもののではなく例示するためのものであり、本発明の範囲は添付の特許請求の範囲に記載される。
【要約】
ソーシャル・ネットワーキング・システムは、サード・パーティ・アプリケーションが、アクションタイプおよび複数のオブジェクトに対するアクションタイプに対応するユーザのデータの集約に基づいてユーザデータを要求することを可能にする。ソーシャル・ネットワーキング・システムのユーザは、ユーザの情報のプライバシまたはアクセス可能性を、情報に関連付けられたアクションタイプに基づいて提供しうる（例えばユーザは、特定のアプリケーションに、あるタイプのすべてのアクションへのアクセスを、それらのアクションのソースにかかわらず許可してよい）。サード・パーティ・アプリケーションは、このアクセスした情報を使用することにより、ユーザのデータの集約に基づいてユーザのためのパーソナル化コンテンツを生成し、次いでパーソナル化コンテンツをソーシャル・ネットワーキング・システムに戻して公開しうる。【図１】
0005779740.tif 000002
【図２】
0005779740.tif 000003
【図３】
0005779740.tif 000004
【図４Ａ】
0005779740.tif 000005
【図４Ｂ】
0005779740.tif 000006
【図５】
0005779740.tif 000007
【図６】
0005779740.tif 000008
【図７】
0005779740.tif 000009