用于本地生成的手勢(shì)和過渡圖形與終端控制服務(wù)的交互的方法和系統(tǒng)的制作方法
【專利摘要】用于實(shí)現(xiàn)本地生成的過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互的方法和系統(tǒng)包括在客戶端裝置的顯示裝置處接收由用戶發(fā)布以控制當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)的控制命令。將控制命令傳輸?shù)街鳈C(jī)計(jì)算機(jī)服務(wù)以用于處理。主機(jī)計(jì)算機(jī)服務(wù)處理控制命令并返回更新屏幕數(shù)據(jù)到客戶端裝置。響應(yīng)于接收到更新屏幕數(shù)據(jù),客戶端裝置識(shí)別與控制命令相關(guān)聯(lián)的期望屏幕效果。在客戶端裝置處將從主機(jī)計(jì)算機(jī)服務(wù)接收的更新屏幕數(shù)據(jù)同與期望屏幕效果相關(guān)聯(lián)的數(shù)據(jù)一起封裝,以在客戶端裝置處生成視覺響應(yīng)。響應(yīng)于控制命令,將封裝的屏幕效果返回到顯示裝置以用于呈現(xiàn)。
【專利說明】用于本地生成的手勢(shì)和過渡圖形與終端控制服務(wù)的交互的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及實(shí)現(xiàn)客戶端裝置與遠(yuǎn)程服務(wù)器裝置之間的內(nèi)容通信,并且更具體地,使得能夠針對(duì)由遠(yuǎn)程服務(wù)器裝置提供的內(nèi)容在客戶端裝置處本地生成過渡圖形。
【背景技術(shù)】
[0002]隨著瘦客戶端和智能終端的出現(xiàn)和日益普及,各種技術(shù)已經(jīng)演進(jìn)為在這些裝置上提供服務(wù)。利用遠(yuǎn)程控制服務(wù)的技術(shù)(例如終端服務(wù),應(yīng)用發(fā)布,終端仿真器等)被用于發(fā)送圖像數(shù)據(jù)到終端或瘦客戶端。圖像數(shù)據(jù)在瘦客戶端/終端上被本地呈現(xiàn),以及來自終端/瘦客戶端的命令/反饋被發(fā)送回到下層的基于服務(wù)器的操作系統(tǒng)(OS)以用于解釋。結(jié)果,通過終端協(xié)議發(fā)送給瘦客戶端/終端的任何圖形交互僅在原始的OS上生成。盡管一些交互(例如本地鼠標(biāo)呈現(xiàn))被本地進(jìn)行,但是這種交互在價(jià)值上是有限的。
[0003]隨著共享服務(wù)的普及度的上升,越來越多的應(yīng)用被移入“云”中以用于共享。隨著更多的裝置(例如平板以及智能電話)被生成并且更多與終端服務(wù)相關(guān)的應(yīng)用被移到云,在主要作為經(jīng)典的基于桌面的系統(tǒng)的云OS與從邊緣平板/智能電話裝置期望的默認(rèn)體驗(yàn)之間形成了分歧。例如,智能電話和平板裝置包括諸如過渡、刷(swipe)手勢(shì)等的特征,而基于云的OS圖形主要是單頁(yè)面刷新、視頻、滾動(dòng)頁(yè)面等。
[0004]一種解決該分歧的方式是嘗試這種過渡/手勢(shì)等并將這種過渡/手勢(shì)等嵌入到在云OS上執(zhí)行的傳統(tǒng)桌面應(yīng)用中。然而,從開發(fā)立場(chǎng)和網(wǎng)絡(luò)資源立場(chǎng)上已經(jīng)證明這種努力是非常高成本的。例如,所有在云OS處針對(duì)終端服務(wù)生成的過渡必須通過網(wǎng)絡(luò)傳輸?shù)狡桨?智能電話裝置,從而導(dǎo)致巨大的數(shù)據(jù)突發(fā)的傳輸,導(dǎo)致更高的帶寬使用率。這意味著:改變/移動(dòng)的屏幕數(shù)據(jù)的每個(gè)單個(gè)像素必須從基于云的應(yīng)用傳輸?shù)竭吘壴O(shè)備(例如平板電腦,智能電話等)處的終端服務(wù)。
[0005]在允許在不對(duì)在服務(wù)器上執(zhí)行的應(yīng)用進(jìn)行改變的情況下執(zhí)行針對(duì)邊緣裝置而設(shè)計(jì)的特征時(shí),最小化網(wǎng)絡(luò)資源使用率將是有利的。在保持并服務(wù)于來自中央位置的內(nèi)容時(shí),允許在邊緣裝置處本地發(fā)生過渡也將是有利的。將客戶端-服務(wù)器執(zhí)行層與用戶交互層分離以提供具有對(duì)在云OS上執(zhí)行的應(yīng)用的部分的最小改變的更高成本效益的技術(shù)也將是有利的。
[0006]正是在該背景下,本發(fā)明的實(shí)施例出現(xiàn)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的實(shí)施例提供了用于使本地生成的過渡圖形能夠與在云中執(zhí)行的虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的方法和系統(tǒng)。為了提供用于提供本地生成的過渡圖形的高效技術(shù),傳統(tǒng)地在云上執(zhí)行的應(yīng)用被分為兩個(gè)元件——客戶端側(cè)或邊緣裝置應(yīng)用元件以及在云OS上執(zhí)行的服務(wù)器側(cè)應(yīng)用元件??蛻舳藗?cè)應(yīng)用被配置為提供低價(jià)值數(shù)據(jù)、本地過渡以及高速緩存離線功能,而服務(wù)器側(cè)應(yīng)用被配置為提供高價(jià)值事務(wù)、安全數(shù)據(jù)、高性能所需數(shù)據(jù)等。在客戶端側(cè)應(yīng)用與服務(wù)器側(cè)應(yīng)用元件之間建立通信接口。具體地,技術(shù)/應(yīng)用(例如終端服務(wù)應(yīng)用,虛擬桌面應(yīng)用等)提供了用于處理從服務(wù)器側(cè)應(yīng)用到客戶端側(cè)應(yīng)用元件以及到本地客戶端裝置處的控制系統(tǒng)(例如手勢(shì)控制器)的通信的接口。
[0008]各種實(shí)施例考慮來自用戶或應(yīng)用邏輯的改變?cè)诳蛻舳搜b置的顯示裝置上呈現(xiàn)的屏幕的請(qǐng)求。在一個(gè)實(shí)施例中,應(yīng)用邏輯請(qǐng)求是從在云中操作的服務(wù)器上執(zhí)行的服務(wù)器側(cè)應(yīng)用接收的。在另一個(gè)實(shí)施例中,通過顯示裝置處或客戶端裝置的顯示部分處的用戶交互來獲得屏幕調(diào)整請(qǐng)求。響應(yīng)于該請(qǐng)求,向客戶端裝置實(shí)行指示客戶端側(cè)應(yīng)用執(zhí)行過渡效果的通信,該過渡效果嚴(yán)格按照在客戶端裝置的顯示裝置處更新和顯示變化的屏幕的相關(guān)部分的請(qǐng)求而編排。
[0009]若干不同實(shí)施例此處作為示例而提出。
[0010]在一個(gè)實(shí)施例中,公開了一種用于使本地生成的過渡圖形能夠與虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的處理器實(shí)現(xiàn)方法。該方法包括在客戶端裝置的顯示裝置處接收控制命令。該控制命令由用戶發(fā)布以控制當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)。在客戶端裝置處識(shí)別與該控制命令相關(guān)聯(lián)的手勢(shì)的期望屏幕效果。以輸入命令的形式,將該控制命令傳輸?shù)街鳈C(jī)計(jì)算機(jī)服務(wù)以用于處理。在主機(jī)計(jì)算機(jī)服務(wù)處處理該控制命令,并且將針對(duì)當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)的更新屏幕數(shù)據(jù)傳輸?shù)娇蛻舳搜b置。在客戶端裝置處接收更新屏幕數(shù)據(jù)。將從主機(jī)計(jì)算機(jī)服務(wù)接收的更新屏幕數(shù)據(jù)同與在客戶端裝置處識(shí)別的期望手勢(shì)相關(guān)聯(lián)的數(shù)據(jù)(例如,提供期望屏幕效果的過渡圖形)一起封裝,以在客戶端裝置處生成視覺響應(yīng)。響應(yīng)于該控制命令,將封裝的屏幕效果返回給顯示裝置以進(jìn)行呈現(xiàn)。封裝的屏幕效果包括在更新屏幕數(shù)據(jù)的呈現(xiàn)期間提供視覺響應(yīng)的過渡圖形。
[0011]在另一個(gè)實(shí)施例中,公開了一種用于使本地生成的手勢(shì)和過渡圖形能夠與虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的處理器實(shí)現(xiàn)方法。該方法包括在客戶端裝置的顯示裝置處接收選擇命令。該選擇命令由用戶發(fā)布,請(qǐng)求對(duì)當(dāng)前在顯示裝置處呈現(xiàn)的當(dāng)前屏幕數(shù)據(jù)的更新。將該選擇命令傳輸?shù)街鳈C(jī)計(jì)算機(jī)服務(wù)以用于處理。主機(jī)計(jì)算機(jī)服務(wù)處理該選擇命令并將更新屏幕數(shù)據(jù)傳輸?shù)娇蛻舳搜b置。除了更新屏幕數(shù)據(jù),在服務(wù)器處還針對(duì)更新屏幕數(shù)據(jù)識(shí)別期望手勢(shì),并將期望手勢(shì)與更新屏幕數(shù)據(jù)一起傳輸給客戶端。客戶端裝置接收更新屏幕數(shù)據(jù)以及期望手勢(shì),其需要將與來自主機(jī)計(jì)算機(jī)服務(wù)的更新屏幕數(shù)據(jù)一起呈現(xiàn)的視覺響應(yīng)。期望手勢(shì)支配要對(duì)當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)進(jìn)行的調(diào)整,以包括針對(duì)該手勢(shì)的期望屏幕效果??蛻舳搜b置識(shí)別期望屏幕效果,其能夠提供針對(duì)該手勢(shì)的視覺響應(yīng)。在客戶端裝置處,將更新屏幕數(shù)據(jù)同與用于生成視覺響應(yīng)的期望屏幕效果相關(guān)聯(lián)的數(shù)據(jù)一起封裝。響應(yīng)于該選擇命令,將封裝的數(shù)據(jù)返回給顯示裝置以進(jìn)行呈現(xiàn)。封裝的數(shù)據(jù)的呈現(xiàn)包括在更新屏幕數(shù)據(jù)的呈現(xiàn)期間與期望手勢(shì)相關(guān)的屏幕效果過渡的呈現(xiàn)。
[0012]在又一個(gè)實(shí)施例中,公開了一種用于實(shí)現(xiàn)本地生成的手勢(shì)和過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互的系統(tǒng)。該系統(tǒng)包括虛擬化主機(jī)計(jì)算機(jī)服務(wù)的服務(wù)器以及具有用于呈現(xiàn)屏幕數(shù)據(jù)的顯示裝置的客戶端裝置。服務(wù)器執(zhí)行服務(wù)器側(cè)應(yīng)用,該服務(wù)器側(cè)應(yīng)用被配置為從客戶端裝置的顯示裝置接收控制命令。該控制命令由用戶發(fā)布以控制當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)。服務(wù)器側(cè)應(yīng)用還被配置為處理該控制命令來識(shí)別更新屏幕數(shù)據(jù),以返回到客戶端裝置來呈現(xiàn)??蛻舳搜b置執(zhí)行客戶端側(cè)應(yīng)用??蛻舳藗?cè)應(yīng)用被配置為:(a)解釋從接收裝置獲得的控制命令以識(shí)別與該控制命令相關(guān)聯(lián)的期望手勢(shì);(b)傳輸手勢(shì)命令給服務(wù)器側(cè)應(yīng)用以用于處理;(C)解釋從服務(wù)器側(cè)應(yīng)用傳輸?shù)斤@示裝置的更新屏幕數(shù)據(jù);(d)獲取當(dāng)前在顯示裝置處呈現(xiàn)的當(dāng)前屏幕數(shù)據(jù);(e)通過捆綁當(dāng)前屏幕數(shù)據(jù)、更新屏幕數(shù)據(jù)以及提供期望屏幕效果的過渡圖形來生成封裝的屏幕數(shù)據(jù),以生成針對(duì)期望手勢(shì)的視覺響應(yīng);以及(f)將封裝的屏幕數(shù)據(jù)返回給客戶端裝置的顯示裝置以進(jìn)行呈現(xiàn),其中封裝的屏幕數(shù)據(jù)包括提供從當(dāng)前屏幕數(shù)據(jù)到更新屏幕數(shù)據(jù)的過渡的具有期望屏幕效果的過渡圖形。
[0013]通過結(jié)合附圖和權(quán)利要求作出的以下詳細(xì)描述,本發(fā)明將易于理解。
【專利附圖】
【附圖說明】
[0014]通過結(jié)合附圖的以下詳細(xì)描述,本發(fā)明將易于理解。
[0015]圖1圖示了本發(fā)明的一個(gè)實(shí)施例中的標(biāo)識(shí)各個(gè)模塊以及系統(tǒng)內(nèi)的各個(gè)模塊之間的交互的簡(jiǎn)化框圖,該交互用于實(shí)現(xiàn)更新屏幕數(shù)據(jù)的通信以及提供本地生成的手勢(shì)和過渡圖形。
[0016]圖2a標(biāo)識(shí)了本發(fā)明的一個(gè)實(shí)施例中的通過系統(tǒng)的各個(gè)模塊和組件的信息流程。
[0017]圖2b標(biāo)識(shí)了本發(fā)明的可替換實(shí)施例中的通過系統(tǒng)的各個(gè)模塊和組件的信息流程。
[0018]圖3a圖示了本發(fā)明的一個(gè)實(shí)施例中的被遵循以在客戶端處更新屏幕數(shù)據(jù)的過程。
[0019]圖3b圖示了本發(fā)明的一個(gè)實(shí)施例中的在屏幕數(shù)據(jù)更新的傳輸期間隨時(shí)間的數(shù)據(jù)分布。
[0020]圖4圖示了本發(fā)明的一個(gè)實(shí)施例中的實(shí)現(xiàn)本地生成的手勢(shì)和過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互所涉及的各個(gè)步驟的處理流程圖。
[0021]圖5圖示了本發(fā)明的可替換實(shí)施例中的實(shí)現(xiàn)本地生成的手勢(shì)和過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互所涉及的各個(gè)步驟的處理流程圖。
【具體實(shí)施方式】
[0022]現(xiàn)在將描述用于在虛擬環(huán)境內(nèi)實(shí)現(xiàn)本地生成的手勢(shì)和過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互的若干示例性實(shí)施例。對(duì)于本領(lǐng)域技術(shù)人員來說將顯而易見的是,本發(fā)明可以在沒有此處闡明的某些或全部特定細(xì)節(jié)的情況下實(shí)踐。盡管參考虛擬環(huán)境全面地描述了實(shí)施例,但是本發(fā)明的教導(dǎo)可以擴(kuò)展到常規(guī)的計(jì)算環(huán)境,例如客戶端-服務(wù)器環(huán)境。
[0023]本發(fā)明定義了實(shí)現(xiàn)在客戶端裝置處本地生成手勢(shì)和過渡圖形與云中的虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的方法和系統(tǒng)。圖1圖示了在實(shí)現(xiàn)本地生成的手勢(shì)和過渡圖形與主機(jī)計(jì)算機(jī)服務(wù)的交互時(shí)使用的系統(tǒng)的簡(jiǎn)化示意。虛擬化主機(jī)計(jì)算機(jī)服務(wù)包括執(zhí)行服務(wù)器側(cè)應(yīng)用(1.3b)的服務(wù)器(1.6),該服務(wù)器側(cè)應(yīng)用(1.3b)被配置為處理包括高性能需求的高價(jià)值事務(wù)并提供安全數(shù)據(jù)。在一個(gè)實(shí)施例中,服務(wù)器可以在執(zhí)行云OS的虛擬機(jī)(例如服務(wù)器虛擬機(jī))上執(zhí)行?;跀?shù)據(jù)中心的應(yīng)用的部分在服務(wù)器虛擬機(jī)上執(zhí)行。在一個(gè)實(shí)施例中,基于數(shù)據(jù)中心的應(yīng)用包括兩個(gè)組件。在服務(wù)器虛擬機(jī)上提供的第一組件被配置為執(zhí)行客戶端-服務(wù)器處理,以及,第二組件在客戶端裝置上提供,并被配置為執(zhí)行用戶交互處理。作為在服務(wù)器(1.6)上執(zhí)行的服務(wù)器側(cè)應(yīng)用(1.3b)的第一組件進(jìn)行所有重載數(shù)據(jù)處理。在一個(gè)實(shí)施例中,服務(wù)器執(zhí)行云操作系統(tǒng)(OS)。服務(wù)器側(cè)應(yīng)用(1.3b)通過主機(jī)服務(wù)應(yīng)用接口(1.5)與客戶端裝置(1.1)交互。服務(wù)器側(cè)應(yīng)用(1.3b)還與服務(wù)器上的數(shù)據(jù)庫(kù)(1.7)交互,以獲得用于處理的數(shù)據(jù)。數(shù)據(jù)庫(kù)(1.7)也被客戶端裝置使用以存儲(chǔ)與手勢(shì)命令相關(guān)的信息。
[0024]客戶端裝置(1.1)使用有線或無線連接而被連接到因特網(wǎng)??蛻舳搜b置(1.1)可以采取任何數(shù)量的形式??蛻舳搜b置的示例包括計(jì)算機(jī)、膝上型電腦、個(gè)人計(jì)算機(jī)、平板計(jì)算裝置、移動(dòng)計(jì)算裝置(例如平板計(jì)算裝置)、智能電話、個(gè)人數(shù)字助理等等。客戶端裝置(1.1)采取基于數(shù)據(jù)中心的應(yīng)用的第二組件,該第二組件被表示為客戶端側(cè)應(yīng)用元件(1.3a),以在客戶端裝置(1.1)處執(zhí)行本地處理。第二組件被配置為處理低價(jià)值數(shù)據(jù)、高速緩存離線功能并生成本地過渡。
[0025]在一個(gè)實(shí)施例中,在客戶端裝置(1.1)中提供了終端服務(wù)類型的應(yīng)用(1.4),用于客戶端和服務(wù)器裝置之間的通信。終端服務(wù)應(yīng)用(1.4)提供客戶端裝置(1.1)和服務(wù)器
(1.6)之間的客戶端側(cè)接口??蛻舳颂幍慕K端服務(wù)應(yīng)用(1.4)通過主機(jī)服務(wù)應(yīng)用接口(1.5)與服務(wù)器(1.6)通信。終端服務(wù)應(yīng)用還與本地客戶端中的其他組件和客戶端側(cè)應(yīng)用元件一起處理來自和去往客戶端裝置中的控制系統(tǒng)(例如手勢(shì)控制系統(tǒng))的通信。結(jié)果是客戶端裝置和主機(jī)計(jì)算機(jī)服務(wù)之間的通信,其中客戶端裝置提供嚴(yán)格按照在客戶端裝置的顯示裝置處更新和顯示變化的屏幕的相關(guān)部分的請(qǐng)求而編排的過渡效果。在可替換實(shí)施例中,可以使用虛擬機(jī)接口來代替終端服務(wù)應(yīng)用,以提供用于客戶端和服務(wù)器裝置之間的通信的客戶端側(cè)接口。
[0026]云OS主要是運(yùn)行Windows?、linux?等OS的經(jīng)典的基于桌面的服務(wù)。結(jié)果,由執(zhí)行云OS的服務(wù)器提供的任何數(shù)據(jù)包括單頁(yè)面刷新、頁(yè)面滾動(dòng)、視頻等,且不具有較新的邊緣裝置被配置以提供的與手勢(shì)相關(guān)聯(lián)的動(dòng)畫特征,例如翻頁(yè)、手指刷等。此處描述的各個(gè)實(shí)施例提供了用于將在客戶端邊緣裝置(例如智能電話,平板等)中可用的較新的功能(例如手勢(shì),圖形過渡)與從在主機(jī)計(jì)算機(jī)服務(wù)上執(zhí)行的遠(yuǎn)程應(yīng)用接收的屏幕數(shù)據(jù)進(jìn)行整合而不必修改遠(yuǎn)程應(yīng)用的方式。進(jìn)一步地,在本地客戶端裝置處提供手勢(shì)和過渡圖形,導(dǎo)致網(wǎng)絡(luò)資源上的負(fù)載減少,這是因?yàn)榫W(wǎng)絡(luò)負(fù)載僅處理對(duì)屏幕數(shù)據(jù)的更新/改變,而不是過渡圖形。針對(duì)期望手勢(shì)的過渡圖形標(biāo)識(shí)了在更新屏幕數(shù)據(jù)的呈現(xiàn)期間在顯示裝置處提供視覺響應(yīng)的期望屏幕效果。這導(dǎo)致網(wǎng)絡(luò)資源的最優(yōu)使用。
[0027]本發(fā)明的其他方面將從結(jié)合通過示例的方式圖示本發(fā)明原理的附圖作出的以下詳細(xì)描述中變得顯而易見。
[0028]圖2a圖示了用于更新需要過渡事件的屏幕的數(shù)據(jù)流程序列。在一個(gè)實(shí)施例中,在顯示裝置處接收的用戶交互觸發(fā)更新在客戶端裝置的顯示裝置處呈現(xiàn)的屏幕的請(qǐng)求。在一個(gè)實(shí)施例中,用戶交互具有控制命令(2a.1)的形式,例如頁(yè)面向下、頁(yè)面向上、向左刷、向右刷等,其由用戶發(fā)布以用于控制當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)??刂泼钔ㄟ^參考在客戶端裝置處保持的映射表來識(shí)別由用戶指定的期望手勢(shì)。映射表將各種控制命令映射到由鍵盤和鼠標(biāo)命令定義的不同手勢(shì)。將參考圖3a來描述關(guān)于識(shí)別期望手勢(shì)的更多細(xì)節(jié)。然后,期望手勢(shì)命令由本地終端通過反向信道服務(wù)作為輸入命令(即鍵盤/鼠標(biāo)命令)傳輸?shù)街鳈C(jī)服務(wù)以用于處理。
[0029]與本地終端服務(wù)應(yīng)用對(duì)接的主機(jī)服務(wù)應(yīng)用從客戶端裝置(2a.2)接收具有輸入命令形式的手勢(shì)命令,并發(fā)送輸入命令給服務(wù)器側(cè)應(yīng)用。服務(wù)器側(cè)應(yīng)用處理輸入命令以識(shí)別適當(dāng)?shù)膽?yīng)用工作負(fù)荷作為屏幕更新數(shù)據(jù)。在一個(gè)實(shí)施例中,服務(wù)器側(cè)應(yīng)用可以查詢對(duì)服務(wù)器(即主機(jī)應(yīng)用服務(wù))來說可用的服務(wù)器數(shù)據(jù)庫(kù),以獲得與屏幕更新相關(guān)的工作負(fù)荷。
[0030]對(duì)屏幕更新工作負(fù)荷(即數(shù)據(jù))進(jìn)行封裝并將其返回到客戶端裝置的顯示裝置以用于本地呈現(xiàn)。封裝的屏幕更新被配置為在工作負(fù)荷中繪制屏幕更新作為單個(gè)更新。此外,封裝的屏幕更新包括對(duì)客戶端裝置上的本地應(yīng)用(即客戶端側(cè)應(yīng)用)基于控制命令生成用于在呈現(xiàn)更新屏幕數(shù)據(jù)時(shí)執(zhí)行過渡的過渡數(shù)據(jù)的請(qǐng)求。過渡數(shù)據(jù)標(biāo)識(shí)了期望屏幕效果,其在客戶端裝置的顯示裝置處生成視覺響應(yīng)。
[0031]客戶端側(cè)應(yīng)用攔截封裝的屏幕更新并編排針對(duì)屏幕更新的過渡。客戶端側(cè)應(yīng)用識(shí)別用于實(shí)現(xiàn)期望手勢(shì)的一個(gè)或多個(gè)過渡圖形(即屏幕效果)。應(yīng)該注意的是,過渡圖形能夠根據(jù)在實(shí)現(xiàn)手勢(shì)時(shí)使用的技術(shù)以及根據(jù)客戶端裝置而不同。不管所使用的技術(shù)或客戶端裝置如何,客戶端側(cè)應(yīng)用都將識(shí)別在封裝的屏幕更新中接收的更新屏幕數(shù)據(jù),并將過渡圖形與更新屏幕數(shù)據(jù)進(jìn)行整合。
[0032]在一個(gè)實(shí)施例中,客戶端側(cè)應(yīng)用在客戶端裝置中的第一本地緩存中存儲(chǔ)當(dāng)前在客戶端裝置的顯示裝置上呈現(xiàn)的屏幕數(shù)據(jù)。客戶端側(cè)應(yīng)用還接收封裝的屏幕數(shù)據(jù)到客戶端裝置內(nèi)的第二本地緩存中以用于進(jìn)一步處理。在一個(gè)實(shí)施例中,在接收到封裝的屏幕數(shù)據(jù)時(shí),客戶端側(cè)應(yīng)用從第一本地緩存中獲取當(dāng)前屏幕數(shù)據(jù)以及從第二本地緩存中獲取封裝的屏幕數(shù)據(jù),并在客戶端裝置處本地生成需要的過渡圖形。在一個(gè)實(shí)施例中,客戶端側(cè)應(yīng)用識(shí)別當(dāng)前和更新屏幕數(shù)據(jù)的不同幀,并在客戶端裝置處,在當(dāng)前屏幕數(shù)據(jù)的最后一幀和更新屏幕數(shù)據(jù)的第一幀之間整合過渡圖形。過渡圖形提供期望屏幕效果,其在提供動(dòng)畫過渡時(shí)的呈現(xiàn)期間將舊的和新的幀混合在一起。被整合的過渡圖形的一些示例包括交叉疊化、雜志翻頁(yè)動(dòng)畫、簡(jiǎn)單替換等。
[0033]上述在舊的和新的屏幕數(shù)據(jù)之間整合過渡圖形的技術(shù)不僅適用于整個(gè)頁(yè)面刷新,還適用于刷新小門戶窗口,其中可以使用相同或類似的技術(shù)來部署更適于小區(qū)域的過渡效
果O
[0034]在圖2b中圖示的另一個(gè)實(shí)施例中,外部業(yè)務(wù)邏輯(2b.2b)可以觸發(fā)在整個(gè)屏幕或部分屏幕刷新期間提供過渡圖形的請(qǐng)求。這個(gè)實(shí)施例與圖2a中圖示的實(shí)施例的區(qū)別在于接收過渡請(qǐng)求的方式。在圖2a中,針對(duì)屏幕刷新請(qǐng)求的請(qǐng)求是通過用戶交互作為控制命令而提供的,而在圖2b中的實(shí)施例中,屏幕刷新請(qǐng)求由被嵌入到外部應(yīng)用中的外部業(yè)務(wù)邏輯提供。在一個(gè)實(shí)施例中,外部應(yīng)用在執(zhí)行云OS的云中的服務(wù)器上執(zhí)行。將由外部應(yīng)用觸發(fā)的屏幕刷新請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器上的主機(jī)服務(wù)以用于處理。在主機(jī)服務(wù)中執(zhí)行的服務(wù)器側(cè)應(yīng)用識(shí)別該請(qǐng)求并與服務(wù)器側(cè)數(shù)據(jù)庫(kù)交互,以獲得針對(duì)該請(qǐng)求的更新屏幕數(shù)據(jù)(2b.3)。在該實(shí)施例中,服務(wù)器側(cè)應(yīng)用還識(shí)別手勢(shì)(2b.4)命令,該應(yīng)用期望該手勢(shì)(2b.4)命令與更新屏幕數(shù)據(jù)整合,以便當(dāng)在客戶端裝置的顯示裝置處呈現(xiàn)時(shí)生成視覺響應(yīng)。在該實(shí)施例中,映射表被保持在服務(wù)器上,將控制映射到手勢(shì)。服務(wù)器側(cè)應(yīng)用查閱映射表以識(shí)別期望手勢(shì)。服務(wù)器側(cè)應(yīng)用封裝更新屏幕數(shù)據(jù)以及期望手勢(shì)以生成封裝的屏幕數(shù)據(jù),并傳輸封裝的屏幕數(shù)據(jù)到客戶端裝置以用于呈現(xiàn)。如參考圖2a所提及的,客戶端裝置攔截封裝的屏幕數(shù)據(jù),識(shí)別用于提供針對(duì)與封裝的屏幕數(shù)據(jù)一起接收的所識(shí)別的手勢(shì)的期望屏幕效果的過渡圖形,并在合適的位置處合并過渡圖形,以在更新屏幕數(shù)據(jù)被呈現(xiàn)在客戶端裝置處時(shí)生成視覺響應(yīng)。在一個(gè)實(shí)施例中,期望的動(dòng)畫通過在當(dāng)前呈現(xiàn)的屏幕數(shù)據(jù)和更新屏幕數(shù)據(jù)的幀之間整合過渡圖形將當(dāng)前呈現(xiàn)的屏幕數(shù)據(jù)與更新屏幕數(shù)據(jù)進(jìn)行混合。在另一個(gè)實(shí)施例中,在更新屏幕數(shù)據(jù)的呈現(xiàn)之前、期間或之后呈送期望的動(dòng)畫。
[0035]傳統(tǒng)的應(yīng)用可以被視為客戶端系統(tǒng)與應(yīng)用執(zhí)行系統(tǒng)之間的交互。在傳統(tǒng)的系統(tǒng)中,在客戶端裝置處捕獲控制命令,并解釋該控制命令以識(shí)別輸入命令,例如鍵盤/鼠標(biāo)命令。將輸入命令傳輸?shù)皆谠浦械姆?wù)器上執(zhí)行的基于數(shù)據(jù)中心的應(yīng)用?;跀?shù)據(jù)中心的應(yīng)用主要是不具備任何動(dòng)畫的經(jīng)典的基于桌面的應(yīng)用。服務(wù)器處理請(qǐng)求,識(shí)別更新屏幕數(shù)據(jù),并直接將更新屏幕數(shù)據(jù)轉(zhuǎn)發(fā)到顯示裝置以用于呈現(xiàn)。根據(jù)當(dāng)前在顯示裝置上呈現(xiàn)的數(shù)據(jù)的類型,將更新屏幕數(shù)據(jù)呈現(xiàn)在顯示裝置上作為單頁(yè)面刷新或滾動(dòng)或視頻。另一方面,本發(fā)明的各個(gè)實(shí)施例提供了用于攔截直接向著顯示裝置的更新屏幕數(shù)據(jù)以及在客戶端裝置處修改更新屏幕數(shù)據(jù)以包括期望過渡圖形并將修改后的屏幕數(shù)據(jù)返回到顯示裝置的方式。修改后的屏幕數(shù)據(jù)包括屏幕效果特征,其通??赡軐?duì)服務(wù)器裝置中的應(yīng)用來說不可用,但是可以在客戶端裝置處可用。
[0036]圖3a圖示了本發(fā)明的一個(gè)實(shí)施例中的在提供過渡圖形與終端控制服務(wù)的交互時(shí)使用的過程。使用客戶端裝置的顯示裝置來呈現(xiàn)當(dāng)前屏幕數(shù)據(jù)。由客戶端側(cè)應(yīng)用捕獲顯示裝置處的用戶交互。作為控制當(dāng)前在顯示裝置上呈現(xiàn)的屏幕數(shù)據(jù)的控制命令來接收用戶交互。在一個(gè)實(shí)施例中,由客戶端側(cè)應(yīng)用使用被保持在客戶端裝置處的映射表來解釋控制命令。映射表將控制命令映射到期望手勢(shì)。例如,“向左刷”命令可以被映射到“頁(yè)面向下”手勢(shì),“向右刷”命令可以被映射到“頁(yè)面向上”手勢(shì),“向上刷”可以被映射到“鼠標(biāo)輪向上”手勢(shì),“向下刷”命令可以被映射到“鼠標(biāo)輪向下”手勢(shì)等等。圖3a中的映射表圖示了被映射到一些手勢(shì)的控制命令的采樣。
[0037]對(duì)控制命令進(jìn)行解釋以便以輸入命令形式識(shí)別期望手勢(shì)命令,且通過客戶端和服務(wù)器裝置中的相應(yīng)接口將輸入命令(鍵盤/鼠標(biāo)命令)傳輸?shù)椒?wù)器側(cè)應(yīng)用。服務(wù)器側(cè)應(yīng)用識(shí)別與手勢(shì)命令相關(guān)聯(lián)的更新屏幕數(shù)據(jù),并將更新屏幕數(shù)據(jù)作為要在顯示裝置處呈現(xiàn)的新的瞬時(shí)屏幕數(shù)據(jù)進(jìn)行傳輸。在一個(gè)實(shí)施例中,更新屏幕數(shù)據(jù)被識(shí)別并作為幀緩沖數(shù)據(jù)而提供。對(duì)于關(guān)于獲得幀緩沖數(shù)據(jù)以在客戶端裝置的顯示裝置上刷新屏幕數(shù)據(jù)的更多信息,可以參考共同擁有的2010年5月20日提交的名稱為“Methods for Interfacing witha Virtualized Computing Service over a Network using a Lightweight Client,,的美國(guó)專利申請(qǐng)?zhí)朜0.12/784, 454以及于2010年5月20日提交的名稱為“Systems andAlgorithm for Interfacing with a Virtualized Computing Service over a Networkusing a Lightweight Client”的美國(guó)專利申請(qǐng)N0.12/784,468,這些美國(guó)專利申請(qǐng)以其整體通過引用合并在此。
[0038]更新屏幕數(shù)據(jù)從服務(wù)器到客戶端裝置的傳輸由短時(shí)間段上的帶寬數(shù)據(jù)中的尖峰識(shí)別,如圖3b中所示。客戶端裝置的操作系統(tǒng)(OS)檢測(cè)在網(wǎng)絡(luò)上到來的傳輸數(shù)據(jù)中的突發(fā),并拖延在客戶端裝置的顯示裝置處呈現(xiàn)更新屏幕數(shù)據(jù)。取而代之,客戶端裝置OS攔截直接去往顯示裝置的新的更新瞬時(shí)屏幕數(shù)據(jù),并將其轉(zhuǎn)發(fā)到客戶端側(cè)應(yīng)用以用于處理。在一個(gè)實(shí)施例中,客戶端裝置OS在攔截時(shí)將更新屏幕數(shù)據(jù)存儲(chǔ)在本地緩存中。在這個(gè)實(shí)施例中,然后,客戶端裝置OS發(fā)送信號(hào)給客戶端側(cè)應(yīng)用以指示可用于處理的新數(shù)據(jù)。在另一個(gè)實(shí)施例中,客戶端裝置OS直接轉(zhuǎn)發(fā)更新屏幕數(shù)據(jù)到客戶端側(cè)應(yīng)用,以用于在不存儲(chǔ)在本地緩存中的情況下進(jìn)行處理??蛻舳搜b置OS知道等待客戶端側(cè)應(yīng)用在顯示裝置處呈現(xiàn)之前處理更新屏幕數(shù)據(jù)。用于等待的時(shí)間段可以等效于更新屏幕數(shù)據(jù)的傳輸所耗費(fèi)的時(shí)間。在一個(gè)實(shí)施例中,客戶端裝置OS在與更新屏幕數(shù)據(jù)從服務(wù)器裝置的傳輸所耗費(fèi)的時(shí)間等效的時(shí)間段內(nèi)發(fā)布等待命令。
[0039]在一個(gè)實(shí)施例中,在接收到由客戶端裝置OS轉(zhuǎn)發(fā)的更新屏幕數(shù)據(jù)時(shí),客戶端側(cè)應(yīng)用查詢并從本地緩存中獲取當(dāng)前在顯示裝置處呈現(xiàn)的當(dāng)前屏幕數(shù)據(jù),在該本地緩存處,在顯示裝置處呈現(xiàn)期間存儲(chǔ)該當(dāng)前屏幕數(shù)據(jù)。在一個(gè)實(shí)施例中,用于存儲(chǔ)當(dāng)前屏幕數(shù)據(jù)的本地緩存與存儲(chǔ)更新屏幕數(shù)據(jù)的本地緩存不同。在另一個(gè)實(shí)施例中,當(dāng)前屏幕數(shù)據(jù)和更新屏幕數(shù)據(jù)可以不同地存儲(chǔ)在公共本地緩存中。
[0040]客戶端側(cè)應(yīng)用還識(shí)別需要被包括以在呈現(xiàn)更新屏幕數(shù)據(jù)時(shí)提供針對(duì)期望手勢(shì)的屏幕過渡效果的過渡圖形。這個(gè)操作由圖3a中的箭頭‘A’指示。基于在用戶交互中提供的手勢(shì)命令來識(shí)別過渡圖形。客戶端側(cè)應(yīng)用將所獲取的當(dāng)前屏幕數(shù)據(jù)與更新屏幕數(shù)據(jù)以及用于提供屏幕效果的過渡圖形進(jìn)行捆綁,并將捆綁的屏幕數(shù)據(jù)轉(zhuǎn)發(fā)到客戶端裝置OS。在一個(gè)實(shí)施例中,客戶端裝置OS通過允許過渡圖形嵌入到當(dāng)前屏幕數(shù)據(jù)的最后一幀和更新屏幕數(shù)據(jù)的第一幀之間,將簡(jiǎn)單控制命令(例如“頁(yè)面向下”)轉(zhuǎn)換為書,以在當(dāng)前呈現(xiàn)的屏幕數(shù)據(jù)和新請(qǐng)求的更新屏幕數(shù)據(jù)之間提供生成視覺響應(yīng)的期望過渡效果。這與傳統(tǒng)方法不同,在傳統(tǒng)方法中,服務(wù)器的桌面OS會(huì)將頁(yè)面向上命令解釋為意指先前的頁(yè)面,并且更新屏幕數(shù)據(jù)將包括被直接返回給顯示裝置以在沒有任何動(dòng)畫圖形的情況下進(jìn)行呈現(xiàn)的先前頁(yè)面數(shù)據(jù)。過渡圖形的攔截、解釋以及整合都在客戶端裝置處本地完成。使用上面提及的方法,客戶端側(cè)應(yīng)用可以提供下述能力:隨著較新的特征在客戶端裝置處發(fā)展/可用以及當(dāng)較新的特征在客戶端裝置處發(fā)展/可用時(shí),合并較新的特征,以實(shí)現(xiàn)合并在服務(wù)器應(yīng)用中通常不可用的這些特征的數(shù)據(jù)的呈現(xiàn)。不需要修改服務(wù)器上的應(yīng)用以提供這些新特征。相反,在一個(gè)實(shí)施例中,如果需要的話,可以通過更新被保持在客戶端裝置以及客戶端側(cè)應(yīng)用處的映射表來在客戶端裝置處提供所有的過渡動(dòng)畫。
[0041]在一個(gè)實(shí)施例中,可以生成新的服務(wù)器側(cè)應(yīng)用以處理客戶端裝置上的顯示裝置處的用戶交互。服務(wù)器側(cè)應(yīng)用將識(shí)別需要與被傳輸給客戶端裝置的更新屏幕數(shù)據(jù)一起包括的必要手勢(shì)命令。手勢(shì)命令由客戶端側(cè)應(yīng)用解釋,以使用被保持在客戶端裝置處的映射表來定義期望過渡。手勢(shì)命令由客戶端側(cè)OS處理,以提供需要的過渡圖形,由此在顯示裝置處屏幕更新的呈現(xiàn)期間提供屏幕過渡效果。屏幕過渡效果生成當(dāng)在客戶端裝置處呈現(xiàn)時(shí)適于從控制命令識(shí)別的期望手勢(shì)的視覺響應(yīng)。應(yīng)該注意的是,在上面提及的實(shí)施例中,手勢(shì)命令的解釋和適當(dāng)過渡圖形的呈現(xiàn)基本上實(shí)時(shí)完成。
[0042]因此,當(dāng)前實(shí)施例定義了下述方法:該方法允許將數(shù)據(jù)和分析應(yīng)用服務(wù)從用戶交互式和沉浸式技術(shù)分割,從而允許類似本機(jī)的客戶端裝置接口分層放置在傳統(tǒng)的基于云的應(yīng)用的頂部上,由此使得能夠?qū)⒃诳蛻舳搜b置處可用的新特征與在客戶端裝置的顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)進(jìn)行合并。換句話說,服務(wù)器側(cè)應(yīng)用被允許操縱客戶端-服務(wù)器處理,并且客戶端側(cè)應(yīng)用被設(shè)計(jì)為操縱用戶接口處理,其包括在顯示裝置處提供屏幕過渡效果的本地過渡。
[0043]圖4圖示了一個(gè)實(shí)施例中的用于使本地生成的過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的方法的處理流程。該方法在操作410處開始,其中在客戶端裝置的顯示裝置或顯示部分處接收控制命令。控制命令可以通過顯示裝置處的用戶交互而提供,其中,用戶交互被設(shè)計(jì)為控制在其上呈現(xiàn)的屏幕數(shù)據(jù)。例如,用戶交互可以包括在顯示裝置上呈現(xiàn)當(dāng)前屏幕數(shù)據(jù)時(shí)在顯示裝置上手指向左、向右、向上或向下刷、手指觸摸/輕叩等。通過客戶端側(cè)應(yīng)用來捕獲和解釋用戶交互,以識(shí)別手勢(shì)命令。將具有輸入命令形式的手勢(shì)命令(例如鍵盤/鼠標(biāo)命令)傳輸?shù)街鳈C(jī)計(jì)算機(jī)服務(wù)以用于處理,如在操作420中所示。在主機(jī)計(jì)算機(jī)服務(wù)內(nèi)的服務(wù)器側(cè)應(yīng)用處處理手勢(shì)命令,以及識(shí)別適當(dāng)?shù)母缕聊粩?shù)據(jù),如在操作430中所示。服務(wù)器側(cè)應(yīng)用可以訪問服務(wù)器側(cè)數(shù)據(jù)庫(kù)以基于從客戶端裝置接收的手勢(shì)命令來識(shí)別和獲取要傳輸?shù)娇蛻舳搜b置的適當(dāng)屏幕數(shù)據(jù)作為更新。響應(yīng)于手勢(shì)命令,將被識(shí)別的屏幕數(shù)據(jù)返回到客戶端裝置。
[0044]客戶端裝置的操作系統(tǒng)接收并攔截直接去往顯示裝置的更新屏幕數(shù)據(jù),并將更新屏幕數(shù)據(jù)移交給客戶端側(cè)應(yīng)用以用于進(jìn)一步處理,如在操作440中所示。在一個(gè)實(shí)施例中,客戶端裝置OS在本地緩存(即第二本地緩存)中存儲(chǔ)更新屏幕數(shù)據(jù),并發(fā)送信號(hào)給客戶端側(cè)應(yīng)用。響應(yīng)于接收到的信號(hào),客戶端側(cè)應(yīng)用獲取當(dāng)前在顯示裝置處呈現(xiàn)的且存儲(chǔ)在第一本地緩存中的當(dāng)前屏幕數(shù)據(jù)以及來自第二本地緩存的更新屏幕數(shù)據(jù),并將這兩種屏幕數(shù)據(jù)與期望過渡圖形一起捆綁,并轉(zhuǎn)發(fā)捆綁的屏幕數(shù)據(jù)到客戶端裝置OS。如之前提及的,存儲(chǔ)當(dāng)前屏幕數(shù)據(jù)的本地緩存可以與用于存儲(chǔ)更新屏幕數(shù)據(jù)的本地緩存不同。在另一個(gè)實(shí)施例中,單個(gè)本地緩存用于存儲(chǔ)當(dāng)前屏幕數(shù)據(jù)和更新屏幕數(shù)據(jù)兩者。在這個(gè)實(shí)施例中,這兩種屏幕數(shù)據(jù)不同地存儲(chǔ)在公共本地緩存內(nèi)。
[0045]客戶端裝置OS接收與過渡圖形一起捆綁的屏幕數(shù)據(jù),該過渡圖形提供舊屏幕數(shù)據(jù)(即當(dāng)前屏幕數(shù)據(jù))和新屏幕數(shù)據(jù)(即更新屏幕數(shù)據(jù))之間的期望手勢(shì)所需的屏幕過渡效果,以在呈現(xiàn)屏幕數(shù)據(jù)時(shí)在顯示裝置處生成視覺響應(yīng)。為了實(shí)行當(dāng)前和更新屏幕數(shù)據(jù)之間的期望動(dòng)畫,客戶端裝置OS識(shí)別當(dāng)前屏幕數(shù)據(jù)的最后一幀和更新屏幕數(shù)據(jù)的第一幀。然后,客戶端裝置OS在當(dāng)前屏幕數(shù)據(jù)的最后一幀和更新屏幕數(shù)據(jù)的第一幀之間合并過渡圖形,并生成包含當(dāng)前屏幕數(shù)據(jù)、更新屏幕數(shù)據(jù)以及在兩者之間合并的過渡圖形的封裝的屏幕數(shù)據(jù),如在操作450中所示。將帶有期望屏幕效果的封裝的屏幕數(shù)據(jù)返回給顯示裝置以用于呈現(xiàn),如在操作460中所示。所呈現(xiàn)的過渡圖形生成將舊應(yīng)用功能與在邊緣裝置(例如,邊緣平板,智能電話等)處可用的新功能進(jìn)行混合的視覺響應(yīng),而不必修改在服務(wù)器上執(zhí)行的舊應(yīng)用。
[0046]圖5圖示了本發(fā)明的另一個(gè)實(shí)施例中的用于實(shí)現(xiàn)本地生成的過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互的可替換方法。該方法在操作510處開始,其中,在客戶端裝置和顯示裝置處接收選擇命令。選擇命令是在顯示裝置處從用戶接收的,其中用戶在顯示裝置處呈現(xiàn)的屏幕上選擇可用選項(xiàng)。將選擇命令傳輸?shù)街鳈C(jī)計(jì)算機(jī)服務(wù)以用于處理,如在操作520中所示。選擇命令由服務(wù)器側(cè)應(yīng)用處理以識(shí)別滿足選擇命令的屏幕數(shù)據(jù)。此外,服務(wù)器側(cè)應(yīng)用識(shí)別期望手勢(shì)以用于與所識(shí)別的屏幕數(shù)據(jù)一起呈現(xiàn)。服務(wù)器側(cè)應(yīng)用返回更新屏幕數(shù)據(jù),如在操作530中所示,以及,服務(wù)器側(cè)應(yīng)用將期望手勢(shì)返回給客戶端裝置,以用于在客戶端裝置的顯示裝置上呈現(xiàn),如在操作540中所示??梢允褂迷诜?wù)器裝置處保持的映射表來識(shí)別期望手勢(shì)。在更新屏幕數(shù)據(jù)的呈現(xiàn)期間,期望手勢(shì)支配要在顯示裝置處進(jìn)行的調(diào)整。
[0047]客戶端裝置OS攔截更新屏幕數(shù)據(jù)以及期望手勢(shì),并將數(shù)據(jù)和期望手勢(shì)交給客戶端側(cè)應(yīng)用以用于處理,該更新屏幕數(shù)據(jù)以及期望手勢(shì)識(shí)別要在由服務(wù)器返回的更新屏幕數(shù)據(jù)的呈現(xiàn)期間包括的期望屏幕效果??蛻舳藗?cè)應(yīng)用響應(yīng)于從客戶端裝置OS接收到數(shù)據(jù),識(shí)別與適合于更新屏幕數(shù)據(jù)的期望手勢(shì)相對(duì)應(yīng)的過渡圖形(即期望屏幕效果),并將過渡圖形信息與更新屏幕數(shù)據(jù)合并,并生成封裝的屏幕數(shù)據(jù),其包括針對(duì)期望手勢(shì)的過渡圖形,如在操作550中所示。
[0048]客戶端裝置OS接收帶有過渡圖形的封裝的更新屏幕數(shù)據(jù),并返回封裝的屏幕數(shù)據(jù)以用于在顯示裝置處呈現(xiàn),如在操作560中所示。封裝的屏幕數(shù)據(jù)的呈現(xiàn)包括帶有期望過渡圖形的更新屏幕數(shù)據(jù)。過渡圖形在更新屏幕數(shù)據(jù)的呈現(xiàn)期間生成視覺響應(yīng),從而豐富了用戶在顯示裝置處的交互體驗(yàn)。
[0049]此處描述的各個(gè)實(shí)施例教導(dǎo)了允許在客戶端裝置處本地生成過渡、同時(shí)使用于呈現(xiàn)的內(nèi)容能夠被集中地服務(wù)的技術(shù)。實(shí)施例描述了為了實(shí)時(shí)處理過渡而在客戶端裝置和顯示裝置(即終端)之間的編排。過渡編排在客戶端處利用從服務(wù)器側(cè)接收的更新屏幕數(shù)據(jù)完成。這種形式的本地編排減少了網(wǎng)絡(luò)資源上的壓力,同時(shí)提供了利用在較新邊緣裝置內(nèi)可用的較新用戶接口設(shè)計(jì)特征的能力。
[0050]此處描述的各個(gè)實(shí)施例的屏幕數(shù)據(jù)可以具有使用幀緩沖處理技術(shù)的幀緩沖數(shù)據(jù)的形式,其優(yōu)化了由遠(yuǎn)程主機(jī)計(jì)算機(jī)服務(wù)處理或預(yù)處理的數(shù)據(jù)的呈送。在一個(gè)實(shí)施例中,遠(yuǎn)程計(jì)算機(jī)裝置可以是虛擬機(jī),其處理數(shù)據(jù)或應(yīng)用,并生成用于在呈現(xiàn)裝置(例如客戶端裝置的顯示裝置)上顯示的屏幕數(shù)據(jù)。此處描述的各個(gè)實(shí)施例中使用的客戶端裝置中的一些包括臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板、智能電話、瘦或胖終端裝置或者其他計(jì)算裝置。對(duì)于描述幀緩沖數(shù)據(jù)的處理的更多信息,可以參考于2010年5月20日提交的名稱為“Methodsfor Interfacing with a Virtualized Computing Service over a Network using aLigh tweight Client”的中請(qǐng)N0.12/784,454以及于2010年5月20日提交的名稱為“Systems and Algorithm for Interfacing with a Virtualized Computing Serviceover a Network using a Lightweight Client” 的申請(qǐng) N0.12/784,468,這些申請(qǐng)以其整體通過引用合并在此。
[0051]考慮到上述實(shí)施例,應(yīng)當(dāng)理解的是,本發(fā)明可以采用涉及在計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的數(shù)據(jù)的各種計(jì)算機(jī)實(shí)現(xiàn)操作。這些操作是需要物理量的物理操縱的那些操作。通常,但不必須,這些量采取能夠被存儲(chǔ)、傳輸、組合、比較以及以其他方式操縱的電或磁信號(hào)的形式。進(jìn)一步地,所執(zhí)行的操縱通常被稱為諸如產(chǎn)生、識(shí)別、確定或比較之類的術(shù)語。
[0052]此處描述的形成本發(fā)明的一部分的任何操作都是有用的機(jī)器操作。本發(fā)明還涉及用于執(zhí)行這些操作的裝置或設(shè)備。該設(shè)備可以是為了需要的目的而特別構(gòu)造的,或者其可以是由存儲(chǔ)在計(jì)算機(jī)中的計(jì)算機(jī)程序選擇性激活或配置的通用計(jì)算機(jī)。特別地,各種通用機(jī)器可以與根據(jù)此處的教導(dǎo)而編寫的計(jì)算機(jī)程序一起使用,或者,構(gòu)造更專門的設(shè)備以執(zhí)行所需的操作可以是更方便的。
[0053]本發(fā)明還可以被體現(xiàn)為計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀介質(zhì)是能夠存儲(chǔ)數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)裝置,該數(shù)據(jù)隨后可以被計(jì)算機(jī)系統(tǒng)讀取。計(jì)算機(jī)可讀介質(zhì)的示例包括硬盤驅(qū)動(dòng)器、網(wǎng)絡(luò)附著存儲(chǔ)器(NAS)、只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、CD-ROM、CD-R、CD-RW、磁帶以及其他光學(xué)和非光學(xué)數(shù)據(jù)存儲(chǔ)裝置。計(jì)算機(jī)可讀介質(zhì)還可以分布在網(wǎng)絡(luò)耦合計(jì)算機(jī)系統(tǒng)上,使得計(jì)算機(jī)可讀代碼以分布式的方式被存儲(chǔ)和執(zhí)行。
[0054]然而,對(duì)于本領(lǐng)域技術(shù)人員來說將顯而易見的是,可以在沒有這些特定細(xì)節(jié)中的一些或全部的情況下實(shí)踐本發(fā)明。在其他的實(shí)例中,沒有詳細(xì)地描述公知的處理操作,以免不必要地混淆本發(fā)明。
[0055]盡管為了理解清楚的目的已經(jīng)相當(dāng)詳細(xì)地描述了前述發(fā)明,但是將顯而易見的是,可以在本發(fā)明的范圍內(nèi)實(shí)踐特定的改變和修改。相應(yīng)地,目前的實(shí)施例應(yīng)被認(rèn)為是說明性的而不是限制性的,且本發(fā)明不限于此處給出的細(xì)節(jié),但是可以在本發(fā)明的范圍內(nèi)加以修改。
【權(quán)利要求】
1.一種用于實(shí)現(xiàn)本地生成的過渡圖形與虛擬化主機(jī)計(jì)算機(jī)服務(wù)的交互的處理器實(shí)現(xiàn)方法,包括: 在客戶端裝置的顯示裝置處接收控制命令,該控制命令由用戶發(fā)布以控制當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù); 在客戶端裝置處識(shí)別與該控制命令相關(guān)聯(lián)的期望手勢(shì); 將與該控制命令相關(guān)聯(lián)的期望手勢(shì)傳輸?shù)街鳈C(jī)計(jì)算機(jī)服務(wù)以用于處理; 在客戶端裝置處接收針對(duì)在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)的更新屏幕數(shù)據(jù),該更新屏幕數(shù)據(jù)是作為處理該控制命令的結(jié)果而從主機(jī)計(jì)算機(jī)服務(wù)傳輸?shù)模? 在客戶端裝置處將從主機(jī)計(jì)算機(jī)服務(wù)接收的更新屏幕數(shù)據(jù)同與在客戶端裝置處識(shí)別的期望手勢(shì)相關(guān)聯(lián)的數(shù)據(jù)一起封裝,以在客戶端裝置處生成封裝的屏幕數(shù)據(jù);以及響應(yīng)于該控制命令,將封裝的屏幕數(shù)據(jù)返回給顯示裝置以進(jìn)行呈現(xiàn)。
2.如權(quán)利要求1的方法,其中該控制命令是通過輸入裝置接收的輸入命令。
3.如權(quán)利要求2的方法,其中該輸入裝置是由鍵盤、鼠標(biāo)和音頻構(gòu)成的組中的任一個(gè)。
4.如權(quán)利要求1的方法,其中該更新屏幕數(shù)據(jù)是作為幀緩沖數(shù)據(jù)從虛擬化主機(jī)計(jì)算機(jī)服務(wù)接收的。
5.如權(quán)利要求1的方法,其中識(shí)別期望手勢(shì)進(jìn)一步包括: 使用在客戶端裝置的顯示裝置處接收的控制命令,在客戶端裝置處查詢映射表;以及從映射表中選擇被映射到該控制命令的期望手勢(shì),該期望手勢(shì)識(shí)別與要在屏幕更新的呈現(xiàn)期間包括的過渡圖形相關(guān)的數(shù)據(jù)。
6.如權(quán)利要求1的方法,其中識(shí)別期望手勢(shì)進(jìn)一步包括: 使用在客戶端裝置的顯示裝置處接收的控制命令,在主機(jī)計(jì)算機(jī)服務(wù)處查詢映射表;以及 從映射表中選擇被映射到該控制命令的期望手勢(shì),該期望手勢(shì)識(shí)別與要在屏幕更新的呈現(xiàn)期間包括的過渡圖形相關(guān)的數(shù)據(jù)。
7.如權(quán)利要求1的方法,其中封裝更新屏幕數(shù)據(jù)進(jìn)一步包括: 從客戶端處的本地緩存中獲取與當(dāng)前在客戶端裝置處呈現(xiàn)的屏幕相關(guān)聯(lián)的當(dāng)前屏幕數(shù)據(jù); 由客戶端裝置攔截由主機(jī)計(jì)算機(jī)服務(wù)傳輸?shù)斤@示裝置的更新屏幕數(shù)據(jù); 在客戶端裝置處獲取與針對(duì)期望手勢(shì)的過渡圖形相關(guān)的數(shù)據(jù);以及將更新屏幕數(shù)據(jù)與與期望手勢(shì)相關(guān)的過渡圖形數(shù)據(jù)以及當(dāng)前屏幕數(shù)據(jù)一起封裝,以生成封裝的屏幕數(shù)據(jù),該封裝的屏幕數(shù)據(jù)被返回到顯示裝置以用于呈現(xiàn),其中,當(dāng)在顯示裝置處呈現(xiàn)時(shí),過渡圖形數(shù)據(jù)提供從當(dāng)前屏幕數(shù)據(jù)到更新屏幕數(shù)據(jù)的過渡。
8.一種用于使本地生成的手勢(shì)和過渡圖形能夠與虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的處理器實(shí)現(xiàn)方法,包括: 在客戶端裝置的顯示裝置處接收選擇命令,該選擇命令由用戶發(fā)布,請(qǐng)求對(duì)當(dāng)前在顯示裝置處呈現(xiàn)的當(dāng)前屏幕數(shù)據(jù)的更新; 傳輸該選擇命令到主機(jī)計(jì)算機(jī)服務(wù)以用于處理; 在客戶端裝置處接收針對(duì)在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù)的更新屏幕數(shù)據(jù),該更新屏幕數(shù)據(jù)是作為處理該選擇命令的結(jié)果從主機(jī)計(jì)算機(jī)服務(wù)傳輸?shù)?;接收要與來自主機(jī)計(jì)算機(jī)服務(wù)的更新屏幕數(shù)據(jù)一起呈現(xiàn)的期望手勢(shì),其中與由主機(jī)計(jì)算機(jī)服務(wù)裝置傳輸?shù)母缕聊粩?shù)據(jù)相對(duì)應(yīng)的期望手勢(shì)支配要在更新屏幕數(shù)據(jù)的呈現(xiàn)期間在顯示裝置處進(jìn)行的調(diào)整; 在客戶端裝置處將接收自主機(jī)計(jì)算機(jī)服務(wù)的更新屏幕數(shù)據(jù)同與接收自主機(jī)計(jì)算機(jī)服務(wù)的期望手勢(shì)相關(guān)聯(lián)的數(shù)據(jù)一起封裝,以生成封裝的屏幕數(shù)據(jù);以及 響應(yīng)于該選擇命令,返回封裝的屏幕數(shù)據(jù)給顯示裝置以用于呈現(xiàn),該封裝的屏幕數(shù)據(jù)在更新屏幕數(shù)據(jù)的呈現(xiàn)期間呈現(xiàn)期望手勢(shì)相關(guān)數(shù)據(jù)作為過渡。
9.如權(quán)利要求8的方法,其中該更新屏幕數(shù)據(jù)是作為幀緩沖數(shù)據(jù)而接收的。
10.如權(quán)利要求8的方法,其中識(shí)別期望手勢(shì)進(jìn)一步包括: 使用接收自客戶端裝置的選擇命令,查詢對(duì)主機(jī)計(jì)算機(jī)服務(wù)來說可用的映射表;以及從映射表中選擇被映射到選擇命令的期望手勢(shì),該期望手勢(shì)識(shí)別與要在屏幕更新的呈現(xiàn)期間包括的過渡圖形相關(guān)的數(shù)據(jù)。
11.如權(quán)利要求8的方法,其中封裝更新屏幕數(shù)據(jù)進(jìn)一步包括: 由客戶端裝置攔截由主機(jī)計(jì)算機(jī)服務(wù)傳輸?shù)斤@示裝置的更新屏幕數(shù)據(jù); 在客戶端裝置處獲取與針對(duì)期望手勢(shì)的過渡圖形相關(guān)的數(shù)據(jù);以及 將當(dāng)前屏幕數(shù)據(jù)同與期望手勢(shì)相關(guān)的過渡圖形數(shù)據(jù)一起封裝,以生成封裝的屏幕數(shù)據(jù),其中,該過渡圖形數(shù)據(jù)提供在客戶端裝置處更新屏幕數(shù)據(jù)的呈現(xiàn)期間的過渡。
12.如權(quán)利要求11的方法,進(jìn)一步包括: 從客戶端處的本地緩存中獲取與當(dāng)前在客戶端裝置處呈現(xiàn)的屏幕相關(guān)的當(dāng)詢屏幕數(shù)據(jù); 將當(dāng)前屏幕數(shù)據(jù)與封裝的更新屏幕數(shù)據(jù)整合,該整合提供在顯示裝置處更新屏幕數(shù)據(jù)的呈現(xiàn)期間的期望過渡。
13.一種用于使本地生成的手勢(shì)和過渡圖形能夠與虛擬化主機(jī)計(jì)算機(jī)服務(wù)進(jìn)行交互的系統(tǒng),包括: 執(zhí)行服務(wù)器側(cè)應(yīng)用的虛擬化主機(jī)計(jì)算機(jī)服務(wù)的服務(wù)器,該服務(wù)器側(cè)應(yīng)用被配置為:從客戶端裝置的顯示裝置接收控制命令,該控制命令由用戶發(fā)布以控制當(dāng)前在顯示裝置處呈現(xiàn)的屏幕數(shù)據(jù); 處理該控制命令以識(shí)別更新屏幕數(shù)據(jù),以用于返回給客戶端裝置來呈現(xiàn); 具有用于呈現(xiàn)屏幕數(shù)據(jù)的顯示裝置的客戶端裝置,該客戶端裝置執(zhí)行客戶端側(cè)應(yīng)用,該客戶端側(cè)應(yīng)用被配置為: 攔截從接收裝置獲得的控制命令以識(shí)別與該控制命令相關(guān)聯(lián)的期望手勢(shì); 傳輸與該控制命令相關(guān)聯(lián)的期望手勢(shì)給服務(wù)器側(cè)應(yīng)用以用于處理; 攔截從服務(wù)器側(cè)應(yīng)用傳輸?shù)斤@示裝置的更新屏幕數(shù)據(jù); 獲取當(dāng)前在顯示裝置處呈現(xiàn)的當(dāng)前屏幕數(shù)據(jù); 通過捆綁當(dāng)前屏幕數(shù)據(jù)、更新屏幕數(shù)據(jù)以及與期望手勢(shì)相關(guān)的過渡圖形來生成封裝的屏幕數(shù)據(jù);以及 返回封裝的屏幕數(shù)據(jù)給客戶端裝置的顯示裝置以用于呈現(xiàn),其中該封裝的屏幕數(shù)據(jù)包括提供從當(dāng)前屏幕數(shù)據(jù)到更新屏幕數(shù)據(jù)的過渡的過渡圖形。
14.如權(quán)利要求13的系統(tǒng),其中服務(wù)器側(cè)應(yīng)用進(jìn)一步被配置為通過將該控制命令轉(zhuǎn)換為一個(gè)或多個(gè)輸入裝置命令來處理該控制命令,該輸入裝置命令是在主機(jī)計(jì)算機(jī)服務(wù)處識(shí)別更新屏幕數(shù)據(jù)時(shí)使用的。
15.如權(quán)利要求13的系統(tǒng),進(jìn)一步包括:客戶端裝置處的第一本地緩存,用于存儲(chǔ)當(dāng)前在顯示裝置處呈現(xiàn)的當(dāng)前屏幕數(shù)據(jù);以及第二本地緩存,用于存儲(chǔ)接收自服務(wù)器側(cè)應(yīng)用的更新屏幕數(shù)據(jù)。
16.如權(quán)利要求13的系統(tǒng),進(jìn)一步包括:客戶端裝置處的映射表,用于存儲(chǔ)不同控制命令到不同手勢(shì)的映射。
17.如權(quán)利要求13的系統(tǒng),進(jìn)一步包括:服務(wù)器處的映射表,用于存儲(chǔ)不同控制命令到不同手勢(shì)的映射,該映射表對(duì)虛擬化主機(jī)計(jì)算機(jī)服務(wù)來說可用。
【文檔編號(hào)】H04M1/00GK103842982SQ201280034077
【公開日】2014年6月4日 申請(qǐng)日期:2012年6月8日 優(yōu)先權(quán)日:2011年6月8日
【發(fā)明者】S·D·維爾克, P·欣克斯 申請(qǐng)人:茨特里克斯系統(tǒng)公司