虛擬桌面客戶端、虛擬桌面客戶端的控制芯片以及伺服裝置的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是關(guān)于虛擬桌面客戶端、虛擬桌面客戶端的控制芯片以及伺服裝置的控制方法,尤其是關(guān)于客戶端的操作光標能隨使用者的操作實時反應(yīng),而不會有延遲現(xiàn)象的虛擬桌面客戶端、虛擬桌面客戶端的控制芯片以及伺服裝置的控制方法。
【背景技術(shù)】
[0002]一般在遠程桌面(remote desktop)、虛擬桌面(virtual desktop)或是云端虛擬桌面基礎(chǔ)架構(gòu)(Cloud Virtual Desktop Infrastructure, Cloud VDI)的應(yīng)用上,遠程的服務(wù)器(server)將遠程畫面(即服務(wù)器的操作畫面或桌面)透過網(wǎng)絡(luò)傳送至近端(或稱為客戶端(Client))設(shè)備,使用者在近端操作鼠標或鍵盤等輸入裝置,透過網(wǎng)絡(luò)對服務(wù)器下達指令,服務(wù)器依據(jù)使用者的操作處理數(shù)據(jù)或執(zhí)行程序后,將更新后的遠程畫面?zhèn)魉椭两嗽O(shè)備,讓使用者得到操作結(jié)果。
[0003]相較于服務(wù)器,近端設(shè)備的硬件通常極為精簡,以減低近端設(shè)備的成本并充分利用服務(wù)器的資源,例如精簡客戶端(Thin Client)或是零客戶端(Zero Client),便是具備基本的輸入與顯示功能的客戶端設(shè)備。操作時,客戶端將鼠標的坐標傳送至服務(wù)器,服務(wù)器依據(jù)坐標將鼠標的光標繪制于遠程畫面上,再將有光標的遠程畫面?zhèn)魉椭量蛻舳恕H绱送高^網(wǎng)絡(luò)一來一回的傳輸,傳輸?shù)难舆t導(dǎo)致光標無法依據(jù)使用者的操作而實時更新位置,使用者很容易感受鼠標光標的延遲(latency),造成不佳的使用者經(jīng)驗。
【發(fā)明內(nèi)容】
[0004]鑒于先前技術(shù)的不足,本發(fā)明的一目的在于提供一種虛擬桌面客戶端、虛擬桌面客戶端的控制芯片以及伺服裝置的控制方法,以減低遠程操作時鼠標光標的延遲。
[0005]本發(fā)明揭露了一種虛擬桌面客戶端,用來控制一伺服裝置,并于一顯示裝置顯示對應(yīng)該伺服裝置的一操作畫面,包含:一網(wǎng)絡(luò)控制模塊,用來自該伺服裝置接收一遠程影像;一輸入驅(qū)動模塊,用來驅(qū)動與該虛擬桌面客戶端聯(lián)機的一輸入裝置,并利用該輸入裝置產(chǎn)生一輸入信息;以及一控制芯片,用來依據(jù)該輸入信息于該遠程影像上繪制一圖案以得到一近端影像,并依據(jù)該近端影像于該顯示裝置顯示該操作畫面;其中,該控制芯片更基于該輸入信息產(chǎn)生一控制信息,該控制信息系相關(guān)于該圖案的位置,該控制芯片并將該控制信息透過該網(wǎng)絡(luò)控制模塊傳送至該伺服裝置。
[0006]本發(fā)明另揭露了一種伺服裝置的控制方法,包含:透過網(wǎng)絡(luò)自該伺服裝置接收一遠程影像;由一輸入裝置得到一輸入信息;依據(jù)該輸入信息于該遠程影像上繪制一圖案以得到一近端影像;依據(jù)該近端影像于一虛擬桌面客戶端顯示對應(yīng)該伺服裝置的一操作畫面;基于該輸入信息產(chǎn)生一控制信息;以及將該控制信息傳送至該伺服裝置;其中,該控制信息系與該圖案的位置有關(guān)。
[0007]本發(fā)明另揭露了一種虛擬桌面客戶端的控制芯片,用來自一伺服裝置接收一遠程影像,并于一顯示裝置上顯示一操作畫面,包含:一繪圖單元,依據(jù)一輸入信息于該遠程影像上繪制一圖案以得到一近端影像;一影像處理單元,依據(jù)該顯示裝置的分辨率調(diào)整該近端影像以產(chǎn)生該操作畫面;以及一運算單元,依據(jù)該輸入信息產(chǎn)生一控制信息,該控制信息系與該圖案的位置有關(guān),該運算單元更將該控制信息傳送至該伺服裝置。
[0008]本發(fā)明的虛擬桌面客戶端、虛擬桌面客戶端的控制芯片以及伺服裝置的控制方法能夠減低鼠標光標的延遲,相較于習(xí)知技術(shù),使用者進行遠程操作時可以流暢地使用鼠標,提聞使用者經(jīng)驗。
[0009]有關(guān)本發(fā)明的特征、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
[0010]附圖描述
[0011]圖1為本發(fā)明的虛擬桌面客戶端的一實施例的示意圖;
[0012]圖2為本發(fā)明的虛擬桌面客戶端的控制芯片的一實施例的示意圖;
[0013]圖3為本發(fā)明虛擬桌面客戶端的控制芯片的軟件架構(gòu)圖;以及
[0014]圖4為本發(fā)明的伺服裝置的控制方法的一實施例的流程圖。
[0015]符號說明
[0016]110顯示裝置
[0017]120客戶端主機
[0018]121控制芯片
[0019]122網(wǎng)絡(luò)控制模塊
[0020]123輸入驅(qū)動模塊
[0021]130輸入裝置
[0022]150 網(wǎng)絡(luò)
[0023]160服務(wù)器
[0024]210運算單元
[0025]220影像處理單元
[0026]230繪圖單元
[0027]310伺服端溝通模塊
[0028]312數(shù)據(jù)接收線程
[0029]314解封包程序
[0030]315影像處理線程
[0031]316聲音處理線程
[0032]317輸入控制線程
[0033]320客戶端控制模塊
[0034]322調(diào)適層
[0035]324顯示控制線程
[0036]326聲音控制線程
[0037]330硬件驅(qū)動模塊
[0038]332中介層
[0039]334影像解碼驅(qū)動程序
[0040]336聲音解碼驅(qū)動程序
[0041]S410 ?S450 步驟
【具體實施方式】
[0042]以下說明內(nèi)容的技術(shù)用語系參照本技術(shù)領(lǐng)域的習(xí)慣用語,如本說明書對部分用語有加以說明或定義,該部分用語的解釋系以本說明書的說明或定義為準。
[0043]本發(fā)明的揭露內(nèi)容包含虛擬桌面客戶端、虛擬桌面客戶端的控制芯片以及伺服裝置的控制方法,能夠減低鼠標光標的延遲。在實施為可能的前提下,本技術(shù)領(lǐng)域具有通常知識者能夠依本說明書的揭露內(nèi)容來選擇等效的組件或步驟來實現(xiàn)本發(fā)明,亦即本發(fā)明的實施并不限于后敘的實施例。由于本發(fā)明的虛擬桌面客戶端及虛擬桌面客戶端的控制芯片所包含的部分組件單獨而言可能為已知組件,因此在不影響該裝置發(fā)明的充分揭露及可實施性的前提下,以下說明對于已知組件的細節(jié)將予以節(jié)略。此外,本發(fā)明的伺服裝置的控制方法可藉由本發(fā)明的虛擬桌面客戶端、虛擬桌面客戶端的控制芯片或其等效裝置來執(zhí)行,在不影響該方法發(fā)明的充分揭露及可實施性的前提下,以下方法發(fā)明的說明將著重于步驟內(nèi)容而非硬件。
[0044]請參閱圖1,其系本發(fā)明的虛擬桌面客戶端的一實施例的示意圖??蛻舳税@示裝置110、客戶端主機120及輸入裝置130??蛻舳酥鳈C120包含控制芯片121、網(wǎng)絡(luò)控制模塊122及輸入驅(qū)動模塊123??蛻舳酥鳈C120透過網(wǎng)絡(luò)150與伺服端的服務(wù)器160聯(lián)機。網(wǎng)絡(luò)150可以是因特網(wǎng)或局域網(wǎng)絡(luò),因特網(wǎng)的情況例如是位于與服務(wù)器160不同網(wǎng)域的客戶端主機120透過防火墻聯(lián)機至服務(wù)器160 ;局域網(wǎng)絡(luò)的情況例如是客戶端主機120與服務(wù)器160位于同一網(wǎng)域,兩者之間無防火墻的阻隔而可以直接聯(lián)機。操作時,服務(wù)器160將本身的遠程畫面(即服務(wù)器160的操作畫面或桌面)透過網(wǎng)絡(luò)150傳送至網(wǎng)絡(luò)控制模塊122。此遠程畫面未包含任何使用者的操作光標,例如在客戶端所使用的輸入裝置為鼠標,則此遠程畫面未包含鼠標的光標。網(wǎng)絡(luò)控制模塊122將遠程畫面?zhèn)鬟f給與其耦接的控制芯片121。另一方面,客戶端主機120連接輸入裝置130,例如鼠標、觸控板或鍵盤等輸入裝置,輸入驅(qū)動模塊123載有輸入裝置130的驅(qū)動程序,可以依據(jù)輸入裝置130的動作產(chǎn)生位移信息??刂菩酒?21耦接輸入驅(qū)動模塊123,用來將位移信息與光標原本的坐標位置做計算,以得到新的坐標信息。之后,控制芯片121依據(jù)更新后的坐標信息將光標繪制在自服務(wù)器160接收的遠程畫面上,形成包含光標的近端畫面,最后再將近端畫面?zhèn)鬟f至顯示裝置110顯示。由于光標是在客戶端繪制,所以可以實時反應(yīng)輸入裝置130的操作情形,而不會有延遲現(xiàn)象。
[0045]控制芯片121在顯示近端畫面時,會依據(jù)顯示裝置110的分辨率調(diào)整近端畫面。除了光標的坐標信息之外,控制芯片121更將顯示裝置110的分辨率透過網(wǎng)絡(luò)控制模塊122傳送至服務(wù)器160。服務(wù)器160依據(jù)顯示裝置110的分辨率、光標的坐標信息以及自身的顯示裝置(未繪示)的分辨率計算出光標在伺服端的遠程畫面上所對應(yīng)的坐標。此外,控制芯片121更將輸入驅(qū)動模塊123所得到的輸入裝置130的操作信息,例如選取、點擊或移動等,透過網(wǎng)絡(luò)控制模塊122傳送至服務(wù)器160。服務(wù)器160依據(jù)光標在伺服端的遠程畫面上所對應(yīng)的坐標以及操作信息執(zhí)行相對應(yīng)的程序或操作,并且將操作結(jié)果顯示于遠程畫面,隨后將更新后的遠程畫面再傳送至客戶端主機120。控制芯片121可以藉由一線程(thread),每隔一段時間更新一次光標的坐標信息,服務(wù)器160藉由一回呼函式(callbackfunct1n)向客戶端主機120取得坐標信息;然而控制芯片121亦可將坐標信息主動地傳送給服務(wù)器160。上述的輸入裝置130的操作信息可以與坐標信息一同傳輸,或是個別傳輸。顯示裝置110的分辨率可以在客戶端主機120剛啟動時傳送至服務(wù)器160,或是每次隨坐標信息一同傳送。
[0046]請注意,上述的顯示裝置110可以以顯示模塊的形式整合于客戶端主機120,因此客戶端主機120便形同一個一體成型(all-1n-one)計算機,本身具有屏幕可以直接連結(jié)輸入裝置130后使用。而在伺服端服務(wù)器160本身可能連接顯示裝置與輸入裝置,伺服端在本地操作時,會將伺服端的輸入裝置的光標繪制在遠程畫面上,但在與客戶端聯(lián)機時,在傳送遠程畫面之前,必須取消繪制伺服端的輸入裝置的光標,如此客戶端在操作時只會見到客戶端自行繪制的光標,而不會因為有兩個光標而造成混淆。
[0047]請參閱圖2,其系本發(fā)明的虛擬桌面客戶端的控制芯片的一實施例的示意圖??刂菩酒?21包含運算單元210、影像處理單元220及繪圖單元230。運算單元210依據(jù)輸入驅(qū)動模塊123提供的位移信息計算光標的坐標信息,并且由網(wǎng)絡(luò)控制模塊122接收伺服端的遠程畫面,之后將坐標信息以及遠程畫面?zhèn)魉椭晾L圖單元230。繪圖單元230,例如是繪圖引擎(Graphic Engine, GE)稱接運算單元210,依據(jù)運算單元210所傳送的遠程畫面及坐標信息在遠程畫面上繪制光標,而產(chǎn)生近端畫面。影像處理單元220耦接繪圖單元230及顯示裝置110,用來依據(jù)顯示裝置110的分辨率調(diào)整繪圖單元230所產(chǎn)生的近端畫面,例如將近端畫面縮放(scaling)以符合