実施形態の付加的な特徴および利点は、下記に続く説明において述べられ、当該説明から部分的に明らかとなり、または、そのような例示的な実施形態の実施によって学習され得る。そのような実施形態の特徴および利点は、添付の特許請求の範囲において具体的に指摘される機器および組み合わせを用いて実現され、取得され得る。これらおよび他の特徴は、下記の説明および添付の特許請求の範囲から、より完全に明確となり、または、以下において述べられるような、そのような例示的実施形態の実施によって学習され得る。
本開示の上記および他の利点および特徴が取得され得る手法を説明するために、詳細に上述された本開示のより具体的な説明は、添付の図面に例示される本発明の特定の実施形態への参照によって行われるであろう。図は縮尺通りに描かれていないこと、および、同様の構造または機能の要素は、一般に、図全体にわたって例示の目的のために同様の参照符号によって表されることが留意されるべきである。下記の図面において、括弧付きのテキストおよび破線の境界線(例えば、大きい破線、小さい破線、鎖線、点線)を有するブロックは、本願明細書において、本開示の実施形態に対して付加的な特徴を追加する任意選択的な特徴または動作を例示するために使用される。しかしながら、そのような表記法は、これらが唯一のオプションもしくは任意選択的な動作であること、および/または実線の境界を有するブロックが本開示の一定の実施形態において任意選択的ではないことを意味すると解釈されるべきではない。これらの図面が、本開示の典型的な実施形態のみを図示しており、そのため、発明の範囲が制限的であると考慮されるべきではないことを理解しつつ、本開示は、添付の図面の使用を通じて、付加的な特異性および詳細さと共に説明され、解説されるであろう。
本開示の実施形態は、支払を送信および受信することの容易さおよび効率を増加させる統合されたメッセージおよび支払システムを提供する。特に、1つまたは複数の実施形態は、電子支払システムと電子メッセージング・システムとを統合する統合されたメッセージおよび支払システムを提供する。統合されたメッセージおよび支払システムは、2人以上のユーザがメッセージならびに電子支払を送信および受信することを可能にする。たとえば、統合されたメッセージおよび支払システムは、共同ユーザとの電子メッセージの交換も可能にするメッセージング・インターフェースを介してユーザが電子支払を共同ユーザに送信することを可能にする。
電子支払システムとメッセージング・システムを統合することによって、システムは、会話のフローの中で電子支払を送信および受信できることをユーザに提供する。したがって、システムは、ユーザが支払取引について通信し、電子支払に専用の別個のアプリケーションを開く必要もなく取引を行うことを可能にする。システムの1つまたは複数の実施形態によって提供される、メッセージの交換中にシームレスに支払を送信することの容易さおよび効率の上昇は、電子支払の使用の増加および電子支払に対する満足をもたらす。
統合されたメッセージおよび支払システムは、支払取引の処理におけるスピードを提供する。具体的には、統合されたメッセージおよび支払システムは、ユーザが、高速なプッシュツーデビット取引において共同ユーザに支払うために支払メッセージを送信することを可能にする。たとえば、システムは、当日処理のためにプッシュツーデビット支払取引
として支払メッセージをフォーマットする。当日処理のためにプッシュツーデビット支払取引として支払メッセージをフォーマットすることによって、システムは、当日取引としての支払メッセージおよび資金の納付を促進する。1つまたは複数の実施形態では、支払システムは、実質的に即時のプッシュツーデビット取引(たとえば、数分以内または数分未満34)のために支払メッセージをフォーマットする。したがって、システムは、共同ユーザが、支払取引を示す支払メッセージを受信したすぐ後、プッシュツーデビット取引において移動される資金に対するアクセスを有することを可能にする。
1つまたは複数の追加の実施形態では、システムは、送信者および/または受信者に関連付けられている支払クレデンシャルに基づいて、当日処理のために支払メッセージをフォーマットするべきか否かを選択する。特に、システムは、送信者または受信者の支払クレデンシャルが高速なプッシュツーデビット取引に適合するか否かを決定する。たとえば、システムは、受信者が当日処理に適合する支払クレデンシャルを有することを決定し、それに応じて共同ユーザとの支払取引を処理するために送信者からの支払メッセージをフォーマットする。代替的に、受信者が、当日処理に適合する支払クレデンシャルを有さない場合、システムは、共同ユーザに、当日処理に適合する支払クレデンシャルを入力することを促す。
1つまたは複数の追加の実施形態では、システムは、支払取引を高速化するために中間口座を使用して受信者に対して資金を移動する。具体的には、システムは、受信者に対して資金を移動するための準備資金を有する中間口座を維持する。たとえば、システムは、送信者からの支払メッセージに基づいて受信者に対して移動するために支払額を決定する。次いで、システムは、ユーザの支払クレデンシャルから資金を受信する前に、中間口座から支払額を移動する。したがって、準備資金の中間口座を使用することによって、システムは、そうでなければ送信者の支払クレデンシャルの能力によりさらに遅いであろう支払取引を高速化する。
1つまたは複数の実施形態では、システムは、ユーザと共同ユーザとの間の支払取引および通信を並行して処理する。たとえば、システムは、ユーザ間の通信を管理し、通信を記憶するためのネットワーク・アプリケーションと、ユーザ間の支払取引を処理するための別個の支払エンジンとを含む。特に、システムは、ネットワーク・アプリケーションを介してユーザから共同ユーザに対して支払メッセージを送信し、同時に、支払エンジンを使用して対応する支払取引を処理する。対応する支払取引と並行して支払メッセージを処理することによって、システムは、より迅速に送信者から受信者に対して支払メッセージを提供する。
本明細書で使用されるとき、「メッセージ(messageまたはmessages)」という用語は、2つ以上のコンピューティング・デバイス間の任意の形の電子通信に及ぶ。メッセージは、テキスト・メッセージ、フォト、ステッカーまたは他のアイコン、映像、音声記録、音楽、音声メールなどを含む。1つまたは複数の実施形態では、メッセージは、リアルタイムで、またはほぼリアルタイムで通信されるインスタント・メッセージである。しかしながら、代替実施形態では、メッセージは、SMSメッセージ、電子メール、またはソーシャル・ネットワークの投稿もしくはコメントなどの電子通信のうちからのいずれかに及ぶ。
加えて、「支払メッセージ」という用語は、システムが支払取引を開始することを可能にする支払情報を示すメッセージに及ぶ。たとえば、支払メッセージは、支払額、送信者、受信者、支払方法、システムが支払方法をどのように処理するかを示すフォーマット化、ならびにユーザによりメッセージのために提供されたテキストなどの追加の情報を含むデータ・パッケージを含む。
本明細書で使用されるとき、「支払取引」という用語は、2つ以上のエンティティ間で通貨またはクレジットを交換する任意のタイプの電子取引に及ぶ。たとえば、支払取引は、統合されたメッセージおよび支払システムの2人のユーザ間の金融電子取引とする。別の例では、支払取引は、ユーザと金融機関または他の複数人からなるエンティティとの間の金融電子取引とする。加えて、支払取引は、金銭贈与、借金の支払、ローンの資金供給、品物および/もしくはサービスの購入を考慮した支払、または他の任意のタイプの金銭移動を表す。加えて、支払取引は、1つまたは複数の通貨でなされ、たとえば為替レートに基づいて、1つまたは複数の追加の通貨に変換されることが可能である。
本明細書で使用されるとき、「口座」または「支払クレデンシャル」という用語は、ユーザのデビット・カード口座、銀行口座、クレジット・カード口座、メッセージング口座、ギフト・カード、または金銭が差し引かれ得るもしくは金銭が入金され得る他の任意の口座に及ぶ。また、本明細書で使用されるとき、「プッシュツーデビット」という用語は、資金をユーザのデビット・カード口座にクレジット提供する方法に及ぶ。上記の用語ならびに追加の用語の意味は、図に関する以下の開示を考慮すると、より明らかになるであろう。
図1は、1つまたは複数の実施形態による統合されたメッセージングおよび支払システム100を例示する概略図である。システム100の概要が、図1に関係して説明される。その後、システム100の構成要素およびプロセスのより詳細な説明が、残りの図に関係して提供される。
図1によって例示されるように、システム100は、ユーザ102a、ユーザ102b、および任意の数のユーザ102nまで(まとめて「ユーザ」)が、対応する数のクライアント・デバイス104a、104b、104nを使用して対話することを可能にする。図1でさらに例示されるように、クライアント・デバイスは、ネットワーク105を介してサーバ・デバイス108と通信する。加えて、システム100は、ネットワーク105を介してサーバ・デバイス108と通信可能に結合された支払ネットワーク115を含む。図1は、ユーザ、クライアント・デバイス、ネットワーク105、サーバ・デバイス108、および支払ネットワーク115の特定の構成を例示しているが、さまざまな追加の構成が可能である。たとえば、クライアント・デバイス104a、104b、104nは、ネットワーク105をバイパスしてサーバ・デバイス108と直接的に通信し得る。
上記で簡単に言及されたように、図1は、ユーザ102aおよびユーザ102bが、クライアント・デバイス104aおよび104bをそれぞれ使用して、サーバ・デバイス108を介して互いと通信することを示す。たとえば、ユーザ102aとユーザ102bは、テキスト、デジタル・コンテンツ(たとえば、オーディオ、画像、映像)、ロケーション情報、ならびに他の形のデータおよび情報を含む電子メッセージを交換する。たとえば、ユーザ102aは、クライアント・デバイス104aを使用して、ユーザ102bのために意図されたメッセージを構築する。メッセージを構築した後、ユーザ102aは、ユーザ102bのために意図されたメッセージを、ネットワーク105を介してサーバ・デバイス108に対して送信することを、クライアント・デバイス104aに行わせる。サーバ・デバイス108は、意図された受信者としてユーザ102bを識別し、ユーザ102bに関連付けられているクライアント・デバイス104bに対してメッセージを転送する。
ユーザが電子通信を交換することを可能にすることに加えて、システム100は、ユーザが、互いに対しておよび互いから金銭支払を送信および受信することを可能にする。1つまたは複数の実施形態では、システム100は、ユーザが支払メッセージを定義し、別
のユーザに対して送信することを可能にする。たとえば、システム100は、ユーザ102aが、サーバ・デバイス108および支払ネットワーク115を介してユーザ102bに対して支払を送信することを可能にする。同様に、ユーザ102bは、支払の告知を受信し、支払を受け入れるまたは拒否する。以下でより詳細に説明されるように、サーバ・デバイス108は、ユーザ(すなわち、ユーザの口座)間の支払を促進する取引を協調させるために、支払ネットワーク115と通信する。
システム100は、ユーザ102aと102bとの間の支払を促進するが、システム100は、ユーザのグループなどの3人以上のユーザ間の支払を促進することもできる。たとえば、ユーザ102aは、ユーザ102b、102nに対して支払を送信し得る。1つまたは複数の実施形態では、以下でさらに詳細に論じられるように、ユーザ102aは、同じ支払取引の中で複数のユーザに対して支払を送信する。そのうえ、1つまたは複数の実施形態では、ユーザのグループは、他のグループもしくは個々のユーザに対してまたはそれからのどちらかで、システム100を通して支払を送信および/または受信できることが提供され得る。
図1は、ユーザを人として例示しているが、ユーザは、会社、政府、または他のエンティティなどの他のエンティティを含み得る。たとえば、ユーザ102aは、システム100を使用して、サービスまたは製品のために会社に対して支払を提供する。たとえば、ユーザ102aは、システム100を介して会社と通信し、その会社から製品またはサービスの購入をすることを最終的に決める。次いで、同じシステム100を使用して、ユーザ102bは、その会社に対して製品またはサービスについて支払を送信する。同様に、会社は、個人エンティティであろうと会社エンティティであろうと、他の会社またはベンダーに対して支払を送信し得る。
上記で言及されたように、および図1が例示するように、ユーザ102aおよび102bはそれぞれ、クライアント・デバイス104aおよび104bと対話する。クライアント・デバイスの例としては、モバイル・デバイス(たとえば、スマートフォン、タブレット)、ラップトップ、デスクトップ、または他の任意のタイプのコンピューティング・デバイスなどのコンピューティング・デバイスがある。図7および対応する説明は、コンピューティング・デバイスに関する追加の情報を提供する。さらに、および上記で言及されたように、クライアント・デバイスは、ネットワーク105を通して通信する。1つまたは複数の実施形態では、ネットワーク105は、インターネットまたはワールド・ワイド・ウェブを含む。しかしながら、以下で図7に関してさらに説明されるように、ネットワークは、さまざまな通信技術およびプロトコルを使用する1つまたは複数のプライベート・ネットワークおよび/またはパブリック・ネットワークを含む。
上記で簡単に論じられたように、システム100は、ユーザ間での支払の送信および受信を協調させる。たとえば、ユーザ102aは、支払メッセージを構築し、ユーザ102bに対して送信する。たとえば、ユーザ102aは、支払方法(たとえば、送信者ユーザ102aのクレジット・カード、デビット・カード、口座残高)、支払額、支払通貨、支払の説明、および/またはさまざまな他の支払詳細を定義するために、クライアント・デバイス104aを介して入力を提供する。
ユーザ102aの観点から、たとえば、送信者ユーザ102aは、通信メッセージ(たとえば、テキスト)を送信するのと同様に支払メッセージを構築し、送信する。たとえば、1つまたは複数の実施形態では、ユーザ102aは、ユーザ102bに対して送信することをユーザ102aが望む支払の額を示す支払メッセージを構築する。支払メッセージを構築した後、送信者ユーザ102aは、次いで、サーバ・デバイスを介してユーザ102bに対して支払メッセージを送信する。
1つまたは複数の実施形態では、システム100は、支払ネットワーク115を介して送信者ユーザ102aの1つまたは複数の口座と受信者ユーザ102bの1つまたは複数の口座との間の取引を協調させる。たとえば、送信者ユーザ102aから支払メッセージを受信したことに応答して、サーバ・デバイスは、支払ネットワーク115内の1つまたは複数の構成要素を使用して支払を処理するために取引情報を通信する。代替的に、またはこれに加えて、システム100は、1つまたは複数のユーザ口座を直接的に維持することができ、そのため、システム100は、取引、または取引の一部分を協調させる。
図1に例示されるように、支払ネットワーク115は、支払ゲートウェイ・システム118と、支払処理システム120と、カード・ネットワーク・システム122と、発行(イシュアー)銀行システム124とを含む。しかしながら、代替実施形態では、支払ネットワーク115は、システム100の特定の実施形態に応じて、より多いまたはより少ない構成要素を含む。
1つまたは複数の実施形態では、たとえば、システム100は、取引を許可および処理するために、支払ネットワーク115と通信する。たとえば、図1に示されるように、システム100は、支払ゲートウェイ・システム118に対して取引を送信する。支払ゲートウェイ・システム118が取引を受信すると、支払ゲートウェイ・システム118は、支払受信者ユーザのアクワイアラ(acquiring)銀行によって使用されるプロセッサ(たとえば、支払処理システム120)に対して取引を送信する。支払の方法(たとえば、送信者ユーザの口座)に基づいて、支払処理システム120は、適切なカード・ネットワーク・システム122に対して取引を送る。多くの場合、次いで、カード・ネットワーク・システム122は、発行銀行システム124に対して取引を送信する。
発行銀行システム124は、取引を受け入れるまたは拒否するのどちらかであり、その判断をカード・ネットワーク・システム122に対して返送する。次いで、カード・ネットワーク122は、その判断を支払処理システム120に対して送信する。次いで、支払処理システム120は、その判断を支払ゲートウェイ・システム118に対して転送することができ、1つまたは複数の実施形態では、支払ゲートウェイ・システム118は、取引および判断に関係する詳細を維持する。支払処理システム120は、判断をシステム100に対しても送信する。
次いで、アクワイアラ銀行は、預り額を充当するように資金供給要求を支払処理システム120に対して送信することができ、支払処理システム120は、その資金供給要求を、適切なカード・ネットワーク・システム122に対して渡す。次いで、カード・ネットワーク・システム122は、発行銀行システム124に対して資金供給要求を送信する。発行銀行システム124は、送信者ユーザの口座に対して取引を記し、カード・ネットワーク・システム122に対して資金の放出を渡すことができ、次いで、資金は、支払処理システム120に、次いでアクワイアラ銀行に対して渡される。
1つまたは複数の実施形態によれば、ユーザ102aとユーザ102bとの間の支払取引において支払を許可および/または受信した後、システム100は、当日支払取引または実質的に即時の支払取引において資金を移動する。具体的には、システム100は、支払取引のための資金をユーザ102bのデビット口座へ入金するプッシュツーデビット取引を促進する。たとえば、システム100は、送信者ユーザの口座および/または受信者ユーザの口座の能力により、およびユーザ102aに関連付けられている支払メッセージのフォーマッティングにより、指定された資金を受信者ユーザのデビット口座へ入金することによって、送信者ユーザ102aから受信者ユーザ102bへの当日支払、すなわち実質的に即時の支払を促進する。システム100の具体的なシステム、方法、構成要素、
およびプロセスに関係する追加の詳細は、以下で説明される。
図2は、システム100の追加の詳細を例示する概略図を例示する。示されるように、システム100は、クライアント・デバイス104aと、104bと、サーバ・デバイス108と、支払ネットワーク115とを含む。一般に、システム100は、クライアント・デバイス104aのユーザが、クライアント・デバイス104bの受信者に対して支払を送信する、またはクライアント・デバイス104bの受信者から支払を受信することを可能にする。加えて、システムは、クライアント・デバイス104aのユーザが、クライアント・デバイス104bのユーザとメッセージを交換することを可能にする。
示されるように、システム100は、クライアント・デバイス104a、104b、およびサーバ・デバイス108上にさまざまな構成要素を含む。たとえば、図2は、クライアント・デバイス104a、104bが各々、さまざまな構成要素を有するクライアント・アプリケーション202(たとえば、メッセージング・アプリケーション)を含むことができ、サーバ・デバイス108が、さまざまな構成要素を有するネットワーク・アプリケーション204と支払エンジン206とを含むことを例示する。以下でより詳細に説明されるように、クライアント・アプリケーション202、ネットワーク・アプリケーション204、および支払エンジン206の構成要素は、ユーザが支払を送信し、支払を受信し、メッセージを交換することを可能にするために協働する。
示されるように、クライアント・アプリケーション202は、ユーザ・インターフェース・マネージャ208と、ユーザ入力ディテクタ210と、メッセージング・ハンドラ212と、メッセージ・アナライザ214と、ロケーション・ディテクタ216と、支払メッセージ・ジェネレータ218と、データ・マネージャ220とを含む。図2は、ネットワーク・アプリケーション204が、通信マネージャ230と、ステータス・マネージャ232と、メッセージ・データベース234と、プロファイル・データベース236と、リスク計算機238とを含むことを例示する。以下で説明されるように、ネットワーク・アプリケーション204は、任意選択で、ソーシャルグラフ250も含むことができ、ソーシャルグラフ250は、ノード情報252と、エッジ情報254とを含む。図2はまた、支払エンジン206が、支払マネージャ240と、取引データベース242と、口座マネージャ244とを含むことを例示する。構成要素208〜220、230〜244、252、および254の各々は、任意の適切な通信技術を使用して互いと通信する。構成要素208〜220、230〜244、252、および254は、図2では別個であるように示されているが、構成要素208〜220、230〜244、252、および254のいずれも、単一の設備またはモジュールなど、より少ない構成要素へと結合されてもよいし、特定の実施形態に役立ち得るより多くの構成要素に分割されてもよいことが認識されよう。図2は、一定の構成要素をクライアント・アプリケーション202の一部として、および他の構成要素をネットワーク・アプリケーション204の一部として説明しているが、本開示はそのように限定されない。代替実施形態では、クライアント・アプリケーション202の一部として示される構成要素のうちの1つまたは複数はネットワーク・アプリケーション204の一部とする、またはその逆にする。同様に、ネットワーク・アプリケーション204の一部として示される1つまたは複数の構成要素は支払エンジン206の一部とする、またはその逆にする。
構成要素208〜220、230〜244、252、および254は、ソフトウェア、ハードウェア、または両方を備える。たとえば、構成要素208〜220、230〜244、252、および254は、非一時的コンピュータ可読記憶媒体上に記憶され、クライアント・デバイス104a、104b、またはサーバ・デバイス108の少なくとも1つのプロセッサによって実行可能なコンピュータ命令を備える。少なくとも1つのプロセッサによって実行されるとき、コンピュータ実行可能命令は、本明細書で説明される方法お
よびプロセスを実行することをクライアント・デバイス104a、104bまたはサーバ・デバイス108に行わせる。代替的に、構成要素208〜220、230〜244、252、および254は、一定の機能または機能のグループを実行するために、特殊目的処理デバイスなどのハードウェアを備える。加えて、または代替的に、構成要素208〜220、230〜244、252、および254は、コンピュータ実行可能命令の組み合わせと、ハードウェアとを備える。
1つまたは複数の実施形態では、クライアント・アプリケーション202は、クライアント・デバイス104a、104b上にインストールされたネイティブ・アプリケーションとする。たとえば、クライアント・アプリケーション202は、スマートフォンまたはタブレットなどのモバイル・デバイス上にインストールおよび実行されるモバイル・アプリケーションであってよい。代替的に、クライアント・アプリケーション202は、デスクトップ・アプリケーション、ウィジェット、または他の形のネイティブ・コンピュータ・プログラムとする。代替的に、クライアント・アプリケーション202は、クライアント・デバイス104a、104bがアクセスする遠隔アプリケーションであってよい。たとえば、クライアント・アプリケーション202は、クライアント・デバイス104a、104bのウェブ・ブラウザ内で実行されるウェブ・アプリケーションであってよい。
上記で言及されたように、および図2に示されるように、クライアント・アプリケーション202は、ユーザ・インターフェース・マネージャ208を含む。ユーザ・インターフェース・マネージャ208は、ユーザがメッセージを構築する、見る、および送信する、ならびに支払を送信することを可能にするグラフィカル・ユーザ・インターフェース(または単に「ユーザ・インターフェース」)を提供、管理、および/または制御する。たとえば、ユーザ・インターフェース・マネージャ208は、インスタント・メッセージなどのメッセージの構築を促進するユーザ・インターフェースを提供する。同様に、ユーザ・インターフェース・マネージャ208は、他のユーザから受信されたメッセージを表示するユーザ・インターフェースを提供する。
より詳細には、ユーザ・インターフェース・マネージャ208は、(たとえば、クライアント・デバイス104a、104bに関連付けられている表示デバイスによって)ユーザ・インターフェースの表示を促進し得る。たとえば、ユーザ・インターフェースは、ユーザがメッセージまたは支払を構築、送信、および受信することを可能にする複数のグラフィカル・コンポーネント、グラフィカル・オブジェクト、および/またはグラフィカル要素から構成され得る。より詳細には、ユーザ・インターフェース・マネージャ208は、ユーザがメッセージング・スレッドを見ることを可能にするグラフィカル・コンポーネント、グラフィカル・オブジェクト、および/またはグラフィカル要素のグループを表示するようにクライアント・デバイス104a、104bに指示し得る。
加えて、ユーザ・インターフェース・マネージャ208は、メッセージを構築および送信するためのユーザ入力を促進する1つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素を表示するようにクライアント・デバイス104a、104bに指示し得る。例示するために、ユーザ・インターフェース・マネージャ208は、ユーザがクライアント・アプリケーション202に対してユーザ入力を提供することを可能にするユーザ・インターフェースを提供し得る。たとえば、ユーザ・インターフェース・マネージャ208は、ユーザが1つまたは複数のタイプのコンテンツをメッセージに入力することを可能にする1つまたは複数のユーザ・インターフェースを提供する。本明細書で使用されるとき、「コンテンツ」は、メッセージの一部として含まれることになる任意のデータまたは情報に及ぶ。たとえば、「コンテンツ」という用語は、本明細書では、テキスト、画像、デジタル・メディア、ファイル、ロケーション情報、支払情報、およびメッセージの一部として含まれる他の任意のデータを一般的に説明するために使用される。
上記で論じられたように、メッセージ内に含まれるコンテンツの一例は、送信者ユーザから受信者ユーザへの支払である。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、ユーザが容易かつ効率的に支払を定義し、1つまたは複数の他のユーザに対して送信することを可能にするためのユーザ・インターフェースを提供する。たとえば、ユーザ・インターフェース・マネージャ208は、ユーザが支払を作成および送信するために対話する、1つまたは複数の入力フィールドおよび/または1つまたは複数のユーザ選択可能要素を提供する。
前述の内容に加えて、ユーザ・インターフェース・マネージャ208は、クライアント・アプリケーション202の1つまたは複数の構成要素から命令または通信を受信して、更新されたメッセージ情報、更新された支払のステータス、および/または更新された利用可能なアクションを表示する。ユーザ・インターフェース・マネージャ208は、取引プロセス内の特定の時点において特定のオプションが利用可能であるか否かに基づいて、利用可能なオプションを更新する。以下で論じられるように、ユーザ・インターフェース・マネージャ208は、送信者ステータス・メッセージおよび/または受信機ステータス・メッセージ内に、さまざまな他の選択可能アクションを追加、削除、および/または更新する。
ユーザ・インターフェース・マネージャ208は、電子通信またはメッセージ内に含まれることになるテキストまたは他のデータの入力を促進する。たとえば、ユーザ・インターフェース・マネージャ208は、キーボードを含むユーザ・インターフェースを提供する。ユーザは、電子通信内に含まれることになるテキストを選択するために1つまたは複数のタッチ・ジェスチャーを使用してキーボードと対話する。たとえば、ユーザは、キーボードを使用して、メッセージを入力し、電子通信内で1つまたは複数の他のコンテンツ・アイテムに付随させるおよび/またはこれを説明する。テキストに加えて、キーボード・インターフェースを含むユーザ・インターフェースは、さまざまな他の文字、シンボル、アイコン、または他の文字情報の入力を促進する。
図2でさらに例示されるように、クライアント・アプリケーション202は、ユーザ入力ディテクタ210を含む。1つまたは複数の実施形態では、ユーザ入力ディテクタ210は、任意の適切な様式でユーザ入力を検出、受信、および/または促進する。いくつかの例では、ユーザ入力ディテクタ210は、ユーザ・インターフェースに関する1つまたは複数のユーザ対話を検出する。本明細書で参照されるように、「ユーザ対話」は、1つまたは複数の入力デバイスによってユーザから受信される、単一の対話、または対話の組み合わせを意味する。
たとえば、ユーザ入力ディテクタ210は、キーボード、マウス、タッチ・パッド、タッチスクリーン、および/または他の任意の入力デバイスからのユーザ対話を検出する。クライアント・デバイス104a、104bがタッチスクリーンを含む場合には、ユーザ入力ディテクタ210は、ユーザ対話を形成するユーザからの1つまたは複数のタッチ・ジェスチャー(たとえば、スワイプ・ジェスチャー、タップ・ジェスチャー、ピンチ・ジェスチャー、または逆ピンチ・ジェスチャー)を検出する。いくつかの例では、ユーザは、ユーザ・インターフェースの1つまたは複数のグラフィカル・オブジェクトまたはグラフィカル要素に関係する、および/またはそれに宛てられた、タッチ・ジェスチャーを提供する。
ユーザ入力ディテクタ210は、加えて、または代替的に、ユーザ対話を表すデータを受信し得る。たとえば、ユーザ入力ディテクタ210は、ユーザからの1つもしくは複数のユーザ構成可能パラメータ、ユーザからの1つもしくは複数のユーザ・コマンド、およ
び/または他の任意の適切なユーザ入力を受信し得る。ユーザ入力ディテクタ210は、クライアント・アプリケーション202の1つもしくは複数の構成要素から、クライアント・デバイス104a、104b上のストレージから、または1つもしくは複数の遠隔ロケーション(たとえば、ネットワーク・アプリケーション204)から、入力データを受信し得る。
クライアント・アプリケーション202は、ユーザ入力ディテクタ210がユーザ入力を検出したおよび/または他のデータを受信したことに応答して、1つまたは複数の機能を実行する。一般に、ユーザは、ユーザ入力ディテクタ210が検出する1つまたは複数のユーザ入力を提供することによって、クライアント・アプリケーション202を制御する、その中をナビゲートする、そうでなければ、それを使用する。たとえば、ユーザ入力ディテクタ210がユーザ入力を検出したことに応答して、クライアント・アプリケーション202の1つまたは複数の構成要素は、ユーザが、メッセージの受信者を選択する、メッセージを構築する、メッセージ内に含むコンテンツを選択する、および/または受信者に対してメッセージを送信することを可能にする。加えて、ユーザ入力ディテクタ210がユーザ入力を検出したことに応答して、クライアント・アプリケーション202の1つまたは複数の構成要素は、ユーザが1つまたは複数のユーザ・インターフェースを通してナビゲートして、受信されたメッセージ、連絡先などをレビューすることを可能にする。
1つまたは複数の実施形態では、ユーザ入力ディテクタ210が1つまたは複数のユーザ入力を検出したことに応答して、クライアント・アプリケーション202は、ユーザが支払を作成して、1つまたは複数の他のユーザに対して送信することを可能にする。たとえば、支払を送信したいユーザは、ユーザ・インターフェース内のメニュー上に提供された支払要素と対話する。支払要素とのユーザ対話を検出すると、ユーザ入力ディテクタ210は、支払を作成するためのユーザ・インターフェースを提供することをユーザ・インターフェース・マネージャ208に行わせる。そのため、以下でさらに説明されるように、ユーザ入力ディテクタ210が1つまたは複数のユーザ入力を検出したことに応答して、クライアント・アプリケーション202は、ユーザが、別のユーザに対して送信されることになる支払を定義するカスタマイズされた支払を作成することを可能にする。
図2でさらに例示されるように、クライアント・アプリケーション202は、クライアント・アプリケーション202に対して提供されたまたはそれから送信されたメッセージを管理するメッセージ・ハンドラ210を含む。たとえば、メッセージ・ハンドラ210は、ユーザ・インターフェース・マネージャ208およびユーザ入力ディテクタ210と対話して、クライアント・アプリケーション202を使用したメッセージの送信および受信を協調させる。メッセージ・ハンドラ210は、複数の参加者間での電子メッセージング・セッションの間にネットワーク・アプリケーション204に対するおよびそれからのメッセージの送信および受信を指示し得る。メッセージ・ハンドラ210は、着信メッセージおよび発信メッセージを編成し、メッセージを表示するようにユーザ・インターフェース・マネージャ208に指示し得る。
1つまたは複数の実施形態では、メッセージ・ハンドラ210は、クライアント・アプリケーション202を介してデータを受信および送信することを促進する。特に、メッセージ・ハンドラ210は、メッセージを送信および受信することを促進する。たとえば、本明細書で説明されるように、メッセージ・ハンドラ210は、メッセージ内に含まれることになるコンテンツをパッケージ化し、適切な通信プロトコルを使用して1つまたは複数の通信チャネルを通して送信可能な任意の必要な形でメッセージをフォーマットする。同様に、メッセージ・ハンドラ210は、クライアント・デバイス204が他のユーザから受信したメッセージを処理する。
クライアント・アプリケーション202に通信機能を提供することに加えて、メッセージ・ハンドラ210は、メッセージ・データへのアクセスを提供する。たとえば、メッセージ・ハンドラ210は、含めることになる連絡先のリスト、または連絡先の1つまたは複数のグループ、およびメッセージに対する受信者を表すデータにアクセスする。例示するために、メッセージ・ハンドラ210は、ユーザが、連絡先リストを検索およびブラウズし、メッセージの受信者として含むことになる個々の連絡先または連絡先のグループを最終的に選択することを可能にするために、連絡先リストを表すデータを取得し、ユーザ・インターフェース・マネージャ208に対して提供する。1つまたは複数の実施形態では、ソーシャル・ネットワーキング・システムは、遠隔連絡先リスト・データ(たとえば、「友達リスト」)を維持することができ、メッセージ・ハンドラ210は、クライアント・アプリケーション202内で使用するためにソーシャル・ネットワーキング・システム上の連絡先リスト・データにアクセスする。
メッセージ・ハンドラ210は、クライアント・アプリケーション202がメッセージを構築、送信、および受信するために使用する他のローカル・データまたは遠隔データへのアクセスを提供することもできる。たとえば、メッセージ・ハンドラ210は、ユーザがメッセージ内に含むファイル、画像、オーディオ、映像、および他のコンテンツへのアクセスを取得する。そのうえ、メッセージ・ハンドラ210は、メッセージ内に含めるコンテンツをキャプチャまたは作成する能力をユーザに提供するように、送信者クライアント・デバイス204の1つまたは複数の機能へのアクセスを提供する。たとえば、メッセージ・ハンドラ210は、カメラ、マイクロホン、またはユーザがコンテンツをキャプチャしてメッセージ内に含めることを可能にする他の機能を起動する。
加えて、メッセージ・ハンドラ210は、支払の送信を促進する。特に、図2は、クライアント・アプリケーション202が、支払プロセス/取引を開始するためにメッセージ・ハンドラ210がネットワーク・アプリケーション204に対して送信する支払メッセージを生成する支払メッセージ・ジェネレータ218を含むことを例示する。たとえば、送信者がユーザ・インターフェース上で支払要素を選択すると、支払メッセージ・ジェネレータ218は、送信者から受信された支払情報を含むデータ・パッケージを作成する。支払メッセージは、支払取引の一部として送信されることになる金銭の額の標識ならびにネットワーク・アプリケーションが支払取引を実行することを可能にするために必要な任意の情報を含む。
1つまたは複数の実施形態では、支払メッセージ・ジェネレータ218は、支払額、1つもしくは複数の送信者識別子、1つもしくは複数の受信者識別子、1つもしくは複数の支払方法もしくは送信者口座情報、許可情報、通貨情報、メッセージもしくは支払説明、および/または送信者から受信者への支払を促進するために有用であり得る他の任意のデータを含むデータ・パッケージを作成する。代替的に、支払メッセージは、受信者および支払の額を単に識別する。支払メッセージ・ジェネレータ218は、ネットワーク・アプリケーション204に対して送信するために、支払メッセージ(たとえば、支払情報を含むデータ・パッケージ)をメッセージ・ハンドラ210に対して渡す。
支払メッセージ・ジェネレータ218は、さまざまなソースから支払情報を取得することもできる。たとえば、支払メッセージ・ジェネレータ218は、ユーザ入力ディテクタ210を介して送信者から直接的に支払情報を取得する。加えて、または代替的に、支払メッセージ・ジェネレータは、データ・マネージャ220によってクライアント・デバイス104a、104b上で維持される支払情報へのアクセスを得る。たとえば、クライアント・アプリケーション202は、送信者が、さまざまな支払方法を入力および保存する、ならびに/またはデフォルト支払方法、デフォルト通貨を識別する、およびそうでなけ
れば、支払を送信ならびに/または受信することに関係する他のユーザのプリファレンスを規定することを可能にする。
支払メッセージ・ジェネレータ218はまた、クライアント・アプリケーション202を介したユーザからの入力に基づいたメッセージのフォーマット化を促進し得る。具体的には、支払メッセージ・ジェネレータ218は、プッシュツーデビット取引の当日処理のために支払メッセージをフォーマットすることを促進する。たとえば、支払メッセージ・ジェネレータ218は、ユーザがプッシュツーデビット取引において共同ユーザに払う要求と、それに応じて共同ユーザに対する支払メッセージのフォーマットを入力したことを決定する。1つまたは複数の例では、支払メッセージ・ジェネレータ218は、支払メッセージが、支払取引に関連付けられている支払情報もしくは支払クレデンシャルに基づいて、または送信ユーザによる具体的な選択に基づいて、当日処理のためにフォーマットされるべきであることを決定する。
1つまたは複数の実施形態では、支払メッセージ・ジェネレータ218は、支払メッセージ内のトークンにアクセスし、これを提供する。トークンは、ネットワーク・アプリケーション204によって記憶された支払クレデンシャルを参照する。たとえば、支払メッセージ・ジェネレータ218は、支払メッセージ内にまたはこれとともに含めるトークンを取り出し、支払メッセージは、ネットワーク・アプリケーション204によって記憶された支払クレデンシャルを使用して支払をすることが許可されるとして送信者および/または送信者クライアント・デバイス104aを検証する。
上記で言及されたように、クライアント・アプリケーション202は、メッセージ・アナライザ214をさらに含む。メッセージ・アナライザ214は、潜在的なイベントのためにクライアント・アプリケーション202から送信されたおよびこれによって受信されたメッセージを分析する。1つまたは複数の実施形態では、メッセージ・アナライザ214は、ユーザ間で交換された電子メッセージから、交換されたメッセージ内のコンテキスト内容に基づいて、イベントを推測する。具体的には、メッセージ・アナライザ214は、ソーシャル・ネットワーキング・イベントまたは支払の機会を示す一定の語句または文字列を識別する。たとえば、文字列は、2人以上のユーザ間のメッセージング・スレッド内の電子メッセージからの所定の文字列を含む。
クライアント・アプリケーション202は、ロケーション・ディテクタ216をさらに含む。ロケーション・ディテクタ216は、クライアント・デバイス104a、104bからのGPS情報、セル・タワー三角測量、WIFI受信信号強度標識、WIFI無線フィンガープリンティング、無線周波数識別、短距離通信に基づいて、メッセージを分析することによって、または他のソースからのデータに基づいて、クライアント・デバイス104a、104bのロケーションにアクセスまたはこれを識別する。ロケーション・ディテクタ216は、次いで、メッセージ・アナライザ214またはネットワーク・アプリケーション204に対してクライアント・デバイス104a、104bのロケーションを提供する。加えて、ロケーション・ディテクタ216は、ネットワーク・アプリケーション204から他のクライアント・デバイスのロケーションの標識を受信し、それらをメッセージ・アナライザ214に対して提供する。
上記で論じられたように、クライアント・デバイス104aは、図2に例示されるように、データ・マネージャ220を含む。データ・マネージャ220は、ユーザと1人または複数の他のユーザとの間でメッセージを構築、送信、および受信することと関係して使用されるデータを表すメッセージ・データを維持する。たとえば、メッセージ・データは、メッセージ・ログ、連絡先リスト、コンテンツ、過去の通信、およびユーザがクライアント・アプリケーション202を使用して通信できることを提供することと関係してクラ
イアント・アプリケーション202が使用する他の類似のタイプのデータを含む。
データ・マネージャ220はまた、支払メッセージを生成するために使用される情報を表す支払データを維持し得る。たとえば、支払データは、支払方法データ(すなわち、クレデンシャル)および/または口座データ(たとえば、銀行またはクレジット・カード口座データ)を含み得る。そのうえ、支払データは、支払に関するプリファレンス(たとえば、デフォルト支払方法)を含む。一般に、支払データは、支払メッセージ・ジェネレータ218が支払を生成することと関係して使用する任意のデータを含んでよい。
上記で簡単に言及されたように、クライアント・デバイス104a、104bに加えて、システム100は、サーバ・デバイス108上で全部または部分的に実施されるネットワーク・アプリケーション204をさらに含む。本開示の1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、ソーシャル・ネットワーキング・システム(限定されるものではないが、フェイスブック(商標)など)を備えるが、他の実施形態では、ネットワーク・アプリケーション204は、限定されるものではないが、電子メール・アプリケーション、検索エンジン・アプリケーション、バンキング・アプリケーション、またはユーザ口座を利用する任意の数の他のアプリケーション・タイプを含む別のタイプのアプリケーションを備え得る。
ネットワーク・アプリケーション204がソーシャル・ネットワーキング・システムを備える1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、複数のユーザおよび概念を表し、分析するためのソーシャルグラフ250を含み得る。ソーシャルグラフ250のノードストレージ252は、ユーザ用ノード、概念用ノード、取引用ノード、およびアイテム用ノードを備えるノード情報を記憶する。ソーシャルグラフ250のエッジストレージ254は、ソーシャル・ネットワーキング・システム内で発生するノードおよび/またはアクション間の関係を備えるエッジ情報を記憶する。ソーシャル・ネットワーキング・システム、ソーシャルグラフ、エッジ、およびノードに関するさらなる詳細は、以下で図8に関して提示される。
通信マネージャ230は、クライアント・アプリケーション202から受信されたメッセージを処理する。たとえば、通信マネージャ230は、クライアント・アプリケーション202のメッセージ・ハンドラ206と対話する。通信マネージャ230は、電子メッセージング・スレッド内のユーザ間でやりとりされるメッセージのディレクタの役割を担う。通信マネージャ230は、クライアント・アプリケーション202からメッセージを受信し、メッセージの意図された受信者を検出して、意図された受信者に関連付けられているクライアント・アプリケーション202(またはデバイス)に対してメッセージを送信し得る。通信マネージャ230が、受信者に関連付けられている複数のクライアント・デバイス(すなわち、ユーザがあるバージョンのクライアント・アプリケーション202をインストールした各デバイス)に対して受信者のためのメッセージを宛てることが理解されるであろう。
加えて、通信マネージャ230は、宛先通信デバイスまたはタイプによって使用されるメッセージング・プロトコルに基づいて、メッセージを再フォーマットするまたは別のやり方でメッセージの内容もしくはフォーマットを修正することもできる。したがって、1つまたは複数の実施形態では、システム100は、異なる通信プラットフォームを使用する参加者がメッセージを交換することを可能にする。たとえば、通信マネージャ230は、第1のプロトコル(SMS、IM、XMPP、APNSなど)によりメッセージを受信し、メッセージを第2のプロトコルへと再フォーマットして、再フォーマットされたメッセージを意図された受信者に対して送信する。
ステータス・マネージャ232は、クライアント・アプリケーション202および/またはクライアント・デバイス104a、104bのユーザのステータスを追跡する。たとえば、ステータス・マネージャ232は、ユーザがいつクライアント・アプリケーション202にログインされるか、ユーザがいつクライアント・アプリケーション202上でアクティブであるか、ユーザまたはユーザ口座に関連付けられているクライアント・デバイス104a、104bがいつオンラインまたはアクティブであるかを識別する。ステータス・マネージャ232は、クライアント・アプリケーション202に対して標識(プッシュ通知など)を送信して、クライアント・アプリケーション202に、ユーザ、デバイス、メッセージ、または支払のステータスを通知する。ユーザ・インターフェース・マネージャ208は、ステータス・マネージャ232から受信された標識に基づいて、ステータス通知を追加、修正、または別のやり方で変更もしくは更新する。たとえば、ステータス・マネージャ232は、別のユーザがメッセージにアクセスしたこと、支払を受信したこと、支払を送信したこと、アクティブであること、共同ユーザがアクティブなデバイスまたはデバイス・タイプ(たとえば、モバイル対ウェブ)などを示す標識をクライアント・アプリケーション202に対して送信する。ユーザ・インターフェース・マネージャ208は、次に、ユーザにステータスを通知するためにユーザ・インターフェースを更新する。
ネットワーク・アプリケーション204は、メッセージ・データベース234も含み得る。メッセージ・データベース234は、複数の参加者間の電子メッセージング・セッションからメッセージの内容を表すメッセージ・データを維持する。メッセージ・データベース234は、上記で言及された、ステータス・マネージャ232が追跡する情報を表すステータス・データを維持し得る。したがって、メッセージ・データベース234は、メッセージング・スレッドのアーカイブを提供することができ、これは、要求に応じて、またはユーザが新しいコンピューティング・デバイスを使用してクライアント・アプリケーション202にログインすると、ネットワーク・アプリケーション204がユーザに対して提供する。
以前に言及されたように、サーバ・デバイス108は、支払マネージャ240を有する支払エンジン206を含む。図2の支払マネージャ240は、支払メッセージの送信および受信を統合して、支払取引を開始することができ、1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を用い得る。たとえば、通信マネージャ230が支払メッセージを受信すると、通信マネージャ230は、支払マネージャ240に対してあらゆる支払詳細を送信する。支払マネージャ240は、次いで、支払メッセージから取り出された支払詳細を使用して、支払ネットワーク115を使用する支払取引を開始する。
1つまたは複数の実施形態によれば、システム100は、ネットワーク・アプリケーション204とは別個の支払エンジン206を維持する。たとえば、システム100は、ネットワーク・アプリケーション204の機能のうちの少なくとも一部(たとえば、リカバリのためにメッセージング・データベースを使用する)とは別個に、支払エンジン206に関連付けられている支払プロセスを実施する。例示するために、システム100は、1つまたは複数のサーバの第1のグループ上で支払エンジン206の機能を、および1つまたは複数のサーバの第2のグループ上でのネットワーク・アプリケーション204の機能を実施する。別個のサーバ上で支払エンジン206およびネットワーク・アプリケーションの機能を実施することは、システム100が、ユーザに関連付けられている金融情報の少なくとも一部は、ネットワーク・アプリケーション204は別として、支払カード業界(PCI)標準に準拠するために維持されることを保証することを可能にする。本明細書で説明される構成以外のサーバおよび/またはソフトウェアの代替構成は、また、システム100がPCI標準に準拠することを可能にし得る。
支払マネージャ240は、支払メッセージ内で定義された支払に対応する取引を協調させる。上記で一般に説明されたように、支払マネージャ240は、支払メッセージに対応する支払ネットワーク115を介して取引を協調させ、取引のステータスを監視し、取引に関するステータス情報を提供する。より具体的には、上記で図1に関して説明されたように、支払ネットワーク115は、取引を許可し、取引を資金供給し、および/または個々の取引もしくは取引のバッチを決済する。1つまたは複数の実施形態では、支払マネージャ240は、1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を使用して、関係のある情報を支払ネットワーク115と通信する。
追加実施形態または代替実施形態では、クライアント・デバイス104a上のクライアント・アプリケーション202は、ネットワーク・アプリケーション204および支払エンジン206に対して支払メッセージおよび/または支払メッセージに関連付けられているメッセージを並行して送信することをクライアント・デバイス104aに行わせる。より詳細には、クライアント・アプリケーション202が共同ユーザに対してある額を支払うためのユーザによる選択を受信したとき、クライアント・アプリケーション202は、第1のネットワーク・アプリケーション204に対して、および支払エンジン206に対して支払メッセージを送信することをクライアント・デバイス104aに行わせる。したがって、ネットワーク・アプリケーション204が支払メッセージを処理する間に、支払エンジン206も、支払メッセージに関連付けられている支払取引を処理している。代替実施形態では、クライアント・デバイス104aは、ネットワーク・アプリケーション204に関連付けられている1つまたは複数のサーバに対してメッセージを送信することができ、次いで、サーバは、支払エンジン206に対してメッセージを転送する、またはその逆を行う。
取引を完了するために、支払マネージャ240は、受信者についての支払クレデンシャル(入金口座情報、デビット・カード、クレジット・カード、ギフト・カード、電子財布などの)にアクセスするまたはこれを取得する。支払マネージャ240は、さまざまな方法を使用して、受信者の支払クレデンシャル(たとえば、実質的に即時の支払を受信するためのデビット・カード)を取得する。例となる一実施形態では、受信者は、ネットワーク・アプリケーション204を用いて1つまたは複数の入金口座または他の支払クレデンシャルを登録する。ユーザが入金口座または他の支払クレデンシャルを登録すると、ユーザ・プロファイル・データベース236は、支払クレデンシャルを維持する。
支払マネージャ240が支払情報を受信した後、支払マネージャ240は、受信者を識別する。支払マネージャ240は、ユーザ・プロファイル・データベース236内の受信者を調べて、受信者が支払クレデンシャルを登録しているか否かを決定する。この時点で、支払マネージャ240は、取引を開始する。
受信者のユーザ・プロファイルが支払クレデンシャルを含まない場合、または受信者のユーザ・プロファイルが、当日支払をサポートする支払クレデンシャルを含まない場合、支払マネージャ240は、受信者に支払クレデンシャルを提供することを促すメッセージを受信者に送信するように通信マネージャ230に指示する。メッセージは、受信者が支払クレデンシャル詳細を提供することを可能にする1つまたは複数の対話型フィールドを提供することによって、支払クレデンシャルを登録するように受信者に促し得る。加えて、または代替的に、受信者が、登録された支払クレデンシャルを有さないことを決定すると、支払マネージャ240は、一時入金242を生成する。より詳細には、支払マネージャ240は、口座番号を生成し、その口座番号を受信者のユーザ・プロファイルに関連付ける。1つまたは複数の実施形態では、受信者は、すでに一時口座を有しているかもしれず、そのため、支払マネージャ240は、以前に作成された一時口座を使用して取引を完
了する。特に、一時口座は、支払マネージャ240が、送信者または受信者のどちらかの観点から支払プロセスを遅延させることなく取引を処理することに直ちに進むことを可能にする。
口座マネージャ244は、ネットワーク・アプリケーションと関係して1つまたは複数の一時口座を管理する。たとえば、支払の完了時、支払マネージャ240は、一時口座に対して支払額を入金する。1つまたは複数の実施形態では、支払マネージャ240は、支払マネージャ240が受信者の支払クレデンシャルに対して金銭を移動したことを示すメッセージを受信者に送信することを通信マネージャ230に行わせる。たとえば、受信者がデビット口座をすでに登録していた場合、支払マネージャ240は、実質的に即時の支払取引において登録されたデビット口座に対して金銭を移動する。代替的に、受信者が入金口座を登録したくない場合、メッセージ・システムは、一時口座から金銭を引き出す命令を受信者に提供する。
支払ネットワーク115を介して取引を協調させることに加えて、支払マネージャ240は、1つまたは複数のシステム・ユーザ口座に関して取引を協調させることもできる。1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、ギフト・カード口座、キャッシュ・カード口座、または類似のタイプのユーザ口座などのユーザ・キャッシュ口座をサポートする。送信者は、支払の方法として送信者のユーザ・キャッシュ口座を規定することができ、同様に、受信者は、登録された入金口座として受信者のユーザ・キャッシュ口座を設定する。そのため、少なくともいくつかの実施形態では、取引全体、または取引の実質的に全体は、ネットワーク・アプリケーション204内で処理されることが可能である。
1つまたは複数の実施形態では、システム100は、受信者が、資金を受信するために支払クレデンシャルとしてデビット・カード口座を登録することもできる。ユーザのデビット・カードに対して資金を送信するために、支払マネージャ240は、支払額を受信者のデビット・カード口座にクレジット提供するために要求を送信する。1つまたは複数の実施形態では、要求は、未照会払戻(unreferenced refund)要求を含む。未照会払戻要求とは、ユーザのデビット・カード口座との以前の資金供給取引に対して添付されていない払戻要求である。未照会払戻要求を処理することは、受信者デビット・カード口座に対して払戻要求の額をクレジット提供するという結果になる。たとえば、受信者が、デビット・カード口座上でマイナス残高を有する場合、要求額が、そのマイナス残高に充当され得る。同様に、受信者がデビット・カード口座上でゼロ残高を有する場合、要求額は、受信者が使うことができるプラスのデビット・カード口座残高をもたらす。代替的に、要求は、システム100が当日支払を処理するための所有権を有するルーティング方法を介して金銭を移動することを可能にする特定のカード・サービスに対応する請求要求を含み得る。
図2の支払マネージャ240は、通信マネージャ230から受信された情報を協調させることに関係してさまざまな機能を実行して、支払要求を要求および受け入れ、支払プロセスを協調させ得る。たとえば、支払マネージャ240は、支払クレデンシャルを作成および記憶する。より具体的には、ユーザ(たとえば、送信者および受信者)は、ネットワーク・アプリケーションとの口座をすでに有し、したがってすでに、登録されたユーザであるかもしれず、または依然として口座を開設する必要があるかもしれない。一実施形態では、ユーザの少なくとも一部はまた、ソーシャル・ネットワーキング・システムのメンバであり、システム100を使用してメッセージするときにも使用されるソーシャルネットワーキング口座に関連付けられている識別子(「ID」)およびユーザ・プロファイルをすでに有する。代替的に、他のユーザが、ソーシャル・ネットワーキング・システムのメンバでなく、口座を作成してシステム100の登録されたメンバになる必要がある。こ
の例では、支払マネージャ240は、これらのユーザから(クライアント・アプリケーション202を介して)日付を受信して口座を作成し、次いで、これらのユーザのための一意のIDおよびユーザ支払プロファイルを作成することができ、これらは後で支払プロセス中に参照される。場合によっては、支払マネージャ240はまた、欠けているかもしれない支払プロファイル特徴を含むように、以前のソーシャルネットワーキング・ユーザのユーザ・プロファイルを増やしてよい。
口座を開設するまたは増やす際、ユーザは、クレジット・カード、デビット・カード、入金口座または他の銀行口座、ギフト・カード口座、店舗クレジット口座などの1つまたは複数の支払クレデンシャルを提出する。支払の方法を追加するとき、ユーザは、カード番号および/または口座番号、有効期限、セキュリティ・コード、移動またはルーティング識別番号、ならびに金銭移動のために必要とされる銀行情報を提出するように求められる。ユーザは、個人識別番号(PIN)などの許可コードを作成する、または、たとえば単一の支払方法のみを提供するとき、クレジット・カードのセキュリティ・コードを使用する、または、任意の他の許可コードを提供することもできる。ユーザは、支払のデフォルト方法を選択することもできる。
それに応じて、ユーザ・プロファイル・データベース236によって記憶されるユーザ支払プロファイルは、登録された各ユーザ(ソーシャルネットワーキング・ユーザとして、および/またはメッセージング・ユーザとして)のために一意に作成されたユーザ(またはグループ)IDを含む。ユーザ・プロファイル・データベース236は、ネットワーク・アプリケーション204のユーザの支払クレデンシャルのためのストレージを提供する。たとえば、ユーザは、ネットワーク・アプリケーション204との「口座」を作成することができ、これは、ユーザがネットワーク・アプリケーション204に対して支払情報を提供することを可能にする。次いで、ネットワーク・アプリケーション204は、その支払情報をユーザ・プロファイル・データベース236の中に保存する。1つまたは複数の実施形態では、ユーザ・プロファイル・データベース236は、名(ファースト・ネーム)、ミドル・ネーム、姓(ラスト・ネーム)、支払カード番号(たとえば、クレジット・カード、デビット・カード)、支払カードの有効期限(年および/または月)、支払カードのカード・セキュリティ・コード(たとえば、カード検証値(CVVまたはCVV2))、支払カードに関連付けられている請求書送付先住所(通りの名称、家屋番号、都市、州または県、郵便番号、国などを含む)、支払カードに関連付けられている電話番号、1つまたは複数の届け先住所(請求書送付先住所と類似のフィールドを含む)、のうちの1つまたは複数を、ユーザに関係して記憶する。支払カードがデビット・カードを備えるとき、プロファイル記憶モジュールは、デビット・カードのための個人識別番号(PIN)を記憶することもできる。ネットワーク・アプリケーション204がソーシャル・ネットワーキング・システムを備える一実施形態では、ユーザ・プロファイル・データベース236の中に記憶される支払情報は、ユーザを表すノードストレージ252のノードに関連付けられ得る。
1つまたは複数の追加の実施形態では、支払マネージャ240は、リスク計算機238と通信して、送信者、受信者、および/または特定の支払取引に関連付けられているリスクを決定する。具体的には、リスク計算機238は、詐欺的な支払取引を防止するために、送信者/受信者に関連付けられている情報に基づいて、送信者/受信者が詐欺師であるか否かを決定する。たとえば、リスク計算機238は、ネットワーク・アプリケーションと関係して送信者/受信者に関連付けられているアクティビティまたは情報に基づいて、詐欺アクティビティの可能性を決定する。支払取引に関与するユーザに関連付けられているリスクを決定することは、プッシュツーデビット取引を処理するとき、特に有用である。
たとえば、1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、送信者または受信者に関連付けられているリスクが所定の閾値に達しているか否かを決定する。特に、ネットワーク・アプリケーション204は、「実在度」スコアに基づいて、送信者または受信者が詐欺師である(たとえば、詐欺口座または実在の人物のような態度をとるソフトウェア)か否かを決定する。たとえば、送信者に関連付けられているリスクが所定の閾値を下回る(すなわち、高リスク・レベル)場合、ネットワーク・アプリケーション204は、送信者はおそらく詐欺師であることを決定し、送信者が詐欺師であることを支払エンジン206に通知する。送信者が高リスク・レベルを有する場合、支払エンジン206は、送信者と受信者との間の支払取引を停止する。同様に、受信者に関連付けられているリスクが所定の閾値を下回る場合、ネットワーク・アプリケーション204は、受信者がおそらく詐欺師であることを決定し、受信者が詐欺師であることを支払エンジン206に通知する。
例示するために、ネットワーク・アプリケーション204は、1人または複数の共同ユーザによってソーシャル・ネットワークキング・システムに対して投稿されたメディアにおいてユーザがタグ付けされているか否か、ユーザの共同ユーザがユーザの以前の1回または複数回の誕生日を認識した(すなわち、ユーザに「誕生日おめでとう」と言った)か否か、ネットワーク・アプリケーション204を介してユーザとユーザの共同ユーザとの間で交換されたメッセージの数もしくは量、ユーザの共同ユーザが、ユーザによってなされた投稿に賛同または連帯を示した(すなわち、「いいね」を表明した)か否か、および/またはユーザの共同ユーザがユーザによってなされた投稿に対してコメントしたか否かに基づいて、ユーザのための実在度スコアを決定する。加えて、または代替的に、ネットワーク・アプリケーション204は、ユーザが所定の時間の量にわたってソーシャル・ネットワークキング・システムのメンバであるか否か、あらかじめ受け入れた発信元ロケーションに住んでいるか否か、宛先ロケーションとともに所定のレベルのソーシャル・ネットワーク・アクティビティを有するか否か、閾値実在度スコアを有するか否かなどを決定する。別の例では、ネットワーク・アプリケーション204は、ユーザと共同ユーザがソーシャル・ネットワーキング・システム上で友達であるか否か、ある数の隔たり次数(degree of separation)以内であるか否かなどを含む、ユーザと共同ユーザとの間の関係に基づいて、ユーザに対するリスクを決定する。加えて、ネットワーク・アプリケーション204は、支払取引が詐欺であるか誤っているかを、支払取引についての情報を使用して、支払額(たとえば、非現実的な額を含む支払額)などに基づいて決定する。
追加の実施形態では、送信者および/または受信者に関連付けられているリスクを決定した後、ネットワーク・アプリケーション204は、リスクに関連した1つまたは複数のアクションを実行する。具体的には、ネットワーク・アプリケーション204は、ネットワーク・アプリケーション204がユーザの身元を確認することを可能にするアクションを実行する。たとえば、ネットワーク・アプリケーション204は、ユーザはユーザがそうであると称する人であることを示す情報をユーザに要求する。例示するために、ネットワーク・アプリケーション204は、パスワード入力、ユーザのための登録された支払クレデンシャルのいくつかの数字、個人セキュリティ質問、視覚的識別(たとえば、写真)のアップロード、またはユーザのリスク・レベルもしくは実在度スコアに基づく他の識別機構を要求する。
追加実施形態または代替実施形態では、ネットワーク・アプリケーション204は、ユーザの決定されたリスク・レベルに応答して、支払メッセージまたは支払取引に関係する1つまたは複数のアクションを自動的に実行する。具体的には、ネットワーク・アプリケーション204は、ユーザに追加の情報を要求することなく、支払メッセージまたは対応する送信者と受信者との間の支払取引に影響するアクションを実行する。たとえば、ネッ
トワーク・アプリケーション204は、支払取引を可能にする、支払取引を(たとえば、ユーザの支払クレデンシャルの銀行による)レビューのために保留中にしておく、支払取引を阻止する、ユーザの口座を使用不能にする、または中間口座を使用することなく(たとえば、送信者の口座から受信者の口座へ直接的に)取引を処理する。
いずれにしても、送信者からの支払メッセージの受信時、支払マネージャ240は、送信者のユーザ(またはグループ)IDを検出し、そのユーザ(またはエンティティ)についての支払プロファイルを取り出す。支払マネージャ240は、次いで、支払額、送信者、および受信者に関連付けられている取引IDを含む取引パッケージ(たとえば、「支払ドローン(payment drone)」)を生成する。取引IDは、システム100が送信者の口座から、システム内の一時口座または中間口座において、および受信者の口座へ、金銭を追跡する助けとなる。いくつかの例では、システム100は、ユーザに取引IDへのアクセスを提供し、支払取引に対応する中の金銭の動きをたどる。
取引パッケージは、デフォルト支払方法および関係する情報を含むこともできるが、それは、送信者が、代替支払方法を用いて受信者に支払を送信することを選択しない限りであり、その場合、取引パッケージは、代替支払方法についての支払情報を含む。支払マネージャ240は、次いで、支払許可プロセスを開始するために支払ネットワーク115に対して取引パッケージを送信し得る。
支払マネージャ240は、支払プロセスを効果的に管理するために、さまざまな他の追加のステップおよび方法を実行する。1つまたは複数の実施形態では、たとえば、支払メッセージを受信すると、支払マネージャ240は、取引識別子(または単に「取引ID」)を生成し、この取引識別子を支払メッセージおよび/または支払メッセージ内の支払情報に関連付ける。たとえば、取引IDを生成すると、支払マネージャ240は、取引データベース242に対して取引IDおよび支払情報を送信する。取引データベース242は、取引IDにより取引情報を記憶するデータ・テーブルまたは類似のデータ・マトリックスを含む。
図2の取引データベース242は、各取引(グラフ・オブジェクトの形など)、試行または完了した、取引ID、日付、取引の額、使用された支払方法、取引に関連する送信者と受信者との間で相互に交換された関連付けられているメッセージ、および取引に関して収集された他の任意の情報のためのストレージを提供する。この情報を用いて、支払マネージャ240は、要求に応じて、支払要求、拒否された支払、および完了された支払の履歴として、1つまたは複数の取引の概要をユーザに対して提供する。
1つまたは複数の実施形態では、取引IDが特定の支払メッセージに関連付けられている後、取引IDは、特定の支払に関係する、システム100内の実質的にすべての通信中に含まれるまたは埋め込まれる。したがって、取引IDは、支払マネージャ240が、編成された様式で多数の支払を管理および処理することを可能にする。たとえば、支払マネージャ240は、クライアント・デバイス104a、104bに対して送信される任意の情報の中に取引IDを含めるための命令を含む。代わりに、メッセージング・ハンドラ210が、支払マネージャ240が、情報が対応する特定の取引を効率的かつ確実に識別することを可能にするために、クライアント・デバイス104a、104bから送信される任意の情報の中に取引IDを含めることもできる。
1つまたは複数の実施形態では、取引IDは、1つまたは複数の送信者識別子、受信者識別子、スレッド識別子(たとえば、送信者と受信者との間のメッセージング・スレッドを識別する)、支払額、支払方法(たとえば、送信者口座)、入金方法(たとえば、受信者口座)、取引履歴、現在の取引ステータス、ならびに他の取引情報に関連付けられる。
1つまたは複数の実施形態では、取引データベース242は、取引に関係するあらゆる更新またはアクションとともに更新される1つまたは複数のグラフ・オブジェクトの形で取引情報を維持する。
また、以前に言及されたように、支払エンジン206の口座マネージャ244は、1つまたは複数の中間の口座または一時口座を維持する。一時口座は、送信者の口座からの支払の決済または実際の資金供給の前に受信者口座へなされることになる入金のための資金供給を提供する、あるタイプの「ホットな口座」として機能する。たとえば、いくつかの支払方法を用いれば、支払の資金供給は、金銭が送信者の口座にデビット請求されるのに数時間または数日を要することすらある。しかしながら、支払許可要求は、資金を確認および確保して支払を果たす。したがって、支払許可要求からの成功応答を受信すると、支払マネージャ240は、支払が受信者の口座に到着するのに、より短い時間を提供するために、一時口座から支払額を資金供給する。支払が送信者の口座から資金供給すると、一時口座は、支払の額のために新しくされる。
論じられたように、上記で図1〜図2に関して論じられたシステムおよび構成要素は、メッセージ・システムのユーザが、統合されたメッセージおよび支払システム100を介して支払を容易に、効果的に、かつ安全に送信および受信することを可能にする。図3A〜図3Cは、上記で論じられたシステム100によって実施されるプロセスの1つまたは複数の例となる実施形態の例となるプロセス図を例示する。図1および図2に例示されるシステム100に一致して、図3A〜図3Cは、クライアント・アプリケーション202を有する送信者クライアント・デバイス104a、クライアント・アプリケーション202を有する受信者クライアント・デバイス104b、ネットワーク・アプリケーション204および支払エンジン206をサポートするサーバ・デバイス108、ならびに支払ネットワーク115を例示する。
1つまたは複数の実施形態では、ユーザがシステム100を介して別のユーザに対して支払を送信するためのプロセスは、送信者クライアント・デバイス104aに関連付けられている送信者ユーザ(または単に「送信者」)がクライアント・アプリケーション202に対してユーザ入力を提供し、許可要求を送信する(302)ことで始める。具体的には、送信者は、システム100内で他の共同ユーザとの支払取引を実行するために、支払クレデンシャルを送信者のためのユーザ口座に関連付ける。図3Aに示されるように、クライアント・アプリケーション202は、支払システムに対して許可要求を送信することを送信者クライアント・デバイス104aに行わせる。
任意選択で、支払エンジン206は、支払ネットワーク115に対して支払の額または別の額(たとえば、0.01ドルまたは100.00ドル)について送信者の支払クレデンシャル(たとえば、送信者のデビット・カード)に対する許可要求を送信する(304)ことができ、支払ネットワーク115は、支払許可を受け入れまたは拒絶する。支払ネットワーク115は、次いで、支払エンジン206に対して支払クレデンシャル許可応答を転送する(306)。任意選択の許可要求が、タイムライン内でより早くまたはより遅く行われることが理解されるであろう。代替実装形態では、支払エンジン206は、支払取引要求338の一部として支払の額のために送信者の支払クレデンシャルに対する許可要求を送信する。支払エンジン206は、次いで、支払クレデンシャルが支払額に関して許可されたことを送信者クライアント・デバイス104に通知するために、送信者クライアント・デバイス104aに対して許可応答を送信する(308)。
1つまたは複数の実施形態では、送信者クライアント・デバイス104aは、支払メッセージを生成する(310)。特に、および上記で説明されたように、送信者は、受信者ユーザ(または単に「受信者」)に対してなされることになる支払を送信者が定義するこ
とを可能にする1つまたは複数のユーザ・インターフェースにアクセスする。たとえば、送信者クライアント・デバイス104aは、支払取引のタイプに基づいて支払取引を処理するように支払エンジン206に示すように支払メッセージをフォーマットする。
例示するために、フォーマット化は、支払方法に基づいて、支払取引が当日プッシュツーデビット取引であることを示す。具体的には、フォーマット化は、支払取引がどのように処理されるべきかを支払ネットワークに対して正確に示すパラメータを含む。たとえば、フォーマット化は、支払取引が、VISA Original Credit Transaction(OCT)、MASTERCARD MoneySend、電子資金移動(EFT)、自動支払処理装置(ACH)、未照会払戻、または具体的な支払ネットワークのための特定のアプリケーション・プログラム・インターフェース(API)による他のタイプの資金移動方法を使用するか否かを示す。いくつかの例では、フォーマット化は、受信者にとって利用可能なクレデンシャルのタイプに依存し得る(たとえば、受信者が、具体的なタイプの支払方法をサポートする支払クレデンシャルを有する場合、送信者クライアント・デバイス104aは、それに応じて支払メッセージをフォーマットする。
加えて、クライアント・アプリケーション202は、図3Aに示されるように、ネットワーク・アプリケーション204に対して支払メッセージを送信する(312)ことを送信者クライアント・デバイス104aに行わせる。1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、情報の少なくとも一部を支払メッセージから支払エンジン206へ通信する。加えて、または代替的に、支払エンジン206は、支払メッセージと関係して送信者クライアント・デバイス104aから情報を取得する。
1つまたは複数の実施形態では、ネットワーク・アプリケーション204は、上記で説明されたように、送信者のリスクを決定する(314)。たとえば、ネットワーク・アプリケーション204は、送信者、受信者、および/または送信者と受信者との間の関係に関連付けられている情報を使用して、支払エンジン206が詐欺を防止するために支払取引を処理するか否かを決定する。具体的には、ネットワーク・アプリケーション204は、支払エンジン206が送信者と受信者との間の支払取引を処理すべきか否かを決定するように、送信者に関連付けられているリスクを決定し、リスクの支払エンジン206に通知する。図3Aは、支払取引の処理中の特定の時点でのリスク・チェックを例示しているが、以下で説明されるように、リスク・チェックは、金銭が中間口座または一時口座にある間など、受信者の口座に対して金銭を移動する前に、支払取引中にいつでも行われてよい。
任意選択で、支払メッセージを受信すると、またはリスクを決定した後、支払エンジン206は、トークンを生成する(316)。トークンは、支払エンジン206が、その後の支払要求に応答して送信者に関連付けられている支払クレデンシャルを取り出すことを可能にする。特に、ネットワーク・アプリケーション204は、記憶された支払クレデンシャルに対するポインタとして、「トークン」と呼ばれるランダム・ストリングを返す。トークンは、好ましくは、支払クレデンシャルが、トークン自体に基づいて(単にトークンに対して復号アルゴリズムを適用することなどによって)導き出されることができないように、支払クレデンシャルとアルゴリズム的な関係を有さない。それに応じて、このトークンは、支払エンジン206を使用せずに機密データを推定することが可能でないランダム・ストリングであるので、カードホルダ・データと考えられず、支払エンジン206は、支払クレデンシャルとそれが対応するトークンのリストを含有する。支払エンジン206によって生成される支払トークンは、以下でより詳細に説明されるように、支払要求の検証を可能にする。支払エンジン206は、その後の支払取引において送信者および/または支払クレデンシャルを検証するために、送信者クライアント・デバイス202に対してトークンを提供する(318)。
代替的に、クライアント・アプリケーション202は、ネットワーク・アプリケーション204および/または支払エンジン206についての送信者のユーザ識別子を取得し、識別し、または、さもなければ、発見する。例えば、クライアント・アプリケーション202は、送信者のコンピューティング・デバイス104a上に存在する、ユーザの難読化された(例えば、ハッシュ化された、暗号化された、または、他の方法でアルゴリズム的に変換された)ユーザ識別子に対してアクセスする。このユーザ識別子は、ネットワーク・アプリケーション204(例えば、ソーシャル・ネットワーキング・アプリケーション)および/または支払エンジン206のそのユーザについてのユーザ・プロファイル/アカウントを識別する。本開示の1つまたは複数の実施形態において、ユーザ識別子は、ネットワーク・アプリケーション218によってアクセスされ、または予約される、共有メモリの一部からアクセスされ、ユーザがネットワーク・アプリケーション218に現在「ログオン」している場合にのみ、存在し得る。1つまたは複数の他の実施形態において、ユーザ識別子は、ユーザのコンピューティング・デバイス202上のクッキー(例えば、ハイパーテキスト転送プロトコル(HTTP)クッキー)から、またはアプリケーション・キャッシュ(例えば、ハイパーテキスト・マークアップ言語バージョン5(HTML5)アプリケーション・キャッシュ)からアクセスされる。
クライアント・アプリケーション202は、支払メッセージ302とともに難読化されたユーザ識別子を送信する。1つまたは複数の実施形態では、次いで、ネットワーク・アプリケーション204と支払エンジン206の両方が、難読化されたユーザ識別子が有効であることを確認する。ユーザのコンピューティング・デバイス104a上でのネットワーク・アプリケーション204および支払エンジン206のための適切な難読化されたユーザ識別子の存在は、送信者がサーバ・デバイス108においてすでに認証されていることを示すので、このプロセスは、送信者のための認証として働き得る。送信者を認証することは、送信者が、ネットワーク・アプリケーション204に関係して他のユーザと通信し、支払エンジン206に関係して支払取引を入力することを可能にする。
支払エンジン206が送信者または支払クレデンシャルを検証しない場合、支払エンジン206は、送信者クライアント・デバイス104aに対して通信を送信し、支払が許可できなかったおそれがあることを示すエラー・メッセージを送信者に対して提示することをクライアント・アプリケーション202に行わせる。1つまたは複数の実施形態では、エラー・メッセージは、送信者が追加の許可情報を提供する、条件に同意する、または別のやり方で身元を確認するプロンプトを含む。その後、送信者クライアント・デバイス104aは、改められた支払要求を支払エンジン206に対して送信する。ネットワーク・アプリケーション204は、次いで、送信者/支払クレデンシャルを検証しようとする。ネットワーク・アプリケーション204が、送信者/支払クレデンシャルを検証することができない場合、支払エンジン206は、支払メッセージ302に基づいて支払取引を終了させてよい。
トークンを提供すると、または送信者/支払クレデンシャルを検証すると、支払エンジン206は、図3Aに例示されるように、取引IDを生成する(320)。上記で説明されたように、支払エンジン206は、一意の取引IDを、受信された各支払メッセージに対して関連付ける。支払エンジン206およびネットワーク・アプリケーション204は、さまざまなファイル、オブジェクト、メッセージ、および他の情報の中の取引IDを使用して、ネットワーク・アプリケーション204が、メッセージ、ステータス更新、およびネットワーク・アプリケーション204を介してなされる各支払に関する他の情報を効率的に識別および処理することを可能にするために通信する。たとえば、および上記で説明されたように、支払エンジン206は、取引IDを、支払メッセージを処理することに対応する情報を維持するグラフ・オブジェクトに関連付ける。
支払メッセージ310を送信することに応答して、またはネットワーク・アプリケーション204もしくは支払エンジン206からの信号に応答して、クライアント・アプリケーション202は、支払メッセージ内容を投稿する(322)。たとえば、ユーザ・インターフェース・マネージャ208は、送信されたメッセージとして送信者と受信者との間で交換されたメッセージを有するメッセージング・スレッドに対して、支払メッセージのテキストを追加する。
同様に、ネットワーク・アプリケーション204は、受信者クライアント・デバイス104bに対して支払メッセージ内容を送信する(326)ことができ、したがって、受信者クライアント・デバイス104bのクライアント・アプリケーション202は、支払メッセージ内容を投稿する(328)。たとえば、ユーザ・インターフェース・マネージャ208は、受信されたメッセージとして送信者と受信者との間で交換されたメッセージを有するメッセージング・スレッドに対して、支払メッセージのテキストを追加する。
受信者クライアント・デバイス104bに対して支払メッセージ内容を送信する(326)前、その後、またはその間、支払エンジン206は、支払メッセージによって提供される情報を使用して、受信者が、当日支払をサポートするファイル上に支払クレデンシャル(たとえば、デビット・カード口座)を有するか否かを決定する(324)。たとえば、支払エンジン206は、ネットワーク識別子(たとえば、ユーザ名または他のID)を使用して、ユーザ・プロファイル・データベース236内で受信者のためのユーザ・プロファイルを調べ、ユーザ・プロファイルが、それに関連付けられている支払クレデンシャルを有するか否かを決定する。受信者が支払クレデンシャルを有する場合、支払エンジン206は、受信者および/または支払クレデンシャルを検証する。代替的に、受信者が支払クレデンシャルを有さない場合、支払システムは、受信者が支払クレデンシャルを提供することを要求する。任意選択で、支払クレデンシャルを検証すると、支払エンジン206は、送信者のためのトークンに類似したトークンを受信者クライアント・デバイス104bに対して提供する(330)。
この時点で、または受信者がファイル上に支払クレデンシャルをすでに有するか否かに依存する前に、支払エンジン206は、検証ステップを実行して、受信者および/または支払クレデンシャルを検証する。たとえば、クライアント・アプリケーション202は、上記で送信者を検証することに関係して説明されたように、ネットワーク・アプリケーション204のための受信者のためのユーザ識別子を取得、識別、または別のやり方で発見する。受信者クライアント・デバイス104b上のクライアント・アプリケーション202は、支払メッセージ内容の受信に応答して、難読化されたユーザ識別子をネットワーク・アプリケーション204に対して送信する。ネットワーク・アプリケーション204は、次いで、難読化されたユーザ識別子が有効であることを確認する。受信者のコンピューティング・デバイス104b上のネットワーク・アプリケーション204のための適切な難読化されたユーザ識別子の存在は、受信者がネットワーク・アプリケーション204によってすでに認証されたことを示すので、このプロセスは、受信者の認証として働き得る。
ネットワーク・アプリケーション204が送信者または支払クレデンシャルを検証しない場合、ネットワーク・アプリケーション204は、受信者クライアント・デバイス104bに対して通信を送信し、支払が許可されないおそれがあることを示すエラー・メッセージを受信者に対して提示することをクライアント・アプリケーション202に行わせる。1つまたは複数の実施形態では、エラー・メッセージは、受信者が追加の許可情報を提供する、条件に同意する、または別のやり方で身元を確認するプロンプトを含む。
支払エンジン206は、受信者の支払クレデンシャルに対して資金を移動するための支払またはルーティング方法を選択する(332)。1つまたは複数の実施形態では、支払エンジン206は、受信者にとって利用可能な支払クレデンシャルに基づいて、どの支払方法を使用するべきかを決定する。たとえば、支払エンジン206は、当日処理をサポートする支払クレデンシャルを選択する。加えて、または代替的に、支払エンジン206は、送信者からの支払メッセージのフォーマット化に基づいて、支払方法を選択する。他の実施形態では、支払エンジン206は、送信者および/もしくは受信者に関連付けられているリスク、支払エンジン206に対するコスト、送信者/受信者に対するコスト、支払方法の信頼性、ならびに/または金銭がどのくらい早く受信者の口座内に現れるかに基づいて、どの支払方法を使用するべきかを決定する。
1つまたは複数の実施形態によれば、支払方法の各々は、完全に処理するのに具体的な時間の量を要する。たとえば、支払エンジン206は、送信者の口座から受信者の口座へ金銭を実質的に即時に移動する即時の支払方法(たとえば、高速プッシュツーデビット取引)を処理する。別の支払方法は、送信者の口座から資金を受信する前に、本明細書でより詳細に説明されるように、準備資金を有する一時口座を使用して受信者の口座に対する実質的に即時に行われる移動を含む。加えて、または代替的に、支払方法は、2日または3日も要することがある、未照会払戻を使用する支払を含む。他の支払方法は、支払エンジン206または支払ネットワーク115によって決定されるより広範囲の処理時間(たとえば、2日〜7日)を含み得る、EFT支払またはACH支払を含む。
加えて、各支払方法は、具体的な処理コストを有し得る。具体的には、より速い処理時間を有する支払方法は、より遅い処理時間を有する支払方法よりも、支払エンジン206および/または支払ネットワーク115にとってコストがかかることがある。たとえば、実質的に即時に行われる支払方法は、未照会払戻またはEFT/ACH支払方法(たとえば、1セント)よりも、処理するのにより高い額(たとえば、20セント)かかることがある。代替的に、各異なる支払方法は、異なる関連付けられているコストを有する。たとえば、即時の支払方法は第1の額のコストであり、一時口座を使用する即時の支払方法は第2の額のコストであり、未照会払戻支払方法は第3の額のコストであり、EFT/ACH支払方法は第4の額のコストである。1つまたは複数の実施形態では、支払エンジンは、ユーザが低リスクを有するまたは信頼されることを決定する。そのような実施形態では、支払エンジンは、即時のプッシュツーデビット支払(OCT/Moneysend)のように見えるように支払を処理してよいが、ACHを実際に実行するが、送信者から金銭を受信する前に受信者に対して金銭をプッシュしてもよい。そのような場合、ネットワーク・アプリケーションは、即時の取引に関連付けられている手数料を保持する。
1つまたは複数の実装形態では、支払エンジン206は、支払取引のコストの一部またはすべてをユーザに対して渡す。たとえば、支払エンジン206は、送信者および/または受信者に関連付けられているリスク/信頼レベルに基づいて、送信者および/または受信者に支払を請求するべきか否かを決定する。例示するために、送信者が、以前に支払エンジン206を用いて一定の数の取引を実行するのに成功していた場合、支払エンジン206は、支払取引に関して送信者に割引を行うまたは請求しないことを選ぶ。これは、支払エンジン206が、支払エンジン206を使用して支払を送信および受信するように送信者に報酬を与えるおよび/またはさらにインセンティブを与えることを可能にする。
言及されたように、支払エンジン206は、さまざまな基準に基づいて、支払方法を選択する。たとえば、支払エンジン206は、送信者および/または受信者に関連付けられているリスクまたは信頼レベルを最初に決定することによって支払方法を選択する。例示するために、支払エンジン206が、送信者および/もしくは受信者が低リスクであることを決定した場合、または送信者および/もしくは受信者が、以前に支払エンジン206
を介して支払取引を実行するのに成功した場合、支払エンジン206は、準備資金を有する一時口座を使用して受信者に支払う支払方法を選択する。したがって、支払エンジン206は、支払エンジン115を介して即時の支払取引を実行するコストを節約する。代替的に、支払エンジン206が、送信者および/または受信者が高リスクであるまたは信頼されないことを決定した場合、支払エンジン206は、支払ネットワーク115を介して即時の支払方法を選択する。
1つまたは複数の代替実施形態では、支払エンジン206は、ユーザのリスクまたは信頼レベルが一定の閾値を下回ることを決定したことに応答して、より遅いがよりコストがかからない支払方法を使用することを選ぶ。たとえば、支払エンジン206が、ユーザのリスクまたは信頼レベルが第1の閾値を下回ることを決定した場合、支払エンジン206は、未照会払戻を使用して支払を処理する。各支払方法が別個の関連付けられているコストを有する実装形態では、支払エンジン206が、ユーザのリスクまたは信頼レベルが、第1の閾値よりも低い第2の閾値を下回ることを決定した場合、支払エンジン206は、EFT/ACHを介して支払を処理する。送信者/受信者のリスクまたは信頼レベルに基づいて支払方法のタイプを選択することによって、支払エンジン206は、支払取引を処理するための金融リスクを最小にする。
いくつかの実施形態では、支払エンジン206は、送信者が支払方法のタイプを選択することを可能にし得る。特に、支払エンジン206は、送信者にとって利用可能な支払方法のリストを提示して、送信者が、標準プッシュツーデビット取引または高速プッシュツーデビット取引を選択することを可能にする。ユーザによる支払方法の選択を検出すると、支払エンジン206は、選択された支払方法のための請求を発行し、それに応じて支払口座を処理する。送信者に対して異なるオプションを提供することによって、送信者は、実質的に即時に行われる支払方法を使用して支払取引を処理するのにより多くを支払うこと、またはより遅い支払方法(たとえば、未照会払戻、EFT/ACH)を使用してより少なく支払うもしくは何も支払わないことを選ぶ。たとえば、ユーザは、完了するのに数分以下を要する第1のより大きな取引額(たとえば、20セント)のために即時の支払(OCT/Moneysend)を、完了するのに2日〜3日を要する第2の取引額(たとえば、20セントよりも少ないが第3の取引額よりも多い)のために未照会払戻を、または第3の、より少ない額(たとえば、1セント)のコストであるが完了するのに最大7日を要するACH/EFT支払を送信することを選択する。
1つまたは複数の実施形態では、システムは、送信者の口座からの資金供給要求を別個に処理し、受信者の口座内に支払を入金する。1つまたは複数の実施形態では、たとえば、送信者の口座は、第1の支払ネットワーク上でアクセス可能であり得るが、受信者の口座は、第2の支払ネットワーク上で利用可能である。そのような状況では、支払を処理するために、支払エンジン206は、支払を処理するための中間段階の役割を担う。
支払エンジン206は、支払額が送信者の支払クレデンシャルに対して請求され(336)、支払エンジン206に対して送信されることを要求する支払請求要求を支払ネットワーク115に対して送信する(334)。1つまたは複数の実施形態では、支払エンジン206は、支払請求要求および支払メッセージを受信者クライアント・デバイスに対して並行して送信する。たとえば、支払エンジン206は、支払ネットワークに対して支払請求要求を送信しながら、受信者クライアント・デバイス104bに対して支払メッセージも送信する。
1つまたは複数の追加の実施形態では、支払エンジン206は、選択された支払方法のタイプにより支払請求要求をフォーマットする。たとえば、支払エンジン206は、送信者クライアント・デバイス104aからの支払メッセージのフォーマット化に基づいて、
支払方法が当日プッシュツーデビット取引であることを決定することができ、それに応じて送信者の支払クレデンシャルから受信者の支払クレデンシャルへ資金を移動することを(たとえば、追加のフォーマット化を適用することによって、またはフォーマットされた支払メッセージからの情報を支払ネットワークに対して送信することによって)支払ネットワークに行わせるために支払請求要求をフォーマットする。例示するために、フォーマットされた支払請求要求は、(たとえば、実質的に即時の処理および資金の移動のための)支払請求要求に関連付けられている支払方法のタイプを示すメタデータを含む。
支払請求要求に応答して、支払ネットワーク115は、送信者の口座から支払エンジン206へ金銭を電子的に移動することによって、送信者の口座から支払を資金供給する(338)。電子移動を受信すると、支払エンジン206は、一時口座に対して支払を適用する(340)。たとえば、支払エンジン206は、支払エンジン206が受信者の支払クレデンシャルに対して資金を移動するために使用する中間口座に対して支払を適用する。1つまたは複数の実施形態では、支払エンジン206は、支払を適用する新しい口座を作成する。代替的に、支払エンジン206は、各支払に関連付けられている一意の取引IDによって編成および識別されるさまざまな他の支払を含む支払を、マスタ一時口座に対して適用する。
支払エンジン206は、受信者の支払クレデンシャルへ支払を入金することができる。特に、および図3Cに例示されるように、支払エンジン206は、(送信者の支払クレデンシャルから支払を受信する前またはその後に)最初に、特定の支払に関連付けられている取引IDに関係して支払額を一時口座にデビット請求し(341)、次いで、支払ネットワーク115または別の支払ネットワークを介して受信者の支払クレデンシャルに対して支払を電子的に移動する。特に、支払エンジン206は、命令を用いて一時口座から支払ネットワーク115へ、同じ取引IDに関連付けられている、支払額を含むクレジット要求を送信し(342)、支払メッセージのフォーマット化に基づいて、実質的に即時のプッシュツーデビット支払取引において受信者の支払クレデンシャルに対して資金をプッシュする(344)ことができ、したがって、数分以内に資金が受信者にとって利用可能になる。
受信者の支払クレデンシャルに対して資金をプッシュした後、支払ネットワーク115は、受信者の口座へ支払を入金するのに成功すると、支払エンジン206に対して支払クレジット応答を送信する(346)。支払プロセスを完了するために、ネットワーク・アプリケーション204は、送信者クライアント・デバイス104bに対して支払完了ステータス更新を、および受信者クライアント・デバイスに対して支払請求(payment
claimed)ステータス更新を送信する。
1つまたは複数の追加の実施形態または代替実施形態では、支払エンジン206は、上記で説明されたようにシステム100が支払方法を選択したとき決定したように、(たとえば、送信者のクレジット・カードから受信者のデビット・カードへの取引において)送信者から受信者への資金の移動を高速化するために中間口座内の準備資金を使用して送信者の支払クレデンシャルから資金を受信する前に、受信者の支払クレデンシャルに対して金銭を移動する。代替実施形態では、支払エンジン206は、サーバ・デバイス108において一時口座に対して金銭を移動するのではなく、受信者の支払口座に対して直接的に金銭を移動することを送信者の支払口座に行わせる。
加えて、システム100は、期間にわたって決済を確認することをチェックすることを定期的に実行し得る。具体的には、システム100は、メッセージング・データベース内に記憶された支払メッセージを、各支払ネットワークのための処理された支払取引と比較して、その期間の間に処理されたすべての支払取引に関連付けられている合計支払額がす
べての支払メッセージ内の額と一致することを確認し得る。合計が一致しない場合、システム100は、差のタイプに基づいて、差を収益、損失、または他のカテゴリとカテゴリ化する。
以下でより詳細に説明されるように、図1〜図3Cに関して説明されるシステム100の構成要素は、他の構成要素とともに、および/またはこれと組み合わせて、1つまたは複数のグラフィカル・ユーザ・インターフェースを提供する。特に、構成要素は、ユーザが、さまざまな目的のために表示要素の集合と対話することを可能にする。特に、図4A〜図4Lおよび続く説明は、上記で説明された一般的原則によるユーザ・インターフェースおよび特徴のさまざまな例となる実施形態を例示する。
たとえば、図4A〜図4Lは、電子メッセージングならびに支払を送信および受信することを促進するためにクライアント・アプリケーション202によって提供されるGUIのさまざまな図を例示する。いくつかの例では、クライアント・デバイス(すなわち、クライアント・デバイス104a、104b)は、システム100の一部またはすべてを実施する。たとえば、図4Aは、クライアント・デバイス202の構成要素のうちの1つまたは複数を実施し得るクライアント・デバイス400を例示する。図4Aに例示されるように、クライアント・デバイス400は、携帯電話機(たとえば、スマートフォン)などのハンドヘルド・デバイスである。本明細書で使用されるとき、「ハンドヘルド・デバイス」という用語は、ユーザの片手の中で持たれる/操作されるようなサイズおよび構成にされたデバイスに及ぶ。しかしながら、追加例または代替例では、限定されるものではないが、タブレット・デバイス、ハンドヘルド・デバイス、より大型の無線デバイス、ラップトップ・コンピュータもしくはデスクトップ・コンピュータ、パーソナルデジタル・アシスタント・デバイス、および/または他の任意の適切なコンピューティング・デバイスなどの他の任意の適切なコンピューティング・デバイスが、本明細書で説明されるプロセスおよび/または動作のうちの1つまたは複数を実行する。
クライアント・デバイス400は、以下で図7のコンピューティング・デバイス700に関連して説明される特徴および構成要素のいずれかを含む。図4Aに例示されるように、クライアント・デバイス400は、ユーザ・インターフェースを表示または提供することができ、それによってユーザ入力が受信および/または検出され得るタッチスクリーン402を含む。本明細書で使用されるとき、「タッチスクリーン表示」は、タッチスクリーン・デバイスの表示に及ぶ。1つまたは複数の実施形態では、タッチスクリーン・デバイスは、ユーザがタッチ・ジェスチャーを実行し得る少なくとも1つの表面を有するクライアント・デバイス104a、104b(たとえば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、携帯電話)であり得る。加えて、または代替的に、クライアント・デバイス400は、タッチ・パッドまたは図7に関連して以下で説明されるデバイスなどの他の任意の適切な入力デバイスを含んでよい。
以前に触れられたように、システム100は、電子メッセージング・システムと電子支払システムを統合する。図4Aは、タッチスクリーン402上でユーザ・インターフェース・マネージャ208によって提供される人々または連絡先ユーザ・インターフェース404を例示する。連絡先ユーザ・インターフェース404は、クライアント・デバイス400のユーザ(「ドナルド」)の連絡先のリストを提供する。特に、連絡先ユーザ・インターフェース404は、システム100内でユーザが接続されるまたは関連付けられている「友達」または連絡先406を列挙する。
連絡先ユーザ・インターフェース404は、連絡先406の各々の1つまたは複数のステータスをさらに提供する。たとえば、連絡先ユーザ・インターフェース404は、第1のステータス・インジケータ408を介することによって、所与の連絡先または共同ユー
ザがアクティブか否か(たとえば、クライアント・アプリケーション202にログインしている、インターネットに接続されている、クライアント・アプリケーション202を使用してアクションを最近実行した)を示す。第1のステータス・インジケータ408は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備える。一実施形態では、第1のステータス・インジケータ408は、アクティブである各共同ユーザの名前の隣に第1の色(たとえば、緑色)のドットを備える。関係して、第1のステータス・インジケータ408は、非アクティブであるユーザの隣に第2の色(たとえば、灰色)のドットも含む。
連絡先ユーザ・インターフェース404は、デバイス・インジケータ410を介して、連絡先または共同ユーザが現在使用しているデバイスのタイプを示す。デバイス・インジケータ410は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備える。たとえば、示されるように、デバイス・インジケータ410は、共同ユーザがアクティブである、またはパーソナル・コンピュータを使用してクライアント・アプリケーション202にログインしていることを示す、「ウェブ」という単語を備える。同様に、デバイス・インジケータ410は、所与の連絡先がアクティブである、または携帯電話などのモバイル・デバイスを使用してクライアント・アプリケーション202にログインしていることを示すために、「モバイル」という単語を含む。加えて、または代替的に、デバイス・インジケータ410は、所与の共同ユーザのクライアント・デバイスのブランドまたはモデルを示す。
所与の共同ユーザのプライバシー設定に応じて、連絡先ユーザ・インターフェース404は、支払ステータス・インジケータ511をさらに含む。支払ステータス・インジケータ511は、所与の共同ユーザが登録されているまたはシステム100を使用して電子支払を受信もしくは送信することが可能であるか否かを示す。たとえば、所与の共同ユーザの名前の隣における支払ステータス・インジケータ511の存在は、所与の共同ユーザが、システム100またはネットワーク・アプリケーション204を用いて共同ユーザの口座またはプロファイルに関連付けられている支払クレデンシャルを有することを示す。支払ステータス・インジケータ511は、アイコンなどのグラフィカル・ユーザ・インターフェース・オブジェクトを備える。たとえば、図4Aによって示されるように、支払ステータス・インジケータ511は、支払取引に一般に関連付けられているドル記号または他のシンボルを備える。
クライアント・アプリケーション202は、ネットワーク・アプリケーション204のステータス・マネージャ232から、クライアント・デバイス400のユーザに関連付けられている連絡先のステータスの通知または標識を受信する。たとえば、クライアント・アプリケーション202は、クライアント・アプリケーション202がいつアクティブまたはオンラインであるかを示すために、ネットワーク・アプリケーション204に対して通知またステータス更新を送信する。次いで、ステータス・マネージャ232は、所与のユーザに関連付けられているクライアント・デバイス104aに対して、所与のユーザに関連付けられている連絡先のステータスを送信する。関係して、ステータス・マネージャ232は、所与のユーザが、所与のユーザのプロファイルに関連付けられている支払クレデンシャルを有するか否かを決定することができ、支払を送信および受信できることを有するユーザの連絡先のクライアント・デバイス400に対して標識を提供する。
本明細書における開示に鑑みて、電子メッセージング・システムと電子支払システムの統合は、従来の支払アプリケーションに勝る大きな利点を提供することが理解されよう。特に、ユーザは、連絡先ユーザ・インターフェース404にアクセスし、どの共同ユーザがアクティブであるか、したがって、支払取引についてチャットするため、または支払の受信を告知するためにすら利用可能であるかを決定する。そのうえ、連絡先ユーザ・イン
ターフェース404は任意選択で、ユーザが、どの共同ユーザが支払クレデンシャルを有するかを知ることを可能にする。したがって、連絡先ユーザ・インターフェース404が、共同ユーザが支払を「即座に」受信するか否か、またはユーザが共同ユーザを招待して登録する必要があるか否かをユーザに知らせる。
上記で説明されたように、システム100は、データを受信および送信することを促進する。1つまたは複数の実施形態では、通信マネージャ230は、コンピューティング・デバイス104a、104b、400の間で電子通信を受信および送信することを促進する。また、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、通信マネージャ230を介して送信および受信された電子通信を表示する。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、メッセージング・スレッド内で通信マネージャ230を介して送信および受信された電子通信をメッセージング・グラフィカル・ユーザ・インターフェース内に表示する。たとえば、ユーザは、連絡先とメッセージを交換することを促進するメッセージング・グラフィカル・ユーザ・インターフェースを開くために、連絡先ユーザ・インターフェース404の連絡先のリスト内の連絡先リストと対話する。たとえば、図4Bは、ユーザが連絡先ユーザ・インターフェース404から「ジョー」という連絡先を選択するとタッチスクリーン402上にユーザ・インターフェース・マネージャ208によって提供されるメッセージング・グラフィカル・ユーザ・インターフェース412を例示する。
示されるように、メッセージング・グラフィカル・ユーザ・インターフェース412は、クライアント・デバイス400のユーザの口座から送信された電子メッセージ416aを含むメッセージング・スレッド414を含む。同様に、メッセージング・スレッド414は、共同ユーザ(すなわち、「ジョー」)の口座によって受信された電子メッセージ416bを含む。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、より古いメッセージがメッセージング・スレッド414の上部において表示されるように、新しいメッセージがメッセージング・スレッド414の下部に対して追加されるように、メッセージング・スレッド414を編成する。代替実施形態では、ユーザ・インターフェース・マネージャ208は、メッセージ416a、416b間の時系列の関係または他の関係をユーザに対して示し得る任意の様式で、メッセージ416a、416bを編成し得る。
ユーザ・インターフェース・マネージャ208は、ユーザがメッセージング・スレッド414内で電子通信を区別する助けとなるために、さまざまな電子通信特性を提供する。たとえば、図4Bに例示されるように、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース412の片側(すなわち、右側)に向けられた、クライアント・デバイス400のユーザの口座から送信された電子メッセージ416aを表示する。一方、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース412の反対側(すなわち、左側)に向けられた、メッセージング・ハンドラ212によって受信された電子メッセージ416bを表示する。1つまたは複数の実施形態では、電子メッセージ416a、416bの位置決めおよび方向は、メッセージング・グラフィカル・ユーザ・インターフェース412内で表示されたさまざまな電子通信の起点のクライアント・デバイス400のユーザに対して明確なインジケータを提供する。
ユーザが電子通信を区別する助けとなるユーザ・インターフェース・マネージャ208によって提供された別の特性は、電子通信の色であり得る。たとえば、図4Bに示されるように、ユーザ・インターフェース・マネージャ208は、送信された電子メッセージ416aを第1の色で、受信された電子メッセージ416bを第2の色で表示する。1つまたは複数の実施形態では、第1の色および第2の色はそれぞれ、逆にされた字面色を有す
る、黒色および白色であってよい。一代替実施形態では、ユーザ・インターフェース・マネージャ208は、白色の背景および異なる色の輪郭を用いて電子メッセージ416a、416bを表示してよい。
さらに別の代替実施形態では、ユーザ・インターフェース・マネージャ208は、異なるパターンの背景を用いて電子メッセージ416a、416bを表示してもよいし、異なるフォントで表示してもよいし、異なるサイズで表示してもよいし、または送信された電子メッセージ416aと受信された電子メッセージ416bとを区別し得る他の任意の様式で表示してもよい。たとえば、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、青色の背景上の白色の字面を用いて、送信された電子メッセージ416aを表示する。同様に、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、灰色の背景上の黒色の字面を用いて、受信された電子メッセージ416bを表示する。
上記で言及されたように、ユーザ・インターフェース・マネージャ208は、メッセージ入力制御パレットまたはツールバー422も提供し得る。図4Bに例示されるように、ユーザ・インターフェース・マネージャ208は、メッセージ入力制御パレットまたはツールバー422をメッセージング・グラフィカル・ユーザ・インターフェース412の一部として表示する。1つまたは複数の実施形態では、メッセージ入力制御パレットまたはツール・バー422は、さまざまなメッセージ入力オプションまたは他のオプションをユーザに提供する、さまざまな選択可能なメッセージ入力制御を含む。たとえば、図4Bでは、メッセージ入力制御パレットまたはツールバー422は、テキスト入力制御部424aと、支払制御部424bと、カメラ・ビューファインダ入力制御部424cと、マルチメディア入力制御部424dと、シンボル入力制御部424eと、「いいね」インジケータ制御部424fとを含む。1つまたは複数の代替実施形態では、メッセージ入力制御パレットまたはツールバー422は、異なる順序で入力制御部424a〜424eを提供してもよいし、図4Bで表示されない他の入力制御部を提供してもよいし、図4Bに示される入力制御部424a〜424eのうちの1つまたは複数を省略してもよい。
以下でより詳細に説明されるように、ユーザは、異なるタイプの電子通信を構築および送信するために、入力制御部424a〜424eのいずれかと対話してよい。たとえば、ユーザがテキスト入力制御部424aと対話する場合、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース412の一部分の中に、ユーザがテキスト・メッセージ420を構築するために利用し得るタッチスクリーン表示キーボード518を提供し得る。同様に、ユーザがマルチメディア入力制御部424dと対話する場合、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース412の一部分の中に、(たとえば、デジタル写真、デジタル映像などを表示するための)マルチメディア・コンテンツ・アイテム表示エリアを提供し得る。同様に、ユーザがカメラ・ビューファインダ入力制御部424cと対話する場合、ユーザ・インターフェース・マネージャ208は、メッセージング・グラフィカル・ユーザ・インターフェース412の一部分の中に、ユーザがメッセージング・スレッド414に対してデジタル写真またはデジタル映像をキャプチャ、送信、および追加するために利用し得るデジタル・カメラ・インターフェースを提供し得る。
ユーザは、メッセージまたは支払を構築し、システム100を介して1つまたは複数の共同ユーザに対して送信するために、メッセージ入力制御部424a〜eのいずれかと対話し得る。たとえば、図4Bでは、支払制御部424bと対話するユーザの指が示されている。1つまたは複数の実施形態では、ユーザ入力ディテクタ210は、支払制御部424bとのユーザの指または他の入力デバイスの対話(たとえば、タップ・タッチ・ジェスチャー)を検出する。ユーザ入力ディテクタ210が支払制御部424b上でタップ・タ
ッチ・ジェスチャーを検出すると、ユーザ・インターフェース・マネージャ208は、図4Cによって示されるように、メッセージング・ユーザ・インターフェース412の一部分の中に支払ユーザ・インターフェース515を表示し得る。
特に、図4Cによって例示されるように、ユーザ・インターフェース・マネージャ208は、メッセージング・ユーザ・インターフェース412の第1の部分(すなわち、上方部分)の中にメッセージング・スレッド414を提供する。ユーザ・インターフェース・マネージャ208は、メッセージング・ユーザ・インターフェース412の第2の部分(すなわち、下方部分)の中に支払ユーザ・インターフェース515を提供する。したがって、ユーザ・インターフェース・マネージャ208は、ユーザがメッセージング・スレッド414および任意の新しいメッセージを閲覧することを可能にしながら、支払取引を開始することも可能にする。代替実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージング・スレッド414および支払ユーザ・インターフェース515を水平に、または垂直構成以外の別の構成で構成する。さらに他の実施形態では、支払ユーザ・インターフェース515は、メッセージング・ユーザ・インターフェース412または別個のユーザ・インターフェースの上にオーバーレイを備える。
本明細書における説明から明らかになるように、支払ユーザ・インターフェース515は、ユーザが支払取引を開始する(支払を送信する、支払を要求するなど)ことを可能にしながら、同時に支払取引に対する1つまたは複数の共同ユーザ・パーティとともにメッセージを閲覧する。たとえば、図4Cは、デバイス400のユーザ(「ドナルド」)(以下では送信者)が、「やあ、ジョー、この間の晩ごはんはいくらした?」というメッセージを送信したことを例示する。応答では、メッセージング・スレッド414内の会話に参加している共同ユーザ(「ジョー」)(以下では受信者)が、「チップも含めて約50ドルだった」と応答した。この会話すなわちメッセージング・セッションに応答して、送信者は、受信者に対して支払を送信することを望む。メッセージング・ユーザ・インターフェース412は、送信者がメッセージング・スレッド414またはメッセージング・ユーザ・インターフェース412から離れてナビゲートする必要なしに、そのようにすることを可能にする。
図4Cは、支払インターフェース515aの一代替実施形態を例示する。示されるように、支払インターフェース515aは、所望の数字を順番に入力することによって(すなわち、25ドルに到達するために数字キーパッド438の中で「2」次いで「5」をタップすることによって)ユーザが支払額432を選択することを可能にする数字キーパッド438を含む。支払インターフェースは、選択された数字を表示して、ユーザが、選択された数字が所望の支払額に対応することを確認し、それに応じて選択された数字を修正することを可能にする。本明細書における開示に鑑みて、図4Cの支払インターフェース515は支払インターフェースの一実装形態であることが理解されるであろう。1つまたは複数の実施形態では、ユーザは、複数の異なる支払インターフェースから支払インターフェース515を選択する。
1つまたは複数の実施形態では、送信者が支払要素437を選択したこと、または別のやり方で支払メッセージを送信させたことに応答して、クライアント・アプリケーション202は、ネットワーク・アプリケーション204に対して要求を送信して、送信者が、登録された支払クレデンシャルを有するか否かを決定する。送信者が、登録された支払口座に関連付けられない場合、ユーザ・インターフェース・マネージャ208は、図4Dに示されるように、送信者が支払クレデンシャルを登録することを可能にするクレデンシャル・ユーザ・インターフェース434を提示する。代替的に、またはこれに加えて、グラフィカル・インターフェースは、送信者が口座を作成することを必要とすることなく、ワンタイム支払を促進するためにユーザが支払情報を入力する(たとえば、デビット・カー
ド番号またはクレジット・カード番号を入力する)ことを可能にするワンタイム支払オプションを提示する。
クレデンシャル・ユーザ・インターフェース434は、送信者が入力することを選択した支払クレデンシャルのタイプに応じて変化することが理解されるであろう。またはより多くの実施形態では、ユーザ・インターフェース・マネージャ208は、受信者に対して資金を送信するために許容できる支払クレデンシャル(たとえば、クレジット・カード、デビット・カード、ギフト・カード、銀行口座)のリストを提供する。ユーザが支払クレデンシャルのタイプを選択すると、ユーザ・インターフェース・マネージャ208は、適用可能なクレデンシャル・ユーザ・インターフェース434を提供する。たとえば、図4Dは、デビット・カードを入力するためのクレデンシャル・ユーザ・インターフェース434を例示する。示されるように、ユーザは、数字キーパッド438を介して、デビット・カードに関連付けられているデビット・カード番号、有効期限、セキュリティ・コード、および請求書送付先郵便番号コードを入力する。支払情報を入力することを選択すると、メッセージング・ハンドラ212は、支払クレデンシャルを記憶するためにネットワーク・アプリケーション206に対して支払クレデンシャル情報を送信する。
送信者が支払クレデンシャル詳細を入力した後(自動リマインダによってであれ、受信者からの手動リマインダであれ、または送信者自身のチョイスによってであれ)、システム100は、支払取引を処理し続ける。1つまたは複数の実施形態では、クライアント・アプリケーション202は、将来の支払取引を処理するためにPINまたは他のショートカットを使用するオプションを送信者に対して提供する。たとえば、図4Eに示されるように、クライアント・アプリケーション202は、セキュリティを追加する目的で、送信者が金銭を送信するためにPINを作成したいか否か送信者に尋ねるポップアップ・ウィンドウ440または他の通知を、メッセージング・インターフェース412の中で送信者に対して提示する。
送信者が、将来の支払取引を処理するためにPINを入力することを選択した場合、クライアント・アプリケーション202は、図4Fに示されるように、PINを作成するためのPIN作成インターフェース442を提示する。具体的には、PIN作成インターフェースは、送信者が、送信者の記憶されたクレデンシャルに関連付けられている一意のPINを作成することを可能にする。たとえば、PINは、将来の支払取引を処理することが可能になる前に送信者が数字キーパッド438を介して入力する4桁の番号(または任意の長さの文字列)とする。いくつかの例では、システム100は、PINを作成し、記憶されたクレデンシャルとPINを関連付けるために、PINを再入力することによって、送信者がPINを確かめることを要求することもできる。
将来の支払取引のために、システム100は、送信者がPINを入力するPIN入力インターフェースを提示する。PINを入力することは、システム100が、PINに関連するユーザのために記憶されたクレデンシャルを使用して支払取引を処理することを可能にする。したがって、PINを入力することは、送信者が、送信者がシステム100を介して別のユーザに対して金銭を送信することを望むたびにクレデンシャルを思い出すことなく支払取引を開始および完了することを可能にする。
いくつかの実施形態によれば、システム100は、送信者が、支払要素437を押した後、支払取引を完了して受信者の支払クレデンシャルに対して資金を移動する前に、支払取引を取り消すことを可能にする。たとえば、図4Gは、ユーザがプッシュツーデビット支払取引を取り消すことを可能にする取消要素444を例示する。例示するために、送信者が取消要素444を選択した場合、システム100は、受信者の支払クレデンシャルに対して資金を移動するプロセスを停止する。システム100は、送信者の支払クレデンシ
ャルから資金を移動するプロセスを停止する、および/または資金を送信者の支払クレデンシャルにクレジット提供して返すプロセスを始めることもできる。
1つまたは複数の追加の実施形態では、システム100は、ユーザが所定の時間の量以内に支払取引を取り消すことを可能にする。具体的には、システム100は、支払取引が取り消すことができなくなる前に送信者が支払取引を取り消すことを可能にするように、所定の時間の量を設定し得る。例示するために、支払インターフェース515は、ユーザが支払を取り消すことができなくなる前の時間の量を示すために、取消要素444に関連付けられているグラフィカル・タイマーを含む。たとえば、グラフィカル・タイマーは、取消要素444のまわりに、支払を取り消すために残された時間の量を示すタイマー・バーを含む。代替的に、支払インターフェース515は、支払を取り消すために残された時間の量を示す別のタイプの通知を(たとえば、クライアント・デバイス400の通知バーの中、またはメッセージング・インターフェース412の別のエリア内に)提供する。
1つまたは複数の実施形態によれば、所定の時間の量は、支払取引を処理し、受信者の支払クレデンシャルに対して資金を移動し始めるために必要とされる時間の量に関連付けられ得る。たとえば、所定の時間の量は、(たとえば、15分の期間または他の所定の期間の間に)システムによって管理される中間口座から受信者の支払クレデンシャルへシステム100が金銭を移動する前の時間の量に関連付けられ得る。代替的に、所定の時間の量は、送信者の支払クレデンシャルに対して支払要求を送信する前、または受信者が支払額を受け入れるまでなど、支払取引の1つまたは複数の他のステップを始める前に、システム100が遅延する時間の量に関連付けられ得る。
いくつかの実施形態によれば、所定の時間の量が経過した後、システム100は、時間が経過したという通知をクライアント・デバイス400に対して提供し得る。たとえば、システム100は、メッセージング・スレッド414の中またはメッセージング・インターフェース412の中にメッセージを提供し得る。したがって、システム100は、支払は取り消すことができず、取り消しできないことをユーザに知らせ得る。
1つまたは複数の実施形態では、ユーザの支払クレデンシャルを検証している間、またはこれを検証した後、送信者クライアント・デバイス400は、受信者クライアント・デバイスに対して支払メッセージを送信する。システム100は、会話に関与する送信者と受信者の両方に対して、メッセージング・スレッド414の中で支払額432を提示する。たとえば、図4Hは、送信者と受信者との間のメッセージング・スレッド414の中で、支払メッセージのために支払額432を示す。例示するために、システム100は、メッセージング・スレッド414の会話の時間依存フローの中で、メッセージとして支払額432を提示する。
図4I〜図4Lは、受信者クライアント・デバイス400aのためのグラフィカル・ユーザ・インターフェースを例示する。図4Iは、送信者が受信者に対して支払額を送信する支払取引を開始した後の、受信者クライアント・デバイス400aにおけるメッセージング・インターフェース412aを例示する。1つまたは複数の実施形態では、システム100は、送信者が支払取引を開始したことを受信者に通知する。たとえば、ユーザ・インターフェース・マネージャ208は、送信者の身元に関連付けられているメッセージング・インターフェース412aのメッセージング・スレッド414aの中で支払額を、および支払額432aを有する支払メッセージの中にテキスト内容(たとえば、「メッセンジャーから送信された」)を、示す。例示するために、ユーザ・インターフェース・マネージャ208は、送信者と受信者との間で交換された他のメッセージとともに、支払額432aをメッセージング・スレッド414aに挿入する。加えて、または代替的に、ユーザ・インターフェース・マネージャ208は、別の様式で(たとえば、受信者クライアン
ト・デバイス400aの通知エリア内またはメッセージング・インターフェース412aのオーバーレイ内で通知を提供することによって)支払額432aを提示する。
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ208は、受信者が支払取引を受け入れることを可能にするために(すなわち、受入要素452などのメッセージング・インターフェース内の要素を選択することによって)受信者に対して確かめ要求を提供する。受信者が支払取引を受け入れた後、システム100は、支払取引を完了し、送信者から受信者へ資金を移動するプロセスを始める。一代替例では、支払メッセージは、システム100が支払取引を自動的に処理および完了する間、単に支払取引の注意を受信者に向ける。
1つまたは複数の実施形態では、受信者が支払を受け入れることを選択したとき、または受信者が支払メッセージを受信した後、クライアント・アプリケーション202は、プッシュツーデビット支払取引の当日処理をサポートする登録された支払クレデンシャルを受信者が有するか否かを決定するためにネットワーク・アプリケーション204に対して要求を送信する。受信者が、当日取引をサポートする登録された支払口座に関連付けられていない場合、ユーザ・インターフェース・マネージャ208は、図4Jに示されるように、受信者が口座を開設し、プッシュツーデビット支払取引のための支払クレデンシャル(たとえば、デビット・カード口座)を登録することを可能にするクレデンシャル・ユーザ・インターフェース434を提示する。代替的に、またはこれに加えて、グラフィカル・インターフェースは、送信者が口座を作成することを必要とすることなくワンタイムプッシュツーデビット支払を促進するために受信者が支払情報を入力することを可能にするワンタイム支払オプションを提示する。
受信者が支払クレデンシャルを入力した後、システム100は、支払取引を完了する。具体的には、システム100は、プッシュツーデビット取引において送信者から受信者へ資金を移動することによって、支払取引を完了する。いくつかの例では、送信者から受信者へ資金を移動することは、以前に図3A〜図3Cに関係して説明されたように、取引が対応する金融機関によって受け入れられるまで受信者に関連付けられている一時口座または中間口座に資金を移動することを含む。代替例では、支払取引を完了することは、受信者によって入力された宛先デビット・カード口座へ資金を直接的に移動することを含む。図4Kに示されるように、完了した後(または、受信者が支払取引を完了することを選択した後)、システム100は、支払取引が完了したこと、および受信者は一定の時間枠以内に支払を受信するべきであることを受信者に通知する支払完了メッセージ458を表示する。たとえば、支払完了メッセージ458は、実質的に即時のプッシュツーデビット取引により、受信者はすぐに支払を受信するべきであることを受信者に通知する。
追加の実施形態では、システム100は、受信者のための複数の支払クレデンシャルから支払クレデンシャルを選択する。特に、システム100は、受信者が以前に支払エンジン206に登録した複数の支払クレデンシャルを識別し、適切な支払クレデンシャルを選択する。たとえば、システム100は、当日資金移動をサポートしない第1の支払クレデンシャルと、当日資金移動をサポートする第2の支払クレデンシャルを識別し、送信者と受信者との間の当日プッシュツーデビット支払取引を処理するための第2の支払クレデンシャルを選択する。適切な支払クレデンシャルを選択した後、システムは、支払取引を完了し(すなわち、受信者の支払クレデンシャルに対して支払額をプッシュし)、受信者に支払完了メッセージ458を提供する。
1つまたは複数の実施形態では、支払完了メッセージ458を閉じた後または別のやり方で支払取引を完了した後、システム100は、送信者クライアント・デバイス400上のメッセージング・スレッド414および/または受信者クライアント・デバイス400
aのメッセージング・スレッド414aの中の支払額432(および支払メッセージの他の任意のテキスト)を更新して、システム100が支払取引を処理するのを完了したことを反映する。たとえば、ユーザ・インターフェース・マネージャ208は、メッセージング・スレッド414aの中の支払メッセージの一定の特性(この場合、支払額432のみを備える)を変更する。例示するために、図4Lでは、ユーザ・インターフェース・マネージャ208は、図4Iに示される薄いものから図4Lに示される濃いものへと、支払メッセージ内の支払額432aによって支払アイコン460の色または陰影を変更する。加えて、または代替的に、ユーザ・インターフェース・マネージャ208は、メッセージング・スレッド414aの中の支払メッセージの位置、支払メッセージの境界幅、支払メッセージの背景色、支払メッセージのサイズおよびフォント、またはこの目的に適した支払メッセージの他の任意の特性を変更する。
一例では、ユーザ・インターフェース・マネージャ208は、支払額が確定されたとき、たとえば、支払額をメッセージング・インターフェース412の中で「跳ね返らせる」ことによって、支払額をアニメーションにする。支払額をアニメーションにするとき、ユーザ・インターフェース・マネージャ208は、支払額の中の文字および/または画像を個々に、またはまとめてアニメーションにする。
加えて、または代替的に、ユーザ・インターフェース・マネージャ208は、支払取引に関連付けられている1つまたは複数の動作が完了されるまで、外観を修正する(たとえば、支払額をアニメーションにする)。たとえば、ユーザ・インターフェース・マネージャ208は、受信者が支払額を受け入れる、送信者および/もしくは受信者がクレデンシャルを入力する、またはシステム100が支払取引を完了し、送信者から受信者へ資金を移動するまで、支払額をアニメーションにする。追加実施形態または代替実施形態では、ユーザ・インターフェース・マネージャ208は、支払額が最終的なものになると、時間の量にわたって支払額の外観に対して修正を適用する。加えて、または代替的に、ユーザ・インターフェース・マネージャ208は、支払取引がいつ完了されたか、資金がいつ送信者にとって利用可能になるか、または支払取引が失敗した場合などの他の基準に基づいて、支払額の外観に対して修正を適用する。
図1〜図4L、対応するテキスト、および例は、統合された電子支払およびメッセージング・システムを使用した支払の送受信を行うための多くの異なるシステムおよびデバイスを提供する。前述のものに加えて、実施形態は、特定の結果を達成するための方法における動作およびステップを含むフローチャートの観点からも説明され得る。例えば、図5および図6は、1つまたは複数の実施形態に係る例示的な方法のフローチャートを例示する。
図5は、当日支払取引を促進する方法500のフローチャートを例示する。方法500は、第1のクライアント・デバイスから支払メッセージを受信する行為502を含む。たとえば、行為502は、ユーザに関連付けられている第1のクライアント・デバイス104a、400から、共同ユーザに対して宛てられたユーザからの支払メッセージを受信することであって、この支払メッセージは、ユーザと共同ユーザとの間の支払取引に関連付けられている支払額を含む、受信することを伴う。行為502は、加えて、共同ユーザ間の通信を処理する第1のサーバにおいて支払メッセージを受信することと、共同ユーザ間の支払取引を処理する第2のサーバにおいて支払メッセージを受信することとを伴う。また、行為502は、ユーザと共同ユーザとの間のメッセージング・スレッドに関連付けられている電子メッセージ内で支払メッセージを受信することを伴うことができ、この電子メッセージは、メッセージング・スレッドのためのスレッド識別子を備える。
行為502の一部として、または追加の行為として、方法500は、共同ユーザに対し
て資金を移動するためのユーザの支払クレデンシャルを示す、ユーザから共同ユーザに対して宛てられた支払開始メッセージを受信することを含む。方法500は、ユーザの支払クレデンシャルを求める許可要求を支払ネットワーク115に対して送信することと、ユーザの支払クレデンシャルについての肯定的な許可応答を支払ネットワーク115から受信することとを含む。方法500は、ユーザのユーザ・メッセージング口座に関連してユーザに対するリスク・チェックを行うことも含む。たとえば、リスク・チェックを行うことは、ユーザのユーザ・メッセージング口座に関連付けられている実在度スコアを決定することを伴う。加えて、または代替的に、方法500は、共同ユーザのユーザ・メッセージング口座に関連して共同ユーザに対するリスク・チェックを行うことを含む。
方法500は、第2のクライアント・デバイス104b、400aに対して支払メッセージを送信する行為504も含む。たとえば、行為504は、支払メッセージを共同ユーザに関連付けられている第2のクライアント・デバイス104b、400aに対して送信することを伴う。例示するために、行為504は、サーバ・デバイス108上のネットワーク・アプリケーション204を介して第2のクライアント・デバイス104b、400aに対して支払メッセージを送信することを伴う。
行為504の一部として、または追加の行為として、方法500は、ユーザと共同ユーザとの間のメッセージング・スレッド414に関連付けられている電子メッセージを備えるメッセージング・データベースに対して支払メッセージを書き込むことを含む。たとえば、方法500は、第2のクライアント・デバイス104b、400aに対して支払メッセージを同時に送信するに際し、メッセージング・データベースに対して支払メッセージを書き込むことを含む。
加えて、方法500は、請求要求を送信する行為506を含む。たとえば、行為506は、支払メッセージの支払額についてユーザの支払クレデンシャルに対する請求要求を支払ネットワーク115に対して送信することを伴う。例示するために、行為506は、請求要求の実質的に即時の処理のためにフォーマットされたプッシュツーデビット要求を送信することを伴う。たとえば、行為506は、特定の支払ネットワークのためのアプリケーション・プログラム・インターフェースによりフォーマットされたプッシュツーデビット要求を送信することを伴う。
行為506の一部として、または追加の行為として、方法500は、ユーザに関連付けられている複数の支払クレデンシャルを識別することであって、この複数の支払クレデンシャルは、当日処理をサポートする第1の支払クレデンシャルと、当日処理をサポートしない第2の支払クレデンシャルとを備える、識別することを含む。加えて、方法500は、ユーザから共同ユーザへの支払額について第1の支払クレデンシャルを選択することと、第1の支払口座から共同ユーザの支払クレデンシャルへ資金を移動することであって、共同ユーザの支払クレデンシャルは当日処理をサポートする、移動することとを含む。
行為506の一部として、または追加の行為として、方法500は、ユーザに関連付けられているリスク、共同ユーザに関連付けられているリスク、支払エンジンに対するコスト、ユーザに対するコスト、共同ユーザに対するコスト、支払方法の信頼性、または資金が共同ユーザの支払クレデンシャルに対して移動する前の時間の量に基づいて、使用する支払方法を決定することを含む。
方法500は、プッシュツーデビット要求を送信する行為508も含む。たとえば、行為508は、支払メッセージに応答して、支払メッセージの支払額の資金を共同ユーザのデビット・カードにクレジット提供するためにプッシュツーデビット要求を支払ネットワークに対して送信することであって、このプッシュツーデビット要求は当日処理のために
フォーマットされる、送信することを伴う。例示するために、行為508は、共同ユーザのデビット・カードに関連付けられている具体的な支払ネットワークのためのアプリケーション・プログラム・インターフェースを使用してプッシュツーデビット要求を送信することであって、このプッシュツーデビット要求は、アプリケーション・プログラム・インターフェースにより当日処理のためにフォーマットされる、送信することを伴う。
行為508の一部として、または追加の行為として、方法500は、ユーザの支払クレデンシャルからの支払額の引き出しを許可することと、支払額の引き出しを許可したことに応答して、中間口座から共同ユーザの支払クレデンシャルへ支払額の資金を移動することと、ユーザの支払クレデンシャルから中間口座への支払額に等しい資金の移動を受信することとを含む。たとえば、方法500は、ユーザのクレジット・カードからの支払額の資金の移動を受信することと、共同ユーザのデビット・カードに対して支払額の資金を移動することとを伴う。
行為508の一部として、または追加の行為として、方法500は、ユーザの支払クレデンシャルからの支払額の引き出しを許可することと、支払額の引き出しを許可した後、支払額の資金を移動する前に、支払取引に関連してユーザから支払取消要求を受信することと、ユーザと共同ユーザとの間の支払取引を取り消すこととを含む。
図6は、当日支払取引を開始する方法600における一連の行為のフローチャートを例示する。方法600は、支払額を支払うための選択を受信する行為602を含む。たとえば、行為602は、ユーザと共同ユーザとの間の支払取引において共同ユーザに支払額を支払うためのユーザによる選択を受信することを伴う。例示するために、行為602は、ユーザと共同ユーザとの間のメッセージング・スレッド414に関連付けられているメッセージング・アプリケーションの支払インターフェース438から支払額の選択を受信することを伴う。
方法600は、支払開始メッセージを送信する行為604も含む。たとえば、行為604は、受信された選択に応答して、共同ユーザに対して資金を移動するためのユーザの支払クレデンシャルを示す、ユーザから共同ユーザに対して宛てられた支払開始メッセージを送信することを伴う。例示するために、行為604は、ユーザの支払クレデンシャルを許可するために支払エンジン206に対して支払開始メッセージを送信することを伴う。加えて、行為604は、ユーザと共同ユーザとの間のメッセージング・スレッド414に関連付けられているスレッド識別子を備える支払メッセージを送信することを伴う。
方法600は、肯定的な支払開始応答を受信する行為606をさらに含む。たとえば、行為606は、ユーザの支払クレデンシャルの有効性を示す肯定的な支払開始応答を受信することを伴う。例示するために、行為606は、ユーザの支払クレデンシャルが有効であることを示し、プッシュツーデビット支払取引の当日処理をサポートする肯定的な支払開始応答を受信することを伴う。
加えて、方法600は、支払メッセージを送信する行為608を含む。たとえば、行為608は、肯定的な支払開始応答に応答して、支払取引の支払額の資金を共同ユーザのデビット・カードにクレジット提供するためにプッシュツーデビット要求を備える支払メッセージを送信することであって、このプッシュツーデビット要求は当日処理のためにフォーマットされる、送信することを伴う。例示するために、行為608は、当日処理をサポートするユーザの支払クレデンシャルに基づいて当日処理のためにプッシュツーデビット要求をフォーマット化することを伴う。
行為608の一部として、または追加の行為として、方法600は、メッセージング・
ユーザ・インターフェース412の中でユーザからの支払取消要求を検出することと、1つまたは複数のサーバに対して支払取消要求を送信することと、1つまたは複数のサーバから肯定的な支払取消応答を受信することとを含む。たとえば、方法600は、支払メッセージを送信した後、所定の期間以内に、ユーザからの支払取消要求を検出することを含む。
方法600は、メッセージング・スレッド414の中で支払メッセージを提供する行為610も含む。たとえば、行為610は、ユーザと共同ユーザとの間のメッセージング・スレッド内の支払メッセージを提供することであって、このメッセージング・スレッド414はメッセージング・アプリケーションのメッセージング・ユーザ・インターフェース内にある、提供することを伴う。例示するために、行為610は、メッセージング・スレッド414の会話の時間依存フローの中で、電子メッセージとして支払メッセージング・スレッド内の支払メッセージを提示することを伴う。
本開示の実施形態では、以下に詳述する通り、たとえば1つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の発明の範囲内の実施形態には、コンピュータ実行可能な命令および/またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。とりわけ、本明細書に記載のプロセスのうちの1つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、1つまたは複数のコンピューティング・デバイス(たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか)により実行可能な命令として、その少なくとも一部が実装されていてもよい。一般的には、プロセッサ(たとえば、マイクロプロセッサ)が非一時的コンピュータ可読媒体(たとえば、メモリ等)から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの1つまたは複数等、1つまた複数のプロセスを実行する。
コンピュータ可読媒体としては、汎用または専用コンピュータシステムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体(デバイス)である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体(デバイス)および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
非一時的コンピュータ可読記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD−ROM、固体ドライブ(「SSD」)(たとえば、RAMベース)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
「ネットワーク」は、コンピュータシステムおよび/またはモジュールおよび/または他の電子機器間で電子データを伝送可能な1つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせ)上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび/またはデータリン
クが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
さらに、コンピュータシステムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体(デバイス)へと自動的に転送可能である(その逆も可能である)。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール(たとえば、「NIC」)内のRAMにバッファリングした後、最終的には、コンピュータシステムRAMおよび/またはコンピュータシステムにおける低揮発性コンピュータ記憶媒体(デバイス)に転送可能である。したがって、非一時的コンピュータ可読記憶媒体(デバイス)は、伝送媒体も(または、主として)利用するコンピュータシステムの構成要素に含み得ることが了解されるものとする。
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の実施形態の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および/または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
当業者であれば、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、PDA,タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータシステム構成のネットワークコンピュータ環境において本開示が実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて(有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより)リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータシステムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本記載において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速に開設可能であるとともに、わずかな管理労力またはサービス・プロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデ
ルは、たとえばサービス型ソフトウェア(「SaaS」)、サービス型プラットフォーム(「PaaS」)、およびサービス型インフラ(「IaaS」)等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
図7は、上述のプロセスのうちの1つまたは複数を実行するように構成できる例示的なコンピューティング・デバイス700のブロック図を示している。データコンピューティング・デバイス700などの1つまたは複数のコンピューティング・デバイスが支払システム100を実装することが理解される。図7に示すように、コンピューティング・デバイス700は、通信インフラ712によって通信されるように結合されている、プロセッサ702、メモリ704、ストレージデバイス706、I/Oインターフェース708、および通信インターフェース710を備える。図10には、例示的なコンピューティング・デバイス700を示しているが、図7に示す構成要素は、何ら限定を意図したものではない。他の実施形態においては、付加的または代替的な構成要素を使用するようにしてもよい。さらに、特定の実施形態において、コンピューティング・デバイス700は、図7よりも少ない構成要素を備える。以下、図7に示すコンピューティング・デバイス700の構成要素について、さらに詳しく説明する。
1つまたは複数の実施形態において、プロセッサ702は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ702は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ704、またはストレージデバイス706から命令を取り出す(または、フェッチする)とともに、上記命令を復号化して実行するようにしてもよい。1つまたは複数の実施形態において、プロセッサ702は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ702は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーション・ルックアサイド・バッファ(TLB)を備えてもよい。命令キャッシュ中の命令は、メモリ704またはストレージ706中の命令のコピーであってもよい。
メモリ704は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ704は、ランダムアクセスメモリ(「RAM」)、リードオンリーメモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、相変化メモリ(「PCM」)、または他の種類のデータストレージ等、揮発性および不揮発性メモリのうちの1つまたは複数を備えていてもよい。また、メモリ704は、内部メモリであってもよいし、分散メモリであってもよい。
ストレージデバイス706は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス706は、上述の非一時的記憶媒体を備える。ストレージデバイス706としては、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組み合わせが挙げられる。ストレージデバイス706は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外し可能できない(すなわち、固定)媒体を備えていてもよい。ストレージデバイス706は、コンピューティング・デバイス700の内部であってもよいし、外部であってもよい。1つまたは複数の実施形態において、ストレージデバイス706は、不揮発性の固体メモリである。他の実施形態において、ストレージデバイス706は、リードオンリーメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPRO
M)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、フラッシュメモリ、またはこれらのうちの2つ以上の組み合わせであってもよい。
I/Oインターフェース708によって、ユーザが、入力を提供し、出力を受け取り、あるいはコンピューティング・デバイス700に対してデータを転送しデータを受け取ることを可能にする。これらのI/Oインターフェース708は、マウス、キーパッドもしくはキーボード、タッチスクリーン、カメラ、光学スキャナ、ネットワーク・インターフェース、モデル、その他既知のI/Oデバイス、またはこのようなI/Oデバイス/インターフェースの組み合わせを含む。I/Oインターフェース708は、出力をユーザに提示する1つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ(たとえば、表示画面)、1つまたは複数の出力ドライバ(たとえば、ディスプレイドライバ)、1つまたは複数の音声スピーカ、および1つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、I/Oインターフェース708は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る1つもしくは複数のグラフィカル・ユーザ・インターフェースおよび/またはその他任意のグラフィックコンテンツを代表するものであってもよい。
通信インターフェース710は、ハードウェア、ソフトウェア、または両者を含み得る。いかなる場合でも、通信インターフェース710は、コンピューティング・デバイスと1つもしくは複数の他のコンピューティング・デバイス700またはネットワークとの間の通信(たとえば、パケットベースの通信等)のための1つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース710としては、イーサネット(登録商標)等の有線ネットワークと連通するネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタまたはWi−Fi等の無線ネットワークと連通する無線NIC(WNIC)もしくは無線アダプタが挙げられる。
加えて、または、代替として、通信インターフェース710は、アドホック・ネットワーク、パーソナルエリアネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの1つもしくは複数の部分、またはこれらのうちの2つ以上の組み合わせと通信を行わせる。これらネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース710は、無線PAN(WPAN)(たとえば、Bluetooth(登録商標)WPAN等)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(たとえば、汎欧州デジタル移動電話通信(GSM(登録商標))ネットワーク等)、他の適当な無線ネットワーク、またはこれらの組み合わせと通信を行わせる。
加えて、通信インターフェース710は、通信さまざまな通信プロトコルを促進し得る。使用され得る通信プロトコルの例としては、限定されるものではないが、データ伝送媒体、通信デバイス、伝送制御プロトコル(「TCP」)、インターネット・プロトコル(「IP」)、ファイル転送プロトコル(「FTP」)、Telnet、Hypertext Transfer Protocol(「HTTP」)、Hypertext Transfer Protocol Secure(「HTTPS」)、セッション開始プロトコル(「SIP」)、Simple Object Access Protocol(「SOAP」)、拡張マークアップ言語(「XML」)およびその変種、簡易メール転送プロトコル(「SMTP」)、リアルタイム転送プロトコル(「RTP」)、ユーザ・データグラム・プロトコル(「UDP」)、Global System for Mobile Communications(「GSM」)技術、符号分割多元接続(「CDMA」)技術、時分割多元接続(「TDMA」)技術、ショート・メッセージ・サー
ビス(「SMS」)、マルチメディア・メッセージ・サービス(「MMS」)、無線周波数(「RF」)シグナリング技術、Long Term Evolution(「LTE」)技術、無線通信技術、帯域内シグナリング技術および帯域外シグナリング技術、ならびに他の適切な通信ネットワークおよび技術がある。
通信インフラ712は、コンピューティング・デバイス700の構成要素を互いに結合するハードウェア、ソフトウェア、または両者を備える。非限定的な一例として、通信インフラ712は、アクセラレイテッドグラフィックスポート(AGP)等のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、ロウピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス標準協会ローカル(VLB)バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
上述の通り、システム100は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによって、そのユーザ(人または組織など)が、システムに対しておよび互いに対話をすることが可能になる。上述のように、システム100は、ソーシャル・ネットワーキング・システムを備える。ソーシャル・ネットワーキング・システムによれば、そのユーザ(人または組織等)は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を行わせるサービス(たとえば、ウォール投稿、写真共有、オンライン・カレンダー、イベント統合、メッセージング、ゲーム、または広告)を提供するようにしてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザが、ユーザのプロファイル・ページ(典型的には、「ウォール投稿」もしくは「タイムライン投稿」として知られる)に対して、またはフォト・アルバム内に、写真および他のマルチメディア・コンテンツ・アイテムを投稿することを可能にし得、プロファイル・ページとフォト・アルバムの両方は、ユーザの構成されたプライバシー設定に応じて、ソーシャル・ネットワーキング・システムの他のユーザにとってアクセス可能である。
図8は、ソーシャル・ネットワーキング・システムの例となるネットワーク環境800を例示する。ネットワーク環境800は、ネットワーク804によって互いに接続された、クライアント・システム806と、ソーシャル・ネットワーキング・システム802と、サードパーティ・システム808とを含む。図8は、クライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804の特定の構成を例示しているが、この開示は、クライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804の任意の適切な構成を企図したものである。限定としてではなく、一例として、クライアント・システム806、ソーシャル・ネットワーキング・システム802、およびサードパーティ・システム808のうちの2つ以上が、ネットワーク804をバイパスして、直接的に互いに接続されてもよい。別の例として、クライアント・システム806、ソーシャル・ネットワーキング・システム802、およびサードパーティ・システム808のうちの2つ以上が、全体的にまたは部分的に互いと
物理的または論理的に共同設置されてもよい。さらに、図8は、特定の数のクライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804を例示しているが、この開示は、任意の適切な数のクライアント・システム806、ソーシャル・ネットワーキング・システム802、サードパーティ・システム808、およびネットワーク804を企図したものである。限定としてではなく、一例として、ネットワーク環境800は、複数のクライアント・システム806と、ソーシャル・ネットワーキング・システム802と、サードパーティ・システム808と、ネットワーク804とを含んでよい。
本開示は、任意の適切なネットワーク804を企図したものである。限定としてではなく、一例として、ネットワーク804の1つまたは複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つ以上の組み合わせを含んでよい。ネットワーク804は、1つまたは複数のネットワーク804を含み得る。
リンクは、クライアント・システム806、ソーシャル・ネットワーキング・システム802、およびサードパーティ・システム808を通信ネットワーク804に対して、または互いに対して接続し得る。本開示は、任意の適切なリンクを企図したものである。特定の実施形態では、1つまたは複数のリンクとしては、1つまたは複数のワイヤライン・リンク(たとえば、デジタル加入者線(DSL)またはData Over Cable
Service Interface Specification(DOCSIS)など)、無線リンク(たとえば、Wi−FiまたはWorldwide Interoperability for Microwave Access(WiMAX)など)、または光リンク(たとえば、同期型光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)がある。特定の実施形態では、1つまたは複数のリンクは各々、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク、または2つ以上のそのようなリンクの組み合わせを含む。リンクは、必ずしもネットワーク環境800全体を通じて同じである必要はない。1つまたは複数の第1のリンクは、1つまたは複数の点において、1つまたは複数の第2のリンクと異なってよい。
特定の実施形態では、クライアント・システム806は、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、または2つ以上のそのような構成要素の組み合わせを含み、クライアント・システム806によって実施またはサポートされる適切な機能を実行することが可能な電子デバイスであってよい。限定としてではなく、一例として、クライアント・システム806は、上記で図7に関係して論じられたコンピューティング・デバイスのいずれかを含んでよい。クライアント・システム806は、クライアント・システム806におけるネットワーク・ユーザがネットワーク804にアクセスすることを可能にし得る。クライアント・システム806は、そのユーザが他のクライアント・システム806における他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアント・システム806は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ932を含んでよく、1つまたは複数のアドオン、プラグイン、またはツールバーもしくはYAHOOツールバーなどの他の拡張機能を有してよい。クライアント・システム806におけるユーザは、ユニフォーム・リソース・
ロケータ(URL)またはウェブ・ブラウザを特定のサーバ(サーバ、またはサードパーティ・システム808に関連付けられているサーバなど)に対して宛てる他のアドレスを入力してよく、ウェブ・ブラウザは、ハイパーテキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに対して通信し得る。サーバは、HTTP要求を受け入れ、HTTP要求に応答して1つまたは複数のハイパーテキスト・マークアップ言語(HTML)ファイルをクライアント・システム806に対して通信し得る。クライアント・システム806は、ユーザに対する提示のために、サーバからのHTMLファイルに基づいてウェブページをレンダリングし得る。本開示は、任意の適切なウェブページ・ファイルを企図したものである。限定としてではなく、一例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングし得る。そのようなページはまた、たとえば、限定されるものではないが、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで記述されたスクリプトなどのスクリプト、AJAX(非同期JAVASCRIPTおよびXML)などのマークアップ言語とスクリプトの組み合わせなどを実行し得る。本明細書では、ウェブページに対する参照は、適切な場合、1つまたは複数の対応するウェブページ・ファイル(ブラウザがウェブページをレンダリングするために使用し得る)を包含し、逆も同様である。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、オンライン・ソーシャル・ネットワークをホストする、ネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム802は、たとえばユーザプロファイル・データ、概念プロファイル・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の適切なデータなどのソーシャルネットワーキング・データを生成、記憶、受信、および送信し得る。ソーシャル・ネットワーキング・システム802は、直接的に、またはネットワーク804を介して、のどちらかで、ネットワーク環境800の他の構成要素によってアクセスされ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のサーバを含み得る。各サーバは、単体サーバであってもよいし、複数のコンピュータまたは複数のデータセンタにまたがる分散サーバであってもよい。サーバは、たとえば限定されるものではないが、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書で説明される機能もしくはプロセスを実行するのに適した別のサーバ、またはそれらの任意の組み合わせなどの、さまざまなタイプであってよい。特定の実施形態では、各サーバは、ハードウェア、ソフトウェア、または埋め込まれた論理構成要素、またはサーバによって実施もしくはサポートされる適切な機能を実行するための2つ以上そのような構成要素の組み合わせを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストアを含み得る。データ・ストアは、さまざまなタイプの情報を記憶するために使用され得る。特定の実施形態では、データ・ストア内に記憶される情報は、具体的なデータ構造に従って編成され得る。特定の実施形態では、各データ・ストアは、リレーショナル・データベース、カラムナ・データベース、相関データベース、または他の適切なデータベースであってよい。本開示は特定のタイプのデータベースを説明または例示しているが、本開示は、任意の適切なタイプのデータベースを企図するものである。特定の実施形態は、クライアント・システム806、ソーシャル・ネットワーキング・システム802、またはサードパーティ・システム808がデータ・ストア内に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは
複数のデータ・ストア内に1つまたは複数のソーシャルグラフを記憶し得る。特定の実施形態では、ソーシャルグラフは、複数のユーザ・ノード(各々が特定のユーザに対応する)または複数の概念ノード(各々が特定の概念に対応する)を含み得る複数のノードと、ノードを接続する複数のエッジを含み得る。ソーシャル・ネットワーキング・システム802は、オンライン・ソーシャル・ネットワークのユーザに、他のユーザと通信および対話できることを提供し得る。特定の実施形態では、ユーザは、ソーシャル・ネットワーキング・システム802を介してオンライン・ソーシャル・ネットワークに加わり、次いで、ユーザが接続されたいソーシャル・ネットワーキング・システム802の何人かの他のユーザに対して接続(たとえば、関係)を追加し得る。本明細書では、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム802を介して接続、関連付け、または関係を形成した、ソーシャル・ネットワーキング・システム802の他の任意のユーザを指し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ソーシャル・ネットワーキング・システム802によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに対してアクションをとることをユーザに提供し得る。限定としてではなく、一例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム802のユーザが属し得るグループもしくはソーシャル・ネットワーク、ユーザが興味を抱き得るイベントもしくはカレンダー記載事項、ユーザが使用し得るコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売し得る取引、ユーザが実行し得る広告との対話、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャル・ネットワーキング・システム802内で、またはサードパーティ・システム808の外部システムによって表されることが可能なものと対話し得、サードパーティ・システム808は、ソーシャル・ネットワーキング・システム802とは別個であり、ネットワーク804を介してソーシャル・ネットワーキング・システム802に結合される。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、さまざまなエンティティをリンクすることが可能であり得る。限定としてではなく、一例として、ソーシャル・ネットワーキング・システム802は、ユーザが、互いと対話し、ならびにサードパーティ・システム808もしくは他のエンティティからコンテンツを受信する、またはユーザが、アプリケーション・プログラミング・インターフェース(API)もしくは他の通信チャネルを通して、これらのエンティティと対話できることを可能にし得る。
特定の実施形態では、サードパーティ・システム808は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、限定されるものではないがAPIを含む1つもしくは複数のインターフェース、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または、たとえばサーバが通信し得る他の任意の適切な構成要素であり得る。サードパーティ・システム808は、ソーシャル・ネットワーキング・システム802を運用するエンティティからの異なるエンティティによって運用され得る。しかしながら、特定の実施形態では、ソーシャル・ネットワーキング・システム802およびサードパーティ・システム808は、ソーシャル・ネットワーキング・システム802またはサードパーティ・システム808のユーザにソーシャルネットワーキング・サービスを提供するために互いに運用し得る。この意味で、ソーシャル・ネットワーキング・システム802は、サードパーティ・システム808などの他のシステムがインターネット全体にわたってソーシャルネットワーキング・サービスおよび機能をユーザに対して提供するために使用し得るプラットフォームすなわちバックボーンを提供し得る。
特定の実施形態では、サードパーティ・システム808は、サードパーティ・コンテン
ツ・オブジェクト・プロバイダを含み得る。サードパーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・システム806に対して通信され得るコンテンツ・オブジェクトの1つまたは複数のソースを含み得る。限定としてではなく、一例として、コンテンツ・オブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の適切な情報などの、ユーザの興味を引く物事またはアクティビティに関する情報を含み得る。限定としてではなく、別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、商品券、または他の適切な報償となるオブジェクトなどの、報償となるコンテンツ・オブジェクトを含み得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ソーシャル・ネットワーキング・システム802とのユーザの対話を向上させ得る、ユーザにより生成されたコンテンツ・オブジェクトも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム802に対して追加、アップロード、送信、または「投稿する」ものを含み得る。限定としてではなく、一例として、ユーザが、クライアント・システム806からソーシャル・ネットワーキング・システム802に対して投稿を通信する。投稿としては、ステータス更新もしくは他のテキスト・データ、ロケーション情報、フォト、映像、リンク、音楽、または他の類似のデータもしくはメディアなどのデータがあり得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を介して、サードパーティによってソーシャル・ネットワーキング・システム802に対して追加され得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、さまざまなサーバと、サブシステムと、プログラムと、モジュールと、ログと、データ・ストアとを含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類器、通知コントローラ、アクション・ログ、サードパーティコンテンツ・オブジェクト公開(exposure)ログ、推測モジュール、許可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインターフェース・モジュール、ユーザプロファイル・ストア、接続ストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含んでよい。ソーシャル・ネットワーキング・システム802は、ネットワーク・インターフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、他の適切な構成要素、またはそれらの任意の適切な組み合わせなどの、適切な構成要素も含んでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ユーザ・プロファイルを記憶するための1つまたは複数のユーザプロファイル・ストアを含んでよい。ユーザ・プロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、社会情報、または職歴、学歴、趣味もしくは好み、興味、親密度、もしくはロケーションなどの他のタイプの記述情報を含み得る。興味情報は、1つまたは複数のカテゴリに関係する興味を含み得る。カテゴリは、汎用的であってもよいし、具体的であってもよい。限定としてではなく、一例として、ユーザが、靴のブランドについての記事に対して「いいね」を表明する場合、そのカテゴリはブランドであってもよいし、「靴」または「衣類」という汎用的なカテゴリであってもよい。接続ストアは、ユーザについての接続情報を記憶するために使用され得る。接続情報は、類似もしくは共通の職歴、グループ会員資格、趣味、学歴を有する、または、いかなる形であれ関係する、もしくは共通属性を共有するユーザを示してよい。接続情報は、異なるユーザとコンテンツ(内部と外部の両方)との間の、ユーザにより定義された接続も含み得る。ウェブ・サーバは、ネットワーク804を介して1つもしくは複数のクライアント・システム806または1つもしくは複数のサードパーティ・システム808に対してソーシャル・ネットワーキング・システム802をリンクするために使用され得る。ウェブ・サーバは
、ソーシャル・ネットワーキング・システム802と1つまたは複数のクライアント・システム806との間でメッセージを受信およびルーティングするためのメール・サーバまたは他のメッセージング機能を含んでよい。API要求サーバは、サードパーティ・システム808が、1つまたは複数のAPIを呼び出すことによって、ソーシャル・ネットワーキング・システム802からの情報にアクセスすることを可能にし得る。アクション・ロガーは、ソーシャル・ネットワーキング・システム802上またはそれ以外の場所でのユーザのアクションについてウェブ・サーバから通信を受信するために使用され得る。アクション・ログとともに、サードパーティコンテンツ・オブジェクトに対するユーザ公開のサードパーティコンテンツオブジェクト・ログが維持され得る。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム806に対して提供し得る。情報は、通知としてクライアント・システム806に対してプッシュされてもよいし、情報は、クライアント・システム806から受信された要求に応答してクライアント・システム806からプルされてもよい。許可サーバは、ソーシャル・ネットワーキング・システム802のユーザの1つまたは複数のプライバシー設定を強制するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有可能であるかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、アクションをソーシャル・ネットワーキング・システム802によってログさせること、または他のシステム(たとえば、サードパーティ・システム808)とともに共有させることに加わる、または加わらない(opt in
to or opt out of)ことを可能にする。サードパーティコンテンツオブジェクト・ストアは、サードパーティ・システム808などのサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用され得る。ロケーション・ストアは、ユーザに関連付けられているクライアント・システム806から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、社会情報、現在の時間、ロケーション情報、または他の適切な情報を組み合わせて、通知の形で関係のある広告をユーザに対して提供し得る。
図9は、例となるソーシャルグラフ900を例示する。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストア内に1つまたは複数のソーシャルグラフ900を記憶し得る。特定の実施形態では、ソーシャルグラフ900は、複数のユーザ・ノード902または複数の概念ノード904を含み得る複数のノードと、ノードを接続する複数のエッジ906とを含み得る。図9に例示される例となるソーシャルグラフ900は、教説的な目的で、2次元の視覚的なマップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム802、クライアント・システム806、またはサードパーティ・システム808は、適切なアプリケーションのためのソーシャルグラフ900および関係するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ900のノードおよびエッジは、たとえば、データ・ストア(ソーシャルグラフ・データベースなど)内に、データ・オブジェクトとして記憶され得る。そのようなデータ・ストアは、ソーシャルグラフ900のノードまたはエッジの1つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
特定の実施形態では、ユーザ・ノード902は、ソーシャル・ネットワーキング・システム802のユーザに対応し得る。限定としてではなく、一例として、ユーザは、ソーシャル・ネットワーキング・システム802と、またはその上で対話または通信する、個人(人間ユーザ)、エンティティ(たとえば、企業、会社、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであってよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム802に口座を登録するとき、ソーシャル・ネットワーキング・システム802は、ユーザに対応するユーザ・ノード902を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード902を記憶し得る。本明細書で説明されるユーザおよびユーザ・ノード902は、適切
な場合には、登録されたユーザと、登録されたユーザに関連付けられているユーザ・ノード902を指し得る。加えて、または代替として、本明細書で説明されるユーザおよびユーザ・ノード902は、適切な場合には、ソーシャル・ネットワーキング・システム802に登録されていないユーザを指し得る。特定の実施形態では、ユーザ・ノード902は、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム802を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、ユーザは、自分の名前、プロファイル・ピクチャ、連絡先情報、誕生日、性別、配偶者の有無、家族構成、職業、学歴、好み、興味、または他の人口統計学的情報を提供し得る。ソーシャルグラフの各ユーザ・ノードは、対応するウェブページ(典型的には、プロファイル・ページとして知られる)を有し得る。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、ユーザ名に対応するユーザ・ノードにアクセスし、名前、プロファイル・ピクチャ、およびユーザに関連付けられている他の情報を含むプロファイル・ページを作り上げる。第1のユーザのプロファイル・ページは、第1のユーザによる1つまたは複数のプライバシー設定および第1のユーザと第2のユーザとの間の関係に基づいて、第1のユーザの情報のすべてまたは一部分を第2のユーザに対して表示し得る。
特定の実施形態では、概念ノード904は概念に対応し得る。限定としてではなく、一例として、概念は、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム802に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人物、会社、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム802の中もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置され得るリソース(たとえば、オーディオ・ファイル、映像ファイル、デジタル・フォト、テキスト・ファイル、構造化文書、もしくはアプリケーションなど)、物的財産もしくは知的財産(たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著書など)、ゲーム、アクティビティ、アイデア、もしくは理論、別の適切な概念、または2つ以上のそのような概念に対応し得る。概念ノード904は、ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム802を含むさまざまなシステムによって収集された情報に関連付けられ得る。限定としてではなく、一例として、概念の情報としては、名前もしくはタイトル、1つもしくは複数の画像(たとえば、本のカバー・ページの画像)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられ得る)、連絡先情報(たとえば、電話番号もしくは電子メール・アドレス)、他の適切な概念情報、またはそのような情報の任意の適切な組み合わせがあり得る。特定の実施形態では、概念ノード904は、概念ノード904に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられ得る。特定の実施形態では、概念ノード904は、1つまたは複数のウェブページに対応し得る。
特定の実施形態では、ソーシャルグラフ900内のノードは、ウェブページ(「プロファイル・ページ」と呼ばれることがある)を表してもよいし、これによって表されてもよい。プロファイル・ページは、ソーシャル・ネットワーキング・システム802によってホストされてもよいし、これに対してアクセス可能であってもよい。プロファイル・ページはまた、サードパーティ・サーバ808に関連付けられているサードパーティ・ウェブサイト上にホストされ得る。限定としてではなく、一例として、特定の外部のウェブページに対応するプロファイル・ページは特定の外部ウェブページであってよく、プロファイル・ページは特定の概念ノード904に対応し得る。プロファイル・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧することができてよい。限定としてではなく、一例として、ユーザ・ノード902は、対応するユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応するユーザプロファイル・ページ
を有し得る。限定としてではなく、別の例として、概念ノード904は、特に概念ノード904に対応する概念に関係して1つまたは複数のユーザがコンテンツを追加し、発表をし、または別のやり方で自分を表現し得る対応する概念プロファイル・ページを有し得る。
特定の実施形態では、概念ノード904は、サードパーティ・システム808によってホストされるサードパーティ・ウェブページまたはリソースを表し得る。サードパーティ・ウェブページまたはリソースは、要素の中でもとりわけ、アクションまたはアクティビティを表すコンテンツ、選択可能なアイコンもしくは他のアイコン、または他の対話可能なオブジェクト(たとえば、JavaScriptコード、AJAXコード、またはPHPコードで実装され得る)を含んでよい。限定としてではなく、一例として、サードパーティ・ウェブページは、「いいね」、「チェック・イン」、「食べる」、「推奨」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含み得る。サードパーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(たとえば、「食べる」)を選択し、クライアント・システム806に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム802に対して送信させることによって、アクションを実行し得る。メッセージに応答して、ソーシャル・ネットワーキング・システム802は、ユーザに対応するユーザ・ノード902とサードパーティ・ウェブページまたはリソースに対応する概念ノード904との間にエッジ(たとえば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ906を記憶し得る。
特定の実施形態では、ソーシャルグラフ900内のノードのペアは、1つまたは複数のエッジ906によって互いに接続され得る。ノードのペアを接続するエッジ906は、ノードのペアの間の関係を表し得る。特定の実施形態では、エッジ906は、ノードのペアの間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含み得るまたはこれを表し得る。限定としてではなく、一例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示し得る。この標識に応答して、ソーシャル・ネットワーキング・システム802は、第2のユーザに対して「友達要求」を送信し得る。第2のユーザが「友達要求」を確かめる場合、ソーシャル・ネットワーキング・システム802は、ソーシャルグラフ900内の第1のユーザのユーザ・ノード902を第2のユーザのユーザ・ノード902に対して接続するエッジ906を作成し、エッジ906をソーシャルグラフ情報としてデータ・ストアのうちの1つまたは複数に記憶し得る。図9の例では、ソーシャルグラフ900は、ユーザ「A」とユーザ「B」のユーザ・ノード902間の友達関係を示すエッジ906と、ユーザ「C」とユーザ「B」のユーザ・ノード902間の友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード902を接続する、特定の属性を有する特定のエッジ906を説明または例示しているが、本開示は、ユーザ・ノード902を接続する、任意の適切な属性を有する任意の適切なエッジ906を企図するものである。限定としてではなく、一例として、エッジ906は、友達関係、家族関係、ビジネスすなわち雇用関係、ファン関係、フォロワー関係、ビジター関係、購読者関係、上下関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表し得る。さらに、本開示は一般に、ノードを、接続されていると説明しているが、本開示は、ユーザまたは概念も、接続されていると説明する。本明細書では、接続されているユーザまたは概念への参照は、適切な場合には、ソーシャルグラフ900内で1つまたは複数のエッジ906によって接続されているそれらのユーザまたは概念に対応するノードに及ぶ。
特定の実施形態では、ユーザ・ノード90と概念ノード904との間のエッジ906は、概念ノード904に関連付けられている概念のためにユーザ・ノード902に関連付けられているユーザによって実行される特定のアクションまたはアクティビティを表し得る。限定としてではなく、一例として、図9に例示されるように、ユーザは、概念に対して
「いいね」を表明し、「通学した」、「プレイした」、「聞いた」、「料理した」、「働いた」、または概念を「見た」とする。その各々は、エッジ・タイプまたはサブタイプに対応し得る。概念ノード904に対応する概念プロファイル・ページは、たとえば、選択可能な「チェック・イン」アイコン(たとえば、クリック可能な「チェック・イン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含んでよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム802は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェック・イン」エッジを作成してよい。限定としてではなく、別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の歌(「ランブル・オン」)を聞くことがある。この場合、ソーシャル・ネットワーキング・システム802は、ユーザがその歌を聞き、そのアプリケーションを使用したことを示すため、にユーザに対応するユーザ・ノード902と歌およびアプリケーションに対応する概念ノード904との間に「聞いた」エッジ906および「使用した」エッジ(図9に例示される)を作成し得る。さらに、ソーシャル・ネットワーキング・システム802は、特定の歌が特定のアプリケーションによってプレイ(再生)されたことを示すために、歌およびアプリケーションに対応する概念ノード904間に「プレイした」エッジ906(図9に例示される)を作成し得る。この場合、「プレイした」エッジ906は、外部オーディオ・ファイル(歌「イマジン」)に対して外部アプリケーション(SPOTIFY)によって実行されるアクションに対応する。本開示は、ユーザ・ノード902および概念ノード904を接続する、特定の属性を有する特定のエッジ906を説明しているが、本開示は、ユーザ・ノード902および概念ノード904を接続する、任意の適切な属性を有する任意の適切なエッジ906を企図するものである。そのうえ、本開示は、単一の関係を表す、ユーザ・ノード902と概念ノード904との間のエッジを説明しているが、本開示は、1つまたは複数の関係を表す、ユーザ・ノード902と概念ノード904との間のエッジを企図する。限定としてではなく、一例として、エッジ906は、ユーザが特定の概念に対して「いいね」を表明したことと、特定の概念において使用したことの両方を表し得る。代替的に、別のエッジ906は、ユーザ・ノード902と概念ノード904との間の各タイプの関係(または単一の関係の倍数)を表し得る(図9では、ユーザ「E」のユーザ・ノード902と「SPOTIFY」の概念ノード904との間に例示される)。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ソーシャルグラフ900内のユーザ・ノード902と概念ノード904との間にエッジ906を作成し得る。限定としてではなく、一例として、(たとえば、ユーザのクライアント・システム806によってホストされるウェブ・ブラウザまたは特殊目的アプリケーションを使用することなどによって)概念プロファイル・ページを閲覧するユーザは、自分は概念ノード904によって表される概念に対して「いいね」を表明したことを、「いいね」アイコンをクリックまたは選択することによって示し得、それは、ユーザは概念プロファイル・ページに関連付けられている概念に対して「いいね」を表明したことを示すメッセージをソーシャル・ネットワーキング・システム802に対して送信することをユーザのクライアント・システム806に行わせ得る。メッセージに応答して、ソーシャル・ネットワーキング・システム802は、ユーザと概念ノード904との間の「いいね」エッジ906によって例示されるように、ユーザに関連付けられているユーザ・ノード902と概念ノード904との間にエッジ906を作成し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータ・ストアにエッジ906を記憶し得る。特定の実施形態では、エッジ906は、特定のユーザ・アクションに応答して、ソーシャル・ネットワーキング・システム802によって自動的に形成され得る。限定としてではなく、一例として、第1のユーザがピクチャをアップロードする、映画を見る、または歌を聞く場合、エッジ906は、第1のユーザに対応するユーザ・ノード902とそれらの概念に対応する概念ノード904との間に形成され得る。本開示は、特定の様
式で特定のエッジ906を形成することを説明しているが、本開示は、任意の適切な様式で任意の適切なエッジ906を形成することを企図するものである。
特定の実施形態では、広告は、テキスト(HTMLリンクであってよい)、1つもしくは複数の画像(HTMLリンクであってよい)、1つもしくは複数の映像、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組み合わせ、または1つもしくは複数のウェブページ上で、1つもしくは複数の電子メール内で、もしくはユーザによって要求された検索結果に関係して、提示される任意の適切なデジタル・フォーマットの他の任意の適切な広告であってよい。加えて、または代替として、広告は、1つまたは複数のスポンサー付きストーリー(たとえば、ソーシャル・ネットワーキング・システム802上のニュースフィードまたはティッカー・アイテム)である。スポンサー付きストーリーは、たとえば、ソーシャル・アクションを、ユーザのプロファイル・ページまたは他のページの所定のエリア内に提示させる、広告主に関連付けられている追加の情報とともに提示させる、他のユーザのニュースフィードもしくはティッカー内で衝突させるもしくは別のやり方で目立たせる、または別のやり方でプロモーションさせることによって広告主がプロモーションする、ユーザによるソーシャル・アクション(ページに対して「いいね」を表明する、ページ上の投稿に対して「いいね」を表明するもしくはコメントする、ページに関連付けられているイベントの出欠を返事する、ページ上で投稿された質問に関して投稿する、ある場所にチェック・インする、アプリケーションを使用するもしくはゲームをする、またはウェブサイトを「リンク」もしくは共有するなど)であってよい。広告主は、ソーシャル・アクションをプロモーションさせるために支払うことがある。限定としてではなく、一例として、広告は検索結果ページの検索結果の間に含まれてよく、そこでは、スポンサー付きコンテンツは、スポンサー付きでないコンテンツよりもプロモーションされる。
特定の実施形態では、広告は、ソーシャルネットワーキングシステム・ウェブページ、サードパーティ・ウェブページ、または他のページ内での表示のために要求され得る。広告は、ページの上部のバナー・エリア内、ページの側部のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上部の上、またはページに関する他の場所などの、ページの専用部分内に表示され得る。加えて、または代替として、広告はアプリケーション内に表示され得る。広告は、専用ページ内に表示され、ユーザに、ユーザがページにアクセスするまたはアプリケーションを利用する前に広告と対話するまたはこれを見ることを要求し得る。ユーザは、たとえば、ウェブ・ブラウザを通して広告を閲覧してよい。
ユーザは、任意の適切な様式で広告と対話してよい。ユーザは、広告をクリックしてもよいし、または別のやり方で広告を選択してもよい。広告を選択することによって、ユーザは、広告に関連付けられているページ(または、ユーザによって使用されているブラウザもしくは他のアプリケーション)に対して向けられ得る。広告に関連付けられているページでは、ユーザは、広告に関連付けられている製品もしくはサービスを購入する、広告に関連付けられている情報を受信する、または広告に関連付けられているニュースレターを購読するなどの、追加のアクションをとり得る。オーディオまたは映像を有する広告は、(「プレイ・ボタン」などの)広告の構成要素を選択することによってプレイされ得る。代替的に、広告を選択することによって、ソーシャル・ネットワーキング・システム802は、ユーザの特定のアクションを実行または修正し得る。
広告は、ユーザが対話し得るソーシャル・ネットワーキング・システム機能も含み得る。限定としてではなく、一例として、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するまたは別のやり方で広告を支持することを可能にし得る。限定としてではなく、別の例として、広告
は、ユーザが、広告主に関連するコンテンツを(たとえば、クエリを実行することによって)検索することを可能にし得る。同様に、ユーザは、別のユーザと(たとえば、ソーシャル・ネットワーキング・システム802を通して)広告を共有し得、または広告に関連付けられているイベントの出欠を(たとえば、ソーシャル・ネットワーキング・システム802を通して)返事し得る。加えて、または代替として、広告は、ユーザに対して向けられたソーシャルネットワーキングシステム・コンテキストを含み得る。限定としてではなく、一例として、広告は、広告の主題に関連付けられているアクションをとった、ソーシャル・ネットワーキング・システム802内のユーザの友達についての情報を表示し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、互いに対するさまざまなソーシャルグラフ・エンティティのソーシャルグラフ親密度(本明細書では、「親密度」と呼ばれることがある)を決定し得る。親密度は、ユーザ、概念、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなどの、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは興味のレベルを表し得る。親密度は、サードパーティ・システム808または他の適切なシステムに関連付けられているオブジェクトに対しても決定され得る。各ユーザ、主題、またはコンテンツのタイプのためのソーシャルグラフ・エンティティの全体的な親密度が確立され得る。全体的な親密度は、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続モニタリングに基づいて変化し得る。本開示は、特定の様式で特定の親密度を決定することを説明しているが、本開示は、任意の適切な様式で任意の適切な親密度を決定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、親密度係数(本明細書では、「係数」と呼ばれることがある)を使用してソーシャルグラフ親密度を測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表すまたは定量化し得る。係数は、アクションにおけるユーザの興味に基づいてユーザが特定のアクションを実行する予測確率を測定する確率または機能も表し得る。このようにして、ユーザの将来のアクションは、ユーザの前のアクションに基づいて予測され得、係数は、少なくとも部分的にユーザのアクションの履歴計算され得る。係数は、任意の数のアクションを予測するために使用され得、アクションは、オンライン・ソーシャル・ネットワーク内であってもよいし、オンライン・ソーシャル・ネットワークの外部であってもよい。限定としてではなく、一例として、これらのアクションは、メッセージを送信すること、コンテンツを投稿すること、もしくはコンテンツに対してコメントすることなどのさまざまなタイプの通信、プロファイル・ページ、メディア、もしくは他の適切なコンテンツにアクセスもしくは閲覧するなどのさまざまなタイプの観察アクション、同じグループ内にある、同じ写真でタグ付けされている、同じロケーションにチェック・インした、もしくは同じイベントに出席したなどの2つ以上のソーシャルグラフ・エンティティについてのさまざまなタイプの一致情報、または他の適切なアクションを含み得る。本開示は、特定の様式で親密度を測定することを説明しているが、本開示は、任意の適切な様式で親密度を測定することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、さまざまな因子を使用して係数を計算し得る。これらの因子としては、たとえば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせがあり得る。特定の実施形態では、異なる因子は、係数を計算するとき、異なるように重み付けされ得る。各因子の重みは静的であってもよいし、重みは、たとえば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどに応じて変化してもよい。因子のレーティングは、ユーザの全体的係数を決定するための重みに
応じて組み合わされ得る。限定としてではなく、一例として、特定のユーザ・アクションは、レーティングと重みの両方に対して割り当てられてよく、特定のユーザ・アクションに関連付けられている関係は、レーティングおよび相関重みが割り当てられる(たとえば、そのため、重みは合計100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに対して割り当てられたレーティングは、たとえば、全体的係数の60%を備えることがあり、ユーザとオブジェクトとの間の関係は全体的係数の40%を備えることがある。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに対して接続されたソーシャルグラフ・エンティティとの関係、ユーザ・アクションの短期もしくは長期の平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなどの、係数を計算するために使用されるさまざまな因子に対する重みを決定するとき、さまざまな変数を考慮し得る。限定としてではなく、一例として、係数は、係数を計算するとき、アクションが最近であればあるほど関連度が大きくなるように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含み得る。レーティングおよび重みは、係数が基づくアクションの継続追跡に基づいて連続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各因子および因子に対して割り当てられた重みに対するレーティングを割り当てる、組み合わせる、平均化するなどを行うために用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、履歴アクションおよび過去のユーザ応答、またはさまざまなオプションに対してさらし、応答を測定することによってユーザから得られた(farmed)データに関して訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定の様式で係数を計算することを説明しているが、本開示は、任意の適切な様式で係数を計算することを企図している。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ユーザのアクションに基づいて係数を計算し得る。ソーシャル・ネットワーキング・システム802は、オンライン・ソーシャル・ネットワーク上で、サードパーティ・システム808上で、他の適切なシステム上で、またはそれらの任意の組み合わせで、そのようなアクションを監視してよい。任意の適切なタイプのユーザ・アクションが追跡または監視されてよい。典型的なユーザ・アクションとしては、プロファイル・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、グループに加わること、イベントにおける出席をリストし確かめること、ロケーションにチェック・インすること、特定のページに対して「いいね」を表明すること、ページを作成すること、およびソーシャル・アクションを促進する他のタスクを実行することがある。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のタイプのコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム808、または別の適切なシステムに関連付けられ得る。コンテンツとしては、ユーザ、プロファイル・ページ、投稿、ニュース・ストーリー、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、映像、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせがある。ソーシャル・ネットワーキング・システム802は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が主題、コンテンツ、他のユーザなどに対して親密度を示すか否かを決定し得る。限定としてではなく、一例として、ユーザが、「コーヒー」またはその変種に関係したコンテンツの投稿を頻繁に行う場合、ソーシャル・ネットワーキング・システム802は、ユーザが「コーヒー」という概念に関して高い係数を有することを決定し得る。特定のアクションまたは特定のタイプのアクションは、計算された全体的係数に影響し得る、他のアクションよりも高い重みおよび/またはレーティングが割り当てられ得る。限定としてではなく、一例として、第1のユーザが第2のユーザに電子メールを出す場合、アクションに対する重みまたはレーティングは、第1のユ
ーザが第2のユーザのためのユーザプロファイル・ページを閲覧するだけの場合よりも高くなり得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のオブジェクト間の関係のタイプに基づいて係数を計算し得る。ソーシャルグラフ900を参照すると、ソーシャル・ネットワーキング・システム802は、係数を計算するとき、特定のユーザ・ノード902と概念ノード904を接続するエッジ906の数および/またはタイプを分析し得る。限定としてではなく、一例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザ・ノード902は、友達タイプのエッジによって接続されるユーザ・ノード902よりも高い係数が割り当てられ得る。言い換えれば、特定のユーザのためのアクションおよび関係に対して割り当てられた重みに応じて、全体的親密度は、ユーザの友達についてのコンテンツに対するよりもユーザの配偶者についてのコンテンツに対して高くなるように決定され得る。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトに関する係数を計算することに関するユーザのアクションの重みおよび/またはレーティングに影響し得る。限定としてではなく、一例として、コンテンツとタグ付けタイプの関係を有することは、コンテンツと「いいね」タイプの関係を有するよりも高い重みおよび/またはレーティングを割り当てられ得るので、ユーザが第1のフォトでタグ付けされるが、第2のフォトに対しては「いいね」を表明するにすぎない場合、ソーシャル・ネットワーキング・システム802は、ユーザが、第2のフォトよりも第1のフォトに関して高い係数を有することを決定し得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、1つまたは複数の第2のユーザが特定のオブジェクトと有する関係に基づいて、第1のユーザに関する係数を計算し得る。言い換えれば、他のユーザがオブジェクトと有する接続および係数は、第1のユーザのオブジェクトに関する係数に影響し得る。限定としてではなく、一例として、第1のユーザが、1つもしくは複数の第2のユーザに対して接続される、またはそれらに関して高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるまたはそれに関して高い係数を有する場合、ソーシャル・ネットワーキング・システム802は、第1のユーザも、特定のオブジェクトに関する比較的高い係数も有するべきであることを決定し得る。特定の実施形態では、係数は、特定のオブジェクト間の隔たり次数に基づいてよい。任意の2つのノード間の隔たり次数は、あるノードから他のノードへソーシャルグラフをたどるために必要とされるホップの最小数として定義される。2つのノード間の隔たり次数は、ソーシャルグラフ内の2つのノードによって表されるユーザまたは概念間の関係性の尺度と考えられ得る。たとえば、エッジによって直接的に接続される(すなわち、1次のノードである)ユーザ・ノードを有する2人のユーザは、「接続されたユーザ」すなわち「友達」と説明され得る。同様に、別のユーザ・ノードを通してのみ接続される(すなわち、2次のノードである)ユーザ・ノードを有する2人のユーザは、「友達の友達」と説明され得る。より低い係数は、第1のユーザが、ソーシャルグラフ900内で第1のユーザに対して間接的に接続されたユーザのコンテンツ・オブジェクトにおいて興味を共有する可能性の減少を表し得る。限定としてではなく、一例として、ソーシャルグラフ900内でより近い(すなわち、分離次数のより低い)ソーシャルグラフ・エンティティは、ソーシャルグラフ900内でさらに離れたエンティティよりも高い係数を有し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、ロケーション情報に基づいて係数を計算し得る。互いに対して地理的により近いオブジェクトは、より遠いオブジェクトよりも互いに対してより関係がある、またはより興味があると考えられ得る。特定の実施形態では、特定のオブジェクトのためのユーザの係数は、ユーザに関連付けられている現在のロケーション(またはユーザのクライアント・システム806のロケーション)に対するオブジェクトのロケーションの近接性に基づき得る。第1のユーザは、第1のユーザに対してより近い他のユーザまたは概念に、より興味があり得る。限
定としてではなく、一例として、ユーザが空港から1.609km(1マイル)、ガソリン・スタンドから3.219km(2マイル)のところにいる場合、ソーシャル・ネットワーキング・システム802は、ユーザに対する空港の近接性に基づいて、ユーザがガソリン・スタンドよりも空港に関して高い係数を有することを決定し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、係数情報に基づいて、ユーザに関する特定のアクションを実行し得る。係数は、ユーザのアクションへの興味に基づいて、ユーザが特定のアクションを実行するか否かを予測するために使用され得る。係数は、広告、検索結果、ニュース・ストーリー、メディア、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトをユーザに対して生成または提示するとき、使用され得る。係数はまた、必要に応じて、そのようなオブジェクトをランキングし、順序付けるために利用され得る。このようにして、ソーシャル・ネットワーキング・システム802は、ユーザの興味および現在の環境に関連のある情報を提供し、興味のあるそのような情報を見つける可能性を増加させ得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、係数情報に基づいてコンテンツを生成し得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択され得る。限定としてではなく、一例として、ユーザが、ユーザがメディア・オブジェクトに関して高い全体的係数を有するメディアが提示される場合、係数は、ユーザのためのメディアを生成するために使用され得る。限定としてではなく、別の例として、ユーザが、ユーザが広告付きオブジェクトに関して高い全体的係数を有する広告が提示される場合、係数は、ユーザのための広告を生成するために使用され得る。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、係数情報に基づいて検索結果を生成し得る。特定のユーザのための検索結果は、クエリを発行したユーザに対する検索結果に関連付けられている係数に基づいてスコア付けまたはランキングされ得る。限定としてではなく、一例として、より高い係数を有するオブジェクトに対応する検索結果は、検索結果ページ上で、より低い係数を有するオブジェクトに対応する結果よりも高くランキングされ得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のシステムまたはプロセスからの係数の要求に応答して係数を計算し得る。ユーザが所与の状況でとり得る(または、その対象であり得る)可能性があるアクションを予測するために、任意のプロセスは、ユーザに関する計算された係数を要求し得る。要求は、係数を計算するために使用されるさまざまな因子に使用する重みのセットも含み得る。この要求は、オンライン・ソーシャル・ネットワーク上で実行されているプロセスから来ることもあるし、サードパーティ・システム808から(たとえば、APIまたは他の通信チャネルを介して)来ることもあるし、別の適切なシステムから来ることもある。要求に応答して、ソーシャル・ネットワーキング・システム802は、係数を計算し得る(または、係数情報が以前に計算され、記憶されている場合、その係数情報にアクセスし得る)。特定の実施形態では、ソーシャル・ネットワーキング・システム802は、特定のプロセスに関して親密度を測定し得る。さまざまなプロセス(オンライン・ソーシャル・ネットワークに対して内部と外部の両方にある)は、特定のオブジェクトまたはオブジェクトのセットに関する係数を要求し得る。ソーシャル・ネットワーキング・システム802は、親密度の尺度を要求した特定のプロセスに対して関連のある親密度の尺度を提供し得る。このようにして、各プロセスは、プロセスが親密度の尺度を使用する異なるコンテキストに合わせられた親密度の尺度を受信する。
ソーシャルグラフ親密度および親密度係数に関して、特定の実施形態は、その各々が本願明細書に援用される、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/976027号、2010年12月23日に出願された米国特許出願第12/978265号、および20
12年10月01日に出願された米国特許出願第13/632869号に開示されている1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用し得る。
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの1つまたは複数がプライバシー設定に関連付けられ得る。オブジェクトのためのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス内に、別の適切な様式で、または、それらの任意の組み合わせなどの任意の適切な様式で記憶されてよい。オブジェクトのプライバシー設定は、オブジェクト(またはオブジェクトに関連付けられている特定の情報)が、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス(たとえば、閲覧または共有)され得るかを規定し得る。オブジェクトのためのプライバシー設定は、特定のユーザがそのオブジェクトにアクセスすることを可能にし、オブジェクトは、そのユーザに対して「閲覧可能」と説明され得る。限定としてではなく、一例として、オンライン・ソーシャル・ネットワークのユーザは、ユーザプロファイル・ページのためのプライバシー設定が、ユーザプロファイル・ページ上の職歴情報にアクセスし得るユーザのセットを識別し、したがって、他のユーザを情報にアクセスさせないことを規定し得る。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられている一定の情報にアクセスすることが可能にされるべきではないユーザの「遮断リスト」を規定し得る。言い換えれば、遮断リストは、オブジェクトが見えない1つまたは複数のユーザまたはエンティティを規定し得る。限定としてではなく、一例として、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスし得ないユーザのセットを規定し、したがって、それらのユーザをフォト・アルバムにアクセスさせ得ない(がまた、おそらく、ユーザのセットに含まれない一定のユーザはフォト・アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなどのソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられている情報、またはソーシャルグラフ要素に関連付けられているコンテンツ・オブジェクトがどのようにしてオンライン・ソーシャル・ネットワークを使用してアクセス可能であるかを規定し得る。限定としてではなく、一例として、特定のフォトに対応する特定の概念ノード904は、そのフォトは、フォトでタグ付けされたユーザおよびユーザの友達によってのみアクセスされ得ることを規定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、アクションをソーシャル・ネットワーキング・システム802によってログさせること、または他のシステム(たとえば、サードパーティ・システム808)と共有させることに加わる、または加わらないことを可能にする。特定の実施形態では、オブジェクトに関連付けられているプライバシー設定は、任意の適切な粒度の許容されたアクセスまたはアクセスの否定を規定し得る。限定としてではなく、一例として、アクセスまたはアクセスの否定は、特定のユーザ(たとえば、自分のみ、ルームメイト、および上司)、特定の次数以内の隔たりに含まれるユーザ(たとえば、友達、または友達の友達)、ユーザ・グループ(たとえば、ゲーム・クラブ、家族)、ユーザ・ネットワーク(たとえば、特定の雇用者の従業員、学生、または特定の大学の卒業生)、すべてのユーザ(「パブリック」)、ユーザなし(「プライベート」)、サードパーティ・システム808のユーザ、特定のアプリケーション(たとえば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザもしくはエンティティ、またはそれらの任意の組み合わせに対して規定され得る。本開示は、特定の様式で特定のプライバシー設定を使用することを説明しているが、本開示は、任意の適切な様式で任意の適切なプライバシー設定を使用することを企図している。
特定の実施形態では、1つまたは複数のサーバは、プライバシー設定を強制するための許可/プライバシー・サーバであってよい。データ・ストア内に記憶された特定のオブジ
ェクトに関するユーザ(または他のエンティティ)からの要求に応答して、ソーシャル・ネットワーキング・システム802は、オブジェクトのためのデータ・ストアに対して要求を送信し得る。要求は、要求に関連付けられているユーザを識別し得、許可サーバが、オブジェクトに関連付けられているプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることを許可されていることを決定した場合、ユーザ(またはユーザのクライアント・システム806)のみに対して送信され得る。要求元ユーザが、オブジェクトにアクセスすることが許可されていない場合、許可サーバは、要求されたオブジェクトがデータ・ストアから取り出されるのを防止し得る、または、要求されたオブジェクトがユーザに対して送信されるのを防止し得る。検索クエリ・コンテキストでは、クエリ元ユーザが、オブジェクトにアクセスすることが許可されている場合、そのオブジェクトは、検索結果としてのみ生成され得る。言い換えれば、オブジェクトは、クエリ元ユーザに見える可視性を有さなければならない。オブジェクトが、ユーザに見えない可視性を有する場合、オブジェクトは検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を強制することを説明しているが、本開示は、任意の適切な様式でプライバシー設定を強制することを企図したものである。
上記明細は、特定の例示的な実施形態を参照して記載されている。種々実施形態および本開示の様相は、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
追加または代替の実施形態は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本開示の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。