專(zhuān)利名稱(chēng):用于使用輕量級(jí)客戶(hù)端通過(guò)網(wǎng)絡(luò)來(lái)與虛擬化計(jì)算服務(wù)對(duì)接的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于利用輕量級(jí)客戶(hù)端通過(guò)短和長(zhǎng)距離訪問(wèn)、控制虛擬化計(jì)算機(jī)服務(wù)并且與該計(jì)算機(jī)服務(wù)對(duì)接的方法和系統(tǒng)。
背景技術(shù):
在虛擬環(huán)境中,通過(guò)硬件與軟件協(xié)議的組合遠(yuǎn)程訪問(wèn)和控制虛擬資源。虛擬環(huán)境包括多個(gè)如下動(dòng)態(tài)可縮放虛擬資源,通過(guò)因特網(wǎng)提供這些資源作為服務(wù)并且由于用于訪問(wèn)這樣的虛擬資源的下層技術(shù)的“云集(clouding)”而將這些資源適當(dāng)?shù)胤Q(chēng)為云服務(wù)??梢詫⒌湫吞摂M環(huán)境表征為計(jì)算硬件、管理程序(hypervisor)(該管理程序處于計(jì)算硬件上面并且提供對(duì)計(jì)算硬件的訪問(wèn))和多個(gè)客戶(hù)(虛擬機(jī)或者VM)(這些客戶(hù)處于管理程序上面,從而通過(guò)管理程序訪問(wèn)硬件)的匯集。多個(gè)客戶(hù)端用來(lái)連接到并且經(jīng)由協(xié)議遠(yuǎn)程控制虛擬環(huán)境內(nèi)的虛擬化計(jì)算機(jī)服務(wù)(或者簡(jiǎn)稱(chēng)為虛擬服務(wù))。使用冗余性消除和圖形指令重寫(xiě)在與·VM關(guān)聯(lián)的直接圖形流的壓縮/解壓中使用這些協(xié)議/或者協(xié)議派生以便實(shí)現(xiàn)比原始圖形流更低帶寬的通信。上述協(xié)議具有它們自己的限制和挑戰(zhàn)。一個(gè)明顯限制在于這些協(xié)議與一個(gè)或者多個(gè)具體平臺(tái)(圖形/操作系統(tǒng)層)捆綁從而要求操作系統(tǒng)或者圖形芯片與壓縮/解壓協(xié)議和諧。這意味著壓縮協(xié)議利用操作系統(tǒng)圖形的“上下文”,使得可以在虛擬環(huán)境內(nèi)的遠(yuǎn)程VM處解釋和執(zhí)行命令。此類(lèi)平臺(tái)特定協(xié)議的不利影響包括既在瘦客戶(hù)端中也在虛擬服務(wù)側(cè)處將大型CPU用于壓縮/解壓和解釋漸進(jìn)圖像以及難以處置長(zhǎng)距離WAN網(wǎng)絡(luò)連接的大量延遲。附加劣勢(shì)包括在某些境況中需要專(zhuān)門(mén)化芯片(圖形芯片)以對(duì)壓縮解碼以及在其他境況中的聞網(wǎng)絡(luò)消耗。此外,用于制定此類(lèi)基于平臺(tái)特定軟件的協(xié)議的基礎(chǔ)是通過(guò)操作系統(tǒng)圖形層驅(qū)動(dòng)快速性能。因而,操作系統(tǒng)圖形命令的直接解釋對(duì)于這樣的協(xié)議的設(shè)計(jì)而言是關(guān)鍵的,從而使它們的設(shè)計(jì)為平臺(tái)特定的,該設(shè)計(jì)被帶入虛擬機(jī)環(huán)境中。定制的協(xié)議的另一確定在于它們的復(fù)雜性使它們與許多輕量級(jí)客戶(hù)端設(shè)備(諸如低功率瘦客戶(hù)端或者移動(dòng)智能電話類(lèi)設(shè)備)不兼容。正是在這一背景中出現(xiàn)本發(fā)明的實(shí)施例。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供用于實(shí)現(xiàn)利用輕量級(jí)或者非輕量級(jí)計(jì)算設(shè)備通過(guò)短和長(zhǎng)距離來(lái)訪問(wèn)、控制虛擬化計(jì)算機(jī)服務(wù)并且與該虛擬化計(jì)算機(jī)服務(wù)對(duì)接的多個(gè)方法和配置。在一個(gè)實(shí)施例中,該方法并入如下系統(tǒng)中,該系統(tǒng)包括在管理程序上運(yùn)行的多個(gè)虛擬機(jī)的虛擬基礎(chǔ)設(shè)施而虛擬機(jī)中的至少一個(gè)虛擬機(jī)執(zhí)行圖像處理器算法。管理程序與虛擬機(jī)的相應(yīng)操作系統(tǒng)交互。圖像處理器算法被配置成從客戶(hù)端接收針對(duì)連接到虛擬機(jī)的請(qǐng)求、管理連接并且提供請(qǐng)求的計(jì)算機(jī)服務(wù)。
在一個(gè)實(shí)施例中,連接請(qǐng)求包括定義連接要求的多個(gè)連接參數(shù)和與客戶(hù)端關(guān)聯(lián)的其他環(huán)境參數(shù)。客戶(hù)端的請(qǐng)求是為了獲得訪問(wèn)并且遠(yuǎn)程控制在虛擬基礎(chǔ)設(shè)施內(nèi)的具體虛擬機(jī)上可用的虛擬機(jī)計(jì)算機(jī)服務(wù)。在接收連接請(qǐng)求時(shí),在與具體虛擬機(jī)不同的虛擬機(jī)上執(zhí)行的圖像處理器算法分析連接參數(shù)以標(biāo)識(shí)與虛擬化計(jì)算機(jī)服務(wù)關(guān)聯(lián)的具體虛擬機(jī)并且與管理程序交互以從與具體虛擬機(jī)關(guān)聯(lián)的存儲(chǔ)器獲得幀緩沖器數(shù)據(jù)。來(lái)自存儲(chǔ)器的幀緩沖器數(shù)據(jù)定義具體虛擬機(jī)的虛擬機(jī)顯示器的圖像 的圖形輸出。虛擬機(jī)中的算法處理幀緩沖器數(shù)據(jù)并且格式化成圖像數(shù)據(jù)分組。基于傳送(傳輸)協(xié)議進(jìn)一步對(duì)圖像數(shù)據(jù)分組進(jìn)行封包。然后使用傳送協(xié)議向客戶(hù)端傳輸圖像數(shù)據(jù)分組用于在客戶(hù)端的顯示器設(shè)備處表現(xiàn)。表現(xiàn)的輸出呈現(xiàn)虛擬機(jī)顯示器的圖像或者部分圖像,包括在具體虛擬機(jī)處當(dāng)前執(zhí)行或者表現(xiàn)的圖元或者非圖元、程序和其他元素的顯示。算法提供通過(guò)經(jīng)由管理程序而不是操作系統(tǒng)或者圖形卡直接訪問(wèn)幀緩沖器數(shù)據(jù)來(lái)傳輸虛擬機(jī)顯示器的高性能圖像的能力。因而獲得圖像而無(wú)來(lái)自操作系統(tǒng)或者圖形層的任何直接或者先前指令,因此使算法操作系統(tǒng)和圖形卡獨(dú)立。由于使用在客戶(hù)端上無(wú)需復(fù)雜處理的簡(jiǎn)單傳輸協(xié)議來(lái)封包和傳輸分組,所以傳輸服務(wù)可以利用智能跟蹤和重傳技術(shù)。當(dāng)前實(shí)施例使客戶(hù)端能夠從近和遠(yuǎn)距離與虛擬服務(wù)交互。圖形輸出包括可以在客戶(hù)端處容易解壓、處理和表現(xiàn)的圖像數(shù)據(jù)、由此使很瘦客戶(hù)端能夠獲得對(duì)虛擬服務(wù)的訪問(wèn)和控制。簡(jiǎn)單傳送協(xié)議對(duì)帶寬改變、延遲和損失敏感并且自適應(yīng)。這里呈現(xiàn)若干不同實(shí)施例作為示例。在一個(gè)實(shí)施例中,公開(kāi)了一種用于通過(guò)客戶(hù)端遠(yuǎn)程控制虛擬化計(jì)算機(jī)服務(wù)(或者簡(jiǎn)稱(chēng)為“虛擬服務(wù)”)的方法。該方法包括從客戶(hù)端接收針對(duì)控制在虛擬中心內(nèi)的具體虛擬機(jī)處可用的虛擬服務(wù)的連接請(qǐng)求。該連接請(qǐng)求包括多個(gè)連接參數(shù),多個(gè)連接參數(shù)描述客戶(hù)端的連接要求,并且連接請(qǐng)求是在執(zhí)行圖像處理器算法的虛擬機(jī)處接收的。圖像處理器算法詢(xún)問(wèn)連接參數(shù)以標(biāo)識(shí)幀緩沖器和傳輸參數(shù)。通過(guò)管理程序直接訪問(wèn)來(lái)自虛擬中心內(nèi)的虛擬存儲(chǔ)器中的預(yù)定位置的用于具體虛擬機(jī)的幀緩沖器數(shù)據(jù)。幀緩沖器數(shù)據(jù)定義圖形輸出,該圖形輸出代表與具體虛擬機(jī)關(guān)聯(lián)的虛擬機(jī)顯示器關(guān)聯(lián)的圖像。使用圖像處理器算法基于多個(gè)連接參數(shù)將幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組并且傳輸?shù)娇蛻?hù)端用于在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上表現(xiàn)。表現(xiàn)的圖形輸出在客戶(hù)端處呈現(xiàn)用于標(biāo)識(shí)的虛擬機(jī)的虛擬機(jī)顯示器的圖像。在又一實(shí)施例中,公開(kāi)一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的方法。該方法包括從客戶(hù)端接收針對(duì)控制虛擬化計(jì)算機(jī)服務(wù)的連接請(qǐng)求。該連接請(qǐng)求是在執(zhí)行圖像處理器算法的虛擬機(jī)接收的并且包括多個(gè)連接參數(shù),多個(gè)連接參數(shù)定義客戶(hù)端的連接要求。使用圖像處理器算法來(lái)詢(xún)問(wèn)連接參數(shù)以標(biāo)識(shí)具體服務(wù)層和標(biāo)識(shí)的服務(wù)層內(nèi)的具體虛擬機(jī),具體服務(wù)層提供請(qǐng)求的服務(wù)類(lèi)型,具體虛擬機(jī)用于提供滿(mǎn)足來(lái)自客戶(hù)端的連接請(qǐng)求的虛擬化計(jì)算機(jī)服務(wù)。該方法包括連接到標(biāo)識(shí)的服務(wù)層并且通過(guò)管理程序直接訪問(wèn)來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的用于具體服務(wù)層內(nèi)的具體VM的幀緩沖器數(shù)據(jù)。基于多個(gè)連接參數(shù)使用圖像處理器算法將訪問(wèn)的幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組并且傳輸?shù)娇蛻?hù)端用于呈現(xiàn)。向客戶(hù)端傳輸?shù)膱D像數(shù)據(jù)分組特定于客戶(hù)端并且代表具體虛擬機(jī)的虛擬機(jī)顯示器的圖像。在另一實(shí)施例中,公開(kāi)一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的方法。該方法包括在虛擬中心內(nèi)的至少一個(gè)虛擬機(jī)上提供圖像處理器算法,在虛擬中心內(nèi)多個(gè)虛擬機(jī)在管理程序上執(zhí)行。處理在執(zhí)行圖像處理器算法的虛擬機(jī)處接收的連接請(qǐng)求以標(biāo)識(shí)多個(gè)連接參數(shù)和具體虛擬機(jī),多個(gè)連接參數(shù)定義與客戶(hù)端關(guān)聯(lián)的連接要求,具體虛擬機(jī)可以滿(mǎn)足連接請(qǐng)求。通過(guò)管理程序直接訪問(wèn)和讀取來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的用于標(biāo)識(shí)的虛擬機(jī)的幀緩沖器數(shù)據(jù)?;谶B接參數(shù)使用圖像處理器算法來(lái)為讀取的幀緩沖器數(shù)據(jù)生成特定用于客戶(hù)端的多個(gè)圖像數(shù)據(jù)分組。生成的圖像數(shù)據(jù)分組包括與讀取的幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文信息。向客戶(hù)端傳輸定義圖形輸出的圖像數(shù)據(jù)分組用于在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備處表現(xiàn)。表現(xiàn)的圖像數(shù)據(jù)分組在客戶(hù)端處代表與標(biāo)識(shí)的虛擬機(jī)關(guān)聯(lián)的虛擬圖像顯示器的圖像。在本發(fā)明的另一實(shí)施例中,公開(kāi)一種用于向用戶(hù)提供對(duì)計(jì)算簡(jiǎn)檔的訪問(wèn)的方法。計(jì)算簡(jiǎn)檔定義用于用戶(hù)的桌面,其中桌面提供對(duì)用戶(hù)的應(yīng)用和數(shù)據(jù)的訪問(wèn)。該方法包括從客戶(hù)端請(qǐng)求通過(guò)因特網(wǎng)連接到計(jì)算簡(jiǎn)檔的連接。響應(yīng)于請(qǐng)求的連接來(lái)標(biāo)識(shí)用于計(jì)算簡(jiǎn)檔的具體虛擬機(jī)。標(biāo)識(shí)和讀取用于標(biāo)識(shí)的虛擬機(jī)的幀緩沖器數(shù)據(jù)?;趶钠溥M(jìn)行連接請(qǐng)求的客戶(hù)端的特性來(lái)處理幀緩沖器數(shù)據(jù)以產(chǎn)生圖像數(shù)據(jù)分組。向客戶(hù)端轉(zhuǎn)發(fā)圖像數(shù)據(jù)分組,其中處理并且在與客戶(hù)端關(guān)聯(lián)的顯示器上呈現(xiàn)圖像數(shù)據(jù)分組。在會(huì)話期間,在交換客戶(hù)端與虛擬機(jī)之間的通信時(shí)繼續(xù)讀取、處理并且向客戶(hù)端轉(zhuǎn)發(fā)幀緩沖器數(shù)據(jù)(在該客戶(hù)端處理幀緩 沖器數(shù)據(jù))的過(guò)程。在另一實(shí)施例中,公開(kāi)一種用于提供對(duì)虛擬機(jī)(VM)的會(huì)話的訪問(wèn)的方法。該方法包括以下操作獲得對(duì)VM的會(huì)話的訪問(wèn);標(biāo)識(shí)用于VM的幀緩沖器數(shù)據(jù);讀取并且基于客戶(hù)端的特性來(lái)處理幀緩沖器數(shù)據(jù)以產(chǎn)生圖像數(shù)據(jù)分組;向客戶(hù)端轉(zhuǎn)發(fā)圖像數(shù)據(jù)分組,圖像數(shù)據(jù)分組是針對(duì)客戶(hù)端的特性而產(chǎn)生的;在客戶(hù)端與VM之間交換反向信道(backchannel)通信時(shí)在會(huì)話期間重復(fù)讀取、處理和轉(zhuǎn)發(fā)圖像數(shù)據(jù)分組的操作。通過(guò)與附圖和權(quán)利要求書(shū)結(jié)合的下文詳細(xì)描述將容易理解本發(fā)明。
通過(guò)與附圖結(jié)合的下文詳細(xì)描述將容易理解本發(fā)明。
圖I示出了在虛擬環(huán)境中遠(yuǎn)程訪問(wèn)和控制虛擬化計(jì)算機(jī)服務(wù)中使用的常規(guī)系統(tǒng)的框圖。圖2-1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在虛擬環(huán)境中遠(yuǎn)程訪問(wèn)和控制虛擬化計(jì)算機(jī)服務(wù)中使用的系統(tǒng)的框圖。圖2-2和2-3示出了圖2-1中描繪的本發(fā)明的替代實(shí)施例。圖2A圖示了常規(guī)視頻卡的工作的簡(jiǎn)單框圖。圖2B圖示了如下簡(jiǎn)單框圖,該框圖描繪了在本發(fā)明一個(gè)實(shí)施例中的管理程序在訪問(wèn)與虛擬機(jī)關(guān)聯(lián)的監(jiān)視器的虛擬圖像中的工作。圖2C-l、2C-2和2C-3圖示了本發(fā)明替代實(shí)施例中的捕獲幀緩沖器數(shù)據(jù)的過(guò)程的簡(jiǎn)單框圖。圖2D圖示了在對(duì)幀緩沖器數(shù)據(jù)進(jìn)行封包并且向客戶(hù)端傳輸數(shù)據(jù)分組中執(zhí)行LFP的圖像處理器的工作的簡(jiǎn)單框圖。圖2E圖示了本發(fā)明一個(gè)實(shí)施例中的根據(jù)具體客戶(hù)端的幀緩沖器數(shù)據(jù)的樣本封包化。圖2F圖示了從各種源接收和表現(xiàn)的幀緩沖器數(shù)據(jù)的類(lèi)型和形式。圖2F-1圖示了其中通過(guò)帶內(nèi)通信來(lái)接收和表現(xiàn)來(lái)自各種源的幀緩沖器數(shù)據(jù)的一個(gè)實(shí)施例。圖2F-2圖示了其中在客戶(hù)端的顯示器設(shè)備處接收和表現(xiàn)帶外幀緩沖器數(shù)據(jù)的一個(gè)實(shí)施例。圖3A是標(biāo)識(shí)本發(fā)明一個(gè)實(shí)施例中的圖像處理器算法內(nèi)的各種模塊和在各種模塊、客戶(hù)端和服務(wù)之間的交互的簡(jiǎn)化框圖。圖3B圖示了標(biāo)識(shí)本發(fā)明一個(gè)實(shí)施例中的在系統(tǒng)的各種模塊和部件之間的詳細(xì)信息流的框圖。圖4是定義根據(jù)本發(fā)明一個(gè)實(shí)施例的在計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程訪問(wèn)和控制中使用的掃描引擎內(nèi)的過(guò)程流程的框圖。圖5是定義根據(jù)本發(fā)明一個(gè)實(shí)施例的在計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程訪問(wèn)和控制中使用的熱引擎(heat engine)內(nèi)的過(guò)程流程的框圖。圖6是定義根據(jù)本發(fā)明一個(gè)實(shí)施例的在計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程訪問(wèn)和控制中使用的上下文引擎內(nèi)的過(guò)程流程的框圖。 圖7圖示了定義根據(jù)本發(fā)明一個(gè)實(shí)施例的在計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程訪問(wèn)和控制中使用的邏輯弓I擎內(nèi)的過(guò)程流程的框圖。圖7A、7B和7C圖示了如下框圖,這些框圖描繪幀緩沖器數(shù)據(jù)的管理。圖8圖示了定義根據(jù)本發(fā)明一個(gè)實(shí)施例的在計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程訪問(wèn)和控制中使用的連接引擎內(nèi)的過(guò)程流程的框圖。圖9圖示了定義根據(jù)本發(fā)明一個(gè)實(shí)施例的在計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程訪問(wèn)和控制中使用的輸出引擎內(nèi)的過(guò)程流程的框圖。圖10圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的與圖像處理器算法的各種部件交互的瘦客戶(hù)端的框圖。圖11圖示了本發(fā)明一個(gè)實(shí)施例中的用于訪問(wèn)在不同層中賦予的虛擬化計(jì)算機(jī)服務(wù)的簡(jiǎn)化框圖。圖12A-1和12A-2圖示了本發(fā)明一個(gè)實(shí)施例中的用于便攜計(jì)算設(shè)備(諸如膝上計(jì)算機(jī)或者移動(dòng)設(shè)備)通過(guò)入塢來(lái)訪問(wèn)虛擬環(huán)境內(nèi)的虛擬化計(jì)算機(jī)服務(wù)的方式。圖12B圖示了本發(fā)明一個(gè)實(shí)施例中的用于訪問(wèn)虛擬環(huán)境內(nèi)的虛擬化計(jì)算機(jī)服務(wù)的PC上的閃存驅(qū)動(dòng)器。圖12C圖示了本發(fā)明一個(gè)替代實(shí)施例中的使用無(wú)線高保真(Wi-Fi)系統(tǒng)來(lái)訪問(wèn)虛擬環(huán)境內(nèi)的虛擬化計(jì)算機(jī)服務(wù)的個(gè)人數(shù)字助理(PDA )。圖13圖示了本發(fā)明一個(gè)實(shí)施例中的為了從遠(yuǎn)程客戶(hù)端控制虛擬化計(jì)算機(jī)服務(wù)而涉及到的各種步驟的過(guò)程流程圖。
具體實(shí)施例方式現(xiàn)在將描述用于遠(yuǎn)程控制虛擬環(huán)境內(nèi)的計(jì)算機(jī)系統(tǒng)的若干示例性實(shí)施例。本領(lǐng)域技術(shù)人員將清楚,無(wú)這里闡述的具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)仍可實(shí)現(xiàn)本發(fā)明。本發(fā)明定義實(shí)現(xiàn)通過(guò)遠(yuǎn)程客戶(hù)端訪問(wèn)和管理在虛擬環(huán)境內(nèi)的虛擬機(jī)處可用的虛擬化計(jì)算機(jī)服務(wù)(或者簡(jiǎn)稱(chēng)為“虛擬服務(wù)”)的方法、系統(tǒng)、計(jì)算機(jī)代碼。實(shí)施例提供用于在虛擬環(huán)境內(nèi)使用算法(諸如在虛擬機(jī)(諸如服務(wù)器虛擬機(jī))中嵌入的圖像處理器算法)來(lái)建立與虛擬服務(wù)的連接的方式。當(dāng)在服務(wù)器虛擬機(jī)(SVM)處接收針對(duì)虛擬服務(wù)的請(qǐng)求時(shí),SVM中的算法與虛擬環(huán)境中的管理程序(多個(gè)虛擬機(jī)在該管理程序之上運(yùn)行)交互以標(biāo)識(shí)提供虛擬服務(wù)的虛擬機(jī)(VM)。在標(biāo)識(shí)VM時(shí),算法通過(guò)管理程序訪問(wèn)和讀取來(lái)自標(biāo)識(shí)的VM的存儲(chǔ)器的如下幀緩沖器數(shù)據(jù),該幀緩沖器數(shù)據(jù)定義如下圖形輸出,該圖形輸出代表標(biāo)識(shí)的VM的虛擬監(jiān)視器的圖像。算法處理幀緩沖器數(shù)據(jù)、將幀緩沖器數(shù)據(jù)封包成分組并且使用簡(jiǎn)單傳送協(xié)議向客戶(hù)端發(fā)送封包的幀緩沖器數(shù)據(jù)用于在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備處表現(xiàn)。通過(guò)SVM和管理程序捕獲在客戶(hù)端的顯示器設(shè)備處的針對(duì)表現(xiàn)的幀緩沖器數(shù)據(jù)的用戶(hù)交互并且將該用戶(hù)交互重定向到標(biāo)識(shí)的VM,其中該交互被處理,因此向虛擬服務(wù)提供控制。提供對(duì)控制虛擬服務(wù)的圖形訪問(wèn)而不從標(biāo)識(shí)的虛擬機(jī)的操作系統(tǒng)或者圖形卡接收任 何指令。由于用于控制虛擬服務(wù)的訪問(wèn)是通過(guò)捕獲圖形輸出而不是通過(guò)來(lái)自操作系統(tǒng)/圖形卡的任何指令,所以實(shí)施例定義一種用于控制在每個(gè)虛擬機(jī)處可用的虛擬服務(wù)的獨(dú)立于平臺(tái)的解決方案,由此提供靈活和有效工具??梢宰g解(decipher)/解壓封包的圖形輸出而不必使用復(fù)雜計(jì)算/處理,從而使甚至很瘦客戶(hù)端也能夠訪問(wèn)和控制虛擬服務(wù)。簡(jiǎn)單傳送協(xié)議使客戶(hù)端能夠通過(guò)長(zhǎng)距離或者短距離訪問(wèn)和控制虛擬服務(wù),從而更自然地應(yīng)對(duì)延遲和有損網(wǎng)絡(luò)情形。由于算法與管理程序交互以提取顯示器的虛擬圖像并且不與操作系統(tǒng)交互以從操作系統(tǒng)取回指令,所以可以避免在客戶(hù)端處需要強(qiáng)大處理器以譯解/解壓圖形語(yǔ)目指令。算法的工作對(duì)于虛擬機(jī)的操作系統(tǒng)而言透明。管理程序?yàn)樗蠽M提供存儲(chǔ)器管理并且使用來(lái)自客戶(hù)端提供的連接參數(shù)的信息和來(lái)自存儲(chǔ)器管理的信息以標(biāo)識(shí)適當(dāng)VM和用于標(biāo)識(shí)的VM的如下具體存儲(chǔ)器位置,該存儲(chǔ)器位置提供代表用于標(biāo)識(shí)的VM的顯示器的虛擬圖像的信息。將參照?qǐng)D2A和2B詳細(xì)描述管理程序和其他部件的如下作用,該作用是獲得對(duì)幀緩沖器數(shù)據(jù)的訪問(wèn)。為了完全理解各種實(shí)施例的優(yōu)勢(shì),將首先詳細(xì)描述遍及本申請(qǐng)使用的一組術(shù)語(yǔ)。提供這些定義作為關(guān)于術(shù)語(yǔ)的一般指導(dǎo),但是決不應(yīng)限制與之關(guān)聯(lián)的變化或者等同物。a. “瘦客戶(hù)端”如在本申請(qǐng)中使用的那樣是軟件或者硬件設(shè)備,其中可以在另一計(jì)算機(jī)(通常在服務(wù)器、遠(yuǎn)程計(jì)算機(jī)或者在另一聯(lián)網(wǎng)計(jì)算設(shè)備處)處部分完成計(jì)算。也稱(chēng)為消瘦、苗條或者啞客戶(hù)端的瘦客戶(hù)端包括接口(軟件瘦客戶(hù)端)或者極少的計(jì)算資源(硬件瘦客戶(hù)端)并且可以甚至不包括硬件驅(qū)動(dòng)。在一些實(shí)施例中,如在智能電話、個(gè)人數(shù)字助理、平板計(jì)算機(jī)、移動(dòng)電話、終端等上常見(jiàn)的那樣,固態(tài)存儲(chǔ)器和儲(chǔ)存器是足夠的。在一個(gè)實(shí)施例中,瘦客戶(hù)端可以依賴(lài)于它的服務(wù)器計(jì)算機(jī)來(lái)提供存儲(chǔ)和其他資源能力,從而使設(shè)備操作起來(lái)更像終端(即屏幕、鍵盤(pán)和輸入設(shè)備)。很瘦客戶(hù)端如下終端,其中關(guān)聯(lián)服務(wù)器(或者聯(lián)網(wǎng)計(jì)算設(shè)備)提供多數(shù)計(jì)算。很瘦客戶(hù)端的示例包括計(jì)算機(jī)終端或者顯示器接口。如果胖客戶(hù)端(即具有所有標(biāo)準(zhǔn)獨(dú)立硬件和軟件的客戶(hù)端)連接到遠(yuǎn)程計(jì)算機(jī)并且遠(yuǎn)程計(jì)算機(jī)完成多數(shù)處理或者為特定計(jì)算會(huì)話提供服務(wù),則胖客戶(hù)端也可以作為瘦客戶(hù)端來(lái)操作。b. “遠(yuǎn)程”訪問(wèn)客戶(hù)端如在本申請(qǐng)中使用的那樣指代與在虛擬中心內(nèi)的管理程序上執(zhí)行的SVM和VM共同定位或者非共同定位而又使用網(wǎng)絡(luò)連接(諸如因特網(wǎng))通過(guò)SVM訪問(wèn)VM的客戶(hù)端。即使客戶(hù)端在物理上位于硬件或者服務(wù)器旁邊,遠(yuǎn)程訪問(wèn)仍然可以是遠(yuǎn)程的,只要可以建立聯(lián)網(wǎng)(有線或者無(wú)線)的連接。例如用戶(hù)可以通過(guò)蜂窩電話接口登入他的或者她的桌面計(jì)算機(jī),但是用戶(hù)事實(shí)上可以在桌面計(jì)算機(jī)的相同位置或者相隔半個(gè)世界。c. “重新格式化”如在本申請(qǐng)中使用的那樣是如下過(guò)程,其中將以具體格式(諸如依賴(lài)于操作系統(tǒng)(OS)的格式)原先定義的數(shù)據(jù)重新定義成算法規(guī)定的格式。算法定義的格式未與任何OS特定格式綁定,但是可以是可以使用非復(fù)雜解壓協(xié)議來(lái)譯解的更通用類(lèi)型??梢栽跀?shù)據(jù)的重新格式化中使用的示例OS特定格式包括但不限于用于Linux 、OSX 、BeOS 、AIX 、MVS 、Windows 等的幀緩沖器格式。d. “重定向”如在本申請(qǐng)中使用的那樣指代將來(lái)自預(yù)定義位置的數(shù)據(jù)向算法定義的新位置重新尋路由的過(guò)程。例如來(lái)自特定虛擬機(jī)的數(shù)據(jù)通常存儲(chǔ)于相應(yīng)虛擬存儲(chǔ)器中。在本發(fā)明中,本地尋找第二虛擬機(jī)(VM2)的存儲(chǔ)器的第一虛擬機(jī)(VMl)通過(guò)管理程序獲得對(duì)第二虛擬機(jī)的實(shí)際存儲(chǔ)器空間的訪問(wèn)??梢栽诘谝惶摂M機(jī)的本地存儲(chǔ)器處讀取和處理第二虛擬機(jī)的存儲(chǔ)器中的數(shù)據(jù)。管理程序如業(yè)內(nèi)公知的那樣具有向一個(gè)VM提供對(duì)另一 VM的設(shè)備/資源的訪問(wèn)的能力。e.虛擬化計(jì)算機(jī)服務(wù)(或者“虛擬服務(wù)”)如在本申請(qǐng)中使用的那樣指代虛擬機(jī)提供的涵蓋與硬件和軟件有關(guān)的服務(wù)兩者的服務(wù)。在每個(gè)虛擬機(jī)處可用的虛擬服務(wù)中的一些虛擬服務(wù)包括但不限于在虛擬機(jī)處執(zhí)行的和/或用來(lái)訪問(wèn)硬件資源的共享物理硬件資源、軟件接口和程序。虛擬服務(wù)可以提供針對(duì)遠(yuǎn)程桌面、計(jì)算機(jī)程序的遠(yuǎn)程處理、遠(yuǎn)程游戲、遠(yuǎn)程托管的娛樂(lè)數(shù)字視頻記錄(DVR)、個(gè)人視頻記錄(PVR)和對(duì)基于數(shù)據(jù)中心的服務(wù)的一般訪問(wèn)(包括對(duì)在向用戶(hù)分配的儲(chǔ)存器中存儲(chǔ)的文件、通信程序、視頻、圖像、圖片、數(shù)據(jù)和元數(shù)據(jù)的訪問(wèn))的表現(xiàn)。f. “封包”如在本申請(qǐng)中使用的那樣指代數(shù)據(jù)分組,數(shù)據(jù)分組是通過(guò)數(shù)字網(wǎng)絡(luò)通信的基本單元。不同協(xié)議將不同結(jié)構(gòu)用于封包數(shù)據(jù)。格式化(處理)數(shù)據(jù)以符合與算法并且與用于參與在服務(wù)器虛擬機(jī)與客戶(hù)端之間傳輸數(shù)據(jù)的傳輸協(xié)議關(guān)聯(lián)的具體協(xié)議。傳輸協(xié)議根 據(jù)數(shù)據(jù)類(lèi)型提供用于分組的結(jié)構(gòu)并且可以例如包括源因特網(wǎng)協(xié)議(IP)地址、目的地IP地址、分組的序列號(hào)、服務(wù)類(lèi)型、標(biāo)志等。g. “服務(wù)器虛擬機(jī)”(SVM)如在本申請(qǐng)中使用的那樣指代管理其他虛擬機(jī)與客戶(hù)端的交互的虛擬機(jī)。SVM包括VM的所有部件并且被配置成提供與在客戶(hù)端-服務(wù)器計(jì)算機(jī)系統(tǒng)中朝向客戶(hù)端的服務(wù)器相似的功能(諸如提供客戶(hù)端請(qǐng)求的信息)。SVM通過(guò)訪問(wèn)對(duì)應(yīng)VM的具體存儲(chǔ)器空間來(lái)提供該信息。SVM配備有如下算法(諸如圖像訪問(wèn)算法),該算法使SVM能夠通過(guò)管理程序獲得對(duì)相應(yīng)虛擬機(jī)的存儲(chǔ)器的訪問(wèn)。應(yīng)當(dāng)注意,無(wú)需在具體VM (諸如SVM)處提供用于訪問(wèn)VM的存儲(chǔ)器的算法,但是可以使算法在虛擬中心中運(yùn)行的每個(gè)VM處可用,這時(shí)每個(gè)VM充當(dāng)管理其他VM的存儲(chǔ)器的SVM。h. “幀緩沖器信息”或者“幀緩沖器數(shù)據(jù)”如在本申請(qǐng)中使用的那樣指代通常為了在虛擬機(jī)的虛擬機(jī)顯示器處呈現(xiàn)而由OS生成的視頻輸出數(shù)據(jù)。OS以具體格式生成數(shù)據(jù)并且由代表每個(gè)如下像素的位圖數(shù)據(jù)構(gòu)成,該像素定義虛擬機(jī)顯示器屏幕上表現(xiàn)的各種元素、特征、圖像??缭綌?shù)據(jù)的整個(gè)屏幕從左到右、從上到下跟蹤和刷新幀緩沖器數(shù)據(jù)。每個(gè)像素被定義成包括顏色、深度、大小等,從而捕獲屏幕的每個(gè)細(xì)節(jié)。幀緩沖器信息定義計(jì)算系統(tǒng)(諸如虛擬機(jī))的具體存儲(chǔ)器部分中存儲(chǔ)的圖形數(shù)據(jù),該數(shù)據(jù)原先預(yù)定用于在虛擬機(jī)顯示器屏幕上表現(xiàn)。i.連接參數(shù)如在本申請(qǐng)中使用的那樣定義如下客戶(hù)端特性,這些特性包括客戶(hù)端的連接要求和其他環(huán)境要求。通常在與客戶(hù)端的初始握手期間獲得連接參數(shù),并且這些連接參數(shù)可以包括客戶(hù)端的位置(諸如始發(fā)IP地址)、連接能力信息(包括大小和質(zhì)量)、希望連接的虛擬服務(wù)位置(諸如目的地IP地址)、客戶(hù)端類(lèi)型、與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備的配置(包括分辨率、位深度、刷新率)、服務(wù)層標(biāo)識(shí)等。為了促進(jìn)理解各種實(shí)施例,將首先描述在常規(guī)過(guò)程中使用的虛擬計(jì)算機(jī)環(huán)境的基本基礎(chǔ)設(shè)施的簡(jiǎn)要描述,繼而為在當(dāng)前發(fā)明的實(shí)施例中用于遠(yuǎn)程控制虛擬服務(wù)的基本基礎(chǔ)設(shè)施內(nèi)的新穎特征的詳細(xì)描述。圖I圖示了用于在虛擬環(huán)境內(nèi)提供虛擬化計(jì)算機(jī)服務(wù)(計(jì)算機(jī)系統(tǒng)或者簡(jiǎn)稱(chēng)為“虛擬服務(wù)”)的訪問(wèn)和控制的常規(guī)過(guò)程所使用的典型虛擬基礎(chǔ)設(shè)施的簡(jiǎn)單框圖。虛擬環(huán)境包括由在管理程序上運(yùn)行的多個(gè)虛擬機(jī)(VM)共享的物理硬件的匯集。管理程序或者虛擬機(jī)監(jiān)視器是允許多個(gè)操作系統(tǒng)在主機(jī)計(jì)算機(jī)上并行運(yùn)行的計(jì)算機(jī)平臺(tái)虛擬化軟件。管理程序提供在共享硬件與VM之間的接口。管理程序在業(yè)內(nèi)是公知的并且因此在本申請(qǐng)中不詳細(xì)描述。多個(gè)客戶(hù)端使用專(zhuān)用協(xié)議(聊舉數(shù)例,諸如遠(yuǎn)程桌面協(xié)議(RDP)、因特網(wǎng)協(xié)議PC (PC0IP)、遠(yuǎn)程圖形軟件協(xié)議(RGS)、獨(dú)立計(jì)算架構(gòu)協(xié)議(ICA))來(lái)訪問(wèn)在VM處可用的虛擬資源??蛻?hù)端可以是瘦客戶(hù)端(諸如低檔計(jì)算機(jī)終端)或者胖客戶(hù)端(諸如桌面計(jì)算機(jī)、膝上計(jì)算機(jī)等)??蛻?hù)端使用服務(wù)或連接代理來(lái)訪問(wèn)在具體VM處可用的虛擬資源。服務(wù)代理是如下目錄服務(wù),該目錄服務(wù)基于在客戶(hù)端的請(qǐng)求中提供的環(huán)境參數(shù)來(lái)提供不同VM到各種客戶(hù)端的映射。服務(wù)代理使用映射或者連接信息以確定如下具體VM,該具體VM將向客戶(hù)端提供請(qǐng)求的服務(wù)從而使客戶(hù)端能夠使用適當(dāng)協(xié)議來(lái)直接訪問(wèn)對(duì)應(yīng)操作系統(tǒng)(OS)并且與該OS交互。因此,為了客戶(hù)端訪問(wèn)來(lái)自對(duì)應(yīng)VM的信息,客戶(hù)端需要理解和遵循對(duì)應(yīng)OS協(xié)議。OS提供在客戶(hù)端處遵循OS協(xié)議使用客戶(hù)端的處理器來(lái)處理的指令集。常規(guī)過(guò)程的方式是基于來(lái)自對(duì)應(yīng)OS的指令集在客戶(hù)端上重新創(chuàng)建在VM處實(shí)際上有的內(nèi)容,使得用戶(hù)將有權(quán)訪問(wèn)在VM處發(fā)生的內(nèi)容。這一方式造成在數(shù)據(jù)交換的兩端處一在相應(yīng)VM處和在客戶(hù)端處具有強(qiáng)大處理器用于壓縮和解壓數(shù)據(jù)/信息,從而嚴(yán)重限制瘦客戶(hù)端的大小和功能。另外,常規(guī)方式非常以平臺(tái)/圖形層為中心,從而依賴(lài)于OS/圖形卡以給予如下指令,這些指令用于在客戶(hù)端的顯示器設(shè)備處重新創(chuàng)建在VM的監(jiān)視器上提供的信息以便控制在VM處的計(jì)算機(jī)系統(tǒng)/服務(wù)。為了克服常規(guī)過(guò)程的限制,當(dāng)前發(fā)明的一些實(shí)施例在運(yùn)行于管理程序上的虛擬機(jī)(諸如服務(wù)器虛擬機(jī))內(nèi)使用如下算法(諸如圖像處理器算法),該算法與管理程序交互以獲得如下圖像,該圖像代表第二虛擬機(jī)(VM)的虛擬機(jī)顯示器的圖形輸出。封包并且向客戶(hù)端轉(zhuǎn)發(fā)該圖形輸出用于表現(xiàn)。表現(xiàn)的圖形輸出提供對(duì)第二 VM的顯示器的查看從而示出在第二 VM處執(zhí)行或者表現(xiàn)的圖元、圖標(biāo)、顯示、程序、鏈接、圖片、電影和其他用戶(hù)接口操控或者非操控。算法直接訪問(wèn)和讀取來(lái)自預(yù)定虛擬存儲(chǔ)器位置的虛擬機(jī)顯示器的圖像而未與第二VM的操作系統(tǒng)交互。因而算法無(wú)需遵循在第二 VM上運(yùn)行的OS的圖形指令。圖2-1至2-3圖示了本發(fā)明單獨(dú)實(shí)施例中的虛擬基礎(chǔ)設(shè)施(VI)的示例性框圖,其中在虛擬機(jī)層中的虛擬機(jī)提供的算法使客戶(hù)端能夠與在VM處可用的虛擬服務(wù)遠(yuǎn)程交互而未與任何OS協(xié)議綁定。圖2A和2B圖示了在訪問(wèn)VM的幀緩沖器信息中使用的虛擬基礎(chǔ)設(shè)施(VI)的各種部件。圖2C-1至2C-3圖示了與圖2-1至2_3中所示實(shí)施例對(duì)應(yīng)的訪問(wèn)幀緩沖器信息的簡(jiǎn)化視圖。圖2D和2E圖示了如下過(guò)程的簡(jiǎn)化框圖,該過(guò)程封包訪問(wèn)的幀緩沖器數(shù)據(jù)以符合算法和參與向客戶(hù)端傳輸幀緩沖器數(shù)據(jù)的分組的傳輸協(xié)議兩者的要求。圖2F圖示了隨時(shí)間向客戶(hù)端發(fā)送什么數(shù)據(jù)的簡(jiǎn)化視圖。下文將參照這些附圖詳細(xì)描述算法的用于控制虛擬服務(wù)的部件和功能。圖像處理器
為了圖像處理器從一定距離并且通過(guò)很瘦客戶(hù)端高效運(yùn)轉(zhuǎn),在獨(dú)立于平臺(tái)和操作系統(tǒng)的圖像處理器算法的設(shè)計(jì)構(gòu)造中依賴(lài)幾個(gè)下層原理。依賴(lài)的基本原理之一是圖像表示。多數(shù)虛擬機(jī)/虛擬客戶(hù)具有在每個(gè)客戶(hù)處可用的幀緩沖器構(gòu)造。幀緩沖器如在本申請(qǐng)中使用的那樣是在虛擬機(jī)的監(jiān)視器上顯示的內(nèi)容在存儲(chǔ)器中的表示。換而言之,幀緩沖器包括在虛擬機(jī)的具體存儲(chǔ)器部分中提供的如下圖像數(shù)據(jù),該圖像數(shù)據(jù)定義如下圖形輸出,該圖形輸出在被處理和表現(xiàn)時(shí)呈現(xiàn)如下虛擬圖像,該虛擬圖像代表虛擬機(jī)的虛擬機(jī)顯示器。一般而言,處于管理程序上的操作系統(tǒng)是“無(wú)頭”的,即它無(wú)需連接到它的監(jiān)視器。在這樣的情況下,操作系統(tǒng)將預(yù)定去往虛擬機(jī)顯示器(諸如監(jiān)視器)的輸出定向到存儲(chǔ)器中的特定部分作為圖像數(shù)據(jù)。應(yīng)當(dāng)注意,將預(yù)定去往監(jiān)視器的輸出表示為一般無(wú)上下文的位圖。存儲(chǔ)器中的這一圖像由管理程序用來(lái)建立圖形控制臺(tái)對(duì)個(gè) 別虛擬機(jī)的訪問(wèn)。在本申請(qǐng)中,術(shù)語(yǔ)“幀緩沖器”與圖形輸出可互換地用來(lái)指代表示為位圖并且在與每個(gè)虛擬機(jī)(VM)關(guān)聯(lián)的具體存儲(chǔ)器部分中存儲(chǔ)的圖像數(shù)據(jù)。幀緩沖器構(gòu)造是一種用于對(duì)通常將被定向到監(jiān)視器的圖形信號(hào)重新定向以代之以加載到存儲(chǔ)器中的業(yè)界方式。幀緩沖器數(shù)據(jù)視為與具有位深度、水平掃描速率和確定大小的監(jiān)視器相似。在一些操作系統(tǒng)(諸如Mac 0SX )中,巾貞緩沖器由本機(jī)內(nèi)核加載。在一些其他操作系統(tǒng)中,在啟動(dòng)文件內(nèi)提供內(nèi)核參數(shù)以使能幀緩沖器。在虛擬機(jī)的存儲(chǔ)器內(nèi)的位置及其用于代表幀緩沖器的圖像的格式由對(duì)應(yīng)操作系統(tǒng)驅(qū)動(dòng)。依賴(lài)的另一原理是恰當(dāng)解釋和操縱幀緩沖器構(gòu)造使得圖像處理器算法(或者簡(jiǎn)稱(chēng)為“算法”)可以自治地動(dòng)作。為了算法獨(dú)立于平臺(tái)、操作系統(tǒng)(OS)和服務(wù),算法需要能夠確定如何評(píng)估屏幕上的來(lái)自幀緩沖器構(gòu)造的幀。在一個(gè)實(shí)施例中,算法能夠基于活動(dòng)和顏色對(duì)比度情形來(lái)識(shí)別屏幕上的感興趣的鄰接區(qū)域,使得可以用具體方式操縱對(duì)幀或者具體信息進(jìn)行定義的感興趣的區(qū)域。在一個(gè)實(shí)施例中,算法被配置成利用各種技術(shù)以捕獲屏幕的不同部分,以便向具有優(yōu)先級(jí)的查看者提供令人愉悅的可視效果以維護(hù)超出人類(lèi)感知能力的質(zhì)量。在一個(gè)實(shí)施例中,使用有損效果來(lái)捕獲屏幕部分。通過(guò)有損壓縮方法來(lái)獲得有損效果,其中壓縮數(shù)據(jù)使得它損失它的一些質(zhì)量。這一壓縮數(shù)據(jù)在被解壓時(shí)提供與原始數(shù)據(jù)不同但是與原始數(shù)據(jù)足夠接近的數(shù)據(jù)。有損壓縮方法在業(yè)內(nèi)是公知的并且最常用來(lái)壓縮用于流媒體應(yīng)用的多媒體數(shù)據(jù),諸如音頻、視頻和圖形圖像。為了算法在網(wǎng)絡(luò)上變得高效并且高性能,算法在一個(gè)實(shí)施例中被設(shè)計(jì)成兼容于用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP)以實(shí)現(xiàn)恰當(dāng)用戶(hù)體驗(yàn)。UDP與傳統(tǒng)傳輸控制協(xié)議(TCP)不同在于UDP是“無(wú)連接”或者“無(wú)狀態(tài)”協(xié)議,其中無(wú)握手或者無(wú)確認(rèn)接收的分組的規(guī)定。在一個(gè)實(shí)施例中,為算法選擇的協(xié)議對(duì)帶寬改變、延遲和損失敏感和自適應(yīng)。雖然已經(jīng)將算法描述成配置有具體傳輸協(xié)議,但是它應(yīng)當(dāng)視為示例性而非視為限制。其他實(shí)施例可以使用與除了 UDP之外的其他協(xié)議兼容的算法,只要協(xié)議能夠提供算法所定義和希望的質(zhì)量、性能和功能即可?;谇笆龌驹砗鸵?,現(xiàn)在將參照?qǐng)D21-至2-3描述示例性圖像處理器算法的各種特征和功能。應(yīng)當(dāng)理解,示例性算法可以適應(yīng)針對(duì)特殊用途的一些修改,只要維護(hù)與描述的實(shí)施例一致的基本操作即可。在圖2-1中所示本發(fā)明一個(gè)實(shí)施例中,在虛擬環(huán)境內(nèi)的與多個(gè)VM并排在管理程序上運(yùn)行的單獨(dú)VM中提供圖像處理器算法。算法依賴(lài)于VI的現(xiàn)有基礎(chǔ)設(shè)施和部件并且獨(dú)立于平臺(tái)/OS而又提供用于通過(guò)長(zhǎng)距離并且通過(guò)可以是“瘦”客戶(hù)端或者“胖”客戶(hù)端的客戶(hù)端遠(yuǎn)程工作的能力。仍然參照?qǐng)D2-1,在如下虛擬機(jī)提供圖像處理器算法155,該虛擬機(jī)充當(dāng)與多個(gè)其他VM 100并排在管理程序上運(yùn)行的服務(wù)器虛擬機(jī)(SVM)150并且通過(guò)管理程序來(lái)與多個(gè)VM100交互。SVM 150訪問(wèn)、讀取和管理來(lái)自各種VM 100的幀緩沖器數(shù)據(jù)。虛擬環(huán)境的基本基礎(chǔ)設(shè)施與參照?qǐng)DI描述的基礎(chǔ)設(shè)施相似。通過(guò)算法155在SVM 150與VM 100之間的交互對(duì)于VM是本地的并且無(wú)需復(fù)雜壓縮技術(shù)或者大型CPU用于捕獲如下圖形輸出,該圖形輸出代表將在與每個(gè)VM關(guān)聯(lián)的虛擬監(jiān)視器屏幕上表現(xiàn)的幀緩沖器信息。在一個(gè)實(shí)施例中,算法被設(shè)計(jì)成通過(guò)管理程序直接訪問(wèn)和讀取每個(gè)VM 100的幀緩沖器數(shù)據(jù)110。圖2-2圖示了本發(fā)明的另一實(shí)施例,其中在管理程序上運(yùn)行的VM 150中的少數(shù)VM獨(dú)立配備有算法155。獨(dú)立配備有算法的每個(gè)VM 150提供與圖2-1的如下SVM相同的功 能,該SVM訪問(wèn)、讀取和管理來(lái)自運(yùn)行于管理程序上的一個(gè)或者多個(gè)其他VM 100的幀緩沖器數(shù)據(jù)。在這一實(shí)施例中,獨(dú)立配備有算法的每個(gè)VM的幀緩沖器數(shù)據(jù)可以由獨(dú)立配備有算法的其他VM訪問(wèn)和管理。圖2-3圖示了又一實(shí)施例,其中在管理程序上運(yùn)行的所有VM 150獨(dú)立配備有算法155。獨(dú)立配備有圖像處理器算法的每個(gè)VM 150提供與圖2-1的如下SVM相同的功能,該SVM訪問(wèn)、讀取和管理虛擬中心中的一個(gè)或者多個(gè)其他VM 100的幀緩沖器數(shù)據(jù)。圖2-1、2-2和2-3中所示每個(gè)實(shí)施例中的算法通過(guò)管理程序直接訪問(wèn)VM的幀緩沖器數(shù)據(jù)。應(yīng)當(dāng)注意,VM內(nèi)的算法不僅僅限制于訪問(wèn)運(yùn)行于管理程序上的其他VM的幀緩沖器數(shù)據(jù),而且還被配置為通過(guò)管理程序直接訪問(wèn)其自己的幀緩沖器數(shù)據(jù)。應(yīng)當(dāng)注意,前述實(shí)施例為示例性并且不應(yīng)解釋為限制。因而本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到任何排列和組合可以用于在一個(gè)具體VM、幾個(gè)具體VM處或者在運(yùn)行于管理程序上的所有VM上獨(dú)立提供圖像處理器算法并且可以基于VM資源和可訪問(wèn)性。讀取的幀緩沖器數(shù)據(jù)由算法處理成符合算法要求的圖像數(shù)據(jù)分組并且向運(yùn)行算法的VM內(nèi)的虛擬網(wǎng)絡(luò)接口卡(NIC)轉(zhuǎn)發(fā),其中進(jìn)一步封包圖像數(shù)據(jù)分組以符合傳輸協(xié)議(諸如UDP)的要求。然后使用UDP協(xié)議或者其他功能等效方式來(lái)傳輸封包的圖像數(shù)據(jù)?,F(xiàn)在將參照?qǐng)D2A和2B描述訪問(wèn)、讀取幀緩沖器數(shù)據(jù)的過(guò)程和涉及到的各種部件的作用。圖2A圖示了與具體VM關(guān)聯(lián)的操作系統(tǒng)(OS)在定向幀緩沖器數(shù)據(jù)中使用的傳統(tǒng)方式。每個(gè)VM的OS包括用于捕獲如下圖像數(shù)據(jù)的視頻驅(qū)動(dòng)器,該圖像數(shù)據(jù)代表用于具體VM的通常在與VM關(guān)聯(lián)的監(jiān)視器處呈現(xiàn)的圖形輸出。OS中的視頻驅(qū)動(dòng)器將圖像數(shù)據(jù)定向到已經(jīng)向OS呈現(xiàn)的物理視頻卡。視頻卡將用于VM的圖像數(shù)據(jù)解釋成圖形圖像并且在VM的虛擬機(jī)顯示器處呈現(xiàn)解釋的圖形圖像。在用于管理程序的命令中心(該管理中心通常是具有特殊管理程序訪問(wèn)工具的VM)處工作的管理員/用戶(hù)訪問(wèn)VM并且連接到VM的虛擬機(jī)顯示器以排除故障或者一般地控制在VM處可用的一個(gè)或者多個(gè)服務(wù)。如已知的那樣,有許多捕獲幀緩沖器的方式。提供上述示例以設(shè)想捕獲幀緩沖器的方式將繼續(xù)改變和擴(kuò)展。例如訪問(wèn)幀緩沖器將依賴(lài)于管理程序的開(kāi)發(fā)者并且具體API可以用來(lái)發(fā)現(xiàn)用于具體VM的幀緩沖器的位置。API可以定義用于標(biāo)識(shí)具體幀緩沖器并且讀取用于那些具體VM的幀緩沖器數(shù)據(jù)的協(xié)議。這里的目標(biāo)在于讀取和捕獲幀緩沖器而不考慮格式。
代之以將通常定向到VM的虛擬監(jiān)視器的圖形圖像作為幀緩沖器數(shù)據(jù)定向到虛擬中心中的虛擬存儲(chǔ)器層中的預(yù)定義位置。圖像處理器算法與管理程序直接交互以獲得對(duì)VM的在虛擬存儲(chǔ)器層中的預(yù)定義位置處的幀緩沖器數(shù)據(jù)的訪問(wèn)以便解釋、處理、封包并且向客戶(hù)端傳輸處理的幀緩沖器數(shù)據(jù)。圖2B圖示了使用虛擬中心內(nèi)的虛擬圖形來(lái)訪問(wèn)用于具體虛擬機(jī)的幀緩沖器數(shù)據(jù)的過(guò)程。如圖2B中所示,在VM上運(yùn)行的OS包括視頻驅(qū)動(dòng)器。在虛擬中心中可用的管理程序包括虛擬圖形卡。在VM的OS處的視頻驅(qū)動(dòng)器與它作為物理視頻(圖形)卡感知的內(nèi)容交互。替代地,OS實(shí)際上與管理程序已經(jīng)向作為物理圖形卡的相應(yīng)VM的OS呈現(xiàn)的虛擬圖形卡交互。VM的OS將通常以VM的虛擬機(jī)顯示器為目標(biāo)的數(shù)據(jù)的模擬或者數(shù)字表示處理成幀緩沖器數(shù)據(jù)。通過(guò)VM的圖形驅(qū)動(dòng)器向虛擬圖形卡寫(xiě)入代表圖形輸出的幀緩沖器數(shù)據(jù)。虛擬圖形卡又通過(guò)管理程序向下層虛擬存儲(chǔ)器層中的對(duì)應(yīng)預(yù)定儲(chǔ)存器位置加載幀緩沖器數(shù)據(jù)。虛擬圖形卡是管理程序向所有VM呈現(xiàn)的如下通用卡(諸如視頻電子標(biāo)準(zhǔn)協(xié)會(huì) (VESA)卡),該通用卡指引在不同VM處運(yùn)行的OS將幀緩沖器信息寫(xiě)入通過(guò)管理程序可訪問(wèn)的下層虛擬存儲(chǔ)器層中的預(yù)定存儲(chǔ)器地址。應(yīng)當(dāng)注意,存儲(chǔ)于下層存儲(chǔ)器層中的幀緩沖器信息通常是位圖的形式。位圖是原始無(wú)上下文數(shù)據(jù)。使用算法,虛擬機(jī)能夠通過(guò)管理程序(該管理程序管理用于所有VM的下層存儲(chǔ)器、設(shè)備和資源)訪問(wèn)所有VM的幀緩沖器數(shù)據(jù)。幀緩沖器信息(數(shù)據(jù))經(jīng)常例如使用設(shè)備位置(諸如/dev/fbO)通過(guò)內(nèi)核而可用。與管理程序處于相同總線上的SVM (例如LFP服務(wù)器)內(nèi)的算法(諸如圖像處理器算法)使用來(lái)自客戶(hù)端的連接信息通過(guò)管理程序直接訪問(wèn)和讀取用于特定VM的幀緩沖器信息、分析特定VM的讀取的幀緩沖器數(shù)據(jù)用于改變和任何新獲取的幀緩沖器數(shù)據(jù)、基于分析來(lái)處理幀緩沖器數(shù)據(jù)、關(guān)于待使用的壓縮技術(shù)做出決定、生成多個(gè)圖像數(shù)據(jù)分組、然后封包幀緩沖器信息的分組以符合算法和通用傳輸協(xié)議(諸如UDP)兩者、向客戶(hù)端傳輸封包的幀緩沖器數(shù)據(jù)用于在相應(yīng)顯示器設(shè)備處表現(xiàn)、測(cè)量分組到達(dá)并且如需要的那樣重傳數(shù)據(jù)。在處理幀緩沖器數(shù)據(jù)期間,確定與幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文并且適當(dāng)上下文信息與幀緩沖器數(shù)據(jù)關(guān)聯(lián)。圖2C-1至2C-3圖示了在存儲(chǔ)和訪問(wèn)幀緩沖器數(shù)據(jù)中使用的流程路徑的簡(jiǎn)化框圖。圖2C-1圖示了一個(gè)實(shí)施例,其中在運(yùn)行于管理程序上的VM 100上執(zhí)行的OS將對(duì)應(yīng)幀緩沖器數(shù)據(jù)定向到虛擬基礎(chǔ)設(shè)施內(nèi)的虛擬存儲(chǔ)器層中的具體位置FBl 110。因而在執(zhí)行期間,VM1 100借助視頻驅(qū)動(dòng)器和虛擬圖形卡如路徑110-1所示在位置FBl處存儲(chǔ)相應(yīng)幀緩沖器數(shù)據(jù)。算法155如路徑110-2所示通過(guò)管理程序直接訪問(wèn)在FBl處的用于VM的存儲(chǔ)的幀緩沖器數(shù)據(jù)。類(lèi)似地,圖2C-2圖示了另一實(shí)施例,其中在執(zhí)行于管理程序上的VM 100上運(yùn)行的OS在具體存儲(chǔ)器位置FBl中存儲(chǔ)幀緩沖器數(shù)據(jù),使得LFP算法155可以直接訪問(wèn)來(lái)自FBl的幀緩沖器信息。在圖2C-3中所示另一實(shí)施例中,運(yùn)行算法的VM充當(dāng)服務(wù)器VM150,其中SVM的OS如路徑110-1所示指引SVM的幀緩沖器信息存儲(chǔ)于下層存儲(chǔ)器FBl的具體部分中并且通過(guò)路徑110-2直接訪問(wèn)來(lái)自FBl的存儲(chǔ)的幀緩沖器信息。來(lái)自不同VM的幀緩沖器信息由在VM上執(zhí)行的操作系統(tǒng)驅(qū)動(dòng)并且可以是變化的格式。算法實(shí)現(xiàn)對(duì)不同OS呈現(xiàn)的幀緩沖器信息的訪問(wèn)、提供指引用于使用算法內(nèi)可用的格式化工具(諸如“輕量級(jí)幀緩沖器協(xié)議”工具)將來(lái)自不同OS的幀緩沖器信息轉(zhuǎn)換成由情景消息類(lèi)型組成的通用格式的分組并且使用傳輸協(xié)議(諸如用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP))向客戶(hù)端轉(zhuǎn)發(fā)重新格式化的幀緩沖器信息。如更早提到的那樣,幀緩沖器信息是如下原始位圖信息,該信息無(wú)附著到它的上下文。算法從用于VM的具體存儲(chǔ)器位置讀取與幀緩沖器數(shù)據(jù)關(guān)聯(lián)的位圖信息、通過(guò)標(biāo)識(shí)活動(dòng)和不活動(dòng)區(qū)域來(lái)分析位圖數(shù)據(jù)、基于分析向數(shù)據(jù)添加上下文并且生成具有添加的上下文信息的更小分組。例如數(shù)據(jù)分析可以標(biāo)識(shí)幀和幀內(nèi)的活動(dòng)區(qū)域。使用算法中可用的格式化算法來(lái)封包并且向SVM內(nèi)的虛擬NIC轉(zhuǎn)發(fā)加載上下文的分組,其中分組經(jīng)歷附加封包以符合傳輸協(xié)議。向客戶(hù)端轉(zhuǎn)發(fā)完全處理和封包的數(shù)據(jù)用于表現(xiàn)。應(yīng)當(dāng)注意,使用算法在虛擬中心以?xún)?nèi)和在SVM或者VM內(nèi)本地執(zhí)行針對(duì)幀緩沖器數(shù)據(jù)的多數(shù)分析和上下文表現(xiàn)。因而無(wú)需在客戶(hù)端處執(zhí)行附加分析或者譯解或者分析幀緩沖器數(shù)據(jù)以理解上下文。客戶(hù)端僅需解包具有加載的上下文的位圖數(shù)據(jù)并且在客戶(hù)端的顯示器設(shè)備上表現(xiàn)??蛻?hù)端向SVM標(biāo)識(shí)損失的信息,SVM如需要的那樣重傳。由于消息類(lèi)型和分組信息相對(duì)小和簡(jiǎn)單,所以可以如外科手術(shù)般進(jìn)行重傳而開(kāi)銷(xiāo)很小。圖2D圖示了訪問(wèn)和封包幀緩沖器數(shù)據(jù)用于向客戶(hù)端前傳的過(guò)程以及響應(yīng)于表現(xiàn)的分組的來(lái)自客戶(hù)端的反饋。如圖所示,在具體虛擬存儲(chǔ)器位置(FBI)中可用的VM的幀緩沖器數(shù)據(jù)110由SVM的包括格式化算法的圖像處理器算法155 (諸如LFP)直接訪問(wèn)。算法155可以使用API、儲(chǔ)存器地址等來(lái)訪問(wèn)和讀取存儲(chǔ)的幀緩沖器信息。算法155然后使用SVM的處理器來(lái)處理幀緩沖器數(shù)據(jù)以生成SVM的存儲(chǔ)器130內(nèi)的幀緩沖器數(shù)據(jù)的更小圖 像數(shù)據(jù)分組203。幀緩沖器數(shù)據(jù)的處理包括分析幀緩沖器數(shù)據(jù)以標(biāo)識(shí)上下文并且在生成圖像數(shù)據(jù)分組203時(shí)集成上下文信息與數(shù)據(jù)。雖然參照在SVM上執(zhí)行的算法說(shuō)明訪問(wèn)和封包幀緩沖器數(shù)據(jù)的過(guò)程,但是應(yīng)當(dāng)理解算法不限于僅在SVM上執(zhí)行、但是也可以在VM上執(zhí)行并且訪問(wèn)幀緩沖器數(shù)據(jù)。使用圖像處理器算法155內(nèi)可用的格式化算法來(lái)生成圖像數(shù)據(jù)分組203,從而符合客戶(hù)端的連接參數(shù)的要求并且這些分組是客戶(hù)端特定的。如更早提到的那樣,連接參數(shù)提供客戶(hù)端的諸如可接受分組大小、客戶(hù)端類(lèi)型等的特性細(xì)節(jié),算法155可以在為客戶(hù)端生成分組203時(shí)考慮這些要求。向虛擬網(wǎng)絡(luò)接口卡(NIC) 140轉(zhuǎn)發(fā)分組203,其中分組經(jīng)歷附加處理以在算法提供的封包上面添加網(wǎng)絡(luò)封包。所得處理的封包204包括算法封包信息和網(wǎng)絡(luò)封包信息兩者。使用傳輸協(xié)議向客戶(hù)端200轉(zhuǎn)發(fā)完全處理的分組204用于在與客戶(hù)端200關(guān)聯(lián)的顯示器設(shè)備處表現(xiàn)。仍然參照?qǐng)D2D,以客戶(hù)端200為目標(biāo)的分組由客戶(hù)端NIC 210_a接收??蛻?hù)端NIC210-a是如下標(biāo)準(zhǔn)NIC卡,該NIC卡在每個(gè)客戶(hù)端中可用并且用來(lái)剝離每個(gè)分組的外部NIC特定網(wǎng)絡(luò)封包204并且向客戶(hù)端算法(諸如客戶(hù)端LFP) 210-b轉(zhuǎn)發(fā)拆開(kāi)的封包203。客戶(hù)端LFP 210-b是在VM中提供的如下圖像處理器算法的簡(jiǎn)單版本,該版本用來(lái)讀取從客戶(hù)端的NIC接收的拆開(kāi)的封包并且處理數(shù)據(jù)以剝離算法特定封包。組裝并且在客戶(hù)端的顯示器設(shè)備處表現(xiàn)在剝離封包信息之后獲得的所得部分幀緩沖器數(shù)據(jù)。拆開(kāi)的幀緩沖器數(shù)據(jù)包括位圖信息和關(guān)聯(lián)上下文并且是客戶(hù)端特定的。由于使用簡(jiǎn)單和通用算法來(lái)封包分組,所以客戶(hù)端的LFP算法中的解壓邏輯也是簡(jiǎn)單的并且無(wú)需復(fù)雜處理,由此在客戶(hù)端處避免更重型CPU。因而瘦客戶(hù)端甚至也能夠使用簡(jiǎn)單解壓邏輯來(lái)解壓封包。在一個(gè)實(shí)施例中,可能捕獲并且通過(guò)反向信道通信向SVM傳回在表現(xiàn)的輸出處的任何用戶(hù)輸入(諸如鍵盤(pán)敲擊或者鼠標(biāo)點(diǎn)擊)。在另一實(shí)施例中,可以從客戶(hù)端設(shè)備向SVM定期發(fā)送關(guān)于連接狀態(tài)的自動(dòng)反饋??赡苁褂每蛻?hù)端算法和客戶(hù)端NIC來(lái)封包這些用戶(hù)輸入和自動(dòng)反饋。向SVM轉(zhuǎn)發(fā)回封包的用戶(hù)輸入和反饋分組205,在SVM解壓和處理它們。在本發(fā)明的一個(gè)實(shí)施例中,向SVM轉(zhuǎn)發(fā)用戶(hù)輸入和反饋分組205以向算法通知已經(jīng)在客戶(hù)端200處表現(xiàn)什么以及連接的狀態(tài)。在另一實(shí)施例中,通過(guò)相應(yīng)OS向在對(duì)應(yīng)VM處執(zhí)行的一個(gè)或者多個(gè)應(yīng)用轉(zhuǎn)發(fā)用戶(hù)輸入和反饋分組205。用戶(hù)輸入和反饋分組205的封包基于數(shù)據(jù)目的地。用于封包幀緩沖器數(shù)據(jù)的格式化算法依賴(lài)于與請(qǐng)求信息的客戶(hù)端關(guān)聯(lián)的信息。與客戶(hù)端有關(guān)的信息定義客戶(hù)端的特性并且通過(guò)分析對(duì)客戶(hù)端類(lèi)型、在客戶(hù)端上運(yùn)行的OS類(lèi)型以及依賴(lài)于環(huán)境的其他參數(shù)進(jìn)行定義的連接參數(shù)來(lái)獲得。格式化算法使用這一信息以相應(yīng)地封包幀緩沖器數(shù)據(jù)。例如在圖2E中所示一個(gè)實(shí)施例中,格式化算法將與客戶(hù)端有關(guān)的信息用于移動(dòng)電話質(zhì)量的瘦客戶(hù)端,以便使用提供良好刷新速率的技術(shù)來(lái)生成簡(jiǎn)單圖像表現(xiàn)內(nèi)容203-b,由此格式化算法將與客戶(hù)端有關(guān)的信息用于基于桌面型的瘦客戶(hù)端以便生成為了更豐富體驗(yàn)而定制的復(fù)雜消息類(lèi)型203-a。也可以使用格式化算法來(lái)生成用于其他客戶(hù)端類(lèi)型的附加格式(諸如用于個(gè)人數(shù)字助理質(zhì)量的瘦客戶(hù)端的圖像表現(xiàn)內(nèi)容203和用于基于電視監(jiān)視器/屏幕/顯示器的客戶(hù)端的圖像表現(xiàn)內(nèi)容203-c)。另外,在格式化的圖形輸出將UDP用于傳送時(shí),客戶(hù)端可以通過(guò)長(zhǎng)或者短距離訪問(wèn)和控制服務(wù)。基于來(lái)自從格式化算法接收的基于具體客戶(hù)端的分組的變化輸入來(lái)變化使用UDP協(xié)議而生成的圖形輸出。因此,圖形輸出204對(duì)應(yīng)于圖像表現(xiàn)內(nèi)容203,圖形輸出204-a對(duì)應(yīng)于圖像表現(xiàn)內(nèi)容203-a,以此類(lèi)推。應(yīng)當(dāng)注意,在傳送數(shù)據(jù)中使用的UDP是示例性的并且不應(yīng)視為限制。可·以使用其他傳輸協(xié)議,只要維護(hù)客戶(hù)端通過(guò)長(zhǎng)或者短距離訪問(wèn)服務(wù)的能力即可。如描述的那樣,圖像處理器算法經(jīng)由管理程序直接訪問(wèn)用于相應(yīng)VM的幀緩沖器信息,使得算法可以取回、處理、封包并且向客戶(hù)端傳輸適當(dāng)幀緩沖器信息。算法未與任何OS交互并且因而無(wú)需用于從管理程序取回幀緩沖器信息的任何專(zhuān)用協(xié)議。為了輔助算法標(biāo)識(shí)與適當(dāng)VM關(guān)聯(lián)的幀緩沖器,管理程序包括將客戶(hù)端請(qǐng)求映射到適當(dāng)VM的幀緩沖器的存儲(chǔ)器和設(shè)備管理器。當(dāng)客戶(hù)端請(qǐng)求連接時(shí),SVM內(nèi)的算法在一個(gè)實(shí)施例中詢(xún)問(wèn)與連接請(qǐng)求關(guān)聯(lián)的連接參數(shù)、確定客戶(hù)端的標(biāo)識(shí)和可以提供虛擬服務(wù)的VM的細(xì)節(jié)并且在標(biāo)識(shí)和定位VM中與在管理程序處的存儲(chǔ)器管理器交互。使用來(lái)自連接參數(shù)的信息以及來(lái)自存儲(chǔ)器和設(shè)備管理器的映射信息,算法標(biāo)識(shí)VM并且然后在管理程序使設(shè)備和存儲(chǔ)器可用于在SVM處的算法時(shí)直接從預(yù)定存儲(chǔ)器位置訪問(wèn)標(biāo)識(shí)的VM的幀緩沖器。利用對(duì)算法的功能的上述一般理解,現(xiàn)在將詳細(xì)描述算法的各種方面。為了輔助捕獲和傳輸每個(gè)VM的幀緩沖器數(shù)據(jù)的適當(dāng)部分,算法包括多個(gè)模塊。這些模塊是可以都集成到單個(gè)圖像處理器算法中的軟件(和/或硬件)模塊或者可以作為獨(dú)立模塊而存在。在算法中包括的模塊中的一些模塊包括掃描引擎、熱引擎、上下文引擎、邏輯引擎、連接引擎和輸出引擎。掃描引擎被配置成辨別虛擬圖像和VM的幀緩沖器的改變并且在基于時(shí)間的構(gòu)造中存儲(chǔ)幀緩沖器的狀態(tài)維護(hù)。圖2F圖示了為每個(gè)VM的幀緩沖器數(shù)據(jù)而維護(hù)和傳輸?shù)幕跁r(shí)間的構(gòu)造樣本。例如基于客戶(hù)端特性信息,為客戶(hù)端的顯示器設(shè)備組裝用于客戶(hù)端的圖像構(gòu)造。在一個(gè)實(shí)施例中,圖像構(gòu)造可以包括從LFP應(yīng)用服務(wù)器I獲得的信息。在圖2F-1中所示另一實(shí)施例中,除了來(lái)自應(yīng)用服務(wù)器I的信息之外,圖像構(gòu)造也可以包括來(lái)自LFP “廣告”服務(wù)器的信息(諸如廣告信息)和其他應(yīng)用服務(wù)器信息(諸如從LFP應(yīng)用服務(wù)器3獲得的信息)。除了圖像構(gòu)造信息之外,也捕獲、封包和傳輸與來(lái)自相應(yīng)源的圖像構(gòu)造信息關(guān)聯(lián)的任何增量(delta)。由于獲得每個(gè)圖像構(gòu)造信息作為位圖信息,所以從每個(gè)LFP服務(wù)器僅傳輸位圖的相關(guān)分段信息。因此如圖2F-1中所示,來(lái)自LFP應(yīng)用服務(wù)器I的位圖信息包括所有位圖信息和來(lái)自除了框I和框2覆蓋的區(qū)域之外的LFP應(yīng)用服務(wù)器I的任何增量。從LFP廣告服務(wù)器獲得包括任何增量的用于框I的信息,并且從LFFP應(yīng)用服務(wù)器3獲得包括任何增量的用于框2的信息。接收來(lái)自各種源的位圖信息作為帶內(nèi)傳輸。因此當(dāng)傳輸信息時(shí),在客戶(hù)端的顯示器設(shè)備處解壓、組裝和呈現(xiàn)圖像數(shù)據(jù),僅包括來(lái)自每個(gè)源的相關(guān)信息,由此節(jié)省網(wǎng)絡(luò)帶寬和計(jì)算資源。除了帶內(nèi)傳輸之外,算法還實(shí)現(xiàn)在客戶(hù)端處表現(xiàn)帶外傳輸。因此如圖2F-2中所示,在客戶(hù)端處獲得和表現(xiàn)用于顯示器監(jiān)視器中可見(jiàn)的區(qū)域的與帶內(nèi)傳輸關(guān)聯(lián)的信息和任何增量。在這一實(shí)施例中,未獲得用于不可見(jiàn)的區(qū)域的信息,由此保存網(wǎng)絡(luò)帶寬和處理資源。在一個(gè)實(shí)施例中,客戶(hù)端的整個(gè)屏幕可以用來(lái)表現(xiàn)帶外流(諸如視頻流)。在這一實(shí)施例中,算法確定用于表現(xiàn)帶外流的顯示區(qū)域量并且智能地避免為客戶(hù)端生成任何帶內(nèi)傳輸分組,因?yàn)樵诳蛻?hù)端的顯示器設(shè)備中無(wú)用于表現(xiàn)該信息的可見(jiàn)空間,由此節(jié)省網(wǎng)絡(luò)和處理 資源以及處理時(shí)間。因此,算法提供用于確定表現(xiàn)哪個(gè)幀緩沖器數(shù)據(jù)以及使用什么資源的智能,并且基于確定來(lái)生成圖像構(gòu)造。回顧圖3B,熱引擎被配置成在對(duì)VM的幀緩沖器的圖形幀內(nèi)的活動(dòng)區(qū)域定位中具有滑動(dòng)精確度標(biāo)度并且將活動(dòng)水平辨別為狀態(tài)活動(dòng)的速率導(dǎo)數(shù)。上下文引擎被配置成評(píng)估熱引擎輸出以確定是否可以按照要素(諸如活動(dòng)和對(duì)比度)來(lái)標(biāo)識(shí)鄰接區(qū)域,從而用具體專(zhuān)門(mén)化技術(shù)對(duì)待區(qū)域。邏輯引擎被配置成基于來(lái)自各種模塊的輸入(諸如熱速率、色分解、通過(guò)熱引擎從VM的幀緩沖器獲得的熱區(qū)域?qū)Ρ榷取?lái)自上下文引擎的輸入、連接的瘦客戶(hù)端的平臺(tái)和從連接引擎獲得的連接質(zhì)量)確定應(yīng)當(dāng)將哪個(gè)技術(shù)運(yùn)用于壓縮/傳輸。邏輯引擎也被配置成用所選技術(shù)對(duì)分析的圖像數(shù)據(jù)信息進(jìn)行編碼。連接引擎被配置成與多個(gè)模塊交互,諸如a)與瘦客戶(hù)端交互針對(duì)初始握手和連接對(duì)話的持續(xù)質(zhì)量;b)與邏輯引擎交互以獲得和解決質(zhì)量問(wèn)題;c)與掃描引擎交互以指引掃描引擎查看恰當(dāng)VM的幀緩沖器。連接引擎通過(guò)與用戶(hù)到資產(chǎn)的目錄系統(tǒng)交互來(lái)標(biāo)識(shí)適當(dāng)VM的幀緩沖器。連接引擎也被配置成與輸出引擎交互以確定客戶(hù)端的位置,使得可以適當(dāng)指引VM的幀緩沖器信息的傳輸。輸出引擎被配置成定義最優(yōu)分組大小從而設(shè)計(jì)定制報(bào)頭并且使用簡(jiǎn)單傳送協(xié)議(諸如m)P)以高效方式向瘦客戶(hù)端傳輸定制報(bào)頭和關(guān)聯(lián)數(shù)據(jù)。在一個(gè)實(shí)施例中,算法與管理程序而未直接與VM的OS交互。在一個(gè)替代實(shí)施例中,一些OS交互可以是可能的。無(wú)論如何,算法將對(duì)于從OS到下層硬件的圖形指令而言是透明的。捕獲屏幕信息的傳統(tǒng)過(guò)程是通過(guò)使用圖形卡(諸如來(lái)自ATI Technologies Inc.或者來(lái)自NVIDIA 的圖形卡)。這需要很多CPU功率和定制的壓縮/解壓邏輯,其增添虛擬環(huán)境的開(kāi)銷(xiāo)從而造成不良性能和低用戶(hù)滿(mǎn)意度。就當(dāng)前實(shí)施例而言,算法與管理程序交互以直接訪問(wèn)相應(yīng)VM的幀緩沖器信息。另外由于幀緩沖器數(shù)據(jù)是以原始位圖數(shù)據(jù)格式并且算法重新格式化原始位圖數(shù)據(jù),所以無(wú)需復(fù)雜壓縮/解壓邏輯來(lái)譯解圖形指令。由于算法聚焦于通過(guò)管理程序取回幀緩沖器并且不是從OS取回實(shí)際指令,所以無(wú)需專(zhuān)用協(xié)議來(lái)編碼/解碼,從而使這獨(dú)立于OS/圖形卡?,F(xiàn)在將分別參照?qǐng)D3A和3B描述算法內(nèi)的各種模塊的細(xì)節(jié)。圖3A和3B圖示了在將幀緩沖器用于特定VM中涉及到的各種部件的簡(jiǎn)化框圖。圖3A圖示了系統(tǒng)部件和在各種部件之間的用于控制VM內(nèi)的虛擬服務(wù)的交互的簡(jiǎn)單概況,并且圖3B圖示了圖像處理器算法的各種部件的簡(jiǎn)化框圖連同算法在通過(guò)管理程序?qū)彌_器用于特定VM并且指引與幀緩沖器關(guān)聯(lián)的數(shù)據(jù)向?qū)?yīng)客戶(hù)端的傳輸中使用的過(guò)程流程??蛻?hù)端可以是“瘦”客戶(hù)端或“肥”客戶(hù)端。瘦客戶(hù)端可以包括移動(dòng)設(shè)備、個(gè)人數(shù)字助理、蜂窩電話、屏幕、筆記本計(jì)算機(jī)、電話亭、智能電話、平板或者其他這樣的設(shè)備中的任何設(shè)備。胖客戶(hù)端可以包括桌面計(jì)算機(jī)、膝上計(jì)算機(jī)、工作站等。上述瘦和胖客戶(hù)端列舉是示例性的并且不應(yīng)解釋為限制。如圖3A中所示,在本發(fā)明的一個(gè)實(shí)施例中,在與其他VM并排在管理程序上運(yùn)行的服務(wù)器VM (諸如LFP (輕量級(jí)幀緩沖器協(xié)議)SVM)內(nèi)提供算法(諸如圖像處理器算法)。SVM在這一實(shí)施例中不同于其他VM。算法包括用于接收連接請(qǐng)求、詢(xún)問(wèn)連接(或者環(huán)境)參數(shù)并且標(biāo)識(shí)VM (該VM提供在連接請(qǐng)求中請(qǐng)求的虛擬服務(wù))、訪問(wèn)和讀取與標(biāo)識(shí)的VM關(guān)聯(lián)的幀緩沖器數(shù)據(jù)、將幀緩沖器數(shù)據(jù)封包成圖像元、定期掃描幀緩沖器以確定鄰接活動(dòng)區(qū)域和活動(dòng)水平、標(biāo)識(shí)上下文、確定用于處理、封包并且向客戶(hù)端傳輸圖像元用于表現(xiàn)并且傳輸圖像元的適當(dāng)技術(shù)的多個(gè)模塊,諸如掃描引擎、熱引擎、上下文引擎、邏輯引擎、連接引擎和輸出引擎。 算法內(nèi)的模塊與目錄服務(wù)310交互以確定客戶(hù)端到具體VM上可用的服務(wù)的映射,使得可以適當(dāng)指引請(qǐng)求、與基于時(shí)間的狀態(tài)維護(hù)數(shù)據(jù)庫(kù)320交互以基于隨時(shí)間的活動(dòng)水平存儲(chǔ)活動(dòng)區(qū)域、與改變區(qū)域數(shù)據(jù)庫(kù)330交互以確定已經(jīng)改變的不同區(qū)域從而識(shí)別幀并且允許邏輯引擎僅聚焦于那些區(qū)域并且忽略非活動(dòng)區(qū)域并且與壓縮/傳輸技術(shù)數(shù)據(jù)庫(kù)340交互以標(biāo)識(shí)用于在向客戶(hù)端傳輸之前壓縮相關(guān)圖像區(qū)域的適當(dāng)技術(shù)。在算法外部的連接或者服務(wù)代理幫助標(biāo)識(shí)VM,從而使算法的模塊能夠與標(biāo)識(shí)的VM交互以便獲得對(duì)幀緩沖器數(shù)據(jù)的訪問(wèn)用于作為圖像數(shù)據(jù)元向客戶(hù)端前傳。在客戶(hù)端處接收傳輸?shù)膱D像數(shù)據(jù)元,在客戶(hù)端對(duì)數(shù)據(jù)元解碼并且執(zhí)行解壓而且呈現(xiàn)解壓的數(shù)據(jù)用于在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備處表現(xiàn)。表現(xiàn)的數(shù)據(jù)是客戶(hù)端特定的并且代表具體VM的VM顯示器的圖像。因而表現(xiàn)的圖像示出在VM處執(zhí)行或者表現(xiàn)的圖元、圖標(biāo)、顯示、程序、鏈接、圖片、電影和用戶(hù)接口操縱或者非操縱。在客戶(hù)端處實(shí)現(xiàn)用戶(hù)交互,并且使用反向信道通信向VM傳回用戶(hù)交互從而造成在VM處對(duì)虛擬化服務(wù)的控制。應(yīng)當(dāng)注意,算法提供的服務(wù)是顯示服務(wù)(諸如顯示具體VM的VM顯示器的圖像)。算法也使掃描引擎能夠確定幀緩沖器的如下部分,這些部分具有具體類(lèi)型的鄰接活動(dòng)區(qū)域,使得專(zhuān)門(mén)化技術(shù)可以用來(lái)提取鄰接區(qū)域的部分、封包并且傳輸封包。在一個(gè)實(shí)施例中,可以調(diào)用帶外流,其中解壓并且在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上疊加幀緩沖器數(shù)據(jù)。通常,視頻內(nèi)容多媒體數(shù)據(jù)使用這樣的方式從而保持音頻和視頻內(nèi)容兩者在一起?,F(xiàn)在參照?qǐng)D3B以更好地理解用于通過(guò)遠(yuǎn)程客戶(hù)端訪問(wèn)和/或控制在VM處的虛擬服務(wù)的算法的各種模塊和系統(tǒng)的部件內(nèi)的交互和幀緩沖器數(shù)據(jù)的過(guò)程流程。如更早提到的那樣,遠(yuǎn)程客戶(hù)端可以是與VM共同定位或者非共同定位但是通過(guò)網(wǎng)絡(luò)(諸如因特網(wǎng))連接到VM的瘦或者胖客戶(hù)端。在一個(gè)示例中,該過(guò)程在客戶(hù)端(3. 18)向虛擬服務(wù)發(fā)起連接請(qǐng)求時(shí)開(kāi)始。在VM (諸如服務(wù)器VM (SVM))處的圖像處理器算法中的連接引擎(3. 12)接收和解釋連接請(qǐng)求并且斷定客戶(hù)端的策略、認(rèn)證信息和位置以及客戶(hù)端(3. 18)請(qǐng)求的服務(wù)。參照?qǐng)D8描述連接引擎(3. 12)的功能。如圖8中所示并且交叉參照?qǐng)D3B,從客戶(hù)端(3. 18或者8. 4)接收連接請(qǐng)求用于服務(wù)。在請(qǐng)求接收和請(qǐng)求服務(wù)過(guò)程期間,連接引擎(3. 12)與客戶(hù)端(3. 18或者8. 4)交互用于初始握手(3. 14)并且用于維護(hù)連接對(duì)話的持續(xù)質(zhì)量(3. 15,3. 19)。連接引擎(3. 12)內(nèi)的路由邏輯8. 3接收請(qǐng)求并且又進(jìn)行對(duì)目錄服務(wù)(8. 2)的調(diào)用(8. I)以斷定客戶(hù)端的策略、認(rèn)證信息和位置以及服務(wù)。在一個(gè)實(shí)施例中,目錄服務(wù)(8. 2)為外部服務(wù)。在初始握手(3. 14)期間交換的信息標(biāo)識(shí)一個(gè)或者多個(gè)連接參數(shù),這些參數(shù)包括但不限于客戶(hù)端(8. 4)的位置、連接能力(通信連接帶寬、通信連接的質(zhì)量)信息、希望連接的虛擬服務(wù)位置(3. O)、客戶(hù)端類(lèi)型(8. 4)、請(qǐng)求的數(shù)據(jù)類(lèi)型、與客戶(hù)端關(guān)聯(lián)的顯示器類(lèi)型和與客戶(hù)端(8. 4)關(guān)聯(lián)的顯示器的配置(分辨率/位深度/刷新速率)。連接參數(shù)定義客戶(hù)端的特性。連接引擎(3. 12)也與邏輯引擎(8.6)交互以基于初始握手和進(jìn)行中的對(duì)話(3. 19)隨時(shí)間饋送/更新與連接關(guān)聯(lián)的質(zhì)量問(wèn)題(3. 15);與掃描引擎(8. 5)交互以指引掃描引擎查看與VM資源(服務(wù))關(guān)聯(lián)的適當(dāng)幀緩沖器,瘦客戶(hù)端(8. 4)針對(duì)該資源(服務(wù))發(fā)起請(qǐng)求;并且與輸出引擎(8. 7)交互以指引向客戶(hù)端(8. 4)的位置的傳輸?,F(xiàn)在參照?qǐng)D3B,一般而言,處于數(shù)據(jù)中心內(nèi)部的管理程序(3. O)上的虛擬機(jī)的操作系統(tǒng)(OS)無(wú)需連接到它的監(jiān)視器并且被視為“無(wú)頭”。在OS無(wú)頭的這一情形中,OS將它 的輸出定向到幀緩沖器(3. I)。幀緩沖器(3. I)是與在具體VM關(guān)聯(lián)的具體存儲(chǔ)器部分中存儲(chǔ)并且由具體VM的OS訪問(wèn)的圖像關(guān)聯(lián)的如下信息,該信息定義如下圖形輸出,該圖形輸出代表VM的虛擬機(jī)顯示器的圖像。管理員已經(jīng)在歷史上使用這一幀緩沖器構(gòu)造以向圖形控制臺(tái)提供對(duì)個(gè)別客戶(hù)/VM的訪問(wèn)。在一個(gè)實(shí)施例中,與監(jiān)視器相似,幀緩沖器可以以驅(qū)動(dòng)的頻率在圖形控制臺(tái)處由圖形驅(qū)動(dòng)器(諸如視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)驅(qū)動(dòng)器或者仿真硬件驅(qū)動(dòng)器)更新。然而其他方式(諸如軟件過(guò)程)可以用來(lái)更新幀緩沖器。在一個(gè)實(shí)施例中,使用幀緩沖器和來(lái)自連接引擎3. 12的連接狀態(tài)信息,掃描引擎(3. 2) 一般以與適當(dāng)幀緩沖器被更新的頻率相同的頻率自動(dòng)掃描它并且針對(duì)改變?cè)u(píng)估幀緩沖器。利用在初始握手(3. 14)期間拾取的信息(諸如客戶(hù)端類(lèi)型),掃描引擎(3. 2)可以基于客戶(hù)端能力或者服務(wù)規(guī)則來(lái)選擇不考慮用于捕獲幀緩沖器改變的默認(rèn)集。作為示例,在客戶(hù)端不能有幀緩沖器數(shù)據(jù)的可能是典型的高速刷新速率的情形中,掃描引擎(3. 2)可以選擇減緩(throttle back)掃描和捕獲巾貞緩沖器改變以節(jié)約資源。掃描引擎(3. 2)在對(duì)應(yīng)基于時(shí)間的存儲(chǔ)陣列(3. 3)中存儲(chǔ)用于相應(yīng)VM的幀緩沖器改變的狀態(tài)。替代地,在另一實(shí)施例中,掃描引擎(3. 2)可以處于潛伏從而等待在與VM關(guān)聯(lián)的圖形驅(qū)動(dòng)器改變對(duì)應(yīng)緩沖器中的信息時(shí)被通知(3. 21)并且然后將隨后在通知時(shí)進(jìn)行掃描。在一個(gè)實(shí)施例中,“同步標(biāo)志”或者“同步信號(hào)”可以用來(lái)確定圖形驅(qū)動(dòng)器何時(shí)更新/刷新對(duì)應(yīng)幀緩沖器,使得掃描引擎可以稍后捕獲改變而未損失任何數(shù)據(jù)或者未干擾寫(xiě)入/刷新操作。參照?qǐng)D4描述掃描引擎的功能。替代地參照?qǐng)D3B和圖4,掃描引擎(3. 2)包括用于使掃描引擎能夠辨別與特定VM關(guān)聯(lián)的幀緩沖器的改變并且在基于時(shí)間的構(gòu)造中存儲(chǔ)幀緩沖器改變的狀態(tài)維護(hù)的多個(gè)邏輯。具體而言,掃描引擎(3. 2)可以包括與掃描功能(4. 3)對(duì)話的連接功能(4. I)。對(duì)話(4. 2)由需要連接到的幀緩沖器的位置、大小、位深度和掃描頻率期望構(gòu)成。根據(jù)在初始握手期間并且通過(guò)進(jìn)行中的對(duì)話(連接引擎通過(guò)連接參數(shù)來(lái)與客戶(hù)端維護(hù)該對(duì)話)從連接引擎接收的信息驅(qū)動(dòng)對(duì)話(4. 2)。掃描功能(4. 3)從事幀緩沖器的存儲(chǔ)器映射(4. 4)并且開(kāi)始掃描幀緩沖器中的信息。
掃描功能然后從事增量功能以尋找從先前掃描(4. 6)的改變并且然后在基于時(shí)間的陣列中存儲(chǔ)增量狀態(tài)(4. 7)以便熱引擎(3. 4)使用。增量狀態(tài)(4. 7)代表圖形幀緩沖器內(nèi)的活動(dòng)區(qū)域。連接功能(4. I)可以在速度方面修改掃描功能(4. 3)從事的掃描行為,從而調(diào)用存儲(chǔ)器映射(4. 4)的暫停/重新從事或者斷開(kāi)和釋放。在掃描幀緩沖器之后,熱引擎(3. 4)由算法從事以解釋掃描的信息。在一個(gè)實(shí)施例中,熱引擎(3. 4)查看對(duì)幀緩沖器的改變進(jìn)行定義的基于時(shí)間的陣列和掃描引擎標(biāo)識(shí)的增量狀態(tài),并且評(píng)估活動(dòng)區(qū)域以確定隨時(shí)間的維系活動(dòng)的水平。例如它可以利用信號(hào)放大搜索算法以提升幀緩沖器信息的粒度區(qū)域的靈敏度。在一個(gè)實(shí)施例中,搜索算法在分度槽(graduated trough)中機(jī)制的基礎(chǔ)上工作。例如搜索算法經(jīng)由粗略(gross)二元搜索模式在分割的區(qū)域中工作它的方式以確定是否有活動(dòng)并且然后隨后確定活動(dòng)在何處。在發(fā)現(xiàn)活動(dòng)時(shí),它通過(guò)排除非活動(dòng)區(qū)域來(lái)繼續(xù)搜索模式以及將它本身僅分解至實(shí)際活動(dòng)水平并且退出搜索的其余部分。這限制網(wǎng)絡(luò)開(kāi)銷(xiāo)、CPU消耗并且改進(jìn)搜索時(shí)間和傳輸時(shí)間。此外,這一放大搜索模式可重用,因?yàn)榭梢赃M(jìn)行它以搜尋多個(gè)特性,諸如對(duì)比度、顏色、涉及其他度量的鄰近性的度量等。在一個(gè)實(shí)施例中,用于跟蹤多個(gè)特性的參數(shù)在技術(shù)保持相同之時(shí)可調(diào)。
圖5圖示了熱引擎(3. 4)的功能。詳細(xì)地,熱引擎(3. 4)跟蹤、收集和分析由掃描引擎(3. 2)更新的基于時(shí)間的陣列(3. 3)的改變并且使用濾波器(諸如陣列遍歷濾波器(5. I))以將改變分組成基于時(shí)間的桶。該分析可以是用于建立趨勢(shì)特點(diǎn)(trait)的單個(gè)時(shí)間導(dǎo)數(shù)(derivative)或者多個(gè)導(dǎo)數(shù)。向信號(hào)放大算法(5. 2)中發(fā)送分組以隧穿(tunnel)到改變中達(dá)到充分水平(“充分”由試探算法確定),并且使用熱確定功能(5. 3)來(lái)建立熱的性質(zhì)和像素細(xì)節(jié)水平。這一分析將針對(duì)熱引擎(3. 4)標(biāo)識(shí)的每個(gè)熱區(qū)域在整個(gè)放大過(guò)程(5. 4)中循環(huán)。附加循環(huán)(5. 4)可以針對(duì)熱的不同屬性(包括顏色/對(duì)比度、活動(dòng)等)出現(xiàn)直至分析完成。在庫(kù)(諸如改變區(qū)域數(shù)據(jù)庫(kù)(3. 5))中維護(hù)并且向上下文引擎(3. 6)和邏輯引擎(3. 7)兩者轉(zhuǎn)交來(lái)自熱引擎(3. 4)的分析結(jié)果。在一個(gè)實(shí)施例中,向上下文引擎(3. 6)饋送來(lái)自熱引擎(3. 4)的輸出。回顧圖3B,上下文引擎(3. 6)拾取熱引擎(3. 5)的輸出并且查看以標(biāo)識(shí)鄰接活動(dòng)區(qū)域并且標(biāo)識(shí)區(qū)域的邊界或者任何其他標(biāo)識(shí)特性?,F(xiàn)在將參照?qǐng)D6描述上下文引擎的功能。上下文引擎包括用于評(píng)估熱引擎輸出以確定鄰接區(qū)域是否可以按照活動(dòng)和對(duì)比度來(lái)標(biāo)識(shí)并且視為具有特殊條件的幀的邏輯。在一個(gè)實(shí)施例中,上下文引擎(3. 6)利用聯(lián)合算法(6. I)并且基于對(duì)于上下文引擎(3. 6)可用的語(yǔ)法規(guī)則庫(kù)中可用的幾何原則、色對(duì)比度和時(shí)間(6. 2)來(lái)使用專(zhuān)有工藝語(yǔ)法規(guī)則(proprietary crafted grammatical rule)來(lái)在多變量數(shù)據(jù)集之中尋找元模式。在一個(gè)實(shí)施例中,希望提供全邊界發(fā)現(xiàn)從而在其他變量之中平衡最佳帶寬、最佳體驗(yàn)(無(wú)撕裂)和最佳中央處理單元(CPU)性能(單一統(tǒng)一壓縮建立/拆卸)以針對(duì)帶外處理或者其他技術(shù)做出選擇。在一個(gè)實(shí)施例中,上下文引擎(3. 6)對(duì)較小的幀執(zhí)行分析并且被配置成通過(guò)將較小的幀聯(lián)接在一起來(lái)組裝較大的幀以作為鄰接實(shí)體來(lái)對(duì)待。上下文引擎(3. 6)考慮與活動(dòng)相鄰的區(qū)域的對(duì)比度差異。上下文引擎(3. 6)也查看隨時(shí)間的活動(dòng)水平以確定持久的可能性并且建立用替代技術(shù)操縱活動(dòng)的價(jià)值。在上下文陣列(6. 3)中維護(hù)上下文引擎的輸出?;仡檲D3B,邏輯引擎(3. 7)分析來(lái)自各種源的輸出并且確定將哪個(gè)技術(shù)運(yùn)用于壓縮和傳輸幀緩沖器中的數(shù)據(jù)。邏輯引擎(3. 7)取得來(lái)自多個(gè)源的饋送(諸如來(lái)自熱引擎的饋送(3. 8)、來(lái)自上下文引擎(3. 9)的饋送)、來(lái)自初始握手(3. 14)的信息(關(guān)于客戶(hù)端類(lèi)型、連接的大小和位深度的信息以對(duì)對(duì)比度加權(quán))和沿著反向信道來(lái)自客戶(hù)端的連接饋送(3. 15)的持續(xù)質(zhì)量。現(xiàn)在將參照?qǐng)D7描述邏輯引擎(3. 7)的功能。邏輯引擎(3. 7)取得來(lái)自連接引擎(7. 2)、熱引擎(7. 3)、上下文引擎(7. 4)的輸出并且使用分析功能(7. I)來(lái)執(zhí)行多變量分析以平衡服務(wù)器側(cè)性能、客戶(hù)端側(cè)用戶(hù)體驗(yàn)和網(wǎng)絡(luò)消耗效率的需要。在一個(gè)實(shí)施例中,邏輯引擎依賴(lài)于可用于選擇如下最優(yōu)技術(shù)的壓縮技術(shù)(7. 5)的列表,該最優(yōu)技術(shù)用于壓縮幀緩沖器中的數(shù)據(jù)。算法提供一種用于刷新/恢復(fù)數(shù)據(jù)的高效方式。算法生成的圖像數(shù)據(jù)分組包括與虛擬機(jī)顯示器的圖像的具體部分相關(guān)并且為了在客戶(hù)端處表現(xiàn)圖像的具體部分而分配的數(shù)據(jù)。如更早提到的那樣,每個(gè)圖像數(shù)據(jù)分組中的數(shù)據(jù)包括相對(duì)簡(jiǎn)單的如下語(yǔ)法,該語(yǔ)法定義虛擬機(jī)顯示器的圖像的具體部分。由于生成的圖像數(shù)據(jù)分組的簡(jiǎn)化語(yǔ)法,有可能以精確和聚焦方式重傳遺漏分組。在現(xiàn)有技術(shù)中,刷新在客戶(hù)端處的顯示器將需要傳輸如下分組 的流,這些分組流保持圖形指令和圖像數(shù)據(jù)。利用復(fù)雜語(yǔ)法,在每個(gè)分組中發(fā)送的圖像數(shù)據(jù)可以與一系列其他分組有關(guān)以便描述如下指令的全集,在客戶(hù)端的顯示器驅(qū)動(dòng)器需要這些指令的全集以對(duì)分組解碼來(lái)表現(xiàn)圖像。在許多情況下,刷新顯示器區(qū)域或者部分將需要獲得多個(gè)分組以更新整個(gè)顯示器,因?yàn)榉纸M未預(yù)先分配給顯示器的任何具體部位或者部分(例如一個(gè)或者多個(gè)具體像素)或者與它們相關(guān)。算法因此通過(guò)減少傳輸?shù)臄?shù)據(jù)量而又維護(hù)在客戶(hù)端表現(xiàn)的圖像的質(zhì)量來(lái)實(shí)現(xiàn)優(yōu)化用于傳輸和/或表現(xiàn)幀緩沖器數(shù)據(jù)的網(wǎng)絡(luò)/計(jì)算資源和時(shí)間。進(jìn)而言之,算法實(shí)現(xiàn)刷新或者重傳分組中的與顯示器屏幕的需要刷新或者更新的那些區(qū)域相關(guān)的特定分組。雖然將 定期更新或者刷新整個(gè)顯示器,但是當(dāng)無(wú)需完全刷新或者更新時(shí),通過(guò)不傳輸用于無(wú)需刷新的區(qū)域的分組來(lái)節(jié)省的帶寬可能是大量的。這里應(yīng)當(dāng)注意客戶(hù)端包括用于讀取從算法接收的圖像數(shù)據(jù)分組、剝離封包信息、對(duì)其中包含的數(shù)據(jù)解碼、將數(shù)據(jù)映射到客戶(hù)端的顯示器上的適當(dāng)部分并且基于解碼數(shù)據(jù)的映射在客戶(hù)端的顯示器上表現(xiàn)適當(dāng)部分的必需邏輯。在一個(gè)實(shí)施例中,客戶(hù)端中的邏輯能夠處理圖像數(shù)據(jù)分組中的所有數(shù)據(jù)而無(wú)需客戶(hù)端的本地顯示器驅(qū)動(dòng)通過(guò)它的編程例程處理任何數(shù)據(jù)。在另一實(shí)施例中,客戶(hù)端內(nèi)的邏輯能夠用客戶(hù)端本地顯示器驅(qū)動(dòng)處理圖像數(shù)據(jù)分組中的數(shù)據(jù)從而通過(guò)一個(gè)或者多個(gè)編程例程提供某一處理量。本地顯示器驅(qū)動(dòng)需要的處理部分可以包括將數(shù)據(jù)映射到客戶(hù)端的顯示器的具體部分或者映射顏色等??赡苡袨槭裁磧H需傳輸數(shù)據(jù)子集的任何數(shù)量的原因。一些原因可以包括由于不良連接的數(shù)據(jù)損失、由于具體部分中的高度活動(dòng)的數(shù)據(jù)刷新、由于很低度活動(dòng)或者無(wú)活動(dòng)的定期刷新等。算法可以使用來(lái)自熱引擎和邏輯引擎的輸出以標(biāo)識(shí)幀緩沖器數(shù)據(jù)的具體部分中的活動(dòng)水平以便向客戶(hù)端提供必需數(shù)據(jù)。圖7A-7C圖示了一些示例,其中傳輸具體圖像數(shù)據(jù)分組以便刷新在客戶(hù)端處的VM顯示器的具體部分。這里應(yīng)當(dāng)注意,起初向客戶(hù)端傳輸代表VM顯示器的圖像的來(lái)自幀緩沖器的所有數(shù)據(jù)用于表現(xiàn)。在VM顯示器的圖像的初始表現(xiàn)之后,可以定期刷新/更新數(shù)據(jù)的具體部分或者全部。在圖7A中所示的一個(gè)實(shí)施例中,定期傳輸用于VM顯示器的具體部分的數(shù)據(jù)以刷新在客戶(hù)端處的數(shù)據(jù)。這可能歸因于以下事實(shí)沒(méi)有針對(duì)在相應(yīng)VM處的幀緩沖器數(shù)據(jù)記錄的活動(dòng)。因而沒(méi)有可用于向客戶(hù)端傳輸?shù)男聰?shù)據(jù)并且僅重傳陳舊的冗余數(shù)據(jù)用于刷新在客戶(hù)端處已經(jīng)表現(xiàn)的圖像的具體部分。這將以最陳舊數(shù)據(jù)最先的順序來(lái)完成。在圖7B中,傳輸?shù)臄?shù)據(jù)可以包括一些新數(shù)據(jù)和最陳舊的冗余數(shù)據(jù)。例如用于VM圖像顯示器的具體部分的新數(shù)據(jù)可以與應(yīng)用屏幕(諸如Microsoft Word文檔)上的閃爍光標(biāo)關(guān)聯(lián),并且冗余數(shù)據(jù)可以是與顯示器圖像的陳舊部分關(guān)聯(lián)的數(shù)據(jù)。類(lèi)似地,在圖7C中,為圖像的具體部分傳輸?shù)臄?shù)據(jù)可以包括大部分新數(shù)據(jù)和僅一些陳舊的冗余數(shù)據(jù)。例如新數(shù)據(jù)可以與應(yīng)用屏幕上的定時(shí)器關(guān)聯(lián)并且陳舊的冗余數(shù)據(jù)可以是圖像的剩余部位的尚未改變的部分。圖7A-7C中的每個(gè)箭頭的量值圖示了向客戶(hù)端傳輸?shù)南鄳?yīng)數(shù)據(jù)的量。由于向客戶(hù)端發(fā)送的每個(gè)圖像數(shù)據(jù)分組的相關(guān)性質(zhì),可以?xún)H發(fā)送與刷新/恢復(fù)相關(guān)的數(shù)據(jù)而不必發(fā)送用于整個(gè)圖像的數(shù)據(jù)。通過(guò)圖像數(shù)據(jù)分組發(fā)送的向VM的顯示器圖像的具體部分分配的位圖數(shù)據(jù)實(shí)現(xiàn)刷新/恢復(fù)數(shù)據(jù)的具體部分而無(wú)需刷新剩余數(shù)據(jù),由此減少延遲和網(wǎng)絡(luò)/計(jì)算資源?;仡檲D3B,連接反向信道的質(zhì)量(3. 15)是如下UDP信息流,該信息流注視接收的分組的分組報(bào)頭并且關(guān)于分組的抖動(dòng)、損失和無(wú)序信息進(jìn)行報(bào)告。此外,UDP流也注視延 遲、帶寬和損失的明顯持久調(diào)整并且向邏輯引擎(3. 7)報(bào)告它們。在一個(gè)實(shí)施例中,邏輯引擎(3. 7)具有如下一組預(yù)定邏輯/功能,它調(diào)用這些邏輯/功能以向客戶(hù)端遞送幀緩沖器的各種類(lèi)型。這些功能是基于從各種饋送斷定的刺激在具體組合中使用的壓縮/傳輸技術(shù)(3. 10)的組合。在一個(gè)實(shí)施例中,邏輯引擎(3. 7)經(jīng)由多個(gè)變量分析來(lái)考慮與連接和客戶(hù)端關(guān)聯(lián)的各種參數(shù)和特性。例如在分析階段期間,邏輯引擎考慮(a)客戶(hù)端類(lèi)型。一些客戶(hù)端可以操縱帶外多媒體而其他客戶(hù)端不可以。移動(dòng)電話、桌面計(jì)算機(jī)和OS對(duì)用于以不同方式處理和緩沖網(wǎng)絡(luò)行為的能力具有影響。因而所用技術(shù)考慮網(wǎng)絡(luò)行為并且相應(yīng)地格式化幀緩沖器數(shù)據(jù)的傳出流。此外,一些解壓算法還可能對(duì)于某些客戶(hù)端而言太沉重,并且需要運(yùn)用替代技術(shù);(b)連接類(lèi)型。某些網(wǎng)絡(luò)具有如下延遲和抖動(dòng)特性?xún)烧?,這些特性可以改變需要運(yùn)用的技術(shù)的性質(zhì);(C)區(qū)域的活動(dòng)水平和大小/范圍。將在不同條件之下運(yùn)用具有壓縮技術(shù)的塊大小以適應(yīng)區(qū)域的大小/范圍。此外,還將在不同條件之下運(yùn)用有損比對(duì)無(wú)損壓縮的選擇;(d)區(qū)域的顏色分布。邏輯引擎可以使用隨機(jī)采樣以斷定色場(chǎng)的復(fù)雜性并且將不同壓縮技術(shù)運(yùn)用于文本頁(yè)面比對(duì)圖像比對(duì)一致顏色。邏輯引擎也將利用泊松分布算法作為平衡媒介以標(biāo)識(shí)隨機(jī)奇異點(diǎn)(singularity)的區(qū)域以避免錯(cuò)誤;(e)用于運(yùn)用如下技術(shù)的圖像分析,這些技術(shù)用于與人類(lèi)可視感知容差相配;(f)如下場(chǎng)景,其中一些技術(shù)命中遞減回報(bào)(diminishing return)或者高低效水平(示例產(chǎn)生比原始凈荷更大凈荷的壓縮)并且調(diào)整技術(shù);(g)上下文引擎可以標(biāo)識(shí)可以用分層算法操縱的鄰接區(qū)域。可以將流或者帶外算法運(yùn)用于具體幀緩沖器數(shù)據(jù)類(lèi)型;(h)邏輯引擎被配置成運(yùn)用層標(biāo)識(shí)技術(shù)以標(biāo)識(shí)數(shù)據(jù)流,因?yàn)槠渌麛?shù)據(jù)流源可以被定向到客戶(hù)端。邏輯引擎可以運(yùn)用的壓縮類(lèi)型或者技術(shù)包括(但不限于):像素掃描;triXel (或者像素組);位圖壓縮(有損(諸如JPEG));位圖壓縮(無(wú)損(諸如PNG));方形(可變大小);矩形(可變寬度、高度);未壓縮位圖;顏色常數(shù);位圖高速緩存;以及損失管理技術(shù)(諸如陳舊刷新)。運(yùn)用的壓縮類(lèi)型或者技術(shù)的前述列舉是示例性的并且不應(yīng)視為窮舉或者限制??梢允褂闷渌麎嚎s類(lèi)型或者技術(shù),只要在生態(tài)系統(tǒng)中維護(hù)壓縮的功能和意圖即可。向輸出引擎(3. 11)轉(zhuǎn)交使用壓縮/傳輸技術(shù)(3. 10)的邏輯引擎輸出,輸出引擎封包分組并且基于連接引擎(3. 13)提供的位置說(shuō)明向瘦客戶(hù)端位置傳輸分組。圖9圖示了輸出引擎I. 11的功能。輸出引擎使用路由目的地邏輯9. I來(lái)與連接引擎(9. 2或者3. 12)交互以確定從其接收原始請(qǐng)求的瘦客戶(hù)端的位置、客戶(hù)端類(lèi)型等。用UDP技術(shù)將分組置于網(wǎng)絡(luò)上并且基于內(nèi)容和對(duì)用于操縱網(wǎng)絡(luò)UDP緩沖器的能力進(jìn)行定義的客戶(hù)端類(lèi)型(3. 18)用定制報(bào)頭和分組大小(9. 6)設(shè)定分組的大小??蛻?hù)端接收封包的幀緩沖器數(shù) 據(jù)并且對(duì)報(bào)頭解碼并且如指引的那樣將信息直接放置(9. 7)到屏幕幀上。主要原則是具有很輕量級(jí)的低計(jì)算客戶(hù)端?;仡檲D3B,客戶(hù)端基于在與連接引擎(3.12)的初始握手(3. 14)期間收集的連接信息經(jīng)由m)P流向OS會(huì)話發(fā)送它的鼠標(biāo)點(diǎn)擊和鍵盤(pán)敲擊(3. 16)。此外也向掃描和熱引擎(3. 20)發(fā)送鍵盤(pán)敲擊/鼠標(biāo)點(diǎn)擊以提供關(guān)于可能改變區(qū)域的有效提示。圖10圖示了用于通過(guò)在瘦客戶(hù)端與虛擬環(huán)境內(nèi)的VM上的算法之間的來(lái)回交互來(lái)精細(xì)調(diào)諧/更新捕獲的圖像的示例。具體而言,從客戶(hù)端向掃描引擎(3. 2)和熱引擎(3. 4)發(fā)送標(biāo)識(shí)可能改變區(qū)域的鼠標(biāo)點(diǎn)擊和鍵盤(pán)敲擊(10. 3)。在一個(gè)實(shí)施例中,可以提示掃描引擎從間隙(hiatus)中出來(lái)以基于檢測(cè)到的鼠標(biāo)點(diǎn)擊和鍵盤(pán)敲擊來(lái)掃描用戶(hù)輸入,并且熱引擎可以通過(guò)點(diǎn)擊/鍵入來(lái)選擇向活躍區(qū)域添加人工熱(artificial heat)以保證用戶(hù)的正面體驗(yàn)。因此,算法通過(guò)基于來(lái)自客戶(hù)端的輸入標(biāo)識(shí)可能改變區(qū)域來(lái)精細(xì)調(diào)諧捕獲的圖像、監(jiān)視在這些區(qū)域處的活動(dòng)、生成改變?cè)隽坎⑶蚁蚩蛻?hù)端轉(zhuǎn)發(fā)精細(xì)調(diào)諧的信息用于表現(xiàn)。客戶(hù)端基于在客戶(hù)端與連接引擎(3. 12)之間交換的并且在初始握手(10. 2)期間獲得的連接參數(shù)中提供的路由目的地(10. I)在分組中從輸出引擎(3. 11)接收重新定向的幀緩沖器數(shù)據(jù)(10. 7)。解壓分組并且使用在客戶(hù)端(10. 9)處可用的顯示器功能來(lái)表現(xiàn)分組。客戶(hù)端也可以從OS (3. O)接收帶外多媒體流(10. 10或者3. 17)的直接流,該流可以在客戶(hù)端OS上被直接解碼并且疊加到與客戶(hù)端關(guān)聯(lián)的屏幕(10. 9)上,在該屏幕已經(jīng)表現(xiàn)來(lái)自幀緩沖器的數(shù)據(jù)。在一個(gè)實(shí)施例中,除了在客戶(hù)端與算法的一個(gè)或者多個(gè)模塊之間的通常交互之夕卜,客戶(hù)端還與邏輯引擎3. 7交互以通過(guò)反向信道握手來(lái)交換與連接質(zhì)量關(guān)聯(lián)的信息,該信息也轉(zhuǎn)發(fā)到掃描引擎和熱引擎10.6。此外,反向信道通信也由客戶(hù)端用來(lái)轉(zhuǎn)發(fā)對(duì)連接狀態(tài)的更新(諸如對(duì)連接參數(shù)的動(dòng)態(tài)改變,包括對(duì)客戶(hù)端的顯示器設(shè)備的改變或者在客戶(hù)端處添加一個(gè)或者多個(gè)顯示器設(shè)備)。除了向掃描引擎和熱引擎轉(zhuǎn)發(fā)的更新之外,客戶(hù)端也向在VM上運(yùn)行的應(yīng)用轉(zhuǎn)發(fā)用戶(hù)交互。用戶(hù)交互由掃描引擎接收并且通過(guò)VM的OS轉(zhuǎn)發(fā)到適當(dāng)客戶(hù)端。在一個(gè)實(shí)施例中,雙向多媒體流通信可以通過(guò)與鼠標(biāo)/鍵盤(pán)和流技術(shù)相同的機(jī)制出現(xiàn)。視頻示例將是經(jīng)由分層技術(shù)在客戶(hù)端上通過(guò)本地驅(qū)動(dòng)器的本地顯示(用于用戶(hù)反饋)一該顯示將與客戶(hù)端交互以附著到正確源層中一并且用流往回發(fā)送到OS用于消費(fèi)和處理。根據(jù)聯(lián)合原則設(shè)計(jì)這一特征,而多個(gè)源向相同客戶(hù)端提供體驗(yàn)。為了這樣做,要求每個(gè)源流具有分層標(biāo)識(shí),使得帶外流可以與父層重新整合。此外,雖然可以在客戶(hù)端處定向多個(gè)源,但是客戶(hù)端可以?xún)H選擇一次與一個(gè)源獨(dú)自交互。因此客戶(hù)端需要具有用于在任何時(shí)間點(diǎn)傳送源的所需狀態(tài)的能力(3. 19)。掃描引擎和所有下游服務(wù)也被配置成通過(guò)當(dāng)在解優(yōu)先級(jí)狀態(tài)中時(shí)暫停掃描幀緩沖器來(lái)節(jié)約資源。
某些新移動(dòng)客戶(hù)端操作系統(tǒng)(諸如Android 移動(dòng)電話OS)也包括用于保持基礎(chǔ)通信協(xié)議存活而又隔離和斷開(kāi)屏幕活動(dòng)的構(gòu)造。類(lèi)似地,在一個(gè)場(chǎng)景中,可以向掃描引擎發(fā)送信號(hào)(3. 9)以將掃描解優(yōu)先級(jí),因此節(jié)省服務(wù)器側(cè)和帶寬資源兩者。一個(gè)示例可以是客戶(hù)端預(yù)訂基于云的托管桌面服務(wù)并且同時(shí)消費(fèi)來(lái)自單獨(dú)云的DVR娛樂(lè)服務(wù)。根據(jù)在屏幕上可見(jiàn)的內(nèi)容,每個(gè)云服務(wù)如果該服務(wù)在客戶(hù)端上不可見(jiàn)則可以不處理相應(yīng)幀緩沖器。更早討論的,圖2F圖示了幀緩沖器信息的選擇性顯示概念??蛻?hù)端將傳送針對(duì)基于層邏輯的處理的需要。另一示例可以是根據(jù)桌面計(jì)算機(jī)的境況和桌面型計(jì)算機(jī)提供商的廣告規(guī)則引擎向客戶(hù)端遞送托管桌面服務(wù)而基于廣告的層放置于屏幕上。利用關(guān)于算法工作的上文詳細(xì)描述,現(xiàn)在將參照?qǐng)D13描述標(biāo)識(shí)各種過(guò)程操作的過(guò)程流程。該過(guò)程始于如在操作1310中所示的從客戶(hù)端接收的針對(duì)連接到特定VM的請(qǐng)求。連接請(qǐng)求是針對(duì)訪問(wèn)和控制在VM上運(yùn)行的虛擬服務(wù)并且包括對(duì)客戶(hù)端的連接要求進(jìn)行定義的多個(gè)連接參數(shù)。在執(zhí)行圖像處理器算法的虛擬機(jī)處接收請(qǐng)求。在一個(gè)實(shí)施例中,具有算法的虛擬機(jī)可以充當(dāng)如下服務(wù)器虛擬機(jī),該服務(wù)器虛擬機(jī)訪問(wèn)和管理在管理程序上 運(yùn)行的其他VM的幀緩沖器數(shù)據(jù)。如在操作1320中所示,算法詢(xún)問(wèn)連接請(qǐng)求以標(biāo)識(shí)服務(wù)和位置信息?;谠撛?xún)問(wèn),算法從在管理程序上運(yùn)行的多個(gè)VM之中標(biāo)識(shí)將如下具體VM,該VM將提供客戶(hù)端請(qǐng)求的服務(wù)。算法然后通過(guò)多個(gè)VM在其上執(zhí)行的管理程序直接訪問(wèn)在存儲(chǔ)器中預(yù)定位置的標(biāo)識(shí)的VM的幀緩沖器信息。幀緩沖器定義如下圖形輸出,該圖形輸出代表與VM關(guān)聯(lián)的虛擬機(jī)顯示器的圖像。在SVM處的算法如在操作1340中所示讀取定義圖像的幀緩沖器數(shù)據(jù)并且使用在算法內(nèi)包含的格式化協(xié)議基于與來(lái)自客戶(hù)端的初始連接請(qǐng)求一起獲得的連接參數(shù)將幀緩沖器數(shù)據(jù)處理成圖像數(shù)據(jù)分組。如在操作1350中所示,向在SVM處的網(wǎng)絡(luò)接口卡(NIC)轉(zhuǎn)發(fā)封包的圖像分組,在NIC進(jìn)一步封包圖像分組以符合傳輸協(xié)議并且向客戶(hù)端傳輸圖像分組用于在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備處表現(xiàn)。表現(xiàn)的客戶(hù)端數(shù)據(jù)定義與標(biāo)識(shí)的VM關(guān)聯(lián)的虛擬機(jī)顯示器的圖像。客戶(hù)端解碼/解壓圖像數(shù)據(jù)分組、組裝從圖像數(shù)據(jù)分組獲得的數(shù)據(jù)并且在客戶(hù)端處表現(xiàn)組裝的數(shù)據(jù)。可以捕獲并且向算法返回在表現(xiàn)的圖形輸出處的用戶(hù)交互(諸如鼠標(biāo)點(diǎn)擊和鍵盤(pán)敲擊)用于精細(xì)調(diào)諧和控制VM。利用對(duì)算法的上文一般描述,現(xiàn)在將描述使用算法的各種場(chǎng)景/應(yīng)用的更詳細(xì)描述。應(yīng)當(dāng)注意,可以在多種設(shè)置(聊舉數(shù)例,包括但不限于桌面應(yīng)用、游戲應(yīng)用、消費(fèi)者電子應(yīng)用、移動(dòng)應(yīng)用)中使用算法。上述應(yīng)用列表是示例性的并且不應(yīng)解釋為限制??梢允褂盟惴ǖ钠渌麘?yīng)用/場(chǎng)景是可能的。也應(yīng)當(dāng)注意,算法的總功能和與各種部件的交互在所有場(chǎng)景/應(yīng)用之下保持相同。僅用于訪問(wèn)和使用算法的方式將如在以下章節(jié)中討論的那樣不同。桌面應(yīng)用
通過(guò)諸如個(gè)人計(jì)算機(jī)(PC)、桌面計(jì)算機(jī)、膝上計(jì)算機(jī)等計(jì)算設(shè)備提供桌面服務(wù)。本申請(qǐng)的實(shí)施例使用網(wǎng)絡(luò)連接(諸如因特網(wǎng))通過(guò)桌面計(jì)算機(jī)使用服務(wù)器VM (SVM)中具體化的算法。這里應(yīng)當(dāng)注意,雖然算法被解釋為具體化于SVM中,但是術(shù)語(yǔ)“服務(wù)器”僅用來(lái)說(shuō)明具有具體化的算法的SVM通過(guò)提供客戶(hù)端請(qǐng)求的服務(wù)在客戶(hù)端-服務(wù)器計(jì)算中如同服務(wù)器那樣表現(xiàn)。SVM可以表現(xiàn)為尋求來(lái)自其他VM的信息的客戶(hù)端,這些VM然后可以承擔(dān)服務(wù)器的作用。算法可以具體化于在虛擬基礎(chǔ)設(shè)施中可用的任何VM上。在圖12A中描述的一個(gè)實(shí)施例中,客戶(hù)端是桌面計(jì)算機(jī)(諸如PC或者膝上計(jì)算機(jī))。從一開(kāi)始,連接到網(wǎng)絡(luò)(諸如因特網(wǎng))的桌面計(jì)算機(jī)向虛擬中心(VC)發(fā)送連接請(qǐng)求用于訪問(wèn)和控制在VC內(nèi)可用的虛擬服務(wù)。連接請(qǐng)求包括桌面計(jì)算機(jī)的標(biāo)識(shí)連同其他連接參數(shù)。在提供對(duì)虛擬服務(wù)的訪問(wèn)之前首先使用在連接請(qǐng)求中提供的標(biāo)識(shí)和其他認(rèn)證信息來(lái)認(rèn)證桌面計(jì)算機(jī)。在一個(gè)實(shí)施例中,使用從連接請(qǐng)求獲得的桌面計(jì)算機(jī)的標(biāo)識(shí)信息通過(guò)如下web站點(diǎn)認(rèn)證桌面計(jì)算機(jī),該web站點(diǎn)維護(hù)如下已授權(quán)設(shè)備的列表,這些設(shè)備可以訪問(wèn)與虛擬中心關(guān)聯(lián)并且在因特網(wǎng)上可用的虛擬基礎(chǔ)設(shè)施(VI)。驗(yàn)證桌面計(jì)算機(jī)的標(biāo)識(shí)的前述過(guò)程僅為一種建立認(rèn)證的方式,并且可以使用建立認(rèn)證的其他方式。在認(rèn)證之后,向與VI中的其他VM并排運(yùn)行的SVM發(fā)送來(lái)自桌面計(jì)算機(jī)的連接請(qǐng)求。SVM內(nèi)的圖像處理器算法詢(xún)問(wèn)連接參數(shù)以獲得桌面計(jì)算機(jī)的標(biāo)識(shí)、桌面計(jì)算機(jī)的類(lèi)型、與桌面型計(jì)算機(jī)關(guān)聯(lián)的顯示器設(shè)備類(lèi)型、請(qǐng)求的虛擬服務(wù)的標(biāo)識(shí)、在提供服務(wù)的VM上運(yùn)行的操作系統(tǒng)(OS)、用來(lái)與VM的OS交互的協(xié)議和桌面計(jì)算機(jī)的其他連接要求。因此,連接參數(shù)提供與客戶(hù)端關(guān)聯(lián)的與連接和其他環(huán)境有關(guān)的信息并且包括桌面計(jì)算機(jī)類(lèi)型、客戶(hù)端的始發(fā)因特網(wǎng)協(xié)議(IP)地址、用于虛擬服務(wù)的目的地IP地址、客戶(hù)端類(lèi)型、客戶(hù)端標(biāo)識(shí)信息、與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備的類(lèi)型、在提供虛擬服務(wù)的VM上運(yùn)行的OS、 用來(lái)與VM的OS交互的協(xié)議、可用帶寬的量、在延遲方面的設(shè)備位置、連接的質(zhì)量等。算法通過(guò)標(biāo)識(shí)可以服務(wù)于來(lái)自桌面計(jì)算機(jī)的連接請(qǐng)求的VM、確定OS在標(biāo)識(shí)的VM處刷新幀緩沖器數(shù)據(jù)的掃描速率等來(lái)執(zhí)行將桌面計(jì)算機(jī)連接到適當(dāng)VM的過(guò)程以便與VI的多個(gè)VM在其上運(yùn)行的管理程序適當(dāng)交互以獲得對(duì)與標(biāo)識(shí)的VM關(guān)聯(lián)的幀緩沖器數(shù)據(jù)的訪問(wèn)。管理程序包括如下虛擬圖形卡,該虛擬圖形卡與VM的圖形驅(qū)動(dòng)交互以向通過(guò)管理程序可訪問(wèn)的虛擬存儲(chǔ)器中的預(yù)定位置寫(xiě)入用于標(biāo)識(shí)的VM的幀緩沖器數(shù)據(jù)。SVM中的算法通過(guò)管理程序直接訪問(wèn)和讀取來(lái)自虛擬儲(chǔ)存器中的預(yù)定位置的用于標(biāo)識(shí)的VM的幀緩沖器數(shù)據(jù)。算法在訪問(wèn)幀緩沖器數(shù)據(jù)時(shí)使用適當(dāng)應(yīng)用編程接口(API)以與管理程序交互。API特定于具體管理程序,并且算法具有用于基于連接參數(shù)確定將用于具體管理程序的適當(dāng)API的智能。算法然后使用掃描引擎、熱引擎、上下文引擎和邏輯引擎來(lái)讀取和分析幀緩沖器數(shù)據(jù)并且基于連接參數(shù)使用一個(gè)或者多個(gè)技術(shù)來(lái)生成具有特定和適合于桌面計(jì)算機(jī)的分組大小的圖像數(shù)據(jù)元(分組)并且使用簡(jiǎn)單和通用傳輸協(xié)議(諸如UDP)向客戶(hù)端轉(zhuǎn)發(fā)分組。圖像數(shù)據(jù)分組包括與算法要求和傳輸協(xié)議要求兩者相符的消息類(lèi)型和封包信息。桌面計(jì)算機(jī)接收分組、讀取消息類(lèi)型并且使用適當(dāng)解壓技術(shù)以讀取并且在桌面計(jì)算機(jī)處的顯示器設(shè)備上表現(xiàn)幀緩沖器數(shù)據(jù)。表現(xiàn)的數(shù)據(jù)代表標(biāo)識(shí)的VM的虛擬機(jī)顯示器的如下圖像的部分,其示出在VM處執(zhí)行或者表現(xiàn)的圖元、圖標(biāo)、顯示、程序、鏈接、圖片、電影和用戶(hù)接口操控或者非操控。在表現(xiàn)的幀緩沖器處的用戶(hù)交互和自動(dòng)反饋由算法的客戶(hù)端側(cè)邏輯接收、封包并且傳輸?shù)絊VM。用戶(hù)交互可以包括對(duì)連接參數(shù)和幀緩沖器數(shù)據(jù)的如下改變/更新,這些改變/更新實(shí)現(xiàn)幀緩沖器數(shù)據(jù)的精細(xì)調(diào)諧和更新。用戶(hù)交互與管理員在例行故障排除或者維護(hù)期間在與VM關(guān)聯(lián)的控制臺(tái)處執(zhí)行的交互類(lèi)似。自動(dòng)反饋向SVM中的算法提供涉及在VM上執(zhí)行的響應(yīng)于連接請(qǐng)求來(lái)提供服務(wù)的一個(gè)或者多個(gè)應(yīng)用的連接質(zhì)量信息和數(shù)據(jù)。通過(guò)反向信道通信向算法傳回用戶(hù)交互和自動(dòng)反饋信息。通過(guò)管理程序和算法在VM與客戶(hù)端之間的交互使用戶(hù)能夠控制在VM處的一個(gè)或者多個(gè)服務(wù)。在另一實(shí)施例中,膝上計(jì)算機(jī)充當(dāng)如下客戶(hù)端,該客戶(hù)端請(qǐng)求連接到虛擬環(huán)境中的VM。為膝上計(jì)算機(jī)建立與VM的連接的過(guò)程與上文參照桌面型應(yīng)用討論的實(shí)施例相似。在這一實(shí)施例中,基于在客戶(hù)端與算法的初始握手期間建立的連接參數(shù)來(lái)配置幀緩沖器數(shù)據(jù)并且該數(shù)據(jù)特定用于與膝上計(jì)算機(jī)關(guān)聯(lián)的顯示器設(shè)備。在本發(fā)明的一個(gè)實(shí)施例中,圖像處理器算法提供對(duì)用戶(hù)的計(jì)算簡(jiǎn)檔的訪問(wèn)。計(jì)算簡(jiǎn)檔如在本申請(qǐng)中使用的那樣指代為具體用戶(hù)配置的如下計(jì)算機(jī)系統(tǒng),具體應(yīng)用和硬件在該計(jì)算機(jī)系統(tǒng)上可用/執(zhí)行。因而用戶(hù)的計(jì)算簡(jiǎn)檔可以包括如下定制的桌面計(jì)算機(jī),用戶(hù)已經(jīng)向該桌面計(jì)算機(jī)配置具體硬件設(shè)備和軟件應(yīng)用。在這一實(shí)施例中,連接請(qǐng)求用來(lái)訪問(wèn)用戶(hù)的這一計(jì)算簡(jiǎn)檔,使得用戶(hù)可以通過(guò)網(wǎng)絡(luò)通過(guò)客戶(hù)端控制硬件/軟件??蛻?hù)端在這一實(shí)施例中可以是移動(dòng)設(shè)備或者任何其他計(jì)算設(shè)備,諸如連接到網(wǎng)絡(luò)的共同定位或者遠(yuǎn)程的桌面PC或者膝上計(jì)算機(jī)。當(dāng)客戶(hù)端發(fā)起連接請(qǐng)求時(shí),客戶(hù)端首先由用戶(hù)認(rèn)證服務(wù)授權(quán)。在認(rèn)證時(shí),允許客戶(hù)端訪問(wèn)虛擬中心和在虛擬中心內(nèi)的VM上運(yùn)行的算法。算法通過(guò)提供對(duì)如下幀緩沖器數(shù)據(jù)的訪問(wèn)來(lái)提供對(duì)服務(wù)的訪問(wèn),該幀緩沖器數(shù)據(jù)代表用戶(hù)的計(jì)算簡(jiǎn)檔的圖像。在本發(fā)明的另一實(shí)施例中,算法向用戶(hù)提供對(duì)具體VM的具體會(huì)話的訪問(wèn)。在這一實(shí)施例中,通過(guò)使用管理程序和圖像處理器算法訪問(wèn)用于具體VM的幀緩沖器數(shù)據(jù)來(lái)提供對(duì)具體會(huì)話的訪問(wèn)。在一個(gè)實(shí)施例中,建立與VM的會(huì)話提供對(duì)用戶(hù)的計(jì)算簡(jiǎn)檔或者桌面計(jì)·算機(jī)的訪問(wèn)。簡(jiǎn)檔可以定義通過(guò)用戶(hù)的簡(jiǎn)檔可訪問(wèn)的用戶(hù)的桌面、文件夾、數(shù)據(jù)、應(yīng)用和服務(wù)的視圖。在會(huì)話期間,用戶(hù)可以訪問(wèn)和利用簡(jiǎn)檔的所有接口如同用戶(hù)在他的桌面計(jì)算機(jī)或者計(jì)算機(jī)本地一樣。在會(huì)話期間,用戶(hù)將能夠如這里描述的那樣使用反向信道來(lái)傳送所有I/O輸入(例如鍵盤(pán)錄入、鼠標(biāo)錄入、用戶(hù)接口錄入等)。在會(huì)話期間,用戶(hù)將能夠接通和關(guān)斷他的計(jì)算機(jī)(即簡(jiǎn)檔)、讓?xiě)?yīng)用或者窗口打開(kāi)或者關(guān)閉、離開(kāi)會(huì)話并且與會(huì)話重新連接。在本發(fā)明的一個(gè)實(shí)施例中,算法允許動(dòng)態(tài)重新采樣幀緩沖器數(shù)據(jù)并且重新設(shè)定幀緩沖器數(shù)據(jù)的大小或者連接到不同大小的幀緩沖器以適應(yīng)與客戶(hù)端關(guān)聯(lián)的表現(xiàn)設(shè)備的大小和格式的改變。因此,當(dāng)與膝上計(jì)算機(jī)關(guān)聯(lián)的顯示器設(shè)備動(dòng)態(tài)改變成不同類(lèi)型(包括不同大小、不同格式)時(shí),在SVM處的算法基于更新的連接參數(shù)識(shí)別改變并且處理讀取的標(biāo)識(shí)VM的幀緩沖器數(shù)據(jù)以針對(duì)符合改變的顯示器設(shè)備的要求的讀取的幀緩沖器數(shù)據(jù)提供適當(dāng)圖像數(shù)據(jù)分組。在另一實(shí)施例中,算法具有用于針對(duì)客戶(hù)端設(shè)備的不同配置生成多組圖像數(shù)據(jù)分組的能力并且因此可以基于詢(xún)問(wèn)客戶(hù)端的啟動(dòng)參數(shù)的詢(xún)問(wèn)來(lái)提供不同大小、定向、位深度等的圖像數(shù)據(jù)分組。在這一實(shí)施例中,算法中的邏輯可以包括用于基于詢(xún)問(wèn)客戶(hù)端的連接參數(shù)來(lái)標(biāo)識(shí)如下正確一組圖像數(shù)據(jù)分組的標(biāo)準(zhǔn)切換,該組圖像數(shù)據(jù)分組具有特定于與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備的大小、格式、定向、位深度等。每當(dāng)客戶(hù)端斷開(kāi)連接并且與新顯示器設(shè)備重新連接時(shí),算法基于新握手來(lái)識(shí)別用于幀緩沖器數(shù)據(jù)的修正標(biāo)準(zhǔn)并且動(dòng)態(tài)生成具有與修正標(biāo)準(zhǔn)匹配的位深度、大小、定向等的適當(dāng)一組或者多組圖像數(shù)據(jù)分組,該適當(dāng)一組或者多組圖像數(shù)據(jù)分組代表幀緩沖器數(shù)據(jù)。聊舉數(shù)例,考慮用于重新設(shè)定大小的一些標(biāo)準(zhǔn)可以包括位深度、大小、定向、格式。算法有時(shí)將連接到不同幀緩沖器以更好地促進(jìn)交互。因此,算法能夠基于在客戶(hù)端處的可變要求適應(yīng)對(duì)幀緩沖器數(shù)據(jù)的動(dòng)態(tài)大小重新設(shè)定和重新格式化。在另一實(shí)施例中,算法允許在與客戶(hù)端關(guān)聯(lián)的多個(gè)顯示器設(shè)備上同時(shí)表現(xiàn)不同大小的幀緩沖器數(shù)據(jù)。因此,如果客戶(hù)端為膝上計(jì)算機(jī)并且將桌面計(jì)算機(jī)的顯示器設(shè)備連同膝上計(jì)算機(jī)自己的屏幕一起用于表現(xiàn),則算法實(shí)現(xiàn)在膝上計(jì)算機(jī)屏幕和桌面計(jì)算機(jī)的顯示器設(shè)備兩者上同時(shí)表現(xiàn)幀緩沖器數(shù)據(jù)的適當(dāng)大小。應(yīng)當(dāng)注意,參與格式化圖像數(shù)據(jù)分組的壓縮技術(shù)可能使用無(wú)損壓縮或者有損壓縮。為了保證算法在刷新數(shù)據(jù)之時(shí)不提取幀緩沖器數(shù)據(jù),同步標(biāo)志可能用來(lái)保證算法僅在OS完成幀緩沖器數(shù)據(jù)的刷新之后接收數(shù)據(jù)。在一個(gè)實(shí)施例中,膝上計(jì)算機(jī)可以如圖12A-1中所示使用接泊站以建立與虛擬中心中的虛擬服務(wù)的網(wǎng)絡(luò)連接。膝上計(jì)算機(jī)通過(guò)接泊站連接到網(wǎng)絡(luò)。具有嵌入式算法的服務(wù)器VM在從膝上計(jì)算機(jī)接收連接請(qǐng)求時(shí)獲得激活并且基于連接參數(shù)認(rèn)證膝上計(jì)算機(jī)。SVM可以是虛擬中心的如下部分,該部分有權(quán)訪問(wèn)在通過(guò)因特網(wǎng)和激活的算法可訪問(wèn)的VM上運(yùn)行的各種服務(wù)/應(yīng)用。虛擬中心包括組成虛擬基礎(chǔ)設(shè)施的所有部件,包括下層物理硬件、管理程序、在管理程序上運(yùn)行的多個(gè)虛擬機(jī)而各種類(lèi)型的操作系統(tǒng)在VM內(nèi)執(zhí)行。算法在客戶(hù)端處檢測(cè)對(duì)一個(gè)或者多個(gè)連接參數(shù)的動(dòng)態(tài)改變并且相應(yīng)地動(dòng)態(tài)調(diào)整幀緩沖器數(shù)據(jù)的呈現(xiàn)。算法通過(guò)反向信道來(lái)與客戶(hù)端(諸如桌面計(jì)算機(jī)或者膝上計(jì)算機(jī))交換連接質(zhì)量信息并且通過(guò)與管理程序交互來(lái)精細(xì)調(diào)諧幀緩沖器數(shù)據(jù)以符合連接質(zhì)量。 在另一實(shí)施例中,可以如圖12B中所示在計(jì)算機(jī)可讀介質(zhì)(諸如閃存驅(qū)動(dòng)器)上提供軟件客戶(hù)端??梢韵蛴?jì)算設(shè)備(諸如桌面計(jì)算設(shè)備或者膝上計(jì)算設(shè)備)的通用串行總線(USB)端口中插入并且通過(guò)膝上/桌面PC來(lái)訪問(wèn)具有軟件客戶(hù)端的閃存驅(qū)動(dòng)。軟件客戶(hù)端提供用于認(rèn)證具有軟件客戶(hù)端的閃存驅(qū)動(dòng)器插入于其中的桌面PC或者膝上計(jì)算機(jī)的認(rèn)證機(jī)制。在認(rèn)證時(shí),桌面PC或者膝上計(jì)算機(jī)配備有與包括如下虛擬基礎(chǔ)設(shè)施的虛擬中心的信任連接,該虛擬基礎(chǔ)設(shè)施具有訪問(wèn)下層共享資源的在管理程序上執(zhí)行的多個(gè)VM。認(rèn)證的桌面PC可以通過(guò)生成向服務(wù)的連接請(qǐng)求來(lái)激活SVM并且與SVM交互以從具體VM獲得幀緩沖器數(shù)據(jù)。在圖12C中所示另一實(shí)施例中,桌面型PC可以使用高速連接(諸如可用于桌面PC的無(wú)線高保真(Wi-Fi)技術(shù))來(lái)連接到虛擬中心。在這一實(shí)施例中,桌面PC提供的向虛擬服務(wù)的連接請(qǐng)求包括桌面PC的標(biāo)識(shí)。當(dāng)在SVM上運(yùn)行的算法接收連接請(qǐng)求時(shí),算法詢(xún)問(wèn)與連接請(qǐng)求一起提供的連接參數(shù)以標(biāo)識(shí)桌面PC、標(biāo)識(shí)可以提供對(duì)在連接請(qǐng)求中請(qǐng)求的服務(wù)的訪問(wèn)的VM和桌面PC的連接要求,包括位深度、可接受掃描速率、定向等。算法首先認(rèn)證桌面PC并且在認(rèn)證時(shí)通過(guò)管理程序直接訪問(wèn)標(biāo)識(shí)的VM的幀緩沖器信息、封包幀緩沖器數(shù)據(jù)并且使用Wi-Fi連接向桌面PC轉(zhuǎn)發(fā)封包的幀緩沖器數(shù)據(jù),該數(shù)據(jù)代表VM的虛擬機(jī)顯示器的圖像。參照?qǐng)D12A-12C的前述實(shí)施例代表在VM上執(zhí)行的用于訪問(wèn)和控制客戶(hù)端所請(qǐng)求的服務(wù)的一些示例性方式。服務(wù)可以是對(duì)運(yùn)行應(yīng)用的VM的顯示,這些應(yīng)用被設(shè)計(jì)用于在客戶(hù)端上運(yùn)行。在圖11中所示另一實(shí)施例中,算法提供一種用于使用單個(gè)客戶(hù)端來(lái)遠(yuǎn)程訪問(wèn)在不同層處可用的多個(gè)服務(wù)的簡(jiǎn)單和有效工具。客戶(hù)端可以是“瘦”客戶(hù)端或者“胖”客戶(hù)端。在這一實(shí)施例中,虛擬基礎(chǔ)設(shè)施包括多個(gè)服務(wù)“云”。例如可以有提供對(duì)多個(gè)桌面應(yīng)用的訪問(wèn)的桌面應(yīng)用服務(wù)云1110、具有多個(gè)在線游戲的游戲服務(wù)云1120、用于獲得在線多媒體內(nèi)容流的PVR/DVR/DVD服務(wù)云1130 (諸如NetFlix 提供的服務(wù)云等)以及其他類(lèi)型的游戲/應(yīng)用服務(wù)云1140。這些云中的每個(gè)云提供用于客戶(hù)端訪問(wèn)和控制的具體服務(wù)類(lèi)型。上述服務(wù)云列舉是示例性的并且不應(yīng)視為限制。其他類(lèi)型的服務(wù)云可以與本發(fā)明的實(shí)施例一起使用。每個(gè)云具有它自己的如下虛擬中心,該虛擬中心具有在管理程序上運(yùn)行并且訪問(wèn)下層硬件的多個(gè)VM。在至少VM中的每個(gè)云處提供圖像處理器算法(IPA)。在一個(gè)實(shí)施例中,在單獨(dú)服務(wù)器VM (SVM)處提供IPA。在另一實(shí)施例中,在每個(gè)服務(wù)層內(nèi)的幾個(gè)VM處提供IPA。在另一實(shí)施例中,IPA可以在每個(gè)服務(wù)層內(nèi)的所有VM中可用。在一個(gè)實(shí)施例中,客戶(hù)端(諸如桌面計(jì)算機(jī))可以通過(guò)訪問(wèn)適當(dāng)IPA來(lái)訪問(wèn)在每個(gè)云處的應(yīng)用/服務(wù)。該過(guò)程始于客戶(hù)端生成連接請(qǐng)求。連接請(qǐng)求包括如下多個(gè)連接參數(shù),這些連接參數(shù)定義與客戶(hù)端關(guān)聯(lián)的連接標(biāo)準(zhǔn)和環(huán)境。在連接參數(shù)中包括的是標(biāo)識(shí)服務(wù)層的服務(wù)層標(biāo)識(shí)信息和客戶(hù)端嘗試訪問(wèn)的具體服務(wù)。算法詢(xún)問(wèn)連接參數(shù)以標(biāo)識(shí)與請(qǐng)求的服務(wù)有關(guān)的具體服務(wù)層和提供請(qǐng)求的服務(wù)的具體VM。例如請(qǐng)求的服務(wù)可以是在桌面應(yīng)用服務(wù)云內(nèi)的應(yīng)用。一旦標(biāo)識(shí)請(qǐng)求的服務(wù)層和VM,算法就通過(guò)管理程序直接訪問(wèn)標(biāo)識(shí)的層中的、用于標(biāo)識(shí)的VM的請(qǐng)求的服務(wù)的幀緩沖器數(shù)據(jù)、分析幀緩沖器數(shù)據(jù)并且在客戶(hù)端指定的格式中生成圖像數(shù)據(jù)的分組。根據(jù)格式化算法和網(wǎng)絡(luò)要求封包生成的分組并且向客戶(hù)端傳輸這些分組用于解碼、處理、組裝和表現(xiàn)。算法允許客戶(hù)端通過(guò)表現(xiàn)的幀緩沖器管理服務(wù)。當(dāng)客戶(hù)端希望訪問(wèn)相同云內(nèi)的不同服務(wù)時(shí),客戶(hù)端僅終止現(xiàn)有連接并且生成新連 接請(qǐng)求。算法檢測(cè)新連接請(qǐng)求并且詢(xún)問(wèn)新連接請(qǐng)求、例如標(biāo)識(shí)相同桌面應(yīng)用服務(wù)云1110內(nèi)的新服務(wù)并且從VM針對(duì)請(qǐng)求的服務(wù)以圖像數(shù)據(jù)分組的形式提供幀緩沖器數(shù)據(jù),該VM可以是桌面應(yīng)用服務(wù)云的VI內(nèi)的相同VM或者不同VM。以特定于客戶(hù)端的格式提供圖像數(shù)據(jù)分組。沿著相似線路,當(dāng)客戶(hù)端想要訪問(wèn)不同云(諸如游戲服務(wù)云)中的不同服務(wù)時(shí),客戶(hù)端然后終止例如與桌面應(yīng)用服務(wù)云1110的現(xiàn)有連接并且建立與在連接參數(shù)中提供的新服務(wù)(諸如在游戲服務(wù)云內(nèi)的在線游戲應(yīng)用)的新連接請(qǐng)求。算法檢測(cè)新連接請(qǐng)求、詢(xún)問(wèn)請(qǐng)求以獲得新連接參數(shù)、使用新連接參數(shù)來(lái)建立與游戲應(yīng)用云1120內(nèi)的新游戲應(yīng)用的連接、使用在游戲應(yīng)用云1120處的管理程序來(lái)獲得用于新游戲應(yīng)用的幀緩沖器數(shù)據(jù)、基于連接參數(shù)將幀緩沖器數(shù)據(jù)封包成符合客戶(hù)端要求的分組并且向客戶(hù)端傳輸封包的幀緩沖器數(shù)據(jù)用于表現(xiàn)。如更早提到的那樣,可以在請(qǐng)求時(shí)或者在初始創(chuàng)建幀緩沖器數(shù)據(jù)期間針對(duì)相同幀緩沖器數(shù)據(jù)動(dòng)態(tài)生成幀緩沖器數(shù)據(jù)的具有不同顯示要求的多個(gè)格式并且如需要的那樣和在需要時(shí)向客戶(hù)端提供這些格式。客戶(hù)端因此提供用于從一個(gè)應(yīng)用服務(wù)云中的一個(gè)服務(wù)類(lèi)型向另一應(yīng)用服務(wù)云中的另一服務(wù)類(lèi)型切換而不必加入專(zhuān)用協(xié)議/軟件或者不同客戶(hù)端的方式。應(yīng)當(dāng)注意,上述實(shí)施例提供在任何給定時(shí)間訪問(wèn)來(lái)自具體層的服務(wù)并且在客戶(hù)端處表現(xiàn)與服務(wù)關(guān)聯(lián)的信息的細(xì)節(jié)。然而實(shí)施例不限于在任何給定時(shí)間提供對(duì)僅一個(gè)服務(wù)的訪問(wèn)、但是可以延及在任何給定時(shí)間從多個(gè)層提供多個(gè)服務(wù)。因而算法允許使用連接參數(shù)來(lái)訪問(wèn)來(lái)自多個(gè)層中的多個(gè)服務(wù)的幀緩沖器信息并且在客戶(hù)端的顯示器設(shè)備處同時(shí)表現(xiàn)幀緩沖器數(shù)據(jù)。以與已經(jīng)參照?qǐng)D2F討論的方式相似的方式表現(xiàn)來(lái)自多個(gè)服務(wù)的幀緩沖器數(shù)據(jù)而圖像構(gòu)造部分表現(xiàn)來(lái)自相應(yīng)服務(wù)的圖像數(shù)據(jù)。上述實(shí)施例描述一種使客戶(hù)端能夠控制VM而未與在VM上運(yùn)行的任何操作系統(tǒng)直接交互的高效和靈活工具。由于算法請(qǐng)求幀緩沖器數(shù)據(jù)用于在顯示器設(shè)備上表現(xiàn)并且不是請(qǐng)求來(lái)自O(shè)S的實(shí)際數(shù)據(jù)用于重新創(chuàng)建在VM的虛擬監(jiān)視器處表現(xiàn)的內(nèi)容,所以無(wú)需遵循任何專(zhuān)用協(xié)議用于解釋數(shù)據(jù)。另外,已經(jīng)分析從算法接收的數(shù)據(jù)用于上下文,并且在算法向客戶(hù)端傳輸?shù)膱D像數(shù)據(jù)分組中包括適當(dāng)上下文信息。因而在客戶(hù)端處無(wú)需用于解釋圖像數(shù)據(jù)的分析,因此在客戶(hù)端側(cè)避免大型CPU。另外,在客戶(hù)端與VM之間的所有交互通過(guò)管理程序并且不是與VM的OS直接交互。算法和在管理程序內(nèi)的虛擬視頻驅(qū)動(dòng)器保證以指定的格式從所有VM接收幀緩沖器數(shù)據(jù)以便使幀緩沖器數(shù)據(jù)在客戶(hù)端處的解釋簡(jiǎn)單和容易。這使甚至很瘦客戶(hù)端也能夠使用適當(dāng)解壓方法來(lái)訪問(wèn)幀緩沖器數(shù)據(jù),從而使這成為一種用于訪問(wèn)和控制VM的很靈活工具集。另外,算法使用實(shí)現(xiàn)通過(guò)長(zhǎng)距離傳輸幀緩沖器數(shù)據(jù)的諸如用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP)等很通用和簡(jiǎn)單的傳輸協(xié)議。指定的格式與簡(jiǎn)單傳輸協(xié)議的組合實(shí)現(xiàn)以快速容易方式的重傳,從而使算法能夠具有對(duì)延遲不敏感和對(duì)損失不敏感的特性。應(yīng)當(dāng)注意,當(dāng)前發(fā)明的實(shí)施例提供用于允許應(yīng)用繼續(xù)在VI “云”中執(zhí)行的方式而又提供用于遠(yuǎn)程訪問(wèn)和控制這些應(yīng)用的工具。本領(lǐng)域技術(shù)人員可以容易形象化當(dāng)前實(shí)施例的這些和其他優(yōu)勢(shì)。移動(dòng)應(yīng)用 除了桌面應(yīng)用之外,當(dāng)前教導(dǎo)可以適當(dāng)?shù)嘏c移動(dòng)設(shè)備一起用于訪問(wèn)適應(yīng)移動(dòng)設(shè)備的應(yīng)用/服務(wù)。移動(dòng)設(shè)備可能解釋為瘦客戶(hù)端并且可以設(shè)想為具有觸摸輸入顯示器設(shè)備或者具有小型鍵盤(pán)的顯示器設(shè)備并且具有很有限計(jì)算資源的口袋大小的計(jì)算設(shè)備。移動(dòng)設(shè)備涵蓋廣范消費(fèi)者電子設(shè)備,聊舉數(shù)例,諸如個(gè)人數(shù)字助理(PDA)、智能電話、平板PC。上述移動(dòng)設(shè)備列表是示例性的并且不應(yīng)視為限制。如今的移動(dòng)設(shè)備是能夠分接到其中托管諸如電子郵件、即時(shí)消息收發(fā)、文字消息收發(fā)、Web瀏覽等廣泛應(yīng)用的虛擬環(huán)境中的多功能設(shè)備。然而訪問(wèn)具有它們豐富客戶(hù)端形式的此類(lèi)應(yīng)用將導(dǎo)致如下移動(dòng)設(shè)備,該移動(dòng)設(shè)備需要大型處理器以解壓專(zhuān)用應(yīng)用數(shù)據(jù)以便提供對(duì)數(shù)據(jù)和對(duì)提供數(shù)據(jù)的VM的訪問(wèn)。移動(dòng)設(shè)備內(nèi)的處理器的大型計(jì)算機(jī)密集要求將是昂貴的,從而給移動(dòng)設(shè)備制造商帶來(lái)平衡效率與設(shè)計(jì)的持續(xù)挑戰(zhàn)。此外,隨著使越來(lái)越多的應(yīng)用可用于移動(dòng)設(shè)備,對(duì)處理器的需求變得更大,從而使平衡應(yīng)用與計(jì)算資源變成很棘手和困難的任務(wù)。為了避免必須為更多應(yīng)用選擇大型處理器與高效設(shè)計(jì)構(gòu)造的沖突,圖像處理器算法可以用來(lái)提供在瘦移動(dòng)設(shè)備與運(yùn)行于VM上的服務(wù)/應(yīng)用之間的接口。算法使人們能夠利用瘦移動(dòng)設(shè)備的有限資源而又提供用于訪問(wèn)和控制在虛擬中心內(nèi)的多個(gè)VM上運(yùn)行的大量應(yīng)用/服務(wù)的能力。上文已經(jīng)參照?qǐng)D2-10詳細(xì)描述算法的一般運(yùn)轉(zhuǎn)。將參照?qǐng)D12A-2描述移動(dòng)設(shè)備的運(yùn)轉(zhuǎn)。在一個(gè)實(shí)施例中,移動(dòng)設(shè)備通過(guò)連接到網(wǎng)絡(luò)(諸如因特網(wǎng))來(lái)訪問(wèn)VM中的服務(wù)/資源。在另一實(shí)施例中,移動(dòng)設(shè)備(諸如個(gè)人數(shù)字助理(PDA))使來(lái)自個(gè)人計(jì)算機(jī)(PC)的資源能夠訪問(wèn)在通過(guò)網(wǎng)絡(luò)可用的在虛擬中心(VC)內(nèi)的虛擬機(jī)(VM)上運(yùn)行的服務(wù)。PC可以在網(wǎng)吧可用并且是Wi-Fi網(wǎng)絡(luò)的部分或者可以是通過(guò)廣域網(wǎng)連接(WAN)訪問(wèn)VC的桌面PC。PC包括標(biāo)識(shí)標(biāo)簽或者信息(諸如條形碼或者射頻標(biāo)識(shí)(RFID)標(biāo)簽)。移動(dòng)設(shè)備在標(biāo)識(shí)PC設(shè)備之后通過(guò)蜂窩網(wǎng)絡(luò)認(rèn)證設(shè)備。一旦認(rèn)證PC的標(biāo)識(shí),PC就配備有與包括如下虛擬基礎(chǔ)設(shè)施(VI)的虛擬中心的信任連接,該VI具有訪問(wèn)下層共享資源的在管理程序上運(yùn)行的多個(gè)VM。指引認(rèn)證的PC在VC “云”中建立用于訪問(wèn)在VC中的VM處可用的應(yīng)用/服務(wù)的會(huì)話。如更早關(guān)于桌面應(yīng)用提到的那樣,PC可以能夠使用圖像處理器算法來(lái)訪問(wèn)在不同層中可用的多個(gè)類(lèi)型的虛擬服務(wù)/應(yīng)用。因此使用PC作為接入點(diǎn),用戶(hù)可以獲得對(duì)在VM處可用的多個(gè)服務(wù)/應(yīng)用的訪問(wèn)和控制。類(lèi)似地,在另一實(shí)施例中,具有鍵盤(pán)、監(jiān)視器和鼠標(biāo)的移動(dòng)設(shè)備在直接連接到接泊站時(shí)充當(dāng)如下獨(dú)立客戶(hù)端,該客戶(hù)端請(qǐng)求連接到虛擬環(huán)境中的VM。為移動(dòng)設(shè)備建立與VM的連接的過(guò)程類(lèi)似于上文參照使用接泊站的膝上和桌面應(yīng)用而討論的實(shí)施例。移動(dòng)客戶(hù)端將使用Wi-Fi網(wǎng)絡(luò)建立網(wǎng)絡(luò)連通并且接泊站可以供應(yīng)持續(xù)充電。在這一實(shí)施例中,基于在客戶(hù)端與算法的初始握手期間建立的連接參數(shù)來(lái)為與移動(dòng)設(shè)備關(guān)聯(lián)的顯示器設(shè)備配置幀緩沖器數(shù)據(jù)。移動(dòng)設(shè)備會(huì)話在范圍上類(lèi)似于參照?qǐng)D2A描述的桌面PC或者膝上計(jì)算機(jī)建立的會(huì)話。算法提供用于遠(yuǎn)程服務(wù)/應(yīng)用的方式。算法具有用于針對(duì)從VM獲得的具體服務(wù)掃描和查看幀緩沖器、確定活動(dòng)區(qū)域和每個(gè)活動(dòng)區(qū)域中的活動(dòng)量并且僅關(guān)注那些活動(dòng)區(qū)域而忽略非活動(dòng)區(qū)域的邏輯。這將實(shí)現(xiàn)節(jié)約帶寬和網(wǎng)絡(luò)資源,使得僅傳輸已經(jīng)改變的數(shù)據(jù)。算法也具有用于確定用于檢測(cè)幀或者帶外多媒體內(nèi)容的邊界并且使用用于提取并且在帶外多媒體流中傳輸這樣的數(shù)據(jù)的專(zhuān)門(mén)化技術(shù)的邏輯。當(dāng)在移動(dòng)設(shè)備處接收帶外流時(shí),該流被處理并且以移動(dòng)設(shè)備理解的格式疊加于與移動(dòng)設(shè)備關(guān)聯(lián)的屏幕上。 算法提供用于在移動(dòng)設(shè)備處表現(xiàn)的附加幀緩沖器數(shù)據(jù)格式以適應(yīng)除了在移動(dòng)設(shè)備處可用的顯示器設(shè)備之外的顯示器設(shè)備。算法使用在客戶(hù)端與算法之間的初始握手期間的連接信息并且提供適當(dāng)格式化的幀緩沖器數(shù)據(jù)用于表現(xiàn)。因此如果移動(dòng)設(shè)備使用接泊站以訪問(wèn)監(jiān)視器/顯示器設(shè)備,則算法獲得與移動(dòng)設(shè)備關(guān)聯(lián)的顯示器設(shè)備的要求并且請(qǐng)求針對(duì)對(duì)應(yīng)顯示器設(shè)備的顯示要求而格式化的幀緩沖器數(shù)據(jù)。如更早提到的那樣,算法動(dòng)態(tài)生成適當(dāng)格式化的幀緩沖器數(shù)據(jù)或者從已經(jīng)為幀緩沖器數(shù)據(jù)創(chuàng)建的多個(gè)格式選擇具體格式用于傳輸。記錄并且向算法轉(zhuǎn)發(fā)在移動(dòng)設(shè)備處的用戶(hù)交互和其他反饋用于精細(xì)調(diào)諧和更新。當(dāng)前實(shí)施例提供用于共同定位或者非共同定位的很瘦客戶(hù)端的使用網(wǎng)絡(luò)連接來(lái)遠(yuǎn)程訪問(wèn)和控制VC云中可用的各種服務(wù)/應(yīng)用的能力。算法在可預(yù)測(cè)的格式中提供幀緩沖器數(shù)據(jù)并且因此無(wú)需專(zhuān)用協(xié)議用于壓縮/解壓數(shù)據(jù)。在VM處維護(hù)和執(zhí)行所有服務(wù),并且在VC中的VM層處執(zhí)行算法的VM使用在VM層處可用的資源來(lái)本地完成復(fù)雜處理和格式化。在客戶(hù)端側(cè)無(wú)需復(fù)雜處理從而使這成為一種更可接受和有效的解決方案。其他優(yōu)勢(shì)對(duì)于本領(lǐng)域技術(shù)人員將變得明顯。游戲應(yīng)用
除了桌面應(yīng)用和移動(dòng)應(yīng)用之外,算法還可以在游戲應(yīng)用中用來(lái)提供一種用于控制游戲應(yīng)用/服務(wù)的更靈活和高效工具。本發(fā)明的實(shí)施例使用算法的功能方面以提供對(duì)在游戲服務(wù)云處可用的游戲應(yīng)用/服務(wù)的控制。客戶(hù)端在這一實(shí)施例中是用于任何其他服務(wù)的任何客戶(hù)端,無(wú)論它是PC、瘦客戶(hù)端或者接泊的移動(dòng)設(shè)備還是市面上可用的任何其他邊緣設(shè)備,諸如游戲控制臺(tái)。游戲控制臺(tái)如業(yè)內(nèi)公知的那樣是連接到顯示器設(shè)備(諸如電視機(jī)屏幕或者計(jì)算機(jī)監(jiān)視器)的交互式計(jì)算機(jī)系統(tǒng)并且產(chǎn)生可以與顯示器設(shè)備一起用來(lái)顯示視頻游戲的視頻顯示信號(hào)。在一個(gè)實(shí)施例中,游戲控制臺(tái)替換為具有低CPU能力和低存儲(chǔ)器的低成本簡(jiǎn)易網(wǎng)上(nettop)計(jì)算機(jī)并且使用低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)的資源來(lái)使用服務(wù)云(諸如游戲云)中可用的圖像處理器算法來(lái)連接到服務(wù)云的虛擬中心。低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)如業(yè)內(nèi)公知的那樣是為了執(zhí)行諸如訪問(wèn)因特網(wǎng)、訪問(wèn)基于web的應(yīng)用等基本操作而設(shè)計(jì)的很小、廉價(jià)、低功率計(jì)算機(jī)。在低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)處發(fā)起針對(duì)游戲云中的服務(wù)/應(yīng)用的連接請(qǐng)求。連接請(qǐng)求包括如下多個(gè)連接參數(shù),這些連接參數(shù)向算法提供低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)的連接要求。算法使用連接參數(shù)以標(biāo)識(shí)如下W,該VM提供低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)所請(qǐng)求的服務(wù)/應(yīng)用、通過(guò)管理程序直接訪問(wèn)適當(dāng)?shù)膸彌_器數(shù)據(jù)、以算法定義的適當(dāng)格式生成圖像數(shù)據(jù)分組。算法響應(yīng)于服務(wù)請(qǐng)求在連接參數(shù)驅(qū)動(dòng)的適當(dāng)封包中向低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)轉(zhuǎn)發(fā)圖像數(shù)據(jù)分組。捕獲在游戲低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)處的用戶(hù)交互(諸如鼠標(biāo)點(diǎn)擊和鍵盤(pán)敲擊)并且通過(guò)反向信道向算法轉(zhuǎn)發(fā)這些用戶(hù)交互用于精細(xì)調(diào)諧和更新。另外,算法通過(guò)建立的反向信道從低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)接收關(guān)于服務(wù)質(zhì)量的定期更新。算法使用服務(wù)質(zhì)量以適當(dāng)封包并且向低成本簡(jiǎn)易網(wǎng)上計(jì)算機(jī)傳輸幀緩沖器數(shù)據(jù)和對(duì)幀緩沖器數(shù)據(jù)的定期更新。其他優(yōu)勢(shì)對(duì)于本領(lǐng)域技術(shù)人員將變得明顯。了解上述實(shí)施例,應(yīng)當(dāng)理解本發(fā)明可以運(yùn)用涉及到計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的數(shù)據(jù)的各種計(jì)算機(jī)實(shí)施的操作。這些操作是需要物理量的物理操控的操作。通常但是并非必須,這 些量采用能夠被存儲(chǔ)、傳送、組合、比較和否則操控的電或者磁信號(hào)形式。另外,經(jīng)常在諸如產(chǎn)生、標(biāo)識(shí)、確定或者比較的術(shù)語(yǔ)中引用執(zhí)行的操控。形成本發(fā)明的部分的、這里描述的操作中的任何操作是有用的機(jī)器操作。本發(fā)明也涉及一種用于執(zhí)行這些操作的設(shè)備或者裝置。可以具體構(gòu)造該裝置用于所需目的,或者它可以是存儲(chǔ)于計(jì)算機(jī)中的計(jì)算機(jī)程序有選擇地激活或者配置的通用計(jì)算機(jī)。具體而言,各種通用機(jī)器可以與根據(jù)這里的教導(dǎo)來(lái)編寫(xiě)的計(jì)算機(jī)程序一起使用,或者構(gòu)造更專(zhuān)門(mén)化裝置以執(zhí)行所需操作可能更為便利。本發(fā)明也可以具體化為計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀介質(zhì)是可以存儲(chǔ)如下數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)設(shè)備,該數(shù)據(jù)隨后可以由計(jì)算機(jī)系統(tǒng)讀取。計(jì)算機(jī)可讀介質(zhì)的示例包括硬盤(pán)驅(qū)動(dòng)器、網(wǎng)絡(luò)附著儲(chǔ)存(NAS)、只讀儲(chǔ)存器、隨機(jī)訪問(wèn)存儲(chǔ)器、⑶-ROM、CD-R、CD-RW、磁帶以及其他光學(xué)和非光學(xué)數(shù)據(jù)存儲(chǔ)設(shè)備。也可以通過(guò)網(wǎng)絡(luò)耦合計(jì)算機(jī)系統(tǒng)分發(fā)計(jì)算機(jī)可讀介質(zhì),使得以分布方式存儲(chǔ)和執(zhí)行計(jì)算機(jī)可讀代碼。然而對(duì)本領(lǐng)域技術(shù)人員明顯的是,不使用這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)仍可實(shí)現(xiàn)本發(fā)明。在其他實(shí)例中,沒(méi)有詳細(xì)描述公知過(guò)程操作以免不必要地模糊本發(fā)明。雖然已經(jīng)出于理解清楚的目的而以一些細(xì)節(jié)描述了前述發(fā)明,但是將清楚可以在本發(fā)明的范圍內(nèi)實(shí)現(xiàn)某些改變和修改。因而當(dāng)前實(shí)施例將被視為示例而非限制并且本發(fā)明不限于這里給出的細(xì)節(jié)而是可以在本發(fā)明的范圍內(nèi)加以修改。
權(quán)利要求
1.一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的方法,包括 從所述客戶(hù)端接收針對(duì)控制在具體虛擬機(jī)上可用的虛擬化計(jì)算機(jī)服務(wù)的連接請(qǐng)求,所述連接請(qǐng)求包括多個(gè)連接參數(shù),所述多個(gè)連接參數(shù)定義所述客戶(hù)端的連接要求,所述連接請(qǐng)求是在執(zhí)行圖像處理器算法的虛擬機(jī)處接收的; 使用所述圖像處理器算法來(lái)詢(xún)問(wèn)所述連接參數(shù)以標(biāo)識(shí)所述具體虛擬機(jī),所述具體虛擬機(jī)提供滿(mǎn)足來(lái)自所述客戶(hù)端的請(qǐng)求的所述虛擬化計(jì)算機(jī)服務(wù); 通過(guò)管理程序訪問(wèn)來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的用于所述具體虛擬機(jī)的幀緩沖器數(shù)據(jù),所述幀緩沖器數(shù)據(jù)是從虛擬存儲(chǔ)器中的所述預(yù)定位置讀取的,所述幀緩沖器數(shù)據(jù)定義圖形輸出,所述圖形輸出代表與所述具體虛擬機(jī)的虛擬機(jī)顯示器關(guān)聯(lián)的圖像; 基于所述多個(gè)連接參數(shù)使用所述圖像處理器算法將所述幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組;并且 向所述客戶(hù)端傳輸所述圖像數(shù)據(jù)分組用于在與所述客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn),所述圖像數(shù)據(jù)分組特定用于所述客戶(hù)端并且代表所述虛擬機(jī)顯示器的圖像。
2.根據(jù)權(quán)利要求I所述的方法,其中所述圖像數(shù)據(jù)分組包括與圖像處理器算法有關(guān)的封包信息和與聯(lián)網(wǎng)有關(guān)的封包信息。
3.根據(jù)權(quán)利要求I所述的方法,其中處理所述幀緩沖器數(shù)據(jù)還包括 分析所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)以確定上下文; 基于所述分析將適當(dāng)上下文信息關(guān)聯(lián)到所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù);并且 將所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)連同所述上下文信息一起存儲(chǔ)。
4.根據(jù)權(quán)利要求3所述的方法,還包括 定期掃描所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù); 通過(guò)比較掃描的幀緩沖器數(shù)據(jù)與用于所述具體虛擬機(jī)的存儲(chǔ)的幀緩沖器數(shù)據(jù)來(lái)確定改變區(qū)域;并且 在與所述具體虛擬機(jī)關(guān)聯(lián)的基于時(shí)間的存儲(chǔ)陣列中存儲(chǔ)所述改變區(qū)域用于分析和傳輸,其中存儲(chǔ)所述改變區(qū)域包括存儲(chǔ)與所述改變區(qū)域關(guān)聯(lián)的上下文信息。
5.根據(jù)權(quán)利要求4所述的方法,其中掃描所述幀緩沖器數(shù)據(jù)還包括 詢(xún)問(wèn)與所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的同步信號(hào),所述同步信號(hào)標(biāo)識(shí)所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的刷新的狀態(tài);并且 基于所述同步信號(hào)的詢(xún)問(wèn)來(lái)執(zhí)行所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的掃描。
6.根據(jù)權(quán)利要求5所述的方法,還包括 在用于所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的刷新之前設(shè)置所述同步信號(hào);并且 在完成用于所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的所述刷新時(shí)重新設(shè)置所述同步信號(hào)。
7.根據(jù)權(quán)利要求5所述的方法,其中以所述虛擬機(jī)處的所述幀緩沖器數(shù)據(jù)的刷新頻率或者以由與所述客戶(hù)端關(guān)聯(lián)的所述連接參數(shù)驅(qū)動(dòng)的頻率之一進(jìn)行在所述虛擬機(jī)處的所述幀緩沖器數(shù)據(jù)的定期掃描。
8.根據(jù)權(quán)利要求5所述的方法,其中在所述虛擬機(jī)處的所述幀緩沖器數(shù)據(jù)的掃描還包括 接收通知,所述通知通報(bào)所述具體虛擬機(jī)的所述緩沖器數(shù)據(jù)的改變,所述通知是從與所述具體虛擬機(jī)關(guān)聯(lián)的圖形驅(qū)動(dòng)器接收的;并且 基于所述通知來(lái)掃描所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)。
9.根據(jù)權(quán)利要求4所述的方法,其中處理讀取的幀緩沖器數(shù)據(jù)還包括 分析所述基于時(shí)間的存儲(chǔ)陣列以確定所述幀緩沖器數(shù)據(jù)內(nèi)的高活動(dòng)區(qū)域; 確定所述幀緩沖器數(shù)據(jù)內(nèi)的所述高活動(dòng)區(qū)域內(nèi)的鄰接活動(dòng)區(qū)域; 將所述鄰接活動(dòng)區(qū)域內(nèi)的傳輸技術(shù)友好特點(diǎn)分組成所述基于時(shí)間的存儲(chǔ)陣列內(nèi)的幀緩沖器數(shù)據(jù)的組;并且 基于與所述客戶(hù)端關(guān)聯(lián)的所述連接參數(shù)在基于時(shí)間的幀緩沖器數(shù)據(jù)流中從所述基于時(shí)間的存儲(chǔ)陣列向所述客戶(hù)端傳輸鄰接活動(dòng)區(qū)域的組,所述鄰接活動(dòng)區(qū)域的組的傳輸包括與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的導(dǎo)出的上下文信息。
10.根據(jù)權(quán)利要求9所述的方法,其中所述圖像數(shù)據(jù)分組的傳輸還包括 基于所述連接參數(shù)確定與所述客戶(hù)端關(guān)聯(lián)的所述顯示器設(shè)備兼容的格式; 基于與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文標(biāo)識(shí)一個(gè)或者多個(gè)轉(zhuǎn)換技術(shù),所述一個(gè)或者多個(gè)轉(zhuǎn)換技術(shù)是在將所述幀緩沖器數(shù)據(jù)轉(zhuǎn)換成與關(guān)聯(lián)于所述客戶(hù)端的所述顯示器設(shè)備兼容的格式中使用的;使用所述一個(gè)或者多個(gè)轉(zhuǎn)換技術(shù)將所述幀緩沖器數(shù)據(jù)轉(zhuǎn)換成符合標(biāo)識(shí)的格式的圖像數(shù)據(jù)分組,其中所述圖像數(shù)據(jù)分組包括與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的所述上下文信息;并且向所述客戶(hù)端傳輸格式化的圖像數(shù)據(jù)分組用于在所述客戶(hù)端的所述顯示器設(shè)備處表現(xiàn)。
11.根據(jù)權(quán)利要求9所述的方法,還包括 檢驗(yàn)與所述幀緩沖器數(shù)據(jù)的改變區(qū)域關(guān)聯(lián)的一個(gè)或者多個(gè)特性; 使用標(biāo)識(shí)的轉(zhuǎn)換技術(shù)基于所述一個(gè)或者多個(gè)特性來(lái)提取所述幀緩沖器數(shù)據(jù)的與所述改變區(qū)域有關(guān)的部分;并且 使用所述標(biāo)識(shí)的轉(zhuǎn)換技術(shù)向所述客戶(hù)端傳輸所述幀緩沖器數(shù)據(jù)的提取的部分作為帶外流,其中所述帶外流包括所述幀緩沖器數(shù)據(jù)的所述上下文信息, 其中所述幀緩沖器數(shù)據(jù)的所述提取的部分是視頻剪輯。
12.根據(jù)權(quán)利要求9所述的方法,還包括 動(dòng)態(tài)檢測(cè)對(duì)與所述客戶(hù)端關(guān)聯(lián)的連接參數(shù)的改變,對(duì)連接參數(shù)的所述改變標(biāo)識(shí)與所述客戶(hù)端關(guān)聯(lián)的所述顯示器設(shè)備的改變; 基于在所述客戶(hù)端處檢測(cè)的對(duì)所述連接參數(shù)的所述改變將所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)動(dòng)態(tài)重新采樣并且大小重新設(shè)定成適當(dāng)圖像數(shù)據(jù)分組,所述幀緩沖器數(shù)據(jù)的動(dòng)態(tài)重新采樣和大小重新設(shè)定實(shí)現(xiàn)在所述客戶(hù)端的所述顯示器設(shè)備處表現(xiàn)所述幀緩沖器數(shù)據(jù)。
13.根據(jù)權(quán)利要求9所述的方法,還包括 檢測(cè)與所述客戶(hù)端關(guān)聯(lián)的多個(gè)顯示器設(shè)備,其中所述多個(gè)顯示器設(shè)備中的每個(gè)顯示器設(shè)備為相異類(lèi)型; 確定與所述客戶(hù)端的每個(gè)顯示器設(shè)備類(lèi)型兼容的格式; 使用所述一個(gè)或者多個(gè)轉(zhuǎn)換技術(shù)來(lái)生成多組圖像數(shù)據(jù)分組,每組圖像數(shù)據(jù)分組是通過(guò)使用與關(guān)聯(lián)于所述客戶(hù)端的具體顯示器設(shè)備類(lèi)型兼容的格式轉(zhuǎn)換所述幀緩沖器數(shù)據(jù)來(lái)生成的,其中每組圖像數(shù)據(jù)分組包括與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文信息;并且 向所述客戶(hù)端傳輸每組所述圖像數(shù)據(jù)分組用于在所述客戶(hù)端的相應(yīng)顯示器設(shè)備處表現(xiàn)。
14.根據(jù)權(quán)利要求I所述的方法,其中每個(gè)圖像數(shù)據(jù)分組包括分配用于定義并且在所述客戶(hù)端處表現(xiàn)所述虛擬機(jī)顯示器的所述圖像的具體部分的數(shù)據(jù),并且其中所述圖像的所述具體部分由至少一個(gè)像素定義。
15.根據(jù)權(quán)利要求I所述的方法,其中所述幀緩沖器數(shù)據(jù)由所述虛擬機(jī)的操作系統(tǒng)創(chuàng)建,并且其中對(duì)所述幀緩沖器數(shù)據(jù)的訪問(wèn)由管理程序提供,所述管理程序提供在所述客戶(hù)端與所述虛擬機(jī)之間的接口。
16.一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的方法,包括 從所述客戶(hù)端接收針對(duì)控制虛擬化計(jì)算機(jī)服務(wù)的連接請(qǐng)求,所述連接請(qǐng)求包括多個(gè)連接參數(shù),所述多個(gè)連接參數(shù)定義所述客戶(hù)端的所述連接要求,所述連接請(qǐng)求是在執(zhí)行圖像處理器算法的虛擬機(jī)處接收的; 使用所述圖像處理器算法來(lái)詢(xún)問(wèn)所述連接參數(shù)以標(biāo)識(shí)具體服務(wù)層和所述具體服務(wù)層內(nèi)的具體虛擬機(jī),所述具體服務(wù)層提供請(qǐng)求的服務(wù)類(lèi)型,所述具體虛擬機(jī)用于提供滿(mǎn)足來(lái)自所述客戶(hù)端的所述連接請(qǐng)求的所述虛擬化計(jì)算機(jī)服務(wù),其中每個(gè)服務(wù)層主管相異的服務(wù)類(lèi)型; 連接到提供具體虛擬化計(jì)算機(jī)服務(wù)的所述具體服務(wù)層; 通過(guò)所述具體服務(wù)層中的管理程序訪問(wèn)來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的用于所述具體虛擬機(jī)的幀緩沖器數(shù)據(jù),所述幀緩沖器數(shù)據(jù)是從虛擬存儲(chǔ)器中的所述預(yù)定位置讀取的,所述幀緩沖器數(shù)據(jù)定義圖形輸出,所述圖形輸出代表與標(biāo)識(shí)的服務(wù)層內(nèi)的所述具體虛擬機(jī)的虛擬機(jī)顯示器關(guān)聯(lián)的圖像; 基于所述多個(gè)連接參數(shù)使用所述圖像處理器算法將所述幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組;并且 向所述客戶(hù)端傳輸所述圖像數(shù)據(jù)分組用于在與所述客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn),所述圖像數(shù)據(jù)分組特定用于所述客戶(hù)端并且代表所述虛擬機(jī)顯示器的所述圖像。
17.根據(jù)權(quán)利要求16所述的方法,其中每個(gè)圖像數(shù)據(jù)分組包括被分配用于定義并且在所述客戶(hù)端處表現(xiàn)所述虛擬機(jī)顯示器的所述圖像的具體部分的數(shù)據(jù),并且其中所述圖像的所述具體部分由至少一個(gè)像素定義。
18.根據(jù)權(quán)利要求16所述的方法,還包括 在所述客戶(hù)端處檢測(cè)連接參數(shù)的改變,所述連接參數(shù)的改變定義所述客戶(hù)端請(qǐng)求的新虛擬化計(jì)算機(jī)服務(wù); 斷開(kāi)與所述標(biāo)識(shí)的虛擬機(jī)的連接; 使用所述圖像處理器算法來(lái)詢(xún)問(wèn)改變的連接參數(shù)以標(biāo)識(shí)提供所述客戶(hù)端請(qǐng)求的所述新虛擬化計(jì)算機(jī)服務(wù)的具體新虛擬機(jī); 基于所述改變的連接參數(shù)的詢(xún)問(wèn)來(lái)建立與所述具體新虛擬機(jī)的連接,與所述具體新虛擬機(jī)的所述連接實(shí)現(xiàn)訪問(wèn)在與所述具體新虛擬機(jī)關(guān)聯(lián)的在虛擬存儲(chǔ)器中的預(yù)定位置處的、用于所述具體新虛擬機(jī)的幀緩沖器數(shù)據(jù); 訪問(wèn)來(lái)自與所述具體新虛擬機(jī)關(guān)聯(lián)的虛擬存儲(chǔ)器中的所述預(yù)定位置的、用于所述具體新虛擬機(jī)的所述幀緩沖器數(shù)據(jù),訪問(wèn)的幀緩沖器數(shù)據(jù)是從用于所述具體虛擬機(jī)的在虛擬存儲(chǔ)器中的所述預(yù)定位置讀取的并且使用所述圖像處理器算法處理成多個(gè)圖像數(shù)據(jù)分組用于傳輸并且在所述客戶(hù)端的顯示器設(shè)備上呈現(xiàn),所述圖像數(shù)據(jù)分組特定用于所述客戶(hù)端并且代表與所述新虛擬化計(jì)算機(jī)服務(wù)在其上執(zhí)行的所述新虛擬機(jī)關(guān)聯(lián)的所述具體新虛擬顯示器的圖像。
19.根據(jù)權(quán)利要求18所述的方法,其中斷開(kāi)所述連接還包括從所述標(biāo)識(shí)的服務(wù)層斷開(kāi)。
20.一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的方法,包括 在至少一個(gè)虛擬機(jī)上提供圖像處理器算法,具有所述圖像處理器算法的所述虛擬機(jī)在管理程序上執(zhí)行,多個(gè)虛擬機(jī)在所述管理程序上執(zhí)行; 在所述至少一個(gè)虛擬機(jī)的所述圖像處理器算法處處理連接請(qǐng)求,所述連接請(qǐng)求是從所述客戶(hù)端接收的,其中對(duì)所述連接請(qǐng)求的處理標(biāo)識(shí)多個(gè)連接參數(shù)和具體虛擬機(jī),所述多個(gè)連接參數(shù)定義與所述客戶(hù)端關(guān)聯(lián)的連接要求,所述具體虛擬機(jī)具有可以滿(mǎn)足所述連接請(qǐng)求的虛擬化計(jì)算機(jī)服務(wù); 通過(guò)所述管理程序訪問(wèn)來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的用于所述具體虛擬機(jī)的幀緩沖器數(shù)據(jù),所述幀緩沖器數(shù)據(jù)是從所述虛擬存儲(chǔ)器中的所述預(yù)定位置讀取的,所述幀緩沖器數(shù)據(jù)定義圖形輸出,所述圖形輸出代表與所述具體虛擬機(jī)的虛擬機(jī)顯示器關(guān)聯(lián)的圖像;基于所述多個(gè)連接參數(shù)使用所述圖像處理器算法將所述幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組,其中所述多個(gè)圖像數(shù)據(jù)分組包括與讀取的幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文信息;并且 向所述客戶(hù)端傳輸具有所述上下文信息的所述圖像數(shù)據(jù)分組用于在與所述客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn),所述圖像數(shù)據(jù)分組特定用于所述客戶(hù)端并且代表VM顯示器的圖像。
21.根據(jù)權(quán)利要求20所述的方法,還包括在多個(gè)虛擬機(jī)中獨(dú)立地提供圖像處理器算法,具有所述圖像處理器算法的每個(gè)虛擬機(jī)被配置成訪問(wèn)和讀取其他虛擬機(jī)的對(duì)應(yīng)幀緩沖器數(shù)據(jù)。
22.根據(jù)權(quán)利要求20所述的方法,還包括在所述管理程序上執(zhí)行的所述多個(gè)虛擬機(jī)中的每個(gè)虛擬機(jī)中獨(dú)立地提供圖像處理器算法,具有所述圖像處理器算法的所述多個(gè)虛擬機(jī)中的每個(gè)虛擬機(jī)被配置成訪問(wèn)和讀取其他虛擬機(jī)的對(duì)應(yīng)幀緩沖器數(shù)據(jù)。
23.根據(jù)權(quán)利要求20所述的方法,其中處理讀取的幀緩沖器數(shù)據(jù)還包括 分析提供所述虛擬化計(jì)算機(jī)服務(wù)的所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù); 基于所述分析來(lái)確定用于所述幀緩沖器數(shù)據(jù)的上下文; 關(guān)聯(lián)用于所述幀緩沖器數(shù)據(jù)的適當(dāng)上下文信息;并且 生成用于所述幀緩沖器數(shù)據(jù)的多個(gè)圖像數(shù)據(jù)分組,每個(gè)所述圖像數(shù)據(jù)分組至少包括所述幀緩沖器數(shù)據(jù)的部分和用于所述幀緩沖器數(shù)據(jù)的部分的關(guān)聯(lián)上下文信息。
24.一種用于向用戶(hù)提供對(duì)計(jì)算簡(jiǎn)檔的訪問(wèn)的方法,所述計(jì)算簡(jiǎn)檔定義用于所述用戶(hù)的桌面,所述桌面提供對(duì)所述用戶(hù)的應(yīng)用和數(shù)據(jù)的訪問(wèn),所述方法包括 a)從客戶(hù)端請(qǐng)求通過(guò)因特網(wǎng)連接來(lái)連接到所述計(jì)算簡(jiǎn)檔; b)響應(yīng)于請(qǐng)求的連接來(lái)標(biāo)識(shí)用于所述計(jì)算簡(jiǎn)檔的虛擬機(jī);c)標(biāo)識(shí)用于所述標(biāo)識(shí)的虛擬機(jī)的幀緩沖器數(shù)據(jù); d)讀取所述幀緩沖器數(shù)據(jù); e)基于從其進(jìn)行所述連接請(qǐng)求的所述客戶(hù)端的特性來(lái)處理所述幀緩沖器數(shù)據(jù),所述處理產(chǎn)生圖像數(shù)據(jù)分組; f)向所述客戶(hù)端轉(zhuǎn)發(fā)所述圖像數(shù)據(jù)分組,所述圖像數(shù)據(jù)分組在所述客戶(hù)端處被處理并且呈現(xiàn)于所述客戶(hù)端的顯示器上; g)在會(huì)話期間重復(fù)(d)- (f),而在所述客戶(hù)端與所述虛擬機(jī)之間交換反向信道通信。
25.根據(jù)權(quán)利要求24所述的方法,其中每個(gè)圖像數(shù)據(jù)分組包括被分配用于定義并且在所述客戶(hù)端處表現(xiàn)所述虛擬機(jī)顯示器的圖像的具體部分的數(shù)據(jù),并且其中所述圖像的所述具體部分由至少一個(gè)像素定義。
26.根據(jù)權(quán)利要求24所述的方法,其中處理所述幀緩沖器數(shù)據(jù)還包括 分析所述幀緩沖器數(shù)據(jù)以確定上下文; 基于所述分析將上下文信息關(guān)聯(lián)到所述幀緩沖器數(shù)據(jù); 使用一個(gè)或者多個(gè)轉(zhuǎn)換技術(shù)來(lái)生成用于所述幀緩沖器數(shù)據(jù)的圖像數(shù)據(jù)分組,所述圖像數(shù)據(jù)分組兼容于與所述客戶(hù)端關(guān)聯(lián)的所述顯示器設(shè)備。
27.根據(jù)權(quán)利要求24所述的方法,其中在所述客戶(hù)端與所述虛擬機(jī)之間的所述反向信道通信包括去往在所述虛擬機(jī)上執(zhí)行的一個(gè)或者多個(gè)應(yīng)用的數(shù)據(jù)。
28.根據(jù)權(quán)利要求24所述的方法,其中在所述客戶(hù)端處處理圖像數(shù)據(jù)分組還包括去除封包信息并且將所述數(shù)據(jù)映射到所述客戶(hù)端的所述顯示器的具體部分。
29.一種用于提供對(duì)虛擬機(jī)(VM)的會(huì)話的訪問(wèn)的方法,包括 Ca)獲得對(duì)所述VM的所述會(huì)話的訪問(wèn); (b)標(biāo)識(shí)用于所述VM的幀緩沖器數(shù)據(jù); (c)讀取所述幀緩沖器數(shù)據(jù); Cd)基于所述客戶(hù)端的特性來(lái)處理所述幀緩沖器數(shù)據(jù)以產(chǎn)生圖像數(shù)據(jù)分組; Ce)向所述客戶(hù)端轉(zhuǎn)發(fā)針對(duì)所述客戶(hù)端的所述特性產(chǎn)生的所述圖像數(shù)據(jù)分組; (f)在訪問(wèn)所述VM的所述會(huì)話時(shí)的時(shí)間期間重復(fù)(c)- (e),而在所述客戶(hù)端與所述VM之間交換反向信道通信。
30.根據(jù)權(quán)利要求29所述的方法,其中每個(gè)圖像數(shù)據(jù)分組包括被分配用于定義并且在所述客戶(hù)端處表現(xiàn)所述虛擬機(jī)顯示器的圖像的具體部分的數(shù)據(jù),并且其中所述圖像的所述具體部分由至少一個(gè)像素定義。
31.根據(jù)權(quán)利要求30所述的方法,其中所述客戶(hù)端的所述特性由一個(gè)或者多個(gè)連接參數(shù)定義,所述一個(gè)或者多個(gè)連接參數(shù)包括所述客戶(hù)端的位置、待連接的虛擬服務(wù)的位置、客戶(hù)端類(lèi)型、顯示器類(lèi)型、連接質(zhì)量、通信連接帶寬、請(qǐng)求的數(shù)據(jù)類(lèi)型、與所述客戶(hù)端關(guān)聯(lián)的顯示器配置中的一個(gè)或者多個(gè),所述顯示器配置包括分辨率、位深度、刷新速率。
32.根據(jù)權(quán)利要求30所述的方法,其中獲得對(duì)所述會(huì)話的訪問(wèn)是通過(guò)的服務(wù)代理和在管理程序上運(yùn)行的VM上執(zhí)行的圖像處理器算法,所述服務(wù)代理提供與客戶(hù)端到所述VM的映射關(guān)聯(lián)的信息,并且所述圖像處理器算法提供用于訪問(wèn)與所述VM關(guān)聯(lián)的所述幀緩沖器數(shù)據(jù)的API。
33.根據(jù)權(quán)利要求32所述的方法,其中所述圖像處理器算法在運(yùn)行所述會(huì)話的相同VM或者與運(yùn)行所述會(huì)話的所述VM不同的VM中的任一 VM上獨(dú)立地執(zhí)行。
34.根據(jù)權(quán)利要求32所述的方法,其中處理在所述客戶(hù)端處的所述圖像數(shù)據(jù)分組以去除封包信息并且將所述圖像數(shù)據(jù)分組中的數(shù)據(jù)映射到所述客戶(hù)端的所述顯示器的具體部分。
35.一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的系統(tǒng),包括 a)—個(gè)或者多個(gè)虛擬機(jī),被配置成在管理程序上運(yùn)行,其中所述虛擬機(jī)中的至少一個(gè)虛擬機(jī)執(zhí)行圖像處理器算法,所述圖像處理器算法包括用于以下的邏輯 (i )檢測(cè)來(lái)自所述客戶(hù)端的針對(duì)控制在具體虛擬機(jī)處可用的虛擬化計(jì)算機(jī)服務(wù)的連接請(qǐng)求; (ii)通過(guò)詢(xún)問(wèn)所述連接參數(shù)來(lái)標(biāo)識(shí)提供所述虛擬化計(jì)算機(jī)服務(wù)的所述具體虛擬機(jī); (iii)通過(guò)管理程序訪問(wèn)和讀取來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的所述具體虛擬機(jī)的幀緩沖器數(shù)據(jù),所述幀緩沖器數(shù)據(jù)定義圖形輸出,所述圖形輸出代表與所述具體虛擬機(jī)的虛擬機(jī)顯示器關(guān)聯(lián)的圖像; (iv)將讀取的幀緩沖器數(shù)據(jù)處理成圖像數(shù)據(jù)分組,所述圖像數(shù)據(jù)分組包括與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文信息; (v)向所述客戶(hù)端傳輸所述具體虛擬機(jī)的所述圖像數(shù)據(jù)分組用于在與所述客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn), 其中圖像數(shù)據(jù)分組特定用于所述客戶(hù)端并且代表所述虛擬機(jī)顯示器的所述圖像。
36.根據(jù)權(quán)利要求35所述的系統(tǒng),還包括 a)目錄服務(wù),用于提供客戶(hù)端到所述一個(gè)或者多個(gè)虛擬機(jī)的映射并且認(rèn)證與所述連接請(qǐng)求關(guān)聯(lián)的信息; b)基于時(shí)間的存儲(chǔ)陣列,用于存儲(chǔ)活動(dòng)區(qū)域的組和隨時(shí)間對(duì)所述活動(dòng)區(qū)域的組的任何改變;以及 c)壓縮技術(shù)服務(wù),用于提供用于封包所述幀緩沖器數(shù)據(jù)的壓縮/傳輸技術(shù),其中所述壓縮/傳輸技術(shù)用來(lái)提供上下文壓縮。
37.一種用于通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù)的系統(tǒng),包括 a)—個(gè)或者多個(gè)虛擬機(jī),被配置成在管理程序上運(yùn)行,其中所述虛擬機(jī)中的至少一個(gè)虛擬機(jī)與其他虛擬機(jī)并排執(zhí)行圖像處理器算法,所述圖像處理器算法包括 (i)掃描引擎,被配置成 (ia)檢測(cè)來(lái)自所述客戶(hù)端的針對(duì)控制在具體虛擬機(jī)上可用的虛擬化計(jì)算機(jī)服務(wù)的連接請(qǐng)求,所述連接請(qǐng)求標(biāo)識(shí)多個(gè)連接參數(shù),所述多個(gè)連接參數(shù)定義所述客戶(hù)端的連接請(qǐng)求; (ib)詢(xún)問(wèn)所述連接參數(shù)以標(biāo)識(shí)提供所述虛擬化計(jì)算機(jī)服務(wù)的所述具體虛擬機(jī); (ic)與管理程序交互以直接訪問(wèn)所述具體虛擬機(jī)的幀緩沖器數(shù)據(jù); (id)掃描所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)以辨別所述具體虛擬機(jī)的虛擬機(jī)顯示器的圖像,所述圖像包括所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的任何改變,并且將包括任何改變的所述幀緩沖器數(shù)據(jù)處理成與所述具體虛擬機(jī)關(guān)聯(lián)的 基于時(shí)間的存儲(chǔ)陣列; (ii)上下文引擎,被配置成 (iia)基于與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的特性來(lái)確定任何鄰接區(qū)域并且確定與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文;以及 (iii)邏輯引擎,被配置成 (iiia)分析所述幀緩沖器數(shù)據(jù); (iiib)基于確定的上下文來(lái)處理所述幀緩沖器數(shù)據(jù)以集成與所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的上下文信息;并且 (iiic)向所述客戶(hù)端傳輸包括所述具體虛擬機(jī)的相關(guān)上下文信息的處理的幀緩沖器數(shù)據(jù)用于在與所述客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn), 其中所述處理的幀緩沖器數(shù)據(jù)特定用于所述客戶(hù)端并且代表所述虛擬機(jī)顯示器的圖像。
38.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述圖像處理器算法還包括具有搜索算法的熱 引擎,所述搜索算法被配置成與所述基于時(shí)間的存儲(chǔ)陣列交互以搜索所述幀緩沖器數(shù)據(jù)內(nèi)的任何活動(dòng)、基于所述搜索來(lái)標(biāo)識(shí)所述幀緩沖器數(shù)據(jù)內(nèi)的活動(dòng)區(qū)域和活動(dòng)水平并且忽略非活動(dòng)區(qū)域。
39.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述搜索和熱引擎還被配置成通過(guò)反向信道接收用戶(hù)交互,其中所述用戶(hù)交互定義所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)內(nèi)的可能改變的區(qū)域。
40.根據(jù)權(quán)利要求39所述的系統(tǒng),還包括目錄服務(wù)以及策略和認(rèn)證服務(wù),所述目錄服務(wù)是多個(gè)客戶(hù)端到所述一個(gè)或者多個(gè)虛擬機(jī)的映射的庫(kù),并且所述策略和認(rèn)證服務(wù)被配置成斷定用于認(rèn)證來(lái)自所述客戶(hù)端的連接請(qǐng)求的策略。
41.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述圖像處理器算法還包括連接引擎,所述連接引擎被配置成 與所述客戶(hù)端交互以獲得連接參數(shù)并且確定與所述客戶(hù)端關(guān)聯(lián)的持續(xù)的連接質(zhì)量; 與所述策略和認(rèn)證服務(wù)交互以認(rèn)證從所述客戶(hù)端接收的連接參數(shù)并且確定用于操縱所述連接請(qǐng)求的一個(gè)或者多個(gè)策略; 與所述邏輯引擎交互以提供與持續(xù)的連接質(zhì)量關(guān)聯(lián)的最新連接參數(shù); 與所述目錄服務(wù)交互以標(biāo)識(shí)可以向所述客戶(hù)端提供請(qǐng)求的虛擬化計(jì)算機(jī)服務(wù)的所述具體虛擬機(jī);并且 與所述掃描引擎交互以將所述掃描引擎定向到用于所述具體虛擬機(jī)的所述適當(dāng)幀緩沖器數(shù)據(jù)。
42.根據(jù)權(quán)利要求41所述的系統(tǒng),其中所述圖像處理器算法還包括輸出引擎,所述輸出引擎用于響應(yīng)于所述請(qǐng)求向所述客戶(hù)端傳輸所述處理的幀緩沖器數(shù)據(jù)作為為了高效傳輸而最優(yōu)設(shè)定大小的圖像數(shù)據(jù)分組用于呈現(xiàn),其中所述圖像數(shù)據(jù)分組的大小基于所述連接參數(shù)。
43.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述圖像處理器算法在運(yùn)行于所述管理程序上的多個(gè)虛擬機(jī)中的一個(gè)或者多個(gè)虛擬機(jī)上獨(dú)立地可執(zhí)行,其中所述圖像處理器算法用于訪問(wèn)和讀取在所述管理程序上運(yùn)行的其他虛擬機(jī)的對(duì)應(yīng)幀緩沖器數(shù)據(jù)。
44.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述圖像處理器算法在運(yùn)行于所述管理程序上的所述虛擬機(jī)中的每個(gè)虛擬機(jī)上獨(dú)立地可執(zhí)行,其中每個(gè)所述虛擬機(jī)的所述圖像處理器算法用于訪問(wèn)和讀取在所述管理程序上運(yùn)行的其他虛擬機(jī)的對(duì)應(yīng)幀緩沖器數(shù)據(jù)。
45.根據(jù)權(quán)利要求37所述的系統(tǒng),還包括多個(gè)服務(wù)層,所述多個(gè)服務(wù)層中的每個(gè)服務(wù)層提供所述客戶(hù)端請(qǐng)求的具體服務(wù)類(lèi)型,所述多個(gè)服務(wù)層中的每個(gè)服務(wù)層包括一個(gè)或者多個(gè)虛擬機(jī),在所述虛擬機(jī)上運(yùn)行的所述圖像處理器算法被配置成訪問(wèn)所述多個(gè)服務(wù)層中的每個(gè)服務(wù)層中的所述虛擬機(jī)的所述幀緩沖器數(shù)據(jù)。
46.根據(jù)權(quán)利要求45所述的系統(tǒng),其中所述多個(gè)服務(wù)層中的每個(gè)服務(wù)層中的所述虛擬機(jī)中的至少一個(gè)虛擬機(jī)獨(dú)立地執(zhí)行所述圖像處理器算法。
47.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述客戶(hù)端包括被配置成處理從執(zhí)行所述圖像處理器算法的所述虛擬機(jī)接收的所述圖像數(shù)據(jù)分組的邏輯,其中所述圖像數(shù)據(jù)分組的所述處理包括 從所述圖像數(shù)據(jù)分組去除封包信息;并且 將所述數(shù)據(jù)映射到所述客戶(hù)端的顯示器的具體部分。
48.一種在計(jì)算機(jī)可讀介質(zhì)上具體化的圖像處理器算法,所述圖像處理器算法在虛擬中心內(nèi)的虛擬機(jī)的處理器上執(zhí)行時(shí)被配置成通過(guò)網(wǎng)絡(luò)向客戶(hù)端提供服務(wù),所述圖像處理器算法包括 用于在執(zhí)行所述圖像處理器算法的所述虛擬機(jī)處從所述客戶(hù)端接收請(qǐng)求服務(wù)的連接請(qǐng)求的編程邏輯,所述連接請(qǐng)求包括多個(gè)連接參數(shù),所述多個(gè)連接參數(shù)定義所述客戶(hù)端的連接要求; 用于詢(xún)問(wèn)所述連接參數(shù)以標(biāo)識(shí)具體虛擬機(jī)的編程邏輯,所述具體虛擬機(jī)提供滿(mǎn)足來(lái)自所述客戶(hù)端的所述請(qǐng)求的服務(wù); 用于通過(guò)與所述具體虛擬機(jī)關(guān)聯(lián)的管理程序訪問(wèn)來(lái)自虛擬存儲(chǔ)器中的預(yù)定位置的用于所述具體虛擬機(jī)的幀緩沖器數(shù)據(jù)的編程邏輯,所述幀緩沖器數(shù)據(jù)是從虛擬存儲(chǔ)器中的所述預(yù)定位置讀取的,所述幀緩沖器數(shù)據(jù)定義圖形輸出,所述圖形輸出代表與所述具體虛擬機(jī)的虛擬機(jī)顯示器關(guān)聯(lián)的圖像; 用于基于所述多個(gè)連接參數(shù)使用所述圖像處理器算法將讀取的幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組的編程指令;以及 用于向所述客戶(hù)端傳輸所述圖像數(shù)據(jù)分組用于在與所述客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn)的編程邏輯,所述圖像數(shù)據(jù)分組特定用于所述客戶(hù)端并且代表所述虛擬機(jī)顯示器的圖像。
49.根據(jù)權(quán)利要求48所述的圖像處理器算法,其中用于處理訪問(wèn)的幀緩沖器數(shù)據(jù)的編程邏輯還包括 用于分析標(biāo)識(shí)的虛擬機(jī)的所述幀緩沖器數(shù)據(jù)以確定上下文的編程邏輯;以及用于基于所述分析將適當(dāng)上下文信息關(guān)聯(lián)到所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的編程邏輯。
50.根據(jù)權(quán)利要求49所述的圖像處理器算法,還包括 用于定期掃描所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的編程邏輯; 用于通過(guò)比較掃描的幀緩沖器數(shù)據(jù)與為所述具體虛擬機(jī)存儲(chǔ)的幀緩沖器數(shù)據(jù)來(lái)確定改變區(qū)域的編程邏輯;以及 用于在與所述具體虛擬機(jī)關(guān)聯(lián)的基于時(shí)間的存儲(chǔ)陣列中存儲(chǔ)所述改變區(qū)域用于分析和傳輸?shù)木幊踢壿?,其中存?chǔ)所述改變區(qū)域包括存儲(chǔ)與所述改變區(qū)域關(guān)聯(lián)的上下文信息。
51.根據(jù)權(quán)利要求50所述的圖像處理器算法,其中用于掃描所述幀緩沖器數(shù)據(jù)的所述編程邏輯還包括 用于詢(xún)問(wèn)與所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)關(guān)聯(lián)的同步信號(hào)的編程邏輯,所述同步信號(hào)標(biāo)識(shí)所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的刷新的狀態(tài);以及 用于基于所述同步信號(hào)的所述詢(xún)問(wèn)來(lái)執(zhí)行所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的所述掃描的編程邏輯, 其中以在所述虛擬機(jī)處的所述幀緩沖器數(shù)據(jù)的刷新頻率或者以由與所述客戶(hù)端關(guān)聯(lián)的所述連接參數(shù)中的一個(gè)或者多個(gè)連接參數(shù)驅(qū)動(dòng)的頻率定期執(zhí)行所述掃描。
52.根據(jù)權(quán)利要求51所述的圖像處理器算法,還包括 用于在用于所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的刷新之前設(shè)置所述同步信號(hào)的編程邏輯;以及 用于在完成所述具體虛擬機(jī)的所述幀緩沖器數(shù)據(jù)的所述刷新時(shí)重新設(shè)置所述同步信號(hào)的編程邏輯。
全文摘要
用于通過(guò)客戶(hù)端遠(yuǎn)程控制虛擬化計(jì)算機(jī)服務(wù)的方法包括從客戶(hù)端接收針對(duì)控制在虛擬機(jī)處可用的虛擬服務(wù)的連接請(qǐng)求。該請(qǐng)求包括多個(gè)連接參數(shù),該多個(gè)連接參數(shù)描述客戶(hù)端的連接要求,并且在配備有圖像處理器算法的虛擬機(jī)處接收該請(qǐng)求。使用圖像處理器算法來(lái)詢(xún)問(wèn)連接參數(shù)以標(biāo)識(shí)具體虛擬機(jī),該具體虛擬機(jī)提供請(qǐng)求的虛擬化計(jì)算機(jī)服務(wù)。通過(guò)管理程序直接訪問(wèn)和讀取用于位于虛擬存儲(chǔ)器中的用于標(biāo)識(shí)的虛擬機(jī)的幀緩沖器數(shù)據(jù)。使用圖像處理器算法將幀緩沖器數(shù)據(jù)處理成多個(gè)圖像數(shù)據(jù)分組并且傳輸?shù)娇蛻?hù)端用于在與客戶(hù)端關(guān)聯(lián)的顯示器設(shè)備上呈現(xiàn)。
文檔編號(hào)G06F9/455GK102713848SQ201080062314
公開(kāi)日2012年10月3日 申請(qǐng)日期2010年11月24日 優(yōu)先權(quán)日2009年11月25日
發(fā)明者D.龍卡丹, J.塞爾維奇, P.貝奇, R.威利斯, S.D.維爾克 申請(qǐng)人:弗雷姆霍克公司