JP5203346B2 - ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法 - Google Patents

ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法 Download PDF

Info

Publication number
JP5203346B2
JP5203346B2 JP2009290678A JP2009290678A JP5203346B2 JP 5203346 B2 JP5203346 B2 JP 5203346B2 JP 2009290678 A JP2009290678 A JP 2009290678A JP 2009290678 A JP2009290678 A JP 2009290678A JP 5203346 B2 JP5203346 B2 JP 5203346B2
Authority
JP
Japan
Prior art keywords
network interface
configuration
interface component
management controller
vina
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.)
Active
Application number
JP2009290678A
Other languages
English (en)
Other versions
JP2010157226A (ja
Inventor
サヒタ ラヴィ
ダラム デイヴィッド
ラグナート アルン
ケイ. ラマヌジャン ラージ
サランガム パルタサラティ
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2010157226A publication Critical patent/JP2010157226A/ja
Application granted granted Critical
Publication of JP5203346B2 publication Critical patent/JP5203346B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、バーチャルマシーンに関する。より詳細には、本発明の実施例は、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法に関する。
仮想化技術は、単一のシステムがバーチャルマシーン(VM)において複数のゲストオペレーティングシステムを実行することを可能にする。このようなVMは、TCP/IPなどの標準的なネットワーキングプロトコルを介し互いに及び他の物理的マシーンと通信する。一部のシステムは、VMにおいてネットワーク装置を提供する。このようなVMベースのネットワーク装置は、VINA(Virtual Inline Network Appliance)と呼ばれる。
本発明の課題は、上述した問題点に鑑み、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを効果的に管理するシステム、装置及び方法を提供することである。
本発明の一態様は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに接続される少なくとも1つのメモリと、ネットワークインタフェースコンポーネントと、管理コントローラとを有するプロセッサベースシステムであって、前記管理コントローラは、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、前記サブスクリプションリクエストに基づき前記ネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、前記コンフィギュレーション情報を前記ネットワークインタフェースコンポーネントに提供するよう構成されるシステムに関する。
本発明によると、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを効果的に管理するシステム、装置及び方法を提供することができる。
図1は、本発明の実施例による電子システムのブロック図である。 図2は、本発明の実施例による管理コントローラのブロック図である。 図3は、本発明の実施例によるフロー図である。 図4は、本発明の実施例による他のフロー図である。 図5は、本発明の実施例による他のフロー図である。 図6は、本発明の実施例による他のフロー図である。 図7は、本発明の実施例による他のフロー図である。 図8は、本発明の実施例による他の電子システムのブロック図である。 図9は、本発明の実施例による他の電子システムのブロック図である。 図10は、本発明の実施例による他の電子システムのブロック図である。 図11は、本発明の実施例による他のフロー図である。
以下の説明では、限定することなく説明のため、特定の構造、アーキテクチャ、インタフェース、技術などの具体的詳細が、本発明の各種態様の完全な理解を提供するために与えられる。しかしながら、本発明の各種態様はこれらの具体的詳細から逸脱した他の実施例により実現可能であることは、本開示の利益を有する当業者に明らかであろう。ある実施例では、周知の装置、回路及び方法の説明は、不要な詳細により本発明の説明を不明りょうにしないように省略される。
図1を参照するに、本発明の実施例によるプロセッサベースシステム10は、少なくとも1つのプロセッサ11と、当該プロセッサ11に接続される少なくとも1つのメモリ12と、ネットワークインタフェースコンポーネント(NIC)13と、管理コントローラ14とを有する。例えば、管理コントローラ14は、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、サブスクリプションリクエストに基づきネットワークインタフェースコンポーネント13のコンフィギュレーション情報を生成し、コンフィギュレーション情報をネットワークインタフェースコンポーネント13に提供するよう構成される。例えば、バーチャルマシーンは、VINAを有してもよく、VINAが、サブスクリプションリクエストを直接(管理コントローラ14などに)発行するようにしてもよい。本発明の実施例では、システム10は、複数のVINAを有してもよく、管理コントローラ14は、複数のVINAからサブスクリプションリクエストを受信し、複数のVINAから受信したすべてのサブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネント13のフィルタコンフィギュレーションを生成し、このフィルタコンフィギュレーションをネットワークインタフェースコンポーネント13に適用するよう構成されてもよい。
例えば、ネットワークインタフェースコンポーネント13はハードウェアメールボックス15を有し、管理コントローラ14は、ハードウェアメールボックス15を介しネットワークインタフェースコンポーネント13にコンフィギュレーション情報を提供するようにしてもよい。本発明の実施例では、管理コントローラ14は、ネットワークプロトコルを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する。
例えば、本発明の実施例では、サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されるコンフィギュレーションビットに対応するものであってもよい。例えば、コンフィギュレーションビットは、BIOS(Basic Input Output System)により設定されてもよい。例えば、本発明の実施例では、管理コントローラ14はさらに、バーチャルマシーンが移動された場合、ネットワークインタフェースコンポーネント13のコンフィギュレーションに関する情報をマイグレート又は移行するよう構成されてもよい。例えば、このマイグレーション又は移行は、外部スイッチからの信号に応答して実行されてもよい。
図2を参照するに、管理コントローラ20は、コントローラ21とコード22とを有し、コード22がコントローラ21により実行されると、管理コントローラ20は、バーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し、サブスクリプションリクエストに基づきネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し、コンフィギュレーション情報をネットワークインタフェースコンポーネントに提供するよう構成される。例えば、コントローラ21は、マイクロコントローラ(特定用途プロセッサなどを含む)であってもよい。例えば、コード22は、メモリに格納されているファームウェアを有してもよい。例えば、メモリは、コントローラ21と同じ集積回路に配置されてもよい。
例えば、本発明の実施例では、バーチャルマシーンはVINAを有してもよく、VINAはサブスクリプションリクエストを直接発行するようにしてもよい。例えば、管理コントローラ20は、複数のVINAからサブスクリプションリクエストを受信し、複数のVINAから受信したすべてのサブスクリプションリクエストに基づきネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し、ネットワークインタフェースコンポーネントにフィルタコンフィギュレーションを適用するよう構成されてもよい。
例えば、本発明の実施例では、ネットワークインタフェースコンポーネントはハードウェアメールボックスを有し、管理コントローラ20は、ハードウェアメールボックスを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供するようにしてもよい。例えば、本発明の実施例では、管理コントローラ20は、ネットワークプロトコルを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供するようにしてもよい。
例えば、本発明の実施例では、サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されるコンフィギュレーションビットに対応するものであってもよい。例えば、コンフィギュレーションビットは、BIOS(Basic Input Output System)により設定されてもよい。例えば、本発明の実施例では、管理コントローラ20はさらに、バーチャルマシーンが移動された場合、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報をマイグレート又は移行するよう構成されてもよい。例えば、このマイグレーション又は移行は、外部スイッチからの信号に応答して実行されてもよい。
図3を参照するに、本発明の実施例によると、ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する方法は、管理コントローラにおいてバーチャルマシーンに対するサブスクリプションリクエストに関する情報を受信し(ブロック30などにおいて)、サブスクリプションリクエストに基づき管理コントローラにおいてネットワークインタフェースコンポーネントのコンフィギュレーション情報を生成し(ブロック31などにおいて)、管理コントローラからネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する(ブロック32などにおいて)ことを含む。例えば、サブスクリプションリクエストに関する情報の受信は、管理コントローラにおいてVINAからサブスクリプションリクエストに関する情報を受信する(ブロック33などにおいて)ことを含むものであってもよい。本発明の実施例はさらに、複数のVINAからサブスクリプションリクエストを受信し(ブロック34などにおいて)、複数のVINAから受信したすべてのサブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し(ブロック35などにおいて)、フィルタコンフィギュレーションをネットワークインタフェースコンポーネントを適用する(ブロック36などにおいて)を含むようにしてもよい。
図4を参照するに、本発明の実施例では、ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、管理コントローラからネットワークインタフェースコンポーネントへのコンフィギュレーション情報の提供は、管理コントローラからハードウェアメールボックスを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する(ブロック40などにおいて)ことを含むものであってもよい。
図5を参照するに、本発明の実施例では、管理コントローラからネットワークインタフェースコンポーネントへのコンフィギュレーション情報の提供は、管理コントローラからネットワークプロトコルを介しネットワークインタフェースコンポーネントにコンフィギュレーション情報を提供する(ブロック50などにおいて)ことを含むものであってもよい。
図6を参照するに、本発明の実施例では、サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応するものであってもよい(ブロック60などにおいて)。例えば、コンフィギュレーションビットは、BIOSにより設定されてもよい(ブロック61などにおいて)。
図7を参照するに、本発明の実施例はさらに、バーチャルマシーンが移動された場合、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報をマイグレート又は移行することを含むものであってもよい(ブロック70などにおいて)。例えば、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報のマイグレート又は移行は、外部スイッチからの信号に応答して、ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報をマイグレート又は移行することを含むものであってもよい(ブロック71などにおいて)。
本発明の実施例は、仮想化技術、ネットワーク検査及び/又は10ギガビットイーサネット(登録商標)などの高速ネットワークプロトコルを備えたユーティリティを求めるようにしてもよい。例えば、仮想化技術の適用は、単一のサーバがバーチャルマシーン(VM)において複数のゲストオペレーティングシステムを実行することを可能にするものであってもよい。このようなVMは、TCP/IPなどの標準的なネットワーキングプロトコルを介し互いに及び他の物理的マシーンと通信可能である。効率性のため、VM間の通信は、データセンタの残りに入らないことを望ましいかもしれない。しかしながら、データセンタのセキュリティのため、VM間のトラフィックをモニタすることが必要又は所望されるかもしれない(VINAなどによって)。
例えば、VINAは、検査対象のVM間の通信の中間に自ら入るようにしてもよい。例えば、バーチャルマシーンモニタ(VMM)は、ネットワークIOVM(Input Output Virtual Machine)モデルを用いて、バーチャルNICをゲストVMに公開するようにしてもよい。すべてのVM間通信は、プラットフォーム上の1つの論理エンティティ、すなわち、IOVMを通過するようにしてもよく、その後、IOVMはパケットをセキュリティ装置にルーティングすることが可能である。セキュリティ装置は、VMM間で異なるかもしれないコンフィギュレーションインタフェースを介しパケットタイプと契約又はサブスクライブ(subscribe)する必要がある。
他の実施例では、プラットフォームは、SR−IOV(Single Root−Input Output Virtualization)対応のNICを有してもよい。SR−IOVによって、VMMはバーチャルNICをVMに公開する必要がなくなる。その代わり、VMMは、VMにより直接制御可能なバーチャル化ハードウェアキューであるバーチャルファンクション(VF)を公開するようにしてもよい。この場合、VMがVINA機能を有する場合、VMは依然としてVMMが設けられたAPI/インタフェースを介し契約する必要があり、このAPI/インタフェースは、その後にVMMにより制御されるNIC PF(Physical Function)を介しフィルタを構成する。VMM(又はドライバVM)は、VINAがパケット及びパケットイベントについて契約することを可能にするためのAPIを提供する。その後、ハイパーバイザは、登録されている各種インラインアプライアンスからの照合リクエストに基づき、NIC物理的ファンクションを構成する。
効果的には、本発明の実施例は、VINAがパケットフローをVMMが設けられたインタフェースに依存することなく直接契約することができるように、SR−IOV対応のNICを構成するハードウェア指向の方法を提供する。効果的には、本発明の実施例は、コンフィギュレーションコードをマイクロコントローラファームウェアに隔離することによって、コンフィギュレーションアプローチのセキュリティを向上させ、及び/又は必要とされる有効化を減少させるものであるかもしれない。効果的には、本発明の実施例はまた、VMが1つのサーバから他のサーバに移動されたとき、物理的装置がネットワークスイッチから管理マイクロコントローラとのコンフィギュレーションインタフェースを介しNICにセキュリティポリシーを移動することができるように、物理的ネットワーク装置がVINA対応のプラットフォームとやりとりすることを可能にするものであってもよい。
図8を参照するに、サーバプラットフォームは、2以上のゲストOS(1〜nと番号付けされる)、2以上のVINA(1〜Nと番号付けされる)と、VMMと、2以上のVF及びPFを有するNICと、NICに接続されるSMCとを有してもよい。NICはまた、ITコンソールとネットワークスイッチ/ファイアウォールとに接続されてもよい。例えば、本発明の実施例では、特定のパケット又はフローを受信することを所望するVINAが、これらのパケットタイプに対するサブスクリプションを発行するようにしてもよい。これらのサブスクリプションメッセージは、VMMによりVINAに割り当てられたバーチャルファンクション(チャネル)を介し送信されてもよい。サブスクリプションメッセージは、その後、ネットワークインタフェース上のハードウェアフィルタを用いて、SMC(System Management Controller)にルーティングされてもよい。例えば、VINAは、SMCを介しそれのフィルタコンフィギュレーションを選択するかもしれない。例えば、SMCは、内部バスを介しプラットフォーム上のシステムデバイスを管理するのに利用可能なマイクロコントローラであってもよい。SMCはまた、SMCを介しプラットフォーム上のデバイスを安全に構成可能な管理コンソール及びプラットフォームの外部のデバイスと通信することを可能にするネットワークスタックを有してもよい。
本発明の実施例では、SMCは、プラットフォーム上にあるすべてのVINAからサブスクリプションを受信し、物理的ファンクションを介し(又はSMCのみがアクセス可能な内部の管理バスなどを介し)NICに適用される最終的なフィルタコンフィギュレーションを生成するようにしてもよい。例えば、図8のルート1及びルート2は、SMCにより生成される2つのサンプルルーティングコンフィギュレーションに対応するものであってもよい。
例えば、本発明の実施例では、VINAは、それに送信されるパケットを明示的に契約してもよい。例えば、可能な各種レベルのダイナミックコンフィギュレーションが存在するかもしれない。シンプルな一例となるコンフィギュレーションでは、VINAは、すべてのパケットがそれの特定のバーチャルファンクションを介し送信されるよう要求するかもしれない。先進的な一例となるコンフィギュレーションでは、VINAは、フィルタコンフィギュレーションを発行することによって、特定タイプのパケットしかそれに送信されないように要求するかもしれない。
効果的には、本発明の実施例は、NICが直接的なコンフィギュレーションを可能にするための直接的なハードウェア実現形態を提供する。例えば、本発明の実施例では、VF−PFハードウェアメールボックスは、コンフィギュレーションリクエストをNICに送信するのに利用されてもよい。例えば、ハードウェアメールボックスは、SR−IOV対応のNICに設けられてもよい。例えば、本発明の実施例では、ネットワークプロトコルは、プラットフォーム上のNICとSMCとの間で情報をやりとりするのに利用されてもよい。NICは、その後、VINAサブスクリプションに対応するSMCから受信した情報に基づき、フィルタを構成可能である。
例えば、インバンドコンフィギュレーション方法は、NICのフィルタを用いてトラフィックを以下のようにSMCにリダイレクトすることによって、サポート可能である。SMCは、確保されているポート及びL3デスティネーションアドレスをNICハードウェアのMNGフィルタフィールドにプログラムする。VMMは、NIC VFをインライン奏しVMに(VT−dを介し)直接割り当てる。スタートアップ時、VINAは、装置の動作のためNICのセキュアなコンフィギュレーションに使用するために、それのサブスクリプションルール、確保されているポート及びL3/L4デスティネーションアドレスを安全に取得するため、それの管理サービスに接続する。装置はまた、使用するL3/L4アドレスと確保されているポートにより静的に構成されてもよい。スタートアップ時、SMCは、ローカルプラットフォームから送信され、SMCにルーティングされるようにこの基準に一致するトラフィックをルーティングするようにNICフィルタを構成する。VINAはまた、それがVINA対応のプラットフォームNICを構成していることを確保できるように、SMCと相互に認証するのに必要なセキュリティ秘密(例えば、証明書や共有キーなど)を取得し、SMCは、VINAがプラットフォーム上のVM間トラフィックのルーティングを構成するよう承認されていることを認証可能である。VINAはマイグレートされる場合、それは、マイグレートされたデスティネーションハードウェアプラットフォーム上の新たなNICのために上記処理を繰り返す。
その後、VINAは、検査することを所望するパケットのサブスクリプションをネットワークフィルタコンフィギュレーションを含むパケットに用意し、VMMによりそれに割り当てられたバーチャルファンクションを介し確保されたポート及びデスティネーションアドレスにコンフィグレーションパケットを送信するようにしてもよい。これらのサブスクリプションパケットはSMCにルーティングされ、SMCは、NICに対する最終的なフィルタリストを生成する前に、すべてのVINAからサブスクリプション情報を収集する。SMCは、NICとの直接的なコンフィギュレーションインタフェースを介しNICをプログラムする。VINAがサブスクリプションアップデートメッセージを介しフィルタを更新又は削除した場合、SMCは、サブスクリプションが他のルート上で行う変更を反映させるため、複数のフィルタを更新する必要があるかもしれない。さらに、SMCファームウェアは、VINAからの重複するコンフィギュレーションについてフィルタを合成及び排除し、コンフリクトを検出し、プラットフォーム上のコントロールVM又は管理コンソールに報告する(ルールは排除可能でないか、又は優先的なコンフリクトが存在する場合)。
効果的には、悪意的なVMは、管理可能性によりフィルタリングされたトラフィックはホスト(又はVMM)に転送されないため、セキュリティ秘密、確保されたポート(16ビット)及びIPv4又はIPv6 L3/L4アドレス(32又は128ビット)にアクセスすることができなくなる。
本発明の実施例では、黙示的なサブスクリプションリクエスト及びコンフィギュレーションは、VFがVINA機能のために利用されるのを可能にするため、BIOSなどのシステムソフトウェアにより実行されてもよい。例えば、サブスクリプションは、VFコンフィギュレーションに対するコンフィギュレーションビットを設定することによって生成されてもよい。例えば、VFがVINA対応として特定されると、VINAはNICルーティングコンフィギュレーションに追加され、これにより、トラフィックがVINAに流れることを意味するかもしれない。
図9及び10を参照するに、本発明の実施例では、外部スイッチ(又は物理的装置)は、SMCインタフェースを使用して、通信中のVM双方が同じプラットフォームに移動されるとき、VM−VMルールをプラットフォームNICに移動するようにしてもよい。反対のケースでは、VINA VMが他のプラットフォームにマイグレートされると、第1プラットフォーム上のSMCは、VINAフィルタサブスクリプションを新たなNIC物理的ファンクションに移動させるため、他方のプラットフォーム上のSMCとコンタクトするようにしてもよく、これにより、VINA VMがデスティネーションプラットフォーム上で再開されるとすぐに、トラフィックが正しく流れる。
図11を参照するに、本発明の実施例は、NICを初期化し、VFをVINAに割り当てる(ブロック110などにおいて)ことに関する。SMCは、VM又はネットワークからパケットを受信する(ブロック111などにおいて)。SMCは、パケットが管理パケットであるかチェックするため、パケットを解析する(ブロック112などにおいて)。管理パケットでない場合、パケットはNICフィルタを通過されるか、又はNICにより処理される(ブロック113などにおいて)。パケットが管理パケットである場合、SMCは、受信したパケットのインテグリティを認証及び確認する(ブロック114などにおいて)。パケットが認証成功した場合、SMCは、管理パケットがVINAサブスクリプションであるか判断し、既存のフィルタを介しフィルタを処理する(ブロック115などにおいて)。例えば、SMCは、何れかのフィルタコンフリクトが検出されるか判断する(ブロック116などにおいて)。コンフリクトが検出された場合、SMCは、エラー管理パケットを返す(ブロック117などにおいて)。コンフリクトが検出されなかった場合、SMCは、NIC物理的ファンクションを介しVINAルーティングコンフィギュレーションとフィルタコンフィギュレーションとをプログラムし(ブロック118などにおいて)、サクセス管理パケットを返す(ブロック119などにおいて)。
効果的には、本発明の実施例は、VMMが設けられたインタフェースにあまり依存せず、VMMベンダー間において変更されてもよい。効果的には、本発明の実施例は、VMMソフトウェアインタフェースと比較して、悪意のあるソフトウェアからの攻撃にそれ程脆弱ではないかもしれない。例えば、本発明の実施例は、以下の効果の1以上を提供するかもしれない。すなわち、MIC機能がVINA VMに直接公表され、これにより、必要とされる有効化を減少させる。VMMの攻撃面は、NICコンフィギュレーション機能をSMCに隔離することによって減少されるかもしれない。トラフィックの検査なく物理的ネットワークに流すことから、プラットフォーム間で交換されるトラフィックを減少させることによって、ネットワークリンクの利用が改善される。また、SMCを利用してデスティネーションプラットフォーム上のルールを予め設定することによって、VINA VMのマイグレーションを簡単化することができる。
例えば、本発明の実施例は、VMMがソフトウェアコンフィギュレーションを公開することを要求せず、又はAPIをフィルタリングすることなく、VM間トラフィックがセキュリティ装置により検査されることを確実にする。例えば、本発明の実施例は、SMCを用いたSR−IOV NICを使用するとき、VINA間のトラフィックをルーティングする直接的なコンフィギュレーションを提供する。例えば、本発明の実施例は、VINA VMがプラットフォームにマイグレートされるとき、スイッチコンフィギュレーションをNICに自動的に移動することによって、マイグレーションに必要とされるリンク帯域幅を低減させるかもしれない。例えば、本発明の実施例は、SMC間通信を利用して、VINAルールのシンプルなマイグレーションを提供するかもしれない。
ここに記載される実施例の多くは特定の環境に関する用語を使用するが、当業者は、本発明がこれらの特定の実施例に限定されず、均等なルーチン及び/又は構造が、セキュリティ機能が所望される他のプロセッサベース環境により実現可能であることを理解するであろう。例えば、一部のアプリケーションでは、SMCは、他の可能な用語のうちサーバマネージメントコントローラ(Server Management Controller)又はサーバ管理可能性コントローラ(Server Manageability Controller)と呼ばれるかもしれない。同様に、ここで言及された各種コンポーネント、コントローラ、バーチャルモジュール、プロトコル及びレジスタは、等価な構成を提供し、等価な機能を実行しながら、他のプラットフォームにおける他の用語により記載されてもよい。当業者は、本開示の利益が与えられると、他の多数の回路とハードウェア及び/又はソフトウェアの組み合わせが、ここに記載される実施例及び本発明の他の実施例に従って各種方法、回路及びシステムを実現するよう構成されてもよいことを理解するであろう。
本発明の上記及び他の特徴は、個別に及び組み合わせて実現される。本発明は、特定の請求項により明示的に要求されない場合、このような特徴の2以上を要求するものとして解釈されるべきでない。さらに、本発明は好適な実施例であると現在考えられているものに関して説明されたが、本発明は開示された実施例に限定されず、本発明の趣旨及び範囲内に含まれる各種変更及び均等な構成をカバーするものであると理解されるべきである。
10 システム
11 プロセッサ
12 メモリ
13 ネットワークインタフェースコントローラ(NIC)
14 管理コントローラ
15 ハードウェアメールボックス

Claims (21)

  1. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに接続される少なくとも1つのメモリと、
    ネットワークインタフェースコンポーネントと、
    管理コントローラと、
    複数のVINA(Virtual Inline Network Appliance)と、
    を有するプロセッサベースシステムであって、
    前記管理コントローラは、
    前記複数のVINAから、前記VINAが直接発行するサブスクリプションリクエストを受信し、
    前記複数のVINAから受信したすべてのサブスクリプションリクエストに基づき前記ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し、
    前記フィルタコンフィギュレーションを前記ネットワークインタフェースコンポーネントに適用する、
    よう構成されるシステム。
  2. 前記ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、
    前記管理コントローラは、前記フィルタコンフィギュレーションを前記ハードウェアメールボックスを介し前記ネットワークインタフェースコンポーネントに提供する、請求項1記載のシステム。
  3. 前記管理コントローラは、前記フィルタコンフィギュレーションをネットワークプロトコルを介し前記ネットワークインタフェースコンポーネントに提供する、請求項1記載のシステム。
  4. サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応する、請求項1記載のシステム。
  5. 前記コンフィギュレーションビットは、BIOS(Basic Input Output System)により設定される、請求項記載のシステム。
  6. 前記管理コントローラはさらに、バーチャルマシーンが移された場合、前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させるよう構成される、請求項1記載のシステム。
  7. 前記移行は、外部スイッチからの信号に応答して実行される、請求項記載のシステム。
  8. コントローラとコードとを有する管理コントローラであって、
    前記コードが前記コントローラにより実行されると、当該管理コントローラは、
    複数のVINA(Virtual Inline Network Appliance)から、前記VINAが直接発行するサブスクリプションリクエストを受信し、
    前記VINAから受信したすべてのサブスクリプションリクエストに基づき、ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成し、
    前記フィルタコンフィギュレーションを前記ネットワークインタフェースコンポーネントに適用する、
    よう構成される管理コントローラ。
  9. 前記ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、
    当該管理コントローラは、前記フィルタコンフィギュレーションを前記ハードウェアメールボックスを介し前記ネットワークインタフェースコンポーネントに提供する、請求項記載の管理コントローラ。
  10. 当該管理コントローラは、前記フィルタコンフィギュレーションをネットワークプロトコルを介し前記ネットワークインタフェースコンポーネントに提供する、請求項記載の管理コントローラ。
  11. サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応する、請求項記載の管理コントローラ。
  12. 前記コンフィギュレーションビットは、BIOS(Basic Input Output System)により設定される、請求項11記載の管理コントローラ。
  13. 当該管理コントローラはさらに、バーチャルマシーンが移された場合、前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させるよう構成される、請求項記載の管理コントローラ。
  14. 前記移行は、外部スイッチからの信号に応答して実行される、請求項13記載の管理コントローラ。
  15. ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する方法であって、
    管理コントローラにおいて、複数のVINA(Virtual Inline Network Appliance)から、サブスクリプションリクエストを受信するステップと、
    前記管理コントローラにおいて、前記複数のVINAから受信したすべてのサブスクリプションリクエストに基づき、前記ネットワークインタフェースコンポーネントのフィルタコンフィギュレーションを生成するステップと、
    前記フィルタコンフィギュレーションを前記ネットワークインタフェースコンポーネントに適用するステップと、
    を有する方法。
  16. 前記ネットワークインタフェースコンポーネントは、ハードウェアメールボックスを有し、
    前記フィルタコンフィギュレーションを適用するステップは、前記フィルタコンフィギュレーションを前記ハードウェアメールボックスを介し前記管理コントローラから前記ネットワークインタフェースコンポーネントに提供する、請求項15記載の方法。
  17. 前記フィルタコンフィギュレーションを適用するステップは、前記フィルタコンフィギュレーションをネットワークプロトコルを介し前記管理コントローラから前記ネットワークインタフェースコンポーネントに提供する、請求項15記載の方法。
  18. サブスクリプションリクエストは、バーチャルファンクションコンフィギュレーションに対して設定されたコンフィギュレーションビットに対応する、請求項15記載の方法。
  19. 前記コンフィギュレーションビットは、BIOS(Basic Input Output System)により設定される、請求項18記載の方法。
  20. ーチャルマシーンが移された場合、前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させるステップをさらに有する、請求項15記載の方法。
  21. 前記移行させるステップは、外部スイッチからの信号に応答して前記ネットワークインタフェースコンポーネントのコンフィギュレーションに関する情報を移行させる、請求項20記載の方法。
JP2009290678A 2008-12-30 2009-12-22 ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法 Active JP5203346B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/317,896 2008-12-30
US12/317,896 US8032660B2 (en) 2008-12-30 2008-12-30 Apparatus and method for managing subscription requests for a network interface component

Publications (2)

Publication Number Publication Date
JP2010157226A JP2010157226A (ja) 2010-07-15
JP5203346B2 true JP5203346B2 (ja) 2013-06-05

Family

ID=42009753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009290678A Active JP5203346B2 (ja) 2008-12-30 2009-12-22 ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法

Country Status (5)

Country Link
US (1) US8032660B2 (ja)
EP (1) EP2204948B1 (ja)
JP (1) JP5203346B2 (ja)
KR (1) KR101120304B1 (ja)
CN (1) CN101800658B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602008006255D1 (de) * 2007-10-04 2011-05-26 Networked Audio Solutions Cc Digital-multimedia-netzwerk mit hierarchischem parametersteuerprotokoll
US9210140B2 (en) * 2009-08-19 2015-12-08 Solarflare Communications, Inc. Remote functionality selection
US9158567B2 (en) * 2009-10-20 2015-10-13 Dell Products, Lp System and method for reconfigurable network services using modified network configuration with modified bandwith capacity in dynamic virtualization environments
JP2012048546A (ja) * 2010-08-27 2012-03-08 Hitachi Ltd 計算機システム、i/oデバイス制御方法、及びi/oドロワ
US8775590B2 (en) * 2010-09-02 2014-07-08 International Business Machines Corporation Reactive monitoring of guests in a hypervisor environment
US9736116B2 (en) * 2014-07-28 2017-08-15 Intel Corporation Cooperated approach to network packet filtering
US8776055B2 (en) * 2011-05-18 2014-07-08 Vmware, Inc. Combining profiles based on priorities
RU2472215C1 (ru) 2011-12-28 2013-01-10 Закрытое акционерное общество "Лаборатория Касперского" Способ выявления неизвестных программ с использованием эмуляции процесса загрузки
US9116736B2 (en) * 2012-04-02 2015-08-25 Cisco Technology, Inc. Virtualized movement of enhanced network services associated with a virtual machine
US9548962B2 (en) * 2012-05-11 2017-01-17 Alcatel Lucent Apparatus and method for providing a fluid security layer
US9571507B2 (en) * 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
US9306768B2 (en) * 2012-11-07 2016-04-05 Cisco Technology, Inc. System and method for propagating virtualization awareness in a network environment
CN103049331B (zh) * 2012-12-06 2015-09-23 华中科技大学 一种虚拟功能的动态调度方法
US9489210B2 (en) * 2013-03-07 2016-11-08 International Business Machines Corporation Implementing configuration preserving relocation of SRIOV adapter
US9350632B2 (en) 2013-09-23 2016-05-24 Intel Corporation Detection and handling of virtual network appliance failures
US20160149877A1 (en) * 2014-06-05 2016-05-26 Cavium, Inc. Systems and methods for cloud-based web service security management basedon hardware security module
CN106982133B (zh) * 2016-01-18 2020-12-29 中兴通讯股份有限公司 一种更改虚拟网卡配置信息的方法、设备及系统
WO2018015059A1 (en) * 2016-07-18 2018-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Security of ciphering and integrity protection
CN107992352A (zh) * 2016-10-26 2018-05-04 阿里巴巴集团控股有限公司 用于虚拟化场景的数据交互方法及设备
US10445272B2 (en) * 2018-07-05 2019-10-15 Intel Corporation Network function virtualization architecture with device isolation
CN111698175B (zh) * 2020-06-24 2023-09-19 北京经纬恒润科技股份有限公司 一种用于网关的报文收发方法及系统

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3629190B2 (ja) * 2000-08-31 2005-03-16 株式会社東芝 携帯端末、ローカル無線サーバ、及び申し込みサーバ
US7072958B2 (en) * 2001-07-30 2006-07-04 Intel Corporation Identifying network management policies
US7254133B2 (en) * 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
US7684400B2 (en) * 2002-08-08 2010-03-23 Intel Corporation Logarithmic time range-based multifield-correlation packet classification
US7443854B2 (en) * 2003-04-02 2008-10-28 Intel Corporation Methods and apparatus to route packets in a policy driven networked environment
US7548944B2 (en) * 2003-07-15 2009-06-16 Intel Corporation Statistics collection framework for a network processor
US7536674B2 (en) * 2003-08-13 2009-05-19 Intel Corporation Method and system for configuring network processing software to exploit packet flow data locality
US7752635B2 (en) * 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
US7440461B2 (en) * 2003-12-23 2008-10-21 Intel Corporation Methods and apparatus for detecting patterns in a data stream
US8249071B2 (en) * 2004-03-26 2012-08-21 Harman International Industries, Incorporated Audio related system communication protocol
US7558966B2 (en) 2004-06-09 2009-07-07 Intel Corporation Notifying remote administrator of platform integrity determination
US7441272B2 (en) * 2004-06-09 2008-10-21 Intel Corporation Techniques for self-isolation of networked devices
US9329905B2 (en) * 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US7594269B2 (en) * 2004-10-29 2009-09-22 Intel Corporation Platform-based identification of host software circumvention
US7797749B2 (en) * 2004-11-03 2010-09-14 Intel Corporation Defending against worm or virus attacks on networks
US7536479B2 (en) * 2004-11-09 2009-05-19 Intel Corporation Local and remote network based management of an operating system-independent processor
US7865908B2 (en) 2005-03-11 2011-01-04 Microsoft Corporation VM network traffic monitoring and filtering on the host
US7483423B2 (en) * 2005-03-30 2009-01-27 Intel Corporation Authenticity of communications traffic
US7739517B2 (en) * 2005-03-31 2010-06-15 Intel Corporation Hardware-based authentication of a software program
US7424711B2 (en) * 2005-06-29 2008-09-09 Intel Corporation Architecture and system for host management
US7761674B2 (en) * 2005-12-30 2010-07-20 Intel Corporation Identifier associated with memory locations for managing memory accesses
US8090919B2 (en) * 2007-12-31 2012-01-03 Intel Corporation System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
US7669242B2 (en) * 2005-06-30 2010-02-23 Intel Corporation Agent presence monitor configured to execute in a secure environment
US7571298B2 (en) * 2005-06-30 2009-08-04 Intel Corporation Systems and methods for host virtual memory reconstitution
US7739724B2 (en) * 2005-06-30 2010-06-15 Intel Corporation Techniques for authenticated posture reporting and associated enforcement of network access
US7467285B2 (en) * 2005-07-27 2008-12-16 Intel Corporation Maintaining shadow page tables in a sequestered memory region
US7748037B2 (en) * 2005-09-22 2010-06-29 Intel Corporation Validating a memory type modification attempt
US20070079307A1 (en) 2005-09-30 2007-04-05 Puneet Dhawan Virtual machine based network carriers
US7725573B2 (en) * 2005-11-29 2010-05-25 Intel Corporation Methods and apparatus for supporting agile run-time network systems via identification and execution of most efficient application code in view of changing network traffic conditions
US7703126B2 (en) * 2006-03-31 2010-04-20 Intel Corporation Hierarchical trust based posture reporting and policy enforcement
US7624242B2 (en) * 2006-03-31 2009-11-24 Intel Corporation Operating system agnostic sharing of proteced memory using memory identifiers
US7598966B2 (en) * 2006-05-03 2009-10-06 Honeywell International Inc. Methods and systems for automatically rendering information on a display of a building information system
US7512768B2 (en) * 2006-07-21 2009-03-31 Intel Corporation Dynamically sharing a stack between different code segments
US20080059811A1 (en) * 2006-09-06 2008-03-06 Ravi Sahita Tamper resistant networking
US7802050B2 (en) * 2006-09-29 2010-09-21 Intel Corporation Monitoring a target agent execution pattern on a VT-enabled system
US8381209B2 (en) 2007-01-03 2013-02-19 International Business Machines Corporation Moveable access control list (ACL) mechanisms for hypervisors and virtual machines and virtual port firewalls
US8214483B2 (en) * 2007-02-28 2012-07-03 Red Hat, Inc. Method and system for continuous availability subscription service
US7694189B2 (en) 2007-02-28 2010-04-06 Red Hat, Inc. Method and system for remote monitoring subscription service
US7757035B2 (en) * 2007-06-26 2010-07-13 Intel Corporation Method for optimizing virtualization technology and memory protections using processor-extensions for page table and page directory striping
US8042190B2 (en) * 2007-12-31 2011-10-18 Intel Corporation Pre-boot protected memory channel
US8839237B2 (en) * 2007-12-31 2014-09-16 Intel Corporation Method and apparatus for tamper resistant communication in a virtualization enabled platform
US8316211B2 (en) * 2008-06-30 2012-11-20 Intel Corporation Generating multiple address space identifiers per virtual machine to switch between protected micro-contexts
US8447808B2 (en) * 2008-09-19 2013-05-21 International Business Machines Corporation Virtual presence server

Also Published As

Publication number Publication date
EP2204948A3 (en) 2010-10-20
EP2204948B1 (en) 2013-05-29
JP2010157226A (ja) 2010-07-15
EP2204948A2 (en) 2010-07-07
CN101800658B (zh) 2014-08-20
KR20100080382A (ko) 2010-07-08
US20100169507A1 (en) 2010-07-01
CN101800658A (zh) 2010-08-11
US8032660B2 (en) 2011-10-04
KR101120304B1 (ko) 2012-03-06

Similar Documents

Publication Publication Date Title
JP5203346B2 (ja) ネットワークインタフェースコンポーネントに対するサブスクリプションリクエストを管理する装置及び方法
US11025647B2 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
JP6605713B2 (ja) クラウドコンピューティングシステムにおけるパケット処理方法、ホスト及びシステム
US9106529B2 (en) Virtual network configuration and management
US20080175246A1 (en) Method for specifying a MAC identifier for a network-interface-device
US11063856B2 (en) Virtual network function monitoring in a network function virtualization deployment
US20170255482A9 (en) Using virtual local area networks in a virtual computer system
US20080155069A1 (en) Method, apparatus and program product to use factory-defined multiple MAC addresses for virtual NICS
US10116622B2 (en) Secure communication channel using a blade server
CN114070723B (zh) 裸金属服务器的虚拟网络配置方法、系统及智能网卡
US11563799B2 (en) Peripheral device enabling virtualized computing service extensions
JP2010282447A (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US11520530B2 (en) Peripheral device for configuring compute instances at client-selected servers
WO2012168872A1 (en) Virtual network configuration and management
US11201920B2 (en) Controller-based configuration proxy
US10554552B2 (en) Monitoring network addresses and managing data transfer
US20100063990A1 (en) Host embedded controller interface bridge
US20200104152A1 (en) Methods and systems for virtual tor implementation
US20200379658A1 (en) Secure Sharing of Storage Resources
OpenStack Mellanox Reference Architecture for Red Hat Enterprise Linux OpenStack Platform 4.0

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120618

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121218

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: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130213

R150 Certificate of patent or registration of utility model

Ref document number: 5203346

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350