本開示は、一般に、ユーザへのデータの送信に対してリソースをより効率的に予測し、割り当てるために、各ネットワーク要素によってサービス提供されるソーシャル・ネットワーキング・システム・ユーザに基づいて、2つのネットワーク要素間の社会的親密度スコア(social affinity score)を計算することに関する。例えば、複数のユーザに関連付けられた2つのネットワーク要素の社会的親密度スコアは、特定のコンテンツがソーシャル・ネットワーキング・システムへアップロードされる場合に、一定のネットワーク要素へデータをプリフェッチするために使用され得る。また、ネットワーク要素の社会的親密度スコアは、発生しそうな特定のデータ転送を見込んで、接続を確立し、維持するためのリソースを割り当てるために使用され得る。
特定の実施形態において、本方法は、ソーシャル・ネットワーキング・システムの1人または複数の第1のユーザを識別する工程であって、第1のユーザは、第1のネットワーク要素によってデータを受信および送信する、識別する工程と、ソーシャル・ネットワーキング・システムの1人または複数の第2のユーザを識別する工程であって、第2のユーザは、第2のネットワーク要素によってデータを受信および送信する、識別する工程と、を含み得る。ネットワーク要素は、例えば、Wi−Fiルータ、セル・タワー基地局、ルータ、スイッチ、ハブ、サーバ、ファイアウォール、ゲートウェイ、ケーブル・モデム終端システム、ケーブル・モデム等、または他の端末ノードもしくは中間ノードを含んでもよい。特定の実施形態において、本方法は、第1のユーザの各々および第2のユーザの各々のソーシャル・グラフ情報を取得する工程と、第1のユーザと第2のユーザとの間の個々の社会的親密度スコアに少なくとも部分的に基づいて、第1のネットワーク要素と第2のネットワーク要素との間の集合的な(collective)社会的親密度スコアを計算する工程とを含み得る。本方法は、次いで、集合的な社会的親密度スコアに基づいて、第1のユーザおよび第2のユーザに関与するコンテンツ送信を取り扱うための何らかのタイプのアクションを行い得る。
特定の実施形態において、本方法は、第1のネットワーク要素において、第1のユーザのうちの1人に関連付けられた情報を受信する工程と、集合的な社会的親密度スコアに基づいて、第2のネットワーク要素へ情報をプリフェッチすることを決定する工程とを含む。
特定の実施形態において、集合的な社会的親密度スコアに基づいて行われるアクションは、集合的な社会的親密度スコアが高い場合に、ピーク期間を見込んで、TCP接続のプールを確立する工程を含む。
上記に開示される実施形態は、例に過ぎず、本開示の範囲は、それらに限定されない。特定の実施形態は、上記に開示される実施形態の構成要素、要素、特徴、機能、動作、または工程の全部を含んでも、一部を含んでも、または全く含まなくてもよい。
本発明に係る実施形態は、方法、記憶媒体、システムおよびコンピュータ・プログラム製品に向けられた添付の特許請求の範囲において特に開示されており、1つのクレーム・カテゴリ、例えば、方法において述べられる任意の特徴は、別のクレーム・カテゴリ、例えば、システムにおいても同様に特許請求され得る。添付の特許請求の範囲における従属関係または後方参照は、形式上の理由で選ばれているに過ぎない。しかしながら、任意の先行する請求項への意図的な後方参照(特に、多数項従属関係)に由来する任意の主題も同様に特許請求され得、それにより、添付の特許請求の範囲において選ばれた従属関係に関わらず、請求項およびその特徴の任意の組み合わせが開示されており、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において提示されるような特徴の組み合わせだけではなく、特許請求の範囲における特徴の任意の他の組み合わせも含み、特許請求の範囲において述べられる各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組み合わせと組み合わせられ得る。さらに、本願明細書において説明または図示される実施形態および特徴のうちの任意のものは、別個の請求項において、および/または、本願明細書において説明もしくは図示される任意の実施形態もしくは特徴との任意の組み合わせにおいて、もしくは添付の特許請求の範囲の特徴のうちの任意のものとの任意の組み合わせにおいて特許請求され得る。
本発明に係る実施形態は、方法、記憶媒体、システムおよびコンピュータ・プログラム製品に向けられた添付の特許請求の範囲において特に開示されており、1つのクレーム・カテゴリ、例えば、方法において述べられる任意の特徴は、別のクレーム・カテゴリ、例えば、システムにおいても同様に特許請求され得る。添付の特許請求の範囲における従属関係または後方参照は、形式上の理由で選ばれているに過ぎない。しかしながら、任意の先行する請求項への意図的な後方参照(特に、多数項従属関係)に由来する任意の主題も同様に特許請求され得、それにより、添付の特許請求の範囲において選ばれた従属関係に関わらず、請求項およびその特徴の任意の組み合わせが開示されており、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において提示されるような特徴の組み合わせだけではなく、特許請求の範囲における特徴の任意の他の組み合わせも含み、特許請求の範囲において述べられる各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組み合わせと組み合わせられ得る。さらに、本願明細書において説明または図示される実施形態および特徴のうちの任意のものは、別個の請求項において、および/または、本願明細書において説明もしくは図示される任意の実施形態もしくは特徴との任意の組み合わせにおいて、もしくは添付の特許請求の範囲の特徴のうちの任意のものとの任意の組み合わせにおいて特許請求され得る。
本発明に係る一実施形態において、方法は、
ソーシャル・ネットワーキング・システムの1人または複数の第1のユーザを識別する工程であって、第1のユーザは、第1のネットワーク要素によってデータを受信および送信するクライアント・デバイスに関連付けられる、識別する工程と、
第1のユーザの各々のソーシャル・グラフ情報を取得する工程であって、第1のユーザの各々のソーシャル・グラフ情報は、(1)第1のユーザと第1のユーザのソーシャル・グラフのつながりとの間の各関係性に関する社会的親密度スコア、および(2)ソーシャル・グラフのつながりのうちの少なくとも1つのクライアント・システムが接続される1つまたは複数の第2のネットワーク要素の識別を含む、取得する工程と、
取得されたソーシャル・グラフ情報に基づいて、ネットワーク要素の1つまたは複数のペアを識別する工程であって、ペアの各々は、第1のネットワーク要素および少なくとも1つの第2のネットワーク要素を含む、識別する工程と、
ネットワーク要素のペアの各々の集合的な社会的親密度スコアを計算する工程であって、集合的な社会的親密度スコアは、第1のユーザと第1のユーザのソーシャル・グラフのつながりとの間の複数のユーザ・ペアの社会的親密度スコアに少なくとも部分的に基づいて計算される、計算する工程と、
集合的な社会的親密度スコアに基づいて、第1のユーザおよび第2のユーザに関与するデータ送信を取り扱うためのアクションを行う工程と
を含む。
ネットワーク要素のペアの集合的な社会的親密度スコアを計算する工程は、
一組のユーザ・ペアを決定する工程であって、ユーザ・ペアの各々について、ユーザ・ペアの第1のユーザのクライアント・システムが、ネットワーク要素のペアの第1のネットワーク要素に対して接続され、ユーザ・ペアの第2のユーザのクライアント・システムが、ネットワーク要素のペアの第2のネットワーク要素に対して接続される、決定する工程と、
一組内のユーザ・ペアの各々の社会的親密度スコアの平均値を決定する工程と、
を含み得る。
社会的親密度スコアの平均値は、重み付けされた平均値を含み得る。
データ送信を取り扱うためのアクションを行う工程は、
ネットワーク要素の識別されたペアのうちの1つの第1のネットワーク要素において、第1のネットワーク要素に対して接続されたクライアント・デバイスによるデータの送信を受信する工程と、
データ送信に関する、ネットワーク要素の識別されたペアにおける第2のネットワーク要素へ通知を送信する工程と
をさらに含み得る。
本発明に係る一実施形態において、方法は、
ネットワーク要素の識別されたペアのうちの1つにおける第2のネットワーク要素において、通知を受信する工程と、
データ送信をプリフェッチする工程と
をさらに含み得る。
本発明に係る一実施形態において、方法は、
ネットワーク要素の識別されたペアのうちの1つにおける第2のネットワーク要素において、通知を受信する工程と、
集合的な社会的親密度スコアが高い場合に、ピーク期間を見込んで、TCP接続のプールを確立する工程と、
をさらに含み得る。
集合的な社会的親密度スコアを計算する工程は、定期的にかつ継続的に行われ得る。
ネットワーク要素のうちの少なくとも1つは、Wi−Fiルータを含み得る。
ネットワーク要素のうちの少なくとも1つは、セル・タワー基地局を含み得る。
同様に特許請求され得る、本発明に係るさらなる実施形態において、1つまたは複数のコンピュータ読取可能な非一時的な記憶媒体は、ソフトウェアを実施形態化し、このソフトウェアは、1つまたは複数のプロセッサによって実行されると、
ソーシャル・ネットワーキング・システムの1人または複数の第1のユーザを識別する工程であって、第1のユーザは、第1のネットワーク要素によってデータを受信および送信するクライアント・デバイスに関連付けられる、識別する工程と、
第1のユーザの各々のソーシャル・グラフ情報を取得する工程であって、第1のユーザの各々のソーシャル・グラフ情報は、(1)第1のユーザと第1のユーザのソーシャル・グラフのつながりとの間の各関係性に関する社会的親密度スコア、および(2)ソーシャル・グラフのつながりのうちの少なくとも1つのクライアント・システムが接続される1つまたは複数の第2のネットワーク要素の識別を含む、取得する工程と、
取得されたソーシャル・グラフ情報に基づいて、ネットワーク要素の1つまたは複数のペアを識別する工程であって、ペアの各々は、第1のネットワーク要素および少なくとも1つの第2のネットワーク要素を含む、識別する工程と、
ネットワーク要素のペアの各々の集合的な社会的親密度スコアを計算する工程であって、集合的な社会的親密度スコアは、第1のユーザと第1のユーザのソーシャル・グラフのつながりとの間の複数のユーザ・ペアの社会的親密度スコアに少なくとも部分的に基づいて計算される、計算する工程と、
集合的な社会的親密度スコアに基づいて、第1のユーザおよび第2のユーザに関与するデータ送信を取り扱うためのアクションを行う工程と
を行うように動作可能である。
集合的な社会的親密度スコアを計算する工程を行うように動作可能なソフトウェアは、
一組のユーザ・ペアを決定する工程であって、ユーザ・ペアの各々について、ユーザ・ペアの第1のユーザのクライアント・システムが、ネットワーク要素のペアの第1のネットワーク要素に対して接続され、ユーザ・ペアの第2のユーザのクライアント・システムが、ネットワーク要素のペアの第2のネットワーク要素に対して接続される、決定する工程と、
一組内のユーザ・ペアの各々の社会的親密度スコアの平均値を決定する工程と
を行うように動作可能なソフトウェアを含み得る。
データ送信を取り扱うためのアクションを行う工程を行うように動作可能なソフトウェアは、
ネットワーク要素の識別されたペアのうちの1つの第1のネットワーク要素において、第1のネットワーク要素に対して接続されたクライアント・デバイスによるデータの送信を受信する工程と、
データ送信に関する、ネットワーク要素の識別されたペアにおける第2のネットワーク要素へ通知を送信する工程と
を行うように動作可能なソフトウェアをさらに含み得る。
ソフトウェアは、
ネットワーク要素の識別されたペアのうちの1つにおける第2のネットワーク要素において、通知を受信する工程と、
データ送信をプリフェッチする工程と、
を行うようにさらに動作可能であり得る。
データ送信を取り扱うためのアクションを行う工程を行うように動作可能なソフトウェアは、
ネットワーク要素の識別されたペアのうちの1つにおける第2のネットワーク要素において、通知を受信する工程と、
集合的な社会的親密度スコアが高い場合に、ピーク期間を見込んで、TCP接続のプールを確立する工程と
を行うように動作可能なソフトウェアをさらに含み得る。
同様に特許請求され得る、本発明に係るさらなる実施形態において、システムは、
1つまたは複数のプロセッサと、
プロセッサによって実行可能な命令を含み、プロセッサに対して結合されるメモリとを備え、プロセッサは、命令を実行するときに、
ソーシャル・ネットワーキング・システムの1人または複数の第1のユーザを識別する工程であって、第1のユーザは、第1のネットワーク要素によってデータを受信および送信するクライアント・デバイスに関連付けられる、識別する工程と、
第1のユーザの各々のソーシャル・グラフ情報を取得する工程であって、第1のユーザの各々のソーシャル・グラフ情報は、(1)第1のユーザと第1のユーザのソーシャル・グラフのつながりとの間の各関係性に関する社会的親密度スコア、および(2)ソーシャル・グラフのつながりのうちの少なくとも1つのクライアント・システムが接続される1つまたは複数の第2のネットワーク要素の識別を含む、取得する工程と、
取得されたソーシャル・グラフ情報に基づいて、ネットワーク要素の1つまたは複数のペアを識別する工程であって、ペアの各々は、第1のネットワーク要素および少なくとも1つの第2のネットワーク要素を含む、識別する工程と、
ネットワーク要素のペアの各々の集合的な社会的親密度スコアを計算する工程であって、集合的な社会的親密度スコアは、第1のユーザと第1のユーザのソーシャル・グラフのつながりとの間の複数のユーザ・ペアの社会的親密度スコアに少なくとも部分的に基づいて計算される、計算する工程と、
集合的な社会的親密度スコアに基づいて、第1のユーザおよび第2のユーザに関与するデータ送信を取り扱うためのアクションを行う工程と
を行うように動作可能である。
集合的な社会的親密度スコアを計算する工程を行うように動作可能なプロセッサは、
一組のユーザ・ペアを決定する工程であって、ユーザ・ペアの各々について、ユーザ・ペアの第1のユーザのクライアント・システムが、ネットワーク要素のペアの第1のネットワーク要素に対して接続され、ユーザ・ペアの第2のユーザのクライアント・システムが、ネットワーク要素のペアの第2のネットワーク要素に対して接続される、決定する工程と、
一組内のユーザ・ペアの各々の社会的親密度スコアの平均値を決定する工程と、
を行うように動作可能なプロセッサを含み得る。
データ送信を取り扱うためのアクションを行う工程を行うように動作可能なプロセッサは、
ネットワーク要素の識別されたペアのうちの1つの第1のネットワーク要素において、第1のネットワーク要素に対して接続されたクライアント・デバイスによるデータの送信を受信する工程と、
データ送信に関する、ネットワーク要素の識別されたペアにおける第2のネットワーク要素へ通知を送信する工程と、
を行うように動作可能なプロセッサをさらに含み得る。
プロセッサは、
ネットワーク要素の識別されたペアのうちの1つにおける第2のネットワーク要素において、通知を受信する工程と、
情報を取得するための通知を第2のネットワーク要素へ送信する工程と
を行うようにさらに動作可能であり得る。
データ送信を取り扱うためのアクションを行う工程を行うように動作可能なプロセッサは、
ネットワーク要素の識別されたペアのうちの1つにおける第2のネットワーク要素において、通知を受信する工程と、
集合的な社会的親密度スコアが高い場合に、ピーク期間を見込んで、TCP接続のプールを確立する工程と
を行うように動作可能なプロセッサをさらに含み得る。
本発明に係るさらなる実施形態において、1つまたは複数のコンピュータ読取可能な非一時的な記憶媒体は、実行されると、本発明に係る方法または上述された実施形態のうちのいずれかを行うように動作可能であるソフトウェアを実施形態化する。
本発明に係るさらなる実施形態において、システムは、1つまたは複数のプロセッサと、プロセッサに対して結合され、プロセッサによって実行可能な命令を含む少なくとも1つのメモリとを備え、プロセッサは、命令を実行する場合に、本発明に係る方法または上述された実施形態のうちのいずれかを行うように動作可能である。
本発明に係るさらなる実施形態において、コンピュータ読取可能な非一時的な記憶媒体を好適には含むコンピュータ・プログラム製品は、データ処理システム上で実行されると、本発明に係る方法または上述された実施形態のうちのいずれかを行うように動作可能である。
特定の実施形態において、1つまたは複数のクライアント・システム(各々がソーシャル・ネットワーキング・システムのユーザに関連付けられる)は、コンテンツ配信ネットワーク内の第1のネットワーク要素(例えば、Wi−Fiルータまたはセル・タワーの基地局)に対して接続され得る。第1のネットワーク要素に対して接続されたクライアント・システムのうちの1つまたは複数へ配信されるべき、第2のネットワーク要素に対して接続されたクライアント・システムによってアップロードされたコンテンツは、この2つのネットワーク要素間で計算される集合的な社会的親密度スコアが最小閾値を超える場合に、(第1のネットワーク要素に対して接続されたデバイスのうちの1つまたは複数からの当該コンテンツに対する要求を受信することを見込んで)第1のネットワーク要素へ選択的にプリフェッチされ得る。このようなコンテンツおよび/またはデータの例は、限定ではなく例として、ターゲットを定めた通信(例えば、電子メール、SMS)、クライアント・システム主導型マルチキャスト/ブロードキャスト通信(例えば、ソーシャル・ネットワーキング・プロフィール・ステータス更新もしくはチェックイン、ブログ投稿)、またはサードパーティ主導型通信(例えば、ターゲットを定めた広告/クーポン/インセンティブ、通知、スポンサー付きコンテンツ)に含まれ得る。各ネットワーク要素は、複数のクライアント・システムに接続してもよく、各クライアント・システムは、ソーシャル・ネットワーキング・システムのユーザに関連付けられ得る。
集合的な社会的親密度スコアは、複数の個々の社会的親密度スコアの平均値として計算され得る。ただし、各個々の社会的親密度スコアは、ユーザ・ペアの全体的なセットにおける(ソーシャル・ネットワーキング・システムによって決定されるような)ユーザの各ペア間のソーシャル・グラフ関係に関して計算される。全体的なセットにおけるユーザの各ペアは、そのクライアント・システムが第1のネットワーク要素に対して接続される1人のユーザと、そのクライアント・システムが第2のネットワーク要素に対して接続される1人のユーザとを含む。ユーザ・ペアの全体的なセットは、そのクライアント・システムが2つのネットワーク要素に対して現在接続されているユーザに基づいて、取り得る全てのユーザ・ペアの組み合わせを含み得る。
特定の実施形態において、2つのネットワーク要素の集合的な社会的親密度スコアが、最小閾値を超える場合、要求を取り扱うためのリソース(例えば、TCP接続、メモリ、クラウド・コンピューティング・リソース、データ・ストレージ空間)は、高い集合的な社会的親密度スコア(2つのネットワーク要素に対して接続されたデバイス間の通信および/または2つのネットワーク要素に対して接続されたデバイスへのコンテンツの共通送信の尤度を相応して示す)を前提として、当該リソースに対する需要の増加を見込んで積極的に割り当てられ得る。
図1Aは、ソーシャル・ネットワーキング・システムに関連付けられた例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク105によって互いに接続された、クライアント・システム160、ソーシャル・ネットワーキング・システム110、およびサードパーティ・システム170を含む。図1Aは、クライアント・システム160、ソーシャル・ネットワーキング・システム110、サードパーティ・システム170、およびネットワーク105の特定の構成を示すが、本開示は、クライアント・システム160、ソーシャル・ネットワーキング・システム110、サードパーティ・システム170、およびネットワーク105の任意の適切な構成を想定する。限定ではなく例として、クライアント・システム160、ソーシャル・ネットワーキング・システム110、およびサードパーティ・システム170のうちの2つ以上が、ネットワーク105を迂回して、互いに直接接続されてもよい。別の例として、クライアント・システム160、ソーシャル・ネットワーキング・システム110、およびサードパーティ・システム170のうちの2つ以上が、全体的にまたは部分的に、互いに物理的にまたは論理的に同じ場所に設置されてもよい。さらに、図1Aは、特定の数のクライアント・システム160、ソーシャル・ネットワーキング・システム110、サードパーティ・システム170、およびネットワーク105を示すが、本開示は、任意の適切な数のクライアント・システム160、ソーシャル・ネットワーキング・システム110、サードパーティ・システム170、およびネットワーク105を想定する。限定ではなく例として、ネットワーク環境100は、複数のクライアント・システム160、ソーシャル・ネットワーキング・システム110、サードパーティ・システム170、およびネットワーク105を含んでもよい。
本開示は、任意の適切なネットワーク105を想定している。限定ではなく、例として、ネットワーク105の1つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク105は、1つまたは複数のネットワーク105を含むことができる。
リンク150は、クライアント・システム160、ソーシャル・ネットワーキング・システム110、およびサードパーティ・システム170を通信ネットワーク105に、または互いに接続することができる。本開示は、任意の適切なリンク150を想定している。特定の実施形態においては、1つまたは複数のリンク150は、1つもしくは複数の有線リンク(たとえば、デジタル・サブスクライバ・ライン(DSL)もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様(DOCSIS)など)、ワイヤレス・リンク(たとえば、Wi−Fiもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス(WiMAX)など)、または光リンク(たとえば、同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態においては、1つまたは複数のリンク150はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク150、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異なることが可能である。
特定の実施形態においては、クライアント・システム160は、クライアント・システム160によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム160は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、eブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム160を想定している。クライアント・システム160は、クライアント・システム160のネットワーク・ユーザがネットワーク105にアクセスすることを可能にすることができる。クライアント・システム160は、自分のユーザがその他のクライアント・システム160のその他のユーザと通信することを可能にすることができる。
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOX(いずれも登録商標)などのウェブ・ブラウザ162を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBAR(登録商標)などのその他の拡張を有することができる。クライアント・システム160のユーザは、ウェブ・ブラウザ162を特定のサーバ(サーバ112、またはサードパーティ・システム170に関連付けられているサーバなど)へ導くユニフォーム・リソース・ロケータ(URL)またはその他のアドレスを入力することができ、ウェブ・ブラウザ162は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信することができる。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパー・テキスト・マークアップ言語(HTML)ファイルをクライアント・システム160に通信することができる。クライアント・システム160は、ユーザに提示するためにサーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標) and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、(そのウェブページをレンダリングするためにブラウザが使用することができる)1つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャル・ネットワーキング・システム110は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャル・ネットワーキング・システム110は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク105を介してアクセスされることが可能である。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、1つまたは複数のサーバ112を含むことができる。それぞれのサーバ112は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ112は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Exchangeサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ112は、サーバ112によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、1つまたは複数のデータ・ストア114を含むことができる。データ・ストア114は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データ・ストア114内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア114は、リレーショナル・データベース、行のデータベース、相関関係データベース、あるいはその他の適切なデータベースであることが可能である。本開示は特定のタイプのデータベースを記述し、例示するが、本開示においては、任意の適切なタイプのデータベースが考えられる。特定の実施形態は、クライアント・システム160、ソーシャル・ネットワーキング・システム110、またはサードパーティ・システム170が、データ・ストア114内に格納されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインターフェースを提供することができる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、1つまたは複数のソーシャル・グラフを1つまたは複数のデータ・ストア114内に格納することができる。特定の実施形態においては、ソーシャル・グラフは、複数のノード(複数のユーザ・ノード(それぞれが、特定のユーザに対応している)、または複数のコンセプト・ノード(それぞれが、特定のコンセプトに対応している)を含むことができる)と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャル・ネットワーキング・システム110は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャル・ネットワーキング・システム110を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャル・ネットワーキング・システム110のその他の複数のユーザにつながり(すなわち、関係)を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム110を介して、つながり、関連付け、または関係を形成しているソーシャル・ネットワーキング・システム110のその他の任意のユーザを指すことができる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、ソーシャル・ネットワーキング・システム110によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム110のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャル・ネットワーキング・システム110において、またはサードパーティ・システム170の外部システム(ソーシャル・ネットワーキング・システム110とは別個のものであって、ネットワーク105を介してソーシャル・ネットワーキング・システム110に結合されている)によって表されることが可能である任意のものと対話することができる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャル・ネットワーキング・システム110は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
特定の実施形態においては、サードパーティ・システム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、1つもしくは複数のインターフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または(たとえば、サーバが通信することができる)その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム170は、ソーシャル・ネットワーキング・システム110を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャル・ネットワーキング・システム110およびサードパーティ・システム170は、ソーシャル・ネットワーキング・システム110またはサードパーティ・システム170のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャル・ネットワーキング・システム110は、サードパーティ・システム170などのその他のシステムがインターネットを介してソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
特定の実施形態においては、サードパーティ・システム170は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム160に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャル・ネットワーキング・システム110とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム110に付加、アップロード、送信、または「ポスト」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム160からソーシャル・ネットワーキング・システム110へポストを通信する。ポストは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャル・ネットワーキング・システム110に付加されることも可能である。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含むことができる。ソーシャル・ネットワーキング・システム110は、適切なコンポーネント、たとえば、ネットワーク・インターフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、ユーザ・プロフィールを格納するための1つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、1つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク105を介してソーシャル・ネットワーキング・システム110を1つもしくは複数のクライアント・システム160または1つもしくは複数のサードパーティ・システム170にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャル・ネットワーキング・システム110と、1つまたは複数のクライアント・システム160との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。API要求サーバは、サードパーティ・システム170が、1つまたは複数のAPIを呼び出すことによってソーシャル・ネットワーキング・システム110からの情報にアクセスすることを可能にすることができる。ソーシャル・ネットワーキング・システム110の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム160に提供することができる。情報は、通知としてクライアント・システム160へ押し出されることが可能であり、または情報は、クライアント・システム160から受け取られた要求に応答してクライアント・システム160から引き出されることが可能である。ソーシャル・ネットワーキング・システム110のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャル・ネットワーキング・システム110によって記録されること、またはその他のシステム(たとえば、サードパーティ・システム170)と共有されることのオプト・インまたはオプト・アウトを行うことを可能にすることができる。サードパーティ・システム170などのサードパーティから受け取られたコンテンツ・オブジェクトを格納するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム160から受け取られたロケーション情報を格納するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
図1Bは、コンテンツがネットワーク要素140から受信され(例えば、アップロードされ)、またはコンテンツがネットワーク要素140に対してプッシュされ、またはネットワーク要素140による要求があるとコンテンツが提供され得る、環境100についての例示的なネットワーク・アーキテクチャを示す。特定の実施形態において、ネットワーク要素は、1人または複数のユーザに関連付けられ得る。様々なタイプの任意の数のサーバ112、120、130と、様々なタイプの任意の数のネットワーク要素140とが存在し得る。各サーバ112、120、または130は、サーバ112、120、または130によって実装またはサポートされる適当な機能性を実行するためのハードウェア、ソフトウェア、または埋め込み論理コンポーネントもしくは2つ以上のこのようなコンポーネントの組み合わせを含み得る。特定の実施形態において、サーバ112、120、および130は、層状に配置され得る。例えば、ソーシャル・ネットワーキング・ウェブサイトによって提供されるコンテンツをサービス提供するための1つまたは複数のウェブ・サーバ112が存在してもよい。各ウェブ・サーバ112は、1つまたは複数のチャネル・サーバ120に接続され得る。各チャネル・サーバ120は、1つまたは複数のエッジ・サーバ130に接続され得る。チャネル・サーバ120は、ウェブ・サーバ112によってホストされるアプリケーションのユーザのためにコンテンツ通信チャネル(例えば、メディア・ダウンローディングまたはメディア・アップローディング、投稿および投稿の取得、電子メール送信、インスタント・メッセージング、チャッティング、プレゼンス等)を監視および管理し得る。エッジ・サーバ130は、ネットワーク要素140に関連付けられた1人または複数のユーザへコンテンツを配信するために、ネットワーク・デバイス(例えば、ネットワーク要素140)とのネットワークまたは通信接続を維持し得る。また、エッジ・サーバ130は、ウェブ・サーバ112に対するプロキシとして機能してもよく、および/または、ウェブ・サーバ112によってサービス提供されるコンテンツをプリフェッチおよびキャッシュしてもよい。ネットワーク要素140は、エッジ・サーバ130を通じてウェブ・サーバ112と通信し得る。特定の実施形態において、サーバ112、120、および130ならびにネットワーク要素140は各々、一意の識別子を有し得る。例えば、各サーバ112、120、および130は、その一意のIPアドレスによって識別され得、各ネットワーク要素140は、永続的なグローバル一意識別子(例えば、基地局識別コード(BSIC:base station identity code)、共通言語位置識別子(CLLI:common language location identifier)コード、媒体アクセス制御(MAC:media access control)アドレス、移動局国際加入者ディレクトリ番号(MSISDN:Mobile Station International Subscriber Directory Number)、国際移動体機器識別(IMEI:international mobile station equipment identity)、焼き込みアドレス(BIA:burned−in address)、または他のハードウェア・アドレスもしくは物理アドレス)によって識別され得る。
特定の実施形態において、(例えば、2つの特定のネットワーク要素の社会的親密度スコアに基づいて決定される)発生しそうなデータ転送を見込んで、コンテンツは、ネットワーク要素140に加えて、サーバ112、120、および130のうちのいずれか、またはサーバ112、120、および130の組み合わせにプリフェッチされ、記憶され得る。このようなコンテンツおよびリソースの割り当ては、コンテンツに対する要求が受信される前に、サーバ112、120、130、およびネットワーク要素140のうちの1つまたは複数においてコンテンツを積極的にキャッシュすることによって、ネットワークのエッジへの(例えば、特定のネットワーク要素に関連付けられた1人または複数のユーザへの)コンテンツの配信を加速するのに役立ち得る。
特定の実施形態において、各ネットワーク要素140は、ソーシャル・ネットワーキング・システムのユーザに関連付けられたクライアント・システムにネットワーク・サービスを提供し得る。各ネットワーク要素140は、無線でまたは有線接続を通じてネットワークに対して接続されるモバイル・デバイスまたは固定デバイス(例えば、Wi−Fiルータまたは他の適切なルータ、セル・タワー基地局、スイッチ、ハブ、サーバ、ファイアウォール、ゲートウェイ、ケーブル・モデム終端システム、モデム、および他の適切なデバイス)であり得る。
特定の実施形態において、クライアント・システムが、コンテンツに対する要求をネットワーク要素140によって送信する場合、ネットワーク要素140は、エッジ・サーバ130と1つまたは複数の接続を確立し得る。各接続は、TCP/IP接続であり得る。より具体的には、ネットワーク要素140は、ネットワーク要素140のユーザが割り当てられたチャネル・サーバ120に対して接続されているエッジ・サーバ130に接続され得る。図1において説明されるアーキテクチャは、例示的な目的のために提供される1つの例に過ぎず、本発明の特定の実施形態は、他のネットワーク・アーキテクチャを使用して行われてもよい。
図2Aは、ソーシャル・ネットワーキング・システム110の複数のユーザ間の通信を取り扱うための複数のネットワーク要素を備える例示的な広域ネットワークを示す。図2Aにおいて、各クライアント・システム160は、ソーシャル・ネットワーキング・システム110内の少なくとも1つの特定のユーザ・アカウントに関連付けられる。上記で説明されたように、ソーシャル・ネットワーキング・システム110によって提供されるコンテンツおよび/またはデータは、ウェブ・サーバ112によってサービス提供され得る。具体的には、クライアント・システム160Aは、ネットワーク要素140Aを使用してネットワーク105を介してソーシャル・ネットワーキング・システム110に接続し得、クライアント・システム160Bは、ネットワーク要素140Bを使用してネットワーク105を介してソーシャル・ネットワーキング・システム110に接続し得る。ネットワーク105は、サーバ112、120、および130などの、1つまたは複数のサーバを含み得る。クライアント・システム160Aおよび160Bは、例えば、デスクトップ・コンピュータ、ノート型コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータ、電子書籍リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、携帯電話、スマートフォン、他の適切な電子デバイスなどのコンピュータ・システム、または、これらの任意の適切な組み合わせを含んでもよい。上記で説明されたように、ネットワーク要素140は、例えば、Wi−Fiルータもしくは他のルータ、セル・タワー基地局、スイッチ、ハブ、サーバ、ファイアウォール、ゲートウェイ、ケーブル・モデム終端システム、モデム、または他の適切なデバイスを含んでもよい。
リンク240Aおよび240Bは、それぞれネットワーク要素140Aおよび140Bをネットワーク105に対して接続し得る。上記で説明されたように、リンク240Aおよび240Bは、TCP/IP接続であり得る。リンク250Aおよび250Bは、それぞれクライアント・システム160Aおよび160Bを、ネットワーク要素140Aおよび140Bに接続し得る。リンク240A、240B、250A、および250Bは、1つまたは複数の有線リンク、無線リンク、または光リンクを含んでもよく、特に、アド・ホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、または任意の他の適切なリンクを含んでもよい。
図2Bは、2つのネットワーク要素と、関連付けられたユーザとを備える広域ネットワークの具体的な例を示す。いくつかの実施形態において、特定のネットワーク要素140は、ソーシャル・ネットワーキング・システム110のユーザの特定のグループに関連付けられ得る。例えば、図2Bに示されるように、ネットワーク要素140Aは、クライアント・システム160A1および160A2へのデータ接続性を提供しているセル・タワー基地局を備え、クライアント・システム160A1および160A2の各々は、ソーシャル・ネットワーキング・システム110のユーザのそれぞれのプロフィールに関連付けられる一意の識別子を有する。また、ネットワーク要素140Bは、クライアント・システム160B1、160B2、160B3、および160B4に対して接続されるルータを備える。
特定のネットワーク要素140に関連付けられた1人または複数のソーシャル・ネットワーキング・システム・ユーザは、例えば、それらのクライアント・システムを一意に識別する情報、ソーシャル・ネットワーキング・システム110に関連付けられた情報(例えば、ソーシャル・ネットワーキング・ユーザID)、またはユーザを一意に識別する任意の他の適切な識別情報によって識別され得る。1つの例において、ユーザのクライアント・システム160A1が、TCP接続を開始する場合に、その一意の識別子(例えば、MACアドレス)をネットワーク要素140A(例えば、Wi−Fiルータ)へ送信するとき、ネットワーク要素140Aは、ラップトップの一意の識別子がソーシャル・ネットワーキング・システムのユーザ・アカウントに関連付けられているかどうかを決定するための要求をソーシャル・ネットワーキング・システム110に対して送信し得る。別の例において、ユーザが、クライアント・システム160A1上でユーザのソーシャル・ネットワーキング・アカウントについての認証クレデンシャル(例えば、ユーザ名およびパスワード)を提供する場合に、クライアント・システム160A1のユーザが識別され得る。いずれの場合にも、いったん160A1がネットワーク要素140Aに対して接続されると、ネットワーク要素140Aは、クライアント・システム160A1のユーザのソーシャル・グラフのつながりであるソーシャル・ネットワーキング・ユーザ(「友達」)に関する情報、例えば、各友達のソーシャル・ネットワーキング・ユーザID、友達のクライアント・システム160Bまたは160Cの一意の識別子、友達のクライアント・システム160Bまたは160Cが接続されるネットワーク要素(140Bまたは140C)の一意の識別子、およびクライアント・システム160A1のユーザとその友達との間のソーシャル・グラフ関係性に関する社会的親密度スコアなどに対する要求を(別個に、または上述された認証要求との組み合わせにおいて)ソーシャル・ネットワーキング・システム110に対して送信し得る。特定の実施形態において、ネットワーク要素140Aは、クライアント・システム160Aがネットワーク要素140Aとの接続を確立するたびに、そのような情報を取得および記憶し、それによって、ユーザの友達のクライアント・システムが接続されるネットワーク要素140のセットを決定し得る。
ユーザの友達のクライアント・システムが接続されるネットワーク要素140のセットのうちの1つとネットワーク要素140Aとの各ペアリングについて、ネットワーク要素140Aは、次いで、受信された情報に基づいて、集合的な社会的親密度スコアを計算し得る。特定の実施形態において、ソーシャル・ネットワーキング・システム110は、全てのネットワーク要素140にわたって集合的な社会的親密度スコアを計算し、次いで、各ネットワーク要素140に、そのネットワーク要素ペアについての情報を送信し得る(ただし、その特定のネットワーク要素140は、ペア内のネットワーク要素のうちの1つである)。特定の実施形態において、ソーシャル・ネットワーキング・システム110は、ネットワーク要素ペアの集合的な社会的親密度スコアが最小閾値を超える場合にのみ、各ネットワーク要素140に、そのネットワーク要素ペアの情報を送ってもよい。
ネットワーク要素ペアの集合的な社会的親密度スコアが、特定された最小閾値を超える場合、そのペア内の2つのネットワーク要素は、この2つのネットワーク要素に対して接続されるクライアント・システムに関与するデータ送信に関連付けられた待ち時間を低減するための一定のアクションを行い得る。例えば、クライアント・システム160A1のユーザのソーシャル・グラフが、クライアント・システム160B2に関連付けられた友達と、クライアント・システム160C1に関連付けられた別の友達とを含む場合、ネットワーク要素140Aは、コンテンツがアップロードされている、コンテンツがアップロード済みである、またはコンテンツがアップロードされるという通知を、ネットワーク要素140Bおよび140Cに送信し得る。この送信によって、ネットワーク要素140Bおよび140Cが、一定の工程を行うべきかどうか、例えば、アップロードされたコンテンツをプリフェッチするための要求を送信すること、またはネットワーク要素140Bおよび140Cそれぞれに接続されたクライアント・システムがアップロードされたコンテンツに対する要求を送信する場合に必要となり得るリソースを割り当てることなどを行うべきかどうかを決定することが可能となる。
図3は、例示的なソーシャル・グラフ300を示す。特定の実施形態において、ソーシャル・ネットワーキング・システム110は、1つまたは複数のソーシャル・グラフ300を、1つまたは複数のデータ・ストアに記憶し得る。特定の実施形態において、ソーシャル・グラフ300は、複数のノードを含み得、この複数のノードは、複数のユーザ・ノード302または複数のコンセプト・ノード304と、ノードを接続する複数のエッジ306とを含み得る。図3に例示される例示的なソーシャル・グラフ300は、説明的な目的のために、2次元の視覚マップ表現において示されている。特定の実施形態において、ソーシャル・ネットワーキング・システム110は、適切な用途のために、ソーシャル・グラフ300と、関連するソーシャル・グラフ情報とにアクセスし得る。ソーシャル・グラフ300のノードおよびエッジは、例えば、(ソーシャル・グラフ・データベースなどの)データ・ストアにおいて、データ・オブジェクトとして記憶され得る。このようなデータ・ストアは、ソーシャル・グラフ300のノードまたはエッジの1つまたは複数の取得可能または問い合わせ可能なインデックスを含み得る。
特定の実施形態においては、ユーザ・ノード302は、ソーシャル・ネットワーキング・システム110のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャル・ネットワーキング・システム110と、またはソーシャル・ネットワーキング・システム110を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態においては、あるユーザがソーシャル・ネットワーキング・システム110とのアカウントに登録した場合には、ソーシャル・ネットワーキング・システム110は、そのユーザに対応するユーザ・ノード302を作成し、そのユーザ・ノード302を1つまたは複数のデータ・ストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード302は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード302を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード302は、適切な場合には、ソーシャル・ネットワーキング・システム110に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード302は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム110を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード302は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード302は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、コンセプト・ノード304は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム110に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャル・ネットワーキング・システム110内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオ・ファイル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード304は、ユーザによって提供されたコンセプトの情報、またはソーシャル・ネットワーキング・システム110を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーション)、(URLに関連付けられることが可能である)ウェブサイト、連絡先情報(たとえば、電話番号もしくはEメール・アドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード304は、コンセプト・ノード304に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード304は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、ソーシャル・グラフ300内のノードは、ウェブページ(「プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャル・ネットワーキング・システム110によってホストされること、またはソーシャル・ネットワーキング・システム110にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ170に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード304に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード302は、対応するユーザ・プロフィール・ページを有することができ、そのユーザ・プロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード304は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、1人または複数のユーザが、特にコンセプト・ノード304に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
特定の実施形態においては、コンセプト・ノード304は、サードパーティ・システム170によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「チェックイン」)を選択することによってアクションを実行して、クライアント・システム130に、そのユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム110へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム110は、ユーザに対応するユーザ・ノード302と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード304との間においてエッジ(たとえば、チェックイン・タイプ・エッジ)を作成して、エッジ306を1つまたは複数のデータ・ストア内に格納することができる。
特定の実施形態においては、ソーシャル・グラフ300内の1対のノードが、1つまたは複数のエッジ306によって互いにつながることが可能である。1対のノードをつなげるエッジ306は、それらの1対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ306は、1対のノードの間における関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム110は、「友達要求」を第2のユーザに送信することができる。第2のユーザがその「友達要求」を承認した場合には、ソーシャル・ネットワーキング・システム110は、ソーシャル・グラフ300内で第1のユーザのユーザ・ノード302を第2のユーザのユーザ・ノード302につなげるエッジ306を作成して、エッジ306をソーシャル・グラフ情報としてデータ・ストア114のうちの1つまたは複数の中に格納することができる。図3の例においては、ソーシャル・グラフ300は、ユーザ「A」のユーザ・ノード302と、ユーザ「B」のユーザ・ノード302との間における友達関係を示すエッジ306と、ユーザ「C」のユーザ・ノード302と、ユーザ「B」のユーザ・ノード302との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード302同士をつなげる特定の属性を伴う特定のエッジ306を記述している、または示しているが、本開示は、ユーザ・ノード302同士をつなげる任意の適切な属性を伴う任意の適切なエッジ306を想定している。限定ではなく、例として、エッジ306は、友達関係、家族関係、ビジネスもしくは雇用関係、(例えば、「いいね」の表明他を含む)ファン関係、フォロワー関係、(例えば、アクセルすること、閲覧すること、チェックインすること、共有することを含む)ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、1つまたは複数のエッジ306によってソーシャル・グラフ300内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
特定の実施形態においては、ユーザ・ノード302とコンセプト・ノード304との間におけるエッジ306は、ユーザ・ノード302に関連付けられているユーザによって、コンセプト・ノード304に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図3において示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプト・ノード304に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャル・ネットワーキング・システム110は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(「イマジン」)を聴く場合がある。このケースにおいては、ソーシャル・ネットワーキング・システム110は、そのユーザに対応するユーザ・ノード302と、その曲およびアプリケーションに対応するコンセプト・ノード304との間において、(図3に示されているような)「聴いた」エッジ306および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示すことができる。その上、ソーシャル・ネットワーキング・システム110は、その曲に対応するコンセプト・ノード304と、そのアプリケーションに対応するコンセプト・ノード304との間において、(図3に示されているような)「再生した」エッジ306を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示すことができる。このケースにおいては、「再生した」エッジ306は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザ・ノード302とコンセプト・ノード304とをつなげる特定の属性を伴う特定のエッジ306について記述しているが、本開示は、ユーザ・ノード302とコンセプト・ノード304とをつなげる任意の適切な属性を伴う任意の適切なエッジ306を想定している。その上、本開示は、単一の関係を表すユーザ・ノード302とコンセプト・ノード304との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザ・ノード302とコンセプト・ノード304との間におけるエッジを想定している。限定ではなく、例として、エッジ306は、ユーザが特定のコンセプトに対して「いいね!」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ306は、(図3において、ユーザ「E」を表すユーザ・ノード302と、「SPOTIFY」を表すコンセプト・ノード304との間において示されているような)ユーザ・ノード302とコンセプト・ノード304との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表すことができる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、ソーシャル・グラフ300内でユーザ・ノード302とコンセプト・ノード304との間においてエッジ306を作成することができる。限定ではなく、例として、(たとえば、ユーザのクライアント・システム130によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって)コンセプトプロフィール・ページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプト・ノード304によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアント・システム130に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャル・ネットワーキング・システム110へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム110は、そのユーザとコンセプト・ノード304との間における「いいね!」エッジ306によって示されているように、そのユーザに関連付けられているユーザ・ノード302とコンセプト・ノード304との間においてエッジ306を作成することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、エッジ306を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、エッジ306は、特定のユーザ・アクションに応答してソーシャル・ネットワーキング・システム110によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ306は、第1のユーザに対応するユーザ・ノード302と、それらのコンセプトに対応するコンセプト・ノード304との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ306を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ306を形成することを想定している。
特定の実施形態においては、広告は、テキスト(HTMLリンクされる)、1つ以上のイメージ(HTMLリンクされる)、1つ以上のビデオ、オーディオ、1つ以上のアドビ・フラッシュファイル、これらの適切な組み合わせ、あるいは1つ以上のウェブページ上に、1通以上の電子メールに示される、あるいはユーザによって要求された検索結果に関する任意の適切なデジタル形式の任意の他の適切な広告である。付加的に、あるいはこれに代えて、広告は、1つ以上のスポンサード・ストーリ(例えばソーシャル・ネットワーキング・システム110上のニュース・フィードあるいはティッカー・アイテム)である。スポンサード・ストーリは、ユーザによるソーシャル・アクションである(例えば、ページを「いいね!」し、ページで「いいね!」するかコメントし、ページに関連付けられたイベントに回答を促し(RSVPing)、ページに投稿された質問に投票し、場所にチェックインし、アプリケーションを使用するか、ゲームをプレイし、あるいはウェブサイトを「いいね!」するか共有する)。広告主は、例えば、ユーザのプロフィール・ページあるいは他のページの予め定められた領域内で示されたソーシャル・アクションを、広告主に関連付けられた付加的な情報とともに示し、他のユーザのニュース・フィードやティッカー内で立体表示するか強調表示し、あるいは他の方法で促進することにより促進する。広告主はソーシャル・アクションを促進するために支払いをする。ソーシャル・アクションはソーシャル・ネットワーキング・システム110内で、あるいはそのシステム上で促進される。付加的に、あるいはこれに代えて、ソーシャル・アクションは、適切な場合ソーシャル・ネットワーキング・システム110の外部で、あるいはこれから離れて促進されてもよい。特定の実施形態においては、ページは、ストーリを共有するとともに人々をつなぐことを促進するビジネス、組織、あるいは商標のオンラインの存在(ソーシャル・ネットワーキング・システム110内の、あるいはシステムの外側のウェブページやウェブサイトなど)である。ページは、例えばアプリケーションを付加し、ストーリをポスティングし、イベントをホスティングすることによりカスタマイズされる。
スポンサード・ストーリは、ユーザのニュース・フィードにおけるストーリから生成され、ソーシャル・ネットワーキング・システム110と関連付けられたウェブページを見る際に、ユーザのウェブ・ブラウザの表示内の特定の領域に促進される。スポンサード・ストーリは、ユーザによって見られる可能性が高い。この少なくとも部分的な理由として、スポンサード・ストーリが通常ユーザの友達、ファン・ページや、他のつながりによる交流や示唆を含むことが挙げられる。スポンサード・ストーリに関して、特定の実施形態は、2011年12月15日に出願され、発明の名称が「オーガニック・アクティビティ・ストリームからのスポンサード・ストーリ・ユニット生成」である米国特許出願第13/327557号明細書、2012年2月3日に米国特許出願第13/020745号として出願され、発明の名称が「オーガニック・アクティビティ・ストリームからのスポンサード・ストーリ・ユニット生成」である米国特許出願公開第2012/0203831号明細書、あるいは2011年3月9日に米国特許出願第13/044506号として出願され、発明の名称が「スポンサード・ストーリのための承認申請」である米国特許出願公開第2012/0233009号明細書に開示される1つ以上のシステム、コンポーネント、要素、機能、方法、作動、あるいは工程を利用する。これらの明細書は制限ではなく例として、その全体がここに開示されたものとする。特定の実施形態においては、スポンサード・ストーリは、2011年8月18日に出願され、発明の名称が「スポンサード・ストーリのためのコンピュータ・ビジョン・コンテンツ検知」である米国特許出願第13/212356号明細書に開示されるような、広告主への明示的なつながりを欠く、アップロードされたイメージあるいは写真の製品を発見するためのコンピュータ・ビジョン・アルゴリズムを利用する。明細書は限定ではなく例としてその全体がここに開示されたものとする。
上述したように、広告は、テキスト(HTMLリンク付けされる)、1つ以上の画像(HTMLリンク付けされる)、1つ以上のビデオ、オーディオ、1つ以上のアドビ・フラッシュファイル、これらの適切な組み合わせ、あるいは任意の適切なデジタル形式における任意の他の適切な広告である。特定の実施形態においては、広告は、サードパーティ・ウェブページ、ソーシャルネットワーキング・システム・ウェブ・ページ、あるいは他のページ内に表示されるように要求される。広告は、例えばページのトップのバナー領域に、ページの側部の欄に、ページのGUIに、ポップアップ・ウィンドウに、ページのコンテンツのトップ上に、あるいはページに対する他の位置などの、ページの専用部分に表示される。付加的に、あるいはこれに代えて、広告はアプリケーション、あるいはゲーム内に表示されてもよい。広告は、専用ページ内に表示され、ユーザがページにアクセスするかアプリケーションを利用するか、ゲームをプレイするに先だって、広告と対話するか広告を見ることをユーザに要求する。ユーザは、例えばウェブ・ブラウザを介して広告を見る。
ユーザは任意の適切な方法で広告と対話する。ユーザは広告をクリックするか選択し、広告は広告に関連付けられたページにユーザ(あるいはユーザによって使用されるブラウザまたは他のアプリケーション)を案内する。広告に関連付けられたページでは、ユーザは、広告に関連付けられた製品やサービスの購入、広告に関連付けられた情報の受信、あるいは広告に関連付けられたニュースレターの購読などの付加的なアクションを行う。オーディオまたはビデオを備えた広告は、広告のコンポーネント(「再生ボタン」のような)を選択することにより再生される。特定の実施形態においては、広告は1つ以上のゲームを含み、ユーザや他のアプリケーションは広告に関してプレイする。広告は広告における投票や質問に応答するための機能を含む。
広告は、ユーザが対話するソーシャル・ネットワーキング・システムの機能を含む。例えば、ユーザは広告によって「いいね!」を表明するか、あるいは支持に関連付けられたアイコンやリンクを選択することにより、広告を支持することができる。同様に、ユーザは、広告に関連付けられたイベントを、別のユーザ(例えばソーシャル・ネットワーキング・システム110を介して)あるいはRSVP(例えばソーシャル・ネットワーキング・システム110を介して)と広告を共有する。付加的に、あるいはこれに代えて、広告は、ユーザに向けられたソーシャルネットワーキング・システム・コンテキストを含んでいてもよい。例えば、広告は、広告の主題に関連付けられたアクションを行った、ソーシャル・ネットワーキング・システム110内のユーザの友達に関する情報を表示する。
ソーシャル・ネットワーキング・システムの機能やコンテキストは、任意の適切な方法で広告に関連付けられる。例えば、広告システム(広告に対する試みを受け取るとともに応答して広告を選択するためのハードウェア、ソフトウェア、あるいはその両者を含む)は、ソーシャル・ネットワーキング・システム110からソーシャル・ネットワーキング機能あるいはコンテキストを検索し、ユーザに広告を供給する前に広告に検索されたソーシャル・ネットワーキング機能やコンテキストを組み込む。広告を備えたソーシャル・ネットワーキング・システム機能あるいはコンテキストを選択し提供する例は、2010年10月5日に米国特許出願第12/898662号として出願され、発明の名称が「ソーシャル支持へのオンライン広告の供給」である米国特許出願公開第2012/0084160号明細書、および2011年3月8日に米国特許出願第13/043424号として出願され、発明の名称が「閲覧ユーザ広告を表示するためのソーシャル支持情報の選択」である米国特許出願公開第2012/0232998号明細書に開示され、これらは限定ではなく例としてその全体がここに開示されたものとする。ソーシャル・ネットワーキング・システム機能あるいはコンテキストに関連付けられる広告と対話することにより、交流に関する情報が、ソーシャル・ネットワーキング・システム110のユーザのプロフィール・ページに表示される。
特定の実施形態は、広告がより関連するかより有用であると分かる可能性が高い、ユーザへの広告の配布を促進する。例えば、広告主は、広告がより関連するかより有用であると分かる可能性が高いユーザを識別し対象とすることにより、より高いコンバージョンレート(およびこれによる広告からのより高い投資効率(ROI))が得られる。広告主は、それらのユーザを識別するためにソーシャル・ネットワーキング・システム110におけるユーザ・プロフィール情報を使用する。付加的に、あるいはこれに代えて、ソーシャル・ネットワーキング・システム110が、広告主のためにそれらのユーザを識別するべくソーシャル・ネットワーキング・システム110におけるユーザ・プロフィール情報を使用してもよい。限定ではなく、例として、特定の実施形態は、イベントの招待あるいは提案、クーポン、取引、あるいはウィッシュ・リストアイテムに関する提案、友達のライフイベントに関する提案、グループに関する提案、広告、あるいは社会広告を備えるユーザを対象とする。そのように対象とすることは、場合に応じて、ソーシャル・ネットワーキング・システム110上で、あるいはそのシステム内で、あるいはソーシャル・ネットワーキング・システム110から離れて、あるいはそのシステムの外部で、あるいはユーザのモバイル・コンピューティング・デバイス上で行われる。ソーシャル・ネットワーキング・システム110上で、あるいはそのシステム内では、そのように対象とすることは、ユーザのニュース・フィード、検索結果、電子メール受信箱あるいは他の受信箱、通知チャンネルに向けられるか、ソーシャル・ネットワーキング・システム110のウェブページの特定の領域、例えば、コンシェルジュやグループ・メンバー領域のウェブページ(同じコンセプト、ノード、あるいはオブジェクトに関連付けられた、右側レールの広告に沿ったグループ)、あるいは、ネットワーク分身領域(ユーザがウェブページ上の何を閲覧しているか、およびユーザの現在のニュース・フィードに基づく)に現れる。ソーシャル・ネットワーキング・システム110から離れ、あるいはシステムの外部の場合、そのように対象とすることは、サードパーティ・ウェブサイトを通して提供され、例えば、広告交換あるいはソーシャル・プラグ・インを含む。ユーザのモバイル・コンピューティング・デバイス上の場合、そのように対象とすることは、モバイル・コンピューティング・デバイスにプッシュ通知によって提供される。
ユーザを識別し対象とすることに使用される対象の基準は、ソーシャル・ネットワーキング・システム110上の明示的なユーザの関心、あるいはソーシャル・ネットワーキング・システム110上のノード、オブジェクト、エンティティ、商標、あるいはページに対するユーザの明示的なつながりを含む。付加的に、あるいはこれに代えて、そのような対象の基準は、暗黙、あるいは推論されるユーザの関心やつながりを含む(ユーザの履歴、人口学的アクティビティ、ソーシャル・アクティビティ、あるいは他のアクティビティ、友達のソーシャル・アクティビティや他のアクティビティ、購読、あるいはユーザに類似する他のユーザの上記のうち任意のもの(例えば、共有される関心、つながりやイベントに基づく)を分析することを含む)。特定の実施形態はプラットフォームを対象とすることを利用し、これはプラットフォームおよび「いいね!」の印象データ、文脈上の信号(例えば、「COCA−COLAのページを誰が今見ているか、あるいは、最近見たか。」)、軽いつながり(例えば「チェックイン」)、接続類似性、ファン、抽出されたキーワード、EMU広告、推論される広告、係数、親密度、あるいは他のソーシャル・グラフの情報、友達の友達のつながり、ピンで留めや応援、取引、投票、家計収入、ソーシャル・クラスタやグループ、イメージあるいは他のメディアに検知された製品、ソーシャル・グラフあるいはオープン・グラフ・エッジ・タイプ、地理予測、プロフィールまたはページのビュー、ステータス更新あるいは他のユーザによる投稿(この分析は自然言語処理あるいはキーワード抽出を含む)、イベント情報、あるいはコラボラティブ・フィルタリングを含む。場合に応じて、ユーザを識別し対象とすることはさらにプライバシー設定(ユーザ・オプトアウトなど)、データ・ハッシング、あるいはデータ変名化を含む。
広告によりユーザを対象とするために、特定の実施形態は、2008年8月18日に米国特許出願第12/193702号として出願され、発明の名称が「ソーシャルネットワーキング・ウェブサイト上の社会広告および他の情報メッセージ並びにこれらの広告モデル」である米国特許出願公開第2009/0119167号明細書、2008年8月20日に米国特許出願第12/195321号として出願され発明の名称が「ソーシャル・ネットワークにおける対象とする広告」である米国特許出願公開第2009/0070219号明細書、2010年12月15日に米国特許出願第12/968786号として出願され発明の名称が「広告に関連付けられたオブジェクトと対話したユーザの友達を対象とするソーシャル広告」である米国特許出願公開第2012/0158501号明細書、あるいは2010年12月23日に米国特許出願第12/978265号として出願され発明の名称が「ソーシャル・ネットワーキング・システムにおける文脈に関連する親密度予測」である米国特許出願公開第2012/0166532号明細書に開示される1つ以上のシステム、コンポーネント、要素、機能、方法、作動、あるいは工程を利用する。これらの明細書はすべて限定ではなく、例としてその全体がここに開示されたものとする。
広告は、ウェブ・ブラウザあるいは他のアプリケーションのためのプラグイン、フレーム要素、ニュース・フィード、ティッカー、通知(例えば、電子メール、ショート・メッセージ・サービス(SMS)メッセージ、あるいは通知を含む)、あるいは他の手段を使用して、提示乃至配布される。広告は、ユーザのモバイルまたは他のコンピューティング・デバイス上でユーザに提示乃至配布される。広告の配布に関して、特定の実施形態は、2010年12月15日に米国特許出願第12/969368号として出願され発明の名称が「サードパーティ・システム用のコメント・プラグ・イン」である米国特許出願公開第2012/0159635号明細書、2010年12月15日に米国特許出願第12/969408号として出願され発明の名称が「コメント・オーダリング・システム」である米国特許出願公開第2012/0158753号明細書、2006年8月11日に米国特許出願第11/503242号として出願され発明の名称が「ソーシャル・ネットワークのユーザに関するニュース・フィードの動的提供」である米国特許第7669123号明細書、2006年8月11日に米国特許出願第11/503093号として出願され発明の名称が「ソーシャル・ネットワーク環境におけるユーザ親密度に基づくニュース・フィードの提供」である米国特許出願公開第2008/0040475号明細書、2010年9月16日に米国特許出願第12/884010号として出願され発明の名称が「ニュース・フィードのためのアクションのクラスタリング」である米国特許出願公開第2012/0072428号明細書、2009年7月1日に米国特許出願第12/496606号明細書として出願され発明の名称が「ソーシャルネットワーキング・サービスにおけるつながりに関する情報収集」である米国特許出願公開第2001/0004692号明細書、2006年9月12日に米国特許出願第11/531154号として出願され発明の名称が「オンライン・ソーシャル・ネットワークにおけるユーザ・コンテンツに対する変更を追跡する方法およびシステム」である米国特許出願公開第2008/0065701号明細書、2007年1月17日に米国特許出願第11/624088号として出願され発明の名称が「外部ソースからのオンライン・ソーシャル・ネットワークのユーザのページのランディングに対する更新供給」である米国特許出願公開第2008/0065604号明細書、2010年4月19日に米国特許出願第12/763171号として出願され発明の名称が「統合ソーシャル・ネットワーク環境」である米国特許第8244848号明細書、2009年10月6日に米国特許出願第12/574614号として出願され発明の名称が「ソーシャルネットワーキング・サービスにおける位置ベースのコンテンツ・アイテムの共有」である米国特許出願公開第2011/0083101号明細書、2010年8月18日に米国特許出願第12/858718号として出願され発明の名称が「ソーシャル・グラフ情報を使用したロケーションのランク付け」である米国特許第8150844号明細書、2011年3月18日に出願され発明の名称が「ユーザの通知寛容度に基づいたユーザへの通知の送信」である米国特許出願第13/051286号明細書、2011年4月28日に出願され発明の名称が「ユーザ装置にプッシュされる通知の管理」である米国特許出願第13/096184号明細書、2011年10月18日に出願され発明の名称が「プラットフォームに特有の通知配布チャンネル」である米国特許出願第13/276248号明細書、あるいは2011年2月1日に米国特許出願第13/019061号として出願され発明の名称が「ゲオ・ソーシャルネットワーキング・システム用のソーシャル・コンポーネントを備えたモバイルの広告」である米国特許出願公開第2012/0197709号明細書に開示される1つ以上のシステム、コンポーネント、要素、機能、方法、オペレーションあるいは下記に示された工程を利用してもよい。それはすべて限定ではなく、例として参照によってここに組込まれる。本開示は特定の方法で、特定のコンテンツに関して配布される特定の広告について記述し例示するが、本開示においては、任意の適切な方法で、任意の適切なコンテンツに関して配布される任意の適切な広告が考えられる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、互いに対する様々なソーシャル・グラフ・エンティティのソーシャル・グラフの親密度(以下「親密度」と呼ぶ)を決定する。親密度は、オンライン・ソーシャル・ネットワークに関連付けられる特定のオブジェクト間の関係または関心のレベルの強さを示し、オブジェクトは例えばユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられる他のオブジェクト、あるいはその任意の適切な組み合わせなどである。各ユーザ、主題や、コンテンツのタイプにおけるソーシャル・グラフのエンティティの全体的な親密度が確立される。全体的な親密度は、ソーシャル・グラフのエンティティに関連付けられるアクションや関係の継続的なモニタリングに基づいて変化する。本開示は、特定の方法で特定の親密度を決定することを記述するが、本開示においては、任意の適切な方法で任意の適切な親密度を決定することが考えられる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は親密度係数(以下「係数」と呼ぶ)を使用して、ソーシャル・グラフの親密度を測定乃至定量する。係数は、オンライン・ソーシャル・ネットワークに関連付けられた特定のオブジェクト間の関係の強さを示すか定量する。係数は、ユーザがユーザのアクションにおける関心に基づいて特定のアクションを行う確率または予測される確率を測定する機能をさらに示す。このように、ユーザの将来のアクションはユーザの先のアクションに基づいて予想され、係数は、ユーザのアクションの履歴に少なくとも一部基づいて計算される。係数は任意の数のアクションを予想することに使用され、これは、オンライン・ソーシャル・ネットワーク内、あるいはそのネットワークの外部である。限定ではなく、例として、これらのアクションは、メッセージ送信、投稿内容、あるいは内容に関するコメントなどの様々なタイプのコミュニケーション、プロフィール・ページ、メディア、あるいは好適なコンテンツにアクセスしたり、見るなどの様々なタイプの観察アクション、同じグループ内、同じ写真でのタグ付け、同じロケーションでのチェックイン、あるいは同じイベントへの参加などの2つ以上のソーシャル・グラフのエンティティに関する様々なタイプの一致情報、あるいは他の適切なアクションを含む。本開示は、特定の方法で親密度を測定することを記述するが、本開示においては、任意の適切な方法で親密度を測定することが考えられる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、係数を計算するための様々な要因を使用する。これらの要因は例えば、ユーザ・アクション、オブジェクト間の関係のタイプ、位置情報、他の適切な要因、あるいはこれらの任意の組み合わせを含む。特定の実施形態においては、係数を計算する場合、異なる要因が異なって重み付けされる。各要因のウェイトは固定であるか、あるいはウェイトは、例えばユーザ、関係のタイプ、アクションのタイプ、ユーザの位置などによって変化する。ユーザのための全体的な係数を決定するために、要因における格付けは、それらのウェイトに応じて組み合わされる。限定ではなく、例として、特定のユーザ・アクションは格付けとウェイトの両者を割り当てられ、特定のユーザ・アクションに関連付けられた関係は、格付けおよび関連するウェイト(例えば、これによりウェイトは100%になる)を割り当てられる。特定のオブジェクトへのユーザの係数を計算するために、ユーザのアクションに割り当てられた格付けは、例えば、全体的な係数の60%からなり、ユーザとオブジェクトとの間の関係は、全体的な係数の40%からなる。特定の実施形態において、ソーシャル・ネットワーキング・システム110は、係数を計算するために様々な要因のウェイトを決定する際に様々な変数を考慮する。例えば、情報がアクセスされてからの時間、減衰要因、アクセスの頻度、情報に対する関係あるいは情報がアクセスされたオブジェクトに対する関係、オブジェクトにつながるソーシャル・グラフのエンティティとの関係、ユーザ・アクションの短期的または長期的な平均、ユーザ・フィードバック、他の適切な変数、あるいはこれらの任意の組み合わせなどである。限定ではなく、例として、係数は、特定のアクションによって得られる信号の強さを時間とともに減衰させる減衰要因を含み、これにより係数を計算する際に、より最近のアクションがより関連する。格付けおよびウェイトは、係数が基礎とするアクションの継続的な追跡に基づいて常に更新される。任意のタイプのプロセスやアルゴリズムが、各要因の格付けおよび要因に割り当てられるウェイトを割り当て、組み合わせ、平均するなどに使用される。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、履歴上のアクション、および過去のユーザ応答に向けられる機械学習アルゴリズム、あるいは様々な選択肢にさらされるとともに応答を測定することによってユーザから得られるデータを使用して、係数を決定する。本開示は、特定の方法で係数を計算することを記述するが、本開示においては、任意の適切な方法で係数を計算することが考えられる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、ユーザのアクションに基づいて係数を計算する。ソーシャル・ネットワーキング・システム110は、オンライン・ソーシャル・ネットワーク上、サードパーティ・システム170上、他の適切なシステム上、あるいはこれらの任意の組み合わせ上のアクションをモニタする。任意の適切なタイプのユーザ・アクションは追跡され、モニタされる。例示的なユーザ・アクションは、プロフィール・ページを見ること、コンテンツの形成または投稿、コンテンツとの対話、画像へのタグ付けまたは画像にタグ付けしている状態、グループ連結、イベントにおけるリスト作成および参加確認、ロケーションでのチェックイン、特定のページのリンク貼り、ページ形成、およびソーシャル・アクションを促進する他のタスクを含む。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、特定のタイプのコンテンツでのユーザのアクションに基づいて係数を計算する。コンテンツはオンライン・ソーシャル・ネットワーク、サードパーティ・システム170、あるいは別の適切なシステムに関連付けられる。コンテンツは、ユーザ、プロフィール・ページ、ポスト、ニュース記事、ヘッドライン、インスタント・メッセージ、チャット・ルーム会話、電子メール、広告、画像、ビデオ、音楽、他の適切なオブジェクト、あるいはこれらの任意の組み合わせを含む。ソーシャル・ネットワーキング・システム110は、1つ以上のアクションが主題、コンテンツ、他のユーザなどへの親密度を示すかどうか判断するためにユーザのアクションを分析する。限定ではなく、例として、ユーザが「コーヒー」やその変形に関連してコンテンツを頻繁に投稿する場合、ソーシャル・ネットワーキング・システム110は、ユーザが概念「コーヒー」に対して高い係数を有すると判断する。特定のアクションあるいはアクションのタイプは、他のアクションよりも高いウェイトおよび/または格付けを割り当て、これは全体的な計算された係数に影響する。限定ではなく、例として、第1のユーザが第2のユーザに電子メールを送る場合、アクションのウェイトや格付けは、第1のユーザが第2のユーザのユーザ・プロフィール・ページを単に見る場合よりも高い。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、特定のオブジェクト間の関係のタイプに基づいて係数を計算する。ソーシャル・グラフ300を参照して、ソーシャル・ネットワーキング・システム110は、係数を計算する際に特定のユーザ・ノード302およびコンセプト・ノード304をつなぐエッジ306の数および/またはタイプを分析する。限定ではなく、例として、配偶者タイプのエッジ(2人のユーザが結婚していることを示す)によってつなげられるユーザ・ノード302は、友達タイプのエッジによってつなげられるユーザ・ノード302よりも高い係数を割り当てられる。すなわち、特定のユーザにおけるアクションおよび関係に割り当てられるウェイトに応じて、全体的な親密度は、ユーザの友達に関するコンテンツにおけるよりもユーザの配偶者に関するコンテンツにおいてより高いと判断される。特定の実施形態においては、ユーザが別のオブジェクトと有する関係は、そのオブジェクトの係数の計算に関して、ユーザのアクションのウェイトおよび/または格付けに影響する。限定ではなく、例として、ユーザが第1の写真においてタグ付けされるが、単に第2の写真をいいね!の表明をする場合、コンテンツでタグ付けタイプの関係を有することは、コンテンツでいいね!タイプの関係を有するよりも高いウェイトおよび/または格付けを割り当てられるため、ソーシャル・ネットワーキング・システム110は、ユーザが第2の写真よりも第1の写真に対してより高い係数を有すると判断する。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、特定のオブジェクトで1人以上の第2のユーザが有する関係に基づいて第1のユーザの係数を計算する。すなわち、他のユーザがオブジェクトで有するつながりおよび係数は、第1のユーザのオブジェクトの係数に影響する。限定ではなく、例として、第1のユーザが1人以上の第2のユーザにつながるか高い係数を有し、それらの第2のユーザが特定のオブジェクトにつながるか高い係数を有する場合、ソーシャル・ネットワーキング・システム110は、第1のユーザが特定のオブジェクトに比較的高い係数をさらに有すると判断する。特定の実施形態においては、係数は特定のオブジェクト間の隔たりの次数に基づく。より低い係数は、第1のユーザが、ソーシャル・グラフ300における第1のユーザに間接的につながるユーザのコンテンツ・オブジェクトへの関心を共有する可能性が低減されることを示す。限定ではなく、例として、ソーシャル・グラフ300においてより近い(つまり、より小次の隔たり)ソーシャル・グラフのエンティティは、ソーシャル・グラフ300においてさらに離間したエンティティよりも高い係数を有する。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、位置情報に基づいて係数を計算する。地理的に互いに近いオブジェクトは、互いにより離れたオブジェクトよりもより関連付けられるか、より高い関心を有するものと考えられる。特定の実施形態においては、特定のオブジェクトへのユーザの係数は、ユーザ(あるいはユーザのクライアント・システム130の位置)に関連付けられる現在位置へのオブジェクトの位置の接近に基づく。第1のユーザは、第1のユーザに近接する他のユーザやコンセプトにより関心を有する。限定ではなく、例として、ユーザが空港から1マイル(約1.6キロメートル)かつガソリン・スタンドから2マイル(約3.2キロメートル)にいる場合、ソーシャル・ネットワーキング・システム110は、ユーザに対する空港の近接に基づき、ユーザがガソリン・スタンドよりも空港により高い係数を有すると判断する。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は係数情報に基づいてユーザに対して特定のアクションを実行する。係数は、ユーザがユーザのアクションへの関心に基づいて特定のアクションを実行するかどうかを予想するために使用される。広告、検索結果、ニュース記事、メディア、メッセージ、通知、あるいは他の適切なオブジェクトなどのユーザへの任意のタイプのオブジェクトを生成するか提示する際に、係数が使用される。場合に応じて係数は、そのようなオブジェクトをランク付け、および順序づけするためにも利用される。このように、ソーシャル・ネットワーキング・システム110は、ユーザの関心および現在の状況に関連する情報を提供し、関心のあるそのような情報を見つける確率を上げる。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、係数情報に基づいてコンテンツを生成する。コンテンツ・オブジェクトはユーザに特有の係数に基づいて、提供乃至選択される。限定ではなく、例として、係数はユーザのためにメディアを生成することに使用され、ユーザは、ユーザがメディア・オブジェクトに対して高い全体的な係数を有するメディアを提供される。限定ではなく、別例として、係数はユーザのために広告を生成することに使用され、ユーザは、ユーザが広告されるオブジェクトに対して高い全体的な係数を有する広告を提供される。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、係数情報に基づいて検索結果を生成する。特定のユーザのための検索結果は、クエリ・ユーザに対する検索結果に関連付けられた係数に基づいて、スコア付け乃至ランク付けされる。限定ではなく、例として、より高い係数を備えたオブジェクトに対応する検索結果は、より低い係数を有するオブジェクトに対応する結果よりも検索結果ページに、より高くランク付けされる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、特定のシステムかプロセスからの係数のリクエストに応じて係数を計算する。ユーザが所与の状況で取る可能性の高いアクション(あるいは主題である)を予想するために、任意のプロセスが、ユーザのための計算された係数をリクエストする。リクエストは、係数を計算するために使用される様々な要因に使用する1組のウェイトを含む。このリクエストは、オンライン・ソーシャル・ネットワーク上で実行されるプロセスに、サードパーティ・システム170(例えばAPIあるいは他の通信チャンネルを介した)に、あるいは別の適切なシステムに由来する。リクエストに応じて、ソーシャル・ネットワーキング・システム110は係数を計算する(あるいは以前に計算され格納されている場合、係数情報にアクセスする)。特定の実施形態においては、ソーシャル・ネットワーキング・システム110は、特定のプロセスに関して親密度を測定する。異なるプロセス(オンライン・ソーシャル・ネットワーク内部・外部の両者)は、特定のオブジェクトあるいはオブジェクトの組の係数をリクエストする。ソーシャル・ネットワーキング・システム110は、親密度の基準をリクエストした特定のプロセスに関連する親密度の基準を提供する。このように、プロセスはそれぞれ、プロセスが親密度の基準を使用する、異なるコンテキストに適合する親密度の基準を受け取る。
特定の実施形態において、ソーシャル・ネットワーキング・システム110は、ユーザのペアの社会的親密度スコアに基づいて、ソーシャル・ネットワーキング・システム110に対して接続された2つの異なるネットワーク要素の集合的な社会的親密度スコアを計算し得る。ここで、各ペア内のユーザのうちの1人は、ネットワーク要素のうちの1つに対して接続され、各ペア内のユーザのうちの他の1人は、他のネットワーク要素に対して接続される。特定の実施形態において、ユーザの各ペア間のソーシャル・グラフ関係性に関する社会的親密度スコアは、ソーシャル・ネットワーキング・システムによって決定され、かつソーシャル・ネットワーキング・システムから取得され(またはソーシャル・ネットワーキング・システムによって提供され)得る。集合的な社会的親密度スコアは、ユーザの各ペアの社会的親密度スコアの単純な平均値として、または重み付けされた平均値として計算され得る。また、集合的な社会的親密度スコアは、定期的に再計算されてもよく、集合的な社会的親密度スコアが計算された2つのネットワーク要素のうちの1つにユーザのクライアント・システムが接続するたびに、もしくはこれらのうちの1つから切断するたびに再計算されてもよく、または、ソーシャル・ネットワーキング・システムが、(例えば、その社会的親密度スコアが、特定された量よりも多く変更された関係性に関して)更新された社会的親密度スコア情報を送出する場合に再計算されてもよい。特定の実施形態において、集合的な社会的親密度スコアの計算は、特定のユーザ・ペア(例えば、ユーザのうちの少なくとも1人が、より高い品質のサービスに対して支払いをした「プレミアム・ユーザ」と見なされるユーザ・ペア、または、ユーザのうちの少なくとも1人が、ソーシャル・ネットワーキング・システム上の通常のアクティビティの最小閾値を超えるユーザ・ペア)の社会的親密度スコアのみを考慮してもよい。
例えば、図2Bに示されるように、ネットワーク要素のペアは、ルータ140Aと、セル・タワー基地局140Bとを含み得る。セル・タワー基地局140Aおよびルータ140Bの集合的な社会的親密度スコアは、2つのネットワーク要素によってサービス提供されているユーザのペアの社会的親密度スコアに基づいて決定され得る。具体的には、集合的な社会的親密度スコアの計算は、ソーシャル・ネットワーキング・システム110によって、ネットワーク要素によって(例えば、セル・タワー基地局140Aおよび/もしくはルータ140Bにおいて)、サードパーティ・システム260によって、または、計算を行うことが可能な任意の他の適切な中間要素において行われ得る。また、集合的な社会的親密度スコアは、ソーシャル・ネットワーキング・システム110に関与するアクティビティに基づいて計算されてもよく、ソーシャル・ネットワーキング・システム110には関与しないが、それでもなおネットワーク要素を使用するユーザ・アクティビティ(例えば、例として、電子メール、SMS、MMS等のメッセージの送信および受信)にも基づいて計算されてもよい。
特定の実施形態において、ネットワーク要素140とクライアント・システム160との間の接続が確立されると、ネットワーク要素140は、限定ではなく例として、新たに接続されたクライアント・システム160に関連付けられたユーザのソーシャル・ネットワーキング・ユーザ識別子、ユーザの各ソーシャル・グラフのつながりに関するソーシャル・ネットワーキング・ユーザ識別子およびユーザとソーシャル・グラフのつながりとの間の関係性に関する社会的親密度スコア、ユーザのソーシャル・グラフのつながりのクライアント・システムの識別子、ならびに他の関連する情報およびメタデータ(例えば、ユーザのペア内の各ユーザのクライアント・システムが、そのそれぞれのネットワーク要素に対していつ接続したかを示すタイムスタンプ情報)などの情報のログを取り得る。
重み付けされた平均値として計算される場合、集合的な社会的親密度スコアは、ユーザ・アクション、ユーザ/オブジェクト間の関係のタイプ、位置情報、データ・サイズおよび/もしくはユーザ間のデータ送信の頻度、または他の適切な要因を含む、様々な要因に基づく重みを使用して決定され得る。
上で述べたように、集合的な社会的親密度スコアは、再計算される場合に、経時的に変化し得る。例えば、特定のセル・タワーがビジネス街に存在する場合、日中に、このセル・タワーによってサービス提供されるユーザは、この地域の商業的ビジネスの従業員または顧客であり得る。日中の、そのタワーへの呼、通信、および/またはアップロードされたコンテンツは、ビジネス向け(例えば、他のビジネス地区内の他のセル・タワー向け)であり得、他のビジネス地区のセル・タワーに関する集合的な社会的親密度スコアは、より大きくなり得る。夜間には、ユーザ基盤が、同じ地域内のバー、レストラン、および他の同様の施設の従業員または顧客に変化し得る。これは、特定のセル・タワーに接続し、異なるネットワーク要素と(例えば、住宅地域内のルータと)通信する異なるユーザ基盤をもたらし得る。したがって、これらの異なるネットワーク要素に関する集合的な社会的親密度スコアが増加し得、一方で、他のビジネス地区内の他のセル・タワー基地局に関する集合的な社会的親密度スコアは減少し得る。
一定の期間にわたる集合的な社会的親密度スコアにおける任意の潜在的な変化を考慮するために、ソーシャル・ネットワーキング・システム110は、一貫した間隔で(例えば、5分ごとに、毎時等)ネットワーク要素をポーリングし得る。他の実施形態において、ネットワーク要素は、新たなユーザのクライアント・システムとの接続が確立された場合に、新たなユーザを検出し得、ソーシャル・ネットワーキング・システム110から新たなユーザのソーシャル・グラフ・データ(ソーシャル・グラフ内の他のユーザとの新たなユーザの関係性に関する社会的親密度スコアを含む)を要求し、取得されたソーシャル・グラフ・データを使用して、それらの集合的な社会的親密度スコアを更新し得る。そのため、集合的な社会的親密度スコアは、定期的にかつ継続的に再計算され得る。
ソーシャル・グラフ親密度および親密度係数に関連して、特定の実施形態は、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月1日に出願された米国特許出願第13/632869号において開示された、1つまたは複数のシステム、構成要素、要素、機能、方法、動作、または工程を利用してもよく、これらの米国特許出願の各々は、本願明細書に援用する。
特定の実施形態において、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの1つまたは複数は、プライバシー設定に関連付けられ得る。オブジェクトについてのプライバシー設定(または「アクセス設定」)は、任意の適切な手法で、例えば、オブジェクトに関連付けて、認証サーバ上のインデックスにおいて、別の適切な手法で、または、これらの任意の組み合わせなどで記憶され得る。オブジェクトのプライバシー設定は、オンライン・ソーシャル・ネットワークを使用して、どのようにオブジェクト(またはオブジェクトに関連付けられた特定の情報)がアクセスされ(例えば、見られ、または共有され)得るかを特定し得る。オブジェクトについてのプライバシー設定が、特定のユーザがそのオブジェクトにアクセスすることを可能にする場合、オブジェクトは、そのユーザに関して「見える」ものとして説明され得る。限定ではなく例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザ・プロフィール・ページ上の職歴情報にアクセスし得るユーザのセットを識別する、ユーザ・プロフィール・ページに関するプライバシー設定を特定し、したがって、他のユーザがその情報にアクセスすることを排除し得る。特定の実施形態において、プライバシー設定は、オブジェクトに関連付けられた一定の情報にアクセスすることが許容されるべきではないユーザの「ブロック・リスト」を特定し得る。言い換えれば、ブロック・リストは、オブジェクトを見ることができない、1人または複数のユーザまたはエンティティを特定し得る。限定ではなく例として、ユーザは、ユーザに関連付けられた写真アルバムにアクセスし得ないユーザのセットを特定し、したがって、それらのユーザが写真アルバムにアクセスすることを排除し得る(一方で、ユーザのセット内にはない一定のユーザが、写真アルバムにアクセスすること許容する可能性もある)。特定の実施形態において、プライバシー設定は、特定のソーシャル・グラフ要素に関連付けられ得る。ノードまたはエッジなどのソーシャル・グラフ要素のプライバシー設定は、どのようにソーシャル・グラフ要素、ソーシャル・グラフ要素に関連付けられた情報、またはソーシャル・グラフ要素に関連付けられたコンテンツ・オブジェクトがオンライン・ソーシャル・ネットワークを使用してアクセスされ得るかを特定し得る。限定ではなく例として、特定の写真に対応する特定のコンセプト・ノード204は、この写真にタグ付けされたユーザおよびユーザの友達のみによって、この写真がアクセスされ得ることを特定するプライバシー設定を有してもよい。特定の実施形態において、プライバシー設定は、ユーザのアクションがソーシャル・ネットワーキング・システム160によってログを取られること、または他のシステム(例えば、サードパーティ・システム170)と共有されることをユーザがオプト・インまたはオプト・アウトすることを可能にし得る。特定の実施形態において、オブジェクトに関連付けられたプライバシー設定は、許可されるアクセスまたはアクセスの拒否の任意の適切な粒度を特定し得る。限定ではなく例として、アクセスまたはアクセスの拒否は、特定のユーザ(例えば、自分のみ、自分のルームメイト、および自分の上司)、特定の分離度内のユーザ(例えば、友達、もしくは友達の友達)、ユーザ・グループ(例えば、ゲーム・クラブ、私の家族)、ユーザ・ネットワーク(例えば、特定の雇用主の従業員、特定の大学の学生もしくは卒業生)、全てのユーザ(「公開」)、ユーザなし(「プライベート」)、サードパーティ・システム170のユーザ、特定のアプリケーション(例えば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザもしくはエンティティ、または、これらの任意の組み合わせについて特定されてもよい。本開示は、特定のプライバシー設定を特定の手法で使用することを説明するが、本開示は、任意の適切なプライバシー設定を任意の適切な手法で使用することを想定する。
特定の実施形態において、1つまたは複数サーバ162は、プライバシー設定を強化するための認証サーバ/プライバシー・サーバであり得る。データ・ストア164において記憶された特定のオブジェクトに対する、ユーザ(または他のエンティティ)からの要求に応じて、ソーシャル・ネットワーキング・システム160は、オブジェクトに対する要求をデータ・ストア164に対して送信し得る。要求は、要求に関連付けられたユーザを識別し得、オブジェクトに関連付けられたプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることを認証されていると認証サーバが決定した場合にのみ、ユーザ(またはユーザのクライアント・システム130)へ送信され得る。要求元のユーザが、オブジェクトにアクセスすることを認証されない場合、認証サーバは、要求されたオブジェクトがデータ・ストア164から取得されることを防止し、または、要求されたオブジェクトがユーザへ送信されることを防止し得る。検索クエリのコンテキストにおいて、オブジェクトは、クエリを行うユーザがオブジェクトにアクセスすることを認証される場合にのみ、検索結果として生成され得る。言い換えれば、オブジェクトは、クエリを行うユーザに見える可視性を有しなければならない。オブジェクトが、ユーザに見えない可視性を有する場合、オブジェクトは、検索結果から排除され得る。本開示は、プライバシー設定を特定の手法で強化することを説明するが、本開示は、プライバシー設定を任意の適切な手法で強化することを想定する。
図4は、ネットワーク要素のペアの集合的な社会的親密度スコアを計算および利用するための例示的な方法400を示す。例示的な方法400は、ソーシャル・ネットワーキング・システム110によって、ネットワーク要素によって、サードパーティ・システム260によって、または計算を行うことが可能な任意の中間要素によって行われ得る。本方法は、そのクライアント・システムが第1のネットワーク要素に対して接続される、ソーシャル・ネットワーキング・システムの1人または複数の第1のユーザが識別される工程410において開始し得る。例えば、これらの第1のユーザは、リアルタイムで識別されてもよく、または、ユーザのリストが、所定の位置(例えば、ソーシャル・ネットワーキング・システム110に関連付けられたメモリもしくはデータ、特定のネットワーク要素、もしくは他の適切なストレージ位置)から取得されてもよい。
工程420において、ユーザの関係性に関する社会的親密度スコアを含む、ソーシャル・グラフ情報が、1人または複数の第1のユーザの各々について取得され得る。例えば、このソーシャル・グラフ情報は、ソーシャル・ネットワーキング・システム110から取得されてもよい。工程430において、ネットワーク要素のペアが、取得されたソーシャル・グラフ情報に基づいて識別され得る。工程440において、集合的な社会的親密度スコアが、ネットワーク要素の各ペアについて計算され得る。集合的な社会的親密度スコアは、1人または複数の第1のユーザと1人または複数の第2のユーザとの間のソーシャル・グラフ関係性に関する社会的親密度スコアに少なくとも部分的に基づいて計算され得る。最後に、工程450において、データの送信が、最小閾値を超える集合的な社会的親密度スコアを有するネットワーク要素のペア内のネットワーク要素によって受信される場合、このペア内の他方のネットワーク要素がデータを受信する際の待ち時間を低減するためのアクションを積極的に行う。各ペア内の両方のネットワーク要素が、何らかの種類の積極的なアクションを取り得る。接続されたクライアント・システムからデータ送信を最初に受信するネットワーク要素は、ペア内の他方のネットワーク要素に対して通知を送ってもよく、この他方のネットワーク要素は、次に、データ送信もしくはその一部をプリフェッチし、またはデータ送信に関連した需要の増加に備えてリソースを割り当ててもよい。
特定の実施形態は、適当な場合には、図4の方法の1つまたは複数の工程を繰り返してもよい。本開示は、図4の方法の特定の工程が特定の順序で発生するものとして説明および例示するが、本開示は、図4の方法の任意の適切な工程が任意の適切な順序で発生することを想定する。さらに、本開示は、図4の方法の特定の工程を含む、ネットワーク要素のソーシャル・スコアを計算および利用するための例示的な方法を説明および示すが、本開示は、任意の適切な工程を含む、ネットワーク要素のソーシャル・スコアを計算および利用するための任意の適切な方法を想定し、任意の適切な工程は、適当な場合には、図4の方法の工程の全部を含んでも、一部を含んでも、または全く含まなくてもよい。さらに、本開示は、図4の方法の特定の工程を実行する特定の構成要素、デバイス、またはシステムを説明および例示するが、本開示は、図4の方法の任意の適切な工程を実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組み合わせを想定する。
ここで、集合的な社会的親密度スコアに基づいて発生し得るデータの送信に関するアクションのタイプの非限定的な例が説明される。前述されたように、集合的な社会的親密度スコアは、第2のネットワーク要素に関連付けられたユーザによってソーシャル・ネットワーキング・システムに提供またはアップロードされたコンテンツを、第1のネットワーク要素に関連付けられたユーザが要求し得るかどうかを決定するために使用され得る。付加的に、または代替的に、集合的な社会的親密度スコアは、2つのネットワーク要素間の高い集合的な社会的親密度スコアに基づいて、第2のネットワーク要素に関連付けられたユーザが見たおよび/またはダウンロードしたコンテンツを、第1のネットワーク要素に関連付けられたユーザも見そうかどうかおよび/またはダウンロードしそうかどうかを決定するために使用されてもよい。これらの状況において、要求されそうなコンテンツがユーザへ提供され得る効率を高めるために、このコンテンツは、一定のサーバおよび/もしくはネットワーク要素へプリフェッチされてもよく、ならびに/または、要求されそうなコンテンツを転送するために、ソーシャル・ネットワーキング・システムからこれらのネットワーク要素への接続を確立および維持するためのリソースが、要求が発生する前に割り当てられてもよい。
例として、第1のネットワーク要素に関連付けられたユーザは、コンテンツをソーシャル・ネットワーキング・システム110にアップロードし得る。セル・タワー基地局140Bは、ルータ140Aに関して高い集合的な社会的親密度スコアを有すると決定され得る。結果として、ルータ140Aは、セル・タワー基地局140Bを経由してソーシャル・ネットワーキング・システム110へアップロードされたコンテンツを(例えば、コンテンツ自体をキャッシュすること、またはコンテンツに関連付けられたメタデータを記憶することによって)プリフェッチし得、それにより、ルータ140Aに関連付けられたユーザが、アップロードされたコンテンツをダウンロードすることを決めた場合に、このダウンロードについて被るいかなる待ち時間も低減される。なぜなら、コンテンツ(または、アップロードされたコンテンツを取得するための情報および/もしくは通知を提供し得るメタデータ)は、ルータ140A上に既に存在しており、利用可能であるからである。コンテンツは、ルータ140Aにおいてプリフェッチ済みおよびキャッシュ済みであるため、コンテンツは、ルータ140Aに関連付けられたユーザのうちのいずれに対しても、低減された待ち時間で提供され得る。
いくつかの実施形態において、プリフェッチすることは、ソーシャル・ネットワーキング・システム110とは独立して行われ得る。例えば、ユーザが、第1のネットワーク要素を通じてコンテンツをアップロードする場合、この第1のネットワーク要素は、他のネットワーク要素(例えば、ネットワーク要素が過去に接続したネットワーク要素、またはネットワーク要素が最近接続したネットワーク要素のみ)に対して、第2のネットワーク要素のユーザにとって興味があり得るアップロードされたコンテンツが存在するという通知をブロードキャストし得る。この時点で第1のネットワーク要素に関して高い社会的親密度スコアを有し得る第2のネットワーク要素は、次いで、コンテンツに対する潜在的な将来の要求を見込んで、コンテンツまたはコンテンツに関連するメタデータをプリフェッチし得る。
いくつかの実施形態において、プリフェッチされたコンテンツは、認証されていないユーザがネットワーク要素におけるコンテンツにアクセスすることができないように、ネットワーク要素レベルにおいてセキュリティの付加的な層を必要とし得る。上記で説明されたように、ネットワーク要素などのオブジェクトについてのプライバシー設定は、コンテンツ要素上に記憶されたコンテンツがどのようにアクセスされ得るかを特定し得、ソーシャル・ネットワーキング・システム110に関連付けられた情報に基づいて決定され得る。また、プライバシー設定を強化することは、ソーシャル・ネットワーキング・システム110を介して、特定のネットワーク要素を介して、または任意の他の適切な手法で行われ得る。
別の例として、毎晩、第1のネットワーク要素に関連付けられたユーザ(例えば、図2Bにおいて、セル・タワー基地局140Bに関連付けられたユーザ)は、特定の時間に、第2のネットワーク要素のユーザ(例えば、ルータ140Aに関連付けられたユーザ)とのビデオ・チャットを開始し得、それにより、ルータ140Aに関するセル・タワー基地局140Bの集合的な社会的親密度スコアは、夜間に高くなる。セル・タワー基地局140Bとルータ140Aとの間で夜間に定期的に発生するデータ転送を見込んで、セル・タワー基地局140Aとルータ140Bとの間のネットワーク接続は、ビデオ呼が開始される瞬間の前に、この目的のために確立および予約され得る。結果として、ユーザが呼を開始する場合、ネットワーク接続は既に確立済みであり、ネットワーク105上で呼を開始するための時間を短縮させる。
いくつかの実施形態において、これは、例えば、ネットワーク105が使用中である時に発呼が行われている場合に、新たなTCP接続を確立するためのリソースがタイムシフトされることを可能にし得る。また、少なくとも集合的な社会的親密度スコアに基づいて、ソーシャル・ネットワーキング・システム110は、多くの新たなTCP接続(例えば、特定のイベント中にまたは特定のイベント後に行われることが想定される大量のメッセージ、投稿、および/または呼)が要求される特定の時間を想定し、発生しそうであると決定された特定のネットワーク要素間の任意のTCP接続を予め確立し、予測可能ではなかったか、または想定されなかったことがあり得る新たな接続を確立するためにリソースを解放し得、ネットワーク上でデータ送信を確立および維持するためのリソースのより良い割り当てをもたらし得る。
さらに別の例として、第1のネットワーク要素に関連付けられた1つまたは複数のクライアント・システム(例えば、図2Bにおいて、セル・タワー基地局140Bに関連付けられたクライアント・システム160B1および160B2)は全て、ソーシャル・ネットワーキング・システム110から特定のコンテンツをダウンロードすること、および、クライアント・システムがコンテンツに対して「いいね」を表明するためにコンテンツをクリックすることも始め得る。結果として、ソーシャル・ネットワーキング・システム110は、特定のコンテンツの人気が上昇していることを検出し、それらのユーザの社会的な接続もそのコンテンツを同様にダウンロードすることを望みそうであると想定し得る。したがって、ソーシャル・ネットワーキング・システム110は、次いで、セル・タワー基地局140Bと高い集合的な社会的親密度スコアを有するルータ140Aがコンテンツ(または、アップロードされたコンテンツを取得するための情報および/もしくは通知を提供し得るメタデータ)をプリフェッチおよびキャッシュすることを要求し得る。したがって、コンテンツは、ルータ140Aにおいてプリフェッチ済みおよびキャッシュ済みであるため、コンテンツは、コンテンツを見ることおよび/またはダウンロードすることを要求しそうな、ルータ140Aに接続されたクライアント・システムのうちのいずれに対しても、より高い効率で配信され得る。
図5は、例示的なコンピュータ・システム500を示している。特定の実施形態においては、1つまたは複数のコンピュータ・システム500が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータ・システム500が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータ・システム500上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム500の1つまたは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、1つまたは複数のコンピュータ・システムを包含することができ、逆もまた同様である。
本開示は、任意の適切な数のコンピュータ・システム500を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム500を想定している。限定ではなく、例として、コンピュータ・システム500は、組み込みコンピュータ・システム、システムオンチップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム500は、1つもしくは複数のコンピュータ・システム500を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウド・コンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータ・システム500は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータ・システム500は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアルタイムで、またはバッチ・モードで実行することができる。1つまたは複数のコンピュータ・システム500は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
特定の実施形態においては、コンピュータ・システム500は、プロセッサ502、メモリ504、ストレージ506、入力/出力(I/O)インターフェース508、通信インターフェース510、およびバス512を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
特定の実施形態においては、プロセッサ502は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506に書き込むことができる。特定の実施形態においては、プロセッサ502は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ502を想定している。限定ではなく、例として、プロセッサ502は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ504またはストレージ506内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ502によるそれらの命令の取り出しをスピードアップすることができる。データ・キャッシュ内のデータは、プロセッサ502において実行される命令が機能する際に基づくメモリ504もしくはストレージ506内のデータのコピー、プロセッサ502において実行される後続の命令によるアクセスのための、もしくはメモリ504もしくはストレージ506への書き込みのためのプロセッサ502において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ502による読み取りオペレーションまたは書き込みオペレーションをスピードアップすることができる。TLBは、プロセッサ502のための仮想アドレス変換をスピードアップすることができる。特定の実施形態においては、プロセッサ502は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ502を想定している。適切な場合には、プロセッサ502は、1つまたは複数の演算ロジック・ユニット(ALU)を含むこと、マルチコア・プロセッサであること、または1つもしくは複数のプロセッサ502を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
特定の実施形態においては、メモリ504は、プロセッサ502が実行するための命令、またはプロセッサ502が機能する際に基づくデータを格納するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム500は、命令をストレージ506または別のソース(たとえば、別のコンピュータ・システム500など)からメモリ504にロードすることができる。次いでプロセッサ502は、命令をメモリ504から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ502は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ502は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ502は、それらの結果のうちの1つまたは複数をメモリ504に書き込むことができる。特定の実施形態においては、プロセッサ502は、(ストレージ506またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ504内の命令のみを実行し、(ストレージ506またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ504内のデータ上でのみ機能する。1つまたは複数のメモリ・バス(それらはそれぞれ、アドレス・バスおよびデータ・バスを含むことができる)は、プロセッサ502をメモリ504に結合することができる。バス512は、以降で記述されているような1つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ502とメモリ504との間に常駐し、プロセッサ502によって要求されるメモリ504へのアクセスを容易にする。特定の実施形態においては、メモリ504は、ランダム・アクセス・メモリ(RAM)を含む。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ504は、適切な場合には、1つまたは複数のメモリ504を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
特定の実施形態においては、ストレージ506は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ506は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ506は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ506は、適切な場合には、コンピュータ・システム500の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ506は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ506は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ506を想定している。ストレージ506は、適切な場合には、プロセッサ502とストレージ506との間における通信を容易にする1つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ506は、1つまたは複数のストレージ506を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
特定の実施形態においては、I/Oインターフェース508は、コンピュータ・システム500と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム500は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータ・システム500との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインターフェース508を想定している。適切な場合には、I/Oインターフェース508は、プロセッサ502がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインターフェース508は、適切な場合には、1つまたは複数のI/Oインターフェース508を含むことができる。本開示は、特定のI/Oインターフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインターフェースを想定している。
特定の実施形態においては、通信インターフェース510は、コンピュータ・システム500と、1つもしくは複数のその他のコンピュータ・システム500または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インターフェース510は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インターフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インターフェース510を想定している。限定ではなく、例として、コンピュータ・システム500は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータ・システム500は、ワイヤレスPAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切なワイヤレス・ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム500は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インターフェース510を含むことができる。通信インターフェース510は、適切な場合には、1つまたは複数の通信インターフェース510を含むことができる。本開示は、特定の通信インターフェースについて記述し、示しているが、本開示は、任意の適切な通信インターフェースを想定している。
特定の実施形態においては、バス512は、コンピュータ・システム500のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス512は、アクセラレイティッド・グラフィックス・ポート(AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス512は、適切な場合には、1つまたは複数のバス512を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、特徴、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。