TWI303025B - Physical device , i/o device and computer system with virtual machine capable interfaces - Google Patents

Physical device , i/o device and computer system with virtual machine capable interfaces Download PDF

Info

Publication number
TWI303025B
TWI303025B TW094121864A TW94121864A TWI303025B TW I303025 B TWI303025 B TW I303025B TW 094121864 A TW094121864 A TW 094121864A TW 94121864 A TW94121864 A TW 94121864A TW I303025 B TWI303025 B TW I303025B
Authority
TW
Taiwan
Prior art keywords
client
core
interface
function
circuit
Prior art date
Application number
TW094121864A
Other languages
English (en)
Other versions
TW200606648A (en
Inventor
Michael A Goldsmith
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 TW200606648A publication Critical patent/TW200606648A/zh
Application granted granted Critical
Publication of TWI303025B publication Critical patent/TWI303025B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)
  • Hardware Redundancy (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

1303025 九、發明說明: 【發明所屬技術領域j 發明背景 5 10 15 20 本發明之一具體例大致上係有關電腦系統,特別係有 關允許一實體裝置由多個程式所共享之虛擬技術。 隨著不同電腦作業系統(〇S)程序(例如LINUX、 MACINTOSH、MICROSOFT WINDOWS)之普及,消費者 被提供寬廣多種不同之應用程式,不幸該等應用程式並非 設計用來於相同作業系統的執行。虛擬技術讓單一主機電 腦執行一虛擬機器監視器(rVMM」)來呈現主機之多重提 取,因而讓主機之基本硬體顯然如同一或多個獨立作業之 虛擬機!§(「VM」)般。各個虛擬機器可作為自我容納之平 台功能,執行其本身之作業系統(「沉」)及/或—或多軟體 應用程式。VMM管料域之資魏置,以及視需要執行 内文切換’來根據财輪轉體系或其它預定體系來介於多 個虛擬機器間多讀。舉例言之,於虛擬機器環境中,各 個作業系統有錯覺,亦_作«統係於其本身之硬體平 σ或「裸金屬」上執行。各個作 分1業糸統「看到」一組完整 可利用之I/O裝置,諸如一锆般#… 鍵盤控制器、一硬碟機控制器、 —網路介面控制器、及-圖形顯__!1。 §作業糸統欲與一 I/O裝置 罝通矾時,使用下述技術。 硬# : u貝際上係於裸金屬上執行,則實體1/0裝置之 體用戶端介面暴露於匯流排上。用戶端介面可為一組記 ⑧ 5 1303025 憶體映射之暫存器(記憶體映射之I/O、MMIO)或1/〇埠 (10p),且可透過記憶體映射I/O位址空間定址,可透過電腦 系統之I/O位址空間定土止。處理器隨後經由於匯流排上發出 OS異動處理其係針對所指定之位址空間,來讀取或寫入實 另一方面,利用虛擬化,可有多數VM(用來執行多重 各端OS)。該種情況下,使用兩項基本技術來對客端提供 能力。第一技術,虛擬機器排他地存取該裝置。配置用來 藉虛擬機器存取至MMIO或I0P之虛擬機器監視器將直接 10迗至鎖定目標之I/O裝置。藉此方式,虛擬機器具有與該裝 置通訊之最大效能路徑。此項技術偶而稱作為裝置指派。 其主要限制在於I/O裝置只能指派給單一虛擬機器。 若希主一個I/O裝置以某種方式介於多個虛擬機器間 分享,則常用技術係讓虛擬機器監視器仿真該實體I/C)裝置 15成為一或多個「虛擬裝置」。然後來自一個特定作業系統導 向该實體裝置之異動處理由該虛擬機器監視器所截取。然 後虛擬機器監視器選擇仿真一裝置(例如使用網路介面來 模擬一串列埠),或VMM可將來自各個用戶端虛擬機器之請 求夕工化至一單一;[/0裝置上(例如將一硬碟分隔成為多個 2〇 虛擬裝置)。 虛擬各序之另一觀點如後。虛擬機器需存取一組"Ο裝 置,該I/O裝置包括虛擬裝置及實體裝置。若一實體裝置被 j派給—單—虛擬機器,則該實體裝置無法為其它虛擬機 器所利用。如此,若-實體裝置需由多於一個虛擬機器所 ⑧ 6 .1303025 共享,則虛擬機器監視器典型係對各個虛擬機器實作一個 虛擬裝置。然後VMM仲裁該實體裝置之相同硬體用戶端介 面由該等虛擬裝置存取。 【發明内容】 5 本發明揭露一種實體裝置,包含:核心功能電路,其 係用來執行一電腦系統之一核心功能;多數用戶端介面電 路,其各自呈現本身如同一個完整裝置給該系統之一軟體 用戶端來存取該核心功能電路;以及多工化電路,其耦接 該等多數用戶端介面電路至該核心功能電路。 10 圖式簡單說明 本發明之具體例於附圖之各幅圖中僅供舉例說明之用 而非限制性,各圖間以類似之參考符號來表示類似之元 件。須注意於本揭示文述及本發明之「一」具體例並非必 然指同一個具體例,而表示至少有一個具體例。 15 第1圖顯示一種「可藉設計分享」之實體裝置之方塊圖 第2圖顯示具有可分享裝置且執行虛擬程序之一種電 腦系統之方塊圖。 第3圖顯示涉及探索電腦系統之可分享I/O裝置之虛擬 程序之流程圖。 20 【實施方式】 較佳實施例之詳細說明 第1圖顯示一種「可藉設計而分享」之實體裝置之方塊 圖。此種可分享裝置100具有核心功能電路104,該核心功 能電路104於本實例欲執行電腦系統之核心I/O功能。核心 ⑧ 7 1303025 ι/ο功能之實例包括於圖形配接器之情況下之影像成像,以 及對網路介面控制器之傳輸控制協定/網際網路協定 (TCP/IP)封包的卸載。核心I/O功能電路可實作為有線邏輯 及/或可規劃邏輯與經私式化處理斋或任何其它技蓺界人 5 士眾所周知之技術的組合。 軟體虛擬機器(VM)用戶端108於該系統欲透過多個用 戶端介面電路112(或簡稱為用戶端介面η 2)中之任一者來 存取該核心功能電路104。VM用戶端1〇8可為含有裝置驅動 程式之作業系統諸如MICROSOFT WINDOWS或LINUX。用 10戶端介面112係透過多工電路116而耦接至核心功能電路 104’來讓核心功能可由VM用戶端透過用戶端介面而分 旱夕工%路116可包括-次連結該核心功能電路至用戶端 介面112中之任-者所需之多卫器邏輯及信號線二者。 各個用戶端介面m將其本身如同_個完整分開裝置 15呈現給系統之軟體用戶端,諸如彻用戶端⑽。用戶端介 面112可實作由其所駐在之—匯流排所要求的功能之全部 各方面。用戶端介面112可包_比電路其介於裝置之邏輯 發訊與外部匯流排發訊間轉移。若外部匯流排係屬於串列 點對點類別,則隨時多工切換電路可增加來連結暫存器集 20合之一至該匯流排之發送媒體。 於本發明之若干具體例中,各個用戶端介面m可支援 (该貫體裝㈣連結之消―個匯流排上之相關邊組作互 連()可相谷組配機構、及相同功能之探索機構。但於此 種體例中,各個用戶端介面將提供不同的吧裝置識別號 1303025 碼(原因在於各個用戶端介面各自有效表示一個不同裝 置)。此外,各個用戶端介面將識別一組分開PCJ可相容功 能。用戶端介面當然可設計用來遵照其它1/0協定或匯流排 通訊協定,例如用於連結電腦系統之各個元件之協定。 5 各個用戶端介面可包括一分開暫存器集合欲由軟體用 戶端用來獲得有關該介面之資訊及組配該介面之資訊。各 個暫存器集合可透過同一個匯流排而由實體裝置外部存 取,無論該匯流排為串列或並列、多點、或點對點。舉例 吕之,一隨插即用次系統可使用PCI組態暫存器來定義 10 MMIO區之基本位址。pci可相容組態暫存器集合可包括部 分或全部下列眾所周知之暫存器:販賣商ID、裝置m(決定 忒組悲暫存态位址之偏位)、修訂ID、類別碼、次系統販賣 商ID、及次系統ID。此等暫存器之集合典型係由作業系統 用來判疋那一個驅動程式將載入用於一裝置。當於該可分 15旱裝置貫作時,(一指定用戶端介面之)各個暫存器集合可於 相同位址範圍,但具有不同偏位。 設定一基本位址暫存器(BAR)可用來載明由一裝置所 使用之基本位址。當客端嘗試設定BAR時,VMM可設計來 截取此項請求且修改該請求。其理由有數項。首先,二虛 20擬機器個別可在未知情況下f試將—介面之讀設定為相 同值。VMM可设計來確保不會發生此種情況。第二,各個 虛擬機為相彳s其係於基本零之位址空間(所謂之客端實體 位址或GPA)執行。當bAR欲藉客端設定時,該基於零之GpA 可於載入BAR之前轉入實際主機實體位址(HpA)。此外, ⑧ 9 .1303025 VMM J修改客端虛擬機器之記㈣管理表來反映此項移 轉。 可分享裝置100可能為更滿意地解決之道,核心功能電 路刚相當複雜及/或相當大,因而複製核心功能電路刚太 5 L P貝(且不為要由複製所得之並列處理效能增益)。另一項 有利之使用係用於I/O虛擬具體例(如後文參照第2圖所 示)該種情況下,可分享裝置100允許虛擬機器監視器 (VMM)牵涉每一項異動處理,藉此縮短圖形異動及網路工 作異動(其對潛伏期延遲特別敏感)的潛伏期延遲。此外,若 10干具體例中,VMM之設計與實作實質上較不複雜,結果獲 得較為穩定軟體操作。原因在於有多個用戶端介面可免除 VMM來支援相對應之虛擬裝置之需求(例如vmm無需仿真 裝置的本身,對各個虛擬裝置也無需PCI組態空間)。 軟體用戶端可使用用戶端介面112之任一者,來激發可 I5为子裝置之相同主要功能。此項主要功能為諸如顯示圖形 配接器之I/O裝置之功能,例如成像來產生位元映射顯示影 像。該種情況下,該可分享裝置可實作為一電腦系統晶片 組之圖形I/O區段之一部分,或可實作為單一圖形配接卡。 後述情況下之用戶端介面也包括一電連接器來活動式連結 20 該卡至該電腦系統之一匯流排。該種情況下,全部介面皆 可透過相同連接器來存取。 另一項主要功能為網路介面控制器(NIC)功能。此種具 體例中,各個軟體用戶端(例如VM用戶端108)可為於網路中 的一個分開終端節點。VM用戶端丨〇8可與網路透過主要功 .1303025 月b通訊,諸如傳輸控制協定/網際網路協定(tcp/ip)封包卸 載(形成輸出封包,與解碼輸入封包)、及媒體存取控制(]^八€) 位址濾波。該種情況下,可分享裝置可為單一網路介面控 制器卡。各個用戶端介面呈現完整功能或全部功能NIC之外 5觀,包括各個用戶端介面之一個分開MAC位址。輸入封包 將自動路由至正確用戶端介面,然後繼續路由至相對應之 VM用戶端。此點可無需耗用CPU週期(VMM)來評估各個輸 入封包可達成,以及無需將NIC置於雜亂模態而達成,於該 雜亂模態,CPU檢查每個輸入封包而無論該封包是否意圖 10 為系統之VM使用。 須注意雖然可分享裝置100之用戶端介面可能呈完整 而分開的裝置呈現本身給軟體用戶端,但可分享裝置無需 為同一個裝置。更常見,若用戶端介面112中之一或多者對 Mv用戶端提供不同的裝置能力集合(於核心功能電路104 15實作)則可分享裝置100可能具有非同質介面。舉例言之, 考慮可分享裝置為顯示器圖形配接器之情況。其用戶端介 面之一對一軟體用戶端可能顯示為一個特定裝置(例如舊 式袭置)之較舊版本,而另一用戶端介面對該軟體用戶端顯 示為較新版本。舉另一實例,考慮一種圖形配接器,其核 20心1/0功能係實作為具有多個可規劃運算單元之可擴充運 异架構。用戶端介面之一可經設計或規劃來比另一用戶端 介面存取該等運算單元之更大子集,因而呈現相同類型之 "ο功能,但1/0功能之威力更強。 於另一實例中,可分享裝置100可具有其若干用戶端介 11 .1303025 面較為完整,例如具妹高效能能力⑼如難心、功能電路 具有不同型別之圖形成像功能)。較複雜的介面最可能獲得 與其相關聯之相對應之較為複雜的裝置驅動程式。如此, 度’而將被標示為無法信賴或不安全。同時,可分享裝置 具有-或多麵它好端介面,其暴露出主要1/〇功能讀 由於較為複雜之裝置驅動程式較為可能具有程式錯誤或迴 路孔〉啸為不適合接受安全性分析,故職動程式較為 容易受到攻擊。如此’該種情況下該種介面由於其複雜程
10 低效能版本(例如只有基本影像成像與顯示)。後者介面將被 視為較為可靠或較為安全。 例如種介面(由於其複雜度或由於其特#設計)可被 視為可充分可靠地保護使用者的安全性資料(例如由系統 使用者所來的且「所擁有的」資料,諸如使用者之身分證 號碼及財務資訊)。此種(與—圖形裝置)之介面可用來排他 15地顯示某些應用程式之輸出,該等應用程式諸如個人帳冊 及稅務準備軟體。當第三方之惡劣軟體元件已經渗透入系 統’正在找機會收集有關使用者的私密個人資訊時,例如 如此可阻播第三方的攻擊。 另-種情況’較不複雜介面可用來提升内容的保護, 2〇例如防止系統的使用者抓到出現於核心功能輪出端之第三 方的受版權保護的資料。舉例言之,使用者可能於一特定 VM用戶端執行-DVD播放器應用程式,其只與内容受保護 之介面相關聯,因此電影資料流將只藉該介面成像。另外^ 内容保護用戶端介面可設計成由該應用程式所直接存取, (S) 12 .1303025 未經過中間裝置驅動程式層。此種類型之更簡單的介面將 可更進一步減少受攻擊的機會,經由提供應用程式與核心 功能的圖形成像功能及顯示功能間之更少路徑,因而進一 步減少受攻擊的機會。 5 具有多個用戶端介面之單一可分享裝置100,可進一步 增強其功能,對該可分享裝置100增加改變被激活介面數目 的能力。此種額外能力可設計來獲得某種於系統執行的軟 體,諸如服務VM 130或VMM 224(將於後文就第2圖做說明) 籲 纟取可致能/去能若干用戶端介Φ而不會致能/去能其它用 10戶端介面之該等組態暫存器。如此輔助控制於I/O裝置内部 的資源分派,例如更佳匹配於該系統執行之VM用戶端的需 求0 弟1圖所示之可分享裝置100也具有 15 20 介面電路(或簡稱為實體世界介面)120。當有多於-個實體 世界介面時’該等實體世界介面係透過額外多工電路122而 耦接至核心功能電路刚。各個實體世界介面120可具有數 位電路及/_tt料,翻纟介純㈣能料綱發訊 與發訊至裝置外部之間移轉。實體世界介面可包括透過有 線鏈路或無線鏈料與電«統周邊裝置(諸如顯示監視 器或數位相機)通訊所需的連接器及/或其它硬體。以網ς介 面控制器為例,實體世界介面可稱之為連接至區域網路 互連紐之—網料。料具有魏或無線發射 -及接收。。’其係與LAN纜線(例如乙太網路纔線)連結 與例如無線基地台通訊。 3 ⑧ 13 .1303025 右干具體例中,可分旱裝置100可裝配有欲由系統中稱 作為服務VM 130之軟體使用的控制介面電路(或簡稱為控 制介面)126。控制介面126可用於多項不同目的。例如,控 制介面126可做為來自不同用戶端之資料之組合機構(例如 5控制於同一顯示螢幕上,各個虛擬機器之輸出將顯示於何 處)。控制介面也可用來解決來自於多個VM用戶端之互相 衝突的命令。舉例言之,控制介面可提供另一種藉VM用戶 端108(透過個別的用戶端介面112)存取核心功能之控制之 道。舉例言之,一可分享圖形配接器中,控制介面可設計 10來允許服務VM 130以特定排程策略來規劃該裝置顯示多 個視窗,例如一個視窗於一段指定時間並未對全部¥訄客戶 端給予優先順位;一個視窗將該核心功能之部分功能區塊 而非全部功能區塊分派給一個特定VM用戶端。於此具體例 中,該可分享進一步裝配有工作負載佇列(圖中未顯示),對 15各個用戶端介面112有一個佇列,且係耦接於該用戶端介面 112與核心功能電路1〇4間。控制介面將允許服#VM依據佇 列條件(例如佇列深度、佇列多滿或多空、佇列優先順位等) 之函數變化,來選擇那一個佇列進送指令至該核心功能電 路。控制介面也用來組配圖形裝置如何成像及如何顯示, 20例如多重監視器,此處各個VM被指定給一個分開監視器或 同一個監視器之多重視窗。圖形配接器之耗用電力也可透 過控制介面管理。注意於某些情況下,可分享裝置可無控 制介面來進行。例如可分享NIC可單純以仲裁策略規劃(或 許經過有線接線)來公平服務其不同的用戶端介面,或甚至 .1303025 若屬適當可對其不同用戶端介面做不公平服務。 以NIC為例,控制介面允許服務VM以每個vM用戶端為 基準分派頻寬或保留頻寬。以音效卡為例,控制介面允許 服務VM來控制來自不同\^4用戶端來源之音訊的混音。又 5另一項可能係使用控制介面來讓視訊及/或音訊捕捉流路 由至一特定VM用戶端。舉例言之,控制介面可為軟體指示 多個不同媒體存取控制器(MAC)與其個別之VM用戶端關 聯之處。 現在參照第2圖,顯示具有可分享裝置1〇〇且執行虛擬 10程序之一種電腦系統之方塊圖。可分享裝置100屬於該系統 之貫體主機硬體204之一部分,也稱作為裸金屬。主機硬體 204包括一組可用之I/O裝置(圖中未顯示),諸如一鍵盤控制 器、一硬碟機控制器、及一圖形顯示器配接器。此等用來 與周邊裝置通訊,周邊裝置例如使用者輸入裝置2〇8(於本 15貫例係以鍵盤骨鼠之組合舉例說明)、一非依電性大量儲存 裝置(此處係以硬碟機212舉例說明)、一顯示監視器214、及 一NIC配接卡216。 於此處虛擬化係使用一種稱作為虛擬機器監視器 (VMM) 224之程式來達成。Vmm 224將主機硬體平台2〇4 20 「區隔」成為多個隔離的虛擬機器(VM)228。各個VM 228 對於於其内部執行之軟體實質上彷彿一個完整電腦系統, 如圖所示該完整電腦系統包括I/O裝置及周邊裝置。vmm 224負責提供其各個VM 228執行的環境,可用來維持各個 VM間的隔離(於此處之替代之道係使用硬體cpu增強來維 15 1303025 持隔離)。於各個VM 228執行的軟體包括不同的客端OS 232。於一VM環境下,各個客端〇s 232有錯覺誤認為該客 端0S 232係於其本身之硬體平台上執行。如此,客端〇s 232 可能不知曉另一個作業系統也在同一個系統内執行,或不 5 知曉潛在的電腦系統係經過區隔。 虛擬程序也允許應用程式236於其個別之客端作業系 統232頂上於不同的VM 228執行。應用程式236可使用分開 視窗(每個視窗用於一個VM,舉例),於單一顯示監視器214 上同時顯示其資訊。如此藉可分享裝置1〇〇而變成可能,本 10實例中可分享裝置100為圖形配接器。注意VMM 224係設計 成知曉此種可分享裝置100的存在,如此有能力管理可分享 裝置100 (例如透過服務VM 130管理可分享裝置100,參考 第1圖)。但可避免分享實體裝置之純軟體技術的缺點。舉 例言之’無需設計與實作相當複雜之VMM,須了解實體裝 15置之工作細節,因而可適當分享該實體裝置。此種情況可 藉由於硬體有多個用戶端介面來消除,該等用戶端介面方 便由各個0S 232所辨識。 藉下列實施例可說明可分享裝置之構想的若干額外好 處。考慮一種多重處理器系統,或具有超執行緒中央處理 20單元(CPU)之系統,此處單一 CPU係作為兩個或多個CPU(不 僅就排程方面如此,同時有足夠執行能力)。處理器1執行 VM0之密碼,處理器2執行VM1之密碼。其次,假設各個 VM希望同時存取同一個I/O裝置。非可分享1/〇裝置於時間 上的任一點只可於一種内文操作。因此,只有其中一個 16 •1303025 可存取該裝置。其它VM嘗試存取該裝置,將導致其存取裝 置的錯誤内文。 本發明之一具體例允許「對話」(VM與硬體用戶端介 面間的對話)與「工作」(由核心功能電路所做工作)間脫搞, 5 故無需前述的内文切換。原因在於各個VM被指派其分開硬 體用戶端介面,故VM可進送I/O請求給其個別的用戶端介 面電路,而無需該I/O裝置之内文切換。如此對前文說明之 存取問題提供一項解決之道。 至於另一實例,考慮一個CPU執行VM0及VM1二者。 10 於VM〇,應用軟體相當大量使用CPU(例如計算常數7Γ),但 極少詢問圖形配接器(例如更新顯示器視窗的時脈)。於另一 VM視窗,儘管極少使用CPU,圖形型樣可由圖形配接器常 規更新。現在假設CPU與圖形配接器係共同做内文切換(圖 形配接器及CPU給予VM0部分時間,而給予VM1其餘時 15 間)。5亥種彳月況下,VM0對圖形的要求工作相當少,結果導 致圖形週期時間部分的浪費/閒置,而VM1之CPU需求少, 結果造成CPU週期其餘時間的浪費/閒置。原因在於由於 CPU及圖形配接器核心功能經常性處於相同的内文。此處 系統支援之使用無效率可藉由本發明之具體例加以避免, 20本發明允許CPU之工作量與圖形配接器之工作量分開排 程。於圖形配接器有不同的硬體用戶端介面可資利用,CPU 可排程來將其大部分時間耗用於執行VM0,但偶而仍然可 存取圖形配接器。另一方面,圖形配接器之核心功能可被 排程來耗用大部分時間於VM1,偶而中斷來服務VM0。 17 1303025 現在參照第3圖,說明涉及探索與分享一電腦系統中之 一可分享I/O裝置之虛擬程序之流程圖。該系統為第2圖所 示系統。該方法係始於操作304,於系統執行隨插即用之探 索程序。例如,可能為習知PCI裝置及功能列舉程序之一部 5分(也稱作為PCI組配程序)。探索程序由單一圖形配接卡之 不同用戶端介面,讀取各個裝置之一獨特PCI裝置識別號 碼,而可檢測多個I/O裝置。如此係出現於系統供電之後, 藉基本I/O系統韋刃體(BIOS)執行及/或VMM係由系統處理器 執行。配接卡屬於可分享I/O裝置之一實例,該I/O之核心功 1〇 能係由其多個硬體用戶端介面所分享。探索程序也可檢測 呈控制介面126形式之另一装置(參考第2圖)。 另一具體例中,BIOS於初步啟動之後可只探索控制介 面。於若干時間後,VMM可使用該控制介面來視需要形成 一或多個用戶端介面。此等用戶端介面可全部一次形成, 5 或應需而形成。當形成各個介面時,VMM將一個熱插事件 視為指示新形成介面的「插入」。例如參考美國專利申請案 弟10/79,469號’名稱「由一虛擬機器動態重新分派一實體 裝置至另一虛擬機器之方法、裝置及系統」,申請ALantz 等人,申請曰2004年5月1曰,讓與本案之相同受讓人。 方法前進至操作308,其中VMM或服務Vm形成一或多 個VM,且指定檢測得之I/O裝置中之一或多個1/()裝置給該 等V Μ。本實例中,各個檢測得之裝置為該系統中之個別v M 之圖形配接器。然後該服務VM可用來透過其控制介面而組 配圖形配接器,讓其核心I/O功能可例如根據優先順位策略 18 1303025 5
10 2旱,該優先順位策略給予—個vm優於另外一個說 t順位麵312)。隨後,—料她,丽可撤回, 致上未涉及1/0異動處理,原因在於各個領現在可方便 ,改或截取其針對顯示㈣《置之〇S呼叫(例如對其被 才曰定=硬體用戶端介面之該點加上—位址偏移)。 若干本發明具體例可提供為電腦程式產品或軟體,其 匕括機②可s胃取媒體或電腦可讀取賴其上儲存可用來規 J電細(或其匕電子襄置)之指令,來執行根據本發明之一 具體例之-項處理程序。其它具體例中,可藉含有微碼、 有線邏輯之特定硬體組成元#、或藉經賴之電腦元件與 客端硬體元件之任一種組合來執行操作。 機斋可讀取媒體可為任一種以機器可存取形式提供 (亦即儲存或發送)資訊之機構,該機器(例如為一或多處理 器之集合、一桌上型電腦、一可攜式電腦、一製造工具或 15任何其它有處理器之裝置)。例如可錄式/不可錄式媒體如唯 讀記憶體(ROM)、隨機存取記憶體(RAM)、磁旋轉碟儲存 媒體、光碟儲存媒體、以及電、光、聲或其它形式之傳播 信號(例如載波、紅外光信號等)。 摘要言之,已經說明可於多重用戶端來分享一實體裝 20置之技術之多個具體例。於前文說明書中,已經參照其特 定較佳具體例說明本發明。但顯然可未悖離如隨附之申請 專利範圍陳述之本發明之廣義精髓及範圍而做出多項修改 及變化。舉例言之,執行vMM之電腦系統可有多個處理器 (CPU),此處各個用戶端例如可於不同處理态執行。於 19 1303025 此種系、统之可分享裝置之多個用戶端介面允許由不同的 VM用戶柒存取該裝置的相同核心功能且可同時發生,而各 個VM用戶端間彼此不相知曉。如此由¥]^用戶端之觀點, 可無VM用戶端彼此間之干擾來進行。於本内容之同時存取 5例如係表示一項異動處理請求由該I/O裝置所捕捉,但未尚 完成,而另一異動處理請求也由1/〇裝置捕捉且未尚完成。 於非虛擬系統中,OS典型係確定不允許此種現象發生,例 如不允許有兩個CPU來同時規劃同一個裝置。但於此處所 述VM系統之具體例,則希望VMM無需承擔此種責任(由於 10此種|人體複雜’需要監視或涉及1/()裝置之每—項存取)。如 此於此種系統,當VM用戶端或客端存取同一償〇裝置 $各個VM客、或用戶端間並無協力合作。由於此處戶斤述 夕個用戶端介面本質,此種存取係適當路由至該1/〇裝置之 核〜功月匕’因而讓該種解決之道對多重處理器vm系統特別 b具有吸引力。本說明書及圖式須視為舉例說明而非限制性 意義。 【圖式簡單說明】 第1圖顯示-種「可藉設計而分享」之實體裝置之方塊 圖 20 ^第2圖顯示具有可分享裝置且執行虛擬程序之—種電 腦系統之方塊圖。 第3圖顯示涉及探索電腦系統之可分享1/〇裝置之虛擬 程序之流程圖。 ⑧ 20 1303025 【主要元件符號說明】 100.. .可分享裝置 104…核心功能電路 108.. .軟體虛擬機器用戶端, VM用戶端 112.. .用戶端介面電路,用戶端 介面 116…多工電路 120…實體世界介面電路,實體 世界介面 122···多工電路
126.. .控制介面電路,控制介面 130…服務VM 204.. .實體主機硬體,主機硬體 平台 208.. .使用者輸入裝置 212···硬碟機 214.. .顯示器監視器 216.. .NIC配接卡 224.. .VMM,虛擬機器監視器
228.. .虛擬機器,VM
232.. .客端作業系統,客端OS 236.. .應用程式 304、308、312···操作 21

Claims (1)

  1. 1303025 十、申請專利範圍: 第94121864號申請案申請專利範圍修正本 97.03.14. 1. 一種實體裝置,包含: 核心功能電路,其係用來執行一電腦系統之一核心 5 功能,該電腦系統包括二個以上之虛擬機器(VM),每一 虛擬機器包括至少一虛擬機器(VM)用戶端; 多數用戶端介面電路,其各自呈現本身如同一個分 別的完整裝置給該電腦系統之一虛擬機器(VM)用戶端 來令该虛擬機恭(VM)用戶端存取該核心功能電路;以及 10 多工化電路,其耦接該等多數用戶端介面電路至該 核心功能電路。 2·如申請專利範圍第1項之裝置,其中該核心功能為一顯 示器圖形配接器之一主要功能。 3·如申請專利範圍第2項之裝置,其中該主要功能為影像 15 呈現。 4.如申請專利範圍第1項之裝置,其中該核心功能為一網 路介面控制器之一主要功能。 5·如申請專利範圍第4項之裝置,其中該主要功能為傳輸 控制協定/網際網路協定(TCP/IP)封包卸載。 20 6.如申請專利範圍第1項之裝置,其中該用戶端介面對一 軟體用戶端顯露出不同輸入/輸出(I/O)裝置能力。 7·如申請專利範圍第1項之裝置,其中該等用戶端介面之 一顯露出一可靠之圖形配接器,以及另一用戶端介面顯 露出一不可靠之圖形配接器。 22 i、Ι3Ό3025 8. ^ -心「 iju jjrtm—·· 如申請專利範圍第1項之裝置,其中該等多數用戶端介 面各自有分別之一暫存器集合來組配該核心功能電路之操作,
    10 15
    20 以及其中一集合對一軟體用戶端而言顯現為一 I/O I置之較舊版本,而另一集合對該軟體用戶端顯現為該 I/O裝置之較新版本。 9·如申請專利範圍第1項之裝置,進一步包含: 一控制介面電路,其將由該系統中之服務虛擬機器 (VM)軟體使用來控制由該系統中之多個VM存取該核 心功能電路的動作,其中該等多個VM係分別透過該等 多個用戶端介面電路來存取該核心功能電路。 10·如申請專利範圍第9項之裝置,其中該核心功能為一顯 不器圖形配接器之一主要功能,以及該控制介面允許該 服務VM軟體選擇如何使用該核心功能電路來對該等多 個VM分別顯示多個視窗。 11·如申請專利範圍第丨項之裝置,進一步包含: 多個實體世界介面電路,其係透過額外多工化電路 而耦接至該核心功能電路,來於該核心功能電路中之發 訊功能與該裝置外部之發訊功能間執行轉譯。 I2·如申請翻範圍第_之裝置,其切”數實體世界 介面電路係欲於該核心功能電路中之發訊功能與一電 腦周邊匯流排中之發訊功能間執行轉譯。 13.如申請專利範圍第u項之裝置,其中該等多數實體世界 介面電路係欲於該核心功能電路中之發訊功处與一區 23 i i
    Ι3Ό3025 域網路(LAN)節點互連媒體中之發訊功能間執行轉譯。 14·如申請專利範圍第9項之裝置,進一步包含多個工作負 載佇列,其各自係耦接於該等多個用戶端介面電路中之 一個別用戶端介面電路與該核心功能電路間,其中該控 5 制介面電路允許該服務VM依佇列條件之一函數而選擇 哪一佇列將饋給該核心功能電路。 15. —種輸入/輸出(I/O)裝置,包含: 核心I/O功能電路,其用來執行一電腦系統之一核 心I/O功能;以及 10 多個用戶端介面電路,其中任一者皆可由該系統中 之一虛擬機器(VM)用來存取該核心I/O功能電路來取用 相同的核心I/O功能,其中每一用戶端介面電路呈現本 身如同一個分別的完整裝置來令一虛擬機器(VM)存取 該核心I/O功能電路。 15 16.如申請專利範圍第15項之I/O裝置,其中各個用戶端介 面電路具有分別之一暫存器集合,該暫存器集合可由該 I/O裝置外侧存取,以及各個集合具有相同位址範圍, 但有偏位。 17.如申請專利範圍第15項之I/O裝置,其中該等用戶端介 20 面電路之一呈現一内容保護介面給圖形配接器功能,來 阻止由該圖形配接器功能所呈現之輸出資料受到未經 授權的拷貝;以及該等用戶端介面電路中之另一者呈現 一不安全之介面給該圖形配接器功能。 18·如申請專利範圍第15項之I/O裝置,其中該I/O裝置讓軟 < S ) 24 * * Ι3Ό3025 鄉 H'f、,.、% l ....,J 體可任意改變用戶端介面數目,來讓該I/O裝置之資源 更佳地匹配多個虛擬機器用戶端的需求,該等多數虚擬 機器用戶端將分別經由該等多數用戶端介面電路而存 取該I/O裝置。 5 19. 一種具有虛擬機器能力之電腦系統,包含: 一處理器; 一記憶體,其具有一虛擬機器監視器程式(VMM) 儲存於其中,其中該VMM係由該處理器存取來管理該 系統中之多個虛擬機器(VM),供分別執行多個用戶端程 10 式;以及 一I/O裝置,其具有多個介面於硬體中,此處各個 介面將其本身做為一個分別之I/O裝置呈現給將於該等 多數VM内執行之該等多數用戶端程式中之一個別用戶 端程式。 15 20·如申請專利範圍第19項之系統,其中該記憶體進一步包 括一服務VM儲存於其中而將由該處理器存取, 以及該I/O裝置進一步包含一控制介面於硬體中, 該控制介面係由該服務VM用來組配核心I/O功能電路。 21.如申請專利範圍第20項之系統,其中該1/〇裝置進一步 20 包含: 呈硬體型態之一實體世界介面,該實體世界介面將 於該核心I/O功能電路之發訊功能與該1/〇裝置外部之發 訊功能間執行轉譯。 25 C S )
