TWI779321B - 資源整合系統及資源整合方法 - Google Patents
資源整合系統及資源整合方法 Download PDFInfo
- Publication number
- TWI779321B TWI779321B TW109124715A TW109124715A TWI779321B TW I779321 B TWI779321 B TW I779321B TW 109124715 A TW109124715 A TW 109124715A TW 109124715 A TW109124715 A TW 109124715A TW I779321 B TWI779321 B TW I779321B
- Authority
- TW
- Taiwan
- Prior art keywords
- external
- operating system
- unit
- external device
- virtualization
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一種資源整合方法,適用於一虛擬環境。資源整合方法的步驟包含:藉由一橋接模組使一本機的一本機作業系統(Host OSt operation system)與一外部裝置溝通,並取得外部裝置資訊;以及藉由一接收模組接收一客作業系統(guest operation system)傳來的一存取指令到本機,接收來自本機的一硬體處理結果,並選擇性地將存取指令透過橋接模組傳送到外部裝置及接收來自外部裝置的硬體處理結果;其中,硬體處理結果對應於存取指令;其中,本機於本機作業系統上運行虛擬環境,虛擬環境中運行客作業系統,客作業系統運行一應用程式,應用程式用以發出存取指令。
Description
本發明是關於一種整合系統,特別是關於一種適用於一虛擬環境的資源整合系統及資源整合方法。
電競遊戲仍以運行在Windows作業系統版本為大宗,目前大型電競公司(例如Valve)購買6500個Windows作業系統版本遊戲欲將以Linux平台運行。
由此可見,在能夠運行Linux的平台上玩Windows作業系統版本的遊戲,逐漸成為未來趨勢。Windows作業系統版本的遊戲或程式,要在Chromebook或Linux作業系統平台上執行,若僅以模擬的工具程式執行,因所有的應用程式介面(Application Programming Interface,API)和執行時期(Run time)集合在一起,執行時直接存取Linux平台的作業系統,此方法的穩定度不高,易造成程式無法運行(Crash),因此業界大多再加上虛擬機器(Virtual Machine)加以保護。
然而,在虛擬機器上運行電競遊戲與直接在Windows作業系統上運行電競遊戲在效能上仍有差異,因此,如何在兼顧穩定性與遊戲體驗,已成為本領域需解決的問題之一。
為了解決上述的問題,本揭露內容之一態樣提供了一種資源整合系統。資源整合系統適用於一虛擬環境,資源整合系統包含一橋接模組以及一接收模組。橋接模組用以使一本機的一本機作業系統(Host OSt operation system)與一外部裝置溝通,並取得外部裝置資訊。接收模組用以接收一客作業系統(guest operation system)傳來的一存取指令到本機,接收來自本機的一硬體處理結果,並選擇性地將存取指令透過橋接模組傳送到外部裝置及接收來自外部裝置的硬體處理結果。其中,硬體處理結果對應於存取指令。其中,本機於本機作業系統上運行虛擬環境,虛擬環境中運行客作業系統,客作業系統運行一應用程式,應用程式用以發出存取指令。
本發明之又一態樣係於提供一種資源整合方法,適用於一虛擬環境。資源整合方法的步驟包含:藉由一橋接模組使一本機的一本機作業系統(Host OSt operation system)與一外部裝置溝通,並取得外部裝置資訊;以及藉由一接收模組接收一客作業系統(guest operation system)傳來的一存取指令到本機,接收來自本機的一硬體處理結果,並選擇性地將存取指令透過橋接模組傳送到外部裝置及接收來自外部裝置的硬體處理結果;其中,硬體處理結果對應於存取指令;其中,本機於本機作業系統上運行虛擬環境,虛擬環境中運行客作業系統,客作業系統運行一應用程式,應用程式用以發出存取指令。
因此,資源整合系統及資源整合方法在進行渲染或其他操作的機制中,藉由橋接模組與接收模組之機制,讓原本的系統在透過與外部裝置連接之後,使系統資源加以整合,讓虛擬環境下的客作業系統能使用較多的系統資源,如多顆處理器、圖形處理器或是較大的記憶體,使得在客作業系統運行應用程式時的效能與使用者體驗得以提升。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
請參照第1圖,第1圖係依照本發明一實施例繪示資源整合系統100之示意圖。如第1圖所示,資源整合系統100是將本機的本機作業系統(Host operation system)Host OS上架構虛擬機器VM,虛擬機器VM上再運行一個客作業系統(guest operation system)Guest OS。應用程式10都在虛擬機器VM環境下運行,虛擬機器VM與客作業系統Guest OS都有半虛擬化圖形處理器(Virtio-GPU)22、24。其中,半虛擬化(Virtio)的方法是已知技術,用以對客作業系統Guest OS進行一定的修改(如,安裝相應的驅動程式),能夠對虛擬機器的輸入/輸出效能進行大幅的提升。
當要進行渲染(rendering)時,應用程式10發出請求(渲染的相關執行指令)到硬體存取應用程式介面(Application Programming Interface,API)20,硬體存取應用程式介面20將請求傳送到半虛擬化圖形處理器22,半虛擬化圖形處理器22再將請求傳送到半虛擬化圖形處理器24,半虛擬化圖形處理器24會將請求傳遞至本機的硬體加速應用程式介面(Hardware Acceleration API)60,硬體加速應用程式介面60將請求傳到本機核心(kernel)70的渲染管理驅動器(Driver Render Manager Driver,DRM)72,渲染管理驅動器72將請求傳送到硬體層80中的圖形處理器88跟圖像記憶體87,圖形處理器88主要進行渲染工作,並將渲染結果依傳送請求的路徑回傳至客作業系統Guest OS,客作業系統Guest OS將畫面呈現於顯示器上。
其中,硬體加速應用程式介面60為加速API (現有技術可使用OpenGL與Vulkan以實現之)。
由上述可看出,進行硬體存取與畫面呈現的資訊傳輸之間都被虛擬機器VM包覆,上下層指令傳遞,都需要再轉換。第1圖的架構安全性高,但是效能受到限制,要打通中間的隔閡,又不犧牲原本的安全性,第1圖的架構是難以達到。
因此,本發明提出第2~4圖所示的資源整合系統200、資源整合方法300及資源整合系統400,可以透過本機取得來自外部實體裝置與虛擬化裝置,進行資源整合,再實現至虛擬化環境裡的客作業系統Guest OS,讓客作業系統Guest OS執行應用程式10時達到效能與可用資源的提升。
請參閱第2圖,第2圖係依照本發明一實施例繪示資源整合系統200之示意圖。於一實施例中,資料儲存系統200包含一橋接模組52及一接收模組54。橋接模組52及接收模組54位於本機的一硬體存取程式庫50中。
於一實施例中,橋接模組52可以被實施為例如為微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路。於一實施例中,橋接模組52可以由軟體或韌體實現之。
於一實施例中,接收模組54可以被實施為例如為微控制單元、微處理器、數位訊號處理器、特殊應用積體電路或一邏輯電路。於一實施例中,接收模組54可以由軟體或韌體實現之。
於一實施例中,橋接模組52用以使一本機的一本機作業系統Host OS與一外部裝置(例如外部裝置90、92)溝通,並取得外部裝置資訊。
於一實施例中,當外部裝置90、92與本機的通用序列匯流排(Universal Serial Bus,USB)82及/或網路介面84通訊耦接時,本機核心70會將外部裝置90、92的外部裝置資訊傳給橋接模組52。
於一實施例中,外部裝置90、92例如為手機、平板、筆電、伺服器...等電子裝置。
於一實施例中,外部裝置資訊例如為外部裝置90、92的記憶體大小、儲存裝置大小、處理器相關資訊、是否有作業系統、是否有虛擬環境或虛擬裝置...等軟體及/或硬體資訊。
於一實施例中,接收模組54用以接收一客作業系統Guest OS傳來的一存取指令到本機,接收來自本機的硬體層80的第一硬體處理結果,並選擇性地將存取指令透過橋接模組52傳送到外部裝置90、92及接收來自外部裝置90、92的第二硬體處理結果;其中,第一硬體結果及第二硬體處理結果對應於存取指令。
於一實施例中,本機於本機作業系統Host OS上運行虛擬環境VE(例如以虛擬機器實現之),虛擬環境VE中運行客作業系統Guest OS,客作業系統Guest OS運行一應用程式10,應用程式10用以發出存取指令。
例如,應用程式10欲進行渲染時,將渲染指令(視為存取指令)及相關資訊傳給硬體存取應用程式介面20,硬體存取應用程式介面20將渲染指令及相關資訊傳給虛擬化裝置30,虛擬化裝置30將渲染指令及相關資訊傳給虛擬化裝置40,虛擬化裝置40將渲染指令及相關資訊傳給硬體存取程式庫50,硬體存取程式庫50將渲染指令及相關資訊傳給硬體加速應用程式介面60,硬體加速應用程式介面60將渲染指令及相關資訊傳給本機核心70,本機核心70將渲染指令及相關資訊傳給圖形處理器88、記憶體與視訊隨機存取記憶體86及處理器89,圖形處理器88主要進行渲染工作,圖像記憶體87可以暫存與渲染相關的資訊,處理器89可以選擇性地協助運算,圖形處理器88將渲染結果依傳送請求的路徑回傳至客作業系統Guest OS,客作業系統Guest OS將畫面呈現給使用者。
其中,橋接模組52與接收模組54位於本機的一硬體存取程式庫50中,硬體存取程式庫50介於虛擬環境VE中的一虛擬化裝置40與本機的一硬體加速應用程式介面60之間。關於硬體存取程式庫50內部的運作方式,將於第3~4圖對應的說明段落敘述之。
請一併參閱第3A~3B及4圖,第3A~3B圖係依照本發明一實施例繪示資源整合方法300之流程圖。第4圖係依照本發明一實施例繪示資源整合系統400之示意圖。
於第4圖中,橋接模組52中包含一連接單元521、一虛擬資源單元522及一實體資源單元523,接收模組54包含一資源整合單元541、一裝置虛擬化單元542、一彙整單元543及一存取單元544。
於一實施例中,連接單元521、虛擬資源單元522、實體資源單元523、資源整合單元541、裝置虛擬化單元542、彙整單元及存取單元544可以分別被實施為例如為微控制單元、微處理器、數位訊號處理器、特殊應用積體電路或一邏輯電路。於一實施例中,連接單元521、虛擬資源單元522、實體資源單元523、資源整合單元541、裝置虛擬化單元542、彙整單元及存取單元544可以由軟體或韌體實現之。
於步驟310中,連接單元521用以從本機的一本機核心70接收外部裝置資訊。
於一實施例中,當外部裝置90、92與本機的通用序列匯流排82及/或網路介面84通訊耦接時,本機核心70會將外部裝置90、92的外部裝置資訊傳給橋接模組52中的連接單元521。
於步驟312中,連接單元521依據外部裝置資訊判斷外部裝置中是否存在至少一外部作業系統。
於一實施例中,外部裝置資訊包含一外部作業系統索引(index)。連接單元521可以由外部作業系統索引得知外部作業系統的數量。
若連接單元521依據外部裝置資訊判斷外部裝置不存在外部作業系統,則進入步驟314。若連接單元521依據外部裝置資訊判斷外部裝置存在至少一外部作業系統,則進入步驟316。
於步驟314中,連接單元521忽略此外部裝置,不採用此外部裝置。
於一實施例中,當連接單元521判斷外部裝置資訊中的外部作業系統索引等於0,代表此外部裝置沒有安裝作業系統,此外部裝置對於客作業系統Guest OS的硬體效能強化與加速並無幫助,因此忽略此外部裝置。
於步驟316中,連接單元521判斷外部裝置中存在至少一外部作業系統的數量是否大於等於2。
當連接單元521判斷外部裝置中存在至少一外部作業系統的數量並非大於等於2,則進入步驟318。當連接單元521判斷外部裝置中存在至少一外部作業系統的數量大於等於2,則進入步驟324。
於步驟318中,實體資源單元522彙整將來自連接單元521的實體裝置的資源,以產生一實體裝置資訊到接收模組54。
當連接單元521判斷外部裝置中只有一個外部作業系統(外部作業系統的數量等於1),代表外部裝置只有本機作業系統Host OS並且無虛擬化設備,外部裝置內部的元件都是實體裝置。此時連接單元521針對外部裝置所有的元件依類別進行收集,實體資源單元523再進行彙總,再傳送至裝置虛擬化單元542進行虛擬化,最後再合併列舉至客作業系統Guest OS。
於一實施例中,當連接單元521判斷至少一外部作業系統的數量為1時,代表外部裝置為一實體裝置,例如為一個8GB(Gigabyte)的記憶體。
於一實施例中,外部裝置中包含多個實體裝置,例如,外部裝置有兩條8GB的記憶體及一個處理器,則實體資源單元523在邏輯上彙整為16GB的記憶體。
於一實施例中,連接單元521針對外部裝置所有的元件依類別進行收集,實體資源單元523再進行彙總(例如有兩條8GB的記憶體,由於兩者記憶體屬於同類型實體裝置,因此彙總成16GB的記憶體),以產生一實體裝置資訊,例如,實體裝置資訊紀錄此一或多個實體裝置總共包含16GB的記憶體及一個處理器。實體資源單元523對於外部所有的元件依類別進行彙總後,再將實體裝置資訊紀錄傳送至裝置虛擬化單元542進行虛擬化,虛擬化單元542將虛擬化後的虛擬化裝置合併列舉至客作業系統Guest OS。
於一實施例中,實體資源單元523對於本機的硬體及/或外部裝置中的實體裝置再進行彙總,再傳送至裝置虛擬化單元542進行虛擬化,將虛擬化後的虛擬化裝置合併列舉至客作業系統Guest OS。
於步驟320中,裝置虛擬化單元542接收來自實體資源單元523的實體裝置資訊,將外部裝置中同類型的實體裝置進行虛擬化,以產生對應實體裝置的虛擬化裝置,並傳送對應實體裝置的一虛擬化資訊到彙整單元543。
於一實施例中,裝置虛擬化單元542由實體裝置資訊得知一外部裝置有16GB的記憶體及一個處理器,則裝置虛擬化單元542將16GB的記憶體進行虛擬化,以產生對應16GB的虛擬化記憶體,並將16GB的虛擬化記憶體之資訊傳送到彙整單元543;同樣地,裝置虛擬化單元542將處理器進行虛擬化,以產生對應處理器的虛擬化處理器,並對應處理器的虛擬化處理器傳送到彙整單元543。
其中,可以應用已知的沙盒(Sandbox)技術以對實體裝置進行虛擬化。沙盒通常嚴格控制其中的程式所能存取的資源,比如,沙盒可以提供用後即回收的磁碟及記憶體空間。在沙盒中,網路存取、對真實系統的存取、對輸入裝置的讀取通常被禁止或是嚴格限制。從這個角度來說,沙盒屬於虛擬化的一種。然,本案虛擬化技術並不僅限於使用沙盒。
於步驟322中,彙整單元543將所有的虛擬化裝置列舉到客作業系統Guest OS,使客作業系統Guest OS得知各類型的虛擬化裝置所對應的系統資源。
於一實施例中,彙整單元543將所有的虛擬化裝置列舉到虛擬化裝置40,虛擬化裝置40再將所有的虛擬化裝置列舉到客作業系統Guest OS。
於步驟324中,連接單元521判斷外部裝置92中同類型裝置的名字是否不一樣。
若連接單元521判斷外部裝置92中同類型裝置的名字一樣,則進入步驟318。若連接單元521判斷外部裝置92中的同類型裝置名字不一樣,則進入步驟328。
於一實施例中,當該連接單元521判斷至少一外部作業系統的數量大於等於2時,代表至少一外部作業系統中包含至少一外部虛擬環境,外部裝置92包含一實體裝置及/或一虛擬化裝置。於一實施例中,外部虛擬環境中也會有一些虛擬化裝置。
於一實施例中,若連接單元521判斷外部裝置92中同類型裝置的名字不一樣,代表一個可能是一個是實體裝置,另一個是虛擬化裝置。例如,外部裝置92中的兩個記憶體名字不同,則一個是虛擬記憶體,另一個是實體記憶體,則記憶體(實體裝置)進入步驟318,虛擬記憶體(虛擬化裝置)進入步驟328。
更具體而言,如果作業系統索引大於等於2,代表外部裝置92分為本機作業系統Host OS與客作業系統Guest OS,若要再進一步找出是否有虛擬化裝置時,針對同一類型裝置的名稱不一樣者中的虛擬化裝置(代表可能兩個裝置都是虛擬化裝置,或是一個裝置是虛擬化裝置另一個是實體裝置),記錄至虛擬資源單元522,再傳送虛擬化裝置至資源整合單元541,進行將虛擬化裝置進行系統資源整併,再透過彙整單元543列舉到上層客作業系統Guest OS。另一方面,若外部裝置92同時包含實體裝置,則需要被虛擬化後,再列舉至客作業系統Guest OS,因此進入步驟318。
於一實施例中,當同一類型裝置的名稱一樣時,例如,外部裝置92中的兩個處理器名字相同,代表此些裝置是實體裝置,需要被虛擬化後,再列舉至客作業系統Guest OS,因此進入步驟318。
於步驟328中,虛擬資源單元522彙總來自連接單元521的虛擬化裝置的資源,以產生一虛擬化裝置資訊,並傳送虛擬化裝置資訊到接收模組54。
於一實施例中,假設外部裝置90中有兩條8GB的虛擬記憶體及一虛擬處理器,外部裝置92中有兩條8GB的虛擬記憶體及3個虛擬處理器,則虛擬資源單元522彙總外部裝置90及中有虛擬記憶體16GB及一虛擬處理器,外部裝置92中有16G的虛擬記憶體及3個虛擬處理器,以產生虛擬化裝置資訊,並傳送虛擬化裝置資訊到資源整合單元541。
於步驟330中,資源整合單元541接收來自虛擬資源單元522的虛擬化裝置資訊,依據虛擬化裝置資訊將外部裝置91、92中同類型的虛擬化裝置進行資源合併,並將一合併結果傳送到一彙整單元543。
於一實施例中,資源整合單元541計算外部裝置91、92中的虛擬化裝置與本機中的一硬體裝置合併後的資源,以產生合併結果;其中,本機中的硬體裝置與虛擬化裝置為相同類型的裝置。
於一實施例中,假設虛擬化裝置資訊中的內容為:外部裝置90中有虛擬記憶體16GB及一虛擬處理器,外部裝置92中有虛擬記憶體16GB及3個虛擬處理器。資源整合單元541將外部裝置90、92中同類型的虛擬化裝置進行資源合併,即外部裝置90、92中虛擬記憶體32GB及4個虛擬處理器,並將合併結果傳送到彙整單元543。
於步驟332中,彙整單元543將所有的虛擬化裝置列舉到客作業系統Guest OS,使客作業系統Guest OS得知各類型的虛擬化裝置所對應的系統資源。
於一實施例中,客作業系統Guest OS可以得知整個客作業系統Guest OS得知400中每個類型的虛擬化裝置對應的系統資源(例如有虛擬記憶體32GB及4個虛擬處理器)。
於一實施例中,彙整單元543中包含所有類型的虛擬化裝置之資訊。
於一實施例中,存取單元544可以與連接單元521電性耦接,以互相存取資料。
因此,資源整合系統及資源整合方法在進行渲染或其他操作的機制中,藉由橋接模組與接收模組之機制,讓原本的系統在透過與外部裝置連接之後,使系統資源加以整合,讓虛擬環境下的客作業系統能使用較多的系統資源,如多顆處理器、圖形處理器或是較大的記憶體,使得在客作業系統運行應用程式時的效能與使用者體驗得以提升。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可以透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100,200,400:資源整合系統
VM:虛擬機器
Guest OS:客作業系統
10:應用程式
20:硬體存取應用程式介面
22,24:半虛擬化圖形處理器
Host OS:本機作業系統
60:硬體加速應用程式介面
70:本機核心
72:渲染管理驅動器
82:通用序列匯流排
84:網路介面
87:圖像記憶體
88:圖形處理器
VE:虛擬環境
30,40:虛擬化裝置
50:硬體存取程式庫
52:橋接模組
54:接收模組
80:硬體層
86:記憶體與視訊隨機存取記憶體
89:處理器
300:資源整合方法
310~332:步驟
90,92:外部裝置
521:連接單元
522:虛擬資源單元
523:實體資源單元
541:資源整合單元
542:裝置虛擬化單元
543:彙整單元
544:存取單元
第1圖係依照本發明一實施例繪示資源整合系統之示意圖。
第2圖係依照本發明一實施例繪示資源整合系統之示意圖。
第3A~3B圖係依照本發明一實施例繪示資源整合方法之流程圖。
第4圖係依照本發明一實施例繪示資源整合系統之示意圖。
300:資源整合方法
310~332:步驟
Claims (14)
- 一種資源整合系統,適用於一虛擬環境,該資源整合系統包含:一橋接模組,用以使一本機的一本機作業系統(Host OSt operation system)與一外部裝置溝通,並取得該外部裝置資訊;以及一接收模組,用以接收一客作業系統(guest operation system)傳來的一存取指令到該本機,接收來自該本機的一硬體層的第一硬體處理結果,並選擇性地將該存取指令透過該橋接模組傳送到該外部裝置及接收來自該外部裝置的第二硬體處理結果;其中,該第一硬體處理結果及該第二硬體處理結果對應於該存取指令;其中,該本機於該本機作業系統上運行該虛擬環境,該虛擬環境中運行該客作業系統,該客作業系統運行一應用程式,該應用程式用以發出該存取指令。
- 如請求項1之資源整合系統,其中,該橋接模組與該接收模組位於該本機的一硬體存取程式庫中,該硬體存取程式庫介於該虛擬環境中的一虛擬化裝置與該本機的一硬體存取應用程式介面(Application Programming Interface,API)之間。
- 如請求項1之資源整合系統,其中,該橋接模組中包含:一連接單元,用以從該本機的一本機核心接收該外部裝置資訊,並依據該外部裝置資訊判斷該外部裝置中是否存在至少一外部作業 系統;若該連接單元判斷該外部裝置中不存在該至少一外部作業系統,則不採用該外部裝置;若該連接單元判斷該外部裝置中存在該至少一外部作業系統,則判斷該外部裝置中存在該至少一外部作業系統的數量;其中,當該連接單元判斷該至少一外部作業系統的數量為1時,代表該外部裝置為一實體裝置;當該連接單元判斷該至少一外部作業系統的數量大於等於2時,代表該至少一外部作業系統中包含至少一外部虛擬環境,該外部裝置包含一實體裝置或一虛擬化裝置。
- 如請求項3之資源整合系統,其中,該橋接模組中包含:一虛擬資源單元,用以彙總來自該連接單元的該虛擬化裝置的資源,以產生一虛擬化裝置資訊,並傳送該虛擬化裝置資訊到該接收模組;以及一實體資源單元,用以彙整將來自該連接單元的該實體裝置的資源,以產生一實體裝置資訊到該接收模組。
- 如請求項4之資源整合系統,其中,該接收模組包含:一資源整合單元,用以接收來自該虛擬資源單元的該虛擬化裝置資訊,依據該虛擬化裝置資訊將該外部裝置中同類型的該虛擬化裝置進行資源合併,並將一合併結果傳送到一彙整單元;以及一裝置虛擬化單元,用以接收來自該實體資源單元的該實體裝置 資訊,將該外部裝置中同類型的該實體裝置進行虛擬化,以產生對應該實體裝置的該虛擬化裝置,並傳送對應該實體裝置的一虛擬化資訊到該彙整單元;其中,該彙整單元將所有的該虛擬化裝置列舉到該客作業系統,使該客作業系統得知各類型的該虛擬化裝置所對應的系統資源。
- 如請求項5之資源整合系統,其中,該彙整單元中包含所有類型的該虛擬化裝置之資訊。
- 如請求項5之資源整合系統,其中,該資源整合單元計算該外部裝置中的該虛擬化裝置與該本機中的一硬體裝置合併後的資源,以產生該合併結果;其中,該本機中的該硬體裝置與該虛擬化裝置為相同類型的裝置。
- 一種資源整合方法,適用於一虛擬環境,該資源整合方法包含:藉由一橋接模組使一本機的一本機作業系統(Host OSt operation system)與一外部裝置溝通,並取得該外部裝置資訊;以及藉由一接收模組接收一客作業系統(guest operation system)傳來的一存取指令到該本機,接收來自該本機的一硬體層的第一硬體處理結果,並選擇性地將該存取指令透過該橋接模組傳送到該外部裝置及接收來自該外部裝置的第二硬體處理結果;其中,該第一硬體處理結果及該第二硬體處理結果對應於該存取指令;其中,該本機於該本機作業系統上運行該虛擬環境,該虛擬環境 中運行該客作業系統,該客作業系統運行一應用程式,該應用程式用以發出該存取指令。
- 如請求項8之資源整合方法,其中,該橋接模組與該接收模組位於該本機的一硬體存取程式庫中,該硬體存取程式庫介於該虛擬環境中的一虛擬化裝置與該本機的一硬體存取應用程式介面(Application Programming Interface,API)之間。
- 如請求項8之資源整合方法,其中,該橋接模組中包含一連接單元,該資源整合方法更包含:藉由該連接單元從該本機的一本機核心接收該外部裝置資訊,並依據該外部裝置資訊判斷該外部裝置中是否存在至少一外部作業系統;若該連接單元判斷該外部裝置中不存在該至少一外部作業系統,則不採用該外部裝置;若該連接單元判斷該外部裝置中存在該至少一外部作業系統,則判斷該外部裝置中存在該至少一外部作業系統的數量;其中,當該連接單元判斷該至少一外部作業系統的數量為1時,代表該外部裝置為一實體裝置;當該連接單元判斷該至少一外部作業系統的數量大於等於2時,代表該至少一外部作業系統中包含至少一外部虛擬環境,該外部裝置包含一實體裝置或一虛擬化裝置。
- 如請求項10之資源整合方法,其中,該橋接模組中包含一虛擬資源單元以及一實體資源單元,該資源整合方法更包含: 藉由該虛擬資源單元彙總來自該連接單元的該虛擬化裝置的資源,以產生一虛擬化裝置資訊,並傳送該虛擬化裝置資訊到該接收模組;以及藉由該實體資源單元彙整將來自該連接單元的該實體裝置的資源,以產生一實體裝置資訊到該接收模組。
- 如請求項11之資源整合方法,其中,該接收模組包含一資源整合單元以及一裝置虛擬化單元,該資源整合方法更包含:藉由該資源整合單元,用以接收來自該虛擬資源單元的該虛擬化裝置資訊,依據該虛擬化裝置資訊將該外部裝置中相同類型的該虛擬化裝置進行資源合併,並將一合併結果傳送到一彙整單元;以及藉由該裝置虛擬化單元,用以接收來自該實體資源單元的該實體裝置資訊,將該外部裝置中相同類型的該實體裝置進行虛擬化,以產生對應該實體裝置的該虛擬化裝置,並傳送對應該實體裝置的一虛擬化資訊到該彙整單元;其中,該彙整單元將所有的該虛擬化裝置列舉到該客作業系統,使該客作業系統得知各類型的該虛擬化裝置所對應的系統資源。
- 如請求項12之資源整合方法,其中,該彙整單元中包含所有類型的該虛擬化裝置之資訊。
- 如請求項12之資源整合方法,其中,該資源整合單元計算該外部裝置中的該虛擬化裝置與該本機中的一硬體裝置合併後的資源,以產生該合併結果;其中,該本機中的該硬體裝置 與該虛擬化裝置為相同類型的裝置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109124715A TWI779321B (zh) | 2020-07-22 | 2020-07-22 | 資源整合系統及資源整合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109124715A TWI779321B (zh) | 2020-07-22 | 2020-07-22 | 資源整合系統及資源整合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202205089A TW202205089A (zh) | 2022-02-01 |
TWI779321B true TWI779321B (zh) | 2022-10-01 |
Family
ID=81323467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109124715A TWI779321B (zh) | 2020-07-22 | 2020-07-22 | 資源整合系統及資源整合方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI779321B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006218A1 (en) * | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Model-based virtual system provisioning |
TW201337766A (zh) * | 2012-03-15 | 2013-09-16 | Hon Hai Prec Ind Co Ltd | 虛擬機資源整合系統及方法 |
CN103309723A (zh) * | 2012-03-16 | 2013-09-18 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机资源整合系统及方法 |
TW201638777A (zh) * | 2015-04-30 | 2016-11-01 | 捷鼎國際股份有限公司 | 用以存取虛擬機器之電腦系統及方法 |
-
2020
- 2020-07-22 TW TW109124715A patent/TWI779321B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006218A1 (en) * | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Model-based virtual system provisioning |
TW201337766A (zh) * | 2012-03-15 | 2013-09-16 | Hon Hai Prec Ind Co Ltd | 虛擬機資源整合系統及方法 |
CN103309723A (zh) * | 2012-03-16 | 2013-09-18 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机资源整合系统及方法 |
TW201638777A (zh) * | 2015-04-30 | 2016-11-01 | 捷鼎國際股份有限公司 | 用以存取虛擬機器之電腦系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202205089A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8830228B2 (en) | Techniques for enabling remote management of servers configured with graphics processors | |
US9898304B2 (en) | Fast booting a computing device to a specialized experience | |
US9069622B2 (en) | Techniques for load balancing GPU enabled virtual machines | |
US8443358B1 (en) | Hot pluggable virtual machine | |
US7971203B2 (en) | Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another | |
JP5345652B2 (ja) | 部分仮想化マシンに基づく統一格納装置 | |
EP1989635B1 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
US9069487B2 (en) | Virtualizing storage for WPAR clients using key authentication | |
US20120081355A1 (en) | Dynamic Virtual Device Failure Recovery | |
US9286094B2 (en) | Human interface device virtualization using paravirtual USB system | |
US8132167B2 (en) | Context based virtualization | |
US20070253436A1 (en) | Communicating in a virtual environment | |
US11392512B2 (en) | USB method and apparatus in a virtualization environment with multi-VM | |
US8145471B2 (en) | Non-destructive simulation of a failure in a virtualization environment | |
US10467078B2 (en) | Crash dump extraction of guest failure | |
TWI811560B (zh) | 資源整合系統及資源整合方法 | |
US20150199210A1 (en) | Methods, Devices and Computer Readable Storage Devices for Confluence of Multiple Operating Systems | |
TWI779321B (zh) | 資源整合系統及資源整合方法 | |
US20150381766A1 (en) | Application transfer system, application transfer method, terminal, and program | |
EP3593252B1 (en) | Managing guest partition access to physical devices | |
US20220027206A1 (en) | Resource integration system and resource integration method | |
US12001870B2 (en) | Injection and execution of workloads into virtual machines | |
US11327779B2 (en) | Parallelized virtual machine configuration | |
CN114371906A (zh) | 资源整合系统及资源整合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |