国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

KVM系統(tǒng)中遠(yuǎn)程虛擬存儲(chǔ)的研究

2010-05-29 05:57:14陳閔強(qiáng)王會(huì)清
關(guān)鍵詞:U盤端點(diǎn)客戶端

劉 軍,陳閔強(qiáng),王會(huì)清

(1.武漢工程大學(xué)智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430074;2.武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430074)

0 引 言

KVM系統(tǒng)的誕生能夠解決機(jī)房管理中多服務(wù)器共享鍵盤(Keyboard) 、顯示器(Video)及鼠標(biāo)(Mouse)的應(yīng)用問題,實(shí)現(xiàn)服務(wù)器主機(jī)的集中管理,而KVM單詞的由來正是Keyboard、Video和Mouse簡稱[1].隨著KVM技術(shù)的發(fā)展,特別是數(shù)字KVM系統(tǒng)的廣泛應(yīng)用,KVM over IP技術(shù)正成為一個(gè)研究的熱點(diǎn).KVM over IP技術(shù)是建立在IP網(wǎng)絡(luò)環(huán)境下,能夠通過網(wǎng)絡(luò)訪問遠(yuǎn)程控制KVM系統(tǒng),由遠(yuǎn)程控制KVM系統(tǒng)通過VGA線和USB線和被控主機(jī)進(jìn)行連接,客戶端能通過Internet網(wǎng)絡(luò)傳輸實(shí)現(xiàn)對遠(yuǎn)程控制KVM系統(tǒng)的控制,進(jìn)一步實(shí)現(xiàn)遠(yuǎn)程管理服務(wù)器,實(shí)現(xiàn)SOHO、遠(yuǎn)程辦公等多類應(yīng)用.

在遠(yuǎn)程控制領(lǐng)域,如何實(shí)現(xiàn)在KVM系統(tǒng)中對遠(yuǎn)程虛擬存儲(chǔ)設(shè)備正是一個(gè)新的研究熱點(diǎn)[2].由于USB設(shè)備能夠進(jìn)行熱拔插,而且KVM系統(tǒng)中也能夠連接USB設(shè)備并且支持USB設(shè)備的虛擬拔插控制,為此,本文通過研究在KVM系統(tǒng)中虛擬一個(gè)USB設(shè)備實(shí)現(xiàn)遠(yuǎn)程虛擬存儲(chǔ)的功能,這樣可以實(shí)現(xiàn)遠(yuǎn)程服務(wù)器與控制終端的設(shè)備共享,同時(shí)實(shí)現(xiàn)虛擬存儲(chǔ)的功能.最后,給出了不同緩存環(huán)境下的測試結(jié)果和非遠(yuǎn)程控制環(huán)境中本地優(yōu)盤設(shè)備的讀寫對比.

1 遠(yuǎn)程虛擬USB虛擬存儲(chǔ)設(shè)備的系統(tǒng)構(gòu)造

遠(yuǎn)程虛擬USB設(shè)備虛擬存儲(chǔ)系統(tǒng)概念圖如圖1所示.

圖1 虛擬USB設(shè)備虛擬存儲(chǔ)系統(tǒng)概念圖

在虛擬USB設(shè)備系統(tǒng)中,傳統(tǒng)的USB設(shè)備由虛擬USB設(shè)備所替代,在遠(yuǎn)程端的服務(wù)器通過遠(yuǎn)程控制設(shè)備和網(wǎng)絡(luò)來訪問客戶端的USB系統(tǒng),實(shí)現(xiàn)對USB存儲(chǔ)設(shè)備的遠(yuǎn)程虛擬訪問,實(shí)現(xiàn)存儲(chǔ)虛擬化功能.具體實(shí)現(xiàn)過程中,系統(tǒng)采用網(wǎng)絡(luò)技術(shù)傳輸SCSI命令和數(shù)據(jù),通過硬件和軟件相結(jié)合的虛擬技術(shù),實(shí)現(xiàn)遠(yuǎn)程USB設(shè)備虛擬至遠(yuǎn)程服務(wù)器,從而使得服務(wù)器中能夠像操作本地USB存儲(chǔ)設(shè)備一樣來操作客戶端的USB存儲(chǔ)設(shè)備.在傳統(tǒng)的USB系統(tǒng),主機(jī)和USB設(shè)備通過SCSI總線直接相連,一個(gè)USB系統(tǒng)僅包括USB主機(jī)、HUB、USB設(shè)備.通過對比這兩者的具體應(yīng)用,我們發(fā)現(xiàn)在KVM系統(tǒng)環(huán)境下,通過KVM Over IP正好可以實(shí)現(xiàn)此類應(yīng)用,并且可以進(jìn)一步可以擴(kuò)展KVM系統(tǒng)功能,實(shí)現(xiàn)云計(jì)算系統(tǒng)的遠(yuǎn)程機(jī)房管理.

