JP2012009029A - 複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステム - Google Patents

複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステム Download PDF

Info

Publication number
JP2012009029A
JP2012009029A JP2011141735A JP2011141735A JP2012009029A JP 2012009029 A JP2012009029 A JP 2012009029A JP 2011141735 A JP2011141735 A JP 2011141735A JP 2011141735 A JP2011141735 A JP 2011141735A JP 2012009029 A JP2012009029 A JP 2012009029A
Authority
JP
Japan
Prior art keywords
control
vms
vmm
physical device
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011141735A
Other languages
English (en)
Other versions
JP5529080B2 (ja
Inventor
Schue John
ヤーン シュエ
Sn-You Liu
リウ シン−ユオ
Gopalakrishnan Praveen
ゴパラクリシュナン プラヴィーン
Schoenberg Sebastian
シェーンベルク ゼバスティアン
Kumar Sanjay
クマール サンジャイ
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 JP2012009029A publication Critical patent/JP2012009029A/ja
Application granted granted Critical
Publication of JP5529080B2 publication Critical patent/JP5529080B2/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
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムを提供すること。
【解決手段】本発明の一特徴は、コンピュータシステムの複数のバーチャルマシーン(VM)のそれぞれから、前記VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信するインタフェースシステムと、前記複数のVMのそれぞれについてVMに固有の接続情報と設定パラメータとを維持し、対応する前記VMに固有の接続情報と設定パラメータとによって前記複数のVMのそれぞれについて前記物理デバイスを再設定する制御システムとを有するシステムであって、前記インタフェースシステムと前記制御システムとは、前記VMを提供するバーチャルマシーンモニタ(VMM)の実質的に外部に実現されるシステムに関する。
【選択図】図1

Description

本発明は、複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムに関する。
コンピュータシステムは、1以上のゲストオペレーティングシステムを提供するためのバーチャルマシーンモニタ(VMM)を有する。
VMMは、ゲストオペレーティングシステム間のコンピュータシステムのリソースへのアクセスを調停する。VMMは、ゲストオペレーティングシステムへのリソースの抽象化又はバーチャルインタフェースを提供する。ゲストオペレーティングシステムと対応するバーチャル化されたリソース及びインタフェースとは、バーチャルマシーン(VM)とここでは呼ばれる。
VMMは、VMのための隔離されたセキュアな環境を提供する。
VMMは、ソフトウェアにより、又はソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
物理リソースは、1以上の設定可能な機能を有する。例えば、無線ネットワークインタフェースコントローラ(NIC)は、デバイス初期化、ネットワークスキャニング、ネットワークアクセスポイント選択、チャネル選択、接続確立、ハンドオーバ管理、セキュリティ及び電力制御に関して設定可能である。
PCI−SIG(Peripheral Component Interconnect Special Interest Group)により公開されているSR−IOV(Single Root I/O Virtualization)仕様(v1.0)に基づくソフトウェアベースのVMM及びNICハードウェア初期化サポートを含む有線NICをバーチャル化するための各種技術が開発されている。
ソフトウェアベースのVMMアプローチは、VMから設定可能なデバイス特徴を保護する。
SR−IOVアプローチは、NICパフォーマンスを向上させるが、ハードウェアの複雑さとコストを追加する。
本発明の課題は、複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムを提供することである。
上記課題を解決するため、本発明の一特徴は、コンピュータシステムの複数のバーチャルマシーン(VM)のそれぞれから、前記VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信するインタフェースシステムと、前記複数のVMのそれぞれについてVMに固有の接続情報と設定パラメータとを維持し、対応する前記VMに固有の接続情報と設定パラメータとによって前記複数のVMのそれぞれについて前記物理デバイスを再設定する制御システムとを有するシステムであって、前記インタフェースシステムと前記制御システムとは、前記VMを提供するバーチャルマシーンモニタ(VMM)の実質的に外部に実現されるシステムに関する。
本発明によると、複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステムを提供することができる。
図1は、複数のバーチャルマシーンのそれぞれが物理デバイスを設定及びアクセスすることを可能にするためのコンピュータシステム、設定可能な物理リソース又はデバイス及び仮想拡張システムを含むコンピュータプラットフォームのブロック図である。 図2は、仮想拡張(VA)システムの概念的なブロック図である。 図3は、物理デバイスが仮想化拡張された無線ネットワークインタフェースコントローラ(NIC)を有するコンピュータプラットフォームのブロック図である。 図4は、VAシステムがVMMと物理デバイスとの間でやりとりされるメッセージ及びコントロールとVM識別子とを関連付けるよう構成される図3に示されるコンピュータプラットフォームのブロック図である。 図5は、物理デバイスと複数のVMとの間のインタフェース方法のフローチャートである。 図6は、複数のVMに対して再設定可能であり、VMとの間の設定制御及びデータトラフィックに関してVMを特定するよう構成される無線NICのブロック図である。 図7は、複数のVMに関して動作し、VMとの間の設定制御及びデータトラフィックに関してVMを特定することを含む無線NICの制御方法のフローチャートである。 図8は、設定制御及び受信パケットに関してVMを特定する方法のフローチャートである。 図9は、1以上のアクセスポイントから受信したパケット及びVMMから受信した送信パケットとVM固有識別子とを関連付ける方法のフローチャートである。 図10は、コンピュータシステムの一例となる特徴を含む図1のコンピュータプラットフォームのブロック図である。 図11は、物理デバイスの一例となる特徴を含む図1のコンピュータプラットフォームの他のブロック図である。
以下、図面に基づいて本発明の実施の形態を説明する。
複数のバーチャルマシーン(VM)のそれぞれが個別に物理リソース又はデバイスを設定及びアクセスすることを可能にする方法及びシステムと、物理デバイスがホストコンピュータシステムの複数のVMを特定することを実現するための方法及びシステムとが、ここに開示される。
図1は、コンピュータシステム102と、設定可能な物理リソース又はデバイス104と、コンピュータシステム102の複数のバーチャルマシーンのそれぞれが物理デバイス104を設定及びアクセスすることを可能にする仮想拡張(VA)システム118とを有するコンピュータプラットフォーム100のブロック図である。
物理デバイス104は、物理デバイス104の1以上の機能又は特徴を設定するデバイスコントローラ106を有する。
物理デバイス104は、各種物理デバイス又はリソースの1以上を有する。例えば、物理デバイス104は無線送受信機を有し、デバイスコントローラ106は無線ネットワークインタフェースコントローラ(NIC)を有する。しかしながら、物理デバイス104とデバイスコントローラ106とは、無線NICに限定されるものでない。
コンピュータシステム102は、ホスト環境110とここでは呼ばれるプロセッサ実行環境を提供するため1以上のプロセッサ108を有する。ホスト環境110は、1以上のバーチャルマシーン(VM)114−1〜114−nを提供するためバーチャルマシーンモニタ(VMM)112を有する。
デバイスコントローラ106は、ファームウェアに設けることが可能な命令又はロジックを実行するため、マイクロコントローラを含む他のプロセッサを有する。
ホスト環境110は、コンピュータシステム102と物理デバイス104との間のインタフェースをとるためホストデバイスドライバ116を有する。ホストデバイスドライバ116は、VMM112の外部のプロセッサ108上で実行される。
VAシステム118は、VM114−1〜114−nのそれぞれが物理デバイス104を個別に設定及びアクセスすることを可能にするよう構成される。
VM114はそれぞれ、VM114−1〜114−n内の物理デバイスの制御可能な機能を明らかにするためデバイスドライバ120のインスタンスを有する。デバイスドライバ120は、物理デバイス104及び/又はデバイスコントローラ106について具体的に設計され、物理デバイス104及び/又はデバイスコントローラ106のメーカーにより提供されてもよい。デバイスドライバ120は、ここでは純正デバイスドライバと呼ばれてもよい。
VAシステム118又はその一部は、デバイスコントローラ106及び/又はコンピュータシステム102内に実現されてもよい。コンピュータシステム102内において、VAシステム118の1以上の部分が、VMM112の内部において、及び/又はホストデバイスドライバ116内などのVMM112の外部において実現されてもよい。
VAシステム118の一部がデバイスコントローラ106内に実現される場合、デバイスコントローラ106は、ここでは仮想拡張されたデバイスコントローラと呼ばれてもよい。
I/Oインタフェースシステム112の一部がホストデバイスドライバ116内で実現される場合、ホストデバイスドライバ116は、仮想拡張されたホストデバイスドライバと呼ばれてもよい。
図2は、VM114−1〜114−nから物理デバイス104(図1)から送信されるコマンド及び/又はデータを管理するため統合制御エンジン202を有する仮想拡張システム118の概念的なブロック図である。統合制御エンジン202は、物理デバイス104との統合された制御インタフェースを提供する。例えば、統合制御エンジン202は、優先度、コマンドの性質、競合の可能性及び/又は他のファクタに基づく、VM114−1〜114−nからの制御及び/又は設定コマンドを選択及び/又は無視するなど、VM114−1〜114−nからの制御及び/又は設定コマンドを合成するよう構成される。
統合制御エンジン202は、VM114−1〜114−nのそれぞれについてVMに固有のパラメータ204を維持し、VM固有パラメータ204を物理デバイス104に選択的に適用するよう構成される。図2において、VM固有パラメータ204の選択的な適用が、マルチプレクサ206と共に機能的に示される。
パラメータ204は、デバイス設定パラメータ及び/又は接続情報の1以上を有する。デバイス設定パラメータ及び接続情報のタイプは、物理デバイスのタイプによって変更されてもよい。
物理デバイス104が無線NICを有する場合、例えば、設定パラメータは、デバイス初期化、ネットワークスキャニング、ネットワーク/アクセスポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ/暗号化、及び電力制御の1以上に関するものであってもよい。
あるいは、又はさらに、無線NICは、認証、帯域幅、管理、アクセス制御/優先度、サブネットローミング、バッファリング、RTS(Request−To−Send)及びCTS(Clear−To−Send)、及びQoS(Quality of Service)(アクセス優先度などのユーザプロファイルに基づく帯域幅管理など)の1以上に関して設定可能であってもよい。
上述された一例となる設定パラメータは、例示のために提供されたものであり、網羅的なものでない。ここに開示される方法及びシステムは、上述された制御可能な特徴の一例となるリストに限定されるものでない。
接続情報に関して、物理デバイス104が無線NICを有する場合、接続情報は、例えば、アクセスポイントMACアドレス、VM固有のMACアドレス、アクセスポイントによりサポートされるデータレート、アクセスポイントが動作するチャネル、及び/又は接続若しくはセッションに固有のセキュリティキーなどを含むものであってもよい。
接続情報はまた、状態情報を有してもよい。物理デバイス104が無線送受信機を有する場合、状態情報は、例えば、関連付け状態及び/又はレートスケーリングアルゴリズムの状態などを含むものであってもよい。
あるVM接続に関する接続情報は格納され、及び/又は物理デバイス104へのアクセスが当該VMから他のVMに移行されると更新されてもよい。接続情報は、VMが以降において物理デバイス104にアクセスすると再適用されてもよい。
制御モジュール202は、VM114と物理デバイス104との間で送受信メッセージを調整し、VM114−1〜114−nのそれぞれが対応するVM固有パラメータ204に基づき物理デバイス104に個別にアクセスすることを可能にするよう構成されてもよい。制御モジュール202は、時分割的にVM114−1〜114−nが物理デバイス104に個別にアクセスすることを可能にするよう構成されてもよい。
制御モジュール202又はその一部は、ホストデバイスドライバ116(図1)内において、及び/又はマイクロコントローラ上で実行されるファームウェア埋め込み命令又はロジックなどを有するデバイスコントローラ106(図1)内において、実現されてもよい。
図3は、コンピュータシステム102と物理デバイス104のブロック図であり、物理デバイス104は仮想拡張された無線NIC304を有し、コンピュータシステム102は仮想拡張されたホスト無線NICドライバ312を有し、VAシステム118はNIC304、ホスト無線NICドライバ312及びVMM112を介して実現されるように示される。
無線NIC304は、MAC(Medium Access Controller)306と、MAC306と無線送受信機との間のインタフェースをとる物理レイヤ部又はデバイス(PHY)308とを有する。MAC306は、対応するVM固有デバイスパラメータ204により規定されるようなバーチャルMAC307−〜307−n(図2)として示されるように、VM114−1〜114−nのそれぞれにMAC306のバーチャルインスタンスを提供するよう再設定可能である。
VM114−1〜114−nは、対応する純正無線NICドライバ320−1〜320−nを有する。
ホスト無線NICドライバ312は、ラジオ314として示されるようなMAC306とVMM112との間のインタフェースを提供する。ホスト無線NICドライバ312は、対応するVM固有の設定及びコンテクストパラメータにより規定されるバーチャルラジオ316−1〜316−nとして示されるように、VM114−1〜114−nのそれぞれに対してラジオ314のバーチャルインスタンスを提供するよう構成される。
ホスト無線NICドライバ312は、VMM112の外部のプロセッサ108上で実行される制御モジュール320を有する。制御モジュール320は、無線NIC304との統合制御インタフェースを提供するため、VM114−1〜114−nからのデバイス設定制御を統合するよう構成される。
VMM112は、無線NIC304に対応するデバイスモデルを有し、デバイスモデル318−1〜318−nとして示されるように、無線NICドライバ320−1〜320−nに対してデバイスモデルのバーチャルインスタンスを示すよう構成される。デバイスモデルは、エミュレートされたPCI(Peripheral Component Interconnect)機能を有する。
無線NICデバイスドライバ320、デバイスモジュール318及びホスト無線NICドライバ312は、VM114が物理デバイス104の設定可能な機能のすべて又は一部にアクセスすることを可能にするよう構成される。
図4は、図3に示されるようなコンピュータシステム102と物理デバイス104のブロック図であり、VAシステム118は、VMM112、ホスト無線NICドライバ312及び無線NIC304の間でやりとりされるメッセージ及びコントロールとVM固有識別子とを関連付けるよう構成される。これは、VM固有識別子によりメッセージのタグ付けと呼ばれる。
図4において、無線NIC304は、バーチャルラジオ識別子又はVR IDタグモジュール402を有し、ホスト無線NICドライバ312は、VR IDタグモジュール404を有する。VR IDタグモジュール402,404はそれぞれ、無線NIC304とホスト無線NICドライバ312との間で送信されるメッセージ及びコントロール305を適切なVM固有のVR IDタグによりタグ付けするよう構成される。
MAC306はさらに、関連付けされたVR IDタグに基づき、バーチャルMAC307−1〜307−nの選択されたものによって、ホスト無線NICドライバ312から受信したメッセージを処理するよう構成される。
同様に、ホスト無線NICドライバ312はさらに、関連付けされたVR IDタグに基づき、バーチャルラジオ316−1〜316−nの選択されたものによって、無線NIC304から受信したメッセージを処理するよう構成される。
ホスト無線NICドライバ312はさらにVM IDタグモジュール406を有し、VMM112はVM IDタグモジュール408を有する。VM IDタグモジュール406,408はそれぞれ、ホスト無線NICドライバ312とVMM112との間で送信されるメッセージ及びコントロールを適切なVM IDタグによりタグ付けするよう構成される。
ホスト無線NICドライバ312はさらに、関連付けされたVM IDタグに基づき、バーチャルラジオ316−1〜316−nの選択されたものを介しVMM112から受信したメッセージをわたすよう構成される。
同様に、VMM112は、関連付けされたVM IDタグに基づき、VM114−1〜114−nの選択されたものにホスト無線NICドライバ312から受信したメッセージをわたすよう構成される。
図5は、物理デバイスと複数のVMとの間のインタフェースをとる方法500のフローチャートである。
502において、物理デバイスに対する設定制御が、VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し複数のVMから受信される。
504において、VM固有の設定パラメータとVM固有の接続情報とが、1以上の具体例に示されるように、各VMについて維持される。
506において、物理デバイスは、1以上の具体例に示されるように、対応するVM固有の設定パラメータと接続情報とによって各VMに対して再設定される。
502における設定制御の受信、504におけるVM固有の設定パラメータとVM固有の接続情報との維持、及び506における物理デバイスの再設定とは、1以上の具体例に示されるように、VMを提供するVMMの実質的に外部で実行される。
504におけるVM固有の設定パラメータとVM固有の接続情報との維持と、506における物理デバイスの再設定とは、上述された1以上のパラメータに関して各VMの無線NICを再設定することを含む。
上述された設定パラメータは、例示のために提供されている。方法500は、上述された制御可能な特徴のリストに限定されるものでない。
VMとの間の設定制御とデータトラフィックとに関してVMを特定するための方法及びシステムが、図6〜9を参照して説明される。当該方法及びシステムは、無線NICを参照して説明される。しかしながら、当該方法及びシステムは無線NICに限定されるものでない。
図6は、複数のVMに対して再設定可能であり、設定制御及びデータトラフィックに関してVMを特定するよう構成される無線NIC604のブロック図である。無線NIC604は、図1の物理デバイス104に対応し、図1に関して後述される。しかしながら、無線NIC604は図1の例に限定されるものでない。
ホストデバイスドライバ601は、送信パケット606と設定制御608とをVM114−1〜114−n(図1)から無線NIC604に送信するよう構成される。無線NIC604は、対応するVM114−1〜114−nに提供するため、受信パケット610と状態フィードバック612とをホストデバイスドライバ601に送信するよう構成される。
送信パケット606、設定制御608、受信パケット610及び状態フィードバック612は、無線NIC604及びホストデバイスドライバ601がVM毎にパケット、制御及びフィードバックを処理することを可能にするため、適切なVM識別子(VM ID)によりタグ付けされる。VM IDは、図4を参照して上述されたように、VM及び/又はバーチャルラジオに直接関連するものであってもよい。
VM IDのタグ付けは、複数の技術の1以上とこれらの組み合わせにより実現されてもよい。
例えば、ホスト環境110は、無線NIC604とVM114−1〜114−nとの間のインタフェースをとるホストAPI(Pllication Program Interface)を有してもよい。ホストAPIは、ホストデバイスドライバ601内に実現されてもよい。ホストAPIは、ホストAPIヘッダのVM識別子(VM ID)フィールドを認識するよう構成される。VM IDヘッダフィールドは、既存の又は従来のAPIヘッダのリザーブドビットにより収容されてもよい。VM IDヘッダフィールドに用いられるビット数は、サポートされるVMの個数によって決定される。
状態フィードバック612に関して、無線NIC604は、状態フィードバック612によりホストAPIにコールするためデバイス開始APIコールモジュール614を有する。無線NIC604はさらに、状態フィードバック612のホストAPI VM IDヘッダフィールドにVM IDを挿入するためVM ID挿入モジュール616を有する。これは、ホストデバイスドライバ601が状態フィードバック612を適切なVMに送信することを可能にする。
設定制御608に関して、図3及び4のデバイスモデル318などのVMM内のデバイスモデルは、VM IDを対応するVMから発行されるAPI制御コール(設定制御608)に挿入するよう構成される。無線NIC604は、設定制御608を受信し、API VM IDヘッダフィールドから関連するVM114を特定するためVM特定手段618を有する。
受信パケット610と送信パケット606とのVMの特定が後述される。
無線NIC604は、関連するVM IDに基づきVM毎に設定制御608を処理するよう構成される。無線NIC604は、例えば、後述されるように、VM毎にMAC及び/又はPHYを初期化するためVM単位デバイス初期化モジュール602などを有してもよい。無線NIC604はまた、後述されるように、VM単位パラメータを維持するためVM単位接続テーブル622を有する。
VMの特定が、受信パケット610に関して説明される。
無線NIC604は、1以上のサービスセット識別子(SSID)に関連付けされる1以上のアクセスポイント又は送受信機からパケット610を受信する。各受信パケット610は、VM114の1つに固有の宛先MACアドレスを有する。
無線NIC604は、受信パケット610のMACアドレスに基づきVM単位接続テーブル622においてVM IDを検索するため受信側VM ID検索モジュール626を有する。
無線NIC604はさらに、VM ID挿入モジュール616を参照して上述されるように、受信パケット610のAPI VM IDヘッダフィールドに特定されたVM IDを挿入するためVM ID挿入モジュール628を有する。
受信パケット610のVM IDは、ホストデバイスドライバ601が受信パケット610を実質的に処理することなく適切なVM114に受信パケット610をわたすことを可能にする。
無線NIC604は、後述されるセキュリティモジュール630を有する。
VMの特定が、送信パケット606に関して説明される。
ホスト環境110(図1)は、設定制御608に関して上述されたように、送信パケット606にVM IDを挿入するよう構成される。このような状況では、送信パケット606の設定パラメータ及び接続情報は、VM IDに基づきVM単位接続テーブル622から抽出される。
あるいは、送信パケット606は、VM IDなしにホストデバイスドライバ601から受信されてもよい。例えば、ホストデバイスドライバ601及び/又はホストAPIは、VM IDをAPIヘッダに挿入するよう構成されなくてもよい。このような状況に対応するため、無線NIC604は、受信側VM ID検索モジュール626に関して上述されたように、送信パケット606に含まれるVM固有MACアドレスに基づき、VM単位接続テーブル622からVM IDを検索するため送信側VM ID検索モジュール632を有してもよい。
無線NIC604は、VM ID検索モジュール632により特定されたVM IDに基づき、VM単位接続テーブル622からVM固有設定パラメータ及び接続情報を抽出し、対応するVM IDに基づき送信パケット606に対して無線NICの機能を設定又は再設定するためVM単位設定モジュール634を有する。
デバイス初期化が説明される。
設定制御608は、複数のVMからのデバイス初期化制御を有する。デバイス初期化制御は、PHY及び/又はMACに送られる。無線NIC604は、デバイス初期化制御を処理し、競合する可能性のあるデバイス初期化制御を回避するためVM単位デバイス初期化モジュール620を有する。
PHYの初期化について、初期化モジュール620は、現在のPHY状態と動作チャネルとを決定するよう構成される。初期化モジュール620はさらに、PHYが現在初期化されていないときに限って、PHYを初期化するよう構成される。PHY初期化コマンドが現在の動作チャネル又はモード以外のチャネル又はモードを指定する場合、初期化モジュール620は、手続前に1以上のファクタを評価する。ファクタは、新たなチャネル又はモードがデバイスによってサポートされているかと、新たなチャネル又はモードに関連付けされる制約とを含む。
MACの初期化について、初期化モジュール620は、あるVMがまず対応するNICドライバを呼び出すか又は起動したとき、当該VMに対してMACインスタンスを開始するよう構成される。これは、VMに対してパケット610を受信するため、VMのMACアドレスによってバーチャルMACのMACフィルタを設定することを含む。
VM固有パラメータの維持が説明される。
VM単位接続テーブル622は、複数のVM又はVM接続のそれぞれに対して、状態情報を含むVM固有設定パラメータ及び接続情報を維持するよう構成される。
VM単位接続テーブル622は、無線NIC604へのアクセスがあるVMから他のVMに転送されときに、当該VMの接続情報を格納し、VMが以降に無線NIC604にアクセスしたときに接続情報及び対応する設定パラメータを再適用するよう構成される。
VM単位接続テーブル622及び/又は無線NIC604は、対応するVM IDに関連付けてVM単位又は接続単位情報を維持又は格納するため接続毎の独立したエントリを有するデータ構造を有する。無線NIC604は、各VMに関連する詳細を有するデータ構造を維持(追加、変更又は削除など)するよう構成される。このデータ構造は、ucodeデータ構造を含むものであってもよい。
セキュリティ機能が説明される。
VM単位接続テーブル622は、各VM又はVM接続に対してVM固有セキュリティ情報を格納するよう構成される。セキュリティ情報は、例えば、TKIP(Temporal Key Integrity Protocol)やCCMP(counter mode with cipher block chaining message authentication code protocol)の1以上を含むVM単位暗号化/解読技術を含む。セキュリティ情報は、受信パケット610を復号化する、及び/又は送信パケット606を符号化するためのセキュリティキー及び/又はセキュリティキーへのインデックスを有する。
受信側では、セキュリティモジュール630は、受信パケット610のVM IDに基づきVM単位接続テーブル622からVM固有セキュリティ解読技術及びセキュリティキーを抽出し、対応する解読技術及びキーにより受信パケット610を復号化するよう構成される。あるいは、復号化がコンピュータシステム102により実行され、セキュリティモジュール630は、対応する受信パケット610を有するVM固有セキュリティキーインデックスを抽出及び転送するよう構成されてもよい。
送信側では、VM単位設定モジュール634は、送信パケット606のVM IDに基づき接続テーブル622からVM固有セキュリティ暗号化技術及びセキュリティキーを抽出し、対応する暗号化技術及びキーにより送信パケット606を符号化するよう構成される。
図7は、VMとの間の設定制御及びデータトラフィックに関するVM間の特定を含む、複数のVMに関して動作する無線NICを制御する方法700のフローチャートである。
702において、コンピュータシステムにより提供される複数のバーチャルマシーン(VM)から無線NICに送信される設定制御が受信され、各設定制御に対して、VMの1つが設定制御の送信元として特定される。
704において、VM固有設定パラメータ及びデバイス接続情報は、各VMに対してNICにより維持される。
706において、VMからの送信パケットが受信され、各送信パケットに対して、VMの1つが送信パケットの送信元として特定され、無線NICが、対応するVM固有設定パラメータ及びVM固有デバイス接続情報により設定される。
708において、1以上の無線アクセスポイントからのパケットが受信され、各受信パケットに対して、VMの1つが送信先VMとして特定され、受信パケットが対応するVM識別子によりコンピュータシステムに転送される。
図8は、設定制御及び受信パケットに関してVMを特定する方法800のフローチャートである。方法800又はその一部は、方法700と共に実現されてもよい。
802において、状態フィードバック及び受信パケットがAPIコールとしてコンピュータシステムに送信され、各APIコールに対して、VM識別子がAPIコールのヘッダフィールドに挿入される。
804において、コンピュータシステムからの設定制御がAPIコールとして受信され、各設定制御に対して、VMの1つが対応するAPIコールのヘッダフィールドのVM識別子からの設定制御の送信元として特定される。
図9は、1以上のアクセスポイントから受信されるパケット及びコンピュータシステムから受信した送信パケットとVM固有識別子とを関連付ける方法900のフローチャートである。方法900又はその一部は、方法700及び/又は方法800と共に実現されてもよい。
902において、複数のVMのそれぞれに対して、VM固有バーチャルMACが開始される。各バーチャルMACは、対応するVM固有MACアドレスにより設定される。
904において、各VM固有MACアドレスと対応するVM識別子との間の参照が維持される。
906において、各受信パケットに対して、受信パケットの送信先MACアドレスに基づきVM識別子が検索される。
908において、各送信パケットに対して、送信パケットのVM固有MACアドレスに基づきVM識別子が検索される。
受信側において、VM識別子が受信パケットを復号化するためのセキュリティ情報を検索するのに利用される。受信パケットは、無線NICにより解読されるか、又は1以上の具体例において説明されるように、セキュリティキーインデックスと共にコンピュータシステムに送信されてもよい。
ここに開示される1以上の機能は、個別及び集積回路ロジック、ASIC(Application Specific Integrated Circuit)ロジック及びマイクロコントローラを含む、ハードウェア、ソフトウェア、ファームウェア及びこれらの組み合わせにより実現されてもよく、またドメイン固有集積回路パッケージ及び/又は集積回路パッケージの組み合わせの一部として実現されてもよい。ここで用いられるソフトウェア、コード及び命令という用語は、コンピュータシステムに1以上の機能を実行させるためのコンピュータプログラムロジックを有するコンピュータ可読媒体を含むコンピュータプログラムプロダクトを示す。
図10は、コンピュータシステム102の機能例を含む、図1のコンピュータプラットフォーム100のブロック図である。
図10の例において、コンピュータシステム102は、コンピュータプログラムプロダクトロジック(以降、“ロジック”)を実行するためプロセッサ108を有する。プロセッサ108は、複数のプロセッサを表すものであってもよい。
コンピュータシステム102は、メモリ1004としてここでは示されるメモリ、キャッシュ、レジスタ及びストレージの1以上を有する。メモリ1004は、プロセッサ108に1以上の機能を実行させるためのコンピュータプログラムロジック又は命令1006を有するコンピュータ可読媒体を含むコンピュータプログラムプロダクトを含む。
メモリ1004は、ロジック1006の実行中にプロセッサ108により使用され、及び/又はロジック1006の実行に応答してプロセッサ108により生成されるデータ1008を有する。
ロジック1006は、プロセッサ108に1以上のアプリケーションタスクを実行させるためアプリケーションロジック1010を有する。
ロジック1006は、プロセッサ108にアプリケーションロジック1010の動作環境を提供させるためオペレーティングシステムロジック1012を有する。
ロジック1006は、プロセッサ108にバーチャルマシーン内でオペレーティングシステムロジック1012を実行させるためVMMロジック1014を有する。
ロジック1006は、ここでの1以上の実施例において説明されるように、プロセッサ108に物理デバイス104とバーチャルマシーンモニタとの間のインタフェースをとらせる仮想拡張されたホストデバイスドライバロジック1016を有する。
ホストデバイスドライバロジック1016は、プロセッサ108に複数のVM固有バーチャルラジオを設定させるためロジックを有し、データ1008は、対応するVM固有バーチャルラジオ設定及びコンテクストパラメータ1018を有する。
コンピュータシステム102は、コンピュータシステム102内のデバイス間のインタフェースをとり、物理デバイス104と通信するため通信インフラストラクチャ1040を有する。
図11は、物理デバイス104の一例となる特徴を含む図1のコンピュータプラットフォーム100のブロック図である。
物理デバイス104は、コンピュータプログラムプロダクトロジックを実行する、ここではコントローラ1102と示される1以上のコンピュータ命令処理ユニットを有する。
物理デバイス104は、以降においてメモリ1104と呼ばれるメモリ、キャッシュ、レジスタ及びストレージの1以上を有する。メモリ1104は、コントローラ1102に1以上の機能を実行させるためコンピュータプログラムロジックを有するコンピュータ可読媒体を含むコンピュータプログラムプロダクトを有する。ロジック1106は、ファームウェアにより提供され、実行時にメモリにコピーされる。一例となるロジックが後述される。
メモリ1104は、ロジック1106の実行中にコントローラ1102により使用され、及び/又はロジック1106の実行に応答してコントローラ1120により生成されるデータを有してもよい。
ロジック1106は、コントローラ1102にコンピュータシステム102の各VMのVM固有パラメータ204を維持させ、ここでの1以上の実施例に示されるように、VM固有パラメータ204により物理デバイス104を再設定させるため物理デバイスロジック1110を有する。
物理デバイスロジック1110は、コントローラに上述された1以上の実施例に示されるような仮想拡張された無線NICとして実行させるため仮想拡張された無線NICロジック1112を有する。
機能、特徴及びその関係を示す機能ブロックを用いて方法及びシステムが開示された。これらの機能ブロックの境界の少なくとも一部は、説明の便宜上任意に規定された。指定された機能及び関係が適切に実行される限り、他の境界が規定されてもよい。
各種実施例が開示されたが、それらは単なる一例であり、限定的なものでないことが理解されるべきである。形態及び詳細の各種変更が開示された方法及びシステムの趣旨及び範囲から逸脱することなく可能であることは、当業者に明らかであろう。従って、請求項の幅及び範囲は、開示された実施例の何れによっても限定されるべきでない。
100 コンピュータプラットフォーム
102 コンピュータシステム
104 物理デバイス
106 デバイスコントローラ
108 プロセッサ
112 バーチャルマシーンモニタ(VMM)
114 バーチャルマシーン(VM)
118 仮想拡張(VA)システム
120 デバイスドライバ

Claims (23)

  1. コンピュータシステムの複数のバーチャルマシーン(VM)のそれぞれから、前記VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信するインタフェースシステムと、
    前記複数のVMのそれぞれについてVMに固有の接続情報と設定パラメータとを維持し、対応する前記VMに固有の接続情報と設定パラメータとによって前記複数のVMのそれぞれについて前記物理デバイスを再設定する制御システムと、
    を有するシステムであって、
    前記インタフェースシステムと前記制御システムとは、前記VMを提供するバーチャルマシーンモニタ(VMM)の実質的に外部に実現されるシステム。
  2. 前記インタフェースシステムの少なくとも一部は、前記VMMの外部において前記コンピュータシステム上で実行されるホストデバイスドライバ内に実現され、
    前記ホストデバイスドライバは、前記物理デバイスに統合制御インタフェースを提供するため前記複数のVMからのデバイス制御を統合するよう構成され、
    前記制御システムは、前記物理デバイス内に実質的に実現される、請求項1記載のシステム。
  3. 前記インタフェースシステムと前記制御システムとは、前記物理デバイス、前記VMMの外部において前記コンピュータシステム上で実行するホストデバイスドライバ、又は前記VMMの上位で実行する1以上の制御ドメインの1つの実質的に内部において実現される、請求項1記載のシステム。
  4. 前記物理デバイスは、無線ネットワークインタフェースコントローラ(NIC)を有する、請求項1記載のシステム。
  5. 前記無線NICは、MAC(Medium Access Controller)を有し、
    前記制御システムは、対応するVMに固有の設定パラメータと接続情報とにより前記複数のVMのそれぞれについて前記MACを再設定するよう構成される、請求項4記載のシステム。
  6. 前記インタフェースシステムの少なくとも一部は、前記VMMの外部において前記コンピュータシステム上で実行するホストデバイスドライバ内に実現され、
    前記ホストデバイスドライバは、前記無線NICと前記VMMとの間のインタフェースをとるラジオを有し、
    前記ラジオは、前記複数のVMのそれぞれについて対応するVMに固有の設定パラメータとコンテクストパラメータとにより再設定可能であり、
    前記ホストデバイスドライバは、前記無線NICに統合制御インタフェースを提供するため前記VMからの設定制御を統合するよう構成される、請求項5記載のシステム。
  7. 前記MACは、パケットを送信するよう構成され、VMに固有のラジオ固有識別子により前記ホストデバイスドライバを制御し、
    前記ホストデバイスドライバは、前記VMMと前記MACとの間でパケット及び制御を通信するため、ラジオ固有識別子とVM固有識別子との間で変換するよう構成される、請求項6記載のシステム。
  8. コンピュータシステムの複数のバーチャルマシーン(VM)のそれぞれから、前記VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し前記物理デバイスに対する設定制御を受信するステップと、
    前記複数のVMのそれぞれについてVMに固有の設定パラメータと接続情報とを維持するステップと、
    対応する前記VMに固有の設定パラメータと接続情報とにより前記複数のVMのそれぞれについて前記物理デバイスを再設定するステップと、
    を有する方法であって、
    前記受信するステップと、前記維持するステップと、前記再設定するステップとは、前記VMを提供するバーチャルマシーンモニタ(VMM)の実質的に外部で実行される方法。
  9. 前記物理デバイスに統合制御インタフェースを提供するため前記複数のVMからの設定制御を統合することを含む、前記VMMの外部において前記コンピュータシステム上で実行するホストデバイスドライバ内で前記受信するステップの少なくとも一部を実行するステップと、
    前記物理デバイスの実質的に内部において前記維持するステップと前記再設定するステップとを実行するステップと、
    をさらに有する、請求項8記載の方法。
  10. 前記物理デバイス、前記VMMの外部において前記コンピュータシステム上で実行するホストデバイスドライバ、又は前記VMMの上位で実行する1以上の制御ドメインの1つの実質的に内部において、前記受信するステップと、前記維持するステップと、前記再設定するステップとを実行するステップをさらに有する、請求項8記載の方法。
  11. 前記物理デバイスは、無線ネットワークインタフェースコントローラ(NIC)を有する、請求項8記載の方法。
  12. 前記無線NICは、MAC(Medium Access Controller)を有し、
    前記再設定するステップは、対応するVMに固有の設定パラメータと接続情報とにより前記複数のVMのそれぞれについて前記MACを再設定することを含む、請求項11記載の方法。
  13. 前記ホストデバイスドライバのラジオインタフェースを介し前記無線NICと前記VMMとの間のインタフェースをとるステップと、
    対応するVMに固有の設定パラメータとコンテクストパラメータとにより前記複数のVMのそれぞれについて前記ラジオを再設定するステップと、
    をさらに有する、請求項12記載の方法。
  14. 前記MACから前記ホストデバイスドライバにVM固有ラジオ識別子によるパケットと制御とを送信するステップと、
    前記VMMと前記MACとの間でパケットと制御とを通信するため、前記ホストデバイスドライバ内でVM固有ラジオ識別子とVM固有VM識別子との間で変換するステップと、
    をさらに有する、請求項13記載の方法。
  15. コンピュータプログラムロジックを格納する1以上のコンピュータ可読媒体を有するコンピュータプログラムであって、
    前記コンピュータプログラムロジックは、
    コンピュータシステムプロセッサと物理デバイスコントローラとの1以上に前記コンピュータシステムの複数のバーチャルマシーン(VM)のそれぞれから、前記VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信させるインタフェースロジックと、
    前記プロセッサと前記コントローラとの1以上に前記複数のVMのそれぞれについてVMに固有の接続情報と設定パラメータとを維持させ、対応する前記VMに固有の接続情報と設定パラメータとにより前記複数のVMのそれぞれについて前記物理デバイスを再設定させる制御ロジックと、
    を有し、
    前記インタフェースロジックと前記制御ロジックとは、前記VMを提供するバーチャルマシーンモニタ(VMM)の実質的に外部で実行するよう構成されるコンピュータプログラム。
  16. 前記インタフェースロジックの少なくとも一部は、前記VMMの外部において前記コンピュータシステムプロセッサ上で実行するホストデバイスドライバ内に実現され、
    前記ホストデバイスドライバは、前記物理デバイスに統合制御インタフェースを提供するため、前記複数のVMからのデバイス制御を前記プロセッサに統合させ、
    前記制御ロジックは、前記物理デバイスコントローラ上で実行するため実質的に前記物理デバイス内で実現される、請求項15記載のコンピュータプログラム。
  17. 前記物理デバイスは、無線ネットワークインタフェースコントローラ(NIC)を有する、請求項16記載のコンピュータプログラム。
  18. 前記無線NICは、MAC(Medium Access Controller)を有し、
    前記制御ロジックは、対応するVMに固有の設定パラメータと接続情報とにより前記複数のVMのそれぞれについて前記MACを前記コントローラに再設定させる、請求項17記載のコンピュータプログラム。
  19. 前記ホストデバイスドライバは、
    前記プロセッサに前記無線NICと前記VMMとの間のインタフェースをとらせ、対応するVMに固有の設定パラメータとコンテクストパラメータとにより前記複数のVMのそれぞれについて前記ラジオを再設定させるラジオロジックと、
    前記プロセッサに前記VMMの外部において前記無線NICに統合制御インタフェースを提供するため前記VMからの設定制御を統合させる制御ロジックと、
    を有する、請求項18記載のコンピュータプログラム。
  20. 前記インタフェースロジックと前記制御ロジックとは、前記物理デバイスコントローラ上で実行する物理デバイス、前記VMMの外部において前記プロセッサ上で実行するホストデバイスドライバ、又は前記VMMの上位で1以上の制御ドメインにおいて前記プロセッサ上で実行するロジックの1つの実質的に内部に実現される、請求項15記載のコンピュータプログラム。
  21. 前記制御システムは、デバイス初期化、ネットワークスキャニング、ネットワークポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ及び電力制御の1以上に関して前記複数のVMのそれぞれについて前記無線NICを再設定するよう構成される、請求項4記載のシステム。
  22. 前記再設定するステップは、デバイス初期化、ネットワークスキャニング、ネットワークポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ及び電力制御の1以上に関して前記複数のVMのそれぞれについて前記無線NICを再設定することを含む、請求項11記載の方法。
  23. 前記制御ロジックは、デバイス初期化、ネットワークスキャニング、ネットワークポイント選択、チャネル選択、接続確立、ハンドオーバ管理、ネットワーク同期、データレート選択、セキュリティ及び電力制御の1以上に関して前記複数のVMのそれぞれについて前記無線NICを前記コントローラに再設定させるロジックを含む、請求項17記載のコンピュータプログラム。
JP2011141735A 2010-06-25 2011-06-27 複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステム Expired - Fee Related JP5529080B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US35867110P 2010-06-25 2010-06-25
US61/358,671 2010-06-25
US12/978,555 US9396000B2 (en) 2010-06-25 2010-12-25 Methods and systems to permit multiple virtual machines to separately configure and access a physical device
US12/978,555 2010-12-25

Publications (2)

Publication Number Publication Date
JP2012009029A true JP2012009029A (ja) 2012-01-12
JP5529080B2 JP5529080B2 (ja) 2014-06-25

Family

ID=45353850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011141735A Expired - Fee Related JP5529080B2 (ja) 2010-06-25 2011-06-27 複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステム

Country Status (7)

Country Link
US (2) US9396000B2 (ja)
EP (2) EP2585913A4 (ja)
JP (1) JP5529080B2 (ja)
CN (2) CN102959515B (ja)
BR (2) BR112012031125A2 (ja)
RU (2) RU2571591C2 (ja)
WO (2) WO2011162880A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2854016A1 (en) 2013-09-30 2015-04-01 Fujitsu Limited Information processing apparatus, storage control apparatus, and program

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2012018515A (ja) * 2010-07-07 2012-01-26 Fujitsu Ltd 情報処理装置,制御方法,制御プログラム
US20120054740A1 (en) * 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
US8484465B1 (en) * 2010-12-08 2013-07-09 Google Inc. Heterogeneous virtual machines sharing a security model
US8774213B2 (en) 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
WO2012143954A1 (en) * 2011-04-21 2012-10-26 Ineda Systems Pvt. Ltd Multi-root peripheral connect interface manager
US8694994B1 (en) * 2011-09-07 2014-04-08 Amazon Technologies, Inc. Optimization of packet processing by delaying a processor from entering an idle state
US9420634B2 (en) 2011-12-09 2016-08-16 Intel Corporation User equipment having virtual mobile terminals
US9569237B2 (en) * 2011-12-29 2017-02-14 Telefonaktiebolaget Lm Ericsson (Publ) Virtual machine management using a downloadable subscriber identity module
US9094302B2 (en) * 2012-04-16 2015-07-28 Dell Products, Lp System and method to discover virtual machine instantiations and configure network service level agreements
US8977725B2 (en) * 2012-05-02 2015-03-10 Futurewei Technologies, Inc. Method and apparatus for a unified virtual network interface
US9311119B2 (en) * 2012-05-30 2016-04-12 Red Hat, Inc. Reconfiguring virtual machines
US10223139B2 (en) * 2013-03-15 2019-03-05 The Trustees Of The University Of Pennsylvania Dynamically deployable wireless infrastructure in cloud environment
JP6048336B2 (ja) * 2013-07-25 2016-12-21 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
US9742632B2 (en) * 2013-12-27 2017-08-22 Intel Corporation Hybrid SDN controller
US9921867B2 (en) 2013-12-30 2018-03-20 Huawei Technologies Co., Ltd. Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space
KR101583325B1 (ko) 2014-08-12 2016-01-07 주식회사 구버넷 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
US10089129B2 (en) * 2014-06-30 2018-10-02 International Business Machines Corporation Supporting flexible deployment and migration of virtual servers via unique function identifiers
US10437770B2 (en) * 2015-01-28 2019-10-08 Avago Technologies International Sales Pte. Limited Method and apparatus for providing virtual machine information to a network interface
US20180225455A1 (en) * 2016-01-31 2018-08-09 Hewlett-Packard Development Company, L.P. Scanning of wireless network traffic in virtualized domains
WO2017166207A1 (en) * 2016-03-31 2017-10-05 Intel Corporation Cooperative scheduling of virtual machines
US10452419B2 (en) * 2016-09-09 2019-10-22 Huawei Technologies Co., Ltd. Device virtualization for containers
CN108733449B (zh) * 2017-04-17 2022-01-25 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质
CN107229590B (zh) * 2017-06-26 2021-06-18 郑州云海信息技术有限公司 一种插拔物理网卡时实现系统稳定性的方法及系统
CN107632878B (zh) * 2017-09-27 2018-10-16 山东渔翁信息技术股份有限公司 一种密码卡算法资源的分配方法、系统及相关装置
US11822964B2 (en) * 2020-06-03 2023-11-21 Baidu Usa Llc Data protection with static resource partition for data processing accelerators
CN111723097A (zh) * 2020-06-29 2020-09-29 深圳壹账通智能科技有限公司 应用程序接口配置方法、装置、计算机设备和存储介质
CA3189017A1 (en) * 2020-08-18 2022-02-24 Joseph Alan Epstein Wi-fi virtualization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151767A (ja) * 2007-12-03 2009-07-09 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム
WO2009133015A1 (en) * 2008-04-28 2009-11-05 International Business Machines Corporation Interfacing multiple logical partitions to a self-virtualizing input/output device
JP2011014023A (ja) * 2009-07-03 2011-01-20 Nec Corp 中継手段、中継システム、中継方法およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
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
US7111303B2 (en) * 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
US7934020B1 (en) 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
US7552426B2 (en) 2003-10-14 2009-06-23 Microsoft Corporation Systems and methods for using synthetic instructions in a virtual machine
US7752635B2 (en) 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
US7478173B1 (en) * 2003-12-18 2009-01-13 Wmware, Inc. Method and system for sharing a network connection in a virtual computer system
US20060245533A1 (en) 2005-04-28 2006-11-02 Arad Rostampour Virtualizing UART interfaces
US20060294517A1 (en) 2005-06-28 2006-12-28 Zimmer Vincent J Network interface sharing among multiple virtual machines
US20070101323A1 (en) 2005-10-28 2007-05-03 Microsoft Corporation Automatic virtual machine adjustments to network changes
US8549098B2 (en) 2006-01-12 2013-10-01 Broadcom Israel Research, Ltd. Method and system for protocol offload and direct I/O with I/O sharing in a virtualized network environment
US20070189308A1 (en) * 2006-02-16 2007-08-16 Izoslav Tchigevsky Virtual machine networking using wireless bridge emulation
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US7830882B2 (en) 2006-11-17 2010-11-09 Intel Corporation Switch scaling for virtualized network interface controllers
JP4295783B2 (ja) 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
WO2008126145A1 (ja) 2007-03-30 2008-10-23 Fujitsu Limited コンピュータシステムの仮想os環境での仮想ネットワークアダプタの設定方法及びコンピュータシステム
US20080250407A1 (en) 2007-04-05 2008-10-09 Microsoft Corporation Network group name for virtual machines
US8984504B2 (en) 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
JP2009157731A (ja) 2007-12-27 2009-07-16 Sharp Corp 仮想計算機システムおよび仮想計算機システムの制御方法
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
JP2010066931A (ja) 2008-09-09 2010-03-25 Fujitsu Ltd 負荷分散機能を有した情報処理装置
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151767A (ja) * 2007-12-03 2009-07-09 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム
WO2009133015A1 (en) * 2008-04-28 2009-11-05 International Business Machines Corporation Interfacing multiple logical partitions to a self-virtualizing input/output device
JP2011519089A (ja) * 2008-04-28 2011-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の論理パーティションと自己仮想化入出力デバイスとのインターフェース接続
JP2011014023A (ja) * 2009-07-03 2011-01-20 Nec Corp 中継手段、中継システム、中継方法およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2854016A1 (en) 2013-09-30 2015-04-01 Fujitsu Limited Information processing apparatus, storage control apparatus, and program
JP2015069524A (ja) * 2013-09-30 2015-04-13 富士通株式会社 情報処理装置、ストレージ制御装置、及びプログラム
US9547501B2 (en) 2013-09-30 2017-01-17 Fujitsu Limited Information processing apparatus, storage control apparatus, and computer-readable recording medium having stored program

Also Published As

Publication number Publication date
BR112012031125A2 (pt) 2016-11-01
EP2585913A4 (en) 2014-09-24
WO2011163033A2 (en) 2011-12-29
RU2012157524A (ru) 2014-07-10
JP5529080B2 (ja) 2014-06-25
US20110321065A1 (en) 2011-12-29
US8392625B2 (en) 2013-03-05
RU2536347C2 (ru) 2014-12-20
US20110321042A1 (en) 2011-12-29
RU2012151261A (ru) 2014-06-10
EP2585919A2 (en) 2013-05-01
CN102622261B (zh) 2015-07-29
EP2585913A2 (en) 2013-05-01
CN102959515A (zh) 2013-03-06
BR112012031124A2 (pt) 2016-11-01
WO2011163033A3 (en) 2012-04-19
US9396000B2 (en) 2016-07-19
WO2011162880A2 (en) 2011-12-29
CN102622261A (zh) 2012-08-01
CN102959515B (zh) 2016-11-16
WO2011162880A3 (en) 2012-03-01
EP2585919A4 (en) 2014-09-24
RU2571591C2 (ru) 2015-12-20

Similar Documents

Publication Publication Date Title
JP5529080B2 (ja) 複数のバーチャルマシーンが物理リソースを個別に設定及びアクセスすることを可能にする方法及びシステム
CN111490949B (zh) 用于转发数据包的方法、网卡、主机设备和计算机系统
US9680971B2 (en) Controlling a paravirtualized wireless interface from a guest virtual machine
EP3460658A1 (en) Data transmission method and apparatus
US9031081B2 (en) Method and system for switching in a virtualized platform
WO2017066944A1 (zh) 一种存储设备访问方法、装置和系统
CN112398817B (zh) 数据发送的方法及设备
US20150135179A1 (en) Remote provisioning of virtual machines
WO2013173973A1 (zh) 网络通信方法和装置
KR20140021677A (ko) 모바일 컴퓨팅 디바이스를 통한 관리형 usb 서비스들의 원격 전달을 위한 방법 및 장치
EP3099026B1 (en) In-network message processing method, in-network message forwarding equipment and in-network message processing system
WO2015058699A1 (en) Data forwarding
US20150113114A1 (en) Network interface adapter registration method, driver, and server
CN110301125B (zh) 虚拟机的逻辑端口认证
JPWO2015190079A1 (ja) 計算機システム、遠隔デバイスの接続管理方法及びプログラム
US9882737B2 (en) Network system
KR100967400B1 (ko) 복수의 무선 usb 호스트 장치와의 네트워킹을 위한 무선usb 디바이스 장치 및 그 네트워킹 방법
JP5450898B2 (ja) 無線ネットワークインターフェースコントローラを有するシステム、方法及びコンピュータプログラム
WO2018045926A1 (zh) 用于访问容器的方法和装置
WO2012129848A1 (zh) 一种模拟通用串行总线设备的方法及装置
JP5870804B2 (ja) 通信制御システム、通信制御方法及び通信制御プログラム
CN106371892B (zh) 一种深度整合gis框架的虚拟机模板性能优化方法及装置
EP3048775B1 (en) Service processing method, related device and system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130403

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140416

R150 Certificate of patent or registration of utility model

Ref document number: 5529080

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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