虛擬網(wǎng)絡(luò )計算在應用程序共享中的應用研究
虛擬網(wǎng)絡(luò )計算VNC[1](Virtual Network Computing)是由ATT劍橋研發(fā)中心研發(fā)的一種瘦客戶(hù)計算[2]體系,是一個(gè)強大的遠程桌面共享工具,能夠讓多個(gè)客戶(hù)端通過(guò)互聯(lián)網(wǎng)查看服務(wù)器端實(shí)時(shí)桌面狀況并可以進(jìn)行遠程操作。本文首先分析了低速網(wǎng)絡(luò )環(huán)境下VNC在遠程視頻會(huì )議系統中應用的技術(shù)難點(diǎn),并提出了一種在低速網(wǎng)絡(luò )下利用VNC實(shí)現應用程序共享的解決方案。
1 VNC協(xié)議特點(diǎn)
VNC由VNC Server和VNC Client兩部分組成。VNC Server產(chǎn)生本地顯示,通過(guò)VNC協(xié)議實(shí)現VNC Server和VNC Client之間的通信。VNC協(xié)議中實(shí)現了一種遠程圖形用戶(hù)界面訪(fǎng)問(wèn)協(xié)議RFB[2](Remote Frame Buffer)協(xié)議,RFB協(xié)議是基于幀緩存(Frame Buffer)層級,因此適用于所有操作系統平臺及應用,例如X Windows、MS Windows和Macintosh等。VNC在TCP/IP協(xié)議基礎上通過(guò)一個(gè)簡(jiǎn)單的圖形界面傳輸協(xié)議實(shí)現在遠程客戶(hù)端上顯示服務(wù)器端的桌面實(shí)時(shí)數據。
協(xié)議的顯示方面是基于一個(gè)很簡(jiǎn)單的原理,即將一個(gè)矩形區域的像素點(diǎn)放置在一個(gè)特定的位置上。通過(guò)采用不同的圖像編碼方法,可以在傳輸速度、圖像質(zhì)量、服務(wù)器處理速度、終端顯示速度和網(wǎng)絡(luò )帶寬之間達到平衡。通過(guò)每次的窗口更新,可以得到最新的窗口內容。在某些方面,這看上去更像是一種視頻圖像流。每次窗口更新的消息是通過(guò)客戶(hù)端發(fā)送給服務(wù)器端的,每接收到一個(gè)消息,服務(wù)器端對其發(fā)生響應,這樣就使得協(xié)議本身可以控制自己的刷新速度。如果客戶(hù)端或者由于網(wǎng)絡(luò )的原因比較慢,同樣地刷新率也會(huì )比較低,這樣可以完成速度的自適應。
輸入協(xié)議是基于標準工作站的鍵盤(pán)響應消息和鼠標設備的。當客戶(hù)端接收到這些輸入消息后,被簡(jiǎn)單地以事件形式傳送給服務(wù)器端,并產(chǎn)生對應的動(dòng)作。
2 VNC在低帶寬網(wǎng)絡(luò )環(huán)境中應用存在的問(wèn)題
在大規模視頻會(huì )議中,當需要對其中一個(gè)會(huì )議成員的桌面或者某個(gè)應用程序進(jìn)行共享時(shí),此時(shí)VNC服務(wù)器的計算性能和網(wǎng)絡(luò )接入的條件都比較差,這樣就對共享機制提出了很高的要求,其必須具備高效、延時(shí)小,又要求架構輕盈、占系統資源少、節省帶寬等性能。由于在國外網(wǎng)絡(luò )帶寬足夠,采用VNC機制的多點(diǎn)應用程序共享能夠流暢地運行,但在國內目前低帶寬的網(wǎng)絡(luò )條件下,VNC機制采用的是星型直連結構,如果直接采用VNC默認的星型直連機制,在多點(diǎn)遠程視頻會(huì )議中實(shí)現應用程序共享會(huì )很困難,VNC Server與各VNC Client以直連方式進(jìn)行通信,此種情況下由于VNC Server端的出口帶寬受到限制,VNC Server端的數據發(fā)送壓力會(huì )呈線(xiàn)性增長(cháng),在2 MHz的ADSL出口帶寬條件下,當會(huì )議成員達到10個(gè)后,將導致嚴重的網(wǎng)絡(luò )擁塞,致使應用程序共享實(shí)時(shí)性大大降低,因而其不具備在遠程視頻會(huì )議系統中的實(shí)際可用性。
3 VNC共享機制改進(jìn)方案
3.1 VNC共享通信機制
VNC機制默認采用直連的方式同VNC Client通信,本文將提出一種新的實(shí)現方案,通過(guò)在遠程視頻會(huì )議系統[4]中采用中轉服務(wù)器轉發(fā)模式實(shí)現共享,具體結構如圖1所示。此時(shí)VNC Server端只需上傳數據給中轉服務(wù)器,VNC Client只與中轉服務(wù)器建立連接,由中轉服務(wù)器向每個(gè)客戶(hù)端發(fā)送數據,通常中轉服務(wù)器的網(wǎng)絡(luò )出口帶寬都比較大,因此網(wǎng)絡(luò )帶寬不會(huì )成為性能瓶頸。這樣就大大減輕了VNC Server端的網(wǎng)絡(luò )傳輸壓力,在應用程序共享時(shí)系統的反應速度也將得到提升。
評論