(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】コンピューティングシステムにおけるデータのコンプライアンスリスク管理
(51)【国際特許分類】
G06Q 10/0635 20230101AFI20241024BHJP
【FI】
G06Q10/0635
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024517418
(86)(22)【出願日】2022-10-25
(85)【翻訳文提出日】2024-03-19
(86)【国際出願番号】 EP2022079686
(87)【国際公開番号】W WO2023078723
(87)【国際公開日】2023-05-11
(32)【優先日】2021-11-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】フェッチ、パスカル
(72)【発明者】
【氏名】ルーニー、ジョン、ジー
(72)【発明者】
【氏名】ガルセス エリス、ルイス
【テーマコード(参考)】
5L010
【Fターム(参考)】
5L010AA06
(57)【要約】
コンピューティングシステムにおけるデータのコンプライアンスリスク管理本発明の実施形態は、方法、コンピュータプログラム製品、及びシステムを提供する。システムにおけるデータセットごとに、本発明の実施形態は、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別すること、及び、有向エッジによって相互接続されたノードを有するシステムグラフを生成することを行い得る。スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、グラフのノード間の有向エッジによって表されている。本発明の実施形態は次に、データセットごとに、そのデータセットに対応するノードからグラフ内の有向エッジをトラバースすることによって到達したノードのセットのためのコンプライアンススコアの関数としてのスタック依存コンプライアンススコアを計算すること、データセットのためのスタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成することを行い得る。
【特許請求の範囲】
【請求項1】
コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別する段階;
有向エッジによって相互接続されたノードを有するシステムグラフを生成する段階、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶する段階、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算する段階;及び
データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成する段階
を備える、コンピュータ実装方法。
【請求項2】
データセットのための前記スタック依存コンプライアンススコアは、前記ノードのセットの前記コンプライアンススコア、及び前記データセットのための予め定められた最大コンプライアンススコアの関数として計算される、請求項1に記載のコンピュータ実装方法。
【請求項3】
データセットに対するアラートに応答して、コンプライアンスリスクを軽減するように前記コンピューティングシステム内でアクションを開始する段階をさらに備える、請求項1又は2に記載のコンピュータ実装方法。
【請求項4】
前記アクションは、前記データセットに対する前記コンピューティングシステム内のアクセス許可を制限すること;前記データセットを削除すること;そのデータセットを記憶したシステムコンポーネントを隔離すること;及びそのデータセットのシステムコンポーネントの前記少なくとも1つのスタックを再構成することのうち少なくとも1つを有する、請求項3に記載のコンピュータ実装方法。
【請求項5】
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別する段階
をさらに備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
予め定められた依存関係タイプのセットのうち1つを表す前記システムグラフにおける任意のエッジについて、そのエッジを優先エッジとして識別する段階;及び
そのデータセットの前記少なくとも1つのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別する段階
をさらに備える、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
データセットごとの前記スタック依存コンプライアンススコアは、そのデータセットの前記ノードのセットにおけるノードごとに前記コンプライアンススコアの単調増加関数を含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
そのエッジによって表された依存関係のタイプに応じて、前記システムグラフのエッジごとに重みを定義する段階;
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのノードの前記コンプライアンススコア及びそのノードに到達するようにトラバースされる前記有向エッジの前記重みの関数として、前記セットにおけるノードごとに影響スコアを計算する段階;及び
そのデータセットのための前記スタック依存コンプライアンススコアを、前記セットにおけるノードの前記影響スコアの関数として計算する段階
をさらに備える、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
システムコンポーネントの構成を指示するシステムメタデータを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのシステムインベントリにアクセスする段階;
前記コンピューティングシステムにおける各データセットの位置及び使用状況を指示するデータメタデータを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのデータカタログにアクセスする段階;及び
前記システムメタデータ及びデータメタデータからのデータセットごとにシステムコンポーネントの前記少なくとも1つのスタックを識別する段階
をさらに備える、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項10】
前記データメタデータに含まれたデータ分類に応じて、データセットごとに前記リスク閾値を決定する段階を含む段階
をさらに備える、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記システムグラフのノードのための前記コンプライアンススコアを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのコンプライアンスモニタリングアプリケーションと通信する段階
をさらに備える、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
【請求項12】
前記コンピューティングシステム内のイベントの検出に応答して、前記システムグラフを動的に更新する段階、前記イベントは、データセットの追加、データセットの削除、データセットのシステムコンポーネントの前記少なくとも1つのスタックに対する変更、及び、前記システムグラフのノードのための前記コンプライアンススコアにおける変更を有する;及び
前記イベントのうちのイベントによって影響されるデータセットごとの新たなスタック依存コンプライアンススコアを計算する段階
をさらに備える、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記システムコンポーネントは、少なくとも、アプリケーション;サービス;オペレーティングシステム;プラットフォーム;仮想マシン;ハイパーバイザ;コンテナ;ストレージシステム;物理マシン;ネットワークデバイス;ネットワーク;ネットワーククラスタ;データセンタ;データセンタのクラスタのサブセットを有する、請求項1から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
システムコンポーネントに対応するノードのサブセットの各々に対して:
そのノードのために記憶された前記コンプライアンススコアの関数としての、そのノードのためのスタック依存コンプライアンススコア、及び、そのノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのために記憶された前記コンプライアンススコアを計算する段階;及び
コンポーネントのための前記スタック依存コンプライアンススコアがそのコンポーネントの予め定められたリスク閾値をトラバースする場合にアラートを生成する段階
をさらに備える、請求項1から13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
1又は複数のコンピュータ可読記憶媒体及び前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令を備えるコンピュータプログラム製品であって、前記プログラム命令は:
コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するためのプログラム命令;
有向エッジによって相互接続されたノードを有するシステムグラフを生成するためのプログラム命令、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するためのプログラム命令、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算するためのプログラム命令;及び
データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成するためのプログラム命令
を有する、コンピュータプログラム製品。
【請求項16】
前記1又は複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令は:
データセットに対するアラートに応答して、コンプライアンスリスクを軽減するように前記コンピューティングシステムにおけるアクションを開始するためのプログラム命令をさらに有する、請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記1又は複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令は:
予め定められた依存関係タイプのセットのうち1つを表す前記システムグラフにおける任意のエッジについて、そのエッジを優先エッジとして識別するためのプログラム命令;及び
そのデータセットの前記少なくとも1つのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別するためのプログラム命令
をさらに有する、請求項15又は16に記載のコンピュータプログラム製品。
【請求項18】
前記1又は複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令は、
そのエッジによって表された依存関係のタイプに応じて、前記システムグラフのエッジごとに重みを定義するためのプログラム命令;及び
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのノードの前記コンプライアンススコア及びそのノードに到達するようにトラバースされる前記有向エッジの前記重みの関数として、前記セットにおけるノードごとに影響スコアを計算するとともに、前記スタック依存コンプライアンススコアを、前記セットにおけるノードの前記影響スコアの関数として計算するためのプログラム命令
をさらに有する、請求項15から17のいずれか一項に記載のコンピュータプログラム製品。
【請求項19】
1又は複数のコンピュータプロセッサ;
1又は複数のコンピュータ可読記憶媒体;及び
前記1又は複数のコンピュータプロセッサのうち少なくとも1つによる実行のために前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令
を備えるコンピュータシステムであって、前記プログラム命令は:
前記コンピュータシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するように適応されたシステムアナライザロジック;
有向エッジによって相互接続されたノードを有するシステムグラフを生成するように適応されたグラフ生成器ロジック、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
前記システムグラフ及びシステムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するメモリ、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;及び
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって識別されたノードのセットのための前記コンプライアンススコアの関数としてのスタック依存コンプライアンススコアを計算すること、及び、データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成することを行うように適応されたコンプライアンスマネージャロジック
を有する、コンピュータシステム。
【請求項20】
前記コンピュータシステムは、コンプライアンスリスクを軽減するように前記コンピュータシステム内でアクションを開始するべく、データセットに対するアラートに応答して適応され、ここで、前記アクションは:前記データセットに対する前記コンピュータシステム内のアクセス許可を制限すること;前記データセットを削除すること;そのデータセットを記憶したシステムコンポーネントを隔離すること;及びそのデータセットのシステムコンポーネントの前記少なくとも1つのスタックを再構成することのうち少なくとも1つを有する、請求項19に記載のコンピュータシステム。
【請求項21】
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたとき、請求項1から14のいずれか一項に記載のコンピュータ実装方法を実行するように適応されたプログラムコード手段を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的に、コンピューティングシステムにおけるデータのコンプライアンスリスク管理に関連する。コンピュータ実装方法は、コンピューティングシステムにおけるデータのコンプライアンスリスクを管理するために、そのような方法を実装する装置及びコンピュータプログラム製品と共に提供される。
【0002】
典型的に、コンピューティングシステムは、様々な内部及び外部で定義された標準に準拠しなければならない。例えば、本質的なセキュリティ及び規制要件に準拠すべく、システムは、無許可システムアクセスに対してセキュリティ対策を実装し、システムにおけるデータの保護及びプライバシーに関連する法的要件を満たさなければならない。様々なコンプライアンス評価アプリケーションは、関連要件に関連するシステムコンポーネント(例えば、アプリケーション、ストレージシステム、仮想マシン、ハイパーバイザなど)の性能を評価するために展開され得る。コンプライアンス評価は、どのコンポーネントがシステムに適用可能な標準を違反するリスクがあるかを示す。
【0003】
従来のコンプライアンス評価は、個々のシステムコンポーネントに注目する。例えば、いくつかのコンプライアンス評価サービスは、ユーザがクラウドベースシステム内のリスクがあるリソースを識別することを可能にし、ここで、ここでのリソースのタイプは、システムコンポーネント及びクラウドサービスである。このコンプライアンスサービスは、様々なチェックを実行し、コンプライアンススコアを計算し、チェックされたリソースについての結果を表示する。別の例は、Red Hat Incorporatedによって開発されたOpenshift Compliance Operatorアプリケーションである。本願は、Openshiftプラットフォーム及び基礎となるインフラストラクチャのコンプライアンス状態をチェックし、両方のコンプライアンススコアを計算し得る。
【0004】
コンピューティングシステムが安全に動作し、それらのデータ資産を適切に保護することを確実にすべく、特にこれらのシステムにおけるデータのコンプライアンスリスクを管理することに関して、コンプライアンスを確実にするための改善された技術が必要である。
【発明の概要】
【0005】
本発明の1つの態様は、コンピューティングシステムにおけるデータのコンプライアンスリスクを管理するためのコンピュータ実装方法を提供する。本方法は、システムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別する段階、及び、有向エッジによって相互接続されたノードを有するシステムグラフを生成する段階を含む。各データセット、及び各スタックにおける各コンポーネントは、システムグラフの対応するノードによって表されている。スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、グラフのノード間の有向エッジによって表されている。コンプライアンススコアは、システムコンポーネントに対応するそれぞれのノードのために記憶されており、ここで、ノードのためのコンプライアンススコアは、対応するシステムコンポーネントに関連する。本方法はさらに、データセットごとに、そのデータセットに対応するノードからグラフ内の有向エッジをトラバースすることによって到達したノードのセットのためのコンプライアンススコアの関数としてのスタック依存コンプライアンススコアを計算する段階、データセットのためのスタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成する段階を含む。
【0006】
本発明の1つの実施形態は、コンピューティングシステムにおけるデータのコンプライアンスリスクを管理するための装置を提供する。装置は、システムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するように適応されたシステムアナライザロジックを、及び、上記のようなシステムグラフを生成するように適応されたグラフ生成器ロジックを含む。装置はさらに、上記のようなシステムグラフ及びノードのためのコンプライアンススコアを記憶するためのメモリを、データセットごとのスタック依存コンプライアンススコアを計算し上記のようなアラートを生成するように適応されたコンプライアンスマネージャロジックと共に含む。
【0007】
本発明の別の態様によると、1又は複数のコンピュータプロセッサ;1又は複数のコンピュータ可読記憶媒体;及び前記1又は複数のコンピュータプロセッサのうち少なくとも1つによる実行のために前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令を備えるコンピュータシステムを提供し、前記プログラム命令は:前記システムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するように適応されたシステムアナライザロジック;有向エッジによって相互接続されたノードを有するシステムグラフを生成するように適応されたグラフ生成器ロジック、ここで、各データセット、及び各スタック内の各コンポーネントは、前記グラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記グラフのノード間の有向エッジによって表されている;前記システムグラフ及びシステムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するメモリ、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;及びデータセットごとに、そのデータセットに対応する前記ノードから前記グラフ内の有向エッジをトラバースすることによって識別されたノードのセットのための前記コンプライアンススコアの関数としてのスタック依存コンプライアンススコアを計算すること、及び、データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成することを行うように適応されたコンプライアンスマネージャロジックを有する。
【0008】
別の態様によると、1又は複数のコンピュータ可読記憶媒体及び前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令を備えるコンピュータプログラム製品を提供しており、前記プログラム命令は:コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するためのプログラム命令;有向エッジによって相互接続されたノードを有するシステムグラフを生成するためのプログラム命令、ここで、各データセット、及び各スタック内の各コンポーネントは、前記グラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記グラフのノード間の有向エッジによって表されている;システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するためのプログラム命令、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;データセットごとに、そのデータセットに対応する前記ノードから前記グラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算するためのプログラム命令;及びデータセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成するためのプログラム命令を有する。
【0009】
本発明のさらなる態様は、コンピューティングシステムにおけるデータのコンプライアンスリスクを管理するための上記の方法をコンピューティングシステムに実装させるべく、コンピューティングシステムによって実行可能な、プログラム命令を具現化するコンピュータ可読記憶媒体を含むコンピュータプログラム製品を提供する。
【0010】
本発明の実施形態は、添付図面を参照して、例示的かつ非限定的な例によって、より詳細に後述する。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態に係る、方法を実装するためのコンピューティング装置の概略図である。
【0012】
【
図2】本発明の実施形態に係る、コンピューティングシステムにおけるデータコンプライアンスリスクを管理するための例示的なコンピューティング装置のコンポーネントモジュールを示す。
【0013】
【
図3】本発明の実施形態に係る、
図2の装置によって実行されるコンプライアンス管理プロセスのステップを指示する。
【0014】
【
図4】本発明の実施形態に係る、コンピューティングシステムのコンポーネント間の依存関係を示す概略図である。
【0015】
【
図5】本発明の実施形態に係る、
図3におけるスタック依存コンプライアンススコアの計算に含まれるステップを示す。
【0016】
【
図6】本発明の実施形態に係る、
図2の装置によって生成されるシステムグラフの概略図である。
【0017】
【
図7】本発明の実施形態に係る、装置の好ましい実施形態におけるシステムアナライザによって実行されるステップを指示する。
【0018】
【
図8】本発明の実施形態に係る、さらなるステップを指示する。
【0019】
【
図9】本発明の実施形態に係る、
図8のプロセスの実装におけるスタック依存コンプライアンススコアの計算を示す。
【0020】
【
図10】本発明の実施形態に係る、動的な更新プロセスのステップを指示する。
【発明を実施するための形態】
【0021】
本発明の実施形態は、コンピューティングシステムにおけるデータに対するコンプライアンスリスクが、システムのデータセット及び個々のコンポーネントの間における様々な相互依存を考慮する方式で管理されることを可能にする。典型的なコンピューティングシステムのコンポーネントは、独立して動作しない。各コンポーネントは一般的に、いくつかの方法でそのコンポーネントと相互作用する1又は複数の他のコンポーネントに依存する。アプリケーションは、基礎となるプラットフォーム及びインフラストラクチャに依存しており、仮想マシンはハイパーバイザに依存しており、ハイパーバイザ及びオペレーティングシステムは基礎となるハードウェアリソースに依存しており、以下同様である。特定のアプリケーションによって処理される又は特定のストレージシステム上に記憶されるデータセットは、したがって、階層依存システムコンポーネントのスタックに依存しており、その各々は、スタックを介した階層の順序において下にある別のものに依存する。任意の所与のデータセットは1又は複数のそのようなスタックに依存し得、データセット及びコンポーネントの全体的な相互依存は、多くのコンピューティング環境において複雑であり得る。
【0022】
個々のコンポーネントのコンプライアンスに注目することによって、前のコンプライアンス評価技術は、これらの依存関係の重要な効果を無視する。非準拠コンポーネントは、周囲コンポーネントのコンプライアンスに対して効果を有しない、例えば、ストレージシステムが非準拠である場合、これは、ストレージシステムにデータを記憶するデータベースサービスに対してコンプライアンス影響を有しない。実際には、システム依存関係により実質的な影響があり得る。本発明を具現化する方法は、システムにおける依存関係を表すグラフの形態で専用データ構造を生成することによってこの影響に適応し、次に、このグラフを使用して、システムにおけるデータセットごとのスタック依存コンプライアンススコアを計算する。結果として得られるスコアがコンプライアンスリスクを指示する場合にはアラートが生成されて、このリスクを軽減するようにアクションを取ることを可能にする。データ及びコンポーネントの間、及びシステムにおけるスタックされたコンポーネント間の依存関係に適応することによって、スタック依存コンプライアンススコアは、データ資産への真のリスクを定量化する。これらのスコアは、システム全体のコンプライアンス姿勢についての完全なアサーションを提供して、保護されたデータを確実にするように必要に応じてアクションが取られることを可能にする。本発明を具現化する方法は、したがって、コンピューティングシステムのコンプライアンス管理を著しく改善し、データ資産をより良く保護する改善されたシステムを提供する。
【0023】
データセットに対して生成されたアラートは、取られるべき適切なアクションのためにオペレータに出力され得る。加えて又は代替として、好ましい方法は、データセットに対するアラートに応答して、そのデータセットのコンプライアンスリスクを軽減するようにシステム内でアクションを開始する段階を含む。そのようなアクションは、データセットに対するシステム内のアクセス許可を制限すること;データセットを削除すること;データセットを記憶したシステムコンポーネントを隔離すること;及びデータセットがそれに対して依存しているシステムコンポーネントのスタックを再構成することなどの1又は複数の動作を含み得る。適切なアクションの選択は、例えば、データ分類(機密、パブリック、パーソナルなど)、リスクの程度、及び、コンポーネントの寄与するコンプライアンススコアに基づいたノンコンプライアンスのソースなどの様々なパラメータに適応し得る予め定められた規則に基づき得る。これは、オペレータの介入を待つことなく、必須なアクションが必要に応じて取られて、システムデータを保護することを可能にする。
【0024】
データセットのためのスタック依存コンプライアンススコアは、前述のノードのセットのためのコンプライアンススコア、及びデータセットのための予め定められた最大コンプライアンススコアの関数として計算され得る。データセットのためのスタック依存スコアを計算するとき、好ましい実施形態は、そのデータセットに対応するノードからグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前述のノードのセットを識別する。これは、処理を簡略化すること、及び複雑な環境のシステムグラフでは依存経路が円形であり得るという問題を克服することの両方を行う。有利に、しかしながら、好ましい実施形態は、特定の依存関係を、コンプライアンスリスクを決定するのに重大であると指定し得る。特に、予め定められた依存関係タイプのセットのうち1つを表すシステムグラフにおける任意のエッジについて、そのエッジは、データセットのためのスタック依存スコアの計算のためにノードのセットを識別することにおいてトラバースされなければならない「優先エッジ」として識別され得る。これらの実施形態において、ノードのセットは、データセットのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットに対応するノードからグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって決定される。これは、データコンプライアンスに著しく影響を与え得る重大な依存関係を表すエッジが常にトラバースされていることを確実にする。
【0025】
特に好ましい実施形態はさらに、そのエッジによって表された依存関係のタイプに応じて、グラフのエッジごとに重みを定義することによってコンポーネント間の異なるタイプの依存関係に適応し得る。これらの方法は、そのノードのコンプライアンススコア及びそのノードに到達するようにトラバースされる有向エッジの重みの関数として、前述のセットにおけるノードごとに影響スコアを計算する。データセットのためのスタック依存コンプライアンススコアは次に、セットにおけるノードのための影響スコアの関数として計算される。これは、スタック依存スコアへのノードの寄与が、システムにおける異なる程度の依存関係に従って調整されることを可能にする。
【0026】
有利に、システムグラフの生成は、コンピューティングシステムから自動的に取得される標準メタデータに基づき得る。特に、実施形態は、システムコンポーネントの構成を指示するシステムメタデータを取得するべく、コンピューティングシステム内に提供された少なくとも1つのシステムインベントリにアクセスすること、及び、システムにおける各データセットの位置及び使用状況を指示するデータメタデータを取得するべく、コンピューティングシステム内に提供された少なくとも1つのデータカタログにアクセスすることを行い得る。これらの方法は次に、システムメタデータ及びデータメタデータからのデータセットごとにシステムコンポーネントのスタックを識別し得る。同様に、好ましい方法は、グラフのノードのためのコンプライアンススコアを取得するべく、コンピューティングシステム内に提供された少なくとも1つのコンプライアンスアプリケーションと通信する段階を含む。さらに、好ましい方法は、システム内のイベントの検出に応答して、システムグラフを動的に更新し得る。ここでのイベントは:データセットの追加;データセットの削除;データセットのシステムコンポーネントのスタックに対する変更;及びグラフのノードのためのコンプライアンススコアにおける変更を含み得る。これらの方法は次に、イベントによって影響される(少なくとも)各データセットのための新たなスタック依存コンプライアンススコアを計算し得る。これは、システム動作中の変更に適応できる適応型プロセスを提供し、全てのデータが適切に保護されることを確実にするようにコンプライアンススコアを再評価する。
【0027】
いくつかの実施形態は、システムコンポーネントを表すノードのためのスタック依存コンプライアンススコアも計算し得る。本発明を具現化する方法のこの及び他の特徴及び利点は、以下により詳細に記載される。
【0028】
本発明は、システム、方法、及び/又はコンピュータプログラム製品であってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数のコンピュータ可読記憶媒体)を含み得る。
【0029】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持及び記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、限定されないが、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上述したものの任意の好適な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは下記を含む:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memory又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタルバーサタイルディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、命令が記録されているパンチカード又は溝の中の隆起構造等の機械的にエンコードされるデバイス、及びこれらの任意の好適な組み合わせ。コンピュータ可読記憶媒体は、本明細書において使用される場合、電波又は他の自由に伝搬する電磁波、導波路又は他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を通じて伝送される電気信号といった、一時的な信号それ自体と解釈されるべきではない。
【0030】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスに、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部ストレージデバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含み得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0031】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk(登録商標)、C++、又は同様のものなどのオブジェクト指向プログラミング言語、「C」プログラミング言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1又は複数のプログラミング言語の任意の組み合わせで書かれたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、完全にユーザのコンピュータ上で実行すること、部分的にユーザのコンピュータ上で実行することができ、部分的にユーザのコンピュータ上で実行し部分的にリモートコンピュータ上で実行すること、又は、完全にリモートコンピュータ又はサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータが、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、又はその接続が、(例えば、インターネットサービスプロバイダを使用するインターネットを介して)外部コンピュータに対して行われ得る。いくつかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路をパーソナライズし得る。
【0032】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック及び、フローチャート図及び/又はブロック図の中のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【0033】
これらのコンピュータ可読プログラム命令は、マシンを生成するために汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供され得、その結果コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート及び/又はブロック図の1又は複数のブロックにおいて指定された機能/動作を実装するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに特定の方式で機能するように指示できるコンピュータ可読記憶媒体内に記憶され得、その結果、その中に記憶された命令を有するコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の1又は複数のブロックで指定された機能/動作の態様を実装する命令を含む製品を備える。
【0034】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上へロードされて、一連の動作段階をコンピュータ、他のプログラマブル装置、又は他のデバイス上で実行させ、コンピュータ実装プロセスを生成してもよく、その結果、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1又は複数のブロックで指定された機能/動作を実装する。
【0035】
図におけるフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、及び動作を図示する。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装するための1又は複数の実行可能命令を含む命令のモジュール、セグメント、又は一部を表し得る。いくつかの代替実装では、ブロックに記されている機能は、図面に記されている順序とは異なる順序で行われ得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行され得るか、又は、関連する機能に応じてブロックが逆の順序で実行されることもあり得る。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用ハードウェア及びコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムにより実装され得ることにも留意されたい。
【0036】
説明される実施形態は、コンピューティングシステムにおけるデータのコンプライアンスリスクを管理するためのコンピュータ実装方法として実行され得る。そのような方法は、その各々が1又は複数の(実際又は仮想)マシンを含み得る1又は複数の汎用又は専用コンピュータを含むコンピューティング装置によって実装され、本明細書に記載された動作を実装する機能を提供し得る。本発明を具現化する方法のステップは、システムの処理装置によって実装される、例えばプログラムモジュールのようなプログラム命令によって実装され得る。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含んでよい。コンピューティングシステムは、クラウドコンピューティング環境などの、分散型コンピューティング環境で実装され得るのであるが、その場合、タスクは、通信ネットワークを通じてリンクされているリモート処理デバイスによって実行される。分散型コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含む、ローカルなコンピュータシステムの記憶媒体とリモートのコンピュータシステムの記憶媒体との両方に配置され得る。
【0037】
図1は、本発明を具現化する方法を実装する例示的なコンピューティング装置のブロック
図100である。コンピューティング装置は、汎用コンピュータ1の形態で示されている。コンピュータ1のコンポーネントは、処理ユニット2によって表されている1又は複数のプロセッサなどの処理装置と、システムメモリ3と、システムメモリ3を含む様々なシステムコンポーネントを処理ユニット2に結合するバス4とを含み得る。
【0038】
バス4は、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャの任意のものを使用したプロセッサ又はローカルバスを含む、いくつかのタイプのバス構造の任意のもののうちの1又は複数を表す。限定ではなく例として、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダードアソシエーション(VESA)ローカルバス、及び周辺コンポーネント相互接続(PCI)バスが含まれる。
【0039】
コンピュータ1は、典型的には、様々なコンピュータ可読媒体を含む。そのような媒体は、揮発性及び不揮発性の媒体と、取り外し可能及び取り外し不可能な媒体とを含む、コンピュータ1によってアクセス可能である任意の利用可能な媒体であり得る。例えば、システムメモリ3は、ランダムアクセスメモリ(RAM)5及び/又はキャッシュメモリ6など、揮発性メモリの形態でコンピュータ可読媒体を含むことがあり得る。コンピュータ1は、その他の取り外し可能/取り外し不可能、揮発性/不揮発性のコンピュータシステム記憶媒体をさらに含み得る。単なる例であるが、取り外し不可能で不揮発性の磁気媒体(通常「ハードドライブ」と称される)との間で読み取り及び書き込みを行うために、ストレージシステム7が提供されることがあり得る。また、図示されていないが、取り外し可能で不揮発性の磁気ディスク(例えば、「フロッピーディスク」)との間で読み取り及び書き込みを行うための磁気ディスクドライブと、CD-ROM、DVD-ROM、又はその他の光媒体などの取り外し可能で不揮発性の光ディスクとの間で読み取り又は書き込みを行うための光ディスクドライブとが提供され得る。そのような事例では、各々を1又は複数のデータ媒体インタフェースによってバス4に接続することができる。
【0040】
メモリ3は、本発明の実施形態の機能を実行するように構成された1又は複数のプログラムモジュールを有する少なくとも1つのプログラム製品を含み得る。例として、プログラムモジュール9のセット(少なくとも1つ)を有するプログラム/ユーティリティ8が、メモリ3に記憶され得るのであるが、オペレーティングシステム、1又は複数のアプリケーションプログラム、その他のプログラムモジュール、及びプログラムデータも同様である。オペレーティングシステム、1又は複数のアプリケーションプログラム、その他のプログラムモジュール、及びプログラムデータ又はこれらのいくつかの組み合わせは、それぞれが、ネットワーキング環境の実装形態を含み得る。プログラムモジュール9は一般に、本明細書に記載するような本発明の実施形態の機能及び/又は方法論を実行する。
【0041】
また、コンピュータ1は、キーボード、ポインティングデバイス、ディスプレイ11などの1又は複数の外部デバイス10;ユーザとコンピュータ1との相互作用を可能にする1又は複数のデバイス;及び/又はコンピュータ1と1又は複数の他のコンピューティングデバイスとの通信を可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)、と通信し得る。そのような通信は、入力/出力(I/O)インタフェース12を介して生じ得る。また、コンピュータ1は、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、及び/又はパブリックネットワーク(例えば、インターネット)などの1又は複数のネットワークと、ネットワークアダプタ13を介して通信することができる。図示されているように、ネットワークアダプタ13は、バス4を介して、コンピュータ1の他のコンポーネントと通信する。コンピュータ1は、本発明の実施形態を実装するために、GPU(グラフィックス処理ユニット)又はFPGAなどの追加の処理装置14とも通信し得る。図示されていないが、他のハードウェア及び/又はソフトウェアコンポーネントをコンピュータ1と併せて使用することができることが理解されるべきである。その例には、これらに限定されないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイブストレージシステムなどが含まれる。
【0042】
図2は、コンピューティングシステムにおけるデータコンプライアンスリスクを管理するための例示的なコンピューティング装置のコンポーネントモジュールを概略的に示す。装置20は、メモリ21、及び、ここではデータセンタ23であるコンピューティングシステムにおけるデータのコンプライアンスリスクを管理するための機能を含む一般的に22で指示される制御ロジックを含む。制御ロジック22は、システムアナライザ24、システムグラフ生成器25、及びコンプライアンスマネージャ26を含む。これらのロジックモジュールの各々は、以下で詳細に記載されたコンプライアンス管理プロセスの特定のステップを実装するための機能を含む。このプロセス中に、ロジックモジュールは、システムとのユーザ相互作用のために、ユーザコンピュータに表示されたユーザインタフェース(UI)27を介してシステムオペレータと通信し得る。以下の好ましい実施形態において、図の破線によって指示されたように、システムアナライザ24はイベントモニタモジュール28を含み、コンプライアンスマネージャ26はアクション管理者モジュール29を含む。
【0043】
ロジックモジュール24から26は、装置20の動作中に使用される様々なデータ構造を記憶するメモリ21とインタフェース接続されている。これらのデータ構造は、管理対象のシステム23のメタデータ31のセット、動作中にグラフ生成器25によって生成されるシステムグラフ32、システムグラフ32のそれぞれのノードniに関連付けられた、{ci}によって示された(i=1,2,3,…)コンプライアンススコア33のセット、及び、システム23におけるそれぞれのデータセットdjのためにコンプライアンスマネージャ26によって生成された、{Cj}によって示された(j=1,2,3,…)スタック依存コンプライアンススコア34のセットを含む。メモリ21は、以下の好ましい実施形態において装置によって実装されるシステムイベント及び管理アクションを記録するログ35も記憶し得る。
【0044】
装置20は、ローカルであっても又は管理対象のコンピューティングシステム23からリモートであってもよく、いくつかの実施形態におけるシステムに統合され得る。一般的に、ロジックモジュール24から26の機能は、ソフトウェア(例えば、プログラムモジュール)又はハードウェア又はそれらの組み合わせによって実装され得る。説明されている機能は、他の実施形態において、システムモジュールの間で異なって配分される場合があり得るし、1又は複数のモジュールの機能が組み合わされることもあり得る。装置20の様々なコンポーネントは、コンピューティングシステムの1又は複数のコンピュータにおいて提供され得る。例えば、全てのモジュールは、UI27がオペレータに表示されているコンピュータ1において提供され得、又は、モジュールは、ユーザコンピュータがUI27を介して装置と相互作用するためにネットワークを介してそこに接続され得る1又は複数のコンピュータ/サーバにおいて提供され得る。そのようなネットワークは、一般に、インターネットを含めて、1又は複数のコンポーネントネットワーク及び/又はインターネットワーク含み得る。システムメモリ21は、装置20を実装する1又は複数のコンピュータに関連付けられた1又は複数のメモリ/記憶コンポーネントによって実装され得る。
【0045】
装置20におけるコンプライアンス管理プロセスは、管理対象のシステム23のメモリ21に予め記憶されたメタデータ31を使用する。このメタデータは、システムメタデータ及びデータメタデータの両方を含む。システムメタデータは、様々なシステムコンポーネントを識別し、コンポーネントがどのようにシステムにおいて構成されているかを指示する。例えば、典型的なデータセンタは、ストレージシステム(ソリッドステートドライブ、光ストレージデバイス、テープストレージシステムなど)、及びネットワークデバイス(ルータ、スイッチ、ネットワーク、コントローラ等)と共にデータセンタネットワーク内でクラスタ化され得る複数のコンピュータ/サーバのネットワークを含む。任意の所与のサーバは、1又は複数のオペレーティングシステム/プラットフォームをサポートし得、ハイパーバイザは1又は複数の仮想マシンを実行し、これは、結果として、システムにおいて1又は複数のアプリケーション/サービス(場合によっては1又は複数のコンテナ内で)を実行する。管理されるシステムのタイプ及び構成に応じて、システムコンポーネントは、したがって、アプリケーション、サービス、オペレーティングシステム、プラットフォーム、仮想マシン、ハイパーバイザ、コンテナ、ストレージシステム、物理マシン、ネットワークデバイス、ネットワーク、ネットワーククラスタ、データセンタ、データセンタのクラスタ等を含み得る。データメタデータは、各データセットがシステム内のどこで記憶及び処理されているかを指示する。様々な他のメタデータは、システムデータセットに関連付けられ得る。例えば、データは典型的に、機密性の程度、例えば、パブリック、パーソナル、機密などに従って分類されており、より機密性の高いデータはより高い分類を有し、このデータ分類は、データセットのメタデータに含まれる。いくつかの実施形態において、メタデータ31は、例えば比較的少ないリソースを有する単純なシステムの場合、UI27を介したオペレータの入力によって定義され得る。しかしながら、好ましい実施形態において、メタデータ31は、以下に説明されるように、システム23をスキャンすることによって自動的に取得され得る。
【0046】
図3は、装置20におけるコンプライアンス管理プロセスの基本的なステップを指示するフローチャート300を示す。ステップ40において、システムアナライザ24はメタデータ31を処理することで、システム23におけるデータセットd
jごとに、そのデータセットが依存する階層依存システムコンポーネントの1又は複数のスタックを識別する。
図4は、そのようなスタックの一例(例えば、例示的なスタック400)を示す。ここで、データセットd
1は、仮想マシン(VM)X上で実行されるアプリケーション(app)Aによって処理される。VMは、データセンタYに位置したベアメタルサーバ(BM)S上で結果として実行されることになるハイパーバイザ(hyp)H上で実行される。データセットd
1は、したがって、app AからデータセンタYのコンポーネントに至るまでのスタックに依存しており、ここで、各コンポーネントは、スタックを介した階層の順序において下にある次のものに依存する。典型的なコンピューティングシステム23において、任意の所与のデータセットは、1又は複数のそのようなコンポーネントのスタックに依存し得、例えば、ここで、データセットは複数のアプリケーションによって処理される。システムアナライザ24は、データセットd
jごとのコンポーネントスタックを定義するデータをシステムグラフ生成器25に渡す。
【0047】
ステップ41において、グラフ生成器25は、システム23におけるコンポーネント及び依存関係を表す有向エッジによって相互接続されたノード(頂点)を有するシステムグラフを生成する。各データセットdj、及びそのデータセットの各スタックにおける各コンポーネントは、グラフの対応するノードによって表されている。エッジは、システムにおける依存関係を表す。従って、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、グラフの関連したノード間の有向エッジによって表される。結果として得られるシステムグラフを定義するデータは、システムメモリ21における32に記憶される。
【0048】
図3のステップ42は、システムグラフ32の対応するノードn
iに割り当てられたシステムコンポーネントのためのコンプライアンススコア33のシステムメモリ21における記憶を表す。ノードn
iのためのコンプライアンススコアc
iは、システム23の従来のコンプライアンスアプリケーション/サービスによって決定される、対応するシステムコンポーネントに関連する個々のコンプライアンススコアである。これらのコンプライアンススコアは、いくつかの実施形態においてオペレータによって入力されてもよく、又は、以下に記載されたように、システムから自動的に取得されてもよい。ノードのためのコンプライアンススコアc
iは、システムグラフ32におけるそれぞれのノードn
iの、関連付けられた特性、又は、ラベルとして記憶され得る。
【0049】
ステップ43において、システムグラフが完全にポピュレートされたとき、コンプライアンスマネージャ26は、システムにおけるデータセットd
jごとにスタック依存コンプライアンススコアを計算するようにグラフを処理する。このプロセスは、
図5、例えば、フローチャート500、においてより詳細に示されている。ここでステップ46において、コンプライアンスマネージャは、データセットd
jに対応するシステムグラフ32においてノードn
jを選択する。ステップ47において、コンプライアンスマネージャは、グラフにおける有向エッジをノードn
jからトラバースして、グラフにおけるn
jからエッジをトラバースすることによって到達可能な、{n
k}によって示されたノードのセットを識別する。この検索は、データセットノードn
jから到達可能な全てのノードを識別し得、又は、以下で記載された様々な制約の対象であり得る。ステップ48において、コンプライアンスマネージャは、結果として得られるノードセット{n
k}のためのコンプライアンススコア{c
k}を取得する。ステップ49において、スタック依存コンプライアンススコアC
jは、コンプライアンススコア{c
k}の、ここでFによって示された関数として計算される。例えば、単純な実施形態において、関数Fは、{n
k}におけるノードごとにコンプライアンススコアの単調増加関数を含み、これにより、ノードの個々のスコアがより高いほど、結果としてスタック依存スコアがより高くなる。コンプライアンススコアがノードn
kに対して利用可能でない場合、次に、このスコアは、計算から単に省略される。
【0050】
図3に戻ると、決定ステップ44では、コンプライアンスマネージャは、スタック依存スコアC
jが、そのデータセットの予め定められたリスク閾値Th
jを違反するかをチェックし、そのデータがリスクにあることを示す。リスク閾値Th
jは、オペレータの入力によって予め定められてもよく、又は、以下で説明されるように自動的に計算されてもよい。ここで、より高いコンプライアンススコアがより良いコンプライアンスを指示すると仮定して、ステップ44は、C
jがデータセットの閾値Th
j未満であるかどうかをチェックする。もしそうである場合、リスク閾値は違反されており、ステップ45において、コンプライアンスマネージャは、データセットに対してアラートを生成する。このアラートは、取られるべき適切なアクションのためにUI27を介してオペレータに出力され得、及び/又は、以下に記載されるコンプライアンスマネージャ26によるさらなるアクションを促し得る。
【0051】
図6は、コンピューティングシステム23における3つのデータセットの依存関係を示すシステムグラフ(例えば、グラフ600)の一部を示す。依存関係タイプは、様々なエッジのブラケットにおいて指示されている。ここで、データセットd
1は、
図4に示されたものに対応する1つのコンポーネントスタックに依存する。データセットd
2は、ハイパーバイザHyp1上で実行され且つ仮想マシンVM3にも接続される仮想マシンVM2を介して2つのスタックに依存する。データセットd
3も2つのスタックに依存しており、一方は、ハイパーバイザHyp2上で実行されるVM3を介して、他方は、VM4及びHyp2上で実行されるアプリケーションコンテナcon1において実行されるアプリケーションapp2を介して依存している。
図5のステップ47において、ノードセット{n
k}が、データセットノードd
jから到達可能な全てのノードを含む場合、d
jの全てのスタックにおける全てのノードのコンプライアンススコアは、スタック依存スコアにおいて適応されており、「フルスタック」コンプライアンススコアC
jをデータセットごとに与える。
【0052】
上記のプロセスは、システムグラフのノード間の関係が推移的である事実に適応していることがわかるであろう。例えば、仮想マシンが非準拠ハイパーバイザ上で実行される場合、その仮想マシン上で実行されるアプリケーションのコンプライアンスも損失される。完全なコンピューティングシステム23を、有向グラフにおけるそのコンプライアンス情報、依存関係及びデータ資産とともに表すことによって、コンプライアンス管理プロセスは、依存コンポーネント及びデータセットの間の非表示コンプライアンス影響に対処して、データに対する真のリスクを定量化し、これにより、データが適切に保護されることを確実にするためにアクションが取られ得る。
【0053】
装置20の好ましい実施形態の動作は、ここでより詳細に記載される。この実施形態において、システムアナライザ24は、コンピューティングシステム23をスキャンして、コンプライアンス管理プロセスに必要なメタデータを取得するように適応されている。全体のシステム23はここでスキャンされ得、又は、このスキャンの範囲は、例えば、複数のユーザアカウントをサポートするシステム23における特定のユーザ(例えば、特定の企業)によって使用されるシステムリソースに対する、UI27を介したオペレータの入力によって定義され得る。
【0054】
図7は、ここでシステムアナライザによって実行されるステップを示すフローチャート700を示す。ステップ50において、システムアナライザは、システム23において維持されている1又は複数のシステムインベントリにアクセスして、定義されたスキャンの範囲内でシステムコンポーネントの構成を指示するシステムメタデータを取得する。同様に、ステップ52において、システムアナライザは、システム23において提供された1又は複数のデータカタログにアクセスして、各データセットの記憶位置及び使用状況、すなわち何がデータを処理するか、を指示するデータメタデータを取得する。ステップ53において、システムアナライザは、システム23における1又は複数のコンプライアンスモニタリングアプリケーションと通信して、スキャンの範囲内でシステムコンポーネントのためのローカルコンプライアンススコアを取得し、これは、システムグラフにおけるノードによって表される。システムグラフをポピュレートするための全ての関連データは、したがって、システム23内の適切なAPI(Application Programming Interfaces)に電話をかけることによって、自動的に取得される。
【0055】
データセットのためにステップ52において取得されたメタデータがデータセキュリティ/機密性分類を含む場合、ステップ54において、システムアナライザは、指定されたデータ分類の関数としてデータセットのリスク閾値Th
jを計算し、その結果、より高いリスク閾値がより機密性の高いデータに対して定義される。ステップ55において、システムアナライザは、一般的に上記のように、データセットのコンポーネントスタック及び依存関係を識別する。ここで、しかしながら、システムアナライザは、1対のコンポーネントの間における特定のタイプの依存関係を識別する。例えば、依存関係タイプは、
図6のシステムグラフにおけるブラケットに指示されたそれらであり得る。それらの関連付けられた依存関係、依存関係タイプ、コンプライアンススコア及びリスク閾値を有する分析結果、すなわち、識別されたデータセット及びコンポーネントは、ステップ56においてグラフ生成器25に出力される。システム解析は次に、現在のスキャンに対して完了する。
【0056】
次のコンプライアンス管理プロセス(例えば、フローチャート800)は、
図8に示されている。ステップ60において、グラフ生成器25は、一般的に上記のようにシステムグラフを生成する。コンポーネントノードは、それらのローカルコンプライアンススコアc
iでラベル付けされ、データセットノードは、それらのリスク閾値Th
jでラベル付けされる。この実施形態において、グラフ生成器も、そのエッジによって表された依存関係のタイプに応じて、重みwで各エッジをラベル付けする。重みwは、データコンプライアンスに対するそれらの潜在的な影響の観点から、様々な依存関係の相対的な重要性を反射する。例えば、ハイパーバイザ上で実行されるVMは、別のVMに接続されるVMよりも密に結合されている。したがって、各タイプのエッジには、0(コンプライアンス影響がない)及び1(最大コンプライアンス影響)の間の重みwが割り当てられている。例として、重みは、以下のように、
図6の依存関係に割り当てられ得る。
[依存関係タイプ] [重み]
実行(runs on) 1
記憶(stored on) 0.7
処理(processed by) 0.5
接続(connects to) 0.2
位置(located in) 0.2
【0057】
加えて、グラフ生成器25は、優先度ラベルpからp=1を設定することによって、特定のエッジを「優先エッジ」としてラベル付けする。特に、予め定められた依存関係タイプのセットのうち1つを表す任意のエッジは、優先エッジとして識別される。依存関係タイプのこのセットは、データコンプライアンスに著しく影響を与え得る重大な依存関係を含む。例えば、データを処理するアプリケーションは、アプリケーションを実行するVMのノンコンプライアンスによって大きく影響され得る。VMは、結果として、基礎となるハイパーバイザによって著しく損失され得る。したがって、上記のリストでは、任意の「実行」エッジが、優先エッジとしてラベル付けされる。この例において、全ての他のエッジタイプはp=0でラベル付けされる。しかしながら、他のエッジタイプは、所与のシステムに適切であるとみなされる優先度セットに含まれ得る。
【0058】
システムグラフの生成後、
図8におけるステップ61から71が、管理対象のシステムにおいてデータセットd
jごとにコンプライアンスマネージャ26によって実行される。ステップ61において、対応するデータセットノードn
jは、グラフ内に位置しており、ループカウンタhは0に初期化される。次に、ステップ62から66は、データセットノードn
jから導出される有向エッジごとに実行される。ステップ62において、エッジは次のノードn
kにトラバースされ、影響スコアI
kは、ステップ63におけるノードn
kに対して計算される。影響スコアI
kは、n
kのためのコンプライアンススコア、及びそのノードに到達するためにトラバースされた有向エッジの重み(図面ではw
kによって示されている)の関数Fとして計算される。この例において、ローカルコンプライアンススコアc
iは割合として定義されており、I
kは、I
k=w
k(1-c
k/100)として計算されており、c
kはノードn
kのためのコンプライアンススコアである。次に、ループカウンタhはインクリメントされ、動作はステップ64に進む。これは、hが、検索のために、グラフ内の最大深さを定義する最大ホップカウントD
maxに到達したかをチェックする。そうでない場合、動作は、次のホップのためにステップ62に戻る。
【0059】
ステップ64においてh=Dmaxであるとき、動作は決定65に進む。ここで、コンプライアンスマネージャは、スタックのより低いところの優先度依存関係に対応して、現在のノードnkから到達可能な経路において任意の優先エッジ(p=1)をチェックする。ここでの優先エッジを有する任意の経路の場合、コンプライアンスマネージャは、最後の優先エッジの端までの経路における全てのノードnkのための影響スコアIkを計算する。次に、動作はステップ67に進む。優先エッジを有する経路がステップ65において検出されていない場合、動作は、ステップ67に直接移行する。
【0060】
現在のデータセットd
jのためのスタック依存スコアC
jは、ステップ63から66においてノードに対して計算される影響スコアの関数として、ステップ67において計算される。したがって、データセットのための全体的なスコアC
jは、データセットのコンポーネントスタックにおける一対のコンポーネントに対応するノード間の任意の優先エッジを常にトラバースすることを条件として、有向エッジをデータセットノードn
jから最大深さD
maxまでトラバースすることによって到達されるノードのセットのための影響スコアに依存する。この例において、スコアC
jは、
【数1】
のように計算され、ここで、c
maxは、データセットのための予め定められた最大コンプライアンススコアであり、例えば、c
max=100である。
【0061】
ステップ68において、コンプライアンスマネージャは、現在のデータセットd
jのためのスタック依存スコアC
jがデータセットノードn
jのリスク閾値Th
jを違反するかをチェックする。そうでない場合、動作は、そのデータセットに対して完了される。しかしながら、リスクがステップ68において識別された場合、コンプライアンスマネージャは、リスクを軽減するように適切なアクションを開始する。ここでのステップ69において、アクション管理者モジュール29は、データを保護するのに適切なアクションを選択する。選択されたアクションは、データセットに対するシステム内のアクセス許可を制限すること;データセットを削除すること;データセットを記憶したシステムコンポーネントを隔離すること;及びデータセットのシステムコンポーネントのスタックを再構成することなどの1又は複数の予め定められたアクションを含み得る。アクションの選択は、アクション管理者29における予め定められた規則に基づき得、ここで、規則は、例えば、データ分類、リスクの程度、及び、コンポーネントのための寄与するコンプライアンススコアに基づいたノンコンプライアンスのソースなどの様々なパラメータに適応し得る。例えば、ハイパーバイザがノンコンプライアンスの一次ソースとして識別された場合、このハイパーバイザ上で実行されているVMは、より準拠性の高い異なるハイパーバイザに移動し得る。データは、データセットを記憶するマシンをシャットダウンすることによって隔離され得、又は、アクセス許可は、最も高いクリアランスのユーザ以外に対して破棄され得る。高度に分類されたデータセットは、リスクが重大だとみなされた場合に、削除され得る。一般的に、任意の管理アクションは、システムにおける必要なアクセス許可を条件に実装されて、リスクを軽減しデータを適切に保護し得る。選択されたアクションは、
図8のステップ70において、アクション管理者29によって実装される。ステップ71において、アクションは、アクションログ35に記録され、アラートが、レビューのためにオペレータに出力される。
【0062】
図9は、
図6のグラフにおけるデータセットd
1(例えば、例900)のためのコンプライアンススコアの計算の例を示す。この計算は、図面に示すようにローカルコンプライアンススコアc及びエッジラベルを仮定し、最大深さD
max=5である。これは、d
1の依存関係のスタック全体に適応しており、結果として、フルスタックコンプライアンススコアC
1=47.5をもたらす。この図面に示されたように、コンプライアンスマネージャは、スタックにおけるシステムコンポーネントに対応するノードのサブセットの各々に対してスタック依存コンプライアンススコアを計算することもできる。ここで、スタック依存コンプライアンススコアCは、コンポーネントノードに対して
【数2】
のように計算され、ここで、cは、問題となっているノードのためのローカルコンプライアンススコアである。個々のリスク閾値は、コンポーネントノードに対して定義され得、任意のスタック依存スコアがリスク閾値を違反した場合にはアラートが生成され得る及び/又は適切なアクションが取られる。代替的に、スタック依存スコアは、データコンプライアンスに対して影響を及ぼす可能性が最も高い予め定められたノードタイプに対して計算され得る。これはさらに、必要な場合にスタックにおいてより低いコンプライアンスリスクの補正を可能にすることによって、データへのリスクを軽減する。
【0063】
図7及び8の管理プロセスは、システム動作中に周期的に、又は、マルチユーザ環境における所与のシステムユーザに対して必要に応じて、実行され得る。しかしながら、好ましい実施形態において、システムアナライザ24のイベントモニタ28は、システムグラフの動的な更新をトリガするために、システム23内のイベントに応答する。これは、イベント駆動型メタデータストリーミングシステムによって実装され得、これにより、システム23におけるメタデータに対する任意の更新は、イベントモニタ28にストリーミングされる。
図10は、新たなスタック依存スコアを計算するとともに1又は複数のイベント及び/又はアクションをロギングするための例示的なステップを示すフローチャート1000を示す。ステップ75において、イベントモニタ28は、システムから受信されたメタデータ更新を解析することによって、システムにおける関連イベントを検出する。ここで検出されたイベントは:データセットの追加;データセットの削除;データセットのシステムコンポーネントのスタックに対する変更;及びグラフのノードのためのコンプライアンススコアにおける変更であり得る。別のイベントは、データ分類への変更であり得、ここで、これは、データセットのリスク閾値を決定するのに使用される。システムメモリ21に記憶されたメタデータ31は、ステップ76において、それに応じて更新される。ステップ77において、システムアナライザ24は、更新済みのメタデータを再解析し、グラフ生成器は、分析結果に基づいてシステムグラフを更新する。新たなスタック依存スコアは次に、ステップ78において、少なくともシステムグラフにおける変更によって影響される任意のデータセットに対して計算される。ステップ79において、コンプライアンスマネージャは、コンプライアンスリスクをチェックし、上記の任意の必要なアクションを開始する。イベント/アクションは次に、ステップ80におけるログ35に記録される。この動的な更新プロセスはさらに、システムグラフが常に最新であることを確実にすることによって、データに対するリスクを軽減する。
【0064】
上記の実施形態は、インフラストラクチャコンポーネント及びデータの間の様々な依存関係を、ローカルコンプライアンス状態及びデータ分類に適応する単一のシステムグラフに組み込むことで、データ露出の真のリスクを定量化し、必要に応じてデータを保護するように作動することがわかるであろう。このようにシステム依存関係を考慮することによって、管理システムは、複雑な環境におけるデータに対するコンプライアンス問題の実際の影響に対処する。記載された技術は、小さな局在システムであれ、又は非常に複雑な企業規模のコンピューティング環境であれ、任意のタイプのコンピューティングシステムに容易に拡張可能である。
【0065】
記載された実施形態に対する様々な代替及び修正も勿論想定され得る。例として、システムグラフは、特定のコンピューティングシステムに適切な図面に示されたそれら以外のコンポーネントのノードを含み得る。他のエッジタイプは、特定のシステムグラフに適切であるとみなされるものと定義され得る。記載された技術は、コンピューティングシステムにおける1又は複数のデータセットに適用され得る。様々な他の機能も、影響スコア及びスタック依存コンプライアンススコアを計算するために想定され得る。
【0066】
一般的に、本発明を具現化する方法を参照して特徴が本明細書に記載された場合、本発明を具現化する装置/コンピュータプログラム製品には対応する特徴が提供され得、逆もまた同様である。
【0067】
本発明の様々な実施形態の説明は例示を目的として提示されており、その説明が包括的であることも、又は開示された実施形態に限定されることも意図されてはいない。多くの修正形態及び変形形態が、記載された実施形態の範囲及び趣旨から逸脱することなく、当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、又は市場で見られる技術を超える技術的改良を最も良く説明するため、又は他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。
【手続補正書】
【提出日】2024-05-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別する段階;
有向エッジによって相互接続されたノードを有するシステムグラフを生成する段階、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶する段階、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算する段階;及び
データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成する段階
を備える、コンピュータ実装方法。
【請求項2】
データセットのための前記スタック依存コンプライアンススコアは、前記ノードのセットの前記コンプライアンススコア、及び前記データセットのための予め定められた最大コンプライアンススコアの関数として計算される、請求項1に記載のコンピュータ実装方法。
【請求項3】
データセットに対するアラートに応答して、コンプライアンスリスクを軽減するように前記コンピューティングシステム内でアクションを開始する段階をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項4】
前記アクションは、前記データセットに対する前記コンピューティングシステム内のアクセス許可を制限すること;前記データセットを削除すること;そのデータセットを記憶したシステムコンポーネントを隔離すること;及びそのデータセットのシステムコンポーネントの前記少なくとも1つのスタックを再構成することのうち少なくとも1つを有する、請求項3に記載のコンピュータ実装方法。
【請求項5】
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項6】
予め定められた依存関係タイプのセットのうち1つを表す前記システムグラフにおける任意のエッジについて、そのエッジを優先エッジとして識別する段階;及び
そのデータセットの前記少なくとも1つのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項7】
データセットごとの前記スタック依存コンプライアンススコアは、そのデータセットの前記ノードのセットにおけるノードごとに前記コンプライアンススコアの単調増加関数を含む、請求項
1に記載のコンピュータ実装方法。
【請求項8】
そのエッジによって表された依存関係のタイプに応じて、前記システムグラフのエッジごとに重みを定義する段階;
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのノードの前記コンプライアンススコア及びそのノードに到達するようにトラバースされる前記有向エッジの前記重みの関数として、前記セットにおけるノードごとに影響スコアを計算する段階;及び
そのデータセットのための前記スタック依存コンプライアンススコアを、前記セットにおけるノードの前記影響スコアの関数として計算する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項9】
システムコンポーネントの構成を指示するシステムメタデータを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのシステムインベントリにアクセスする段階;
前記コンピューティングシステムにおける各データセットの位置及び使用状況を指示するデータメタデータを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのデータカタログにアクセスする段階;及び
前記システムメタデータ及びデータメタデータからのデータセットごとにシステムコンポーネントの前記少なくとも1つのスタックを識別する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項10】
前記データメタデータに含まれたデータ分類に応じて、データセットごとに前記リスク閾値を決定する段階を含む段階
をさらに備える、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記システムグラフのノードのための前記コンプライアンススコアを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのコンプライアンスモニタリングアプリケーションと通信する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項12】
前記コンピューティングシステム内のイベントの検出に応答して、前記システムグラフを動的に更新する段階、前記イベントは、データセットの追加、データセットの削除、データセットのシステムコンポーネントの前記少なくとも1つのスタックに対する変更、及び、前記システムグラフのノードのための前記コンプライアンススコアにおける変更を有する;及び
前記イベントのうちのイベントによって影響されるデータセットごとの新たなスタック依存コンプライアンススコアを計算する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項13】
前記システムコンポーネントは、少なくとも、アプリケーション;サービス;オペレーティングシステム;プラットフォーム;仮想マシン;ハイパーバイザ;コンテナ;ストレージシステム;物理マシン;ネットワークデバイス;ネットワーク;ネットワーククラスタ;データセンタ;データセンタのクラスタのサブセットを有する、請求項
1に記載のコンピュータ実装方法。
【請求項14】
システムコンポーネントに対応するノードのサブセットの各々に対して:
そのノードのために記憶された前記コンプライアンススコアの関数としての、そのノードのためのスタック依存コンプライアンススコア、及び、そのノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのために記憶された前記コンプライアンススコアを計算する段階;及び
コンポーネントのための前記スタック依存コンプライアンススコアがそのコンポーネントの予め定められたリスク閾値をトラバースする場合にアラートを生成する段階
をさらに備える、請求項
1に記載のコンピュータ実装方法。
【請求項15】
プログラム命令を備えるコンピュータプログラ
ムであって、前記プログラム命令は:
コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するためのプログラム命令;
有向エッジによって相互接続されたノードを有するシステムグラフを生成するためのプログラム命令、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するためのプログラム命令、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算するためのプログラム命令;及び
データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成するためのプログラム命令
を有する、コンピュータプログラ
ム。
【請求項16】
前記プログラム命令は:
データセットに対するアラートに応答して、コンプライアンスリスクを軽減するように前記コンピューティングシステムにおけるアクションを開始するためのプログラム命令をさらに有する、請求項15に記載のコンピュータプログラ
ム。
【請求項17】
前記プログラム命令は:
予め定められた依存関係タイプのセットのうち1つを表す前記システムグラフにおける任意のエッジについて、そのエッジを優先エッジとして識別するためのプログラム命令;及び
そのデータセットの前記少なくとも1つのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別するためのプログラム命令
をさらに有する、請求項1
5に記載のコンピュータプログラ
ム。
【請求項18】
前記プログラム命令は、
そのエッジによって表された依存関係のタイプに応じて、前記システムグラフのエッジごとに重みを定義するためのプログラム命令;及び
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのノードの前記コンプライアンススコア及びそのノードに到達するようにトラバースされる前記有向エッジの前記重みの関数として、前記セットにおけるノードごとに影響スコアを計算するとともに、前記スタック依存コンプライアンススコアを、前記セットにおけるノードの前記影響スコアの関数として計算するためのプログラム命令
をさらに有する、請求項1
5に記載のコンピュータプログラ
ム。
【請求項19】
1又は複数のコンピュータプロセッサ;
1又は複数のコンピュータ可読記憶媒体;及び
前記1又は複数のコンピュータプロセッサのうち少なくとも1つによる実行のために前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令
を備えるコンピュータシステムであって、前記プログラム命令は:
前記コンピュータシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するように適応されたシステムアナライザロジック;
有向エッジによって相互接続されたノードを有するシステムグラフを生成するように適応されたグラフ生成器ロジック、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
前記システムグラフ及びシステムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するメモリ、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;及び
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって識別されたノードのセットのための前記コンプライアンススコアの関数としてのスタック依存コンプライアンススコアを計算すること、及び、データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成することを行うように適応されたコンプライアンスマネージャロジック
を有する、コンピュータシステム。
【請求項20】
前記コンピュータシステムは、コンプライアンスリスクを軽減するように前記コンピュータシステム内でアクションを開始するべく、データセットに対するアラートに応答して適応され、ここで、前記アクションは:前記データセットに対する前記コンピュータシステム内のアクセス許可を制限すること;前記データセットを削除すること;そのデータセットを記憶したシステムコンポーネントを隔離すること;及びそのデータセットのシステムコンポーネントの前記少なくとも1つのスタックを再構成することのうち少なくとも1つを有する、請求項19に記載のコンピュータシステム。
【請求項21】
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたとき、請求項1から14のいずれか一項に記載のコンピュータ実装方法を実行するように適応されたプログラムコード手段を備える、コンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0067
【補正方法】変更
【補正の内容】
【0067】
本発明の様々な実施形態の説明は例示を目的として提示されており、その説明が包括的であることも、又は開示された実施形態に限定されることも意図されてはいない。多くの修正形態及び変形形態が、記載された実施形態の範囲及び趣旨から逸脱することなく、当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、又は市場で見られる技術を超える技術的改良を最も良く説明するため、又は他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。
(他の可能な項目)
(項目1)
コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別する段階;
有向エッジによって相互接続されたノードを有するシステムグラフを生成する段階、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶する段階、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算する段階;及び
データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成する段階
を備える、コンピュータ実装方法。
(項目2)
データセットのための前記スタック依存コンプライアンススコアは、前記ノードのセットの前記コンプライアンススコア、及び前記データセットのための予め定められた最大コンプライアンススコアの関数として計算される、項目1に記載のコンピュータ実装方法。
(項目3)
データセットに対するアラートに応答して、コンプライアンスリスクを軽減するように前記コンピューティングシステム内でアクションを開始する段階をさらに備える、項目1又は2に記載のコンピュータ実装方法。
(項目4)
前記アクションは、前記データセットに対する前記コンピューティングシステム内のアクセス許可を制限すること;前記データセットを削除すること;そのデータセットを記憶したシステムコンポーネントを隔離すること;及びそのデータセットのシステムコンポーネントの前記少なくとも1つのスタックを再構成することのうち少なくとも1つを有する、項目3に記載のコンピュータ実装方法。
(項目5)
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別する段階
をさらに備える、項目1から4のいずれか一項に記載のコンピュータ実装方法。
(項目6)
予め定められた依存関係タイプのセットのうち1つを表す前記システムグラフにおける任意のエッジについて、そのエッジを優先エッジとして識別する段階;及び
そのデータセットの前記少なくとも1つのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別する段階
をさらに備える、項目1から5のいずれか一項に記載のコンピュータ実装方法。
(項目7)
データセットごとの前記スタック依存コンプライアンススコアは、そのデータセットの前記ノードのセットにおけるノードごとに前記コンプライアンススコアの単調増加関数を含む、項目1から6のいずれか一項に記載のコンピュータ実装方法。
(項目8)
そのエッジによって表された依存関係のタイプに応じて、前記システムグラフのエッジごとに重みを定義する段階;
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのノードの前記コンプライアンススコア及びそのノードに到達するようにトラバースされる前記有向エッジの前記重みの関数として、前記セットにおけるノードごとに影響スコアを計算する段階;及び
そのデータセットのための前記スタック依存コンプライアンススコアを、前記セットにおけるノードの前記影響スコアの関数として計算する段階
をさらに備える、項目1から7のいずれか一項に記載のコンピュータ実装方法。
(項目9)
システムコンポーネントの構成を指示するシステムメタデータを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのシステムインベントリにアクセスする段階;
前記コンピューティングシステムにおける各データセットの位置及び使用状況を指示するデータメタデータを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのデータカタログにアクセスする段階;及び
前記システムメタデータ及びデータメタデータからのデータセットごとにシステムコンポーネントの前記少なくとも1つのスタックを識別する段階
をさらに備える、項目1から8のいずれか一項に記載のコンピュータ実装方法。
(項目10)
前記データメタデータに含まれたデータ分類に応じて、データセットごとに前記リスク閾値を決定する段階を含む段階
をさらに備える、項目9に記載のコンピュータ実装方法。
(項目11)
前記システムグラフのノードのための前記コンプライアンススコアを取得するべく、前記コンピューティングシステム内に提供された少なくとも1つのコンプライアンスモニタリングアプリケーションと通信する段階
をさらに備える、項目1から10のいずれか一項に記載のコンピュータ実装方法。
(項目12)
前記コンピューティングシステム内のイベントの検出に応答して、前記システムグラフを動的に更新する段階、前記イベントは、データセットの追加、データセットの削除、データセットのシステムコンポーネントの前記少なくとも1つのスタックに対する変更、及び、前記システムグラフのノードのための前記コンプライアンススコアにおける変更を有する;及び
前記イベントのうちのイベントによって影響されるデータセットごとの新たなスタック依存コンプライアンススコアを計算する段階
をさらに備える、項目1から11のいずれか一項に記載のコンピュータ実装方法。
(項目13)
前記システムコンポーネントは、少なくとも、アプリケーション;サービス;オペレーティングシステム;プラットフォーム;仮想マシン;ハイパーバイザ;コンテナ;ストレージシステム;物理マシン;ネットワークデバイス;ネットワーク;ネットワーククラスタ;データセンタ;データセンタのクラスタのサブセットを有する、項目1から12のいずれか一項に記載のコンピュータ実装方法。
(項目14)
システムコンポーネントに対応するノードのサブセットの各々に対して:
そのノードのために記憶された前記コンプライアンススコアの関数としての、そのノードのためのスタック依存コンプライアンススコア、及び、そのノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのために記憶された前記コンプライアンススコアを計算する段階;及び
コンポーネントのための前記スタック依存コンプライアンススコアがそのコンポーネントの予め定められたリスク閾値をトラバースする場合にアラートを生成する段階
をさらに備える、項目1から13のいずれか一項に記載のコンピュータ実装方法。
(項目15)
1又は複数のコンピュータ可読記憶媒体及び前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令を備えるコンピュータプログラム製品であって、前記プログラム命令は:
コンピューティングシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するためのプログラム命令;
有向エッジによって相互接続されたノードを有するシステムグラフを生成するためのプログラム命令、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
システムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するためのプログラム命令、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって到達されたノードのセットのための前記コンプライアンススコアの関数としてスタック依存コンプライアンススコアを計算するためのプログラム命令;及び
データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成するためのプログラム命令
を有する、コンピュータプログラム製品。
(項目16)
前記1又は複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令は:
データセットに対するアラートに応答して、コンプライアンスリスクを軽減するように前記コンピューティングシステムにおけるアクションを開始するためのプログラム命令をさらに有する、項目15に記載のコンピュータプログラム製品。
(項目17)
前記1又は複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令は:
予め定められた依存関係タイプのセットのうち1つを表す前記システムグラフにおける任意のエッジについて、そのエッジを優先エッジとして識別するためのプログラム命令;及び
そのデータセットの前記少なくとも1つのスタックにおけるコンポーネントに対応するノード間で任意の優先エッジを常にトラバースすることを条件として、データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのデータセットに対応する前記ノードから前記システムグラフにおける予め定められた最大深さまで有向エッジをトラバースすることによって、前記ノードのセットを識別するためのプログラム命令
をさらに有する、項目15又は16に記載のコンピュータプログラム製品。
(項目18)
前記1又は複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令は、
そのエッジによって表された依存関係のタイプに応じて、前記システムグラフのエッジごとに重みを定義するためのプログラム命令;及び
データセットごとに前記スタック依存コンプライアンススコアを計算する段階において、そのノードの前記コンプライアンススコア及びそのノードに到達するようにトラバースされる前記有向エッジの前記重みの関数として、前記セットにおけるノードごとに影響スコアを計算するとともに、前記スタック依存コンプライアンススコアを、前記セットにおけるノードの前記影響スコアの関数として計算するためのプログラム命令
をさらに有する、項目15から17のいずれか一項に記載のコンピュータプログラム製品。
(項目19)
1又は複数のコンピュータプロセッサ;
1又は複数のコンピュータ可読記憶媒体;及び
前記1又は複数のコンピュータプロセッサのうち少なくとも1つによる実行のために前記1又は複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令
を備えるコンピュータシステムであって、前記プログラム命令は:
前記コンピュータシステムにおけるデータセットごとに、そのデータセットが依存する階層依存システムコンポーネントの少なくとも1つのスタックを識別するように適応されたシステムアナライザロジック;
有向エッジによって相互接続されたノードを有するシステムグラフを生成するように適応されたグラフ生成器ロジック、ここで、各データセット、及び各スタック内の各コンポーネントは、前記システムグラフの対応するノードによって表されており、スタック上の各データセットの且つ各スタックにおける連続したコンポーネント間の依存関係は、前記システムグラフのノード間の有向エッジによって表されている;
前記システムグラフ及びシステムコンポーネントに対応するそれぞれのノードのためのコンプライアンススコアを記憶するメモリ、ノードのための前記コンプライアンススコアは、前記対応するシステムコンポーネントに関連する;及び
データセットごとに、そのデータセットに対応する前記ノードから前記システムグラフ内の有向エッジをトラバースすることによって識別されたノードのセットのための前記コンプライアンススコアの関数としてのスタック依存コンプライアンススコアを計算すること、及び、データセットのための前記スタック依存コンプライアンススコアがそのデータセットの予め定められたリスク閾値を違反した場合にアラートを生成することを行うように適応されたコンプライアンスマネージャロジック
を有する、コンピュータシステム。
(項目20)
前記コンピュータシステムは、コンプライアンスリスクを軽減するように前記コンピュータシステム内でアクションを開始するべく、データセットに対するアラートに応答して適応され、ここで、前記アクションは:前記データセットに対する前記コンピュータシステム内のアクセス許可を制限すること;前記データセットを削除すること;そのデータセットを記憶したシステムコンポーネントを隔離すること;及びそのデータセットのシステムコンポーネントの前記少なくとも1つのスタックを再構成することのうち少なくとも1つを有する、項目19に記載のコンピュータシステム。
(項目21)
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたとき、項目1から14のいずれか一項に記載のコンピュータ実装方法を実行するように適応されたプログラムコード手段を備える、コンピュータプログラム。
【国際調査報告】