(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6367832
(24)【登録日】2018年7月13日
(45)【発行日】2018年8月1日
(54)【発明の名称】ソーシャルネットワーキングシステムにおける外部のフォロードユーザからのコンテンツの統合
(51)【国際特許分類】
G06Q 50/10 20120101AFI20180723BHJP
G06F 13/00 20060101ALI20180723BHJP
【FI】
G06Q50/10
G06F13/00 650A
【請求項の数】14
【全頁数】14
(21)【出願番号】特願2015-556035(P2015-556035)
(86)(22)【出願日】2014年1月14日
(65)【公表番号】特表2016-512629(P2016-512629A)
(43)【公表日】2016年4月28日
(86)【国際出願番号】US2014011506
(87)【国際公開番号】WO2014120435
(87)【国際公開日】20140807
【審査請求日】2017年1月13日
(31)【優先権主張番号】13/756,122
(32)【優先日】2013年1月31日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】サダン、ヤリブ
(72)【発明者】
【氏名】レイト、ザカリー イーサン カーペン
(72)【発明者】
【氏名】ホーゲン、オースティン ダニエル
【審査官】
鈴木 和樹
(56)【参考文献】
【文献】
米国特許出願公開第2011/0238754(US,A1)
【文献】
国際公開第2012/170786(WO,A1)
【文献】
特開2012−133735(JP,A)
【文献】
樋渡達也、外2名,Twitterをインタフェースとした情報共有サービスの統合によるグループコミュニケーションの活性化,情報処理学会研究報告 2011(平成23)年度(5) [CD-ROM],日本,一般社団法人情報処理学会,2012年 2月15日,第2012−HCI−146巻,第2号,p.1−7
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
G06F 13/00
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
ソーシャルネットワーキングシステムによって実行される、コンピュータに実装される方法において、
前記ソーシャルネットワーキングシステムが、サードパーティアプリケーションを提供する遠隔のサードパーティシステムから、第1のユーザが該サードパーティアプリケーション上において第2のユーザとの一方向性の繋がりを有するという通知を受け取る工程であって、前記遠隔のサードパーティシステムは前記ソーシャルネットワーキングシステムとは異なり、前記第1のユーザは前記ソーシャルネットワーキングシステム上に第1のソーシャルネットワーキングユーザアカウントを有し、前記第2のユーザは前記ソーシャルネットワーキングシステム上に前記第1のソーシャルネットワーキングユーザアカウントとは異なる第2のソーシャルネットワーキングユーザアカウントを有し、前記第1のユーザは前記遠隔のサードパーティシステム上に第1のサードパーティユーザアカウントを有し、前記第2のユーザは前記遠隔のサードパーティシステム上に第2のサードパーティユーザアカウントを有する、前記工程と、
前記第2のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという通知を、前記サードパーティアプリケーションから受け取る工程と、
前記第1のユーザ用のフィードを生成する工程であって、該フィードは、前記サードパーティアプリケーション上において前記第2のユーザによってポストされる前記コンテンツの少なくとも一部分を含むポストを含み、該ポストは、前記第2のユーザの前記第2のソーシャルネットワーキングユーザアカウントに帰属される、前記工程と、
前記第1のユーザのクライアントデバイスに対する表示用に前記フィードを送る工程であって、前記ソーシャルネットワーキングシステム及び前記遠隔のサードパーティシステムは前記第1のユーザの前記クライアントデバイスとは異なる、前記工程と、
を備える方法。
【請求項2】
前記サードパーティアプリケーションから、前記サードパーティアプリケーション上の前記第2のユーザの前記アカウントの識別子と、前記ソーシャルネットワーキングシステム上の前記第2のユーザのアカウントの識別子とを、受け取る工程と、
マッピングを記憶する工程であって、該マッピングは、
前記サードパーティアプリケーション上の前記第2のユーザの前記アカウントの前記識別子と、
前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記アカウントの前記識別子と、を含む、前記工程と、
をさらに備える、請求項1に記載の方法。
【請求項3】
前記第2のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという前記通知は、前記サードパーティアプリケーション上の前記第2のユーザの識別子を含み、前記方法はさらに、
記憶された前記マッピングを使って、前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記アカウントの前記識別子を決定する工程と、
前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記ユーザアカウントのユーザ名を、前記コンテンツの前記少なくとも一部分に視覚的に関連付けて表示することによって、前記ポストを前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記ユーザアカウントに帰属させる工程と、
を備える、請求項2に記載の方法。
【請求項4】
前記方法はさらに、
前記第1のユーザが前記第2のユーザをフォローしていることを示すために、前記ソーシャルネットワーキングシステムのソーシャルグラフを更新する工程と、
前記第2のユーザによってポストされた前記コンテンツが前記第1のユーザ用の前記フィードの中に含まれるべきであることを、前記ソーシャルグラフに基づいて決定する工程と、
を備える、請求項1に記載の方法。
【請求項5】
前記ソーシャルネットワーキングシステム上において前記第2のユーザは前記第1のユーザの直接的な繋がりではない、請求項1に記載の方法。
【請求項6】
前記第1のユーザ用の前記フィードを生成する工程は、
前記ポストが前記第1のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第2のユーザによって前記サードパーティアプリケーション上においてポストされたか否かを判定する工程と、
前記ポストが前記第1のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第2のユーザによって前記サードパーティアプリケーション上においてポストされたと判定することに応じて、前記第1のユーザ用の前記フィード内に前記ポストを含める工程と、
を備える、請求項1に記載の方法。
【請求項7】
前記第2のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたか否かを判定するために、前記サードパーティアプリケーションに問い合わせる工程をさらに備える、請求項1に記載の方法。
【請求項8】
非一時的なコンピュータ可読記憶媒体において、
ソーシャルネットワーキングシステムが、サードパーティアプリケーションを提供する遠隔のサードパーティシステムから、第1のユーザが該サードパーティアプリケーション上において第2のユーザとの一方向性の繋がりを有するという通知を受け取るための命令であって、前記遠隔のサードパーティシステムは前記ソーシャルネットワーキングシステムとは異なり、前記第1のユーザは前記ソーシャルネットワーキングシステム上に第1のソーシャルネットワーキングユーザアカウントを有し、前記第2のユーザは前記ソーシャルネットワーキングシステム上に前記第1のソーシャルネットワーキングユーザアカウントとは異なる第2のソーシャルネットワーキングユーザアカウントを有し、前記第1のユーザは前記サードパーティシステム上に第1のサードパーティユーザアカウントを有し、前記第2のユーザは前記サードパーティシステム上に第2のサードパーティユーザアカウントを有する、前記命令と、
前記ソーシャルネットワーキングシステムが、前記第2のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという通知を、前記サードパーティアプリケーションから受け取るための命令と、
前記ソーシャルネットワーキングシステムが前記第1のユーザ用のフィードを生成するための命令であって、該フィードは、前記サードパーティアプリケーション上において前記第2のユーザによってポストされる前記コンテンツの少なくとも一部分を含むポストを含み、該ポストは、前記第2のユーザの前記第2のソーシャルネットワーキングユーザアカウントに帰属される、前記命令と、
前記ソーシャルネットワーキングシステムが前記第1のユーザのクライアントデバイスに対する表示用に前記フィードを送るための命令であって、前記ソーシャルネットワーキングシステム及び前記サードパーティアプリケーションは前記第1のユーザの前記クライアントデバイスとは異なる、前記命令と、
を備える媒体。
【請求項9】
前記サードパーティアプリケーションから、前記サードパーティアプリケーション上の前記第2のユーザの前記アカウントの識別子と、前記ソーシャルネットワーキングシステム上の前記第2のユーザのアカウントの識別子とを、受け取るための命令と、
マッピングを記憶するための命令であって、該マッピングは、
前記サードパーティアプリケーション上の前記第2のユーザの前記アカウントの前記識別子と、
前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記アカウントの前記識別子と、を含む、前記命令と、
をさらに備える、請求項8に記載の媒体。
【請求項10】
前記第2のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたという前記通知は、前記サードパーティアプリケーション上の前記第2のユーザの識別子を含み、前記媒体はさらに、
記憶された前記マッピングを使って、前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記アカウントの前記識別子を決定するための命令と、
前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記ユーザアカウントのユーザ名を、前記コンテンツの前記少なくとも一部分に視覚的に関連付けて表示することによって、前記ポストを前記ソーシャルネットワーキングシステム上の前記第2のユーザの前記ユーザアカウントに帰属させるための命令と、
を備える、請求項9に記載の媒体。
【請求項11】
前記媒体はさらに、
前記第1のユーザが前記第2のユーザをフォローしていることを示すために、前記ソーシャルネットワーキングシステムのソーシャルグラフを更新するための命令と、
前記第2のユーザによってポストされた前記コンテンツが前記第1のユーザ用の前記フィードの中に含まれるべきであることを、前記ソーシャルグラフに基づいて決定するための命令と、
を備える、請求項8に記載の媒体。
【請求項12】
前記ソーシャルネットワーキングシステム上において前記第2のユーザは前記第1のユーザの直接的な繋がりではない、請求項8に記載の媒体。
【請求項13】
前記第1のユーザ用の前記フィードを生成することは、
前記ポストが前記第1のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第2のユーザによって前記サードパーティアプリケーション上においてポストされたか否かを判定することと、
前記ポストが前記第1のユーザ用のもっとも最近のコンテンツ・アイテムのいくつかの内にあるような時に、前記コンテンツが前記第2のユーザによって前記サードパーティアプリケーション上においてポストされたと判定することに応じて、前記第1のユーザ用の前記フィード内に前記ポストを含めることと、
を備える、請求項8に記載の媒体。
【請求項14】
前記第2のユーザが前記サードパーティアプリケーション上においてコンテンツをポストしたか否かを判定するために、前記サードパーティアプリケーションに問い合わせるための命令をさらに備える、請求項8に記載の媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に電子的なソーシャルネットワーキングシステムの分野、特に、サードパーティアプリケーションによりユーザによってポストされるコンテンツをソーシャルネットワーキングシステム内に統合することに関する。
【背景技術】
【0002】
フェイスブック(FACEBOOK(登録商標))などのソーシャルネットワーキングシステムのユーザの多くは、同様にツイッター(TWITTER(登録商標))、フォースクエア(FOURSQUARE),ピンタレスト(PINTEREST)またはフリッカー(FLICKR)などのサードパーティアプリケーション上にもアカウントを有する。多くの場合において、そうしたユーザはサードパーティアプリケーション上で他のユーザを「フォローする」(すなわち、該他のユーザのコンテンツまたはアクティビティへの関心を登録する)。ここで、該他のユーザはソーシャルネットワーキングシステム上にもアカウントを有するが、ソーシャルネットワーキングシステム上において先のユーザの直接の社会的繋がりではない。(簡潔さを目的に、他のユーザをフォローしているユーザを、以下では「フォローイング(following)」ユーザと呼び、フォローされているユーザを、以下では「フォロード(followed)」ユーザと呼ぶ。)例えば、ソーシャルネットワーキングシステムのユーザはサードパーティアプリケーション上で著名人をフォローする場合があるが、ソーシャルネットワーキングシステム上で該著名人と友達または他の形態の直接的な社会的繋がりではない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
このような場合において、フォローイングユーザは、フォロードユーザによってサードパーティのソーシャルネットワーキングシステム上に提供されたコンテンツ(例えばテキストコメント、レビュー、ポストされたリンク、写真など)を、ソーシャルネットワーキングシステム上のフォローイングユーザのアカウント内で直接見ることをしばしば望む。しかし、ソーシャルネットワーキングシステム上のフォローイングユーザとフォロードユーザとの間の直接の社会的繋がりの欠如は、フォロードユーザによって提供される情報が、先のソーシャルネットワーキングシステムではなく、サードパーティのソーシャルネットワーキングシステム内に存在するという事実と相まって、通常では、該ソーシャルネットワーキングシステムがフォローイングユーザにそうした情報を表示しないことを意味する。
【課題を解決するための手段】
【0004】
本発明の実施形態において、フォローイングユーザは、フォロードユーザをサードパーティアプリケーション上でフォローする。フォロードユーザは、さらに、サードパーティアプリケーション上において該フォロードユーザによってポストされたコンテンツを、ソーシャルネットワーキングシステム上のフォローイングユーザのアカウント内に含めることを承認することができる。サードパーティアプリケーション上の、フォロードユーザの続くポストは、例えばサードパーティアプリケーションが該ポストをソーシャルネットワーキングシステムへ通知することによって、該ポストをソーシャルネットワーキングシステムに取得させる。ソーシャルネットワーキングシステムが、今度は、サードパーティアプリケーション上のフォロードユーザのポストを、フォローイングユーザに表示するユーザインターフェイス内へ組み込む。
【0005】
一実施形態において、フォロードユーザは、例えばフォロードユーザがポストしたコンテンツをサードパーティアプリケーションと共有することを承認する際に、ソーシャルネットワーキングシステム上のフォロードユーザのユーザ識別子をサードパーティアプリケーションに対し指定する。ソーシャルネットワーキングシステムは、フォロードユーザのユーザ識別子を用い、サードパーティアプリケーション上のフォロードユーザのアイデンティティではなく、ソーシャルネットワーキングシステム上のフォロードユーザのアイデンティティに関連付けて、ポストされたコンテンツを表示する。
【図面の簡単な説明】
【0006】
【
図1】一実施形態における、コンピューティング環境の高レベルブロック図。
【
図2A】一部の実施形態における、サードパーティアプリケーション上のフォローイングユーザのサンプル・ユーザインターフェイスを示す図。
【
図2B】一部の実施形態における、ソーシャルネットワーキングシステム上のフォローイングユーザのサンプル・ユーザインターフェイスを示す図。
【
図3】一実施形態における、フォロードユーザのコンテンツをソーシャルネットワーキングシステム上に表示する際のソーシャルネットワーキングシステム、サードパーティアプリケーション、フォローイングユーザ及びフォロードユーザの間の対話を示す図。
【発明を実施するための形態】
【0007】
図面は、説明の目的のためだけに本発明の実施形態を示す。後述の記述から、本明細書に記載の発明の本質から逸脱することなく、本明細書に例示の構造及び方法の代替実施案を使用してもよいことを、同業者であれば容易に理解するであろう。
【0008】
システムアーキテクチャ
図1は、一例の実施形態によるコンピューティング環境の高レベルブロック図である。
図1はソーシャルネットワーキングシステム100、クライアントデバイス180、及びネットワーク170によって接続されているサードパーティアプリケーション190を示す。クライアントデバイス180のユーザは、ウェブブラウザなどのアプリケーションを介してソーシャルネットワーキングシステム100と対話し、コンテンツをブラウズする、メッセージをポストする、人または他の関心となるコンテンツについてクエリを実行するなど、操作を実行する。ユーザは、また、サードパーティアプリケーション190と対話するためにクライアントデバイス180を使う。追加的に、ソーシャルネットワーキングシステム100とサードパーティアプリケーション190とは、フォローイングユーザ及びフォロードユーザに関する情報、並びに、フォロードユーザによってサードパーティアプリケーション上に提供されたコンテンツに関する情報を交換する。この情報交換の結果として、ソーシャルネットワーキングシステム100は、フォロードユーザによってサードパーティアプリケーション内においてポストされたコンテンツをソーシャルネットワーキングシステム上のフォローイングユーザに対し自動的に表示する。
【0009】
ソーシャルネットワーキングシステム100は、ソーシャルネットワーキングシステム100によってトラッキングされた様々なオブジェクト上に情報を記憶する、オブジェクトストア110を備える。これらのオブジェクトは、ソーシャルネットワーキングシステム100の中でユーザが対話する多様なものを表し、該多様なものは、制限なく、ソーシャルネットワーキングシステムのユーザまたは他のユーザ111(例えば、ユーザ用のプロフィール・オブジェクトとして表される)、アプリケーション112(例えば、ソーシャルネットワーキングシステム内でプレイ可能なゲーム)、イベント113(例えば、ユーザが参加するコンサート)、ユーザが所属するグループ114(例えば、代替エネルギー研究に専念するグループ)、ページ115(例えば、特定の政治家、自動車モデルまたはテレビショーのような、システム上の特定の人または団体の存在を構成するページ)、メディアのアイテム116(例えば、写真、ビデオ、オーディオ、テキストまたは任意の
他の種類のメディアコンテンツ)、ユーザに関連付けられているロケーション117(例えば、「サンノゼ、カリフォルニア、USA」)、及びコンセプト118または他の名辞(例えば、「代替エネルギー」というコンセプトに対応するオブジェクト)を含む。オブジェクトストア110は、さらに受信箱のメッセージ、ステータスの更新、コメント、ノート及びポストのような、ソーシャルネットワーキングシステム100のユーザによって日常的に作られる他のデータを表すオブジェクトを記憶する。オブジェクトストア110のオブジェクトは、ソーシャルネットワーキングシステム内に存在するエンティティ(例えば、ソーシャルネットワーキングシステム上で利用可能なアプリケーション112)、ソーシャルネットワーキングシステムのドメインの外部に存在する仮想エンティティ(例えば、ウェブサイト)、または実世界エンティティ(例えば、人、製品またはショー)を記憶する。ユーザ・オブジェクト111は個々の人を表すが、架空の人物またはコンセプトなどの他のエンティティも表す。
【0010】
オブジェクトストア110は、アプリケーション112のコードまたはイメージ・メディアアイテム116に関連付けられているイメージデータなどの、ソーシャルネットワーキングシステム100内に存在するオブジェクトの全てを記憶する。代替的に、ソーシャルネットワーキングシステム100の外部に存在する仮想エンティティ用に、オブジェクトストア110は、外部のメディアアイテム116の統一資源位置指定子(URL)などの、エンティティへの何らかの形態のポインタまたは参照を有する。追加的に、オブジェクトストア110は、また、オブジェクトに関連付けられているメタデータを記憶する。該オブジェクトに関連付けられているメタデータは、オブジェクトを記述する名前(例えば、人またはページ115用に「アル・ゴア(Al Gоre)」、またはグループ114用に「グリーンエネルギーグループ」)、オブジェクトを表しているイメージ(例えば、ユーザのプロフィール写真)、またはユーザによってオブジェクトに指定される1つ以上のタグ(例えば、戦略ゲーム・アプリケーション用のテキストの文字列「ゲーム」、「犯罪」及び「戦略」)などである。異なる種類のオブジェクトは、グループ114用の関連付けられているユーザ111の一組、メディアアイテム・オブジェクト116用のメディア種類(例えば、「ビデオ」)、及びユーザ・オブジェクト111用のユニークなユーザID及び名前トークン(例えば、名と姓、「アル」と「ゴア」を分ける)などの、異なる種類のメタデータを有する。
【0011】
一実施形態において、ソーシャルネットワーキングシステム100は、さらにオブジェクトストア110のオブジェクトを「ソーシャルグラフ」において一体にリンクされるノードとして表すグラフ情報ストア120を備える。グラフ情報ストア120は、したがって、2又はそれより多くのオブジェクト間の関係性についての情報を備え、様々なオブジェクト・ノードを繋ぐエッジとして表される。ソーシャルグラフの中のエッジの様々な例は、ソーシャルネットワーキングシステムの中で2人のユーザが関係性を有する(例えば、友達である、若しくは連絡を取る、他のユーザのプロフィールを見る、または何らかの方法で交流する)ことを表すユーザ・オブジェクト111間のエッジと、ユーザがアプリケーションを使ったことを表すユーザ・オブジェクト111及びアプリケーション・オブジェクト112間のエッジと、ユーザがページを見た、またはページに対して明確に親和性を指定した(例えば、ページを「リンクした」)ことを表すユーザ・オブジェクト111及びページ・オブジェクト115間のエッジとを含む。追加的に、第1ユーザ・オブジェクト111と第2ユーザ・オブジェクト111との間のエッジは、特定のサードパーティアプリケーション190上で、第1のユーザが第2のユーザをフォローしていることを指定する。例えば、ソーシャルネットワーキングシステム100においてユーザ111と別のユーザとを間接的に繋ぐ一連のエッジしかない場合と異なり、ソーシャルグラフにおいてそれらの2人のユーザ間に1つのエッジがある場合、ユーザ111は該別のユーザの直接的な繋がりとみなされる。
【0012】
例えば、ソーシャルネットワーキングシステムの中で1人のユーザ111が他のユーザと関係性を構築する際には、2人のユーザはどちらもノードとして表され、彼らの間のエッジは構築された関係性を表す。このとき、2人のユーザは、ソーシャルネットワーキングシステムの中で繋がれたと言える。この例の続きとして、そのユーザの1人は、ソーシャルネットワーキングシステム内で、もう1人のユーザにメッセージを送る。このメッセージを送るという行動は、ソーシャルネットワーキングシステムによって記憶される、またはトラッキングされる、これら2つのノード間の他のエッジである。メッセージそれ自体は、ノードとして扱われる。他の例において、1人のユーザは、ソーシャルネットワーキングシステムによって維持されるイメージの中で、他のユーザにタグを付ける。このタグを付けるアクションは、ユーザ間にエッジを作成し、該ユーザのそれぞれと同じくノードであるイメージとの間にもエッジを作成する。さらに別の例において、イベントに出席することをユーザが確認する際には、そのユーザとイベントとはノードであり、ユーザがイベントに出席するかどうかを示す指示はエッジである。さらに他の例において、サードパーティアプリケーション内で第1のユーザが第2のユーザをフォローする際には、この事実はソーシャルネットワーキングシステム100に通知され、一方向性の「フォローする」エッジが、グラフ情報ストア120内で第1のユーザから第2のユーザの間に作成される。したがって、ソーシャルグラフを使って、ソーシャルネットワーキングシステムは多くの異なる種類のオブジェクト及びエッジ(これらのオブジェクトの間の対話及び繋がり)のトラッキングを保ち、それによって社会的な関連性の情報の非常に豊富なストアを維持する。
【0013】
一実施形態において、グラフ情報ストア120の中のエッジは関連付けられているメタデータを有し、該関連付けられているメタデータは、関係性の種類を記述するラベル(例えば、2つのユーザ・オブジェクト間のラベルとして、「友達」または「フォロー中」)、関係性の強さを定量化する値、またはその両方などである。さらに、任意の2つのオブジェクト間の最短のパス上のエッジの数を決定することによって、該オブジェクト間の関係性の度合または「距離」を確かめることができる。例えば、間にエッジを有する(例えば、友人の関係性を意味する)2つのユーザ・オブジェクトは、1の関係性の度合(または「距離」)を有し、1次の繋がりとみなされる。同様に、ユーザ・オブジェクトAがユーザ・オブジェクトBの1次の繋がりであってユーザ・オブジェクトCの1次の繋がりではない際、及びBはCの1次の繋がりである際には、オブジェクトA及びCは度合2の関係性を有し、CはAの2次の繋がりである(逆もまた然り)ことを示す。
【0014】
ソーシャルネットワーキングシステム100は、さらに、ソーシャルネットワーキングシステム上のユーザアカウント用のユーザインターフェイス内に、所定のユーザ111が見るためのソーシャルネットワーキングシステムからの関連するコンテンツ・アイテムのリスト(「フィード」)を表示するフィードモジュール122を備える。例えば、フィードは、ソーシャルネットワーキングシステム100の他のユーザ111のステータス・メッセージを含み、該ステータス・メッセージはユーザの1次の繋がりや、さらに他のユーザのコメント、最近のイベント113、所定のアプリケーション112の最近のアクション、及びそれに類するものなどである。一実施形態において、フィードモジュール122は、所定のユーザに関連する、あるN個のもっとも最近のコンテンツ・アイテムのリストを構成し、それらをウェブサイト内に設置し、ウェブサイトをユーザのクライアントデバイス180へ提供する。
【0015】
ソーシャルネットワーキングシステム100は、さらにサードパーティアプリケーションの対話モジュール125を備える。該対話モジュール125は、ソーシャルネットワーキングシステム100が、フォロードユーザのコンテンツをサードパーティアプリケーションからフォローイングユーザへ表示することに使う。
【0016】
詳細には、サードパーティアプリケーションの対話モジュール125は通知API130を備え、該通知API130は、サードパーティアプリケーション190がソーシャルネットワーキングシステム100に、サードパーティアプリケーション上で起こる関連するイベントを知らせるために使う。該関連するイベントは、サードパーティアプリケーション上で第1の(フォローイング)ユーザが第2の(フォロード)ユーザをちょうどフォローし始めたこと、またはフォロードユーザがサードパーティアプリケーション上においてコンテンツ・アイテムをちょうどポストすることなどである。一部の実施形態において、サードパーティアプリケーションの対話モジュール125は、サードパーティアプリケーションが通知API130を用いてソーシャルネットワーキングシステムに知らせることに頼るのではなく、サードパーティアプリケーション190にフォロードユーザによる新しいポストについて明示的に問い合わせる(pоll)。
【0017】
一部の実施形態において、通知API130は、サードパーティアプリケーションが、サードパーティアプリケーション及びソーシャルネットワーキングシステム100の両方の上でフォロードユーザ、フォローイングユーザ、またはその両方のユーザ識別子を指定することを許可する(または要求する)。例えば、通知API130は、サードパーティアプリケーション190及びソーシャルネットワーキングシステム100の両方の上で、サードパーティアプリケーション190がフォローイングユーザのユーザ識別子を指定し、その結果今後より簡単に両方を関連させられる。
【0018】
サードパーティアプリケーションの対話モジュール125は、さらに挿入モジュール135を備え、該挿入モジュール135は、サードパーティアプリケーション190上のフォロードユーザのコンテンツを、ソーシャルネットワーキングシステム100上のフォローイングユーザに関連付けられているユーザインターフェイスに挿入する。一実施形態において、サードパーティアプリケーションの対話モジュール125は、サードパーティアプリケーション190上にポストされたそれぞれのコンテンツ・アイテムのコピー、または該それぞれのコンテンツ・アイテムへの参照を記憶する。該それぞれのコンテンツ・アイテムは、サードパーティアプリケーション190が通知API130を使ってソーシャルネットワーキングシステム100に知らせたものである。したがって、フィードモジュール122が所定のユーザ用の適切なフィードを形成する際には、フィードモジュールは挿入モジュール135に、サードパーティアプリケーション190から何れの関連するコンテンツ・アイテムもフィードに含まれるように提出するように要求する。例えば、挿入モジュール135は、サードパーティアプリケーション190のユーザのもっとも最近のポストを確認する。該もっとも最近のポストは、フィードが生成される対象であるユーザによってフォローされるものであり、フィードのもっとも最近のN個のコンテンツ・アイテム内にあるのに十分なだけ最近である投稿日を有する際には、このようなポストもフィードに含む。
【0019】
サンプル・ユーザインターフェイス
図2Aは、一実施形態における、サードパーティアプリケーション190上のフォローイングユーザのアカウント用のサンプル・ユーザインターフェイス200を説明する。詳細には、クリスチャン・コーニック(Christian Kоnig)という名前のフォローイングユーザ201は、チャッター(Chatter)という名前のサードパーティアプリケーション190上にアカウントを有し、同様にサードパーティシステム上にアカウントを有する複数の他のユーザをフォローする。ユーザインターフェイス200は、フォローイングユーザ201がフォローしているユーザ5人の最近のポスト202A〜202Eを表示する。
【0020】
図2Bは、一実施形態における、ソーシャルネットワーキングシステム100上の同じフォローイングユーザのアカウント用のサンプル・ユーザインターフェイス250を説明
する。詳細には、クリスチャン・コーニックという名前のユーザ用のソーシャルネットワーキングシステム100のニュース・フィードは、ソーシャルネットワーキングシステム100上にアカウントを有する他のユーザ111の複数の最近のポスト251を表示する。特に、ポスト251Cに対応するユーザ111は、ソーシャルネットワーキングシステム100及びチャッター・サードパーティアプリケーション190の両方の上にアカウントを有し、同様に、チャッター上の本人のポストがソーシャルネットワーキングシステム100内に表示されるように承認する。その結果、
図2Aに説明されるように、フォローイングユーザ201(クリスチャン・コーニック)がポスト202Cに対応するユーザ(エー・エム・パガル(A.M. Pagal))をフォローしているので、チャッター上のそのユーザのポスト202Cも同様に、ポスト251Cとしてソーシャルネットワーキングシステム100のクリスチャン・コーニックのニュース・フィードの中に含まれる。(なお、ソーシャルネットワーキングシステム100は、該ポストをサードパーティアプリケーション190上のフォロードユーザのアカウント、すなわちユーザ名「エー・エム・パガル」を有するアカウントではなく、ソーシャルネットワーキングシステム100上のフォロードユーザのアカウント、すなわちユーザ名「エンジェル・パガル(Angel
Pagal)」を有するアカウントに帰属させる。)同様に、ポスト202A,202B,202Dまたは202Eに対応するユーザもまた、ソーシャルネットワーキングシステム100上にアカウントを有し、ソーシャルネットワーキングシステム100と彼らのポストの共有を承認した際には、彼らのポストはユーザインターフェイス250内に同様に示される。
【0021】
コンテンツを表示する処理
図3は、一実施形態における、フォロードユーザのコンテンツをソーシャルネットワーキングシステム100上に表示する際のソーシャルネットワーキングシステム100、サードパーティアプリケーション190、フォローイングユーザ301及びフォロードユーザ302の間の対話を説明する。
【0022】
最初に、フォロードユーザ302はサードパーティアプリケーション190を使い、サードパーティアプリケーション上にフォロードユーザによってポストされるコンテンツのソーシャルネットワーキングシステム100との共有を承認(305)する。例えば、フォロードユーザ302は、サードパーティアプリケーション190のユーザインターフェイスに、「全ての私のポストをS上のフォロワーと共有する」オプションを選択するアカウント設定ユーザインターフェイスを使ってもよい。該Sは、所定のソーシャルネットワーキングシステム100である。承認305の一部分として、フォロードユーザ302は、フォロードユーザがソーシャルネットワーキングシステム100上に有するユーザ名または他のユーザ識別子を指定する。ユーザ名または他の識別子の指定によって、サードパーティアプリケーション190上のユーザのアイデンティティをソーシャルネットワーキングシステム上のユーザの対応するアイデンティティに対し、ソーシャルネットワーキングシステム100にマッピングさせることがより容易となる。
【0023】
ステップ310において、フォローイングユーザ301は、サードパーティアプリケーション190を使ってフォロードユーザ302をフォローする。例えば、この場合、フォローイングユーザは、フォロードユーザ302によってサードパーティアプリケーション内にポストされるコンテンツを見ることを今後望むことを示している。
【0024】
ステップ310に応じて、サードパーティアプリケーション190はソーシャルネットワーキングシステム100に、フォローイングユーザ301がフォロードユーザ302を現在フォローしていることを通知(315)する(例えば、通知API130を使う)。(他の実施形態として、最後の問い合わせ以降に新しい「フォローする」関係性があるかどうかを決定するために、ソーシャルネットワーキングシステム100はサードパーティ
アプリケーション190に明示的に問い合わせる。)したがって、ソーシャルネットワーキングシステム100は、例えば「フォロー」とラベルされ、かつフォローイングユーザ301からフォロードユーザ302に向いているエッジを導入することによって、グラフ情報ストア120を更新(320)する。
【0025】
サードパーティアプリケーション190内と同様に、「フォローする」関係性はソーシャルネットワーキングシステム100内にも反映されることを、ソーシャルネットワーキングシステム100は、フォローイングユーザ301に任意に知らせる(321)。例えば、ソーシャルネットワーキングシステム100はフォローイングユーザ301のニュースフィードの中に、エントリ(例えば、戻って
図2A〜2Bに参照される「クリスチャンはチャッター上でエンジェル・パガルをフォローしました」)を加える。
【0026】
前述のステップが実行された後、フォロードユーザ302によってサードパーティアプリケーション190上にポストされたコンテンツは、ソーシャルネットワーキングシステム100上のフォローイングユーザ301への表示に含まれる。詳細には、ステップ325において、フォロードユーザ302は新しいコンテンツをポストするために、サードパーティアプリケーション190を使う。サードパーティアプリケーション190は、フォローイングユーザがサードパーティアプリケーションにログインする際に、例えば
図2Aに説明されるメッセージ202Cのように、新しいコンテンツをフォローイングユーザ301に表示(330)する。
【0027】
したがって、サードパーティアプリケーション190は、例えば通知API130を呼び出すことによって、サードパーティアプリケーション上のフォロードユーザ302によるポストを、ソーシャルネットワーキングシステム100に通知(335)する。一実施形態において、通知の一部分として、サードパーティアプリケーション190は、ソーシャルネットワーキングシステム100上のフォロードユーザ302のアカウント用にユニークなユーザIDを明示的に提供する。これによって、ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステム上のコンテンツをポストする人のアイデンティティをより容易に決定することができる。(一実施形態において、フォロードユーザによる新しいポストのアイデンティティを知らせることをサードパーティアプリケーション190に頼るよりも、むしろソーシャルネットワーキングシステム100は、新しいポストをサードパーティアプリケーションに明示的に問い合わせる。)一実施形態において、ソーシャルネットワーキングシステム100は、サードパーティアプリケーション190によって通知されるポストのコピー、または該ポストへの参照を記憶し続け、例えばフィードモジュール122が所定のユーザ用のフィードを生成する際のように、必要な場合にのみ記憶したポストを利用する。
【0028】
ソーシャルネットワーキングシステム上にフォローイングユーザ301用の開始ページを生成する際などの適切な時に、ソーシャルネットワーキングシステムは、サードパーティアプリケーション190によって提供されるポストと、ポストを生成するフォロードユーザ302用のユニークなユーザIDとを使い、該ポストをフォローイングユーザ301に提供(340)する。例えば、挿入モジュール135に関して前述されるように、ポストは、フォロードユーザ302の名前と共に、ソーシャルネットワーキングシステム上でフォローイングユーザ301のニュース・フィード内に含まれる。(ニュース・フィードに関するさらなる詳細は、参照することによって本明細書に組み込まれる米国特許第8,171,128号明細書(「ソーシャルネットワーク環境において動的に選択されたメディアコンテンツを電子デバイスのユーザン提供するシステム及び方法(Systems and Methods for Providing Dynamically Selected Media Content to a User of an Electronic Device in a Social Network Envir
onment)」)及び米国特許出願公開第2008−0040475号明細書(「ソーシャルネットワーク環境におけるユーザ親和性を評価するためのシステムと方法(Systems and Methods for Measuring User Affinity in a Social Network Environment)」)の中に提供される。)例えば、
図2Bにおいて、ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステム上のフォロードユーザ302の名前(
図2Aに示されるようなサードパーティアプリケーション190上のフォロードユーザ302の名前「エー・エム・パガル」と対照的に、「エンジェル・パガル」)に関連付けてポスト(テキストメッセージ「盗塁は無料のタコスよりずっと良いよ!」)を表示している。
【0029】
図3のステップは示した特定の順番によって行われ得るが、他の実施形態において、異なる順番によって、または異なる行為者によって、代替的に行われてもよいことが理解される。例えば、サードパーティアプリケーション190が率先してソーシャルネットワーキングシステム100に新しいポストを通知することに代えて、ソーシャルネットワーキングシステムは新しいポストについて、サードパーティアプリケーションにクエリしてもよい。さらに他の例において、ソーシャルネットワーキングシステム100は、サードパーティアプリケーション190上で、ユーザに「フォローする」関係性を明示的に知らせなくてもよい。
【0030】
本発明の実施形態の前述の記述は、説明の目的においてのみ示されるものであり、網羅的なものである、または本発明を本明細書の形態に限定することを意図するものではない。前述の記載を考慮して、多くの修正及び変更が可能であることを、当業者は理解するだろう。
【0031】
本明細書の記載のいくつかの部分は、本発明の実施形態を、アルゴリズム及び情報の操作のシンボルによる表現の観点から記述する。これらのアルゴリズムによる記述及び表現は、一般にデータ処理技術の当業者によって、彼らの仕事の本質を他の当業者に効果的に伝えるために使われる。これらの操作は関数、計算または論理により記述される一方で、コンピュータプログラム若しくは同等の電気回路、マイクロコード、または類似の物によって実装されることが理解される。さらに、時には、これらの操作の構成を一般性を失うことなくモジュールと呼ぶことが便利であることが実証されている。本明細書に記載の操作及び関連付けられているモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せに取り入れられる。
【0032】
本明細書に記載の任意のステップ、操作、または処理は、1つ以上のハードウェア若しくはソフトウェアモジュールのみによって、若しくは他のデバイスとの組み合わせによって行われる、または実装される。一実施形態において、ソフトウェアモジュールは、コンピュータプログラム・コードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品によって実装され、該コンピュータプログラム・コードは本明細書に記載のステップ、操作、若しくは処理の何れかまたは全てを実行するために、コンピュータ処理装置によって実装されるものである。
【0033】
本発明の実施形態は、同様に本実施形態に記載の操作を実行するための機器に関する。この機器は、必要とされる目的のために特別に組み立てられたものであり、及び/または、コンピュータに記憶されたコンピュータプログラムによって起動または再構成される多目的コンピューティングデバイスを備える。このようなコンピュータプログラムは非一時的な有形のコンピュータ可読記憶媒体、または、コンピュータシステムバスに接続される、電子的な命令を記憶するのに適した任意の種類の媒体に記憶される。さらに、明細書中で参照される任意のコンピューティングシステムは、シングルプロセッサを有するか、またはコンピューティング機能を向上させるためのマルチプルプロセッサ設計を採用するア
ーキテクチャである。
【0034】
本発明の実施形態は、同様に本明細書に記載のコンピューティング処理により作られる製品に関する。このような製品は、コンピューティング処理から結果として生じる情報を備え、該情報は非一時的な有形のコンピュータ可読記憶媒体上に記憶され、コンピュータプログラムまたは本明細書に記載の他のデータの組合せの何れの実施形態を有してもよい。
【0035】
最後に、この明細書に使用された言語は主に読み易さおよび教示目的で選択されたものであり、本発明の主題を限定し、その境界を規定するために選択されたものではない。したがって、ここでの本発明の開示は、以下の特許請求の範囲に記載した本発明の範囲を例示的に説明するものであって限定的なものではない。そのため、本発明の実施形態の発表は、特許請求の範囲に明らかな本発明の範囲を説明するものであり、限定的なものではない。