(57)【特許請求の範囲】
【請求項１】
１以上のサーバが、支払取引の一部としてユーザからの支払を共同ユーザへ送信する支払要求を前記ユーザに関連付けられている第１のクライアント・デバイスから受信する工程であって、前記支払要求は、支払額を含む、工程と、
前記１以上のサーバが、前記支払要求の前記支払額について前記ユーザの支払クレデンシャルに対する請求要求を支払ネットワークに送信する工程と、
前記１以上のサーバが、前記請求要求が成功したことを示す請求成功応答を前記支払ネットワークから受信する工程と、
前記１以上のサーバが、前記請求成功応答に応答して、１以上の支払キューを介して、前記ユーザに関連付けられている前記第１のクライアント・デバイスおよび前記共同ユーザに関連付けられている第２のクライアント・デバイスに支払開始メッセージをプッシュする工程と、
前記１以上のサーバが、１以上のメッセージ・キューを介して、前記第２のクライアント・デバイスにおけるユーザ間のメッセージング・スレッドに入るために、前記支払を示すメッセージを前記第２のクライアント・デバイスに送信する工程と、
前記１以上のサーバが、前記支払取引についてのステータス更新を受信する、ステータス更新受信工程と、
前記１以上のサーバが、前記１以上の支払キューを介して、前記第１のクライアント・デバイスおよび前記第２のクライアント・デバイスに前記支払取引についての前記ステータス更新をプッシュする、ステータス更新プッシュ工程と、を備える方法。
【請求項２】
前記支払取引についての取引識別子を生成する工程と、
前記取引識別子を前記支払を示すメッセージに関連付ける、取引識別子関連付け工程と、をさらに備える、請求項１に記載の方法。
【請求項３】
前記ステータス更新受信工程は、
前記ステータス更新に関連して前記取引識別子を識別する工程と、
前記取引識別子に基づいて、前記ステータス更新が前記支払取引に関連付けられていることを決定する工程と、を備える、請求項２に記載の方法。
【請求項４】
前記支払を示す前記メッセージに前記取引識別子を関連付ける工程は、
前記メッセージについてのメッセージ識別子を生成する工程と、
前記メッセージ識別子を前記取引識別子にマッピングする工程と、を備える、請求項２に記載の方法。
【請求項５】
前記支払開始メッセージは、前記支払額、送信者ＩＤ、シーケンスＩＤ、取引ＩＤ、ステータス識別子、および受信者ＩＤを備え、
前記支払を示す前記メッセージは、前記支払を示す前記メッセージが前記支払開始メッセージからの前記支払額を表示するように、前記支払開始メッセージ内に前記支払額へのリンクを備える、請求項１に記載の方法。
【請求項６】
前記支払取引についての前記ステータス更新の前記受信に応答して、前記支払開始メッセージの前記シーケンスＩＤを増加させる工程と、
前記クライアント・デバイスの現在のシーケンスＩＤに基づいて、前記支払取引についてのメッセージ・ステータス更新をいずれのクライアント・デバイスにプッシュするべきかを決定する工程と、をさらに備える、請求項５に記載の方法。
【請求項７】
前記１以上のサーバが、前記ステータス更新プッシュ工程は、前記支払取引について受信した前記ステータス更新に基づいて、前記支払開始メッセージの変更を送信する工程を含む、請求項１に記載の方法。
【請求項８】
前記ステータス更新は取引完了更新を備える、請求項１に記載の方法。
【請求項９】
前記ステータス更新は取引取消更新を備える、請求項１に記載の方法。
【請求項１０】
１以上のサーバが、支払取引の一部としてユーザからの支払を共同ユーザへ送信する要求を、前記ユーザに関連付けられている第１のクライアント・デバイスから受信する工程であって、前記要求は、支払額を含む、工程と、
前記１以上のサーバが、前記支払額について前記ユーザの支払クレデンシャルに対する請求要求を支払ネットワークに送信する工程と、
前記１以上のサーバが、前記支払額について前記支払ネットワークからの請求成功応答を前記支払ネットワークから受信する工程と、
前記１以上のサーバが、前記請求成功応答に応答して、支払開始メッセージを前記ユーザに関連付けられている送信者支払キューに追加する工程と、
前記１以上のサーバが、前記請求成功応答に応答して、前記支払取引を示すメッセージを前記ユーザに関連付けられている送信者メッセージ・キューに追加する、メッセージ追加工程であって、前記支払取引を示す前記メッセージは前記支払取引に関連付けられている取引識別子を備える、追加する工程と、
前記１以上のサーバが、
前記支払開始メッセージを前記送信者支払キューから前記第１のクライアント・デバイスおよび受信者支払キューにプッシュする工程と、
前記支払取引を示す前記メッセージを前記送信者メッセージ・キューから前記第１のクライアント・デバイスおよび受信者メッセージ・キューにプッシュする工程とによって、
前記ユーザの前記第１のクライアント・デバイス、前記受信者支払キューおよび前記受信者メッセージ・キューを更新する工程と、を備える方法。
【請求項１１】
前記メッセージ追加工程は、前記請求成功応答に応答して、前記支払取引についての前記取引識別子を生成する工程を備える、請求項１０に記載の方法。
【請求項１２】
前記取引識別子を備える前記支払取引を示す前記メッセージについてのメッセージ識別子を生成する工程と、
前記取引識別子を前記メッセージ識別子にマッピングする工程と、をさらに備える、請求項１１に記載の方法。
【請求項１３】
前記支払開始メッセージを前記受信者支払キューから前記共同ユーザのクライアント・デバイスにプッシュするとともに、前記支払取引を示す前記メッセージを前記受信者メッセージ・キューから前記共同ユーザの前記クライアント・デバイスにプッシュすることによって、前記共同ユーザの前記クライアント・デバイスを更新する工程を、さらに備える、請求項１０に記載の方法。
【請求項１４】
前記支払ネットワークが前記支払取引の完了に成功したことを示す取引完了応答を前記支払ネットワークから受信する工程と、
前記取引完了応答に応答して、前記支払取引についての取引完了ステータス更新を、前記取引識別子に関連する前記受信者支払キューにプッシュする工程と、をさらに備える、請求項１０に記載の方法。
【請求項１５】
前記取引完了応答の受信に基づいて、前記支払開始メッセージに関連付けられているシーケンスＩＤを更新する工程をさらに備える、請求項１４に記載の方法。
【請求項１６】
前記支払開始メッセージを前記送信者支払キューに追加するのと並行して、前記支払取引を示す前記メッセージを前記送信者メッセージ・キューに追加する工程をさらに備える、請求項１５に記載の方法。
【請求項１７】
少なくとも１つのプロセッサと、
命令をそれ自体に記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体と、を備えるデバイスであって、前記命令が前記少なくとも１つのプロセッサによって実行されるとき、
前記１以上のサーバがユーザと共同ユーザとの間の支払取引を開始したことを示す応答を、前記ユーザに関連付けられている支払キューから受信する工程と、
前記支払取引を示すメッセージを、前記ユーザに関連付けられているメッセージ・キューから受信する工程と、
前記ユーザと前記共同ユーザとの間のメッセージング・スレッド内に、前記支払取引を示す前記メッセージを提供する工程であって、前記支払取引を示す前記メッセージは前記支払取引に関連付けられている支払額を備える、提供する工程と、
前記支払取引についてのステータス更新を、送信者支払キューから受信する、ステータス更新受信工程と、
前記送信者支払キューからの前記ステータス更新に基づいて、前記メッセージング・スレッド内の前記支払取引を示す前記メッセージを更新する工程と、を前記デバイスに行わせる、デバイス。
【請求項１８】
前記少なくとも１つのプロセッサによって実行されるとき、
前記支払取引を示す前記メッセージのユーザ選択を受信する工程と、
前記支払取引を示す前記メッセージにマッピングされている取引識別子に基づいて、前記支払取引の現在のステータスを、前記メッセージング・スレッド内に表示する工程と、を前記デバイスに行わせる命令をさらに備える、請求項１７に記載のデバイス。
【請求項１９】
前記ステータス更新受信工程は、前記ステータス更新を備えるプッシュ更新を受信する工程を備える、請求項１８に記載のデバイス。
【請求項２０】
前記少なくとも１つのプロセッサによって実行されるとき、前記ステータス更新に基づいて、前記メッセージング・スレッド内の前記支払取引の前記現在のステータスをリアルタイムで更新する工程を前記デバイスに行わせる命令をさらに備える、請求項１９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明される１つまたは複数の実施形態は一般に、支払要求を交換するためのシステムおよび方法に関する。より詳細には、１つまたは複数の実施形態は、電子支払を改善するシステムおよび方法に関する。
【背景技術】
【０００２】
電子支払システムは、ユーザが１つまたは複数のタイプのデバイス（たとえば、デスクトップ・デバイスおよびモバイル・デバイス）上でソフトウェア・アプリケーションを介して他人と支払取引を実行することを可能にする。いくつかの電子支払システムは、ユーザが金融機関または商人と支払取引を実行することを可能にする（すなわち、ピアツービジネス取引）。他の電子支払システムは、ユーザが電子支払システムの他のユーザと支払取引を実行することを可能にする（すなわち、ピアツーピア支払取引）。
【０００３】
理論的には、従来の電子支払システムは、ユーザ間で金銭を移動するための利便性のある方法を提供する。しかしながら、従来の電子支払システムは、ユーザに不満、混乱を生じさせ、不満足な支払プロセスという結果になることが多いといういくつかの欠点を有する。このような従来の電子支払システムの欠点の１つが、典型的には、送信者と受信者の両方が加入しなければならないスタンドアロン型システムであるということである。該システムの数および限定された機能のために、送信者または受信者の一方が、ある特定の電子支払システムの会員ではない場合が多い。そのため、送信者、受信者、またはその両方が、システムを使用して支払の送信または受信をするために、アカウントを開設し、機密財務情報を提供するという時間のかかるプロセスを経なければならないことがある。多くの場合、ユーザは、最初の取引の後、電子支払システムをほとんど使わないかもしれない。
【０００４】
従来の電子支払システムの限定された性質は、不便性も追加する。特に、従来の電子支払システムのスタンドアロン性質は典型的には、ユーザが支払を送信または受信するために支払取引に対してのみ専用の、別個のアプリケーションを開くことを必要とするが、別個のアプリケーション内でのユーザ間の通信の量／タイプは制限されている。従来の電子支払システムのスタンドアロン性質の不便性は、ユーザにそのようなシステムを使用することを思いとどまらせることがある。
【０００５】
また、従来の支払システムは、典型的には、支払ステータス情報など、ユーザが利用できる情報量も制限されている。具体的には、従来のシステムは、支払取引が開始されたとき、および支払取引が完了したときにはユーザに更新を提供するかもしれないが、他の情報はユーザに提供しないことが多い。したがって、従来のシステムのユーザは、支払取引に関して有用であるかもしれない情報の全部にアクセスできないことがある。
【０００６】
たとえば、多くの従来のシステムは、使用者が支払を送信したことを知らせる電子メールを使用者に送信する。しかしながら、支払の受信を確認するには、ユーザは自分の銀行口座を照会しなければならないことが多い。銀行口座を照会する必要性は、ユーザが何度も口座を照会する必要がある場合には、時間がかかることがありもどかしいことが理解されるであろう。
【０００７】
他の従来のシステムは、支払の受信時にのみ、支払を示すための電子メールを提供する。これらのタイプのシステムも、さまざまな欠点をもたらす。たとえば、商品またはサー
ビスの交換時、受信者は、送信者が支払を送信したかどうかを、支払を受信するまで分からない。
【０００８】
それゆえ、従来の電子支払システムおよび方法には、いくつかの欠点がある。
【発明の概要】
【０００９】
本明細書で説明される１つまたは複数の実施形態は、利益を提供し、および／または当技術分野における前述もしくは他の問題のうちの１つまたは複数を、システムおよび方法を用いて解決し、また、電子支払に関連するユーザ体験をその他の形で改善する。特に、１つまたは複数の実施形態は、ユーザ間の支払取引についてのステータス更新を提供するメッセージング・システムに統合された支払システムを提供する。たとえば、システムおよび方法は、支払取引についてのステータス更新を受信して、そのステータス更新を送信者および受信者の両方にプッシュすることができる。したがって、ユーザは、支払取引に関連する更新情報を適時に受信することができる。
【００１０】
加えて、システムおよび方法は、ユーザ間でのメッセージング交換および支払取引を処理するためのキューを提供する。具体的には、システムおよび方法は、各ユーザがメッセージおよび支払取引に対応する更新を送信および受信するためのメッセージ・キューおよび支払キューをそれぞれ提供することができる。メッセージおよび支払取引に関連する更新を受信してプッシュするためのキューは、ユーザ間のメッセージおよび通信の記憶の高速化を可能にする。
【００１１】
システムおよび方法は、ユーザがメッセージング・アプリケーションのメッセージング・スレッド内でメッセージおよび支払取引の更新情報を閲覧することを可能にすることができる。たとえば、ユーザが別のユーザと支払取引を開始する場合、ユーザは、ユーザ間のメッセージング・スレッド内で支払取引を示すメッセージに関連した支払取引に関する情報を閲覧することができる。このように、各ユーザは、メッセージを交換しながら、メッセージング・スレッド内で支払取引の更新を適時に受信して閲覧することができる。
【００１２】
実施形態の付加的な特徴および利点は、下記に続く説明において述べられ、当該説明から部分的に明らかとなり、または、そのような例示的な実施形態の実施によって学習され得る。そのような実施形態の特徴および利点は、添付の特許請求の範囲において具体的に指摘される機器および組み合わせを用いて実現され、取得され得る。これらおよび他の特徴は、下記の説明および添付の特許請求の範囲から、より完全に明確となり、または、以下において述べられるような、そのような例示的実施形態の実施によって学習され得る。
【００１３】
本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品に向けられた添付の請求項に開示され、ある請求項のカテゴリ、たとえば方法、で述べる特徴は、別の請求項のカテゴリ、たとえばシステム、においても同様に請求することができる。添付の請求項の従属または後方参照は、単に形式的理由のために選ばれている。ただし、任意の先行請求項への意図的な後方参照（特に多項従属）により得られる任意の主題も同様に請求できるので、請求項とその特徴のあらゆる組み合わせが開示され、添付の請求項で選ばれる従属に関係なく請求することができる。請求できる主題は、添付の請求項に記載される通りの特徴の組み合わせだけでなく、請求項の特徴のあらゆる他の組み合わせも含み、請求項で述べられる各特徴は、請求項のあらゆる他の特徴または他の特徴の組み合わせと組み合わせることができる。また、本明細書で説明または図示される実施形態および特徴のいずれも、個々の請求項および／または本明細書で説明もしくは図示されるあらゆる実施形態もしくは特徴、または添付の請求項の特徴のいずれかとのあらゆる組み合わせで請求することができる。
【００１４】
本発明による一実施形態において、方法は、１以上のサーバが、支払取引の一部としてユーザからの支払を共同ユーザへ送信する支払要求をユーザに関連付けられている第１のクライアント・デバイスから受信する工程であって、要求は、支払額を含む、工程と、１以上のサーバが、支払要求の支払額についてユーザの支払クレデンシャルに対する請求要求を支払ネットワークに送信する工程と、１以上のサーバが、請求要求が成功したことを知らせる請求成功応答を支払ネットワークから受信する工程と、１以上のサーバが、請求成功応答に応答して、１以上の支払キューを介して、ユーザに関連付けられている第１のクライアント・デバイスおよび共同ユーザに関連付けられている第２のクライアント・デバイスに支払開始メッセージをプッシュする工程と、１以上のサーバが、１以上のメッセージ・キューを介して、第２のクライアント・デバイスにおけるユーザ間のメッセージング・スレッドに入れるために、支払を示すメッセージを第２のクライアント・デバイスに送信する工程と、１以上のサーバが、支払取引についてのステータス更新を受信する、ステータス更新受信工程と、１以上のサーバが、１以上の支払キューを介して、第１のクライアント・デバイスおよび第２のクライアント・デバイスに支払取引についてのステータス更新をプッシュする、ステータス更新プッシュ工程と、を備える。
【００１５】
本発明による実施形態において、方法は、支払取引についての取引識別子を生成する工程と、取引識別子を支払を示すメッセージに関連付ける工程と、をさらに備えてもよい。
ステータス更新受信工程は、ステータス更新に関連して取引識別子を識別する工程と、取引識別子に基づいて、ステータス更新が支払取引に関連付けられていることを決定する工程と、を備えてもよい。
【００１６】
取引識別子関連付け工程は、メッセージについてのメッセージ識別子を生成する工程と、メッセージ識別子を取引識別子にマッピングする工程と、を備えてもよい。
支払開始メッセージは、支払額、送信者ＩＤ、シーケンスＩＤ、取引ＩＤ、ステータス識別子、および受信者ＩＤとを備えてもよく、支払を示すメッセージは、支払を示すメッセージが支払開始メッセージからの支払額を表示するように、支払開始メッセージ内に支払額へのリンクを備えてもよい。
【００１７】
本発明による実施形態において、方法は、支払取引についてのステータス更新の受信に応答して、支払開始メッセージのシーケンスＩＤを増加させる工程と、クライアント・デバイスの現在のシーケンスＩＤに基づいて、支払取引についてのメッセージ・ステータス更新をいずれのクライアント・デバイスにプッシュするべきかを決定する工程と、をさらに備えてもよい。
【００１８】
ステータス更新プッシュ工程は、支払取引について受信したステータス更新に基づいて、支払開始メッセージの変更を送信する工程を含んでもよい。
ステータス更新は取引完了更新を備えてもよい。
【００１９】
ステータス更新は取引取消更新を備えてもよい。
本発明によるさらなる実施形態において、システムは、１以上のサーバを備え、１以上のサーバは、支払取引の一部としてユーザからの共同ユーザへの支払送信要求を、ユーザに関連付けられている第１のクライアント・デバイスから受信し、要求は、支払額を含み、支払額について、ユーザの支払クレデンシャルに対する請求要求を支払ネットワークに送信し、１以上のサーバが、支払額について支払ネットワークから成功請求要求を支払ネットワークから受信するための、支払エンジンと、支払開始メッセージおよび支払開始メッセージの更新を受信し、支払開始メッセージおよび更新を送信者クライアント・デバイスおよび受信者支払キューにプッシュするための送信者支払キューと、支払を示すとともに、支払取引に関連付けられている取引識別子を備えるメッセージを受信し、支払を示すメッセージを送信者クライアント・デバイスおよび受信者支払キューにプッシュするため
の送信者メッセージ・キューと、支払を示すとともに、支払取引に関連付けられている取引識別子を備えるメッセージを受信し、支払を示すメッセージを受信者クライアント・デバイスおよび送信者支払キューにプッシュするための受信者メッセージ・キューと、を備え、受信者支払キューは、支払開始メッセージおよび支払開始メッセージの更新を受信し、支払開始メッセージおよび更新を受信者クライアント・デバイスおよび送信者支払キューにプッシュするためのものである、システム。
【００２０】
支払ネットワークは、請求成功通知に応答して、支払取引についての取引識別子を生成してもよい。
支払エンジンは、取引識別子を備えるメッセージについてのメッセージ識別子を生成してもよく、取引識別子をメッセージ識別子にマッピングしてもよい。
【００２１】
支払開始メッセージは、支払額、送信者ＩＤ、シーケンスＩＤ、取引ＩＤ、ステータス識別子および受信者ＩＤを備えてもよく、支払を示すメッセージが支払開始メッセージからの支払額を表示するように、支払を示すメッセージが支払開始メッセージに支払額へのリンクを備えてもよい。
【００２２】
送信者および受信者支払キューは、支払取引についてのステータス更新の受信に応答して、支払開始メッセージのシーケンスＩＤを増加させてもよく、クライアント・デバイスの現在のシーケンスＩＤに基づいて、支払取引についてのステータス更新をいずれのクライアント・デバイスにプッシュするべきかを決定してもよい。
【００２３】
支払エンジンは、支払ネットワークが支払取引の完了を成功させたことを示す取引完了応答を支払ネットワークから受信してもよく、取引完了応答に応答して、支払取引についての取引完了ステータス更新を受信者支払キューにプッシュしてもよい。
【００２４】
同様に請求することのできる本発明によるさらなる実施形態において、１以上の非一時的コンピュータ可読記憶媒体は、本発明による方法または上記述べた実施形態のいずれかを実施するように実行されるときに動作可能なソフトウェアを具現化する。
【００２５】
同様に請求することのできる本発明によるさらなる実施形態において、システムは、１以上のプロセッサと、プロセッサに連結されて、プロセッサにより実行可能な命令を備える少なくとも１つのメモリとを備え、前記プロセッサは、本発明による方法または上記述べた実施形態のいずれかを実施するための命令を実行するとき動作可能である。
【００２６】
同様に請求することのできる本発明のさらなる実施形態において、好ましくは非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品は、本発明による方法または上記述べた実施形態のいずれかを実施するためにデータ処理システム上で実行されるとき動作可能である。
【００２７】
本開示の上記および他の利点および特徴が取得され得る手法を説明するために、詳細に上述された本開示のより具体的な説明は、添付の図面に例示される本発明の特定の実施形態への参照によって行われるであろう。図は縮尺通りに描かれていないこと、および、同様の構造または機能の要素は、一般に、図全体にわたって例示の目的のために同様の参照符号によって表されることが留意されるべきである。下記の図面において、括弧付きのテキストおよび破線の境界線（例えば、大きい破線、小さい破線、鎖線、点線）を有するブロックは、本願明細書において、本開示の実施形態に対して付加的な特徴を追加する任意選択的な特徴または動作を例示するために使用される。しかしながら、そのような表記法は、これらが唯一のオプションもしくは任意選択的な動作であること、および／または実線の境界を有するブロックが本開示の一定の実施形態において任意選択的ではないことを
意味すると解釈されるべきではない。これらの図面が、本開示の典型的な実施形態のみを図示しており、そのため、発明の範囲が制限的であると考慮されるべきではないことを理解しつつ、本開示は、添付の図面の使用を通じて、付加的な特異性および詳細さと共に説明され、解説されるであろう。
【図面の簡単な説明】
【００２８】
【図１】１つまたは複数の実施形態による、メッセージおよび支払の送信を促進する例となるシステムの概略図。
【図２】１つまたは複数の実施形態による図１のシステムの詳細な概略図。
【図３Ａ】１つまたは複数の実施形態による、ユーザ間の支払プロセスの一部として対話を例示するシーケンス・フロー図。
【図３Ｂ】１つまたは複数の実施形態による、ユーザ間の支払プロセスの一部として対話を例示するシーケンス・フロー図。
【図３Ｃ】１つまたは複数の実施形態による、ユーザ間の支払プロセスの一部として対話を例示するシーケンス・フロー図。
【図３Ｄ】１つまたは複数の実施形態による、ユーザ間の支払プロセスの一部として対話を例示するシーケンス・フロー図。
【図３Ｅ】１つまたは複数の実施形態による、ユーザ間の支払プロセスの一部として対話を例示するシーケンス・フロー図。
【図３Ｆ】１つまたは複数の実施形態による、ユーザ間の支払プロセスの一部として対話を例示するシーケンス・フロー図。
【図４】１つまたは複数の実施形態による、ユーザ固有のキューを使用してメッセージおよび支払の送信を促進するシステムの模式図。
【図５Ａ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｂ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｃ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｄ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｅ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｆ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｇ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｈ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｉ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｊ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｋ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｌ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｍ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｎ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図５Ｏ】１つまたは複数の実施形態による、支払取引を完了するためのユーザ・インターフェースを例示する図。
【図６】１つまたは複数の実施形態による、支払取引の更新をクライアント・デバイスにプッシュする方法における一連の行為のフローチャート。
【図７】１つまたは複数の実施形態による、支払取引の更新をクライアント・デバイスにプッシュする別の方法における一連の行為のフローチャート。
【図８】１つまたは複数の実施形態による、例となるコンピューティング・デバイスのブロック図。
【図９】１つまたは複数の実施形態による、ソーシャル・ネットワーキング・システムの例となるネットワーク環境を例示する図。
【図１０】１つまたは複数の実施形態による、ソーシャル・ネットワーキング・システムのための例となるソーシャルグラフを例示する図。
【発明を実施するための形態】
【００２９】
本開示の実施形態は、支払を送信および受信することのスピードおよび信頼性を増加させる統合されたメッセージおよび支払システムを提供する。特に、１つまたは複数の実施形態は、電子支払システムと電子メッセージング・システムとを統合する統合されたメッセージおよび支払システムを提供する。統合されたメッセージおよび支払システムは、２人以上のユーザがメッセージならびに電子支払を送信および受信することを可能にする。たとえば、統合されたメッセージおよび支払システムは、共同ユーザとの電子メッセージの交換も可能にするメッセージング・インターフェースを介してユーザが電子支払を共同ユーザに送信することを可能にする。
【００３０】
電子支払システムとメッセージング・システムを統合することによって、システムは、会話のフローの中で電子支払を送信および受信できることをユーザに提供する。したがって、システムは、ユーザが支払取引について通信し、電子支払に専用の別個のアプリケーションを開く必要もなく取引を行うことを可能にする。システムの１つまたは複数の実施形態によって提供される、メッセージの交換中にシームレスに支払を送信することの容易さおよび効率の上昇は、電子支払の使用の増加および電子支払に対する満足をもたらす。
【００３１】
統合されたメッセージおよび支払システムは、支払取引の処理におけるスピードを提供することができる。具体的には、統合されたメッセージおよび支払システムは、ユーザ間の支払取引を処理し、異なるキューを使用して同じアプリケーション内でメッセージを交換することができる。たとえば、システムは、支払キューでは支払取引を、メッセージ・キューでは支払取引を示すメッセージを送信および受信することができる。支払およびメッセージを処理するために個別のキューを提供することによって、システムは、支払およびメッセージング情報を並行して処理することで、メッセージング・アプリケーション内で支払取引およびメッセージを迅速に処理することができる。
【００３２】
加えて、システムは、ユーザごとに個別の支払／メッセージ・キューのペアを提供し得る。特に、システムは各ユーザの個別の支払キューおよび個別のメッセージ・キューを関連付けて、メッセージング・アプリケーション内で支払取引に関連するメッセージを送信および受信する。たとえば、システムは、システムが更新を見失わず、更新をユーザのデバイスに適時にプッシュできるように、特定のユーザに対応するキューを使用して、支払およびメッセージの両方または一方の更新（たとえば、支払の開始、取消、もしくは修正）を処理することができる。また、各ユーザのデバイスで支払／メッセージを更新するためのユーザ固有のキューは、たとえば、ユーザが一時的にシステムへの接続を失う場合でも、メッセージング・アプリケーションの信頼性を改善することもできる。
【００３３】
メッセージ・キューおよび支払キューのそれぞれは、シーケンスＩＤに従ってメッセージおよび更新を記憶することができる。したがって、メッセージ・キューおよび支払キューのそれぞれは、シーケンスＩＤによって順序付けられた取引またはメッセージの履歴の一部を含むことができる。メッセージ・スレッドまたは支払取引は、任意選択でリーセンシーによって順序付けされるので、スレッドまたは取引が変わる場合、シーケンスＩＤを更新することによってスレッドまたは取引はそれぞれのキューの一番上に移動することができる。このように、スレッドまたは取引に対する変更または更新が生じると、キューは更新／変更のシーケンスＩＤを増加させることができる。クライアント・デバイスが最初にメッセージまたは支払取引確認を受信する場合、クライアント・デバイスはシーケンスＩＤを受信することができる。さらにその後の時点で、クライアント・デバイスがキューに接続すると、クライアント・デバイスはシーケンスＩＤを提供することができる。受信したシーケンスＩＤに基づいて、キューは、スレッド／取引のどの部分をクライアント・デバイスが受信したかを把握することができる。さらに、キューは、そのシーケンスＩＤ以降に起こった変更／更新のすべてを提供することができる。このように、クライアント・デバイスが切断してからキューに再接続したとしても、プロセスを繰り返すことができる。
【００３４】
１つまたは複数の実施形態では、統合されたメッセージおよび支払システムは、メッセージング・スレッド内で関係する支払およびメッセージ（たとえば、支払取引を示すメッセージ）を識別することができる。具体的には、システムは、システムが関係する支払およびメッセージをマッピングすることを可能にする一意の識別子を、支払およびメッセージの両方に割り当てることができる。対応する一意の識別子を使用して、関係する支払およびメッセージをまとめてマッピングすることにより、システムは、支払についての更新情報の受信に応答して、支払の更新および対応するメッセージを提供することができる。したがって、システムは、送信者が受信者に支払を送信したことを受信者に通知するメッセージを、メッセージ・キューを介して受信者クライアント・デバイスに送信することができる。支払のステータスが変わると、支払キューは更新を受信者クライアント・デバイスに送信することができる。受信者クライアント・デバイスは、メッセージ・キューから以前に受信したメッセージを更新することができる。こうして、システムは、メッセージとともに支払が送信されるときを受信者に通知し、さらに支払のステータスが変わるとメッセージのステータスを更新することができる。
【００３５】
１つまたは複数の実施形態では、システムは、メッセージング・スレッド内のメッセージに関連付けられているプッシュ通知または支払取引の更新を提供することができる。特に、システムは、対応する支払キューを介して、各ユーザのクライアント・デバイスに支払ステータス更新をプッシュすることができる。たとえば、システムがある特定の支払取引についてのステータス更新（たとえば、資金移動の成功を示す更新）を受信する場合、システムは、送信者および受信者のクライアント・デバイスにシステムからの更新を要求するよう要求しなくても、送信者および受信者のクライアント・デバイスのそれぞれに更新をプッシュすることができる。このように、ユーザは、メッセージング・スレッド内でリアルタイムで支払ステータスの更新を見ることができる。
【００３６】
本明細書で使用されるとき、「メッセージ（ｍｅｓｓａｇｅまたはｍｅｓｓａｇｅｓ）」という用語は、２つ以上のコンピューティング・デバイス間の任意の形の電子通信に及ぶ。メッセージは、テキスト・メッセージ、フォト、ステッカーまたは他のアイコン、映像、音声記録、音楽、音声メールなどを含む。１つまたは複数の実施形態では、メッセージは、リアルタイムで、またはほぼリアルタイムで通信されるインスタント・メッセージである。しかしながら、代替実施形態では、メッセージは、ＳＭＳメッセージ、電子メール、またはソーシャル・ネットワークの投稿もしくはコメントなどの電子通信のうちからのいずれかに及ぶ。
【００３７】
加えて、「支払要求」という用語は、システムが支払取引を開始することを可能にする支払情報を含むメッセージに及ぶ。たとえば、支払要求は、支払額、送信者、受信者、支払方法、システムが支払方法をどのように処理するかを示すフォーマット化、オフライン参照、ならびにユーザによりメッセージのために提供されたテキストなどの追加の情報を含むデータ・パッケージを含む。
【００３８】
本明細書で使用されるとき、「支払取引」という用語は、２つ以上のエンティティ間で通貨またはクレジットを交換する任意のタイプの電子取引に及ぶ。たとえば、支払取引は、統合されたメッセージおよび支払システムの２人のユーザ間の金融電子取引とする。別の例では、支払取引は、ユーザと金融機関または他の複数人からなるエンティティとの間の金融電子取引とする。加えて、支払取引は、金銭贈与、借金の支払、ローンの資金供給、品物および／もしくはサービスの購入を考慮した支払、または他の任意のタイプの金銭移動を表す。加えて、支払取引は、１つまたは複数の通貨でなされ、たとえば為替レートに基づいて、１つまたは複数の追加の通貨に変換されることが可能である。
【００３９】
本明細書で使用されるとき、「口座」または「支払クレデンシャル」という用語は、ユーザのデビット・カード口座、銀行口座、クレジット・カード口座、メッセージング口座、ギフト・カード、または金銭が差し引かれ得るもしくは金銭が入金され得る他の任意の口座に及ぶ。上記の用語ならびに追加の用語の意味は、図に関する以下の開示を考慮すると、より明らかになるであろう。
【００４０】
本明細書で使用されるとき、「キュー」という用語は、メッセージング・アプリケーションのユーザに送信されるデータ、およびメッセージング・アプリケーションのユーザから受信するデータを一時的に記憶する通信媒体に及ぶ。たとえば、キューは、クライアント・デバイスから受信したデータおよびクライアント・デバイスに送信することになるデータの両方または一方を一時的に記憶することができる。特に、キューは、支払取引およびメッセージに関連付けられている永続的データを記憶するデータベースとは別にすることができ、そのデータベースと通信することができる。キューは、新しいメッセージ・データまたはメッセージ更新データをデータ到着順に（たとえば、シーケンスＩＤにより）、支払取引もしくはメッセージの対応識別子に従って、または他の適したタイプの記憶方法に従って記憶することができる。
【００４１】
図１は、１つまたは複数の実施形態による統合されたメッセージングおよび支払システム１００を例示する概略図である。システム１００の概要が、図１に関係して説明される。その後、システム１００の構成要素およびプロセスのより詳細な説明が、残りの図に関係して提供される。
【００４２】
図１によって例示されるように、システム１００は、ユーザ１０２ａ、ユーザ１０２ｂ、および任意の数のユーザ１０２ｎまで（まとめて「ユーザ」）が、対応する数のクライアント・デバイス１０４ａ、１０４ｂ、１０４ｎを使用して対話することを可能にする。図１でさらに例示されるように、クライアント・デバイスは、ネットワーク１０５を介してサーバ・デバイス１０８と通信する。加えて、システム１００は、ネットワーク１０５を介してサーバ・デバイス１０８と通信可能に結合された支払ネットワーク１１５を含む。図１は、ユーザ、クライアント・デバイス、ネットワーク１０５、サーバ・デバイス１０８、および支払ネットワーク１１５の特定の構成を例示しているが、さまざまな追加の構成が可能である。たとえば、クライアント・デバイス１０４ａ、１０４ｂ、１０４ｎは、ネットワーク１０５をバイパスしてサーバ・デバイス１０８と直接的に通信し得る。
【００４３】
上記で簡単に言及されたように、図１は、ユーザ１０２ａおよびユーザ１０２ｂが、ク
ライアント・デバイス１０４ａおよび１０４ｂをそれぞれ使用して、サーバ・デバイス１０８を介して互いと通信することを示す。たとえば、ユーザ１０２ａとユーザ１０２ｂは、テキスト、デジタル・コンテンツ（たとえば、オーディオ、画像、映像）、ロケーション情報、ならびに他の形のデータおよび情報を含む電子メッセージを交換する。たとえば、ユーザ１０２ａは、クライアント・デバイス１０４ａを使用して、ユーザ１０２ｂのために意図されたメッセージを構築する。メッセージを構築した後、ユーザ１０２ａは、ユーザ１０２ｂのために意図されたメッセージを、ネットワーク１０５を介してサーバ・デバイス１０８に対して送信することを、クライアント・デバイス１０４ａに行わせる。サーバ・デバイス１０８は、意図された受信者としてユーザ１０２ｂを識別し、ユーザ１０２ｂに関連付けられているクライアント・デバイス１０４ｂに対してメッセージを転送する。
【００４４】
ユーザが電子通信を交換することを可能にすることに加えて、システム１００は、ユーザが、互いに対しておよび互いから金銭支払を送信および受信することを可能にする。１つまたは複数の実施形態では、システム１００は、ユーザが支払メッセージを定義し、別のユーザに対して送信することを可能にする。たとえば、システム１００は、ユーザ１０２ａが、サーバ・デバイス１０８および支払ネットワーク１１５を介してユーザ１０２ｂに対して支払を送信することを可能にする。同様に、ユーザ１０２ｂは、支払の告知を受信し、支払を受け入れるまたは拒否する。以下でより詳細に説明されるように、サーバ・デバイス１０８は、ユーザ（すなわち、ユーザの口座）間の支払を促進する取引を協調させるために、支払ネットワーク１１５と通信する。
【００４５】
システム１００は、ユーザ１０２ａと１０２ｂとの間の支払を促進するが、システム１００は、ユーザのグループなどの３人以上のユーザ間の支払を促進することもできる。たとえば、ユーザ１０２ａは、ユーザ１０２ｂ、１０２ｎに対して支払を送信し得る。１つまたは複数の実施形態では、以下でさらに詳細に論じられるように、ユーザ１０２ａは、同じ支払取引の中で複数のユーザに対して支払を送信する。そのうえ、１つまたは複数の実施形態では、ユーザのグループは、他のグループもしくは個々のユーザに対してまたはそれからのどちらかで、システム１００を通して支払を送信および／または受信できることが提供され得る。
【００４６】
図１は、ユーザを人として例示しているが、ユーザは、会社、政府、または他のエンティティなどの他のエンティティを含み得る。たとえば、ユーザ１０２ａは、システム１００を使用して、サービスまたは製品のために会社に対して支払を提供する。たとえば、ユーザ１０２ａは、システム１００を介して会社と通信し、その会社から製品またはサービスの購入をすることを最終的に決める。次いで、同じシステム１００を使用して、ユーザ１０２ｂは、その会社に対して製品またはサービスについて支払を送信する。同様に、会社は、個人エンティティであろうと会社エンティティであろうと、他の会社またはベンダーに対して支払を送信し得る。
【００４７】
上記で言及されたように、および図１が例示するように、ユーザ１０２ａおよび１０２ｂはそれぞれ、クライアント・デバイス１０４ａおよび１０４ｂと対話する。クライアント・デバイスの例としては、モバイル・デバイス（たとえば、スマートフォン、タブレット）、ラップトップ、デスクトップ、または他の任意のタイプのコンピューティング・デバイスなどのコンピューティング・デバイスがある。図８および対応する説明は、コンピューティング・デバイスに関する追加の情報を提供する。さらに、および上記で言及されたように、クライアント・デバイスは、ネットワーク１０５を通して通信する。１つまたは複数の実施形態では、ネットワーク１０５は、インターネットまたはワールド・ワイド・ウェブを含む。しかしながら、以下で図８に関してさらに説明されるように、ネットワークは、さまざまな通信技術およびプロトコルを使用する１つまたは複数のプライベート
・ネットワークおよび／またはパブリック・ネットワークを含む。
【００４８】
上記で簡単に論じられたように、システム１００は、ユーザ間での支払の送信および受信を協調させる。たとえば、ユーザ１０２ａは、支払要求を構築し、ユーザ１０２ｂに対して送信する。たとえば、ユーザ１０２ａは、支払方法（たとえば、送信者ユーザ１０２ａのクレジット・カード、デビット・カード、口座残高）、支払額、支払通貨、支払の説明、および／またはさまざまな他の支払詳細を定義するために、クライアント・デバイス１０４ａを介して入力を提供する。
【００４９】
ユーザ１０２ａの観点から、たとえば、送信者ユーザ１０２ａは、通信メッセージ（たとえば、テキスト）を送信するのと同様に支払要求を構築し、送信する。たとえば、１つまたは複数の実施形態では、ユーザ１０２ａは、ユーザ１０２ｂに対して送信することをユーザ１０２ａが望む支払の支払額を含む支払要求を構築する。支払要求を構築した後、送信者ユーザ１０２ａは、次いで、サーバ・デバイスを介してユーザ１０２ｂに対して支払要求を送信する。
【００５０】
１つまたは複数の実施形態では、システム１００は、支払ネットワーク１１５を介して送信者ユーザ１０２ａの１つまたは複数の口座と受信者ユーザ１０２ｂの１つまたは複数の口座との間の取引を協調させる。たとえば、送信者ユーザ１０２ａから支払要求を受信したことに応答して、サーバ・デバイス１０８は、支払ネットワーク１１５内の１つまたは複数の構成要素を使用して支払を処理するために取引情報を通信する。代替的に、またはこれに加えて、システム１００は、１つまたは複数のユーザ口座を直接的に維持することができ、そのため、システム１００は、取引、または取引の一部分を協調させる。
【００５１】
図１に例示されるように、支払ネットワーク１１５は、支払ゲートウェイ・システム１１８と、支払処理システム１２０と、カード・ネットワーク・システム１２２と、発行（イシュアー）銀行システム１２４とを含む。しかしながら、代替実施形態では、支払ネットワーク１１５は、システム１００の特定の実施形態に応じて、より多いまたはより少ない構成要素を含む。
【００５２】
１つまたは複数の実施形態では、たとえば、システム１００は、取引を許可および処理するために、支払ネットワーク１１５と通信する。たとえば、図１に示されるように、システム１００は、支払ゲートウェイ・システム１１８に対して取引を送信する。支払ゲートウェイ・システム１１８が取引を受信すると、支払ゲートウェイ・システム１１８は、支払受信者ユーザのアクワイアラ（ａｃｑｕｉｒｉｎｇ）銀行によって使用されるプロセッサ（たとえば、支払処理システム１２０）に対して取引を送信する。支払の方法（たとえば、送信者ユーザの口座）に基づいて、支払処理システム１２０は、適切なカード・ネットワーク・システム１２２に対して取引を送る。多くの場合、次いで、カード・ネットワーク・システム１２２は、発行銀行システム１２４に対して取引を送信する。
【００５３】
発行銀行システム１２４は、取引を受け入れるまたは拒否するのどちらかであり、その判断をカード・ネットワーク・システム１２２に対して返送する。次いで、カード・ネットワーク１２２は、その判断を支払処理システム１２０に対して送信する。次いで、支払処理システム１２０は、その判断を支払ゲートウェイ・システム１１８に対して転送することができ、１つまたは複数の実施形態では、支払ゲートウェイ・システム１１８は、取引および判断に関係する詳細を維持する。支払処理システム１２０は、判断をシステム１００に対しても送信する。
【００５４】
次いで、アクワイアラ銀行は、預り額を充当するように資金供給要求を支払処理システム１２０に対して送信することができ、支払処理システム１２０は、その資金供給要求を
、適切なカード・ネットワーク・システム１２２に対して渡す。次いで、カード・ネットワーク・システム１２２は、発行銀行システム１２４に対して資金供給要求を送信する。発行銀行システム１２４は、送信者ユーザの口座に対して取引を記し、カード・ネットワーク・システム１２２に対して資金の放出を渡すことができ、次いで、資金は、支払処理システム１２０に、次いでアクワイアラ銀行に対して渡される。
【００５５】
１つまたは複数の実施形態によれば、ユーザ１０２ａとユーザ１０２ｂとの間の支払取引において支払を許可および受信または許可もしくは受信した後、システム１００は、ユーザ１０２ａからユーザ１０２ｂに資金を移動することができる。具体的には、システム１００は、支払用の資金をユーザ１０２ｂの支払口座（たとえば、デビット）へ入金する取引を促進することができる。たとえば、システム１００は、ユーザ１０２ｂのデビット口座への資金の入金のために移動を促進することができる（たとえば、自動支払処理装置（ＡＣＨ：Ａｕｔｏｍａｔｅｄ  Ｃｌｅａｒｉｎｇ  Ｈｏｕｓｅ）、ＥＦＴ（Ｅｌｅｃｔｒｏｎｉｃ  Ｆｕｎｄ  Ｔｒａｎｓｆｅｒ：電子資金移動）または他のデビット・カード移動方法を使用して）。クライアント・デバイス１０４ａは、対応する支払方法に応じて支払要求をフォーマット化し得る。
【００５６】
図２は、システム１００の追加の詳細を例示する概略図を例示する。示されるように、システム１００は、クライアント・デバイス１０４ａと、１０４ｂと、サーバ・デバイス１０８と、支払ネットワーク１１５とを含む。一般に、システム１００は、クライアント・デバイス１０４ａのユーザが、クライアント・デバイス１０４ｂの受信者に対して支払を送信する、またはクライアント・デバイス１０４ｂの受信者から支払を受信することを可能にする。加えて、システムは、クライアント・デバイス１０４ａのユーザが、クライアント・デバイス１０４ｂのユーザとメッセージを交換することを可能にする。
８  示されるように、システム１００は、クライアント・デバイス１０４ａ、１０４ｂ、およびサーバ・デバイス１０８上にさまざまな構成要素を含む。たとえば、図２は、クライアント・デバイス１０４ａ、１０４ｂが各々、さまざまな構成要素を有するクライアント・アプリケーション２０２（たとえば、メッセージング・アプリケーション）を含むことができ、サーバ・デバイス１０８が、さまざまな構成要素を有するネットワーク・アプリケーション２０４、支払エンジン２０６、および、キュー・マネージャ２４６を含むことを例示する。以下でより詳細に説明されるように、クライアント・アプリケーション２０２、ネットワーク・アプリケーション２０４、および支払エンジン２０６の構成要素は、ユーザが支払を送信し、支払を受信し、メッセージを交換することを可能にするために協働する。
【００５７】
示されるように、クライアント・アプリケーション２０２は、ユーザ・インターフェース・マネージャ２０８と、ユーザ入力ディテクタ２１０と、メッセージング・ハンドラ２１２と、メッセージ・アナライザ２１４と、ロケーション・ディテクタ２１６と、支払要求ジェネレータ２１８と、データ・マネージャ２２０とを含む。図２は、ネットワーク・アプリケーション２０４が、通信マネージャ２３０と、ステータス・マネージャ２３２と、メッセージ・データベース２３４と、プロファイル・データベース２３６と、リスク計算機２３８とを含むことを例示する。以下で説明されるように、ネットワーク・アプリケーション２０４は、任意選択で、ソーシャルグラフ２５０も含むことができ、ソーシャルグラフ２５０は、ノード情報２５２と、エッジ情報２５４とを含む。図２はまた、支払エンジン２０６が、支払マネージャ２４０と、取引データベース２４２と、口座マネージャ２４４とを含むことを例示する。構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４の各々は、任意の適切な通信技術を使用して互いと通信する。構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４は、図２では別個であるように示されているが、構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４のいずれも、単一の設備またはモジュールなど、より少ない構成要素へと結合されてもよいし、特定
の実施形態に役立ち得るより多くの構成要素に分割されてもよいことが認識されよう。図２は、一定の構成要素をクライアント・アプリケーション２０２の一部として、および他の構成要素をネットワーク・アプリケーション２０４の一部として説明しているが、本開示はそのように限定されない。代替実施形態では、クライアント・アプリケーション２０２の一部として示される構成要素のうちの１つまたは複数はネットワーク・アプリケーション２０４の一部とする、またはその逆にする。同様に、ネットワーク・アプリケーション２０４の一部として示される１つまたは複数の構成要素は支払エンジン２０６の一部とする、またはその逆にする。
【００５８】
構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４は、ソフトウェア、ハードウェア、または両方を備える。たとえば、構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４は、非一時的コンピュータ可読記憶媒体上に記憶され、クライアント・デバイス１０４ａ、１０４ｂ、またはサーバ・デバイス１０８の少なくとも１つのプロセッサによって実行可能なコンピュータ命令を備える。少なくとも１つのプロセッサによって実行されるとき、コンピュータ実行可能命令は、本明細書で説明される方法およびプロセスを実行することをクライアント・デバイス２００ａ、２００ｂまたはサーバ・デバイス１０８に行わせる。代替的に、構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４は、一定の機能または機能のグループを実行するために、特殊目的処理デバイスなどのハードウェアを備える。加えて、または代替的に、構成要素２０８〜２２０、２３０〜２４６、２５２、および２５４は、コンピュータ実行可能命令の組み合わせと、ハードウェアとを備える。
【００５９】
１つまたは複数の実施形態では、クライアント・アプリケーション２０２は、クライアント・デバイス１０４ａ、１０４ｂのうちの１つにインストールされたネイティブ・アプリケーションとする。たとえば、クライアント・アプリケーション２０２は、スマートフォンまたはタブレットなどのモバイル・デバイス上にインストールおよび実行されるモバイル・アプリケーションであってよい。代替的に、クライアント・アプリケーション２０２は、デスクトップ・アプリケーション、ウィジェット、または他の形のネイティブ・コンピュータ・プログラムとする。代替的に、クライアント・アプリケーション２０２は、クライアント・デバイスがアクセスする遠隔アプリケーションであってよい。たとえば、クライアント・アプリケーション２０２は、クライアント・デバイスのウェブ・ブラウザ内で実行されるウェブ・アプリケーションであってよい。
【００６０】
上記で言及されたように、および図２に示されるように、クライアント・アプリケーション２０２は、ユーザ・インターフェース・マネージャ２０８を含む。ユーザ・インターフェース・マネージャ２０８は、ユーザがメッセージを構築する、見る、および送信する、ならびに支払を送信することを可能にするグラフィカル・ユーザ・インターフェース（または単に「ユーザ・インターフェース」）を提供、管理、および／または制御する。たとえば、ユーザ・インターフェース・マネージャ２０８は、インスタント・メッセージなどのメッセージの構築を促進するユーザ・インターフェースを提供する。同様に、ユーザ・インターフェース・マネージャ２０８は、他のユーザから受信されたメッセージを表示するユーザ・インターフェースを提供する。
【００６１】
より詳細には、ユーザ・インターフェース・マネージャ２０８は、（たとえば、クライアント・デバイス１０４ａ、１０４ｂに関連付けられている表示デバイスによって）ユーザ・インターフェースの表示を促進し得る。たとえば、ユーザ・インターフェースは、ユーザがメッセージまたは支払を構築、送信、および受信することを可能にする複数のグラフィカル・コンポーネント、グラフィカル・オブジェクト、および／またはグラフィカル要素から構成され得る。より詳細には、ユーザ・インターフェース・マネージャ２０８は、ユーザがメッセージング・スレッドを見ることを可能にするグラフィカル・コンポーネ
ント、グラフィカル・オブジェクト、および／またはグラフィカル要素のグループを表示するようにクライアント・デバイス１０４ａ、１０４ｂに指示し得る。
【００６２】
加えて、ユーザ・インターフェース・マネージャ２０８は、メッセージを構築および送信するためのユーザ入力を促進する１つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素を表示するようにクライアント・デバイス１０４ａ、１０４ｂに指示し得る。例示するために、ユーザ・インターフェース・マネージャ２０８は、ユーザがクライアント・アプリケーション２０２に対してユーザ入力を提供することを可能にするユーザ・インターフェースを提供し得る。たとえば、ユーザ・インターフェース・マネージャ２０８は、ユーザが１つまたは複数のタイプのコンテンツをメッセージに入力することを可能にする１つまたは複数のユーザ・インターフェースを提供する。本明細書で使用されるとき、「コンテンツ」は、メッセージの一部として含まれることになる任意のデータまたは情報に及ぶ。たとえば、「コンテンツ」という用語は、本明細書では、テキスト、画像、デジタル・メディア、ファイル、ロケーション情報、支払情報、およびメッセージの一部として含まれる他の任意のデータを一般的に説明するために使用される。
【００６３】
上記で論じられたように、メッセージ内に含まれるコンテンツの一例は、送信者ユーザから受信者ユーザへの支払である。１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、ユーザが容易かつ効率的に支払を定義し、１つまたは複数の他のユーザに対して送信することを可能にするためのユーザ・インターフェースを提供する。たとえば、ユーザ・インターフェース・マネージャ２０８は、ユーザが支払を作成および送信するために対話する、１つまたは複数の入力フィールドおよび／または１つまたは複数のユーザ選択可能要素を提供する。
【００６４】
前述の内容に加えて、ユーザ・インターフェース・マネージャ２０８は、クライアント・アプリケーション２０２の１つまたは複数の構成要素から命令または通信を受信して、更新されたメッセージ情報、更新された支払のステータス、および／または更新された利用可能なアクションを表示する。ユーザ・インターフェース・マネージャ２０８は、取引プロセス内の特定の時点において特定のオプションが利用可能であるか否かに基づいて、利用可能なオプションを更新する。以下で論じられるように、ユーザ・インターフェース・マネージャ２０８は、送信者ステータス・メッセージおよび／または受信機ステータス・メッセージ内に、さまざまな他の選択可能アクションを追加、削除、および／または更新する。
【００６５】
ユーザ・インターフェース・マネージャ２０８は、電子通信またはメッセージ内に含まれることになるテキストまたは他のデータの入力を促進する。たとえば、ユーザ・インターフェース・マネージャ２０８は、キーボードを含むユーザ・インターフェースを提供する。ユーザは、電子通信内に含まれることになるテキストを選択するために１つまたは複数のタッチ・ジェスチャーを使用してキーボードと対話する。たとえば、ユーザは、キーボードを使用して、メッセージを入力し、電子通信内で１つまたは複数の他のコンテンツ・アイテムに付随させるおよび／またはこれを説明する。テキストに加えて、キーボード・インターフェースを含むユーザ・インターフェースは、さまざまな他の文字、シンボル、アイコン、または他の文字情報の入力を促進する。
【００６６】
図２でさらに例示されるように、クライアント・アプリケーション２０２は、ユーザ入力ディテクタ２１０を含む。１つまたは複数の実施形態では、ユーザ入力ディテクタ２１０は、任意の適切な様式でユーザ入力を検出、受信、および／または促進する。いくつかの例では、ユーザ入力ディテクタ２１０は、ユーザ・インターフェースに関する１つまたは複数のユーザ対話を検出する。本明細書で参照されるように、「ユーザ対話」は、１つまたは複数の入力デバイスによってユーザから受信される、単一の対話、または対話の組
み合わせを意味する。
【００６７】
たとえば、ユーザ入力ディテクタ２１０は、キーボード、マウス、タッチ・パッド、タッチスクリーン、および／または他の任意の入力デバイスからのユーザ対話を検出する。クライアント・デバイス１０４ａ、１０４ｂがタッチスクリーンを含む場合には、ユーザ入力ディテクタ２１０は、ユーザ対話を形成するユーザからの１つまたは複数のタッチ・ジェスチャー（たとえば、スワイプ・ジェスチャー、タップ・ジェスチャー、ピンチ・ジェスチャー、または逆ピンチ・ジェスチャー）を検出する。いくつかの例では、ユーザは、ユーザ・インターフェースの１つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素に関係する、および／またはそれに宛てられた、タッチ・ジェスチャーを提供する。
【００６８】
ユーザ入力ディテクタ２１０は、加えて、または代替的に、ユーザ対話を表すデータを受信し得る。たとえば、ユーザ入力ディテクタ２１０は、ユーザからの１つもしくは複数のユーザ構成可能パラメータ、ユーザからの１つもしくは複数のユーザ・コマンド、および／または他の任意の適切なユーザ入力を受信し得る。ユーザ入力ディテクタ２１０は、クライアント・アプリケーション２０２の１つもしくは複数の構成要素から、クライアント・デバイス１０４ａ、１０４ｂ上のストレージから、または１つもしくは複数の遠隔ロケーション（たとえば、ネットワーク・アプリケーション２０４）から、入力データを受信し得る。
【００６９】
クライアント・アプリケーション２０２は、ユーザ入力ディテクタ２１０がユーザ入力を検出したおよび／または他のデータを受信したことに応答して、１つまたは複数の機能を実行する。一般に、ユーザは、ユーザ入力ディテクタ２１０が検出する１つまたは複数のユーザ入力を提供することによって、クライアント・アプリケーション２０２を制御する、その中をナビゲートする、そうでなければ、それを使用する。たとえば、ユーザ入力ディテクタ２１０がユーザ入力を検出したことに応答して、クライアント・アプリケーション２０２の１つまたは複数の構成要素は、ユーザが、メッセージの受信者を選択する、メッセージを構築する、メッセージ内に含むコンテンツを選択する、および／または受信者に対してメッセージを送信することを可能にする。加えて、ユーザ入力ディテクタ２１０がユーザ入力を検出したことに応答して、クライアント・アプリケーション２０２の１つまたは複数の構成要素は、ユーザが１つまたは複数のユーザ・インターフェースを通してナビゲートして、受信されたメッセージ、連絡先などをレビューすることを可能にする。
【００７０】
１つまたは複数の実施形態では、ユーザ入力ディテクタ２１０が１つまたは複数のユーザ入力を検出したことに応答して、クライアント・アプリケーション２０２は、ユーザが支払を作成して、１つまたは複数の他のユーザに対して送信することを可能にする。たとえば、支払を送信したいユーザは、ユーザ・インターフェース内のメニュー上に提供された支払要素と対話する。支払要素とのユーザ対話を検出すると、ユーザ入力ディテクタ２１０は、支払を作成するためのユーザ・インターフェースを提供することをユーザ・インターフェース・マネージャ２０８に行わせる。そのため、以下でさらに説明されるように、ユーザ入力ディテクタ２１０が１つまたは複数のユーザ入力を検出したことに応答して、クライアント・アプリケーション２０２は、ユーザが、別のユーザに対して送信されることになる支払を定義するカスタマイズされた支払を作成することを可能にする。
【００７１】
図２でさらに例示されるように、クライアント・アプリケーション２０２は、クライアント・アプリケーション２０２に対して提供されたまたはそれから送信されたメッセージを管理するメッセージ・ハンドラ２１０を含む。たとえば、メッセージ・ハンドラ２１０は、ユーザ・インターフェース・マネージャ２０８およびユーザ入力ディテクタ２１０と
対話して、クライアント・アプリケーション２０２を使用したメッセージの送信および受信を協調させる。メッセージ・ハンドラ２１０は、複数の参加者間での電子メッセージング・セッションの間にネットワーク・アプリケーション２０４に対するおよびそれからのメッセージの送信および受信を指示し得る。メッセージ・ハンドラ２１０は、着信メッセージおよび発信メッセージを編成し、メッセージを表示するようにユーザ・インターフェース・マネージャ２０８に指示し得る。
【００７２】
１つまたは複数の実施形態では、メッセージ・ハンドラ２１０は、クライアント・アプリケーション２０２を介してデータを受信および送信することを促進する。特に、メッセージ・ハンドラ２１０は、メッセージを送信および受信することを促進する。たとえば、本明細書で説明されるように、メッセージ・ハンドラ２１０は、メッセージ内に含まれることになるコンテンツをパッケージ化し、適切な通信プロトコルを使用して１つまたは複数の通信チャネルを通して送信可能な任意の必要な形でメッセージをフォーマットする。同様に、メッセージ・ハンドラ２１０は、クライアント・デバイス２０４が他のユーザから受信したメッセージを処理する。
【００７３】
クライアント・アプリケーション２０２に通信機能を提供することに加えて、メッセージ・ハンドラ２１０は、メッセージ・データへのアクセスを提供する。たとえば、メッセージ・ハンドラ２１０は、含めることになる連絡先のリスト、または連絡先の１つまたは複数のグループ、およびメッセージに対する受信者を表すデータにアクセスする。例示するために、メッセージ・ハンドラ２１０は、ユーザが、連絡先リストを検索およびブラウズし、メッセージの受信者として含むことになる個々の連絡先または連絡先のグループを最終的に選択することを可能にするために、連絡先リストを表すデータを取得し、ユーザ・インターフェース・マネージャ２０８に対して提供する。１つまたは複数の実施形態では、ソーシャル・ネットワーキング・システムは、遠隔連絡先リスト・データ（たとえば、「友達リスト」）を維持することができ、メッセージ・ハンドラ２１０は、クライアント・アプリケーション２０２内で使用するためにソーシャル・ネットワーキング・システム上の連絡先リスト・データにアクセスする。
【００７４】
メッセージ・ハンドラ２１０は、クライアント・アプリケーション２０２がメッセージを構築、送信、および受信するために使用する他のローカル・データまたは遠隔データへのアクセスを提供することもできる。たとえば、メッセージ・ハンドラ２１０は、ユーザがメッセージ内に含むファイル、画像、オーディオ、映像、および他のコンテンツへのアクセスを取得する。そのうえ、メッセージ・ハンドラ２１０は、メッセージ内に含めるコンテンツをキャプチャまたは作成する能力をユーザに提供するように、送信者クライアント・デバイス２０４の１つまたは複数の機能へのアクセスを提供する。たとえば、メッセージ・ハンドラ２１０は、カメラ、マイクロホン、またはユーザがコンテンツをキャプチャしてメッセージ内に含めることを可能にする他の機能を起動する。
【００７５】
加えて、メッセージ・ハンドラ２１０は、支払の送信を促進することができる。特に、図２は、クライアント・アプリケーション２０２が、支払プロセス／取引を開始するためにメッセージ・ハンドラ２１０がネットワーク・アプリケーション２０４に対して送信可能な支払要求を生成することができる支払要求ジェネレータ２１８を含むことができることを例示する。たとえば、送信者がユーザ・インターフェース上で支払要素を選択すると、支払要求ジェネレータ２１８は、送信者から受信した支払情報を含むデータ・パッケージを作成することができる。支払要求は、支払取引の一部として送信されることになる金銭の額の標識ならびにネットワーク・アプリケーションが支払取引を実行することを可能にするために必要な任意の情報を含むことができる。１つまたは複数の実施形態によれば、メッセージ・ハンドラ２１０は、以下さらに詳しく説明するように、ネットワーク・アプリケーション２０４と直接および／またはキュー・マネージャ２４６を介して通信する
ことができる。
【００７６】
１つまたは複数の実施形態では、支払要求ジェネレータ２１８は、支払額、１つまたは複数の送信者識別子、１つまたは複数の受信者識別子、１つまたは複数の支払方法もしくは送信者口座情報、許可情報、通貨情報、メッセージもしくは支払説明、および／または送信者から受信者への支払を促進するために有用であり得る他の任意のデータを含むデータ・パッケージを作成することができる。代替的に、支払要求は、受信者、支払額、および送信者ユーザのクライアント・デバイス１０４ａが送信および受信データの不整合を解決することが可能なオフライン・リファレンスを識別することができる。支払要求ジェネレータ２１８は、ネットワーク・アプリケーション２０４に対して送信するために、支払要求（たとえば、支払情報を含むデータ・パッケージ）をメッセージ・ハンドラ２１０に対して渡すことができる。
【００７７】
支払要求ジェネレータ２１８はまた、さまざまなソースから支払情報を取得することもできる。たとえば、支払要求ジェネレータ２１８は、ユーザ入力ディテクタ２１０を介して送信者から直接的に支払情報を取得することができる。加えて、または代替的に、支払要求ジェネレータは、データ・マネージャ２２０によってクライアント・デバイス１０４ａ、１０４ｂ上で維持される支払情報へのアクセスを得ることができる。たとえば、クライアント・アプリケーション２０２は、送信者が、さまざまな支払方法を入力および保存する、ならびに／またはデフォルト支払方法、デフォルト通貨を識別する、ならびに他の形で支払を送信および／もしくは受信することに関係する他のユーザのプリファレンスを規定することを可能にすることができる。
【００７８】
支払要求ジェネレータ２１８はまた、クライアント・アプリケーション２０２を介したユーザからの入力に基づいたメッセージのフォーマット化を促進し得る。具体的には、支払要求ジェネレータ２１８は、対応する支払方法に応じて支払要求をフォーマットすることを促進することができる。たとえば、支払要求ジェネレータ２１８は、ユーザがデビット取引において共同ユーザに支払う要求と、それに応じて共同ユーザに対する支払要求のフォーマットを入力したことを決定することができる。１つまたは複数の例では、支払要求ジェネレータ２１８は、支払要求が、支払取引に関連付けられている支払情報もしくは支払クレデンシャルに基づいて、または送信ユーザによる具体的な選択に基づいて、当日処理のためにフォーマットされるべきであることを決定することができる。
【００７９】
１つまたは複数の実施形態では、支払要求ジェネレータ２１８は、支払要求内のトークンにアクセスし、これを提供することができる。トークンは、ネットワーク・アプリケーション２０４によって記憶された支払クレデンシャルを参照することができる。たとえば、支払要求ジェネレータ２１８は、支払要求内にまたはこれとともに含めるトークンを取り出すことができ、支払要求は、ネットワーク・アプリケーション２０４によって記憶された支払クレデンシャルを使用して支払をすることが許可されるとして送信者および送信者クライアント・デバイス１０４ａの両方または一方を検証する。
【００８０】
上記で言及されたように、クライアント・アプリケーション２０２は、メッセージ・アナライザ２１４をさらに含む。メッセージ・アナライザ２１４は、潜在的なイベントのためにクライアント・アプリケーション２０２から送信されたおよびこれによって受信されたメッセージを分析する。１つまたは複数の実施形態では、メッセージ・アナライザ２１４は、ユーザ間で交換された電子メッセージから、交換されたメッセージ内のコンテキスト内容に基づいて、イベントを推測する。具体的には、メッセージ・アナライザ２１４は、ソーシャル・ネットワーキング・イベントまたは支払の機会を示す一定の語句または文字列を識別する。たとえば、文字列は、２人以上のユーザ間のメッセージング・スレッド内の電子メッセージからの所定の文字列を含む。
【００８１】
クライアント・アプリケーション２０２は、ロケーション・ディテクタ２１６をさらに含む。ロケーション・ディテクタ２１６は、クライアント・デバイス１０４ａ、１０４ｂからのＧＰＳ情報、セル・タワー三角測量、ＷＩＦＩ受信信号強度標識、ＷＩＦＩ無線フィンガープリンティング、無線周波数識別、短距離通信に基づいて、メッセージを分析することによって、または他のソースからのデータに基づいて、クライアント・デバイス１０４ａ、１０４ｂのロケーションにアクセスまたはこれを識別する。ロケーション・ディテクタ２１６は、次いで、メッセージ・アナライザ２１４またはネットワーク・アプリケーション２０４に対してクライアント・デバイス１０４ａ、１０４ｂのロケーションを提供する。加えて、ロケーション・ディテクタ２１６は、ネットワーク・アプリケーション２０４から他のクライアント・デバイスのロケーションの標識を受信し、それらをメッセージ・アナライザ２１４に対して提供する。
【００８２】
上記で論じられたように、クライアント・デバイス１０４ａは、図２に例示されるように、データ・マネージャ２２０を含む。データ・マネージャ２２０は、ユーザと１人または複数の他のユーザとの間でメッセージを構築、送信、および受信することと関係して使用されるデータを表すメッセージ・データを維持する。たとえば、メッセージ・データは、メッセージ・ログ、連絡先リスト、コンテンツ、過去の通信、およびユーザがクライアント・アプリケーション２０２を使用して通信できることを提供することと関係してクライアント・アプリケーション２０２が使用する他の類似のタイプのデータを含む。
【００８３】
データ・マネージャ２２０はまた、支払要求を生成するために使用される情報を表す支払データを維持し得る。たとえば、支払データは、支払方法データ（すなわち、クレデンシャル）および／または口座データ（たとえば、銀行またはクレジット・カード口座データ）を含み得る。そのうえ、支払データは、支払に関するプリファレンス（たとえば、デフォルト支払方法）を含む。一般に、支払データは、支払要求ジェネレータ２１８が支払を生成することと関係して使用する任意のデータを含んでよい。
【００８４】
上記で簡単に言及されたように、クライアント・デバイス１０４ａ、１０４ｂに加えて、システム１００は、サーバ・デバイス１０８上で全部または部分的に実施されるネットワーク・アプリケーション２０４をさらに含む。本開示の１つまたは複数の実施形態では、ネットワーク・アプリケーション２０４は、ソーシャル・ネットワーキング・システム（限定されるものではないが、フェースブック（登録商標）など）を備えるが、他の実施形態では、ネットワーク・アプリケーション２０４は、限定されるものではないが、電子メール・アプリケーション、検索エンジン・アプリケーション、バンキング・アプリケーション、またはユーザ口座を利用する任意の数の他のアプリケーション・タイプを含む別のタイプのアプリケーションを備え得る。
【００８５】
ネットワーク・アプリケーション２０４がソーシャル・ネットワーキング・システムを備える１つまたは複数の実施形態では、ネットワーク・アプリケーション２０４は、複数のユーザおよび概念を表し、分析するためのソーシャルグラフ２５０を含み得る。ソーシャルグラフ２５０のノードストレージ２５２は、ユーザ用ノード、概念用ノード、取引用ノード、およびアイテム用ノードを備えるノード情報を記憶する。ソーシャルグラフ２５０のエッジストレージ２５４は、ソーシャル・ネットワーキング・システム内で発生するノードおよび／またはアクション間の関係を備えるエッジ情報を記憶する。ソーシャル・ネットワーキング・システム、ソーシャルグラフ、エッジ、およびノードに関するさらなる詳細は、以下で図１０に関して提示される。
【００８６】
通信マネージャ２３０は、クライアント・アプリケーション２０２から受信されたメッセージを処理する。たとえば、通信マネージャ２３０は、クライアント・アプリケーショ
ン２０２のメッセージ・ハンドラ２０６と対話する。通信マネージャ２３０は、電子メッセージング・スレッド内のユーザ間でやりとりされるメッセージのディレクタの役割を担う。通信マネージャ２３０は、クライアント・アプリケーション２０２からメッセージを受信し、メッセージの意図された受信者を検出して、意図された受信者に関連付けられているクライアント・アプリケーション２０２（またはデバイス）に対してメッセージを送信し得る。通信マネージャ２３０が、受信者に関連付けられている複数のクライアント・デバイス（すなわち、ユーザがあるバージョンのクライアント・アプリケーション２０２をインストールした各デバイス）に対して受信者のためのメッセージを宛てることが理解されるであろう。
【００８７】
加えて、通信マネージャ２３０は、宛先通信デバイスまたはタイプによって使用されるメッセージング・プロトコルに基づいて、メッセージを再フォーマットするまたは別のやり方でメッセージの内容もしくはフォーマットを修正することもできる。したがって、１つまたは複数の実施形態では、システム１００は、異なる通信プラットフォームを使用する参加者がメッセージを交換することを可能にする。たとえば、通信マネージャ２３０は、第１のプロトコル（ＳＭＳ、ＩＭ、ＸＭＰＰ、ＡＰＮＳなど）によりメッセージを受信し、メッセージを第２のプロトコルへと再フォーマットして、再フォーマットされたメッセージを意図された受信者に対して送信する。
【００８８】
ステータス・マネージャ２３２は、クライアント・アプリケーション２０２および／またはクライアント・デバイス１０４ａ、１０４ｂのユーザのステータスを追跡する。たとえば、ステータス・マネージャ２３２は、ユーザがいつクライアント・アプリケーション２０２にログインされるか、ユーザがいつクライアント・アプリケーション２０２上でアクティブであるか、ユーザまたはユーザ口座に関連付けられているクライアント・デバイス１０４ａ、１０４ｂがいつオンラインまたはアクティブであるかを識別する。ステータス・マネージャ２３２は、クライアント・アプリケーション２０２に対して標識（プッシュ通知など）を送信して、クライアント・アプリケーション２０２に、ユーザ、デバイス、メッセージ、または支払のステータスを通知する。ユーザ・インターフェース・マネージャ２０８は、ステータス・マネージャ２３２から受信された標識に基づいて、ステータス通知を追加、修正、または別のやり方で変更もしくは更新する。たとえば、ステータス・マネージャ２３２は、別のユーザがメッセージにアクセスしたこと、支払を受信したこと、支払を送信したこと、アクティブであること、共同ユーザがアクティブなデバイスまたはデバイス・タイプ（たとえば、モバイル対ウェブ）などを示す標識をクライアント・アプリケーション２０２に対して送信する。ユーザ・インターフェース・マネージャ２０８は、次に、ユーザにステータスを通知するためにユーザ・インターフェースを更新する。
【００８９】
ネットワーク・アプリケーション２０４は、メッセージ・データベース２３４も含み得る。メッセージ・データベース２３４は、複数の参加者間の電子メッセージング・セッションからメッセージの内容を表すメッセージ・データを維持する。メッセージ・データベース２３４は、上記で言及された、ステータス・マネージャ２３２が追跡する情報を表すステータス・データを維持し得る。したがって、メッセージ・データベース２３４は、メッセージング・スレッドのアーカイブを提供することができ、これは、要求に応じて、またはユーザが新しいコンピューティング・デバイスを使用してクライアント・アプリケーション２０２にログインすると、ネットワーク・アプリケーション２０４がユーザに対して提供する。
【００９０】
以前に言及されたように、サーバ・デバイス１０８は、支払マネージャ２４０を有する支払エンジン２０６を含む。図２の支払マネージャ２４０は、支払要求の送信および受信を統合して、支払取引を開始することができ、１つまたは複数のアプリケーション・プロ
グラミング・インターフェース（ＡＰＩ）を用い得る。たとえば、通信マネージャ２３０が支払要求を受信すると、通信マネージャ２３０は、支払マネージャ２４０に対してあらゆる支払詳細を送信する。支払マネージャ２４０は、次いで、支払要求から取り出された支払詳細を使用して、支払ネットワーク１１５を使用する支払取引を開始する。
【００９１】
１つまたは複数の実施形態によれば、システム１００は、ネットワーク・アプリケーション２０４とは別個の支払エンジン２０６を維持する。たとえば、システム１００は、ネットワーク・アプリケーション２０４の機能のうちの少なくとも一部（たとえば、リカバリのためにメッセージング・データベースを使用する）とは別個に、支払エンジン２０６に関連付けられている支払プロセスを実施する。例示するために、システム１００は、１つまたは複数のサーバの第１のグループ上で支払エンジン２０６の機能を、および１つまたは複数のサーバの第２のグループ上でのネットワーク・アプリケーション２０４の機能を実施する。別個のサーバ上で支払エンジン２０６およびネットワーク・アプリケーションの機能を実施することは、システム１００が、ユーザに関連付けられている金融情報の少なくとも一部は、ネットワーク・アプリケーション２０４は別として、支払カード業界（ＰＣＩ）標準に準拠するために維持されることを保証することを可能にする。本明細書で説明される構成以外のサーバおよび／またはソフトウェアの代替構成は、また、システム１００がＰＣＩ標準に準拠することを可能にし得る。
【００９２】
支払マネージャ２４０は、支払要求内で定義された支払に対応する取引を協調させる。上記で一般に説明されたように、支払マネージャ２４０は、支払要求に対応する支払ネットワーク１１５を介して取引を協調させ、取引のステータスを監視し、取引に関するステータス情報を提供する。より具体的には、上記で図１に関して説明されたように、支払ネットワーク１１５は、取引を許可し、取引を資金供給し、および／または個々の取引もしくは取引のバッチを決済する。１つまたは複数の実施形態では、支払マネージャ２４０は、１つまたは複数のアプリケーション・プログラミング・インターフェース（ＡＰＩ）を使用して、関係のある情報を支払ネットワーク１１５と通信する。
【００９３】
追加実施形態または代替実施形態では、クライアント・デバイス１０４ａ上のクライアント・アプリケーション２０２は、ネットワーク・アプリケーション２０４および支払エンジン２０６に対して支払要求および／または支払要求に関連付けられているメッセージを並行して送信することをクライアント・デバイス１０４ａに行わせる。より詳細には、クライアント・アプリケーション２０２が共同ユーザに対してある額を支払うためのユーザによる選択を受信したとき、クライアント・アプリケーション２０２は、第１のネットワーク・アプリケーション２０４に対して、および支払エンジン２０６に対して支払要求を送信することをクライアント・デバイス１０４ａに行わせる。したがって、ネットワーク・アプリケーション２０４が支払要求を処理する間に、支払エンジン２０６も、支払要求に関連付けられている支払取引を処理している。代替実施形態では、クライアント・デバイス１０４ａは、ネットワーク・アプリケーション２０４に関連付けられている１つまたは複数のサーバに対してメッセージを送信することができ、次いで、サーバは、支払エンジン２０６に対してメッセージを転送する、またはその逆を行う。
【００９４】
取引を完了するために、支払マネージャ２４０は、受信者についての支払クレデンシャル（入金口座情報、デビット・カード、クレジット・カード、ギフト・カード、電子財布などの）にアクセスするまたはこれを取得する。支払マネージャ２４０は、さまざまな方法を使用して、受信者の支払クレデンシャル（たとえば、実質的に即時の支払を受信するためのデビット・カード）を取得する。例となる一実施形態では、受信者は、ネットワーク・アプリケーション２０４を用いて１つまたは複数の入金口座または他の支払クレデンシャルを登録する。ユーザが入金口座または他の支払クレデンシャルを登録すると、ユーザ・プロファイル・データベース２３６は、支払クレデンシャルを維持する。
【００９５】
支払マネージャ２４０が支払情報を受信した後、支払マネージャ２４０は、受信者を識別する。支払マネージャ２４０は、ユーザ・プロファイル・データベース２３６内の受信者を調べて、受信者が支払クレデンシャルを登録しているか否かを決定する。この時点で、支払マネージャ２４０は、取引を開始する。
【００９６】
受信者のユーザ・プロファイルが支払クレデンシャルを含まない場合、または受信者のユーザ・プロファイルが、当日支払をサポートする支払クレデンシャルを含まない場合、支払マネージャ２４０は、受信者に支払クレデンシャルを提供することを促すメッセージを受信者に送信するように通信マネージャ２３０に指示する。メッセージは、受信者が支払クレデンシャル詳細を提供することを可能にする１つまたは複数の対話型フィールドを提供することによって、支払クレデンシャルを登録するように受信者に促し得る。加えて、または代替的に、受信者が、登録された支払クレデンシャルを有さないことを決定すると、支払マネージャ２４０は、一時入金口座を生成する。より詳細には、支払マネージャ２４０は、口座番号を生成し、その口座番号を受信者のユーザ・プロファイルに関連付ける。１つまたは複数の実施形態では、受信者は、すでに一時口座を有しているかもしれず、そのため、支払マネージャ２４０は、以前に作成された一時口座を使用して取引を完了する。特に、一時口座は、支払マネージャ２４０が、送信者または受信者のどちらかの観点から支払プロセスを遅延させることなく取引を処理することに直ちに進むことを可能にする。
【００９７】
口座マネージャ２４４は、ネットワーク・アプリケーションと関係して１つまたは複数の一時口座を管理する。たとえば、支払の完了時、支払マネージャ２４０は、一時口座に対して支払額を入金する。１つまたは複数の実施形態では、支払マネージャ２４０は、支払マネージャ２４０が受信者の支払クレデンシャルに対して金銭を移動したことを示すメッセージを受信者に送信することを通信マネージャ２３０に行わせる。たとえば、受信者がデビット口座をすでに登録していた場合、支払マネージャ２４０は、実質的に即時の支払取引において登録されたデビット口座に対して金銭を移動する。代替的に、受信者が入金口座を登録したくない場合、メッセージ・システムは、一時口座から金銭を引き出す命令を受信者に提供する。
【００９８】
支払ネットワーク１１５を介して取引を協調させることに加えて、支払マネージャ２４０は、１つまたは複数のシステム・ユーザ口座に関して取引を協調させることもできる。１つまたは複数の実施形態では、ネットワーク・アプリケーション２０４は、ギフト・カード口座、キャッシュ・カード口座、または類似のタイプのユーザ口座などのユーザ・キャッシュ口座をサポートする。送信者は、支払の方法として送信者のユーザ・キャッシュ口座を規定することができ、同様に、受信者は、登録された入金口座として受信者のユーザ・キャッシュ口座を設定する。そのため、少なくとも１以上の実施形態では、取引全体、または取引の実質的に全体は、ネットワーク・アプリケーション２０４内で処理されることが可能である。
【００９９】
１つまたは複数の実施形態では、システム１００は、受信者が、資金を受信するために支払クレデンシャルとしてデビット・カード口座を登録することもできる。ユーザのデビット・カードに対して資金を送信するために、支払マネージャ２４０は、支払額を受信者のデビット・カード口座にクレジット提供するために要求を送信する。１つまたは複数の実施形態では、要求は、未照会払戻（ｕｎｒｅｆｅｒｅｎｃｅｄ  ｒｅｆｕｎｄ）要求を含む。未照会払戻要求とは、ユーザのデビット・カード口座との以前の資金供給取引に対して添付されていない払戻要求である。未照会払戻要求を処理することは、受信者デビット・カード口座に対して払戻要求の額をクレジット提供するという結果になる。たとえば、受信者が、デビット・カード口座上でマイナス残高を有する場合、要求額が、そのマイ
ナス残高に充当され得る。同様に、受信者がデビット・カード口座上でゼロ残高を有する場合、要求額は、受信者が使うことができるプラスのデビット・カード口座残高をもたらす。代替的に、要求は、システム１００が当日支払を処理するための所有権を有するルーティング方法を介して金銭を移動することを可能にする特定のカード・サービスに対応する請求要求を含み得る。
【０１００】
図２の支払マネージャ２４０は、通信マネージャ２３０から受信された情報を協調させることに関係してさまざまな機能を実行して、支払要求を要求および受け入れ、支払プロセスを協調させ得る。たとえば、支払マネージャ２４０は、支払クレデンシャルを作成および記憶する。より具体的には、ユーザ（たとえば、送信者および受信者）は、ネットワーク・アプリケーションとの口座をすでに有し、したがってすでに、登録されたユーザであるかもしれず、または依然として口座を開設するかもしれない。一実施形態では、ユーザの少なくとも一部はまた、ソーシャル・ネットワーキング・システムのメンバであり、システム１００を使用してメッセージするときにも使用されるソーシャルネットワーキング口座に関連付けられている識別子（「ＩＤ」）およびユーザ・プロファイルをすでに有する。代替的に、他のユーザが、ソーシャル・ネットワーキング・システムのメンバでなく、口座を作成してシステム１００の登録されたメンバになることができる。この例では、支払マネージャ２４０は、これらのユーザから（クライアント・アプリケーション２０２を介して）日付を受信して口座を作成し、次いで、これらのユーザのための一意のＩＤおよびユーザ支払プロファイルを作成することができ、これらは後で支払プロセス中に参照される。場合によっては、支払マネージャ２４０はまた、欠けているかもしれない支払プロファイル特徴を含むように、以前のソーシャルネットワーキング・ユーザのユーザ・プロファイルを増やしてよい。
【０１０１】
口座を開設するまたは増やす際、ユーザは、クレジット・カード、デビット・カード、入金口座または他の銀行口座、ギフト・カード口座、店舗クレジット口座などの１つまたは複数の支払クレデンシャルを提出する。支払の方法を追加するとき、システム１００は、カード番号および／または口座番号、有効期限、セキュリティ・コード、移動またはルーティング識別番号、ならびに金銭移動のために使用される銀行情報をユーザに提出するように求めることができる。ユーザは、個人識別番号（ＰＩＮ）などの許可コードを作成する、または、たとえば単一の支払方法のみを提供するとき、クレジット・カードのセキュリティ・コードを使用する、または、任意の他の許可コードを提供することもできる。ユーザは、支払のデフォルト方法を選択することもできる。
【０１０２】
それに応じて、ユーザ・プロファイル・データベース２３６によって記憶されるユーザ支払プロファイルは、登録された各ユーザ（ソーシャルネットワーキング・ユーザとして、および／またはメッセージング・ユーザとして）のために一意に作成されたユーザ（またはグループ）ＩＤを含む。ユーザ・プロファイル・データベース２３６は、ネットワーク・アプリケーション２０４のユーザの支払クレデンシャルのためのストレージを提供する。たとえば、ユーザは、ネットワーク・アプリケーション２０４との「口座」を作成することができ、これは、ユーザがネットワーク・アプリケーション２０４に対して支払情報を提供することを可能にする。次いで、ネットワーク・アプリケーション２０４は、その支払情報をユーザ・プロファイル・データベース２３６の中に保存する。１つまたは複数の実施形態では、ユーザ・プロファイル・データベース２３６は、名（ファースト・ネーム）、ミドル・ネーム、姓（ラスト・ネーム）、支払カード番号（たとえば、クレジット・カード、デビット・カード）、支払カードの有効期限（年および／または月）、支払カードのカード・セキュリティ・コード（たとえば、カード検証値（ＣＶＶまたはＣＶＶ２））、支払カードに関連付けられている請求書送付先住所（通りの名称、家屋番号、都市、州または県、郵便番号、国などを含む）、支払カードに関連付けられている電話番号、１つまたは複数の届け先住所（請求書送付先住所と類似のフィールドを含む）、のうち
の１つまたは複数を、ユーザに関係して記憶する。支払カードがデビット・カードを備えるとき、プロファイル記憶モジュールは、デビット・カードのための個人識別番号（ＰＩＮ）を記憶することもできる。ネットワーク・アプリケーション２０４がソーシャル・ネットワーキング・システムを備える一実施形態では、ユーザ・プロファイル・データベース２３６の中に記憶される支払情報は、ユーザを表すノードストレージ２５２のノードに関連付けられ得る。
【０１０３】
１つまたは複数の追加の実施形態では、支払マネージャ２４０は、リスク計算機２３８と通信して、送信者、受信者、および／または特定の支払取引に関連付けられているリスクを決定する。具体的には、リスク計算機２３８は、詐欺的な支払取引を防止するために、送信者／受信者に関連付けられている情報に基づいて、送信者／受信者が詐欺師であるか否かを決定する。たとえば、リスク計算機２３８は、ネットワーク・アプリケーションと関係して送信者／受信者に関連付けられているアクティビティまたは情報に基づいて、詐欺アクティビティの可能性を決定する。支払取引に関与するユーザに関連付けられているリスクを決定することは、プッシュツーデビット取引を処理するとき、特に有用である。
【０１０４】
たとえば、１つまたは複数の実施形態では、ネットワーク・アプリケーション２０４は、送信者または受信者に関連付けられているリスクが所定の閾値に達しているか否かを決定する。特に、ネットワーク・アプリケーション２０４は、「実在度」スコアに基づいて、送信者または受信者が詐欺師である（たとえば、詐欺口座または実在の人物のような態度をとるソフトウェア）か否かを決定する。たとえば、送信者に関連付けられているリスクが所定の閾値を下回る（すなわち、高リスク・レベル）場合、ネットワーク・アプリケーション２０４は、送信者はおそらく詐欺師であることを決定し、送信者が詐欺師であることを支払エンジン２０６に通知する。送信者が高リスク・レベルを有する場合、支払エンジン２０６は、送信者と受信者との間の支払取引を停止する。同様に、受信者に関連付けられているリスクが所定の閾値を下回る場合、ネットワーク・アプリケーション２０４は、受信者がおそらく詐欺師であることを決定し、受信者が詐欺師であることを支払エンジン２０６に通知する。
【０１０５】
例示するために、ネットワーク・アプリケーション２０４は、１人または複数の共同ユーザによってソーシャル・ネットワークキング・システムに対して投稿されたメディアにおいてユーザがタグ付けされているか否か、ユーザの共同ユーザがユーザの以前の１回または複数回の誕生日を認識した（すなわち、ユーザに「誕生日おめでとう」と言った）か否か、ネットワーク・アプリケーション２０４を介してユーザとユーザの共同ユーザとの間で交換されたメッセージの数もしくは量、ユーザの共同ユーザが、ユーザによってなされた投稿に賛同または連帯を示した（すなわち、「いいね」を表明した）か否か、および／またはユーザの共同ユーザがユーザによってなされた投稿に対してコメントしたか否かに基づいて、ユーザのための実在度スコアを決定する。加えて、または代替的に、ネットワーク・アプリケーション２０４は、ユーザが所定の時間の量にわたってソーシャル・ネットワークキング・システムのメンバであるか否か、あらかじめ受け入れた発信元ロケーションに住んでいるか否か、宛先ロケーションとともに所定のレベルのソーシャル・ネットワーク・アクティビティを有するか否か、閾値実在度スコアを有するか否かなどを決定する。別の例では、ネットワーク・アプリケーション２０４は、ユーザと共同ユーザがソーシャル・ネットワーキング・システム上で友達であるか否か、ある数の隔たり次数（ｄｅｇｒｅｅ  ｏｆ  ｓｅｐａｒａｔｉｏｎ）以内であるか否かなどを含む、ユーザと共同ユーザとの間の関係に基づいて、ユーザに対するリスクを決定する。加えて、ネットワーク・アプリケーション２０４は、支払取引が詐欺であるか誤っているかを、支払取引についての情報を使用して、支払額（たとえば、非現実的な額を含む支払額）などに基づいて決定する。
【０１０６】
追加の実施形態では、送信者および／または受信者に関連付けられているリスクを決定した後、ネットワーク・アプリケーション２０４は、リスクに関連した１つまたは複数のアクションを実行する。具体的には、ネットワーク・アプリケーション２０４は、ネットワーク・アプリケーション２０４がユーザの身元を確認することを可能にするアクションを実行する。たとえば、ネットワーク・アプリケーション２０４は、ユーザはユーザがそうであると称する人であることを示す情報をユーザに要求する。例示するために、ネットワーク・アプリケーション２０４は、パスワード入力、ユーザのための登録された支払クレデンシャルのいくつかの数字、個人セキュリティ質問、視覚的識別（たとえば、写真）のアップロード、またはユーザのリスク・レベルもしくは実在度スコアに基づく他の識別機構を要求する。
【０１０７】
追加実施形態または代替実施形態では、ネットワーク・アプリケーション２０４は、ユーザの決定されたリスク・レベルに応答して、支払要求または支払取引に関係する１つまたは複数のアクションを自動的に実行する。具体的には、ネットワーク・アプリケーション２０４は、ユーザに追加の情報を要求することなく、支払要求または対応する送信者と受信者との間の支払取引に影響するアクションを実行する。たとえば、ネットワーク・アプリケーション２０４は、支払取引を可能にする、支払取引を（たとえば、ユーザの支払クレデンシャルの銀行による）レビューのために保留中にしておく、支払取引を阻止する、ユーザの口座を使用不能にする、または中間口座を使用することなく（たとえば、送信者の口座から受信者の口座へ直接的に）取引を処理する。
【０１０８】
いずれにしても、送信者からの支払要求の受信時、支払マネージャ２４０は、送信者のユーザ（またはグループ）ＩＤを検出し、そのユーザ（またはエンティティ）についての支払プロファイルを取り出す。支払マネージャ２４０は、次いで、支払額、送信者、および受信者に関連付けられている取引ＩＤを含む取引パッケージ（たとえば、「支払ドローン（ｐａｙｍｅｎｔ  ｄｒｏｎｅ）」）を生成する。取引ＩＤは、システム１００が送信者の口座から、システム内の一時口座または中間口座において、および受信者の口座へ、金銭を追跡する助けとなる。いくつかの例では、システム１００は、ユーザに取引ＩＤへのアクセスを提供し、支払取引に対応する中の金銭の動きをたどる。
【０１０９】
取引パッケージは、デフォルト支払方法および関係する情報を含むこともできるが、それは、送信者が、代替支払方法を用いて受信者に支払を送信することを選択しない限りであり、その場合、取引パッケージは、代替支払方法についての支払情報を含む。支払マネージャ２４０は、次いで、支払許可プロセスを開始するために支払ネットワーク１１５に対して取引パッケージを送信し得る。
【０１１０】
支払マネージャ２４０は、支払プロセスを効果的に管理するために、さまざまな他の追加のステップおよび方法を実行する。１つまたは複数の実施形態では、たとえば、支払要求を受信すると、支払マネージャ２４０は、取引識別子（または単に「取引ＩＤ」）を生成し、この取引識別子を支払要求および／または支払要求内の支払情報に関連付ける。たとえば、取引ＩＤを生成すると、支払マネージャ２４０は、取引データベース２４２に対して取引ＩＤおよび支払情報を送信する。取引データベース２４２は、取引ＩＤにより取引情報を記憶するデータ・テーブルまたは類似のデータ・マトリックスを含む。
【０１１１】
図２の取引データベース２４２は、各取引（グラフ・オブジェクトの形など）、試行または完了した、取引ＩＤ、日付、取引の額、使用された支払方法、取引に関連する送信者と受信者との間で相互に交換された関連付けられているメッセージ、および取引に関して収集された他の任意の情報のためのストレージを提供する。この情報を用いて、支払マネージャ２４０は、要求に応じて、支払要求、拒否された支払、および完了された支払の履
歴として、１つまたは複数の取引の概要をユーザに対して提供する。
【０１１２】
１つまたは複数の実施形態では、取引ＩＤが特定の支払要求に関連付けられている後、取引ＩＤは、特定の支払に関係する、システム１００内の実質的にすべての通信中に含まれるまたは埋め込まれる。したがって、取引ＩＤは、支払マネージャ２４０が、編成された様式で多数の支払を管理および処理することを可能にする。たとえば、支払マネージャ２４０は、クライアント・デバイス１０４ａ、１０４ｂに対して送信される任意の情報の中に取引ＩＤを含めるための命令を含む。代わりに、メッセージング・ハンドラ２１０が、支払マネージャ２４０が、情報が対応する特定の取引を効率的かつ確実に識別することを可能にするために、クライアント・デバイス１０４ａ、１０４ｂから送信される任意の情報の中に取引ＩＤを含めることもできる。
【０１１３】
１つまたは複数の実施形態では、取引ＩＤは、１つまたは複数の送信者識別子、受信者識別子、スレッド識別子（たとえば、送信者と受信者との間のメッセージング・スレッドを識別する）、支払額、支払方法（たとえば、送信者口座）、入金方法（たとえば、受信者口座）、取引履歴、現在の取引ステータス、ならびに他の取引情報に関連付けられる。１つまたは複数の実施形態では、取引データベース２４２は、取引に関係するあらゆる更新またはアクションとともに更新される１つまたは複数のグラフ・オブジェクトの形で取引情報を維持する。
【０１１４】
また、以前に言及されたように、支払エンジン２０６の口座マネージャ２４４は、１つまたは複数の中間の口座または一時口座を維持する。一時口座は、送信者の口座からの支払の決済または実際の資金供給の前に受信者口座へなされることになる入金のための資金供給を提供する、あるタイプの「ホットな口座」として機能する。たとえば、いくつかの支払方法を用いれば、支払の資金供給は、金銭が送信者の口座にデビット請求されるのに数時間または数日を要することすらある。しかしながら、支払許可要求は、資金を確認および確保して支払を果たす。したがって、支払許可要求からの成功応答を受信すると、支払マネージャ２４０は、支払が受信者の口座に到着するのに、より短い時間を提供するために、一時口座から支払額を資金供給する。支払が送信者の口座から資金供給すると、一時口座は、支払の額のために新しくされる。
【０１１５】
以前に言及されたように、サーバ・デバイス１０８は、ユーザ１０２ａ、１０２ｂ、１０２ｎのキューを管理するキュー・マネージャ２４６を含むことができる。具体的には、キュー・マネージャ２４６は、ユーザ１０２ａ、１０２ｂ、１０２ｎ間、とネットワーク・アプリケーション２０４および支払エンジン２０６との通信を促進するために、ユーザ１０２ａ、１０２ｂ、１０２ｎそれぞれの支払キューおよびメッセージ・キューを管理することができる。キュー・マネージャ２４６は、以下に説明するキューがメッセージおよび更新をどのように受信して処理するかを制御する、ロジックおよび命令のセットならびにハードウェアの両方または一方を備えることができる。特に、キュー・マネージャ２４６は、キューの着信シーケンス番号を決定するように動作し得る。着信シーケンス番号は、キューの最新のシーケンス番号を決定することにより、決定され得る。キュー・マネージャ２４６は、着信更新に着信シーケンス番号を割り当てることができる。キュー・マネージャ２４６は、キューに着信更新を追加することができる。また、キュー・マネージャ２４６は、着信更新に関連付けられているクライアント・デバイスの現在の更新状態について、現シーケンス番号を決定することができる。次いで、キュー・マネージャ２４６は、着信受信者シーケンス番号がクライアント・デバイスの現在の更新状態についての現シーケンス番号よりも大きいことを決定することができる。応答して、キュー・マネージャ２４６は、クライアント・デバイスの現在の更新状態についての現シーケンス番号を、少なくとも着信受信者シーケンス番号になるように更新することができる。キュー・マネージャ２４６は、着信シーケンス番号がクライアント・デバイスでの現シーケンス番号より
も大きいとの決定に基づいて、着信更新をクライアント・デバイスに送信することができる。
【０１１６】
キュー・マネージャ２４６はさらに、キューに着信更新を追加し、着信更新を受信するメッセージング・エンドポイントを決定するように動作することができる。キュー・マネージャ２４６は、メッセージング・エンドポイントに関連付けられている１つまたは複数のメッセージング・エンドポイント・パラメータを取り出し、１つまたは複数のメッセージング・エンドポイント・パラメータに従って、着信更新から、カスタマイズされた着信更新を生成することができる。キュー・マネージャ２４６は、カスタマイズされた着信更新を受信者メッセージングに送信することができる。パラメータは、クライアント・デバイスの現在のシーケンスＩＤ、言語、および、クライアント・デバイスのユーザが設定したプリファレンスを備えることができる。
【０１１７】
ネットワーク・アプリケーション２０４、支払エンジン２０６、またはキュー・マネージャ２４６がクライアント・デバイスから最初にデータを受信するかどうかは、データのタイプに依存し得る。クライアント・デバイス１０２ａ、１０２ｂ、１０２ｎは、あるタイプのデータについてはネットワーク・アプリケーション２０４または支払エンジン２０６と直接通信し得るが、他のタイプのデータについてはキュー・マネージャ２４６と最初に通信し得る。キュー・マネージャ２４６は、システム１００が異なるタイプのデータを異なる方法で処理することを可能にして、ユーザ１０２ａ、１０２ｂ、１０２ｎがそれぞれのデバイスで最新の情報をより迅速に閲覧することを可能にする。キュー・マネージャ２４６は、支払キューおよびメッセージ・キューを備えることができる。図３Ａ〜図３Ｆおよび図４は、以下に説明するように、キュー・マネージャ２４６の動作を詳しく例示する。
【０１１８】
論じられたように、上記で図１〜図２に関して論じられたシステムおよび構成要素は、メッセージング・システムのユーザが、統合されたメッセージングおよび支払システム１００を介して支払を容易に、効果的に、かつ安全に送信および受信することを可能にすることができる。図３Ａ〜図３Ｆは、上記で論じられたシステム１００に実装されるプロセスの１つまたは複数の例となる実施形態の、例となるプロセス図を例示する。図１および図２に例示されるシステム１００に整合して、図３Ａ〜図３Ｆは、（動作のシーケンス・フローに従い）クライアント・アプリケーション２０２を有する送信者クライアント・デバイス３００ａ、クライアント・アプリケーション２０２を有する受信者クライアント・デバイス３００ｂ、ネットワーク・アプリケーション２０４および支払エンジン２０６をサポートするサーバ・デバイス１０８、支払ネットワーク１１５、送信者支払キュー３０２、送信者メッセージ・キュー３０４、受信者支払キュー３０６ならびに受信者メッセージ・キュー３０８を例示する。
【０１１９】
１つまたは複数の実施形態では、ユーザがシステム１００を介して別のユーザに対して支払を送信するためのプロセスは、送信者クライアント・デバイス３００ａに関連付けられている送信者ユーザ（または単に「送信者」）がクライアント・アプリケーション２０２に対してユーザ入力を提供し、支払取引を行う要求を生成することで始めることができる。たとえば、送信者は、送信者が１人または複数の受信者ユーザ（または単に「受信者」）を選択またはその他の形で定義することを可能にする１つまたは複数のユーザ・インターフェース（たとえば、図５Ａの連絡先ＵＩ５０４）にアクセスすることができる。次いで、送信者は、受信者に金銭を送信するオプション（たとえば、支払制御部５２４ｂ）を選択することができる。次いで、送信者は支払額を選択することができる。次いで、ユーザは任意選択で支払クレデンシャルを追加するか、以前に追加した支払クレデンシャルを選択するか、またはデフォルト支払クレデンシャルを使用することができる。図５Ｇに関して以下説明するように、送信者クライアント・デバイス３００ａは、送信者と受信者
との間のメッセージング・スレッドに支払額を投入することができる。
【０１２０】
支払取引の要求に応答して、送信者クライアント・デバイス３００ａは、支払開始要求３１２を支払エンジン２０６に送信することができる。具体的には、支払開始要求は支払エンジン２０６に対して、送信者と受信者との間の支払取引を開始するよう要求することができる。送信者クライアント・デバイス３００ａは、メッセージング・スレッド内に支払額の隣に支払のステータス（すなわち、送信者クライアント・デバイス３００ａから送信された支払開始要求）を示すグラフィカル要素を提供することができる。
【０１２１】
支払開始要求を受信すると、サーバ・デバイス１０８は、任意選択で、送信者および受信者の両方または一方のリスクを決定するために、リスク・チェック３１４を行うことができる。たとえば、ネットワーク・アプリケーション２０４は、詐欺を防止するため、支払エンジン２０６が支払取引を処理するかどうかを決定するために、送信者、受信者、および／または送信者と受信者との関係に関連付けられている情報を使用することができる。具体的には、ネットワーク・アプリケーション２０４は、送信者に関連付けられているリスクを決定することができ、そのリスクを支払エンジン２０６に通知して、支払エンジン２０６が送信者と受信者との間の支払取引を処理するかどうかを決定することを可能にする。図３Ａは、支払取引の処理中のある特定の時点でのリスク・チェックを例示しているが、リスク・チェックは、金銭が中間口座または一時口座にある間など、支払取引中で金銭を受信者の口座に移動する前のいつでも、または複数回行い得る。別の例では、サーバ・デバイス１０８は、送信者に支払オプションを提供するべきかどうか、または受信者候補に関連して送信者に支払オプションを提供するべきかどうかを決定するためにリスク・チェックを行うことができる。
【０１２２】
支払エンジン２０６はまた任意選択で、支払ネットワーク１１５を用いて送信者の支払クレデンシャルを許可することができる。具体的には、支払エンジン２０６は、支払額または別の額（たとえば、０．０１ドルまたは１００．００ドル）について送信者の支払クレデンシャル（たとえば、送信者のデビット・カード）に対する支払許可要求を支払ネットワーク１１５に送信する（３１６）ことができ、支払ネットワーク１１５は支払許可を承認または拒否することができる。次いで、支払ネットワーク１１５は、支払クレデンシャル許可応答３１８を支払エンジン２０６に送信することができる。任意選択の許可要求が、タイムライン内でより早くまたはより遅く行われ得ることが理解されるであろう。代替実施形態では、支払エンジン２０６は、支払取引の一部として支払額について送信者の支払クレデンシャルに対する許可要求を送信することができる。
【０１２３】
支払エンジン２０６は任意選択で支払開始応答３２０を送信者クライアント・デバイス３００ａに送信して、送信者クライアント・デバイス３００ａに、支払クレデンシャル許可またはリスク・チェックが通らなかったことを通知することができる。送信者がリスク・チェック３１４に通らなかったかまたは支払許可が下りない場合、支払開始応答３２０は、クライアント・デバイス３００ａに、取引が開始できないことを示すことができる。
【０１２４】
１つまたは複数の実施形態では、支払エンジン２０６は、支払開始要求から情報の少なくとも一部をネットワーク・アプリケーション２０４に通信することができる。加えて、または代替的に、ネットワーク・アプリケーション２０４は、支払開始要求に関連して送信者クライアント・デバイス３００ａから情報を取得することができる。たとえば、ネットワーク・アプリケーション２０４は、送信者のユーザ・アカウントに関連したリスク・チェック中に、送信者クライアント・デバイス３００ａに関する情報を取得することができる。
【０１２５】
送信者の支払クレデンシャルの認証前または認証時、支払エンジン２０６は取引ＩＤ３
２４を生成することができる。上記述べたように、支払エンジン２０６は、受信した各支払要求に一意の取引ＩＤ３２４を関連付けることができる。支払エンジン２０６およびネットワーク・アプリケーション２０４は、さまざまなファイル、オブジェクト、メッセージ、および他の情報内で取引ＩＤを使用するために通信して、ネットワーク・アプリケーション２０４がネットワーク・アプリケーション２０４を介して行われた各支払に関するメッセージ、ステータス更新および他の情報を効率的に識別して処理することを可能にすることができる。たとえば、また、上記述べたように、支払エンジン２０６は、支払要求の処理に対応する情報を維持するグラフ・オブジェクトに取引ＩＤ３２４を関連付けることができる。
【０１２６】
加えて、支払エンジン２０６は、任意選択で、送信者が支払クレデンシャルを支払エンジン２０６に登録したかどうかを検証する（３２６）ことができる。１つまたは複数の例では、支払エンジン２０６が以前に（たとえば、支払ネットワーク１１５からの肯定許可応答を受信することにより）支払取引を許可したことがない場合、支払エンジン２０６は、送信者が送信者のユーザ・アカウントに関連付けられている支払クレデンシャルを登録しているかどうかを決定することができる。支払エンジン２０６はまた、登録された支払クレデンシャルが有効かどうかも検証することができる。送信者がどの支払クレデンシャルも登録していなければ、支払エンジン２０６は、送信者クライアント・デバイス３００ａに通知して、有効な支払クレデンシャルを入力するよう送信者に促すことができる。
【０１２７】
１つまたは複数の実施形態では、支払エンジン２０６は、支払ネットワーク１１５に、送信者の支払クレデンシャルに支払額が請求されるよう要求する（３２２）支払請求要求を送信する（３２８）ことができる。支払請求要求に応答して、支払ネットワーク１１５は、送信者の支払クレデンシャルに請求する（３３０）ことができ、金銭を送信者の口座から支払エンジン２０６（たとえば、一時口座）に電子的に移動することにより、送信者から支払を資金供給する（３３２）。
【０１２８】
図３Ｂに示すように、支払エンジン２０６は、ネットワーク・アプリケーション２０４がメッセージＩＤを生成した後、生成する前、または生成するのと同時に、支払を一時口座に適用する（３３８）ことができる。たとえば、支払エンジン２０６は、支払エンジン２０６が資金を受信者の支払クレデンシャルに移動するために使用する中間口座に支払を適用することができる。１つまたは複数の実施形態では、支払エンジン２０６は、支払を適用するべき新たな口座を作成することができる。代替的に、支払エンジン２０６は、各支払に関連付けられている一意の取引ＩＤによって編成および識別されるさまざまな他の支払を含む支払を、マスタ一時口座に対して適用することができる。
【０１２９】
支払要求の資金供給に成功した後、支払エンジン２０６は、請求が成功したこと、および支払取引が有効な取引であることを決定することができる。特に、支払エンジン２０６は、メッセージング・スレッド内の送信者および受信者の両方または一方に、支払取引を示す１つまたは複数のメッセージに関連したメッセージＩＤを生成する（３３４）ように、ネットワーク・アプリケーション２０４に通知することができる。さまざまな実施形態では、ネットワーク・アプリケーション２０４は、送信者と受信者との間のメッセージング・スレッド内で関連する支払取引について、クライアント・デバイス３０２ａ、３０２ｂに送信するためにメッセージＩＤを生成することができる。１つまたは複数の実施形態によれば、識別子は、クライアント・デバイス３０２ａ、３０２ｂが支払に関するメッセージを適切に表示すること、ならびにメッセージのステータス更新および更新情報を送信および受信することを可能にすることができる。
【０１３０】
この時点で、支払エンジン２０６は支払開始メッセージを生成することができる。たとえば、支払開始メッセージは、支払取引のオフライン・スレッディングＩＤ、スレッド・
キー、取引ＩＤ、タイムスタンプおよび送信者を含むことができるが、これだけに限定されない。オフライン・スレッディングＩＤは、クライアント・デバイス３０２ａ、３０２ｂがメッセージング・スレッド内の不整合や支払取引に関連する不整合（たとえば、取引の処理中の接続損失の場合）を解決することを可能にすることができる。例示するために、送信者がメッセージを送信し、サーバ・デバイス１０８との接続が失われ、それからサーバ・デバイス１０８に再接続する場合、オフライン・スレッディングＩＤは、クライアント・デバイス３０２ａが、そのメッセージを失敗したとマークするのではなく、メッセージの送信および処理が成功したと判断することを可能にする。スレッド・キーは、メッセージング・スレッド、ならびに支払取引に何人の参加者が関連するのかを決定するためにメッセージング・スレッドの参加者の人数と身元を識別することができる。取引ＩＤは、前述したように、支払取引を識別する。タイムスタンプは、支払取引の開始に関連付けられている時刻、または支払取引を示すメッセージの他のタイミング情報を示すことができる。
【０１３１】
述べられたように、スレッド・キーは、グループ・スレッドまたはグループ支払取引に複数の参加者が関っているかどうかを識別することができる。ある支払取引で複数のユーザが１人または複数のユーザに金銭を送信しようとする場合、スレッド・キーは、各ユーザ間の関係、および各ユーザが送信者か受信者かを識別することができる。加えて、クライアント・アプリケーション２０２は、支払取引およびスレッド・キーに関連付けられている情報を使用して、何人が関与しているか、および支払取引の合計支払額を決定することができる。クライアント・アプリケーション２０２は、参加者がメッセージング・スレッド内で支払取引のステータスと支払額を簡単に閲覧することを可能にするように、支払額を提示することができる。たとえば、クライアント・アプリケーション２０２は、簡素化のためにメッセージング・スレッド内の取引の合計支払額を提示することができ、また、支払取引の更新に基づいて必要な場合、支払額を更新することができる。
【０１３２】
１つまたは複数の実施形態では、ネットワーク・アプリケーションは、メッセージＩＤを取引ＩＤにマッピングし、マッピングされたＩＤをデータベースに記憶することにより、メッセージＩＤを取引ＩＤに関連付けることができる。メッセージＩＤを取引ＩＤに関連付けることにより、サーバ・デバイス１０８は支払取引の更新を識別し、これを、取引を示す対応するメッセージに関連付けることができる。図３Ａは、請求成功応答を受信した後に、ネットワーク・アプリケーション２０４がメッセージＩＤを生成して、取引ＩＤおよびメッセージＩＤを送信者クライアント・デバイス３００ａに送信することを示しているが、ネットワーク・アプリケーション２０４は、支払取引プロセス中の別の時点（たとえば、請求要求を送信する前）にメッセージＩＤを生成することもできる。
【０１３３】
メッセージＩＤを生成すると、または支払を一時口座に入れたことに応答して、図３Ｃに示すように、支払エンジン２０６は、支払開始メッセージを送信する（３４０）ことができる。送信者支払キュー３０２は、送信者の支払取引についての更新を一時的に記憶する。たとえば、送信者支払キュー３０２は、支払エンジン２０６から受信される支払開始メッセージを一時的に記憶する。上記述べたように、支払開始メッセージは、取引ＩＤ、支払額、送信者、受信者、ステータス、支払取引が開始された時を示すタイムスタンプ、取引の通貨、更新のシーケンスＩＤ、および、支払額をフォーマット化するための相殺額を含むことができるが、これだけに限定されない。
【０１３４】
ステータスは、番号（たとえば、１〜１０）の付いたフィールドを備えることができる。各番号は支払取引のステータスに対応することができる。このように、番号１は支払取引の開始を示すことができる（すなわち、支払が送信者によって資金提供されたこと）。以下に説明するように、支払取引に関連付けられているステータスが変わると、支払キューに更新が送信され得る。更新は、取引ＩＤおよび新たなステータス番号を含むことがで
きる。新たなステータス番号は新たなステータスまたはステータスの変更を意味することができる。たとえば、ステータスは、受領が支払を受信するために支払クレデンシャルを追加したこと、受領が支払を受け入れたこと、受領が支払を拒否したこと、支払の受領への移動が成功したこと等を意味することができる。支払開始メッセージがクライアント・デバイスによって受信されると、支払キューは、変更（すなわち、ステータスの更新）だけをクライアント・デバイスに送信することができる。新たなステータス更新は、支払取引のステータスの変更をクライアント・デバイスに示すことができる。
【０１３５】
支払エンジン２０４が支払開始メッセージを送信するのと並行して、またはその後で、ネットワーク・アプリケーション２０４は、送信者支払キュー３０２とは別の送信者メッセージ・キュー３０４に、支払取引を示すメッセージを送信する（３４２）ことができる。具体的には、ネットワーク・アプリケーション２０４は、メッセージＩＤに関連した支払取引を示すメッセージを生成し、取引を示すメッセージを送信者メッセージ・キュー３０４に送信することができる。送信者メッセージ・キュー３０４は、送信者からおよび送信者へのメッセージおよびメッセージの更新を一時的に記憶する。
【０１３６】
支払エンジン２０６から支払開始メッセージを受信した後、送信者支払キュー３０２は、送信者クライアント・デバイス３００ａに、支払開始メッセージをプッシュする（３４４）ことができる。送信者支払キュー３０２は、支払エンジン２０６から更新を受信した後、および送信者支払キュー３０２が送信者クライアント・デバイス３００ａと通信している間のいつでも、支払開始メッセージをプッシュすることができる。たとえば、送信者支払キュー３０２は、送信者クライアント・デバイス３００ａが送信者支払キュー３０２との接続をいつ確立したかを検出し、送信者クライアント・デバイス３００ａが最後に送信者支払キュー３０２と通信したとき以降に受信した更新を送信者クライアント・デバイス３００ａにプッシュする。たとえば、送信者支払キュー３０２は、クライアント・デバイスに送信された最後のシーケンスＩＤ（すなわち、最後の更新／変更）を維持し、次いで、クライアント・デバイスが受信した最後の更新／変更以降の変更／更新をクライアント・デバイスにプッシュすることができる。代替的に、クライアント・デバイスは、最後のシーケンスＩＤを支払キューに送信することができる。応答して、支払キューは、シーケンスＩＤによって示されるように、クライアント・デバイスによって受信された最後の更新／変更以降の変更／更新をプッシュすることができる。
【０１３７】
送信者メッセージ・キュー３０４は、支払取引を示すメッセージを送信者クライアント・デバイス３００ａにプッシュする（３４６）ことができる。１つまたは複数の実施形態では、送信者メッセージ・キュー３０４は、送信者支払キュー３０２が支払開始メッセージをプッシュした後でなければ、支払取引を示すメッセージをプッシュしない。つまり、送信者クライアント・デバイス３００ａは最初に支払開始メッセージを受信して、次いで支払取引を示すメッセージを受信することができる。
【０１３８】
送信者支払キュー３０２および送信者メッセージ・キュー３０４は、取引ＩＤおよびメッセージＩＤを使用して、支払開始メッセージと取引を示すメッセージとをそれぞれプッシュすることができる。特に、送信者クライアント・デバイス３００ａは取引ＩＤおよびメッセージＩＤを有しているので、送信者クライアント・デバイス３００ａは、メッセージまたは支払取引が更新されるたびに、キューから更新を受信することができる。たとえば、キューは、取引／メッセージＩＤおよび更新情報を含むことによって、更新をプッシュすることができる。他の実施形態では（たとえば、支払開始メッセージの場合）、更新情報は、１つより多くのステータスの変更（たとえば、タイムスタンプ情報）またはより複雑なステータスの変更を記述する、より多くの情報を含み得る。
【０１３９】
代替実施形態では、サーバ・デバイス１０８が支払要求を生成するのではなく、送信者
クライアント・デバイス３００ａが支払要求を生成するときに、送信者クライアント・デバイス３００ａはメッセージング・スレッド内で支払取引を示すメッセージのローカルコピーを生成することができる。送信者の支払クレデンシャルを請求した後、ネットワーク・アプリケーション２０４は、送信者支払キュー３０２を介してステータス更新を送信者クライアント・デバイス３００ａに送信して、送信者クライアント・デバイス３００ａにすでにあるメッセージを更新することができる。たとえば、ステータスの更新は、支払の請求が成功したことを示す視覚的な合図をメッセージング・スレッド内に含むことができる。
【０１４０】
１つまたは複数の実施形態では、支払開始メッセージを送信者クライアント・デバイス３００ａにプッシュした後、またはその間に、送信者支払キュー３０２は受信者支払キュー３０６に、支払開始メッセージを送信する（３４８）こともできる。たとえば、送信者支払キュー３０２は、更新を送信者クライアント・デバイス３００ａにプッシュするのと並行して、支払開始メッセージを受信者支払キュー３０６に送信することができる。そのため、送信者は、受信者が支払取引に関する情報を受信する前に、支払エンジン２０６が送信者の支払クレデンシャルの請求に成功したことを閲覧することができ得る。同様に、送信者メッセージ・キュー３０４は、受信者メッセージ・キュー３０８に、支払取引を示すメッセージを送信する（３５０）ことができる。代替的に、送信者支払／メッセージ・キューは、サーバ・デバイス１０８が受信者に関係する１つまたは複数の追加操作を行った後に、支払開始メッセージ／支払取引を示すメッセージを受信者支払／メッセージ・キューに送信することができる。
【０１４１】
受信者支払キュー３０６が支払開始メッセージを受信すると、受信者支払キュー３０６は、受信者クライアント・デバイス３００ｂに、支払開始メッセージをプッシュする（３５２）ことができる。次いで、受信者メッセージ・キュー３０８は、受信者クライアント・デバイス３００ｂに、支払取引を示すメッセージをプッシュする（３５４）ことができる。このように、受信者クライアント・デバイス３００ｂは、支払取引を示すメッセージを受信し、支払取引を示すメッセージを送信者と受信者との間のメッセージング・スレッド内に入れる前に、支払開始メッセージを受信する。
【０１４２】
１つまたは複数の実施形態では、受信者クライアント・デバイス３００ｂは支払取引に関する情報を以前に受信したことがないので、サーバ・デバイス１０８は、受信者クライアント・デバイス３００ａに取引ＩＤおよびメッセージＩＤを提供することができる。たとえば、サーバ・クライアント・デバイス１０８は受信者クライアント・デバイス３００ｂと直接通信して、取引ＩＤおよびメッセージＩＤを送信することができる。したがって、受信者クライアント・デバイス３００ｂはさらに、受信者支払キュー３０６および受信者メッセージ・キュー３０８によって、メッセージング・スレッド内の支払取引および対応するメッセージに関してプッシュされた更新情報の受信を始めることができる。代替的に、サーバ・デバイス１０８は受信者キューを介して支払開始メッセージと一緒に取引ＩＤおよびメッセージＩＤを送信することができる。
【０１４３】
受信者クライアント・デバイス３００ｂは、受信者と送信者との間のメッセージング・スレッドに、支払取引を示すメッセージを追加することができる。支払取引を示すメッセージは、支払取引の額を含むことができる。特に、支払取引を示すメッセージは、支払開始メッセージに支払額へのリンクを含むことができる。したがって、支払開始メッセージから支払額の更新が支払キュー３０２、３０６を介して送信されると、メッセージング・スレッド内のメッセージの額は更新を反映するように変わることができる。
【０１４４】
同様に、支払キュー３０２、３０６から更新を受信すると、クライアント・デバイス３００ａ、３００ｂは、メッセージング・スレッド内の支払取引を示すメッセージを更新す
ることができる。たとえば、以下に説明するように、支払エンジン２０６から支払キュー３０２、３０６を介して支払取引のステータスに関する支払の更新を受信すると、クライアント・デバイスはメッセージング・スレッド内のメッセージを更新することができる。
【０１４５】
支払エンジン２０６が支払取引の資金供給に成功した後、受信者クライアント・デバイス３００ｂが支払開始メッセージおよび対応するメッセージを受信した後、または受信者が支払取引の受け入れを示した後、図３Ｄに例示されるように、支払エンジン２０６は、受信者が支払クレデンシャルを有するかどうかを検証する（３５６）ことができる。たとえば、以前に説明したように、支払エンジン２０６は受信者が支払クレデンシャルを支払エンジン２０６に登録しているかどうかを決定し、支払ネットワーク１１５と通信して、登録されたクレデンシャルが有効かどうかを決定することができる。受信者が有効なクレデンシャルを有していなければ、サーバ・デバイスは任意選択で、受信者クライアント・デバイス３００ｂにクレデンシャルを追加する（３５９）オプションを送信することができる。
【０１４６】
受信者クライアント・デバイス３００ｂが受信者支払キュー３０６からオプションを受信すると、受信者クライアント・デバイス３００ｂは、受信者が支払クレデンシャル情報を入力することを可能にすることができる。たとえば、オプションは、受信者クライアント・デバイス３００ｂのクライアント・アプリケーション２０２に、支払クレデンシャル・インターフェースを提示させる通知とすることができる。ユーザは、支払取引から資金を入金するために、入金額のためのクレデンシャル（たとえば、デビット・カード口座）を追加する３６０ことができる。次いで、受信者クライアント・デバイスは、クレデンシャル情報を支払エンジン２０６に送信する（３６０）ことができる。
【０１４７】
この時点で、またはその前でも、受信者は支払を受け入れる（３６１）ことができる。支払受け入れプロセスの一部として、受信者は、上記説明した支払クレデンシャルを選択または追加することができる。受信者が支払を受け入れると、受信者クライアント・デバイス３００ｂは、メッセージング・スレッド内の支払取引を示すメッセージを更新することができる。受信者クライアント・デバイス３００ｂは支払受け入れ更新を生成することもできる。支払受け入れ更新は、取引ＩＤ、メッセージＩＤ、および支払が受け入れられたことを示す更新番号を備えることができる。受信者クライアント・デバイス３００ｂは、受信者支払キュー３０６に、支払受け入れ更新を送信する（３６２）ことができる。受信者支払キュー３０６は、支払開始メッセージがキューの一番上にくるように、支払開始メッセージのシーケンスＩＤを更新することができる。受信者支払キュー３０６は支払開始メッセージのステータス番号も更新する。次いで、受信者支払キュー３０６は、送信者支払キュー３０２および支払エンジン２０６に、支払受け入れ更新をプッシュする（３６２）ことができる。
【０１４８】
送信者支払キュー３０２は、支払開始メッセージがキューの一番上にくるように、支払開始メッセージのシーケンスＩＤを更新することができる。送信者支払キュー３０２は支払開始メッセージのステータス番号も更新する。次いで、送信者支払キュー３０２は、支払受け入れ更新を送信者クライアント・デバイス３００ａにプッシュする。支払受け入れ更新に基づいて、送信者クライアント・デバイス３００ａは、送信者のメッセージング・アプリケーションのメッセージング・スレッド内の支払取引を示すメッセージを更新することができる。これにより、送信者は、メッセージング・スレッド内で支払取引を示すメッセージを閲覧し、受信者が支払を受け入れたことを確認することが可能になる。
【０１４９】
図３Ｄに示されるように、受信者支払キュー３０６は、送信者支払キュー３０２および支払エンジン２０６に同時に、支払受け入れ更新をプッシュする（３６２）ことができる。これにより、送信者が、支払エンジン２０６と同時に支払受け入れ更新を受信すること
を可能にすることができる。データベースに読み込まれてから送り出されるサーバ・デバイスに最初に支払受け入れ更新を送信しなくてもよいことから、支払／メッセージ・キューのプロセスは、メッセージおよび更新の速度および効率を上げられることが理解されるであろう。図の残りは、例示しやすいように、支払キューとメッセージ・キューが、同時にではなく、更新またはメッセージを送信またはプッシュすることを例示している。本明細書の開示に鑑みて、キューは、メッセージ／更新を同時にまたは異なる時点で送信／プッシュできることが理解されるであろう。
【０１５０】
図３Ｅが例示するように、受信者による支払の受け入れ後、支払エンジン２０６は、一時口座から支払取引のための資金をデビット請求する（３６８）ことができる。支払エンジン２０６は支払ネットワーク１１５に支払クレジット要求を送信（３７０）して、資金を受信者の支払クレデンシャルに入れる。支払クレジット要求を受信すると、支払ネットワーク１１５は、支払取引に対応する支払額を、受信者の支払クレデンシャルにクレジット提供する（３７２）ことができる。支払ネットワーク１１５は、支払エンジン２０６に、支払ネットワーク１１５が受信者の支払クレデンシャルへのクレジット提供を成功したことを示す支払クレジット応答を送信する（３７４）。
【０１５１】
支払エンジン２０６が支払ネットワーク１１５から支払クレジット提供成功応答を受信した後、支払エンジン２０６は、受信者支払キュー３０６に、移動成功更新を送信する（３７６）ことができる（図３Ｆに示される）。移動成功更新は、支払取引の取引ＩＤおよび更新されたステータスを含むことができる。たとえば、移動成功更新は、受信者支払クレデンシャルへの資金の移動が成功したことをクライアント・デバイスに示す新たなステータス番号を含むことができる。代替的に、支払取引が成功しなかった場合、支払エンジン２０６は、成功しなかった取引に対する異なるステータス番号を使用して、移動が成功しなかったことを示すステータス更新を送信することができる。
【０１５２】
受信者キューが移動成功更新を受信した後、受信者支払キュー３０６は、送信者支払キュー３０２に、移動成功更新を送信する（３７８）ことができる。受信者支払キュー３０６は、送信者支払キュー３０２に更新を送信するのと並行して、受信者クライアント・デバイス３００ｂに支払成功更新をプッシュする（３８０）こともできる。代替的に、受信者支払キュー３０６は、更新を送信者支払キュー３０２に送信する前に、更新を受信者クライアント・デバイス３００ｂにプッシュすることができる。送信者支払キュー３０２が支払成功更新を受信すると、送信者支払キュー３０２は、送信者クライアント・デバイス３００ａに、支払成功更新をプッシュする（３８２）ことができる。
【０１５３】
１つまたは複数の実施形態では、クライアント・デバイス３０２ａ、３０２ｂが、対応する支払キューから支払取引についてのステータス更新を受信すると、クライアント・アプリケーション２０２は更新を検出し、メッセージング・スレッドに関連付けられている１つまたは複数の行為を行うことができる。たとえば、図５Ｎから図５Ｏに詳しく説明されるように、クライアント・アプリケーション２０２は更新を識別し、対応するメッセージ・ステータス更新をメッセージング・スレッド内に表示することができる。例示するために、クライアント・アプリケーション２０２は、メッセージング・スレッド内に、支払取引が新たなステータスを有するというアイコンまたは視覚的標識を表示することができる。代替的に、支払エンジン２０６はネットワーク・アプリケーション２０４と通信して、対応するメッセージ・キューを介して更新をクライアント・デバイス３０２ａ、３０２ｂに送信することができる。
【０１５４】
以前に説明したように、ネットワーク・アプリケーション２０４および支払ネットワーク２０６は、システム１００のユーザ各人のためのキューと通信する。図４は、各ユーザに専用の複数のキューを使用して、支払およびメッセージの送信を促進するシステム１０
０の一実施形態を例示する。１つまたは複数の実施形態によると、サーバ・デバイス１０８はネットワーク・アプリケーション２０４、支払ネットワーク２０６、送信者キュー４００（すなわち、送信者支払キュー３０２および送信者メッセージ・キュー３０４）、および受信者キュー４０２（すなわち、受信者支払キュー３０６および受信者メッセージ・キュー３０８）を含み得る。代替的に、送信者キュー４００および受信者キュー４０２は個別のサーバ・デバイス上にあってもよく、送信者と受信者それぞれが専用のサーバ・デバイス上にあってもよい。
【０１５５】
示されるように、サーバ・デバイスは、送信者クライアント・デバイス３００ａおよび受信者クライアント・デバイス３００ｂと通信状態にある。１つまたは複数の実施形態では、サーバ・デバイス１０８の構成要素のそれぞれが互いに通信し得る。たとえば、送信者キュー４００および受信者キュー４０２はネットワーク・アプリケーション２０４と通信して、送信者と受信者との間のメッセージング・スレッド内のメッセージの更新を送信および受信し得る。同様に、送信者キュー４００および受信者キュー４０２は支払エンジン２０６と通信して、各デバイス上のクライアント・アプリケーション２０２内の支払取引の更新を送信および受信し得る。
【０１５６】
サーバ・デバイス１０８の構成要素の少なくとも一部はまた、送信者クライアント・デバイス３００ａおよび受信者クライアント・デバイス３００ｂの両方または一方とも通信し得る。たとえば、送信者キュー４００は送信者クライアント・デバイス３００ａと通信してもよく、受信者キュー４０２は受信者クライアント・デバイス３００ｂと通信してもよい。あるタイプの通信の場合、支払エンジン２０６はまた、送信者クライアント・デバイス３００ａおよび受信者クライアント・デバイス３００ｂと直接通信し得る。例示のために、支払エンジン２０６は、クライアント・デバイスまたは支払エンジン２０６がセキュア接続でデータ（たとえば、クレデンシャル情報などの個人情報を含むデータ）を移動するとき、クライアント・デバイスと直接通信することができる。図示していないが、１つまたは複数の実施形態では、ネットワーク・アプリケーション２０４は、ユーザ・アカウント情報などの機密ユーザ情報（たとえば、ログインのユーザ名／パスワード）を送信または受信するために、クライアント・デバイスと通信し得る。
【０１５７】
１つまたは複数の実施形態では、送信者キュー４００および受信者キュー４０２は、クライアント・デバイス３０２ａ、３０２ｂが常にネットワーク・アプリケーション２０４および支払エンジン２０６と直接通信する場合よりも迅速に、システム１００がユーザ間でメッセージを処理および交換することを可能にする。たとえば、キューは、永続的な記憶のために最初にメッセージまたは更新をデータベースに書き込まなくても、システムが少なくともいくつかのメッセージまたはメッセージの変更を送信者から受信者に送信することを可能にする。特に、システム１００はキューを使用して、メッセージを受信者に送信するのと並行して、ネットワーク・アプリケーション２０４および支払エンジン２０６の両方または一方にメッセージを送信することができる。
【０１５８】
例示のために、送信者クライアント・デバイス３００ａがメッセージを送信者キュー４００に送信すると、送信者キュー４００は、ネットワーク・アプリケーション２０４および支払エンジン２０６の両方または一方ならびに受信者キュー４０２にメッセージを転送することができる。次いで、受信者キュー４０２は、ネットワーク・アプリケーション２０４または支払エンジン２０６が（たとえば、メッセージをデータベースに書き込む、またはメッセージに関連する別の操作を行うことにより）メッセージを処理しているときと本質的には同時に、メッセージを受信者クライアント・デバイス３００ｂにプッシュすることができる。送信者から受信者への、およびその逆のメッセージの配信における直接的な中間ステップとしてネットワーク・アプリケーション２０４および支払エンジン２０６の両方または一方を省くことにより、システム１００は交換速度を改善する。
【０１５９】
ある特定の更新をクライアント・デバイスに配信するべきかどうかを決定するとき（たとえば、接続損失の後）、キューは、更新に関係付けられているシーケンスＩＤおよびクライアント・デバイスから取得したシーケンスＩＤに基づいて、クライアント・デバイスがすでに更新を受信しているかどうかを決定することができる。シーケンスＩＤが更新のシーケンスＩＤと一致しない場合、キューは、更新および間にある更新をクライアント・デバイスにプッシュし、クライアント・デバイスをキューと同期させることができる。クライアント・デバイスが同期されて、確立された接続をもつようになったら、キューは、クライアント・デバイスからシーケンスＩＤを要求せずにクライアント・デバイスに新たな更新をプッシュすることができ、クライアント・デバイスに更新を要求するよう要求するのではなく、クライアント・デバイスのユーザが、支払取引についてのステータス更新が起きたときに、かかるステータス更新を閲覧することが可能になる。
【０１６０】
加えて、１つまたは複数の実施形態において、キューは、クライアント・デバイスにプッシュするために、所定の量まで一時的に記憶することができる。具体的に、キューは、クライアント・デバイスがサーバ・デバイス１０８との接続を確立したときにクライアント・デバイスにプッシュするために、更新を記憶する。たとえば、キューのそれぞれは、システム１００がクライアント・デバイスにプッシュしたことのない古い更新が消えていくか、またはキューから除去される前に、対応するクライアント・デバイスにプッシュするために、最大１千のメッセージまたは変更を記憶することができる。代替例において、キューは、各更新に関連付けられているタイムスタンプ情報に基づいて、または他の基準もしくは追加の基準に従って、動的な数のメッセージを記憶し得る。
【０１６１】
以下でより詳細に説明されるように、図１〜図２および図４に関して説明されるシステム１００の構成要素は、他の構成要素とともに、および／または他の構成要素と組み合わせて、１つまたは複数のグラフィカル・ユーザ・インターフェースを提供することができる。特に、構成要素は、ユーザが、さまざまな目的のために表示要素の集合と対話することを可能にすることができる。特に、図５Ａ〜図５Ｏおよび続く説明は、送信者ユーザが支払を受信者に送信することを可能にするユーザ・インターフェースおよび特徴のさまざまな例となる実施形態を例示する。
【０１６２】
たとえば、図５Ａ〜図５Ｏは、電子メッセージングならびに支払を送信および受信することを促進するためにクライアント・アプリケーション２０２によって提供されるＧＵＩのさまざまな図を例示する。いくつかの例では、クライアント・デバイス（すなわち、クライアント・デバイス３００ａ、３００ｂ）は、システム１００の一部またはすべてを実施することができる。たとえば、図５Ａは、携帯電話機（たとえば、スマートフォン）などのハンドヘルド・デバイスであるクライアント・デバイス５００を例示する。本明細書で使用されるとき、「ハンドヘルド・デバイス」という用語は、ユーザの片手の中で持たれる／操作されるようなサイズおよび構成にされたデバイスに及ぶ。しかしながら、追加例または代替例では、限定されるものではないが、タブレット・デバイス、ハンドヘルド・デバイス、より大型の無線デバイス、ラップトップ・コンピュータもしくはデスクトップ・コンピュータ、パーソナルデジタル・アシスタント・デバイス、および／または他の任意の適切なコンピューティング・デバイスなどの他の任意の適切なコンピューティング・デバイスが、本明細書で説明されるプロセスおよび動作またはプロセスならびに動作のうちの１つまたは複数を実行することができる。
【０１６３】
クライアント・デバイス５００は、以下で図８のコンピューティング・デバイス８００に関連して説明される特徴および構成要素のいずれかを含む。図５Ａに例示されるように、クライアント・デバイス５００は、ユーザ・インターフェースを表示または提供することができ、それによってユーザ入力が受信および／または検出され得るタッチスクリーン
５０２を含む。本明細書で使用されるとき、「タッチスクリーン表示」は、タッチスクリーン・デバイスの表示に及ぶ。１つまたは複数の実施形態では、タッチスクリーン・デバイスは、ユーザがタッチ・ジェスチャーを実行し得る少なくとも１つの表面を有するクライアント・デバイス（たとえば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、携帯電話）であり得る。加えて、または代替的に、クライアント・デバイス５００は、タッチ・パッドまたは図８に関連して以下で説明されるデバイスなどの他の任意の適切な入力デバイスを含んでよい。
【０１６４】
以前に触れられたように、システム１００は、電子メッセージング・システム（たとえば、フェースブック・メッセンジャーなどのメッセージング・アプリケーション）と電子支払システムを統合する。図５Ａは、タッチスクリーン５０２上でユーザ・インターフェース・マネージャ２０８によって提供される人々または連絡先ユーザ・インターフェース５０４を例示する。連絡先ユーザ・インターフェース５０４は、クライアント・デバイス５００のユーザ（「ドナルド」）の連絡先のリストを提供する。特に、連絡先ユーザ・インターフェース５０４は、システム１００内でユーザが接続されるまたは関連付けられている「友達」または連絡先５０６を列挙する。
【０１６５】
連絡先ユーザ・インターフェース５０４は、連絡先５０６の各々の１つまたは複数のステータスをさらに提供する。たとえば、連絡先ユーザ・インターフェース５０４は、第１のステータス・インジケータ５０８を介することによって、所与の連絡先または共同ユーザがアクティブか否か（たとえば、クライアント・アプリケーション２０２にログインしている、インターネットに接続されている、クライアント・アプリケーション２０２を使用してアクションを最近実行した）を示す。第１のステータス・インジケータ５０８は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備える。一実施形態では、第１のステータス・インジケータ５０８は、アクティブである各共同ユーザの名前の隣に第１の色（たとえば、緑色）のドットを備える。関係して、第１のステータス・インジケータ５０８は、非アクティブであるユーザの隣に第２の色（たとえば、灰色）のドットも含む。
【０１６６】
連絡先ユーザ・インターフェース５０４は、デバイス・インジケータ５１０を介して、連絡先または共同ユーザが現在使用しているデバイスのタイプを示す。デバイス・インジケータ５１０は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備える。たとえば、示されるように、デバイス・インジケータ５１０は、共同ユーザがアクティブである、またはパーソナル・コンピュータを使用してクライアント・アプリケーション２０２にログインしていることを示す、「ウェブ」という単語を備える。同様に、デバイス・インジケータ５１０は、所与の連絡先がアクティブである、または携帯電話などのモバイル・デバイスを使用してクライアント・アプリケーション２０２にログインしていることを示すために、「モバイル」という単語を含む。加えて、または代替的に、デバイス・インジケータ５１０は、所与の共同ユーザのクライアント・デバイスのブランドまたはモデルを示す。
【０１６７】
所与の共同ユーザのプライバシー設定に応じて、連絡先ユーザ・インターフェース５０４は、支払ステータス・インジケータ５１１をさらに含む。支払ステータス・インジケータ５１１は、所与の共同ユーザが登録されているまたはシステム１００を使用して電子支払を受信もしくは送信することが可能であるか否かを示す。たとえば、所与の共同ユーザの名前の隣における支払ステータス・インジケータ５１１の存在は、所与の共同ユーザが、システム１００またはネットワーク・アプリケーション２０４を用いて共同ユーザの口座またはプロファイルに関連付けられている支払クレデンシャルを有することを示す。支払ステータス・インジケータ５１１は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備える。たとえば、図５Ａによって示されるように、支払ステ
ータス・インジケータ５１１は、支払取引に一般に関連付けられているドル記号または他のシンボルを備える。
【０１６８】
クライアント・アプリケーション２０２は、ネットワーク・アプリケーション２０４のステータス・マネージャ２３２から、クライアント・デバイス５００のユーザに関連付けられている連絡先のステータスの通知または標識を受信する。たとえば、クライアント・アプリケーション２０２は、クライアント・アプリケーション２０２がいつアクティブまたはオンラインであるかを示すために、ネットワーク・アプリケーション２０４に対して通知またステータス更新を送信する。次いで、ステータス・マネージャ２３２は、所与のユーザに関連付けられているクライアント・デバイス１０４ａに対して、所与のユーザに関連付けられている連絡先のステータスを送信する。関係して、ステータス・マネージャ２３２は、所与のユーザが、所与のユーザのプロファイルに関連付けられている支払クレデンシャルを有するか否かを決定することができ、支払を送信および受信できることを有するユーザの連絡先のクライアント・デバイス５００に対して標識を提供する。
【０１６９】
本明細書における開示に鑑みて、電子メッセージング・システムと電子支払システムの統合は、従来の支払アプリケーションに勝る大きな利点を提供することが理解されよう。特に、ユーザは、連絡先ユーザ・インターフェース５０４にアクセスし、どの共同ユーザがアクティブであるか、したがって、支払取引についてチャットするため、または支払の受信を告知するためにすら利用可能であるかを決定する。そのうえ、連絡先ユーザ・インターフェース５０４は任意選択で、ユーザが、どの共同ユーザが支払クレデンシャルを有するかを知ることを可能にする。したがって、連絡先ユーザ・インターフェース５０４が、共同ユーザが支払を受信するか否か、またはユーザが共同ユーザを招待して登録するよう尋ねられるか否かをユーザに知らせる。
【０１７０】
上記で説明されたように、システム１００は、データを受信および送信することを促進する。１つまたは複数の実施形態では、通信マネージャ２３０は、コンピューティング・デバイス１０４ａ、１０４ｂ、５００の間で電子通信を受信および送信することを促進する。また、１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、通信マネージャ２３０を介して送信および受信された電子通信を表示する。１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、メッセージング・スレッド内で通信マネージャ２３０を介して送信および受信された電子通信をメッセージング・グラフィカル・ユーザ・インターフェース内に表示する。たとえば、ユーザは、連絡先とメッセージを交換することを促進するメッセージング・グラフィカル・ユーザ・インターフェースを開くために、連絡先ユーザ・インターフェース５０４の連絡先のリスト内の連絡先リストと対話する。たとえば、図５Ｂは、ユーザが連絡先ユーザ・インターフェース５０４から「ジョー」という連絡先を選択するとタッチスクリーン５０２上にユーザ・インターフェース・マネージャ２０８によって提供されるメッセージング・グラフィカル・ユーザ・インターフェース５１２を例示する。
【０１７１】
示されるように、メッセージング・グラフィカル・ユーザ・インターフェース５１２は、クライアント・デバイス５００のユーザの口座から送信された電子メッセージ５１６ａを含むメッセージング・スレッド５１４を含む。同様に、メッセージング・スレッド５１４は、共同ユーザ（すなわち、「ジョー」）の口座によって受信された電子メッセージ５１６ｂを含む。１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、より古いメッセージがメッセージング・スレッド５１４の上部において表示されるように、新しいメッセージがメッセージング・スレッド５１４の下部に対して追加されるように、メッセージング・スレッド５１４を編成する。代替実施形態では、ユーザ・インターフェース・マネージャ２０８は、メッセージ５１６ａ、５１６ｂ間の時系列の関係または他の関係をユーザに対して示し得る任意の様式で、メッセージ５１６ａ、５１６
ｂを編成し得る。
【０１７２】
ユーザ・インターフェース・マネージャ２０８は、ユーザがメッセージング・スレッド５１４内で電子通信を区別する助けとなるために、さまざまな電子通信特性を提供する。たとえば、図５Ｂに例示されるように、ユーザ・インターフェース・マネージャ２０８は、メッセージング・グラフィカル・ユーザ・インターフェース５１２の片側（すなわち、右側）に向けられた、クライアント・デバイス５００のユーザの口座から送信された電子メッセージ５１６ａを表示する。一方、ユーザ・インターフェース・マネージャ２０８は、メッセージング・グラフィカル・ユーザ・インターフェース５１２の反対側（すなわち、左側）に向けられた、メッセージング・ハンドラ２１２によって受信された電子メッセージ５１６ｂを表示する。１つまたは複数の実施形態では、電子メッセージ５１６ａ、５１６ｂの位置決めおよび方向は、メッセージング・グラフィカル・ユーザ・インターフェース５１２内で表示されたさまざまな電子通信の起点のクライアント・デバイス５００のユーザに対して明確なインジケータを提供する。
【０１７３】
ユーザが電子通信を区別する助けとなるユーザ・インターフェース・マネージャ２０８によって提供された別の特性は、電子通信の色であり得る。たとえば、図５Ｂに示されるように、ユーザ・インターフェース・マネージャ２０８は、送信された電子メッセージ５１６ａを第１の色で、受信された電子メッセージ５１６ｂを第２の色で表示する。１つまたは複数の実施形態では、第１の色および第２の色はそれぞれ、逆にされた字面色を有する、黒色および白色であってよい。一代替実施形態では、ユーザ・インターフェース・マネージャ２０８は、白色の背景および異なる色の輪郭を用いて電子メッセージ５１６ａ、５１６ｂを表示してよい。
【０１７４】
さらに別の代替実施形態では、ユーザ・インターフェース・マネージャ２０８は、異なるパターンの背景を用いて電子メッセージ５１６ａ、５１６ｂを表示してもよいし、異なるフォントで表示してもよいし、異なるサイズで表示してもよいし、または送信された電子メッセージ５１６ａと受信された電子メッセージ５１６ｂとを区別し得る他の任意の様式で表示してもよい。たとえば、１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、青色の背景上の白色の字面を用いて、送信された電子メッセージ５１６ａを表示する。同様に、１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、灰色の背景上の黒色の字面を用いて、受信された電子メッセージ５１６ｂを表示する。
【０１７５】
上記で言及されたように、ユーザ・インターフェース・マネージャ２０８は、メッセージ入力制御パレットまたはツールバー５２２も提供し得る。図５Ｂに例示されるように、ユーザ・インターフェース・マネージャ２０８は、メッセージ入力制御パレットまたはツールバー５２２をメッセージング・グラフィカル・ユーザ・インターフェース５１２の一部として表示する。１つまたは複数の実施形態では、メッセージ入力制御パレットまたはツール・バー５２２は、さまざまなメッセージ入力オプションまたは他のオプションをユーザに提供する、さまざまな選択可能なメッセージ入力制御を含む。たとえば、図５Ｂでは、メッセージ入力制御パレットまたはツールバー５２２は、テキスト入力制御部５２４ａと、支払制御部５２４ｂと、カメラ・ビューファインダ入力制御部５２４ｃと、マルチメディア入力制御部５２４ｄと、シンボル入力制御部５２４ｅと、「いいね」インジケータ制御部５２４ｆとを含む。１つまたは複数の代替実施形態では、メッセージ入力制御パレットまたはツールバー５２２は、異なる順序で入力制御部５２４ａ〜５２４ｅを提供してもよいし、図５Ｂで表示されない他の入力制御部を提供してもよいし、図５Ｂに示される入力制御部５２４ａ〜５２４ｅのうちの１つまたは複数を省略してもよい。
【０１７６】
以下でより詳細に説明されるように、ユーザは、異なるタイプの電子通信を構築および
送信するために、入力制御部５２４ａ〜５２４ｅのいずれかと対話してよい。たとえば、ユーザがテキスト入力制御部５２４ａと対話する場合、ユーザ・インターフェース・マネージャ２０８は、メッセージング・グラフィカル・ユーザ・インターフェース５１２の一部分の中に、ユーザがテキスト・メッセージ５２０を構築するために利用し得るタッチスクリーン表示キーボード５１８を提供し得る。同様に、ユーザがマルチメディア入力制御部５２４ｄと対話する場合、ユーザ・インターフェース・マネージャ２０８は、メッセージング・グラフィカル・ユーザ・インターフェース５１２の一部分の中に、（たとえば、デジタル写真、デジタル映像などを表示するための）マルチメディア・コンテンツ・アイテム表示エリアを提供し得る。同様に、ユーザがカメラ・ビューファインダ入力制御部５２４ｃと対話する場合、ユーザ・インターフェース・マネージャ２０８は、メッセージング・グラフィカル・ユーザ・インターフェース５１２の一部分の中に、ユーザがメッセージング・スレッド５１４に対してデジタル写真またはデジタル映像をキャプチャ、送信、および追加するために利用し得るデジタル・カメラ・インターフェースを提供し得る。
【０１７７】
ユーザは、メッセージまたは支払を構築し、システム１００を介して１つまたは複数の共同ユーザに対して送信するために、メッセージ入力制御部５２４ａ〜ｅのいずれかと対話し得る。たとえば、図５Ｂでは、支払制御部５２４ｂと対話するユーザの指が示されている。１つまたは複数の実施形態では、ユーザ入力ディテクタ２１０は、支払制御部５２４ｂとのユーザの指または他の入力デバイスの対話（たとえば、タップ・タッチ・ジェスチャー）を検出する。ユーザ入力ディテクタ２１０が支払制御部５２４ｂ上でタップ・タッチ・ジェスチャーを検出すると、ユーザ・インターフェース・マネージャ２０８は、図５Ｃによって示されるように、メッセージング・ユーザ・インターフェース５１２の一部分の中に支払ユーザ・インターフェース５１５を表示し得る。
【０１７８】
特に、図５Ｃによって例示されるように、ユーザ・インターフェース・マネージャ２０８は、メッセージング・ユーザ・インターフェース５１２の第１の部分（すなわち、上方部分）の中にメッセージング・スレッド５１４を提供する。ユーザ・インターフェース・マネージャ２０８は、メッセージング・ユーザ・インターフェース５１２の第２の部分（すなわち、下方部分）の中に支払ユーザ・インターフェース５１５を提供する。したがって、ユーザ・インターフェース・マネージャ２０８は、ユーザがメッセージング・スレッド５１４および任意の新しいメッセージを閲覧することを可能にしながら、支払取引を開始することも可能にする。代替実施形態では、ユーザ・インターフェース・マネージャ１０２は、メッセージング・スレッド５１４および支払ユーザ・インターフェース５１５を水平に、または垂直構成以外の別の構成で構成する。さらに他の実施形態では、支払ユーザ・インターフェース５１５は、メッセージング・ユーザ・インターフェース５１２または別個のユーザ・インターフェースの上にオーバーレイを備える。
【０１７９】
本明細書における説明から明らかになるように、支払ユーザ・インターフェース５１５は、ユーザが支払取引を開始する（支払を送信する、支払を要求するなど）ことを可能にしながら、同時に支払取引に対する１つまたは複数の共同ユーザ・パーティとともにメッセージを閲覧する。たとえば、図５Ｂおよび図５Ｃは、デバイス５００の送信者ユーザ（「ブラッド」）（以下、送信者という）が、「この前の夜の２５ドルを送ってもらえる？」というメッセージをメッセージング・スレッド５１４内の会話に参加している受信者共同ユーザ（「ジョー」）から受信したことを例示する。応答では、ブラッドが、「もちろん」と応答した。この会話すなわちメッセージング・セッションに応答して、送信者は、受信者に対して支払を送信することを望む。メッセージング・ユーザ・インターフェース５１２は、送信者がメッセージング・スレッド５１４またはメッセージング・ユーザ・インターフェース５１２から離れてナビゲートする必要なしに、そのようにすることを可能にする。代替として、メッセージング・ユーザ・インターフェース５１２は、分離した支払ユーザ・インターフェース５１５にナビゲートすることができる。
【０１８０】
示されるように、支払インターフェース５１５ａは、所望の数字を順番に入力することによって（すなわち、２５ドルに到達するために数字キーパッド５３８の中で「２」次いで「５」をタップすることによって）ユーザが支払額５３２を選択することを可能にする数字キーパッド５３８を含む。支払インターフェースは、選択された数字を表示して、ユーザが、選択された数字が所望の支払額に対応することを確認し、それに応じて選択された数字を修正することを可能にする。本明細書における開示に鑑みて、図５Ｃの支払インターフェース５１５は支払インターフェースの一実装形態であることが理解されるであろう。１つまたは複数の実施形態では、ユーザは、複数の異なる支払インターフェースから支払インターフェース５１５を選択する。
【０１８１】
１つまたは複数の実施形態では、送信者が支払要素５３７を選択したこと、または別のやり方で支払要求を送信させたことに応答して、クライアント・アプリケーション２０２は、支払エンジン２０６に対して要求を送信して、送信者が、登録された支払クレデンシャルを有するか否かを決定する、および／または、ユーザの登録された支払クレデンシャルを許可する。図３Ａに例示するように、とりわけ、クライアント・アプリケーション２０２は、支払要求を生成し、支払開始要求を支払エンジン２０６に送信することができる。送信者が、登録された支払口座に関連付けられない場合、ユーザ・インターフェース・マネージャ２０８は、図５Ｄに示されるように、送信者が支払クレデンシャルを登録することを可能にするクレデンシャル・ユーザ・インターフェース５３４を提示する。代替的に、またはこれに加えて、グラフィカル・インターフェースは、送信者が口座を作成することを必要とすることなく、ワンタイム支払を促進するためにユーザが支払情報を入力する（たとえば、デビット・カード番号またはクレジット・カード番号を入力する）ことを可能にするワンタイム支払オプションを提示する。
【０１８２】
クレデンシャル・ユーザ・インターフェース５３４は、送信者が入力することを選択した支払クレデンシャルのタイプに応じて変化することが理解されるであろう。またはより多くの実施形態では、ユーザ・インターフェース・マネージャ２０８は、受信者に対して資金を送信するために許容できる支払クレデンシャル（たとえば、クレジット・カード、デビット・カード、ギフト・カード、銀行口座）のリストを提供する。ユーザが支払クレデンシャルのタイプを選択すると、ユーザ・インターフェース・マネージャ２０８は、適用可能なクレデンシャル・ユーザ・インターフェース５３４を提供する。たとえば、図５Ｄは、デビット・カードを入力するためのクレデンシャル・ユーザ・インターフェース５３４を例示する。示されるように、ユーザは、数字キーパッド５３８を介して、デビット・カードに関連付けられているデビット・カード番号、有効期限、セキュリティ・コード、および請求書送付先郵便番号コードを入力する。支払情報を入力すると、メッセージング・ハンドラ２１２は、支払クレデンシャルを記憶するために支払エンジン２０６に対して支払クレデンシャル情報を送信する。
【０１８３】
送信者が支払クレデンシャル詳細を入力した後（自動リマインダによってであれ、受信者からの手動リマインダであれ、または送信者自身のチョイスによってであれ）、システム１００は、支払取引を処理し続ける。１つまたは複数の実施形態では、クライアント・アプリケーション２０２は、将来の支払取引を処理するためにＰＩＮまたは他のショートカットを使用するオプションを送信者に対して提供する。たとえば、図５Ｅに示されるように、クライアント・アプリケーション２０２は、セキュリティを追加する目的で、送信者が金銭を送信するためにＰＩＮを作成したいか否か送信者に尋ねるポップアップ・ウィンドウ５４０または他の通知を、メッセージング・インターフェース５１２の中で送信者に対して提示する。
【０１８４】
送信者が、将来の支払取引を処理するためにＰＩＮを入力することを選択した場合、ク
ライアント・アプリケーション２０２は、図５Ｆに示されるように、ＰＩＮを作成するためのＰＩＮ作成インターフェース５４２を提示する。具体的には、ＰＩＮ作成インターフェースは、送信者が、送信者の記憶されたクレデンシャルに関連付けられている一意のＰＩＮを作成することを可能にする。たとえば、ＰＩＮは、将来の支払取引を処理することが可能になる前に送信者が数字キーパッド５３８を介して入力する４桁の番号（または任意の長さの文字列）とする。いくつかの例では、システム１００は、ＰＩＮを作成し、記憶されたクレデンシャルとＰＩＮを関連付けるために、ＰＩＮを再入力することによって、送信者がＰＩＮを確かめることを要求することもできる。
【０１８５】
将来の支払取引のために、システム１００は、送信者がＰＩＮを入力するＰＩＮ入力インターフェースを提示する。ＰＩＮを入力することは、システム１００が、ＰＩＮに関連するユーザのために記憶されたクレデンシャルを使用して支払取引を処理することを可能にする。したがって、ＰＩＮを入力することは、送信者が、送信者がシステム１００を介して別のユーザに対して金銭を送信することを望むたびにクレデンシャルを思い出すことなく支払取引を開始および完了することを可能にする。
【０１８６】
１つまたは複数の実施形態では、ユーザの支払クレデンシャルを検証するに際し、またはこれを検証した後、送信者クライアント・デバイス５００は支払要求を支払エンジン２０６に送信して、処理し、受信者クライアント・デバイスに配信することができる。以前に説明されたように、支払エンジン２０６が送信者クライアント・デバイス５００から支払要求を受信して、送信者の支払クレデンシャルへの請求に成功した後、支払エンジン２０６は、送信者クライアント・デバイス５００への支払開始メッセージを送信者支払キュー３０２に送信する。送信者支払キュー３０２は更新を送信者クライアント・デバイス５００にプッシュし、受信者支払キュー３０６にも更新を送信することができる。
【０１８７】
支払開始メッセージに関連して、ネットワーク・アプリケーション２０４は、会話に関与する送信者と受信者の両方に対して、メッセージング・スレッド５１４の中で支払額５３２を提示するために、支払要求を示すメッセージを生成することができる。具体的には、ネットワーク・アプリケーション２０４は、メッセージを送信者メッセージ・キュー３０４に送信することができる。次いで、送信者メッセージ・キュー３０４はメッセージを送信者クライアント・デバイス５００にプッシュするとともに、受信者メッセージ・キュー３０８にもメッセージを転送する。
【０１８８】
送信者クライアント・デバイス５００がメッセージおよび支払開始メッセージを受信すると、送信者クライアント・デバイス５００はメッセージング・スレッド５１４内にメッセージを表示することができる。以前に述べたように、支払取引に関連付けられている情報をメッセージが示すことができるように、メッセージは、取引ＩＤおよびメッセージＩＤによって支払取引にリンク付けされていてもよい。たとえば、図５Ｇは、送信者と受信者との間のメッセージング・スレッド５１４の中で、支払要求のために支払額５３２を示す。例示するために、システム１００はメッセージング・スレッド５１４の会話の時間依存フローの中で、メッセージとして支払額５３２を提示することができる。
【０１８９】
図５Ｈ〜図５Ｍは、受信者クライアント・デバイス５００ａのためのグラフィカル・ユーザ・インターフェースを例示する。図５Ｈは、送信者が受信者に対して支払額を送信する支払取引を開始した後の、受信者クライアント・デバイス５００ａにおけるメッセージング・インターフェース５１２ａを例示する。１つまたは複数の実施形態では、システム１００は、送信者が支払取引を開始したことを、支払開始メッセージおよび支払取引を示すメッセージを介して受信者に通知することができる。具体的には、受信者支払キュー３０６が支払開始メッセージを受信すると、受信者支払キュー３０６は更新を受信者クライアント・デバイス５００ａにプッシュすることができる。
【０１９０】
加えて、受信者メッセージ・キュー３０８は、対応するメッセージを受信者クライアント・デバイス５００ａにプッシュすることができる。たとえば、ユーザ・インターフェース・マネージャ２０８は、送信者の身元に関連付けられているメッセージング・インターフェース５１２ａのメッセージング・スレッド５１４ａの中で支払額を、および支払額５３２ａを有する支払要求の中でテキスト内容（たとえば、「メッセンジャーから送信された」）を、示すことができる。例示するために、ユーザ・インターフェース・マネージャ２０８は、送信者と受信者との間で交換された他のメッセージとともに、支払額５３２ａをメッセージング・スレッド５１４ａに挿入することができる。加えて、または代替的に、ユーザ・インターフェース・マネージャ２０８は、別の様式で（たとえば、受信者クライアント・デバイス５００ａの通知エリア内またはメッセージング・インターフェース５１２ａのオーバーレイ内で通知を提供することによって）支払額５３２ａを提示することができる。
【０１９１】
１つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ２０８は、受信者が支払取引を受け入れることを可能にするために（すなわち、受入要素５５２などのメッセージング・インターフェース内の要素を選択することによって）受信者に対して確かめ要求を提供することができる。受信者が支払取引を受け入れた後、支払エンジン２０６は、支払取引を完了し、送信者から受信者へ資金を移動するプロセスを始めることができる。一代替例では、支払要求は、システム１００が支払取引を自動的に処理および完了するに際し、単に支払取引の注意を受信者に向けることができる。
【０１９２】
１つまたは複数の実施形態では、受信者が支払を受け入れることを選択したとき、または受信者が支払要求を受信した後、クライアント・アプリケーション２０２は、受信者が認定支払方法をサポートする登録された支払クレデンシャルを受信者が有するか否かを決定するために支払エンジン２０６に対して要求を送信することができる。受信者が、登録された支払口座に関連付けられていない場合、支払エンジン２０６は、図５Ｉに示されるように、受信者が口座を開設し、支払取引のための支払クレデンシャル（たとえば、デビット・カード口座またはクレジット・カード口座）を登録することを可能にするクレデンシャル・ユーザ・インターフェース５３４を表示するよう受信者クライアント・デバイス５００ａに通知することができる。代替的に、またはこれに加えて、グラフィカル・インターフェースは、送信者が口座を開設することを必要とすることなく、ワンタイム支払を促進するために受信者が支払情報を入力することを可能にするワンタイム支払オプションを提示することができる。
【０１９３】
受信者が支払クレデンシャルを入力した後、受信者クライアント・デバイス５００ａは、認証／検証のために受信者の支払クレデンシャルを支払エンジン２０６に送信する。これで、システム１００は支払取引を完了することができる。具体的には、システム１００は、送信者から受信者へ資金を移動することによって、支払取引を完了することができる。いくつかの例では、送信者から受信者へ資金を移動することは、以前に図３Ａ〜図３Ｆに関係して説明されたように、対応する金融機関によって取引が受け入れられるまで受信者に関連付けられている一時口座または中間口座に資金を移動することを含むことができる。代替例では、支払取引を完了することは、受信者によって入力された宛先入金口座へ資金を直接的に移動することを含むことができる。
【０１９４】
図５Ｊに示されるように、支払取引を完了した後（または、受信者が支払取引を完了することを選択した後）、システム１００は、支払取引が完了したこと、および受信者は一定の時間枠以内に支払を受信するべきであることを受信者に通知する支払完了メッセージ５５８を表示することができる。たとえば、支払完了メッセージ５５８は、受信者が一定の期間内に支払を受信するべきであることを受信者に通知することができる。１つまたは
複数の実施形態では、受信者クライアント・デバイス５００ａは、支払取引が完了したことを示す支払ステータス更新を受信者支払キュー３０６から受信した後に、完了メッセージ５５８を表示することができる。
【０１９５】
追加の実施形態では、システム１００は、受信者のための複数の支払クレデンシャルから１つの支払クレデンシャルを選択することができる。特に、システム１００は、受信者が以前に支払エンジン２０６に登録した複数の支払クレデンシャルを識別し、適切な支払クレデンシャルを選択することができる。たとえば、システム１００は、複数の入金口座を識別することができ、ユーザが支払インターフェース５１５ａを介して複数の入金口座から選択することを可能にする。適切な支払クレデンシャルを選択した後、システムは支払取引を完了し（すなわち、受信者の選択した支払クレデンシャルに対して支払額をプッシュし）、受信者に支払完了メッセージ５５８を提供することができる。
【０１９６】
１つまたは複数の実施形態では、支払完了メッセージ５５８を閉じた後または別のやり方で支払取引を完了した後、システム１００は、送信者クライアント・デバイス５００上のメッセージング・スレッド５１４および／または受信者クライアント・デバイス５００ａのメッセージング・スレッド５１４ａの中の支払額５３２（および支払要求の他の任意のテキスト）を更新して、システム１００が支払取引を処理するのを完了したことを反映する。たとえば、ユーザ・インターフェース・マネージャ２０８は、メッセージング・スレッド５１４ａの中の支払要求の一定の特性（この場合、支払額５３２のみを備える）を変更する。例示するために、図５Ｋでは、ユーザ・インターフェース・マネージャ２０８は、図５Ｇに示される薄いものから図５Ｋに示される濃いものへと、支払要求内の支払額５３２ａによって支払アイコン４６０の色または陰影を変更する。加えて、または代替的に、ユーザ・インターフェース・マネージャ２０８は、メッセージング・スレッド５１４ａの中の支払要求の位置、支払要求の境界幅、支払要求の背景色、支払要求のサイズおよびフォント、またはこの目的に適した支払要求の他の任意の特性を変更する。
【０１９７】
一例では、ユーザ・インターフェース・マネージャ２０８は、支払額が確定されたとき、たとえば、支払額をメッセージング・インターフェース５１２の中で「跳ね返らせる」ことによって、支払額をアニメーションにする。支払額をアニメーションにするとき、ユーザ・インターフェース・マネージャ２０８は、支払額の中の文字および／または画像を個々に、またはまとめてアニメーションにする。
【０１９８】
加えて、または代替的に、ユーザ・インターフェース・マネージャ２０８は、支払取引に関連付けられている１つまたは複数の動作が完了されるまで、外観を修正する（たとえば、支払額をアニメーションにする）。たとえば、ユーザ・インターフェース・マネージャ２０８は、受信者が支払額を受け入れる、送信者および／もしくは受信者がクレデンシャルを入力する、またはシステム１００が支払取引を完了し、送信者から受信者へ資金を移動するまで、支払額をアニメーションにする。追加実施形態または代替実施形態では、ユーザ・インターフェース・マネージャ２０８は、支払額が最終的なものになると、時間の量にわたって支払額の外観に対して修正を適用する。加えて、または代替的に、ユーザ・インターフェース・マネージャ２０８は、支払取引がいつ完了されたか、資金がいつ送信者にとって利用可能になるか、または支払取引が失敗した場合などの他の基準に基づいて、支払額の外観に対して修正を適用する。
【０１９９】
１つまたは複数の実施形態によれば、ユーザはメッセージング・スレッド内の支払取引に関する追加情報を閲覧し得る。たとえば、図５Ｌに示されるように、受信者が（たとえば、メッセージをタップして）メッセージを選択する場合、メッセージング・ユーザ・インターフェース５１２ａはメッセージング・スレッド５１４ａ内の支払要求に関連付けられている第２メッセージ５５０、ポップアップ・ウィンドウ、または他のステータス・イ
ンジケータに現在の支払ステータスを表示することができる。例示するために、支払エンジン２０６が支払取引を開始したが、支払取引がまだ完了していない場合、第２メッセージ５５０は取引ＩＤについて受信した情報を取り出して、現在のステータスを「開始済み」と表示することができる。加えて、第２メッセージ５５０は、支払取引についてのステータス更新のタイムスタンプを表示することができる。
【０２００】
支払取引のステータスが更新する場合、受信者クライアント・デバイス５００ａは、受信者が支払取引のスタータスを見ている間でも、受信者支払キューからプッシュ通知の更新を受信することができる（たとえば、第２メッセージがリアルタイムで更新する）。図５Ｍに示されるように、第２メッセージ５５０は、支払取引が完了したことを示す「完了」へのステータス更新を示すことができる。第２メッセージ５５０は最新のステータス更新に関連付けられているタイムスタンプも示すことができる。１つまたは複数の例では、第２メッセージ５５０は、同様に、前のステータス更新を、対応するタイムスタンプとともに示すこともできる。たとえば、第２メッセージ５５０は追加のユーザ入力（たとえば、メッセージの長押し）に応答して追加情報を示すことができる。図５Ｌおよび図５Ｍに示されるステータスは支払の開始および完了について、支払キューから受信したステータス更新を示すが、支払エンジン２０６は、支払受け入れ、支払クレデンシャルが登録されたこと、支払の取消、および／またはその他を含むが、これだけに限定されない、追加のまたは代替の更新を送信することができる。
【０２０１】
追加で、または代替的に、１つまたは複数の実施形態では、支払取引を示すメッセージで示される支払額は、支払取引の更新に応じて変えることができる。たとえば、以前に述べたように、送信者ユーザ（またはグループ支払取引の複数の送信者ユーザ）が受信者への支払額を増減することにより支払額を修正するか、支払を取消すか、または追加の送信者が支払取引に支払額を追加する場合、支払額はリアルタイムで更新し得る。例示するために、グループ支払のあるユーザがそのユーザの受信者への支払を取消す場合、以前の支払から取消された支払額を差し引くことにより、支払額は取消された支払を反映するように更新することができる。同様に、新たなユーザがグループに参加して支払を追加する場合、以前の支払額に新たな支払額を追加することにより、支払額は新たなユーザからの支払を反映するように更新することができる。
【０２０２】
同様に、支払額は為替レートに基づいて変動し得る。たとえば、支払取引が複数の通貨を含む場合、通貨の為替レートが変動すると支払額が変動し得る。例示するために、受信者の通貨の為替レートが変動する（たとえば、受信者の通貨価値が減少する）場合、支払額は、修正された為替レートをリアルタイムで反映するように増額できるであろう。
【０２０３】
より具体的には、上記述べたように、メッセージ・スレッド５１４ａの中のメッセージ５３２ａに示される支払額は、支払開始メッセージへのリンクを備える。支払キューが（クライアント・デバイスまたは支払エンジン２０６のいずれかから）支払額を変更する支払更新を受信すると、支払キューは支払更新を支払キューにプッシュして、支払キューに支払開始メッセージ内の支払額を更新させることができる。支払開始メッセージ内の支払額が変わると、メッセージング・スレッド５１４ａの中のメッセージ５３２ａに表示される支払額は、メッセージが支払開始メッセージへのリンクを備えるため、更新することができる。
【０２０４】
１つまたは複数の実施形態では、クライアント・アプリケーション２０２は、支払ステータス更新に関連する支払取引を示すメッセージについて、ステータス更新を提供することができる。図５Ｎおよび図５Ｏは、送信者と受信者との間の支払取引についてのステータス更新、および、メッセージ配信／既読更新、の両方または一方に基づく、メッセージ・ステータス更新を例示する。たとえば、送信者クライアント・デバイス５００のメッセ
ージング・スレッド５１４は、支払ステータスが変更したこと、および、送信者がとったアクションに基づいたこと、の両方または一方の視覚的インジケータ（メッセージング・スレッド５１４の中のメッセージの隣の円により表される）を含むことができる。例示するために、図５Ｎは、支払エンジン２０６が支払額について送信者の支払クレデンシャルへの請求に成功したことを送信者に示すメッセージ・ステータス・インジケータ５５２を示しているが、ステータス・インジケータは他の支払ステータス更新もしくはメッセージ・ステータス更新を示してもよく（たとえば、送信者がメッセージを受信するかもしくは読むとき）、または異なる外観を有していてもよい。
【０２０５】
１つまたは複数の実施形態によれば、送信者クライアント・デバイス５００上のクライアント・アプリケーション２０２は、送信者クライアント・デバイスが送信者支払キュー３０２から支払更新を受信したことを検出し、更新からステータス識別子を決定することができる。支払取引の更新についてのステータス識別子に基づいて、クライアント・アプリケーション２０２は、支払更新に対応するメッセージ・ステータスを識別し、メッセージング・スレッド５１４内のメッセージ・ステータスを修正することができる。たとえば、クライアント・アプリケーション２０２は、支払更新のメッセージ更新へのマッピングに基づいて、対応するメッセージ更新を見つけることができる。代替的に、支払エンジン２０６が支払ステータス更新をネットワーク・アプリケーション２０４に通知することができ、ネットワーク・アプリケーション２０４がメッセージ・ステータス更新を送信者メッセージ・キュー３０４を介して送信者クライアント・デバイス５００に送信することができる。
【０２０６】
支払ステータスが更新すると、それに応じてメッセージ・ステータスは更新することができる。たとえば、図５Ｏは、新たな支払ステータス更新またはメッセージ配信／既読更新に応答して更新されるメッセージ・ステータス・インジケータ５５２を例示する。例示するために、メッセージ・ステータス・インジケータ５５２は、更新されると、受信者が支払取引を受け入れたこと、および支払が処理されたことを示すことができる。加えて、または代替的に、メッセージング・スレッドは、メッセージング・スレッド内の支払取引またはメッセージに関連付けられている、より多くのステータス更新またはそれとは異なるステータス更新を示すことができる。たとえば、メッセージ・ステータス・インジケータ５５２は、受信者が支払取引を示すメッセージを受信したこと、受信者がメッセージを読んだこと、受信者がメッセージを選択することにより支払ステータス情報を閲覧したこと、または受信者の他のアクションを示すことができる。
【０２０７】
図５Ａ〜図５Ｏは、送信者が支払取引を開始する支払取引の一実施形態を例示しているが、システム１００は、ユーザがメッセージング・アプリケーションを介して支払を要求することを可能にすることができる。たとえば、ユーザが支払を要求するとき、ユーザのデバイスはユーザの支払キューを介して１人または複数の他のユーザに対する要求をサーバ・デバイス１０８および他のユーザの支払キューに送信することができる。他のユーザは支払を承認し、それぞれの支払キューを介して承認を送信することができる。
【０２０８】
図１〜図５Ｏ、対応するテキスト、および例は、統合された電子支払およびメッセージング・システムを使用した支払の送受信を行うための多くの異なるシステムおよびデバイスを提供する。前述のものに加えて、実施形態は、特定の結果を達成するための方法における動作およびステップを含むフローチャートの観点からも説明され得る。例えば、図６および図７は、１つまたは複数の実施形態に係る例示的な方法のフローチャートを例示する。
【０２０９】
図６は、支払取引の更新をクライアント・デバイスにプッシュする方法６００のフローチャートを例示する。方法６００は、支払取引の実施の要求を受信する行為６０２を含む
。たとえば、行為６０２は、ユーザに関連付けられている第１のクライアント・デバイス１０４ａから、ユーザから共同ユーザへの支払を送信する要求を受信することを伴い、要求は、支払額を含む。例示するために、行為６０２は、ユーザと共同ユーザとの間の支払取引に関連付けられている支払額、送信者識別子およびオフライン・リファレンスを備える支払要求を受信することを伴うことができる。加えて、または代替的に、支払取引は、ユーザのグループに関る取引を備えることができる。
【０２１０】
方法６００は、ユーザの支払クレデンシャルに対して請求要求を送信する行為６０４も含む。たとえば、行為６０４は、支払要求の支払額についてユーザの支払クレデンシャルに対する請求要求を、支払ネットワーク１１５に送信することを伴う。例示するために、行為６０４は、支払要求からの送信者識別子を使用して、登録された支払クレデンシャルを備えるデータベースからユーザの支払クレデンシャルを決定することを伴うことができる。
【０２１１】
加えて、方法６００は、請求成功応答を受信する行為６０６を含む。たとえば、行為６０６は、請求要求が成功したことを示す請求成功応答を支払ネットワーク１１５から受信することを伴う。例示するために、行為６０６は、支払取引の支払額について、支払ネットワークがユーザの支払クレデンシャルへの請求に成功したことを示す請求成功応答を受信することを伴うことができる。
【０２１２】
また、方法６００は、支払開始メッセージを第１のクライアント・デバイス１０４ａおよび第２のクライアント・デバイス１０４ｂにプッシュする行為６０８を含む。たとえば、行為６０８は、請求成功応答に応答して、支払開始メッセージを、ユーザに関連付けられている第１のクライアント・デバイス１０４ａおよび共同ユーザに関連付けられている第２のクライアント・デバイス１０４ｂにプッシュすることを伴う。加えて、行為６０８は、請求成功応答に応答して、支払開始メッセージを生成することを伴うことができる。支払開始メッセージは、取引識別子、支払額、送信者識別子、受信者識別子、および支払取引が開始されたことを示すステータスを備えることができる。支払開始メッセージは、支払取引が開始されたときを示すタイムスタンプも備えることができる。
【０２１３】
方法６００は、ユーザと共同ユーザとの間のメッセージング・スレッド５１４、５１４ａに入るために、支払を示すメッセージを送信する行為６１０も含む。たとえば、行為６１０は、第１のクライアント・デバイス１０４ａおよび第２のクライアント・デバイス１０４ｂに対して、ユーザと共同ユーザとの間のメッセージング・スレッド５１４、５１４ａに入るために、支払を示すとともに、支払に関連付けられている支払額を含むメッセージを送信することを伴う。例示するために、支払を示すメッセージはメッセージング・スレッド５１４、５１４ａ内に支払額を表示することができる。加えて、方法６００は、支払開始メッセージをプッシュすることと、並行して支払を示すメッセージを送信することとを含むことができる。たとえば、方法６００は、第１キューを介して支払開始メッセージをプッシュすることと、第１キューとは別の第２キューを介して支払を示すメッセージを送信することとを含むことができる。
【０２１４】
行為６１０の一部として、または追加の行為として、方法６００は、支払取引についての取引識別子を生成することと、メッセージング・スレッド５１４、５１４ａに対応するメッセージに取引識別子を関連付けることとを含むことができる。例示するために、取引識別子をメッセージに関連付けることは、メッセージについてのメッセージ識別子を生成することと、メッセージ識別子を取引識別子にマッピングすることとを伴うことができる。
【０２１５】
方法６００は、支払取引についてのステータス更新を受信する行為６１２をさらに含む
。たとえば、行為６１２は、ステータス更新に関連する取引識別子を識別することと、ステータス更新が支払取引に関連付けられていることを決定することとを伴うことができる。例示するために、ステータス更新は取引完了更新を備えることができる。代替的に、ステータス更新は取引取消更新を備えることができる。別の例では、ステータス更新は、受信者による支払取引の受け入れを備えることができる。
【０２１６】
加えて、メッセージング・スレッド５１４、５１４ａに対応するメッセージは、取引識別子に基づいた支払額へのリンクを備えることができる。例示のために、メッセージは、支払取引の支払ステータスに基づき支払額を取得するリンクを備えることができ、メッセージに支払取引からの支払額を表示する。
【０２１７】
方法６００は、ステータス更新をクライアント・デバイスにプッシュする行為６１４も含む。たとえば、行為６１４は、支払取引についてのステータス更新を第１のクライアント・デバイス１０４ａおよび第２のクライアント・デバイス１０４ｂにプッシュすることを伴う。例示のために、行為６１４は、第１のクライアント・デバイス１０４ａとの通信接続を検出することと、検出された第１のクライアント・デバイス１０４ａとの通信接続に応答して、支払取引についてのステータス更新を第１のクライアント・デバイス１０４ａにプッシュすることとを伴うことができる。同様に、行為６１４は、第２のクライアント・デバイス１０４ｂとの通信接続を検出することと、検出された第２のクライアント・デバイス１０４ｂとの通信接続に応答して、支払取引についてのステータス更新を第２のクライアント・デバイス１０４ｂにプッシュすることとを伴うことができる。行為６１４は、ステータス更新を第１のクライアント・デバイス１０４ａおよび第２のクライアント・デバイス１０４ｂに異なる時点でプッシュすることを伴うこともできる。
【０２１８】
行為６１４の一部として、または追加の行為として、方法６００は、支払取引についてのステータス更新に基づいて、メッセージング・スレッド５１４、５１４ａに対応するメッセージに関連付けられているメッセージ・ステータス更新を、第１のクライアント・デバイス１０４ａおよび第２のクライアント・デバイス１０４ｂにプッシュすることをさらに含むことができる。例示するために、方法６００は、第１のクライアント・デバイス１０４ａおよび第２のクライアント・デバイス１０４ｂにメッセージ・ステータス更新インジケータを表示するために、メッセージ・ステータス更新をプッシュすることを含むことができ、メッセージ・ステータス更新インジケータはメッセージング・スレッド５１４、５１４ａ内で支払取引についてのステータス更新を示す。
【０２１９】
図７は、支払取引の更新をクライアント・デバイスにプッシュする別の方法のフローチャートを例示する。方法７００は、支払取引の実施要求を受信する行為７０２を含む。たとえば、行為７０２は、ユーザに関連付けられている第１のクライアント・デバイス、ユーザから共同ユーザに宛てられた支払要求を受信することを伴い、支払要求はユーザと共同ユーザとの間の支払取引に関連付けられている支払額を含む。例示するために、行為７０２は、ユーザと共同ユーザとの間の支払取引に関連付けられている支払額、送信者識別子、およびオフライン・リファレンスを備える支払要求を受信することを伴うことができる。加えて、または代替的に、支払取引は、ユーザのグループに関る取引を備えることができる。
【０２２０】
方法７００は、ユーザの支払クレデンシャルに対する請求要求を送信する行為７０４も含む。たとえば、行為７０４は、支払要求の支払額について、ユーザの支払クレデンシャルに対する請求要求を支払ネットワーク１１５に送信することを伴う。例示するために、行為７０４は、支払要求からの送信者識別子を使用して、登録された支払クレデンシャルを備えるデータベースからユーザの支払クレデンシャルを決定することを伴うことができる。
【０２２１】
方法７００は、請求成功応答を受信する行為７０６をさらに含む。たとえば、行為７０６は、支払額について支払ネットワーク１１５からの請求成功応答を、支払ネットワーク１１５から受信することを伴う。例示するために、行為７０６は、支払取引の支払額について、支払ネットワークがユーザの支払クレデンシャルに請求に成功したことを示す請求成功応答を受信することを伴うことができる。
【０２２２】
加えて、方法７００は、支払開始メッセージを送信者支払キュー３０２に追加する行為７０８を含む。たとえば、行為７０８は、請求成功通知に応答して、ユーザに関連付けられている送信者支払キュー３０２に支払開始メッセージを追加することを伴う。例示するために、行為７０８は、支払開始メッセージについてのシーケンス識別子を更新することと、支払開始メッセージを送信者支払キュー３０２に送信することとを伴うことができる。
【０２２３】
方法７００は、送信者メッセージ・キュー３０４にメッセージを追加する行為７１０も含む。たとえば、行為７１０は、請求成功通知に応答して、ユーザに関連付けられている送信者メッセージ・キュー３０４に、支払を示すメッセージを追加することを伴う。行為７１０はまた、請求成功通知に応答して、支払取引についての取引識別子を生成することと、支払を示すメッセージを生成することとを伴うこともできる。
【０２２４】
行為７１０の一部として、または追加の行為として、方法７００は、請求成功応答の受信に応答して、支払取引についての取引識別子を生成することを含むことができる。加えて、方法７００は、取引識別子を備えるメッセージについてのメッセージ識別子を生成することと、取引識別子をメッセージ識別子にマッピングすることとを含むことができる。方法７００は、支払開始ステータス更新を送信者支払キュー３０２に追加する前に、ユーザのクライアント・デバイスにメッセージ識別子および取引識別子を送信することも含むことができる。
【０２２５】
加えて、方法７００は、ユーザのクライアント・デバイス１０４ａ、受信者支払キュー３０６、および受信者メッセージ・キュー３０８を更新する行為７１２を含む。たとえば、行為７１２は、送信者支払キュー３０２からクライアント・デバイスおよび受信者支払キュー３０６に支払開始メッセージをプッシュし、送信者メッセージ・キュー３０４からクライアント・デバイス１０４ａおよび受信者メッセージ・キュー３０８に支払を示すメッセージをプッシュすることによって、ユーザのクライアント・デバイス、受信者支払キュー３０６および受信者メッセージ・キュー３０８を更新することを伴う。例示するために、行為７１２は、送信者支払キュー３０２とクライアント・デバイス１０４ａとの間の通信接続を検出することと、通信接続の検出に応答して、送信者支払キュー３０２からクライアント・デバイス１０４ａに支払開始メッセージをプッシュすることとを伴うことができる。行為７１２は、支払開始ステータス更新が送信者支払キュー３０２に追加されたことに応答して、送信者支払キュー３０２から受信者支払キュー３０６に支払開始メッセージをプッシュすることを伴うこともできる。加えて、行為７１２は、支払開始メッセージと支払取引を示すメッセージとを並行してプッシュすることを伴うことができる。
【０２２６】
方法７００は、受信者支払キュー３０６から共同ユーザのクライアント・デバイス１０４ｂに支払開始メッセージをプッシュし、受信者メッセージ・キュー３０８から共同ユーザのクライアント・デバイス１０４ｂに支払を示すメッセージをプッシュすることによって、共同ユーザのクライアント・デバイス１０４ｂを更新することをさらに含むことができる。加えて、方法７００は、共同ユーザのクライアント・デバイス１０４ｂに支払開始メッセージと支払を示すメッセージとを並行してプッシュすることをさらに含むことができる。
【０２２７】
追加の行為として、方法７００は、支払ネットワークが支払取引の完了に成功したことを示す取引完了応答を支払ネットワークから受信することを含むことができる。方法７００は、取引完了応答に応答して、取引識別子に関連する受信者支払キュー３０６に支払取引についての取引完了ステータス更新をプッシュすることを含むこともできる。方法７００は、取引完了ステータス更新に基づいて、取引識別子を備えるメッセージに関連付けられているメッセージ・ステータス更新を受信者メッセージ・キュー３０８にプッシュすることをさらに含むことができる。
【０２２８】
本開示の実施形態では、以下に詳述する通り、たとえば１つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の発明の範囲内の実施形態には、コンピュータ実行可能な命令および／またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。とりわけ、本明細書に記載のプロセスのうちの１つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、１つまたは複数のコンピューティング・デバイス（たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか）により実行可能な命令として、その少なくとも一部が実装されていてもよい。一般的には、プロセッサ（たとえば、マイクロプロセッサ）が非一時的コンピュータ可読媒体（たとえば、メモリ等）から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの１つまたは複数等、１つまた複数のプロセスを実行する。
【０２２９】
コンピュータ可読媒体としては、汎用または専用コンピュータシステムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体（デバイス）である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体（デバイス）および伝送媒体という少なくとも２つの明確に異なるタイプのコンピュータ可読媒体を含み得る。
【０２３０】
非一時的コンピュータ可読記憶媒体（デバイス）としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、固体ドライブ（「ＳＳＤ」）（たとえば、ＲＡＭベース）、フラッシュメモリ、相変化メモリ（「ＰＣＭ」）、他のタイプのメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
【０２３１】
「ネットワーク」は、コンピュータシステムおよび／またはモジュールおよび／または他の電子機器間で電子データを伝送可能な１つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続（有線、無線、または有線もしくは無線の組み合わせ）上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび／またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
【０２３２】
さらに、コンピュータシステムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的
コンピュータ可読記憶媒体（デバイス）へと自動的に転送可能である（その逆も可能である）。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール（たとえば、「ＮＩＣ」）内のＲＡＭにバッファリングした後、最終的には、コンピュータシステムＲＡＭおよび／またはコンピュータシステムにおける低揮発性コンピュータ記憶媒体（デバイス）に転送可能である。したがって、非一時的コンピュータ可読記憶媒体（デバイス）は、伝送媒体も（または、主として）利用するコンピュータシステムの構成要素に含み得ることが了解されるものとする。
【０２３３】
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の実施形態の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および／または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
【０２３４】
当業者であれば、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ，タブレット、ポケベル、ルータ、スイッチ等、さまざまなタイプのコンピュータシステム構成のネットワークコンピュータ環境において本開示が実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて（有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより）リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータシステムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
【０２３５】
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本記載において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速に開設可能であるとともに、わずかな管理労力またはサービス・プロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
【０２３６】
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア（「ＳａａＳ」）、サービス型プラットフォーム（「ＰａａＳ」）、およびサービス型インフラ（「ＩａａＳ」）等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「ク
ラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
【０２３７】
図８は、上述のプロセスのうちの１つまたは複数を実行するように構成できる例示的なコンピューティング・デバイス８００のブロック図を示している。データコンピューティング・デバイス８００などの１つまたは複数のコンピューティング・デバイスが支払システム１００を実装することが理解される。図８に示すように、コンピューティング・デバイス８００は、通信インフラ７１２によって通信されるように結合されている、プロセッサ８０２、メモリ８０４、ストレージデバイス８０６、Ｉ／Ｏインターフェース８０８、および通信インターフェース７１０を備える。図１０には、例示的なコンピューティング・デバイス８００を示しているが、図８に示す構成要素は、何ら限定を意図したものではない。他の実施形態においては、付加的または代替的な構成要素を使用するようにしてもよい。さらに、特定の実施形態において、コンピューティング・デバイス８００は、図８よりも少ない構成要素を備える。以下、図８に示すコンピューティング・デバイス８００の構成要素について、さらに詳しく説明する。
【０２３８】
１つまたは複数の実施形態において、プロセッサ８０２は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ８０２は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージデバイス８０６から命令を取り出す（または、フェッチする）とともに、上記命令を復号化して実行するようにしてもよい。１つまたは複数の実施形態において、プロセッサ８０２は、データ、命令、またはアドレス用の１つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ８０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータキャッシュ、および１つまたは複数のトランスレーション・ルックアサイド・バッファ（ＴＬＢ）を備えてもよい。命令キャッシュ中の命令は、メモリ８０４またはストレージ８０６中の命令のコピーであってもよい。
【０２３９】
メモリ８０４は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ８０４は、ランダムアクセスメモリ（「ＲＡＭ」）、リードオンリーメモリ（「ＲＯＭ」）、固体ディスク（「ＳＳＤ」）、フラッシュ、相変化メモリ（「ＰＣＭ」）、または他のタイプのデータストレージ等、揮発性および不揮発性メモリのうちの１つまたは複数を備えていてもよい。また、メモリ８０４は、内部メモリであってもよいし、分散メモリであってもよい。
【０２４０】
ストレージデバイス８０６は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス８０６は、上述の非一時的記憶媒体を備える。ストレージデバイス８０６としては、ハードディスクドライブ（ＨＤＤ）、フロッピー（登録商標）ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらのうちの２つ以上の組み合わせが挙げられる。ストレージデバイス８０６は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外し可能できない（すなわち、固定）媒体を備えていてもよい。ストレージデバイス８０６は、コンピューティング・デバイス８００の内部であってもよいし、外部であってもよい。１つまたは複数の実施形態において、ストレージデバイス８０６は、不揮発性の固体メモリである。他の実施形態において、ストレージデバイス８０６は、リードオンリーメモリ（ＲＯＭ）を含む。必要に応じて、このＲＯＭは、マスクプログラムＲＯＭ、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、フラッシュメモリ、またはこれらのうちの２つ以上の組み合わせであってもよい。
【０２４１】
Ｉ／Ｏインターフェース８０８によって、ユーザが、入力を提供し、出力を受け取り、あるいはコンピューティング・デバイス８００に対してデータを転送しデータを受け取る
ことを可能にする。これらのＩ／Ｏインターフェース８０８は、マウス、キーパッドもしくはキーボード、タッチスクリーン、カメラ、光学スキャナ、ネットワーク・インターフェース、モデル、その他既知のＩ／Ｏデバイス、またはこのようなＩ／Ｏデバイス／インターフェースの組み合わせを含む。Ｉ／Ｏインターフェース８０８は、出力をユーザに提示する１つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ（たとえば、表示画面）、１つまたは複数の出力ドライバ（たとえば、ディスプレイドライバ）、１つまたは複数の音声スピーカ、および１つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、Ｉ／Ｏインターフェース８０８は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る１つもしくは複数のグラフィカル・ユーザ・インターフェースおよび／またはその他任意のグラフィックコンテンツを代表するものであってもよい。
【０２４２】
通信インターフェース７１０は、ハードウェア、ソフトウェア、または両者を含み得る。いかなる場合でも、通信インターフェース７１０は、コンピューティング・デバイスと１つもしくは複数の他のコンピューティング・デバイス８００またはネットワークとの間の通信（たとえば、パケットベースの通信等）のための１つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース７１０としては、イーサネット（登録商標）等の有線ネットワークと連通するネットワークインターフェースコントローラ（ＮＩＣ）もしくはネットワークアダプタまたはＷｉ−Ｆｉ等の無線ネットワークと連通する無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタが挙げられる。
【０２４３】
加えて、または、代替として、通信インターフェース７１０は、アドホック・ネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの１つもしくは複数の部分、またはこれらのうちの２つ以上の組み合わせと通信を行わせる。これらネットワークのうちの１つまたは複数の１つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース７１０は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＷＰＡＮ等）、Ｗｉ−Ｆｉネットワーク、Ｗｉ−ＭＡＸネットワーク、携帯電話ネットワーク（たとえば、汎欧州デジタル移動電話通信（ＧＳＭ（登録商標））ネットワーク等）、他の適当な無線ネットワーク、またはこれらの組み合わせと通信を行わせる。
【０２４４】
加えて、通信インターフェース７１０は、通信さまざまな通信プロトコルを促進し得る。使用され得る通信プロトコルの例としては、限定されるものではないが、データ伝送媒体、通信デバイス、伝送制御プロトコル（「ＴＣＰ」）、インターネット・プロトコル（「ＩＰ」）、ファイル転送プロトコル（「ＦＴＰ」）、Ｔｅｌｎｅｔ、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（「ＨＴＴＰ」）、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ（「ＨＴＴＰＳ」）、セッション開始プロトコル（「ＳＩＰ」）、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（「ＳＯＡＰ」）、拡張マークアップ言語（「ＸＭＬ」）およびその変種、簡易メール転送プロトコル（「ＳＭＴＰ」）、リアルタイム転送プロトコル（「ＲＴＰ」）、ユーザ・データグラム・プロトコル（「ＵＤＰ」）、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（「ＧＳＭ」）技術、符号分割多元接続（「ＣＤＭＡ」）技術、時分割多元接続（「ＴＤＭＡ」）技術、ショート・メッセージ・サービス（「ＳＭＳ」）、マルチメディア・メッセージ・サービス（「ＭＭＳ」）、無線周波数（「ＲＦ」）シグナリング技術、Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（「ＬＴＥ」）技術、無線通信技術、帯域内シグナリング技術および帯域外シグナリング技術、ならびに他の適切な通信ネットワークおよび技術がある。
【０２４５】
通信インフラ７１２は、コンピューティング・デバイス８００の構成要素を互いに結合するハードウェア、ソフトウェア、または両者を備える。非限定的な一例として、通信インフラ７１２は、アクセラレイテッドグラフィックスポート（ＡＧＰ）等のグラフィックスバス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ハイパートランスポート（ＨＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ）バス、インフィニバンド相互接続、ロウピンカウント（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、周辺機器相互接続（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）バス、ビデオエレクトロニクス標準協会ローカル（ＶＬＢ）バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
【０２４６】
上述の通り、システム１００は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによって、そのユーザ（人または組織など）が、システムに対しておよび互いに対話をすることが可能になる。上述のように、システム１００は、ソーシャル・ネットワーキング・システムを備える。ソーシャル・ネットワーキング・システムによれば、そのユーザ（人または組織等）は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を行わせるサービス（たとえば、ウォール投稿、写真共有、オンライン・カレンダー、イベント統合、メッセージング、ゲーム、または広告）を提供するようにしてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザが、ユーザのプロファイル・ページ（典型的には、「ウォール投稿」もしくは「タイムライン投稿」として知られる）に対して、またはフォト・アルバム内に、写真および他のマルチメディア・コンテンツ・アイテムを投稿することを可能にし得、プロファイル・ページとフォト・アルバムの両方は、ユーザの構成されたプライバシー設定に応じて、ソーシャル・ネットワーキング・システムの他のユーザにとってアクセス可能である。
【０２４７】
図９は、ソーシャル・ネットワーキング・システムの例となるネットワーク環境９００を例示する。ネットワーク環境９００は、ネットワーク９０４によって互いに接続された、クライアント・システム９０６と、ソーシャル・ネットワーキング・システム９０２と、サードパーティ・システム９０８とを含む。図９は、クライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、サードパーティ・システム９０８、およびネットワーク９０４の特定の構成を例示しているが、この開示は、クライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、サードパーティ・システム９０８、およびネットワーク９０４の任意の適切な構成を企図したものである。限定としてではなく、一例として、クライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、およびサードパーティ・システム９０８のうちの２つ以上が、ネットワーク９０４をバイパスして、直接的に互いに接続されてもよい。別の例として、クライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、およびサードパーティ・システム９０８のうちの２つ以上が、全体的にまたは部分的に互いと物理的または論理的に共同設置されてもよい。さらに、図９は、特定の数のクライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、サードパーティ・システム９０８、およびネットワーク９０４を例示しているが、この開示は、任意の適切な数のクライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、サードパーティ・システム９０８、およびネットワーク９０４を企図したものである。
限定としてではなく、一例として、ネットワーク環境９００は、複数のクライアント・システム９０６と、ソーシャル・ネットワーキング・システム９０２と、サードパーティ・システム９０８と、ネットワーク９０４とを含んでよい。
【０２４８】
本開示は、任意の適切なネットワーク９０４を企図したものである。限定としてではなく、一例として、ネットワーク９０４の１つまたは複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの２つ以上の組み合わせを含んでよい。ネットワーク９０４は、１つまたは複数のネットワーク９０４を含み得る。
【０２４９】
リンクは、クライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、およびサードパーティ・システム９０８を通信ネットワーク９０４に対して、または互いに対して接続し得る。本開示は、任意の適切なリンクを企図したものである。特定の実施形態では、１つまたは複数のリンクとしては、１つまたは複数のワイヤライン・リンク（たとえば、デジタル加入者線（ＤＳＬ）またはＤａｔａ  Ｏｖｅｒ  Ｃａｂｌｅ
Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＤＯＣＳＩＳ）など）、無線リンク（たとえば、Ｗｉ−ＦｉまたはＷｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期型光ネットワーク（ＳＯＮＥＴ）または同期デジタル・ハイアラーキ（ＳＤＨ）など）がある。特定の実施形態では、１つまたは複数のリンクは各々、アドホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク、または２つ以上のそのようなリンクの組み合わせを含む。リンクは、必ずしもネットワーク環境９００全体を通じて同じである必要はない。１つまたは複数の第１のリンクは、１つまたは複数の点において、１つまたは複数の第２のリンクと異なってよい。
【０２５０】
特定の実施形態では、クライアント・システム９０６は、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、または２つ以上のそのような構成要素の組み合わせを含み、クライアント・システム９０６によって実施またはサポートされる適切な機能を実行することが可能な電子デバイスであってよい。限定としてではなく、一例として、クライアント・システム９０６は、上記で図８に関係して論じられたコンピューティング・デバイスのいずれかを含んでよい。クライアント・システム９０６は、クライアント・システム９０６におけるネットワーク・ユーザがネットワーク９０４にアクセスすることを可能にし得る。クライアント・システム９０６は、そのユーザが他のクライアント・システム９０６における他のユーザと通信することを可能にし得る。
【０２５１】
特定の実施形態では、クライアント・システム９０６は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ９３２を含んでよく、１つまたは複数のアドオン、プラグイン、またはツールバーもしくはＹＡＨＯＯツールバーなどの他の拡張機能を有してよい。クライアント・システム９０６におけるユーザは、ユニフォーム・リソース・ロケータ（ＵＲＬ）またはウェブ・ブラウザを特定のサーバ（サーバ、またはサードパーティ・システム９０８に関連付けられているサーバなど）に対して宛てる他のアドレスを入力してよく、ウェブ・ブラウザは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を生成し、ＨＴＴＰ要求をサーバに対して通信し得る。サーバは、ＨＴＴＰ要求を受け入れ、ＨＴＴＰ要求に応答して１つまたは複数のハイパーテキスト・マークアップ言語（Ｈ
ＴＭＬ）ファイルをクライアント・システム９０６に対して通信し得る。クライアント・システム９０６は、ユーザに対する提示のために、サーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングし得る。本開示は、任意の適切なウェブページ・ファイルを企図したものである。限定としてではなく、一例として、ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパーテキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングし得る。そのようなページはまた、たとえば、限定されるものではないが、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで記述されたスクリプトなどのスクリプト、ＡＪＡＸ（非同期ＪＡＶＡＳＣＲＩＰＴおよびＸＭＬ）などのマークアップ言語とスクリプトの組み合わせなどを実行し得る。本明細書では、ウェブページに対する参照は、適切な場合、１つまたは複数の対応するウェブページ・ファイル（ブラウザがウェブページをレンダリングするために使用し得る）を包含し、逆も同様である。
【０２５２】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、オンライン・ソーシャル・ネットワークをホストする、ネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム９０２は、たとえばユーザプロファイル・データ、概念プロファイル・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の適切なデータなどのソーシャルネットワーキング・データを生成、記憶、受信、および送信し得る。ソーシャル・ネットワーキング・システム９０２は、直接的に、またはネットワーク９０４を介して、のどちらかで、ネットワーク環境９００の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、１つまたは複数のサーバを含み得る。各サーバは、単体サーバであってもよいし、複数のコンピュータまたは複数のデータセンタにまたがる分散サーバであってもよい。サーバは、たとえば限定されるものではないが、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書で説明される機能もしくはプロセスを実行するのに適した別のサーバ、またはそれらの任意の組み合わせなどの、さまざまなタイプであってよい。特定の実施形態では、各サーバは、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、またはサーバによって実施もしくはサポートされる適切な機能を実行するための２つ以上そのような構成要素の組み合わせを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、１つまたは複数のデータ・ストアを含み得る。データ・ストアは、さまざまなタイプの情報を記憶するために使用され得る。特定の実施形態では、データ・ストア内に記憶される情報は、具体的なデータ構造に従って編成され得る。特定の実施形態では、各データ・ストアは、リレーショナル・データベース、カラムナ・データベース、相関データベース、または他の適切なデータベースであってよい。本開示は特定のタイプのデータベースを説明または例示しているが、本開示は、任意の適切なタイプのデータベースを企図するものである。特定の実施形態は、クライアント・システム９０６、ソーシャル・ネットワーキング・システム９０２、またはサードパーティ・システム９０８がデータ・ストア内に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
【０２５３】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、１つまたは複数のデータ・ストア内に１つまたは複数のソーシャルグラフを記憶し得る。特定の実施形態では、ソーシャルグラフは、複数のユーザ・ノード（各々が特定のユーザに対応する）または複数の概念ノード（各々が特定の概念に対応する）を含み得る複数のノードと、ノードを接続する複数のエッジを含み得る。ソーシャル・ネットワーキング・システム９０２は、オンライン・ソーシャル・ネットワークのユーザに、他のユーザと通信および対
話できることを提供し得る。特定の実施形態では、ユーザは、ソーシャル・ネットワーキング・システム９０２を介してオンライン・ソーシャル・ネットワークに加わり、次いで、ユーザが接続されたいソーシャル・ネットワーキング・システム９０２の何人かの他のユーザに対して接続（たとえば、関係）を追加し得る。本明細書では、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム９０２を介して接続、関連付け、または関係を形成した、ソーシャル・ネットワーキング・システム９０２の他の任意のユーザを指し得る。
【０２５４】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ソーシャル・ネットワーキング・システム９０２によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに対してアクションをとることをユーザに提供し得る。限定としてではなく、一例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム９０２のユーザが属し得るグループもしくはソーシャル・ネットワーク、ユーザが興味を抱き得るイベントもしくはカレンダー記載事項、ユーザが使用し得るコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売し得る取引、ユーザが実行し得る広告との対話、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャル・ネットワーキング・システム９０２内で、またはサードパーティ・システム９０８の外部システムによって表されることが可能なものと対話し得、サードパーティ・システム９０８は、ソーシャル・ネットワーキング・システム９０２とは別個であり、ネットワーク９０４を介してソーシャル・ネットワーキング・システム９０２に結合される。
【０２５５】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、さまざまなエンティティをリンクすることが可能であり得る。限定としてではなく、一例として、ソーシャル・ネットワーキング・システム９０２は、ユーザが、互いと対話し、ならびにサードパーティ・システム９０８もしくは他のエンティティからコンテンツを受信する、またはユーザが、アプリケーション・プログラミング・インターフェース（ＡＰＩ）もしくは他の通信チャネルを通して、これらのエンティティと対話できることを可能にし得る。
【０２５６】
特定の実施形態では、サードパーティ・システム９０８は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、限定されるものではないがＡＰＩを含む１つもしくは複数のインターフェース、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または、たとえばサーバが通信し得る他の任意の適切な構成要素であり得る。サードパーティ・システム９０８は、ソーシャル・ネットワーキング・システム９０２を運用するエンティティからの異なるエンティティによって運用され得る。しかしながら、特定の実施形態では、ソーシャル・ネットワーキング・システム９０２およびサードパーティ・システム９０８は、ソーシャル・ネットワーキング・システム９０２またはサードパーティ・システム９０８のユーザにソーシャルネットワーキング・サービスを提供するために互いに運用し得る。この意味で、ソーシャル・ネットワーキング・システム９０２は、サードパーティ・システム９０８などの他のシステムがインターネット全体にわたってソーシャルネットワーキング・サービスおよび機能をユーザに対して提供するために使用し得るプラットフォームすなわちバックボーンを提供し得る。
【０２５７】
特定の実施形態では、サードパーティ・システム９０８は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含み得る。サードパーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・システム９０６に対して通信され得るコンテンツ・オブジェクトの１つまたは複数のソースを含み得る。限定としてではなく、一例として、コンテンツ・オブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の適切な情報などの
、ユーザの興味を引く物事またはアクティビティに関する情報を含み得る。限定としてではなく、別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、商品券、または他の適切な報償となるオブジェクトなどの、報償となるコンテンツ・オブジェクトを含み得る。
【０２５８】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ソーシャル・ネットワーキング・システム９０２とのユーザの対話を向上させ得る、ユーザにより生成されたコンテンツ・オブジェクトも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム９０２に対して追加、アップロード、送信、または「投稿する」ものを含み得る。限定としてではなく、一例として、ユーザが、クライアント・システム９０６からソーシャル・ネットワーキング・システム９０２に対して投稿を通信する。投稿としては、ステータス更新もしくは他のテキスト・データ、ロケーション情報、フォト、映像、リンク、音楽、または他の類似のデータもしくはメディアなどのデータがあり得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を介して、サードパーティによってソーシャル・ネットワーキング・システム９０２に対して追加され得る。
【０２５９】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、さまざまなサーバと、サブシステムと、プログラムと、モジュールと、ログと、データ・ストアとを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類器、通知コントローラ、アクション・ログ、サードパーティコンテンツ・オブジェクト公開（ｅｘｐｏｓｕｒｅ）ログ、推測モジュール、許可／プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインターフェース・モジュール、ユーザプロファイル・ストア、接続ストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含んでよい。ソーシャル・ネットワーキング・システム９０２は、ネットワーク・インターフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、他の適切な構成要素、またはそれらの任意の適切な組み合わせなどの、適切な構成要素も含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ユーザ・プロファイルを記憶するための１つまたは複数のユーザプロファイル・ストアを含んでよい。ユーザ・プロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、社会情報、または職歴、学歴、趣味もしくは好み、興味、親密度、もしくはロケーションなどの他のタイプの記述情報を含み得る。興味情報は、１つまたは複数のカテゴリに関係する興味を含み得る。カテゴリは、汎用的であってもよいし、具体的であってもよい。限定としてではなく、一例として、ユーザが、靴のブランドについての記事に対して「いいね」を表明する場合、そのカテゴリはブランドであってもよいし、「靴」または「衣類」という汎用的なカテゴリであってもよい。接続ストアは、ユーザについての接続情報を記憶するために使用され得る。接続情報は、類似もしくは共通の職歴、グループ会員資格、趣味、学歴を有する、または、いかなる形であれ関係する、もしくは共通属性を共有するユーザを示してよい。接続情報は、異なるユーザとコンテンツ（内部と外部の両方）との間の、ユーザにより定義された接続も含み得る。ウェブ・サーバは、ネットワーク９０４を介して１つもしくは複数のクライアント・システム９０６または１つもしくは複数のサードパーティ・システム９０８に対してソーシャル・ネットワーキング・システム９０２をリンクするために使用され得る。ウェブ・サーバは、ソーシャル・ネットワーキング・システム９０２と１つまたは複数のクライアント・システム９０６との間でメッセージを受信およびルーティングするためのメール・サーバまたは他のメッセージング機能を含んでよい。ＡＰＩ要求サーバは、サードパーティ・システム９０８が、１つまたは複数のＡＰＩを呼び出すことによって、ソーシャル・ネットワーキング・システム９０２からの情報にアクセスすることを可能にし得る。アクション・
ロガーは、ソーシャル・ネットワーキング・システム９０２上またはそれ以外の場所でのユーザのアクションについてウェブ・サーバから通信を受信するために使用され得る。アクション・ログとともに、サードパーティコンテンツ・オブジェクトに対するユーザ公開のサードパーティコンテンツオブジェクト・ログが維持され得る。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム９０６に対して提供し得る。情報は、通知としてクライアント・システム９０６に対してプッシュされてもよいし、情報は、クライアント・システム９０６から受信された要求に応答してクライアント・システム９０６からプルされてもよい。許可サーバは、ソーシャル・ネットワーキング・システム９０２のユーザの１つまたは複数のプライバシー設定を強制するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有可能であるかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、アクションをソーシャル・ネットワーキング・システム９０２によってログさせること、または他のシステム（たとえば、サードパーティ・システム９０８）とともに共有させることに加わる、または加わらない（ｏｐｔ  ｉｎ
ｔｏ  ｏｒ  ｏｐｔ  ｏｕｔ  ｏｆ）ことを可能にする。サードパーティコンテンツオブジェクト・ストアは、サードパーティ・システム９０８などのサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用され得る。ロケーション・ストアは、ユーザに関連付けられているクライアント・システム９０６から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、社会情報、現在の時間、ロケーション情報、または他の適切な情報を組み合わせて、通知の形で関係のある広告をユーザに対して提供し得る。
【０２６０】
図１０は、例となるソーシャルグラフ１０００を例示する。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、１つまたは複数のデータ・ストア内に１つまたは複数のソーシャルグラフ１０００を記憶し得る。特定の実施形態では、ソーシャルグラフ１０００は、複数のユーザ・ノード１００２または複数の概念ノード１００４を含み得る複数のノードと、ノードを接続する複数のエッジ１００６とを含み得る。図１０に例示される例となるソーシャルグラフ１０００は、教説的な目的で、２次元の視覚的なマップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２、クライアント・システム９０６、またはサードパーティ・システム９０８は、適切なアプリケーションのためのソーシャルグラフ１０００および関係するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ１０００のノードおよびエッジは、たとえば、データ・ストア（ソーシャルグラフ・データベースなど）内に、データ・オブジェクトとして記憶され得る。そのようなデータ・ストアは、ソーシャルグラフ１０００のノードまたはエッジの１つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
【０２６１】
特定の実施形態では、ユーザ・ノード１００２は、ソーシャル・ネットワーキング・システム９０２のユーザに対応し得る。限定としてではなく、一例として、ユーザは、ソーシャル・ネットワーキング・システム９０２と、またはその上で対話または通信する、個人（人間ユーザ）、エンティティ（たとえば、企業、会社、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループであってよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム９０２に口座を登録するとき、ソーシャル・ネットワーキング・システム９０２は、ユーザに対応するユーザ・ノード１００２を作成し、１つまたは複数のデータ・ストア内にユーザ・ノード１００２を記憶し得る。本明細書で説明されるユーザおよびユーザ・ノード１００２は、適切な場合には、登録されたユーザと、登録されたユーザに関連付けられているユーザ・ノード１００２を指し得る。加えて、または代替として、本明細書で説明されるユーザおよびユーザ・ノード１００２は、適切な場合には、ソーシャル・ネットワーキング・システム９０２に登録されていないユーザを指し得る。特定の実施形態では、ユーザ・ノ
ード１００２は、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム９０２を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、ユーザは、自分の名前、プロファイル・ピクチャ、連絡先情報、誕生日、性別、配偶者の有無、家族構成、職業、学歴、好み、興味、または他の人口統計学的情報を提供し得る。ソーシャルグラフの各ユーザ・ノードは、対応するウェブページ（典型的には、プロファイル・ページとして知られる）を有し得る。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、ユーザ名に対応するユーザ・ノードにアクセスし、名前、プロファイル・ピクチャ、およびユーザに関連付けられている他の情報を含むプロファイル・ページを作り上げる。第１のユーザのプロファイル・ページは、第１のユーザによる１つまたは複数のプライバシー設定および第１のユーザと第２のユーザとの間の関係に基づいて、第１のユーザの情報のすべてまたは一部分を第２のユーザに対して表示し得る。
【０２６２】
特定の実施形態では、概念ノード１００４は概念に対応し得る。限定としてではなく、一例として、概念は、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム９０２に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人物、会社、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャル・ネットワーキング・システム９０２の中もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置され得るリソース（たとえば、オーディオ・ファイル、映像ファイル、デジタル・フォト、テキスト・ファイル、構造化文書、もしくはアプリケーションなど）、物的財産もしくは知的財産（たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著書など）、ゲーム、アクティビティ、アイデア、もしくは理論、別の適切な概念、または２つ以上のそのような概念に対応し得る。概念ノード１００４は、ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム９０２を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、概念の情報としては、名前もしくはタイトル、１つもしくは複数の画像（たとえば、本のカバー・ページの画像）、ロケーション（たとえば、住所もしくは地理的ロケーション）、ウェブサイト（ＵＲＬに関連付けられ得る）、連絡先情報（たとえば、電話番号もしくは電子メール・アドレス）、他の適切な概念情報、またはそのような情報の任意の適切な組み合わせがあり得る。特定の実施形態では、概念ノード１００４は、概念ノード１００４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態では、概念ノード１００４は、１つまたは複数のウェブページに対応し得る。
【０２６３】
特定の実施形態では、ソーシャルグラフ１０００内のノードは、ウェブページ（「プロファイル・ページ」と呼ばれることがある）を表してもよいし、これによって表されてもよい。プロファイル・ページは、ソーシャル・ネットワーキング・システム９０２によってホストされてもよいし、これに対してアクセス可能であってもよい。プロファイル・ページはまた、サードパーティ・サーバ９０８に関連付けられているサードパーティ・ウェブサイト上にホストされ得る。限定としてではなく、一例として、特定の外部のウェブページに対応するプロファイル・ページは特定の外部ウェブページであってよく、プロファイル・ページは特定の概念ノード１００４に対応し得る。プロファイル・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧することができてよい。限定としてではなく、一例として、ユーザ・ノード１００２は、対応するユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応するユーザプロファイル・ページを有し得る。限定としてではなく、別の例として、概念ノード１００４は、特に概念ノード１００４に対応する概念に関係して１つまたは複数のユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応する概念プロファイル・ページ
を有し得る。
【０２６４】
特定の実施形態では、概念ノード１００４は、サードパーティ・システム９０８によってホストされるサードパーティ・ウェブページまたはリソースを表し得る。サードパーティ・ウェブページまたはリソースは、要素の中でもとりわけ、アクションまたはアクティビティを表すコンテンツ、選択可能なアイコンもしくは他のアイコン、または他の対話可能なオブジェクト（たとえば、ＪａｖａＳｃｒｉｐｔコード、ＡＪＡＸコード、またはＰＨＰコードで実装され得る）を含んでよい。限定としてではなく、一例として、サードパーティ・ウェブページは、「いいね」、「チェック・イン」、「食べる」、「推奨」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含み得る。サードパーティ・ウェブページを閲覧するユーザは、アイコンのうちの１つ（たとえば、「食べる」）を選択し、クライアント・システム９０６に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム９０２に対して送信させることによって、アクションを実行し得る。メッセージに応答して、ソーシャル・ネットワーキング・システム９０２は、ユーザに対応するユーザ・ノード１００２とサードパーティ・ウェブページまたはリソースに対応する概念ノード１００４との間にエッジ（たとえば、「食べる」エッジ）を作成し、１つまたは複数のデータ・ストア内にエッジ１００６を記憶し得る。
【０２６５】
特定の実施形態では、ソーシャルグラフ１０００内のノードのペアは、１つまたは複数のエッジ１００６によって互いに接続され得る。ノードのペアを接続するエッジ１００６は、ノードのペアの間の関係を表し得る。特定の実施形態では、エッジ１００６は、ノードのペアの間の関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含み得るまたはこれを表し得る。限定としてではなく、一例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であることを示し得る。この標識に応答して、ソーシャル・ネットワーキング・システム９０２は、第２のユーザに対して「友達要求」を送信し得る。第２のユーザが「友達要求」を確かめる場合、ソーシャル・ネットワーキング・システム９０２は、ソーシャルグラフ１０００内の第１のユーザのユーザ・ノード１００２を第２のユーザのユーザ・ノード１００２に対して接続するエッジ１００６を作成し、エッジ１００６をソーシャルグラフ情報としてデータ・ストアのうちの１つまたは複数に記憶し得る。図１０の例では、ソーシャルグラフ１０００は、ユーザ「Ａ」とユーザ「Ｂ」のユーザ・ノード１００２間の友達関係を示すエッジ１００６と、ユーザ「Ｃ」とユーザ「Ｂ」のユーザ・ノード１００２間の友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード１００２を接続する、特定の属性を有する特定のエッジ１００６を説明または例示しているが、本開示は、ユーザ・ノード１００２を接続する、任意の適切な属性を有する任意の適切なエッジ１００６を企図するものである。限定としてではなく、一例として、エッジ１００６は、友達関係、家族関係、ビジネスすなわち雇用関係、ファン関係、フォロワー関係、ビジター関係、購読者関係、上下関係、相互関係、非相互関係、別の適切なタイプの関係、または２つ以上のそのような関係を表し得る。さらに、本開示は一般に、ノードを、接続されていると説明しているが、本開示は、ユーザまたは概念も、接続されていると説明する。本明細書では、接続されているユーザまたは概念への参照は、適切な場合には、ソーシャルグラフ１０００内で１つまたは複数のエッジ１００６によって接続されているそれらのユーザまたは概念に対応するノードに及ぶ。
【０２６６】
特定の実施形態では、ユーザ・ノード１００と概念ノード１００４との間のエッジ１００６は、概念ノード１００４に関連付けられている概念のためにユーザ・ノード１００２に関連付けられているユーザによって実行される特定のアクションまたはアクティビティを表し得る。限定としてではなく、一例として、図１０に例示されるように、ユーザは、概念に対して「いいね」を表明し、「通学した」、「プレイした」、「聞いた」、「料理した」、「働いた」、または概念を「見た」とする。その各々は、エッジ・タイプまたは
サブタイプに対応し得る。概念ノード１００４に対応する概念プロファイル・ページは、たとえば、選択可能な「チェック・イン」アイコン（たとえば、クリック可能な「チェック・イン」アイコンなど）または選択可能な「お気に入りに追加」アイコンを含んでよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム９０２は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェック・イン」エッジを作成してよい。限定としてではなく、別の例として、ユーザ（ユーザ「Ｃ」）は、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の歌（「ランブル・オン」）を聞くことがある。この場合、ソーシャル・ネットワーキング・システム９０２は、ユーザがその歌を聞き、そのアプリケーションを使用したことを示すため、にユーザに対応するユーザ・ノード１００２と歌およびアプリケーションに対応する概念ノード１００４との間に「聞いた」エッジ１００６および「使用した」エッジ（図１０に例示される）を作成し得る。さらに、ソーシャル・ネットワーキング・システム９０２は、特定の歌が特定のアプリケーションによってプレイ（再生）されたことを示すために、歌およびアプリケーションに対応する概念ノード１００４間に「プレイした」エッジ１００６（図１０に例示される）を作成し得る。この場合、「プレイした」エッジ１００６は、外部オーディオ・ファイル（歌「イマジン」）に対して外部アプリケーション（ＳＰＯＴＩＦＹ）によって実行されるアクションに対応する。本開示は、ユーザ・ノード１００２および概念ノード１００４を接続する、特定の属性を有する特定のエッジ１００６を説明しているが、本開示は、ユーザ・ノード１００２および概念ノード１００４を接続する、任意の適切な属性を有する任意の適切なエッジ１００６を企図するものである。そのうえ、本開示は、単一の関係を表す、ユーザ・ノード１００２と概念ノード１００４との間のエッジを説明しているが、本開示は、１つまたは複数の関係を表す、ユーザ・ノード１００２と概念ノード１００４との間のエッジを企図する。限定としてではなく、一例として、エッジ１００６は、ユーザが特定の概念に対して「いいね」を表明したことと、特定の概念において使用したことの両方を表し得る。代替的に、別のエッジ１００６は、ユーザ・ノード１００２と概念ノード１００４との間の各タイプの関係（または単一の関係の倍数）を表し得る（図１０では、ユーザ「Ｅ」のユーザ・ノード１００２と「ＳＰＯＴＩＦＹ」の概念ノード１００４との間に例示される）。
【０２６７】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ソーシャルグラフ１０００内のユーザ・ノード１００２と概念ノード１００４との間にエッジ１００６を作成し得る。限定としてではなく、一例として、（たとえば、ユーザのクライアント・システム９０６によってホストされるウェブ・ブラウザまたは特殊目的アプリケーションを使用することなどによって）概念プロファイル・ページを閲覧するユーザは、自分は概念ノード１００４によって表される概念に対して「いいね」を表明したことを、「いいね」アイコンをクリックまたは選択することによって示し得、それは、ユーザは概念プロファイル・ページに関連付けられている概念に対して「いいね」を表明したことを示すメッセージをソーシャル・ネットワーキング・システム９０２に対して送信することをユーザのクライアント・システム９０６に行わせ得る。メッセージに応答して、ソーシャル・ネットワーキング・システム９０２は、ユーザと概念ノード１００４との間の「いいね」エッジ１００６によって例示されるように、ユーザに関連付けられているユーザ・ノード１００２と概念ノード１００４との間にエッジ１００６を作成し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、１つまたは複数のデータ・ストアにエッジ１００６を記憶し得る。特定の実施形態では、エッジ１００６は、特定のユーザ・アクションに応答して、ソーシャル・ネットワーキング・システム９０２によって自動的に形成され得る。限定としてではなく、一例として、第１のユーザがピクチャをアップロードする、映画を見る、または歌を聞く場合、エッジ１００６は、第１のユーザに対応するユーザ・ノード１００２とそれらの概念に対応する概念ノード１００４との間に形成され得る。本開示は、特定の様式で特定のエッジ１００６を形成することを説明してい
るが、本開示は、任意の適切な様式で任意の適切なエッジ１００６を形成することを企図するものである。
【０２６８】
特定の実施形態では、広告は、テキスト（ＨＴＭＬリンクであってよい）、１つもしくは複数の画像（ＨＴＭＬリンクであってよい）、１つもしくは複数の映像、オーディオ、１つもしくは複数のＡＤＯＢＥ  ＦＬＡＳＨファイル、これらの適切な組み合わせ、または１つもしくは複数のウェブページ上で、１つもしくは複数の電子メール内で、もしくはユーザによって要求された検索結果に関係して、提示される任意の適切なデジタル・フォーマットの他の任意の適切な広告であってよい。加えて、または代替として、広告は、１つまたは複数のスポンサー付きストーリー（たとえば、ソーシャル・ネットワーキング・システム９０２上のニュースフィードまたはティッカー・アイテム）である。スポンサー付きストーリーは、たとえば、ソーシャル・アクションを、ユーザのプロファイル・ページまたは他のページの所定のエリア内に提示させる、広告主に関連付けられている追加の情報とともに提示させる、他のユーザのニュースフィードもしくはティッカー内で衝突させるもしくは別のやり方で目立たせる、または別のやり方でプロモーションさせることによって広告主がプロモーションする、ユーザによるソーシャル・アクション（ページに対して「いいね」を表明する、ページ上の投稿に対して「いいね」を表明するもしくはコメントする、ページに関連付けられているイベントの出欠を返事する、ページ上で投稿された質問に関して投稿する、ある場所にチェック・インする、アプリケーションを使用するもしくはゲームをする、またはウェブサイトを「リンク」もしくは共有するなど）であってよい。広告主は、ソーシャル・アクションをプロモーションさせるために支払うことがある。限定としてではなく、一例として、広告は検索結果ページの検索結果の間に含まれてよく、そこでは、スポンサー付きコンテンツは、スポンサー付きでないコンテンツよりもプロモーションされる。
【０２６９】
特定の実施形態では、広告は、ソーシャルネットワーキングシステム・ウェブページ、サードパーティ・ウェブページ、または他のページ内での表示のために要求され得る。広告は、ページの上部のバナー・エリア内、ページの側部のカラム内、ページのＧＵＩ内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上部の上、またはページに関する他の場所などの、ページの専用部分内に表示され得る。加えて、または代替として、広告はアプリケーション内に表示され得る。広告は、専用ページ内に表示され、ユーザに、ユーザがページにアクセスするまたはアプリケーションを利用する前に広告と対話するまたはこれを見ることを要求し得る。ユーザは、たとえば、ウェブ・ブラウザを通して広告を閲覧してよい。
【０２７０】
ユーザは、任意の適切な様式で広告と対話してよい。ユーザは、広告をクリックしてもよいし、または別のやり方で広告を選択してもよい。広告を選択することによって、ユーザは、広告に関連付けられているページ（または、ユーザによって使用されているブラウザもしくは他のアプリケーション）に対して向けられ得る。広告に関連付けられているページでは、ユーザは、広告に関連付けられている製品もしくはサービスを購入する、広告に関連付けられている情報を受信する、または広告に関連付けられているニュースレターを購読するなどの、追加のアクションをとり得る。オーディオまたは映像を有する広告は、（「プレイ・ボタン」などの）広告の構成要素を選択することによってプレイされ得る。代替的に、広告を選択することによって、ソーシャル・ネットワーキング・システム９０２は、ユーザの特定のアクションを実行または修正し得る。
【０２７１】
広告は、ユーザが対話し得るソーシャル・ネットワーキング・システム機能も含み得る。限定としてではなく、一例として、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するまたは別のやり方で広告を支持することを可能にし得る。限定としてではなく、別の例として、広告
は、ユーザが、広告主に関連するコンテンツを（たとえば、クエリを実行することによって）検索することを可能にし得る。同様に、ユーザは、別のユーザと（たとえば、ソーシャル・ネットワーキング・システム９０２を通して）広告を共有し得、または広告に関連付けられているイベントの出欠を（たとえば、ソーシャル・ネットワーキング・システム９０２を通して）返事し得る。加えて、または代替として、広告は、ユーザに対して向けられたソーシャルネットワーキングシステム・コンテキストを含み得る。限定としてではなく、一例として、広告は、広告の主題に関連付けられているアクションをとった、ソーシャル・ネットワーキング・システム９０２内のユーザの友達についての情報を表示し得る。
【０２７２】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、互いに対するさまざまなソーシャルグラフ・エンティティのソーシャルグラフ親密度（本明細書では、「親密度」と呼ばれることがある）を決定し得る。親密度は、ユーザ、概念、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは興味のレベルを表し得る。親密度は、サードパーティ・システム９０８または他の適切なシステムに関連付けられているオブジェクトに対しても決定され得る。各ユーザ、主題、またはコンテンツのタイプのためのソーシャルグラフ・エンティティの全体的な親密度が確立され得る。全体的な親密度は、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続モニタリングに基づいて変化し得る。本開示は、特定の様式で特定の親密度を決定することを説明しているが、本開示は、任意の適切な様式で任意の適切な親密度を決定することを企図している。
【０２７３】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、親密度係数（本明細書では、「係数」と呼ばれることがある）を使用してソーシャルグラフ親密度を測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表すまたは定量化し得る。係数は、アクションにおけるユーザの興味に基づいてユーザが特定のアクションを実行する予測確率を測定する確率または機能も表し得る。このようにして、ユーザの将来のアクションは、ユーザの前のアクションに基づいて予測され得、係数は、少なくとも部分的にユーザのアクションの履歴計算され得る。係数は、任意の数のアクションを予測するために使用され得、アクションは、オンライン・ソーシャル・ネットワーク内であってもよいし、オンライン・ソーシャル・ネットワークの外部であってもよい。限定としてではなく、一例として、これらのアクションは、メッセージを送信すること、コンテンツを投稿すること、もしくはコンテンツに対してコメントすることなどのさまざまなタイプの通信、プロファイル・ページ、メディア、もしくは他の適切なコンテンツにアクセスもしくは閲覧するなどのさまざまなタイプの観察アクション、同じグループ内にある、同じ写真でタグ付けされている、同じロケーションにチェック・インした、もしくは同じイベントに出席したなどの２つ以上のソーシャルグラフ・エンティティについてのさまざまなタイプの一致情報、または他の適切なアクションを含み得る。本開示は、特定の様式で親密度を測定することを説明しているが、本開示は、任意の適切な様式で親密度を測定することを企図している。
【０２７４】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、さまざまな因子を使用して係数を計算し得る。これらの因子としては、たとえば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせがあり得る。特定の実施形態では、異なる因子は、係数を計算するとき、異なるように重み付けされ得る。各因子の重みは静的であってもよいし、重みは、たとえば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどに応じて変化してもよい。因子のレーティングは、ユーザの全体的係数を決定するための重みに
応じて組み合わされ得る。限定としてではなく、一例として、特定のユーザ・アクションは、レーティングと重みの両方に対して割り当てられてよく、特定のユーザ・アクションに関連付けられている関係は、レーティングおよび相関重みが割り当てられる（たとえば、そのため、重みは合計１００％になる）。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに対して割り当てられたレーティングは、たとえば、全体的係数の６０％を備えることがあり、ユーザとオブジェクトとの間の関係は全体的係数の４０％を備えることがある。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに対して接続されたソーシャルグラフ・エンティティとの関係、ユーザ・アクションの短期もしくは長期の平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなどの、係数を計算するために使用されるさまざまな因子に対する重みを決定するとき、さまざまな変数を考慮し得る。限定としてではなく、一例として、係数は、係数を計算するとき、アクションが最近であればあるほど関連度が大きくなるように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含み得る。レーティングおよび重みは、係数が基づくアクションの継続追跡に基づいて連続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各因子および因子に対して割り当てられた重みに対するレーティングを割り当てる、組み合わせる、平均化するなどを行うために用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、履歴アクションおよび過去のユーザ応答、またはさまざまなオプションに対してさらし、応答を測定することによってユーザから得られた（ｆａｒｍｅｄ）データに関して訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定の様式で係数を計算することを説明しているが、本開示は、任意の適切な様式で係数を計算することを企図している。
【０２７５】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ユーザのアクションに基づいて係数を計算し得る。ソーシャル・ネットワーキング・システム９０２は、オンライン・ソーシャル・ネットワーク上で、サードパーティ・システム９０８上で、他の適切なシステム上で、またはそれらの任意の組み合わせで、そのようなアクションを監視してよい。任意の適切なタイプのユーザ・アクションが追跡または監視されてよい。典型的なユーザ・アクションとしては、プロファイル・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、グループに加わること、イベントにおける出席をリストし確かめること、ロケーションにチェック・インすること、特定のページに対して「いいね」を表明すること、ページを作成すること、およびソーシャル・アクションを促進する他のタスクを実行することがある。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、特定のタイプのコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム９０８、または別の適切なシステムに関連付けられ得る。コンテンツとしては、ユーザ、プロファイル・ページ、投稿、ニュース・ストーリー、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、映像、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせがある。ソーシャル・ネットワーキング・システム９０２は、ユーザのアクションを分析して、アクションのうちの１つまたは複数が主題、コンテンツ、他のユーザなどに対して親密度を示すか否かを決定し得る。限定としてではなく、一例として、ユーザが、「コーヒー」またはその変種に関係したコンテンツの投稿を頻繁に行う場合、ソーシャル・ネットワーキング・システム９０２は、ユーザが「コーヒー」という概念に関して高い係数を有することを決定し得る。特定のアクションまたは特定のタイプのアクションは、計算された全体的係数に影響し得る、他のアクションよりも高い重みおよび／またはレーティングが割り当てられ得る。限定としてではなく、一例として、第１のユーザが第２のユーザに電子メールを出す場合、アクションに対する重みまたはレーティングは、第１のユ
ーザが第２のユーザのためのユーザプロファイル・ページを閲覧するだけの場合よりも高くなり得る。
【０２７６】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、特定のオブジェクト間の関係のタイプに基づいて係数を計算し得る。ソーシャルグラフ１０００を参照すると、ソーシャル・ネットワーキング・システム９０２は、係数を計算するとき、特定のユーザ・ノード１００２と概念ノード１００４を接続するエッジ１００６の数および／またはタイプを分析し得る。限定としてではなく、一例として、配偶者タイプのエッジ（２人のユーザが結婚していることを表す）によって接続されるユーザ・ノード１００２は、友達タイプのエッジによって接続されるユーザ・ノード１００２よりも高い係数が割り当てられ得る。言い換えれば、特定のユーザのためのアクションおよび関係に対して割り当てられた重みに応じて、全体的親密度は、ユーザの友達についてのコンテンツに対するよりもユーザの配偶者についてのコンテンツに対して高くなるように決定され得る。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトに関する係数を計算することに関するユーザのアクションの重みおよび／またはレーティングに影響し得る。限定としてではなく、一例として、コンテンツとタグ付けタイプの関係を有することは、コンテンツと「いいね」タイプの関係を有するよりも高い重みおよび／またはレーティングを割り当てられ得るので、ユーザが第１のフォトでタグ付けされるが、第２のフォトに対しては「いいね」を表明するにすぎない場合、ソーシャル・ネットワーキング・システム９０２は、ユーザが、第２のフォトよりも第１のフォトに関して高い係数を有することを決定し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、１つまたは複数の第２のユーザが特定のオブジェクトと有する関係に基づいて、第１のユーザに関する係数を計算し得る。言い換えれば、他のユーザがオブジェクトと有する接続および係数は、第１のユーザのオブジェクトに関する係数に影響し得る。限定としてではなく、一例として、第１のユーザが、１つもしくは複数の第２のユーザに対して接続される、またはそれらに関して高い係数を有し、それらの第２のユーザが特定のオブジェクトに接続されるまたはそれに関して高い係数を有する場合、ソーシャル・ネットワーキング・システム９０２は、第１のユーザも、特定のオブジェクトに関する比較的高い係数も有するべきであることを決定し得る。特定の実施形態では、係数は、特定のオブジェクト間の隔たり次数に基づいてよい。任意の２つのノード間の隔たり次数は、あるノードから他のノードへソーシャルグラフをたどるために必要とされるホップの最小数として定義される。２つのノード間の隔たり次数は、ソーシャルグラフ内の２つのノードによって表されるユーザまたは概念間の関係性の尺度と考えられ得る。たとえば、エッジによって直接的に接続される（すなわち、１次のノードである）ユーザ・ノードを有する２人のユーザは、「接続されたユーザ」すなわち「友達」と説明され得る。同様に、別のユーザ・ノードを通してのみ接続される（すなわち、２次のノードである）ユーザ・ノードを有する２人のユーザは、「友達の友達」と説明され得る。より低い係数は、第１のユーザが、ソーシャルグラフ１０００内で第１のユーザに対して間接的に接続されたユーザのコンテンツ・オブジェクトにおいて興味を共有する可能性の減少を表し得る。限定としてではなく、一例として、ソーシャルグラフ１０００内でより近い（すなわち、分離次数のより低い）ソーシャルグラフ・エンティティは、ソーシャルグラフ１０００内でさらに離れたエンティティよりも高い係数を有し得る。
【０２７７】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、ロケーション情報に基づいて係数を計算し得る。互いに対して地理的により近いオブジェクトは、より遠いオブジェクトよりも互いに対してより関係がある、またはより興味があると考えられ得る。特定の実施形態では、特定のオブジェクトのためのユーザの係数は、ユーザに関連付けられている現在のロケーション（またはユーザのクライアント・システム９０６のロケーション）に対するオブジェクトのロケーションの近接性に基づき得る。第１のユーザは、第１のユーザに対してより近い他のユーザまたは概念に、より興味があり得る。限
定としてではなく、一例として、ユーザが空港から１．６０９ｋｍ（１マイル）、ガソリン・スタンドから３．２１９ｋｍ（２マイル）のところにいる場合、ソーシャル・ネットワーキング・システム９０２は、ユーザに対する空港の近接性に基づいて、ユーザがガソリン・スタンドよりも空港に関して高い係数を有することを決定し得る。
【０２７８】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、係数情報に基づいて、ユーザに関する特定のアクションを実行し得る。係数は、ユーザのアクションへの興味に基づいて、ユーザが特定のアクションを実行するか否かを予測するために使用され得る。係数は、広告、検索結果、ニュース・ストーリー、メディア、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトをユーザに対して生成または提示するとき、使用され得る。係数はまた、必要に応じて、そのようなオブジェクトをランキングし、順序付けるために利用され得る。このようにして、ソーシャル・ネットワーキング・システム９０２は、ユーザの興味および現在の環境に関連のある情報を提供し、興味のあるそのような情報を見つける可能性を増加させ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、係数情報に基づいてコンテンツを生成し得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択され得る。限定としてではなく、一例として、ユーザが、ユーザがメディア・オブジェクトに関して高い全体的係数を有するメディアが提示される場合、係数は、ユーザのためのメディアを生成するために使用され得る。限定としてではなく、別の例として、ユーザが、ユーザが広告付きオブジェクトに関して高い全体的係数を有する広告が提示される場合、係数は、ユーザのための広告を生成するために使用され得る。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、係数情報に基づいて検索結果を生成し得る。特定のユーザのための検索結果は、クエリを発行したユーザに対する検索結果に関連付けられている係数に基づいてスコア付けまたはランキングされ得る。限定としてではなく、一例として、より高い係数を有するオブジェクトに対応する検索結果は、検索結果ページ上で、より低い係数を有するオブジェクトに対応する結果よりも高くランキングされ得る。
【０２７９】
特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、特定のシステムまたはプロセスからの係数の要求に応答して係数を計算し得る。ユーザが所与の状況でとり得る（または、その対象であり得る）可能性があるアクションを予測するために、任意のプロセスは、ユーザに関する計算された係数を要求し得る。要求は、係数を計算するために使用されるさまざまな因子に使用する重みのセットも含み得る。この要求は、オンライン・ソーシャル・ネットワーク上で実行されているプロセスから来ることもあるし、サードパーティ・システム９０８から（たとえば、ＡＰＩまたは他の通信チャネルを介して）来ることもあるし、別の適切なシステムから来ることもある。要求に応答して、ソーシャル・ネットワーキング・システム９０２は、係数を計算し得る（または、係数情報が以前に計算され、記憶されている場合、その係数情報にアクセスし得る）。特定の実施形態では、ソーシャル・ネットワーキング・システム９０２は、特定のプロセスに関して親密度を測定し得る。さまざまなプロセス（オンライン・ソーシャル・ネットワークに対して内部と外部の両方にある）は、特定のオブジェクトまたはオブジェクトのセットに関する係数を要求し得る。ソーシャル・ネットワーキング・システム９０２は、親密度の尺度を要求した特定のプロセスに対して関連のある親密度の尺度を提供し得る。このようにして、各プロセスは、プロセスが親密度の尺度を使用する異なるコンテキストに合わせられた親密度の尺度を受信する。
【０２８０】
ソーシャルグラフ親密度および親密度係数に関して、特定の実施形態は、その各々が本願明細書に援用される、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７９０２７号、２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号、および２０
１２年１０月０１日に出願された米国特許出願第１３／６４２８６９号に開示されている１つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用し得る。
【０２８１】
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの１つまたは複数がプライバシー設定に関連付けられ得る。オブジェクトのためのプライバシー設定（または「アクセス設定」）は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス内に、別の適切な様式で、または、それらの任意の組み合わせなどの任意の適切な様式で記憶されてよい。オブジェクトのプライバシー設定は、オブジェクト（またはオブジェクトに関連付けられている特定の情報）が、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス（たとえば、閲覧または共有）され得るかを規定し得る。オブジェクトのためのプライバシー設定は、特定のユーザがそのオブジェクトにアクセスすることを可能にし、オブジェクトは、そのユーザに対して「閲覧可能」と説明され得る。限定としてではなく、一例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザプロファイル・ページのためのプライバシー設定が、ユーザプロファイル・ページ上の職歴情報にアクセスし得るユーザのセットを識別し、したがって、他のユーザを情報にアクセスさせないことを規定し得る。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられている一定の情報にアクセスすることが可能にされるべきではないユーザの「遮断リスト」を規定し得る。言い換えれば、遮断リストは、オブジェクトが見えない１つまたは複数のユーザまたはエンティティを規定し得る。限定としてではなく、一例として、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスし得ないユーザのセットを規定し、したがって、それらのユーザをフォト・アルバムにアクセスさせ得ない（がまた、おそらく、ユーザのセットに含まれない一定のユーザはフォト・アルバムにアクセスすることを可能にする）。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなどのソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられている情報、またはソーシャルグラフ要素に関連付けられているコンテンツ・オブジェクトがどのようにしてオンライン・ソーシャル・ネットワークを使用してアクセス可能であるかを規定し得る。限定としてではなく、一例として、特定のフォトに対応する特定の概念ノード１００４は、そのフォトは、フォトでタグ付けされたユーザおよびユーザの友達によってのみアクセスされ得ることを規定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、アクションをソーシャル・ネットワーキング・システム９０２によってログさせること、または他のシステム（たとえば、サードパーティ・システム９０８）と共有させることに加わる、または加わらないことを可能にする。特定の実施形態では、オブジェクトに関連付けられているプライバシー設定は、任意の適切な粒度の許容されたアクセスまたはアクセスの否定を規定し得る。限定としてではなく、一例として、アクセスまたはアクセスの否定は、特定のユーザ（たとえば、自分のみ、ルームメイト、および上司）、特定の次数以内の隔たりに含まれるユーザ（たとえば、友達、または友達の友達）、ユーザ・グループ（たとえば、ゲーム・クラブ、家族）、ユーザ・ネットワーク（たとえば、特定の雇用者の従業員、学生、または特定の大学の卒業生）、すべてのユーザ（「パブリック」）、ユーザなし（「プライベート」）、サードパーティ・システム９０８のユーザ、特定のアプリケーション（たとえば、サードパーティ・アプリケーション、外部ウェブサイト）、他の適切なユーザもしくはエンティティ、またはそれらの任意の組み合わせに対して規定され得る。本開示は、特定の様式で特定のプライバシー設定を使用することを説明しているが、本開示は、任意の適切な様式で任意の適切なプライバシー設定を使用することを企図している。
【０２８２】
特定の実施形態では、１つまたは複数のサーバは、プライバシー設定を強制するための許可／プライバシー・サーバであってよい。データ・ストア内に記憶された特定のオブジ
ェクトに関するユーザ（または他のエンティティ）からの要求に応答して、ソーシャル・ネットワーキング・システム９０２は、オブジェクトのためのデータ・ストアに対して要求を送信し得る。要求は、要求に関連付けられているユーザを識別し得、許可サーバが、オブジェクトに関連付けられているプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることを許可されていることを決定した場合、ユーザ（またはユーザのクライアント・システム９０６）のみに対して送信され得る。要求元ユーザが、オブジェクトにアクセスすることが許可されていない場合、許可サーバは、要求されたオブジェクトがデータ・ストアから取り出されるのを防止し得る、または、要求されたオブジェクトがユーザに対して送信されるのを防止し得る。検索クエリ・コンテキストでは、クエリ元ユーザが、オブジェクトにアクセスすることが許可されている場合、そのオブジェクトは、検索結果としてのみ生成され得る。言い換えれば、オブジェクトは、クエリ元ユーザに見える可視性を有さなければならない。オブジェクトが、ユーザに見えない可視性を有する場合、オブジェクトは検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を強制することを説明しているが、本開示は、任意の適切な様式でプライバシー設定を強制することを企図したものである。
【０２８３】
上記明細は、特定の例示的な実施形態を参照して記載されている。種々実施形態および本開示の様相は、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
【０２８４】
追加または代替の実施形態は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本開示の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。
【図１】
0006596503.tif 000002
【図２】
0006596503.tif 000003
【図３Ａ】
0006596503.tif 000004
【図３Ｂ】
0006596503.tif 000005
【図３Ｃ】
0006596503.tif 000006
【図３Ｄ】
0006596503.tif 000007
【図３Ｅ】
0006596503.tif 000008
【図３Ｆ】
0006596503.tif 000009
【図４】
0006596503.tif 000010
【図５Ａ】
0006596503.tif 000011
【図５Ｂ】
0006596503.tif 000012
【図５Ｃ】
0006596503.tif 000013
【図５Ｄ】
0006596503.tif 000014
【図５Ｅ】
0006596503.tif 000015
【図５Ｆ】
0006596503.tif 000016
【図５Ｇ】
0006596503.tif 000017
【図５Ｈ】
0006596503.tif 000018
【図５Ｉ】
0006596503.tif 000019
【図５Ｊ】
0006596503.tif 000020
【図５Ｋ】
0006596503.tif 000021
【図５Ｌ】
0006596503.tif 000022
【図５Ｍ】
0006596503.tif 000023
【図５Ｎ】
0006596503.tif 000024
【図５Ｏ】
0006596503.tif 000025
【図６】
0006596503.tif 000026
【図７】
0006596503.tif 000027
【図８】
0006596503.tif 000028
【図９】
0006596503.tif 000029
【図１０】
0006596503.tif 000030