TW094121864A 2004-06-30 2005-06-29 Physical device , i/o device and computer system with virtual machine capable interfaces TWI303025B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/882,458 US20060069828A1 (en) 2004-06-30 2004-06-30 Sharing a physical device among multiple clients

Publications (2)

Publication Number Publication Date
TW200606648A TW200606648A (en) 2006-02-16
TWI303025B true TWI303025B (en) 2008-11-11

Family

ID=34972763

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094121864A TWI303025B (en) 2004-06-30 2005-06-29 Physical device , i/o device and computer system with virtual machine capable interfaces

Country Status (7)

Country Link
US (1) US20060069828A1 (zh)
JP (1) JP2008503015A (zh)
KR (1) KR100893541B1 (zh)
CN (1) CN100517287C (zh)
DE (1) DE112005001502T5 (zh)
TW (1) TWI303025B (zh)
WO (1) WO2006012291A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135752B2 (en) 2015-06-17 2018-11-20 Aliane Technologies Co. Expansion device for virtual interface and network server system thereof

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184296A1 (en) * 2005-02-17 2006-08-17 Hunter Engineering Company Machine vision vehicle wheel alignment systems
US7685335B2 (en) * 2005-02-25 2010-03-23 International Business Machines Corporation Virtualized fibre channel adapter for a multi-processor data processing system
US20060193327A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation System and method for providing quality of service in a virtual adapter
US7546386B2 (en) * 2005-02-25 2009-06-09 International Business Machines Corporation Method for virtual resource initialization on a physical adapter that supports virtual resources
US7496790B2 (en) * 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US7386637B2 (en) * 2005-02-25 2008-06-10 International Business Machines Corporation System, method, and computer program product for a fully trusted adapter validation of incoming memory mapped I/O operations on a physical adapter that supports virtual adapters or virtual resources
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US20060195617A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification
US20060195848A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation System and method of virtual resource modification on a physical adapter that supports virtual resources
US7398328B2 (en) * 2005-02-25 2008-07-08 International Business Machines Corporation Native virtualization on a partially trusted adapter using PCI host bus, device, and function number for identification
US7308551B2 (en) * 2005-02-25 2007-12-11 International Business Machines Corporation System and method for managing metrics table per virtual port in a logically partitioned data processing system
US7543084B2 (en) * 2005-02-25 2009-06-02 International Business Machines Corporation Method for destroying virtual resources in a logically partitioned data processing system
US7398337B2 (en) * 2005-02-25 2008-07-08 International Business Machines Corporation Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization
US20060195618A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization
US7464191B2 (en) * 2005-02-25 2008-12-09 International Business Machines Corporation System and method for host initialization for an adapter that supports virtualization
US7493425B2 (en) * 2005-02-25 2009-02-17 International Business Machines Corporation Method, system and program product for differentiating between virtual hosts on bus transactions and associating allowable memory access for an input/output adapter that supports virtualization
US7870301B2 (en) * 2005-02-25 2011-01-11 International Business Machines Corporation System and method for modification of virtual adapter resources in a logically partitioned data processing system
US7376770B2 (en) * 2005-02-25 2008-05-20 International Business Machines Corporation System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
US7480742B2 (en) * 2005-02-25 2009-01-20 International Business Machines Corporation Method for virtual adapter destruction on a physical adapter that supports virtual adapters
US20060195623A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Native virtualization on a partially trusted adapter using PCI host memory mapped input/output memory address for identification
US7475166B2 (en) * 2005-02-28 2009-01-06 International Business Machines Corporation Method and system for fully trusted adapter validation of addresses referenced in a virtual host transfer request
US20070136554A1 (en) * 2005-12-12 2007-06-14 Giora Biran Memory operations in a virtualized system
US20070168872A1 (en) * 2006-01-19 2007-07-19 Raytheon Company Multi-monitor, multi-JVM java GUI infrastructure with layout via XML
US20070192518A1 (en) * 2006-02-14 2007-08-16 Aarohi Communications, Inc., A California Corporation Apparatus for performing I/O sharing & virtualization
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
US8407699B2 (en) 2008-03-10 2013-03-26 Citrix Systems, Inc. System and method for managing code isolation
US9317309B2 (en) * 2006-12-28 2016-04-19 Hewlett-Packard Development Company, L.P. Virtualized environment allocation system and method
US8190778B2 (en) 2007-03-06 2012-05-29 Intel Corporation Method and apparatus for network filtering and firewall protection on a secure partition
CN101272295B (zh) * 2007-03-21 2012-01-25 联想(北京)有限公司 支持多投影源的虚拟网络投影系统及方法
US20090083630A1 (en) * 2007-09-20 2009-03-26 C & S Operations, Inc. Computer system with tunneling
KR101007279B1 (ko) * 2007-12-17 2011-01-13 한국전자통신연구원 가상 머신 디스크 풀을 이용한 가상 머신 프로비저닝 방법 및 시스템
TWI356301B (en) 2007-12-27 2012-01-11 Ind Tech Res Inst Memory management system and method for open platf
US8646052B2 (en) * 2008-03-31 2014-02-04 Intel Corporation Method and apparatus for providing a secure display window inside the primary display
US20100169884A1 (en) * 2008-12-31 2010-07-01 Zohar Bogin Injecting transactions to support the virtualization of a physical device controller
JP5081847B2 (ja) * 2009-02-20 2012-11-28 株式会社日立製作所 マルチプロセッサによるパケット処理装置およびパケット処理方法
SG177152A1 (en) * 2009-06-16 2012-01-30 Intel Corp Camera applications in a handheld device
US9021556B2 (en) * 2009-11-23 2015-04-28 Symantec Corporation System and method for virtual device communication filtering
US8572610B2 (en) * 2009-12-09 2013-10-29 General Electric Company Patient monitoring system and method of safe operation with third party parameter applications
JP5423404B2 (ja) * 2010-01-08 2014-02-19 日本電気株式会社 オフロード処理装置、および、通信システム
US8739177B2 (en) * 2010-06-21 2014-05-27 Intel Corporation Method for network interface sharing among multiple virtual machines
US20120054740A1 (en) * 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
KR20120035493A (ko) * 2010-10-05 2012-04-16 엘지전자 주식회사 네트워크 모니터 시스템 및 그 제어 방법
CN102480410B (zh) * 2010-11-22 2015-06-10 杭州华三通信技术有限公司 一种集中式业务处理单板及虚拟化资源划分方法
KR101502895B1 (ko) 2010-12-22 2015-03-17 주식회사 케이티 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템
KR101707545B1 (ko) 2010-12-23 2017-02-16 주식회사 케이티 솔루션 공유 방법 및 그 장치
KR101544480B1 (ko) 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
KR101585146B1 (ko) * 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
KR101483127B1 (ko) 2011-03-31 2015-01-22 주식회사 케이티 클라우드 스토리지 시스템에서 리소스를 고려한 자료분배방법 및 장치
KR101544483B1 (ko) 2011-04-13 2015-08-17 주식회사 케이티 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
KR101544485B1 (ko) 2011-04-25 2015-08-17 주식회사 케이티 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
US8972984B2 (en) * 2011-05-20 2015-03-03 Citrix Systems, Inc. Methods and systems for virtualizing audio hardware for one or more virtual machines
US9390294B2 (en) * 2011-09-30 2016-07-12 Hewlett-Packard Development Company, L.P. Virtualized device control in computer systems
DE102011116407A1 (de) * 2011-10-19 2013-04-25 embedded projects GmbH Mobile Recheneinheit
US9164789B2 (en) * 2012-02-29 2015-10-20 Red Hat Israel, Ltd. Multiple queue management and adaptive CPU matching in a virtual computing system
US20140012704A1 (en) 2012-07-05 2014-01-09 Google Inc. Selecting a preferred payment instrument based on a merchant category
US9092767B1 (en) 2013-03-04 2015-07-28 Google Inc. Selecting a preferred payment instrument
WO2014137008A1 (ko) * 2013-03-06 2014-09-12 팬터로그 주식회사 그래픽 자원 공유 시스템 및 방법
CN103778018B (zh) * 2014-01-16 2018-05-04 深圳艾迪宝智能系统有限公司 一种用于pcie虚拟化管理的方法
US9858572B2 (en) 2014-02-06 2018-01-02 Google Llc Dynamic alteration of track data
US9632953B2 (en) * 2014-06-03 2017-04-25 Qualcomm Incorporated Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
JP6545022B2 (ja) * 2015-07-10 2019-07-17 日本電産サンキョー株式会社 カード搬送システム及びカード搬送制御方法
US10185679B2 (en) 2016-02-24 2019-01-22 Red Hat Israel, Ltd. Multi-queue device assignment to virtual machine groups
CN109542581B (zh) * 2017-09-22 2020-10-13 深圳市中兴微电子技术有限公司 一种设备共享方法、装置及存储介质
CN110618843A (zh) * 2018-06-20 2019-12-27 成都香巴拉科技有限责任公司 单电脑主机多用户桌面虚拟化系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0664536B2 (ja) * 1986-01-17 1994-08-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想端末サブシステムの制御方法
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
WO1995004322A1 (en) * 1993-07-28 1995-02-09 3Com Corporation Network station with multiple network addresses
JPH09167429A (ja) * 1995-12-15 1997-06-24 Fujitsu Ltd 光ディスク装置
US5758099A (en) * 1996-05-29 1998-05-26 International Business Machines Corporation Plug and play protocol for bus adapter card
JP2866376B2 (ja) * 1998-05-20 1999-03-08 株式会社日立製作所 ディスクアレイ装置
JP3659062B2 (ja) * 1999-05-21 2005-06-15 株式会社日立製作所 計算機システム
JP4395223B2 (ja) * 1999-09-24 2010-01-06 株式会社日立製作所 表示装置、表示方法、および、ナビゲーション装置
US6823404B2 (en) * 2000-06-08 2004-11-23 International Business Machines Corporation DMA windowing in an LPAR environment using device arbitration level to allow multiple IOAs per terminal bridge
JP2002351621A (ja) * 2001-05-30 2002-12-06 Toshiba Corp 複数デバイスとして認識されるドライブ装置と光ディスクドライブ装置及びこれらの方法
US7174550B2 (en) * 2003-05-12 2007-02-06 International Business Machines Corporation Sharing communications adapters across a plurality of input/output subsystem images
JP2005301513A (ja) * 2004-04-08 2005-10-27 Fujitsu Ltd プログラム内蔵デバイス

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135752B2 (en) 2015-06-17 2018-11-20 Aliane Technologies Co. Expansion device for virtual interface and network server system thereof

