(57)【特許請求の範囲】
【請求項１】
ソーシャルネットワーキングシステムによって実行される、コンピュータに実装される方法において、
前記ソーシャルネットワーキングシステムが、サードパーティアプリケーションを提供する遠隔のサードパーティシステムから、第１のユーザが該サードパーティアプリケーション上において第２のユーザとの一方向性の繋がりを有するという通知を受け取る工程であって、前記遠隔のサードパーティシステムは前記ソーシャルネットワーキングシステムとは異なり、前記第１のユーザは前記ソーシャルネットワーキングシステム上に第１のソーシャルネットワーキングユーザアカウントを有し、前記第２のユーザは前記ソーシャルネットワーキングシステム上に前記第１のソーシャルネットワーキングユーザアカウントとは異なる第２のソーシャルネットワーキングユーザアカウントを有し、前記第１のユーザは前記遠隔のサードパーティシステム上に第１のサードパーティユーザアカウントを有し、前記第２のユーザは前記遠隔のサードパーティシステム上に第２のサードパーティユーザアカウントを有する、前記工程と、
前記第２のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという通知を、前記サードパーティアプリケーションから受け取る工程と、
前記第１のユーザ用のフィードを生成する工程であって、該フィードは、前記サードパーティアプリケーション上において前記第２のユーザによってポストされる前記コンテンツの少なくとも一部分を含むポストを含み、該ポストは、前記第２のユーザの前記第２のソーシャルネットワーキングユーザアカウントに帰属される、前記工程と、
前記第１のユーザのクライアントデバイスに対する表示用に前記フィードを送る工程であって、前記ソーシャルネットワーキングシステム及び前記遠隔のサードパーティシステムは前記第１のユーザの前記クライアントデバイスとは異なる、前記工程と、
を備える方法。
【請求項２】
前記サードパーティアプリケーションから、前記サードパーティアプリケーション上の前記第２のユーザの前記アカウントの識別子と、前記ソーシャルネットワーキングシステム上の前記第２のユーザのアカウントの識別子とを、受け取る工程と、
マッピングを記憶する工程であって、該マッピングは、
前記サードパーティアプリケーション上の前記第２のユーザの前記アカウントの前記識別子と、
前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記アカウントの前記識別子と、を含む、前記工程と、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記第２のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという前記通知は、前記サードパーティアプリケーション上の前記第２のユーザの識別子を含み、前記方法はさらに、
記憶された前記マッピングを使って、前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記アカウントの前記識別子を決定する工程と、
前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記ユーザアカウントのユーザ名を、前記コンテンツの前記少なくとも一部分に視覚的に関連付けて表示することによって、前記ポストを前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記ユーザアカウントに帰属させる工程と、
を備える、請求項２に記載の方法。
【請求項４】
前記方法はさらに、
前記第１のユーザが前記第２のユーザをフォローしていることを示すために、前記ソーシャルネットワーキングシステムのソーシャルグラフを更新する工程と、
前記第２のユーザによってポストされた前記コンテンツが前記第１のユーザ用の前記フィードの中に含まれるべきであることを、前記ソーシャルグラフに基づいて決定する工程と、
を備える、請求項１に記載の方法。
【請求項５】
前記ソーシャルネットワーキングシステム上において前記第２のユーザは前記第１のユーザの直接的な繋がりではない、請求項１に記載の方法。
【請求項６】
前記第１のユーザ用の前記フィードを生成する工程は、
前記ポストが前記第１のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第２のユーザによって前記サードパーティアプリケーション上においてポストされたか否かを判定する工程と、
前記ポストが前記第１のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第２のユーザによって前記サードパーティアプリケーション上においてポストされたと判定することに応じて、前記第１のユーザ用の前記フィード内に前記ポストを含める工程と、
を備える、請求項１に記載の方法。
【請求項７】
前記第２のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたか否かを判定するために、前記サードパーティアプリケーションに問い合わせる工程をさらに備える、請求項１に記載の方法。
【請求項８】
非一時的なコンピュータ可読記憶媒体において、
ソーシャルネットワーキングシステムが、サードパーティアプリケーションを提供する遠隔のサードパーティシステムから、第１のユーザが該サードパーティアプリケーション上において第２のユーザとの一方向性の繋がりを有するという通知を受け取るための命令であって、前記遠隔のサードパーティシステムは前記ソーシャルネットワーキングシステムとは異なり、前記第１のユーザは前記ソーシャルネットワーキングシステム上に第１のソーシャルネットワーキングユーザアカウントを有し、前記第２のユーザは前記ソーシャルネットワーキングシステム上に前記第１のソーシャルネットワーキングユーザアカウントとは異なる第２のソーシャルネットワーキングユーザアカウントを有し、前記第１のユーザは前記サードパーティシステム上に第１のサードパーティユーザアカウントを有し、前記第２のユーザは前記サードパーティシステム上に第２のサードパーティユーザアカウントを有する、前記命令と、
前記ソーシャルネットワーキングシステムが、前記第２のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという通知を、前記サードパーティアプリケーションから受け取るための命令と、
前記ソーシャルネットワーキングシステムが前記第１のユーザ用のフィードを生成するための命令であって、該フィードは、前記サードパーティアプリケーション上において前記第２のユーザによってポストされる前記コンテンツの少なくとも一部分を含むポストを含み、該ポストは、前記第２のユーザの前記第２のソーシャルネットワーキングユーザアカウントに帰属される、前記命令と、
前記ソーシャルネットワーキングシステムが前記第１のユーザのクライアントデバイスに対する表示用に前記フィードを送るための命令であって、前記ソーシャルネットワーキングシステム及び前記サードパーティアプリケーションは前記第１のユーザの前記クライアントデバイスとは異なる、前記命令と、
を備える媒体。
【請求項９】
前記サードパーティアプリケーションから、前記サードパーティアプリケーション上の前記第２のユーザの前記アカウントの識別子と、前記ソーシャルネットワーキングシステム上の前記第２のユーザのアカウントの識別子とを、受け取るための命令と、
マッピングを記憶するための命令であって、該マッピングは、
前記サードパーティアプリケーション上の前記第２のユーザの前記アカウントの前記識別子と、
前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記アカウントの前記識別子と、を含む、前記命令と、
をさらに備える、請求項８に記載の媒体。
【請求項１０】
前記第２のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという前記通知は、前記サードパーティアプリケーション上の前記第２のユーザの識別子を含み、前記媒体はさらに、
記憶された前記マッピングを使って、前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記アカウントの前記識別子を決定するための命令と、
前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記ユーザアカウントのユーザ名を、前記コンテンツの前記少なくとも一部分に視覚的に関連付けて表示することによって、前記ポストを前記ソーシャルネットワーキングシステム上の前記第２のユーザの前記ユーザアカウントに帰属させるための命令と、
を備える、請求項９に記載の媒体。
【請求項１１】
前記媒体はさらに、
前記第１のユーザが前記第２のユーザをフォローしていることを示すために、前記ソーシャルネットワーキングシステムのソーシャルグラフを更新するための命令と、
前記第２のユーザによってポストされた前記コンテンツが前記第１のユーザ用の前記フィードの中に含まれるべきであることを、前記ソーシャルグラフに基づいて決定するための命令と、
を備える、請求項８に記載の媒体。
【請求項１２】
前記ソーシャルネットワーキングシステム上において前記第２のユーザは前記第１のユーザの直接的な繋がりではない、請求項８に記載の媒体。
【請求項１３】
前記第１のユーザ用の前記フィードを生成することは、
前記ポストが前記第１のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第２のユーザによって前記サードパーティアプリケーション上においてポストされたか否かを判定することと、
前記ポストが前記第１のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第２のユーザによって前記サードパーティアプリケーション上においてポストされたと判定することに応じて、前記第１のユーザ用の前記フィード内に前記ポストを含めることと、
を備える、請求項８に記載の媒体。
【請求項１４】
前記第２のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたか否かを判定するために、前記サードパーティアプリケーションに問い合わせるための命令をさらに備える、請求項８に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に電子的なソーシャルネットワーキングシステムの分野、特に、サードパーティアプリケーションによりユーザによってポストされるコンテンツをソーシャルネットワーキングシステム内に統合することに関する。
【背景技術】
【０００２】
フェイスブック（ＦＡＣＥＢＯＯＫ（登録商標））などのソーシャルネットワーキングシステムのユーザの多くは、同様にツイッター（ＴＷＩＴＴＥＲ（登録商標））、フォースクエア（ＦＯＵＲＳＱＵＡＲＥ），ピンタレスト（ＰＩＮＴＥＲＥＳＴ）またはフリッカー（ＦＬＩＣＫＲ）などのサードパーティアプリケーション上にもアカウントを有する。多くの場合において、そうしたユーザはサードパーティアプリケーション上で他のユーザを「フォローする」（すなわち、該他のユーザのコンテンツまたはアクティビティへの関心を登録する）。ここで、該他のユーザはソーシャルネットワーキングシステム上にもアカウントを有するが、ソーシャルネットワーキングシステム上において先のユーザの直接の社会的繋がりではない。（簡潔さを目的に、他のユーザをフォローしているユーザを、以下では「フォローイング（ｆｏｌｌｏｗｉｎｇ）」ユーザと呼び、フォローされているユーザを、以下では「フォロード（ｆｏｌｌｏｗｅｄ）」ユーザと呼ぶ。）例えば、ソーシャルネットワーキングシステムのユーザはサードパーティアプリケーション上で著名人をフォローする場合があるが、ソーシャルネットワーキングシステム上で該著名人と友達または他の形態の直接的な社会的繋がりではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このような場合において、フォローイングユーザは、フォロードユーザによってサードパーティのソーシャルネットワーキングシステム上に提供されたコンテンツ（例えばテキストコメント、レビュー、ポストされたリンク、写真など）を、ソーシャルネットワーキングシステム上のフォローイングユーザのアカウント内で直接見ることをしばしば望む。しかし、ソーシャルネットワーキングシステム上のフォローイングユーザとフォロードユーザとの間の直接の社会的繋がりの欠如は、フォロードユーザによって提供される情報が、先のソーシャルネットワーキングシステムではなく、サードパーティのソーシャルネットワーキングシステム内に存在するという事実と相まって、通常では、該ソーシャルネットワーキングシステムがフォローイングユーザにそうした情報を表示しないことを意味する。
【課題を解決するための手段】
【０００４】
本発明の実施形態において、フォローイングユーザは、フォロードユーザをサードパーティアプリケーション上でフォローする。フォロードユーザは、さらに、サードパーティアプリケーション上において該フォロードユーザによってポストされたコンテンツを、ソーシャルネットワーキングシステム上のフォローイングユーザのアカウント内に含めることを承認することができる。サードパーティアプリケーション上の、フォロードユーザの続くポストは、例えばサードパーティアプリケーションが該ポストをソーシャルネットワーキングシステムへ通知することによって、該ポストをソーシャルネットワーキングシステムに取得させる。ソーシャルネットワーキングシステムが、今度は、サードパーティアプリケーション上のフォロードユーザのポストを、フォローイングユーザに表示するユーザインターフェイス内へ組み込む。
【０００５】
一実施形態において、フォロードユーザは、例えばフォロードユーザがポストしたコンテンツをサードパーティアプリケーションと共有することを承認する際に、ソーシャルネットワーキングシステム上のフォロードユーザのユーザ識別子をサードパーティアプリケーションに対し指定する。ソーシャルネットワーキングシステムは、フォロードユーザのユーザ識別子を用い、サードパーティアプリケーション上のフォロードユーザのアイデンティティではなく、ソーシャルネットワーキングシステム上のフォロードユーザのアイデンティティに関連付けて、ポストされたコンテンツを表示する。
【図面の簡単な説明】
【０００６】
【図１】一実施形態における、コンピューティング環境の高レベルブロック図。
【図２Ａ】一部の実施形態における、サードパーティアプリケーション上のフォローイングユーザのサンプル・ユーザインターフェイスを示す図。
【図２Ｂ】一部の実施形態における、ソーシャルネットワーキングシステム上のフォローイングユーザのサンプル・ユーザインターフェイスを示す図。
【図３】一実施形態における、フォロードユーザのコンテンツをソーシャルネットワーキングシステム上に表示する際のソーシャルネットワーキングシステム、サードパーティアプリケーション、フォローイングユーザ及びフォロードユーザの間の対話を示す図。
【発明を実施するための形態】
【０００７】
図面は、説明の目的のためだけに本発明の実施形態を示す。後述の記述から、本明細書に記載の発明の本質から逸脱することなく、本明細書に例示の構造及び方法の代替実施案を使用してもよいことを、同業者であれば容易に理解するであろう。
【０００８】
システムアーキテクチャ
図１は、一例の実施形態によるコンピューティング環境の高レベルブロック図である。図１はソーシャルネットワーキングシステム１００、クライアントデバイス１８０、及びネットワーク１７０によって接続されているサードパーティアプリケーション１９０を示す。クライアントデバイス１８０のユーザは、ウェブブラウザなどのアプリケーションを介してソーシャルネットワーキングシステム１００と対話し、コンテンツをブラウズする、メッセージをポストする、人または他の関心となるコンテンツについてクエリを実行するなど、操作を実行する。ユーザは、また、サードパーティアプリケーション１９０と対話するためにクライアントデバイス１８０を使う。追加的に、ソーシャルネットワーキングシステム１００とサードパーティアプリケーション１９０とは、フォローイングユーザ及びフォロードユーザに関する情報、並びに、フォロードユーザによってサードパーティアプリケーション上に提供されたコンテンツに関する情報を交換する。この情報交換の結果として、ソーシャルネットワーキングシステム１００は、フォロードユーザによってサードパーティアプリケーション内においてポストされたコンテンツをソーシャルネットワーキングシステム上のフォローイングユーザに対し自動的に表示する。
【０００９】
ソーシャルネットワーキングシステム１００は、ソーシャルネットワーキングシステム１００によってトラッキングされた様々なオブジェクト上に情報を記憶する、オブジェクトストア１１０を備える。これらのオブジェクトは、ソーシャルネットワーキングシステム１００の中でユーザが対話する多様なものを表し、該多様なものは、制限なく、ソーシャルネットワーキングシステムのユーザまたは他のユーザ１１１（例えば、ユーザ用のプロフィール・オブジェクトとして表される）、アプリケーション１１２（例えば、ソーシャルネットワーキングシステム内でプレイ可能なゲーム）、イベント１１３（例えば、ユーザが参加するコンサート）、ユーザが所属するグループ１１４（例えば、代替エネルギー研究に専念するグループ）、ページ１１５（例えば、特定の政治家、自動車モデルまたはテレビショーのような、システム上の特定の人または団体の存在を構成するページ）、メディアのアイテム１１６（例えば、写真、ビデオ、オーディオ、テキストまたは任意の
他の種類のメディアコンテンツ）、ユーザに関連付けられているロケーション１１７（例えば、「サンノゼ、カリフォルニア、ＵＳＡ」）、及びコンセプト１１８または他の名辞（例えば、「代替エネルギー」というコンセプトに対応するオブジェクト）を含む。オブジェクトストア１１０は、さらに受信箱のメッセージ、ステータスの更新、コメント、ノート及びポストのような、ソーシャルネットワーキングシステム１００のユーザによって日常的に作られる他のデータを表すオブジェクトを記憶する。オブジェクトストア１１０のオブジェクトは、ソーシャルネットワーキングシステム内に存在するエンティティ（例えば、ソーシャルネットワーキングシステム上で利用可能なアプリケーション１１２）、ソーシャルネットワーキングシステムのドメインの外部に存在する仮想エンティティ（例えば、ウェブサイト）、または実世界エンティティ（例えば、人、製品またはショー）を記憶する。ユーザ・オブジェクト１１１は個々の人を表すが、架空の人物またはコンセプトなどの他のエンティティも表す。
【００１０】
オブジェクトストア１１０は、アプリケーション１１２のコードまたはイメージ・メディアアイテム１１６に関連付けられているイメージデータなどの、ソーシャルネットワーキングシステム１００内に存在するオブジェクトの全てを記憶する。代替的に、ソーシャルネットワーキングシステム１００の外部に存在する仮想エンティティ用に、オブジェクトストア１１０は、外部のメディアアイテム１１６の統一資源位置指定子（ＵＲＬ）などの、エンティティへの何らかの形態のポインタまたは参照を有する。追加的に、オブジェクトストア１１０は、また、オブジェクトに関連付けられているメタデータを記憶する。該オブジェクトに関連付けられているメタデータは、オブジェクトを記述する名前（例えば、人またはページ１１５用に「アル・ゴア（Ａｌ  Ｇоｒｅ）」、またはグループ１１４用に「グリーンエネルギーグループ」）、オブジェクトを表しているイメージ（例えば、ユーザのプロフィール写真）、またはユーザによってオブジェクトに指定される１つ以上のタグ（例えば、戦略ゲーム・アプリケーション用のテキストの文字列「ゲーム」、「犯罪」及び「戦略」）などである。異なる種類のオブジェクトは、グループ１１４用の関連付けられているユーザ１１１の一組、メディアアイテム・オブジェクト１１６用のメディア種類（例えば、「ビデオ」）、及びユーザ・オブジェクト１１１用のユニークなユーザＩＤ及び名前トークン（例えば、名と姓、「アル」と「ゴア」を分ける）などの、異なる種類のメタデータを有する。
【００１１】
一実施形態において、ソーシャルネットワーキングシステム１００は、さらにオブジェクトストア１１０のオブジェクトを「ソーシャルグラフ」において一体にリンクされるノードとして表すグラフ情報ストア１２０を備える。グラフ情報ストア１２０は、したがって、２又はそれより多くのオブジェクト間の関係性についての情報を備え、様々なオブジェクト・ノードを繋ぐエッジとして表される。ソーシャルグラフの中のエッジの様々な例は、ソーシャルネットワーキングシステムの中で２人のユーザが関係性を有する（例えば、友達である、若しくは連絡を取る、他のユーザのプロフィールを見る、または何らかの方法で交流する）ことを表すユーザ・オブジェクト１１１間のエッジと、ユーザがアプリケーションを使ったことを表すユーザ・オブジェクト１１１及びアプリケーション・オブジェクト１１２間のエッジと、ユーザがページを見た、またはページに対して明確に親和性を指定した（例えば、ページを「リンクした」）ことを表すユーザ・オブジェクト１１１及びページ・オブジェクト１１５間のエッジとを含む。追加的に、第１ユーザ・オブジェクト１１１と第２ユーザ・オブジェクト１１１との間のエッジは、特定のサードパーティアプリケーション１９０上で、第１のユーザが第２のユーザをフォローしていることを指定する。例えば、ソーシャルネットワーキングシステム１００においてユーザ１１１と別のユーザとを間接的に繋ぐ一連のエッジしかない場合と異なり、ソーシャルグラフにおいてそれらの２人のユーザ間に１つのエッジがある場合、ユーザ１１１は該別のユーザの直接的な繋がりとみなされる。
【００１２】
例えば、ソーシャルネットワーキングシステムの中で１人のユーザ１１１が他のユーザと関係性を構築する際には、２人のユーザはどちらもノードとして表され、彼らの間のエッジは構築された関係性を表す。このとき、２人のユーザは、ソーシャルネットワーキングシステムの中で繋がれたと言える。この例の続きとして、そのユーザの１人は、ソーシャルネットワーキングシステム内で、もう１人のユーザにメッセージを送る。このメッセージを送るという行動は、ソーシャルネットワーキングシステムによって記憶される、またはトラッキングされる、これら２つのノード間の他のエッジである。メッセージそれ自体は、ノードとして扱われる。他の例において、１人のユーザは、ソーシャルネットワーキングシステムによって維持されるイメージの中で、他のユーザにタグを付ける。このタグを付けるアクションは、ユーザ間にエッジを作成し、該ユーザのそれぞれと同じくノードであるイメージとの間にもエッジを作成する。さらに別の例において、イベントに出席することをユーザが確認する際には、そのユーザとイベントとはノードであり、ユーザがイベントに出席するかどうかを示す指示はエッジである。さらに他の例において、サードパーティアプリケーション内で第１のユーザが第２のユーザをフォローする際には、この事実はソーシャルネットワーキングシステム１００に通知され、一方向性の「フォローする」エッジが、グラフ情報ストア１２０内で第１のユーザから第２のユーザの間に作成される。したがって、ソーシャルグラフを使って、ソーシャルネットワーキングシステムは多くの異なる種類のオブジェクト及びエッジ（これらのオブジェクトの間の対話及び繋がり）のトラッキングを保ち、それによって社会的な関連性の情報の非常に豊富なストアを維持する。
【００１３】
一実施形態において、グラフ情報ストア１２０の中のエッジは関連付けられているメタデータを有し、該関連付けられているメタデータは、関係性の種類を記述するラベル（例えば、２つのユーザ・オブジェクト間のラベルとして、「友達」または「フォロー中」）、関係性の強さを定量化する値、またはその両方などである。さらに、任意の２つのオブジェクト間の最短のパス上のエッジの数を決定することによって、該オブジェクト間の関係性の度合または「距離」を確かめることができる。例えば、間にエッジを有する（例えば、友人の関係性を意味する）２つのユーザ・オブジェクトは、１の関係性の度合（または「距離」）を有し、１次の繋がりとみなされる。同様に、ユーザ・オブジェクトＡがユーザ・オブジェクトＢの１次の繋がりであってユーザ・オブジェクトＣの１次の繋がりではない際、及びＢはＣの１次の繋がりである際には、オブジェクトＡ及びＣは度合２の関係性を有し、ＣはＡの２次の繋がりである（逆もまた然り）ことを示す。
【００１４】
ソーシャルネットワーキングシステム１００は、さらに、ソーシャルネットワーキングシステム上のユーザアカウント用のユーザインターフェイス内に、所定のユーザ１１１が見るためのソーシャルネットワーキングシステムからの関連するコンテンツ・アイテムのリスト（「フィード」）を表示するフィードモジュール１２２を備える。例えば、フィードは、ソーシャルネットワーキングシステム１００の他のユーザ１１１のステータス・メッセージを含み、該ステータス・メッセージはユーザの１次の繋がりや、さらに他のユーザのコメント、最近のイベント１１３、所定のアプリケーション１１２の最近のアクション、及びそれに類するものなどである。一実施形態において、フィードモジュール１２２は、所定のユーザに関連する、あるＮ個のもっとも最近のコンテンツ・アイテムのリストを構成し、それらをウェブサイト内に設置し、ウェブサイトをユーザのクライアントデバイス１８０へ提供する。
【００１５】
ソーシャルネットワーキングシステム１００は、さらにサードパーティアプリケーションの対話モジュール１２５を備える。該対話モジュール１２５は、ソーシャルネットワーキングシステム１００が、フォロードユーザのコンテンツをサードパーティアプリケーションからフォローイングユーザへ表示することに使う。
【００１６】
詳細には、サードパーティアプリケーションの対話モジュール１２５は通知ＡＰＩ１３０を備え、該通知ＡＰＩ１３０は、サードパーティアプリケーション１９０がソーシャルネットワーキングシステム１００に、サードパーティアプリケーション上で起こる関連するイベントを知らせるために使う。該関連するイベントは、サードパーティアプリケーション上で第１の（フォローイング）ユーザが第２の（フォロード）ユーザをちょうどフォローし始めたこと、またはフォロードユーザがサードパーティアプリケーション上においてコンテンツ・アイテムをちょうどポストすることなどである。一部の実施形態において、サードパーティアプリケーションの対話モジュール１２５は、サードパーティアプリケーションが通知ＡＰＩ１３０を用いてソーシャルネットワーキングシステムに知らせることに頼るのではなく、サードパーティアプリケーション１９０にフォロードユーザによる新しいポストについて明示的に問い合わせる（ｐоｌｌ）。
【００１７】
一部の実施形態において、通知ＡＰＩ１３０は、サードパーティアプリケーションが、サードパーティアプリケーション及びソーシャルネットワーキングシステム１００の両方の上でフォロードユーザ、フォローイングユーザ、またはその両方のユーザ識別子を指定することを許可する（または要求する）。例えば、通知ＡＰＩ１３０は、サードパーティアプリケーション１９０及びソーシャルネットワーキングシステム１００の両方の上で、サードパーティアプリケーション１９０がフォローイングユーザのユーザ識別子を指定し、その結果今後より簡単に両方を関連させられる。
【００１８】
サードパーティアプリケーションの対話モジュール１２５は、さらに挿入モジュール１３５を備え、該挿入モジュール１３５は、サードパーティアプリケーション１９０上のフォロードユーザのコンテンツを、ソーシャルネットワーキングシステム１００上のフォローイングユーザに関連付けられているユーザインターフェイスに挿入する。一実施形態において、サードパーティアプリケーションの対話モジュール１２５は、サードパーティアプリケーション１９０上にポストされたそれぞれのコンテンツ・アイテムのコピー、または該それぞれのコンテンツ・アイテムへの参照を記憶する。該それぞれのコンテンツ・アイテムは、サードパーティアプリケーション１９０が通知ＡＰＩ１３０を使ってソーシャルネットワーキングシステム１００に知らせたものである。したがって、フィードモジュール１２２が所定のユーザ用の適切なフィードを形成する際には、フィードモジュールは挿入モジュール１３５に、サードパーティアプリケーション１９０から何れの関連するコンテンツ・アイテムもフィードに含まれるように提出するように要求する。例えば、挿入モジュール１３５は、サードパーティアプリケーション１９０のユーザのもっとも最近のポストを確認する。該もっとも最近のポストは、フィードが生成される対象であるユーザによってフォローされるものであり、フィードのもっとも最近のＮ個のコンテンツ・アイテム内にあるのに十分なだけ最近である投稿日を有する際には、このようなポストもフィードに含む。
【００１９】
サンプル・ユーザインターフェイス
図２Ａは、一実施形態における、サードパーティアプリケーション１９０上のフォローイングユーザのアカウント用のサンプル・ユーザインターフェイス２００を説明する。詳細には、クリスチャン・コーニック（Ｃｈｒｉｓｔｉａｎ  Ｋоｎｉｇ）という名前のフォローイングユーザ２０１は、チャッター（Ｃｈａｔｔｅｒ）という名前のサードパーティアプリケーション１９０上にアカウントを有し、同様にサードパーティシステム上にアカウントを有する複数の他のユーザをフォローする。ユーザインターフェイス２００は、フォローイングユーザ２０１がフォローしているユーザ５人の最近のポスト２０２Ａ〜２０２Ｅを表示する。
【００２０】
図２Ｂは、一実施形態における、ソーシャルネットワーキングシステム１００上の同じフォローイングユーザのアカウント用のサンプル・ユーザインターフェイス２５０を説明
する。詳細には、クリスチャン・コーニックという名前のユーザ用のソーシャルネットワーキングシステム１００のニュース・フィードは、ソーシャルネットワーキングシステム１００上にアカウントを有する他のユーザ１１１の複数の最近のポスト２５１を表示する。特に、ポスト２５１Ｃに対応するユーザ１１１は、ソーシャルネットワーキングシステム１００及びチャッター・サードパーティアプリケーション１９０の両方の上にアカウントを有し、同様に、チャッター上の本人のポストがソーシャルネットワーキングシステム１００内に表示されるように承認する。その結果、図２Ａに説明されるように、フォローイングユーザ２０１（クリスチャン・コーニック）がポスト２０２Ｃに対応するユーザ（エー・エム・パガル（Ａ．Ｍ．  Ｐａｇａｌ））をフォローしているので、チャッター上のそのユーザのポスト２０２Ｃも同様に、ポスト２５１Ｃとしてソーシャルネットワーキングシステム１００のクリスチャン・コーニックのニュース・フィードの中に含まれる。（なお、ソーシャルネットワーキングシステム１００は、該ポストをサードパーティアプリケーション１９０上のフォロードユーザのアカウント、すなわちユーザ名「エー・エム・パガル」を有するアカウントではなく、ソーシャルネットワーキングシステム１００上のフォロードユーザのアカウント、すなわちユーザ名「エンジェル・パガル（Ａｎｇｅｌ
Ｐａｇａｌ）」を有するアカウントに帰属させる。）同様に、ポスト２０２Ａ，２０２Ｂ，２０２Ｄまたは２０２Ｅに対応するユーザもまた、ソーシャルネットワーキングシステム１００上にアカウントを有し、ソーシャルネットワーキングシステム１００と彼らのポストの共有を承認した際には、彼らのポストはユーザインターフェイス２５０内に同様に示される。
【００２１】
コンテンツを表示する処理
図３は、一実施形態における、フォロードユーザのコンテンツをソーシャルネットワーキングシステム１００上に表示する際のソーシャルネットワーキングシステム１００、サードパーティアプリケーション１９０、フォローイングユーザ３０１及びフォロードユーザ３０２の間の対話を説明する。
【００２２】
最初に、フォロードユーザ３０２はサードパーティアプリケーション１９０を使い、サードパーティアプリケーション上にフォロードユーザによってポストされるコンテンツのソーシャルネットワーキングシステム１００との共有を承認（３０５）する。例えば、フォロードユーザ３０２は、サードパーティアプリケーション１９０のユーザインターフェイスに、「全ての私のポストをＳ上のフォロワーと共有する」オプションを選択するアカウント設定ユーザインターフェイスを使ってもよい。該Ｓは、所定のソーシャルネットワーキングシステム１００である。承認３０５の一部分として、フォロードユーザ３０２は、フォロードユーザがソーシャルネットワーキングシステム１００上に有するユーザ名または他のユーザ識別子を指定する。ユーザ名または他の識別子の指定によって、サードパーティアプリケーション１９０上のユーザのアイデンティティをソーシャルネットワーキングシステム上のユーザの対応するアイデンティティに対し、ソーシャルネットワーキングシステム１００にマッピングさせることがより容易となる。
【００２３】
ステップ３１０において、フォローイングユーザ３０１は、サードパーティアプリケーション１９０を使ってフォロードユーザ３０２をフォローする。例えば、この場合、フォローイングユーザは、フォロードユーザ３０２によってサードパーティアプリケーション内にポストされるコンテンツを見ることを今後望むことを示している。
【００２４】
ステップ３１０に応じて、サードパーティアプリケーション１９０はソーシャルネットワーキングシステム１００に、フォローイングユーザ３０１がフォロードユーザ３０２を現在フォローしていることを通知（３１５）する（例えば、通知ＡＰＩ１３０を使う）。（他の実施形態として、最後の問い合わせ以降に新しい「フォローする」関係性があるかどうかを決定するために、ソーシャルネットワーキングシステム１００はサードパーティ
アプリケーション１９０に明示的に問い合わせる。）したがって、ソーシャルネットワーキングシステム１００は、例えば「フォロー」とラベルされ、かつフォローイングユーザ３０１からフォロードユーザ３０２に向いているエッジを導入することによって、グラフ情報ストア１２０を更新（３２０）する。
【００２５】
サードパーティアプリケーション１９０内と同様に、「フォローする」関係性はソーシャルネットワーキングシステム１００内にも反映されることを、ソーシャルネットワーキングシステム１００は、フォローイングユーザ３０１に任意に知らせる（３２１）。例えば、ソーシャルネットワーキングシステム１００はフォローイングユーザ３０１のニュースフィードの中に、エントリ（例えば、戻って図２Ａ〜２Ｂに参照される「クリスチャンはチャッター上でエンジェル・パガルをフォローしました」）を加える。
【００２６】
前述のステップが実行された後、フォロードユーザ３０２によってサードパーティアプリケーション１９０上にポストされたコンテンツは、ソーシャルネットワーキングシステム１００上のフォローイングユーザ３０１への表示に含まれる。詳細には、ステップ３２５において、フォロードユーザ３０２は新しいコンテンツをポストするために、サードパーティアプリケーション１９０を使う。サードパーティアプリケーション１９０は、フォローイングユーザがサードパーティアプリケーションにログインする際に、例えば図２Ａに説明されるメッセージ２０２Ｃのように、新しいコンテンツをフォローイングユーザ３０１に表示（３３０）する。
【００２７】
したがって、サードパーティアプリケーション１９０は、例えば通知ＡＰＩ１３０を呼び出すことによって、サードパーティアプリケーション上のフォロードユーザ３０２によるポストを、ソーシャルネットワーキングシステム１００に通知（３３５）する。一実施形態において、通知の一部分として、サードパーティアプリケーション１９０は、ソーシャルネットワーキングシステム１００上のフォロードユーザ３０２のアカウント用にユニークなユーザＩＤを明示的に提供する。これによって、ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステム上のコンテンツをポストする人のアイデンティティをより容易に決定することができる。（一実施形態において、フォロードユーザによる新しいポストのアイデンティティを知らせることをサードパーティアプリケーション１９０に頼るよりも、むしろソーシャルネットワーキングシステム１００は、新しいポストをサードパーティアプリケーションに明示的に問い合わせる。）一実施形態において、ソーシャルネットワーキングシステム１００は、サードパーティアプリケーション１９０によって通知されるポストのコピー、または該ポストへの参照を記憶し続け、例えばフィードモジュール１２２が所定のユーザ用のフィードを生成する際のように、必要な場合にのみ記憶したポストを利用する。
【００２８】
ソーシャルネットワーキングシステム上にフォローイングユーザ３０１用の開始ページを生成する際などの適切な時に、ソーシャルネットワーキングシステムは、サードパーティアプリケーション１９０によって提供されるポストと、ポストを生成するフォロードユーザ３０２用のユニークなユーザＩＤとを使い、該ポストをフォローイングユーザ３０１に提供（３４０）する。例えば、挿入モジュール１３５に関して前述されるように、ポストは、フォロードユーザ３０２の名前と共に、ソーシャルネットワーキングシステム上でフォローイングユーザ３０１のニュース・フィード内に含まれる。（ニュース・フィードに関するさらなる詳細は、参照することによって本明細書に組み込まれる米国特許第８，１７１，１２８号明細書（「ソーシャルネットワーク環境において動的に選択されたメディアコンテンツを電子デバイスのユーザン提供するシステム及び方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｄｙｎａｍｉｃａｌｌｙ  Ｓｅｌｅｃｔｅｄ  Ｍｅｄｉａ  Ｃｏｎｔｅｎｔ  ｔｏ  ａ  Ｕｓｅｒ  ｏｆ  ａｎ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｅｎｖｉｒ
ｏｎｍｅｎｔ）」）及び米国特許出願公開第２００８−００４０４７５号明細書（「ソーシャルネットワーク環境におけるユーザ親和性を評価するためのシステムと方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｍｅａｓｕｒｉｎｇ  Ｕｓｅｒ  Ａｆｆｉｎｉｔｙ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｅｎｖｉｒｏｎｍｅｎｔ）」）の中に提供される。）例えば、図２Ｂにおいて、ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステム上のフォロードユーザ３０２の名前（図２Ａに示されるようなサードパーティアプリケーション１９０上のフォロードユーザ３０２の名前「エー・エム・パガル」と対照的に、「エンジェル・パガル」）に関連付けてポスト（テキストメッセージ「盗塁は無料のタコスよりずっと良いよ！」）を表示している。
【００２９】
図３のステップは示した特定の順番によって行われ得るが、他の実施形態において、異なる順番によって、または異なる行為者によって、代替的に行われてもよいことが理解される。例えば、サードパーティアプリケーション１９０が率先してソーシャルネットワーキングシステム１００に新しいポストを通知することに代えて、ソーシャルネットワーキングシステムは新しいポストについて、サードパーティアプリケーションにクエリしてもよい。さらに他の例において、ソーシャルネットワーキングシステム１００は、サードパーティアプリケーション１９０上で、ユーザに「フォローする」関係性を明示的に知らせなくてもよい。
【００３０】
本発明の実施形態の前述の記述は、説明の目的においてのみ示されるものであり、網羅的なものである、または本発明を本明細書の形態に限定することを意図するものではない。前述の記載を考慮して、多くの修正及び変更が可能であることを、当業者は理解するだろう。
【００３１】
本明細書の記載のいくつかの部分は、本発明の実施形態を、アルゴリズム及び情報の操作のシンボルによる表現の観点から記述する。これらのアルゴリズムによる記述及び表現は、一般にデータ処理技術の当業者によって、彼らの仕事の本質を他の当業者に効果的に伝えるために使われる。これらの操作は関数、計算または論理により記述される一方で、コンピュータプログラム若しくは同等の電気回路、マイクロコード、または類似の物によって実装されることが理解される。さらに、時には、これらの操作の構成を一般性を失うことなくモジュールと呼ぶことが便利であることが実証されている。本明細書に記載の操作及び関連付けられているモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せに取り入れられる。
【００３２】
本明細書に記載の任意のステップ、操作、または処理は、１つ以上のハードウェア若しくはソフトウェアモジュールのみによって、若しくは他のデバイスとの組み合わせによって行われる、または実装される。一実施形態において、ソフトウェアモジュールは、コンピュータプログラム・コードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品によって実装され、該コンピュータプログラム・コードは本明細書に記載のステップ、操作、若しくは処理の何れかまたは全てを実行するために、コンピュータ処理装置によって実装されるものである。
【００３３】
本発明の実施形態は、同様に本実施形態に記載の操作を実行するための機器に関する。この機器は、必要とされる目的のために特別に組み立てられたものであり、及び／または、コンピュータに記憶されたコンピュータプログラムによって起動または再構成される多目的コンピューティングデバイスを備える。このようなコンピュータプログラムは非一時的な有形のコンピュータ可読記憶媒体、または、コンピュータシステムバスに接続される、電子的な命令を記憶するのに適した任意の種類の媒体に記憶される。さらに、明細書中で参照される任意のコンピューティングシステムは、シングルプロセッサを有するか、またはコンピューティング機能を向上させるためのマルチプルプロセッサ設計を採用するア
ーキテクチャである。
【００３４】
本発明の実施形態は、同様に本明細書に記載のコンピューティング処理により作られる製品に関する。このような製品は、コンピューティング処理から結果として生じる情報を備え、該情報は非一時的な有形のコンピュータ可読記憶媒体上に記憶され、コンピュータプログラムまたは本明細書に記載の他のデータの組合せの何れの実施形態を有してもよい。
【００３５】
最後に、この明細書に使用された言語は主に読み易さおよび教示目的で選択されたものであり、本発明の主題を限定し、その境界を規定するために選択されたものではない。したがって、ここでの本発明の開示は、以下の特許請求の範囲に記載した本発明の範囲を例示的に説明するものであって限定的なものではない。そのため、本発明の実施形態の発表は、特許請求の範囲に明らかな本発明の範囲を説明するものであり、限定的なものではない。
【図１】
0006367832.tif 000002
【図２Ａ】
0006367832.tif 000003
【図２Ｂ】
0006367832.tif 000004
【図３】
0006367832.tif 000005