本開示の実施形態は、マーチャント(merchant)に支払いを行うことの容易さおよび効率を増加させる統合されたメッセージおよび支払いシステムを提供する。特に、1つまたは複数の実施形態は、電子支払いシステムと電子メッセージング・システムとを統合する統合されたメッセージおよび支払いシステムを提供する。統合されたメッセージおよび支払いシステムは、消費者がマーチャントとメッセージを交換するとともにマーチャントに電子支払いを送信することを可能にすることができる。たとえば、統合されたメッセージおよび支払いシステムは、マーチャントとの電子メッセージの交換も可能にするメッセージング・インターフェースを介して、消費者がマーチャントに電子支払いを送信することを可能にすることができる。
電子支払いシステムとメッセージング・システムを統合することによって、システムは、会話のフローの中で電子支払いを送信および受信できることをユーザに提供することができる。したがって、システムは、ユーザが支払い取引について通信し、電子支払いに専用の別個のアプリケーションを開く必要もなく取引を行うことを可能にすることができる。システムの1つまたは複数の実施形態によって提供される、メッセージの交換中にシームレスに支払いを送信することの容易さおよび効率の上昇は、電子支払いの使用の増加および電子支払いに対する満足、ならびにマーチャントに対する支出の増加をもたらすことができる。
統合されたメッセージおよび支払いシステムは、製品の購入に関する支払い取引の処理の利便性を提供することができる。具体的には、統合されたメッセージおよび支払いシステムは、ユーザがマーチャントとの支払い取引を行ってメッセージング・アプリケーション内で製品を購入することを可能にすることができる。たとえば、システムは、ユーザがメッセージング・アプリケーションを介してマーチャントと通信しながらマーチャントとの支払い取引を開始することを可能にすることができる。したがって、システムは、ユーザがマーチャントと容易に対話して、ユーザのデバイス(たとえば、スマートフォンなどのモバイル・デバイス)から製品の問い合わせおよび/または購入をすることを可能にすることができる。
1つまたは複数の追加実施形態では、システムは、ユーザのロケーションに基づいてユーザがマーチャントと接続および/または通信することを可能にすることができる。特に、システムは、さまざまなやり方で、ユーザのクライアント・デバイスのロケーションを検出し、ユーザがユーザのロケーションの近くでマーチャントを見つけ出して対話することを可能にすることができる。たとえば、ユーザは、統合されたメッセージおよび支払いシステムを使用する近くのマーチャントを見つけ出すことができる。ユーザは、マーチャントのロケーションに到着する前でもあってもメッセージング・アプリケーションで特定の近くのマーチャントと通信を始めることができる。したがって、システムは、ユーザがマーチャントの物理的ロケーションにいなくても、製品に関する追加の情報を取得してマーチャントから製品を購入するための取引を開始することを可能にすることができる。
加えて、システムの1つまたは複数の実施形態は、ユーザに対する払い戻しを処理するための方法を単純化することが可能である。たとえば、システムは、マーチャントがメッセージング・アプリケーションを介してユーザに対して払い戻しを行う方法を提供することができる。具体的には、システムは、ユーザとマーチャントとの間の支払い取引に結合された取引識別子と、ユーザとマーチャントとの間のメッセージング・スレッドを関連付けることによって、メッセージング・アプリケーション内からユーザが払い戻しをマーチャントに要求することを可能にすることができる。したがって、マーチャントは、電話でまたは直接会って機密情報(たとえばカード番号)をマーチャントに提供するようにユーザに要求することなく、ユーザに対して払い戻しを行うことができる。
1つまたは複数の実施形態によれば、システムは、ユーザがさまざまな支払い方法を介してマーチャントに支払うことを可能にすることもできる。特に、システムは、ユーザが、マーチャントとの支払い取引に使用するために複数の支払いクレデンシャルをシステムに登録することを可能にすることができる。たとえば、システムは、ユーザが、メッセージング・アプリケーションを使用して、マーチャントの製品の支払いをするために、複数の登録された支払いクレデンシャル(payment credential)のうちの1つまたは複数を選択することを可能にすることができる。加えて、システムは、マーチャントのプリファレンスまたは要求事項に基づいて、マーチャントが複数の異なる支払いオプションをユーザに対して提示することを可能にすることもできる。したがって、システムは、ユーザとマーチャントとの間の電子支払い取引において多様な支払い方法を提供することができる。
さらに、システムは、機密金融情報(たとえば、クレジット・カード番号、当座預金口座番号)をマーチャントに提供する必要なしに、消費者が製品またはサービスについてマーチャントに支払いを行うことを可能にすることもできる。したがって、システムは、ユーザに関するセキュリティを増大することができる。特に、ユーザは、新しいマーチャントを訪れる際の詐欺のおそれを回避することができる。
システムは、マーチャントに関するセキュリティも増大することができる。特に、システムは、ソーシャル・ネットワーキング・システムによって消費者に関して保持される情報に基づいてリスク・チェックを行うことができる。システムは、システムによって保持される消費者またはマーチャントに関する情報に基づいて、消費者が既知の詐欺行為者である場合、または支払いが不正とみられる場合、支払いを拒否することができる。
本明細書で使用されるとき、「メッセージ」という用語は、2つ以上のコンピューティング・デバイス間の任意の形の電子通信を指す。メッセージは、テキスト・メッセージ、写真、ステッカーまたは他のアイコン、ビデオ、音声記録、音楽、音声メールなどを含むことができる。1つまたは複数の実施形態では、メッセージは、リアルタイムで、またはほぼリアルタイムで通信されるインスタント・メッセージである。しかしながら、代替実施形態では、メッセージは、SMSメッセージ、電子メール、またはソーシャル・ネットワークの投稿もしくはコメントなどの電子通信のうちからのいずれかを指すことができる。
加えて、「支払いメッセージ」という用語は、システムが支払い取引を開始することを可能にする支払い情報を示すメッセージを指す。たとえば、支払いメッセージは、支払い額、消費者、マーチャント、支払い方法、支払い方法をシステムが処理するやり方を示すフォーマッティング、ならびにユーザによりメッセージのために提供されたテキストなどの追加の情報を含むデータ・パッケージを含むことができる。
本明細書で使用されるとき、「支払い取引」という用語は、2つ以上のエンティティ間で通貨またはクレジットを交換する任意のタイプの電子取引を指す。たとえば、支払い取引は、統合されたメッセージおよび支払いシステムの2人のユーザ間の金融電子取引とすることができる。別の例では、支払い取引は、ユーザと金融機関または他の複数人からなるエンティティとの間の金融電子取引とすることができる。加えて、支払い取引は、金銭贈与、借金の支払い、ローンの資金供給、商品および/もしくはサービスの購入を考慮した支払い、または他の任意のタイプの金銭移動を表すことができる。加えて、支払い取引は、1つまたは複数の通貨でなされ、たとえば為替レートに基づいて、1つまたは複数の追加の通貨に変換されることが可能である。
本明細書で使用されるとき、「アカウント」もしくは「口座」(account)または「支払いクレデンシャル」という用語は、ユーザのデビット・カード口座、銀行口座、クレジット・カード口座、メッセージング口座、ギフト・カード、または金銭が差し引かれ得るもしくは金銭が預けられ得る他の任意の口座を指すことができる。上記の用語ならびに追加の用語の意味は、図に関する以下の開示を考慮すると、より明らかになるであろう。
図1は、1つまたは複数の実施形態による統合されたメッセージングおよび支払いシステム100を例示する概略図である。システム100の概要が、図1に関係して説明される。その後、システム100の構成要素およびプロセスのより詳細な説明が、残りの図に関係して提供される。
図1によって例示されるように、システム100は、ユーザ102aが、対応するクライアント・デバイス200a、200bを使用してマーチャント102bと対話することを可能にすることができる。図1でさらに例示されるように、クライアント・デバイスは、ネットワーク105を介してサーバ・デバイス108と通信することができる。加えて、システム100は、ネットワーク105を介してサーバ・デバイス108と通信可能に結合された支払いネットワーク115を含むことができる。図1は、ユーザ/マーチャント、クライアント・デバイス、ネットワーク105、サーバ・デバイス108、および支払いネットワーク115の特定の構成を例示しているが、さまざまな追加の構成が可能である。たとえば、クライアント・デバイス200a、200bは、ネットワーク105をバイパスしてサーバ・デバイス108と直接的に通信し得る。
上記で簡単に言及されたように、図1は、ユーザ102aが消費者クライアント・デバイス200aを使用し、マーチャント102bがマーチャント・クライアント・デバイス200bを使用することで、サーバ・デバイス108を介して互いと通信することができることを示す。たとえば、ユーザ102aおよびマーチャント102bは、テキスト、デジタル・コンテンツ(たとえば、オーディオ、画像、ビデオ)、ロケーション情報、ならびに他の形のデータおよび情報を含む電子メッセージを交換することができる。たとえば、ユーザ102aは、消費者クライアント・デバイス200aを使用して、マーチャント102bのために意図されたメッセージを構築することができる。メッセージを構築した後、ユーザ102aは、マーチャント102bのために意図されたメッセージを、ネットワーク105を介してサーバ・デバイス108に対して送信することを、消費者クライアント・デバイス200aに行わせることができる。サーバ・デバイス108は、意図されたマーチャントとしてマーチャント102bを識別し、マーチャント102bに関連付けられたマーチャント・クライアント・デバイス200bに対してメッセージを転送することができる。
ユーザが電子通信を交換することを可能にすることに加えて、システム100は、ユーザが、互いに対しておよび互いから金銭支払いを送信および受信することを可能にすることができる。1つまたは複数の実施形態では、システム100は、ユーザが支払いメッセージを定義し、マーチャント・ユーザに対して送信することを可能にする。たとえば、システム100は、ユーザ102aが、サーバ・デバイス108および支払いネットワーク115を介してマーチャント102bに対して支払いを送信することを可能にすることができる。同様に、マーチャント102bは、支払いの告知を受信し、支払いを承認または拒否することができる。以下でより詳細に説明されるように、サーバ・デバイス108は、ユーザ(すなわち、ユーザの口座)間の支払いを促進する取引を協調させるために、支払いネットワーク115と通信することができる。
システム100は、ユーザ102aとマーチャント102bとの間の支払いを促進することができるが、システム100は、ユーザのグループなどの3人以上のユーザ間の支払いを促進することもできる。たとえば、ユーザ102aは、マーチャント102bに対して支払いを送信し得る。1つまたは複数の実施形態では、複数のユーザが、同じ支払い取引の中でマーチャント102bに対して支払いを送信することができる。
図1は、ユーザを人々として例示しているが、マーチャントは、企業または政府などのエンティティを含み得る。たとえば、ユーザ102aは、システム100を使用して、サービスまたは製品のためにマーチャント102bに対して支払いを提供することができる。たとえば、ユーザ102aは、システム100を介してマーチャントと通信し、マーチャントから製品またはサービスの購入をすることを最終的に決めることができる。次いで、同じシステム100を使用して、ユーザ102aは、マーチャントに対して製品またはサービスのための支払いを送信することができる。同様に、マーチャントは、他のユーザに対して支払い(たとえば払い戻し)を送信し得る。
上記で言及されたように、および図1が例示するように、ユーザ102aは消費者クライアント・デバイス200aと対話することができ、マーチャント102bはマーチャント・クライアント・デバイス200bと対話することができる。クライアント・デバイスの例としては、モバイル・デバイス(たとえば、スマートフォン、タブレット)、ラップトップ、デスクトップ、または他の任意のタイプのコンピューティング・デバイスなどのコンピューティング・デバイスがある。図7および対応する説明は、コンピューティング・デバイスに関する追加の情報を提供する。さらに、および上記で言及されたように、クライアント・デバイスは、ネットワーク105を通して通信することができる。1つまたは複数の実施形態では、ネットワーク105は、インターネットまたはワールド・ワイド・ウェブを含む。しかしながら、以下で図19に関してさらに説明されるように、ネットワークは、さまざまな通信技術およびプロトコルを使用する1つまたは複数のプライベート・ネットワークおよび/またはパブリック・ネットワークを含むことができる。
上記で簡単に論じられたように、システム100は、ユーザ間での支払いの送信および受信を協調させることができる。たとえば、ユーザ102aは、支払いメッセージを構築し、マーチャント102bに対して送信することができる。たとえば、ユーザ102aは、支払い方法(たとえば、消費者ユーザ102aのクレジット・カード、デビット・カード、口座残高)、支払い額、支払い通貨、支払いの説明、および/またはさまざまな他の支払い詳細を定義するために、消費者クライアント・デバイス200aを介して入力を提供することができる。
ユーザ102aの観点から、たとえば、消費者ユーザ102aは、通信メッセージ(たとえば、テキスト)を送信するのと同様に支払いメッセージを構築し、送信することができる。たとえば、1つまたは複数の実施形態では、ユーザ102aは、ユーザ102bに対して送信することをユーザ102aが望む支払いの額を示す支払いメッセージを構築することができる。支払いメッセージを構築した後、消費者ユーザ102aは、次いで、サーバ・デバイスを介してマーチャント102bに対して支払いメッセージを送信することができる。
1つまたは複数の実施形態では、システム100は、支払いネットワーク115を介して消費者ユーザ102aの1つまたは複数の口座とマーチャント102bの1つまたは複数の口座との間の取引を協調させることができる。たとえば、消費者ユーザ102aから支払いメッセージを受信したことに応答して、サーバ・デバイスは、支払いネットワーク115内の1つまたは複数の構成要素を使用して支払いを処理するために取引情報を通信することができる。代替的に、または加えて、システム100は、1つまたは複数のユーザ口座を直接的に維持することができ、そのため、システム100は、取引、または取引の一部分を協調させることができる。
図1に例示されるように、支払いネットワーク115は、支払いゲートウェイ・システム118と、支払い処理システム120と、カード・ネットワーク・システム122と、発行銀行(issuing bank)システム124とを含むことができる。しかしながら、代替実施形態では、支払いネットワーク115は、システム100の特定の実施形態に応じて、より多いまたはより少ない構成要素を含むことができる。
1つまたは複数の実施形態では、たとえば、システム100は、取引を許可および処理するために、支払いネットワーク115と通信することができる。たとえば、図1に示されるように、システム100は、支払いゲートウェイ・システム118に対して取引を送信することができる。支払いゲートウェイ・システム118が取引を受信すると、支払いゲートウェイ・システム118は、支払いマーチャント・ユーザの加盟店銀行(acquiring bank)によって使用されるプロセッサ(たとえば、支払い処理システム120)に対して取引を送信することができる。支払いの方法(たとえば、消費者ユーザの口座)に基づいて、支払い処理システム120は、適切なカード・ネットワーク・システム122に対して取引を送ることができる。多くの場合、次いで、カード・ネットワーク・システム122は、発行銀行システム124に対して取引を送信する。
発行銀行システム124は、取引を承認するかまたは拒否するかのどちらかであり、その判断をカード・ネットワーク・システム122に対して返送する。次いで、カード・ネットワーク122は、その判断を支払い処理システム120に対して送信する。次いで、支払い処理システム120は、その判断を支払いゲートウェイ・システム118に対して転送することができ、1つまたは複数の実施形態では、支払いゲートウェイ・システム118は、取引および判断に関係する詳細を維持することができる。支払い処理システム120は、判断をシステム100に対しても送信する。
取引を許可することに加えて、支払いネットワーク115は、決済タスクを実行することもできる。たとえば、システム100は、支払いゲートウェイ・システム118と協調して、1つまたは複数のキャプチャされた取引を含む日次決済バッチを、加盟店銀行推奨の支払い処理システム120を介して、加盟店銀行に提出することができる。次いで、支払い処理システム120は、加盟店銀行のサーバ(図示せず)に決済バッチを送信し、加盟店銀行のサーバは、決済バッチ内の各取引の額の預金を、支払いマーチャント102bに関連付けられた口座に記録する。
次いで、加盟店銀行は、預金額の弁済において資金供給要求を支払い処理システム120に対して送信することができ、支払い処理システム120は、資金供給要求を、適切なカード・ネットワーク・システム122に対して渡す。次いで、カード・ネットワーク・システム122は、発行銀行システム124に対して資金供給要求を送信する。発行銀行システム124は、消費者ユーザの口座に対して取引を記帳し、カード・ネットワーク・システム122に対して資金の放出を渡すことができ、次いで、資金は、支払い処理システム120に、次いで加盟店銀行に対して渡される。システム100の具体的なシステム、方法、構成要素、およびプロセスに関係する追加の詳細は、以下で説明される。
図2は、システム100の追加の詳細を例示する概略図を例示する。示されるように、システム100は、消費者クライアント・デバイス200aと、マーチャント・クライアント・デバイス200bと、サーバ・デバイス108と、支払いネットワーク115とを含むことができる。一般に、システム100は、消費者クライアント・デバイス200aのユーザが、マーチャント・クライアント・デバイス200bに対して支払いを送信する、またはマーチャント・クライアント・デバイス200bから支払いを受信することを可能にすることができる。加えて、システムは、消費者クライアント・デバイス200aのユーザが、マーチャント・クライアント・デバイス200bのユーザとメッセージを交換することを可能にすることができる。
示されるように、システム100は、クライアント・デバイス200a、200b、およびサーバ・デバイス108上にさまざまな構成要素を含むことができる。たとえば、図2は、クライアント・デバイス200a、200bが各々、さまざまな構成要素を有するクライアント・アプリケーション202(たとえば、メッセージング・アプリケーション)を含むことができ、サーバ・デバイス108が、さまざまな構成要素を有するネットワーク・アプリケーション204および支払いエンジン206を含むことができることを例示する。以下でより詳細に説明されるように、クライアント・アプリケーション202、ネットワーク・アプリケーション204、および支払いエンジン206の構成要素は、ユーザが支払いを送信し、支払いを受信し、かつメッセージを交換することを可能にするために協働することができる。
示されるように、クライアント・アプリケーション202は、ユーザ・インターフェース・マネージャ208と、ユーザ入力ディテクター(user input detector)210と、メッセージング・ハンドラ(messaging handler)212と、メッセージ・アナライザ214と、ロケーション・ディテクター216と、支払いメッセージ・ジェネレータ218と、データ・マネージャ220とを含むことができる。図2は、ネットワーク・アプリケーション204が、通信マネージャ230と、ステータス・マネージャ232と、メッセージ・データベース234と、プロファイル・データベース236と、リスク算出部(risk calculator)238とを含み得ることを例示する。以下で説明されるように、ネットワーク・アプリケーション204は、任意選択で、ソーシャルグラフ250も含むことができ、ソーシャルグラフ250は、ノード情報252と、エッジ情報254とを含む。図2は、支払いエンジン206が、支払いマネージャ240、取引データベース242、および口座マネージャ244を含み得ることを例示する。構成要素208〜220、230〜244、252、および254の各々は、任意の適切な通信技術を使用して互いと通信することができる。構成要素208〜220、230〜244、252、および254は、図2では別個であるように示されているが、構成要素208〜220、230〜244、252、および254のいずれも、単一の設備またはモジュールなど、より少ない構成要素へと結合されてもよいし、特定の実施形態に役立ち得るより多くの構成要素に分割されてもよいことが認識されよう。図2は、一定の構成要素をクライアント・アプリケーション202の一部として、他の構成要素をネットワーク・アプリケーション204の一部として説明しているが、本発明はそのように限定されない。代替実施形態では、クライアント・アプリケーション202の一部として示される構成要素のうちの1つまたは複数はネットワーク・アプリケーション204の一部とする、またはその逆にすることができる。同様に、ネットワーク・アプリケーション204の一部として示される1つまたは複数の構成要素は支払いエンジン206の一部とする、またはその逆にすることができる。
構成要素208〜220、230〜244、252、および254は、ソフトウェア、ハードウェア、または両方を備えることができる。たとえば、構成要素208〜220、230〜244、252、および254は、非一時的なコンピュータ可読記憶媒体上に記憶され、クライアント・デバイス200a、200b、またはサーバ・デバイス108の少なくとも1つのプロセッサによって実行可能なコンピュータ命令を備えることができる。少なくとも1つのプロセッサによって実行されるとき、コンピュータ実行可能命令は、本明細書で説明される方法およびプロセスを実行することをクライアント・デバイス200a、200bまたはサーバ・デバイス108に行わせることができる。代替的に、構成要素208〜220、230〜244、252、および254は、一定の機能または機能のグループを実行するために、特殊目的処理デバイスなどのハードウェアを備えることができる。加えて、または代替的に、構成要素208〜220、230〜244、252、および254は、コンピュータ実行可能命令とハードウェアの組み合わせを備えることができる。
1つまたは複数の実施形態では、クライアント・アプリケーション202は、クライアント・デバイス200a、200b上にインストールされたネイティブ・アプリケーションとすることができる。たとえば、クライアント・アプリケーション202は、スマートフォンまたはタブレットなどのモバイル・デバイス上にインストールおよび実行されるモバイル・アプリケーションであってよい。代替的に、クライアント・アプリケーション202は、デスクトップ・アプリケーション、ウィジェット、または他の形のネイティブ・コンピュータ・プログラムとすることができる。代替的に、クライアント・アプリケーション202は、クライアント・デバイスがアクセスするリモート・アプリケーションであってよい。たとえば、クライアント・アプリケーション202は、クライアント・デバイスのウェブ・ブラウザ内で実行されるウェブ・アプリケーションであってよい。
上記で言及されたように、および図2に示されるように、クライアント・アプリケーション202は、ユーザ・インターフェース・マネージャ208を含むことができる。ユーザ・インターフェース・マネージャ208は、ユーザがメッセージを構築する、見る、および送信する、ならびに支払いを送信することを可能にするグラフィカル・ユーザ・インターフェース(または単に「ユーザ・インターフェース」)を提供、管理、および/または制御することができる。たとえば、ユーザ・インターフェース・マネージャ208は、インスタント・メッセージなどのメッセージの構築を促進するユーザ・インターフェースを提供することができる。同様に、ユーザ・インターフェース・マネージャ208は、他のユーザから受信されたメッセージを表示するユーザ・インターフェースを提供することができる。
より詳細には、ユーザ・インターフェース・マネージャ208は、(たとえば、対応するクライアント・デバイスに関連付けられた表示デバイスによって)ユーザ・インターフェースの表示を促進し得る。たとえば、ユーザ・インターフェースは、ユーザがメッセージまたは支払いを構築、送信、および受信することを可能にする複数のグラフィカル・コンポーネント、グラフィカル・オブジェクト、および/またはグラフィカル要素から構成され得る。より詳細には、ユーザ・インターフェース・マネージャ208は、ユーザがメッセージング・スレッドを見ることを可能にするグラフィカル・コンポーネント、グラフィカル・オブジェクト、および/またはグラフィカル要素のグループを表示するようにクライアント・デバイスに指示し得る。
加えて、ユーザ・インターフェース・マネージャ208は、メッセージを構築および送信するためのユーザ入力を促進する1つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素を表示するようにクライアント・デバイスに指示し得る。例示するために、ユーザ・インターフェース・マネージャ208は、ユーザがクライアント・アプリケーション202に対してユーザ入力を提供することを可能にするユーザ・インターフェースを提供し得る。たとえば、ユーザ・インターフェース・マネージャ208は、ユーザが1つまたは複数のタイプのコンテンツをメッセージに入力することを可能にする1つまたは複数のユーザ・インターフェースを提供することができる。本明細書で使用されるとき、「コンテンツ」または「内容」(content)は、メッセージの一部として含まれることになる任意のデータまたは情報を指す。たとえば、「コンテンツ」または「内容」という用語は、本明細書では、テキスト、画像、デジタル・メディア、ファイル、ロケーション情報、支払い情報、およびメッセージの一部として含まれ得る他の任意のデータを一般的に説明するために使用される。
上記で論じられたように、メッセージ内に含まれ得るコンテンツの一例は、消費者ユーザ(たとえば消費者)からマーチャント・ユーザ(たとえばマーチャント)への支払いである。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、ユーザが容易かつ効率的に支払いを定義し、1つまたは複数の他のユーザに対して送信することを可能にするためのユーザ・インターフェースを提供することができる。たとえば、ユーザ・インターフェース・マネージャ208は、ユーザが支払いを作成および送信するために対話することができる、1つもしくは複数の入力フィールドおよび/または1つもしくは複数のユーザ選択可能要素を提供することができる。
上記に加えて、ユーザ・インターフェース・マネージャ208は、クライアント・アプリケーション202の1つまたは複数の構成要素から命令または通信を受信して、更新されたメッセージ情報、更新された支払いのステータス、および/または更新された利用可能なアクションを表示することができる。ユーザ・インターフェース・マネージャ208は、取引プロセス内の特定の時点において特定のオプションが利用可能であるかどうかに基づいて、利用可能なオプションを更新することができる。以下で論じられるように、ユーザ・インターフェース・マネージャ208は、消費者ステータス・メッセージおよび/または受信者ステータス・メッセージ内に、さまざまな他の選択可能アクションを追加、削除、および/または更新することができる。
ユーザ・インターフェース・マネージャ208は、電子通信またはメッセージ内に含まれることになるテキストまたは他のデータの入力を促進することができる。たとえば、ユーザ・インターフェース・マネージャ208は、キーボードを含むユーザ・インターフェースを提供することができる。ユーザは、電子通信内に含まれることになるテキストを選択するために1つまたは複数のタッチ・ジェスチャーを使用してキーボードと対話することができる。たとえば、ユーザは、キーボードを使用して、メッセージを入力し、電子通信内で1つまたは複数の他のコンテンツ・アイテムに付随させるおよび/またはこれを説明することができる。テキストに加えて、キーボード・インターフェースを含むユーザ・インターフェースは、さまざまな他の文字、シンボル、アイコン、または他の文字情報の入力を促進することができる。
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、異なるクライアント・デバイスに対して異なるインターフェースを提供することもできる。たとえば、ユーザ・インターフェース・マネージャ208は、消費者およびマーチャントに対して異なるインターフェースを提供することができる。具体的には、ユーザ・インターフェース・マネージャ208は、クライアント・デバイスが消費者クライアント・デバイス200aである場合、消費者向けに特に設計されたユーザ・インターフェースを提供することができる。同様に、ユーザ・インターフェース・マネージャ208は、クライアント・デバイスがマーチャント・クライアント・デバイス200bである場合、マーチャント向けに特に設計されたユーザ・インターフェースを提供することができる。いくつかの例では、図4A〜図4Kに関連して後でより詳細に説明されるように、異なるインターフェースは、ユーザが互いに通信して支払い取引に入ることを可能にする同様のユーザ・インターフェース要素を有するとともに、ユーザのタイプに基づいて1つまたは複数のユーザ固有要素を提供することができる。
図2でさらに例示されるように、クライアント・アプリケーション202は、ユーザ入力ディテクター210を含むことができる。1つまたは複数の実施形態では、ユーザ入力ディテクター210は、任意の適切な様式でユーザ入力を検出、受信、および/または促進することができる。いくつかの例では、ユーザ入力ディテクター210は、ユーザ・インターフェースに関する1つまたは複数のユーザ対話を検出することができる。本明細書で参照されるように、「ユーザ対話」は、1つまたは複数の入力デバイスによってユーザから受信される、単一の対話、または対話の組み合わせを意味する。
たとえば、ユーザ入力ディテクター210は、キーボード、マウス、タッチ・パッド、タッチスクリーン、および/または他の任意の入力デバイスからユーザ対話を検出することができる。クライアント・デバイスがタッチスクリーンを含む場合には、ユーザ入力ディテクター210は、ユーザ対話を形成するユーザからの1つまたは複数のタッチ・ジェスチャー(たとえば、スワイプ・ジェスチャー、タップ・ジェスチャー、ピンチ・ジェスチャー、または逆ピンチ・ジェスチャー)を検出することができる。いくつかの例では、ユーザは、ユーザ・インターフェースの1つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素に関係する、および/またはそれに宛てられた、タッチ・ジェスチャーを提供することができる。
ユーザ入力ディテクター210は、加えて、または代替的に、ユーザ対話を表すデータを受信し得る。たとえば、ユーザ入力ディテクター210は、ユーザからの1つもしくは複数のユーザ構成可能パラメータ、ユーザからの1つもしくは複数のユーザ・コマンド、および/または他の任意の適切なユーザ入力を受信し得る。ユーザ入力ディテクター210は、クライアント・アプリケーション202の1つもしくは複数の構成要素から、クライアント・デバイス上の記憶域から、または1つもしくは複数のリモート・ロケーション(たとえば、ネットワーク・アプリケーション204)から、入力データを受信し得る。
クライアント・アプリケーション202は、ユーザ入力ディテクター210がユーザ入力を検出したおよび/または他のデータを受信したことに応答して、1つまたは複数の機能を実行することができる。一般に、ユーザは、ユーザ入力ディテクター210が検出することができる1つまたは複数のユーザ入力を提供することによって、クライアント・アプリケーション202を制御する、その中をナビゲートする、および他のやり方で使用することができる。たとえば、ユーザ入力ディテクター210がユーザ入力を検出したことに応答して、クライアント・アプリケーション202の1つまたは複数の構成要素は、ユーザが、メッセージに対するマーチャントを選択する、メッセージを構築する、メッセージ内に含むコンテンツを選択する、および/またはマーチャント対してメッセージを送信することを可能にする。加えて、ユーザ入力ディテクター210がユーザ入力を検出したことに応答して、クライアント・アプリケーション202の1つまたは複数の構成要素は、ユーザが1つまたは複数のユーザ・インターフェースを通してナビゲートして、受信されたメッセージ、連絡先をレビューすること、ならびに製品リスト、現在および/または以前の支払い取引を見ることなどを可能にする。
1つまたは複数の実施形態では、ユーザ入力ディテクター210が1つまたは複数のユーザ入力を検出したことに応答して、クライアント・アプリケーション202は、ユーザが支払いを作成して、1つまたは複数の他のユーザに対して送信することを可能にすることができる。たとえば、支払いを送信したいユーザは、ユーザ・インターフェース内のメニュー上に提供された支払い要素と対話することができる。支払い要素とのユーザ対話を検出すると、ユーザ入力ディテクター210は、支払いを作成するためのユーザ・インターフェースを提供することをユーザ・インターフェース・マネージャ208に行わせることができる。そのため、以下でさらに説明されるように、ユーザ入力ディテクター210が1つまたは複数のユーザ入力を検出したことに応答して、クライアント・アプリケーション202は、ユーザが、マーチャントに対して送信されることになる支払いを定義するカスタマイズされた支払いを作成することを可能にすることができる。
図2でさらに例示されるように、クライアント・アプリケーション202は、クライアント・アプリケーション202に対して提供されたまたはそれから送信されたメッセージを管理するメッセージ・ハンドラ210を含むことができる。たとえば、メッセージ・ハンドラ210は、ユーザ・インターフェース・マネージャ208およびユーザ入力ディテクター210と対話して、クライアント・アプリケーション202を使用したメッセージの送信および受信を協調させることができる。メッセージ・ハンドラ210は、複数の参加者間での電子メッセージング・セッションの間にネットワーク・アプリケーション204に対するおよびそれからのメッセージの送信および受信を指示し得る。メッセージ・ハンドラ210は、着信メッセージおよび発信メッセージを編成し、メッセージを表示するようにユーザ・インターフェース・マネージャ208に指示し得る。
1つまたは複数の実施形態では、メッセージ・ハンドラ210は、クライアント・アプリケーション202を介してデータを受信および送信することを促進することができる。特に、メッセージ・ハンドラ210は、メッセージを送信および受信することを促進することができる。たとえば、本明細書で説明されるように、メッセージ・ハンドラ210は、メッセージ内に含まれることになるコンテンツをパッケージ化し、適切な通信プロトコルを使用して1つまたは複数の通信チャネルを通して送信可能な任意の必要な形でメッセージをフォーマットすることができる。同様に、メッセージ・ハンドラ210は、クライアント・デバイス200aが他のユーザから受信したメッセージを処理することができる。
クライアント・アプリケーション202に通信機能を提供することに加えて、メッセージ・ハンドラ210は、メッセージ・データへのアクセスを提供することができる。たとえば、メッセージ・ハンドラ210は、含めることになる連絡先のリスト、または連絡先の1つもしくは複数のグループ、およびメッセージに対するマーチャントを表すデータにアクセスすることができる。例示するために、メッセージ・ハンドラ210は、ユーザが、連絡先リストを検索およびブラウズし、メッセージに関するマーチャントとして含むことになる個々の連絡先または連絡先のグループを最終的に選択することを可能にするために、連絡先リストを表すデータを取得し、ユーザ・インターフェース・マネージャ208に対して提供することができる。1つまたは複数の実施形態では、ソーシャル・ネットワーキング・システムは、リモート連絡先リスト・データ(たとえば、「友人リスト」)を維持することができ、メッセージ・ハンドラ210は、クライアント・アプリケーション202内で使用するためにソーシャル・ネットワーキング・システム上の連絡先リスト・データにアクセスすることができる。
メッセージ・ハンドラ210は、クライアント・アプリケーション202がメッセージを構築、送信、および受信するために使用することができる他のローカル・データまたはリモート・データへのアクセスを提供することもできる。たとえば、メッセージ・ハンドラ210は、ユーザがメッセージ内に含むことができるファイル、画像、オーディオ、ビデオ、および他のコンテンツへのアクセスを取得することができる。そのうえ、メッセージ・ハンドラ210は、コンテンツをキャプチャまたは作成してメッセージ内に含むことができることをユーザに提供するために、消費者クライアント・デバイス200aの1つまたは複数の機能へのアクセスを提供することができる。たとえば、メッセージ・ハンドラ210は、カメラ、マイクロホン、またはユーザがコンテンツをキャプチャしてメッセージ内に含むことを可能にする他の機能を起動することができる。
加えて、メッセージ・ハンドラ210は、支払いの送信を促進することができる。特に、図2は、クライアント・アプリケーション202が、支払いメッセージ・ジェネレータ218を含むことができ、支払いメッセージ・ジェネレータ218は、支払いプロセス/取引を開始するためにメッセージ・ハンドラ210がネットワーク・アプリケーション204および/または支払いエンジン206に対して送信できる支払いメッセージを生成することができることを例示する。たとえば、消費者がユーザ・インターフェース上で支払い要素を選択すると、支払いメッセージ・ジェネレータ218は、消費者から受信された支払い情報を含むデータ・パッケージを作成することができる。クライアント・デバイス200aからの支払いメッセージは、支払い取引の一部として送信されることになる金銭の額の指示、ならびにネットワーク・アプリケーションが支払い取引を実行することを可能にするために必要な任意の情報を含むことができる。
1つまたは複数の実施形態では、支払いメッセージ・ジェネレータ218は、支払い額、1つもしくは複数の消費者識別子、1つもしくは複数のマーチャント識別子、取引識別子、メッセージング・スレッド識別子、製品識別子、1つもしくは複数の支払い方法もしくは消費者口座情報、許可情報、通貨情報、メッセージもしくは支払い説明、および/または消費者からマーチャントへの支払いを促進するために有用であり得る他の任意のデータを含む1つまたは複数のデータ・パッケージを作成することができる。代替的に、支払いメッセージは、マーチャントおよび支払いの額を単に識別することができる。支払いメッセージ・ジェネレータ218は、ネットワーク・アプリケーション204に対して送信するために、支払いメッセージ(たとえば、支払い情報を含むデータ・パッケージ)をメッセージ・ハンドラ210に対して渡すことができる。
支払いメッセージ・ジェネレータ218は、さまざまなソースから支払い情報を取得することもできる。たとえば、支払いメッセージ・ジェネレータ218は、ユーザ入力ディテクター210を介して消費者から直接的に支払い情報を取得することができる。加えて、または代替的に、支払いメッセージ・ジェネレータは、データ・マネージャ220によってクライアント・デバイス上で維持される支払い情報へのアクセスを得ることができる。たとえば、クライアント・アプリケーション202は、消費者が、さまざまな支払い方法を入力および保存する、ならびに/またはデフォルト支払い方法、デフォルト通貨を識別する、ならびに他のやり方で支払いを送信および/もしくは受信することに関係する他のユーザ・プリファレンスを規定することを可能にすることができる。
1つまたは複数の実施形態では、支払いメッセージ・ジェネレータ218は、支払いメッセージ内のトークンにアクセスし、これを提供することができる。トークンは、ネットワーク・アプリケーション204によって記憶された支払いクレデンシャルを参照することができる。たとえば、支払いメッセージ・ジェネレータ218は、ネットワーク・アプリケーション204によって記憶された支払いクレデンシャルを使用して支払いをすることが許可されるものとして消費者および/または消費者クライアント・デバイス200aを確認する支払いメッセージ内に含むまたはこれと共に含む、トークンを取り出すことができる。
いくつかの実施形態によれば、支払いメッセージ・ジェネレータ218は、ネットワーク・アプリケーション204および支払いエンジン206の各々に対して送信するために別個の支払いメッセージを生成することができる。具体的には、支払いメッセージ・ジェネレータ218は、支払い取引を処理するために支払いエンジン206に対して送信するための第1の支払いメッセージと、ネットワーク・アプリケーション204を介してクライアント・デバイス200bに対して送信するための支払い取引を示す第2の支払いメッセージ(または第1の支払いメッセージに関連付けられた他のメッセージ)とを生成することができる。代替的に、支払いメッセージ・ジェネレータ218は、ネットワーク・アプリケーション204と支払いエンジン206の両方に並行して送信するための単一の支払いメッセージを生成することもできる。
上記で言及されたように、クライアント・アプリケーション202は、メッセージ・アナライザ214をさらに含むことができる。メッセージ・アナライザ214は、潜在的な支払いイベントのためにクライアント・アプリケーション202から送信されたおよびこれによって受信されたメッセージを分析することができる。1つまたは複数の実施形態では、メッセージ・アナライザ214は、ユーザ間で交換された電子メッセージから、交換されたメッセージ内のコンテキスト内容に基づいて、支払いイベントを推測することができる。具体的には、メッセージ・アナライザ214は、支払いの機会または支払いに関連付けられたイベントを示す一定のフレーズまたは文字ストリングを識別することができる。たとえば、文字ストリングは、ユーザとマーチャントとの間のメッセージング・スレッド内の電子メッセージからの所定の文字ストリングを含むことができる。
クライアント・アプリケーション202は、ロケーション・ディテクター216をさらに含むことができる。ロケーション・ディテクター216は、クライアント・デバイスからのGPS情報、セル・タワー三角測量、WIFI受信信号強度指示、WIFIワイヤレス・フィンガープリンティング、無線周波数識別、短距離通信に基づいて、メッセージを分析することによって、または他のソースからのデータに基づいて、クライアント・デバイスのロケーションにアクセスまたはこれを識別することができる。ロケーション・ディテクター216は、次いで、メッセージ・アナライザ214またはネットワーク・アプリケーション204に対してクライアント・デバイスのロケーションを提供することができる。加えて、ロケーション・ディテクター216は、ネットワーク・アプリケーション204から他のクライアント・デバイスのロケーションの指示を受信し、それらをメッセージ・アナライザ214に対して提供することができる。たとえば、ロケーション・ディテクター216は、ユーザのロケーションがマーチャントのロケーションに近接しているときにユーザおよび/またはマーチャントに通知することができる。
上記で論じられたように、クライアント・デバイス200a、200bは、図2に例示されるように、データ・マネージャ220を含むことができる。データ・マネージャ220は、ユーザと1人または複数の他のユーザとの間でメッセージを構築、送信、および受信することと関連して使用されるデータを表すメッセージ・データを維持することができる。たとえば、メッセージ・データは、メッセージ・ログ、連絡先リスト、コンテンツ、過去の通信、および、ユーザがクライアント・アプリケーション202を使用して通信できることを提供することと関連してクライアント・アプリケーション202が使用することができる他の類似のタイプのデータを含むことができる。
データ・マネージャ220はまた、支払いメッセージを生成するために使用される情報を表す支払いデータを維持し得る。たとえば、支払いデータは、支払い方法データ(すなわち、クレデンシャル)および/または口座データ(たとえば、銀行またはクレジット・カード口座データ)を含み得る。そのうえ、支払いデータは、支払いのプリファレンス(たとえば、デフォルト支払い方法)を含むことができる。一般に、支払いデータは、支払いメッセージ・ジェネレータ218が支払いを生成することと関連して使用することができる任意のデータを含んでよい。
上記で簡単に言及されたように、クライアント・デバイス200a、200bに加えて、システム100は、サーバ・デバイス108上で全部または部分的に実施されるネットワーク・アプリケーション204をさらに含むことができる。本開示の1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、ソーシャル・ネットワーキング・システム(限定されるものではないが、フェイスブック(商標)など)を備えるが、他の実施形態では、ネットワーク・アプリケーション204は、限定されるものではないが、電子メール・アプリケーション、検索エンジン・アプリケーション、バンキング・アプリケーション、またはユーザ口座を利用する任意の数の他のアプリケーション・タイプを含む別のタイプのアプリケーションを備え得る。
ネットワーク・アプリケーション204がソーシャル・ネットワーキング・システムを備える1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、複数のユーザおよび概念を表し分析するためのソーシャルグラフ250を含み得る。ソーシャルグラフ250のノード記憶域252は、ユーザ用ノード、概念用ノード、取引用ノード、およびアイテム用ノードを備えるノード情報を記憶することができる。ソーシャルグラフ250のエッジ記憶域254は、ソーシャル・ネットワーキング・システム内で発生するノードおよび/またはアクション間の関係を備えるエッジ情報を記憶することができる。ソーシャル・ネットワーキング・システム、ソーシャルグラフ、エッジ、およびノードに関するさらなる詳細は、以下で図9に関して提示される。
通信マネージャ230は、クライアント・アプリケーション202から受信されたメッセージを処理することができる。たとえば、通信マネージャ230は、クライアント・アプリケーション202のメッセージ・ハンドラ206と対話することができる。通信マネージャ230は、電子メッセージング・スレッド内のユーザ間でやりとりされるメッセージのディレクターとして作用することができる。通信マネージャ230は、クライアント・アプリケーション202からメッセージ(たとえば、支払いメッセージ、または支払いメッセージに関連付けられた支払い取引を示すメッセージ)を受信し、メッセージの意図されたマーチャントを検出して、意図されたマーチャントに関連付けられたクライアント・アプリケーション202(またはデバイス)に対してメッセージを送信し得る。通信マネージャ230が、マーチャントに関連付けられた複数のクライアント・デバイス(すなわち、ユーザがあるバージョンのクライアント・アプリケーション202をインストールした各デバイス)に対してマーチャントのためのメッセージを宛てることができることが理解されるであろう。
加えて、通信マネージャ230は、宛先通信デバイスまたはタイプによって使用されるメッセージング・プロトコルに基づいて、メッセージを再フォーマットするまたは別のやり方でメッセージの内容もしくはフォーマットを修正することもできる。したがって、1つまたは複数の実施形態では、システム100は、異なる通信プラットフォームを使用する参加者がメッセージを交換することを可能にすることができる。たとえば、通信マネージャ230は、第1のプロトコル(SMS、IM、XMPP、APNSなど)でメッセージを受信し、メッセージを第2のプロトコルへと再フォーマットして、再フォーマットされたメッセージを意図されたマーチャントに対して送信することができる。
ステータス・マネージャ232は、クライアント・アプリケーション202および/またはクライアント・デバイス200a、200bのユーザのステータスを追跡することができる。たとえば、ステータス・マネージャ232は、ユーザがいつクライアント・アプリケーション202にログインされるか、ユーザがいつクライアント・アプリケーション202上でアクティブであるか、ユーザまたはユーザ口座に関連付けられたクライアント・デバイスがいつオンラインまたはアクティブであるかを識別することができる。ステータス・マネージャ232は、クライアント・アプリケーション202に対して指示(プッシュ通知など)を送信して、クライアント・アプリケーション202に、ユーザ、デバイス、メッセージ、または支払いのステータスを通知することができる。ユーザ・インターフェース・マネージャ208は、ステータス・マネージャ232から受信された指示に基づいて、ステータス通知を追加、修正、または別のやり方で変更もしくは更新することができる。たとえば、ステータス・マネージャ232は、別のユーザがメッセージにアクセスしたこと、支払いを受信したこと、支払いを送信したこと、アクティブであること、共同ユーザがアクティブなデバイスまたはデバイス・タイプ(たとえば、モバイル対ウェブ)などを示す指示を、クライアント・アプリケーション202に対して送信することができる。ユーザ・インターフェース・マネージャ208は、次に、ユーザにステータスを通知するためにユーザ・インターフェースを更新することができる。
ネットワーク・アプリケーション204は、メッセージ・データベース234も含み得る。メッセージ・データベース234は、複数の参加者間の電子メッセージング・セッションからメッセージの内容を表すメッセージ・データを維持することができる。メッセージ・データベース234は、上記で言及された、ステータス・マネージャ232が追跡する情報を表すステータス・データを維持し得る。したがって、メッセージ・データベース234は、メッセージング・スレッドのアーカイブを提供することができ、これは、要求に応じて、またはユーザが新しいコンピューティング・デバイスを使用してクライアント・アプリケーション202にログインすると、ネットワーク・アプリケーション204がユーザに対して提供することができる。
先に言及されたように、サーバ・デバイス108は、支払いマネージャ240を有する支払いエンジン206を含むことができる。図2の支払いマネージャ240は、支払いメッセージの送信および受信を統合して、支払い取引を開始することができ、1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を用い得る。たとえば、通信マネージャ230が支払いメッセージを受信すると、通信マネージャ230は、支払いマネージャ240に対してあらゆる支払い詳細を送信することができる。支払いマネージャ240は、次いで、支払いメッセージから取り出された支払い詳細を使用して、支払いネットワーク115を使用する支払い取引を開始することができる。
支払いマネージャ240は、支払いメッセージ内で定義された支払いに対応する取引を協調させることができる。上記で一般に説明されたように、支払いマネージャ240は、支払いメッセージに対応する支払いネットワーク115を介して取引を協調させ、取引のステータスを監視し、取引に関するステータス情報を提供することができる。より具体的には、上記で図1に関して説明されたように、支払いネットワーク115は、取引を許可し、取引に資金供給し、かつ/または個々の取引もしくは取引のバッチを決済することができる。1つまたは複数の実施形態では、支払いマネージャ240は、1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を使用して、関係のある情報を支払いネットワーク115と通信することができる。
取引を完了するために、支払いマネージャ236は、マーチャントのための支払いクレデンシャル(預金口座情報、デビット・カード、クレジット・カード、ギフト・カード、電子財布など)にアクセスするまたはこれを取得することができる。支払いマネージャ236は、さまざまな方法を使用して、マーチャントの支払いクレデンシャルを取得することができる。1つの例となる実施形態では、マーチャントは、ネットワーク・アプリケーション204を用いて1つまたは複数の預金口座または他の支払いクレデンシャルを登録することができる。たとえば、マーチャントは、異なるマーチャントと使用するために複数の支払いクレデンシャルを登録することができる。ユーザが預金口座または他の支払いクレデンシャルを登録すると、ユーザ・プロファイル・データベース240は、支払いクレデンシャルを維持することができる。
支払いマネージャ240が支払い情報を受信した後、支払いマネージャ240は、マーチャントを識別することができる。支払いマネージャ240は、ユーザ・プロファイル・データベース236内のマーチャントを調べて、マーチャントに承認された支払いクレデンシャルをマーチャントが登録しているかどうかを決定することができる。具体的には、マーチャントは、ユーザとの支払い取引に使用するために好ましいまたは必要とされる支払いクレデンシャルを設定することができる。この時点で、支払いマネージャ240は、取引を開始することができる。
マーチャントのユーザ・プロファイルが支払いクレデンシャルを含まない場合、支払いマネージャ240は、マーチャントに支払いクレデンシャルを提供することを促すメッセージをマーチャントに送信するように通信マネージャ230に指示することができる。メッセージは、マーチャントが支払いクレデンシャル詳細を提供することを可能にする1つまたは複数の対話型フィールドを提供することによって、支払いクレデンシャルを登録するようにマーチャントに促し得る。加えて、または代替的に、マーチャントが、登録された支払いクレデンシャルを有しないことを決定すると、支払いマネージャ240は、一時預金を生成することができる。詳細には、支払いマネージャ240は、口座番号を生成し、その口座番号をマーチャントのユーザ・プロファイルと関連付けることができる。1つまたは複数の実施形態では、マーチャントは、すでに一時口座を有しているかもしれず、そのため、支払いマネージャ240は、以前に作成された一時口座を使用して取引を完了することができる。特に、一時口座は、支払いマネージャ240が、消費者またはマーチャントのどちらかの観点から支払いプロセスを遅延させることなく取引の処理に直ちに進むことを可能にする。
口座マネージャ244は、ネットワーキング・アプリケーションに関連して1つまたは複数の一時口座を管理することが可能である。たとえば、支払いが完了すると、支払いマネージャ240は、支払い額を一時口座に預けることができる。1つまたは複数の実施形態では、マーチャント(たとえばマーチャント)は、ユーザ(たとえば消費者)との任意の支払い取引に入る前に、口座マネージャ244を用いて一時口座を設けることができる。1つまたは複数の実施形態では、支払いマネージャ240は、金銭が一時口座にありマーチャントの登録預金口座に移動させる準備ができると、マーチャントに対して通知を送信することを、通信マネージャ230に行わせることができる。他の実施形態では、マーチャントが消費者に対して金銭を払い戻すとき、たとえば、支払いマネージャ240は、通信マネージャ230に、一時口座から登録された預金口座へ金銭を移動するためのハイパーリンクおよび/または命令を消費者へ送信させることができる。
支払いネットワーク115を介して取引を協調させることに加えて、支払いマネージャ240は、1つまたは複数のシステム・ユーザ口座に関して取引を協調させることもできる。1つまたは複数の実施形態では、支払いエンジン206は、ギフト・カード口座、キャッシュ・カード口座、または類似のタイプのユーザ口座などのユーザ・キャッシュ口座をサポートすることができる。消費者は、支払いの方法として消費者のユーザ・キャッシュ口座を規定することができ、同様に、マーチャントは、登録された預金口座としてマーチャント・キャッシュ口座を設定することができる。そのため、少なくともいくつかの実施形態では、取引全体、または取引の実質的に全体は、支払いエンジン206内で処理されることが可能である。
図2の支払いマネージャ240は、通信マネージャ230から受信された情報を協調させることに関係してさまざまな機能を実行して、支払い要求を要求および承認し、支払いプロセスを協調させ得る。たとえば、支払いマネージャ240は、支払いクレデンシャルを作成および記憶することができる。より具体的には、ユーザは、ネットワーク・アプリケーションとの口座をすでに有するので、すでに登録されたユーザであるかもしれず、または依然として口座をセット・アップする必要があるかもしれない。1実施形態では、ユーザの少なくとも一部はまた、ソーシャル・ネットワーキング・システムのメンバであり、システム100を使用してメッセージするときにも使用されるソーシャル・ネットワーキング口座に関連付けられた識別子(「ID」)およびユーザ・プロファイルをすでに有することができる。代替的に、他のユーザが、ソーシャル・ネットワーキング・システムのメンバでなく、口座を作成してシステム100の登録されたメンバになる必要があることがある。この例では、支払いマネージャ240は、これらのユーザから(クライアント・アプリケーション202を介して)日付を受信して口座を作成し、次いで、これらのユーザのための一意のIDおよびユーザ支払いプロファイルを作成することができ、これらは後で支払いプロセス中に参照される。場合によっては、支払いマネージャ240はまた、欠けているかもしれない支払いプロファイル特徴を含むように、以前のソーシャル・ネットワーキング・ユーザのユーザ・プロファイルを増やしてよい。
口座をセット・アップするまたは増やす際、ユーザは、クレジット・カード、デビット・カード、預金口座または他の銀行口座、ギフト・カード口座、店舗クレジット口座などの1つまたは複数の支払いクレデンシャルを提出することができる。支払いの方法を追加するとき、ユーザは、カード番号および/または口座番号、有効期限、セキュリティ・コード、移動またはルーティング識別番号、ならびに金銭移動のために必要とされる銀行情報を提出するように求められることが可能である。ユーザは、個人識別番号(PIN)などの許可コードを作成する、または、たとえば単一の支払い方法のみを提供するとき、クレジット・カードのセキュリティ・コードを使用する、または、何らかの他の許可コードを提供することもできる。ユーザは、支払いのデフォルト方法を選択することもできる。
それに応じて、ユーザ・プロファイル・データベース236によって記憶されるユーザ支払いプロファイルは、各登録されたユーザ(ソーシャル・ネットワーキング・ユーザとしてであろうと、および/またはメッセージング・ユーザとしてであろうと)のために一意に作成されたユーザ(またはグループ)IDを含むことができる。ユーザ・プロファイル・データベース236は、ネットワーク・アプリケーション204のユーザの支払いクレデンシャルのための記憶領域を提供することができる。たとえば、ユーザは、ネットワーク・アプリケーション204との「口座」を作成することができ、これは、ユーザがネットワーク・アプリケーション204に対して支払い情報を提供することを可能にする。次いで、ネットワーク・アプリケーション204は、その支払い情報をユーザ・プロファイル・データベース236に保存することができる。1つまたは複数の実施形態では、ユーザ・プロファイル・データベース236は、名(ファースト・ネーム)、ミドル・ネーム、姓(ラスト・ネーム)、支払いカード番号(たとえば、クレジット・カード、デビット・カード)、支払いカードの有効期限(年および/または月)、支払いカードのカード・セキュリティ・コード(たとえば、カード確認値(CVVまたはCVV2))、支払いカードに関連付けられた勘定書送付先住所(通りの名称、家屋番号、都市、州または県、郵便番号、国などを含む)、支払いカードに関連付けられた電話番号、1つまたは複数の届け先住所(勘定書送付先住所と類似のフィールドを含む)、のうちの1つまたは複数を、ユーザに関係して記憶することができる。支払いカードがデビット・カードを備えるとき、プロファイル記憶モジュールは、デビット・カードのための個人識別番号(PIN)を記憶することもできる。ネットワーク・アプリケーション204がソーシャル・ネットワーキング・システムを備える実施形態では、ユーザ・プロファイル・データベース236の中に記憶される支払い情報は、ユーザを表すノード記憶域252のノードに関連付けられ得る。
1つまたは複数の追加実施形態では、支払いマネージャ240は、リスク算出部238と通信して、消費者、マーチャント、および/または特定の支払い取引に関連付けられたリスクを決定することができる。具体的には、リスク算出部238は、詐欺的な支払い取引を防止するために、消費者/マーチャントに関連付けられた情報に基づいて、消費者/マーチャントが詐欺行為者であるかどうかを決定することができる。たとえば、リスク算出部238は、ネットワーク・アプリケーションに関連する消費者/マーチャントに関連付けられたアクティビティまたは情報に基づいて、詐欺的なアクティビティの可能性を決定することができる。支払い取引に関わるユーザに関連付けられたリスクを決定することは、特に、デビットへの入金(push−to−debit)取引を処理するとき、マーチャントが特定のユーザに払い戻しを行うかどうかを決めるとき、またはマーチャントが適法な企業であるかどうかを決定するときに有用であり得る。種々の実施形態において、リスク算出部238は、支払い取引または通信プロセスの任意の時点で1つまたは複数のリスク・チェックを実行することができる。
たとえば、1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、消費者/マーチャントまたはマーチャントに関連付けられたリスクが特定の閾値を満たすかどうかを決定することができる。特に、ネットワーク・アプリケーション204は、「現実(realness)」スコアに基づいて、消費者/マーチャントが詐欺行為者(たとえば、本物の人物として投稿する詐欺アカウントまたはソフトウェア)であるかどうかを決定することができる。たとえば、消費者/マーチャントに関連付けられたリスクが所定の閾値未満(すなわち、高いリスク・レベル)である場合、ネットワーク・アプリケーション204は、消費者/マーチャントが詐欺行為者である可能性が高いと決定し、支払いエンジン206に消費者/マーチャントが詐欺行為者であると通知することができる。消費者/マーチャントが高いリスク・レベルを有する場合、支払いエンジン206は、消費者とマーチャントとの間の支払い取引を停止することができる。
例示するために、ネットワーク・アプリケーション204は、ユーザが、1人または複数の共同ユーザによってソーシャル・ネットワーキング・システムに投稿されたメディアにおいてタグ付けされているか、ユーザの共同ユーザが、ユーザの誕生日を認識したか(すなわち、ユーザに「ハッピー・バースデー」を祝ったか)、ネットワーク・アプリケーション204を介してユーザとユーザの共同ユーザとの間で交換されたメッセージの数もしくは量、ユーザの共同ユーザが、ユーザによりなされた投稿に対して同意または連帯を示しているか(すなわち「いいね」を表明しているか)、および/または、ユーザの共同ユーザが、ユーザによりなされた投稿に対してコメントしているか、に基づいてユーザに対する現実スコアを決定することができる。加えて、または代替的に、ネットワーク・アプリケーション204は、ユーザが、所定の時間にわたりソーシャル・ネットワーキング・システムのメンバであるか、予め承認された発信ロケーションに住んでいるか、宛先ロケーションとの所定レベルのソーシャル・ネットワーク・アクティビティを有しているか、閾値の現実スコアを有しているかなどを決定することができる。別の例では、ネットワーク・アプリケーション204は、ユーザと共同ユーザがソーシャル・ネットワーキング・システム上の友人であるかどうか、ある数の分離度の範囲内であるかどうかなどを含む、ユーザと共同ユニットとの間の関係に基づいて、ユーザに関するリスクを決定することができる。加えて、ネットワーク・アプリケーション204は、支払い取引に関する情報を使用して、支払い額(たとえば、支払い額が非現実的な額を含む)などに基づいて、支払い取引が詐欺または誤りであるかを決定することができる。
追加実施形態では、消費者/マーチャントに関連付けられたリスクを決定した後、ネットワーク・アプリケーション204は、リスクに関連して1つまたは複数のアクションを実行することができる。具体的には、ネットワーク・アプリケーション204は、ユーザの身元をネットワーク・アプリケーション204が確認することを可能にするアクションを実行することができる。たとえば、ネットワーク・アプリケーション204は、ユーザが自身で称するユーザであることを示す情報を、ユーザに要求することができる。例示するために、ネットワーク・アプリケーション204は、ユーザのリスク・レベルまたは現実スコアに基づいて、パスワード入力、ユーザの登録された支払いクレデンシャルのいくつかの桁、個人的な秘密の質問、視覚的識別情報(たとえば写真)のアップロード、または他の識別メカニズムを要求することができる。
追加実施形態または代替実施形態では、ネットワーク・アプリケーション204は、ユーザのリスク・レベルの決定に応答して、支払いメッセージまたは支払い取引に関して1つまたは複数のアクションを自動的に行うことができる。具体的には、ネットワーク・アプリケーション204は、ユーザに追加の情報を要求することなく、消費者とマーチャントとの間の支払いメッセージまたは対応する支払い取引に影響を与えるアクションを実行することができる。たとえば、ネットワーク・アプリケーション204は、支払い取引を可能にすること、(たとえば、ユーザの支払いクレデンシャルの銀行により)検討するために支払い取引を保留すること、支払い取引を阻止すること、ユーザの口座を無効にすること、または、中間口座を使用せずに(たとえば、消費者の口座からマーチャントの口座へ直接的に)取引を処理することが可能である。
いずれにしても、消費者から支払いメッセージを受信すると、支払いマネージャ240は、消費者のユーザ(またはグループ)IDを検出し、そのユーザ(またはエンティティ)についての支払いプロファイルを取り出すことができる。次いで、支払いマネージャ240は、支払い額、消費者、およびマーチャントに関連付けられた取引IDを含む取引パッケージを生成することができる。取引IDは、システム100が消費者の口座から、一時または中間口座内、さらにマーチャントの口座への金銭を追跡する助けになり得る。いくつかの例では、システム100は、ユーザに取引IDに対するアクセスを提供して、対応する支払い取引中の金銭の移動を追跡することを可能にする。加えて、取引IDは、システム100が以前の取引に関するマーチャントからユーザへの払い戻しを促進する助けになり得る。
取引パッケージはまた、デフォルト支払い方法および関連情報を含むことができるが、消費者が、代替支払い方法を用いてマーチャントに対して支払いを送信することを選択した場合は、そうではなく、取引パッケージは、代替支払い方法についての支払い情報を含むことができる。次いで、支払いマネージャ240は、取引パッケージを支払いネットワーク115に対して送信して、支払い許可プロセスを開始し得る。
1つまたは複数の実施形態では、支払い取引を開始し、支払いネットワーク115から、支払いネットワーク115が支払い取引を成功裏に処理したことを示す応答を受信した後、支払いマネージャ240は、支払い額がユーザから受信されたことを示す支払いメッセージを生成すること、および/またはそのメッセージをクライアント・デバイス200bに対して送信することができる。したがって、支払いマネージャ240は、クライアント・デバイス200bのクライアント・アプリケーション202に表示されるメッセージと関連して、支払い取引が成功したことをクライアント・デバイス200bに通知することができる。いくつかの実施形態では、支払いマネージャ240は、ネットワーク・アプリケーション204からクライアント・デバイス200bに対するメッセージの後、前、または並行して、支払いメッセージをクライアント・デバイス200bに対して送信することができる。
支払いマネージャ240は、支払いプロセスを効果的に管理するために、さまざまな他の追加の工程および方法を実行することができる。1つまたは複数の実施形態では、たとえば、支払いメッセージを受信すると、支払いマネージャ240は、取引IDを生成し、取引IDと、支払いメッセージおよび/または支払いメッセージ内の支払い情報とを関連付けることができる。たとえば、取引IDを生成すると、支払いマネージャ240は、取引IDおよび支払い情報を取引データベース242に送信することができる。取引データベース242は、取引IDに従って取引情報を記憶するデータ・テーブルまたは類似のデータ行列を含むことができる。
図2の取引データベース242は、試行または完了した各取引について(グラフ・オブジェクトの形式などで)、取引ID、日付、取引の額、使用された支払い方法、取引に関連する消費者とマーチャントとの間でやりとりされた関連付けられたメッセージ、および取引に関して収集された他の任意の情報のための記憶域を提供することができる。この情報を用いて、支払いマネージャ240は、要求に応じて、要求された支払い、拒否された支払い、および完了された支払いの履歴として、1つまたは複数の取引の概要をユーザに対して提供することができる。
1つまたは複数の実施形態では、取引IDが特定の支払いメッセージに関連付けられた後、取引IDは、特定の支払いに関係するシステム内の実質的にすべての通信に含まれまたは埋め込まれることが可能である。したがって、取引IDは、支払いマネージャ240が、編成された様式で多数の支払いを管理および処理することを可能にする。たとえば、支払いマネージャ240は、クライアント・デバイス200a、200bに対して送信される任意の情報の中に取引IDを含めるための命令を含むことができる。代わりに、メッセージング・ハンドラ210が、クライアント・デバイス200a、200bから送信される任意の情報の中に取引IDを含めることもでき、そうすることで、たとえばマーチャントから消費者に対して払い戻しを行うとき、支払いマネージャ240が、その情報が対応する特定の取引を効率的かつ確実に識別することが可能になる。
1つまたは複数の実施形態では、取引IDは、1つまたは複数の消費者識別子、マーチャント識別子、スレッド識別子(たとえば、消費者とマーチャントとの間のメッセージング・スレッドを識別する)、支払い額、支払い方法(たとえば、消費者口座)、預金方法(たとえば、マーチャント口座)、取引履歴、現在の取引状況ならびに他の取引情報に関連付けられ得る。1つまたは複数の実施形態では、取引データベース242は、取引に関する任意の更新またはアクションにより更新される1つまたは複数のグラフ・オブジェクトの形で取引情報を維持する。
論じられたように、上記で図1〜図2に関して論じられたシステムおよび構成要素は、消費者が、統合されたメッセージングおよび支払いシステム100を介してマーチャントに対して支払いを容易に、効果的に、かつ安全に送信することを可能にすることができる。図3A〜図3Dは、上記で論じられたシステム100によって実施されるプロセスの1つまたは複数の例となる実施形態の例となるプロセス図を例示する。図1および図2に例示されるシステム100に一致して、図3A〜図3Dは、クライアント・アプリケーション202を有する(ユーザに関連付けられた)消費者クライアント・デバイス200aと、クライアント・アプリケーション202を有する(マーチャントに関連付けられた)マーチャント・クライアント・デバイス200bと、ネットワーク・アプリケーション204および支払いエンジン206をサポートするサーバ・デバイス108と、支払いネットワーク115とを例示する。
1つまたは複数の実施形態では、ユーザがシステム100を介してマーチャントに対して支払いを送信するためのプロセスは、マーチャントが支払い要求メッセージ300を送信することで始めることができる。具体的には、支払い要求メッセージ300は、マーチャントにより提供される製品またはサービスに対する支払い額を示す支払いメッセージであり得る。たとえば、マーチャントは、メッセージング・スレッド内の消費者から、消費者が購入したい製品を示すメッセージを受信することができる。代替的に、マーチャントは、メニューまたは製品リスト(たとえば、クライアント・アプリケーション202内で消費者に提供されるメニュー)内からの消費者による選択を受信することができる。さらに他の実施形態では、ネットワーク・アプリケーション204が、広告を備える(すなわち、購入を提案する)ことができる。ネットワーク・アプリケーション204は、ソーシャルグラフ250に記憶されたマーチャントまたは消費者に関する情報に基づいて広告を選択することができる。たとえば、ネットワーク・アプリケーション204は、ユーザがコーヒーを好み、コーヒーを売る新しいマーチャントが存在することを決定することができる。そのような例では、ネットワーク・アプリケーション204は、マーチャントからの購入の提案を含む支払い要求メッセージを消費者に送信することができる。
支払い要求メッセージのコンテナ(すなわちコンテンツ)は、消費者の識別子、マーチャントの識別子、支払い額、製品/サービスID、通貨タイプ、メッセージ・スレッド識別子、およびタイム・スタンプを含み得る。以下で説明されるように、支払い要求メッセージの上記コンテンツは、ネットワーク・アプリケーション204および/または支払いエンジン206が支払いを追跡および処理することを可能にすることができる。たとえば、支払いエンジン206は、マーチャントIDを使用して、マーチャント口座および支払いクレデンシャルにマッピングする(すなわち、それらを識別する)ことができる。同様に、支払いエンジン206は、消費者/ユーザIDを使用して、ユーザ支払いクレデンシャルにマッピングする(すなわち、それを識別する)ことができる。特に、支払いが処理されるとき、支払いエンジン206は、消費者/ユーザIDを使用して、消費者の支払いクレデンシャルを識別して支払い額を請求することができる。次いで、支払いエンジン206は、マーチャントIDを使用して、マーチャントの口座を識別して資金を適用または送信することができる。
ネットワーク・アプリケーション206は、消費者IDおよびマーチャントIDを使用して、マーチャントと消費者との間の対話を追跡することができる。たとえば、ネットワーク・アプリケーション206は対話を追跡して、取引に関するデータをソーシャルグラフ250に追加することができる。特に、ネットワーク・アプリケーション206は、消費者IDおよびマーチャントIDを使用して、ソーシャルグラフ250で消費者とマーチャントを関連付ける(すなわち、マーチャントの友人リストに消費者を追加する、またはその逆を行う)ことができる。同様に、ネットワーク・アプリケーション206は、消費者IDおよびマーチャントIDを使用して、消費者(ユーザ・ノード)とマーチャントを表すノードとの間のエッジを形成することができる。
メッセージ・スレッド識別子は、ネットワーク・アプリケーション204が支払い要求メッセージを特定のメッセージ・スレッドに関連付けることを可能にすることができる。特に、ネットワーク・アプリケーション204は、メッセージ・スレッド識別子を使用して支払い要求メッセージをメッセージ・データベース234に書き込むことができる。これにより、マーチャントまたは消費者がメッセージ・スレッドを後で取り出すまたは見直すことを可能にすることができる。
支払い要求メッセージ300は、支払い取引に関連付けられた取引IDも含むことができる。たとえば、取引IDは、マーチャントおよび/またはサーバ・デバイス108が消費者、製品、価格、およびマーチャントを一緒に関連付けられるようにして取引の追跡を可能にすることができる。たとえば、以下で説明されるように、取引IDは、システム、マーチャント、または消費者が、購入、支払い、および購入の履行を追跡することを可能にすることができる。
加えて、または代替的に、支払い要求メッセージ300は、購入されることになる製品/サービスに関連付けられた製品IDを含んでよい。製品IDは、購入が行われたとき、マーチャントが在庫品を追跡し注文を履行することを可能にすることができる。さらに、1つまたは複数の実施形態では、製品IDは、製品またはサービスの価格をリンクするまたは別のやり方で提供することができる。
1つまたは複数の実施形態では、製品IDは、グラフ・オブジェクトIDを含むことができる。グラフ・オブジェクトIDは、ソーシャルグラフ250における製品またはサービスのノードを識別することができる。ネットワーク・アプリケーション204は、マーチャントが製品を販売することを示す、マーチャント・ノードと製品ノードとの間のエッジを作成することができる。関係のある線に沿って、ネットワーク・アプリケーション204は、消費者が製品に関心を有するまたは製品を購入していることを示す、製品ノードと消費者/ユーザ・ノードとの間のエッジを作成することができる。
1つまたは複数の実施形態では、支払い要求メッセージ300は、設定された時間にわたってのみ有効とされてもよい。特に、マーチャントが、価格および在庫を調整するために、支払い要求メッセージが所定の時間において有効であると決定してもよい。そのため、支払い要求メッセージ300は、有効時間もしくは期限、有効時間枠、または他の有効期間のインジケータを含むことができる。ネットワーク・アプリケーション204または支払いエンジン206は、支払い要求メッセージ300の期限が切れた場合、取引を拒否または拒絶することができる。
支払い要求メッセージ300を受信すると、ネットワーク・アプリケーション204または支払いエンジン206は、ユーザのメッセージング口座に関連付けられたクーポン、特売、ロイヤルティ報酬などの値引きを、指定された製品の支払い取引に対して適用することを決定することができる。たとえば、ネットワーク・アプリケーション204は、消費者/ユーザID、マーチャントID、製品ID、または支払い要求メッセージ300の他の部分を使用して、値引きが取引に適用されるべきかどうかを決定することができる。ネットワーク・アプリケーション204が値引きを適用すると決定した場合、ネットワーク・アプリケーション204は、支払い要求メッセージ300を消費者クライアント・デバイス200aに対して転送する前に、値引きコードまたは識別子を支払い要求メッセージ300に追加することができる。同様に、支払いエンジン206またはネットワーク・アプリケーション204は、支払い要求メッセージに含まれる支払い額を修正することができる。
消費者クライアント・デバイス200aが支払い要求メッセージ300を受信した後、消費者は、ユーザ入力をクライアント・アプリケーション202に提供して許可要求を送信する(302)ことができる。具体的には、消費者は、システム100においてマーチャントと支払い取引を行うために、消費者のユーザ口座に支払いクレデンシャルを関連付けることができる。クライアント・アプリケーション202は、図3Aに示されるように、消費者クライアント・デバイス200aに、許可要求を支払いシステムに対して送信させることができる。
任意選択で、支払いエンジン206は、支払いの額または別の額(たとえば、0.01ドルまたは100.00ドル)についての消費者の支払いクレデンシャル(たとえば、消費者のデビット・カードまたはクレジット・カード)に対する許可要求を、支払いネットワーク115に対して送信する(304)ことができ、支払いネットワーク115は、支払い許可を承認または拒否することができる。次いで、支払いネットワーク115は、支払いクレデンシャル許可応答を支払いエンジン206に転送する(306)ことができる。任意選択の許可要求が、タイムライン内でより早くまたはより遅く行われ得ることは理解されるであろう。代替実装形態では、支払いエンジン206は、支払い取引要求338の一部として支払いの額について消費者の支払いクレデンシャルに対する許可要求を送信することができる。次いで、支払いエンジン206は、許可応答308を消費者クライアント・デバイス200aに対して送信して、支払いクレデンシャルが支払い額について許可されたことを消費者クライアント・デバイス200に通知することができる。
1つまたは複数の実施形態では、消費者クライアント・デバイス200aは、支払い要求メッセージ300に応答して支払いメッセージ310を生成することができる。支払いメッセージ310は、支払い要求メッセージ310と同じ内容を含み、消費者の支払いクレデンシャルに請求する許可を提供することができる。特に、支払いメッセージ310は、消費者の識別子、マーチャントの識別子、支払い額、製品/サービスID、通貨タイプ、メッセージ・スレッド識別子、およびタイム・スタンプを含み得る。
加えて、クライアント・アプリケーション202は、図3Aに示されるように、消費者クライアント・デバイス200aに、支払いメッセージをネットワーク・アプリケーション204に対して送信させる312ことができる。1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、支払いメッセージからの情報の少なくとも一部を支払いエンジン206に対して通信することができる。加えて、または代替的に、支払いエンジン206は、支払いメッセージに関連して消費者クライアント・デバイス200aから情報を取得することができる。
1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、上記で説明されたように、消費者のリスクを決定する(314)ことができる。たとえば、ネットワーク・アプリケーション204は、消費者、マーチャント、および/または消費者とマーチャントとの間の関係に関連付けられた情報を使用して、支払いエンジン206が支払い取引を処理するべきかどうかを決定することができる。具体的には、ネットワーク・アプリケーション204は、消費者に関連付けられたリスクを決定し、リスク・レベルを支払いエンジン206に通知することができる。ネットワーク・アプリケーション204は、消費者とマーチャントとの間の支払い取引を処理するかどうかを決定することができる。図3Aでは支払い取引の処理中の特定の時点にリスク・チェックを示しているが、リスク・チェックは、以下で説明されるように、マーチャントの口座に金銭を移動する前の支払い取引における任意の時点、たとえば、金銭が中間または一時口座にある間に行われてもよい。
任意選択で、支払いメッセージを受信すると、またはリスクを決定した後、支払いエンジン206はトークンを生成する(316)ことができる。トークンは、支払いエンジン206がその後の支払い要求に応答して、消費者に関連付けられた支払いクレデンシャルを取り出すことを可能にし得る。特に、ネットワーク・アプリケーション204は、記憶された支払いクレデンシャルに対するポインタとして、「トークン」と呼ばれるランダム・ストリングを返すことができる。トークンは、好ましくは、支払いクレデンシャルが、トークン自体に基づいて(単にトークンに対して復号アルゴリズムを適用することなどによって)導き出されることができないように、支払いクレデンシャルとアルゴリズム的な関係を有しない。それに応じて、このトークンは、支払いエンジン206を使用せずに機密データを外挿することが可能でないランダム・ストリングであるので、カードホルダ・データと考えられず、支払いエンジン206は、支払いクレデンシャルとそれが対応するトークンのリストを含有する。支払いエンジン206によって生成される支払いトークンは、以下でより詳細に説明されるように、支払い要求の検証を可能にすることができる。支払いエンジン206は、その後の支払い取引において消費者および/または支払いクレデンシャルを検証するために、消費者クライアント・デバイス200aに対してトークンを提供する(318)ことができる。
代替的に、クライアント・アプリケーション202は、ネットワーク・アプリケーション204および/または支払いエンジン206についての消費者のユーザ識別子を取得し、識別し、または別のやり方で発見することができる。たとえば、クライアント・アプリケーション202は、消費者のコンピューティング・デバイス200aに存在するユーザの難読化された(たとえば、ハッシュ化され、暗号化され、または別のやり方でアルゴリズム的に変換された)ユーザ識別子にアクセスすることができる。このユーザ識別子は、ネットワーク・アプリケーション204(たとえば、ソーシャル・ネットワーキング・アプリケーション)および/または支払いエンジン206のそのユーザについてのユーザ・プロファイル/アカウントを識別することができる。本開示の1つまたは複数の実施形態では、ユーザ識別子は、ネットワーク・アプリケーション204および/または支払いエンジン206によってアクセスまたは確保された共有メモリの一部から入手され、ユーザがネットワーク・アプリケーション204に現在「ログオン」している場合にのみ存在し得る。1つまたは複数の他の実施形態では、ユーザ識別子は、ユーザのコンピューティング・デバイス200a上のクッキー(たとえば、ハイパーテキスト転送プロトコル(HTTP)クッキー)から、またはアプリケーション・キャッシュ(たとえば、ハイパーテキスト・マークアップ言語バージョン5(HTML5)アプリケーション・キャッシュ)から、入手される。
クライアント・アプリケーション202は、支払いメッセージ302と共に難読化されたユーザ識別子を送信することができる。1つまたは複数の実施形態では、次いで、ネットワーク・アプリケーション204および支払いエンジン206の一方または両方が、難読化されたユーザ識別子が妥当であることを確認することができる。ユーザのコンピューティング・デバイス200a上でのネットワーク・アプリケーション204のための適切な難読化されたユーザ識別子の存在は、消費者がサーバ・デバイス108によってすでに認証されていることを示すので、このプロセスは、消費者の認証として働き得る。消費者が認証されると、消費者は、ネットワーク・アプリケーション204と関連して他のユーザと通信し、支払いエンジン206と関連して支払い取引に入ることを可能にされる。
支払いエンジン206が消費者または支払いクレデンシャルを検証できない場合、支払いエンジン206は、消費者クライアント・デバイス200aに対して通信を送信し、支払いが許可できなかったことを示すエラー・メッセージを消費者に対して提示することをクライアント・アプリケーション202に行わせることができる。1つまたは複数の実施形態では、エラー・メッセージは、消費者が追加の許可情報を提供する、諸条件に同意する、または別のやり方で身元を実証することを促す試みを含むことができる。その後、消費者クライアント・デバイス200aは、改められた支払い要求をネットワーク・アプリケーション206に対して送信することができる。ネットワーク・アプリケーション204は、次いで、消費者/支払いクレデンシャルを検証しようとすることができる。ネットワーク・アプリケーション204が、消費者/支払いクレデンシャルを検証することができない場合、支払いエンジン206は、支払いメッセージ302に基づいて支払い取引を終了させてよい。
トークンを提供する、または消費者/支払いクレデンシャルを検証すると、支払いエンジン206は、図3Aに例示されるように、取引IDを生成する(320)ことができる。上記で説明されたように、支払いエンジン206は、一意の取引IDを、受信された各支払いメッセージに対して関連付けることができる。支払いエンジン206およびネットワーク・アプリケーション204は、さまざまなファイル、オブジェクト、メッセージ、および他の情報の中の取引IDを使用して、ネットワーク・アプリケーション204が、メッセージ、ステータス更新、およびネットワーク・アプリケーション204を介してなされる各支払いに関する他の情報を効率的に識別および処理することを可能にすることができる。たとえば、上記で説明されたように、支払いエンジン206は、取引IDを、支払いメッセージを処理することに対応する情報を維持するグラフ・オブジェクトと関連付けることができる。
支払いメッセージ310を送信することに応答して、またはネットワーク・アプリケーション204もしくは支払いエンジン206からの信号に応答して、クライアント・アプリケーション202は、支払いメッセージ内容を投稿する(322)ことができる。たとえば、ユーザ・インターフェース・マネージャ208は、送信されたメッセージとして消費者とマーチャントとの間のメッセージング・スレッドに対して支払いメッセージのテキストを追加することができる。
同様に、ネットワーク・アプリケーション204は、マーチャント・クライアント・デバイス200bに対して支払いメッセージ内容を送信する(326)ことができ、したがって、マーチャント・クライアント・デバイス200bのクライアント・アプリケーション202は、支払いメッセージ内容を投稿する(328)ことができる。たとえば、ユーザ・インターフェース・マネージャ208は、受信されたメッセージとして消費者とマーチャントとの間のメッセージング・スレッドに対して支払いメッセージのテキストを追加することができる。
支払いメッセージ内容326をマーチャント・クライアント・デバイス200bに対して送信する前、後、または間に、支払いエンジン206は、支払いメッセージにより提供された情報を使用して、特定のマーチャントのマーチャントIDを確認し(323)、マーチャントがファイル上に支払いクレデンシャル(たとえば、受け取り口座)を有するかどうかを決定する(324)ことができる。たとえば、支払いエンジン206は、マーチャント識別子(たとえば、ユーザ名、フランチャイズ番号、または他のID)を使用して、ユーザ・プロファイル・データベース236内でマーチャントのユーザ・プロファイルを調べて、特定のマーチャントを識別し、ユーザ・プロファイルがそれに関連付けられた支払いクレデンシャルを有するかどうかを決定することができる。マーチャントが支払いクレデンシャルを有する場合、支払いエンジン206は、マーチャントおよび/または支払いクレデンシャルを検証することができる。代替的に、マーチャントが支払いクレデンシャルを有しない場合、支払いシステムは、マーチャントが支払いクレデンシャルを提供することを要求することができる。任意選択で、支払いクレデンシャルを検証すると、支払いエンジン206は、消費者に対するトークンと同様にマーチャント・クライアント・デバイス200bに対してトークンを提供する(330)ことができる。
マーチャントがファイル上に支払いクレデンシャルをすでに有しているかに応じて、この時点でまたは前に、支払いエンジン206は、検証工程を実行して、マーチャントおよび/または支払いクレデンシャルを検証することができる。たとえば、クライアント・アプリケーション202は、上記で消費者を検証することに関係して説明されたように、ネットワーク・アプリケーション204のためのマーチャントのユーザ識別子を取得し、識別し、または別のやり方で発見することができる。マーチャント・クライアント・デバイス200b上のクライアント・アプリケーション202は、支払いメッセージ内容の受信に応答して、難読化されたユーザ識別子をネットワーク・アプリケーション204に対して送信することができる。ネットワーク・アプリケーション204は、次いで、難読化されたユーザ識別子が妥当であることを確認することができる。マーチャント・コンピューティング・デバイス200b上でのネットワーク・アプリケーション204のための適切な難読化されたユーザ識別子の存在は、マーチャントがネットワーク・アプリケーション204によってすでに認証されていることを示すので、このプロセスは、マーチャントの認証として働き得る。
ネットワーク・アプリケーション204が消費者または支払いクレデンシャルを検証できない場合、ネットワーク・アプリケーション204は、マーチャント・クライアント・デバイス200bに対して通信を送信し、支払いが許可できなかったことを示すエラー・メッセージをマーチャントに対して提示することをクライアント・アプリケーション202に行わせることができる。1つまたは複数の実施形態では、エラー・メッセージは、マーチャントが追加の許可情報を提供する、諸条件に同意する、または別のやり方で身元を実証することを促すプロンプトを含むことができる。
支払いエンジン206は、資金をマーチャントの支払いクレデンシャルに対して移動するための支払いまたはルーティング方法332を選択することができる。1つまたは複数の実施形態では、支払いエンジン206は、マーチャントに利用可能な支払いクレデンシャルに基づいて、どの支払い方法を使用するかを決定することができる。たとえば、支払いエンジン206は、マーチャントによりサポートされる支払いクレデンシャルを選択することができる。加えて、または代替的に、支払いエンジン206は、消費者からの支払いメッセージのフォーマッティングに基づいて、支払い方法を選択することができる。他の実施形態では、支払いエンジン206は、消費者および/もしくはマーチャントに関連付けられたリスク、支払いエンジン206に対するコスト、消費者/マーチャントに対するコスト、支払い方法の信頼性、ならびに/またはマーチャントの口座に金銭が速やかに現れる程度に基づいて、どの支払い方法を使用するかを決定することができる。
いくつかの実施形態では、支払いエンジン206は、消費者が支払い方法のタイプを選択することを可能にしてもよい。特に、支払いエンジン206は、消費者に利用可能な支払い方法のリストを提示して、消費者がデビット・カード、クレジット・カード、ギフト・カードなどを選択することを可能にすることができる。ユーザによる支払い方法の選択を検出すると、支払いエンジン206は、選択された支払い方法についての請求を発行し、それに応じて支払い口座を処理することができる。
1つまたは複数の実施形態では、システムは、消費者の口座からの資金供給要求を処理し、支払いをマーチャントの口座に預けることを別個にすることができる。1つまたは複数の実施形態では、たとえば、消費者の口座は、第1の支払いネットワーク上でアクセス可能であり得るのに対して、マーチャントの口座は、第2の支払いネットワーク上で利用可能である。このような状況では、支払いを処理するために、支払いエンジン206は、支払いを処理するための中間段階として作用することができる。
支払いエンジン206は、支払い額が消費者の支払いクレデンシャルに対して請求され336、支払いエンジン206に対して送信されることを要求する支払い請求要求334を、支払いネットワーク115に対して送信することができる。1つまたは複数の実施形態では、支払いエンジン206は、支払い請求要求、およびマーチャント・クライアント・デバイスへの支払いメッセージを並行して送信することができる。たとえば、支払いエンジン206は、支払い請求要求を支払いネットワークに対して送信しながら、支払いメッセージをマーチャント・クライアント・デバイス200bに対して送信することができる。
1つまたは複数の追加実施形態では、支払いエンジン206は、選択された支払い方法のタイプに応じて、支払い請求要求をフォーマットすることができる。たとえば、支払いエンジン206は、消費者クライアント・デバイス200aからの支払いメッセージのフォーマッティングに基づいて、支払い方法がクレジット取引であると決定することができる。次いで、支払いエンジン206は、支払いネットワークが消費者の支払いクレデンシャルから資金を移動するように、(たとえば、追加のフォーマッティングを適用することによって、またはフォーマットされた支払いメッセージからの情報を支払いネットワークに対して送信することによって)支払い請求要求334をフォーマットすることができる。例示するために、フォーマットされた支払い請求要求は、支払い請求要求に関連付けられた支払い方法のタイプを示すメタデータを含むことができる。
支払い請求要求に応答して、支払いネットワーク115は、消費者の口座から支払いエンジン206へ金銭を電子的に移動することによって、消費者の口座から支払いを資金供給する(338)ことができる。電子移動を受信すると、支払いエンジン206は、予め確認されたマーチャントIDに関連付けられた一時マーチャント口座に対して、支払いを適用する(340)ことができる。たとえば、支払いエンジン206は、マーチャントの支払いクレデンシャルへ資金を移動するために支払いエンジン206が使用する中間口座に対して、支払いを適用することができる。1つまたは複数の実施形態では、支払いエンジン206は、支払いを適用する新しい口座を作成することができる。代替的に、支払いエンジン206は、各支払いに関連付けられた一意の取引IDによって編成および識別されるさまざまな他の支払いを含む支払いを、マスタ一時口座に対して適用することができる。
支払いエンジン206は、次にマーチャントの支払いクレデンシャルへ支払いを預けることができる。特に、支払いエンジン206は、バッチ移動プロセス(batch transfer process)のために決済パッケージにおいて他の支払い取引に関する複数の支払いと共に支払いを預けることが可能である。たとえば、1つまたは複数の実施形態では、支払いエンジン206は、単一の決済取引において複数の支払いを処理する決済パッケージ内に含めるために、同じタイプまたは特定の時間期間内の複数の支払いを蓄積することができる。図3Cに例示されるように、支払いエンジン206は、まず、バッチ移動プロセスにおいて支払い取引の取引IDに対応する支払いのすべてと等しい額を一時マーチャント口座から引き落とす(341)ことができる。次いで、支払いエンジン206は、支払いネットワーク115または別の支払いネットワークを介して、マーチャントの支払いクレデンシャルに対して資金を電子的に移動することができる。特に、支払いエンジン206は、マーチャントの支払いクレデンシャルに対して資金をプッシュする(344)命令と共に、対応する取引IDに関連付けられた支払い取引についての集約された支払い額を含むクレジット要求342を、一時マーチャント口座から支払いネットワーク115に対して送信することができる。
1つまたは複数の追加または代替実施形態では、支払いエンジン206は、消費者の支払いクレデンシャルから資金を受信する前に、マーチャントの支払いクレデンシャルに金銭を移動することができる。特に、支払いエンジン206は、中間口座内の準備資金を使用して、消費者からマーチャントへの資金の移動の速度を上げることができる。代替実施形態では、支払いエンジン206は、サーバ・デバイス108における一時口座に対して金銭を移動するのではなく、消費者の支払い口座がマーチャントの支払い口座に対して直接金銭を移動するようにできる。
加えて、システム100は、時間期間における決済を確認するためにチェックを定期的に行ってもよい。具体的には、システム100は、メッセージング・データベースに記憶された支払いメッセージを各支払いネットワークについて処理された支払い取引と比較して、その期間に処理されたすべての支払い取引に関連付けられた合計支払い額がすべての支払いメッセージにおける額と一致することを確認してもよい。合計が一致しない場合、システム100は、差のタイプに基づいて、収益、損失、または他のカテゴリに分類することができる。
支払いネットワーク115は、マーチャントの口座内に決済パッケージにおける支払い額を預けるのに成功すると、支払いクレジット応答を支払いエンジン206に送信する(346)。支払いプロセスを完了するために、支払いエンジン206が支払いクレジット応答を受信する前または後に、ネットワーク・アプリケーション204は、消費者クライアント・デバイス200aに対して支払い完了ステータス更新348を、およびマーチャント・クライアント・デバイス200bに対して支払い請求(payment claimed)ステータス更新を送信することができる。
支払い完了ステータスを受信した後、消費者クライアント・デバイス200aは、任意選択で、識別情報350をマーチャント・クライアント・デバイス200bに提供することができる。具体的には、識別情報は、マーチャントから消費者が入手した特定の製品の注文に関連付けてマーチャントが消費者を識別することを可能にすることができる。たとえば、消費者クライアント・デバイス200aは、メッセージング・スレッド内のメッセージにおいて消費者の写真付き識別情報を送信することができ、マーチャントは、それを使用して消費者の身元を確認することができる。代替的に、ユーザは、消費者クライアント・デバイス200aに関するQRコードまたは他の識別子をマーチャントに提示して、消費者が特定の注文に関連付けられていることをマーチャントが確認することを可能にすることができる。
図3Dは、マーチャントが消費者に払い戻しを発行する代替実施形態を例示する。具体的には、マーチャントは、支払いネットワーク115との決済の前に、消費者に払い戻しを発行することができる。たとえば、支払いを一時マーチャント口座340に適用した後に、マーチャント・クライアント・デバイス200bは、消費者クライアント・デバイス200aに対して払い戻しメッセージを送信する(352)ことができる。消費者クライアント・デバイス200aは、マーチャントと消費者との間のメッセージング・スレッドにおいて払い戻しメッセージを消費者に提示することができる。
払い戻しメッセージの前、後、またはそれと同時に、マーチャント・クライアント・デバイスは、支払いエンジン206に対して払い戻し要求354を送信することができる。1つまたは複数の実施形態では、払い戻し要求354は、消費者とマーチャントとの間の支払い取引について支払いエンジン206が取引IDを取得する(356)ことを可能にするメッセージング・スレッド識別子を含むことができる。支払いエンジン206が、依然として一時マーチャント口座をマーチャントの支払いクレデンシャルと決済していない場合、支払いエンジンは、識別された取引IDに関する支払い取引に対応する支払い額を一時マーチャント口座から引き落とす358ことができる。
次いで、支払いエンジン206は、支払いネットワーク115に対してクレジット要求を送信する(360)ことによって、消費者の支払いクレデンシャルに資金を振り込んで戻すことができる。支払いネットワーク115は、消費者の支払いクレデンシャルに資金をプッシュする(362)ことができる。これに応答して、支払いネットワーク115は、支払いエンジン206に対して支払いクレジット応答364を返送して、請求が成功したことを支払いエンジン206に通知することができる。支払いエンジン206は、任意選択で、払い戻しが成功したことを消費者およびマーチャントに通知することもできる。
以下でより詳細に説明されるように、図1および図2に関して説明されるシステム100の構成要素は、他の構成要素と共に、および/またはこれと組み合わせて、1つまたは複数のグラフィカル・ユーザ・インターフェースを提供することができる。特に、構成要素は、ユーザが、さまざまな目的のために表示要素の集合と対話することを可能にすることができる。特に、図4A〜図4Kおよび続く説明は、ユーザが支払いをマーチャントに対して送信することを可能にするユーザ・インターフェースおよび特徴のさまざまな例となる実施形態を例示する。
たとえば、図4A〜図4Kは、(たとえば、ソーシャル・ネットワーキング・システムと関連して)電子メッセージングならびに支払いを送信および受信することを促進するためにクライアント・アプリケーション202によって提供されるGUIのさまざまな図を例示する。図4Aは、消費者クライアント・デバイス400aを例示する。図4Aに例示されるように、消費者クライアント・デバイス400aは、携帯電話デバイス(たとえば、スマートフォン)などのハンドヘルド・デバイスである。本明細書で使用されるとき、「ハンドヘルド・デバイス」という用語は、ユーザの片手の中で持たれる/操作されるようなサイズおよび構成にされたデバイスを指す。しかしながら、追加例または代替例では、限定されるものではないが、タブレット・デバイス、ハンドヘルド・デバイス、より大型のワイヤレス・デバイス、ラップトップ・コンピュータもしくはデスクトップ・コンピュータ、パーソナルデジタル・アシスタント・デバイス、および/または他の任意の適切なコンピューティング・デバイスなどの他の任意の適切なコンピューティング・デバイスが、本明細書で説明されるプロセスおよび/または動作のうちの1つまたは複数を実行することができる。
消費者クライアント・デバイス400aは、以下で図7に関連して説明される消費者クライアント・デバイス200aおよびコンピューティング・デバイス700に関連して以下で説明される特徴および構成要素のいずれかを含むことができる。図4Aに例示されるように、クライアント・デバイス400aは、ユーザ・インターフェースを表示または提供することができ、それによってユーザ入力が受信および/または検出され得るタッチスクリーン402を含む。本明細書で使用されるとき、「タッチスクリーン表示」は、タッチスクリーン・デバイスの表示を指す。1つまたは複数の実施形態では、タッチスクリーン・デバイスは、ユーザがタッチ・ジェスチャーを実行し得る少なくとも1つの表面を有するクライアント・デバイス(たとえば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、携帯電話)であり得る。加えて、または代替的に、クライアント・デバイス400aは、タッチ・パッドまたは図7に関連して以下で説明されるデバイスなどの他の任意の適切な入力デバイスを含んでよい。
以前に触れられたように、システム100は、電子メッセージング・システムおよび電子支払いシステムを統合することができる。図4Aは、タッチスクリーン402上でユーザ・インターフェース・マネージャ208によって提供されるマーチャント・ユーザ・インターフェース404を例示する。マーチャント・ユーザ・インターフェース404は、クライアント・デバイス400aのロケーションの近くのマーチャント408のリスト406を提供することができる。特に、マーチャント・ユーザ・インターフェースは、ユーザの消費者クライアント・デバイス400aの現在のロケーションの所定の距離内にマーチャント408を示すことができる。マーチャント408のリスト406は、ユーザの現在のロケーションに対する各マーチャント408の距離410を示すこともできる。
1つまたは複数の実施形態では、マーチャント・ユーザ・インターフェース404は、所定の距離内のすべての既知のマーチャントのリスト406を提供することができる。たとえば、マーチャント・ユーザ・インターフェース404は、特定のエリア内のマーチャントのそれぞれの情報を収集し、そうした情報をクライアント・デバイス400aに提供することができる。例示するために、マーチャント・ユーザ・インターフェース404は、ユーザの所定の距離内の各マーチャントの名前およびロケーション(たとえば住所)を提供することができる。代替的に、マーチャント・ユーザ・インターフェース404は、ソーシャル・ネットワーキング・システムに登録されたマーチャントのみの情報を提供することができる。いくつかの例では、ユーザは、マーチャントのリスト406内のマーチャントすべて、またはソーシャル・ネットワーキング・システムに登録されたマーチャントのみを表示するように選ぶことができる。
いくつかの実施形態では、マーチャントのリスト406は、各マーチャントがソーシャル・ネットワーキング・システムに関連付けられ、統合されたメッセージおよび支払いシステム100を介してユーザと通信することができるかどうかを示すこともできる。たとえば、ネットワーク・アプリケーション204は、マーチャントがユーザ口座をサーバ・デバイス108に登録しているかどうかを決定することができる。具体的には、ネットワーク・アプリケーション204は、1つまたは複数のクライアント・デバイス(たとえば、図4H〜図4Kに関連して後でより詳細に説明されるように、クライアント・デバイス400b)においてクライアント・アプリケーション202をマーチャントが使用するかどうかを決定することができる。
1つまたは複数の実施形態では、マーチャントは、各クライアント・デバイスにおけるクライアント・アプリケーション202のマーチャント固有バージョンを実行して、クライアント・アプリケーション202を介して支払いをメッセージングおよび/または承認することによって顧客と対話することができる。より詳細に後述されるように、クライアント・アプリケーション202のマーチャント固有バージョンは、クライアント・アプリケーション202の消費者バージョンで利用できない追加の機能を有してもよい。代替的に、システム100は、マーチャントの口座に関連付けられたマーチャント・ステータスに基づいて、クライアント・アプリケーション202を用いてマーチャントに追加の機能性を提供することができる。
1つまたは複数の実施形態によれば、マーチャントのリスト406は、所定の順序に従ってマーチャントを含むリストであり得る。たとえば、マーチャントのリスト406は、消費者クライアント・デバイス400aの現在のロケーションからの距離に基づいて、マーチャントを含むことができる。例示するために、消費者クライアント・デバイス400aのロケーションに最も近いマーチャントは、マーチャントのリスト406の最初の位置(たとえば、リストの先頭、またはリストの構造に基づく別の最も目立つ位置)にあることが可能であり、消費者クライアント・デバイス400aのロケーションから最も遠いマーチャントは、マーチャントのリスト406の最後の位置(たとえば、リストの下部)にあることが可能である。代替的に、マーチャント・ユーザ・インターフェース404は、マーチャントのリスト406内の任意の順序(たとえば、アルファベット順、マーチャント・タイプ)でマーチャントを表示してもよい。加えて、または代替的に、ユーザは、クライアント・アプリケーション202が近くのマーチャントを表示するような順序を選択することができる。
さらに他の実施形態では、マーチャント・ユーザ・インターフェース406は、ユーザがフォローするもしくは友人であるマーチャント、またはマーチャントの検索により返されたマーチャントを含むことができる。たとえば、ユーザは、いくつかの異なるマーチャントをフォローするまたは友人とすることができる。すると、ソーシャル・ネットワーキング・システムのそのようなユーザ口座は、それらのマーチャントをユーザの連絡先として記憶することができる。
加えて、マーチャント・ユーザ・インターフェース404の1つまたは複数の実施形態は、マーチャントに関連付けられた一意の視覚的インジケータを表示することができる。具体的には、マーチャントのリスト406は、マーチャントをユーザが容易かつ速やかに識別することを可能にするために、マーチャントのアイコン412またはロゴを含むことができる。たとえば、クライアント・アプリケーション202は、地図サービスから、マーチャントに関するオンライン・サービスから、または、システム100の対応するユーザ口座に関連するマーチャントからの入力に基づいて、マーチャントのロゴを取得することができる。
マーチャント・ユーザ・インターフェース404内のマーチャントのリスト406から、ユーザは、マーチャントに関するより多くの情報を表示することができる。具体的には、ユーザは、マーチャントのリスト406内の特定のマーチャントを選択して、特定のマーチャントに関する追加の情報にアクセスすることができる。たとえば、ユーザは、マーチャントを選択して、営業時間、連絡先情報、住所、地図上のロケーション、マーチャントの簡単な説明、製品の画像、レビューもしくはレビューへのリンク、メニューもしくはメニュー・リンク、マーチャントの評価、またはマーチャントに関する他の情報を表示することができる。1つまたは複数の実装形態では、マーチャントは、クライアント・アプリケーション202を介して見るのに利用できる情報のタイプ、量、またはコンテンツを制御することができる。
前述のように、ユーザは、マーチャントに関連付けられた連絡先情報を見ることができる。1つまたは複数の実施形態では、ユーザは、システム100と関連してマーチャントに関する連絡先情報を見ることができる。特に、ユーザは、統合されたメッセージおよび支払いシステム100に関連して、マーチャントのページまたはアカウントに「いいね」を表明する、またはユーザのための連絡先のリストにマーチャントを追加するように選択をすることができる。たとえば、連絡先のリストは、ユーザがシステム100内で接続されるまたは関連付けられる、およびユーザがクライアント・アプリケーション202を介して通信することができる、人々またはエンティティのリストを提供することができる。
1つまたは複数の実施形態によれば、ユーザは、マーチャントをユーザの連絡先のリストに追加するオプションを選択することによって、マーチャントをユーザの連絡先のリストに追加することができる。加えて、または代替的に、クライアント・アプリケーション202は、マーチャントと通信する(たとえば、マーチャントにコールするまたはマーチャントにメッセージを送信する)ためのユーザによる選択に応答して、マーチャントをユーザの連絡先のリストに自動的に追加することができる。1つまたは複数の追加実施形態または代替実施形態では、クライアント・アプリケーション202は、クライアント・アプリケーション202を介してユーザが前もってマーチャントとの支払い取引に入っている場合、またはクライアント・アプリケーション202内のユーザのアクティビティ履歴の別の態様に応答して、マーチャントをユーザの連絡先のリストに自動的に追加することができる。
1つまたは複数の実施形態では、ユーザは、連絡先のリストまたはマーチャント・ページからユーザがクライアント・アプリケーション202内のマーチャントと通信することをマーチャントが可能にしているかどうかを見ることができる。具体的には、ユーザは、クライアント202を介してマーチャントがユーザと通信することを可能にするシステム100でのユーザ口座をマーチャントが有しているかどうかを決定することができる。たとえば、ユーザは、ソーシャル・ネットワーキング・システムに登録されたリスト内のマーチャントを識別することができる。例示するために、マーチャントのリスト406は、特定のマーチャントがソーシャル・ネットワーキング・システムでのユーザ口座を有しているかどうか、マーチャントが1つまたは複数のクライアント・デバイスにおいてインストールされ動作するクライアント・アプリケーション202を有しているかどうか、および/またはマーチャントがクライアント・アプリケーション202を介して支払いを受信することが可能かどうかを示す識別子を含むことができる。加えて、または代替的に、マーチャントのリスト406は、マーチャントがアクティブである(たとえば、クライアント・アプリケーション202にログインされた、インターネットに接続された、クライアント・アプリケーション202を使用してアクションを最近実行した)、または別の形でクライアント・アプリケーション202を介するメッセージングに対して対応可能かどうかを示す指示を含むことができる。
特定のマーチャントがクライアント・アプリケーション202を介してメッセージングに対して対応可能である場合、ユーザは、そのマーチャントとメッセージング会話を開始するオプションを選択することができる。特に、ユーザは、マーチャントのリスト406内から、またはクライアント・アプリケーション202内のマーチャント・ページから、メッセージング会話を開始するオプションを選択することができる。加えて、または代替的に、マーチャントは、クライアント・アプリケーション202内からユーザとのメッセージング会話を開始することができる。
1つまたは複数の実施形態によれば、システム100は、マーチャントが、ユーザに関する情報(たとえば、ユーザがモバイル・デバイス上であるか、またはクライアント・アプリケーション202でアクティブであるか)を見ること、および/またはユーザ・プリファレンスもしくはプライバシ設定に基づいてユーザを連絡先のリスト(たとえば、現在または将来の顧客のリスト)に追加することを可能にすることができる。たとえば、システム100は、マーチャントのための連絡先のリストにユーザを追加することをマーチャントに許可するプリファレンスをユーザが明示的に選択していると決定すると、マーチャントがマーチャントのための連絡先のリストにユーザを追加することを可能にすることができる。例示するために、ユーザは、マーチャントが連絡先のリストにユーザを追加することを可能にするプリファレンス、および/または、追加の許可をユーザに求める(たとえば、ユーザとの支払い取引中にユーザに連絡する許可を求める)ことをマーチャントに要求せずにユーザとマーチャントが通信することを可能にするプリファレンスを選択することができる。
加えて、または代替的に、ユーザ・プリファレンスは、ユーザのロケーションに基づいて、マーチャントがユーザと対話することを可能にすることができる。具体的には、ユーザ・プリファレンスは、ユーザがマーチャントのロケーションに近接している場合に、マーチャントがユーザと対話することを可能にすることができる。たとえば、ユーザが、マーチャントのロケーションの近くの予め決められた近傍に入ったとき、システム100は、ユーザがマーチャントに近接していることを、(図4H〜図4Jに示される)マーチャントのクライアント・デバイス400bに通知して、マーチャントがユーザのロケーションを知りユーザと対話することを可能にすることができる。
たとえば、システム100は、ロケーションベースのサービスに関連して連続的または断続的にクライアント・デバイス200aがシステム100に提供するロケーション情報に基づいて、ユーザのクライアント・デバイス200aのロケーションを識別することができる。システム100は、クライアント・デバイス200aのロケーションをマーチャントのジオフェンス(すなわち、システム100がマーチャントのために確立した仮想的境界)と比較することができる。クライアント・デバイス200aがジオフェンス(geo-fence)に入ると、システム100は、クライアント・デバイス200aがマーチャントのロケーションに近接していると決定し、マーチャントに通知することができる。
ユーザがマーチャントに近接しているという通知を受信した後、マーチャントは、ユーザをマーチャントのための連絡先のリストに追加する、またはユーザに連絡することによって、ユーザと対話することができる。たとえば、マーチャントは、自動的にユーザを連絡先のリストに追加し、かつ/またはメッセージング・アプリケーション202を介してユーザにメッセージを送信することができる。例示するために、マーチャントが、マーチャントのロケーションにユーザが近接していることを識別し、ユーザ・プリファレンスが、ユーザとマーチャントが対話することを可能にする場合、マーチャントは、ユーザをマーチャントの連絡先のリストに追加することができる。加えて、または代替的に、ユーザがマーチャントのロケーションに近接しているという通知をマーチャントが受信すると、マーチャントは、ユーザが新規顧客であるかまたは既存顧客であるかに関わらず、クライアント・アプリケーション202を介してユーザとメッセージング・スレッドを開始することができる。たとえば、マーチャントは、ユーザに対してメッセージを送信して、ユーザを歓迎する、および/あるいは、製品リスト、特売もしくはおすすめ品に関する情報、またはユーザが興味を持つ可能性がある他の情報を、ユーザに対して送信することができる。
上記で説明されたように、システム100は、データを受信および送信することを促進することができる。1つまたは複数の実施形態では、通信マネージャ230は、コンピューティング・デバイス400a、400b間の電子通信を受信および送信することを促進する。また、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、通信マネージャ230を介して送信および受信された電子通信を表示する。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース内のメッセージング・スレッドにおいて、通信マネージャ230を介して送信および受信された電子通信を表示することができる。マーチャントとのメッセージング会話を開始することにより、メッセージング・スレッド内でユーザおよびマーチャントがメッセージを交換することが可能になる。たとえば、図4Bに例示されるように、メッセージング会話の開始により、クライアント・デバイス400aにおけるメッセージング・グラフィカル・ユーザ・インターフェースを開くことができる。メッセージング・グラフィカル・ユーザ・インターフェースは、ユーザとマーチャントとの間のメッセージング・スレッドを提示することができる。たとえば、図4Bの実施形態では、メッセージング・グラフィカル・ユーザ・インターフェースは、消費者ユーザ(「ブラッド」)とマーチャント(「ザ・コーヒー・ショップ」)との間のメッセージング・スレッドにおける会話を含む。
クライアント・アプリケーション202の柔軟な性質があると、ユーザは、さまざまな話題に関してマーチャント(たとえば、マーチャントの従業員)と通信することができる。具体的には、ユーザは、ユーザが購入する製品および製品を購入する方法を決定することを可能にする情報を、マーチャントに要求することができる。加えて、または代替的に、ユーザは、マーチャントにより提供される1つもしくは複数の製品、過去、現在もしくは将来の支払い取引、特売もしくは値引き、営業時間、またはマーチャントがユーザに提供できる他の任意の情報に関して、マーチャントと通信することができる。さらに他の実施形態では、マーチャントは、よくある質問(たとえば、開店していますか、営業時間はいつですか、住所はどこですか)に対する応答を、ネットワーク・アプリケーション204に提供することができる。メッセージ・アナライザは、よくある質問を認識し、予め決められた応答(たとえば、営業時間は午前9時から午後9時です)により自動的に応答することができる。
クライアント・アプリケーション202は、マーチャントに関連付けられた人物とユーザが会話することを可能にするので、ユーザは、自然言語でマーチャントと通信することができる。自然言語でマーチャントと通信することにより、ユーザが、マーチャントに電話するまたは直接会って該当情報を取得する必要なしに、より容易かつより明確に該当情報を取得することが可能になり得る。いくつかの例では、クライアント・アプリケーション202は、自然言語を解析および理解してメッセージング・スレッド内のユーザによる質問または要求に自動的に応答することによって、ユーザと会話することが可能なソフトウェアを、マーチャントに使用できるようにしてもよい。
示されるように、メッセージング・グラフィカル・ユーザ・インターフェース414は、クライアント・デバイス400aのユーザの口座から送信された電子メッセージ418aを含むメッセージング・スレッド416を含むことができる。同様に、メッセージング・スレッド416は、マーチャントの口座によって受信された電子メッセージ418bを含むことができる。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、より古いメッセージがメッセージング・スレッド416の上部において表示されるように、新しいメッセージがメッセージング・スレッド416の下部に対して追加されるように、メッセージング・スレッド416を編成する。代替実施形態では、ユーザ・インターフェース・マネージャ208は、メッセージ418a、418b間の時系列または他の関係をユーザに対して示し得る任意の様式で、メッセージ418a、418bを編成し得る。
ユーザ・インターフェース・マネージャ208は、ユーザがメッセージング・スレッド416内で電子通信を区別する助けとなるために、さまざまな電子通信特性を提供する。たとえば、図4Bに例示されるように、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース414の片側(すなわち、右側)に向けられた、クライアント・デバイス400aのユーザの口座から送信された電子メッセージ418aを表示する。一方、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース414の反対側(すなわち、左側)に向けられた、メッセージング・ハンドラ212によって受信された電子メッセージ418bを表示する。1つまたは複数の実施形態では、電子メッセージ418a、418bの位置決めおよび方向は、メッセージング・グラフィカル・ユーザ・インターフェース414内で表示されたさまざまな電子通信の起点のクライアント・デバイス400aのユーザに対して明確なインジケータを提供する。
ユーザが電子通信を区別する助けとなるユーザ・インターフェース・マネージャ208によって提供された別の特性は、電子通信の色であり得る。たとえば、図4Bに示されるように、ユーザ・インターフェース・マネージャ208は、送信された電子メッセージ418aを第1の色で、受信された電子メッセージ418bを第2の色で表示する。1つまたは複数の実施形態では、第1の色および第2の色はそれぞれ、逆にされた字面色を有する、黒色および白色であってよい。代替実施形態では、ユーザ・インターフェース・マネージャ208は、白色の背景および異なる色の輪郭を用いて電子メッセージ418a、418bを表示してよい。
さらに別の代替実施形態では、ユーザ・インターフェース・マネージャ208は、電子メッセージ418a、418bを、異なるパターンの背景を用いて表示してもよいし、異なるフォントで表示してもよいし、異なるサイズで表示してもよいし、または送信された電子メッセージ418aと受信された電子メッセージ418bとを区別し得る他の任意の様式で表示してもよい。たとえば、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、青色の背景上の白色の字面を用いて、送信された電子メッセージ418aを表示する。同様に、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、灰色の背景上の黒色の字面を用いて、受信された電子メッセージ418bを表示する。
ユーザ・インターフェース・マネージャ208は、メッセージ入力制御パレットまたはツールバー422も提供し得る。図4Bに例示されるように、ユーザ・インターフェース・マネージャ208は、メッセージ入力制御パレットまたはツールバー422をメッセージング・グラフィカル・ユーザ・インターフェース414の一部として表示する。1つまたは複数の実施形態では、メッセージ入力制御パレットまたはツール・バー422は、さまざまなメッセージ入力オプションまたは他のオプションをユーザに提供する、さまざまな選択可能なメッセージ入力制御を含む。たとえば、図4Bでは、メッセージ入力制御パレットまたはツールバー422は、テキスト入力制御部424aと、支払い制御部424bと、カメラ・ビューファインダ入力制御部424cと、マルチメディア入力制御部424dと、シンボル入力制御部424eと、「いいね」インジケータ制御部424fとを含む。1つまたは複数の代替実施形態では、メッセージ入力制御パレットまたはツールバー422は、異なる順序で入力制御部424a〜424eを提供してもよいし、図4Bで表示されない他の入力制御部を提供してもよいし、または図4Bに示される入力制御部424a〜424eのうちの1つまたは複数を省略してもよい。
以下でより詳細に説明されるように、ユーザは、異なるタイプの電子通信を構築および送信するために、入力制御部424a〜424eのいずれかと対話してよい。たとえば、ユーザがテキスト入力制御部424aと対話する場合、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース414の一部分の中に、ユーザがテキスト・メッセージ420を構築するために利用し得るタッチスクリーン表示キーボード418を提供し得る。同様に、ユーザがマルチメディア入力制御部424dと対話する場合、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース414の一部分の中に、(たとえば、デジタル写真、デジタル・ビデオなどを表示するための)マルチメディア・コンテンツ・アイテム表示エリアを提供し得る。同様に、ユーザがカメラ・ビューファインダ入力制御部424cと対話する場合、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース414の一部分の中に、ユーザがメッセージング・スレッド416に対してデジタル写真またはデジタル・ビデオをキャプチャ、送信、および追加するために利用し得るデジタル・カメラ・インターフェースを提供し得る。
ユーザは、メッセージまたは支払いを構築し、システム100を介してマーチャントに対して送信するために、メッセージ入力制御部424a〜eのいずれかと対話し得る。たとえば、図4Cに示されるように、ユーザは、メッセージング・スレッド内でマーチャントに対して、「2%グランデ・ラテ、砂糖なしをください」というメッセージを送信することができる。メッセージまたは別のユーザ入力(たとえば、メニューまたはカタログから製品を選択する)に応答して、マーチャントは、支払い要求メッセージを消費者に送信する(300)ことができる。たとえば、図4Cは、「2%グランデ・ラテは3.75ドルです」と述べる支払い要求メッセージを例示する。示されるように、支払い要求メッセージは、図3Aに関係して上記で説明されたように、支払い要求コンテナのコンテンツのすべてを表面化(すなわち表示)していない。示されるように、図4Cに示される支払い要求メッセージは、支払い額(すなわち、3.75ドル)、および購入される製品(すなわち、2%グランデ・ラテ)の識別情報を表示することができる。
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、「3.75ドル」を支払い開始選択可能な要素426に変換することができる。別の例では、ユーザ・インターフェース・マネージャ206は、メッセージ全体を支払い開始選択可能な要素426に変換してもよい。追加の例では、ユーザ・インターフェース・マネージャ206は、支払い要求メッセージに基づいて、消費者がマーチャントとの支払い取引を開始したいかを消費者に質問するための通知(たとえば、ポップアップ・ウィンドウまたは他の画面上要素)を提供してもよい。
ユーザ・インターフェース・マネージャ206は、メッセージまたはその一部の1つまたは複数の属性または特性を修正/変更して、支払い開始選択可能な要素426の作成を示すこともできる。たとえば、ユーザ・インターフェース・マネージャ206は、図4Cに示されるように、「3.75ドル」を目立たせることができる。代替的に、ユーザ・インターフェース・マネージャ206は、下線を引き、フォント・スタイル、サイズ、色などを変更し、または別のやり方で、支払い開始選択可能な要素426を視覚的に区別することができる。
ユーザ入力ディテクター210が支払い制御部424bまたは支払い開始選択可能な要素426上でタップ・タッチ・ジェスチャーを検出すると、ユーザ・インターフェース・マネージャ208は、図4Dに示されるように、メッセージング・ユーザ・インターフェース414内に支払いユーザ・インターフェース428を表示し得る。特に、支払いインターフェース428は、所望の数字を順番に入力することによって(すなわち、3.75ドルに到達するために、数字キーパッド432内で順番に「3」、「.」、「7」、次いで「5」をタップすることによって)ユーザが支払い額430を選択することを可能にすることができる数字キーパッド432を含むことができる。支払いインターフェースは、選択された数字を表示して、ユーザが、選択された数字が所望の支払い額に対応するのを確認し、選択された数字をしかるべく修正することを可能にすることができる。本明細書の開示に照らして、図4Dの支払いインターフェース428は支払いインターフェースの1つの実装形態であることが、理解されるであろう。1つまたは複数の実施形態では、ユーザは、複数の異なる支払いインターフェースから支払いインターフェース428を選択することができる。代替的に、ユーザ・インターフェース・マネージャ208は、支払い要求メッセージから支払い額を支払いインターフェース428に自動的に入力することができる。
代替実施形態では、ユーザ・インターフェース・マネージャ208は、メッセージング・ユーザ・インターフェース414の第1の部分(すなわち、上方部分)の中にメッセージング・スレッド416を提供することができる。ユーザ・インターフェース・マネージャ208は、メッセージング・ユーザ・インターフェース414の第2の部分(すなわち、下方部分)の中に支払いユーザ・インターフェース428を提供することができる。したがって、ユーザ・インターフェース・マネージャ208は、ユーザがメッセージング・スレッド416および任意の新しいメッセージを閲覧することを可能にしながら、支払い取引を開始することも可能にすることができる。代替実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージング・スレッド416および支払いユーザ・インターフェース428を水平に、または垂直構成以外の別の構成で構成することができる。さらに他の実施形態では、支払いユーザ・インターフェース428は、メッセージング・ユーザ・インターフェース414または別個のユーザ・インターフェースの上にオーバーレイを備えることができる。
1つまたは複数の実施形態では、ユーザが支払い要素434を選択すると、消費者クライアント・デバイス400aが支払いメッセージを生成することができる。図3Aに関係して上記で言及されたように、支払いメッセージは、支払い要求メッセージと同じコンテンツを含むことができる。支払いメッセージを送信する前に、クライアント・アプリケーション202は、ネットワーク・アプリケーション204に対して、マーチャントに承認された登録支払いクレデンシャルを顧客が有するかどうかを決定するために要求を送信することができる。消費者が、マーチャントに承認された登録支払い口座に関連付けられていない場合には、ユーザ・インターフェース・マネージャ208は、図4Eに示されるように、消費者が支払いクレデンシャルを登録することを可能にするクレデンシャル・ユーザ・インターフェース436を提示することができる。代替的に、または加えて、グラフィカル・インターフェースは、消費者が口座を作成することを必要とすることなく、ワンタイム支払いを促進するためにユーザが支払い情報を入力する(たとえば、デビット・カード番号またはクレジット・カード番号を入力する)ことを可能にするワンタイム支払いオプションを提示することができる。
クレデンシャル・ユーザ・インターフェース436は、どのタイプの支払いクレデンシャルをユーザが入力することを選択するかに応じて変わり得ることが理解されるであろう。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、資金をマーチャントに送信するための許容可能な支払いクレデンシャル(たとえば、クレジット・カード、デビット・カード、ギフト・カード、銀行口座)のリストを提供することができる。ユーザが、あるタイプの支払いクレデンシャルを選択すると、ユーザ・インターフェース・マネージャ208は、適用可能なクレデンシャル・ユーザ・インターフェース436を提供することができる。たとえば、図4Eは、デビット・カードを入力するためのクレデンシャル・ユーザ・インターフェース436を例示する。示されるように、ユーザは、数字キーパッド432を介して、デビット・カード番号、有効期限、セキュリティ・コード、および、デビット・カードに関連付けられた勘定書送付先郵便番号コードを入力することができる。支払い情報の入力が選択されると、メッセージング・ハンドラ212は、支払いクレデンシャルを記憶するために、支払いクレデンシャル情報をネットワーク・アプリケーション206に送信することができる。
ユーザが支払いクレデンシャル詳細を入力した後、システム100は、支払い取引を処理し続けることができる。1つまたは複数の実施形態では、クライアント・アプリケーション202は、将来の支払い取引を処理するためにPINまたは他のショートカットを使用するオプションをユーザに対して提供することができる。たとえば、図4Fに示されるように、クライアント・アプリケーション202は、セキュリティを追加する目的で、ユーザが金銭を送信するためにPINを作成したいかどうかユーザに尋ねるポップアップ・ウィンドウ438または他の通知を、メッセージング・インターフェース414の中でユーザに対して提示することができる。
消費者が、将来の支払い取引を処理するためにPINを入力することを選択した場合、クライアント・アプリケーション202は、図4Gに示されるように、PINを作成するためのPIN作成インターフェース440を提示することができる。具体的には、PIN作成インターフェースは、消費者が、消費者の記憶されたクレデンシャルに関連付けられた一意のPINを作成することを可能にすることができる。たとえば、PINは、将来の支払い取引を処理することが可能になる前に消費者が数字キーパッド432を介して入力することができる4桁の番号(または任意の長さのストリング)とすることができる。いくつかの例では、システム100は、PINを作成し、記憶されたクレデンシャルとPINを関連付けるために、PINを再入力することによって、消費者がPINを確かめることを要求することもできる。
将来の支払い取引のために、システム100は、消費者がPINを入力することができるPIN入力インターフェースを提示することができる。PINを入力することは、システム100が、PINに関連するユーザのために記憶されたクレデンシャルを使用して支払い取引を処理することを可能にすることができる。したがって、PINを入力することは、消費者がシステム100を介して別のユーザに対して金銭を送信することを望むたびにクレデンシャルを思い出すことなく消費者が支払い取引を開始および完了することを可能にする。
1つまたは複数の実施形態では、ユーザの支払いクレデンシャルを検証する間または後に、消費者クライアント・デバイス400aが、支払いメッセージをマーチャント・クライアント・デバイスに対して送信することができる。システム100は会話に関与するユーザとマーチャントの両方のメッセージング・スレッド416内に支払い額430を提示することができる。たとえば、システムは、クライアント・デバイス400aのためのグラフィカル・ユーザ・インターフェースのメッセージング・スレッド416において支払いメッセージに関して支払い額430を挿入することができる。
図4H〜図4Jは、マーチャント・クライアント・デバイス400bのためのメッセージング・インターフェース414aの実施形態を例示する。たとえば、図4Hは、ユーザが支払い取引を開始して支払い額をマーチャントに対して送信した後の、マーチャント・クライアント・デバイス400bにおけるメッセージング・インターフェース414aを例示する。図4Hに例示されるマーチャント・クライアント・デバイス400bは、マーチャントのロケーションにおけるスタンドまたは他のデバイスに取り付けられた表示デバイスなどのタッチスクリーン402aを有する任意のデバイスを含み得る。マーチャント・クライアント・デバイス400bにおけるメッセージング・インターフェース414aは、マーチャントがメッセージング・スレッド416a内でユーザとメッセージを交換することを可能にすることができる。
追加実施形態によれば、クライアント・アプリケーション202のマーチャント・バージョンは、マーチャントに関連付けられた追加の情報をマーチャントが見ることを可能にすることもできる。たとえば、クライアント・アプリケーション202のマーチャント・バージョンは、マーチャントが操作を行うこと、または消費者に利用できない情報にアクセスすることを可能にできる制御部442a〜442cを含むことができる。例示するために、クライアント・アプリケーション202のマーチャント・バージョンは、注文制御部442a、顧客制御部442b、およびメニュー制御部442cを含むことができる。
たとえば、注文制御部442aは、マーチャントが、保留中および/または最近の注文を見ることを可能にすることができる。顧客制御部442bは、クライアント・アプリケーション202を介してマーチャントと対話したことがある以前の顧客のリストを(たとえば、マーチャントのための連絡先のリストで)マーチャントが見ることを可能にすることができる。メニュー制御部442cは、マーチャントがマーチャントのメニュー(または他の製品リスト)を表示することを可能にし、たとえば、クライアント・アプリケーション202において顧客とメッセージを交換しながら、マーチャントがメニューまたは製品情報を顧客に提供することを可能にすることができる。追加実施形態または代替実施形態では、クライアント・アプリケーション202のマーチャント・バージョンは、図4H〜図4Jに例示されたものと比べて多い、少ない、または異なるマーチャント固有制御部を含むことができる。
前述のように、システム100は、たとえば、消費者の身元に関連付けられたメッセージング・インターフェース414aのメッセージング・スレッド416a内の支払い額、および支払い額430aを有するメッセージ内のテキスト・コンテンツ(たとえば、「メッセンジャーから送信」)を示すことによって、消費者が支払い取引を開始したことをマーチャントに通知することができる。例示するために、ユーザ・インターフェース・マネージャ208は、消費者とマーチャントとの間で交換される他のメッセージと共に、支払い額430aをメッセージング・スレッド416aの時間依存フロー内に挿入することができる。加えて、または代替的に、ユーザ・インターフェース・マネージャ208は、別の様式で(たとえば、マーチャントのクライアント・デバイス400bの通知エリア内、またはメッセージング・インターフェース414aのオーバーレイ内に通知を提供することによって)、支払い額430aを提示することができる。ユーザ・インターフェース・マネージャ208は、ユーザのクライアント・デバイス400aにおけるメッセージング・インターフェース414のメッセージング・スレッド416内に支払い額を提示することもできる。
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、確認要求をマーチャントに提供して、示された額について支払い取引をマーチャントが承認する(すなわち、承認要素452などのメッセージング・インターフェース内の要素を選択することによって承認する)ことを可能にすることができる。マーチャントが支払い取引を承認した後、システム100は、支払い取引を完了し、ユーザからマーチャントへ資金を移動するプロセスを始めることができる。代替例では、支払いメッセージは、システム100が支払い取引を自動的に処理および完了する間、単に支払い取引に関する注意をマーチャントにもたらすことができる。
1つまたは複数の実施形態によれば、マーチャントは、ユーザからの支払い額430aを修正することができる。具体的には、マーチャントが、支払い取引で(たとえば、高すぎるまたは低すぎる)誤った額をユーザが支払ったと決定した場合、または、マーチャントが、他の任意の理由(たとえば、顧客ロイヤルティ、クーポン、または値引きプログラム)により、価格を調整したい場合、マーチャントは、支払い額430aを調整することができる。たとえば、マーチャントは、メッセージ内の支払い額430aを選択して、マーチャント・クライアント・デバイス400bにおける支払いインターフェースを開くことができる。支払いインターフェースを開いた後、マーチャントは、新しい支払い額を選択し、修正された支払いメッセージをユーザに対して送信することができ、次いで、ユーザが、新しい支払い額を承認または拒否することができる。ユーザおよびマーチャントは、新しい支払い額に関する追加のメッセージを交換することもできる。
1つまたは複数の実施形態では、マーチャントが支払いを承認することを選択したとき、またはマーチャントが支払いメッセージを受信した後、クライアント・アプリケーション202が、ネットワーク・アプリケーション204に対して、マーチャントのための登録された支払いクレデンシャルを識別するために要求を送信することができる。マーチャントの支払いクレデンシャルを識別した後、システム100は支払い取引を完了することができる。具体的には、システム100は、ユーザからマーチャントへ資金を移動することによって、支払い取引を完了することができる。いくつかの例では、ユーザからマーチャントへ資金を移動することは、対応する金融機関が取引を承認するまで、マーチャントに関連付けられた一時または中間口座に資金を移動することを含むことができる。代替例では、支払い取引を完了することは、マーチャントに関連付けられた宛先口座へ資金を直接的に移動することを含むことができる。
支払い取引が完了した後(または、マーチャントが支払い取引を完了することを選択した後)、システム100は、ユーザおよび/またはマーチャントに対して支払い完了メッセージを表示することができる。1つまたは複数の実施形態では、支払い完了メッセージを終えた後、または別のやり方で支払い取引を完了した後、システム100は、クライアント・デバイス400a上のメッセージング・スレッド416および/またはマーチャント・クライアント・デバイス400b上のメッセージング・スレッド416a内の支払い額430(および対応するメッセージの他の任意のテキスト)を更新して、システム100が支払い取引の処理を完了したことを反映することができる。たとえば、ユーザ・インターフェース・マネージャ208は、メッセージング・スレッド416a内のメッセージ(この場合は、支払い額430のみを含む)の一定の特性を変更することができる。例示するために、ユーザ・インターフェース・マネージャ208は、メッセージをアニメーションにする、または、メッセージの位置、メッセージの境界幅、メッセージの背景色、メッセージのサイズおよびフォント、もしくはこの目的に適したメッセージの他の任意の特性を変更することができる。
図4Hに示されるように、システム100は、マーチャントがメッセージング・スレッド内でユーザに対して追加の情報を通信することを可能にすることができる。たとえば、マーチャントは、完了した支払い取引に関連付けられた情報を含むメッセージを送信することができる。例示するために、マーチャントは、注文品が準備できたときにユーザが購入製品を入手できるようにするために、購入製品(たとえば、ラテ)の注文番号を含む注文メッセージ444を送信することができる。加えて、または代替的に、注文メッセージ444は、マーチャント、製品、または支払い取引に関連付けられた他の詳細に基づいて、追加または代替の情報を通信することができる。たとえば、注文メッセージ444は、マーチャントが注文を完了するための推定待ち時間(たとえば、図4Hに示されるように「3〜5分お待ちください」)、出荷情報に関連付けられた追跡情報、購入の日付、商品返品確認番号、送り状番号領収情報(たとえば、典型的には紙のレシート上に含まれる情報)、顧客担当者、またはユーザが支払い取引に関係して知るのが有用であり得る他の情報を含むことができる。
注文メッセージを送信した後、図4Iに例示されるように、マーチャントは完了メッセージ446を送信することができる。具体的には、マーチャントは、注文完了メッセージ446内の対応する注文番号についてユーザの注文品が準備できたことを、ユーザに通知することができる。たとえば、注文完了メッセージ446は、名前でユーザを識別し、注文品についてマーチャントからユーザが入手するための準備ができたことを示すテキストを含むことができる。
1つまたは複数の実施形態では、ユーザは、ユーザが注文品を入手するときに、マーチャントがユーザを識別することを可能にするために、確認情報をマーチャントに提供することができる。たとえば、ユーザは、マーチャントがユーザの身元を確認するために見ることができるクライアント・アプリケーション202を介して、ユーザの写真付き識別情報448(たとえば、ユーザの画像、または写真付き識別情報の法的形式)をマーチャントに対して提供することができる。例示するために、ユーザは、メッセージング・スレッドのメッセージの添付ファイルとして写真付き識別情報448をマーチャントに対して提供することができる。たとえば、製品を注文して支払い取引が完了した後、ユーザは、ユーザの写真が添付されたメッセージを送信することができ、マーチャントは、ユーザが注文品を入手しようとするときにユーザをユーザの写真と比較することができる。代替的に、ユーザがメッセージをマーチャントに対して送信すると、メッセージング・スレッドが、ユーザの名前の隣にアイコンとしてユーザの写真を表示してもよく、マーチャントは、アイコンを選択してユーザの写真の大きなバージョンを見ることができる。
いくつかの実施形態では、システム100は、詐欺的な識別情報を防止するために、画像認識技術を使用してユーザの写真付き識別情報448を確認することができる。具体的には、システム100は、写真付き識別情報448がユーザの写真であることを確認するために、ユーザの写真を、ユーザに関連付けられた(たとえば、メッセージング・データベース内の)記憶された情報と比較することができる。例示するために、システム100は、ユーザの視覚的識別情報を確認するために、画像認識技術を使用して、ユーザの他の写真を、マーチャントに提供された写真付き識別情報448と比較することができる。ユーザの識別情報を確認した後、マーチャントは、ユーザに注文品を引き渡して取引を完了することができる。
代替実施形態では、マーチャントがユーザに対して送信する注文完了メッセージ446は、ユーザが注文品を入手するためにマーチャントに提示できる情報を含むことができる。特に、注文完了メッセージ446は、ユーザが製品を注文したことをマーチャントが確認できるように、マーチャントにユーザが提示できるコードを含むことができる。たとえば、注文完了メッセージ446は、QRコードを含むことができ、ユーザは、ピックアップ・カウンタでQRコードをスキャンして、マーチャントから注文製品(たとえば、ラテ)を取得することができる。
支払い取引が完了した後、システム100は、ユーザが、クライアント・アプリケーション202内でマーチャントから払い戻しを得ることを可能にすることができる。具体的には、システム100は、メッセージング・スレッド内でユーザがマーチャントに払い戻しを要求することを可能にすることができる。たとえば、図4Jに示されるように、ユーザは、マーチャントと1つまたは複数のメッセージを交換して、メッセージング・スレッド内でマーチャントに払い戻しを要求することができる。例示するために、ユーザは、クライアント・デバイス400aにおけるメッセージング・ユーザ・インターフェースにおいて支払い取引および/または支払いメッセージに関連付けて、(たとえば、ユーザの注文の誤り、または製品の不具合を示す)払い戻し要求メッセージ450をマーチャントに対して送信することができる。
先に言及されたように、マーチャント・クライアント・デバイス400bは、マーチャントに固有の機能性を含むクライアント・アプリケーション202のバージョンを含むことができる。特に、ユーザから払い戻し要求メッセージ450を受信した後、マーチャントはユーザに払い戻しを行うことを選ぶことができる。たとえば、メッセージング・ユーザ・インターフェース414aは、ユーザとの支払い取引に関連付けられた払い戻しをマーチャントが行うことを可能にする払い戻し要素452を含むことができる。例示するために、マーチャントは、払い戻し要素452を選択することで、支払い取引の払い戻しプロセスを開始して支払い額をユーザに移動することができる。
代替実施形態では、ユーザ・インターフェース・マネージャ208は、ユーザのクライアント・デバイス400aにおけるメッセージング・スレッド416内に、支払い取引に関連付けられた払い戻し要求要素(図示せず)を提供することができる。払い戻し要求要素を選択することにより、クライアント・デバイス400aに、払い戻し要求メッセージ450をマーチャントに対して送信させることができる。マーチャント・クライアント・デバイス400bが払い戻し要求メッセージ450を受信すると、ユーザ・インターフェース・マネージャ208は、メッセージング・ユーザ・インターフェース414aのメッセージング・スレッド416a内に払い戻し要求メッセージ450を提供することができる。たとえば、ユーザ・インターフェース・マネージャ208は、メッセージング・スレッド416a内に払い戻し選択可能な要素を含むように、払い戻し要求メッセージ450をフォーマットすることができる。
加えて、払い戻し要求メッセージ450は、対応する支払い取引に関連付けられた追加の情報を含むことができる。具体的には、払い戻し要求メッセージ450は、マーチャントが払い戻し要求を理解し取引を識別することを可能にする情報を含むことができる。たとえば、払い戻し要求メッセージ450は、払い戻し要求(たとえば「ブラッドが注文番号35について払い戻しを要求した」)および/または払い戻しの理由(たとえば「私は砂糖なしのラテを注文しましたが、飲み物に砂糖が入っていました。」)を記述したテキストを含むことができる。払い戻し要求メッセージ450および追加の情報に基づいて、マーチャントは、金銭をユーザに払い戻すかどうかの決定を行うことができる。
1つまたは複数の実施形態では、マーチャントは、ユーザに関連付けられた情報に基づいて、払い戻しをするか、および/またはいくら払い戻すかを決定することができる。具体的には、マーチャントは、システム100に関連して、ユーザに関する情報を使用して、ユーザに払い戻しをするかどうかを決定することができる。たとえば、マーチャントは、システム100に関連して、ユーザに対する共同ユーザのフィードバックまたはマーチャントのフィードバックに基づくユーザに対するユーザ評価にアクセスすることができる。例示するために、ユーザ評価は、ユーザが頻繁にマーチャントに払い戻しを要求しているかどうかを決定するために、(先に説明されたように)ユーザに関連付けられたリスク情報に基づくことが可能である。代替的に、マーチャントは、サードパーティ・システムからの評価を使用して、特定のユーザに対して払い戻しを行うか、および/またはいくら払い戻すかを決定することもできる。同様に、マーチャントは、ユーザ評価またはユーザに関連付けられた他の情報を使用して、製品を購入するための初期支払い取引に関連付けられた価格設定または取り決めに対する任意の修正を決定することができる。
マーチャントが支払い額をユーザに払い戻すための払い戻しプロセスを開始するとき、マーチャントは、ユーザに対して、マーチャントが支払いプロセスを開始したことを示す払い戻しメッセージを送信することができる。特に、払い戻しプロセスを開始することにより、図4Kに示されるように、400aに対するマーチャント・クライアント・デバイスが、払い戻しメッセージ454をクライアント・デバイス400aに対して送信してメッセージング・スレッド内に表示するようにできる。1つまたは複数の実施形態では、払い戻しメッセージ454は、マーチャントが払い戻しを行ったこと、および一定の時間内でユーザの口座において支払い額がユーザに利用可能になることを、ユーザに通知する。代替実施形態では、払い戻しメッセージ454は、マーチャントがユーザに払い戻しを行いたいことをユーザに通知するとともに、払い戻しをユーザが承認または承諾することを要求することができる。
加えて、または代替的に、払い戻しメッセージ454は、ユーザに有用であり得る他の情報を含むことができる。たとえば、払い戻しメッセージ454は、ユーザの記録のため、または支払いが適切に行われたことを確認するために、ユーザが製品および特定の支払い取引を識別することを可能にする情報を含むことができる。例示するために、払い戻しメッセージ454は、支払い額、注文番号、払い戻しの理由、および/またはユーザが支払い取引を識別することを可能にする他の情報を含むことができる。
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、確認要求をユーザに提供して、ユーザが支払い取引についてマーチャントからの払い戻しを承認する(すなわち、承認要素456などのメッセージング・インターフェース内の要素を選択することによって承認する)ことを可能にすることができる。いくつかの例では、払い戻しメッセージ454が、承認要素456を含むことができ、または、ユーザ・インターフェース・マネージャ208が、オーバーレイまたは通知エリアに承認要素456を表示することができる。ユーザが払い戻しを承認した後、システム100は、マーチャントからユーザへ支払い額の資金を移動するプロセスを始めることができる。代替例では、払い戻しメッセージ454は、システム100が払い戻しを自動的に処理および完了する間、単に払い戻しに関する注意をユーザにもたらすことができる。
先に説明されたように、システム100は、ユーザとマーチャントとの間の各支払い取引についての取引IDを維持することができる。加えて、システム100は、消費者、マーチャント、および/またはメッセージング・スレッドに取引IDを関連付けることができる。消費者、マーチャント、および/またはメッセージング・スレッドに取引IDを関連付けることによって、システム100は、マーチャントが、以前の取引に関連付けられた支払いを容易に払い戻すことを可能にすることができる。具体的には、支払いに関する消費者が払い戻し要求を送信するとき、払い戻し要求は、払い戻し要求に埋め込まれた取引IDを含むことができ、それにより、システム100は、クライアント・アプリケーション202内から、ユーザに金銭を払い戻すのに必要な関連情報のすべてを容易に識別することが可能になる。例示するために、マーチャントが払い戻し要素452を選択すると、システム100は、消費者、マーチャント、対応する口座、および支払い額に加えて、対応する取引IDを識別することができる。したがって、マーチャントが払い戻し要素452を選択すると、システム100は、マーチャントが他のデバイスを用いてまたは他のアプリケーションを介して追加の工程を行う必要なく、ユーザへの払い戻しを自動的に処理することができる。
1つまたは複数の実施形態では、マーチャントが払い戻し要素452を選択すると、または別のやり方で支払い取引の払い戻しプロセスを開始すると(たとえば、ユーザに対して払い戻しメッセージを送信した後、およびユーザが払い戻しを承認した後)、システム100は、払い戻しプロセスの開始を検出し、支払いネットワーク115と通信することができる。特に、システム100は、取引IDに基づいてマーチャントの口座から支払い取引の支払い額に等しい資金を移動するために、要求を支払いネットワーク115に対して送信することができる。いくつかの例では、支払いネットワーク115は、ユーザの口座に資金を移動する前に、ユーザに関連付けられた一時口座へ資金を移動することができる。代替例では、支払いネットワーク115は、一時口座を使用することなく、マーチャントの口座からユーザの口座に資金を移動することができる。
図1〜図4K、対応するテキスト、および例は、統合された電子支払いおよびメッセージング・システムを使用して支払いを送信および受信するための複数の異なるシステムおよびデバイスを提供する。上記に加えて、実施形態は、特定の結果を達成するための方法における行為および工程を含むフローチャートの観点から説明され得る。たとえば、図5および図6は、1つまたは複数の実施形態による例示的な方法のフローチャートを例示する。
図5は、ピア・ツー・ビジネスの支払いを促進する方法500のフローチャートを例示する。方法500は、マーチャントからユーザへの支払い要求メッセージを受信する行為502を含む。たとえば、行為502は、ユーザのクライアント・デバイス200a、400aにおいて、マーチャントからユーザへの支払い要求メッセージを受信することを伴い、支払い要求メッセージは、支払い額および取引識別子を含む。たとえば、支払い要求メッセージは、マーチャントからの製品に関連して、マーチャントとユーザとの間の支払い取引の支払い額を含むことができる。
方法500はまた、メッセージング・スレッド416内に支払い要求メッセージを提供する行為504を含む。たとえば、行為504は、ユーザとマーチャントとの間のメッセージング・スレッド416内に支払い要求メッセージを提供することを伴い、メッセージング・スレッド416は、メッセージング・アプリケーションのメッセージング・ユーザ・インターフェース414内にある。例示するために、行為504は、ユーザのクライアント・デバイス200a、400aの表示デバイス上のメッセージング・スレッド内に支払い額を提供することを伴い得る。
行為504の一部として、または追加の行為として、方法500は、支払い要求メッセージの支払い額を、メッセージング・スレッド内の選択可能な要素426に変換することを含むこともできる。加えて、支払い要求メッセージは、ユーザとマーチャントとの間のメッセージング・スレッドに関連して、ユーザ識別子、マーチャント識別子、およびメッセージング・スレッド識別子を含むことができる。
加えて、方法500は、ユーザによる選択を受信する行為506を含む。たとえば、行為506は、マーチャントに対して支払い額を支払うというユーザによる選択を受信することを伴う。例示するために、行為506は、メッセージング・スレッド416内の選択可能な要素426の選択を受信することを伴い得る。代替的に、行為506は、ユーザにより入力された支払い額を識別することと、メッセージング・インターフェース414内の支払い要素434の選択を受信することとを伴い得る。
方法500は、支払いメッセージと、支払い額を識別するメッセージとを送信する行為508をさらに含む。たとえば、行為508は、メッセージング・アプリケーションに関連付けられた1つまたは複数のサーバに対して、支払い額および取引識別子を含む支払いメッセージと、支払い額を識別するメッセージとを送信することを伴う。行為508はまた、メッセージング・アプリケーションに関連付けられた1つまたは複数のサーバに対して、支払いメッセージを送信するとともに、並行して、マーチャントのクライアント・デバイス200b、400bに対して、支払い取引を示す第2のメッセージを送信することを伴い得る。
行為508の一部として、または追加の行為として、方法500は、ユーザのクライアント・デバイス200a、400aのロケーションを検出することを含むことができる。方法500は、検出されたロケーションを、メッセージング・アプリケーションに関連付けられた1つまたは複数のサーバに対して送信することを含むことができる。加えて、方法500は、クライアント・デバイス200a、400aがマーチャントのロケーションに近接しているという指示を受信することを含むことができる。方法500はまた、マーチャントのマーチャント識別子を識別することと、メッセージング・スレッド内に、マーチャントをメッセージング連絡先として追加するよう求める要求を提供することとを含むことができる。たとえば、方法500は、ユーザのクライアント・デバイス200a、400aのロケーションがマーチャントのジオフェンスに入っていると決定することを含むことができる。
行為508の一部として、または追加の行為として、方法500は、ユーザのクライアント・デバイス200a、400aがマーチャントのロケーションに近接しているとき、マーチャントがユーザに連絡することを可能にするために、ユーザ・プリファレンスを識別することを含むことができる。方法500はまた、ユーザのユーザ識別子およびユーザの連絡先情報を備える通知を、マーチャントに対して送信することを伴い得る。方法500はまた、マーチャントがユーザからの明示的な許可を得る必要なしに、メッセージング・アプリケーションを使用してマーチャントがユーザに連絡することをユーザ・プリファレンスが可能にすることを、識別することを含むことができる。たとえば、方法500は、ユーザ・プリファレンスに基づいてマーチャントから広告を受信することを含むことができる。
方法500はまた、メッセージをメッセージング・スレッドに対して追加する行為510を含むことができる。たとえば、行為510は、支払い額を識別するメッセージを、ユーザとマーチャントとの間のメッセージング・スレッド416に対して追加することを伴う。行為510はまた、ユーザおよびマーチャントを含む会話の時間依存フローで、ユーザとマーチャントとの間のメッセージング・スレッド416に対してメッセージを追加することを伴い得る。加えて、行為510は、支払い額についてユーザとマーチャントとの間の支払い取引を示すように支払いメッセージのコンテンツをフォーマットすることを伴い得る。
行為510の一部として、または追加の行為として、方法500は、支払い取引について払い戻しを要求するユーザによる選択を受信することを含むこともできる。方法500は、メッセージング・アプリケーションに関連付けられた1つまたは複数のサーバに対して、取引識別子を含む払い戻し要求メッセージ450を送信することを伴い得る。方法500はまた、払い戻し要求メッセージ450を、ユーザとマーチャントとの間のメッセージング・スレッド416に対して追加することを含むことができる。
図6は、ピア・ツー・ビジネスの支払いを促進する別の方法600のフローチャートを例示する。方法600は、第1のメッセージをユーザから受信する行為602を含む。たとえば、行為602は、マーチャントのクライアント・デバイス200b、400bにおいて、ユーザが購入したいと望む製品を示す第1のメッセージを、ユーザから受信することを伴う。行為602はまた、示された製品の、製品リストにおける製品の識別子へのマッピングに基づいて、製品識別子を取得することを伴い得る。たとえば、行為602は、製品識別子を使用して、示された製品に関連付けられた価格設定および取り決めを識別することを伴い得る。
方法600は、メッセージング・スレッド416a内に第1のメッセージを提供する行為604をさらに含む。たとえば、行為604は、少なくとも1つのプロセッサによって、ユーザとマーチャントとの間のメッセージング・スレッド416a内に第1のメッセージを提供することを伴う。メッセージング・スレッド416aは、メッセージング・アプリケーションのメッセージング・ユーザ・インターフェース414a内にある。加えて、行為604は、ユーザとマーチャントとの間のメッセージング・スレッド416aの会話の時間依存フロー内に第1のメッセージを提供することを伴い得る。
方法600はまた、支払い要求メッセージを生成する行為606を含む。たとえば、行為606は、製品に対する支払い額を有する支払い要求メッセージを生成することを伴う。行為606は、メッセージング・アプリケーションのメッセージング・インターフェース414a内でのマーチャントからの入力に基づいて支払い要求メッセージを生成することを伴い得る。たとえば、行為606は、マーチャントから製品識別子の入力を受信することと、製品識別子に基づいて製品に対する支払い額を決定することとを伴い得る。
加えて、方法600は、支払い要求メッセージを1つまたは複数のサーバに対して送信する行為608を含む。たとえば、行為608は、メッセージング・アプリケーションに関連付けられた1つまたは複数のサーバに対して、支払い要求メッセージをユーザへの送達のために送信することを伴う。たとえば、行為608はユーザとマーチャントとの間のメッセージング交換を管理するサーバに対して、支払い要求メッセージを送信することを伴い得る。
方法600はまた、1つまたは複数のサーバから支払いメッセージを受信する行為610を含む。たとえば、行為610は、メッセージング・アプリケーションに関連付けられた1つまたは複数のサーバから、支払いがユーザから受信されたことを示す支払いメッセージを受信することを伴う。加えて、行為610は、支払い額が成功裏にユーザの支払いクレデンシャルから引き落とされてマーチャントの支払いクレデンシャルに振り込まれたという通知を、1つまたは複数のサーバから受信することを伴い得る。
行為610の一部として、または追加の行為として、方法600は、1つまたは複数のサーバからの支払いメッセージに応答して、取引識別子を生成することを含むことができる。取引識別子は、支払いメッセージおよびメッセージング・スレッド516aに関連付けられ得る。方法600はまた、ユーザから、取引識別子に関連して支払い額をユーザに対して払い戻すよう求める要求を受信することを含むことができる。方法は、要求を処理して、支払い額をユーザの支払いクレデンシャルに対して払い戻すことをさらに伴い得る。方法は、次いで、支払い額の払い戻しの成功を示す払い戻しメッセージを、ユーザに対して送信することを伴い得る。
方法600は、メッセージング・スレッド516a内に第2のメッセージを提供する行為612をさらに含む。たとえば、行為612は、ユーザとマーチャントとの間のメッセージング・スレッド516a内に、支払い額の受信を示す第2のメッセージを提供することを伴う。加えて、行為612は、受信された支払いメッセージに応答して、メッセージング・スレッド516aの会話の時間依存フロー内に第2のメッセージを提供することを伴い得る。
行為612の一部として、または追加の行為として、方法600は、ユーザの画像を受信することと、ユーザの画像を、ユーザとマーチャントとの間のメッセージング・スレッド516a内に提供することとを含むことができる。画像は、マーチャントがユーザの身元を確認することを可能にすることができる。たとえば、ユーザの画像は、写真付き識別情報の法的形式のユーザの画像を含むことができる。
加えて、行為612の一部として、または追加の行為として、方法600は、ユーザのクライアント・デバイス200a、400aがマーチャントのロケーションに近接しているという指示を受信することを含むことができる。受信された指示に応答して、方法600は、マーチャントのクライアント・デバイス200b、400bの表示デバイス上にユーザとマーチャントとの間のメッセージング・スレッド416aを提示することを含むことができる。たとえば、方法600は、メッセージング・スレッド516aがマーチャントのクライアント・デバイス200b、400bの表示デバイス上でフォーカスされていないと決定することと、受信された指示に応答して、メッセージング・スレッド516aがマーチャントのクライアント・デバイス200b、400bの表示デバイス上でフォーカスされるようにすることとを含むことができる。加えて、または代替的に、受信された指示に応答して、方法600は、ユーザをマーチャントのための連絡先のリストに追加することを含むことができる。方法600はまた、ユーザとマーチャントとの間のメッセージング・スレッド516a内に、マーチャントのための連絡先のリストにユーザが追加されたという通知を提供することを伴い得る。加えて、または代替的に、方法600は、受信された指示に応答して、メッセージング・スレッド516a内で製品リストをユーザに対して送信することを含むことができる。
本開示の実施形態では、以下に詳述する通り、たとえば1つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の発明の範囲内の実施形態には、コンピュータ実行可能な命令および/またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。とりわけ、本明細書に記載のプロセスのうちの1つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、1つまたは複数のコンピューティング・デバイス(たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか)により実行可能な命令として、その少なくとも一部が実装されていてもよい。一般的には、プロセッサ(たとえば、マイクロプロセッサ)が非一時的コンピュータ可読媒体(たとえば、メモリ等)から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの1つまたは複数等、1つまたは複数のプロセスを実行する。
コンピュータ可読媒体としては、汎用または専用コンピュータシステムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体(デバイス)である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体(デバイス)および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
非一時的コンピュータ可読記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD−ROM、固体ドライブ(「SSD」)(たとえば、RAMベース)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
「ネットワーク」は、コンピュータシステムおよび/またはモジュールおよび/または他の電子機器間で電子データを伝送可能な1つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせ)上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび/またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
さらに、コンピュータシステムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体(デバイス)へと自動的に転送可能である(その逆も可能である)。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール(たとえば、「NIC」)内のRAMにバッファリングした後、最終的には、コンピュータシステムRAMおよび/またはコンピュータシステムにおける低揮発性コンピュータ記憶媒体(デバイス)に転送可能である。したがって、非一時的コンピュータ可読記憶媒体(デバイス)は、伝送媒体も(または、主として)利用するコンピュータシステムの構成要素に含み得ることが了解されるものとする。
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の実施形態の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および/または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
当業者であれば、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、PDA,タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータシステム構成のネットワークコンピュータ環境において本開示が実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて(有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより)リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータシステムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本記載において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速に開設可能であるとともに、わずかな管理労力またはサービス・プロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア(「SaaS」)、サービス型プラットフォーム(「PaaS」)、およびサービス型インフラ(「IaaS」)等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
図7は、上述のプロセスのうちの1つまたは複数を実行するように構成できる例示的なコンピューティング・デバイス700のブロック図を示している。データコンピューティング・デバイス700などの1つまたは複数のコンピューティング・デバイスが支払システム100を実装することが理解される。図7に示すように、コンピューティング・デバイス700は、通信インフラ712によって通信されるように結合されている、プロセッサ702、メモリ704、ストレージデバイス706、I/Oインターフェース708、および通信インターフェース710を備える。図7には、例示的なコンピューティング・デバイス700を示しているが、図7に示す構成要素は、何ら限定を意図したものではない。他の実施形態においては、付加的または代替的な構成要素を使用するようにしてもよい。さらに、特定の実施形態において、コンピューティング・デバイス700は、図7よりも少ない構成要素を備える。以下、図7に示すコンピューティング・デバイス700の構成要素について、さらに詳しく説明する。
1つまたは複数の実施形態において、プロセッサ702は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ702は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ704、またはストレージデバイス706から命令を取り出す(または、フェッチする)とともに、上記命令を復号化して実行するようにしてもよい。1つまたは複数の実施形態において、プロセッサ702は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ702は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーション・ルックアサイド・バッファ(TLB)を備えてもよい。命令キャッシュ中の命令は、メモリ704またはストレージ706中の命令のコピーであってもよい。
メモリ704は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ704は、ランダムアクセスメモリ(「RAM」)、リードオンリーメモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、相変化メモリ(「PCM」)、または他の種類のデータストレージ等、揮発性および不揮発性メモリのうちの1つまたは複数を備えていてもよい。また、メモリ704は、内部メモリであってもよいし、分散メモリであってもよい。
ストレージデバイス706は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス706は、上述の非一時的記憶媒体を備える。ストレージデバイス706としては、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組み合わせが挙げられる。ストレージデバイス706は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外し可能でない(すなわち、固定)媒体を備えていてもよい。ストレージデバイス706は、コンピューティング・デバイス700の内部であってもよいし、外部であってもよい。1つまたは複数の実施形態において、ストレージデバイス706は、不揮発性の固体メモリである。他の実施形態において、ストレージデバイス706は、リードオンリーメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、フラッシュメモリ、またはこれらのうちの2つ以上の組み合わせであってもよい。
I/Oインターフェース708によって、ユーザが、入力を提供し、出力を受け取り、あるいはコンピューティング・デバイス700に対してデータを転送しデータを受け取ることを可能にする。これらのI/Oインターフェース708は、マウス、キーパッドもしくはキーボード、タッチスクリーン、カメラ、光学スキャナ、ネットワーク・インターフェース、モデル、その他既知のI/Oデバイス、またはこのようなI/Oデバイス/インターフェースの組み合わせを含む。I/Oインターフェース708は、出力をユーザに提示する1つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ(たとえば、表示画面)、1つまたは複数の出力ドライバ(たとえば、ディスプレイドライバ)、1つまたは複数の音声スピーカ、および1つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、I/Oインターフェース708は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る1つもしくは複数のグラフィカル・ユーザ・インターフェースおよび/またはその他任意のグラフィックコンテンツを代表するものであってもよい。
通信インターフェース710は、ハードウェア、ソフトウェア、または両者を含み得る。いかなる場合でも、通信インターフェース710は、コンピューティング・デバイスと1つもしくは複数の他のコンピューティング・デバイス700またはネットワークとの間の通信(たとえば、パケットベースの通信等)のための1つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース710としては、イーサネット(登録商標)等の有線ネットワークと連通するネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタまたはWi−Fi等の無線ネットワークと連通する無線NIC(WNIC)もしくは無線アダプタが挙げられる。
加えて、または、代替として、通信インターフェース710は、アドホック・ネットワーク、パーソナルエリアネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの1つもしくは複数の部分、またはこれらのうちの2つ以上の組み合わせと通信を行わせる。これらネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース710は、無線PAN(WPAN)(たとえば、Bluetooth(登録商標)WPAN等)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(たとえば、汎欧州デジタル移動電話通信(GSM(登録商標))ネットワーク等)、他の適当な無線ネットワーク、またはこれらの組み合わせと通信を行わせる。
加えて、通信インターフェース710は、通信さまざまな通信プロトコルを促進し得る。使用され得る通信プロトコルの例としては、限定されるものではないが、データ伝送媒体、通信デバイス、伝送制御プロトコル(「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」)技術、無線通信技術、帯域内シグナリング技術および帯域外シグナリング技術、ならびに他の適切な通信ネットワークおよび技術がある。
通信インフラ712は、コンピューティング・デバイス700の構成要素を互いに結合するハードウェア、ソフトウェア、または両者を備える。非限定的な一例として、通信インフラ712は、アクセラレイテッドグラフィックスポート(AGP)等のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、ロウピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス標準協会ローカル(VLB)バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
上述の通り、システム100は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによって、そのユーザ(人または組織など)が、システムに対しておよび互いに対話をすることが可能になる。上述のように、システム100は、ソーシャル・ネットワーキング・システムを備える。ソーシャル・ネットワーキング・システムによれば、そのユーザ(人または組織等)は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を行わせるサービス(たとえば、ウォール投稿、写真共有、オンライン・カレンダー、イベント統合、メッセージング、ゲーム、または広告)を提供するようにしてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザが、ユーザのプロファイル・ページ(典型的には、「ウォール投稿」もしくは「タイムライン投稿」として知られる)に対して、またはフォト・アルバム内に、写真および他のマルチメディア・コンテンツ・アイテムを投稿することを可能にし得、プロファイル・ページとフォト・アルバムの両方は、ユーザの構成されたプライバシー設定に応じて、ソーシャル・ネットワーキング・システムの他のユーザにとってアクセス可能である。
図8は、ソーシャル・ネットワーキング・システムの例となるネットワーク環境800を例示する。ネットワーク環境800は、ネットワーク804によって互いに接続された、クライアント・システム806と、ソーシャル・ネットワーキング・システム802と、サードパーティ・システム808とを含む。図8は、クライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804の特定の構成を例示しているが、この開示は、クライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804の任意の適切な構成を企図したものである。限定としてではなく、一例として、クライアント・システム806、ソーシャル・ネットワーキング・システム802、およびサードパーティ・システム808のうちの2つ以上が、ネットワーク804をバイパスして、直接的に互いに接続されてもよい。別の例として、クライアント・システム806、ソーシャル・ネットワーキング・システム802、およびサードパーティ・システム808のうちの2つ以上が、全体的にまたは部分的に互いと物理的または論理的に共同設置されてもよい。さらに、図8は、特定の数のクライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804を例示しているが、この開示は、任意の適切な数のクライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804を企図したものである。限定としてではなく、一例として、ネットワーク環境800は、複数のクライアント・システム806と、ソーシャル・ネットワーキング・システム802と、サードパーティ・システム808と、ネットワーク804とを含んでよい。
本開示は、任意の適切なネットワーク804を企図したものである。限定としてではなく、一例として、ネットワーク804の1つまたは複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つ以上の組み合わせを含んでよい。ネットワーク804は、1つまたは複数のネットワーク804を含み得る。
リンクは、クライアント・システム806、ソーシャル・ネットワーキング・システム802、およびサードパーティ・システム808を通信ネットワーク804に対して、または互いに対して接続し得る。本開示は、任意の適切なリンクを企図したものである。特定の実施形態では、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つ以上のそのようなリンクの組み合わせを含む。リンクは、必ずしもネットワーク環境800全体を通じて同じである必要はない。1つまたは複数の第1のリンクは、1つまたは複数の点において、1つまたは複数の第2のリンクと異なってよい。
特定の実施形態では、クライアント・システム806は、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、または2つ以上のそのような構成要素の組み合わせを含み、クライアント・システム806によって実施またはサポートされる適切な機能を実行することが可能な電子デバイスであってよい。限定としてではなく、一例として、クライアント・システム806は、上記で図7に関係して論じられたコンピューティング・デバイスのいずれかを含んでよい。クライアント・システム806は、クライアント・システム806におけるネットワーク・ユーザがネットワーク804にアクセスすることを可能にし得る。クライアント・システム806は、そのユーザが他のクライアント・システム806における他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアント・システム806は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA
FIREFOXなどのウェブ・ブラウザ932を含んでよく、1つまたは複数のアドオン、プラグイン、またはツールバーもしくはYAHOOツールバーなどの他の拡張機能を有してよい。クライアント・システム806におけるユーザは、ユニフォーム・リソース・ロケータ(URL)またはウェブ・ブラウザを特定のサーバ(サーバ、またはサードパーティ・システム808に関連付けられているサーバなど)に対して宛てる他のアドレスを入力してよく、ウェブ・ブラウザは、ハイパーテキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに対して通信し得る。サーバは、HTTP要求を受け入れ、HTTP要求に応答して1つまたは複数のハイパーテキスト・マークアップ言語(HTML)ファイルをクライアント・システム806に対して通信し得る。クライアント・システム806は、ユーザに対する提示のために、サーバからのHTMLファイルに基づいてウェブページをレンダリングし得る。本開示は、任意の適切なウェブページ・ファイルを企図したものである。限定としてではなく、一例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングし得る。そのようなページはまた、たとえば、限定されるものではないが、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで記述されたスクリプトなどのスクリプト、AJAX(非同期JAVASCRIPTおよびXML)などのマークアップ言語とスクリプトの組み合わせなどを実行し得る。本明細書では、ウェブページに対する参照は、適切な場合、1つまたは複数の対応するウェブページ・ファイル(ブラウザがウェブページをレンダリングするために使用し得る)を包含し、逆も同様である。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、オンライン・ソーシャル・ネットワークをホストする、ネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム802は、たとえばユーザプロファイル・データ、概念プロファイル・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の適切なデータなどのソーシャルネットワーキング・データを生成、記憶、受信、および送信し得る。ソーシャル・ネットワーキング・システム802は、直接的に、またはネットワーク804を介して、のどちらかで、ネットワーク環境800の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のサーバを含み得る。各サーバは、単体サーバであってもよいし、複数のコンピュータまたは複数のデータセンタにまたがる分散サーバであってもよい。サーバは、たとえば限定されるものではないが、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書で説明される機能もしくはプロセスを実行するのに適した別のサーバ、またはそれらの任意の組み合わせなどの、さまざまなタイプであってよい。特定の実施形態では、各サーバは、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、またはサーバによって実施もしくはサポートされる適切な機能を実行するための2つ以上そのような構成要素の組み合わせを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストアを含み得る。データ・ストアは、さまざまなタイプの情報を記憶するために使用され得る。特定の実施形態では、データ・ストア内に記憶される情報は、具体的なデータ構造に従って編成され得る。特定の実施形態では、各データ・ストアは、リレーショナル・データベース、カラムナ・データベース、相関データベース、または他の適切なデータベースであってよい。本開示は特定のタイプのデータベースを説明または例示しているが、本開示は、任意の適切なタイプのデータベースを企図するものである。特定の実施形態は、クライアント・システム806、ソーシャル・ネットワーキング・システム802、またはサードパーティ・システム808がデータ・ストア内に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャルグラフを記憶し得る。特定の実施形態では、ソーシャルグラフは、複数のユーザ・ノード(各々が特定のユーザに対応する)または複数の概念ノード(各々が特定の概念に対応する)を含み得る複数のノードと、ノードを接続する複数のエッジを含み得る。ソーシャル・ネットワーキング・システム802は、オンライン・ソーシャル・ネットワークのユーザに、他のユーザと通信および対話できることを提供し得る。特定の実施形態では、ユーザは、ソーシャル・ネットワーキング・システム802を介してオンライン・ソーシャル・ネットワークに加わり、次いで、ユーザが接続されたいソーシャル・ネットワーキング・システム802の何人かの他のユーザに対して接続(たとえば、関係)を追加し得る。本明細書では、「友人」という用語は、ユーザがソーシャル・ネットワーキング・システム802を介して接続、関連付け、または関係を形成した、ソーシャル・ネットワーキング・システム802の他の任意のユーザを指し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ソーシャル・ネットワーキング・システム802によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに対してアクションをとることをユーザに提供し得る。限定としてではなく、一例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム802のユーザが属し得るグループもしくはソーシャル・ネットワーク、ユーザが興味を抱き得るイベントもしくはカレンダー記載事項、ユーザが使用し得るコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売し得る取引、ユーザが実行し得る広告との対話、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャル・ネットワーキング・システム802内で、またはサードパーティ・システム808の外部システムによって表されることが可能なものと対話し得、サードパーティ・システム808は、ソーシャル・ネットワーキング・システム802とは別個であり、ネットワーク804を介してソーシャル・ネットワーキング・システム802に結合される。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、さまざまなエンティティをリンクすることが可能であり得る。限定としてではなく、一例として、ソーシャル・ネットワーキング・システム802は、ユーザが、互いと対話し、ならびにサードパーティ・システム808もしくは他のエンティティからコンテンツを受信する、またはユーザが、アプリケーション・プログラミング・インターフェース(API)もしくは他の通信チャネルを通して、これらのエンティティと対話できることを可能にし得る。
特定の実施形態では、サードパーティ・システム808は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、限定されるものではないがAPIを含む1つもしくは複数のインターフェース、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または、たとえばサーバが通信し得る他の任意の適切な構成要素であり得る。サードパーティ・システム808は、ソーシャル・ネットワーキング・システム802を運用するエンティティからの異なるエンティティによって運用され得る。しかしながら、特定の実施形態では、ソーシャル・ネットワーキング・システム802およびサードパーティ・システム808は、ソーシャル・ネットワーキング・システム802またはサードパーティ・システム808のユーザにソーシャルネットワーキング・サービスを提供するために互いに運用し得る。この意味で、ソーシャル・ネットワーキング・システム802は、サードパーティ・システム808などの他のシステムがインターネット全体にわたってソーシャルネットワーキング・サービスおよび機能をユーザに対して提供するために使用し得るプラットフォームすなわちバックボーンを提供し得る。
特定の実施形態では、サードパーティ・システム808は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含み得る。サードパーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・システム806に対して通信され得るコンテンツ・オブジェクトの1つまたは複数のソースを含み得る。限定としてではなく、一例として、コンテンツ・オブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の適切な情報などの、ユーザの興味を引く物事またはアクティビティに関する情報を含み得る。限定としてではなく、別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、商品券、または他の適切な報償となるオブジェクトなどの、報償となるコンテンツ・オブジェクトを含み得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ソーシャル・ネットワーキング・システム802とのユーザの対話を向上させ得る、ユーザにより生成されたコンテンツ・オブジェクトも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム802に対して追加、アップロード、送信、または「投稿する」ものを含み得る。限定としてではなく、一例として、ユーザが、クライアント・システム806からソーシャル・ネットワーキング・システム802に対して投稿を通信する。投稿としては、ステータス更新もしくは他のテキスト・データ、ロケーション情報、フォト、映像、リンク、音楽、または他の類似のデータもしくはメディアなどのデータがあり得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を介して、サードパーティによってソーシャル・ネットワーキング・システム802に対して追加され得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、さまざまなサーバと、サブシステムと、プログラムと、モジュールと、ログと、データ・ストアとを含んでもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類器、通知コントローラ、アクション・ログ、サードパーティコンテンツ・オブジェクト公開(exposure)ログ、推測モジュール、許可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインターフェース・モジュール、ユーザプロファイル・ストア、接続ストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含んでよい。ソーシャル・ネットワーキング・システム802は、ネットワーク・インターフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、他の適切な構成要素、またはそれらの任意の適切な組み合わせなどの、適切な構成要素も含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ユーザ・プロファイルを記憶するための1つまたは複数のユーザプロファイル・ストアを含んでよい。ユーザ・プロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、社会情報、または職歴、学歴、趣味もしくは好み、興味、親密度、もしくはロケーションなどの他のタイプの記述情報を含み得る。興味情報は、1つまたは複数のカテゴリに関係する興味を含み得る。カテゴリは、汎用的であってもよいし、具体的であってもよい。限定としてではなく、一例として、ユーザが、靴のブランドについての記事に対して「いいね」を表明する場合、そのカテゴリはブランドであってもよいし、「靴」または「衣類」という汎用的なカテゴリであってもよい。接続ストアは、ユーザについての接続情報を記憶するために使用され得る。接続情報は、類似もしくは共通の職歴、グループ会員資格、趣味、学歴を有する、または、いかなる形であれ関係する、もしくは共通属性を共有するユーザを示してよい。接続情報は、異なるユーザとコンテンツ(内部と外部の両方)との間の、ユーザにより定義された接続も含み得る。ウェブ・サーバは、ネットワーク804を介して1つもしくは複数のクライアント・システム806または1つもしくは複数のサードパーティ・システム808に対してソーシャル・ネットワーキング・システム802をリンクするために使用され得る。ウェブ・サーバは、ソーシャル・ネットワーキング・システム802と1つまたは複数のクライアント・システム806との間でメッセージを受信およびルーティングするためのメール・サーバまたは他のメッセージング機能を含んでよい。API要求サーバは、サードパーティ・システム808が、1つまたは複数のAPIを呼び出すことによって、ソーシャル・ネットワーキング・システム802からの情報にアクセスすることを可能にし得る。アクション・ロガーは、ソーシャル・ネットワーキング・システム802上またはそれ以外の場所でのユーザのアクションについてウェブ・サーバから通信を受信するために使用され得る。アクション・ログとともに、サードパーティコンテンツ・オブジェクトに対するユーザ公開のサードパーティコンテンツオブジェクト・ログが維持され得る。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム806に対して提供し得る。情報は、通知としてクライアント・システム806に対してプッシュされてもよいし、情報は、クライアント・システム806から受信された要求に応答してクライアント・システム806からプルされてもよい。許可サーバは、ソーシャル・ネットワーキング・システム802のユーザの1つまたは複数のプライバシー設定を強制するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有可能であるかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、アクションをソーシャル・ネットワーキング・システム802によってログさせること、または他のシステム(たとえば、サードパーティ・システム808)とともに共有させることに加わる、または加わらない(opt in to or opt out of)ことを可能にする。サードパーティコンテンツオブジェクト・ストアは、サードパーティ・システム808などのサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用され得る。ロケーション・ストアは、ユーザに関連付けられているクライアント・システム806から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、社会情報、現在の時間、ロケーション情報、または他の適切な情報を組み合わせて、通知の形で関係のある広告をユーザに対して提供し得る。
図9は、例となるソーシャルグラフ900を例示する。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャルグラフ900を記憶し得る。特定の実施形態では、ソーシャルグラフ900は、複数のユーザ・ノード902または複数の概念ノード904を含み得る複数のノードと、ノードを接続する複数のエッジ906とを含み得る。図9に例示される例となるソーシャルグラフ900は、教説的な目的で、2次元の視覚的なマップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム802、クライアント・システム806、またはサードパーティ・システム808は、適切なアプリケーションのためのソーシャルグラフ900および関係するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ900のノードおよびエッジは、たとえば、データ・ストア(ソーシャルグラフ・データベースなど)内に、データ・オブジェクトとして記憶され得る。そのようなデータ・ストアは、ソーシャルグラフ900のノードまたはエッジの1つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
特定の実施形態では、ユーザ・ノード902は、ソーシャル・ネットワーキング・システム802のユーザに対応し得る。限定としてではなく、一例として、ユーザは、ソーシャル・ネットワーキング・システム802と、またはその上で対話または通信する、個人(人間ユーザ)、エンティティ(たとえば、企業、会社、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであってよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム802に口座を登録するとき、ソーシャル・ネットワーキング・システム802は、ユーザに対応するユーザ・ノード902を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード902を記憶し得る。本明細書で説明されるユーザおよびユーザ・ノード902は、適切な場合には、登録されたユーザと、登録されたユーザに関連付けられているユーザ・ノード902を指し得る。加えて、または代替として、本明細書で説明されるユーザおよびユーザ・ノード902は、適切な場合には、ソーシャル・ネットワーキング・システム802に登録されていないユーザを指し得る。特定の実施形態では、ユーザ・ノード902は、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム802を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、ユーザは、自分の名前、プロファイル・ピクチャ、連絡先情報、誕生日、性別、配偶者の有無、家族構成、職業、学歴、好み、興味、または他の人口統計学的情報を提供し得る。ソーシャルグラフの各ユーザ・ノードは、対応するウェブページ(典型的には、プロファイル・ページとして知られる)を有し得る。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、ユーザ名に対応するユーザ・ノードにアクセスし、名前、プロファイル・ピクチャ、およびユーザに関連付けられている他の情報を含むプロファイル・ページを作り上げる。第1のユーザのプロファイル・ページは、第1のユーザによる1つまたは複数のプライバシー設定および第1のユーザと第2のユーザとの間の関係に基づいて、第1のユーザの情報のすべてまたは一部分を第2のユーザに対して表示し得る。
特定の実施形態では、概念ノード904は概念に対応し得る。限定としてではなく、一例として、概念は、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム802に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人物、会社、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム802の中もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置され得るリソース(たとえば、オーディオ・ファイル、映像ファイル、デジタル・フォト、テキスト・ファイル、構造化文書、もしくはアプリケーションなど)、物的財産もしくは知的財産(たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著書など)、ゲーム、アクティビティ、アイデア、もしくは理論、別の適切な概念、または2つ以上のそのような概念に対応し得る。概念ノード904は、ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム802を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、概念の情報としては、名前もしくはタイトル、1つもしくは複数の画像(たとえば、本のカバー・ページの画像)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられ得る)、連絡先情報(たとえば、電話番号もしくは電子メール・アドレス)、他の適切な概念情報、またはそのような情報の任意の適切な組み合わせがあり得る。特定の実施形態では、概念ノード904は、概念ノード904に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態では、概念ノード904は、1つまたは複数のウェブページに対応し得る。
特定の実施形態では、ソーシャルグラフ900内のノードは、ウェブページ(「プロファイル・ページ」と呼ばれることがある)を表してもよいし、これによって表されてもよい。プロファイル・ページは、ソーシャル・ネットワーキング・システム802によってホストされてもよいし、これに対してアクセス可能であってもよい。プロファイル・ページはまた、サードパーティ・サーバ808に関連付けられているサードパーティ・ウェブサイト上にホストされ得る。限定としてではなく、一例として、特定の外部のウェブページに対応するプロファイル・ページは特定の外部ウェブページであってよく、プロファイル・ページは特定の概念ノード904に対応し得る。プロファイル・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧することができてよい。限定としてではなく、一例として、ユーザ・ノード902は、対応するユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応するユーザプロファイル・ページを有し得る。限定としてではなく、別の例として、概念ノード904は、特に概念ノード904に対応する概念に関係して1つまたは複数のユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応する概念プロファイル・ページを有し得る。
特定の実施形態では、概念ノード904は、サードパーティ・システム808によってホストされるサードパーティ・ウェブページまたはリソースを表し得る。サードパーティ・ウェブページまたはリソースは、要素の中でもとりわけ、アクションまたはアクティビティを表すコンテンツ、選択可能なアイコンもしくは他のアイコン、または他の対話可能なオブジェクト(たとえば、JavaScriptコード、AJAXコード、またはPHPコードで実装され得る)を含んでよい。限定としてではなく、一例として、サードパーティ・ウェブページは、「いいね」、「チェック・イン」、「食べる」、「推奨」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含み得る。サードパーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(たとえば、「食べる」)を選択し、クライアント・システム806に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム802に対して送信させることによって、アクションを実行し得る。メッセージに応答して、ソーシャル・ネットワーキング・システム802は、ユーザに対応するユーザ・ノード902とサードパーティ・ウェブページまたはリソースに対応する概念ノード904との間にエッジ(たとえば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ906を記憶し得る。
特定の実施形態では、ソーシャルグラフ900内のノードのペアは、1つまたは複数のエッジ906によって互いに接続され得る。ノードのペアを接続するエッジ906は、ノードのペアの間の関係を表し得る。特定の実施形態では、エッジ906は、ノードのペアの間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含み得るまたはこれを表し得る。限定としてではなく、一例として、第1のユーザは、第2のユーザが第1のユーザの「友人」であることを示し得る。この指示に応答して、ソーシャル・ネットワーキング・システム802は、第2のユーザに対して「友人要求」を送信し得る。第2のユーザが「友人要求」を確かめる場合、ソーシャル・ネットワーキング・システム802は、ソーシャルグラフ900内の第1のユーザのユーザ・ノード902を第2のユーザのユーザ・ノード902に対して接続するエッジ906を作成し、エッジ906をソーシャルグラフ情報としてデータ・ストアのうちの1つまたは複数に記憶し得る。図9の例では、ソーシャルグラフ900は、ユーザ「A」とユーザ「B」のユーザ・ノード902間の友人関係を示すエッジ906と、ユーザ「C」とユーザ「B」のユーザ・ノード902間の友人関係を示すエッジとを含む。本開示は、特定のユーザ・ノード902を接続する、特定の属性を有する特定のエッジ906を説明または例示しているが、本開示は、ユーザ・ノード902を接続する、任意の適切な属性を有する任意の適切なエッジ906を企図するものである。限定としてではなく、一例として、エッジ906は、友人関係、家族関係、ビジネスすなわち雇用関係、ファン関係、フォロワー関係、ビジター関係、購読者関係、上下関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表し得る。さらに、本開示は一般に、ノードを、接続されていると説明しているが、本開示は、ユーザまたは概念も、接続されていると説明する。本明細書では、接続されているユーザまたは概念への参照は、適切な場合には、ソーシャルグラフ900内で1つまたは複数のエッジ906によって接続されているそれらのユーザまたは概念に対応するノードに及ぶ。
特定の実施形態では、ユーザ・ノード90と概念ノード904との間のエッジ906は、概念ノード904に関連付けられている概念のためにユーザ・ノード902に関連付けられているユーザによって実行される特定のアクションまたはアクティビティを表し得る。限定としてではなく、一例として、図9に例示されるように、ユーザは、概念に対して「いいね」を表明し、「通学した」、「プレイした」、「聞いた」、「料理した」、「働いた」、または概念を「見た」とする。その各々は、エッジ・タイプまたはサブタイプに対応し得る。概念ノード904に対応する概念プロファイル・ページは、たとえば、選択可能な「チェック・イン」アイコン(たとえば、クリック可能な「チェック・イン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含んでよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム802は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェック・イン」エッジを作成してよい。限定としてではなく、別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の歌(「ランブル・オン」)を聞くことがある。この場合、ソーシャル・ネットワーキング・システム802は、ユーザがその歌を聞き、そのアプリケーションを使用したことを示すため、にユーザに対応するユーザ・ノード902と歌およびアプリケーションに対応する概念ノード904との間に「聞いた」エッジ906および「使用した」エッジ(図9に例示される)を作成し得る。さらに、ソーシャル・ネットワーキング・システム802は、特定の歌が特定のアプリケーションによってプレイ(再生)されたことを示すために、歌およびアプリケーションに対応する概念ノード904間に「プレイした」エッジ906(図9に例示される)を作成し得る。この場合、「プレイした」エッジ906は、外部オーディオ・ファイル(歌「イマジン」)に対して外部アプリケーション(SPOTIFY)によって実行されるアクションに対応する。本開示は、ユーザ・ノード902および概念ノード904を接続する、特定の属性を有する特定のエッジ906を説明しているが、本開示は、ユーザ・ノード902および概念ノード904を接続する、任意の適切な属性を有する任意の適切なエッジ906を企図するものである。そのうえ、本開示は、単一の関係を表す、ユーザ・ノード902と概念ノード904との間のエッジを説明しているが、本開示は、1つまたは複数の関係を表す、ユーザ・ノード902と概念ノード904との間のエッジを企図する。限定としてではなく、一例として、エッジ906は、ユーザが特定の概念に対して「いいね」を表明したことと、特定の概念において使用したことの両方を表し得る。代替的に、別のエッジ906は、ユーザ・ノード902と概念ノード904との間の各タイプの関係(または単一の関係の倍数)を表し得る(図9では、ユーザ「E」のユーザ・ノード902と「SPOTIFY」の概念ノード904との間に例示される)。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ソーシャルグラフ900内のユーザ・ノード902と概念ノード904との間にエッジ906を作成し得る。限定としてではなく、一例として、(たとえば、ユーザのクライアント・システム806によってホストされるウェブ・ブラウザまたは特殊目的アプリケーションを使用することなどによって)概念プロファイル・ページを閲覧するユーザは、自分は概念ノード904によって表される概念に対して「いいね」を表明したことを、「いいね」アイコンをクリックまたは選択することによって示し得、それは、ユーザは概念プロファイル・ページに関連付けられている概念に対して「いいね」を表明したことを示すメッセージをソーシャル・ネットワーキング・システム802に対して送信することをユーザのクライアント・システム806に行わせ得る。メッセージに応答して、ソーシャル・ネットワーキング・システム802は、ユーザと概念ノード904との間の「いいね」エッジ906によって例示されるように、ユーザに関連付けられているユーザ・ノード902と概念ノード904との間にエッジ906を作成し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストアにエッジ906を記憶し得る。特定の実施形態では、エッジ906は、特定のユーザ・アクションに応答して、ソーシャル・ネットワーキング・システム802によって自動的に形成され得る。限定としてではなく、一例として、第1のユーザがピクチャをアップロードする、映画を見る、または歌を聞く場合、エッジ906は、第1のユーザに対応するユーザ・ノード902とそれらの概念に対応する概念ノード904との間に形成され得る。本開示は、特定の様式で特定のエッジ906を形成することを説明しているが、本開示は、任意の適切な様式で任意の適切なエッジ906を形成することを企図するものである。
特定の実施形態では、広告は、テキスト(HTMLリンクであってよい)、1つもしくは複数の画像(HTMLリンクであってよい)、1つもしくは複数の映像、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組み合わせ、または1つもしくは複数のウェブページ上で、1つもしくは複数の電子メール内で、もしくはユーザによって要求された検索結果に関係して、提示される任意の適切なデジタル・フォーマットの他の任意の適切な広告であってよい。加えて、または代替として、広告は、1つまたは複数のスポンサー付きストーリー(たとえば、ソーシャル・ネットワーキング・システム802上のニュースフィードまたはティッカー・アイテム)である。スポンサー付きストーリーは、たとえば、ソーシャル・アクションを、ユーザのプロファイル・ページまたは他のページの所定のエリア内に提示させる、広告主に関連付けられている追加の情報とともに提示させる、他のユーザのニュースフィードもしくはティッカー内で衝突させるもしくは別のやり方で目立たせる、または別のやり方でプロモーションさせることによって広告主がプロモーションする、ユーザによるソーシャル・アクション(ページに対して「いいね」を表明する、ページ上の投稿に対して「いいね」を表明するもしくはコメントする、ページに関連付けられているイベントの出欠を返事する、ページ上で投稿された質問に関して投稿する、ある場所にチェック・インする、アプリケーションを使用するもしくはゲームをする、またはウェブサイトを「リンク」もしくは共有するなど)であってよい。広告主は、ソーシャル・アクションをプロモーションさせるために支払うことがある。限定としてではなく、一例として、広告は検索結果ページの検索結果の間に含まれてよく、そこでは、スポンサー付きコンテンツは、スポンサー付きでないコンテンツよりもプロモーションされる。
特定の実施形態では、広告は、ソーシャルネットワーキングシステム・ウェブページ、サードパーティ・ウェブページ、または他のページ内での表示のために要求され得る。広告は、ページの上部のバナー・エリア内、ページの側部のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上部の上、またはページに関する他の場所などの、ページの専用部分内に表示され得る。加えて、または代替として、広告はアプリケーション内に表示され得る。広告は、専用ページ内に表示され、ユーザに、ユーザがページにアクセスするまたはアプリケーションを利用する前に広告と対話するまたはこれを見ることを要求し得る。ユーザは、たとえば、ウェブ・ブラウザを通して広告を閲覧してよい。
ユーザは、任意の適切な様式で広告と対話してよい。ユーザは、広告をクリックしてもよいし、または別のやり方で広告を選択してもよい。広告を選択することによって、ユーザは、広告に関連付けられているページ(または、ユーザによって使用されているブラウザもしくは他のアプリケーション)に対して向けられ得る。広告に関連付けられているページでは、ユーザは、広告に関連付けられている製品もしくはサービスを購入する、広告に関連付けられている情報を受信する、または広告に関連付けられているニュースレターを購読するなどの、追加のアクションをとり得る。オーディオまたは映像を有する広告は、(「プレイ・ボタン」などの)広告の構成要素を選択することによってプレイされ得る。代替的に、広告を選択することによって、ソーシャル・ネットワーキング・システム802は、ユーザの特定のアクションを実行または修正し得る。
広告は、ユーザが対話し得るソーシャル・ネットワーキング・システム機能も含み得る。限定としてではなく、一例として、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するまたは別のやり方で広告を支持することを可能にし得る。限定としてではなく、別の例として、広告は、ユーザが、広告主に関連するコンテンツを(たとえば、クエリを実行することによって)検索することを可能にし得る。同様に、ユーザは、別のユーザと(たとえば、ソーシャル・ネットワーキング・システム802を通して)広告を共有し得、または広告に関連付けられているイベントの出欠を(たとえば、ソーシャル・ネットワーキング・システム802を通して)返事し得る。加えて、または代替として、広告は、ユーザに対して向けられたソーシャルネットワーキングシステム・コンテキストを含み得る。限定としてではなく、一例として、広告は、広告の主題に関連付けられているアクションをとった、ソーシャル・ネットワーキング・システム802内のユーザの友人についての情報を表示し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、互いに対するさまざまなソーシャルグラフ・エンティティのソーシャルグラフ親密度(本明細書では、「親密度」と呼ばれることがある)を決定し得る。親密度は、ユーザ、概念、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは興味のレベルを表し得る。親密度は、サードパーティ・システム808または他の適切なシステムに関連付けられているオブジェクトに対しても決定され得る。各ユーザ、主題、またはコンテンツのタイプのためのソーシャルグラフ・エンティティの全体的な親密度が確立され得る。全体的な親密度は、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続モニタリングに基づいて変化し得る。本開示は、特定の様式で特定の親密度を決定することを説明しているが、本開示は、任意の適切な様式で任意の適切な親密度を決定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、親密度係数(本明細書では、「係数」と呼ばれることがある)を使用してソーシャルグラフ親密度を測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表すまたは定量化し得る。係数は、アクションにおけるユーザの興味に基づいてユーザが特定のアクションを実行する予測確率を測定する確率または機能も表し得る。このようにして、ユーザの将来のアクションは、ユーザの前のアクションに基づいて予測され得、係数は、少なくとも部分的にユーザのアクションの履歴計算され得る。係数は、任意の数のアクションを予測するために使用され得、アクションは、オンライン・ソーシャル・ネットワーク内であってもよいし、オンライン・ソーシャル・ネットワークの外部であってもよい。限定としてではなく、一例として、これらのアクションは、メッセージを送信すること、コンテンツを投稿すること、もしくはコンテンツに対してコメントすることなどのさまざまなタイプの通信、プロファイル・ページ、メディア、もしくは他の適切なコンテンツにアクセスもしくは閲覧するなどのさまざまなタイプの観察アクション、同じグループ内にある、同じ写真でタグ付けされている、同じロケーションにチェック・インした、もしくは同じイベントに出席したなどの2つ以上のソーシャルグラフ・エンティティについてのさまざまなタイプの一致情報、または他の適切なアクションを含み得る。本開示は、特定の様式で親密度を測定することを説明しているが、本開示は、任意の適切な様式で親密度を測定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、さまざまな因子を使用して係数を計算し得る。これらの因子としては、たとえば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせがあり得る。特定の実施形態では、異なる因子は、係数を計算するとき、異なるように重み付けされ得る。各因子の重みは静的であってもよいし、重みは、たとえば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどに応じて変化してもよい。因子のレーティングは、ユーザの全体的係数を決定するための重みに応じて組み合わされ得る。限定としてではなく、一例として、特定のユーザ・アクションは、レーティングと重みの両方に対して割り当てられてよく、特定のユーザ・アクションに関連付けられている関係は、レーティングおよび相関重みが割り当てられる(たとえば、そのため、重みは合計100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに対して割り当てられたレーティングは、たとえば、全体的係数の60%を備えることがあり、ユーザとオブジェクトとの間の関係は全体的係数の40%を備えることがある。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに対して接続されたソーシャルグラフ・エンティティとの関係、ユーザ・アクションの短期もしくは長期の平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなどの、係数を計算するために使用されるさまざまな因子に対する重みを決定するとき、さまざまな変数を考慮し得る。限定としてではなく、一例として、係数は、係数を計算するとき、アクションが最近であればあるほど関連度が大きくなるように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含み得る。レーティングおよび重みは、係数が基づくアクションの継続追跡に基づいて連続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各因子および因子に対して割り当てられた重みに対するレーティングを割り当てる、組み合わせる、平均化するなどを行うために用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、履歴アクションおよび過去のユーザ応答、またはさまざまなオプションに対してさらし、応答を測定することによってユーザから得られた(farmed)データに関して訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定の様式で係数を計算することを説明しているが、本開示は、任意の適切な様式で係数を計算することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ユーザのアクションに基づいて係数を計算し得る。ソーシャル・ネットワーキング・システム802は、オンライン・ソーシャル・ネットワーク上で、サードパーティ・システム808上で、他の適切なシステム上で、またはそれらの任意の組み合わせで、そのようなアクションを監視してよい。任意の適切なタイプのユーザ・アクションが追跡または監視されてよい。典型的なユーザ・アクションとしては、プロファイル・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、グループに加わること、イベントにおける出席をリストし確かめること、ロケーションにチェック・インすること、特定のページに対して「いいね」を表明すること、ページを作成すること、およびソーシャル・アクションを促進する他のタスクを実行することがある。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のタイプのコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム808、または別の適切なシステムに関連付けられ得る。コンテンツとしては、ユーザ、プロファイル・ページ、投稿、ニュース・ストーリー、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、映像、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせがある。ソーシャル・ネットワーキング・システム802は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が主題、コンテンツ、他のユーザなどに対して親密度を示すか否かを決定し得る。限定としてではなく、一例として、ユーザが、「コーヒー」またはその変種に関係したコンテンツの投稿を頻繁に行う場合、ソーシャル・ネットワーキング・システム802は、ユーザが「コーヒー」という概念に関して高い係数を有することを決定し得る。特定のアクションまたは特定のタイプのアクションは、計算された全体的係数に影響し得る、他のアクションよりも高い重みおよび/またはレーティングが割り当てられ得る。限定としてではなく、一例として、第1のユーザが第2のユーザに電子メールを出す場合、アクションに対する重みまたはレーティングは、第1のユーザが第2のユーザのためのユーザプロファイル・ページを閲覧するだけの場合よりも高くなり得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のオブジェクト間の関係のタイプに基づいて係数を計算し得る。ソーシャルグラフ900を参照すると、ソーシャル・ネットワーキング・システム802は、係数を計算するとき、特定のユーザ・ノード902と概念ノード904を接続するエッジ906の数および/またはタイプを分析し得る。限定としてではなく、一例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザ・ノード902は、友人タイプのエッジによって接続されるユーザ・ノード902よりも高い係数が割り当てられ得る。言い換えれば、特定のユーザのためのアクションおよび関係に対して割り当てられた重みに応じて、全体的親密度は、ユーザの友人についてのコンテンツに対するよりもユーザの配偶者についてのコンテンツに対して高くなるように決定され得る。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトに関する係数を計算することに関するユーザのアクションの重みおよび/またはレーティングに影響し得る。限定としてではなく、一例として、コンテンツとタグ付けタイプの関係を有することは、コンテンツと「いいね」タイプの関係を有するよりも高い重みおよび/またはレーティングを割り当てられ得るので、ユーザが第1のフォトでタグ付けされるが、第2のフォトに対しては「いいね」を表明するにすぎない場合、ソーシャル・ネットワーキング・システム802は、ユーザが、第2のフォトよりも第1のフォトに関して高い係数を有することを決定し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数の第2のユーザが特定のオブジェクトと有する関係に基づいて、第1のユーザに関する係数を計算し得る。言い換えれば、他のユーザがオブジェクトと有する接続および係数は、第1のユーザのオブジェクトに関する係数に影響し得る。限定としてではなく、一例として、第1のユーザが、1つもしくは複数の第2のユーザに対して接続される、またはそれらに関して高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるまたはそれに関して高い係数を有する場合、ソーシャル・ネットワーキング・システム802は、第1のユーザも、特定のオブジェクトに関する比較的高い係数も有するべきであることを決定し得る。特定の実施形態では、係数は、特定のオブジェクト間の隔たり次数に基づいてよい。任意の2つのノード間の隔たり次数は、あるノードから他のノードへソーシャルグラフをたどるために必要とされるホップの最小数として定義される。2つのノード間の隔たり次数は、ソーシャルグラフ内の2つのノードによって表されるユーザまたは概念間の関係性の尺度と考えられ得る。たとえば、エッジによって直接的に接続される(すなわち、1次のノードである)ユーザ・ノードを有する2人のユーザは、「接続されたユーザ」すなわち「友人」と説明され得る。同様に、別のユーザ・ノードを通してのみ接続される(すなわち、2次のノードである)ユーザ・ノードを有する2人のユーザは、「友人の友人」と説明され得る。より低い係数は、第1のユーザが、ソーシャルグラフ900内で第1のユーザに対して間接的に接続されたユーザのコンテンツ・オブジェクトにおいて興味を共有する可能性の減少を表し得る。限定としてではなく、一例として、ソーシャルグラフ900内でより近い(すなわち、分離次数のより低い)ソーシャルグラフ・エンティティは、ソーシャルグラフ900内でさらに離れたエンティティよりも高い係数を有し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ロケーション情報に基づいて係数を計算し得る。互いに対して地理的により近いオブジェクトは、より遠いオブジェクトよりも互いに対してより関係がある、またはより興味があると考えられ得る。特定の実施形態では、特定のオブジェクトのためのユーザの係数は、ユーザに関連付けられている現在のロケーション(またはユーザのクライアント・システム806のロケーション)に対するオブジェクトのロケーションの近接性に基づき得る。第1のユーザは、第1のユーザに対してより近い他のユーザまたは概念に、より興味があり得る。限定としてではなく、一例として、ユーザが空港から1.609km(1マイル)、ガソリン・スタンドから3.219km(2マイル)のところにいる場合、ソーシャル・ネットワーキング・システム802は、ユーザに対する空港の近接性に基づいて、ユーザがガソリン・スタンドよりも空港に関して高い係数を有することを決定し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、係数情報に基づいて、ユーザに関する特定のアクションを実行し得る。係数は、ユーザのアクションへの興味に基づいて、ユーザが特定のアクションを実行するか否かを予測するために使用され得る。係数は、広告、検索結果、ニュース・ストーリー、メディア、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトをユーザに対して生成または提示するとき、使用され得る。係数はまた、必要に応じて、そのようなオブジェクトをランキングし、順序付けるために利用され得る。このようにして、ソーシャル・ネットワーキング・システム802は、ユーザの興味および現在の環境に関連のある情報を提供し、興味のあるそのような情報を見つける可能性を増加させ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、係数情報に基づいてコンテンツを生成し得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択され得る。限定としてではなく、一例として、ユーザが、ユーザがメディア・オブジェクトに関して高い全体的係数を有するメディアが提示される場合、係数は、ユーザのためのメディアを生成するために使用され得る。限定としてではなく、別の例として、ユーザが、ユーザが広告付きオブジェクトに関して高い全体的係数を有する広告が提示される場合、係数は、ユーザのための広告を生成するために使用され得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、係数情報に基づいて検索結果を生成し得る。特定のユーザのための検索結果は、クエリを発行したユーザに対する検索結果に関連付けられている係数に基づいてスコア付けまたはランキングされ得る。限定としてではなく、一例として、より高い係数を有するオブジェクトに対応する検索結果は、検索結果ページ上で、より低い係数を有するオブジェクトに対応する結果よりも高くランキングされ得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のシステムまたはプロセスからの係数の要求に応答して係数を計算し得る。ユーザが所与の状況でとり得る(または、その対象であり得る)可能性があるアクションを予測するために、任意のプロセスは、ユーザに関する計算された係数を要求し得る。要求は、係数を計算するために使用されるさまざまな因子に使用する重みのセットも含み得る。この要求は、オンライン・ソーシャル・ネットワーク上で実行されているプロセスから来ることもあるし、サードパーティ・システム808から(たとえば、APIまたは他の通信チャネルを介して)来ることもあるし、別の適切なシステムから来ることもある。要求に応答して、ソーシャル・ネットワーキング・システム802は、係数を計算し得る(または、係数情報が以前に計算され、記憶されている場合、その係数情報にアクセスし得る)。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のプロセスに関して親密度を測定し得る。さまざまなプロセス(オンライン・ソーシャル・ネットワークに対して内部と外部の両方にある)は、特定のオブジェクトまたはオブジェクトのセットに関する係数を要求し得る。ソーシャル・ネットワーキング・システム802は、親密度の尺度を要求した特定のプロセスに対して関連のある親密度の尺度を提供し得る。このようにして、各プロセスは、プロセスが親密度の尺度を使用する異なるコンテキストに合わせられた親密度の尺度を受信する。
ソーシャルグラフ親密度および親密度係数に関して、特定の実施形態は、その各々が本願明細書に援用される、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月01日に出願された米国特許出願第13/632869号に開示されている1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用し得る。
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの1つまたは複数がプライバシー設定に関連付けられ得る。オブジェクトのためのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス内に、別の適切な様式で、または、それらの任意の組み合わせなどの任意の適切な様式で記憶されてよい。オブジェクトのプライバシー設定は、オブジェクト(またはオブジェクトに関連付けられている特定の情報)が、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス(たとえば、閲覧または共有)され得るかを規定し得る。オブジェクトのためのプライバシー設定は、特定のユーザがそのオブジェクトにアクセスすることを可能にし、オブジェクトは、そのユーザに対して「閲覧可能」と説明され得る。限定としてではなく、一例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザプロファイル・ページのためのプライバシー設定が、ユーザプロファイル・ページ上の職歴情報にアクセスし得るユーザのセットを識別し、したがって、他のユーザを情報にアクセスさせないことを規定し得る。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられている一定の情報にアクセスすることが可能にされるべきではないユーザの「遮断リスト」を規定し得る。言い換えれば、遮断リストは、オブジェクトが見えない1つまたは複数のユーザまたはエンティティを規定し得る。限定としてではなく、一例として、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスし得ないユーザのセットを規定し、したがって、それらのユーザをフォト・アルバムにアクセスさせ得ない(がまた、おそらく、ユーザのセットに含まれない一定のユーザはフォト・アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなどのソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられている情報、またはソーシャルグラフ要素に関連付けられているコンテンツ・オブジェクトがどのようにしてオンライン・ソーシャル・ネットワークを使用してアクセス可能であるかを規定し得る。限定としてではなく、一例として、特定のフォトに対応する特定の概念ノード904は、そのフォトは、フォトでタグ付けされたユーザおよびユーザの友人によってのみアクセスされ得ることを規定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、アクションをソーシャル・ネットワーキング・システム802によってログさせること、または他のシステム(たとえば、サードパーティ・システム808)と共有させることに加わる、または加わらないことを可能にする。特定の実施形態では、オブジェクトに関連付けられているプライバシー設定は、任意の適切な粒度の許容されたアクセスまたはアクセスの否定を規定し得る。限定としてではなく、一例として、アクセスまたはアクセスの否定は、特定のユーザ(たとえば、自分のみ、ルームメイト、および上司)、特定の次数以内の隔たりに含まれるユーザ(たとえば、友人、または友人の友人)、ユーザ・グループ(たとえば、ゲーム・クラブ、家族)、ユーザ・ネットワーク(たとえば、特定の雇用者の従業員、学生、または特定の大学の卒業生)、すべてのユーザ(「パブリック」)、ユーザなし(「プライベート」)、サードパーティ・システム808のユーザ、特定のアプリケーション(たとえば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザもしくはエンティティ、またはそれらの任意の組み合わせに対して規定され得る。本開示は、特定の様式で特定のプライバシー設定を使用することを説明しているが、本開示は、任意の適切な様式で任意の適切なプライバシー設定を使用することを企図している。
特定の実施形態では、1つまたは複数のサーバは、プライバシー設定を強制するための許可/プライバシー・サーバであってよい。データ・ストア内に記憶された特定のオブジェクトに関するユーザ(または他のエンティティ)からの要求に応答して、ソーシャル・ネットワーキング・システム802は、オブジェクトのためのデータ・ストアに対して要求を送信し得る。要求は、要求に関連付けられているユーザを識別し得、許可サーバが、オブジェクトに関連付けられているプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることを許可されていることを決定した場合、ユーザ(またはユーザのクライアント・システム806)のみに対して送信され得る。要求元ユーザが、オブジェクトにアクセスすることが許可されていない場合、許可サーバは、要求されたオブジェクトがデータ・ストアから取り出されるのを防止し得る、または、要求されたオブジェクトがユーザに対して送信されるのを防止し得る。検索クエリ・コンテキストでは、クエリ元ユーザが、オブジェクトにアクセスすることが許可されている場合、そのオブジェクトは、検索結果としてのみ生成され得る。言い換えれば、オブジェクトは、クエリ元ユーザに見える可視性を有さなければならない。オブジェクトが、ユーザに見えない可視性を有する場合、オブジェクトは検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を強制することを説明しているが、本開示は、任意の適切な様式でプライバシー設定を強制することを企図したものである。
上記明細は、特定の例示的な実施形態を参照して記載されている。種々実施形態および本開示の様相は、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
追加または代替の実施形態は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。