由此,KVM遠(yuǎn)程控制設(shè)備系統(tǒng)必需為虛擬USB設(shè)備提供相應(yīng)的USB設(shè)備控制器硬件和相關(guān)的固件.一個(gè)USB設(shè)備控制器需要為連接實(shí)際的服務(wù)器端主機(jī)提供USB接口并且通過相應(yīng)的固件實(shí)現(xiàn)USB規(guī)范[3-4].KVM遠(yuǎn)程控制設(shè)備系統(tǒng)從物理上和控制服務(wù)器主機(jī)連接,并通過網(wǎng)絡(luò)為客戶端USB系統(tǒng)軟件進(jìn)行通信.要實(shí)現(xiàn)設(shè)備控制器硬件在物理上和USB主機(jī)相連接,并相應(yīng)的USB規(guī)范,固件中必需給以USB控制器硬件相應(yīng)的功能要求,即:

(1)偵查新進(jìn)來的數(shù)據(jù)包.

(2)把從數(shù)據(jù)鏈路上接收來的數(shù)據(jù)進(jìn)行譯碼.

(3)辨別目標(biāo)地址,接受發(fā)給自己的事務(wù)處理.

(4)對于默認(rèn)端點(diǎn)0的事務(wù)處理,鑒別事務(wù)處理的類型:是Setup事務(wù)處理,IN事務(wù)處理還是OUT事務(wù)處理.并在該端點(diǎn)的模式寄存器設(shè)置相應(yīng)的位來表示該事件的類型.

KVM遠(yuǎn)程控制設(shè)備系統(tǒng)中的固件能夠協(xié)同設(shè)備控制器硬件完成底層的傳輸,實(shí)現(xiàn)USB傳輸控制協(xié)議,以及對命令的處理方法.

2 虛擬USB設(shè)備系統(tǒng)的管道模型

由于虛擬USB設(shè)備的限制,USB主機(jī)和USB設(shè)備不再是直接相連,而是通過遠(yuǎn)程控制設(shè)備的硬件和軟件間接地被連載一起.那么KVM遠(yuǎn)程控制設(shè)備根據(jù)第2節(jié)的描述是起著橋梁的作用,為此USB系統(tǒng)的的管道和傳統(tǒng)的通信方式會(huì)有所區(qū)別.以端點(diǎn)0方式為例,可以采取直接通信的傳統(tǒng)的通信方式,只是在通信前端點(diǎn)0需要遠(yuǎn)程客戶端傳送的信息就從遠(yuǎn)程客戶端傳輸.而其他的端點(diǎn)方式則可以從網(wǎng)絡(luò)通信的客戶/服務(wù)器的模型中進(jìn)行新型管道結(jié)構(gòu)構(gòu)建.由此可以發(fā)現(xiàn)我們選擇的是遠(yuǎn)程存儲(chǔ)USB設(shè)備的虛擬可以簡化部分管道模型,其虛擬USB設(shè)備系統(tǒng)管道模型如圖2所示,通過在KVM遠(yuǎn)程控制設(shè)備系統(tǒng)的固件中,對于端點(diǎn)0使用的信息的重新構(gòu)造和對其他端點(diǎn)的特殊處理,就能虛擬出一個(gè)U盤設(shè)備,并接著網(wǎng)絡(luò)傳輸實(shí)現(xiàn)一個(gè)在遠(yuǎn)程控制端能真實(shí)再現(xiàn)訪問U盤的方法.

為此,在KVM遠(yuǎn)程控制設(shè)備中USB設(shè)備控制器的固件程序設(shè)計(jì)將主要圍繞圖2所示的系統(tǒng)管道模型來設(shè)計(jì),這里給出KVM遠(yuǎn)程控制設(shè)備虛擬USB設(shè)備固件的幾個(gè)主要方面:

圖2 虛擬USB設(shè)備系統(tǒng)管道模型

