本開示の実施形態は、支払いを送信および受信することの容易さおよび効率を増加させる統合されたメッセージおよび支払いシステムを提供する。特に、1つまたは複数の実施形態は、電子支払いシステムと電子メッセージング・システムとを統合する統合されたメッセージおよび支払いシステムを提供する。統合されたメッセージおよび支払いシステムは、2人以上のユーザがメッセージならびに電子支払い(electronic payment)を送信および受信することを可能にする。たとえば、統合されたメッセージおよび支払いシステムは、共同ユーザとの電子メッセージの交換も可能にするメッセージング・インターフェースを介してユーザが電子支払いを共同ユーザに送信することを可能にする。
電子支払いシステムとメッセージング・システムを統合することによって、システムは、会話のフローにおいて電子支払いを送信および受信できることをユーザに提供することができる。したがって、システムは、ユーザが支払い取引(payment transaction)について通信し、電子支払いに専用の別個のアプリケーションを開く必要もなく取引を行うことを可能にすることができる。システムの1つまたは複数の実施形態によって提供される、メッセージの交換中にシームレスに支払いを送信することの容易さおよび効率の上昇は、電子支払いの使用の増加および電子支払いに対する満足をもたらすことができる。
統合されたメッセージおよび支払いシステムは、支払い取引の開始に柔軟性を提供することができる。言い換えれば、電子支払いシステムとメッセージング・システムとを統合することによって、システムは、ユーザがさまざまな様式で支払いを開始することを可能にする。特に、統合されたメッセージおよび支払いシステムは、支払い開始を厳格な所定のプロセスに限定するのではなく、会話のコンテキストに基づいてユーザが支払いを開始することを可能にする。たとえば、統合されたメッセージおよび支払いシステムは、ユーザ間で交換される電子メッセージに基づいて、支払いイベントを推測することができる。具体的には、統合されたメッセージおよび支払いシステムは、2人以上のユーザ間で交換される電子メッセージを分析して、支払いイベントが発生していそうかどうかを決定することができる。支払いイベントを推測した後、統合されたメッセージおよび支払いシステムは、推測された支払いイベントに基づいて、ユーザ間の支払い取引を開始するためのオプションを提供することができる。したがって、1つまたは複数の実施形態では、統合されたメッセージおよび支払いシステムは、ユーザ間でのメッセージの交換の自然な流れを中断することなく、ユーザ間で交換されるメッセージに基づいて、ユーザが他のユーザと支払い取引を開始することを可能にする。
具体的には、統合されたメッセージおよび支払いシステムは、支払いイベントを示すかまたは暗示する一定のフレーズまたは文字ストリングを識別することができる。たとえば、ネットワーク・システムは、「あなたは映画チケット代の15ドルを私に借りている」というストリングを識別することができる。推測された支払いに基づいて、統合されたメッセージおよび支払いシステムは、支払いを開始するための、または別のやり方で、支払いを送信することをユーザのうちの1人または複数に提案するためのオプションを提供することができる。たとえば、ネットワーク・システムは、「15ドル」を、ユーザが支払いを開始するために選択し得る選択可能な要素として構成することができる。
1つまたは複数の追加の実施形態では、統合されたメッセージおよび支払いシステムは、ユーザのグループに支払いを要求するためのオプションを提供することができる。特に、統合されたメッセージおよび支払いシステムは、ユーザがユーザのグループから支払いを受信したいと望んでいることを検出することができる。たとえば、統合されたメッセージおよび支払いシステムは、友人のグループが一緒にレストランにおり、またはそうでなければ、1人のユーザがその他のユーザのために支払うイベントに従事していることを検出することができる。統合されたメッセージおよび支払いシステムは、単一の取引において、グループ内のユーザを識別し、そのグループ内のユーザの各々に支払いを要求するためのオプションをユーザに提供することができる。
加えて、本明細書で説明される、統合されたメッセージおよび支払いシステムの1つまたは複数の実施形態は、ユーザが支払いクレデンシャル(payment credential)を最初に提供する必要なしに、支払い取引を開始することを可能にする。したがって、ユーザは、機密金融情報を提供する前に、所望の受信者が統合されたメッセージおよび支払いシステムのユーザであるかどうかを決定することができる。所望の受信者が、統合されたメッセージおよび支払いシステムのユーザではない場合、統合されたメッセージおよび支払いシステムは、所望の受信者が名簿に記載されることをユーザが要求することを可能にする。したがって、統合されたメッセージおよび支払いシステムは、ユーザが機密金融情報を提供する前に、受信者が資金を受け取ることを確保することを可能にする。
受信者が名簿に記載され、またはクレデンシャル支払いを提供すると、統合されたメッセージおよび支払いシステムは、支払いを完了させるために支払いクレデンシャルを提供するように送信者に促し得る。関係のある情報(related lines)に従って、統合されたメッセージおよび支払いシステムは、受信者がリマインダを送信するか、または他のタイプの社会的圧力(social pressure)を加えて、支払いクレデンシャルを提供するように送信者に促すことを可能にする。社会的圧力は、支払い情報を提供することによって支払い取引を完了させるように送信者に働きかけ得る。
前述の内容に加えて、1つまたは複数の実施形態は、支払いを送信または受信する際に、より効率的なおよび/またはより魅力的なユーザ体験を提供するユーザ・インターフェースを提供する。たとえば、1つまたは複数の実施形態は、ユーザの体験を向上させる適合されたグラフィカル・ユーザ・インターフェース・オブジェクトを含む。具体的には、メッセージ・ユーザ・インターフェースは、アイコン、ステッカー(sticker)、またはユーザに対して合わせられた他の選択可能なオブジェクトを含むことができる。たとえば、統合されたメッセージおよび支払いシステムは、ユーザのロケーションを検出し、ユーザが支払い額を入力するために選択し得る共通通貨に対応するステッカーまたは他のグラフィカル・オブジェクトを提供することができる。統合されたメッセージおよび支払いシステムは、ステッカー/オブジェクトの各選択を検出し、支払い額をインクリメントすることができる。したがって、統合されたメッセージおよび支払いシステムは、財布または小銭入れから通貨を引き出して支払い額に到達させるのと類似の体験をユーザに提供することができる。
関係のある情報に従って、統合されたメッセージおよび支払いシステムは、支払い額を検出または推測し、検出もしくは推測された額に対応するステッカーまたは他の選択可能なアイコンもしくはオブジェクトをユーザに提供することができる。したがって、統合されたメッセージおよび支払いシステムは、ユーザが支払い額を入力する必要性を低減させることによって、効率を増加させることができる。
本明細書で使用されるとき、「メッセージ」または「複数のメッセージ」という用語は、2つ以上のコンピューティング・デバイス間の任意の形式の電子通信を指す。メッセージは、テキスト・メッセージ、フォト、ステッカーまたは他のアイコン、ビデオ、音声記録、音楽、音声メールなどを含むことができる。1つまたは複数の実施形態では、メッセージは、リアルタイムで、またはほぼリアルタイムで通信されるインスタント・メッセージである。しかしながら、代替実施形態では、メッセージは、SMSメッセージ、電子メール、またはソーシャル・ネットワークの投稿もしくはコメントなどの電子通信のうちのいずれかの形式を指すことができる。
加えて、「支払いメッセージ(payment message)」という用語は、システムが支払い取引を開始することを可能にする支払い情報を示すメッセージを指す。たとえば、支払いメッセージは、支払い額、送信者、受信者、支払い方法、ならびにユーザによりメッセージのために提供されたテキストなどの追加の情報を含むデータ・パッケージを含むことができる。
本明細書で使用されるとき、「支払い取引」という用語は、2つ以上のエンティティ間で通貨またはクレジットを交換する任意のタイプの電子取引を指す。たとえば、支払い取引は、統合されたメッセージおよび支払いシステムの2人のユーザ間の金融電子取引とすることができる。別の例では、支払い取引は、ユーザと金融機関または他の複数人からなるエンティティとの間の金融電子取引とすることができる。加えて、支払い取引は、金銭贈与、借金の支払い、ローンの資金供給、品物および/もしくはサービスの購入を考慮した支払い、または他の任意のタイプの金銭移動を表すことができる。加えて、支払い取引は、1つまたは複数の通貨でなされ、たとえば為替レートに基づいて、1つまたは複数の追加の通貨に変換されることが可能である。
本明細書で使用されるとき、「イベント」および「支払いイベント」という用語は、支払い取引に関連付けられた任意の動作を指す。具体的には、イベントとは、2つ以上のエンティティ間での支払い取引を開始し、開始しようと試行し、完了させ、または別のやり方で関連付けられた、統合されたメッセージおよび支払いシステムまたはユーザによる動作を指す。たとえば、支払いシステムは、統合されたメッセージおよび支払いシステムのユーザによる電子メッセージから、支払い取引を開始したいという要望(たとえば、支払いを求める要求もしくは支払いたいという要求)、支払い取引を完了させたいという要望、または支払い取引に関連付けられた別の動作を実行したいという要望を示すイベントを推測することができる。
本明細書で使用されるとき、「自然言語フレーズ(natural language phrase)」という用語は、ユーザによって用いられる通常の言語を含むテキストを指す。具体的には、自然言語フレーズは、コンピューティング・デバイスと対話するために具体的に構成された特別な構文または形式的な構造なしのテキストを含むことができる。たとえば、自然言語フレーズは、統合されたメッセージおよび支払いシステムの2人のユーザ間の会話型言語を含むことができる。例示するために、ユーザは、メッセージング・グラフィカル・ユーザ・インターフェース(たとえば、テキスト・メッセージ、電子メールまたはチャット・メッセージ)によって互いに通信する際に自然言語を使用することができる。
本明細書で使用されるとき、「口座」または「支払いクレデンシャル」という用語は、ユーザの銀行口座、クレジット・カード口座、メッセージング口座、ギフト・カード、または金銭が差し引かれるもしくは金銭が預けられる他の任意の口座を指すことができる。上記の用語ならびに追加の用語の意味は、図に関する以下の開示を考慮すると、より明らかになるであろう。
図1は、1つまたは複数の実施形態による統合されたメッセージングおよび支払いシステム100を例示する概略図である。システム100の概要が、図1に関係して説明される。その後、システム100の構成要素およびプロセスのより詳細な説明が、残りの図に関係して提供される。
図1によって例示されるように、システム100は、ユーザ102a、ユーザ102b、および任意の数のユーザ102nまで(まとめて「ユーザ」)が、対応する数のクライアント・デバイス104a、104b、104nを使用して対話することを可能にすることができる。図1でさらに例示されるように、クライアント・デバイスは、ネットワーク105を介してサーバ・デバイス108と通信することができる。加えて、システム100は、ネットワーク105を介してサーバ・デバイス108と通信可能に結合された支払いネットワーク115を含むことができる。図1は、ユーザ、クライアント・デバイス、ネットワーク105、サーバ・デバイス108、および支払いネットワーク115の特定の構成を例示しているが、さまざまな追加の構成が可能である。たとえば、クライアント・デバイス104a、104b、104nは、ネットワーク105をバイパスしてサーバ・デバイス108と直接的に通信し得る。
上記で簡単に言及されたように、図1は、ユーザ102aおよびユーザ102bが、クライアント・デバイス104aおよび104bをそれぞれ使用して、サーバ・デバイス108を介して互いと通信することができることを示す。たとえば、ユーザ102aとユーザ102bは、テキスト、デジタル・コンテンツ(たとえば、オーディオ、画像、ビデオ)、ロケーション情報、ならびに他の形式のデータおよび情報を含む電子メッセージを交換することができる。たとえば、ユーザ102aは、クライアント・デバイス104aを使用して、ユーザ102bのために意図されたメッセージを構築することができる。メッセージを構築した後、ユーザ102aは、ユーザ102bのために意図されたメッセージを、ネットワーク105を介してサーバ・デバイス108に対して送信することを、クライアント・デバイス104aに行わせることができる。サーバ・デバイス108は、意図された受信者としてユーザ102bを識別し、ユーザ102bに関連付けられたクライアント・デバイス104bに対してメッセージを転送することができる。
ユーザが電子通信を交換することを可能にすることに加えて、システム100は、ユーザが、互いに対しておよび互いから金銭支払いを送信および受信することを可能にすることができる。1つまたは複数の実施形態では、システム100は、ユーザが支払いメッセージを定義し、別のユーザに対して送信することを可能にする。たとえば、システム100は、ユーザ102aが、サーバ・デバイス108および支払いネットワーク115を介してユーザ102bに対して支払いを送信することを可能にすることができる。同様に、ユーザ102bは、支払いの告知を受信し、支払いを承認または拒否することができる。以下でより詳細に説明されるように、サーバ・デバイス108は、ユーザ(すなわち、ユーザの口座)間の支払いを促進する取引を協調させる(coordinate)ために、支払いネットワーク115と通信することができる。
システム100は、ユーザ102aと102bとの間の支払いを促進することができるが、システム100は、ユーザのグループなどの3人以上のユーザ間の支払いを促進することもできる。たとえば、ユーザ102aは、ユーザ102b、102nに対して支払いを送信し得る。1つまたは複数の実施形態では、以下でさらに詳細に論じられるように、ユーザ102aは、同じ支払い取引の中で複数のユーザに対して支払いを送信することができる。そのうえ、1つまたは複数の実施形態では、ユーザのグループは、他のグループもしくは個々のユーザに対してまたはそれからのどちらかで、システム100を通して支払いを送信および/または受信できることが提供され得る。
図1は、ユーザを人々として例示しているが、ユーザは、会社、政府、または他のエンティティなどの他のエンティティを含み得る。たとえば、ユーザ102aは、システム100を使用して、サービスまたは製品のために会社に対して支払いを提供することができる。たとえば、ユーザ102aは、システム100を介して会社と通信し、その会社から製品またはサービスの購入をすることを最終的に決めることができる。次いで、同じシステム100を使用して、ユーザ102bは、その会社に対して製品またはサービスのための支払いを送信することができる。同様に、会社は、個人エンティティであろうと会社エンティティであろうと、他の会社またはベンダーに対して支払いを送信し得る。
上記で言及されたように、および図1が例示するように、ユーザ102aおよび102bはそれぞれ、クライアント・デバイス104aおよび104bと対話することができる。クライアント・デバイスの例としては、モバイル・デバイス(たとえば、スマートフォン、タブレット)、ラップトップ、デスクトップ、または他の任意のタイプのコンピューティング・デバイスなどのコンピューティング・デバイスがある。図18および対応する説明は、コンピューティング・デバイスに関する追加の情報を提供する。さらに、上記で言及されたように、クライアント・デバイスは、ネットワーク105を通して通信することができる。1つまたは複数の実施形態では、ネットワーク105は、インターネットまたはワールド・ワイド・ウェブを含む。しかしながら、以下で図19に関してさらに説明されるように、ネットワークは、さまざまな通信技術およびプロトコルを使用する1つまたは複数のプライベート・ネットワークおよび/またはパブリック・ネットワークを含むことができる。
上記で簡単に論じられたように、システム100は、ユーザ間での支払いの送信および受信を協調させることができる。たとえば、ユーザ102aは、支払いメッセージを構築し、ユーザ102bに対して送信することができる。たとえば、ユーザ102aは、支払い方法(たとえば、送信者ユーザ102aのクレジット・カード、デビット・カード、口座残高)、支払い額、支払い通貨、支払いの説明、および/またはさまざまな他の支払い詳細を定義するために、クライアント・デバイス104aを介して入力を提供することができる。
ユーザ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 system)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は、振り出し先銀行のサーバ(図示せず)に決済バッチを送信し、振り出し先銀行のサーバは、決済バッチ内の各取引の額の預金を、支払い受信者ユーザに関連付けられた口座に記録する。
次いで、振り出し先銀行は、預金額の弁済において資金供給要求を支払い処理システム120に対して送信することができ、支払い処理システム120は、資金供給要求を、適切なカード・ネットワーク・システム122に対して渡す。次いで、カード・ネットワーク・システム122は、振り出し元銀行システム124に対して資金供給要求を送信する。振り出し元銀行システム124は、送信者ユーザの口座に対して取引を記帳し、カード・ネットワーク・システム122に対して資金の放出を渡すことができ、次いで、資金は、支払い処理システム120に、次いで振り出し先銀行に対して渡される。システム100の具体的なシステム、方法、構成要素、およびプロセスに関係する追加の詳細は、以下で説明される。
図2は、システム100の追加の詳細を例示する概略図を例示する。示されるように、システム100は、クライアント・デバイス104aと、104bと、サーバ・デバイス108と、支払いネットワーク115とを含むことができる。一般に、システム100は、クライアント・デバイス104aのユーザが、クライアント・デバイス104bの受信者に対して支払いを送信する、またはクライアント・デバイス104bの受信者から支払いを受信することを可能にすることができる。加えて、システムは、クライアント・デバイス104aのユーザが、クライアント・デバイス104bのユーザとメッセージを交換することを可能にすることができる。
示されるように、システム100は、クライアント・デバイス104a、104b、およびサーバ・デバイス108上にさまざまな構成要素を含むことができる。たとえば、図2は、クライアント・デバイス104a、104bが各々、さまざまな構成要素を有する通信アプリケーション202を含むことができ、サーバ・デバイス108が、さまざまな構成要素を有するネットワーク・アプリケーション204を含むことができることを例示する。以下でより詳細に説明されるように、通信アプリケーション202およびネットワーク・アプリケーション204の構成要素は、ユーザが支払いを送信し、支払いを受信し、メッセージを交換することを可能にするために協働することができる。
示されるように、通信アプリケーション202は、ユーザ・インターフェース・マネージャ206と、ユーザ入力ディテクター(user input detector)208と、メッセージ・ハンドラ(messaging handler)210と、メッセージ・アナライザ(message analyzer)212と、ロケーション・ディテクター214と、支払いメッセージ・ジェネレータ216と、データ・マネージャ218とを含むことができる。図2は、ネットワーク・アプリケーション204が、通信マネージャ230と、ステータス・マネージャ232と、メッセージ・データベース234と、支払いマネージャ236と、取引データベース238と、プロファイル・データベース240と、一時口座(temporary account)242とを含み得ることを例示する。以下で説明されるように、ネットワーク・アプリケーション204は、任意選択で、ソーシャル・グラフ250も含むことができ、ソーシャル・グラフ250は、ノード情報252と、エッジ情報254とを含む。構成要素206〜218、230〜240、および236〜254の各々は、任意の適切な通信技術を使用して互いと通信することができる。構成要素206〜218、230〜240、および236〜254は、図2では別個であるように示されているが、構成要素206〜218、230〜240、および236〜254のいずれも、単一の設備またはモジュールなど、より少ない構成要素へと結合されてもよいし、特定の実施形態に役立つより多くの構成要素に分割されてもよいことが認識されよう。図2は、一定の構成要素を通信アプリケーション202の一部として、および他の構成要素をネットワーク・アプリケーション204の一部として説明しているが、本発明はそのように限定されない。代替実施形態では、通信アプリケーション202の一部として示される構成要素のうちの1つまたは複数はネットワーク・アプリケーション204の一部とするか、またはその逆にすることができる。
構成要素206〜218、230〜240、および236〜254は、ソフトウェア、ハードウェア、または両方を備えることができる。たとえば、構成要素206〜218、230〜240、および236〜254は、非一時的なコンピュータ可読記憶媒体に記憶され、クライアント・デバイス104a、104b、またはサーバ・デバイス108の少なくとも1つのプロセッサによって実行可能なコンピュータ命令を備えることができる。少なくとも1つのプロセッサによって実行されるとき、コンピュータ実行可能命令は、本明細書で説明される方法およびプロセスを実行することをクライアント・デバイス104a、104bまたはサーバ・デバイス108に行わせることができる。代替的に、構成要素206〜218、230〜240、および236〜254は、一定の機能または機能のグループを実行するために、特殊目的処理デバイスなどのハードウェアを備えることができる。加えて、または代替的に、構成要素206〜218、230〜240、および236〜254は、コンピュータ実行可能命令の組み合わせと、ハードウェアとを備えることができる。
1つまたは複数の実施形態では、クライアント・アプリケーション202は、クライアント・デバイス104a、104b上にインストールされたネイティブ・アプリケーションとすることができる。たとえば、クライアント・アプリケーション202は、スマート・フォンまたはタブレットなどのモバイル・デバイス上にインストールおよび実行されるモバイル・アプリケーションであってよい。代替的に、クライアント・アプリケーション202は、デスクトップ・アプリケーション、ウィジェット(widget)、または他の形式のネイティブ・コンピュータ・プログラムとすることができる。代替的に、クライアント・アプリケーション202は、クライアント・デバイス104a、104bがアクセスするリモート・アプリケーションであってよい。たとえば、クライアント・アプリケーション202は、クライアント・デバイス104a、104bのウェブ・ブラウザ内で実行されるウェブ・アプリケーションであってよい。
上記で言及されたように、および図2に示されるように、通信アプリケーション202は、ユーザ・インターフェース・マネージャ206を含むことができる。ユーザ・インターフェース・マネージャ206は、ユーザがメッセージを構築する、見る、および送信する、ならびに支払いを送信することを可能にするグラフィカル・ユーザ・インターフェース(または単に「ユーザ・インターフェース」)の提供、管理、および/または制御を実施することができる。たとえば、ユーザ・インターフェース・マネージャ206は、インスタント・メッセージなどのメッセージの構築を促進するユーザ・インターフェースを提供することができる。同様に、ユーザ・インターフェース・マネージャ206は、他のユーザから受信されたメッセージを表示するユーザ・インターフェースを提供することができる。
より詳細には、ユーザ・インターフェース・マネージャ206は、(たとえば、クライアント・デバイス104a、104bに関連付けられた表示デバイスによって)ユーザ・インターフェースの表示を促進し得る。たとえば、ユーザ・インターフェースは、ユーザがメッセージまたは支払いを構築、送信、および受信することを可能にする複数のグラフィカル・コンポーネント、グラフィカル・オブジェクト、および/またはグラフィカル要素から構成され得る。より詳細には、ユーザ・インターフェース・マネージャ206は、ユーザが通信スレッド(たとえば、図4A)を見ることを可能にするグラフィカル・コンポーネント、グラフィカル・オブジェクト、および/またはグラフィカル要素のグループを表示するようにクライアント・デバイス104a、104bに指示し得る。
加えて、ユーザ・インターフェース・マネージャ206は、メッセージを構築および送信するためのユーザ入力を促進する1つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素を表示するようにクライアント・デバイス104a、104bに指示し得る。例示するために、ユーザ・インターフェース・マネージャ206は、ユーザが通信アプリケーション202に対してユーザ入力を提供することを可能にするユーザ・インターフェースを提供し得る。たとえば、ユーザ・インターフェース・マネージャ206は、ユーザが1つまたは複数のタイプのコンテンツをメッセージに入力することを可能にする1つまたは複数のユーザ・インターフェースを提供することができる。本明細書で使用されるとき、「コンテンツ」は、メッセージの一部として含まれることになる任意のデータまたは情報を指す。たとえば、「コンテンツ」という用語は、本明細書では、テキスト、画像、デジタル・メディア、ファイル、ロケーション情報、支払い情報、およびメッセージの一部として含まれることができる他の任意のデータを一般的に説明するために使用される。
上記で論じられたように、メッセージ内に含まれることができるコンテンツの一例は、送信者ユーザから受信者ユーザへの支払いである。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、ユーザが容易かつ効率的に支払いを定義し、1つまたは複数の他のユーザに対して送信することを可能にするためのユーザ・インターフェースを提供することができる。たとえば、ユーザ・インターフェース・マネージャ206は、ユーザが支払いを作成および送信するために対話することができる、1つまたは複数の入力フィールドおよび/または1つまたは複数のユーザ選択可能要素を提供することができる。
前述の内容に加えて、ユーザ・インターフェース・マネージャ206は、通信アプリケーション202の1つまたは複数の構成要素から命令または通信を受信して、更新されたメッセージ情報、更新された支払いのステータス、および/または更新された利用可能なアクションを表示することができる。ユーザ・インターフェース・マネージャ206は、取引プロセス内の特定の時点において特定のオプションが利用可能であるかどうかに基づいて、利用可能なオプションを更新することができる。以下で論じられるように、ユーザ・インターフェース・マネージャ206は、送信者ステータス・メッセージおよび/または受信機ステータス・メッセージ内に、さまざまな他の選択可能アクションを追加、削除、および/または更新することができる。
ユーザ・インターフェース・マネージャ206は、電子通信またはメッセージ内に含まれることになるテキストまたは他のデータの入力を促進することができる。たとえば、ユーザ・インターフェース・マネージャ206は、キーボードを含むユーザ・インターフェースを提供することができる。ユーザは、電子通信内に含まれることになるテキストを選択するために1つまたは複数のタッチ・ジェスチャーを使用してキーボードと対話することができる。たとえば、ユーザは、キーボードを使用して、メッセージを入力し、電子通信内で1つまたは複数の他のコンテンツ・アイテムに付随させることおよび/またはこれを説明することができる。テキストに加えて、キーボード・インターフェースを含むユーザ・インターフェースは、さまざまな他の文字、シンボル、アイコン、または他の文字情報の入力を促進することができる。
したがって、ユーザ・インターフェース・マネージャ206は、支払いを送信または受信する際に、より効率的なおよび/またはより魅力的なユーザ体験を提供するユーザ・インターフェースを提供することができる。ユーザ・インターフェース・マネージャ206は、ユーザに対して合わせられたアイコン、ステッカー、または他の選択可能なオブジェクトを含み得るメッセージング・ユーザ・インターフェースを提供することができる。たとえば、ユーザ・インターフェース・マネージャ206は、ユーザが支払い額を入力するために選択し得る共通通貨に対応するステッカーまたは他のグラフィカル・オブジェクトを提供することができる。したがって、ユーザ・インターフェース・マネージャ206は、財布または小銭入れから通貨を引き出して支払い額に到達させるのと類似の体験をユーザに提供することができる。関係のある線に沿って、ユーザ・インターフェース・マネージャ206は、検出または推測された額に対応するステッカーまたは他の選択可能なアイコンもしくはオブジェクトを提供することができる。したがって、ユーザ・インターフェース・マネージャ206は、ユーザが支払い額を入力する必要性を低減させることによって、効率を増加させることができる。
図2でさらに例示されるように、通信アプリケーション202は、ユーザ入力ディテクター208を含むことができる。1つまたは複数の実施形態では、ユーザ入力ディテクター208は、任意の適切な様式でユーザ入力の検出、ユーザ入力の受信、および/またはユーザ入力の促進を実施することができる。いくつかの例では、ユーザ入力ディテクター208は、ユーザ・インターフェースに関する1つまたは複数のユーザ対話を検出することができる。本明細書で参照されるように、「ユーザ対話」は、1つまたは複数の入力デバイスによってユーザから受信される、単一の対話、または対話の組み合わせを意味する。
たとえば、ユーザ入力ディテクター208は、キーボード、マウス、タッチ・パッド、タッチスクリーン、および/または他の任意の入力デバイスからのユーザ対話を検出することができる。クライアント・デバイス104a、104bがタッチスクリーンを含む場合には、ユーザ入力ディテクター208は、ユーザ対話を形成するユーザからの1つまたは複数のタッチ・ジェスチャー(たとえば、スワイプ・ジェスチャー、タップ・ジェスチャー、ピンチ・ジェスチャー、または逆ピンチ・ジェスチャー)を検出することができる。いくつかの例では、ユーザは、ユーザ・インターフェースの1つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素に関係する、および/またはそれに宛てられた、タッチ・ジェスチャーを提供することができる。
ユーザ入力ディテクター208は、加えて、または代替的に、ユーザ対話を表すデータを受信し得る。たとえば、ユーザ入力ディテクター208は、ユーザからの1つもしくは複数のユーザ構成可能パラメータ、ユーザからの1つもしくは複数のユーザ・コマンド、および/または他の任意の適切なユーザ入力を受信し得る。ユーザ入力ディテクター208は、通信アプリケーション202の1つもしくは複数の構成要素から、クライアント・デバイス104a、104b上の記憶域から、または1つもしくは複数のリモート・ロケーション(たとえば、ネットワーク・アプリケーション204)から、入力データを受信し得る。
通信アプリケーション202は、ユーザ入力ディテクター208がユーザ入力を検出したことおよび/または他のデータを受信したことに応答して、1つまたは複数の機能を実行することができる。概して、ユーザは、ユーザ入力ディテクター208が検出することができる1つまたは複数のユーザ入力を提供することによって、通信アプリケーション202を制御する、通信アプリケーション202をナビゲートする、そうでなければ、通信アプリケーション202を使用することができる。たとえば、ユーザ入力ディテクター208がユーザ入力を検出したことに応答して、通信アプリケーション202の1つまたは複数の構成要素は、ユーザが、メッセージの受信者を選択すること、メッセージを構築すること、メッセージ内に含むコンテンツを選択すること、および/または受信者に対してメッセージを送信することを可能にする。加えて、ユーザ入力ディテクター208がユーザ入力を検出したことに応答して、通信アプリケーション202の1つまたは複数の構成要素は、ユーザが1つまたは複数のユーザ・インターフェースを通してナビゲートして、受信されたメッセージ、連絡先などをレビューすることを可能にする。
1つまたは複数の実施形態では、ユーザ入力ディテクター208が1つまたは複数のユーザ入力を検出したことに応答して、通信アプリケーション202は、ユーザが支払いを作成して、1つまたは複数の他のユーザに対して送信することを可能にする。たとえば、支払いを送信したいユーザは、ユーザ・インターフェース内のメニュー上に提供された支払い要素と対話することができる。支払い要素とのユーザ対話を検出すると、ユーザ入力ディテクター208は、支払いを作成するためのユーザ・インターフェースを提供することをユーザ・インターフェース・マネージャ206に行わせることができる。そのため、以下でさらに説明されるように、ユーザ入力ディテクター208が1つまたは複数のユーザ入力を検出したことに応答して、通信アプリケーション202は、ユーザが、別のユーザに対して送信されることになる支払いを定義するカスタマイズされた支払いを作成することを可能にする。
図2でさらに例示されるように、通信アプリケーション202は、通信アプリケーション202に対して提供されたまたは通信アプリケーション202から送信されたメッセージを管理するメッセージ・ハンドラ210を含むことができる。たとえば、メッセージ・ハンドラ208は、ユーザ・インターフェース・マネージャ206およびユーザ入力ディテクター208と対話して、通信アプリケーション202を使用したメッセージの送信および受信を協調させることができる。メッセージ・ハンドラ208は、複数の参加者間での電子メッセージング・セッションの間にネットワーク・アプリケーション204に対するおよびネットワーク・アプリケーション204からのメッセージの送信および受信を指示し得る。メッセージ・ハンドラ210は、着信メッセージおよび発信メッセージを編成し、メッセージを表示するようにユーザ・インターフェース・マネージャ206に指示し得る。
1つまたは複数の実施形態では、メッセージ・ハンドラ210は、通信アプリケーション202を介してデータを受信および送信することを促進することができる。特に、メッセージ・ハンドラ210は、メッセージを送信および受信することを促進することができる。たとえば、本明細書で説明されるように、メッセージ・ハンドラ210は、メッセージ内に含まれることになるコンテンツをパッケージ化し、適切な通信プロトコルを使用して1つまたは複数の通信チャネルを通して送信可能な任意の必要な形式でメッセージをフォーマットすることができる。同様に、メッセージ・ハンドラ210は、クライアント・デバイス204が他のユーザから受信したメッセージを処理することができる。
通信アプリケーション202に通信機能を提供することに加えて、メッセージ・ハンドラ210は、メッセージ・データへのアクセスを提供することができる。たとえば、メッセージ・ハンドラ210は、含めることになる連絡先のリスト、または連絡先の1つまたは複数のグループ、およびメッセージに対する受信者を表すデータにアクセスすることができる。例示するために、メッセージ・ハンドラ210は、ユーザが、連絡先リストを検索およびブラウズし、メッセージの受信者として含むことになる個々の連絡先または連絡先のグループを最終的に選択することを可能にするために、連絡先リストを表すデータを取得し、ユーザ・インターフェース・マネージャ206に対して提供することができる。1つまたは複数の実施形態では、ソーシャルネットワーキング・システムは、リモート連絡先リスト・データ(たとえば、「友人リスト」)を維持することができ、メッセージ・ハンドラ210は、通信アプリケーション202内で使用するためにソーシャルネットワーキング・システム上の連絡先リスト・データにアクセスすることができる。
メッセージ・ハンドラ210は、通信アプリケーション202がメッセージを構築、送信、および受信するために使用することができる他のローカル・データまたはリモート・データへのアクセスを提供することもできる。たとえば、メッセージ・ハンドラ210は、ユーザがメッセージ内に含むことができるファイル、画像、オーディオ、ビデオ、および他のコンテンツへのアクセスを取得することができる。そのうえ、メッセージ・ハンドラ210は、コンテンツをキャプチャまたは作成してメッセージ内に含むことができることをユーザに提供するために、送信者クライアント・デバイス204の1つまたは複数の機能へのアクセスを提供することができる。たとえば、メッセージ・ハンドラ210は、カメラ、マイクロホン、またはユーザがコンテンツをキャプチャしてメッセージ内に含むことを可能にする他の機能を起動することができる。
加えて、メッセージ・ハンドラ210は、支払いの送信を促進することができる。特に、図2は、通信アプリケーション202が、支払いプロセス/取引を開始するためにメッセージ・ハンドラ210がネットワーク・アプリケーション204に対して送信することができる支払いメッセージを生成することができる支払いメッセージ・ジェネレータ216を含むことができることを例示する。たとえば、送信者がユーザ・インターフェース上で支払い要素を選択すると、支払いメッセージ・ジェネレータ216は、送信者から受信された支払い情報を含むデータ・パッケージを作成することができる。支払いメッセージは、支払い取引の一部として送信されることになる金銭の額の標識ならびにネットワーク・アプリケーションが支払い取引を実行することを可能にするために必要な任意の情報を含むことができる。
1つまたは複数の実施形態では、支払いメッセージ・ジェネレータ216は、支払い額、1つもしくは複数の送信者識別子、1つもしくは複数の受信者識別子、1つもしくは複数の支払い方法もしくは送信者口座情報、許可情報、通貨情報、メッセージもしくは支払い説明、および/または送信者から受信者への支払いを促進するために有用であり得る他の任意のデータを含むデータ・パッケージを作成することができる。代替的に、支払いメッセージは、受信者および支払いの額を単に識別することができる。支払いメッセージ・ジェネレータ216は、ネットワーク・アプリケーション204に対して送信するために、支払いメッセージ(たとえば、支払い情報を含むデータ・パッケージ)をメッセージ・ハンドラ210に対して渡すことができる。
支払いメッセージ・ジェネレータ216は、さまざまなソースから支払い情報を取得することもできる。たとえば、支払いメッセージ・ジェネレータ216は、ユーザ入力ディテクター208を介して送信者から直接的に支払い情報を取得することができる。加えて、または代替的に、支払いメッセージ・ジェネレータは、データ・マネージャ218によってクライアント・デバイス104a、104b上で維持される支払い情報へのアクセスを得ることができる。たとえば、通信アプリケーション202は、送信者が、さまざまな支払い方法を入力および保存すること、ならびに/またはデフォルト支払い方法、デフォルト通貨を識別することを可能にし、そうでなければ、送信者が、支払いを送信することならびに/または受信することに関係する他のユーザの好みを規定することを可能にする。
1つまたは複数の実施形態では、支払いメッセージ・ジェネレータ216は、支払いメッセージ内のトークンにアクセスし、このトークンを提供することができる。トークンは、ネットワーク・アプリケーション204によって記憶された支払いクレデンシャルを参照することができる。たとえば、支払いメッセージ・ジェネレータ216は、ネットワーク・アプリケーション204によって記憶された支払いクレデンシャルを使用して支払いをすることが許可されるとして送信者および/または送信者クライアント・デバイス104aを確認する支払いメッセージ内に含むかまたは支払いメッセージと共に含むためにトークンを取り出すことができる。
上記で言及されたように、クライアント・アプリケーション202は、メッセージ・アナライザ212をさらに含むことができる。メッセージ・アナライザ212は、潜在的な支払いイベントのためにクライアント・アプリケーション202から送信されたおよびクライアント・アプリケーション202によって受信されたメッセージを分析することができる。1つまたは複数の実施形態では、メッセージ・アナライザ212は、ユーザ間で交換された電子メッセージから、交換されたメッセージ内のコンテキスト内容に基づいて、支払いイベントを推測することができる。具体的には、メッセージ・アナライザ212は、支払いの機会を示す一定のフレーズまたは文字ストリングを識別することができる。たとえば、文字ストリングは、2人以上のユーザ間の会話内の電子メッセージからの所定の文字ストリングを含むことができる。メッセージ内の支払いイベントを示す所定の文字ストリングを識別することは、メッセージ・アナライザ212が、ユーザが1人または複数の他のユーザとの支払い取引を開始するための厳格な要件に従うことを要求することなく、支払いイベントを推測することを可能にする。
いくつかの実施形態によれば、メッセージ・アナライザ212は、自然言語を分析することができる。特に、ユーザは、電子メッセージにおいて自然言語フレーズを使用して、1人または複数の他のユーザと通信することができる。自然言語検出を使用することによって、メッセージ・アナライザ212は、他のユーザへのメッセージの内容を解釈することができる。ユーザが、自然言語を使用して支払い取引を開始するための要求を送信する場合、メッセージ・アナライザ212は、この要求を自然言語から推測し、支払い取引を開始するためのオプションを提供することができる。加えて、または代替的に、メッセージ・アナライザ212は、開始された支払い取引を完了させるためのオプションを提供することができる。
1つまたは複数の追加実施形態または代替的実施形態によれば、メッセージ・アナライザ212は、システム100のユーザに関連付けられたメッセージに基づいてグループ支払いを開始するための様式をユーザに提供することができる。具体的には、メッセージ・アナライザ212は、ユーザのうちの1人もしくは複数からのおよび/もしくはユーザのうちの1人もしくは複数への電子メッセージ、ユーザのロケーション、ソーシャル・ネットワーク・データ、または他のデータを分析することによって、2人以上のユーザに関連付けられたグループ・イベントを識別することができる。たとえば、メッセージ・アナライザ212は、ユーザに関連付けられた情報フィード内のメッセージ、ユーザのうちの2人以上の間での会話におけるソーシャル・ネットワーク・データ(チェック・イン、ユーザ・プロファイル、投稿、「いいね」、友人についての情報等)・メッセージ、ユーザに関連付けられたテキスト・メッセージ、またはユーザに関連付けられた他の任意の電子メッセージを分析して、イベントに関連付けられた自然言語または文字ストリングを識別することができる。加えて、メッセージ・アナライザ212は、電子メッセージに基づいて、グループ内のユーザの数を判定することができる。
メッセージ・アナライザ212は、グループにおける推測されたイベントおよび決定されたユーザを使用して、グループ内のユーザのうちの1人または複数に対して、グループ内の他のユーザに支払いを要求するためのオプションを提供することができる。特に、メッセージ・アナライザ212は、支払いを要求するためのオプションを提供するべき、1人または複数のグループ・リーダを識別することができる。次いで、1人または複数のグループ・リーダは、イベントまたはイベントに関連する取引について支払うように、グループ内の識別されたユーザのうちの1人または複数に支払いを要求することができる。次いで、要求を受信するユーザは、支払いシステムを使用して、1人または複数のグループ・リーダに支払いをすることができる。
支払いイベントを推測した後、メッセージ・アナライザ212は、推測された支払いイベントに基づいて、ユーザ間で支払い取引を開始するためのオプションを提供することができる。したがって、1つまたは複数の実施形態では、システム100は、ユーザ間でのメッセージの交換の自然な流れを中断させることなく、ユーザ間で交換されるメッセージに基づいて、ユーザが他のユーザとの支払い取引を開始することを可能にする。具体的には、メッセージ・アナライザ212は、支払いイベントを示すかまたは推測する、一定のフレーズまたは文字ストリングを識別することができる。たとえば、メッセージ・アナライザ212は、「あなたは映画チケット代の15ドルを私に借りている」というストリングを識別することができる。推測された支払いに基づいて、メッセージ・アナライザ212は、ユーザ・インターフェース・マネージャ206に対して、支払いを開始するための、または別のやり方で、支払いを送信することをユーザのうちの1人または複数に提案するためのオプションを提供するように命令することができる。たとえば、ユーザ・インターフェース・マネージャ206は、「15ドル」を、ユーザが支払いを開始するために選択可能な要素として構成することができる。
クライアント・アプリケーション202は、ロケーション・ディテクター214をさらに含むことができる。ロケーション・ディテクター214は、クライアント・デバイス104a、104bからのGPS情報、セル・タワー三角測量(cell tower triangulation)、WIFI受信信号強度標識、WIFIワイヤレス・フィンガープリンティング(WIFI wireless fingerprinting)、無線周波数識別、短距離通信に基づいて、メッセージを分析することによって、または他のソースからのデータに基づいて、クライアント・デバイス104a、104bのロケーションにアクセスまたはこれを識別することができる。ロケーション・ディテクター214は、次いで、メッセージ・アナライザ212またはネットワーク・アプリケーション204に対してクライアント・デバイス104a、104bのロケーションを提供することができる。加えて、ロケーション・ディテクター214は、ネットワーク・アプリケーション204から他のクライアント・デバイスのロケーションの標識を受信し、それらをメッセージ・アナライザ212に対して提供することができる。
上記で論じられたように、クライアント・デバイス104aは、図2に例示されるように、データ・マネージャ218を含むことができる。データ・マネージャ218は、ユーザと1人または複数の他のユーザとの間でメッセージを構築、送信、および受信することに関連して使用されるデータを表すメッセージ・データを維持することができる。たとえば、メッセージ・データは、メッセージ・ログ、連絡先リスト、コンテンツ、過去の通信、およびユーザが通信アプリケーション202を使用して通信できることを提供することに関連して通信アプリケーション202が使用することができる他の類似のタイプのデータを含むことができる。
データ・マネージャ218はまた、支払いメッセージを生成するために使用される情報を表す支払いデータを維持し得る。たとえば、支払いデータは、支払い方法データ(すなわち、クレデンシャル)および/またはそのような口座データ(たとえば、銀行またはクレジット・カード口座データ)を含み得る。そのうえ、支払いデータは、支払いに関する好み(たとえば、デフォルト支払い方法)を含むことができる。一般に、支払いデータは、支払いメッセージ・ジェネレータ216が支払いを生成することに関連して使用することができる任意のデータを含んでよい。
上記で簡単に言及されたように、クライアント・デバイス104a、104bに加えて、システム100は、サーバ・デバイス108上で全部または部分的に実施されるネットワーク・アプリケーション204をさらに含むことができる。本発明の1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、ソーシャルネットワーキング・システム(限定されるものではないが、フェイスブック(商標)など)を備えるが、他の実施形態では、ネットワーク・アプリケーション204は、限定されるものではないが、電子メール・アプリケーション、検索エンジン・アプリケーション、バンキング・アプリケーション(banking application)、またはユーザ口座を利用する任意の数の他のアプリケーション・タイプを含む別のタイプのアプリケーションを備え得る。
ネットワーク・アプリケーション204がソーシャルネットワーキング・システムを備える1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、複数のユーザおよび概念を表し、分析するためのソーシャル・グラフ250を含み得る。ソーシャル・グラフ250のノード記憶域252は、ユーザ用ノード、概念用ノード、取引用ノード、およびアイテム用ノードを備えるノード情報を記憶することができる。ソーシャル・グラフ250のエッジ記憶域254は、ソーシャルネットワーキング・システム内で発生するノードおよび/またはアクション間の関係を備えるエッジ情報を記憶することができる。ソーシャルネットワーキング・システム、ソーシャル・グラフ、エッジ、およびノードに関するさらなる詳細は、以下で図19に関して提示される。
通信マネージャ230は、クライアント・アプリケーション202から受信されたメッセージを処理することができる。たとえば、通信マネージャ230は、クライアント・アプリケーション202のメッセージ・ハンドラ206と対話することができる。通信マネージャ230は、電子メッセージング会話内のユーザ間でやりとりされるメッセージのディレクターとして作用することができる。通信マネージャ230は、クライアント・アプリケーション202からメッセージを受信し、メッセージの意図された受信者を検出して、意図された受信者に関連付けられたクライアント・アプリケーション202(またはデバイス)に対してメッセージを送信し得る。通信マネージャ230が、受信者に関連付けられた複数のクライアント・デバイス(すなわち、ユーザがあるバージョンのクライアント・アプリケーション202をインストールした各デバイス)に対して受信者のためのメッセージを宛てることができることは理解されるであろう。
加えて、通信マネージャ230は、宛先通信デバイスまたはタイプによって使用されるメッセージング・プロトコルに基づいて、メッセージを再フォーマットするかまたは別のやり方でメッセージの内容もしくはフォーマットを修正することもできる。したがって、1つまたは複数の実施形態では、システム100は、異なる通信プラットフォームを使用する参加者がメッセージを交換することを可能にすることができる。たとえば、通信マネージャ230は、第1のプロトコル(SMS、IM、XMPP、APNSなど)でメッセージを受信し、メッセージを第2のプロトコルへと再フォーマットして、再フォーマットされたメッセージを意図された受信者に対して送信することができる。
ステータス・マネージャ232は、クライアント・アプリケーション202および/またはクライアント・デバイス104a、104bのユーザのステータスを追跡することができる。たとえば、ステータス・マネージャ232は、ユーザがいつクライアント・アプリケーション202にログインされるか、ユーザがいつクライアント・アプリケーション202上でアクティブであるか、ユーザまたはユーザ口座に関連付けられたクライアント・デバイス104a、104bがいつオンラインまたはアクティブであるかを識別することができる。ステータス・マネージャ232は、クライアント・アプリケーション202に対して標識(プッシュ通知など)を送信して、クライアント・アプリケーション202に、ユーザ、デバイス、メッセージ、または支払いのステータスを通知することができる。ユーザ・インターフェース・マネージャ206は、ステータス・マネージャ232から受信された標識に基づいて、ステータス通知を追加、修正、または別のやり方で変更もしくは更新することができる。たとえば、ステータス・マネージャ232は、別のユーザがメッセージにアクセスしたこと、支払いを受信したこと、支払いを送信したこと、アクティブであること、共同ユーザがアクティブなデバイスまたはデバイス・タイプ(たとえば、モバイル対ウェブ)などを示す標識をクライアント・アプリケーション202に対して送信することができる。ユーザ・インターフェース・マネージャ206は、次に、ユーザにステータスを通知するためにユーザ・インターフェースを更新することができる。
ネットワーク・アプリケーション204は、メッセージ・データベース234も含み得る。メッセージ・データベース234は、複数の参加者間の電子メッセージング・セッションからメッセージの内容を表すメッセージ・データを維持することができる。メッセージ・データベース234は、上記で言及された、ステータス・マネージャ232が追跡する情報を表すステータス・データを維持し得る。したがって、メッセージ・データベース234は、メッセージング・スレッドのアーカイブを提供することができ、これは、要求に応じて、またはユーザが新しいコンピューティング・デバイスを使用してクライアント・アプリケーション202にログインすると、ネットワーク・アプリケーション204がユーザに対して提供することができる。
図2の支払いマネージャ236は、支払いメッセージの送信および受信を統合して、支払い取引を開始することができ、1つまたは複数のアプリケーション・プログラミング・インターフェース(application programming interfaces : API)を用い得る。たとえば、通信マネージャ230が支払いメッセージを受信すると、通信マネージャ230は、支払いマネージャ236に対してあらゆる支払い詳細を送信することができる。支払いマネージャ236は、次いで、支払いメッセージから取り出された支払い詳細を使用して、支払いネットワーク115を使用する支払い取引を開始することができる。
支払いマネージャ236は、支払いメッセージ内で定義された支払いに対応する取引を協調させることができる。上記で一般に説明されたように、支払いマネージャ236は、支払いメッセージに対応する支払いネットワーク115を介して取引を協調させ、取引のステータスを監視し、取引に関するステータス情報を提供することができる。より具体的には、上記で図1に関して説明されたように、支払いネットワーク115は、取引を許可すること、取引を資金供給すること、および/または個々の取引もしくは取引のバッチを決済することができる。1つまたは複数の実施形態では、支払いマネージャ236は、1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を使用して、関係のある情報を支払いネットワーク115と通信することができる。
取引を完了するために、支払いマネージャ236は、(預金口座情報、デビット・カード、クレジット・カード、ギフト・カード、電子財布などの)受信者のための支払いクレデンシャルにアクセスするまたはこれを取得することができる。支払いマネージャ236は、さまざまな方法を使用して、受信者の支払いクレデンシャルを取得することができる。例となる一実施形態では、受信者は、ネットワーク・アプリケーション204を用いて1つまたは複数の預金口座または他の支払いクレデンシャルを登録することができる。ユーザが預金口座または他の支払いクレデンシャルを登録すると、ユーザ・プロファイル・データベース240は、支払いクレデンシャルを維持することができる。
支払いマネージャ236が支払い情報を受信した後、支払いマネージャ236は、受信者を識別することができる。支払いマネージャ236は、ユーザ・プロファイル・データベース240内の受信者を調べて、受信者が支払いクレデンシャルを登録しているかどうかを決定することができる。この時点で、支払いマネージャ236は、取引を開始することができる。
受信者のユーザ・プロファイルが支払いクレデンシャルを含まない場合、支払いマネージャ236は、受信者に支払いクレデンシャルを提供することを促すメッセージを受信者に送信するように通信マネージャ230に指示することができる。メッセージは、受信者が支払いクレデンシャル詳細を提供することを可能にする1つまたは複数の対話型フィールドを提供することによって、支払いクレデンシャルを登録するように受信者に促し得る。加えて、または代替的に、受信者が、登録された支払いクレデンシャルを有さないことを決定すると、支払いマネージャ236は、一時預金242を生成することができる。より詳細には、支払いマネージャ236は、口座番号を生成し、その口座番号を受信者のユーザ・プロファイルと関連付けることができる。1つまたは複数の実施形態では、受信者は、すでに一時口座242を有しているかもしれず、そのため、支払いマネージャ236は、以前に作成された一時口座を使用して取引を完了することができる。特に、一時口座242は、支払いマネージャ236が、送信者または受信者のどちらかの観点から支払いプロセスを遅延させることなく取引を処理することに直ちに進むことを可能にする。
支払いが完了すると、支払いマネージャ236は、支払い額を一時口座242に預ける。1つまたは複数の実施形態では、支払いマネージャ236は、通信マネージャ230に、一時口座から登録された預金口座へ金銭を移動するためのハイパーリングおよび/または命令を提供するメッセージを受信者へ送信させることができる。代替的に、受信者が預金口座を登録したくない場合、メッセージ・システムは、一時口座から金銭を引き出す命令を受信者に提供することができる。
支払いネットワーク115を介して取引を協調させることに加えて、支払いマネージャ236は、1つまたは複数のシステム・ユーザ口座に関して取引を協調させることもできる。1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、ギフト・カード口座、キャッシュ・カード口座、または類似のタイプのユーザ口座などのユーザ・キャッシュ口座をサポートすることができる。送信者は、支払いの方法として送信者のユーザ・キャッシュ口座を規定することができ、同様に、受信者は、登録された預金口座として受信者のユーザ・キャッシュ口座を設定することができる。そのため、少なくともいくつかの実施形態では、取引全体、または取引の実質的に全体は、ネットワーク・アプリケーション204内で処理されることが可能である。
1つまたは複数の実施形態では、システム100は、受信者が、資金を受信するために支払いクレデンシャルとしてクレジット・カード口座を登録することもできる。ユーザのクレジット・カードに対して資金を送信するために、支払いマネージャ236は、支払い額を受信者のクレジット・カード口座の貸方に記入する(credit)ために払い戻し要求を送信することができる。1つまたは複数の実施形態では、払い戻し要求は、未照会払い戻し(unreferenced refund)要求を備えることができる。未照会払い戻し要求とは、ユーザのクレジット・カード口座との以前の資金供給取引に関与していない払い戻し要求である。大抵のクレジット・カード業者は、未照会払い戻し要求が処理されることを可能にしており、これは、払い戻し要求の額のクレジットを受信者のクレジット・カード口座に適用するという結果になる。たとえば、受信者が、クレジット・カード口座上でマイナス残高を有する場合、払い戻し要求額が、そのマイナス残高に充当され得る。同様に、受信者がクレジット・カード口座上でゼロ残高を有する場合、払い戻し要求額は、受信者が再度使うことができるプラスのクレジット・カード口座残高をもたらすであろう。
1つまたは複数の実施形態では、支払いネットワーク・コーディネータ256は、クレジット・カード資金供給要求のバッチおよびクレジット・カード払い戻し要求のバッチを編成および処理することができる。特に、クレジット・カード取引に関連付けられたさまざまな手数料構造に起因して、支払いネットワーク・コーディネータ256は、クレジット・カード資金提供および払い戻し要求のバッチを処理して、潜在的な手数料を最小にすることができる。
図2の支払いマネージャ236は、通信マネージャ230から受信された情報を協調させることに関係してさまざまな機能を実行して、支払い要求を要求および承認し、支払いプロセスを協調させ得る。たとえば、支払いマネージャ236は、支払いクレデンシャルを作成および記憶することができる。より具体的には、ユーザ(たとえば、送信者および受信者)は、ネットワーク・アプリケーションとの口座をすでに有し、したがってすでに、登録されたユーザであるかもしれず、または依然として口座をセット・アップする必要があるかもしれない。一実施形態では、複数のユーザの少なくとも一部はまた、ソーシャルネットワーキング・システムのメンバであり、システム100を使用してメッセージするときにも使用されるソーシャルネットワーキング口座に関連付けられた識別子(「ID」)およびユーザ・プロファイルをすでに有することができる。代替的に、他のユーザが、ソーシャルネットワーキング・システムのメンバでなく、口座を作成してシステム100の登録されたメンバになる必要があることがある。この例では、支払いマネージャ236は、これらのユーザから(クライアント・アプリケーション202を介して)日付を受信して口座を作成し、次いで、これらのユーザのための一意のIDおよびユーザ支払いプロファイルを作成することができ、これらは後で支払いプロセス中に参照される。場合によっては、支払いマネージャ236はまた、欠けているかもしれない支払いプロファイル特徴を含むように、以前のソーシャルネットワーキング・ユーザのユーザ・プロファイルを増やしてよい。
口座をセット・アップするかまたは増やす際、ユーザは、クレジット・カード、デビット・カード、預金口座または他の銀行口座、ギフト・カード口座、店舗クレジット口座などの1つまたは複数の支払いクレデンシャルを提出することができる。支払いの方法を追加するとき、ユーザは、カード番号および/または口座番号、有効期限、セキュリティ・コード、移動またはルーティング識別番号、ならびに金銭移動のために必要とされる銀行情報を提出するように求められることができる。ユーザは、個人識別番号(personal identification number : PIN)などの許可コードを作成するか、または、たとえば単一の支払い方法のみを提供するとき、クレジット・カードのセキュリティ・コードを使用するか、または、何らかの他の許可コードを提供することもできる。ユーザは、支払いのデフォルト方法を選択することもできる。
それに応じて、ユーザ・プロファイル・データベース240によって記憶されるユーザ支払いプロファイルは、(ソーシャルネットワーキング・ユーザとしてであろうと、および/またはメッセージング・ユーザとしてであろうと)各登録されたユーザのために一意に作成されたユーザ(またはグループ)IDを含むことができる。ユーザ・プロファイル・データベース240は、ネットワーク・アプリケーション204のユーザの支払いクレデンシャルのための記憶域を提供することができる。たとえば、ユーザは、ネットワーク・アプリケーション204との「口座」を作成することができ、これは、ユーザがネットワーク・アプリケーション204に対して支払い情報を提供することを可能にする。次いで、ネットワーク・アプリケーション204は、その支払い情報をユーザ・プロファイル・データベース240の中に保存することができる。1つまたは複数の実施形態では、ユーザ・プロファイル・データベース240は、名(ファースト・ネーム)、ミドル・ネーム、姓(ラスト・ネーム)、支払いカード番号(たとえば、クレジット・カード、デビット・カード)、支払いカードの有効効期限(年および/または月)、支払いカードのカード・セキュリティ・コード(たとえば、カード確認値(CVVまたはCVV2))、クレジット・カードに関連付けられた勘定書送付先住所(通りの名称、家屋番号、都市、州または県、郵便番号、国などを含む)、クレジット・カードに関連付けられた電話番号、1つまたは複数の届け先住所(勘定書送付先住所と類似のフィールドを含む)、のうちの1つまたは複数を、ユーザに関係付けて記憶することができる。支払いカードがデビット・カードを備えるとき、プロファイル記憶モジュールは、デビット・カードのための個人識別番号(PIN)を記憶することもできる。ネットワーク・アプリケーション204がソーシャルネットワーキング・システムを備える一実施形態では、ユーザ・プロファイル・データベース240の中に記憶される支払い情報は、ユーザを表すノード記憶域252のノードに関連付けられ得る。
いずれにしても、送信者からの支払いメッセージの受信時、支払いマネージャ236は、送信者のユーザ(またはグループ)IDを検出し、そのユーザ(またはエンティティ)のための支払いプロファイルを取り出すことができる。支払いマネージャ236は、次いで、支払い額、送信者、および受信者に関連付けられた取引IDを含む取引パッケージを生成することができる。取引パッケージは、デフォルト支払い方法および関係する情報を含むこともできるが、それは、送信者が、代替支払い方法を用いて受信者に支払いを送信することを選択しない限りであり、その場合、取引パッケージは、代替支払い方法のための支払い情報を含むことができる。支払いマネージャ236は、次いで、支払い許可プロセスを開始するために支払いネットワーク115に対して取引パッケージを送信し得る。
図2の取引データベース238は、各取引(グラフ・オブジェクトの形式など)、試行または完了した取引ID、日付、取引の額、使用された支払い方法、取引に関連する送信者と受信者との間でやりとりされた関連付けられたメッセージ、および取引に関して収集された他の任意の情報のための記憶域を提供することができる。この情報を用いて、支払いマネージャ236は、要求に応じて、支払い要求、拒否された支払い、および完了された支払いの履歴として、1つまたは複数の取引の概要をユーザに対して提供することができる。
支払いマネージャ236は、支払い処理を効果的に管理するために、さまざまな他の追加の工程および方法を実行することができる。1つまたは複数の実施形態では、たとえば、支払いメッセージを受信すると、支払いマネージャ236は、取引識別子(または、単に「取引ID」)を生成し、この取引識別子と、支払いメッセージおよび/または支払いメッセージ内の支払い情報とを関連付けることができる。たとえば、取引IDを生成すると、支払いマネージャ236は、取引IDおよび支払い情報を、取引データベース238に送信することができる。取引データベース238は、取引IDに従って取引情報を記憶するデータ・テーブルまたは類似のデータ行列を含むことができる。
1つまたは複数の実施形態では、取引IDが特定の支払いメッセージに関連付けられた後、取引IDは、特定の支払いに関係する、システム100内の実質的にすべての通信中に含まれるか、または埋め込まれる。したがって、取引IDは、支払いマネージャ236が、編成された様式で多数の支払いを管理および処理することを可能にする。たとえば、支払いマネージャ236は、クライアント・デバイス104a、104bに対して送信される任意の情報の中に取引IDを含めるための命令を含むことができる。代わりに、メッセージング・ハンドラ210が、支払いマネージャ236が、情報が対応する特定の取引を効率的かつ確実に識別することを可能にするために、クライアント・デバイス104a、104bから送信される任意の情報の中に取引IDを含めることもできる。
以前に言及されたように、ネットワーク・アプリケーション204は、クライアント・デバイス104aを介して受信された各支払いメッセージについての取引情報を維持する取引データベース238を含むことができる。たとえば、取引情報は、1つまたは複数の送信者識別子に関連付けられた取引ID、受信者識別子、支払い額、支払い方法(たとえば、送信者口座)、預金方法(たとえば、受信者口座)、取引履歴、現在の取引状況、および他の取引情報を含むことができる。1つまたは複数の実施形態では、取引情報は、取引に関する任意の更新またはアクションにより更新される1つまたは複数のグラフ・オブジェクトの形式で維持される。
また、以前に言及されたように、ネットワーク・アプリケーションは、1つまたは一時口座242を維持することができる。一時口座242は、送信者の口座からの支払いの決済または実際の資金供給の前に受信者口座へなされることになる預金のための資金供給を提供するあるタイプの「ホットな口座(hot account)」として機能することができる。たとえば、いくつかの支払い方法を用いれば、支払いの資金供給は、金銭が送信者の口座の借方に記入される(debited)のに数時間または数日を要することすらある。しかしながら、支払い許可要求は、資金を確認および確保して支払いを果たすことができる。したがって、支払い許可要求からの成功応答を受信すると、支払いマネージャ236は、支払いが受信者の口座に到着するのに、より短い時間を提供するために、一時口座242から支払い額を資金供給することができる。支払いが送信者の口座から資金供給すると、一時口座は、支払いの額のために新しくされる。
論じられたように、上記で図1〜図2に関して論じられたシステムおよび構成要素は、メッセージ・システムのユーザが、統合されたメッセージおよび支払いシステム100を介して支払いを容易に、効果的に、かつ安全に送信および受信することを可能にすることができる。図3A〜図3Dは、上記で論じられたシステム100によって実施されるプロセスの1つまたは複数の例となる実施形態の例となるプロセス図を例示する。図1および図2に例示されるシステム100に一致して、図3A〜図3Dは、クライアント・アプリケーション202を有する送信者クライアント・デバイス104a、クライアント・アプリケーション202を有する受信者クライアント・デバイス104b、ネットワーク・アプリケーション204をサポートするサーバ・デバイス108、ならびに支払いネットワーク115を例示する。
1つまたは複数の実施形態では、ユーザがシステム100を介して別のユーザに対して支払いを送信するためのプロセスは、送信者クライアント・デバイス104aに関連付けられた送信者ユーザ(または単に「送信者」)がクライアント・アプリケーション202に対してユーザ入力を提供し、支払いメッセージ302を生成することで始めることができる。特に、上記で説明されたように、送信者は、受信者ユーザ(または単に「受信者」)に対してなされることになる支払いを送信者が定義することを可能にする1つまたは複数のユーザ・インターフェースにアクセスすることができる。加えて、クライアント・アプリケーション202は、図3Aに示されるように、送信者クライアント・デバイス104aに、支払いメッセージをネットワーク・アプリケーション204へ送信させる304ことができる。
ネットワーク・アプリケーション204は、支払いメッセージ302を受信し、支払いメッセージ302によって提供された情報を使用して、送信者がファイル上に支払いクレデンシャル306を有するかどうかを決定することができる。たとえば、ネットワーク・アプリケーション204は、ネットワーク識別子(たとえば、ユーザ名または他のID)を使用して、ユーザ・プロファイル・データベース240内のユーザについてのユーザ・プロファイルを調べて、ユーザ・プロファイルがこのユーザ・プロファイルに関連付けられた支払いクレデンシャルを有するかどうかを決定することができる。送信者が支払いクレデンシャル306を有する場合、ネットワーク・アプリケーション204は、行動316に関係して説明されたように、送信者および/または支払いクレデンシャル306を検証し、行動308〜315をスキップすることができる。
ユーザが支払いクレデンシャル306を有しない場合には、ネットワーク・アプリケーション204は、ユーザが支払いクレデンシャル306を提供することを要求することができる。特に、通信マネージャ230は、送信者クライアント・デバイス104aにプロンプト(prompt)308を送信して、支払いクレデンシャル306を提供するように送信者に促すことができる。ネットワーク・アプリケーション204は、図3A〜図3Dのフローに示されるように、通信マネージャ230に、支払い取引に進む前に、プロンプト308を送信させることができる。代替的に、ネットワーク・アプリケーション204は、図5A〜図5Dに関係して以下で説明されるように、受信者がファイル上に支払いクレデンシャルを有することをネットワーク・アプリケーション204が確認した後に、通信マネージャ230に、支払いクレデンシャルについてのプロンプト308を送信させることができる。
支払いクレデンシャル306を提供するためのプロンプト308を受信すると、ユーザは、プロンプト308を無視するか、または閉じることができ、このことは、ネットワーク・アプリケーション204に、所定の期間後に、別のユーザからの要求に応答して、または所定のトリガに応答して(たとえば、送信者がクライアント・アプリケーション202に次回ログインしたときに)、プロンプト308を再送信させ得る。いずれの場合も、送信者は、送信者クライアント・デバイス104aを使用して、支払いクレデンシャル情報を入力すること(310)ができる。送信者クライアント・デバイス104aは、支払いクレデンシャル情報310をネットワーク・アプリケーション204に送信すること(312)ができる。
支払いクレデンシャル情報310を受信すると、ネットワーク・アプリケーション204は、支払いクレデンシャル情報310に基づいて、1つまたは複数の支払いクレデンシャル306と送信者とを関連付けることができる。任意選択で、ネットワーク・アプリケーション204は、トークンを生成する314ことができる。トークン314は、支払いクレデンシャル詳細にマッピングされ、ネットワーク・アプリケーション204がその後の支払い要求に応答して支払いクレデンシャルを取り出すことを可能にする。特に、ネットワーク・アプリケーション204は、記憶された支払いクレデンシャルに対するポインタとして、「トークン」と呼ばれるランダム・ストリングを返すことができる。トークン314は、好ましくは、支払いクレデンシャルが、トークン自体に基づいて(単にトークンに対して復号アルゴリズムを適用することなどによって)導き出されることができないように、支払いクレデンシャルとアルゴリズム的な関係を有さない。このことに応じて、このトークン314は、ネットワーク・アプリケーション204を使用せずに機密データを外挿することが可能でないランダム・ストリングであるので、カードホルダ・データと考えられず、ネットワーク・アプリケーション204は、支払いクレデンシャルとその支払いクレデンシャルが対応するトークンのリストを含有する。ネットワーク・アプリケーション204によって生成される支払いトークンは、以下でより詳細に説明されるように、支払い要求の検証を可能にすることができる。ネットワーク・アプリケーション204は、送信者クライアント・デバイス202に対してトークン314を提供することができる。
この時点で、または送信者がファイル上に支払いクレデンシャルをすでに有していたかどうかに応じる前に、ネットワーク・アプリケーション204は、検証ステップ316を実行して、送信者および/または支払いクレデンシャルを検証すること(316)ができる。たとえば、ネットワーク・アプリケーション204は、記憶された支払いクレデンシャル306を参照する有効なトークン314を支払いメッセージ302が含んでいたことを確認することができる。
ユーザを検証することとは代替的に、クライアント・アプリケーション202は、ネットワーク・アプリケーション204についての送信者のユーザ識別子を取得し、識別し、または別のやり方で検出することができる。たとえば、クライアント・アプリケーション202は、送信者のコンピューティング・デバイス104aに存在するユーザの難読化された(たとえば、ハッシュ化され、暗号化され、または別のやり方でアルゴリズム的に変換された)ユーザ識別子にアクセスすることができる。このユーザ識別子は、ネットワーク・アプリケーション204(たとえば、ソーシャル・ネットワーキング・アプリケーション)のそのユーザについてのユーザ・プロファイル/アカウントを識別することができる。本発明の1つまたは複数の実施形態では、ユーザ識別子は、ネットワーク・アプリケーション204によってアクセスまたは確保された共有メモリの一部からアクセスされ、ユーザがネットワーク・アプリケーション204に現在「ログオン」している場合にのみ存在し得る。1つまたは複数の他の実施形態では、ユーザ識別子は、ユーザのコンピューティング・デバイス104a上のクッキー(たとえば、ハイパーテキスト転送プロトコル(HTTP)クッキー)から、またはアプリケーション・キャッシュ(たとえば、ハイパーテキスト・マークアップ言語バージョン5(HyperText Markup Language version 5 : HTML5)・アプリケーション・キャッシュ)から、アクセスされる。
クライアント・アプリケーション202は、支払いメッセージ302と共に難読化されたユーザ識別子(obfuscated user identifier)を送信することができる。1つまたは複数の実施形態では、次いで、ネットワーク・アプリケーション204が、難読化されたユーザ識別子が妥当であることを確認することができる。ユーザのコンピューティング・デバイス104a上でのネットワーク・アプリケーション204のための適切な難読化されたユーザ識別子の存在は、送信者がネットワーク・アプリケーション204によってすでに認証されていることを示すので、このプロセスは、送信者のための認証として働き得る。
ネットワーク・アプリケーション204が送信者または支払いクレデンシャルを検証しない場合、ネットワーク・アプリケーション204は、送信者クライアント・デバイス104aに対して通信を送信し、支払いが許可できなかったおそれがあることを示すエラー・メッセージを送信者に対して提示することをクライアント・アプリケーション202に行わせることができる。1つまたは複数の実施形態では、エラー・メッセージは、送信者が追加の許可情報を提供する、条件に同意する、または別のやり方で身元を確認するプロンプトを含むことができる。その後、送信者クライアント・デバイス104aは、改められた支払い要求をネットワーク・アプリケーション204に対して送信することができる。ネットワーク・アプリケーション204は、次いで、送信者/支払いクレデンシャルを検証しようとすることができる。ネットワーク・アプリケーション204が、送信者/支払いクレデンシャルを検証することができない場合、ネットワーク・アプリケーション204は、支払いメッセージ302に基づいて支払い取引を終了させてよい。
ネットワーク・アプリケーション204が送信者/支払いクレデンシャルを検証すると、ネットワーク・アプリケーション204は、図3Aに例示されるように、取引ID318を生成することができる。上記で説明されたように、ネットワーク・アプリケーション204は、一意の取引IDを、受信された各支払いメッセージに対して関連付けることができる。ネットワーク・アプリケーション204は、さまざまなファイル、オブジェクト、メッセージ、および他の情報の中の取引IDを含み、ネットワーク・アプリケーション204が、メッセージ、ステータス更新、およびネットワーク・アプリケーション204を介してなされる各支払いに関する他の情報を効率的に識別および処理することを可能にするために通信することができる。たとえば、上記で説明されたように、ネットワーク・アプリケーション204は、取引IDを、支払いメッセージを処理することに対応する情報を維持するグラフ・オブジェクトと関連付けることができる。
任意選択で、320によって示されるように、ネットワーク・アプリケーション204は、支払いの額または別の額(たとえば、0.01ドルもしくは100.00ドル)についての送信者の支払いクレデンシャル(たとえば、送信者の支払いカード)に対する許可要求を、支払いネットワーク115に送信することができ、支払いネットワーク115は、支払いカード許可を承認または拒絶することができる。次いで、支払いネットワーク115は、322によって示されるように、支払いクレデンシャル許可応答をネットワーク・アプリケーション204に転送することができる。任意選択の許可要求が、タイムライン内でより早くまたはより遅く行われることができることは理解されるであろう。代替実装形態では、ネットワーク・アプリケーション204は、支払い取引要求338の一部として支払いの額のために送信者の支払いクレデンシャルに対する許可要求を送信することができる。
支払いメッセージ302を送信することに応答して、支払いクレデンシャル306を提供することに応答して、またはネットワーク・アプリケーション204からの信号に応答して、クライアント・アプリケーション202は、支払いメッセージ内容を投稿すること(324)ができる。たとえば、ユーザ・インターフェース・マネージャ206は、送信されたメッセージとして送信者と受信者との間で交換されたメッセージを有する通信スレッドに対して、支払いメッセージ302のテキストを追加することができる。
同様に、ネットワーク・アプリケーション204は、受信者クライアント・デバイス104bに対して支払いメッセージ内容328を送信することができ、したがって、受信者クライアント・デバイス104bのクライアント・アプリケーション202は、支払いメッセージ内容328を投稿すること(329)ができる。たとえば、ユーザ・インターフェース・マネージャ206は、受信されたメッセージとして送信者と受信者との間で交換されたメッセージを有する通信スレッドに対して、支払いメッセージ302のテキストを追加することができる。
ネットワーク・アプリケーション204は、支払いメッセージ302によって提供される情報を使用して、受信者が、ファイル上に支払いクレデンシャル326を有するかどうかを判定することができる。たとえば、ネットワーク・アプリケーション204は、ネットワーク識別子(たとえば、ユーザ名または他のID)を使用して、ユーザ・プロファイル・データベース240内で受信者のためのユーザ・プロファイルを調べ、ユーザ・プロファイルが、それに関連付けられた支払いクレデンシャルを有するかどうかを判定することができる。受信者が支払いクレデンシャル326を有する場合、ネットワーク・アプリケーション204は、受信者および/または支払いクレデンシャル326を検証することができる。
受信者が支払いクレデンシャル336を有さない場合、ネットワーク・アプリケーション204は、受信者が支払いクレデンシャル336を提供することを要求することができる。特に、通信マネージャ230は、受信者クライアント・デバイス104bにプロンプト330を送信して、支払いクレデンシャル326を提供するように受信者に促すことができる。ネットワーク・アプリケーション204は、通信マネージャ230に、支払い取引に進む前にプロンプト330を送信させることができる。
支払いクレデンシャルを提供するためのプロンプト330を受信すると、受信者は、プロンプト330を無視するか、または閉じることができ、このことは、ネットワーク・アプリケーション204に、所定の期間後に、別のユーザからの要求に応答して、または所定のトリガに応答して(たとえば、受信者がクライアント・アプリケーション202に次回ログインしたときに)、プロンプト330を再送信させ得る。いずれの場合も、受信者は、受信者クライアント・デバイス104bを使用して、支払いクレデンシャル情報を入力すること(332)ができる。受信者クライアント・デバイス104bは、支払いクレデンシャル情報332をネットワーク・アプリケーション204に送信すること(334)ができる。
支払いクレデンシャル情報332を受信すると、ネットワーク・アプリケーション204は、支払いクレデンシャル情報332に基づいて、1つまたは複数の支払いクレデンシャル326と受信者とを関連付けることができる。任意選択で、ネットワーク・アプリケーション204は、トークン314と類似のトークンを生成すること(335)ができる。トークン335は、上記で説明されたように、支払いクレデンシャル詳細にマッピングされ、ネットワーク・アプリケーション204がその後の支払い要求に応答して支払いクレデンシャルを取り出すことを可能にすることができる。
この時点で、または受信者がファイル上に支払いクレデンシャル326をすでに有するかどうかに応じる前に、ネットワーク・アプリケーション204は、検証ステップ336を実行して、受信者および/または支払いクレデンシャル326を検証することができる。たとえば、クライアント・アプリケーション202は、上記で送信者を検証することに関係して説明されたように、ネットワーク・アプリケーション204のための受信者のためのユーザ識別子を取得、識別、または別のやり方で発見することができる。受信者クライアント・デバイス104b上のクライアント・アプリケーション202は、支払いメッセージ内容328の受信に応答して、難読化されたユーザ識別子をネットワーク・アプリケーション204に対して送信することができる。ネットワーク・アプリケーション204は、次いで、難読化されたユーザ識別子が妥当であることを確認することができる。受信者のコンピューティング・デバイス104b上のネットワーク・アプリケーション204のための適切な難読化されたユーザ識別子の存在は、受信者がネットワーク・アプリケーション204によってすでに認証されたことを示すので、このプロセスは、受信者の認証として働き得る。
ネットワーク・アプリケーション204が送信者または支払いクレデンシャルを検証しない場合、ネットワーク・アプリケーション204は、受信者クライアント・デバイス104bに対して通信を送信し、支払いが許可されないおそれがあることを示すエラー・メッセージを受信者に対して提示することをクライアント・アプリケーション202に行わせることができる。1つまたは複数の実施形態では、エラー・メッセージは、受信者が追加の許可情報を提供する、条件に同意する、または別のやり方で身元を確認するプロンプトを含むことができる。
任意選択で、ネットワーク・アプリケーション204は、支払いの額または別の額(たとえば、0.01ドルもしくは100.00ドル)についての受信者の支払いクレデンシャル(たとえば、受信者の支払いカード)に対する許可要求を、支払いネットワーク115に送信することができ、支払いネットワーク115は、支払いカード許可を承認または拒絶することができる。次いで、支払いネットワーク115は、支払いクレデンシャル許可応答をネットワーク・アプリケーション204に転送することができる。任意選択の許可要求がタイムライン内でより早くまたはより遅く行われ得ることは理解されるであろう。したがって、1つまたは複数の実施形態では、支払いネットワーク215は、受信者口座が支払いを承認するために利用可能であることを確認することができる。
図3Cへ続いて、ネットワーク・アプリケーション204が送信者/受信者を検証すると、ネットワーク・アプリケーション204は、支払いの資金供給を処理するために、支払い取引要求を支払いネットワーク115に送信すること(338)ができる。特に、支払い取引要求338は、支払い額を送信者の支払いクレデンシャルに対して請求する(340)ための支払い情報および命令を提供することができる。加えて、この命令は、支払いネットワーク115に、受信者の支払いクレデンシャルを口座に入金する(342)ように命令することができる。支払いクレデンシャル(たとえば、支払い口座タイプ)および預金口座タイプに応じて、支払いの資金供給は、さまざまな形を取り得る。図3Dは、支払いの資金供給についての追加の処理を論じており、以下で論じられるであろう。
支払いが資金供給されると、図3Aに示されるように、支払いネットワーク115は、ネットワーク・アプリケーション204に支払い取引応答を送信すること(330)ができる。具体的には、支払い取引応答330は、支払いの資金供給が成功したことを示すことができる。次いで、ネットワーク・アプリケーション204は、支払い完了ステータス更新を送信者クライアント・デバイス104aに送信することができる。同様に、ネットワーク・アプリケーション204は、支払い請求ステータス更新(payment claimed status update)を受信者クライアント・デバイス104bに送信する。
図3Dは、支払い処理の追加の例、特に、ネットワーク・アプリケーション204が多種多様な支払い方法および預金口座を使用して支払いを処理することを可能にするための資金供給処理の追加の例を例示する。図3Dは、送信者の口座からの資金供給要求を別個に処理し、支払いを受信者の口座に預ける例示的な処理フローを例示する。1つまたは複数の実施形態では、たとえば、送信者の口座は、第1の支払いネットワーク上でアクセス可能であり得るのに対して、受信者の口座は、第2の支払いネットワーク上で利用可能である。このような状況では、支払いを処理するために、ネットワーク・アプリケーション204は、支払いを処理するための中間段階として作用することができる。
図3Dに示される処理フローは、図3Bの後に、または、言い換えれば、ネットワーク・アプリケーション204が送信者および受信者を検証した後に、再開する。ネットワーク・アプリケーション204は、支払い額が送信者の支払いクレデンシャルに対して請求され(348)、ネットワーク・アプリケーション204に対して送信されることを要求する支払い請求要求346を支払いネットワーク115に対して送信することができる。応答して、支払いネットワーク115は、送信者の口座からネットワーク・アプリケーション204へ金銭を電子的に移動することによって、送信者の口座から支払いを資金供給すること(350)ができる。電子的な移動(electronic transfer)を受信すると、ネットワーク・アプリケーション204は、一時口座352に対して支払いを適用することができる。1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、支払いを適用する新しい口座を作成することができる。代替的に、ネットワーク・アプリケーション204は、各支払いに関連付けられた一意の取引IDによって編成および識別されるさまざまな他の支払いを含む支払いを、マスタ一時口座に対して適用することができる。
ネットワーク・アプリケーション204は、次に受信者の支払いクレデンシャルへ支払いを預けることができる。特に、および図3Dに例示されるように、ネットワーク・アプリケーション204は、支払いネットワーク115または別の支払いネットワークを介して受信者の支払いクレデンシャルに対して支払いを電子的に移動することができる。特に、ネットワーク・アプリケーション204は、資金のクレジット354を受信者の支払い口座に適用するための命令と共に、資金を支払いネットワーク115に送信することができる。受信者の支払いクレデンシャルが預金口座ではない(すなわち、クレジット・カードである)場合には、クレジット要求354は、払い戻し要求を含み得る。代替として、ネットワーク・アプリケーション204は、複数の支払い取引をまとめて決済するための決済パッケージを準備することができる。たとえば、1つまたは複数の実施形態では、支払い方法の遅い特性に起因して、ネットワーク・アプリケーション204は、単一の決済取引において複数の支払いを処理する決済パッケージ内に含めるために、同じタイプの複数の支払いを蓄積してもよい。
支払いネットワーク115は、受信者の口座内に支払いを預けるのに成功すると、支払いクレジット応答をネットワーク・アプリケーション204に送信する(358)。移動確認358を受信した後、ネットワーク・アプリケーション204は、次いで、支払い額を一時口座352の借方に記入し(360)、それによって、支払いに関して一時口座を調整する。支払いプロセスを完了するために、ネットワーク・アプリケーション204は、送信者クライアント・デバイス104bに対して支払い完了ステータス更新を、および受信者クライアント・デバイスに対して支払い請求(payment claimed)ステータス更新を送信することができる。
以下でより詳細に説明されるように、図1および図2に関して説明されるシステム100の構成要素は、他の構成要素と共に、および/またはこれと組み合わせて、1つまたは複数のグラフィカル・ユーザ・インターフェースを提供することができる。特に、構成要素は、ユーザが、さまざまな目的のために表示要素の集合と対話することを可能にすることができる。特に、図4A〜図4Oおよび続く説明は、上記で説明された一般的原則によるユーザ・インターフェースおよび特徴のさまざまな例となる実施形態を例示する。
たとえば、図4A〜図4Oは、電子メッセージングならびに支払いを送信および受信することを促進するために通信アプリケーション202によって提供されるGUIのさまざまな図を例示する。いくつかの例では、クライアント・デバイス(すなわち、クライアント・デバイス104a、104b)は、システム100の一部またはすべてを実施することができる。たとえば、図4Aは、クライアント・デバイス202の構成要素のうちの1つまたは複数を実施し得るクライアント・デバイス400を例示する。図4Aに例示されるように、クライアント・デバイス400は、携帯電話デバイス(たとえば、スマートフォン)などのハンドヘルド・デバイスである。本明細書で使用されるとき、「ハンドヘルド・デバイス」という用語は、ユーザの片手の中で持たれる/操作されるようなサイズおよび構成にされたデバイスを指す。しかしながら、追加例または代替例では、限定されるものではないが、タブレット・デバイス、ハンドヘルド・デバイス、より大型のワイヤレス・デバイス、ラップトップ・コンピュータもしくはデスクトップ・コンピュータ、パーソナルデジタル・アシスタント・デバイス、および/または他の任意の適切なコンピューティング・デバイスなどの他の任意の適切なコンピューティング・デバイスが、本明細書で説明されるプロセスおよび/または動作のうちの1つまたは複数を実行することができる。
クライアント・デバイス400は、以下で図18のコンピューティング・デバイス1800に関連して説明される特徴および構成要素のいずれかを含むことができる。図4Aに例示されるように、クライアント・デバイス400は、ユーザ・インターフェースを表示または提供することができ、それによってユーザ入力が受信および/または検出され得るタッチスクリーンディスプレイ402を含む。本明細書で使用されるとき、「タッチスクリーン表示」は、タッチスクリーン・デバイスの表示を指す。1つまたは複数の実施形態では、タッチスクリーン・デバイスは、ユーザがタッチ・ジェスチャーを実行し得る少なくとも1つの表面を有するクライアント・デバイス104a、104b(たとえば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、携帯電話)であり得る。加えて、または代替的に、クライアント・デバイス400は、タッチ・パッドまたは図18に関連して以下で説明されるデバイスなどの他の任意の適切な入力デバイスを含んでよい。
以前に触れられたように、システム100は、電子メッセージング・システムと電子支払いシステムを統合することができる。図4Aは、タッチスクリーン402上でユーザ・インターフェース・マネージャ206によって提供される人々または連絡先ユーザ・インターフェース404を例示する。連絡先ユーザ・インターフェース404は、クライアント・デバイス400のユーザ(「ドナルド」)の連絡先のリストを提供することができる。特に、連絡先ユーザ・インターフェース404は、システム100内でユーザが接続されるまたは関連付けられた「友人」または連絡先406をリストすることができる。
連絡先ユーザ・インターフェース404は、連絡先406の各々の1つまたは複数のステータスをさらに提供することができる。たとえば、連絡先ユーザ・インターフェース404は、第1のステータス・インジケータ408を介することによって、所与の連絡先または共同ユーザがアクティブかどうか(たとえば、クライアント・アプリケーション202にログインしている、インターネットに接続されている、クライアント・アプリケーション202を使用してアクションを最近実行した)を示すことができる。第1のステータス・インジケータ408は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備えることができる。一実施形態では、第1のステータス・インジケータ408は、アクティブである各共同ユーザの名前の隣に第1の色(たとえば、緑色)のドットを備える。関係のある線に沿って、第1のステータス・インジケータ408は、非アクティブであるユーザの隣に第2の色(たとえば、灰色)のドットも含むことができる。
連絡先ユーザ・インターフェース404は、デバイス・インジケータ410を介して、連絡先または共同ユーザが現在使用しているデバイスのタイプを示すことができる。デバイス・インジケータ410は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備えることができる。たとえば、示されるように、デバイス・インジケータ410は、共同ユーザがアクティブである、またはパーソナル・コンピュータを使用してクライアント・アプリケーション202にログインしていることを示す「ウェブ」という単語を備えることができる。類似の情報に従って、デバイス・インジケータ410は、所与の連絡先がアクティブである、または携帯電話などのモバイル・デバイスを使用してクライアント・アプリケーション202にログインしていることを示すために、「モバイル」という単語を含むことができる。加えて、または代替的に、デバイス・インジケータ410は、所与の共同ユーザのクライアント・デバイスのブランドまたはモデルを示すことができる。
所与の共同ユーザのプライバシー設定に応じて、連絡先ユーザ・インターフェース404は、支払いステータス・インジケータ411をさらに含むことができる。支払いステータス・インジケータ411は、所与の共同ユーザが名簿に記載されているまたはシステム100を使用して電子支払いを受信もしくは送信することが可能であるかどうかを示すことができる。たとえば、所与の共同ユーザの名前の隣における支払いステータス・インジケータ411の存在は、所与の共同ユーザが、システム100またはネットワーク・アプリケーション204を用いて共同ユーザの口座またはプロファイルに関連付けられた支払いクレデンシャルを有することを示すことができる。支払いステータス・インジケータ411は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備えることができる。たとえば、図4Aによって示されるように、支払いステータス・インジケータ411は、支払い取引に一般に関連付けられたドル記号または他のシンボルを備えることができる。
クライアント・アプリケーション202は、ネットワーク・アプリケーション204のステータス・マネージャ232から、クライアント・デバイス400のユーザに関連付けられた連絡先のステータスの通知または標識を受信することができる。たとえば、クライアント・アプリケーション202は、クライアント・アプリケーション202がいつアクティブまたはオンラインであるかを示すために、ネットワーク・アプリケーション204に対して通知またステータス更新を送信することができる。次いで、ステータス・マネージャ232は、所与のユーザに関連付けられたクライアント・デバイス104aに対して、所与のユーザに関連付けられた連絡先のステータスを送信することができる。関係のある情報に従って、ステータス・マネージャ232は、所与のユーザが、所与のユーザのプロファイルに関連付けられた支払いクレデンシャルを有するかどうかを判定することができ、支払いを送信および受信できることを有するユーザの連絡先のクライアント・デバイス400に対して標識を提供することができる。
本明細書における開示に鑑みて、電子メッセージング・システムと電子支払いシステムの統合は、従来の支払いアプリケーションに勝る大きな利点を提供することができることは理解されよう。特に、ユーザは、連絡先ユーザ・インターフェース404にアクセスし、どの共同ユーザがアクティブであるか、したがって、支払い取引についてチャットするため、または支払いの受信を告知するためにすら利用可能であるかを決定することができる。そのうえ、連絡先ユーザ・インターフェース404は任意選択で、ユーザが、どの共同ユーザが支払いクレデンシャルを有するかを知ることを可能にすることができる。したがって、連絡先ユーザ・インターフェース404が、共同ユーザが支払いを「即座に」受信することができるかどうか、またはユーザが共同ユーザを招待して名簿に記載する必要があることがあるかどうかをユーザに知らせることができる。
上記で説明されたように、システム100は、データを受信および送信することを促進することができる。1つまたは複数の実施形態では、通信マネージャ230は、コンピューティング・デバイス104a、104b、400の間で電子通信を受信および送信することを促進する。また、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、通信マネージャ230を介して送信および受信された電子通信を表示する。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、通信スレッド内で通信マネージャ230を介して送信および受信された電子通信をメッセージング・グラフィカル・ユーザ・インターフェース内に表示することができる。たとえば、ユーザは、連絡先とメッセージを交換することを促進するメッセージング・グラフィカル・ユーザ・インターフェースを開くために、連絡先ユーザ・インターフェース404の連絡先のリスト内の連絡先リストと対話することができる。たとえば、図4Bは、ユーザが連絡先ユーザ・インターフェース404から「ジョー」という連絡先を選択するとタッチスクリーン402上にユーザ・インターフェース・マネージャ206によって提供されるメッセージング・グラフィカル・ユーザ・インターフェース412を例示する。
示されるように、メッセージング・グラフィカル・ユーザ・インターフェース412は、通信デバイス400のユーザの口座から送信された電子メッセージ416aを含む通信スレッド414を含むことができる。同様に、通信スレッド414は、共同ユーザ(すなわち、「ジョー」)の口座によって受信された電子メッセージ416bを含むことができる。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、より古いメッセージが通信スレッド414の上部において表示されるように、新しいメッセージが通信スレッド414の下部に対して追加されるように、通信スレッド414を編成する。代替実施形態では、ユーザ・インターフェース・マネージャ206は、メッセージ416a、416b間の時系ストリング的関係または他の関係をユーザに対して示し得る任意の様式で、メッセージ416a、416bを編成し得る。
ユーザ・インターフェース・マネージャ206は、ユーザが通信スレッド414内で電子通信を区別する助けとなるために、さまざまな電子通信特性を提供する。たとえば、図4Bに例示されるように、ユーザ・インターフェース・マネージャ206は、メッセージング・グラフィカル・ユーザ・インターフェース412の片側(すなわち、右側)に向けられた、クライアント・デバイス400のユーザの口座から送信された電子メッセージ416aを表示する。一方、ユーザ・インターフェース・マネージャ206は、メッセージング・グラフィカル・ユーザ・インターフェース412の反対側(すなわち、左側)に向けられた、メッセージング・ハンドラ210によって受信された電子メッセージ416bを表示する。1つまたは複数の実施形態では、電子メッセージ416a、416bの位置決めおよび方向は、メッセージング・グラフィカル・ユーザ・インターフェース412内で表示されたさまざまな電子通信の起点のクライアント・デバイス400のユーザに対して明確なインジケータを提供する。
ユーザが電子通信を区別する助けとなるユーザ・インターフェース・マネージャ206によって提供された別の特性は、電子通信の色であり得る。たとえば、図4Bに示されるように、ユーザ・インターフェース・マネージャ206は、送信された電子メッセージ416aを第1の色で、受信された電子メッセージ416bを第2の色で表示する。1つまたは複数の実施形態では、第1の色および第2の色はそれぞれ、逆にされた字面色を有する黒色および白色であってよい。一代替実施形態では、ユーザ・インターフェース・マネージャ206は、白色の背景および異なる色の輪郭を用いて電子メッセージ416a、416bを表示してよい。
さらに別の代替実施形態では、ユーザ・インターフェース・マネージャ206は、異なるパターンの背景を用いて電子メッセージ416a、416bを表示してもよいし、異なるフォントで表示してもよいし、異なるサイズで表示してもよいし、または送信された電子メッセージ416aと受信された電子メッセージ416bとを区別し得る他の任意の様式で表示してもよい。たとえば、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、青色の背景上の白色の字面を用いて、送信された電子メッセージ416aを表示する。同様に、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、灰色の背景上の黒色の字面を用いて、受信された電子メッセージ416bを表示する。
上記で言及されたように、ユーザ・インターフェース・マネージャ206は、メッセージ入力制御パレットまたはツールバー422も提供し得る。図4Bに例示されるように、ユーザ・インターフェース・マネージャ206は、メッセージ入力制御パレットまたはツールバー422をメッセージング・グラフィカル・ユーザ・インターフェース412の一部として表示する。1つまたは複数の実施形態では、メッセージ入力制御パレットまたはツール・バー422は、さまざまなメッセージ入力オプションまたは他のオプションをユーザに提供するさまざまな選択可能なメッセージ入力制御を含む。たとえば、図4Bでは、メッセージ入力制御パレットまたはツールバー422は、テキスト入力制御部424aと、支払い制御部424bと、カメラ・ビューファインダ入力制御部424cと、マルチメディア入力制御部424dと、シンボル入力制御部424eと、「いいね」インジケータ制御部424fとを含む。1つまたは複数の代替実施形態では、メッセージ入力制御パレットまたはツールバー422は、異なる順序で入力制御部424a〜424eを提供してもよいし、図4Bで表示されない他の入力制御部を提供してもよいし、図4Bに示される入力制御部424a〜424eのうちの1つまたは複数を省略してもよい。
以下でより詳細に説明されるように、ユーザは、異なるタイプの電子通信を構築および送信するために、入力制御部424a〜424eのいずれかと対話してよい。たとえば、ユーザがテキスト入力制御部424aと対話する場合、ユーザ・インターフェース・マネージャ206は、メッセージング・グラフィカル・ユーザ・インターフェース412の一部分の中に、ユーザがテキスト・メッセージ420を構築するために利用し得るタッチスクリーン表示キーボード418を提供し得る。同様に、ユーザがマルチメディア入力制御部424dと対話する場合、ユーザ・インターフェース・マネージャ206は、メッセージング・グラフィカル・ユーザ・インターフェース412の一部分の中に、(たとえば、デジタル写真、デジタル・ビデオなどを表示するための)マルチメディア・コンテンツ・アイテム表示エリアを提供し得る。同様に、ユーザがカメラ・ビューファインダ入力制御部424cと対話する場合、ユーザ・インターフェース・マネージャ206は、メッセージング・グラフィカル・ユーザ・インターフェース412の一部分の中に、ユーザが通信スレッド306に対してデジタル写真またはデジタル・ビデオをキャプチャ、送信、および追加するために利用し得るデジタル・カメラ・インターフェースを提供し得る。
ユーザは、メッセージまたは支払いを構築し、システム100を介して1つまたは複数の共同ユーザに対して送信するために、メッセージ入力制御部424a〜eのいずれかと対話し得る。たとえば、図4Bでは、支払い制御部424bと対話するユーザの指が示されている。1つまたは複数の実施形態では、ユーザ入力ディテクター208は、支払い制御部424bとのユーザの指または他の入力デバイスの対話(たとえば、タップ・タッチ・ジェスチャー)を検出することができる。ユーザ入力ディテクター208が支払い制御部424b上でタップ・タッチ・ジェスチャーを検出すると、ユーザ・インターフェース・マネージャ206は、図4Cによって示されるように、メッセージング・ユーザ・インターフェース414の一部分の中に支払いユーザ・インターフェース415を表示し得る。
特に、図4Cによって例示されるように、ユーザ・インターフェース・マネージャ206は、メッセージング・ユーザ・インターフェース412の第1の部分(すなわち、上方部分)の中に通信スレッド411を提供することができる。ユーザ・インターフェース・マネージャ206は、メッセージング・ユーザ・インターフェース412の第2の部分(すなわち、下方部分)の中に支払いユーザ・インターフェース415を提供することができる。したがって、ユーザ・インターフェース・マネージャ206は、ユーザが通信スレッド414および任意の新しいメッセージを閲覧することを可能にしながら、支払い取引を開始することも可能にすることができる。代替実施形態では、ユーザ・インターフェース・マネージャ102は、通信スレッド414および支払いユーザ・インターフェース415を水平に、または垂直構成以外の別の構成で構成することができる。さらに他の実施形態では、支払いユーザ・インターフェース415は、メッセージング・ユーザ・インターフェース412または別個のユーザ・インターフェースの上にオーバーレイを備えることができる。
本明細書における説明から明らかになるように、支払いユーザ・インターフェース415は、ユーザが支払い取引を開始する(支払いを送信する、支払いを要求するなど)ことを可能にしながら、同時に支払い取引に対する1つまたは複数の共同ユーザ・パーティと共にメッセージを閲覧することができる。たとえば、図4Cは、デバイス400のユーザ(「ドナルド」)(以下では送信者)が、「やあ、ジョー、この間の晩ごはんはいくらした?」というメッセージを送信したことを例示する。応答では、通信スレッド414内の会話に参加している共同ユーザ(「ジョー」)(以下では受信者)が、「チップも含めて約50ドルだった」と応答した。この会話すなわちメッセージング・セッションに応答して、送信者は、受信者に対して支払いを送信することを望むことができる。メッセージング・ユーザ・インターフェース412は、送信者が通信スレッド414またはメッセージング・ユーザ・インターフェース412から離れてナビゲートする必要なしに、そのようにすることを可能にすることができる。
図示されるように、支払いユーザ・インターフェース415は、支払い額を設定するための複数のクイック送信選択可能な要素430a、430b、430c、430dを提供することができる。いくつかの実装形態では、クイック送信選択可能な要素430a、430b、430c、430dは、クイック送信選択可能な要素430a、430b、430c、430dに関連付けられた数値を送信者が見ることを可能にするアイコンを含む。1つまたは複数の実施形態では、選択可能な要素430a、430b、430cは、共通通貨価値に基づいた関連付けられた数値を有することができる。たとえば、選択可能な要素430a、430b、430cは、送信者によって使用される通貨の手形によって決定される数値を有することができる。例示するために、送信者が米国ドルを使用する場合、選択可能なアイコンは、一般的な米国ドル紙幣に等しい数値(たとえば、「1ドル」、「5ドル」、および「10ドル」)を有することができる。一例では、システム100は、ユーザによって入力されたクレデンシャル、ユーザによって入力された情報、ロケーション・ディテクター214によって検出されたクライアント・デバイス400の現在のロケーション、および/または送信者に関連付けられた他の情報に基づいて、送信者によって使用される通貨を自動的に検出することができる。追加実施形態または代替実施形態では、選択可能な要素430a、430b、430cは、共通通貨価値以外の数値を有してもよい。
別の例では、送信者は、選択可能な要素に関連付けられた数値を追加すること、除去すること、および/または修正することによって、選択可能な要素をカスタマイズすることができる。具体的には、送信者は、選択可能な要素430a、430b、430cのうちの1つまたは複数について、支払いインターフェース415がデフォルトで提供する値よりも大きい値を使用することを選ぶことができる。送信者は、たとえば、支払いインターフェース415における選択可能な要素430a、430b、430cに追加するための、またはこれらを修正するための、追加の選択可能な要素430dを選択することができる。加えて、または代替的に、追加の選択可能な要素430dは、選択された場合、ユーザ・インターフェース・マネージャ206に、支払い額をインクリメントするためのすべての考え得る選択可能な要素のリストまたはメニューを提示させることができ、すべての考え得る選択可能な要素のうちの一部は、クライアント・デバイス400のサイズに起因して、グラフィカル・ユーザ・インターフェース内に収まらないことがある。代替的に、追加の選択可能な要素430dの選択は、ユーザ・インターフェース・マネージャ206に、図4Eおよび図4Hに示される数字キーパッドなどの数字キーパッドを提供させることができる。
追加実施形態または代替実施形態では、クライアント・アプリケーション202は、選択可能な要素430a、430b、430cの外観を送信者がカスタマイズすることを可能にする。具体的には、アイコンは、形状、サイズ、色、および/または他の視覚的特性によって設定可能であり得る。たとえば、送信者は、予め組み込まれているアイコンの選択肢から、選択可能な要素430a、430b、430cを選択することができる(たとえば、各選択可能な要素430a、430b、430cは、対応する通貨価値のミニチュア紙幣レプリカによって表され得る)。別の例では、送信者は、選択可能な要素430a、430b、430cについてユーザによって作成されたアイコンをアップロードすることができる。
送信者が、選択される要素をタップし、または別のやり方で選択することによって、クイック送信選択可能な要素430a、430b、430c、430dのうちの1つを選択した場合、ユーザ入力ディテクター208は、この選択を検出することができる。第1のクイック送信選択可能な要素(たとえば、図4Cに示されるような要素430c)の選択を検出すると、ユーザ入力ディテクター208は、ユーザ・インターフェース・マネージャ206に、メッセージング・ユーザ・インターフェース412の通信スレッド414において予備支払い額または初期支払い額432を入力するように命令することができる。ユーザが、追加のクイック送信選択可能な要素を選択すると、ユーザ・インターフェース・マネージャ206は、通信スレッド414内の支払い額432をインクリメントすることができる。たとえば、図4Dは、送信者がクイック送信選択可能な要素430cを2回、およびクイック送信選択可能な要素430dを選択すると、ユーザ・インターフェースが各クイック送信選択可能な要素に対応する額を追加して(すなわち、10ドル+10ドル+5ドル)、図4Dに示されるような更新された支払い額432に到達させることができることを例示する。
1つまたは複数の実施形態では、システム100は、会話に関与する送信者と受信者の両方の通信スレッド414内に支払い額432を提示することができる。具体的には、システム100は、会話に関与する送信者と受信者の両方のメッセージング・インターフェース414をリアルタイムで更新して、送信者が支払い額を開始し、選択中であることを示すことができる。たとえば、送信者が、10ドルという表示価値を有する選択可能な要素430cを選択する場合、システム100は、会話の時間依存フローの中に、メッセージとして現在の支払い額を含むように、送信者と受信者の両方の通信スレッド414を更新することができる。送信者が、追加の選択可能な要素を選択するにつれて、システム100は、初期支払い額または過去の支払い額を、選択された要素の対応する値だけインクリメントすることによって、支払い額432を更新する。支払い額をインクリメントすることは、2つ以上の選択された要素の数値を合計することを含み得る。
いくつかの実施形態では、システム100は、支払い額432をインクリメントするためのタイマーを提供する。具体的には、ユーザ入力ディテクターは、選択可能な要素430a、430b、430cの選択以降の期間を監視し、送信者が非活動閾値時間内に選択可能な要素430a、430b、430cを選択しなかった場合には、支払い額432が確定されたと決定し、取引を処理することができる。たとえば、非活動閾値時間は、3秒(または、ユーザ設定可能な時間を含めて、任意の時間)とすることができ、その結果、送信者が、選択可能な要素430a、430b、430cを3秒以内に選択しなかった場合、クライアント・アプリケーション202は、支払い額432を確定し、支払いメッセージ・ジェネレータ216は、支払い額432に基づいて、支払いメッセージを準備および送信することができる。代替的に、支払いインターフェース415は、支払い額432が確定であることを示すため、送信者が選択できる「送信」アイコンもしくは他の選択可能なオプションまたはグラフィカル・ユーザ・インターフェースを含むことができる。
前述の内容に加えて、ユーザ・インターフェース・マネージャ206は、支払い額432および関連付けられた支払いメッセージに関するさまざまなアニメーションを提供してもよい。たとえば、選択可能な要素430a、430b、430cをタップして要素を選択するのではなく、ユーザは、通信スレッド414に向かって上方にスワイプ・タッチ・ジェスチャーを実行することができる。次いで、ユーザ・インターフェース・マネージャ206は、支払い額432に流れ込むさまざまな「紙幣」をアニメーションにすることができる。受信者の通信スレッド414において見ると、紙幣のアニメーションおよび増大する支払い額は、受信者には、送信者が「紙幣をまき散らし」ているように見える。代替実施形態では、ユーザ・インターフェース・マネージャ206は、代替的なアニメーションまたは追加のアニメーションを提供してもよい。さらに、1つまたは複数の実施形態では、送信者または受信者は、1つまたは複数のアニメーション・オプションを選択することができる。
本明細書の開示内容に照らして、図4Cおよび図4Dの支払いインターフェース415は支払いインターフェースの1つの実装形態であることは理解されるであろう。図4Eは、支払いインターフェース415aの一代替実施形態を例示する。示されるように、支払いインターフェース415aは、所望の数字を順番に入力することによって(すなわち、25ドルに到達するために2次いで5)ユーザが支払い額432を選択することを可能にすることができる数字キーパッド438を含むことができる。1つまたは複数の実施形態では、ユーザは、ユーザが使用したいと望む支払いインターフェース415、415aを選択することができる。
図4Fに示されるような、支払いインターフェース415bの別の代替実施形態では、支払いインターフェース415bは、複数の「クイック送信」額のうちの1つを使用して支払い額を入力するためのオプションを提供することができる。図示されるように、支払いインターフェース415bは、異なる「クイック送信」額に対応する複数の選択可能な要素430e、430f、430g、430hを含むことができる。具体的には、選択可能な要素430e、430f、430g、430hの各々は、システム100が個別の支払い額として取り扱う対応する通貨価値を有しており、この支払い額は、ユーザによって選択されると、システム100によって入力される確定した支払い額となる。例示するために、ユーザが、選択可能な要素430fを選択した場合、システム100は、対応する「クイック送信」額(10ドル)を支払いインターフェース415b内に入力し、選択可能な要素430e、430f、430g、430hを支払いインターフェース415bから除去することができる。したがって、一実施形態によれば、「クイック送信」額は、支払い取引を完了する前に、他の支払い額と合計されなくてもよい。
1つまたは複数の実施形態では、システム100は、選択可能な要素430e、430f、430g、430hに関連付けられた「クイック送信」額に対して、送信者によって選ばれそうな額をインテリジェントに入力することができる。たとえば、システム100は、送信者の取引履歴に基づいて「クイック送信」額を選択することができる。例示するために、システム100は、選択可能な要素430e、430f、430g、430hに対して、概して送信者によって過去に使用された支払い額、または送信者によって受信者に送信された過去の支払いにおいて具体的に使用された支払い額を入力することができる。追加実装形態または代替実装形態では、システム100は、選択可能な要素430e、430f、430g、430hの少なくとも一部に対して、前述されたように、ユーザのロケーションに基づいて共通通貨価値を入力してもよい。
別の実装形態では、システム100は、送信者と受信者との間で交換される1つまたは複数のメッセージを分析することによって、「クイック送信」額に含めるべき額を検出することができる。具体的には、システム100は、通信スレッド414内のメッセージを分析し、メッセージのうちの1つまたは複数の内容に基づいて、「クイック送信」額を推測することができる。たとえば、システム100は、通信スレッド414内のメッセージのうちの1つまたは複数が、ユーザが一定の額を別のユーザに借りていることを示すと決定することができる。例示するために、図4Fによって示されるように、受信者は、「チップを含めて約50ドルでした。」というメッセージを送信する。「50ドル」という額の検出に応答して、システム100は、図4Fに示されるように、選択可能な要素のうちの1つの要素430hに、50ドルの「クイック送信」額を入力することができる。システム100は、加えて、または代替的に、その他の選択可能な要素のうちの1つまたは複数430gに、関連する額を入力してもよい。たとえば、システム100は、会話内のユーザの数(この場合は2人)を検出し、推測される額(すなわち、50ドル)を通信スレッド414における参加者の数で、または1つもしくは複数の電子メッセージから推測されるイベントの参加者の数で除算し、その額(すなわち、25ドル)をクイック送信額430gとして含むことができる。
クイック送信額430gが選択されると、ユーザ・インターフェース・マネージャ206は、図4Gに示されるように、支払いインターフェース415b内の「クイック送信」額に基づいて、支払い額432を表示することができる。これは、ユーザが、その額をレビューし、「送信」オプションを選択することによって、ユーザがその額を送信したいと望むことを確認することを可能にする。図4Gによって示されるように、支払いインターフェース415bは、タッチ・スクリーン402の下側部分を占有し、それによって、ユーザが支払い額432を入力または確認している間に通信スレッド414を見ることを可能にする。
1つまたは複数の代替実施形態では、クイック送信額が選択されると、ユーザ・インターフェース・マネージャ206は、通信スレッドを含まない支払いインターフェースを提供してもよい。たとえば、図4Hに示されるように、支払いインターフェース456は、図4Gの支払いインターフェース415bの特徴およびキーパッド438を含む。キーパッド438は、クイック送信選択可能な要素430gが選択されると入力される支払い額432を、送信者が修正または変更することを可能にする。
ユーザがクイック送信選択可能な要素430e〜430hを選択すると、図4Hの支払いインターフェース456を提示することに加えて、ユーザ・インターフェース・マネージャ206は、支払い額を手動で入力するためのオプションのユーザ選択に応答して、図4Hの支払いインターフェース456を提供することもできる。たとえば、図4Fを参照すると、支払いインターフェース415bは、ユーザが支払い額432を手動で入力することを可能にする支払い入力選択可能な要素454を含み得る。ユーザが、クイック送信選択可能な要素430e〜430hに含まれない額を入力することを望む場合、ユーザは、支払い入力選択可能な要素454を選択して、図4Hの支払いインターフェース456へナビゲートすることができる。
前述の内容に加えて、1つまたは複数の実施形態では、支払い処理フローを構成するユーザ・インターフェースは、クイック送信選択可能な要素430a〜430gを含まなくてもよい。そのような実施形態では、ユーザが図4Bの支払い制御部424bを選択すると、ユーザ・インターフェース・マネージャ206は、図4Hの支払いインターフェース456を提供することができる。次いで、ユーザは、キーパッド438を使用して、支払い額432を手動で入力することができる。ユーザが所望の支払い額432を入力すると、ユーザは、支払い選択可能要素437または送信選択可能な要素437を選択することができる。
図4Hを再び参照すると、1つまたは複数の実施形態によれば、支払いインターフェース456またはその他の支払いインターフェース415、415a、415bは、支払いクレデンシャル要素458を含み得る。支払いクレデンシャル要素458は、支払いがなされるユーザの支払いクレデンシャルを示すことができる。たとえば、支払いクレデンシャル要素458は、図4Gおよび図4Hに示されるように、クレジット・カード番号またはデビット・カード番号の最後の4桁を、そのカードのブランドと共に含むことができる。
ユーザが、別の支払いクレデンシャルを使用すること、または支払いクレデンシャルを追加することを望む場合、ユーザは、支払いクレデンシャル要素458を選択することができる。支払いクレデンシャル要素458の選択に応答して、ユーザ・インターフェース・マネージャ206は、ユーザがファイル上の他の支払いクレデンシャルを選択することを可能にする選択インターフェースを提供することができる。代替的に、ユーザが、ファイル上に支払いクレデンシャルを有しない場合には、支払いクレデンシャル要素458は、ユーザが新たな支払いクレデンシャルを入力することを可能にしてもよい。具体的には、支払いクレデンシャル要素458が選択されると、ユーザ・インターフェース・マネージャは、図4Iに関係して説明されるような、クレデンシャル・ユーザ・インターフェース434を提供することができる。
追加実施形態または代替実施形態では、送信者が、支払い選択可能な要素437(図4E参照)または送信要素を選択することに応答して、クライアント・アプリケーション202は、登録された支払いクレデンシャルを送信者が有するかを決定するための要求を、ネットワーク・アプリケーション204に送信することができる。送信者が、登録された支払いクレデンシャルに関連付けられていない場合には、ユーザ・インターフェース・マネージャ206は、図4Iに示されるように、送信者が支払いクレデンシャルを登録する(たとえば、上記で詳細に説明されたような支払い情報を提供する)ことを可能にするクレデンシャル・ユーザ・インターフェース434を提示することができる。代替的に、または加えて、グラフィカル・インターフェースは、送信者が口座を作成すること、または支払いクレデンシャルを保存することを必要とすることなく、ワンタイム支払いを促進するためにユーザが支払い情報を入力する(たとえば、デビット・カード番号またはクレジット・カード番号を入力する)ことを可能にするワンタイム支払いオプションを提示してもよい。別の代替的実装形態では、ユーザ・インターフェース・マネージャ206は、送信者による選択に応答して、図4Gおよび図4Hに示されるような、支払いクレデンシャル要素458を介して新たな支払いクレデンシャルを入力するためのクレデンシャル・ユーザ・インターフェース434を提示してもよい。
クレデンシャル・ユーザ・インターフェース434は、送信者が入力することを選択した支払いクレデンシャルのタイプに応じて変化することができることは理解されよう。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、許容できる支払いクレデンシャル(たとえば、クレジット・カード、デビット・カード、ギフト・カード、銀行口座)のリストを提供することができる。ユーザが支払いクレデンシャルのタイプを選択すると、ユーザ・インターフェース・マネージャ206は、適用可能なクレデンシャル・ユーザ・インターフェース434を提供することができる。たとえば、図4Iは、クレジット・カードまたはデビット・カードを入力するためのクレデンシャル・ユーザ・インターフェース434を例示する。示されるように、ユーザは、数字キーパッド438を介して、クレジット・カードに関連付けられたクレジット・カード番号、有効期限、セキュリティ・コード、および勘定書送付先郵便番号コードを入力することができる。支払い情報の入力が選択されると、メッセージング・ハンドラ212は、図3A〜図3Dに関係して上記で説明されたように、支払いクレデンシャルの記憶のために、支払いクレデンシャル情報をネットワーク・アプリケーション206に送信することができる。
送信者が支払いクレデンシャル詳細を入力した後(自動リマインダによってであれ、受信者からの手動リマインダであれ、または送信者自身の選択によってであれ)、システム100は、支払い取引を処理し続けることができる。1つまたは複数の実施形態では、通信アプリケーション202は、将来の支払い取引を処理するためにPINまたは他のショートカットを使用するオプションを送信者に対して提供することができる。たとえば、図4Jに示されるように、通信アプリケーション202は、セキュリティを追加する目的で、送信者が金銭を送信するためにPINを作成したいかどうか送信者に尋ねるポップアップ・ウィンドウ440または他の通知を、メッセージング・インターフェース412で送信者に対して提示することができる。
送信者が、将来の支払い取引を処理するためにPINを入力することを選択した場合、通信アプリケーション202は、図4Kに示されるように、PINを作成するためのPIN作成インターフェース442を提示することができる。具体的には、PIN作成インターフェースは、送信者が、送信者の記憶されたクレデンシャルに関連付けられた一意のPINを作成することを可能にすることができる。たとえば、PINは、将来の支払い取引を処理することが可能になる前に送信者が数字キーパッド438を介して入力することができる4桁の番号(または任意の長さのストリング)とすることができる。いくつかの例では、システム100は、PINを作成し、記憶されたクレデンシャルとPINを関連付けるために、PINを再入力することによって、送信者がPINを確かめることを要求することもできる。
将来の支払い取引のために、システム100は、送信者がPINを入力することができるPIN入力インターフェースを提示することができる。PINを入力することは、システム100が、PINに関連するユーザのために記憶されたクレデンシャルを使用して支払い取引を処理することを可能にすることができる。したがって、PINを入力することは、送信者が、送信者がシステム100を介して別のユーザに対して金銭を送信することを望むたびにクレデンシャルを思い出すことなく支払い取引を開始および完了することを可能にする。
送信者が支払い額432をインクリメントすることを終え、支払いメッセージが送信された場合、ユーザ・インターフェース・マネージャ206は、送信者クライアント・デバイス400上の通信スレッド414および/または受信者の通信スレッド414内の支払い額432(および、支払いメッセージの他の任意のテキスト)を更新して、支払い額432が確定し、送信されたことを反映することができる。たとえば、ユーザ・インターフェース・マネージャ206は、通信スレッド414内の支払いメッセージ(この場合は、支払い額432のみを含む)の一定の特性を変更して、支払いメッセージがメッセージとして送信され、支払い取引が開始されたことを反映することができる。たとえば、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、支払いメッセージの位置、支払いメッセージの境界幅、支払いメッセージの背景色、支払いメッセージのサイズおよびフォント、またはこの目的に適した支払いメッセージの他の任意の特性を変更してもよい。たとえば、支払いメッセージが送信された後の図4Lでは、ユーザ・インターフェース・マネージャ206は、支払いメッセージの背景を、図4Dに示されるような白色から図4Lに示されるような黒色に変更し、支払いメッセージのテキスト色を、図4Dの黒色から図4Lの白色に変更する。
一例では、ユーザ・インターフェース・マネージャ206は、支払い額が確定されたとき、たとえば、支払い額をメッセージング・インターフェース412において「跳ね返らせる」ことによって、支払い額をアニメーションにすることができる。支払い額をアニメーションにするとき、ユーザ・インターフェース・マネージャ206は、支払い額の文字および/または画像を個々に、またはまとめてアニメーションにすることができる。
加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、支払い取引に関連付けられた1つまたは複数の動作が完了されるまで、外観を修正する(たとえば、支払い額をアニメーションにする)ことができる。たとえば、ユーザ・インターフェース・マネージャ206は、受信者が支払い額を承認する、送信者および/もしくは受信者がクレデンシャルを入力する、またはシステム100が支払い取引を完了し、送信者から受信者へ資金を移動するまで、支払い額をアニメーションにすることができる。追加実施形態または代替実施形態では、ユーザ・インターフェース・マネージャ206は、支払い額が最終的なものになると、時間の量にわたって支払い額の外観に対して修正を適用することができる。加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、支払い取引がいつ完了されたかなどの他の基準に基づいて、支払い額の外観に対して修正を適用することができる。
図4M〜図4Oは、受信者クライアント・デバイス400aのためのグラフィカル・ユーザ・インターフェースを例示する。図4Mは、送信者が支払い取引を開始して、支払い額を受信者に送信した後の、受信者クライアント・デバイス400aにおけるメッセージング・インターフェース412aを例示する。1つまたは複数の実施形態では、システム100は、送信者が支払い取引を開始したことを受信者に通知することができる。たとえば、ユーザ・インターフェース・マネージャ206は、メッセージング・インターフェース412aの通信スレッド414aにおいて支払い額を示し、支払いメッセージ432aにおいて送信者の身元(たとえば、「ドナルドがあなたに金銭を送信しました」)を示すことができる。例示するために、ユーザ・インターフェース・マネージャ206は、送信者と受信者との間で交換される他のメッセージと共に、支払い額を会話スレッド414a内に挿入することができる。加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、別の様式で(たとえば、受信者クライアント・デバイス400aの通知エリア内で通知を提供することによって)支払い額を提示することができる。
加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、メッセージング・インターフェース412aの上に、またはメッセージング・インターフェース412a内に、送信者が支払いを受信者に送信したことを示すドロップダウン・オーバーレイ450または他の通知を示すことができる。一例では、ドロップダウン・オーバーレイ450は、確認要求を受信者に提供して、(すなわち、ドロップダウン・オーバーレイ450、または承認要素452などのドロップダウン・オーバーレイ450内の要素を選択することによって)受信者が支払い取引を承認することを可能にすることができる。受信者が支払い取引を承認した後、システム100は、支払い取引を完了し、送信者から受信者へ資金を移動するプロセスを始めることができる。一代替例では、ドロップダウン・オーバーレイ450は、システム100が支払い取引を自動的に処理および完了する間、単に支払い取引の注意を受信者に向けることができる。
1つまたは複数の実施形態では、受信者が支払いを承認することを選択したとき、システム100、クライアント・アプリケーション202は、登録された支払いクレデンシャルを受信者が有するかどうかを決定するためにネットワーク・アプリケーション204に対して要求を送信することができる。受信者が、登録された支払い口座に関連付けられていない場合には、ユーザ・インターフェース・マネージャ206は、図4Nに示されるように、受信者が支払いクレデンシャルを登録する(たとえば、上記で詳細に説明されたように支払い情報を提供する)ことを可能にするクレデンシャル・ユーザ・インターフェース434を提示することができる。代替的に、または加えて、グラフィカル・インターフェースは、送信者が口座を作成することを必要とすることなく、ワンタイム支払いを促進するために受信者が支払い情報を入力する(たとえば、デビット・カード番号またはクレジット・カード番号を入力する)ことを可能にするワンタイム支払いオプションを提示することができる。
クレデンシャル・ユーザ・インターフェース434は、どのタイプの支払いクレデンシャルを受信者が入力することを選択するかに応じて変わり得ることは理解されるであろう。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、許容可能な支払いクレデンシャル(たとえば、クレジット・カード、デビット・カード、ギフト・カード、銀行口座)のリストを提供することができる。受信者が、あるタイプの支払いクレデンシャルを選択すると、ユーザ・インターフェース・マネージャ206は、適用可能なクレデンシャル・ユーザ・インターフェース434を提供することができる。たとえば、図4Nは、クレジット・カードまたはデビット・カードを入力するためのクレデンシャル・ユーザ・インターフェース434を例示する。図示されるように、ユーザは、数字キーパッド438を介して、クレジット・カード番号、有効期限、セキュリティ・コード、および、クレジット・カードに関連付けられた勘定書送付先郵便番号コードを入力することができる。
受信者が支払いクレデンシャルを入力した後、システム100は、支払い取引を完了することができる。具体的には、システム100は、送信者から受信者へ資金を移動することによって、支払い取引を完了することができる。いくつかの例では、送信者から受信者へ資金を移動することは、以前に図3A〜図3Dに関係して説明されたように、取引が対応する金融機関によって承認されるまで受信者に関連付けられた一時口座に資金を移動することを含むことができる。代替例では、支払い取引を完了することは、受信者によって入力された宛先口座へ資金を直接的に移動することを含むことができる。図4Oに示されるように、完了した後(または、受信者が支払い取引を完了することを選択した後)、システム100は、支払い取引が完了したこと、および受信者は一定の時間枠以内に支払いを受信するべきであることを受信者に通知する支払い完了メッセージ458を表示することができる。
いくつかの実施形態では、送信者および/または受信者は、支払い取引についての設定を設定または変更することができる。具体的には、送信者および/または受信者は、支払い方法(たとえば、デビット・カード、直接的な引き出し/預金、クレジット・カード)についての設定を管理することができる。たとえば、ユーザが支払い方法についての設定を変更した場合、メッセージング・アプリケーションは、ユーザによって設定された設定に従って、将来の支払い取引を処理することになる。いくつかの例では、システム100が、ユーザから送信された支払いを、ユーザによって受信された支払いとは異なる支払い方法または口座を使用して処理することができるように、送信された支払いと受信された支払いとに対して別個の設定を設定してもよい。
上記で論じられたように、1つまたは複数の実施形態は、送信者が支払いクレデンシャルを提供することなく、支払い取引を開始することを可能にする。したがって、統合されたメッセージおよび支払いシステムは、ユーザが、機密金融情報を提供する前に、受信者が資金を受信することを確保することを可能にする。たとえば、図5A〜図5Dは、送信者が支払いクレデンシャルの提供を遅延させることを選ぶ図4A〜図4Oに示されるフローに対する代替案を例示する。特に、上記で言及されたように、送信者が、登録された支払い口座に関連付けられていない場合には、ユーザ・インターフェース・マネージャ206は、(図4Fに示されるクレデンシャル・ユーザ・インターフェースと類似した)図5Aに示されるような、送信者が支払いクレデンシャルを登録する(たとえば、上記で詳細に説明されたように支払い情報を提供する)ことを可能にするクレデンシャル・ユーザ・インターフェース434を提示することができる。この時点で、送信者は、完全な支払いクレデンシャルを入力するために必要な時間を有しない、または完全な支払いクレデンシャルを入力するために必要な情報を有しないことがある。代替的に、送信者は、支払いクレデンシャルを提供する前に、受信者が支払いを承認することを確保したいと望むことがある。いずれの場合も、送信者は、支払いクレデンシャル情報を入力するのではなく、「スキップ」要素439を選択することができる。
「スキップ」要素439が選択されると、システム100は、支払い取引を開始するための要求に関連付けられた情報を記憶することができ、取引IDを生成することができる。具体的には、情報を記憶することは、送信者がクレデンシャルを最終的に入力した際に、システム100が、記憶された情報を参照することを可能にする。たとえば、システム100は、送信者および受信者の身元情報、支払い額、ならびに、送信者が情報を再入力することを必要とすることなく、システム100が、送信者による要求に応じて開始された同じ支払い取引の処理を迅速に再開することを可能にする他の情報を記憶することができる。いくつかの例では、システム100は、サーバ・デバイス108において情報を記憶することができる。他の例では、送信者クライアント・デバイス104aが、支払い取引を完了させる際のシステム100による後の使用のために、情報の少なくとも一部を記憶することができる。
この時点で、システム100は、支払い取引の受信者に対して通知を送信することができる。図5Bは、送信者が支払い額を受信者に送信するために支払い取引を開始した後の、受信者クライアント・デバイス400aにおけるメッセージング・インターフェース412aを例示する。1つまたは複数の実施形態では、システム100は、送信者が支払い取引を開始したことを受信者に通知することができる。たとえば、ユーザ・インターフェース・マネージャ206は、支払い額を示し、かつ、送信者が受信者に金銭を送信したいと望んでいることを示す支払いメッセージ432a(たとえば、「ドナルドがあなたに金銭を送信することを望んでいます」)を示すことができる。システム100が送信者からの有効なクレデンシャルを有する支払い額と区別するために、ユーザ・インターフェース・マネージャ206は、「保留中...」、または、支払い取引が保留中のままであることを受信者に知らせるための別の信号を含むことができる。例示するために、ユーザ・インターフェース・マネージャ206は、送信者と受信者との間で交換される他のメッセージと共に、支払い額を会話スレッド414a内に挿入することができる。加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、別の様式で(たとえば、受信者クライアント・デバイス400aの通知エリア内で通知を提供することによって)支払い額を提示することができる。
加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、メッセージング・インターフェース412aの上に、またはメッセージング・インターフェース412a内に、送信者が支払い取引を開始したことを示すドロップダウン・オーバーレイ(dropdown overlay)450aまたは他の通知を示すことができる。一例では、ドロップダウン・オーバーレイ450aは、確認要求を受信者に提供して、(すなわち、ドロップダウン・オーバーレイ450a、または承認要素452などのドロップダウン・オーバーレイ450a内の要素を選択することによって)受信者が支払い取引を承認することを可能にすることができる。1つまたは複数の実施形態では、受信者が、支払いを承認することを選択した場合、システム100、クライアント・アプリケーション202は、ネットワーク・アプリケーション204に対して、登録された支払いクレデンシャルを受信者が有しているかを決定するための要求を送信することができる。受信者が、登録された支払い口座に関連付けられていない場合には、ユーザ・インターフェース・マネージャ206は、受信者が支払いクレデンシャルを登録する(たとえば、上記で詳細に説明されたように支払い情報を提供する)ことを可能にするクレデンシャル・ユーザ・インターフェース434を提示することができる。
受信者が支払いクレデンシャルを有する場合、システムは、支払い取引の送信者に対して、受信者が支払いを承認したことを送信者に知らせる通知を送信することができる。図5Cは、受信者が支払いを承認した後の、送信者クライアント・デバイス400におけるメッセージング・インターフェース412を例示する。たとえば、ユーザ・インターフェース・マネージャ206は、支払い額と、取引がまだ保留中であるという標識(すなわち、「保留中...」または別の信号)とを示す支払いメッセージ432を示すことができる。加えて、または代替的に、ユーザ・インターフェース・マネージャ206は、別の様式で(たとえば、受信者クライアント・デバイス400aの通知エリア内で通知を提供することによって)支払い額を提示することができる。
さらに、ユーザ・インターフェース・マネージャ206は、メッセージング・インターフェース412の上に、またはメッセージング・インターフェース412内に、受信者が支払いを承認しており、送信者が支払いクレデンシャルを提供することが保留中であることを示すドロップダウン・オーバーレイ500または他の通知を示すことができる。一例では、ドロップダウン・オーバーレイ500は、図4Iに示されるように、送信者が支払いクレデンシャルを登録する(たとえば、上記で詳細に説明されたように支払い情報を提供する)ことを可能にするクレデンシャル・ユーザ・インターフェース434を開くために送信者によって選択可能なオプションまたは要素502を提供することができる。この時点から、支払い取引は、上記で概説されたように継続し得る。
代替的に、送信者が、送信者のデバイス104aから離れているか、または他のことに従事している場合、送信者は、この時点では支払いクレデンシャルを提供することができない場合がある。このような場合、ネットワーク・アプリケーション202は、受信者に対して、送信者がまだ支払いクレデンシャルを提供していないことを示す通知を送信することができる。このような通知に応答して、ユーザ・インターフェース・マネージャ206は、図5Dに示されるようなリマインダ・オプション504を受信者に対するメッセージ内で提供することができる。具体的には、リマインダ・オプション504は、受信者が送信者に支払い取引を思い出させることによって、社会的圧力を加えることを可能にする。たとえば、リマインダ・オプション504を選択することは、システム100に、送信者に対して、支払い取引についてクレデンシャルを入力することによって支払い取引を完了させるためのメッセージを送信させることができる。いくつかの例では、送信者に対するメッセージは、送信者クライアント・デバイス104aにおいて、および/または送信者クライアント・デバイス104aにおけるメッセージング・インターフェース412内に、メッセージまたは通知を出現させることができる。加えて、または代替的に、システム100は、受信者からのリマインダ・メッセージに応答して、クレデンシャル・ユーザ・インターフェース434を送信者に示してもよい。さらなる実施形態では、システムは、ソーシャル・ネットワーク投稿を生成し、送信者のアカウントおよび/または保留中の支払いに気付いている受信者のアカウントに投稿することができる。このようなソーシャル・ネットワーク投稿は、送信者に対して、クレデンシャルを提供して取引を完了するように社会的圧力を作り出すことができる。
いくつかの実装形態では、システム100は、受信者がリマインダ・メッセージを悪用することを防止するためのセーフガードを提供することができる。具体的には、受信者がリマインダ・メッセージ504を繰り返し選択する場合、送信者クライアント・デバイス104aにおける急速なおよび/または繰り返されるリマインダは、送信者を困らせることがある。したがって、システム100は、所定の時間後にのみ、受信者が追加のリマインダを送信することを可能にするタイマーを提供することができる。
他の実施形態では、システム100は、さまざまなイベントに応答して、送信者に対してリマインダを自動的に送信することができる。たとえば、システム100は、受信者が支払いを受信するためのクレデンシャルを入力したことの検出に応答して、送信者に対して、クレデンシャルを入力するためのリマインダを自動的に送信することができる。このような例では、システム100は、送信者がクレデンシャルを入力していないこと、および受信者が資金を引き出すことができないことを示す通知を、受信者に対して送信することができる。別の例では、メッセージング・システム100は、前回のリマインダ以降、または何らかの他のイベント(たとえば、支払いを開始するための要求に関連した所定の時間)以降、一定の時間が経過した後、適当な時間にリマインダを送信することができる。追加の例では、メッセージング・システム100は、受信者(または他のユーザ)に関連付けられた1つまたは複数の電子メッセージの分析に基づいた適当な時間に、リマインダを送信することができる。
ネットワーク・アプリケーション204がソーシャル・ネットワーキング・システムを含む例では、ネットワーク・アプリケーション204は、送信者、受信者、または送信者もしくは受信者の「友人」のフィード内に、ソーシャル・ネットワーク投稿を提供することができる。このようなソーシャル・ネットワーク投稿は、送信者から受信者への支払いは開始されたが、送信者が支払いクレデンシャルを提供するまでは保留中であることを示すことができる。したがって、システム100は、支払いクレデンシャルを入力し、支払い取引を完了させるように送信者に促す、社会的圧力または他のプロンプトを適用することができる。
ソーシャル・ネットワーク投稿を提供して、支払いクレデンシャルを入力するように送信者に促すことに加えて、システム100は、ソーシャル・ネットワーク投稿を提供して、支払いを承認し、支払いクレデンシャルを入力するように受信者に促すことができる。またさらに、システム100は、送信者から受信者への支払いを告知するソーシャル・ネットワーク投稿を提供することができる。加えて、システム100は、ユーザが支払いクレデンシャルを提供したことを示すソーシャル・ネットワーク投稿を提供して、友人が今やユーザに支払いを送信するかまたはユーザから支払いを受信することができることを「友人」に通知することができる。本明細書の開示内容に照らして、そのようなソーシャル・ネットワーク投稿は、送信者または受信者のプライバシー設定の影響を受け得ることは理解されるであろう。
送信者が支払い取引を開始することを可能にするための支払いインターフェースを提供することに加えて、システム100は、ユーザが別個のまたは専用のユーザ・インターフェースを開く必要なしに、メッセージング・ユーザ・インターフェース412から直接支払いを送信または開始することを可能にする。以下の説明から明確となるように、このことは、ユーザが会話の流れを中断することなく、支払いを送信または受信することを可能にする。たとえば、クライアント・アプリケーション202は、図6Aに示されるような所定の文字ストリングに基づいて、支払いを推測することができる。具体的には、メッセージ・アナライザ212は、支払い取引に関連付けられた支払いイベントをユーザが実行することを可能にする特別な構文を認識することができる。たとえば、送信者は、(記号などの)所定の文字ストリングを含むメッセージを受信者に送信することができ、メッセージ・アナライザ212は、そのような構文を、支払い取引を開始するための要求として認識することができる。いくつかの例では、システム100は、1人もしくは複数の他のユーザに支払いを要求すること、1人もしくは複数のユーザに支払いを送信すること、支払い取引についての支払い額を設定すること、または支払い取引を確認することを含む所定の文字ストリングに基づいて、支払い取引についての1つまたは複数の動作を実行することができる。
例示するために、送信者および受信者は、考え得る支払い取引についてのメッセージを介して互いに通信することができる。たとえば、図6Aは、コンサート・チケットの支払い期限に関するメッセージを有した通信スレッド414を例示する。たとえば、図5Aに示されるように、受信者は、送信者が受信者に金銭を借りているというリマインダを送信することができる。送信者は、受信者に対して、支払いイベントを示す所定の文字ストリングを含むメッセージ600を送信することができる。送信者が受信者に返信する際、送信者は、送信者が受信者に支払いをする意図があることを示す所定の文字ストリング「$$」を含むメッセージを送信することができる。一例では、メッセージ・アナライザ212は、支払い額と「$$」という文字ストリングの後の数値とが等しいと推測することができ(たとえば、「$$25」は、送信者が受信者に25ドルを支払いたいと望んでいることを意味する)、送信者からの他のいかなる入力もなしに、「$$」という文字ストリングに基づいて、支払い取引を開始/処理することができる。
システム100は、(2つのドル記号のような)典型的には使用されない特別な構文を文字ストリングとして選択することができることは理解されるであろう。1つまたは複数の実施形態では、システム100は、認識された構文を異なる支払いイベント用にユーザがカスタマイズすることを可能にする。具体的には、ユーザは、既存の構文を修正し、既存の構文を除去し、または新たな構文を追加することができる。加えて、または代替的に、ユーザは、特別な構文に関連付けられた既存の支払いイベントを修正し、特別な構文に関連付けられた既存の支払いイベントを除去し、または特別な構文に関連付けられた新たな支払いイベントを追加することができる。したがって、ユーザは、カスタマイズされた支払いイベントとの関連付けのためのカスタマイズされた文字ストリングを認識するように、支払いフローをカスタマイズすることができる。
またさらなる実施形態では、メッセージ入力制御パレットまたはツールバー422の支払い制御部424bは、特別な構文として作用することができる。言い換えれば、ユーザが支払い制御部424bを選択した場合、ユーザ入力ディテクター208は、ユーザが支払いを送信したいと望んでいることを認識することができる。支払いメッセージ・ジェネレータ216は、支払い制御部424bの選択の後に入力された任意の額を支払い額として識別する。
メッセージ・アナライザが、所定の文字ストリングに基づいて支払いイベントを推測した後、システム100は、支払い取引処理を継続することができる。たとえば、送信者が、ファイル上に支払いクレデンシャルを有しない場合、システム100は、送信者に支払いクレデンシャルを求めるための支払いクレデンシャル・インターフェース434を提供することができる。代替的に、送信者が、ファイル上に支払いクレデンシャルをすでに有しており、PINを提供済みである場合、ユーザ・インターフェース・マネージャ206は、PIN確認ユーザ・インターフェースを提示することができる。たとえば、図6Bは、メッセージング・インターフェース412上に、またはメッセージング・インターフェース412内に、送信者が送信者のPINを提供し、送信者が支払いを送信したいと望んでいることを確認することを可能にするPINドロップダウン・オーバーレイ602または他の通知を例示する。
PIN確認ユーザ・インターフェース602は、ユーザが特別な構文に基づいて支払いを送信したいと望んでいることをユーザが確認することを可能にすることは理解されるであろう。したがって、PIN確認処理は、ユーザが特別な構文について忘れてしまい、支払いを誤って送信することを防止することができる。図7Cを参照して以下で解説されるように、ユーザが、PINを使用しないことを選ぶ場合、システム100は、ユーザが支払いを誤って送信することを防止するための別個の支払い確認ユーザ・インターフェースを提供することができる。
送信者が、特別な構文と支払い額とを含むメッセージ600を構成し終え、PINまたは他のものの入力を介して支払いを確認する場合、支払いメッセージ・ジェネレータは、支払いメッセージを生成することができ、この支払いメッセージは、次に、ネットワーク・アプリケーション204へ送信される。支払いメッセージに応答して、ネットワーク・アプリケーションは、支払いとメッセージ600とを処理することができる。たとえば、ネットワーク・アプリケーション204は、メッセージ600を受信者クライアント・デバイス104bに送信して、図6Cに示されるように、対応するメッセージ600aが受信者のメッセージング・インターフェース412b内に提供されることを可能にする。さらに、ネットワーク・アプリケーション204は、資金を受信者に移動することができる。
前述の内容に加えて、図6Aおよび図6Cによって示されるように、ユーザ・インターフェース・マネージャ206は、メッセージ600、600aの1つまたは複数の特性または属性を、それらが支払いを含むことを示すように変更することができる。たとえば、図6Aと図6Cの両方は、メッセージ600、600aの支払い額を目立たせて示している。さらに、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ206は、視覚的に区別された支払い額を、選択可能な要素として構成することができる。送信者が、通信スレッド414から、視覚的に区別された支払い額を選択すると、支払いメッセージ・ジェネレータ216は、送信者が支払いをキャンセルし、支払い額を変更し、または別のやり方で、支払いの1つもしくは複数のパラメータを変更することを可能にする。
送信者が、特別な構文と支払い額とを含むメッセージ600を構成し終え、PINまたは他のものの入力を介して支払いを確認する場合、支払いメッセージ・ジェネレータは、支払いメッセージを生成することができ、この支払いメッセージは、次に、ネットワーク・アプリケーション204へ送信される。支払いメッセージに応答して、ネットワーク・アプリケーションは、支払いとメッセージ600とを処理することができる。たとえば、ネットワーク・アプリケーション204は、メッセージ600を受信者クライアント・デバイス104bに送信して、図6Cに示されるように、対応するメッセージ600aが受信者のメッセージング・インターフェース412b内に提供されることを可能にする。さらに、ネットワーク・アプリケーション204は、資金を受信者に移動することができる。
ユーザが支払い取引を積極的に開始することを可能にすることに加えて、1つまたは複数の実施形態は、支払い取引をインテリジェントに開始し、または支払い取引を開始するようにユーザに促す。たとえば、1つまたは複数の実施形態は、ユーザ間で交換される電子メッセージに基づいて支払いイベントを推測することを伴う。具体的には、1つまたは複数の実施形態は、2人以上のユーザ間で交換される電子メッセージを分析して、この2人以上のユーザに関与する支払いイベントが発生していそうかどうかを決定する。支払いイベントを推測した後、1つまたは複数の実施形態は、推測された支払いイベントに基づいて、ユーザ間の支払い取引を開始するためのオプションを提供する。したがって、1つまたは複数の実施形態は、メッセージ交換の自然な流れを中断させることなく、ユーザ間で交換されるメッセージに基づいて、ユーザが他のユーザとの支払い取引を開始することを可能にする。
たとえば、図7Aは、「ロジャー」(以下、送信者)と「ジョー」(以下、受信者)との間で交換される複数のメッセージを示す通信スレッド414を例示する。図7Aは、受信者が送信者に対して、「やあ、現金が足りなくて、いくらかお金が必要なんだ。」というメッセージを送信したことを例示する。これに応答して、送信者は、「いくらお金が必要なの?」というメッセージを送信した。受信者は、返信として、「支払いをするために約75ドル必要なんだ。」というメッセージ416cを送信した。
メッセージ・アナライザ212は、送信者と受信者との間の送信メッセージおよび受信メッセージを分析することができる。メッセージを分析する際、メッセージング・システム210は、メッセージを、文、単語、フレーズ、文字、および/またはメッセージ・アナライザ212がメッセージの内容を解釈することを可能にする任意のタイプのグループ化に構文解析することができる。具体的には、メッセージ・アナライザ212は、メッセージから支払いイベントを推測することができるように内容を解釈する。たとえば、メッセージ・アナライザ212は、会話を解釈して、送信者と受信者とのうちの一方または両方によって生成されたメッセージに基づいて、受信者が送信者に金銭を要求していると決定することができる。
送信者と受信者との間のメッセージを分析する間に、メッセージ・アナライザ212は、支払いイベントに対応するメッセージ内の自然言語を解釈することができる。具体的には、メッセージは、自然言語を使用して支払い取引を開始しようという送信者または受信者のいずれかによる意図を含むことがある。メッセージ・アナライザ212は、支払い取引を開始および処理するための厳格な所定の一連の動作を実行することによってではなく、自然言語処理を使用して自然言語を解釈して、支払いイベントを決定することができる。例示するために、メッセージ・アナライザ212は、送信者と受信者との間のメッセージから、支払いイベントとして受信者が送信者に75ドルを要求していると決定することができる。
推測された支払いイベントに応答して、ユーザ・インターフェース・マネージャ206は、支払い取引を開始するためのオプションを提供することができる。特に、ユーザ・インターフェース・マネージャ206は、送信者に対して、送信者クライアント・デバイス104aにおけるグラフィカル・ユーザ・インターフェース内のメッセージのうちの1つまたは複数を修正することによって、支払い取引を開始するためのオプションを提供することができる。たとえば、ユーザ・インターフェース・マネージャ206は、受信者のメッセージ416c内の「75ドル」を、支払い開始選択可能な要素700に変換することができる。別の例では、ユーザ・インターフェース・マネージャ206は、メッセージ416c全体を、支払い開始選択可能な要素に変換してもよい。追加の例では、ユーザ・インターフェース・マネージャ206は、送信者が受信者との支払い取引を開始したいかを送信者に質問するための通知(たとえば、ポップアップ・ウィンドウまたは他の画面上要素)を提供してもよい。
いずれの場合も、ユーザ・インターフェース・マネージャ206は、メッセージ416cまたはその一部の1つまたは複数の属性または特性を修正/変更して、支払い開始選択可能な要素700の作成を示すこともできる。たとえば、ユーザ・インターフェース・マネージャ206は、図7Aに示されるように、「75ドル」を目立たせることができる。代替的に、ユーザ・インターフェース・マネージャ206は、下線を引き、フォント・スタイル、色等を変更し、または別のやり方で、支払い開始選択可能な要素700を視覚的に区別することができる。
メッセージ・アナライザ212は、自然言語を解釈することができるので、メッセージ・アナライザ212は、メッセージ内のさまざまなテキストまたは内容に基づいて、支払いイベントを推測することができる。たとえば、受信者が、「75ドル(75 bucks)」の代わりに、「75ドル(75 dollars)」、「$75」、「七十五ドル」などと言った場合、メッセージ・アナライザ212は、その内容を解釈し、意図される支払い取引の額を推測することができる。加えて、メッセージ・アナライザ212は、メッセージから、金銭を支払うのは送信者であり、受信者が金銭を要求していると推測することができる。したがって、メッセージ・アナライザ212は、送信者または受信者がメッセージング・アプリケーション内で取引を開始した場合に支払い取引を迅速に処理するための詳細を推測し、自動入力することができる。
メッセージ・アナライザ212が潜在的な支払いイベントを識別するのを支援するために、システム100は、支払いイベントが起こりそうなことを示す所定の用語またはフレーズのリストを含むことができる。たとえば、支払いイベントが起こり得ることを示すことができるフレーズは、通貨記号(たとえば、$、ユーロ記号)を有した、または通貨記号を有しない額を、単独で含み、または「あなたは私に借りている」、「私はあなたに借りている」、「あなたの負担分は〜です」、「あなたの分は割り勘で〜です」、「私に払って」、「あなたに払います」等などのフレーズを伴って含む。したがって、メッセージ・アナライザ212は、会話の複数のメッセージの内容を使用して、支払いイベントが起こりそうだと推測することができる。たとえば、「45ドル」からなるメッセージは、支払いイベントが起こりそうなことを示すには十分ではないことがある。他方で、「あなたにいくら借りていますか」からなるメッセージが先行する「45ドル」からなるメッセージは、支払いイベントの可能性を示し得る。
前述の内容に加えて、メッセージ・アナライザ212は、機械学習モデルと、支払いイベントを開始したことがある、ソーシャル・ネットワーキング・システムの他のユーザの履歴データとを使用して、支払いイベントの確率を計算することができる。1つまたは複数の実施形態では、メッセージ・アナライザ212は、ユーザについて収集された履歴データ、各ユーザが支払いイベントに参加したかどうか、およびイベントのタイプを使用して、機械学習モデルをトレーニングする。機械学習モデルは、収集されたデータ内のいくつかのデータ点を、予測アルゴリズムを生成するための変数として使用することができる。たとえば、機械学習モデルは、送信もしくは受信されたメッセージ、または第1の一人もしくは複数のユーザが支払いを開始する前に実行した他のアクションを分析することができる。次いで、メッセージ・アナライザ212は、第2のユーザが同じアクションまたは類似のアクションを実行したことがあると認識すると、第2のユーザに、支払いイベントに参加するためのオプションを提供することができる。
1つまたは複数の実施形態では、システム100は、1人または複数のユーザのソーシャル・ネットワーキング・プロファイル、またはシステム100に関連付けられた他のプロファイルを介して取得される内容に基づいて、機械学習モデルをトレーニングするためのトレーニング・セットを生成することができる。たとえば、システム100は、支払い取引を実行したことがある、ソーシャル・ネットワーキング・システムのユーザを識別することができる。次いで、システム100は、そのようなユーザについての情報、たとえば、ロケーション、交換されたメッセージ、チェック・イン、ソーシャル・ネットワーク投稿等を、支払い取引を行う前に収集することができる。したがって、システムは、通信データ、ソーシャル・ネットワーク・データ、および、ユーザを識別し、またはユーザに関連付けられた他の情報を収集することができる。例示するために、システム100は、ユーザ・プロファイルから、支払い取引の前の特定の時間期間(たとえば、イベントの前の1週間または1か月)についてのデータを取り出すことができる。別の例示的な例では、時間期間は、イベントに基づいて変えることができる。
1つまたは複数の実施形態では、システム100は、対応する日付に基づいて、データを重み付けすることができる。たとえば、システム100は、4月1日における交際ステータスの変更が、検出された支払い取引の信頼できるインジケータではないと決定することができる。システム100は、信頼できないデータをトレーニング・セットから除去することができる。
システム100は、ユーザの通信およびアクションに基づいて、ならびにトレーニング・セットにも基づいて、ユーザが支払いイベントに参加する確率を計算することができる。システム100は、ユーザに関連付けられた電子メッセージ内の単語、メッセージの長さ、ユーザの通信の頻度、行われたアクションのタイプ等を含むいくつかの要因に基づいて、機械学習モデルをトレーニングすることができる。このような実施形態では、システム100は、識別された単語の高い発生率を通信データが示すユーザに対して、支払いイベントの高い確率を割り当てることができる。機械学習モデルは、ユーザが支払いイベントに参加する確率または支払いイベントが発生する確率を計算するための予測アルゴリズムを生成することができる。
ユーザの確率スコアが、提供される閾値スコアを上回る場合、システム100は、支払いイベントが発生した、発生している、または発生しそうであると予測することができる。この決定に基づいて、システム100は、ユーザに、上記で論じられたように、支払い取引を開始するためのオプションを提供することができる。特に、システム100は、メッセージの一部分を、支払い開始選択可能な要素700に変換することができる。別の例では、ユーザ・インターフェース・マネージャ206は、メッセージ416c全体を、支払い開始選択可能な要素に変換してもよい。追加の例では、ユーザ・インターフェース・マネージャ206は、送信者が受信者との支払い取引を開始したいかを送信者に質問するための通知(たとえば、ポップアップ・ウィンドウまたは他の画面上要素)を提供してもよい。
ユーザ入力ディテクター208が、支払い開始選択可能な要素700のユーザ選択を検出した後、システム100は、上記で説明されたような支払い取引処理を継続することができる。たとえば、送信者が、ファイル上に支払いクレデンシャルを有しない場合、システム100は、送信者に支払いクレデンシャルを求めるための支払いクレデンシャル・インターフェース434を提供することができる。代替的に、送信者が、ファイル上に支払いクレデンシャルをすでに有しており、PINを提供済みである場合、ユーザ・インターフェース・マネージャ206は、図7Bに示されるようなPIN確認ユーザ・インターフェース602を提示することができる。PIN確認ユーザ・インターフェース602は、ユーザが推測された支払いイベントに基づいて支払いを送信したいと望んでいることをユーザが確認することを可能にすることは理解されるであろう。
ユーザが、PINを提供済みでない場合、システム100は、図7Cに示されるような支払い確認インターフェース708を提供することができる。特に、支払い確認インターフェース708は、送信者が支払い取引に関連付けられた支払い額を入力または確認すること、および支払い取引に関連付けられた他の詳細を入力または検証することを可能にする。たとえば、支払い確認インターフェース708は、支払いタイプ要素710と、支払い額フィールド712と、支払いソース要素(payment source element)716と、送信確認オプション714と、数字キーパッド438とを含むことができる。いくつかの例では、支払い確認インターフェース708は、図7Cに示されるよりも多くのまたは少ないグラフィカル・コンポーネントおよび/または特徴を含んでもよい。
1つまたは複数の実施形態では、システム100は、送信者と受信者との間のメッセージから推測される情報に基づいて、支払い確認インターフェース708を準備することができる。具体的には、システム100は、支払い確認インターフェース708に対して、分析されたメッセージからできるだけ多くの情報を自動入力して、支払い取引処理をスピードアップさせるのを助けることができる。たとえば、システム100は、メッセージから推測された情報に基づいて、「金銭を要求する」支払いタイプではなく、「金銭を送信する」支払いタイプを自動的に選択することができる。加えて、システム100は、支払い額フィールド712に対して、メッセージから推測された支払い額を自動入力することができる。いくつかの実施形態では、送信者は、たとえば、数字キーパッド438を使用することによって、支払い確認インターフェース708内に自動入力される情報のうちの任意のもの(たとえば、支払い額、支払いタイプ)を変更することができる。
いくつかの実施形態では、支払い情報は、支払いソース要素716を含むことができる。特に、支払いソース要素716は、送信者が支払い取引を完了させるための支払いソースを入力することを可能にする。たとえば、送信者は、支払い源要素716を選択して、支払い情報(たとえば、クレジット・カード情報、デビット・カード情報、金融口座情報)を入力するための、図4Nに示されるような支払いクレデンシャル・インターフェース434へナビゲートすることができる。
1つまたは複数の実施形態では、システム100は、加えて、または代替的に、受信者に対して、支払い取引を開始するためのオプションを提供することができる。具体的には、システム100は、支払い取引において送信者に金銭を要求するためのオプションを提供することができる。たとえば、システム100は、受信者の通信スレッド内の1つまたは複数のメッセージのテキストまたは他の内容を、選択可能な要素に変換することができる。受信者が、推測された支払いイベントに対応する選択可能なオブジェクトを選択した場合、システム100は、支払い取引を開始して、受信者が資金についての要求を送信者に送信することを可能にすることができる。
上記で説明されたように、システム100は、ユーザのグループ間での支払い取引を促進させることができる。たとえば、システムは、複数の共同ユーザに関与する支払いイベントを推測することに基づいて、支払い取引を開始するためのオプションを提供することができる。システム100は、そのような支払いイベントを、グループ通信セッションにおいて交換されるメッセージ、ソーシャル・ネットワーク投稿、ユーザ間のつながり、ロケーション・データ等に基づいて推測することができる。図8A〜図8Dは、グループ支払いを開始するためのオプションを提供する一例を例示する。
図8Aは、ソーシャル・ネットワークのタイムラインまたは情報フィード800を例示する。情報フィードは、対応するクライアント・デバイスのユーザからの電子メッセージを、システム100内の他のユーザからユーザへの電子メッセージに加えて含むことができる。具体的には、情報フィード800は、電子メッセージの作成者に対するユーザの関係に基づいて、ユーザに関連し得る電子メッセージ(たとえば、ソーシャル・ネットワーク投稿)の蓄積を含むことができる。たとえば、ユーザが、電子メッセージの作成者と予め定義された関係(たとえば、「友人」)を有する場合、システム100内でその作成者によって投稿された電子メッセージは、情報フィード800内に出現し得る。さまざまな例では、情報フィード800内の電子メッセージは、作成者が電子メッセージを投稿した時間に従って、またはシステム100によって決定される重要度ランキング・システムに従って、順序付けられ得る。
1つまたは複数の実施形態では、電子メッセージは、グループ・イベントと関連してシステム100または別のユーザによって生成されるメッセージであり得る。具体的には、電子メッセージは、メッセージング・アプリケーション内の、かつ、グループ・イベントに関連付けられた任意のメッセージであり得る。たとえば、電子メッセージは、ユーザを識別し、かつ、このユーザに関連付けられたイベントを示すメッセージを含むことができる。いくつかの例では、電子メッセージは、イベントに関連付けられた他のユーザを識別することもできる。
1つまたは複数の実施形態では、ユーザは、ソーシャル・ネットワーキング・システムに電子メッセージを投稿することができる。具体的には、ユーザは、グループ・イベントに関連付けられた電子メッセージを、ユーザの情報フィード800に投稿することができる。たとえば、電子メッセージは、共同ユーザをタグ付けして、ユーザがレストランで食事中であることを示すチェック・イン・メッセージ804(たとえば、「ジョン・ドー、ブルータス・ペンドルトン、ジェーン・スミスと一緒にグッド・ダイナーにいます」)であり得る。いくつかの例では、電子メッセージは、システム100の少なくとも1人の他のユーザも、ユーザと共にレストランにいることを示すことができる。
1つまたは複数の実装形態では、システム100は、電子メッセージに関連する任意の情報を使用して、ユーザおよび/またはグループのメンバに加えて、過去、現在または未来のグループ・イベントを識別することができる。たとえば、システム100は、(図8Aの地図806に示されるような)ロケーション情報、レビュー情報、および、システム100内の1つまたは複数の電子メッセージにおけるイベントに関連付けられた他の情報を使用することができる。いくつかの例では、システム100は、ユーザ対話情報、たとえば、電子メッセージに対応するコメントまたは「いいね」に関連付けられた情報などを利用することができる。システム100は、1つまたは複数の電子メッセージに関連付けられた共有データ(たとえば、どのユーザが電子メッセージを他のユーザと共有したか)も利用することができる。
システム100のさまざまな追加実施形態または代替実施形態によれば、システム100は、システム100の1人または複数のユーザに関連付けられたイベントを予測することができる。具体的には、イベントは、コンサート、レストランへの訪問、アミューズメント・パーク訪問、ワーク・アクティビティ、誕生日、子供の誕生、養子縁組、死亡、配偶者の有無の変更、卒業、就職ステータス、年齢、健康状態などを含むことができる。1つまたは複数の実施形態では、システム100は、イベントに関連付けられたコストまたはギフトが存在するかどうかに基づいて、イベントを決定する。たとえば、システム100は、ソーシャル・ネットワーク・データに基づいて、ユーザが誕生日を迎えようとしており、ウィッシュ・リスト上に製品があることを識別することができる。次いで、システム100は、ユーザの誕生日用に、ユーザのために、その製品について共同出資したいと望み得るユーザの友人を識別することができる。次いで、システム100は、支払い要求通知を送信することができる。このような実施形態では、ユーザ(すなわち、誕生日を迎える人物)は、支払い要求通知を受信しなくてもよく、実際には、複数のユーザがギフトに共同出資することを可能にする支払い要求通知をシステムが友人達に送信したと決定することを防止され得る。システム100は、ユーザと各友人との間の関係、友人間の関係(すなわち、友人達が家族の一員であるかどうか)に基づいて、ユーザのための誕生日パーティへの返事(RSVP)に基づいて、ロケーション情報等に基づいて、支払い要求通知を提供すべき友人を選択することができる。
システム100は、機械学習モデルと、システム100によって定義される、イベントを体験したことがあるソーシャル・ネットワーキング・システムの他のユーザの履歴データとを使用して、ユーザがイベントを経験する確率を計算することができる。1つまたは複数の実施形態では、システム100は、ユーザについて収集された履歴データ、各ユーザがイベント変更を体験したかどうか、およびイベントのタイプを使用して、機械学習モデルをトレーニングする。機械学習モデルは、収集されたデータ内のいくつかのデータ点を、予測アルゴリズムを生成するための変数として使用することができる。たとえば、「おめでとう」などの単語の使用、ユーザに対して贈られる仮想ギフトの存在、ユーザのプロファイルを他のユーザがクリックした回数、住所もしくは姓の変更などの他のプロファイル情報の変更、ユーザ自身によって投稿された電子メッセージおよび/または他のユーザの情報フィード等である。
1つまたは複数の実施形態では、システム100は、1人または複数のユーザのソーシャル・ネットワーキング・プロファイル、またはシステム100に関連付けられた他のプロファイルを介して取得される内容に基づいて、機械学習モデルをトレーニングするためのトレーニング・セットを生成することができる。たとえば、システム100は、配偶者の有無情報、就職情報、自宅住所情報、年齢情報、通信データ、ソーシャル・ネットワーク・データ、および、ユーザを識別し、またはユーザに関連付けられた他の情報を収集することができる。例示するために、システム100は、ユーザ・プロファイルから、記録されたイベントの前の特定の時間期間(たとえば、イベントの前の1週間または1か月)についてのデータを取り出すことができる。別の例示的な例では、時間期間はイベントに基づいて変化し得る。
1つまたは複数の実施形態では、システム100は、対応する日付に基づいてイベントを重み付けすることができる。たとえば、システム100は、4月1日における交際ステータスの変更が、検出されたイベントの信頼できるインジケータではないと決定することができる。システム100は、信頼できないデータをトレーニング・セットから除去することができる。
システム100は、システム100内のユーザの通信およびアクションに基づいて、ならびにトレーニング・セットにも基づいて、ユーザがイベントを経験する確率を計算することができる。システム100は、ユーザに関連付けられた電子メッセージ内の単語、メッセージの長さ、ユーザの通信の頻度、行われたアクションのタイプ等を含むいくつかの要因に基づいて、機械学習モデルをトレーニングすることができる。機械学習モデルは、ユーザが特定のイベントを経験する確率を計算するための予測アルゴリズムを生成することができる。ユーザの確率スコアが、提供される閾値スコアを上回る場合、システム100は、ユーザがイベントを経験していると予測することができる。
システム100は、ユーザの履歴データを、他のユーザの履歴データに基づいてユーザが特定のイベントを経験するかどうかを示す確率スコアを決定するための入力として使用することができる。一例では、ユーザの確率スコアが閾値スコアよりも高い場合、システム100は、ユーザをイベントを経験しているものとして分類することができる。別の例では、システム100は、システム100の2人以上のユーザ間で交換される電子メッセージにおいて、イベントを示す文字、単語、またはフレーズを識別することができる。このような実施形態では、システム100は、識別された単語の高い発生率を通信データが示すユーザに対して、イベントの高い確率を割り当てることができる。
上記で説明されたように、機械学習モデルを使用して、システム100は、システム100の1人または複数のユーザに関連付けられた1つまたは複数の電子メッセージから、イベントを推測することができる。システム100は、イベントに関連付けられたユーザおよび1人または複数のメンバも推測することができる。
グループ・イベントの推測に応答して、システム100は、ユーザに対して、ユーザがグループの1人または複数の他のメンバと支払い取引を開始することを可能にするためのオプションを提供することができる。たとえば、システム100は、図8Aに示されるように、システム100がイベントを推測した電子メッセージ内にオプションを提供することができる。例示するために、システム100は、電子メッセージのテキスト・フィールド内に支払い受取要素808(たとえば、「支払いを受け取る」)を提供することができる。いくつかの例では、オプションは、電子メッセージ内にインライン化され得る。代替的に、システム100は、プッシュ通知、または支払い取引を開始させるためのプロンプトを有した他の電子メッセージを提供してもよい。
1つまたは複数の実施形態では、システム100は、ユーザがグループの1人または複数のメンバとの支払い取引を開始するためのオプションを選択したことを検出し、図8Bに示されるように、メッセージング・アプリケーションにおいて支払い要求インターフェース810を提示することができる。支払い要求インターフェース810は、推測されたイベントに従って、グループの1人または複数のメンバに金銭を要求するためのインターフェースをユーザに対して提供することができる。たとえば、支払い要求インターフェース810は、支払いイベントに関連付けられた額812を提示することができる。額812は、メッセージ・アナライザ212によって分析された内容に基づいて、自動入力され得る。代替的に、ユーザは、合計額を手動で入力してもよい。
1つまたは複数の追加実施形態または代替実施形態では、システム100は、グループ・イベントに関連付けられた1つまたは複数のメッセージから、コストを推測することができる。具体的には、システム100は、1つまたは複数の電子メッセージと、このメッセージに関連付けられた情報とを分析して、コストを決定することができる。たとえば、システム100は、サード・パーティ・サイトからの電子メッセージに含まれるコンテンツに基づいて、イベントのコストを取得することができる。例示するために、グループ・イベントがコンサートである場合、システム100は、コンサートのチケットを購入するためにウェブサイトを訪問し、各チケットのコストにグループ内のユーザの数を乗算することに基づいて、チケットのコストを決定することができる。ユーザは、合計コスト812を手動で変更することによって、および/またはグループ・メンバのリスト内のユーザの数を修正することによって、推測された合計コストを修正することができる。
支払い要求インターフェース810は、支払いイベントに関連付けられるものとして識別されたユーザのリストをさらに含むことができる。たとえば、図8Bは、投稿804においてタグ付けされたユーザ(814a〜814c)のリストを含む。たとえば、システム100は、イベントに関連付けられた1つもしくは複数の電子メッセージ、および/またはシステム100のユーザ間の関係に基づいて、グループのメンバを推測することができる。例示するために、システム100は、過去の支払い取引(たとえば、誰がユーザとの過去の取引に関与したか)、ユーザとメンバとの間の関係のレベル(たとえば、どのくらい親しい関係であるか、または、その関係が「高い係数の」関係かどうか)、誰がユーザと一緒に現在のロケーションにチェック・インしたか、誰が現在の時刻に物理的にユーザの近くにいるか、および誰がユーザの友人と関係を有するか、1つまたは複数の電子メッセージにおいてユーザが識別されるかどうか等に基づいて、提案を提示することができる。システム100は、ユーザがグループのメンバを確認することができるように、グループの提案されるメンバを支払い要求インターフェース810内に提示することができる。
一例では、ユーザは、キャンセル・オプション816または友人追加オプション818を選択することによって、メンバのリストにユーザを追加またはメンバのリストからユーザを除去することで、提案されたリストを修正することができる。メンバのうちの1人もしくは複数がグループに所属していない場合、またはユーザがグループの1人もしくは複数のメンバから支払いを受け取らないと決めた場合、リストを修正し得る。したがって、ユーザは、潜在的には、提案されたメンバの各々を除去して、支払い要求インターフェース810内に当初は示されなかったメンバのリストを作成することができる。
支払い要求インターフェース810は、オプション818aを選択することによって、合計額812を均等に分割するための機能をユーザに提供することができる。加えて、支払い要求インターフェース810は、カスタム・オプション818bを選択することによって、カスタム方式で合計額812を分割するための機能をユーザに提供することができる。カスタム・オプション818bが選択されると、ユーザ・インターフェース・マネージャ206は、図8Cに示されるような、カスタム要求インターフェース820を提供することができる。カスタム要求インターフェース820において、ユーザは、ユーザの各々に対して個別にカスタム要求額822を入力することができる。たとえば、ユーザは、複数のユーザがそのユーザに何を借りているのかに基づいて、または何らかの他の基準に基づいて、各個別のユーザについての額を入力することができる。例示するために、イベントが、ユーザが夕食代を支払った夕食イベントに対応する場合、ユーザは、各ユーザの食事のコストに対応するカスタム支払い額822を、各ユーザについて入力することができる。
支払いが確認されると、支払いメッセージ・ジェネレータ216は、支払いメッセージを準備し、ネットワーク・アプリケーション204に送信することができる。支払いメッセージは、支払い要求インターフェース810および/またはカスタム要求インターフェース820において提供される情報、たとえば、ユーザの各々の身元、およびユーザの各々に対して送信すべき支払い額などを含み得る。代替的に、支払いメッセージ・ジェネレータ216は、各ユーザに対する個別の支払いメッセージを準備し、要求内に含めて送信することができる。
ネットワーク・アプリケーション204は、各ユーザについての支払い要求を処理することができる。特に、ネットワーク・アプリケーション204は、各ユーザに対して、支払い要求通知を送信することができる。支払い要求通知は、ユーザに関連付けられた1つまたは複数のクライアント・デバイスに対して送信されたプッシュ通知を含み得る。通知を受信すると、クライアント・アプリケーション202は、支払い要求通知を提示することができる。たとえば、ユーザ・インターフェース・マネージャ206は、通知制御部842上に通知インジケータ840を提供することができる。通知インジケータ840は、受信された通知をユーザに知らせることができる。
通知インジケータ840が選択されると、ユーザ・インターフェース・マネージャ206は、通知インターフェース844を提供することができる。通知インターフェース844は、ユーザ・クライアント・デバイス400cについて受信された複数の通知を表示することができる。一例では、通知インターフェース844は、図8Dに示されるように、ユーザについての通知のリストの最上部において、支払い要求通知846を提示する。支払い要求通知846は選択可能な要素848を含んでもよく、または、支払い要求通知846全体を選択可能な要素としてもよい。システムは、送信者が受信者に支払い取引を思い出させることによって社会的圧力を加えることを可能にするためのオプションも提供することができる。たとえば、(上記で説明されたリマインダ・オプション504に類似した)リマインダ・オプションを選択することは、システム100に、支払い取引のためのクレデンシャルを入力することによって支払い取引を完了させるためのメッセージを受信者に対して送信させることができる。いくつかの例では、受信者へのメッセージは、送信者クライアント・デバイス104aにおいて、および/または送信者クライアント・デバイス104aにおけるメッセージング・インターフェース412内に、メッセージまたは通知を出現させ得る。加えて、または代替的に、システム100は、受信者からのリマインダ・メッセージに応答して、クレデンシャル・ユーザ・インターフェース434を受信者に提示することができる。さらなる実施形態では、システムは、ソーシャル・ネットワーク投稿を生成し、送信者のアカウントおよび/または保留中の支払いに気付いている受信者のアカウントに投稿することができる。このようなソーシャル・ネットワーク投稿は、受信者に対して、クレデンシャルを提供して取引を完了するように社会的圧力を作り出すことができる。
ユーザ・インターフェース・マネージャ206は、ユーザが通知インターフェース844内で支払い要求通知846を選択すると、図8Eに示され、かつ、図7Cに関連して上記で説明されたような支払い確認インターフェース708を提供することができる。代替的に、ユーザ・インターフェース・マネージャ206は、図6Bに関連して上記で説明されたようなPIN確認ユーザ・インターフェースを提供してもよい。いずれの場合も、PIN確認ユーザ・インターフェースまたは支払い確認インターフェース708は、ユーザが支払いを確認することを可能にする。これに応答して、クライアント・アプリケーションは、ネットワーク・アプリケーション204に対して、ネットワーク・アプリケーション204に上記で説明されたような支払い取引を処理させる支払いメッセージを送信することができる。
1つまたは複数の実施形態では、ユーザは、グループの共同ユーザからの受け取りの後に、グループ・イベントに関連付けられた合計コストを支払うことができる。たとえば、ユーザは、グループ・イベントに関連付けられたベンダー(たとえば、レストラン)との支払い取引に入ることができる。ユーザは、システム100を使用して、ベンダーとの支払い取引に入ってもよい。
追加の実装形態または代替実装形態では、ユーザが複数のユーザから別個の取引において支払いを受け取ることを必要とするのではなく、ベンダーが複数のユーザの各々から支払いを直接受け取ることができるように、ユーザは、ベンダーおよびグループ・ユーザとの単一の支払い取引を開始することができる。具体的には、システム100は、ベンダーからの入力に基づいて、グループ・イベントを推測することができる。このような実施形態では、ベンダーが(たとえば、レストランでの請求書を分割する場合の)受信者であるが、ユーザがグループ・ユーザ、支払い額、および支払い分割を確認する多対一の取引において、ユーザは、グループについての支払い取引をまとめて編成することができる。ユーザがこのような支払い取引を編成することを可能にすることは、グループとベンダーとの間の支払い取引を単純化することができる。
以前に説明されたように、システム100は、電子メッセージにおける自然言語を分析することによって、支払いイベントを推測することができる。システム100は、グループ支払いイベントも推測することができる。具体的には、システム100は、図9Aに示されるように、ユーザの電子メッセージ(たとえば情報フィールド900内のステータス・メッセージ800)、ならびに、この電子メッセージに関連付けられたコメント902および「いいね」906から、グループ・イベントを推測することができる。1つまたは複数の例では、ユーザは、自然言語を使用して、ユーザが将来のイベントに行くことを示し得る。例示するために、(システム100によってユーザとして識別される)ユーザが、「パロ・アルトでのオールド・ウィザード・パペット・コンサートに行く予定...誰か一緒に行く?」と発言する場合、システム100は、自然言語を分析して、将来のイベントがパロ・アルトに位置する特定のコンサートであると決定することができる。
加えて、システム100は、ステータス・メッセージ904(または、他の電子メッセージ)に関連付けられたコメント902および「いいね」906に基づいて、1人または複数の追加のユーザがユーザと一緒にコンサートに参加すると決定することができる。具体的には、システム100は、ステータス・メッセージ904に関連付けられたコメント902の内容を分析して、904に対してコメントしているユーザのうちの1人または複数がグループ・イベントに関連付けられたグループのユーザであるかどうかを判定することができる。たとえば、あるユーザが、コンサートについてのステータス・メッセージ904への返信として、「ショーはとても良さそうだね、僕行く!」とコメントしている場合、システム100は、そのユーザもコンサートに行く予定であり、グループのユーザであると決定することができる。別の例では、システム100は、ステータス・メッセージ904に対する「いいね」906を分析して、対応するユーザがグループのユーザであるかどうかを決定することができる。例示するために、システム100は、ユーザを識別し、識別されたユーザに関連付けられた電子メッセージを分析して、そのユーザがグループのユーザであるかどうかを決定することができる。
以前に論じられたように、システム100は、ユーザがグループのユーザから支払いを受け取るために支払い取引を開始するための支払い受取オプション908を提供することができる。オプション908が選択されると、システム100は、図9Bに示されるように、かつ、図8Bに関係して上記で説明されたように、ユーザ(814c、814d、814e)のリストを含む支払い要求インターフェース810を提示することができる。ユーザは、ユーザのリストを修正して、リストに挙げられたユーザよりも多くのユーザ、少ないユーザ、または異なるユーザを含めてもよい。
1つまたは複数の実施形態では、ユーザは、合計コスト812を均等に分割することを選択することができる。具体的には、合計コスト812を均等に分割することを選択することは、システム100に、合計コスト812と、ユーザのリスト内のユーザの数とに基づいて、要求される支払い額を自動的に分割させ得る。たとえば、システム100は、合計コスト812を(ユーザを含む)ユーザの数で除算して、ユーザに要求する支払い額を取得することができる。グループの詳細(たとえば、ユーザおよび支払い分割)を確認した後、ユーザは、支払い要求インターフェース810からユーザの各々に対して支払い要求を送信することができる。この後、支払い要求プロセスは、図8A〜図8Eに関係して上記で説明されたように進行し得る。
図1〜図9B、対応するテキスト、および例は、統合された電子支払いおよびメッセージング・システムを使用して支払いを送信および受信するための複数の異なるシステムおよびデバイスを提供する。前述の内容に加えて、実施形態は、特定の結果を達成するための方法における動作および工程を含むフローチャートの観点から説明され得る。たとえば、図12〜図19は、1つまたは複数の実施形態による例示的な方法のフローチャートを例示する。
図10は、支払いイベントの推測に基づいて支払い取引を開始する方法1000のフロー・チャートを例示する。方法1000は、電子メッセージを分析する動作1002を含む。具体的には、動作1002は、少なくとも1つのプロセッサによって、ユーザと1人または複数の共同ユーザとの間で交換される1つまたは複数の電子メッセージを分析することを伴う。一例では、動作1002は、ユーザと1人または複数の共同ユーザとに関与するメッセージング会話における電子メッセージを分析することを伴い得る。さらに、動作1002は、複数のメッセージのテキストを構文解析して、1つまたは複数のフレーズまたは用語を識別することを伴い得る。
方法1000は、支払いイベントを推測する動作1004も含む。特に、動作1004は、ユーザと1人または複数の共同ユーザとの間で交換される1つまたは複数の電子メッセージの分析に基づいて、支払いイベントを推測することを伴う。動作1004は、1つまたは複数の電子メッセージから、支払いイベントを示す自然言語フレーズを識別することを伴う。たとえば、動作1004は、自然言語処理技術を利用して、ユーザと1人または複数の共同ユーザとの間で交換されるメッセージにおける自然言語から支払いイベントを推測することを伴い得る。一例では、動作1004は、自然言語技術を使用して支払い取引を開始したいという要望を推測することを伴い得る。
例示するために、動作1004は、ユーザが1人または複数の共同ユーザに金銭を送信したい、または借りたいと望んでいることを示す言語を識別することも伴い得る。いくつかの例では、自然言語フレーズは、少なくとも1つの所定のフレーズ、文字ストリング、またはシンボルを含むことができる。一例では、シンボルは、1つまたは複数のドル記号を含み得る。一例では、自然言語フレーズは、数字を含み得る。一例では、動作1004は、ユーザから1人または複数の共同ユーザへの電子メッセージ(たとえばインスタント・メッセージ)において、ユーザが支払い額を1人または複数の共同ユーザに送信するために支払い取引を開始したいと望んでいることを示す、支払い額が後に続く所定のシンボル(たとえば、「$$25」)を検出することを伴い得る。
加えて、方法1000は、支払い取引を開始する動作1006を含む。具体的には、動作1006は、少なくとも1つのプロセッサによって、支払いイベントに基づいて支払い取引を開始することを伴う。動作1006は、たとえば、自然言語フレーズとからめて選択可能なオブジェクトを作成することによって、支払い取引を開始するためのオプションを提供することを伴い得る。
一例では、動作1006は、自然言語フレーズの少なくとも一部分を選択可能にすることを含むことができる。例示するために、動作1006は、識別された単語、フレーズ、または文字のグループを(たとえば、目立たせることによって、下線を引くことによって、色を付けることによって、または別のやり方で、その外観を修正することによって)修正して、その単語、フレーズ、または文字のグループが、ユーザと1人または複数の共同ユーザとの間での支払い取引を開始するために選択可能であることを示すことを伴い得る。
動作1006は、加えて、または代替的に、ユーザに確認要求を提供することを伴い得る。一例では、確認要求を提供することは、選択可能なオブジェクトの選択の検出に応答して、かつ、支払い取引を開始する前に、確認要求を提供することを伴い得る。動作1006は、1人または複数の共同ユーザに支払いを要求するためのオプションをユーザに提供することも伴い得る。
動作1006は、加えて、支払い額が後に続く所定のシンボルが検出されたときに、さらなるユーザ対話なしに、ユーザから1人または複数の共同ユーザに支払い額を移動するための要求を送信することを伴い得る。一例では、支払い額を移動するための要求を送信することは、ユーザから1人または複数の共同ユーザへの電子メッセージにおける所定のシンボルおよび支払い額の検出に応答して、1人または複数の共同ユーザに支払い額を送信することを伴う。
動作1006の一部として、または追加の動作として、方法1000は、少なくとも1つのプロセッサによって、ユーザによる選択可能なオブジェクトの選択を検出し、その選択の検出に応答して、支払い取引を開始することを含むことができる。いくつかの例では、ユーザによる選択可能なオブジェクトの選択を検出することは、タッチ入力、カーソル入力、音声入力、または、選択可能なオブジェクトを選択するためのユーザによる他のタイプの入力を検出することを伴い得る。1つまたは複数の例では、支払い取引を開始することは、1つまたは複数の電子メッセージから推測された支払い額についての、1人または複数の共同ユーザとの取引を完了させるための要求をユーザに提示することを伴い得る。
図11は、支払いイベントの推測に基づいて支払い取引を開始する方法1100における一連の動作のフローチャートを例示する。方法は、電子メッセージを分析する動作1102を含む。具体的には、動作1102は、少なくとも1つのプロセッサによって、ユーザと1人または複数の共同ユーザとの間で交換される1つまたは複数の電子メッセージを分析することを伴う。動作1102は、1つまたは複数の電子メッセージにおける自然言語コンテンツを識別することを伴い得る。自然言語コンテンツを識別することは、1つまたは複数の電子メッセージを複数の論理構成要素に構文解析することを含むことができ、このことは、1つまたは複数の電子メッセージを、文字、単語、およびフレーズに構文解析することをさらに伴い得る。
方法1100は、支払いイベントを推測する動作1104を含む。特に、動作は、ユーザと1人または複数の共同ユーザとの間で交換される1つまたは複数の電子メッセージの分析に基づいて、支払いイベントを推測することを伴う。動作1104は、1つまたは複数の電子メッセージから、自然言語コンテンツからの支払いイベントを識別することを伴い得る。支払いイベントを識別することは、自然言語コンテンツにおいて、自然言語処理を使用して、1人または複数の共同ユーザへの支払いの要求を識別することを伴い得る。支払いイベントを識別することは、代替的に、自然言語コンテンツにおいて、自然言語処理を使用して、1人または複数の共同ユーザに支払いを送信するための要求を識別することを伴い得る。
加えて、方法1100は、支払いイベントに関連付けられたコンテンツを識別する動作1106を含む。具体的には、動作1106は、ユーザと1人または複数の共同ユーザとの間で交換される1つまたは複数の電子メッセージにおいて、支払いイベントに関連付けられたコンテンツを識別することを伴う。たとえば、動作1106は、ユーザと1人または複数の共同ユーザとの間で支払い取引を開始したいという要望を示すテキストを識別することを伴い得る。例示するために、動作1106は、1つまたは複数のメッセージからの文字、単語、および/またはフレーズの分析に基づいて、支払い取引を開始したいというユーザの意図を推測することを伴い得る。加えて、または代替的に、動作1106は、1つまたは複数の電子メッセージにおいて支払い額を識別することを伴い得る。
方法1100は、コンテンツを、選択可能なオブジェクトに変換する動作1108も含む。より具体的には、動作1108は、少なくとも1つのプロセッサによって、コンテンツを、支払いイベントに基づいて支払い取引を開始するための選択可能なオブジェクトに変換することを伴う。たとえば、動作1108は、支払い取引を開始したいという要望を示すテキストの少なくとも一部分を、選択可能なオブジェクトに変換することを伴い得る。例示するために、動作1108は、単語、フレーズ、シンボル、または支払い額を、選択可能なオブジェクトに変換することを伴い得る。追加の例また代替例では、動作1108は、1つまたは複数の電子メッセージにおける識別されたコンテンツを使用して、識別されたコンテンツとからめて新たなテキストまたは選択可能なオブジェクトを追加することを伴う。
動作1108の一部として、または追加の動作として、方法1100は、1つまたは複数の電子メッセージにおいて所定の文字ストリングを識別し、その所定の文字ストリングに基づいて、支払い取引に関連付けられた動作を実行することを含むことができる。たとえば、所定の文字ストリングを識別することは、支払いイベントについての特定の動作に関連付けられた特定の構文を含むシンボル、文字、または文字のグループを識別することを含むことができる。特定の構文は、シンボル、文字、または文字のグループの所定の組み合わせおよび/または順序を含むことができる。一例では、動作を実行することは、特定の構文を含む所定の文字ストリングを識別したときに、その動作を実行することを含むことができる。
図12は、ユーザのグループ間での支払いを促進する方法1200における一連の動作のフローチャートを例示する。方法1200は、電子メッセージを分析する動作1202を含む。具体的には、動作1202は、少なくとも1つのプロセッサによって、1つまたは複数の電子メッセージを分析することを伴う。一例では、1つまたは複数の電子メッセージは、電子メッセージング・セッション、1つまたは複数のソーシャル・ネットワーク投稿、または他の電子メッセージにおいて交換される1つまたは複数の電子メッセージを含み得る。一例では、電子メッセージは、1人または複数の共同ユーザに対応する1つまたは複数のデバイスによって生成されるその1つまたは複数のデバイスによって定期的に送信されるロケーション情報を含むデータを含むことができる。
方法1200は、支払いイベントを識別する動作1204も含む。特に、動作1204は、1つまたは複数の電子メッセージの分析に基づいて、支払いイベントを識別することを伴う。さまざまな例では、支払いイベントは、過去のイベント、現在発生しているイベント、または将来のイベントであってもよい。
動作1204は、1つまたは複数の電子メッセージから、支払いイベントを示す自然言語フレーズを識別することを伴い得る。動作1204は、加えて、または代替的に、共同ユーザについてのロケーション情報を識別することを伴い得る。ロケーション情報を識別することは、1つもしくは複数の電子メッセージに基づいて、および/または共同ユーザのうちの1人もしくは複数に関連付けられた電子デバイスから取得されるロケーション情報に基づいて、ロケーション情報を識別することを伴い得る。
加えて、方法1200は、支払いイベントに関連付けられた共同ユーザを識別する動作1206を含む。一例では、動作1206は、1つまたは複数の電子メッセージが共同ユーザに対応する識別子を含むと決定することを伴い得る。たとえば、動作1206は、支払いイベントを識別するために使用されたロケーション情報に基づいて、共同ユーザを識別することを伴い得る。いくつかの例では、動作1206は、共同ユーザ間で確立された関係、共同ユーザ間での過去の対話、共同ユーザの互いに対する近接性および/もしくは具体的なロケーションに対する近接性、または共同ユーザもしくは支払いイベントについての他の情報に基づいて、共同ユーザを識別することも伴い得る。
方法1200は、支払いを要求するためのオプションを提供する動作1208も含む。具体的には、動作1208は、共同ユーザのうちのあるユーザに対して、少なくとも1つのプロセッサによって、共同ユーザに支払いを要求するためのオプションを提供することを伴う。一例では、動作1208は、このオプションを、共同ユーザ間で交換されるメッセージ内で提示することを伴い得る。別の例では、動作1208は、このオプションを、ユーザによるソーシャル・ネットワーク投稿内で提示することを伴い得る。一例では、動作1208は、1つまたは複数の電子メッセージ内のコンテンツを修正して、支払いを要求するためのオプションに関連付けられた選択可能なオブジェクトを作成することを伴い得る。
動作1208の一部として、または追加の動作として、方法1200は、1つまたは複数の電子メッセージから支払い額を識別し、共同ユーザに支払いを要求するためのオプションにおいて、その支払い額を提供することを含むことができる。加えて、方法1200は、支払い額を共同ユーザの数で除算し、この除算された支払い額を、共同ユーザの各々に対する別個の支払い要求において提供することを含むことができる。たとえば、支払い額を除算することは、支払いイベントに関連付けられた共同ユーザの数を計算し、合計支払い額を共同ユーザの計算された数で除算することを含むことができる。一例では、共同ユーザの各々に対する別個の支払い要求において、除算された支払い額を提供することは、共同ユーザの各々の識別子と、除算された支払い額とを含む支払い要求を生成することを含む。
図13は、共同ユーザのグループ間での支払いを促進する方法1300における一連の動作のフローチャートを例示する。方法は、電子メッセージを分析する動作1302を含む。具体的には、動作1302は、少なくとも1つのプロセッサによって、1つまたは複数の電子メッセージを分析することを伴う。一例では、1つまたは複数の電子メッセージは、共同ユーザに対応する1つまたは複数の情報フィード内の1つまたは複数の電子メッセージを含むことができる。別の例では、1つまたは複数の電子メッセージは、共同ユーザのうちの少なくとも2人の間で交換される1つまたは複数の電子メッセージを含むことができる。一例では、電子メッセージは、1人または複数の共同ユーザに対応する1つまたは複数のデバイスによって生成され、且つその1つまたは複数のデバイスによって定期的に送信されるロケーション情報を含むデータを含むことができる。
方法1300は、支払いイベントを識別する動作1304も含む。特に、動作1304は、1つまたは複数の電子メッセージの分析に基づいて、支払いイベントを識別することを伴う。一例では、動作1304は、1つまたは複数の電子メッセージから、イベントを示す自然言語フレーズを識別することを伴い得る。代替例では、動作1304は、共同ユーザのロケーション情報を識別することを伴い得る。いくつかの例では、ロケーション情報を識別することは、共同ユーザのうちの1人または複数に関連付けられた電子メッセージからロケーション情報を識別することを含む。他の例では、ロケーション情報を識別することは、共同ユーザのうちの1人または複数に対応する電子デバイスからロケーション情報を識別することを含む。
方法1300は、支払いイベントに関連付けられた共同ユーザを識別する動作1306をさらに含む。一例では、動作1306は、1つまたは複数の電子メッセージの分析に基づいて、イベントに関連付けられた共同ユーザを識別することを伴い得る。一例では、動作1306は、共同ユーザのうちの1人または複数に対応する電子デバイスによって生成される電子メッセージに基づいて、共同ユーザを識別することを伴い得る。例示するために、動作1306は、共同ユーザのうちの1人または複数に対応する電子デバイスのロケーションを検出し、特定のロケーションに対するその共同ユーザの近接性に基づいて、支払いイベントを決定することができる。
加えて、方法1300は、共同ユーザの提案を提供する動作1308を含む。より具体的には、動作1308は、共同ユーザのうちのあるユーザに対して、少なくとも1つのプロセッサによって、共同ユーザのうちの少なくとも1人の他のユーザの提案を、その少なくとも1人の他のユーザに支払いを要求するために提供することを伴う。一例では、複数の共同ユーザのうちの少なくとも1人の他のユーザの提案は、ユーザとその少なくとも1人の他のユーザとの間の関係の強さに基づく。たとえば、関係の強さは、ユーザと少なくとも1人の他のユーザとの間の対話の数、ユーザと少なくとも1人の他のユーザとの間の共通の友人の数、またはユーザと少なくとも1人の他のユーザとの間の隔たり次数に基づく。別の例では、共同ユーザのうちの少なくとも1人の他のユーザの提案は、ユーザと少なくとも1人の他のユーザとの間の過去の支払い対話に基づく。たとえば、過去の支払い対話は、ユーザと少なくとも1人の他のユーザとに関与する過去のグループ支払いを含むことができる。
方法1300は、支払いを要求するためのオプションを提供する動作1310も含む。具体的には、動作1310は、共同ユーザのうちのあるユーザに対して、少なくとも1つのプロセッサによって、提案に基づいて少なくとも1人の他のユーザに支払いを要求するためのオプションを提供することを伴う。たとえば、動作1310は、提案された共同ユーザのリスト内の各提案された共同ユーザに支払いを要求するための選択可能なオプションを提示することを伴い得る。
動作1310の一部として、または追加の動作の一部として、方法1300は、少なくとも1人の他のユーザに支払いを要求するためのプロンプトをユーザに提供することを含むことができる。たとえば、方法1300は、支払いイベントに関連付けられた少なくとも1人の他のユーザの識別に応答して、少なくとも1人の他のユーザに支払いを要求するためのプロンプトをユーザに提示することを伴い得る。
動作1310の一部として、または追加の動作の一部として、方法1300は、1つまたは複数の電子メッセージから支払い額を識別すること、共同ユーザに支払いを要求するためのオプションにおいて支払い額を提供すること、支払い額を共同ユーザの数で除算すること、および、共同ユーザの各々に対する別個の支払い要求において、除算された支払い額を提供することを含むことができる。たとえば、支払い額を共同ユーザの数で除算することは、支払い取引についての合計支払い額を、支払いイベントに関連付けて識別された共同ユーザの数で除算することを伴い得る。
図14は、支払いクレデンシャルなしに支払い取引を開始する方法1400における一連の動作のフローチャートを例示する。方法1400は、支払い取引を開始するための要求を受信する動作1402を含む。具体的には、動作1402は、ユーザと1人または複数の共同ユーザとの間で支払い取引を開始するための要求を、ユーザから、サーバにおいて受信することを伴う。一例では、動作1402は、支払い取引についての識別情報と支払い額とを、ユーザから、サーバにおいて受信し、支払い取引についての識別情報と支払い額とをサーバにおいて記憶することを伴い得る。
動作1402の一部として、または追加の動作として、方法は、ユーザからの支払い情報をサーバにおいて受信し、記憶された識別情報と記憶された支払い額とを使用して、受信された支払い情報を用いて支払い取引を処理することを含むことができる。たとえば、支払い取引を処理することは、ユーザからの支払い情報を確認して、記憶された識別情報と記憶された支払い額とに基づいて、ユーザから1人または複数の共同ユーザに資金を移動するための口座にアクセスすることによって、支払い取引を完了させることを伴い得る。
方法1400は、支払い情報を入力するためのオプションを提供する動作1404も含む。具体的には、動作1404は、支払い情報を入力するためのオプションを、サーバによって、ユーザに対して提供することを伴う。たとえば、支払い情報は、ユーザについての金融口座情報を含むことができる。例示するために、支払い情報は、金融口座についての口座番号とルーティング番号とを含むことができる。別の実施形態では、支払い情報は、クレジット・カード情報を含んでもよい。
方法1400は、支払い情報の入力を延期するための標識を受信する動作1406をさらに伴う。特に、動作1406は、支払い情報の入力を延期するための標識をユーザから受信することを伴う。一例では、動作1406は、要求を受信した後に経過した時間に基づいて、支払い情報の入力を延期するための受動的標識を検出することを伴い得る。例示するために、動作1406は、要求を受信した後に経過した時間が、支払い情報を受信することなく時間閾値を満たしたことを検出することを伴い得る。別の例では、動作1406は、ユーザによって実行される延期アクションに基づいて、入力を延期するための能動的標識を検出することを伴い得る。例示するために、延期アクションは、支払い情報の入力を延期するための選択を含むことができる。
加えて、方法1400は、支払い取引の通知を提供する動作1408を含む。特に、動作1408は、支払い取引の1人または複数の共同ユーザに通知を提供することを伴う。別の例では、動作1408は、1人または複数の共同ユーザに電子メッセージを送信することを伴い得る。一例では、通知は、ユーザが1人または複数の共同ユーザに支払いを送信中であるという通知を含む。通知は、支払いについての支払い額も含むことができる。
動作1408の一部として、または追加の動作として、方法1400は、支払い取引を完了させるための要求を1人または複数の共同ユーザから受信し、少なくとも1つのプロセッサによって、ユーザに対して、支払い情報を入力するためのオプションを2回目に提供することを含むことができる。一例では、動作1408は、1人または複数の共同ユーザに支払い取引の通知を提供した後に、支払い取引を完了させるための要求を受信することを伴い得る。
動作1408の一部として、または追加の動作として、方法1400は、支払い情報を入力するためのリマインダ通知をユーザに送信することを含むことができる。一例では、方法1400は、1人または複数の共同ユーザからのリマインダ・オプションの選択の検出に応答して、リマインダ通知を送信することを含むことができる。別の例では、方法1400は、支払い取引を開始するための要求を受信して以降、一定の時間が経過したという決定に応答して、リマインダ通知を送信することを含むことができる。別の例では、方法1400は、前回のリマインダ通知を送信して以降、一定の時間が経過したという決定に応答して、リマインダ通知を送信することを含むことができる。代替例では、方法1400は、支払い取引を開始するための要求を受信して以降、一定の時間が経過したという決定に応答して、支払い取引をキャンセルすることも含むことができる。
図15は、送信者から支払いクレデンシャルを最初に受信することなく、支払い取引を促進する方法1500における一連の動作のフローチャートを例示する。方法1500は、支払い取引を開始するための要求を受信する動作1502を含む。具体的には、動作1502は、ユーザと1人または複数の共同ユーザとの間で支払い取引を開始するための要求を、ユーザから、サーバにおいて受信することを伴う。たとえば、動作1502は、支払い取引についての識別情報と支払い額とを、ユーザから、サーバにおいて受信し、支払い取引についての識別情報と支払い額とをサーバにおいて記憶することを伴い得る。
動作1502の一部として、または追加の動作として、方法1500は、ユーザからの支払い情報をサーバにおいて受信し、記憶された識別情報と記憶された支払い額とを使用して、受信された支払い情報を用いて支払い取引を処理することを含むことができる。たとえば、支払い取引を処理することは、ユーザからの支払い情報を確認して、記憶された識別情報と記憶された支払い額とに基づいて、ユーザから1人または複数の共同ユーザに資金を移動するための口座にアクセスすることによって、支払い取引を完了させることを伴い得る。
加えて、方法1500は、支払い情報を入力するための第1のプロンプトを提供する動作1504を含む。特に、動作1504は、検出された支払い取引に応答して、支払い情報を入力するための第1のプロンプトを、サーバによって、ユーザに対して提供することを伴う。
方法1500は、入力を延期するための標識を受信する動作1506も含む。具体的には、動作1506は、支払い情報の入力を延期するための標識をユーザから受信することを伴う。動作1506は、ユーザがプロンプトを能動的に却下したという標識を受信することを伴い得る。例示するために、動作1506は、ユーザによる、支払い情報の入力を延期するための選択を検出することを伴い得る。動作1506は、代替的に、ユーザがプロンプトを受動的に却下したという標識を受信することを伴い得る。例示するために、動作1406は、支払い取引を開始するための要求を受信した後に経過した時間が、支払い情報を受信することなく時間閾値を満たしたことを検出することを伴い得る。
方法1500は、支払い取引の通知を提供する動作1508をさらに含む。具体的には、動作1508は、1人または複数の共同ユーザに支払い取引の通知を提供することを伴う。一例では、動作1508は、1人または複数の共同ユーザに電子メッセージを送信することを伴い得る。一例では、通知は、ユーザが1人または複数の共同ユーザに支払いを送信中であるという通知を含む。通知は、支払いについての支払い額も含み得る。
加えて、方法1500は、支払い情報を入力するための第2のプロンプトを提供する動作1510を含む。特に、動作1510は、サーバによって、受信された標識に応答して、検出された支払い取引についての支払い情報を入力するための第2のプロンプトを適当な時間にユーザに対して提供することを伴う。一例では、動作1510は、ユーザに対する、支払い情報を入力するためのリマインダ通知の検出に応答して、第2のプロンプトを提供することを伴い得る。
動作1510の一部として、または追加の動作として、方法1500は、1人または複数の共同ユーザに関連付けられた1つまたは複数の電子メッセージを分析することによって、適当な時間を決定することを含むことができる。代替的に、方法1500は、検出された支払い取引に関連する所定の時間に基づいて、適当な時間を決定することを含んでもよい。代替的に、方法1500は、1人または複数の共同ユーザから、支払い取引を完了させるための要求を受信し、この支払い取引を完了させるための要求に基づいて、適当な時間を決定することを含むことができる。
図16は、支払い取引の支払い額を設定する方法1600における一連の動作のフローチャートを例示する。方法1600は、支払い取引を開始するための要求を識別する動作1602を含む。具体的には、動作1602は、少なくとも1つのプロセッサによって、メッセージング・アプリケーションを使用した会話に参加するユーザと1人または複数の共同ユーザとの間で支払い取引を開始するための要求を識別することを伴う。
方法1600は、複数の選択可能な要素1100を提供する動作1604も含む。特に、動作1604は、モバイル・デバイスの表示デバイス上に、識別された要求に応答して、メッセージング・アプリケーションのメッセージング・グラフィカル・ユーザ・インターフェース内に、複数の選択可能な要素1100を関連付けられた数値と共に提供することを伴う。一例では、関連付けられた数値は、支払い取引に関連付けられた支払い額をインクリメントするために、支払い額に対応し得る。
加えて、方法1600は、2つ以上の選択可能な要素1100の選択を検出する動作1606を含む。具体的には、動作1606は、少なくとも1つのプロセッサによって、複数の選択可能な要素1100のうちの2つ以上の選択可能な要素1100の選択を検出することを伴う。一例では、複数の選択可能な要素1100は、通貨価値を表すアイコンを含む。例示するために、複数の選択可能な要素1100は、ユーザの国籍に対応する共通通貨価値を表すアイコンを含むことができる。
動作1606は、メッセージング・グラフィカル・ユーザ・インターフェース内の会話スレッドに向けての、2つ以上の選択可能な要素1100のフリック動作を検出することも伴い得る。代替例では、動作1606は、2つ以上の選択可能な要素1100のタップ動作を検出することを伴い得る。
方法1600は、支払い額を計算する動作1608も含む。特に、動作1608は、少なくとも1つのプロセッサによって、選択された2つ以上の選択可能な要素1100に関連付けられた数値を合計することによって、支払い取引についての支払い額を計算することを伴う。
動作1608の一部として、または追加の動作として、方法1600は、2つ以上の選択可能な要素1100とからめたタッチ入力を監視することも含むことができる。方法1600は、タッチ入力の検出に基づいて、支払い額をインクリメントまたはデクリメントすることもできる。例示するために、方法1600は、2つ以上の選択可能な要素1100とからめたタッチ入力の上方へのフリック動作の検出に応答して、支払い額をインクリメントすることができる。別の例では、方法1600は、2つ以上の選択可能な要素1100とからめたタッチ入力の下方へのフリック動作の検出に応答して、支払い額をデクリメントすることができる。
動作1608の一部として、または追加の動作として、方法1600は、複数の選択可能な要素1100のうちの、ある選択可能な要素1100の選択以降の時間期間を監視することも含むことができる。方法1600は、監視された時間期間が所定の非活動閾値を満足したと決定することも含むことができる。方法1600は、監視された時間期間が所定の非活動閾値を満足したという決定に応答して、計算された支払い額を用いて支払い取引を完了させるための要求を送信することも含むことができる。代替的に、方法1600は、監視された時間期間が所定の非活動閾値を満足したという決定に応答して、計算された支払い額を用いて支払い取引を完了させることを含んでもよい。非活動閾値は、ユーザ設定可能な時間閾値とすることができる。
一例では、支払い取引を完了させるための要求を送信することは、支払い取引の標識を含む電子メッセージを生成し、支払い取引の標識を送信し、1人または複数の共同ユーザに電子メッセージを送信することを含むことができる。方法1600は、メッセージング・グラフィカル・ユーザ・インターフェース内の会話の時間依存フローの一部として電子メッセージを送信することを含むことができる。
動作1608の一部として、または追加の動作として、方法1600は、ユーザによる、計算された支払い額を1人または複数の共同ユーザに送信するための選択を検出し、メッセージング・アプリケーションに関連付けられたサーバに対して、計算された支払い額を送信することも含むことができる。たとえば、メッセージング・アプリケーションに関連付けられたサーバに対して、計算された支払い額を送信することは、ユーザと1人または複数の共同ユーザとに関与するメッセージング交換において、計算された支払い額を電子メッセージとして送信することを伴い得る。一例では、メッセージング交換は、インスタント・メッセージング・アプリケーションにおけるインスタント・メッセージング交換である。
いくつかの例では、方法1600は、1人または複数の共同ユーザの通貨に基づいて、計算された支払い額を異なる額に変換することも含むことができる。たとえば、方法1600は、1人または複数の共同ユーザの国を検出し、検出された国の通貨に基づいて、計算された支払い額を変換された値に変換することができる。
動作1608の一部として、または追加の動作として、方法1600は、第1の選択可能な要素1100の選択の検出に応答して、初期支払い額を提供することも含むことができる。方法1600は、第2の選択可能な要素1100の選択の検出に応答して、第2の選択可能な要素1100に関連付けられた数値を初期支払い額に対して加算することによって、メッセージング・グラフィカル・ユーザ・インターフェースにおいて提供される初期支払い額を変更することも含むことができる。たとえば、第2の選択可能な要素1100に関連付けられた数値を初期支払い額に対して加算することは、第1の選択可能な要素1100の選択を検出した後に、他の任意の要素の選択を検出することなく、第2の選択可能な要素1100に関連付けられた数値を加算することを伴い得る。
動作1608の一部として、または追加の動作として、方法1600は、支払い額の計算に応答して、メッセージング・グラフィカル・ユーザ・インターフェースの会話スレッドにおいて支払い額を提供することを含むことができる。方法1600は、支払い取引を完了させるための要求を送信することも含むことができる。たとえば、この要求は、メッセージング・グラフィカル・ユーザ・インターフェースの会話スレッドにおいて提供される電子メッセージを含むことができる。
方法1600は、支払い取引を完了させるための要求の送信に応答して、支払い額の外観を修正することも含むことができる。たとえば、支払い額の外観を修正することは、支払い額の色を修正すること、または支払い額をアニメーションにすることを含み得る。例示するために、支払い額の外観を修正することは、支払い額が承認されるまで、支払い額の外観を修正することを伴い得る。一例では、方法1700は、支払い額の承認を検出し、支払い額の外観をさらに修正することを伴い得る。
図17は、支払い取引の支払い額を設定する方法1700における一連の動作のフローチャートを例示する。方法1700は、共同ユーザからメッセージを受信する動作1702を含む。具体的には、動作1702は、モバイル・デバイスにおいて、このモバイル・デバイスのユーザに対する共同ユーザからのメッセージを受信することを伴う。たとえば、メッセージは、共同ユーザによってユーザに対して送信されるメッセージを含むことができる。
方法1700は、メッセージング・グラフィカル・ユーザ・インターフェースにメッセージを追加する動作1704も含む。特に、動作1704は、モバイル・デバイスに表示されるメッセージング・グラフィカル・ユーザ・インターフェースにメッセージを追加することを伴い、このメッセージング・グラフィカル・ユーザ・インターフェースは、ユーザと共同ユーザとの間で交換される複数の電子メッセージを含む通信スレッドを含む。たとえば、動作1704は、ユーザと共同ユーザとの間で交換される複数の電子メッセージの時間依存フローに従って、通信スレッドにメッセージを追加することができる。
方法1700は、支払い取引を開始するための要求を識別する動作1706をさらに含む。具体的には、動作1706は、少なくとも1つのプロセッサによって、ユーザと共同ユーザとの間で支払い取引を開始するための要求を識別することを伴う。たとえば、この要求は、自然言語要求、特別な構文の要求、または、メッセージング・アプリケーションにおける支払い要求オプションの選択を含むことができる。
方法1700は、加えて、複数の選択可能なアイコンを提供する動作1708を含む。具体的には、動作1708は、メッセージング・グラフィカル・ユーザ・インターフェース内に、通貨価値を表す複数の選択可能なアイコンを提供することを伴う。
動作1708の一部として、または追加の動作として、方法は、ユーザによって使用される通貨を決定し、決定された通貨に基づいて、通貨価値を設定することも含むことができる。たとえば、通貨を決定することは、ユーザが位置する国を決定することを含み得る。たとえば、通貨価値は、ユーザが位置する国の共通通貨価値に対応し得る。
方法は、2つ以上の選択可能なアイコンの選択を検出する動作1710も含む。特に、動作1710は、モバイル・デバイスの少なくとも1つのプロセッサによって、複数の選択可能なアイコンのうちの2つ以上の選択可能なアイコンの選択を検出することを伴う。
加えて、方法1700は、支払い額を計算する動作1712を含む。具体的には、動作1712は、少なくとも1つのプロセッサによって、選択された2つ以上の選択可能なアイコンに関連付けられた通貨価値を合計することによって、支払い取引についての支払い額を計算することを伴う。たとえば、動作1712は、各選択されたアイコンについての支払い額をインクリメントすることを伴い得る。例示するために、動作1712は、各選択可能なアイコンの選択が検出されると、支払い額をインクリメントすることを伴い得る。
方法1700は、移動要求を送信する動作1714も含む。特に、動作1714は、ユーザから共同ユーザに支払い額を移動するための要求を伴う。たとえば、動作1714は、複数の選択可能なアイコンのうちのある選択可能なアイコンの選択以降の時間期間を監視することを伴い得る。動作1714は、監視された時間期間が所定の非活動閾値を満足したと決定することをさらに伴い得る。動作1714は、監視された時間期間が所定の非活動閾値を満足したという決定に応答して、支払い額を移動するための要求を送信することも伴い得る。代替的に、動作1714は、監視された時間期間が所定の非活動閾値を満足したという決定に応答して、支払い額についての支払い取引を完了させることを伴い得る。一例では、非活動閾値時間は、ユーザ設定可能な時間閾値である。
方法1700は、送信された支払い額を示すメッセージを追加する動作1716も含む。具体的には、動作1716は、支払い額が共同ユーザに対して送信されたことを示すメッセージを、メッセージング・グラフィカル・ユーザ・インターフェースに追加することを伴う。たとえば、動作1716は、会話スレッドにおける電子メッセージの時間依存フローに従って、会話スレッドにメッセージを追加することを伴い得る。
動作1716の一部として、または追加の動作として、方法1700は、第1の選択可能なアイコンの選択の検出に応答して、会話スレッドにおいて初期支払い額を提供することを含むことができる。方法1700は、1つまたは複数の追加の選択可能なアイコンの選択の検出に応答して、この1つまたは複数の追加の選択可能なアイコンに関連付けられた通貨価値を初期支払い額に加算することによって、メッセージング・グラフィカル・ユーザ・インターフェースにおいて提供される初期支払い額を支払い額に変更することも含むことができる。動作1716は、ユーザから共同ユーザに支払い額を移動するための要求の送信に応答して、会話スレッドにおいて提供される支払い額の外観を修正することをさらに伴い得る。動作1716は、加えて、または代替的に、共同ユーザからの支払い額の承認の検出に応答して、会話スレッドにおいて提供される支払い額の外観を修正することを伴い得る。
本開示の実施形態では、以下に詳述する通り、たとえば1つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の発明の範囲内の実施形態には、コンピュータ実行可能な命令および/またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。とりわけ、本明細書に記載のプロセスのうちの1つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、1つまたは複数のコンピューティング・デバイス(たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか)により実行可能な命令として、その少なくとも一部が実装されていてもよい。一般的には、プロセッサ(たとえば、マイクロプロセッサ)が非一時的コンピュータ可読媒体(たとえば、メモリ等)から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの1つまたは複数等、1つまた複数のプロセスを実行する。
コンピュータ可読媒体としては、汎用または専用コンピュータシステムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体(デバイス)である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体(デバイス)および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
非一時的コンピュータ可読記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD−ROM、固体ドライブ(「SSD」)(たとえば、RAMベース)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
「ネットワーク」は、コンピュータシステムおよび/またはモジュールおよび/または他の電子機器間で電子データを伝送可能な1つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせ)上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび/またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
さらに、コンピュータシステムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体(デバイス)へと自動的に転送可能である(その逆も可能である)。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール(たとえば、「NIC」)内のRAMにバッファリングした後、最終的には、コンピュータシステムRAMおよび/またはコンピュータシステムにおける低揮発性コンピュータ記憶媒体(デバイス)に転送可能である。したがって、非一時的コンピュータ可読記憶媒体(デバイス)は、伝送媒体も(または、主として)利用するコンピュータシステムの構成要素に含み得ることが了解されるものとする。
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の実施形態の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および/または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
当業者であれば、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、PDA,タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータシステム構成のネットワークコンピュータ環境において本開示が実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて(有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより)リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータシステムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本記載において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速に開設可能であるとともに、わずかな管理労力またはサービス・プロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア(「SaaS」)、サービス型プラットフォーム(「PaaS」)、およびサービス型インフラ(「IaaS」)等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
図18は、上述のプロセスのうちの1つまたは複数を実行するように構成できる例示的なコンピューティング・デバイス1800のブロック図を示している。データコンピューティング・デバイス1800などの1つまたは複数のコンピューティング・デバイスが支払システム100を実装することが理解される。図18に示すように、コンピューティング・デバイス1800は、通信インフラ1812によって通信されるように結合されている、プロセッサ1802、メモリ1804、ストレージデバイス1806、I/Oインターフェース1808、および通信インターフェース1810を備える。図10には、例示的なコンピューティング・デバイス1800を示しているが、図18に示す構成要素は、何ら限定を意図したものではない。他の実施形態においては、付加的または代替的な構成要素を使用するようにしてもよい。さらに、特定の実施形態において、コンピューティング・デバイス1800は、図18よりも少ない構成要素を備える。以下、図18に示すコンピューティング・デバイス1800の構成要素について、さらに詳しく説明する。
1つまたは複数の実施形態において、プロセッサ1802は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ1802は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ1804、またはストレージデバイス1806から命令を取り出す(または、フェッチする)とともに、上記命令を復号化して実行するようにしてもよい。1つまたは複数の実施形態において、プロセッサ1802は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ1802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーション・ルックアサイド・バッファ(TLB)を備えてもよい。命令キャッシュ中の命令は、メモリ1804またはストレージ1806中の命令のコピーであってもよい。
メモリ1804は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ1804は、ランダムアクセスメモリ(「RAM」)、リードオンリーメモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、相変化メモリ(「PCM」)、または他の種類のデータストレージ等、揮発性および不揮発性メモリのうちの1つまたは複数を備えていてもよい。また、メモリ1804は、内部メモリであってもよいし、分散メモリであってもよい。
ストレージデバイス1806は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス1806は、上述の非一時的記憶媒体を備える。ストレージデバイス1806としては、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組み合わせが挙げられる。ストレージデバイス1806は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外し可能でない(すなわち、固定)媒体を備えていてもよい。ストレージデバイス1806は、コンピューティング・デバイス1800の内部であってもよいし、外部であってもよい。1つまたは複数の実施形態において、ストレージデバイス1806は、不揮発性の固体メモリである。他の実施形態において、ストレージデバイス1806は、リードオンリーメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、フラッシュメモリ、またはこれらのうちの2つ以上の組み合わせであってもよい。
I/Oインターフェース1808によって、ユーザが、入力を提供し、出力を受け取り、あるいはコンピューティング・デバイス1800に対してデータを転送しデータを受け取ることを可能にする。これらのI/Oインターフェース1808は、マウス、キーパッドもしくはキーボード、タッチスクリーン、カメラ、光学スキャナ、ネットワーク・インターフェース、モデル、その他既知のI/Oデバイス、またはこのようなI/Oデバイス/インターフェースの組み合わせを含む。I/Oインターフェース1808は、出力をユーザに提示する1つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ(たとえば、表示画面)、1つまたは複数の出力ドライバ(たとえば、ディスプレイドライバ)、1つまたは複数の音声スピーカ、および1つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、I/Oインターフェース1808は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る1つもしくは複数のグラフィカル・ユーザ・インターフェースおよび/またはその他任意のグラフィックコンテンツを代表するものであってもよい。
通信インターフェース1810は、ハードウェア、ソフトウェア、または両者を含み得る。いかなる場合でも、通信インターフェース1810は、コンピューティング・デバイスと1つもしくは複数の他のコンピューティング・デバイス1800またはネットワークとの間の通信(たとえば、パケットベースの通信等)のための1つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース1810としては、イーサネット(登録商標)等の有線ネットワークと連通するネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタまたはWi−Fi等の無線ネットワークと連通する無線NIC(WNIC)もしくは無線アダプタが挙げられる。
加えて、または、代替として、通信インターフェース1810は、アドホック・ネットワーク、パーソナルエリアネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの1つもしくは複数の部分、またはこれらのうちの2つ以上の組み合わせと通信を行わせる。これらネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース1810は、無線PAN(WPAN)(たとえば、Bluetooth(登録商標)WPAN等)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(たとえば、汎欧州デジタル移動電話通信(GSM(登録商標))ネットワーク等)、他の適当な無線ネットワーク、またはこれらの組み合わせと通信を行わせる。
加えて、通信インターフェース1810は、通信さまざまな通信プロトコルを促進し得る。使用され得る通信プロトコルの例としては、限定されるものではないが、データ伝送媒体、通信デバイス、伝送制御プロトコル(「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」)技術、無線通信技術、帯域内シグナリング技術および帯域外シグナリング技術、ならびに他の適切な通信ネットワークおよび技術がある。
通信インフラ1812は、コンピューティング・デバイス1800の構成要素を互いに結合するハードウェア、ソフトウェア、または両者を備える。非限定的な一例として、通信インフラ1812は、アクセラレイテッドグラフィックスポート(AGP)等のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、ロウピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス標準協会ローカル(VLB)バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
上述の通り、システム100は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによって、そのユーザ(人または組織など)が、システムに対しておよび互いに対話をすることが可能になる。上述のように、システム100は、ソーシャル・ネットワーキング・システムを備える。ソーシャル・ネットワーキング・システムによれば、そのユーザ(人または組織等)は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を行わせるサービス(たとえば、ウォール投稿、写真共有、オンライン・カレンダー、イベント統合、メッセージング、ゲーム、または広告)を提供するようにしてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザが、ユーザのプロファイル・ページ(典型的には、「ウォール投稿」もしくは「タイムライン投稿」として知られる)に対して、またはフォト・アルバム内に、写真および他のマルチメディア・コンテンツ・アイテムを投稿することを可能にし得、プロファイル・ページとフォト・アルバムの両方は、ユーザの構成されたプライバシー設定に応じて、ソーシャル・ネットワーキング・システムの他のユーザにとってアクセス可能である。
図19は、ソーシャル・ネットワーキング・システムの例となるネットワーク環境1900を例示する。ネットワーク環境1900は、ネットワーク1904によって互いに接続された、クライアント・システム1906と、ソーシャル・ネットワーキング・システム1902と、サードパーティ・システム1908とを含む。図19は、クライアント・システム1906、ソーシャル・ネットワーキング・システム1902、サードパーティ・システム1908、およびネットワーク1904の特定の構成を例示しているが、この開示は、クライアント・システム1906、ソーシャル・ネットワーキング・システム1902、サードパーティ・システム1908、およびネットワーク1904の任意の適切な構成を企図したものである。限定としてではなく、一例として、クライアント・システム1906、ソーシャル・ネットワーキング・システム1902、およびサードパーティ・システム1908のうちの2つ以上が、ネットワーク1904をバイパスして、直接的に互いに接続されてもよい。別の例として、クライアント・システム1906、ソーシャル・ネットワーキング・システム1902、およびサードパーティ・システム1908のうちの2つ以上が、全体的にまたは部分的に互いと物理的または論理的に共同設置されてもよい。さらに、図19は、特定の数のクライアント・システム1906、ソーシャル・ネットワーキング・システム1902、サードパーティ・システム1908、およびネットワーク1904を例示しているが、この開示は、任意の適切な数のクライアント・システム1906、ソーシャル・ネットワーキング・システム1902、サードパーティ・システム1908、およびネットワーク1904を企図したものである。限定としてではなく、一例として、ネットワーク環境1900は、複数のクライアント・システム1906と、ソーシャル・ネットワーキング・システム1902と、サードパーティ・システム1908と、ネットワーク1904とを含んでよい。
本開示は、任意の適切なネットワーク1904を企図したものである。限定としてではなく、一例として、ネットワーク1904の1つまたは複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つ以上の組み合わせを含んでよい。ネットワーク1904は、1つまたは複数のネットワーク1904を含み得る。
リンクは、クライアント・システム1906、ソーシャル・ネットワーキング・システム1902、およびサードパーティ・システム1908を通信ネットワーク1904に対して、または互いに対して接続し得る。本開示は、任意の適切なリンクを企図したものである。特定の実施形態では、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つ以上のそのようなリンクの組み合わせを含む。リンクは、必ずしもネットワーク環境1900全体を通じて同じである必要はない。1つまたは複数の第1のリンクは、1つまたは複数の点において、1つまたは複数の第2のリンクと異なってよい。
特定の実施形態では、クライアント・システム1906は、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、または2つ以上のそのような構成要素の組み合わせを含み、クライアント・システム1906によって実施またはサポートされる適切な機能を実行することが可能な電子デバイスであってよい。限定としてではなく、一例として、クライアント・システム1906は、上記で図18に関係して論じられたコンピューティング・デバイスのいずれかを含んでよい。クライアント・システム1906は、クライアント・システム1906におけるネットワーク・ユーザがネットワーク1904にアクセスすることを可能にし得る。クライアント・システム1906は、そのユーザが他のクライアント・システム1906における他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアント・システム1906は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ932を含んでよく、1つまたは複数のアドオン、プラグイン、またはツールバーもしくはYAHOOツールバーなどの他の拡張機能を有してよい。クライアント・システム1906におけるユーザは、ユニフォーム・リソース・ロケータ(URL)またはウェブ・ブラウザを特定のサーバ(サーバ、またはサードパーティ・システム1908に関連付けられているサーバなど)に対して宛てる他のアドレスを入力してよく、ウェブ・ブラウザは、ハイパーテキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに対して通信し得る。サーバは、HTTP要求を受け入れ、HTTP要求に応答して1つまたは複数のハイパーテキスト・マークアップ言語(HTML)ファイルをクライアント・システム1906に対して通信し得る。クライアント・システム1906は、ユーザに対する提示のために、サーバからのHTMLファイルに基づいてウェブページをレンダリングし得る。本開示は、任意の適切なウェブページ・ファイルを企図したものである。限定としてではなく、一例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングし得る。そのようなページはまた、たとえば、限定されるものではないが、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで記述されたスクリプトなどのスクリプト、AJAX(非同期JAVASCRIPTおよびXML)などのマークアップ言語とスクリプトの組み合わせなどを実行し得る。本明細書では、ウェブページに対する参照は、適切な場合、1つまたは複数の対応するウェブページ・ファイル(ブラウザがウェブページをレンダリングするために使用し得る)を包含し、逆も同様である。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、オンライン・ソーシャル・ネットワークをホストする、ネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム1902は、たとえばユーザプロファイル・データ、概念プロファイル・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の適切なデータなどのソーシャルネットワーキング・データを生成、記憶、受信、および送信し得る。ソーシャル・ネットワーキング・システム1902は、直接的に、またはネットワーク1904を介して、のどちらかで、ネットワーク環境1900の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、1つまたは複数のサーバを含み得る。各サーバは、単体サーバであってもよいし、複数のコンピュータまたは複数のデータセンタにまたがる分散サーバであってもよい。サーバは、たとえば限定されるものではないが、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書で説明される機能もしくはプロセスを実行するのに適した別のサーバ、またはそれらの任意の組み合わせなどの、さまざまなタイプであってよい。特定の実施形態では、各サーバは、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、またはサーバによって実施もしくはサポートされる適切な機能を実行するための2つ以上そのような構成要素の組み合わせを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、1つまたは複数のデータ・ストアを含み得る。データ・ストアは、さまざまなタイプの情報を記憶するために使用され得る。特定の実施形態では、データ・ストア内に記憶される情報は、具体的なデータ構造に従って編成され得る。特定の実施形態では、各データ・ストアは、リレーショナル・データベース、カラムナ・データベース、相関データベース、または他の適切なデータベースであってよい。本開示は特定のタイプのデータベースを説明または例示しているが、本開示は、任意の適切なタイプのデータベースを企図するものである。特定の実施形態は、クライアント・システム1906、ソーシャル・ネットワーキング・システム1902、またはサードパーティ・システム1908がデータ・ストア内に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャルグラフを記憶し得る。特定の実施形態では、ソーシャルグラフは、複数のユーザ・ノード(各々が特定のユーザに対応する)または複数の概念ノード(各々が特定の概念に対応する)を含み得る複数のノードと、ノードを接続する複数のエッジを含み得る。ソーシャル・ネットワーキング・システム1902は、オンライン・ソーシャル・ネットワークのユーザに、他のユーザと通信および対話できることを提供し得る。特定の実施形態では、ユーザは、ソーシャル・ネットワーキング・システム1902を介してオンライン・ソーシャル・ネットワークに加わり、次いで、ユーザが接続されたいソーシャル・ネットワーキング・システム1902の何人かの他のユーザに対して接続(たとえば、関係)を追加し得る。本明細書では、「友人」という用語は、ユーザがソーシャル・ネットワーキング・システム1902を介して接続、関連付け、または関係を形成した、ソーシャル・ネットワーキング・システム1902の他の任意のユーザを指し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ソーシャル・ネットワーキング・システム1902によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに対してアクションをとることをユーザに提供し得る。限定としてではなく、一例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム1902のユーザが属し得るグループもしくはソーシャル・ネットワーク、ユーザが興味を抱き得るイベントもしくはカレンダー記載事項、ユーザが使用し得るコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売し得る取引、ユーザが実行し得る広告との対話、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャル・ネットワーキング・システム1902内で、またはサードパーティ・システム1908の外部システムによって表されることが可能なものと対話し得、サードパーティ・システム1908は、ソーシャル・ネットワーキング・システム1902とは別個であり、ネットワーク1904を介してソーシャル・ネットワーキング・システム1902に結合される。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、さまざまなエンティティをリンクすることが可能であり得る。限定としてではなく、一例として、ソーシャル・ネットワーキング・システム1902は、ユーザが、互いと対話し、ならびにサードパーティ・システム1908もしくは他のエンティティからコンテンツを受信する、またはユーザが、アプリケーション・プログラミング・インターフェース(API)もしくは他の通信チャネルを通して、これらのエンティティと対話できることを可能にし得る。
特定の実施形態では、サードパーティ・システム1908は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、限定されるものではないがAPIを含む1つもしくは複数のインターフェース、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または、たとえばサーバが通信し得る他の任意の適切な構成要素であり得る。サードパーティ・システム1908は、ソーシャル・ネットワーキング・システム1902を運用するエンティティからの異なるエンティティによって運用され得る。しかしながら、特定の実施形態では、ソーシャル・ネットワーキング・システム1902およびサードパーティ・システム1908は、ソーシャル・ネットワーキング・システム1902またはサードパーティ・システム1908のユーザにソーシャルネットワーキング・サービスを提供するために互いに運用し得る。この意味で、ソーシャル・ネットワーキング・システム1902は、サードパーティ・システム1908などの他のシステムがインターネット全体にわたってソーシャルネットワーキング・サービスおよび機能をユーザに対して提供するために使用し得るプラットフォームすなわちバックボーンを提供し得る。
特定の実施形態では、サードパーティ・システム1908は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含み得る。サードパーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・システム1906に対して通信され得るコンテンツ・オブジェクトの1つまたは複数のソースを含み得る。限定としてではなく、一例として、コンテンツ・オブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の適切な情報などの、ユーザの興味を引く物事またはアクティビティに関する情報を含み得る。限定としてではなく、別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、商品券、または他の適切な報償となるオブジェクトなどの、報償となるコンテンツ・オブジェクトを含み得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ソーシャル・ネットワーキング・システム1902とのユーザの対話を向上させ得る、ユーザにより生成されたコンテンツ・オブジェクトも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム1902に対して追加、アップロード、送信、または「投稿する」ものを含み得る。限定としてではなく、一例として、ユーザが、クライアント・システム1906からソーシャル・ネットワーキング・システム1902に対して投稿を通信する。投稿としては、ステータス更新もしくは他のテキスト・データ、ロケーション情報、フォト、映像、リンク、音楽、または他の類似のデータもしくはメディアなどのデータがあり得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を介して、サードパーティによってソーシャル・ネットワーキング・システム1902に対して追加され得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、さまざまなサーバと、サブシステムと、プログラムと、モジュールと、ログと、データ・ストアとを含んでもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類器、通知コントローラ、アクション・ログ、サードパーティコンテンツ・オブジェクト公開(exposure)ログ、推測モジュール、許可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインターフェース・モジュール、ユーザプロファイル・ストア、接続ストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含んでよい。ソーシャル・ネットワーキング・システム1902は、ネットワーク・インターフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、他の適切な構成要素、またはそれらの任意の適切な組み合わせなどの、適切な構成要素も含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ユーザ・プロファイルを記憶するための1つまたは複数のユーザプロファイル・ストアを含んでよい。ユーザ・プロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、社会情報、または職歴、学歴、趣味もしくは好み、興味、親密度、もしくはロケーションなどの他のタイプの記述情報を含み得る。興味情報は、1つまたは複数のカテゴリに関係する興味を含み得る。カテゴリは、汎用的であってもよいし、具体的であってもよい。限定としてではなく、一例として、ユーザが、靴のブランドについての記事に対して「いいね」を表明する場合、そのカテゴリはブランドであってもよいし、「靴」または「衣類」という汎用的なカテゴリであってもよい。接続ストアは、ユーザについての接続情報を記憶するために使用され得る。接続情報は、類似もしくは共通の職歴、グループ会員資格、趣味、学歴を有する、または、いかなる形であれ関係する、もしくは共通属性を共有するユーザを示してよい。接続情報は、異なるユーザとコンテンツ(内部と外部の両方)との間の、ユーザにより定義された接続も含み得る。ウェブ・サーバは、ネットワーク1904を介して1つもしくは複数のクライアント・システム1906または1つもしくは複数のサードパーティ・システム1908に対してソーシャル・ネットワーキング・システム1902をリンクするために使用され得る。ウェブ・サーバは、ソーシャル・ネットワーキング・システム1902と1つまたは複数のクライアント・システム1906との間でメッセージを受信およびルーティングするためのメール・サーバまたは他のメッセージング機能を含んでよい。API要求サーバは、サードパーティ・システム1908が、1つまたは複数のAPIを呼び出すことによって、ソーシャル・ネットワーキング・システム1902からの情報にアクセスすることを可能にし得る。アクション・ロガーは、ソーシャル・ネットワーキング・システム1902上またはそれ以外の場所でのユーザのアクションについてウェブ・サーバから通信を受信するために使用され得る。アクション・ログとともに、サードパーティコンテンツ・オブジェクトに対するユーザ公開のサードパーティコンテンツオブジェクト・ログが維持され得る。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム1906に対して提供し得る。情報は、通知としてクライアント・システム1906に対してプッシュされてもよいし、情報は、クライアント・システム1906から受信された要求に応答してクライアント・システム1906からプルされてもよい。許可サーバは、ソーシャル・ネットワーキング・システム1902のユーザの1つまたは複数のプライバシー設定を強制するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有可能であるかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、アクションをソーシャル・ネットワーキング・システム1902によってログさせること、または他のシステム(たとえば、サードパーティ・システム1908)とともに共有させることに加わる、または加わらない(opt in to or opt out of)ことを可能にする。サードパーティコンテンツオブジェクト・ストアは、サードパーティ・システム1908などのサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用され得る。ロケーション・ストアは、ユーザに関連付けられているクライアント・システム1906から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、社会情報、現在の時間、ロケーション情報、または他の適切な情報を組み合わせて、通知の形で関係のある広告をユーザに対して提供し得る。
図20は、例となるソーシャルグラフ2000を例示する。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャルグラフ2000を記憶し得る。特定の実施形態では、ソーシャルグラフ2000は、複数のユーザ・ノード2002または複数の概念ノード2004を含み得る複数のノードと、ノードを接続する複数のエッジ2006とを含み得る。図20に例示される例となるソーシャルグラフ2000は、教説的な目的で、2次元の視覚的なマップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム1902、クライアント・システム1906、またはサードパーティ・システム1908は、適切なアプリケーションのためのソーシャルグラフ2000および関係するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ2000のノードおよびエッジは、たとえば、データ・ストア(ソーシャルグラフ・データベースなど)内に、データ・オブジェクトとして記憶され得る。そのようなデータ・ストアは、ソーシャルグラフ2000のノードまたはエッジの1つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
特定の実施形態では、ユーザ・ノード2002は、ソーシャル・ネットワーキング・システム1902のユーザに対応し得る。限定としてではなく、一例として、ユーザは、ソーシャル・ネットワーキング・システム1902と、またはその上で対話または通信する、個人(人間ユーザ)、エンティティ(たとえば、企業、会社、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであってよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム1902に口座を登録するとき、ソーシャル・ネットワーキング・システム1902は、ユーザに対応するユーザ・ノード2002を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード2002を記憶し得る。本明細書で説明されるユーザおよびユーザ・ノード2002は、適切な場合には、登録されたユーザと、登録されたユーザに関連付けられているユーザ・ノード2002を指し得る。加えて、または代替として、本明細書で説明されるユーザおよびユーザ・ノード2002は、適切な場合には、ソーシャル・ネットワーキング・システム1902に登録されていないユーザを指し得る。特定の実施形態では、ユーザ・ノード2002は、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム1902を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、ユーザは、自分の名前、プロファイル・ピクチャ、連絡先情報、誕生日、性別、配偶者の有無、家族構成、職業、学歴、好み、興味、または他の人口統計学的情報を提供し得る。ソーシャルグラフの各ユーザ・ノードは、対応するウェブページ(典型的には、プロファイル・ページとして知られる)を有し得る。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、ユーザ名に対応するユーザ・ノードにアクセスし、名前、プロファイル・ピクチャ、およびユーザに関連付けられている他の情報を含むプロファイル・ページを作り上げる。第1のユーザのプロファイル・ページは、第1のユーザによる1つまたは複数のプライバシー設定および第1のユーザと第2のユーザとの間の関係に基づいて、第1のユーザの情報のすべてまたは一部分を第2のユーザに対して表示し得る。
特定の実施形態では、概念ノード2004は概念に対応し得る。限定としてではなく、一例として、概念は、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム1902に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人物、会社、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム1902の中もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置され得るリソース(たとえば、オーディオ・ファイル、映像ファイル、デジタル・フォト、テキスト・ファイル、構造化文書、もしくはアプリケーションなど)、物的財産もしくは知的財産(たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著書など)、ゲーム、アクティビティ、アイデア、もしくは理論、別の適切な概念、または2つ以上のそのような概念に対応し得る。概念ノード2004は、ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム1902を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、概念の情報としては、名前もしくはタイトル、1つもしくは複数の画像(たとえば、本のカバー・ページの画像)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられ得る)、連絡先情報(たとえば、電話番号もしくは電子メール・アドレス)、他の適切な概念情報、またはそのような情報の任意の適切な組み合わせがあり得る。特定の実施形態では、概念ノード2004は、概念ノード2004に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態では、概念ノード2004は、1つまたは複数のウェブページに対応し得る。
特定の実施形態では、ソーシャルグラフ2000内のノードは、ウェブページ(「プロファイル・ページ」と呼ばれることがある)を表してもよいし、これによって表されてもよい。プロファイル・ページは、ソーシャル・ネットワーキング・システム1902によってホストされてもよいし、これに対してアクセス可能であってもよい。プロファイル・ページはまた、サードパーティ・サーバ1908に関連付けられているサードパーティ・ウェブサイト上にホストされ得る。限定としてではなく、一例として、特定の外部のウェブページに対応するプロファイル・ページは特定の外部ウェブページであってよく、プロファイル・ページは特定の概念ノード2004に対応し得る。プロファイル・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧することができてよい。限定としてではなく、一例として、ユーザ・ノード2002は、対応するユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応するユーザプロファイル・ページを有し得る。限定としてではなく、別の例として、概念ノード2004は、特に概念ノード2004に対応する概念に関係して1つまたは複数のユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応する概念プロファイル・ページを有し得る。
特定の実施形態では、概念ノード2004は、サードパーティ・システム1908によってホストされるサードパーティ・ウェブページまたはリソースを表し得る。サードパーティ・ウェブページまたはリソースは、要素の中でもとりわけ、アクションまたはアクティビティを表すコンテンツ、選択可能なアイコンもしくは他のアイコン、または他の対話可能なオブジェクト(たとえば、JavaScriptコード、AJAXコード、またはPHPコードで実装され得る)を含んでよい。限定としてではなく、一例として、サードパーティ・ウェブページは、「いいね」、「チェック・イン」、「食べる」、「推奨」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含み得る。サードパーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(たとえば、「食べる」)を選択し、クライアント・システム1906に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム1902に対して送信させることによって、アクションを実行し得る。メッセージに応答して、ソーシャル・ネットワーキング・システム1902は、ユーザに対応するユーザ・ノード2002とサードパーティ・ウェブページまたはリソースに対応する概念ノード2004との間にエッジ(たとえば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ2006を記憶し得る。
特定の実施形態では、ソーシャルグラフ2000内のノードのペアは、1つまたは複数のエッジ2006によって互いに接続され得る。ノードのペアを接続するエッジ2006は、ノードのペアの間の関係を表し得る。特定の実施形態では、エッジ2006は、ノードのペアの間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含み得るまたはこれを表し得る。限定としてではなく、一例として、第1のユーザは、第2のユーザが第1のユーザの「友人」であることを示し得る。この標識に応答して、ソーシャル・ネットワーキング・システム1902は、第2のユーザに対して「友人要求」を送信し得る。第2のユーザが「友人要求」を確かめる場合、ソーシャル・ネットワーキング・システム1902は、ソーシャルグラフ2000内の第1のユーザのユーザ・ノード2002を第2のユーザのユーザ・ノード2002に対して接続するエッジ2006を作成し、エッジ2006をソーシャルグラフ情報としてデータ・ストアのうちの1つまたは複数に記憶し得る。図20の例では、ソーシャルグラフ2000は、ユーザ「A」とユーザ「B」のユーザ・ノード2002間の友人関係を示すエッジ2006と、ユーザ「C」とユーザ「B」のユーザ・ノード2002間の友人関係を示すエッジとを含む。本開示は、特定のユーザ・ノード2002を接続する、特定の属性を有する特定のエッジ2006を説明または例示しているが、本開示は、ユーザ・ノード2002を接続する、任意の適切な属性を有する任意の適切なエッジ2006を企図するものである。限定としてではなく、一例として、エッジ2006は、友人関係、家族関係、ビジネスすなわち雇用関係、ファン関係、フォロワー関係、ビジター関係、購読者関係、上下関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表し得る。さらに、本開示は一般に、ノードを、接続されていると説明しているが、本開示は、ユーザまたは概念も、接続されていると説明する。本明細書では、接続されているユーザまたは概念への参照は、適切な場合には、ソーシャルグラフ2000内で1つまたは複数のエッジ2006によって接続されているそれらのユーザまたは概念に対応するノードに及ぶ。
特定の実施形態では、ユーザ・ノード200と概念ノード2004との間のエッジ2006は、概念ノード2004に関連付けられている概念のためにユーザ・ノード2002に関連付けられているユーザによって実行される特定のアクションまたはアクティビティを表し得る。限定としてではなく、一例として、図20に例示されるように、ユーザは、概念に対して「いいね」を表明し、「通学した」、「プレイした」、「聞いた」、「料理した」、「働いた」、または概念を「見た」とする。その各々は、エッジ・タイプまたはサブタイプに対応し得る。概念ノード2004に対応する概念プロファイル・ページは、たとえば、選択可能な「チェック・イン」アイコン(たとえば、クリック可能な「チェック・イン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含んでよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム1902は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェック・イン」エッジを作成してよい。限定としてではなく、別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の歌(「ランブル・オン」)を聞くことがある。この場合、ソーシャル・ネットワーキング・システム1902は、ユーザがその歌を聞き、そのアプリケーションを使用したことを示すため、にユーザに対応するユーザ・ノード2002と歌およびアプリケーションに対応する概念ノード2004との間に「聞いた」エッジ2006および「使用した」エッジ(図20に例示される)を作成し得る。さらに、ソーシャル・ネットワーキング・システム1902は、特定の歌が特定のアプリケーションによってプレイ(再生)されたことを示すために、歌およびアプリケーションに対応する概念ノード2004間に「プレイした」エッジ2006(図20に例示される)を作成し得る。この場合、「プレイした」エッジ2006は、外部オーディオ・ファイル(歌「イマジン」)に対して外部アプリケーション(SPOTIFY)によって実行されるアクションに対応する。本開示は、ユーザ・ノード2002および概念ノード2004を接続する、特定の属性を有する特定のエッジ2006を説明しているが、本開示は、ユーザ・ノード2002および概念ノード2004を接続する、任意の適切な属性を有する任意の適切なエッジ2006を企図するものである。そのうえ、本開示は、単一の関係を表す、ユーザ・ノード2002と概念ノード2004との間のエッジを説明しているが、本開示は、1つまたは複数の関係を表す、ユーザ・ノード2002と概念ノード2004との間のエッジを企図する。限定としてではなく、一例として、エッジ2006は、ユーザが特定の概念に対して「いいね」を表明したことと、特定の概念において使用したことの両方を表し得る。代替的に、別のエッジ2006は、ユーザ・ノード2002と概念ノード2004との間の各タイプの関係(または単一の関係の倍数)を表し得る(図20では、ユーザ「E」のユーザ・ノード2002と「SPOTIFY」の概念ノード2004との間に例示される)。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ソーシャルグラフ2000内のユーザ・ノード2002と概念ノード2004との間にエッジ2006を作成し得る。限定としてではなく、一例として、(たとえば、ユーザのクライアント・システム1906によってホストされるウェブ・ブラウザまたは特殊目的アプリケーションを使用することなどによって)概念プロファイル・ページを閲覧するユーザは、自分は概念ノード2004によって表される概念に対して「いいね」を表明したことを、「いいね」アイコンをクリックまたは選択することによって示し得、それは、ユーザは概念プロファイル・ページに関連付けられている概念に対して「いいね」を表明したことを示すメッセージをソーシャル・ネットワーキング・システム1902に対して送信することをユーザのクライアント・システム1906に行わせ得る。メッセージに応答して、ソーシャル・ネットワーキング・システム1902は、ユーザと概念ノード2004との間の「いいね」エッジ2006によって例示されるように、ユーザに関連付けられているユーザ・ノード2002と概念ノード2004との間にエッジ2006を作成し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、1つまたは複数のデータ・ストアにエッジ2006を記憶し得る。特定の実施形態では、エッジ2006は、特定のユーザ・アクションに応答して、ソーシャル・ネットワーキング・システム1902によって自動的に形成され得る。限定としてではなく、一例として、第1のユーザがピクチャをアップロードする、映画を見る、または歌を聞く場合、エッジ2006は、第1のユーザに対応するユーザ・ノード2002とそれらの概念に対応する概念ノード2004との間に形成され得る。本開示は、特定の様式で特定のエッジ2006を形成することを説明しているが、本開示は、任意の適切な様式で任意の適切なエッジ2006を形成することを企図するものである。
特定の実施形態では、広告は、テキスト(HTMLリンクであってよい)、1つもしくは複数の画像(HTMLリンクであってよい)、1つもしくは複数の映像、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組み合わせ、または1つもしくは複数のウェブページ上で、1つもしくは複数の電子メール内で、もしくはユーザによって要求された検索結果に関係して、提示される任意の適切なデジタル・フォーマットの他の任意の適切な広告であってよい。加えて、または代替として、広告は、1つまたは複数のスポンサー付きストーリー(たとえば、ソーシャル・ネットワーキング・システム1902上のニュースフィードまたはティッカー・アイテム)である。スポンサー付きストーリーは、たとえば、ソーシャル・アクションを、ユーザのプロファイル・ページまたは他のページの所定のエリア内に提示させる、広告主に関連付けられている追加の情報とともに提示させる、他のユーザのニュースフィードもしくはティッカー内で衝突させるもしくは別のやり方で目立たせる、または別のやり方でプロモーションさせることによって広告主がプロモーションする、ユーザによるソーシャル・アクション(ページに対して「いいね」を表明する、ページ上の投稿に対して「いいね」を表明するもしくはコメントする、ページに関連付けられているイベントの出欠を返事する、ページ上で投稿された質問に関して投稿する、ある場所にチェック・インする、アプリケーションを使用するもしくはゲームをする、またはウェブサイトを「リンク」もしくは共有するなど)であってよい。広告主は、ソーシャル・アクションをプロモーションさせるために支払うことがある。限定としてではなく、一例として、広告は検索結果ページの検索結果の間に含まれてよく、そこでは、スポンサー付きコンテンツは、スポンサー付きでないコンテンツよりもプロモーションされる。
特定の実施形態では、広告は、ソーシャルネットワーキングシステム・ウェブページ、サードパーティ・ウェブページ、または他のページ内での表示のために要求され得る。広告は、ページの上部のバナー・エリア内、ページの側部のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上部の上、またはページに関する他の場所などの、ページの専用部分内に表示され得る。加えて、または代替として、広告はアプリケーション内に表示され得る。広告は、専用ページ内に表示され、ユーザに、ユーザがページにアクセスするまたはアプリケーションを利用する前に広告と対話するまたはこれを見ることを要求し得る。ユーザは、たとえば、ウェブ・ブラウザを通して広告を閲覧してよい。
ユーザは、任意の適切な様式で広告と対話してよい。ユーザは、広告をクリックしてもよいし、または別のやり方で広告を選択してもよい。広告を選択することによって、ユーザは、広告に関連付けられているページ(または、ユーザによって使用されているブラウザもしくは他のアプリケーション)に対して向けられ得る。広告に関連付けられているページでは、ユーザは、広告に関連付けられている製品もしくはサービスを購入する、広告に関連付けられている情報を受信する、または広告に関連付けられているニュースレターを購読するなどの、追加のアクションをとり得る。オーディオまたは映像を有する広告は、(「プレイ・ボタン」などの)広告の構成要素を選択することによってプレイされ得る。代替的に、広告を選択することによって、ソーシャル・ネットワーキング・システム1902は、ユーザの特定のアクションを実行または修正し得る。
広告は、ユーザが対話し得るソーシャル・ネットワーキング・システム機能も含み得る。限定としてではなく、一例として、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するまたは別のやり方で広告を支持することを可能にし得る。限定としてではなく、別の例として、広告は、ユーザが、広告主に関連するコンテンツを(たとえば、クエリを実行することによって)検索することを可能にし得る。同様に、ユーザは、別のユーザと(たとえば、ソーシャル・ネットワーキング・システム1902を通して)広告を共有し得、または広告に関連付けられているイベントの出欠を(たとえば、ソーシャル・ネットワーキング・システム1902を通して)返事し得る。加えて、または代替として、広告は、ユーザに対して向けられたソーシャルネットワーキングシステム・コンテキストを含み得る。限定としてではなく、一例として、広告は、広告の主題に関連付けられているアクションをとった、ソーシャル・ネットワーキング・システム1902内のユーザの友人についての情報を表示し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、互いに対するさまざまなソーシャルグラフ・エンティティのソーシャルグラフ親密度(本明細書では、「親密度」と呼ばれることがある)を決定し得る。親密度は、ユーザ、概念、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは興味のレベルを表し得る。親密度は、サードパーティ・システム1908または他の適切なシステムに関連付けられているオブジェクトに対しても決定され得る。各ユーザ、主題、またはコンテンツのタイプのためのソーシャルグラフ・エンティティの全体的な親密度が確立され得る。全体的な親密度は、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続モニタリングに基づいて変化し得る。本開示は、特定の様式で特定の親密度を決定することを説明しているが、本開示は、任意の適切な様式で任意の適切な親密度を決定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、親密度係数(本明細書では、「係数」と呼ばれることがある)を使用してソーシャルグラフ親密度を測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表すまたは定量化し得る。係数は、アクションにおけるユーザの興味に基づいてユーザが特定のアクションを実行する予測確率を測定する確率または機能も表し得る。このようにして、ユーザの将来のアクションは、ユーザの前のアクションに基づいて予測され得、係数は、少なくとも部分的にユーザのアクションの履歴計算され得る。係数は、任意の数のアクションを予測するために使用され得、アクションは、オンライン・ソーシャル・ネットワーク内であってもよいし、オンライン・ソーシャル・ネットワークの外部であってもよい。限定としてではなく、一例として、これらのアクションは、メッセージを送信すること、コンテンツを投稿すること、もしくはコンテンツに対してコメントすることなどのさまざまなタイプの通信、プロファイル・ページ、メディア、もしくは他の適切なコンテンツにアクセスもしくは閲覧するなどのさまざまなタイプの観察アクション、同じグループ内にある、同じ写真でタグ付けされている、同じロケーションにチェック・インした、もしくは同じイベントに出席したなどの2つ以上のソーシャルグラフ・エンティティについてのさまざまなタイプの一致情報、または他の適切なアクションを含み得る。本開示は、特定の様式で親密度を測定することを説明しているが、本開示は、任意の適切な様式で親密度を測定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、さまざまな因子を使用して係数を計算し得る。これらの因子としては、たとえば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせがあり得る。特定の実施形態では、異なる因子は、係数を計算するとき、異なるように重み付けされ得る。各因子の重みは静的であってもよいし、重みは、たとえば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどに応じて変化してもよい。因子のレーティングは、ユーザの全体的係数を決定するための重みに応じて組み合わされ得る。限定としてではなく、一例として、特定のユーザ・アクションは、レーティングと重みの両方に対して割り当てられてよく、特定のユーザ・アクションに関連付けられている関係は、レーティングおよび相関重みが割り当てられる(たとえば、そのため、重みは合計100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに対して割り当てられたレーティングは、たとえば、全体的係数の60%を備えることがあり、ユーザとオブジェクトとの間の関係は全体的係数の40%を備えることがある。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに対して接続されたソーシャルグラフ・エンティティとの関係、ユーザ・アクションの短期もしくは長期の平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなどの、係数を計算するために使用されるさまざまな因子に対する重みを決定するとき、さまざまな変数を考慮し得る。限定としてではなく、一例として、係数は、係数を計算するとき、アクションが最近であればあるほど関連度が大きくなるように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含み得る。レーティングおよび重みは、係数が基づくアクションの継続追跡に基づいて連続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各因子および因子に対して割り当てられた重みに対するレーティングを割り当てる、組み合わせる、平均化するなどを行うために用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、履歴アクションおよび過去のユーザ応答、またはさまざまなオプションに対してさらし、応答を測定することによってユーザから得られた(farmed)データに関して訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定の様式で係数を計算することを説明しているが、本開示は、任意の適切な様式で係数を計算することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ユーザのアクションに基づいて係数を計算し得る。ソーシャル・ネットワーキング・システム1902は、オンライン・ソーシャル・ネットワーク上で、サードパーティ・システム1908上で、他の適切なシステム上で、またはそれらの任意の組み合わせで、そのようなアクションを監視してよい。任意の適切なタイプのユーザ・アクションが追跡または監視されてよい。典型的なユーザ・アクションとしては、プロファイル・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、グループに加わること、イベントにおける出席をリストし確かめること、ロケーションにチェック・インすること、特定のページに対して「いいね」を表明すること、ページを作成すること、およびソーシャル・アクションを促進する他のタスクを実行することがある。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、特定のタイプのコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム1908、または別の適切なシステムに関連付けられ得る。コンテンツとしては、ユーザ、プロファイル・ページ、投稿、ニュース・ストーリー、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、映像、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせがある。ソーシャル・ネットワーキング・システム1902は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が主題、コンテンツ、他のユーザなどに対して親密度を示すか否かを決定し得る。限定としてではなく、一例として、ユーザが、「コーヒー」またはその変種に関係したコンテンツの投稿を頻繁に行う場合、ソーシャル・ネットワーキング・システム1902は、ユーザが「コーヒー」という概念に関して高い係数を有することを決定し得る。特定のアクションまたは特定のタイプのアクションは、計算された全体的係数に影響し得る、他のアクションよりも高い重みおよび/またはレーティングが割り当てられ得る。限定としてではなく、一例として、第1のユーザが第2のユーザに電子メールを出す場合、アクションに対する重みまたはレーティングは、第1のユーザが第2のユーザのためのユーザプロファイル・ページを閲覧するだけの場合よりも高くなり得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、特定のオブジェクト間の関係のタイプに基づいて係数を計算し得る。ソーシャルグラフ2000を参照すると、ソーシャル・ネットワーキング・システム1902は、係数を計算するとき、特定のユーザ・ノード2002と概念ノード2004を接続するエッジ2006の数および/またはタイプを分析し得る。限定としてではなく、一例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザ・ノード2002は、友人タイプのエッジによって接続されるユーザ・ノード2002よりも高い係数が割り当てられ得る。言い換えれば、特定のユーザのためのアクションおよび関係に対して割り当てられた重みに応じて、全体的親密度は、ユーザの友人についてのコンテンツに対するよりもユーザの配偶者についてのコンテンツに対して高くなるように決定され得る。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトに関する係数を計算することに関するユーザのアクションの重みおよび/またはレーティングに影響し得る。限定としてではなく、一例として、コンテンツとタグ付けタイプの関係を有することは、コンテンツと「いいね」タイプの関係を有するよりも高い重みおよび/またはレーティングを割り当てられ得るので、ユーザが第1のフォトでタグ付けされるが、第2のフォトに対しては「いいね」を表明するにすぎない場合、ソーシャル・ネットワーキング・システム1902は、ユーザが、第2のフォトよりも第1のフォトに関して高い係数を有することを決定し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、1つまたは複数の第2のユーザが特定のオブジェクトと有する関係に基づいて、第1のユーザに関する係数を計算し得る。言い換えれば、他のユーザがオブジェクトと有する接続および係数は、第1のユーザのオブジェクトに関する係数に影響し得る。限定としてではなく、一例として、第1のユーザが、1つもしくは複数の第2のユーザに対して接続される、またはそれらに関して高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるまたはそれに関して高い係数を有する場合、ソーシャル・ネットワーキング・システム1902は、第1のユーザも、特定のオブジェクトに関する比較的高い係数も有するべきであることを決定し得る。特定の実施形態では、係数は、特定のオブジェクト間の隔たり次数に基づいてよい。任意の2つのノード間の隔たり次数は、あるノードから他のノードへソーシャルグラフをたどるために必要とされるホップの最小数として定義される。2つのノード間の隔たり次数は、ソーシャルグラフ内の2つのノードによって表されるユーザまたは概念間の関係性の尺度と考えられ得る。たとえば、エッジによって直接的に接続される(すなわち、1次のノードである)ユーザ・ノードを有する2人のユーザは、「接続されたユーザ」すなわち「友人」と説明され得る。同様に、別のユーザ・ノードを通してのみ接続される(すなわち、2次のノードである)ユーザ・ノードを有する2人のユーザは、「友人の友人」と説明され得る。より低い係数は、第1のユーザが、ソーシャルグラフ2000内で第1のユーザに対して間接的に接続されたユーザのコンテンツ・オブジェクトにおいて興味を共有する可能性の減少を表し得る。限定としてではなく、一例として、ソーシャルグラフ2000内でより近い(すなわち、分離次数のより低い)ソーシャルグラフ・エンティティは、ソーシャルグラフ2000内でさらに離れたエンティティよりも高い係数を有し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、ロケーション情報に基づいて係数を計算し得る。互いに対して地理的により近いオブジェクトは、より遠いオブジェクトよりも互いに対してより関係がある、またはより興味があると考えられ得る。特定の実施形態では、特定のオブジェクトのためのユーザの係数は、ユーザに関連付けられている現在のロケーション(またはユーザのクライアント・システム1906のロケーション)に対するオブジェクトのロケーションの近接性に基づき得る。第1のユーザは、第1のユーザに対してより近い他のユーザまたは概念に、より興味があり得る。限定としてではなく、一例として、ユーザが空港から1.609km(1マイル)、ガソリン・スタンドから3.219km(2マイル)のところにいる場合、ソーシャル・ネットワーキング・システム1902は、ユーザに対する空港の近接性に基づいて、ユーザがガソリン・スタンドよりも空港に関して高い係数を有することを決定し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、係数情報に基づいて、ユーザに関する特定のアクションを実行し得る。係数は、ユーザのアクションへの興味に基づいて、ユーザが特定のアクションを実行するか否かを予測するために使用され得る。係数は、広告、検索結果、ニュース・ストーリー、メディア、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトをユーザに対して生成または提示するとき、使用され得る。係数はまた、必要に応じて、そのようなオブジェクトをランキングし、順序付けるために利用され得る。このようにして、ソーシャル・ネットワーキング・システム1902は、ユーザの興味および現在の環境に関連のある情報を提供し、興味のあるそのような情報を見つける可能性を増加させ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、係数情報に基づいてコンテンツを生成し得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択され得る。限定としてではなく、一例として、ユーザが、ユーザがメディア・オブジェクトに関して高い全体的係数を有するメディアが提示される場合、係数は、ユーザのためのメディアを生成するために使用され得る。限定としてではなく、別の例として、ユーザが、ユーザが広告付きオブジェクトに関して高い全体的係数を有する広告が提示される場合、係数は、ユーザのための広告を生成するために使用され得る。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、係数情報に基づいて検索結果を生成し得る。特定のユーザのための検索結果は、クエリを発行したユーザに対する検索結果に関連付けられている係数に基づいてスコア付けまたはランキングされ得る。限定としてではなく、一例として、より高い係数を有するオブジェクトに対応する検索結果は、検索結果ページ上で、より低い係数を有するオブジェクトに対応する結果よりも高くランキングされ得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、特定のシステムまたはプロセスからの係数の要求に応答して係数を計算し得る。ユーザが所与の状況でとり得る(または、その対象であり得る)可能性があるアクションを予測するために、任意のプロセスは、ユーザに関する計算された係数を要求し得る。要求は、係数を計算するために使用されるさまざまな因子に使用する重みのセットも含み得る。この要求は、オンライン・ソーシャル・ネットワーク上で実行されているプロセスから来ることもあるし、サードパーティ・システム1908から(たとえば、APIまたは他の通信チャネルを介して)来ることもあるし、別の適切なシステムから来ることもある。要求に応答して、ソーシャル・ネットワーキング・システム1902は、係数を計算し得る(または、係数情報が以前に計算され、記憶されている場合、その係数情報にアクセスし得る)。特定の実施形態では、ソーシャル・ネットワーキング・システム1902は、特定のプロセスに関して親密度を測定し得る。さまざまなプロセス(オンライン・ソーシャル・ネットワークに対して内部と外部の両方にある)は、特定のオブジェクトまたはオブジェクトのセットに関する係数を要求し得る。ソーシャル・ネットワーキング・システム1902は、親密度の尺度を要求した特定のプロセスに対して関連のある親密度の尺度を提供し得る。このようにして、各プロセスは、プロセスが親密度の尺度を使用する異なるコンテキストに合わせられた親密度の尺度を受信する。
ソーシャルグラフ親密度および親密度係数に関して、特定の実施形態は、その各々が本願明細書に援用される、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月01日に出願された米国特許出願第13/632869号に開示されている1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用し得る。
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの1つまたは複数がプライバシー設定に関連付けられ得る。オブジェクトのためのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス内に、別の適切な様式で、または、それらの任意の組み合わせなどの任意の適切な様式で記憶されてよい。オブジェクトのプライバシー設定は、オブジェクト(またはオブジェクトに関連付けられている特定の情報)が、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス(たとえば、閲覧または共有)され得るかを規定し得る。オブジェクトのためのプライバシー設定は、特定のユーザがそのオブジェクトにアクセスすることを可能にし、オブジェクトは、そのユーザに対して「閲覧可能」と説明され得る。限定としてではなく、一例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザプロファイル・ページのためのプライバシー設定が、ユーザプロファイル・ページ上の職歴情報にアクセスし得るユーザのセットを識別し、したがって、他のユーザを情報にアクセスさせないことを規定し得る。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられている一定の情報にアクセスすることが可能にされるべきではないユーザの「遮断リスト」を規定し得る。言い換えれば、遮断リストは、オブジェクトが見えない1つまたは複数のユーザまたはエンティティを規定し得る。限定としてではなく、一例として、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスし得ないユーザのセットを規定し、したがって、それらのユーザをフォト・アルバムにアクセスさせ得ない(がまた、おそらく、ユーザのセットに含まれない一定のユーザはフォト・アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなどのソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられている情報、またはソーシャルグラフ要素に関連付けられているコンテンツ・オブジェクトがどのようにしてオンライン・ソーシャル・ネットワークを使用してアクセス可能であるかを規定し得る。限定としてではなく、一例として、特定のフォトに対応する特定の概念ノード2004は、そのフォトは、フォトでタグ付けされたユーザおよびユーザの友人によってのみアクセスされ得ることを規定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、アクションをソーシャル・ネットワーキング・システム1902によってログさせること、または他のシステム(たとえば、サードパーティ・システム1908)と共有させることに加わる、または加わらないことを可能にする。特定の実施形態では、オブジェクトに関連付けられているプライバシー設定は、任意の適切な粒度の許容されたアクセスまたはアクセスの否定を規定し得る。限定としてではなく、一例として、アクセスまたはアクセスの否定は、特定のユーザ(たとえば、自分のみ、ルームメイト、および上司)、特定の次数以内の隔たりに含まれるユーザ(たとえば、友人、または友人の友人)、ユーザ・グループ(たとえば、ゲーム・クラブ、家族)、ユーザ・ネットワーク(たとえば、特定の雇用者の従業員、学生、または特定の大学の卒業生)、すべてのユーザ(「パブリック」)、ユーザなし(「プライベート」)、サードパーティ・システム1908のユーザ、特定のアプリケーション(たとえば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザもしくはエンティティ、またはそれらの任意の組み合わせに対して規定され得る。本開示は、特定の様式で特定のプライバシー設定を使用することを説明しているが、本開示は、任意の適切な様式で任意の適切なプライバシー設定を使用することを企図している。
特定の実施形態では、1つまたは複数のサーバは、プライバシー設定を強制するための許可/プライバシー・サーバであってよい。データ・ストア内に記憶された特定のオブジェクトに関するユーザ(または他のエンティティ)からの要求に応答して、ソーシャル・ネットワーキング・システム1902は、オブジェクトのためのデータ・ストアに対して要求を送信し得る。要求は、要求に関連付けられているユーザを識別し得、許可サーバが、オブジェクトに関連付けられているプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることを許可されていることを決定した場合、ユーザ(またはユーザのクライアント・システム1906)のみに対して送信され得る。要求元ユーザが、オブジェクトにアクセスすることが許可されていない場合、許可サーバは、要求されたオブジェクトがデータ・ストアから取り出されるのを防止し得る、または、要求されたオブジェクトがユーザに対して送信されるのを防止し得る。検索クエリ・コンテキストでは、クエリ元ユーザが、オブジェクトにアクセスすることが許可されている場合、そのオブジェクトは、検索結果としてのみ生成され得る。言い換えれば、オブジェクトは、クエリ元ユーザに見える可視性を有さなければならない。オブジェクトが、ユーザに見えない可視性を有する場合、オブジェクトは検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を強制することを説明しているが、本開示は、任意の適切な様式でプライバシー設定を強制することを企図したものである。
上記明細は、特定の例示的な実施形態を参照して記載されている。種々実施形態および本開示の様相は、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
追加または代替の実施形態は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。