仮想マシン間で分析の結果を共有するためのコンピュータ実装方法であって、前記方法の少なくとも一部分は、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実行され、マスタ仮想マシンの少なくとも1つのファイルに対して第1の分析を実行する工程と、前記第1の分析の少なくとも1つの結果を示す情報を前記マスタ仮想マシンに挿入する工程と、前記マスタ仮想マシンに基づく少なくとも1つの追加の仮想マシンを保守する工程と、前記追加の仮想マシンの少なくとも1つのファイルに対して第2の分析を実行する代わりに、前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示する工程とを含むコンピュータ実装方法。前記第1の分析の結果を示す情報を前記マスタ仮想マシンに挿入する工程は、前記マスタ仮想マシン内に位置するデータベースに前記第1の分析の結果を格納する工程を含む、請求項1に記載の方法。前記第1の分析の結果を示す情報を前記マスタ仮想マシンに挿入する工程は、前記マスタ仮想マシンの外部の前記第1の分析の結果を格納するデータベースへの参照を挿入する工程を含む、請求項1に記載の方法。前記追加の仮想マシンの少なくとも1つのファイルに対して追加分析を実行する工程と、前記第1の分析の結果を格納するデータベースに前記追加分析の少なくとも1つの結果を追加する工程とをさらに含む、請求項1に記載の方法。前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示する工程は、前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示するコンピュータ実行可能コードを実行するよう、前記追加の仮想マシンをプログラムする工程を含む、請求項1に記載の方法。前記マスタ仮想マシンの前記ファイルに対して前記分析を実行する工程は、前記マスタ仮想マシンがオフライン状態の間に前記第1の分析を実行する工程を含む、請求項1に記載の方法。前記マスタ仮想マシンの前記ファイルに対して前記分析を実行する工程は、前記追加の仮想マシンがオフライン状態の間に、前記マスタ仮想マシンの前記ファイルに対して前記第1の分析を、前記追加の仮想マシンが最初にオンライン状態となる前に、実行する工程を含む、請求項1に記載の方法。前記追加の仮想マシンを最初にオンライン状態にする工程と、前記追加の仮想マシンを最初にオンライン状態にすると同時に、前記追加の仮想マシンの前記ファイルに対して前記第2の分析を実行する代わりに、前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示する工程とをさらに含む、請求項7に記載の方法。前記第1の分析の結果にアクセスするという要求を前記追加の仮想マシンから受け取る工程と、前記要求に応じて前記マスタ仮想マシン内の前記情報を提供する工程とをさらに含む、請求項1に記載の方法。前記追加の仮想マシンを保守する工程は、前記第1の分析の結果を使用することが可能なソフトウェアアプリケーションを前記追加の仮想マシンにインストールする工程と、前記追加の仮想マシンの前記ファイルに対して前記第2の分析を実行する代わりに前記第1の分析の結果を使用するように前記ソフトウェアアプリケーションに指示する工程とを含む、請求項1に記載の方法。前記第1の分析は、前記マスタ仮想マシンの外部で実行される走査モジュールによって実行される、請求項1に記載の方法。前記ファイルに対して前記第1の分析を実行する工程は、前記ファイルに対してマルウェア分析を実行する工程、前記ファイルに対してデータ損失防止分析を実行する工程、前記ファイルに対してコミュニティベースのレピュテーション分析を実行する工程、前記ファイルに対してファイルタイプ分析を実行する工程、前記ファイルのハッシュ値を計算する工程の少なくとも1つを含む、請求項1に記載の方法。仮想マシン間で分析の結果を共有するためのシステムであって、少なくとも1つのプロセッサと、マスタ仮想マシンの少なくとも1つのファイルに対して第1の分析を実行し、前記第1の分析の少なくとも1つの結果を示す情報を前記マスタ仮想マシンに挿入するように前記プロセッサに指示するようプログラムされた走査モジュールと、前記マスタ仮想マシンに基づく少なくとも1つの追加の仮想マシンを保守するように前記プロセッサに指示するようプログラムされた保守モジュールと、前記追加の仮想マシンの少なくとも1つのファイルに対して第2の分析を実行する代わりに、前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示するように前記プロセッサに指示するようプログラムされた参照モジュールとを備えるシステム。前記走査モジュールは、前記マスタ仮想マシン内に位置するデータベースに前記第1の分析の結果を格納するように前記プロセッサに指示するようプログラムされた、請求項13に記載のシステム。前記走査モジュールは、前記マスタ仮想マシンの外部の前記第1の分析の結果を格納するデータベースへの参照を前記マスタ仮想マシンに挿入するように前記プロセッサに指示するようプログラムされた、請求項13に記載のシステム。前記走査モジュールは、前記追加の仮想マシンの少なくとも1つのファイルに対して追加分析を実行し、前記第1の分析の結果を格納するデータベースに前記追加分析の少なくとも1つの結果を追加するように前記プロセッサに指示するようプログラムされた、請求項13に記載のシステム。前記走査モジュールは、前記追加の仮想マシンがオフライン状態の間に、前記マスタ仮想マシンの前記ファイルに対して前記第1の分析を、前記追加の仮想マシンが最初にオンライン状態となる前に、実行するように前記プロセッサに指示するようプログラムされた、請求項13に記載のシステム。前記保守モジュールは、前記追加の仮想マシンを最初にオンライン状態にするように前記プロセッサに指示するようプログラムされ、前記参照モジュールは、前記追加の仮想マシンを最初にオンライン状態にすると同時に、前記追加の仮想マシンの前記ファイルに対して前記第2の分析を実行する代わりに、前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示するように前記プロセッサに指示するようプログラムされた、請求項17に記載のシステム。前記保守モジュールは、前記第1の分析の結果を使用することが可能なソフトウェアアプリケーションを前記追加の仮想マシンにインストールするように前記プロセッサに指示するようプログラムされ、前記参照モジュールは、前記追加の仮想マシンの前記ファイルに対して前記第2の分析を実行する代わりに前記第1の分析の結果を使用するように前記ソフトウェアアプリケーションに指示するように前記プロセッサに指示するようプログラムされた、請求項13に記載のシステム。コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、マスタ仮想マシンの少なくとも1つのファイルに対して第1の分析を実行させる、前記第1の分析の少なくとも1つの結果を示す情報を前記マスタ仮想マシンに挿入させる、前記マスタ仮想マシンに基づく少なくとも1つの追加の仮想マシンを保守させる、前記追加の仮想マシンの少なくとも1つのファイルに対して第2の分析を実行する代わりに、前記マスタ仮想マシン内の前記情報を参照するように前記追加の仮想マシンに指示させる、1つまたは複数のコンピュータ実行可能命令を含む、コンピュータ可読媒体。マスタ仮想マシン内に位置する各ファイルのインスタンスを含むことに加えて、マスタ仮想マシンに基づく仮想マシンは、マスタ仮想マシンと同じ分析の1つまたは複数を実行するようプログラムすることができる。例えば、10個の仮想マシンがマスタ仮想マシンから導かれている場合、これらの仮想マシンは、マスタ仮想マシンが既にWINWORD.EXEファイルに対して同じマルウェア分析を実行していたとしても、WINWORD.EXEファイルのインスタンスに対して10個の冗長なマルウェア分析を一括して実行するようプログラムすることができる。そのような冗長な分析は、貴重なコンピューティングリソースを消費する恐れがあり、その結果、システム性能が低下する。以下でさらに詳細に説明されるように、本開示は、概して、仮想マシン間で分析の結果を共有するためのシステムおよび方法に関する。より具体的には、本明細書に記載されるシステムおよび方法は、仮想マシンが、同じ分析を冗長的に実行する代わりに、異なる仮想マシン上で実行された分析の少なくとも1つの結果を参照することを可能にすることができる。仮想マシン間で分析の結果を共有することによって、本明細書に記載されるシステムおよび方法は、冗長な分析を排除し、コンピューティングリソースを節約することができる。ある実施形態では、仮想マシン間で分析の結果を共有するための方法は、マスタ仮想マシンの少なくとも1つのファイルに対して第1の分析例えば、マルウェア分析、データ損失防止分析、コミュニティベースのレピュテーション分析、ファイルタイプ分析またはハッシュ分析を実行する工程を含み得る。例えば、走査モジュールは、マスタ仮想マシン内に位置する実行可能ファイルWINWORD.EXEに対してマルウェア分析を実行することができる。走査モジュールは、マスタ仮想マシンがオフライン状態の間にすなわち、マスタ仮想マシンが現時点においてホストマシン上で起動していなくとも、マスタ仮想マシンのファイルに対して第1の分析を実行することができる。マスタ仮想マシンがオフライン状態の間にファイルに対して第1の分析を実行するため、ホストマシンは、マスタ仮想マシンの外部の走査モジュールを実行することができる。例えば、マスタ仮想マシンが現時点においてホストマシン上で起動していなくとも、WINWORD.EXEファイルに対してマルウェア分析を実行するため、ホストマシンは、マスタ仮想マシンの外部に走査モジュールを配備するアンチマルウェアソリューションを実行することができる。それに加えてまたはその代替として、マスタ仮想マシンがオンライン状態となった場合は、マスタ仮想マシン自体が、ファイルに対して第1の分析を実行するために走査モジュールを実行することができる。例えば、マスタ仮想マシンが現時点においてホストマシン上で起動している間に、マスタ仮想マシン自体が、WINWORD.EXEファイルに対してマルウェア分析を実行するため、走査モジュールを配備するアンチマルウェアソリューションを実行することができる。マスタ仮想マシンのファイルに対して第1の分析を実行すると、走査モジュールは、第1の分析の少なくとも1つの結果を示す情報をマスタ仮想マシンに挿入することができる。いくつかの実施形態では、この情報は、第1の分析の結果自体であり得る。例えば、WINWORD.EXEファイルに対してマルウェア分析を実行すると、走査モジュールは、マスタ仮想マシン内に位置するデータベースにマルウェア分析の少なくとも1つの結果を格納することができる。他の実施形態では、この情報は、マスタ仮想マシンの外部の第1の分析の結果を格納するデータベースへの参照であり得る。例えば、WINWORD.EXEファイルに対してマルウェア分析を実行すると、走査モジュールは、マスタ仮想マシンの外部のマルウェア分析の少なくとも1つの結果を格納するデータベースを特定するユニフォームリソースロケータURLをマスタ仮想マシンに挿入することができる。第1の分析の結果を格納するデータベースは、マスタ仮想マシン内に位置するかまたは外部に位置するかに関わらず、ファイルハッシュによってインデックスを付けることができる。それに加えて、このデータベースは、マスタ仮想マシンに基づく少なくとも1つの追加の仮想マシンに参照および/またはアクセスすることができる。この追加の仮想マシンは、マスタ仮想マシン内に位置する各ファイルのインスタンスを含み得る。例えば、マスタ仮想マシンに基づく追加の仮想マシンは、マスタ仮想マシン上でマルウェア分析が行われた同じWINWORD.EXEファイルのインスタンスを含み得る。この追加の仮想マシンは、さまざまな理由で、ファイルに対して実行された第1の分析の結果を必要とする場合がある。しかし、追加の仮想マシンの少なくとも1つのファイルに対して第2の分析例えば、第1の分析と同様なまたは同一の分析を冗長的に実行する代わりに、参照モジュールは、第1の分析の結果にアクセスするため、マスタ仮想マシン内の情報を参照するように追加の仮想マシンに指示することができる。例えば、追加の仮想マシン内に位置するWINWORD.EXEファイルのインスタンスに対して同じマルウェア分析を実行する代わりに、参照モジュールは、WINWORD.EXEファイルに対して以前に実行されたマルウェア分析の結果にアクセスするため、マスタ仮想マシン内の情報を参照するように追加の仮想マシンに指示することができる。参照モジュールは、マスタ仮想マシン内の情報を参照するように追加の仮想マシンに指示するコンピュータ実行可能コードを実行するよう、追加の仮想マシンをプログラムすることができる。より具体的には、追加の仮想マシンが第1の分析の結果を必要とする場合、このコンピュータ実行可能コードは、実行時に、第1の分析の結果にアクセスするという要求を生成するように追加の仮想マシンに指示することができる。参照モジュールは、要求を受け取り、要求に応じて追加の仮想マシンにマスタ仮想マシン内の情報を提供することができる。さまざまな実施形態では、保守モジュールは、マスタ仮想マシンに基づく追加の仮想マシンを保守することができる。保守モジュールは、第1の分析の結果を使用することが可能なソフトウェアアプリケーションを追加の仮想マシンにインストールすることができる。例えば、走査モジュールがWINWORD.EXEファイルに対してマルウェア分析を実行した後、保守モジュールは、WINWORD.EXEファイルに対して実行されたマルウェア分析の結果を使用することが可能なアンチマルウェアソリューションを追加の仮想マシンにインストールすることができる。次いで、参照モジュールは、追加の仮想マシンのファイルに対して第2の分析を実行する代わりに第1の分析の結果を使用するようにアンチマルウェアソリューションに指示することができる。いくつかの実施形態では、走査モジュールは、追加の仮想マシンが最初にオンライン状態となる前に、マスタ仮想マシンのファイルに対して第1の分析を実行することができる。例えば、走査モジュールは、追加の仮想マシンがオフライン状態の間にWINWORD.EXEファイルに対してマルウェア分析を実行することができ、いくつかの実施形態では、追加の仮想マシンは、このマルウェア分析が実行される前はオンライン状態ではない場合がある。そのような実施形態では、保守モジュールは、追加の仮想マシンを最初にオンライン状態にすることができる。追加の仮想マシンを最初にオンライン状態にした後、参照モジュールは、追加の仮想マシンのファイルに対して第2の分析を実行する代わりにマスタ仮想マシン内の情報を参照するように追加の仮想マシンに指示することができる。少なくとも1つの実施形態では、走査モジュールは、追加の仮想マシンの少なくとも1つのファイルに対して追加分析を実行することができる。追加分析は第1の分析と異なり得、および/または、追加分析が行われた追加の仮想マシンのファイルは第1の分析が行われたマスタ仮想マシンのファイルと異なり得る。例えば、走査モジュールは、追加の仮想マシン内に位置するWINWORD.EXEファイルのインスタンスに対してデータ損失防止分析を実行することができる。別の例では、走査モジュールは、追加の仮想マシン内に位置する実行可能ファイルEXCEL.EXEに対してマルウェア分析を実行することができる。追加分析を実行すると、走査モジュールは、第1の分析の結果を格納するデータベースに追加分析の少なくとも1つの結果を追加することができる。上述の実施形態のいずれかの特徴は、本明細書に記載される一般原理に従って互いに組み合わせて使用することができる。これらのおよび他の実施形態、特徴および利点は、添付の図面および特許請求の範囲と併せて以下の詳細な説明を読み進むに従ってより完全に理解されよう。以下でさらに詳細に説明されるように、本開示は、概して、仮想マシン間で分析の結果を共有するためのシステムおよび方法に関する。特に、本明細書に記載されるシステムおよび方法は、仮想マシンが、同じ分析を冗長的に実行する代わりに、異なる仮想マシン上で実行された分析の少なくとも1つの結果を参照することを可能にすることができる。また、本明細書に記載されるシステムおよび方法は、仮想マシンが、異なる仮想マシン上で既に分析が実行されたかどうかクエリを行うことなく、分析の結果を参照することを可能にすることができる。仮想マシン間で分析の結果を共有することによって、本明細書に記載されるシステムおよび方法は、冗長な分析を排除し、コンピューティングリソースを節約することができる。また、本開示の実施形態は、他のさまざまな特徴および利点を提供することもできる。語句マスタ仮想マシンは、本明細書で使用される場合、一般に、1つまたは複数の追加の仮想マシンを作成するためのテンプレートまたはベースとして使用される任意の仮想マシンおよび/または仮想マシンイメージを指す。本明細書に記載されるいくつかの実施形態では、語句マスタ仮想マシンは、ホストマシンが、1つまたは複数の追加の仮想マシンイメージを作成するためのテンプレートまたはベースとして使用されるマスタ仮想マシンイメージゴールデンイメージとも呼ばれるを実行する際、ホストマシン上で起動する仮想マシンを指す場合がある。語句追加の仮想マシンは、本明細書で使用される場合、一般に、追加の仮想マシンを作成するためのテンプレートとして機能するマスタ仮想マシンに基づく任意の仮想マシンおよび/または仮想マシンイメージを指す。本明細書に記載されるいくつかの実施形態では、語句追加の仮想マシンは、ホストマシンが、マスタ仮想マシンイメージに基づく追加の仮想マシンイメージを実行する際、ホストマシン上で起動する仮想マシンを指す場合がある。それに加えて、本開示を通して、いくつかの例を使用して、本明細書に記載されるシステムおよび方法に関連する要素第1の分析またはファイルなどの特定の実施形態を示す。しかし、そのような例はほんの一例にすぎず、本明細書に記載されない他のさまざまな例もまた、これらのシステムおよび方法と併せて使用することができる。例えば、本開示を通して、例示的な実行可能ファイルWINWORD.EXEを使用して、マスタ仮想マシン上で第1の分析例えば、マルウェア分析が行われるファイルを示すが、他の任意のファイルもまた、マスタ仮想マシン上でこの第1の分析が行われ得る。以下は、図1、2および4を参照して、仮想マシン間で分析の結果を共有するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明もまた、図3と関連して提供する。それに加えて、本明細書に記載される実施形態の1つまたは複数を実施することが可能な例示的なコンピューティングシステムおよびネットワークアーキテクチャの詳細な説明をそれぞれ、図5および6と関連して提供する。図1は、仮想マシン間で分析の結果を共有するための例示的なシステム100のブロック図である。この図で示されるように、例示的なシステム100は、1つまたは複数のタスクを実行するための1つまたは複数のモジュール102を含み得る。例えば、以下でさらに詳細に説明されるように、例示的なシステム100は、マスタ仮想マシンの少なくとも1つのファイルに対して第1の分析を実行するようプログラムされた走査モジュール104を含み得る。また、走査モジュール104は、第1の分析の少なくとも1つの結果を示す情報をマスタ仮想マシンに挿入するようプログラムすることができる。それに加えて、以下でさらに詳細に説明されるように、例示的なシステム100は、マスタ仮想マシンに基づく少なくとも1つの追加の仮想マシンを保守するようプログラムされた保守モジュール106を含み得る。また、例示的なシステム100は、追加の仮想マシンの少なくとも1つのファイルに対して第2の分析を実行する代わりに、マスタ仮想マシン内の情報を参照するように追加の仮想マシンに指示するようプログラムされた参照モジュール108を含み得る。別々の要素として示されているが、図1のモジュール102の1つまたは複数は、単一のモジュールまたはアプリケーションの複数の部分を表す場合がある。ある実施形態では、図1のモジュール102の1つまたは複数は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つまたは複数のタスクを実行させることができる1つまたは複数のソフトウェアアプリケーションまたはプログラムを表す場合がある。例えば、以下でさらに詳細に説明されるように、モジュール102の1つまたは複数は、図2に示されるデバイス例えば、マスタ仮想マシン202および追加の仮想マシン2041~N、図5のコンピューティングシステム510、および/または、図6の例示的なネットワークアーキテクチャ600の複数の部分など、1つまたは複数のコンピューティングデバイス上で格納されて起動するよう構成されたソフトウェアモジュールを表す場合がある。また、図1のモジュール102の1つまたは複数は、1つまたは複数のタスクを実行するよう構成された1つまたは複数の専用コンピュータのすべてまたは複数の部分を表す場合もある。また、図1で示されるように、例示的なシステム100は、ファイル属性データベース120も含み得る。一実施形態では、以下でさらに詳細に説明されるように、ファイル属性データベース120は、ファイルハッシュ122およびファイル属性情報124を格納するよう構成することができる。ファイルハッシュ122を使用して、図2のマスタ仮想マシン202および/または追加の仮想マシン2041~N内に位置するファイルを特定することができ、ファイル属性情報124は、そのようなファイルに対して実行された分析の1つまたは複数の結果を含み得る。ファイル属性データベース120は、単一のデータベースもしくはコンピューティングデバイスまたは複数のデータベースもしくはコンピューティングデバイスの複数の部分を表す場合がある。例えば、ファイル属性データベース120は、図2のマスタローカルストア214、ローカルストア2161~Nおよび/もしくは共有ストア220の一部分、図5のコンピューティングシステム510、ならびに/または、図6の例示的なネットワークアーキテクチャ600の複数の部分を表す場合がある。あるいは、図1のファイル属性データベース120は、図2のマスタ仮想マシン202および/もしくは追加の仮想マシン2041~N、図5のコンピューティングシステム510、ならびに/または、図6の例示的なネットワークアーキテクチャ600の複数の部分など、コンピューティングデバイスによってアクセスすることが可能な1つまたは複数の物理的な個別のデバイスを表す場合がある。図1の例示的なシステム100は、さまざまな方法で配備することができる。一例では、例示的なシステム100のすべてまたは一部分は、図2の例示的なホストマシン200の複数の部分を表す場合がある。図2に示されるように、ホストマシン200は、仮想化層206を介してハードウェア210と連通するマスタ仮想マシン202および複数の追加の仮想マシン2041~Nを含み得る。一実施形態では、以下でさらに詳細に説明されるように、図1のモジュール102は、マスタ仮想マシンの少なくとも1つのファイルに対して分析を実行するよう、ホストマシン200および/またはマスタ仮想マシン202をプログラムすることができる。それに加えて、モジュール102は、第1の分析の少なくとも1つの結果を示す情報をマスタ仮想マシン202に挿入するよう、ホストマシン200の1つまたは複数の部分をプログラムすることができる。また、モジュール102は、1つまたは複数の追加の仮想マシン2041~Nを保守し、追加の仮想マシン2041~Nの少なくとも1つのファイルに対して第2の分析を実行する代わりに、マスタ仮想マシン202内の情報を参照するように追加の仮想マシン2041~Nに指示するよう、ホストマシン200の1つまたは複数の部分をプログラムすることもできる。一般に、ホストマシン200は、1つまたは複数の仮想マシンをホスティングすることが可能な任意のタイプまたは形式の物理的なコンピューティングデバイスを表す。ホストマシン200の例としては、これらに限定されないが、ラップトップ、デスクトップ、サーバ、携帯電話、携帯情報端末PDA、マルチメディアプレーヤー、組込みシステム、これらの1つもしくは複数の組合せ、図5の例示的なコンピューティングシステム510または任意の他の適切なコンピューティングデバイスが挙げられる。一般に、マスタ仮想マシン202は、コンピュータ実行可能命令を読み取ることが可能な任意のタイプまたは形式の仮想化またはエミュレート化されたコンピューティングマシンを表し、1つまたは複数の追加の仮想マシンを作成するためのテンプレートとして機能する。マスタ仮想マシン202の例としては、これらに限定されないが、システム仮想マシン、プロセス仮想マシンまたは任意の他の適切な仮想化もしくはエミュレート化コンピューティングデバイスが挙げられる。図2で示される例では、マスタ仮想マシン202は、仮想化層206を介してホストマシン200の根本的なハードウェア210にアクセスすることができ、ホストマシン200のコンピューティングリソースを抽象化および管理することができる。一般に、追加の仮想マシン2041~Nは、マスタ仮想マシン202に基づき、コンピュータ実行可能命令を読み取ることが可能な任意のタイプまたは形式の仮想化またはエミュレート化されたコンピューティングマシンを表す。追加の仮想マシン2041~Nの例としては、これらに限定されないが、システム仮想マシン、プロセス仮想マシンまたは任意の他の適切な仮想化もしくはエミュレート化コンピューティングデバイスが挙げられる。図2で示される例では、追加の仮想マシン2041~Nは、仮想化層206を介してホストマシン200の根本的なハードウェア210にアクセスすることができ、ホストマシン200のコンピューティングリソースを抽象化および管理するようプログラムされたハイパーバイザおよび/または任意の他の仮想化ソフトウェアを含み得る。図2で示されるように、ハードウェア210は、他の要素としては、少なくとも1つの記憶装置212を含み得る。いくつかの実施形態では、仮想化層206は、マスタ仮想マシン202に対するマスタローカルストア214、および、追加の仮想マシン2041~Nそれぞれに対する複数のローカルストア2161~Nにハードウェア210を抽象化することができる。このため、マスタローカルストア214は、マスタ仮想マシン202の一部のように見える場合があり、ローカルストア2161~Nは、追加の仮想マシン2041~Nの一部のように見える場合がある。以下でさらに詳細に説明されるように、マスタローカルストア214およびローカルストア2161~Nを使用して、ファイルハッシュ122およびファイル属性情報124を含むファイル属性データベース120を格納することができる。一般に、共有ストア220は、マスタ仮想マシン202および/または追加の仮想マシン2041~Nによって共有またはアクセスされ得るホストマシン200内に位置する任意のタイプまたは形式の物理的なまたは仮想化されたストレージを表す。マスタローカルストア214およびローカルストア2161~Nとは異なり、共有ストア220は、マスタ仮想マシン202および追加の仮想マシン2041~Nとは別々のように見える場合がある。しかし、マスタローカルストア214およびローカルストア2161~Nと同様に、共有ストア220を使用して、ファイルハッシュ122およびファイル属性情報124を含むファイル属性データベース120を格納することができる。図2は、共有ストア220がマスタ仮想マシン202および追加の仮想マシン2041~Nと同じシステム上に位置していることを示すが、他の実施形態では、共有ストア220は、別々のシステム上に位置する場合がある。例えば、共有ストア220は、ネットワーク例えば、インターネット、ローカルエリアネットワーク、広域ネットワークなど上でマスタ仮想マシン202および追加の仮想マシン2041~Nがアクセス可能なリモート記憶装置上に位置する場合がある。マスタローカルストア214、ローカルストア2161~Nおよび/または共有ストア220は、ファイル属性データベース図1および4のファイル属性データベース120などを含み得る。いくつかの例では、このファイル属性データベースには、ファイルのハッシュ、ファイルに対して実行された分析の少なくとも1つの結果マルウェア分析中にファイルに割り当てられた分類など、分析の結果に対する少なくとも1つの論理的根拠、分析の実行に使用された少なくとも1つのセットのパラメータウイルス定義セットまたはヒューリスティックなど、分析が実行された日付、および/または、仮想マシン間で共有できる任意の他の潜在的に有用な情報が入っている場合がある。図3は、仮想マシン間で分析の結果を共有するための例示的なコンピュータ実装方法300のフロー図である。図3で示される工程は、任意の適切なコンピュータ実行可能コードおよび/またはコンピューティングシステムによって実行することができる。いくつかの実施形態では、図3で示される工程は、図1のシステム100および/または図2のホストマシン200の1つまたは複数のコンポーネントによって実行することができる。例えば、工程302では、走査モジュール104は、ホストマシン200の一部として、マスタ仮想マシン202の少なくとも1つのファイルに対して第1の分析を実行することができる。工程302は、さまざまな方法で実行することができる。少なくとも1つの実施形態では、走査モジュール104は、マスタ仮想マシン202がオフライン状態の間に、ファイルに対して第1の分析を実行することができる。例えば、走査モジュール104は、マスタ仮想マシン202が現時点においてホストマシン200上で起動していなくとも、マスタ仮想マシン202内に位置する実行可能ファイルWINWORD.EXEファイルに対してマルウェア分析を実行することができる。また、走査モジュール104は、マスタ仮想マシン202が最初にオンライン状態となる前であっても、マスタ仮想マシン202上で第1の分析を実行することができる。この例では、走査モジュール104は、マスタ仮想マシン202の作成直後に、マスタ仮想マシン202のWINWORD.EXEファイルに対してマルウェア分析を実行することができる。マスタ仮想マシン202がオフライン状態の間にファイルに対して第1の分析を実行するため、ホストマシン200は、マスタ仮想マシン202の外部の走査モジュール104を実行することができる。例えば、マスタ仮想マシン202が現時点においてホストマシン200上で起動していなくとも、WINWORD.EXEファイルに対してマルウェア分析を実行するため、ホストマシン200は、マスタ仮想マシン202の外部に走査モジュール104を配備するアンチマルウェアソリューションを実行することができる。それに加えてまたはその代替として、マスタ仮想マシンがオンライン状態となった場合は、マスタ仮想マシン202自体が、ファイルに対して第1の分析を実行するために走査モジュール104を実行することができる。例えば、マスタ仮想マシン202が現時点においてホストマシン200上で起動している間に、マスタ仮想マシン202自体が、WINWORD.EXEファイルに対してマルウェア分析を実行するため、走査モジュール104を配備するアンチマルウェアソリューションを実行することができる。第1の分析は、さまざまなコンピュータベースの分析のいずれかであり得る。ファイルに対して第1の分析を実行する工程の例としては、これらに限定されないが、ファイルに対してマルウェア分析を実行する工程、ファイルに対してデータ損失防止分析を実行する工程、ファイルに対してファイルタイプ分析を実行する工程、ファイルのハッシュ値を計算する工程、および/または、ファイルに対して任意の他の適切な分析を実行する工程が挙げられる。図3の工程304では、走査モジュール104は、第1の分析の少なくとも1つの結果を示す情報をマスタ仮想マシン202に挿入することができる。工程304は、さまざまな方法で実行することができる。ある実施形態では、走査モジュール104は、マスタ仮想マシン202のファイルに対して実行された第1の分析の結果をマスタ仮想マシン202に挿入することができる。言い換えれば、第1の分析の結果を示すこの情報は、第1の分析の結果であり得る。走査モジュール104は、マスタ仮想マシン202内に位置するデータベースに第1の分析の結果を格納することができる。例えば、WINWORD.EXEファイルに対してマルウェア分析を実行すると、走査モジュール104は、マスタ仮想マシン202のマスタローカルストア214内に位置するファイル属性データベース120にマルウェア分析の結果WINWORD.EXEファイルに割り当てられた分類などを格納することができる。この例では、仮想化層206は、マスタローカルストア214をマスタ仮想マシン202の一部のように見えるように抽象化することができ、ファイル属性データベース120をマスタ仮想マシン202内に効果的に格納することができる。いくつかの実施形態では、第1の分析の結果をマスタ仮想マシン202に挿入するよりもむしろ、走査モジュール104は、マスタ仮想マシン202の外部の第1の分析の結果を格納するデータベースへの参照をマスタ仮想マシン202に挿入することができる。言い換えれば、第1の分析の結果を示す情報は、マスタ仮想マシン202の外部の第1の分析の結果を格納するデータベースへの参照であり得る。例えば、WINWORD.EXEファイルに対してマルウェア分析を実行すると、走査モジュール104は、共有ストア220内に位置し、かつ、マスタ仮想マシン202の外部のファイル属性データベース120にマルウェア分析の結果WINWORD.EXEファイルに割り当てられた分類などを格納することができる。この例では、走査モジュール104は、次いで、共有ストア220内に位置するファイル属性データベース120を特定し、同ファイル属性データベース120へのアクセスを容易にするURLを、マスタ仮想マシン202に挿入することができる。第1の分析の結果を格納するデータベース例えば、ファイル属性データベース120は、マスタ仮想マシン202内に位置するかまたは外部に位置するかに関わらず、ファイルハッシュ122によってインデックスを付けることができる。例えば、ファイルハッシュ122内のファイルハッシュ0x98BAD748は、WINWORD.EXEファイルを表す場合があり、WINWORD.EXEファイルに対して実行されたマルウェア分析の結果は、ファイル属性データベース120内で0x98BAD748ハッシュを位置付けることによって特定することができる。ファイルハッシュ122は、ホストマシン200上で起動しているさまざまな仮想マシン例えば、マスタ仮想マシン202および/または追加の仮想マシン2041~Nがアクセスすることも使用することもできる。ファイルハッシュ122は、そのような仮想マシンが、ファイル属性データベース120内で第1の分析の結果を位置付けることを可能にすることができる。少なくとも1つの実施形態では、走査モジュール104は、最初にファイルに遭遇する際に、ファイルのハッシュを作成することができる。そのため、ファイルがマスタ仮想マシン202および/または1つもしくは複数の追加の仮想マシン204内に位置するかどうかに関わらず、走査モジュール104が次の回に異なる仮想マシン上で同じファイルの異なるインスタンスに遭遇し得る場合であっても、走査モジュール104は、単回でファイルのハッシュを作成することができる。例えば、走査モジュール104は、マスタ仮想マシン202上で最初にWINWORD.EXEファイルに遭遇すると同時に0x98BAD748ハッシュを作成することができ、次いで、0x98BAD748ハッシュをファイルハッシュ122内に含めることができる。この例では、図2の追加の仮想マシン2041~Nもまた、2回目にWINWORD.EXEファイルに遭遇すると同時に0x98BAD748ハッシュの別のインスタンスを作成する代わりに、ファイルハッシュ122内の0x98BAD748ハッシュにアクセスして、ファイル属性データベース120内でマルウェア分析の結果を位置付けることができる。ファイルハッシュ122へのアクセスを有する追加の仮想マシン2041~Nを提供するため、走査モジュール104は、ローカルストア2161~Nまたは共有ストア220のキャッシュにファイルハッシュ122のコピーを格納することができる。例えば、ローカルストア2161~Nのそれぞれは、キャッシュに格納されたファイルハッシュ122のコピーを含み得、追加の仮想マシン2041~Nのそれぞれは、0x98BAD748ハッシュのコピーを使用して、ファイル属性情報124内でWINWORD.EXEファイルに対して実行されたマルウェア分析の結果を位置付けることができる。そのようなキャッシュに格納されたファイルハッシュ122のコピーは、走査モジュール104が以前にハッシュされたファイルに遭遇する度にファイルハッシュの冗長なインスタンスを作成することなく、追加の仮想マシン2041~Nがファイル属性データベース120内で第1の分析の結果を位置付けることを可能にすることができる。追加の仮想マシン2041~Nの作成前にファイルハッシュ122が既存している場合、追加の仮想マシン2041~Nのそれぞれの作成時に、追加の仮想マシン2041~Nのそれぞれにファイルハッシュ122のコピーを含めることができる。例えば、ファイルハッシュ122がマスタ仮想マシン202に含まれている場合、追加の仮想マシン2041~Nのそれぞれの作成時に、追加の仮想マシン2041~Nのそれぞれにファイルハッシュ122を含めることができる。ファイルハッシュ122は、マスタ仮想マシン202内に位置するファイルを表す場合があり、マスタ仮想マシン202内に位置するファイルのインスタンスとともに、追加の仮想マシン2041~Nのそれぞれにこれらのファイルハッシュ122のコピーを含めることができる。図3の工程306では、保守モジュール106は、マスタ仮想マシン202に基づく追加の仮想マシン2041~Nの少なくとも1つ例えば、追加の仮想マシン2041を保守することができる。追加の仮想マシン2041は、マスタ仮想マシン202内に位置する各ファイルのインスタンスを含み得る。例えば、保守モジュール106は、追加の仮想マシン2041を保守することができ、追加の仮想マシン2041は、マスタ仮想マシン202に基づき、マスタ仮想マシン202上でマルウェア分析が行われた同じWINWORD.EXEファイルのインスタンスを含む。ある実施形態では、保守モジュール106は、ベースイメージとしてマスタ仮想マシン202を使用して追加の仮想マシン2041とマスタ仮想マシン202との違いのみを格納する差分仮想マシンとして、追加の仮想マシン2041を保守することができる。例えば、保守モジュール106は、マスタ仮想マシン202に含まれていない1つまたは複数の追加ファイル、ソフトウェアアプリケーションおよび/またはデータを含めるように追加の仮想マシン2041を修正することができる。この例では、保守モジュール106は、これらの違いすなわち、追加ファイル、ソフトウェアアプリケーションおよび/またはデータを追加の仮想マシン2041に付随するローカルストア2161に格納することができる。他の実施形態では、保守モジュール106は、マスタ仮想マシン202と同一のクローン仮想マシンとして、追加の仮想マシン2041を保守することができる。言い換えれば、保守モジュール106は、マスタ仮想マシン202に含まれるそれらのファイル、ソフトウェアアプリケーションおよび/またはデータのみを追加の仮想マシン2041に組み込むことができる。保守モジュール106は、追加の仮想マシン2041に関連するファイル、ソフトウェアアプリケーションおよび/またはデータの1つまたは複数をローカルストア2161または共有ストア220に格納することができる。それに加えてまたはその代替として、保守モジュール106は、マスタローカルストア214内のこれらのファイル、ソフトウェアアプリケーションおよび/またはデータの1つまたは複数を参照することができる。図3の工程308では、参照モジュール108は、追加の仮想マシン2041の少なくとも1つのファイル例えば、マスタ仮想マシン202のファイルと同様なまたは同一のファイルに対して第2の分析例えば、第1の分析と同様なまたは同一の分析を実行する代わりに、マスタ仮想マシン202内の情報を参照するように追加の仮想マシン2041に指示することができる。言い換えれば、追加の仮想マシン2041は、走査モジュール104を配備して追加の仮想マシン2041内に位置する同じファイルの異なるインスタンスに対して同様なまたは同一の分析を実行する代わりに、マスタ仮想マシン202内に位置するファイルに対して実行された第1の分析の結果を使用することができる。例えば、追加の仮想マシン2041内に位置するWINWORD.EXEファイルのインスタンスに対して同じマルウェア分析を実行する代わりに、参照モジュール108は、WINWORD.EXEファイルに対して以前に実行されたマルウェア分析の結果にアクセスするため、マスタ仮想マシン202内の情報を参照するように追加の仮想マシン2041に指示することができる。参照モジュール108は、マスタ仮想マシン内202の情報を参照するように追加の仮想マシン2041に指示するコンピュータ実行可能コードを実行するよう、追加の仮想マシン2041をプログラムすることができる。いくつかの実施形態では、このコンピュータ実行可能コードは、追加の仮想マシン2041に関連するソフトウェアアプリケーション例えば、アンチマルウェアソリューション用のプラグインであり得る。他の実施形態では、このコンピュータ実行可能コードは、マスタ仮想マシン202内の情報を参照するように追加の仮想マシン2041に指示する独立したソフトウェアアプリケーションであり得る。追加の仮想マシン2041が第1の分析の結果を必要とする場合、このコンピュータ実行可能コードは、実行時に、第1の分析の結果にアクセスするという要求を生成するように追加の仮想マシン2041に指示することができる。例えば、参照モジュール108は、アンチマルウェアソリューションがマルウェア分析の結果の使用または評価を必要とする場合は常に、WINWORD.EXEファイルに対して実行されたマルウェア分析の結果にアクセスするという要求を生成するようにアンチマルウェアソリューションに指示するコンピュータ実行可能コードを追加の仮想マシン2041に挿入することができる。次いで、参照モジュール108は、要求を受け取り、要求に応じてマスタ仮想マシン202内の情報を提供することができる。ある実施形態では、走査モジュール104は、追加の仮想マシン2041が最初にオンライン状態となる前に、マスタ仮想マシン202のファイルに対して第1の分析を実行することができる。例えば、走査モジュール104は、追加の仮想マシン2041がオフライン状態の間にWINWORD.EXEファイルに対してマルウェア分析を実行することができ、追加の仮想マシン2041は、このマルウェア分析が実行される前はオンライン状態ではない場合がある。次いで、保守モジュール106は、追加の仮想マシン2041を最初にオンライン状態にすることができる。追加の仮想マシン2041を最初にオンライン状態にした後、参照モジュール108は、追加の仮想マシン2041のファイルに対して第2の分析を実行する代わりにマスタ仮想マシン202内の情報を速やかに参照するように追加の仮想マシンに指示することができる。1つまたは複数の実施形態では、保守モジュール106は、第1の分析の結果を使用することが可能なソフトウェアアプリケーションを追加の仮想マシン2041にインストールすることによって、追加の仮想マシン2041を保守することができる。例えば、走査モジュール104がWINWORD.EXEファイルに対してマルウェア分析を実行した後、保守モジュール106は、WINWORD.EXEファイルに対して実行されたマルウェア分析の結果を使用することが可能なアンチマルウェアソリューションを追加の仮想マシン2041にインストールすることができる。次いで、参照モジュール108は、追加の仮想マシン2041のファイルに対して第2の分析を実行する代わりに第1の分析の結果を使用するようにソフトウェアアプリケーションに指示することができる。図3の工程308の完了と同時に例示的な方法300を終了することができる。しかし、図3には示されていないが、例示的な方法は、1つまたは複数の追加の工程を含み得る。さまざまな実施形態では、走査モジュール104は、追加の仮想マシン2041の少なくとも1つのファイルに対して追加分析を実行することができる。追加分析は第1の分析と異なり得、および/または、追加分析が行われた追加の仮想マシン2041のファイルは第1の分析が行われたマスタ仮想マシン202のファイルと異なり得る。例えば、走査モジュール104は、追加の仮想マシン2041内に位置するWINWORD.EXEファイルのインスタンスに対してデータ損失防止分析を実行することができる。別の例では、走査モジュール104は、追加の仮想マシン2041内に位置する実行可能ファイルEXCEL.EXEに対してマルウェア分析を実行することができる。追加分析を実行すると、走査モジュール104は、第1の分析の結果を格納するファイル属性データベース120に追加分析の少なくとも1つの結果を追加することができる。第1の分析の結果を格納するデータベースがマスタ仮想マシン202の外部に位置するそれらの実施形態では、走査モジュール104は、追加の仮想マシン2041の作成後であっても、データベースに第1の分析の結果を挿入することができる。言い換えれば、マスタ仮想マシン202に挿入された参照が、マスタ仮想マシン202の外部の第1の分析の結果を格納するデータベースを特定すると、追加の仮想マシン2041がマスタ仮想マシン202から作成された後に、走査モジュール104は、依然として、分析の結果を用いてデータベースを更新することができる。例えば、第1の分析がWINWORD.EXEファイルに対して実行されたコミュニティベースのレピュテーション分析であれば、走査モジュール104は、マスタ仮想マシン202に基づく追加の仮想マシン2041の作成後であっても、依然として、第1の分析の結果を更新するすなわち、WINWORD.EXEファイルのコミュニティベースのレピュテーションを更新することができる。図4は、上記で詳細に説明されるように、図2のマスタローカルストア214および/または共有ストア220の一部分を表し得る、例示的なファイル属性データベース120のブロック図である。図4で示されるように、ファイル属性データベース120には、複数のファイルのそれぞれに対して、ファイルのハッシュ、ファイルの最近のスキャンの日付、ファイルの最近のスキャン中に使用されたウイルス定義セット、スキャン中にファイルに割り当てられた分類、スキャン中にファイルに割り当てられた分類に対する少なくとも1つの論理的根拠、および、ファイルに対するコミュニティベースのレピュテーション情報を特定する情報が入っている場合がある。いくつかの例では、追加の仮想マシン2041は、特定のファイルのファイル属性情報124を取り込むため、マスタローカルストア214および/または共有ストア220内のファイル属性データベース120にアクセスすることができる。例えば、図1の参照モジュール108は、WINWORD.EXEを表す0x98BAD748ハッシュに関連するファイル属性情報124を取り込むため、図2の追加の仮想マシン2041の一部として、ファイル属性データベース120が入っている共有ストア220にアクセスすることができる。ファイル属性データベース120はファイル属性情報124を含むため、追加の仮想マシン2041は、第1の分析の結果と同様なまたは同一の少なくとも1つの結果を生成するファイルに対して分析を実行する代わりに、ファイルのファイル属性情報124を取り込むことができる。図5は、本明細書に記載されるおよび/または示される実施形態の1つまたは複数を実施することが可能な例示的なコンピューティングシステム510のブロック図である。コンピューティングシステム510は、コンピュータ可読命令を実行することが可能な任意のシングルまたはマルチプロセッサコンピューティングデバイスまたはシステムを幅広く表す。コンピューティングシステム510の例としては、これらに限定されないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分配されたコンピューティングシステム、ハンドヘルドデバイスまたは任意の他のコンピューティングシステムもしくはデバイスが挙げられる。その最も基本的な構成では、コンピューティングシステム510は、少なくとも1つのプロセッサ514およびシステムメモリ516を含み得る。一般に、プロセッサ514は、データの処理または命令の解釈および実行が可能な任意のタイプまたは形式の処理ユニットを表す。ある実施形態では、プロセッサ514は、ソフトウェアアプリケーションまたはモジュールから命令を受け取ることができる。これらの命令は、本明細書に記載されるおよび/または示される例示的な実施形態の1つまたは複数の機能をプロセッサ514に実行させることができる。例えば、プロセッサ514は、単独でまたは他の要素と組み合わせて、本明細書に記載される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシング工程の1つもしくは複数を実行することができる、および/または、実行する手段となり得る。また、プロセッサ514は、本明細書に記載されるおよび/または示される任意の他の工程、方法またはプロセスを実行することもできる、および/または、実行する手段ともなり得る。一般に、システムメモリ516は、データおよび/またはコンピュータ可読命令を格納することが可能な任意のタイプまたは形式の揮発性または不揮発性記憶装置または媒体を表す。システムメモリ516の例としては、これらに限定されないが、ランダムアクセスメモリRAM、読み取り専用メモリROM、フラッシュメモリまたは任意の他の適切なメモリデバイスが挙げられる。必須ではないが、ある実施形態では、コンピューティングシステム510は、揮発性メモリユニット例えば、システムメモリ516などと不揮発性記憶装置例えば、以下で詳細に説明される一次記憶装置532などの両方を含み得る。一例では、図1のモジュール102の1つまたは複数は、システムメモリ516にロードされ得る。また、ある実施形態では、例示的なコンピューティングシステム510は、プロセッサ514およびシステムメモリ516に加えて、1つまたは複数のコンポーネントまたは要素も含み得る。例えば、図5で示されるように、コンピューティングシステム510は、メモリコントローラ518、入出力I/Oコントローラ520および通信インターフェース522を含み得、そのそれぞれは、通信インフラ512を介して相互接続され得る。一般に、通信インフラ512は、コンピューティングデバイスの1つまたは複数のコンポーネント間の通信を容易にすることが可能な任意のタイプまたは形式のインフラを表す。通信インフラ512の例としては、これらに限定されないが、通信バスISA、PCI、PCIeまたは同様のバスなどおよびネットワークが挙げられる。一般に、メモリコントローラ518は、メモリもしくはデータを取り扱うまたはコンピューティングシステム510の1つもしくは複数のコンポーネント間の通信を制御することが可能な任意のタイプまたは形式のデバイスを表す。例えば、ある実施形態では、メモリコントローラ518は、通信インフラ512を介してプロセッサ514、システムメモリ516およびI/Oコントローラ520間の通信を制御することができる。ある実施形態では、メモリコントローラ518は、単独でまたは他の要素と組み合わせて、本明細書に記載されるおよび/または示される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシングなどの工程または特徴の1つもしくは複数を実行することができる、および/または、実行する手段となり得る。一般に、I/Oコントローラ520は、コンピューティングデバイスの入出力機能を調整および/または制御することが可能な任意のタイプまたは形式のモジュールを表す。例えば、ある実施形態では、I/Oコントローラ520は、プロセッサ514、システムメモリ516、通信インターフェース522、ディスプレイアダプタ526、入力インターフェース530およびストレージインターフェース534などのコンピューティングシステム510の1つまたは複数の要素間のデータ転送を制御するかまたは容易にすることができる。I/Oコントローラ520は、例えば、単独でまたは他の要素と組み合わせて、本明細書に記載される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシング工程の1つもしくは複数を実行する、および/または、実行する手段となるよう使用することができる。また、I/Oコントローラ520は、本開示に記載される他の工程および特徴を実行する、および/または、実行する手段となるよう使用することができる。通信インターフェース522は、例示的なコンピューティングシステム510と1つまたは複数の追加のデバイスとの間の通信を容易にすることが可能な任意のタイプまたは形式の通信デバイスまたはアダプタを幅広く表す。例えば、ある実施形態では、通信インターフェース522は、コンピューティングシステム510と追加のコンピューティングシステムを含むプライベートまたはパブリックネットワークとの間の通信を容易にすることができる。通信インターフェース522の例としては、これらに限定されないが、有線ネットワークインターフェースネットワークインターフェースカードなど、無線ネットワークインターフェース無線ネットワークインターフェースカードなど、モデムおよび任意の他の適切なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース522は、インターネットなどのネットワークへの直接リンクを介してリモートサーバとの直接接続を実現することができる。また、通信インターフェース522は、例えば、ローカルエリアネットワークイーサネットネットワークなど、パーソナルエリアネットワーク、電話もしくはケーブルネットワーク、携帯電話接続、衛星データ接続または任意の他の適切な接続を通じて、そのような接続を間接的に実現することもできる。また、ある実施形態では、通信インターフェース522は、外部のバスまたは通信チャネルを介してコンピューティングシステム510と1つまたは複数の追加のネットワークまたは記憶装置との間の通信を容易にするよう構成されたホストアダプタを表す場合もある。ホストアダプタの例としては、これらに限定されないが、SCSIホストアダプタ、USBホストアダプタ、IEEE1394ホストアダプタ、SATAおよびeSATAホストアダプタ、ATAおよびPATAホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネットアダプタまたは同様のものが挙げられる。また、通信インターフェース522は、コンピューティングシステム510が分配されたコンピューティングまたはリモートコンピューティングに参加することを可能にする場合もある。例えば、通信インターフェース522は、実行のためにリモートデバイスから命令を受け取るか、または、リモートデバイスに命令を送信することができる。ある実施形態では、通信インターフェース522は、単独でまたは他の要素と組み合わせて、本明細書に開示される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシング工程の1つもしくは複数を実行することができる、および/または、実行する手段となり得る。また、通信インターフェース522は、本開示に記載される他の工程および特徴を実行する、および/または、実行する手段となるよう使用することができる。図5で示されるように、コンピューティングシステム510は、ディスプレイアダプタ526を介して通信インフラ512と結合される少なくとも1つのディスプレイデバイス524も含み得る。一般に、ディスプレイデバイス524は、ディスプレイアダプタ526によって転送された情報を視覚的に表示することが可能な任意のタイプまたは形式のデバイスを表す。同様に、ディスプレイアダプタ526は、一般に、ディスプレイデバイス524上で表示するため、通信インフラ512からまたは、当技術分野で公知のフレームバッファからグラフィックス、テキストおよび他のデータを転送するよう構成された任意のタイプまたは形式のデバイスを表す。また、図5で示されるように、例示的なコンピューティングシステム510は、入力インターフェース530を介して通信インフラ512と結合される少なくとも1つの入力デバイス528も含み得る。一般に、入力デバイス528は、例示的なコンピューティングシステム510へのコンピュータまたは人間が生成した入力を提供することが可能な任意のタイプまたは形式の入力デバイスを表す。入力デバイス528の例としては、これらに限定されないが、キーボード、ポインティングデバイス、音声認識デバイスまたは任意の他の入力デバイスが挙げられる。少なくとも1つの実施形態では、入力デバイス528は、単独でまたは他の要素と組み合わせて、本明細書に開示される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシング工程の1つもしくは複数を実行することができる、および/または、実行する手段となり得る。また、入力デバイス528は、本開示に記載される他の工程および特徴を実行する、および/または、実行する手段となるよう使用することもできる。また、図5で示されるように、例示的なコンピューティングシステム510は、ストレージインターフェース534を介して通信インフラ512と結合される一次記憶装置532およびバックアップ記憶装置533も含み得る。一般に、記憶装置532および533は、データおよび/または他のコンピュータ可読命令を格納することが可能な任意のタイプまたは形式の記憶装置または媒体を表す。例えば、記憶装置532および533は、磁気ディスクドライブ例えば、いわゆるハードドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブまたは同様のものであり得る。一般に、ストレージインターフェース534は、記憶装置532および533とコンピューティングシステム510の他のコンポーネントとの間でデータを転送するための任意のタイプまたは形式のインターフェースまたはデバイスを表す。一例では、図1のファイル属性データベース120は、一次記憶装置532に格納することができる。ある実施形態では、記憶装置532および533は、コンピュータソフトウェア、データまたは他のコンピュータ可読情報を格納するよう構成されたリムーバブルストレージユニットから読み取るおよび/または同リムーバブルストレージユニットに書き込むよう構成され得る。適切なリムーバブルストレージユニットの例としては、これらに限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスまたは同様のものが挙げられる。また、記憶装置532および533は、コンピュータソフトウェア、データまたは他のコンピュータ可読命令をコンピューティングシステム510にロードすることを可能にするための他の同様の構造またはデバイスも含み得る。例えば、記憶装置532および533は、ソフトウェア、データまたは他のコンピュータ可読情報を読み取るおよび書き込むよう構成され得る。また、記憶装置532および533は、コンピューティングシステム510の一部であり得るか、または、他のインターフェースシステムを通じてアクセスされる別々のデバイスでもあり得る。ある実施形態では、記憶装置532および533は、例えば、単独でまたは他の要素と組み合わせて、本明細書に開示される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシング工程の1つもしくは複数を実行する、および/または、実行する手段となるよう使用することができる。また、記憶装置532および533は、本開示に記載される他の工程および特徴を実行する、および/または、実行する手段となるよう使用することもできる。また、他の多くのデバイスまたはサブシステムを、コンピューティングシステム510に接続することができる。逆に、図5で示されるコンポーネントおよびデバイスのすべてが、本明細書に記載されるおよび/または示される実施形態を実施するために必ずしも存在しているわけではない。また、上記で言及されたデバイスおよびサブシステムは、図5で示されるものとは異なる形で相互接続することもできる。また、コンピューティングシステム510は、任意の数のソフトウェア、ファームウェアおよび/またはハードウェア構成を使用することもできる。例えば、本明細書に開示される1つまたは複数の例示的な実施形態は、コンピュータ可読媒体上でコンピュータプログラムコンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令またはコンピュータ制御論理とも呼ばれるとして符号化することができる。語句コンピュータ可読媒体は、一般に、コンピュータ可読命令を格納または送達することが可能な任意の形式のデバイス、キャリアまたは媒体を指す。コンピュータ可読媒体の例としては、これらに限定されないが、搬送波などの伝送型の媒体、ならびに、磁気記憶媒体例えば、ハードディスクドライブおよびフロッピーディスク、光記憶媒体例えば、CD-ROMまたはDVD-ROM、電子記憶媒体例えば、ソリッドステートドライブおよびフラッシュメディアおよび他の分配システムなどの物理的な媒体が挙げられる。コンピュータプログラムが入っているコンピュータ可読媒体は、コンピューティングシステム510にロードすることができる。次いで、コンピュータ可読媒体上に格納されたコンピュータプログラムのすべてまたは一部分は、システムメモリ516ならびに/または記憶装置532および533のさまざまな部分に格納することができる。プロセッサ514によって実行されると、コンピューティングシステム510にロードされたコンピュータプログラムは、プロセッサ514に、本明細書に記載されるおよび/または示される1つもしくは複数の例示的な実施形態の機能を実行させる、および/または、実行する手段となるようにすることができる。それに加えてまたはその代替として、本明細書に記載されるおよび/または示される1つまたは複数の例示的な実施形態は、ファームウェアおよび/またはハードウェアで実施することができる。例えば、コンピューティングシステム510は、本明細書に開示された1つまたは複数の例示的な実施形態を実施するよう適合された特定用途向け集積回路ASICとして構成され得る。図6は、クライアントシステム610、620および630ならびにサーバ640および645をネットワーク650と結合することができる例示的なネットワークアーキテクチャ600のブロック図である。一般に、クライアントシステム610、620および630は、図5の例示的なコンピューティングシステム510などの任意のタイプまたは形式のコンピューティングデバイスまたはシステムを表す。同様に、サーバ640および645は、一般に、さまざまなデータベースサービスを提供するよう構成された、および/または、あるソフトウェアアプリケーションを起動するよう構成された、アプリケーションサーバまたはデータベースサーバなどのコンピューティングデバイスまたはシステムを表す。一般に、ネットワーク650は、例えば、イントラネット、広域ネットワークWAN、ローカルエリアネットワークLAN、パーソナルエリアネットワークPANまたはインターネットを含む任意の電気通信ネットワークまたはコンピュータネットワークを表す。一例では、クライアントシステム610、620および/もしくは630、ならびに/または、サーバ640および/もしくは645は、図1のシステム100を含み得る。図6で示されるように、1つまたは複数の記憶装置6601~Nは、サーバ640に直接取り付けることができる。同様に、1つまたは複数の記憶装置6701~Nは、サーバ645に直接取り付けることができる。記憶装置6601~Nおよび記憶装置6701~Nは、一般に、データおよび/または他のコンピュータ可読命令を格納することが可能な任意のタイプまたは形式の記憶装置または媒体を表す。ある実施形態では、記憶装置6601~Nおよび記憶装置6701~Nは、NFS、SMBまたはCIFSなどのさまざまなプロトコルを使用して、サーバ640および645と通信するよう構成されたネットワーク接続記憶NAS装置を表す場合がある。また、サーバ640および645は、ストレージエリアネットワークSANファブリック680に接続することもできる。一般に、SANファブリック680は、複数の記憶装置間の通信を容易にすることが可能な任意のタイプまたは形式のコンピュータネットワークまたはアーキテクチャを表す。SANファブリック680は、サーバ640および645と複数の記憶装置6901~Nおよび/またはインテリジェントなストレージアレイ695との間の通信を容易にすることができる。また、SANファブリック680は、装置6901~Nおよびアレイ695がクライアントシステム610、620および630にローカルで接続されたデバイスのように見えるように、ネットワーク650ならびにサーバ640および645を介して、クライアントシステム610、620および630と記憶装置6901~Nおよび/またはインテリジェントなストレージアレイ695との通信を容易にすることもできる。記憶装置6601~Nおよび記憶装置6701~Nと同様に、記憶装置6901~Nおよびインテリジェントなストレージアレイ695は、一般に、データおよび/または他のコンピュータ可読命令を格納することが可能な任意のタイプまたは形式の記憶装置または媒体を表す。ある実施形態では、図5の例示的なコンピューティングシステム510に関連して、図5の通信インターフェース522などの通信インターフェースを使用して、各クライアントシステム610、620および630とネットワーク650との間の接続性を提供することができる。クライアントシステム610、620および630は、例えば、ウェブブラウザまたは他のクライアントソフトウェアを使用して、サーバ640または645上の情報にアクセスできる場合がある。そのようなソフトウェアは、クライアントシステム610、620および630がサーバ640、サーバ645、記憶装置6601~N、記憶装置6701~N、記憶装置6901~Nまたはインテリジェントなストレージアレイ695によってホスティングされるデータにアクセスすることを可能にすることができる。図6はデータを交換するためのネットワークインターネットなどの使用について示すが、本明細書に記載されるおよび/または示される実施形態は、インターネットまたは任意の特定のネットワークベースの環境に限定されない。少なくとも1つの実施形態では、本明細書に開示される1つまたは複数の例示的な実施形態のすべてまたは一部分は、コンピュータプログラムとして符号化することができ、サーバ640、サーバ645、記憶装置6601~N、記憶装置6701~N、記憶装置6901~N、インテリジェントなストレージアレイ695またはそれらの任意の組合せにロードし、これらによって実行することができる。また、本明細書に開示される1つまたは複数の例示的な実施形態のすべてまたは一部分は、コンピュータプログラムとして符号化することができ、サーバ640に格納し、サーバ645によって起動し、ネットワーク650上でクライアントシステム610、620および630に分配することもできる。それに応じて、ネットワークアーキテクチャ600は、単独でまたは他の要素と組み合わせて、本明細書に開示される実行、挿入、保守、指示、格納、追加、プログラミング、持ち込み、受け取り、提供、インストールおよびハッシング工程の1つもしくは複数を実行することができる、および/または、実行する手段となり得る。また、ネットワークアーキテクチャ600は、本開示に記載される他の工程および特徴を実行する、および/または、実行する手段となるよう使用することもできる。上記で詳細に説明されるように、コンピューティングシステム510および/またはネットワークアーキテクチャ600の1つまたは複数のコンポーネントは、単独でまたは他の要素と組み合わせて、仮想マシン間で分析の結果を共有するための例示的な方法の1つまたは複数の工程を実行することができる、および/または、実行する手段となり得る。前述の開示は特定のブロック図、フローチャートおよび例を使用してさまざまな実施形態について記載しているが、本明細書に記載されるおよび/または示される各ブロック図のコンポーネント、フローチャートの工程、オペレーションおよび/またはコンポーネントは、広範囲にわたるハードウェア、ソフトウェアまたはファームウェアまたは、それらの任意の組合せ構成を使用して、個別におよび/または一括して実装することができる。さらに、他のコンポーネント内に含まれるコンポーネントのいかなる開示も、他の多くのアーキテクチャを実装して同じ機能性を達成することができるため、本来は例示的なものであると見なすべきである。本明細書に記載されるおよび/または示されるプロセスパラメータおよび工程の順序は単なる例示として与えられるものであり、要望通り変更することができる。例えば、本明細書に示されるおよび/または記載される工程は特定の順番で示されるまたは論じられる場合があるが、これらの工程は、必ずしも示されるまたは論じられる順番で実行する必要があるわけではない。本明細書に記載されるおよび/または示されるさまざまな例示的な方法は、本明細書に記載されるまたは示される工程の1つもしくは複数を省略することも、開示される工程に加えて追加の工程を含めることもできる。完全に機能的なコンピューティングシステムとの関連でさまざまな実施形態が本明細書に記載されるおよび/または示されるが、これらの例示的な実施形態の1つまたは複数は、実際に分配を行うために使用される特定のタイプのコンピュータ可読媒体に関わらず、プログラム製品としてさまざまな形式で分配され得る。また、本明細書に開示される実施形態は、ある一定のタスクを実行するソフトウェアモジュールを使用して実施することもできる。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体上またはコンピューティングシステムに格納することができるスクリプト、バッチまたは他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の1つまたは複数を実行するようコンピューティングシステムを構成することができる。さらに、本明細書に記載される1つまたは複数のモジュールは、データ、物理的デバイスおよび/または物理的デバイスの表現をある形式から別の形式へ変換することができる。例えば、図1の走査モジュール104は、図2のマスタローカルストア214および/または共有ストア220の特性または特徴を、そのようなストア内の走査モジュール104によって実行された分析の結果を更新または格納することによって、変換することができる。先の説明は、当業者が本明細書に開示される例示的な実施形態のさまざまな態様を最良に利用できるよう提供されている。この例示的な説明は、包括的であるまたは開示される形式と全く同一の形式に限定することを意図しない。多くの変更形態および変形形態を、本開示の精神および範囲から逸脱することなく作成することができる。本明細書に開示される実施形態は、すべての点において、限定的なものではなく例示的なものとして見なされるべきである。本開示の範囲を決定する際には、添付の特許請求の範囲およびその均等物を参照すべきである。特に断りのない限り、本明細書および特許請求の範囲で使用される単数形aまたはanは、少なくとも1つのatleastoneofの意味に解釈されるものとする。さらに、使い易さを考慮して、本明細書および特許請求の範囲で使用される語含むincludingおよび有するhavingは、語備える、含むcomprisingと交換可能であり、同語と同じ意味を有する。