IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マネーデスクトップ,インコーポレーテッドの特許一覧

<>
  • 特表-リスク評価に基づくデータアクセス 図1A
  • 特表-リスク評価に基づくデータアクセス 図1B
  • 特表-リスク評価に基づくデータアクセス 図2
  • 特表-リスク評価に基づくデータアクセス 図3
  • 特表-リスク評価に基づくデータアクセス 図4
  • 特表-リスク評価に基づくデータアクセス 図5
  • 特表-リスク評価に基づくデータアクセス 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-23
(54)【発明の名称】リスク評価に基づくデータアクセス
(51)【国際特許分類】
   G06F 21/62 20130101AFI20230816BHJP
   G06F 21/57 20130101ALI20230816BHJP
【FI】
G06F21/62 318
G06F21/57 370
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022566192
(86)(22)【出願日】2022-05-02
(85)【翻訳文提出日】2022-10-28
(86)【国際出願番号】 US2022027351
(87)【国際公開番号】W WO2022232704
(87)【国際公開日】2022-11-03
(31)【優先権主張番号】63/182,755
(32)【優先日】2021-04-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】515080102
【氏名又は名称】エムエックス・テクノロジーズ・インコーポレーテッド
【氏名又は名称原語表記】MX Technologies, Inc.
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】ウィットコム,デビッド
(72)【発明者】
【氏名】ジョーンズ,ダニエル
(72)【発明者】
【氏名】フロム,ブライアン
(57)【要約】
リスク評価に基づくデータアクセスのための装置、方法、コンピュータプログラム製品およびシステムが開示される。方法(600)は、アプリケーションプログラミングインターフェース(104)にアクセスする複数の実行可能アプリケーション(114)のそれぞれのセキュリティリスクを判定すること(602)を含む。方法(600)は、複数の実行可能アプリケーション(114)のそれぞれのセキュリティリスクの変化を監視すること(606)を含む。方法(600)は、セキュリティリスクの監視された変化に基づいて、アプリケーションプログラミングインターフェース(104)に関して複数の実行可能アプリケーション(114)のパーミッションの範囲を動的に調整すること(608)を含む。
【特許請求の範囲】
【請求項1】
プロセッサと、
コードを記憶するメモリと
を含み、前記コードは、
アプリケーションプログラミングインターフェースにアクセスする複数の実行可能アプリケーションのそれぞれのセキュリティリスクを判定し、
前記複数の実行可能アプリケーションのそれぞれの前記セキュリティリスクの変化を監視し、
前記セキュリティリスクの監視された前記変化に基づいて、前記アプリケーションプログラミングインターフェースに関して前記複数の実行可能アプリケーションに対するパーミッションの範囲を動的に調整する
ように前記プロセッサによって実行可能である、装置。
【請求項2】
請求項1に記載の装置であって、前記コードは、前記実行可能アプリケーションに関連付けられた情報について複数のサードパーティコンピュータ可読データソースを監視するように前記プロセッサによってさらに実行可能である、装置。
【請求項3】
請求項2に記載の装置であって、前記複数のサードパーティコンピュータ可読データソースは、官庁提出書類と、裁判所文書と、ウェブサイトと、ダークウェブ上に漏洩した情報とのうちの1つまたは複数を含む、装置。
【請求項4】
請求項1に記載の装置であって、前記セキュリティリスクは、前記実行可能アプリケーションに関して前記アプリケーションプログラミングインターフェースのためのどのオンボーディング処置が取られたかに少なくとも部分的に基づいて判定される、装置。
【請求項5】
請求項4に記載の装置であって、前記オンボーディング処置は、前記実行可能アプリケーションに関連付けられたサードパーティによるサブミッションと、登録処置と、トレーニング処置と、前記アプリケーションプログラミングインターフェースのためのサンドボックス環境との対話とのうちの1つまたは複数を含む、装置。
【請求項6】
請求項1に記載の装置であって、パーミッションの前記範囲は、前記実行可能アプリケーションのうちの1つが所定期間中に前記アプリケーションプログラミングインターフェースに対して行うことができる要求の数の制限を含む、装置。
【請求項7】
請求項1に記載の装置であって、パーミッションの前記範囲は、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースにアクセスすることができるユーザの数の制限を含む、装置。
【請求項8】
請求項1に記載の装置であって、パーミッションの前記範囲は、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースからどのデータ要素にアクセスすることを許可されるかに関する制限を含む、装置。
【請求項9】
請求項1に記載の装置であって、パーミッションの前記範囲は、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースからアクセスすることを許可されるデータ要素の種類の制限を含む、装置。
【請求項10】
請求項1に記載の装置であって、パーミッションの前記範囲は、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースにアクセスするのをブロックすることを含む、装置。
【請求項11】
請求項1に記載の装置であって、前記コードは、ユーザのためのハードウェアコンピューティングデバイスの電子ディスプレイ画面上に前記実行可能アプリケーションに対するパーミッションの調整された前記範囲を表示するためにグラフィカルユーザインターフェースを動的に更新するように前記プロセッサによってさらに実行可能である、装置。
【請求項12】
アプリケーションプログラミングインターフェースにアクセスする複数の実行可能アプリケーションのそれぞれのセキュリティリスクを判定するステップと、
前記複数の実行可能アプリケーションのそれぞれの前記セキュリティリスクの変化を監視するステップと、
前記セキュリティリスクの監視された前記変化に基づいて、前記アプリケーションプログラミングインターフェースに関して前記複数の実行可能アプリケーションに対するパーミッションの範囲を動的に調整するステップと
を含む方法。
【請求項13】
請求項12に記載の方法であって、前記実行可能アプリケーションに関連付けられた情報について複数のサードパーティコンピュータ可読データソースを監視するステップをさらに含む方法。
【請求項14】
請求項13に記載の方法であって、前記複数のサードパーティコンピュータ可読データソースは、官庁提出書類と、裁判所文書と、ウェブサイトと、ダークウェブ上に漏洩した情報とのうちの1つまたは複数を含む、方法。
【請求項15】
請求項12に記載の方法であって、前記セキュリティリスクは、前記実行可能アプリケーションに関して前記アプリケーションプログラミングインターフェースのためのどのオンボーディング処置が取られたかに少なくとも部分的に基づいて判定される、方法。
【請求項16】
請求項15に記載の方法であって、前記オンボーディング処置は、前記実行可能アプリケーションに関連付けられたサードパーティによるサブミッションと、登録処置と、トレーニング処置と、前記アプリケーションプログラミングインターフェースのためのサンドボックス環境との対話とのうちの1つまたは複数を含む、方法。
【請求項17】
請求項12に記載の方法であって、パーミッションの前記範囲は、前記実行可能アプリケーションのうちの1つが所定期間中に前記アプリケーションプログラミングインターフェースに対して行うことができる要求の数の制限と、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースにアクセスすることができる対象のユーザの数の制限と、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースからどのデータ要素にアクセスすることを許可されるかに関する制限と、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースからアクセスすることを許可されるデータ要素の種類の制限と、前記実行可能アプリケーションのうちの1つが前記アプリケーションプログラミングインターフェースにアクセスするのをブロックすることとのうちの1つまたは複数を含む、装置。
【請求項18】
請求項12に記載の方法であって、ユーザのためのハードウェアコンピューティングデバイスの電子ディスプレイ画面上に前記実行可能アプリケーションに対するパーミッションの調整された前記範囲を表示するためにグラフィカルユーザインターフェースを動的に更新するステップをさらに含む方法。
【請求項19】
アプリケーションプログラミングインターフェースにアクセスする複数の実行可能アプリケーションのそれぞれのセキュリティリスクを判定するための手段と、
前記複数の実行可能アプリケーションのそれぞれの前記セキュリティリスクの変化を監視するための手段と、
前記セキュリティリスクの監視された前記変化に基づいて、前記アプリケーションプログラミングインターフェースに関して前記複数の実行可能アプリケーションに対するパーミッションの範囲を動的に調整するための手段と
を含む装置。
【請求項20】
請求項19に記載の装置であって、前記実行可能アプリケーションに関連付けられた情報について複数のサードパーティコンピュータ可読データソースを監視するための手段をさらに含む装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュリティリスク評価に関し、より具体的には、セキュリティリスク評価に基づくデータアクセスに関する。
【背景技術】
【0002】
サードパーティへのデータの提供は、本質的にセキュリティリスクを伴う。しかし、大部分のデータへのアクセスは一般にはオールオアナッシングであり、特にセキュリティリスクが経時的に変化する場合には、柔軟性がほとんどないか、またはまったくない。
【発明の概要】
【0003】
リスク評価に基づくデータアクセスのための装置、方法、コンピュータプログラム製品およびシステムが開示される。一実施形態では、装置は、プロセッサと、プロセッサによって実行可能なコードを記憶するメモリとを含む。実行可能コードは、一部の実施形態では、ユーザの第1の電子認証情報を用いてユーザを第1のコア処理システムに関連付けられた第1の環境に対して認証するように構成される。特定の実施形態では、実行可能コードは、第1の環境内でユーザに対してユーザインターフェース要素を表示するように構成される。実行可能コードは、さらなる実施形態では、ユーザインターフェース要素へのユーザ入力に応答して、ユーザを第2のコア処理システムに対して認証するように構成される。実行可能コードは、一実施形態では、ユーザインターフェース要素へのユーザ入力に応答して、第1のコア処理システムについてのユーザの第1のアカウントを第2のコア処理システムについてのユーザの異なるアカウントに移行するように構成される。
【0004】
一部の実施形態では、リスク評価に基づくデータアクセスの方法は、ユーザの第1の電子認証情報を用いてユーザを第1のコア処理システムに関連付けられた第1の環境に対して認証することを含む。方法は、一実施形態では、第1の環境内でユーザに対してユーザインターフェース要素を表示することを含む。方法は、特定の実施形態では、ユーザインターフェース要素へのユーザ入力に応答してユーザを第2のコア処理システムに対して認証することを含む。方法は、さらなる実施形態では、ユーザインターフェース要素へのユーザ入力に応答して、第1のコア処理システムについてのユーザの第1のアカウントを第2のコア処理システムについてのユーザの異なるアカウントに移行することを含む。
【0005】
一実施形態では、リスク評価に基づくデータアクセスのための装置は、ユーザの第1の電子認証情報を用いてユーザを第1のコア処理システムに関連付けられた第1の環境に対して認証するための手段を含む。装置は、一部の実施形態では、第1の環境内でユーザに対してユーザインターフェース要素を表示するための手段を含む。装置は、特定の実施形態では、ユーザインターフェース要素へのユーザ入力に応答してユーザを第2のコア処理システムに対して認証するための手段を含む。装置は、さらなる実施形態では、ユーザインターフェース要素へのユーザ入力に応答して、第1のコア処理システムについてのユーザの第1のアカウントを第2のコア処理システムについてのユーザの異なるアカウントに移行するための手段を含む。
【0006】
本発明の利点がわかりやすいように、上記で簡単に説明した本発明のより具体的な説明を、添付図面に図示されている特定の実施形態を参照しながら示す。これらの図面は、本発明の典型的な実施形態のみを示しており、したがって本発明の範囲を限定するものとみなされるべきではないという了解の下で、本発明について添付図面を使用しながらさらに具体的かつ詳細に記載し、説明する。
【図面の簡単な説明】
【0007】
図1A】リスク評価に基づくデータアクセスのためのシステムの一実施形態を示す概略ブロック図である。
図1B】リスク評価に基づくデータアクセスのためのシステムの一実施形態を示す概略ブロック図である。
図2】アクセスモジュールの一実施形態を示す概略ブロック図である。
図3】アクセスモジュールの別の実施形態を示す概略ブロック図である。
図4】ユーザインターフェースの一実施形態を示す概略ブロック図である。
図5】リスク評価に基づくデータアクセスの方法の一実施形態を示す概略フローチャート図である。
図6】リスク評価に基づくデータアクセスの方法のさらなる実施形態を示す概略フローチャート図である。
【発明を実施するための形態】
【0008】
本明細書全体を通じて、「一実施形態」、「ある実施形態」または同様の表現を言う場合、その実施形態に関連して記載されている特定の特徴、構造または特性が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて「一実施形態において」、「ある実施形態において」という語句、および同様の表現はすべて同じ実施形態を指し得るが、必ずしもそうであるとは限らず、特に明記されていない限り、「1つまたは複数の実施形態であるがすべての実施形態ではない」ことを意味する。「含む」、「備える」、「有する」という用語およびこれらの用語の変形は、特に明記されていない限り、「含むがそれには限定されない」ことを意味する。項目の列挙は、特に明記されていない限り、それらの項目のいずれかまたは全部が相互に排他的および/または相互に包含的であることを含意しない。「a」、「an」および「the」という用語は、特に明記されていない限り、「1つまたは複数」も指す。
【0009】
また、実施形態の記載されている特徴、利点および特性は、任意の適切な方式で組み合わせてもよい。当業者は、実施形態が特定の実施形態の特定の特徴または利点のうちの1つまたは複数の特徴または利点がなくても実施可能であることがわかるであろう。また、すべての実施形態には示されていない場合がある、特定の実施形態における追加の特徴および利点もわかるであろう。
【0010】
実施形態のこれらの特徴および利点は、以下の説明および添付の特許請求の範囲からよりよく明らかになり、または以下に記載されている実施形態を実施することにより知ることができる。当業者にはわかるように、本発明の態様は、システム、方法、および/またはコンピュータプログラム製品として具現化可能である。したがって、本発明の態様は、本明細書ではすべて「回路」、「モジュール」または「システム」と総称されている場合がある、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェア態様とハードウェア態様との組合せの実施形態をとることができる。また、本発明の態様は、プログラムコードが具現化された1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【0011】
本明細書に記載の機能ユニットの多くは、その実装の独立性をより具体的に強調するためにモジュールと称されている。例えば、モジュールは、カスタムVLSI回路またはゲートアレイ、ロジックチップなどの既製の半導体、トランジスタ、またはその他の個別構成要素を含むハードウェア回路として実装することができる。モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイスなどのプログラマブルハードウェアデバイスとして実装することもできる。
【0012】
モジュールは、様々な種類のプロセッサによる実行のためのソフトウェアとして実装することもできる。プログラムコードの識別されるモジュールは、例えば、オブジェクト、手続きまたは関数として編成されることができる、例えばコンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを備え得る。上記にもかかわらず、識別されるモジュールの実行ファイルは、物理的にまとめて配置されている必要はなく、互いに論理的に結合されるとそのモジュールを構成し、そのモジュールの記載されている目的を達成する、異なるロケーションに記憶された別々の命令を備えていてもよい。
【0013】
実際、プログラムコードのモジュールは、単一の命令であってもよく、または多くの命令であってもよく、いくつかの異なるコードセグメントにわたり、異なるプログラムにわたり、いくつかのメモリデバイスにわたって分散されていてもよい。同様に、本明細書ではモジュール内で動作データが識別され、示されている場合があり、任意の適切な形態で具現化されてよく、任意の適切な種類のデータ構造内で編成されてよい。動作データは、単一のデータセットとしてまとめられてよく、または異なるストレージデバイスにまたがることを含めて異なるロケーションにわたって分散されてよく、少なくとも部分的に、単にシステムまたはネットワーク上の電子信号として存在してもよい。モジュールまたはモジュールの一部がソフトウェアで実装される場合、プログラムコードは1つまたは複数のコンピュータ可読媒体に記憶され、および/または1つまたは複数のコンピュータ可読媒体で伝播させられてもよい。
【0014】
コンピュータプログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0015】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持し、記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学式ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、またはこれらの任意の適合する組合せとすることができるが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストには、可搬型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(「RAM」)、読み取り専用メモリ(「ROM」)、消去可能プログラマブル読み取り専用メモリ(「EPROM」またはフラッシュメモリ)、スタティックランダムアクセスメモリ(「SRAM」)、可搬型コンパクトディスク読み取り専用メモリ(「CD-ROM」)、デジタル多用途ディスク(「DVD」)、メモリスティック、フロッピィディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組合せが含まれる。本明細書で使用するコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(例えば光ファイバケーブルを通る光パルス)、または配線で送信される電気信号などの、一過性の信号そのものであると解釈されるべきではない。
【0016】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/または無線ネットワークなどのネットワークを介して外部コンピュータまたは外部ストレージデバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを備え得る。それぞれのコンピューティング/処理デバイスにおけるネットワークアダプタカードまたはネットワークインターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【0017】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクションセットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソースコードまたはオブジェクトコードとすることができる。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして全体がユーザのコンピュータ上でまたは一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部が遠隔コンピュータ上で、または全体が遠隔コンピュータまたはサーバ上で実行されてもよい。後者の場合、遠隔コンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに対して行ってもよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0018】
本明細書では、本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品を示すフローチャート図および/またはブロック図を参照しながら説明する。フローチャート図および/またはブロック図の各ブロックおよびフローチャート図および/またはブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【0019】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブルデータ処理装置のプロセッサにより実行される命令が、フローチャートおよび/またはブロック図のブロックで規定されている機能/動作を実装するための手段を形成するように、マシンを作り出すように汎用コンピュータ、専用コンピュータ、またはその他のプログラマブルデータ処理装置のプロセッサに供給することができる。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図のブロックで規定されている機能/動作の態様を実装する命令を含む製造品を備えるように、コンピュータ、プログラマブルデータ処理装置、および/またはその他の装置に対して特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
【0020】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートおよび/またはブロック図のブロックで規定されている機能/動作を実装するように、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップが実行されてコンピュータ実装プロセスを実現するようにするために、コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイスにロードされてもよい。
【0021】
図面中の概略フローチャート図および/または概略ブロック図は、本発明の様々な実施形態による装置、システム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。その際、概略フローチャート図および/または概略ブロック図の各ブロックは、規定されている論理関数を実装するためのプログラムコードの1つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または部分を表すことがある。
【0022】
なお、一部の別の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよいことにも留意されたい。例えば、連続して示されている2つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。示されている図の1つまたは複数のブロックまたはその一部の機能、論理または作用の点で同等であるその他のステップおよび方法も考えられ得る。
【0023】
フローチャートおよび/またはブロック図では様々な種類の矢印および線種が採用されている場合があるが、それらは対応する実施形態の範囲を限定しないものと理解される。実際、一部の矢印またはその他の接続線は、図示されている実施形態の論理の流れを示すためにのみ使用されていることがある。例えば、矢印は、図示されている実施形態の列挙されているステップ間の明示されていない長さの待ち期間または監視期間を示している場合がある。なお、ブロック図および/またはフローチャート図の各ブロックと、ブロック図および/またはフローチャート図のブロックの組合せとは、示されている機能または動作を実行する専用ハードウェアベースのシステムまたは専用ハードウェアとプログラムコードの組合せによって実装可能であることに留意されたい。
【0024】
図1Aおよび図1Bに、リスク評価に基づくデータアクセスのためのシステム100、120の実施形態を示す。一実施形態では、システム100は、1つまたは複数のハードウェアコンピューティングデバイス102、1つまたは複数のアクセスモジュール104(例えば、バックエンドサーバ110上に配置されたバックエンドアクセスモジュール104、および/または1つまたは複数のサードパーティサービスプロバイダ108のサーバ108上に配置された複数のアクセスモジュール104など)、1つまたは複数のデータネットワーク106またはその他の通信チャネル、1つまたは複数のサードパーティサービスプロバイダ108(例えば、1つまたは複数のサービスプロバイダ108の1つまたは複数のサーバ108、1つまたは複数のクラウドまたはネットワークサービスプロバイダ108など)、1つまたは複数のバックエンドサーバ110および/または1つまたは複数のコア処理システム122a~122nを含む。特定の実施形態では、図1Aおよび図1Bには特定の数のハードウェアコンピューティングデバイス102、アクセスモジュール104、データネットワーク106、サードパーティサービスプロバイダ108、バックエンドサーバ110、および/またはコア処理システム122a~122nが図示されているが、当業者は、本開示に鑑みて、任意の数のハードウェアコンピューティングデバイス102、アクセスモジュール104、データネットワーク106、サードパーティサービスプロバイダ108、バックエンドサーバ110、および/またはコア処理システム122a~122nがシステム100、120に含まれてもよいことがわかるであろう。
【0025】
一般に、データパスモジュール112が、データネットワーク106などを介した、1つまたは複数のコア処理システム122a~122nなどからのデータなどのデータへ、アクセスモジュール104へ、1つまたは複数の実行可能アプリケーション114へ、バックエンドサーバ110への電子アクセスおよび/または他の接続を提供する。本明細書で使用されるコア処理システム122は、1人または複数のユーザのためのトランザクションデータ、アカウントデータ、その他のデータなどを記憶、追跡、処理および/または更新するための、1つまたは複数のハードウェアコンピューティングデバイスおよび/またはコンピュータプログラムコードを含む。例えば、サードパーティサービスプロバイダ108が銀行またはその他の金融機関を含む実施形態では、コア処理システムは、金融トランザクションを処理し、金融アカウント(例えば、貯蓄および/または当座預金アカウント、ローンまたはその他のクレジットアカウント、投資アカウント、住宅ローンアカウント、クレジットカードアカウントなどの預金アカウント)に対する更新を行い(posts updates)、および/またはその他の総勘定元帳または金融報告機能を提供するバックエンドシステムを含み得る。コア処理システム122a~122nは、異なる互換性、機能要件などを有してもよく、オンプレミスで設置されてもよく、クラウドベースでバックエンドサーバ110に設置されてもよく、データネットワーク106などを介してアクセス可能であってもよい。データパスモジュール112は、1つまたは複数のコア処理システム122a~122nをアクセスモジュール104および/または1つまたは複数の他のインターフェースまたはサービスに接続してもよい。
【0026】
一実施形態では、データパスモジュール112は、複数のアカウント/トランザクションコア処理システム122a~122nを同時にサポートするように構成されてもよく、それによって、異なるコア122a~122nにアクセスするためにデータパスモジュール112のバックエンドにおいて異なるコア122a~122nのために同じユーザに異なる識別子、異なるトークンまたはその他の電子認証情報などが使用される場合であっても、ユーザ(例えば金融機関、サードパーティエンティティなど)に同じエンドポイント(例えばアクセスモジュール104またはその他のアプリケーションプログラミングインターフェース)またはその他のインターフェースを介して各アカウント/トランザクションコア処理システム122へのリアルタイムアクセスを提供する。一実施形態では、データパスモジュール112は、異なるコア処理システム122a~122nへの同時アクセスを経時的に、継続的に維持する。さらなる実施形態では、データパスモジュール112は、自動的にユーザを第1のアカウント/トランザクションコア処理システム122から第2の(例えば異なる)アカウント/トランザクションコア処理システム122に経時的に移行する。
【0027】
例えば、データパスモジュール112は、同じ1組のユーザのために同じバックエンド上の複数の異なるアカウント/トランザクションコア処理システム122a~122nをサポートしてもよく、それによって同じエンドポイント(例えば、同じアクセスモジュール104、同じAPI、同じオンラインポータル、同じモバイルおよび/またはデスクトップアプリケーション114、他のユーザインターフェースなど)を介して複数の異なるアカウント/トランザクションコア処理システム122a~122nへのアクセスを提供することができる。例えば、一部の実施形態では、データパスモジュール112は、金融機関またはその他のエンティティ108が、コア122a~122n間で即時にまたは必ずしも移行せずに、当座預金/貯蓄アカウントのために、クレジットカード、住宅ローンなどのものとは異なるコア処理システム122a~122nを継続して使用することができるように、または合併などの後に複数のアカウント/トランザクションコア処理システム122a~122nをシームレスに継続してサポートすることができるようにすることができる。
【0028】
異なるアカウント/トランザクションコア処理システム122a~122nについてユーザおよび/またはアカウント識別子が異なる可能性があるため、一部の実施形態では、データパスモジュール112は、アカウント/トランザクションコア処理システム122a~122nの間でユーザおよび/またはアカウント識別子を対応付けるアイデンティティリポジトリまたはその他のデータ構造を維持してもよい。同様に、データパスモジュール112は、ユーザおよび/またはアカウントごとに、異なるアカウント/トランザクションコア処理システム122a~122nについて別個の電子認証情報(例えば、認証トークン、ユーザ名およびパスワードなど)を維持することができるが、ユーザが複数のアカウント/トランザクションコア処理システム122a~122nにアクセスするための単一の妥当性確認および/または認証点を(例えば、ユーザがいったん認証された後、別個の認証トークンまたはその他の電子認証情報を使用するなどして)提供してよい。例えば、ユーザの登録時、最初のログイン時などに、データパスモジュール112は、そのユーザがアカウントを持っているか否かを決定するために、複数のアカウント/トランザクションコア処理システム122a~122nに問い合わせてもよく、その結果のユーザ、アカウントまたはその他のアカウント情報の識別子をアイデンティティリポジトリに格納してもよい。
【0029】
一部の実施形態では、データパスモジュール112は、異なるコアアカウント処理システム122a~122n間でユーザアカウントを自動的に移行してもよい。データパスモジュール112は、特定の実施形態では、ユーザ主導方式でアカウントを移行してもよく、それによってユーザのアカウントの移行をユーザが新たな環境にログインするか、またはその他によりユーザ入力要素などにユーザ入力を提供するまで遅らせてもよい。データパスモジュール112は、コアアカウント処理システム122a~122n間でアカウントを移行するとの決定に応答して、第1のコア処理システム122上のアカウントを閉じ、第2のコア処理システム122上に新規アカウントを作成し、閉じたアカウントから新規アカウントに資金を振り替えるなどしてもよい。このようにして、移行の前にユーザが表示されたユーザインターフェース要素にログインまたはその他の方法で対話するのを待つことによって、移行を経時的に抑制または拡大することができ、ユーザに移行を選択させることができ、それによって早期利用者またはより頻繁に利用するユーザを先に移行することができる。データパスモジュール112は、このようにして、移行金融機関108a~108nが、最も活発なユーザを先に移行するなどにより、特定の契約上の義務を満たしやすくすることもできる。データパスモジュール112は、特定の実施形態では、ユーザが移行を自主的に選択するにつれて、コアアカウント処理システム122a~122n間のシームレスな移行を経時的に実現する。
【0030】
一般に、アクセスモジュール104は、サードパーティ(例えば、実行可能アプリケーション114に関連付けられた開発者、所有者、ベンダ、小売業者、発行業者および/またはその他のエンティティ)の現在のリスク評価に基づいて、データ(例えば、ユーザデータ、金融アカウントおよび/またはトランザクションデータ、APIなど)へのサードパーティアクセス(例えば、実行可能アプリケーション114またはその他のサードパーティクライアント)を動的に管理するように構成される。例えば、アクセスモジュール104は、サードパーティ114によるセキュリティまたはその他のリスクサブミッション、サードパーティ114が取った1組の処置(例えば、登録処置、トレーニング処置、サンドボックス処置など)の監視、サードパーティソース(例えば、ダークウェブ、オンライン記事、官庁提出書類、訴訟など)のライブ監視、および/またはその他のセキュリティおよび/またはリスクファクタに基づいて、サードパーティ実行可能アプリケーション114(例えば、データ受信者114)のリスク評価を決定してもよい。
【0031】
特定の実施形態では、アクセスモジュール104は、サードパーティ実行可能アプリケーション114の現在の動的リスク評価に基づいて、データへのサードパーティアクセスの範囲を決定してもよい(例えば、リスク評価の変化に基づいてアクセスを動的に拡張または制限する)。例えば、サードパーティ実行可能アプリケーション114の決定されたリスクの増大に応答して、アクセスモジュール104は、所定期間中にサードパーティ実行可能アプリケーション114がアクセスモジュール104またはその他のAPIに対して行うことができる要求の数を制限してもよく、サードパーティ実行可能アプリケーション114がアクセスモジュール104またはその他のAPIに対して要求を行うことができる対象のユーザの数を制限してもよく、アクセスモジュール104またはその他のAPIを介してサードパーティ実行可能アプリケーション114が利用可能なデータ要素またはデータタイプを制限してもよく、サードパーティ実行可能アプリケーション114に対してアクセスモジュール104またはその他のAPIへのアクセスを完全にブロックするなどしてもよい。サードパーティ実行可能アプリケーション114について決定されたリスクが減少すると、アクセスモジュール104はアクセスパーミッションの範囲などを動的に増大させてもよい。
【0032】
アクセスモジュール104は、一部の実施形態では、サードパーティ(例えば、実行可能アプリケーション114に関連付けられた開発者、所有者、ベンダ、小売業者、発行業者、管理者および/またはその他のエンティティ)に、サードパーティ実行可能アプリケーション114のリスク評価の更新、サードパーティ実行可能アプリケーション114のためのデータアクセスの変更などを動的に通知してもよい。特定の実施形態では、アクセスモジュール104は、データプロバイダ108a~108nへのポータル、ダッシュボード、および/またはその他のグラフィカルユーザインターフェースを提供することができ、それによって実行可能アプリケーション114および/または関連付けられたサードパーティエンティティなどの複数のデータ受信者114について決定された動的リスク評価を表示してもよい(例えば、データプロバイダ108a~108nがリスク閾値の設定、データアクセスの手動調整、リスク評価および/またはデータアクセスの範囲の変更の閲覧などを行うことができるようにする)。
【0033】
一実施形態では、システム100、120は1つまたは複数のハードウェアコンピューティングデバイス102を含む。ハードウェアコンピューティングデバイス102(例えば、ハードウェアコンピューティングデバイス、情報処理デバイスなど)は、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、タブレットコンピュータ、スマートフォン、セットトップボックス、ゲーム機、スマートTV、スマートウォッチ、フィットネスバンド、光学ヘッドマウントディスプレイ(例えば、バーチャルリアリティヘッドセット、スマートグラスなど)、HDMI(登録商標)またはその他の電子ディスプレイドングル、パーソナルデジタルアシスタントおよび/または、プロセッサ(例えば中央処理装置(CPU)、プロセッサコア、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブルロジック、特定用途向け集積回路(ASIC)、コントローラ、マイクロコントローラおよび/または他の半導体集積回路デバイス)、揮発性メモリおよび/または不揮発性記憶媒体を備える、他のコンピューティングデバイスのうちの1つまたは複数を含み得る。特定の実施形態では、ハードウェアコンピューティングデバイス102は、1つまたは複数のサードパーティサービスプロバイダ108の1つまたは複数のサーバ108、および/または1つまたは複数のバックエンドサーバ110と、後述のデータネットワーク106を介して通信する。ハードウェアコンピューティングデバイス102は、さらなる実施形態では、様々なプログラム114、プログラムコード114、アプリケーション114、命令114、関数114などを実行することができる。
【0034】
一実施形態では、アクセスモジュール104は、1つまたは複数のサードパーティサービスプロバイダ108のため、1つまたは複数のコア処理システム122a~122nのため、アプリケーション114のため、アクセスモジュール104などのために、ユーザの電子認証情報(例えば、ユーザ名およびパスワード、指紋スキャン、網膜スキャン、デジタル証明書、個人識別番号(PIN)、チャレンジ応答、セキュリティトークン、ハードウェアトークン、ソフトウェアトークン、DNAシーケンス、署名、顔認識、音声パターン認識、生体電気信号、二要素認証の認証情報など)を判定および/または受信するように構成される。アクセスモジュール104は、特定の実施形態では、ユーザに関連付けられ、および/またはユーザによって所有されているが、サードパーティサービスプロバイダ108のサーバ108および/またはコア処理システム122a~122nによって記憶されている(例えば、ユーザによって所有、維持および/または制御されていないハードウェアによって記憶されている)、ユーザの写真、ユーザのソーシャルメディア書き込み、ユーザの医療記録、ユーザの金融トランザクション記録またはその他の金融データおよび/またはその他のデータなどの、ユーザに関連付けられたデータをダウンロードするために、ユーザの電子認証情報を使用してサードパーティサービスプロバイダ108のサーバ108、コア処理システム122a~122nなどにアクセスする。アクセスモジュール104は、様々な実施形態において、ダウンロードされたデータをユーザにローカルで提供してもよく(例えばアプリケーション114からのデータをハードウェアコンピューティングデバイス102のディスプレイ画面上に表示する)、ダウンロードされたデータを、ユーザのハードウェアコンピューティングデバイス102からサードパーティサービスプロバイダ108と系列関係になくてもよい仲介者110またはその他の遠隔サーバ110(例えばバックエンドアクセスモジュール104)またはその他の遠隔デバイス(例えばユーザの別のハードウェアコンピューティングデバイス102、異なるユーザのハードウェアコンピューティングデバイス102など)に提供し、および/またはそのようなサーバまたは遠隔デバイスのためにパッケージ化してもよく、またはダウンロードされたデータに基づいて、ユーザに(例えばハードウェアコンピューティングデバイス102上のアプリケーション114から)1つまたは複数のアラート、メッセージ、広告、またはその他の通信を提供するなどしてもよい。
【0035】
特定の実施形態では、システム100、120は、それぞれが、アプリケーション114および/またはその他のデータ受信者114を介してアクセスモジュール104からユーザにデータを伝達することができる1つまたは複数の仲介者110またはその他のハードウェアサーバコンピューティングデバイス110と通信する、異なるサードパーティサービスプロバイダ108a~108nに配置され、位置づけられ、および/または通信する複数のアクセスモジュール104を含む。複数のアクセスモジュール104は、複数のハードウェアコンピューティングデバイスにわたって実行されてもよく、地理的に分散されてもよく、異なるIPアドレスを使用し、および/または異なるサードパーティサービスプロバイダ108(例えば、金融機関、銀行、信用組合および/またはその他のオンラインバンキングプロバイダ、ソーシャルメディアサイト、メディカルプロバイダ、写真ホスティングサイトなど)についてデータ(例えば写真、ソーシャルメディア書き込み、医療記録、金融トランザクション記録、その他の金融データおよび/またはその他のユーザデータ)を別々にダウンロードおよび/または集約してもよい。
【0036】
一実施形態では、アクセスモジュール104の少なくとも一部が、個人金融管理アプリケーション(例えば、複数の金融機関からのユーザの金融トランザクションの表示、ユーザの金融予算および/または金融目標の決定および/または表示、ユーザのアカウント残高の決定および/または表示、ユーザの純資産の決定および/または表示などのためのコンピュータ実行可能コード)、フォトビューア、医療アプリケーション、保険アプリケーション、会計アプリケーション、ソーシャルメディアアプリケーションなど、ハードウェアコンピューティングデバイス102上で実行され、アクセスモジュール104がサードパーティサービスプロバイダ108のサーバ108からダウンロードするデータを使用してよい別のアプリケーションに組み込まれるかまたは他の方法でその一部とされてもよい。
【0037】
1つまたは複数のアクセスモジュール104は、特定の実施形態では、1つまたは複数のサードパーティサービスプロバイダ108のサーバ108、コア処理システム122a~122nなどからダウンロードおよび/または集約されたユーザデータを1つまたは複数の他のエンティティ(例えば、サードパーティサービスプロバイダ108と系列関係にない、アプリケーション114またはその他のデータ受信側エンティティ、遠隔サーバ110またはその他のハードウェアコンピューティングデバイス102など)に提供するために、インターフェース(例えば、アプリケーション114のアプリケーションプログラミングインターフェース(API)、グラフィカルユーザインターフェースなど)を提供してもよい。インターフェースは、一実施形態では、ユーザのハードウェアコンピューティングデバイス102上で実行されているアプリケーション114と1つまたは複数のアクセスモジュール104との間のプライベートインターフェースを含む。別の実施形態では、インターフェースは、セキュリティ保護されてもよいパブリックおよび/またはオープンインターフェースを含み、それによってユーザは、データを記憶、処理および/またはその他の方法で使用するために、アクセスモジュール104から1つまたは複数の他のツール、サービスおよび/または他のエンティティに、ダウンロードされたユーザのデータを分配することができる。
【0038】
様々な実施形態において、アクセスモジュール104および/またはデータパスモジュール112は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの何らかの組合せとして具現化することができる。一実施形態では、アクセスモジュール104および/またはデータパスモジュール112は、ハードウェアサーバコンピューティングデバイス108、110などのプロセッサ上での実行のために非一過性のコンピュータ可読記憶媒体に記憶された実行可能プログラムコードを含み得る。例えばアクセスモジュール104および/またはデータパスモジュール112は、ハードウェアコンピューティングデバイス102、ハードウェアサーバコンピューティングデバイス108、110、これらのうちの1つまたは複数の組合せなどのうちの1つまたは複数において実行される実行可能プログラムコードとして具現化されてもよい。このような一実施形態では、後述するように、アクセスモジュール104および/またはデータパスモジュール112の動作を行う様々なモジュールが、ハードウェアコンピューティングデバイス102、ハードウェアサーバコンピューティングデバイス108、110、またはこれらの組合せなどに配置されてもよい。
【0039】
様々な実施形態において、アクセスモジュール104および/またはデータパスモジュール112は、バックエンドサーバ108、110上、ユーザのハードウェアコンピューティングデバイス102(例えば、ドングル、電話102またはタブレット102と無線で、および/またはUSBまたはプロプライエタリ通信ポートなどのデータポートを介して通信するケース内の1つまたは複数の半導体集積回路デバイスを含む電話102またはタブレット102の保護ケース、または別の周辺デバイス)上、またはデータネットワーク106上の他の場所に設置または配備、および/またはサーバ108、110および/またはユーザのハードウェアコンピューティングデバイス102と併設されることができるハードウェア機器として具現化されてもよい。特定の実施形態では、アクセスモジュール104および/またはデータパスモジュール112は、有線接続(例えばUSB接続)または無線接続(例えばBluetooth(R)、Wi-Fi(R)、近距離通信(NFC)などによって)ラップトップコンピュータ、サーバ、タブレットコンピュータ、スマートフォンなどの他のハードウェアコンピューティングデバイス102、108、110に接続するか、または電子ディスプレイデバイス(例えばHDMIポート、DisplayPortポート、Mini DisplayPortポート、VGAポート、DVIポートなどを使用してテレビまたはモニタ)に接続するか、またはデータネットワーク106上で実質的に独立して動作するなどの、セキュリティ保護されたハードウェアドングルまたはその他のハードウェア機器デバイス(例えばセットトップボックス、ネットワーク機器など)などのハードウェアコンピューティングデバイスを備え得る。アクセスモジュール104および/またはデータパスモジュール112のハードウェア機器は、電力インターフェース、有線および/または無線ネットワークインターフェース、ディスプレイデバイスに出力するグラフィカルユーザインターフェース(例えば1つまたは複数のディスプレイポートを備えたグラフィクスカードおよび/またはGPU)、および/または、アクセスモジュール104および/またはデータパスモジュール112に関して本明細書に記載されている機能を実行するように構成された後述するような半導体集積回路デバイスを備え得る。
【0040】
アクセスモジュール104および/またはデータパスモジュール112は、このような実施形態では、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブルロジック、FPGAまたはその他のプログラマブルロジックのためのファームウェア、マイクロコントローラ上での実行のためのマイクロコード、特定用途向け集積回路(ASIC)、プロセッサ、プロセッサコアなど、半導体集積回路デバイス(例えば1つまたは複数のチップ、ダイ、またはその他の個別ロジックハードウェア)などを備え得る。一実施形態では、アクセスモジュール104および/またはデータパスモジュール112は、1つまたは複数の電線または接続部を備えたプリント回路基板上に(例えば揮発性メモリ、不揮発性記憶媒体、ネットワークインターフェース、周辺デバイス、グラフィカル/ディスプレイインターフェースに)実装されてもよい。ハードウェア機器は、データを送受信するように構成された(例えば、プリント回路基板などの1つまたは複数の電線と通信する)1つまたは複数のピン、パッドまたはその他の電気接続部と、アクセスモジュール104および/またはデータパスモジュール112の様々な機能を実行するように構成された1つまたは複数のハードウェア回路および/またはその他の電気回路を含んでよい。
【0041】
アクセスモジュール104および/またはデータパスモジュール112の半導体集積回路デバイスまたはその他のハードウェア機器は、特定の実施形態では、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、キャッシュなどを含み得るがこれらには限定されない1つまたは複数の揮発性メモリ媒体を備え、および/またはそのような1つまたは複数の揮発性メモリ媒体に通信可能に結合される。一実施形態では、アクセスモジュール104および/またはデータパスモジュール112の半導体集積回路デバイスまたはその他のハードウェア機器は、NANDフラッシュメモリ、NORフラッシュメモリ、ナノランダムアクセスメモリ(ナノRAMまたはNRAM)、ナノ結晶配線ベースのメモリ、シリコン酸化物ベースのサブ10ナノメートルプロセスメモリ、グラフェンメモリ、シリコン-酸化膜-窒化膜-酸化膜-シリコン(SONOS)、抵抗変化型RAM(RRAM)、プログラマブルメタライゼーションセル(PMC)、導電性ブリッジRAM(CBRAM)、磁気抵抗RAM(MRAM)、ダイナミックRAM(DRAM)、相変化RAM(PRAMまたはPCM)、磁気記憶媒体(例えば、ハードディスク、テープ)、光記憶媒体、などを含み得るがこれらには限定されない1つまたは複数の不揮発性メモリ媒体を備え、および/またはそのようなメモリ媒体に通信可能に結合される。
【0042】
データネットワーク106は、一実施形態では、デジタル通信を送信するデジタル通信ネットワークを含む。データネットワーク106は、無線セルラネットワークなどの無線ネットワーク、Wi-Fiネットワーク、Bluetooth(R)ネットワーク、近距離無線通信(NFC)ネットワーク、アドホックネットワークなどのローカル無線ネットワーク、および/またはそれに類するものを含んでよい。データネットワーク106は、ワイドエリアネットワーク(WAN)、ストレージエリアネットワーク(SAN)、ローカルエリアネットワーク(LAN)、光ファイバネットワーク、インターネット、またはその他のデジタル通信ネットワークを含み得る。データネットワーク106は、2つ以上のネットワークを含み得る。データネットワーク106は、1つまたは複数のサーバ、ルータ、スイッチ、および/またはその他のネットワーキング設備を含み得る。また、データネットワーク106は、ハードディスクドライブ、光ドライブ、不揮発性メモリ、RAMなどの1つまたは複数のコンピュータ可読記憶媒体を含み得る。
【0043】
1つまたは複数のサードパーティサービスプロバイダ108は、一実施形態では、1つまたは複数のコア処理システム122a~122n、1つまたは複数のウェブサイトをホストする1つまたは複数のウェブサーバ、企業イントラネットシステム、アプリケーションサーバ、アプリケーションプログラミングインターフェース(API)サーバ、認証サーバなどの1つまたは複数のネットワークアクセス可能なコンピューティングシステムを含んでもよい。1つまたは複数のサードパーティサービスプロバイダ108は、様々な機関または組織と関係するシステムを含み得る。例えば、サードパーティサービスプロバイダ108は、ユーザに関連付けられたデータを記憶する、金融機関、大学、政府機関、公益事業会社、電子メールプロバイダ、ソーシャルメディアサイト、写真共有サイト、ビデオ共有サイト、データストレージサイト、メディカルプロバイダ、またはその他のエンティティへの電子アクセスを提供するシステムを含み得る。サードパーティサービスプロバイダ108は、ユーザが、ユーザに関連付けられたデータのアップロード、閲覧、作成、および/または変更を行うためにユーザアカウントを作成することを可能にし得る。したがって、サードパーティサービスプロバイダ108は、ユーザが、ユーザのデータにアクセスするために、ユーザ名/パスワードの組合せなどの認証情報を提供することができるウェブサイト、アプリケーション、または類似したフロントエンドのログイン要素もしくはログインページなどの承認システムを含み得る。
【0044】
一実施形態では、1つまたは複数のバックエンドサーバ110および/または1つまたは複数のバックエンドアクセスモジュール104は、ネットワーク化されたアクセスモジュール104および/またはデータパスモジュール112の中央管理を提供する。例えば、1つまたは複数のバックエンドアクセスモジュール104および/またはバックエンドサーバ110は、アクセスモジュール104および/またはデータパスモジュール112からのダウンロードされたユーザデータを一元的に記憶してよく、アクセスモジュール104および/またはデータパスモジュール112がトークンまたはその他のユーザ認証情報などを使用して1つまたは複数のサードパーティサービスプロバイダ108からユーザデータにアクセスするための命令を提供してよく、またはそれに類することを行ってよい。バックエンドサーバ110が、ハードウェアコンピューティングデバイス102および/または1つまたは複数のサードパーティサービスプロバイダ108から遠隔に配置された、1つまたは複数のサーバを含んでもよい。バックエンドサーバ110が、図2および図3のアクセスモジュール104に関して後述するモジュールまたはサブモジュールの少なくとも一部を含んでもよく、アクセスモジュール104および/またはデータパスモジュール112のハードウェアを備えてもよく、1つまたは複数の非一過性のコンピュータ可読記憶媒体にアクセスモジュール104および/またはデータパスモジュール112の実行可能プログラムコードを記憶してもよく、および/または、本明細書に記載のアクセスモジュール104および/またはデータパスモジュール112の様々な動作のうちの1つまたは複数の動作をその他の方法で実行してもよい。
【0045】
特定の実施形態では、アクセスモジュール104は、ハードウェアコンピューティングデバイス102を介してユーザにインターフェース(例えば、GUI、CLI、API、1つまたは複数のウェブページ、ウェブ対応アプリケーションなど)を提供するように構成されてもよく、それによってユーザはユーザのデータの複数の集約者(例えば、複数の異なる種類のアプリケーション114またはその他のデータ受信者114、および/またはその他のエンティティ)の管理、集約および/またはデータアクセスパーミッションの管理などを行うことができる。
【0046】
アクセスモジュール104は、ユーザに対して、そのユーザが(例えばバックエンドサーバ110のクライアントとしてなど)そのユーザのデータをダウンロードおよび/または集約することを承認している複数のエンティティ(例えば、複数の異なる種類のアプリケーション114またはその他のデータ受信者114、サードパーティサービスプロバイダ108など)、そのユーザがどのようなデータをそれらのエンティティ(例えばアプリケーション114、サードパーティサービスプロバイダ108など)がダウンロードおよび/または集約することを承認しているかなどのリストを表示してもよい。例えば、一実施形態では、いくつかのサードパーティサービスプロバイダ108が、異なるアプリケーション114を有する金融機関などを含んでもよく、ユーザは1つのサードパーティサービスプロバイダ108からのアプリケーション114に1つの異なる金融機関(例えば異なるサードパーティサービスプロバイダ108)からのデータを集約することを承認していてもよく、別のサードパーティサービスプロバイダ108からのアプリケーション114に2つ以上の他の金融機関(例えば、他のサードパーティサービスプロバイダ108)からのデータを集約することを承認していてもよく、アクセスモジュール104がこれらの承認のそれぞれをグラフィカルユーザインターフェース(GUI)などでユーザに対して表示してもよい。
【0047】
アクセスモジュール104は、ユーザが(例えば異なる1つまたは複数のサードパーティサービスプロバイダ108などから)アプリケーション114または他のエンティティがユーザのデータを集約する承認を無効化および/または追加などのためのインターフェース(例えばGUI)を提供してもよい。アクセスモジュール104は、特定の実施形態では、ユーザに対して(例えばGUIで)、ユーザのデータなどを集約するためなどにアプリケーション114、サードパーティサービスプロバイダ108またはその他のエンティティに対して提供されたユーザの電子認証情報が有効および/または最新であるか否かを(例えば、アクセスモジュール104からのユーザの電子認証情報をアプリケーション114、サードパーティサービスプロバイダ108またはその他のエンティティに提供された電子認証情報と比較することによって、またはサードパーティサービスプロバイダ108またはその他のエンティティからのエラーメッセージに基づいて、または電子認証情報を使用してサードパーティサービスプロバイダ108にログインを試行することなどによって)表示してもよい。一実施形態では、アクセスモジュール104は、ユーザのデータを集約するためにアプリケーション114、1つまたは複数のサードパーティサービスプロバイダ108などに提供された電子認証情報をユーザが更新および/または訂正するためのインターフェースを提供してもよく、更新された電子認証情報をアプリケーション114、サードパーティサービスプロバイダ108またはその他のエンティティに提供してもよく、または、アプリケーション114、サードパーティサービスプロバイダ108またはその他のエンティティなどに代わって、更新された電子認証情報を使用してユーザのデータをダウンロードするかまたはその他により集約してもよい。
【0048】
このようにして、特定の実施形態では、アクセスモジュール104は、どれだけの数の異なるエンティティ(例えば、アプリケーション114、サードパーティサービスプロバイダ108など)がユーザのアカウントのうちの1つまたは複数のアカウントにアクセスしたか、どのエンティティ(例えば、アプリケーション114、サードパーティサービスプロバイダ108など)が有効および/または最新の電子認証情報を有しているかを見ること、1つまたは複数のエンティティ(例えば、アプリケーション114、サードパーティサービスプロバイダ108など)の電子認証情報を選択的に更新すること、(例えばユーザのアカウントからデータをダウンロードおよび/または集約するために)エンティティ(例えば、アプリケーション114、サードパーティサービスプロバイダ108など)がユーザのアカウントのうちの1つまたは複数のアカウントにアクセスする承認を無効化/取り消しすることなどを、ユーザが単一の場所で単一のポータルまたはツールを使用して行うことできるようにしてもよい。一実施形態では、アクセスモジュール104は、(例えば異なるバックエンドサーバ110、異なるサードパーティサービスプロバイダ108などに関連付けられた)1つまたは複数の異なるアクセスモジュール104などとのインターフェース(例えばAPIなど)を含んでもよく、それによってアクセスモジュール104は、ユーザが1つまたは複数の異なるアクセスモジュール104について集約および/または承認を管理するためのインターフェースも提供することもできる。
【0049】
アプリケーション114がアクセスモジュール104によってダウンロードおよび/または記憶されたユーザのデータの少なくとも一部へのアクセスを要求するのに応答して、アクセスモジュール104は、ユーザに対して(例えばポップアップウィンドウまたはその他のユーザインターフェース要素として、GUIでなど)、サードパーティサービスプロバイダ108の要求の許諾、拒否、および/または変更を行うためのインターフェースを表示してもよい。特定の実施形態では、アクセスモジュール104は、ユーザに、アクセスモジュール104によってダウンロードおよび/または記憶されているデータへのアクセスの詳細な制御を与えてもよい。例えば、一実施形態では、アクセスモジュール104は、ユーザが、特定のサードパーティサービスプロバイダ108からの異なるデータ要素(例えば特定の列、特定の行、アカウント番号、トランザクション、金額、記述、利率、写真、書き込み、「いいね」、友人および/またはその他の区別可能なデータ要素)、異なるデータタイプなどについて、異なるサードパーティサービスプロバイダ108からアプリケーション114および/または他のサードパーティサービスプロバイダ108へのデータのアクセスパーミッションを個別に許諾、無効化および/または調整することができるようにしてもよい。
【0050】
このようにして、一部の実施形態では、アクセスモジュール104は、ユーザがアプリケーション114またはその他のデータ受信者114が、住宅ローンサードパーティサービスプロバイダ108からの利率にアクセスすることができるがローン金額にはアクセスできないアクセス権、トランザクションの当事者の名前(例えば売買業者および/またはベンダの名前)にはアクセスすることができるが異なるサードパーティサービスプロバイダ108についての銀行アカウントからのトランザクション金額にはアクセスできないアクセス権を、許諾および/または拒否するためのインターフェース(例えばGUI)を提供してもよく、ユーザの集約されたデータのすべてなどへのアクセス権を別のアプリケーション114または他のデータ受信者114に許諾してもよい。一部の実施形態では、アクセスモジュール104は、ユーザが、1つまたは複数のサードパーティサービスプロバイダ108からダウンロードされたデータへの1つまたは複数のアプリケーション114のアクセスを許可/許諾、拒否、および/または無効化することができるようにしてもよい。
【0051】
アクセスモジュール104は、特定の実施形態では、ユーザがそれを介して(例えば、1つまたは複数のアプリケーション114またはその他のデータ受信者114についてユーザに代わって)1つまたは複数のサードパーティサービスプロバイダ108からダウンロードおよび/または集約されたユーザのデータについてのすべてのパーミッションを管理することができる集中的な信頼される仲介者またはその他のエンティティを含んでもよく、それによってユーザは、どのアプリケーション114またはその他のデータ受信者114がどの他のサードパーティサービスプロバイダ108から集約されたデータのどの部分にアクセスすることができるかを(例えばGUIを使用して)動的に管理し、調整することができる。
【0052】
一実施形態では、アクセスモジュール104は、サードパーティサービスプロバイダ108が、ユーザがそのサードパーティサービスプロバイダ108がアクセスすることを許諾していないデータにアクセスすること、またはさらにそのデータの存在を検証することもブロックする。アクセスモジュール104は、一部の実施形態では、ユーザが複数のサードパーティサービスプロバイダ108のためのユーザ名、電子認証情報、セキュリティ質問および/またはその他のセキュリティ設定を単一の集中的な信頼される場所を介して更新するためのインターフェース(例えばアクセスモジュール104からのGUIなど)を提供してもよい。パスワードマネージャモジュール306に関連して後述するように、特定の実施形態では、データパスモジュール112および/またはアクセスモジュール104が(例えばパスワードマネージャモジュール306と協働して)、ユーザのために(例えば、より安全な電子認証情報などを生成するためにユーザが複数のパスワードを知っている必要および/または覚える必要がないように)複数のサードパーティサービスプロバイダ108のための電子認証情報を管理および/または設定してもよい。
【0053】
アクセスモジュール104は、特定の実施形態では、(例えば、データのダウンロードの最適化、同じデータの繰り返しのダウンロードの回避および/または最小限化などのために)ユーザのデータのダウンロードおよび/または集約のために使用されるユーザの電子認証情報を監視してもよい(例えば、同じサードパーティサービスプロバイダ108について使用されるユーザ名を比較するなど)。例えば、アクセスモジュール104は、複数の他のサードパーティサービスプロバイダ108のデータをダウンロードするために使用されている同じサードパーティサービスプロバイダ108のためのユーザの類似した電子認証情報(例えば、電子メールアドレスまたはその他の固有ユーザ名などの同じユーザ名)を検出してもよい(例えば、複数の他のサードパーティサービスプロバイダ108はそれぞれバックエンドサーバ110のクライアントである場合があり、それぞれが同じサードパーティサービスプロバイダ108についてのユーザのアカウントから同じユーザのための同じデータの集約を要求している場合などがある)。一実施形態では、アクセスモジュール104は、ユーザがサードパーティサービスプロバイダ108のための電子認証情報を提供することができるインターフェース(例えばGUI)を提供してもよく、アクセスモジュール104は、電子認証情報がサードパーティサービスプロバイダ108からのデータのダウンロードおよび/または集約のためにいずれかの他のサードパーティサービスプロバイダ108によって使用されているか否かなどを判定してもよい。
【0054】
一部の実施形態では、アクセスモジュール104は、関連付けられたパスワード、指紋、顔識別子またはその他の電子認証情報が異なる場合であっても、ユーザ名(例えば、固有識別情報子、電子メールアドレスなど)が同じ(例えば同一)である場合には、電子認証情報が類似していると判定してもよい。例えば、同じアカウントに関連付けられた異なるパスワードある場合があり、異なるサードパーティサービスプロバイダ108が異なる期間の同じアカウントのためのパスワード(例えば古い、および/または期限切れのパスワード)を使用している場合などがあるが、ユーザ名が同じ場合にはアカウントが同じである場合がある。
【0055】
異なるセッションアイデンティティ(例えば、インターネットプロトコル(IP)アドレス、ユーザエージェントストリング、ブラウザクッキーなど)による異なるセッション中に、同じサードパーティサービスプロバイダ108から複数回、または、異なるハードウェアコンピューティングデバイス102、110からなど、同じユーザのために同じデータが複数回ダウンロードされるかまたはその他によりアクセスされる場合、サードパーティサービスプロバイダ108は、繰り返しの検証(例えば複数のワンタイムパスワード、繰り返しの複数要素認証など)を必要としてもよく、特定のダウンロードなどをログアウトまたはブロックしてもよい。アクセスモジュール104は、特定の実施形態では、同じアカウントが複数のサードパーティサービスプロバイダ108のためにアクセスされているのを検出する(例えば、類似したユーザ名またはその他の電子認証情報が使用されているのを検出する)のに応答して、(例えば同じハードウェアコンピューティングデバイス102、110によって同じサードパーティサービスプロバイダ108から同一または類似した電子認証情報で同じセッションアイデンティティを使用してダウンロードされるなどした)同じデータを、そのデータを繰り返しダウンロードする代わりに、そのデータを要求する複数のサードパーティサービスプロバイダ108のそれぞれと共有してもよい。
【0056】
セッションアイデンティティは、一実施形態では、データのダウンロード先のインターネットプロトコル(IP)アドレス(例えば、そのデータをダウンロードする物理および/または仮想コンピューティングデバイス102、110のIPアドレス)を含んでもよい。セッションアイデンティティは、さらなる実施形態では、(例えば、データをダウンロードする物理および/または仮想コンピューティングデバイス102、110からサードパーティサービスプロバイダ108に提供される)ユーザエージェントストリングを含む。ユーザエージェントストリングは、セッションアイデンティティのためのブラウザ、オペレーティングシステム、ハードウェアコンピューティングデバイス、クライアントアイデンティティ、クライアントバージョン、レンダリングエンジン、互換性および/またはその他の身元情報を識別してもよい。セッションアイデンティティは、一部の実施形態では、1つまたは複数のブラウザクッキー(例えば、ハイパーテキスト転送プロトコル(HTTP)、ウェブクッキー、インターネットクッキー、認証クッキー、セッションクッキー、パーシステントクッキー、サードパーティ追跡クッキーなど、データをダウンロードするハードウェアコンピューティングデバイス102、110に記憶されたサードパーティサービスプロバイダ110からのメタデータ)を含む。
【0057】
特定の実施形態では、データが複数の他のサードパーティサービスプロバイダ110についてダウンロードされる場合であっても、サードパーティサービスプロバイダ110からユーザのデータをダウンロードするために同じIPアドレス、ユーザエージェントストリング、ブラウザクッキーなどのうちの1つまたは複数を使用および/または維持することによって、アクセスモジュール104は、データをダウンロードする認証オーバーヘッドを削減することができ、サードパーティサービスプロバイダ110の負荷を低減することができ、ユーザに対してより一貫性のあるデータを提供することができ(例えば、複数の他のサードパーティサービスプロバイダ110を介して同じ集約データにアクセスする)、および/またはサードパーティサービスプロバイダ110がユーザのデータに対するアクセスをブロックする可能性を低くすることができる。
【0058】
一部の実施形態では、1つまたは複数のアクセスモジュール104が異なる時点で、および/または異なるハードウェアコンピューティングデバイス102、110からデータをダウンロードする場合であっても、アクセスモジュール104は、同じサードパーティサービスプロバイダ108からデータをダウンロードするために、経時的に同じセッションアイデンティティを使用してもよい(例えば、同じセッションアイデンティティを維持するためにIPアドレス、ユーザエージェントストリング、ブラウザ、オペレーティングシステム、ハードウェアコンピューティングデバイス、クッキーなどをコピー、クローニングおよび/またはスプーフィングする)。アクセスモジュール104は、特定の実施形態では、データを共有する複数のサードパーティサービスプロバイダ108のうちの1つがユーザを削除(例えば、データの使用、データの要求などを停止および/または中止する、またはアクセスモジュール104がユーザを削除および/または除去することを要求するなど)しても、サードパーティサービスプロバイダ108からデータをダウンロードするために同じセッションアイデンティティを維持してもよい。このようにして、サードパーティサービスプロバイダ108が後でそのユーザを再度追加するのに応答して、アクセスモジュール104は、継続性が失われないように、同じセッションアイデンティティを継続して使用してもよく、再び同じ電子認証情報を用いて同じサードパーティサービスプロバイダ108からダウンロードされた同じデータの共有を開始することができる。
【0059】
アクセスモジュール104は、一部の実施形態では、複数のサードパーティサービスプロバイダ108が同じデータを共有および/またはその他により使用することができるようにしてもよく、複数のサードパーティサービスプロバイダ108は同じデータのためのそれ自体の異なるメタデータを維持してもよい。例えば、複数の第3のサードパーティサービスプロバイダ108が、それぞれが同じサードパーティサービスプロバイダ108のうちの1つまたは複数からのユーザの金融トランザクションデータを集約する金融機関、金融技術提供者など(例えば、他の金融機関など)を含む場合、複数のサードパーティサービスプロバイダ108のそれぞれがそのユーザの同じ金融トランザクションデータを受信することができるが、同じデータの別々のメタデータ(例えば、トランザクションのカテゴリ、予算、金融目標など)を維持してもよい。一部の実施形態では、世帯の異なる構成者、家族などがアカウント(例えば共同アカウントなど)を共有してもよく、それぞれが自分の選好、カテゴリ、予算、金融目標などを設定してもよく、それを異なるサードパーティサービスプロバイダ108が別々のメタデータとして維持してもよい。
【0060】
アクセスモジュール104は、一実施形態では、別のサードパーティサービスプロバイダからのユーザのデータにアクセスするサードパーティサービスプロバイダ108のうちの1つについてユーザがパスワードまたはその他の電子認証情報を変更および/または更新するのに応答して、セッションアイデンティティをクローニング、複製および/またはコピーする(例えば、前のパスワードおよび/またはその他の電子認証情報と、クローンセッションアイデンティティとを新規パスワードとともに使用して、元のセッションアイデンティティを維持する)ように構成されてもよい。アクセスモジュール104が、新規パスワードを使用したログインが成功したと決定した場合(例えば、新規パスワードを使用してユーザのデータがアクセスおよび/またはダウンロードされてもよい)、一部の実施形態では、アクセスモジュール104は、(例えば、他のサードパーティサービスプロバイダ108のために新規パスワードを使用するためのユーザのパーミッションを得るために)ダウンロードされるデータにアクセスする他のサードパーティサービスプロバイダ108のうちの1つまたは複数のサードパーティサービスプロバイダ108のGUIを介して、変更されたパスワードをユーザに要求してもよく、またはユーザに、他のサードパーティサービスプロバイダ108について新規パスワードを使用する承認を要求するなどしてもよい。新規パスワードを使用したログインの失敗または不成功(例えば、新規パスワードを使用したユーザのデータのダウンロードの失敗)に応答して、アクセスモジュール104は、ユーザが新規パスワードをそれを介して提供したサードパーティサービスプロバイダ108のGUIを介して前のパスワード使用の許諾などのためにユーザに前のパスワードを要求してもよく、またはクローンセッションアイデンティティから元のセッションアイデンティティに復帰するなどしてもよい。
【0061】
図2に、アクセスモジュール104の一実施形態を示す。図示されている実施形態では、アクセスモジュール104は、データパスモジュール112と、認証モジュール202と、直接アクセスモジュール204と、インターフェースモジュール206とを含む。データパスモジュール112は、特定の実施形態では、図1Aおよび図1Bに関連して上述したデータパスモジュール112と実質的に類似していてもよい。
【0062】
一実施形態では、認証モジュール202は、コア処理システム122a~122nなどのために、ユーザのハードウェアコンピューティングデバイス102上でユーザからサードパーティサービスプロバイダ108のためのユーザの電子認証情報を受信する。特定の実施形態では、ユーザが別のユーザの電子認証情報、ダウンロードされたデータまたはその他の個人および/または機密データを見ること、および/またはアクセスすることができないように、1つまたは複数の認証モジュール202と協力して、アクセスモジュール104、104がセキュリティ保護および/または暗号化されたプロトコルを使用して互いに通信してよく、および/または、電子認証情報をセキュリティ保護および/または暗号化された方式で記憶してよい。
【0063】
アクセスモジュール104がハードウェア(例えば、FPGA、ASICなどの半導体集積回路デバイス)を備える実施形態では、認証モジュール202は、暗号鍵を記憶する、セキュリティ保護されていないバスまたはストレージに復号データを出力しない、セキュリティ保護された暗号プロセッサ(例えば、チップ上の専用コンピュータまたは1つまたは複数の物理的セキュリティ手段を備えたパッケージングに内蔵されたマイクロプロセッサ)、セキュリティ保護されたストレージデバイス、TPMチップおよび/またはTPMセキュリティデバイスなどのトラステッドプラットフォームモジュール(TRM)、セキュリティ保護されたブートROMまたはその他の種類のROM、認証チップなど、電子認証情報、ダウンロードされたデータおよび/または機密および/または個人データを記憶および/または処理するための専用セキュリティハードウェアを備えてよい。別の実施形態では、認証モジュール202は、専用セキュリティハードウェアを備えた、または備えていないユーザの既存ハードウェアコンピューティングデバイス102のソフトウェアおよび/またはハードウェアを使用して(例えばRAM、NANDおよび/またはその他の汎用ストレージ内のデータを暗号化して)、電子認証情報、ダウンロードされたデータおよび/またはその他の機密データを、セキュリティ保護および/または暗号化された方式で記憶および/または処理してよい。
【0064】
一実施形態では、上述のように、電子認証情報は認証モジュール202がそれによってユーザの身元および/または承認を認証および/または妥当性確認する(validate)ことができる、ユーザ名とパスワード、指紋スキャン、網膜スキャン、デジタル証明書、個人識別番号(PIN)、チャレンジ応答、セキュリティトークン、ハードウェアトークン、ソフトウェアトークン、DNAシーケンス、署名、顔認識、音声パターン認識、生体電気信号、二要素認証の認証情報、またはその他の情報のうちの1つまたは複数を備えてよい。
【0065】
認証モジュール202は、特定の実施形態では、アクセスモジュール104が複数の異なるサードパーティサービスプロバイダ108からユーザのデータのダウンロード、集約および/または組合せを行うことができるように、異なるサードパーティサービスプロバイダ108(例えば異なるソーシャルネットワーク、異なる写真共有サイト、異なる金融機関)についてのユーザの異なるアカウントのために、ユーザから異なる認証情報を受信してよい。一実施形態では、図3のパスワードマネージャモジュール306に関して後述するように、認証モジュール202は、ユーザから1つまたは複数のパスワードまたはその他の電子認証情報を受信する代わりに、および/またはそれに加えて、1つまたは複数のサードパーティサービスプロバイダ108のためのユーザの1つまたは複数のパスワードまたはその他の電子認証情報の管理および/または決定を行ってもよい。例えば、特定の実施形態では、認証モジュール202は、サードパーティサービスプロバイダ108についてのユーザのアカウントのための電子認証情報(例えばユーザ名およびパスワード)の初期セットをユーザから受信してよく、認証モジュール202は、認証モジュール202によって決定された新しいパスワードを設定すべくサードパーティサービスプロバイダ108についてのユーザのアカウントにアクセスするために、電子認証情報のその初期セットを使用してよい。認証モジュール202は、一実施形態では、ユーザによって典型的に作成される、および/またはユーザが記憶しやすいパスワードまたはその他の電子認証情報よりもより安全な(例えば、より長いか、より多くの数字であるか、または大文字と小文字のバリエーションがより大きいか、より頻繁に変更されるなど)パスワードまたはその他の電子認証情報を決定してよい。
【0066】
一実施形態では、直接アクセスモジュール204は、認証モジュール202からのユーザの電子認証情報を使用して、1つまたは複数のサードパーティサービスプロバイダ108の1つまたは複数のサーバ108、コア処理システム122a~122n、データパスモジュール112などにアクセスする。直接アクセスモジュール204は、特定の実施形態では、1つまたは複数のサードパーティサービスプロバイダ108の1つまたは複数のサーバから、または1つまたは複数のコア処理システム122a~122nなどから、ユーザに関連付けられたデータ(例えば、ユーザのソーシャルメディア書き込み、ユーザの写真、ユーザの金融トランザクションまたは金融アカウント情報など)を、ユーザのハードウェアコンピューティングデバイス102に、および/または、直接アクセスモジュール204に関連付けられたバックエンドサーバ110またはその他の仲介者110などに、ダウンロードする。
【0067】
一部の実施形態では、APIまたはその他のインターフェースが利用可能ではない場合などに、直接アクセスモジュール204が、ユーザの電子認証情報を使用してサーバ108にアクセスするため、および/または、ユーザに関連付けられたデータをダウンロードするために、サードパーティサービスプロバイダ108のサーバ108のウェブページインターフェースを使用してもよい。例えば、特定の実施形態では、直接アクセスモジュール204は、ユーザに関連付けられたサーバ108上のデータへの承認されたアクセスを得るために、サードパーティサービスプロバイダ108のサーバ108からウェブページをダウンロード/ロードし、ユーザのユーザ名とパスワードまたはその他の電子認証情報をウェブページ上のフォーム内のテキストボックスに入力し、ウェブページのサブミットボタンまたはその他のインターフェース要素を使用してユーザ名とパスワードまたはその他の電子認証情報をサブミットし、および/またはその他の方法でウェブサイトを使用して電子認証情報をサブミットしてよい。後述するように、パターンモジュール308は、直接アクセスモジュール204がサーバ108にアクセスすることができるようにする命令(例えば電子認証情報をサブミットするためのロケーションまたは方法など)を受信および/または提供してよい。
【0068】
ユーザの電子認証情報によるサードパーティサービスプロバイダ108のサーバ108、コア処理システム122a~122nなどとの認証およびアクセスの成功に応答して、直接アクセスモジュール204は、(例えばユーザのアカウントなどから)ユーザに関連付けられたデータを、ユーザに関連付けられたハードウェアコンピューティングデバイス102に、またはバックエンドサーバ110などにダウンロードしてもよい。後述するように、特定の実施形態では、パターンモジュール308は、直接アクセスモジュール204がサードパーティサービスプロバイダ108のサーバ108からユーザに関連付けられたデータをダウンロードすることができるようにする命令(例えば、データのロケーションへのURLまたはその他のリンク、1つまたは複数のウェブページまたはその他のデータ構造内などでのデータを探索するためのラベルまたはその他の識別子)を受信および/または提供してよい。直接アクセスモジュール204は、特定の実施形態では、ユーザに関連付けられたデータの探索、ダウンロードおよび/または抽出などを行うべく、エントリロケーションを探索するため、および/または電子認証情報をサブミットするために1つまたは複数のウェブページを構文解析し、スクリーンスクレイピング方式でサーバ108からの1つまたは複数のウェブページからのデータの認証および/またはアクセスを行うように、パターンモジュール308からの命令に従ってよい。
【0069】
一実施形態では、直接アクセスモジュール204は、サードパーティサービスプロバイダ108のサーバ108および/またはコア処理システム122a~122nのAPIまたはその他のアクセスプロトコルを使用して、電子認証情報を送信またはその他により提示し、および/またはデータを受信、またはその他によりダウンロードする。例えば、直接アクセスモジュール204は、サードパーティサービスプロバイダ108のサーバ108(例えばAPIサーバ108)および/またはコア処理システム122a~122nによって指定された、および/または互換性がある形式の要求を送信してもよい。送信される要求は、ユーザの電子認証情報またはその一部(例えばユーザ名および/またはパスワード)を含んでもよく、(例えば、最初の要求に対するサーバ108および/またはコア処理システム122からの肯定応答の受信に応答するなどした)その後の要求がユーザの電子認証情報またはその一部を含んでもよく、および/または直接アクセスモジュール204は異なるアクセスプロトコルを使用してもよい。
【0070】
直接アクセスモジュール204からのデータの要求に応答して(例えば、直接アクセスモジュール204がサーバ108および/またはコア処理システム122のアクセスプロトコルを使用してユーザを認証するのに応答して)、サードパーティサービスプロバイダ108のサーバ108および/またはコア処理システム122は、ユーザに関連付けられたデータを(例えば、1つまたは複数のメッセージ、パケット、ペイロードで、または直接アクセスモジュール204がデータを取り出すことができる場所またはデータパスモジュール112を指すURLまたはその他のポインタなどとして)、送信および/または返してもよい。直接アクセスモジュール204は、様々な実施形態において、ユーザに関連付けられたデータを、データネットワーク106を介してサードパーティサービスプロバイダ108のサーバ108および/またはコア処理システム122から受信してもよく、または、ユーザに関連付けられたデータの場所を指すポインタ、URLまたはその他のリンクを、サードパーティサービスプロバイダ108のサーバ108および/またはコア処理システム122から受信してもよく、または、ユーザに関連付けられたデータをデータネットワーク106上の別のエンティティから(例えば、他のエンティティなどに対するサードパーティサービスプロバイダ108のサーバ108および/またはコア処理システム122からの要求に応答して)受信してもよく、または、サードパーティサービスプロバイダ108のアクセスプロトコルに従って、ユーザに関連付けられたデータをその他の方法で受信してもよい。
【0071】
一実施形態では、サードパーティサービスプロバイダ108が、直接アクセスモジュール204にAPIまたはその他のアクセスプロトコルを提供する。さらなる実施形態では、直接アクセスモジュール204が、サードパーティサービスプロバイダ108のアプリケーション(例えばモバイルアプリケーション)のためのラッパおよび/またはプラグインまたは拡張機能の役割を果たしてよく、アプリケーションがサードパーティサービスプロバイダ108のAPIまたはその他のアクセスプロトコルにアクセス可能であってよい。別の実施形態では、直接アクセスモジュール204は、サードパーティサービスプロバイダ108のアプリケーション(例えばモバイルアプリケーション)などと同様にしてAPIまたはその他のアクセスプロトコルを使用するように構成されてよい。
【0072】
直接アクセスモジュール204は、特定の実施形態では、異なるサードパーティサービスプロバイダ108に異なる方式でアクセスしてよい。例えば、第1のサードパーティサービスプロバイダ108が直接アクセスモジュール204にAPIまたはその他のアクセスプロトコルへのアクセスを許諾してよく、一方、直接アクセスモジュール204は、第2のサードパーティサービスプロバイダ108からのデータへのアクセスおよびダウンロードなどを行うために、ウェブページインターフェース(例えばスクリーンスクレイピング)を使用してよい。一実施形態では、遠隔バックエンドサーバ110が、ファーストパーティサービスプロバイダ110(例えば、アクセスモジュール104のベンダおよび/またはプロバイダ)に関連付けられてよく、直接アクセスモジュール204がファーストパーティサービスプロバイダ110からと、1つまたは複数のサードパーティサービスプロバイダ108の両方から、ユーザに関連付けられたデータをダウンロードしてよく、ユーザが単一のインターフェースおよび/またはアプリケーションでデータにアクセスすることができるようにデータを集約してよい。例えば、インターフェースモジュール206に関して後述するように、インターフェースモジュール206は、単一の写真アプリケーション内で複数のサードパーティクラウドストレージプロバイダ108からのユーザの写真へのユーザアクセスを提供してよく、ユーザに単一の個人金融管理アプリケーションおよび/またはオンラインバンキングアプリケーション内でユーザの個人金融情報へのアクセスを提供してよく、ユーザに単一のソーシャルネットワーキングアプリケーション内で複数のソーシャルネットワークからの書き込みへのアクセスを提供するなどしてよい。
【0073】
直接アクセスモジュール204は、特定の実施形態では、1つまたは複数のサードパーティサービスプロバイダ108から独立してダウンロードおよび/または集約されたデータを記憶してよい。例えば、直接アクセスモジュール204は、ユーザのダウンロードおよび/または集約されたデータをユーザのハードウェアコンピューティングデバイス102上、またはユーザによるアクセスが可能なバックエンドサーバ110上などに記憶してよい。このようにして、特定の実施形態では、サードパーティサービスプロバイダ108が閉鎖し、または利用できない場合であっても、ユーザはユーザのデータをコントロールおよび/またはアクセスすることができ、使用がサードパーティサービスプロバイダ108によってサポートされていないなどの場合であっても、ユーザはユーザが望む任意の方式でユーザのデータを使用することができる。
【0074】
直接アクセスモジュール204は、一実施形態では、1つまたは複数のサードパーティサービスプロバイダ108からデータをダウンロードすることに加えて、および/またはそれに代えて、ユーザ入力などに応答して1つまたは複数のサードパーティサービスプロバイダ108にデータのアップロード、および/または1つまたは複数のサードパーティサービスプロバイダ108の1つまたは複数の設定の変更を行ってよい。例えば、データが写真を含む実施形態では、直接アクセスモジュール204はユーザのハードウェアコンピューティングデバイス102から1つまたは複数のサードパーティサービスプロバイダ108に写真(例えばユーザがハードウェアコンピューティングデバイス102上で編集したダウンロード写真など)をアップロードしてよい。データがソーシャルメディア書き込みまたはその他の内容を含む実施形態では、直接アクセスモジュール204は、ユーザから入力(例えば写真、テキスト書き込み、1つまたは複数の絵文字、ビデオ、文書ファイルまたはその他のファイルなど)を受信してよく、受信した入力を1つまたは複数のサードパーティサービスプロバイダ108(例えばソーシャルメディアサイトなど)にアップロードしてよい。データが金融トランザクションまたはその他の金融データを含む実施形態では、直接アクセスモジュール204は、請求書支払いもしくはその他の支払いまたは資金振替をスケジュールすること、小切手を遠隔で(例えば小切手の表および/または裏の写真をアップロードするなどして)デポジットすること、および/または他のアクションを行ってよい。
【0075】
直接アクセスモジュール204は、アカウントの種類またはアカウントのプラン、アカウントに関連付けられたクレジットカードまたはその他の支払情報、アカウントに関連付けられた電話番号もしくは住所またはその他の連絡先情報、アカウントのパスワードまたはその他の電子認証情報、および/またはサードパーティサービスプロバイダ108のためのその他のユーザのアカウント情報など、サードパーティサービスプロバイダ108についてのユーザのアカウント情報を更新または変更してよい。直接アクセスモジュール204は、データをダウンロードするために本明細書に記載の方式と実質的に同様にしてデータの更新および/またはアップロード(例えば、サードパーティサービスプロバイダ108のためのユーザの電子認証情報の決定、サードパーティサービスプロバイダ108のサーバ108へのアクセス、サードパーティサービスプロバイダ108へのデータのアップロードおよび/または提供など)を行ってよい。
【0076】
一実施形態では、インターフェースモジュール206は、直接アクセスモジュール204によってダウンロードされたユーザのデータを、アプリケーション114、ダウンロードされたデータに関連付けられたユーザのハードウェアコンピューティングデバイス102、データのダウンロード元のサードパーティサービスプロバイダ108と系列関係にない(例えば所有、運営、制御などされていない)遠隔サーバ110またはその他の遠隔デバイス102などの、別のエンティティに提供する。例えば、インターフェースモジュール206は、ユーザのダウンロードおよび/または集約されたデータを、(例えば、ユーザの同意および/または許諾、ユーザの要求などにより)アプリケーション114またはその他のデータ受信者114、ユーザのハードウェアコンピューティングデバイス102、バックエンドアクセスモジュール104、バックエンドサーバ110、異なるサードパーティサービスプロバイダ108、またはユーザの異なる/第2のハードウェアコンピューティングデバイス102などに提供するために、APIまたはその他のインターフェースを提供してもよい。
【0077】
特定の実施形態では、どのハードウェアコンピューティングデバイス102、110がユーザに関連付けられたデータをダウンロードしたかが、ユーザにとってトランスペアレントおよび/または実質的にトランスペアレント(例えばわからない)とすることができる。例えば、インターフェースモジュール206は、ユーザに関連付けられたダウンロードされたデータを、そのユーザの1つのハードウェアコンピューティングデバイス102からそのユーザの別のハードウェアコンピューティングデバイス102に、または、ユーザのハードウェアコンピューティングデバイス102から(例えば、ユーザがそこからウェブブラウザ、アプリケーションなどを使用してデータにアクセスすることができる)バックエンドサーバ110に、またはバックエンドサーバ110からユーザのハードウェアコンピューティングデバイス102に提供するなどしてよく、それによってユーザが、データがダウンロードされた先のロケーションとは異なるロケーションからデータにアクセスすることができるようにしてよい。
【0078】
特定の実施形態では、インターフェースモジュール206は、(例えばアプリケーション114などから)ユーザのハードウェアコンピューティングデバイス102上でグラフィカルインターフェース(GUI)を提供し、ユーザに関連付けられたダウンロードされたデータをそのGUIを介してユーザに提供する(例えば、それによって、ユーザがデータを直接閲覧することができるようにし、そのデータに基づいてユーザに1つまたは複数の通知および/または推奨を提供し、そのデータに基づいてユーザに1つまたは複数のテーブルまたはチャートを提供し、そのデータに関連する1つまたは複数の統計の要約を提供するなどを行う)。インターフェースモジュール206は、様々な実施形態において、データがダウンロードされた同じハードウェアコンピューティングデバイス102から、データがダウンロードされたハードウェアコンピューティングデバイス102、110とは異なるハードウェアコンピューティングデバイス102上などで、ユーザにGUIを提供してもよい。
【0079】
例えば、ユーザに関連付けられたデータが写真を含む一実施形態では、インターフェースモジュール206は、ユーザがユーザのダウンロードおよび/または集約された写真を閲覧および/または他の方法でアクセスすることができる、写真管理インターフェース、写真編集インターフェースなどを提供してよい。ユーザに関連付けられたデータがユーザの金融トランザクション履歴(例えば、銀行、信用組合、ローン会社などの1つまたは複数の金融機関108からダウンロードされた購入および/またはその他の金融トランザクション)を含む他の実施形態では、インターフェースモジュール206は、個人金融管理インターフェースを、トランザクションのリスト、1つまたは複数の予算、1つまたは複数の金融目標、債務管理インターフェース、純資産インターフェース、および/または、ユーザがユーザのダウンロードおよび/または集約された金融トランザクション履歴および/またはそれに基づくアラートまたは推奨を閲覧することができる別の個人金融管理インターフェースとともに提供してよい。ユーザに関連付けられたデータがソーシャルメディア書き込みを含む別の実施形態では、インターフェースモジュール206は、ユーザが閲覧するためにソーシャルメディア書き込み(例えば、複数のソーシャルネットワーク108から、またはユーザの様々な連絡先または友人などからダウンロードおよび/または集約されたソーシャルメディア書き込み)のストリーム、フィードおよびまたはウォールを備えるGUIなどを提供してよい。
【0080】
インターフェースモジュール206は、特定の実施形態では、1つまたは複数のアクセスコントロールをユーザに提供してよく、それによってユーザがどのアプリケーション114、デバイス102、ユーザ、サードパーティサービスプロバイダ108などがどのデータにアクセス可能であるかを定義することができるようにしてよい。例えば、インターフェースモジュール206は、ユーザが特定のアプリケーション114、サードパーティサービスのための特定のAPI、特定のプラグインまたは拡張機能、特定のユーザ、特定のハードウェアコンピューティングデバイス102、および/または1つまたは複数の他のエンティティが、1つまたは複数のサードパーティサービスプロバイダ108からそのユーザのためにダウンロードされたデータにアクセスすることを(例えば、サードパーティサービスプロバイダ108またはその他のデータソース別、データタイプ別、アクセスを要求するエンティティ別、および/またはその他の詳細度によるアクセスコントロールを使用して)許可および/または制限するためのインターフェースを提供してよい。このようにして、アクセスモジュール104は、特定の実施形態では、集約されたデータのローカルリポジトリを備えることができ、そのリポジトリに1つまたは複数の他のアプリケーション114、デバイス102、および/またはサービスがユーザのパーミッションによりアクセスし、使用することができる。
【0081】
図3に、アクセスモジュール104の別の実施形態を示す。図示されている実施形態では、アクセスモジュール104は、データパスモジュール112と、認証モジュール202と、直接アクセスモジュール204と、インターフェースモジュール206とを含み、さらに、ルートモジュール314と、頻度モジュール316と、試験モジュール318とを含む。認証モジュール202は、図示されている実施形態では、ローカル認証モジュール302と、ネットワーク認証モジュール304と、パスワードマネージャモジュール306とを含む。直接アクセスモジュール204は、図示されている実施形態では、パターンモジュール308と、アクセス修復モジュール310と、階層モジュール312とを含む。
【0082】
一実施形態では、ローカル認証モジュール302は、ユーザのハードウェアコンピューティングデバイス102に転送される、および/またはユーザのハードウェアコンピューティングデバイス102から転送されるなどする、ユーザのハードウェアコンピューティングデバイス102上のダウンロードされたデータ、記憶されたパスワードおよび/またはその他のデータへのユーザのアクセスをセキュリティ保護および/または認証する。例えば、ローカル認証モジュール302は、ハードウェアコンピューティングデバイス102へのアクセスを得るためにユーザによって使用される、PIN、パスワード、指紋認証、顔認証、またはその他の電子認証情報などの、ユーザのハードウェアコンピューティングデバイス102の1つまたは複数のセキュリティシステムおよび/または認証システムと協働してよい。さらなる実施形態では、ローカル認証モジュール302は、インターフェースモジュール206がダウンロード/集約されたデータおよび/またはアラートまたはその他のメッセージへのアクセスをユーザに提供することができるようにする前に、ユーザを認証してよい。例えば、ローカル認証モジュール302は、ユーザのためにアクセスモジュール104に関連付けられた電子認証情報の管理および/またはアクセスを行ってよく、ユーザがアクセスモジュール104のアプリケーションおよび/またはサービスにアクセスすることに応答して、ユーザを認証してよい。
【0083】
特定の実施形態では、ローカル認証モジュール302は、ユーザが異なるユーザに関連付けられたデータにアクセスすることができないが、そのデータがその異なるユーザのハードウェアコンピューティングデバイス102またはバックエンドサーバ110などに送信された後はその異なるユーザがそのデータにアクセスすることができるように、ユーザのハードウェアコンピューティングデバイス102上で、異なるユーザに関連付けられた電子認証情報および/またはダウンロードされたデータを暗号化および/またはその他の方法でセキュリティ保護してよい。異なるハードウェアコンピューティングデバイス102、110のローカル認証モジュール302は、データネットワーク106を介して1つのハードウェアコンピューティングデバイス102、110から別のハードウェアコンピューティングデバイス102、110にデータ(例えば1つまたは複数の電子認証情報、ダウンロードされたデータなど)をセキュリティ保護された状態で転送するために協働してよい。さらなる実施形態では、ローカル認証モジュール302は、ユーザの電子認証情報および/またはダウンロードされたデータが単一のハードウェアコンピューティングデバイス102上で、セキュリティ保護されたリポジトリなどに確実に留まるように(例えばデータネットワーク106で送信されないように)し、バックエンドサーバ110、別のユーザのハードウェアコンピューティングデバイス102などに記憶および/またはアクセス可能とならないようにしてよい。
【0084】
一実施形態では、ネットワーク認証モジュール304は、ユーザのハードウェアコンピューティングデバイス102上、バックエンドサーバ110上などで、1つまたは複数のサードパーティサービスプロバイダ108のためのユーザの電子認証情報を受信すること、および/または記憶することを行う。ネットワーク認証モジュール304は、様々な実施形態において、ユーザから、またはユーザのハードウェアコンピューティングデバイス102から、またはバックエンドサーバ110などから、ユーザの電子認証情報を受信してよい。ネットワーク認証モジュール304は、ユーザの電子認証情報をサードパーティサービスプロバイダ108のサーバ108に提供するために直接アクセスモジュール204と協働してよい(例えば、ネットワーク認証モジュール304が、サーバ108に提供するために直接アクセスモジュール204に電子認証情報を提供してよく、ネットワーク認証モジュール304が電子認証情報をサーバ108に直接提供するなどしてよい)。
【0085】
ネットワーク認証モジュール304は、特定の実施形態では、ユーザの電子認証情報がサードパーティサービスプロバイダ108のサーバ108などに提供される一方で、ユーザのハードウェアコンピューティングデバイス102上で、データネットワーク106上で、異なるユーザのハードウェアコンピューティングデバイス102上で、バックエンドサーバ110上で、1つまたは複数のサードパーティサービスプロバイダ108のためのユーザの電子認証情報を暗号化および/またはその他の方法でセキュリティ保護するために、ローカル認証モジュール302と協働してよい。さらなる実施形態では、ネットワーク認証モジュール304は、ユーザの電子認証情報が確実にユーザのハードウェアコンピューティングデバイス102上にのみ記憶され、ユーザのハードウェアコンピューティングデバイス102からサードパーティサービスプロバイダ108のサーバ108に送信されるようにし、ユーザの電子認証情報をバックエンドサーバ110上、異なるユーザのハードウェアコンピューティングデバイス102上などには記憶しない。別の実施形態では、ネットワーク認証モジュール304は、ルートモジュール314に関連して後述するように、ユーザのハードウェアコンピューティングデバイス102が利用不能である、ブロックされているなどであっても、直接アクセスモジュール204がユーザに関連付けられたデータのアクセスおよび/またはダウンロードを行うことができるように、サードパーティサービスプロバイダ108のためのユーザの電子認証情報を、バックエンドサーバ110上、異なるユーザのハードウェアコンピューティングデバイス102上などに、(例えば安全な暗号化を使用して)セキュリティ保護された状態で記憶してよい。特定の実施形態では、ユーザがセキュリティのレベルなどを決定することができるように、ネットワーク認証モジュール304および/またはローカル認証モジュール302が、電子認証情報が異なるユーザのハードウェアコンピューティングデバイス102、またはバックエンドサーバ110などによって送信および/または記憶されることを可能にするか否かは、ユーザ入力に基づいて定義された設定に基づくことができる。
【0086】
一実施形態では、パスワードマネージャモジュール306は、直接アクセスモジュール204が複数のサードパーティサービスプロバイダ108のそれぞれから、ユーザに関連付けられたデータのアクセスおよび/またはダウンロードを行うことができるように、複数のサードパーティサービスプロバイダ108のためのユーザの電子認証情報を管理および/または記憶してよい。パスワードマネージャモジュール306は、特定の実施形態では、複数のサードパーティサービスプロバイダ108のそれぞれのための異なるセキュリティ保護された認証情報を生成および/またはその他の方法で管理してよい。
【0087】
パスワードマネージャモジュール306は、一実施形態では、生成された電子認証情報をユーザが覚えておき、入力する必要がないように、生成されたユーザの認証情報をセキュリティ保護された状態でユーザのハードウェアコンピューティングデバイス102上に記憶してよい。例えば、直接アクセスモジュール204が生成された電子認証情報を使用してサードパーティサービスプロバイダ108にアクセスすることを可能にすることに加えて、パスワードマネージャモジュール306は、ユーザがウェブブラウザにおいてウェブページを訪れることなどに応答して、ユーザが電子認証情報を手動で入力しなくても、ウェブページ上のフォームの1つまたは複数のインターフェース要素にユーザの電子認証情報(例えばユーザ名、パスワード)を自動的に入力してよい。パスワードマネージャモジュール306は、特定の実施形態では、ユーザの電子認証情報を、毎週、毎月、2カ月ごと、3カ月ごと、4カ月ごと、5カ月ごと、6カ月ごと、毎年、2年ごと、ユーザ要求に応答、サードパーティサービスプロバイダ108からの要求に応答、および/またはその他の期間ごとまたは別の周期的トリガに応答してなど、定期的に更新してよい(例えば、異なるパスワードなどの異なる認証情報を再生成し、サードパーティサービスプロバイダ108に対するユーザのアカウントを再生成された異なる認証情報で更新してよい)。
【0088】
パスワードマネージャモジュール306は、一実施形態では、(例えば、ユーザによって提供されるか、またはパスワードマネージャモジュール306によって生成されるなどした)ユーザの電子認証情報を、ユーザの異なるハードウェアコンピューティングデバイス102、ウェブブラウザなどにわたって同期させてよい。例えば、パスワードマネージャモジュール306および/またはユーザが電子認証情報を更新またはその他の方法で変更したのに応答して、パスワードマネージャモジュール306は、その更新/変更をユーザの異なるハードウェアコンピューティングデバイス102上などの1つまたは複数の他のパスワードマネージャモジュール306に伝播させてもよい。
【0089】
一実施形態では、パターンモジュール308は、直接アクセスモジュール204がサーバにアクセスするためのサードパーティサービスプロバイダ108の1つまたは複数のサーバ108上の複数のロケーション(例えばユーザのデータが記憶され、および/またはアクセス可能なロケーション以外のロケーションを含んでよい)、直接アクセスモジュール204がサーバ108上のロケーションにアクセスする合間に待つ1つまたは複数の遅延、および/または、サーバのデータにアクセスするためのアクセスパターンのその他の構成要素の、順序付けられたリスト(例えばパターン、スクリプトなど)を決定する。特定の実施形態では、ロケーションは、ウェブページ、ウェブページの一部、画像ファイルまたはその他のデータファイル、データベースまたはその他のデータストア、モバイルアプリケーションのページまたはセクションなど、サードパーティサービスプロバイダ108の1つまたは複数のサーバなどによって提供される、独立してアドレス可能および/またはアクセス可能なコンテンツおよび/または資産を含む。パターンモジュール308は、一実施形態では、所望のデータをダウンロードするために直接アクセスモジュール204がアクセスする必要も使用する必要もない1つまたは複数のロケーションおよび/または遅延を含むパターン/順序付けられたリストを決定するが、その代わりに、このパターン/順序付けられたリストは、直接アクセスモジュール204がサードパーティサービスプロバイダ108のサーバにアクセスすることと、ユーザがサードパーティサービスプロバイダのサーバにアクセスすることとをサードパーティサービスプロバイダ108が区別するのを困難または不可能にすることができる。
【0090】
パターンモジュール308は、一実施形態では、ウェブブラウザ、モバイルアプリケーションなどを使用してサードパーティサービスプロバイダ108にアクセスする複数のユーザの挙動において識別されるかまたはそのような挙動に基づく平均的パターンまたは組み合わされたパターンに基づいて、複数のロケーションおよび/または1つまたは複数の遅延(例えばパターン/順序付けられたリスト)を決定および/または選択してよい。パターンモジュール308は、一実施形態では、1人または複数のユーザがサードパーティサービスプロバイダ108のサーバにアクセスするときに、(例えば所定期間など)その1人または複数のユーザを監視してよく、それによって、どのリンク、データ、ウェブページおよび/またはその他のロケーションにその1人または複数のユーザがアクセスするか、その1人または複数のユーザが異なるロケーションにどれだけの時間アクセスするか、その1人または複数のユーザがロケーションにアクセスする順序などを追跡してよい。特定の実施形態では、直接アクセスモジュール204がサードパーティサービスプロバイダ108のサーバにアクセスするために使用するより現実的なアクセスパターンを提供するために、1人または複数の監視されたユーザは、ユーザのアクセスを一時的または永続的に監視する承認をパターンモジュール308に与えたボランティアであってもよい。
【0091】
他の実施形態では、パターンモジュール308は、ユーザのハードウェアコンピューティングデバイス102のウェブブラウザ、モバイルアプリケーションまたはデスクトップアプリケーション、またはその他のインターフェースを使用してサードパーティサービスにアクセスする、パターンモジュール308が配置されているハードウェアコンピューティングデバイス102に関連付けられたユーザの挙動において識別されたパターンに基づいて、複数のロケーション、および/または異なるロケーションにアクセスする合間の1つまたは複数の遅延を決定および/または選択する。例えば、パターンモジュール308は、ユーザのハードウェアコンピューティングデバイス102のネットワークハードウェア(例えば、データおよび/またはサードパーティサービスプロバイダ108のサーバとの対話を監視するためにデータネットワーク106と通信しているネットワークアクセスカードおよび/またはチップ、プロセッサ、FPGA、ASICなど)、ウェブブラウザプラグインまたは拡張機能、ユーザのハードウェアコンピューティングデバイス102のプロセッサ上で実行されるモバイルアプリケーションおよび/またはデスクトップアプリケーションなどを備えてよい。パターンモジュール308は、ユーザのハードウェアコンピューティングデバイス102からの1つまたは複数のサードパーティサービスプロバイダ108の1つまたは複数のサーバに関して、ユーザの活動を監視するために、ユーザに承認を要求し、受信してよい。
【0092】
パターンモジュール308は、特定の実施形態では、1人または複数のユーザのアクセスパターンなどの検出された変化に基づいて、パターン/順序付けられたリストを経時的に更新してよい。一実施形態では、パターンモジュール308は、サードパーティサービスプロバイダ108のサーバ108および/またはユーザに関連付けられたデータが壊れていることおよび/またはアクセス不能になったことに応答して、パターン/順序付けられたリストを更新するために、後述するアクセス修復モジュール310と連係/およびまたは協働してよい。
【0093】
一実施形態では、アクセス修復モジュール310は、サードパーティサービス108のサーバ108へのアクセス、および/またはユーザに関連付けられたデータが壊れていることおよび/またはアクセス不能になっていることを検出する。アクセス修復モジュール310は、特定の実施形態では、ユーザがユーザの電子認証情報の入力ロケーション、ユーザに関連付けられたデータのロケーションなどをグラフィックで識別することができるようにするインターフェースをユーザに提供する。例えば、アクセス修復モジュール310は、エンドユーザが電子認証情報の入力ロケーション、電子認証情報をサブミットするためのアクション、データのロケーションなどを識別することができるようにするGUI、コマンドラインインターフェース(CLI)、API、および/または他のインターフェースを提供してよい。アクセス修復モジュール310は、一実施形態では、ユーザのハードウェアコンピューティングデバイス102上でユーザにインターフェースを提供する。
【0094】
特定の実施形態では、例えば、図5A図5Bに関連して以下で詳述するように、アクセス修復モジュール310は、ユーザのハードウェアコンピューティングデバイス102の電子ディスプレイ画面上でサードパーティサービスプロバイダ108のウェブサイトの1つまたは複数のページの上にインターフェースを重ねてもよい。アクセス修復モジュール310は、複数のユーザに1つまたは複数のインターフェース(例えば、GUI、CLI、API、オーバレイなど)を提供してよく、それによって複数のユーザが(例えば、異なるハードウェアコンピューティングデバイス102などからネットワーク106を介して分散および/または非集中方式で)サードパーティサービスプロバイダ108のサーバへのアクセスのための修復および/または更新を定義することができるようにする。
【0095】
アクセス修復モジュール310は、特定の実施形態では、ユーザのために、(例えば、基本インターフェース、標準インターフェース、初歩ユーザインターフェースなどで)ユーザが確定(confirm)または変更/修正することができる1つまたは複数の示唆504および/または推奨504を決定および/または表示してよい。例えば、アクセス修復モジュール310は、ユーザが、ユーザ名を入力するための示唆されたロケーション、ユーザがパスワードを入力するための示唆されたロケーション、示唆された認証情報サブミットアクション、ユーザに関連付けられたデータの示唆されたロケーションを備えた1つまたは複数のインターフェース要素、および/または、ユーザがサードパーティサービスプロバイダ108のウェブサイト内の1つまたは複数のロケーションをグラフィックで識別することができるようにする1つまたは複数の他のインターフェース要素を表示してよい。
【0096】
アクセス修復モジュール310は、特定の実施形態では、ユーザの電子認証情報の入力ロケーション、ユーザの電子認証情報をサブミットするためのアクション、ユーザに関連付けられたデータのロケーションなどの推定および/または予測を決定するために、サーバ108上の1つまたは複数のページおよび/またはその他のロケーション(例えば1つまたは複数のウェブサイト、ウェブアプリなど)を処理する。一実施形態では、アクセス修復モジュール310は、(例えば、ウェブサイトの1つまたは複数のページをスキャンおよび/または構文解析することによって、ウェブサイトの1つまたは複数のページにアクセスする他のユーザからの入力に基づいて、ウェブサイトの1つまたは複数のページとのユーザの以前の対話に基づいて、ウェブサイトの機械学習および/または人工知能解析を使用して行った予測に基づいて、ウェブサイトの1つまたは複数のページおよび/または1つまたは複数の類似のウェブサイトの1つまたは複数のページに加えられた過去の変更の統計分析に基づくなどして)1つまたは複数のロケーションおよび/またはアクションを推定してよい。アクセス修復モジュール310は、ユーザがインターフェースを使用して推定および/または予測が正しいか否かを確定することができるように、ユーザの電子認証情報の入力ロケーション、ユーザに関連付けられたデータのロケーションなどの推定および/または予測をユーザに対してインターフェースで表示してよい。
【0097】
アクセス修復モジュール310は、ロケーションを指す矢印またはその他のポインタ、ロケーションのリンクまたはその他の識別子、ロケーションを囲むボックスまたはその他の強調表示、テキストを太字、イタリックおよび/または下線付きにするようにロケーションのテキスト標識を変更するなどにより、1つまたは複数の推定されたロケーションおよび/またはアクションを示してもよい。ユーザは、特定の実施形態では、アクセス修復モジュール310によって示唆されたロケーションを確定するかまたは変更/修正するために、ロケーションをクリック、選択またはその他の方法で識別することができる。例えば、ユーザは、ロケーションおよび/またはアクションに関連付けられたインターフェース要素をクリックまたはその他の方法で選択することができ、ロケーションをクリックまたはその他の方法で選択し、および/またはアクションを実行することができ、それをアクセス修復モジュール310が記録してよい(例えば、ロケーションおよび/またはアクションを識別するテキストフィールドに自動的に入力すること、異なるユーザのためにアクションがユーザなしに自動的に繰り返されることができるようにするマクロを記録することなど)。
【0098】
特定の実施形態では、標準インターフェース、基本インターフェースまたは初歩ユーザインターフェースに代えて、またはそれに加えて、アクセス修復モジュール310は、経験を積んだユーザなどのためにウェブサイトのソースコードおよび/またはウェブサイトのその他の詳細を備えた高度なインターフェースを提供してもよい。例えば、一実施形態では、高度なアクセス修復インターフェースは、1人または複数の上級ユーザが、ウェブサイト自体では見えないおよび/または容易にはわからない場合があるウェブサイトのソースコード内で1つまたは複数のロケーションおよび/またはアクションを識別することができるようにしてもよい。特定の実施形態では、アクセス修復モジュール310は、ユーザが、標準ユーザインターフェースまたはビューと、高度なユーザインターフェースまたはビューとの間で選択および/または切り換えを行うことができるようにするユーザインターフェース要素を提供してよい。
【0099】
一実施形態では、試験モジュール318が、ユーザから受信した1つまたは複数のロケーションおよび/または命令が正確であるか否か(例えば、サードパーティサービスプロバイダ108のサーバからデータにアクセスするために使用可能であるか)を検証するために、アクセス修復モジュール310と協働する。試験モジュール318は、特定の実施形態では、複数の異なるユーザの電子認証情報などを使用して、アクセス修復モジュール310が単一のユーザから受信した識別情報に基づいて、複数の異なるユーザ(例えばサンプルグループまたは試験セット)のために、サードパーティサービスプロバイダ108のサーバ108にアクセスを試みる。
【0100】
試験モジュール318は、特定の実施形態では、それらの異なるユーザ(例えばサンプルグループまたは試験セット)に関連付けられたデータが、その単一のユーザからの識別情報を使用してアクセス可能であるか否かを決定する。試験モジュール318は、(例えば、複数の異なるハードウェアコンピューティングデバイス102上で、およびデータネットワーク106を介して単一のハードウェアコンピューティングデバイス102上の試験モジュール318に送信されるか、またはデータネットワーク106を介して異なるハードウェアコンピューティングデバイス102上の複数の試験モジュール318に送信されるか、または中央バックエンドサーバ110上の試験モジュール318に送信されるなどして)アクセス修復モジュール310が異なるユーザから受信した識別情報を使用してサードパーティサービスプロバイダ108からデータへのアクセスを繰り返し試みてもよい。
【0101】
試験モジュール318は、一実施形態では、単一ユーザからの識別情報を使用してデータにアクセス可能な異なるユーザ(例えばサンプルグループまたは試験セット)の量が閾値を満たすことに応答して、サードパーティサービスプロバイダ108のサーバ108にアクセスするために、ユーザからの1つまたは複数の識別情報を直接アクセスモジュール204の他のインスタンス(例えば他の試験モジュール318)に提供してよい。例えば、単一のユーザからの識別情報が、所定数の他の試験ユーザ(例えば、2人のユーザ、10人のユーザ、100人のユーザ、1000人のユーザ、試験ユーザの50%、試験ユーザの75%、および/または他の所定の閾値数の試験ユーザ)がサードパーティサービスプロバイダ108からそれぞれのデータにアクセスするのを可能にすることに成功した場合、試験モジュール318は、その識別情報に基づく命令をより多くのユーザ(例えばすべてのユーザまたは実質的にすべてのユーザなど)に提供してよい。
【0102】
特定の実施形態では、試験モジュール318は、試験モジュール318が単一ユーザからの識別情報を使用してサードパーティサービスプロバイダ108からそれぞれのデータにアクセスするための命令を提供するユーザの数を含む試験サイズを連続的に増加させてもよい(例えば、1人または複数の試験ユーザから始めて、2人以上、3人以上、4人以上、5人以上、10人以上、20人以上、30人以上、40人以上、50人以上、100人以上、500人以上、1000人以上、5000人以上、10,000人以上、100,000人以上、100万人以上、および/またはその他の連続的に増加する数の試験ユーザに増加させる)。試験モジュール318は、一実施形態では、階層モジュール312に関して以下で詳述するように、単一のユーザからの識別情報に基づく命令を、サードパーティサービスプロバイダ108のサーバ108にアクセスするための命令の複数の異なるセットの順序付けられたリストに含める。
【0103】
試験モジュール318は、特定の実施形態では、1人または複数のユーザの1つまたは複数の信頼要因(例えば得点など)に基づいて1人または複数のユーザからの識別情報を優先順位付けするように構成される。信頼要因は、一実施形態では、ユーザの識別情報が正しい可能性を示す得点またはその他のメタデータを含んでよい。例えば、様々な実施形態において、信頼要因は、ユーザの過去の識別情報の履歴(例えば正しいか正しくないか)、1つまたは複数のアクセスモジュール104のプロバイダとのユーザの提携関係(例えば、製作者、ベンダ、所有者、販売業者、再販業者、製造業者、バックエンドサーバ110など)、他のユーザからの肯定的および/または否定的な標示(例えば、投票、「いいね」、使用、フィードバック、星数、支持など)、および/またはユーザの識別情報が正しい可能性があるか否かを示すその他の標示のうちの1つまたは複数を含んでよく、および/または上記のうちの1つまたは複数に基づいてよい。試験モジュール318は、ユーザに関連付けられた1つまたは複数の信頼要因に基づいて、ユーザの識別情報を提供する他のユーザの数を決定してよい(例えば、より高い信頼要因に応答してユーザの識別情報が他のユーザに提供されるレートを加速させる、より低い信頼要因に応答してユーザの識別情報が他のユーザに提供されるレートを低下させるなど)。
【0104】
試験モジュール318は、管理者、仲介者ユーザなどが識別情報の削除、識別情報の調整および/または無効化、ユーザの信頼要因の調整および/または無効化、ユーザが識別情報を提供するのを禁止、および/またはその他の方法でユーザまたはユーザの識別情報を無効化することができるようにする、オーバーライドインターフェースを含んでよい。様々な実施形態において、試験モジュール318は、管理者および/または仲介者にオーバーライドインターフェースをGUI、API、CLIなどとして提供してよい。
【0105】
特定の実施形態では、試験モジュール318は最も効果的なソリューションなど(例えば1人または複数のユーザからの識別情報に基づく命令のセット)を試験し、使用するので、試験モジュール318は1つまたは複数のアクセスモジュール104およびそのアグリゲーションサービスを自己回復型、自己試験型および/または自己増分展開型とならせる。
【0106】
一実施形態では、階層モジュール312が直接アクセスモジュール204に、ユーザに関連付けられたデータなどをダウンロードするためにユーザの電子認証情報を使用してサードパーティサービスプロバイダ108のサーバ108にアクセスするための命令の複数の異なるセットの順序付けられたリストを提供する。命令のそれぞれの異なるセットは、特定の実施形態では、ユーザの電子認証情報を入力するためのロケーション、ユーザの電子認証情報をサブミットするための命令、ユーザに関連付けられたデータの1つまたは複数のロケーションなどを含む。
【0107】
階層モジュール312は、一実施形態では、バックエンドサーバ110(例えば、バックエンドサーバ110のバックエンドアクセスモジュール104)から、またはピアツーピア方式で別のユーザハードウェアコンピューティングデバイス102(例えばユーザハードウェアコンピューティングデバイス102のアクセスモジュール104)から、または試験モジュール318からなど、命令の1つまたは複数のセットを受信してよい。階層モジュール312は、特定の実施形態では、異なるユーザハードウェアコンピューティングデバイス102および/またはユーザによる命令の異なるセットの使用の成功および/または不成功の履歴に基づく(例えばグローバル階層順序の)順序付けられたリストにすでにある命令の複数の異なるセットを受信することができる。一実施形態では、階層モジュール312は、(例えばユーザの1つまたは複数のハードウェアコンピューティングデバイス102からの)ユーザによる命令の異なるセットの使用の成功および/または不成功の履歴に基づいて、単一のユーザのための命令の複数の異なるセットから、順序付けられたリストの階層(例えば、カスタムの階層または個別化された階層)を決定すること、および/またはそのような命令の異なる複数のセットから順序付けられたリストを作成することを行ってよい。
【0108】
直接アクセスモジュール204は、一実施形態では、命令のセットのうちの1つのセットが成功し、直接アクセスモジュール204がサードパーティサービスプロバイダ108にアクセスすること、および/またはサードパーティサービスプロバイダ108からデータをダウンロードすることができるまで、リストの順序で、サードパーティサービスプロバイダ108のサーバ108にアクセスするための命令の複数のセットを1つずつ試みてよい。階層モジュール312は、一実施形態では、最近に使用に成功した命令のセットを(最初に試行するセットとして)最上位に置いてよい。例えば、ユーザのハードウェアコンピューティングデバイス102の階層モジュール312は、直接アクセスモジュール204が命令のセットを使用してサードパーティサービスプロバイダ108にアクセスすること、および/またはサードパーティサービスプロバイダ108からデータをダウンロードすることに成功したことに応答して、サードパーティサービスプロバイダ108にアクセスするためのその命令のセットをリストの最上位に(例えば、リストの順序を経時的に調整して)置いてよい。特定の実施形態では、階層モジュール312は、第1の順序(例えばグローバル順序)のサードパーティサービスプロバイダ108のサーバ108にアクセスするための命令の複数の異なるセットの順序付けられたリストを受信してよく、単一のユーザの使用および/またはハードウェアコンピューティングデバイス102の使用に基づいて、命令の異なるセットを経時的に動的に調整すること、および/または並べ替えることを行ってよい(例えば、ユーザ/ハードウェアコンピューティングデバイス102のために命令のセットを使用したアクセスが成功した場合、その命令のセットをリストの上方に移動し、ユーザ/ハードウェアコンピューティングデバイス102のために命令のセットを使用したアクセスが不成功の場合、その命令のセットをリストの下方に移動するなど)。
【0109】
階層モジュール312は、特定の実施形態では、命令の1つまたは複数のセット、または命令の複数のセットの順序付けられたリストなどを、データネットワーク106を介して(例えば、ピアツーピア方式で他のユーザのハードウェアコンピューティングデバイス102に直接、またはバックエンドサーバ110のバックエンドアクセスモジュール104を経由して間接的になど)他のユーザのハードウェアコンピューティングデバイス102の階層モジュール312と共有するように構成されてよい。様々な実施形態において、異なるアカウントタイプ、異なるアカウント設定、異なる発信元システム(例えば、企業買収などに起因して、同じサードパーティサービスプロバイダ108の異なるユーザが1つまたは複数の異なる設定、異なるアクセス方法などを有することがある)、システム変更もしくは更新、および/または同じサードパーティサービスプロバイダ108の異なるユーザのアカウントまたはサービスなどのその他の相違に起因して、命令の異なるセットが異なるユーザにとって成功または不成功になる場合がある。
【0110】
一実施形態では、ルートモジュール314が、サードパーティサービスプロバイダ108のサーバ108からユーザに関連付けられたデータをダウンロードするために、ユーザのハードウェアコンピューティングデバイス102が直接アクセスモジュール204にとって利用可能であるか否かを決定する。ルートモジュール314は、特定の実施形態では、ルートモジュール314がユーザのハードウェアコンピューティングデバイス102が利用不能であると決定することに応答して、ユーザに関連付けられたデータをサーバ108から遠隔バックエンドサーバ110にダウンロードするために、ユーザの電子認証情報を使用して遠隔バックエンドサーバ110からサードパーティサービスプロバイダ108のサーバ108にアクセスしてよい。ルートモジュール314は、一実施形態では、遠隔バックエンドサーバ110にダウンロードされたユーザに関連付けられたデータに基づいて、ユーザのハードウェアコンピューティングデバイス102上でユーザに1つまたは複数のアラート(例えば、サードパーティサービスプロバイダ108からダウンロードされたデータ、サードパーティサービスプロバイダ108からのデータに基づいて決定された推奨または示唆、サードパーティサービスプロバイダ108からのデータ中で検出されたイベントまたはその他のトリガに基づく通知またはその他のアラートなど)を提供する。
【0111】
特定の実施形態では、ルートモジュール314は、単一のユーザおよび/またはアカウントに関連付けられた複数のハードウェアコンピューティングデバイス102のリストを維持および/または記憶する。ユーザおよび/またはアカウントに関連付けられた1つのハードウェアコンピューティングデバイス102が利用不能である(例えば、電源遮断、機内モード、データネットワーク106に接続されていないなど)との決定に応答して、ルートモジュール314は、そのユーザおよび/またはアカウントの異なる利用可能なハードウェアコンピューティングデバイス102からサードパーティサービスプロバイダ108のサーバ108にアクセスしてよく、異なる利用可能なハードウェアコンピューティングデバイス102上などで1つまたは複数の通知またはその他のアラートを提供してよい。ルートモジュール314は、図4A図4Cに関連して後述するように、様々な実施形態において、ユーザの1つまたは複数のハードウェアコンピューティングデバイス102、異なるユーザの1つまたは複数のハードウェアコンピューティングデバイス102、1つまたは複数のバックエンドサーバ110、および/または別のハードウェアコンピューティングデバイスなどの複数のハードウェアコンピューティングデバイス間で、セキュリティ保護された方式でサードパーティサービスプロバイダ108からのユーザのためのデータのダウンロードを動的にルーティングしてよい。
【0112】
ルートモジュール314は、一実施形態では、サードパーティサービスプロバイダ108からの同じユーザのためのデータのダウンロードのために、(例えば同じユーザまたは異なるユーザなどの)複数のハードウェアコンピューティングデバイス102、110間で周期的に交番または輪番させてよい。例えば、データがそこからダウンロードされるデバイス102、110の輪番および/または交番は、ダウンロードが不正または不適切であると誤って解釈される可能性を減らすことができる。別の実施形態では、ルートモジュール314は、サードパーティサービスプロバイダ108によって、信頼されるデバイスなどとして承認および/または識別され得る同じデバイス102、110(例えば、ユーザの一次ハードウェアコンピューティングデバイス102、バックエンドサーバ110など)からデータをダウンロードしてよい。
【0113】
一実施形態では、頻度モジュール316が、直接アクセスモジュール204がサードパーティサービスプロバイダ108のサーバ108にアクセスする頻度を設定する。頻度モジュール316は、特定の実施形態では、遠隔バックエンドサーバ110(例えば、遠隔バックエンドサーバ110上で実行されている頻度モジュール316)が、異なるユーザおよび/または異なるハードウェアコンピューティングデバイス102のための複数の直接アクセスモジュール204について頻度を決定するように、アクセスされるサードパーティサービスプロバイダ108の系列でなくてよい遠隔バックエンドサーバ110からの入力に基づいて頻度を決定する。例えば、頻度モジュール316は、単一のユーザおよび/またはハードウェアコンピューティングデバイス102がある期間内に許される閾値回数(例えば、10分ごとに1回、半時間ごとに1回、1時間ごとに1回、1日に2回、1日に3回、1日に4回など)を超えて同じサードパーティサービスプロバイダ108にアクセスしないように制限してよい。頻度モジュール316は、特定の実施形態では、サードパーティサービスプロバイダ108などによる故意でないサービス拒否を防止するためにアクセス頻度を制限する。
【0114】
頻度モジュール316は、特定の実施形態では、ユーザおよび/またはハードウェアコンピューティングデバイス102がサードパーティサービスプロバイダ108にアクセス可能な頻度を経時的に動的に調整してよい。例えば、頻度モジュール316は、異なるサードパーティサービスプロバイダ108のそれぞれの総アクセスおよび/またはダウンロード帯域幅に上限または制限を設けるために(例えば、いずれの単一のサードパーティサービスプロバイダ108などにも過負荷をかけないように)、複数のユーザ(すべてのユーザ、利用可能なユーザ、アクティブユーザなど)によるアクセスおよび/またはダウンロードを監視してよい。このようにして、一実施形態では、ユーザおよび/またはハードウェアコンピューティングデバイス102は、データをアクセスおよび/またはダウンロードしている他のユーザおよび/またはハードウェアコンピューティングデバイス102がより少ないとき(例えば低ピーク時)により高い頻度でデータのアクセス/ダウンロードを行うことができ、データをアクセスおよび/またはダウンロードしている他のユーザおよび/またはハードウェアコンピューティングデバイス102がより多いとき(例えば高ピーク時)により低い上限またはアクセス頻度までに制限され得る。
【0115】
さらなる実施形態では、頻度モジュール316はユーザからの入力に基づいて頻度を決定し、それによってそのユーザが他のユーザおよび/またはバックエンドサーバ110とは独立してアクセス頻度を設定することができるようにする。頻度モジュール316は、1つまたは複数のハードウェアコンピューティングデバイス102を使用して1つまたは複数のサードパーティサービスプロバイダ108からデータをダウンロードするためのアクセス頻度をユーザが設定および/または調整することができるようにする(例えば、ユーザが、異なるサードパーティサービスプロバイダ108またはユーザの異なるハードウェアコンピューティングデバイス102などのために異なるアクセス頻度を設定することができるようにする、異なる設定を提供する)ユーザインターフェース(例えば、GUI、CLI、APIなど)を提供してよい。
【0116】
図4に、グラフィカルユーザインターフェース400の一実施形態を示す。GUI500は、特定の実施形態では、アクセスモジュール104によってハードウェアコンピューティングデバイス102の電子ディスプレイ画面上でユーザに提供され、それによってユーザ(例えば、データを提供するサードパーティデータプロバイダ108に関連付けられた管理者またはその他のユーザ)が、アクセスモジュール104のAPIのためのパーミッションの調整された範囲を動的に閲覧し、データを提供するサードパーティデータプロバイダ108のAPIまたはその他のインターフェースからデータへのアクセスができるかまたはアクセスを要求した1つまたは複数のアプリケーション114についてアクセスコントロールの定義/または調整などができるようにする。一実施形態では、GUI400はウェブページを含む。さらなる実施形態では、GUI400は、ハードウェアコンピューティングデバイス102の電子ディスプレイ画面408上に表示される、モバイルアプリケーション、デスクトップアプリケーションおよび/または他のグラフィカルユーザインターフェースを含む。GUI400は、特定の実施形態では、サードパーティサービスプロバイダ108の異なるGUI内に組み込まれてもよく、それによって、ユーザがサードパーティサービスプロバイダ108のためのアクセスコントロールをサードパーティサービスプロバイダ108自体のGUI内から直接管理することができるようにしてもよい。
【0117】
図示されている実施形態では、アクセスモジュール104は、ユーザに対して複数のアプリケーション114a~114nまたはその他のデータ受信者のリスト402を表示する。さらなる実施形態では、各リスト402は、ユーザがアプリケーション114a~114nのそれぞれについて(例えば、アカウント残高、利率、トランザクションの当事者、トランザクションの日付、トランザクションの金額、トランザクションのカテゴリ、トランザクションの地理的場所などのトランザクションデータ、および/またはデータのその他の部分などのダウンロードされたデータの異なる部分に関して、または可能な要求数に関して、または可能なユーザ数に関して、または可能なデータ要素のタイプに関してなど)個別にアクセスパーミッションを定義することができるようにする、1つまたは複数のユーザインターフェース要素(例えば、チェックボックス、スライダ、ボタン、ドロップダウンメニュー、ラジオボタンおよび/またはその他のユーザインターフェース要素)を含んでもよい。他の実施形態では、GUI400は、アクセスを許諾または無効化するための単一のボタンまたはその他のユーザインターフェース要素、アクセスを許諾するための1つのボタンまたはその他のユーザインターフェース要素、アクセスを無効化するための第2のボタンまたはその他のユーザインターフェース要素などを含んでもよい。
【0118】
図示されている実施形態では、アクセスモジュール104は、ユーザに対して、リスト402のアプリケーション114a~114nのそれぞれについて決定されたセキュリティリスクの標識404を表示する。アクセスモジュール104は、図示されている実施形態では、リスト402内のアプリケーション114a~114nのそれぞれについて動的に調整されたパーミッションの範囲のリスト406もGUI400に表示する。図示されている実施形態では、パーミッションの範囲のリスト406は、図を簡単にするためにパーミッションのカテゴリ(例えば「低」、「中」、「高」)を含んでいるが、他の実施形態では、パーミッションの範囲のリスト406は詳細度が高くてもよく、利用可能なデータ要素、データ要素の種類に関する制限、可能なユーザ数、可能な要求頻度などをリストし、またはユーザはより詳細度の高い情報を閲覧するためにタッチ、クリックまたはその他のユーザ入力を提供してもよい。
【0119】
図5に、リスク評価に基づくデータアクセスの方法500の一実施形態を示す。方法500が開始し、アクセスモジュール104が、アプリケーションプログラミングインターフェース104にアクセスする複数の実行可能アプリケーション114それぞれのセキュリティリスクを判定する502。アクセスモジュール104は、複数の実行可能アプリケーション114のそれぞれのセキュリティリスクの変化を監視する504。アクセスモジュール104は、セキュリティリスクの監視された変化に基づいて、アプリケーションプログラミングインターフェース104に関して複数の実行可能アプリケーション114のパーミッションの範囲を動的に調整し506、方法500は終了する。
【0120】
図6に、リスク評価に基づくデータアクセスの方法600の一実施形態を示す。方法600が開始し、アクセスモジュール104が、アプリケーションプログラミングインターフェース104にアクセスする複数の実行可能アプリケーション114のそれぞれのセキュリティリスクを判定する602。アクセスモジュール104は、実行可能アプリケーション114に関連付けられた情報について複数のサードパーティコンピュータ可読データソースを監視する604。アクセスモジュール104は、複数の実行可能アプリケーション114のそれぞれのセキュリティリスクの変化を監視する606。アクセスモジュール104は、セキュリティリスクの監視された変化に基づいて、アプリケーションプログラミングインターフェース104に関して複数の実行可能アプリケーション114のパーミッションの範囲を動的に調整する608。アクセスモジュール104は、ユーザのためのハードウェアコンピューティングデバイス102の電子ディスプレイ画面408上に実行可能アプリケーション114の調整されたパーミッションの範囲を表示するために、グラフィカルユーザインターフェース400を動的に更新し610、方法は終了する。
【0121】
アプリケーションプログラミングインターフェース104にアクセスする複数の実行可能アプリケーション114のそれぞれのセキュリティリスクを判定するための手段が、様々な実施形態において、ハードウェアコンピューティングデバイス102、108、110、バックエンドサーバ110、アクセスモジュール104、データパスモジュール112、コア処理システム122a~122n、プロセッサ(例えば中央処理装置(CPU)、プロセッサコア、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブルロジック、特定用途向け集積回路(ASIC)、コントローラ、マイクロコントローラ、および/または他の半導体集積回路デバイス)、ハードウェア機器またはその他のハードウェアコンピューティングデバイス、その他のロジックハードウェア、アプリケーション114、および/または、コンピュータ可読記憶媒体に記憶されたその他の実行可能コードのうちの1つまたは複数を含んでもよい。他の実施形態は、アプリケーションプログラミングインターフェース104にアクセスする複数の実行可能アプリケーション114のそれぞれのセキュリティリスクを判定する類似または同等の手段を含み得る。
【0122】
複数の実行可能アプリケーション114のそれぞれのセキュリティリスクの変化を監視するための手段が、様々な実施形態において、ハードウェアコンピューティングデバイス102、108、110、バックエンドサーバ110、アクセスモジュール104、データパスモジュール112、コア処理システム122a~122n、プロセッサ(例えば中央処理装置(CPU)、プロセッサコア、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブルロジック、特定用途向け集積回路(ASIC)、コントローラ、マイクロコントローラ、および/または他の半導体集積回路デバイス)、ハードウェア機器またはその他のハードウェアコンピューティングデバイス、その他のロジックハードウェア、アプリケーション114、および/または、コンピュータ可読記憶媒体に記憶されたその他の実行可能コードのうちの1つまたは複数を含んでもよい。他の実施形態は、複数の実行可能アプリケーション114のそれぞれのセキュリティリスクの変化を監視する類似または同等の手段を含み得る。
【0123】
セキュリティリスクの監視された変化に基づいてアプリケーションプログラミングインターフェース104に関して複数の実行可能アプリケーション114のパーミッションの範囲を動的に調整するための手段が、様々な実施形態において、ハードウェアコンピューティングデバイス102、108、110、バックエンドサーバ110、アクセスモジュール104、データパスモジュール112、コア処理システム122a~122n、プロセッサ(例えば中央処理装置(CPU)、プロセッサコア、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブルロジック、特定用途向け集積回路(ASIC)、コントローラ、マイクロコントローラ、および/または他の半導体集積回路デバイス)、ハードウェア機器またはその他のハードウェアコンピューティングデバイス、その他のロジックハードウェア、アプリケーション114、および/または、コンピュータ可読記憶媒体に記憶されたその他の実行可能コードのうちの1つまたは複数を含んでもよい。他の実施形態は、セキュリティリスクの監視された変化に基づいてアプリケーションプログラミングインターフェース104に関して複数の実行可能アプリケーション114のパーミッションの範囲を動的に調整する類似または同等の手段を含み得る。
【0124】
実行可能アプリケーション114に関連付けられた情報について複数のサードパーティコンピュータ可読データソースを監視するための手段が、様々な実施形態において、ハードウェアコンピューティングデバイス102、108、110、バックエンドサーバ110、アクセスモジュール104、データパスモジュール112、コア処理システム122a~122n、プロセッサ(例えば中央処理装置(CPU)、プロセッサコア、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブルロジック、特定用途向け集積回路(ASIC)、コントローラ、マイクロコントローラ、および/または他の半導体集積回路デバイス)、ハードウェア機器またはその他のハードウェアコンピューティングデバイス、その他のロジックハードウェア、アプリケーション114、および/または、コンピュータ可読記憶媒体に記憶されたその他の実行可能コードのうちの1つまたは複数を含んでもよい。他の実施形態は、実行可能アプリケーション114に関連付けられた情報について複数のサードパーティコンピュータ可読データソースを監視する類似または同等の手段を含み得る。
【0125】
本発明は、本発明の趣旨または本質的特徴から逸脱することなく、他の特定の形態で具現化されてもよい。記載されている実施形態は、あらゆる点において、例示的であるに過ぎず、限定的ではないものとみなされるべきである。したがって、本発明の範囲は、上記の説明によってではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等の意味および範囲内に含まれるあらゆる変更が、特許請求の範囲に包含されるものとする。
図1A
図1B
図2
図3
図4
図5
図6
【国際調査報告】