(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】無許可のトランザクションに対するピア検証のための方法、コンピュータ・プログラム及びコンピュータ・システム
(51)【国際特許分類】
G06Q 20/40 20120101AFI20240521BHJP
【FI】
G06Q20/40
(21)【出願番号】P 2022509073
(86)(22)【出願日】2020-08-05
(86)【国際出願番号】 IB2020057400
(87)【国際公開番号】W WO2021048652
(87)【国際公開日】2021-03-18
【審査請求日】2023-01-20
(32)【優先日】2019-09-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ホイットニー、マイケル
(72)【発明者】
【氏名】ノーラン、コルム
(72)【発明者】
【氏名】マレシュ、マーク
(72)【発明者】
【氏名】バーガス、ジュアン
【審査官】山崎 誠也
(56)【参考文献】
【文献】特開2017-049879(JP,A)
【文献】特開2005-222373(JP,A)
【文献】特開2013-097644(JP,A)
【文献】特開2005-084822(JP,A)
【文献】特開2006-099313(JP,A)
【文献】米国特許第10475014(US,B1)
【文献】米国特許第11288675(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサによって、潜在的な不正金融トランザクションを表すトランザクション異常を行っているユーザを検証する要求を受け取ることと、
検証ユーザを検索するための1つ又は複数の境界を識別することに応答して、1つ又は複数のプロセッサによって、前記識別された1つ又は複数の境界内の検証ユーザのセットを
位置情報を利用して識別することであって、前記検証ユーザのセットからの各検証ユーザは、前記トランザクションを行っている前記ユーザを、前記トランザクション異常のアカウントと関連付けられた有効なユーザとして視覚的に確認する能力を有する、識別することと、
1つ又は複数のプロセッサによって、前記トランザクション異常の前記アカウントと関連付けられた前記有効なユーザについての情報を表示することと、
前記検証ユーザのセットからの前記検証ユーザによる拒否に基づいて前記トランザクション異常に対して前記ユーザが検証されないと判断することに応答して、1つ又は複数のプロセッサによって、前記トランザクション異常を拒否することと
を含む、方法。
【請求項2】
前記トランザクション異常を拒否することは、
1つ又は複数のプロセッサによって、金融機関と関連付けられたトランザクション・オーソライザに、前記トランザクション異常を拒否するよう指示することと、
1つ又は複数のプロセッサによって、前記検証ユーザのセットからの検証ユーザと関連付けられたクライアント・デバイスによってキャプチャされた、前記トランザクション異常を行っている前記ユーザの1つ又は複数の画像を、前記トランザクション・オーソライザに送ることと
をさらに含む、請求項1に記載の方法。
【請求項3】
1つ又は複数のプロセッサによって、前記トランザクション異常を行っている前記ユーザに関する、前記検証ユーザのセットからの前記検証ユーザによって提供される1つ又は複数のコメントを送ることをさらに含む、請求項2に記載の方法。
【請求項4】
1つ又は複数のプロセッサによって、前記トランザクション異常に基づいて前記有効なユーザに警告を送ることであって、前記警告は、前記トランザクション異常と関連付けられたアカウント情報と、前記トランザクション異常の場所と、前記トランザクション異常の時間と、前記トランザクション異常を行っている前記ユーザを前記検証ユーザのセットによって検証できないとの記述とを含む、警告を送ることをさらに含む、請求項1から請求項3までのいずれか1項に記載の方法。
【請求項5】
前記識別された1つ又は複数の境界内の検証ユーザのセットを
位置情報を利用して識別することは、
1つ又は複数のプロセッサによって、前記識別された検証ユーザのセットが、前記トランザクション異常を行っている前記ユーザの検証に利用されるように既にオプトインされているかどうかを判断することと、
前記識別された検証ユーザのセットが、前記トランザクション異常を行っている前記ユーザの検証に利用されるように既にオプトインされていると判断することに応答して、1つ又は複数のプロセッサによって、前記トランザクション異常の前記アカウントと関連付けられた前記有効なユーザについての前記情報を表示するよう判断することと
をさらに含む、請求項1から請求項4までのいずれか1項に記載の方法。
【請求項6】
前記トランザクション異常の前記アカウントと関連付けられた前記有効なユーザについての情報を表示することは、
1つ又は複数のプロセッサによって、前記有効なユーザの1つ又は複数の画像を、前記検証ユーザのセットからの各検証ユーザと関連付けられた各クライアント・デバイスのカメラ機能におけるオーバーレイとして表示することであって、前記1つ又は複数の画像の各々における前記有効なユーザの顔はピクセル化されてレンダリングされる、表示することをさらに含む、請求項1から請求項5までのいずれか1項に記載の方法。
【請求項7】
前記トランザクション異常の前記アカウントと関連付けられた前記有効なユーザについての情報は、前記有効なユーザの名前、身長測定値、及び髪の色を含む、請求項1から請求項6までのいずれか1項に記載の方法。
【請求項8】
請求項1から請求項7までのいずれか1項に記載の前記方法をコンピュータに実行させるプログラム命令を含むコンピュータ・プログラム。
【請求項9】
請求項8に記載のコンピュータ・プログラムを格納したコンピュータ可読ストレージ媒体。
【請求項10】
コンピュータ・システムであって、
1つ又は複数のコンピュータ・プロセッサと、
1つ又は複数のコンピュータ可読ストレージ媒体と、
前記1つ又は複数のコンピュータ・プロセッサの少なくとも1つにより実行される、前記コンピュータ可読ストレージ媒体上に格納されるプログラム命令と
を含み、前記プログラム命令は、
潜在的な不正金融トランザクションを表すトランザクション異常を行っているユーザを検証する要求を受け取るプログラム命令と、
検証ユーザを検索するために1つ又は複数の境界を識別することに応答して、前記識別された1つ又は複数の境界内の検証ユーザのセットを
位置情報を利用して識別するプログラム命令であって、前記検証ユーザのセットからの各検証ユーザは、前記トランザクションを行っている前記ユーザを、前記トランザクション異常のアカウントと関連付けられた有効なユーザとして視覚的に確認する能力を有する、識別するプログラム命令と、
前記トランザクション異常の前記アカウントと関連付けられた前記有効なユーザについての情報を表示するプログラム命令と、
前記検証ユーザのセットからの前記検証ユーザによる拒否に基づいて前記トランザクション異常に対して前記ユーザが検証されないと判断することに応答して、前記トランザクション異常を拒否するプログラム命令と
を含む、コンピュータ・システム。
【請求項11】
前記トランザクション異常を拒否するプログラム命令は、
プロセッサによって実行されたとき、前記プロセッサに、
金融機関と関連付けられたトランザクション・オーソライザに、前記トランザクション異常を拒否するよう指示することと、
前記検証ユーザのセットからの検証ユーザと関連付けられたクライアント・デバイスによってキャプチャされた、前記トランザクション異常を行っている前記ユーザの1つ又は複数の画像を、前記トランザクション・オーソライザに送ることと
を行わせる、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項10に記載のコンピュータ・システム。
【請求項12】
プロセッサによって実行されたとき、前記プロセッサに、
前記トランザクション異常を行っている前記ユーザに関する、前記検証ユーザのセットからの前記検証ユーザによって提供される1つ又は複数のコメントを送ること
を行わせる、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項11に記載のコンピュータ・システム。
【請求項13】
プロセッサによって実行されたとき、前記プロセッサに、
前記トランザクション異常に基づいて前記有効なユーザに警告を送ることであって、前記警告は、前記トランザクション異常と関連付けられたアカウント情報と、前記トランザクション異常の場所と、前記トランザクション異常の時間と、前記トランザクション異常を行っている前記ユーザを前記検証ユーザのセットによって検証できないとの記述とを含む、警告を送ること
を行わせる、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項10から請求項12までのいずれか1項に記載のコンピュータ・システム。
【請求項14】
前記識別された1つ又は複数の境界内の検証ユーザのセットを
位置情報を利用して識別するプログラム命令は、
プロセッサによって実行されたとき、前記プロセッサに、
前記識別された検証ユーザのセットが、前記トランザクション異常を行っている前記ユーザの検証に利用されるように既にオプトインされているかどうかを判断することと、
前記識別された検証ユーザのセットが、前記トランザクション異常を行っている前記ユーザの検証の利用に既にオプトインされていると判断することに応答して、前記トランザクション異常の前記アカウントと関連付けられた有効なユーザについての前記情報を表示するよう判断することと
を行わせる、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項10から請求項13までのいずれか1項に記載のコンピュータ・システム。
【請求項15】
前記トランザクション異常の前記アカウントと関連付けられた前記有効なユーザについての情報を表示するプログラム命令は、
プロセッサによって実行されたとき、前記プロセッサに、
前記有効なユーザの1つ又は複数の画像を、前記検証ユーザのセットからの各検証ユーザと関連付けられた各クライアント・デバイスのカメラ機能におけるオーバーレイとして表示することであって、前記1つ又は複数の画像の各々における前記有効なユーザの顔はピクセル化されてレンダリングされる、表示すること
を行わせる、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項10から請求項14までのいずれか1項に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、無許可のトランザクション(unauthorized transaction)を防止することに関し、特定的には、無許可のトランザクションを防止するためにピア検証を利用することに関する。
【背景技術】
【0002】
現在、デジタル・ランドスケープでは、消費者金融不正(financial fraud)、なりすまし(identity theft)及び個人情報漏洩事件が頻繁に発生している。金融機関は、パターン検出及び分析を含む様々な技術を利用して、潜在的な不正の事例を識別する一方で、潜在的な不正の事例の発生を防止するもしくは隔離する又はその両方を行うためのアクションを実行している。金融機関は、一般的には、クレジットカードの使用又は他の金融商品を監視し、特定の購入がユーザの典型的な購入パターンから外れているかどうかを判断する。特定の購入がユーザの典型的な購入パターンから外れている場合、金融機関は、一般的には、特定の購入を拒否し、特定の購入の試みに利用されたクレジットカード又は他の金融商品と関連付けられたアカウントをロックする。ユーザが別の地理的位置(例えば、異なる国)で品物を購入しようとした場合に、誤検出(false positive)が発生することがあり、その場合、ユーザは、特定の購入の試みを延期する一方で、金融機関により拒否された購入を解決しようと試みる必要がある。
【発明の概要】
【0003】
本発明による実施形態は、無許可のトランザクションに対するピア検証のための方法、コンピュータ・プログラム製品及びコンピュータ・システムを開示し、この方法、コンピュータ・プログラム製品及びコンピュータ・システムは、潜在的な不正金融トランザクションを表すトランザクション異常(transaction anomaly)を行っているユーザを検証する要求を受け取ることができる。本方法、コンピュータ・プログラム製品及びコンピュータ・システムは、検証ユーザを検索するための1つ又は複数の境界を識別することに応答して、1つ又は複数のプロセッサによって、識別された1つ又は複数の境界内の検証ユーザのセットを識別することができ、検証ユーザのセットからの各検証ユーザは、トランザクションを行っているユーザを、トランザクション異常のアカウントと関連付けられた有効なユーザ(valid user)として視覚的に確認する能力を有する。本方法、コンピュータ・プログラム製品、及びコンピュータ・システムは、トランザクション異常のアカウントと関連付けられた有効なユーザの情報を表示することができる。本方法、コンピュータ・プログラム製品、及びコンピュータ・システムは、トランザクション異常に対してユーザが検証されないと判断することに応答して、トランザクション異常を拒否することができる。
【図面の簡単な説明】
【0004】
【
図1】本発明の実施形態による、分散データ処理環境を示す機能ブロック図である。
【
図2】本発明の実施形態による、ピア検証を用いて無許可のトランザクションを防止するためのピア検証プログラムの動作ステップを示すフローチャートである。
【
図3】本発明の実施形態による、ピア検証プログラムのプロセス・フローの例である。
【
図4】本発明の実施形態による、
図1のサーバ・コンピュータなどのコンピュータ・システムのコンポーネントのブロック図を示す。
【
図5】本発明の実施形態による、クラウド・コンピューティング環境を示す。
【
図6】本発明の実施形態による、抽象化モデル層を示す。
【発明を実施するための形態】
【0005】
本発明の実施形態は、金融トランザクションがトランザクション異常として識別された場合、検証ユーザのプール又はセットが、金融トランザクションを行っている別のユーザを検証することを可能にする。本発明の実施形態は、トランザクション異常が識別される小売場所(retail location)内の特定の場所を囲む視覚的境界を識別することができる。視覚的境界内の検証ユーザのセットは、トランザクション異常を行おうとしているユーザを視覚的に識別し、トランザクション異常を行おうとしているユーザを、トランザクション異常のアカウントと関連付けられた有効なユーザとして検証することができる。本発明の実施形態は、保留中の検証イベントを検証ユーザのセットに通知し、トランザクション異常を行おうとしているユーザを、トランザクション異常のアカウントと関連付けられた有効なユーザとして視覚的に識別するための情報(例えば、有効なユーザの外観の特徴、写真など)を表示する。ユーザが検証された場合、そのトランザクション異常は許可され、ユーザが検証されない場合、そのトランザクション異常は拒否される。拒否されたトランザクション異常については、拒否されたトランザクション異常に関する情報、及び拒否されたトランザクション異常を行おうとしたユーザに関する情報を含む警報が、有効なユーザに送られる。
【0006】
図1は、本発明の一実施形態による、分散データ処理環境を示す機能ブロック図である。分散データ処理環境は、全てがネットワーク108を介して相互接続された、サーバ・コンピュータ102、サーバ・コンピュータ104、及びクライアント・デバイス106A~Dを含む。議論の目的で、ピア検証プログラム110は、サーバ・コンピュータ102上で動作するが、他の実施形態では、ピア検証プログラム110は、クライアント・デバイス106A~D上で動作することができる。
【0007】
サーバ・コンピュータ102は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、専用コンピュータ・サーバ、スマートフォン、又はピア検証プログラム110の様々な実施形態を実行できる任意のコンピュータ・システムとすることができる。特定の実施形態においては、サーバ・コンピュータ102は、データセンタ及びクラウド・コンピューティング・アプリケーションにおいて一般的なように、ネットワーク108を介してアクセスされたときに、シームレスなリソースの単一のプールとして機能するクラスタ化されたコンピュータ及びコンポーネントを利用するコンピュータ・システムを表す。一般に、サーバ・コンピュータ102は、機械可読プログラム命令を実行し、ネットワークを介して他のコンピュータ・デバイスと通信することができる任意のプログラム可能電子デバイス又はプログラム可能電子デバイスの組み合わせを代表する。サーバ・コンピュータ102は、他のコンピュータ・デバイス(
図1には図示せず)と通信して、コンピュータ・デバイスに情報を照会する能力を有する。本実施形態では、サーバ・コンピュータ102は、データベース112及びピア検証プログラム110を含み、サーバ・コンピュータ104及びクライアント・デバイス106A~D上のピア検証プログラム110A~Dとそれぞれ通信することができる。サーバ・コンピュータ102は、
図4に関してさらに詳細に示され、説明されるように、内部ハードウェア・コンポーネント及び外部ハードウェア・コンポーネントを含むことができる。
【0008】
サーバ・コンピュータ104は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、専用コンピュータ・サーバ、スマートフォン、又はトランザクション・オーソライザ(transaction authorizer)114の様々な実施形態を実行できる任意のコンピュータ・システムとすることができる。特定の実施形態では、サーバ・コンピュータ104は、データセンタ及びクラウド・コンピューティング・アプリケーションにおいて一般的なように、ネットワーク108を介してアクセスされたときに、シームレスなリソースの単一のプールとして機能するクラスタ化されたコンピュータ及びコンポーネントを利用するコンピュータ・システムを表す。一般的に、サーバ・コンピュータ104は、機械可読プログラム命令を実行し、ネットワークを介して他のコンピュータ・デバイスと通信することができる任意のプログラム可能電子デバイス又はプログラム可能電子デバイスの組み合わせを代表する。本実施形態では、サーバ・コンピュータ104は、サーバ・コンピュータ102上で動作するピア検証プログラム110と通信することができるトランザクション・オーソライザ114を含む。別の実施形態では、トランザクション・オーソライザ114は、ピア検証プログラム110と共に、サーバ・コンピュータ102上で動作する。さらに別の実施形態では、トランザクション・オーソライザ114はサーバ・コンピュータ102上で動作し、ピア検証プログラム110はトランザクション・オーソライザ114の一体のコンポーネントである。
【0009】
クライアント・デバイス106A~Dの各々は、ラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、スマートウオッチ、スマートスピーカ、又はネットワーク108を介して、分散データ処理環境内の種々のコンポーネント及びデバイスと通信できる任意のプログラム可能電子デバイスとすることができる。本実施形態では、クライアント・デバイス106Aは、有効なユーザと関連付けられ、そのアカウントは、無効なユーザによるトランザクション異常が発生している。クライアント・デバイス106B~Dは、トランザクション異常を行っているユーザを検証するための検証ユーザと関連付けられる。クライアント・デバイス106A~Dの各々は、ウェアラブル・コンピュータとすることができる。ウェアラブル・コンピュータは、着用者により衣服の下に、衣服とともに、又は衣服の上に、並びに眼鏡、帽子、又は他のアクセサリの中にもしくはそれらに結合して着けることができる小型電子デバイスである。ウェアラブル・コンピュータは、単にハードウェアコード化論理よりも複雑な計算サポートを必要とする用途に特に有用である。一般に、クライアント・デバイス106A~Dのそれぞれは、機械可読プログラム命令を実行し、ネットワーク108などのネットワークを介して分散データ処理環境内の他のコンピューティング・デバイス(図示せず)と通信できる1つ又は複数のプログラム可能電子デバイス又はプログラム可能電子デバイスの組み合わせを表す。一実施形態において、クライアント・デバイス106B~Dは、ピア検証プログラム110がトランザクション異常を識別する場所にいるそれぞれのユーザと関連付けられた複数のデバイスを表す。トランザクション異常は、潜在的な不正金融トランザクションを表す。クライアント・デバイス106A~Dの各々は、それぞれユーザ・インターフェース116A~Dを含む。クライアント・デバイス106A~Dはそれぞれ、小売場所におけるそれぞれのユーザの位置を識別するために、通信プロバイダを介した位置情報サービス、Wi-Fi三角測量、又は統合型全地球測位システム(GPS)のうちの1つ又は複数を利用することができる。幾つかの実施形態では、ピア検証プログラム110の1つ又は複数の機能は、それぞれのクライアント・デバイス106A~D上の1つ又は複数のピア検証プログラム110A~Dによってローカルに実行することができる。
【0010】
ユーザ・インターフェース116A~Dは、ユーザが、それぞれのクライアント・デバイス106A~Dに対して要求を行い、又はコマンドを発行し、それに応答して情報及び命令を受け取ることを可能にする。一実施形態においては、各クライアント・デバイス106A~Dのユーザは、自然言語での音声コマンドを介して、それぞれのユーザ・インターフェース116A~Dにアクセスする。一実施形態においては、ユーザ・インターフェース116A~Dの各々は、グラフィカル・ユーザ・インターフェース(GUI)又はウェブ・ユーザ・インターフェース(WUI)とすることができ、テキスト、文書、ウェブ・ブラウザ・ウィンドウ、ユーザ・オプション、アプリケーション・インターフェース、及びオペレーションの命令を表示することができ、プログラムがユーザに提示する情報(グラフィック、テキスト、及び音声など)、及びユーザがプログラムを制御するために利用する制御シーケンスを含む。別の実施形態においては、ユーザ・インターフェース116A~Dの各々は、モバイル・アプリケーション・ソフトウェアとすることもできる。一例では、モバイル・アプリケーション・ソフトウェア、又は「アプリ」は、スマートフォン、タブレット・コンピュータ、及び他のモバイル・デバイス上で動作するように設計されたコンピュータ・プログラムである。ユーザ・インターフェース116A~Dの各々は、各クライアント・デバイス106A~Dのユーザが、サーバ・コンピュータ102上のピア検証プログラム110と対話することを可能にする。
【0011】
ピア検証プログラム110は、1つ又は複数の金融機関と関連付けられた、トランザクション・オーソライザ114から受け取った情報を利用することによって、ユーザと関連付けられたトランザクション異常を識別することができる。トランザクション・オーソライザ114は、複数のユーザと関連付けられた複数のアカウントを監視して、監視されたアカウントを利用しているユーザが行っているトランザクションが異常であるかどうかを判断する。先述した代替的実施形態において、トランザクション・オーソライザ114は、ピア検証プログラム110に統合され、そこで、ピア検証プログラム110は、複数のユーザと関連付けられた複数のアカウントを監視し、ユーザと関連付けられたトランザクション異常を識別することができる。ピア検証プログラム110は、検証ユーザのセット(例えば、クライアント・デバイス106B~Dのユーザ)を利用してトランザクションを行おうとしているユーザを検証することにより、トランザクションを行っているユーザを検証する要求を受け取ることができる。ピア検証プログラム110は、検証ユーザを検索するための境界を識別し、照会するために識別されたユーザにおける検証ユーザのセットを識別することができる。ピア検証プログラム110は、保留中の検証イベントを検証ユーザのセットに通知することができ、保留中の検証イベントは、以前にトランザクション異常として識別されたトランザクションを行おうとしているユーザを表す。
【0012】
ピア検証プログラム110は、検証イベントについてユーザと関連付けられた情報を、それぞれクライアント・デバイス116B~D上のユーザ・インターフェース116B~Dにおける検証ユーザのセットに表示することができる。検証ユーザのセットからの1又は複数のユーザが、トランザクションを行おうとしているユーザを検証することに応答して、ピア検証プログラム110は、トランザクションを許可する。検証ユーザのセットからの1又は複数のユーザが、トランザクションを行おうとしているユーザを検証しないことに応答して、ピア検証プログラム110は、トランザクションを拒否する。さらに、ピア検証プログラム110は、トランザクション異常に基づいて、有効なユーザ(すなわち、クライアント・デバイス106Aのユーザ)に警告を送ることができ、ここで、有効なユーザとは、ピア検証プログラム110がトランザクション異常を識別したアカウントと関連付けられたユーザを表す。警告を受け取ると、有効なユーザ(すなわち、クライアント・デバイス106Aのユーザ)は、トランザクション異常を行っているユーザを検証する能力を有する。
【0013】
データベース112は、ピア検証プログラム110によって使用されるデータ用のリポジトリである。示される実施形態では、データベース112はサーバ・コンピュータ102上に常駐する。別の実施形態では、データベース112は、ピア検証プログラム110がデータベース112にアクセスできるという条件で、サーバ・コンピュータ104又は分散データ処理環境内の他の場所に常駐することができる。データベースは、データの組織化された集合である。データベース112は、データベース・サーバ、ハードディスク・ドライブ、又はフラッシュ・メモリなど、ピア検証プログラム110によってアクセス及び利用することができるデータ及び構成ファイルを格納できる任意のタイプのストレージ・デバイスで実装することができる。データベース112は、ユーザ・プロファイル、ユーザ・プリファレンス、ユーザ・アカウント情報、ユーザ・クライアント・デバイス(例えば、クライアント・デバイス106A~D)の情報などの、ピア検証プログラム110によって使用されるデータを格納する。
【0014】
一般に、ネットワーク108は、サーバ・コンピュータ102、サーバ・コンピュータ104、及びクライアント・デバイス106A~Dの間の通信をサポートする接続及びプロトコルの任意の組み合わせとすることができる。ネットワーク108は、例えば、ローカル・エリア・ネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、セルラー・ネットワーク、又は前述の任意の組み合わせを含むことができ、有線、無線、もしくは光ファイバ接続又はそれらの組み合わせをさらに含むことができる。一実施形態では、ピア検証プログラム110は、ネットワーク108を介して、各クライアント・デバイス106A~Bのユーザにアクセス可能なウェブ・サービスとすることができる。別の実施形態では、ピア検証プログラム110は、サーバ・コンピュータ102のユーザによって直接動作させることができる。
【0015】
図2は、本発明の実施形態による、ピア検証を利用して無許可のトランザクション取引を防止するためのピア検証プログラムの動作ステップを示すフローチャートである。
【0016】
ピア検証プログラム110は、ピア検証プログラム110がトランザクションを異常として識別した場合、トランザクションを行おうとしているユーザを検証するために、検証ユーザのネットワークを利用する。検証ユーザの各々は、検証ユーザの各々のプリファレンスに基づいて、ウェブ又はモバイル・アプリケーションを介して、検証ユーザのネットワークにオプトイン(opt-in)又はオプトアウト(opt-out)する能力を有する。ユーザが、午前9時から午後5時までの間検証ユーザのネットワーク内に含まれるようにオプトインし、残りの時間については検証ユーザのネットワークから除外されるようにオプトアウトできる場合、プリファレンスは、時間ベースとすることができる。また、ユーザが、小売場所(例えば、ホームセンター)で検証ユーザのネットワーク内に含まれるようにオプトインし、レストランの場所で検証ユーザのネットワークから除外されるようにオプトアウトすることができる場合、プリファレンスは場所ベースとすることもできる。ピア検証プログラム110は、関連するクライアント・デバイスを介して各検証ユーザの位置を監視することができ、ピア検証プログラム110は、各検証ユーザの位置を利用して、検証ユーザのネットワークからの検証ユーザのセット(すなわち、ユーザのプール)を識別し、検証イベントとも呼ばれるユーザ検証を実行することができる。検証ユーザのネットワークにおいて各検証ユーザを登録することにより、ピア検証プログラム110が、トランザクション異常に対する保留中の検証イベントについて検証ユーザのセットに照会することが可能になる。ピア検証プログラム110は、検証ユーザのネットワークにオプトインするユーザの金銭的インセンティブを利用することができ、検証ユーザは、例えば、割引、低金利、及び検証イベント応答ごとの支払いを受けることができる。
【0017】
ピア検証プログラム110は、ユーザと関連付けられたトランザクション異常を識別する(202)。トランザクション異常は、トランザクション異常を行っているユーザと関連付けられたアカウント(例えば、クレジットカード・アカウント)についての典型的な金融トランザクションパターンから外れて発生した金融トランザクション(例えば、購入)を表す。トランザクション異常の例として、所定の金銭価値の閾値又は以前に確立された金銭価値の購入パターンを超える金銭価値での購入が挙げられる。トランザクション異常の別の例として、以前に確立された地理的場所の購入パターン(例えば、カリフォルニア州サンフランシスコ)の外にある地理的場所(例えば、フランスのパリ)での購入を含むことができる。本実施形態では、ピア検証プログラム110は、特定のユーザと関連付けられた特定のアカウントに対して発生したトランザクション異常を示す通知をトランザクション・オーソライザから受け取ることによって、ユーザと関連付けられたトランザクション異常を識別する。別の実施形態では、ピア検証プログラム110は、統合型トランザクション・オーソライザを利用して、特定のユーザと関連付けられた特定のアカウントに対してトランザクション異常が発生したことを識別する。
【0018】
ピア検証プログラム110は、トランザクションを行っているユーザを検証する要求を受け取る(204)。本実施形態では、ピア検証プログラム110は、トランザクション異常に対してユーザ検証が可能であると判断した後に、トランザクション・オーソライザから、トランザクションを行っているユーザを検証する要求を受け取る。一例では、アカウント「A」と関連付けられたクレジットカードを利用しているユーザが、小売場所で高い金銭価値をもつ電子機器(例えば、テレビ)を購入しようとしており、その購入はトランザクション異常と識別される。小売場所は検証ユーザのネットワークからの検証ユーザのセットを含むことができる公共の場であるため、トランザクション・オーソライザは、トランザクション異常に対してユーザ検証が可能であると判断する。別の例では、アカウント「B」と関連付けられたクレジットカードを利用しているユーザが、ウェブ・ベースの小売店を利用して高い金銭価値をもつ電子機器(例えば、テレビ)を購入しようとしており、その購入はトランザクション異常と識別される。ウェブ・ベースの小売店は遠隔にあり、公共の場ではないため、トランザクション・オーソライザは、トランザクション異常に対してユーザ検証が可能でないと判断する。さらに別の例では、アカウント「C」と関連付けられたクレジットカードを利用しているユーザが、外国の旅行代理店で航空券の支払いをしようとしており、その購入は、金銭価値が所定の金銭価値購入パターンを超えており、地理的場所が所定の地理的購入パターンの外であることから、トランザクション異常と識別される。トランザクション異常は確立された購入パターンを過度に超えているため、トランザクション・オーソライザは、トランザクション異常に対してユーザ検証は許可されないと判断し、ユーザは、アカウント「C」と関連付けられた金融機関に連絡をとることになる。
【0019】
ピア検証プログラム110は、トランザクション異常を行っているユーザを第2の要素認証として検証する要求を受け取ることができる。一例では、アカウント「A」と関連付けられたクレジットカードを利用しているユーザが、小売場所で高い金銭価値をもつ電子機器(例えば、テレビ)を購入しようとしており、その購入はトランザクション異常と識別される。購入を検証するために、第1の要素認証が利用され、この第1の要素認証は、アカウント「A」のユーザと関連付けられたクライアント・デバイスについての番号を利用して電話をかけることを含む。第2の要素認証は、ピア検証プログラム110が、アカウント「A」のユーザと関連付けられたクライアント・デバイスが盗まれていないことを保証するために、トランザクション異常を行っているユーザを検証する要求を受け取ることを含む。ピア検証プログラム110がピア検証を実行する事例は、状況リスク・レベルに基づくことができ、ユーザは、地理的場所(例えば、自宅の位置からの半径)に基づいて状況リスク・レベルを設定する能力を有する。
【0020】
ピア検証プログラム110は、検証ユーザを検索するための境界を識別する(206)。本実施形態では、ピア検証プログラム110は、検証ユーザのネットワークから検証ユーザのセットを検索するための境界を識別し、その境界は、小売場所内の特定の場所を囲む。小売場所は、トランザクション異常を処理しようとしている端末もしくは電子読取装置又はその両方における全地球測位システム(GPS)又はWi-Fi情報を利用して識別される。或いは、ピア検証プログラム110は、既存の小売場所のインデックス及び関係を利用して、トランザクション異常の小売場所を識別することができる。より大規模な施設の場合、ピア検証プログラム110は、検証ユーザのネットワークの境界を確立するために、小売場所から受け取った情報に基づいて、小売場所内の端末もしくは電子読取装置又はその両方の特定の場所を識別する。より大規模な施設とは、小売場所内の複数の売り場領域(例えば、園芸、自動車サービス、電子機器)にわたって配置された複数のチェックアウト・ラインを有する小売場所である。小売場所の単一の領域内に1つ又は複数のチェックアウト・ラインを有する小規模な施設の場合、ピア検証プログラム110は、小売場所を特定の場所として識別する。ピア検証プログラム110は、小売場所に関する公的に入手可能な地理空間地図データを利用して、大規模な施設の小売場所における特定の場所の境界を定めることができる。小規模な施設の場合、ピア検証プログラム110は、公的に入手可能な地理空間地図データを利用して、小売場所の境界を特定の場所として定めることができる。或いは、ピア検証プログラム110は、所定の半径(例えば、10メートル)を利用して、特定の場所の境界を識別することができる。
【0021】
一例において、チェックアウト時に電子読取装置でトランザクション異常が発生した場合、ピア検証プログラム110は、小売り場所を大規模な施設として識別する。ピア検証プログラム110は、小売場所内の特定の場所を、その小売場所の出口付近に配置された主要なチェックアウト・ラインの1つとして識別する。ピア検証プログラム110は、地理空間地図データを利用して、特定の場所の近くにある複数の周囲のチェックアウト・ライン及び複数の通路に及ぶ特定の場所の境界を識別する。別の例では、チェックアウト時に電子読取装置でトランザクション異常が発生した場合、ピア検証プログラム110は、小売場所を小規模な施設として識別する。ピア検証プログラム110は、特定の場所を小売場所として識別し、地理空間地図データを利用して、消費者によりアクセス可能な小売場所の領域を含む特定の場所の境界を識別する。さらに別の例では、移動式屋台の電子読取装置でトランザクション異常が発生した場合、ピア検証プログラム110は、小売場所を屋外フード・イベントとして識別する。ピア検証プログラム110は、特定の場所を移動式屋台として識別し、特定の場所を囲む所定の半径(例えば、20メートル)を境界として利用する。
【0022】
ピア検証プログラム110は、識別された境界内の検証ユーザのセットを識別する(208)。前述したように、各検証ユーザと関連付けられたクライアント・デバイスは、それぞれの検証ユーザの場所を識別するために、通信プロバイダを介する位置情報サービス、Wi-Fi三角測量、Bluetooth、及び統合型全地球測位システム(GPS)のうちの1つ又は複数を利用する。ピア検証プログラム110は、各検証ユーザについての位置情報を利用して、小売場所の特定の場所を囲む識別された境界内に位置する1又は複数の検証ユーザを識別する。さらに、ピア検証プログラム110は、識別された境界内に位置する識別された1又は複数の検証ユーザが、トランザクション異常を行っているユーザの検証に利用されるように以前にオプトインされたか又はオプトアウトされたかを判断する。検証ユーザのセット内の各検証ユーザが、トランザクション異常を行っているユーザの検証に利用されるように以前にオプトインされた場合、ピア検証プログラム110は、識別された境界内の検証ユーザのセットを識別する。識別された境界内に検証ユーザのネットワークからの多数の検証ユーザが存在する場合には、ピア検証プログラム10は、トランザクション異常を行っているユーザを検証するために、識別された境界内の多数の検証ユーザの一部をランダムに選択する。或いは、ピア検証プログラム110は、トランザクション異常を行っているユーザに最も近い、識別された境界内の多数の検証ユーザの一部を選択する。
【0023】
識別された境界における検証ユーザのセットを識別するとき、ピア検証プログラム110は、パターン検出アルゴリズムを利用して、トランザクション異常を行っているユーザと関連のある特定の検証ユーザが、検証ユーザのセットに含まれるのを防ぐことができる。ピア検証プログラム110は、以前に、特定の検証ユーザがトランザクション異常を行っているユーザを検証し、その特定の検証ユーザが検証ユーザのセットに含まれるのを除外した事例を識別することができる。さらに、ピア検証プログラム110は、特定の検証ユーザが、1つ又は複数の以前の検証イベントの間、トランザクション異常を行っているユーザの近くにいて、その特定の検証ユーザが検証ユーザのセットに含まれるのを除外した事例を識別することができる。ピア検証プログラム110は、公開されているソーシャル・ネットワーキング情報を利用して、特定のユーザとトランザクション異常を行っているユーザとの間に関係(例えば、友人、親戚)が存在し、その特定の検証ユーザが検証ユーザのセットに含まれないように特定の検証ユーザを除外したかどうかを判断することができる。さらに、ピア検証プログラム110は、トランザクション異常を行っているユーザを検証しようとしている特定の検証ユーザの潜在的な不正行為をトランザクション・オーソライザ(すなわち、金融機関)に通知する能力を有する。
【0024】
ピア検証プログラム110は、保留中の検証イベントを検証ユーザのセットに通知する(210)。本実施形態では、ピア検証プログラム110は、保留中の検証イベントを、検証ユーザのセットからの各検証ユーザに通知し、各検証ユーザがトランザクション異常(すなわち、検証イベント)を行っているユーザを検証することができるかどうかを判断する。ピア検証プログラム110は、各検証ユーザと関連付けられたクライアント・デバイスのユーザ・インターフェースに保留中の検証イベントの通知を表示することによって、検証ユーザのセットからの各検証ユーザに照会する。ピア検証プログラム110は、保留中の検証イベントに関して検証ユーザから確認又は拒否を受け取ることができる。ピア検証プログラム110が検証ユーザから確認を受け取った場合、ピア検証プログラム110は、検証イベントについてのユーザと関連付けられた情報を表示する。ピア検証プログラム110が検証ユーザから拒否を受け取った場合、ピア検証プログラム110は、検証ユーザのセットに含ませるために代替の検証ユーザを識別することができる。一例では、ピア検証プログラム110は、保留中の検証イベントを検証ユーザのセットからのある検証ユーザに通知するが、その検証ユーザは、眼鏡をかけ忘れたため、保留中の検証イベントを拒否する。
【0025】
ピア検証プログラム110は、検証イベントについてのユーザと関連付けられた情報を表示する(212)。本実施形態では、ピア検証プログラム110は、検証イベントについてのユーザと関連付けられた情報を表示し、この情報は、名前、身長測定値、髪の色、及び識別されたトランザクション異常のアカウントと関連付けられたユーザの任意の他の識別可能な特徴を含む。ピア検証プログラム110は、検証ユーザのセットからの各検証ユーザと関連付けられたクライアント・デバイスのユーザ・インターフェースに情報を表示する。検証ユーザのセットからの各検証ユーザは、ピア検証プログラム110が表示する情報を見て、識別されたトランザクション異常のアカウントと関連付けられたユーザの視覚的な説明が、小売場所においてトランザクション異常を行っているユーザの視覚的な説明と一致するかどうかを判断することができる。別の実施形態では、ピア検証プログラム110は、アカウントと関連付けられたユーザの1つ又は複数の画像を表示し、この場合、ピア検証プログラム110は、ユーザのプライバシーを保護するために、1つ又は複数の画像のそれぞれにおけるユーザの顔を、識別できないようにピクセル化してレンダリングする。検証ユーザのセットからの各検証ユーザは、アカウントと関連付けられたユーザの1つ又は複数の画像を、トランザクション異常を行っているユーザと比較することができる。クライアント・デバイスのカメラ機能がアクティブにされると、ピア検証プログラム110は、アカウントと関連付けられたユーザの1つ又は複数の画像を、オーバーレイとしてユーザ・インターフェースに表示することができる。
【0026】
ピア検証プログラム110は、トランザクション異常に対してユーザが検証されるかどうかを判断する(214)。ピア検証プログラム110が、トランザクション異常に対してユーザが検証されると判断した場合(「はい(yes)」分岐、214)、ピア検証プログラム110は、トランザクションを許可する(216)。ピア検証プログラム110が、トランザクション異常に対してユーザが検証されないと判断した場合(「いいえ(NO)」分岐、(214)、ピア検証プログラム110は、トランザクションを拒否する(218)。ピア検証プログラム110は、検証ユーザのセットからの各検証ユーザと関連付けられたクライアント・デバイスのユーザ・インターフェースに複数の選択可能なオプションを表示し、この選択可能なオプションは、確認選択、拒否選択、及び不確定(inconclusive)選択を含むことができる。確認選択は、トランザクション異常に対してユーザが検証されることを示し、拒否選択は、トランザクション異常に対してユーザが検証されないことを示し、不確定選択は、ユーザは検証されないが、検証のセットからの別の検証ユーザが、トランザクション異常を行っているユーザを依然として検証できることを示す。各々の選択可能なオプションは、ユーザ・インターフェースに記入式フィールドを含むことができ、検証ユーザは、トランザクション異常を行っているユーザの検証に関するコメントを入力することができる。
【0027】
ピア検証プログラム110は、トランザクションを許可する(216)。ピア検証プログラム110は、トランザクション異常として識別されたトランザクションを許可するために、ユーザ検証通知をトランザクション・オーソライザ(すなわち、金融機関)に送ることによって、トランザクションを許可する。ピア検証プログラム110はまた、トランザクション異常を行っているユーザの検証ユーザによってキャプチャされた1つ又は複数の画像と、検証ユーザによって提供された任意のコメントとをトランザクション・オーソライザに送ることができる。
【0028】
ピア検証プログラム110は、トランザクションを拒否する(218)。ピア検証プログラム110は、トランザクション異常として識別されたトランザクションを拒否するために、ユーザ検証通知をトランザクション・オーソライザ(すなわち、金融機関)に送ることによって、トランザクションを拒否する。別の実施形態では、ピア検証プログラム110は、トランザクション・オーソライザに、トランザクション異常を拒否するよう指示する。ピア検証プログラム110はまた、検証ユーザによってキャプチャされた、トランザクション異常を行っているユーザの1つ又は複数の画像と、検証ユーザによって提供された任意のコメントとをトランザクション・オーソライザに送り、トランザクション異常と関連付けられたアカウントを取り巻く潜在的なセキュリティ違反の解決を支援することもできる。
【0029】
ピア検証プログラム110は、トランザクション異常に基づいて、警告を有効なユーザに送る(220)。前述したように、有効なユーザは、ピア検証プログラム110がトランザクション異常を識別したアカウントと関連付けられたユーザを表す。ピア検証プログラム110は、ユーザの統合されたインデックス、ユーザの各々について関連付けられたクライアント・デバイス(例えば、携帯電話)、及び好ましい連絡方法(例えば、テキスト、電子メール)を利用して、有効なユーザのクライアント・デバイスを識別する。別の実施形態では、ピア検証プログラム110は、アカウントと関連付けられた金融機関に照会し、有効なユーザについての連絡先情報を受け取ることによって、有効なユーザのクライアント・デバイスを識別する。一例では、ピア検証プログラム110は、トランザクション異常に基づいて警告を有効なユーザに送り、この警告は、テキストを介して、有効なユーザと関連付けられたクライアント・デバイスに送られる。別の例では、ピア検証プログラム110は、トランザクション異常に基づいて警告を有効なユーザに送り、この警告は、電子メールを介して、ピア検証プログラム110がトランザクション異常を識別したアカウントと関連付けられた電子メール・アドレスに送られる。警告は、トランザクション異常が発生したアカウントを識別する通知、トランザクション異常の場所、トランザクション異常の時間、及び検証ユーザのセットによってトランザクション異常を行っているユーザを検証できないという記述を含むことができる。この警告は、検証ユーザによってキャプチャされた、トランザクション異常を行っているユーザの1つ又は複数の画像と、検証イベント中に検証ユーザによって提供された任意のコメントとをさらに含むことができる。
【0030】
図3は、本発明の実施形態による、ピア検証プログラムのプロセス・フローの例である。本実施形態では、ユーザは小売場所302で金融トランザクションを行っており、プロセス306は、小売場所302内の特定の場所304で電子読取装置によって処理されている金融トランザクションを表す。プロセス308は、電子読取装置が、処理及び許可のために金融トランザクションをトランザクション・オーソライザ114に送ることを表す。トランザクション・オーソライザ114が金融トランザクションをトランザクション異常として識別することに応答して、プロセス310は、ピア検証プログラム110が、トランザクション・オーソライザ114から、トランザクション異常を行っているユーザを検証する要求を受け取ることを表す。前述したように、トランザクション・オーソライザ114は、ピア検証プログラム110に統合することができ、ピア検証プログラム110は、金融トランザクションをトランザクション異常として識別し、トランザクション異常を行っているユーザを検証するために、検証ユーザのセットを介してピア検証を実行するように決定する。
【0031】
ピア検証プログラム110は、検証ユーザを検索するための境界を識別し、境界は、ユーザがトランザクション異常を行っている特定の場所304から所定の距離にある。本実施形態では、ピア検証プログラム110は、場所302における特定の場所304からの所定の距離にあるものとして境界314を識別し、クライアント・デバイス106Bを有する検証ユーザは境界314内にいるが、クライアント・デバイス106C及び106Dを有する検証ユーザは境界314内にいない。従って、ピア検証プログラム110は、クライアント・デバイス106Bを有する検証ユーザを、識別された境界内の検証ユーザのセットとして識別する。プロセス312は、ピア検証プログラム110が、保留中の検証イベントを検証ユーザのセットに通知することを表し、ピア検証プログラム110は、クライアント・デバイス106C及び106Dを有する検証ユーザのいずれかが境界314内に移動した場合、その2人の検証ユーザに通知することができる。クライアント・デバイス106C及び106Dを有する検証ユーザの一方又は両方が境界314内に移動した場合、ピア検証プログラム110は、クライアント・デバイス106C及び106Dを有する検証ユーザを、同様に検証ユーザのセットとして識別する。
【0032】
ピア検証プログラム110は、トランザクション異常が識別されたアカウントと関連付けられた有効なユーザについての情報を表示し、クライアント・デバイス106Bを有する検証ユーザは、トランザクション異常を行っているユーザを、アカウントと関連付けられた有効なユーザとして検証することができる。プロセス314は、ピア検証プログラム110が、保留中の検証イベントに関して、クライアント・デバイス106Bを有する検証ユーザから確認又は拒否を受け取ることを表す。プロセス316は、ピア検証プログラム110が、保留中の検証イベントに関して、クライアント・デバイス106Bを有する検証ユーザからの確認又は拒否に基づいて、トランザクション異常の許可又は拒否をトランザクション・オーソライザ114に送ることを表す。プロセス318は、トランザクション・オーソライザ114が、トランザクション異常を許可すること又は拒否することを表す。本実施形態では、トランザクション異常を行っているユーザは、クライアント・デバイス106Bを有する検証ユーザによって拒否され、ピア検証プログラム110は、トランザクション・オーソライザ114に、トランザクション異常を拒否するよう指示する。ピア検証プログラム110は、拒否されたトランザクション異常に関する警告を有効なユーザに送る。或いは、クライアント・デバイス106Bを有する検証ユーザにより、ユーザを確認することができ、ピア検証プログラム110は、トランザクション・オーソライザ114に、トランザクション異常を許可するよう指示する。
【0033】
図4は、コンピュータ・システム400を示し、サーバ・コンピュータ102は、ピア検証プログラム110を含むシステムの一例である。コンピュータ・システムは、プロセッサ404、キャッシュ416、メモリ406、永続ストレージ408、通信ユニット410、入力/出力(I/O)インターフェース412、及び通信ファブリック402を含む。通信ファブリック402は、キャッシュ416、メモリ406、永続ストレージ408、通信ユニット410、及び入力/出力(I/O)インターフェース412の間の通信を提供する。通信ファブリック402は、プロセッサ(マイクロプロセッサ、通信及びネットワーク・プロセッサなど)、システム・メモリ、周辺機器、及びシステム内の任意の他のハードウェア・コンポーネントの間でデータもしくは制御情報又はその両方を渡すように設計された任意のアーキテクチャを有するように実装することができる。例えば、通信ファブリック402は、1つ又は複数のバス又はクロスバー・スイッチで実装することができる。
【0034】
メモリ406及び永続ストレージ408は、コンピュータ可読ストレージ媒体である。本実施形態では、メモリ406は、ランダム・アクセス・メモリ(RAM)を含む。一般に、メモリ406は、いずれかの適切な揮発性又は不揮発性のコンピュータ可読ストレージ媒体を含むことができる。キャッシュ416は、メモリ406から最近アクセスされたデータ、及びアクセスされたデータに近いデータを保持することによって、プロセッサ404の性能を向上させる高速メモリである。
【0035】
本発明の実施形態を実施するために用いられるプログラム命令及びデータは、キャッシュ416を介する、それぞれのプロセッサ404の1つ又は複数による実行のために、永続ストレージ408及びメモリ406内に格納することができる。1つの実施形態では、永続ストレージ408は、磁気ハードディスク・ドライブを含む。代替的に又は磁気ハードディスク・ドライブに加えて、永続ストレージ408は、ソリッド・ステート・ハードドライブ、半導体記憶装置、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、フラッシュ・メモリ、又はプログラム命令もしくはデジタル情報を格納することができる任意の他のコンピュータ可読ストレージ媒体を含むことができる。
【0036】
永続ストレージ408により使用される媒体も、取り外し可能とすることができる。例えば、取り外し可能ハードドライブを永続ストレージ408に使用することができる。他の例としては、永続ストレージ408の一部でもある別のコンピュータ可読ストレージ媒体への転送のためにドライブに挿入される光ディスク及び磁気ディスク、サム・ドライブ、スマート・カードなどが挙げられる。
【0037】
通信ユニット410は、これらの例では、他のデータ処理システム又はデバイスとの通信を提供する。これらの例では、通信ユニット410は、1つ又は複数のネットワーク・インタフェース・カードを含む。通信ユニット410は、物理的通信リンク及び無線通信リンクのいずれか又は両方を用いて通信を提供することができる。本発明の実施形態を実施するために用いられるプログラム命令及びデータは、通信ユニット410を通じて永続ストレージ408にダウンロードすることができる。
【0038】
I/Oインターフェース412は、各コンピュータ・システムに接続することができる他のデバイスとの間のデータの入出力を可能にする。例えば、I/Oインターフェース406は、キーボード、キーパッド、タッチ・スクリーン、もしくは何らかの他の適切な入力デバイス又はそれらの組み合わせなどの外部デバイス418への接続を提供することができる。外部デバイス418は、例えば、サム・ドライブ、携帯型光ディスク又は磁気ディスク、及びメモリ・カードなどの携帯型コンピュータ可読ストレージ媒体を含むこともできる。本発明の実施形態を実施するために使用されるソフトウェア及びデータを、そのような携帯型コンピュータ可読ストレージ媒体上に格納することができ、I/Oインターフェース412を介して、永続ストレージ408にロードすることができる。I/Oインターフェース412は、ディスプレイ420にも接続される。
【0039】
ディスプレイ420は、データをユーザに表示する機構を提供し、例えば、コンピュータ・モニタとすることができる。ディスプレイ420は、テーブル・コンピュータのディスプレイなどの、タッチ・スクリーンとして機能することもできる。
【0040】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことが予め理解される。むしろ、本発明の実施形態は、現在知られている又は後に開発される任意の他のタイプのコンピューティング環境と関連して実施することが可能である。
【0041】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
【0042】
特徴は以下の通りである。
【0043】
オンデマンド・セルフ・サービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
【0044】
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
【0045】
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で位置とは独立しているといえるが、より抽象化レベルの高い位置(例えば、国、州、又はデータセンタ)を特定できる場合がある。
【0046】
迅速な弾力性:機能は、迅速かつ弾力的に、幾つかの場合自動的に、プロビジョニングして素早くスケールアウトし、迅速にリリースして素早くスケールインさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
【0047】
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【0048】
サービス・モデルは以下の通りである。
【0049】
Software as a Service(SaaS):クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【0050】
Platform as a Service(PaaS):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイするために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーションホスティング環境構成に対して制御を有する。
【0051】
Infrastructure as a Service(IaaS):コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイ及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント(例えば、ホストのファイアウォール)選択の限定された制御を有する。
【0052】
デプロイメント・モデルは以下の通りである。
【0053】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、構内又は構外に存在することができる。
【0054】
コミュニティ・クラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【0055】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0056】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって結び付けられる2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
【0057】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0058】
ここで
図5を参照すると、例示的なクラウド・コンピューティング環境50が示される。図示のように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)又は携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、もしくはコンピュータ・システム54N又はそれらの組み合わせなどのような、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、1つ又は複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、又はこれらの組み合わせなど、1つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる(図示せず)。このことは、クラウド・コンピューティング環境50が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のない、infrastructure as a service、platform as a service、もしくはsoftware as a service又はそれらの組み合わせを提供することを可能にする。
図5に示されるコンピューティング・デバイス54A~Nのタイプは単に例示であることを意図し、コンピューティング・ノード10及びクラウド・コンピューティング環境50は、任意のタイプのネットワーク上でもしくはネットワーク・アドレス指定可能な接続(例えば、ウェブ・ブラウザを用いる)上で又はその両方で、任意のタイプのコンピュータ化されたデバイスと通信できることを理解されたい。
【0059】
ここで
図6を参照すると、クラウド・コンピューティング環境50(
図5)によって提供される機能抽象化層のセットが示される。
図6に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【0060】
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム61と、RISC(Reduced Instruction Set Computer(縮小命令セットコンピュータ))アーキテクチャ・ベースのサーバ62と、サーバ63と、ブレード・サーバ64と、ストレージ・デバイス65と、ネットワーク及びネットワーク・コンポーネント66と、が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
【0061】
仮想化層70は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティング・システム74、並びに仮想クライアント75を提供することができる。
【0062】
一例においては、管理層80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(Service Level Agreement、SLA)の計画及び履行85は、SLAに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【0063】
ワークロード層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、及びピア検証プログラム110が挙げられる。
【0064】
本明細書で説明されるプログラムは、それらが本発明の特定の実施形態において実施されるアプリケーションに基づいて識別される。しかしながら、本明細書でのいずれの特定のプログラムの命名も、便宜上用いられているに過ぎず、従って、本発明は、こうした命名により識別される及び/又は暗示されるいずれかの特定のアプリケーションにおいてのみ使用するように限定されるべきではないことを理解されたい。
【0065】
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はそれらの組み合わせとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有する1つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
【0066】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【0067】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納するためにコンピュータ可読プログラム命令を転送する。
【0068】
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語、又は類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部がリモートコンピュータ上で実行される場合もあり、又は完全にリモートコンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、リモートコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個別化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【0069】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施できることが理解されるであろう。
【0070】
これらのコンピュータ可読プログラム命令を、コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令はまた、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス又はそれらの組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、その中に格納された命令を有するコンピュー可読媒体が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
【0071】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連のオペレーション・ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
【0072】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及びオペレーションを示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実施するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には1つのステップとして同時に、実質的に同時に、部分的に又は完全に時間的に重なる様式で達成されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実施できることにも留意されたい。