欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于生成在本地機器上和遠程機器上生成的任務欄按鈕組條目的組合顯示的方法和系統(tǒng)的制作方法

文檔序號:6351920閱讀:253來源:國知局

專利名稱::用于生成在本地機器上和遠程機器上生成的任務欄按鈕組條目的組合顯示的方法和系統(tǒng)的制作方法
技術領域
:本公開涉及用于生成在本地機器上和在遠程機器上生成的任務欄按鈕組條目的組合顯示的方法和系統(tǒng)。本公開尤其涉及用于在由本地機器生成并顯示的任務欄按鈕組中顯示在本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程機器上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識。
背景技術
:在集成顯示遠程生成的桌面環(huán)境與本地生成的桌面環(huán)境的一些實施例中,由遠程應用實例生成的且在本地桌面環(huán)境中顯示的數(shù)據(jù)在任務欄上被分組在一起,而沒有考慮遠程應用實例的名稱或類型。此外,在一些操作系統(tǒng)中,如果所啟動的應用的數(shù)量足以觸發(fā)任務欄圖標的堆疊,遠程應用將會被全部分組到一個任務欄按鈕下,例如,分組到指示顯示遠程生成的數(shù)據(jù)的本地代理的任務欄按鈕下,而不是根據(jù)遠程應用的名稱或類型來進行分組。在一些實施例中,這帶來了不方便和潛在地反直覺的終端用戶體驗,特別是如果有多種遠程應用在運行(例如,文字處理應用、計算器應用、互聯(lián)網(wǎng)瀏覽應用等),因為這些應用的任務欄按鈕不是根據(jù)應用來分組的,所以它們也不會與這些應用的本地版本分組在一起。
發(fā)明內(nèi)容在一個實施例中,此處描述的方法和系統(tǒng)提供在遠程(“發(fā)布的”)應用和他們的本地對應版本之間的綜合的任務欄分組集成。在又一個實施例中,這種功能提供無縫的、統(tǒng)一的用戶體驗。在又一個實施例中,這種功能允許所寄載的應用的任務欄按鈕根據(jù)應用而被分組在一起(例如,所有文字處理應用分組在一起,所有日歷應用分組在一起等),正如原生本地應用的任務欄按鈕被分組的方式一樣。在一個實施例中,考慮到任務欄分組,此處描述的功能允許遠程應用的行為與本地應用的行為大體上相似地運行。在又一個實施例中,此處描述的功能運行根據(jù)應用名來分類和分組應用實例的圖形表示(例如,在任務欄上顯示的應用的關聯(lián)圖標),包括遠程-遠程分組和本地-遠程分組(當應用的相同版本即作為在遠程機器上執(zhí)行的遠程應用運行,又作為在本地機器上執(zhí)行的本地應用來運行時)。在一個方面,本公開特別描述了用表示遠程機器上執(zhí)行的遠程應用的用戶界面元素和由該遠程應用生成的應用輸出來更新由本地計算機生成并顯示的任務欄的方法。該方法包括由在本地機器上執(zhí)行的本地客戶端接收由在遠程計算機上執(zhí)行的遠程應用生成的應用輸出以及遠程窗口配置信息。該方法還包括由本地客戶端響應于接收該遠程窗口配置信息來生成用于顯示所接收的應用輸出的應用輸出窗口,所述應用輸出窗口包括基于所述遠程窗口配置信息生成的本地任務欄分組配置信息。該方法還包括由本地機器的操作系統(tǒng)響應于所述本地任務欄分組配置信息來更新任務欄。在一些實施例中,該方法包括由本地客戶端響應于在所述遠程窗口配置信息中存在顯式的任務欄分組標志,來確定在所述遠程窗口配置信息中標識所述遠程應用的進程標識符、窗口標識符或應用標識符。該方法也包括生成具有本地任務欄分組配置信息的應用輸出窗口,所述本地任務欄分組配置信息包含所確定的進程標識符、窗口標識符或應用標識符。在一個實施例中,該方法包括由本地客戶端響應于在所述遠程窗口配置信息中不存在顯式的任務欄分組標志,來確定所述遠程應用的文件系統(tǒng)路徑。該方法也包括由本地客戶端用本地文件系統(tǒng)路徑的標識符來替換所述遠程應用的文件系統(tǒng)路徑的部分以創(chuàng)建混合文件系統(tǒng)路徑。該方法還包括由本地客戶端生成具有包含該混合文件系統(tǒng)路徑的本地任務欄分組配置信息的應用輸出窗口。在另一個實施例中,該方法包括識別存在對應于所述混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組,并且將對應于所生成的應用輸出窗口的任務欄按鈕移動到該現(xiàn)有任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。在另一個實施例中,該方法包括識別不存在對應于所述混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組,生成對應于所述混合文件系統(tǒng)路徑的任務欄按鈕組;以及將對應于所生成的應用輸出窗口的任務欄按鈕移動到所生成的任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。在又一個實施例中,該方法包括由本地客戶端從遠程計算機接收表示所述遠程應用的用戶界面元素以及所述應用輸出。該方法包括由本地客戶端將所接收的用戶界面元素與對應于所生成的應用輸出窗口的標識存儲在一起。該方法還包括由所述操作系統(tǒng)響應于與任務欄按鈕的用戶交互來顯示所接收的用戶界面元素,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。在另一個實施例中,所接收的用戶界面元素包括所述應用輸出的縮略圖像,而在又一個實施例中,所接收的用戶界面元素包括由所述遠程應用生成的窗口標題。在又一個實施例中,所接收的用戶界面元素包括所述遠程應用的圖標。在又一個實施例中,該方法包括由所述操作系統(tǒng)響應于與任務欄按鈕的用戶交互來顯示所述應用輸出的縮略圖像,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的,所述縮略圖像是由所述操作系統(tǒng)生成的。在又一個實施例中,該方法還包括由操作系統(tǒng)響應于與任務欄按鈕的用戶交互來顯示所生成的應用輸出窗口的窗口標題或圖標和窗口標題,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的,所述窗口標題是由本地客戶端生成的。在又一個方面,本公開特別描述了用表示遠程機器上執(zhí)行的遠程應用的用戶界面元素和由該遠程應用生成的應用輸出來更新由本地計算機生成并顯示的任務欄的系統(tǒng)。該系統(tǒng)包括執(zhí)行本地客戶端和操作系統(tǒng)的本地機器。該本地客戶端被配置為接收在遠程計算機上執(zhí)行的遠程應用生成的應用輸出以及遠程窗口配置信息,并且響應于接收該遠程窗口配置信息來生成用于顯示所接收的應用輸出的應用輸出窗口,所述應用輸出窗口包括基于所述遠程窗口配置信息生成的本地任務欄分組配置信息。該操作系統(tǒng)被配置為響應于所述本地任務欄分組配置信息來更新任務欄。在一些實施例中,該本地客戶端還被配置為響應于在所述遠程窗口配置信息中存在顯式的任務欄分組標志,來確定在所述遠程窗口配置信息中標識所述遠程應用的進程標識符、窗口標識符或應用標識符,并且生成具有包含所確定的進程標識符、窗口標識符或應用標識符的本地任務欄分組配置信息的應用輸出窗口。在其他實施例中,該本地客戶端還被配置為響應于在所述遠程窗口配置信息中不存在顯式的任務欄分組標志,來確定所述遠程應用的文件系統(tǒng)路徑。該本地客戶端還被配置為用本地文件系統(tǒng)路徑的標識符來替換所述遠程應用的文件系統(tǒng)路徑的部分以創(chuàng)建混合文件系統(tǒng)路徑,并且生成具有包含該混合文件系統(tǒng)路徑的本地任務欄分組配置信息的應用輸出窗口。在另一個實施例中,該本地客戶端還被配置為識別對應于該混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組的存在,并且將對應于所生成的應用輸出窗口的任務欄按鈕移動到該現(xiàn)有任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。在又一個實施例中,該本地客戶端還被配置為識別不存在對應于該混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組,生成對應于該混合文件系統(tǒng)路徑的任務欄按鈕組,以及將對應于所生成的應用輸出窗口的任務欄按鈕移動到所生成的任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。在一個實施例中,本地客戶端還被配置為從遠程計算機接收表示所述遠程應用的用戶界面元素以及所述應用輸出,并且將所接收的用戶界面元素與對應于所生成的應用輸出窗口的標識存儲在一起。所述操作系統(tǒng)還被配置為響應于與任務欄按鈕的用戶交互來顯示所接收的用戶界面元素,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。在一些實施例中,所接收的用戶界面元素包括所述應用輸出的縮略圖像,而在又一個實施例中,所接收的用戶界面元素包括由所述遠程應用生成的窗口標題。在其他實施例中,所接收的用戶界面元素包括所述遠程應用的圖標。在一些實施例中,所述操作系統(tǒng)還被配置為響應于所述應用輸出窗口的生成來生成任務欄按鈕,生成所述應用輸出窗口的縮略圖像,以及響應于與所述任務欄按鈕的用戶交互來顯示所述縮略圖像。在其他實施例中,所述本地客戶端還被配置為生成所述應用輸出窗口的窗口標題,以及所述操作系統(tǒng)還被配置為響應于所述應用輸出窗口的生成來生成任務欄按鈕,并且響應于用戶與所述任務欄按鈕的交互來顯示窗口標題或圖標和窗口標題。在下面的附圖和描述中詳細闡述了本發(fā)明的各種實施例的細節(jié)。通過參考下述結(jié)合附圖的描述,本公開的前述和其它目的、方面、特征和優(yōu)點將會更加明顯并更易于理解,其中圖IA是描述包括與遠程機器通信的本地機器的網(wǎng)絡環(huán)境的實施例的框圖;圖1B-1E是描述適用于此處所描述的方法和系統(tǒng)的計算機的實施例的框圖;圖2是描述用于在由本地機器生成并顯示的任務欄按鈕組中顯示在本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程計算上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識的系統(tǒng)的一個實施例的框圖;圖3是描述用于在由本地機器生成并顯示的用戶界面元素中顯示在本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程計算上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識的方法的一個實施例的流程圖;圖4A是描述將在本地機器上和在遠程機器上生成的任務欄按鈕組條目進行組合顯示的一個實施例的屏幕截圖;圖4B是描述將在本地機器上和在遠程機器上生成的任務欄按鈕組條目進行組合顯示的一個實施例的屏幕截圖;圖4C是描述沒有對表示在本地機器上和遠程機器上生成的條目的圖標進行分組的一個實施例的屏幕截圖;圖4D是描述對表示在本地機器上和遠程機器上生成的條目的圖標進行分組的一個實施例的屏幕截圖;圖4E是描述具有表示在遠程機器上執(zhí)行的多個遠程應用的用戶界面元素的停靠欄的一個實施例的屏幕截圖;圖4F是描述具有表示在遠程機器上執(zhí)行的每個遠程應用的用戶界面元素的??繖诘挠忠粋€實施例的屏幕截圖;圖4G是描述用表示在遠程機器上執(zhí)行的遠程應用的用戶界面元素更新停靠欄的方法的一個實施例的流程圖;圖5A是客戶機上的顯示圖像的實施例的框圖,該顯示圖像示出了由于在向客戶機傳輸顯示圖像之前在服務器上平整顯示圖像所引起的圖形損壞;圖5B是示出了沒有由于在向客戶機傳輸顯示圖像之前在服務器上平整顯示圖像所引起的圖形損壞的客戶機上的顯示圖像的實施例的框圖;圖5C是用于允許用戶在縮略圖之間進行翻閱以選擇要轉(zhuǎn)到前臺的程序的3D界面的示例的框圖;圖6A是用于提供無縫的三維縮略圖的系統(tǒng)的實施例的框圖;圖6B是用于提供無縫的三維縮略圖而不考慮遠程應用類型的系統(tǒng)的實施例的框圖;以及圖6C-6D是用于提供無縫的三維縮略圖的方法的實施例的流程圖。從下面結(jié)合附圖所闡述的詳細描述,本發(fā)明的特征和優(yōu)點將更明顯,其中,同樣的參考標記在全文中標識相應的元素。在附圖中,同樣的附圖標記通常表示相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。具體實施方式為了閱讀下文各種實施例的描述,下述對于說明書的部分以及它們各自內(nèi)容的描述是有用的-A部分描述可用于實施此處描述的實施例的網(wǎng)絡環(huán)境和計算環(huán)境;-B部分描述用于在由本地機器生成并顯示的任務欄按鈕組中顯示在本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程計算上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識的系統(tǒng)和方法的實施例;一C部分描述用表示在遠程機器上執(zhí)行的遠程應用的用戶界面元素來更新??繖诘南到y(tǒng)和方法的實施例;-D部分描述用于提供無縫的三維縮略圖的實施例。A.網(wǎng)絡和計算環(huán)塏現(xiàn)參考圖1A,描述了網(wǎng)絡環(huán)境的實施例??偟膩碚f,網(wǎng)絡環(huán)境包括經(jīng)由一個或者多個網(wǎng)絡104與一個或者多個遠程機器106a-106n(總的還稱為服務器106或者遠程機器106)通信的一個或者多個本地機器102a-102n(總的還稱為本地機器102、客戶機102、客戶節(jié)點102、客戶機器102、客戶計算機102、客戶裝置102、端點102或端點節(jié)點102)。在一些實施例中,本地機器102既有作為客戶節(jié)點尋求訪問服務器所提供資源的能力,也有作為服務器向其他客戶機102a-102n提供對所寄載的資源的訪問的能力。雖然圖IA示出了在本地機器102和遠程機器106之間的網(wǎng)絡104,本地機器102和遠程機器106可以位于相同的網(wǎng)絡104上。網(wǎng)絡104可為局域網(wǎng)(LAN)(例如公司內(nèi)網(wǎng)),城域網(wǎng)(MAN),或者廣域網(wǎng)(WAN)(例如因特網(wǎng)或萬維網(wǎng))。在一些實施例中,在本地機器102和遠程機器106之間可以有多個網(wǎng)絡104。在這些實施例的一個中,網(wǎng)絡104’(未示出)可為專用網(wǎng)并且網(wǎng)絡104可為公網(wǎng)。在這些實施例的另一個中,網(wǎng)絡104’可為專用網(wǎng)并且網(wǎng)絡104’可為公網(wǎng)。在又一個實施例中,網(wǎng)絡104和104’可都為專用網(wǎng)。而在另一個實施例中,網(wǎng)絡104和104,可都為公網(wǎng)。網(wǎng)絡104可以是任何類型和/或形式的網(wǎng)絡,并且可包括任意下述網(wǎng)絡點對點網(wǎng)絡,廣播網(wǎng)絡,廣域網(wǎng),局域網(wǎng),電信網(wǎng)絡,數(shù)據(jù)通信網(wǎng)絡,計算機網(wǎng)絡,ATM(異步傳輸模式)網(wǎng)絡,SONET(同步光纖網(wǎng)絡)網(wǎng)絡,SDH(同步數(shù)字體系)網(wǎng)絡,無線網(wǎng)絡和有線網(wǎng)絡。在一些實施例中,網(wǎng)絡104可以包括無線鏈路,諸如紅外信道或者衛(wèi)星頻帶。網(wǎng)絡104的拓撲可為總線型、星型或環(huán)型網(wǎng)絡拓撲。網(wǎng)絡104可以具有對于本領域普通技術人員所熟知的、能夠支持此處描述的操作的任何這樣的網(wǎng)絡拓撲。網(wǎng)絡可包括利用用于移動裝置間通信的任一或一些協(xié)議的移動電話網(wǎng)絡,這些協(xié)議包括AMPS、TDMA,CDMA、GSM、GPRS或UMTS。在一些實施例中,不同類型的數(shù)據(jù)可以通過不同協(xié)議傳輸。在其他實施例中,同一類型的數(shù)據(jù)可通過不同協(xié)議傳輸。在一些實施例中,系統(tǒng)可包括多個邏輯分組的遠程機器106。在這些實施例的一個中,服務器的邏輯分組可以被稱為服務器群38。在這些實施例的又一個中,遠程機器106可為地理上分散的。在其他實施例中,服務器群38可以作為單個實體被管理。仍在其他實施例中,服務器群38包括多個服務器群38。每個服務器群38內(nèi)的遠程機器106可能是異構(gòu)的一個或多個遠程機器106可根據(jù)一種類型的操作系統(tǒng)平臺(例如,WINDOWSNT、WINDOffS2003或WINDOWS2008,所有這些都是由華盛頓州Redmond的Microsoft公司出品的)操作,而一個或多個其它遠程機器106可根據(jù)另一類型的操作系統(tǒng)平臺(例如,UniX或Linux)操作。每個服務器群38的遠程機器106不必與同一服務器群38中的另一個遠程機器106在物理上接近。因此,邏輯上分組為服務器群38的遠程機器106組可以是使用廣域網(wǎng)(WAN)連接或城域網(wǎng)(MAN)連接來互聯(lián)的。例如,服務器群38可包括物理上位于不同大陸或大陸、國家、州、城市、校園或房間的不同區(qū)域的遠程機器106。如果遠程機器106使用局域網(wǎng)(LAN)連接或一些直連形式進行連接,則可增加服務器群38中的遠程機器106間的數(shù)據(jù)傳送速度。遠程機器106可以是文件服務器、應用服務器、web服務器、代理服務器、設備、網(wǎng)絡設備、網(wǎng)關、應用網(wǎng)關、網(wǎng)關服務器、虛擬化服務器、部署服務器、SSLVPN服務器,或防火墻。在一些實施例中,遠程機器106提供遠程認證撥入用戶服務,并且可被稱為RADIUS服務器。在其他實施例中,遠程機器106可以有作為應用服務器或者作為主應用服務器工作的能力。仍在其他實施例中,遠程機器106是刀片服務器。在其他實施例中,遠程機器106執(zhí)行向用戶或客戶計算機102提供對計算環(huán)境訪問的虛擬機。在一個實施例中,遠程機器106可包括活動目錄。遠程機器106可以是應用加速設備。對于其中遠程機器106是應用加速設備的實施例,遠程機器106可提供包括防火墻功能、應用防火墻功能,或負載平衡功能的功能。在一些實施例中,遠程機器106包括諸如由位于美國加州SanJose的Citrix應用網(wǎng)絡組、位于美國加州MountainView,的SilverPeakSystems公司、位于美國加州SanFrancisco的RiverbedTechnology公司、位于美國華盛頓州Seattle的F5Networks公司或位于美國加州Sunnyvale的JuniperNetworks公司制造的設備系列中的一個的設備。在一些實施例中,遠程機器106代表本地機器102的用戶執(zhí)行應用。在其他實施例中,遠程機器106執(zhí)行虛擬機,該虛擬機提供執(zhí)行會話,在該執(zhí)行會話中應用代表本地機器102的用戶來執(zhí)行。在這些實施例的一個中,該執(zhí)行會話是所寄載的桌面會話。在這些實施例的另一個中,該執(zhí)行會話提供對計算環(huán)境的訪問,該計算環(huán)境包括如下的一個或多個應用、多個應用、桌面應用、以及在其中可執(zhí)行一個或多個應用的桌面會話。在一些實施例中,本地機器102與遠程機器106通信。在一個實施例中,本地機器102與服務器群38中的遠程機器106之一直接通信。在又一個實施例中,本地機器102執(zhí)行程序鄰近應用(aprogramneighborhoodapplication)以與服務器群38內(nèi)的遠程機器106通信。在又一個實施例中,遠程機器106提供主節(jié)點的功能。在一些實施例中,本地機器102通過網(wǎng)絡104與服務器群38中的遠程機器106通信。例如通過網(wǎng)絡104,本地機器102可以請求執(zhí)行服務器群38中的遠程機器106a-106n所寄載的各種應用,并接收應用執(zhí)行結(jié)果的輸出進行顯示。在一些實施例中,只有主節(jié)點提供這樣的功能,即識別和提供與遠程機器106b相關的地址信息所需的功能,所述遠程機器106b寄載所請求的應用。在一個實施例中,遠程機器106提供web服務器的功能。在又一個實施例中,遠程機器106a接收來自本地機器102的請求,將該請求轉(zhuǎn)發(fā)到第二遠程機器106b,并用遠程機器106b對該請求的響應來對本地機器102的請求進行響應。在又一個實施例中,遠程機器106a獲得對本地機器102可用的應用的列舉,以及與寄載由該應用的列舉所識別的應用的遠程機器106b相關聯(lián)的地址信息。在又一個實施例中,遠程機器106使用web接口提供對本地機器102的請求的響應。在一個實施例中,本地機器102直接與遠程機器106通信以訪問所識別的應用。在又一個實施例中,本地機器102接收通過執(zhí)行遠程機器106上所識別的應用而產(chǎn)生的輸出數(shù)據(jù),例如顯示數(shù)據(jù)。在一些實施例中,遠程機器106或服務器群38可運行一個或多個應用,例如提供瘦客戶端計算的應用或遠程顯示表示應用。在一個實施例中,遠程機器106或服務器群38作為應用來執(zhí)行CitrixSystems有限公司的CITRIXACCESSSUITE的任一部分(例如產(chǎn)品METAFRAME或CITRIXPRESENTATIONSERVER),由CitrixSystems有限公司出品的任何下列產(chǎn)品CITRIXXENAPP、CITRIXXENDESKTOP、CITRIXACCESSGATEWAY,和/或微軟公司出品的MICROSOFTWINDOWS終端服務中的任意一個。在又一個實施例中,該應用是由位于美國佛羅里達州FortLauderdale的CitrixSystems有限公司開發(fā)的ICA客戶機。仍在又一個實施例中,遠程機器106可以運行應用,例如,該應用可以是提供諸如由位于美國華盛頓州Redmond的微軟公司制造的MICROSOFTEXCHANGE的電子郵件服務的應用服務器、web或Internet服務器,或桌面共享服務器,或協(xié)同服務器。在又一個實施例中,任何應用可以包括任何類型的所寄載的服務或產(chǎn)品,例如位于美國加利福尼亞州SantaBarbara的CitrixOnlineDivision公司提供的G0T0MEETING,位于美國加利福尼亞州SantaClara的WebEx有限公司提供的WEBEX,或者位于美國華盛頓州Redmond的微軟公司提供的MicrosoftOfficeLIVEMEETING。本地機器102可以執(zhí)行、操作或者以其它方式提供應用,應用可為任何類型和/或形式的軟件、程序或者可執(zhí)行指令,例如任何類型和/或形式的web瀏覽器、基于web的客戶機、客戶機一服務器應用、瘦客戶端計算客戶機、ActiveX控件、或者Java小應用程序、或者可以在本地機器102上執(zhí)行的任意其它類型和/或形式的可執(zhí)行指令。在一些實施例中,該應用可以是代表本地機器102在遠程機器106上執(zhí)行的基于服務器或者基于遠程的應用。在其他實施例中,遠程機器106可以使用任意瘦-客戶端協(xié)議、表示層協(xié)議或遠程顯示協(xié)議來顯示輸出到本地機器102,所述協(xié)議例如由位于美國佛羅里達州Ft.Lauderdale的CitrixSystems有限公司出品的獨立計算架構(gòu)(ICA)協(xié)議;由位于美國華盛頓州Redmond的微軟公司出品的遠程桌面協(xié)議(RDP)5Xll協(xié)議;由AT&T貝爾實驗室出品的虛擬網(wǎng)絡計算(VNC)協(xié)議;由位于美國加里福尼亞州Sunnyvale和位于以色列Raanana的Qumranet有限公司出品的SPICE協(xié)議;由加里福尼亞州Milpitas的VESA公司出品的Net2Display協(xié)議;由位于加拿大不列顛哥倫比亞省的Burnaby的Teradici公司出品的PC-over-IP協(xié)議;由加里福尼亞州SanJose的WyseTechnology有限公司出品的TCX協(xié)議;由紐約州紐約市的哥倫比亞大學開發(fā)的THINC協(xié)議;或由馬薩諸塞州Chelmsford的Desktone有限公司開發(fā)的Virtual-D協(xié)議。該應用可使用任何類型的協(xié)議,并且它可為,例如,HTTP客戶端、FTP客戶端、Oscar客戶端或Telnet客戶端。在其它實施例中,該應用包括與互聯(lián)網(wǎng)協(xié)議電話(VoIP)通信相關的任何類型的軟件,例如軟IP電話。在進一步的實施例中,該應用包括與實時數(shù)據(jù)通信相關的任一應用,例如用于流式傳輸視頻和/或音頻的應用。本地機器102和遠程機器106可以被部署為任意類型和形式的計算裝置和/或在其上執(zhí)行,例如能夠與任意類型和形式的網(wǎng)絡通信并且執(zhí)行此處所描述的操作的計算機、網(wǎng)絡裝置或設備。圖IB和IC描述了用于實施本地機器102或遠程機器106的實施例的計算裝置100的框圖。如圖IB和IC所示,每個計算裝置100包括中央處理單元121和主存儲器單元122。如圖IB所示,計算裝置100可包括存儲裝置128、安裝裝置116、網(wǎng)絡接口118、I/O控制器123、顯示裝置124a-124n、鍵盤126和諸如鼠標的指示裝置127。存儲裝置128可包括但不限于操作系統(tǒng)、軟件和客戶機代理120。如圖IC所示,每個計算裝置100也可包括另外的可選部件,例如存儲器端口103、橋170、一個或多個輸入/輸出裝置130a-130n(總的使用標號130表示)以及與中央處理單元121通信的高速緩存存儲器140。中央處理單元121是響應并處理從主存儲器單元122取出的指令的任意邏輯電路。在一些實施例中,中央處理單元121由微處理器單元提供,例如由位于美國加利福尼亞州MountainView的Intel公司制造的微處理器單元;由位于美國伊利諾伊州Schaumburg的Motorola公司制造的微處理器單元;由位于美國加利福尼亞州SantaClara的Transmeta公司制造的微處理器單元;RS/6000處理器,由位于美國紐約州WhitePlains的InternationalBusinessMachines公司制造的微處理器單元;或者由位于美國加利福尼亞州Sunnyvale的AdvancedMicroDevices公司制造的微處理器單元。計算裝置100可以基于這些處理器中的任意一種,或者能夠如此處所述方式運行的任意其它處理器。主存儲器單元122可以是能夠存儲數(shù)據(jù)并允許微處理器121直接訪問任意存儲位置的一個或多個存儲器芯片,例如靜態(tài)隨機存取存儲器(SRAM)、突發(fā)SRAM或同步突發(fā)SRAM(BSRAM)、動態(tài)隨機存取存儲器(DRAM)、快速頁模式DRAM(FPMDRAM)、增強DRAM(EDRAM)、擴展數(shù)據(jù)輸出RAM(EDORAM)、擴展數(shù)據(jù)輸出DRAM(EDODRAM)、突發(fā)擴展數(shù)據(jù)輸出DRAM(BED0DRAM)、增強DRAM(EDRAM)、同步DRAM(SDRAM),JEDECSRAM、PC100SDRAM、雙倍數(shù)據(jù)速率SDRAM(DDRSDRAM)、增強SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、直接內(nèi)存總線DRAM(DRDRAM)或鐵電RAM(FRAM)0主存儲器122可以基于上述存儲器芯片的任意一種,或者能夠如此處所述方式運行的任意其它可用存儲器芯片。在圖IB所示的實施例中處理器121通過系統(tǒng)總線150(在下面進行更詳細的描述)與主存儲器122進行通信。圖IC描述了在其中處理器通過存儲器端口103直接與主存儲器122通信的計算裝置100的實施例。例如,在圖IC中主存儲器122可以是DRDRAM。圖IC描述在其中主處理器121通過有時被稱為后端總線的次級總線直接與高速緩存存儲器140通信的實施例。其他實施例中,主處理器121使用系統(tǒng)總線150與高速緩存存儲器140通信。高速緩存存儲器140通常有比主存儲器122更快的響應時間,并且通常由SRAM、BSRAM或EDRAM提供。在圖IB所示的實施例中,處理器121通過本地系統(tǒng)總線150與各種1/0裝置130進行通信??梢允褂酶鞣N不同的總線將中央處理單元121連接到任意1/0裝置130,包括VESAVL總線、ISA總線、EISA總線、微通道體系結(jié)構(gòu)(MCA)總線、PCI總線、PCI-X總線、PCI-Express總線或NuBus。對于1/0裝置是視頻顯示器124的實施例,處理器121可以使用高級圖形端口(AGP)與顯示器124通信。圖IC描述了在其中主處理器121通過HYPERTRANSP0RT、RAPIDI0、或INFINIBAND通信技術直接與1/0裝置130b通信的計算機100的實施例。圖IC也描述了在其中本地總線和直接通信相混合的實施例處理器121使用本地互連總線與1/0裝置130a通信同時直接與1/0裝置130b通信。計算裝置100中可以有多種1/0裝置130a_130n。輸入裝置包括鍵盤、鼠標、觸控板、軌跡球、麥克風和繪圖板。輸出裝置包括視頻顯示器、揚聲器、噴墨打印機、激光打印機和熱升華打印機。如圖IB所示,1/0裝置可以由1/0控制器123控制。1/0控制器可以控制一個或多個1/0裝置,例如鍵盤126和指示裝置127(如鼠標或光筆)。此外,1/0裝置還可以為計算裝置100提供存儲和/或安裝介質(zhì)116。在其它實施例中,計算裝置100可以提供USB連接(未示出)以接納手持USB存儲裝置,例如由位于美國加利福尼亞州LosAlamitos的TwintechIndustry有限公司生產(chǎn)的USB閃存驅(qū)動系列裝置。再次參考圖1B,計算裝置100可以支持任意適當?shù)陌惭b裝置116,例如用于接納諸如3.5英寸、5.25英寸磁盤或ZIP磁盤的軟盤的軟盤驅(qū)動器、⑶-ROM驅(qū)動器、⑶-R/RW驅(qū)動器、DVD-ROM驅(qū)動器、各種格式的磁帶驅(qū)動器、USB裝置、硬盤驅(qū)動器或適于安裝軟件和程序的任意其它裝置。計算裝置100還可以包括存儲裝置,諸如一個或者多個硬盤驅(qū)動器或者獨立磁盤冗余陣列,用于存儲操作系統(tǒng)和其它相關軟件,以及用于存儲諸如涉及客戶機代理120的任意程序的應用軟件程序?;蛘?,可以使用安裝裝置116的任意一種作為存儲裝置。此外,操作系統(tǒng)和軟件可從可引導介質(zhì)運行,可引導介質(zhì)例如是可引導CD,諸如KN0PPIX,其為一種用于GNU/Linux的可引導CD,可自knoppix.net作為GNU/Linux—個發(fā)行版獲得。此外,計算裝置100可以包括網(wǎng)絡接口118以通過多種連接來與網(wǎng)絡104對接,所述連接包括但不限于標準電話線路、LAN或WAN鏈路(例如802.11、Tl、T3、56kb、X.25、SNA、DECNET)、寬帶連接(如ISDN、幀中繼、ATM、千兆以太網(wǎng)、基于SONET的以太網(wǎng)(Ethernet-over-SONET))、無線連接、或上述任意或全部的某種組合??墒褂枚喾N通信協(xié)議(例如TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET、SONET、SDH、光纖分布數(shù)據(jù)接口(FDDI)、RS232、IEEE802.11、IEEE802.11a、IEEE802.lib、IEEE802.Hg、CDMA、GSM、WiMax和直接異步連接)來建立連接。在一個實施例中,計算裝置100可以通過任意類型和/或形式的網(wǎng)關或諸如安全套接字層(SSL)或傳輸層安全(TLS),或由位于美國佛羅里達州Ft.Lauderdale的CitrixSystems公司制造的Citrix網(wǎng)關協(xié)議的隧道協(xié)議來與其他計算裝置100’通信。網(wǎng)絡接口118可以包括內(nèi)置網(wǎng)絡適配器、網(wǎng)絡接口卡、PCMCIA網(wǎng)絡卡、卡總線網(wǎng)絡適配器、無線網(wǎng)絡適配器、USB網(wǎng)絡適配器、調(diào)制解調(diào)器或適用于將計算裝置100對接到能夠通信并執(zhí)行這里所說明的操作的任意類型的網(wǎng)絡的任意其它裝置。在一些實施例中,計算裝置100可以包括多個顯示裝置124a_124n或與其相連,這些顯示裝置各自可以是相同或不同的類型和/或形式。因而,任意一種I/O裝置130a-130n和/或I/O控制器123可以包括任何類型和/或形式的適當?shù)挠布?、軟件或硬件和軟件的組合,以支持、允許或提供通過計算裝置100連接和使用多個顯示裝置124a-124n。例如,計算裝置100可以包括任意類型和/或形式的視頻適配器、視頻卡、驅(qū)動器和/或庫,以與顯示裝置124a-124n對接、通信、連接或以其他方式使用顯示裝置124a_124n。在一個實施例中,視頻適配器可以包括多個連接器以與多個顯示裝置124a-124n對接。在其它實施例中,計算裝置100可以包括多個視頻適配器,每個視頻適配器與顯示裝置124a-124n中的一個或多個連接。在一些實施例中,計算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個顯示器124a-124n。在其它實施例中,顯示裝置124a_124n中的一個或多個可以由一個或多個其它計算裝置提供,諸如(例如通過網(wǎng)絡)與計算裝置100連接的計算裝置IOOa和100b。這些實施例可以包括被設計和構(gòu)造來使用另一個計算機的顯示裝置作為計算裝置100的第二顯示裝置124a的任何類型的軟件。本領域的普通技術人員應認識和意識到可以將計算裝置100配置成擁有多個顯示裝置124a-124n的各種方式和實施例。在進一步的實施例中,I/O裝置130可以是系統(tǒng)總線150和外部通信總線之間的橋,所述外部通信總線如USB總線、Apple桌面總線、RS-232串行連接、SCSI總線、FireWire總線、Fireffire800總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級HIPPI總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線、串行SCSI總線。圖IB和IC中所描述類型的計算裝置100通常地在操作系統(tǒng)的控制下運行,所述操作系統(tǒng)控制任務的調(diào)度和對系統(tǒng)資源的訪問。計算裝置100可運行任何操作系統(tǒng),諸如任意版本的MICROSOFTWINDOWS操作系統(tǒng);不同發(fā)行版本的Unix和Linux操作系統(tǒng);用于Macintosh計算機的MACOS的任意版本;任意嵌入式操作系統(tǒng);任意實時操作系統(tǒng);任意開源操作系統(tǒng);任意專有操作系統(tǒng);任意用于移動計算裝置的操作系統(tǒng),或者能夠在計算裝置上運行且執(zhí)行此處所描述的操作的任意其它操作系統(tǒng)。典型的操作系統(tǒng)包括但不限于WINDOWS3.x,WINDOWS95,WINDOWS98,WINDOWS2000,WINDOWSNT3.51、WINDOWSNT4.0、WINDOWS7、WINDOWSCE、WINDOWSXP和WINDOWSVISTA,所有這些均由位于美國華盛頓州Redmond的微軟公司出品;由位于美國加利福尼亞州Cupertino的蘋果計算機公司出品的MACOS;由位于美國紐約州Armonk的國際商業(yè)機器公司出品的OS/2;以及由位于美國猶他州SaltLakeCity的Caldera公司發(fā)布的可免費使用的Linux操作系統(tǒng)或者任意類型和/或形式的Unix操作系統(tǒng),以及其它。計算裝置100可以是任意工作站、電話、臺式計算機、膝上型或筆記本電腦、服務器、掌上電腦、移動電話或其他便攜電信裝置、媒體播放裝置、游戲系統(tǒng)、移動計算裝置,或能夠通信并有足夠的處理器能力和存儲容量以執(zhí)行此處所述的操作的任意其它類型和/或形式的計算、電信或者媒體裝置。例如,計算機裝置100可包括由位于美國加利福尼亞州Cupertino的蘋果計算機公司出品的IPOD系列裝置、由位于日本東京的索尼公司出品的PLAYSTAT10N2、PLAYSTATION3或PERSONALPLAYSTATIONPORTABLE(PSP)裝置,由位于日本京都的Nintendo有限公司出品的NINTENDODS,NINTENDOGAMEB0Y、NINTENDOGAMEB0YADVANCED或NINTENDOREVOLUTION裝置,或者由位于美國華盛頓州Redmond的微軟公司出品的XBOX或XBOX360裝置。在一些實施例中,計算裝置100可以有不同的處理器、操作系統(tǒng)以及符合該裝置的輸入裝置。例如,在一個實施例中,計算裝置100是由Palm有限公司出品的TRE0180、270、600、650、680、700p、700w/wx、750、755p、800w、Centro或Pro智能電話。在這些實施例的一些中,TERO智能電話是在PaImOS操作系統(tǒng)的控制下操作并且包括筆輸入裝置以及五向?qū)Ш窖b置。在其他實施例中,計算裝置100是移動裝置,例如,JAVA使能蜂窩電話或個人數(shù)字助理(PDA),諸如i55sr、i58sr、i85s、i88s、i90c、i95cl、i335、i365、i570、1576、i580、i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、i776或imllOO,以上這些均由位于美國伊利諾伊州Schaumburg的摩托羅拉公司制造;由位于日本京都的Kyocera公司制造的6035或7135;或者由位于韓國首爾的Samsung電子有限公司制造的i300或i330。在一些實施例中,計算裝置100是由位于芬蘭的諾基亞公司制造或由位于瑞典Lund的SonyEricssonMobileCommunicationsAB公司制造的移動裝置。在其他實施例中,計算裝置100是黑莓(Blackberry)手持或智能電話,諸如由ResearchInMotion有限公司制造的裝置,包括黑莓7100系列、8700系列、7700系列、7200系列、黑莓7520、黑莓PEARL8100,8700系列、8800系列、黑莓Storm、黑莓Bold、黑莓Curve8900、黑莓PearlFlip。在其他實施例中,計算裝置100是智能電話、PocketPC、PocketPC電話,或支持MicrosoftWindowsMobileSoftware的其它手持移動裝置。此外,計算裝置100可以是任意工作站、臺式計算機、膝上型或筆記本電腦、服務器、掌上電腦、移動電話、任意其它計算機、或能夠通信并有足夠的處理器能力和存儲容量以執(zhí)行此處所述操作的其它形式的計算或者電信裝置。在一些實施例中,計算裝置100是數(shù)字音頻播放器。在這些實施例的一個中,計算裝置100是諸如由位于美國加利福尼亞州Cupertino的蘋果計算機公司制造的AppleIPOD、IPODTouch、IPODNANO和IPODSHUFFLE系列裝置的數(shù)字音頻播放器。在這些實施例的另一個中,數(shù)字音頻播放器可作為便攜媒體播放器和作為大容量存儲裝置來工作。在其他實施例中,計算裝置100是諸如由位于美國新澤西州RidgefieldPark的SamsungElectronicsAmerica公司制造的DigitalAudioPlayerSelectMP3播放器,或由位于美國伊利諾伊州Schaumburg的Motorola公司制造的Motorolam500或m25的數(shù)字音頻播放器。在其他實施例中,計算裝置100是便攜媒體播放器,諸如由CreativeTechnologies有限公司制造的ZenVisionW、ZenVision系列、ZenPortableMediaCenter裝置或DigitalMP3系列的MP3播放器。仍在其他實施例中,計算裝置100是支持以下文件格式的便攜媒體播放器或數(shù)字音頻播放器,這些文件格式包括但不限于MP3、WAV、M4A/AAC、WMAProtectedAAC、AIFF、Audible有聲讀物、AppleLossless音頻文件格式和mov、.m4v以及mp4MPEG_4(H.264/MPEG-4AVC)視頻文件格式。在一些實施例中,計算裝置100包括裝置的組合,例如與數(shù)字音頻播放器或便攜媒體播放器相組合的移動電話。在這些實施例的一個中,計算裝置100是組合數(shù)字音頻播放器和移動電話的MotorolaRAZR或MotorolaROKR系列。在這些實施例的又一個中,計算裝置100是由位于加利福尼亞州Cupertino的蘋果公司制造的iPhone系列智能電話中的裝置。在一個實施例中,計算裝置102a可從遠程機器106請求資源,同時向客戶機102b提供遠程機器106的功能。在這樣的實施例中,就從遠程機器106(其可以被稱為服務器)接收數(shù)據(jù)而言,計算裝置102a可以被稱為客戶機,而就第二客戶機102b而言,計算裝置102a可以被稱為服務器。在又一個實施例中,客戶機102可代表客戶機102上的用戶從遠程機器106請求資源。如圖ID所示,計算裝置100可以包括多個處理器,并且可以提供用于對不只一個數(shù)據(jù)片同時執(zhí)行多個指令或者同時執(zhí)行一個指令的功能。在一些實施例中,計算裝置100可包括具有一個或多個核的并行處理器。在這些實施例的一個中,計算裝置100是共享內(nèi)存并行裝置,具有多個處理器和/或多個處理器核,將所有可用內(nèi)存作為一個全局地址空間進行訪問。在這些實施例的又一個中,計算裝置100是分布式存儲器并行裝置,具有多個處理器,每個處理器僅訪問本地存儲器。在這些實施例的又一個中,計算裝置100既有共享的存儲器又有僅由特定處理器或處理器子集訪問的存儲器。在這些實施例的又一個中,如多核微處理器的計算裝置100將兩個或多個獨立處理器組合在一個封裝中,通常在一個集成電路(IC)中。在這些實施例的又一個中,計算裝置100包括具有單元寬帶引擎(CELLBROADBANDENGINE)架構(gòu)的芯片,并包括高能處理器單元以及多個協(xié)同處理單元,高能處理器單元和多個協(xié)同處理單元通過內(nèi)部高速總線連接在一起,可以將內(nèi)部高速總線稱為單元互連總線。在一些實施例中,處理器提供用于對多個數(shù)據(jù)片同時執(zhí)行單個指令(SMD)的功能。其他實施例中,處理器提供用于對多個數(shù)據(jù)片同時執(zhí)行多個指令(MMD)的功能。又一個實施例中,處理器可以在單個裝置中使用SMD和MMD核的任意組合。在一些實施例中,計算裝置100可包括圖形處理單元。圖IE所示的這些實施例的一個中,計算裝置100包括至少一個中央處理單元121和至少一個圖形處理單元。在這些實施例的又一個中,計算裝置100包括至少一個并行處理單元和至少一個圖形處理單元。在這些實施例的又一個中,計算裝置100包括任意類型的多個處理單元,多個處理單元中的一個包括圖形處理單元。在一個實施例中,資源可以是程序、應用、文檔、文件、多個應用、多個文件、可執(zhí)行程序文件、桌面環(huán)境、計算環(huán)境或?qū)Ρ镜赜嬎阊b置102的用戶可用的其他資源。可以經(jīng)由多種訪問方法將資源傳送到本地計算裝置102,所述訪問方法包括但不限于傳統(tǒng)的直接安裝在本地計算裝置102上,經(jīng)由應用流式傳輸?shù)姆椒▊魉偷奖镜赜嬎阊b置102、將經(jīng)由第三計算裝置106b上的資源的執(zhí)行所產(chǎn)生的并且經(jīng)由表示層協(xié)議向本地計算裝置102傳輸?shù)妮敵鰯?shù)據(jù)傳送到本地計算裝置102,將通過經(jīng)由在遠程計算裝置106上執(zhí)行的虛擬機執(zhí)行資源所產(chǎn)生的輸出數(shù)據(jù)傳送到本地計算裝置102,或者從連接到本地計算裝置102的可移動存儲裝置(例如USB裝置)執(zhí)行并產(chǎn)生輸出數(shù)據(jù),或經(jīng)由在本地計算裝置102上執(zhí)行的虛擬機執(zhí)行并產(chǎn)生輸出數(shù)據(jù)。在一些實施例中,本地計算裝置102將通過資源的執(zhí)行所產(chǎn)生的輸出數(shù)據(jù)傳輸?shù)搅硪粋€客戶計算裝置102b。在一些實施例中,本地計算裝置102的用戶連接到遠程計算裝置106并且在本地計算裝置102上查看在遠程計算裝置106上生成的遠程桌面環(huán)境的本地版本的顯示,其包括多個數(shù)據(jù)對象。在這些實施例的一個中,通過遠程計算裝置106(或通過第二遠程計算裝置106b)將至少一個資源提供給用戶并且將其顯示在遠程桌面環(huán)境中。然而,出于選擇或者由于策略或技術要求,可能有用戶在本地計算裝置102上執(zhí)行的資源。在這些實施例的又一個中,本地計算裝置102的用戶更喜歡提供對用戶可用的所有資源的訪問的集成的桌面環(huán)境,而不是對于由單獨的機器提供的資源的不同的桌面計算環(huán)境。例如,用戶可能發(fā)現(xiàn)在多個圖形顯示之間的導航是混亂的且難以有效使用?;蛘撸脩艨赡芟M麑⒂梢粋€機器所提供的一個應用生成的數(shù)據(jù)與由不同的機器提供的另一個資源聯(lián)合使用。在這些實施例的又一個中,可以通過與集成遠程資源的和本地資源的顯示的遠程桌面環(huán)境進行交互來控制對執(zhí)行資源、窗口移動、應用最小化/最大化、調(diào)整窗口大小和終止執(zhí)行資源的請求。在這些實施例的又一個中,經(jīng)由集成的桌面環(huán)境可訪問的應用或其他資源-包括在本地計算裝置102上執(zhí)行的那些資源和在遠程計算裝置106上執(zhí)行的那些資源-被顯示在單個桌面環(huán)境中。在一個實施例中,來自遠程計算裝置106的數(shù)據(jù)對象被集成到由本地計算裝置102生成的桌面環(huán)境中。在又一個實施例中,遠程計算裝置106維護集成的桌面。在又一個實施例中,本地計算裝置102維護集成的桌面。在一些實施例中,單個遠程桌面環(huán)境204被顯示。在這些實施例的一個中,將遠程桌面環(huán)境204作為全屏桌面顯示。在其他實施例中,顯示多個遠程桌面環(huán)境204。在這些實施例的一個中,在一個或多個顯示裝置124上以非全屏模式顯示遠程桌面環(huán)境的一個或多個。在這些實施例的又一個中,在單獨顯示裝置上以全屏模式顯示遠程桌面環(huán)境。在這些實施例的又一個中,在一個或多個顯示裝置142上以全屏模式顯示遠程桌面環(huán)境的一個或多個。B.用于在由本地機器生成并顯示的任務欄按鈕組中顯示在該本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程機器上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識的系統(tǒng)和方法現(xiàn)參考圖2,框圖描述了用于在由本地機器生成并顯示的用戶界面元素中顯示在該本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程機器上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識的系統(tǒng)的一個實施例。簡而言之,系統(tǒng)200包括在本地計算裝置102上執(zhí)行的第一代理202、在遠程計算裝置106上執(zhí)行的第二代理204、在遠程計算裝置106上執(zhí)行的第一進程206和在本地計算裝置102上執(zhí)行的第二進程218。第一代理202從第二代理204接收第一進程206的標識符和由第一進程206生成的第一窗口的標識。第一代理202將第二窗口212與第一進程206的標識符相關聯(lián),第二窗口212是由本地機器102上的第一代理202生成的。響應于第二窗口212與第一進程206的標識符的關聯(lián),在本地機器102上執(zhí)行的殼(shell)214在任務欄按鈕組230中顯示i)第二窗口212的標識和ii)第三窗口216的標識,第三窗口216是由第二進程218生成的且被顯示在本地機器102上。在一些實施例中,在計算裝置上執(zhí)行的進程-例如在遠程計算裝置106上執(zhí)行的第一進程206或在本地計算裝置102上執(zhí)行的第二進程218-生成輸出數(shù)據(jù)和窗口屬性數(shù)據(jù)并且與在計算裝置上執(zhí)行的殼通信以根據(jù)所述窗口屬性數(shù)據(jù)顯示所述輸出數(shù)據(jù)。在一些實施例中,該第一進程206也可以被稱為遠程應用。在其他實施例中,第一代理202從第二代理204接收圖形數(shù)據(jù)和窗口屬性數(shù)據(jù)并且將指示在包含多個數(shù)據(jù)對象的桌面環(huán)境中顯示所接收的圖形或窗口屬性數(shù)據(jù)。在這些實施例的一個中,數(shù)據(jù)對象是在桌面環(huán)境中顯示的窗口。在這些實施例的又一個中,數(shù)據(jù)對象是存儲屬性數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),并且可以有或可以沒有桌面環(huán)境中的關聯(lián)的可視表示。在這些實施例的又一個中,數(shù)據(jù)對象是存儲與用戶界面元素關聯(lián)的數(shù)據(jù)結(jié)構(gòu)-可視狀態(tài)、關聯(lián)的功能的標識、圖形數(shù)據(jù)的位置、標題欄內(nèi)容等-并且窗口是該用戶界面元素的圖形表示。在這些實施例的又一個中,在機器上執(zhí)行的殼214提供桌面環(huán)境中用戶界面元素的顯示。該殼也可以有多種名稱,如選擇器(finder)、圖形用戶界面(⑶I)、視窗或X-windows接口或任何其他類似的術語。在這些實施例的又一個中,殼214根據(jù)與數(shù)據(jù)對象關聯(lián)的屬性數(shù)據(jù)來顯示與該數(shù)據(jù)對象關聯(lián)的圖形數(shù)據(jù)。在這些實施例的又一個中,第一代理202與殼214通信以指示本地顯示遠程生成的數(shù)據(jù)?,F(xiàn)參考圖2,并更詳細地,第一代理202在本地計算裝置102上執(zhí)行。盡管被稱為第一代理,在一些實施例中,第一代理202可以被稱為本地客戶端、本地客戶機進程、本地客戶機代理或任何其他類似的術語。在一個實施例中,本地計算裝置是如上文結(jié)合圖1A-1E描述的計算裝置。在又一個實施例中,本地計算裝置是客戶機裝置102,其連接到服務器106以訪問對本地計算裝置102的用戶可用的一個或多個資源。在又一個實施例中,第一代理202是表示層協(xié)議代理的部分。在又一個實施例中,第一代理202與表示層協(xié)議代理進行通信。第二代理204在遠程計算裝置106上執(zhí)行。與第一代理一樣,在一些實施例中,第二代理可以被稱為遠程代理、遠程客戶端、遠程進程、服務器代理、服務器進程或任何其他類型的術語。在一個實施例中,遠程計算裝置是如上文結(jié)合圖1A-1E描述的計算裝置。在又一個實施例中,第二代理204是表示層協(xié)議代理的部分。在又一個實施例中,第二代理204與表示層協(xié)議代理進行通信。在一些實施例中,第一代理202包括接收器,該接收器用于從第二代理204接收與在遠程機器106上生成的桌面環(huán)境關聯(lián)的數(shù)據(jù)。在這些實施例的一個中,例如,第一代理202包括接收器(其可以例如作為動態(tài)鏈接庫組件而被提供),該接收器從第二代理204接收窗口創(chuàng)建和窗口進程數(shù)據(jù),以用于顯示在遠程機器106上生成的窗口的本地版本。在一些實施例中,第一代理202可以通過一個或多個連接接收數(shù)據(jù),例如輸出數(shù)據(jù)208和窗口屬性數(shù)據(jù)210。在一個實施例中,一個或多個連接可以被多路復用為一個或多個虛通道。這樣的多路復用可以使不同的虛通道具有不同的帶寬限制或不同的優(yōu)先級而同時仍是單個傳輸層連接的部分。這可以減少所需的傳輸層開銷并且提供SSL或VPN隧道能力,同時仍允許在第二代理204和第一代理202之間的每通道壓縮、緩沖,以及通信優(yōu)先級的管理。在一些實施例中,這樣的虛通道可以專用于特定內(nèi)容類型或目的。例如,第一高優(yōu)先級虛通道可以專用于輸出數(shù)據(jù)208的傳輸,而第二低優(yōu)先級虛通道可以專用于任務欄縮略圖像的傳輸,下面將對其更詳細地進行討論。在一些實施例中,虛通道可以被打開或關閉,而不必解除或重新建立虛通道在其上通信的傳輸層連接。在一個實施例中,殼214是給計算裝置的用戶提供用戶界面的軟件。在一個實施例中,可以用第三方殼來補充或替代殼。在MICROSOFTWINDOWS中,默認殼是EXPLORER,其確定桌面的配置(例如、任務欄、通知區(qū)域、開始菜單等)。如上文所述,盡管被稱為殼,但該殼也可以被稱為GUI、選擇器、瀏覽器、窗口界面或任何其他類似術語。在一些實施例中,第一代理202包括用于與殼214通信以修改桌面顯示的功能。在這些實施例的一個中,第一代理202包括向生成和維護桌面環(huán)境中數(shù)據(jù)的顯示的操作系統(tǒng)中的組件發(fā)送指令的發(fā)送器。在這些實施例的又一個中,第一代理202包括給第一代理202提供用于存儲窗口屬性數(shù)據(jù)或向操作系統(tǒng)發(fā)送顯示指令的功能的組件;例如第一代理202可包括維護或修改任務欄數(shù)據(jù)的動態(tài)鏈接庫組件。在一些實施例中,該發(fā)送器與第一代理202中的接收器通信,所述接收器接收來自第二代理204的窗口屬性數(shù)據(jù)210和輸出數(shù)據(jù)208。在這些實施例的一個中,第一代理202中的接收器從第二代理204接收數(shù)據(jù)并且將所接收的數(shù)據(jù)轉(zhuǎn)發(fā)到發(fā)送器,發(fā)送器根據(jù)該轉(zhuǎn)發(fā)的數(shù)據(jù)給操作系統(tǒng)發(fā)送指令。在其他實施例中,第一代理202包括用于存儲從第二代理202接收的數(shù)據(jù)(例如窗口屬性數(shù)據(jù))的組件。在一些實施例中,窗口屬性數(shù)據(jù)210或輸出數(shù)據(jù)208可包括表示第一窗口207或第一進程206的圖標。在又一個實施例中,窗口屬性數(shù)據(jù)210或輸出數(shù)據(jù)208可包括生成該窗口的應用或進程的圖標。在許多實施例中,第一代理202可接收第一進程206或第一窗口207的圖標或圖標的位圖,用于作為窗口屬性數(shù)據(jù)210的本地顯示在任務欄226或其他用戶界面元素中進行顯示。因此,當本地計算裝置102的用戶與任務欄按鈕組交互時,該任務欄按鈕組可以顯示所接收的圖標和/或文本,所述圖標和/或文本包括第二窗口212、第一窗口207或第一進程206的標題。簡單地提前參考,圖4A示出了一個這樣的實施例的示例屏幕截圖,其示出了遠程進程的記事本圖標的顯示。如圖4A中所示,在這些實施例中,任務欄按鈕組可以顯示遠程應用的圖標和本地應用的縮略圖?;厝⒖紙D2,在又一個實施例中,第一代理202可以接收第一窗口的輸出數(shù)據(jù)的靜態(tài)的屏幕截圖或位圖,用于在任務欄按鈕組中進行顯示。在一些實施例中,這樣的屏幕截圖或位圖可以縮小比例。例如,輸出數(shù)據(jù)可包括400x400像素的窗口,但第二代理204可以發(fā)送40x40像素的縮略圖以用于在任務欄按鈕組中進行顯示。這可以減少帶寬需求??梢灾芷谛缘兀蝽憫谟脩裘?,來發(fā)送這樣的靜態(tài)屏幕截圖。例如,在一個實施例中,第一代理202可以檢測與任務欄按鈕組的用戶交互,與3D或flip-3D界面的用戶交互,或者用戶輸入alt-tab或類似命令。響應于檢測到這樣的交互,在一個實施例中,第一代理202可以請求刷新窗口的輸出數(shù)據(jù)208或者請求重繪輸出數(shù)據(jù)208,接收這樣的刷新或重繪的輸出數(shù)據(jù)208,并且可以在任務欄按鈕組或其他用戶界面元素中顯示該新接收的輸出數(shù)據(jù)的縮略圖。在又一個實施例中,響應于檢測到該交互,如上文所討論,第一代理202可以請求輸出數(shù)據(jù)的新的、重繪的、或刷新的靜態(tài)縮略圖。在一些實施例中,任務欄226可以包括用于顯示應用的圖標或者縮略圖像的功能。在一些實施例中,可以通過任務欄226呈現(xiàn)來自本地窗口的內(nèi)容的這樣的縮略圖像,而在其他實施例中,縮略圖像可以是由諸如殼214或本地桌面環(huán)境220的另一個單元生成的,或者可以從存儲器單元中檢索縮略圖像。類似于這個后一種選擇,可以將應用圖標作為位圖存儲在存儲器單元中,而任務欄226可以從該存儲器單元中檢索應用圖標以進行顯示。相應地,在一個實施例中,任務欄226可以包括用于從存儲器單元檢索圖像或位圖并且顯示該圖像或位圖的功能,而不需要知道該圖像或位圖是圖標還是縮略圖。所描述的另一種方式,可以將窗口輸出的縮略圖像看成好像其是應用圖標一樣進行存儲,并且可以指示任務欄226顯示該縮略圖像,就像它是任何其他應用圖標一樣。這可以允許在僅具有顯示應用圖標能力的傳統(tǒng)系統(tǒng)上顯示縮略圖像。利用任務欄的操作系統(tǒng)的某些版本可以使用一個或多個標識符來對任務欄中的按鈕進行分組。例如,微軟公司出品的Windows7使用為每個窗口設置的AppID來確定如何分組對應于每個窗口的任務欄按鈕。在一些實施例中,可以由應用廠商來顯式地設置這些AppIDo例如,MicrosoftWord的AppID是由微軟公司顯式地設置的。當操作系統(tǒng)檢測到具有對應于MirosoftWord的AppID的兩個任務欄按鈕時,該操作系統(tǒng)可以將這些按鈕分到單個任務欄按鈕組中。在其他實施例中,可以隱式地設置AppID。一個這樣的方法涉及到創(chuàng)建該窗口的進程的文件系統(tǒng)路徑。例如,如果應用處于C:\ProgramlFiles\MyCompany\MyApplication,exe,則該系統(tǒng)可以將這個文件系統(tǒng)路徑轉(zhuǎn)變成要用作AppID的字符串。如果該應用生成多個窗口,這些窗口每個都會有相同的AppID,并且可以被適當?shù)胤纸M。一些其他版本的操作系統(tǒng)僅將文件系統(tǒng)路徑用于任務欄按鈕分組。例如,也是微軟公司的WindowXP或WindowVista僅使用上文討論的文件系統(tǒng)路徑的后一種方法來確定任務欄按鈕分組。這給本地顯示來自遠程應用的應用輸出帶來了兩方面的困難。第一,最初生成窗口的遠程應用可能具有不同的文件系統(tǒng)路徑,特別是采用服務器側(cè)虛擬化技術。第二,本地客戶端可以生成用于應用輸出的窗口,由此操作系統(tǒng)可能將到本地客戶端的路徑看作適當?shù)奈募到y(tǒng)路徑。為糾正這點,在一些實施例中,遠程應用可以發(fā)送包含該應用的文件系統(tǒng)路徑的遠程窗口配置信息。本地客戶端可以通過用預定的本地路徑替換這個文件系統(tǒng)路徑的一部分來修改該路徑。例如,遠程應用可能位于D:\ApplicationServer\RemoteApplications\ProgramFiles\MyCompany\MyApplication.exe0一旦收到該路徑,本地客戶端可以修改該路徑以例如用指向到對應的ProgramFiles文件夾的本地系統(tǒng)驅(qū)動器和路徑的全局唯一標識符替換該路徑的第一部分至“ProgramFiles”。因此,這個新的文件系統(tǒng)路徑可包括本地路徑和遠程路徑的組合,由此可以被稱為混合文件系統(tǒng)路徑。簡要參考任務欄分組機制,不同的操作系統(tǒng)使用不同的機制來對任務欄按鈕進行分組。例如,在許多實施例中,如上文所討論的,Windows7允許通過與組的關聯(lián)對任務欄按鈕進行任意分組。然而,WindowsXP和Vista以及其他操作系統(tǒng)使用表示任務欄的列表,該列表中用標記為按鈕組的條目來隔開表示按鈕的條目。例如,如果列表包括“組I、按鈕A、組2、按鈕B、組3、按鈕C、按鈕D、按鈕E”,則會有3個組,前兩個組各自具有一個按鈕,而第三個組具有三個按鈕。系統(tǒng)可以被默認地配置為隱藏具有一個按鈕的任務欄按鈕組中的顯示,并且隱藏具有多個按鈕的組中的按鈕。由于未示出這些被隱藏的條目,上文的任務欄按鈕組將顯示為“按鈕A、按鈕B、組3”,其中按鈕“組3”代表3個活動窗口。在一些實施例中,可以通過編輯這個列表或者改變按鈕與組的關聯(lián)來執(zhí)行將按鈕從一個組移動到另一個組。在一個實施例中,本地客戶端可以生成用于應用輸出的新窗口。在一些實施例中,該新窗口可以作為對應于該本地客戶端的按鈕組的一部分而被創(chuàng)建。本地客戶端可以使用上文所討論的任何方法來為新窗口確定任務欄按鈕組標識符。在一些實施例中,本地客戶端可以搜索任務欄以確定是否存在包含相似標識符的現(xiàn)有按鈕組。例如,如果對于記事本應用已存在按鈕組,并且該新的窗口具有對應于記事本應用的任務欄按鈕組標識符,則本地客戶端可以確定已經(jīng)存在合適的按鈕組。然后,本地客戶端可以在任務欄列表中將這個按鈕條目移動到該按鈕組之中。如果本地客戶端確定不存在任何合適的按鈕組(例如,沒有任何對應的應用正在本地運行或者沒有為同一遠程應用的另一窗口創(chuàng)建按鈕組),本地客戶端可以基于該任務欄按鈕組標識符在任務欄列表中創(chuàng)建新的按鈕組,并且將對應于該新窗口的按鈕移動到這個新創(chuàng)建的按鈕組?,F(xiàn)參考圖3,流程圖描述了用于在由本地機器生成并顯示的任務欄中顯示在該本地機器上生成并顯示的圖形數(shù)據(jù)的標識和在遠程機器上生成且在本地機器上顯示的圖形數(shù)據(jù)的標識的方法的一個實施例。總的來說,該方法300包括由在本地機器上執(zhí)行的本地客戶端接收由在遠程機器上執(zhí)行的遠程應用生成的應用輸出,以及接收遠程窗口配置。該方法包括由本地客戶端生成用于顯示所接收的應用輸出的應用輸出窗口,該應用輸出窗口包括本地任務欄分組配置信息。該方法還包括響應于本地任務欄分組配置信息,由本地機器的操作系統(tǒng)、殼、GUI或其他進程來更新任務欄?,F(xiàn)參考圖3,更具體地,在本地機器上執(zhí)行的第一代理(被不同地稱為第一代理或本地客戶端)從在遠程機器或計算機上執(zhí)行的第二代理(被不同地稱為第二代理或遠程客戶機)接收由在該遠程機器或計算機上執(zhí)行的遠程應用生成的應用輸出以及遠程窗口配置信息。這樣的遠程窗口配置信息可包括關于該窗口的細節(jié)和/或關于生成該窗口的進程的信息,所述關于窗口的細節(jié)包括句柄、大小、位置、透明度值或其他窗口細節(jié),所述關于生成該窗口的進程的信息包括進程名、到該進程的文件系統(tǒng)路徑、進程ID、組ID、進程描述、父進程ID、父-子關系或其他進程信息。在一個實施例中,第二代理204查詢在遠程機器106上執(zhí)行的操作系統(tǒng)的組件以檢索第一窗口207的標識。在又一個實施例中,例如,第二代理204檢索第一窗口207的ApplicationUserModelID(應用程序用戶模型ID)(可互換地稱為ApplicationUserModelID、AppUserModelID或AppID),并且將該標識符傳輸?shù)皆诒镜貦C器102上執(zhí)行的第一代理202。例如,但不限于,在一個實施例中,第二代理204可以使用例如在MicrosoftWindows的一些版本中所提供的IPropertyStore接口的GetValueO方法的殼接口來檢索該窗口的PKEY_AppUserModel_ID屬性。在又一個實施例中,第二代理204查詢在遠程機器106上執(zhí)行的操作系統(tǒng)的組件以檢索生成輸出數(shù)據(jù)208的第一進程206的標識和形成第一窗口207的窗口屬性數(shù)據(jù)210;例如,第二代理204可使用應用編程接口來查詢操作系統(tǒng)的動態(tài)鏈接庫組件。例如但不限于,在一些實施例中,第二代理204可以使用由操作系統(tǒng)提供的API,例如在ntdll.dll庫中某些版本的MicrosoftWindows中所提供的中NtQuerylnformationProcessAPI。通過對于參數(shù)ProcesslnformationClass使用十進制參數(shù)值50,第二代理204可以檢索結(jié)構(gòu)體{UINTnAppIdLaunchFlags;USHORTnBufferLengthlnBytes;WCHARszAppUserModellD[I];}的結(jié)構(gòu)。在一個實施例中,nAppIdLaunchFlags可包括具有指不szAppUserModelld字符串是否是指進程的顯式AppID的標志的位掩碼。在一個這樣的實施例中,被設置為0x1000的十六進制標志可指示在szAppUserModelld字段中顯式地設置了AppID。在這個實施例中,如果沒有設置該標志,則szAppUserModelld字段可以被忽略。在又一個實施例中,當檢測到創(chuàng)建了新窗口時,第二代理204使用窗口句柄收集各種進程信息。在又一個實施例中,當?shù)谝贿M程206被創(chuàng)建時,第二代理204從在遠程機器106上執(zhí)行的操作系統(tǒng)接收第一進程206的標識。在另一個實施例中,第二代理204在第一進程206被創(chuàng)建時接收第一進程206的標識,即使沒有為第一進程206創(chuàng)建新的窗口。在又一個實施例中,第二代理204將包含進程ID的進程數(shù)據(jù)發(fā)送到第一代理202。在一些實施例中,可以顯式地建立應用程序用戶模型ID。例如,在這些實施例中,應用程序用戶模型ID可以是由應用的廠商或開發(fā)者輸入的字符串以標識公司名、產(chǎn)品名、產(chǎn)品版本或標識該應用或進程的任何其他信息。在其他實施例中,可以隱示地建立應用程序用戶模型ID。例如,在這些實施例中,應用程序用戶模型ID可包括由操作系統(tǒng)或進程、模塊、守護進程或其他邏輯生成的字符串,并且可以包括進程ID(PID)、用戶ID(UID)、文件位置或路徑、文件描述、啟動的時間、存儲寄存器號、或?qū)Σ僮飨到y(tǒng)或其他邏輯可用于識別該應用或進程的任何其他信息。在其他實施例中,如上文所討論的,應用或進程既可有顯式標識符也可有隱式標識符。在另一個實施例中,顯式標識符可以優(yōu)先于隱式標識符。因此,當對這樣的應用或進程執(zhí)行此處所述的方法時,如果顯式標識符存在,則可以優(yōu)先使用顯式標識符。在許多實施例中,窗口配置信息可包括單個標識符,并且可包括被設置為預定值以指定該標識符是被顯式地設置還是被隱式地設置的標志或位。在一些實施例中,第二代理204傳輸?shù)谝淮翱?07的標識符和第一進程206的標識符。在其他實施例中,第二代理204僅傳輸?shù)谝淮翱?07的標識符。在又一個實施例中,第二代理204僅傳輸?shù)谝贿M程206的標識符。在一個實施例中,第一代理202接收第一窗口207的標識符和第一進程206的標識符中的至少一個。在又一個實施例中,第一代理202中的組件(例如,動態(tài)鏈接庫組件)接收第一窗口207的標識符和第一進程206的標識符中的至少一個。在一些實施例中,第一代理202存儲所接收的標識符。在這些實施例的一個中,第一代理202在內(nèi)存中的哈希表中存儲所接收的標識符。在一些實施例中,在步驟304,第一代理202可生成第二窗口212(也被稱為應用輸出窗口),用于在本地機器102上進行顯示。在這些實施例的一個中,第一代理202指示在第二窗口212中顯示由在遠程機器106上執(zhí)行的第一進程206生成的輸出數(shù)據(jù)208。在這些實施例的一個中,第一代理202指示根據(jù)由第一進程206對遠程機器106上的第一窗口207指定的窗口屬性數(shù)據(jù)210來形成第二窗口212。在一些實施例中,第一代理202或本地客戶端可以將第二窗口與和第一進程的標識符相關聯(lián)。在其他實施例中,可以生成第二窗口以包含遠程窗口配置信息。在一個實施例中,第一代理202將所接收第一窗口207的標識符分配給第二窗口212。例如,但不限于,在一個實施例中,第一代理202可以使用例如在MicrosoftWindows的一些版本中所提供的IPropertyStore接口的SetValue()方法的殼接口來設置窗口的PKEY_AppUserModel_ID屬性。在又一個實施例中,第一代理202將所接收第一進程206的標識符分配給第二窗口212。在又一個實施例中,第一代理202將第一窗口207的應用程序用戶模型標識符分配給第二窗口212。在又一個實施例中,第一代理分配由在遠程機器106上執(zhí)行的殼生成的應用標識符。在又一個實施例中,第一代理202可以根據(jù)所接收的第一進程的標識符為第二窗口212生成新的標識符。在這樣的實施例中,第一代理202將所生成的新的標識符分配給第二窗口212。在又一個實施例中,第一代理202用所接收的第一進程206的標識符來代替第二窗口212的窗口屬性數(shù)據(jù)中的現(xiàn)有標識符(例如其可能是第一代理本身的標識符)。在許多實施例中,這些標識符可包括本地任務欄分組配置信息。例如,可以生成具有應用標識符、AppID、進程名、進程文件系統(tǒng)路徑或其他標識符的窗口,并且操作系統(tǒng)或任務欄可以響應于該標識符或者響應于該標識符與其他窗口的標識符的相似性來將該窗口與任務欄中的其他窗口分組在一起。在一些實施例中,第一代理202可以確定第一進程206和第二進程218大體上相似。在這些實施例的一個中,第一代理202確定第一進程206的標識符和第二進程218的標識符大體上相似;例如,第一代理202可以比較與第一進程206和第二進程218關聯(lián)的進程模塊數(shù)據(jù),或者第一代理202可以將由第二進程218生成的窗口的屬性與由第一進程206生成的窗口屬性數(shù)據(jù)進行比較。在其他實施例中,第一代理202根據(jù)確定第一進程206與第二進程218大體上相似來指示將第二窗口212的標識符的顯示與任務欄按鈕組230中的顯示進行組合。在另外的實施例中,第一代理202使用所接收的進程可執(zhí)行文件路徑數(shù)據(jù)來識別要與第二窗口212關聯(lián)的任務欄按鈕組230。在這些實施例的一個中,第一代理202使用所接收的進程可執(zhí)行文件路徑數(shù)據(jù)來確定應該為第二窗口212生成新的任務欄按鈕組230;然后第一代理202可以指示生成并顯示該新的任務欄按鈕組230。在一個實施例中,第一代理202檢索在任務欄中顯示的工具欄按鈕的標識符的枚舉;例如,第一代理202可執(zhí)行向操作系統(tǒng)查詢該列舉的調(diào)用(例如,但不限于“TB_GETBUTT0N”命令)。在另一個實施例中,第一代理202將所列舉的工具欄按鈕的標識符與第一窗口207的標識符相關聯(lián);例如,第一代理202可以創(chuàng)建所接收的第一窗口207的標識符與所枚舉的工具欄按鈕的標識符之間的映射。在又一個實施例中,第一代理202創(chuàng)建將要在任務欄按鈕組230中標識的窗口的索引。在又一個實施例中,第一代理202將第二窗口212的標識符(其可以是第一窗口207的標識符)添加到所創(chuàng)建的索引中。在又一個實施例中,第一代理202確定第三窗口216是由與第一進程206大體上相似的進程生成的,并且響應于該確定,添加第三窗口216的標識符到所創(chuàng)建的索引。在又一個實施例中,第一代理202創(chuàng)建由在所創(chuàng)建的索引中存儲的標識符填充的任務欄按鈕組。在一個這樣的實施例中,該任務欄按鈕組可以具有按鈕樣式的BTNS_DROPDOWN。在另一個這樣的實施例中,創(chuàng)建任務欄按鈕組可以包括使用諸如TB_MOVEBUTTON的命令來填充該組。在一些實施例中,第一代理202可以響應于進程的顯式標識符大體上相似來對任務欄按鈕進行分組。例如,每個窗口可以具有由生成該窗口的應用的開發(fā)者或廠商設置的顯式標識符,這允許操作系統(tǒng)相應地分組這些窗口。使用上文所討論的技術,由遠程系統(tǒng)上的遠程應用生成的窗口的標識符可以與由不同的本地應用在本地系統(tǒng)上生成的對應窗口相關聯(lián),這允許本地生成的窗口使用遠程窗口的標識符,并且還允許本地生成的窗口與相同應用的其他本地窗口分組在一起。例如,在遠程系統(tǒng)上執(zhí)行的瀏覽器應用可以生成窗口并且顯式地設置包含該瀏覽器名稱的標識符。來自這個窗口的顯示數(shù)據(jù)可以被傳遞到執(zhí)行遠程顯示應用的本地機器,使得該遠程顯示應用能生成包含該顯示數(shù)據(jù)的對應窗口。在該遠程顯示應用上,所生成的窗口可以被設置為具有由瀏覽器生成的窗口的標識符,而不是使用該顯示應用的標識符。如果本地機器也正在執(zhí)行瀏覽器應用的副本,由本地瀏覽器生成的窗口因此可以與該由遠程顯示應用生成的窗口分組在一起,這給用戶提供了無縫交互環(huán)境。類似地,在其他實施例中,第一代理202可以響應于進程的隱式標識符大體上相似來對任務欄按鈕進行分組。例如,如果應用或進程的開發(fā)者或廠商沒有設置隱式標識符,則仍可以生成具有如上文結(jié)合圖2所討論的隱式標識符的窗口,以及如上文所討論的用顯式標識符對窗口進行分組。在一些實施例中,顯式標識符和隱式標識符可以通過提供指示該標識符是否是由系統(tǒng)生成的標志或標識符來進行區(qū)別。在一些實施例中,響應于第二窗口與第一進程的標識符的關聯(lián),在本地機器上執(zhí)行的殼可以在任務欄按鈕組中顯示i)第二窗口的標識和ii)第三窗口的標識的顯示,第三窗口是由在本地機器上執(zhí)行的第二進程生成的并且被顯示在本地機器上(306)。在一個實施例中,殼214接收第二窗口212的標識,第一代理202已經(jīng)將其修改為例如第一窗口207的標識符或第一進程206的標識符。在又一個實施例中,殼214將第二窗口212的標識與由大體上類似第一進程206的應用生成的其他窗口的標識符顯示在一起。在又一個實施例中,例如,殼214接收第二窗口212的標識(其是第一進程206的標識),確定在本地桌面環(huán)境中所示的任務欄226顯示了對于本地執(zhí)行的相似進程的任務欄按鈕組230,以及將第二窗口212的標識符的顯示與在該任務欄按鈕組230中的顯示組合在一起;例如但不限于,殼214確定第二窗口212的標識符指示第一進程206為諸如MICROSOFTWORD的文字處理應用,確定在任務欄上的現(xiàn)有任務欄按鈕組230顯示由本地執(zhí)行的MICROSOFTWORD的實例生成的窗口的標識符,以及將第二窗口212的標識符加入到任務欄按鈕組230的顯示。在一些實施例中,用戶可以指定是否啟用或禁用用于組合在本地機器上和在遠程機器上生成的任務欄按鈕組條目的顯示的功能。在其他實施例中,用戶可以指定系統(tǒng)將遠程生成的任務欄按鈕組條目分組在一起,且與本地生成的任務欄按鈕組條目分開。在一些實施例中,如上所述,本地機器102的用戶連接到遠程機器106并且查看在遠程機器106上生成的遠程桌面環(huán)境的本地版本在本地機器102上的顯示(包括多個數(shù)據(jù)對象),而且經(jīng)由集成的桌面環(huán)境可訪問的應用或其他資源(在本地機器102上生成的那些資源和在遠程機器106上生成的那些資源)被顯示在遠程桌面環(huán)境中,如同其正在遠程桌面環(huán)境上執(zhí)行或者從遠程桌面環(huán)境可執(zhí)行一樣。在這些實施例的一個中,本地機器102上的組件(例如,第一代理202)將遠程生成的窗口集成到本地桌面環(huán)境中。在這些實施例的又一個中,遠程機器106上的組件將在本地機器102上生成的窗口集成到由遠程機器106生成的桌面環(huán)境中。在這些實施例的又一個中,盡管在上文將本地機器102描述為由用戶訪問的機器且將遠程機器106描述為傳輸窗口屬性數(shù)據(jù)和輸出數(shù)據(jù)以用于由本地機器102集成,但是反過來也是可行的,也就是說,本地機器102提供如上文所述的由遠程機器106提供的功能(包括,例如收集和傳輸用于集成到桌面環(huán)境中的進程數(shù)據(jù))而遠程機器106提供如上文所述的由本地機器102提供的功能(包括,例如接收進程標識數(shù)據(jù)并指示將所接收的數(shù)據(jù)集成到桌面環(huán)境中)。在這樣的實施例中,當在本地機器102上執(zhí)行的本地進程與由遠程機器106生成的遠程桌面集成在一起時,在本地機器102上執(zhí)行的進程的表示被顯示在該遠程桌面環(huán)境內(nèi)的任務欄中,并且被分組在包含在遠程機器106上執(zhí)行的大體上相似進程的標識的任務欄按鈕組230中。在這些實施例的又一個中,遠程機器106a接收與在第二遠程機器106b上執(zhí)行的進程關聯(lián)的進程數(shù)據(jù)。在這樣的實施例中,遠程機器106a將在第二遠程機器106b上執(zhí)行的進程的表示集成在遠程桌面環(huán)境內(nèi)的任務欄中,并且將該表示分組在包含在遠程機器106a上執(zhí)行的大體上相似進程的標識的任務欄按鈕組230中。現(xiàn)參考圖4A,屏幕截圖描述在本地機器上和在遠程機器上生成的任務欄按鈕組條目的組合顯示的一個實施例。任務欄226包括任務欄按鈕組230。在由圖4A所描繪的示例中,任務欄按鈕組230顯示由文字處理進程(在這個案例中,該進程是NOTEPAD)生成的每個窗口的標識符。在一些實施例中,窗口的標識符是被包含在窗口屬性數(shù)據(jù)中的字母數(shù)字串(例如,窗口的標題)。在其他實施例中,窗口的標識符可包括由進程生成的輸出數(shù)據(jù)的“縮略圖”描述;例如,如圖4A所示,任務欄按鈕組230可以包括在文字處理窗口中顯示的小的文本形式作為該窗口的標識符的部分。如圖4A中所示,可以同時顯示不只一個任務欄按鈕組230。例如,在圖4A中,顯示了三個按鈕組最左邊的任務欄按鈕組包括兩個堆疊的表示執(zhí)行計算器應用或進程的圖標;中間的任務欄按鈕組包括兩個堆疊的表示互聯(lián)網(wǎng)瀏覽器應用或進程的不同實例的圖標;以及在右邊的任務欄按鈕組顯示兩個堆疊的記事本應用的圖標。而且,在一些實施例中,響應于鼠標點擊或懸停,最右邊的任務欄按鈕組被展開以示出顯示224和210以及標識符218和206。在一些實施例中,窗口屬性數(shù)據(jù)包括構(gòu)成窗口標題的文本,例如在窗口中顯示的文件的名稱。在其他實施例中,生成窗口的進程的標識符(例如第二進程218的標識符或與第二窗口212關聯(lián)的第一進程206的標識符)被包含在窗口屬性數(shù)據(jù)(例如窗口屬性數(shù)據(jù)224或窗口屬性數(shù)據(jù)210)中。在這些實施例的一個中,以進程模塊數(shù)據(jù)的形式隱式地提供進程標識符。在這些實施例的又一個中,以應用標識符(例如,AppID)的形式顯式地提供進程標識符。在其他實施例中,構(gòu)成標題的可視文本標識符不同于應用或進程標識符或應用標識符。在一個這樣的實施例中,可響應于應用名或進程名或者應用標識符生成該可視文本標識符,而在另一個這樣的實施例中,可響應于窗口標題、字符串或其他顯式或隱式的標識符來生成該可視文本標識符。例如,在一個這樣的實施例中,應用標識符可能是基于諸如CompanyName.ApplicationName(公司名.應用名)的字符串,且該可視文本標識符可以僅是ApplicationName。在一些實施例中,第一代理202使得能夠在單個任務欄按鈕組230中顯示由本地執(zhí)行的應用生成的窗口的標識符和由遠程地執(zhí)行的應用生成的窗口的標識符?,F(xiàn)參考圖4B,屏幕截圖描述在本地機器上和在遠程機器上生成的任務欄按鈕組條目的組合顯示的一個實施例。如圖4B中所示,在一些實施例中,在任務欄按鈕組中顯示的窗口屬性數(shù)據(jù)是與表示生成該窗口的進程的圖標(表示MICROSOFTINTERNETEXPLORER的風格化的“e”)聯(lián)合顯示的字母數(shù)字串(例如,“FILENAME-PROCESSNAME”(文件名-進程名))。在一些實施例中,如上文所討論的,在任務欄按鈕組230中顯示的窗口屬性數(shù)據(jù)包括該窗口的圖形表示,其可包括進程的圖形表示(例如圖標和標識的字符數(shù)字串)。在其他實施例中,任務欄按鈕組230顯示圖標(例如,快捷方式圖標),該圖標給用戶提供例如啟動所關聯(lián)的應用的執(zhí)行的能力的功能。在這些實施例的一個中,例如,通過在所顯示的圖標上進行點擊,本地機器102的用戶能啟動與該圖標關聯(lián)的應用的執(zhí)行。在這些實施例的又一個中,第一代理202與殼214通信以將第二窗口212的標識符與本地快捷方式圖標分組在一起。在這些實施例的又一個中,第一代理202將第一進程206的標識符與第二窗口212關聯(lián)并且將其與到第一進程206的本地執(zhí)行版本的快捷方式相關聯(lián);例如,第一代理202可確定第一進程206的標識符和第二進程218的標識符大體上相似(例如,第二進程218是第一進程206的本地執(zhí)行版本),并且基于該確定,將第二窗口212與到第二進程218的快捷方式相關聯(lián)。如上文結(jié)合圖4A所討論的,可以同時在任務欄226中顯示多個任務欄按鈕組230。而且,如圖4B中所示,可以將一些應用或進程分組在一起,例如所示的web瀏覽器進程的五個實例,而其他應用或進程可以保持未分組,例如所示的記事本的三個實例。在一些實施例中,在任務欄中顯示的窗口屬性數(shù)據(jù)包括由該窗口顯示的數(shù)據(jù)類型的標識。在這些實施例的一個中,例如,大體上相似類型的進程可生成和顯示大體上不同類型的數(shù)據(jù)-例如,允許用戶查看遠程機器上的數(shù)據(jù)的第一進程(例如互聯(lián)網(wǎng)瀏覽應用)可能顯示多個不同的網(wǎng)頁,而第二互聯(lián)網(wǎng)瀏覽進程專用于基于web應用的顯示。在這些實施例的又一個中,第一代理202可指示根據(jù)數(shù)據(jù)類型來對任務欄按鈕進行分組,例如通過將顯示網(wǎng)頁的互聯(lián)網(wǎng)瀏覽進程的標識組合在第一任務欄按鈕組230中,同時將顯示基于web應用的互聯(lián)網(wǎng)瀏覽進程組合在第二任務欄按鈕組230b中。在這些實施例的又一個中,每個大體上不同的基于web的應用被分配單獨的任務欄按鈕組。在這些實施例的又一個中,第一代理202使用所接收的應用標識符來確定是否在與大體上相同類型的進程關聯(lián)的窗口中顯示大體上不同類型的數(shù)據(jù);例如這樣的應用標識符可包括但不限于管理員限定的標識符、由基于web應用指定的標識符和窗口屬性數(shù)據(jù)(例如,但不限于,標題、圖標或其他可視的或內(nèi)部的基于web應用標識符)。在一些實施例中,通過使用關于承載并創(chuàng)建給定的主窗口207(其被本地顯示為第二窗口212)的進程206的數(shù)據(jù)-并且特別是與在本地機器102上所生成的桌面環(huán)境上的任務欄上顯示的關于窗口207的信息關聯(lián)的數(shù)據(jù)-可以確定要與該窗口的本地版本關聯(lián)的目的任務欄組,并且可以將遠程應用的窗口的任務欄按鈕移動到這個目的組?,F(xiàn)參考圖4C,示出描述沒有對表示在本地機器232上和遠程機器234上生成的條目的圖標進行分組的任務欄226的一個實施例的屏幕截圖。為了比較,在圖4D中所示的是描述對表示在本地機器上和在遠程機器上生成的條目的圖標進行分組的任務欄226的一個實施例?;厝⒖紙D4C,在由操作系統(tǒng)或殼提供用戶界面的一些實施例中,用戶或管理員可以創(chuàng)建快捷方式圖標以啟動應用、進程、文件或文件夾。在許多實施例中,操作系統(tǒng)或殼允許這個快捷方式圖標被置于任務欄中或“被釘住”,使得無論應用、進程、文件或文件夾是啟動或打開狀態(tài),該快捷方式圖標仍停留在那里。在提供對應用的遠程訪問的系統(tǒng)的一些實施例中,用戶或管理員可以創(chuàng)建快捷方式圖標以啟動遠程機器上的應用、進程、文件或文件夾。例如,在一個這樣的實施例中,用戶可以直接創(chuàng)建到所述遠程應用、進程、文件或文件夾的快捷方式,而不是首先啟動遠程桌面或遠程訪問應用,或者訪問遠程訪問應用啟動網(wǎng)站并接著選擇要啟動的遠程應用、進程、文件或文件夾。在這些實施例中,這可以被稱為到發(fā)布的遠程應用、進程、文件或文件夾的快捷方式。在這樣的系統(tǒng)的許多實施例中,這些發(fā)布的遠程應用、進程、文件或文件夾可以表示給到提供遠程訪問連接的另一個應用的參數(shù)。例如,盡管發(fā)布的遠程應用的快捷方式可能看起來是電子表格程序的圖標,但它實際上可以首先啟動第二應用,所述第二應用建立到服務器的遠程訪問連接、執(zhí)行各種認證和登錄任務并且開始執(zhí)行遠程電子表格程序。同樣地,在一些實施例中,該快捷方式屬于或關聯(lián)于第二遠程訪問應用。因此,如圖4C中的示例所示,操作系統(tǒng)可能不能正確地將到發(fā)布的遠程電子表格程序或文件的被釘住的快捷方式與到本地電子表格程序或文件的被釘住的快捷方式分組在一起。這可能導致非直觀或非無縫的用戶體驗。因此,在上文所討論的技術和系統(tǒng)的一些實施例中,可以用到對應于發(fā)布的遠程應用、進程、文件或文件夾的遠程生成的窗口的顯式關聯(lián)或部分關聯(lián)來標志或標識該發(fā)布的遠程應用、進程、文件或文件夾。例如,盡管如上文所述,遠程電子表格程序的快捷方式可能屬于遠程訪問應用,但當其被創(chuàng)建時,該快捷方式可以被加標記以包含遠程電子表格的標識符。因此,可以將該快捷方式與其他本地生成的或遠程生成的電子表格窗口分組在一起,并且在啟動該快捷方式時,可以使用上文所討論的技術和系統(tǒng)將該遠程電子表格程序的窗口正確地與其他窗口分組在一起。C.用表示遠程應用的用戶界面元素更新停靠欄的系統(tǒng)和方法。一些操作系統(tǒng)(包括由Apple公司出品的Macintosh操作系統(tǒng))利用以應用為中心的用戶界面或??繖?,而不是以窗口為中心的接口,例如MicrosoftWindows任務欄。諸如任務欄的以窗口為中心的接口可以包括每個窗口的按鈕。例如,當前打開三個文字處理文檔的用戶可能看到三個按鈕,每個文檔一個按鈕。在一些實施例中,這些按鈕可能是堆疊的或聚合的。相比之下,以應用為中心的接口可能僅顯示指示文字處理應用的一個按鈕或圖標。在許多實施例中,響應于與這個按鈕的用戶交互,??繖诨蛞詰脼橹行牡慕涌诳梢栽诓藛位蚱渌纸M中顯示這三個文檔的列舉,隱藏所有應用窗口的選項、退出應用的選項和/或使其中一個窗口到前臺或獲得焦點的選項。因為在這些界面中對窗口的分組是基于生成窗口的應用,所以由本地客戶端生成的但顯示遠程應用的應用輸出的窗口可能面臨困境。例如,在圖4E所示的一個這樣的實施例的屏幕截圖中,??繖?00包括當前正在執(zhí)行的本地客戶端的圖標402。在這個示例中,本地客戶端已經(jīng)為遠程執(zhí)行的文字處理程序、電子表格程序和計算器生成了三個應用輸出窗口404。然而,由于本地客戶端生成了這些窗口,所以??繖?00僅顯示本地客戶端的圖標402。這可能造成用戶的困惑,尤其是在用戶與相似的本地的和遠程的應用(諸如本地文字處理程序和遠程文字處理程序)交互時。圖4F中所示的是對這個問題的解決方法的一個實施例的屏幕截圖。如圖所示,??繖?00包括當前正在執(zhí)行的本地客戶端的圖標402。盡管該圖標402被顯示為可見,但在許多實施例中,可以隱藏當前正在執(zhí)行的本地客戶端的圖標402,這樣,它不被顯示在??繖?00中。例如,本地客戶端可以作為后臺應用來運行,使得該圖標不被顯示。在又一個示例中,該客戶端可能不作為后臺應用運行,但可包括指示不應該在??繖?00中顯示圖標的屬性或設置。如圖所示,??繖?00也包括表示遠程執(zhí)行應用的進程圖標406,本地客戶端已經(jīng)為該遠程執(zhí)行的應用生成了應用輸出窗口。例如,進程圖標406包括用于具有兩個窗口的遠程執(zhí)行的web瀏覽器、遠程執(zhí)行的計算器、遠程執(zhí)行的文字處理程序、和遠程執(zhí)行的電子表格程序的圖標。響應于用戶與其中一個圖標(例如web瀏覽器圖標)的交互,在一些實施例中,該??繖诳梢燥@示具有對應于遠程執(zhí)行的應用的窗口的一個或多個應用輸出窗口的枚舉的菜單?,F(xiàn)參考圖4G,顯示了使用表示在遠程計算機上執(zhí)行的遠程應用的用戶界面元素來更新由本地計算機生成和顯示的??繖诘姆椒ǖ囊粋€實施例的流程圖??偟膩碚f,在步驟410,在一個實施例中,在本地計算機上執(zhí)行的本地客戶端接收由在遠程計算機上執(zhí)行的遠程應用生成的應用輸出。在步驟412,本地客戶端響應于接收該應用輸出,生成用于顯示所接收的應用輸出的應用輸出窗口,該應用輸出窗口是根據(jù)窗口配置信息生成的。在步驟414,響應于接收該應用輸出,本地客戶端啟動執(zhí)行本地機器上的進程,該進程包括表示遠程應用的用戶界面元素。在步驟416,響應于執(zhí)行該進程,用該進程的用戶界面元素來更新本地計算機的??繖?。在步驟418,該進程將用戶與??繖谥械挠脩艚缑嬖氐慕换ブ囟ㄏ虻斤@示由遠程應用生成的應用輸出的應用輸出窗口。仍參考圖4G,更詳細地,在步驟410,在一些實施例中,在本地計算機上執(zhí)行的本地客戶端可以接收由在遠程計算機上執(zhí)行的遠程應用生成的應用輸出。在一些實施例中,經(jīng)由遠程顯示協(xié)議或獨立計算架構(gòu)協(xié)議,該應用輸出可以包括窗口的圖形數(shù)據(jù)。在其他實施例中,該應用輸出可以包括命令或由應用生成的任何其他輸出數(shù)據(jù),所述命令包括創(chuàng)建窗口、刪除窗口、移動窗口、使窗口獲得焦點、使窗口透明或部分透明、打開菜單、關閉菜單、調(diào)整窗口大小、選擇按鈕或其他元素。在一些實施例中,本地客戶端也可以接收表示遠程應用的用戶界面元素。在一個實施例中,該用戶界面元素可包括應用的圖標或應用圖標的圖像。在另一個實施例中,該用戶界面元素可包括應用輸出的靜態(tài)或動態(tài)的縮略圖。在又一個實施例中,用戶界面元素可以包括動態(tài)數(shù)據(jù)和圖標的組合,例如日歷圖標,其隨著時間的推移改變所顯示的月份和日期。在一些實施例中,本地客戶端也可以接收對應于應用輸出的窗口配置信息。在一個實施例中,窗口配置信息可包括關于應用輸出窗口的信息,包括大小、位置、焦點、透明度或其他細節(jié)。在又一個實施例中,窗口配置信息可包括關于窗口與應用的關系的信息,包括它是否是另一個窗口的子窗口、生成該窗口的應用或進程的名稱和/或標識符、到生成該窗口的應用或進程的文件系統(tǒng)路徑、該窗口是否是由應用所生成的第一個窗口、該窗口是否是由操作系統(tǒng)生成的、或者關于用戶界面元素的信息(包括其大小)。在一些實施例中,窗口配置信息可包含父進程的進程ID,以與最初發(fā)布的應用進程建立父/子關系。這可以被用來允許對進程層次結(jié)構(gòu)的跟蹤。在其他實施例中,窗口配置可包括應用ID或AppID。在一個實施例中,這個AppID可以包括由遠程應用設置的MicrosoftWindowsAppID。這可以用于窗口配置,而不管客戶端正在執(zhí)行非Microsoft操作系統(tǒng)。在又一個實施例中,AppID可以包括由管理員、用戶、廠商配置的AppID。在一些實施例中,這可以被用來分組或區(qū)別應用。例如,可以由用戶對沒有設置其自己的AppID的進程和窗口進行分組或?qū)⑵渑cAppID相關聯(lián)。相反地,可以不對包括AppID的窗口或應用進行分組以分別出現(xiàn)或出現(xiàn)在其他組中。例如,可以以這種方式使用AppID來在web應用和簡單網(wǎng)頁之間進行區(qū)別,從而不將它們分組在同一web瀏覽器停靠欄圖標下。因此,Web應用可以被分開以出現(xiàn)在一個或多個單獨的圖標下,并且可以例如根據(jù)服務提供者或目的來進行分組。在一些實施例中,在步驟412,本地客戶端可以生成用于顯示所接收的應用輸出的應用輸出顯示窗口。在一些實施例中,本地客戶端根據(jù)窗口配置信息生成應用輸出顯示窗口。例如,本地客戶端可以生成具有對應于在窗口配置信息中所提到的大小的特定大小或類型的應用輸出顯示窗口。而且,在一些實施例中,本地客戶端可生成與另一個窗口有關的窗口,或者參考由窗口配置信息所指定的進程來生成窗口。在一些實施例中,在步驟414,響應于接收應用輸出,可以在本地機器上執(zhí)行進程。在一些實施例中,該進程可以包括表示遠程應用的用戶界面元素。例如,響應于收到記事本應用的應用輸出和記事本應用圖標的用戶界面元素,包括該圖標的進程可以被執(zhí)行。在以應用為中心的用戶界面或??繖谥校瑘?zhí)行這樣的進程可能導致該用戶界面元素或圖標作為正在執(zhí)行的進程出現(xiàn)??繖谥?。因此,已經(jīng)請求執(zhí)行諸如記事本應用的遠程應用的用戶將看到包含該應用輸出的新窗口和停靠欄中表示該應用的新圖標,就像他們已經(jīng)開始在本地執(zhí)行相同的程序一樣。在一些實施例中,本地客戶端可以請求應用圖標以用于在該用戶界面或停靠欄中進行顯示。在一些實施例中,本地客戶端可請求預定大小的圖標,或者請求具有以像素或其他度量為單位的特定高度和寬度的圖標。遠程機器可以發(fā)送所請求的圖標,并且在一些實施例中,本地客戶端可以緩存該圖標以隨后使用。本地客戶端可以將所緩存的圖標重新用于進程的隨后執(zhí)行。這可以給多進程應用提供明顯的帶寬降低。例如,如果沒有緩存,遠程執(zhí)行的多進程應用(例如,GoogleChrome)可觸發(fā)數(shù)十個進程的執(zhí)行,所有的進程都包括相同的圖標,這可能要求大量的帶寬來進行發(fā)送。通過緩存該圖標,可以相應地降低網(wǎng)絡使用量。在一些實施例中,本地客戶端可以啟動進程的執(zhí)行。在一個實施例中,本地客戶端可以創(chuàng)建進程并隨后執(zhí)行該進程。在許多實施例中,該進程可包括用于將用戶與該進程的交互重新定向到應用輸出窗口的應用、守護進程、腳本或其他功能。在一個實施例中,該進程可包括腳本,該腳本在該進程被轉(zhuǎn)移到該用戶界面的焦點或前臺時執(zhí)行,以將另一個窗口獲得焦點或轉(zhuǎn)到前臺。例如,如果響應于本地客戶端收到由遠程記事本應用生成的應用輸出來創(chuàng)建并執(zhí)行進程,那么當用戶在??繖谥械倪h程記事本進程圖標上進行點擊或使用應用切換接口(例如alt-tab或command-tab序列)以使該進程獲得焦點時,該進程可執(zhí)行腳本,該腳本指示CTI使對應于遠程記事本應用的本地客戶端的應用輸出窗口獲得焦點。因此,對于用戶,這看上去似乎與該進程交互的結(jié)果是與該應用輸出窗口交互。在許多實施例中,該進程將沒有它自己的窗口。因此,在其中進程包括僅在與該進程的交互時執(zhí)行的腳本的許多實施例中,該進程可以有非常小的存儲器占用和非常低的CPU占用率。在一些實施例中,該進程可以對應于多個窗口。如上文所討論的,在諸如任務欄的以窗口為中心的接口中,可能有對于應用的每個窗口的按鈕,而在諸如??繖诘囊詰脼橹行牡慕涌谥?,可能有對于應用的單個圖標,而不管該應用的窗口的數(shù)量或者在該應用中打開的文檔的數(shù)量。類似地,在一些實施例中,響應于本地客戶端收到由遠程應用生成的應用輸出,該進程可能被執(zhí)行一次,而不管在遠程應用中打開的窗口或文檔的數(shù)量。因此,在一些實施例中,本地客戶端可以接收與由遠程應用生成的第二窗口關聯(lián)的額外的應用輸出和額外的窗口配置信息,并且可以生成第二應用輸出窗口用于顯示該額外的應用輸出。本地客戶端可以響應于該額外的窗口配置信息來確定不執(zhí)行用于重定向用戶交互的第二進程。例如,本地客戶端可以確定第一窗口和第二窗口都是由同一應用生成的。在遠程應用是多進程應用(例如InternetExplorer或GoogleChromeweb瀏覽器)的實施例中,本地客戶端可以確定盡管第一窗口和第二窗口是由不同的遠程進程生成的,但這兩個進程具有相同的名稱和相同的標識符,因此應該被分組在一起。在一個實施例中,響應于確定不執(zhí)行第二進程,本地客戶端可以修改進程或進程的腳本以允許重定向到第一或第二應用輸出窗口。例如,本地客戶端可以修改該進程使得與??繖谥性撨M程圖標的用戶交互顯示具有第一和第二窗口的枚舉的菜單。在一些實施例中,可以響應于遠程應用、遠程應用的第二執(zhí)行實例或遠程應用的子進程生成額外的應用輸出,來做出不執(zhí)行第二進程的確定。例如,諸如畫圖應用的應用可以生成作為圖標的工具箱的第二窗口以使用各種畫圖工具。這些窗口有時可以被稱為“有趣的窗口”,其仍應該與該應用相關聯(lián)。這樣的第二窗口可以被看作該應用的孩子,而本地客戶端相應地不應該為該工具箱窗口單獨創(chuàng)建第二進程。類似地,在一些實施例中,第一應用可以啟動并創(chuàng)建充當中間進程來啟動第二應用的窗口,該窗口實際上是被用戶使用的。在這樣的實施例中,可能期望啟動第二應用的進程,而不是第一應用或第一窗口的進程,這樣第一應用或第一窗口不具有在??繖诨蛴脩艚缑嬖刂械膱D標。在這種情況下,第一應用或第一窗口可以作為后臺應用而被啟動或者以其他方式被標記,使得不對該應用執(zhí)行??繖谶M程。在一個實施例中,第一應用可以啟動第二應用的執(zhí)行,但第一應用可以在第二應用開始之前終止。在終止第一應用時終止具有??繖谥袌D標的進程并且在第二應用執(zhí)行時重新執(zhí)行該進程圖標,這可能隨著圖標消失和重現(xiàn)而顯示出意外的或不想要的行為。因此,在這些實施例中,第二應用可以被識別為第一應用的孩子,并且在終止父應用時暫停該進程的終止,這防止了圖標消失。在一些實施例中,本地客戶端可以接收由遠程計算機的操作系統(tǒng)生成的應用輸出。例如,本地客戶端可以接收對應于氣球彈出、警報、錯誤消息或由操作系統(tǒng)生成的任何其他窗口或輸出的應用輸出。從用戶的角度來看,本地客戶端創(chuàng)建和執(zhí)行對應于遠程計算機的操作系統(tǒng)的進程可能不是預期的或出乎意料的。因此,在許多實施例中,對于由系統(tǒng)進程或類似進程生成的應用輸出,本地客戶端可以不創(chuàng)建或執(zhí)行進程。在又一個實施例中,本地客戶端可以決定在收到額外的應用輸出時執(zhí)行第二進程。例如,一些遠程應用可以被配置為在該應用的單個窗口中顯示多個文檔。在大的監(jiān)視器上,該應用窗口可以被擴大或全屏使得用戶可以并排查看或同時查看該多個文檔。然而,這可能使用戶不能同時查看這些多個文檔和來自另一個應用的文檔,這要歸因于某些文檔窗口可能被限制在第一應用窗口內(nèi)所造成的移動文檔窗口的有限的靈活性。因此,一些用戶已經(jīng)注意到它們可能能夠啟動這些應用的多個實例使得每個實例顯示單個文檔,這恢復了分別地移動每個文檔窗口的能力。因此,在用戶已經(jīng)顯式地啟動了應用的不同實例的一些實施例中,本地客戶端可以決定為每個單獨實例執(zhí)行額外的進程,以便在本地機器上保持用戶所期望的行為。在又一個實施例中,如上文所討論的,單個進程可以生成多個窗口或產(chǎn)生多個進程,響應于它們的內(nèi)容、起源或其他屬性,應該以各種方法對這些窗口或進程進行關聯(lián)或分組。例如,web瀏覽器可包括用于多個網(wǎng)頁的多個窗口或進程。在許多實施例中,這些窗口或進程可以被分組在一起并且應該將其與停靠欄中的單個進程相關聯(lián)。然而,在其他實施例中,可以以與這些窗口或進程的功能有關的各種方法來對這些窗口或進程進行分組。例如,在一個實施例中,網(wǎng)頁可能被分組在一起,而web應用可能在第二組中,或者在單獨組中,或在單獨組和多成員組的混合中。例如,由服務提供者提供的web應用可以根據(jù)該服務提供者分組在一起。類似地,具有相同功能的web應用可以被分組在一起,例如來自多個服務器提供者的web郵件??梢曰趹脭?shù)據(jù)、頭部、URL中的標識符或其他方式來進行這種分組。類似地,基于Java的應用或相似應用可以在相同的可執(zhí)行應用下來運行,但具有不同的命令行參數(shù)。這些命令行參數(shù)可以被用于將進程或窗口識別為相同或不同的組的成員,從而可為應用創(chuàng)建多個??繖诨蛉蝿諜趫D標或元素。在將應用置于額外的組中的情況下,必要時可以執(zhí)行進程以創(chuàng)建??繖诨蛉蝿諜趫D標或元素。在一些實施例中,進程或本地客戶端可包括用于監(jiān)控遠程應用的狀態(tài)或由遠程應用的生成的窗口的狀態(tài)的功能,以及響應于遠程應用停止或窗口被關閉來停止進程的執(zhí)行的功能。例如,響應于用戶退出遠程應用,對應于那個遠程應用的窗口的進程也可能退出。在步驟416,在一些實施例中,可以用正在執(zhí)行的進程的用戶界面元素來更新停靠欄。在許多實施例中,這可以由操作系統(tǒng)、Gn或??繖趤硖幚?。例如,當執(zhí)行進程時,??繖诒慌渲脼闄z索正在執(zhí)行的進程的圖標并將其放置在??繖谥小T谠S多實施例中,該圖標可以被突出顯示或以其他方式被標記以指示當前正在執(zhí)行的應用。這允許??繖诎趫?zhí)行的進程和非當前執(zhí)行的進程的圖標,允許??繖谕瑫r給以應用為中心的任務欄和啟動板(launchpad)提供相似的功能。因此,在一些實施例中,當進程沒有在運行時,用戶可以將該進程的圖標放置在??繖谥校蛘呖梢灾甘就?繖谠谶M程沒有運行時將進程的圖標保留在??繖谥?。在許多實施例中,用戶可以接著與該進程圖標交互以啟動該進程的執(zhí)行。在另一個實施例中,響應于用戶啟動進程的執(zhí)行,該進程可以啟動本地客戶端的執(zhí)行和/或指示本地客戶端請求執(zhí)行對應于該進程的遠程應用或者請求對應于該進程的遠程應用的應用輸出。例如,用戶可以將對應于遠程記事本應用的進程的圖標放置在??繖谥?。當用戶在該圖標上點擊以啟動該進程的執(zhí)行時,該進程可指示本地客戶端向遠程計算機發(fā)送啟動執(zhí)行遠程記事本應用的請求。接著,當本地客戶端接收來自遠程記事本應用的應用輸出和窗口配置信息時,本地客戶端可以生成窗口并且修改該進程以將用戶交互重定向到這個窗口。在步驟418,在一些實施例中,進程可以使用任何上述技術來重定向用戶交互到應用輸出窗口。在許多實施例中,如上文所述,重定向用戶交互可包括響應于用戶使該進程獲得GUI焦點,來使該應用輸出窗口獲得GUI焦點。在一些實施例中,重定向用戶交互到應用輸出窗口可包括重定向用戶交互到本地客戶端,然后,本地客戶端可以使由本地客戶端生成的窗口獲得焦點。D.用于提供無縫的三維縮略圖的系統(tǒng)和方法。許多流行操作系統(tǒng)利用靜態(tài)或動態(tài)縮略圖來給用戶提供直觀界面。例如,如上文所述,響應于用戶在表示一個或多個應用窗口或進程窗口的圖標上進行點擊或懸停,可以給用戶顯示靜態(tài)和/或動態(tài)的縮略圖的任務欄組。在另一個界面中,響應于鍵盤命令,可以顯示打開窗口的三維靜態(tài)或動態(tài)縮略圖,以允許用戶“翻閱”縮略圖以選擇要轉(zhuǎn)到前臺用于交互的窗口。這樣的界面的示例是作為由美國華盛頓州Remond的微軟公司出品的WINDOWSVISTA和WINDOWS7的部分而被提供的Flip3D接口。在又一個界面中,以陣列或其他配置顯示二維靜態(tài)或動態(tài)縮略圖,允許用戶經(jīng)由鼠標、鍵盤或其他輸入裝置來選擇要轉(zhuǎn)到前臺用于交互的窗口。這樣的界面的示例是作為由美國加利福尼亞州Cupertino的Apple公司出品的MACOS操作系統(tǒng)的部分而被提供的Expose界面。在又一個界面中,操作系統(tǒng)可以提供多個虛擬桌面,可以將窗口分配給或移動到這些虛擬桌面以減少混亂和重疊窗口。這樣的界面的一個示例是作為AppleMACOS操作系統(tǒng)的某些版本的部分而被提供的Space界面。其他示例包括由可用于各種版本的Unix、Linux和類型操作系統(tǒng)的XWindowSystem的各種窗口管理器提供的虛擬桌面界面。其他界面可包括在Windows的一些版本中提供的任務欄預覽(TaskbarPreview)界面,其在用戶將鼠標光標移動到任務欄圖標上時顯示窗口的靜態(tài)或動態(tài)縮略圖預覽;以及在Windows的一些版本中提供的Peek界面,其當用戶將鼠標光標移動到任務欄圖標上時將一個或多個窗口變透明。例如,顯示可以示出第一窗口,其與在第二窗口重疊,與第三窗口重疊。當用戶將光標移動到與第三窗口關聯(lián)的任務欄上時,該界面可以使第一窗口和第二窗口變透明,這允許用戶查看第三窗口的內(nèi)容而不必將該窗口轉(zhuǎn)到前臺或使其獲得焦點以用于交互。如上文所討論的,瘦客戶端計算或遠程顯示表示應用的許多實施例不單獨為遠程系統(tǒng)上的每個窗口發(fā)送可視數(shù)據(jù)。相反,其中許多應用將遠程系統(tǒng)上重疊的窗口的圖像平整到能被發(fā)送到客戶端的單個圖像中,其結(jié)果是降低流量和通信。如果客戶端接著嘗試為這些窗口生成靜態(tài)或動態(tài)的縮略圖,則這可能導致不想要的效果。例如,在圖5A中所示的是,客戶端上的顯示圖像的實施例的框圖,其顯示了由于向客戶端發(fā)送之前在服務器上平整顯示圖像而導致的圖形損壞。如在這個示例中所示的,在客戶機的顯示裝置124上的本地桌面環(huán)境220顯示與第二遠程窗口502有重疊的第一遠程窗口500。被另一個窗口、任務欄或顯示邊緣覆蓋的窗口通常可以被稱為被剪切的,或剪切的窗口。如上文所討論的,與任務欄226中的堆疊圖標504的用戶交互可以觸發(fā)具有來自每個窗口的窗口屬性數(shù)據(jù)的縮略圖的任務欄按鈕組230的顯示。如果客戶端通過在本地桌面環(huán)境220中定位每個第一遠程窗口并抓取該區(qū)域中的窗口數(shù)據(jù)的屏幕截圖來創(chuàng)建該縮略圖,則第二遠程窗口的縮略圖可包括重疊的圖像,這導致不準確的或視覺混亂的縮略圖?,F(xiàn)參考圖5B以示區(qū)別,示出了顯示圖像的框圖,其在所顯示的縮略圖中沒有該圖形損壞。在圖5A中所示的圖形損壞可能出現(xiàn)在上面討論的任何界面中。例如,在諸如MACOS的Space的提供多個虛擬桌面的界面中,用戶可以將第一遠程窗口500放置在一個虛擬桌面上,且將第二遠程窗口502放置在第二虛擬桌面上。這些窗口可能不會在用戶機器上出現(xiàn)重疊或被剪切,因為它們在不同的虛擬桌面上。然而,在服務器上,在單個桌面或二維邏輯視頻緩存器(LVB)中窗口可能仍是重疊的,并且在向客戶端進行傳輸之前對窗口進行平整。因此,當用戶從其中第一遠程窗口500是最前面或活動的窗口的一個虛擬桌面移動到具有第二遠程窗口502的第二虛擬桌面時,第二遠程窗口502可能包括第一遠程窗口500的重疊部分,這造成混亂。簡單參考圖5C,所示的是用于允許用戶在縮略圖之間進行翻閱以選擇要轉(zhuǎn)到前臺的程序的3D接口的示例的框圖。如圖所示,可以顯示一個或多個窗口縮略圖,包括本地窗口512a-c和遠程窗口500和502。響應于用戶交互,最前面的縮略圖像可以被“翻”到堆棧的后面,或者最后面的縮略圖像可以被“翻”到堆棧的前面。如圖所示,沒有在圖5A中所示的縮略形損壞,用戶可以看到第二遠程窗口502的全部。避免在圖5A中所示的縮略圖損壞的一個方法是對于遠程應用不使用縮略圖,而是僅使用表示遠程應用窗口的圖標,例如表示記事本或web瀏覽器應用的圖標。然而,當緊接著客戶端呈現(xiàn)的本地應用的靜態(tài)或動態(tài)縮略圖查看這些圖標時,用戶將不會體驗無縫接口,因為哪個應用是本地的以及哪個應用是遠程的將會很明顯。另一個方法是從服務器連續(xù)地發(fā)送每個窗口的各自的圖像,但這可能消耗大量的帶寬而且對于沒有發(fā)生變化的靜態(tài)圖像是不必要的??梢酝ㄟ^以較低速率發(fā)送圖像來減少帶寬需求,但這可能降低用戶體驗,因為窗口圖像沒有被更新以反映它們正確的內(nèi)容?;蛘?,假設用戶不與其交互的窗口不經(jīng)常變化,則可以以高速率發(fā)送前臺或活動窗口的個體圖像,以較低的速率發(fā)送后臺窗口的個體圖像。然而,這種假設可能并不總是正確。后臺窗口可包括響應于非用戶交互的事件來更新的動態(tài)內(nèi)容,例如當新的電子郵件到達時更新的電子郵件應用、具有動態(tài)內(nèi)容的web瀏覽器窗口、例如視頻播放器的多媒體內(nèi)容,或者隨著時間改變其顯示的簡單時鐘。如上文討論的,為了避免縮略圖損壞而沒有額外的困難,在提供無縫的三維縮略圖的方法的一個實施例中,客戶端可以識別被另一個窗口、任務欄或顯示邊緣剪切的一個或多個窗口。這是因為客戶端的窗口管理器可能能夠正確地生成和顯示未被剪切或未被覆蓋的窗口的預覽圖像和縮略圖??蛻舳丝梢酝ㄖ鳈C遠程應用窗口被剪切了并且在預覽期間請求被剪切的窗口的未被損壞的圖像。為了減少帶寬需求,主機可以僅當正被預覽的窗口的大小、位置或內(nèi)容發(fā)生了變化時傳輸圖像,因為靜態(tài)圖像沒有必要被重傳。而且,可以傳輸差分圖像,或者傳輸窗口的新快照和該窗口先前的快照之間的差異,這可以大大地減少帶寬要求,因為在每一時刻僅該窗口的一小部分發(fā)生變化??蛻舳艘部梢跃彺嫦惹暗念A覽圖像以便能使用這些差分圖像來重現(xiàn)該新的快照。此外,可以在傳輸之前壓縮圖像。即使預覽已經(jīng)結(jié)束,預覽圖像也可以被客戶端緩存,使得客戶端可以在下一次預覽被激活時顯示所緩存的預覽圖像并同時等待來自主機的新的快照。如圖6A中所示的是提供無縫的三維縮略圖的系統(tǒng)的實施例的框圖。簡單地來說,該系統(tǒng)包括在本地計算裝置上執(zhí)行的第一代理202、在遠程計算裝置106上執(zhí)行的第二代理204和由在遠程計算裝置106上的一個或多個應用或進程(未示出)生成的一個或多個窗口207a-207c(總的稱為窗口207或遠程窗口207)。如上文所述,第一代理202從第二代理204接收第一窗口207a、第二窗口207b和第三窗口207c的標識。盡管窗口207a_207c被顯示為關聯(lián)的,但在一些實施例中,使用上文結(jié)合圖2-4描述的技術,窗口可以互相不關聯(lián),或者一個或多個窗口可以互聯(lián)關聯(lián),而一個或多個其他窗口不相關聯(lián)。在本地機器102上執(zhí)行的殼214在顯示裝置124上的本地桌面環(huán)境220中顯示表示窗口207a-207c的圖像數(shù)據(jù)。殼214也在任務欄按鈕組230中顯示窗口207a-207c中每一個的標識。盡管窗口207a-207c被顯示為關聯(lián)的,但在一些實施例中,使用上文結(jié)合圖2_4描述的技術,窗口可以互相不關聯(lián),或者一個或多個窗口可以互聯(lián)關聯(lián),而一個或多個其他窗口不相關聯(lián)。例如,在任務欄按鈕組230中,窗口207a和207b可以是關聯(lián)的,而窗口207c不與窗口207a或207b相關聯(lián)。因此,窗口207c的縮略圖不會被顯示在任務欄按鈕組中。而且,盡管其未被示出,但由在本地計算裝置102上執(zhí)行的應用或進程生成的其他窗口可能與一個或多個遠程窗口207重疊,并且可以使用上述任何技術將其與一個或多個任務欄按鈕組230中的遠程窗口207中的一個或多個相關聯(lián)。仍參考圖6A,更具體地,在一些實施例中,在遠程計算裝置106上執(zhí)行的第二代理204可以接收向本地計算裝置102發(fā)送窗口預覽的請求。在一些實施例中,第二代理204可以從第一代理202或在本地計算機器102上執(zhí)行的其他應用或進程接收該請求。在其他實施例中,第二代理204可以響應于由第二代理204監(jiān)控的定時器的到時來接收該請求。例如,第二代理204可以監(jiān)控定時器以周期性地在該定時器到時時,向本地計算裝置102發(fā)送窗口預覽。在另一個實施例中,第二代理204可以不接收顯式請求,而是通過定時器的到時隱含該請求。在又一個實施例中,第二代理204可以響應于其他觸發(fā)器來開始向本地計算裝置102發(fā)送窗口預覽,例如打開到本地計算裝置102的連接、遠程計算裝置106上的應用或進程生成新的窗口207、外部定時器到時、來自用戶或管理員或遠程用戶或遠程管理員的人工命令,或指示期望窗口預覽的任何其他命令或信號。在一些實施例中,響應于請求,第二代理204可以執(zhí)行對一個或多個窗口207a-207c的圖像預覽的捕獲。在一個實施例中,第二代理204可以使用由操作系統(tǒng)提供的API來抓取一個或多個應用窗口207a-207c的快照,例如PrintWindowAPI或其他接口。在一些實施例中,第二代理204可以經(jīng)由窗口句柄識別用于快照捕獲的窗口,而在其他實施例中,第二代理204可以經(jīng)由窗口坐標來識別窗口。在其他實施例中,第二代理可以經(jīng)由與另一個窗口的父子關系來識別用于快照捕獲的窗口。在一些實施例中,第二代理204可以進一步地抓取該窗口的快照。這可以響應于定時器的到時、響應于窗口改變大小或位置、響應于窗口內(nèi)容被改變、響應于窗口的疊置次序(z-order)發(fā)生變化或者任何這些觸發(fā)事件的組合來完成。在許多實施例中,可以由第二代理204緩存一個或多個先前的快照。在一些實施例中,第二代理204可以將窗口的快照與先前緩存的快照進行比較以檢測快照之前的差異并且創(chuàng)建差分圖像。在一個實施例中,第二代理204可以執(zhí)行目前快照和先前快照的XOR運算或其他類似運算以創(chuàng)建表示該目前快照和先前快照之間差異的差分圖像。這個差分圖像可能明顯地小于快照,特別是在盡管內(nèi)容可能變化但窗口的用戶界面不發(fā)生變化的情況下。在許多實施例中,第二代理204可以周期性地傳輸完整快照而不是差分圖像。這可以用來確保不存在由傳輸或差分圖像中的錯誤所造成的任何損壞。在一些實施例中,第二代理204可以響應于下列的一個或多個來傳輸完整快照定時器到時;計數(shù)器,關于完整圖像的傳輸復位以及對于每個所傳輸?shù)牟罘謭D像進行遞增,達到預定值;調(diào)整窗口大?。灰苿哟翱诨蛐薷钠浏B置順序;或任何其他因素。在一些實施例中,第二代理204可以相應地將圖像標記為差分圖像或非差分圖像。在一些實施例中,第二代理204可以將每個窗口的所存儲的屏幕捕獲傳輸?shù)奖镜赜嬎阊b置102上的第一代理202。在一個實施例中,第二代理204可以使用在所建立的通信鏈接上的虛通道(例如ICA虛通道)來傳輸所存儲的圖像。在一些實施例中,第二代理204可以傳輸其所捕獲或所存儲的每個屏幕捕獲,而在其他實施例中,第二代理204可以將屏幕捕獲一起進行傳輸。在許多實施例中,可以在傳輸之前減小這些屏幕捕獲的大小或分辨率。例如,在一些實施例中,縮略圖的最大大小可以是由本地計算裝置102的操作系統(tǒng)或分辨率預定義的。因此,每個屏幕捕獲可以在進行傳輸之前被縮小到這個大小或分辨率以降低帶寬要求。在一些實施例中,可以在傳輸之前壓縮每個屏幕捕獲或每個屏幕捕獲的集合。例如,在許多實施例中,第二代理204可以使用任何壓縮算法來在傳輸之前壓縮圖像,例如行程編碼(RLE)、JPEG或PNG壓縮。在一些實施例中,在收到每個屏幕捕獲時,第一代理202如有必要可以解壓縮該圖像。第一代理202可以使用由本地計算裝置102的殼214或操作系統(tǒng)提供的API將每個屏幕捕獲傳遞到殼214以作為縮略圖用于3Dfilp界面、2D縮略圖界面、任務欄按鈕組或其他用戶界面。在這些界面的一些實施例中,操作系統(tǒng)或殼可以提供給應用或進程提供圖像用作縮略圖的能力。例如,許多接口允許應用提供圖標或其他圖像來用作縮略圖,而不是允許客戶端操作系統(tǒng)抓取活動窗口的屏幕截圖。通過提供所接收的圖像用作縮略圖,可以獲得無縫的用戶體驗。在使用桌面窗口管理器的MicrosoftWindows操作系統(tǒng)的一些版本(例如,Windows7和WindowsVista)中,第一代理202可以使用DwmSetWindowAtributeAPI設置窗口屬性DWMWA_HAS_IC0NIC_BITMAP為TRUE(真)。這將向窗口管理器指示第一代理202負責提供用于縮略圖或預覽圖像的圖標或圖像。在一些實施例中,由第一代理202接收的屏幕捕獲或預覽圖像可以具有足夠的大小和/或分辨率以作為窗口的基本圖像進行利用。因此,在另一個實施例中,第一代理202可以將這些所接收的預覽圖像用于縮略圖預覽以及用于在本地桌面環(huán)境中的窗口的本地顯示。第一代理202因此可以用所接收的未被剪切的圖像來替換窗口中被剪切的圖像,并且向窗口管理器或殼(例如窗口桌面管理器)指示基于遠程窗口的本地顯示生成實時的預覽。例如,第一代理202可以使用DwmSetWindowAtributeAPI設置窗口屬性DWMWA_HAS_ICONIC_BITMAP為FALSE(假)。這可以用來減小客戶端處的復雜度,其將不必檢索用于顯示的縮略圖標。簡單參考圖6B,所示的是提供無縫的三維縮略圖而不管遠程應用類型的系統(tǒng)的框圖。應用可以使用用于顯示圖形的不同的API或圖形子系統(tǒng),例如圖形設備接口(GraphicsDeviceInterface,GDI)、開放圖形庫(OpenGraphicsLibrary,OpenGL)或窗口展現(xiàn)架構(gòu)(WindowsPresentationFoundation,WPF),以及其他。許多更新的接口(例如,WPF)允許應用將圖形呈現(xiàn)到離屏表面或存儲緩沖區(qū)。然后,例如MicrosoftWindows桌面窗口管理器(WindowsDesktopManager,DWM)的合成窗口管理器將每個應用的緩存區(qū)合成到用于顯示的最終圖像中。這區(qū)別于使用堆棧窗口管理器的較舊的接口,在堆棧窗口管理器中,每個程序?qū)懭氲街骶彌_區(qū)。盡管諸如WPF的DWM感知(DWM-aware)接口使用DWM兼容格式(例如DirextX)來保持與使用GDI或OpenGL或相似接口的較早的不知DWM(DWM-agnostic)的應用的兼容性,但可以給每個應用指定專用緩沖區(qū)。這些應用可以以本地(native)格式呈現(xiàn),例如位圖,然后這些緩存區(qū)內(nèi)容可以被轉(zhuǎn)換成DWM兼容格式,例如DirectX。如圖所示,在進行合成之前,來自每個應用的未被剪切的應用圖像是DWM兼容格式,與所使用的遠程應用的類型或圖形子系統(tǒng)無關。因此,通過在合成之前從視頻存儲器檢索這些圖像位圖和窗口信息,由生成該窗口的應用動態(tài)更新的未被剪切的窗口內(nèi)容可以被另一個程序或用戶界面元素來訪問。例如,這個技術用于為WindowsFlip3D和Peek界面收集本地應用的實時縮略圖預覽。然而,使用此處所討論的系統(tǒng)和方法,該技術也可以與遠程應用一起使用。在使用MicrosoftWindows桌面窗口管理器的實施例中,例如DWM的DwmpDxGetffindowsSharedSurface方法的API可以被用于檢索未被剪切的窗口內(nèi)容作為結(jié)構(gòu)(texture)。如上文所討論的,這個結(jié)構(gòu)接著可以被傳輸?shù)奖镜乜蛻舳艘蕴峁┪幢患羟械?、動態(tài)縮略圖或窗口顯示。現(xiàn)參考圖6C和6D,提供所寄載的應用的無縫的三維縮略圖的方法的實施例的流程圖。如圖所示,所描述的該實施例方法的一些步驟由客戶機執(zhí)行,而其他步驟由主機執(zhí)行。如上文所討論的,主機可以指執(zhí)行用于在客戶機上遠程顯示的一個或多個應用的任何計算裝置。而且,盡管被稱為主機和客戶機,但在一些實施例中,客戶機也可以是主機,并且向第二客戶機提供一個或多個窗口的遠程顯示。例如,這可以被管理員用于遠程監(jiān)控在一個或多個客戶機上的用戶應用。在類似的實施例中,客戶機可以將客戶機寄載的應用的圖形輸出數(shù)據(jù)傳輸?shù)椒掌饕栽试S該客戶機寄載的應用被無縫地集成到遠程桌面中??偟膩碚f,客戶機代理可確定遠程應用窗口的本地顯示是否被另一個遠程窗口、例如任務欄的接口元素或顯示邊緣剪切。如果沒有,則該窗口內(nèi)容可以被用于生成實時預覽。因此,在步驟602,則客戶機代理可以禁用該窗口的定制圖標預覽設置(如果被設置的話),以及在步驟604,客戶機上的窗口管理器可以根據(jù)需要生成窗口預覽。如果窗口被剪切,則在步驟606,客戶機代理可以啟用該窗口的定制圖標預覽。在步驟608,客戶機代理可以將最后所知的預覽圖像作為該窗口的定制圖標??梢灾貜筒襟E602-608直到需要預覽為止。當需要預覽時,在步驟609,客戶機代理可以設置最后所知的預覽圖像作為定制預覽位圖。在步驟610,客戶機代理可以向主機發(fā)送遠程預覽窗口的請求。在步驟612,響應于接收該請求,主機代理可以將該窗口的遠程窗口預覽狀態(tài)設置為開。在步驟614,主機代理可以抓取該窗口的快照。如上文所述,在對于第一快照可能不作任何差分比較的情況下,或者周期性地為避免錯誤或損壞,或者當窗口被調(diào)整大小時,在步驟616,主機代理可以將完整的快照作為窗口預覽發(fā)送到客戶機?;蛘?,在步驟618,主機代理可以比較窗口快照與先前的快照,并且在步驟620可以創(chuàng)建差分預覽,其可以在步驟616被傳輸?shù)娇蛻魴C。每當窗口已經(jīng)改變位置、大小、疊置順序,或者當窗口的內(nèi)容已經(jīng)發(fā)生變化時,可以周期性地重復步驟614-620。在步驟622,客戶機代理可以從主機代理接收窗口預覽。如果該圖像不是差分圖像,則在步驟624,客戶機代理可以將該預覽圖像存儲為定制圖標。或者,如果該圖像是差分圖像,則在步驟626,客戶機代理可以將該差分圖像與先前存儲的圖像進行比較并且在步驟628創(chuàng)建非差分圖像。在步驟630,因為該預覽圖像可表示窗口的全部內(nèi)容的未被剪切的圖像,所以在一些實施例中,該預覽圖像可以被存儲為窗口圖像。在步驟632,如果設置了窗口的定制圖標預覽,則客戶機代理可以禁用窗口的定制圖標預覽,這允許客戶機上的合成窗口管理器來生成在步驟630作為窗口圖像存儲的圖像的實時預覽604(如圖6C所示)。如上文所述,這可以用來在客戶機上降低復雜度。如果窗口仍然被剪切并且仍然需要預覽,則可以為從主機代理接收的每個新的窗口預覽重復步驟622-632中的一個或多個步驟。在一些實施例中,例如,在第一次禁用了窗口的定制圖標預覽之后,可以跳過步驟632。一旦不再需要預覽或者窗口不再被剪切(使得本地合成窗口管理器可以很容易地創(chuàng)建未被剪切的窗口預覽),則在步驟634,本地代理可以通知主機不再需要遠程預覽。在步驟636,響應于該通知,主機代理可以將該窗口的遠程窗口預覽狀態(tài)設置為關。盡管所示的是關于單個窗口,但在具有多個寄載窗口的實施例中,可以對于多個窗口并行或順次執(zhí)行此處的步驟。仍參考圖6C和6D,更具體地,在一些實施例中,客戶機代理可以監(jiān)控顯示來自在遠程計算機上執(zhí)行的應用的遠程內(nèi)容的窗口的位置或所寄載的窗口的位置,以確定窗口是否被另一個遠程窗口、例如任務欄的用戶界面元素或顯示的邊緣剪切。在一些實施例中,如上文所述,客戶機代理可以確定窗口是否被用于由應用進行呈現(xiàn)的二維邏輯視頻緩存器(LVB)的邊緣剪切。如果窗口沒有被剪切,則由窗口管理器從LVB生成的實時預覽的顯示內(nèi)容將不會被損壞。因此,在步驟602,如果設置了定制圖標預覽,則客戶機代理可以禁用對于窗口的定制圖標預覽。在使用Windows桌面窗口管理器(DWM)的一個實施例中,這可以通過使用DwmSetWindowAttribute方法將窗口屬性DWMWA_HAS_ICONIC_BITMAP設置為FALSE(假)來完成。在步驟604,客戶機窗口管理器接著可以根據(jù)需要生成窗口的實施預覽,例如當激活縮略圖預覽、3DF1ip、Peek或其他界面時。如果窗口被剪切,則在一些實施例中,在步驟606,客戶機代理可以啟用該窗口的定制圖標預覽。在使用Windows桌面窗口管理器(DWM)的一個實施例中,這可以通過使用DwmSetffindowAttribute方法將窗口屬性DWMWA_HAS_ICONIC_BITMAP設置為TRUE(真)來完成。在步驟608,在一些實施例中,客戶機代理可以存儲或初始化最后所知的窗口預覽圖像作為定制圖標。在其中客戶機沒有最后所知的窗口預覽圖像的其他實施例中,例如,在方法600的首次執(zhí)行時,客戶機代理可以使用替代圖像,例如與該應用管理的圖標。在預覽期間,這可以在一段時間內(nèi)進行顯示,直到客戶機從主機收到用于該窗口的預覽圖像為止,理想情況下只是很短時間。在一些實施例中,客戶機代理可以持續(xù)監(jiān)控窗口的位置并重復步驟602-608。這可以被用來確保當用戶執(zhí)行要求預覽圖像的接口時,被剪切的和未被剪切的窗口被正確地處理。所述監(jiān)控可周期性地執(zhí)行,或響應于窗口的位置、大小、疊置順序或者內(nèi)容的變化而執(zhí)行??蛻魴C代理也可以監(jiān)控桌面窗口管理器以檢測何時開始了特定類型的預覽。例如,當對于任務欄預覽請求窗口縮略圖時,WindowsDWM可以向該窗口發(fā)送WM_DWMSENDICONICTHUMBNAIL消息。類似地,當對于例如Peek的元素請求窗口預覽時,WindowsDWM可以向該窗口發(fā)送WM_DWMSENDICONICLIVEPREVIEWBITMAP消息。在一些實施例中,在步驟609,客戶機代理可以經(jīng)由對應的DwmSetIconicThumbnaiI或DwmSetIconicLivePreviewBitmap消息用定制圖標來響應這些通知。這允許在預覽圖像自主機到達之前的時期內(nèi)顯示定制圖標,包括最后所知的圖像或替換圖像。在其他實施例中,客戶機可以在窗口被預覽之前從主機請求預覽圖像,但這可能要求額外的帶寬和CPU利用率并加重了效率低下,作為交換僅在預覽響應方面略微加快。在步驟610,客戶機代理可以請求來自主機的對于窗口的遠程窗口預覽。在一些實施例中,這個請求可以包括所請求的窗口的HostID(主機ID)以便唯一地識別它。在其他實施例中,這個請求可以包括窗口句柄、該窗口的位置,該窗口的父窗口或其他信息以唯一地識別所請求的窗口。該請求可包括被設置為請求所識別的窗口的遠程預覽的一個或多個標記。在一些實施例中,可以通過虛通道來傳輸該請求。例如,可以通過ICA無縫或控制虛通道來傳輸該請求。在步驟612,響應于接收該請求,主機代理可以將該請求中所識別的窗口的預覽狀態(tài)設置為開。這可以例如通過將該窗口的窗口屬性或標記設置為預定值或者通過由主機代理使用記賬(bookkeeping)來完成。在步驟614,主機代理可以抓取該窗口的快照。在一些實施例中,如上文所述,這可以通過檢索存儲緩沖區(qū)的內(nèi)容來完成。例如,可以鉤住或攔截主機上合成桌面窗口管理器的命令,例如CreateTexture命令,以從各個應用窗口檢索結(jié)構(gòu)。在又一個示例中,可以調(diào)用窗口管理器的函數(shù)以檢索所述結(jié)構(gòu),例如上文所述的DwmpDxGetWindowSharedSurface函數(shù)。在許多實施例中,可以使用PrintWindowAPI或類似的函數(shù)或API來抓取窗口快照。在一些實施例中,抓取窗口快照可以包括將當前的快照存儲為先前的快照,然后用新的快照代替該當前的快照。這可以被用來例如允許差分圖像的創(chuàng)建。在其他實施例中,在其他時候,例如在步驟618或620之后,當前的快照可以作為先前的快照來被使用。在步驟618,在一些實施例中,主機代理可以將該快照與之前抓取的快照進行比較。在一個實施例中,主機代理可以對之前抓取的快照進行XOR運算以創(chuàng)建差分圖像。在一些實施例中,例如其中主機代理沒有先前的圖像,主機代理可以使用黑色圖像作為先前的快照。這可以用來降低復雜度。在步驟620,該比較或XOR運算的結(jié)果可以被存儲為差分預覽圖像。在一些實施例中,在步驟616,主機代理可以向客戶機發(fā)送預覽圖像。在一個實施例中,該預覽圖像包括在步驟614抓取的快照,而在其他實施例中,該預覽圖像可以包括在步驟620創(chuàng)建的差分圖像。在一些實施例中,當在第一圖像上窗口大小被調(diào)整時,或者在其他情況下,可以周期性地發(fā)送完整的預覽圖像以減少損壞或錯誤。在一些實施例中,主機代理可以在該預覽圖像中設置標志或?qū)傩砸灾甘驹擃A覽圖像是差分圖像還是完整預覽圖像。在一個實施例中,主機代理可以設置該標志以指示第一個預覽圖像不是差分圖像,并且可以設置后續(xù)圖像的標志以指示它們包含與最初的預覽圖像的差異。在一些實施例中,在傳輸之前,主機代理可以將該圖像序列化到獨立于裝置的位像中。在又一個實施例中,在傳輸之前,主機代理可以使用RLE、JPG、PNG或其他壓縮算法來壓縮該圖像。這可以用來減少傳輸所需要的帶寬。在許多實施例中,因為在各種接口中可以以顯著地減小了原始圖像的大小的方式將縮略圖預覽呈現(xiàn)給用戶,所以可以采用高級別的有損壓縮而沒有明顯的失真。在其他實施例中,在壓縮之前、在壓縮之后或者不壓縮,來縮放該圖像以減少帶寬要求。類似地,在其他實施例中,可以降低該圖像的色彩深度。在一些實施例中,可以通過虛通道將該圖像發(fā)送到客戶機代理。在許多實施例中,隨著窗口發(fā)生變化,可以周期性地重復步驟614-620。例如,在一個實施例中,主機代理可以使用例如由Microsoft提供的ActiveAccessibilityAPI的API來確定窗口的大小和位置何時發(fā)生了變化,并且可以相應地重復步驟614-620。在又一個實施例中,主機代理可以周期性地輪詢該窗口,例如,每秒一次或其他間隔,以便確定窗口的內(nèi)容是否已經(jīng)發(fā)生變化,以及相應地重復步驟614-620。在步驟622,客戶機代理可以從主機代理接收該圖像。在一個實施例中,客戶機代理可以經(jīng)由到主機代理的虛通道來接收該圖像。在其中客戶機代理從主機代理接收如上文所述在步驟616的壓縮圖像的一些實施例中,客戶機代理可以解壓縮該圖像或者將壓縮的圖像轉(zhuǎn)換成未壓縮的位圖。在一些實施例中,客戶機代理可以經(jīng)由在該圖像中設置的標志、屬性或位來確定該圖像是否是差分圖像。如果所接收的圖像不是差分圖像,則在步驟624,客戶機代理可以用所接收的圖像來替換該窗口的最后所知的預覽圖像。在一些實施例中,替換該最后所知的預覽圖像可包括替換定制圖標圖像,而在其他實施例中,該最后所知的預覽圖像可以與定制圖標圖像分開存儲。如果所接收的圖像是差分圖像,則在步驟626,客戶機代理可以將所接收的圖像與在客戶機存儲或緩存的最后所知的預覽圖像進行比較。在一個實施例中,在步驟628,客戶機代理可以執(zhí)行所接收圖像與該最后所知的預覽圖像的XOR運算以產(chǎn)生完整的非差分圖像。如圖所示,然后,在步驟624,客戶機代理可以替換該窗口的最后所知的預覽圖像。在一些實施例中,因為預覽圖像可包括遠程窗口的完整內(nèi)容,而且沒有被剪切的區(qū)域,所以在步驟630,客戶機代理可以將該預覽圖像存儲為窗口圖像。在另一個實施例中,客戶機代理經(jīng)由上文結(jié)合圖2所述的方法來禁用對該窗口的更新。這可以減少帶寬需求,因為該預覽圖像包括全部的應用輸出數(shù)據(jù)加上任何被剪切的區(qū)域,因此對該應用輸出數(shù)據(jù)的常規(guī)更新是多余的。在一些實施例中,一旦窗口不再被剪切或者不再需要預覽時,結(jié)合下面的步驟634,客戶機代理可以重新啟用對窗口的更新。在一些實施例中,步驟630還可包括禁用對用于加速特征的所生成的窗口的本地子窗口的外部窗口剪切。在許多實施例中,在客戶機處可以將各種圖像加速特征的內(nèi)容作為子窗口呈現(xiàn)在父遠程窗口上方,所述圖形加速特征例如遠程音頻視頻擴展(RemoteAudio&VideoExtensions,RAVE),F(xiàn)lash或WindowsMediavideo,或其他。例如,并非是在主機處解碼流式格式的多媒體文件、以諸如ICA的表示層協(xié)議編碼所產(chǎn)生的圖像、將該圖像發(fā)送到客戶機以及將它們顯示在應用輸出窗口中,這可能導致大量的帶寬使用、緩存問題和較差的保真度用戶體驗,在一些實施例中,流式傳輸視頻或混合的音頻和視頻數(shù)據(jù)而是可以被以客戶機的本地格式從主機進行傳輸,并且由客戶機進行解碼并將其呈現(xiàn)在父遠程窗口上方的子窗口中。這可以減少主機的處理負載并且提高流式傳輸協(xié)議的傳輸效率。內(nèi)部剪切可以出現(xiàn)在子窗口上,例如,當用戶激活父遠程媒體播放器中的下拉菜單時,該下拉菜單應該顯示在子窗口之上。這區(qū)別于外部剪切,例如當主機會話中的另一個窗口覆蓋該應用窗口時??梢越脤ψ哟翱诘耐獠考羟?,以防止子窗口(例如,視頻)在作為父應用窗口(例如,媒體播放器應用窗口)的預覽圖像的一部分而被顯示時被不適當?shù)丶羟械?。在一些實施例中,為簡單起見,也可以禁用?nèi)部剪切,這是由于事實上在預覽期間用戶不可能激活父應用的菜單。在步驟632,在一些實施例中,客戶機代理可以禁用對于窗口的定制圖標預覽,或者啟用客戶機桌面窗口管理器來生成窗口的實時預覽。例如,這可以通過使用DwmSetffindowAtribute方法設置窗口屬性DWMWA_HAS_IC0NIC_BITMAP為FALSE來完成。如在步驟602-604所討論的,因為該窗口不再包括被剪切的區(qū)域,所以桌面窗口管理器可以生成窗口的實時預覽而不包括剪切或圖像損壞。通過禁用定制圖標預覽,可以降低客戶機操作復雜度,尤其是對于如上文所述由于加速圖形特征引起的混合的父/子窗口,其中客戶機將不得不擔當復雜的窗口管理器并且生成定制預覽,該定制預覽包括客戶機呈現(xiàn)的子窗口的內(nèi)容和從主機發(fā)送的定制圖標或縮略圖的組合。在一些實施例中,可以對于后續(xù)的從主機代理接收的窗口預覽重復步驟622-632中的一個或多個步驟。在步驟634,一旦客戶機代理檢測到窗口不再被剪切或者不再需要預覽,在一些實施例中,客戶機可以通知主機不需要遠程預覽。在一些實施例中,客戶機可以通過這樣的步驟來檢測窗口是否被剪切監(jiān)控窗口的大小、位置或疊置次序的變化,并且響應于該變化,檢測窗口是否被剪切。在其他實施例中,客戶機可以通過觀察任務欄或其他元素關閉或終止帶有指示已生成預覽的類名的窗口來檢測不再需要預覽,所述類名例如“TaskListThumbnaiIWnd”、“TaskSwitcherWnd”、“Flip3D”或類似名稱。客戶機可以經(jīng)由控制命令來通知主機不再需要遠程預覽,并且如在步驟610—樣,可以包括HostID、窗口句柄、窗口的位置,該窗口的父窗口或其他信息以唯一地識別所請求的窗口。該通知可包括被設置為不請求所識別的窗口的遠程預覽的一個或多個標志。在一些實施例中,可以通過虛通道來傳輸該通知。例如,可以通過ICA無縫或控制虛通道來傳輸該通知。在一些實施例中,客戶機代理使用上文結(jié)合圖2所述的方法來啟用對窗口的更新,并且啟用窗口剪切,正如上文在步驟630處所討論的。在步驟636,響應于收到來自客戶機代理的通知,主機代理可以將該請求中所識別的窗口的預覽狀態(tài)設置為關。這可以例如通過將該窗口的窗口屬性或標志設置為預定值或者通過由主機代理使用內(nèi)部記賬(bookkeeping)來完成。在許多實施例中,對于后續(xù)的預覽可以重復方法600,并且對于多個寄載的窗口可以并行或重復地執(zhí)行方法600。因而,方法600可以被用于向客戶機的操作系統(tǒng)或殼提供來自所寄載的應用的未被剪切的窗口,以用于各種用戶接口中,這提供了無縫體驗,其中遠程執(zhí)行的應用看起來與本地執(zhí)行的應用幾乎沒有區(qū)別。應該理解,上文描述的系統(tǒng)可提供這些組件的任意多個或每一個并且這些組件可以在獨立機器上提供,或者在一些實施例中,可在分布式系統(tǒng)的多個機器上提供。可以使用編程和/或工程技術將上文所描述的系統(tǒng)和方法實現(xiàn)為方法、裝置或產(chǎn)品以提供軟件、固件、硬件或上述的任何組合。此外,上述系統(tǒng)和方法可作為在一件或多件產(chǎn)品上實現(xiàn)或在其中實現(xiàn)的一個或多個計算機可讀程序而被提供。此處使用的術語“產(chǎn)品”旨在包括從一個或多個計算機可讀的裝置、固件、可編程邏輯、存儲器裝置(例如,EEPROM、ROM、PROM、RAM、SRAM等)、硬件(例如,集成電路芯片、現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)等)、電子裝置、計算機可讀的非易失存儲單元(例如,⑶-ROM、軟盤、硬盤等)可訪問的或嵌入其中的代碼或邏輯。所述產(chǎn)品可以是從經(jīng)由網(wǎng)絡傳輸線、無線傳輸介質(zhì)、通過空間傳播的信號、無線電波、紅外信號等提供對計算機可讀程序的訪問的文件服務器可訪問的。所述產(chǎn)品可以是閃存卡或磁帶。所述產(chǎn)品包括硬件邏輯以及嵌入在計算機可讀介質(zhì)中由處理器執(zhí)行的軟件或可編程代碼。通常,計算機可讀程序可以任何編程語言來實現(xiàn),如LISP、PERL、C、C++、C#、PROLOG,或者諸如JAVA的任何字節(jié)碼語言。軟件程序可以作為目標代碼被存儲在一件或多件產(chǎn)品上或其中。已經(jīng)描述了用于提供對于所寄載應用的無縫的縮略圖的方法和系統(tǒng)的某些實施例,對本領域技術人員而言,顯而易見可以使用包含本發(fā)明的概念的其他實施例。權利要求1.一種用表示在遠程計算機上執(zhí)行的遠程應用的用戶界面元素和由該遠程應用生成的應用輸出來更新由本地計算機生成并顯示的任務欄的方法,所述方法包括由在本地機器上執(zhí)行的本地客戶端接收由在遠程計算機上執(zhí)行的遠程應用生成的應用輸出以及遠程窗口配置信息;由本地客戶端響應于接收所述遠程窗口配置信息生成用于顯示所接收的應用輸出的應用輸出窗口,所述應用輸出窗口包含本地任務欄分組配置信息,所述本地任務欄分組配置信息是基于所述遠程窗口配置信息所生成的;以及由本地機器的操作系統(tǒng)響應于所述本地任務欄分組配置信息來更新任務欄。2.根據(jù)權利要求I所述的方法,其中生成包含本地任務欄分組配置信息的應用輸出窗口包括由本地客戶端響應于在所述遠程窗口配置信息中存在顯式的任務欄分組標志,來確定在所述遠程窗口配置信息中標識所述遠程應用的進程標識符、窗口標識符或應用標識符的其中一個;以及生成具有本地任務欄分組配置信息的應用輸出窗口,所述本地任務欄分組配置信息包含所確定的進程標識符、窗口標識符或應用標識符。3.根據(jù)權利要求I所述的方法,其中生成包含本地任務欄分組配置信息的應用輸出窗口包括由本地客戶端響應于在所述遠程窗口配置信息中不存在顯式的任務欄分組標志,來確定所述遠程應用的文件系統(tǒng)路徑;由本地客戶端用本地文件系統(tǒng)路徑的標識符來替換所述遠程應用的文件系統(tǒng)路徑的部分以創(chuàng)建混合文件系統(tǒng)路徑;以及由本地客戶端生成具有包含所述混合文件系統(tǒng)路徑的本地任務欄分組配置信息的應用輸出窗口。4.根據(jù)權利要求3所述的方法,還包括由本地客戶端識別對應于所述混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組的存在;以及由本地客戶端將對應于所生成的應用輸出窗口的任務欄按鈕移動到該現(xiàn)有任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。5.根據(jù)權利要求3所述的方法,還包括由本地客戶端識別不存在對應于所述混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組;由本地客戶端生成對應于所述混合文件系統(tǒng)路徑的任務欄按鈕組;以及由本地客戶端將對應于所生成的應用輸出窗口的任務欄按鈕移動到所生成的任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。6.根據(jù)權利要求I所述的方法,還包括由本地客戶端從遠程計算機接收表示所述遠程應用的用戶界面元素以及所述應用輸出;由本地客戶端將所接收的用戶界面元素與對應于所生成的應用輸出窗口的標識存儲在一起;以及由操作系統(tǒng)響應于與任務欄按鈕的用戶交互來顯示所接收的用戶界面元素,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。7.根據(jù)權利要求6所述的方法,其中所接收的用戶界面元素包括所述應用輸出的縮略圖像。8.根據(jù)權利要求6所述的方法,其中所接收的用戶界面元素包括由所述遠程應用生成的窗口標題或者所述遠程應用的圖標。9.根據(jù)權利要求I所述的方法,還包括由所述操作系統(tǒng)響應于與任務欄按鈕的用戶交互來顯示所述應用輸出的縮略圖像,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的,所述縮略圖像是由所述操作系統(tǒng)生成的。10.根據(jù)權利要求I所述的方法,還包括由所述操作系統(tǒng)響應于與任務欄按鈕的用戶交互來顯示所生成的應用輸出窗口的窗口標題,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的,所述窗口標題是由本地客戶端生成的。11.一種用表示在遠程計算機上執(zhí)行的遠程應用的用戶界面元素和由該遠程應用生成的應用輸出來更新由本地計算機生成并顯示的任務欄的系統(tǒng),所述系統(tǒng)包括本地機器,所述本地機器執(zhí)行本地客戶端,其被配置為接收由在遠程計算機上執(zhí)行的遠程應用生成的應用輸出以及遠程窗口配置信息,并且響應于接收所述遠程窗口配置信息生成用于顯示所接收的應用輸出的應用輸出窗口,所述應用輸出窗口包含基于所述遠程窗口配置信息所生成的本地任務欄分組配置信息;和操作系統(tǒng),其被配置為響應于所述本地任務欄分組配置信息來更新任務欄。12.根據(jù)權利要求11所述的系統(tǒng),其中本地客戶端還被配置為響應于在所述遠程窗口配置信息中存在顯式的任務欄分組標志,來確定在所述遠程窗口配置信息中標識所述遠程應用的進程標識符、窗口標識符或應用標識符的其中一個,并且生成具有本地任務欄分組配置信息的應用輸出窗口,所述本地任務欄分組配置信息包含所識別的進程標識符、窗口標識符或應用標識符。13.根據(jù)權利要求11所述的系統(tǒng),其中本地客戶端還被配置為響應于在所述遠程窗口配置信息中不存在顯式的任務欄分組標志,來確定所述遠程應用的文件系統(tǒng)路徑,用本地文件系統(tǒng)路徑的標識符來替換所述遠程應用的文件系統(tǒng)路徑的部分以創(chuàng)建混合文件系統(tǒng)路徑,以及生成具有包含所述混合文件系統(tǒng)路徑的本地任務欄分組配置信息的應用輸出窗口。14.根據(jù)權利要求13所述的系統(tǒng),其中本地客戶端還被配置為識別對應于所述混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組的存在,并且將對應于所生成的應用輸出窗口的任務欄按鈕移動到該現(xiàn)有任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。15.根據(jù)權利要求13所述的系統(tǒng),其中本地客戶端還被配置為識別不存在對應于所述混合文件系統(tǒng)路徑的現(xiàn)有任務欄按鈕組,生成對應于所述混合文件系統(tǒng)路徑的任務欄按鈕組,以及將對應于所生成的應用輸出窗口的任務欄按鈕移動到所生成的任務欄按鈕組,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。16.根據(jù)權利要求11所述的系統(tǒng),其中本地客戶端還被配置為從遠程計算機接收表示所述遠程應用的用戶界面元素和所述應用輸出,并且將所接收的用戶界面元素與對應于所生成的應用輸出窗口的標識存儲在一起;以及所述操作系統(tǒng)還被配置為響應于與任務欄按鈕的用戶交互來顯示所接收的用戶界面元素,所述任務欄按鈕是響應于所述應用輸出窗口的生成而由所述操作系統(tǒng)生成的。17.根據(jù)權利要求16所述的系統(tǒng),其中所接收的用戶界面元素包括所述應用輸出的縮略圖像。18.根據(jù)權利要求16所述的系統(tǒng),其中所接收的用戶界面元素包括由所述遠程應用生成的窗口標題或者所述遠程應用的圖標。19.根據(jù)權利要求11所述的系統(tǒng),其中所述操作系統(tǒng)還被配置為響應于所述應用輸出窗口的生成來生成任務欄按鈕,生成所述應用輸出窗口的縮略圖像,以及響應于與所述任務欄按鈕的用戶交互來顯示所述縮略圖像。20.根據(jù)權利要求11所述的系統(tǒng),其中本地客戶端還被配置為生成所述應用輸出窗口的窗口標題或圖標;以及所述操作系統(tǒng)還被配置為響應于所述應用輸出窗口的生成來生成任務欄按鈕,并且響應于與所述任務欄按鈕的用戶交互來顯示所述遠程應用的窗口標題或圖標。全文摘要本公開特別描述了用表示遠程機器上執(zhí)行的遠程應用的用戶界面元素和由該遠程應用生成的應用輸出來更新由本地計算機生成并顯示的任務欄的方法和系統(tǒng)。這些方法和系包括本地客戶端,其接收由遠程應用生成的應用輸出以及遠程窗口配置信息,生成包含本地任務欄分組配置信息的應用輸出窗口,并且響應于該本地任務欄分組配置信息來更新任務欄。文檔編號G06F13/14GK102754091SQ201080063399公開日2012年10月24日申請日期2010年12月2日優(yōu)先權日2009年12月9日發(fā)明者A·米爾,G·莫姆其洛夫,P·帕德曼那罕申請人:思杰系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
资兴市| 长阳| 鹤庆县| 五莲县| 武穴市| 尉犁县| 孙吴县| 大邑县| 普安县| 比如县| 鄱阳县| 广州市| 东源县| 长寿区| 蓬安县| 新宁县| 祁门县| 怀安县| 师宗县| 乌什县| 鹤壁市| 竹北市| 体育| 兰考县| 卓尼县| 都昌县| 贵南县| 河北区| 定陶县| 巴中市| 万盛区| 安顺市| 兴城市| 明溪县| 丰都县| 齐齐哈尔市| 天镇县| 珠海市| 永州市| 岐山县| 梅河口市|