(57)【要約】社交ネットワーク用ウェブサイトはユーザ毎のプロフィールを維持している。該プロフィールは他のユーザへの接続又はユーザの好み等ユーザに関連したデータを含む。社交ネットワーク用ウェブサイトは第三者アプリケーションサーバと通信してアプリケーションを該ウェブサイトのユーザに提供する。社交ネットワーク用ウェブサイトのユーザが第三者アプリケーションサーバによって提供されるアプリケーションをリクエストすると、該ウェブサイトは第三者アプリケーションサーバにユーザのプロフィールのサブセットを送り、第三者アプリケーションサーバがこのプロフィールを使用してユーザのために実行されるアプリケーションを個人化することを可能にする。ユーザプロフィールに関連したプライバシー設定は、社交ネットワーク用ウェブサイトが前記第三者アプリケーションサーバに送られるプロフィールデータを制限することを可能にする。【選択図】          図1
2010532027.tif 000002
【特許請求の範囲】
【請求項１】
社交ネットワークのウェブサイトによって維持されたユーザプロフィールデータに対するアクセスを第三者アプリケーションサーバに提供するための方法であって、
前記社交ネットワークのウェブサイトにおいて、アプリケーションにアクセスするリクエストをユーザから受信するステップと、
前記リクエストに関連した第三者アプリケーションサーバを特定するステップと、
前記アプリケーションにアクセスするリクエストを行っているユーザに関連していて、ユーザ識別子を含むユーザプロフィールを特定するステップと、
前記ユーザ識別子、該ユーザ識別子に関連付けられたユーザデータ、および、前記アプリケーションにアクセスするリクエストを前記第三者アプリケーションサーバに送信するステップと、
を具備した方法。
【請求項２】
前記社交ネットワークウェブサイトにおいて、前記ユーザプロフィールに含まれるデータを要求するリクエストを前記第三者アプリケーションサーバから受信するステップと、
前記ユーザプロフィールに関連したプライバシー設定を評価するステップと、
前記ユーザプロフィールに含まれるデータを、前記ユーザプロフィールに関連したプライバシー設定と比較するステップと、
前記ユーザプロフィールに含まれるデータのサブセットを前記第三者アプリケーションサーバに送信するステップと、
をさらに具備した請求項1に記載の方法。
【請求項３】
前記ユーザプロフィールに含まれるデータのサブセットを前記第三者アプリケーションサーバに送信するステップが、
第1のデータが公に利用可能であることを示す前記プライバシー設定に応じて、前記第1のデータを前記第三者アプリケーションサーバに送信するステップと、
第2のデータが公に利用可能ではないことを示す前記プライバシー設定に応じて、前記第三者アプリケーションサーバへの前記第2のデータの送信を阻止するステップと、
を含む請求項2に記載の方法。
【請求項４】
前記リクエストに関連した第三者アプリケーションサーバを特定するステップが、
前記リクエストからアプリケーション識別子を抽出するステップと、
前記アプリケーション識別子に関連した第三者アプリケーションサーバアドレスを特定するステップと、
を具備した請求項1に記載の方法。
【請求項５】
前記リクエストに関連した第三者アプリケーションサーバを特定するステップが、
前記アプリケーション識別子に関連したアプリケーションデータであって、前記第三者アプリケーションサーバによって使用される前記社交ネットワークウェブサイトからのデータを識別するアプリケーションデータを特定するステップと、
を具備した請求項4に記載の方法。
【請求項６】
前記ユーザ識別子、および、前記アプリケーションにアクセスするリクエストを前記第三者アプリケーションサーバに送信するステップが、
前記社交ネットワークウェブサイトと前記第三者アプリケーションサーバとの間におけるデータ交換を識別するセッションキーを生成するステップと、
前記アプリケーションにアクセスするリクエストに関連した前記ユーザプロフィールからデータのサブセットを抽出するステップと、
前記第三者アプリケーションサーバに対して、前記セッションキー、前記ユーザ識別子および前記ユーザプロフィールからのデータのサブセットを送信するステップと、
を具備した請求項1に記載の方法。
【請求項７】
前記第三者アプリケーションサーバから、前記ユーザ識別子およびユーザデータに基づいて前記ユーザのために構成されたアプリケーションコンテンツを受信するステップをさらに具備した請求項1に記載の方法。
【請求項８】
社交ネットワークウェブサイトと第三者アプリケーションサーバとの間でユーザプロフィールデータを共用するための方法であって、
前記第三者アプリケーションサーバにおいて、アプリケーションにアクセスするリクエストをユーザから受信するステップと、
アプリケーション識別子およびアクセスリクエストを社交ネットワークウェブサイトに送信し、前記ソーシャルネットワークウェブサイトよって維持されていて前記ユーザに関連したユーザプロフィールからデータを受信するステップと、
前記社交ネットワークウェブサイトよって維持された前記ユーザプロフィールに含まれるデータのサブセットを受信するステップと、
前記社交ネットワークウェブサイトよって維持された前記ユーザプロフィールに含まれるデータのサブセットに基づき、前記ユーザのために個人化されたアプリケーションコンテンツを生成するステップと、
を具備した方法。
【請求項９】
前記ユーザプロフィールに含まれるデータのサブセットに応じて出力を生成するステップが、
前記社交ネットワークウェブサイトに対して、前記ユーザプロフィールに含まれる追加的なデータを要求するリクエストを前記第三者アプリケーションサーバから送信するステップと、
前記社交ネットワークウェブサイトから、前記ユーザプロフィールに含まれる追加的なデータのサブセットを受信するステップと、
を具備した請求項8に記載の方法。
【請求項１０】
前記社交ネットワークウェブサイトからの前記ユーザプロフィールに含まれる追加的なデータのサブセットが、前記ソーシャルネットワークウェブサイトに含まれるプライバシー設定によって公に利用可能であるものとして分類されたデータからなる請求項9に記載の方法。
【請求項１１】
社交ネットワークウェブサイトと第三者アプリケーションサーバとの間でユーザプロフィールデータを共用するためシステムであって、
前記社交ネットワークウェブサイトの複数のユーザの各ユーザ毎のプロフィールを含むプロフィール記憶部であって、各前記プロフィールが前記社交ネットワークウェブサイトの複数の他のユーザの各ユーザに対する接続を特定するものと、
前記プロフィール記憶部と通信可能なアプリケーション識別モジュールであって、該アプリケーション識別モジュールが複数のアプリケーションプロフィールを含み、各前記アプリケーションプロフィールがアプリケーション識別子とアプリケーションアドレスとアプリケーションデータとを含み、該アプリケーションデータがプロフィールからのデータを特定するものと、
前記アプリケーション識別モジュールおよび前記プロフィール記憶部と通信可能な通信モジュールであって、該通信モジュールは目標アプリケーション識別子およびリクエスト用プロフィールを受信し、前記リクエストプロフィールに関連したデータを前記目標アプリケーション識別子に関連した前記アプリケーションアドレスに送信するものと、
を具備したシステム。
【請求項１２】
前記プロフィール記憶部は各プロフィールに関連したプラバシー設定を含み、前記プラバシー設定は、各プロフィールにおける公に利用可能なデータを示すものである請求項11に記載のシステム。
【請求項１３】
前記通信モジュールは、前記リクエスト用プロフィールに関連したプラバシー設定に応じて、前記リクエスト用プロフィールに関連したデータを送信するものである請求項12に記載のシステム。
【請求項１４】
前記通信モジュールは、公に利用可能であると示されている前記リクエスト用プロフィールに関連したデータを送信し、公に利用可能であると示されていない前記リクエスト用プロフィールに関連したデータを送信しない請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソーシャルネットワーク技術に関し、特に、ソーシャルネットワーク（社交ネットワーク）からのユーザ別に固有のデータに基づいてサードパーティー(第三者)のアプリケーションを個人化することに関する。
【０００２】
関連出願の説明
本出願は2007年6月12日に出願された米国特許仮出願No.60/934,365の優先権を主張するものである。この米国特許仮出願の出典を記載することによって本明細書の一部とする。
【背景技術】
【０００３】
ソーシャルネットワーク、または、関心事および活動を共用する、もしくは、他のエンティティの関心事を探求することに関心があるエンティティのコミュニティが、ますます普及している。特に、ソーシャルネットワーキングウェブサイト（社交ネットワーク用ウェブサイト）は、ユーザまたはエンティティがより効率的に互いに通信し合うことを可能にしている。例えば、ユーザは、ソーシャルネットワーキングウェブサイトに対して、連絡先情報、背景情報、ジョブ情報、趣味またはその他のユーザに固有のデータを掲示することがある。そして、他のユーザまたはエンティティは、ユーザのプロフィールをブラウズしたり特定のデータを含むプロフィールを検索することによって前記掲示されたデータを再検討することができる。
【０００４】
あるソーシャルネットワーキングウェブサイトは、ユーザを該ユーザに最も関係のあるコンテンツに接続するためのシステムを組み込んでいる。例えば、ユーザは、地理的位置、雇用者、仕事の種類、音楽の好みまたはその他の属性などのプロフィール上の1または複数の共通な属性に従って、グループ分けされる。さらに、あるソーシャルネットワークは、ユーザがソーシャルネットワ−クから1または複数のサードパーティ(第三者)のアプリケーションにアクセスすることを可能にする。これらのサードパーティアプリケーションは、前記ソーシャルネットワーキングウェブサイト内で実行される。このようなアプリケーションは、前記ソーシャルネットワーキングウェブサイトの機能性を拡張でき、ユーザに対して相互に通信し、共同し、インタラクトするための新たな興味ある方法を提供する。例えば、ソーシャルネットワークウェブサイトは、ユーザがサードパーティ(第三者)によって提供されるデータまたはサービスにアクセスできるようにする“ウィジット(小さな機械装置)”を含む。このため、前記“ウィジット”または同様なユーザインターネットは、ソーシャルネットワーキングウェブサイトのユーザが該ソーシャルネットワーキングウェブサイトから分離したサードパーティアプリケーションとインタラクトすることを可能にする。
【０００５】
前記ソーシャルネットワーキングウェブサイトは、ユーザがユーザデータに基づいて個人化されたソーシャルネットワークからコンテンツを受信することを可能にするが、サードパーティアプリケーションによって提供される情報は、前記ユーザが該サードパーティアプリケーションに個別に情報を提供しないかぎり個人化されない。従って、前記ユーザは、前記ソーシャルネットワーキングウェブサイトおよび前記サードパーティアプリケーションの両方から個人化されたコンテンツを受信するために、これら両方に対して個別のデータセットを提供しなければならない。前記サードパーティアプリケーションは、前記ユーザに対応付けられた前記ソーシャルネットワーキングウェブサイトによって記憶されたユーザデータにアクセスすることができない。
【発明の概要】
【０００６】
サードパーティアプリケーションとの個人化されたインタラクションを提供するために、ソーシャルネットワーキングウェブサイトは、サードパーティアプリケーションサーバとの間で、そのユーザについて記憶された情報を共用する。前記ソーシャルネットワーキングウェブサイト内で実行されるよう構成されたサードパーティアプリケーションは、前記ユーザについて記憶された情報にアクセスし、前記ユーザに固有の情報に基づいてコンテンツページを構成することができる。その結果、前記ソーシャルネットワーキングウェブサイトのユーザは、前記サードパーティアプリケーションから個人化されたコンテンツまたは情報を受信することができる。前記ユーザについて記憶された情報は、該ユーザの関心事、好み、人口統計学的情報等の情報、および、該ユーザの友達を特定する情報を含む。前記ユーザの友達を特定する情報から、該友達に関連した追加的なコンテンツは、アクセスされることができ、最初のユーザのためのコンテンツページを構成するために使用可能である。例えば、サードパーティアプリケーションは、ソーシャルネットワーキングウェブサイトのユーザの好みの歌のリストおよび該ソーシャルネットワーキングウェブサイトからのデータを提供し、さらに、前記ソーシャルネットワーキングウェブサイトのユーザに関連した1または複数の追加的なソーシャルネットワーキングウェブサイトのユーザの好みの歌を提供することができる。
【０００７】
一実施の形態において、ユーザは、サードパーティアプリケーションにアクセスすることを要求するリクエストを前記ソーシャルネットワーキングウェブサイトに送る。前記ソーシャルネットワーキングウェブサイトは、前記リクエストに関連したサードパーティアプリケーションサーバを特定し、前記ユーザが前記ソーシャルネットワーキングウェブサイトによって維持されているユーザプロフィールに関連していることを確認する。例えば、前記ソーシャルネットワーキングウェブサイトは、前記ユーザに関連したユーザプロフィールを特定するために、前記ユーザに対してユーザ名およびパスワード等のユーザ識別情報をリクエストする。前記ソーシャルネットワーキングウェブサイトは、前記リクエストおよびユーザ識別子を前記サードパーティアプリケーションサーバに送信する。さらに、前記ソーシャルネットワーキングウェブサイトは、前記サードパーティアプリケーションサーバに対して、前記ユーザの友達のデータ、該ユーザの直近に追加された友達、該ユーザの画像または他のユーザのデータのような、前記ユーザに関連したユーザプロフィールからのデータのサブセットを送信する。ソーシャルネットワーキングウェブサイトのユーザのプライバシーを維持するために、前記ソーシャルネットワーキングウェブサイトは、先ず、各ユーザプロフィールに関連したプライバシー設定を調べ、視聴しているユーザまたはサードパーティアプリケーションが利用できないとユーザが設定したデータは前記サードパーティアプリケーションに送信しない。その後、前記サードパーティアプリケーションは、前記ソーシャルネットワーキングウェブサイトによって提供されたリクエスト、ユーザ識別子および追加的なデータに基づいてアプリケーションコンテンツを生成する。前記サードパーティアプリケーションは、前記ソーシャルネットワーキングウェブサイトからの前記ユーザ識別子に基づいたデータを直接にリクエストすることもできる。いずれの場合も、前記アプリケーションコンテンツは、前記ユーザ識別子および追加的なデータに基づいてそのまま個人化される。一実施の形態において、前記個人化されたアプリケーションコンテンツは、例えば、ユーザの好み、関心事、人口統計学的情報、該ユーザに関連した他のユーザ、最近の活動または1または複数の他のユーザとの提携等に基づいて、直接的に該ユーザに固有のものとなる。他の実施の形態において、前記アプリケーションコンテンツは、当該ユーザの友達についての情報、例えば、該ユーザの友達に関連した関心事、人口統計学的情報およびその他のデータに基づいて、そのまま該ユーザに対して個人化される。このようにして、前記サードパーティアプリケーションは、前記ソーシャルネットワーキングウェブサイトが該ユーザおよび／または該ユーザの友達について維持している情報に基づいているので、前記ユーザにとって直接関心の高いコンテンツを提供でき、一般的(包括的)なコンテンツに限定されない。
【０００８】
代案として、前記ユーザは、最初に、アプリケーションにアクセスすることを要求するリクエストを前記サードパーティアプリケーションサーバに送信する。そして、該サードパーティアプリケーションサーバはこのリクエストを前記ソーシャルネットワーキングウェブサイトに送り、該ソーシャルネットワーキングウェブサイトは、例えば、前記ユーザが前記ソーシャルネットワーキングウェブサイトにログインするようリクエストすることによって、前記ユーザのユーザプロフィールが前記ソーシャルネットワーキングウェブサイトに記憶されているか否かを判定する。その後、前記ソーシャルネットワーキングウェブサイトは、前記ユーザに関連したプライバシー設定を調べることによって、前記サードパーティアプリケーションサーバにどのデータが利用可能であるのかを判定する。そして、前記ソーシャルネットワーキングウェブサイトは、前記プライバシー設定に応じて、前記サードパーティアプリケーションサーバにデータを送る。そして、前記提供されたデータを使用してアプリケーション出力が生成され、前記サードパーティアプリケーションサーバによって前記ユーザに表示される。
【０００９】
本明細書に記載された特徴および利点は本発明の特徴および利点のすべてではなく、特に、多くの他の特徴および利点が、図面、詳細な説明および特許請求の範囲から、当業者に明白であろう。さらに、本明細書に使用される言語は、主に読み易さおよび教示目的で選択されたものであり、本発明の主題を限定し、その境界を規定するために選択されたものではない。
【図面の簡単な説明】
【００１０】
【図１】ソーシャルネットワーキングウェブサイトとサードパーティアプリケーションサーバとの間でユーザデータを共用するためのシステムを示す高レベルブロック図。
【００１１】
【図２】サードパーティアプリケーションサーバとの間でユーザデータを共用するためのソーシャルネットワーキングウェブサイトのアーキテクチャを示すブロック図。
【００１２】
【図３】ソーシャルネットワーキングウェブサイトによって受信されたアプリケーションリクエストに関連したサードパーティアプリケーションサーバを特定するためのアプリケーション識別モジュールを示すブロック図。
【００１３】
【図４】サードパーティアプリケーションサーバとソーシャルネットワーキングウェブサイトとの間におけるユーザデータの共用を示すイベント図。
【００１４】
【図５】サードパーティアプリケーションサーバとソーシャルネットワーキングウェブサイトとの間においてユーザデータを共用する方法の他の例を示すイベント図。
【００１５】
図は、例示目的でのみ本発明の実施の形態を図示するものである。当業者に容易に理解されるように、以下の説明から、ここに例示する構成および方法の他の実施の形態が本発明の原理を逸脱することなく使用可能である
【発明を実施するための形態】
【００１６】
図1は、ソーシャルネットワークウェブサイト（社交ネットワーク用ウェブサイト）130とサードパーティアプリケーション（第三者のアプリケーション）140との間でユーザデータを共用するためのシステム環境を示す高レベルのブロック図である。前記システム環境は、1または複数のクライアント装置110と、サードパーティアプリケーションサーバ（第三者アプリケーションサーバ）120と、ソーシャルネットワークホストサイト130と、ネットワーク140とからなる。代案として、異なるおよび/または追加的なモジュールが前記システム環境に含まれていてもよい。
【００１７】
前記クライアント装置110a...は、ネットワーク140を介してデータを送信および/または受信し、ユーザ入力を受信する1または複数のコンピューテイング装置を具備する。例えば、クライアント装置110は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン(多機能電話機)、パーソナルディジタルアシスタント(PDA)、モバイルコンピューテイング装置、または、コンピューテイング機能およびデータ通信能力を有するその他任意の装置であってよい。
【００１８】
サードパーティアプリケーションサーバ120は、単一のDNSエントリ(例えば、www.domainA.com)またはこれに関連するDNSエントリ(例えば、www.domainA.comという基本名を持つ記録)等の1または複数の識別子に対応付けられたモバイルコンピューテイング装置またはバーチャルマシーンのようなソースを具備している。前記サードパーティアプリケーションサーバ120は、クライアント装置110またはソーシャルネットワークホストサイト130によるリクエストに応じて、ネットワーク140を介して、クライアント装置110またはソーシャルネットワークホストサイト130との間でデータ、情報またはサービスを通信しまたは共用する。例えば、前記サードパーティアプリケーションサーバ120は、ネットワーク140を介してクライアント装置110からデータを受信し、該受信したデータを処理し、前記ネットワーク140を介して出力データを前記クライアント装置110に送信する。前記サードパーティアプリケーションサーバ120は、前記ソーシャルネットワークェブサイトのランタイム環境内で実行するよう構成されたアプリケーションを提供する。前記サードパーティアプリケーションサーバ120によって提供されるアプリケーションの例としては、ネットワーク140を介してデータまたはその他の情報をクライアント装置110に提供するオンライン販売、オンラインオークション、贈答、ミーティング、イベント管理、掲示板またはその他のアプリケーションを含む。
【００１９】
前記サードパーティアプリケーションサーバ120によって提供されるアプリケーションは、前記ソーシャルネットワークホストサイト130内における向上したコンテンツおよびインタラクティビティ(相互方向性)を実現し、ソーシャルネットワークホストサイト130は前記ソーシャルネットワークウェブサイトにおいて提供される各アプリケーション毎のアプリケーションオブジェクトを維持する。アプリケーションの一例は向上したメッセージサービスであり、該向上したメッセージサービスにおいて、メンバーは、他のメンバーに対してバーチャルなオブジェクトおよび任意のメッセージを送ることができる。このようにして、前記アプリケーションによって提供される機能の使用は、該アプリケーションに関連するソーシャルネットワークホストサイト130のユーザによる動作を構成する。さらに、上記例について、前記バーチャルなギフトまたはメッセージの受領は、前記アプリケーションに関連する動作として考えられる。故に、動作は、受動的なものでよく、メンバーによる能動的な参加を必要としない。提供されるアプリケーションの範囲および種類は、当該アプリケーションの開発者の想像力および創作力によってのみ制限される。アプリケーションは適宜クライアント側コードを使用してよいが、アプリケーションは、一般的に、前記サードパーティアプリケーションサーバ120でサーバ側コードとして記載される。
【００２０】
前記ソーシャルネットワークホストサイト130は、1または複数のユーザがネットワーク140を使用して相互に交流(インタラクト)することを可能にする。例えば、前記ソーシャルネットワークホストサイト130は、“ソーシャルネットのメンバー”または“メンバー”とも言われる前記ソーシャルネットワークホストサイト130のユーザを記述するユーザプロフィールまたはユーザの好み等のデータを記憶し、さらに、複数の異なるユーザ間の1または複数の関係を記述するデータをも記憶する。前記ソーシャルネットワークホストサイト130の各ユーザは、親戚、友達、仕事の同僚、同一の団体のメンバー、同一の教育機関の同窓生等の関係を通して、1または複数の他のユーザに関連付けられる。上記のユーザ記述を容易にするために、上記のまたは他の態様のうちのいずれかで他の特定のユーザに関連した他のユーザは、前記特定のユーザの“友達”と言うことにする。
【００２１】
従って、前記ソーシャルネットワークホストサイト130は、そのメンバーに対して、該ウェブサイトの他のメンバーと通信し、インタラクトする可能性を提供する。使用時において、メンバーは、前記ソーシャルネットワークホストサイト130に接続し、該メンバーが接続されることを希望する多数の他のメンバーに対する接続を追加する。ここで、“友達”という用語は、あるメンバーが該ウェブサイトを介して接続、関連または関係を形成した他のメンバーを意味する。接続は、例えば、前記メンバーが友達としたい特定の他のメンバーを選択することによって明確に追加され、または、メンバー(すなわち、同一の教育機関の同窓生)の共通の特性に基づいて前記ソーシャルネットワークホストサイト130によって自動的に作成され得る。ソーシャルネットワーキングにおける接続は双方向であり(しかし、必ずしも双方向である必要は無い)、従って、“メンバー”および“友達”という用語は、基準となる枠組みに依存する。例えば、BobとJoeとが、当該ウェブサイトにおいて共にメンバーであり、互いに関係している場合、BobおよびJoeの両メンバーは、互いに友達である。メンバー間の関係は直接的な関係であるが、ソーシャルネットワークホストサイト130のある実施の形態は、1または複数のレベルの関係を介した間接的なものであってもよい。さらに、前記友達という関係は、メンバーが実生活で実際に友達であることを必要としない(一般的に、メンバーのうちの一方が会社または事業体である場合にそうである)。これは、単に、前記ソーシャルネットワークウェブサイトにおける関係を示す。
【００２２】
前記ソーシャルネットワークホストサイト130は、メンバーが相互に通信して、彼らの友達が関わっている活動等の情報、彼らの友達がインストールしているアプリケーション、彼らの友達が他の友達の活動についてなしたコメント等々を取得することを可能にする様々なメカニズムを提供する。メンバーが相互に通信することを可能にする前記メカニズムの例としては、
・メンバーがEメールによって通信することを可能にするEメールチャンネル。
・メンバーに対して、該メンバーが関わる活動が当該ソーシャルネットワークで発生したことを知らせるメッセージを伝える通知チャンネル。
・ユーザ間で1または複数の招待を伝える招待チャンネル。この招待とは、他のメンバーに何かをするよう促すためにあるメンバーによって送られるメッセージである。例えば、あるメンバーが彼の友達に対してアプリケーションをインストールするよう促すことができる。
・メンバーが友達間で情報を共用することを可能にするウォールポストチャンネル。ウォールとは、メンバーが友達間で興味ある情報を共用することを可能にするアプリケーションである。メンバーのウォールに書かれたメッセージはウォールポストと呼ばれる。メンバーは、彼の友達のすべてのみならず彼自身のウォールに掲載することができる。メンバーの友達は誰でも、彼のウォールに書かれたものを見ることができる。
・メンバーの友達によってなされる活動のメンバーを更新するニュースフィードチャンネル。該ニュースフィードチャンネルは、該メンバーの友達がアプリケーションを追加する、写真についてのコメントをする、新たな友達を作る等の様々な活動を行うのに伴い、常時更新される。
・メンバーによってなされた活動をリストするミニフィード(mini-feed)を提供するミニフィードチャンネル。例えば、前記メンバーは、彼のソーシャルネットワークに新たな友達を追加し、または、あるアプリケーションをインストールしたかもしれない。メンバーのすべてのこのような活動は、該メンバーのミニフィードにリストされる。
【００２３】
他のメンバーとのインタラクションに加えて、前記ソーシャルネットワークホストサイト130は、該ウェブサイトによってサポートされる様々な種類の事項について活動を行う可能性をメンバーに提供する。これらの事項としては、前記ウェブサイトのメンバーが属するグループまたはネットワーク(ここで“ネットワーク”とは、物理的な通信ネットワークではなく、人のソーシャルネットワークを意味する)、メンバーが興味をもっているであろうイベントまたはカレンダーエントリー、メンバーが前記ウェブサイトを介して使用するかもしれないコンピュータに基づくアプリケーション、メンバーが前記ウェブサイトを介して商品を買いまたは売ることを可能にする取引を含む。これらは、メンバーがソーシャルネットワークホストサイト130で関与する事項の数例であり、多くのその他の例も可能である。
【００２４】
さらに、前記ソーシャルネットワークホストサイト130は、該ソーシャルネットワークホストサイト130上でメンバーがインタラクトする様々異なる事項について多数のオブジェクトを維持する。一実施の形態において、これらのオブジェクトとしては、ユーザプロフィール、グループオブジェクト、イベントオブジェクト、アプリケーションオブジェクト(以下、それぞれ、“グループ”、“イベント”および“アプリケーション”と言う)がある。一実施の形態において、オブジェクトは、前記ソーシャルネットワークホストサイト130によって、それに関連する事項の各インスタンス毎に記憶される。例えば、ユーザプロフィールは前記ソーシャルネットワークホストサイト130に参加する各メンバー毎に記憶され、グループは前記ソーシャルネットワークホストサイト130に定義されている各グループ毎に記憶される。
【００２５】
前記ソーシャルネットワークホストサイト130のメンバーは該ソーシャルネットワークホストサイト130で複数のアクションを取ることがあるが、各アクションは1または複数のオブジェクトと対応付けられる。1つのオブジェクトに関してメンバーがなすアクションの種類は、各オブジェクト毎に定義され、該オブジェクトによって表される事項の種類に大いに依存する。1つの特定のアクションは、多数のオブジェクトに対応付けられてよい。以下で説明されているのは、前記ソーシャルネットワークホストサイト130について定義される多数の特定種類のアクションの例、および、各オブジェクト毎に行い得る多数のアクションである。ここで説明されるこれらのオブジェクトおよびアクションは単に例示的なものであり、数的に無制限の変形例および特徴がソーシャルネットワークホストサイト130上で提供され得る、ということが理解されよう。
【００２６】
前記ソーシャルネットワークホストサイト130は、該ホストサイト130の各メンバー毎のユーザプロフィールを維持する。ある特定のメンバーが他のメンバーに対してとるアクションは、データベースまたは他のデータ保存場所に維持されている情報を介して、各ユーザのプロフィールに対応付けられる。例えば、このようなアクションは、特に、前記他のメンバーに対する接続を追加する、前記他のメンバーにメッセージを送る、前記他のメンバーからのメッセージを読む、前記他のメンバーに対応付けられたコンテンツを見る、他のメンバーによって掲示されたイベントに参加することを含む。さらに、他のオブジェクトに関して以下に説明する多くのアクションは、特定のメンバーに向けられるものであり、従って、これらのアクションはこれらのメンバーにも対応付けられる。また、ユーザのプロフィールは、様々なユーザの仕事経験、教育的な経歴、趣味または好み、場所等の特性を記述し、さらに、同様または共通の仕事経験、趣味または教育的な経歴等を有するユーザを示すデータ等のユーザ間の1または複数の関係を記述するデータを含む。さらに、前記ソーシャルネットワークホストサイト130は、ユーザが定義した複数の異なるユーザ間の関係を含み、ユーザが他のユーザとの関係をカスタマイズすることを可能にする。例えば、このユーザ固有のカスタマイズは、前記ソーシャルネットワークホストサイト130のユーザが同一の教育的な経歴を持つまたは同一場所にいる他のユーザ等の、ユーザの現実の関係に対応する他のユーザとの関係を発生することを可能にする。
【００２７】
メンバーのグループまたはネットワークについてグループを定義してよい。例えば、メンバーは、特定のバンドのファンクラブとなるグループを定義してよい。前記ソーシャルネットワークホストサイト130は、前記ファンクラブとなるグループを維持し、前記バンド、該バンドによるメディアコンテンツ(例えば、歌または音楽のビデオ)、および、当該グループのメンバーが該バンドについてコメントすることができるインターネット掲示板についての情報を含んでいてよい。従って、グループに関して可能なメンバーのアクションは、当該グループに参加する、コンテンツを見る、歌を聴く、ビテオを見る、掲示板にメッセージを掲載することを含む。
【００２８】
同様に、バースデイパーティー等の特定のメッセージについて、イベントが定義されてよい。メンバーは、時間および場所ならびに招待された人のリスト等の情報を定義することによってイベントをクリエイトしてよい。他のメンバーは、招待を受諾し、当該イベントについてコメントし、彼ら自身のコンテンツ(例えば、該イベントの画像)を掲載し、および、該イベントについて前記ソーシャルネットワークホストサイト130によって可能化された他の任意のアクションを行ってよい。従って、該イベントに招待された人のみならず該イベントのクリエータは、該イベントに関連した様々なイベントを実行してよい。
【００２９】
さらに、前記ソーシャルネットワークホストサイト130は、メンバーが彼らのプロフィールにアプリケーションを追加することを可能にする。前記アプリケーションは、前記ソーシャルネットワークホストサイト130内においてコンテンツおよび双方向性(interactivity)を向上させ、該ソーシャルネットワークホストサイト130は、当該システム環境で提供される各アプリケーション毎にアプリケーションオブジェクトを維持する。前記アプリケーションは、サードパーティアプリケーションサーバ120を介して、ウェブサイトオペレータおよび／またはサードパーティディベロッパ(developer)によって提供され得る。アプリケーションの一例としては向上したメッセージサービスがあり、ここにおいて、メンバーは、他のメンバーに対してバーチャルオブジェクト(例えば、“ギフト”または“花”)および任意のメッセージを送ることができる。前記アプリケーションによって提供される機能の使用は、該アプリケーションに関する当該メンバーによるアクションを構成することがきる。さらに、バーチャルギフトまたはメッセージの受信も、アプリケーションに関するアクションとして考えられることができる。故に、アクションは受動的であり、メンバーによる能動的な参加を必要としない。ここで提供されるアプリケーションの範囲および種類は、アプリケーションディベロッパの想像力および創造力(クリエイティビティ)によってのみ制限される。一般的に、ユーザが当該サイトにログインすると、前記システム環境は、ユーザがどのアプリケーションをインストール(例えば、登録)し、その後、前記ソーシャルネットワークホストサイト130の基本的な機能との組み合わせで、前記アプリケーションをロードし、実行する。
【００３０】
さらに、前記ソーシャルネットワークホストサイト130は、複数の異なるユーザがネットワーク140を使用して1または複数のメンバーと通信することを可能にする。例えば、前記ソーシャルネットワークホストサイト130は、クライアント装置110Aに関連したユーザがネットワーク140を使用してクライアント装置110Bに関連したユーザと通信することを可能にする。図2を参照して、前記ソーシャルネットワークホストサイト130についてさらに詳細に説明する。
【００３１】
前記ネットワーク140は、有線および無線の通信システムを使用して、ローカルエリアおよび／またはワイドエリアネットワークの組合せからなる。さらに、代案として、前記ネットワーク140は、前記クライアント装置110、サードパーティアプリケーションサーバ120およびソーシャルネットワークホストサイト130が相互に直接通信するピアツーピア(peer-to-peer)構造によって代替される。
【００３２】
図2は、前記ソーシャルネットワークホストサイト130の一例のブロック図である。該ソーシャルネットワークホストサイト130は、通信モジュール205と、ユーザプロフィール記憶部210と、イベント記憶部220と、グループ記憶部230と、アクションログ240と、ユーザログ250と、ニュースフィードジェネレータモジュール260と、アプリケーション識別モジュール270とを含む。他の実施の形態において、前記ソーシャルネットワークホストサイト130は、複数の異なるおよび／または追加的なモジュールを含む。
【００３３】
前記通信モジュール205は、前記ソーシャルネットワークホストサイト130を、前記ネットワーク140、または1または複数のクライアント装置110および／またはサードパーティアプリケーションサーバ120にリンクする。前記通信モジュール205は、開放型システム間相互接続基本基準モデル(OSIモデル)のようなネットワーキングプロトコルスタックをサポートするネットワークインターフェースである。故に、前記通信モジュール205は、前記ソーシャルネットワークホストサイト130が、有線および無線の通信システムを使用して、ネットワーク140と通信することを可能にする。
【００３４】
前記ユーザプロフィール記憶部210は、ソーシャルネットワークホストサイト130の複数の異なるユーザに対応付けられたデータを含む。ユーザが前記ソーシャルネットワークホストサイト130によって提供されるサービスへのアクセスを要求すると、該ユーザについてのユーザプロフィールが生成され、ユーザプロフィール記憶部210に記憶される。前記ユーザプロフィールは、人口統計学的情報、地理的位置、教育的な経歴、雇用状況、ユーザの関心事、ユーザの趣味および／またはその他の追加的な記述データ等の、前記ユーザに関連した1または複数の特性を記述するデータを含む。前記ユーザプロフィールは、さらに、該ユーザプロフィールにおける情報、ユーザコンタクト情報、または、該ユーザの友達、ネットワーク、グループなどのユーザ定義による他のユーザとの関係が他のユーザにどの程度利用可能なのかを示すプライバシー設定状態を含む。前記ユーザプロフィール記憶部210は、記憶されたユーザプロフィールを、ソーシャルネットワークホストサイト130のユーザを固有に識別するために使用されるソーシャルネットワーキング識別子によって整理することができる。
【００３５】
前記イベント記憶部220は、前記ソーシャルネットワークホストサイト130の外で発生様々なイベントを記述するデータを含む。例えば、前記イベント記憶部220は、現実世界で発生するコンサート、映画、ミーティングまたはその他の物的イベント、前記ソーシャルネットワークホストサイト内またはその他のオンラインサイトで発生するイベントを記述するデータを含む。前記イベント記憶部220は、イベントの名前、イベントの開始、終了時間、イベントの場所(例えば、市またはウェブサイト)、イベントに参加しているユーザのリストまたはその他の記述データを含む。さらに、前記イベント記憶部220は、イベントの写真、ビデオまたは該イベントの掲示板等の外イベント終了後に該イベントを要約するデータまたは情報を含むことができる。前記イベント記憶部220は、前記ユーザプロフィール記憶部210と通信することができ、ユーザをイベントと対応付けることができる。前記イベント記憶部220は、記憶された各イベントを固有に識別するイベント識別子に従って、記憶されたイベントデータを整理することができる。
【００３６】
前記グループ記憶部230は、ソーシャルネットワークホストサイト130のユーザの様々なグループまたはユーザ間の関係を記述するデータを含む。例えば、前記イベント記憶部220は、グループ名および前記グループに対応付けられたソーシャルネットワーク識別子のリストを記述するデータを含む。さらに、前記グループ記憶部230は、掲示されまたはその他の態様でグループのメンバーに属する写真、ビデオデータ、オーディオデータもしくはテキストデータグループ等の、グループまたは該グループの1または複数のメンバーを記述するデータまたは情報を含むことができる。前記グループ記憶部230は、前記ユーザプロフィール記憶部210、前記イベント記憶部220および／または前記アクションログ240と通信することができ、イベント、アクションおよび／またはユーザがグループに対応付けられることを可能にする。前記グループ記憶部230は、記憶された各グループを固有に識別するグループ識別子に従って、記憶されたイベントデータを整理することができる。前記様々な記憶部は、好ましくは冗長的な分散型アーキテクチャを使用して、データベース管理システムによって管理される。これらの記憶部の一部は、性能および拡張性を向上させるために、所望に応じてディスクまたはメモリに保持され得る。
【００３７】
前記アクションログ240は、前記ソーシャルネットワークホストサイト130内のユーザによってとられた様々なアクションを記述するデータを含む。記憶されたアクションは、前記ソーシャルネットワークホストサイト130によって露出されるアプリケーションプログラミングインターフェースを介して、他のサイトのみならず、前記ソーシャルネットワークホストサイト130内で発生し得る。一実施の形態において、前記ソーシャルネットワークホストサイト130は、前記アクションログをエントリのデータベースとして維持する。前記ソーシャルネットワークホストサイト130でアクションがとられると、該アクションについてのエントリが前記アクションログに追加される。前記ソーシャルネットワーク内におけるユーザのアクションの一例としては、友達にメッセージに送る、サードパーティーアプリケーションを使用する、グループに参加する、他のユーザに対する関係を追加する、他のユーザに対する関係を除去する、記憶されたユーザプロフィールを修正する、イベント記述を生成すること、または、前記ソーシャルネットワークホストサイト130によって記憶されたデータの修正もしくは読み出しがある。前記ソーシャルネットワークホストサイト130の外でとられるアクションの一例としては、サードパーティアプリケーションサーバ120によって提供されるオンラインマーケットプレイスを使用して製品またはサービスを購入しもしくは精査する、サードパーティアプリケーションサーバ120によって提供されるウェブサイトに登録する、サードパーティアプリケーションサーバ120によって提供されるウェブサイトに情報を要求すること、または、サードパーティアプリケーションサーバ120上で行われる上記と同様なアクションを含む。前記アクションログは、アクションしているユーザ、該アクションが発生した時間、該アクションをとったユーザの識別子、該アクションが向けられたメンバーの識別子、とられたアクションの種類の識別子、該アクションが作用したオブジェクト(例えば、アプリケーション)の識別子、該アクションに関連したコンテンツを記述するデータを含む。なお、前記ソーシャルネットワークホストサイト130内で可能な多種類のアクションはすべての上記情報を必要とするわけではない。例えば、メンバーが該メンバーに関連した画像を変更する場合、そのアクションは、該メンバーの識別子、画像変更を定義するアクションタイプ、および、コンテンツとしての前記画像もしくは該画像へのリンクと共に記録されてよい。前記アクションログ240は、前記ユーザプロフィール記憶部210、前記イベント記憶部220および／または前記グループ記憶部230と通信でき、イベント、ユーザおよび／またはグループがアクションと対応付けられることを可能にする。前記アクションログ240は、記憶された各アクションを固有に識別するアクション識別子に従って、記憶されたアクションデータを整理することができる。前記アクションログ240は、当該アクションが発生した時に基づいて該アクションを記憶することができる。例えば、前記アクションログ240は、直近のアクションが最初に読み出されるよう、後入れ先出し(LIFO)ログ構造を使用してよい。一実施の形態において、1つのアクションログ240は、前記ソーシャルネットワークホストサイト130のすべてのユーザのアクションを記憶し、該ユーザの識別子に従って前記記憶したアクションを整理し、または、該アクションログを仕切って複数の異なるユーザに記憶領域を割り当てる。代案として、前記ソーシャルネットワークホストサイト130は、例えば系列、グループ、地理などの、ユーザ母集団の複数の異なるサブセット(小集団)に対応付けられた多数のアクションログ240を含む。
【００３８】
各ユーザ毎に、アクションログ240から抽出されたアクションに基づいてユーザログ250が維持される。ある特定のユーザログ250は、ユーザアクションを記述するアクションログ240からのデータを含み、該アクションに対応付けられまたは該アクションによって影響される前記ユーザプロフィール記憶部210、イベント記憶部220および／またはグループ記憶部230からの追加的なデータを含むことができ、当該アクションデータに更に注釈付けしまたはタグ付けすることができる。前記ユーザログ250は、前記アクションおよび関連データを古い順に整理することができ、当該ユーザが該ユーザによってアクションが実行された順序を記録することを可能にし、より最近のユーザアクションに対するより容易なアクセスを可能にする。
【００３９】
前記ニュースフィードジェネレータ260は、各ユーザ毎に、ユーザログ250と通信でき、該ユーザに関連したユーザログ250のコンテンツに基づいて1または複数のストーリーからなるニュースフィードを生成する。ストーリーとは、前記ユーザログ250から該ユーザのアクションのうちの1または複数要約し、凝縮し、抽出したメッセージである。前記生成されたニュースフィードストーリーは、例えば前記ユーザの友達である1または複数の関連ユーザに送信されることができ、前記ユーザのアクションを前記関連ユーザと共用可能にする。前記ニュースフィードジェネレータ260は、前記ユーザプロフィール記憶部210およびグループ記憶部230に明記された当該ユーザの他のユーザおよびグループとの関係を説明する前記ユーザログ250のコンテンツにアフィニティアルゴリズムを適用して、前記ユーザログ250における前記関連ユーザに配布すべき1または複数のストーリーの基礎とすべきアクションを選択する。前記ユーザの他のユーザおよびグループとの関係を説明することによって、前記ニュースフィードジェネレータ260は、前記ユーザログ250から、他の関連ユーザに最も関係のあるデータを決定する。
【００４０】
一実施の形態において、前記ニュースフィードジェネレータ260は、1日または1週間などの選択された過去の時間にわたって発生した全てのアクションについて、特定のユーザのユーザログ250のコンテンツを調べる。そして、前記ニュースフィードジェネレータ260は、前記ユーザログ250の1または複数のアクションに基づいてメッセージ(“ストーリー”)を生成する。例えば、前記ニュースフィードジェネレータ260は、特定のユーザ(例えば、ユーザA)、アクションの種類、および、任意に、該アクションによって影響されるユーザ、グループまたは他のエンティティ(例えば、“ユーザAが参加しているグループ1”)を特定するメッセージを生成する。様々なメッセージについて、前記ニュースフィードジェネレータ260は、特定のユーザに関連した複数の異なるメッセージに対する様々な関連ユーザの関心事を判定する。例えば、前記ニュースフィードジェネレータ260は、どれくらい最近に関連ユーザが特定のユーザからのデータまたは該特定のユーザに関連したデータにアクセスしたか、どれくらい頻繁に関連ユーザが特定のユーザからのデータまたは該特定のユーザに関連したデータにアクセスしたか、前記特定のユーザおよび関連ユーザのプロフィールにおける共通または同様なデータの量、および／または、特定のメッセージに対するユーザの関心事を示す他のファクターを判定する。関連ユーザの関心事について判定されたレベルに基づいて、当該情報メッセージに対して最も高い関心を有する関連ユーザに対してメッセージが送られる。例えば、特定のユーザAについて、関連ユーザB, C, D, Eのユーザログが選択された時間処理されることができ、該ユーザB, C, D, Eのアクションに基づいて前記ユーザAのために1または複数のメッセージが構成される。このようにして、前記ユーザA は、“ユーザBおよびCがイベントに参加している"または“ユーザCがユーザDにキブトを送った”または“ユーザDは現在ユーザEと友達である”のようなメッセージを受信することができる。
【００４１】
前記アプリケーション識別モジュール270は、1または複数のサードパーティアプリケーションサーバ120に関連したデータを含み、前記ユーザプロフィール記憶部210および通信モジュール205と通信する。明確にするために、前記アプリケーション識別モジュール270を、アプリケーション識別モジュール270の一例を示している図3を参照して説明する。一実施の形態において、前記アプリケーション識別モジュール270は、前記ソーシャルネットワークホストサイト130と通信する様々なサードパーティアプリケーションサーバ120と対応付けられた1または複数のアプリケーションプロフィール300を含む。図3に示された前記アプリケーションプロフィール300は、アプリケーション識別子310、アプリケーションアドレス320およびアプリケーションデータ330を含む。
【００４２】
前記ソーシャルネットワークホストサイト130は、クライアント装置110から、サードパーティアプリケーションサーバ120によって提供される特定のサードパーティアプリケーションのために前記サードパーティアプリケーションサーバ120にアクセスするリクエストを受信する。該リクエストは、当該サードパーティアプリケーションに関連したアプリケーション名、識別コードなどのアプリケーション識別子310を含む。このようにして、前記アプリケーション識別子310は、1または複数のサードパーティアプリケーションサーバ120によって提供された様々なアプリケーションを固有に識別することが可能になる。受信された前記リクエストは前記アプリケーション識別モジュール270に送られ、該アプリケーション識別モジュール270は、前記アプリケーション識別子310を使用して、前記受信されたアプリケーション識別子310に関連したアプリケーションプロフィール300に含まれるアプリケーションアドレス320を特定することによって、前記受信したリクエストに関連するサードパーティアプリケーションサーバ120を特定する。アプリケーションプロフィール300に含まれるアプリケーションアドレス320は、統一資源識別子(URI)、インターネットプロトコル(IP)アドレスを特定するデータ、または、リクエストされたアプリケーションを提供するサードパーティアプリケーションサーバ120にアクセスする方法を記述する他のデータを含む。
【００４３】
また、前記アプリケーションプロフィール300は、アプリケーションデータ330を前記アプリケーション識別子310およびアプリケーションアドレス320に関連付ける。前記アプリケーションデータ330は、前記ソーシャルネットワークホストサイト130によって記憶され、サードパーティアプリケーションサーバ120に送信されるデータを特定する。例えば、前記アプリケーションデータ330は、地理的位置、教育的な経歴、雇用状況、職歴、ユーザの関心事、ユーザの趣味および／またはその他のアプリケーションコンテンツを構成するためにサードパーティアプリケーションサーバ120によってアクセスされる追加的な記述データ等の、記憶されたユーザプロフィールの1または複数のパラメータを特定する。一実施の形態において、前記アプリケーションデータ330は、“Facebook Markup Language”(FBML)またはデータの記憶および／または表示を記述するその他のプログラミング言語によって指定されるパラメータ名または識別子を使用する。図3に示された例において、前記ソーシャルネットワークホストサイト130は、識別子“FB_SIG_ADDED”を使用して、ユーザが依然 サードパーティアプリケーションサーバ120にアクセスしたことがあるか否かを示すデータをリクエストし、識別子“FB_SIG_FRIENDS”を使用して、前記ソーシャルネットワークホストサイト130に対してユーザ友達のリストを記述するデータをリクエストし、識別子“FB_PROFILE_PIC”を使用して、ユーザプロフィールに関連した画像をリクエストする。図3に示されたアプリケーションデータ330は単なる一例であり、他の実施の形態においては、他の任意のパラメータ識別子または名が指定されてよい。アプリケーションデータ330は、サードパーティアプリケーションサーバ120に対するアクセスをリクエストしているユーザと関連したユーザプロフィールから読み出され、前記ソーシャルネットワークホストサイト130から前記サードパーティアプリケーションサーバ120に送信されるデータを指定される。一構成例において、アプリケーション識別モジュール270は、アプリケーションプロフィール300を記憶するためにリレーショナル(関係)データベースを使用する。
【００４４】
図4は、ユーザのプロフィールからのユーザデータがサードパーティアプリケーションサーバ120によってオクセスされ、アプリケーションコンテンツを個人化するために使用される処理を示すブロック図である。図4に示したアクションは、上記アクションを起こさせる命令を実行する様々なコンピュータシステムによって実現され得る。当業者に理解されるように、上記アクションの1または複数は、ハードウエアおよび／またはソフトウエアの実施の形態、または、これらの組合せで実現可能である。例えば、上記アクションを実行する命令は、コンピュータによって読み取り可能な記憶媒体内で実施される。他の実施の形態は、ここで説明したステップ以外および／またはこれらの追加としてのステップを含んでいてよい。
【００４５】
最初に、ソーシャルネットワークホストサイト130は、クライアント装置110から、サードパーティアプリケーションサーバ120によって提供されるアプリケーションにアクセスするリクエストを受信する。例えば、クライアント装置110のユーザは、サードパーティアプリケーションサーバ120にアクセスするために、“apps.facebook.com/fluff”という形態を有するURIなどの、サードパーティアプリケーションサーバ120によって提供されるアプリケーションを特定するURIを与える。該URIは、前記ソーシャルネットワークホストサイト130(“apps.facebook.com.")を特定し、リクエストされたアプリケーション(“fluff”)を特定する。従って、前記URIまたは他のアプリケーションリクエストは、前記リクエストされたアプリケーションに関連したサードパーティアプリケーションサーバ120を特定する(ステップ420)ために前記ソーシャルネットワークホストサイト130のアプリケーション識別モジュール270によって使用されるアプリケーション識別子を含む。例えば、前記ソーシャルネットワークホストサイト130にアクセスたるために使用されるURIまたはその他のアプリケーションリクエストに含まれるアプリケーション識別子310は、前記アプリケーション識別子310に関連したアプリケーションアドレス320を含むアプリケーションプロフィールを特定する(ステップ420)。例えば、前記リクエストされたアプリケーションに関連したアプリケーションアドレス320を含むアプリケーションプロフィールを識別するために、ハッシュ関数が前記受信されたURIまたはその他のアプリケーションリクエストに適用される。前記アプリケーションアドレス320は、受信されたアプリケーション識別子310に関連したサードパーティアプリケーションサーバ120にアクセスするためのURIである。前記アプリケーションアドレスは、前記アプリケーション名の先頭に追加され、前記サードパーティサーバにおけるサードパーティアプリケーションにアクセスするためのフル(完全)なURIを形成する。
【００４６】
前記ソーシャルネットワークホストサイト130は、前記リクエストをしているユーザがソーシャルネットワークホストウエブサイト430のメンバーであることを確認する(ステップ430)。一実施の形態において、前記ソーシャルネットワークホストウエブサイト430は、ユーザがログイン名およびパスワードまたは前記ソーシャルネットワークホストサイト130に関連したその他のユーザ証明情報を入力するようリクエストするメッセージをクライアント装置110に送信する。代案として、最初に前記ソーシャルネットワークホストサイト130によって受信された(ステップ410)アプリケーションリクエストは、ログイン名およびパスワードまたは前記アプリケーションをリクエストしている(ステップ410)ユーザのその他の証明情報を含む。そして、前記ソーシャルネットワークホストサイト130は、前記提供されたユーザ証明情報が本物であることを確認することによって前記ユーザがメンバーであることを確認する(ステップ430)。
【００４７】
前記リクエストしているユーザが前記ソーシャルネットワークホストウエブサイト430のメンバーであることを確認した(ステップ430)後、前記ソーシャルネットワークホストサイト130は、ユーザ識別子を前記サードパーティアプリケーションサーバ120に関連したアプリケーションアドレス320に送信する(ステップ440)。前記ユーザ識別子を送ることに加えて、前記ソーシャルネットワークホストサイト130は、さらに、前記サードパーティアプリケーションサーバ120に対してセッションキーを送信する(ステップ440)。前記セッションキーは、特定のユーザおよびセッションに固有に関連付けられており、前記ソーシャルネットワークホストサイト130と前記サードパーティアプリケーションサーバ120との間のデータ交換を特定するために使用される。さらに、前記セッションキーは前記ソーシャルネットワークホストサイト130が前記サードパーティアプリケーションサーバとデータ交換する時間長を指定するものであり、これにより、前記指定された時間長が経過した後には、前記ソーシャルネットワークホストサイト130と前記サードパーティアプリケーションサーバ120との間でデータは交換されない。代案として、前記セッションキーは、前記ソーシャルネットワークホストサイト130と前記サードパーティアプリケーションサーバ120とが無限の時間にわたってデータを交換できことを示し、前記リクエストしているユーザによって終了させられるまでデータ交換を可能にする。従って、前記セッションキーは、前記リクエストしているユーザに関連するソーシャルネットワーキングユーザプロフィールが存在していることを確認した(ステップ430)後、前記ソーシャルネットワークホストサイト130によって生成され、前記ソーシャルネットワークホストサイト130と前記サードパーティアプリケーションサーバ120との間のデータ交換を固有に特定するために使用される。一実施の形態において、前記ソーシャルネットワークホストサイト130は、前記サードパーティアプリケーションサーバ120に対して追加的なデータを送信する(ステップ440)。例えば、前記ソーシャルネットワークホストサイト130は、前記アプリケーションをリクエストしているユーザに関連したユーザプロフィールから、前記ソーシャルネットワークホストサイト130に関連付けられたアプリケーションデータ330によって指定されるデータを読み出す。これにより、前記ソーシャルネットワークホストサイト130は、前記サードパーティアプリケーションサーバ130によって提供されたデータをカスタマイズできるよう、前記リクエストしているユーザのユーザプロフィールからのデータを前記サードパーティアプリケーションサーバ120に提供する。
【００４８】
前記サードパーティアプリケーションサーバ130からユーザ識別子および追加的なデータを受信した後、前記サードパーティアプリケーションサーバ120は、前記受信したデータを処理して(ステップ450)、アプリケーションコンテンツを生成する。前記サードパーティアプリケーションサーバ120は、前記受信したデータの処理中に、前記ソーシャルネットワークホストサイト130に対して、前記ユーザ識別子に関連付けられた追加的なデータをリクエストする。このようにして、前記サードパーティアプリケーションサーバ120は、前記サードパーティアプリケーションサーバ130から、前記リクエストしているユーザについての追加的な情報を取得することができ、特定のユーザデータに基づいて生成されたアプリケーションコンテンツを更に個人化することができる。例えば、前記サードパーティアプリケーションサーバ120は、前記リクエストしているユーザが最近友達として追加した他のメンバーを記述するデータをリクエストし(ステップ460)、または、前記リクエストしているユーザの友達によって最近実行されたアクションを記述するデータをリクエストする(ステップ460)。
【００４９】
上述の如く、前記ソーシャルネットワークホストサイト130に提供されたこのアプリケーションデータ330は、ユーザのユーザプロフィールからの任意のデータ、および、前記ユーザの友達のユーザプロフィールからの情報を含むことができる。一実施の形態において、前記提供されたアプリケーションデータ330は、前記ユーザおよび前記ユーザの友達のプライバシー設定に従って利用可能なデータに制限される。一実施の形態において、これは次のように実現される。先ず、前記ソーシャルネットワークホストサイト130は、上述の如く、前記ユーザデータおよびユーザの友達のテータのすべてを取得する。その後、前記ソーシャルネットワークホストサイト130は、前記リクエストしているユーザのユーザプロフィールの1または複数のプライバシー設定を評価し(ステップ465)、前記サードパーティアプリケーションサーバ120によってリクエストされたデータがサードパーティ(第三者)によってアクセスされ得るか否かを判定する。これにより、前記リクエストしているユーザは、前記プライバシー設定を修正することによって、前記ユーザプロフィールにおけるどのデータが前記サードパーティアプリケーションによってアクセス可能であるかを管理する。従って、前記サードパーティアプリケーションサーバ120は、前記ユーザプロフィールから特定のユーザによって選択されたデータをアクセスすることのみできる。同様に、前記サードパーティアプリケーションサーバ120は、前記リクエストしているユーザの友達等の追加的なユーザにデータをリクエストする場合、該追加的なユーザのプライバシー設定が調べられる。このようにして、前記サードパーティアプリケーションサーバ120が、前記追加的なユーザによって公に利用可能にされていない情報を前記追加的なユーザから受信することが阻止される。このようにして、前記ソーシャルネットワークホストサイト130が前記サードパーティアプリケーションサーバ120が該ホストサイト130から前記リクエストしているユーザに関連した情報にアクセスすることを可能にするが、前記アクセス可能な情報はユーザのプライバシー設定によって制限され、複数の異なるユーザが前記サードパーティアプリケーションサーバ120によってアクセス可能な情報の種類および量を管理することが可能になる。要するに、前記アプリケーションコンテンツは、現在のユーザのために個人化されるとともに、前記ユーザおよび前記ユーザの友達のプライバシー設定によって制限される。
【００５０】
その後、前記ソーシャルネットワークホストサイト130は、前記サードパーティアプリケーションサーバ120に対して、リクエストされたデータまたは該リクエストされたデータのサブセットを送信する(ステップ470)。そして、前記サードパーティアプリケーションサーバ120は、前記リクエストされたデータ、送信されたユーザ識別子およびその他の関連データに基づく出力メッセージまたはその他のデータ等のアプリケーションコンテンツを生成する(ステップ480)。理解されるように、このアプリケーションコンテンツは、少なくとも前記ユーザプロフィールデータ、且つ任意に、前記ユーザの友達のユーザプロフィールからの情報に基づいてそのまま前記ユーザに対して個人化される。このように生成された結果は、その後、前記サードパーティアプリケーションサーバ120から、前記結果が表示される(ステップ495)前記ソーシャルネットワークホストサイト130に送信される(ステップ490)。
【００５１】
前記ソーシャルネットワークホストサイト130と前記サードパーティアプリケーションサーバ120との間でユーザプロフィールデータを授受することにより、前記サードパーティアプリケーションサーバ120が前記ソーシャルネットワークホストサイト130によって記憶されたユーザデータに基づくユーザとのインタラクティビティ(双方向性)をカスタマイズすることが可能になる。このようにして、前記サードパーティアプリケーションサーバ120は、前記ソーシャルネットワークサイトユーザに対して、より関連性のある情報またはサービスを提供することができ、前記ソーシャルネットワークサイトユーザと前記サードパーティアプリケーションサーバ120との間のインタラクティビティを向上させることができる。
【００５２】
例えば、サードパーティアプリケーションがユーザの好みの歌詞を表示する機能を提供するとともに、前記サードパーティアプリケーションサーバ120からデータを読み出すことにより、前記アプリケーションがソーシャルネットワークユーザの1または複数の友達の好みの歌詞を表示することを可能にする、と仮定する。理解されるように、各ユーザは特有のユーザデータの組合せおよび友達を有するものなので、この情報は各ユーザに合わせて個々に調整される。このようにして前記アプリケーションコンテンツを個人化することによって、該アプリケーションは、前記ソーシャルネットワークホストサイト内全体で最もポピュラーな歌詞を単に表示する包括的なアプリケーションに比べて、ユーザにとってかなり興味深く関連性のあるものとなる。これは、ユーザがかれらの友達が何に興味があるのかにより関心があり、該ユーザに知られていない他人が何に興味があるのかに関心があるからである。さらに、前記ソーシャルネットワークホストサイト130によってユーザプロフィールデータへのアクセスを前記サードパーティアプリケーションサーバ120に提供することは、ユーザが前記サードパーティアプリケーションサーバ120に追加的なデータを提供することを要求する代わりに、前記サードパーティアプリケーションサーバ120が前記ユーザに社会的に関連性のある情報を初期表示することを可能にすることによって、前記サードパーティアプリケーションサーバ120とのユーザインタラクションを簡素化する。
【００５３】
図5は、ユーザデータへのアクセスを前記ソーシャルネットワークホストサイト130から前記サードパーティアプリケーションサーバ120に提供する方法の他の実施例を示すイベント図を示す。図5に示されたアクションは、プロセッサが該アクションを発生する命令を実行することによって実現され得る。当業者に理解され得るように、上記アクションの1または複数は、ハードウエアおよび／またはソフトウエアの実施の形態、または、これらの組合せで実現可能である。例えば、上記アクションを実行する命令は、コンピュータによって読み取り可能な記憶媒体内で実施される。他の実施の形態は、ここで説明したステップ以外および／またはこれらの追加としてのステップを含んでいてよい。
【００５４】
最初、前記サードパーティアプリケーションサーバ120は、クライアント装置110から、アプリケーションにアクセスするリクエストを受信する(ステップ510)。例えば、クライアント装置110のユーザは、サードパーティアプリケーションサーバ120によって提供されるアプリケーションを特定するサードパーティアプリケーションサーバ120にアクセスするためにURIまたはその他のアプリケーションリクエストを提供する。例えば、クライアント装置110は、リクエストされたアプリケーションを特定するURIリクエストのような、前記サードパーティアプリケーションサーバ120によって提供されるアプリケーションを特定する該サードパーティアプリケーションサーバ120へのアクセスのためのURIを提供する。その後、前記サードパーティアプリケーションサーバ120は、前記リクエストされたアプリケーションに関連づけられたアプリケーション識別子310を判定する。例えば、前記サードパーティアプリケーションサーバ120は、URIまたはその他のアプリケーションリクエストからアプリケーション識別子310を抽出する。そして、前記サードパーティアプリケーションサーバ120は、前記リクエストされたアプリケーションおよびアクセスリクエストに関連付けられたアプリケーション識別子310を、ネットワーク110を介して、前記ソーシャルネットワークホストサイト130に送信する(ステップ520)。前記アクセスリクエストは、前記リクエストしているユーザに関連した前記ソーシャルネットワークホストサイト130によって記憶されたユーザプロフィールデータのサブセットを特定する。代案として、前記サードパーティアプリケーションサーバ120は前記ソーシャルネットワークホストサイト130に前記アプリケーション識別子310を送信し(ステップ510)、該ソーシャルネットワークホストサイト130は、アプリケーション識別モジュール270にアクセスすることによって、前記アプリケーション識別子310に関連したアプリケーションデータ330を特定する。
【００５５】
前記アプリケーション識別子310およびアクセスリクエストを受信すると、前記ソーシャルネットワークホストサイト130は、前記リクエストしているユーザに関連したユーザ識別子を判定する(ステップ530)。一実施の形態において、前記ソーシャルネットワークホストサイト130は、ユーザがログインまたはその他のアクセスウェブページを使用してログイン名およびパスワードまたは前記ソーシャルネットワークホストサイト130に関連したその他のユーザ証明情報を入力するようリクエストするメッセージをクライアント装置110に送信する。代案として、前記サードパーティアプリケーションサーバ120からのアクセスリクエストは、ソーシャルネットワーキングウェブサイトメンバーを指定するユーザ名およびパスワード等のユーザ証明情報を含む。その後、前記ソーシャルネットワークホストサイト130は、提供された前記ユーザ証明情報を確認することによって前記ユーザ530を判定する。
【００５６】
また、前記ソーシャルネットワークホストサイト130は、前記サードパーティアプリケーションサーバ120が前記ユーザプロフィールに含まれデータにアクセスすることを許可されているか否かを判定する(ステップ540)。図4に関連して上述したように、前記サードパーティアプリケーションサーバ120から前記ソーシャルネットワークホストサイト130に提供されるデータは、前記ユーザプロフィールからの任意のデータ、および、該ユーザの友達のユーザプロフィールからの情報を含んでいてよい。一実施の形態において、前記サードパーティアプリケーションサーバ120に提供されるテータは、前記ユーザおよび前記ユーザの友達のプライバシー設定に従って利用可能なデータに制限される。一実施の形態において、これは次のように実現される。先ず、前記ソーシャルネットワークホストサイト130は、図4を参照して上述した如く、前記ユーザデータおよびユーザの友達のデータのすべてを取得する。その後、前記ソーシャルネットワークホストサイト130は、前記リクエストしているユーザのユーザプロフィールの1または複数のプライバシー設定を評価し、前記サードパーティアプリケーションサーバ120によってリクエストされたデータがサードパーティによってアクセスされ得るか否かを判定する(ステップ540)。これにより、前記リクエストしているユーザは、前記プライバシー設定を修正することによって、前記ユーザプロフィールにおけるどのデータが前記サードパーティアプリケーションによってアクセス可能であるかを管理する。従って、前記サードパーティアプリケーションサーバ120は、前記ユーザプロフィールから特定のユーザによって選択されたデータをアクセスすることのみできる。同様に、前記サードパーティアプリケーションサーバ120は、前記リクエストしているユーザの友達等の追加的なユーザにデータをリクエストする場合、該追加的なユーザのプライバシー設定が調べられる。このようにして、前記サードパーティアプリケーションサーバ120が、前記追加的なユーザによって公に利用可能にされていない情報を前記追加的なユーザから受信することが阻止される。このようにして、前記ソーシャルネットワークホストサイト130は前記サードパーティアプリケーションサーバ120が該ホストサイト130から前記リクエストしているユーザに関連した情報にアクセスすることを可能にするが、前記アクセス可能な情報はユーザのプライバシー設定によって制限され、複数の異なるユーザが前記サードパーティアプリケーションサーバ120によってアクセス可能な情報の種類および量を管理することが可能になる。要するに、前記アプリケーションコンテンツは、現在のユーザのために個人化されるとともに、前記ユーザおよび前記ユーザの友達のプライバシー設定によって制限される。
【００５７】
前記サードパーティアプリケーションサーバ120が前記リクエストしているユーザのユーザプロフィールデータにアクセスすることを許可されていると前記ソーシャルネットワークホストサイト130が判定すると(ステップ540)、前記ソーシャルネットワークホストサイト130は、ユーザ識別子を前記サードパーティアプリケーションサーバ120に送信する(ステップ550)。前記ユーザ識別子を送ることに加えて、前記ソーシャルネットワークホストサイト130は、さらに、前記サードパーティアプリケーションサーバ120に対してセッションキーを送信する(ステップ550)。前記セッションキーは、特定のユーザおよびセッションに固有に関連付けられており、前記ソーシャルネットワークホストサイト130と前記サードパーティアプリケーションサーバ120との間で後に行われるデータ交換を特定するために使用される。前記セッションキーは、図4を参照してさらに説明されている。その後、前記サードパーティアプリケーションサーバ120は、前記ソーシャルネットワークホストサイト130から受信したデータを使用して、出力メッセージなどの結果を生成する(ステップ560)。
【００５８】
前記結果を生成する際(ステップ560)、前記サードパーティアプリケーションサーバ120は、前記ソーシャルネットワークホストサイト130に対して、前記リクエストしているユーザまたは該ユーザに関連付けられたその他のユーザに関連した追加的なデータをリクエストすることがある。このような追加的なデータについてのリクエストは、図4を参照して説明されている。このようにして生成された結果は、前記サードパーティアプリケーションサーバ120によって表示される(ステップ570)。代案として、前記結果は、前記サードパーティアプリケーションサーバから前記ソーシャルネットワークホストサイト130に送信され(ステップ580)、前記ソーシャルネットワークウェブサイトに関連したインターフェースまたはディスプレイを使用して前記結果が表示可能になる。従って、ユーザは前記サードパーティアプリケーションサーバ120またはソーシャルネットワークホストサイト130を使用してアプリケーションをリクエストでき、前記ソーシャルネットワークホストサイト130によって維持されており前記リクエストしているユーザに関連した情報が、前記サードパーティアプリケーションサーバ120によってアクセスされる。これにより、前記ソーシャルネットワークホストサイト130からのデータに基づき、前記サードパーティアプリケーションサーバ120が前記リクエストしているユーザに提供された情報またはサービスをカスタマイズまたは個人化することが可能になる。
【００５９】
以上、本発明は、制限された数の実施の形態について特に詳細に説明された。当業者に理解されるように、本発明は、他の実施の形態で実行されてもよい。この明細書における説明において、上記構成要素の特定の命名、用語の大文字化、属性、データ構造またはその他のプログラミングもしくは構造的な特徴は必須または重要ではなく、本発明またはその特徴を実現するメカニズムは、上記とは異なる名前、フォーマットまたはプロトコルを有するものであってよい。さらに、上記システムは、上述のようなハードウエアおよびソフトウエアの組合わせ、または、ハードウエア要素だけで実現されてよい。さらに、上述したさまざまなシステム構成要素間の特定の機能区分は単に一例であって必須ではなく、1つのシステム要素によって実行されるものとして説明された機能は多数のシステム要素によって実行されてよく、また、多数のシステム要素によって実行されるものとして説明された機能は1つのシステム要素によって実行されてよい。さらに、上記実施の形態はソーシャルネットワークウェブサイトとの関連で説明されたが、当業者にとって明白であるように、本発明は、ウェブサイトを介して提供されないものであっても任意のソーシャルネットワークサービスに適用してもよい。例えばeメール、インスタントメッセージもしくはその他の任意の形態のピアツーピア通信、または、ユーザ間の通信を行うその他の任意の技術に依存するものである場合であっても、ソーシャルネットワーキング機能を提供する任意のシステムが、本発明に従って使用されてもよい。ソーシャルネットワーキング機能を提供するために使用されるシステムは、分散型コンピューティングシステム、クライアント側コードモジュールもしくはプラグイン、クライアント-サーバアーキテクチャ、ピアツーピア通信システムもしくはその他のシステムを含む。このように、本発明は特定の種類の通信システム、ネットワーク、プロトコル、フォーマットまたはアプリケーションに限定されない。
【００６０】
以ウェブサイトの詳細な説明のいくつかの部分は、本発明の特徴を情報についての処理のアルゴリズムおよび記号表現について説明している。これらのアルゴリズムおよび記号表現は、当業者がかれらの作業内容を他の当業者に最も効果的に伝えるために使用される手段である。上記の処理は、ここでは機能的または論理的に説明されているが、コンピュータによって実現されてよい。これらの処理は、機能的または論理的に説明されたが、コンピュータプログラムによって実施される。さらに、これらの処理構成を、普遍性を喪失することなく、モジュールまたはコード装置として言及することは、折にふれて便利であることが知られている。
【００６１】
しかしながら、これらの用語およびこれらに類似した用語のすべては、適当な物理的数量に対応付けられるものであり、これらの数量に適用される単に便利なラベルである。特にそうでないと明記する場合を除き、本発明の説明全体を通じて、“処理”、“コンピューテイング”、“計算”、“判定”、“表示”等の用語の使用は、コンピュータシステムのメモリまたはレジスタ、または、その他の情報記憶装置、伝送もしくは表示装置内において物理的(電子的)数量として表現されているデータを操作して変換するコンピュータシステムまたはこれと同様な電子計算装置の動作および処理を意味する。
【００６２】
本発明のある特徴は、ここでアルゴリズムの形態で説明された処理ステップおよび命令を含むものである。なお、本発明の上記処理ステップおよび命令は、ソフトウエア、ファームウエアまたはハードウエアで実施可能であり、ソフトウエアで実施される場合、リアルタイムネットワークオペレーティングによって使用される異なるプラットフォームに存在するようダウンロードされ、且つ、該異なるプラットフォームから操作可能である。
【００６３】
本発明は、さらに、上記処理を実行する装置に関する。この発明は前記要求される目的に特化して構成されてもよく、または、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または再構成される汎用コンピュータからなっていてよい。このようなコンピュータプログラムは、各々がコンピュータシステムバスに接続された、フロッピー（登録商標）ディスク、光ディスク、CD-ROM、光磁気ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、特定用途向け集積回路(ASIC)または電子命令を記憶するのに適した任意タイプの媒体のような(しかし、これに限らない)コンピュータによって読取り可能な記憶媒体に記憶されてよい。さらに、この明細書に言及されているコンピュータは、単一のプロセッサを備えるものでよく、または、向上した計算能力を実現するためのマルチプロセッサ設計を使用するアーキテクチャであってもよい。
【００６４】
ここに説明したアルゴリズムおよび表示は、本質的に特定のコンピュータまたはその他の装置に関連するものではない。ここでの教示内容に従うプログラムと共に様々な汎用システムが使用されてもよく、必要な方法ステップを実行するためにより特化された装置を構成することが便利であることが分かるであろう。これらの様々なシステムに必要な構成は、上記説明から明確であろう。さらに、本発明は、特定のプログラミング言語に関して説明されたものではない。なお、ここでの教示内容を実施するために様々なプログラミング言語が使用されてよく、また、本発明の実施可能性および最良の実施態様について任意の特定言語に対する言及がなされてよい。
【００６５】
最後に、この明細書に使用された言語が主に読み易さおよび教示目的で選択されたものであり、本発明の主題を限定し、その境界を規定するために選択されたものではない。従って、ここでの本発明の開示は、以下の特許請求の範囲に記載した本発明の範囲を例示的に説明するものであって限定的なものではない。
【図１】
2010532027.tif 000003
【図２】
2010532027.tif 000004
【図３】
2010532027.tif 000005
【図４】
2010532027.tif 000006
【図５】
2010532027.tif 000007
【国際調査報告】
2010532027.tif 000008