(57)【要約】【課題】ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを効果的に管理するシステム、装置及び方法を提供すること。【解決手段】本発明の一態様は、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサに接続される少なくとも１つのメモリと、ネットワークインタフェースコンポーネントと、管理コントローラとを有するプロセッサベースシステムであって、前記管理コントローラは、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、前記サブスクリプションリクエストに基づき前記ネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、前記コンフィギュレーション情報を前記ネットワークインタフェースコンポーネントに提供するよう構成されるシステムに関する。【選択図】図１
2010157226.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続される少なくとも１つのメモリと、
ネットワークインタフェースコンポーネントと、
管理コントローラと、
を有するプロセッサベースシステムであって、
前記管理コントローラは、
バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、
前記サブスクリプションリクエストに基づき前記ネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、
前記コンフィギュレーション情報を前記ネットワークインタフェースコンポーネントに提供する、
よう構成されるシステム。
【請求項２】
前記バーチャルマシーンは、ＶＩＮＡ（Ｖｉｒｔｕａｌ  Ｉｎｌｉｎｅ  Ｎｅｔｗｏｒｋ  Ａｐｐｌｉａｎｃｅ）を有し、
前記ＶＩＮＡは、前記サブスクリプションリクエストを直接発行する、請求項１記載のシステム。
【請求項３】
当該システムは、複数のＶＩＮＡを有し、
前記管理コントローラは、
前記複数のＶＩＮＡからサブスクリプションリクエストを受信し、
前記複数のＶＩＮＡから受信したすべてのサブスクリプションリクエストに基づき前記ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し、
前記フィルタコンフィギュレーションを前記ネットワークインタフェースコンポーネントに適用する、
よう構成される、請求項２記載のシステム。
【請求項４】
前記ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、
前記管理コントローラは、前記コンフィギュレーション情報を前記ハードウェアメールボックスを介し前記ネットワークインタフェースコンポーネントに提供する、請求項１記載のシステム。
【請求項５】
前記管理コントローラは、前記コンフィギュレーション情報をネットワークプロトコルを介し前記ネットワークインタフェースコンポーネントに提供する、請求項１記載のシステム。
【請求項６】
サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応する、請求項１記載のシステム。
【請求項７】
前記コンフィギュレーションビットは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）により設定される、請求項６記載のシステム。
【請求項８】
前記管理コントローラはさらに、前記バーチャルマシーンが移された場合、前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させるよう構成される、請求項１記載のシステム。
【請求項９】
前記移行は、外部スイッチからの信号に応答して実行される、請求項８記載のシステム。
【請求項１０】
コントローラとコードとを有する管理コントローラであって、
前記コードが前記コントローラにより実行されると、当該管理コントローラは、
バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、
前記サブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、
前記コンフィギュレーション情報を前記ネットワークインタフェースコンポーネントに提供する、
よう構成される管理コントローラ。
【請求項１１】
前記バーチャルマシーンは、ＶＩＮＡ（Ｖｉｒｔｕａｌ  Ｉｎｌｉｎｅ  Ｎｅｔｗｏｒｋ  Ａｐｐｌｉａｎｃｅ）を有し、
前記ＶＩＮＡは、前記サブスクリプションリクエストを直接発行する、請求項１０記載の管理コントローラ。
【請求項１２】
前記管理コントローラは、
複数のＶＩＮＡからサブスクリプションリクエストを受信し、
前記複数のＶＩＮＡから受信したすべてのサブスクリプションリクエストに基づき、前記ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し、
前記フィルタコンフィギュレーションを前記ネットワークインタフェースコンポーネントに適用する、
よう構成される、請求項１１記載の管理コントローラ。
【請求項１３】
前記ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、
当該管理コントローラは、前記コンフィギュレーション情報を前記ハードウェアメールボックスを介し前記ネットワークインタフェースコンポーネントに提供する、請求項１０記載の管理コントローラ。
【請求項１４】
当該管理コントローラは、前記コンフィギュレーション情報をネットワークプロトコルを介し前記ネットワークインタフェースコンポーネントに提供する、請求項１０記載の管理コントローラ。
【請求項１５】
サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応する、請求項１０記載の管理コントローラ。
【請求項１６】
前記コンフィギュレーションビットは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）により設定される、請求項１５記載の管理コントローラ。
【請求項１７】
当該管理コントローラはさらに、前記バーチャルマシーンが移された場合、前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させるよう構成される、請求項１０記載の管理コントローラ。
【請求項１８】
前記移行は、外部スイッチからの信号に応答して実行される、請求項１７記載の管理コントローラ。
【請求項１９】
ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する方法であって、
管理コントローラにおいて、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信するステップと、
前記管理コントローラにおいて、前記サブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成するステップと、
前記コンフィギュレーション情報を前記管理コントローラから前記ネットワークインタフェースコンポーネントに提供するステップと、
を有する方法。
【請求項２０】
前記受信するステップは、前記管理コントローラにおいて、ＶＩＮＡ（Ｖｉｒｔｕａｌ  Ｉｎｌｉｎｅ  Ｎｅｔｗｏｒｋ  Ａｐｐｌｉａｎｃｅ）から前記サブスクリプションリクエストに関する情報を受信する、請求項１９記載の方法。
【請求項２１】
複数のＶＩＮＡからサブスクリプションリクエストを受信するステップと、
前記複数のＶＩＮＡから受信したすべてのサブスクリプションリクエストに基づき、前記ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成するステップと、
前記フィルタコンフィギュレーションを前記ネットワークインタフェースコンポーネントに適用するステップと、
をさらに有する、請求項２０記載の方法。
【請求項２２】
前記ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、
前記コンフィギュレーション情報を提供するステップは、前記コンフィギュレーション情報を前記ハードウェアメールボックスを介し前記管理コントローラから前記ネットワークインタフェースコンポーネントに提供する、請求項１９記載の方法。
【請求項２３】
前記コンフィギュレーション情報を提供するステップは、前記コンフィギュレーション情報をネットワークプロトコルを介し前記管理コントローラから前記ネットワークインタフェースコンポーネントに提供する、請求項１９記載の方法。
【請求項２４】
サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応する、請求項１９記載の方法。
【請求項２５】
前記コンフィギュレーションビットは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）により設定される、請求項１９記載の方法。
【請求項２６】
前記バーチャルマシーンが移された場合、前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させるステップをさらに有する、請求項１９記載の方法。
【請求項２７】
前記移行させるステップは、外部スイッチからの信号に応答して前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させる、請求項２６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーチャルマシーンに関する。より詳細には、本発明の実施例は、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法に関する。
【背景技術】
【０００２】
仮想化技術は、単一のシステムがバーチャルマシーン（ＶＭ）において複数のゲストオペレーティングシステムを実行することを可能にする。このようなＶＭは、ＴＣＰ／ＩＰなどの標準的なネットワーキングプロトコルを介し互いに及び他の物理的マシーンと通信する。一部のシステムは、ＶＭにおいてネットワーク装置を提供する。このようなＶＭベースのネットワーク装置は、ＶＩＮＡ（Ｖｉｒｔｕａｌ  Ｉｎｌｉｎｅ  Ｎｅｔｗｏｒｋ  Ａｐｐｌｉａｎｃｅ）と呼ばれる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、上述した問題点に鑑み、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを効果的に管理するシステム、装置及び方法を提供することである。
【課題を解決するための手段】
【０００４】
本発明の一態様は、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサに接続される少なくとも１つのメモリと、ネットワークインタフェースコンポーネントと、管理コントローラとを有するプロセッサベースシステムであって、前記管理コントローラは、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、前記サブスクリプションリクエストに基づき前記ネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、前記コンフィギュレーション情報を前記ネットワークインタフェースコンポーネントに提供するよう構成されるシステムに関する。
【発明の効果】
【０００５】
本発明によると、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを効果的に管理するシステム、装置及び方法を提供することができる。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明の実施例による電子システムのブロック図である。
【図２】図２は、本発明の実施例による管理コントローラのブロック図である。
【図３】図３は、本発明の実施例によるフロー図である。
【図４】図４は、本発明の実施例による他のフロー図である。
【図５】図５は、本発明の実施例による他のフロー図である。
【図６】図６は、本発明の実施例による他のフロー図である。
【図７】図７は、本発明の実施例による他のフロー図である。
【図８】図８は、本発明の実施例による他の電子システムのブロック図である。
【図９】図９は、本発明の実施例による他の電子システムのブロック図である。
【図１０】図１０は、本発明の実施例による他の電子システムのブロック図である。
【図１１】図１１は、本発明の実施例による他のフロー図である。
【発明を実施するための形態】
【０００７】
以下の説明では、限定することなく説明のため、特定の構造、アーキテクチャ、インタフェース、技術などの具体的詳細が、本発明の各種態様の完全な理解を提供するために与えられる。しかしながら、本発明の各種態様はこれらの具体的詳細から逸脱した他の実施例により実現可能であることは、本開示の利益を有する当業者に明らかであろう。ある実施例では、周知の装置、回路及び方法の説明は、不要な詳細により本発明の説明を不明りょうにしないように省略される。
【０００８】
図１を参照するに、本発明の実施例によるプロセッサベースシステム１０は、少なくとも１つのプロセッサ１１と、当該プロセッサ１１に接続される少なくとも１つのメモリ１２と、ネットワークインタフェースコンポーネント（ＮＩＣ）１３と、管理コントローラ１４とを有する。例えば、管理コントローラ１４は、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、サブスクリプションリクエストに基づきネットワークインタフェースコンポーネント１３のコンフィギュレーション情報を生成し、コンフィギュレーション情報をネットワークインタフェースコンポーネント１３に提供するよう構成される。例えば、バーチャルマシーンは、ＶＩＮＡを有してもよく、ＶＩＮＡが、サブスクリプションリクエストを直接（管理コントローラ１４などに）発行するようにしてもよい。本発明の実施例では、システム１０は、複数のＶＩＮＡを有してもよく、管理コントローラ１４は、複数のＶＩＮＡからサブスクリプションリクエストを受信し、複数のＶＩＮＡから受信したすべてのサブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネント１３のフィルタコンフィギュレーションを生成し、このフィルタコンフィギュレーションをネットワークインタフェースコンポーネント１３に適用するよう構成されてもよい。
【０００９】
例えば、ネットワークインタフェースコンポーネント１３はハードウェアメールボックス１５を有し、管理コントローラ１４は、ハードウェアメールボックス１５を介しネットワークインタフェースコンポーネント１３にコンフィギュレーション情報を提供するようにしてもよい。本発明の実施例では、管理コントローラ１４は、ネットワークプロトコルを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する。
【００１０】
例えば、本発明の実施例では、サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されるコンフィギュレーションビットに対応するものであってもよい。例えば、コンフィギュレーションビットは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）により設定されてもよい。例えば、本発明の実施例では、管理コントローラ１４はさらに、バーチャルマシーンが移動された場合、ネットワークインタフェースコンポーネント１３のコンフィギュレーションに関する情報をマイグレート又は移行するよう構成されてもよい。例えば、このマイグレーション又は移行は、外部スイッチからの信号に応答して実行されてもよい。
【００１１】
図２を参照するに、管理コントローラ２０は、コントローラ２１とコード２２とを有し、コード２２がコントローラ２１により実行されると、管理コントローラ２０は、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、サブスクリプションリクエストに基づきネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、コンフィギュレーション情報をネットワークインタフェースコンポーネントに提供するよう構成される。例えば、コントローラ２１は、マイクロコントローラ（特定用途プロセッサなどを含む）であってもよい。例えば、コード２２は、メモリに格納されているファームウェアを有してもよい。例えば、メモリは、コントローラ２１と同じ集積回路に配置されてもよい。
【００１２】
例えば、本発明の実施例では、バーチャルマシーンはＶＩＮＡを有してもよく、ＶＩＮＡはサブスクリプションリクエストを直接発行するようにしてもよい。例えば、管理コントローラ２０は、複数のＶＩＮＡからサブスクリプションリクエストを受信し、複数のＶＩＮＡから受信したすべてのサブスクリプションリクエストに基づきネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し、ネットワークインタフェースコンポーネントにフィルタコンフィギュレーションを適用するよう構成されてもよい。
【００１３】
例えば、本発明の実施例では、ネットワークインタフェースコンポーネントはハードウェアメールボックスを有し、管理コントローラ２０は、ハードウェアメールボックスを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供するようにしてもよい。例えば、本発明の実施例では、管理コントローラ２０は、ネットワークプロトコルを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供するようにしてもよい。
【００１４】
例えば、本発明の実施例では、サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されるコンフィギュレーションビットに対応するものであってもよい。例えば、コンフィギュレーションビットは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）により設定されてもよい。例えば、本発明の実施例では、管理コントローラ２０はさらに、バーチャルマシーンが移動された場合、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報をマイグレート又は移行するよう構成されてもよい。例えば、このマイグレーション又は移行は、外部スイッチからの信号に応答して実行されてもよい。
【００１５】
図３を参照するに、本発明の実施例によると、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する方法は、管理コントローラにおいてバーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し（ブロック３０などにおいて）、サブスクリプションリクエストに基づき管理コントローラにおいてネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し（ブロック３１などにおいて）、管理コントローラからネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する（ブロック３２などにおいて）ことを含む。例えば、サブスクリプションリクエストに関する情報の受信は、管理コントローラにおいてＶＩＮＡからサブスクリプションリクエストに関する情報を受信する（ブロック３３などにおいて）ことを含むものであってもよい。本発明の実施例はさらに、複数のＶＩＮＡからサブスクリプションリクエストを受信し（ブロック３４などにおいて）、複数のＶＩＮＡから受信したすべてのサブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し（ブロック３５などにおいて）、フィルタコンフィギュレーションをネットワークインタフェースコンポーネントを適用する（ブロック３６などにおいて）を含むようにしてもよい。
【００１６】
図４を参照するに、本発明の実施例では、ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、管理コントローラからネットワークインタフェースコンポーネントへのコンフィギュレーション情報の提供は、管理コントローラからハードウェアメールボックスを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する（ブロック４０などにおいて）ことを含むものであってもよい。
【００１７】
図５を参照するに、本発明の実施例では、管理コントローラからネットワークインタフェースコンポーネントへのコンフィギュレーション情報の提供は、管理コントローラからネットワークプロトコルを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する（ブロック５０などにおいて）ことを含むものであってもよい。
【００１８】
図６を参照するに、本発明の実施例では、サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応するものであってもよい（ブロック６０などにおいて）。例えば、コンフィギュレーションビットは、ＢＩＯＳにより設定されてもよい（ブロック６１などにおいて）。
【００１９】
図７を参照するに、本発明の実施例はさらに、バーチャルマシーンが移動された場合、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報をマイグレート又は移行することを含むものであってもよい（ブロック７０などにおいて）。例えば、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報のマイグレート又は移行は、外部スイッチからの信号に応答して、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報をマイグレート又は移行することを含むものであってもよい（ブロック７１などにおいて）。
【００２０】
本発明の実施例は、仮想化技術、ネットワーク検査及び／又は１０ギガビットイーサネット（登録商標）などの高速ネットワークプロトコルを備えたユーティリティを求めるようにしてもよい。例えば、仮想化技術の適用は、単一のサーバがバーチャルマシーン（ＶＭ）において複数のゲストオペレーティングシステムを実行することを可能にするものであってもよい。このようなＶＭは、ＴＣＰ／ＩＰなどの標準的なネットワーキングプロトコルを介し互いに及び他の物理的マシーンと通信可能である。効率性のため、ＶＭ間の通信は、データセンタの残りに入らないことを望ましいかもしれない。しかしながら、データセンタのセキュリティのため、ＶＭ間のトラフィックをモニタすることが必要又は所望されるかもしれない（ＶＩＮＡなどによって）。
【００２１】
例えば、ＶＩＮＡは、検査対象のＶＭ間の通信の中間に自ら入るようにしてもよい。例えば、バーチャルマシーンモニタ（ＶＭＭ）は、ネットワークＩＯＶＭ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）モデルを用いて、バーチャルＮＩＣをゲストＶＭに公開するようにしてもよい。すべてのＶＭ間通信は、プラットフォーム上の１つの論理エンティティ、すなわち、ＩＯＶＭを通過するようにしてもよく、その後、ＩＯＶＭはパケットをセキュリティ装置にルーティングすることが可能である。セキュリティ装置は、ＶＭＭ間で異なるかもしれないコンフィギュレーションインタフェースを介しパケットタイプと契約又はサブスクライブ（ｓｕｂｓｃｒｉｂｅ）する必要がある。
【００２２】
他の実施例では、プラットフォームは、ＳＲ−ＩＯＶ（Ｓｉｎｇｌｅ  Ｒｏｏｔ−Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）対応のＮＩＣを有してもよい。ＳＲ−ＩＯＶによって、ＶＭＭはバーチャルＮＩＣをＶＭに公開する必要がなくなる。その代わり、ＶＭＭは、ＶＭにより直接制御可能なバーチャル化ハードウェアキューであるバーチャルファンクション（ＶＦ）を公開するようにしてもよい。この場合、ＶＭがＶＩＮＡ機能を有する場合、ＶＭは依然としてＶＭＭが設けられたＡＰＩ／インタフェースを介し契約する必要があり、このＡＰＩ／インタフェースは、その後にＶＭＭにより制御されるＮＩＣ  ＰＦ（Ｐｈｙｓｉｃａｌ  Ｆｕｎｃｔｉｏｎ）を介しフィルタを構成する。ＶＭＭ（又はドライバＶＭ）は、ＶＩＮＡがパケット及びパケットイベントについて契約することを可能にするためのＡＰＩを提供する。その後、ハイパーバイザは、登録されている各種インラインアプライアンスからの照合リクエストに基づき、ＮＩＣ物理的ファンクションを構成する。
【００２３】
効果的には、本発明の実施例は、ＶＩＮＡがパケットフローをＶＭＭが設けられたインタフェースに依存することなく直接契約することができるように、ＳＲ−ＩＯＶ対応のＮＩＣを構成するハードウェア指向の方法を提供する。効果的には、本発明の実施例は、コンフィギュレーションコードをマイクロコントローラファームウェアに隔離することによって、コンフィギュレーションアプローチのセキュリティを向上させ、及び／又は必要とされる有効化を減少させるものであるかもしれない。効果的には、本発明の実施例はまた、ＶＭが１つのサーバから他のサーバに移動されたとき、物理的装置がネットワークスイッチから管理マイクロコントローラとのコンフィギュレーションインタフェースを介しＮＩＣにセキュリティポリシーを移動することができるように、物理的ネットワーク装置がＶＩＮＡ対応のプラットフォームとやりとりすることを可能にするものであってもよい。
【００２４】
図８を参照するに、サーバプラットフォームは、２以上のゲストＯＳ（１〜ｎと番号付けされる）、２以上のＶＩＮＡ（１〜Ｎと番号付けされる）と、ＶＭＭと、２以上のＶＦ及びＰＦを有するＮＩＣと、ＮＩＣに接続されるＳＭＣとを有してもよい。ＮＩＣはまた、ＩＴコンソールとネットワークスイッチ／ファイアウォールとに接続されてもよい。例えば、本発明の実施例では、特定のパケット又はフローを受信することを所望するＶＩＮＡが、これらのパケットタイプに対するサブスクリプションを発行するようにしてもよい。これらのサブスクリプションメッセージは、ＶＭＭによりＶＩＮＡに割り当てられたバーチャルファンクション（チャネル）を介し送信されてもよい。サブスクリプションメッセージは、その後、ネットワークインタフェース上のハードウェアフィルタを用いて、ＳＭＣ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）にルーティングされてもよい。例えば、ＶＩＮＡは、ＳＭＣを介しそれのフィルタコンフィギュレーションを選択するかもしれない。例えば、ＳＭＣは、内部バスを介しプラットフォーム上のシステムデバイスを管理するのに利用可能なマイクロコントローラであってもよい。ＳＭＣはまた、ＳＭＣを介しプラットフォーム上のデバイスを安全に構成可能な管理コンソール及びプラットフォームの外部のデバイスと通信することを可能にするネットワークスタックを有してもよい。
【００２５】
本発明の実施例では、ＳＭＣは、プラットフォーム上にあるすべてのＶＩＮＡからサブスクリプションを受信し、物理的ファンクションを介し（又はＳＭＣのみがアクセス可能な内部の管理バスなどを介し）ＮＩＣに適用される最終的なフィルタコンフィギュレーションを生成するようにしてもよい。例えば、図８のルート１及びルート２は、ＳＭＣにより生成される２つのサンプルルーティングコンフィギュレーションに対応するものであってもよい。
【００２６】
例えば、本発明の実施例では、ＶＩＮＡは、それに送信されるパケットを明示的に契約してもよい。例えば、可能な各種レベルのダイナミックコンフィギュレーションが存在するかもしれない。シンプルな一例となるコンフィギュレーションでは、ＶＩＮＡは、すべてのパケットがそれの特定のバーチャルファンクションを介し送信されるよう要求するかもしれない。先進的な一例となるコンフィギュレーションでは、ＶＩＮＡは、フィルタコンフィギュレーションを発行することによって、特定タイプのパケットしかそれに送信されないように要求するかもしれない。
【００２７】
効果的には、本発明の実施例は、ＮＩＣが直接的なコンフィギュレーションを可能にするための直接的なハードウェア実現形態を提供する。例えば、本発明の実施例では、ＶＦ−ＰＦハードウェアメールボックスは、コンフィギュレーションリクエストをＮＩＣに送信するのに利用されてもよい。例えば、ハードウェアメールボックスは、ＳＲ−ＩＯＶ対応のＮＩＣに設けられてもよい。例えば、本発明の実施例では、ネットワークプロトコルは、プラットフォーム上のＮＩＣとＳＭＣとの間で情報をやりとりするのに利用されてもよい。ＮＩＣは、その後、ＶＩＮＡサブスクリプションに対応するＳＭＣから受信した情報に基づき、フィルタを構成可能である。
【００２８】
例えば、インバンドコンフィギュレーション方法は、ＮＩＣのフィルタを用いてトラフィックを以下のようにＳＭＣにリダイレクトすることによって、サポート可能である。ＳＭＣは、確保されているポート及びＬ３デスティネーションアドレスをＮＩＣハードウェアのＭＮＧフィルタフィールドにプログラムする。ＶＭＭは、ＮＩＣ  ＶＦをインライン奏しＶＭに（ＶＴ−ｄを介し）直接割り当てる。スタートアップ時、ＶＩＮＡは、装置の動作のためＮＩＣのセキュアなコンフィギュレーションに使用するために、それのサブスクリプションルール、確保されているポート及びＬ３／Ｌ４デスティネーションアドレスを安全に取得するため、それの管理サービスに接続する。装置はまた、使用するＬ３／Ｌ４アドレスと確保されているポートにより静的に構成されてもよい。スタートアップ時、ＳＭＣは、ローカルプラットフォームから送信され、ＳＭＣにルーティングされるようにこの基準に一致するトラフィックをルーティングするようにＮＩＣフィルタを構成する。ＶＩＮＡはまた、それがＶＩＮＡ対応のプラットフォームＮＩＣを構成していることを確保できるように、ＳＭＣと相互に認証するのに必要なセキュリティ秘密（例えば、証明書や共有キーなど）を取得し、ＳＭＣは、ＶＩＮＡがプラットフォーム上のＶＭ間トラフィックのルーティングを構成するよう承認されていることを認証可能である。ＶＩＮＡはマイグレートされる場合、それは、マイグレートされたデスティネーションハードウェアプラットフォーム上の新たなＮＩＣのために上記処理を繰り返す。
【００２９】
その後、ＶＩＮＡは、検査することを所望するパケットのサブスクリプションをネットワークフィルタコンフィギュレーションを含むパケットに用意し、ＶＭＭによりそれに割り当てられたバーチャルファンクションを介し確保されたポート及びデスティネーションアドレスにコンフィグレーションパケットを送信するようにしてもよい。これらのサブスクリプションパケットはＳＭＣにルーティングされ、ＳＭＣは、ＮＩＣに対する最終的なフィルタリストを生成する前に、すべてのＶＩＮＡからサブスクリプション情報を収集する。ＳＭＣは、ＮＩＣとの直接的なコンフィギュレーションインタフェースを介しＮＩＣをプログラムする。ＶＩＮＡがサブスクリプションアップデートメッセージを介しフィルタを更新又は削除した場合、ＳＭＣは、サブスクリプションが他のルート上で行う変更を反映させるため、複数のフィルタを更新する必要があるかもしれない。さらに、ＳＭＣファームウェアは、ＶＩＮＡからの重複するコンフィギュレーションについてフィルタを合成及び排除し、コンフリクトを検出し、プラットフォーム上のコントロールＶＭ又は管理コンソールに報告する（ルールは排除可能でないか、又は優先的なコンフリクトが存在する場合）。
【００３０】
効果的には、悪意的なＶＭは、管理可能性によりフィルタリングされたトラフィックはホスト（又はＶＭＭ）に転送されないため、セキュリティ秘密、確保されたポート（１６ビット）及びＩＰｖ４又はＩＰｖ６  Ｌ３／Ｌ４アドレス（３２又は１２８ビット）にアクセスすることができなくなる。
【００３１】
本発明の実施例では、黙示的なサブスクリプションリクエスト及びコンフィギュレーションは、ＶＦがＶＩＮＡ機能のために利用されるのを可能にするため、ＢＩＯＳなどのシステムソフトウェアにより実行されてもよい。例えば、サブスクリプションは、ＶＦコンフィギュレーションに対するコンフィギュレーションビットを設定することによって生成されてもよい。例えば、ＶＦがＶＩＮＡ対応として特定されると、ＶＩＮＡはＮＩＣルーティングコンフィギュレーションに追加され、これにより、トラフィックがＶＩＮＡに流れることを意味するかもしれない。
【００３２】
図９及び１０を参照するに、本発明の実施例では、外部スイッチ（又は物理的装置）は、ＳＭＣインタフェースを使用して、通信中のＶＭ双方が同じプラットフォームに移動されるとき、ＶＭ−ＶＭルールをプラットフォームＮＩＣに移動するようにしてもよい。反対のケースでは、ＶＩＮＡ  ＶＭが他のプラットフォームにマイグレートされると、第１プラットフォーム上のＳＭＣは、ＶＩＮＡフィルタサブスクリプションを新たなＮＩＣ物理的ファンクションに移動させるため、他方のプラットフォーム上のＳＭＣとコンタクトするようにしてもよく、これにより、ＶＩＮＡ  ＶＭがデスティネーションプラットフォーム上で再開されるとすぐに、トラフィックが正しく流れる。
【００３３】
図１１を参照するに、本発明の実施例は、ＮＩＣを初期化し、ＶＦをＶＩＮＡに割り当てる（ブロック１１０などにおいて）ことに関する。ＳＭＣは、ＶＭ又はネットワークからパケットを受信する（ブロック１１１などにおいて）。ＳＭＣは、パケットが管理パケットであるかチェックするため、パケットを解析する（ブロック１１２などにおいて）。管理パケットでない場合、パケットはＮＩＣフィルタを通過されるか、又はＮＩＣにより処理される（ブロック１１３などにおいて）。パケットが管理パケットである場合、ＳＭＣは、受信したパケットのインテグリティを認証及び確認する（ブロック１１４などにおいて）。パケットが認証成功した場合、ＳＭＣは、管理パケットがＶＩＮＡサブスクリプションであるか判断し、既存のフィルタを介しフィルタを処理する（ブロック１１５などにおいて）。例えば、ＳＭＣは、何れかのフィルタコンフリクトが検出されるか判断する（ブロック１１６などにおいて）。コンフリクトが検出された場合、ＳＭＣは、エラー管理パケットを返す（ブロック１１７などにおいて）。コンフリクトが検出されなかった場合、ＳＭＣは、ＮＩＣ物理的ファンクションを介しＶＩＮＡルーティングコンフィギュレーションとフィルタコンフィギュレーションとをプログラムし（ブロック１１８などにおいて）、サクセス管理パケットを返す（ブロック１１９などにおいて）。
【００３４】
効果的には、本発明の実施例は、ＶＭＭが設けられたインタフェースにあまり依存せず、ＶＭＭベンダー間において変更されてもよい。効果的には、本発明の実施例は、ＶＭＭソフトウェアインタフェースと比較して、悪意のあるソフトウェアからの攻撃にそれ程脆弱ではないかもしれない。例えば、本発明の実施例は、以下の効果の１以上を提供するかもしれない。すなわち、ＭＩＣ機能がＶＩＮＡ  ＶＭに直接公表され、これにより、必要とされる有効化を減少させる。ＶＭＭの攻撃面は、ＮＩＣコンフィギュレーション機能をＳＭＣに隔離することによって減少されるかもしれない。トラフィックの検査なく物理的ネットワークに流すことから、プラットフォーム間で交換されるトラフィックを減少させることによって、ネットワークリンクの利用が改善される。また、ＳＭＣを利用してデスティネーションプラットフォーム上のルールを予め設定することによって、ＶＩＮＡ  ＶＭのマイグレーションを簡単化することができる。
【００３５】
例えば、本発明の実施例は、ＶＭＭがソフトウェアコンフィギュレーションを公開することを要求せず、又はＡＰＩをフィルタリングすることなく、ＶＭ間トラフィックがセキュリティ装置により検査されることを確実にする。例えば、本発明の実施例は、ＳＭＣを用いたＳＲ−ＩＯＶ  ＮＩＣを使用するとき、ＶＩＮＡ間のトラフィックをルーティングする直接的なコンフィギュレーションを提供する。例えば、本発明の実施例は、ＶＩＮＡ  ＶＭがプラットフォームにマイグレートされるとき、スイッチコンフィギュレーションをＮＩＣに自動的に移動することによって、マイグレーションに必要とされるリンク帯域幅を低減させるかもしれない。例えば、本発明の実施例は、ＳＭＣ間通信を利用して、ＶＩＮＡルールのシンプルなマイグレーションを提供するかもしれない。
【００３６】
ここに記載される実施例の多くは特定の環境に関する用語を使用するが、当業者は、本発明がこれらの特定の実施例に限定されず、均等なルーチン及び／又は構造が、セキュリティ機能が所望される他のプロセッサベース環境により実現可能であることを理解するであろう。例えば、一部のアプリケーションでは、ＳＭＣは、他の可能な用語のうちサーバマネージメントコントローラ（Ｓｅｒｖｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）又はサーバ管理可能性コントローラ（Ｓｅｒｖｅｒ  Ｍａｎａｇｅａｂｉｌｉｔｙ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるかもしれない。同様に、ここで言及された各種コンポーネント、コントローラ、バーチャルモジュール、プロトコル及びレジスタは、等価な構成を提供し、等価な機能を実行しながら、他のプラットフォームにおける他の用語により記載されてもよい。当業者は、本開示の利益が与えられると、他の多数の回路とハードウェア及び／又はソフトウェアの組み合わせが、ここに記載される実施例及び本発明の他の実施例に従って各種方法、回路及びシステムを実現するよう構成されてもよいことを理解するであろう。
【００３７】
本発明の上記及び他の特徴は、個別に及び組み合わせて実現される。本発明は、特定の請求項により明示的に要求されない場合、このような特徴の２以上を要求するものとして解釈されるべきでない。さらに、本発明は好適な実施例であると現在考えられているものに関して説明されたが、本発明は開示された実施例に限定されず、本発明の趣旨及び範囲内に含まれる各種変更及び均等な構成をカバーするものであると理解されるべきである。
【符号の説明】
【００３８】
１０  システム
１１  プロセッサ
１２  メモリ
１３  ネットワークインタフェースコントローラ（ＮＩＣ）
１４  管理コントローラ
１５  ハードウェアメールボックス
【図１】
2010157226.tif 000003
【図２】
2010157226.tif 000004
【図３】
2010157226.tif 000005
【図４】
2010157226.tif 000006
【図５】
2010157226.tif 000007
【図６】
2010157226.tif 000008
【図７】
2010157226.tif 000009
【図８】
2010157226.tif 000010
【図９】
2010157226.tif 000011
【図１０】
2010157226.tif 000012
【図１１】
2010157226.tif 000013