上記で列挙された利点および特徴ならびに他の利点および特徴を取得できる様式を説明するために、上記で簡単に説明された1つまたは複数の実施形態の態様のより具体的な説明が、添付の図面に例示されるその具体的な実施形態を参照してなされる。図は一定の縮尺で描かれておらず、類似の構造または機能の要素は一般に、図全体を通して例示的な目的で、類似の参照番号によって表されることに留意されたい。これらの図面は典型的な実施形態のみを示し、したがって、範囲の限定と見なすべきではないことを理解して、本発明の1つまたは複数の実施形態は、添付の図面の使用によって、さらなる特異性および詳細とともに記載および説明される。
本明細書において記載されている1つまたは複数の実施形態は、業者とユーザとの間における匿名の通信を円滑に行うためのシステムおよび方法を用いて、恩恵を提供し、および/または当技術分野における前述のもしくはその他の問題のうちの1つもしくは複数を解決する。たとえば、通信システムは、ソーシャル・ネットワーキング・システム・ユーザおよび特定のオンライン業者に関連付けられている不透明トークン(opaque token)を生成することができる。1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・システムは、不透明トークンを業者に提供することができ、それによって、業者からのさらなる通信(すなわち、リアルタイム・チャット、トランザクション更新などのための)は、不透明トークンに基づく。ソーシャル・ネットワーキング・システムは、不透明トークンを含む業者からの通信を受信し、それらの通信を、不透明トークンに関連付けられているソーシャル・ネットワーキング・システム・ユーザに提供することができる。同様に、ソーシャル・ネットワーキング・システムは、業者のためのソーシャル・ネットワーキング・システム・ユーザからの通信を受信し、それらの通信を、不透明トークンに基づいて業者に提供することができる。したがって、業者との間でのユーザの匿名性が保持される。
例示として、一実施形態においては、ユーザは、業者のウェブサイトの一部として提示されるプラグインと対話することによって、業者からトランザクション更新およびその他の通信を受信することの選択を表示する。業者のウェブサイトは、ユーザが業者から製品を購入する精算処理の一部としてプラグインをユーザに提示する。プラグインとの間での検知された対話に応答して、ソーシャル・ネットワーキング・システムは、ユーザおよび業者に関連付けられている不透明トークンを生成し、その不透明トークンを業者へ送信する。その時点以降、業者は、不透明トークンを利用して、ソーシャル・ネットワーキング・システムを通じてユーザと通信する。不透明トークンは直接にユーザを識別しないので、業者は、ソーシャル・ネットワーキング・システムからユーザのアイデンティティの表示をほとんど受信しない。
本明細書において使用される際には、「ソーシャル・ネットワーキング・システム」という用語は、ユーザ間におけるオンライン通信、入力、対話、コンテンツ共有、およびコラボレーションをサポートするか、または可能にするシステムを指す。ソーシャル・ネットワーキング・システムのユーザは、ソーシャル・ネットワーキング・システムを介して1人または複数人の「友達」を有することができる。本明細書において使用される際には、「友達」という用語は、ソーシャル・ネットワーキング・システムを介してユーザに関連付けられている共同ユーザ(すなわち、連絡先またはつながり)を指す。
また本明細書において使用される際には、「プラグイン」とは、標準ウェブ・ブラウザの一部として事前にインストールされることが可能であるアドイン・モジュールである。あるいは、ユーザが、標準ウェブ・ブラウザの一部としてプラグインをインストールすることもできる。1つまたは複数の実施形態においては、プラグインは、ウェブ・ブラウザの能力を高めるプログラムコードを含む。ウェブ・ブラウザは、プラグインによって提供される付加される機能を利用するためにプラグインと対話することができる。1つまたは複数の実施形態においては、プラグインは、ソーシャル・ネットワーキング・システムに関連付けられているバックエンド機能を含むことができる。プラグインのオペレーションについては、以降で図3A〜図3Bに関連してさらに説明する。
さらに、本明細書において使用される際には、「ピクセル」とは、特定の情報を自動的に追跡把握して業者のウェブページを介して1つまたは複数のオプションをユーザに提供する、業者のウェブページに含まれているコード・スニペットを指す。たとえば、業者のウェブページのうちの1つまたは複数にソーシャル・ネットワーキング・システム・ピクセルを含めたいという希望を業者が示したことに応答して、ソーシャル・ネットワーキング・システムは、ピクセル・コードと、業者に固有であるソーシャル・ネットワーキング・システム・ピクセルIDとを業者に提供する。業者は次いで、ピクセル・コードと、業者のソーシャル・ネットワーキング・システム・ピクセルIDとを、1つまたは複数のウェブページに関するコードまたはスクリプトに含める。ピクセル・コードを含む業者のウェブページをユーザがロードするとすぐに、ピクセルは、情報を自動的に収集してソーシャル・ネットワーキング・システムへ送信する。いくつかの実施形態においては、ピクセルは、情報を自動的に収集するだけであり、ユーザが以前に、ソーシャル・ネットワーキング・システムを介して業者からの通信を受信することを(たとえば、アカウント設定の一部として)オプトインしていた場合には、ソーシャル・ネットワーキング・システムへ情報を送信する。加えて、いくつかの実施形態においては、ピクセルはまた、特定の情報をユーザに提示する。
「業者」とは、本明細書において使用される際には、商品および/またはサービスを顧客に提供する業者またはその他のサービス・プロバイダである。1つまたは複数の実施形態においては、業者は、1つまたは複数のウェブサイトを介してインターネットを経由した購入のための商品またはサービスを提供することができる。いくつかの実施形態においては、業者は、1つまたは複数のウェブサイトに加えて物理的な小売りロケーションを有することができる。
図1は、通信システム100(または単に「システム100」)の例示的な実施形態を示す模式図を示している。図1において示されているように、システム100は、本明細書において記載されている処理および機能を実行するためのさまざまなコンポーネントを含むことができる。たとえば、図1において示されているように、システム100は、ソーシャル・ネットワーキング・システム116、通信マネージャ118、および1つまたは複数のクライアント・コンピューティング・デバイス102を含むが、それらには限定されない。通信マネージャ118は、トークン・マネージャ120、業者コミュニケータ122、通信ジェネレータ124、およびデータ・ストレージ126を含むが、それらには限定されず、データ・ストレージ126は、ユーザ・データ128、業者データ130、トークン・データ132、通信データ134、ノード・データ136、およびエッジ・データ138を含む。クライアント・コンピューティング・デバイス102は、ソーシャル・ネットワーキング・アプリケーション104を含み、ソーシャル・ネットワーキング・アプリケーション104は、ディスプレイ・マネージャ106および入力検知器108、ならびにプラグイン・マネージャ110、およびウェブ・ブラウザ112を含む。1つまたは複数の実施形態においては、システム100は、業者114(たとえば、ウェブ・ブラウザ112によってアクセスされ、ソーシャル・ネットワーキング・システム116に通信可能にリンクされている業者サーバ)を含むこともできる。
ソーシャル・ネットワーキング・システム116、通信マネージャ118のコンポーネント120〜138のそれぞれ、クライアント・コンピューティング・デバイス102のコンポーネント104〜112のそれぞれ、および業者114は、本明細書において記載されている処理をシステム100に実行させる命令を実行する少なくとも1つのプロセッサを含むコンピューティング・デバイスを使用して実施することが可能である。いくつかの実施形態においては、コンポーネント102〜138はすべて、単一のサーバ・デバイスによって、または複数のサーバ・デバイスにわたって実施することが可能である。追加として、または代替として、1つまたは複数のサーバ・デバイスおよび1つまたは複数のクライアント・デバイスの組合せが、コンポーネント102〜138を実施することができる。さらに、一実施形態においては、コンポーネント102〜138は、特定の機能を実行するための専用の処理デバイスなどのハードウェアを含むことができる。追加として、または代替として、コンポーネント102〜138は、コンピュータ実行可能命令およびハードウェアの組合せを含むことができる。
1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・アプリケーション104は、クライアント・コンピューティング・デバイス102上にインストールされているネイティブ・アプリケーションであり得る。たとえば、ソーシャル・ネットワーキング・アプリケーション104は、スマート・フォンまたはタブレットなどのモバイル・デバイス上でインストールして稼働するモバイル・アプリケーションであり得る。あるいは、ソーシャル・ネットワーキング・アプリケーション104は、デスクトップ・アプリケーション、ウィジェット、またはその他の形態のネイティブ・コンピュータ・プログラムであり得る。あるいは、ソーシャル・ネットワーキング・アプリケーション104は、クライアント・コンピューティング・デバイス102によってアクセスされるリモート・アプリケーションであり得る。たとえば、ソーシャル・ネットワーキング・アプリケーション104は、クライアント・コンピューティング・デバイス104のウェブ・ブラウザ内で実行されるウェブ・アプリケーションであり得る。
上述のように、および図1において示されているように、ソーシャル・ネットワーキング・アプリケーション104は、ディスプレイ・マネージャ106を含む。ディスプレイ・マネージャ106は、ユーザがソーシャル・ネットワーキング・システム・ポストおよびメッセージを作成、閲覧、および提出することを可能にするグラフィカル・ユーザ・インタフェース(または単に「ユーザ・インタフェース」)を提供、管理、および/またはコントロールすることができる。たとえば、ディスプレイ・マネージャ106は、ソーシャル・ネットワーク・システム・ユーザのニュースフィード、ウォール、通信スレッドなどの表示を円滑に行うユーザ・インタフェースを提供する。同様に、ディスプレイ・マネージャ106は、ソーシャル・ネットワーク・システム・ユーザによって受信された1つまたは複数の電子メッセージまたは通信スレッドを表示するユーザ・インタフェースを提供する。
より具体的には、ディスプレイ・マネージャ106は、(たとえば、クライアント・コンピューティング・デバイス102に関連付けられているディスプレイ・デバイスを介して)ユーザ・インタフェースの表示を円滑に行う。たとえば、ディスプレイ・マネージャ106は、ユーザが電子メッセージ、および/またはソーシャル・ネットワーキング・システム・ポストを作成、送信、および受信することを可能にする複数のグラフィカル・コンポーネント、オブジェクト、および/または要素のユーザ・インタフェースを作成することができる。より詳細には、ディスプレイ・マネージャ106は、ユーザが電子メッセージ、通信スレッド、またはソーシャル・ネットワーキング・システム・ポストを閲覧することを可能にするグラフィカル・コンポーネント、オブジェクト、および/または要素のグループを表示するようクライアント・コンピューティング・デバイス102に指示することができる。
加えて、ディスプレイ・マネージャ106は、ソーシャル・ネットワーキング・システム・ポスト、および/または電子メッセージを作成、送信、および/または提出するためのユーザ入力を円滑に行うための1つまたは複数のグラフィカル・オブジェクト、コントロール、または要素を表示するようクライアント・コンピューティング・デバイス102に指示する。例示するために、ディスプレイ・マネージャ106は、ユーザがユーザ入力をソーシャル・ネットワーキング・アプリケーション104に提供することを可能にするユーザ・インタフェースを提供する。たとえば、ディスプレイ・マネージャ106は、ユーザが1つまたは複数のタイプのコンテンツをソーシャル・ネットワーキング・システム・ポストまたは電子メッセージ内に入力することを可能にする1つまたは複数のユーザ・インタフェースを提供する。本明細書において使用される際には、「コンテンツ」とは、ソーシャル・ネットワーキング・システム・ポストまたは電子メッセージの一部として含まれることになる任意のデータまたは情報を指す。たとえば、「コンテンツ」という用語は、本明細書においては一般に、ソーシャル・ネットワーキング・システム・ポストまたは電子メッセージの一部として含まれることが可能であるテキスト、イメージ、デジタル・メディア、ファイル、ロケーション情報、支払い情報、またはその他の任意のデータを記述するために使用される。
ディスプレイ・マネージャ106は、ソーシャル・ネットワーキング・システム・ポストまたは電子メッセージに含まれることになるテキストまたはその他のデータの入力を円滑に行うこともできる。たとえば、ディスプレイ・マネージャ106は、タッチ・ディスプレイ・キーボードを含むユーザ・インタフェースを提供する。ユーザは、1つまたは複数のタッチ・ジェスチャーを使用してタッチ・ディスプレイ・キーボードと対話して、ソーシャル・ネットワーキング・システム・ポストまたは電子メッセージに含まれることになるテキストを入力することができる。たとえば、ユーザは、タッチ・ディスプレイ・キーボードを使用して、メッセージを作成することができる。タッチ・ディスプレイ・キーボードを含むユーザ・インタフェースは、テキストに加えて、さまざまなその他の文字、シンボル、アイコン、またはその他の情報の入力を円滑に行うことができる。
さらに、ディスプレイ・マネージャ106は、複数のグラフィカル・ユーザ・インタフェース間において移行することができる。たとえば、一実施形態においては、ディスプレイ・マネージャ106は、ソーシャル・ネットワーキング・システムを介してソーシャル・ネットワーキング・システム・ユーザに関連付けられている共同ユーザからの1つまたは複数のソーシャル・ネットワーキング・システム・ポストを含むニュースフィードをそのユーザに提供する。その後、ユーザからの検知された入力に応答して、GUIマネージャ120は、ユーザとその他の当事者との間における1つまたは複数の通信スレッドのリストを含む第2のグラフィカル・ユーザ・インタフェースに移行する。
図1においてさらに示されているように、ソーシャル・ネットワーキング・アプリケーション104は、入力検知器108を含む。1つまたは複数の実施形態においては、入力検知器108は、任意の適切な様式でユーザ入力を検知すること、受け取ること、および/または円滑に行うことが可能である。いくつかの例においては、入力検知器108は、ユーザ・インタフェースに対する1つまたは複数のユーザ対話を検知する。本明細書において言及される際には、「ユーザ対話」とは、1つまたは複数の入力デバイスを介してユーザから受け取られる単一の対話、または対話の組合せを意味する。
たとえば、入力検知器108は、キーボード、マウス、タッチ・ページ、タッチ・スクリーン、および/またはその他の任意の入力デバイスからのユーザ対話を検知する。クライアント・コンピューティング・デバイス102がタッチ・スクリーンを含む場合には、入力検知器108は、ユーザ対話を形成する、ユーザからの1つまたは複数のタッチ・ジェスチャー(たとえば、スワイプ・ジェスチャー、タップ・ジェスチャー、ピンチ・ジェスチャー、またはリバース・ピンチ・ジェスチャー)を検知する。いくつかの例においては、ユーザは、ユーザ・インタフェースの1つもしくは複数のグラフィカル・オブジェクトもしくはグラフィカル要素に関連した、および/またはそれらのグラフィカル・オブジェクトもしくはグラフィカル要素に向けられたタッチ・ジェスチャーを提供することができる。
入力検知器108は、追加として、または代替として、ユーザ対話を表すデータを受け取ることができる。たとえば、入力検知器108は、ユーザからの1つもしくは複数のユーザによって構成可能なパラメータ、ユーザからの1つもしくは複数のユーザ・コマンド、および/またはその他の任意の適切なユーザ入力を受け取ることができる。入力検知器108は、ソーシャル・ネットワーキング・システム116の1つもしくは複数のコンポーネントからの、または1つもしくは複数のリモート・ロケーションからの入力データを受け取ることができる。
ソーシャル・ネットワーキング・アプリケーション104は、入力検知器108がユーザ入力を検知したことおよび/またはその他のデータを受け取ったことに応答して、1つまたは複数の機能を実行する。一般に、ユーザは、入力検知器108が検知できる1つまたは複数のユーザ入力を提供することによって、ソーシャル・ネットワーキング・アプリケーション104をコントロールすること、内部でナビゲートすること、およびその他の形で使用することが可能である。たとえば、入力検知器108がユーザ入力を検知したことに応答して、ソーシャル・ネットワーキング・アプリケーション104の1つまたは複数のコンポーネントは、ユーザが、メッセージに関する受信者を選択すること、メッセージを作成すること、メッセージに含めるためのコンテンツを選択すること、および/またはメッセージを受信者へ送信することを可能にする。加えて、入力検知器108がユーザ入力を検知したことに応答して、ソーシャル・ネットワーキング・アプリケーション104の1つまたは複数のコンポーネントは、ユーザが、1つまたは複数のユーザ・インタフェースを通じてナビゲートして受信された電子メッセージに対するレビューおよび応答などを行うことを可能にする。
また図1において示されているように、クライアント・コンピューティング・デバイス102はまた、プラグイン・マネージャ110およびウェブ・ブラウザ112を含む。上述のように、ウェブ・ブラウザ112は、ウェブ・リソース(すなわち、ウェブページ)を受信してインタラクティブに表示するソフトウェア・アプリケーションである。1つまたは複数の実施形態においては、プラグイン・マネージャ110は、ウェブ・ブラウザ112と、クライアント・コンピューティング・デバイス102上にインストールされている1つまたは複数のプラグインとの間におけるインタフェースを提供する。少なくとも1つの実施形態においては、プラグイン・マネージャ110は、ウェブ・ブラウザ112と、ソーシャル・ネットワーキング・システム116に関連付けられているプラグインとの間におけるインタフェースを提供する。
図1において示されているように、システム100は、ソーシャル・ネットワーキング・システム116を含む。ソーシャル・ネットワーキング・システム116は、ソーシャル・ネットワーキング・システム・ポストおよびメッセージ(テキストか、またはその他の形かに関係なく)をソーシャル・ネットワーキング・システム116の1人または複数のユーザへ(たとえば、プロフィール、ニュースフィード、通信スレッド、タイムライン、または「ウォール」を介して)提供することもできる。たとえば、1つまたは複数の実施形態は、ソーシャル・ネットワーキング・システム116を介してユーザに関連付けられている1人または複数の共同ユーザからのソーシャル・ネットワーキング・システム・ニュースフィードおよび電子メッセージをユーザに提示する。1つまたは複数の実施形態においては、ユーザは、ソーシャル・ネットワーキング・システム116を介してユーザに関連付けられている1人または複数の共同ユーザによって提出された最近のソーシャル・ネットワーキング・システム・ポストを閲覧するためにソーシャル・ネットワーキング・システム・ニュースフィードをスクロールする。一実施形態においては、ソーシャル・ネットワーキング・システム116は、ユーザのソーシャル・ネットワーキング・システム・ニュースフィードにおいてソーシャル・ネットワーキング・システム・ポストを時系列に整理する。代替実施形態においては、ソーシャル・ネットワーキング・システム116は、ソーシャル・ネットワーキング・システム・ポストを、地理的に、関心グループごとに、ユーザと共同ユーザとの間における関係係数に従って、といった具合に整理する。加えて、1つまたは複数の実施形態においては、ユーザは、ソーシャル・ネットワーキング・システム・ニュースフィードのコピーを、その上に表示されているソーシャル・ネットワーキング・システム・ポストの記録としてダウンロードすることができる。
さらに、ソーシャル・ネットワーキング・システム116は、通信スレッドを含む表示において複数のソーシャル・ネットワーキング・システム・ユーザの間におけるプライベートな電子メッセージを提供して整理する。本明細書において使用される際には、「通信スレッド」とは、2つのエンティティ(たとえば、ソーシャル・ネットワーキング・システム・ユーザおよび業者)の間においてやり取りされる通信(すなわち、電子メッセージ)のグループである。少なくとも1つの実施形態においては、ソーシャル・ネットワーキング・システム116はまた、ユーザが関与しているすべての通信スレッドのリストを提供する。そのリストにおいて特定の通信スレッドを選択することによって、ユーザは、その特定の通信スレッド内のすべてのメッセージを閲覧することができる。ソーシャル・ネットワーキング・システム116は、通信スレッドを整理し、それによって、さまざまな当事者からの電子メッセージが、それぞれの電子メッセージの作成者を示すような方法でフォーマットされて表示される。上述のように、通信スレッドは、テキスト、マルチメディア、ハイパーリンク、エモーティコン、ステッカー、リッチ通信オブジェクトなどから構成されている電子メッセージを含むことができる。
本明細書において使用される際には、「リッチ通信オブジェクト」とは、構造化されているデータを含む表示型の通信である。1つまたは複数の実施形態においては、「構造化されているデータ」は、特定のグループ、フィールド、もしくはカテゴリーへと構造化されている、および/または電子メッセージの特定の側面に関連付けられている任意のデータを含むことができる。構造化されているデータは、ノードに関連付けられているメタデータ、および電子メッセージに関連したエッジ情報、電子メッセージ作成者に関連した情報、電子メッセージにフィーチャーされている特定のアイテムに関連した情報、ならびにソーシャル・ネットワーキング・システム内の電子メッセージに関連した対話情報を含むことができる。例示するために、電子メッセージに関する構造化されているデータは、フォーマット情報、電子メッセージ作成者の名前およびロケーション、電子メッセージのコンテンツ、または電子メッセージに関連付けられているその他の任意の特定のタイプの情報/データを含むことができる。構造化されているデータは、イメージ(たとえば、デジタル画像、デジタル・マップ・イメージ)、ビデオ、オーディオ等などのさまざまなマルチメディア・コンテンツを含むこともできる。この構造化されているデータを使用して、ソーシャル・ネットワーキング・システムは、通信スレッド内またはその他の場所での「リッチ」オブジェクトの挿入を円滑に行うことができ、そのようなリッチ・オブジェクトは、典型的なテキスト・メッセージよりも多くの情報および/またはコンテンツを提供する。
さらに、少なくとも1つの実施形態においては、リッチ通信オブジェクトは、支払いツールを含むことができる。たとえば、リッチ通信オブジェクトは、ユーザがソーシャル・ネットワーキング・システム116を通じて直接に支払いを行うことを可能にするコントロールを含むことができる。さらに、その他の支払いツールは、エスクロー・ツール、送金ツール、クレジット・カード・トランザクション・ツール、銀行ルーティング・ツールなどを含むことができる。
加えて、一実施形態においては、ソーシャル・ネットワーキング・システム116は、ユーザ間においてソーシャル・ネットワーキング・システム・ポストおよび/または電子メッセージを伝送する。たとえば、ユーザがソーシャル・ネットワーキング・システム116を介して1人または複数のソーシャル・ネットワーキング・システム・ユーザへ電子メッセージを提出したことに応答して、ソーシャル・ネットワーキング・システム116は、その電子メッセージを含ませるように通信セッションにおけるその他の参加者の通信スレッドを更新する。追加の実施形態または代替実施形態においては、ソーシャル・ネットワーキング・システム116は、通信セッションにおける特定のユーザが通信スレッド内の特定の電子メッセージを見たかどうか、または読んだかどうかを示す、通信スレッド内の追加のインジケータをさらに提供する。
上述のように、および図1において示されているように、ソーシャル・ネットワーキング・システム116は、通信マネージャ118をさらに含み、通信マネージャ118は、ソーシャル・ネットワーキング・システム116、ソーシャル・ネットワーキング・システム・ユーザ、および/またはサード・パーティ(すなわち、業者114)の間におけるすべての通信を管理する。通信マネージャ118は、トークン・マネージャ120を含む。1つまたは複数の実施形態においては、サード・パーティ・ウェブサイト(すなわち、業者114によってホストされているウェブサイト)上のプラグインを介して、ユーザがそのサード・パーティ・ウェブサイトと匿名で通信したいと望んでいる旨のユーザからの表示を受信したことに応答して、トークン・マネージャ120は、永続的な不透明トークンを生成する。通信マネージャ118は、トークン・マネージャ120によって生成された永続的な不透明トークンを使用して、業者とソーシャル・ネットワーキング・システム・ユーザとの間における通信を管理する。
1つまたは複数の実施形態においては、トークン・マネージャ120は、特定のソーシャル・ネットワーキング・システム・ユーザに関連付けられている一意の識別子、特定の業者に関連付けられている一意の識別子、ならびにトークンが作成される日付および時刻などのその他の情報に基づいてハッシュを作成することによって、永続的な不透明トークンを生成する。たとえば、少なくとも1つの実施形態においては、ユーザが特定の業者からの通信を受信したい旨の、プラグインを介して受信された表示(すなわち、「ステート属性」)は、その特定の業者に関する一意の識別子を含む情報を含む。トークン・マネージャ120は次いで、永続的な不透明トークンがベースとするハッシュを作成するためにソーシャル・ネットワーキング・システム116内のユーザに関する一意の識別子を識別する。
本明細書において使用される際には、「ハッシュ」は単に、ユーザの一意の識別子、業者の一意の識別子、ならびに日付および時刻など、既知の値を含む任意の計算の結果である。この計算の「ハッシュされた」結果は、常に一意であるが、その結果をベースとする値を識別するために、その任意の計算を知っている者によって決定することが可能である。ハッシュを利用することによって、トークン・マネージャ120は、一意であって、かつ本質的に、その中に含まれる値を暗号化するユーザ/業者のペアを表す永続的な不透明トークンを生成することができる。
したがって、少なくとも1つの実施形態においては、永続的な不透明トークンを生成することに加えて、トークン・マネージャ120はまた、永続的な不透明トークンがベースとするハッシュを復号して、ユーザの一意の識別子および/または業者の一意の識別子を識別する。たとえば、1つまたは複数の実施形態においては、上述のように、トークン・マネージャ120は、永続的な不透明トークンを作成するためにユーザの一意の識別子および業者の一意の識別子がハッシュされる任意の計算を知っている。したがって、ユーザの一意の識別子および/または業者の一意の識別子を後で識別するために、トークン・マネージャ120は単に、永続的な不透明識別子がベースとするハッシュを決定する。
また上述のように、通信マネージャ118は、業者コミュニケータ122を含むことができる。1つまたは複数の実施形態においては、業者コミュニケータ122は、特定の業者を含む事前登録処理を管理する。たとえば、少なくとも1つの実施形態においては、業者がソーシャル・ネットワーキング・システム・プラグインを業者のウェブサイトの一部として含めることができるようになる前に、業者は、ソーシャル・ネットワーキング・システム116に事前登録する必要がある。したがって、業者を事前登録するために、業者コミュニケータ122は、業者から特定の通信エンドポイントを受信し、ひいてはソーシャル・ネットワーキング・システム通信エンドポイントのセットを業者に提供する。業者コミュニケータ122は次いで、一意の業者識別子を業者に割り振り、その一意の業者識別子を、関連する通信エンドポイントとともにその後の使用のために格納する。
本明細書において使用される際には、「通信エンドポイント」とは、そのエンドポイントにおいて受信される情報のタイプを示す特定のユニフォーム・リソース・ロケータ(「URL」)、サーバ・ポート、またはウェブ・アドレスを指す。たとえば、あるケースにおいては、「www.merchant.com/social_networking_system」という通信エンドポイントにおいて業者によって受信された情報は、ソーシャル・ネットワーキング・システム116からの情報である。同様に、「www.socialnetworkingsystem.com/transaction_update」においてソーシャル・ネットワーキング・システム116によって受信された情報は、特定の業者から意図されていて、かつ特定のソーシャル・ネットワーキング・システム・ユーザへの通信用に意図されているトランザクション更新情報であり得る。
加えて、特定の業者が事前登録処理を完了すると、業者コミュニケータ122は、ソーシャル・ネットワーキング・システム118と、その特定の業者との間における通信を円滑に行う。たとえば、トークン・マネージャ120が、特定のユーザおよび業者に関連付けられている永続的な不透明トークンを生成すると、業者コミュニケータ122は、その生成された永続的な不透明トークンをメッセージおよびその他の情報とともに業者に通信することを、上述の事前登録処理において業者によって提供された通信エンドポイントにそのトークンおよびその他の情報を送信することによって行う。この通信処理については、以降で図3を参照しながら、さらに詳細に説明する。
さらに、業者コミュニケータ122は、特定の業者からの通信を受信する。たとえば、一実施形態においては、業者は、通信内容および特定の永続的な不透明識別子を通信マネージャ118へ送信する。そのケースにおいては、業者コミュニケータ122は、その通信内容を受信し、上述のように、その特定の永続的な不透明識別子を復号のためにトークン・マネージャ120に提供する。トークン・マネージャ120が、その特定の永続的な不透明識別子からユーザの一意の識別子を復号すると、業者コミュニケータは、業者の通信内容を、復号された一意のユーザ識別子に関連付けられているユーザへ配信する前にフォーマットし直すために通信ジェネレータ124に提供する。
1つまたは複数の実施形態においては、図1において示されているように、通信マネージャ118はまた、通信ジェネレータ124を含む。業者コミュニケータ122が業者114からの通信内容を受信すると、上述のように、通信ジェネレータ124は、その業者の通信内容を含むリッチ通信オブジェクトを生成する。一実施形態においては、通信ジェネレータ124は、業者の通信内容が受信されたソーシャル・ネットワーキング・システムの通信エンドポイントに基づいてリッチ通信オブジェクトを生成する。たとえば、業者コミュニケータ122が「www.socialneworkingsystem.com/delivery_status」という通信エンドポイントにおいて業者の通信内容を受信した場合には、通信ジェネレータ124は、業者の通信内容を、配送ステータス通知に固有の事前に定義された様式でリッチ通信オブジェクトへとフォーマットする。1つまたは複数の実施形態においては、業者の通信内容をリッチ通信オブジェクトへとフォーマットすることは、通信内容のレイアウト、フォント・サイズ、カラー・テーマを変更すること、イメージおよび画像を付加することなどを含む。加えて、通信ジェネレータ124は、表示されない情報をリッチ通信オブジェクト内に含ませることができ、それらの情報は、ヘッダ情報(たとえば、通信ソース、通信の日付および時刻など)、ノードおよびエッジの情報、ならびにその他の構造化されているデータなどであるが、それらには限定されない。
さらに、上述のように、および図1において示されているように、通信マネージャ118はまた、データ・ストレージ126を含む。示されているように、データ・ストレージ126は、ユーザ・データ128、業者データ130、トークン・データ132、通信データ134、ノード・データ136、およびエッジ・データ138を含む。1つまたは複数の実施形態においては、ユーザ・データ128は、本明細書において記載されているようなユーザ情報を表す。同様に、1つまたは複数の実施形態においては、業者データ130は、本明細書において記載されているような業者情報を表す。1つまたは複数の実施形態においては、通信データ134は、本明細書において記載されているような通信情報を表す。さらに、1つまたは複数の実施形態においては、トークン・データ132は、本明細書において記載されているようなトークン情報を表す。加えて、1つまたは複数の実施形態においては、ノード・データ134およびエッジ・データ136は、それぞれ、本明細書において記載されているようなノードおよびエッジの情報を表す。
図2は、通信システム100の例示的な模式図を示している。図2において示されているように、通信システム100は、クライアント・コンピューティング・デバイス102、ソーシャル・ネットワーキング・システム116、および業者114を含み、それらは、ネットワーク202を通じて通信可能に結合されている。また図2において示されているように、ユーザ204は、ソーシャル・ネットワーキング・システム116および/もしくは業者114上の、またはソーシャル・ネットワーキング・システム116および/もしくは業者114によって提供されるコンテンツおよび/またはサービスにアクセスするために、クライアント・コンピューティング・デバイス102と対話する。クライアント・コンピューティング・デバイス102は、図1を参照しながら上述されているように、ソーシャル・ネットワーキング・アプリケーション104を介してソーシャル・ネットワーキング・システム116にアクセスする。同様に、クライアント・コンピューティング・デバイス102は、図1を参照しながら上述されているように、ウェブ・ブラウザ112を介して、およびいくつかのケースにおいてはプラグイン・マネージャ110を利用して、業者114にアクセスすることができる。さらに、1つまたは複数の実施形態においては、業者114は、上述のように、事前登録処理中に定義される1つまたは複数の通信エンドポイントを介してソーシャル・ネットワーキング・システム116にアクセスする。
クライアント・コンピューティング・デバイス102、業者114、およびソーシャル・ネットワーキング・システム116は、ネットワーク202を介して通信し、ネットワーク202は、1つまたは複数のネットワークを含むことができ、データおよび/または通信信号を伝送するのに適した1つまたは複数の通信プラットフォームまたはテクノロジーを使用することができる。1つまたは複数の実施形態においては、ネットワーク202は、インターネットまたはワールド・ワイド・ウェブを含む。しかしながら、ネットワーク202は、さまざまな通信テクノロジーおよびプロトコルを使用するその他のさまざまなタイプのネットワーク、たとえば、企業イントラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレス・ローカル・ネットワーク(WLAN)、セルラー・ネットワーク、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、または複数のそのようなネットワークの組合せを含むことができる。図2は、クライアント・コンピューティング・デバイス102、ソーシャル・ネットワーキング・システム116、業者114、およびネットワーク202の特定のアレンジを示しているが、さまざまな追加のアレンジが可能である。たとえば、クライアント・コンピューティング・デバイス102は、ネットワーク202を迂回してソーシャル・ネットワーキング・システム116および/または業者114と直接に通信することができる。ネットワーク202に関連している追加の詳細については、以降で図6を参照しながら説明する。
図2において示されているように、通信システム100は、ユーザ204を含む。上述のように、ユーザ204は、個人(すなわち、人間のユーザ)、企業、グループ、またはその他のエンティティであり得る。図2は、1人のユーザ204を示しているが、通信システム100は、複数のユーザを含むことができ、それらの複数のユーザのそれぞれは、対応する複数のクライアント・コンピューティング・デバイスを通じて通信システム100と対話するということがわかる。
クライアント・コンピューティング・デバイス102は、さまざまなタイプのコンピューティング・デバイスのうちの任意の1つまたは複数であり得る。たとえば、クライアント・コンピューティング・デバイス102は、モバイル・デバイス、たとえば、モバイル電話、スマート・フォン、PDA、タブレット、ラップトップ、または非モバイル・デバイス、たとえば、デスクトップ、サーバ、または別のタイプのコンピューティング・デバイスを含む。さらに、クライアント・コンピューティング・デバイス102は、ソーシャル・ネットワーキング・システム116に関連付けられている専用のソーシャル・ネットワーキング・アプリケーション(たとえば、図1に関連して上述されているソーシャル・ネットワーキング・アプリケーション104など)を稼働させて、通信システム100に関連付けられているソーシャル・ネットワーキング・コンテンツ(たとえば、ポスト、メッセージ、プロフィールなど)にアクセスすることができる。クライアント・コンピューティング・デバイス102に関連するさらなる詳細については、以降で図6に関連して説明する。
上で説明したように、図1〜図2を参照しながら述べられているシステムおよび方法は、ソーシャル・ネットワーキング・システムを介したソーシャル・ネットワーキング・システム・ユーザと業者との間における匿名の通信を円滑に行うことができる。図3A〜図3Bは、上で説明したシステム100によって実行される処理の1つまたは複数の例示的な実施形態の例示的な処理を示している。図1および図2において示されているシステム100と整合して、図3A〜図3Bは、クライアント・コンピューティング・デバイス102を利用しているユーザ204、業者114、クライアント・コンピューティング・デバイス102と業者114との間における匿名の通信を円滑に行うソーシャル・ネットワーキング・システム116を示している。
1つまたは複数の実施形態においては、図3Aにおいて示されているように、図示されている処理は、業者114が事前登録(302)に関与することで開始する。上述のように、1つまたは複数の実施形態においては、業者114がソーシャル・ネットワーキング・システム・プラグインを特定のウェブページ上に表示するためには、業者114は、最初にソーシャル・ネットワーキング・システム116に事前登録しなければならない。この事前登録処理は、業者およびソーシャル・ネットワーキング・システム116が複数の通信エンドポイントをやり取りすることを含む。上述のように、通信エンドポイントは、業者114およびソーシャル・ネットワーキング・システム116が通信内容を送信することができる特定のURL、サーバ・ポート、ウェブ・アドレスなどを業者114およびソーシャル・ネットワーキング・システム116の両方に提供する。たとえば、事前登録(302)中に、業者114は、「www.merchant.com/social_networking_system」という通信エンドポイントをソーシャル・ネットワーキング・システム116に提供することができる。同様に、事前登録(302)中に、ソーシャル・ネットワーキング・システム116は、「www.socialnetworkingsystem.com/transaction_update」、「www.socialnetworkingsystem.com/shipping_confirmation」、「www.socialnetworkingsystem.com/purchase_receipt」などを含む複数の通信エンドポイントを業者114に提供することができる。したがって、1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・システム116は、業者通信を「www.merchant.com/social_networking_system」へ導くことができ、業者114は、配送確認に関連したソーシャル・ネットワーキング・システム通信を「www.socialnetworkingsystem.com/shipping_confirmation」へ導くことができる。
加えて、業者114が、プラグインよりもむしろ、またはプラグインに加えてソーシャル・ネットワーキング・システム・ピクセルを特定のウェブページに含めることを選んでいる場合には、事前登録(302)は、ピクセル・コードと、業者114に固有のソーシャル・ネットワーキング・システム・ピクセルIDとをソーシャル・ネットワーキング・システムから受信することを含む。業者114は、ピクセル・コードおよびソーシャル・ネットワーキング・システム・ピクセルIDを、その特定のウェブページ用のコードまたはスクリプト言語内に挿入する。たとえば、ピクセル・コードは、ソーシャル・ネットワーキング・システムがウェブページを介して情報を追跡把握することを可能にするさまざまなメソッド呼び出しおよび条件文を含む。例示するために、注文確認ウェブページに関して、コード・スニペットは、ソーシャル・ネットワーキング・システムが情報を追跡把握することを可能にし、それらの情報は、受付ID、タイムスタンプ、アカウント所有者ID、受取人名、支払額、小計、送料、合計税額、合計費用、使用される通貨、支払方法、配送先住所、および、購入されたアイテムを記述する情報(たとえば、ブランド、サイズ、色、性別など)とともに購入されたアイテムのリストを含むが、それらには限定されない。(たとえば、購入に先立つアカウント設定を通じて)ソーシャル・ネットワーキング・システム116を介して業者114からの通信内容を受信したいという希望をユーザが示したことに応答して、ソーシャル・ネットワーキング・システム116は、追跡把握された情報を、ユーザとのその後の通信において利用することができる。
さらに、事前登録(302)中に、ソーシャル・ネットワーキング・システム116は、一意の識別子を業者114に割り振ることができる。たとえば、上述のように、通信マネージャ118は、ソーシャル・ネットワーキング・システム・ユーザと業者との一意のペアリングを表す永続的な不透明トークンを生成することができる。この永続的な不透明トークンは、ユーザと業者との間における匿名の通信を管理するために後で利用されることが可能である。したがって、業者114がソーシャル・ネットワーキング・システム116に事前登録した場合には、ソーシャル・ネットワーキング・システム116は、一意の識別子を生成して業者114に割り振ることができる。ソーシャル・ネットワーキング・システム116は、英数字のシーケンス、ハッシュ、またはその他の任意の適切な一意の識別子を含むように一意の業者識別子を生成することができる。
ソーシャル・ネットワーキング・システム116への業者の事前登録(302)の後のある時点で、クライアント・コンピューティング・デバイス102のユーザが、業者114によってホストされているウェブページに組み込まれているソーシャル・ネットワーキング・システム・プラグインに遭遇する可能性がある。1つまたは複数の実施形態においては、クライアント・コンピューティング・デバイス102のユーザがそのプラグインを利用するために、クライアント・コンピューティング・デバイス102は、ソーシャル・ネットワーキング・システム・セッションを保持する(304)。たとえば、少なくとも1つの実施形態においては、ソーシャル・ネットワーキング・システム・プラグインが機能するようになる前に、ソーシャル・ネットワーキング・システム・プラグインは、特定のソーシャル・ネットワーキング・システム・クレデンシャル(たとえば、ログイン、ユーザ識別子など)を必要とする。この情報は、クライアント・コンピューティング・デバイス102により、クライアント・コンピューティング・デバイス102によって格納されている特定のファイル(たとえば、「クッキー」)に格納することが可能である。少なくとも1つの実施形態においては、ウェブ・ブラウザ112は、ソーシャル・ネットワーキング・システム・プラグインを含む業者ウェブページをロードすることを試みる際に、クッキーにアクセスすることができる。1つまたは複数の実施形態においては、ウェブ・ブラウザ112が、ウェブ・ブラウザ内の(クッキーによって示されているように)開いているアクティブなソーシャル・ネットワーキング・システム・セッション無しでプラグインを初期化することを試みる場合には、そのプラグインは、初期化に失敗することになる。
ソーシャル・ネットワーキング・システム・プラグインは、必要とされるクレデンシャルを、開いているソーシャル・ネットワーキング・システム・セッションから自動的に識別することができる。一実施形態においては、クライアント・コンピューティング・デバイス102がモバイル・デバイス(たとえば、モバイル電話)であり、かつクライアント・コンピューティング・デバイス102のユーザが、(図3Aにおいて破線の枠によって示されているように)ソーシャル・ネットワーキング・アプリケーション104内でソーシャル・ネットワーキング・システム116へログインされていて、そしてまた、モバイル・デバイス上にインストールされているウェブ・ブラウザ内で業者114に関連付けられているウェブサイトをブラウズしている場合に、ソーシャル・ネットワーキング・システム・セッションを保持すること(304)が生じる。さらなる実施形態または代替実施形態においては、ソーシャル・ネットワーキング・システム・セッションを保持する(304)のは、単に、クライアント・コンピューティング・デバイス102のユーザがウェブ・ブラウザの1つのタブにおいてソーシャル・ネットワーキング・システム116へログインされており、その一方でウェブ・ブラウザの別のタブにおいて、業者114に関連付けられているウェブサイトをブラウズしている場合である。またさらなる実施形態においては、セッションは、認証/ログイン・クレデンシャルがクライアント・コンピューティング・デバイス102上でその他の形で利用可能である場合に保持される。
クライアント・コンピューティング・デバイス102が、現在保持されているソーシャル・ネットワーキング・システム・セッション(304)を有する場合には、クライアント・コンピューティング・デバイスは、ソーシャル・ネットワーキング・システム116に関連付けられているプラグインを含む業者ウェブページをロードすることができる(306)。たとえば、一実施形態においては、上述のように、クライアント・コンピューティング・デバイス102のユーザ204に関連付けられているクッキーが、現在開いているソーシャル・ネットワーキング・システム・セッション(304)があるということを示していない場合には、業者のウェブページ上に組み込まれているプラグインは、初期化に失敗することになる。しかしながら、クライアント・コンピューティング・デバイス102によってソーシャル・ネットワーキング・システム・セッションが保持されている(304)ということをクッキーが示している場合には、プラグインを含む業者のウェブページは、成功裏にロードすることができる(306)。
1つまたは複数の実施形態においては、初期化されたプラグインは、業者のウェブページ内にインタラクティブ・コントロールを表示することをウェブ・ブラウザ112に行わせる。1つまたは複数の実施形態においては、インタラクティブ・コントロールは、業者114がソーシャル・ネットワーキング・システム116を介してユーザ204と匿名で通信することを可能にするためのオプションをクライアント・コンピューティング・デバイス102のユーザ204が選択することを可能にする。追加として、または代替として、インタラクティブ・コントロールは、ユーザが業者114からの匿名の通信を受信することになるということをユーザ204に単に知らせて、ユーザ204がそれらの通信からオプトアウトするためのオプションを提供することができる。プラグインに関連付けられているインタラクティブ・コントロールの構成にかかわらず、クライアント・コンピューティング・デバイス102は、ソーシャル・ネットワーキング・システム116を通じて業者114と通信するためのオプションに関するユーザの選択を、プラグインを介して受信することができる(308)。
一実施形態においては、ウェブ・ブラウザ112は、ユーザ204と業者114との間における購入トランザクションに関連付けられているウェブページ内で、初期化されたソーシャル・ネットワーキング・システム・プラグインをロードすることができる(306)。たとえば、ユーザ204は、アイテムを選択して購入するために業者114の電子商取引(eCommerce)ウェブサイトを利用していた可能性がある。購入トランザクションは、いくつかのウェブページを含むことができ、それらのウェブページを通じて、ユーザ204は、支払いおよび配送の情報を提供することができる。一実施形態においては、ユーザ204が注文を確認する直前に、ウェブ・ブラウザ112は、初期化されたプラグインに関連付けられているインタラクティブ・コントロールをユーザ204に表示することができ、そのインタラクティブ・コントロールは、業者114がソーシャル・ネットワーキング・システム116を通じてユーザ204と通信することを可能にするオプションをユーザに提供する。その他の実施形態においては、ウェブ・ブラウザ112は、ユーザが注文を確認した後で、または電子商取引処理における別の時点で、初期化されたプラグインに関連付けられているインタラクティブ・コントロールをユーザ204に提供することができる。追加として、または代替として、ウェブ・ブラウザ112は、初期化されたプラグインに関連付けられているさまざまなインタラクティブ・コントロールを、業者のウェブサイト内で精算および確認処理におけるさまざまな時点で表示することができる(たとえば、ユーザ204が、精算処理におけるある時点でプラグインを介して業者通信を受信することからオプトアウトする場合には、ウェブ・ブラウザ112は、オプトアウトを確認するようユーザ204に求めるために精算処理における別の時点で「アップセル(upsell)」オプションとともにプラグインを表示することができる、といった具合である)。
さらなる実施形態または代替実施形態においては、ウェブ・ブラウザおよびプラグインを使用して業者ウェブサイトを訪問することよりもむしろ、ユーザは、専用の業者モバイル・アプリケーションを利用して、商品を閲覧および購入することができる。そのケースにおいては、ユーザは、業者モバイル・アプリケーションをモバイル・デバイス(たとえば、スマート・フォンまたはタブレット)上にインストールしておくことができる。1つまたは複数の実施形態においては、業者モバイル・アプリケーションは、アプリケーション・プログラミング・インタフェース(API)に依存して、モバイル・デバイスを介してユーザに表示を提供し、業者と通信することができる。
業者114との匿名の通信に関するユーザの選択をプラグインを介して受信したことに応答して、クライアント・コンピューティング・デバイス102は、ユーザのプラグイン選択を、ステート属性とともに、ソーシャル・ネットワーキング・システム116へ通信することができる(310)。1つまたは複数の実施形態においては、業者114に関連付けられているステート属性は、(たとえば、事前登録(302)中にソーシャル・ネットワーキング・システム116が業者114に割り振った)業者の一意の識別子、(たとえば、ソーシャル・ネットワーキング・システム・クッキーが取得した)ユーザの一意の識別子、状態情報、および、ユーザ204と業者114との間におけるトランザクションを参照するその他の情報を含むことができる。1つまたは複数の実施形態においては、ステート属性は、プラグインによって生成され、ユーザ204とソーシャル・ネットワーキング・システム116との間における、またはソーシャル・ネットワーキング・システム116と業者114との間におけるトランザクションに関する任意のさらなる通信に対するコンテキストを提供する役割を果たす。たとえば、永続的な不透明トークンと組み合わせたステート属性は、業者114が、ソーシャル・ネットワーキング・システム116から受信された通信内容を特定のトランザクションおよびソーシャル・ネットワーキング・システム・ユーザ204に相関付けることを可能にする。業者114は特定のトランザクションを特定のユーザ204に相関付けることができるが、ユーザ204を具体的に識別するいかなる情報(たとえば、Eメール・アドレス、ソーシャル・ネットワーキング・システム116内でのユーザの一意の識別子など)に対するアクセスを業者114が得ることは絶対にないということに留意されたい。
ソーシャル・ネットワーキング・システム116が、ユーザの選択の表示およびステート属性(310)を受信すると、ソーシャル・ネットワーキング・システム116は、ユーザ204および業者114に関連付けられている永続的な不透明トークンを生成する(312)。上述のように、1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・システム116は、業者114に関連付けられている一意の識別子、およびクライアント・コンピューティング・デバイス102のユーザ204に関連付けられている一意の識別子に基づいてハッシュを作成することによって、永続的な不透明トークンを生成することができる。たとえば、ソーシャル・ネットワーキング・システム116は、業者114に関連付けられている一意の識別子、およびユーザ204に関連付けられている一意の識別子を、プラグインによって通信されたステート属性(310)から抽出する。ソーシャル・ネットワーキング・システム116は次いで、これらの識別子に基づいて、永続的な不透明トークンを生成する。さらなる実施形態においては、ソーシャル・ネットワーキング・システム116は、日付および時刻に基づいて、やはりステート属性から抽出された永続的な不透明トークンをさらに生成することができる。
上述のように、永続的な不透明トークンは、ユーザ204と業者114との間におけるペアリングを表す。したがって、少なくとも1つの実施形態においては、ソーシャル・ネットワーキング・システム116は、永続的な不透明トークンを格納し、それによって、その永続的な不透明トークンは、ユーザ204と業者114との間における現在のトランザクションに関連した通信に関連付けて使用することが可能であるだけでなく、ユーザ204と業者114との間における今後のトランザクションに関連した通信に関連付けて使用することも可能である。したがって、少なくとも1つの実施形態においては、ソーシャル・ネットワーキング・システム116は、生成された永続的な不透明トークンを利用して、トランザクションに関係なく業者114とユーザ204との間におけるすべての通信を管理することができる。ユーザ204と業者114との間におけるペアリングを表す永続的な不透明トークンが存在する場合には、ソーシャル・ネットワーキング・システム116は、新たな永続的な不透明トークンを生成することよりもむしろ、工程312における必要とされる永続的な不透明トークンを単に識別することができる。
さらに、1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・システム116は、生成された永続的な不透明トークン、および/またはクライアント・コンピューティング・デバイス102から受信されたステート属性によって参照されるトランザクションに関連付けられているノードを作成することもできる。たとえば、ノードは、永続的な不透明トークンによって表されているユーザ/業者のペアリングに関連付けられている情報を含むことができる。さらに、ソーシャル・ネットワーキング・システム116は、ユーザ204と業者114との間におけるそれぞれのトランザクションを表すノードを作成することができる。少なくとも1つの実施形態においては、ソーシャル・ネットワーキング・システム116は、エッジを用いて、ユーザ204と業者114との間におけるトランザクションを表すそれぞれのノードを、永続的な不透明トークンを表すノードに連結することができる。このようにして、ソーシャル・ネットワーキング・システム116は、ノードおよびエッジを使用して、ユーザ204と業者114との間における商業的な関係全体を表すことができる。ノード、エッジ、および/またはそこに含まれる情報の代替のアレンジも可能である。
次に、ソーシャル・ネットワーキング・システム116が、永続的な不透明識別子を生成すると(312)、ソーシャル・ネットワーキング・システム116は、その永続的な不透明トークンおよびステート属性を業者へ送信することができる(314)。ソーシャル・ネットワーキング・システム116は、ステート属性を業者へ送信する(314)前にステート属性を変更することができるということに留意されたい。たとえば、ソーシャル・ネットワーキング・システム116は、永続的な不透明トークンに相関しているトランザクションを業者114が正しく識別するのに必要な情報のみをステート属性に含めることができる。この時点で、業者114は、永続的な不透明トークンおよびステート属性を格納することができる(316)。上述のように、業者114は、この情報を格納することができ、それによって、永続的な不透明トークンと、ステート属性内のトランザクション・データとが相関付けられる。
したがって、業者114がその後に、ステート属性に関連付けられているトランザクションにおける更新を識別した(318)場合には、業者114は、ソーシャル・ネットワーキング・システム116を介してユーザ204へ通信内容を送信することができる。たとえば、トランザクションが、ユーザ204によって行われた購入である場合には、更新は、ユーザのクレジット・カードが処理されたということ、またはユーザによって購入された製品が配送のために倉庫を出たということである可能性がある。トランザクションが、ユーザ204によって提出された製品に関する質問である場合には、更新は、業者114の顧客サービス担当者によって提出された応答である可能性がある。
更新が識別されると(318)、業者は、トランザクション更新に関連付けられている通信を生成することができる(320)。1つまたは複数の実施形態においては、トランザクション更新に関する通信を生成すること(320)は、自然言語(たとえば、「ご注文、ありがとうございます!」、「ご注文の品を発送いたしました。」、「ご注文の品は、配達されました。」)、マルチメディア(たとえば、レシートのデジタル画像、製品のデジタル写真など)、ハイパーリンク(たとえば、製品ウェブページへのハイパーリンク)、インタラクティブ・コントロール(たとえば、ボタン、テキスト・ボックス)などを含むメッセージを作成することを含む。加えて、トランザクション更新に関する通信内容を生成すること(320)は、作成されたメッセージが円滑に読まれ理解されるようにそのメッセージをフォーマットすることをさらに含む。
業者114が、トランザクション更新に関連付けられている生成された通信内容(320)を送信できるようになる前に、業者114は、トランザクションに関連付けられている永続的な不透明トークンをステート属性に基づいて識別することもできる(322)。上述のように、ステート属性は、特定のトランザクションを追跡把握する業者の方法として機能する。業者114は、工程316において永続的な不透明トークンをステート属性に相関付けて格納したので、業者114は、工程322において、格納されている永続的な不透明トークンをステート属性に基づいて単に取り出すことができる。業者114が、ステート属性に関連付けられている永続的な不透明トークンを識別する(322)と、業者114は、生成された通信内容および永続的な不透明トークンをソーシャル・ネットワーキング・システム116へ送信する(324)。上述のように、業者114は、発生したトランザクション更新のタイプに応じて、ソーシャル・ネットワーキング・システム116に関連付けられている特定の通信エンドポイントへ、通信内容および永続的な不透明トークンを送信することができる。
業者114から通信内容および永続的な不透明トークンを受信すると、ソーシャル・ネットワーキング・システム116は、その永続的な不透明トークンを復号して、ユーザ204の一意の識別子を識別する(326)。上述のように、業者114からの受信された通信内容を正しく管理するためには、ソーシャル・ネットワーキング・システム116は、最初にユーザの一意の識別子を特定しなければならない。加えて、ソーシャル・ネットワーキング・システム116は、永続的な不透明トークンを復号して、業者114の一意の識別子を識別することができる。ソーシャル・ネットワーキング・システム116は、この情報を使用して、クライアント・コンピューティング・デバイス102においてソーシャル・ネットワーキング・アプリケーション104によって表示される通信内容を整理することができる。
加えて、ソーシャル・ネットワーキング・システム116は、業者114から受信された通信内容に基づいてリッチ通信オブジェクトを生成することができる(328)。上述のように、リッチ通信オブジェクトは、その他の構造化されているデータに加えて業者の通信内容を含むことができる。1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・システム116は、業者114から受信された通信内容に基づくだけでなく、その通信内容が受信されたソーシャル・ネットワーキング・システム116の通信エンドポイントにも基づいて、リッチ通信オブジェクトを生成することができる(328)。たとえば、ソーシャル・ネットワーキング・システム116は、「www.socialnetworkingsystem.com/delivery_status」という通信エンドポイントにおいて受信された通信内容のための1つのタイプのリッチ通信オブジェクトと、「www.socialnetworkingsystem.com/purchase_receipt」という通信エンドポイントにおいて受信された通信内容のための別のタイプのリッチ通信オブジェクトとを生成することができる。さらなる実施形態または代替実施形態においては、ソーシャル・ネットワーキング・システム116は、業者114から受信された通信内容に基づいて標準的なテキスト・ベースの通信を生成する。
ソーシャル・ネットワーキング・システム116がリッチ通信オブジェクトを生成する(328)と、ソーシャル・ネットワーキング・システム116は、復号された一意のユーザ識別子(すなわち、工程326におけるように)に関連付けられているユーザへリッチ通信オブジェクトを送信することができる(330)。リッチ通信オブジェクトを受信すると、クライアント・コンピューティング・デバイス102は、(たとえば、ソーシャル・ネットワーキング・アプリケーション104を介して)リッチ通信オブジェクトを表示することができる(332)。1つまたは複数の実施形態においては、クライアント・コンピューティング・デバイス102は、ユーザ204および業者114がスレッド参加者である通信スレッド内でリッチ通信オブジェクトを表示することができる(332)。
さらなる実施形態においては、ソーシャル・ネットワーキング・システム116は、ユーザ204からのいかなる応答も、同じ方法で永続的な不透明識別子を利用することによって業者114へ返信することができる。たとえば、ユーザは、表示されたリッチ通信オブジェクト(たとえば、工程332における)に対して応答することができる。少なくとも1つの実施形態においては、ユーザは、表示されたリッチ通信オブジェクトに対して、ソーシャル・ネットワーキング・アプリケーション104内で通信内容を作成することによって応答することができ、ソーシャル・ネットワーキング・アプリケーション104は、ユーザ204から業者114への通信内容を受信することができる(334)。クライアント・コンピューティング・デバイス102は、その後にユーザの通信内容をソーシャル・ネットワーキング・システム116へ送信することができる(336)。
クライアント・コンピューティング・デバイス102から通信内容を受信したことに応答して、ソーシャル・ネットワーキング・システム116は、ユーザ204および業者114のペアリングに関連付けられている永続的な不透明トークンを識別することができる(338)。上で説明したように、ソーシャル・ネットワーキング・システム116は、永続的な不透明トークンを、その永続的な不透明トークンがベースとする一意のユーザ識別子を有するソーシャル・ネットワーキング・システム・ユーザ(すなわち、ユーザ204)に関連付けられているノードに格納することができる。ソーシャル・ネットワーキング・システム・ユーザが、複数の永続的な不透明トークンに関連付けられている(すなわち、そのユーザが、複数の業者との通信スレッドを有し得る)場合には、ソーシャル・ネットワーキング・システム116は、通信内容が送信された(たとえば、工程336において)元である通信スレッドから正しい業者を識別することができる。したがって、ソーシャル・ネットワーキング・システム116は、ユーザ204および業者114のペアリングに基づいて正しい永続的な不透明トークンを識別することができる(338)。
ソーシャル・ネットワーキング・システム116は次いで、通信内容および永続的な不透明トークンを業者114へ送信することができる(340)。1つまたは複数の実施形態においては、業者114は、事前登録処理(302)中に指定された通信エンドポイントにおいて通信内容および永続的な不透明トークンを受信することができる。通信内容および永続的な不透明トークンを受信したことに応答して、業者114は、その永続的なトークンを、格納されているステート属性にマッチさせることができる(342)。上述のように、業者114によって格納されているステート属性は、特定のユーザを関与させる特定のトランザクションを識別する役割を果たす。したがって、業者114は、どの格納されているステート属性が、受信された永続的な不透明トークンに相関付けられているかを決定することができる(342)。
最後に、業者114は、識別されたステート属性に基づいて通信内容を表示することができる(344)。1つまたは複数の実施形態においては、業者114は、ユーザ204からの通信内容が通信スレッドの一部として表示されることを可能にする専用のウェブページまたはアプリケーションを介して、受信された通信内容を表示することができる。したがって、受信された通信内容は、業者114とユーザ204との間における通信の履歴の一部として表示されることが可能である。
以降でさらに詳細に記載されるように、図1〜図3Bに関連して記載されているシステム100のコンポーネントは、その他のコンポーネントとともに、および/またはその他のコンポーネントと組み合わせて、1つまたは複数のグラフィカル・ユーザ・インタフェース(「GUI」)を提供することができる。とりわけ、それらのコンポーネントは、ユーザがさまざまな目的でディスプレイ要素の集合と対話することを可能にする。とりわけ、図4A〜図4Fおよび以降の記載は、上述の一般的な原理に従うユーザ・インタフェースおよび機能のさまざまな例示的な実施形態を示している。
たとえば、図4Aは、通信システム100のコンポーネントまたは機能のうちの1つまたは複数を実施することができるソーシャル・ネットワーキング・システム・ユーザ(たとえば、ユーザ204)のクライアント・コンピューティング・デバイス400を示している。図示されているように、このクライアント・コンピューティング・デバイスは、モバイル電話デバイス(たとえば、スマートフォン)などのハンドヘルド・デバイスである。本明細書において使用される際には、「ハンドヘルド・デバイス」という用語は、ユーザの片手で把持される/操作されるようにサイズ設定および構成されているデバイスを指す。しかしながら、さらなる例または代替の例においては、その他の任意の適切なコンピューティング・デバイス(タブレット・デバイス、より大型のワイヤレス・デバイス、ラップトップもしくはデスクトップ・コンピュータ、携帯情報端末デバイス、および/またはその他の任意の適切なコンピューティング・デバイスなど、ただし、それらには限定されない)が、本明細書において記載されている処理および/またはオペレーションのうちの1つまたは複数を実行することができる。
図4Aにおいて示されているように、クライアント・コンピューティング・デバイス400は、ユーザ・インタフェースを表示することができるタッチ・スクリーン・ディスプレイ402を含み、そのタッチ・スクリーン・ディスプレイ402を介して、ユーザ入力を受信および/または検知することが可能である。本明細書において使用される際には、「タッチ・スクリーン・ディスプレイ」とは、タッチ・スクリーン・デバイスのディスプレイを指す。1つまたは複数の実施形態においては、タッチ・スクリーン・デバイスは、ユーザがタッチ・ジェスチャーを実行することができる少なくとも1つの表面を有するクライアント・コンピューティング・デバイス102(たとえば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、モバイル電話など)であり得る。追加として、または代替として、クライアント・コンピューティング・デバイス300は、その他の任意の適切な入力デバイス、たとえばタッチ・パッド、または以降で図6を参照しながら記載されているものを含むことができる。
図4Aにおいては、クライアント・コンピューティング・デバイス400のタッチ・スクリーン・ディスプレイ402は、インストールされているウェブ・ブラウザ112によって提供されるウェブ・ブラウザGUI404aを表示する。上述のように、ウェブ・ブラウザ112は、ウェブ・ブラウザGUI404aを提供して、インタラクティブな表示を提供し、それによってユーザは、ウェブページを読み取って対話することができる。図4Aにおいて示されているように、ウェブ・ブラウザGUI404aは、注文前精算ウェブページ406aを表示する。1つまたは複数の実施形態においては、業者114は、注文前精算ウェブページ406aを、精算手順においてユーザに提示される最後のウェブページとして表示することができる。したがって、注文前精算ウェブページ406aは、注文および配送の詳細を、確認ボタン(たとえば、「注文実行」ボタン)とともに含む。
また図4Aにおいて示されているように、注文前精算ウェブページ406aは、プラグイン表示408を含む。上述のように、クライアント・コンピューティング・デバイス400のユーザが、ソーシャル・ネットワーキング・システム116へ(たとえば、別のアプリケーションまたはウェブ・ブラウザ・タブにおいて)同時にログインされている場合には、ソーシャル・ネットワーキング・プラグインが初期化されて、1つまたは複数のオプションのプラグイン表示408をユーザに提供することができる。代替実施形態においては、クライアント・コンピューティング・デバイス400のユーザが、ソーシャル・ネットワーキング・システム116へ同時にログオンされていない場合には、プラグインは、初期化に失敗する可能性があり、プラグイン表示408は、「リアルタイムの配送更新を受信するには、あなたのソーシャル・ネットワーキング・システム・アカウントへログインしてください!」などのメッセージを含むことができる。プラグイン表示408は、「オプトイン」チェックボックスを特徴とするが、代替実施形態においては、プラグイン表示408は、「オプトアウト」チェックボックスを特徴とすることができる。加えて、別の代替実施形態においては、プラグインは、ユーザ204のソーシャル・ネットワーキング・システム・ログイン情報を含むクッキーまたはその他のデータをクライアント・コンピューティング・デバイス400が格納している限り、クライアント・コンピューティング・デバイス400がソーシャル・ネットワーキング・システム116へ同時にログオンされているかどうかにかかわらずに、初期化することができる。
クライアント・コンピューティング・デバイス400のユーザが、プラグイン表示408におけるチェックボックスを選択して、注文前精算ウェブページ406aにおいて詳述されている注文したことに応答して、ウェブ・ブラウザ112は、図4Bにおいて示されているように、クライアント・コンピューティング・デバイス400のタッチ・スクリーン・ディスプレイ402上のウェブ・ブラウザGUI404aにおいて注文後確認ウェブページ406bを表示することができる。1つまたは複数の実施形態においては、注文後確認ウェブページ406bは、ユーザによってなされた注文を確認する。加えて、図4Bにおいて示されているように、ユーザは、図4Aにおいて示されているようにプラグイン表示408において「オプトイン」オプションを選択したので、プラグインまたはピクセル表示408は、選択確認を提供することもできる。たとえば、プラグインまたはピクセル表示408は、クライアント・コンピューティング・デバイス400のユーザがリアルタイムの更新を受信することになる旨の確認、ならびにユーザのアイデンティティ(たとえば、「リチャード・ハーナー」)の確認、およびキャンセルするためのオプション(たとえば、「あなたではありませんか?」)を含むことができる。1つまたは複数の実施形態においては、プラグイン・マネージャ110は、上述のように、ユーザの開いているソーシャル・ネットワーキング・システム・セッションに関連付けられているクッキーに基づいてユーザのアイデンティティを抽出する。「あなたではありませんか?」をユーザがクリックしたことに応答して、プラグイン・マネージャ110は、プラグインを非アクティブ化することができ、および/またはユーザが別のアカウントのもとでソーシャル・ネットワーキング・システム116へログインすることを可能にする。
クライアント・コンピューティング・デバイス400のユーザがソーシャル・ネットワーキング・システム116を介して業者114からリアルタイムの更新を受信することを選択したことに応答して、ソーシャル・ネットワーキング・アプリケーション104のディスプレイ・マネージャ106は、通信スレッドの一部として業者114からの通信内容を表示することができる。業者通信内容のさまざまな例が、図4C〜図4Eにおいて示されている。たとえば、図4Cにおいて示されているように、クライアント・コンピューティング・デバイス400上にインストールされているソーシャル・ネットワーキング・アプリケーション104のディスプレイ・マネージャ106は、クライアント・コンピューティング・デバイス400のタッチ・スクリーン・ディスプレイ402上に通信GUI404bを表示することができる。1つまたは複数の実施形態においては、通信GUI404bは、クライアント・コンピューティング・デバイス400のユーザ(すなわち、ユーザ204)と通信している業者を示す業者インジケータ412と、通信スレッド410とを含むことができる。上述のように、通信スレッド410は、複数のエンティティの間においてやり取りされている電子メッセージおよびリッチ通信オブジェクトを含むことができる。
1つまたは複数の実施形態においては、図4C〜図4Eにおいて示されているように、通信スレッド410は、1つまたは複数のリッチ通信オブジェクト414a、414b、414cを含むことができる。たとえば、図4Cにおいて示されているように、リッチ通信オブジェクト414aは、業者114からのメッセージと、販売レシートの構造化されている表示とを含む。図4Dにおいて示されているように、リッチ通信オブジェクト414bは、業者114からのメッセージと、配送の現在のロケーションを示すグラフィックと、配送見積もりを伴う構造化されている通信内容とを含む。図4Eにおいて示されているように、リッチ通信オブジェクト414cは、業者114からのメッセージと、配送確認を伴う構造化されている通信内容とを含む。上で説明したように、ソーシャル・ネットワーキング・システム116は、業者114からの基礎となる通信内容が受信された通信エンドポイントに基づいて、リッチ通信オブジェクト414a、414b、および414cのフォーマットおよびコンテンツを決定することができる。加えて、ソーシャル・ネットワーキング・システム116は、着信した通信内容に基づいてリッチ通信オブジェクト用の最良のフォーマットおよびコンテンツを決定する際に、自然言語処理、ウェブ・ルックアップ、データベース、文法、およびその他の適切な技法を利用することができる。
通信スレッド410は、リッチ通信オブジェクトに加えて、標準的な電子メッセージを含むこともできる。たとえば、図4Eにおいて示されているように、通信スレッド410は、電子メッセージ416a、416b、および416cを含むことができる。上述のように、クライアント・コンピューティング・デバイス400のユーザは、ソーシャル・ネットワーキング・アプリケーション104内で(すなわち、通信GUI404bにおいて)、書かれたメッセージ(たとえば、電子メッセージ416a)またはその他のタイプのメッセージ(たとえば、電子メッセージ416cにおけるようなデジタル・イメージ)を単に作成して送信することによって、業者114と通信することができる。ソーシャル・ネットワーキング・システム116は、業者114からの応答(たとえば、電子メッセージ416b)があれば、それを通信スレッド410内に表示することができる。
1つまたは複数の実施形態においては、電子メッセージ416a〜416cは、「ライブ・チャット」を表している。たとえば、リッチ通信オブジェクト414a〜414cなど、プログラムで作成されたリッチ通信オブジェクトを含めることよりもむしろ、ソーシャル・ネットワーキング・システム116は、ユーザ204と、業者114におけるライブ・オペレータとの間におけるリアルタイムの構造化されていない通信を可能にする。したがって、図4Eにおいて示されているように、電子メッセージ416bを、業者114を通じてライブ・オペレータによって提出することが可能である。この方法においては、ユーザ204は、注文の修正、注文のキャンセル、配送の変更、支払いの変更、またはその他の任意のタイプの業者サポートもしくはサービスに関するリアルタイムの情報を受信することができる。
加えて、上述のように、クライアント・コンピューティング・デバイス400上にインストールされているソーシャル・ネットワーキング・アプリケーション104は、通信スレッドのリストをユーザ204に提供することができる。たとえば、図4Fにおいて示されているように、ディスプレイ・マネージャ106は、クライアント・コンピューティング・デバイス400のタッチ・スクリーン・ディスプレイ402上にスレッド・リストGUI404cを提供することができる。1つまたは複数の実施形態においては、スレッド・リストGUI404cは、1つまたは複数の通信スレッド要素420a〜420hを含む通信スレッド・リスト418を含むことができる。少なくとも1つの実施形態においては、それぞれの通信スレッド要素420a〜420hは、クライアント・コンピューティング・デバイス400のユーザおよび少なくとも1人のその他の参加者を含む通信スレッドを表している。通信スレッドのうちのそれぞれにおけるその他の参加者は、業者(たとえば、通信スレッド要素420bおよび420dにおいて表されているように)、個々のソーシャル・ネットワーキング・システム・ユーザ(たとえば、通信スレッド要素420a、420c、420e〜420hにおいて表されているように)、またはソーシャル・ネットワーキング・システム・ユーザのグループであり得る。通信スレッド要素420a〜420hのいずれかとの対話を検知したことに応答して、ディスプレイ・マネージャ106は、対応する通信スレッドを含む通信GUI(たとえば、通信GUI404b)を含めるようにタッチ・スクリーン・ディスプレイ402を更新することができる。
さらなる実施形態においては、上述のプラグインは、業者114によってホストされているウェブサイトに関連してユーザ204によって実行されたアクティビティを追跡把握することもできる。たとえば、ユーザ204は、ある特定の製品を求めて業者のウェブサイトを検索して、その特定の製品の在庫がもはやないとわかるだけに終わり、次いでその業者のウェブサイトから離れるようにナビゲートする可能性がある。プラグインは、図3A〜図3Bを参照しながら上述されている様式で、その検索を追跡把握して、その検索を業者114へ通信することができる。その後、業者114がその特定の製品の新たな在庫を加えた場合には、業者114は、ソーシャル・ネットワーキング・システム116を通じてユーザ204へこの情報を通信することができる。したがって、ソーシャル・ネットワーキング・システム16は、「ソリチュード・キャンピングでお探しになっていたテントの在庫が入りました!」などのメッセージを含むリッチ通信オブジェクトをユーザ204に送信することができる。
1つまたは複数の実施形態においては、ソーシャル・ネットワーキング・アプリケーション104における通信スレッドにおいてリッチ通信オブジェクトを提供することに加えて、ソーシャル・ネットワーキング・システム116は、クライアント・コンピューティング・デバイス400にプッシュ通知を提供することもできる。たとえば、プッシュ通知は、ポップアップ通知、アラート、バイブレーション、アイコンなどを含むことができる。この機能は、業者114が顧客と円滑に通信するために専用のアプリケーションを開発する必要がないという点で、業者114にとって有用である。むしろ、業者114は、ソーシャル・ネットワーキング・システム116の機能および能力を単に利用して、自分の顧客と通信することができる。
図1〜図4F、対応するテキスト、および例は、業者とソーシャル・ネットワーキング・システム・ユーザとの間における通信を円滑に行うためのいくつかの異なる方法、システム、およびデバイスを提供している。前述のことに加えて、実施形態については、特定の結果を達成するための方法における動作および工程を含むフローチャートという点から記載することもできる。たとえば、図5は、より少ないもしくはより多くの工程/動作を伴って実行されることが可能であり、またはそれらの工程/動作は、さまざまな順序で実行されることが可能である。加えて、本明細書において記載されている工程/動作は、繰り返されること、あるいは互いに並列に、または同じもしくは同様の工程/動作の異なるインスタンスと並列に実行されることが可能である。
図5は、業者とソーシャル・ネットワーキング・システム・ユーザとの間における通信を円滑に行う1つの例示的な方法500のフローチャートを示している。方法500は、通信要求を受信するという動作510を含む。とりわけ、動作510は、業者(たとえば、業者114)に関連付けられているウェブページ・プラグインを介した通信要求を、ユーザ(たとえば、ユーザ204)に関連付けられているクライアント・コンピューティング・デバイス(たとえば、クライアント・コンピューティング・デバイス102)から受信する工程を含むことができる。少なくとも1つの実施形態においては、方法500は、事前登録処理の一部として業者にウェブページ・プラグインを提供する工程をさらに含み、事前登録処理は、業者通信エンドポイントを業者から受信する工程を含む。たとえば、事前登録処理は、業者通信エンドポイントを受信したことに応答して業者に複数のソーシャル・ネットワーキング・システム通信エンドポイントを提供する工程をさらに含むことができる。
方法500はまた、ユーザに関連付けられている不透明トークンを生成するという動作520を含む。とりわけ、動作520は、受信された通信要求に応答して、業者に関連付けられている識別子およびユーザに関連付けられている識別子の暗号化された組合せを含むユーザに関連付けられている不透明トークンを生成する工程を含むことができる。少なくとも1つの実施形態においては、暗号化された組合せは、不透明トークンが作成された日付および時刻をさらに含むことができる。
加えて、方法500は、不透明トークンを提供するという動作530を含む。とりわけ、動作530は、生成された不透明トークンを業者に提供する工程を含むことができる。少なくとも1つの実施形態においては、業者は、少なくとも1つの通信エンドポイントを介して、生成された不透明トークンを提供することが可能である。
さらに、方法500は、不透明トークンに基づいて業者とユーザとの間における通信を円滑に行うという動作540を含む。とりわけ、動作540は、不透明トークンを使用して、不透明トークンに基づいて業者とユーザとの間における通信を円滑に行う工程を含むことができる。1つまたは複数の実施形態においては、業者とユーザとの間における通信を円滑に行う工程は、メッセージおよび不透明トークンを業者から受信する工程と、受信された不透明トークンを復号して、ユーザに関連付けられている識別子を識別する工程と、業者からの受信されたメッセージに基づいてリッチ通信オブジェクトを生成する工程と、ユーザに関連付けられている識別子に基づいて、ユーザに関連付けられているクライアント・デバイスにおいて、生成されたリッチ通信オブジェクトをユーザに提供する工程とを含む。追加として、または代替として、業者とユーザとの間における通信を円滑に行う工程は、業者から複数のソーシャル・ネットワーキング・システム通信エンドポイントのうちの1つまたは複数を介してメッセージおよび不透明トークンを受信する工程と、受信された不透明トークンを復号して、ユーザに関連付けられている識別子を識別する工程と、業者および1つまたは複数の通信エンドポイントからの受信されたメッセージに基づいてリッチ通信オブジェクトを生成する工程と、ユーザに関連付けられている識別子に基づいて、ユーザに関連付けられているクライアント・デバイスにおいて、生成されたリッチ通信オブジェクトをユーザに提供する工程とを含む。1つまたは複数の実施形態においては、リッチ通信オブジェクトは、テキスト、デジタル写真、デジタル・イメージ、ハイパーリンク、およびインタラクティブ・コントロールのうちの1つまたは複数を含む。さらに、方法500は、業者からの通信が受信された1つまたは複数の通信エンドポイントに基づいてリッチ通信オブジェクトをフォーマットする工程を含むことができる。
少なくとも1つの実施形態においては、方法500は、生成されたリッチ通信オブジェクトに応答して、業者に宛てられたユーザからの通信内容を受信する工程と、ユーザに関連付けられている生成された不透明トークンを識別する工程と、不透明トークンおよびユーザからの通信内容を業者に提供する工程とをさらに含む。いくつかの実施形態においては、業者とユーザとの間における通信を円滑に行う工程は、ソーシャル・ネットワーキング・システム通信アプリケーションを介して業者からユーザに通信内容を提供する工程と、ソーシャル・ネットワーキング・システムを介してユーザから業者に通信を提供する工程とを含む。そのケースにおいては、業者とユーザとの間における通信を円滑に行う工程は、専用のウェブ・アドレスを介してユーザに宛てられた業者からの通信内容を受信する工程をさらに含むことができる。
本開示の実施形態では、以下に詳述する通り、たとえば1つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の発明の範囲内の実施形態には、コンピュータ実行可能な命令および/またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。とりわけ、本明細書に記載のプロセスのうちの1つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、1つまたは複数のコンピューティング・デバイス(たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか)により実行可能な命令として、その少なくとも一部が実装されていてもよい。一般的には、プロセッサ(たとえば、マイクロプロセッサ)が非一時的コンピュータ可読媒体(たとえば、メモリ等)から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの1つまたは複数等、1つまたは複数のプロセスを実行する。
コンピュータ可読媒体としては、汎用または専用コンピュータ・システムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体(デバイス)である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体(デバイス)および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
非一時的コンピュータ可読記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD−ROM、固体ドライブ(「SSD」)(たとえば、RAMベース)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
「ネットワーク」は、コンピュータ・システムおよび/またはモジュールおよび/または他の電子機器間で電子データを伝送可能な1つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせ)上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび/またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
さらに、コンピュータ・システムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体(デバイス)へと自動的に転送可能である(その逆も可能である)。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインタフェースモジュール(たとえば、「NIC」)内のRAMにバッファリングした後、最終的には、コンピュータ・システムRAMおよび/またはコンピュータ・システムにおける低揮発性コンピュータ記憶媒体(デバイス)に転送可能である。したがって、非一時的コンピュータ可読記憶媒体(デバイス)は、伝送媒体も(または、主として)利用するコンピュータ・システムの構成要素に含み得ることが了解されるものとする。
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の実施形態の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および/または方法論的動作に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または動作に限定されないことが了解されるものとする。むしろ、上記特徴および動作は、特許請求の範囲を実施する例示的な形態として開示している。
当業者であれば、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、PDA,タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータ・システム構成のネットワークコンピュータ環境において本開示が実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて(有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより)リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータ・システムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本記載において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速に開設可能であるとともに、わずかな管理労力またはサービス・プロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア(「SaaS」)、サービス型プラットフォーム(「PaaS」)、およびサービス型インフラ(「IaaS」)等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
図6は、上述のプロセスのうちの1つまたは複数を実行するように構成できる例示的なコンピューティング・デバイス600のブロック図を示している。データコンピューティング・デバイス600などの1つまたは複数のコンピューティング・デバイスが支払システム100aを実装することが理解される。図6に示すように、コンピューティング・デバイス600は、通信インフラ612によって通信されるように結合されている、プロセッサ602、メモリ604、ストレージデバイス606、I/Oインタフェース608、および通信インタフェース610を備える。図6には、例示的なコンピューティング・デバイス600を示しているが、図6に示す構成要素は、何ら限定を意図したものではない。他の実施形態においては、付加的または代替的な構成要素を使用するようにしてもよい。さらに、特定の実施形態において、コンピューティング・デバイス600は、図6よりも少ない構成要素を備える。以下、図6に示すコンピューティング・デバイス600の構成要素について、さらに詳しく説明する。
1つまたは複数の実施形態において、プロセッサ602は、コンピュータ・プログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ602は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ604、またはストレージデバイス606から命令を取り出す(または、フェッチする)とともに、上記命令を復号化して実行するようにしてもよい。1つまたは複数の実施形態において、プロセッサ602は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ602は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーション・ルックアサイド・バッファ(TLB)を備えてもよい。命令キャッシュ中の命令は、メモリ604またはストレージ606中の命令のコピーであってもよい。
メモリ604は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ604は、ランダムアクセスメモリ(「RAM」)、リードオンリーメモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、相変化メモリ(「PCM」)、または他の種類のデータ・ストレージ等、揮発性および不揮発性メモリのうちの1つまたは複数を備えていてもよい。また、メモリ604は、内部メモリであってもよいし、分散メモリであってもよい。
ストレージデバイス606は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス606は、上述の非一時的記憶媒体を備える。ストレージデバイス606としては、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組み合わせが挙げられる。ストレージデバイス606は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外し可能ででない(すなわち、固定)媒体を備えていてもよい。ストレージデバイス606は、コンピューティング・デバイス600の内部であってもよいし、外部であってもよい。1つまたは複数の実施形態において、ストレージデバイス606は、不揮発性の固体メモリである。他の実施形態において、ストレージデバイス606は、リードオンリーメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、フラッシュメモリ、またはこれらのうちの2つ以上の組み合わせであってもよい。
I/Oインタフェース608によって、ユーザが、入力を提供し、出力を受け取り、あるいはコンピューティング・デバイス600に対してデータを転送しデータを受け取ることを可能にする。これらのI/Oインタフェース608は、マウス、キーパッドもしくはキーボード、タッチ・スクリーン、カメラ、光学スキャナ、ネットワーク・インタフェース、モデル、その他既知のI/Oデバイス、またはこのようなI/Oデバイス/インタフェースの組み合わせを含む。I/Oインタフェース608は、出力をユーザに提示する1つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ(たとえば、表示画面)、1つまたは複数の出力ドライバ(たとえば、ディスプレイドライバ)、1つまたは複数の音声スピーカ、および1つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、I/Oインタフェース608は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る1つもしくは複数のグラフィカル・ユーザ・インタフェースおよび/またはその他任意のグラフィックコンテンツを代表するものであってもよい。
通信インタフェース610は、ハードウェア、ソフトウェア、または両者を含み得る。いかなる場合でも、通信インタフェース610は、コンピューティング・デバイスと1つもしくは複数の他のコンピューティング・デバイス600またはネットワークとの間の通信(たとえば、パケットベースの通信等)のための1つまたは複数のインタフェースを提供可能である。非限定的な一例として、通信インタフェース610としては、イーサネット(登録商標)等の有線ネットワークと連通するネットワークインタフェースコントローラ(NIC)もしくはネットワークアダプタまたはWi−Fi等の無線ネットワークと連通する無線NIC(WNIC)もしくは無線アダプタが挙げられる。
加えて、または、代替として、通信インタフェース610は、アドホック・ネットワーク、パーソナルエリアネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの1つもしくは複数の部分、またはこれらのうちの2つ以上の組み合わせと通信を行わせる。これらネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インタフェース610は、無線PAN(WPAN)(たとえば、Bluetooth(登録商標)WPAN等)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(たとえば、汎欧州デジタル移動電話通信(GSM(登録商標))ネットワーク等)、他の適当な無線ネットワーク、またはこれらの組み合わせと通信を行わせる。
加えて、通信インタフェース610は、通信さまざまな通信プロトコルを促進し得る。使用され得る通信プロトコルの例としては、限定されるものではないが、データ伝送媒体、通信デバイス、伝送制御プロトコル(「TCP」)、インターネット・プロトコル(「IP」)、ファイル転送プロトコル(「FTP」)、Telnet、Hypertext Transfer Protocol(「HTTP」)、Hypertext Transfer Protocol Secure(「HTTPS」)、セッション開始プロトコル(「SIP」)、Simple Object Access Protocol(「SOAP」)、拡張マークアップ言語(「XML」)およびその変種、簡易メール転送プロトコル(「SMTP」)、リアルタイム転送プロトコル(「RTP」)、ユーザ・データグラム・プロトコル(「UDP」)、Global System for Mobile Communications(「GSM」)技術、符号分割多元接続(「CDMA」)技術、時分割多元接続(「TDMA」)技術、ショート・メッセージ・サービス(「SMS」)、マルチメディア・メッセージ・サービス(「MMS」)、無線周波数(「RF」)シグナリング技術、Long Term Evolution(「LTE」)技術、無線通信技術、帯域内シグナリング技術および帯域外シグナリング技術、ならびに他の適切な通信ネットワークおよび技術がある。
通信インフラ612は、コンピューティング・デバイス600の構成要素を互いに結合するハードウェア、ソフトウェア、または両者を備える。非限定的な一例として、通信インフラ612は、アクセラレイテッドグラフィックスポート(AGP)等のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、ロウピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス標準協会ローカル(VLB)バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
上述のように、システム100は、ソーシャル・ネットワーキング・システムを備える。ソーシャル・ネットワーキング・システムによれば、そのユーザ(人または組織等)は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を行わせるサービス(たとえば、ポスト、写真共有、イベント統合、メッセージング、ゲーム、または広告)を提供するようにしてもよい。
ソーシャル・ネットワーキング・システムは、複数のノードおよび複数のノードを接続する複数のエッジを含むソーシャル・グラフにおけるユーザの記録およびユーザ間の関係を格納することができる。ノードは、複数のユーザ・ノードおよび複数のコンセプトノードを含むことができる。ソーシャル・グラフのユーザ・ノードは、ソーシャル・ネットワーキング・システムのユーザに対応することができる。ユーザは、個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、または第三者のアプリケーション)、またはグループ(例えば、個人またはエンティティ)であってもよい。ユーザに対応するユーザ・ノードは、ユーザによって提供される情報と、ソーシャル・ネットワーキング・システムを含む様々なシステムによって収集された情報とを含むことができる。
例えば、ユーザは、ユーザ・ノードに含まれるべき自分の名前、プロフィール画像、住居都市、連絡先情報、生年月日、性別、婚姻状態、家族状況、雇用、教育背景、嗜好、興味、および他の人口統計情報を提供し得る。ソーシャル・グラフの各ユーザ・ノードは、対応するウェブページ(典型的にはプロファイル・ページとして知られている)を有することができる。ソーシャル・ネットワーキング・システムは、ユーザ名を含む要求に応答して、ユーザ名に対応するユーザ・ノードにアクセスし、そのユーザ名、プロフィール画像、およびユーザに関連する他の情報を含むプロファイル・ページを構築することができる。第1のユーザのプロファイル・ページは、第1のユーザによる1つまたは複数のプライバシー設定および第1のユーザと第2のユーザとの間の関係に基づいて、第1のユーザの情報のすべてまたは一部を第2のユーザに表示することができる。
コンセプトノードは、ソーシャル・ネットワーキング・システムのコンセプトに対応することができる。例えば、コンセプトは、映画、歌、スポーツ・チーム、有名人、グループ、レストラン、または場所または位置などの実世界のエンティティを表すことができる。コンセプトに対応するコンセプトノードの管理ユーザは、コンセプトの情報を提供することによって(例えば、オンライン・フォームに記入することによって)コンセプトノードを作成または更新し、ソーシャル・ネットワーキング・システムに情報をコンセプトノードと関連付けさせる。例えば、限定ではないが、コンセプトに関連する情報は、名前またはタイトル、1つまたは複数の画像(例えば、本のカバーページの画像)、ウェブサイト(例えば、URLアドレス)または連絡先情報(電話番号、電子メールアドレスなど)を含むことができる。ソーシャル・グラフの各コンセプトノードは、ウェブページに対応し得る。例えば、名前を含む要求に応答して、ソーシャル・ネットワーキング・システムは、名前に対応するコンセプトノードにアクセスし、そのコンセプトに関連付けられた名前および他の情報を含むウェブページを構築することができる。
一対のノード間のエッジは、一対のノード間の関係を表すことができる。例えば、2つのユーザ・ノード間のエッジは、2人のユーザ間の友好関係を表すことができる。別の例として、ソーシャル・ネットワーキング・システムは、1つまたは複数の選択可能なオプションまたは選択可能な要素(例えば、「いいね」、「チェックイン」)をウェブページに挿入した、コンセプトノード(例えば、レストラン、有名人)のウェブページ(または構造化文書)を構築する。ユーザは、ユーザのクライアント・デバイスによってホストされるウェブ・ブラウザを使用してページにアクセスし、選択可能なオプションまたは選択可能な要素を選択し、クライアント・デバイスに、ユーザのユーザ・ノードとコンセプトのコンセプトノードとの間にユーザとコンセプトとの間の関係(例えば、ユーザがレストランにチェックインしたこと、またはユーザが有名人に対して「いいね」を表明したこと)を示すエッジを作成するための要求をソーシャル・ネットワーキング・システムに送信させる。
一例として、ユーザは、自分の都市を提供(または変更)して、ソーシャル・ネットワーキング・システムに、ユーザに対応するユーザ・ノードと、ユーザが自身の住居都市として宣言した都市に対応するコンセプトノードとの間にエッジを作成させることができる。さらに、任意の2つのノード間の隔たり次数は、あるノードから別のノードにソーシャル・グラフを横断するために必要とされるホップの最小数として定義される。2つのノード間の隔たり次数は、ソーシャル・グラフ内の2つのノードによって表されるユーザまたはコンセプト間の関連性の尺度と考えることができる。例えば、エッジによって直接接続されている(すなわち、1次ノードである)ユーザ・ノードを有する二人のユーザは、「接続されたユーザ」または「友人」として記述され得る。同様に、別のユーザ・ノード(すなわち、2次ノードである)を介してのみ接続されたユーザ・ノードを有する二人のユーザは、「友人の友人」と記述され得る。
ソーシャル・ネットワーキング・システムは、写真共有、オンライン・カレンダーおよびイベント、ゲーム、インスタントメッセージング、および広告などの様々なアプリケーションをサポートすることができる。例えば、ソーシャル・ネットワーキング・システムは、メディア共有機能を含むこともできる。また、ソーシャル・ネットワーキング・システムは、ユーザが写真および他のマルチメディア・コンテンツ・アイテムをユーザのプロフィールページ(典型的には「壁のポスト」または「タイムラインのポスト」として知られている)またはフォト・アルバムにポストすることを可能にする。ソーシャル・ネットワーキング・システムの他のユーザは、ユーザの設定されたプライバシー設定に依存する。ソーシャル・ネットワーキング・システムは、ユーザがイベントを構成することができるようにすることもできる。例えば、第1のユーザは、イベントの時間および日付、イベントの位置、およびイベントに招待された他のユーザを含む属性を有するイベントを構成することができる。招待されたユーザは、イベントへの招待状を受信して応答することができる(招待を受け入れるか、または辞退するなど)。さらに、ソーシャル・ネットワーキング・システムは、ユーザがパーソナルカレンダーを維持することを可能にする。イベントと同様に、カレンダー項目には、他のユーザの時刻、日付、場所、IDを含み得る。
図7は、ソーシャル・ネットワーキング・システムの例となるネットワーク環境700を例示する。ネットワーク環境700は、ネットワーク704によって互いに接続された、クライアント・デバイス706と、ソーシャル・ネットワーキング・システム702と、サードパーティ・システム708とを含む。図7は、クライアント・デバイス706、ソーシャル・ネットワーキング・システム702、サードパーティ・システム708、およびネットワーク704の特定の構成を例示しているが、この開示は、クライアント・デバイス706、ソーシャル・ネットワーキング・システム702、サードパーティ・システム708、およびネットワーク704の任意の適切な構成を企図したものである。限定としてではなく、一例として、クライアント・デバイス706、ソーシャル・ネットワーキング・システム702、およびサードパーティ・システム708のうちの2つ以上が、ネットワーク704をバイパスして、直接的に互いに接続されてもよい。別の例として、クライアント・デバイス706、ソーシャル・ネットワーキング・システム702、およびサードパーティ・システム708のうちの2つ以上が、全体的にまたは部分的に互いと物理的または論理的に共同設置されてもよい。さらに、図7は、特定の数のクライアント・デバイス706、ソーシャル・ネットワーキング・システム702、サードパーティ・システム708、およびネットワーク704を例示しているが、この開示は、任意の適切な数のクライアント・デバイス706、ソーシャル・ネットワーキング・システム702、サードパーティ・システム708、およびネットワーク704を企図したものである。限定としてではなく、一例として、ネットワーク環境700は、複数のクライアント・デバイス706と、ソーシャル・ネットワーキング・システム702と、サードパーティ・システム708と、ネットワーク704とを含んでよい。
本開示は、任意の適切なネットワーク704を企図したものである。限定としてではなく、一例として、ネットワーク704の1つまたは複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つ以上の組み合わせを含んでよい。ネットワーク704は、1つまたは複数のネットワーク704を含み得る。
リンクは、クライアント・デバイス706、ソーシャル・ネットワーキング・システム702、およびサードパーティ・システム708を通信ネットワーク704に対して、または互いに対して接続し得る。本開示は、任意の適切なリンクを企図したものである。特定の実施形態では、1つまたは複数のリンクとしては、1つまたは複数のワイヤライン・リンク(たとえば、デジタル加入者線(DSL)またはData Over Cable Service Interface Specification(DOCSIS)など)、無線リンク(たとえば、Wi−FiまたはWorldwide Interoperability for Microwave Access(WiMAX)など)、または光リンク(たとえば、同期型光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)がある。特定の実施形態では、1つまたは複数のリンクは各々、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク、または2つ以上のそのようなリンクの組み合わせを含む。リンクは、必ずしもネットワーク環境700全体を通じて同じである必要はない。1つまたは複数の第1のリンクは、1つまたは複数の点において、1つまたは複数の第2のリンクと異なってよい。
特定の実施形態では、クライアント・デバイス706は、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、または2つ以上のそのような構成要素の組み合わせを含み、クライアント・デバイス706によって実施またはサポートされる適切な機能を実行することが可能な電子デバイスであってよい。限定としてではなく、一例として、クライアント・デバイス706は、デスクトップ・コンピュータ、ノートブックまたはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータ、電子書籍リーダー、GPSデバイス、カメラ、パーソナルデジタルアシスタント(PDA)、ハンドヘルド電子デバイス、携帯電話、スマート・フォン、他の適切な電子デバイス、またはそれらの任意の適切な組み合わせを含む。本拝辞は、任意の適切なクライアント・デバイス706を想定する。クライアント・デバイス706は、クライアント・デバイス706におけるネットワーク・ユーザがネットワーク704にアクセスすることを可能にし得る。クライアント・デバイス706は、そのユーザが他のクライアント・デバイス706における他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアント・デバイス706は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA
FIREFOXなどのウェブ・ブラウザを含んでよく、1つまたは複数のアドオン、プラグイン、またはツールバーもしくはYAHOOツールバーなどの他の拡張機能を有してもよい。クライアント・デバイス706におけるユーザは、ユニフォーム・リソース・ロケータ(URL)またはウェブ・ブラウザを特定のサーバ(サーバ、またはサードパーティ・システム708に関連付けられているサーバなど)に対して宛てる他のアドレスを入力してよく、ウェブ・ブラウザは、ハイパーテキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに対して通信し得る。サーバは、HTTP要求を受け入れ、HTTP要求に応答して1つまたは複数のハイパーテキスト・マークアップ言語(HTML)ファイルをクライアント・デバイス706に対して通信し得る。クライアント・デバイス706は、ユーザに対する提示のために、サーバからのHTMLファイルに基づいてウェブページをレンダリングし得る。本開示は、任意の適切なウェブページ・ファイルを企図したものである。限定としてではなく、一例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングし得る。そのようなページはまた、たとえば、限定されるものではないが、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで記述されたスクリプトなどのスクリプト、AJAX(非同期JAVASCRIPTおよびXML)などのマークアップ言語とスクリプトの組み合わせなどを実行し得る。本明細書では、ウェブページに対する参照は、適切な場合、1つまたは複数の対応するウェブページ・ファイル(ブラウザがウェブページをレンダリングするために使用し得る)を包含し、逆も同様である。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、オンライン・ソーシャル・ネットワークをホストする、ネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム702は、たとえばユーザプロファイル・データ、コンセプトプロファイル・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の適切なデータなどのソーシャルネットワーキング・データを生成、記憶、受信、および送信し得る。ソーシャル・ネットワーキング・システム702は、直接的に、またはネットワーク704を介して、のどちらかで、ネットワーク環境700の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、1つまたは複数のサーバを含み得る。各サーバは、単体サーバであってもよいし、複数のコンピュータまたは複数のデータセンタにまたがる分散サーバであってもよい。サーバは、たとえば限定されるものではないが、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書で説明される機能もしくはプロセスを実行するのに適した別のサーバ、またはそれらの任意の組み合わせなどの、さまざまなタイプであってよい。特定の実施形態では、各サーバは、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、またはサーバによって実施もしくはサポートされる適切な機能を実行するための2つ以上そのような構成要素の組み合わせを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、1つまたは複数のデータ・ストアを含み得る。データ・ストアは、さまざまなタイプの情報を記憶するために使用され得る。特定の実施形態では、データ・ストア内に記憶される情報は、具体的なデータ構造に従って編成され得る。特定の実施形態では、各データ・ストアは、リレーショナル・データベース、カラムナ・データベース、相関データベース、または他の適切なデータベースであってよい。本開示は特定のタイプのデータベースを説明または例示しているが、本開示は、任意の適切なタイプのデータベースを企図するものである。特定の実施形態は、クライアント・デバイス706、ソーシャル・ネットワーキング・システム702、またはサードパーティ・システム708がデータ・ストア内に記憶された情報を管理する、取り出す、修正する、追加するか、または削除することを可能にするインタフェースを提供し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャル・グラフを記憶し得る。特定の実施形態では、ソーシャル・グラフは、複数のユーザ・ノード(各々が特定のユーザに対応する)または複数のコンセプトノード(各々が特定のコンセプトに対応する)を含み得る複数のノードと、ノードを接続する複数のエッジを含み得る。ソーシャル・ネットワーキング・システム702は、オンライン・ソーシャル・ネットワークのユーザに、他のユーザと通信および対話できることを提供し得る。特定の実施形態では、ユーザは、ソーシャル・ネットワーキング・システム702を介してオンライン・ソーシャル・ネットワークに加わり、次いで、ユーザが接続されたいソーシャル・ネットワーキング・システム702の何人かの他のユーザに対して接続(たとえば、関係)を追加し得る。本明細書では、「友人」という用語は、ユーザがソーシャル・ネットワーキング・システム702を介して接続、関連付け、または関係を形成した、ソーシャル・ネットワーキング・システム702の他の任意のユーザを指し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ソーシャル・ネットワーキング・システム702によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに対してアクションをとることをユーザに提供し得る。限定としてではなく、一例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム702のユーザが属し得るグループもしくはソーシャル・ネットワーク、ユーザが興味を抱き得るイベントもしくはカレンダー記載事項、ユーザが使用し得るコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売し得る取引、ユーザが実行し得る広告との対話、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャル・ネットワーキング・システム702内で、またはサードパーティ・システム708の外部システムによって表されることが可能なものと対話し得、サードパーティ・システム708は、ソーシャル・ネットワーキング・システム702とは別個であり、ネットワーク704を介してソーシャル・ネットワーキング・システム702に結合される。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、さまざまなエンティティをリンクすることが可能であり得る。限定としてではなく、一例として、ソーシャル・ネットワーキング・システム702は、ユーザが、互いと対話し、ならびにサードパーティ・システム708もしくは他のエンティティからコンテンツを受信するか、またはユーザが、アプリケーション・プログラミング・インタフェース(API)もしくは他の通信チャネルを通して、これらのエンティティと対話できることを可能にし得る。
特定の実施形態では、サードパーティ・システム708は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、限定されるものではないがAPIを含む1つもしくは複数のインタフェース、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または、たとえばサーバが通信し得る他の任意の適切な構成要素であり得る。サードパーティ・システム708は、ソーシャル・ネットワーキング・システム702を運用するエンティティからの異なるエンティティによって運用され得る。しかしながら、特定の実施形態では、ソーシャル・ネットワーキング・システム702およびサードパーティ・システム708は、ソーシャル・ネットワーキング・システム702またはサードパーティ・システム708のユーザにソーシャルネットワーキング・サービスを提供するために互いに運用し得る。この意味で、ソーシャル・ネットワーキング・システム702は、サードパーティ・システム708などの他のシステムがインターネット全体にわたってソーシャルネットワーキング・サービスおよび機能をユーザに対して提供するために使用し得るプラットフォームすなわちバックボーンを提供し得る。
特定の実施形態では、サードパーティ・システム708は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含み得る。サードパーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・デバイス706に対して通信され得るコンテンツ・オブジェクトの1つまたは複数のソースを含み得る。限定としてではなく、一例として、コンテンツ・オブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の適切な情報などの、ユーザの興味を引く物事またはアクティビティに関する情報を含み得る。限定としてではなく、別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、商品券、または他の適切な報償となるオブジェクトなどの、報償となるコンテンツ・オブジェクトを含み得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ソーシャル・ネットワーキング・システム702とのユーザの対話を向上させ得る、ユーザにより生成されたコンテンツ・オブジェクトも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム702に対して追加、アップロード、送信、または「ポストする」ものを含み得る。限定としてではなく、一例として、ユーザが、クライアント・デバイス706からソーシャル・ネットワーキング・システム702に対してポストを通信する。ポストとしては、ステータス更新もしくは他のテキスト・データ、ロケーション情報、フォト、映像、リンク、音楽、または他の類似のデータもしくはメディアなどのデータがあり得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を介して、サードパーティによってソーシャル・ネットワーキング・システム702に対して追加され得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、さまざまなサーバと、サブシステムと、プログラムと、モジュールと、ログと、データ・ストアとを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類器、通知コントローラ、アクション・ログ、サードパーティコンテンツ・オブジェクト公開(exposure)ログ、推測モジュール、許可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロファイル・ストア、接続ストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含んでよい。ソーシャル・ネットワーキング・システム702は、ネットワーク・インタフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、他の適切な構成要素、またはそれらの任意の適切な組み合わせなどの、適切な構成要素も含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ユーザ・プロファイルを記憶するための1つまたは複数のユーザプロファイル・ストアを含んでよい。ユーザ・プロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、社会情報、または職歴、学歴、趣味もしくは好み、興味、親密度、もしくはロケーションなどの他のタイプの記述情報を含み得る。興味情報は、1つまたは複数のカテゴリーに関係する興味を含み得る。カテゴリーは、汎用的であってもよいし、具体的であってもよい。限定としてではなく、一例として、ユーザが、靴のブランドについての記事に対して「いいね」を表明した場合、そのカテゴリーはブランドであってもよいし、「靴」または「衣類」という汎用的なカテゴリーであってもよい。接続ストアは、ユーザについての接続情報を記憶するために使用され得る。接続情報は、類似もしくは共通の職歴、グループ会員資格、趣味、学歴を有するか、または、いかなる形であれ関係する、もしくは共通属性を共有するユーザを示してもよい。接続情報は、異なるユーザとコンテンツ(内部と外部の両方)との間の、ユーザにより定義された接続も含み得る。ウェブ・サーバは、ネットワーク704を介して1つもしくは複数のクライアント・デバイス706または1つもしくは複数のサードパーティ・システム708に対してソーシャル・ネットワーキング・システム702をリンクするために使用され得る。ウェブ・サーバは、ソーシャル・ネットワーキング・システム702と1つまたは複数のクライアント・デバイス706との間でメッセージを受信およびルーティングするためのメール・サーバまたは他のメッセージング機能を含んでよい。API要求サーバは、サードパーティ・システム708が、1つまたは複数のAPIを呼び出すことによって、ソーシャル・ネットワーキング・システム702からの情報にアクセスすることを可能にし得る。アクション・ロガーは、ソーシャル・ネットワーキング・システム702上またはそれ以外の場所でのユーザのアクションについてウェブ・サーバから通信を受信するために使用され得る。アクション・ログとともに、サードパーティコンテンツ・オブジェクトに対するユーザ公開のサードパーティコンテンツオブジェクト・ログが維持され得る。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・デバイス706に対して提供し得る。情報は、通知としてクライアント・デバイス706に対してプッシュされてもよいし、情報は、クライアント・デバイス706から受信された要求に応答してクライアント・デバイス706からプルされてもよい。許可サーバは、ソーシャル・ネットワーキング・システム702のユーザの1つまたは複数のプライバシー設定を強制するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有可能であるかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、アクションをソーシャル・ネットワーキング・システム702によってログさせること、または他のシステム(たとえば、サードパーティ・システム708)とともに共有させることに加わる、または加わらない(opt in to or opt out of)ことを可能にする。サードパーティコンテンツオブジェクト・ストアは、サードパーティ・システム708などのサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用され得る。ロケーション・ストアは、ユーザに関連付けられているクライアント・デバイス706から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、社会情報、現在の時間、ロケーション情報、または他の適切な情報を組み合わせて、通知の形で関係のある広告をユーザに対して提供し得る。
図8は、例となるソーシャル・グラフ800を例示する。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャル・グラフ800を記憶し得る。特定の実施形態では、ソーシャル・グラフ800は、複数のユーザ・ノード802または複数のコンセプトノード804を含み得る複数のノードと、ノードを接続する複数のエッジ806とを含み得る。図8に例示される例となるソーシャル・グラフ800は、教説的な目的で、2次元の視覚的なマップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム702、クライアント・デバイス706、またはサードパーティ・システム708は、適切なアプリケーションのためのソーシャル・グラフ800および関係するソーシャル・グラフ情報にアクセスし得る。ソーシャル・グラフ800のノードおよびエッジは、たとえば、データ・ストア(ソーシャル・グラフ・データベースなど)内に、データ・オブジェクトとして記憶され得る。そのようなデータ・ストアは、ソーシャル・グラフ800のノードまたはエッジの1つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
特定の実施形態では、ユーザ・ノード802は、ソーシャル・ネットワーキング・システム702のユーザに対応し得る。限定としてではなく、一例として、ユーザは、ソーシャル・ネットワーキング・システム702と、またはその上で対話または通信する、個人(人間ユーザ)、エンティティ(たとえば、企業、会社、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであってよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム702に口座を登録するとき、ソーシャル・ネットワーキング・システム702は、ユーザに対応するユーザ・ノード802を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード802を記憶し得る。本明細書で説明されるユーザおよびユーザ・ノード802は、適切な場合には、登録されたユーザと、登録されたユーザに関連付けられているユーザ・ノード802を指し得る。加えて、または代替として、本明細書で説明されるユーザおよびユーザ・ノード802は、適切な場合には、ソーシャル・ネットワーキング・システム702に登録されていないユーザを指し得る。特定の実施形態では、ユーザ・ノード802は、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム702を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、ユーザは、自分の名前、プロファイル・ピクチャ、連絡先情報、誕生日、性別、配偶者の有無、家族構成、職業、学歴、好み、興味、または他の人口統計学的情報を提供し得る。特定の実施形態では、ユーザ・ノード802は、ユーザに関連する情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられてもよい。特定の実施形態では、ユーザ・ノード802は、1つ以上のウェブページに対応してもよい。
特定の実施形態では、コンセプトノード804はコンセプトに対応し得る。限定としてではなく、一例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャル・ネットワーク・システム802に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサード・パーティ・ウェブサイトなど)、エンティティ(たとえば、人物、会社、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャル・ネットワーキング・システム702の中もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置され得るリソース(たとえば、オーディオ・ファイル、映像ファイル、デジタル・フォト、テキスト・ファイル、構造化文書、もしくはアプリケーションなど)、物的財産もしくは知的財産(たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著書など)、ゲーム、アクティビティ、アイデア、もしくは理論、別の適切なコンセプト、または2つ以上のそのようなコンセプトに対応し得る。コンセプトノード804は、ユーザによって提供されるコンセプトの情報、またはソーシャル・ネットワーキング・システム702を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、コンセプトの情報としては、名前もしくはタイトル、1つもしくは複数の画像(たとえば、本のカバー・ページの画像)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられ得る)、連絡先情報(たとえば、電話番号もしくは電子メール・アドレス)、他の適切なコンセプト情報、またはそのような情報の任意の適切な組み合わせがあり得る。特定の実施形態では、コンセプトノード804は、コンセプトノード804に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態では、コンセプトノード804は、1つまたは複数のウェブページに対応し得る。
特定の実施形態では、ソーシャル・グラフ800内のノードは、ウェブページ(「プロファイル・ページ」と呼ばれることがある)を表してもよいし、これによって表されてもよい。プロファイル・ページは、ソーシャル・ネットワーキング・システム702によってホストされてもよいし、これに対してアクセス可能であってもよい。プロファイル・ページはまた、サードパーティ・サーバ708に関連付けられているサード・パーティ・ウェブサイト上にホストされ得る。限定としてではなく、一例として、特定の外部のウェブページに対応するプロファイル・ページは特定の外部ウェブページであってよく、プロファイル・ページは特定のコンセプトノード804に対応し得る。プロファイル・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧することができてよい。限定としてではなく、一例として、ユーザ・ノード802は、対応するユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応するユーザプロファイル・ページを有し得る。限定としてではなく、別の例として、コンセプトノード804は、特にコンセプトノード804に対応するコンセプトに関係して1つまたは複数のユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応するコンセプトプロファイル・ページを有し得る。
特定の実施形態では、コンセプトノード804は、サードパーティ・システム708によってホストされるサードパーティ・ウェブページまたはリソースを表し得る。サードパーティ・ウェブページまたはリソースは、要素の中でもとりわけ、アクションまたはアクティビティを表すコンテンツ、選択可能なアイコンもしくは他のアイコン、または他の対話可能なオブジェクト(たとえば、JavaScriptコード、AJAXコード、またはPHPコードで実装され得る)を含んでよい。限定としてではなく、一例として、サードパーティ・ウェブページは、「いいね」、「チェックイン」、「食べる」、「推奨」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含み得る。サードパーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(たとえば、「食べる」)を選択し、クライアント・デバイス706に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム702に対して送信させることによって、アクションを実行し得る。メッセージに応答して、ソーシャル・ネットワーキング・システム702は、ユーザに対応するユーザ・ノード802とサードパーティ・ウェブページまたはリソースに対応するコンセプトノード804との間にエッジ(たとえば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ806を記憶し得る。
特定の実施形態では、ソーシャル・グラフ800内のノードのペアは、1つまたは複数のエッジ806によって互いに接続され得る。ノードのペアを接続するエッジ806は、ノードのペアの間の関係を表し得る。特定の実施形態では、エッジ806は、ノードのペアの間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含み得るか、またはこれを表し得る。限定としてではなく、一例として、第1のユーザは、第2のユーザが第1のユーザの「友人」であることを示し得る。このインディケーションに応答して、ソーシャル・ネットワーキング・システム702は、第2のユーザに対して「友人要求」を送信し得る。第2のユーザが「友人要求」を確認する場合、ソーシャル・ネットワーキング・システム702は、ソーシャル・グラフ800内の第1のユーザのユーザ・ノード802を第2のユーザのユーザ・ノード802に対して接続するエッジ806を作成し、エッジ806をソーシャル・グラフ情報としてデータ・ストアのうちの1つまたは複数に記憶し得る。図8の例では、ソーシャル・グラフ800は、ユーザ「A」とユーザ「B」のユーザ・ノード802間の友人関係を示すエッジ806と、ユーザ「C」とユーザ「B」のユーザ・ノード802間の友人関係を示すエッジとを含む。本開示は、特定のユーザ・ノード802を接続する、特定の属性を有する特定のエッジ806を説明または例示しているが、本開示は、ユーザ・ノード802を接続する、任意の適切な属性を有する任意の適切なエッジ806を企図するものである。限定としてではなく、一例として、エッジ806は、友人関係、家族関係、ビジネスすなわち雇用関係、ファン関係、フォロワー関係、ビジター関係、購読者関係、上下関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表し得る。さらに、本開示は一般に、ノードを、接続されていると説明しているが、本開示は、ユーザまたはコンセプトも、接続されていると説明する。本明細書では、接続されているユーザまたはコンセプトへの参照は、適切な場合には、ソーシャル・グラフ800内で1つまたは複数のエッジ806によって接続されているそれらのユーザまたはコンセプトに対応するノードに及ぶ。
特定の実施形態では、ユーザ・ノード802とコンセプトノード804との間のエッジ806は、コンセプトノード804に関連付けられているコンセプトのためにユーザ・ノード802に関連付けられているユーザによって実行される特定のアクションまたはアクティビティを表し得る。限定としてではなく、一例として、図8に例示されるように、ユーザは、コンセプトに対して「いいね」を表明し、「通学した」、「プレイした」、「聞いた」、「料理した」、「働いた」、またはコンセプトを「見た」とする。その各々は、エッジ・タイプまたはサブタイプに対応し得る。コンセプトノード804に対応するコンセプトプロファイル・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含んでよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム702は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成してもよい。限定としてではなく、別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の歌(「ランブル・オン」)を聞くことがある。この場合、ソーシャル・ネットワーキング・システム702は、ユーザがその歌を聞き、そのアプリケーションを使用したことを示すため、にユーザに対応するユーザ・ノード802と歌およびアプリケーションに対応するコンセプトノード804との間に「聞いた」エッジ806および「使用した」エッジ(図8に例示される)を作成し得る。さらに、ソーシャル・ネットワーキング・システム702は、特定の歌が特定のアプリケーションによってプレイ(再生)されたことを示すために、歌およびアプリケーションに対応するコンセプトノード804間に「プレイした」エッジ806(図8に例示される)を作成し得る。この場合、「プレイした」エッジ806は、外部オーディオ・ファイル(歌「イマジン」)に対して外部アプリケーション(SPOTIFY)によって実行されるアクションに対応する。本開示は、ユーザ・ノード802およびコンセプトノード804を接続する、特定の属性を有する特定のエッジ806を説明しているが、本開示は、ユーザ・ノード802およびコンセプトノード804を接続する、任意の適切な属性を有する任意の適切なエッジ806を企図するものである。そのうえ、本開示は、単一の関係を表す、ユーザ・ノード802とコンセプトノード804との間のエッジを説明しているが、本開示は、1つまたは複数の関係を表す、ユーザ・ノード802とコンセプトノード804との間のエッジを企図する。限定としてではなく、一例として、エッジ806は、ユーザが特定のコンセプトに対して「いいね」を表明したことと、特定のコンセプトにおいて使用したことの両方を表し得る。代替的に、別のエッジ806は、ユーザ・ノード802とコンセプトノード804との間の各タイプの関係(または単一の関係の倍数)を表し得る(図8では、ユーザ「E」のユーザ・ノード802と「SPOTIFY」のコンセプトノード804との間に例示される)。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ソーシャル・グラフ800内のユーザ・ノード802とコンセプトノード804との間にエッジ806を作成し得る。限定としてではなく、一例として、(たとえば、ユーザのクライアント・デバイス706によってホストされるウェブ・ブラウザまたは特殊目的アプリケーションを使用することなどによって)コンセプトプロファイル・ページを閲覧するユーザは、自分はコンセプトノード804によって表されるコンセプトに対して「いいね」を表明したことを、「いいね」アイコンをクリックまたは選択することによって示し得、それは、ユーザはコンセプトプロファイル・ページに関連付けられているコンセプトに対して「いいね」を表明したことを示すメッセージをソーシャル・ネットワーキング・システム702に対して送信することをユーザのクライアント・デバイス706に行わせ得る。メッセージに応答して、ソーシャル・ネットワーキング・システム702は、ユーザとコンセプトノード804との間の「いいね」エッジ806によって例示されるように、ユーザに関連付けられているユーザ・ノード802とコンセプトノード804との間にエッジ806を作成し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、1つまたは複数のデータ・ストアにエッジ806を記憶し得る。特定の実施形態では、エッジ806は、特定のユーザ・アクションに応答して、ソーシャル・ネットワーキング・システム702によって自動的に形成され得る。限定としてではなく、一例として、第1のユーザがピクチャをアップロードする、映画を見る、または歌を聞く場合、エッジ806は、第1のユーザに対応するユーザ・ノード802とそれらのコンセプトに対応するコンセプトノード804との間に形成され得る。本開示は、特定の様式で特定のエッジ806を形成することを説明しているが、本開示は、任意の適切な様式で任意の適切なエッジ806を形成することを企図するものである。
特定の実施形態では、広告は、テキスト(HTMLリンクであってよい)、1つもしくは複数の画像(HTMLリンクであってよい)、1つもしくは複数の映像、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組み合わせ、または1つもしくは複数のウェブページ上で、1つもしくは複数の電子メール内で、もしくはユーザによって要求された検索結果に関係して、提示される任意の適切なデジタル・フォーマットの他の任意の適切な広告であってよい。加えて、または代替として、広告は、1つまたは複数のスポンサー付きストーリー(たとえば、ソーシャル・ネットワーキング・システム702上のニュースフィードまたはティッカー・アイテム)である。スポンサー付きストーリーは、たとえば、ソーシャル・アクションを、ユーザのプロファイル・ページまたは他のページの所定のエリア内に提示させる、広告主に関連付けられている追加の情報とともに提示させる、他のユーザのニュースフィードもしくはティッカー内で衝突させるもしくは別のやり方で目立たせる、または別のやり方でプロモーションさせることによって広告主がプロモーションする、ユーザによるソーシャル・アクション(ページに対して「いいね」を表明する、ページ上のポストに対して「いいね」を表明するもしくはコメントする、ページに関連付けられているイベントの出欠を返事する、ページ上でポストされた質問に関してポストする、ある場所にチェックインする、アプリケーションを使用するもしくはゲームをするか、またはウェブサイトを「リンク」もしくは共有するなど)であってよい。広告主は、ソーシャル・アクションをプロモーションさせるために支払うことがある。限定としてではなく、一例として、広告は検索結果ページの検索結果の間に含まれてよく、そこでは、スポンサー付きコンテンツは、スポンサー付きでないコンテンツよりもプロモーションされる。
特定の実施形態では、広告は、ソーシャル・ネットワーキング・システム・ウェブページ、サードパーティ・ウェブページ、または他のページ内での表示のために要求され得る。広告は、ページの上部のバナー・エリア内、ページの側部のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上部の上、またはページに関する他の場所などの、ページの専用部分内に表示され得る。加えて、または代替として、広告はアプリケーション内に表示され得る。広告は、専用ページ内に表示され、ユーザに、ユーザがページにアクセスするか、またはアプリケーションを利用する前に広告と対話するか、またはこれを見ることを要求し得る。ユーザは、たとえば、ウェブ・ブラウザを通して広告を閲覧してもよい。
ユーザは、任意の適切な様式で広告と対話してもよい。ユーザは、広告をクリックしてもよいし、または別のやり方で広告を選択してもよい。広告を選択することによって、ユーザは、広告に関連付けられているページ(または、ユーザによって使用されているブラウザもしくは他のアプリケーション)に対して向けられ得る。広告に関連付けられているページでは、ユーザは、広告に関連付けられている製品もしくはサービスを購入する、広告に関連付けられている情報を受信するか、または広告に関連付けられているニュースレターを購読するなどの、追加のアクションをとり得る。オーディオまたは映像を有する広告は、(「プレイ・ボタン」などの)広告の構成要素を選択することによってプレイされ得る。代替的に、広告を選択することによって、ソーシャル・ネットワーキング・システム702は、ユーザの特定のアクションを実行または修正し得る。
広告は、ユーザが対話し得るソーシャル・ネットワーキング・システム機能も含み得る。限定としてではなく、一例として、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するか、または別のやり方で広告を支持することを可能にし得る。限定としてではなく、別の例として、広告は、ユーザが、広告主に関連するコンテンツを(たとえば、クエリを実行することによって)検索することを可能にし得る。同様に、ユーザは、別のユーザと(たとえば、ソーシャル・ネットワーキング・システム702を通して)広告を共有し得、または広告に関連付けられているイベントの出欠を(たとえば、ソーシャル・ネットワーキング・システム702を通して)返事し得る。加えて、または代替として、広告は、ユーザに対して向けられたソーシャル・ネットワーキング・システム・コンテキストを含み得る。限定としてではなく、一例として、広告は、広告の主題に関連付けられているアクションをとった、ソーシャル・ネットワーキング・システム702内のユーザの友人についての情報を表示し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、互いに対するさまざまなソーシャル・グラフ・エンティティのソーシャル・グラフ親密度(本明細書では、「親密度」と呼ばれることがある)を決定し得る。親密度は、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは興味のレベルを表し得る。親密度は、サードパーティ・システム708または他の適切なシステムに関連付けられているオブジェクトに対しても決定され得る。各ユーザ、主題、またはコンテンツのタイプのためのソーシャル・グラフ・エンティティの全体的な親密度が確立され得る。全体的な親密度は、ソーシャル・グラフ・エンティティに関連付けられているアクションまたは関係の継続モニタリングに基づいて変化し得る。本開示は、特定の様式で特定の親密度を決定することを説明しているが、本開示は、任意の適切な様式で任意の適切な親密度を決定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、親密度係数(本明細書では、「係数」と呼ばれることがある)を使用してソーシャル・グラフ親密度を測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表すまたは定量化し得る。係数は、アクションにおけるユーザの興味に基づいてユーザが特定のアクションを実行する予測確率を測定する確率または機能も表し得る。このようにして、ユーザの将来のアクションは、ユーザの前のアクションに基づいて予測され得、係数は、少なくとも部分的にユーザのアクションの履歴が計算され得る。係数は、任意の数のアクションを予測するために使用され得、アクションは、オンライン・ソーシャル・ネットワーク内であってもよいし、オンライン・ソーシャル・ネットワークの外部であってもよい。限定としてではなく、一例として、これらのアクションは、メッセージを送信すること、コンテンツをポストすること、もしくはコンテンツに対してコメントすることなどのさまざまなタイプの通信、プロファイル・ページ、メディア、もしくは他の適切なコンテンツにアクセスもしくは閲覧するなどのさまざまなタイプの観察アクション、同じグループ内にある、同じ写真でタグ付けされている、同じロケーションにチェックインした、もしくは同じイベントに出席したなどの2つ以上のソーシャル・グラフ・エンティティについてのさまざまなタイプの一致情報、または他の適切なアクションを含み得る。本開示は、特定の様式で親密度を測定することを説明しているが、本開示は、任意の適切な様式で親密度を測定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、さまざまな因子を使用して係数を計算し得る。これらの因子としては、たとえば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせがあり得る。特定の実施形態では、異なる因子は、係数を計算するとき、異なるように重み付けされ得る。各因子の重みは静的であってもよいし、重みは、たとえば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどに応じて変化してもよい。因子のレーティングは、ユーザの全体的係数を決定するための重みに応じて組み合わされ得る。限定としてではなく、一例として、特定のユーザ・アクションは、レーティングと重みの両方に対して割り当てられてよく、特定のユーザ・アクションに関連付けられている関係は、レーティングおよび相関重みが割り当てられる(たとえば、そのため、重みは合計100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに対して割り当てられたレーティングは、たとえば、全体的係数の60%を備えることがあり、ユーザとオブジェクトとの間の関係は全体的係数の40%を備えることがある。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに対して接続されたソーシャル・グラフ・エンティティとの関係、ユーザ・アクションの短期もしくは長期の平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなどの、係数を計算するために使用されるさまざまな因子に対する重みを決定するとき、さまざまな変数を考慮し得る。限定としてではなく、一例として、係数は、係数を計算するとき、アクションが最近であればあるほど関連度が大きくなるように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含み得る。レーティングおよび重みは、係数が基づくアクションの継続追跡に基づいて連続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各因子および因子に対して割り当てられた重みに対するレーティングを割り当てる、組み合わせる、平均化するなどを行うために用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、履歴アクションおよび過去のユーザ応答、またはさまざまなオプションに対してさらし、応答を測定することによってユーザから得られた(farmed)データに関して訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定の様式で係数を計算することを説明しているが、本開示は、任意の適切な様式で係数を計算することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ユーザのアクションに基づいて係数を計算し得る。ソーシャル・ネットワーキング・システム702は、オンライン・ソーシャル・ネットワーク上で、サードパーティ・システム708上で、他の適切なシステム上で、またはそれらの任意の組み合わせで、そのようなアクションを監視してもよい。任意の適切なタイプのユーザ・アクションが追跡または監視されてもよい。典型的なユーザ・アクションとしては、プロファイル・ページを閲覧すること、コンテンツを作成またはポストすること、コンテンツと対話すること、グループに加わること、イベントにおける出席をリストし確認すること、ロケーションにチェックインすること、特定のページに対して「いいね」を表明すること、ページを作成すること、およびソーシャル・アクションを促進する他のタスクを実行することがある。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、特定のタイプのコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム708、または別の適切なシステムに関連付けられ得る。コンテンツとしては、ユーザ、プロファイル・ページ、ポスト、ニュース・ストーリー、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、映像、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせがある。ソーシャル・ネットワーキング・システム702は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が主題、コンテンツ、他のユーザなどに対して親密度を示すか否かを決定し得る。限定としてではなく、一例として、ユーザが、「コーヒー」またはその変種に関係したコンテンツのポストを頻繁に行う場合、ソーシャル・ネットワーキング・システム702は、ユーザが「コーヒー」というコンセプトに関して高い係数を有することを決定し得る。特定のアクションまたは特定のタイプのアクションは、計算された全体的係数に影響し得る、他のアクションよりも高い重みおよび/またはレーティングが割り当てられ得る。限定としてではなく、一例として、第1のユーザが第2のユーザに電子メールを出す場合、アクションに対する重みまたはレーティングは、第1のユーザが第2のユーザのためのユーザプロファイル・ページを閲覧するだけの場合よりも高くなり得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、特定のオブジェクト間の関係のタイプに基づいて係数を計算し得る。ソーシャル・グラフ800を参照すると、ソーシャル・ネットワーキング・システム702は、係数を計算するとき、特定のユーザ・ノード802とコンセプトノード804を接続するエッジ806の数および/またはタイプを分析し得る。限定としてではなく、一例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザ・ノード802は、友人タイプのエッジによって接続されるユーザ・ノード802よりも高い係数が割り当てられ得る。言い換えれば、特定のユーザのためのアクションおよび関係に対して割り当てられた重みに応じて、全体的親密度は、ユーザの友人についてのコンテンツに対するよりもユーザの配偶者についてのコンテンツに対して高くなるように決定され得る。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトに関する係数を計算することに関するユーザのアクションの重みおよび/またはレーティングに影響し得る。限定としてではなく、一例として、コンテンツとタグ付けタイプの関係を有することは、コンテンツと「いいね」タイプの関係を有するよりも高い重みおよび/またはレーティングを割り当てられ得るので、ユーザが第1のフォトでタグ付けされるが、第2のフォトに対しては「いいね」を表明するにすぎない場合、ソーシャル・ネットワーキング・システム702は、ユーザが、第2のフォトよりも第1のフォトに関して高い係数を有することを決定し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、1つまたは複数の第2のユーザが特定のオブジェクトと有する関係に基づいて、第1のユーザに関する係数を計算し得る。言い換えれば、他のユーザがオブジェクトと有する接続および係数は、第1のユーザのオブジェクトに関する係数に影響し得る。限定としてではなく、一例として、第1のユーザが、1つもしくは複数の第2のユーザに対して接続される、またはそれらに関して高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるか、またはそれに関して高い係数を有する場合、ソーシャル・ネットワーキング・システム702は、第1のユーザも、特定のオブジェクトに関する比較的高い係数も有するべきであることを決定し得る。特定の実施形態では、係数は、特定のオブジェクト間の隔たり次数に基づいてよい。より低い係数は、第1のユーザが、ソーシャル・グラフ800内で第1のユーザに対して間接的に接続されたユーザのコンテンツ・オブジェクトにおいて興味を共有する可能性の減少を表し得る。限定としてではなく、一例として、ソーシャル・グラフ800内でより近い(すなわち、隔たり次数のより低い)ソーシャル・グラフ・エンティティは、ソーシャル・グラフ800内でさらに離れたエンティティよりも高い係数を有し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、ロケーション情報に基づいて係数を計算し得る。互いに対して地理的により近いオブジェクトは、より遠いオブジェクトよりも互いに対してより関係がある、またはより興味があると考えられ得る。特定の実施形態では、特定のオブジェクトのためのユーザの係数は、ユーザに関連付けられている現在のロケーション(またはユーザのクライアント・デバイス706のロケーション)に対するオブジェクトのロケーションの近接性に基づき得る。第1のユーザは、第1のユーザに対してより近い他のユーザまたはコンセプトに、より興味があり得る。限定としてではなく、一例として、ユーザが空港から1.609km(1マイル)、ガソリン・スタンドから3.219km(2マイル)のところに位置している場合、ソーシャル・ネットワーキング・システム702は、ユーザに対する空港の近接性に基づいて、ユーザがガソリン・スタンドよりも空港に関して高い係数を有することを決定し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、係数情報に基づいて、ユーザに関する特定のアクションを実行し得る。係数は、ユーザのアクションへの興味に基づいて、ユーザが特定のアクションを実行するか否かを予測するために使用され得る。係数は、広告、検索結果、ニュース・ストーリー、メディア、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトをユーザに対して生成または提示するとき、使用され得る。係数はまた、必要に応じて、そのようなオブジェクトをランキングし、順序付けるために利用され得る。このようにして、ソーシャル・ネットワーキング・システム702は、ユーザの興味および現在の環境に関連のある情報を提供し、興味のあるそのような情報を見つける可能性を増加させ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、係数情報に基づいてコンテンツを生成し得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択され得る。限定としてではなく、一例として、ユーザが、ユーザがメディア・オブジェクトに関して高い全体的係数を有するメディアが提示される場合、係数は、ユーザのためのメディアを生成するために使用され得る。限定としてではなく、別の例として、ユーザが、ユーザが広告付きオブジェクトに関して高い全体的係数を有する広告が提示される場合、係数は、ユーザのための広告を生成するために使用され得る。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、係数情報に基づいて検索結果を生成し得る。特定のユーザのための検索結果は、クエリを発行したユーザに対する検索結果に関連付けられている係数に基づいてスコア付けまたはランキングされ得る。限定としてではなく、一例として、より高い係数を有するオブジェクトに対応する検索結果は、検索結果ページ上で、より低い係数を有するオブジェクトに対応する結果よりも高くランキングされ得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム702は、特定のシステムまたはプロセスからの係数の要求に応答して係数を計算し得る。ユーザが所与の状況でとり得る(または、その対象であり得る)可能性があるアクションを予測するために、任意のプロセスは、ユーザに関する計算された係数を要求し得る。要求は、係数を計算するために使用されるさまざまな因子に使用する重みのセットも含み得る。この要求は、オンライン・ソーシャル・ネットワーク上で実行されているプロセスから来ることもあるし、サードパーティ・システム708から(たとえば、APIまたは他の通信チャネルを介して)来ることもあるし、別の適切なシステムから来ることもある。要求に応答して、ソーシャル・ネットワーキング・システム702は、係数を計算し得る(または、係数情報が以前に計算され、記憶されている場合、その係数情報にアクセスし得る)。特定の実施形態では、ソーシャル・ネットワーキング・システム702は、特定のプロセスに関して親密度を測定し得る。さまざまなプロセス(オンライン・ソーシャル・ネットワークに対して内部と外部の両方にある)は、特定のオブジェクトまたはオブジェクトのセットに関する係数を要求し得る。ソーシャル・ネットワーキング・システム702は、親密度の尺度を要求した特定のプロセスに対して関連のある親密度の尺度を提供し得る。このようにして、各プロセスは、プロセスが親密度の尺度を使用する異なるコンテキストに合わせられた親密度の尺度を受信する。
ソーシャル・グラフ親密度および親密度係数に関して、特定の実施形態は、その各々が本願明細書に援用される、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月01日に出願された米国特許出願第13/632869号に開示されている1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用し得る。
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの1つまたは複数がプライバシー設定に関連付けられ得る。オブジェクトのためのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス内に、別の適切な様式で、または、それらの任意の組み合わせなどの任意の適切な様式で記憶されてもよい。オブジェクトのプライバシー設定は、オブジェクト(またはオブジェクトに関連付けられている特定の情報)が、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス(たとえば、閲覧または共有)され得るかを規定し得る。オブジェクトのためのプライバシー設定は、特定のユーザがそのオブジェクトにアクセスすることを可能にし、オブジェクトは、そのユーザに対して「閲覧可能」と説明され得る。限定としてではなく、一例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザプロファイル・ページのためのプライバシー設定が、ユーザプロファイル・ページ上の職歴情報にアクセスし得るユーザのセットを識別し、したがって、他のユーザを情報にアクセスさせないことを規定し得る。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられている一定の情報にアクセスすることが可能にされるべきではないユーザの「遮断リスト」を規定し得る。言い換えれば、遮断リストは、オブジェクトが見えない1つまたは複数のユーザまたはエンティティを規定し得る。限定としてではなく、一例として、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスし得ないユーザのセットを規定し、したがって、それらのユーザをフォト・アルバムにアクセスさせ得ない(がまた、おそらく、ユーザのセットに含まれない一定のユーザはフォト・アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャル・グラフ要素に関連付けられ得る。ノードまたはエッジなどのソーシャル・グラフ要素のプライバシー設定は、ソーシャル・グラフ要素、ソーシャル・グラフ要素に関連付けられている情報、またはソーシャル・グラフ要素に関連付けられているコンテンツ・オブジェクトがどのようにしてオンライン・ソーシャル・ネットワークを使用してアクセス可能であるかを規定し得る。限定としてではなく、一例として、特定のフォトに対応する特定のコンセプトノード804は、そのフォトは、フォトでタグ付けされたユーザおよびユーザの友人によってのみアクセスされ得ることを規定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、アクションをソーシャル・ネットワーキング・システム702によってログさせること、または他のシステム(たとえば、サードパーティ・システム708)と共有させることに加わる、または加わらないことを可能にする。特定の実施形態では、オブジェクトに関連付けられているプライバシー設定は、任意の適切な粒度の許容されたアクセスまたはアクセスの否定を規定し得る。限定としてではなく、一例として、アクセスまたはアクセスの否定は、特定のユーザ(たとえば、自分のみ、ルームメイト、および上司)、特定の次数以内の隔たりに含まれるユーザ(たとえば、友人、または友人の友人)、ユーザ・グループ(たとえば、ゲーム・クラブ、家族)、ユーザ・ネットワーク(たとえば、特定の雇用者の従業員、学生、または特定の大学の卒業生)、すべてのユーザ(「パブリック」)、ユーザなし(「プライベート」)、サードパーティ・システム708のユーザ、特定のアプリケーション(たとえば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザもしくはエンティティ、またはそれらの任意の組み合わせに対して規定され得る。本開示は、特定の様式で特定のプライバシー設定を使用することを説明しているが、本開示は、任意の適切な様式で任意の適切なプライバシー設定を使用することを企図している。
特定の実施形態では、1つまたは複数のサーバは、プライバシー設定を強制するための許可/プライバシー・サーバであってよい。データ・ストア内に記憶された特定のオブジェクトに関するユーザ(または他のエンティティ)からの要求に応答して、ソーシャル・ネットワーキング・システム702は、オブジェクトのためのデータ・ストアに対して要求を送信し得る。要求は、要求に関連付けられているユーザを識別し得、許可サーバが、オブジェクトに関連付けられているプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることを許可されていることを決定した場合、ユーザ(またはユーザのクライアント・デバイス706)のみに対して送信され得る。要求元ユーザが、オブジェクトにアクセスすることが許可されていない場合、許可サーバは、要求されたオブジェクトがデータ・ストアから取り出されるのを防止し得る、または、要求されたオブジェクトがユーザに対して送信されるのを防止し得る。検索クエリ・コンテキストでは、クエリ元ユーザが、オブジェクトにアクセスすることが許可されている場合、そのオブジェクトは、検索結果としてのみ生成され得る。言い換えれば、オブジェクトは、クエリ元ユーザに見える可視性を有さなければならない。オブジェクトが、ユーザに見えない可視性を有する場合、オブジェクトは検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を強制することを説明しているが、本開示は、任意の適切な様式でプライバシー設定を強制することを企図したものである。
上記明細は、特定の例示的な実施形態を参照して記載されている。種々実施形態および本開示の様相は、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
追加または代替の実施形態は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。