張 龍,耿小峰
(1.西安歐亞學(xué)院 信息工程學(xué)院,陜西 西安 710065;2.西安融科通信技術(shù)有限公司,陜西 西安 710100)
基于混合模式的桌面共享機制的實現(xiàn)策略
張龍1,耿小峰2
(1.西安歐亞學(xué)院 信息工程學(xué)院,陜西 西安710065;2.西安融科通信技術(shù)有限公司,陜西 西安710100)
桌面共享作為目前視頻交流的一個重要策略廣泛應(yīng)用在視頻電話會議通訊方案中。然而高消耗的CPU問題、帶寬費用等依然是桌面共享存在的關(guān)鍵問題。基于提高CPU利用率,降低對網(wǎng)絡(luò)帶寬的要求,提升視頻通信的質(zhì)量,本文提出了分布式和集中式結(jié)合的混合模式選擇策略,并進行了小規(guī)模的測試,測試結(jié)果顯示有效地提高了CPU的利用率,尤其是對網(wǎng)絡(luò)帶寬的要求有效降低,在1 Mb帶寬的網(wǎng)絡(luò)環(huán)境下已經(jīng)可以滿足視頻會議中桌面共享、應(yīng)用程序共享的要求并且收到了良好的通信效果。
視頻會議;桌面共享;混合模式;分布式;集中式
目前,視頻會議系統(tǒng)可以提供桌面共享、應(yīng)用程序共享的功能,即桌面共享者客戶端將其屏幕信息采用鉤子技術(shù)獲取后,通過指定編碼技術(shù)將數(shù)據(jù)壓縮后傳至?xí)h服務(wù)器或其他與會者客戶端。其中,若是通過會議服務(wù)器模式,則服務(wù)器通過組播將信息分別派送到其他與會者客戶端用于顯示。雖然學(xué)術(shù)界、技術(shù)領(lǐng)域提出了一些優(yōu)化的方法和技術(shù),如通過高壓縮比的編、解碼算法、區(qū)域比對傳輸算法等,也有學(xué)者通過部署代理服務(wù)器的方法,通過組播以滿足高并發(fā)容量的需求。但是這些技術(shù)或方法更多是通過犧牲CPU換取減小帶寬的目的。雖然某種程度上解決了一些問題,但也暴露出一些缺陷,如通過高壓縮比的編、解碼技術(shù)會給客戶端帶來較高CPU消耗,若是通過代理服務(wù)器模式會存在硬件成本和帶寬費用的提高。如何在服務(wù)規(guī)模和成本中尋求合理解決方案一直是學(xué)術(shù)界、技術(shù)界努力探索的問題。
本設(shè)計目的是提供一種基于混合模式實現(xiàn)桌面共享的系統(tǒng)及方法,其采用分布式和集中式混合的模式,可解決現(xiàn)有桌面共享存在的上述技術(shù)問題。
基于混合模式實現(xiàn)桌面共享的系統(tǒng),包括共享者客戶端、ICE(Internet Connectivity Establishment,即互動式連接建立)服務(wù)器、Reflector服務(wù)器、多個觀察者客戶端[1]:
1)共享者客戶端是桌面數(shù)據(jù)信息提供者,它借助ICE服務(wù)器和觀察者客戶端建立P2P(peer-to-peer,即點對點)連接,然后通過UDP協(xié)議將桌面數(shù)據(jù)直接發(fā)送給多個觀察者客戶端。在無法建立P2P連接的情況下,共享客戶端也可通過ICE服務(wù)器的透明轉(zhuǎn)發(fā)機制將數(shù)據(jù)采用UDP協(xié)議發(fā)送至觀察者客戶端[2-3];
2)ICE服務(wù)器是通過ICE協(xié)議實現(xiàn)客戶端之間P2P的建立,同時在無法建立P2P連接情況下,承擔(dān)數(shù)據(jù)透明轉(zhuǎn)發(fā)的任務(wù)[2-3],ICE工作原理如圖1所示;
3)Reflector服務(wù)器是通過組播技術(shù)完成信息的組播功能,桌面共享者通過反向連接到Reflector上,此時Reflector充當(dāng)觀察者的角色,即從共享者端獲取數(shù)據(jù),同時其他觀察者也相繼連接到Reflector上向其請求數(shù)據(jù),Reflector根據(jù)各個觀察者的編、解碼能力及請求內(nèi)容逐一轉(zhuǎn)發(fā)共享者桌面數(shù)據(jù),從而完成桌面共享的目的。其中為了同時支持多個會議服務(wù)的目的,Reflector服務(wù)器引入了Pub/Sub(出版/訂閱)協(xié)議,該協(xié)議是配合Reflector組播完成具體會議桌面信息的組播服務(wù)的,即桌面共享者通過創(chuàng)建會議主題,其他觀察者通過訂閱該主題,從而完成信息轉(zhuǎn)發(fā)歸屬到特定會議中。其中共享者客戶端通過Reflector服務(wù)器與其余一個或多個觀察者客戶端之間采用TCP協(xié)議進行通信[2-3]。
4)觀察者客戶端在接收到共享者的桌面數(shù)據(jù)后,進行解碼處理,然后將其數(shù)據(jù)信息展示在顯示部分[2-3]。
圖1 ICE工作原理Fig.1 The working principle of ICE
2.1關(guān)鍵技術(shù)
根據(jù)通信雙方防火墻規(guī)則和業(yè)務(wù)需求采用分布式模式或集中式模式進行通信,關(guān)鍵點是排序技術(shù),排序算法的依據(jù)根據(jù)目前的防火墻技術(shù)破解的難易程度和業(yè)務(wù)需求排序,再將兩者進行加權(quán)求和打分,按照分數(shù)高低進行分類,1表示分布式,2表示集中式,系統(tǒng)架構(gòu)如圖2所示,圖2是桌面共享系統(tǒng)架構(gòu)圖,其中,桌面共享者和觀察者可根據(jù)雙方的NAT類型(Symmetric/Cone)以及防火墻規(guī)則(允許/禁止UDP分組),選擇UDP或TCP協(xié)議進行通信。采用UDP協(xié)議時,ICE服務(wù)器負責(zé)P2P打洞和UDP分組的透明轉(zhuǎn)發(fā);采用TCP協(xié)議時,Refelctor服務(wù)器負責(zé)從共享者端主動讀取桌面內(nèi)容,然后再根據(jù)觀看者的帶寬自適應(yīng)地調(diào)節(jié)要同步的桌面內(nèi)容后發(fā)送給觀察者??蛻舳丝筛鶕?jù)NAT/Firewall的實際情況,自動地選擇合適的工作模式。此外,使用桌面共享功能時,系統(tǒng)允許分布式和集中式兩種工作模式并存。
2.2架構(gòu)功能模塊
1)ICE(Internet Connectivity Establishment,即互動式連接建立)協(xié)議處理模塊
ICE協(xié)議模塊主要是為了客戶端之間實現(xiàn)P2P(peer-to-peer,即點對點)連接,其中通過使用多種協(xié)議及網(wǎng)絡(luò)連接機制,如 STUN (Simple Traversal of UDP Through NATs——STUN),TURN(Traversal Using Relay NAT——TURN),ICE可以了解到客戶端所在網(wǎng)絡(luò)結(jié)構(gòu)以及這些設(shè)備可以實現(xiàn)通信的各類網(wǎng)絡(luò)地址[4-5]。ICE的基本流程分兩個步驟,第一步就是收集各種類型的地址,第二步就是將本地和遠端的地址進行配對、排序,然后執(zhí)行連通性檢查。
2)Reflector組播處理模塊
Reflector組播處理模塊主要是完成信息的組播功能,桌面共享者通過反向連接到Reflector模塊上,Reflector充當(dāng)觀察者的角色,即從共享者端獲取信息,同時其他觀察者也相繼連接到Reflector上向其請求信息,Reflector根據(jù)各個觀察者的編、解碼能力及請求內(nèi)容逐一轉(zhuǎn)發(fā)共享者信息,從而完成桌面共享的目的。
3)Pub/Sub(出版/訂閱)協(xié)議處理模塊
Pub/Sub協(xié)議處理模塊是配合Reflector組播處理模塊完成具體場合桌面信息的組播服務(wù)的,其中桌面共享者通過創(chuàng)建會議主題,其他觀察者通過訂閱該主題,從而完成信息轉(zhuǎn)發(fā)歸屬到特定會議中。通過這種方法便可以實現(xiàn)Reflector組播處理模塊同時為多個會議服務(wù)的目的[6]。
圖2 系統(tǒng)架構(gòu)Fig.2 The system architecture
2.3具體實現(xiàn)
系統(tǒng)分為客戶端和服務(wù)器兩種角色兩部分,下面分別描述一下桌面共享功能的客戶端和服務(wù)器端的基本流程:
1)客戶端
步驟1:獲取服務(wù)器配置,客戶端啟動桌面共享功能后,首先通過桌面共享模塊設(shè)置接口將服務(wù)器的地址信息傳給該模塊,包括ICE和Refelctor兩個服務(wù)器的地址及所使用協(xié)議等;
步驟2:登陸ICE服務(wù)器,桌面共享模塊登陸接口嘗試登陸ICE服務(wù)器,若登陸失敗,則表明用戶的防火墻規(guī)則可能禁止UDP分組,因此只能采用集中式模式。從而轉(zhuǎn)到步驟3。若登陸成功,則即可以采用分布式模式或采用集中式模式。這個取決于通信雙方防火墻規(guī)則和業(yè)務(wù)需求;
步驟3:登陸Reflector服務(wù)器,客戶端登陸接口通過TCP模式連接到Reflector服務(wù)器;
步驟4:啟動共享者,客戶端通過桌面共享模塊共享者啟動接口創(chuàng)建桌面共享,并通過消息形式廣播給所有觀察者,消息內(nèi)容可分為2種,若共享者支持分布式模式,則消息包括共享者自身本地地址、NAT地址和Relay地址。若共享者不支持分布式模式,則消息為reflector服務(wù)器地址;
步驟5:啟動觀察者,觀察者在收到共享者廣播過來的消息后,首先調(diào)用桌面共享模塊觀察者啟動接口以便啟動觀察者桌面共享模塊,接著根據(jù)共享者和觀察者雙方的防火墻情況自動選擇合適的工作模式;
步驟6:結(jié)束共享,當(dāng)共享者或觀察者結(jié)束共享時,可主動關(guān)閉與對端或者Reflector服務(wù)器的連接,其中一旦所有與會者結(jié)束桌面共享服務(wù),則Reflector即可結(jié)束該會議的主題會話,以便釋放資源;
2)服務(wù)器
步驟1:啟動ICE服務(wù)器,實時接收和處理客戶端端請求,協(xié)助客戶端完成穿墻打洞的工作;
步驟2:啟動Relector服務(wù)器,實時監(jiān)聽和處理客戶端連接請求,其中無論共享者還是觀察者,在連接Reflector服務(wù)器成功之后,首先向服務(wù)器發(fā)送創(chuàng)建或訂閱VNC會話的請求。Reflector服務(wù)器根據(jù)上述信息可以將與會者組織到同一個VNC會話中,并通過號碼和類型來區(qū)分與會者的身份。
圖3 文檔共享Fig.3 Document Share
基于本文提出的方法,設(shè)計了“融科”視頻會議系統(tǒng)(RK-VC),在進行測試時,首先啟動ICE[7]服務(wù)器,實時接收和處理客戶端端請求,再啟動Relector服務(wù)器,實時監(jiān)聽和處理客戶端連接請求,等待共享者或觀察者的連接;然后客戶端的共享者或觀察者在瀏覽器輸入服務(wù)地址進行登錄連接,客戶端登陸接口通過TCP[8]模式連接到Reflector服務(wù)器,共享者客戶端通過桌面共享模塊啟動接口創(chuàng)建桌面共享,并通過消息形式廣播給所有觀察者,觀察者在收到共享者廣播過來的消息后,首先調(diào)用桌面共享模塊觀察者啟動接口以便啟動觀察者桌面共享模塊,接著根據(jù)共享者和觀察者雙方的防火墻情況自動選擇合適的工作模式,測試的部分界面如圖3所示為文檔共享測試。
目前實現(xiàn)了音/視頻交互、文字交流、文檔共享等桌面共享的交互手段。通過實際應(yīng)用測試,基于混合模式的桌面共享機制有效改善CPU的利用率,提高了在有限帶寬條件下遠程桌面共享交互時的通信效果。
本文提出了一種分布式和集中式結(jié)合的混合模式選擇策略,特點主要有以下兩個:
1)通過出版訂閱的模式解決了單服務(wù)器同時為多個會議服務(wù)的難題,同時通過服務(wù)器的組播極大減輕了共享者客戶端的帶寬消耗和CPU壓力。
2)本設(shè)計允許分布式和集中式兩種桌面共享工作模式并存,可根據(jù)帶寬、服務(wù)器硬件條件自適應(yīng)地選擇合適的桌面共享工作模式,從而保證在有限硬件資源下進行大規(guī)模的桌面共享服務(wù),也允許根據(jù)使用場景進行靈活配置。
經(jīng)過小規(guī)模的遠程視頻通話測試,測試結(jié)果顯示有效地提高了CPU的利用率,尤其是對網(wǎng)絡(luò)帶寬的要求有效降低,目前在1 Mb帶寬的網(wǎng)絡(luò)環(huán)境下已經(jīng)可以滿足視頻會議中桌面共享、應(yīng)用程序共享的要求并且收到了良好的通信效果,目前正在進行公網(wǎng)大規(guī)模測試,預(yù)期效果良好。
[1]楊建英.基于VNC的桌面共享沖突解決機制的研究與實現(xiàn)[J].計算機應(yīng)用與軟件2011,(5):229-231.
[2]楊建英.基于P2P和VNC的測井解釋協(xié)同平臺的研究與實現(xiàn)[D].濟南:山東科技大學(xué),2010.
[3]孫一波,劉菁.大規(guī)模視頻會議中的多人桌面共享系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息,2005(14):139-141.
[4]姚玉姝,陳宏亮,李曉珊,等.教師桌面發(fā)布與共享實驗教學(xué)軟件的設(shè)計與實現(xiàn)[J].科技廣場,2011(5):103-106.
[5]羅峰.基于P2P和網(wǎng)絡(luò)編碼的遠程桌面共享[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版)2007(4):454-457.
[6]劉波濤,王艷春.無紙化會議系統(tǒng)在局域網(wǎng)多媒體電子會議中的應(yīng)用[J].中國新技術(shù)新產(chǎn)品,2010(5):42.
[7]宋職政,羊彥,孟超普.基于ICE2PCS01的有源功率因素校正的電路設(shè)計[J].電子設(shè)計工程,2013(7):98-100.
[8]張雅瓊.基于NS2模擬軟件的TCP協(xié)議實驗設(shè)計[J].電子設(shè)計工程,2013(9):27-29.
The implementation strategy of mixed mode based on desktop sharing mechanism
ZHANG Long1,GENG Xiao-feng2
(1.Information Engineering School,Xi'an Eurasia University,Xi′an 710065,China;2.Xi′an RongKe Communication Technology Co Ltd,Xi'an 710100,China)
Desktop sharing is an important strategy in video communication is widely used in video conferencing communication scheme.However,CPU,high bandwidth costs is still the key problem existing desktop sharing.Based on the improved CPU utilization rate,reduce the demand for network bandwidth,improve the quality of video communication,this paper presents a hybrid mode selection strategy combined with the distributed and centralized,and the small scale test,test results show that can effectively improve the utilization rate of CPU,especially the demand for network bandwidth is reduced effectively,in 1Mb the bandwidth of the network environment can satisfy the desktop video conferencing in sharing,application sharing and received better communication effect.
video conference;desktop sharing;mixed model;distributed;centralized
TN99
A
1674-6236(2016)05-0142-03
2015-04-19稿件編號:201504209
張 龍(1977—),男,陜西西安人,碩士,講師。研究方向:軟件工程。