JP2016529592A - 仮想システムの受動的監視のための方法、システム、コンピュータ・プログラム、およびアプリケーション展開方法 - Google Patents

仮想システムの受動的監視のための方法、システム、コンピュータ・プログラム、およびアプリケーション展開方法 Download PDF

Info

Publication number
JP2016529592A
JP2016529592A JP2016521398A JP2016521398A JP2016529592A JP 2016529592 A JP2016529592 A JP 2016529592A JP 2016521398 A JP2016521398 A JP 2016521398A JP 2016521398 A JP2016521398 A JP 2016521398A JP 2016529592 A JP2016529592 A JP 2016529592A
Authority
JP
Japan
Prior art keywords
virtual server
read
target
monitoring
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016521398A
Other languages
English (en)
Other versions
JP6380958B2 (ja
Inventor
バラ、バサンス
アイエスシーアイ、カンターク
リンデマン、ジェームズ、エー
ママート、トッド、ダブリュー
ライマー、ダレル、シー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2016529592A publication Critical patent/JP2016529592A/ja
Application granted granted Critical
Publication of JP6380958B2 publication Critical patent/JP6380958B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

【課題】コンピュータ・システムを受動的に監視するための解決策を提供する。【解決手段】一実施形態においては、読み出し専用のターゲットが、仮想サーバに関連付けられたストレージにアクセスするために仮想サーバによって使用される仮想サーバ・ディスクの構成に基づいて生成される。この読み出し専用のターゲットは、監視クローラによるアクセスのために仮想サーバ・ディスクをエクスポーズするために使用され得る。読み出し専用のターゲットを用いて、監視クローラは、仮想サーバ・ディスクから仮想サーバに関する1組の特徴を獲得することができる。この1組の特徴のうちの1つまたは複数は、仮想サーバの受動的監視を実行するために分析され得る。【選択図】図1

Description

本発明の対象は、一般に、コンピュータ・システムの管理に関する。より詳細には、本発明の態様は、複雑な仮想環境における改善された受動的監視のための解決策を提供する。
今日の電子的環境において、コンピュータ・システムは、絶え間ない変化に晒されている。これらの変化に遅れずについて行くためには、これらのシステムのユーザがシステムを監視することができることが重要である。監視は、能動的監視(active monitoring)および受動的監視を含むいくつかの異なる種類に分類され得る。受動的監視は、コンピュータ・システムを修正しない任意の観測を含む。この限りにおいて、受動的監視は、準拠(compliance)の検査を実行するためにファイル・システムをスキャンすること、どのアプリケーションがシステムに現在インストールされているかを判定するためにレジストリをスキャンすること、セキュリティ・スキャンを行うこと、ファイル・システムの検査、ライセンス使用を監視することなどを含み得る。対照的に、コンピュータ・システムの修正を伴うパッチを当てること、セキュリティ・アップデートを適用することなどの活動は、能動的監視と呼ばれる。
標準的なコンピュータ・システムにおいて、受動的監視は、受動的監視機能を実行するためにシステムのバックグラウンドで1つまたは複数のプログラム(例えば、エージェント)を実行することを含むことが多い。これらのプログラムは、システムの監視、準拠の検査、セキュリティ、マルウェアの検出、ソフトウェアの発見、ドリフト(drift)の検出、バックアップなどを含むがこれらに限定されない機能を提供し得る。このシステム内の手法の解決策は、同じ物理マシンで多数のインスタンスが実行される仮想サーバ型のコンピュータ・システムなどのコンピュータ・システムにおいては実用性が落ちる。そのようなシステムは、ランタイムのシステムの状態が物理ハードウェアから切り離されることを可能にすることによって、基礎を成す物理リソースのより効率的な使用と、実行中のシステムのより簡素化された管理とを可能にする。さらに、仮想サーバの作成、展開、および再利用の容易性が増すことは、同じ物理マシンで同時に、または連続して、あるいはその両方で実行される仮想サーバの数を増やすことになった。
概して、本発明の態様は、コンピュータ・システムを受動的に監視するための解決策を提供する。一実施形態においては、読み出し専用のターゲット(read-only target)が、仮想サーバに関連付けられたストレージにアクセスするために仮想サーバによって使用される仮想サーバ・ディスクの構成に基づいて生成される。この読み出し専用のターゲットは、監視クローラによるアクセスのために仮想サーバ・ディスクをエクスポーズするために使用され得る。読み出し専用のターゲットを用いて、監視クローラは、仮想サーバ・ディスクから仮想サーバに関する1組の特徴を獲得することができる。この1組の特徴のうちの1つまたは複数は、仮想サーバの受動的監視を実行するために分析され得る。
本発明の第1の態様は、仮想サーバを受動的に監視するための方法であって、仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のディスク・ターゲットを生成することと、読み出し専用のターゲットによってアクセスされるように仮想サーバ・ディスクをエクスポーズすることと、監視クローラによって、読み出し専用のターゲットを介して仮想サーバ・ディスクから仮想サーバに関する1組の特徴を獲得することと、1組の特徴のうちの少なくとも1つを分析して、仮想サーバの受動的監視を実行することとを含む方法を提供する。
本発明の第2の態様は、コンピュータ・システムを受動的に監視するためのシステムであって、仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のターゲットを生成することと、読み出し専用のターゲットによってアクセスされるように仮想サーバ・ディスクをエクスポーズすることと、受動的な監視クローラによって、読み出し専用のターゲットを介して仮想サーバ・ディスクから仮想サーバに関する1組の特徴を獲得することと、1組の特徴のうちの少なくとも1つを分析して、仮想サーバの受動的監視を実行することとを含む方法を実行する少なくとも1つのコンピュータ・デバイスを含む、システムを提供する。
本発明の第3の態様は、コンピュータ・システムを受動的に監視するための方法を実施するためのコンピュータ可読媒体で具現化されたコンピュータ・プログラム製品であって、方法が、仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のターゲットを生成することと、読み出し専用のターゲットによってアクセスされるように仮想サーバ・ディスクをエクスポーズすることと、受動的な監視クローラによって、読み出し専用のターゲットを介して仮想サーバ・ディスクから仮想サーバに関する1組の特徴を獲得することと、1組の特徴のうちの少なくとも1つを分析して、仮想サーバの受動的監視を実行することとを含む、コンピュータ・プログラム製品を提供する。
本発明の第4の態様は、コンピュータ・システムを受動的に監視するためのアプリケーションを展開するための方法であって、コンピュータ・インフラストラクチャを提供することを含む方法を提供する。コンピュータ・インフラストラクチャは、仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のターゲットを生成することと、読み出し専用のターゲットによってアクセスされるように仮想サーバ・ディスクをエクスポーズすることと、受動的な監視クローラによって、読み出し専用のターゲットを介して仮想サーバ・ディスクから仮想サーバに関する1組の特徴を獲得することと、1組の特徴のうちの少なくとも1つを分析して、仮想サーバの受動的監視を実行することとを行うように動作可能である。
さらにその上、本発明の構成要素のいずれかが、コンピュータ・システムで受動的監視を実施することを提供するサービス・プロバイダによって展開、管理、提供などを行われる可能性がある。
本発明の実施形態は、関連付けられたシステム、方法、またはプログラム製品、あるいはこれらすべても提供する。
本発明のこれらのおよびその他の特徴は、添付の図面と関連してなされる本発明のさまざまな態様の以下の詳細な説明からより容易に理解されるであろう。
本発明の実施形態による例示的なコンピュータ・システムを示す図である。 本発明の実施形態による仮想化されたデータセンター環境を示す図である。 本発明の実施形態による例示的な仮想サーバを示す図である。 本発明の実施形態による例示的なデバイス・マッパ・テーブルを示す図である。 本発明の実施形態による改善された仮想サーバ環境を示す図である。 本発明の実施形態による仮想サーバ環境をクロールするための方針を示す図である。 本発明の実施形態による仮想サーバ環境をクロールするための方針を示す図である。 本発明の実施形態による分析環境を示す図である。 本発明の実施形態による例示的な流れ図である。
図面は、必ずしも正確な縮尺でない。図面は、概略的な表現であるに過ぎず、本発明の特定の限定要因を示すように意図されていない。図面は、本発明の典型的な実施形態を示すようにのみ意図されており、したがって、本発明の範囲の限定と考えられるべきでない。図面において、同様の番号は、同様の要素を表す。
本発明の発明者は、仮想サーバを受動的に監視する現在の方法が改善され得ることを発見した。例えば、各仮想サーバに受動的監視エージェントを追加する現在の解決策は、仮想化されたデータセンター環境内のあらゆる仮想サーバの「フットプリント(footprint)」を広げる。この広げられたフットプリントは、単一の仮想サーバに関して絶対的に見れば小さい可能性があるが、単一の物理サーバでリソースを得るために争う非常に多くの仮想サーバが存在する仮想化されたデータセンター環境などのシステムではかなり大きくなる可能性がある。加えて、本発明の発明者は、スナップショットに基づく解決策が限界を有することも発見した。例えば、多くのスナップショットに基づく解決策は、システム全体のイメージが取得されることを必要とする。仮想サーバに関する情報の小さなサブセットのみが分析される必要がある場合、これらのスナップショットは、他でより有効に使用される可能性がある準備するための時間および記憶するための空間を必要とする不必要な情報を含む。さらに、そのようなスナップショットに基づく解決策は、単一の時点のシステムの状態を捕捉し得るに過ぎない。これは、行われ得る分析の量を制限するか、または必要な分析を実行するために複数のスナップショットの取得を必要とするか、あるいはその両方である可能性がある。
さらに、本発明の発明者は、そのような監視が副次的な影響を引き起こさないことが有益である可能性があることを発見した。つまり、監視自体が、監視されるシステムの状態または動作にいかなる変化も引き起こすべきでない。さらに、発明者は、現在のシステム外監視の解決策によって、実行されるシステムの「ダーティな(dirty)」ディスクの状態に確実にアクセスすることが困難になり得ることを発見した。例えば、システムは、実行されるとき、ディスク上のそれらのシステムのデータを絶えず変更する、つまり、ダーティにする可能性がある。クリーンな(clean)不活発であるディスクを期待する現在の標準的なディスク・アクセス方法は、実行されるシステムの活発なディスクに適用されるとき、失敗することが多い。
上で示されたように、本発明の態様は、コンピュータ・システムを受動的に監視するための解決策を提供する。一実施形態においては、読み出し専用のターゲットが、仮想サーバに関連付けられたストレージにアクセスするために仮想サーバによって使用される仮想サーバ・ディスクの構成に基づいて生成される。この読み出し専用のターゲットは、監視クローラによるアクセスのために仮想サーバ・ディスクをエクスポーズするために使用され得る。読み出し専用のターゲットを用いて、監視クローラは、ストレージ・ブロックから仮想サーバに関する1組の特徴を獲得することができる。この1組の特徴のうちの1つまたは複数は、仮想サーバの受動的監視を実行するために分析され得る。
図面に目を向けると、図1は、コンピュータ・システムを受動的に監視するための例示的な環境100を示す。この限りにおいて、環境100は、コンピュータ・システムを受動的に監視するために本明細書において説明されるプロセスを実行することができるコンピュータ・システム102を含む。特に、コンピュータ・システム102は、コンピューティング・デバイス104を本明細書において説明されるプロセスを実行することによってコンピュータ・システムを受動的に監視するように動作可能にする受動的監視プログラム140を含むコンピューティング・デバイス104を含むものとして示されている。
コンピューティング・デバイス104は、処理構成要素106(例えば、1つまたは複数のプロセッサ)、メモリ110、ストレージ・システム118(例えば、記憶階層)、入力/出力(I/O)構成要素114(例えば、1つまたは複数のI/Oインターフェースまたはデバイスあるいはその両方)、ならびに通信経路112を含むものとして示されている。概して、処理構成要素106は、メモリ110に少なくとも部分的に固定されている受動的監視プログラム140などのプログラム・コードを実行する。この限りにおいて、処理構成要素106は、単一の処理ユニットを含むか、または1つもしくは複数の位置の1つもしくは複数の処理ユニットに分散される可能性がある。
また、メモリ110は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量ストレージ(ストレージ・システム118)、または実行中に大容量ストレージ・システム118からコードが取り出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的な記憶を行うキャッシュ・メモリ(図示せず)、あるいはこれらすべてを含み得る。したがって、メモリ110は、磁気媒体、光媒体、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、データ・キャッシュ、データ・オブジェクトなどを含む任意の知られている種類の一時的または永続的データ・ストレージ媒体を含み得る。さらに、処理構成要素106と同様に、メモリ110は、1つもしくは複数の種類のデータ・ストレージを含む単一の物理的位置に存在するか、またはさまざまな形態の複数の物理システムに分散される可能性がある。
プログラム・コードを実行する間に、処理構成要素106は、データを処理することができ、その処理は、さらなる処理のためにメモリ110もしくはI/O構成要素114またはその両方から変換されたデータを読むこと、またはメモリ110もしくはI/O構成要素114またはその両方に変換されたデータを書き込むこと、あるいはその両方を行う結果となる可能性がある。経路112は、コンピュータ・システム102の構成要素のそれぞれの間に直接的または間接的な通信リンクを提供する。I/O構成要素114は、システムのユーザ120が任意の種類の通信リンクを用いてコンピュータ・システム102と通信することを可能にするために人間のユーザ120がコンピュータ・システム102または1つもしくは複数の通信デバイスあるいはその両方とインタラクションすることを可能にする1つまたは複数のヒューマンI/Oデバイスを含み得る。
この限りにおいて、受動的監視プログラム140は、人間のまたはシステムのあるいはその両方のユーザ120が受動的監視プログラム140とインタラクションすることを可能にする1組のインターフェース(例えば、(1つもしくは複数の)グラフィカル・ユーザ・インターフェース、アプリケーション・プログラム・インターフェースなど)を管理することができる。ユーザ120は、とりわけ、システム・アドミニストレータ、または仮想データセンター環境200(図2)のリソースを利用するクライアント、あるいはその両方を含む可能性がある。さらに、受動的監視プログラム140は、任意の解決策を用いて、特性152または獲得された特徴154あるいはその両方を含むがこれらに限定されないストレージ・システム118内のデータを管理する(例えば、記憶する、取り出す、生成する、操作する、編成する、提示するなど)ことができる。
いずれにしても、コンピュータ・システム102は、インストールされた受動的監視プログラム140などのプログラム・コードを実行することができる1つまたは複数のコンピューティング・デバイス104(例えば、汎用のコンピューティング製品)を含み得る。本明細書において使用されるとき、「プログラム・コード」は、情報処理能力を有するコンピューティング・デバイスに、直ちに、または以下の、すなわち、(a)別の言語、コード、もしくは表記への変換、(b)異なる具体的な形態での再現、または(c)解凍、あるいはこれらすべての任意の組合せの後に特定の行為を実行させる任意の言語、コード、または表記の命令の任意の集合を意味することが理解される。この限りにおいて、受動的監視プログラム140は、システム・ソフトウェアまたはアプリケーション・ソフトウェアあるいはその両方の任意の組合せとして具現化され得る。いずれにしても、コンピュータ・システム102の技術的効果は、コンピュータ・システムを受動的に監視するためにコンピューティング・デバイス104に処理命令を与えることである。
さらに、受動的監視プログラム140は、1組のモジュール142〜148を用いて実装される可能性がある。この場合、モジュール142〜148は、コンピュータ・システム102が受動的監視プログラム140によって使用される1組のタスクを実行することを可能にすることができ、別々に開発されるか、または受動的監視プログラム140のその他の部分とは別に実装されるか、あるいはその両方である可能性がある。本明細書において使用されるとき、用語「構成要素」は、任意の解決策を用いてハードウェアに関連して説明される機能を実装する、ソフトウェアを伴うかまたは伴わないハードウェアの任意の構成を意味し、一方、用語「モジュール」は、任意の解決策を用いてプログラム・コードに関連して説明される行為をコンピュータ・システム102が実施することを可能にするプログラム・コードを意味する。処理構成要素106を含むコンピュータ・システム102のメモリ110に固定されるとき、モジュールは、行為を実施する構成要素の実質的な部分である。とにかく、2つ以上の構成要素、モジュール、またはシステム、あるいはこれらすべてがこれらのそれぞれのハードウェアまたはソフトウェアあるいはその両方の一部/すべてを共有する可能性があることが、理解される。さらに、本明細書において検討される機能の一部が実装されない可能性があり、または追加の機能がコンピュータ・システム102の一部として含まれる可能性があることが、理解される。
コンピュータ・システム102が複数のコンピューティング・デバイス104を含むとき、各コンピューティング・デバイス104は、そのコンピューティング・デバイス104に固定された受動的監視プログラム140の一部のみ(例えば、1つまたは複数のモジュール142〜148)を有する可能性がある。しかし、コンピュータ・システム102および受動的監視プログラム140は本明細書において説明されるプロセスを実行し得るさまざまなあり得る等価なコンピュータ・システムを代表するに過ぎないことが、理解される。この限りにおいて、その他の実施形態で、コンピュータ・システム102および受動的監視プログラム140によって提供される機能は、プログラム・コードを伴うかまたは伴わない汎用のハードウェアまたは専用のハードウェアあるいはその両方の任意の組合せを含む1つまたは複数のコンピューティング・デバイスによって少なくとも部分的に実装される可能性がある。それぞれの実施形態において、ハードウェアおよびプログラム・コードは、含まれる場合、それぞれ、標準的な工学およびプログラミング技術を用いて作られ得る。
とにかく、コンピュータ・システム102が複数のコンピューティング・デバイス104を含むとき、コンピューティング・デバイスは、任意の種類の通信リンクを介して通信することができる。さらに、本明細書において説明されるプロセスを実行する間、コンピュータ・システム102は、任意の種類の通信リンクを用いて1つまたは複数のその他のコンピュータ・システムと通信することができる。いずれの場合も、通信リンクは、さまざまな種類の有線リンクまたは無線リンクあるいはその両方の任意の組合せを含むか、1つもしくは複数の種類のネットワークの任意の組合せを含むか、またはさまざまな種類の送信技術およびプロトコルの任意の組合せを利用するか、あるいはこれらすべてを行う可能性がある。
本明細書において検討されるように、受動的監視プログラム140は、コンピュータ・システム102がコンピュータ・システムを受動的に監視することを可能にする。この限りにおいて、受動的監視プログラム140は、読み出し専用デバイス・クリエータ・モジュール142、仮想ディスク・エクスポーザ・モジュール144、特徴獲得モジュール146、および特徴アナライザ・モジュール148を含むものとして示されている。
ここで図2を参照すると、本発明の実施形態による仮想化されたデータセンター環境200が、示されている。示されるように、仮想的なデータセンター環境200は、受動的監視プログラム140(図1)の機能のすべてまたは一部を実行するために使用され得る物理サーバ210を有する。この限りにおいて、物理サーバ210は、仮想サーバ230の複数のインスタンスを実行するように適合される任意のプラットフォームを実行する任意の製造業者のサーバである可能性がある。図2に示されるように、仮想化されたデータセンター環境200は、任意の数の関連付けられた物理サーバ212、214、216も含む可能性がある。関連付けられた物理サーバ212、214、216は、ネットワーク220を介して通信を目的として物理サーバ210と接続される可能性がある。ネットワーク220は、現在知られているかまたは今後開発される任意の1つの通信の解決策または複数の通信の解決策を用いて、物理サーバ210が関連付けられた物理サーバ212、214、216と通信すること、または物理サーバ212、214、216が互いに通信すること、あるいはその両方を可能にし得る。一部の実施形態において、ネットワーク220は、クラウド・コンピューティングの規模で動作し、例えば、サービスを配信するネットワーク220の物理的位置および構成をエンドユーザが知っていることを必要としない計算、ソフトウェア、データ・アクセス、およびその他のサービスを提供する可能性がある。
いずれにしても、上述のように、物理サーバ210上の仮想サーバ230の各インスタンスは、独立を維持したままその他の仮想サーバ230のインスタンスと同時に動作することができる。これは、仮想サーバ230のインスタンスのそれぞれが、仮想サーバ230のその他のインスタンスとは独立して動作し、たとえ仮想サーバ230のインスタンスが同じ物理サーバ210上で動作するとしても仮想サーバ230のその他のインスタンスと情報を共有しないことを意味する。仮想サーバ230のこれらのインスタンスの特性のおかげで、単一の物理サーバ210は、仮想サーバ230の非常に多くのインスタンスを同時に実行することができる。仮想サーバ230のこれらのインスタンスの独立した動作は、仮想サーバ230の同時に存在するインスタンスの数が物理サーバ210のハードウェアの制約によってのみ制限されることを保証する。
ここで図3に目を向けると、本発明の実施形態による例示的な仮想サーバ環境300が、示されている。仮想サーバ環境300はプロセス仮想マシン(process virtual machine)とは異なることを理解されたい。プロセス仮想マシンは、特定のタスクを実行するための、Java(R)などの高級プログラミング言語で記述されたプラットフォームに依存しないコードを実行するJava(R) Virtual Machineなどのプラットフォームに依存するエンジンである(Java(R)およびJava(R) Virtual Machineは、米国またはその他の場所あるいはその両方におけるサン・マイクロシステムズの商標である)。対照的に、本発明の仮想サーバ環境300は、コンピューティング環境全体をシミュレートする仮想システムである。この限りにおいて、単一のタスクのみを実行するのではなく、本発明の仮想サーバ環境300は、さまざまなタスク、機能、動作などがユーザ120(図1)によって実行され得る環境である。したがって、仮想サーバ環境300は、ユーザ120(図1)から見るとスタンドアロンのコンピュータ・システムをシミュレートさせられ得る。
この限りにおいて、仮想サーバ環境300は、最も低いレベルに仮想化ハイパーバイザ302を含む。特に、仮想化ハイパーバイザ302は、複数の「ゲスト」仮想サーバ310システムが物理サーバ210(図2)上で同時に実行されることを可能にするプラットフォームを提供する。この限りにおいて、仮想化ハイパーバイザ302は、物理サーバ210(図2)のハードウェアのレベルとそれぞれの仮想サーバ310のより高レベルのソフトウェアの機能との間の抽象化のレベルを提供する。これらのソフトウェアの機能を提供するために、各仮想サーバ310は、イメージとも呼ばれるソフトウェア・スタック312を含み得る。ソフトウェア・スタック312は、仮想ハイパーバイザ302によって物理サーバ210上で特定の仮想サーバ310の「ゲスト」インスタンスをシミュレートするために必要なすべてのものを含む。この限りにおいて、ソフトウェア・スタック312は、オペレーティング・システム314、ミドルウェア316、および1つまたは複数のアプリケーション318を提供し得る。
仮想化されたデータセンター環境200で実行されるシステムの異なる変化形の数を制限することによって保守費用を下げるために、このレベルで標準化が使用され得る。例えば、特定のソフトウェア・スタック312が、限られた数の予め構成されたスタックのうちの1つから生成される可能性がある。これらの予め構成されたスタックは、仮想化されたデータセンター環境200(図2)の提供者によってそれらのスタックの特定の機能のために最適化される可能性がある。したがって、ユーザ120(図1)がデータベース機能を利用したい場合、同じ予め構成されたスタックに基づく同じソフトウェア・スタック312を有する1つまたは複数の仮想サーバ310が、特にこのユーザ120のために生成される可能性がある。これらのソフトウェア・スタック312は、例えば、データベース機能を実行するのに適した種類のオペレーティング・システム314と、データベース管理システムを含むミドルウェア316と、データベース管理システムに抗して実行されるように構成されるアプリケーション318とを含む可能性がある。同様に、ユーザ120(図1)がウェブ・サーバ機能を利用したい場合、データベース管理システムのために使用される予め構成されたスタックとは異なる予め構成されたスタックに基づく同じソフトウェア・スタック312を有する1つまたは複数の仮想サーバ310が、特にそのユーザ120のために生成される可能性がある。これらのソフトウェア・スタック312は、例えば、ウェブ・サーバ機能に適した種類のオペレーティング・システム314と、ウェブ・サーバ管理システムを含むミドルウェア316と、ウェブ・サーバ管理システムに抗して実行されるように構成されるアプリケーション318とを含む可能性がある。仮想化されたデータセンター環境内でさまざまなその他の機能を実行するように適合されるソフトウェア・スタック312も生成される可能性があることを理解されたい。この限りにおいて、オペレーティング・システム314は、現在知られているかまたは今後開発される任意のオペレーティング・システムを含み得る。さらに、ミドルウェア316およびアプリケーション318は、特定の仮想サーバ310のための所望の機能を提供するための想像され得る任意の解決策を含み得る。
しかし、仮想サーバ310が標準化された予め構成されたスタックを用いて生成されることを保証することは、ユーザ120(図1)が仮想サーバ310の特定のインスタンスを利用し始めると、そのインスタンスが許容し得る限定要因の中に留まることを保証しない。例えば、1人のユーザ120が、対応する仮想サーバ310を不適格にするソフトウェア・スタック312に対する不注意による変更を行う可能性がある。代替的に、ユーザ120は、ソフトウェア・スタック312に対する意図的な変更を、変更がソフトウェア・スタック312を不適格にしたと知らずに行う可能性がある。その上さらに、不適格な変更が、ユーザ120によって仮想サーバ310に不注意でロードされたマルウェアからなど、悪意によって取り入れられる可能性がある。いずれにしても、仮想サーバ310の特定のインスタンスのソフトウェア・スタック312のそのような不適格な変更は、仮想サーバ310を非効率的にまたは不正確に機能させる可能性がある。仮想サーバ310によって利用される物理空間がその他の仮想サーバ310(図3)によっても利用されるので、この種の変更が、仮想化されたデータセンター環境200のシステムの機能の即時的なまたは漸進的な低下を引き起こす可能性がある。
上述のように、この問題を是正するために、そのような不適格な変更に由来する仮想サーバ310の逸脱を検出するために仮想サーバ310を受動的に監視するための解決策が、提案されている。図3は、仮想化されたデータセンター環境200の仮想サーバ310のあらゆるインスタンスに受動的監視エージェント319がインストールされる1つのそのような従来技術の解決策を示す。しかし、本出願の発明者は、この手法のいくつかの欠点を発見した。例えば、図3に示されるように、仮想サーバ310への受動的監視エージェント319の追加がリソースを使用し、仮想化されたデータセンター環境200内の仮想サーバ310の「フットプリント」を広げる。この広げられたフットプリントは、単一の仮想サーバ310に関して絶対的に見れば小さい可能性があるが、それぞれがそれ自体の受動的監視エージェント319を有する非常に多くの仮想サーバ310が物理サーバ210でリソースを得るために争っている仮想化されたデータセンター環境200などのシステムではかなり大きくなる可能性がある。加えて、本発明の発明者は、各受動的監視エージェント319が中央検出サーバ(図示せず)に報告することを求められる場合、報告する受動的監視エージェント319からの組み合わされた出力が、ネットワーク220(図2)を介した通信をあふれさせないまでも圧迫する可能性があることを発見した。その上さらに、マルウェアが原因である脅威の急速に発達する性質のために、受動的監視エージェント319は、頻繁に更新される必要がある可能性がある。仮想化されたデータセンター環境200の仮想サーバ310の多数の受動的監視エージェント319は、配置し、仮想サーバ310のステータスを調べ、必要に応じて受動的監視エージェント319を更新するために多大なリソースを必要とする可能性がある。
いずれにしても、仮想サーバ環境300に要求される1つのタスクまたは複数のタスクを実行するためには、仮想サーバ環境300が、ストレージ・ロケーション304に対する1つまたは複数の書き込みを実行しなければならない可能性がある。ストレージ・ロケーション304は、仮想サーバ310に含まれる1つまたは複数の仮想ディスクを含み得る。この場合、ストレージ・ロケーションは、仮想化ハイパーバイザ302のファイル・システムに含まれる可能性がある。追加的にまたは代替的に、ストレージ・ロケーション304は、デバイス、疑似デバイス(例えば、ループ・オーバー・ファイル(loop over file)またはdevマッパ(dev mapper)あるいはその両方のデバイス)などのうちの1つまたは複数も含む可能性がある。いずれにしても、ストレージ・ロケーション304は、仮想化ハイパーバイザ302によって、および仮想化ハイパーバイザ302を通して見え、したがって、仮想サーバ環境300の外からアクセス可能である。いずれにしても、仮想サーバ310は、本質的に、仮想化ハイパーバイザ302を介して基礎を成す物理サーバ210(図2)によって実行されているソフトウェアであるので、オペレーティング・システム314、ミドルウェア316、またはアプリケーション318、あるいはこれらすべてなどによるソフトウェア・スタック312への任意の変更は、ストレージ304への任意の変更を伝達する書き込み動作を必要とする可能性がある。これらの動作を容易にするために、仮想化ハイパーバイザ302は、仮想サーバ・ディスク320を提供することができる。仮想サーバ・ディスク320は、基礎を成す物理サーバ210(図2)または別のノードあるいはその両方に配置される可能性がある仮想サーバ環境300とストレージ304との間のインターフェース(例えば、ドライバ)として働く。この限りにおいて、仮想サーバ・ディスク320は、基礎を成す物理的なストレージ304のデバイスのサービスを仮想サーバ環境300に提供する。また、仮想サーバ・ディスク320は、デバイス・マッパ・テーブルを用いるなどして仮想サーバ310によって内部で使用される1組のデータ・ブロックをストレージ304の1組のターゲット・データ・ブロックとマッピングし得る。そのような場合、仮想サーバ310のイメージ・ファイルが、仮想サーバ310のイメージ・ファイルに対するデバイス・マッパ・テーブルを作成するためにリニア・デバイス・マッパ・ブロック(linear device mapper block)でラップされる可能性がある。
ここで図4に目を向けると、本発明の実施形態によるデバイス・マッパ・テーブル322が示されている。一実施形態において、デバイス・マッパ・テーブル322は、専用のデバイス(もしくはドライバ)である可能性があり、または仮想サーバ310(図3)のためのデバイス・マッパ・テーブルによって定義されるリニア・ブロック・デバイス(linear block device)で仮想サーバのイメージ・ファイルをラップすることなどにより仮想サーバ(図3)のイメージ・ファイルに対して生成される可能性があり、あるいはその両方である可能性がある。いずれにしても、デバイス・マッパ・テーブル322は、基礎を成す物理サーバ210(図2)上の特定の仮想サーバ310(図3)とストレージ304(図3)との間の読み取り動作または書き込み動作あるいはその両方を容易にすることができる。デバイス・マッパ・テーブル322は、仮想サーバ310(図3)によって使用されるディスク・ブロック・アドレスをストレージ304(図3)によって利用されるターゲット・アドレスにマッピングすることによってこれを行う。この機能を容易にするために、デバイス・マッパ・テーブル322は、仮想ブロック324およびターゲット・ブロック326を含み得る。仮想サーバ310(図3)は、ストレージ304(図3)から読み取るかまたはストレージ304(図3)に書き込むとき、仮想ブロック324(例えば、22)を含む要求を送る可能性がある。デバイス・マッパ・テーブル322は、仮想ブロック324を用いて要求をストレージ304(図3)の正しいターゲット・ブロック326、この場合はブロック75にマッピングすることができる。デバイス・マッパ・テーブル322は、書き込みインジケータ328も含み得る。書き込みインジケータ328は、ストレージ304(図3)の特定のターゲット・ブロック326への書き込みが行われたかどうかを示す。書き込みインジケータ328は、データ・ビット、トグル、カウンタ、それぞれの状態に関連付けられた1組のデータ値などを含むがこれらに限定されない現在知られているかまたは今後開発される任意の解決策を用いてこのタスクを実行することができる。
ここで図5に目を向けると、本発明の実施形態による改善された仮想サーバ環境400が、示されている。示されるように、改善された仮想サーバ環境400は、本発明の機能のうちの1つまたは複数を実行するために使用され得るクローラ・フレームワーク402を含む。クローラ・フレームワーク402は、以降でさらに詳細に説明される監視クローラ410を含む可能性がある。クローラ・フレームワーク402を囲む破線の四角によって示されるように、クローラ・フレームワーク402は、仮想サーバ310が含まれる同じ仮想化ハイパーバイザ302の一部である可能性がある。代替的に、クローラ・フレームワーク402は、同じ物理サーバ210(図2)上の異なる仮想化ハイパーバイザに含まれる可能性がある。これらの場合、監視クローラ410は、それぞれの仮想化ハイパーバイザに配置された仮想サーバに含まれる可能性がある。追加的にまたは代替的に、クローラ・フレームワーク402の1つまたは複数の要素は、同じ物理サーバ210(図2)上に配置されるが、ハイパーバイザに基づかない解決策を用いて実装される可能性がある。追加的にまたは代替的に、クローラ・フレームワーク402の1つまたは複数の要素は、物理サーバ210(図2)と永続的または一時的にネットワークで接続される中央サーバなどの、仮想サーバ310が配置される物理サーバ210(図2)の遠隔に配置される可能性がある。
ここで図1および5に同時に目を向けると、コンピュータ・システム102によって実行される読み出し専用デバイス・クリエータ・モジュール142が、読み出し専用ターゲット・デバイス420を生成し得る。この読み出し専用のターゲット406は、仮想サーバ310が関連付けられるストレージ・ロケーション304にアクセスするために仮想サーバ310によって使用される仮想サーバ・ディスク320の構成に基づいて生成され得る。例えば、特定の実施形態においては、仮想化ハイパーバイザ302に含まれる仮想化管理ユーティリティが、仮想サーバ310を分析して、仮想サーバ310に関連付けられたデバイスのうちの1つまたは複数の構成を特定することができる。この分析から、仮想サーバ・ディスク320の構成が判定され得る。そして今度は、この構成が、仮想サーバ・ディスク320の特性のすべてまたは実質的にすべてを有する読み出し専用のターゲット406を生成するために使用され得る。1つの重要な違いは、読み出し専用のターゲット406はそれ自体が読み出し専用であることである。
いずれにしても、読み出し専用のターゲット406は、クローラ・フレームワーク402の構成に応じていくつかの形態のうちの1つを取る可能性がある。ここで図5に関連して図6に目を向けると、crawlVM424(例えば、クローラ・フレームワーク402)が監視することになる1つの仮想マシンまたは複数の仮想マシン426a、b(例えば、仮想サーバ310)と同じホスト422(例えば、物理サーバ210(図2))にcrawlVM424が配置される実施形態が、示されている。そのような環境において、読み出し専用のターゲット406は、複製デバイス・マッパ(duplicate device mapper)(DM−dup)デバイス432の形態で具現化される可能性がある。DM−dupデバイス432は、実際のデバイス・マッパ・デバイス(device mapper device)(dmデバイス)430a〜n(例えば、仮想サーバ・ディスク320)と同じデバイス・テーブルを有する疑似デバイスと考えられ得る。DM−dupデバイス432は、ホスト422か、またはホスト422内で仮想マシンとして実行される監視クローラ410か、あるいはその両方によって生成される可能性がある。例えば、Linux環境においては、ホスト422または監視クローラ410あるいはその両方が、標準的なLinuxのブロック・デバイス・マッピング論理を用いてDM−dupデバイス432を生成し得る。いずれにしても、DM−dupデバイス432は、読み出し専用として生成され、したがって、ブロック・レベルでさえも仮想サーバ・ディスク320にまったく副次的な影響を与えない。示されるように、別個のcrawlVM424が使用されるとき、DM−dupデバイス432は、別個のデバイスとしてcrawlVM424にされ得る。この疑似dupデバイス(pseudo dup-device)は、初めは、テーブルがない可能性があり、つまり、VM426a、bの仮想デバイスのためのバッキング・デバイス(backing device)が存在しない。しかし、ランタイム中に、このデバイスは、このデバイスの現在のデバイス・マッパ・テーブルを対応するDMデバイス430a〜nのマッピングで置き換えることによってDMデバイス430a〜nのいずれかをロードされ得る。このように、同じDM−dupデバイス432が、同じホスト422に配置されるVM426a、bのいずれかをマッピングする、マウントする、またはクロール/インデックス付けする、あるいはこれらすべてを行うために使用され得る。
ここで図5に関連して図7に目を向けると、仮想マシン(VM)426a、bが存在するホスト422から遠隔のホスト466(例えば、物理サーバ212、214、216(図2))にcrawlVM424(例えば、クローラ・フレームワーク402)が配置される別の実施形態が、示されている。そのような環境460において、読み出し専用のターゲット406は、iSCSiターゲット472の形態で具現化され得る。ISCSiターゲット472は、ネットワークを介して遠隔のホスト466にターゲットDMデバイス430a〜nをエクスポーズするために使用され得る。これは、クロール側のイニシエータによってネットワークを介したDMデバイス430a〜n(例えば、仮想サーバ・ディスク320)へのアクセスを可能にしながら、crawlVM424(例えば、監視クローラ410)のすべてまたは一部が(1つまたは複数の)ターゲットVM426a、bから完全に切り離されることを可能にし得る。セキュリティを保証するために、iSCSiターゲット・アドミニストレータ474が、ホスト422で認証機能を実行するために使用され得る。ISCSiターゲット・アドミニストレータ474は、1組のクレデンシャル476(例えば、監視される仮想サーバ310、アクセス制限情報など)を用いてこの認証を実行することができる。特定のVM426a、bが監視されるべきであるとき、監視クローラ410は、監視される(1つまたは複数の)VM426a、bの仕様はもちろん、正しいクレデンシャル476もネットワーク220(図2)を介するなどして送信し得る。示されたiSCSIに特有の実装において、クレデンシャルは、CHAP認証、または特定のcrawlVM424のインスタンスへのアクセスを制限するさらなるアクセス制御構成、あるいはその両方によって管理される可能性がある。しかし、ネットワークを介して外部ホスト466にVM426a、bをエクスポーズするためのその他のプラットフォームまたは解決策あるいはその両方は本発明の範囲内であることを理解されたい。いずれにしても、エクスポーズすることにより、ネットワークを介して(1つまたは複数の)DMデバイス430a〜nへのアクセスを読み出し専用で可能にする(1つまたは複数の)VM426a、bへのリンクが生成される。
再び図1および5を同時に参照すると、コンピュータ・システム102によって実行される仮想ディスク・エクスポーザ・モジュール144が、読み出し専用のターゲット406を特定の仮想サーバ310に関連付けられたストレージ304に関連付ける。この関連付けは、上述のマッピングの解決策を用いて、または現在知られているかもしくは今後開発される任意の解決策を利用して行われ得る。例えば、特定の実施形態においては、単一の読み出し専用のターゲット406が、特定の仮想サーバ310の受動的監視を実行する要求がなされる度に生成され、要求が完了すると破棄される可能性がある。代替的に、その他の実施形態においては、読み出し専用のターゲット406が、使用後に破棄されるのではなく、再利用のために維持される可能性がある。そのような実施形態においては、読み出し専用のターゲット406が、監視クローラ410によるアクセスのためにその読み出し専用のターゲット406が関連付けられていた仮想サーバ・ディスク320(例えば、図6および7のVM426bに対応するDMデバイス430n)との関連付けを解かれ、受動的監視が新たに望まれる新しい仮想サーバ・ディスク320(例えば、図6および7のVM426aに対応するDMデバイス430a)に関連付けられる可能性がある。これは、読み出し専用のターゲット406に以前に保持されていた情報がデバイス・マッパ・テーブル322からのコピーされた情報によって置き換えられるようにして新しい仮想サーバ310に関連付けられたデバイス・マッパ・テーブル322を読み出し専用のターゲット406にコピーすることによって実現され得る。代替的に、これは、仮想サーバ・ディスク320(例えば、図7のVM426bに対応するDMデバイス430n)から既存のISCSI接続を削除し、その既存のISCSI接続を新しい仮想サーバ・ディスク320(例えば、図7のVM426aに対応するDMデバイス430a)への読み出し専用の接続で置き換えることによって実現され得る。代替的に、さらにその他の実施形態においては、単一の読み出し専用のターゲット406が、複数の仮想サーバ・ディスク320と同時に関連付けられる可能性がある。そのような実施形態においては、関連付けを求めるそれぞれの新しい仮想サーバ・ディスク320に関して、特定の仮想サーバ・ディスク320に関連付けられたデバイス・マッパ・テーブル322のコピーが、その他の仮想サーバ310に関する同様の情報を削除することなく仮想サーバ・ディスク320から読み出し専用のターゲット406にコピーされる可能性がある。代替的に、関連付けを求めるそれぞれの新しい仮想サーバ・ディスク320に関して、新しい論理ユニット番号(LUN)が、その他の仮想サーバ310に関する同様の情報を削除することなく既存のISCSIに基づく読み出し専用のターゲット406に追加される可能性がある。そのような情報は、必要とされないときに破棄されるか、または将来のアクセスが望まれるようなときまで読み出し専用のターゲット406内に維持される可能性がある。
引き続き図1および5を同時に参照すると、コンピュータ・システム102によって実行される特徴獲得モジュール146が、関連付けられた仮想サーバ・ディスク320から仮想サーバ310に関する1組の特徴を獲得し得る。仮想サーバ310の特徴のこの獲得は、読み出し専用のターゲット406の使用を通じて監視クローラ410によって実行され得る。受動的監視が望まれる仮想サーバ310に対応する仮想サーバ・ディスク320に読み出し専用のターゲット406が直接関連付けられるので、監視クローラ410は、読み出し専用のターゲット406を用いて、情報が望まれる仮想サーバ310のそれらの特徴にのみアクセスすることができる。
その結果、特定の時点の仮想サーバ310の状態の全体をコピーするスナップショットを取得することとは異なり、監視クローラ410は、仮想サーバ310の仮想サーバ・ディスク320の完全なスイープ(sweep)を含む「フル・クロール(full crawl)」から仮想サーバ310の仮想サーバ・ディスク320の定義されたサブセットのみをクロールする「ターゲットを定めたクロール(targeted crawl)」に及ぶ任意の1組の特徴を仮想サーバ310から獲得し得る。そのような「ターゲットを定めたクロール」を用いると、仮想サーバ・ディスク320からの情報の単一のブロックしか、獲得のターゲットにされない可能性がある。さらに、読み出し専用のターゲット406と仮想サーバ・ディスク320との間の関連付けの永続的な性質のために、監視クローラ410は、「増分クロール(incremental crawl)」を実行することができるように1組の特徴を獲得することもできる。そのような「増分クロール」において、監視クローラ410は、読み出し専用のターゲット406を利用して、仮想サーバ・ディスク320のすべてまたは一部を経時的にクロールすることができる。そのようなクロールの期間は、獲得されるデータの予め決められた量、同じイメージまたはインスタンスの以前のクロールに関連して観測された任意の差などに基づいて予め定義される可能性がある。
いずれにしても、読み出し専用であるターゲットの監視クローラ410による利用(例えば、監視クローラ自体は実際の仮想ディスク320の状態に影響を与え得るいかなる書き込みも実行することができない)は、仮想サーバ・ディスク320の状態への変更がなされないかまたはなされ得ないことを保証する。対照的に、仮想サーバ310がストレージ304へライブ・アクセス(live access)可能である間の仮想サーバ310の仮想サーバ・ディスク320を通じたストレージ304へのアクセスの試みは、たとえ読み出し専用の動作として実行されるとしても直ちに成功しない可能性が高い。これは、稼働している仮想サーバ310に関して、デバイスに対してなされた変更の一部を吸収し、それらの変更を後の間隔でフラッシュするためにオペレーティング・システム・レベルのキャッシュおよびファイル・システムのジャーナルなどの性能最大化の解決策が使用されることが多いために、仮想サーバ・ディスク320が本質的にダーティな状態にあるからである。これらの解決策の結果として、(オフラインのVMの場合のような)クリーンなディスク、またはディスクのジャーナルをフラッシュしてダーティな状態をクリーンにする能力を期待する標準的なマウント方法は、失敗するか、または仮想サーバ・ディスク320の望ましくない変更を取り込むそのようなフラッシュ・プロセスを実行する必要があるか、あるいはその両方である。
稼働中のVMの仮想ディスク320の信頼できる処理を実現するために、本発明は、1つまたは複数のさらなる技術を使用することができる。一実施形態においては、コピー・オン・ライト(COW)ストレージ404が、生成され得る。COWストレージ404は、監視クローラ410の中、クローラ・フレームワーク402の他の場所、またはクローラ・フレームワークの外に配置される可能性がある。いずれにしても、COWストレージ404は、行われたが、ストレージ304に伝播されていないあらゆる変更を含む情報が獲得されることを保証するために使用され得る。これを行うために、仮想サーバ・ディスク320は、仮想サーバ310がその仮想サーバ310のディスクに対して行ったあらゆる変更をコピーとしてCOWストレージ404に伝播し得る。この手法によって、監視クローラ410が、書き込み可能な媒体にアクセスしているかのように進行し得る一方、ジャーナルのフラッシュなどのストレージ304へのブロック・レベルの変更は、実際のターゲットのVMのディスクに反映されないが、COWストレージ404に一時的に転送される。1組の特徴を獲得するとき、監視クローラ410は、変わった特徴をCOWストレージ404から獲得する一方、変わっていない特徴は読み出し専用のターゲット406を介して適切なVMブロックから獲得することができる。この手法は、別の重要な利点を有し、このさらなるCOW操作を行うことによって、VMの永続的なディスクの状態の「リアルタイム性」が劇的に向上し、多くの場合、ディスクの状態の変化が、それらの変化が実際の仮想サーバ・ディスク320のファイル・システムに実際に同期される前でさえも観測され得る。仮想サーバ・ディスク320の状態に対してなされたあらゆる変更が、監視クローラ410によって実質的に直ちに観測され得る(あり得る例外はクロール・プロセスが完了するために費やされる追加的時間であり、この追加的時間は秒のオーダーである可能性がある)。
この問題に対する代替的な手法は、代替スーパーブロック(alternatesuperblock)アクセス、ディスク・フォレンジック(disk forensics)によって使用される技術を使用することである。この解決策を使用すると、ディスク・レイアウトをマッピングする読み出し専用のターゲット406のプライマリ・スーパーブロック(primary superblock)が迂回され、ディスクはその代替スーパーブロックを介してアクセスされ得る。代替スーパーブロックによって、ダーティな状態の仮想サーバ・ディスク320が、最初のリカバリを必要とせずにアクセスされ得る。しかし、アクセスは、データまたはメタデータの一部がアクセスされたダーティな状態で古い可能性があるので、仮想サーバ・ディスク320のいくらか不完全なビュー(view)をもたらす可能性がある。この解決策は、デバイスの厳密な状態がより重要であるシナリオでより役立つが、概して、よりエラーが起こりやすく、ファイル・システムの分散全体で実装に依存する。
いずれにしても、必要な特徴が獲得されると、これらの特徴を獲得するために使用された構成要素が破棄され得る。例えば、読み出し専用のターゲット406と仮想ディスクとの間の関連付けが解かれる可能性があり、dm−dupデバイス432を介したデバイスのマッピング、またはiscsiターゲット472が削除される可能性がある。コピー・オン・ライト・ストレージ404または読み出し専用のターゲット406あるいはその両方も、破棄される可能性がある。加えて、クローラ・フレームワークは、使用されていないとき、最小化されることが多い可能性がある。
再び図1を参照すると、コンピュータ・システム102によって実行される特徴アナライザ・モジュール148が、獲得された特徴154のうちの1つまたは複数を分析して仮想サーバ310(図5)の受動的監視を実行することができる。受動的監視は、準拠の検査を実行するためにファイル・システムをスキャンすること、どのアプリケーションがシステムに現在インストールされているかを判定するためにレジストリをスキャンすること、セキュリティ・スキャンを行うこと、ファイル・システムの検査、ライセンス使用を監視することなどの活動を含み得る。
ここで図8を参照すると、一実施形態による分析環境500が、示されている。分析環境は、本発明の実施形態によるクローラVM540を有する例示的な物理サーバ510を含む。示されるように、クローラVM540は、分析環境500の物理サーバ510上の仮想サーバ530とは別であり、それ自体が仮想サーバ530である可能性がある。しかし、上述のように、その他の構成もあり得る。クローラVM540は、物理サーバ510全体に関する受動的監視サービスを実行するために複数の仮想サーバ530のそれぞれに関してストレージ・システム518から抽出された特徴534を獲得し得るクローラ・エージェント542を含む。クローラ・エージェント542は、受動的監視のために必要である機能のすべてを実行するために、読み出し専用のターゲット406(図5)を介して仮想サーバ530の任意のインスタンスに対応するストレージ・システム518のブロックにアクセスすることができる。必要とされる抽出された特徴534が獲得されると、これらの抽出された特徴534は、さらなる処理または処理のための別のサイトへの送信あるいはその両方のためなどでクロールdoc(crawl doc)ストア538に保存される可能性がある。クロールDocストア538は、極めて基本的に、特徴獲得モジュール146および特徴分析モジュール148によって生成されたクロールDocのためのデータ・ストアとして働くことができる。クロールdocストア538は、単純なファイル・システム・ストレージ、リレーショナル・データベース、文書、キー値、テーブル、グラフ・ストアなどの非リレーショナル・データベースなどのさまざまな媒体およびフォーマットでこの情報を記憶することができる。より広い視点から見ると、クロールDocストア538は、基底データ・ストアの上にさらなる論理を構築し、VMの状態の情報のVM内とVM間との両方の経時的分析のための広範な問い合わせおよび分析能力を提供するためにさらなる文書処理を実行する十全な知識ベースとして働くことができる。
この設計の利点は、この設計が、監視される必要があるシステムが実際に実行されている場所に物理的に近い場所にインデックス付け論理がオフロードされることを可能にし、それによって、この設計のスケーラビリティを向上させることである。例として、仮想化されたデータセンター環境200に100個の物理サーバ210、212、214、216(図2)が存在し、各物理サーバが25個の仮想サーバ310(図3)をホストしていると仮定する。各物理サーバ210、212、214、216(図2)上でクローラVM540(すなわち、各物理サーバ210、212、214、216上の26番目の仮想サーバ230)を実行することによって、クローラVM540の単一のインスタンスが、そのインスタンスと同じ場所に配置される25個の仮想サーバ530にインデックス付けサービスを提供し得る。最適化として、クローラVM540を含む仮想サーバ530(図8)は、インデックス付け動作が実行されていないとき(その仮想サーバ530が物理サーバ200のCPUまたはメモリあるいはその両方のリソースをほとんどまたはまったく使用しないように)停止されたままにされる可能性がある。
この設計の別の利点は、この設計が、ネットワーク220(図2)のための単純な帯域幅最適化をアドミニストレータ・ユーザ120(図1)が実行して、抽出された特徴534を中央検出サーバ550に伝達し返すために使用されるデータの量を小さくすることを可能にすることである。例えば、本発明は、その前のスキャン以降に変わった抽出された特徴334を中央受動的監視サーバ550に送信する。この最適化は、ネットワーク220(図2)を介して送信されるデータの量を大きく削減することができる。
実行される分析は、実行されている受動的監視の種類に基づいて異なる可能性がある。例えば、ドリフト検出分析においては、特徴分析モジュール148が、抽出された特徴534の1つまたは複数の要素を対応する予め構成されたソフトウェア・スタック552の少なくとも一部と比較する可能性がある。これら2つを比較することによって、特徴分析モジュール148は、それぞれのファイル・システムの構造、内容、状態などの間の差を計算し得る。この差は、例えば、3つの部分、すなわち、すべて予め構成されたソフトウェア・スタック552に対して、追加されたデータ、削除されたデータ、および修正されたデータからなる可能性がある。対照的に、マルウェア・タイプの分析においては、抽出された特徴534が、知られているマルウェア・エージェントのシグネチャと比較される可能性がある。その他の分析の種類において、抽出された特徴534は、特定の要件が満たされたかどうかを判定するためなどの1組の規則554に基づいて分析される可能性がある。規則554は、許容範囲内の多くの仮想サーバ530の間で生じる差を分析することによって統計的に推測される可能性もあり、ファイルを不変(例えば、実行ファイル)、ほとんど変化しない(構成ファイル)、もしくは絶えず変わる(ログ・ファイル)として自動的に分類することによって推測される可能性があり、または評価ツールによって実行される評価に基づいてクラスタの構成の記述などの情報の外部ソースから推測される可能性があり、あるいはこれらすべてである可能性がある。同様の規則に基づく変更形態が、メモリの状態の異常または悪意のある振る舞いを検出するために使用され得る。これらの例は、未知のプロセス、怪しいネットワーク接続、およびコード・セグメントの修正を検出することを含むがこれに限定されない。
ここで図9に目を向けると、本発明の実施形態による例示的な流れ図が、示されている。示されるように、S1において、コンピュータ・システム102(図1)によって実行される読み出し専用デバイス・クリエータ・モジュール142(図1)が、読み出し専用のターゲット406(図5)を生成する。この読み出し専用のターゲット406(図5)は、仮想サーバ310がその仮想サーバ310の関連付けられたストレージ304にアクセスするために使用する仮想サーバ・ディスク320(図5)の構成に基づいて生成され得る。S2において、コンピュータ・システム102(図1)によって実行される仮想ディスク・エクスポーザ・モジュール144(図1)が、読み出し専用のターゲット406(図5)を仮想サーバ・ディスク320に関連付ける。S3において、コンピュータ・システム102(図1)によって実行される特徴獲得モジュール146(図1)が、仮想サーバ・ディスク320(図4)から仮想サーバ310(図5)に関する1組の特徴154を獲得する。この獲得は、読み出し専用のターゲット406(図5)を用いて監視クローラ410(図5)によって実行され得る。S4において、コンピュータ・システム102(図1)によって実行される特徴アナライザ・モジュール148(図1)が、獲得された特徴154(図1)を分析して仮想サーバ310(図5)の受動的監視を実行する。
本明細書においてはコンピュータ・システムを受動的に監視するための方法およびシステムとして示され、説明されたが、本発明の態様はさまざまな代替的な実施形態をさらに提供することが理解される。例えば、一実施形態において、本発明は、実行されるときに、コンピュータ・システムがコンピュータ・システムを受動的に監視することを可能にする少なくとも1つのコンピュータ可読媒体に固定されたコンピュータ・プログラムを提供する。この限りにおいて、コンピュータ可読媒体は、本明細書において説明されたプロセスの一部またはすべてを実装する受動的監視プログラム140(図1)などのプログラム・コードを含む。用語「コンピュータ可読媒体」は、プログラム・コードのコピーがコンピューティング・デバイスによって認識されるか、再生されるか、またはそうでなければ伝達され得る現在知られているかまたは今後開発される任意の種類の有形の表現媒体のうちの1つまたは複数を含むことが理解される。例えば、コンピュータ可読媒体は、1つまたは複数のポータブル・ストレージ製品、コンピューティング・デバイスの1つまたは複数のメモリ/ストレージ構成要素などを含み得る。
別の実施形態において、本発明は、本明細書において説明されたプロセスの一部またはすべてを実装する受動監視プログラム140(図1)などのプログラム・コードのコピーを提供する方法を提供する。この場合、コンピュータ・システムは、本明細書において説明されたプロセスの一部またはすべてを実装するプログラム・コードのコピーを処理して、1組のデータ信号にプログラム・コードのコピーを符号化するように、その特性のうちの1つまたは複数を設定させるかまたは変更させるかあるいはその両方を行わせる1組のデータ信号を生成し、第2の異なる場所で受信するために送信することができる。同様に、本発明の実施形態は、コンピュータ・システムが本明細書において説明された1組のデータ信号を受信し、1組のデータ信号を少なくとも1つのコンピュータ可読媒体に固定されたコンピュータ・プログラムのコピーに変換することを含む、本明細書において説明されたプロセスの一部またはすべてを実装するプログラム・コードのコピーを獲得する方法を提供する。いずれの場合も、1組のデータ信号が、任意の種類の通信リンクを用いて送信/受信され得る。
さらに別の実施形態において、本発明は、コンピュータ・システムを受動的に監視するためのシステムを生成する方法を提供する。この場合、コンピュータ・システム120(図1)などのコンピュータ・システムが得られる(例えば、生成される、保有される、利用可能にされるなど)可能性があり、本明細書において説明されたプロセスを実行するための1つまたは複数の構成要素が得られ(例えば、生成される、購入される、使用される、修正されるなど)、コンピュータ・システムに展開される可能性がある。この限りにおいて、展開は、(1)コンピューティング・デバイスにプログラム・コードをインストールすること、(2)1つまたは複数のコンピューティング・デバイスまたはI/Oデバイスあるいはその両方をコンピュータ・システムに追加すること、(3)コンピュータ・システムが本明細書において説明されたプロセスを実行することを可能にするようにコンピュータ・システムを組み込むことまたは修正することあるいはその両方などのうちの1つあるいは複数を含み得る。
用語「第1の」、「第2の」などは、本明細書において使用される場合、いかなる順序、量、または重要度も表さず、むしろある要素を別の要素と区別するために使用され、本明細書における用語「a」および「an」は、量の限定を表さず、むしろ言及される項目の少なくとも1つの存在を表す。修飾語「およそ」は、量に関連して使用される場合、記載された値を含み、文脈によって決定される意味を有する(例えば、特定の量の測定に関連付けられた誤差の度合いを含む)。接頭辞「(1つまたは複数の)」は、本明細書において使用されるとき、それが修飾する語の単数と複数との両方を含むように意図され、それによって、その語の1つまたは複数を含む(例えば、(1つまたは複数の)金属は、1つまたは複数の金属を含む)。本明細書において開示された範囲は、包括的であり、独立に組合せ可能である(例えば、「最大でおよそ25wt%まで、またはより詳細にはおよそ5wt%からおよそ20wt%まで」の範囲は、「およそ5wt%からおよそ25wt%まで」の範囲の端点およびすべての中間値を含むなど)。
本発明のさまざまな態様の上述の説明は、例示および説明を目的として示された。本発明のさまざまな態様の上述の説明は、網羅的であるように、または開示された厳密な形態に本発明を限定するように意図されておらず、明らかに、多くの変更および変形があり得る。当業者には明らかである可能性があるそのような変更および変形は、添付の特許請求の範囲によって定義される本発明の範囲に含まれる。

Claims (25)

  1. 仮想サーバを受動的に監視するための方法であって、
    前記仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のディスク・ターゲットを生成することと、
    監視クローラによってアクセスされるように前記仮想サーバ・ディスクをエクスポーズすることと、
    前記監視クローラによって、前記読み出し専用のターゲットを介して前記仮想サーバ・ディスクから前記仮想サーバに関する1組の特徴を獲得することと、
    前記1組の特徴のうちの少なくとも1つを分析して、前記仮想サーバの受動的監視を実行することと
    を含む方法。
  2. ハイパーバイザに基づく仮想化管理ユーティリティを用いて前記仮想サーバのデバイス構成を特定することと、
    前記特定することに基づいて前記仮想サーバ・ディスクの前記構成を判定することとをさらに含む、請求項1に記載の方法。
  3. 前記仮想サーバ・ディスクに関するデバイス・マッパ・テーブルによって定義されるリニア・ブロック・デバイスで前記仮想サーバのイメージ・ファイルをラップすることをさらに含み、
    前記エクスポーズすることが、前記デバイス・マッパ・テーブルを前記読み出し専用のターゲットにコピーすることを含む、請求項1に記載の方法。
  4. 前記エクスポーズすることの前に、異なる仮想サーバに関連付けられた異なる仮想サーバ・ディスクであって、前記読み出し専用のターゲットを介して前記監視クローラによって以前にアクセスされているものと、前記読み出し専用のターゲットとの関連付けを解くことをさらに含み、
    前記関連付けを解くことが、前記読み出し専用のターゲットにおいて前記異なる仮想サーバに関連付けられた異なるデバイス・マッパ・テーブルの上に前記デバイス・マッパ・テーブルをコピーすることを含む、請求項3に記載の方法。
  5. 前記監視クローラが、監視されている前記仮想サーバとは異なるものであって、且つ、前記仮想サーバとともに共通の物理サーバ上に配置されるクローラ仮想サーバに含まれるものである、請求項1に記載の方法。
  6. 前記読み出し専用のディスク・ターゲットが、前記仮想サーバの仮想サーバ・ディスクのための読み出し専用のインターネット小型コンピュータ・システム・インターフェース(ISCSI:Internet Small Computer System Interface)ターゲットであり、
    前記監視クローラが、前記仮想サーバを含む前記共通の物理サーバから遠隔にある物理サーバ上に配置され、
    前記エクスポーズすることが、前記読み出し専用のISCSIターゲットをネットワークを介して前記読み出し専用のターゲットとして提示することを含む、請求項1に記載の方法。
  7. 取り出す前に、インデックス付け機器で中央検出サーバからの要求を受信することであって、前記要求が、前記仮想サーバの受動的監視を実行するように前記監視クローラに要求するものである、前記受信することと、
    前記監視クローラからの前記1組の特徴に対応するデータを前記中央検出サーバに転送することと、
    前記中央検出サーバで前記分析することを実行することとをさらに含む、請求項1に記載の方法。
  8. 要求に応じて、コピー・オン・ライト・ストレージを生成することと、
    データ・ブロックへのあらゆる書き込みに関して、前記書き込みによって書き込まれているデータを前記コピー・オン・ライト・ストレージにコピーすることとをさらに含み、
    前記獲得することが、書き込まれなかったデータを得るために前記データ・ブロックにアクセスし、書き込まれたデータを得るために前記コピー・オン・ライト・ストレージにアクセスすることを含む、請求項1に記載の方法。
  9. コンピュータ・システムを受動的に監視するためのシステムであって、
    仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のターゲットを生成することと、
    監視クローラによってアクセスされるように前記仮想サーバ・ディスクをエクスポーズすることと、
    前記監視クローラによって、前記読み出し専用のターゲットを介して前記仮想サーバ・ディスクから前記仮想サーバに関する1組の特徴を獲得することと、
    前記1組の特徴のうちの少なくとも1つを分析して、前記仮想サーバの受動的監視を実行することと
    を含む方法を実行する少なくとも1つのコンピュータ・デバイスを含むシステム。
  10. 前記方法が、
    ハイパーバイザに基づく仮想化管理ユーティリティを用いて前記仮想サーバのデバイス構成を特定することと、
    前記特定することに基づいて前記仮想サーバ・ディスクの前記構成を判定することとをさらに含む、請求項9に記載のシステム。
  11. 前記方法が、
    前記仮想サーバ・ディスクに関するデバイス・マッパ・テーブルによって定義されるリニア・ブロック・デバイスで前記仮想サーバのイメージ・ファイルをラップすることをさらに含み、
    前記エクスポーズすることが、前記デバイス・マッパ・テーブルを前記読み出し専用のターゲットにコピーすることを含む、請求項9に記載のシステム。
  12. 前記方法が、
    前記エクスポーズすることの前に、異なる仮想サーバに関連付けられた異なる仮想サーバ・ディスクであって、前記読み出し専用のターゲットを介して前記監視クローラによって以前にアクセスされているものと、前記読み出し専用のターゲットとの関連付けを解くことをさらに含み、
    前記関連付けを解くことが、前記読み出し専用のターゲットにおいて前記異なる仮想サーバに関連付けられた異なるデバイス・マッパ・テーブルの上に前記デバイス・マッパ・テーブルをコピーすることを含む、請求項11に記載のシステム。
  13. 前記監視クローラが、監視されている前記仮想サーバとは異なるものであって、且つ、前記仮想サーバとともに共通の物理サーバ上に配置されるクローラ仮想サーバに含まれるものである、請求項9に記載のシステム。
  14. 前記読み出し専用のディスク・ターゲットが、前記仮想サーバの仮想サーバ・ディスクのための読み出し専用のインターネット小型コンピュータ・システム・インターフェース(ISCSI)ターゲットであり、
    前記監視クローラが、前記仮想サーバを含む前記共通の物理サーバから遠隔にある物理サーバ上に配置され、
    前記エクスポーズすることが、前記読み出し専用のISCSIターゲットをネットワークを介して前記読み出し専用のターゲットとして提示することを含む、請求項9に記載のシステム。
  15. 前記方法が、
    取り出す前に、インデックス付け機器で中央検出サーバからの要求を受信することであって、前記要求が、前記仮想サーバの受動的監視を実行するように前記監視クローラに要求するものである、前記受信することと、
    前記監視クローラからの前記1組の特徴に対応するデータを前記中央検出サーバに転送することと、
    前記中央検出サーバで前記分析することを実行することとをさらに含む、請求項9に記載のシステム。
  16. 前記方法が、
    要求に応じて、コピー・オン・ライト・ストレージを生成することと、
    データ・ブロックへのあらゆる書き込みに関して、前記書き込みによって書き込まれているデータを前記コピー・オン・ライト・ストレージにコピーすることとをさらに含み、
    前記獲得することが、書き込まれなかったデータを得るために前記データ・ブロックにアクセスし、書き込まれたデータを得るために前記コピー・オン・ライト・ストレージにアクセスすることを含む、請求項9に記載のシステム。
  17. コンピュータ・システムを受動的に監視するための方法を実施するためのコンピュータ可読媒体で具現化されたコンピュータ・プログラム製品であって、前記方法が、
    仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のターゲットを生成することと、
    監視クローラによってアクセスされるように前記仮想サーバ・ディスクをエクスポーズすることと、
    前記監視クローラによって、前記読み出し専用のターゲットを介して前記仮想サーバ・ディスクから前記仮想サーバに関する1組の特徴を獲得することと、
    前記1組の特徴のうちの少なくとも1つを分析して、前記仮想サーバの受動的監視を実行することとを含む、コンピュータ・プログラム製品。
  18. 前記方法が、
    ハイパーバイザに基づく仮想化管理ユーティリティを用いて前記仮想サーバのデバイス構成を特定することと、
    前記特定することに基づいて前記仮想サーバ・ディスクの前記構成を判定することとをさらに含む、請求項17に記載のプログラム製品。
  19. 前記方法が、
    前記仮想サーバ・ディスクに関するデバイス・マッパ・テーブルによって定義されるリニア・ブロック・デバイスで前記仮想サーバのイメージ・ファイルをラップすることをさらに含み、
    前記エクスポーズすることが、前記デバイス・マッパ・テーブルを前記読み出し専用のターゲットにコピーすることを含む、請求項17に記載のプログラム製品。
  20. 前記方法が、
    前記エクスポーズすることの前に、異なる仮想サーバに関連付けられた異なる仮想サーバ・ディスクであって、前記読み出し専用のターゲットを介して前記監視クローラによって以前にアクセスされているものと、前記読み出し専用のターゲットとの関連付けを解くことをさらに含み、
    前記関連付けを解くことが、前記読み出し専用のターゲットにおいて前記異なる仮想サーバに関連付けられた異なるデバイス・マッパ・テーブルの上に前記デバイス・マッパ・テーブルをコピーすることを含む、請求項19に記載のプログラム製品。
  21. 前記監視クローラが、監視されている前記仮想サーバとは異なるものであって、且つ、前記仮想サーバとともに共通の物理サーバ上に配置されるクローラ仮想サーバに含まれるものである、請求項17に記載のプログラム製品。
  22. 前記読み出し専用のディスク・ターゲットが、前記仮想サーバの仮想サーバ・ディスクのための読み出し専用のインターネット小型コンピュータ・システム・インターフェース(ISCSI)ターゲットであり、
    前記監視クローラが、前記仮想サーバを含む前記共通の物理サーバから遠隔にある物理サーバ上に配置され、
    前記エクスポーズすることが、前記読み出し専用のISCSIターゲットをネットワークを介して前記読み出し専用のターゲットとして提示することを含む、請求項17に記載のプログラム製品。
  23. 前記方法が、
    取り出す前に、インデックス付け機器で中央検出サーバからの要求を受信することであって、前記要求が、前記仮想サーバの受動的監視を実行するように前記監視クローラに要求するものである、前記受信することと、
    前記監視クローラからの前記1組の特徴に対応するデータを前記中央検出サーバに転送することと、
    前記中央検出サーバで前記分析することを実行することとをさらに含む、請求項17に記載のプログラム製品。
  24. 前記方法が、
    要求に応じて、コピー・オン・ライト・ストレージを生成することと、
    データ・ブロックへのあらゆる書き込みに関して、前記書き込みによって書き込まれているデータを前記コピー・オン・ライト・ストレージにコピーすることとをさらに含み、
    前記獲得することが、書き込まれなかったデータを得るために前記データ・ブロックにアクセスし、書き込まれたデータを得るために前記コピー・オン・ライト・ストレージにアクセスすることを含む、請求項17に記載のプログラム製品。
  25. コンピュータ・システムを受動的に監視するためのアプリケーションを展開するための方法であって、
    仮想サーバに関連付けられた仮想サーバ・ディスクの構成に基づいて読み出し専用のターゲットを生成することと、
    監視クローラによってアクセスされるように前記仮想サーバ・ディスクをエクスポーズすることと、
    前記監視クローラによって、前記読み出し専用のターゲットを介して前記仮想サーバ・ディスクから前記仮想サーバに関する1組の特徴を獲得することと、
    前記1組の特徴のうちの少なくとも1つを分析して、前記仮想サーバの受動的監視を実行することと
    を行うように動作可能なコンピュータ・インフラストラクチャを提供することを含む方法。
JP2016521398A 2013-06-18 2014-03-05 仮想システムの受動的監視のための方法、システム、コンピュータ・プログラム、およびアプリケーション展開方法 Active JP6380958B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/920,288 2013-06-18
US13/920,288 US9304885B2 (en) 2013-06-18 2013-06-18 Passive monitoring of virtual systems using agent-less, near-real-time indexing
PCT/US2014/020601 WO2014204530A1 (en) 2013-06-18 2014-03-05 Passive monitoring of virtual systems using agent-less, near-real-time indexing

Publications (2)

Publication Number Publication Date
JP2016529592A true JP2016529592A (ja) 2016-09-23
JP6380958B2 JP6380958B2 (ja) 2018-08-29

Family

ID=52020230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016521398A Active JP6380958B2 (ja) 2013-06-18 2014-03-05 仮想システムの受動的監視のための方法、システム、コンピュータ・プログラム、およびアプリケーション展開方法

Country Status (6)

Country Link
US (1) US9304885B2 (ja)
JP (1) JP6380958B2 (ja)
CN (1) CN105339925B (ja)
DE (1) DE112014002877T5 (ja)
GB (1) GB2529797B (ja)
WO (1) WO2014204530A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221701B2 (ja) * 2013-12-03 2017-11-01 富士通株式会社 制御プログラム、制御装置及び制御方法
US10530837B2 (en) 2014-04-10 2020-01-07 International Business Machines Corporation Always-on monitoring in the cloud
EP3311286A4 (en) * 2015-06-17 2019-01-16 Intel Corporation DATA PROCESSING DEVICE AND METHOD WITH PERSISTENT MEMORY
US20170249176A1 (en) * 2016-02-26 2017-08-31 Red Hat, Inc. Systems and methods for configuration knowledge search
CN109858244B (zh) * 2019-01-16 2020-01-17 四川大学 一种容器内进程异常行为检测方法与系统
CN111339388B (zh) * 2019-06-13 2021-07-27 海通证券股份有限公司 一种信息爬取系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011100300A (ja) * 2009-11-06 2011-05-19 Mitsubishi Electric Corp 計算機装置及び情報処理方法及びプログラム
JP2012530295A (ja) * 2009-06-12 2012-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム
JP2013077076A (ja) * 2011-09-29 2013-04-25 Hitachi Ltd 仮想計算機を制御する計算機装置及び仮想計算機の制御方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001025949A1 (en) 1999-10-05 2001-04-12 Ejasent Inc. Ip virtualization
US7085785B2 (en) 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
US8447963B2 (en) 2002-06-12 2013-05-21 Bladelogic Inc. Method and system for simplifying distributed server management
US7089552B2 (en) 2002-08-29 2006-08-08 Sun Microsystems, Inc. System and method for verifying installed software
US7277999B1 (en) 2004-08-12 2007-10-02 Vmware, Inc. Restricting memory access to protect data when sharing a common address space
US7899788B2 (en) 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US7827550B2 (en) 2005-08-17 2010-11-02 Intel Corporation Method and system for measuring a program using a measurement agent
US20070055710A1 (en) * 2005-09-06 2007-03-08 Reldata, Inc. BLOCK SNAPSHOTS OVER iSCSI
JP4800031B2 (ja) 2005-12-28 2011-10-26 株式会社日立製作所 ストレージシステム及びスナップショット管理方法
JP4800056B2 (ja) 2006-02-09 2011-10-26 株式会社日立製作所 ストレージシステム及びその制御方法
US20080028034A1 (en) 2006-07-25 2008-01-31 Andrew Currid Method for mapping an iscsi target name to a storage resource based on an initiator hardware class identifier
US7571158B2 (en) 2006-08-25 2009-08-04 Oracle International Corporation Updating content index for content searches on networks
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8011010B2 (en) * 2007-04-17 2011-08-30 Microsoft Corporation Using antimalware technologies to perform offline scanning of virtual machine images
CA2661398C (en) 2008-04-05 2016-05-17 Third Brigade Inc. System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment
US8615501B2 (en) 2008-06-23 2013-12-24 International Business Machines Corporation Hypervisor service to provide image version control support
US7966290B2 (en) 2008-07-29 2011-06-21 Novell, Inc. Backup without overhead of installed backup agent
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8499297B2 (en) 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8732427B2 (en) 2009-08-03 2014-05-20 Quantum Corporation Systems and methods for collapsing a derivative version of a primary storage volume
US8381033B2 (en) 2009-10-30 2013-02-19 International Business Machines Corporation Fault management in virtual computing environments
CA2783370C (en) 2009-12-31 2016-03-15 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8621233B1 (en) 2010-01-13 2013-12-31 Symantec Corporation Malware detection using file names
JP5416156B2 (ja) 2011-03-29 2014-02-12 株式会社日立システムズ 統合監視システム及び統合監視プログラム
US9286182B2 (en) 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
US20130111018A1 (en) 2011-10-28 2013-05-02 International Business Machines Coporation Passive monitoring of virtual systems using agent-less, offline indexing
CN102419803B (zh) * 2011-11-01 2014-12-03 华为数字技术(成都)有限公司 计算机病毒查杀方法、系统及装置
CN102419806A (zh) * 2011-12-15 2012-04-18 武汉大学 一种虚拟机批量离线杀毒方法
US8806625B1 (en) 2012-10-02 2014-08-12 Symantec Corporation Systems and methods for performing security scans
US9386028B2 (en) 2012-10-23 2016-07-05 Verint Systems Ltd. System and method for malware detection using multidimensional feature clustering
JP2015026112A (ja) 2013-07-24 2015-02-05 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012530295A (ja) * 2009-06-12 2012-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム
JP2011100300A (ja) * 2009-11-06 2011-05-19 Mitsubishi Electric Corp 計算機装置及び情報処理方法及びプログラム
JP2013077076A (ja) * 2011-09-29 2013-04-25 Hitachi Ltd 仮想計算機を制御する計算機装置及び仮想計算機の制御方法

Also Published As

Publication number Publication date
GB2529797B (en) 2018-05-09
GB201600749D0 (en) 2016-03-02
US9304885B2 (en) 2016-04-05
CN105339925B (zh) 2018-03-20
US20140372596A1 (en) 2014-12-18
WO2014204530A1 (en) 2014-12-24
CN105339925A (zh) 2016-02-17
DE112014002877T5 (de) 2016-03-03
JP6380958B2 (ja) 2018-08-29
GB2529797A (en) 2016-03-02

Similar Documents

Publication Publication Date Title
US10977066B2 (en) Virtual machine to container conversion and optimization
JP6380958B2 (ja) 仮想システムの受動的監視のための方法、システム、コンピュータ・プログラム、およびアプリケーション展開方法
US11347855B2 (en) Data lineage management
US10885052B2 (en) Database process with virtual nodes
US20130111473A1 (en) Passive monitoring of virtual systems using extensible indexing
US9021309B2 (en) Method and system for creating virtual editable data objects by using a read-only data set as baseline
Elhemali et al. Amazon {DynamoDB}: A scalable, predictably performant, and fully managed {NoSQL} database service
US20160062794A1 (en) Big data parser
Weber et al. Developing dependable and secure cloud applications
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
US9558023B2 (en) Live application mobility from one operating system level to an updated operating system level and applying overlay files to the updated operating system
US9183130B2 (en) Data control system for virtual environment
US9218139B2 (en) Minimally disruptive virtual machine snapshots
CN105683985B (zh) 用于虚拟机内省的系统、方法及非暂时性计算机可读介质
Oliveira et al. Delivering software with agility and quality in a cloud environment
Ji et al. Recprov: Towards provenance-aware user space record and replay
Ki et al. Reptor: Enabling api virtualization on android for platform openness
US20210157915A1 (en) Systems and methods for generating an inventory of software applications for optimized analysis
Inagaki et al. Container management as emerging workload for operating systems
JP6322246B2 (ja) メモリロケーション間で制御を転送するシステム及び方法
US10185647B2 (en) Debugging remote vertex code on test machine
US11803429B2 (en) Managing alert messages for applications and access permissions
Rastogi et al. Towards least privilege containers with cimplifier
US11422733B2 (en) Incremental replication between foreign system dataset stores
US11995193B1 (en) Architecture of a multi-cloud inspector for any compute type

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20180319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180702

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20180718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R150 Certificate of patent or registration of utility model

Ref document number: 6380958

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150