(57)【特許請求の範囲】
【請求項１】
構成可能なコンピューティング・リソースのマルチテナント共用プールにおいてホストされるリソースによって生成されるログ・データを管理する方法であって、
複数の前記リソースから受信されるログ情報を集約および正規化するステップと、
前記集約および正規化されたログ情報を、一組のトランザクションのそれぞれに関連するテナントを識別するために構文解析するステップと、
前記一組のトランザクションのそれぞれに関して、前記テナントおよび特定の前記トランザクションに関連するログ・データに、テナント別の識別子を含めるべく注釈を付けるステップと、
を含む方法。
【請求項２】
複数のテナントに関して、前記注釈を付けられたログ・データを記憶するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記注釈を付けられたログ・データを、記憶するステップより前に、テナント毎に分類するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記構文解析するステップは、トランザクション内のイベント・パターンと、一組のフィルタとを比較する、請求項１に記載の方法。
【請求項５】
前記一組のフィルタは、テナント別の識別子と、特定のイベント・パターンとを一意的に関連付けるフィルタを含む、請求項４に記載の方法。
【請求項６】
前記注釈を付けるステップは、トランザクション内の前記イベント・パターンと、前記一組のフィルタの中の前記フィルタのうちの１つとの間の一致に関連する、前記テナント別の識別子を含めるべく、イベント・パターン・データを補強する、請求項５に記載の方法。
【請求項７】
前記リソースは、マルチテナントを認識しないリソースである、請求項１に記載の方法。
【請求項８】
テナント別のログ・データ毎に、コンプライアンス分析を実行するステップをさらに含む、請求項１に記載の方法。
【請求項９】
構成可能なコンピューティング・リソースのマルチテナント共用プールにおいてホストされるリソースによって生成されるログ・データを管理する装置であって、前記装置は、
プロセッサと、
前記プロセッサによって実行されると方法を実行するコンピュータ・プログラム命令を保持するコンピュータ・メモリと、
を含み、前記方法は、
複数の前記リソースから受信されるログ情報を集約および正規化するステップと、
前記集約および正規化されたログ情報を、一組のトランザクションのそれぞれに関連するテナントを識別するために構文解析するステップと、
前記一組のトランザクションのそれぞれに関して、前記テナントおよび特定の前記トランザクションに関連するログ・データに、テナント別の識別子を含めるべく注釈を付けるステップと、
を含む、装置。
【請求項１０】
前記方法は、複数のテナントに関して、前記注釈を付けられたログ・データを記憶するステップをさらに含む、請求項９に記載の装置。
【請求項１１】
前記方法は、前記注釈を付けられたログ・データを、記憶するステップより前に、テナント毎に分類するステップをさらに含む、請求項１０に記載の装置。
【請求項１２】
前記構文解析するステップは、トランザクション内のイベント・パターンと、一組のフィルタとを比較する、請求項９に記載の装置。
【請求項１３】
前記一組のフィルタは、テナント別の識別子と、特定のイベント・パターンとを一意的に関連付けるフィルタを含む、請求項１２に記載の装置。
【請求項１４】
前記注釈を付けるステップは、トランザクション内の前記イベント・パターンと、前記一組のフィルタの中の前記フィルタのうちの１つとの間の一致に関連する、前記テナント別の識別子を含めるべく、イベント・パターン・データを補強する、請求項１３に記載の装置。
【請求項１５】
前記リソースは、マルチテナントを認識しないリソースである、請求項９に記載の装置。
【請求項１６】
前記方法は、テナント別のログ・データ毎に、コンプライアンス分析を実行するステップをさらに含む、請求項９に記載の装置。
【請求項１７】
請求項１〜８の何れか１項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項１８】
プロセッサと、
構成可能なコンピューティング・リソースのマルチテナント共用プールにおいてホストされるリソースによって生成されるロギング・データを管理する方法を実行するために、前記プロセッサによって実行される、コンピュータ・プログラム命令を保持するコンピュータ・メモリと、
を含む、クラウド実現集約プロキシであって、前記方法は、
複数の前記リソースから受信されるログ情報を集約するステップであって、少なくとも１つのリソースは、マルチテナントを認識しないリソースである、前記ステップと、
前記集約されたログ情報を処理するステップであって、一組のトランザクションのそれぞれに関して、前記ログ情報を生成した特定の前記トランザクションに、一組の複数のテナントのうちのどれがバインドされていたかを識別するために、前記処理するステップと、
を含む、クラウド実現集約プロキシ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的に、クラウド・ベースの環境に関し、具体的には、特にコンプライアンス分析、レポーティング、問題判別およびフォレンジックスのために顧客別の監査データをもたらす技術に関する。
【背景技術】
【０００２】
政府による種々の規制のコンプライアンスを証明するために、企業が情報を提供しなければならないことは多い。これらの規制には、例えば、サーベンス・オクスリー（ＳＯＸ：Ｓａｒｂａｎｅｓ−Ｏｘｌｅｙ）法、医療保険の携行性と責任に関する法律（ＨＩＰＡＡ：Ｈｅａｌｔｈ  Ｉｎｓｕｒａｎｃｅ  Ｐｏｒｔａｂｉｌｉｔｙ  ａｎｄ  Ａｃｃｏｕｎｔａｂｉｌｉｔｙ  Ａｃｔ）および同様のものがある。多くの場合、これらの規制およびその他規制のコンプライアンスは、情報技術（ＩＴ：ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ）組織により維持される監査ログに含まれる情報を使用して証明され得る。多くの場合、こうした監査ログは、コンプライアンスのために何年もの間維持される。監査ログは、情報技術統制の実施および有効性、説明責任ならびに脆弱性の確認、もしくはリスク分析、またはそのいずれかの組み合わせに有用である。情報技術組織はさらに、発生し得るセキュリティ・インシデントなど、フォレンジック調査を支援するために、セキュリティ関係のクリティカル・アクティビティの監査を使用し得る。セキュリティ・インシデントが発生すると、監査ログにより、セキュリティ・インシデントの発生前に発生したアクティビティの履歴を分析することができる。このようなアクティビティには、誰が、何を、いつ、どこで、どのように行ったかが含まれる。監査ログの分析により、適切な是正措置がとられ得る。典型的には、監査ログは、運用および傾向レポートを生成するためにレポーティング・プログラムまたはソフトウェアにより情報のクエリを容易に行うことができるよう、リレーショナル・データベースで利用可能にされる。
【０００３】
コンプライアンスは、セキュリティ・ポリシが確実に実施されるようにする能力を保証するものと考えられることもあるが、サービス水準合意（例えば、監査ログのタイムスタンプを使用して全体的なサービス水準合意（ＳＬＡ：Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）が満たされていることを確認する）、法的コンプライアンス（例えば、プライバシ関係情報の制御もしくは公表に関する）、さらにはポリシ管理自体（例えば、誰がポリシをいつどのように変更したか、それがコンプライアンス・ポリシ管理のポリシに従っていたか）など、ほかの種類のポリシにも適用され得る。さらに、特定のポリシのコンプライアンス、またはシステム内のアクションの詳細なフォレンジックス検査は、単なる「監査」ログ以上のものを必要とし得る。典型的には問題判別検査の範囲内で使用される、エラーおよびトレース・ログへのアクセスも必要とし得る。
【０００４】
新たな情報技術（ＩＴ）供給モデルは、共用されるリソース、ソフトウェアおよび情報が、インターネット上でコンピュータおよびその他デバイスにオンデマンドで提供される、クラウド・コンピューティングである。クラウド・コンピューティングは、ワークロード最適化およびサービス供給を改善しながら、ＩＴコストおよび複雑性を大幅に軽減することができる。この手法では、アプリケーション・インスタンスが、ＨＴＴＰ上で従来のウェブ・ブラウザを介してアクセス可能なインターネット・ベースのリソースからホストされて、利用可能にされ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
新たなクラウド環境は、クラウド・ベースのサービスをサポートするようになっている既存のＩＴインフラストラクチャから作成されている。既存の環境と異なる、クラウド・コンピューティングの重要な特徴の１つは、複数顧客の単一展開と呼ばれることもある、いわゆる「マルチテナント」サポートの要件である。この要件を満たすために、サービス・プロバイダは、クラウド・サービスの種々の顧客による使用を分離できなければならない。具体的には、顧客には、クラウド・サービスを使用するときに顧客が従い、かつ従わなければならないコンプライアンス指針がある。これらの顧客は、サービス・プロバイダが顧客のコンプライアンス要件をサポートすることを期待し、コンプライアンス分析に使用するためにサービス・プロバイダからデータを取得することを望む。サービス・プロバイダは、そのデータを提供する必要があるが、同時に、クラウド・リソースを共用している特定の顧客間の分離を維持する必要がある。現在のＩＴインフラストラクチャでは、ログ・ファイルおよび監査レコードに含まれるコンプライアンス・データを取り出すことができない。
【課題を解決するための手段】
【０００６】
本開示は、マルチ・テナント・クラウド展開において、受信された監査ログ・データを（例えば注釈によって）補強（ｅｎｒｉｃｈ）し、当該データが適切なテナント（本願明細書では「顧客」と呼ばれることもある）に関連付けられることを可能にする、方法およびシステムを記載する。本願明細書に記載される技術は、１つのテナントのデータを別の顧客に公開することなく、レポーティングおよびフォレンジックス分析を含むコンプライアンス分析を促進する。
【０００７】
一実施形態では、クラウド実現集約プロキシ（ＣＥＡＰ：ｃｌｏｕｄ  ｅｎａｂｌｅｍｅｎｔ  ａｇｇｒｅｇａｔｉｏｎ  ｐｒｏｘｙ）が、データベースに監査データが記憶される前に、当該データを監査対象リソースから受信して処理する。ＣＥＡＰは、構成可能なコンピューティング・リソースのマルチテナント共用プール（ｍｕｌｔｉ−ｔｅｎａｎｔ  ｓｈａｒｅｄ  ｐｏｏｌ）（例えば計算クラウド）においてホストされるリソースのログ・データを管理する。ログ・データを管理する方法は、プロキシが複数のリソースから受信されるログ情報を集約および正規化することによって開始する。続いて、集約および正規化されたログ情報は構文解析されて、一組のトランザクションのそれぞれに関連するテナントが識別される。一実施形態では、構文解析するステップは、ログをとられたトランザクション内のイベント・パターンと、一組のフィルタとを比較し、一組の中の各フィルタは、テナント別の識別子（ｔｅｎａｎｔ−ｓｐｅｃｉｆｉｃ  ｉｄｅｎｔｉｆｉｅｒ）と、特定のイベント・パターンとを一意的に関連付ける。トランザクション内のイベント・パターンと、フィルタのうちの１つとの間に一致があると、テナント別の識別子を含めるべく、イベント・パターンに注釈が付けられる。したがって、このようにしてＣＥＡＰは、ログ・データがデータ・ストレージに送信される前に、テナント別の識別子を含めるべく当該データに注釈を付ける。記憶の前に、任意選択のテナント分類プロキシ（ＴＳＰ：ｔｅｎａｎｔ  ｓｅｐａｒａｔｉｏｎ  ｐｒｏｘｙ）が、注釈を付けられたログ・データをテナント毎に分類し、テナント別のログ・データは、テナント毎のデータ構造または専用のテナント・ログ・イベント・データベースに記憶されて、後からのコンプライアンスまたはその他の分析を促進するとよい。
【０００８】
別の実施形態では、上記の方法が、プロセッサと、プロセッサによって実行されると本方法を実行するコンピュータ・プログラム命令を保持するコンピュータ・メモリとを含む装置において実行される。
【０００９】
もう１つ別の実施形態では、上記の方法が、データ処理システムにおいて使用されるコンピュータ可読媒体内のコンピュータ・プログラム製品によって実行される。コンピュータ・プログラム製品は、データ処理システムによって実行されると本方法を実行するコンピュータ・プログラム命令を保持する。
【００１０】
前述の事項は、本発明の、より関連の深い特徴のいくつかを概説した。これらの特徴は、説明のためのものにすぎないと解釈される必要がある。このほか多数の有益な結果を、開示された発明を種々の方法で適用することによって、または記載されるように本発明を変更することによって得ることができる。
【００１１】
本発明およびその利点がより包括的に理解されるよう、以下、添付の図面と併せて解釈される以下の説明を参照する。
【図面の簡単な説明】
【００１２】
【図１】説明のための実施形態の例示の側面が実装され得る分散型データ処理環境の例示のブロック図を示す。
【図２】説明のための実施形態の例示の側面が実装され得るデータ処理システムの例示のブロック図である。
【図３】本発明の実施形態による、クラウド計算環境の抽象化モデル層を示す。
【図４】コンプライアンス分析のためにログ・データが監査対象リソースから回収され、データベースに入れられる、既存の手法を示す。
【図５】本開示による、クラウド実現集約プロキシ（ＣＥＡＰ）およびテナント分類プロキシ（ＴＳＰ）を示す。
【図６】個々のクラウド・テナントに関して別々に監査データが収集および維持される、本開示の第１の実施形態を示す。
【図７】ログ・イベント・データベース内のテナント毎のデータ構造においてテナント毎のログ・データが利用可能にされる、本開示の第２の実施形態を示す。
【図８】テナント毎のログ・イベント・データベースにおいてテナント毎のログ・データが利用可能にされる、本開示の第３の実施形態を示す。
【発明を実施するための形態】
【００１３】
以下、図面、特に図１〜２を参照する。本開示の説明のための実施形態が実装され得るデータ処理環境の例示の図が提供されている。当然のことながら、図１〜２は例示でしかなく、開示される主題の側面または実施形態が実装され得る環境に関していかなる制限を主張することも、示唆することも目的としていない。示される環境に対して、多数の変更が、本発明の意図および範囲から逸脱することなく加えられ得る。
【００１４】
クライアント−サーバ・ネットワーク・モデル
以下、図面を参照する。図１は、説明のための実施形態の側面が実装され得る例示の分散型データ処理システムの図的表現を示す。分散型データ処理システム１００は、説明のための実施形態の側面が実装され得るコンピュータのネットワークを含むとよい。分散型データ処理システム１００は、分散型データ処理システム１００内で接続されている様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である少なくとも１つのネットワーク１０２を含む。ネットワーク１０２は、有線、無線通信リンクまたは光ファイバ・ケーブルなどの接続を含むとよい。
【００１５】
示されている例では、ストレージ・ユニット１０８のほか、サーバ１０４およびサーバ１０６がネットワーク１０２に接続されている。さらに、クライアント１１０、１１２および１１４もネットワーク１０２に接続されている。これらのクライアント１１０、１１２および１１４は、例えばパーソナル・コンピュータ、ネットワーク・コンピュータまたは同様のものであればよい。示されている例では、サーバ１０４が、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションなどのデータをクライアント１１０、１１２および１１４に提供する。示されている例では、クライアント１１０、１１２および１１４は、サーバ１０４のクライアントである。分散型データ処理システム１００は、図示されていないさらなるサーバ、クライアントおよびその他のデバイスを含み得る。
【００１６】
示されている例では、分散型データ処理システム１００は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコル・スイートを使用して相互に通信するネットワークおよびゲートウェイの世界的な集合を表すネットワーク１０２を備えるインターネットである。インターネットの中心には、データおよびメッセージをルーティングする多数の商用、政府機関用、教育機関用およびその他のコンピュータ・システムから成る主要ノードまたはホスト・コンピュータ間の、高速データ通信回線のバックボーンがある。当然、分散型データ処理システム１００は、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）または同様のものなど、いくつかの異なる種類のネットワークを含むよう実装されることもある。上記のように、図１は、開示される主題の種々の実施形態のアーキテクチャ上の制限としてではなく、例として意図されたものである。したがって、図１に示されている特定の構成要素は、本発明の説明のための実施形態が実装され得る環境に関する制限と見なされてはならない。
【００１７】
以下、図２を参照する。説明のための実施形態の側面が実装され得る例示のデータ処理システムのブロック図が示されている。データ処理システム２００は、本開示の説明のための実施形態のプロセスを実装するコンピュータ使用可能コードまたは命令があるとよい、図１のクライアント１１０などのコンピュータの例である。
【００１８】
以下、図２を参照する。説明のための実施形態が実装され得るデータ処理システムのブロック図が示されている。データ処理システム２００は、説明のための実施形態のプロセスを実装するコンピュータ使用可能プログラム・コードまたは命令があるとよい、図１のサーバ１０４またはクライアント１１０などのコンピュータの例である。説明のためのこの例では、データ処理システム２００は、プロセッサ・ユニット２０４と、メモリ２０６と、永続性ストレージ２０８と、通信ユニット２１０と、入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）ユニット２１２と、ディスプレイ２１４との間の通信を提供する通信ファブリック２０２を含む。
【００１９】
プロセッサ・ユニット２０４は、メモリ２０６にロードされ得るソフトウェアの命令を実行する働きをする。プロセッサ・ユニット２０４は、特定の実装に応じて、一組の１つ以上のプロセッサであってもよく、またはマルチ・プロセッサ・コアであってもよい。さらに、プロセッサ・ユニット２０４は、単一チップ上にメイン・プロセッサが二次プロセッサとともに存在する１つ以上の異種プロセッサ・システムを使用して実装されてもよい。説明のための別の例では、プロセッサ・ユニット２０４は、同じ種類のプロセッサを複数含む対称型マルチプロセッサ・システムであってもよい。
【００２０】
メモリ２０６および永続性ストレージ２０８は、ストレージ・デバイスの例である。ストレージ・デバイスは、一時的もしくは永久的またはその両方の形で情報を記憶できる任意のハードウェア部品である。これらの例では、メモリ２０６は、例えば、ランダム・アクセス・メモリまたはその他任意の適切な揮発性もしくは不揮発性ストレージ・デバイスとされ得る。永続性ストレージ２０８は、特定の実装に応じて様々な形態をとり得る。例えば、永続性ストレージ２０８は、１つ以上のコンポーネントまたはデバイスを含み得る。例えば、永続性ストレージ２０８は、ハード・ドライブ、フラッシュ・メモリ、書き換え可能な光ディスク、書き換え可能な磁気テープまたは上記のものの何らかの組み合わせとされてもよい。さらに、永続性ストレージ２０８によって使用される媒体は、取り外し可能であってもよい。例えば、取り外し可能ハード・ドライブが永続性ストレージ２０８に使用されてもよい。
【００２１】
これらの例では、通信ユニット２１０は、ほかのデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット２１０は、ネットワーク・インターフェース・カードである。通信ユニット２１０は、物理通信リンクおよび無線通信リンクのいずれかまたは両方を用いて通信を提供するとよい。
【００２２】
入出力ユニット２１２は、データ処理システム２００に接続されているとよいほかのデバイスとのデータの入出力を可能にする。例えば、入出力ユニット２１２は、キーボードおよびマウスを介したユーザ入力のための接続を提供するとよい。さらに、入出力ユニット２１２は、出力をプリンタに送信してもよい。ディスプレイ２１４は、ユーザに対して情報を表示するメカニズムを提供する。
【００２３】
オペレーティング・システムおよびアプリケーションに対する命令、すなわちプログラムは、永続性ストレージ２０８上にある。これらの命令は、プロセッサ・ユニット２０４によって実行されるようメモリ２０６内にロードされるとよい。種々の実施形態のプロセスは、メモリ２０６などのメモリ内にあるとよいコンピュータ実装命令を使用してプロセッサ・ユニット２０４によって実行され得る。このような命令は、プログラム・コード、コンピュータ使用可能プログラム・コードまたはコンピュータ可読プログラム・コードと呼ばれ、プロセッサ・ユニット２０４内のプロセッサによって読み取りおよび実行され得る。種々の実施形態のプログラム・コードは、メモリ２０６または永続性ストレージ２０８など、種々の物理的または有形コンピュータ可読媒体上で具現化され得る。
【００２４】
プログラム・コード２１６は、選択的に取り外し可能なコンピュータ可読媒体２１８上に関数形式で位置し、プロセッサ・ユニット２０４による実行のために、データ処理システム２００にロードまたは転送されるとよい。これらの例において、プログラム・コード２１６およびコンピュータ可読媒体２１８は、コンピュータ・プログラム製品２２０を形成する。一例では、コンピュータ可読媒体２１８は、例えば、永続性ストレージ２０８の一部であるハード・ドライブなどのストレージ・デバイス上への転送のために、永続性ストレージ２０８の一部であるドライブまたはほかのデバイスに挿入または設置される、光学または磁気ディスクなどの有形の形態であってもよい。有形の形態では、コンピュータ可読媒体２１８は、データ処理システム２００に接続されるハード・ドライブ、サム・ドライブまたはフラッシュ・メモリなどの永続性ストレージの形態もとり得る。有形の形態のコンピュータ可読媒体２１８は、コンピュータ記録可能ストレージ媒体とも呼ばれる。場合によっては、コンピュータ可読媒体２１８は取り外し可能でなくてもよい。
【００２５】
あるいは、プログラム・コード２１６は、通信ユニット２１０への通信リンクもしくは入出力ユニット２１２への接続またはその両方を介して、コンピュータ可読媒体２１８からデータ処理システム２００に転送されてもよい。この説明のための例では、通信リンクもしくは接続またはその両方は、物理的であっても、無線であってもよい。コンピュータ可読媒体は、プログラム・コードを含む通信リンクまたは無線伝送などの非有形媒体の形態もとり得る。データ処理システム２００に関して示されている種々のコンポーネントは、種々の実施形態が実装され得る方法に対して、アーキテクチャ上の制限を規定することを意図したものではない。種々の説明のための実施形態は、データ処理システム２００に関して示されたものに対する追加のコンポーネントまたは代わりのコンポーネントを含むデータ処理システムにおいて実装され得る。図２に示されているほかのコンポーネントは、示されている説明のための例とは異なり得る。一例として、データ処理システム２００内のストレージ・デバイスは、データを記憶し得る任意のハードウェア装置である。メモリ２０６、永続性ストレージ２０８およびコンピュータ可読媒体２１８は、有形の形態のストレージ・デバイスの例である。
【００２６】
別の例では、バス・システムが、通信ファブリック２０２を実装するために使用されてもよく、システム・バスまたは入出力バスなどの１つ以上のバスから成ってもよい。当然、バス・システムは、バス・システムに接続された種々のコンポーネントまたはデバイス間のデータの転送を提供する任意の適切な種類のアーキテクチャを使用して実装されるとよい。さらに、通信ユニットは、モデムまたはネットワーク・アダプタなど、データの送受信に使用される１つ以上のデバイスを含んでもよい。さらに、メモリは例えば、メモリ２０６であっても、通信ファブリック２０２内に存在し得るインターフェースおよびメモリ・コントローラ・ハブなどにあるキャッシュであってもよい。
【００２７】
本発明の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋または同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの従来の手続きプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれていてよい。プログラム・コードは、完全にユーザのコンピュータ上で実行されることも、部分的にユーザのコンピュータ上で実行されることも、スタンド・アロン・ソフトウェア・パッケージとして実行されることも、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されることも、または完全にリモート・コンピュータもしくはサーバ上で実行されることもできる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくは広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されてもよく、または（例えばインターネット・サービス・プロバイダを使用しインターネットを介して）外部コンピュータに接続されてもよい。
【００２８】
当業者には当然のことながら、図１〜２のハードウェアは、実装により異なり得る。フラッシュ・メモリ、等価な不揮発性メモリ、または光ディスク・ドライブおよび同様のものなど、ほかの内部ハードウェアまたは周辺デバイスが、図１〜２に示されているハードウェアに加えて、またはその代わりに使用されてもよい。さらに、説明のための実施形態のプロセスは、開示される主題の意図および範囲から逸脱することなく、前述のＳＭＰ（ｓｙｍｍｅｔｒｉｃ  ｍｕｌｔｉ−ｐｒｏｃｅｓｓｏｒ：対称型マルチプロセッサ）システム以外のマルチプロセッサ・データ処理システムに適用され得る。
【００２９】
一組の１つ以上のマシン上で実行されるインターネット・アクセス可能なウェブ・ベースのポータルとクライアント・マシンが通信する、図１に示されているものなどの標準のクライアント−サーバ・パラダイムの中の関連で、本願明細書に記載される技術が動作し得るということが分かる。エンド・ユーザは、ポータルへのアクセスおよびポータルとの対話ができるインターネット接続可能なデバイス（例えばデスクトップ・コンピュータ、ノートブック・コンピュータ、インターネット対応のモバイル・デバイスまたは同様のもの）を操作する。典型的には、各クライアントまたはサーバ・マシンは、ハードウェアおよびソフトウェアを含む、図２に示されているものなどのデータ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、または任意のほかの通信媒体もしくはリンクなどのネットワーク上で相互通信する。データ処理システムは、典型的には、１つ以上のプロセッサ、オペレーティング・システム、１つ以上のアプリケーションおよび１つ以上のユーティリティを含む。データ処理システム上のアプリケーションは、特にＨＴＴＰ、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ：シンプル・オブジェクト・アクセス・プロトコル）、ＸＭＬ、ＷＳＤＬ、ＵＤＤＩおよびＷＳＦＬのサポートを含むがこれらに限定されない、ウェブ・サービスのネイティブ・サポートを提供する。ＳＯＡＰ、ＷＳＤＬ、ＵＤＤＩおよびＷＳＦＬに関する情報は、これらの標準の開発および維持を担うワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ：Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）から入手できる。ＨＴＴＰおよびＸＭＬに関するさらなる情報は、インターネット技術タスクフォース（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）から入手できる。これらの標準に精通していることが想定される。
【００３０】
クラウド・コンピューティング・モデル
クラウド・コンピューティングは、最小限の管理作業またはサービスのプロバイダとの対話による迅速なプロビジョニングおよび解放が可能な、構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス）の共用プールに対する、オンデマンドの便利なネットワーク・アクセスを実現するサービス供給のモデルである。このクラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つの展開モデルとを含むことができ、すべて、２００９年１０月７日付けの、Ｐｅｔｅｒ  ＭｅｌｌおよびＴｉｍ  Ｇｒａｎｃｅ著“Ｄｒａｆｔ  ＮＩＳＴ  Ｗｏｒｋｉｎｇ  Ｄｅｆｉｎｉｔｉｏｎ  ｏｆ  Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ”にさらに詳しく記載および定義されている。
【００３１】
具体的には、以下が典型的な特徴である。
【００３２】
オンデマンド・セルフサービス：クラウド消費者は、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を、必要に応じて自動的に、サービスのプロバイダとの人的対話の必要なく、一方的にプロビジョニングできる。
【００３３】
広範なネットワーク・アクセス：各能力は、ネットワーク上で利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム（例えば移動電話、ラップトップおよびＰＤＡ）による使用を促進する標準のメカニズムを介してアクセスされる。
【００３４】
リソース・プーリング：プロバイダのコンピューティング・リソースは、マルチテナント・モデルを使用して複数の消費者にサービスを提供するようプールされ、種々の物理リソースおよび仮想リソースが要求に応じて動的に割り当ておよび再割り当てされる。一般に、消費者は、提供されるリソースの正確な場所についての制御または知識を有しないという点で、非場所依存の感覚があるが、より高い抽象化レベルで場所（例えば、国、州またはデータセンター）を指定できることもある。
【００３５】
迅速な伸縮性：各能力は、場合によっては自動的に、迅速かつ伸縮自在にプロビジョニングされて、素早くスケール・アウトすること、および迅速に解放され素早くスケール・インすることができる。多くの場合、消費者には、プロビジョニングに利用可能な各能力は無制限であるように見え、任意の量をいつでも購入できる。
【００３６】
測定されるサービス：クラウド・システムは、サービスの種類（例えば、ストレージ、処理、帯域幅およびアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計測能力を活用することによって、リソースの使用を自動的に制御および最適化する。リソース使用量は、監視、制御およびレポート可能であり、利用されるサービスのプロバイダおよび消費者の両方に透明性が提供される。
【００３７】
サービス・モデルは、典型的には以下のとおりである。
【００３８】
ソフトウェア・アズ・ア・サービス（ＳａａＳ：Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）：消費者に提供される能力は、クラウド・インフラストラクチャ上で実行されているプロバイダのアプリケーションの使用である。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して、様々なクライアント・デバイスからアクセス可能である（例えば、ウェブ・ベースの電子メール）。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージを含む基礎をなすクラウド・インフラストラクチャも、個々のアプリケーションの能力さえも、管理または制御しないが、限られたユーザ別のアプリケーション構成設定は例外とされることもある。
【００３９】
プラットフォーム・アズ・ア・サービス（ＰａａＳ：Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）：消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成されている、消費者が作成または入手したアプリケーションの、クラウド・インフラストラクチャ上への展開である。消費者は、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む基礎をなすクラウド・インフラストラクチャの管理または制御は行わないが、展開されたアプリケーション、さらに場合によってはアプリケーション・ホスティング環境構成を制御する。
【００４０】
インフラストラクチャ・アズ・ア・サービス（ＩａａＳ：Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）：消費者に提供される能力は、処理、ストレージ、ネットワーク、およびその他基本的なコンピューティング・リソースのプロビジョニングであり、消費者はそこで、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行できる。消費者は、基礎をなすクラウド・インフラストラクチャの管理または制御は行わないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを制御し、場合によっては、選ばれたネットワーキング・コンポーネント（例えばホスト・ファイアウォール）を限定的に制御する。
【００４１】
展開モデルは、典型的には以下のとおりである。
【００４２】
プライベート・クラウド：クラウド・インフラストラクチャは、１つの組織のみのために運用される。組織またはサード・パーティによって管理され得、構内または構外に存在し得る。
【００４３】
コミュニティ・クラウド：クラウド・インフラストラクチャは、いくつかの組織によって共用され、共有される関心事（例えば、ミッション、セキュリティ要件、ポリシおよびコンプライアンス意識）を有する特定のコミュニティをサポートする。組織またはサード・パーティによって管理され得、構内または構外に存在し得る。
【００４４】
パブリック・クラウド：クラウド・インフラストラクチャは、公衆または大規模業界団体に対し利用可能にされ、クラウド・サービスを販売する組織によって所有される。
【００４５】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合であり、各クラウドは一意のエンティティのままであるが、データおよびアプリケーションの移植性（例えば、クラウド間のロード・バランシングのためのクラウド・バースト）を実現する標準またはプロプライエタリ技術によってバインドされる。
【００４６】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、疎結合性、モジュール性および意味的相互運用性に焦点を合わせる。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。代表的なクラウド・コンピューティング・ノードは、上記図２に示されたとおりである。具体的には、クラウド・コンピューティング・ノード内には、コンピュータ・システム／サーバがあり、これは、多数のほかの汎用または専用コンピューティング・システム環境もしくは構成とともに動作可能である。コンピュータ・システム／サーバとともに使用されるのに適していると考えられる周知のコンピューティング・システム、環境もしくは構成、またはそのいずれかの組み合わせの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境、ならびに同様のものがあるが、これらに限定はされない。コンピュータ・システム／サーバについては、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的文脈において記載され得る。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含み得る。コンピュータ・システム／サーバは、通信ネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される、分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム・ストレージ媒体にあるとよい。
【００４７】
以下、図３を参照する。さらなる背景として、クラウド・コンピューティング環境によって提供される一組の機能抽象化層が示されている。図３に示されているコンポーネント、層および機能は、説明のみを目的としており、本発明の実施形態はそれに限定されないことをあらかじめ理解されたい。図示されているように、以下の層および対応する機能が提供される。
【００４８】
ハードウェアおよびソフトウェア層３００は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、ＩＢＭ（Ｒ）ｚＳｅｒｉｅｓ（Ｒ）システムが１つの例であるメインフレーム、ＩＢＭ  ｐＳｅｒｉｅｓ（Ｒ）システムが１つの例であるＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ：縮小命令セット・コンピュータ）アーキテクチャ・ベースのサーバ、ＩＢＭ  ｘＳｅｒｉｅｓ（Ｒ）システム、ＩＢＭ  ＢｌａｄｅＣｅｎｔｅｒ（Ｒ）システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントがある。ソフトウェア・コンポーネントの例には、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ（Ｒ）アプリケーション・サーバ・ソフトウェアが１つの例であるネットワーク・アプリケーション・サーバ・ソフトウェア、およびＩＢＭ  ＤＢ２（Ｒ）データベース・ソフトウェアが１つの例であるデータベース・ソフトウェアがある。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅおよびＤＢ２は、世界中の多数の法域において登録されている、インターナショナル・ビジネス・マシーンズ・コーポレーションの商標である）。
【００４９】
仮想化層３０２は、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントを例とする仮想エンティティが提供され得る、抽象化層を提供する。
【００５０】
一例では、管理層３０４は、下記の機能を提供するとよい。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよびその他のリソースの動的な調達を提供する。計測および価格決定は、クラウド・コンピューティング環境内でリソースが利用されるときのコストの追跡と、こうしたリソースの消費に対する請求またはインボイスの作成とを提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド消費者およびタスクのアイデンティティ確認、ならびにデータおよびその他のリソースの保護を提供する。ユーザ・ポータルは、消費者およびシステム管理者に、クラウド・コンピューティング環境に対するアクセスを提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス水準合意（ＳＬＡ）計画および達成は、ＳＬＡに従い将来の要求が予想されるクラウド・コンピューティング・リソースの事前準備および調達を提供する。
【００５１】
ワークロード層３０６は、クラウド・コンピューティング環境が利用される目的となり得る機能性の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ解析処理、トランザクション処理、ならびに、本開示の教示による、マルチテナント監査認識がある。
【００５２】
本開示は、クラウド・コンピューティングについての詳細な記載を含むが、本願明細書に記載する教示の実装は、クラウド・コンピューティング環境に限定されないことをあらかじめ理解されたい。むしろ、本発明の実施形態は、現在周知の、または後に開発される、ほかの任意の種類のコンピューティング環境に関連して実装することができる。
【００５３】
したがって、代表的なクラウド・コンピューティング環境は、フロント・エンド・アイデンティティ・マネージャ、ビジネス・サポート・サービス（ＢＳＳ：ｂｕｓｉｎｅｓｓ  ｓｕｐｐｏｒｔ  ｓｅｒｖｉｃｅｓ）機能コンポーネント、運用サポート・サービス（ＯＳＳ：ｏｐｅｒａｔｉｏｎａｌ  ｓｕｐｐｏｒｔ  ｓｅｒｖｉｃｅｓ）機能コンポーネント、および計算クラウド・コンポーネントを含む一組の上位機能コンポーネントを有する。アイデンティティ・マネージャは、リクエスト元のクライアントとの対話を担当し、アイデンティティ管理を提供する。このコンポーネントは、ニューヨーク州アーモンク市のＩＢＭ（ＩＢＭ社の登録商標）から入手可能なＴｉｖｏｌｉ（ＩＢＭ社の登録商標）Ｆｅｄｅｒａｔｅｄ  Ｉｄｅｎｔｉｔｙ  Ｍａｎａｇｅｒ（ＴＦＩＭ）など、１つ以上の周知のシステムを用いて実装され得る。適切な状況では、ＴＦＩＭが、ほかのクラウド・コンポーネントへのフェデレーテッド・シングル・サインオン（Ｆ−ＳＳＯ：ｆｅｄｅｒａｔｅｄ  ｓｉｎｇｌｅ  ｓｉｇｎ−ｏｎ）を提供するために使用され得る。ビジネス・サポート・サービス・コンポーネントは、請求のサポートなど、特定の管理機能を提供する。運用サポート・サービス・コンポーネントは、仮想マシン（ＶＭ：ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）インスタンスなどのほかのクラウド・コンポーネントのプロビジョニングおよび管理を提供するために使用される。クラウド・コンポーネントは、典型的には、クラウドを介したアクセスが可能となるターゲット・アプリケーションを実行するために使用される複数の仮想マシン・インスタンスである、主要な計算用リソースを表す。１つ以上のデータベースが、ディレクトリ、ログおよびその他作業データを記憶するために使用される。これらのコンポーネント（フロントエンド・アイデンティティ・マネージャを含む）はすべてクラウド「内」にあるが、これは必要条件ではない。別の実施形態では、アイデンティティ・マネージャは、クラウドの外部で動作させられてもよい。
【００５４】
監査
図４は、クラウド・サービスを提供するのに使用される監査対象リソースから、ログ・データがどのようにして回収されるかを示す。この例では、クラウド・サービス４００が、構成可能なコンピューティング・リソースの共用プールにおいてホストされている一組のリソース４０２（例えば、リソース１〜ｎ）を公開する。上記のクラウド・パラダイムを前提として、「リソース」は、任意のシステム、マシン、プロセス、プログラム、アプリケーション、ユーティリティ、オブジェクトまたはそれに関連するデータを含むよう広く解釈されるべきである。典型的には、収集された監査データ４０４が、監査サービス４０６に提供され、監査サービス４０６は、そのデータを正規化してログ・イベント・データベース４０８に入れ、データの分析と、コンプライアンスに使用可能なレポートの作成とを可能にする。監査サービス４０６は、典型的には、すべて周知の形でサービスを集合的に提供する分散した一組のマシン、プログラムおよび関連するデータ構造を含む。本願明細書では、クラウド・サービス環境内の監査対象リソースは、本願明細書において運用管理製品（ＯＭＰ：ｏｐｅｒａｔｉｏｎａｌ  ｍａｎａｇｅｍｅｎｔ  ｐｒｏｄｕｃｔ）と呼ばれることもある。この文脈において、ＯＭＰは、典型的には単一の顧客環境に展開される。よって、その関連のログ・データは、ほかの類似のソースにより生成された同様のデータから当該データを区別するために使うことができる情報を何ら含まない。この点で、ＯＭＰは、「マルチテナントを認識しない」といわれる。結果として、監査サービス（図４に示されているものなど）は、ログをとられたデータとともに「顧客アイデンティティ」を含めることをサポートするよう設定されていない。したがって、監査のためのマルチテナント・サポートは利用可能でない。
【００５５】
マルチテナント監査認識
以下に記載のとおり、本主題の開示は、この必要性に応える。図５を参照する。本開示によれば、監査サービスは、マルチテナント・クラウド・ベースの環境における顧客別のロギングを促進するいくつかの追加コンポーネントを含む。具体的には、サービスは、「クラウド実現集約プロキシ」（またはＣＥＡＰ）５００、および任意選択の「テナント分類プロキシ」（またはＴＳＰ）５０２を含むことが好ましい。この名称は、本開示を限定するものと見なされてはならず、便宜上使用されるにすぎない。概して、クラウド実現集約プロキシ５００は、生のログ・データ５０４を、マルチテナントを認識しない１つ以上のリソースから受信する。このリソースのうちの１つが、参照番号５０６で示されている。一実施形態では、上述のとおり、マルチテナントを認識しないリソースは、情報およびリソースへのアクセスを制御する認証および許可フレームワークとの関連で動作するＯＭＰであればよい。ウェブ・リソースを保護するための、この種の市販のフレームワークの１つは、ＷｅｂＳＥＡＬとしても周知のＴｉｖｏｌｉ（ＩＢＭ社の登録商標）Ａｃｃｅｓｓ  Ｍａｎａｇｅｒ  ｆｏｒ  ｅ−ｂｕｓｉｎｅｓｓ（ＴＡＭｅｂ）である。当然、本願明細書に記載される技術は、データがどのように生成されるかにかかわらず、任意の種類のログ・データに有用である。
【００５６】
より一般的には、ログ・データ（例えばレコード、監査データ、イベント・メッセージおよび同様のもの）は、ソフトウェア・アプリケーション、イベント・ロガー、監査サービス、ハードウェア監査コンポーネント、カーネル・モジュールおよび同様のものを含むがこれらに限定はされない、リソース５０６に関連するコンピューティング環境の任意の側面により生成され得る。ログ・データは、何らかの機能の実行の結果として、またはアクティビティがないことの結果として生成され得る。本願明細書では、特定のデータとは、広く解釈されるべきであり、「レコード」という用語は、要求される特定のデータ・フォーマットまたはデータ構造に限定されると解釈されてはならない。
【００５７】
後述のとおり、クラウド実現集約プロキシ５００は、そのデータ５０４を処理し、続いて、処理されたデータをテナント分類プロキシ５０２に出力し、続いてテナント分類プロキシ５０２は、「拡充された」データをログ・イベント・データベース５０８に書き込む。
【００５８】
本実施形態では、クラウド実現集約プロキシ５００は、図面で集約サービス５１０、顧客識別情報サービス５１２およびログ注釈サービス５１４として識別されている一組のサービス（または機能）を含む。これらのサービスは、全体的または部分的に、相互に統合されてもよい。集約サービス５１０は、特定のトランザクションまたは監査ログ（生のログ・データ５０４により表される）に関連するテナント／顧客を識別する。顧客情報サービス５１２は、種々のテナント（顧客）およびそれに関連するテナント別のデータを識別するために使用される顧客情報タグを維持する。ログ注釈サービス５１４は、任意選択で、特定のテナントに関連すると判断された（サービス５１０および５１２によって）生のログ・データに注釈を付けるよう機能する。任意選択のコンポーネントであるテナント分類プロキシ５０２は、（クラウド実現集約プロキシ５００により処理された）データのログ・イベント・データベース５０８への書き込みを処理することが好ましい。この書き込み動作は、テナント分類プロキシがソリューションの一部として実装される場合、このプロキシによって実施されるローカル設定に従って実行される。
【００５９】
プロキシ５００および５０２は、典型的には、ソフトウェアにおいて実装される、一組のコンピュータ・プログラム命令としてコンピュータ・メモリ記憶され、特殊または専用マシンとして１つ以上のプロセッサによって実行される。プロキシ５００および５０２は、単一のプロキシとして組み合わされてもよく、またはその１つ以上の機能（サービス５１０、５１２または５１４など）が複数のマシンに分散してもよい。プロキシは、種々のネットワークまたは地理的位置に設置でき、リソース５０６またはデータベース５０８からリモート設置されてもよい。
【００６０】
クラウド実現集約プロキシ６００の動作のさらに詳細な記載は、図６にある。図のように、マルチテナントを認識しないリソース６０６（またはそのような複数のリソース）から生のログ・データを受信するのに加えて、集約サービス６１０は、ルータ、セッション管理キャッシュ、リバースＤＮＳ、リバース・プロキシ、ユーザ・レジストリおよび同様のものを含むがこれらに限定されない、クラウド環境内のほかの複数のソース（ＯＭＰまたはその他）からの入力（単数または複数）も受信する。これらの異なるソースが、リソース６０１および６０３によって、図６において表されている。集約サービス６１０は、顧客情報サービス６１２の顧客識別情報サービス（ＣＩＳ：Ｃｕｓｔｏｍｅｒ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ）コンポーネント６１５を使用して、クラウド・サービス・トランザクション中にエンティティ（典型的にはエンド・ユーザ・クライアント・ブラウザ、リッチ・クライアントまたは同様のもの）がバインドされる顧客／テナントを一意的に識別する。集約サービス６１０は、入力データからテナント／顧客を識別するために、１つ以上のルールを使用するルール・エンジンを実装することが好ましい。必要に応じ、集約サービス６１０は、一意的な顧客識別の一環として、ＣＩＳ６１５と対話する。例えば、一部の場合には、顧客は、リクエストが開始されたＩＰアドレスによって識別され得る。ほかの場合には、顧客は、セキュア・トランザクションに関連するＳＳＬ証明書において伝達されるアイデンティティにより識別され得る。さらに別の場合には、顧客は、間接的に、例えばウェブ・ユーザ・インターフェース（ＵＩ：ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）ベースの認証の一環としてドロップダウン画面において選択されるパラメータによって「識別」されてもよい。したがって、この目的を達成するために、ＣＩＳ６１５は、種々の顧客を識別するために様々な形で使用可能な一組の顧客識別情報タグ、もしくはテナント別のデータを識別するのに必要なほかのデータ（例えば顧客の契約）、またはその両方を維持する。記憶される顧客／テナント識別子（ＩＤ：ｉｄｅｎｔｉｆｉｅｒ）は、単純な顧客番号、名称、階層名、およびクラウド・サービスを使用している顧客を識別するために使用可能なほかの何らかの識別子（おそらくは特定の契約に関する）を含み得る。
【００６１】
環境内のエンティティは、複数の顧客／テナントにバインドされることもあるため、特定の名称の個人を特定の顧客／テナントに属すると単純に識別することが、常に可能であるとは限らない。したがって、ＣＩＳ６１５はさらに、「イベント・パターン」と、顧客識別情報タグとの関連付けを含むことが好ましい。本願明細書では、イベント・パターンは、フィルタによって定義されることが好ましい。したがって、ＣＩＳ６１５は、顧客識別子（ｉｄＮ）６１８と、１つ以上の関連するフィルタ識別子（それぞれＦｉｌｔｅｒＮ）６２０とを関連付けるテーブル（または等価なデータ構造）の形式のデータ構造を含む。
【００６２】
動作中、集約サービス６１０（特にルール・エンジン）は、受信された入力データを獲得し、そのデータを正規化し、続いてイベント・パターン（フィルタに記述されている）と、正規化されたイベント・データとを照合することを試みる。続いて、好適には正規化されたイベントに顧客タグ（単数または複数）を追加することによって、パターンに一致するイベントが顧客別の情報により補強されるが、ほかの種類の補強も使用され得る。この補強、すなわちそうした顧客別の情報を含めることによって、結果として、監査サービスの１つ以上のほかのプロセスが、ログ・データがどのテナントに属するかを識別することができる。したがって、例えば、図６は、注釈を付けられた顧客データをログ・イベント・データベース６０８にフィードするテナント分類プロキシ６０２を示す。この実施形態では、注釈を付けられたデータは、ローカル設定６０５に従って記憶される。動作中、ＴＳＰ６０２は、テナント／顧客毎にデータを分類する。上述のとおり、ＴＳＰ６０２は任意選択である。必要に応じて、ＣＥＡＰ６００が既存のデータベースに直接フィードすることができる。
【００６３】
受信された入力データを正規化するために集約サービスによって使用される技術は、異なり得る。周知の一手法では、変更のないレコードの署名または暗号化されたコピーがとられ、続いて、そのコピーに構文解析ルール（例えば、ＸＳＬＴベースまたは正規表現ベースのルール）が適用される。ルールは、レコード内の既知のパターンまたは既知の場所を検索し、データを抽出し、それを、定義された名称／値のペアを備えるＸＭＬ／ＣＳＶ／テキスト・ファイル内の既知のフィールドにマッピングする。名称は、「誰／何／どこ」フィールドを表し、値は、レコードから抽出されたデータである。続いて、この新たなファイルが、レポートの生成に使用される。別の周知の手法では、レコードはデジタル署名され（変更されたことを確認するために）、続いて「誰／何／どこ」データなどの追加情報が付加され、次にその結果が、後のレポーティングに使用される。典型的には、各ＯＭＰの特定のログ・フォーマットは異なる。
【００６４】
図７に示されているように、テナント／顧客毎にデータを分類した後、ＴＳＰ７０２は、ログ・イベント・データベース７０８に関連する個々の顧客テーブル７２２にログ・データをフィードしてもよい。したがって、特定の顧客ＩｄＮそれぞれに関連する１つ以上のテーブルがあるとよい。この実施形態では、データは、顧客毎のレベルで注釈を付けられても、付けられなくてもよい。さらに、図示されてはいないが、例えば指定の期間、ログ・レコードを記憶することなど、顧客自身のコンプライアンス目的に使用されるよう、テナント別の正規化データが顧客にも提供されてもよい。
【００６５】
図８に示されているように、ＣＥＡＰによるタグ付けに続いて、さらにＴＳＰ８０２がテナント／顧客毎にデータを分類した後、ログ・データは、追加の設定データに基づき個々のログ・イベント・データベースに送られることが可能であり、ログ・イベント・データベースのうちの３つが、８０８ａ、８０８ｂおよび８０８ｃにて示されている。この実施形態では、各顧客に関連する別々のログ・イベント・データベース８０８があることが好ましい（すなわちテナント毎に１つ）。追加の設定データは、ほかの必要な設定を定義するとよい（図示せず）。
【００６６】
上記の実施形態のいずれにおいても、補強されたログ・データは、続いて、データに対してテナント別のコンプライアンス分析を実行するため、およびテナント別のコンプライアンス・レポートをもたらすために使用可能である。
【００６７】
監査もしくはログまたはその両方のデータの一部は、顧客の定義されたサブセットの全部または一部に当てはまることもある。一例は、ＢＳＳの一部がホストされているサーバに対するパッチ更新、または顧客のサブセットに関連するイメージをホストしているハイパーバイザに適用される修正についてのログ情報であろう。したがって、本願明細書の技術によれば、特定のログ・レコードはさらに、２以上の顧客、顧客のサブセット、さらにはすべての顧客に属するように、注釈を付けられ得る。
【００６８】
本願明細書に記載された技術には、いくつかの利点がある。まず、クラウド・サービス・プロバイダは、注釈という技術を使用して、ログ・データが、特定のテナント／顧客に適切に関連していることを保証することができる。これは、サービス・プロバイダが、そのコンプライアンス要件を満たすと同時に、特定のテナント／顧客が自身のそうした要件を満たすために使用できるテナント別のログ・データを提供することを可能にする。上記の技術を使用して、そのデータの完全性を保証する形で、ログ・ファイルおよび監査レコードに含まれるコンプライアンス・データが分類されて注釈を付けられ、その結果、テナント（およびエンド・ユーザ）のプライバシおよびセキュリティ上の懸念に対処する。便利なことに、ＣＥＡＰは、異なるソースからの情報を集約し、各トランザクションに関連する特定のテナントを識別し、データをテナント別の分析に使用できるようテナント別の識別子により監査ログ情報を拡充する。この手法を利用して、マルチテナントを認識しないリソースは、そのリソースのロギングによって生成されたログ・データが、リソースが共用される場合でも有用であることを保証するとよい。この手法は、マルチテナントを認識しない製品についても、クラウド計算環境内のマルチテナント監査認識を促進し、クラウド・サービスの価値をさらに高める。
【００６９】
上記の機能性は、例えば、プロセッサによって実行されるソフトウェア・ベースの機能など、スタンドアロンの手法として実装されてもよく、または、マネージド・サービス（ＳＯＡＰ／ＸＭＬインターフェースを介したウェブ・サービスを含む）として利用可能であってもよい。本願明細書に記載された特定のハードウェアおよびソフトウェア実装の詳細は、単に説明を目的としており、記載された主題の範囲を限定することは意図していない。
【００７０】
さらに一般的には、開示された発明の文脈の中でのコンピューティング・デバイスは、それぞれ、ハードウェアおよびソフトウェアを含むデータ処理システム（図２に示されているものなど）であり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、または任意のほかの通信媒体もしくはリンクなどのネットワーク上で相互通信する。データ処理システム上のアプリケーションは、特にＨＴＴＰ、ＦＴＰ、ＳＭＴＰ、ＳＯＡＰ、ＸＭＬ、ＷＳＤＬ、ＳＡＭＬ、ＷＳ−Ｔｒｕｓｔ、ＵＤＤＩおよびＷＳＦＬのサポートを含むがこれらに限定されない、ウェブならびにその他周知のサービスおよびプロトコルのネイティブ・サポートを提供する。ＳＯＡＰ、ＷＳＤＬ、ＵＤＤＩおよびＷＳＦＬに関する情報は、これらの標準の開発および維持を担うワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）から入手できる。ＨＴＴＰ、ＦＴＰ、ＳＭＴＰおよびＸＭＬに関するさらなる情報は、インターネット技術タスクフォース（ＩＥＴＦ）から入手できる。これら周知の標準およびプロトコルに精通していることが想定される。
【００７１】
本願明細書に記載された方式は、クラウド・ベースのインフラストラクチャ以外の様々なサーバ・サイド・アーキテクチャにおいて、またはそれに関連して実装され得る。これらには、単純なｎ層アーキテクチャ、ウェブ・ポータル、フェデレーテッド・システムおよび同様のものがあるが、これらに限定はされない。
【００７２】
さらに一般的には、本願明細書に記載された主題は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアおよびソフトウェア両方の構成要素を含む実施形態の形態をとることができる。上述のとおり、好適な実施形態では、クラウド実現集約プロキシ機能は、ファームウェア、常駐ソフトウェア、マイクロコードおよび同様のものを含むがこれらに限定されないソフトウェアにおいて実装される。データ（例えば注釈を付けられたログ・データ、監査レコードおよび同様のもの）が、データ構造（例えば配列、連結リストなど）に構成され、コンピュータ・メモリなどのデータ・ストアに記憶されることが可能である。さらに、上述のとおり、本願明細書に記載されたマルチテナント監査認識機能性は、コンピュータまたは任意の命令実行システムにより、またはそれに関連して使用されるプログラム・コードを提供する、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。本記載では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムを含むことまたは記憶することができる任意の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム（または装置またはデバイス）とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、剛体磁気ディスクおよび光ディスクがある。光ディスクの現在の例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）およびＤＶＤがある。コンピュータ可読媒体は、有形要素である。
【００７３】
コンピュータ・プログラム製品は、記載された機能の１つ以上を実装するためのプログラム命令（またはプログラム・コード）を有する製品であればよい。それらの命令またはコードは、リモート・データ処理システムからネットワーク上でダウンロードされた後に、データ処理システム内のコンピュータ可読ストレージ媒体に記憶されてもよい。または、それらの命令またはコードは、サーバ・データ処理システム内のコンピュータ可読ストレージ媒体に記憶されて、リモート・システム内のコンピュータ可読ストレージ媒体において使用されるようリモート・データ処理システムにネットワーク上でダウンロードされるようになっていてもよい。
【００７４】
代表的な実施形態では、マルチテナント監査コンポーネントは、専用コンピュータにおいて、好適には１つ以上のプロセッサによって実行されるソフトウェアにおいて実装される。関連する設定（セキュリティ・レベル、ステータス、タイマ）は、関連するデータ・ストアに記憶される。ソフトウェアも、この１つ以上のプロセッサに関連する１つ以上のデータ・ストアまたはメモリにおいて維持され、ソフトウェアは、１つ以上のコンピュータ・プログラムとして実装されるとよい。
【００７５】
マルチテナント監査機能は、既存の監査サービス、ロギング・サービス、またはアクセス・マネージャ・ソリューションに対する付加もしくは拡張として実装されてもよい。この技術は、自動化されたコンプライアンス・マネージャ・ソリューションにおいても実装され得る。そのような自動化されたソリューションの１つは、ＩＢＭ（ＩＢＭ社の登録商標）から入手可能な、Ｔｉｖｏｌｉ（ＩＢＭ社の登録商標）Ｃｏｍｐｌｉａｎｃｅ  Ｉｎｓｉｇｈｔ  Ｍａｎａｇｅｒとして市販されている。このソリューションは、セキュリティ・コンプライアンス・システムであり、企業環境内の、または企業環境を横断するネットワーク上で、またはネットワークを横断して動作して、ログ・データを収集、分析およびアーカイブし、情報セキュリティ・ポリシ・コンプライアンスについての詳細なセキュリティ・レポートをもたらす。コンプライアンス・マネージャ・システムは、典型的には、サーバ、１つ以上のアクチュエータ、ウェブ・ベースのポータルおよび管理コンソールを含む。サーバは、監査対象システムおよびデバイスからのログ・データについて、収集、アーカイブ、正規化およびレポートを行う。アクチュエータは、サーバと、各監査対象システム上で実行される１つ以上のソフトウェア・エージェントとの間のセキュア接続を維持するソフトウェア・コンポーネントである。アクチュエータ・スクリプトは、ソフトウェア・エージェントが、「イベント」ソースとも呼ばれるサポートされたプラットフォームからデータ（限定はされないが、監査データなど）を収集できるようにする。動作中、デバイスおよびシステムには、ソフトウェア・エージェントが組み込まれる。これらのデバイスおよびシステムは、ユーザ・アクティビティ、プロセスおよびイベントのログを、人またはシステムがネットワークと対話するたびに生成する。これらのログは、すべてのネットワーク・アクティビティのレコードを提供し、ユーザの行動が所定のポリシに準拠しているかどうかを示すために分析されることが可能である。
【００７６】
上記には、本発明の特定の実施形態によって実行される動作の特定の順序を記載したが、当然のことながら、別の実施形態は、動作を異なる順序で実行すること、特定の動作を組み合わせること、特定の動作をオーバーラップすること、または同様のことをし得るため、そのような順序は例示である。本明細書における所定の実施形態の参照は、記載される実施形態が、特定の機能、構造または特徴を含み得ることを示すが、あらゆる実施形態が、必ずしもその特定の機能、構造または特徴を含まなくてもよい。
【００７７】
最後に、システムの所定のコンポーネントが個別に記載されたが、当業者には当然のことながら、機能の一部が、特定の命令、プログラム・シーケンス、コード部分および同様のものにおいて組み合わされても、共用されてもよい。
【００７８】
本願明細書では、「クライアント・サイド」アプリケーションは、アプリケーション、そのアプリケーションに関連するページ、またはアプリケーションに対するクライアント・サイドのリクエストによって呼び出されるその他何らかのリソースもしくは機能を指すものとして広く解釈されるべきである。本願明細書では、「ブラウザ」は、いずれかの特定のブラウザ（例えば、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）、Ｓａｆａｒｉ（Ｒ）、ＦｉｒｅＦｏｘ（Ｒ）または同様のもの）を指すよう意図されてはいないが、インターネット・アクセス可能なリソースにアクセスしてそれを表示することができる任意のクライアント・サイド・レンダリング・エンジンを指すよう広く解釈されるべきである。「リッチ」クライアントは、典型的には、非ＨＴＴＰベースのクライアント・サイド・アプリケーションを指す。さらに、典型的には、クライアント−サーバ対話はＨＴＴＰを使用して発生するが、これも限定ではない。クライアント・サーバ対話は、シンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ）に従ったフォーマットとされるとよく、ＨＴＴＰ（公衆インターネット上）、ＦＴＰ、ＲＥＳＴ、またはその他任意の信頼できる搬送メカニズム（企業イントラネット上での搬送のためのＩＢＭ（ＩＢＭ社の登録商標）ＭＱＳｅｒｉｅｓ（ＩＢＭ社の登録商標）技術およびＣＯＲＢＡなど）上での輸送が使用され得る。本願明細書に記載された任意のアプリケーションまたは機能性は、ネイティブ・コードとして、別のアプリケーション内にフックを提供することによって、メカニズムのプラグインとしての使用を促進することによって、メカニズムにリンクすることによって、および同様の形で実装され得る。
【００７９】
本発明について記載した。特許請求の範囲は添付のとおりである。
【図１】
0005717879.tif 000002
【図２】
0005717879.tif 000003
【図３】
0005717879.tif 000004
【図４】
0005717879.tif 000005
【図５】
0005717879.tif 000006
【図６】
0005717879.tif 000007
【図７】
0005717879.tif 000008
【図８】
0005717879.tif 000009