(57)【要約】【課題】  外部処理を用いてアプリケーション内のセンシティブ・データを扱うための方法及びシステムを提供すること。【解決手段】  セキュア環境において実行される方法は、セキュア環境内でアプリケーションを処理することであって、アプリケーションは処理のための要求メッセージを外部処理位置に送信することが可能であり、要求メッセージはデータ・アスペクトを含む、セキュア環境内でアプリケーションを処理することと、処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することと、センシティブ・データをトークン化データで置き換え、センシティブ・データとトークン化データとの間のマッピングをセキュア環境内に格納することによって、データ・アスペクト内のセンシティブ・データをトークン化することと、トークン化データを含む、処理のための要求メッセージを外部処理位置に送信することと、外部処理位置から、トークン化データに対する変換命令によるトークン化データのための注釈を含む処理されたメッセージを受信することと、トークン化データをセンシティブ・データで置き換えること及びセンシティブ・データに対して変換命令を行うことと、を含む。【選択図】      図２
2019536123.tif 000002
【特許請求の範囲】
【請求項１】
外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ実装方法であって、前記方法は、セキュア環境において実行され、
セキュア環境内でアプリケーションを処理することであって、前記アプリケーションは処理のための要求メッセージを外部処理ロケーションに送信することが可能であり、要求メッセージはデータ・アスペクトを含む、セキュア環境内でアプリケーションを処理することと、
処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することと、
前記センシティブ・データをトークン化データで置き換え、前記センシティブ・データと前記トークン化データとの間のマッピングを前記セキュア環境内に格納することによって、データ・アスペクト内の前記センシティブ・データをトークン化することと、
前記トークン化データを含む、処理のための前記要求メッセージを外部処理ロケーションに送信することと、
前記外部処理ロケーションから、前記トークン化データに対する変換命令による前記トークン化データのための注釈を含む処理されたメッセージを受信することと、
前記トークン化データを前記センシティブ・データで置き換えること及び前記センシティブ・データに対して前記変換命令を行うことと、
を含む、方法。
【請求項２】
処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することは、メッセージ・モデルからメッセージのデータ・アスペクトについてのメタデータを読むことを含む、請求項１に記載の方法。
【請求項３】
処理されたメッセージを受信することは、前記セキュア環境における更なる処理のために、完全に変換されていないデータ・アスペクトを識別することを含む、請求項１に記載の方法。
【請求項４】
前記トークン化データを前記センシティブ・データで置き換えること及び前記センシティブ・データに対して前記変換命令を行うことを、要求されるまで遅延させる、請求項１に記載の方法。
【請求項５】
処理のための前記要求メッセージは、前記要求メッセージの前記データ・アスペクトを所与のサービスを起動するのに適した形式に変換するためのものである、請求項１に記載の方法。
【請求項６】
前記変換命令は、単一のトークンに対して作用する単純な関数又は複数のトークン若しくはトークンと文字値との混合物に対して作用する多要素関数を含む、請求項１に記載の方法。
【請求項７】
前記変換命令は、データベース又は分散キャッシュ内の値をルックアップするためのデータベース又はキャッシュ・ルックアップ命令を含む、請求項１に記載の方法。
【請求項８】
前記変換命令は、データベース又はキャッシュ・ルックアップ命令を含み、ルックアップからの出力は、前記セキュア環境の外部で処理される場合、次のトークン化のためにセキュアであるとマーク付けされたアウトバウンド・メッセージ内のフィールドにマッピングされる、請求項１に記載の方法。
【請求項９】
前記変換命令は、その処理を入力データのセンシティブ性に基づいて分離することができる、純粋関数型変換である、請求項１に記載の方法。
【請求項１０】
セキュア環境内でアプリケーションを処理することは、付加的なリソースが必要とされるときにクラウド・バースティングのための方法を使用する、請求項１に記載の方法。
【請求項１１】
セキュア環境内でアプリケーションを処理することは、分散型アプリケーションの一部を含む、請求項１に記載の方法。
【請求項１２】
外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ実装方法であって、前記方法は、外部環境において実行され、
トークン化データを有する１つ又は複数のデータ・アスペクトを含む要求メッセージを、セキュア環境から処理のために外部処理ロケーションにおいて受信することと、
データ・アスペクトのトークン化された値を変換命令による注釈付きトークン化データで置き換えることを含む１つ又は複数の変換を前記データ・アスペクトに適用することによって、前記要求メッセージをコンバートすることと、
変換命令による注釈付きトークン化データを有する前記データ・アスペクトを含む応答メッセージを、前記トークン化データを前記センシティブ・データで置き換え、前記センシティブ・データに対して前記変換命令を行うために、前記セキュア環境に送信することと、
を含む、方法。
【請求項１３】
データ・アスペクトがトークン化されているかどうか判定し、前記データ・アスペクトがトークン化されていない場合には、前記データ・アスペクトに変換を適用し、前記データ・アスペクトがトークン化されている場合には、変換命令によりトークンに注釈付けすることを含む、請求項１２に記載の方法。
【請求項１４】
前記トークン化データに対する注釈を含むコンバートされた要求メッセージは、応答メッセージを前記セキュア環境に送信する前に、前記外部環境内の複数の処理ノードを通じて伝搬される、請求項１２に記載の方法。
【請求項１５】
外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのシステムであって、前記システムは、セキュア環境内にあり、
プロセッサと、コンポーネントの機能を実行するために前記プロセッサにコンピュータ・プログラム命令を提供するように構成されたメモリとを含む、マッピング・エンジンと、
アプリケーションの一部を外部環境ロケーションで処理するための要求メッセージを生成するための要求生成コンポーネントであって、要求メッセージはデータ・アスペクトを含む、要求生成コンポーネントと、
処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別するための、センシティブ・データ識別コンポーネントと、
前記センシティブ・データをトークン化データで置き換え、前記センシティブ・データと前記トークン化データとの間のマッピングを前記セキュア環境内に格納することによって、データ・アスペクト内の前記センシティブ・データをトークン化するための、トークン化コンポーネントと、
前記トークン化データを含む、処理のための前記要求メッセージを外部処理ロケーションに送信するための、要求送信コンポーネントと、
前記外部処理ロケーションから、前記トークン化データに対する変換命令による前記トークン化データのための注釈を含む、処理されたメッセージを受信するための、応答受信コンポーネントと、
前記トークン化データを前記センシティブ・データで置き換えるためのトークン化解除コンポーネントと、前記センシティブ・データに対して前記変換命令を行うための変換命令実行コンポーネントと
を含む、システム。
【請求項１６】
前記センシティブ・データをトークン化するための前記トークン化コンポーネントは、前記要求メッセージの前記データ・アスペクトを外部処理のための形式にコンバートするための変換コンポーネントと一体である、請求項１５に記載のシステム。
【請求項１７】
前記トークン化データに対する変換命令による前記トークン化データのための前記注釈は、前記外部処理において実行される変換論理に従う変換命令を含む、請求項１５に記載のシステム。
【請求項１８】
前記トークン化データを前記センシティブ・データで置き換えるためのトークン化解除コンポーネント及び前記センシティブ・データに対して前記変換命令を行うための変換命令実行コンポーネントを、前記セキュア環境において要求されるまで遅延させる、請求項１５に記載のシステム。
【請求項１９】
前記変換命令は、単一トークンに対して作用する単純な関数、複数のトークン又はトークンと文字値との混合物に対して作用する多要素関数、及びデータベース又は分散キャッシュ内の値をルックアップするためのデータベース又はキャッシュ・ルックアップ命令の群のうちの１つを含む、請求項１５に記載のシステム。
【請求項２０】
前記変換命令は、その処理を入力データのセンシティブ性に基づいて分離することができる、純粋関数型変換である、請求項１５に記載のシステム。
【請求項２１】
セキュア環境内でアプリケーションを処理することは、付加的なリソースが必要とされるときにクラウド・バースティングのための方法を使用する、請求項１５に記載のシステム。
【請求項２２】
セキュア環境内でアプリケーションを処理することは、分散型アプリケーションの一部を含む、請求項１５に記載のシステム。
【請求項２３】
外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのシステムであって、前記システムは、外部処理環境内にあり、
プロセッサと、前記プロセッサにコンポーネントの機能を実行するためのコンピュータ・プログラム命令を提供するように構成されたメモリとを含む、マッピング・エンジンと、
トークン化データを有する１つ又は複数のデータ・アスペクトを含む要求メッセージを、セキュア環境から処理のために外部処理ロケーションにおいて受信するための、要求受信コンポーネントと、
データ・アスペクトのトークン化された値を変換命令による注釈付きトークン化データで置き換えることを含む１つ又は複数の変換をデータ・アスペクトに適用することによって前記要求メッセージをコンバートするための、メッセージ・コンバーティング・コンポーネントと、
変換命令による注釈付きトークン化データを有するデータ・アスペクトを含む応答メッセージを、前記トークン化データを前記センシティブ・データで置き換え、前記センシティブ・データに対して前記変換命令を行うために、セキュア環境に送信するための、メッセージ送信コンポーネントと、
を含む、システム。
【請求項２４】
データ・アスペクトがトークン化されているかどうか判定するためのトークン判定コンポーネントを含み、前記データ・アスペクトがトークン化されていない場合には、前記データ・アスペクトに変換を適用し、前記データ・アスペクトがトークン化されている場合には、変換命令によりトークンに注釈付けする、請求項２３に記載のシステム。
【請求項２５】
外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、プロセッサによって実行可能なプログラム命令を含み、前記プログラム命令は、前記プロセッサに、
セキュア環境内でアプリケーションを処理することであって、前記アプリケーションは処理のための要求メッセージを外部処理ロケーションに送信することが可能であり、要求メッセージはデータ・アスペクトを含む、セキュア環境内でアプリケーションを処理することと、
処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することと、
前記センシティブ・データをトークン化データで置き換え、前記センシティブ・データと前記トークン化データとの間のマッピングを前記セキュア環境内に格納することによって、データ・アスペクト内の前記センシティブ・データをトークン化することと、
前記トークン化データを含む、処理のための前記要求メッセージを外部処理ロケーションに送信することと、
前記外部処理ロケーションから、前記トークン化データに対する変換命令による前記トークン化データのための注釈を含む処理されたメッセージを受信することと、
前記トークン化データを前記センシティブ・データで置き換えること及び前記センシティブ・データに対して前記変換命令を行うことと
を行わせる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センシティブ・データの保護に関し、より具体的には、外部処理を用いてアプリケーション内のセンシティブ・データを扱うことに関する。
【背景技術】
【０００２】
多くの企業は、資本的支出を削減し、かつ変動する容量需要により機敏に対応するために、外部機関によってプロビジョニングされるハードウェア上でその計算処理の一部を実行しようとしている。処理をクラウドに移行することに対する最大の阻害要因は、セキュリティ及びプライバシーである。
【０００３】
アプリケーション統合スタイルの処理の典型的な例は、セキュアなローカル環境内のアプリケーションが、外部サービスによって提供されるなんらかの処理又は情報を要求する場合である。この情報は、アプリケーションが要求メッセージを外部サービスに送信することによって取得される。要求メッセージは、サービスの動作に必要とされるセンシティブな情報を含むことがある。サービスがアプリケーションに応答メッセージを返すことがある。
【０００４】
この種の使用事例（use case）は、アプリケーションとサービスの両方が異なる形式の要求メッセージ及び応答メッセージを期待するので、統合フローを必要とすることが多い。この場合、２つの統合フローが存在することになり、１つは要求メッセージをアプリケーションのデータ形式からサービスのデータ形式に変換するためのものであり、もう１つは応答メッセージを変換するためのものである。
【０００５】
これらの統合フローは、それらのセンシティブなフィールドを含む、データのある程度の操作を行うことはできる。しかしながら、多くの場合、規則による管理（regulatory control）は、会社がデータを企業のネットワークの外部に又は国外に伝送することを許容することを禁止している。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、当該分野において上述の問題に対処することが必要とされる。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ実装方法が提供され、該方法は、セキュア環境において実行され、セキュア環境内でアプリケーションを処理することであって、アプリケーションは処理のための要求メッセージを外部処理ロケーションに送信することが可能であり、要求メッセージはデータ・アスペクトを含む、セキュア環境内でアプリケーションを処理することと、処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することと、センシティブ・データをトークン化データで置き換え、センシティブ・データとトークン化データとの間のマッピングをセキュア環境内に格納することによって、データ・アスペクト内のセンシティブ・データをトークン化することと、トークン化データを含む、処理のための要求メッセージを外部処理ロケーションに送信することと、外部処理ロケーションから、トークン化データに対する変換命令によるトークン化データのための注釈を含む処理されたメッセージを受信することと、トークン化データをセンシティブ・データで置き換えること及びセンシティブ・データに対して変換命令を行うことと、を含む。
【０００８】
このことは、非センシティブ・データ上の大量の計算変換の大部分を外部処理環境において実行することを可能にするという利点を提供する。センシティブ・データ・アスペクトは、外部処理環境内にある間はトークン化されており、センシティブ・データ上の変換処理は、セキュア環境に戻ったときに外部処理環境によって提供される命令に従って実行される。
【０００９】
処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することは、メッセージ・モデルからメッセージのデータ・アスペクトについてのメタデータを読むことを含むことができる。このことは、センシティブ・データ・アスペクトを、アプリケーションの開発とは別にセキュリティ担当者によってメッセージ・モデル内で注釈付けすることができるという利点を有する。
【００１０】
処理されたメッセージをセキュア環境において受信することは、セキュア環境における更なる処理のために、完全に変換されていないデータ・アスペクトを識別することを含むことができる。
【００１１】
トークン化データをセンシティブ・データで置き換えること及びセンシティブ・データに対して変換命令を行うことは、要求されるまで遅延させることができる。このことは、センシティブ・データの変換をそのアプリケーションに適した時点で行うことができ、関連した計算作業を削減することができるという利点を有する。
【００１２】
処理のための要求メッセージは、要求メッセージのデータ・アスペクトを所与のサービスを起動するのに適した形式に変換するためのものとすることができる。
【００１３】
変換命令は、単一のトークンに対して作用する単純な関数又は複数のトークン若しくはトークンと文字値との混合物に対して作用する多要素関数を含むことができる。別の実施形態において、変換命令は、データベース又は分散キャッシュ内の値をルックアップするためのデータベース又はキャッシュ・ルックアップ命令を含む。変換命令は、データベース又はキャッシュ・ルックアップ命令をさらに含むことができ、ルックアップからの出力は、セキュア環境の外部で処理される場合、次のトークン化のためにセキュアであるとマーク付けされたアウトバウンド・メッセージ内のフィールドにマッピングされる。変換命令は、その処理を入力データのセンシティブ性に基づいて分離することができる、純粋関数型変換とすることができる。
【００１４】
１つの実施形態において、セキュア環境内でアプリケーションを処理することは、付加的なリソースが必要とされるときにクラウド・バースティングのための方法を使用することができる。別の実施形態において、セキュア環境内でアプリケーションを処理することは、分散型アプリケーションの一部を含むことができる。
【００１５】
本発明の第２の態様によれば、外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ実装方法が提供され、該方法は、外部環境において実行され、トークン化データを有する１つ又は複数のデータ・アスペクトを含む要求メッセージを、セキュア環境から処理のために外部処理ロケーションにおいて受信することと、データ・アスペクトのトークン化された値を変換命令による注釈付きトークン化データで置き換えることを含む１つ又は複数の変換をデータ・アスペクトに適用することによって、要求メッセージをコンバートすることと、変換命令による注釈付きトークン化データを有するデータ・アスペクトを含む応答メッセージを、トークン化データをセンシティブ・データで置き換え、センシティブ・データに対して変換命令を行うために、セキュア環境に送信することと、を含む。
【００１６】
方法は、データ・アスペクトがトークン化されているかどうか判定し、データ・アスペクトがトークン化されていない場合には、データ・アスペクトに変換を適用し、データ・アスペクトがトークン化されている場合には、変換命令によりトークンに注釈付けすることを含むことができる。
【００１７】
トークン化データに対する注釈を含むコンバートされた要求メッセージは、応答メッセージをセキュア環境に送信する前に、外部環境内の複数の処理ノードを通じて伝搬されることができる。
【００１８】
本発明の第３の態様によれば、外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのシステムが提供され、該システムは、セキュア環境内にあり、プロセッサと、コンポーネントの機能を実行するためにプロセッサにコンピュータ・プログラム命令を提供するように構成されたメモリとを含む、マッピング・エンジンと、アプリケーションの一部を外部環境ロケーションで処理するための要求メッセージを生成するための要求生成コンポーネントであって、要求メッセージはデータ・アスペクトを含む、要求生成コンポーネントと、処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別するための、センシティブ・データ識別コンポーネントと、センシティブ・データをトークン化データで置き換え、センシティブ・データとトークン化データとの間のマッピングをセキュア環境内に格納することによって、データ・アスペクト内のセンシティブ・データをトークン化するための、トークン化コンポーネントと、トークン化データを含む、処理のための前記要求メッセージを外部処理ロケーションに送信するための、要求送信コンポーネントと、外部処理ロケーションから、トークン化データに対する変換命令によるトークン化データのための注釈を含む処理されたメッセージを受信するための、応答受信コンポーネントと、トークン化データをセンシティブ・データで置き換えるためのトークン化解除コンポーネントと、センシティブ・データに対して変換命令を行うための変換命令実行コンポーネントと、を含む。
【００１９】
センシティブ・データをトークン化するためのトークン化コンポーネントは、要求メッセージのデータ・アスペクトを外部処理のための形式にコンバートするための変換コンポーネントと一体とすることができる。
【００２０】
トークン化データに対する変換命令によるトークン化データのための注釈は、外部処理において実行される変換論理に従う変換命令を含むことができる。
【００２１】
トークン化データをセンシティブ・データで置き換えるためのトークン化解除コンポーネント及びセンシティブ・データに対して変換命令を行うための変換命令実行コンポーネントは、セキュア環境において要求されるまで遅延させることができる。
【００２２】
本発明の第４の態様によれば、外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのシステムが提供され、該システムは、外部処理環境内にあり、プロセッサと、コンポーネントの機能を実行するためにプロセッサにコンピュータ・プログラム命令を提供するように構成されたメモリとを含む、マッピング・エンジンと、トークン化データを有する１つ又は複数のデータ・アスペクトを含む要求メッセージを、セキュア環境から処理のために外部処理ロケーションにおいて受信するための、要求受信コンポーネントと、データ・アスペクトのトークン化された値を変換命令による注釈付きトークン化データで置き換えることを含む１つ又は複数の変換をデータ・アスペクトに適用することによって要求メッセージをコンバートするための、メッセージ・コンバーティング・コンポーネントと、変換命令による注釈付きトークン化データを有するデータ・アスペクトを含む応答メッセージを、トークン化データセンシティブ・データで置き換え、センシティブ・データに対して変換命令を行うために、セキュア環境に送信するための、メッセージ送信コンポーネントと、を含む。
【００２３】
システムは、データ・アスペクトがトークン化されているかどうか判定するためのトークン判定コンポーネントを含むことができ、データ・アスペクトがトークン化されていない場合には、データ・アスペクトに変換を適用し、データ・アスペクトがトークン化されている場合には、変換命令によりトークンに注釈付けする。
【００２４】
本発明の第５の態様によれば、外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ・プログラム製品が提供され、該コンピュータ・プログラム製品は、組み入れられたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、該プログラム命令は、プロセッサによって実行可能であり、該プロセッサに、セキュア環境内でアプリケーションを処理することであって、アプリケーションは処理のための要求メッセージを外部処理ロケーションに送信することが可能であり、要求メッセージはデータ・アスペクトを含む、セキュア環境内でアプリケーションを処理することと、処理のための要求メッセージのデータ・アスペクト内のセンシティブ・データを識別することと、センシティブ・データをトークン化データで置き換え、センシティブ・データとトークン化データとの間のマッピングをセキュア環境内に格納することによって、データ・アスペクト内のセンシティブ・データをトークン化することと、トークン化データを含む、処理のための前記要求メッセージを外部処理ロケーションに送信することと、外部処理ロケーションから、トークン化データに対する変換命令によるトークン化データのための注釈を含む処理されたメッセージを受信することと、トークン化データをセンシティブ・データで置き換えること及びセンシティブ・データに対して変換命令を行うことと、を行わせる。
【００２５】
本発明の第６の態様によれば、外部処理を用いてアプリケーション内のセンシティブ・データを扱うためのコンピュータ・プログラム製品が提供され、該コンピュータ・プログラム製品は、組み入れられたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、該プログラム命令は、プロセッサによって実行可能であり、該プロセッサに、トークン化データを有する１つ又は複数のデータ・アスペクトを含む要求メッセージを、セキュア環境から処理のために外部処理ロケーションにおいて受信することと、データ・アスペクトのトークン化された値を変換命令による注釈付きトークン化データで置き換えることを含む１つ又は複数の変換をデータ・アスペクトに適用することによって、要求メッセージをコンバートすることと、変換命令による注釈付きトークン化データを有するデータ・アスペクトを含む応答メッセージを、トークン化データをセンシティブ・データで置き換え、センシティブ・データに対して変換命令を行うために、セキュア環境に送信することと、を行わせる。
【００２６】
説明される本開示の態様は、センシティブ・データをセキュアな環境から送信することなく、アプリケーション又は統合の態様の外部処理を可能にする利点を提供する。
【００２７】
本発明と見なされる主題は、本明細書の結論部にある特許請求の範囲において具体的に指し示され、明確に特許請求される。本発明は、構成及び動作の方法の両方に関して、その目的、特徴及び利点とともに、以下の詳細な説明を添付図面と共に読むときに参照することによって、最も良く理解することができる。
【００２８】
ここで、本発明の好ましい実施形態が、単に例示の目的で、以下の図面を参照して説明される。
【図面の簡単な説明】
【００２９】
【図１】本発明による、システムを示すブロック図である。
【図２】本発明による、方法の態様の例示的な実施形態のフロー図である。
【図３】本発明による、方法の態様の例示的な実施形態のフロー図である。
【図４】本発明による、方法の例示的な実装の模式図である。
【図５】本発明による、システムの態様の例示的な実施形態のブロック図である。
【図６】本発明による、システムの態様の例示的な実施形態のブロック図である。
【図７】本発明を実装することができる、コンピュータ・システム又はクラウド・サーバの実施形態のブロック図である。
【図８】本発明を実装することができる、クラウド・コンピューティング環境の模式図である。
【図９】本発明を実装することができる、クラウド・コンピューティング環境の抽象化モデル層の図である。
【発明を実施するための形態】
【００３０】
例示を簡明かつ明確にするために、図に示される要素は、必ずしも縮尺通りに描かれていないことが認識されるであろう。例えば、要素のうちの幾つかの寸法は、明確にするために、他の要素に対して誇張されていることがある。さらに、適切と考えられる場合、参照符号は、対応する又は類似する特徴を示すために、図の間で繰り返されることがある。
【００３１】
説明される方法及びシステムは、外部処理を用いてアプリケーション内のセンシティブ・データを扱うことを可能にする。この方法は、いかなるセンシティブ・データもセキュアな処理環境から出すことなく、統合フローの処理を行うようにプロビジョニングされる、クラウド、分散型環境、又は他の外部処理環境内に存在するような、遠隔エンティティの使用を可能にする。
【００３２】
１つの実施形態において、いかなるセンシティブ・データも企業のオンプレミス・データセンタから出すことなく、クラウドがプロビジョニングした計算インスタンスを用いて既存の統合フローの処理の大部分を実行することができる。
【００３３】
図１を参照すると、ブロック図は、説明されるシステムを実装することができる例示的な環境１００を示す。セキュア環境システム１１０は、例えばオンプレミス・コンピューティング・システム又はシステムのネットワークの形態で設けることができる。このようなセキュア環境システム１１０は、機密の又はセンシティブなデータが保護されることを保証するためにファイアウォール及び他のセキュリティ手段によって保護することができ。
【００３４】
セキュア環境システム１１０は、アプリケーション１２０のためのランタイム・エンジン１１１を含むことができる。アプリケーション１２０は、アプリケーション処理のサブセットの複数の処理ノード１２１〜１２３を含むことができる。
【００３５】
パブリック・クラウドによって提供されるような遠隔システム１３０は、アプリケーション１２０のための処理サービスを、例えばアプリケーション１２０のための１つ又は複数の処理ノード１４１を実行するためのサービス１４０を提供することによって提供することが可能であり得る。
【００３６】
一例において、アプリケーション１２０は、遠隔サービス１４０によって提供されるなんらかの情報又は処理を要求し得る。この情報又は処理は、アプリケーション１２０が要求メッセージ１５０をサービス１４０に送信することによって取得することができる。要求メッセージ１５０は、個人の国民保険番号、社会保障番号、又はクレジットカード番号のようなセンシティブ・データを含み得る。サービス１４０は、そのセンシティブ・データを、例えばその個人がある特定の金額のローンの返済を履行しない確率を計算するために使用すること望むかもしれない。応答メッセージは、その個人の信用格付け並びにその個人及びその信用履歴に関する他のなんらかの詳細を含み得る。
【００３７】
この種の使用事例は、アプリケーション１２０とサービス１４０の両方が異なる形式の要求メッセージ１５０及び応答メッセージ１６０を期待するので、統合フローを必要とすることが多い。この場合、２つの統合フローが存在することになり、１つは要求メッセージ１５０をアプリケーションのデータ形式からのサービスのデータ形式に変換するためのものであり、もう１つは応答メッセージ１６０を変換するためのものである。
【００３８】
ＩＢＭ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｂｕｓ（ＩＩＢ）（以前はＷｅｂｓｐｈｅｒｅ  Ｍｅｓｓａｇｅ  Ｂｒｏｋｅｒであり、ここでＩＢＭ及びＷｅｂｓｐｈｅｒｅは、インターナショナル・ビジネス・マシーンズ・コーポレーションの商標である）のような統合製品において、利用可能な種々の変換技術が存在する。多くの場合、変換エンジンは、純粋関数型プログラミング・モデルを提供する。純粋関数型変換言語（ＩＩＢにおけるＧｒａｐｈｉｃａｌ  Ｄａｔａ  Ｍａｐｐｅｒなど）は、変換が、他のいずれかの変換に対する副作用を有さないことを保証する。
【００３９】
アプリケーション１２０からサービス１４０へのマッピングのような１つのデータ構造から別のデータ構造へのマッピングは、各環境内のマッピング・エンジン１１２、１３２における変換コンポーネント１１３、１３３によって実行され得る多数の変換から構成される。
【００４０】
各変換は、０、１つ又は複数の入力と、１つ又は複数の出力とを有する。変換に対する入力及び出力は、マッピングのための入力及び出力データ構造内のフィールドである。例えば、ある変換は、フィールドの値を大文字に変換することができ、又は２つのフィールドを１つに連結することができる。これらの変換は、互いに完全に独立である。例えば、１つの変換の出力を他の変換の入力として使用することはできず、また、変換が実行される順序を制御又は予測することはできない。
【００４１】
説明される方法を用いて、このマッピングを、センシティブ・データを送信せずに、パブリック・クラウド１３０上にバースティングして計算ワークロードをオフロードすることができる。代わりに、セキュア環境システム１１０のマッピング・エンジン１１２は、各センシティブ・フィールドをトークンで置き換えるためのトークン化コンポーネント１１４を含み、このトークンを後で、セキュア環境システム１１０上の計算インスタンスが用いて、そのフィールドの元の値を求めることができる。トークン化マッピング１１５は、セキュア環境システム１１０内で維持することができ、トークンをセンシティブ・データにマッピングする。
【００４２】
マッピング・エンジン１３２のクラウド・インスタンスは、トークン注釈付けコンポーネント１３４を含むことができ、これは、これらのトークン化されたフィールドのうちの１つをその入力として有する変換を検出し、その値を変換してこれを出力フィールドに書き出す代わりに、そのトークンに加えてどの変換が行われるはずであったかの命令を格納する。非トークン化入力を有する変換についてはいずれも、変換コンポーネント１３３が通常通りに変換を実行し、変換された値を出力に書き出すことができる。
【００４３】
ひとたび部分的に変換された応答メッセージ１６０がセキュア環境システム１１０の計算インスタンスに戻ると、完全には変換されなかったフィールドが識別され、変換がトークンを用いて元の値を求め、次いで命令された変換を実行する。
【００４４】
説明される方法及びシステムを実装することができる環境の別の実施形態において、複数のデータセンタが同じ多国籍企業の管理下にある場合がある。メッセージを１つのデータセンタから別のデータセンタに送信し、応答を最初のデータセンタに返送することができる。しかしながら、このワークフローが、メッセージ内のデータの一部を国外に出すことが許可されないためにこれを送信することができないとして容認されなくなることが、後で（例えば、法律の変更又は１つのデータセンタの移転に起因して）決定されることがある。このことは、アプリケーションを再設計して、再実装及びテストのためにかなりの作業を請け負わなければならないことを意味する。
【００４５】
説明される方法は、このシナリオにおいて使用することができ、この場合、唯一の変更は、データを記述するメッセージ・モデルを新たな制約条件で更新する必要があり得ること、及び、センシティブ・データのトークン化を実装し得ることである。トークン化されたメッセージを第２のデータセンタに送信することができ、第２のデータセンタは、処理を実行し、いずれかのトークン化されたフィールドに適用すべき変換の注釈を伴って応答することができる。
【００４６】
図２を参照すると、フロー図２００は、セキュア環境において実行されるときの、説明される方法の態様の例示的な実施形態を示す。
【００４７】
ランタイム・エンジンにおけるセキュア環境においてアプリケーションを提供する（２０１）ことができる。アプリケーションの一部の外部処理のための要求メッセージを生成する（２０２）ことができる。要求メッセージ内のセンシティブ・データを識別する（２０３）ことができる。これは、メッセージのデータ・アスペクトに関連付けられたメタデータを読むことによって行うことができる。
【００４８】
説明される方法及びシステムにおいて、例えばメッセージ・モデルの形態であり得る、データ構造の説明又はモデルに注釈付けして、センシティブ・データを含むデータ・アスペクトを識別することができる。データ・アスペクトは、フィールド若しくは構造のようなアスペクト、又は構造内の要素を含むことができる。
【００４９】
方法は、センシティブ・データを含むものとして識別されたデータ・アスペクトをトークン化する（２０４）ことができる。これは、センシティブ・データ値をトークンで置き換え、センシティブ・データ値に対するトークンのマッピングをセキュア環境において提供することを伴うことができる。
【００５０】
次に、トークン化された値で処理するために、要求メッセージをセキュア環境から外部に送信する（２０５）ことができる。要求メッセージは、図３で後述するように、外部システムによって処理されることができる。処理の間に、ひとたびセキュア環境に戻ったときにセンシティブ・データが再挿入されると実行することが必要とされる変換に関する命令により、トークン化された値を注釈付けすることができる。外部環境における処理は、非トークン化データ・アスペクトに対して変換を実行することができる。応答メッセージを返す前に、付加的なノード処理を外部システムにおいて実行することができる。
【００５１】
センシティブ・データ値に対して実行すべき変換の注釈を含むトークン化された値を有する応答メッセージを、セキュア環境において受信する（２０６）ことができる。
【００５２】
セキュア環境において、応答メッセージを処理し（２０７）、変換の注釈を有するトークン化データを識別することができる。いずれかのトークン化された値をマッピング内でルックアップし（２０８）、センシティブ・データで置き換えることができる。
【００５３】
注釈において定義された通りの変換を、セキュア環境内でセンシティブ・データに適用する（２０９）ことができる。
【００５４】
トークン化された値の置き換え及び変換の適用は、セキュア環境において、応答メッセージを受信すると即時に実行することもでき、又は処理の適切な時間まで遅延させることもできる。
【００５５】
図３を参照すると、フロー図３００は、セキュア処理環境内のアプリケーションの代理としてアプリケーションの一部を処理することが可能な外部処理環境において実行されるときの、説明される方法の態様の例示的な実施形態を示す。
【００５６】
外部環境においてメッセージ要求を受信する（３０１）ことができる。メッセージ変換内の各々の離散的なデータ・アスペクト変換３０２について、メッセージの入力がトークン化されているかどうかを判定する（３０３）ことができる。
【００５７】
入力がトークン化されていない場合、外部環境における変換を実行する（３０４）ことができる。しかしながら、入力がトークン化されている場合、変換命令によりトークンを注釈付けする（３０５）ことができる。
【００５８】
次いで応答メッセージをセキュア環境に送信する（３０６）ことができ、そこでトークン化データがひとたびセンシティブ・データで置き換えられると、いずれかの注釈付き変換が実行される。代替的に、外部処理環境において実行される付加的なノード処理が存在してもよく、その場合、メッセージを次の処理ノードに転送することができる。
【００５９】
トークン化データに対して注釈付けすることができる、データ・アスペクトに対する可能な変換は、以下のものを含むことができる：
１．１つのトークンに対する単純な関数、例えば、ｔｒｉｍ（不要スペース削除）関数、ｓｕｂ−ｓｔｒｉｎｇ（部分文字列）関数、ｌｏｗｅｒｃａｓｅ（小文字）関数など。
２．多要素の関数、例えば、複数のトークン又はトークンと文字値との混合物のｍｅｒｇｅ（併合）関数、ｃｏｎｃａｔｅｎａｔｅ（連結）関数など。
３．データベース又はキャッシュ・ルックアップを命令として注釈付けすることもできる。インバウンド・メッセージは、そのストアがオンプレミスにのみ配置されている又はアクセス可能である場合に、データベース又は分散キャッシュ内の値をルックアップするためのキーを含むことができる。ルックアップからの出力は、セキュアであるとしてマーク付けされたアウトバウンド・メッセージ内のフィールドにマッピングすることができ、それはセキュア環境から送信される場合にはトークン化を必要とする。
【００６０】
変換論理自体が、別のサービス（例えば、データベース、キャッシュ、システム等）を呼び出して、「自分の変換の出力におけるフィールドＸの値は、自分が入力メッセージのフィールドＹの値を用いてルックアップするときにデータベース内に保持されている値である」と言うことができ、ここで入力のフィールドＹは、セキュアであり、トークン化され得る。従って、完了するための注釈は、対話するシステムの詳細を含むことができる。
【００６１】
図４を参照すると、模式図４００は、セキュア環境、この場合オンプレミス４１０で実行される処理、及び、外部環境、この場合パブリック・クラウド４２０において実行される処理の例示的な実施形態を示す。
【００６２】
要求メッセージ４０１は、アプリケーションから統合ソリューションのオンプレミス・インスタンスを通じて送信される。このメッセージは、個人を特定できる情報（Personally Identifiable Information、ＰＩＩ）と考えられるクレジットカード番号「１２３４  ５６７８  ９０１２  ３４５６」４３１を含む。トークン化関数４１１は、クレジットカード番号を一意のトークンＩＤ「ＴＫ１」４３２で置き換え、実際の値４３１とトークン４３２との間のマッピング４１２を格納する。これは、オンプレミス・システム４１０内のセキュアなロケーションに格納される。
【００６３】
要求メッセージ４０２は、変換エンジンのクラウド・インスタンス内に送信され、宛先サービス用の正しい形式に変換される。これは変換関数４２１によって示される。このバージョンの要求メッセージ４０２にはＰＩＩは含まれていない。
【００６４】
変換エンジンは、マッピングの構成に従って、メッセージ全体を変換する。クレジットカード番号は既にトークン化されているので、変換ステップ４２１は、単にこれを正しい宛先フィールドで置き換えるだけである。そのフィールドの値は、この特定のフィールド・マッピング用に構成された変換関数に関する情報に設定される。この場合、最後の４桁を返すｓｕｂｓｔｒｉｎｇ（）関数であり、これは、フィールド「ｓｕｂｓｔｒｉｎｇ（ＴＫ１，ＴＫ１．ｌｅｎｇｔｈ−４）」４３３を与える。他の全てのフィールドについて、変換４２１がこの段階で適用され、実際の値が書き出される。
【００６５】
部分的に変換されたメッセージ４０３がオンプレミス統合エンジンに返送される。トークン逆戻し（ｒｅｖｅｒｓｅ  ｔｏｋｅｎ）関数４１３が、セキュアなストレージ・トークン・マッピング４１２から、トークン「ＴＫ１」に関連付けられた実際の値を取り出す。
【００６６】
部分的に変換されたメッセージ４０４が、変換完了（ｃｏｍｐｌｅｔｅ  ｔｒａｎｓｆｏｒｍ）４１４ステップに送信される。この段階で、部分的に変換されたメッセージは、元の実際の値と、適用すべき変換についての情報、この場合「ｓｕｂｓｔｒｉｎｇ（“１２３４  ５６７８  ９０１２  ３４５６”，ｌｅｎｇｔｈ−４）」４３４とを有する。
【００６７】
変換完了４１４ステップは、カード番号の最後の４桁を取り出すことによって、意図された変換を行い、正しい形式にされたメッセージ４０５、この場合「３４５６」４３５を宛先サービスに送信する。
【００６８】
ここでの例は、データの大部分が、センシティブではなく、クラウド・インスタンス４２０において変換されることができることを示す。クレジット番号は、オンプレミス４１０でのみ処理されるが、クラウド・インスタンス４２０上で実行された変換論理４２１がそのフィールドに適用すべき関数を決定した。
【００６９】
計算処理の大部分は、おそらく非センシティブなデータに対するものであるので、説明される方法は、付加的な柔軟性、弾力性、及び性能の利点を提供する。
【００７０】
有利には、「トークン逆戻し（Ｒｅｖｅｒｓｅ  Ｔｏｋｅｎｓ）」及び「変換完了（Ｃｏｍｐｌｅｔｅ  Ｔｒａｎｓｆｏｒｍ）」するオンプレミス・ステップは即時に実行することもでき、又は必要とされるまで遅延させることもできる。例えば、完全な変換は、シリアル化ステップまで、又は特定のフィールドが構文解析されるまで必要とされない場合がある。このことは、本明細書において説明される方法が「オンデマンド」構文解析技術及び「即時」構文解析技術の両方で働くことを可能にする。
【００７１】
即時構文解析では、「トークン逆戻し」及び「変換完了」ステップを即時に実行することができる。しかしながら、オンデマンド又は要求駆動型（ｌａｚｙ）構文解析では、必要とされるまでこのアクションを遅延させることができる。例えば、メッセージがセキュア環境へ戻ってきたとき、以下の論理が存在するものとする：
ルート・オン・ヘッダ（Ｒｏｕｔｅ  ｏｎ  ｈｅａｄｅｒ）→ログ・ヘッダ（Ｌｏｇ  ｈｅａｄｅｒ）→変換（Ｔｒａｎｓｆｏｒｍ）→出力（Ｏｕｔｐｕｔ）
【００７２】
メッセージ本文内には、トークン逆戻しステップ及び変換完了ステップの適用を必要とする１つのフィールドが存在しているかもしれない。最初の２つのノードは、メッセージ・ヘッダ内のみのデータにアクセスしているので、そのフィールドの最終値はまだ必要とされない。次に、変換を行うことができ、次いでメッセージを出力する。出力は、メッセージ全体をシリアル化し、例えば、これをメッセージキューに置く。
【００７３】
いくつかの可能な選択肢は下記の通りである：
変換は、そのフィールドを変化させることなく（しかしこれを出力メッセージ内で保持して）メッセージを変換し得るので、値は出力がシリアル化されるまで必要とされない。
変換は、メッセージを変換し、そのフィールド値を必要とし得るので、トークンを逆戻しすることができ、次いで変換を完了させることができる。
変換は、メッセージからフィールドを除去するだけであり得るので、値は全く必要とされない。この場合、オンデマンドで又は必要時に構文解析することは、トークン逆戻し及び変換完了に関連付けられた計算作業が回避されたことを意味する。
【００７４】
付加的な例は、以下のようなものとすることができ、各ステップはノードである：
入力（Ｉｎｐｕｔ）→ログ（Ｌｏｇ）→要求変換（Ｔｒａｎｓｆｏｒｍ  Ｒｅｑｕｅｓｔ）→サービス呼出し（Ｃａｌｌ  ｓｅｒｖｉｃｅ）→応答変換（Ｔｒａｎｓｆｏｒｍ  Ｒｅｓｐｏｎｓｅ）→出力（Ｏｕｔｐｕｔ）
【００７５】
変換ノードは、処理リソースの大部分を使用し得る。セキュア環境内の入力においてメッセージを受け取ることができ、同じ環境内でログ記録することができる。これは次にセキュア・データをトークン化し、大量の変換作業を行う（すなわち処理をクラウド・バースティングする）ためにメッセージをクラウドに送ることができる。変換されたメッセージをセキュア環境に返すことができ、そこでセキュア・データに対する変換を完了させることができる。次いで、信用格付けのような情報又はなんらかの処理を提供するサービスに対する呼出しを行うことができる（所与の例において、カード番号の形態のセキュア・データは、抽出された最後の４桁のみを有するので、今や送信することができる）。次いでサービスからの応答をオンプレミスで受け取ることができ、別の変換を実行することができる。適切だと思われる場合には、この処理を再びクラウド・バースティングさせることを選択することができる。出力をセキュア環境内の出力に返す前に、データの更なるトークン化を含む場合もあり、含まない場合もある。
【００７６】
更なる例は、以下のようなものとすることができ、各ステップはノードである：
入力（Ｉｎｐｕｔ）→ログ（Ｌｏｇ）→変換（Ｔｒａｎｓｆｏｒｍ）→ルート（Ｒｏｕｔｅ）→変換（Ｔｒａｎｓｆｏｒｍ）→外部サービス呼出し（Ｃａｌｌ  ｅｘｔｅｒｎａｌ  ｓｅｒｖｉｃｅ）→変換（Ｔｒａｎｓｆｏｒｍ）→ログ（Ｌｏｇ）→出力（Ｏｕｔｐｕｔ）
【００７７】
これは全てセキュア環境内で行うことができ、セキュア環境内で入力メッセージを受け取り、ログ記録し、中間メッセージ構造に変換し、次いでフィールド値に基づいて次のノードにルーティングし（すなわち、次に実行すべき変換のタイプが何であるかを決定することができる）、次いで第２の変換を行って外部サービスを呼び出し、応答を変換し、応答する前にログ記録する。ここで「変換→ルート→変換」を行う３つのノードは、外部サービスを呼び出す前に変換を完了するためにセキュア環境に戻る前は、場合によっては「クラウド・バースティング」であり得る。この場合、トークン化データ上で完了する変換に関するメッセージフィールド上の注釈は、遠隔クラウド環境内のノードを通じて伝搬されることになり、次いでメッセージがセキュア環境に戻ったときに外部サービスを呼び出す前に完了される。
【００７８】
説明される方法は、この使用事例を念頭に置かずに開発された変換の使用を可能にする。Ｇｒａｐｈｉｃａｌ  Ｄａｔａ  Ｍａｐｐｅｒのような純粋関数型変換言語を使用して、入力データのセンシティブ性（sensitivity）に基づいて処理を分離することができる。
【００７９】
方法は、トークン化技術をグラフィカル・マッパのような純粋関数型プログラミングエンジンと組み合わせて、より安価でよりスケーラブルであるがそれほどセキュアではないクラウド上の計算インスタンスにオフロードすることができる処理の量を最大化する。
【００８０】
ここでの価値は、さらに多くの企業が、ＰＰＩ及び他のセンシティブ・データを管理する規則に違反する恐れなしに、クラウド計算処理を使用することができるようになることである。
【００８１】
説明される方法は、例えば、全ての処理がオンプレミスで実行されるが付加的なリソースが必要とされる場合には処理の一部をクラウドに送ることができる、クラウド・バースティング・シナリオにおいて提供することができる。例えば、ブラックフライデーにワークロードのスパイクがある場合である。その時点で、又は配備時に若しくは解析によって決定され、特定の離散的論理（処理ノード）をクラウドにオフロードすることができる。これらのノードは、アプリケーションが当初配備されるときにそこに配備され、必要時に利用することができる。
【００８２】
別のシナリオは、分散型アプリケーションとすることができる。パブリック環境とプライベート環境とがリンクされたハイブリッド環境を提供することができ、アプリケーションがそこに配備されるとき、あらゆるセキュア処理はオンプレミスで行われるべきであるが、オンプレミスでのリソース使用率を制限するために他のものはどれでもパブリック・クラウド環境内で処理されることを望む。
【００８３】
説明される方法によれば、通信及びノードは必ずしも信頼される又はセキュアである必要はなく、そのことが新たなビジネスモデル及び収益を可能にする。
【００８４】
図５を参照すると、ブロック図は、図１に示すようなセキュア環境におけるマッピング・エンジン１１２の形態のシステムを示す。マッピング・エンジン１１２は、少なくとも１つのプロセッサ５０１、少なくとも１つのプロセッサ上で実行されるソフトウェア・ユニットとすることができる説明されるコンポーネントの機能を実行するための、ハードウェアモジュール、又は回路を含むことができる。並列処理スレッドを実行する複数のプロセッサを設けて、コンポーネントの機能の一部又は全部の並列処理を可能にすることができる。メモリ５０２は、コンポーネントの機能を実行するために少なくとも１つのプロセッサ５０１にコンピュータ命令５０３を提供するように構成することができる。
【００８５】
マッピング・エンジン１１２は、アプリケーションの一部を外部環境において処理するためのメッセージ要求を送信するためのシステムを提供することができる。
【００８６】
マッピング・エンジン１１２は、アプリケーションの一部を外部処理ロケーションで処理するための要求メッセージを生成するための、要求生成コンポーネント５１１を含むことができる。
【００８７】
マッピング・エンジン１１２は、要求メッセージのデータ・アスペクト内のセンシティブ・データを識別するためのセンシティブ・データ識別コンポーネント５１２と、センシティブ・データをトークン化データで置き換え、センシティブ・データとトークン化データとの間のマッピング１１５をセキュア環境内に格納することによってデータ・アスペクト内のセンシティブ・データをトークン化するための、トークン化コンポーネント１１４とを含むことができる。要求メッセージの非センシティブ・データ・アスペクトを変換して、要求メッセージのデータ・アスペクトを外部処理用の形式にコンバートするための、変換コンポーネント１１３を設けることもできる。
【００８８】
マッピング・エンジン１１２は、トークン化データを含む、処理用要求メッセージを外部処理ロケーションに送信するための要求送信コンポーネント５１３と、トークン化データに対する変換命令によるトークン化データに対する注釈を含む、処理されたメッセージを外部処理ロケーションから受信するための応答受信コンポーネント５１４とを含むことができる。
【００８９】
マッピング・エンジン１１２は、トークン・マッピング１１５をルックアープすることによってトークン化データをセンシティブ・データで置き換えるためのトークン化解除（ｄｅ−ｔｏｋｅｎｉｚｉｎｇ）コンポーネント５１５と、センシティブ・データに対して変換命令を実行するための変換実行コンポーネント５１６とを含むことができる。
【００９０】
トークン化データをセンシティブ・データで置き換えるためのトークン化解除コンポーネント及びセンシティブ・データに対して変換命令を実行するための変換実行コンポーネントは、セキュア環境において必要とされるまでその動作を遅延させることができる。
【００９１】
図６を参照すると、ブロック図は、図１に示すような外部環境におけるマッピング・エンジン１３２の形態のシステムを示す。マッピング・エンジン１３２は、少なくとも１つのプロセッサ５６１、少なくとも１つのプロセッサ上で実行されるソフトウェア・ユニットとすることができる説明されるコンポーネントの機能を実行するための、ハードウェアもジュース、又は回路を含むことができる。並列処理スレッドを実行する複数のプロセッサを設けて、コンポーネントの機能の一部又は全部の並列処理を可能にすることができる。メモリ５６２は、コンポーネントの機能を実行するために少なくとも１つのプロセッサ５６１にコンピュータ命令５６３を提供するように構成することができる。
【００９２】
マッピング・エンジン１３２は、アプリケーションの一部を外部環境において処理するためのセキュア環境からのメッセージ要求を受信するためのシステムを提供することができる。
【００９３】
マッピング・エンジン１３２は、処理のために外部処理ロケーションで要求メッセージを受信するための要求受信コンポーネント５５１を含むことができる。要求メッセージは、トークン化データを有する１つ又は複数のデータ・アスペクトを含むことができる。
【００９４】
マッピング・エンジン１３２は、データ・アスペクトのトークン化された値を変換命令による注釈付きトークン化データで置き換えることを含む１つ又は複数の変換をデータ・アスペクトに適用することによって要求メッセージをコンバートするための、メッセージ・コンバーティング・コンポーネント５５２を含むことができる。メッセージ・コンバーティング・コンポーネント５５２は、非トークン化データに変換を適用するための変換コンポーネント１３３と、変換命令でトークン化データ・アスペクトを注釈付するためのトークン注釈付けコンポーネント１３４とを含むことができる。メッセージ・コンバーティング・コンポーネント５５２は、データ・アスペクトがトークン化されているかどうか判定するためのトークン判定コンポーネント５５４を含むことができ、データ・アスペクトがトークン化されていない場合には、データ・アスペクトに変換を適用し、データ・アスペクトがトークン化されている場合には、変換命令でトークンに注釈付する。
【００９５】
マッピング・エンジン１３２は、変換命令による注釈付きトークン化データを有するデータ・アスペクトを含む応答メッセージを、トークン化データをセンシティブ・データで置き換え、センシティブ・データに対して変換命令を行うために、セキュア環境に送信するための、メッセージ送信コンポーネント５５３を含むことができる。代替的に、メッセージ送信コンポーネント５５３は、セキュア環境に戻る前に、更なる処理のために外部環境内の次の処理ノードにメッセージを転送することができる
【００９６】
ここで図７を参照すると、コンピュータ・システム又はサーバの形態のシステム６００の例の概略図が示される。
【００９７】
コンピュータ・システム又はサーバ６１２は、多数の他の汎用又は専用コンピューティング・システム環境又は構成と共に動作することができる。コンピュータ・システム／サーバ６１２と共に使用するのに好適であり得る周知のコンピューティング・システム、環境、及び／又は構成の例として、これらに限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式又はラップトップ型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップボックス、プログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び、上述のシステム又はデバイスのいずれかを含む分散型クラウド・コンピューティング環境等が含まれる。
【００９８】
コンピュータ・システム／サーバ６１２は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム／サーバ６１２は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【００９９】
図７において、コンピュータ・システム／サーバ６１２は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム／サーバ６１２のコンポーネントは、これらに限定されるものではないが、１つ又は複数のプロセッサ又は処理ユニット６１６、システム・メモリ６２８、及びシステム・メモリ６２８を含む種々のシステム・コンポーネントをプロセッサ６１６に結合するバス６１８を含むことができる。
【０１００】
バス６１８は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のうちのいずれかの１つ又は複数を表す。限定ではなく例としては、このようなアーキテクチャは、業界標準アーキテクチャ（Industry Standard Architecture、ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Micro Channel Architecture、ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカル・バス、及びＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ（ＰＣＩ）バスを含む。
【０１０１】
コンピュータ・システム／サーバ６１２は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ６１２によりアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不能媒体の両方とを含む。
【０１０２】
システム・メモリ６２８は、ランダム・アクセス・メモリ（ＲＡＭ）６３０及び／又はキャッシュ・メモリ６３２など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ６１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体（図示されておらず、典型的には「ハード・ドライブ」と呼ばれる）との間の読み出し及び書き込みのために、ストレージ・システム６３４を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば、「フロッピー・ディスク」）との間の読み出し及び書き込みのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスク・ドライブとを設けることができる。このような例においては、それぞれを、１つ又は複数のデータ媒体インターフェースによってバス６１８に接続することができる。以下でさらに示され説明されるように、メモリ６２８は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【０１０３】
限定ではなく例として、メモリ６２８内に、プログラム・モジュール６４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ６４０、並びにオペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装を含むことができる。プログラム・モジュール６４２は、一般に、本明細書で説明される本発明の実施形態の機能及び／又は方法を実行する。
【０１０４】
コンピュータ・システム／サーバ６１２は、キーボード、ポインティング・デバイス、ディスプレイ６２４等のような１つ又は複数の外部デバイス６１４；ユーザがコンピュータ・システム／サーバ６１２と対話することを可能にする１つ又は複数のデバイス；及び／又はコンピュータ・システム／サーバ６１２が１つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス（例えば、ネットワーク・カード、モデムなど）と通信することもできる。このような通信は、入力／出力（Ｉ／Ｏ）インターフェース６２２を経由して行うことができる。さらにまた、コンピュータ・システム／サーバ６１２は、ネットワーク・アダプタ６２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、汎用広域ネットワーク（ＷＡＮ）、及び／又はパブリック・ネットワーク（例えば、インターネット）などの１つ又は複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ６２０は、バス６１８を介して、コンピュータ・システム／サーバ６１２の他のコンポーネントと通信する。図示されていないが、コンピュータ・システム／サーバ６１２と共に他のハードウェア及び／又はソフトウェア・コンポーネントを使用できることを理解されたい。例としては、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システムなどが含まれる。
【０１０５】
本発明は、統合のいずれかの可能な技術的詳細レベルにおける、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【０１０６】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【０１０７】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードすることができ、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジ・サーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納するためにコンピュータ可読プログラム命令を転送する。
【０１０８】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができるいずれかのソースコード若しくはオブジェクトコードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【０１０９】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【０１１０】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、命令が内部に格納されたコンピュータ可読ストレージ媒体が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作の態様を実装する命令を含む製品を含むようにすることもできる。
【０１１１】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実装プロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するようにすることもできる。
【０１１２】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【０１１３】
クラウド・コンピューティング
本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在既知の又は後で開発される他のいずれかのタイプのコンピューティング環境と共に実施することができる。
【０１１４】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つの配備モデルを含むことができる。
【０１１５】
特徴は、以下の通りである。
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化：プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確なロケーションについての制御又は知識を持たないが、より高レベルの抽象化ではロケーション（例えば、国、州、又はデータセンタ）を特定できる場合があるという点で、ロケーションとは独立しているといえる。
迅速な弾力性：機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングして素早くスケール・アウトし、迅速にリリースして素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
計測されるサービス：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【０１１６】
サービス・モデルは以下の通りである。
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上に配備するために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択の限定された制御を有する。
【０１１７】
配備モデルは以下の通りである。
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術（例えば、クラウド間の負荷分散のためのクラウド・バースティング）によって結び付けられる２つ以上のクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。
【０１１８】
クラウド・コンピューティング環境は、無国籍性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１１９】
ここで図８を参照すると、例示的なクラウド・コンピューティング環境７５０が示される。示されるように、クラウド・コンピューティング環境７５０は、例えばパーソナル・デジタル・アシスタント（ＰＤＡ）又は携帯電話７５４Ａ、デスクトップ・コンピュータ７５４Ｂ、ラップトップ・コンピュータ７５４Ｃ、及び／又は自動車コンピュータ・システム７５４Ｎなどといった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、１つ又は複数のクラウド・コンピューティング・ノード７１０を含む。ノード７１０は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境７５０は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、及び／又はソフトウェアを提供することが可能になる。図８に示されるコンピューティング・デバイス７５４Ａ〜Ｎのタイプは単に例示であることを意図し、コンピューティング・ノード７１０及びクラウド・コンピューティング環境７５０は、いずれのタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続上でも（例えば、ウェブ・ブラウザを用いて）、いずれのタイプのコンピュータ化された装置とも通信できることを理解されたい。
【０１２０】
ここで図９を参照すると、クラウド・コンピューティング環境７５０（図８）によって提供される機能抽象化層の組が示される。図９に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。：
ハードウェア及びソフトウェア層８６０は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム８６１、ＲＩＳＣ（Reduced Instruction Set Computer（縮小命令セット・コンピュータ））アーキテクチャ・ベースのサーバ８６２、サーバ８６３、ブレード・サーバ８６４、ストレージ・デバイス８６５、並びにネットワーク及びネットワーキング・コンポーネント８６６が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア８６７及びデータベース・ソフトウェア８６８を含む。
仮想化層８７０は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ８７１、仮想ストレージ８７２、仮想プライベート・ネットワークを含む仮想ネットワーク８７３、仮想アプリケーション及びオペレーティング・システム８７４、並びに仮想クライアント８７５を提供することができる。
【０１２１】
一例においては、管理層８８０は、以下で説明される機能を提供することができる。リソース・プロビジョニング８８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定８８２は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例においては、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル８８３は、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８８４は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行８８５は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【０１２２】
ワークロード層８９０は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション８９１、ソフトウェア開発及びライフサイクル管理８９２、仮想教室教育配信８９３、データ分析処理８９４、トランザクション処理８９５、及びメッセージ変換処理８９６が含まれる。
【０１２３】
本発明の種々の実施形態の説明は、例証の目的のために提示されたが、これらは、網羅的であること、又は本発明を開示した実施形態に限定することを意図するものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際の適用、又は市場に見られる技術に優る技術的改善を最もよく説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
【０１２４】
本発明の範囲から逸脱することなく、上記に対する改善及び修正を行うことができる。
【符号の説明】
【０１２５】
４０１、４０２：要求メッセージ
４０３、４０４：部分的に変換されたメッセージ
４０５：正しい形式にされたメッセージ
４３１：クレジットカード番号
４３２：トークン
７１０：クラウド・コンピューティング・ノード
７５０：クラウド・コンピューティング環境
７５４：ローカル・コンピューティング・デバイス
８６０：ハードウェア及びソフトウェア層
８７０：仮想化層
８８０：管理層
８９０：ワークロード層
【図１】
2019536123.tif 000003
【図２】
2019536123.tif 000004
【図３】
2019536123.tif 000005
【図４】
2019536123.tif 000006
【図５】
2019536123.tif 000007
【図６】
2019536123.tif 000008
【図７】
2019536123.tif 000009
【図８】
2019536123.tif 000010
【図９】
2019536123.tif 000011
【国際調査報告】
2019536123.tif 000012
2019536123.tif 000013