実施形態の説明
本発明の実施形態の以下の説明は、本発明をこれらの実施形態に限定する意図はなく、むしろ、当業者が本発明を作成し使用できるようにすることを意図する。
ユーザ口座へのアクセスをセキュアに許可するシステム及び方法は、金融情報を報告するプロセスをセキュア化し自動化する技術主導型解決策として機能する。セキュアに許可するシステム及び方法は、好ましくは、ユーザ口座集計データのセキュア分配を更に含む。好ましい一変形では、ユーザ集計データの一例には、コンピュータ及びデータ演算と互換性がある金融記録のデータ表現を含む。したがって、好ましい実施形態の方法は、金融記録へのアクセス管理に更に適用し得る。
システム及び方法は、特定の使用事例では、借り手経験を効率化し、デジタル資産を通して効率を高めるために適用することができる。システム及び方法は、残高、取引履歴、口座保有者識別情報、金融フィットネス分析、及び/又は他の金融又は資産関連リポート又はデータを示す総合資産又は金融リポートの検索を促進するのに使用することができる。
システム及び方法は、外部第三者エンティティ(例えば、銀行のデジタル又は電子システム、貸し手、及び規制機関等)による金融リポートのアクセスの調停役をするためにホストデジタルシステム内で使用することができる。
一般に、システム及び方法の相互作用に関わる3つの主な役割がある:管理システムの役割、金融データソースの役割、及び第三者システムの役割。
管理システムの役割は、好ましくは、データ管理又は転送プラットフォームをとして機能することができる、金融記録へのアクセスを管理するシステムの役割である。管理システムは、好ましくは、システム及び方法の主要名オペレータ及びエグゼキュータである。しかし、本明細書で考察されるように、システムの代替の実施形態は金融データソース及び/又は第三者システムにより実行される動作を特徴とし得る。例えば、金融記録へのアクセスを管理する方法は代替的には、第三者により実行されるプロセスを特徴とし得る。
金融データソースの役割又はより一般的には外部データソースの役割は、好ましくは、金融データ、資産データ、及び/又は任意の適したデータ又は情報の発端又は取得元であるシステムの役割である。幾つかの場合、金融データソースとして機能する複数のシステム又はエンティティがあり得る。幾つかの実施態様では、管理システムは更に金融データソースであり得る。
第三者システムの役割は、好ましくは、金融リポート情報又はデータを要求するシステムの役割である。第三者システムは、潜在的な貸付についてユーザを適格性判断しようとする貸し手のコンピュータシステムであることができる。第三者システムはまた、初期貸し手からの貸付の取得を評価している二次貸し手であることもできる。第三者システムは、1人又は複数の個人、貸し手、銀行、又は他のエンティティの金融活動の監査を実行する規制機関であることができる。第三者システムは代替的には、金融リポートへのアクセスを要求する任意の適したタイプのエンティティであることができる。本明細書に記載されるように、システム及び方法の異なるインスタンスは1つ、2つ、又は3つ以上の第三者システムを含み得る。
幾つかの変形では、システム及び方法は、金融データプラットフォーム実装に関連して実施し得る。金融データプラットフォームは一般に、金融データへのツール又はアクセスを提供するネットワーク又はウェブアクセス可能なソフトウェアプラットフォームとして特徴付けられる。金融データプラットフォームは、好ましくは、他のエンティティがプログラム的に対話できるようにするアプリケーションプログラミングインターフェースを提供するプラットフォームである。金融データプラットフォーム実装は、金融データの主要ソースではないことがあり、代わりに、金融データプラットフォームは外部金融機関とインターフェースし、金融データプラットフォーム外を発端とする金融データにアクセスし得る。幾つかの変形では、システム及び方法は、外部金融機関とインターフェースし、外部金融機関からのデータにアクセスするように構成されたプロキシサービスを含み得る。
代替の変形では、システム及び方法は、銀行のデジタルプラットフォーム、支払いサービス、クレジットカートシステム、投資システム、及び/又は任意のタイプの金融機関等の金融機関システムに関連して実施し得る。金融機関は一般に、金融機関システムの動作を通して生じた少なくともいくらかの量の金融データを含むことになる。例えば、銀行のデジタルプラットフォームは、口座保有者の金融記録を含むことになる。幾つかの変形では、金融機関システムは、上述した金融データプラットフォームのように外部金融機関システムに更にアクセスすることができる。
システム及び方法は、好ましくは、複数のユーザ及びエンティティが共有計算リソース及び基盤によりサービングされるマルチテナントビル計算システム内で実施される。幾つかの変形では、複数の別個のエンティティの代理とした集合的動作を使用して、個々のエンティティに対して実行された動作を変更及び/又は影響し得る。例えば、多種多様なユーザの複数の貸しエンティティによる金融リポート要求の監視は分析することができ、予期された挙動及び疑いのある挙動について監視され、次に、金融記録要求の自動的な規制(例えば、許可、制限、又は阻止)に使用することができる。
システム及び方法の一態様として、プライベートデータ、より具体的には金融リポートの転送は、暗号により促進することができる。好ましくは、暗号鍵又はトークンの使用は、生成され、第三者に分配され、金融記録へのアクセスを許可する際、検証される。トークンは更に、監査機関又は第2の第三者にアクセスを付与し得るよう第2のトークンを生成し、共有することができるように種々のエンティティに関連して生成し、共有し得る。
関連する態様として、システム及び方法は、人の金融の時点スナップショットとして機能する金融リポートの収集及び共有を促進する。金融リポートは、好ましくは、金融リポートを生成したときに有効であったものとして金融データを特徴付ける。これは、監査人が、貸付判断のベースとなった情報の状態をレビューしたい貸付承認等の多くの状況で重要であり得る。
金融リポートの共有は多種多様な媒体を通して促進することができる。一変形では、金融リポートは、リポートドキュメント(例えば、PDF、イメージ等)、生データ(例えば、JSON、CSV等)、及び/又は任意の適したフォーマットとして共有される。別の変形では、金融リポートは、ユーザ管理アクセスポータルとして機能するユーザインターフェース内で共有することができる。例えば、金融リポートを閲覧、探索することができるユーザインターフェースを提供することができる。更に、ユーザインターフェースを通してアクセスを提供するに当たり、金融リポートへのアクセスは、付与された後、何らかの方法で期限切れ、無効化、及び/又は変更することができる。
管理システムは更に、エンドユーザへの可視性及びエンドユーザへの金融リポートアクセスの制御を露出し得る。従来、ユーザは、従来の金融リポートが供給されると、金融リポートを制御する方法を持たなかったが、本システム及び本方法は、誰が金融リポートにアクセスするかをユーザが見られ、潜在的に、金融リポートに誰がいつアクセスすることができるかに影響を及ぼせるようにすることができる。
別の潜在的な態様として、システム及び方法は金融リポートの作成を含み得る。好ましい一実施態様では、システム及び方法は、金融データへのアクセス及び外部金融機関の1つ又は複数のシステムからの金融リポートの生成を促進する。潜在的な一利点として、異なる金融機関にアクセスする方法は更に、ユーザに対して正規化することができ、それにより、好ましくは、ユーザ経験の強化を生み出す。別の潜在的な利点として、システム及び方法は、多種多様な異なる情報ソースにわたり金融データを正規化した。幾つかの変形では、システム及び方法は、適切な口座及び/又はデータの選択を自動化することができる。
システム及び方法は更に、金融データフィルタリング、分析、及び/又は標準金融データへの他の適した強化の形態を実行することができる新しい形態の金融報告を提供し得る。多種多様なデータソースからの金融データの正規化は、システム及び方法が2つ以上のソースにわたりより高レベルの金融分析の形態を実行できるようにすることができる。
システム及び方法は、金融データのようなプライベートデータのアクセス及び分配を含み得る多種多様な使用事例で使用し得る。述べたように、特に貸付承認の分野はそのようなシステム及び方法から潜在的に恩恵を受け得る。例示的な一実施態様では、システム及び方法は、貸し手が資産リポートを容易に取得することができるようにデータ管理プラットフォームに統合し得る。貸し手は、データ管理プラットフォームをデジタル貸付アプリケーションシステムに統合することができる。デジタル貸付アプリケーションシステムは、データ管理プラットフォームのプログラムインターフェース(例えばAPIサービス)を使用して、ユーザのクライアントデバイスが1つ又は複数の外部ユーザ口座システムを用いて認証できるようにすることができる。データ管理プラットフォームは、好ましくは、1つ又は複数の銀行又は他のタイプの金融機関を用いて認証し、口座固有の金融データを収集する。次に、プライベート金融データは資産リポートの標準フォーマットに正規化することができる。資産リポートは、クリーニングされ正規化された取引データ等の種々の金融口座詳細を詳述することができる。資産リポートは、カテゴリ、場所、商人名、及びユーザ情報等の追加の補足的メタデータを含むことができる。
エンドユーザへの潜在的な一利点として、システム及び方法を通して提供される種々の口座との認証プロセスは、種々の金融ドキュメントを手動で収集しアップロードするのと比較した場合、より単純、より高速、且つより安全なプロセスであることができる。更に、データ管理プラットフォームは、不必要な構造及び口座情報を除外する等により、所望の情報のみが露出され共有されるように金融リポートをサニタイジングすることができる。更に、資産リポートは高信頼金融機関から直接アクセスされ、高信頼金融機関は、ユーザの識別情報の検証及び金融記録の認証の検証に役立つように機能することができる。
第三者と共有される暗号トークンは、好ましくは、データ管理プラットフォームからの資産リポートにアクセスするに当たり第三者により使用される。第2の貸し手が貸付を引き継ぐ場合等の幾つかの場合、第2の貸し手は資産リポートをレビューしたい。他の場合、規制機関は監査又は貸付のレビューを実行したいことがある。そのような場合、システム及び方法は第2の暗号トークン(例えば「監査トークン」)の作成を促進することができる。通常、元の第三者は、第2のトークンに第2の第三者の識別子を関連付ける要求を送信する。それと引き換えに、データ管理プラットフォームは、第2のトークンを作成して元の第三者と共有し、そして元の第三者は第2のトークンを第2の第三者と共有することができる。次に、第2の第三者のシステムは、資産リポートへのアクセスを要求するに当たり、第2のトークンを使用することができる。資産リポートは特定の時点の記録履歴として記憶される。資産リポートの情報は、リポートにいつ誰がアクセスするかに関係なく一貫する。しかし、幾つかの変形では、情報は、誰が資産リポートにアクセスしているか及び設定されたアクセス許可に基づいてデータ管理システムにより変更又は編集し得る。
別の態様として、資産リポートにわたるいくらかのレベルの可視性を、及び幾つかの場合、資産リポートにわたる制御をユーザに提供し得る。データ管理プラットフォームは、ユーザが、いつ誰が金融リポートにアクセスし、及び/又はアクセスを要求するかを閲覧することができるような管理ユーザインターフェースをユーザに提供することができる。更に、ユーザは、金融リポートにアクセスする許可を変更する1つ又は複数のルール又は指示を設定することができる。一変形では、二次トークンは付与及び/又は検証されて、ユーザが、金融リポートが誰と共有されるかをユーザが制御できるようにするよう機能する承認を提出した後でのみ、アクセスを可能にする。
システム及び方法の幾つかの変形は、第一者ソフトウェアアプリケーションの仮想化又はシミュレートされたインスタンスのインスタンス化を介してユーザ口座データセキュア且つ効率的で取得するシステム及び技法に関し得る。例えば、システムは、プロキシの生成、公開又は非公開(例えばプロプライエタリ)アプリケーションプログラミングインターフェース(API)を介して外部システムとインターフェースするように構成されたソフトウェアアプリケーションの仮想化又はシミュレートされたインスタンスの生成を含み得る。ソフトウェアアプリケーションの仮想化又はシミュレートされたインスタンスは、あたかも仮想化/シミュレートされたインスタンスが実際に、ユーザ計算デバイスで実行中の第一者ソフトウェアアプリケーションであるかのように、外部システムを用いて認証し得る。公開/非公開APIを介して、データを正規化し、システムの正規化APIを介して他のソフトウェアシステムに提供し得るようにユーザ口座情報を取得、処理し得る。したがって、本開示のシステムは、従来の技法よりもユーザ口座データを取得し、それにより、外部システムから金融データを取得するに当たりはるかに効率的であり得る。更に、ユーザ口座データは、正規化され、正規化APIを介して要求及び/又は提供し得、高効率的に他の人が1つの標準化されたインターフェースからそのようなデータ(元々は複数の外部システムから取得された)に効率的にアクセスできるようにする。このようにして、正規化されたより一貫した金融リポートを種々の金融機関からのユーザ口座から生成することができる。
幾つかの変形は、口座機密情報(例えば口座の識別情報)を第三者システムに開示せずに、第三者システムに、口座に関連する取引の開始をユーザがセキュアに認可できるようにするシステム(例えば許可管理システム)及び技法に関することもできる。そのような取引は、例えば、電子支払い等の開始を含み得る。更に、本開示のシステム及び技法は、ユーザが、口座に関連する取引の開始から第三者システムをセキュアに認可解除できるようにし得る。本開示は、幾つかの実施形態では、口座情報をセキュアに記憶した電子記録の自動生成を含む。幾つかの実施態様では、電子記録は、口座及び第三者に関連する1つ又は複数の許可を含み得る。トークン(例えば、本明細書では「一意の記録識別子」とも呼ばれる、電子記録に関連付けられた一意の識別子)は、第三者システムと共有し得るが、幾つかの実施態様では、電子記録自体もユーザ口座機密情報も第三者と共有されないことがある。したがって、第三者(例えば、マーチャントシステム又は開発者により開発されたソフトウェアアプリケーション)は、トークンを提供することによりユーザ口座データを要求し、及び/又は取引を開始し得るが、それ自体、例えば口座番号等は知らない。更に、幾つかの実施態様では、ユーザは、トークン/電子記録に関連する種々の許可を設定し得、トークン/電子記録に関連付けられた許可を取り消す(第三者を認可解除する)こともでき、したがって、ユーザの口座にキュリティ増大を提供する。本開示は更に、上述した機能を促進する種々のインタラクティブユーザインターフェースを含む。金融リポートを提供する状況では、取引の開始又は取引データへの直接アクセスは行われない。代わりに、金融リポートが生成され、金融リポートへのアクセスを許可するに当たりリポートトークンが使用される。
種々の実施形態では、アプリケーションプログラミングインターフェース(API)要求及び他のユーザ入力に応答して、大量のデータが自動的に動的に検索され、処理され、検索されたデータには、システムからこれもまた正規化APIリソースを介して、又は資産/金融リポートの形態で顧客又はユーザから効率的且つコンパクトにアクセス可能である。データは、例えば、モバイルアプリケーションの仮想化/シミュレートされたインスタンスのインスタンス化を介して効率的に検索し得る。したがって、幾つかの実施形態では、本明細書に記載されるAPIインターフェースは、データが正規化されず、そのような要求に応答して顧客ユーザにコンパクトで効率的に提供されない従来のインターフェースと比較してより効率的である。有利なことには、システムを使用して、顧客又はユーザは、それぞれがプロプライエタリインターフェースを使用し得る複数の別個のデータソース(例えばデータストア)及び/又はシステムから標準化された様式でデータにアクセスし得る。
更に、本明細書に記載されるように、システムは、記載される種々のインタラクティブユーザインターフェースをレンダリングするのに使用可能なユーザインターフェースを生成するように構成及び/又は設計し得る。ユーザインターフェースデータは、インタラクティブユーザインターフェースをレンダリングするのにシステム及び/又は別のコンピュータシステム、デバイス、及び/又はソフトウェアプログラム(例えば、ブラウザプログラム)により使用され得る。インタラクティブユーザインターフェースは、例えば、電子ディスプレイ(例えば、タッチ対応ディスプレイを含む)に表示し得る。
インタラクティブで動的なユーザインターフェースは、好ましくは、精神的作業負荷の低減、意志決定の改善、及び/又は作業ストレスの低減等をユーザに提供し得る改善されたヒューマンコンピュータ対話を含む。例えば、本明細書に記載される入力機構を介したインタラクティブユーザインターフェースとのユーザ対話は、取引及び口座データの最適化された表示並びに取引及び口座データとの対話を提供し得、顧客ユーザが従来のシステムよりも口座データのアクセス、ナビゲート、評価、及び要約をより素早く正確に行えるようにし得る。
更に、本明細書に記載されるインタラクティブで動的なユーザインターフェースは、ユーザインターフェースと土台となるシステム及び構成要素との間の効率的な対話における革新により可能になる。例えば、本明細書には、ユーザ入力の受信、それらの入力の変換及び種々のシステム構成要素への送出、入力送出に応答しての複雑なプロセスの自動的で動的な実行、システムの種々の態様及びプロセス間での自動対話、並びにユーザインターフェースの自動的で動的な更新を行う改善された方法が開示される。本明細書に記載されるインタラクティブユーザインターフェースを介したデータの相互作用及び提示はそれに従って、従来のシステムよりも優れた認知的及び人間工学的な効率及び利点を提供し得る。
本開示の種々の実施形態は、種々の技術及び技術分野に改善を提供する。例えば、上述したように、既存の口座及び/又は取引データ検索技術は、種々の方法で制限されており(例えば、インターフェースは各システム又はソースで異なり、データは異なるフォーマットで提供される等)、本開示の種々の実施形態は、そのような技術よりも優れた有意な改善を提供する。更に、本開示の種々の実施形態は、コンピュータ技術に密接に結びついている。特に、種々の実施形態は、例えば、標準化された様式でのモバイルアプリケーションの仮想化/シミュレートされたインスタンス、検索されたデータの正規化、及びAPIを介した要求への応答を介したコンピュータベースのAPI要求の受信、取引及び/又は他のデータのアクセスに依拠している。そのような特徴及び他の特徴はコンピュータ技術に密に結びついており、コンピュータ技術により可能になり、コンピュータ技術なしでは存在しない。例えば、種々の実施形態を参照して以下に説明するAPI要求及び応答並びに例えばモバイルアプリケーションの仮想化/シミュレートされたインスタンスのインスタンス化は、実装されるコンピュータ技術なしで人間だけでは妥当に実行することができない。更に、コンピュータ技術を介した本開示の種々の実施形態の実施は、種々のタイプのデータとのより効率的な対話を含め、本明細書に記載される利点の多くを可能にする。
特定の好ましい実施形態及び例について以下に開示するが、本発明の趣旨は、具体的に開示される実施形態を超えて他の代替の実施形態及び/又は用途及びそれらの変更及び均等物にまで及ぶ。したがって、本明細書に添付される特許請求の範囲は、後述されるいかなる特定の実施形態によっても限定されない。例えば、本明細書に開示される任意の方法又はプロセスにおいて、方法又はプロセスの活動又は動作は、任意の適した順番で且つ任意の適した組合せで実行し得、必ずしもいかなる特定の開示される順番にも限定されない。
種々の動作は複数の離散した動作として、特定の実施形態の理解に有用であり得るように順次説明され得る。しかしながら、説明の順序は、これらの動作が順序依存であることを暗示するものとして解釈されるべきではない。更に、本明細書に記載される構造、システム、及び/又はデバイスは、統合された構成要素又は別個の構成要素として実施し得る。種々の実施形態を比較するために、これらの実施形態の特定の態様及び利点について述べる。必ずしも全てのそのような態様又は利点が任意の特定の実施形態により達成されるわけではない。したがって、例えば、種々の実施形態は、必ずしも、これもまた本明細書において教示又は示唆され得るような他の態様又は利点を達成することなく、本明細書において教示されるような1つの利点又は利点群を達成又は最適化するように実行し得る。
本明細書に記載される実施形態は一般に、第三者に記憶されたデータのプログラム的な検証を行い、更に1つ又は複数の第三者へのプログラム的に検証された取引(又は他の金融若しくはプライベートデータ)のサブセットの分配、ルーティング、又は開示を行うシステム及び方法を参照する。
例えば、幾つかの実施形態は、データをセキュアに集計し、それぞれが異なるエンティティ又は人物により運営、管理、且つ制御される口座サーバ、ソフトウェアアプリケーション、及び第三者サーバの間でデータをルーティングする、任意選択的に証明機関又は他の同様の組織により認証された1つ又は複数のサーバ又はコンピュータネットワークシステム(本明細書では「データ管理プラットフォーム」、「データ転送プラットフォーム」、又はより一般的に「プラットフォーム」と呼ばれる)を含む。
より具体的には、一例のデータ管理プラットフォームは、本明細書では「対象者」と呼ばれる個人又はエンティティについての多くのソース(本明細書では「リモートデータソース」)から取得された集計データを記憶したデータベースを含む。本明細書で使用される場合、「集計データ」という用語は一般に、1つ又は複数の構造化データベースへのクエリが1つ又は複数の離散データソースのそれぞれから、一致する結果がある場合には一致する結果を返すことができるような、1つ又は複数の離散データソースから取得されたフォーマットされた又はフォーマットされていないデータの1つ又は複数の構造化データベースへの併合、フォーマット、正規化、構造化、及び/又は合体を行う動作の産物を指す。
上記例に戻ると、幾つかの実施形態では、対象者は、自身のデータへの好都合なシングルソースアクセスについてデータベースにクエリすることができる。一例の状況は、対象者についての金融又は銀行データの集計である。この例では、対象者は、1つのユーザインターフェースに提示された、複数の離散した金融又は銀行機関から取得された対象者の全ての集計金融又は銀行データへの好都合なアクセスについてデータ管理プラットフォームにクエリする(例えば、モバイルデバイスで動作するソフトウェアアプリケーションを介して)ことができる。
加えて、本明細書に記載される実施形態では、データ管理プラットフォームは、対象者についてのデータ(「要求されたプライベートデータ」)についての第三者サーバ(「第三者」により運営される)からの要求を受け入れるインターフェースを提供するように構成される。考察したように、第三者システムは、許可された場合、金融データ、より具体的には金融リポートへのアクセスが可能になり得る。一変形では、要求されたプライベートデータを第三者に開示する前、データ管理プラットフォームは、要求を承認、変更、又は拒絶する機会を対象者に提供する。より具体的には、一例では、データ管理プラットフォームは、暗号化され認証されたチャネルを介して、要求を対象者により操作されるソフトウェアアプリケーションに送信して、要求されたプライベートデータを第三者に向けて開示することについての対象者からの許可を求める。対象者が要求を拒絶する場合、データは第三者に開示されず、対象者のデータのプライバシーは維持される。
代替的には、対象者がリポートアクセス要求を承認又は変更する(例えば、要求の一部のみを承認、要求の一部のみを拒絶、補足情報を追加、特定のデータポイントにコメント又はコンテキストを追加、及び個々のデータポイントの編集等)場合、要求(又は変更)に一致するデータのサブセット-及びデータのそのサブセットのみ-が、暗号化され認証されたチャネルを介して構造化フォーマット(例えば、JSON、XML、xBRL、HTML、PDF、XLS、及びCSV等)で第三者に送信される。アクセスを提供する代替の手法が本明細書に開示される。本明細書ではこのデータは「開示されたプライベートデータ」と呼ばれる。要求が対象者により変更される場合、開示されたプライベートデータが要求されたプライベートデータと異なり得ることを理解し得る。
このようにして、第三者は、1つの高信頼ソースから対象者について要求する全てのデータを取得し、更に、対象者は、プライベート情報の過度な開示を阻止するために複数の離散ソースから取得されたデータを独立してレビューする必要なく、データの開示及びルーティングに対する制御を保持する。
幾つかの実施形態では、データ管理プラットフォームは、追加の情報又はデータ(例えば、タグ及びカテゴリ等)でデータベースに記憶されたデータを補足する。他の実施形態では、データ管理プラットフォームは、データベースに記憶されたデータを定期的又は自動的に検査して、異なるデータポイント又は取引及びデータ不規則性又はエラー等の間のパターン、関係、又は関連を認識する。更なる実施形態では、データ管理プラットフォームは、データベースに記憶されたデータのセット又はサブセットにわたりメタデータを決定、推定、及び/又は計算するように構成することができる。
更なる例では、開示されたプライベートデータは、データ管理プラットフォームにより第三者に分配されず、代わりに、第三者にルーティングするためのデジタルコピー又は物理的なコピーとしてパッケージされ、暗号化され、又は他の方法で準備されて対象者に送信されることもある。他の例では、開示されたプライベートデータは、データ管理プラットフォームにより第三者又は対象者に送信されず、代わりにデジタルコピー又は物理的なコピーとしてパッケージされ、暗号化され、又は他の方法で準備され、イベント発生後、第三者に分配/送信されるようにデータエスクロー(データ管理プラットフォームにより又は第三者データエスクローエージェントにより管理又は実装される)に保持されることもある。
これらの通信アーキテクチャの結果として、対象者及び第三者の両者が、開示されたプライベートデータが正確で、真正で、最新のものであることの信頼を保つことができるように、ある当時者(対象者/ユーザ)のプライベートデータを複数の高信頼ソース(リモートデータソース)から収集し、集計し、セキュア且つプライベートに別の当事者(第三者)に送信することができる。
第三者は、開示されたプライベートデータを第一者により承認された任意の目的で使用することができる。好ましい一使用事例のように、要求されたプライベートデータは、恐らくは、第三者が債務不履行リスク、金融健全性、信用度、レベレッジポジション、純資産、及び純収益等を評価するのに使用する金融リポートに編成された金融データ(例えば、取引、残高、及び口座番号等)である。別の実施形態では、プライベートデータは、第三者が不動産若しくは動産の所有又は雇用を確認するのに使用する身元データ(例えば、氏名、住所、及び雇用情報等)である。別の代替の使用事例では、プライベートデータは、第三者が臨床試験への適格性、薬物治療間の潜在的な相互作用、健康保険料等の判断に使用する健康データ(例えば、処方箋、血液型、性別、及び年齢等)である。
しかしながら、説明を簡潔にするために、以下の多くの実施形態は、取引(例えば「プライベート金融データ」)のプログラム的検証及び追加として又は任意選択的に潜在的な債務者(例えば「借り手」)のプログラム的に検証されたプライベート金融データの潜在的な債権者(例えば「貸し手」)への送信を促進するネットワーク及び通信アーキテクチャを参照する。この例では、貸し手に開示された金融データは、借り手の債務不履行リスクを総合的に判断するために又は貸借取引に関連する別の目的で貸し手により使用することができる。しかしながら、先に述べたように、これが、当事者間で開示し得る取引タイプの単なる一例及びプライベートデータの単なる一例であり、本明細書に記載される実施形態が他の取引、取引タイプ、及び当事者にも等しく適用可能であり得、他のプライベートデータ及び/又は他のプライベートデータ型の交換及び開示を含み得ることが理解される。
一実施形態によれば、金融データにプログラム的にアクセスするように構築された金融プラットフォームシステムにおいて、外部金融サービスシステムのアプリケーションをシミュレートするアプリケーションプロキシインスタンスを作成することと、指定された口座についての外部金融サービスシステムの金融データへの正規化された口座要求を受信することであって、正規化された口座要求は、金融プラットフォームシステムの金融データAPIを使用することにより外部金融アプリケーションにより提供される、受信することと、正規化された口座要求に応答して、外部金融サービスシステムのプロプライエタリアプリケーションプログラミングインターフェース(API)を使用することにより外部金融サービスシステムから要求された金融データにアクセスするために、アプリケーションプロキシインスタンスを使用することにより外部金融サービスシステムとの通信をネゴシエートすることと、正規化された口座要求への応答として金融データを外部金融アプリケーションシステムに提供することとを含む方法が開示される。
態様によれば、方法は、プロキシインスタンスを通してセッションをセットアップすることを更に含む。
別の態様によれば、正規化された口座要求は金融プラットフォームシステムの金融データAPIに従った要求であり、金融データAPIは、異なるプロプライエタリAPIを有する外部金融サービスシステムから金融データにアクセスするための正規化されたインターフェースを提供するように構築される。
更に別の態様によれば、通信をネゴシエートすることは、正規化された口座要求により指定される情報に基づいてプロプライエタリAPIに従って要求を形成することを含む。
別の態様によれば、金融プラットフォームシステムは外部金融サービスシステムの機関インターフェースモジュールを含み、機関インターフェースモジュールは外部金融サービスシステムのプロプライエタリAPIをモデリングし、機関インターフェースモジュールは、外部金融サービスシステムから要求された金融データにアクセスするのに使用される。
更に別の態様によれば、金融プラットフォームシステムは、外部金融サービスシステムのアプリケーションのソースコードのパース及びアプリケーションと外部金融サービスシステムとの間の通信のパースの少なくとも1つにより、機関インターフェースモジュールを生成する。
別の態様によれば、機関インターフェースモジュールは、外部金融サービスシステムに送信されるメッセージのヘッダを定義する。
更に別の態様によれば、指定される口座は外部金融サービスシステムの口座である。
別の態様によれば、指定される口座は金融アプリケーションシステムのユーザ口座であり、外部金融サービスシステムからアクセスされる金融データは、アプリケーションプロキシインスタンスのユーザ信用情報に関連付けられた外部金融サービスシステムの少なくとも1つの口座に対応する金融データである。
更に別の態様によれば、指定される口座は金融アプリケーションシステムのユーザ口座であり、指定されるユーザ口座に対応する複数のアプリケーションプロキシインスタンスは、複数の外部金融サービスシステムから金融データにアクセスするのに使用され、アプリケーションシステムに提供される金融データは、アプリケーションプロキシインスタンスのユーザ信用情報に関連付けられた外部金融サービスシステムの口座に対応する。
別の実施形態によれば、金融プラットフォームシステム外部の少なくとも1つの金融サービスシステムにプログラム的にアクセスするように構築されたマルチテナント金融プラットフォームシステムにおいて、金融プラットフォームシステムの口座に関連付けられた外部アプリケーションシステムにより提供された正規化された金融サービス要求に応じて、正規化された金融サービス要求に対応する各外部金融サービスシステムについて、金融プラットフォームシステムの口座に関連付けられたアプリケーションプロキシインスタンスを使用することであって、それにより、金融サービスシステムのプロプライエタリAPIに従ってプロプライエタリアプリケーションプログラミングインターフェース(API)要求を金融サービスシステムに提供する、使用することと、外部金融サービスシステムから受信した少なくとも1つのプロプライエタリAPI応答に基づいて、正規化された金融サービス応答を外部アプリケーションシステムに提供することとを含み、アプリケーションプロキシインスタンスを使用することは、外部金融サービスシステムのアプリケーションをシミュレートすることにより外部アプリケーションシステムのユーザ口座の代理として各外部金融サービスシステムにプロプライエタリAPI要求を提供するように構築されたアプリケーションプロキシインスタンスを使用することを含む、方法が開示される。
態様によれば、金融プラットフォームシステムは、各外部金融サービスシステムの機関インターフェースモジュールを含み、各機関インターフェースモジュールは、関連付けられた外部金融サービスシステムのプロプライエタリAPIをモデリングし、各プロプライエタリAPI要求は、金融サービスシステムの機関インターフェースモジュール、金融サービスシステムに対応するアプリケーションプロキシインスタンス、及びユーザ口座を使用することにより対応する金融サービスシステムに提供され、金融プラットフォームシステムは、対応する金融サービスシステムのアプリケーションのソースコードのパース及びアプリケーションと対応する金融サービスシステムとの間の通信のパースの少なくとも1つにより各機関インターフェースモジュールを生成する。
別の態様によれば、プライマリアプリケーションプロキシインスタンス及び少なくとも1つのセカンダリアプリケーションプロキシインスタンスが、正規化された金融サービス要求に対応する金融サービスシステムに関連付けられ、プライマリアプリケーションプロキシインスタンスを使用することにより、正規化された金融サービス要求を処理することができないとの判断に応答して、セカンダリアプリケーションプロキシインスタンスが、正規化された金融サービス要求の処理に使用される。
更に別の態様によれば、プライマリアプリケーションプロキシインスタンスは、各金融サービスシステムのモバイルアプリケーションに対応し、セカンダリアプリケーションプロキシインスタンスは、各金融サービスシステムのウェブベースのアプリケーション及びデスクトップアプリケーションの少なくとも一方に対応する。
別の態様によれば、金融サービスシステムのプロプライエタリAPIのプロプライエタリAPI要求は、金融サービスシステムの少なくとも1つの口座の取引リスト要求、金融サービスシステムの口座に関連付けられた取引の詳細要求、金融転送要求、支払いスケジューリング要求、電子小切手デポジット要求、口座更新要求、不正報告要求、及びサービス要求の少なくとも1つを含み、金融プラットフォームシステムのAPIの正規化API要求は、外部アプリケーションシステムのユーザ口座の取引リスト要求、ユーザ口座に関連付けられた取引の詳細要求、金融転送要求、支払いスケジューリング要求、電子小切手デポジット要求、口座更新要求、不正報告要求、及びサービス要求の少なくとも1つを含む。
更に別の態様によれば、正規化された金融サービス要求は、ユーザ口座の取引リスト要求であり、正規化された金融サービス要求に対応する金融サービスシステムは、外部アプリケーションシステムのユーザ口座のアプリケーションプロキシインスタンスに対応する金融サービスシステムを含み、各プロプライエタリAPI要求は、プロプライエタリAPI要求の提供に使用される関連付けられたアプリケーションプロキシインスタンスのユーザ信用情報に対応する口座の金融データ要求である。
別の態様によれば、正規化された金融サービス応答を提供することは、受信した金融データを正規化形態に変換することを含み、受信した金融データを変換することは、金融データの処理、金融データのクリーニング、追加情報での金融データの補足、及び金融データの強化の少なくとも1つを含み、追加情報は、カテゴリラベル、タグ、及びジオロケーション情報の少なくとも1つを含む。
更に別の態様によれば、正規化された金融サービス要求は、ユーザ口座に関連付けられた取引の詳細要求であり、正規化された金融サービス要求は、取引、関連付けられた金融サービスシステム、及び金融サービスシステムの関連付けられた口座を識別する情報を指定し、プロプライエタリAPI要求は、指定された金融サービスシステムの指定された口座の取引の詳細要求である。
別の態様によれば、正規化された金融サービス要求は金融転送要求であり、正規化された金融サービス要求は、ソース金融サービスシステム、ソース金融サービスシステムのソース口座、宛先金融サービスシステム、宛先金融サービスシステムの宛先口座、及び取引金額を識別する情報を指定し、ソース金融サービスシステムのアプリケーションプロキシインスタンス及び宛先金融サービスシステムのアプリケーションプロキシインスタンスの少なくとも一方は、プロプライエタリ転送API要求を各金融サービスシステムに提供することにより、指定された取引金額をソース口座から宛先口座に転送する金融転送要求を開始するのに使用される。
更に別の態様によれば、金融プラットフォームシステムは、ソース金融サービスシステム及び宛先金融サービスシステムの能力及び取引手数料の少なくとも一方に基づいて、ソース金融サービスシステムのアプリケーションプロキシインスタンス及び宛先金融サービスシステムのアプリケーションプロキシインスタンスのうち一方を、金融転送要求の開始に選択する。
更に別の実施形態によれば、金融プラットフォームシステムが、少なくとも1つの金融口座エンドポイントに関連付けられた正規化された金融API要求を受信することであって、正規化された金融API要求は、金融プラットフォームシステムの金融プラットフォームAPIを使用することにより、外部金融アプリケーションシステムにより提供され、正規化された金融API要求は、正規化された金融API要求の各金融口座エンドポイントの口座信用情報を指定する、受信することと、正規化された金融API要求に応答して、金融口座エンドポイントに関連付けられたアプリケーションプロキシインスタンスを使用することにより正規化された金融API要求の各金融口座エンドポイントの取引情報を収集することであって、それにより、正規化された金融API要求により指定される関連付けられた口座信用情報及び金融機関システムのプロプライエタリアプリケーションプログラミングインターフェース(API)を使用することにより、対応する金融機関システムから取引情報を収集する、収集することと、正規化された金融API応答を外部金融アプリケーションシステムに提供することであって、正規化された金融API応答は、正規化された金融API要求の各金融口座エンドポイントの取引情報を提供し、各アプリケーションプロキシインスタンスは、対応する外部金融機関システムのアプリケーションをシミュレートするように構築される、提供することとを含む方法が開示される。
態様によれば、各金融口座エンドポイントの収集された取引情報は、少なくとも、口座番号及び自動決済機関(ACH)取引で使用される対応する金融機関コードを含む。
別の態様によれば、取引情報は、対応する外部金融機関システムからアクセスされた少なくとも1つの金融ステートメントを処理することにより収集される。
更に別の態様によれば、金融プラットフォームシステムは、各外部金融機関システムの機関インターフェースモジュールを含み、各機関インターフェースモジュールは外部金融機関システムのプロプライエタリAPIをモデリングし、各アプリケーションプロキシインスタンスは、対応する機関インターフェースモジュールを使用して外部金融機関システムから取引情報を収集する。
別の態様によれば、金融プラットフォームシステムは、関連付けられた外部金融機関システムのアプリケーションのソースコードのパース及びアプリケーションと関連付けられた外部金融機関システムとの間の通信のパースの少なくとも一方により、各機関インターフェースモジュールを生成する。
更に別の態様によれば、各機関インターフェースモジュールは、関連付けられた外部金融機関システムに送信されるメッセージのヘッダを定義し、プロプライエタリAPIはウェブブラウザインターフェースと異なる。
別の実施形態によれば、金融プラットフォームシステムにおいて、少なくとも1つの金融口座エンドポイントに関連付けられた正規化された金融API要求を受信することであって、正規化された金融API要求は、金融プラットフォームシステムの金融プラットフォームAPIを使用することにより外部金融アプリケーションシステムにより提供され、正規化された金融API要求は、金融取引と、正規化された金融API要求の各金融口座エンドポイントの口座トークン及び口座信用情報の少なくとも一方とを指定する、受信することと、正規化された金融API要求に応答して、金融口座エンドポイントに関連付けられたアプリケーションプロキシインスタンスを使用することにより、正規化された金融API要求の各金融口座エンドポイントの取引情報を収集することであって、それにより、正規化された金融API要求により指定される関連付けられた口座トークン及び関連付けられた口座信用情報の少なくとも一方を使用することにより且つ金融機関システムのプロプライエタリAPIを使用することにより、対応する金融機関システムから取引情報を収集する、収集することと、収集された取引情報を使用することにより、正規化された金融API要求により指定された取引を実行することと、正規化された金融API応答を外部システムに提供することであって、正規化された金融API応答は取引のステータス及び取引の結果の少なくとも一方を提供し、各アプリケーションプロキシインスタンスは対応する外部金融機関システムのアプリケーションをシミュレートするように構築される、提供することとを含む方法が開示される。
更に別の実施形態によれば、金融プラットフォームシステム外部の少なくとも1つの外部金融機関システムにプログラム的にアクセスし、金融プラットフォームシステムの金融プラットフォームAPIを使用することにより金融アプリケーションシステムにより提供される正規化された金融API要求に応答するように構築された金融プラットフォームシステムであって、正規化された金融API要求は、少なくとも1つの外部金融機関システムの少なくとも1つの金融口座エンドポイントに対応するユーザ情報を指定する、金融プラットフォームシステムと、正規化API要求に関連付けられた少なくとも1つのアプリケーションプロキシインスタンスを使用することであって、それにより、少なくとも、正規化された金融API要求により指定されるユーザ情報に関連付けられた口座信用情報を指定するプロプライエタリ金融API要求を金融機関システムに提供することにより対応する金融機関システムから取引情報を収集し、取引情報は金融機関システムにより提供される少なくとも1つのプロプライエタリ金融API応答に含められる、使用することと、収集された取引情報に基づいて正規化された金融API応答を生成することと、正規化された金融API応答を金融アプリケーションシステムに提供することであって、各アプリケーションプロキシインスタンスは、アプリケーションプロキシインスタンスに関連付けられたユーザの代理として対応する金融機関システムのアプリケーションをシミュレートするように構築される、提供することとを含む方法が開示される。
別の態様によれば、各プロプライエタリAPIは各金融機関システムのプライベートAPIであり、各プロプライエタリAPIはウェブブラウザインターフェースと異なる。
別の態様によれば、正規化された金融API要求は、金融アプリケーションシステムのユーザ口座の代理として提供され、指定されたユーザ情報は、ユーザ口座に関連付けられた情報を含む。
更に別の態様によれば、正規化された金融API要求は、金融アプリケーションシステムのユーザ口座の代理として提供され、指定されるユーザ情報は、金融アプリケーションシステムのユーザ口座のユーザと異なるユーザに関連付けられた情報を含む。
別の態様によれば、正規化された金融API要求は金融口座エンドポイント情報への要求であり、収集される取引情報は金融口座エンドポイント情報を含み、正規化された金融API応答を生成することは、正規化された金融API応答に金融口座エンドポイント情報を含めることを含む。
更に別の態様によれば、正規化された金融API要求は、少なくとも1つの引落口座エンドポイントから少なくとも1つの入金口座への資金転送要求であり、正規化された金融API要求は転送すべき資金の金額を指定し、ユーザ情報は少なくとも1つの引落口座エンドポイント及び少なくとも1つの入金口座エンドポイントを指定し、金融プラットフォームシステムの取引エンジンは、ACH取引を実行して、収集された取引情報を使用することにより、指定された金額の資金を少なくとも1つの引落口座エンドポイントから少なくとも1つの入金口座エンドポイントに転送するのに使用され、正規化された金融API応答を生成することは、正規化された金融API応答に転送のステータス又は転送の結果の少なくとも一方を含めることを含む。
別の態様によれば、正規化された金融API要求は、転送を実行する起点金融機関システムを指定する。
更に別の態様によれば、金融プラットフォームシステムはマルチテナント金融プラットフォームシステムであり、アプリケーションシステムは、金融プラットフォームシステムの口座に関連付けられた外部アプリケーションシステムであり、各アプリケーションプロキシインスタンスが金融プラットフォームシステムの口座に関連付けられ、各アプリケーションプロキシインスタンスは、外部金融機関システムのアプリケーションをシミュレートすることにより、外部アプリケーションシステムのユーザの代理としてプロプライエタリ金融API要求を各外部金融機関システムに提供するように構築される。
別の態様によれば、金融プラットフォームシステムはシングルテナント金融プラットフォームシステムであり、アプリケーションシステムは金融プラットフォームシステムのアプリケーションシステムであり、各アプリケーションプロキシインスタンスは、外部金融機関システムのアプリケーションをシミュレートすることによりアプリケーションシステムのユーザの代理として、プロプライエタリ金融API要求を各外部金融機関システムに提供するように構築される。
更に別の態様によれば、ユーザ情報は、正規化された金融API要求に対応するアプリケーションシステムの少なくとも1つのユーザ口座のユーザ口座識別子を含み、各ユーザ口座識別子は少なくとも1つのアプリケーションプロキシインスタンスの少なくとも1つを選択するのに使用され、少なくとも1つのアプリケーションプロキシインスタンスはそれぞれ、関連付けられた金融機関システムにアクセスするユーザ信用情報を含み、各プロプライエタリ金融API要求は対応するユーザ信用情報を指定する。
別の態様によれば、ユーザ情報は、正規化された金融API要求に対応するアプリケーションシステムの少なくとも1つのユーザ口座の少なくとも1セットのユーザ信用情報を含み、少なくとも1つのプロプライエタリ金融API要求は、ユーザ情報の対応するセットのユーザ信用情報を指定する。
更に別の態様によれば、ユーザ情報は、正規化された金融API要求に対応するアプリケーションシステムの少なくとも1つのユーザ口座の少なくとも1つの口座トークンを含み、少なくとも1つのプロプライエタリ金融API要求は、ユーザ情報の対応する口座トークンに関連付けられたユーザ信用情報を指定する。
別の態様によれば、方法は、少なくとも1つの引落口座エンドポイントの能力、少なくとも1つの引落口座エンドポイントの可用性、少なくとも1つの引落口座エンドポイントの構成、及び正規化された金融API要求のパラメータの少なくとも1つに基づいて少なくとも1つの引落口座エンドポイントの少なくとも1つを転送に選択すること並びに少なくとも1つの入金口座エンドポイントの能力、少なくとも1つの入金口座エンドポイントの可用性、少なくとも1つの入金口座エンドポイントの構成、及び正規化された金融API要求のパラメータの少なくとも1つに基づいて少なくとも1つの入金口座エンドポイントの少なくとも1つを転送に選択することの少なくとも一方を更に含む。
別の実施形態によれば、複数のコンピュータ実行可能命令を記憶するように構成された1つ又は複数のコンピュータ可読記憶装置と、1つ又は複数のコンピュータ可読記憶装置と通信する1つ又は複数のハードウェアコンピュータプロセッサとを備え、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行してコンピュータシステムに、コンピュータシステムのアプリケーションプログラミングインターフェース(API)を実行することであって、コンピュータシステムのAPIは、コンピュータシステムのAPIの正規化されたフォーマットに従って開発者計算デバイスから要求を受信し、要求への応答を提供するように構成される、実行することと;APIを介して、正規化されたフォーマットに従って、ユーザに関連付けられた取引データへの要求を開発者計算デバイスから受信することであって、要求は少なくとも、ユーザに関連付けられたユーザ名、ユーザに関連付けられたパスワード、及び外部機関識別子を含む、受信することと;外部機関識別子に基づいて、要求に関連付けられた外部機関を特定することと;要求に応答して:コンピュータシステムの機関インターフェースモジュールにアクセスすることであって、機関インターフェースモジュールは、外部機関の外部計算デバイスの非公開APIを介した外部機関の外部計算デバイスとの通信を可能にするように一意に構成され、機関インターフェースモジュールは、外部機関に関連付けられたモバイルデバイスアプリケーションの実際のインスタンスと外部機関の外部計算デバイスとの対話の分析に基づいて生成される、アクセスすることと;外部機関に関連付けられたモバイルデバイスアプリケーションの仮想化インスタンスをインスタンス化することであって、モバイルデバイスアプリケーションの仮想化インスタンスはコンピュータシステムの機関インターフェースモジュールと通信して、外部組織の外部計算デバイスの非公開APIを介して外部機関の外部計算デバイスとインターフェースするように構成され、外部機関の外部計算デバイスの非公開APIはモバイルデバイスアプリケーションと対話するように構成され、モバイルデバイスアプリケーションの仮想化インスタンスはモバイルデバイスアプリケーションの分析に基づいて生成される、インスタンス化することと;モバイルデバイス識別子コード、モバイルデバイス認証トークン、又はモバイルデバイス媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて、機関インターフェースモジュールを介して外部機関の外部計算デバイスを用いてモバイルデバイスアプリケーションの仮想化インスタンスを認証することと;モバイルデバイスアプリケーションの仮想化インスタンスにより外部機関の外部計算デバイスの非公開APIを介して、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを外部機関の外部計算デバイスに提供し、外部機関の外部計算デバイスから第2ファクタ認証情報への要求を受信し、コンピュータシステムのAPIを介して、開発者計算デバイスから第2ファクタ認証情報を要求し、コンピュータシステムのAPIを介して、開発者計算デバイスから第2ファクタ認証情報を受信し、第2ファクタ認証情報を外部機関の外部計算デバイスに提供し、外部機関の外部計算デバイスから第2ファクタ認証情報の受け入れを示す応答を受信し、外部機関の外部計算デバイスから取引情報を要求し、外部機関の外部計算デバイスからユーザに関連付けられた取引データを受信することにより、外部機関の外部計算デバイスからユーザに関連付けられた取引データを要求することと;取引データの分析に基づいて、各カテゴリラベルで取引データの複数の取引データ項目を増強し、取引データの更なる分析に基づいて各ジオロケーション情報で取引データの複数の取引データ項目を増強し、強化された取引データを正規化されたフォーマットでコンピュータシステムにより提供し得るように取引データのフォーマットを標準化することにより、ユーザに関連付けられた取引データを強化することであって、それにより、強化取引データを生成する、強化することと;コンピュータシステムのAPIを介して、正規化されたフォーマットで、強化された取引データを開発者計算デバイスに提供することと;モバイルデバイスアプリケーションの仮想化インスタンスを介してユーザに関連付けられた取引データへの将来の要求を取得し得るように、コンピュータシステムの1つ又は複数のコンピュータ可読記憶装置にモバイルデバイスアプリケーションの仮想化インスタンスを持続させることとを行わせるように構成される、コンピュータシステムが開示される。
態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、コンピュータシステムに、更に要求に応答して、要求を満たすためにユーザに関連付けられた第2の取引データを取得すべき第2の外部機関を特定することと;コンピュータシステムの第2の機関インターフェースモジュールにアクセスすることであって、第2の機関インターフェースモジュールは第2の外部機関の外部計算デバイスの非公開APIを介した第2の外部機関の外部計算デバイスとの通信を可能にするように一意に構成され、第2の外部機関の外部計算デバイスの非公開APIは外部機関の外部計算デバイスの非公開APIと異なり、第2の機関インターフェースモジュールは第2の外部機関に関連付けられた第2のモバイルデバイスアプリケーションの実際のインスタンスと第2の外部機関の外部計算デバイスとの対話の分析に基づいて生成される、アクセスすることと;第2の外部機関に関連付けられた第2のモバイルデバイスアプリケーションの仮想化インスタンスをインスタンス化することであって、第2のモバイルデバイスアプリケーションの仮想化インスタンスはコンピュータシステムの第2の機関インターフェースモジュールと通信して、第2の外部機関の外部計算デバイスの非公開APIを介して第2の外部機関の外部計算デバイスとインターフェースするように構成され、第2の外部機関の外部計算デバイスの非公開APIは第2のモバイルデバイスアプリケーションと対話するように構成され、第2のモバイルデバイスアプリケーションの仮想化インスタンスは第2のモバイルデバイスアプリケーション分析に基づいて生成される、インスタンス化することと;第2の機関インターフェースモジュールを介して、モバイルデバイスに関連付けられた識別子コード、モバイルデバイスに関連付けられた認証トークン、又はモバイルデバイスに関連付けられた媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて第2の外部機関の外部計算デバイスを用いて第2のモバイルデバイスアプリケーションの仮想化インスタンスを認証することと;第2のモバイルデバイスアプリケーションの仮想化インスタンスにより第2の外部機関の外部計算デバイスの非公開APIを介して、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを第2の外部機関の外部計算デバイスに提供し、第2の外部機関の外部計算デバイスから第2の取引情報を要求し、第2の外部機関の外部計算デバイスからユーザに関連付けられた第2の取引データを受信することにより第2の外部機関の外部計算デバイスからユーザに関連付けられた第2の取引データを要求することと;ユーザに関連付けられた第2の取引データを強化することであって、第2の取引データの分析に基づいて各カテゴリラベルで第2の取引データの複数の取引データ項目を増強し、第2の取引データの更なる分析に基づいて各ジオロケーション情報で第2の取引データの複数の取引データ項目を増強し、正規化されたフォーマットでコンピュータシステムにより第2の強化取引データを提供し得るように、第2の取引データのフォーマットを標準化することにより第2の強化取引データを生成する、強化することと;強化取引データと第2の強化取引データとを結合することであって、それにより、結合強化取引データを生成する、結合することと;コンピュータシステムのAPIを介して、正規化されたフォーマットで、結合強化取引データを開発者計算デバイスに提供することと;第2のモバイルデバイスアプリケーションの仮想化インスタンスを介してユーザに関連付けられた取引データへの将来の要求を取得し得るように、コンピュータシステムの1つ又は複数のコンピュータ可読記憶装置に第2のモバイルデバイスアプリケーションの仮想化インスタンスを持続させることとを更に行わせるように構成される。
別の態様によれば、機関インターフェースモジュールは、モバイルデバイスアプリケーションのソースコードのパース又はモバイルデバイスアプリケーションと外部機関の外部計算デバイスとの通信のパースの少なくとも一方に基づいて更に生成される。
更に別の態様によれば、機関インターフェースモジュールは、外部機関の外部計算デバイスに送信されるメッセージのヘッダを定義する。
別の態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、コンピュータシステムに、APIを介して、正規化されたフォーマットに従って、外部機関におけるユーザの口座に関連付けられた取引のリスト、外部機関におけるユーザの口座に関連付けられた取引の詳細、外部機関におけるユーザの口座から又はユーザの口座への金融転送、外部機関における支払いスケジューリング、外部機関におけるユーザの口座への電子小切手入金、外部機関におけるユーザの口座の更新、外部機関における不正リポート、又は外部機関におけるサービス要求の少なくとも1つへの要求を開発者計算デバイスから受信することを更に行わせるように構成される。
更に別の態様によれば、開発者計算デバイスから、外部機関におけるユーザの口座から又はユーザの口座への金融転送への要求を受信したことに応答して、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、コンピュータシステムに、モバイルデバイスアプリケーションの仮想化インスタンスにより、外部機関の外部計算デバイスの非公開APIを介して、金融転送要求に基づいて外部金融機関におけるユーザの口座から又はユーザの口座への転送を要求することを更に行わせるように構成される。
更に別の実施形態によれば、複数のコンピュータ実行可能命令を実行する1つ又は複数のハードウェアコンピュータプロセッサにより:コンピュータシステムのアプリケーションプログラミングインターフェース(API)を実行することであって、コンピュータシステムのAPIはコンピュータシステムのAPIの正規化されたフォーマットに従って開発者計算デバイスから要求を受信し、要求への応答を提供するように構成される、実行することと;APIを介して、正規化されたフォーマットに従って、ユーザに関連付けられた取引データへの要求を開発者計算デバイスから受信することであって、要求は少なくとも、ユーザに関連付けられたユーザ名、ユーザに関連付けられたパスワード、及び外部機関識別子を含む、受信することと;外部機関識別子に基づいて要求に関連付けられた外部機関を特定することと;要求に応答して:コンピュータシステムの機関インターフェースモジュールにアクセスすることであって、機関インターフェースモジュールは、外部機関の外部計算デバイスの非公開APIを介した外部機関の外部計算デバイスとの通信を可能にするように一意に構成され、機関インターフェースモジュールは外部機関に関連付けられたモバイルデバイスアプリケーションの実際のインスタンスと外部機関の外部計算デバイスとの対話の分析に基づいて生成される、アクセスすることと;外部機関に関連付けられたモバイルデバイスアプリケーションの仮想化インスタンスをインスタンス化することであって、モバイルデバイスアプリケーションの仮想化インスタンスはコンピュータシステムの機関インターフェースモジュールと通信して、外部機関の外部計算デバイスの非公開APIを介して外部機関の外部計算デバイスとインターフェースするように構成され、外部機関の外部計算デバイスの非公開APIはモバイルデバイスアプリケーションと対話するように構成され、モバイルデバイスアプリケーションの仮想化インスタンスはモバイルデバイスアプリケーションの分析に基づいて生成される、インスタンス化することと;機関インターフェースモジュールを介して、モバイルデバイス識別子コード、モバイルデバイス認証トークン、又はモバイルデバイス媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて外部機関の外部計算デバイスを用いてモバイルデバイスアプリケーションの仮想化インスタンスを認証することと;モバイルデバイスアプリケーションの仮想化インスタンスにより、外部機関の外部計算デバイスの非公開APIを介して、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを外部機関の外部計算デバイスに提供し、外部機関の外部計算デバイスからの第2ファクタ認証情報への要求を受信したことに応答して:第2ファクタ認証情報を外部機関の外部計算デバイスに提供し、外部機関の外部計算デバイスから第2ファクタ認証情報の受け入れを示す応答を受信し、外部機関の外部計算デバイスから取引情報を要求し、外部機関の外部計算デバイスからユーザに関連付けられた取引データを受信することにより、外部機関の外部計算デバイスからユーザに関連付けられた取引データを要求することと;取引データの分析に基づいて、各カテゴリラベルで取引データの複数の取引データ項目を増強し、取引データの更なる分析に基づいて各ジオロケーション情報で取引データの複数の取引データ項目を増強し、強化された取引データを正規化されたフォーマットでコンピュータシステムにより提供し得るように取引データのフォーマットを標準化することにより、ユーザに関連付けられた取引データを強化することであって、それにより、強化取引データを生成する、強化することと;コンピュータシステムのAPIを介して、正規化されたフォーマットで、強化された取引データを開発者計算デバイスに提供することと;モバイルデバイスアプリケーションの仮想化インスタンスを介してユーザに関連付けられた取引データへの将来の要求を取得し得るように、コンピュータシステムの1つ又は複数のコンピュータ可読記憶装置にモバイルデバイスアプリケーションの仮想化インスタンスを持続させることとを含むコンピュータ実施方法が開示される。
態様によれば、コンピュータ実施方法は、複数のコンピュータ実行可能命令を実行する1つ又は複数のハードウェアコンピュータプロセッサにより:更に要求に応答して、要求を満たすためにユーザに関連付けられた第2の取引データを取得すべき第2の外部機関を特定することと;コンピュータシステムの第2の機関インターフェースモジュールにアクセスすることであって、第2の機関インターフェースモジュールは第2の外部機関の外部計算デバイスの非公開APIを介した第2の外部機関の外部計算デバイスとの通信を可能にするように一意に構成され、第2の外部機関の外部計算デバイスの非公開APIは外部機関の外部計算デバイスの非公開APIと異なり、第2の機関インターフェースモジュールは第2の外部機関に関連付けられた第2のモバイルデバイスアプリケーションの実際のインスタンスと第2の外部機関の外部計算デバイスとの対話の分析に基づいて生成される、アクセスすることと;第2の外部機関に関連付けられた第2のモバイルデバイスアプリケーションの仮想化インスタンスをインスタンス化することであって、第2のモバイルデバイスアプリケーションの仮想化インスタンスはコンピュータシステムの第2の機関インターフェースモジュールと通信して、第2の外部機関の外部計算デバイスの非公開APIを介して第2の外部機関の外部計算デバイスとインターフェースするように構成され、第2の外部機関の外部計算デバイスの非公開APIは第2のモバイルデバイスアプリケーションと対話するように構成され、第2のモバイルデバイスアプリケーションの仮想化インスタンスは第2のモバイルデバイスアプリケーション分析に基づいて生成される、インスタンス化することと;第2の機関インターフェースモジュールを介して、モバイルデバイスに関連付けられた識別子コード、モバイルデバイスに関連付けられた認証トークン、又はモバイルデバイスに関連付けられた媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて第2の外部機関の外部計算デバイスを用いて第2のモバイルデバイスアプリケーションの仮想化インスタンスを認証することと;第2のモバイルデバイスアプリケーションの仮想化インスタンスにより第2の外部機関の外部計算デバイスの非公開APIを介して、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを第2の外部機関の外部計算デバイスに提供し、第2の外部機関の外部計算デバイスから第2の取引情報を要求し、第2の外部機関の外部計算デバイスからユーザに関連付けられた第2の取引データを受信することにより第2の外部機関の外部計算デバイスからユーザに関連付けられた第2の取引データを要求することと;ユーザに関連付けられた第2の取引データを強化することであって、第2の取引データの分析に基づいて各カテゴリラベルで第2の取引データの複数の取引データ項目を増強し、第2の取引データの更なる分析に基づいて各ジオロケーション情報で第2の取引データの複数の取引データ項目を増強し、正規化されたフォーマットでコンピュータシステムにより第2の強化取引データを提供し得るように、第2の取引データのフォーマットを標準化することにより第2の強化取引データを生成する、強化することと;強化取引データと第2の強化取引データとを結合することであって、それにより、結合強化取引データを生成する、結合することと;コンピュータシステムのAPIを介して、正規化されたフォーマットで、結合強化取引データを開発者計算デバイスに提供することと;第2のモバイルデバイスアプリケーションの仮想化インスタンスを介してユーザに関連付けられた取引データへの将来の要求を取得し得るように、コンピュータシステムの1つ又は複数のコンピュータ可読記憶装置に第2のモバイルデバイスアプリケーションの仮想化インスタンスを持続させることとを更に含む。
別の態様によれば、機関インターフェースモジュールは、モバイルデバイスアプリケーションのソースコードのパース又はモバイルデバイスアプリケーションと外部機関の外部計算デバイスとの通信のパースの少なくとも一方に基づいて更に生成される。
更に別の態様によれば、機関インターフェースモジュールは、外部機関の外部計算デバイスに送信されるメッセージのヘッダを定義する。
別の態様によれば、コンピュータ実施方法は、複数のコンピュータ実行可能命令を実行する1つ又は複数のハードウェアコンピュータプロセッサにより:APIを介して、正規化されたフォーマットに従って、外部機関におけるユーザの口座に関連付けられた取引のリスト、外部機関におけるユーザの口座に関連付けられた取引の詳細、外部機関におけるユーザの口座から又はユーザの口座への金融転送、外部機関における支払いスケジューリング、外部機関におけるユーザの口座への電子小切手入金、外部機関におけるユーザの口座の更新、外部機関における不正リポート、又は外部機関におけるサービス要求の少なくとも1つへの要求を開発者計算デバイスから受信することを更に含む。
更に別の態様によれば、コンピュータ実施方法は、複数のコンピュータ実行可能命令を実行する1つ又は複数のハードウェアコンピュータプロセッサにより:開発者計算デバイスから、外部機関におけるユーザの口座から又はユーザの口座への金融転送への要求を受信したことに応答して、モバイルデバイスアプリケーションの仮想化インスタンスにより、外部機関の外部計算デバイスの非公開APIを介して、金融転送要求に基づいて外部金融機関におけるユーザの口座から又はユーザの口座への転送を要求することを更に含む。
更に別の実施形態によれば、ソフトウェア命令を記憶したコンピュータ可読記憶媒体であって、ソフトウェア命令は、1つ又は複数のハードウェアコンピュータプロセッサによる実行に応答して、コンピュータシステムのアプリケーションプログラミングインターフェース(API)を実行することであって、コンピュータシステムのAPIはコンピュータシステムのAPIの正規化されたフォーマットに従って開発者計算デバイスから要求を受信し、要求への応答を提供するように構成される、実行することと;APIを介して、正規化されたフォーマットに従って、ユーザに関連付けられた取引データへの要求を開発者計算デバイスから受信することであって、要求は少なくとも、ユーザに関連付けられたユーザ名、ユーザに関連付けられたパスワード、及び外部機関識別子を含む、受信することと;外部機関識別子に基づいて要求に関連付けられた外部機関を特定することと;要求に応答して:コンピュータシステムの機関インターフェースモジュールにアクセスすることであって、機関インターフェースモジュールは、外部機関の外部計算デバイスの非公開APIを介した外部機関の外部計算デバイスとの通信を可能にするように一意に構成され、機関インターフェースモジュールは外部機関に関連付けられたモバイルデバイスアプリケーションの実際のインスタンスと外部機関の外部計算デバイスとの対話に基づいて生成される、アクセスすることと;外部機関に関連付けられたモバイルデバイスアプリケーションの仮想化インスタンスをインスタンス化することであって、モバイルデバイスアプリケーションの仮想化インスタンスはコンピュータシステムの機関インターフェースモジュールと通信して、外部機関の外部計算デバイスの非公開APIを介して外部機関の外部計算デバイスとインターフェースするように構成され、外部機関の外部計算デバイスの非公開APIはモバイルデバイスアプリケーションと対話するように構成され、モバイルデバイスアプリケーションの仮想化インスタンスはモバイルデバイスアプリケーションの分析に基づいて生成される、インスタンス化することと;機関インターフェースモジュールを介して、モバイルデバイス識別子コード、モバイルデバイス認証トークン、又はモバイルデバイス媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて外部機関の外部計算デバイスを用いてモバイルデバイスアプリケーションの仮想化インスタンスを認証することと;モバイルデバイスアプリケーションの仮想化インスタンスにより、外部機関の外部計算デバイスの非公開APIを介して、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを外部機関の外部計算デバイスに提供し、外部機関の外部計算デバイスからの第2ファクタ認証情報への要求を受信したことに応答して:第2ファクタ認証情報を外部機関の外部計算デバイスに提供し、外部機関の外部計算デバイスから第2ファクタ認証情報の受け入れを示す応答を受信し、外部機関の外部計算デバイスから取引情報を要求し、外部機関の外部計算デバイスからユーザに関連付けられた取引データを受信することにより、外部機関の外部計算デバイスからユーザに関連付けられた取引データを要求することと;取引データの分析に基づいて、各カテゴリラベルで取引データの複数の取引データ項目を増強し、取引データの更なる分析に基づいて各ジオロケーション情報で取引データの複数の取引データ項目を増強し、強化された取引データを正規化されたフォーマットでコンピュータシステムにより提供し得るように取引データのフォーマットを標準化することにより、ユーザに関連付けられた取引データを強化することであって、それにより、強化取引データを生成する、強化することと;コンピュータシステムのAPIを介して、正規化されたフォーマットで、強化された取引データを開発者計算デバイスに提供することと;モバイルデバイスアプリケーションの仮想化インスタンスを介してユーザに関連付けられた取引データへの将来の要求を取得し得るように、コンピュータシステムの1つ又は複数のコンピュータ可読記憶装置にモバイルデバイスアプリケーションの仮想化インスタンスを持続させることとを含む動作を実行するように1つ又は複数のハードウェアコンピュータプロセッサを構成する、コンピュータ可読記憶媒体が開示される。
態様によれば、更に1つ又は複数のハードウェアコンピュータプロセッサによる実行に応答して、ソフトウェア命令は、更に要求に応答して、要求を満たすためにユーザに関連付けられた第2の取引データを取得すべき第2の外部機関を特定することと;コンピュータシステムの第2の機関インターフェースモジュールにアクセスすることであって、第2の機関インターフェースモジュールは第2の外部機関の外部計算デバイスの非公開APIを介した第2の外部機関の外部計算デバイスとの通信を可能にするように一意に構成され、第2の外部機関の外部計算デバイスの非公開APIは外部機関の外部計算デバイスの非公開APIと異なり、第2の機関インターフェースモジュールは第2の外部機関に関連付けられた第2のモバイルデバイスアプリケーションの実際のインスタンスと第2の外部機関の外部計算デバイスとの対話の分析に基づいて生成される、アクセスすることと;第2の外部機関に関連付けられた第2のモバイルデバイスアプリケーションの仮想化インスタンスをインスタンス化することであって、第2のモバイルデバイスアプリケーションの仮想化インスタンスはコンピュータシステムの第2の機関インターフェースモジュールと通信して、第2の外部機関の外部計算デバイスの非公開APIを介して第2の外部機関の外部計算デバイスとインターフェースするように構成され、第2の外部機関の外部計算デバイスの非公開APIは第2のモバイルデバイスアプリケーションと対話するように構成され、第2のモバイルデバイスアプリケーションの仮想化インスタンスは第2のモバイルデバイスアプリケーション分析に基づいて生成される、インスタンス化することと;第2の機関インターフェースモジュールを介して、モバイルデバイスに関連付けられた識別子コード、モバイルデバイスに関連付けられた認証トークン、又はモバイルデバイスに関連付けられた媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて第2の外部機関の外部計算デバイスを用いて第2のモバイルデバイスアプリケーションの仮想化インスタンスを認証することと;第2のモバイルデバイスアプリケーションの仮想化インスタンスにより第2の外部機関の外部計算デバイスの非公開APIを介して、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを第2の外部機関の外部計算デバイスに提供し、第2の外部機関の外部計算デバイスから第2の取引情報を要求し、第2の外部機関の外部計算デバイスからユーザに関連付けられた第2の取引データを受信することにより第2の外部機関の外部計算デバイスからユーザに関連付けられた第2の取引データを要求することと;ユーザに関連付けられた第2の取引データを強化することであって、第2の取引データの分析に基づいて各カテゴリラベルで第2の取引データの複数の取引データ項目を増強し、第2の取引データの更なる分析に基づいて各ジオロケーション情報で第2の取引データの複数の取引データ項目を増強し、正規化されたフォーマットでコンピュータシステムにより第2の強化取引データを提供し得るように、第2の取引データのフォーマットを標準化することにより第2の強化取引データを生成する、強化することと;強化取引データと第2の強化取引データとを結合することであって、それにより、結合強化取引データを生成する、結合することと;コンピュータシステムのAPIを介して、正規化されたフォーマットで、結合強化取引データを開発者計算デバイスに提供することと;第2のモバイルデバイスアプリケーションの仮想化インスタンスを介してユーザに関連付けられた取引データへの将来の要求を取得し得るように、コンピュータシステムの1つ又は複数のコンピュータ可読記憶装置に第2のモバイルデバイスアプリケーションの仮想化インスタンスを持続させることとを含む動作を実行するように1つ又は複数のハードウェアコンピュータプロセッサを構成する。
更に別の態様によれば、機関インターフェースモジュールは、モバイルデバイスアプリケーションのソースコードのパース又はモバイルデバイスアプリケーションと外部機関の外部計算デバイスとの通信のパースの少なくとも一方に基づいて更に生成される。
更に別の態様によれば、機関インターフェースモジュールは、外部機関の外部計算デバイスに送信されるメッセージのヘッダを定義する。
更に別の態様によれば、更に1つ又は複数のハードウェアピュアプロセッサによる実行に応答して、ソフトウェア命令は、APIを介して、正規化されたフォーマットに従って、外部機関におけるユーザの口座に関連付けられた取引のリスト、外部機関におけるユーザの口座に関連付けられた取引の詳細、外部機関におけるユーザの口座から又はユーザの口座への金融転送、外部機関における支払いスケジューリング、外部機関におけるユーザの口座への電子小切手入金、外部機関におけるユーザの口座の更新、外部機関における不正リポート、又は外部機関におけるサービス要求の少なくとも1つへの要求を開発者計算デバイスから受信することを含む動作を実行するように1つ又は複数のハードウェアコンピュータプロセッサを構成する。
別の態様によれば、更に1つ又は複数のハードウェアピュアプロセッサによる実行に応答して、ソフトウェア命令は、開発者計算デバイスから、外部機関におけるユーザの口座から又はユーザの口座への金融転送への要求を受信したことに応答して、モバイルデバイスアプリケーションの仮想化インスタンスにより、外部機関の外部計算デバイスの非公開APIを介して、金融転送要求に基づいて外部金融機関におけるユーザの口座から又はユーザの口座への転送を要求することを含む動作を実行するように1つ又は複数のハードウェアコンピュータプロセッサを構成する。
更に別の実施形態によれば、電子ユーザ口座アクセスを認証するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、ユーザ口座に関連付けられた口座信用情報を受信することと;ユーザ口座に関連付けられた1つ又は複数の許可を受信することと;1つ又は複数の許可に関連付けられた外部アプリケーションのインジケーションを受信することと;ユーザ口座に関連付けられた外部ユーザ口座を特定することと;外部ユーザ口座とインターフェースするように構成された第一者アプリケーションを特定することと;第一者アプリケーションの仮想化インスタンスをインスタンス化することと;口座信用情報を使用して、外部ユーザ口座に関連付けられた第一者アプリケーションの仮想化インスタンスを認証することであって、それにより、外部ユーザ口座との通信を確立する、認証することと;第一者アプリケーションの仮想化インスタンスを介して、ユーザ口座に関連付けられたユーザ口座データの1つ又は複数の項目にアクセスすることと;電子トークンであって、ユーザ口座データの1つ又は複数の項目、1つ又は複数の許可、及び外部アプリケーションのインジケーションを含む電子トークンを生成することとを含む。
態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、一意のトークン識別子を生成することと;一意のトークン識別子を電子トークンに関連付けることと;一意のトークン識別子を外部アプリケーションに通信することとを更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第三者プロセッサから、取引に関連付けられた1つ又は複数の取引詳細及び一意のトークン識別子を受信することと;一意のトークン識別子に基づいて電子トークンを識別することと;1つ又は複数の取引詳細を1つ又は複数の許可と比較することと;比較に基づいて、外部アプリケーションが取引を開始する認可を有するか否かを判断することと;外部アプリケーションが取引を開始する認可を有するか否かの判断に基づいて、認可インジケーションを第三者プロセッサに通信することとを更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、比較に基づいて、外部アプリケーションが取引を開始する認可を有するか否かを判断することであって、認可インジケーションは、外部アプリケーションが取引を開始する認可を有することを示す、判断することと;第三者プロセッサにユーザ口座データの1つ又は複数の項目を通信することとを更に含む。
別の態様によれば、ユーザ口座データの1つ又は複数の項目は少なくとも、口座番号又は金融機関コードを含む。
更に別の態様によれば、コンピュータ実施方法は、第三者プロセッサによりユーザ口座データの1つ又は複数の項目に基づいて、外部ユーザ口座との取引を実行することと、取引が実行されたことのインジケーションを外部アプリケーションに通信することとを更に含む。
別の態様によれば、コンピュータ実施方法は、ユーザ口座データの1つ又は複数の項目に基づいて、第三者プロセッサに、外部ユーザ口座との取引を実行させることと、取引が実行されたことのインジケーションを外部アプリケーションに通信することとを更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、比較に基づいて外部アプリケーションが取引を開始する認可を有さないと判断することであって、認可インジケーションは、外部アプリケーションが取引を開始する認可を有さないことを示す、判断することを更に含む。
別の態様によれば、1つ又は複数の取引詳細及び一意のトークン識別子は、外部ユーザ口座から第三者プロセッサに通信された。
更に別の態様によれば、1つ又は複数の取引詳細は、取引金額又は取引頻度の少なくとも一方を含む。
別の態様によれば、電子トークンは、外部アプリケーションに関連付けられた取引の履歴を更に含み、比較することは、1つ又は複数の取引詳細を取引履歴と比較することを更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、一意のトークン識別子を生成することと、一意のトークン識別子を電子トークンに関連付けることと;一意のトークン識別子を外部アプリケーションに通信することと、1つ又は複数の許可への変更インジケーションを受信することと;1つ又は複数の許可への変更を反映するように電子トークンを更新することとを更に含む。
別の態様によれば、1つ又は複数の許可への変更は電子トークンの取り消しを含み、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第三者プロセッサから取引に関連する1つ又は複数の取引詳細及び一意のトークン識別子を受信することと;一意のトークン識別子に基づいて電子トークンを識別することと;1つ又は複数の取引詳細を1つ又は複数の許可と比較することと;比較に基づいて、電子トークンの取り消しに起因して外部アプリケーションが取引を開始する認可を有さないと判断することと;外部アプリケーションが取引を開始する認可を有さないことのインジケーションを通信することとを更に含む。14。請求項1のコンピュータ実施方法であって、口座信用情報は少なくとも、ユーザ口座に関連付けられたユーザ名及びパスワードを含む。
更に別の態様によれば、1つ又は複数の許可は、取引に許された頻度のインジケーション、取引に許された金額のインジケーション、許された取引タイプのインジケーション、時間機関内で許された取引金額のインジケーション、又は取引の許された使用のインジケーションの少なくとも1つを含む。
別の態様によれば、外部アプリケーションは、ユーザの計算デバイスで実行されるように構成されたアプリケーション又はユーザのコンピュータデバイスを介してアクセス可能なアプリケーションの少なくとも一方を含む。
更に別の態様によれば、ユーザ口座データの1つ又は複数の項目は少なくとも、口座番号又は金融機関コードを含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、電子トークンをセキュアに記憶することを更に含む。
別の実施形態によれば、電子ユーザ口座アクセスを認可するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、ユーザ口座に関連付けられた口座信用情報を受信することと;ユーザ口座に関連付けられた1つ又は複数の許可を受信することと;1つ又は複数の許可に関連付けられた外部アプリケーションのインジケーションを受信することと;ユーザ口座に関連付けられた外部ユーザ口座を特定することと;外部ユーザ口座とインターフェースするように構成された第一者アプリケーションを特定することと;第一者アプリケーションの仮想化インスタンスをインスタンス化することと;口座信用情報を使用して、外部ユーザ口座に関連付けられた第一者アプリケーションの仮想化インスタンスを認証することであって、それにより、外部ユーザ口座との通信を確立する、認証することと;第一者アプリケーションの仮想化インスタンスを介して、ユーザ口座に関連付けられたユーザ口座データの1つ又は複数の項目にアクセスすることと;ユーザ口座データの1つ又は複数の項目、1つ又は複数の許可、及び外部アプリケーションのインジケーションを第三者プロセッサに通信することと;第三者プロセッサに、電子トークンであって、ユーザ口座データの1つ又は複数の項目、1つ又は複数の許可、及び外部アプリケーションのインジケーションを含む電子トークンを生成させ、一意のトークン識別子を生成させ、一意のトークン識別子を電子トークンに関連付けさせ、一意のトークン識別子を外部アプリケーションに通信させることと;外部アプリケーションから、取引に関連付けられた1つ又は複数の取引詳細及び一意のトークン識別子を受信することと;第三者プロセッサに更に、一意のトークン識別子に基づいて電子トークンを識別させ、取引に関連付けられた1つ又は複数の取引詳細を1つ又は複数の許可と比較させ、比較に基づいて外部アプリケーションが取引を開始する認可を有すると判断させ、外部ユーザ口座との対話により取引を実行させ取引が実行されたことのインジケーションを外部アプリケーションに通信させることとを含む。
態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、1つ又は複数の許可への変更のインジケーションを受信することであって、1つ又は複数の許可への変更は電子トークンの取り消しを含む、受信することと;第三者プロセッサに更に、1つ又は複数の許可への変更を反映するように電子トークンを更新させることと;外部アプリケーションから、第2の取引に関連する1つ又は複数の取引詳細及び一意のトークン識別子を受信することと;第三者プロセッサに更に、一意のトークン識別子に基づいて電子トークンを識別させ、第2の取引に関連付けられた1つ又は複数の取引詳細を1つ又は複数の許可と比較させ、第2の取引に関連付けられた1つ又は複数の取引詳細を1つ又は複数の許可との比較に基づいて、電子トークンの取り消しに起因して外部アプリケーションが取引を開始する認可を有さないと判断させ、外部アプリケーションが取引を開始する認可を有さないとのインジケーションを外部アプリケーションに通信させることとを更に含む。
更に別の実施形態では、コンピュータシステムであって、複数のコンピュータ実行可能命令を記憶するように構成された1つ又は複数のコンピュータ可読記憶装置と、1つ又は複数のコンピュータ可読記憶装置と通信する1つ又は複数のハードウェアコンピュータプロセッサとを備え、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、第1の計算デバイスからユーザに関連付けられたデータの要求を受信することであって、要求はユーザに関連付けられた認証信用情報を含む、受信することと;要求に関連付けられた機関を識別することと;機関に関連付けられたソフトウェアアプリケーションのシミュレートインスタンスをインスタンス化することであって、ソフトウェアアプリケーションのシミュレートインスタンスは、APIを介して、機関に関連付けられた第2の計算デバイスとインターフェースするように構成され、ソフトウェアアプリケーションのシミュレートインスタンスは、第2の計算デバイスの視点から、ユーザの物理的な計算デバイスで実行されているソフトウェアアプリケーションであるように見えるように構成される、インスタンス化することと;ソフトウェアアプリケーションのシミュレートインスタンスによりAPIを介して、第2の計算デバイスからのユーザに関連付けられたデータを要求することと;第2の計算デバイスからユーザに関連付けられたデータを受信することと;データを別の計算デバイスに提供することとをコンピュータシステムに行わせるように構成される、コンピュータシステムが開示される。
態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、識別子コード、認証トークン、又は媒体アクセス制御(MAC)アドレスの少なくとも1つに基づいて第2の計算デバイスを用いてソフトウェアアプリケーションのシミュレートインスタンスを認証することをコンピュータシステムに更に行わせるように構成される。
別の態様によれば、ユーザに関連付けられた認証信用情報は少なくとも、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを含み、ユーザに関連付けられたデータを要求することは、ユーザに関連付けられたユーザ名及びユーザに関連付けられたパスワードを第2の計算デバイスに提供することを更に含む。
更に別の態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、ソフトウェアアプリケーションのシミュレートインスタンスによりAPIを介して、第2の計算デバイスから第2ファクタ認証情報への要求を受信し、第1の計算デバイスから第2ファクタ認証情報を要求し、第1の計算デバイスから第2ファクタ認証情報を受信し、第2の計算デバイスに第2ファクタ認証情報を提供することにより、第2の計算デバイスからのユーザに関連付けられたデータを更に要求することをコンピュータシステムに更に行わせるように構成される。
別の態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、データの分析に基づいて、各カテゴリラベルでデータの複数のデータ項目を増強することと、データの更なる分析に基づいて、各ジオロケーション情報でデータの複数のデータ項目を増強することとをコンピュータシステムに更に行わせるように構成される。
更に別の態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、データを正規化されたフォーマットで提供し得るようにデータのフォーマットを標準化することをコンピュータシステムに更に行わせるように構成される。
別の態様によれば、ソフトウェアアプリケーションのシミュレートインスタンスは、ソフトウェアアプリケーションの実際のインスタンスの分析又はソフトウェアアプリケーションと第2の計算デバイスとの対話の少なくとも一方に基づいて生成される。
更に別の態様によれば、1つ又は複数のハードウェアコンピュータプロセッサは、複数のコンピュータ実行可能命令を実行して、ソフトウェアアプリケーションのシミュレートインスタンスを介してデータへの将来の要求を取得し得るように、1つ又は複数のコンピュータ可読記憶装置にソフトウェアアプリケーションのシミュレートインスタンスを記憶することをコンピュータシステムに更に行わせるように構成される。
別の態様によれば、別の計算デバイスは第1の計算デバイスである。
更に別の態様によれば、別の計算デバイスは、第1の計算デバイス及び第2の計算デバイスと異なる第3の計算デバイスであり、第3の計算デバイスは高信頼性第三者プロセッサシステムに関連付けられる。
更に別の実施形態によれば、ユーザ口座データを提供するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第1の計算デバイスから認証要求に関連付けられた情報を受信することであって、情報は少なくとも、1つ又は複数のユーザ口座に関連付けられた口座信用情報を含む、受信することと;少なくとも、情報の電子記録及び電子記録に関連付けられたトークンを生成することと;トークンを第1の計算デバイスに提供することと;第2の計算デバイスから、少なくとも、トークンと、1つ又は複数のユーザ口座の少なくとも1つに関連付けられたユーザ口座データへの要求とを受信することと;第2の計算デバイスに、口座信用情報に基づいて、1つ又は複数のユーザ口座の少なくとも1つに関連付けられたユーザ口座データを提供することとを含む。
態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、トークンに基づいてユーザ口座データへのアクセス認可を検証することを更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第1の計算デバイスに追加情報要求を提供することを更に含む。
更に別の態様によれば、追加情報は、マルチファクタ認証情報、複数のユーザ口座から選択されたユーザ口座、又はドキュメントへの同意書のインジケーションの少なくとも1つを含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第1の計算デバイスから、追加情報要求への応答を受信することであって、ユーザ口座データは、応答が受信される後まで第2の計算デバイスに提供されない、受信することを更に含む。
更に別の態様によれば、情報は、外部アプリケーションの情報又は第2の計算デバイスに関連付けられたエンティティのインジケーションの少なくとも一方を更に含む。
別の態様によれば、第2の計算デバイスは、外部アプリケーションに関連付けられた計算デバイスにユーザ口座データを提供するように構成される。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションによるユーザ口座データへのアクセスを認可する要求を受信することと;アクセスを認可する要求に応答して、トークン又はトークンに関連付けられたユーザ口座へのアクセスを取り消すこととを更に含む。
別の態様によれば、情報は1つ又は複数の許可を更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、ユーザ口座データへの要求の受信に応答して、1つ又は複数の許可に基づいて、外部アプリケーションによるユーザ口座データへのアクセスの認可を決定することを更に含む。
別の態様によれば、第1の計算デバイスは、第1の計算デバイスのプロセッサにより実行されると、第1の計算デバイスにトークンを第2の計算デバイスに提供させるプログラム命令を含む。
別の実施形態によれば、ユーザ口座データを提供するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第1の計算デバイスから認可要求に関連付けられたトークンを受信することであって、トークンには機関、外部アプリケーション、機関により保持されたユーザ口座が更に関連付けられる、受信することと;第2の計算デバイスからユーザ口座データへの要求を受信することであって、第2の計算デバイスには外部アプリケーションが関連付けられる、受信することと;機関に関連付けられた計算デバイスにユーザ口座に関連付けられたユーザ口座データへの要求を提供することと;機関に関連付けられた計算デバイスからユーザ口座データを受信することとを含む。
態様によれば、トークンは機関に関連付けられた計算デバイスから受信される。
別の態様によれば、トークンは第1の計算デバイスから受信される。
更に別の態様によれば、トークンは、第1の計算デバイスを介して機関に関連付けられた計算デバイスに提供される口座信用情報に基づいて、機関の計算デバイスにより生成される。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第1の計算デバイスに、機関に関連付けられた計算デバイスに口座信用情報を提供する命令を提供することを更に含む。
更に別の態様によれば、トークンは、トークンに関連付けられた口座信用情報に基づいてユーザ口座データへのアクセスを認可するのに機関により使用される。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、トークンに関連付けられた一意の識別子を外部アプリケーションに関連付けられた計算デバイスに提供することであって、ユーザ口座データへの要求は一意の識別子を含む、提供することを更に含む。
更に別の態様によれば、トークンに関連付けられた一意の識別子は、少なくとも、外部アプリケーションに関連付けられた計算デバイスに公開トークン又は公開鍵を提供することと;外部アプリケーションに関連付けられた計算デバイスから公開トークン又は公開鍵、秘密鍵及び認証情報及び外部アプリケーションに関連付けられた識別子を含む情報を受信することと;認証情報の有効性を検証することとにより、外部アプリケーションに関連付けられた計算デバイスに提供される。
別の態様によれば、第2の計算デバイスは第1の計算デバイスにユーザ口座データを提供するように構成される。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションによるユーザ口座データへのアクセスを認可解除する要求を受信することと;アクセスを認可解除する要求に応答して、トークン又はトークンに関連付けられたユーザ口座データへのアクセスを取り消すこととを更に含む。
別の態様によれば、情報は1つ又は複数の許可を更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、ユーザ口座データへの要求の受信に応答して、1つ又は複数の許可に基づいて、外部アプリケーションによりユーザ口座データにアクセスする認可を決定することとを更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第2の計算デバイス又は高信頼性第三者取引プロセッサに関連付けられた計算デバイスの少なくとも一方にユーザ口座データを提供することを更に含む。
更に別の実施形態によれば、ユーザ口座データを提供するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、機関に関連付けられた第1の計算デバイスに、認可要求に関連付けられた情報を提供することであって、情報は少なくとも、1つ又は複数のユーザ口座に関連付けられた口座信用情報を含む、提供することと;第1の計算デバイスから追加情報要求を受信することであって、追加情報はマルチファクタ認証情報、複数のユーザ口座から選択されたユーザ口座、又はドキュメントへの同意書のインジケーションの少なくとも1つを含む、受信することと;機関に関連付けられた計算デバイスから、機関、外部アプリケーション、及び1つ又は複数のユーザ口座の少なくとも1つに関連付けられたトークンを受信することと;トークンを第2の計算デバイスに提供することとを含む。
態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、グラフィカルユーザインターフェースをレンダリングすることと;グラフィカルユーザインターフェースを介して口座信用情報を受信することであって、口座信用情報はセキュアに受信され、第1の計算デバイスに提供され、第2の計算デバイス又は第3の計算デバイスによりアクセス不可能である、受信することとを更に含む。
別の態様によれば、情報は、外部アプリケーションのインジケーション又は第2の計算デバイスに関連付けられたエンティティのインジケーションの少なくとも一方を更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションに関連付けられた第3の計算デバイスから、1つ又は複数のユーザ口座の少なくとも1つに関連付けられたユーザ口座データを受信することを更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、高信頼性第三者取引プロセッサに関連付けられた計算デバイスから、1つ又は複数のユーザ口座の少なくとも1つに関連付けられたユーザ口座データを受信することを更に含む。
別の実施形態によれば、ユーザ口座と対話するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第1の計算デバイスから認可要求に関連付けられた情報を受信することであって、情報は少なくとも、機関に関連付けられたユーザ口座に関連付けられた口座情報と、外部アプリケーションに関連付けられた識別子とを含む、受信することと;少なくとも、情報の電子記録及び電子記録に関連付けられたトークンを生成することと;トークンに関連付けられた一意の識別子又はトークンの少なくとも一方を第2の計算デバイスに提供させることであって、第2の計算デバイスには外部アプリケーションが関連付けられる、提供させることと;第2の計算デバイスから、トークンに関連付けられた一意の識別子又はトークンの少なくとも一方と、ユーザ口座に関連する取引を実行させる要求とを受信することと;第3の計算デバイスとの通信を介して取引を開始することであって、第3の計算デバイスには機関、別の機関、又は取引プロセッサが関連付けられる、開始することとを含む。
態様によれば、トークンに関連付けられた一意の識別子又はトークンの少なくとも一方は、第1の計算デバイスを介して第2の計算デバイスに提供される。
別の態様によれば、トークンに関連付けられた一意の識別子又はトークンの少なくとも一方は、第2の計算デバイスに直接提供される。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、トークンに関連付けられた一意の識別子又はトークンの少なくとも一方に基づいて取引を実行させる認可を検証することを更に含む。
別の態様によれば、情報は1つ又は複数の許可を更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、ユーザ口座に関連する取引を実行させる要求の受信に応答して、1つ又は複数の許可に基づいてユーザ口座に関連する取引を実行させる外部アプリケーションの認可を判断することを更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、ユーザ口座に関連する取引を実行させる外部アプリケーションの認可があるか否かのインジケーションを第2の計算デバイスに提供することを更に含む。
更に別の態様によれば、情報は、外部アプリケーションのインジケーション又は機関のインジケーションの少なくとも一方を更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションによるユーザ口座に関連する取引の実行を認可解除する要求を受信することと;取引の実行を認可解除する要求に応答して、トークンに関連付けられた一意の識別子又はトークンの少なくとも一方を取り消すこととを更に含む。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、取引の実行が成功したか否かのインジケーションを第2の計算デバイスに提供することを更に含む。
別の態様により、ユーザ口座に関連付けられた口座情報は、口座番号又は金融機関コードの少なくとも一方を含む。
更に別の態様によれば、生成することは、外部アプリケーションに関連付けられた計算デバイスから要求を受信したことに応答して実行される。
更に別の実施形態によれば、ユーザ口座データを提供するコンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションに関連付けられた第1の計算デバイスから、ユーザ口座のインジケーションを含む認可要求を受信することと;第2の計算デバイスから、機関により保持されたユーザ口座に関連付けられた情報を受信することと;ユーザ口座に関連付けられた情報の少なくとも一部を第三者取引プロセッサに関連付けられた第3の計算デバイスに提供することと;機関、外部アプリケーション、及び機関により保持されたユーザ口座に関連付けられたトークンを受信することと;トークンに関連付けられた一意の識別子又はトークンの少なくとも一方を外部アプリケーションに関連付けられた計算デバイスに提供することとを含む。
態様によれば、トークンに関連付けられた一意の識別子は、少なくとも、外部アプリケーションに関連付けられた計算デバイスに公開トークン又は公開鍵を提供することと;外部アプリケーションに関連付けられた計算デバイスから公開トークン又は公開鍵、秘密鍵、及び外部アプリケーションに関連付けられた識別子を含む認証情報を受信することと;認証情報の有効性を検証することとにより外部アプリケーションに関連付けられた計算デバイスに提供される。
別の態様によれば、外部アプリケーションに関連付けられた計算デバイスは、トークンに関連付けられた一意の識別子又はトークンの少なくとも一方を含む要求を第三者取引プロセッサに関連付けられた計算デバイスに送信するように構成される。
更に別の態様によれば、トークンは第三者取引プロセッサに関連付けられた計算デバイスから受信される。
別の態様によれば、トークンは機関に関連付けられた計算デバイスから受診される。
更に別の態様によれば、トークンは、ユーザ口座に関連付けられた情報の部分に基づいて、第三者取引プロセッサに関連付けられた計算デバイスにより生成される。
別の態様によれば、トークン又はトークンに関連付けられた情報は、ユーザ口座に関連する取引を認可するのに第三者取引プロセッサにより使用される。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションによるユーザ口座へのアクセスを認可解除する要求を受信することと;アクセスを解除する要求に応答して、トークンを取り消させ、又はトークンに関連付けられたユーザ口座へのアクセスを取り消させることとを更に含む。
別の態様によれば、トークンには1つ又は複数の許可が更に関連付けられる。
更に別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第4の計算デバイスに、機関に関連付けられた第2の計算デバイスに口座信用情報を提供する命令を提供することであって、機関に関連付けられた情報は、第4の計算デバイスが第2の計算デバイスに口座信用情報を提供したことに応答して受信される、提供することを更に含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、追加情報要求を第4の計算デバイスに提供することを更に含む。
更に別の態様によれば、追加情報は、マルチファクタ認証情報、複数のユーザ口座から選択されたユーザ口座、又はドキュメントへの同意書のインジケーションの少なくとも1つを含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、第4の計算デバイスから追加情報要求への応答を受信することであって、ユーザ口座に関連付けられた情報の部分は、応答が受信される後まで第3の計算デバイスに提供されない、受信することを更に含む。
更に別の態様によれば、ユーザ口座に関連付けられた情報の部分は、口座番号又は金融機関コードの少なくとも一方を含む。
別の態様によれば、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、機関に関連付けられた第2の計算デバイスから、少なくとも、機関に関連付けられたソフトウェアアプリケーションのシミュレートインスタンスをインスタンス化することであって、ソフトウェアアプリケーションのシミュレートインスタンスは、組織に関連付けられた第2の計算デバイスとAPIを介してインターフェースするように構成され、ソフトウェアアプリケーションのシミュレートインスタンスは、第2の計算デバイスの視点から、ユーザ口座に関連付けられたユーザの物理的な計算デバイスで実行されているソフトウェアアプリケーションであるように見えるように構成される、インスタンス化することにより、機関により保持されたユーザ口座に関連付けられた情報を要求することと;ソフトウェアアプリケーションのシミュレートインスタンスによりAPIを介して、第2の計算デバイスからのユーザに関連付けられたデータを要求することとを更に含む。
別の実施形態によれば、コンピュータ実施方法が開示され、コンピュータ実施方法は、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、外部アプリケーションに関連付けられた第1の計算デバイスから、少なくとも、取引実行要求及び帰還に関連付けられたユーザ口座に関連付けられた口座情報を受信することと;第2の計算デバイスから、少なくとも、外部アプリケーションが取引を実行させる認可を有することのインジケーションを要求することと;第2の計算デバイスから、外部アプリケーションが取引を実行させる認可を有することのインジケーションを受信することと;インジケーションの受信に応答して取引を開始することとを含む。
態様によれば、第1の計算デバイスからトークンも受信される。
別の態様によれば、トークンは第2の計算デバイスにより生成され、第2の計算デバイスにより第1の計算デバイスに提供される。
更に別の態様によれば、トークンには口座情報、外部アプリケーション、及び1つ又は複数の許可が関連付けられる。
別の態様によれば、外部アプリケーションが取引を実行させる認可を有することのインジケーションを要求することは、トークンを第2の計算デバイスに送信することを含み、第2の計算デバイスは要求をトークンに関連付けられた許可と比較する。
更に別の態様によれば、第3の計算デバイスとの通信を介した取引であって、第3の計算デバイスには機関、別の機関、又は取引プロセッサが関連付けられる、取引。
別の態様によれば、口座情報は口座番号又は金融機関コードの少なくとも一方を含む。
本開示の追加の実施形態について添付の特許請求の範囲を参照して以下説明し、特許請求の範囲は本開示の追加の概要として機能し得る。
種々の実施形態では、プログラム命令が実施されたコンピュータ可読記憶媒体と、上述した実施形態及び/又は後述する実施形態(添付の特許請求の範囲の1つ又は複数の態様を含む)の1つ又は複数の態様を含む動作を1つ又は複数のプロセッサに実行させるプログラム命令を実行するように構成された1つ又は複数のプロセッサとを備えるシステム及び/又はコンピュータシステムが開示される。
種々の実施形態では、プログラム命令を実行する1つ又は複数のハードウェアプロセッサにより、上述した実施形態及び/又は後述する実施形態(添付の特許請求の範囲の1つ又は複数の態様を含む)の1つ又は複数の態様が実施及び/又は実行される、コンピュータ実施方法が開示される。
種々の実施形態では、コンピュータ可読記憶媒体を含むコンピュータプログラム製品が開示され、コンピュータ可読記憶媒体にプログラム命令が実施され、1つ又は複数のプロセッサにより実行可能であり、上述した実施形態及び/又は後述する実施形態(添付の特許請求の範囲の1つ又は複数の態様を含む)の1つ又は複数の態様を含む動作を1つ又は複数のプロセッサに実行させるプログラム命令。
加えて、本明細書に記載される幾つかの実施形態は、少なくともメモリ及びプロセッサを含むデータ管理プラットフォーム(又はより一般的には「計算システム」)を参照する。メモリは命令及びデータベースのセットを記憶する。命令がプロセッサにより実行されると、プロセッサは、3つの別個のリモートシステム、デバイス、及び/又はソフトウェアアプリケーションと通信及び/又は対話するための3つのインターフェースをインスタンス化する。特に、一実施形態では、第1のインターフェースはソフトウェアアプリケーション(例えばユーザクライアント)と対話するためにインスタンス化され、第2のインターフェースはリモートデータソースサーバ(例えば金融機関システム)と対話するためにインスタンス化され、第3のインターフェースは第三者サーバと対話するためにインスタンス化される。
この例では、3つのインターフェースは第三者サーバ、リモートデータソースサーバ、及びソフトウェアアプリケーション間の通信を促進する。一例では、相互高信頼性データ管理プラットフォームは、第1のインターフェースを介して、金融機関、公益事業者、又はサービスプロバイダ等の機関のリモートデータソースサーバにアクセスするための信用情報を受信するように構成される。通常、信用情報はソフトウェアアプリケーションにより提示されるグラフィカルユーザインターフェースに手動で入力されるユーザ名及びパスワードを含む。相互高信頼性データ管理プラットフォームが信用情報を受信すると、リモートデータソースサーバにアクセスして、信用情報に対応するデータのセット(例えば金融データ)を取得する。その後、取得されたデータは相互高信頼性データ管理プラットフォームのデータベースに記憶することができる。
幾つかの実施形態では、相互高信頼性データ管理プラットフォームは、第三者サーバから、口座サーバから取得され、相互高信頼性データ管理プラットフォームのデータベースに記憶されたデータの1つ又は複数のタイプについての要求を受信するようにも構成される。要求が受信されると、相互高信頼性データ管理プラットフォームは、要求されたプライベートデータ型に対応する記憶データのサブセットを提供する許可への要求をソフトウェアアプリケーションに提出するように構成し得る。許可が受信される場合、データのサブセットは、通常、第3のインターフェースにより確立される暗号化チャネルにわたり第三者サーバに提出することができる。他の場合、ソフトウェアアプリケーションのオペレータは、データの変更されたサブセットを第三者サーバに提出する許可を提出する前、データのサブセットをレビュー及び/又は変更することができる。他の変形では、アクセスは、恐らくはソフトウェアアプリケーションからのユーザ入力を要求せずに、データ管理プラットフォームにより規制され、選択的に許可される。
上述したように、種々の実施形態によれば、第一者ソフトウェアアプリケーションの仮想化又はシミュレートインスタンスのインスタンス化を介してユーザ口座をセキュア且つ効率的に取得するシステムが開示される。例えば、本開示のシステムは、公開又は非公開(例えばプロプライエタリ)アプリケーションプログラミングインターフェース(API)を介して外部システムとインターフェースするように構成されたソフトウェアアプリケーションのプロキシ仮想化又はシミュレートインスタンスの生成を含む。ソフトウェアアプリケーションの仮想化又はシミュレートインスタンスは、あたかも仮想化/シミュレートインスタンスが実際にユーザ計算デバイスで実行されている第一者ソフトウェアアプリケーションであるかのように、外部システムを用いて認証し得る。公開/非公開APIを介して、ユーザ口座情報は、データを正規化し得、システムの正規化APIを介して他のソフトウェアシステムに提供し得るように取得、処理し得る。したがって、本開示のシステムは、従来の技法よりも外部システムからユーザ口座データを取得するに当たりはるかに効率的であり得る。更に、ユーザ口座データを正規化し得、正規化APIを介して提供し得、他者が高度の効率的に、1つの標準化されたインターフェースからそのようなデータ(元々複数の外部システムから取得された)に効率的にアクセスできるようにする。
これもまた上述したように、本開示の実施形態は、ユーザが、第三者システムに口座信用情報(例えば口座の識別情報)を開示せずに、第三者システムが口座に関連する取引を開始するのをセキュアに認可できるようにするシステム(例えば許可管理システム)及び技法にも関する。そのような取引は、例えば、電子支払いの開始等を含み得る。更に、本開示のシステム及び技法は、第三者システムが口座に関連する取引を開始する認可をユーザがセキュアに解除できるようにし得る。本開示は、幾つかの実施形態では、口座情報をセキュアに記憶する電子記録の自動生成を含む。幾つかの実施態様では、電子記録は、口座及び第三者に関連する1つ又は複数の許可を含み得る。トークン(例えば、電子記録に関連付けられた一意の識別子であり、本明細書では「一意の記録識別子」とも呼ばれる)は第三者システムと共有し得るが、電子記録自体もユーザ口座信用情報も第三者と共有されなくてよい。したがって、第三者(例えば、マーチャントシステム又は開発者により開発されたソフトウェアアプリケーション)は、トークンを提供することによりユーザ口座データを要求し、及び/又は取引を開始し得るが、それ自体、例えば口座番号等は知らない。更に、幾つかの実施態様では、ユーザは、トークン/電子記録に関連する種々の許可を設定し得、トークン/電子記録に関連付けられた許可を取り消す(例えば、第三者を認可解除する)こともでき、したがって、セキュリティの増大をユーザ口座に提供する。本開示は、上述した機能を促進する種々のインタラクティブユーザインターフェースを更に含む。
本開示の実施形態について添付図を参照してこれより説明し、添付図では、同様の番号は全体を通して同様の要素を指す。本明細書に提示される説明で使用される用語は、単に本開示の特定の具体的な実施形態の詳細な説明と併せて利用されているため、限定又は制限的に解釈されることは意図されない。更に、本開示の実施形態は幾つかの新規の特徴を含み得、そのうちの1つは単独でその望ましい特性を受け持ち、又は本明細書に記載される開示の実施形態の実施に極めて重要である。
定義
本明細書で考察されるシステム及び方法の理解を促進するために、幾つかの用語を以下に定義する。以下に定義される用語及び本明細書で使用される他の用語は、提供される定義、用語の普通の慣習となっている意味、及び/又は各用語の任意の他の暗示される意味を広く包含するものとして解釈されるべきである。したがって、以下の定義はこれらの用語の意味を限定せず、定義の例を提供するにすぎない。
許可管理システム(データ管理プラットフォームとも呼ばれ、又はデータ管理プラットフォームにも関連する):機能が本開示に詳述されるコンピュータシステム。許可管理システムの機能(更に詳細に後述する)は、限定ではなく、外部ユーザ口座システムからのユーザ口座データのアクセス及び/又は抽出、外部ユーザ口座システムを介した取引の実行開始又は実行、ユーザ口座に基づくセキュア電子記録及びトークン(例えば電子記録に関連付けられた一意の識別子)の生成、ユーザ口座システムでのユーザ口座へのアクセス及びユーザ口座での取引の実行の許可のイネーブル、ユーザ口座システムでのユーザ口座へのアクセスの許可の取り消し又は認可解除のイネーブル、及び/又はユーザ口座システムでのユーザ口座を介して取引を実行する権利の許可の取り消し又は認可解除のイネーブルを含む。これらの機能1つ又は複数は、後述するように許可管理システムを介して実施し得、標準化されたアプリケプログラミングインターフェース(API)を介して顧客によるアクセスを可能にし得る。したがって、顧客は、標準化されたアプリケーションプログラミングインターフェース(API)を介して許可管理システムの任意の機能(例えばユーザ口座データへのアクセス、ユーザ口座データへのアクセスの許可等)にアクセスし得る。
外部ユーザ口座システム:外部機関の計算システム又はサービス。説明を容易にするために、本明細書における外部機関(又はより簡単に「機関」)への全般的な参照は、それらの機関の外部ユーザ口座システムを指すものと理解し得る。したがって、外部ユーザ口座システムは本明細書では「外部組織システム」、「外部銀行システム」、「銀行システム」、「銀行」、「機関」、及び/又は「外部サービス」等と呼ばれることもある。以下説明するように、外部ユーザ口座システムは、外部機関の第一者ソフトウェアアプリケーション(例えばモバイルデバイスソフトウェアアプリケーション)がユーザ口座データにアクセスできるようにし得る公開及び/又は非公開(例えばプロプライエタリ)アプリケーションプログラミングインターフェース(API)を提供し得る。しかしながら、以下に更に説明するように、本開示のシステムは、例えば、外部組織の第一者ソフトウェアアプリケーションの仮想及び/又はプロキシインスタンスをインスタンス化することにより、外部ユーザ口座システムのそのような公開/非公開APIを介してユーザ口座データにアクセスできようにし得る。外部ユーザ口座は本明細書では「ユーザ口座」と呼ばれることもある。
外部機関:ユーザ口座を維持しているエンティティ。外部機関(本明細書では「機関」とも呼ばれる)の例には、限定ではなく、銀行、クレジットカードプロバイダ、投資サービス、ローンプロバイダ、及び/又は他の適した金融機関又はユーザ口座保持機関がある。
アプリケーションプログラミングインターフェース(API):ソフトウェアアプリケーションを構築するルーチン、プロトコル、及び/又はツールのセット。一般に、APIは、機能にAPIを介して効率的にアクセス可能であるように、動作、入力、出力、及び土台をなすタイプの標準化されたセットを定義する。システムは、本明細書に説明されるように、顧客がシステムの任意の機能にアクセスし得るようにするAPIを提供する。したがって、システムは有利なことには、システムの機能に関わり得る複雑性の多くを取り去り、顧客がシステムの機能を素早く効率的に利用して、他のシステム及びサービスを構築できるようにする。APIのフォーマットは一般に、REST APIで実施し得るものとして本明細書で説明されるが、APIのプロトコル及び媒体は、GraphQL API、簡易オブジェクトアクセスプロトコル(SOAP)、リモートプロシージャコール(RPC)、及び/又は任意の適したタイプのプロトコル等の任意の適した変形であることも可能である。
顧客:本明細書に説明されるように、顧客のソフトウェアアプリケーションにおけるシステムの機能にアクセスするのにシステムのAPIを利用する人。システムの顧客は、限定ではなく、ソフトウェア開発者(例えば、店等のソフトウェアアプリケーション又はモバイルアプリを開発中であり得る)、第三者プロセッサ(例えば第三者支払いプロセッサ)、外部機関、及び/又はマーチャント等を含み得る。
ユーザ対面外部システム/アプリケーション:システムのAPIを介してシステムと対話する顧客のソフトウェアアプリケーション及び/又は計算システム(例えば、顧客により開発される)。ユーザ対面外部システム/アプリケーションの例には、限定ではなく、デスクトップソフトウェアアプリケーション、モバイルデバイスソフトウェアアプリケーション、及び/又はサーバソフトウェアアプリケーション等がある。一般に、ユーザ対面外部システム/アプリケーションは商品又はサービスをユーザに提供する。幾つかの場合、説明を容易にするために、そのようなソフトウェアアプリケーションは本明細書では「アプリ」と呼ばれることもある。更に、ユーザ対面外部システム/アプリケーションは本明細書では「開発者システム」及び/又は「開発者計算デバイス」等と呼ばれることもある。ユーザ対面外部システム/アプリケーションの例には、支払い処理、口座データレビュー/分析、予算管理、口座モニタリング、節約についての推奨の提供等のアプリがある。
第三者プロセッサ:取引、例えばマーチャントの金融取引を処理するエンティティ。口座情報(例えば、クレジット/デビットカード情報、銀行口座情報等)及び支払い情報(例えば、支払い金額、支払い先、及び支払い日等)と共に提供される場合、取引を実行し処理する。幾つかの実施態様では、システムは1つ又は複数の第三者プロセッサシステムと対話して、支払いを実行及び/又は処理し得る。代替的には、システムは取引を処理する機能を含み得、したがって、それ自体の「第三者」プロセッサとして効果的に機能し得る(したがって、「第三者」はこの文脈では幾分か誤った名称であるが、「第三者」という用語が明確さを目的として本開示において使用される)。第三者プロセッサは本明細書では、「高信頼性」第三者プロセッサと呼ばれることもあり、その理由は、幾つかの実施態様では、第三者プロセッサに、例えばユーザ対面外部システム/アプリケーションには委ねられないユーザ口座データが委ねられるためである。第三者プロセッサは本明細書では「第三者取引プロセッサ」と呼ばれることもある。本明細書で使用される場合、「取引」という用語は、限定ではなく、金融取引(例えば、ACH転送、クレジットカード取引、デビットカード取引、他のタイプの支払い又は送金等)、口座情報の更新、アラートのセットアップ等を含め、口座に関連する種々のタイプの活動を含み得る。システムは更に、幾つかの場合、本明細書では取引の実行等と呼ばれることもある種々の他のタイプの活動(例えば、口座情報の更新、サービスの要求等)を可能にすることができる。
ユーザ:外部機関におけるユーザ口座の保有者。一般に、ユーザは、各自のユーザ口座にアクセスするための口座信用情報を保持し、顧客のユーザ対面外部システム/アプリケーション(例えば開発者の「アプリ」)の認可及び/又は認可解除を提供して、ユーザ口座に制限付きでセキュアにアクセスする(例えば、商品又はサービスの支払いを開始するために)。そのような認可及び/又は認可解除は(機能の中でも特に)、本明細書に説明されるように、システムによりシステムのAPIを介して可能になる。有利なことには、幾つかの実施形態によれば、ユーザの口座信用情報は、ユーザ対面外部システム/アプリケーションからは決してアクセス可能にならない。むしろ、システムは、システム(及び/又は高信頼性第三者プロセッサ等のシステムの高信頼性エンティティ)外部に口座信用情報を明らかにせずにセキュアにユーザが認可及び/又は認可解除できるようにし得る。
ユーザ入力(「入力」とも呼ばれる):システムにより受信及び/又は記憶されること、システムにより表示及び/又は記憶されるデータへの更新を生じさせること、及び/又はデータがシステムにより表示及び/又は記憶される方法を更新させること等が意図されるユーザ/顧客により提供される任意のタイプの入力等の計算システムとの人(例えばユーザ又は顧客)の対話。そのようなユーザ入力の非限定的な例には、キーボード入力、マウス入力、デジタルペン入力、音声入力、指タッチ入力(例えばタッチセンシティブディスプレイを介した)、及び/又はジェスチャ入力(例えば、手の動き、指の動き、腕の動き、任意の他の付属器官の動き、及び/又は体の動き)等がある。更に、システムへのユーザ入力は、ユーザにより操作されるツール及び/又は他の物体を介した入力を含み得る。例えば、ユーザは、ツール、スタイラス、又はワンド等の物体を動かして、入力を提供し得る。更に、ユーザ入力は、動き、位置、回転、角度、位置合わせ、向き、及び/又は構成(例えば、握りこぶし、開いた手、1本の指を伸ばす等)等を含み得る。例えば、ユーザ入力は、手及び/又は3Dマウスの位置、向き、及び/又は動きを含み得る。
データストア:任意のコンピュータ可読記憶媒体及び/又は装置(又はデータ記憶媒体及び/又は装置の集まり)。データストアの例には、限定ではなく、光ディスク(例えば、CD-ROM、DVD-ROM等)、磁気ディスク(例えば、ハードディスク、フロッピーディスク等)、及び/又はメモリ回路(例えば、固体状態ドライブ、ランダムアクセスメモリ(RAM)等)がある。データストアの別の例は、リモートにアクセス可能であり得、必要に応じて素早くプロビジョニングし得る物理的なデータ記憶装置の集まり(一般に「クラウド」ストレージと呼ばれる)を含む、ホストされる記憶環境である。
データベース:限定ではなく、関係データベース(例えば、Oracleデータベース、mySQLデータベース等)、非関係データベース(例えばNoSQLデータベース等)、インメモリデータベース、スプレッドシート、カンマ区切り値(CSV)ファイルとして、拡張可能マークアップ言語(XML)ファイル、テキスト(TXT)ファイル、フラットファイル、スプレッドシートファイル、及び/又はデータ記憶の任意の他の広く使用されている又はプロプライエタリのフォーマットを含むデータを記憶及び/又は編成する任意のデータ構造(及び/又は複数のデータ構造の組合わせ)。データベースは通常、1つ又は複数のデータストアに記憶される。したがって、本明細書において(例えば、本明細書における説明及び/又は本願の図において)参照される各データベースは、1つ又は複数のデータストアに記憶されているものとして理解されるべきである。
金融記録へのアクセスを管理する方法
図1に示されるように、ユーザ口座へのアクセスをセキュアに許可し、ユーザ口座データ集計データをセキュアに分配する方法S100は、ユーザ口座のユーザ口座リポートを生成すること(S110)と、第1の第三者システムから口座リポート要求を受信すること(S120)と、リポートトークンを第1の第三者システムと共有すること(S130)と、外部エンティティがユーザの金融リポート情報にアクセスできるようにするよう機能する、リポートトークンを通したユーザ口座リポートへの第1の第三者システムアクセスを提供すること(S140)とを含むことができる。
初期リポートトークンは、リポートへのアクセスに使用し得る。リポートトークンは代替的には、監査トークンとして機能し得る。追加又は代替の変形として、リポートトークンは第2の第三者システムと共有することができ、次に、リポートへの認可及びリポートの完全性を確認するために、第2の第三者システムにより提供される。例えば、リポートトークンは、ユーザ口座リポートが第1の第三者により第2の第三者と共有される場合、監査トークンとして機能し得る。リポートトークンはリポートに付随することができ、その場合、第2の第三者はリポートトークンを使用して、リポートの真正性及び完全性を検証することができる。
更に、図2に示されるように、方法は、ユーザ口座リポートの共有アクセスを管理する機能を含むことができ、その場合、方法は、金融リポートの第2のリポートトークンを共有すること(S150)と、第2のリポートトークンを通してユーザ口座リポートへの第2の第三者システムアクセスを提供すること(S160)とを含むことができる。更に、方法は、図3に示されるように、ユーザに管理ユーザインターフェースを提供し、ユーザ口座リポートへのアクセスを規制すること(S170)を含み得る。
ユーザ口座リポートは、好ましくは、外部機関からのユーザ口座集計データである。好ましい用途では、外部機関は金融機関であり、ユーザ口座リポートは金融リポートとして特徴付けられ、方法は金融記録へのアクセスを管理するように機能する。
したがって、好ましい実施形態の金融記録へのアクセスを管理する方法の変形は、ユーザ口座の金融リポートを生成すること(S110)と、第1の第三者システムから金融リポート要求を受信すること(S120)と、第1の第三者システムとリポートトークンを共有すること(S130)と、外部エンティティがユーザの金融リポート情報にアクセスできるようにするよう機能する、リポートトークンを通して金融リポートへの第1の第三者システムアクセスを提供すること(S140)とを含むものとしてより具体的に説明し得る。更に、方法は、金融リポートの共有アクセスを管理する機能を含むことができ、その場合、方法は、金融リポートの第2のリポートトークンを共有すること(S150)と、第2のリポートトークンを通して金融リポートへの第2の第三者システムアクセスを提供すること(S160)とを含むことができる。更に、方法は、管理ユーザインターフェースをユーザに提供し、金融リポートへのアクセスを規制すること(S170)を含み得る。
方法は、任意の適したユーザ口座集計データのセキュア分配に適用することができる。金融リポートを参照して本明細書に提供される説明は、金融リポートと併せて使用される方法に限定されず、本明細書で説明される方法が、金融リポートへの代替又は追加として、医療記録及び個人データ等の他のタイプのユーザアカウントデータに向けて変更、規制、又は他の方法で適合することが可能なことが当業者には明らかになろう。
金融リポートは、好ましくは、金融機関サーバから取得されたユーザ口座の集計金融データから作成された資産リポートである。金融リポートは、好ましくは、口座/ユーザ情報、取引履歴情報、金融口座残高、日毎の口座残高履歴、及び/又は任意の適した関連情報を含む。幾つかの使用事例では、第1の第三者システムは貸し手の貸付管理システムの部分である。第2の第三者システムは、第2の貸し手の別の貸付管理システム、監査人の計算システム、及び/又は別のエンティティの任意の適したシステムであり得る。
方法S100は、好ましくは、本明細書に記載されるシステムに関連して実施される。主に、方法は、1つ又は複数の外部金融データソースとインターフェースするデータ管理プラットフォームにより実施し得るものとして説明される。1つ又は複数の金融データソースは、方法が銀行システムにより実施される場合等、データ管理プラットフォームの部分であり得る。
方法S100は主に、1つ又は2つの第三者システムに適用されるものとして本明細書に説明されるが、方法は、複数の別個のセカンダリトークンの使用を通して金融リポートへの任意の数の第三者システムによるアクセスを許可することができるように拡張し得る。
方法S100は更に、1人のユーザに使用することができるものとして説明される。しかしながら、方法は、1人又は複数のユーザに対してデータ管理プラットフォームにわたり複数のインスタンスで実施することができる。貸付承認プロセスでは多くの場合、ユーザは金融データの複数のソースへのアクセスを提供する必要がある。したがって、方法は、複数の金融記録にアクセスすることができる(又は代替的には、1つの編纂された金融記録を作成することができる)ようにユーザがデータ管理プラットフォームを通して複数の金融ユーザ口座を認証することが許されることができるよう実施し得る。更に、データ管理プラットフォーム内で、方法は、好ましくは、方法の複数のインスタンスを複数のユーザ及び第三者にわたり実行することができるように実施される。
方法S100は、好ましくは、種々のコンピュータシステム間の一連のアプリケーションプログラミングインターフェース(API)通信を通して促進される。APIは本明細書では主に、RESTful APIとして説明されるが、graphQL、簡易オブジェクトアクセスプロトコル(SOAP)、リモートプロシージャコール(RPC)、及び/又は任意の適したタイプのプロトコル等の任意の適したタイプのAPI。
この方法の種々の態様の詳細な説明について更に、本明細書において説明し、それらは方法S100と組み合わせて又は別個に使用し得る。
ユーザ口座の金融リポートを生成することを含むブロックS110は、ユーザのプライベート金融データへのデータ管理プラットフォームアクセスを付与するように機能する。金融リポートは、好ましくは、少なくとも1つの時点からのデータに基づくデータの提示である。換言すれば、作成されると、金融リポートは、好ましくは、いつアクセスされるかに関係なく同じままである。しかし、幾つかの変形は、金融リポートをリフレッシュすることができるプロセスを可能にし得る。元データは、好ましくは、銀行における当座預金口座若しくは普通預金口座又はクレジットカード口座等の金融機関から取得される。一変形では、金融リポートは金融機関における1つの口座に対応する。幾つかの変形では、データは複数の口座及び/又は金融機関から取得し得、データは1つの金融リポートに編纂することができる。
金融リポートを生成することは、好ましくは、ユーザ口座を認証することと、金融データにアクセスすることと、及び金融リポートを作成することとを含む。
金融データソースの外部システムにおけるユーザ口座を認証することは、金融機関の示されたユーザ口座を有するユーザの身元情報を検証するように機能する。ユーザは一般に、第三者システムにおけるユーザ口座から独立した金融システムユーザ口座を有する。金融システムユーザ口座は、好ましくは、ユーザ信用情報及び種々の認証メカニズム(例えば、2ファクタ認証、認証トークン、及びセキュリティ質問等)を有する。金融システムユーザ口座へのアクセスを取得するために、ユーザ信用情報は、好ましくは、受信され、及び/又は金融データソースに向けられる。
一変形として、ブロックS110は、金融データソースとインターフェースし、金融データソースからのデータにアクセスするように構成されたプロキシサービスを通してユーザ信用情報を受信することを含むことができる。ユーザ信用情報は、好ましくは、第2のクライアントを通して受信され、第2のクライアントは、好ましくは、クライアント又は第1の第三者システムの計算システムとは別個である。
一変形では、ユーザは、別個のアプリケーションを通してデータ管理プラットフォームと金融データソースとの間に接続を確立し得る。別の変形では、ユーザは、第三者システムのアプリケーション内に組み込まれたiフレームウィジェット/アプリケーションから、データ管理プラットフォームと金融データソースとの間の接続を確立することができる。組み込まれたアプリケーションは、好ましくは、第三者システムがユーザ信用情報へのアクセスできないようにサンドボックス化される。ユーザインターフェースを提供して、金融機関の選択及びユーザ信用情報の収集、引き続いての認証ステップの完了(例えば、2ファクタ検証)を促進することができる。
好ましくは、アプリケーションプロキシシステムはデータ管理プラットフォームにより利用されて、金融機関システムを用いての外部金融ユーザ口座の認証の完了及び金融ユーザ口座のプライベートデータへのアクセスを促進し得る。金融機関に応じて、方法は、提供されたプログラム的インターフェース(例えば銀行口座API)を通して又は金融機関システムのユーザインターフェースアクセスをエミュレートすることによりアクセスすることを含み得る。金融機関へのアクセスを有するアプリケーションの内部インターフェースをモデリングするに当たり、種々の機関インターフェースモジュールを使用することができる。
したがって、金融リポートを生成することは、図4に示されるように、ユーザクライアントから金融口座信用情報を受信すること(S112)と、金融口座信用情報を使用して金融機関を用いて認証すること(S114)と、金融機関から金融データを取得すること(S116)と、少なくとも金融データから金融記録を編纂すること(S118)とを含むことができる。幾つかの変形では、S112、S114、及びS116は、1つ又は複数の金融機関の異なる金融ユーザ口座に対して複数回繰り返し得、ブロックS118は、複数の金融ユーザ口座からの金融データから1つ又は複数の金融記録を編纂することを含むことができる。ブロックS114及びS116は、一変形では、モバイルデバイスアプリケーションの仮想化インスタンスを用いて金融機関を用いて認証することと;モバイルデバイスアプリケーションの仮想化インスタンスにより金融機関の非公開APIを介して、金融機関におけるユーザ口座に関連付けられた取引データ及び口座残高を要求することと;外部機関の外部計算デバイスからユーザに関連付けられた取引データ及び口座残高を受信することとを含むことができる。金融機関へのアクセスモードは、利用可能な機関インターフェースモジュールに更に依存し得る。したがって、金融機関に基づいて、適切な機関インターフェースモジュールを選択することができる。
別の変形として、銀行が金融記録へのアクセスを促進している場合等、方法のオペレータが口座金融データの保有者である場合、金融データに直接アクセス可能であり得る。銀行システムは、好ましくは、銀行システムでの口座管理ポータル内で許可を付与することにより又は任意の適したメカニズムを通して、銀行信用情報の受信等の何らかのメカニズムを通してユーザからの許可を認証する。
外部システムにおいてユーザ口座を認証する場合、データプラットフォームは、好ましくは、ユーザ口座のプラットフォーム識別子及び第1の第三者の両方に関連付けられた認証済みデータチャネルとして金融データソースを確立する。第三者は、好ましくは、データ管理プラットフォームにまず登録し、関連付けられた識別子の共有を促進する。例えば、組み込まれたアプリケーションを使用して金融口座をリンクする場合、組み込まれたアプリケーションを通して実行された動作にその第三者を関連付け、マッピングすることができるように、組み込まれたアプリケーションには第三者識別子が供給される。
一実施態様では、プロキシサービスを通して金融ユーザ口座を認証するプロセスは、第三者システムのクライアントと共有されるアクセストークンを確立する。アクセストークンは続けて、第三者システムからデータ管理プラットフォームに通信されて、第三者システムの要求の代理として金融ユーザ口座にアクセスするデータ管理プラットフォームの許可を確立する。
金融データにアクセスし、金融リポートを作成することは、所望のデータを組み立て、金融リポートを提供するに当たり使用することができるデジタルリソースを生成するように機能する。
金融データにアクセスすることは、1つ又は複数の金融ユーザ口座から金融データを収集するように機能する。金融データは、存在する場合、金融機関のプログラム的インターフェースを使用してインポートすることができる。代替的には、データは、リポート、ダッシュボード、データエクスポート、及び/又は他の情報ソースから取得又はスクレープすることができる。
金融リポートは、好ましくは、指定された時間期間にわたる金融ユーザ口座の取引データ及び/又は口座残高を提示する。金融リポートは、好ましくは、カテゴリラベル、ロケーション、及びマーチャント名を用いて取引データをクリーニングする。金融リポートは更に、口座名及び身元情報、残高、日毎残高履歴情報、取引履歴を返し得る。
金融リポートを作成することは、好ましくは、金融データを正規化することを含み、これは、金融データをクリーニングし、一貫したフォーマットに更新するように機能する。金融データを正規化することは、異なる金融機関にわたる非一貫性に対処して、第三者システムによる処理を容易にする。金融データを正規化することは、取引及び/又はマーチャント名をクリーニングし、元の取引記録情報を標準識別子にマッピングすることを含むことができる。
金融リポートを作成することは、生のプライベートデータの表現の統合、サニタイジング、匿名化、及び/又は他の方法での変更を行うことを更に含み得る。一例として、同様のタイプのマーチャントからの複数の取引は1つの取引記録に統合されて、ユーザの挙動詳細を不明瞭化することができる。同様に、マーチャント名もより一般的なプレースホルダに変換することができる。
金融リポートを生成することは金融データをフィルタリングすることを更に含み得、フィルタリングは種々のタイプのデータを除外するに当たり使用し得る。これは、全金融データの限られたビューのみを表す金融リポートを提供するに当たり使用し得る。一例として、金融データをフィルタリングすることは、最新24ヶ月等の指定された時間期間内からの取引データに金融リポートを制限することを含むことができる。例えば、収入検証に向けて構成された金融リポートは、収入に関連付けられた取引データをまとめた情報のみを編纂し得る。
幾つかの変形では、金融リポートを作成することは、金融データを処理し、1つ又は複数の金融分析サマリを提供することを更に含み得る。金融分析サマリは、好ましくは、金融データから生成されるより高レベルの評価又はメトリックとして機能する。金融分析サマリは、1つ又は複数の金融サマリメトリック、グラフ、又はデータセットを含み得る。金融リポートの補足的属性として使用し得るが、代替的には、何らかの情報の代わりに使用することができる。例えば、金融分析サマリは個々の取引詳細の代わりに使用することができる。種々のタイプの金融分析サマリが使用可能である。一変形では、金融分析は1つ又は複数のリスク測定を提供することができる。別の変形では、収入は、ベース収入レベルにより測定され、及び/又は異なる収入源により分けることができる。別の変形では、支出は異なる支出カテゴリに細分することができる。
金融リポートを作成することは、氏名、住所、ロケーション、口座の持続時間、及び/又は金融データソースから取得可能な他の適したタイプのデータ等の口座情報を抽出することを更に含み得る。
金融データにアクセスし、金融リポートを作成することは、好ましくは、ブロックS120からの金融リポート要求に応答して実行される。代替的には、金融リポートは、ユーザ行動に応答して作成することができる。例えば、ユーザは、管理ユーザインターフェースを通して金融リポートの作成を手動で開始することが許され得る。金融リポートの作成は、好ましくは、リポートへのアクセスが許された1つ又は複数の第三者口座と関連して実行される。
ブロックS120は、第1の第三者システムから金融リポート要求を受信することを含み、金融リポートの確立を開始するように機能する。より詳細には、金融リポート要求は作成要求である。データ管理プラットフォームは、好ましくは、有効な金融リポート要求に応答して関連する金融ユーザ口座についての金融リポートの作成を開始する。
金融リポート要求は、好ましくは、APIを通して受信されたプログラム的要求として受信される。第三者からのAPI要求は、好ましくは、第三者システムの計算システムから提出される。より詳細には、第三者クライアントデバイスが要求を行う。代替的には、金融リポート要求は、ユーザ/第三者の管理者に提供されたユーザインターフェースを通して受信することができる。
金融リポート要求は、好ましくは、要求側エンティティ(例えば、第1の第三者口座ID及び秘密トークン)、金融リポートにおいてカバーされる日付等の金融リポートの属性、金融口座識別子、リポートに追加すべき追加データ(例えば、正式な氏名、SSN、及び連絡先情報等)を示すパラメータを用いて作成される。金融口座識別子は、データ管理プラットフォームとユーザの金融ユーザ口座との間のリンクの確立に関連して生成されたアクセストークンとして供給し得る。金融口座識別子(例えばアクセストークン)のセットを供給することができ、各金融データソースに1つが金融リポートに含まれるべきである。幾つかの場合、要求は、データ管理プラットフォームが、金融リポートが作成され、アクセス可能な状態になった場合等の適切なときに連絡することができるコールバックURI(すなわち、ウェブフックURL)を示し得る。
内部で、データ管理プラットフォームは、好ましくは、指定された金融リポートの作成を開始し、指定された金融リポートは、上述したように金融データにアクセスし、金融リポートを作成することを含むことができる。
幾つかの変形では、新しい金融リポートは前の金融リポートから生成することができる。一変形では、既存のリポートをリフレッシュする要求を行うことができる。金融リポートは、ある時点でのユーザの資産及び金融ステータスのスナップショットであり、好ましくは、不変にされる。したがって、方法は、金融リポートをリフレッシュ又は更新するように機能する、金融リポートに関連した更新要求を受信することを更に含み得る。方法は、好ましくは、更新要求に応答して、新しい金融データ及び元の金融リポート要求に基づいて更新された新しい更新済み金融リポートを作成し、更新済み金融リポートの更新されたリポートトークンを供給又は他の方法で返信することを含む。
リフレッシュ済み金融リポートの設定は、前のものと実質的に同じであることができる。しかし、要求は、前の要求パラメータをオーバーライドする異なるパラメータを指定し得る。別の変形では、含まれる口座、取引、又は他の適した情報を制限することにより、金融データのサブセットのみを含むように既存の金融リポートを狭める要求を行うことができる。上と同様に、新しい金融リポートは、好ましくは、フィルタ要求に応答して作成される。フィルタ要求は、好ましくは、金融リポートトークン及びフィルタオブジェクト(例えば、除外する金融ユーザ口座のリスト)を示す。その結果として生成された金融リポートにアクセスし、リフレッシュ済みの金融リポート又はフィルタリング済みの金融リポートを共有することは、好ましくは、新たに作成された金融リポートについて本明細書に説明されたプロセスと略同様である。
ブロックS130は、リポートトークンを第1の第三者システムと共有することを含み、関連付けられた金融リポートへのアクセスに使用可能な暗号鍵を第三者システムに供給するように機能する。リポートトークンの共有は、好ましくは、リポートトークンを確立し、セカンダリリポートトークンを第1の第三者システムに通信することを含む。金融リポート識別子は、好ましくは、金融リポートの作成に関連して生成又は他の方法で割り当てられる。更に、リポートトークンは作成又は生成され、金融リポート(及びその識別子)に一意に関連付けられる。リポートトークンは更に、その口座識別情報のみがその特定のリポートトークンを使用して金融リポートにアクセスすることができるように、第三者口座識別子に一意に関連付けられ得る。リポートトークンは代替的には、複数の第三者口座に関連付けられ得る。関連するリポートトークン情報(例えば、金融リポート識別子、リポートトークン、及び第三者口座識別子のマッピング)を記憶したデータベースは、好ましくは、それに従ってリポートトークンの記録を記憶するように更新される。
リポートトークンを作成すると、リポートトークンは、好ましくは、第三者システムに通信される。好ましくは、図26に示されるように、リポートトークンはブロックS120の金融リポート要求への通信応答において通信される。
第三者システムは、金融リポートに続けてアクセスするために、好ましくは、セキュアで持続的なデータストアに口座識別子を記憶する。
更に別の変形では、リポートトークンは、金融リポートの完全性を検証するのに使用することができる監査トークンとして使用し得る。幾つかの変形では、金融リポートはリポートトークンと共に共有し得る。リポートトークンは、金融リポートの完全性を検証することができるメカニズムとして機能することができる。例えば、第2の第三者システムは監査トークンをデータ管理プラットフォームに提出することができ、共有された金融リポートが同じ情報を含むことを検証すること等によりリポートの完全性のインジケーションを提供することができ、又は少なくとも情報は、ユーザ口座データの少なくとも一部及びデータ管理プラットフォームのリポートと一貫するものとして検証される。
ブロックS140は、リポートトークンを通して第1の第三者システムアクセスを金融リポートに提供することを含み、金融リポートへのアクセスを第1の第三者システムに送出又は露出するように機能する。
アクセスは、好ましくは、金融リポートが完成すると提供される。一変形では、金融リポートが完成したとき、第三者システムのコールバックURIがデータ管理プラットフォームにより呼ばれる。別の変形では、第三者システムはデータ管理プラットフォームを定期的にポーリングして、金融リポートがいつ完成するかをチェックする。代替的には、金融リポートが準備されるとき、第三者システムとデータ管理プラットフォームとの間の接続を確立するのに、ウェブソケット又は他のメカニズムを使用し得る。
したがって、好ましい一変形の第1の第三者アクセスを提供することは、金融リポートが完成したとき、指定されたURIに通信を送信することと、第三者システムから金融リポートアクセス要求を受信することと、金融リポートを返すこととを含む。述べたように、金融リポートの完成を第三者システムに通知するに当たり、他の手法を使用することも可能である。ここでは、第三者システムから通信を受信することは、認証信用情報又は起点であるクライアントが第三者の代理として動作していることが理解されることを示す暗号トークンを含む通信(例えばHTTP/Sメッセージ)が受信されることを示す。受信された金融リポートアクセス要求は、好ましくは、図27Aに示されるように、リポートトークンを更に含み、又は参照する。リポートトークンは、好ましくは、関連付けられた第三者に属するものとして確認される。一実施態様では、リポートトークンは、リポートトークンデータベースのクエリに使用することができ、検索されたリポートトークンは次に、金融リポートの識別及び関連付けられた第三者識別情報についてのアクセス許可の検証に使用することができる。
一変形では、金融リポートは、PDF、データエクスポート(例えば、csv、json、及びxml等)、又は他の適したメディアファイル等の共有可能メディアファイルとして作成することができる。金融リポートアクセス要求は、金融リポートのメディアフォーマットを指定し得、対応するフォーマットの金融リポートが返される。図27Bに示されるように、金融リポートのjsonデータ表現は、口座情報、残高、残高履歴、及び取引等の種々の属性をブレークアウトすることができる。
追加又は代替の一変形として、金融リポートは、制御されたユーザインターフェースを通して共有され得、デジタルデータオブジェクトとして送出されないことがある。制御されたユーザインターフェースは、好ましくは、制御された媒体内で金融リポートを提示する金融リポートアクセスユーザインターフェースである。したがって、リポートトークンを介して第1の第三者システムアクセスを金融リポートに提供することは、リポートトークンに付随するアクセス要求を受信することと、金融リポートアクセスユーザインターフェースを提示することとを含むことができる。金融リポートアクセスユーザインターフェース内で、金融リポートを提示することは、静的ドキュメント表現を提示することを含み得る。代替的には、金融リポートを提示することは、金融リポートへのインタラクティブインターフェースをレンダリングすることを含むことができ、金融リポートという結果は、インタラクティブユーザインターフェースにおいてクエリされ探索され得る。制御された計算環境は、データ管理プラットフォームの制御外で金融リポートをダウンロードし、金融リポートを共有する第三者の機会を制限し得る。幾つかの場合、金融リポートアクセスユーザインターフェースは、他の共有可能なメディアファイルフォーマットと共に選択可能な選択肢であり得る。幾つかの場合、アクセスのフォーマットは何らかの他のファクタにより制御し得る。例えば、監査リポートトークンを使用して金融リポートにアクセスする二次貸し手は、ユーザインターフェースフォーマットのみに制限し得る。
述べたように、方法は、金融リポートについて第2のリポートトークンを共有すること(S150)と、第2のトークンを通して金融リポートへの第2の第三者システムアクセスを提供すること(S160)であって、指定された第三者エンティティに追加のリポートトークンを生成できるようにするよう機能し得る、提供すること(S160)とを更に含み得る。追加のリポートトークンは、好ましくは、第三者エンティティ識別子に一意に関連付けられ、機能的にデータ管理プラットフォーム内の口座識別子であり得る。第1の第三者システムは、好ましくは、追加のリポートトークンの作成を要求する。幾つかの変形では、他の第三者エンティティは、リポートトークンを有すると、追加のリポートトークンの生成を更に要求し得る。幾つかの変形では、新しいリポートトークンを作成する許可は種々の方法で制限し得る。
ブロックS150は、金融リポートの第2のトークンを共有することを含み、第2の第三者システムに、関連付けられた金融リポートへのアクセスに使用可能な暗号鍵を供給するように機能する。ブロックS150はブロックS120及びS130と同様に動作する。ブロックS150は、少なくとも、リポートトークンが新しい第三者に関して要求されるという点でS120及びS130と異なる。
好ましくは、金融リポートの第2のトークンを共有することは、第1の第三者システムからセカンダリリポートトークン要求を受信することと、セカンダリリポートトークンを確立することと、セカンダリリポートトークンを第1の第三者システムに通信することとを含む。
セカンダリリポートトークン要求は、好ましくは、新しいセカンダリリポートトークンを作成する要求である。セカンダリリポートトークン要求は、好ましくは、第2の第三者エンティティの識別子を含む。幾つかの変形では、利用可能な第2の第三者エンティティのリストは、認可された第三者の限られた集合である。例えば、第2の第三者エンティティは、監督コンプライアンスについて金融リポートを共有する場合、「ファニーメイ」であることができる。
幾つかの変形では、セカンダリリポートトークンへの要求は要求されない。代替の一変形では、セカンダリリポートトークンは、金融リポートの生成に応答して自動的に生成し得る。例えば、金融リポートを作成する元の要求は、セカンダリリポートが望まれる1つ又は複数のセカンダリ第三者エンティティを指定し得る。別の変形では、種々の監査要件のインジケーションは、指定された監査組織にアクセスを提供するようにデータ管理プラットフォームを予め構成し得る。
セカンダリリポートトークンを確立することは、好ましくは、新しいリポートトークンを作成することを含む。元のリポートトークンと同様に、セカンダリリポートトークンは金融リポート(例えば、金融リポート識別子を介して)に一意に関連付けられ、その特定のセカンダリリポートトークンを使用して第2の第三者の口座のみが金融リポートにアクセスできるように第2の第三者に一意に関連付けられる。新しいリポートトークンは、セカンダリリポートトークンとして言及されることがある。代替的には、セカンダリリポートトークンは元のリポートトークンから明示的に区別されないことがある。例えば、同じリポートトークンデータベースを使用して、リポートトークンを記憶し得る。
セカンダリリポートトークンは、好ましくは、外部通信チャネルを通して関連付けられた第2の第三者エンティティに通信される。しかしながら、幾つかの変形では、セカンダリリポートトークンは第2の第三者エンティティに直接送出することができる。例えば、セカンダリリポートトークンは、何らかの識別情報と共にリポートトークンのリポジトリに追加することができる。第2の第三者は、新たに追加されたリポートトークンに通知し得る。別の変形では、コールバックURIが供給され(例えば、セカンダリリポートトークンを作成する要求を用いて、又は第三者口座として登録する場合第2の第三者により)、セカンダリリポートトークンはコールバックURIに送出される。コールバックURIが第2の第三者システムにアドレス指定されている場合、第2の第三者エンティティはセカンダリリポートトークンと直接通信される。
セカンダリリポートトークンは代替的に監査トークンと呼ばれることもあるが、セカンダリリポートトークンのユーザは監査人に限定されない。例えば、貸付の引き継ぎを評価する場合、他の貸し手に元の金融リポートへのアクセスが与えられ得る。
ブロックS160は、第2のトークンを通して金融リポートへの第2の第三者システムアクセスを提供することを含み、第2の第三者システムに対して金融リポートへのアクセスを送出又は露出するように機能する。ブロックS160は、好ましくは、ブロックS140と略同様であり、ブロックS140の変形の多くがS160に当てはまり得る。
第2の第三者システムに、金融リポートにアクセスするためにセカンダリリポートトークンが提供される場合、金融リポートは既に作成されていることが多い。金融リポートが作成されない場合、金融リポートが利用可能なとき、第1及び/又は第2の第三者に通知するに当たり、ブロックS140において使用されたものと同様のメカニズムを使用し得る。
ブロックS140と同様に、ブロックS160は、第2の第3者システムから金融リポートアクセス要求を受信することと、金融リポートを返すこととを含み得る。この第2の金融リポートアクセス要求は、好ましくは、第2の第三者システムから送信され、第2の第三者口座からのものとして認証される。金融リポートアクセス要求はセカンダリリポートトークンを更に含むことができ、セカンダリリポートトークンは、金融リポート及び第2の第三者口座へのマッピングとして検証される。金融リポートのフォーマットも同様に要求し得る。
代替的には、セカンダリリポートトークンを通して金融リポートへの第2の第三者システムアクセスを提供することは、セカンダリリポートトークンに付随するアクセス要求を受信することと、金融リポートアクセスユーザインターフェースを提示することとを含むことができる。
ブロックS170は、管理ユーザインターフェースをユーザに提供し、金融リポートへのアクセスを規制することを含み、金融リポートを扱う人を監督するメカニズムをユーザに与えるように機能する。第1の第三者との金融リポートの初期共有は通常、ユーザにより理解されるが、金融リポートと共にとられる続く動作は、特に従来の手段を通して実行される場合、エンドユーザに露出されないことが多い。ブロックS170は、ユーザが金融リポートに関連する活動を見ることができ、及び/又は金融リポートにわたり何らかの制御手段を表す動作をとられるようにする多種多様なメカニズムを提供する。
ブロックS170の一変形では、金融リポートへのアクセスを規制することは、金融リポートのアクセス履歴を提供することを含むことができ、アクセス要求及び金融リポートにアクセスする第三者のインスタンスの監査を提供するように機能する。アクセス履歴は、好ましくは、第三者情報と共にイベントの時刻等の詳細と共に管理ユーザインターフェース内に提示される。ユーザは、金融リポートが誰と共有されたかをレビューすることができる。
ブロックS170の追加又は代替の変形では、金融リポートへのアクセスを規制することは、管理ユーザインターフェースを通してアクセス許可を受信することと、アクセス許可に従って金融リポートへのアクセスすることとを含むことができる。
アクセス許可に従って金融リポートへのアクセスを許可することは、誰が金融リポートにアクセスできるか、金融リポートにいつアクセスできるか、誰が他の第三者の新しいリポートトークンを作成することができるか、誰が金融リポート内の特定の情報を見ることができるかを制限すること及び/又は他の規制動作を含むことができる。アクセス許可の設定は、管理ユーザインターフェース内で先制して実行することができる。例えば、ユーザは、セカンダリ第三者との金融リポートの共有を制限する選択肢を選択し得る。
更に、アクセス処理の設定は、データ管理プラットフォーム内で管理され、構成することができる。一例では、新しい第三者による金融リポートへの初期アクセスは、ユーザによる入力に応答して許可し得る。ユーザによる応答入力は代替的には、図29のS2821及びS2822に示されるように、デフォルト機能として構成し得る。
一変形では、管理ユーザインターフェースを通してアクセス許可を受信し、アクセス許可に従って金融リポートへのアクセスを許可することは、管理ユーザインターフェースを通して新しいアクセス要求をユーザに通知することと、新しいアクセス要求へのユーザ入力を受信することと、ユーザ入力に従ってアクセス要求を許可することとを含むことができる。新しいアクセス要求の通知は、第三者のリポートトークンを作成する前、金融リポートへのアクセスを提供する前、又は任意の適したときに実行し得る。同様のユーザ入力検証は、より新しい金融データで金融リポートをリフレッシュする等の他の動作に対して実行することもできる。
一例では、データ管理プラットフォームは、暗号化され認証されたチャネルを経由してユーザの管理インターフェースに、ユーザからの許可を求め、要求された金融リポートを1つ又は複数の指定された第三者に開示する要求を送信する。ユーザが要求を拒絶する場合、データは第三者に開示されず、ユーザのデータプライバシーは維持される。ユーザが要求を承認する場合、指定された第三者は金融リポートにアクセスすることができる。一実施態様では、ユーザの応答が供給された場合、第三者システムのコールバックURIが通知される。
ユーザ入力を取得する追加又は代替の変形では、方法は、第三者によるアクセスを自動的に規制することを更に含み得る。第三者によるアクセスを自動的に規制することは、有効なアクセス要求を動的且つ選択的に許可することと、無効なアクセス要求を拒絶することとを含むことができる。アクセス要求の有効性は多種多様なファクタに基づき得る。データ管理プラットフォームは、種々の第三者の活動への可視性を有するため。データ管理プラットフォームは、プラットフォームを使用して複数のユーザ及び第三者にわたる金融リポートアクセスを分析するプロセスを実施し得る。効果的なことに、方法は、第三者のプラットフォーム対話を評価することを含み得る。プラットフォーム対話を評価することは、好ましくは、データ管理プラットフォームの要求及び使用の履歴を分析することを含み、データ管理プラットフォーム外部の情報を分析することを更に含み得る。プラットフォーム対話の評価結果は、第三者の信頼スコアを生成することができ、又は代替的には、特定の使用パターンのフラグ付けに使用し得る。
アクセスを自動的に規制するに当たり、標準又は予期されるアクセス要求は自動的に許可し得る。例えば、規制組織及び高信頼性第三者は、リポートトークンを使用して金融リポートにアクセスすることに自動的に許可され得る。第三者による典型的な挙動及び/又は違法又は不要な挙動を示す活動は、アクセス要求が自動的に拒絶され得る。幾つかの場合、許可又は拒絶の判断は、ユーザ入力を取得することによりユーザに委任し得る。例えば、疑わしいアクセス要求を自動的に拒絶する代わりに、データ管理プラットフォームは、管理ユーザインターフェースを通してユーザに通知し、その事柄についてのユーザ入力を受信し得る。
方法の例示的な実施態様
図28A及び図28Bに示される例示的な実施態様では、方法はデータ管理プラットフォームのAPIと組み合わせて実施されて、資産リポートの作成及びセキュアアクセスを管理することができる。図21Bに示されるように、第1及び第2の第三者システムは、リポートにアクセスするために、APIと対話することができる。図28Aに示されるように、データ管理プラットフォームはまず、ユーザの金融口座にアクセスするようにセットアップされる。ユーザは、好ましくは、データ管理プラットフォームの口座アクセスインターフェースを使用する。口座アクセスインターフェースは、好ましくは、デジタルシステムが外部ユーザ口座のプライベートデータにアクセスする高信頼性ソースとして動作するようにデータ管理を構成するために、セキュア認証フローを提供するのに使用することができるプロキシサービス又はプログラム的インターフェースのセットである。例えば、図22A~図22Lに示される等のユーザインターフェースは、ユーザが銀行ユーザ口座の銀行信用情報を用いて認証できるようにすることができ、それにより、データ管理プラットフォームは、その銀行ユーザ口座の金融データにアクセスすることができる。したがって、ユーザは、好ましくは、アイテムの作成を開始し(S2801)、アイテムは外部ユーザ口座の信用情報のセットを表す。アイテムは、外部金融機関システム等の外部システムを用いての認証に使用される。認証信用情報は次に、金融口座へのアクセスS2802及び関連付けられたプライベートデータへのアクセスS2803に使用される。ユーザ口座に金融口座をリンクすることは、好ましくは、ユーザ口座の任意の数に対して繰り返すことができる。例えば、S2801~S2803は、金融リポートが望まれる複数の銀行に対して繰り返すことができる。
ユーザクライアントは、別個のアプリケーション又は貸し手システムに統合された構成要素であることができる。アクセストークンは、好ましくは、クライアントと貸し手システムとの間で共有され、そして貸し手システムとデータ管理システムとの間で共有される(S2804)。
貸し手システムで資産リポートを作成する準備ができると、貸し手システムは、好ましくは、資産リポート作成要求を送信する(S2805)。次に、データ管理システムは、資産リポートの作成を開始し(S2806)、これは、ある時点からの金融記録の履歴記録として機能する。内部識別子がデータ管理システム内で作成され(S2807)、次に資産トークンの割り当てに使用され(S2808)、トークンは貸し手システムと共有される(S2809)。
内部金融記録アクセスシステムは、好ましくは、データが現在のものではない場合、1つ又は複数の金融機関のプライベートデータにアクセスする。データにアクセスすると、資産リポートが生成される。好ましい一実施態様による手法は、ウェブフックを使用して貸し手に通知すること(S2810)(すなわち、貸し手システムの指定されたURIに通信されるHTTP/S通信)であるが、貸し手システムに通知する任意の適したモードが使用可能である。通知されると、貸し手システムはデータ管理プラットフォームに手を伸ばして、完成した資産リポートを要求する(S2811)。好ましくは、要求は資産トークンを含む。資産トークンは記録にマッピングされ、貸し手識別子及び資産識別子への対応性について検証される(S2812)。次に、対応する資産リポートは、好ましくは、貸し手システムに返される(S2813)。データ管理プラットフォームは、資産リポートを送出する際、任意の種類のアクセスポリシーを適用し得る。アクセスポリシーは部分的にエンドユーザにより管理し得る。更に、アクセスへの要求及び/又は提供されたアクセスは追跡され、ユーザ又は他の当事者に報告することができる。
幾つかの使用シナリオでは、資産リポートの初期取得者は、図28Bに示されるように、資産リポートの情報へのアクセスを他者に提供したいことがある。例えば、監査人又は別の貸し手は金融リポートへのアクセスに関心を有し得る。例えば、アクセス共有プロセスを使用して、ファニーメイへのアクセスを提供することができる。貸し手は、好ましくは、指定された当事者が金融リポートにアクセスするのにも使用することができる新しいトークンを作成する要求を行う(S2814)。好ましくは、第2の資産トークンは作成され(S2815)、第2の第三者の口座識別子が関連付けられ、第2の第三者の口座識別子は、図28Bの場合、監査人の口座IDである。第2の資産トークン(例えば「監査トークン」)を貸し手に返すことができ(S2816)、次に貸し手は、好ましくは、監査トークンを監査人と共有する(S2817)。監査トークンを用いて、監査人はデータ管理プラットフォームへの自身の要求を行うことができる(S2818)。プラットフォームは、口座に監査トークンが関連付けられていることを検証し、資産リポートにアクセスし(S2819)、次に資産リポートを貸し手に送出することができる(S2820)。好ましくは、一意のリポートトークンが作成され、アクセスを望む各第三者により使用される。幾つかの場合、元の第三者のみがセカンダリリポートトークンを生成することができる。他の場合、セカンダリリポートトークンのユーザ及び/又は保有者は追加又は代替として、新しいリポートトークンを許可することができ得る。
ユーザ口座データにプログラム的にアクセスするシステム及び方法の例
図30は、1つ又は複数の外部ユーザ口座システムからユーザ口座データにアクセスし得る計算システム100(例えばシステム)の特定の態様を示す。システム100は、アプリケーションプログラミングインターフェース(API)サービス110、アプリケーションプロキシシステム120、及び少なくとも1つの機関インターフェースモジュール(例えばモジュール131、132、及び133)を含み得る。システムは、露出されたプログラム的アクセスがない1つ又は複数の外部ユーザ口座システム(例えば、外部ユーザ口座システム141、142、及び143)へのプログラム的なアクセスを提供するように機能する。外部ユーザ口座システムは、プロプライエタリ外部金融サービス(例えば、特に上述したような金融機関サービス)を含み得る。そのような機関は、ユーザがモバイルデバイス又はデスクトップデバイスからユーザ口座データ/情報にアクセスできるようにする第一者ソフトウェアアプリケーション(例えばモバイルアプリケーション)を有し得る。そのような第一者アプリケーションは一般に、プロプライエタリ又はカスタマイズされたアプリケーションプログラミングインターフェース(API)(例えば、API161、162、及び163)を使用する。これらのAPIは一般に公開されず、露出されない。例えば、開発者は一般に、口座を登録し、オープンAPI認証手法を使用して、そのような外部ユーザ口座システムのAPIリソースに任意にアクセスすることができないようにされる。更に、外部ユーザ口座システムのAPI(例えば、API161、162、及び163)は、他の機関と共有されない重要なカスタマイズされたインターフェースプロトコルである;例えば、各外部ユーザ口座システムはそれ自体のインターフェースに準拠する。
システム100は、正規化されたインターフェース(例えばAPIサービス110)を1つ又は複数の外部ユーザ口座システム(例えば、外部ユーザ口座システム141、142、及び143)に提供するように機能する。システム100は、アプリケーションプロキシシステム120を利用することにより外部ユーザ口座システム内のユーザ口座にアクセスできるようにする。アプリケーションインスタンスの仮想化「像」又はデジタルシミュレーションがアプリケーションプロキシシステム120に保持され、外部ユーザ口座システムの非露出API(例えば、API161、162、及び163)にアクセスするのに使用される。システムは金融機関に適用し得るが、システムは追加又は代替として、APIアクセスが閉じられているか、又は制限された他の外部システムへのAPIアクセスの提供に適用することもできる。
システムのAPI110は、正規化された顧客対面インターフェースを提供するように機能する。API110は、ユーザ口座データのソースとして機能する外部ユーザ口座システム(例えば、外部ユーザ口座システム141、142、及び143)への、土台をなす非公開(又は公開)APIが無視され、種々の異なる外部ユーザ口座システムへのAPI110が実質的に標準化されるという意味で正規化し得る。幾つかの変形では、API110の種々の態様は、外部ユーザ口座システムと対話する場合、制限され得る。例えば、ある機関はデジタル小切手入金等の特徴をサポートせず、一方、第2の機関はサポートすることがある。この場合、API110は、小切手入金というAPI特徴が第1の機関では阻止されるようにAPIを定義し得る。システム100、より具体的にはAPI110は、アクセス可能なAPIサービスを顧客、例えば外部開発者に提供するのに使用し得る。したがって、システム100は、多くの口座がシステム100の使用を共有できるようにするマルチテナントシステムであり得る。システム100、より具体的にはAPI110は代替的には、シングルテナントシステムであり得る。例えば、システムは、オンライン金融管理製品を提供するウェブサイトへの内部システムとして使用し得る。
APIサービス110はRESTful APIであり得るが、代替的にはSOAP又はカスタムプロトコル等の任意の適したAPIであり得る。RESTful APIはHTTP要求及び応答モデルに従って機能する。システム100へのHTTP要求(又は任意の適した要求通信)は、RESTful設計の原理に従い得る。RESTfulは、本明細書では、当技術分野で既知のように、表現状態転送アーキテクチャを記述するものとして理解される。RESTful HTTP要求はステートレスであり得、したがって、通信される各メッセージは、要求の処理及び応答の生成に必要な全ての情報を含む。APIサービス110は、要求された情報を指定し、又は特定の動作を要求するメカニズムとして機能するエンドポイントとして機能する種々のリソースを含むことができる。リソースは、URI又はリソースパスとして表現することができる。RESTful APIリソースは更に、GET、PUT、POST、及び/又はDELETE等の異なるタイプのHTTPメソッドに応答することができる。
APIサービス110は、システム100により提供されるように、多種多様な情報及び動作リソースへのインターフェースを提供することができる。ユーザ口座に関連する情報/データは、API110を介して特定のAPIリソースをクエリすることを通してアクセス可能であり得る。例えば、取引のリスト及び個々の各取引についての情報に、API110の異なるAPI呼び出しを通してアクセス可能であり得る。情報は更に、口座サマリ情報、住所及び連絡先情報等の口座詳細、取引に関わるエンティティ等の他の当事者についての情報、及び/又は任意の適した情報に関連することができる。API110は更に、何らかの動作のトリガー又は実行促進に使用することができる。例えば、API呼び出しが、送金、口座情報の更新、アラートのセットアップ、又は任意の適した動作の実行に使用され得る。そのようなAPI特徴例では任意の適したAPI特徴可能性及びセマンティックアーキテクチャが使用可能なことを当業者は理解しよう。
一実施態様例では、API110を介したAPI呼び出しが、ユーザの追加、認証の完了、取引情報へのアクセス、及び他の動作をサポートすることができる。例えば、アプリケーションは、ユーザを認証するために、API110の「/connect」REST APIリソースにポストし得;機関がマルチファクタ認証を含む場合、「/connect/step」リソースを提出して、マルチファクタ認証を完了することができ;「/connect」リソースに対してGETを実行することは、ユーザ/ユーザの口座に関連する取引データにアクセスすることができる。API110は更に、取引に関わるエンティティについての情報にアクセスするための情報リソースを含み得る。例えば、API110は、氏名、ロケーション、及び分類等のビジネスについての状況情報を取得するために特定のビジネスリソースにアクセスできるようにし得る。本明細書に記載されるシステム及び方法の好ましい使用事例では、API及びAPIリソース/エンドポイントのセットが、金融リポートの作成要求、金融リポートへのアクセス、第2の第三者の新しいリポートトークンの作成、更新された金融リポートの作成、及び/又はフィルタリングされた金融リポートの作成等の動作のために存在する。
アプリケーションプロキシシステム120は、機関への第一者ソフトウェアアプリケーションアクセスのシミュレーションを管理するように機能する。アプリケーションプロキシシステム120は、1つ又は複数の機関インターフェースモジュール(例えば、機関インターフェースモジュール131、132、及び133)と協働して、仮想化又はシミュレートされたアプリケーションインスタンス(本明細書では「アプリケーションプロキシインスタンス」、「プロキシインスタンス」、「仮想化インスタンス」、及び/又は「シミュレートされたインスタンス」等とも呼ばれる)(例えば、プロキシインスタンス121、122、及び123)として動作するデータモデル及び/又はデータ像を確立する。機関の視点から、プロキシインスタンス(例えば、プロキシインスタンス121、122、及び123)は、ユーザにより使用されている物理的なユーザデバイス(例えばユーザデバイス171及び172)にインストールされた第一者アプリケーション(例えば銀行2のアプリケーション153)として見える。換言すれば、プロキシインスタンスから受信された要求は、ユーザの第一者モバイルアプリ、デスクトップアプリ、又はウェブベースのアプリケーションからの要求のように扱われる。アプリケーションプロキシシステム120は、複数のアプリケーションプロキシインスタンス(例えば、プロキシインスタンス121、122、及び123)を記憶し保持し得る。プロキシインスタンスは、定義された機関インターフェース(例えば、機関インターフェースモジュール131、132、及び/又は133の機関インターフェース)に従って使用される場合、機関(例えば、機関141、142、及び/又は143)の第一者アプリケーション(例えばアプリケーション153)からの要求として見える構成設定及び属性を含み得る。各ユーザ口座-機関ペアで異なるプロキシインスタンスを作成し保持し得る。所与のユーザは、異なる機関で複数のユーザ口座を有し得る。プロキシインスタンスは、機関システム(例えば、機関141、142、及び/又は143)を用いてプロキシインスタンスを認証するのに使用することができる属性のセットを含み得る。アプリケーションプロキシシステム120は、ユーザにプロキシインスタンスをプログラム的に作成する方法を提供する。ユーザは、機関の非公開又は公開APIを用いたプロキシインスタンスの初期登録に使用することができるいくらかの口座信用情報を提供し得る。プロキシインスタンスは、記憶し保持することができる属性のセットとして特徴付けられ得る。それらの属性の幾つかは自動的に生成し得、登録ネゴシエーション中に機関から提供され得、シミュレートされているアプリケーションの属性であり得、及び/又は任意の適した識別及び認証情報を含み得る。属性は、一意のユーザ識別子コード、認証トークン、MACアドレス(例えば、ユーザデバイス171又は172のMACアドレス)、又は任意の適した情報を含み得る。要求がユーザの代理として銀行に対して行われた場合、プロキシインスタンスの属性を呼び出して、関連付けられたユーザの代理として機関へのアクセスを獲得し得る。
図31は、図30の一例のプロキシインスタンス121、122、及び123を示す。図31に示されるように、ユーザAは銀行1及び銀行2に口座を有し、ユーザBは銀行2に口座を有する。図31に示されるように、各プロキシインスタンスは口座信用情報及び属性を含む。
機関インターフェースモジュール(例えば、機関インターフェースモジュール131、132、又は133の1つ)は、外部機関(例えば、機関141、142、又は143の1つ)との少なくとも1つのアプリケーション(例えばアプリケーション153)の内部インターフェース(例えば、API161、162、又は163との対話)をモデリングするように機能する。機関インターフェースモジュールは、システム100がインターフェースすることができる各機関に確立し得る。例えば、機関インターフェースモジュールは、システムで利用可能な各銀行及び/又はクレジットカード会社に存在し得る。機関インターフェースモジュールは、特定の機関のルール及びプロセスのセットを含み得る。機関インターフェースモジュールは、機関が特定のアプリケーションをいかに認識及び/又は認証するかを定義するプロキシサブモジュールを含み得る。銀行によっては、デバイスのMACアドレス(例えば、ユーザデバイス171及び/又は172のMACアドレス)に依存するものもあれば、非対称暗号トークンに依存するものもあれば、暗号化されたトークンを生成するものもある。プロキシサブモジュールは、プロキシインスタンス情報を確立するに当たり使用される。機関インターフェースモジュールは機関プロトコルサブモジュールを更に含むことができ、機関プロトコルサブモジュールは、提供されたAPI110の機能と、外部機関(例えば、機関141、142、又は143)との通信の形態及びモードとの間のマッピングを定義する。機関プロトコルサブモジュールは、関連付けられた機関に送信されるメッセージのヘッダ、本文、及び他の属性を定義することができる。プロトコルサブモジュールは、そのメッセージを形成するのにデータがいかに処理されるべきかを更に定義し得る。幾つかの場合、データは、プロトコルサブモジュールが定義することができる標準又はプロプライエタリフォーマットで暗号化し得る。更に、プロトコルサブモジュールは、要求を満たすための通信フローを定義することができる。幾つかの場合、要求の目的を遂げるために複数の要求が必要であり得る。マルチファクタ認証ルール等の外部機関(例えば、機関141、142、及び/又は143)のインターフェース(例えば、API161、162、及び/又は163)と対話する他の態様は、機関インターフェースモジュールに更に構築し得る。
機関インターフェースモジュールは、実際の第一者アプリケーション(例えばアプリケーション153)の使用に基づいて構築し得る。例えば、第一者アプリケーションの通信及び/又はソースコードをパースし分析して、機関インターフェースモジュールの幾つか又は全てを確立することができる。幾つかの実施態様では、外部機関の第一者アプリケーション(例えばアプリケーション153)のソースコードをパースし分析して、外部機関の機関インターフェースモジュールの幾つか又は全てを確立する。幾つかの実施態様では、外部組織と外部組織の第一者アプリケーション(例えばアプリケーション153)との間の通信をパースし分析して、外部機関の機関インターフェースモジュールの幾つか又は全てを確立する。
図32は、実施形態によりユーザ口座データにアクセスする一例の方法を示すフローチャートである。図32に示されるように、方法は、アプリケーションプロキシインターフェースを作成すること(ブロック310)と、任意選択的にプロキシインスタンスを通して通信セッションをセットアップすること(ブロック320)と、正規化された口座要求を受信すること(ブロック330)と、プロキシインスタンスを通して外部インターフェースとの通信をネゴシエートすること(ブロック340)と、結果を返すこと(ブロック350)とを含むことができる。方法は、露出されたプログラム的アクセスを有さない1つ又は複数の外部サービス(例えば、外部機関の外部ユーザ口座システム)へのプログラム的アクセスを提供するように機能する。外部サービスは非公開(例えばプロプライエタリ)又は公開であり得る。外部サービスは、上述したように、外部機関により提供することができる。そのような機関は、ユーザがモバイル又はデスクトップアプリケーションを介してユーザ口座情報にアクセスできるようにする第一者アプリケーションを有し得る。そのような第一者アプリケーションは、外部機関のプロプライエタリ又はカスタマイズされたAPI(例えば、API161、162、及び/又は163)を使用し得る。そのようなAPIは一般に公開されず、露出されない。例えば、開発者は一般に、口座に登録し、オープンAPI認証手法を使用して外部機関のAPIリソースに任意にアクセスすることができないようにされる。更に、そのようなAPIは、他の機関と共有されない重要なカスタマイズされたインターフェースプロトコルであり、例えば、各機関はそれ自体のインターフェースに準拠する。方法は、正規化されたインターフェースを複数の外部サービス(例えば、外部機関141、142、及び/又は143)を更に提供することができる。方法は、アプリケーションプロキシ手法を利用することにより機関内の口座へのプログラム的インターフェースを可能にする。アプリケーションインスタンスの仮想化「像」又はデジタルシミュレーションは、アプリケーションプロキシシステム120に保持され、機関の非露出API(例えば、API161、162、及び/又は163)へのアクセスに使用される。システム100は金融機関に適用し得るが、追加又は代替として、APIアクセスが閉じられた、又は制限された任意の他の外部エンティティへのAPIアクセスを提供するのに適用し得る。方法は、上述したようにシステム100を通して実施し得るが、代替的には任意の適したシステムにより実施し得る。
アプリケーションプロキシインスタンス(例えば、アプリケーションプロキシインスタンス121、122、及び/又は123)を作成することを含むブロック310において、システム100は、選択された機関(例えば銀行2 142)の第一者アプリケーションインスタンス(例えばアプリケーションインスタンス153)のデジタル像を確立するように機能する。アプリケーションプロキシインスタンスの作成は、初期要求の受信に応答して開始し得る。初期要求は、ユーザ(又はエンティティ)(例えば、ユーザA又はユーザB)が顧客(例えば開発者)の外部ユーザ対面システム/アプリケーション(例えば、ユーザデバイス171又は172の何れか及び/又は別の適したデバイスで実行中であり、アプリケーションインスタンス151、152の別のシステムで更に実行中であるアプリケーションインスタンス151及び/又は152)と対話することにより開始し得る。次に、外部ユーザ対面システム/アプリケーションは初期要求をシステム100に送信し得る。ユーザ(例えば、ユーザA及び/又はユーザB)は、外部機関にユーザ口座(例えば、オンライン銀行口座)を有し得る。アプリケーションプロキシインスタンス(例えば、プロキシインスタンス121、122、及び/又は123の1つ)は、初期登録中又は後に作成することができ、外部機関の口座情報へのアクセスを提供する。作成されると、そのユーザのアプリケーションプロキシインスタンスは持続することができ、後にその所与のユーザ-機関組合せ(例えば、「ユーザA-銀行1」、「ユーザA-銀行2」、「ユーザB-銀行2」)に使用することができる。しかしながら、プロキシインスタンスが無効になった(例えば、機関API変更、機関内で行われたパスワード/ログイン変更、及び/又はプロキシインスタンスを無効化する他の変更の結果として)場合、新しいプロキシインスタンスを作成し得る。初期要求は、接続要求として正規化API(例えばAPI110)を通して受信し得る。接続要求には、選択された機関(複数の機関選択肢がある場合)及び機関のユーザ信用情報を指定するパラメータが付随し得る。ユーザ信用情報は、ユーザ名、パスワード、PINコード、及び/又は任意の適した信用情報を含み得る。API要求は、クライアント識別子及びシステム内の口座に関連付けられた秘密トークン等の認証信用情報を更に含み得る。
プロキシインスタンスの作成は、機関とのプロキシインスタンスの登録をネゴシエートすることを含み得、選択された外部機関とのプロキシインスタンスを確立するように機能する。機関インターフェースモジュール(例えば、モジュール131、132、又は133の1つ)は、初期ログイン中、通信ハンドシェークをナビゲートするのを促進し得る。異なる機関は、マルチファクタ認証等の新しいアプリケーション(この方法ではプロキシインスタンス)に登録又は加入するのに異なるプロセスを有し得る。ネゴシエーション中、種々の要素を抽出し、プロキシインスタンスの部分として記憶し得る。同様に、機関との通信に基づいて幾つかの属性を生成し得る。例えば、MACアドレス又は一意のデバイス識別子は、外部機関のサービスへの接続において使用し得る。そのような属性はプロキシインスタンスの部分として記憶し得る。
上述したように、マルチファクタ認証(MFA)は、外部機関とのネゴシエーションの一環であり得る。例えば、外部機関はMFA信用情報要件のインジケーションに応答し得る。そのようなMFA要件は、MFAチャレンジ/タスクをユーザまで中継することにより満たし得る。一実施態様では、システム100は、ネゴシエーションを完了するためにセキュリティ質問を尋ねるべきであることを示すメッセージを受信する。セキュリティ質問は関連付けられたアプリケーションに渡される(例えば、顧客/システム100の開発者アカウントにより運営され得るアプリケーション151及び/又は152)。次に、関連付けられたアプリケーションは、セキュリティ質問を何らかの様式で提示して、ユーザ応答を取得し得る。MFAは、セキュリティ質問、追加のPINコード(ワンタイムパスワード生成器により供給されるもの又はセカンダリデバイスに送信されたコード等)、又は任意の適した形態のMFAを含むことができる。
ブロック330において、システムはシステム100のAPI110を介して正規化された口座要求を受信する。上述したように、API要求を通信するシンタックス及びモードは、フォーマットが機関から独立するように正規化される。要求は、取引リストの取得、特定の取引についての詳細の要求、何らかの金融転送の実行(金銭の普通預金から当座預金への移動、別口座への転送のセットアップ、スケジュールされた支払いの実行、及び/又は小切手のデジタル入金等)、口座情報の更新(例えば、連絡先情報の更新、パスワードの変更、及び/又はアラートの管理等)、及び/又はサービス要求(例えば、新しいカード及び/又は不正の報告等)等を含み得る、多種多様な要求を含むことができる。正規化された口座要求は、機関インターフェースモジュール(例えば、機関インターフェースモジュール131、132、又は133の1つ)又はAPI要求を満たすための通信を定義する他の適した構成要素にマッピングし得る。
プロキシインスタンス(例えば、プロキシインスタンス121、122、及び/又は123の1つ)を通して外部インターフェース(例えば、API161、162、及び/又は163の1つ)との通信をネゴシエートすることを含むブロック340において、システム100は、口座要求を満たす際、システムと外部機関システム(例えば、システム141、142、及び/又は143の1つ)との間の通信を実行し管理するように機能する。プロキシインスタンス(例えば、プロキシインスタンス121、122、及び/又は123の1つ)は、アクセスを付与し得るメカニズムを提供する。通信は、認証されたセッションがアクティブである間、実行される。通信セッションは、設定された時間量にわたり非アクティブのままである等の種々の理由で、システム100又は外部機関により期限切れにされ得る。通信セッションは、プロキシインスタンスへの加入に続きアクティブであり得、又は後述するように、プロキシインスタンスを通してセッションをセットアップする必要があり得る。
通信をネゴシエートすることは、外部機関の予期されるメッセージに準拠する要求を作成することを含み得る。これは、ヘッダ、本文コンテンツ、及び他のメッセージ属性を設定することを含むことができる。機関は特定のヘッダを予期し得る。例えば、ヘッダはホスト又はパス、データ、コンテンツタイプ、クッキー、MACアドレス、ユーザ識別子、認可属性、及び/又は他の適したヘッダを含み得る。要求を作成することは、要求属性を予期される形態に変換することを更に含むことができ、これは、設定された暗号パターンを要求に適用することを含み得る。一変形では、要求を変換することは、公開鍵に従ってコンテンツを暗号化することを含み、公開鍵はプロキシインスタンスの部分として記憶し得る。機関は、情報がいかに通信されるかに種々の手法をとり得る。代替の機関では、メッセージの内容は暗号化されなくてもよく、その場合、内容は平文の暗号化されない形態で提出し得る。外部機関の予期されるメッセージに準拠した要求を作成することに加えて、方法は要求-応答パターンに従うことを含むことができる。そのパターンは、1つの要求及び応答を含むことができるが、代替的には、所望の情報を得るために一連の異なる要求及び応答を含み得る。
幾つかの変形では、情報又は動作は第1のプロキシインスタンスを通して利用可能ではないことがあり、したがって、方法は、サポートされる機能を有する第2のプロキシインスタンスに自動的に切り替わることを含み得る。例えば、モバイルアプリケーションでは完全な銀行取引明細書は提供されず、機関API(例えば、API161、162、及び/又は163の1つ)はそのような機能を含まないことがある。したがって、API110のAPI要求を満たすためにその機能が必要とされる場合、第2のプロキシインスタンスを使用し得る。幾つかの変形では、API110を介したAPI要求では、複数の機関にクエリする必要があり得る。そのようなAPI要求は、複数の口座にわたり金融取引明細書をまとめるのに特に有用であり得る。方法は、複数の機関の通信をネゴシエートし、結果を結合形態に組み合わせることを含むことができる。
結果を返すことを含むブロック350において、システム100は、要求への応答として結果を送出するように機能する。結果を返すことは、外部機関から取得したデータを正規化形態に変換することを含む。情報は、システム100によりサービングされる異なる機関間で実質的に同様の表現である標準化フォーマットにフォーマットされる。データを変換することは、情報の処理、補足、及び/又は他の方法での強化を更に含むことができる。機関により提供される幾つかの情報は、形成が不良なことがある。例えば、特定の取引の店情報が不良にラベリングされ、他の機関とは異なって表現されることがある。外部機関についてのそのような状況情報は、クリーニングされ、及び/又は追加情報で補足することができる。例えば、エンティティは、カテゴリラベル、タグ、ジオロケーション情報、及び/又は他の適した情報で補足し得る。返された結果は、JSON、XML、又は任意の適したフォーマット等のデータフォーマットを表すことができる。
方法は、前に作成されたプロキシインスタンスを通してセッションをセットアップすることを含み、口座及び機関のプロキシインスタンスをネゴシエートした後、情報へのアクセスを促進するように機能するブロック320を任意選択的に更に含むことができる。プロキシインスタンスは、続くアクセスに必要な情報を記憶、保持し得る。外部機関は、いくらかの時間量後に期限切れし得、又はユーザ信用情報の再確認を必要とし得る設定されたセッションにアクセスを制限し得る。したがって、通信セッションが期限切れした後、口座のAPI要求が行われる場合、方法は、前のユーザ信用情報及びプロキシインスタンス信用情報を使用して新しいセッションを自動的にセットアップし得る。幾つかの変形では、セキュリティ質問等のMFAチャレンジは自動的に完了し得る。
方法は、機関のユーザ信用情報を更新するように機能する更新された信用情報を再捕捉することを更に含むことができる。更新された信用情報は、ユーザが機関内で信用情報を変更した場合又はプロキシインスタンスが口座から他の理由でロックアウトされた場合、更新し得る。通信セッションが成功しなかったことを示すエラーが発生し得、その場合、新しい信用情報でプロキシインスタンスを更新するAPI要求を提出することができる。
再び図30を参照すると、幾つかの実施態様では、外部機関の外部ユーザ口座システムは公開ウェブブラウザインターフェースを含み得る。例えば、図30に示されるように、銀行1のシステム141は、ウェブブラウザ(又は任意の適したウェブクライアント)(例えば、ユーザデバイス173のウェブブラウザ181)を介して銀行1のシステム141にアクセスするためのウェブブラウザインターフェース191を含み得る。本明細書に記載されたように且つ図6及び図7を参照して更に後述するように、システム100は、公開ウェブブラウザインターフェース191を介するアクセスとは対照的に、外部機関のプライベートなプロプライエタリAPI(例えばAPI161)を介してユーザ口座データへのアクセスを提供する。幾つかの実施態様では、ウェブブラウザインターフェース191は、インターネットを経由してウェブブラウザを介して外部機関にアクセスするウェブサイトをホストするウェブサーバである。
図33Aは、実施形態によるアプリケーションプロキシシステム120の態様を示す。図33Aに示されるように、アプリケーションプロキシシステム120は、システム100における開発者口座(例えば、開発者口座B 431及び開発者口座A 432)のユーザ口座(例えば、ユーザ口座411、412、及び413)のアプリケーションプロキシインスタンス(例えば、プロキシインスタンス421、422、423、424、及び425)を含む。アプリケーションプロキシシステム120は、アプリケーションプロキシインスタンスの生成、アプリケーションプロキシインスタンスの構成、及び/又はアプリケーションプロキシインスタンスの削除等を行うように構築されたアプリケーションプロキシインスタンス管理モジュール441を含む。
幾つかの実施態様では、図33Bに示されるように、各アプリケーションプロキシインスタンス(例えば、プロキシインスタンス421、422、423、424、及び/又は425)は、開発者口座、開発者口座のユーザ口座、関連付けられた外部ユーザ口座システム(例えば外部機関)、及び外部機関のユーザ口座の信用情報を指定する。幾つかの実施態様では、各アプリケーションプロキシインスタンスはアプリケーションプロキシインスタンスの属性を指定する。幾つかの実施態様では、属性は、一意のユーザ識別子コード、認証トークン、MACアドレス(例えば、ユーザデバイス171及び/又は172のMACアドレス)、又は任意の適した情報の1つ又は複数を含み得る。
幾つかの実施態様では、アプリケーションプロキシインスタンス管理モジュール441は、アプリケーションプロキシインスタンスを作成する要求に応答して、アプリケーションプロキシインスタンスを作成する。幾つかの実施態様では、アプリケーションプロキシインスタンスを作成する要求は、外部ユーザ口座システム及び外部ユーザ対面システム/アアプリケーションのユーザ口座(例えば、図30の外部ユーザ対面システム/アプリケーション152のユーザ口座)を識別する情報を指定する。幾つかの実施態様では、アプリケーションプロキシインスタンスを作成する要求は、外部ユーザ口座システムのユーザ信用情報を指定する。幾つかの実施態様では、アプリケーションプロキシインスタンスを作成する要求は、外部ユーザ対面システム/アプリケーションに関連付けられたシステム100の口座を識別する情報を指定する。幾つかの実施態様では、アプリケーションプロキシインスタンスを作成する要求は、アプリケーションプロキシインスタンスの属性を指定する。幾つかの実施態様では、アプリケーションプロキシインスタンスの属性は、一意のユーザ識別子コード、認証トークン、MACアドレス、対応する外部ユーザ口座システムのユーザ口座、及び/又は任意の他の適した情報の少なくとも1つを含む。
幾つかの実施態様では、アプリケーションプロキシインスタンス管理モジュール441は、作成されたアプリケーションプロキシインスタンスを外部ユーザ対面システム/アプリケーションのユーザ口座(例えば、図33A及び図33Bの「ユーザA」411)(例えば、図30の外部ユーザ対面システム/アプリケーション152のユーザ口座)と関連付けて記憶する。幾つかの実施態様では、アプリケーションプロキシインスタンス管理モジュール441は、作成されたアプリケーションプロキシインスタンスを、外部ユーザ対面システム/アプリケーションに関連付けられたシステム100の口座(例えば、図33A及び図33Bの「開発者口座B」431)(例えば、図30の外部ユーザ対面システム/アプリケーション152のユーザ口座)と関連付けて記憶する。幾つかの実施態様では、アプリケーションプロキシインスタンス管理モジュール441は、作成されたアプリケーションプロキシインスタンス(例えば、図33A及び図33Bの「プロキシインスタンスユーザA銀行1」421)を外部ユーザ対面システム/アプリケーションに関連付けられたシステム100の口座(例えば、「開発者口座B」431)及び外部ユーザ対面システム/アプリケーションのユーザ口座(例えば、「ユーザA」411)と関連付けて記憶する。幾つかの実施態様では、アプリケーションプロキシインスタンス管理モジュール441は、作成されたアプリケーションプロキシインスタンスを、外部ユーザ対面システム/アプリケーションに関連付けられたシステム100の口座、外部ユーザ対面システム/アプリケーションのユーザ口座、及びアプリケーションプロキシインスタンスの外部ユーザ口座システム(例えば、図33Bの「銀行1」141)を識別する情報と関連付けて記憶する。幾つかの実施態様では、アプリケーションプロキシインスタンス管理モジュール441は、作成されたアプリケーションプロキシインスタンスを、外部ユーザ対面システム/アプリケーションに関連付けられたシステム100の口座、外部ユーザ対面システム/アプリケーションのユーザ口座、アプリケーションプロキシインスタンスの外部ユーザ口座システムを識別する情報、及びアプリケーションプロキシインスタンスのユーザ口座を識別する情報と関連付けて記憶する。
幾つかの実施態様では、アプリケーションプロキシインスタンスを作成することは、アプリケーションシステムのユーザ口座(例えば、「ユーザA」、「ユーザB」の代理として外部ユーザ口座システムとのアプリケーション(例えば、図30のアプリケーション153)(アプリケーションプロキシインスタンスの外部ユーザ口座システムの)の通信、登録、及び/又は登録ネゴシエーション等をシミュレートするアプリケーションプロキシインスタンスを構築するようにアプリケーションプロキシインスタンス管理モジュール441を制御することを含む。
システムのプロキシインスタンスを介してユーザ口座データにアクセスすることの追加の例及び詳細は、2015年7月2日付けで出願された「SYSTEM AND METHOD FOR PROGRAMMATICALLY ACCESSING FINANCIAL DATA」と題する米国特許出願第14/790840号(本明細書では「‘840号出願」と呼ばれる)に見出し得る。この出願の開示全体は、あたかも本明細書に完全に記載されるかのように本明細書の一部をなし、含まれるもの全てについて参照により本明細書に援用される。
上述したように、システム100は、ドキュメント(ステートメント等)を含め、API110を介して種々のタイプのユーザ口座データにアクセスするのに使用することもできる。システム100は、API110を介して取引(口座間の資金転送、支払いスケジューリング等)を開始するのに使用することもできる。システム100は、API110を介して口座情報又は要求サービスを更新するのに使用することもできる。システムのそのような機能の追加の例及び詳細については、以下に提供され、‘840号出願においても見出し得る。
プログラム的に取引を検証するシステム及び方法の例
図5は、実施形態による取引を処理する一例の方法を示すフローチャートである。図5に示されるように、方法は、ユーザ口座(本明細書では「機関口座」とも呼ばれる)の信用情報を取得すること(ブロック510)と、少なくとも1つのエンドポイントに関連付けられた取引要求を受信すること(ブロック520)と、エンドポイントの取引情報を収集すること(ブロック530)と、取引応答を返すこと(ブロック540)とを含むことができる。幾つかの実施形態では、方法は任意選択的に、取引を実行すること(ブロック550)を含むことができ、実行することは、2つのエンドポイント間の取引を処理するように機能する。幾つかの実施形態では、方法は取引の実行を行わず、取引要求を受信することは、少なくとも1つのエンドポイントの取引アドレッシング情報の検索を開始するように機能し、エンドポイントの取引情報を収集することは、エンドポイントの取引アドレッシング情報を収集することを含み、取引応答を返すことは、エンドポイントの収集された取引アドレッシング情報を送信するように機能する。方法は、取引プロセス中、口座アクセスを利用するように機能する。方法の変形は、金融転送に使用される口座情報の検証、資金のプログラム的転送、プログラム的イベントの設定、エラー及び不正の捕捉、取引の条件付き処理の実行、及び/又は他の適した動作等の機能を追加するのに使用することができる。方法はシステム100により実行し得る。幾つかの実施態様では、取引は自動決済機関(ACH)取引であるが、任意の適したタイプの取引が使用可能である。第1の実施態様では、方法は、API110を介して顧客/開発者が検証されたACHエンドポイント情報を取得できるようにする。例えば、口座番号及び金融機関コード並びに口座の所有権の検証を取得し得る。この変形では、システム100は取引を実行するために情報を提供する。別の実施形態では、方法は、必要な情報及び検証を取得した取引を更に実行する。図5の方法は、システム100により実施し得るが、方法は代替的には任意の適したシステムにより実施し得る。
図6は、実施形態による図30の計算システム及びネットワーク環境の簡易ブロック図である。図5の方法について図6(又は代替的には図30)の特定の態様を参照して以下に説明する。
機関口座信用情報を取得することを含むブロック510において、システム100は機関(例えば機関142)のログイン情報を取得するように機能する。機関口座信用情報はユーザ名及びパスワードを含み得る。口座は、外部機関の口座であり得る。更に、機関は、上述したように、PINコード、セキュリティ質問、1回使用パスワード、セカンダリデバイスコード検証、バイオメトリック識別、及び/又は任意の適した形態のマルチファクタ認証(MFA)等の認証チャレンジを更に含み得る。そのような追加の認証チャレンジは、口座信用情報と同時に収集し得るが、MFA認証プロセスは代替的には、APIプロトコルにおいて定義し得る。例えば、プライマリ口座信用情報が十分ではない場合、応答においてMFAチャレンジが返され得、この追加の信用情報要求は、口座へのアクセスが得られる前、必要に応じて繰り返すことができる。機関口座信用情報は更に記憶され、続くアクセス又はログイン試行の完了に自動的に使用することができる。
口座信用情報は、顧客/開発者のAPI要求又は顧客/開発者のアプリケーションを通してAPI110に提供し得る。API110は、新しいユーザ口座の確立、セットアップ、又は加入に使用し得る。あるユーザは、外部機関に少なくとも1つの関連付けられたユーザ口座を有し得るが、複数の外部機関における複数のユーザ口座にリンク又は関連付けられ得る。口座信用情報は各ユーザ口座で取得し得る。
少なくとも1つのエンドポイントに関連付けられた取引要求を受信することを含むブロック520において、システム100は、エンドポイントの取引アドレッシング情報の検索を開始するように機能する。エンドポイントは取引エンドポイントであり得、取引エンドポイントは、資金を出金又は入金し得る任意の適したエンドポイントであり得る。一般的な取引では、1つの出金口座及び1つの入金口座がある。方法は、1つ又は複数のエンドポイントの情報を取得するに当たり使用することができる。幾つかの変形では、複数の出金口座及び/又は複数の入金口座があり得る。一変形では、取引要求は、ブロック510のユーザ信用情報を取得するのに使用されるユーザ加入要求と同一である。口座信用情報は代替的には、前に取得し得、又は取引要求に応答して取得し得る。
取引要求が口座についての情報についてである一変形では、API要求は機関及び口座の信用情報を指定し得る。PINコード、口座が作成された状態、又はMFAチャレンジ返答等の追加の信用情報が更に要求され得る。同様のパラメータを有する第2の要求を提出して、他の関与する取引エンドポイントの口座信用情報を取得し得る。
別の変形では、取引要求は取引詳細を明示的に定義し得る。取引要求は、少なくとも1つの出金口座エンドポイント及び入金口座エンドポイントを含み得る。口座信用情報は、各エンドポイントに指定し得る。一変形では、1つのAPI要求は両エンドポイントの口座信用情報を含み得る。別の変形では、取引リソースは、出金エンドポイント情報、入金口座情報、及び取引詳細を非同期で指定することができるように使用される。例えば、取引リソースはAPI110を介してAPI要求を通して作成される。後に、API要求は新しい取引リソースをヒットし(取引識別子を指定することにより)、出金情報、次に入金情報、次に送金額を指定する。全ての情報が埋められると、取引は自動的に若しくはコマンドの実行に応答して実行し得、又は後の時間にスケジュールし得る。バルク、集計、又はグループ取引を要求において更に指定し得る。複数のエンティティが出金エンドポイントである場合、資金の分割を指定し得る(例えば、割合内訳又は金額内訳)。同様に、複数の入金エンドポイントの資金を指定し得る。
エンドポイントの取引情報を収集することを含むブロック520において、システム100は、取引エンドポイントの属性にアクセスし特定するように機能する。エンドポイントの取引情報を収集することは、口座信用情報を使用して、機関内の口座アクセスを得ることを含み得る。口座アクセスは、上述したように、プロキシアプリケーションを使用することにより促進し得る。口座アクセスは、エンドポイント情報を含む口座ドキュメントを要求して取得するのに使用することができる。口座ドキュメントは、銀行取引明細書又は他の適したドキュメントを含み得る。ドキュメントがPDF又は他の代替のフォーマットである場合、コンテンツをスクレープして、取引情報を識別し得る。
ブロック530において、システム100は、エンドポイントの取引情報及び/又は取引アドレッシング情報を収集する。口座アドレッシング情報は、口座の口座番号及び金融機関コードであり得る。課金住所、ワイヤ金融機関コード、及び/又は他の口座情報を更にプルすることができる。一変形では、口座番号及び金融機関コードは、銀行ステートメントにおいて入手可能である。抽出スクリプトを使用してドキュメントをプルし、次にドキュメントから情報を分離するのに使用し得る。自動的に口座番号及び金融機関コードにアクセスすることは、エラーが発生する可能性を回避し得る。第1の利点として、口座へのアクセスは、口座の所有者が取引エンドポイント情報の提供に参加している証拠を提供する。別の利点として、情報は自動的にプルされ、ヒューマンエラーを回避する。
ブロック530においてエンドポイントの取引情報を収集することは、エンドポイントの取引ステータス情報を収集することを更に含み得、取引ステータス情報は、資金要件のインジケーション、口座不正チェック、及び他のステータス情報を含むことができる。取引情報の提供に種々の段階を構築することができ、それにより、異なるセーフガード及び/又は特徴を金融取引に提供する。
第1の任意選択的な段階において、取引ステータス情報は十分な資金ステータスを決定することができる。十分な資金ステータスを出金口座に適用されて、口座が取引を完了する資金を有することを保証し得る。取引履歴及び/又は現在資金値に口座アクセスを通してアクセスし得る。一変形では、顧客/開発者/アプリケーションが適宜応答することができるように、資金額は応答において返される。別の変形では、取引額は利用可能な資金と比較される。十分な資金が見つけられない場合、エラー又は警告を生成し得る。
別の任意選択的な段階では、不正パターンについて口座を処理し得る。例えば、口座が作成されてからの年数にアクセスし得る。新しく作成された口座は、かなりの履歴を有する確立された口座よりも低い信頼性を有し得る。同様に、不正挙動について取引履歴にアクセスし得る。口座が、正常な挙動を示す幅広い範囲の取引に使用されている場合、口座は正常と識別し得る。口座が繰り返し高価値取引のみに参加し、又は他の不正パターンに参加している場合、口座は不正とフラグ付け得る。更に、取引に関わるエンティティも不正を示し得る。
方法は、1つ又は複数の段階中、取引条件を検証することを更に含み得る。取引条件は、任意の適した行動をとるために使用し得る。利用可能な行動は、取引の許可又は取引の阻止を含むことができる。更に、行動は、通知の送信を含むことができる。通知は電子メール、テキストメッセージ、プラットフォームメッセージ、電話、又は任意の適した通知を含むことができる。行動は、プログラム的イベントをトリガーすることを更に含み得る。一変形では、プログラム的イベントはコールバックイベントであり、HTTPメッセージが宛先に送信される。条件はカスタマイズし得、又は提供された条件のセットから選択し得る。条件例は、特定の金額を超える取引について通知をトリガーする条件、取引後に利用可能な資金に基づいて、資金が閾値未満のユーザにアラートする条件、及び取引の頻度又は取引口座に関わるエンティティに基づく条件を含むことができる。条件は、開発者口座、特定の機関の口座、又は任意の適した範囲のエンティティを範囲とすることができる。
ブロック540において、システム100は取引応答を返し、取引要求の結果を送信する。取引応答は、初期要求への応答において送信される、API110からの同期APIメッセージにおいて行い得る。代替的には、アプリケーション/サービスがステータスAPI応答を定期的にチェックして、処理ステータス及び/又は結果を特定することができるように、ステータスAPI応答を使用し得る。代替的には、初期要求への結果の提供に任意の適した手法が使用可能である。
実施態様では、応答は、エンドポイントに使用されるアドレッシング情報を提供する。口座に関するエラー又は警告がない場合、エンドポイント情報は、口座の所有権を検証するように(例えば、信用情報及び任意選択的にマルチファクタ認証応答を提供することにより)アクセスされ、取得されたため、口座情報はNACHA準拠であり得る。取引応答は、取引の実行に使用されたエンドポイントの口座番号、金融機関コード、及び/又は任意の追加情報を含むことができる。取引応答は、要求側エンティティが十分な資金についてチェックすることができるように、利用可能な資金を更に含み得る。応答は、取引額が提供された場合、十分な資金が利用可能であるか否かを更に示し得、当座貸越取引を回避しながら、要求側エンティティから利用可能な資金を隠すように機能する。取引応答は、口座を口座の任意のカテゴリに従ってラベリングし得るステータスフィールド等の他のフィールドを更に含むことができる。例えば、ステータスは、口座が正常又は不正であることを示し得る。
追加又は代替として、方法は任意選択的なブロック550を含むことができる。ブロック550において、システム100は取引を実行し、取引は2つのエンドポイント間の取引を処理するように機能する。この変形では、少なくとも2つのエンドポイント間の取引を実行する要求が受信される。更に、取引応答を返すことは、応答において取引の結果を返すことを含み得る。別の実施態様では、方法は取引を実行することを含む。取引応答は、取引が提出、処理中、及び/又は完了された場合、取引のステータスについての情報を含むことができる。取引は瞬時でないこともあり、したがって、初期取引応答は、取引が首尾良く開始されたか否かを示し得る。首尾良く開始されたことは、取引エンドポイント情報が首尾良く検索されたこと、任意の条件付き段階(十分資産段階、不正チェック段階、及びカスタム条件等)が満足されたことを意味する。取引のステータスを反映する続く応答又はステータス応答は更新し得る。取引が開始され、正常に進んだ場合、取引リソースを保留中のプロセスで更新し得る。取引リソースは、可能な場合には完了時を示す完了ステータスで更新することができる。エラー又は問題に直面した場合、取引リソースのステータスは、エラー又は問題を反映するように更新し得る。方法は、取引のステータスを監視し、ステータスに従ってプログラム的イベントをトリガーすることを更に含み得る。
一変形では、取引を実行することは、少なくとも2つの機関においてプロキシ口座を確立することと、第1の機関における第1のプロキシ口座への内部入金及び第2の機関における第2のプロキシ口座からの第2の内部出金を通して2つの機関間での取引を迅速処理することとを含むことができる。幾つかの場合、機関間の取引は、機関内で行われる取引よりも遅い。クロス機関口座ネットワークを確立することにより、内部取引と同様の速度で異なる機関における2つの口座間で取引を促進することができる。プロキシ口座は予備資金を含み得、これは、資金の剰余基金(operational reserve of funds)を維持するために、プロキシ口座間で定期的にバランスし得る。
更に、方法は、ユーザと土台をなす口座との間で抽象化を生み出すために適用し得る。取引エンドポイントはユーザエンティティに抽象化することができ、これには複数の任意選択的な取引エンドポイント(例えば、異なる銀行口座)を関連付け得る。したがって、方法は機関を選択することを含み得、これは、取引への参加に接続された口座を動的に選択するように機能する。取引要求を受信し、取引の情報を収集し、及び/又は取引を実行するとき、イベントへの応答に種々の条件を設定し得る。一変形では、ある機関はプライマリ口座として設定され、同じエンティティにより管理される別の口座はセカンダリ口座として設定される。プライマリ口座が取引を完了することができない場合、方法はエラー状況を検出し得、セカンダリ口座に自動的にフェールオーバする。別の変形では、要求の属性に応じて使用されるように口座のセットを予め構成し得る。プロキシ転送エンドポイントと組み合わせて、プロキシエンドポイントの識別情報を使用することができるが、土台をなすサービスは、資金への使用に自動的に選択された口座を自動的に使用することになる。例えば、エンティティのセット及び/又はエンティティ/取引のカテゴリは、特定の口座を使用するように設定し得る。同様に、あるプロキシ口座への取引は、関連付けられた複数の口座を用いる取引に自動的に分割し得る。例えば、口座保有者は、30/70のバランスで2つの口座間で入金を自動的に分割するようにプロキシ口座を設定し得る。
これより図6を参照すると、システム100は、資金転送プロセスを促進することができるインターフェースをアプリケーション及びサービスに提供する(例えば、API110を介して)ように機能する。システム100は、ACH転送で使用される検証された口座情報を提供し、資金の転送を実行し、転送プロセス中、プログラム的イベントを可能にし、リスク及びエラーを軽減し、及び/又は代替の取引機能を提供するように機能することができる。図30を参照して上述したように、システム100はより大きなAPIプラットフォームの部分であり、特に口座データへのアクセス取引の実行をAPIに提供する。幾つかの変形では、システム100は、複数の開発者が口座を作成し、APIプラットフォームのAPIを利用するアプリケーション及び/又はサービスを構築できるようにするマルチファクタAPIプラットフォームの部分である。代替の変形では、システム100は、シングルテナントAPIプラットフォームの部分であり、内部APIを製品又はサービスの専用セットに提供し得る。例えば、製品は、エンドユーザがアカウントを作成して、1つ又は複数の機関(例えば、銀行、クレジットカード会社、投資マネージャ等)との口座を管理できるようにするAPIプラットフォームの最上部に構築し得る。
API110は、機関取引エンドポイント情報にアクセスするためのインターフェースを提供するように機能する。API110は、正規化された顧客対面インターフェースを更に提供することができる。一実施態様では、API110はアプリケーションプロキシインスタンス121を利用し、これは、機関(例えば機関142)の閉じられたAPIにアクセスするプロプライエタリ第一者アプリケーションをシミュレートする。システム100は、取引エンドポイントに関連する情報のアクセスを特に促進する追加の構成要素又はサービスを含むことができる。例えば、サービス、スクリプト、又はモジュールは、口座番号及び金融機関コード情報等のエンドポイント情報を含むことができるステートメント又は他の適したドキュメントにアクセスするように構成することができる。ステートメント又は情報は、PDF又は他の適したドキュメントフォーマットに含まれ得る。システム100は、ステートメントにアクセスし、ステートメントから要求された情報を抽出することができドキュメントリーダを含むことができる。
一変形では、API110は、API要求が口座指定できるようにし、応答出力は、エンドポイントとの取引を実行するのに関連する情報を提供する。一実施態様では、API110は、取引エンドポイントと対話するための少なくとも1つのAPIリソースを含むことができる。図7に示されるように、エンドポイント情報要求は口座の機関信用情報を含むことができる。信用情報はユーザ名及びパスワードを含むことができる。APIプロトコルは、セキュリティ質問等のマルチファクタ認証チャレンジ又はコードベースのマルチファクタ認証を完了するメカニズムを更に提供することができる。API要求は、開発者口座識別子、API認証トークン、機関タイプ識別子、及び他の適したパラメータ等の他の属性を更に含み得る。応答は、少なくとも、追跡番号、金融機関コード、及び/又はワイヤ金融機関コード等の自動的に取得された情報を含むデータオブジェクトである。追加の応答情報は、資金額(又は代替的には、資金が十分であるか否かのブールインジケータ)、口座ステータス(例えば、不正口座であるか、信頼できる口座であるか等)、口座の課金アドレス、機関の名称、口座のタイプ(例えば、普通、預託等)、及び他の適した属性を含むことができる。他のAPI属性又は特徴は、エンドポイント情報が要求されるか否か又は取引を実行すべきか否かを指定するメカニズムを含むことができる。
機関インターフェースモジュール132は、外部機関(例えば機関142)との少なくとも1つの第一者アプリケーションの内部インターフェースをモデリングするように機能する。ユーザ口座の口座信用情報(及び任意選択的にマルチファクタ認証信用情報)は、アプリケーションプロキシが機関インターフェースモジュールを通して機関へのアクセスを得るのに使用することができる。システム100は取引エンジン193を更に含み得、取引エンジン193は、2つの口座間の資金の転送を促進することができる。取引エンジン193は、API要求が取引の実行を指示することができるように、API110と統合することができる。取引エンジン193はACH取引を実行することができるが、代替又は追加として、他の金融ツールを使用して、資金を出金及び/又は資金を入金し得る。取引エンジンを用いて、取引は、口座信用情報が構成された2つの口座間で実行することができる。API応答は、図8に示されるように、取引のステータス、取引エラー、ステータスURI、又は取引の実行を促進する任意の適した応答を含み得る。一変形では、プロキシ口座は異なる機関で使用することができる。十分な準備金がある場合、機関間の転送は、プロキシ口座へ及びプロキシ口座から資金を転送し、次に非同期でプロキシ口座を更新することにより迅速処理することができる。
システム100は、幾つかの実施態様では、トークン生成エンジン195(本明細書に記載されるようにトークン生成を管理することができる)及び/又は記録保管庫1302(本明細書に記載されるようにトークンに関連付けられた電子記録を記憶し得る)を含むこともできる。
システム100は、アラート及び/又はトリガープログラム的イベント(例えばコールバック)を管理することができるメッセージング/通知システム及び/又はユーザインターフェース及び/又はユーザインターフェースデータを生成するエンジン等の他の態様を更に含むことができる。システム100は、追加又は代替として、本開示に記載される機能を実施する任意の他の適した構成要素を含み得る。
幾つかの実施態様では、システム100はドキュメント処理エンジン194を含む。幾つかの実施態様では、ドキュメント処理エンジン194は、外部機関の外部ユーザ口座システム(例えば銀行システム142)の口座ドキュメント(例えば口座ドキュメント192)を処理するように構築される。口座ドキュメントは処理されて、取引情報を識別及び/又は取得し得る。幾つかの実施態様では、ドキュメントがPDFフォーマットの場合、ドキュメント処理エンジン194は、PDFドキュメントの内容をスクレープして、取引情報を識別するように構築される。幾つかの実施態様では、ドキュメント処理エンジン194は、ドキュメントをプルし、次にドキュメントから取引情報を分離する(例えば、図5を参照して上述したように)ように構築された抽出スクリプトである。幾つかの実施態様では、システム100はドキュメントにアクセスし、アクセスしたドキュメントを記憶し(例えば、システム100のメモリ又は他の記憶媒体に)、次に記憶されたドキュメントを処理して取引情報を識別するようにドキュメント処理エンジンを制御する。
図9~図10は、種々の実施形態による取引を処理する一例の方法を示すフローチャートである。図5及び図6の方法について図30(又は代替的には図6)の特定の態様を参照して以下に説明する。
図9を参照すると、システム100において正規化API要求を処理する方法は、少なくとも1つの口座エンドポイントに関連付けられた正規化API要求を受信することであって、正規化API要求は、システム100のAPI110を使用することにより外部ユーザ対面システム/アプリケーション(例えば、図30のシステム/アプリケーション152)により提供され、正規化API要求は、正規化API要求の各口座エンドポイントの口座信用情報を指定する、受信すること(ブロック910)を含む。
正規化API要求に応答して、正規化API要求の各口座エンドポイントの取引情報が、口座エンドポイントに関連付けられたアプリケーションプロキシインスタンス(例えば、図30のプロキシインスタンス121、122、及び/又は123の1つ)を使用することにより収集されて、正規化API要求により指定される関連付けられた口座信用情報及びシステム100のプロプライエタリAPI)(例えば、図30のAPI161、162、及び/又は163の1つ)を使用することにより、対応する機関システム(例えば、図30の外部ユーザ口座システム141、142、及び/又は143)から取引情報を収集する(ブロック920)。
更に、正規化API応答は外部ユーザ対面システム/アプリケーションに提供される(ブロック930)。正規化API応答は、正規化API要求の各口座エンドポイントの取引情報を提供する。各アプリケーションプロキシインスタンスは、対応する外部機関システムのアプリケーションをシミュレートするように構築される。
幾つかの実施態様では、各口座エンドポイントの収集される取引情報は、少なくとも、自動決済機関(ACH)取引で使用される口座番号及び対応する金融機関コードを含む。幾つかの実施態様では、取引情報は、対応する外部機関システムからアクセスされた少なくとも1つのステートメントを処理することにより収集される。
システムのプロキシインスタンスを介して取引及び口座情報を取得することの追加の例及び詳細は、2015年7月2日付けで出願された「SYSTEM AND METHOD FOR FACILITATING PROGRAMMATIC VERIFICATION OF TRANSACTIONS」と題する米国特許出願第14/790897号(本明細書では「‘897号出願」と呼ばれる)に見出し得る。この出願の開示全体は、あたかも本明細書に完全に記載されるかのように本明細書の一部をなし、含まれるもの全てについて参照により本明細書に援用される。
ユーザ情報に基づく正規化金融API要求の処理
図10は、金融プラットフォームシステムにおいて正規化API要求を処理する方法1000を示す。金融プラットフォームシステムは、金融プラットフォームシステム外部の少なくとも1つの外部金融機関システムにプログラム的にアクセスするように構築される。図10の方法1000のプロセス1010、1020、及び1030は、金融プラットフォームシステムの金融プラットフォームAPIを使用することにより、金融アプリケーションシステムにより提供された正規化金融APIに応答して実行される。正規化金融API要求は、少なくとも1つの外部金融システムの少なくとも1つの金融口座エンドポイントに対応するユーザ情報を指定する。
プロセス1010は、正規化API要求に関連付けられた少なくとも1つのアプリケーションプロキシインスタンスを使用して、少なくとも、正規化金融API要求により指定されたユーザ情報に関連付けられた口座信用情報指定するプロプライエタリ金融API要求を金融機関システムに提供することにより対応する金融機関システムから取引情報を収集することを含む。取引情報は、金融機関システムにより提供される少なくとも1つのプロプライエタリ金融API応答に含まれる。
プロセス1020は、収集された取引情報に基づいて正規化金融API応答を生成することを含む。プロセス1030は、正規化金融API応答を金融アプリケーションシステムに提供することを含む。
各アプリケーションプロキシインスタンスは、アプリケーションプロキシインスタンスに関連付けられたユーザの代理として、対応する金融機関システムのアプリケーションをシミュレートするように構築される。
幾つかの実施態様では、各プロプライエタリAPIは各金融機関システムのプライベートAPIであり、各プロプライエタリAPIはウェブブラウザインターフェースと異なる。
幾つかの実施態様では、正規化金融API要求は、金融アプリケーションシステムのユーザ口座の代理として提供され、指定されるユーザ情報は、ユーザ口座に関連付けられた情報を含む。
幾つかの実施態様では、正規化金融API要求は、金融アプリケーションシステムのユーザ口座の代理として提供され、指定されるユーザ情報は、金融アプリケーションシステムのユーザ口座のユーザとは異なるユーザに関連付けられた情報を含む。
幾つかの実施態様では、正規化金融API要求は、金融口座エンドポイント情報への要求であり、各プロプライエタリ金融API要求は、金融口座エンドポイント情報への要求であり、取引情報は金融口座エンドポイント情報を含む。
幾つかの実施態様では、正規化金融API要求は、少なくとも1つの出金口座エンドポイントから少なくとも1つの入金口座エンドポイントへの資金を転送する要求であり、正規化金融API要求は転送する資金額を指定する。
幾つかの実施態様では、各金融口座エンドポイントで収集される取引情報は、少なくとも、自動決済機関(ACH)取引で使用される口座番号及び対応する金融機関コードを含む。
幾つかの実施態様では、取引情報は、対応する外部金融機関システムからアクセスされた少なくとも1つの金融ステートメントを処理することにより収集される。
幾つかの実施態様では、金融プラットフォームシステムは、各外部金融機関システムの機関インターフェースモジュールを含み、各機関インターフェースモジュールは、外部金融機関システムのプロプライエタリAPIをモデリングし、各アプリケーションプロキシインスタンスは、対応する機関インターフェースモジュールを使用して、外部金融機関システムから取引情報を収集する。
幾つかの実施態様では、金融プラットフォームシステムは、関連付けられた外部金融機関システムのアプリケーションのソースコードのパース及びアプリケーションと関連付けられた外部金融機関システムとの間の通信のパースの少なくとも一方により各機関インターフェースモジュールを生成する。
幾つかの実施態様では、各機関インターフェースモジュールは、関連付けられた外部金融機関システムに送信されるメッセージのヘッダを定義する。
図10の実施形態例では、方法1000は金融プラットフォームシステム500により実施される。実施形態例では、金融プラットフォームシステムは、方法1000に関して本明細書に記載されるように、取引情報にプログラム的にアクセスするように構築される。
図11を参照すると、システム110において正規化API要求を処理する方法は、少なくとも1つの口座エンドポイントに関連付けられた正規化API要求を受信すること(ブロック1110)を含む。正規化API要求は、プラットフォームシステムのプラットフォームAPIを使用することにより外部アプリケーションシステムにより提供される。正規化API要求は、取引と、正規化API要求の各口座エンドポイントの口座トークン及び口座信用情報の少なくとも一方とを指定する。
正規化API要求に応答して、正規化API要求の各口座エンドポイントの取引情報が収集される(ブロック1120)。取引情報は、口座エンドポイントに関連付けられたアプリケーションプロキシインスタンスを使用することにより収集されて、正規化API要求により指定された関連付けられた口座トークン及び関連付けられた口座信用情報の少なくとも一方を使用することにより且つ機関システムのプロプライエタリAPIを使用することにより対応する機関システムから取引情報を収集する。
正規化API要求により指定された取引は、収集された取引情報を使用することにより実行される(ブロック1130)。正規化API応答が外部システムに提供される(ブロック1140)。正規化API応答は取引の結果を提供する。各アプリケーションプロキシインスタンスは、対応する外部機関システムのアプリケーションをシミュレートするように構築される。
幾つかの実施態様では、各口座エンドポイントについて収集された取引情報は、少なくとも、自動決済機関(ACH)取引で使用される口座番号及び対応する金融機関コードを含む。
幾つかの実施態様では、取引情報は、対応する外部機関システムからアクセスされた少なくとも1つのステートメントを処理することにより収集される。
幾つかの実施態様では、取引情報(及び/又は任意の他の口座関連情報)は、アプリケーションプロキシインスタンス、スクリーンスクレープ(例えば、機関のウェブページの)、機関(例えば、システムがアクセスを認可された)のAPIのAPI要求、又はこれらの方法の任意の組合せの1つ又は複数を介して収集される。取引情報はAPI応答において供給し得る。しかしながら、金融リポートを作成する状況では、取引情報を収集するプロセスは収集され、金融リポートの作成に使用することができる。
システムのそのような機能の追加の例及び詳細は‘897号出願に見出し得る。
幾つかの実施態様では、正規化API要求のユーザ情報は、正規化API要求に対応する外部ユーザ対面システム/アプリケーション(例えば外部ユーザ対面システム/アプリケーション162)の各ユーザ口座のユーザ口座識別子を含む。
幾つかの実施態様では、正規化API要求は表1に示されるようなパラメータを含む。
幾つかの実施態様では、<User Account Identifier>は、少なくとも1つの対応するアプリケーションプロキシインスタンスの選択に使用され、選択された各アプリケーションプロキシインスタンスは、関連付けられた機関システムにアクセスするためのユーザ信用情報(例えば、図33Bに示されるように)を含む。
幾つかの実施態様では、システム110(例えば図7及び図8)は、<Platform Account ID>パラメータ、<User Account Identifier>パラメータ、及び<Institution ID>パラメータに基づいて正規化API要求に関連付けられたアプリケーションプロキシインスタンスを決定する。幾つかの実施態様では、システム110は、<Platform Account ID>パラメータ、<User Account Identifier>パラメータ、及び<Institution ID>パラメータに関連付けられて管理されるアプリケーションプロキシシステム130のアプリケーションプロキシインスタンスを識別し、識別されたアプリケーションプロキシインスタンスを使用して取引情報を収集する。
幾つかの実施態様では、各プロプライエタリAPI要求は表2に示されるようなパラメータを含む。
種々の他の実施態様では、正規化API要求及び/又はプロプライエタリAPI要求は、APIの仕様及び関わる要求のタイプに応じて他のパラメータセットを含み得る。例えば、他の要求は、識別子トークン、複数の口座の識別子(例えば、送金を要求する場合)等を含み得る。そのような他のタイプの要求及びシステムの機能の追加の例及び詳細は‘897号出願に見出し得る。
幾つかの実施態様では、システムは、種々のタイプのアラート及び/又は他のインジケーションをユーザ計算デバイス(例えば、図30のユーザ計算デバイス181、182、及び/又は183)に送信し得る。これらの種々のタイプのアラート及び/又は他のインジケーションは、ユーザ計算デバイスで1つ又は複数のアプリケーション(例えば、SMS(簡易メッセージサービス)及び/又はMMS(マルチメディアメッセージングサービス)プロセス及び/又はアプリケーション、電子メールプロセス及び/又はアプリケーション、システムに関連するプロセス及び/又はアプリケーション、第一者及び/又は第三者プロセス及び/又はアプリケーション(例えば、機関及び/又はユーザ対面アプリケーション/サービスの)等)をアクティブ化し得る。例えば、本明細書に記載されるように、マルチファクタ認証プロセスを完了する目的でアラートをユーザ計算デバイスと通信し得る。そのような例では、秘密/認証コードと共にSMSメッセージをユーザ計算デバイスに通信して、ユーザ計算デバイスでSMSプロセス及び/又はアプリケーション(及び/又は別のプロセス及び/又はアプリケーション)をアクティブ化し得る。そのようなアラートはシステム及び/又は機関システムにより送信し得る。別の例では、システムは、ユーザのユーザ口座へのアクセス及び/又は取引等に関するアラートをユーザ計算デバイスに送信し得る。そのようなアラートは、新しい取引が口座に掲示されたこと、特定の金額の取引が掲示されたこと、及び/又は取引が拒絶されたこと等をユーザに通知し得る。そのようなアラートは、SMSメッセージ、電子メールメッセージ、及び/又は上述したように、種々のプロセス及び/又はアプリケーションをアクティブ化し得る他のタイプのメッセージを含み得る。更に別の例では、システムは、口座ドキュメントを含むアラートをユーザ計算デバイスに送信し得、それにより、口座ドキュメントの読み出しに適したプロセス及び/又はアプリケーションをユーザ計算デバイスでアクティブ化し得る。
システムアーキテクチャ
図12は、システムをサーバデバイスにより実施し得る実施態様によるシステム110のアーキテクチャ図である。代替的には、システムは、複数のデバイスにより、ホストされた計算環境(例えばクラウドサーバ)で、及び/又は任意の他の適した環境で実施し得る。
バス1202は、プロセッサ1201A~1201N、メインメモリ(例えば、ランダムアクセスメモリ(RAM))1222、読み取り専用メモリ(ROM)1204、コンピュータ可読記憶媒体1205(例えば、非一時的コンピュータ可読記憶媒体)、ディスプレイデバイス1207、ユーザ入力デバイス1208、及びネットワークデバイス1211とインターフェースする。
プロセッサ1201A~1201Nは、ARMプロセッサ及び/又はX86プロセッサ等の多くの形態をとり得る。
幾つかの実施態様では、システムは、中央演算処理装置(プロセッサ)及びマルチプロセッサユニット(MPU)の少なくとも一方を含む。
プロセッサ1201A~1201N及びメインメモリ1222は処理ユニット1299を形成する。幾つかの実施形態では、処理ユニットは、RAM、ROM、及びコンピュータ可読記憶媒体の1つ又は複数に通信可能に結合された1つ又は複数プロセッサを含み、処理ユニットの1つ又は複数のプロセッサは、バスを介してRAM、ROM、及びコンピュータ可読記憶媒体の1つ又は複数により記憶された命令を受信し、1つ又は複数のプロセッサは受信した命令を実行する。幾つかの実施形態では、処理ユニットはASIC(特定用途向け集積回路)である。幾つかの実施形態では、処理ユニットはSoC(システムオンチップ)である。幾つかの実施形態では、処理ユニットは、API、アプリケーションプロキシシステム、1つ又は複数のインスタンスインターフェースモジュール、口座ドキュメント、取引エンジン、ドキュメント処理エンジン、及び/又は本明細書に記載されるようなシステムの任意の他の機能又は態様の1つ又は複数を含む。
ネットワークアダプタデバイス1211は、外部ユーザ口座システム(例えば、機関151、152、及び/又は153)、外部ユーザ対面システム/アプリケーション(例えば、アプリケーション161及び/又は162)、及び/又はユーザデバイス(例えば、ユーザデバイス181及び/又は182)等のシステムと他のデバイスとの間でデータ及びコマンドを交換するための1つ又は複数の有線又は無線インターフェースを提供する。そのような有線インターフェース及び無線インターフェースは、例えば、ユニバーサルシリアルバス(USB)インターフェース、Bluetoothインターフェース、Wi-Fiインターフェース、Ethernetインターフェース、及び/又は近距離通信(NFC)インターフェース等を含む。幾つかの実施形態では、システムはインターネットを介して他のデバイスと通信する。
ソフトウェアプログラム(オペレーティングシステム、アプリケーションプログラム、及びデバイスドライバ等)でのマシン実行可能命令(例えばコンピュータ可読プログラム命令)は、プロセッサ可読記憶媒体1205、ROM1204、又は任意の他の記憶ロケーションからメモリ1222(処理ユニット1299の)にロードされる。これらのソフトウェアプログラムの実行中、各マシン実行可能命令はプロセッサ1201A~1201N(処理ユニット1299の)の少なくとも1つによりバス1202を介してアクセスされ、次に、1201A~1201Nの少なくとも1つにより実行される。ソフトウェアプログラムにより使用されるデータもメモリ1222に記憶され、そのようなデータは、ソフトウェアプログラムのマシン実行可能命令の実行中、プロセッサ1201A~1201Nの少なくとも1つによりアクセスされる。プロセッサ可読記憶媒体1205は、オペレーティングシステム1212、ソフトウェアプログラム/アプリケーション1213、デバイスドライバ1214、API120、アプリケーションプロキシシステム130、機関インターフェースモジュール141、142、及び143、並びに口座ドキュメント202を含む。幾つかの実施態様では、プロセッサ可読記憶媒体1205は、取引エンジン203、ドキュメント処理エンジン204、トークン生成エンジン205、及び/又は記録保管庫1402(後述するように、暗号化又は他の方法でセキュア化されたデータベース又はデータストアを含み得る)を含む。
システムアーキテクチャに関する更なる詳細について以下説明する。
許可管理を実施する場合のシステムのネットワーク環境例
図13は、実施形態により、許可管理システム1304(すなわち、データ管理プラットフォーム)が動作し得る一例のネットワーク環境1300を示す。示されるように、ネットワーク環境は、許可管理システム1304、外部ユーザ口座システム1306、外部ユーザ対面システム/アプリケーション1308、許可プラグイン1310、許可プラグイン1311、高信頼性第三者プロセッサシステム1312、ユーザ計算デバイス1314、及びユーザ1316を含む。ネットワーク環境1300の種々の態様は、ネットワーク/インターネット1302を介して通信し得る。ネットワーク/インターネット1302は、有線及び/又は無線ネットワークを含み得、及び/又は特定の実施形態では、1つ又は複数の有線及び/又は無線ネットワークを含み得る。ネットワーク環境1300の種々の構成要素は、ネットワーク/インターネット1302を介して通信し得、及び/又は代替的には1つ又は複数の他の有線又は無線接続を介して互いと直接通信し得る。幾つかの実施形態では、許可管理システム1304は、上述したシステム110の機能を含み得、及び/又は上述したシステム110の機能は、ネットワーク環境1300において1つ又は複数の他の計算システムで実施し得る。しかしながら、説明を明確にするために、以下の説明では、許可管理システム1304が後述したシステム110の機能を含むと仮定する。
更に、外部ユーザ口座システム1306は機関のシステム(例えば、機関システム151、152、及び/又は153の1つ)を含み得、2つ以上の外部ユーザ口座システム1306が許可管理システム1304との通信に関わり得るが、明確にするために、1つの外部ユーザ口座システム1306が図13に示されている。
更に、外部ユーザ対面システム/アプリケーション1308は、ユーザが対話し得るシステム及び/又はアプリケーション及び/又はマーチャント等を含み得る。例えば、ユーザ1316は、ユーザ計算デバイス1314を介して外部ユーザ対面システム/アプリケーション1308と対話し得る。一例では、外部ユーザ対面システム/アプリケーション1308は、上述した(例えば、アプリ161及び/又は162を参照して)ように、ユーザ計算デバイス1314(例えばモバイルデバイス等)で実行され、及び/又はレンダリングされるアプリ及び/又はウェブベースのアプリケーションを含み得る。
実施形態では、外部ユーザ対面システム/アプリケーション1308は許可プラグイン1310を含み得る。許可プラグイン1310は、外部ユーザ対面システム/アプリケーション1308に統合し得るソフトウェア/コードモジュール及び/又はスニペット等を含み得る。許可プラグイン1310は、外部ユーザ対面システム/アプリケーション1308が許可管理システム1304により提供される機能を含み得る(直接又は外部ユーザ口座システム1306を介して間接的に)ように、許可管理システム1304及び/又は外部ユーザ口座システム1306により提供し得る。一実施態様では、許可プラグイン1310は、外部ユーザ対面システム/アプリケーション1308に統合されたJavaScriptコード(又は任意の他のプログラミング言語で書かれたコード)を含む。例えば、貸付管理システムアプリケーションは許可プラグイン1310を統合して、ユーザ口座を外部金融機関とリンクするのを促進する。JavaScriptコードは、実行されると、許可管理システム1304及び/又は外部ユーザ口座システム1306と通信して、本明細書に記載されるような特定の機能を提供し得る。有利なことには、幾つかの実施態様では、許可プラグイン1310は、ユーザ1316に提示し得るインタラクティブユーザインターフェースを生成し得る。情報は、ユーザ1316から許可プラグイン1310のインタラクティブユーザインターフェースを介して取得し得る(例えば口座信用情報等)。許可プラグイン1310はそのような情報を取得し、外部ユーザ対面システム/アプリケーション1308がユーザ1316により提供された情報にアクセスできないようにセキュアに情報を許可管理システム1304及び/又は外部ユーザ口座システム1306に通信し得る。
更に、許可プラグイン1310は、有利なことには、許可管理システム1304及び/又は外部ユーザ口座システム1306とのセキュア通信の確立及び/又は本明細書に記載されるような他の機能を処理し得、それにより、外部ユーザ対面システム/アプリケーション1308の開発者はこれらの態様を考慮する必要がない(したがって、外部ユーザ対面システム/アプリケーション1308の開発を加速化させる)。
実施形態では、ユーザコンピュータデバイス1314は、上述した許可プラグイン1310と同様に機能する許可プラグイン1311を含み得る。許可プラグイン1310と同様に、許可プラグイン1311もソフトウェア/コードモジュール及び/又はスニペット等を含み得る。許可プラグイン1311は、ユーザ計算デバイス1314により実行される別のソフトウェアアプリケーション(例えば、例えば外部ユーザ口座システム1306との通信を可能にすること専用のソフトウェアアプリケーション)に統合されてもよく、又はユーザ計算デバイス1314により他の方法で実行可能であってもよい(例えば、ユーザ計算デバイス1314のウェブブラウザにより)。許可プラグイン1311は、ユーザ計算デバイス1314が許可管理システム1304により提供される(直接又は外部ユーザ口座システム1306を介して間接的に)機能を含み得るように、許可管理システム1304及び/又は外部ユーザ口座システム1306により提供し得る。一実施態様では、許可プラグイン1311はJavaScriptコード又は任意の他のプログラミング言語で書かれたコードを含む。JavaScriptコードは、実行されると、許可管理システム1304及び/又は外部ユーザ口座システム1306と通信して、本明細書に記載されるような特定の機能を提供し得る。有利なことには、幾つかの実施態様では、許可プラグイン1311は、ユーザ1316に提示し得るインタラクティブユーザインターフェースを生成し得る。情報は、ユーザ1316から許可プラグイン1311のインタラクティブユーザインターフェースを介して取得し得る(例えば口座信用情報等)。許可プラグイン1311はそのような情報を取得し、外部ユーザ対面システム/アプリケーション1308がユーザ1316により提供された情報にアクセスできないようにセキュアに情報を許可管理システム1304及び/又は外部ユーザ口座システム1306に通信し得る。更に、許可プラグイン1311は、有利なことには、許可管理システム1304及び/又は外部ユーザ口座システム1306とのセキュア通信の確立及び/又は本明細書に記載されるような他の機能を処理し得、それにより、外部ユーザ対面システム/アプリケーション1308の開発者はこれらの態様を考慮する必要がない(したがって、外部ユーザ対面システム/アプリケーション1308の開発を加速化させる)。
以下に提供される機能の詳細な説明に加えて、追加の例及び詳細は、参照により先に本明細書に援用された2115年9月8日付けで出願された「Link」と題する米国仮特許出願第*62/225603号に見出し得る。
認可の行動図例
図14A及び図14Bは、実施形態によるネットワーク環境1300の態様間での対話例を示す行動図である。後述するように、ネットワーク環境1300の種々の態様間の対話は、外部ユーザ口座システム1306(又は複数の外部ユーザ口座システム1306)へのアクセスの許可及び取引の実行を可能にし得る。更に、ネットワーク環境1300の種々の態様間の対話は、ユーザが、ユーザの口座にアクセスする認可を付与し、及び/又は認可を取り消せるようにし得る。
図14A及び図14Bの行動図及び本明細書に記載される他の行動図において、種々の実施態様では、示され記載される行動は示される順序と異なる順序で実行し得る。例えば、特定の行動は、種々の実施態様により、他の動作の前又は後に行われ得る。
ネットワーク環境1300の態様間の対話は、先に概説したように、種々のAPI呼び出しを介して(例えば、API120を通して)達成し得る。したがって、例えば、口座信用情報、ユーザ情報、トークン識別子、取引要求、及び/又は後述する対話中に送信される任意の他の情報は、正規化API要求を介して通信し得る。上述したように、許可管理システム1304のAPIは、有利なことには、許可管理システム1304と効率的に対話するようにソフトウェアアプリケーション及び/又はシステムを効率的に開発し得るように明確に定義し得る。更に、ネットワーク環境1300の態様間の各通信は、効率的な通信を保証するために、複数の要求及び/又は肯定応答を含み得る。更に、通信はセキュア接続を介して行い得る。
図14Aは、実施形態によるネットワーク環境1300の態様間対話例を示す行動図である。図14Aの行動図では、システムは、実施形態によりユーザがユーザ口座へのアクセスを認可できるようにする。
行動1aにおいて、ユーザ計算デバイス1314は外部ユーザ口座システム1306と対話する。そのような対話は、例えば、ユーザ計算デバイス1314のユーザが、ユーザ口座への認可を提供する意図を示す入力を提供する場合、生じ得る。例えば、ユーザは、ユーザ計算デバイス1314を介して外部ユーザ対面システム/アプリケーション1308と対話し得る(例えば、ユーザは、モバイルデバイス又はデスクトップコンピュータ上のマーチャントのアプリ及び/又はウェブサイトにアクセスし得る)。ユーザは、ユーザのユーザ口座(例えば、外部ユーザ口座システム1306に関連付けられた機関により保持されたユーザ口座)のユーザ口座データへのアクセスを外部ユーザ対面システム/アプリケーション1308に提供することを望むか、又は提供するように促され得る。したがって、実施形態では、許可プラグイン1311は、ユーザ計算デバイス1314により実行し得、インタラクティブユーザインターフェースをユーザに提示し得る(図19を参照して以下に更に詳述するように)。許可プラグイン1311により可能になるインタラクティブユーザインターフェースの例について、図22A~図22Lを参照して以下に説明する。
種々の実施態様では、インタラクティブユーザインターフェースは許可プラグイン1310、許可プラグイン1311、別のソフトウェアアプリケーション、及び/又はこれらの任意の組合せにより生成し得る。インタラクティブユーザインターフェースを通して、ユーザは口座信用情報及び/又はユーザの口座へのアクセスについての他の認可を提供し得る。後述するように、認可は、口座へのアクセスに対する種々の制限(本明細書では「許可」等と呼ばれる)を含み得る。口座へのアクセスは、例えば、取引を実行する能力、ユーザに関連する情報を取得する能力、及び/又は取引情報を取得する能力等を含み得る。上述したように、認可及び/又は口座信用情報等は、提供された情報に外部ユーザ対面システム/アプリケーション1308又は許可管理システム1304がアクセス可能ではないように、セキュアに許可プラグイン1311を介して外部ユーザ口座システム1306に提供し得る。したがって、有利なことには、本開示の種々の実施形態によれば、ユーザは、機密情報を外部ユーザ対面システム/アプリケーション1308(例えば、マーチャント、開発者等)又は許可管理システム1304に明らかにすることなく、そのような情報を外部ユーザ口座システム1306にセキュアに提供し得る。
許可プラグイン1311と外部ユーザ口座システム1306との間の通信は、特定の情報の伝送を含み得る。例えば、許可プラグイン1311はクライアントID(例えば、外部ユーザ対面システム/アプリケーション1308から取得し得る、外部ユーザ対面システム/アプリケーション1308に関連付けられた一意の識別子)、ユーザ識別子(例えば、ユーザに関連付けられた一意の識別子)、口座信用情報、及び/又は秘密鍵等を外部ユーザ口座システム1306に送信し得、外部ユーザ口座システム1306により処理され検証し得る。
行動1bにおいて、ユーザ計算デバイス1314から受信した情報に基づいて、外部ユーザ口座システム1306は電子記録を生成する。電子記録は、以下に更に詳述するように外部ユーザ口座システム1306により生成されるが、電子記録は、一意の記録名、口座信用情報、ユーザに関連付けられた識別子、外部ユーザ対面システム/アプリケーション1308に関連付けられた識別子(例えばクライアントID)、ユーザ口座情報、又は1つ若しくは複数の許可の1つ又は複数を含み得る。
示されるように、外部ユーザ口座システム1306は記録保管庫1402を含み得、これは、本明細書に記載されるように、生成された電子記録をセキュアに記憶する1つ又は複数のデータベースを含む。したがって、行動1aにおいて、外部ユーザ口座システム1306により生成された電子記録は記録保管庫1402に記憶される。生成された各電子記録にはトークン(例えば、本明細書では「一意の記録識別子」とも呼ばれる、電子記録に関連付けられた一意の識別子)を関連付け得、トークンにより識別し得る。実施形態では、トークン(例えば一意の記録識別子)は、電子記録の1つ又は複数の要素の暗号化ハッシュに基づいて生成される。代替的には、トークンはランダムに生成し得る。
実施態様では、電子記録及び/又はトークンは、口座信用情報が有効又は正確であることの検証なしで生成し得る。
行動1cにおいて、トークンはユーザ計算デバイス1314に送信され、行動2において、トークンは許可管理システム1304に送信される。代替的には、トークンは許可管理システム1304に直接送信し得る。
行動3において、許可管理システム1304は、トークンを使用して外部ユーザ口座システム1306とインターフェースして、ユーザに関連付けられたユーザ口座データへのアクセスを開始し得、又はアクセスを開始できるようにし得る。この時点で、外部ユーザ口座システム1306は、口座信用情報が有効であることを検証し得、有効であった場合又は有効でなかった場合、メッセージを許可管理システム1304に返し得る。有効であった場合、外部ユーザ口座システム1306は、許可管理システム1304がユーザ口座データへの追加アクセスを要求するために使用し得るトークンと同様に、アクセスキー(例えば一意の識別子)を生成し記憶し得る。したがって、アクセスキーは許可管理システム1304に送信し得る。幾つかの実施態様では、アクセスキー及びトークンは同様又は同じであり、それにより、アクセスキーは生成しなくてもよく、トークンを使用してユーザ口座データにアクセスし得る。
更に行動3において、ユーザにより提供された口座信用情報は、ユーザ口座データ(例えば、ユーザ口座情報、口座番号、及び/又は金融機関コード等)の取得に使用し得る。外部ユーザ口座システム1306との通信は、API(公開若しくは非公開)又は他の適した通信方法を介して達成し得る。幾つかの実施態様では、通信は、種々の図を参照して先に概説したように達成され、例えば、外部ユーザ口座システム1306のアプリケーションの仮想インスタンスを生成して、公開/非公開APIを介して外部ユーザ口座システム1306と通信し得る。
行動4において、口座信用情報が有効であると検証された場合、外部ユーザ口座システム1306はユーザ計算デバイス1314と通信して、外部ユーザ口座システム1306により要求される他の形態の諸条件を受け入れるように促し得る。幾つかの実施態様では、そのようなプロンプトは、口座信用情報が検証される前に、提供し得る。
更に行動4において、外部ユーザ口座システム1306はユーザ計算デバイス1314と通信して、例えば許可プラグイン1311によりユーザに提示されたインタラクティブユーザインターフェースを介して、複数の口座(又は他の情報)から特定の口座を選択するようにユーザに促し得る。
幾つかの実施態様では、例えば図14Bの行動1及び2を参照して後述するように、ユーザが口座信用情報及び他の情報を提供し得るインタラクティブユーザインターフェースは、許可管理システム1304、外部ユーザ口座システム1306、許可プラグイン1310、及び/又は許可プラグイン1311を介して提供し得る。幾つかの実施態様では、これもまた後述するように、ユーザが許可管理システム1304を介して口座信用情報を提供するのではなく、許可管理システム1304、外部ユーザ口座システム1306、許可プラグイン1310、及び/又は許可プラグイン1311は、ユーザに表示されたインタラクティブユーザインターフェースを、外部ユーザ口座システム1306により直接提供されるページ又はユーザインターフェースにリダイレクトさせ得る。
行動5において、許可管理システム1304は、トークン及び/又はアクセスキーをセキュアデータベース1404に記憶し得、セキュアデータベース1404は本明細書に記載された記録保管庫1402と同様であり得、例えば暗号化され得る。
行動6において、許可管理システム1304は、ユーザ口座データを要求するために外部ユーザ対面システム/アプリケーション1308により使用し得るトークンと同様に、APIアクセスキー(例えば一意の識別子)を生成し記憶し得る。したがって、APIアクセスキーは、外部ユーザ対面システム/アプリケーション1308に送信し得る。幾つかの実施態様では、APIアクセスキー及びトークンは同様又は同じであり、それにより、APIアクセスキーは生成しなくてもよく、トークンを使用してユーザ口座データにアクセスし得る。
種々の実施形態では、許可管理システム1304と外部ユーザ対面システム/アプリケーション1308との間のセキュア通信は、任意の適した方法を介して確立し得る。例えば、実施態様では、許可管理システム1304は「公開トークン」を外部ユーザ対面システム/アプリケーション1308に提供し得る。それに応答して、外部ユーザ対面システム/アプリケーション1308は許可管理システム1304に、クライアントID、公開トークン、及び秘密鍵/識別子(前に許可管理システム1304から外部ユーザ対面システム/アプリケーション1308にセキュアに提供された)を提供し得る。許可管理システム1304は次に、この情報(例えば、クライアントID、公開トークン、及び秘密鍵/識別子)を使用して、外部ユーザ対面システム/アプリケーション1308とのアクセス及び通信を認証し得る。システムの種々のデバイス間にセキュア通信を確立する同様又は代替の方法が本開示の種々の実施形態において使用可能である。
行動7において、許可管理システム1304はトークン及び/又はアクセスキーを使用して、外部ユーザ口座システム1306から追加のユーザ口座データ(例えば取引データ)を取得し得る。上述したように、外部ユーザ口座システム1306との通信は、API(公開若しくは非公開)又は他の適した通信方法を介して達成し得る。幾つかの実施態様では、通信は、種々の図を参照して先に概説したように達成され、例えば、外部ユーザ口座システム1306のアプリケーションの仮想インスタンスを生成して、公開/非公開APIを介して外部ユーザ口座システム1306と通信し得る。
行動8において、ユーザ口座データは外部ユーザ対面システム/アプリケーション1308により要求され及び/又は外部ユーザ対面システム/アプリケーションに提供される。例えば、外部ユーザ対面システム/アプリケーション1308は、トークン及び/又はAPIアクセスキーを許可管理システム1304に提供することによりユーザ口座データを要求し得る。
幾つかの実施態様では、行動7は自動的に複数回実行し得る。例えば、行動7は定期的に又はスケジュールに従って実行し得る。代替的には、行動7は、例えば外部ユーザ対面システム/アプリケーション1308からの要求受信に応答して実行し得る。種々の実施形態では、行動7及び8は任意の順序で及び/又は同時に行い得る。
行動9において、外部ユーザ対面システム/アプリケーション1308は、ユーザ口座情報をユーザ計算デバイス1314に提供し得る(例えば、ユーザ計算デバイス1314のソフトウェアアプリケーションを介して)。
したがって、図14Aの行動図に説明されるように、外部ユーザ対面システム/アプリケーション1308及び/又はユーザ計算デバイス1314との対話を介して、ユーザは、ユーザ口座情報を外部ユーザ対面システム/アプリケーション1308と共有することなく、口座信用情報を提供し、外部ユーザ対面システム/アプリケーション1308によるユーザ口座データへのアクセスを認可し得る。有利なことには、特定の実施形態によれば、外部ユーザ対面システム/アプリケーション1308にユーザ口座情報を明らかにする必要はなく、これは、外部ユーザ対面システム/アプリケーション1308の開発を簡易化し得、外部ユーザ対面システム/アプリケーション1308との対話においてユーザに直言し得る。更に、後述するように、システムの実施態様は、ユーザが、外部ユーザ対面システム/アプリケーション1308を認可解除し、許可を閲覧し、及び/又は許可を変更できるようにし得る。
図14Bは、実施形態による、ネットワーク環境1300の態様間での対話例を示す行動図である。種々の実施形態では、図14Aを参照して上述した行動及び行動の態様は図14Bの行動にも同様に当てはめ得る。
図14Bの行動1において、ユーザは、ユーザ計算デバイス1314を介して外部ユーザ対面システム/アプリケーション1308と対話する。例えば、ユーザは、モバイルデバイス又はデスクトップコンピュータ上のマーチャントのアプリ及び/又はウェブサイトにアクセスし得る。ユーザが外部ユーザ対面システム/アプリケーション1308と対話している間、外部ユーザ対面システム/アプリケーション1308は許可プラグイン1310を実行し、許可プラグイン1310はインタラクティブユーザインターフェースをユーザに提示し得る(図19を参照して以下に更に詳述するように)。許可プラグイン1310により可能になるインタラクティブユーザインターフェースの例については図22A~図22Lを参照して後述する。
インタラクティブユーザインターフェースを通して、ユーザは、ユーザの口座にアクセスするための口座信用情報及び/又は他の認可を提供し得る。後述するように、認可は、口座へのアクセスに対する種々の制限(本明細書では「許可」等と呼ばれる)を含み得る。口座へのアクセスは、例えば、取引を実行する能力、ユーザに関連する情報を取得する能力、及び/又は取引情報を取得する能力等を含み得る。上述したように、認可及び/又は口座信用情報等は、提供された情報に外部ユーザ対面システム/アプリケーション1308がアクセス可能ではないようにセキュアに許可プラグイン1310を介して許可管理システム1304に提供する。したがって、有利なことには、本開示の種々の実施形態によれば、ユーザは、機密情報を外部ユーザ対面システム/アプリケーション1308(例えば、マーチャント、開発者等)に明らかにすることなく、そのような情報を許可管理システム1304にセキュアに提供し得る。
許可プラグイン1310と許可管理システム1304との間にセキュア通信を確立することは、特定の識別情報の送信を含み得る。例えば、許可プラグイン1310及び/又は外部ユーザ対面システム/アプリケーション1308は、クライアントID(例えば、外部ユーザ対面システム/アプリケーション1308に関連付けられた一意の識別子)、ユーザ識別子(例えば、ユーザに関連付けられた一意の識別子)、及び/又は秘密鍵等を許可管理システム1304に送信し得、許可管理システム1304により処理され検証し得る。
行動2において、許可管理システム1304は、ユーザにより提供された口座信用情報を使用して外部ユーザ口座システム1306とインターフェースし、ユーザ口座データ(例えば、ユーザ口座情報、口座番号、金融機関コード、及び/又は取引データ等)を取得し得る。外部ユーザ口座システム1306との通信は、種々の図を参照して先に概説したように達成し得、例えば、外部ユーザ口座システム1306のアプリケーションの仮想インスタンスを生成して、公開/非公開APIを介して外部ユーザ口座システム1306と通信し得る。これも上述したように、外部ユーザ口座システム1306との通信を確立することは、マルチファクタ認証(ユーザ計算デバイス1314との追加の通信を必要とし得る)等を含み得る。更に、行動2は、ユーザが、許可プラグイン1310によりユーザに提示されたインタラクティブユーザインターフェースを介して複数の口座から特定の口座を選択できるようにすることを含み得る。幾つかの場合、ユーザ口座情報は、外部ユーザ口座システム1306から入手可能であり得るドキュメント(例えば、口座ステートメントPDF)の分析により取得し得る。
行動3において、外部ユーザ口座システム1306から取得されたユーザ口座データに基づいて、許可管理システム1304は電子記録を生成する。電子記録は、以下に更に詳述するように許可管理システム1304により生成されるが、電子記録は、少なくとも、一意の記録名、ユーザに関連付けられた識別子、外部ユーザ対面システム/アプリケーション1308に関連付けられた識別子(例えばクライアントID)、外部ユーザ口座システム1306から取得されたユーザ口座情報、及び1つ又は複数の許可を含み得る。
図14Bに示されるように、許可管理システム1304は記録保管庫1402を含み得、記録保管庫1402は、本明細書に記載されるように、生成された電子記録をセキュアに記憶する1つ又は複数のデータベースを含む。したがって、行動3において、許可管理システム1304により生成された電子記録は、記録保管庫1402に記憶される。生成された各電子記録にはトークン(例えば、本明細書では「一意の記録識別子」とも呼ばれる、電子記録に関連付けられた一意の識別子)を関連付け得、トークンにより識別し得る。実施形態では、トークン(例えば一意の記録識別子)は、電子記録の1つ又は複数の要素の暗号化ハッシュに基づいて生成される。代替的には、トークンはランダムに生成し得る。
図14Bの行動の1つ又は複数への代替では、行動Zにおいて、ユーザが口座信用情報を許可管理システム1304に提供するのではなく、許可管理システム1304及び/又は許可プラグイン1310が、ユーザに表示されたインタラクティブユーザインターフェースを、外部ユーザ口座システム1306により直接提供されるページ又はユーザインターフェースにリダイレクトさせ得る。したがって、図14Aの行動1a、1b、1c、及び2を参照して上述したように、外部ユーザ口座システム1306は、ユーザ計算デバイス1314を介して許可管理システムに送信され得るトークンを生成し得る。このトークンは次に、外部ユーザ口座システム1306からユーザ口座データにアクセスするために、許可管理システム1304により使用し得る。
行動4において、トークンは外部ユーザ対面システム/アプリケーション1308に返信される。有利なことには、種々の実施形態では、トークンはユーザのいかなる口座情報(及び/又はいかなる非暗号化口座情報)も含まず、したがって、外部ユーザ対面システム/アプリケーション1308は、トークンを使用してユーザの口座に直接アクセスし得ない。外部ユーザ対面システム/アプリケーション1308は、ユーザに関連付けられてトークンを記憶し得る。したがって、以下に詳述するように、外部ユーザ対面システム/アプリケーション1308はトークンを使用して、支払い又はユーザとの他の取引を開始し得る。
行動5において、外部ユーザ対面システム/アプリケーション1308は、高信頼性第三者プロセッサシステム1312(例えば支払いプロセッサ)との通信を介してユーザに関連付けられた取引の実行を要求し得る。例えば、外部ユーザ対面システム/アプリケーション1308がマーチャントである場合、外部ユーザ対面システム/アプリケーション1308は高信頼性第三者プロセッサシステム1312を介して支払い又はサービス若しくは商品を要求し得る。要求を行うに当たり、外部ユーザ対面システム/アプリケーション1308は取引詳細及びトークンを高信頼性第三者プロセッサシステム1312に送信する。取引詳細は、例えば、支払うべき金額及び/又は支払いの頻度等を含み得る。
行動6において、外部ユーザ対面システム/アプリケーション1308により要求された取引を実行するために、高信頼性第三者プロセッサシステム1312は許可管理システム1304と通信して、ユーザの口座詳細(例えば、口座番号及び金融機関コード)を取得し、取引を実行する認可を取得する。したがって、高信頼性第三者プロセッサシステム1312は、トークン及び取引詳細を許可管理システム1304に通信する。
行動7において、許可管理システム1304は、高信頼性第三者プロセッサシステム1312から受信したトークンに関連する記録保管庫1402内の電子記録を識別する。許可管理システム1304は、種々の許可情報等の電子記録に関連する情報を含め、識別された電子記録を検索する。許可管理システム1304は次に、取引詳細を電子記録に関連付けられた許可情報と比較し、外部ユーザ対面システム/アプリケーション1308が要求された取引を実行する認可を有するか否かを判断する。
行動8において、外部ユーザ対面システム/アプリケーション1308が取引を実行する認可を有さないと許可管理システム1304が判断する場合、そのようなインジケーションが高信頼性第三者プロセッサシステム1312に返信される。高信頼性第三者プロセッサシステム1312は次に、取引を実行する認可を有さないことを外部ユーザ対面システム/アプリケーション1308に示し得る。外部ユーザ対面システム/アプリケーション1308が取引を実行する認可を有すると許可管理システム1304が判断する場合、許可管理システム1304は、取引の実行に必要なユーザの口座詳細(例えば、口座番号及び金融機関コード)並びに外部ユーザ対面システム/アプリケーション1308が取引を実行する認可を有することのインジケーションを高信頼性第三者プロセッサシステム1312に送信する。
行動9において、許可管理システム1304から受信した口座詳細を使用して、高信頼性第三者プロセッサシステム1312は、外部ユーザ口座システム1306との通信を介して取引を実行する。例えば、許可管理システム1304から受信した口座詳細は、口座番号及び金融機関コード、及び/又はクレジットカード番号等を含み得る。高信頼性第三者プロセッサシステム1312はそのような情報を利用して、外部ユーザ口座システム1306との通信を介して送金(例えば、上述したようなACH転送)等を実行し得る。
行動10において、高信頼性第三者プロセッサシステム1312は、取引が実行されたことのインジケーション又は取引が実行されなかった(例えば、十分な資金がなかった場合等)ことのインジケーションを外部ユーザ対面システム/アプリケーション1308と通信する。高信頼性第三者プロセッサシステム1312と外部ユーザ対面システム/アプリケーション1308との間のそのような通信は、例えば、試みられた取引実行に関するステータス等に関する複数の往復通信を含み得る。
したがって、図14Bの行動図に説明されるように、外部ユーザ対面システム/アプリケーション1308との対話を介して、ユーザは口座信用情報を許可管理システム1304に提供し、ユーザ口座情報を外部ユーザ対面システム/アプリケーション1308と共有することなく、外部ユーザ対面システム/アプリケーション1308による取引の実行を認可し得る。有利なことには、特定の実施形態によれば、外部ユーザ対面システム/アプリケーション1308にユーザ口座情報を明らかにする必要はなく、これは、外部ユーザ対面システム/アプリケーション1308の開発を簡易化し得、外部ユーザ対面システム/アプリケーション1308との対話においてユーザに直言し得る。更に、後述するように、図14Bの実施態様は、ユーザが、外部ユーザ対面システム/アプリケーション1308の許可を認可解除し、及び/又は許可を変更できるようにする。
幾つかの実施態様では、許可管理システム1304、外部ユーザ対面システム/アプリケーション1308、及び/又は高信頼性第三者プロセッサシステム1312の1つ又は複数の機能は、結合及び/又はより多くのシステム/デバイスに細分し得る。例えば、実施形態では、許可管理システム1304は、許可管理システム及び高信頼性第三者プロセッサの両方として機能し得、それにより、上述した行動の幾つかを簡易化し結合し得る。
述べたように、ネットワーク環境1300の種々の態様間の通信は、セキュアチャネル(例えば暗号化チャネル)を介し得る。例えば、「高信頼性」であるためには、高信頼性第三者プロセッサシステム1312は、許可管理システム1304に対してそれ自体をセキュアに識別する必要があり得る。例えば、高信頼性第三者プロセッサシステム1312は、認可、暗号化、及び識別への相互同意を証明することができる。特定の実施形態により、ネットワーク環境1300の他の態様間で他の同様の通信を行うこともできる。
種々の実施形態では、特定の行動は特定の他の行動に応答して開始し得る。例えば、トークンは、口座情報及び/又は取引の実行についての外部ユーザ対面システム/アプリケーション1308からの要求に応答して生成し得る。種々の実施形態では、追加の態様が取引の実行に関わり得る。例えば、2つ以上のプロセッサシステム又は外部ユーザ口座システムは、取引を実行する互いの要求を調整及び/又は行い得る。
認可解除の場合の行動図例
図15は、実施形態による、ユーザが外部ユーザ対面システム/アプリケーション1308を認可解除し得るネットワーク環境1300の態様間の対話例を示す行動図である。各行動1a、1b、及び1cは、ユーザに関する取引を実行する外部ユーザ対面システム/アプリケーション1308の能力を認可解除する代替の手段を示す。
行動1aにおいて、ユーザは、外部ユーザ対面システム/アプリケーション1308及び許可プラグイン1310を介して、ユーザに関連する取引の実行及び/又はユーザに関連するデータへのアクセスについての外部ユーザ対面システム/アプリケーション1308の認可解除を要求し得る。要求は、例えば、許可プラグイン1310を通して許可管理システム1304との通信を介して行われる。
代替的には、行動1bにおいて、ユーザは、ユーザに関連する取引の実行及び/又はユーザに関連するデータへのアクセスについての外部ユーザ対面システム/アプリケーション1308の認可解除を許可管理システム1304に対して直接要求し得る(例えば、許可管理システム1304のインタラクティブユーザインターフェースを介して、及び/又は許可管理システム1304からの電子メールにおけるリンクを介して等)。
別の代替では、行動1cにおいて、ユーザは、外部ユーザ口座システム1306により実施されるように、許可プラグイン1502(許可プラグイン1310と同様)を介して、ユーザに関連する取引の実行及び/又はユーザに関連するデータへのアクセスについて外部ユーザ対面システム/アプリケーション1308の認可解除を要求され得る。例えば、外部ユーザ口座システム1306のウェブベースのポータルを介して外部ユーザ口座システム1306と対話する場合、ユーザは、外部ユーザ対面システム/アプリケーション1308の認可解除を要求する選択肢を有し得る。
行動2において、許可管理システム1304は、外部ユーザ対面システム/アプリケーション1308を認可解除する要求を受信し、電子記録(記録保管庫1402に記憶されているような)を更新することにより要求を処理する。例えば、外部ユーザ対面システム/アプリケーション1308は、電子記録を削除し得、外部ユーザ対面システム/アプリケーション1308が認可解除されたことのインジケーションを電子記録に追加し得、及び/又は電子記録に関連付けられた1つ又は複数の許可を変更し得る。
任意選択的な行動3において、許可管理システム1304は、認可解除を外部ユーザ対面システム/アプリケーション1308に通知し得る。
行動4~8は、外部ユーザ対面システム/アプリケーション1308が、認可解除後、ユーザに関連する取引を開始しようとする場合に行われ得る行動を示す。
行動4において、外部ユーザ対面システム/アプリケーション1308は、上述したように、少なくともトークン及び取引詳細を提供することにより高信頼性第三者プロセッサシステム1312を介して取引の実行を要求する。
行動5において、高信頼性第三者プロセッサシステム1312は取引詳細及びトークンを許可管理システム1304に通信して、外部ユーザ対面システム/アプリケーション1308により要求された取引の実行の認可を要求する。
上述したように、行動6において、許可管理システム1304は、トークンを使用して、ユーザ及び外部ユーザ対面システム/アプリケーション1308に関連する電子記録にアクセスする。次に、許可管理システム1304は、取引詳細をアクセスされた電子記録により示された許可と比較する。電子記録が存在しない場合、及び/又は許可により、外部ユーザ対面システム/アプリケーション1308が認可解除されたことが示される場合、行動7において、許可管理システム1304は、外部ユーザ対面システム/アプリケーション1308が取引の認可を有さないことのインジケーションを高信頼性第三者プロセッサシステム1312に通信する。行動8において、高信頼性第三者プロセッサシステム1312は、取引を実行する認可がないことを外部ユーザ対面システム/アプリケーション1308に示す。
図15に示されていない代替では、ユーザは同様に、高信頼性第三者プロセッサシステム1312との対話を介して外部ユーザ対面システム/アプリケーション1308を認可解除し得、ここでは、高信頼性第三者プロセッサシステム1312により実施されるような許可プラグイン又は直接通信のいずれかを介して、許可管理システム1304に認可解除が通知される。
したがって、種々の実施形態では、許可管理システム1304との対話を介して、ユーザは、外部ユーザ対面システム/アプリケーション1308が取引を実行する能力を認可解除することが可能になる。有利なことには、ユーザ口座データ(例えば、口座番号及び/又は金融機関コード等)が外部ユーザ対面システム/アプリケーション1308と共有されなくてもよいため、これは可能である。むしろ、許可管理システム1304は、外部ユーザ対面システム/アプリケーション1308が取引を実行する認可を管理し、ユーザ口座データをセキュアに記憶する。
特定の実施態様では、外部ユーザ対面システム/アプリケーション1308を完全に認可解除するのではなく、ユーザは、外部ユーザ対面システム/アプリケーション1308に付与された1つ又は複数の許可を変更又は更新し得る。例えば、ユーザは、許された取引の頻度を変更すること、許された取引の金額を変更すること等をなし得る。更に、特定の実施態様では、ユーザは代替及び/又は追加として、資金を出金し得る異なる口座を選ぶこと等を含め、認可に対して他の変更を行い得る。
認可の代替の行動図例
図16は、図14A及び図14Bの実施形態への代替である実施形態による、ネットワーク環境1300の態様間の対話例を示す行動図である。図14A及び図14Bと同様に、ネットワーク環境1300の種々の態様間の対話(図16に表されるような)は、外部ユーザ口座システム1306(又は複数の外部ユーザ口座システム1306)でのユーザ口座へのアクセス及びユーザ口座への取引の実行の許可処理を行えるようにする。更に、ネットワーク環境1300の種々の態様間の対話は、ユーザがユーザの口座へのアクセスの認可を付与する及び/又は認可を取り消せるようにする。
行動1において、ユーザは、許可管理システム1304に、口座信用情報及び/又はユーザの口座へのアクセスについての他の認可を提供し得る。これは、図14Bの行動1及び/又は図14Aの行動1a~1c及び2~4の1つ又は複数を参照して上述したものと同様に達成し得る。
行動2において、許可管理システム1304は、図14Bの行動2及び/又は図14Aの種々の行動を参照して上述したものと同様に、ユーザの口座/ユーザ口座データにアクセスし得る。
行動3において、許可管理システム1304は、ユーザ口座データ(例えば、口座番号及び/又は金融機関コード等を含む)並びに電子記録及びトークン作成に関わる他のデータ(例えば、クライアントID、ユーザ識別子等)を高信頼性第三者プロセッサシステム1312に通信する。
図14Bの対話と異なり、図16の実施形態では、高信頼性第三者プロセッサシステム1312は記録保管庫1402を含む。したがって、行動4において、高信頼性第三者プロセッサシステム1312は、図14Bの行動3を参照して上述したものと同様に、電子記録及びトークンを生成し、電子記録を記録保管庫1402に記憶する。
行動5において、高信頼性第三者プロセッサシステム1312は、トークンを許可管理システム1304に通信し、行動6において、許可管理システム1304はトークンを外部ユーザ対面システム/アプリケーション1308に通信する。代替的には、高信頼性第三者プロセッサシステム1312は、トークンを外部ユーザ対面システム/アプリケーション1308に直接通信し得る。
行動7において、外部ユーザ対面システム/アプリケーション1308は、図14Bの行動5を参照して上述したものと同様に、高信頼性第三者プロセッサシステム1312との通信を介してユーザに関連付けられた取引の実行を要求し得る。
行動8において、図14Bの行動7を参照して上述したものと同様に、高信頼性第三者プロセッサシステム1312は、記録保管庫1402内で、外部ユーザ対面システム/アプリケーション1308から受信したトークンに関連する電子記録を識別し得る。高信頼性第三者プロセッサシステム1312は、種々の許可情報等の電子記録に関連する情報を含め、識別された電子記録を検索する。高信頼性第三者プロセッサシステム1312は次に、取引詳細を電子記録に関連付けられた許可情報と比較し、外部ユーザ対面システム/アプリケーション1308が要求された取引を実行する認可を有するか否かを判断する。
行動9及び10は、上述した図14Bの行動9及び10と同様に進む。
図14A及び図14Bを参照して上述した代替は、図16の実施形態にも同様に適用し得る。種々の実施形態では、ユーザは、記録保管庫1402が高信頼性第三者プロセッサシステム1312により記憶される場合、図15の実施形態を参照して上述したものと同様に(例えば、認可解除、許可変更、口座変更等への要求が高信頼性プロセッサシステム1312に直接又はネットワーク環境1300の別の態様を介して通信されるという違いがある)、外部ユーザ対面システム/アプリケーション1308を認可解除(及び/又は例えば、外部ユーザ対面システム/アプリケーション1308に関連する許可を変更等)し得る。
上述したように、外部ユーザ対面システム/アプリケーション1308と許可管理システム1304及び/又は高信頼性第三者プロセッサシステム1312との間のセキュア通信は、公開鍵及び/又は秘密鍵交換を介して達成することができる。更に、種々の実施態様では、上述した行動において複数のトークンを使用し得る。例えば、高信頼性第三者プロセッサシステム1312により記憶されたトークンは、外部ユーザ対面システム/アプリケーション1308と共有されるトークンと異なり得る(例えば、異なる一意の識別子を外部ユーザ対面システム/アプリケーション1308と共有し得る)。代替のシナリオでは、高信頼性第三者プロセッサシステム1312及びユーザ対面アプリケーション1308は異なる第三者により運営し得、それにより、許可管理システム1304と対話するに当たり、それぞれは個々のリポートトークンを使用することができる。
実施態様では、ネットワーク環境1300の態様間の対話は以下のように進み得る:許可管理システム1304は、ユーザの口座情報に関連するトークンを生成し得(種々の実施態様を参照して上述したように);許可管理システム1304はトークンを外部ユーザ対面システム/アプリケーション1308に送信し得(幾つかの実施態様では、外部ユーザ対面システム/アプリケーション1308に送信されるこのトークン及び/又は情報は、口座番号及び金融機関コード等の口座情報を含み得る);外部ユーザ対面システム/アプリケーション1308は、取引実行要求(この要求は、例えば、トークン及び/又は他の口座情報を含み得る)を高信頼性第三者プロセッサシステム1312に送信し得;高信頼性第三者プロセッサシステム1312は任意選択的に、許可管理システム1304と通信して、外部ユーザ対面システム/アプリケーション1308が取引を実行させる認可を有するか否かを判断し得(例えば、許可をチェックし得、口座残高をチェックし得る等);高信頼性第三者プロセッサシステム1312は取引の実行を開始し得る(例えば、外部ユーザ口座システム1306に要求を送信することにより)。この実施態様では、許可管理システム1304は、外部ユーザ口座システム1306からの口座情報にアクセスした後(例えば、本明細書に記載されるように)及び/又は外部ユーザ対面システム/アプリケーション1308からの要求受信に応答して、トークンを生成し得る。
上述したように、幾つかの実施態様では、システムは、種々のタイプのアラート及び/又は他のインジケーションをユーザ計算デバイス(例えばユーザ計算デバイス1314)に送信し得る。これらの種々のタイプのアラート及び/又は他のインジケーションは、ユーザ計算デバイスで1つ又は複数のアプリケーション(例えば、SMS(簡易メッセージサービス)及び/又はMMS(マルチメディアメッセージングサービス)プロセス及び/又はアプリケーション、電子メールプロセス及び/又はアプリケーション、システムに関連するプロセス及び/又はアプリケーション、第一者及び/又は第三者プロセス及び/又はアプリケーション(例えば、機関及び/又はユーザ対面アプリケーション/サービスの)等)をアクティブ化し得る。幾つかの例では、システムは、外部ユーザ対面システム/アプリケーションの認可及び/又は解除、及び/又は開始が認可されていない取引(例えば、金額が大きすぎる取引及び/又は頻繁すぎる取引等)を開始しようとする外部ユーザ対面システム/アプリケーションによる試み等に関するアラートをユーザ計算デバイスに送信し得る。そのようなアラートは、上述したように、SMSメッセージ、電子メールメッセージ、及び/又は種々のプロセス及び/又はアプリケーションをアクティブ化し得る他のタイプのメッセージを含み得る。別の例では、アラートは、例えば電子メールアプリケーションをアクティブ化し得、電子メールアプリケーションにより、ユーザは、外部ユーザ対面システム/アプリケーションを認可解除するリンクを選択し得る(自動的に又はリンク選択の結果として提示し得るユーザインターフェースを介して)。
種々の実施形態では、特定の行動は特定の他の行動に応答して開始し得る。例えば、トークンは、外部ユーザ対面システム/アプリケーション1308からの口座情報及び/又は取引の実行についての要求に応答して生成し得る。種々の実施形態では、追加の態様が取引の実行に関わり得る。例えば、2つ以上のプロセッサシステム又は外部ユーザ口座システムは、取引を実行する互いの要求を調整及び/又は行い得る。
トークン生成方法例
図17Aは、実施形態によるトークンを生成する一例の方法のフローチャートである。例えば、図17Aの方法は、図14Bの行動2及び3において許可管理システム1304により、及び/又は図16の行動2、3、及び4において許可管理システム1304及び/又は高信頼性第三者プロセッサシステム1312により実行し得る。
ブロック1710において、許可管理システム1304は、外部ユーザ対面システム/アプリケーション1308に関連付ける口座信用情報及び/又は許可を受信する。口座信用情報は例えば、ユーザが例えば外部ユーザ口座システム1306(及び/又は別の機関)におけるユーザの口座にログイン/アクセスするのに使用するユーザ名及びパスワード(及び/又は任意の他の信用情報)を含み得る。
ブロック1720において、許可管理システム1304はユーザ口座信用情報を使用して、外部ユーザ口座システム1306と通信し、ユーザに関連するユーザ口座データにアクセスする。述べたように、機関システム(例えば外部ユーザ口座システム1306)と通信して、ユーザ口座情報を取得するプロセスは、例えば図1~図3、図4A、図4B、及び図5~図10を参照して上述されている。このブロック(及び/又は1710)は、マルチファクタ認証を満たすために、ユーザに情報を提示すること及び/又はユーザから追加情報を取得することを更に含み得る。
幾つかの場合、ユーザは、アクセスされる機関に2つ以上のユーザ口座を有し得る。したがって、任意選択的なブロック1730において、許可管理システム1304は、ユーザから、外部ユーザ対面システム/アプリケーション1308に関連付けるこれらの口座のうちの1つ又は複数の選択を受信し得る。そのような選択は、(例えば、許可管理システム1304、許可プラグイン1310、外部ユーザ対面システム/アプリケーション1308、及び/又はユーザ計算デバイス1314の任意の組合せを介して)ユーザに提示し得るインタラクティブユーザインターフェースを介してユーザから取得し得る。
ブロック1740において、ユーザ及び外部ユーザ対面システム/アプリケーション1308の組合せに対応する電子記録及びトークンが生成される。上述したように、幾つかの実施態様では、生成される各電子記録は、ユーザ及び外部ユーザ対面システム/アプリケーションの1つの組合せに対応し得る。他の実施態様では、各電子記録は、ユーザ、開発者、外部ユーザ対面システム/アプリケーション、及び/又は外部機関システム等の種々の組合せに対応し得る。実施態様では、ユーザ及び外部ユーザ対面システム/アプリケーションの1つの組合せに関連付けられた複数の電子記録があり得る。例えば、ユーザは、外部ユーザ対面システム/アプリケーションとの複数の対話(例えば複数の口座)を有し得、したがって、複数の許可セット又は複数のユーザ口座(本明細書では、例えば、外部機関との金融口座と呼ばれる)を異なる目的で外部ユーザ対面システム/アプリケーションに関連付けたいことがある。そのような複数機関の例は、ニュースレターサブスクリプション(複数の進行中の支払いが有り得る)及び商品の1回限りの購入(1つの購入がある)を含み得る。したがって、異なる許可レベルを有する2つの電子記録が望まれ得る。別の実施態様では、複数の許可セット及び/又は複数の口座は全て同じ電子記録内に記憶され得、種々の適切な識別子により区別し得る。
図17Bは、実施形態によるトークンを生成する別の方法例のフローチャートである。例えば、図17Bの方法は、図14Aの行動1a及び1bにおいて外部ユーザ口座システム1306により、及び/又は図14Bの行動Zにおいて外部ユーザ口座システム1306により実行し得る。
ブロック1750において、外部ユーザ口座システム1306は、外部ユーザ対面システム/アプリケーション1308に関連付けられた口座信用情報及びクライアントIDを受信する。口座信用情報は例えば、ユーザが例えば外部ユーザ口座システム1306(及び/又は別の機関)におけるユーザの口座にログイン/アクセスするのに使用するユーザ名及びパスワード(及び/又は任意の他の信用情報)を含み得る。幾つかの実施態様では、外部ユーザ口座システム1306は、外部ユーザ対面システム/アプリケーション1308に関連付ける許可を受信することもできる。
ブロック1760において、外部ユーザ口座システム1306は、ユーザ及び外部ユーザ対面システム/アプリケーション1308の組合せに対応する電子記録及びトークンを生成する。上述したように、幾つかの実施態様では、生成される各電子記録はユーザ及び外部ユーザ対面システム/アプリケーションの1つの組合せに対応し得る。他の実施態様では、各電子記録はユーザ、開発者、外部ユーザ対面システム/アプリケーション、及び/又は外部機関システム等の種々の組合せに対応し得る。実施態様では、ユーザ及び外部ユーザ対面システム/アプリケーションの1つの組合せに関連付けられた複数の電子記録があり得る。例えば、ユーザは、外部ユーザ対面システム/アプリケーションとの複数の対話(例えば複数の口座)を有し得、したがって、複数の許可セット又は複数のユーザ口座(本明細書では、例えば、外部機関との金融口座と呼ばれる)を異なる目的で外部ユーザ対面システム/アプリケーションに関連付けたいことがある。別の実施態様では、複数の許可セット及び/又は複数の口座は全て同じ電子記録内に記憶され得、種々の適切な識別子により区別し得る。
幾つかの場合、ユーザはアクセスされた機関に2つ以上のユーザ口座を有し得る。したがって、任意選択的なブロック1770において、外部ユーザ口座システム1306は、ユーザから、外部ユーザ対面システム/アプリケーション1308に関連付けるこれらの口座の1つ又は複数の選択を受信し得る。そのような選択は、(例えば、外部ユーザ口座システム1306、許可プラグイン1310及び1311、外部ユーザ対面システム/アプリケーション1308、及び/又はユーザ計算デバイス1314の任意の組合せを介して)ユーザに提示し得るインタラクティブユーザインターフェースを介してユーザから取得し得る。
同様に、幾つかの場合、ユーザは、上述したように、認可プロセスの一環として許可を指定し、及び/又はドキュメントをレビューし得る。したがって、任意選択的なブロック1780において、外部ユーザ口座システム1306は、ユーザから、1つ又は複数の許可の選択及び/又は1つ又は複数のドキュメントの許容を受信し得る。そのような選択は、(例えば、外部ユーザ口座システム1306、許可プラグイン1310及び1311、外部ユーザ対面システム/アプリケーション1308、及び/又はユーザ計算デバイス1314の任意の組合せとの管理ユーザインターフェースを介して)ユーザに提示し得るインタラクティブユーザインターフェースを介してユーザから取得し得る。そのようなユーザインターフェースの例は図20J及び図21Aに示される(更に後述する)。
ブロック1790において、許可管理システム1304はトークン及び/又はアクセスキーを使用して外部ユーザ口座システム1306と通信し、ユーザに関連するユーザ口座データにアクセスする。トークン及び/又はアクセスキーは、許可管理システム1304がトークンに関連付けられたユーザ口座からのユーザ口座データにアクセするための信用情報又は認可を有することの検証を提供する。幾つかの実施態様では、上述したように、許可管理システム1304は外部ユーザ口座システム1306との初期通信においてトークンを使用して、及びアクセスキーを外部ユーザ口座システム1306から取得し得る。代替的には、トークンは外部ユーザ口座システム1306との通信に使用し得る。
図18は、図17Aの方法及び/又は本明細書に記載される他の方法/行動(例えば、図17Bを参照して説明したような)に従って、例えば許可管理システム1304により生成し得るトークンマップ1810、記録保管庫1820、及び電子記録1830の例を示す。記録保管庫1820は、上述した記録保管庫1402の一例である。トークンマップ1810及び記録保管庫1820のそれぞれは、実施態様ではデータベースから構成し得る。幾つかの実施態様では、トークンマップ1810及び記録保管庫1820のそれぞれは、データベース内のテーブルを含み得、及び/又は1つのテーブル/データベースに結合し得る。有利なことには、トークンマップ1810及び/又は記録保管庫1820はセキュアに記憶し得(例えば、暗号化等)、ユーザ関連データを保護し得る。
記録保管庫1820は、電子記録1830等の複数の電子記録を含み得る。電子記録1830の例に示されるように、電子記録は以下の1つ又は複数を含み得る:一意の記録名(種々の記録の中で記録を識別するのに使用し得る)、ユーザ識別子(例えば、口座信用情報を提供したユーザに関連付けられた任意の識別子)、クライアントID(上述したような)、口座信用情報を使用して外部機関から取得された口座情報(例えば、口座番号、金融機関コード等)、種々の許可、及び/又は取引履歴。幾つかの実施態様では、電子記録は、他のユーザ口座データ、ユーザ及び/又は外部ユーザ対面システム/アプリケーションに関連する他のデータ、及び/又は口座信用情報等を含み得る。
電子記録に記憶し得る許可の例は、頻度、用途、時間、金額、及び/又はタイプ等に関連する任意の許可を含む。例えば、金融取引の状況では、ユーザは、取引金額(例えば、$500以下)、取引頻度(例えば、1ヶ月に1回以下の取引)、特定の時間枠内の金額(例えば、1ヶ月に$1100以下)、及び/又はこれら及び/又は他の許可の任意の組合せへの制限を指定し得る。金融リポート状況では、ユーザは、金融リポートにいつアクセスできるか(例えば、限られたアクセス可能ウィンドウがあり得る)、誰が新しいリポートトークンを開始することができるか、誰が金融リポートにアクセスすることができるかを指定し得る。
トークンマップ1810は記録保管庫1820と共に及び/又は記録保管庫1820とは別個に記憶し得、及び/又は記録保管庫1820と組合せ得る。トークンマップ1810は、各電子記録に関連付けられたトークン(例えば一意の記録識別子)と一意の記録名との間のマッピングを提供する。幾つかの実施態様では、トークン及び一意の記録名は同じであり得る(例えば、トークンマップ1810が必要ないように)。しかしながら、異なるトークン(例えば一意の記録識別子)を有することが有利であり得、その理由は、上述したように、トークンが、外部ユーザ対面システム/アプリケーションを含め、他の当事者と共有されるためである。トークンが損なわれる(例えば、盗まれるか、又は失われる)場合、新しいトークンを生成し得、それに従ってトークンマップ1810を更新し得、それにより、対応する電子記録を再生成する必要がない。幾つかの実施態様では、一意の記録名及び/又はトークン(例えば、一意の記録識別子)は、電子記録のデータの1つ又は複数の項目の暗号化ハッシュを含んだ。他の実施態様では、一意の記録名及び/又はトークンは、ランダムに生成された一意の文字列(及び/又は任意の他の適した識別子)を含んだ。
幾つかの実施形態では、電子記録1830は、外部ユーザ対面システム/アプリケーション1308に関連付けられた取引の履歴を含み得る。例えば、システムにより認可された各取引に関連する取引詳細を記憶し得る。そのような履歴情報は、システムにより特定の許可を判断及び/又は実施するのに使用し得る。例えば、許可が取引頻度への制限を示す場合、システムは電子記録に記憶された履歴にアクセスして、所与の取引について、頻度許可が満たされているか否かを判断し得る。したがって、幾つかの実施形態では、高信頼性第三者プロセッサシステム1312は許可管理システム1304と通信して、取引が首尾良く完了するか否かを示し得る。
許可プラグインに関連する方法例
図19は、実施形態による、システムの方法例、特にインタラクティブユーザインターフェースに関連する方法例のフローチャートである。例えば、図19の方法は、図14Aの行動1a、1b、1c、2、3、4、5、及び/又は6において許可プラグイン1310及び/又は許可プラグイン1311により実行し得る。別の例では、図19の方法は、図14Bの行動1、2、及び/又は3において許可管理システム1304及び/又は許可プラグイン1310により実行し得る。更に別の例では、図19の方法は、図16の行動1、2、3、及び/又は4において許可管理システム1304、許可プラグイン1310、及び/又は高信頼性第三者プロセッサシステム1312により実行し得る。
ブロック1910において、許可プラグイン1310は外部ユーザ対面システム/アプリケーション1308に提供される。例えば、許可プラグイン1310は、外部ユーザ対面システム/アプリケーション1308において実施し得る(例えば開発者により)コードスニペット及び/又は他のソフトウェア態様を含み得る。一実施態様では、許可プラグイン1310は、例えばウェブブラウザにより実行されると、種々のソフトウェア機能を実行するJavaScriptの1つ又は複数のラインを含む。
ブロック1912において、許可プラグイン1310が例えばユーザ計算デバイス1314により実行されると(例えば、ユーザ計算デバイス1314のウェブブラウザにより実行されると)、許可プラグイン1310は許可管理システム1304との通信を開始する。有利なことには、許可プラグイン1310と許可管理システム1304との間の通信は、外部ユーザ対面システム/アプリケーション1308が通信をインターセプト又はアクセスし得ないようにセキュアであり(例えば暗号化され)得る。これは、例えば、許可プラグイン1310が外部ユーザ対面システム/アプリケーション1308で直接実行されるのではなく、ユーザのデバイスで実行されることにより可能になり得る。
任意選択的に、ブロック1914において、許可プラグイン1310は、許可管理システム1304から追加のスクリプト又は他のソフトウェア態様を要求し得る。代替的には、許可プラグイン1310は、許可管理システム1304から追加データを受信する必要なく、必要な全てのソフトウェア態様を含み得る。それに応答して、許可管理システム1304は要求されたデータを許可プラグイン1310に提供し得る。
ブロック1910、1912、及び1914への代替として、方法はブロック1920、1922、及び1924に進み得る(例えば、図14Aを参照して上述したように)。
ブロック1920において、ブロック1910と同様に、許可プラグイン1310及び/又は1311は外部ユーザ対面システム/アプリケーション1308及び/又はユーザ計算デバイス1314に提供される。例えば、許可プラグイン1310及び/又は1311は、外部ユーザ対面システム/アプリケーション1308で実施し得る(例えば開発者により)コードスニペット及び/又は他のソフトウェア態様を含み得る。一実施態様では、許可プラグイン1310及び/又は1311は、例えばウェブブラウザにより実行されると、種々のソフトウェア機能を実行するJavaScriptの1つ又は複数のラインを含む。
ブロック1922において、許可プラグイン1310及び/又は1311が例えばユーザ計算デバイス1314により実行されると(例えば、ユーザ計算デバイス1314のウェブブラウザにより実行されると)、許可プラグイン1310及び/又は1311は外部ユーザ口座システム1306との通信を開始する。有利なことには、許可プラグインと外部ユーザ口座システム1306との間の通信は、外部ユーザ対面システム/アプリケーション1308及び許可管理システム1304が通信をインターセプト又はアクセスし得ないようにセキュアであり(例えば暗号化され)得る。これは、例えば、許可プラグイン1310及び/又は1311が外部ユーザ対面システム/アプリケーション1308で直接実行されるのではなく、ユーザのデバイスで実行されることにより可能になり得る。
幾つかの実施態様では、ブロック1924において、許可プラグイン1310及び/又は1311が実行されると、追加のスクリプト又は他のソフトウェア態様を外部ユーザ口座システム1306から要求し得る。代替的には、許可プラグイン1310及び/又は1311は、外部ユーザ口座システム1306から追加データを受信する必要なく、必要な全てのソフトウェア態様を含み得る。これに応答して、外部ユーザ口座システム1306は、要求されたデータを許可プラグイン1310及び/又は1311に提供し得る。
ブロック1940において、許可プラグインは、ユーザに表示し得るインタラクティブユーザインターフェースを生成し得、インタラクティブユーザインターフェースを通して、情報を提示し受信し得る。そのようなユーザインターフェースの例について図22A~図22Lを参照して以下に説明する。例えばユーザから受信した口座信用情報は次に、許可管理システム1304に通信し得る(本明細書に記載されるような他の情報項目に加えて)。幾つかの実施態様では、許可プラグインが実行されると、ユーザインターフェースを外部ユーザ口座システム1306により直接管理されるページ又はインターフェースにリダイレクトし得る(例えば、口座信用情報を外部ユーザ口座システム1306に提供する直接的な方法を提供する)。
ブロック1950において、受信した口座信用情報(及び他の情報)を使用することによりトークンが生成される。トークン生成については、例えば図17A及び図17Bを参照しての説明を含め、本明細書に詳述されている。
ブロック1960において、許可管理システム1304及び/又は外部ユーザ口座システム1306により生成されたトークンは、外部ユーザ対面システム/アプリケーション1308に直接、許可プラグイン1310を介して、及び/又は許可管理システム1304を介して通信される(図17Aを参照して上述したように)。更に、このブロックにおいて、インタラクティブユーザインターフェースを終了することができる。幾つかの場合、実施態様及びユーザから必要な情報に応じて、インタラクティブユーザインターフェースは、トークンの生成が完了するまでユーザにより開かれたままであり得、一方、他の場合ではそうではないことがあり得る。
本明細書に記載される種々のインタラクティブユーザインターフェースは、種々の実施形態において、システムの任意の態様(例えば、システム110及び/又は許可管理システム1304(それ自体、システム110の実施態様である)、許可プラグイン1310又は1311、外部ユーザ口座システム1306、及び/又はユーザデバイス等)により生成し得る。例えば、後述するように、幾つかの実施態様では、ユーザインターフェースは、態様(例えば許可管理システム1304)により生成し得、1つ又は複数の他の態様を介してユーザの計算デバイス(例えば、スマートフォン等のユーザ計算デバイス1314)に送信し得、ユーザの計算デバイスにおいて、ユーザインターフェースデータはレンダリングされて、ユーザインターフェースをユーザに表示し得る。代替的には、インタラクティブユーザインターフェースはシステム(例えば許可管理システム1304)により生成され、他の適した方法でユーザによりアクセスし得る。
第三者へのデータのルーティング
上述したように、本明細書に記載される他の実施形態は、金融記録へのアクセスを管理する方法を実施する過程等において、プログラム的に検証された取引(又は他の金融若しくはプライベートデータ)のサブセットを1つ又は複数の第三者に分配、ルーティング、又は他の方法で開示するシステムを参照する。
一般且つ広義に、図20は、本明細書に記載される等のシステム2000の簡易データ流れ図を示す。システム2000は、1つ又は複数のユーザデバイス、1つ又は複数の第三者サーバ、及び1つ又は複数のリモートデータソースサーバ(「エンドポイント」とも呼ばれる)間でセキュア通信アーキテクチャを実施する。例示を簡易化するために、ユーザデバイスの1つはユーザデバイス2002として識別され、第三者サーバの1つは第三者サーバ2004として識別され、リモート口座サーバの1つはリモートデータソース2006として識別される。
システム2000は、ユーザデバイス2002、第三者サーバ2004、及びリモートデータソース2006に通信可能に結合するデータ管理プラットフォーム2008も含む。より具体的には、データ管理プラットフォーム2008は、ユーザデバイス2002、第三者サーバ2004、及びリモートデータソース2006を含む種々のリモートリソースと通信するための種々のアプリケーションプログラミングインターフェース(「API」)をインスタンス化及び/又は実施するサーバ又はサーバシステム(仮想又は物理的)である。多くの実施形態では、データ管理プラットフォーム2008によりインスタンス化されたインターフェースは、データ管理プラットフォーム2008からの非意図的なデータの抜き取りを回避するために、互いから分離される。
本明細書に記載される他の実施形態と同様に、データ管理プラットフォーム2008は、リモートデータソース2006にアクセスして、ユーザデバイス2002(すなわち、対象)のオペレータに関連するデータベース2010内のデータの取得、フォーマット、確認、集計、及び/又は記憶を行うように構成される。集計されたデータがデータベース2010に記憶されると、データ管理プラットフォーム2008は、記憶された集計データの全て又は幾つかをユーザデバイス2002及び/又は第三者サーバ2004に分配することができる。
ユーザデバイス2002とのセキュア通信を促進するために、データ管理プラットフォーム2008はアプリケーションインターフェース2012をインスタンス化する。アプリケーションインターフェース2012は、ユーザデバイス2002のオペレーティングシステムにより実行されるローカル又は分散ネットワークを経由してソフトウェアアプリケーション(ソフトウェアアプリケーション2014と呼ばれる)のインスタンスと通信するように構成される。ソフトウェアアプリケーション2014及びアプリケーションインターフェース2012は、任意の適したプロプライエタリ、カスタマイズされた、又はオープンソースアプリケーションレイヤプロトコル(例えば、TLS、SSL、HTTP、HTTPS等)を使用して通信することができる。加えて、通常、アプリケーションインターフェース2012は、RESTful API又はSOAP API等のステートベース又はオブジェクトベースのプロトコル仕様に準拠するが、これは必須ではない場合があり、任意の適したプロトコル及び/又はデータ構造化技法が使用可能である。
データ管理プラットフォーム2008はまた、要求側インターフェース2016もインスタンス化して、第三者サーバ2004との通信を促進する。アプリケーションインターフェース2012と同様に、要求側インターフェース2016は任意の適したデータ構造化及び/又はメッセージングプロトコル及び任意の適した通信又はトランスポートプロトコルに準拠することができる。幾つかの場合、要求側インターフェース2016のインスタンスは、特定のインスタンスが通信している特定の第三者サーバに基づいて異なり得る。より具体的には、幾つかの実施形態では、要求側インターフェースの1つのインスタンスをインスタンス化して、第1のメッセージングプロトコルに準拠することができ、一方、要求側インターフェースの第2のインスタンスをインスタンス化して、第1のメッセージングプロトコルと異なる第2のメッセージングプロトコルに準拠することができる。
データ管理プラットフォーム2008はまた、1つ又は複数のリモート口座インターフェース(本明細書では「機関インターフェースモジュール」とも呼ばれる)もインスタンス化し、その1つはリモート口座インターフェース2018として識別される。要求側インターフェース2016及びアプリケーションインターフェース2012と異なり、リモート口座インターフェース2018は、リモートデータソース2006がアクセス可能なAPIを露出しているか否かに関わらず、リモートデータソース2006から情報を取得するように構成し得る。例えば、幾つかの場合、リモート口座インターフェース2018は、リモートデータソース2006により露出されたドキュメントAPIからデータを要求するように構成し得る。別の例では、口座サーバはAPIを全く露出しないことがある。この場合、リモート口座インターフェース2018は、データを取得するために、第一者ソフトウェアアプリケーション又はウェブインターフェース等の認可されたアプリケーションのインスタンスをシミュレートするように実施し得る。更なる例では、リモート口座インターフェース2018は、リモートデータソース2006から1つ又は複数のドキュメント又はファイルをダウンロードしパースするように構成することができる。リモート口座インターフェース2018が、異なるリモートデータソースと通信し、及び/又は異なるリモートデータソースからデータを取得するために、異なる方法でインスタンス化可能であることが理解される。
多くの例では、データ管理プラットフォーム2008は、証明機関2020として識別される既知の証明機関により発行された証明書を提示することにより、それ自体をユーザデバイス2002及び第三者サーバ2004に対して認証する。証明書が証明機関2020により検証されると、ユーザデバイス2002及び第三者サーバ2004の両方に対して、データ管理プラットフォーム2008により分配、伝送、取得、及び/又は記憶された任意のデータが真正であり、信頼可能であることを保証することができる。
他の例では、証明書の提示は、信頼を確立するために必要とされないことがある。例えば、データ管理プラットフォーム2008は、ユーザデバイス2002及び第三者サーバ2004の両方がアクセス可能なブロックチェーンにデータを記憶及び/又はログするように構成することができる。
システム2000により実施される通信アーキテクチャの結果として、ユーザデバイス2002を操作している対象者と第三者サーバ2004を管理している第三者との間でプライベートデータを交換することができる。
先に参照した例を続けると、システム2000は、借り手のプライベートな金融データを貸し手にセキュアに開示するのに使用することができる。この例では、借り手(対象者)がユーザデバイス2002を操作する。貸し手(第三者)は第三者サーバ2004を操作及び/又は管理する。金融機関(例えば、銀行、クレジットカード発行者、投資サービス、貸付提供者若しくはサービス提供者、又は他の金融機関)はリモートデータソース2006を操作及び/又は管理する。
この例の一実施態様では、借り手はユーザデバイス2002のユーザインターフェース2022を操作して、データ管理プラットフォーム2008が1つ又は複数のリモートデータソースサーバへのアクセスを許可する信用情報をデータ管理プラットフォーム2008に提供する。まず、ユーザインターフェース2022は、借り手が選択し得るリモートデータソースのリスト-英数字順、リモートデータソースタイプ(例えば、銀行機関、クレジットカード機関等)による、最近のアクセスによる等を含め、任意の適した様式で編成又は提示される-を提供することができる。多くの実施形態では、借り手はユーザインターフェース2022を操作して、複数のリモートデータソースを選択することができるが、説明を簡潔にするために、この例はリモートデータソース2006のみの選択を参照する。
リモートデータソース2006が借り手によりユーザインターフェース2022において選択されると、ユーザインターフェース2022は1つ又は複数のデータ入力フィールドのレンダリングに遷移することができ、それにより、借り手は、限定ではなく、ユーザ名、パスワード、口座番号、金融機関コード、PIN番号、社会保障番号、運転免許証番号、ローリング2ファクタ認証アクセスコード等のリモートデータソース2006にアクセスするための1つ又は複数の信用情報を提供することができる。より具体的には、リモートデータソース2006は、PINコード、セキュリティ質問、1回使用パスワード、セカンダリデバイスコード検証、バイオメトリック識別、及び/又は任意の適した形態のマルチファクタ認証等の認証チャレンジを更に要求し得る。そのような追加の認証チャレンジは、信用情報と同時に収集し得るが、マルチファクタ認証プロセスは代替的に定義することもできる。例えば、プライマリ口座信用情報が十分ではない場合、MFAチャレンジを応答で返し得、この追加の信用情報要求は、口座へのアクセスが得られる前に、必要に応じて繰り返すことができる。機関口座信用情報は更に記憶することができ、続くアクセス又はログイン試行の完了に自動的に使用することができる。
多くの場合、リモートデータソース2006は受信した信用情報をデータベース2010(又は別のリモート若しくはローカルのデータベース)に記憶するが、これは必須ではない。幾つかの場合、データ管理プラットフォーム2008は、借り手のデータプライバシーを保護するために意図的に、受信した信用情報を記憶しないことがある。
借り手が、リモートデータソース2006にアクセスするための信用情報を提供すると、データ管理プラットフォーム2008は、リモート口座インターフェース2018をインスタンス化又は操作してリモートデータソース2006と通信し、リモートデータソース2006からプライベート金融データを取得することができる。プライベート金融データは、限定ではなく、取引履歴、収入情報、支出情報、口座振込情報、スケジュールされた支払い情報、現金振込情報、口座情報(例えば、口座名、口座タイプ、口座番号、及び金融機関コード等)、残高情報、現在残高情報、手数料情報、カード保有者情報、リンクされた口座の情報、貯蓄率情報、貯蓄情報、税務書類情報、引き出し情報、ACH情報、請求支払い情報、通常の支払い先情報、小切手情報、支払差止命令証情報、疑義請求情報、デビットカード情報、クレジットカード情報、外国取引情報、及び外国取引手数料情報等を含むことができる。
上述したように、幾つかの例では、リモート口座インターフェース2018は、リモートデータソース2006により提供された露出APIに準拠することにより、リモートデータソース2006からプライベート金融データを取得するように構成される。しかしながら、他の場合、リモート口座インターフェース2018は、限定ではなく、ウェブページのスクレープ又はレンダリング、ウェブページとの対話のシミュレート、非露出APIリソースと通信するための認可された第一者アプリケーションのプロキシインスタンスのインスタンス化、リモートデータソース2006により提供されたドキュメントリポジトリからの1つ又は複数のドキュメントのダウンロード等により、リモートデータソース2006からプライベート金融データを取得するように構成される。
例を続けると、データ管理プラットフォーム2008がリモート口座インターフェース2018を介してリモートデータソース2006からプライベート金融データを取得すると、データ管理プラットフォーム2008は、取得したプライベート金融データをフォーマット及び/又は他の方法で正規化することができる。例えば、幾つかの場合、リモートデータソース2006により提供されたマーチャント識別コードは、データ管理プラットフォーム2008によりマーチャント名又はニックネームに正規化することができる(例えば、ローカル又はリモートルックアップテーブルにアクセスすることにより)。他の場合、限定ではなく、受信した金融データのデータ型のリキャスト(例えば、stringからfloat又はdouble、integerからfloat、stringから等)、取引説明の切り詰め、口座番号の難読化又は切り詰め、文字列及び/又はデータオブジェクト型のリフォーマット等を含む他のフォーマット動作及び/又はデータ正規化動作をデータ管理プラットフォーム2008により実行することができる。
例を続けると、データ管理プラットフォーム2008が取得したプライベート金融データを正規化及び/又はリフォーマットすると、フォーマットされたプライベート金融データはデータベース2010に記憶することができる。データ管理プラットフォーム2008は、リモートデータソース2006に再びアクセスすることによりデータベース2010に記憶された、フォーマットされたプライベート金融データを定期的に(例えば、1時間毎、日毎、週毎、オンデマンド等)リフレッシュすることができる。
この例では、データ管理プラットフォーム2008が、フォーマットされたプライベート金融データをデータベース2010に記憶した(例えば金融リポートとして)後、借り手はユーザインターフェース2022を操作して、ユーザデバイス2002からアプリケーションインターフェース2012を介してそのデータにアクセスすることができる。本明細書に記載される他の実施形態に関して述べたように、データ管理プラットフォーム2008は、複数のリモートデータソースからのフォーマットされたプライベート金融データを集計することができ、借り手はそれらの全てを集計された形態でユーザデバイス2002からレビューすることができる。
他の例では、データ管理プラットフォーム2008が、フォーマットされたプライベート金融データをデータベース2010に記憶した後、第三者サーバ2004等の第三者サーバからの要求の受信に備えて、要求側インターフェース2016を操作及び/又はインスタンス化することができる。上述したように、この例では、第三者サーバ2004は,借り手についての特定の金融データを探している貸し手により操作される。より具体的には、貸し手は第三者サーバ2004を操作して、要求側インターフェース2016を介して、データベース2010に記憶されているか、又は記憶以外で、リモート口座インターフェース2018を介してデータ管理プラットフォーム2008がアクセス可能な借り手の金融データについての要求をデータ管理プラットフォーム2008に提出することができる。
幾つかの実施形態では、貸し手は入手可能な全ての金融データを要求し得る。他の実施形態では、貸し手は、特定のデータ型又はクエリに一致する金融データの特定のサブセットのみを要求し得る。例えば、貸し手は収入情報、残高情報、及び毎月債務支払い情報を要求し得る。他の場合、貸し手は収入情報のみを要求し得る。更に他の例では、貸し手は、収入情報及び閾値を超える金額の引き出し情報を要求し得る。他の例では、貸し手はデータ管理プラットフォーム2008からのメタデータを要求し得る。例えば、貸し手は、全ての金融機関にわたる純収益を要求し得る。上記例が網羅的ではなく、貸し手(又はより一般的には、データ管理プラットフォーム2008からデータを要求する任意の第三者)が任意のデータ、データ型、又はデータ又はデータ型の組合せを要求し得ることを理解することができる。
例を続けると、貸し手が要求するデータのリスト又はセットを組み立てると、貸し手は第三者サーバ2004を操作して、要求側インターフェース2016を介してその要求をデータ管理プラットフォーム2008に提出することができる。
データ管理プラットフォーム2008が第三者サーバ2004からデータ要求を受信すると、データ管理プラットフォーム2008は(任意選択的に)、第三者サーバ2004及び/又はソフトウェアアプリケーション2014に送信された信号を介して要求の受信を肯定応答することができる。第三者サーバ2004に送信された信号は、要求が受信され、処理中及び/又はレビュー中であることを示すことができる。ユーザデバイス2002で動作しているソフトウェアアプリケーション2014に送信された信号は、貸し手が金融情報の開示要求を送信したことを借り手に通知することができる。
(任意選択的に)要求の肯定応答を受信した後、データ管理プラットフォーム2008は要求を分析して、要求に応答して、データベース2010に記憶されたデータを検索することができるか否かを判断することができる。要求に包括的に応答することができないとデータ管理プラットフォーム2008が判断する場合、データ管理プラットフォーム2008は、要求されたデータ又は情報を含み得るリモートデータソースが存在するか否か、又はアクセス可能であるか否かを判断することができる。必要な場合、データ管理プラットフォーム2008は、ユーザデバイス2002におけるユーザインターフェース2022を介して借り手から追加の信用情報を要求することができる。
リモート口座インターフェース2018を介して第三者サーバ2004から受信した要求に応答することができるとデータ管理プラットフォーム2008が判断すると、データ管理プラットフォーム2008は、ソフトウェアアプリケーション2014を介して、第三者サーバ2004を介して貸し手に要求されたプライベートデータを開示する借り手からの許可を要求し得る。代替的には、データ管理プラットフォーム2008は、信用情報/トークンを検証し、任意選択的に何らかの形態の異常/不正検出を実行することにより許可を自動的に判断し得る。
より具体的には、ソフトウェアアプリケーション2014及びユーザインターフェース2022は、1つ又は複数の選択肢を借り手に提示して、借り手が要求を承認、拒絶、又は変更できるようにすることができる。例えば、ユーザインターフェース2022は、要求されたプライベートデータ(又は要求されたプライベートデータのサマリ)を借り手に提示することができる。要求されたプライベートデータをレビューした後、借り手はユーザインターフェース要素(図20に示されず)を選択して、借り手が要求を承認するか否か、借り手が要求を変更したいか否か、又は借り手が要求の拒絶を好むか否かを示すことができる。
借り手が、要求されたプライベート金融データを開示する要求を承認する場合、ソフトウェアアプリケーション2014は、アプリケーションインターフェース2012を介して許可をデータ管理プラットフォーム2008に通信することができる。それに応答して、データ管理プラットフォーム2008は、要求されたデータを第三者サーバ2004に開示することができる。
代替的には、借り手が、要求されたプライベート金融データを開示する要求を拒絶する場合、ソフトウェアアプリケーション2014はデータ管理プラットフォーム2008と通信して、アプリケーションインターフェース2012を介して第三者サーバ2004から要求された情報を保留することができる。これに応答して、データ管理プラットフォーム2008は、プライベート金融データへの要求が借り手により拒絶されたことを第三者サーバ2004に通知することができる。
代替的には、借り手が、要求されたプライベート金融データを開示する要求の変更を好む場合、ソフトウェアアプリケーション2014はデータ管理プラットフォーム2008と通信して、リモート口座インターフェース2018を介して第三者サーバ2004から要求された情報を変更することができる。借り手は、限定ではなく、開示される取引の日付範囲の追加又は変更、開示される取引の金額範囲の追加又は変更、1つ又は複数の特定の金融機関又は他のリモートデータソースから取得されたデータへのアクセスの追加又は拒絶、開示される金額の特定の有効桁への丸め、口座番号、金融機関コード、又は他の口座情報若しくは識別情報の難読化等を含め、任意の適した方法で要求を変更することができる。それに応答して、データ管理プラットフォーム2008は、変更された被要求データを第三者サーバ2004に開示することができる。
上述した上記例並びにその種々の代替及び変形は一般的に、説明を目的として、本明細書に記載される等のシステム及び通信アーキテクチャの種々の構成及び使用の理解を促進するために提示されている。しかしながら、特定の記載された実施形態又はその均等物を実施するために、本明細書に提示された特定の詳細が必要とされないことがあることが当業者には明らかになろう。同様に、本明細書に記載されたシステムが、変更、調整、又は他の方法で他のリモートデータソース、データ型、及び第三者に適合することができることが当業者には明らかになろう。
例えば、上述した実施形態は、第三者からプライベートデータ要求を受信する前に、データがデータベースに存在すると仮定する。これは全ての実施形態で必要とされるわけではない。例えば、幾つかの実施形態では、プライベート金融データ(又は他のデータ)への要求は、いかなるデータもデータベースに記憶される前に、データ管理プラットフォームに提出することができる。これらの例では、データ管理プラットフォームは、第三者サーバから受信したプライベートデータの開示要求に応答するために、1つ又は複数のリモートデータソースを選択し、それらのリモートデータソースにアクセスするための1つ又は複数の信用情報を提供する要求をユーザデバイスに提出するように構成することができる。これらの実施形態では、データをデータベースに記憶することは必要ないことがあり、リフォーマット(任意選択的)し、開示許可をソフトウェアアプリケーションから受信した後、取得されたプライベートデータを第三者サーバに開示することができる。
更に他の実施形態では、上述とは別の様式でデータを収集及び/又は集計することができる。例えば、幾つかの実施形態では、データ管理プラットフォームは、特定のユーザ、口座、借り手、又はエージェントの代理として1つ又は複数の取引を監視するように構成することができ、及び/又は処理するように構成することができる。他の実施形態では、データ管理プラットフォームは、上述したように、エンティティ間の取引を促進するように構成することができる。選択された特定の実施態様に関係なく、データ管理プラットフォームは、データ管理プラットフォームが処理する各取引に関連付けられた1つ又は複数の記録を保持することができる。これらの取引記録は、これらの取引若しくは取引記録に関連する情報又はこれらの取引若しくは取引記録を記述する情報に加えて、上記参照されたデータベースに記憶することができ、及び/又は第三者サーバから取得されたデータを用いて集計することができる。
例えば、一実施形態では、2つの金融機関である当座預金口座及び普通預金口座へのアクセスについて借り手により承認されたデータ管理プラットフォーム。上述したように、データ管理プラットフォームは、これらの2つの金融機関から記録及び/又は情報を取得するように構成することができる。取得された情報は一緒に集計し、データ管理プラットフォームのデータベースに記憶することができる。この例では、借り手はまた、データ管理プラットフォームが、クレジットカード口座等の借り手の第3の口座を監視するのを承認することもできる。この例では、借り手がクレジットカードを使用して開始したあらゆる取引は、データ管理プラットフォームにより転送、処理、又は他の方法で取得される。幾つかの実施形態では、データ管理プラットフォームは、当座預金口座情報及び普通預金口座情報と共にクレジットカード情報を集計することができる。他の例では、データ管理プラットフォームは、クレジットカード口座に関連する取得されたデータを記録し捕捉するために別個のデータベース又はテーブル(又はデータベース若しくはテーブルのセット)を保持する。
更に、図20において参照されたシステム、サーバ、及びソフトウェアアプリケーションが、幾つかの異なるハードウェアプラットフォームで幾つかの方法で実施可能なことを理解し得る。
データ管理プラットフォーム
図21Aは、データ管理プラットフォーム2102並びにデータ管理プラットフォーム2102のプロセッサ(図示せず)及び/又はオペレーティングシステムによりインスタンス化することができる幾つかのクラスオブジェクト及びインターフェースインスタンスを含め、本明細書に記載された等のシステム2100の簡易信号流れ図を示す。
図20に示されるシステム2000と同様に、データ管理プラットフォーム2102は、1つ又は複数のユーザデバイス、1つ又は複数の第三者サーバ、及び1つ又は複数のリモートデータソースサーバ間でセキュア通信アーキテクチャを実施する。例示及び説明を簡易化するために、ユーザデバイスはユーザデバイス2104によりまとめて表され、リモート口座サーバはリモートデータソースサーバ2106によりまとめて表され、第三者サーバは第三者サーバ2108によりまとめて表される。データ管理プラットフォーム2102は、リモートデータソースサーバ2106から検索された、フォーマットされたプライベートデータを集計し記憶するデータベース2110を含む。
本明細書に記載される他の実施形態と同様に、データ管理プラットフォーム2102は、ユーザデバイス2104、第三者サーバ2108、及びリモートデータソースサーバ2106と通信するために種々のインターフェースをインスタンス化する。より具体的には、データ管理プラットフォーム2102は、ユーザデバイス2104と通信するためにアプリケーションインターフェース2112をインスタンス化し、リモートデータソースサーバ2106と通信するためにリモート口座インターフェース2114をインスタンス化し、第三者サーバ2108と通信するために第三者インターフェース2116をインスタンス化する。インターフェースは、任意の適したプロプライエタリ、カスタマイズされた、又はオープンソースアプリケーションレイヤ又はトランスポートレイヤプロトコル(例えば、TCP、UDP、TLS、SSL、HTTP、HTTPS等)を使用して通信することができる。幾つかの実施形態では、インターフェースは、RESTful API又はSOAP API等のステートベース又はオブジェクトベースのメッセージングプロトコル仕様に準拠するが、図20のシステム2000に関して述べたように、特定のメッセージング又はトランスポートプロトコルは必要ないことがあり、任意の適したメッセージングプロトコル及び/又はデータ構造化技法が使用可能である。
上述したように、データ管理プラットフォーム2102、ユーザデバイス2104、第三者サーバ2108、及びリモートデータソースサーバ2106はそれぞれ、ローカル及び/又はリモートのネットワークを介して通信可能に結合されたサーバ又は他のネットワーク対応電子デバイスとして実施することができる。説明を簡易化するために、データ管理プラットフォーム2102、ユーザデバイス2104、第三者サーバ2108、及びリモートデータソースサーバ2106は本明細書において「電子デバイス」又は「サーバ」として説明されるが、特定の実施形態では、データ管理プラットフォーム2102、ユーザデバイス2104、第三者サーバ2108、及びリモートデータソースサーバ2106の1つ又は複数が部分的又は全体的にソフトウェアで実施され、仮想マシンとして動作することができることを理解し得る。
図示の実施形態では、ユーザデバイス2104、リモートデータソースサーバ2106、及び第三者サーバ2108は、少なくとも1つのプロセッサ、少なくとも1つのメモリ、及び少なくとも1つのネットワークインターフェースを含む電子デバイスとして示される。
より具体的には、ユーザデバイス2104はプロセッサ2106a、メモリ2104b、及びネットワークインターフェース2104cを含む。多くの場合、ユーザデバイス2104はディスプレイ、筐体、1つ又は複数のセンサ、1つ又は複数の入力構成要素等も含む。これらの要素の多くは、簡潔にするために図21Aから省かれている。多くの実施形態では、ユーザデバイス2104は、セルラフォン、ラップトップコンピュータ、及びデスクトップコンピュータ等のパーソナル電子デバイスである。しかしながら、これは全ての実施形態で要求されるわけではなく、ユーザデバイス2104は、限定ではなく、サーバ、サーバ群、ポータブル電子デバイス、タブレットコンピュータ、キオスク等であることができる。
ユーザデバイス2104のプロセッサ2106aは、メモリ2106bにアクセスして、プロセッサ2106aにユーザデバイス2104の1つ又は複数の機能を実行、調整、及び/又は管理させる実行可能命令を検索するように構成される。例えば、プロセッサ2106aは、アプリケーションインターフェース2112と通信するために、ネットワークインターフェース2104cを動作させるように構成することができる。このようにして、ユーザデバイス2104はデータ管理プラットフォーム2102とデータを交換することができる。
ユーザデバイス2104と同様に、リモートデータソースサーバ2106及び第三者サーバ2108はそれぞれ、プロセッサ(プロセッサ2106a及びプロセッサ2108aとしてそれぞれ識別される)、メモリ(メモリ2106b及びメモリ2108bとしてそれぞれ識別される)、並びにネットワークインターフェース(ネットワークインターフェース2106c及びネットワークインターフェース2108cとしてそれぞれ識別される)を含む。典型的な例において、リモートデータソースサーバ2106及び第三者サーバ2108はそれぞれ企業サーバとして(又は企業サーバで)実施されるが、これは必須ではないことがある。
多くの例では、データ管理プラットフォーム2102は、プロセッサを含むサーバ又はサーバシステムである。プロセッサは、データ又は命令の処理、受信、又は送信を行うことができる任意の電子デバイスとして実施することができる。例えば、プロセッサは、マイクロプロセッサ、中央演算処理装置、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、デジタル信号プロセッサ、アナログ回路、デジタル回路、又はそのようなデバイスの組合せであることができる。プロセッサはシングルスレッド又はマルチスレッドプロセッサであり得る。プロセッサはシングルコア又はマルチコアプロセッサであり得る。
したがって、本明細書に記載されるように、「処理ユニット」又はより一般的に「プロセッサ」という句は、メモリ内に記憶され、メモリからアクセスすることができるプログラムに含まれるコード及び/又は命令として表されるデータ演算を含むデータの特定の変換を実行するように物理的に構造化されたハードウェア実施データ処理デバイス又は回路を指す。用語は、シングルプロセッサ、若しくはシングル処理ユニット、マルチプロセッサ、マルチ処理ユニット、アナログ回路、若しくはデジタル回路、他の適宜構成された計算要素、又は要素の組合せを包含することが意図される。
データ管理プラットフォーム2102のプロセッサは、実行可能命令を記憶したメモリにアクセスするように構成される。実行されると、命令はプロセッサに、データ管理プラットフォーム2102の動作の1つ又は複数を実行、調整、又は監視させる。
メモリに記憶された命令を実行すると、データ管理プラットフォーム2102のプロセッサは、特定の機能を実行し、クラス又はオブジェクト間の通信を調整し、及び/又はクラスオブジェクトとユーザデバイス2104、リモートデータソースサーバ2106、又は第三者サーバ2108等の外部リソースとの間の通信を調整するように構成された幾つかのクラス及び/又はオブジェクトをインスタンス化するように構成される。
例えば、上述したように、データ管理プラットフォーム2102のプロセッサは、ユーザデバイス2104、リモートデータソースサーバ2106、又は第三者サーバ2108との通信のために3つのインターフェースをインスタンス化する。インスタンス化されたインターフェースの1つは、リモート口座インターフェース2114である。リモート口座インターフェース2114は、データ管理プラットフォーム2102及びリモートデータソースサーバ2106のプロセッサによりインスタンス化された種々のクラスオブジェクト間の通信を促進する。
リモート口座インターフェース2114を介してリモートデータソースサーバ2106と通信するように構成された一例のクラスオブジェクトは、図21Aにおいて非露出API/データ抽出エンジン2118として識別される。非露出API/データ抽出エンジン2118は、好都合にアクセス可能なAPIを露出しない1つ又は複数のリモートデータソースサーバと通信し、及び/又はデータを抽出する幾つかのメソッド及び/又は関数を実施することができる。
例えば、一実施形態では、非露出API/データ抽出エンジン2118は、限定ではなく、リモートデータソースサーバ2106によりホストされたウェブページのレンダリング及びロードされたウェブページからのデータのスクレープ;リモートデータソースサーバ2106によりホストされたウェブページとのユーザ対話のシミュレート、ロードされたウェブページからのデータのスクレープ;リモートデータソースサーバ2106により提供された非露出APIと対話することについて承認された第一者アプリケーションの存在のシミュレート等を行うように構成することができる。
リモート口座インターフェース2114を介してリモートデータソースサーバ2106と通信するように構成されたクラスオブジェクトの別の例は、API/データ抽出エンジン2120として識別される。非露出API/データ抽出エンジン2118とは異なり、API/データ抽出エンジン2120は、リモートデータソースサーバ2106により定義され露出されるAPIに従ってクエリを提出し、リモートデータソースサーバ2106から応答を収集することにより、リモートデータソースサーバ2106の1つ又は複数のリソース又はエンドポイントにアクセスするように構成される。
多くの実施形態では、非露出API/データ抽出エンジン2118及びAPI/データ抽出エンジン2120により実行される関数及び/又はメソッドは複製可能であり、特定のリモートデータソースサーバ2106と通信するためには、2つのクラスオブジェクトの一方のみが随時操作される必要がある。
非露出API/データ抽出エンジン2118及びAPI/データ抽出エンジン2120はそれぞれ、データ処理エンジン2122として図21Aにおいて識別される別のクラスオブジェクトと通信するように構成される。
データ処理エンジン2122は、非露出API/データ抽出エンジン2118及びAPI/データ抽出エンジン2120により取得された生データを受信し処理するように構成される。例えば、データ処理エンジン2122は、非露出API/データ抽出エンジン2118又はAPI/データ抽出エンジン2120の何れかからの生データの受信に応答して、1つ又は複数のデータ検証動作を実行することができる。データ検証動作は、スペル検証、グラマー検証、フォーマット検証、数値範囲検証、禁止文字チェック、データ衛生化動作等を含み得るが、これらに限定され得ない。
他の実施形態では、データ処理エンジン2122は、非露出API/データ抽出エンジン2118又はAPI/データ抽出エンジン2120の何れかからの生データの受信に応答して1つ又は複数のデータフォーマット又は動作の実行を行うことができる。フォーマット動作は、タイプから別(例えば、stringからdate、integerからdouble又はfloat等)への値のリキャスト;dataオブジェクトへのstring dateのリフォーマット;空白文字のトリミング;stringのケース変更;stringの切り詰め;第1の言語から第2の言語へのstringの翻訳;ある通貨から第2の通貨への変換;特定の精度への数の丸め;禁止文字の除去等を含むことができるが、これらに限定され得ない。
他の実施形態では、データ処理エンジン2122は、非露出API/データ抽出エンジン2118、API/データ抽出エンジン2120、又はデータ処理エンジン2122自体のメソッドオブジェクトからの生データ及び/又はプリフォーマットデータの受信に応答して、1つ又は複数の日付ソート、構造化、又は編成動作を実行することができる。ソート、構造化、又は編成は、英字ソート、時間ソート、特定のフィールド又はデータ型の拒絶、特定のフィールド又はデータ型の追加、1つ又は複数のデータオブジェクトへの受信データのマッピング等を含むことができるが、これらに限定され得ない。
他の実施形態では、データ処理エンジン2122は、非露出API/データ抽出エンジン2118、API/データ抽出エンジン2120、又はデータ処理エンジン2122自体のメソッドオブジェクトからの生データ及び/又はプリフォーマットデータの受信に応答して、1つ又は複数のデータカテゴリ化又はタグ付け動作を実行することができる。カテゴリ化又はタグ付けは、1つ又は複数のデータポイントへのデータ型の添付(例えば、取引タイプ、マーチャントタイプ、健康情報タイプ等)、サーチ可能なタグ又は識別子での1つ又は複数のデータポイントのタグ付け、リモートデータソースサーバ2106に対応する識別子でのデータポイントの1つ又は複数のタグ付け、データがリモートデータソースサーバ2106から取得された日時に対応するタイムスタンプでのデータポイントの1つ又は複数のタグ付け等を含むことができるが、これらに限定され得ない。
上述した種々のクラスオブジェクトの機能及び動作の上記例並びにその代替及び変形は一般に、説明のため及びリモートデータソースサーバ2106等の未知のソースから取得された、良好にフォーマットされたデータを出力するように構成されたデータ管理プラットフォームサブシステムの可能な構成及び使用の理解を促進するために提示されている。しかしながら、特定の記載された実施形態又はその均等物を実施するために、本明細書に提示された特定の詳細のいくつが必要ないことがあることが当業者には明らかになろう。同様に、本明細書に記載されたシステムが、変更、調整、又は他のリモートデータソースに他の方法で適合することができることが当業者には明らかになろう。
例えば、銀行サーバからのデータの抽出、フォーマット、及び検証に必要なことは、クレジットカード発行者からのデータの抽出、フォーマット、及び検証に必要な動作と異なり得る。したがって、非露出API/データ抽出エンジン2118、API/データ抽出エンジン2120、及びデータ処理エンジン2122が通常、異なる実施形態では異なるように構成されることが理解される。より具体的には、非露出API/データ抽出エンジン2118、API/データ抽出エンジン2120、及びデータ処理エンジン2122は、データ管理プラットフォーム2102と通信するように構成されたありとあらゆるリモートデータソースに向けて特に構成することができる。幾つかの場合、各エンジンの構成変数セットを特定のリモートデータソースに固有の構成スキーマとして記憶することができる。これらの実施形態では、データ管理プラットフォーム2102が特定のリモートデータソースサーバ(多くの場合、特定の識別子又はタグにより識別される)と通信するときは常に、対応する構成スキーマを適用して、各エンジンを動的に再構成することができる。他の場合、構成スキーマは必要ないことがある。
データ処理エンジン2122が、リモートデータソースサーバ2106から受信したデータを処理すると、データは、長期記憶のためにデータベース2110に挿入することができる。幾つかの場合、データベース2110は新しいデータで既存のデータを上書きするように構成されるが、これは必須ではないことがある。データベース2110は関係データベース又は非関係データベースであり得る。
データ管理プラットフォーム2102のプロセッサによりインスタンス化される別のクラスオブジェクトは、リモート口座インターフェース2114である。本明細書に記載される他の実施形態に関して述べたように、リモート口座インターフェース2114は、第三者サーバ2108等の第三者サーバと、データ管理プラットフォーム2102のプロセッサによりインスタンス化される1つ又は複数のクラスオブジェクト又はオブジェクトとの間の通信を促進するように構成される。
第三者インターフェース2116を介して第三者サーバ2108と通信するように構成された一例のクラスオブジェクトは、図21Aにおいて許可エンジン2124として識別される。許可エンジン2124は、データベース2110からのフォーマットされたプライベートデータの検索を監督及び/又は管理するように構成される。例えば、幾つかの実施形態では、許可エンジン2124は、第三者サーバ2108から第三者インターフェース2116を介してプライベートデータ要求を受信するように構成される。要求に応答して、許可エンジン2124はデータベース2110をクエリして、データベース2110が要求に応答するのに十分な情報を含むか否かを判断することができる。データベースが要求に応答するのに十分な情報を含むと許可エンジン2124が判断する場合、許可エンジン2124はアプリケーションインターフェース2112を介してユーザデバイス2104と通信して、要求されたデータを第三者サーバ2108に開示する許可を要求することができる。
第三者インターフェース2116を介して第三者サーバ2108と通信するように構成された別の例のクラスオブジェクトは、図21Aにおいてフォーマットエンジン2126として識別される。フォーマットエンジン2126は、プライベートデータを第三者サーバ2108に開示するに先立ち(例えば、許可エンジン2124が、第三者サーバ2108にデータを開示する許可を取得した後)、そのデータをフォーマットするように構成される。フォーマットエンジン2126は、限定ではなく、データ型のリキャスト、1つ又は複数のデータフィールドの切り詰め、1つ又は複数のデータフィールドのケース変更、データベース2110の1つ又は複数のテーブルからのデータの統合、テンプレートフォームへの1つ又は複数のデータフィールドの挿入、テンプレートフォーム内のトークンの1つ又は複数のデータフィールドでの置換、第三者サーバにより指定されるフォーマットへのデータの構造化等を含め、任意の数の適したフォーマット動作を実行することができる。
第三者インターフェース2116を介して第三者サーバ2108と通信するように構成された別の例のクラスオブジェクトは、図21Aにおいて暗号化エンジン2128として識別される。暗号化エンジン2128は、データが第三者サーバ2108に開示されるに先立ち(例えば、許可エンジン2124が、第三者サーバ2108にデータを開示する許可を取得した後且つフォーマットエンジン2126が開示するデータをリフォーマットした後)、既にフォーマットされた、を暗号化するように構成される。暗号化エンジン2128は、限定ではなく、対称鍵暗号化、公開鍵暗号化等を含め、任意の適した暗号化技術又は方法論を利用することができる。
例えば、図21Bは、データ管理プラットフォーム2102を含め、本明細書に記載される等のシステム2100の簡易信号流れ図を示す。図21Bに示されるように、リポートマネージャからの金融/資産リポートにアクセスするに当たり、第1の第三者システムはトークンを使用し得、監査を理由として金融リポートを同様に取得するに当たり、第2の第三者システムは第2のトークン(すなわち、「監査トークン」)を使用し得る。
図20に示されるシステム2000と同様に、データ管理プラットフォーム2102は、1つ又は複数のユーザデバイス、1つ又は複数の第三者サーバ(例えば貸し手機関)、及び1つ又は複数のリモートデータソースサーバ(例えば金融サービス機関)間でセキュア通信アーキテクチャを実施する。本明細書に記載される他の実施形態と同様に、例示及び説明を簡易化するために、ユーザデバイスはユーザデバイス2104によりまとめて表され、リモート口座サーバはリモートデータソースサーバ2106によりまとめて表され、第三者サーバは第三者サーバ2108によりまとめて表される。データ管理プラットフォーム2102は、リモートデータソースサーバ2106から検索された、フォーマットされたプライベートデータを集計し記憶するデータベース2110を含む。
しかしながら、この実施形態では、データ管理プラットフォーム2102の異なる部分間のセキュア通信は暗号により促進することができる。より具体的には、リモートデータソースサーバ(リモートデータサーバ2106等)の1つ又は複数にアクセスするためのユーザ信用情報の交換及び/又は記憶の代わりに-又はそれに加えて-、図示の実施形態は、本明細書ではトークンと呼ぶ暗号鍵を生成、分配、交換することによりセキュア(且つ取り消し可能な)通信を促進することができる。
より具体的には、一実施形態では、ユーザデバイス2104のユーザは、リモートデータサーバ2106に記憶されたセキュアデータベースにアクセスするための信用情報を提供し得る。この例では、ユーザデバイス2104は、API 2130を通してデータ管理プラットフォーム2102に信用情報を提供し得る。これに応答して、API 2130は供給された信用情報を使用してリモートデータサーバ2106にアクセスすることができる。これに応答して、リモートデータサーバ2106はデータ管理プラットフォーム2102に、リモートデータサーバ2106へのアクセスを再び取得するために後に使用することができる、ユーザデバイス2104により提供された信用情報に対応する、暗号によりセキュア化されたトークン(例えばセッショントークン)を提供することができる。その後、トークンはトークンデータベース2132に記憶することができる。
**これらは、トークンを共有し、金融情報にアクセスする方法を表すことができる**。
更なる実施形態では、データ管理プラットフォーム2102は、リモートデータサーバ2106に含まれた情報への要求を第三者サーバ2108から受信するよう構成することができる。要求を満たすために、データ管理プラットフォーム2102はトークンデータベース2132にアクセスして、リモートデータサーバ2106に関連付けられたトークンを検索し得る。トークンが取得されると、データ管理プラットフォーム2102はリモートデータサーバ2106にアクセスし、要求されたデータを取得し、要求されたデータを第三者サーバ2108に転送することができる。
他の例では、データ管理プラットフォーム2102は、トークンデータベース2132に記憶されたトークンを第三者サーバ2108に送信するように構成することができる。この例では、第三者サーバ2108はリモートデータサーバ2132に直接アクセスすることができる。
更なる例では、第三者サーバ2108は、リモートデータサーバ2106に記憶されたデータ及び/又はデータベース2110に記憶されたデータのリポートを要求し得る。これらの実施形態では、データ管理プラットフォーム2102はリポートマネージャ2134を含む。リポートマネージャ2134は、トークンデータベース2132及びAPI 2130に通信可能に結合することができる。このアーキテクチャの結果として、リポートマネージャ2134はデータベース2110に含まれたデータにアクセスし、更に、リモートデータサーバ2106に記憶されたデータにアクセスすることができる(例えば、トークンデータベース2132にアクセスし、トークンデータベース2132からの適切なトークンを供給することを介して)。更なる実施形態では、リポートマネージャ2134は1つ又は複数の機関データベース(例えば、納税データベース、金融データベース、他の銀行又は金融機関等)に通信可能に結合することができる。一例の機関データベースは機関データベース2136として識別される。リポートマネージャ2134は、関連付けられた機関に固有のAPIを介して機関データベース2136にアクセスすることができる。示された実施形態では、機関データベース2136は、1つ又は複数の機関固有モジュール(機関インターフェースモジュール又は「IIM」と呼ばれる)を含む機関インターフェースシステム2138を介してアクセスされる。より具体的には、機関インターフェースシステム2138は、金融機関システムとインターフェースするように構成された金融機関インターフェースシステムである。
リポートがリポートマネージャ2134により生成される-データベース2110、リモートデータソース2106、又は機関データベース2136の何れか又は全てから取得されたデータを含む-と、リポートは第三者サーバ2108等の任意の適切な当事者に送信することができる。
リポートマネージャ2134により生成されたリポートの真実性を検証するために、第三者サーバ2108はリポートを監査し得る。これらの実施形態では、データ管理プラットフォーム2102は、一時的及び/又は制限付きアクセストークンを第三者サーバ2108に提供することによりリポートの高信頼性監査を促進することができる。これに応答して、第三者サーバ2108は受信したトークンを使用してリモートデータソース2106にアクセスし、リポートマネージャ2134により生成されたリポートに含まれるデータの少なくとも一部が正確であることを検証することができる。
更に他の例では、特定のデータベース、口座、記録、及び/又はメタデータに関連付けられた種々のトークンを、データ管理プラットフォーム2102に通信可能に結合された種々の構成要素間で交換することができる。他の例は、本明細書に記載されるトークンの他の使用例及び機能例も等しく適用することができる。
上述した上記例並びにその種々の代替及び変形は一般的に、説明を目的として、本明細書に記載される等のシステムの種々の構成及び使用-並びにそのシステムによりインスタンス化することができる種々のクラス及びオブジェクト-の理解を促進するために提示されている。しかしながら、特定の記載された実施形態又はその均等物を実施するために、本明細書に提示された特定の詳細が必要とされないことがあることが当業者には明らかになろう。
例えば、上述した実施形態例は、本明細書に記載される等のデータ管理プラットフォームの1つ又は複数の機能が、データ管理プラットフォームの1つ又は複数のプロセッサによりインスタンス化される目的構成されたクラスオブジェクトにより実施し得ることを意図する。他の実施形態では、これは必須ではないことがある。例えば、幾つかの実施形態では、非露出API/データ抽出エンジン2118、API/データ抽出エンジン2120、データ処理エンジン2122、許可エンジン2124、フォーマットエンジン2126、又は暗号化エンジン2128の何れか1つは、ハードウェアに、異なる若しくは分散サーバに、又は専用ハードウェアとソフトウェアとの組合せとして別個に実施することができる。
更なる実施形態は、本明細書に記載される等のデータ管理プラットフォームと通信するユーザデバイスのディスプレイにより提示することができるユーザインターフェースを参照する。本明細書に記載される多くの実施形態に関して述べたように、ユーザデバイスは、データ管理プラットフォームに入力を簡便、コンパクト、且つ効率的に提供するために操作することができる。
エンドユーザソフトウェアアプリケーションユーザインターフェース
一般且つ広義に、図22A~図22Lは、図20、図21A、及び図21Bに示されるユーザデバイス等の電子デバイスにより実行されるアプリケーションのインスタンスによりレンダリングすることができるユーザインターフェースの種々の例を示す。本明細書に記載される他の実施形態に関して述べたように、ユーザデバイスは、限定ではなく、セルフォン、スマートフォン、タブレット、デスクトップコンピュータ、車両娯楽システム、ウェアラブル電子デバイス等の任意の適した電子デバイスであることができる。
別の言い方をすれば、図22A~図22Fに示される実施形態は、本明細書に記載される等のデータ管理プラットフォームと対話するために、情報を表示し、情報をまとめ、選択を提供して異なるタイプの情報を表示し、及び/又は電子デバイスのユーザからの入力を求める種々の方法を示す。
図22A~図22Lに示される種々のユーザインターフェースにより促進することができる上述したデータ管理プラットフォームとの対話例は、データ管理プラットフォームがアクセスする1つ又は複数のリモートデータソース(例えば、金融機関、クレジットエージェンシー、ブローカー、貸付処理エージェンシー、公益企業、サービスプロバイダ等)の選択;第三者に開示されるプライベートデータセットに含める1つ又は複数のリモートデータソースの選択;データ管理プラットフォームがリモートデータソースにアクセスするための1つ又は複数の信用情報の提供;データ管理プラットフォームのデータベースをクエリすることにより取得されたデータの表示;第三者への特定のプライベートデータの開示を認可する要求のデータ管理プラットフォームからの受信;第三者からのプライベートデータ要求の変更;前に付与されたアクセスの非アクティブ化;1つ又は複数の金融口座の選択等を含むことができるが、これらに限定され得ない。
しかしながら、説明を簡易化するために、本明細書に記載される他の実施形態と同様に、以下の実施形態は、貸し手(第三者)が借り手(対象者及び電子デバイスのユーザ)からプライベート金融データを要求する取引を参照する。この例では、借り手に、プライベート金融データの取得及び/又は開示に関連するグラフィカルユーザインターフェース選択肢を提示し得る。しかしながら、上述したように、これらの例が限定でもなく網羅的でもなく、他の実施態様も可能なことを理解し得る。
更に、以下に提供される種々の図及びユーザインターフェース構成例が、提供されるような特定のレイアウト、順序、文章、相対要素サイズ又は位置に限定されないことを理解し得る。換言すれば、異なるユーザインターフェース及び異なるユーザインターフェース進行、アニメーション、及びシーケンスが意図される。以下の例が単に切り離された例であり、幾つかの実施形態では、ユーザインターフェースを別の様式で提供可能なことを当業者は理解しよう。
図22A~図22Lはそれぞれ、ユーザインターフェースを提示するアプリケーションを実行中の電子デバイス2200を示す。通常、アプリケーションは、不揮発性メモリにアクセスして、プロセッサに実行可能命令により定義された仮想マシンを高速アクセスメモリにロードさせる実行可能命令を取得する電子デバイス2200のプロセッサにより実行される。仮想マシンは、機能の中でも特に、電子デバイス2200のユーザに出力を提供し、電子デバイス2200のユーザから入力を取得するためのグラフィカルユーザインターフェースを生成するように構成される。
より具体的には、ユーザインターフェースは、データを借り手に提示し、借り手からのデータ入力を要求するように構成される。ユーザインターフェースは、限定ではなく、手動入力データ、スキャンされたデータ(例えば、カメラ又は画像捕捉デバイスを介して)、口述データ、コピーされたデータ、インポートされたデータ、アップロードされたデータ、手書きデータ等を含む幾つかの方法で借り手入力データを受信するように構成することができる。
図22A~図22Lの電子デバイス2200は、限定ではなく、セルラフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、インターネット接続可能デバイス、イントラネット接続可能デバイス等の任意の適した電子デバイスであることができる。一例では、電子デバイス2200は、リモートサーバ又はサーバ群に無線接続するポータブル電子デバイスである。電子デバイス2200は、プロセッサ、一時的メモリ、非一時的メモリ、ディスプレイ、ユーザ入力システム、無線又は有線通信モジュール等の1つ又は複数を含むことができる。多くの場合、電子デバイス2200は、プロセッサにより実行可能なプログラム命令を非一時的メモリに記憶するように構成される。幾つかの実施形態では、本明細書に記載される等のシステムの1つ又は複数の部分は、電子デバイス2200内又は電子デバイス2200がアクセス可能な非一時的メモリに記憶された実行可能命令として全体的又は部分的に実施することができる。
図22A~図22Lの電子デバイス2200はまた、上述した等のプロセッサに動作可能又は通信可能に結合されたディスプレイ要素を囲む筐体2202も含む。ディスプレイ要素は、限定ではなく、LCDディスプレイ、LEDディスプレイ、OLEDディスプレイ等を含む任意の数の適したディスプレイ要素であることができる。
多くの場合、電子デバイス2200はまた、借り手から入力を受信するために、タッチ入力システム又はキーボード入力システム等のユーザ入力システムも含む。
図22Aは、リスト又はグリッドから1つ又は複数の銀行又は金融機関を選択するユーザインターフェース2204aを提供している電子デバイスを示す。一例の状況では、ユーザインターフェース2204aは、電子デバイスが図20、図21A、及び図21Bを参照して説明したデータ管理プラットフォーム等のデータ管理プラットフォームと通信している間、その電子デバイス2200のユーザ(例えば借り手)に提示することができる。金融機関は、限定ではなく、銀行、ブローカー、クレジットカード発行者、デジタルウォレット、暗号通貨交換、オンライン小売業者、ロイヤルティプログラム、モーゲージサービス提供者等であることができる。
他の例の状況では、ユーザインターフェース2204aは、貸し手等の第三者からの要求に応答して借り手に提示することができる。例えば、借り手は、借り手をユーザインターフェース2204aにリダイレクトする、貸し手により提供されるウェブサイト又はサービスにアクセスし得る。他の場合、ユーザインターフェース2204aは、図20、図21A、及び図21Bを参照して説明したデータ管理プラットフォーム等のデータ管理プラットフォームによりホストされるウェブアクセス可能ページであることができる。更に他の実施形態では、ユーザインターフェース2204aは、電子デバイス2200で実行されるネイティブアプリケーションにより提供することができる。上記例が網羅的ではなく、他のユーザインターフェース生成技法及び/又はそのような技能の組合せも使用可能なことを理解し得る。
図示の構成では、借り手は電子デバイス2200を使用して、金融機関リストから選択された各金融機関からプライベート金融データにアクセスし集計するようにデータ管理プラットフォームに命令することができる。別の実施形態では、借り手はデータ管理プラットフォームへの電子デバイス2200を使用して、選択された金融機関からのデータのみを第三者サーバに開示することができる。例えば、借り手は、電子デバイス2200が2つ以上の金融機関にアクセスするのを認可するが、金融機関の1つから取得された情報のみを第三者サーバに開示し得ることを認可し得る。
この構成例では、ユーザインターフェース2204aはまた、サーチフィールド2206も提示して、選択可能な金融機関2208として図において識別される、選択可能なリモートデータソースのスクロール可能なセットをサーチするテキストクエリを借り手から受信する。サーチフィールド2206は、英数字入力、手書き入力、数値のみ入力、記号のみ入力、口述入力等を受信するように構成することができる。サーチフィールド2206は、表示される金融機関を、サーチフィールド2206に入力されたクエリに一致するものに限定することができる。幾つかの例では、サーチフィールド2206は、リモートサーバから金融機関リストを取得するように構成されたウェブサーチエンジンに動作可能に又は機能的に結合し得る。
図示の実施形態では、選択可能な金融機関2208は、サーチフィールド2206の下にグリッドフォーマットで提示されるが、これは必須ではないことがある。例えば、幾つかの実施形態では、選択可能な金融機関2208はリストフォーマットで提示することができる。他の場合、サーチフィールド2206は、選択可能な金融機関2208のグリッド又はリストの下又は中央に位置することができる。
多くの場合、サーチフィールド2206は、サーチフィールド2206に入力される各後続文字に応答して、選択可能な金融機関2208のいずれが示され、いずれが隠され、いずれが淡色表示され、又はいずれが強調教示されるかを自動的に更新するライブサーチを実施する。幾つかの場合、選択可能な金融機関2208のうちの2つ以上の金融機関を一度に選択することができる。他の場合、一度に1つのみの金融機関を選択し得る。
借り手が1つ又は複数の金融機関の選択を完了した後、電子デバイス2200は選択をデータ管理プラットフォームに送信することができる。幾つかの場合、借り手は、ユーザインターフェース2204aにおけるソフトウェアボタン(図示せず)を選択して、選択プロセスが完了したことを通知する(例えば、スクロール可能リストの最上部又は最下部に示される「完了」ボタン)。
別の実施形態では、ユーザインターフェースは、選択された金融機関に関連付けられたサーバに記憶された情報及び/又はデータにアクセスするための1つ又は複数の信用情報のユーザ入力を受け入れるように変わることができる。
図22Bは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204bとして識別される-を提供する、図22Aの電子デバイスを示す。この例では、借り手は1つ又は複数の信用情報をユーザインターフェース2204bに入力することができ、データ管理プラットフォームは信用情報を使用して、図22Aに示されるユーザインターフェース2204aにおいて選択された金融機関等の1つ又は複数の金融機関にアクセスすることができる。
図示の例では、ユーザインターフェース2204bは、特定の機関に関連付けられたユーザ名及びパスワードを入力するように借り手に求めるユーザ名テキストフィールド2210及びパスワードテキストフィールド2214を含む。ユーザ名テキストフィールド2210及びパスワードテキストフィールド2214は、英数字入力、手書き入力、数値のみ入力、記号のみ入力、口述入力等を受信するように構成することができる。幾つかの場合、パスワードテキストフィールド2214に入力された文字を隠すことができるが、これは必須ではない。幾つかの実施形態では、パスワードテキストフィールド2214に入力された文字を隠すか否かをトグルするボタンを提供することができる(図示せず)。
幾つかの場合、ユーザ名テキストフィールド2210及びパスワードテキストフィールド2214は、内容をデータ管理プラットフォームに送信する前に、検証することができる。例えば、幾つかの実施形態では、データ管理プラットフォームは検証スキーマを電子デバイス2200に送信することができる。検証スキーマは、ユーザ名テキストフィールド2210及びパスワードテキストフィールド2214の内容への特定のルールを定義することができる。例えば、ユーザ名テキストフィールド2212の特定の検証スキーマは、適宜フォーマットされた電子メールアドレスを要求し得る。借り手が不適切にフォーマットされた電子メールアドレスを入力する場合、エラーメッセージをユーザインターフェース2204bに示すことができる。
別の例では、パスワードテキストフィールド2214の特定の検証スキーマは、例えば、少なくとも最小数の文字を要求し得る。借り手が最小数よりも少ない文字を入力する場合、エラーメッセージをユーザインターフェース2204bに示すことができる。
幾つかの実施形態では、検証スキーマは、少なくとも部分的に、要求された信用情報に関連付けられた特定の機関に基づくことができる。例えば、第1の機関は、第2の機関と異なるパスワード及び/又はユーザ名のルールを強制することができる。
更なる実施形態では、限定ではなく、口座番号、金融機関コード、PIN番号、社会保障番号、運転免許証番号、ローリング2ファクタ認証アクセスコード等を含め、借り手の追加の信用情報及び/又は異なる信用情報を要求することができる。
本明細書に記載される他の実施形態に関して述べたように、図示のユーザインターフェースにおいて求められるユーザ名及びパスワードに加えて、他のステップ及び/又は認証動作が必要とされ得る。例えば、ユーザインターフェース2204bは2ファクタ認証コードを要求し得る。
更なる実施形態では、ユーザインターフェース2204bは、プライバシーポリシー及び/又はエンドユーザソフトウェアライセンス同意書を示すこともできる。幾つかの場合、これらのドキュメントは、ユーザインターフェース2204bにおいて提供されるリンクをクリックすることにより借り手によりアクセスし得る。幾つかの更なる実施形態では、選択ボックスを提供し得、それにより、借り手は、借り手が特定のポリシー又は同意書をレビューしたことの肯定陳述を提供することができる。例示を簡易化するために、これらの実施形態例は図22Bに示されていない。
幾つかの実施形態では、信用情報の複数のセットを借り手から順に又は同時に要求することができる。例えば、図22Aに示される実施形態例を続けると、借り手は複数の銀行機関を選択し得る。選択されると、第1の機関にアクセスするための信用情報を提供するためのユーザインターフェース2204bを借り手に提示することができ、その後、信用情報を第2の機関に提供するためのユーザインターフェース2204bの第2のインスタンスを借り手に提示することができる。幾つかの場合、アニメーションをユーザインターフェース2204bのインスタンス間の遷移に提供することができるが、これは必須ではないことがある。
別の実施形態では、図22Cは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204cとして識別される-を提供する図22Aの電子デバイスを示す。この例では、複数のリモートデータソースから取得されたデータの集計はまとめられて、サマリ2216に一緒に表示することができる。図示の実施形態では、任意の数の金融機関からの任意の数の記録を一緒にまとめることができる。他の場合、同様の金融機関タイプからの任意の数の記録を一緒にまとめることができる(例えば、まとめられた銀行情報、まとめられた債務情報、まとめられた投資情報等)。更に他の場合、情報は異なる様式で借り手に提供することができる。例えば、借り手に、1つ又は複数の機関について提示及び/又はまとめられる記録を制限及び/又は他の方法でフィルタリングする選択肢を提示し得る。例えば、借り手は、2つの日付間で生じた第1の機関からの取引及び支払いをまとめることを選び得る。
別の実施形態では、図22Dは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204dとして識別される-を提供する図22Aの電子デバイスを示す。この例では、電子デバイス2200は、データ管理プラットフォーム-本明細書に記載される等-から、プライメートデータを第三者に分配及び/又は開示する許可の要求を受信する。これに応答して、この実施形態では、ユーザインターフェース2204dは第三者により要求されたデータのサマリ2218を提示する。図示の実施形態では、第三者は借り手から取引履歴、口座情報、及び収入情報を要求する。図22Dは「第三者」を列挙するが、特定の実施形態では、機関名をユーザインターフェース2204dにおいて借り手に提供することができることを理解し得る。
要求に応答するために、借り手はユーザインターフェース2204dに提示された2つのボタンの一方を選択することができる。第1のボタン2220は、借り手が要求を承認する場合、選択することができ、第2のボタン2222は、借り手が要求を拒絶する場合、選択することができる。
他の例では、借り手に、サマリ2218の異なる要素を選択的にアクティブ化及び/又は非アクティブ化するためのインターフェースを提示し得る。例えば、図22Eに示されるように、サマリ2218に、サマリ2218の個々の部分に対応する個々のスイッチ2218a~2218cが付随することができる。図示の例では、借り手は取引履歴及び口座情報(個々のスイッチ2218a、2218bの位置に対応する)の分配の承認を選択しており、一方、借り手は、収入情報(個々のスイッチ2218cの位置に対応する)の分配の拒絶を選択している。
他の実施形態では、他の選択肢をユーザインターフェース2204eのサマリ2218に提示することができることを理解し得る。他の例では、サマリは、限定ではなく、氏名情報、口座番号情報、金融機関コード情報、認可ユーザ情報、口座経過時間情報、口座タイプ情報、口座残高履歴、口座最大及び最小残高要件、口座振込要件、口座利息、口座履歴、送金情報、現在残高情報、直接預金情報、自動引落情報、口座にリンクされたデジタルウォレットの数及びタイプ、取引タイプ情報等を含むことができる。
別の実施形態では、図22Fは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204fとして識別される-を提供する図22Aの電子デバイスを示す。この例では、図22Dを参照して提供した例と同様に、電子デバイス2200は、プライメートデータを第三者に分配及び/又は開示する許可の要求をデータ管理プラットフォーム-本明細書に記載される等-から受信する。
これに応答して、この実施形態では、ユーザインターフェース2204fは、借り手が要求を変更する選択肢も提供する、第三者により要求されたデータのサマリを提示する。特に、図示の実施形態では、第三者は借り手からの取引履歴、口座情報、及び収入/支出情報を要求する。この例では、ユーザインターフェース2204fは、要求された各データ型を拒絶、レビュー、又は変更する選択肢を借り手に提供する。
例えば、図22Fは、取引履歴に関連する要求された任意のデータの変更、承認、又は拒絶を選択し得る選択肢2224の行を示す。選択肢の行は、借り手の取引履歴をレビューする要求を拒絶する選択肢2226、第三者に開示し得るあらゆる取引をレビューする選択肢2228、及び第三者に開示される取引リストをフィルタリングする日付範囲を指定する選択肢2230を含む。
ユーザインターフェース2204fに含まれる選択肢は網羅的ではない。他の実施形態では、限定ではなく、日付範囲の設定、特定の取引の削除、それを超える又はそれ未満の取引は無視される閾値金額の設定、マーチャント名の編集、金額の編集、日付の編集、口座番号の編集、認可ユーザの取引の編集又は省略、取引金額の丸め、日付及び/又は金額のファジー化、特定の取引タイプの編集又は省略等の要求されたデータへの追加の変更を実行することができる。任意の数の適した変更をユーザインターフェース2204fにより促進することができることが理解される。
別の実施形態では、図22Gは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204gとして識別される-を提供する図22Aの電子デバイスを示す。この例では、図22Cを参照して提供される例と同様に、複数のリモートデータソースから取得されたデータの集計は口座単位でまとめることができ、口座サマリ2232に一緒に表示することができる。
図示の実施形態では、任意の数の金融機関からの任意の数の記録をまとめることができる。他の例と同様に、借り手に、選択肢を含む口座サマリ2232に示されるデータをフィルタリング及び/又は他の方法で変更する手段を提供し得る。
別の実施形態では、図22H~図22Iは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204hとして識別される-を提供する図22Aの電子デバイスを示す。この例では、図22Gを参照して提供された例と同様に、複数のリモートデータソースから取得されたデータの集計は口座単位でまとめることができ、口座サマリ2232に一緒に表示することができる。
図示の実施形態では、任意の数の金融機関からの任意の数の口座(例えば、口座2232a~2232c)をまとめることができる。他の例と同様に、借り手に、どの口座データが口座サマリ2232に示されるかをフィルタリング及び/又は他の方法で変更する手段を提供し得る。例えば、図22Hでは、1つのみの口座が選択され、一方、図22Iでは、2つの口座が選択される。借り手が全ての適切な選択を行うと、ユーザインターフェース2204hを進めるためのボタン2234を押下することができる。図22Iに示される等の幾つかの実施形態では、選択された口座の総数を表示する確認2236を示すことができる。
ユーザが特定の選択を行うと(例えば、図22H又は図22I)、1つ又は複数のリモート機関又は口座とのリンク成功を確認する確認ダイアログを示すことができる。図22Jは、確認グラフィック2238を含むそのような一例を示す。
後に、借り手は1つ又は複数の選択の変更を望むことがある。図22K~図22Lはそれぞれ、本明細書に記載される等の電子デバイスにより提示し得るユーザインターフェースを示す。特に、図22Kは、借り手に提示することができる別のユーザインターフェース-ユーザインターフェース2204kとして識別される-を提供する図22Aの電子デバイスを示す。この例では、複数のリモートデータソースから取得され、1つ又は複数の第三者(例えば金融機関)に分配又はアクセス可能なデータの集計をまとめるか、又は詳述することができる。例えば、データの集計は、第三者に露出及び/又は分配されるデータの粒度を借り手に詳述する取引データ2240を示す含むことができる。データをもはや共有すべきではないと借り手が判断する場合、借り手は、ボタン2242を選択することにより表示されたデータへのアクセスを取り消すことができる。
図22Lに示される等の更なる例では、借り手は個々の機関からの個々の口座を選択及び/又は選択解除することが可能であり得る。ユーザインターフェース2204lでは、3つの機関が示されている(例えば、機関2244、2246、及び2248)。この例では、借り手は開示及び/又はアクセスを許可する1つ又は複数の口座を選択することができる。
上述した上記実施形態及び例並びにその種々の代替及び変形が一般的に、説明を目的として、本明細書に記載される等のシステムの種々の構成及び使用の理解を促進するために提示されていることが理解されよう。したがって、特定の記載される実施形態又はその均等物を実施するために、本明細書に提示される特定の詳細の幾つかは必要ではないことがあることが当業者には理解されよう。
一般且つ広義に、図23~図25は、データ管理プラットフォームを操作し、及び/又は本明細書に記載される等のネットワークアーキテクチャを経由して通信する方法に関する。
特に、図23は、選択された銀行又は金融機関により記憶された金融記録にアクセスする方法の動作例を示す簡易フローチャートである。方法2300は、本明細書に記載される等のデータ管理プラットフォームにより全体的又は部分的に実施することができる。本明細書に記載される他の実施形態と同様に、方法2300はプライベート金融データの集計を参照するが、方法及びその種々の動作が、限定ではなく、公益企業データ(例えば、公共料金支払い履歴、水道料金支払い履歴等)、サービス提供者データ(例えば、テレビジョンサービスプロバイダ支払い履歴、インターネットサービスプロバイダ支払い履歴、携帯電話サービスプロバイダ支払い履歴等)、健康データ、不動産所有権データ等を含む他のタイプのプライベート及び/又はデータの集計にも等しく適用可能なことを理解し得る。
方法2300は、金融機関のユーザ信用情報が受信される動作2302を含む。多くの場合、信用情報は、図20、図21A、図21B、及び図22Bを参照して上述した等のデータ管理プラットフォームによりインスタンス化されるアプリケーションインターフェースと通信するユーザデバイスから受信される。方法2300はまた、金融機関データが信用情報を使用してアクセスされる動作2304も含む。データにアクセスした後、データを処理することができる(例えば、フォーマット、検証等)。方法2300は、動作2304において処理されたデータがセキュアデータベースに記憶される動作2306も含む。
多くの実施形態では、方法2300は、多くの異なる機関で定期的に、自動的に、又はオンデマンドで繰り返される。このようにして、最新集計金融データを1つのアクセス可能なデータベースに記憶することができる。
図24は、精選された金融データを第三者にセキュアにルーティングする方法の動作例を示す簡易フローチャートである。方法2400は、本明細書に記載される等のデータ管理プラットフォームにより全体的又は部分的に実施することができる。
方法2400は、貸し手等の第三者からデータ要求を受信する動作2402を含む。幾つかの場合、データ要求は、第三者の身元を検証する1つ又は複数の証明書及び/又は情報を含むことができる。多くの場合、データ要求は通常、限定ではなく、要求の対象者の氏名又は他の識別子(例えば、氏名、社会保障番号、ライセンス番号等)及び要求されたデータの識別情報を含む。
要求が受信されると、方法2400は動作2404に進み、要求されたデータを第三者に分配する許可への要求。分配許可への要求は、要求の対象者の制御下にあるデバイスに送信される。本明細書に記載される実施形態に関して述べたように、幾つかの例では、要求は要求の対象者により変更することができる。
要求されたデータを第三者に分配、ルーティング、及び/又は開示する許可を対象者から受信すると、方法2400は動作2406に進み、セキュアデータにアクセスする。その後、動作2408において、要求された情報をデータベースから検索することができる。次に、動作2410及び2412において任意選択的に、検索されたデータをフォーマット及び/又は暗号化することができる。最後に、動作2414において、(任意選択的にフォーマットされ暗号化された)検索されたデータを、動作2414において第三者に分配及び/又は他の方法で開示することができる。
図25は、精選された金融データを第三者にセキュアにルーティングする別の方法の動作例を示す簡易フローチャートである。本明細書に記載される他の方法と同様に、方法2500は、本明細書に記載される等のデータ管理プラットフォームにより全体的又は部分的に実施することができる。
方法2500は、第三者にデータを分配/開示する機関が受信される動作2502を含む。次に動作2504において、セキュアデータベースがアクセスされ、動作2506において、要求されたデータが検索される。任意選択的に、動作2508において、検索されたデータは、フォーマット、検証、編集等により処理することができる。最後に、動作2510において、処理されたデータは、動作2502において指示された第三者に送信することができる。
多くの実施形態が先に開示されたが、本明細書に記載される方法及び技法に関して提示された動作及びステップは例示として意味され、したがって、網羅的ではないことを理解し得る。特定の実施形態に代替のステップ順序又はより少数若しくは追加の動作が必要とされ、又は望まれることがあり得ることを更に理解し得る。
上記開示は種々の例示的な実施形態及び実施態様に関して説明されているが、個々の実施形態の1つ又は複数に記載された種々の特徴、態様、及び機能の適用性が、説明された特定の実施形態に限定されず、代わりに、単独で又は種々の組合せで本発明の幾つかの実施形態の1つ又は複数に、そのような実施形態が説明されているか否か及びそのような特徴が記載される実施形態の一部であるものとして提示されているか否かにかかわらず、適用可能なことを理解されたい。したがって、本発明の幅及び範囲は、例示的な上記実施形態のいずれによっても限定されるべきではなく、代わりに、本明細書に提示される特許請求の範囲により定義される。
加えて、本明細書に記載される等のプライベートデータ-プライベート金融データを含む-のアクセス、集計、検証、分析、開示、転送、記憶、又は他の使用を担当する組織及び/又はエンティティが、好ましくは、公開され業界的に確立されたプライバシー、データ、及びネットワークセキュリティポリシー及び慣例に準拠することが理解される。例えば、リモート又はローカルデータソースから取得されたデータ及び/又は情報-そのデータ及び/又は情報の対象者のインフォームドコンセントの上でのみ-が、合法で合意され、妥当な用途でのみアクセスされ集計されるべきであることが理解される。
マシン
加えて、実施形態及びその変形のシステム及び方法は少なくとも部分的に、コンピュータ可読命令を記憶したコンピュータ可読媒体を受けるように構成されたマシンとして実施及び/又は実装することができる。命令は好ましくは、好ましくは金融アプリケーションプログラミングインターフェースプラットフォームに統合されたコンピュータ実行可能構成要素により実行される。コンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、光デバイス(CD又はDVD)、ハードドライブ、フロッピードライブ、又は任意の適したデバイス等の任意の適したコンピュータ可読媒体に記憶することができる。コンピュータ実行可能構成要素は汎用又は特定用途向けプロセッサであることができるが、任意の適した専用ハードウェア又はハードウェア/ファームウェア結合デバイスが代替又は追加として命令を実行することができる。
追加の実施詳細及び実施形態
本開示の種々の実施形態は、任意の可能な技術詳細レベルの統合のシステム、方法、及び/又はコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数の媒体)を含み得る。
例えば、本明細書に記載される機能は、ソフトウェア命令として実行し得、ソフトウェア命令が1つ又は複数のハードウェアプロセッサ及び/又は任意の他の適した計算デバイスにより実行されることにより及び/又は実行に応答して実行される。ソフトウェア命令及び/又は他の実行可能コードはコンピュータ可読記憶媒体(又は複数の媒体)から読み出し得る。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のためにデータ及び/又は命令を保持し記憶することができる有形デバイスであることができる。コンピュータ可読記憶媒体は、限定ではなく例として、電子記憶デバイス(任意の揮発性及び/又は不揮発性電子記憶デバイスを含む)、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は上記の任意の適した組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは以下を含む:ポータブルコンピュータディスケット、ハードディスク、固体状態ドライブ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカード又は溝中の***構造等の機械的符号化デバイス、及び上記の任意の適した組合せ。コンピュータ可読記憶媒体は、本明細書で使用される場合、電波又は他の自由伝播電磁波、導波路若しくは他の伝送媒体を通って伝播する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って伝送される電気信号等のそれ自体一時的な信号として解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワーク、及び/又は無線ネットワークを介してコンピュータ可読記憶媒体から各計算/処理デバイスに又は外部コンピュータ若しくは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含み得る。各計算/処理デバイスにおけるネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各計算/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
本開示の動作を実行するコンピュータ可読プログラム命令(本明細書では、例えば、「コード」、「命令」、「モジュール」、「アプリケーション」、及び/又は「ソフトウェアアプリケーション」等とも呼ばれる)は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、ステート設定データ、集積回路の構成データ、又はSmalltalk若しくはC++等のオブジェクト指向プログラミング言語及び「C」プログラミング言語若しくは同様のプログラミング言語等の手続き型プログラミング言語を含め、1つ又は複数のプログラミング言語の任意の組合せで書かれたソースコード若しくはオブジェクトコードであり得る。コンピュータ可読プログラム命令は他の命令若しくはそれ自体から呼び出し可能であり得、及び/又はイベントの検出又は割り込みに応答して呼び出され得る。計算デバイスで実行されるように構成されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に提供し得、及び/又は次にコンピュータ可読記憶媒体に記憶され得るデジタルダウンロード(実行前にインストール、圧縮解除、又は復号化が必要な圧縮又はインストール可能フォーマットで元々記憶し得る)として提供し得る。そのようなコンピュータ可読プログラム命令は部分的又は完全に、計算デバイスにより実行されるために、実行計算デバイスのメモリデバイス(例えばコンピュータ可読記憶媒体)に記憶し得る。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ(例えば実行計算デバイス)で、部分的にユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ及び部分的にリモートコンピュータで、又は全体的にリモートコンピュータ若しくはサーバで実行し得る。全体的にリモートコンピュータ又はサーバで実行されるシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくは広域ネットワーク(WAN)を含め、任意のタイプのネットワークを通してユーザのコンピュータに接続し得、又は接続は外部コンピュータに対して行い得る(例えば、インターネットサービスプロバイダを使用してインターネットを通して)。幾つかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令のステート情報を利用して、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し得る。
本開示の態様は、本明細書では、本開示の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。コンピュータ可読プログラム命令により、フローチャート図及び/又はブロック図の各ブロック及びフローチャート図及び/又はブロック図におけるブロックの組合せを実施することができることが理解されよう。
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、命令が、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行されると、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施する手段を生成するようなマシンを生成し得る。命令を記憶したコンピュータ可読記憶媒体がフローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能/動作の態様を実施する命令を含む製品を含むように特定の様式で機能するようにコンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに指示することができるこれらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に記憶することもできる。
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、又は他のデバイスで実行させて、コンピュータ、他のプログラマブルデータ装置、又は他のデバイスで実行された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施するようなコンピュータ実施プロセスを生成することもできる。例えば、命令はまず、リモートコンピュータの磁気ディスク又は固体状態ドライブで実行し得る。リモートコンピュータは命令及び/又はモジュールをダイナミックメモリにロードし、モデムを使用して電話回線、ケーブル、又は光回線を介して命令を送信し得る。サーバ計算システムにローカルなモデムは、電話回線/ケーブル/光回線でデータを受信し、データをバスに配置するのに適切な回路を含むコンバータデバイスを使用し得る。バスはデータをメモリに搬送し得、メモリから、プロセッサは命令を検索して実行し得る。メモリにより受信された命令は任意選択的に、コンピュータプロセッサによる実行前又は実行後、記憶装置(例えば固体状態ドライブ)に記憶し得る。
図中のフローチャート及びブロック図は、本開示の種々の実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実施態様のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実施する1つ又は複数の実行可能命令を含むモジュール、セグメント又は命令の部分を表し得る。幾つかの代替の実施態様では、ブロックに記された機能は、図に記された順序外で行われ得る。例えば、連続して示される2つのブロックは、関わる機能に応じて、実際には略同時に実行し得、又はブロックは逆順で実行されることもある。加えて、幾つかの実施態様では、特定のブロックは省略し得る。本明細書に記載される方法及びプロセスはまた、いかなる特定のシーケンスにも限定されず、ブロック又はブロックに関連する状態は、適切な他のシーケンスで実行することができる。
ブロック図及び/又はフローチャート図の各ブロック及びブロック図及び/又はフローチャート図におけるブロックの組合せが、指定された機能若しくは動作を実行又は専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェアベースシステムにより実施することができることにも留意されよう。例えば、先のセクションに記載された任意のプロセス、方法、アルゴリズム、要素、ブロック、アプリケーション、又は他の機能(又は機能の部分)は、特定用途向けプロセッサ(例えば特定用途向け集積回路(ASIC))、プログラマブルプロセッサ(例えばフィールドプログラマブルゲートアレイ(FPGA))、及び/又は特定用途向け回路(これらのいずれも、カスタムハードワイヤード論理、論理回路、ASIC、FPGA等をソフトウェア命令のカスタムプログラミング/実行と結合して、技法を達成し得る)等の電子ハードウェアにおいて実施し得、及び/又は電子ハードウェアを介して完全又は部分的に自動化し得る。
上述したプロセッサ及び/又は任意の上述したプロセッサを組み込んだデバイスのいずれも本明細書では、例えば、「コンピュータ」、「コンピュータデバイス」、「計算デバイス」、「ハードウェア計算デバイス」、「ハードウェアプロセッサ」、及び/又は「処理ユニット」等と呼ばれ得る。上記実施形態の計算デバイスは一般に(必ずしもそうではない)、Mac OS、iOS、Android、Chrome OS、Windows OS(例えば、Windows XP、Windows Vista、Window 7、Windows 8、Windows 10、Windows Server等)、Windows CE、Unix、Linux(登録商標)、SunOS、Solaris、Blackberry OS、VxWorks、又は他の適したオペレーティングシステム等のオペレーティングシステムソフトウェアにより制御及び/又は調整し得る。他の実施形態では、計算デバイスは、プロプライエタリオペレーティングシステムにより制御し得る。従来のオペレーティングシステムは、特に、実行に向けてコンピュータプロセスを制御且つスケジュールし、メモリ管理を提供し、ファイルシステム、ネットワーキング、I/Oサービスを提供し、グラフィカルユーザインターフェース(「GUI」)等のユーザインターフェース機能を提供する。
上述したように、種々の実施形態において、特定の機能は、ウェブベースのビューア(ウェブブラウザ等)又は他の適したソフトウェアプログラム)を通してユーザによりアクセス可能であり得る。そのような実施態様では、ユーザインターフェースはサーバ計算システムにより生成され、ユーザのウェブブラウザ(例えば、ユーザの計算システムで実行中)に送信し得る。代替的には、ユーザインターフェースの生成に必要なデータ(例えばユーザインターフェースデータ)は、サーバ計算システムによりブラウザに提供し得、ブラウザにおいて、ユーザインターフェースを生成し得る(例えば、ユーザインターフェースデータは、ユーザインターフェースデータは、ブラウザがウェブサービスにアクセスすることにより実行し得、ユーザインターフェースデータに基づいてユーザインターフェースをレンダリングするように構成し得る)。次にユーザは、ウェブブラウザを通してユーザインターフェースと対話し得る。特定の実施態様のユーザインターフェースは、1つ又は複数の専用ソフトウェアアプリケーションを通してアクセス可能であり得る。特待の実施形態では、本開示の計算デバイス及び/又はシステムの1つ又は複数はモバイル計算デバイスを含み得、ユーザインターフェースはそのようなモバイル計算デバイス(例えば、スマートフォン及び/又はタブレット)を通してアクセス可能であり得る。
多くの変形及び変更を上述した実施形態に対して行い得、その要素は他の許容可能な例の中にあるものとして理解されたい。全てのそのような変更及び変形は本明細書では、本開示の範囲内に含まれるものとして意図される。上記説明は特定の実施形態を詳述している。しかしながら、上記が文章でいかに詳細に見えようとも、システム及び方法が多くの方法で実施可能なことが理解されよう。これもまた上述したように、特定の特徴又はシステム及び方法の態様を説明する場合、特定の用語の使用が、その用語に関連付けられたシステム及び方法の特徴又は態様の任意の特定の特性を含むものに制限されるものとして、その用語が本明細書において再定義されることを暗示するものとして解釈されるべきではないことに留意されたい。
特に「できる」、「できた」、「し得た」、又は「し得る」等の条件用語は、特に別記される場合を除き又は使用される文脈内で別段に理解される場合を除き、一般に、特定の実施形態が特定の特徴、要素、及び/又はステップを含み、一方、他の実施形態がこれらを含まないことを伝えることが意図される。したがって、そのような条件用語は一般に、特徴、要素、及び/又はステップが1つ又は複数の実施形態に必須であること又は1つ又は複数の実施形態が必ず、ユーザ入力又はプロンプトあり又はなしで、これらの特徴、要素、及び/又はステップが任意の特定の実施形態に含まれるか否か又は任意の特定の実施形態で実行されるべきか否かを判断する論理を含むことを暗示することを決して意図しない。
「略」という用語は、「リアルタイム」という用語と併せて使用される場合、当業者により容易に理解される句を形成する。例えば、そのような用語が、遅延又は待機がみられたとしてもごくわずかである速度を含むこと又はそのような遅延が、ユーザにとって混乱を引き起こさない、イライラしないか、又は他の方法で苛立たせないように十分に短いことが容易に理解される。
句「X、Y、及びZの少なくとも1つ」又は「X、Y、又はZの少なくとも1つ」等の接続用語は、特に別記される場合を除き、一般に、項目、用語等がX、Y、又はZ、又はそれらの組合せであることを伝えるものとして文脈と共に理解されるべきである。例えば、「又は」という用語は、例えば要素リストを接続するのに使用される場合、「又は」という用語がリスト内の要素の1つ、幾つか、又は全てを意味するように包括的な意味で使用される(排他的意味で使用されない)。したがって、そのような接続用語は一般に、特定の実施形態がXの少なくとも1つ、Yの少なくとも1つ、及びZの少なくとも1つがそれぞれ存在することを必要とすることを暗示することを意図しない。
「a」という用語は、本明細書で使用される場合、排他的解釈ではなく包括的な解釈が与えられるべきである。例えば、特記される場合を除き、「a」という用語は、「厳密に1つ」又は「唯一」を意味するものとして理解されるべきではなく、代わりに、「a」という用語は、特許請求の範囲で使用されるか、それとも本明細書のどこかで使用されるかに関係なく、また特許請求の範囲又は明細書のどこかでの「少なくとも1つ」、「1つ又は複数」、又は「複数」等の数量詞の使用に関係なく、「1つ又は複数」又は「少なくとも1つ」を意味する。
「備える」という用語は、本明細書で使用される場合、排他的解釈ではなく包括的な解釈が与えられるべきである。例えば、1つ又は複数のプロセッサを備える汎用コンピュータは、他のコンピュータ構成要素を除外するものとして解釈されるべきではなく、恐らくは特にメモリ、入/出力デバイス、及び/又はネットワークインターフェースのような構成要素を含み得る。
先に詳述した説明は、種々の実施形態に適用された新規の特徴を示し、説明し、指摘したが、本開示の趣旨から逸脱せずに、示されたデバイス又はプロセスの形態及び詳細に種々の省略、置換、及び変更を行い得ることを理解し得る。認識し得るように、本明細書に記載された本発明の特定の実施形態は、本明細書に記載された特徴及び利点の全てを提供するわけではない形態内で実施し得、幾つかの特徴は他の特徴と別個に使用又は実施し得る。本明細書に開示される特定の発明の範囲は、上記説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味又は範囲内の全ての変更は、範囲内に包含されるべきである。
当業者ならば、先の詳細な説明並びに図及び特許請求の範囲から認識するように、以下の特許請求の範囲に規定される本発明の範囲から逸脱せずに、変更及び改変を本発明の実施形態に対して行うことが可能である。