Also Published As

Publication number Publication date
TW200606648A (en) 2006-02-16
CN100517287C (zh) 2009-07-22
WO2006012291A3 (en) 2006-08-03
US20060069828A1 (en) 2006-03-30
KR100893541B1 (ko) 2009-04-17
DE112005001502T5 (de) 2007-11-29
KR20070032734A (ko) 2007-03-22
WO2006012291A2 (en) 2006-02-02
CN1973274A (zh) 2007-05-30
JP2008503015A (ja) 2008-01-31

Similar Documents

Publication Publication Date Title
TWI303025B (en) Physical device , i/o device and computer system with virtual machine capable interfaces
US10095645B2 (en) Presenting multiple endpoints from an enhanced PCI express endpoint device
EP3204862B1 (en) Emulated endpoint configuration
US9397944B1 (en) Apparatus and method for dynamic communication scheduling of virtualized device traffic based on changing available bandwidth
US20190319896A1 (en) Packet Forwarding Method And Physical Host
US8893013B1 (en) Method and apparatus for providing a hybrid computing environment
KR100843490B1 (ko) 논리적으로 분할된 컴퓨터 시스템에서의 리소스 전달을제어하는 장치 및 방법
KR101782342B1 (ko) 가상 스토리지 타겟 오프로드 기법
US6591358B2 (en) Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU
CN100382069C (zh) 在逻辑分区之间共享网络i/o适配器的装置与方法
TW201117100A (en) Management apparatuses and related switching methods for a running virtual machine
RU2649771C2 (ru) Виртуализация массового запоминающего устройства для облачных вычислений
JP2005196733A (ja) Ip技術によるブロードバンドネットワークのリモート起動方法及びリモート起動制御装置
TWI631504B (zh) 多重架構管理器
KR20050113189A (ko) 논리적으로 분할된 컴퓨터 시스템에서의 리소스 전달을제어하는 장치 및 방법
WO2019174074A1 (zh) 一种处理业务数据的方法和网络设备
TWI525546B (zh) 用於藉由把來自實體裝置控制器之中斷重新導向來提供多重虛擬裝置控制器之裝置及方法
TWI403955B (zh) 用於在虛擬化環境中共享音訊子系統的裝置、方法與系統
CN115298656A (zh) 用于调度可共享pcie端点设备的系统和方法
KR101498965B1 (ko) 가상화 기술을 이용한 내외부망 격리 시스템 및 방법
US20230195491A1 (en) Device emulation in remote computing environments
US11467998B1 (en) Low-latency packet processing for network device
US11442767B2 (en) Virtual serial ports for virtual machines
KR20140079553A (ko) 입출력 가상화 네트워크 인터페이스 카드 기반 가상 데스크탑 서비스 방법 및 장치
US7930445B2 (en) Computer system using remote I/O and I/O data transfer method

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees