JP4437142B2 - 仮想ネットワークインターフェース - Google Patents

仮想ネットワークインターフェース Download PDF

Info

Publication number
JP4437142B2
JP4437142B2 JP2006543876A JP2006543876A JP4437142B2 JP 4437142 B2 JP4437142 B2 JP 4437142B2 JP 2006543876 A JP2006543876 A JP 2006543876A JP 2006543876 A JP2006543876 A JP 2006543876A JP 4437142 B2 JP4437142 B2 JP 4437142B2
Authority
JP
Japan
Prior art keywords
network interface
interface card
virtual network
virtual
module
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.)
Expired - Fee Related
Application number
JP2006543876A
Other languages
English (en)
Other versions
JP2007514238A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2007514238A publication Critical patent/JP2007514238A/ja
Application granted granted Critical
Publication of JP4437142B2 publication Critical patent/JP4437142B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、仮想ネットワークインターフェースカード(VNIC)のコンフィギュレーションに関する。
仮想マシン(VM)とは、ハードウェアプラットフォームをエミュレートし、「ゲスト」オペレーティングシステムを実行できる自己完結型オペレーティング環境である。VMは基盤となるハードウェアプラットフォーム上で実行されるオペレーティングシステムである仮想マシンモニタ(VMM)の「上層」で稼動する。VMMは多様な仮想デバイスを含み、仮想デバイスとは仮想ネットワークインターフェースカード(VNIC)等である。VNICはVMMの一部として稼動し、ハードウェアプラットフォーム上のネットワークインターフェースカード(NIC)と各種のVMとの間においてデータパケットのルーティングを行う。
米国特許第7111303号明細書 米国特許出願公開第2002/0143842号明細書 米国特許出願公開第2004/0221298号明細書 米国特許出願公開第2005/0066086号明細書 米国特許第7260820号明細書 米国特許第7424710号明細書 米国特許出願公開第2003/0120818号明細書 米国特許出願公開第2002/0143960号明細書 米国特許出願公開第2004/0267866号明細書 米国特許出願公開第2002/0118644号明細書 米国特許第5541853号明細書 米国特許出願公開第2005/0076324号明細書 米国特許第7111303号明細書 米国特許第5872956号明細書 JIANG, XU: "VIOLIN: Virtual Internetworking on Overlay Infrastructure" CSD TR#03-027, 2003-7, p.1-6, Purdue University, West Lafayette, IN, USA
ハードウェアプラットフォーム上でVMを実行するためのシステムのブロック図である。
図1の前記システム及び図3のプロセスが実行されるコンピュータの一例である。
図1のシステムにおいて、VNICをコンフィギュアするためのプロセスのフローチャートである。異なる図面における同様の参照番号は同様の要素を表す。
図1は、1つ以上のVMを実行できるシステム10のアーキテクチャを示す。システム10は、図2で示すようなハードウェアプラットフォーム11を含む。
ハードウェアプラットフォーム11は、パーソナルコンピュータ、サーバ、メインフレームコンピュータ、又は如何なるタイプのコンピュータ機器であってもよい。ハードウェアプラットフォーム11は、マイクロプロセッサ、コントローラ、及び1つ以上のメモリデバイス14等のプロセッシングデバイスを含む。メモリデバイス14は、VMM16及びVM17(図1)を実行する目的でプロセッシングデバイス12によって実行されるマシン実行可能命令15を格納する。更に追加のVMM及びVMがシステム10内に実装されてもよい。
各VMは「シェル」を含み、シェル内で「ゲスト」オペレーティングシステムは実行される。ゲストオペレーティングシステムは、自分がVMM16の上層で稼動していることを意識しない。VMM16はゲストオペレーティングシステムがまるでハードウェア上で稼動しているかのようにゲストオペレーティングシステムを動作させることができる。VMM16がこれを行う方法を以下に記載する。
NIC20は、ハードウェアプラットフォーム11にインストールされ、ハードウェアプラットフォーム11をネットワークに接続する拡張ボードである。NIC20は、如何なるタイプのネットワークインターフェースカードでもよい。例えば、NIC20はイーサネット(登録商標)接続をサポートするイーサネット(登録商標)NIC、又はイーサネット(登録商標)及びハイパフォーマンスファーストイーサネット(登録商標)接続両方をサポートする10/100/1000NICであってもよい。NIC20はまた、ワイアレスネットワークをサポートしてもよい。ワイアレスネットワークは、配線を通す代わりに空中を通して信号を送るラジオ周波数(RF)技術を用いる。そのようなNICは、媒体を介しての送信、及び媒体からのデータの受信をする目的でデータを準備するといった有線環境上のNICと実質的に同一の機能を遂行する。
プロセッシングデバイス12は、NIC20をVMM16と通信させるNICドライバ21を実行する。NICドライバ21は、NIC20とインターアクトするソフトウェアとNIC20との間の仲介役として働く。特にNICドライバ21は、NIC20上で稼動するソフトウェアモジュールに対してハイレベル・インターフェースとして働く。
VMM16は包括的仮想NIC(GVNIC)22を含む。GVNIC22はNIC20と多様なVM(例えばVM17)との間でのデータパケットのルーティングを行う目的でコンフィギュアブルである。GVNIC22はハイレベル・アプリケーションプログラミングインターフェース(API)を介してNICドライバ21とインターフェースする。
GVNIC22はNICドライバ21に関わるAPIを用いること、及びVM17のゲストオペレーティングシステム上で実行されるNICドライバ24をサポートすることに必要なコア機能を含んでいるという意味において「包括的」である。このコア機能は、一連の共通タスクを含んでおり、共通タスクは以下のことを含むがそれらには限定されない。GVNICの周辺機器相互接続(PCI)ヘッダへのゲストオペレーティングシステムアクセスを許す目的で、コンフィギュレーションスペースにおいて領域を要求すること。NICドライバ24のGVNICのコントロール・ステータスレジスタ(CSR)へのアクセスを許す目的で、メモリ及び/又は入力/出力(I/O)スペースにおいて領域を要求すること。VM17へ割り込みを入れる、データフレームを送信及び受信すること。例えば送信リクエストの完了、フレームの受付及び診断等のNICドライバ21からのコールバックのハンドリングを行うこと。更に、例えばマルチキャスティング及びブロードキャスティングに対する受信側フィルタのプログラミングを行うことである。GVNIC22は下記に示すとおり、これらの機能を実行するハードウェアをエミュレートするようプログラムされる。
VMM16はまた仮想スペースモジュール25、仮想プログラマブル割り込みコントロール(PIC)モジュール26、及び仮想PCIモジュール27を含む。仮想スペースモジュール25はVM17からGVNIC22へのメモリアクセスのルーティングを行う。例えば、仮想スペースモジュール25は、00〜FFのように事前に要求された指定範囲内において、GVNIC22又は他の仮想デバイスへの全てのメモリアクセスを監督する。仮想PICモジュール26はVM17への割り込みをルーティングする。仮想PCIモジュール27により、ゲストオペレーティングシステムはGVNIC22のディスカバリ及びプログラミングを行うことができる。
より具体的には、仮想PCIモジュール27はVMM16に関連する仮想PCIバスをスキャンし、VM17上で稼動するゲストオペレーティングシステムに、例えばGVNIC22のような仮想PCIバス上のデバイスのアイデンティティを知らせる。アイデンティティはデバイスのタイプ、デバイス識別子(ID)、及び/又は製造会社/ベンダIDを含んでもよい。ゲストオペレーティングシステムは、識別されたデバイスをゲストオペレーティングシステムと共に動かす目的で、識別されたデバイスをコンフィギュアする。このコンフィギュレーションは各デバイスにおけるゲストオペレーティングシステムに対しての、メモリアドレススペース及び入力/出力(I/O)アドレスレンジの割り当てを含むが、それだけには限定されない。GVNIC22等の各デバイスがプログラムされた後で、デバイスはそれに応じて、ゲストオペレーティングシステムとGVNIC22との間の通信(例えばデータパケット)のルーティングを行う仮想スペースモジュール25に通知する。
図3に、GVNIC22をコンフィギュアするためのプロセス19を示す。プロセス19はプログラミングに先立ってGVNIC22をコンフィギュアする(32)。GVNIC22のコンフィギュレーションは様々な方法で行われてもよい。1つの形態としては、GVNIC22はコンフィギュレーション・ファイルを用いてコンフィギュアされる。コンフィギュレーション・ファイルは予めGVNIC22に関連して格納されても、又は外部ソースから取得されてもよい。コンフィギレーションファイルは、NICドライバ21、及びVM17のゲストオペレーティングシステム上で実行されるNICドライバ24にインターフェースを提供するNICをGVNIC22がエミュレートできるよう、GVNIC22をコンフィギュアする目的で用いられるコンフィギュレーション情報(下記記載)を含む。
コンフィギュレーション情報は、GVNIC22によってエミュレートされるハードウェアに固有であるPCIレジスタのコンテンツ、GVNIC22によってエミュレートされるハードウェアによって実行されるダイレクトメモリアクセス(DMA)を実行する方法、及びNICドライバ21とVM17との間でデータを送信するのに使用されるデータ構造のコンフィギュレーションを特定するデータを含んでもよい。また他のタイプのコンフィギュレーション情報も同様に含まれてよい。
1つの形態として、コンフィギレーションファイルは様々なフィールドにおけるパラメータ(又はタグ)としてのコンフィギレーション情報を格納する拡張マークアップ言語(XML)ファイルである。GVNIC22は、GVNIC22自身をコンフィギュアするべく、適宜パラメータを取得、使用する目的でXMLファイルを解析する(34a)。またXML以外のコンフィギュレーション・ファイルを使用してもよい。
コンフィギュレーション・ファイルを解析することによってGVNIC22をコンフィギアする代わりに、GVNIC22はセパレートモジュール30を「コール」(例えば、reference)する目的でコンフィギュアされてもよい。具体的には、ハードウェアデバイスの識別に応じて、GVNIC22はモジュール30をコールする目的で命令を読み出す。命令は内部又は外部のデータベースから読み出されてもよい。モジュール30は1回だけ、又は必要であればエミュレートされるハードウェアの要求に従ってコールされてもよい。
モジュール30をコールする代わりに、モジュール30はGVNIC22をコンフィギュアする目的で、GVNIC22にロードされ、GVNIC22から実行されてもよい。
モジュール30は、GVNIC22によってエミュレートされるハードウェアに特有の機能を実行する目的で使用される。例えば、モジュール30はGVNIC22によってエミュレートされるハードウェアに固有であるPCIレジスタのコンテンツを特定するデータを提供してもよく、GVNIC22によってエミュレートされるハードウェアによって実行されるダイレクトメモリアクセス(DMA)を実行してもよく、NICドライバ21とVM17との間での送信のためのデータをコンフィギュアしてもよい。この関連で、GVNIC22はまたNICドライバ21とVM17との間で転送されるデータをモジュール30に提供してもよい。このデータはモジュール30によって処理及び/又はフォーマットされ、それから転送のためGVNIC22に送り返されてもよい。
モジュール30は、インタプリンタ型モジュール(34b)又はコンパイル型モジュール(34c)であってもよい。インタプリンタ型モジュールは、C++等のインタプリンタ型言語によって書かれている。インタプリンタ型モジュールにおけるコードは、GVNIC22をコンフィギュアする目的で、コンパイルされる必要がある。様々なタイプのコードが様々なハードウェアプラットフォームに対して要求されるであろう。それに反して、コンパイル型モジュールはすでにバイナリ形式である。それゆえコンパイルは不要であり、バイナリコードをプラットフォーム間で移植できる。
図3によると、プロセス19において、仮想PCIモジュール27はゲストオペレーティングシステムにとってのGVNIC22を識別する(36)。上述のとおり、仮想PCIモジュール27は識別子又はGVNIC22に対応した類似物をGVNIC22に提供してもよい。VM17内で稼動しているゲストオペレーティングシステムは、上述のとおり、ゲストオペレーティングシステムと共に実行するようGVNIC22をプログラムする(38)目的で識別子を用いる。
ここに記載されたシステム10は多数の利点を備える。例えば、このシステムは包括的VNIC機能とVM特有の機能を切り分ける。それゆえシステム10において開発者は、VM特有の機能に対するコードだけを書けばよいので、開発時間を減らすことができる。システム10はまた、VMMをリコンパイルせずにGVNICをコンフィギアすることがでるので、GVNIC及びVMMを異なったベンダによって提供することができる。システム10においては、VNICモジュールのダイナミックローディング及びアンローディングができ、VNICモジュールをVMMの外部に置くことができる。システム10は、様々なタイプの仮想PCIデバイス及びVMをサポートする。1つ以上のVMがGVNIC22にインターフェースされてもよい。
システム10は、図1〜3におけるハードウェア及びソフトウェアを用いることに限定しておらず、本システムはあらゆるコンピューティング又はプロセッサ環境において適用性を見出せるであろう。
システム10はデジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせによって実施されてもよい。例えばプログラマブルプロセッサ、コンピュータ、又はマルチプルコンピュータ等のデータ処理装置の動作を制御するための、又は当該データ処理装置による実行のための、例えばマシン読み出し可能記憶装置又は伝播信号等の情報キャリアにおいて明確に具現化されたコンピュータプログラム等のコンピュータプログラム製品又は他の製造物品として実現されてもよい。コンピュータプログラムはコンパイラ型言語又はインタプリンタ形言語を含むあらゆる形式のプログラミング言語によって書くことができ、スタンドアロンプログラム、モジュール、コンポーネント、サブルーティン、又はコンピューティング環境における使用に適した他のユニットを含むあらゆる形式で実施できる。コンピュータプログラムは、1つの地点又は分散した複数の地点において、1台又は複数のコンピュータ上で実行されること、及び通信ネットワークによって相互接続される目的で展開されてもよい。
システム10はファンクションを実行する目的で、コンピュータプログラムを実行する1つ以上のプログラマブルプロセッサを介して実現されてもよい。システム10/システム10の装置はそれぞれ、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)等の特殊用途ロジック回路によって/として実現されてもよい。
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用及び特殊用途用マイクロプロセッサの両方、及びあらゆる種類のデジタルコンピュータの1つ以上の複数のプロセッサを含む。一般的に、プロセッサは読み出し専用メモリ、ランダムアクセスメモリ、又はその両方からの命令及びデータを受信する。コンピュータの要素は命令を実行するプロセッサ、及び命令とデータとを格納する1つ以上のメモリデバイスを含んでもよい。一般的に、磁気、磁気光学ディスク、又は光学ディスク等のデータを保存するための1つ以上の大容量記憶デバイスからデータを受信、又は/及び該記憶デバイスにデータを転送する目的で、コンピュータは該記憶デバイスを含むか、又は動作できるよう該記憶デバイスに連結されてもよい。
コンピュータプログラム命令及びデータを具現化することに適した情報キャリアは、一例として、例えばEPROM、EEPROM及びフラッシュメモリデバイス等の半導体メモリデバイス、例えば内部ハードディスク又はリムーバブルディスク等の磁気ディスク、及び例えばCD−ROM及びDVD−ROMディスク等の磁気光学ディスクを含むあらゆる形式の非揮発性メモリを含む。プロセッサ及びメモリは、特殊用途ロジック回路に組み込まれても、特殊用途ロジック回路によって補完されてもよい。
システム10は、データサーバ等としてのバックエンドコンポーネント、アプリケーションサーバ等のミドルウェアコンポーネント、システムアドミニストレータが管理モジュールと交信できるグラフィカルユーザインターフェース又はウェブブラウザを備えるクライアントコンピュータ等のフロントエンドコンピュータ、又はそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの組み合わせを含むコンピューティングシステムにおいて実現されてもよい。
システム10のコンポーネントは、如何なる形式又は媒体のデジタルデータ通信、例えば通信ネットワークであるが、によって相互接続されてもよい。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)及び、例えばインターネット等のワイドエリアネットワーク(「WAN」)を含む。
コンピュータシステムはクライアント及びサーバを含んでもよい。クライアントとサーバは一般的にお互い離れていて、主に通信ネットワークを通して相互接続される。クライアントとサーバとの関係は、それぞれのコンピュータ上で稼動し、お互いがクライアント-サーバ関係を持つコンピュータプログラムによって生まれる。
システム10はここで述べられた特定の形態には限定されない。例えば、システム10は図3で示した特定の処理手順には限定されない。より正確に記せば、図3におけるブロックは上記に示した結果を達成する目的で、要求どおりに手順を変更及び/又は省略されてもよい。
ここに記されていない他の形態もまた、以下の請求項の範囲となる。

Claims (41)

  1. 仮想マシンを稼動する工程と、
    前記仮想マシンとハードウェアデバイスとの間でデータパケットをルーティングすべく、仮想マシンモニタに含まれる仮想ネットワークインターフェースカードを、前記仮想マシンモニタをリコンパイルすることなくコンフィギュアする工程と
    を備え、
    前記仮想ネットワークインターフェースカードをコンフィギュアする工程は、
    前記仮想マシンモニタの外部のコンパイルされたモジュールであり、前記仮想ネットワークインターフェースカードが前記仮想マシンとともに機能するようコンフィギュアするためのデータを有する前記モジュールを前記仮想ネットワークインターフェースカードにダイナミックロードする工程と、
    前記モジュールからのデータにより、前記仮想ネットワークインターフェースカードによりエミュレートされる実際のネットワークインターフェースカードによって実行されるダイレクトメモリアクセスを前記仮想ネットワークインターフェースカードが実行するよう、前記仮想ネットワークインターフェースカードをコンフィギュアする工程と、
    前記モジュールからのデータにより、前記仮想マシンと前記ハードウェアデバイスとの間でデータパケットを伝送するために使用されるデータ構造をコンフィギュアする工程と
    を有する方法。
  2. 前記仮想ネットワークインターフェースカードをコンフィギュアする工程は、
    前記仮想ネットワークインターフェースカードをコンフィギュアするための前記データを含むファイルを解析する工程
    をさらに有する請求項1に記載の方法。
  3. 前記仮想ネットワークインターフェースカードをコンフィギュアする工程は、
    前記モジュールをコールする命令を受け取る工程
    をさらに有する請求項1に記載の方法。
  4. 前記仮想ネットワークインターフェースカードをコンフィギュアする工程は、メモリアクセス処理、及びハードウェアに対するコンフィギュレーション・レジスタに関する内容の少なくとも1つを特定することに関連する
    請求項3に記載の方法。
  5. 前記モジュールは、バイナリモジュールを含む
    請求項1から4のいずれかに記載の方法。
  6. 前記仮想マシン及び前記仮想ネットワークインターフェースカードは、
    前記ハードウェアデバイスを含むネットワークインターフェースカードを有するデバイスのプロセッサ上で実行される
    請求項1から5のいずれかに記載の方法。
  7. 前記仮想ネットワークインターフェースカードをコンフィギュアする工程は、
    メモリモジュールへのアクセスをコンフィギュアする
    請求項1から6のいずれかに記載の方法。
  8. 前記仮想ネットワークインターフェースカードは、異なるタイプの仮想マシンに共通な機能を実行する
    請求項1から7のいずれかに記載の方法。
  9. 前記仮想ネットワークインターフェースカードは、前記ハードウェアデバイスおよび前記仮想マシン上のドライバをサポートするタスクを有し、
    前記タスクは、前記仮想ネットワークインターフェースカードの周辺機器相互接続(PCI)ヘッダにオペレーティングシステムがアクセスできるよう、コンフィギュレーションスペースにおいて領域を要求するタスクと、
    前記仮想ネットワークインターフェースカードのコントロール・ステータスレジスタにドライバがアクセスできるよう、メモリスペースまたは入出力(I/O)スペースにおいて領域を要求するタスクと、
    前記仮想マシンに割り込みを入れるタスクと、
    データパケットを送受信するタスクと、
    前記ドライバからのコールバックのハンドリングを行うタスクと
    を有する請求項1に記載の方法。
  10. 前記仮想ネットワークインターフェースカードをコンフィギュアする工程において、前記仮想ネットワークインターフェースカードは、前記仮想ネットワークインターフェースカードから実行される前記モジュールをロードする
    請求項1から9のいずれかに記載の方法。
  11. 前記仮想ネットワークインターフェースカードは、前記仮想マシン上のドライバをサポートするコア機能を含んでおり、
    前記モジュールは、前記仮想マシンによりエミュレートされるハードウェアに特有の機能を実行する
    請求項10に記載の方法。
  12. 前記モジュールは、前記仮想ネットワークインターフェースカードおよび前記仮想マシンの間で伝送のためのデータをコンフィギュアする
    請求項10または11に記載の方法。
  13. 前記仮想ネットワークインターフェースカードは、前記ハードウェアデバイスを前記仮想マシンと通信させるネットワークインタフェースドライバと前記仮想マシンとの間で伝送されるデータを前記モジュールに提供し、前記モジュールは、当該伝送されるデータを処理してから前記仮想ネットワークインターフェースカードによる伝送のために前記仮想ネットワークインターフェースカードに送り返す
    請求項12に記載の方法。
  14. 前記モジュールは、前記仮想ネットワークインターフェースカードによりエミュレートされるハードウェアを特定する情報を提供する
    請求項1から9のいずれかに記載の方法。
  15. ドライバを実行するインターフェースデバイスと、
    プロセッシングデバイスと
    を備え、
    前記プロセッシングデバイスは、
    仮想マシンと、
    仮想マシンモニタに含まれる仮想ネットワークインターフェースカードであって、前記ドライバと前記仮想マシンとの間で通信すべく、前記仮想マシンモニタをリコンパイルすることなくコンフィギュアブルな仮想ネットワークインターフェースカードと
    を稼働する命令を実行し、
    前記プロセッシングデバイスは、前記仮想ネットワークインターフェースカードをコンフィギュアする命令を実行することにより、
    前記仮想マシンモニタの外部のコンパイルされたモジュールであり、前記仮想ネットワークインターフェースカードが前記仮想マシンとともに機能するようコンフィギュアするためのデータを有する前記モジュールを前記仮想ネットワークインターフェースカードにダイナミックロードし、
    前記モジュールからのデータにより、前記仮想ネットワークインターフェースカードによりエミュレートされる実際のネットワークインターフェースカードによって実行されるダイレクトメモリアクセスを前記仮想ネットワークインターフェースカードが実行するよう、前記仮想ネットワークインターフェースカードをコンフィギュアし、
    前記モジュールからのデータにより、前記仮想マシンと前記インターフェースデバイスとの間でデータパケットを伝送するために使用されるデータ構造をコンフィギュアする
    システム。
  16. 前記コンフィギュアする命令を実行することにより、前記プロセッシングデバイスは、
    前記仮想ネットワークインターフェースカードをコンフィギュアするための前記データを含むファイルを解析する
    請求項15に記載のシステム。
  17. 前記コンフィギュアする命令を実行することにより、前記プロセッシングデバイスは、前記モジュールをコールする命令を受け取る
    請求項15に記載のシステム。
  18. 前記仮想ネットワークインターフェースカードのコンフィギュアは、メモリアクセス処理、及びハードウェアに対するコンフィギュレーション・レジスタに関する内容の少なくとも1つを特定することに関連する
    請求項17に記載のシステム。
  19. 前記モジュールはバイナリモジュールを含む
    請求項15から18のいずれかに記載のシステム。
  20. 前記プロセッシングデバイスは、
    前記仮想マシンから前記仮想ネットワークインターフェースカードにメモリアクセスのルーティングをするスペースモジュール、
    前記仮想マシンに割り込みを送信するプログラマブル割り込みコントロールモジュール、
    前記仮想ネットワークインターフェースカードの発見及び前記仮想ネットワークインターフェースカードのコンフィギュレーションの初期化をさせる周辺機器接続モジュール
    を実行する命令を実行するようコンフィギュアされる
    請求項15に記載のシステム。
  21. 前記コンフィギュアする命令を実行することにより、前記プロセッシングデバイスは、
    メモリモジュールへのアクセスをコンフィギュアする命令を実行する
    請求項15から19のいずれかに記載のシステム。
  22. 前記仮想ネットワークインターフェースカードは、異なるタイプの仮想マシンに共通な機能を実行する
    請求項15から21のいずれかに記載のシステム。
  23. 前記仮想ネットワークインターフェースカードは、前記インターフェースデバイスおよび前記仮想マシン上のドライバをサポートするタスクを有し、
    前記タスクは、前記仮想ネットワークインターフェースカードの周辺機器相互接続(PCI)ヘッダにオペレーティングシステムがアクセスできるよう、コンフィギュレーションスペースにおいて領域を要求するタスクと、
    前記仮想ネットワークインターフェースカードのコントロール・ステータスレジスタにドライバがアクセスできるよう、メモリスペースまたは入出力(I/O)スペースにおいて領域を要求するタスクと、
    前記仮想マシンに割り込みを入れるタスクと、
    データパケットを送受信するタスクと、
    前記ドライバからのコールバックのハンドリングを行うタスクと
    を有する請求項15に記載のシステム。
  24. 前記プロセッシングデバイスが前記コンフィギュアする命令を実行することにより、
    前記仮想ネットワークインターフェースカードは、前記仮想ネットワークインターフェースカードから実行される前記モジュールをロードする
    請求項15から23のいずれかに記載のシステム。
  25. 前記仮想ネットワークインターフェースカードは、前記仮想マシン上のドライバをサポートするコア機能を含んでおり、
    前記モジュールは、前記仮想マシンによりエミュレートされるハードウェアに特有の機能を実行する
    請求項24に記載のシステム。
  26. 前記モジュールは、前記仮想ネットワークインターフェースカードおよび前記仮想マシンの間で伝送のためのデータをコンフィギュアする
    請求項24または25に記載のシステム。
  27. 前記仮想ネットワークインターフェースカードは、前記インターフェースデバイスを前記仮想マシンと通信させるネットワークインタフェースドライバと前記仮想マシンとの間で伝送されるデータを前記モジュールに提供し、前記モジュールは、当該伝送されるデータを処理してから前記仮想ネットワークインターフェースカードによる伝送のために前記仮想ネットワークインターフェースカードに送り返す
    請求項26に記載のシステム。
  28. 前記モジュールは、前記仮想ネットワークインターフェースカードによりエミュレートされるハードウェアを特定する情報を提供する
    請求項15から23のいずれかに記載のシステム。
  29. プログラムであって、コンピュータに、
    仮想マシンの稼動させ、
    前記仮想マシンとハードウェアデバイスとの間でデータパケットをルーティングすべく、仮想マシンモニタに含まれる仮想ネットワークインターフェースカードを、前記仮想マシンモニタをリコンパイルすることなくコンフィギュアさせ、
    前記コンピュータは、前記仮想ネットワークインターフェースカードをコンフィギュアすべく、
    前記仮想マシンモニタの外部のコンパイルされたモジュールであり、前記仮想ネットワークインターフェースカードが前記仮想マシンとともに機能するようコンフィギュアするためのデータを有する前記モジュールを前記仮想ネットワークインターフェースカードにダイナミックロードし、
    前記モジュールからのデータにより、前記仮想ネットワークインターフェースカードによりエミュレートされる実際のネットワークインターフェースカードによって実行されるダイレクトメモリアクセスを前記仮想ネットワークインターフェースカードが実行するよう、前記仮想ネットワークインターフェースカードをコンフィギュアし、
    前記モジュールからのデータにより、前記仮想マシンと前記ハードウェアデバイスとの間でデータパケットを伝送するために使用されるデータ構造をコンフィギュアする
    プログラム。
  30. 前記コンピュータは、前記仮想ネットワークインターフェースカードをコンフィギュアすべく、
    前記仮想ネットワークインターフェースカードをコンフィギュアするための前記データを含むファイルを解析する
    請求項29に記載のプログラム。
  31. 前記コンピュータは、前記仮想ネットワークインターフェースカードをコンフィギュアすべく、
    前記モジュールをコールする命令を受け取る
    請求項29に記載のプログラム。
  32. 前記仮想ネットワークインターフェースカードのコンフィギュアは、メモリアクセス処理、及びコンフィギュレーション・レジスタに関する内容の少なくとも1つを特定することに関連する
    請求項31に記載のプログラム。
  33. 前記モジュールはバイナリモジュールを含む
    請求項29から32のいずれかに記載のプログラム。
  34. 前記仮想ネットワークインターフェースカードのコンフィギュアは、
    メモリモジュールへのアクセスのコンフィギュアを含む
    請求項29から33のいずれかに記載のプログラム。
  35. 前記仮想ネットワークインターフェースカードは、異なるタイプの仮想マシンに共通な機能を実行する
    請求項29から34のいずれかに記載のプログラム。
  36. 前記仮想ネットワークインターフェースカードは、前記ハードウェアデバイスおよび前記仮想マシン上のドライバをサポートするタスクを有し、
    前記タスクは、前記仮想ネットワークインターフェースカードの周辺機器相互接続(PCI)ヘッダにオペレーティングシステムがアクセスできるよう、コンフィギュレーションスペースにおいて領域を要求するタスクと、
    前記仮想ネットワークインターフェースカードのコントロール・ステータスレジスタにドライバがアクセスできるよう、メモリスペースまたは入出力(I/O)スペースにおいて領域を要求するタスクと、
    前記仮想マシンに割り込みを入れるタスクと、
    データパケットを送受信するタスクと、
    前記ドライバからのコールバックのハンドリングを行うタスクと
    を有する請求項29に記載のプログラム。
  37. 前記コンピュータは、前記仮想ネットワークインターフェースカードをコンフィギュアすべく、
    前記仮想ネットワークインターフェースカードに、前記仮想ネットワークインターフェースカードから実行される前記モジュールをロードさせる
    請求項29から36のいずれかに記載のプログラム。
  38. 前記仮想ネットワークインターフェースカードは、前記仮想マシン上のドライバをサポートするコア機能を含んでおり、
    前記モジュールは、前記仮想マシンによりエミュレートされるハードウェアに特有の機能を実行する
    請求項37に記載のプログラム。
  39. 前記モジュールは、前記仮想ネットワークインターフェースカードおよび前記仮想マシンの間で伝送のためのデータをコンフィギュアする
    請求項37または38に記載のプログラム。
  40. 前記仮想ネットワークインターフェースカードは、前記ハードウェアデバイスを前記仮想マシンと通信させるネットワークインタフェースドライバと前記仮想マシンとの間で伝送されるデータを前記モジュールに提供し、前記モジュールは、当該伝送されるデータを処理してから前記仮想ネットワークインターフェースカードによる伝送のために前記仮想ネットワークインターフェースカードに送り返す
    請求項39に記載のプログラム。
  41. 前記モジュールは、前記仮想ネットワークインターフェースカードによりエミュレートされるハードウェアを特定する情報を提供する
    請求項29から35のいずれかに記載のプログラム。
JP2006543876A 2003-12-18 2004-12-01 仮想ネットワークインターフェース Expired - Fee Related JP4437142B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/740,908 US7752635B2 (en) 2003-12-18 2003-12-18 System and method for configuring a virtual network interface card
PCT/US2004/040144 WO2005064464A2 (en) 2003-12-18 2004-12-01 Virtual network interface

Publications (2)

Publication Number Publication Date
JP2007514238A JP2007514238A (ja) 2007-05-31
JP4437142B2 true JP4437142B2 (ja) 2010-03-24

Family

ID=34677992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006543876A Expired - Fee Related JP4437142B2 (ja) 2003-12-18 2004-12-01 仮想ネットワークインターフェース

Country Status (5)

Country Link
US (1) US7752635B2 (ja)
EP (1) EP1695209A2 (ja)
JP (1) JP4437142B2 (ja)
CN (1) CN101002171B (ja)
WO (1) WO2005064464A2 (ja)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7515589B2 (en) * 2004-08-27 2009-04-07 International Business Machines Corporation Method and apparatus for providing network virtualization
US7506338B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
US7669202B1 (en) * 2004-10-05 2010-02-23 Azul Systems, Inc. Resource management
US7620953B1 (en) * 2004-10-05 2009-11-17 Azul Systems, Inc. System and method for allocating resources of a core space among a plurality of core virtual machines
US7561531B2 (en) * 2005-04-19 2009-07-14 Intel Corporation Apparatus and method having a virtual bridge to route data frames
US7640591B1 (en) * 2005-04-22 2009-12-29 Sun Microsystems, Inc. Method and apparatus for limiting denial of service attack by limiting traffic for hosts
US7697434B1 (en) * 2005-04-22 2010-04-13 Sun Microsystems, Inc. Method and apparatus for enforcing resource utilization of a container
US7499463B1 (en) 2005-04-22 2009-03-03 Sun Microsystems, Inc. Method and apparatus for enforcing bandwidth utilization of a virtual serialization queue
US7627899B1 (en) 2005-04-22 2009-12-01 Sun Microsystems, Inc. Method and apparatus for improving user experience for legitimate traffic of a service impacted by denial of service attack
US7739736B1 (en) 2005-04-22 2010-06-15 Oracle America, Inc. Method and apparatus for dynamically isolating affected services under denial of service attack
US7593404B1 (en) 2005-04-22 2009-09-22 Sun Microsystems, Inc. Dynamic hardware classification engine updating for a network interface
US7623538B1 (en) 2005-04-22 2009-11-24 Sun Microsystems, Inc. Hardware-based network interface per-ring resource accounting
US7782870B1 (en) 2005-04-22 2010-08-24 Oracle America, Inc. Method and apparatus for consolidating available computing resources on different computing devices
US7591011B1 (en) 2005-04-22 2009-09-15 Sun Microsystems, Inc. Assigning higher priority to transactions based on subscription level
US7733890B1 (en) 2005-04-22 2010-06-08 Oracle America, Inc. Network interface card resource mapping to virtual network interface cards
US7607168B1 (en) 2005-04-22 2009-10-20 Sun Microsystems, Inc. Network interface decryption and classification technique
US7471689B1 (en) * 2005-04-22 2008-12-30 Sun Microsystems, Inc. Method and apparatus for managing and accounting for bandwidth utilization within a computing system
US7499457B1 (en) 2005-04-22 2009-03-03 Sun Microsystems, Inc. Method and apparatus for enforcing packet destination specific priority using threads
US8006285B1 (en) 2005-06-13 2011-08-23 Oracle America, Inc. Dynamic defense of network attacks
US7746783B1 (en) 2005-09-14 2010-06-29 Oracle America, Inc. Method and apparatus for monitoring packets at high data rates
US8001543B2 (en) * 2005-10-08 2011-08-16 International Business Machines Corporation Direct-memory access between input/output device and physical memory within virtual machine environment
US7760722B1 (en) 2005-10-21 2010-07-20 Oracle America, Inc. Router based defense against denial of service attacks using dynamic feedback from attacked host
US8635284B1 (en) 2005-10-21 2014-01-21 Oracle Amerca, Inc. Method and apparatus for defending against denial of service attacks
US20070101323A1 (en) * 2005-10-28 2007-05-03 Microsoft Corporation Automatic virtual machine adjustments to network changes
US8572288B2 (en) * 2005-12-15 2013-10-29 Nvidia Corporation Single logical network interface for advanced load balancing and fail-over functionality
US7693044B2 (en) * 2005-12-15 2010-04-06 Nvidia Corporation Single logical network interface for advanced load balancing and fail-over functionality
CN100428164C (zh) * 2006-01-23 2008-10-22 联想(北京)有限公司 一种虚拟机系统及其设备访问方法
CN100464302C (zh) * 2006-04-20 2009-02-25 联想(北京)有限公司 虚拟机系统及其显卡访问方法
US8838756B2 (en) * 2009-07-27 2014-09-16 Vmware, Inc. Management and implementation of enclosed local networks in a virtual lab
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
US8892706B1 (en) 2010-06-21 2014-11-18 Vmware, Inc. Private ethernet overlay networks over a shared ethernet in a virtual environment
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US7715416B2 (en) * 2006-06-30 2010-05-11 The Open Computing Trust 1 Generalized serialization queue framework for protocol processing
US7613198B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and apparatus for dynamic assignment of network interface card resources
US7792140B2 (en) * 2006-06-30 2010-09-07 Oracle America Inc. Reflecting the bandwidth assigned to a virtual network interface card through its link speed
US7966401B2 (en) * 2006-06-30 2011-06-21 Oracle America, Inc. Method and apparatus for containing a denial of service attack using hardware resources on a network interface card
US7742474B2 (en) * 2006-06-30 2010-06-22 Oracle America, Inc. Virtual network interface cards with VLAN functionality
US7643482B2 (en) * 2006-06-30 2010-01-05 Sun Microsystems, Inc. System and method for virtual switching in a host
US7613132B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and system for controlling virtual machine bandwidth
US7630368B2 (en) * 2006-06-30 2009-12-08 Sun Microsystems, Inc. Virtual network interface card loopback fastpath
US7515596B2 (en) * 2006-06-30 2009-04-07 Sun Microsystems, Inc. Full data link bypass
US7684423B2 (en) * 2006-06-30 2010-03-23 Sun Microsystems, Inc. System and method for virtual network interface cards based on internet protocol addresses
US7634608B2 (en) * 2006-06-30 2009-12-15 Sun Microsystems, Inc. Bridging network components
US7672299B2 (en) * 2006-06-30 2010-03-02 Sun Microsystems, Inc. Network interface card virtualization based on hardware resources and software rings
US7885257B2 (en) * 2006-07-20 2011-02-08 Oracle America, Inc. Multiple virtual network stack instances using virtual network interface cards
US7788411B2 (en) * 2006-07-20 2010-08-31 Oracle America, Inc. Method and system for automatically reflecting hardware resource allocation modifications
US7894453B2 (en) * 2006-07-20 2011-02-22 Oracle America, Inc. Multiple virtual network stack instances
US8005022B2 (en) * 2006-07-20 2011-08-23 Oracle America, Inc. Host operating system bypass for packets destined for a virtual machine
US7836212B2 (en) * 2006-07-20 2010-11-16 Oracle America, Inc. Reflecting bandwidth and priority in network attached storage I/O
US7912926B2 (en) * 2006-07-20 2011-03-22 Oracle America, Inc. Method and system for network configuration for containers
US8095675B2 (en) * 2006-07-20 2012-01-10 Oracle America, Inc. Priority and bandwidth specification at mount time of NAS device volume
US8036127B2 (en) 2006-07-20 2011-10-11 Oracle America, Inc. Notifying network applications of receive overflow conditions
US7848331B2 (en) * 2006-07-20 2010-12-07 Oracle America, Inc. Multi-level packet classification
US8050266B2 (en) * 2006-07-20 2011-11-01 Oracle America, Inc. Low impact network debugging
US8713202B2 (en) * 2006-07-20 2014-04-29 Oracle America, Inc. Method and system for network configuration for virtual machines
US8392565B2 (en) * 2006-07-20 2013-03-05 Oracle America, Inc. Network memory pools for packet destinations and virtual machines
US8630296B2 (en) * 2006-07-20 2014-01-14 Oracle America, Inc. Shared and separate network stack instances
US8014413B2 (en) * 2006-08-28 2011-09-06 Intel Corporation Shared input-output device
US7877760B2 (en) * 2006-09-29 2011-01-25 Microsoft Corporation Distributed hardware state management in virtual machines
CN101154130B (zh) * 2006-09-30 2012-07-04 联想(北京)有限公司 一种虚拟机系统及其电源管理方法
US7733795B2 (en) * 2006-11-28 2010-06-08 Oracle America, Inc. Virtual network testing and deployment using network stack instances and containers
US8447880B2 (en) * 2006-12-20 2013-05-21 Oracle America, Inc. Network stack instance architecture with selection of transport layers
US7738457B2 (en) * 2006-12-20 2010-06-15 Oracle America, Inc. Method and system for virtual routing using containers
CN101241445B (zh) * 2007-02-08 2011-07-27 联想(北京)有限公司 虚拟机系统及其访问显卡的方法
US20080228971A1 (en) * 2007-03-13 2008-09-18 Rothman Michael A Device modeling in a multi-core environment
US8593517B2 (en) * 2007-03-26 2013-11-26 Pelco, Inc. Method and apparatus for configuring a video surveillance source
US8194667B2 (en) * 2007-03-30 2012-06-05 Oracle America, Inc. Method and system for inheritance of network interface card capabilities
US8175271B2 (en) * 2007-03-30 2012-05-08 Oracle America, Inc. Method and system for security protocol partitioning and virtualization
US8087066B2 (en) * 2007-04-12 2011-12-27 Oracle America, Inc. Method and system for securing a commercial grid network
US20080267177A1 (en) * 2007-04-24 2008-10-30 Sun Microsystems, Inc. Method and system for virtualization of packet encryption offload and onload
US8006297B2 (en) * 2007-04-25 2011-08-23 Oracle America, Inc. Method and system for combined security protocol and packet filter offload and onload
US7702799B2 (en) * 2007-06-28 2010-04-20 Oracle America, Inc. Method and system for securing a commercial grid network over non-trusted routes
US20090043921A1 (en) * 2007-08-09 2009-02-12 Protip Roy Method and System for Virtualization and Re-Direction of I/O Connections to Peripheral Devices
US8458366B2 (en) * 2007-09-27 2013-06-04 Oracle America, Inc. Method and system for onloading network services
US8095661B2 (en) * 2007-12-10 2012-01-10 Oracle America, Inc. Method and system for scaling applications on a blade chassis
US7962587B2 (en) * 2007-12-10 2011-06-14 Oracle America, Inc. Method and system for enforcing resource constraints for virtual machines across migration
US8370530B2 (en) * 2007-12-10 2013-02-05 Oracle America, Inc. Method and system for controlling network traffic in a blade chassis
US7984123B2 (en) * 2007-12-10 2011-07-19 Oracle America, Inc. Method and system for reconfiguring a virtual network path
US8086739B2 (en) * 2007-12-10 2011-12-27 Oracle America, Inc. Method and system for monitoring virtual wires
US7945647B2 (en) * 2007-12-10 2011-05-17 Oracle America, Inc. Method and system for creating a virtual network path
US7965714B2 (en) * 2008-02-29 2011-06-21 Oracle America, Inc. Method and system for offloading network processing
US8886838B2 (en) * 2008-02-29 2014-11-11 Oracle America, Inc. Method and system for transferring packets to a guest operating system
US7970951B2 (en) * 2008-02-29 2011-06-28 Oracle America, Inc. Method and system for media-based data transfer
US7944923B2 (en) * 2008-03-24 2011-05-17 Oracle America, Inc. Method and system for classifying network traffic
US7826359B2 (en) * 2008-03-24 2010-11-02 Oracle America, Inc. Method and system for load balancing using queued packet information
US7801046B2 (en) * 2008-04-28 2010-09-21 Oracle America, Inc. Method and system for bandwidth control on a network interface card
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US9032397B2 (en) * 2008-05-28 2015-05-12 Hewlett-Packard Development Company, L.P. Virtual machine migration with direct physical access control
US8406230B2 (en) * 2008-06-30 2013-03-26 Oracle America, Inc. Formerly Known As Sun Microsystems, Inc. Method and system for classifying packets in a network interface card and interface for performing the same
US7941539B2 (en) * 2008-06-30 2011-05-10 Oracle America, Inc. Method and system for creating a virtual router in a blade chassis to maintain connectivity
US8099615B2 (en) * 2008-06-30 2012-01-17 Oracle America, Inc. Method and system for power management in a virtual machine environment without disrupting network connectivity
US8739179B2 (en) 2008-06-30 2014-05-27 Oracle America Inc. Method and system for low-overhead data transfer
US7751401B2 (en) * 2008-06-30 2010-07-06 Oracle America, Inc. Method and apparatus to provide virtual toe interface with fail-over
CN101383822A (zh) * 2008-07-10 2009-03-11 北京邮电大学 航空电信网路由器虚拟机
JP5272709B2 (ja) * 2008-12-19 2013-08-28 富士通株式会社 アドレス割当方法、コンピュータ、物理マシン、プログラム、及びシステム
US8032660B2 (en) * 2008-12-30 2011-10-04 Intel Corporation Apparatus and method for managing subscription requests for a network interface component
US8321862B2 (en) * 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
JP4918112B2 (ja) * 2009-03-31 2012-04-18 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置および制御方法
US8116199B2 (en) * 2009-05-08 2012-02-14 Oracle America, Inc. Method and system for monitoring network communication
US8341505B2 (en) * 2009-05-08 2012-12-25 Oracle America, Inc. Enforcing network bandwidth partitioning for virtual execution environments with direct access to network hardware
US8174984B2 (en) * 2009-05-29 2012-05-08 Oracle America, Inc. Managing traffic on virtualized lanes between a network switch and a virtual machine
US8478853B2 (en) * 2009-05-29 2013-07-02 Oracle America, Inc. Handling of multiple MAC unicast addresses with virtual machines
US9059965B2 (en) * 2009-06-30 2015-06-16 Oracle America, Inc. Method and system for enforcing security policies on network traffic
US8194670B2 (en) * 2009-06-30 2012-06-05 Oracle America, Inc. Upper layer based dynamic hardware transmit descriptor reclaiming
US8238324B2 (en) * 2009-07-24 2012-08-07 Broadcom Corporation Method and system for network aware virtual machines
US9854207B2 (en) * 2009-07-31 2017-12-26 Antonio Garrett Mobile surveillance system
US8675644B2 (en) * 2009-10-16 2014-03-18 Oracle America, Inc. Enhanced virtual switch
US8254261B2 (en) * 2009-10-16 2012-08-28 Oracle America, Inc. Method and system for intra-host communication
US8260588B2 (en) * 2009-10-16 2012-09-04 Oracle America, Inc. Virtualizing complex network topologies
US8635632B2 (en) * 2009-10-21 2014-01-21 International Business Machines Corporation High performance and resource efficient communications between partitions in a logically partitioned system
WO2011078861A1 (en) * 2009-12-23 2011-06-30 Intel Corporation A computer platform providing hardware support for virtual inline appliances and virtual machines
CN102147840B (zh) * 2010-02-05 2013-08-28 中国长城计算机深圳股份有限公司 一种通过虚拟机实现网络控制的方法
US20110286380A1 (en) * 2010-05-21 2011-11-24 Yee Yi Zhu Wireless workgroup bridge for network viryualization
US9396000B2 (en) 2010-06-25 2016-07-19 Intel Corporation Methods and systems to permit multiple virtual machines to separately configure and access a physical device
US8726093B2 (en) 2010-06-30 2014-05-13 Oracle America, Inc. Method and system for maintaining direct hardware access in the event of network interface card failure
WO2012026939A1 (en) * 2010-08-27 2012-03-01 Hewlett-Packard Development Company, L.P. Virtual hotplug techniques
US8676762B2 (en) * 2010-12-08 2014-03-18 International Business Machines Corporation Efficient backup and restore of a cluster aware virtual input/output server (VIOS) within a VIOS cluster
US9489224B2 (en) 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
US9858241B2 (en) 2013-11-05 2018-01-02 Oracle International Corporation System and method for supporting optimized buffer utilization for packet processing in a networking device
US8634415B2 (en) 2011-02-16 2014-01-21 Oracle International Corporation Method and system for routing network traffic for a blade server
US8978031B2 (en) * 2012-08-21 2015-03-10 International Business Machines Corporation Processing of overlay networks using an accelerated network interface card
US10341263B2 (en) 2012-12-10 2019-07-02 University Of Central Florida Research Foundation, Inc. System and method for routing network frames between virtual machines
US9489327B2 (en) 2013-11-05 2016-11-08 Oracle International Corporation System and method for supporting an efficient packet processing model in a network environment
US10833925B2 (en) 2015-02-24 2020-11-10 Red Hat Israel, Ltd. Attachment of a logical network to a virtual machine
CN108206750A (zh) * 2016-12-16 2018-06-26 北京国双科技有限公司 虚拟机网卡的配置方法及装置
US10203991B2 (en) * 2017-01-19 2019-02-12 International Business Machines Corporation Dynamic resource allocation with forecasting in virtualized environments
US20190004818A1 (en) * 2017-06-29 2019-01-03 American Megatrends Inc. Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
CN108021034A (zh) * 2017-11-08 2018-05-11 江西洪都航空工业集团有限责任公司 一种精确定时及数据同步的系统及方法
US20220046019A1 (en) * 2020-08-04 2022-02-10 Juniper Networks, Inc. Adding third party hardware to network devices
US11977908B2 (en) * 2021-07-09 2024-05-07 Dish Wireless L.L.C. Streamlining the execution of software such as radio access network distributed units
CN113778626B (zh) * 2021-08-31 2024-10-29 山石网科通信技术股份有限公司 虚拟网卡的热插拔处理方法、装置、存储介质及处理器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2960420B2 (ja) 1988-08-12 1999-10-06 富士ゼロックス株式会社 ユーザインターフェース用表示装置、及び記録装置
GB9311935D0 (en) * 1993-06-09 1993-07-28 Madge Networks Ltd Processor
US5872956A (en) * 1997-04-24 1999-02-16 International Business Machines Corporation Design methodology for device drivers supporting various operating systems network protocols and adapter hardware
UA55489C2 (uk) * 1997-10-07 2003-04-15 Каналь+ Сосьєте Анонім Пристрій для багатопотокової обробки даних (варіанти)
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6473726B1 (en) 1999-09-24 2002-10-29 Frederic Reblewski Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system
US7181542B2 (en) 2000-04-12 2007-02-20 Corente, Inc. Method and system for managing and configuring virtual private networks
US20020143960A1 (en) * 2000-08-02 2002-10-03 Erez Goren Virtual network generation system and method
CN1592898A (zh) * 2000-09-01 2005-03-09 Tut系统公司 一种为数据通信设备预编译配置信息的方法和系统
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7260820B1 (en) * 2001-04-26 2007-08-21 Vm Ware, Inc. Undefeatable transformation for virtual machine I/O operations
JP2002189389A (ja) 2001-08-10 2002-07-05 Fuji Xerox Co Ltd 表示方法およびその装置
US7023878B2 (en) * 2001-12-20 2006-04-04 Sierra Wireless, Inc. Architecture for emulating an Ethernet network interface card
US7111303B2 (en) * 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
US7424710B1 (en) * 2002-12-18 2008-09-09 Vmware, Inc. TCP/IP offloading for virtual machines
US7735095B2 (en) * 2003-05-02 2010-06-08 Microsoft Corporation Network device drivers using a communication transport
US7356818B2 (en) * 2003-06-24 2008-04-08 International Business Machines Corporation Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor
US7603266B2 (en) * 2003-09-19 2009-10-13 Microsoft Corporation Generic emulator of devices in a device communications protocol
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment

Also Published As

Publication number Publication date
WO2005064464A2 (en) 2005-07-14
EP1695209A2 (en) 2006-08-30
US20050138620A1 (en) 2005-06-23
CN101002171A (zh) 2007-07-18
CN101002171B (zh) 2012-02-01
US7752635B2 (en) 2010-07-06
JP2007514238A (ja) 2007-05-31
WO2005064464A3 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
JP4437142B2 (ja) 仮想ネットワークインターフェース
CN109144660B (zh) 微服务架构
JP7506472B2 (ja) アプリケーション関数を装置にオフロードするためのシステム及び方法
US9571332B2 (en) Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure
US10324874B2 (en) Real-time embedded system
US20050216920A1 (en) Use of a virtual machine to emulate a hardware device
US7921177B2 (en) Method and computer system for providing remote direct memory access
US7984438B2 (en) Virtual machine transitioning from emulating mode to enlightened mode
CN114363170B (zh) 容器服务网络配置方法及相关产品
JP2016035770A (ja) コンピュータシステムにおけるオペレーティングシステムの通信ネットワーク経由でのロードおよびブートを最適化するための方法、コンピュータプログラム、および装置
CN116257320B (zh) 一种基于dpu虚拟化配置管理方法、装置、设备及介质
US10509688B1 (en) System and method for migrating virtual machines between servers
US11467835B1 (en) Framework integration for instance-attachable accelerator
CN111427617A (zh) 数据处理方法、装置及设备
KR20190044098A (ko) 컨테이너를 액세스하는데 사용하기 위한 방법 및 디바이스
US20230023945A1 (en) Orchestrating and Automating Product Deployment Flow and Lifecycle Management
CN112368680A (zh) 基本运行环境
CN113721930A (zh) 部署应用程序的方法、装置、设备、介质和程序产品
US20240118914A1 (en) Accelerated virtual passthrough i/o device performance
US20240134654A1 (en) Network interface device booting one or more devices
EP4361858A1 (en) Securing function as a service cloud computing environments
US20230319133A1 (en) Network interface device to select a target service and boot an application
US20240119020A1 (en) Driver to provide configurable accesses to a device
US20230052789A1 (en) Isolating operating system environments in embedded devices
CN112579192B (zh) 信息处理方法、装置、系统和计算机可读存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100104

R150 Certificate of patent or registration of utility model

Ref document number: 4437142

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140108

Year of fee payment: 4

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

LAPS Cancellation because of no payment of annual fees