(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5964977
(24)【登録日】2016年7月8日
(45)【発行日】2016年8月3日
(54)【発明の名称】社会的関連性によるオブジェクト・ランキング
(51)【国際特許分類】
G06F 17/30 20060101AFI20160721BHJP
【FI】
G06F17/30 340A
G06F17/30 419B
【請求項の数】57
【全頁数】31
(21)【出願番号】特願2014-537069(P2014-537069)
(86)(22)【出願日】2012年9月14日
(65)【公表番号】特表2014-534516(P2014-534516A)
(43)【公表日】2014年12月18日
(86)【国際出願番号】US2012055278
(87)【国際公開番号】WO2013058903
(87)【国際公開日】20130425
【審査請求日】2015年9月7日
(31)【優先権主張番号】13/276,216
(32)【優先日】2011年10月18日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ツェン、エリック
【審査官】
川▲崎▼ 博章
(56)【参考文献】
【文献】
国際公開第2011/061890(WO,A1)
【文献】
特開2011−170471(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
コンピュータサーバが、ソーシャル・ネットワーク環境の1以上のコンピューティングシステムに関連付けられているソーシャル・グラフにおいて、特定のユーザを示すユーザ・ノードにアクセスするステップであって、該ユーザ・ノードは、複数の属性ノードに接続されている、ステップと、
前記コンピュータサーバが、前記ソーシャル・グラフにおける、複数の属性ノードにそれぞれ接続された複数のオブジェクト・ノードのそれぞれに対して、前記ユーザ・ノードと個別のオブジェクト・ノードとの間の一致係数を算出する、算出ステップとを含み、前記算出ステップは、
前記ユーザ・ノードおよびオブジェクト・ノードの両方に接続された属性ノード全てからなるセットにおける各属性ノードに対して、前記ユーザ・ノードと該属性ノードとの間の第1の係数、および前記オブジェクト・ノードと該属性ノードとの間の第2の係数を算出するステップと、
前記第1の係数と前記第2の係数との積の全ての合計を得るステップと、を含む、方法。
【請求項2】
前記第1の係数は、前記ユーザ・ノードと前記属性ノードとの間の分離度が大きくなると小さくなり、前記第2の係数は、前記オブジェクト・ノードと前記属性ノードとの間の分離度が大きくなると小さくなる、請求項1に記載の方法。
【請求項3】
前記第2の係数にはそれぞれ、その関連する属性ノードおよびオブジェクト・ノードの対に対するフィードバック重みが乗算される、請求項1に記載の方法。
【請求項4】
前記フィードバック重みは、機械学習アルゴリズムを通じて算出される、請求項3に記載の方法。
【請求項5】
属性ノードおよびオブジェクト・ノードの各対に対する前記フィードバック重みは、
前記オブジェクト・ノードとのユーザ・ノードによる対話の全てを監視し、
前記オブジェクト・ノードとのユーザ・ノードによる対話のそれぞれにおいて、
前記属性ノードも、前記ユーザ・ノードに接続されるか否かを判定し、
肯定的判定の結果、前記フィードバック重みをインクリメントし、
否定的判定の結果、前記フィードバック重みをデクリメントすることによって算出される、請求項4に記載の方法。
【請求項6】
前記オブジェクト・ノードとのユーザ・ノードによる対話のタイプによって、前記フィードバック重みをインクリメントまたはデクリメントする量が決定される、請求項5に記載の方法。
【請求項7】
前記特定のユーザを示すユーザ・ノードに接続された属性ノードは、前記ソーシャル・グラフから算出された親近感を含む、請求項1に記載の方法。
【請求項8】
前記ソーシャル・グラフは、前記特定のユーザのプロフィールからの情報を含む、請求項7に記載の方法。
【請求項9】
前記ソーシャル・グラフは、前記ソーシャル・ネットワーク環境上の前記ユーザのアクションを含む、請求項7に記載の方法。
【請求項10】
前記ソーシャル・グラフは、前記ソーシャル・ネットワーク環境の外部のインターネット接続されたノードにおける前記ユーザのアクションを含む、請求項7に記載の方法。
【請求項11】
前記ソーシャル・グラフは、前記ユーザのメッセージ内の共通のキーワードを含む、請求項7に記載の方法。
【請求項12】
前記属性ノードは、メタデータ・タグを含む、請求項5に記載の方法。
【請求項13】
前記メタデータ・タグは、特定のオブジェクト・ノードに関連づけられたノード管理者から受信される、請求項12に記載の方法。
【請求項14】
受信される前記メタデータ・タグには最初に、所定のフィードバック重みが割り当てられる、請求項13に記載の方法。
【請求項15】
前記特定のユーザについての所定の閾値を超える一致係数によって、ノードを昇格させるステップをさらに含む、請求項1に記載の方法。
【請求項16】
前記特定のユーザに対して表示するために、一致係数の降順に、全てのノードをランキングするステップをさらに含む、請求項1に記載の方法。
【請求項17】
属性ノードは、コンセプト・ノードを含む、請求項1に記載の方法。
【請求項18】
オブジェクト・ノードは、コンセプト・ノードを含む、請求項17に記載の方法。
【請求項19】
コンセプト・ノードは、前記ソーシャル・グラフによって動的に生成される、請求項17に記載の方法。
【請求項20】
1以上のコンピューティングシステムにおける1以上の非一時的コンピュータ可読記憶媒体であって、前記媒体は、
ソーシャル・ネットワーク環境の1以上のコンピューティングシステムに関連付けられているソーシャル・グラフにおいて、特定のユーザを示すユーザ・ノードにアクセスするステップであって、該ユーザ・ノードは、複数の属性ノードに接続されている、ステップと、
前記ソーシャル・グラフにおける、複数の属性ノードにそれぞれ接続された複数のオブジェクト・ノードのそれぞれに対して、前記ユーザ・ノードと個別のオブジェクト・ノードとの間の一致係数を算出する、算出ステップとが行われるように構成される論理を具現化しており、前記算出ステップは、
前記ユーザ・ノードおよびオブジェクト・ノードの両方に接続された属性ノード全てからなるセットにおける各属性ノードに対して、前記ユーザ・ノードと該属性ノードとの間の第1の係数、および前記オブジェクト・ノードと該属性ノードとの間の第2の係数を算出するステップと、
前記第1の係数と前記第2の係数との積の全ての合計を得るステップと、を含む、媒体。
【請求項21】
前記第1の係数は、前記ユーザ・ノードと前記属性ノードとの間の分離度が大きくなると小さくなり、前記第2の係数は、前記オブジェクト・ノードと前記属性ノードとの間の分離度が大きくなると小さくなる、請求項20に記載の媒体。
【請求項22】
前記第2の係数にはそれぞれ、その関連する属性ノードおよびオブジェクト・ノードの対に対するフィードバック重みが乗算される、請求項20に記載の媒体。
【請求項23】
前記フィードバック重みは、機械学習アルゴリズムを通じて算出される、請求項22に記載の媒体。
【請求項24】
属性ノードおよびオブジェクト・ノードの各対に対する前記フィードバック重みは、
前記オブジェクト・ノードとのユーザ・ノードによる対話の全てを監視し、
前記オブジェクト・ノードとのユーザ・ノードによる対話のそれぞれにおいて、
前記属性ノードも、前記ユーザ・ノードに接続されるか否かを判定し、
肯定的判定の結果、前記フィードバック重みをインクリメントし、
否定的判定の結果、前記フィードバック重みをデクリメントすることによって算出される、請求項23に記載の媒体。
【請求項25】
前記オブジェクト・ノードとのユーザ・ノードによる対話のタイプによって、前記フィードバック重みをインクリメントまたはデクリメントする量が決定される、請求項24に記載の媒体。
【請求項26】
前記特定のユーザを示すユーザ・ノードに接続された属性ノードは、前記ソーシャル・グラフから算出された親近感を含む、請求項20に記載の媒体。
【請求項27】
前記ソーシャル・グラフは、前記特定のユーザのプロフィールからの情報を含む、請求項26に記載の媒体。
【請求項28】
前記ソーシャル・グラフは、前記ソーシャル・ネットワーク環境上の前記ユーザのアクションを含む、請求項26に記載の媒体。
【請求項29】
前記ソーシャル・グラフは、前記ソーシャル・ネットワーク環境の外部のインターネット接続されたノードにおける前記ユーザのアクションを含む、請求項26に記載の媒体。
【請求項30】
前記ソーシャル・グラフは、前記ユーザのメッセージ内の共通のキーワードを含む、請求項26に記載の媒体。
【請求項31】
前記属性ノードは、メタデータ・タグを含む、請求項24に記載の媒体。
【請求項32】
前記メタデータ・タグは、特定のオブジェクト・ノードに関連づけられたノード管理者から受信される、請求項31に記載の媒体。
【請求項33】
受信される前記メタデータ・タグには最初に、所定のフィードバック重みが割り当てられる、請求項32に記載の媒体。
【請求項34】
前記特定のユーザについての所定の閾値を超える一致係数によって、ノードを昇格させるステップをさらに含む、請求項20に記載の媒体。
【請求項35】
前記特定のユーザに対して表示するために、一致係数の降順に、全てのノードをランキングするステップをさらに含む、請求項20に記載の媒体。
【請求項36】
属性ノードは、コンセプト・ノードを含む、請求項20に記載の媒体。
【請求項37】
オブジェクト・ノードは、コンセプト・ノードを含む、請求項36に記載の媒体。
【請求項38】
コンセプト・ノードは、前記ソーシャル・グラフによって動的に生成される、請求項36に記載の媒体。
【請求項39】
1以上のプロセッサと、
前記プロセッサが実行可能な命令を備え、前記プロセッサに結合されているメモリと、を備え、前記命令が実行されるとき、前記プロセッサは、
ソーシャル・ネットワーク環境の1以上のコンピューティングシステムに関連付けられているソーシャル・グラフにおいて、特定のユーザを示すユーザ・ノードにアクセスするステップであって、該ユーザ・ノードは、複数の属性ノードに接続されている、ステップと、
前記ソーシャル・グラフにおける、複数の属性ノードにそれぞれ接続された複数のオブジェクト・ノードのそれぞれに対して、前記ユーザ・ノードと個別のオブジェクト・ノードとの間の一致係数を算出する、算出ステップとが行われるように構成されており、前記算出ステップは、
前記ユーザ・ノードおよびオブジェクト・ノードの両方に接続された属性ノード全てからなるセットにおける各属性ノードに対して、前記ユーザ・ノードと該属性ノードとの間の第1の係数、および前記オブジェクト・ノードと該属性ノードとの間の第2の係数を算出するステップと、
前記第1の係数と前記第2の係数との積の全ての合計を得るステップと、を含む、システム。
【請求項40】
前記第1の係数は、前記ユーザ・ノードと前記属性ノードとの間の分離度が大きくなると小さくなり、前記第2の係数は、前記オブジェクト・ノードと前記属性ノードとの間の分離度が大きくなると小さくなる、請求項39に記載のシステム。
【請求項41】
前記第2の係数にはそれぞれ、その関連する属性ノードおよびオブジェクト・ノードの対に対するフィードバック重みが乗算される、請求項39に記載のシステム。
【請求項42】
前記フィードバック重みは、機械学習アルゴリズムを通じて算出される、請求項41に記載のシステム。
【請求項43】
属性ノードおよびオブジェクト・ノードの各対に対する前記フィードバック重みは、
前記オブジェクト・ノードとのユーザ・ノードによる対話の全てを監視し、
前記オブジェクト・ノードとのユーザ・ノードによる対話のそれぞれにおいて、
前記属性ノードも、前記ユーザ・ノードに接続されるか否かを判定し、
肯定的判定の結果、前記フィードバック重みをインクリメントし、
否定的判定の結果、前記フィードバック重みをデクリメントすることによって算出される、請求項42に記載のシステム。
【請求項44】
前記オブジェクト・ノードとのユーザ・ノードによる対話のタイプによって、前記フィードバック重みをインクリメントまたはデクリメントする量が決定される、請求項43に記載のシステム。
【請求項45】
前記特定のユーザを示すユーザ・ノードに接続された属性ノードは、前記ソーシャル・グラフから算出された親近感を含む、請求項39に記載のシステム。
【請求項46】
前記ソーシャル・グラフは、前記特定のユーザのプロフィールからの情報を含む、請求項45に記載のシステム。
【請求項47】
前記ソーシャル・グラフは、前記ソーシャル・ネットワーク環境上の前記ユーザのアクションを含む、請求項45に記載のシステム。
【請求項48】
前記ソーシャル・グラフは、前記ソーシャル・ネットワーク環境の外部のインターネット接続されたノードにおける前記ユーザのアクションを含む、請求項45に記載のシステム。
【請求項49】
前記ソーシャル・グラフは、前記ユーザのメッセージ内の共通のキーワードを含む、請求項45に記載のシステム。
【請求項50】
前記属性ノードは、メタデータ・タグを含む、請求項43に記載のシステム。
【請求項51】
前記メタデータ・タグは、特定のオブジェクト・ノードに関連づけられたノード管理者から受信される、請求項50に記載のシステム。
【請求項52】
受信される前記メタデータ・タグには最初に、所定のフィードバック重みが割り当てられる、請求項51に記載のシステム。
【請求項53】
前記特定のユーザについての所定の閾値を超える一致係数によって、ノードを昇格させるステップをさらに含む、請求項39に記載のシステム。
【請求項54】
前記特定のユーザに対して表示するために、一致係数の降順に、全てのノードをランキングするステップをさらに含む、請求項39に記載のシステム。
【請求項55】
属性ノードは、コンセプト・ノードを含む、請求項39に記載のシステム。
【請求項56】
オブジェクト・ノードは、コンセプト・ノードを含む、請求項55に記載のシステム。
【請求項57】
コンセプト・ノードは、前記ソーシャル・グラフによって動的に生成される、請求項55に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、ソーシャル・ネットワーキングに関し、より詳細には、特定のユーザ・ノードへの関連性によってオブジェクトをランキングするために、ソーシャル・ネットワーク環境に基づいて、一体型ソーシャル・ネットワーク環境およびソーシャル・グラフを利用することに関する。ソーシャル・グラフは、ソーシャル・ネットワーク環境内のユーザおよびコンセプトを示すノードと、このようなノード間の接続を規定するか、または示すエッジを含む。特定のユーザ・ノードに対する任意のオブジェクトの社会的関連性は、ユーザ・ノードに接続されたノードとオブジェクト・ノードに接続されたノードと相互参照することによって算出することができる。
【背景技術】
【0002】
コンピュータ・ユーザは、専用のネットワークと、インターネットなどの公共のネットワークを含む、様々なローカルおよびワイド・エリア・コンピュータ・ネットワークを通した大量の情報にアクセスし、これを共有することが可能である。典型的には、ユーザのコンピュータ・デバイス上にインストールされたウェブ・ブラウザは、例えば、関連するユニフォーム・リソース・ロケータ(URL)によって識別された様々なネットワーク・サーバに配置された情報へのアクセス、およびこれとの対話を容易にする。ユーザ生成コンテンツの共有を可能にするための従来の解決法は、ソーシャル・ネットワーキング・ウェブサイトなどの様々な情報共有技術またはプラットフォームを含む。このようなウェブサイトは、ユーザが、他のユーザによって生成またはカスタマイズされた「プロフィール」ページを閲覧することを可能にするアプリケーション用プラットフォームを含むこと、これにリンクさせること、またはこれを提供することができ、他のユーザによるこのようなプロフィールとの可視性および対話は、いくつかの特徴的なセットの規則によって管理される。例として、ユーザ・プロフィールは、問い合わせ先情報、経歴情報、仕事/職歴情報、および興味などのユーザ定義情報を含むことができる。
【0003】
従来のソーシャル・ネットワークは、1つまたは複数の特定のタイプの相互依存性によって結びつけられた(接続された)、通常は「ノード」と呼ばれる、個人、グループ、エンティティ、または組織で作られた社会的構造体である。ソーシャル・ネットワーク(グラフ)分析は、ノードおよびエッジからなるネットワーク理論に関して社会的関係を検討する。ノードは、ネットワーク内の個別の実行者であり、エッジは、実行者間の関係である。得られるグラフ・ベース構造はしばしば、極めて複雑である。ノード間に多くの種類のエッジが存在する可能性がある。その最も単純な形で、ソーシャル・ネットワーク、またはソーシャル・グラフは、検討されている全てのノード間の関連エッジ全てのマップである。
【0004】
特定のユーザに対するノードの関連性は、ソーシャル・グラフの分析により判断することができる。特定の個人に対するノードの関連性スコアを算出することによって、コンテンツ配信は非常によくなり、ユーザ経験が高められる。
【図面の簡単な説明】
【0005】
【
図1】例示的なソーシャル・ネットワーク環境の例示的なコンピュータ・ネットワーク環境を示す図。
【
図2A】例示的なソーシャル・ネットワーク環境の例示的な構成要素を示す図。
【
図4A】例示的なユーザ・プロフィール・ページを示す図。
【
図4B】例示的なユーザ・プロフィール・ページを示す図。
【
図4C】例示的なユーザ・プロフィール・ページを示す図。
【
図5】例示的なコンセプト・プロフィール・ページを示す図。
【
図6】特定のユーザ・ノードへのオブジェクト・ノードの関連性を算出するための例示的なソーシャル・グラフを示す図。
【
図7】2つのノード間の一致係数を算出するための例示的な方法を示すフローチャート。
【
図8】例示的なコンピュータ・システム・アーキテクチャを示す図。
【発明を実施するための形態】
【0006】
特定の実施形態は、一体型ソーシャル・ネットワーク環境を可能にするインフラまたはプラットフォーム(以下、インフラおよびプラットフォームを交換可能に使用する)を含むソーシャル・ネットワーク環境に関する。本開示では、ソーシャル・ネットワーク環境は、ソーシャル・グラフ情報を含むソーシャル・グラフに関して説明されてもよい。特定の実施形態では、ソーシャル・ネットワーク環境を実施するソーシャル・ネットワーク環境の1つまたは複数のコンピューティング・システムは、本願明細書に記載されたソーシャル・ネットワーク環境を実施する際に使用するためのソーシャル・グラフ情報を含むデータ構造へのアクセスを含むか、記憶するか、または有する。
【0007】
特定の実施形態では、ソーシャル・グラフ情報は、それぞれのユーザにそれぞれ対応する第1のセットのユーザ・ノード、およびそれぞれのコンセプトにそれぞれ対応する第2のセットのコンセプト・ノードを含む。本願明細書で使用されるように、「ユーザ」は、個人(人間のユーザ)、エンティティ(例えば、企業、事業、または第三者アプリケーション)、またはこのようなソーシャル・ネットワーク環境と相互作用または通信する(例えば、個人またはエンティティの)グループであってもよい。本願明細書に使用するように、「コンセプト」は、例として、スポーツ、スポーツ・チーム、音楽のジャンル、作曲家、趣味、事業(企業)、エンティティ、グループ、第三者アプリケーション、著名人、登録されたユーザ以外の人などの、ユーザが興味、好み、または関係を宣言、あるいは示す可能性がある実質的に全てのものを言ってもよい。特定の実施形態では、各ノードは、ソーシャル・ネットワーク環境内でホスティングされるまたはアクセス可能な対応するウェブ・ページ(「プロフィール・ページ」)を有する、示す、またはこれによって示される。
【0008】
例として、ユーザ・ノードは、対応するユーザ・プロフィール・ページを有することができ、該ユーザ・プロフィール・ページには、対応するユーザがコンテンツを追加する、宣言を行う、あるいは自己表現することができる一方、コンセプト・ノードは、対応するコンセプト・プロフィール・ページ(「ハブ」)を有することができ、該ハブには、複数のユーザが、特にコンセプトに関して、コンテンツを追加する、宣言を行う、あるいは自己表現することができる。特定の実施形態では、ソーシャル・グラフ情報はさらに、ソーシャル・グラフ内の対応する対のノード間の接続をそれぞれ規定するか、または示す、複数のエッジを含む。特定の実施形態では、ソーシャル・グラフは、コンセプト・ノードの下位カテゴリを含む。最初に、属性ノードは、ユーザ・ノードに接続されたコンセプト・ノード、または必ずしも対応するハブ・ページを有していなく、必ずしもソーシャル・ネットワークのユーザに対して可視でない他のコンセプト・ノードである。例えば、ソーシャル・ネットワークは、スポーツ・ゲームへの特定のユーザのエッジ接続に基づいて、ユーザが「スポーツ」または「アクション・ゲーム」への親近感を有することを暗示することができる。これらの属性ノードは、ソーシャル・ネットワークによって動的に生成され、通常、このような幅広いカテゴリ用のハブ・ページは無意味であるか、またはソーシャル・ネットワークのユーザに対する使用をほとんどまたは全く与えない。同様に、コンセプトがハブ・ページを有することが意味をなさないような狭いコンセプトへの親近感をユーザが示す場合、親近感は属性ノードとしてソーシャル・グラフ上で追跡されるが、ユー
ザには公に可視でない。例えば、ユーザがハブ・ページで特定のレストランを登録し、またレストランで特定の料理に対して(例えば、「レストランXでのフォアグラは素晴らしい」という)親近感を示した場合、ソーシャル・ネットワークは、自然言語プログラミングを使用して、属性ノード(レストランXでのフォアグラ)に対する「ライク」などの親近感を判断することができる。特定の実施形態では、属性ノードへの接続数が所定数を超えると、ソーシャル・ネットワークは、属性ノードに対するハブ・ページを動的に作成する。特定の実施形態では、ソーシャル・ネットワークは、属性ノードに関連づけられたコンセプト・ノードの管理者(この例では、レストランXの管理者)にメッセージを送り、属性ノードに対して作成されるサブページを気に入るか否か、問い合わせを行う。
【0009】
特定の実施形態では、オブジェクト・ノードは、特定のユーザに関連づけられたコンセプト・ノードのサブセットである。ユーザは、オブジェクト・ノードを明示的に作成することができるか、またはユーザに対してソーシャル・ネットワークによって動的に作成することができる。例えば、ゲームまたはアプリケーションの発行元は、アプリケーションをアプリ・ストアに購入のためにアップロードし、他のユーザによってダウンロードされた場合に、オブジェクト・ノードを作成することができる。作成時に、発行元は、ジャンル/カテゴリ、発行日、バージョンなどのオブジェクト・ノードの属性をタグ付けすることができる。特定の実施形態では、これらのメタデータ・タグは、既存の属性ノード(上述した「アクション」または「スポーツ」など)に関連付けることができる。特定の実施形態では、オブジェクト・ノードが作成される場合に、ユーザ・タグ付は必要ない。例えば、アーティストまたはバンドが新たなアルバムを音楽ストアにアップロードすると、ソーシャル・ネットワークは自動的に、ID3タグまたはそのバンドのハブ・ページからの情報からジャンル情報を引き出すことができる。開示は、接続された属性ノードを通じて特定のユーザ・ノードに対するオブジェクト・ノードをランキングすることを記載しているが、アルゴリズムは本構成に限られない。本願明細書に使用されるように、オブジェクト・ノードは、任意のコンセプト・ノードであってもよく、属性ノードは任意のコンセプト・ノードであってもよい。
【0010】
いくつかの実施形態では、各エッジは、ソーシャル・グラフ内でエッジが接続するノードのタイプに少なくとも部分的に基づいた、複数のエッジ・タイプの1つであってもよい。例として、特定の一実施形態では、第1のエッジ・タイプからの各エッジは、第1のセットからの1対のユーザ・ノード間の接続を規定し、第2のエッジ・タイプからの各エッジが、第1のセットからのユーザ・ノードと第2のセットからのコンセプト・ノード間の接続を規定する。さらに、第3のエッジ・タイプからの各エッジは、第2のセットからの1対のコンセプト・ノード間の接続を規定することができる。このような実施形態では、エッジ自体は、例えば、エッジが接続するノードのタイプ(例えば、ユーザまたはコンセプト)を記載したデータ、エッジが接続する他のノードに対するエッジによって接続された1対のノードの1つの管理者のアクセス権限(例えば、エッジによって接続された他のノードに対して1つのノードの管理者の読取または書込アクセス)、またはエッジがどのようにまたはなぜ最初に初期化または作成されたのか(例えば、明示的なユーザ・アクションまたは宣言に応じて、または明示的なユーザ・アクションなしで自動的に)を記載したデータ、他の適切なまたは関連するデータのうち、エッジによって接続されたノードに関連するか、またはこれによって共有される様々な要因または基準によって判断されるような接続の強度などの、エッジが接続する1対のノード間の接続のタイプを規定するデータを記憶する、すなわちこのデータとともに記憶されることができる。代替実施形態では、各エッジは、エッジが接続するノードのタイプに関係なくノード間の接続を単に規定するか、または示すことができる、すなわち、エッジ自体が、エッジが接続するノードの識別子を記憶する、すなわちその識別子とともに記憶されることができるが、エッジが接続する1対のノード間の接続のタイプを記載したデータを記憶することはできない、すなわちそのデータとともに記憶されることはできない。さらに、これらまたは他の実施形態の
1つにおいて、エッジによって接続されるノード間の接続または関係のタイプを示すことができるデータは、ノード自体とともに記憶されることができる。
【0011】
特定の実施形態では、コンセプト・データベースは、既知のコンセプトのインデックスと、いくつかの実施形態では、様々な属性、メタデータ、またはそれぞれのコンセプトに関連する他の情報を含む。特定の実施形態では、1つまたは複数のバックエンド(サーバ側)プロセスは、コンセプト・データベースを生成または追加するのを容易にするか、または補助するために、1つまたは複数の外部データ源(例えば、ウィキペディア(www.wikipedia.org)、フリーベース(www.freebase.com、META WEBから利用可能)、または一般的にインターネット)をクロールする。いくつかの実施形態では、コンセプト・データベースはまた、本願明細書に記載されたソーシャル・ネットワーク環境のユーザから抽出した情報で拡張させることができる。
【0012】
特定の実施形態はさらに、特定のユーザに対する関連性の順序でオブジェクト・ノードをランキングする方法に関する。特定の実施形態では、1つまたは複数のサーバ側ランキング・プロセスは、特定のユーザ・ノードとオブジェクト・ノードのセットそれぞれの間の一致係数に基づいて、ユーザに対して表示するための1セットのオブジェクト・ノードのランキングを生成する。より詳細には、1つまたは複数のサーバ側ランキング・プロセスは、ユーザ・ノードに接続された各属性ノードでは、ユーザ・ノードに対するその属性ノードの重要度を判断することができ、また同様である
このようなソーシャル・ネットワーキング・プラットフォームの様々な部分を、以下に限定ではなく例として、より詳細に記載されたように、様々なソフトウェア構成要素またはプロセスが特定の実施形態を実施することを可能にするハードウェア・アーキテクチャまたはソフトウェア・フレームワークを通じて実施することができる。プラットフォームは、1つまたは複数のハードウェアまたはソフトウェア構成要素を含むことができ、そのうちの1つまたは複数は、1つまたは複数の統合または分散されたコンピューティング・システム内に配置されるか、またはこの中で具体化されることができる。加えて、本願明細書で使用されるように、「または」は、「および」と「または」を暗示することがある、すなわち、「または」は明示的に記されていないか、または暗示されていない限り、「および」を必ずしも除外するものではない。
【0013】
記載されるように、様々な例示的な実施形態では、1つまたは複数の記載されたウェブ・ページまたはウェブ・アプリケーションは、ソーシャル・ネットワーク環境またはソーシャル・ネットワーキング・サービスに関連している。本願明細書で使用されるように、「ユーザ」は、個人(人間のユーザ)、エンティティ(例えば、企業、事業、または第三者アプリケーション)、またはこのようなソーシャル・ネットワーク環境と相互作用するか、または通信する(例えば、個人またはエンティティの)グループであってもよい。本願明細書で使用されるように、「登録ユーザ」は、ソーシャル・ネットワーク環境内で公式に登録されたユーザのことを言う(概して、本願明細書で記載されたユーザおよびユーザ・ノードは登録ユーザのみのことを言うが、これは他の実施形態では必ずしも要件ではない、すなわち、他の実施形態では、本願明細書で記載されたユーザおよびユーザ・ノードは、本願明細書で記載したソーシャル・ネットワーク環境に登録されていないユーザのことを言うことがある)。特定の実施形態では、登録ユーザは、ソーシャル・ネットワーク環境によって記憶またはホスティングされ、全てまたは選択したサブセットの他のユーザによって閲覧可能な対応する「プロフィール」ページを有する。概して、ユーザは、独自のそれぞれのプロフィール・ページの全てまたは部分に対する、また潜在的に、例えば、他の可能性のうち、ホームページ、ウェブ・アプリケーションをホスティングするページを含む、特定のユーザによって、または特定のユーザのために生成された他のページに対する管理者権限を有する。本願明細書で使用されるように、「認証されたユーザ」は、ユーザが管理者権限を有する、対応するプロフィール・ページ内で主張されたユーザ、ま
たは代替的に、主張されたユーザの適切に委任された代理人であるとして、ソーシャル・ネットワーク環境によって認証されたユーザのことを言う。
【0014】
本願明細書で使用されるように、「接続」は、ソーシャル・ネットワーク環境の適切なデータ構造で論理的に規定することができ、接続が行なわれたソーシャル・ネットワーク環境のユーザまたはコンセプトに対応するノード間の関係(以下、エッジと呼ぶ)を規定するために使用することができる、ソーシャル・ネットワーク環境のユーザまたはコンセプト間の所定の関係を示すことができる。本願明細書で使用されるように、「友達関係」は、ソーシャル・ネットワーク環境の1対のユーザ間の所定の社会的関係などの接続を示す。本願明細書で使用されるような「友達」は、別のユーザが接続、友達関係、関連、または関係を形成して、エッジを2つのユーザ間で生成させる、ソーシャル・ネットワーク環境の任意のユーザのことを言う。例として、2つの登録ユーザは、2つのユーザの一方が、友達関係リクエストを、例えば、リクエストを許可または拒否する可能性がある他のユーザに伝達するか、または伝達させた結果としての友達関係のためにもう一方のユーザを選択することなどによって、明示的に互いの友達になる可能性がある。代替的に、友達関係または他の接続を、自動的に確立することができる。このような社会的友達関係は、他のユーザ、特に、登録ユーザの一方または両方の友達であるユーザに閲覧可能である。登録ユーザの友達はまた、登録ユーザのプロフィールまたは他のページ上の、コンテンツ、特にユーザ生成または定義コンテンツへの増加されたアクセス権を有することができる。しかし、ソーシャル・グラフ内でユーザ間に確立された友達接続を有する2つのユーザは必ずしも、実生活(ソーシャル・ネットワーキング環境の外)では(従来の意味での)友達でなくてもよいことに留意すべきである。例えば、いくつかの実施では、ユーザは、事業または他の人間以外のエンティティであってもよく、したがって、語の従来の意味においては、人間であるユーザの友達になることはできない。
【0015】
本願明細書で使用されるように、「ファン」は、特定のウェブ・ページ、ウェブ・アプリケーション、またはソーシャル・ネットワーク環境内でアクセス可能な他のウェブ・コンテンツのサポータであるユーザのことを言う。特定の実施形態では、ユーザは特定のウェブ・ページのファンである(特定のウェブ・ページを「ファンとして盛り上げる」)場合、他の登録ユーザまたは一般公衆に対して閲覧するようにファンとしてそのページ上に、そのユーザがリストされてもよい。加えて、ユーザのアバターまたはプロフィール写真は、ページ上に(または、以下に記載するページのいずれか内/上に)示すことができる。本願明細書で使用するように、「ライク」は、限定ではなく例として、ユーザ、特に登録または認証されたユーザが、好きである、そのファンであると宣言する、あるいは明示する(本願明細書で使用されるように、様々な例示的な実施形態では、コンセプトまたはコンセプト・プロフィール・ページなどの任意のものを「ライク」または「ファンとして盛り上げる」ことは、ソーシャル・ネットワーキング環境で同等に規定することができ、交換可能に使用することができ、同様に、コンセプトまたはコンセプト・プロフィール・ページなどの任意のものの「ファン」であると宣言すること、またはそのものを「ライク」であると宣言することは、ソーシャル・ネットワーキング環境で同等に規定することができ、本願明細書において交換可能に使用することができる)、サポートする、楽しむ、あるいは肯定的見解を有する、興味、リンク、メディアのピース(例えば、写真、写真アルバム、ビデオ、楽曲など)、コンセプト、エンティティ、またはページなどの任意のもののことを言う。本願明細書で使用されるように、「興味」は、ユーザのプロフィール・ページ内で提示されたユーザ定義興味などの、ユーザによって定義された興味のことを言う。本願明細書で使用されるように、「欲しい」は、ユーザが欲しい実質的に全てのものを言う。上述したように、「コンセプト」は、ユーザが、例として、スポーツ、スポーツ・チーム、音楽のジャンル、作曲家、趣味、事業(企業)、エンティティ、グループ、著名人、登録ユーザ以外の人、または他の実施形態では、さらには別のユーザ(例えば、非認証ユーザ)などへの興味、好み、または関係を宣言あるいは明示することができる、実
質的に全てのものを言う。例として、複数のユーザ(例えば、ジェリー・ライス(Jerry Rice)以外)の1つまたは複数によって生成および管理される、「ジェリー・ライス(Jerry Rice)」、著名なプロ・サッカー選手に対するコンセプト・ノードおよびコンセプト・プロフィール・ページが存在してもよく、ソーシャル・グラフは加えて、ジェリー・ライス(Jerry Rice)自身によって生成および管理される、ジェリー・ライス(Jerry Rice)に対するユーザ・ノードおよびユーザ・プロフィール・ページを含む。特定の実施形態では、以下により詳細に記載するように、友達接続または友達関係は、ソーシャル・グラフ内のユーザ・ノード間のエッジによって規定または提示された論理接続を規定するか、または示すことができ、好き、欲しい、ファン、または一般的に興味または関連性を明示する他の接続は、ソーシャル・グラフ内のユーザ・ノードとコンセプト・ノードの間の(他の実施形態では、2つのユーザ・ノード間の、または2つのコンセプト・ノード間の)論理接続またはエッジを規定することができる。他のエッジ・タイプは、楽曲または映画などのオブジェクトに対してユーザが行った特定のアクションに対応することができる。例えば、追加のエッジ・タイプは、コンテンツまたはオブジェクトを購入すること、コンテンツを閲覧または視聴すること、コンテンツを共有すること、コンテンツをブックマークすることなどに対応するエッジ・タイプを含むことができる。
【0016】
特定の実施形態は、多数のネットワーク・アドレス可能なシステムを含む、インターネットなどのワイド・エリア・ネットワーク環境内で、またはこれと共に動作することができる。
図1は、様々な例示的な実施形態が動作することができる、例示的なネットワーク環境を示す。ネットワーク・クラウド60は通常、本願明細書で記載された様々なシステムおよびホストがその上で通信することができる、1つまたは複数の相互接続されたネットワークを示す。ネットワーク・クラウド60は、パケット・ベース・ワイド・エリア・ネットワーク(インターネットなど)、プライベート・ネットワーク、無線ネットワーク、衛星ネットワーク、携帯ネットワーク、ページング・ネットワークなどを含むことができる。
図1が示すように、特定の実施形態は、ソーシャル・ネットワーク環境20およびクライアント・デバイス30と、いくつかの実施形態では、1つまたは複数の第三者ウェブ・アプリケーション・サーバ40または1つまたは複数の企業サーバ50を備えたネットワーク環境と共に動作することができる。クライアント・デバイス30、ウェブ・アプリケーション・サーバ40、および企業サーバ50は、ネットワーク・サービス・プロバイダ、無線キャリア、1セットのルータまたはネットワーキング・スイッチ、または任意の他の適切な手段を通じて、ネットワーク環境およびネットワーク・クラウド60に動作可能に接続させることができる。
【0017】
各クライアント・デバイス30、ウェブ・アプリケーション・サーバ40、または企業サーバ50は通常、コンピュータ・ネットワーク上で(例えば、遠隔)通信するための機能を含む、コンピュータ、コンピューティング・システム、またはコンピューティング・デバイス(
図9を参照して以下に記載したものなど)であってもよい。クライアント・デバイス30は特に、他の適切なコンピューティング・デバイスのうち、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯情報端末(PDA)、車載または車外ナビゲーション・システム、スマート・フォンまたは他のセルラーまたは移動デバイス、または移動ゲーム・デバイスであってもよい。クライアント・デバイス30は、コンピュータ・ネットワーク60上でコンテンツにアクセスしこれを閲覧するために、
図2Bに示すように、ウェブ・ブラウザ202など(例えば、マイクロソフト・ウィンドウズ(登録商標)・インターネット・エクスプローラ、モジラ・ファイアフォックス、アップル・サファリ、グーグル・クローム、およびオペラなど)、1つまたは複数のクライアント・アプリケーションを実行することができる。特定の実施では、クライアント・アプリケーションは、クライアント・デバイス30のユーザが、ソーシャル・ネットワーク環境20、ウェブ・アプリケーション・サーバ40、または企業サーバ50によってホスティングされ
たリソースなどの、検索される特定のネットワーク・アドレスのアドレスを入力することを可能にする。これらのアドレスは、ユニフォーム・リソース・ロケータ(URL)であってもよい。加えて、ページまたは他のリソースが検索されると、ユーザが、他のリソースに対するハイパーリンクを「クリック」した場合に、クライアント・アプリケーションは、他のページまたは記録へのアクセスを提供することができる。例として、このようなハイパーリンクは、ウェブ・ページ内に配置されることができ、ユーザが別のページのURLを入力し、そのページを検索するための自動化された方法を提供することができる。さらに詳細には、クライアント・デバイス30でユーザが、ソーシャル・ネットワーク環境20によってホスティングされた特定のウェブ・ページ(また、以下、ターゲット構造化文書と呼ばれる)、またはウェブ・アプリケーション・サーバ40によってホスティングされ、ソーシャル・ネットワーク環境20と共に利用可能にされたウェブ・アプリケーションを閲覧したい場合、ユーザのウェブ・ブラウザ202、または他のクライアント側構造化文書レンダリング・エンジンまたは適切なクライアント・アプリケーションは、リクエストを構築し、これをソーシャル・ネットワーク環境20に伝達する。リクエストは概して、URLまたは他の文書識別子と、メタデータまたは他の情報を含む。例として、リクエストは、ユーザIDなどのユーザを識別する情報と、ウェブ・ブラウザ202、またはユーザのクライアントコンピューティング・デバイス30上で実行しているオペレーティング・システムを識別するか、または特徴付ける情報を含むことができる。リクエストはまた、ユーザのクライアント・デバイスの地理的位置、またはユーザのクライアント・デバイスの論理ネットワーク位置を識別する位置情報と、リクエストが伝達されたときを識別するタイムスタンプを含むことができる。
【0018】
例示的な実施では、ソーシャル・ネットワーク環境20によってホスティングされるウェブ・ページまたは構造化文書に対するリクエストが、ソーシャル・ネットワーク環境20によって受信されると、ソーシャル・ネットワーク環境20内で実行している1つまたは複数のページ生成プロセス200は典型的には、ハイパー・テキスト・マークアップ言語(HTML)、拡張可能マークアップ言語(XML)、または他のウェブ・ブラウザ・サポートされた構造化文書の形でベース・ウェブ・ページを生成する。生成された構造化文書はその後、1つまたは複数の部分または部分的応答を含むことができる応答で、ハイパーテキスト・トランスファ・プロトコル(HTTP)またはクライアント・デバイス30でのウェブ・ブラウザ202によってレンダリングするための他の適切な接続を通じて、リクエストしているクライアント30に伝達される。構造化文書は、1つまたは複数のリソース(例えば、JavaScript(登録商標)スクリプト、コード・セグメント、またはリソース、カスケーティング・スタイル・シート(CSS)コード・セグメントまたはリソース、画像データまたはリソース、ビデオ・データまたはリソースなど)、または伝達された文書内に埋め込まれたこのようなリソースへの参照を含むことができる。例として、HTML文書内に埋め込まれたリソースは通常、リソースのタイプによって、他のもののうち、スクリプト要素、画像要素、またはオブジェクト要素内に含められ、または特定される。リソースを参照または特定する要素は、ウェブ・ページをリクエストするクライアント・デバイス30に対して、ソーシャル・ネットワーク環境20内のサーバまたはデータ・ストア内である、または1つまたは複数の外部位置であってもよい、リソースの位置を識別するソース属性(例えば、src)を含むことができる。典型的には、応答の受信の際に、ウェブ・ブラウザ202、またはクライアント・デバイス30で実行している他のクライアント・ドキュメント・レンダリング・アプリケーションはその後、受信した構造化文書のドキュメント・オブジェクト・モデル(DOM)表示を構築し、文書内に埋め込まれた(1つまたは複数の他の外部位置にあってもよい)(1つまたは複数の)リソースを要求する。
【0019】
例示的な実施では、ソーシャル・ネットワーク環境20の登録ユーザが最初、所与のユーザ・セッションでソーシャル・ネットワーク環境20からウェブ・ページをリクエスト
する場合、ソーシャル・ネットワーク環境20からユーザのクライアント・デバイス30に伝達された応答は、クライアント・デバイスでログイン・ページをレンダリングするために、ページ生成プロセス200によって生成された構造化文書を含むことができる。ユーザは次いで、ソーシャル・ネットワーク環境20にユーザのクライアント・デバイス30からその後伝達される、自分のユーザ・ログイン認識情報(例えば、ユーザIDおよびパスワード)を入力することができる。ユーザの認証が成功した場合、ソーシャル・ネットワーク環境20はその後、ユーザのクライアント・デバイスでのユーザ・ホームページまたはユーザ・プロフィール・ページをレンダリングするために、ページ生成プロセス200によって生成された構造化文書を含む、ユーザのクライアント・デバイス30でのユーザのウェブ・ブラウザ202への応答を伝達することができる。
【0020】
例示的な一実施形態では、ソーシャル・ネットワーク環境20は、クライアント・デバイス30でのユーザが、本願明細書に記載されるように、互いに通信あるいは相互作用し、ユーザ・プロフィールなどのコンテンツにアクセスすることを可能にするコンピューティング・システムを備える。ソーシャル・ネットワーク環境20は、様々な実施形態では、
図2Aに示すように、1つまたは複数の物理的サーバ22aまたは22b(以下、集合的にサーバ22とも呼ぶ)と、(幅広い統合または分散されたコンピューティング・システム、データベース、またはデータ・サーバの1つまたは複数内で、またはこれによって実施することができる)以下、集合的にデータ・ストア24とも呼ぶ、1つまたは複数のデータ・ストアを備えるネットワーク・アドレス可能なシステムである。1つまたは複数の物理的サーバ22は、例として、1セットのルータまたはネットワーキング・スイッチ26を通じて、コンピュータ・ネットワーク60に動作可能に接続される。例示的な実施形態では、1つまたは複数の物理的サーバ22によってホスティングされる機能は、ウェブまたはHTTPサーバ、FTPサーバと、これらに限定されるものではないが、共通ゲートウェイ・インターフェイス(CGI)スクリプト、PHPハイパー・テキスト・プレプロセッサ(PHP)、アクティブ・サーバ・ページ(ASP)、ハイパー・テキスト・マークアップ言語(HTML)、拡張可能マークアップ言語(XML)、Java(登録商標)、JavaScript、非同期JavaScriptおよびXML(AJAX)などを使用して実施されるウェブ・ページおよびアプリケーションを含むことができる。
【0021】
物理的サーバ22は、ソーシャル・ネットワーク環境20の動作を対象として機能をホスティングすることができる。例として、ソーシャル・ネットワーク環境20は、1つまたは複数のユーザが、1つまたは複数のクライアント・デバイス30で、情報を閲覧およびポスティングし、ウェブサイトを通じて互いに通信することを可能にするウェブサイトをホスティングすることができる。以下、サーバ22はサーバ22と呼ぶことができるが、記載されるように、サーバ22は、例えば、ソーシャル・ネットワーク環境20と、他のコンテンツ分散サーバ、データ・ストア、またはデータベースをホスティングする多くのサーバを含むことができる。データ・ストア24は、コンテンツ・オブジェクトを含むデジタル・データ・オブジェクトとして、ソーシャル・ネットワーク環境の動作に関する、およびこれを可能にするコンテンツおよびデータを記憶することができる。データ・オブジェクトは、特定の実施では、典型的にはデータ・ファイル、データベース、または記録内に記憶された、またはその中で具体化されたデジタル情報のアイテムである。コンテンツ・オブジェクトは、テキスト(例えば、ASCII、SGML、HTML)、画像(例えば、jpeg、tifおよびgif)、グラフィック(ベクトル・ベースおよびビットマップ)、音声、ビデオ(例えば、mpeg)、または他のマルチメディア、およびその組合せを含む、多くの形式であることができる。コンテンツ・オブジェクト・データはまた、実行可能コード・オブジェクト(例えば、ブラウザ・ウィンドウまたはフレーム内で実行可能なゲーム)、ポッドキャストなどを含むことができる。論理的には、データ・ストア24は、1つまたは複数の物理的システム上に記憶された論理的に関連する記録またはファイルの統合された収集として情報を保持する、関係データベースおよびオブジェ
クト指向データベースなどの、様々な別のまたは統合されたデータベースの1つまたは複数に対応する。構造的に、データ・ストア24は通常、データ記憶および管理システムの大きなクラスの1つまたは複数を含むことができる。特定の実施形態では、データ・ストア24は、1つまたは複数のデータベース・サーバ、マス・ストレージ媒体、メディア・ライブラリ・システム、ストレージ・エリア・ネットワーク、データ・ストレージ・クラウドなどの構成要素を含む、任意の適切な(1つまたは複数の)物理的システムによって実施することができる。例示的な一実施形態では、データ・ストア24は、1つまたは複数のサーバ、データベース(例えば、MySQL)、および/またはデータ・ウェアハウスを含む。
【0022】
データ・ストア24は、異なるソーシャル・ネットワーク環境20ユーザ、クライアント・デバイス30、ウェブ・アプリケーション・サーバ40、または企業サーバ50に関連するデータと、特定の実施形態では、様々なコンセプトに関連するデータを含むことができる。上述するように、特定の実施形態は、統合されたソーシャル・ネットワーク環境を可能にするプラットフォームを含むソーシャル・ネットワーク環境20に関する。以下の例示的な実施形態では、ソーシャル・ネットワーク環境を、ソーシャル・グラフ情報を含むソーシャル・グラフに関して記載または実施することができる。特定の実施形態では、データ・ストア24は、本願明細書に記載されたソーシャル・ネットワーク環境を実施する際に使用するためのソーシャル・グラフ情報が記憶されるソーシャル・グラフ・データベースを含む。特定の実施形態では、データ・ストア24内に、特にソーシャル・グラフ・データベース内にソーシャル・ネットワーク環境20によって記憶されるソーシャル・グラフ情報は、複数のノード、および対応するノード間の接続を規定する複数のエッジを含む。特定の実施形態では、ノードまたはエッジ自体は、そのうちのいくつかが実際に対応するプロフィールまたは他のページ上でレンダリングされる、(以下に記載するように)その対応するユーザまたはコンセプトに対する識別子、属性、および(その対応するプロフィール・ページに対する情報を含む)情報を含むデータ・オブジェクトである。ノードはまた、それぞれのノードに対応するプロフィール・ページのレンダリングと共に、コンテンツをレンダリングする際に使用するための他のオブジェクト、データ構造、またはリソースへのポインタまたは参照を含むことができる。
【0023】
図3は、メッセージを伝える目的で、二次元視覚マップ表示で示された例示的なソーシャル・グラフ300を示す。特定の実施形態では、ソーシャル・グラフ300の複数のノードおよびエッジは、データ・ストア24、特に、ソーシャル・グラフ・データベース内にデータ・オブジェクトとして記憶される。加えて、後述するように、データ・ストア24はさらに、ソーシャル・グラフ・データベースにインデックスを作成することによって生成されたノードまたはエッジの1つまたは複数の検索可能または問い合わせ可能なインデックスを含むことができる。特定の実施形態では、複数のノードは、第1のセットの管理ノード302、および第2のセットの非管理ノード304を含む。特定の実施形態では、第1のセットの管理ノード302は、それぞれのユーザ、およびそのユーザのそれぞれのユーザ・プロフィール・ページにそれぞれ対応するユーザ管理ノード(以下、「ユーザ・ノード」とも呼ぶ)である。特定の実施形態では、ユーザ・ノード304に対応するユーザ・プロフィール・ページは、(ソーシャル・ネットワーク環境20のオフィシャル管理者が概して、例えば、登録ユーザの一部上で緻密なあるいは不適当なアクションの結果として、ユーザのプロフィール・ページを変更または削除するためにアクセスしたいと望まない、または必要としない限り)それぞれの所有者(登録)ユーザのみによって変更する、書き込む、あるいは管理することができる。特定の一実施形態では、第1のセットのユーザ・ノード302は、第1のサブセットの認証ノード302a、および第2のサブセットの非認証ノード302bを含む。特定の実施形態では、第1のサブセットの認証ノード302aは、それぞれの登録された認証ユーザに対応し、第2のサブセットの非認証ノード302bは、ソーシャル・ネットワーク環境によって認証されなかった登録ユーザに
対応する。例えば、認証ユーザは、自己の対応するプロフィール・ページ内に存在すると主張するもの自身であることが実証されたユーザであり、非認証ユーザは、自己の対応するプロフィール・ページ内に存在すると主張するものであることが実証されなかったユーザである(例えば、非認証ユーザはバラク・オバマ(Barack Obama)大統領の名前でプロフィール・ページを登録することができるが、非認証ユーザはオバマ(Obama)大統領ではない)。いくつかの実施形態では、いくつかの既存のユーザ・プロフィール・ページでは、ソーシャル・ネットワーク環境20は、ユーザ・プロフィール・ページの管理者が本当に、主張されたユーザ(ユーザがそうであると主張する実際の人物)の認証音声であるか否かを判断することができる。現在の管理者は認証または本物の主張ユーザではないと判断された場合、ソーシャル・ネットワーク環境20は、ページに対するユーザの管理者権限を取り除くことができる。このように、ユーザ・ノードおよび対応するユーザ・プロフィール・ページは、後述するように、コンセプト・ノード304および対応するコンセプト・プロフィール・ページとして、ソーシャル・グラフ・データベース内に記憶されたソーシャル・グラフ情報内で再び規定することができる。様々な例示的な実施形態では、ユーザ・ノード302aおよび302bは、異なるノード・タイプとして明示的に分類されることができる、または分類されることができない、すなわち、一実施形態では、ユーザ・ノード302は、明示的なユーザ・ノード・タイプまたはサブタイプによるよりも、むしろノードに対応するデータ・オブジェクトで、またはその中に記憶されたデータに基づいて、認証ユーザ・ノードまたは非認証ユーザ・ノードとして識別され得ることに、さらに留意すべきである。
【0024】
図4Aは、ユーザ・ノード302に対応するユーザの例示的なユーザ・プロフィール・ページを示す。特定の実施形態では、ユーザ・プロフィール・ページは、ユーザ、ユーザの友達、および、例えば、ユーザのプロフィール・ページまたはユーザ・ホームページを通じてユーザによって設定または変更することができる、プライバシー設定によって、他の友達ではないユーザにも閲覧可能である。ユーザ・プロフィール・ページは、1つまたは複数のタブ401を選択することにより閲覧可能またはアクセス可能ないくつかの異なるサブページを備えることができる。例として、
図4Aに示した実施形態では、ユーザ・プロフィール・ページは、(以下に記載する)ポスティング用のウォール(フィード)にアクセスするためのウォール(フィード)タブ401aと、ユーザについてのまたはこれに関連する情報を入力および表示するためのインフォ・タブ401bと、写真をアップロードおよび表示するための写真タブ401cと、ボックス・タブ401dとを含む。ユーザは、ユーザ・プロフィール・ピクチャ403として表示するために、写真タブ401cにアップロードされた特定の写真または絵を選択することができる。例示的な実施では、ユーザのプロフィール・ピクチャ403と、例えば、メッセージを別のユーザに送信する、プロフィール・ページを編集する、ユーザの友達を閲覧する、またはユーザの写真を閲覧するオプションなどの他の特性を、どのタブ401が選択されたかにかかわらず、ページの「クローム」(ボーダー)領域内に表示することができる。いくつかの実施では、サーチ・バーまたはサーチ・インターフェイスはまた、ユーザ・プロフィール・ページ(および他のページ)のクローム内でレンダリングされ、他のユーザの名前、またはユーザが検索したいと望むコンセプトなどの情報をユーザがタイプ入力することを可能にする。通常、ユーザ・プロフィール・ページを通じてユーザおよび他のユーザにアクセス可能または閲覧可能な情報の大部分、または全てが、自ら宣言される、すなわち、ユーザ・プロフィール・ページが生成される場合に、デフォルトによって自動的に現れる可能性がある、または現れない可能性がある様々なセクションまたはフォーム内に情報またはコンテンツをユーザがタイプする、あるいは入力する。特定の実施形態では、ユーザは、ユーザがソーシャル・ネットワーク環境20にログインされる都度、自分のユーザ・プロフィール・ページを編集することができる。例として、ユーザ・プロフィールは、インフォ・タブ401bの下で基本的情報セクション402内の、例えば、適切な名前(人のファースト、ミドルおよびラスト・ネーム、事業エンティティの商号または会社名など)、伝記的、人
口学的、および他のタイプの記述的情報を含むことができる、ソーシャル・ネットワーク環境20によって有効にされたソーシャル・ネットワークのそれぞれのユーザを記載したデータを含む。基本的情報セクション402はさらに、ユーザの性別、現在の居住都市、誕生日、出身地、交際状況、政治的見解、ユーザが探しているものまたはユーザがどのようにソーシャル・ネットワークを使用しているか(例えば、友達関係、関係、日付記入、ネットワーキングなど)などを含むことができる。
【0025】
特定の実施形態では、ユーザ・プロフィール・ページはまた、ユーザがより個人的な宣言を入力することができる個人情報セクション406を含むことができる。例として、個人情報セクション406は、例えば、スポーツまたは音楽などの、自分が関与するか、または楽しむ様々なアクティビティを宣言することができる、サブセクション408を含むことができる。例えば、セクション408では、ユーザは、例えば、アクティビティを簡単にリスト化することによって、これらのアクティビティを宣言することができる。例えば、ユーザは、「ウェイト・リフティング、ハイキング、卓球、テーブル・サッカー」とリスト化することができ、または、例えば、「私はウェイト・リフティングを楽しむ、私はハイキングが好き、私は卓球をすることが大好き、私はテーブル・サッカーが得意である」とフレーズを使用することができる。ユーザは、例えば、コンマ、セミコロン、ダッシュ、またはキャリッジ・リターンで自分の宣言したアクティビティ(および、以下に記載する他の宣言)を分離するか、または描くことができる。例示的な個人情報セクション406はまた、ユーザが様々な興味を宣言することができるサブセクション410を含むことができる。また、ユーザは、例えば、「読書および写真撮影」をタイプ入力すること、または、例えば、「私は読書が好きである、私は写真撮影が好きである」などのフレーズを使用することなどによって、このような興味を簡単にリスト化することができる。別の実施例として、興味セクション406は、ユーザが好きである、または興味がある音楽を宣言することができる好きな音楽サブセクション412、好きなTV番組サブセクション414、好きな映画サブセクション416、好きな本サブセクション418、好きな引用サブセクション420、さらには、前に記載したセクションの下で適合することができない自分についての一般的宣言をユーザが入力することができる、一般的な「私について」サブセクション422を含むことができる。
【0026】
特定の実施形態では、ユーザ・プロフィール・ページはまた、例えば、Eメール・アドレス、電話番号、および居住都市を含む様々な連絡先情報をユーザが入力することができる、連絡先情報セクション424を含むことができる。ユーザ・プロフィール・ページはまた、ユーザが自分の学歴を入力することができる、教育および職業セクション426を含むことができる。例として、ユーザは、例えば、簡単に「スタンフォード大学(Stanford University)」をタイプ入力することによって、「私はスタンフォード大学(Stanford University)に通った」とタイプ入力することによって、またはメニュー・インターフェイスからスタンフォード大学(Stanford University)を選択することによって、セクション426で自分がスタンフォード大学(Stanford University)に通ったことを宣言することができる。ユーザはまた、例えば、取得学位、学位の分野、卒業日などのより特定の情報を記載することができる。別の例として、セクション426は、ユーザがユーザの職歴を入力することを可能にできる。例として、ユーザは、例えば、簡単に「会社Z」をタイプ入力することによって、「私は会社Zで働いている」とタイプ入力することによって、またはメニューから会社Zを選択することによって、自分は会社Zで働いていることを宣言することができる。
【0027】
特定の実施形態では、後により詳細に記載するように、前に記載したセクションまたはサブセクションの1つまたは複数に入力された宣言内の1つまたは複数の用語を、強調することができ、異なる色でレンダリングすることができ、下線を引くことができ、または
クリック可能とすることができる。例として、宣言として入力された1つまたは複数の用語、特に、既知のコンセプトまたは既存のコンセプト・ノード304に一致された用語は、クリックあるいは選択した場合に、用語に向けられた、および特定の実施形態では、宣言された用語と同一または同様である名前を有するコンセプト・プロフィール・ページにユーザを案内するハイパーリンクに関連している可能性がある。例として、好きなTV番組セクション414内の「ファミリー・ガイ」に対応するハイパーリンクをクリックすることにより、ファミリー・ガイTV番組に向けられたウェブ・ページ(以下に記載するように、コンセプト・プロフィール・ページ/ハブ)にユーザを案内することができる。
【0028】
特定の実施形態では、ユーザ・プロフィール・ページはまた、ソーシャル・グラフ・データベースに記憶されたソーシャル・グラフ内でエッジによって規定されたように、ユーザの友達の全てまたはサブセットを表示する(ページのクロームまたは他の領域内で閲覧することができる)友達セクション428を含む。特定の実施形態では、ユーザは、選択した友達のユーザ・プロフィール・ページへのユーザの案内をもたらす、友達に関連する名前またはサムネイル画像429をクリックすることができる。特定の実施形態では、第2のユーザがユーザの友達であるか否かにかかわらず、別の第2のユーザに対してユーザが行う任意のアクション、特定の実施形態では、様々なコンセプト・ノードに対してユーザが行うアクションを、ウォール(フィード)タブ401aの下でウォール(フィード)セクション432内でサブセクションとして閲覧可能である最近のアクティビティ・セクション430に表示させることができる。概して、ウォール(フィード)セクション432は、全てのユーザのプロフィール・ページ上のスペースであり、これにより、ユーザおよび友達は、ユーザおよび友達が閲覧するためのメッセージを入力ボックス434を通じてポストすることができるようになり、ウォール(フィード)上でのポストに関してコメントあるいは自分の考えを述べることについても同様である。
【0029】
特定の実施形態では、第2のセットの非管理ノード304は、それぞれのコンセプトおよび、それぞれのコンセプトに向けられたそれぞれのコンセプト・プロフィール・ページ(以下、「ハブ」とも呼ぶ)にそれぞれ対応する非管理ノードである。特定の実施形態では、非管理ノード(「コンセプト・ノード」または「ハブ・ノード」とも呼ぶ)304は、いずれか1つのユーザによって概して管理されないそれぞれのコンセプト・プロフィール・ページ(ハブ)を有するノードであり、むしろ、特定の実施形態では、ハブは通常、少なくとも部分的に、特定の実施形態では、ハブ・ノード304との接続を有していないユーザ(すなわち、そのユーザ・ノード302が、ソーシャル・グラフ・データベース内のソーシャル・グラフ内のエッジを有するハブ・ノード304に必ずしも接続されないユーザ)を含む、ソーシャル・ネットワーク環境20の任意の登録ユーザによって、管理、作成、書込みおよび貢献するか、または変更されることができる。ある意味で、ハブは、ソーシャル・ネットワーク環境20の登録ユーザのコミュニティによって管理されるか、またはこれに貢献することができる。特定の実施形態では、第2のセットのハブ・ノード304は、非汎用的ハブにそれぞれ対応する第1のサブセットの非管理ノード304a、および汎用的ハブにそれぞれ対応する第2のサブセットの非管理ノード304bを含む。例として、汎用的ハブは、ランニングなどの抽象的なアクティビティに向けられたハブであり、非汎用的ハブは、ランナーの特定のクラブに向けられたプロフィール・ページなどの、より特定のコンセプトに向けられたハブである。様々な例示的実施形態では、ノード304aおよび304bは、異なるノード・タイプとして明示的に分類されてもよいか、または分類されなくてもよい。すなわち、一実施形態では、ハブ・ノード304は、明示的なハブ・ノード・タイプまたはサブタイプによるよりも、むしろハブ・ノードに対応するデータ・オブジェクトとともに記憶されたデータに基づいて、すなわちデータ・オブジェクト内に記憶されたデータに基づいて、汎用的ハブ・ノードまたは非汎用的ハブ・ノードとして識別されてもよいことに、さらに留意すべきである。
【0030】
ユーザ・プロフィール・ページと同様に、コンセプト・プロフィール・ページ(「ハブ」)は、対応するハブ・ノード304に関連づけられたコンセプトに関連する情報を共有する。特定の実施形態では、ソーシャル・ネットワーク環境20にログインされ、ハブを閲覧する任意の登録ユーザは、ウィキサイトと同様のハブにコンテンツを加えることができる。
図5は、映画、「ショーシャンクの空に」に対する例示的なハブを示す。例示的な実施形態では、
図5に示すように、ハブは、ユーザ・プロフィール・ページと同様に、ウォール(フィード)タブ501a、インフォ・タブ501b、写真タブ501c、およびボックス・タブ501dを通じてアクセス可能なサブページを含むことができる。ハブはまた、概して、基本情報セクション502、詳細情報セクション504、および潜在的に、他のセクションを含むことができ、それらのうちいずれかが、または全てが、ハブを閲覧している任意のユーザによって書き込まれてもよく(ただし、特定の実施形態では、ユーザ生成またはユーザ追加コンテンツがハブ内で閲覧可能である前に、コンテンツ許可または同期プロセスに関連する時間遅延が存在する可能性がある)、またはそれに加えてまたは別法として、外部または第三者ソース(例えば、ウィキペディア)からの抽出情報に基づいて、それを行うことができる。ハブはまた、そのうちの1つをハブ用のプロフィール・ピクチャ512として選択することができる、コンセプト内またはこれに関連する画像をユーザがアップロードすることを可能にする写真タブ501cの下で写真またはピクチャ・セクションを含むことができる。
【0031】
特定の実施形態では、ウォール(または、ニュース・フィード/アクティビティ・フィード)セクション501a、またはハブの他のフィードまたはアクティビティ・セクションは、コメント、ステータス更新、ウォール・ポスト、およびハブを閲覧しているユーザおよびユーザの友達に関連する他のユーザ・アクティビティを表示する。ウォール(または、ニュース・フィード/アクティビティ・フィード)セクション501a、またはハブの他のフィードまたはアクティビティ・セクションはまた、コメント、ステータス更新、ウォール・ポスト、およびハブが生成されたコンセプトに関連する他のユーザ・アクティビティおよびユーザ生成コンテンツを表示することができる。より詳細には、ソーシャル・ネットワーキング環境20内の1つまたは複数のプロセスは、コメント、ステータス更新、ウォール・ポスト、およびコンセプトによってフィルタリングされたリクエストしているユーザおよびリクエストしているユーザの友達に関連する他のユーザ生成コンテンツおよびユーザ・アクティビティに関するサーチ、すなわち、ユーザ・フィードのこれらのストリーム内の現在リクエストまたは閲覧されたハブのコンセプトに関するキーワード(および潜在的には、薦められたハブに関連づけられたコンセプトに関するキーワード)、またはリクエストしているユーザおよびリクエストしているユーザの友達に関するアクティビティに対するキーワード・サーチを行うことができ、現在リクエストまたは閲覧されたハブのウォールまたはフィード・セクション501a内のこのようなサブセットのユーザ・コンテンツまたはアクティビティを表示することができる。例として、2010年2月11日出願の、「ソーシャル・ネットワークにおけるリアル・タイム・コンテンツ・サーチ」という名称の米国特許出願第12/704,400号は、このようなサーチ、フィルタリング、および表示を行うための方法、プロセス、またはシステムを記載し、本願明細書に援用される。ウォールまたはフィード・セクション501aはまた、コメント、ステータス更新、ウォール・ポスト、およびハブを閲覧しているユーザおよびユーザの友達のものだけではなく、ハブが生成されたコンセプトに関連するソーシャル・ネットワーキング環境20の任意の全てのユーザの他のユーザ・アクティビティを表示する、記載されたものとは別のセクションである可能性がある、セクションを含むことができる。
【0032】
特定の実施形態では、ハブの生成の際に特定のハブ内で表示されるデフォルト・セクションは、コンセプト自体に依存してもよい。すなわち、ハブ・ノード304は、ソーシャル・ネットワーク環境20によって分類されることができ、これらの分類(例えば、人、場所、物、アクティビティ、スポーツ、スポーツ・チーム、著名人、都市、位置、映画、
俳優、本、レストランなど)は、少なくとも部分的に、どのセクションが特定のハブ上に表示されているかを決定することができる。例として、映画ハブは、
図5に示すように、映画に主演している俳優を入力するためのセクションまたはサブセクションと、演出家、作家、リリース・スタジオ、リリース日などの情報を入力するセクションまたはサブセクションを含むことができる。特定の実施形態では、ハブはまた、
図5に示された例ではファン・セクション508などの、コンセプトに対するか、またはそれとの接続(および、ソーシャル・グラフ内の対応するエッジ)を有するユーザをリスト化または表示する、(特定の実施形態では、どのタブ501が現在選択されているかにかかわらず閲覧可能である)セクション508を含む。例として、このようなユーザは、接続、および例えば、映画が好きであり、映画を観た、映画を観たい、映画内で演じたなどを示す、ソーシャル・グラフ・データベース内に記憶された関連エッジを有することができる。いくつかの実施形態では、ファン・セクション508内に表示されるユーザは、ハブを現在閲覧しているユーザの友達でもあるユーザだけを含む。
【0033】
特定の実施形態では、各ハブはまた、名前512、サムネイル画像514、またはそれぞれの他のタブに対するハイパーリンクをそれぞれ含むことができる、他のハブに関連する他の識別子のリストまたはセットを含むまたは表示する、(特定の実施形態では、どのタブ501が現在選択されているかにかかわらず閲覧可能である)お薦めセクション510を含むことができる。特定の実施形態では、お勧めセクション510内に表示またはリスト化されたハブは、ソーシャル・グラフ・データベースから抽出した利益効果を有する情報の1つまたは複数に関連して、すなわち基づいて決定される。これらの情報は、特定のハブ(以下、「リクエストされたハブ」とも呼ぶ)をリクエストまたは現在閲覧している特定のユーザ(以下、「リクエストしているユーザ」とも呼ぶ)、そのユーザの友達であって、自身のユーザ・ノード302が、対応するエッジによってリクエストされたハブのハブ・ノード304に接続されてもよいが、または接続されなくてもよい、そのユーザの友達、およびリクエストされたハブのハブ・ノード304を有する他のハブであって、リクエストされたハブのハブ・ノード304にもまた接続された他のハブを含む。例として、お薦めセクション510内に表示された薦められたハブは、(ソーシャル・グラフ・データベース内のエッジによって規定されるように)リクエストしているユーザの友達、および特に(ソーシャル・グラフ・データベース内のエッジにより)リクエストされたハブにも接続された友達によって好まれた、あるいは(ソーシャル・グラフ・データベース内のエッジにより)接続されたハブを含むことができる。別の例として、お薦めセクション510内に表示された薦められたハブは、ユーザ、および特に(ソーシャル・グラフ・データベース内のエッジによって規定されたように)リクエストしているユーザの友達が、好む、あるいは(ソーシャル・グラフ・データベース内のエッジにより)接続されるが、(ソーシャル・グラフ・データベース内のエッジにより)リクエストされたハブに必ずしも接続されていないハブを含むことができる。別の例として、お薦めセクション510内に表示された薦められたハブは、(ソーシャル・グラフ・データベース内のエッジにより)リクエストされたハブ、および(ソーシャル・グラフ・データベース内のエッジによって規定されたように)リクエストしているユーザの1つまたは複数の友達に接続されたハブを含むことができる。別の例として、お薦めセクション510内に表示された薦められたハブは、(ソーシャル・グラフ・データベース内のエッジにより)リクエストされたハブに接続されているが、(ソーシャル・グラフ・データベース内のエッジによって規定されたように)リクエストしているユーザの友達に必ずしも接続されていないハブを含むことができる。
【0034】
特定の実施形態では、ハブ・ノード304およびこれらに対応するハブは、ソーシャル・ネットワーク環境20のユーザによって明示的に生成されるか、または様々な基準に基づいて自動的に生成されることができる。特定の実施形態では、ハブ、およびこれらに対応するハブ・ノード304は、2つの種類であってもよく、例えば、汎用的または非汎用
的として考えられるか、または分類されるか否かなどである。特定の1つの実装形態において、ハブおよびこれらに対応するハブ・ノード304は、「ロックされる」または「ロック解除される」可能性がある。ハブは、例えば、ソーシャル・ネットワーク環境20の作成者または管理者によって、作成時、または他の適切な時にロックされてもよい。上述したように、ハブは基本的にコミュニティによって所有されており、したがって、特定の実施形態では、ソーシャル・ネットワーク環境20の任意のユーザは、ハブを編集(例えば、ハブに対するコンテンツまたは宣言を追加する)ことができる。しかし、特定の実施形態では、ロック解除されたハブ内の編集は直ちに「反映される」(ハブを閲覧しているユーザまたは他のユーザに閲覧可能になる)ことができ、ロックされたハブ内の編集は、変更されユーザに対して公開として提示される前に、信頼されるユーザまたは管理者による許可が必要である。加えて、いくつかの実施形態では、どのユーザがどのコンテンツをハブに加えたのかと、これらのユーザがいつそれぞれのコンテンツを加えたのかをソーシャル・ネットワーク環境20によって追跡することができることに留意すべきである。
【0035】
なお、特定の実施形態では、ソーシャル・ネットワーク環境20は、ハブ・ノード304に対応するハブ(すなわち、非認証ユーザ・ノード302bに対応する非認証ユーザ・プロフィール・ページ)の本物の音声のための手段またはプロセス(例えば、選択可能リンクまたはユーザ・インターフェイス)を提供する。ハブの本物の音声とは、以前に生成されたハブ・ノード304に対して実際の著名人または事業などのハブの本物の音声であって、これらのノードを宣言することによって、これらに関する管理者権限を有し、例えば、登録された認証ユーザ・ノード302aとして(または、代替的に、認証ハブ・ノード304として)ソーシャル・グラフ内でこれらをレンダリングする。
【0036】
図3に示すように、ソーシャル・グラフ・データベース内に記憶されたユーザ・ノード302およびハブ・ノード304は、エッジを通じて互いに接続することができる。上述したように、いくつかの実施形態では、各エッジは、エッジによって接続された1対のノード間の接続を規定、表明、または特徴付ける複数のエッジ・タイプのうちの1つのエッジ・タイプによって分類されるか、または特徴付けられる。例として、ユーザ・ノード302は、第1のエッジ・タイプのエッジ306を通じて互いに接続されてもよい。特定の実施形態では、エッジ306は、それらに対応するユーザ・ノード302に関連するユーザ(例えば、友達)間の友達関係または他の社会的関係接続を規定する。加えて、ユーザ・ノード302は、1つまたは複数の第2のエッジ・タイプのエッジ308を通じてコンセプト・ノード304と接続させることができる。例として、ユーザ・ノード302に対応するユーザは、自分が特定のハブ・ノード304に対応するコンセプトを好きである、ファンである、欲しい、あるいは興味または関連性を有することを宣言する、あるいは表明することができる。上述したように、他のエッジ・タイプは、楽曲を再生および/または共有するなどの、ハブ・ノードに関連したコンセプトまたはデジタル・オブジェクトとのユーザの対話に基づくことがある。ユーザは、対応するコンセプト・ノードのハブ上のリンクをクリックすることにより、または、例えば、招待に応じてユーザのホームページまたはプロフィール・ページ内のリンクをクリックする、友達のプロフィール・ページ内のリンクをクリックするなどの他の適切な手段によって、または、特定の実施形態では、いくつかの自動または自動化手段によって、この好みまたは興味を表明することができる。
【0037】
さらに、いくつかの実施形態では、様々なハブ・ノード304は、第3のエッジ・タイプのエッジ310を通じてソーシャル・グラフ・データベース内で互いに接続されることができる。この第3のエッジ・タイプは、そのうちのいくつかがこのようなハブを階層に組織化する傾向がある、ハブ・ノード304間の情報またはカテゴリ関係を規定することができる。例として、アジア料理に向けられた汎用的ハブは、そのページ内に、様々なアジア・レストランへのリンクまたは非汎用的ハブ内に表示されるレビュー・ページを有す
ることができる。このように、ソーシャル・グラフでは、エッジ310は、汎用的アジア料理ハブを、1つまたは複数の他の汎用的ハブまたは非汎用的ハブに接続することができる。
【0038】
加えて、いくつかの実施形態では、各エッジ・タイプは、対応する対のノード間の特定のタイプの接続を記載する、より詳細またはメタデータを加える複数のエッジ・サブタイプを含むことができる。さらに、いくつかの実施形態では、新たなエッジ・タイプは、自動的にまたは動的に規定または生成されることができる。例として、第三者ウェブ・アプリケーションに入力されるか、またはこれに関する情報によって、新たなエッジ・タイプが規定され生成されることができる。特定の例として、ネットフリックス用のウェブ・アプリケーションによって、「私が観たい映画」を表すエッジ・タイプが発生され得る。
【0039】
エッジが関連するエッジ・タイプを有するか、または関連するエッジ・タイプが割り当てられたこのような実施形態では、エッジ自体が、そのエッジが接続する1対のノード間の接続のタイプを規定するデータを記憶する、すなわちこのデータとともに記憶されることができる。このデータは、例えば、エッジが接続するノードのタイプ(例えば、ユーザ、ハブ、カテゴリ、またはハブの分類)、エッジが接続する他のノードに対してエッジによって接続された1対のノードの1つの管理者のアクセス権限(例えば、エッジによって接続された他のノードに対して1つのノードの管理者の読取または書込アクセス)を記載したデータ、またはエッジがどのようにまたはなぜ最初に初期化または作成されたのか(例えば、明示的なユーザ・アクションまたは宣言に応じて、または明示的なユーザ・アクションなしで自動的に)を記載したデータ、他の適切なまたは関連するデータのうち、エッジによって接続されたノードに関連するか、またはこれによって共有される様々な要因または基準(または、よりに詳細には、それぞれの接続されたノードに関連するユーザまたはコンセプト)によって判断されるような接続の強度などである。
【0040】
代替実施形態では、各エッジは、エッジが接続するノードのタイプに関係なくノード間の接続を単に規定するか、または示すことができる。すなわち、エッジ自体が、エッジが接続するノードの識別子を記憶するか、すなわちノードの識別子とともに記憶されることができるが、エッジが接続する1対のノード間の接続のタイプを記載したデータを記憶することはできない、すなわちこの接続のタイプを記載したデータとともに記憶されることはできない。さらに、これらまたは他の実施形態の1つにおいて、エッジによって接続されるノード間の接続または関係のタイプを示すことのできるデータは、ノード自体とともに記憶されることができる。特定の実施形態では、エッジと、属性(例えば、エッジによって接続されるノードに対応するエッジ・タイプおよびノード識別子)、メタデータ、またはエッジを規定する、特徴付ける、またはこれに関連する他の情報は、ソーシャル・グラフ・データベース内に(例えば、データ・オブジェクトとして)記憶され、周期的に、または様々なアクションまたは要因に応じて更新されることができる(例えば、ユーザが、ハブとより相互作用するときに、その対応するユーザおよびハブ・ノードを接続するエッジがこのような相互作用を反映させるように更新され、その後、以下により詳細に記載するように、そのエッジを特徴付ける親近感または接続強度スコアに貢献してもよい)。
【0041】
特定の実施形態では、ソーシャル・ネットワーク環境20は、様々な目的で、または様々な既存のまたは新たな特性を実施または増大させるために、ユーザ・ノード302とハブ・ノード304の両方から抽出した情報を利用することができる。加えて、ハブ・ノード304に、様々なユーザによって入力または提供された情報が投入されると、他のハブ・ノード304およびこれらに対応するハブは、以下に記載するように、このような情報に基づいて生成されることができる。さらに、ハブは、多くの方法でユーザに価値を与えることができる。例として、第1のユーザが特定のハブを訪れた場合、ユーザは、ユーザの友達のうち様々な友達もまた、ハブに接続されていることに気が付くことができる。例
えば、オンライン音楽ストアでは、ハブは、音楽アーティスト、アルバムまたは特定の楽曲に対応することができる。第1のユーザはまた、他のハブのどのハブにこれらの友達が接続されたかを容易に判断することができる。ソーシャル・ネットワーク環境20はまた、例えば、薦められたハブなどの、ターゲット化された広告を生成するか、またはユーザに薦めるために使用される、他のハブを生成するために使用されることができる、重複した興味または属性を見つけるために、ユーザおよびユーザの友達に関するこのような情報を相関させることができる。
【0042】
図6は、二次元表示での、
図3の例示的なソーシャル・グラフの一部を示す。コンセプト・ノード601〜619は、ソーシャル・ネットワーク上のコンセプトを示す。コンセプト・ノード601〜619は、管理ノードまたは非管理ノードであってもよい。例えば、ノード609(「バスケットボール」)は、単一のユーザがノードを作成したとは考えにくいような幅広いコンセプトであってもよい。コンセプト・ノード601〜619は、ハブ・ページで閲覧可能なコンセプト・ノード、またはソーシャル・ネットワークのユーザに可視でなく、ハブ・ページを有しない属性ノードであってもよい。例えば、ノード605(「スポーツ」)は、ハブを有するとは全く考えられないような幅広いコンセプトであり、したがって、可視でない属性ノードである。特定の実施形態では、「スポーツ」というコンセプトに対する汎用的ハブであってもよい。コンセプト・ノード601は、アプリケーション、この場合、「NBA2011」というタイトルのゲームを示すオブジェクト・ノードである。オブジェクト・ノード601は、これに直接接続された多数のコンセプト・ノード601〜604を有する。特定の実施形態では、オブジェクト・ノード601は、ユーザがダウンロードするためのゲームをアプリケーション・ストアにアップロードした場合に、ゲーム発行元によって明示的に生成される。このような場合、ソーシャル・ネットワークでは、オブジェクト・ノードを作成するユーザが、ゲームの発行元、ジャンル、および日付などの所定のフィールドに書き込む必要がある。ユーザからこれらの値を受信した後に、ソーシャル・ネットワークは、値をソーシャル・ネットワーク内のコンセプト・ノードまたは属性ノードと適合させる。この例では、値はそれぞれ、既存の属性ノード602、603、および604にリンクされる。オブジェクト・ノードを公開するユーザによって入力された特定の値を既存のコンセプト・ノードと一致させることができない場合、これは動的に生成される。
【0043】
コンセプト・ノード605(「スポーツ」)に接続されるのは、チアリーダ606、サッカー607、フットボール608、およびバスケットボール609を示すコンセプト・ノードである。バスケットボール・チーム612、613、および614に対応する個別のフットボールおよびサッカー・チームは明らかに存在するが、この図の目的では図示しない。加えて、各チームのコンセプト・ノードは、コンセプト・ノード616、617、618および619などの、多数の選手のコンセプト・ノードを含むことができる。コンセプト・ノード606(「チアリーダ」)は、コンセプト・ノード612をチアリーダX(610)およびチアリーダY(611)に接続させるコンセプト・エッジによって明らかなように、2つの異なるシカゴ・ブルズ・チアリーダに対するコンセプト・ノードを示す、2つの接続されたコンセプト・ノード610および611を含む。ソーシャル・グラフの複雑性は、各ノードおよびエッジが加えられると共に増加し、多くの場合では、二次元空間において明確にレンダリングすることができない。
【0044】
オブジェクト・ノード601に関して、第2および第3のレベルのコンセプト・ノード605(スポーツ)および609(バスケットボール)は、ユーザが書き込む必要があるサブジャンル・フィールドとして同様に生成されることができる。特定の実施形態では、第2および第3のレベルのコンセプト・ノードは、オブジェクト・ノード601に関する他の情報の自然言語処理により、ソーシャル・ネットワークによって動的に生成される。
【0045】
ユーザ・ノード620は、ユーザ・ノード621によって示された第2のユーザに友達のエッジを通じて接続された第1のユーザに対応する。ユーザ620は、ソーシャル・ネットワーク上で「ライク」とすることによって、コンセプト・ノード614および615によって示された、2つのバスケットボール・チーム、ヒューストン・ロケッツ(Houston Rockets)およびマイアミ・ヒート(Miami Heat)に対する親近感を明示した。ユーザ・ノード620はコンセプト「バスケットボール」609に対する親近感を明瞭に明示しなかったが、ソーシャル・ネットワークは、コンセプト・ノード614(「マイアミ・ヒート(Miami Heat)」)、コンセプト・ノード615(「ヒューストン・ロケッツ(Houston Rockets)」)、および全体的なコンセプト「バスケットボール」の間のコンセプト・エッジにより、ユーザ・ノード620からコンセプト・ノード609への親近感を推論することができる。同様に、ソーシャル・ネットワーク・ユーザ2(ユーザ・ノード621)は、コンセプト・ノード619を「ライク」とすることにより、「ドウェイン・ウェイド(Dwyane Wade)」選手への親近感を示した。したがって、ソーシャル・ネットワークは、ユーザ・ノード621からコンセプト・ノード609へのより弱い親近感を推論することができる。
【0046】
特定の実施形態では、ソーシャル・ネットワークは、特定のユーザに対する関連性について、ソーシャル・グラフ内のオブジェクト・ノードの全てまたはサブセットを降順にランキングしたい場合がある。例えば、ユーザがゲームまたは第三者アプリケーションを購入するためにアプリ・ストアを訪れた場合、特定のユーザに最も関連するオブジェクトを表示することがユーザおよびオブジェクト・ノード発行元の両方にとって有益である。しかし、さらに記載するようなランキング・システムは、ユーザ・ノードへの関連性に基づいて、オブジェクト・ノードをランキングすることに限定されるものではない。実際、本願明細書に記載した方法は、任意のノードが他の任意のノードに対する一致係数を生成することに適用することができる。
【0047】
特定の実施形態では、二次元グラフで示されているが、
図3および
図6のソーシャル・グラフは、テーブルまたはリンク付けされたリストなどのデータ構造内に記憶されることができる。例えば、コンセプト・ノード「スポーツ」は、複数のエントリを含むことができ、これらのエントリは、各スポーツ「バスケットボール」、「フットボール」、「サッカー」などに対して1つずつのエントリである。これらのエントリはそれぞれ、個別のスポーツに対するコンセプト・ノードに対するポインタまたはリンクを含む。例えば、「スポーツ」テーブル内のエントリ「バスケットボール」は、「バスケットボール」に対する別のテーブルへのリンクを含むことができる。例として、「バスケットボール」に対するテーブルは、各個別のチームに対する多数のエントリを含むことができ、各エントリは別のテーブルに対するポインタまたはリンクを備える。特定の実施形態では、様々なテーブルに対するリンクまたはポインタは、2つのテーブル間の接続タイプに関する情報を含むことができる。
【0048】
図7は、ソーシャル・グラフ・データベースから抽出された情報に少なくとも部分的に基づいて、特定のユーザ・ノードに対するノードをランキングするために、1つまたは複数のサーバ側ランキング・プロセス(これ以降、ランキング・プロセスと呼ぶ)によって、またはこれと共に実施される例示的な方法を示すフローチャートを示す。特定の実施形態では、ランキング・プロセスは、ソーシャル・グラフ・データベースからソーシャル・グラフ・データを利用しており、このソーシャル・グラフ・データベースは、ソーシャル・グラフ・データに基づいてランキングを生成するために、ソーシャル・グラフ・データベースにインデックスを作成することによって生成された1つまたは複数のサーチを行うことができるか、または問い合わせ可能なインデックスを含むことができる。
【0049】
ステップ701では、ユーザ・ノードはオブジェクト・ノードと比較される。特定の実
施形態では、ランキングは、アプリケーション・マーケット内のアプリケーションまたはゲームに対応するオブジェクト・ノードに対して生成される。特定の実施形態では、オブジェクト・ノードは、コンテンツ・マーケットからダウンロードされる楽曲または他のメディアに対応する。特定の実施形態では、任意の2つのノードを比較して、2つのノード間の一致係数に基づいてランキングを生成することができる。例えば、2つのユーザは、ターゲット化された広告の目的で同様性を判断するために、ランキング・アルゴリズムを通じて比較されることができる。
【0050】
ステップ702では、ランキング・プロセスは、ユーザ・ノードおよびオブジェクト・ノードの両方に接続された共通の属性ノードを選択する。例えば、
図6を参照すると、ユーザ1は、第1のレベル接続として「好き」エッジを通してコンセプト・ノード614および615に接続され、コンセプト・ノード614および615を通じて、第2のレベルのコンセプト・エッジにより、コンセプト・ノード609に、第3のレベルのコンセプト・エッジを通してノード605に接続される。
【0051】
同様に、オブジェクト・ノード601は、第1のレベルのコンセプト・エッジを通してノード609に接続される。特定の実施形態では、ノード609(「バスケットボール」)は、オブジェクト・ノード601が生成された場合に、メタデータとしてオブジェクト・ノード601に関連するユーザによって入力される。
【0052】
ステップ703では、ユーザ属性係数およびオブジェクト属性係数は、ランキング・プロセスによって算出される。ユーザ属性およびオブジェクト属性係数は、特定の属性ノードがユーザまたはオブジェクトに対する重要度を示す。特定の実施形態では、オブジェクト属性係数の値は、割り当てられるメタデータ・カテゴリに依存する。例えば、ゲームまたはアプリケーションのジャンルは、発行年、または発行元よって規定されるため、より関連性がある。特定の実施形態では、オブジェクト・ノード管理者は、オブジェクト・ノードを生成するに際し、オブジェクトを記載するメタデータを入力するよう促され、ランキング・システムは、「重要」として入力された第1のXメタデータ・タグをランキングする。
【0053】
ユーザ属性係数は、特定のノードが特定のユーザに対してどの程度重要かを示す。この係数は、様々な方法で重み付けされることができる。特定の実施形態では、ノードに対する分離度が、係数の重みを変更し、第1のレベル接続は、第2および第3のレベル接続よりもユーザにとって重要である。特定の実施形態では、ノードへの接続のタイプは、ユーザ属性係数に影響を与える。例えば、ユーザがコンセプト・ノードの「ファン」になった結果、コンセプト・ノードに対するユーザ属性値は、「好き」エッジを通じて接続されたコンセプト・ノードより高く重み付けされてもよい。特定の実施形態では、明示的なグラフ接続は、暗示的なグラフ接続より高く重み付けられる。特定の実施形態では、ユーザ属性係数は、第1のレベル接続を通してユーザに接続されたノードと第1のレベル接続をより多く共有する第2のレベル接続に対して大きくなる。例えば、ユーザが、10人全てが特定のノードを好きである10人の友達を有する場合、その第2のレベル・ノードは、ユーザの友達の5人が好きな第2のレベル・ノードより高くランキングされる。
【0054】
ステップ704では、フィードバック重みが、特定のオブジェクト属性係数に対して算出される。フィードバック重みは、オブジェクト・ノードに対する特定のコンセプト・ノードの重要度を変更する値である。フィードバック重みは、オブジェクトとのユーザによる対話を監視する機械学習アルゴリズムによって算出される。例えば、再び
図6を参照すると、ランキング・プロセスは、アプリケーション・ストアからのオブジェクト601のユーザ購入を監視する。ランキング・プロセスは、アプリケーション・ストアからゲームを購入するユーザのうち比較的多くのユーザが、コンセプト・ノード609(「バスケッ
トボール」)に対する高いユーザ属性係数を有し、ゲームを購入するユーザのうち比較的少ないユーザが、ノード606(「チアリーダ」)に対する強いユーザ属性係数を有することを判断することができる。したがって、ランキング・プロセスは、「バスケットボール」に対するフィードバック重みを大きくし、「チアリーダ」に対するフィードバック重みを少なくし、それによって、「チアリーダ」に対する親近感を示したユーザがゲーム上に表示される可能性を低くする。特定の実施形態では、フィードバック重みは、オブジェクト・ノードとのユーザによる対話がある、例えば、ノードに関連するアプリケーションをダウンロードする、ノードを好きになる、ノードのレビューをポストするか、またはソーシャル・ネットワークから離れてノードと相互作用する都度、変更される。
【0055】
特定の実施形態では、フィードバック重みを算出するために、ランキング・プロセスは、オブジェクト・ノードとのユーザ・ノードによる対話を検出し、オブジェクト・ノードとユーザ・ノード両方に接続されたノードを識別する。特定の実施形態では、1セットの相互接続されたノードは、第1のレベル接続に限られる。特定の実施形態では、1セットの相互接続されたノードは、第Nのレベルに限られる。特定の実施形態では、ユーザ・ノードに接続された属性ノードに対応するフィードバック重みは大きくされ、ユーザに接続されない属性ノードに対応するフィードバック重みは、小さくされる。例えば、対話は、ノードを「ライク」、ノードにチェックインする、ノードに対する親近感を示す、アプリケーション、映画、または楽曲などのノードに関連するコンテンツを購入する、ノードの肯定的レビューをポストする、ノードに対するオファーを引き換える、ノードをユーザのニュース・フィードにブーストするなどであってもよい。
【0056】
ステップ705では、ユーザ属性係数、オブジェクト属性係数、およびフィードバック重みの積が、算出および記憶される。
ステップ706では、ユーザ・ノードおよびオブジェクト・ノードの両方に接続された全ての相互属性ノードに対して、プロセスを繰り返す。特定の実施形態では、プロセスは第1のレベル・ノードだけに限られる。特定の実施形態では、プロセスは第Nのレベル・ノードだけに限られる。特定の実施形態では、分離限定度は課されず、ユーザ・ノードおよびオブジェクト・ノードは、全てのノード接続に基づいてマッチングが行われる。
【0057】
ステップ707では、記憶された積は合計されて、ユーザ・ノードに対するオブジェクト・ノードの全体的一致係数を得る。この全体的プロセスは、関連するセットにおける全てのオブジェクトに対して繰り返される。例えば、ユーザがアプリケーション・ストアをブラウジングしている場合、各アプリケーションの一致係数は、その特定のユーザに対して算出される。特定の実施形態では、最も高い一致係数を有する上位10のオブジェクトが、ユーザに表示される。特定の実施形態では、1セットのオブジェクトまたはコンセプト・ノードがフィルタリングされた後に、一致係数が算出される。例えば、音楽ストアをブラウジングしているユーザが、「ラップおよびヒップポップ」にサーチを限定した場合、そのジャンルにリスト化されたノードに対する一致係数のみが算出される。
【0058】
所与のユーザ・ノードとコンセプト(または、オブジェクト)ノードの間の一致係数の算出は、以下の通りに表すことができる。
【0060】
式中、iは、個別のコンセプト・ノードまたは属性ノードを示し、Uiはユーザ−属性係数を示し、Oiはオブジェクト−属性係数を示し、Fi,oは特定のオブジェクト・ノードおよび属性/コンセプト・ノード対に対するフィードバック重みを示す。
【0061】
特定の実施形態では、フィードバック重みは、明示的に規定された値ではなく、このような場合、オブジェクト−属性係数Oiは、ノード自体と観察されたユーザ・ノードとによる対話に基づいて、直接増減される。
【0062】
本願明細書に記載したアプリケーションまたはプロセスは、実行した場合に、1つまたは複数のプロセッサに上述した動作を実施させるように動作可能である、有形のデータ記憶媒体上で、またはその中で具体化または符号化されることができる、一連のコンピュータ読取可能命令として実施することができる。前述のプロセスおよび機構は、幅広い物理的システムによって、幅広いネットワークおよび演算環境で実施することができるが、以下に記載するコンピューティング・システムは、限定ではなく説明する目的で、上述したサーバおよびクライアント・システムの例示的なコンピューティング・システム・アーキテクチャを提供する。
【0063】
図8は、サーバ22a、22bを実施するために使用することができる、例示的なコンピューティング・システム・アーキテクチャを示す。一実施形態では、ハードウェア・システム800は、プロセッサ802と、キャッシュ・メモリ804と、本願明細書に記載された機能を対象とした、有形のコンピュータ読取可能媒体上に記憶された、1つまたは複数の実行可能モジュールおよびドライバとを備える。加えて、ハードウェア・システム800は、高性能入出力(I/O)バス806、および標準I/Oバス808を含む。ホスト・ブリッジ808は、プロセッサ802を高性能I/Oバス806に結合させ、I/Oバス・ブリッジ812は、2つのバス806および808を互いに結合させる。システム・メモリ814、および1つまたは複数のネットワーク/通信インターフェイス816は、バス806に結合する。ハードウェア・システム800はさらに、ビデオ・メモリ(図示せず)、およびビデオ・メモリに結合された表示デバイスを含むことができる。マス・ストレージ818、およびI/Oポート820は、バス808に結合する。ハードウェア・システム800は、任意選択では、キーボードおよびポインティング・デバイス、およびバス808に結合された表示デバイス(図示せず)を含むことができる。集合的に、これらの要素は、限定されるものではないが、インテル・コーポレーション社(Intel Corporation)[米国カリフォルニア州、サンタ・クララ(Santa Clara)所在]によって製造されたx86互換プロセッサ、およびアドバンスト・マイクロ・デバイス(AMD)インク(Advanced Micro Devices (AMD), Inc.)[米国カリフォルニア州、サニーベール(Sunnyvale)所在]によって製造されたx86互換プロセッサと、任意の他の適切なプロセッサに基づいて、汎用コンピュータ・システムを含む、幅広いカテゴリのコンピュータ・ハードウェア・システムを示すことを意図している。
【0064】
ハードウェア・システム800の要素は、以下により詳細に記載される。特に、ネットワーク・インターフェイス816は、ハードウェア・システム800と、イーサネット(登録商標)(例えば、IEEE802.3)ネットワーク、バックプレーンなどの幅広い範囲のネットワークの任意の間の通信を提供する。マス・ストレージ818は、サーバ22a、22b内で実施される上記機能を行うためにデータおよびプログラミング命令に対する永続的記憶を行ない、システム・メモリ814(例えば、DRAM)は、プロセッサ802によって実行された場合に、データおよびプログラミング命令に対する一時的記憶を行う。I/Oポート620は、ハードウェア・システム800に結合させることができる、追加の周辺デバイス間の通信を提供する、1つまたは複数のシリアルおよび/または
パラレル通信ポートである。
【0065】
ハードウェア・システム800は、様々なシステム・アーキテクチャを含むことができ、ハードウェア・システム800の様々な構成要素を再び配置することができる。例えば、キャッシュ804は、プロセッサ802と同じチップ上(オンチップ)にあってもよい。代替的に、キャッシュ804およびプロセッサ802は、「プロセッサ・モジュール」として共にパックすることができ、プロセッサ802は、「プロセッサ・コア」とも呼ばれる。さらに、本発明の特定の実施形態は、上記構成要素の全てを必要とせず、含んでいないこともある。例えば、標準I/Oバス808に結合されて示された周辺デバイスは、高性能I/Oバス806に結合されてもよい。加えて、いくつかの実施形態では、単一のバスだけが存在してもよく、ハードウェア・システム800の構成要素は、単一のバスに結合される。さらに、ハードウェア・システム800は、追加のプロセッサ、記憶デバイス、またはメモリなどの追加の構成要素を含むことができる。
【0066】
一実装形態では、本願明細書に記載した実施形態の動作は、個別にまたは集合的に分散コンピューティング環境において、ハードウェア・システム800によって実行される一連の実行可能モジュールとして実装される。特定の実施形態では、1セットのソフトウェア・モジュールおよび/またはドライバは、ネットワーク通信プロトコル・スタック、ブラウジングおよび他のコンピューティング機能、最適化プロセスなどを実装する。前述の機能モジュールは、ハードウェア、コンピュータ読取可能媒体上に記憶される実行形式モジュール、または両方の組合せによって実現されることができる。例えば、機能モジュールは、プロセッサ802などの、ハードウェア・システム内のプロセッサによって実行される複数のまたは一連の命令を含むことができる。最初に、一連の命令は、マス・ストレージ818などの、記憶デバイス上に記憶されることができる。しかし、一連の命令は、ディスケット、CD−ROM、ROM、EEPROMなどの、任意の適切な記憶媒体上に有形的に記憶されることができる。さらに、一連の命令はローカルに記憶される必要はなく、ネットワーク/通信インターフェイス816を通じて、ネットワーク上のサーバなどの、遠隔記憶デバイスから受信されることができる。命令は、マス・ストレージ818などの記憶デバイスから、メモリ814内にコピーされ、その後、プロセッサ802によってアクセスおよび実行される。
【0067】
オペレーティング・システムは、ソフトウェア・アプリケーション(図示せず)へのデータの入出力を含む、ハードウェア・システム800の動作を管理および制御する。オペレーティング・システムは、システム上で実行されているソフトウェア・アプリケーションとシステムのハードウェア構成要素間のインターフェイスを提供する。LINUX(登録商標)オペレーティング・システム、アップル・コンピュータ・インク(Apple Computer Inc.)[米国カリフォルニア州、クパチーノ(Cupertino)所在]から市販されているアップル・マッキントッシュ・オペレーティング・システム、UNIX(登録商標)オペレーティング・システム、マイクロソフト(登録商標)ウィンドウズ(登録商標)オペレーティング・システム、BSDオペレーティング・システムなどの、任意の適切なオペレーティング・システムを使用することができる。もちろん、他の実装も可能である。例えば、本願明細書に記載したニックネーム生成機能は、ファームウェア内、または特定用途向け集積回路上において実装されることができる。
【0068】
さらに、上記要素および動作は、記憶媒体上に記憶された命令を含んでもよい。命令は、処理システムによって検索および実行されることができる。命令のいくつかの例は、ソフトウェア、プログラム・コード、およびファームウェアである。記憶媒体のいくつかの例は、メモリ・デバイス、テープ、ディスク、集積回路、およびサーバである。命令は、本発明により、処理システムに動作するように命令するために、処理システムによって実行される場合に動作可能である。「処理システム」という用語は、単一の処理デバイス、
または相互運用処理デバイスのグループのことを言う。処理デバイスのいくつかの例は、集積回路および論理回路である。当業者は、命令、コンピュータ、および記憶媒体に精通している。
【0069】
本開示は、当該技術分野において通常の知識を有する者であれば理解されるであろう、本願明細書における例示的実施形態に対する全ての変更、置換、変形、改変、および修正を含む。同様に、適当である場合、添付の特許請求の範囲は、当該技術分野における通常の知識を有する者であれば理解されるであろう、本願明細書における例示的実施形態に対する全ての変更、置換、変形、改変、および修正を含む。例として、本発明の実施形態は、ソーシャル・ネットワーキング・ウェブサイトに関連して動作するものとして記載されるが、本発明は、ウェブ・アプリケーションをサポートする任意の通信設備に関連して使用されることができる。さらに、いくつかの実施形態では、「ウェブ・サービス」および「ウェブサイト」という用語は、交換可能に使用することができ、加えて、サーバに対して直接APIコールを行う、携帯デバイス(例えば、携帯電話、スマート・フォン、パーソナルGPS、携帯情報端末、パーソナル・ゲーム・デバイスなど)などの、デバイス上のカスタムまたは汎用APIのことを言うこともできる。