(1)KVM遠(yuǎn)程控制設(shè)備中關(guān)于設(shè)備的各種描述符的構(gòu)造——固件首先根據(jù)發(fā)送請求向客戶端發(fā)送描述符信息請求,由客戶端軟件根據(jù)實(shí)際U盤信息構(gòu)造出這些描述符信息并通過網(wǎng)路發(fā)送到KVM遠(yuǎn)程控制設(shè)備中,遠(yuǎn)程控制設(shè)備根據(jù)這些描述符信息構(gòu)造本地虛擬U盤的各種描述符.

(2)對默認(rèn)端點(diǎn)0的處理——默認(rèn)端點(diǎn)0是所有設(shè)備必須支持的控制傳輸端點(diǎn),主要用在設(shè)備枚舉過程中和主機(jī)的交換

(3)對其他端點(diǎn)的處理——和端點(diǎn)0有所區(qū)別,其他端點(diǎn)在傳輸方式上和命令處理的方式上都不同.一般來講,端點(diǎn)零中斷處理程序在遠(yuǎn)程控制設(shè)備中處理各種命令,而其它端點(diǎn)必須把這些命令傳輸?shù)竭h(yuǎn)程客戶端中并且接收返回的數(shù)據(jù),最后再返回給服務(wù)器主機(jī).

3 虛擬USB設(shè)備系統(tǒng)中SCSI命令傳輸處理流程

在虛擬USB設(shè)備虛擬存儲(chǔ)系統(tǒng)中,KVM中虛擬一個(gè)USB設(shè)備是由遠(yuǎn)程控制設(shè)備和客戶端USB系統(tǒng)等兩個(gè)部分組成.那么遠(yuǎn)程控制設(shè)備和客戶端USB系統(tǒng)之間是通過網(wǎng)絡(luò)傳輸SCSI命令和相應(yīng)的數(shù)據(jù)或狀態(tài)[5],其處理流程如圖3所示.這里以讀操作為示例說明虛擬USB設(shè)備虛擬存儲(chǔ)系統(tǒng)如何實(shí)現(xiàn)SCSI命令傳輸處理流程:

(1)KVM系統(tǒng)中,KVM控制的服務(wù)器主機(jī)通過CDB發(fā)送SCSI的讀(READ)命令;

(2)KVM遠(yuǎn)程控制設(shè)備接收到服務(wù)器的讀請求,并且通過TCP/IP網(wǎng)絡(luò)把包含SCSI命令的CDB傳遞給客戶端USB系統(tǒng);

(3)客戶端USB系統(tǒng)中的軟件通過DeviceIoControl系統(tǒng)調(diào)用把SCSI命令傳輸給物理USB設(shè)備,由物理USB設(shè)備執(zhí)行相應(yīng)的命令;

(4)客戶端USB系統(tǒng)把執(zhí)行命令后返回的的數(shù)據(jù)和狀態(tài)通過TCP/IP網(wǎng)絡(luò)傳輸給KVM遠(yuǎn)程控制設(shè)備;

(5)KVM遠(yuǎn)程控制設(shè)備接收到遠(yuǎn)程傳輸過來的數(shù)據(jù)后,把這些數(shù)據(jù)構(gòu)造成相應(yīng)的數(shù)據(jù)包并返回給服務(wù)器主機(jī);

(6)在數(shù)據(jù)傳輸完成后,遠(yuǎn)程控制設(shè)備接收遠(yuǎn)程傳來的狀態(tài)信息并構(gòu)造相應(yīng)的狀態(tài)信息包,向KVM控制的服務(wù)器主機(jī)傳輸狀態(tài)信息包,完成一次SCSI命令的傳輸處理.

在虛擬USB設(shè)備虛擬存儲(chǔ)系統(tǒng)中,服務(wù)器主機(jī)訪問虛擬的USB存儲(chǔ)設(shè)備時(shí),其SCSI命令處理流程和單機(jī)系統(tǒng)訪問USB設(shè)備是一樣的處理流程,需要經(jīng)歷不同的總線階段,只是執(zhí)行命令通過網(wǎng)絡(luò)傳送到了客戶端USB系統(tǒng)中執(zhí)行,并且返回?cái)?shù)據(jù)和狀態(tài).因此,從這個(gè)意義上講,其執(zhí)行流程和KVM over IP的執(zhí)行流程類似.

圖3 虛擬USB設(shè)備系統(tǒng)中SCSI命令傳輸處理流程

4 實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)分析

為了測試本系統(tǒng),系統(tǒng)采用如圖4所示的測試環(huán)境,測試系統(tǒng)由客戶端USB系統(tǒng),集線器,KVM遠(yuǎn)程控制設(shè)備以及被控制的服務(wù)器等三部分構(gòu)成.KVM遠(yuǎn)程控制設(shè)備通過一根USB接口線和一根VGA接口線和服務(wù)器相連,和服務(wù)器相連的USB接口線和VGA接口線用來從物理上獲取服務(wù)的顯示信息和鼠標(biāo)信息,USB接口線也是用來虛擬USB設(shè)備的物理接口線,該接口線是本虛擬USB設(shè)備能夠從底層虛擬USB設(shè)備的關(guān)鍵.同時(shí)遠(yuǎn)程控制設(shè)備通過一跟網(wǎng)線和集線器相連,物理USB系統(tǒng)中的主機(jī)也通過一根網(wǎng)線和集線器相連.在該局域網(wǎng)系統(tǒng)中,遠(yuǎn)程控制設(shè)備和物理USB系統(tǒng)中的主機(jī)IP地址要設(shè)置在同一個(gè)網(wǎng)段中,以使他們能夠進(jìn)行通信[6].

圖4 虛擬USB設(shè)備系統(tǒng)物理測試環(huán)境

客戶端USB系統(tǒng)采用一臺(tái)安裝有Windows XP SP3系統(tǒng)的Intel Core(TM)2 Duo處理器的PC機(jī).KVM遠(yuǎn)程控制設(shè)備是基于ARM9處理器的KVM嵌入式設(shè)備,設(shè)備有USB接口,USB設(shè)備控制器,VGA接口,網(wǎng)絡(luò)接口等和專用的嵌入式操作系統(tǒng)以及相應(yīng)的應(yīng)用程序.設(shè)備采用自由操作系統(tǒng),并包含網(wǎng)絡(luò)通信模塊,其固件編程與調(diào)試采用smart ICE進(jìn)行調(diào)試.為了確保測試的準(zhǔn)確性,我們量取了網(wǎng)線長度,給出其物理網(wǎng)絡(luò)連接的設(shè)備信息表如表1所示.

表1 物理網(wǎng)絡(luò)尺度和相關(guān)設(shè)備信息說明表

為了測試虛擬U盤的讀取性能,采用Iometer軟件對單機(jī)系統(tǒng)中的U盤、在Windows系統(tǒng)中共享U盤和遠(yuǎn)程虛擬系統(tǒng)中的U盤分別進(jìn)行了測試,為了刪除測試系統(tǒng)中網(wǎng)絡(luò)負(fù)載對測試數(shù)據(jù)的影響,整個(gè)測試環(huán)境只考慮網(wǎng)絡(luò)無其他負(fù)載的情況,測試數(shù)據(jù)塊大小從512B,4k,16k,32k,64k,128k,512k,至1m大小,分別進(jìn)行了測試時(shí)間段為2分鐘的順序讀取和隨機(jī)讀取兩個(gè)方面,其對比結(jié)果如圖4和圖5所示,遠(yuǎn)程虛擬系統(tǒng)中的虛擬U盤的速率比本地U盤的速率要慢很多,顯然經(jīng)過網(wǎng)絡(luò)傳送后的數(shù)據(jù)和命令,其數(shù)據(jù)讀寫性能要遠(yuǎn)遠(yuǎn)差與實(shí)際單機(jī)系統(tǒng)中的真實(shí)U盤讀取性能.通過對數(shù)據(jù)的分析,我們發(fā)現(xiàn)在局域網(wǎng)中,網(wǎng)絡(luò)共享U盤和本地U盤性能差別不到,而虛擬U盤的綜合性能在2MBps左右,由此分析局域網(wǎng)中網(wǎng)絡(luò)對U盤的性能影響并不是主要因素,而嵌入式系統(tǒng)中ARM處理系統(tǒng)對虛擬U盤的計(jì)算性能在本次測試中影響最大的原因.一般且遠(yuǎn)程系統(tǒng)的數(shù)據(jù)讀取一般而言也是小概率事件,傳輸文件大小多少情況也在10M以內(nèi),所以其基本性能還是能夠接受的,畢竟遠(yuǎn)程系統(tǒng)控制的方便性可以減少客戶趕赴現(xiàn)場的時(shí)間開銷[7].

圖5 順序讀取速率性能比較圖

圖6 隨機(jī)讀取速率性能比較圖

5 結(jié) 語

為了解決機(jī)房中集中管理的問題,KVM系統(tǒng)發(fā)揮了相當(dāng)重要的作用,而KVM over IP技術(shù)能夠?qū)崿F(xiàn)遠(yuǎn)程機(jī)房管理,正成為目前智能機(jī)房系統(tǒng)中最重要的一個(gè)部分.遠(yuǎn)程虛擬存儲(chǔ)設(shè)備技術(shù)的興起將為智能機(jī)房和遠(yuǎn)程控制,以及無人機(jī)房等應(yīng)用將為這里機(jī)房管理的應(yīng)用發(fā)揮更為重要的作用.本文從USB設(shè)備的虛擬和遠(yuǎn)程虛擬存儲(chǔ)設(shè)備的角度出發(fā),給出如何在KVM系統(tǒng)中設(shè)計(jì)實(shí)現(xiàn)一個(gè)遠(yuǎn)程虛擬存儲(chǔ)設(shè)備方法,實(shí)現(xiàn)遠(yuǎn)程服務(wù)器與控制終端的設(shè)備共享,同時(shí)實(shí)現(xiàn)虛擬存儲(chǔ)的功能.最后給出了相應(yīng)的測試性能分析,說明本文給出的方法能夠滿足遠(yuǎn)程機(jī)房管理的基本應(yīng)用.通過系統(tǒng)性能測試分析,發(fā)現(xiàn)數(shù)據(jù)傳輸還是在2MBps以內(nèi),而同對比網(wǎng)絡(luò)共享U盤發(fā)現(xiàn)網(wǎng)絡(luò)只是性能印象中的次要因素,因此,下一步的研究方案將逐步改進(jìn)在網(wǎng)絡(luò)系統(tǒng)環(huán)境中如何提高嵌入式系統(tǒng)性能從而提高虛擬U盤的數(shù)據(jù)傳輸率.

參考文獻(xiàn):

[1]吳曉輝.簡述KVM Over IP方式的機(jī)房集中掌控[J].電腦知識(shí)與技術(shù),2010(3):614-615.

[2]Takahiro Hirofuchi,Eiji Kawai,Kazutoshi Fujikawa, et al.USB/IP: A Transparent Device Sharing Technology over IP Network [J].Information and Media Technologies,2006(1):639-651.

[3]蕭世文.USB 2.0硬件設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.

[4]John Hyde.USB設(shè)計(jì)應(yīng)用實(shí)例[M].北京:中國鐵道出版社,2003.

[5]陳婷婷,張彥鐸.機(jī)器人足球仿真比賽平臺(tái)中網(wǎng)絡(luò)通信問題研究[J].武漢工程大學(xué)學(xué)報(bào),2009,31(3):70-73.

[6]鄒全安.一種基于點(diǎn)線的傳輸流量估算方法[J].武漢工程大學(xué)學(xué)報(bào),2009,31(3):66-68.

[7]胡雄鷹,熊茜,黎偉東.基于結(jié)點(diǎn)的網(wǎng)絡(luò)最大流算法[J].武漢工程大學(xué)學(xué)報(bào),2009,31(12):67-69.

猜你喜歡
U盤端點(diǎn)客戶端
非特征端點(diǎn)條件下PM函數(shù)的迭代根
采用U盤文件冗余方案實(shí)現(xiàn)TSP系統(tǒng)的可靠裝載
不等式求解過程中端點(diǎn)的確定
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
基丁能雖匹配延拓法LMD端點(diǎn)效應(yīng)處理
U盤“鬧肚子”
客戶端空間數(shù)據(jù)緩存策略
合山市| 西峡县| 清新县| 望都县| 静海县| 武鸣县| 丹东市| 嵩明县| 湘潭市| 广灵县| 中方县| 阿勒泰市| 新乡市| 沛县| 高青县| 广汉市| 大兴区| 河东区| 潞城市| 霍州市| 崇信县| 鄂托克前旗| 海口市| 田东县| 郯城县| 长沙市| 望江县| 托里县| 八宿县| 鱼台县| 民乐县| 桐庐县| 三穗县| 霸州市| 淮阳县| 泾源县| 浮梁县| 湘潭县| 吉首市| 海原县| 沿河|