図1は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。図1は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図1は、特定の数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含むことができる。
本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として、ネットワーク110の1つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク110は、1つまたは複数のネットワーク110を含むことができる。
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続することができる。本開示は、任意の適切なリンク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とは異なることが可能である。
特定の実施形態においては、クライアント・システム130は、クライアント・システム130によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム130は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、eブック・リーダ、全地球測位システム(GPS)デバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム130を想定している。クライアント・システム130は、クライアント・システム130のネットワーク・ユーザがネットワーク110にアクセスすることを可能にすることができる。クライアント・システム130は、自分のユーザがその他のクライアント・システム130のその他のユーザと通信することを可能にすることができる。
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ132を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBARなどのその他の拡張を有することができる。クライアント・システム130のユーザは、ウェブ・ブラウザ132を特定のサーバ(サーバ162、またはサードパーティ・システム170に関連付けられているサーバなど)へ導くユニフォーム・リソース・ロケータ(URL)またはその他のアドレスを入力することができ、ウェブ・ブラウザ132は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信することができる。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパー・テキスト・マークアップ言語(HTML)ファイルをクライアント・システム130に通信することができる。クライアント・システム130は、ユーザに提示するためにサーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標)
and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、1つまたは複数の対応するウェブページ・ファイル(そのウェブページをレンダリングするためにブラウザが使用することができる)を含み、その逆もまた同様である。
特定の実施形態において、ソーシャルネットワーキング・システム160またはサードパーティ・システム170は、起動信号を使用してクライアント・システム130をポーリングまたは「ping」することにより位置情報を取得することができる。限定ではなく一例として、ソーシャルネットワーキング・システムは、クライアント・システム130の位置サービスを有効にする起動信号を送信することによって、モバイルデバイス130によって実行されるアプリケーションをポーリングして位置データを取得することができる。例えばWI−FI(登録商標)またはLTEなどの通信プロトコルを使用して送信することができる。特定の実施形態において、クライアント・システム130の位置サービスは、例えば、1つまたは複数のセルラタワーの位置、WI−FIホットスポットに関連付けられたクラウドソース位置情報、またはクライアント・システム130の全地球測位システム(GPS)機能を用いるなど、1つまたは複数の位置判定方法を用いることができる。
特定の実施形態において、クライアント・システム130上で実行されるオーディオ・キャプチャ・アプリケーションは、クライアント・システム130のマイクロフォンからのオーディオ・データを連続的または定期的に取り込んで、そのオーディオ・データをオーディオ指紋に変換することができる。限定ではなく一例として、波形フィンガープリントは、音声特徴検出アルゴリズム(例えば、高速フーリエ変換(FFT)または離散コサイン変換(DCT))を用いて生成することができる。オーディオ指紋は、波形または波形集合を要約する小さくて信頼性の高い表現である。
特定の実施形態において、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス指定可能なコンピューティング・システムとすることができる。ソーシャルネットワーキング・システム160は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキング・システム160は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク110を介してアクセスされ得る。限定ではなく一例として、クライアント・システム130は、ウェブ・ブラウザ132またはソーシャルネットワーキング・システム160に関連付けられた固有のアプリケーション(例えば、モバイル・ソーシャルネットワーキング・アプリケーション、メッセージング・アプリケーション、他の適切なアプリケーション、またはそれらの任意の組み合わせ)を用いて、ソーシャルネットワーキング・システム160に直接、またはネットワーク110を介してアクセスすることができる。特定の実施形態において、ソーシャルネットワーキング・システム160は、1つまたは複数のサーバ162を含むことができる。それぞれのサーバ162は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ162は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Exchangeサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態において、それぞれのサーバ162は、サーバ162によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、1つまたは複数のデータ・ストア164を含むことができる。データ・ストア164は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データ・ストア164内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア164は、リレーショナル、コラム、相関関係、または他の好適なデータベースを含むことができる。この開示は、特定のタイプのデータベースを説明または図示するが、任意の好適なタイプのデータベースを想定する。特定の実施形態では、クライアント・システム130、ソーシャルネットワーキング・システム160、またはサードパーティ・システム170が、データ・ストア164内に格納されている情報を管理すること、取り出すこと、変更すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
特定の実施形態において、ソーシャルネットワーキング・システムは、1つまたは複数のデータ・ストア164にジオグラフィックおよび位置データを格納することができる。ソーシャルネットワーキング・システム160は、起動信号を用いてクライアント・システム130をポーリングまたは「ping」することによりクライアント・システム130の位置情報を取得することができる。特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざまな楽曲、テレビ番組、サウンド・トラック、映画、演奏などのオーディオ波形またはオーディオ波形指紋を1つまたは複数のデータ・ストア164に格納することができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャル・グラフを1つまたは複数のデータ・ストア164内に格納することができる。特定の実施形態において、ソーシャル・グラフは、複数のノードと、ノード同士をつなげる複数のエッジとを含むことができる。複数のノードは、複数のユーザ・ノード(それぞれが特定のユーザに対応している)または複数のコンセプト・ノード(それぞれが特定のコンセプトに対応している)を含むことができる。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態において、ユーザたちは、ソーシャルネットワーキング・システム160を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム160のその他の複数のユーザにつながり(例えば、関係)を付加することができる。本明細書において、「友達」という用語は、ユーザがソーシャルネットワーキング・システム160を介して、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム160のその他の任意のユーザを指すことができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを行う能力をユーザに提供することができる。限定ではなく一例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム160のユーザが属することが可能であるグループもしくはソーシャルネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキング・システム160において、またはサードパーティ・システム170の外部システム(ソーシャルネットワーキング・システム160とは別個のものであって、ネットワーク110を介してソーシャルネットワーキング・システム160に結合されている)によって表すことが可能な任意のものと対話することができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく一例として、ソーシャルネットワーキング・システム160は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にし、またはユーザたちがアプリケーション・プログラミング・インタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にする。
特定の実施形態において、サードパーティ・システム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、1つもしくは複数のインタフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または(たとえば、サーバが通信することができる)その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム170は、ソーシャルネットワーキング・システム160を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム160およびサードパーティ・システム170は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャルネットワーキング・システム160は、サードパーティ・システム170などのその他のシステムがインターネットを介してソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
特定の実施形態において、サードパーティ・システム170は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム130に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトなどを含むことができる。
特定の実施形態において、ソーシャルネットワーキング・システム160はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム160とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム160に付加、アップロード、送信、または「ポスト(投稿)」することができる任意のものを含むことができる。限定ではなく一例として、ユーザは、クライアント・システム130からソーシャルネットワーキング・システム160へポストを通信する。ポストは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム160に付加されることも可能である。
特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含むことができる。ソーシャルネットワーキング・システム160は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザ・プロフィールを格納するための1つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、1つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク110を介してソーシャルネットワーキング・システム160を1つもしくは複数のクライアント・システム130または1つもしくは複数のサードパーティ・システム170にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャルネットワーキング・システム160と、1つまたは複数のクライアント・システム130との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。API要求サーバは、サードパーティ・システム170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキング・システム160からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキング・システム160の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム130に提供することができる。情報は、通知としてクライアント・システム130へ押し出されることが可能であり、または情報は、クライアント・システム130から受け取られた要求に応答してクライアント・システム130から引き出されることが可能である。ソーシャルネットワーキング・システム160のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを識別する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム160によって記録されること、またはその他のシステム(たとえば、サードパーティ・システム170)と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティ・システム170などのサードパーティから受け取られたコンテンツ・オブジェクトを格納するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム130から受け取られたロケーション情報を格納するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
特定の実施形態において、クライアント・システム130の位置サービスは、例えば、1つまたは複数のセルラタワーの位置、WI−FI(登録商標)ホット・スポットに関連付けられたクラウドソース位置情報、またはクライアント・システム130のGPS機能を用いるなど、1つまたは複数の位置判定方法を使用することができる。特定の実施形態において、クライアント・システム130のアプリケーションは、位置データと、例えば近くのセルラタワーからの信号強度などの他の関連データとを送信することができる。限定ではなく一例として、クライアント・システム130がGPSデータを取得できるかどうかに少なくとも部分的に応じて、GPSデータを位置情報の主要なソースとして使用することができる。クライアント・システム130が所定の期間内にGPSデータを取得することができない場合、クライアント・システム130の位置は、1つまたは複数のセルラタワーまたはWI−FIホット・スポットを使用して決定することができる。本開示は、特定の位置判定方法を使用する位置サービスを記載するが、任意の適切な位置検出方法またはそれら位置検出方法の任意の組み合わせを使用した位置サービスを想定する。
特定の実施形態において、ソーシャルネットワーキング・システム160は、クライアント・システム130からの複数の位置読み取り値をグループ化して、それらの位置読み取り値を代表するジオグラフィック・クラスタを決定することができる。限定ではなく一例として、複数のジオロケーション・データポイントは、空間クラスタリング・アルゴリズムを使用してグループ化することができる。特定の実施形態において、空間クラスタリング・アルゴリズムは、1つまたは複数のジオグラフィック・クラスタまたは「ホット・スポット」として複数のジオロケーション・データポイントを表すことができる。さらに、ソーシャルネットワーキング・システム160またはサードパーティ・システム170は、ジオグラフィック・クラスタが特定のジオロケーションに対応すると判定する。限定ではなく一例として、ソーシャルネットワーキング・システム160は、ディレクトリ情報のデータベースにアクセスし、ジオグラフィック・クラスタの1つ以上を特定の住居、会場、または営業場所に関連付けることができる。
特定の実施形態において、ユーザの情報は、ユーザのジオグラフィック・クラスタに少なくとも部分的に基づいて推測することができる。限定ではなく一例として、ソーシャルネットワーキング・システム160は、ほとんどの人が平日の午前2時〜午前5時の間は家の場所にいるという仮定とそれらの時間におけるユーザのジオグラフィック・クラスタとに少なくとも部分的に基づいて、ユーザの家の場所を推測することができる。別の例として、ソーシャルネットワーキング・システム160は、ほとんどの人が平日午後2時〜午後5時の間は職場にいるという仮定とそれらの時間においてその職場がユーザのジオグラフィック・クラスタに一致するということとに少なくとも部分的に基づいて、ユーザの雇用場所を推測することができる。
GPSベースの位置サービスは、オープンスペースにおけるクライアント・システム130の位置を決定するのに最も有用であるが、例えばモールまたは映画館などの建物内での位置を決定することは困難である。特定の実施形態では、クライアント・システム130の位置は、BLUETOOTH LOW ENERGY(BLE)ビーコンを使用することにより決定されてもよい。BLEビーコンは、クライアント・システム130の位置サービスを拡張する屋内測位システムの一部である。限定ではなく一例として、クライアント・システム130の位置サービスは、クライアント・システム130が特定のビルに近接していると判断することができるが、クライアント・システム130の位置は、店内に位置するBLEビーコンを使用して精度を高めることで、クライアント・システム130が建物の内部にあるのか外部にあるのかを判定することができる。
BLEビーコンは、所定の時間間隔で「近接信号」を送信するように設定される。BLEビーコンは、ユニバーサルユニーク識別子(UUID)と、メジャーコートおよびマイナーコードとを送信する。UUIDは、ビーコン(例えば、特定の店に関連付けられている)の共通のグループを識別するために使用され、メジャーコードおよびマイナーコードは、ビーコンを物理的空間の所与の場所またはエリアに一意に関連付けるために使用される。これにより、任意の適切に備えられた近くのデバイス(モバイルデバイスなど)が、その場所またはエリアを検出することが可能となる。クライアント・システム130上で実行されるアプリケーションは、BLEビーコンからの近接信号を処理することができ、ソーシャルネットワーキング・システム160は、近接信号内において符号化された情報に基づいてクライアント・システム130が建物内にあると判断することができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、クライアント・システム130のマイクロフォンによって取り込まれたオーディオ信号に基づいて改良することができる。特定の実施形態において、ソーシャルネットワーキング・システム160は、クライアント・システム130によってアップロードされたオーディオ波形を、上述した1つまたは複数のデータ・ストア106内に格納された波形指紋にマッチングさせることができる。波形マッチングでは、例えば、高速フーリエ変換(FFT)または離散コサイン変換(DCT)などの特徴検出アルゴリズムを利用することができる。さらには、周波数領域または時間領域のいずれかにおける相互相関を波形マッチングに利用することができる。限定ではなく一例として、クライアント・システム130は、クライアント・システム130が公園の近くにいることを示す位置データを送信することができる。クライアント・システム130のマイクロフォンは、公園で演奏するバンドによって演奏される楽曲のオーディオ波形を取り込んでアップロードすることができる。クライアント・システム130またはソーシャルネットワーキング・システム160は、公園の近くの公演のリストを含み得るデータ・ストア164にアクセスすることができる。アップロードされたオーディオ波形とデータ・ストア164に格納された波形フィンガープリントの1つとの間に一致が見つかった場合、ソーシャルネットワーキング・システム160は、クライアント・システム130が公園に存在し、ライブパフォーマンスを聞いていると推測することができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160の外部で行われるさまざまなソーシャル・グラフ・エンティティの相互作用のメトリック(ここでは「ジオメトリック」と呼ぶことができる)を計算することができる。ジオメトリックは、例えば、ユーザ、エンティティ、ジオロケーション、オンライン・ソーシャル・ネットワークに関連付けられた他のオブジェクト、またはそれらの任意の組み合わせ、などといったようなオンライン・ソーシャル・ネットワークに関連付けられた特定のノード間の以前の空間的共通性に基づく将来の相互作用の評価を表すことができる。限定としてではなく一例として、空間的共通性は、ソーシャル・グラフのノード間の物理的なまたは「現実的」な相互作用を反映し得る。特定の実施形態において、ジオメトリックは、他のユーザまたはエンティティとのユーザの以前の空間的な共通点に基づいて、ユーザが別のユーザまたはエンティティに関して特定の動作を実行し得る予測確率を測定する確率または関数を表すこともできる。このようにして、ユーザの将来の動作は、ユーザの以前の動作に基づいて予測することが可能であり、ジオメトリックは、ユーザの記憶された位置データに少なくとも部分的に基づいて計算することができる。このジオメトリックは、オンライン・ソーシャル・ネットワークの内部または外部で発生し得る任意の数の動作を予測するために使用することができる。
また、ジオメトリックは、サードパーティ・システム170または他の適切なシステムに関連付けられたオブジェクトに関して決定されてもよい。限定ではなく一例として、ユーザが特定の友人や企業(レストラン、公園、会場、またはランドマークなど)と空間的共通性を共有する頻度が高いほど、ジオメトリックの値は高くなる。ジオメトリックは、ソーシャル・グラフ・エンティティに関連付けられた位置データまたは関係の継続的監視に基づいて変更されてもよい。本開示は、特定の方法で特定のジオメトリックを決定することについて記載しているが、任意の適切な方法で任意の適切な位置ベースのメトリックを決定することを想定している。
所与の状況においてユーザが取り得る行動を予測するために、ソーシャルネットワーキング・システム160またはサードパーティ・システム170上のプロセスは、係数または重みのセットを提供することによって、ユーザまたはエンティティのジオメトリックを要求することができる。限定としてではなく一例として、ジオメトリックの値は、要求時にオンデマンドで計算されてもよい。特定の実施形態において、ジオメトリックの成分メトリックは、エンティティの履歴位置データおよび他のセンサデータに基づいて計算することができる。空間的共通性または相互作用に関連する例示的な成分メトリックは、例えば、2人以上のユーザが特定の時間枠内で同じイベントにいる回数、ユーザがビジネスや会場の特定の場所を頻繁に使用する回数、エンティティが他のユーザと対話する回数、あるいは、他のユーザまたはエンティティに関連するソーシャルネットワーキング・システム160のアクションまたはオブジェクトを含む任意の他の位置ベースのアクティビティを含むことができる。特定の実施形態では、ジオメトリックは、ユーザ関連の相互作用を測定することができる。限定ではなく一例として、ジオメトリックは、例えば、ソーシャル・グラフでつながった互いに空間的共通性を有するユーザなど、人と人との相互作用を測定することができる。ソーシャルネットワーキング・システム160は、2人のユーザが同時に互いに所定の距離内にいることに基づいて、その2人のユーザが一緒に会った回数または一緒に過ごした回数を決定することができる。特定の実施形態では、この決定は、各ユーザのクライアント・システム130からポーリングされた周囲位置データに基づくものとすることができる。特定の実施形態では、この判定は、例えばレストランなどの同じジオロケーションでチェックインした2人のユーザに基づくものとすることができる。
別の例として、ジオメトリックは、例えば、ソーシャル・グラフでつながった互いに空間的共通性を有するユーザとエンティティなど、個人とエンティティとの相互作用を測定することができる。例えば、ソーシャルネットワーキング・システム160は、ユーザがエンティティ(例えば、レストラン)に関連付けられたジオロケーションに頻繁にアクセスした回数を決定することができる。別の例として、ソーシャルネットワーキング・システム160は、接続ユーザが別のエンティティ(例えば、特定の音楽グループがそのときに演奏している会場でコンサートに出席しているユーザ)と同じジオロケーションにいる回数を決定することができる。特定の実施形態では、この決定は、レストランに置かれたBLEビーコンからデータを受信するユーザのクライアント・システム130に基づくものとすることができる。特定の実施形態では、この決定は、同じ楽曲のオーディオ波形を取り込み、同様の音量を有している接続ユーザのクライアント・システム130に基づくものとすることができる。
別の例として、ジオメトリックは、人とエンティティとの相互作用よりも広い相互作用の尺度である、人とエンティティのタイプ/カテゴリとを測定することができる。特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザがエンティティのタイプまたはカテゴリに関連付けられた1つまたは複数のジオロケーションに頻繁にアクセスした回数を決定することができる。限定ではなく一例として、この決定は、ユーザのクライアント・システム130から受信した位置データが、ユーザが1つまたは複数の州立公園の境界内にいることを示す回数に基づくものとすることができる。別の例として、この決定は、ユーザがソーシャルネットワーキング・システム160を介して編成した映画館での夜間イベントを受け入れた回数に基づくものとすることができる。
特定の実施形態において、ジオメトリックは、エンティティ関連の相互作用を測定することができる。限定ではなく一例として、ジオメトリックは、例えば特定の食品トラックまたは施設とそれを訪問するユーザなどのように、エンティティと人との相互作用を測定することができる。別の例として、ジオメトリックは、例えば食品トラックの位置データを用いてさまざまな時間において食品トラックの位置を追跡するなどのように、エンティティと位置との相互作用を測定することができる。別の例としては、音楽グループが特定の会場で演奏する回数などである。また、ジオメトリックは、例えばソーシャルネットワーキング・システム160上で投稿されたステータス更新に基づいて音楽グループが特定の会場で演奏する回数を追跡するなど、エンティティとエンティティとの相互作用を測定することができる。
特定の実施形態において、ジオメトリックは、重み付け係数でそれぞれ修正された成分メトリックを有する重み付き線形関数として実装され得る。限定ではなく一例として、ジオメトリックは、次式(1)によって表すことができる。
ジオメトリック=a0+a1x1+a2x2+a3x3 ・・・(1)
ここで、a0はベース値であり、a1〜a3は各成分メトリックの係数であり、x1〜x3は上記した成分メトリックである。さらに、各成分メトリック(例えば、x1)は、複数の位置ベースの成分を含むことができ、各位置ベースの成分は、それ自身の重み付け係数を有することができる。例えば、後述する親近性基準のメトリックは、例えば、2人のユーザが現在互いに所定の距離内にいるかどうかを判定することや、あるいは2人のユーザが同じ場所すなわちトレンドのあるレストランで最近チェックインしたかどうかを判定することなど、位置ベースの成分の組み合わせを含み得る。特定の実施形態において、係数の1つ以上は、ノード間の関係が強いほどに係数の値が高くなるように、後述するノード間のアフィニティに基づくことができる。限定ではなく一例として、互いに高いアフィニティを有するユーザ(例えば、友人、同僚、または同級生)に関する成分メトリックは、比較的高い値での関連する係数を有し得る。特定の実施形態において、1つまたは複数の成分メトリックをジオメトリックに追加またはジオメトリックから削除して、精度を向上させるかまたは追加の位置ベースの成分メトリックを考慮することができる。特定の実施形態において、ジオメトリックの値は0〜1までの範囲内とすることができる。
成分メトリックの1つ以上は、ユーザの履歴位置データからの信号の強度が時間に応じて減衰する減衰係数を使用することができる。さらに、異なる成分メトリックは、異なる速度で履歴位置データを減衰させ得る。したがって、一部の成分メトリックは、その特定の位置データが時間の経過とともにどのように関連性が低くなり得るのかについての把握に基づいて履歴位置データの影響を減衰させ得る。さまざまな減衰メカニズムをこの目的のために使用することができる。限定ではなく一例として、特定の成分メトリックは、指数関数的減衰などの数学的関数を使用して、ユーザの行動に関する統計を減衰させることができる。別の例として、減衰は、例えば24時間または30日などの特定の時間ウィンドウ内に発生したユーザの行動に関する統計のみを選択することによって実施される。
特定の実施形態において、成分メトリクスは、親近性基準のメトリック(例えば、最近の近接度に基づく)、継続時間のメトリック(例えば、長期オーバーラップ)、または時間的要素を持たない(非時間依存性の)ノード間の位置オーバーラップに関するメトリックを含み得る。限定ではなく一例として、親近性基準の成分メトリックは、2人のユーザが同時に所定の距離内にいる確率を示すことができる。別の例として、継続時間メトリックは、例えばユーザがレストランまたは映画館などの特定のエンティティと対話する確率、または特定の食品トラックが特定のジオロケーションにいる確率を示すことができる。別の例として、時間非依存性の成分メトリックは、ユーザが少なくとも1つの主要なジオグラフィック・クラスタを共有しているかどうかの指標とすることができるが、同時に互いに近接している必要はない(例えば、同じ職場のユーザまたは同じ学校に通っているユーザなど)。
特定の実施形態において、重み係数の値は、位置データと他のセンサデータとに基づいて訓練された機械学習アルゴリズムを使用して決定することができる。他のセンサデータは、履歴データ、リアルタイムでキャプチャされたデータ、またはそれらの組み合わせである。重み付け係数は、バイナリ、より一般的には、任意の実数であってもよい。特定の実施形態において、重み付け係数は、全体のジオメトリックに対する各成分メトリックの相対的重要度の指標であり得る。より高い値の重み付け係数は、特定の成分メトリックがジオメトリック全体に与える影響がより大きいことを意味する。重み付け係数は、成分メトリックが基づいている位置データの継続的な追跡に基づいて継続的に更新されてもよい。特定の実施形態において、ソーシャルネットワーキング・システム160は、履歴位置データに対して訓練された機械学習アルゴリズムを使用して重み付け係数を決定することができる。特定の実施形態では、位置ベースのデータの更新が発生したとき、例えば、更新された位置データが受信されたときや、オーディオ波形がアップロードされたときや、人々がその位置を更新したり友人を追加したりしたときなどに、各成分メトリックの値を最新のデータに維持することができる。本開示は、特定の方法で重み係数または成分メトリックを計算することについて記載しているが、任意の適切な方法で重み付け係数または成分メトリックを計算することを想定している。
ソーシャルネットワーキング・システム160またはサードパーティ・システム170のさまざまなプロセスは、ソーシャルネットワーキング・システム160にジオメトリックを要求することができる。例えば、プロセスは、推奨アルゴリズム、通知アルゴリズム、広告ターゲティング・アルゴリズムなどの、基本的なソーシャルネットワーキング・システム機能を実装するものを含むことができる。ジオメトリックを要求する他のプロセスは、ソーシャルネットワーキング・システム160内で動作するが、ソーシャルネットワーキング・システム160のオペレータ以外の第三者によって提供されるアプリケーションである1つ以上のプラットフォーム・アプリケーションによって実行されてもよい。プラットフォーム・アプリケーションは、ソーシャル・ゲーム、メッセージング・サービス、およびソーシャルネットワーキング・システム160によって提供されるソーシャル・プラットフォームを使用する任意の他のアプリケーションを含むことができる。いくつかの実施形態では、ジオメトリックを要求するプロセスは、外部サーバ上で動作する1つ以上の外部アプリケーションを含むことができる。外部アプリケーションは、APIを介してソーシャルネットワーキング・システムと対話することができる。外部アプリケーションは、ユーザがソーシャルネットワーキング・システム160を介して互いにメッセージを送信したり、ソーシャルネットワーキング・システム160を介して広告を表示したりすることを可能にするなど、APIによってサポートされるさまざまなオペレーションを実行することができる。
図2は、ソーシャル・グラフの特定のノード間のジオメトリックを計算するための例示的な方法を示す。方法200は、第1のノードおよび第2のノードがソーシャル・グラフで識別されるステップ210で開始することができる。特定の実施形態において、第1のノードおよび第2のノードのそれぞれについて履歴位置データが利用可能である。限定ではなく一例として、第1のノードはユーザまたはエンティティに対応し、第2のノードはユーザ、エンティティ、またはジオロケーションに対応する。ステップ220では、ジオメトリックを計算するための1つまたは複数の成分メトリックがアクセスされる。特定の実施形態において、ジオメトリックは、第1のノードと第2のノードとの間の空間的共通性の評価を表す。
ステップ225において、第1のノードの以前の位置が第2のノードの以前の位置の所定の距離内にあるかどうかに基づいて空間的共通性を判定することができる。特定の実施形態において、空間的共通性は、第1のノードについて記憶された履歴位置データと、第2のノードについて記憶された履歴位置データとに基づいて決定される。ステップ230において、成分メトリックの1つに各々対応する1つ以上の係数がアクセスされる。ステップ240において、ジオメトリックは、受け取った係数を成分メトリックに適用し成分メトリックを組み合わせることによって計算される。ステップ250において、計算されたジオメトリックが提供される。ステップ255において、所定の閾値よりも高い値を有する計算されたジオメトリックに少なくとも部分的に基づいて、第1のノードのクライアント・システムに通知を送信することができる。本開示は、図2の方法の特定のステップを特定の順序で生じるものとして説明しているが、任意の適切な順序で生じる図2の方法の任意の適切なステップを想定している。さらに、本開示は、図2の方法の特定のステップを実行する特定のコンポーネントを説明しているが、図2の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
図3は、例示的なソーシャル・グラフを示している。特定の実施形態において、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャル・グラフ300を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、ソーシャル・グラフ300は、複数のノードと、ノード同士をつなげる複数のエッジ306とを含むことができる。複数のノードは、複数のユーザ・ノード302または複数のコンセプト・ノード304を含むことができる。図3において示されている例示的なソーシャル・グラフ300は、教示上の目的から、2次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切なアプリケーションに関してソーシャル・グラフ300および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ300のノードおよびエッジは、データ・オブジェクトとして、たとえば(ソーシャルグラフ・データベースなどの)データ・ストア内に格納されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ300のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
特定の実施形態において、ユーザ・ノード302は、ソーシャルネットワーキング・システム160のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム160とのアカウントに登録した場合には、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード302を作成し、そのユーザ・ノード302を1つまたは複数のデータ・ストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード302は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード302を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード302は、適切な場合には、ソーシャルネットワーキング・システム160に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード302は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード302は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード302は、1つまたは複数のウェブページに対応することができる。
特定の実施形態において、ユーザ・ノード302は、ユーザの位置データから推測される情報に関連付けられてもよい。例示ではなく一例として、ユーザの家の場所は、特定の日時(例えば午前2時〜午前5時など)に関連付けられたジオグラフィック・クラスタから推測することができ、ユーザの家の場所はユーザ・ノード302に関連付けられる。
特定の実施形態において、コンセプト・ノード304は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム160に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツチーム、もしくは有名人など)、ソーシャルネットワーキング・システム160内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオ・ファイル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード304は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられることが可能である)、連絡先情報(たとえば、電話番号もしくは電子メール・アドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード304は、コンセプト・ノード304に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード304は、1つまたは複数のウェブページに対応することができる。
特定の実施形態において、ソーシャル・グラフ300内のノードは、ウェブページ(「プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャルネットワーキング・システム160によってホストされること、またはソーシャルネットワーキング・システム160にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ170に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード304に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード302は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード304は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、1人または複数のユーザが、特にコンセプト・ノード304に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
特定の実施形態において、コンセプト・ノード304は、サードパーティ・システム170によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「食べる」)を選択することによってアクションを実行して、クライアント・システム130に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード302と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード304との間においてエッジ(たとえば、「食べる」エッジ)を作成して、エッジ306を1つまたは複数のデータ・ストア内に格納することができる。
特定の実施形態において、ソーシャル・グラフ300内の1対のノードが、1つまたは複数のエッジ306によって互いにつながることが可能である。1対のノードをつなげるエッジ306は、それらの1対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ306は、1対のノードの間における関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示すことができる。この表示に応答して、ソーシャルネットワーキング・システム160は、「友達要求」を第2のユーザに送信することができる。第2のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム160は、ソーシャル・グラフ300内で第1のユーザのユーザ・ノード202を第2のユーザのユーザ・ノード302につなげるエッジ306を作成して、エッジ306をソーシャル・グラフ情報としてデータ・ストア164のうちの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に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(「ランブル・オン」)を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード302と、その曲およびアプリケーションに対応するコンセプト・ノード304との間において、「聴いた」エッジ306(図3に示されている)および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したことを示すことができる。その上、ソーシャルネットワーキング・システム160は、その曲に対応するコンセプト・ノード304と、そのアプリケーションに対応するコンセプト・ノード304との間において、「再生した」エッジ306(図3に示されている)を作成して、その特定の曲がその特定のアプリケーションによって再生されたことを示すことができる。このケースにおいては、「再生した」エッジ306は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザ・ノード302とコンセプト・ノード304とをつなげる特定の属性を伴う特定のエッジ306について記述しているが、本開示は、ユーザ・ノード302とコンセプト・ノード304とをつなげる任意の適切な属性を伴う任意の適切なエッジ306を想定している。その上、本開示は、単一の関係を表すユーザ・ノード302とコンセプト・ノード304との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザ・ノード302とコンセプト・ノード304との間におけるエッジを想定している。限定ではなく、例として、エッジ306は、ユーザが特定のコンセプトに対して「いいね!」を表明していること、およびその特定のコンセプトを使用したことの両方を表すことができる。あるいは、別のエッジ306は、ユーザ・ノード302とコンセプト・ノード304との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表すことができる(図3において、ユーザ「E」を表すユーザ・ノード302と、「SPOTIFY」を表すコンセプト・ノード304との間において示されているように)。
特定の実施形態において、ソーシャルネットワーキング・システム160は、ソーシャル・グラフ300内でユーザ・ノード302とコンセプト・ノード304との間においてエッジ306を作成することができる。限定ではなく、例として、(たとえば、ユーザのクライアント・システム130によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって)コンセプトプロフィール・ページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプト・ノード304によって表されているコンセプトを自分が気に入っていることを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアント・システム130に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っていることを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、そのユーザとコンセプト・ノード304との間における「いいね!」エッジ306によって示されているように、そのユーザに関連付けられているユーザ・ノード302とコンセプト・ノード304との間においてエッジ306を作成することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、エッジ306を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、エッジ306は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム160によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ306は、第1のユーザに対応するユーザ・ノード302と、それらのコンセプトに対応するコンセプト・ノード304との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ306を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ306を形成することを想定している。
別の例として、ソーシャルネットワーキング・システム160は、ユーザの時間ベースのルーチンに少なくとも部分的に基づいて、特定のタイプの音楽または特定のスポーツチームに対応するユーザ・ノード302とコンセプト・ノード304との間の「いいね」の関係に対応するエッジ306を作成することができる。ソーシャルネットワーキング・システム160は、スポーツチームの会場でジオグラフィック・クラスタを有するユーザに応答して、特定のスポーツチームに対応するユーザ・ノード302とコンセプト・ノード304との間の「いいね」の関係に対応するエッジ306を作成することができる。別の例として、ソーシャルネットワーキング・システム160は、例えば特定のタイプの音楽を専門とするジャズクラブなどの会場にジオグラフィック・クラスタを有するユーザに応答して、特定のタイプの音楽に対応するユーザ・ノード302とコンセプト・ノード304との間の「いいね」の関係に対応するエッジ306を作成することができる。
特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザ・ノード302に関連するユーザまたはエンティティの位置データに基づいて、ソーシャル・グラフ300内のユーザ・ノード302と別のユーザ・ノード302またはコンセプト・ノード304との間に潜在的なつながりまたはエッジ306を作成することができる。限定ではなく一例として、ソーシャルネットワーキング・システム160は、空間的共通性を示すユーザの位置データに基づいて、2つのユーザ・ノード302の間にエッジ306を作成することができる。別の例として、ソーシャルネットワーキング・システムは、ユーザが衣類店に入ったことを示すBLEビーコンデータに基づいて、衣類店のジオロケーションに対応するユーザ・ノード302とコンセプト・ノード304との間にエッジ306を作成することができる。別の例として、ソーシャルネットワーキング・システムは、ユーザおよびミュージシャンの特定のグループに対応するユーザ・ノード302と、ユーザからの位置データおよび音声指紋データに基づいた会場および特定の楽曲に対応するコンセプト・ノード304との間に1つまたは複数のエッジ306を作成することができる。
ジオメトリックに関する概念は、互いに対するさまざまなソーシャル・グラフのエンティティのソーシャル・グラフ・アフィニティ(本明細書においては「アフィニティ」と呼ばれることがある)である。アフィニティは、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられているその他のオブジェクト、またはこれらの任意の好適な組み合わせなどのオンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクトの間の関係の強さまたは関心のレベルを表し得る。また、アフィニティは、サードパーティ・システム170またはその他の好適なシステムに関連付けられているオブジェクトに関連して決定され得る。各ユーザ、対象、またはコンテンツの種類に対するソーシャル・グラフのエンティティに関する全体的なアフィニティが、確立されることが可能である。全体的なアフィニティは、ソーシャル・グラフのエンティティに関連付けられているアクションまたは関係の継続的な監視に基づいて変わり得る。本開示は、特定のやり方で特定のアフィニティを決定することを説明するが、任意の好適なやり方で任意の好適なアフィニティを決定することを想定する。
特定の実施形態において、ソーシャルネットワーキング・システム160は、アフィニティ係数を使用してソーシャル・グラフ・アフィニティを測定または定量化し得る。アフィニティ係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクトの間の関係の強さを表すかまたは定量化し得る。また、アフィニティ係数は、ユーザがアクションに対するユーザの関心に基づいて特定のアクションを実行する予想された確率を測定する確率または関数を表すことが可能である。このようにして、ユーザの将来のアクションが、ユーザの以前のアクションに基づいて予想される可能性があり、アフィニティ係数が、ユーザのアクションの履歴に少なくとも部分的に基づいて計算され得る。アフィニティ係数は、オンライン・ソーシャル・ネットワークの中または外にある可能性がある任意の数のアクションを予想するために使用され得る。限定ではなく例として、これらのアクションは、メッセージを送信すること、コンテンツをポストすること、もしくはコンテンツにコメントすることなどのさまざまな種類の通信、プロフィール・ページ、メディア、もしくはその他の好適なコンテンツにアクセスするかもしくはそれを閲覧することなどのさまざまな種類の観測アクション、同じグループにいること、同じ写真にタグ付けされること、同じ位置にチェックインされること、もしくは同じイベントに参加することなどの2つ以上のソーシャル・グラフのエンティティについてのさまざまな種類の一致情報、またはその他の好適なアクションを含み得る。本開示は、特定のやり方でアフィニティを測定することを説明するが、任意の好適なやり方でアフィニティを測定することを想定する。
特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざまな因子を使用してアフィニティ係数を計算し得る。これらの因子は、たとえば、ユーザのアクション、オブジェクトの間の関係の種類、位置情報、その他の好適な因子、またはこれらの任意の組み合わせを含み得る。特定の実施形態においては、アフィニティ係数を計算するときに、異なる因子が異なるように重み付けされることが可能である。各因子に関する重みは、静的であることが可能であり、または重みは、たとえば、ユーザ、関係の種類、アクションの種類、ユーザの位置などに従って変わり得る。因子に関するレーティングが、ユーザに関する全体的なアフィニティ係数を決定するためにそれらの因子の重みに従って組み合わされ得る。限定ではなく例として、特定のユーザのアクションが、レーティングと重みとの両方を割り振られ得る一方、特定のユーザのアクションに関連付けられている関係は、レーティングおよび相関重み(correlating weight)を割り当てられる(たとえば、したがって、重みは合計で100%になる)。特定のオブジェクトに対するユーザのアフィニティ係数を計算するために、ユーザのアクションに割り振られるレーティングが、たとえば、全体的なアフィニティ係数の60%を含み得る一方、ユーザとオブジェクトとの間の関係は、全体的なアフィニティ係数の40%を含み得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、アフィニティ係数を計算するために使用されるさまざまな因子に関する重みを決定するときに、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに接続されたソーシャル・グラフのエンティティとの関係、ユーザのアクションの短期的もしくは長期的平均、ユーザのフィードバック、その他の好適な変数、またはこれらの任意の組み合わせなどのさまざまな変数を考える可能性がある。限定ではなく例として、アフィニティ係数は、アフィニティ係数を計算するときにより最近のアクションがより関連性を持つように、特定のアクションによって提供される信号の強度を時間とともに減衰させる減衰因子を含むことが可能である。レーティングおよび重みは、アフィニティ係数が基づくアクションの継続的な追跡に基づいて継続的に更新され得る。各因子に関するレーティングおよび因子に割り振られる重みの割り振り、組み合わせ、平均などのために任意の種類のプロセスまたはアルゴリズムが採用され得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、履歴的アクションおよび過去のユーザの応答、またはユーザをさまざまなオプションに露出し、応答を測定することによってユーザから養われたデータで訓練された機械学習アルゴリズムを使用してアフィニティ係数を決定し得る。本開示は、特定のやり方でアフィニティ係数を計算することを説明するが、任意の好適なやり方でアフィニティ係数を計算することを想定する。
特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザのアクションに基づいてアフィニティ係数を計算し得る。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワーク、サードパーティ・システム170、その他の好適なシステム、またはこれらの任意の組み合わせでそのようなアクションを監視し得る。任意の好適な種類のユーザのアクションが、追跡または監視され得る。典型的なユーザのアクションは、プロフィール・ページを閲覧すること、コンテンツを作成またはポストすること、コンテンツとインタラクションすること、画像をタグ付けすることまたは画像でタグ付けされること、グループに参加すること、イベントへの出席をリストに載せることおよび確認すること、位置にチェックインすること、特定のページに「いいね!」を表明すること、ページを作成すること、ならびにソーシャル・アクションを容易にするその他のタスクを実行することを含む。特定の実施形態において、ソーシャルネットワーキング・システム160は、特定の種類のコンテンツとのユーザのアクションに基づいてアフィニティ係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム170、または別の好適なシステムに関連付けられることが可能である。コンテンツは、ユーザ、プロフィール・ページ、ポスト、ニュース記事、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、ビデオ、音楽、その他の好適なオブジェクト、またはこれらの任意の組み合わせを含み得る。ソーシャルネットワーキング・システム160は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が対象、コンテンツ、その他のユーザなどに関するアフィニティを示すかどうかを決定し得る。限定ではなく例として、ユーザが「コーヒー」またはそれに類するものに関わりのあるコンテンツを頻繁にポストする可能性がある場合、ソーシャルネットワーキング・システム160は、ユーザがコンセプト「コーヒー」に関連する高いアフィニティ係数を有すると決定し得る。特定のアクションまたはアクションの種類が、その他のアクションよりも重い重みおよび/またはレーティングを割り振られる可能性があり、そのことが、全体的な計算されるアフィニティ係数に影響を与える可能性がある。限定ではなく例として、第1のユーザが第2のユーザに電子メールを送る場合、アクションに関する重みまたはレーティングは、第1のユーザが単に第2のユーザに関するユーザ・プロフィール・ページを閲覧する場合よりも高いことが可能である。
特定の実施形態において、ソーシャルネットワーキング・システム160は、特定のオブジェクトの間の関係の種類に基づいてアフィニティ係数を計算し得る。ソーシャル・グラフ300を参照すると、ソーシャルネットワーキング・システム160は、アフィニティ係数を計算するときに、特定のユーザ・ノード302とコンセプト・ノード304とを接続するエッジ306の数および/または種類を分析し得る。限定ではなく例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザ・ノード302は、友達タイプのエッジによって接続されるユーザ・ノード302よりも高いアフィニティ係数を割り振られることが可能である。言い換えると、特定のユーザに関するアクションおよび関係に割り振られた重みに依存して、全体的なアフィニティが、ユーザの友達についてのコンテンツに関してよりもユーザの配偶者についてのコンテンツに関してより高いと決定されることが可能である。特定の実施形態においては、ユーザが有する別のオブジェクトとの関係が、そのオブジェクトに関するアフィニティ係数を計算することに関連するユーザのアクションの重みおよび/またはレーティングに影響を与えることが可能である。限定ではなく例として、ユーザが第1の写真にタグ付けされるが、第2の写真にしか「いいね!」を表明しない場合、ソーシャルネットワーキング・システム160は、コンテンツとタグ付けタイプの関係を有することがコンテンツと「いいね!」タイプの関係を有することよりも重い重みおよび/またはレーティングを割り振られる可能性があるので、ユーザが第2の写真よりも第1の写真に関連してより高いアフィニティ係数を有すると決定し得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、1人または複数の第2のユーザが有する特定のオブジェクトとの関係に基づいて第1のユーザに関するアフィニティ係数を計算し得る。言い換えると、その他のユーザが有するオブジェクトとの接続およびアフィニティ係数が、オブジェクトに関する第1のユーザのアフィニティ係数に影響を与えることが可能である。限定ではなく例として、第1のユーザが1人もしくは複数の第2のユーザに接続されるかまたは1人もしくは複数の第2のユーザに関する高いアフィニティ係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるかまたは特定のオブジェクトに関する高いアフィニティ係数を有する場合、ソーシャルネットワーキング・システム160は、第1のユーザも特定のオブジェクトに関する比較的高いアフィニティ係数を有するべきであると決定し得る。特定の実施形態において、アフィニティ係数は、特定のオブジェクトの間の隔たりの度合いに基づくことが可能である。より低いアフィニティ係数は、第1のユーザがソーシャル・グラフ300の第1のユーザに間接的に接続されるユーザのコンテンツ・オブジェクトへの関心を共有する減少する見込みを表し得る。限定ではなく例として、ソーシャル・グラフ300内でより近いソーシャル・グラフのエンティティ(つまり、隔たりのより低い度合い)は、ソーシャル・グラフ300内でさらに離れているエンティティよりも高いアフィニティ係数を有することが可能である。
特定の実施形態において、ソーシャルネットワーキング・システム160は、位置情報に基づいてアフィニティ係数を計算し得る。地理的に互いにより近いオブジェクトは、より遠いオブジェクトよりも互いにより関わりがあるかまたはより関心があると考えられる可能性がある。特定の実施形態において、特定のオブジェクトに対するユーザのアフィニティ係数は、ユーザに関連付けられている現在位置(またはユーザのクライアント・システム130の位置)に対するオブジェクトの位置の近さに基づくことが可能性である。第1のユーザは、第1のユーザにより近いその他のユーザまたはコンセプトにより関心がある可能性がある。限定ではなく例として、ユーザが空港から1.6キロメートル(1マイル)およびガソリン・スタンドから3.2キロメートル(2マイル)の距離にある場合、ソーシャルネットワーキング・システム160は、ユーザがユーザに対する空港の近さに基づいてガソリン・スタンドよりも空港に関してより高いアフィニティ係数を有すると決定し得る。
特定の実施形態において、ソーシャルネットワーキング・システム160は、アフィニティ係数情報に基づいてユーザに関連する特定のアクションを実行し得る。アフィニティ係数は、アクションへのユーザの関心に基づいてユーザが特定のアクションを実行するかどうかを予想するために使用され得る。アフィニティ係数は、広告、検索リザルト、ニュース記事、メディア、メッセージ、通知、またはその他の好適なオブジェクトなどの任意の種類のオブジェクトを生じるかまたはユーザに提示するときに使用され得る。アフィニティ係数は、必要に応じてそのようなオブジェクトにランクを付け、順序付けするためにも利用され得る。このようにして、ソーシャルネットワーキング・システム160は、ユーザの関心および現在の事情に関連性を持っている情報を提供し、それらのユーザが関心のあるそのような情報を見つける見込みを増やすことが可能である。特定の実施形態において、ソーシャルネットワーキング・システム160は、アフィニティ係数情報に基づいてコンテンツを生じ得る。コンテンツ・オブジェクトは、ユーザに固有のアフィニティ係数に基づいて提供または選択されることが可能である。限定ではなく例として、アフィニティ係数は、ユーザのためのメディアを生じるために使用されることが可能であり、ユーザは、ユーザがメディア・オブジェクトに関連する高い全体的なアフィニティ係数を有するメディアを提示されることが可能である。限定ではなく別の例として、アフィニティ係数は、ユーザのための広告を生じるために使用されることが可能であり、ユーザは、ユーザが広告されるオブジェクトに関連する高い全体的なアフィニティ係数を有する広告を提示されることが可能である。特定の実施形態において、ソーシャルネットワーキング・システム160は、アフィニティ係数情報に基づいて検索リザルトを生じ得る。特定のユーザのための検索リザルトが、問い合わせしているユーザに関連する検索リザルトに関連付けられているアフィニティ係数に基づいてスコアを付けられるかまたはランクを付けられることが可能である。限定ではなく例として、より高いアフィニティ係数を持つオブジェクトに対応する検索リザルトが、より低いアフィニティ係数を有するオブジェクトに対応するリザルトよりも検索リザルト・ページでより高くランクを付けられることが可能である。
特定の実施形態において、ソーシャルネットワーキング・システム160は、特定のシステムまたはプロセスからのアフィニティ係数のリクエストに応答してアフィニティ係数を計算し得る。所与の局面でユーザがとり得る(または対象になり得る)ありそうなアクションを予想するために、任意のプロセスが、ユーザに関する計算されたアフィニティ係数をリクエストすることが可能である。このリクエストは、アフィニティ係数を計算するために使用されるさまざまな因子に関して使用する重みの集合を含むことが可能である。このリクエストは、オンライン・ソーシャル・ネットワークで実行されるプロセスから、(APIもしくはその他の通信チャネルを介して)サードパーティ・システム170から、または別の好適なシステムから来ることが可能である。リクエストに応答して、ソーシャルネットワーキング・システム160は、アフィニティ係数を計算し得る(またはアフィニティ係数情報が既に計算され、記憶されている場合、そのアフィニティ係数情報にアクセスし得る)。特定の実施形態において、ソーシャルネットワーキング・システム160は、特定のプロセスに関連するアフィニティを測定し得る。異なるプロセス(オンライン・ソーシャル・ネットワークの内部と外部との両方)が、特定のオブジェクトまたはオブジェクト集合に関するアフィニティ係数をリクエストすることが可能である。ソーシャルネットワーキング・システム160は、アフィニティの測定値をリクエストした特定のプロセスと関連性を持っているアフィニティの測定値を提供し得る。このようにして、各プロセスは、プロセスがアフィニティの測定値を使用する異なるコンテキストのために仕立てられたアフィニティの測定値を受信する。
ソーシャル・グラフ・アフィニティおよびアフィニティ係数に関係して、特定の実施形態は、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月1日に出願された米国特許出願第13/632869号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、または工程を利用することが可能であり、これらの特許出願のそれぞれは、参照により援用される。
特定の実施形態において、広告は、テキスト(HTMLのリンクが張られることが可能である)、1つもしくは複数の画像(HTMLのリンクが張られることが可能である)、1つもしくは複数のビデオ、音声、1つもしくは複数のADOBE FLASHファイル、これらの任意の組み合わせ、あるいは1つもしくは複数のウェブページで、1つもしくは複数の電子メールで、またはユーザによってリクエストされた検索リザルトに関係して示される任意の好適なデジタル・フォーマットの任意のその他の好適な広告であることが可能である。加えてまたは代替として、広告は、1つまたは複数のスポンサー付きの記事(たとえば、ニュースフィード、またはソーシャルネットワーキング・システム160のティッカー・アイテム)であることが可能である。スポンサー付きの記事は、たとえば、ソーシャル・アクションをユーザのプロフィール・ページもしくはその他のページの予め決められた領域内に示されるか、広告主に関連付けられている追加の情報とともに示されるか、その他のユーザのニュースフィードもしくはティッカー内で大きくされる(bumped up)かもしくはその他の方法で強調されるか、またはその他の方法でプロモーションされるようにすることによって広告主がプロモーションするユーザによるソーシャル・アクション(ページ「に対して『いいね!』を表明する」、ページのポスト「に対して『いいね!』を表明する」かもしくはコメントする、ページに関連するイベントへの出欠の返事をする(RSVP)、ページにポストされた質問に投票する、場所にチェックインする、アプリケーションを使用するかもしくはゲームをする、またはウェブサイト「に対して『いいね!』を表明する」かもしくはウェブサイトを共有するなど)であることが可能である。広告主は、ソーシャル・アクションをプロモーションさせるために料金を支払う場合がある。そのソーシャル・アクションは、ソーシャルネットワーキング・システム160内またはソーシャルネットワーキング・システム160上で促進することができる。これに加えてまたはこれに代えて、ソーシャル・アクションは、必要に応じて、ソーシャルネットワーキング・システム160の外部で促進することができる。特定の実施形態では、ページは、ストーリーの共有を促進し、人々とつながるビジネス、組織、またはブランドのオンライン・プレゼンス(例えば、ソーシャルネットワーキング・システム160内または外のウェブページまたはウェブサイト)であってもよい。例えば、アプリケーションを追加したり、ストーリーを投稿したり、イベントをホストするなどして、ページをカスタマイズすることができる。
スポンサード・ストーリーは、ユーザのニュースフィード内のストーリーから生成され、ソーシャルネットワーキング・システム160に関連するウェブページを見るときにユーザのウェブ・ブラウザのディスプレイ内の特定の領域にプロモートされてもよい。スポンサード・ストーリーは、一般に、ユーザの友人、ファンページ、または他の接続による対話または提案を含むため、少なくとも部分的には、ユーザによってより閲覧し易いものとなる。スポンサード・ストーリーに関連して、特定の実施形態は、2011年12月15日出願の「Sponsored Stories Unit Creation from Organic Activity Stream」を名称とする米国特許出願第13/327557号、2012年2月3日出願の「Sponsored Stories Unit Creation from Organic Activity Stream」を名称とする米国特許出願第13/020745号である米国特許出願公開第2012/0203831号、または、2011年3月9日出願の「Endorsement Subscriptions for Sponsored Stories」を名称とする米国特許出願第13/044506号である米国特許出願公開第2012/0233009号に開示されている1つ以上のシステム、コンポーネント、要素、機能、方法、動作、またはステップを利用することができ、これらの全ては、限定ではなく例示として、参照によって本明細書に組み込まれる。特定の実施形態において、スポンサード・ストーリーは、コンピュータビジョン・アルゴリズムを利用して、広告主と明白なつながりがないアップロードされた画像または写真の製品を検出することができる。これは、2011年8月18日出願の「Computer-Vision Content Detection for Sponsored Stories」を名称とする米国特許出願第13/212356号に開示されており、その全ては、限定ではなく例示として、参照によって本明細書に組み込まれる。
上記したように、広告は、テキスト(HTMLリンクされていてもよい)、1つまたは複数の画像(HTMLリンクされていてもよい)、1つまたは複数のビデオ、オーディオ、1つ以上のADOBE FLASHファイル、これらの適切な組み合わせ、または他の適切なデジタル形式での他の任意の適切な広告とすることができる。特定の実施形態において、広告は、サードパーティのウェブページ、ソーシャルネットワーキング・システムのウェブページ、またはその他のページ内に表示するためにリクエストされることが可能である。広告は、ページの一番上のバナー領域内、ページの横のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ページのコンテンツの上、またはページに関連する他の場所などのページの専用の部分に表示されることが可能である。加えてまたは代替として、広告は、アプリケーション内またはゲーム内に表示されることが可能である。広告は、専用のページ内に表示され、ユーザがページにアクセスするか、アプリケーションを利用するか、またはゲームをプレイし得る前にユーザが広告とインタラクションするかまたは広告を見ることを要求することが可能である。ユーザは、たとえば、ウェブ・ブラウザを通じて広告を閲覧し得る。
ユーザは、任意の好適なやり方で広告とインタラクションし得る。ユーザは、広告をクリックするかまたはその他の方法で選択することが可能である。広告は、ユーザを、広告に関連付けられているページに導くことが可能である(またはユーザによって使用されるブラウザもしくはその他のアプリケーション)。広告に関連付けられているページにおいて、ユーザは、広告に関連付けられ製品もしくはサービスを購入すること、広告に関連付けられ情報を受信すること、または広告に関連付けられているニューズレターを購読することなどの追加的なアクションを行うことが可能である。音声またはビデオによる広告が、(再生ボタンのような)広告の構成要素を選択することによって再生されることが可能である。特定の実施形態において、広告は、ユーザまたは他のアプリケーションがその広告に関連してプレイすることができる1つまたは複数のゲームを含み得る。広告は、その広告のポーリングまたは問い合わせに応答するための機能を含み得る。
広告は、ユーザが対話し得るソーシャルネットワーキング・システムの機能を含むことが可能である。例えば、広告は、ユーザが承認に関連付けられているアイコンまたはリンクを選択することによって広告「に対して『いいね!』を表明する」かまたはその他の方法で広告を承認することができるようにし得る。同様に、ユーザは、(たとえば、ソーシャルネットワーキング・システム160を通じて)別のユーザと広告を共有するか、または(たとえば、ソーシャルネットワーキング・システム160を通じて)広告に関連付けられているイベントへの出欠の返事をし得る。加えてまたは代替として、広告は、ユーザを対象とするソーシャルネットワーキング・システムのコンテンツを含み得る。例えば、広告は、広告の対象に関連付けられているアクションを行ったソーシャルネットワーキング・システム160におけるユーザの友達についての情報を表示し得る。
ソーシャルネットワーキング・システムの機能またはコンテンツは、任意の適切な方法で広告に関連付けることができる。例えば、(広告に対する入札を受け取り、それに応じて広告を選択するためのハードウェア、ソフトウェア、またはその両方を含む)広告システムは、ソーシャルネットワーキング・システム160からソーシャルネットワーキング機能またはコンテンツを取り出して、広告をユーザに提供する前に、取り出したソーシャルネットワーキング機能またはコンテンツを広告に組み込むことができる。ソーシャルネットワーキング・システムの機能性またはコンテンツを広告で選択して提供する例は、2010年10月5日出願の「Providing Social Endorsements with Online Advertising」を名称とする米国特許出願第12/898662号である米国特許出願公開第2012/0084160号、および、2011年3月8日出願の「Selecting Social Endorsement Information for an Advertisement for Display to a Viewing User」を名称とする米国特許出願第13/043424号である米国特許出願公開第2012/0232998号に開示されており、それらの全体が、限定ではなく一例として、参照によって本明細書中に組み込まれる。ソーシャルネットワーキング・システムの機能性またはコンテンツに関連する広告と対話することにより、ソーシャルネットワーキング・システム160のユーザのプロフィール・ページに対話に関する情報が表示される。
特定の実施形態は、より関連性が高く有用な広告を見つける可能性がより高いユーザへの広告の配信を容易にすることができる。たとえば、より関連性が高く有用な広告を見つける可能性の高いユーザを特定してターゲット設定することで、広告主はより高いコンバージョン率(したがって、広告からの高い投資収益率(ROI))を実現することができる。広告主は、ソーシャルネットワーキング・システム160内のユーザ・プロフィール情報を使用してそれらのユーザを識別することができる。加えてまたは代替として、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160内のユーザ・プロフィール情報を使用して、広告主のためのユーザを識別することができる。限定ではなく例として、特定の実施形態は、イベントの招待状または提案、クーポン、取引、またはウィッシュリストアイテムに関する提案、友人の生活イベントに関する示唆、グループに関する提案、広告、または社会的広告を有するユーザをターゲットとし得る。このようなターゲティングは、適切な場合には、ソーシャルネットワーキング・システム160上、ソーシャルネットワーキング・システム160の外部、またはユーザのモバイル・コンピューティング・デバイス上で生じ得る。ソーシャルネットワーキング・システム160上またはソーシャルネットワーキング・システム160内で、そのようなターゲットは、ユーザのニュースフィード、検索結果、電子メールまたは他のインボックス、または通知チャネルに向けられてもよく、またはソーシャルネットワーキング・システムのウェブページの特定の領域、例えば、コンシェルジュまたはグルーパエリア(同じコンセプト、ノード、またはオブジェクトに関連する右側のレール広告に沿ってグループ化することができる)またはネットワークエゴ・エリア(これは、ユーザがウェブページ上で何を見ているのか、およびユーザの現在のニュースフィードに基づき得る)におけるウェブページの右側などに現れ得る。ソーシャルネットワーキング・システム160外の場合、そのようなターゲティングは、例えば広告交換またはソーシャル・プラグインを含むサードパーティ・ウェブサイトを通じて提供されてもよい。ユーザのモバイル・コンピューティング・デバイス上にある場合、そのようなターゲティングは、モバイル・コンピューティング・デバイスへのプッシュ通知を介して提供されてもよい。
ユーザを識別してターゲットするために使用されるターゲティング基準は、ソーシャルネットワーキング・システム160に対する明示的に記載されたユーザの関心、またはソーシャルネットワーキング・システム160上のノード、オブジェクト、エンティティ、ブランド、またはページに対するユーザの明示的なつながりを含むことができる。追加または代替として、そのようなターゲティング基準には、潜在的または推測されたユーザの関心またはつながり(これは、ユーザの履歴、人口統計、社会またはその他の活動、友人の社会的またはその他の活動、サブスクリプション、またはユーザに類似した他のユーザについての上記のいずれかを分析すること(例えば、共有された関心、つながり、またはイベントに基づいて分析すること)を含み得る)を含み得る。特定の実施形態は、プラットフォームターゲティングを利用することができる。このプラットフォームターゲティングには、プラットフォームおよび「いいね」の印象データ、コンテクスチャル信号(例えば、「誰が今閲覧しているかまたは最近COCA−COLA(登録商標)のページを閲覧したか」など)、低重み付けのつながり(例えば、「チェックイン」)、つながり類似性、抽出キーワード、EMUの広告、推論的広告、ジオメトリック、係数、アフィニティ、他のソーシャル・グラフ情報、友達同士のつながり、ピニングまたはブースティング、取引、ポーリング、世帯収入、ソーシャル・クラスタまたはグループ、画像やその他のメディアで検出された製品、ソーシャル・グラフまたはオープングラフのエッジタイプ、ジオ予測、プロフィールまたはページのビュー、ステータス更新または他のユーザ投稿(その分析には自然言語処理またはキーワード抽出が含まれ得る)、イベント情報、または共同フィルタリングが含まれ得る。ユーザを識別してターゲティングする際には、必要に応じてプライバシー設定(ユーザのオプトアウトなど)、データハッシュ、データの匿名化などを含めることもできる。
特定の実施形態は、広告でユーザをターゲティングするために、2008年8月18日出願の「Social Advertisements and Other Informational Messages on a Social Networking Website and Advertising Model for Same」を名称とする米国特許出願第12/193702号である米国特許出願公開第2009/0119167号、2008年8月20日出願の「Targeting Advertisements in a Social Network」を名称とする米国特許出願第12/195321号である米国特許出願公開第2009/0070219号、2010年12月15日出願の「Targeting Social Advertising to Friends of Users Who Have Interacted With an Object Associated with the Advertising」を名称とする米国特許出願第12/968786号である米国特許出願公開第2012/0158501号、または2010年12月23日出願の「Contextually Relevant Affinity Prediction in a Social-Networking System」を名称とする米国特許出願第12/978265号である米国特許出願公開第2012/0166532号に開示されている1つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、またはステップを利用することができ、それらの全てが、限定ではなく一例として、参照によって本明細書に組み込まれる。
広告は、ウェブ・ブラウザまたは他のアプリケーションのためのプラグイン、iframe要素、ニュースフィード、ティッカー、通知(例えば、電子メール、ショートメッセージサービス(SMS)メッセージまたは通知を含み得る)、または他の手段を使用して提示または配信することができる。広告は、ユーザのモバイルまたは他のコンピューティング・デバイス上のユーザに提示されるかまたは配信され得る。特定の実施形態は、2010年12月15日出願の「Comment Plug-In for Third-Party System」を名称とする米国特許出願第12/969368号である米国特許出願公開第2012/0159635号、2010年12月15日出願の「Comment Ordering System」を名称とする米国特許出願第12/969408号である米国特許出願公開第2012/0158753号、2006年8月11日出願の「Dynamically Providing a News Feed About a User of a Social Network」を名称とする米国特許出願第11/503242号である米国特許第7669123号、2006年8月11日出願の「Providing a Newsfeed Based on User Affinity for Entities and Monitored Actions in a Social Network Environment」を名称とする米国特許出願第11/503093号である米国特許第8402094号、2010年9月16日出願の「Action Clustering for News Feeds」を名称とする米国特許出願第12/884010号である米国特許出願公開第2012/0072428号、2009年7月1日出願の「Gathering Information about Connections in a Social Networking Service」を名称とする米国特許出願第12/496606号である米国特許出願公開第2011/0004692号、2006年9月12日出願の「Method and System for Tracking Changes to User Content in an Online Social Network」を名称とする米国特許出願第11/531154号である米国特許出願公開第2008/0065701号、2007年1月17日出願の「Feeding Updates to Landing Pages of Users of an Online Social Network from External Sources」を名称とする米国特許出願第11/624088号である米国特許出願公開第2008/0065604号、2010年4月19日出願の「Integrated Social-Network Environment」を名称とする米国特許出願第12/763171号である米国特許第8244848号、2009年10月6日出願の「Sharing of Location-Based Content Item in Social-Networking Service」を名称とする米国特許出願第12/574614号である米国特許出願公開第2011/0083101号、2010年8月18日出願の「Location Ranking Using Social-Graph Information」を名称とする米国特許出願第12/858718号である米国特許第8150844号、2011年3月18日出願の「Sending Notifications to Users Based on Users’ Notification Tolerance Levels」を名称とする米国特許出願第13/051286号、2011年4月28日出願の「Managing Notifications Pushed to User Devices」を名称とする米国特許出願第13/096184号、2011年10月18日出願の「Platform-Specific Notification Delivery Channel」を名称とする米国特許出願第13/276248号、または、2011年2月1日出願の「Mobile Advertisement with Social Component for Geo-Social Networking System」を名称とする米国特許出願第13/019061号である米国特許出願公開第2012/0197709号に開示される1つまたは複数のシステム、コンポーネント、要素、機能、方法、動作、またはステップを利用することができ、これらの全てが、限定ではなく一例として、参照により本明細書に組み込まれる。本開示は、特定の方法で特定のコンテンツに関連して配信される特定の広告を説明するが、任意の適切な方法で任意の適切なコンテンツと関連して配信される任意の適切な広告を想定している。
特定の実施形態では、ソーシャルネットワーキング・システムのサーバ上で実行される分析は、ジオメトリックトラックを、個々の特徴レベルまたは製品レベルで特徴が有する影響を使用することができる。限定ではなく一例として、特定のビジネスエンティティは、1つ以上の通知として広告をユーザに送信することができる。特定の実施形態では、通知は、所定の閾値よりも高い値を有する計算されたジオメトリックに応じて送信されてもよい。さらに、ビジネスに対する特定のユーザ間のジオメトリックの値の増加を検出することは、より多くの空間的共通性を意味し、ソーシャルネットワーキング・システムがユーザに送信する通知の数を増やすことにつながり得る。他方、通知スループットの増加が差異を生じさせない場合またはジオメトリックの値が減少する場合、ソーシャルネットワーキング・システムは、ユーザに送信する通知の数を減少させ得る。別の例として、広告主は、ユーザとユーザジオメトリックとの関係が高い(他のユーザとの空間的共通性が高いことを意味する)ユーザに対しては本質的にソーシャル・ボード・ゲームのような製品の広告を示す一方、ユーザとユーザジオメトリックとの関係が低い(他のユーザとの空間的共通性が低いことを意味する)ユーザに対してはモバイルアプリをゲームするための広告を上げることを希望し得る。
特定の実施形態では、オンライン・ソーシャル・ネットワークの1つまたは複数のコンテンツ・オブジェクトは、プライバシー設定に関連付けられてもよい。オブジェクトのプライバシー設定(または「アクセス設定」)は、例えば、オブジェクトに関連して、承認サーバ上のインデックスに、他の適切な方法で、あるいはそれらの任意の組み合わせで格納することができる。オブジェクトのプライバシー設定は、オンライン・ソーシャル・ネットワークを使用してオブジェクト(またはオブジェクトに関連する特定の情報)がどのようにアクセス(例えば、閲覧または共有)できるかを指定することができる。オブジェクトのプライバシー設定によって、特定のユーザがそのオブジェクトにアクセスできるようにする場合、そのオブジェクトは、そのユーザに関して「可視」であると記述することができる。限定ではなく一例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザプロフィール・ページのプライバシー設定を指定することができ、ユーザプロフィール・ページ上の作業経験情報にアクセスすることができるユーザの集合を識別し、これにより、他のユーザが情報へアクセスすることを排除する。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられた特定の情報にアクセスすることを許可すべきではないユーザの「ブロックリスト」を指定することができる。言い換えれば、ブロックリストは、オブジェクトが見えない1または複数のユーザまたはエンティティを指定することができる。限定ではなく一例として、ユーザは、ユーザに関連付けられた写真アルバムにアクセスできないユーザのセットを指定することができ、これにより、そのユーザがフォトアルバムにアクセスすることを排除する(そのユーザのセットに含まれないユーザはフォトアルバムにアクセスすることができる)。特定の実施形態では、プライバシー設定は、特定のソーシャル・グラフ要素に関連付けられてもよい。ノードまたはエッジなどのソーシャル・グラフ要素のプライバシー設定は、オンライン・ソーシャル・ネットワークを使用して、ソーシャル・グラフ要素、ソーシャル・グラフ要素に関連付けられた情報、またはソーシャル・グラフ要素に関連付けられたコンテンツ・オブジェクトにどのようにアクセスすることができるかを指定し得る。限定ではなく一例として、特定の写真に対応する特定のコンセプト・ノード304は、その写真がその写真にタグ付けされたユーザおよびその友人によってのみアクセスされ得ることを指定するプライバシー設定を有することができる。特定の実施形態では、プライバシー設定により、ユーザは、ソーシャルネットワーキング・システム160によってログされるかまたは他のシステム(例えば、サードパーティ・システム170)と共有されるアクションをオプトインまたはオプトアウトすることが可能となる。特定の実施形態では、オブジェクトに関連付けられたプライバシー設定は、アクセス許可またはアクセス拒否の任意の適切な細分化を指定することができる。限定ではなく一例として、アクセス許可またはアクセス拒否は、特定のユーザ(例えば、自分のみ、ルームメイトのみ、および上司のみ)、特定の分離度内のユーザ(例えば、友人、または友人の友人など)、ユーザのグループ(例えば、ゲームクラブ、自分の家族)、ユーザのネットワーク(特定の雇用者の従業員、特定の大学の学生または卒業生)、全てのユーザ(「公開」)、ユーザなし(「プライベート」)、サードパーティ・システム170のユーザ、特定のアプリケーション(例えば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザまたはエンティティ、またはそれらの任意の組み合わせを指定することができる。本開示は、特定の方法で特定のプライバシー設定を使用することを記載しているが、本開示は、任意の適切な方法で任意の適切なプライバシー設定を使用することを想定している。
特定の実施形態では、1つまたは複数のサーバ162は、プライバシー設定を実施するための認証/プライバシー・サーバとすることができる。データ・ストア164に格納された特定のオブジェクトに対するユーザ(または他のエンティティ)からのリクエストに応答して、ソーシャルネットワーキングシステム160は、そのオブジェクトについてのリクエストをデータ・ストア164に送ることができる。リクエストは、そのリクエストに関連付けられたユーザを識別することができ、認証サーバが、オブジェクトに関連付けられたプライバシー設定に基づいてユーザがオブジェクトにアクセスすることが許可されていると判定した場合に、そのユーザ(またはユーザのクライアント・システム130)にのみリクエストが送られ得る。リクエスト側ユーザがオブジェクトへのアクセスを許可されていない場合、認証サーバは、リクエストされたオブジェクトがデータ・ストア164から取得されるのを防止することができ、またはリクエストされたオブジェクトがユーザに送信されるのを防止することができる。検索クエリ・コンテキストでは、クエリするユーザがオブジェクトにアクセスする権限を与えられている場合にのみ、オブジェクトを検索結果として生成することができる。言い換えれば、オブジェクトは、クエリするユーザに対して可視である可視性を有していなければならない。オブジェクトがユーザに対して可視でない可視性を有している場合、そのオブジェクトは検索結果から除外され得る。本開示は、プライバシー設定を特定の方法で実施することを説明しているが、任意の適切な方法でプライバシー設定を実施することを想定している。
図4は、例示的なコンピュータ・システムを示している。特定の実施形態において、1つまたは複数のコンピュータ・システム400が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータ・システム400が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータ・システム400上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム400の1つまたは複数の部分を含む。本明細書においては、適切な場合には、コンピュータ・システムへの言及はコンピューティング・デバイスを包含することができ、反対に、コンピューティング・デバイスへの言及はコンピュータ・システムを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、1つまたは複数のコンピュータ・システムを包含することができる。
本開示は、任意の適切な数のコンピュータ・システム400を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム400を想定している。限定ではなく、例として、コンピュータ・システム400は、組み込みコンピュータ・システム、システムオンチップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム400は、1つもしくは複数のコンピュータ・システム400を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウド・コンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータ・システム400は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータ・システム400は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアル・タイムで、またはバッチ・モードで実行することができる。1つまたは複数のコンピュータ・システム400は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
特定の実施形態においては、コンピュータ・システム400は、プロセッサ402、メモリ404、ストレージ406、入力/出力(I/O)インタフェース408、通信インタフェース410、およびバス412を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
特定の実施形態においては、プロセッサ402は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ402は、内部レジスタ、内部キャッシュ、メモリ404、またはストレージ406から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ404、またはストレージ406に書き込むことができる。特定の実施形態においては、プロセッサ402は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ402を想定している。限定ではなく、例として、プロセッサ402は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ404またはストレージ406内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ402によるそれらの命令の取り出しを高速化することができる。データ・キャッシュ内のデータは、プロセッサ402において実行される命令が機能する際に基づくメモリ404もしくはストレージ406内のデータのコピー、プロセッサ402において実行される後続の命令によるアクセスのための、もしくはメモリ404もしくはストレージ406への書き込みのためのプロセッサ402において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ402による読み取り動作または書き込み動作を高速化することができる。TLBは、プロセッサ402のための仮想アドレス変換を高速化することができる。特定の実施形態においては、プロセッサ402は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ402を想定している。適切な場合には、プロセッサ402は、1つまたは複数の演算ロジック・ユニット(ALU)を含むこと、マルチコア・プロセッサであること、または1つもしくは複数のプロセッサ402を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
特定の実施形態においては、メモリ404は、プロセッサ402が実行するための命令、またはプロセッサ402が機能する際に基づくデータを格納するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム400は、命令をストレージ406または別のソース(たとえば、別のコンピュータ・システム400など)からメモリ404にロードすることができる。次いでプロセッサ402は、命令をメモリ404から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ402は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ402は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ402は、それらの結果のうちの1つまたは複数をメモリ404に書き込むことができる。特定の実施形態においては、プロセッサ402は、(ストレージ406またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ404内の命令のみを実行し、(ストレージ406またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ404内のデータ上でのみ機能する。1つまたは複数のメモリ・バス(それらはそれぞれ、アドレス・バスおよびデータ・バスを含むことができる)は、プロセッサ402をメモリ404に結合することができる。バス412は、以降で記述されているような1つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ402とメモリ404との間に常駐し、プロセッサ402によって要求されるメモリ404へのアクセスを容易にする。特定の実施形態においては、メモリ404は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ404は、適切な場合には、1つまたは複数のメモリ404を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
特定の実施形態においては、ストレージ406は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ406は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ406は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ406は、適切な場合には、コンピュータ・システム400の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ406は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ406は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ406を想定している。ストレージ406は、適切な場合には、プロセッサ402とストレージ406との間における通信を容易にする1つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ406は、1つまたは複数のストレージ406を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
特定の実施形態においては、I/Oインタフェース408は、コンピュータ・システム400と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム400は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータ・システム400との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインタフェース408を想定している。適切な場合には、I/Oインタフェース408は、プロセッサ402がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインタフェース408は、適切な場合には、1つまたは複数のI/Oインタフェース408を含むことができる。本開示は、特定のI/Oインタフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
特定の実施形態においては、通信インタフェース410は、コンピュータ・システム400と、1つもしくは複数のその他のコンピュータ・システム400または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース410は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース410を想定している。限定ではなく、例として、コンピュータ・システム400は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータ・システム400は、ワイヤレスPAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切なワイヤレス・ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム400は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース410を含むことができる。通信インタフェース410は、適切な場合には、1つまたは複数の通信インタフェース410を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
特定の実施形態においては、バス412は、コンピュータ・システム400のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス412は、アクセラレイティッド・グラフィックス・ポート(AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス412は、適切な場合には、1つまたは複数のバス412を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、動作、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、機能、動作、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。