用于在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成的制作方法
【專利摘要】本文中所描述的方法和系統(tǒng)涉及提供用于在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成。通過提供用于在服務(wù)器上執(zhí)行的應(yīng)用的殼集成,該系統(tǒng)提供了無縫的用戶體驗,其中用戶感知到本地執(zhí)行的應(yīng)用和遠(yuǎn)程執(zhí)行的應(yīng)用之間較小差別或沒有差別。操作系統(tǒng)中新的可用性增強(qiáng),諸如目的地列表(也稱為跳轉(zhuǎn)列表)、縮略圖工具欄、疊加圖標(biāo)、進(jìn)度條、和網(wǎng)站與殼(IE9)的集成,可能僅在本地Os環(huán)境中有效,并且完全不能集成在遠(yuǎn)程環(huán)境中。本發(fā)明的一個目的是集成這些殼的能力,并且實現(xiàn)用戶的一致桌面體驗。
【專利說明】用于在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成
[0001] 相關(guān)申請的奪叉引用
[0002] 本申請是于2011年5月20日提交的、標(biāo)題為"Systems and Methods for Providing Shell Integration for an Application Executing Remotely on a Server,' 的美國專利申請61/488, 593的非臨時申請,美國專利申請61/488, 593的內(nèi)容出于全部的 目的通過引用整體而結(jié)合于此。
【技術(shù)領(lǐng)域】
[0003] 本公開內(nèi)容總體上涉及在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用。特別地,本公開內(nèi)容涉及提 供用于在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成。
【背景技術(shù)】
[0004] 通過計算和網(wǎng)絡(luò)能力的進(jìn)步,公司和用戶越來越多地使用遠(yuǎn)程執(zhí)行的應(yīng)用。然而, 在許多實例中,遠(yuǎn)程執(zhí)行的應(yīng)用的使用可能提供繁瑣的用戶體驗,其中本地操作系統(tǒng)的視 覺和功能可用性增強(qiáng)并未集成在遠(yuǎn)程環(huán)境中。此外,當(dāng)用戶嘗試與遠(yuǎn)程執(zhí)行的應(yīng)用同時地 相互作用時,這樣的集成的缺少可能引起用戶的困惑。
【發(fā)明內(nèi)容】
[0005] 鑒于上述背景,為了提供本文中所描述的一些方面的基本理解,以下給出本公開 內(nèi)容的簡化總結(jié)。這個總結(jié)不是全面的總結(jié),而是旨在標(biāo)識主要或關(guān)鍵的元素,或者描繪權(quán) 利要求的范圍。以下總結(jié)僅以簡化的形式給出各個描述的方面,作為下面所提供的更詳細(xì) 的描述的序幕。
[0006] 本文中所描述的方法和系統(tǒng)涉及用于提供在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成。 通過提供用于在服務(wù)器上執(zhí)行的應(yīng)用的殼集成,該系統(tǒng)提供了無縫的用戶體驗,其中用戶 感知到本地執(zhí)行的應(yīng)用和遠(yuǎn)程執(zhí)行的應(yīng)用之間較小差別或沒有差別。操作系統(tǒng)中新的可用 性增強(qiáng),諸如目的地列表(也稱為跳轉(zhuǎn)列表)、縮略圖工具欄、疊加圖標(biāo)、進(jìn)度條、和網(wǎng)站與殼 (IE9)的集成,可能僅在本地0S環(huán)境中有效,并且完全不能在遠(yuǎn)程環(huán)境中集成。本發(fā)明的一 個目的是集成這些殼的能力,并實現(xiàn)用戶的一致桌面體驗。
[0007] 目的地列表(Destination List)構(gòu)成每個應(yīng)用的微型開始菜單,該微型開始菜單 提供對內(nèi)容和用戶每日執(zhí)行的任務(wù)的容易訪問。目的地列表準(zhǔn)許用戶打開應(yīng)用、鎖定或解 鎖應(yīng)用以及關(guān)閉窗口。目的地列表可以包含用戶任務(wù)、自定義類別、已知類別(例如"最近項 目"或"經(jīng)常使用的項目")、鎖定的類別。在一些實施例中,殼項目是可鎖定的。目的地列 表范圍可從空白目的地列表到任何默認(rèn)的排列、已知或自定義類別、殼鏈接和殼項目。目的 地列表可以是靜態(tài)的(在應(yīng)用的安裝時被創(chuàng)建)或動態(tài)的。目的地列表對于本地和遠(yuǎn)程應(yīng)用 可以是分離的(未分組的)。目的地列表對于本地和遠(yuǎn)程應(yīng)用可以是合并的(分組的)。在一 些實施例中,在列表內(nèi),合并或者分離各個類別和項目可以基于本地的或者遠(yuǎn)程的訪問。
[0008] 縮略圖工具欄提供到特定窗口的關(guān)鍵命令的訪問而不會使用戶還原或激活應(yīng)用 的窗口。激活的工具欄控制能夠嵌入在該窗口的縮略圖預(yù)覽中。
[0009] 通過在按鈕上小的疊加的顯示,應(yīng)用能夠通過它的任務(wù)欄按鈕將某些通知和狀態(tài) 通信給用戶。圖標(biāo)疊加作為狀態(tài)的場景通知來服務(wù),并且旨在取消對于分離的通知區(qū)域狀 態(tài)圖標(biāo)的需要。
[0010] 任務(wù)欄按鈕能夠用于顯示進(jìn)度條。這使得窗口能夠提供進(jìn)度信息給用戶,而用戶 不用必須切換到窗口自身。用戶在瞥見其它窗口中出現(xiàn)的一個或多個操作的進(jìn)度的同時, 能夠在另一個應(yīng)用中保持工作。該任務(wù)欄按鈕還能夠顯示操作暫?;蛘卟僮饕呀?jīng)遇到錯 誤,并且需要用戶干預(yù)。
[0011] 根據(jù)一個方面,一種方法可以包括:在本地計算設(shè)備處,從遠(yuǎn)程計算設(shè)備上接收目 的地列表,該目的地列表對應(yīng)于在遠(yuǎn)程計算設(shè)備上執(zhí)行的應(yīng)用;在本地計算設(shè)備處,基于在 遠(yuǎn)程計算設(shè)備上執(zhí)行的對應(yīng)的應(yīng)用,實例化存根可執(zhí)行程序;以及將目的地列表與存根可 執(zhí)行程序相關(guān)聯(lián)。
[0012] 另一個方面可以進(jìn)一步包括:輸出包括目的地列表的用戶界面用于顯示;在客戶 端設(shè)備處截取在所述目的地列表上選擇項目的用戶輸入,所述項目對應(yīng)于在從所述遠(yuǎn)程計 算設(shè)備接收的目的地列表中的項目;以及將截取的輸入發(fā)生到遠(yuǎn)程技術(shù)設(shè)備,用于遞送到 該應(yīng)用。
[0013] 一些方面可以包括:生成對應(yīng)于接收的目的地列表的本地列表,其中所述本地目 的地列表包括未在接收的目的地列表中的至少一個用戶可選擇項目;以及輸出基于接收的 目的地列表和本地目的地列表的組合目的地列表用于顯不。
[0014] 其它方面可以包括這里所描述的一個或多個其它特征,并且可以包括用指令編程 的計算機(jī)可讀基質(zhì),該指令在被執(zhí)行時,配置設(shè)備執(zhí)行所列舉的特征中的一個或者多個。
[0015] 另一個方面可以包括計算機(jī)可讀介質(zhì)存儲指令,用于配置設(shè)備顯示包括任務(wù)欄圖 標(biāo)的用戶界面,該任務(wù)欄圖標(biāo)對應(yīng)于在本地計算設(shè)備上執(zhí)行的第一應(yīng)用和在遠(yuǎn)程計算設(shè)備 上執(zhí)行的第二應(yīng)用,其中圖形用戶界面被配置為一旦接收到與該任務(wù)欄圖標(biāo)相關(guān)聯(lián)的第一 用戶輸入,顯示目的地列表,該目的地列表包括對應(yīng)于本地計算機(jī)設(shè)備上的目的地的至少 一個列表項和對應(yīng)于遠(yuǎn)程計算設(shè)備上的目的地的至少一個目的地列表項。
[0016] 在一些變化中,目的地列表可以被劃分成本地的部分和遠(yuǎn)程的部分,和/或可以 包括縮略圖工具欄項目、疊加標(biāo)記和/或進(jìn)度條信息。
[0017] 本文中所描述的方法和系統(tǒng)的各種實施例的細(xì)節(jié)將在下面的附圖和描述中進(jìn)行 闡述。
【專利附圖】
【附圖說明】
[0018] 通過參照結(jié)合附圖的下述說明,本公開內(nèi)容的上述和其它目的、方面、特征和優(yōu)點(diǎn) 將變得更明顯并且更好地被理解,其中:
[0019] 圖1A圖示了根據(jù)本文中所描述的一個或多個方面的提供到能夠執(zhí)行應(yīng)用程序的 計算設(shè)備的遠(yuǎn)程訪問的網(wǎng)絡(luò)環(huán)境的實施例。
[0020] 圖1B和圖1C為根據(jù)本文中所描述的一個或多個方面的圖示計算設(shè)備的實施例的 框圖。
[0021] 圖2為根據(jù)本文中所描述的一個或多個方面的圖示用于提供在服務(wù)器上遠(yuǎn)程執(zhí) 行的應(yīng)用的殼集成。
[0022] 圖3為根據(jù)本文中所描述的一個或多個方面的跳轉(zhuǎn)列表或者目的地列表的一個 實施例的屏幕截圖。
[0023] 圖4為根據(jù)本文中所描述的一個或多個方面的用于遠(yuǎn)程執(zhí)行應(yīng)用的默認(rèn)目的地 列表的屏幕截圖。
[0024] 圖5為根據(jù)本文中所描述的一個或多個方面的、在不需要場景而啟動鎖定的表示 層協(xié)議引擎時出現(xiàn)錯誤的時候所顯示的錯誤對話框的屏幕截圖。
[0025] 圖6為根據(jù)本文中所描述的一個或多個方面的僅用"關(guān)閉窗口"選項遠(yuǎn)程地執(zhí)行 應(yīng)用的非常受限的目的地列表的屏幕截圖。
[0026] 圖7為根據(jù)本文中所描述的一個或多個方面的鎖定的媒體播放器的屏幕截圖。
[0027] 圖8圖示了根據(jù)本文中所描述的一個或多個方面的自動和自定義的目的地的存 儲的屏幕截圖。
[0028] 圖9圖示了根據(jù)本文中所描述的一個或多個方面更換Internet Explorer8的自 定義目的地列表的屏幕截圖。
[0029] 圖10為根據(jù)本文中所描述的一個或多個方面的表示記事本的自動目的地列表的 自定義應(yīng)用的屏幕截圖。
[0030] 圖11A至11D圖示了根據(jù)本文中所描述的一個或多個方面的用于目的地列表的選 項中的一些選項的視覺圖像。
[0031] 圖12圖示了根據(jù)本文中所描述的一個或多個方面的具有自定義"Citrix接收器" 類別和"參數(shù)選擇"任務(wù)的自定義Internet Explorer8目的地列表的屏幕截圖。
[0032] 圖13圖示了根據(jù)本文中所描述的一個或多個方面的雖然針對應(yīng)用的目的地列表 仍然可用、但是僅有選項Close-Window,以防止鎖定。
[0033] 圖14為根據(jù)本文中所描述的一個或多個方面的圖示媒體播放器縮略圖工具欄的 屏幕截圖。
[0034] 圖15圖示了根據(jù)本文中所描述的一個或多個方面的在遠(yuǎn)程執(zhí)行應(yīng)用的場景中的 置加圖標(biāo)。
[0035] 圖16A-D圖示了根據(jù)本文中所描述的一個或多個方面的用于遠(yuǎn)程執(zhí)行的應(yīng)用的 進(jìn)度條的各種狀態(tài)。
[0036] 圖17圖示了根據(jù)本文中所描述的一個或多個方面的用于通信網(wǎng)站的IE9目的地 列表任務(wù)的屏幕截圖。
[0037] 圖18圖示了根據(jù)本文中所描述的一個或多個方面的控制視頻的IE9縮略圖工具 欄按鈕的屏幕截圖。
[0038] 圖19圖示了根據(jù)本文中所描述的一個或多個方面的在指示預(yù)約通知的Outlook Web Access網(wǎng)絡(luò)圖標(biāo)中的疊加圖標(biāo)的屏幕截圖。
[0039] 圖20圖示了根據(jù)本文中所描述的一個或多個方面的針對目的地列表執(zhí)行殼集成 的方法的流程圖。
[0040] 根據(jù)下面結(jié)合附圖而闡述的詳細(xì)描述中,本文中所描述的方法和系統(tǒng)的特征和優(yōu) 點(diǎn)將變得更明顯,其中相似的參考標(biāo)號貫穿全文標(biāo)識對應(yīng)的元素。附圖中,相似的參考號通 常指示相同的、功能類似的和/或結(jié)構(gòu)上類似的元素。 具體實施例
[0041] 在各種實施例的以下描述中,對形成了本文的一部分的附圖做出參考,其中以示 例的方式示出各種實施例,其各種實施例中,可以實踐本文中所描述的方面。應(yīng)當(dāng)理解,可 以利用其它實施例,并且可以做出結(jié)構(gòu)和功能修改而不背離本公開內(nèi)容的范圍和精神。
[0042] 出于閱讀下面各種實施例的描述的目的,說明書的章節(jié)和它們各自的內(nèi)容的下面 說明可以有所幫助:
[0043] 章節(jié)A描述了可以用于實踐本文中所描述的一個或多個實施例的網(wǎng)絡(luò)環(huán)境和計 算環(huán)境;
[0044] 章節(jié)B描述了用于提供用于在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成的系統(tǒng)的實施 例;以及
[0045] 章節(jié)C描述了用于為服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用提供殼集成的方法的實施例。
[0046] 可以組合或單獨(dú)使用實施例的各個方面。每個描述的實施例實質(zhì)上是說明性的, 而并不旨在是限制的,除非明確地聲明。
[0047] 章節(jié)A :網(wǎng)絡(luò)和計算環(huán)境
[0048] 如同本領(lǐng)域的技術(shù)人員閱讀下面的公開內(nèi)容時將理解的,本文中所描述的各個方 面可以體現(xiàn)為方法、數(shù)據(jù)處理系統(tǒng)或者計算機(jī)程序產(chǎn)品。因此,這些方面可以采取以下的形 式:完全硬件實施例、完全軟件實施例或組合軟件和硬件方面實施例。此外,這樣的方面可 以采取由一個或者多個計算機(jī)可讀存儲介質(zhì)存儲的計算機(jī)程序產(chǎn)品的形式,該一個或者多 個計算機(jī)可讀存儲介質(zhì)具有體現(xiàn)在該存儲介質(zhì)中或體現(xiàn)在該存儲介質(zhì)上的計算機(jī)可讀程 序代碼或指令??梢岳萌魏芜m當(dāng)?shù)挠嬎銠C(jī)可讀存儲介質(zhì),包括硬盤、⑶-ROM、光學(xué)存儲器 設(shè)備、磁存儲器設(shè)備和/或它們的任何組合。此外,如本文中所描述的表示數(shù)據(jù)或項目的各 種信號可以在來源和目的地之間通過例如金屬絲、光纖和/或無線傳輸介質(zhì)(例如空氣和/ 或空間)的信號傳輸介質(zhì)以電磁波傳輸?shù)男螒B(tài)傳輸。
[0049] 圖1A圖示了計算環(huán)境101的一個實施例,該計算環(huán)境101包括與一個或多個服 務(wù)器106A?106N (在本文中通常被稱為"(多個)服務(wù)器106")通信的一個或多個客戶機(jī) 102A?102N (在本文中通常被稱為"(多個)客戶機(jī)102")。在(多個)客戶機(jī)102和(多個) 服務(wù)器106之間安裝有網(wǎng)絡(luò)。
[0050] 在一個實施例中,計算環(huán)境101能夠包括在(多個)服務(wù)器106和(多個)客戶機(jī)102 之間安裝的裝置。這個裝置能夠管理客戶端/服務(wù)器連接,并且在一些情況下,能夠在多個 后端服務(wù)器之中負(fù)載平衡客戶端連接。
[0051] 在一些實施例中,(多個)客戶機(jī)102可以被稱為單個客戶機(jī)102或單組客戶機(jī) 102,而(多個)服務(wù)器106可以被稱為單個服務(wù)器106或單組服務(wù)器106。在一個實施例中, 單個客戶機(jī)102與多于一個服務(wù)器106進(jìn)行通信,而在另一實施例中,單個服務(wù)器106與多 于一個客戶機(jī)102進(jìn)行通信。在又一實施例中,單個客戶機(jī)102與單個服務(wù)器106進(jìn)行通 ?目。
[0052] 在一些實施例中,客戶機(jī)102可以引用以下術(shù)語中的任何一個:(多個)客戶機(jī) 102 ;(多個)客戶端;(多個)客戶端計算機(jī);(多個)客戶端設(shè)備;(多個)客戶端計算設(shè)備;本 地機(jī)器;遠(yuǎn)程機(jī)器;(多個)客戶端節(jié)點(diǎn);(多個)端點(diǎn);(多個)端點(diǎn)節(jié)點(diǎn)或者第二機(jī)器。在一 些實施例中,服務(wù)器106可以引用以下術(shù)語中的任何一個:(多個)服務(wù)器、本地機(jī)器、遠(yuǎn)程 機(jī)器、(多個)服務(wù)器群、(多個)主機(jī)計算設(shè)備或(多個)第一機(jī)器。
[0053] 在一個實施例中,客戶機(jī)102可以是虛擬機(jī)102C。在一些實施例中,可以通過虛擬 機(jī)102C可以由超級管理程序(Hypervisor)來管理,超級管理程序諸如由Citrix Systems 有限公司開發(fā)和銷售的Xen超級管理程序、由Microsoft公司開發(fā)和銷售的Hyper-V、由 EMC開發(fā)和銷售的ESX、或者任何其它超級管理程序。
[0054] 在一些實施例中,客戶機(jī)102可以執(zhí)行、操作或另外地提供可以是以下應(yīng)用中的 任何一個的應(yīng)用:軟件;程序;可執(zhí)行指令;虛擬機(jī);超級管理程序; web瀏覽器;基于web 的客戶端;客戶端-服務(wù)器應(yīng)用、瘦客戶端(thin-client)的計算客戶端;ActiveX控制; Java小應(yīng)用程序;與提供互聯(lián)網(wǎng)協(xié)議(VoIP)通信的語音有關(guān)的軟件、像軟IP電話軟件;用 于流式視頻和/或流式音頻的應(yīng)用;用于促進(jìn)實時數(shù)據(jù)通信的應(yīng)用;HTTP客戶端;FTP客戶 端;Oscar客戶端;Telnet客戶端;或者任何其它的可執(zhí)行指令的集合。還有其它實施例包 括客戶端設(shè)備102,該客戶端設(shè)備102顯示由在服務(wù)器106或者其它遠(yuǎn)程放置的機(jī)器上遠(yuǎn) 程執(zhí)行的應(yīng)用所生成的應(yīng)用輸出。在這些實施例中,客戶端設(shè)備102可以在應(yīng)用窗口、瀏覽 器或者其它輸出窗口中顯示的應(yīng)用輸出。在一個實施例中,該應(yīng)用是桌面,而在其他實施例 中,該應(yīng)用是生成桌面的應(yīng)用。
[0055] 在一些實施例中,服務(wù)器106執(zhí)行遠(yuǎn)程呈現(xiàn)客戶端或其它客戶端或程序,它們使 用瘦客戶端協(xié)議或遠(yuǎn)程顯示協(xié)議,以捕獲由在服務(wù)器106上執(zhí)行的應(yīng)用所生成的顯示輸 出,并且將該應(yīng)用顯示輸出傳輸?shù)竭h(yuǎn)程客戶端102。該瘦客戶端協(xié)議或遠(yuǎn)程顯示協(xié)議可以 是以下協(xié)議中的任一種:由佛羅里達(dá)州,F(xiàn)t. Lauderdale的Citrix Systems有限公司制造 的獨(dú)立計算結(jié)構(gòu)(ICA)協(xié)議;或者由華盛頓州,Redmond的微軟公司制造的遠(yuǎn)程桌面協(xié)議 (RDP)。
[0056] 計算環(huán)境可以包括多于一個服務(wù)器106A-106N,以使得服務(wù)器106A-106N邏輯地 分組成服務(wù)器群106。服務(wù)器群106可以包括在服務(wù)器群106中地理分散并邏輯地分組到 一起的服務(wù)器106,或者在服務(wù)器群106中彼此鄰近放置并且邏輯地分組到一起的服務(wù)器 106。在一些實施例中,在服務(wù)器群106內(nèi)地理分散的服務(wù)器106A-106N可以使用WAN、MAN 或LAN通信,其中,不同的地理區(qū)域可以表征為:不同的洲;一個洲的不同區(qū)域;不同的國 家;不同的州;不同的城市;不同的校園;不同的房間;或者前述地理位置的任何組合。在一 些實施例中,服務(wù)器群106可以作為單個實體進(jìn)行管理,而在其它實施例中,服務(wù)器群106 可以包括多個服務(wù)器群106。
[0057] 在一些實施例中,服務(wù)器群106可以包括這樣的服務(wù)器106,該服務(wù)器106執(zhí)行大 體相似類型的操作系統(tǒng)平臺(例如,UNIX、LINUX SNOW LEOPARD、或者由華盛頓州,Redmond 的微軟公司制造的WINDOWS NT)。在其它實施例中,服務(wù)器群106可以包括執(zhí)行第一類型的 操作系統(tǒng)平臺的第一組服務(wù)器106,和執(zhí)行第二類型的操作系統(tǒng)平臺的第二組服務(wù)器106。 在其它實施例中,服務(wù)器群106可以包括執(zhí)行不同類型的操作系統(tǒng)平臺的服務(wù)器106。
[0058] 在一些實施例中,服務(wù)器106可以是任何服務(wù)器類型。在其它實施例中,服務(wù)器 106可以是以下服務(wù)器類型的任一種:文件服務(wù)器;應(yīng)用服務(wù)器;web服務(wù)器;代理服務(wù)器; 裝置;網(wǎng)絡(luò)裝置;網(wǎng)關(guān);應(yīng)用網(wǎng)關(guān);網(wǎng)關(guān)服務(wù)器;虛擬化服務(wù)器;部署服務(wù)器;SSL VPN服務(wù) 器;防火墻;web服務(wù)器;應(yīng)用服務(wù)器或作為主應(yīng)用服務(wù)器;執(zhí)行活躍目錄的服務(wù)器106 ;或 者執(zhí)行提供防火墻功能、應(yīng)用功能或者負(fù)載平衡功能的應(yīng)用加速程序的服務(wù)器106。在一 些實施例中,服務(wù)器106可以是包括遠(yuǎn)程認(rèn)證撥號用戶服務(wù)的RADIUS服務(wù)器。在服務(wù)器 106包括裝置的實施例中,服務(wù)器106可以為由以下制造商的任一個制造的裝置:Citrix Application Networking Group ;Silver Peak Systems 有限公司;Riverbed Technology 有限公司;F5Networks有限公司;或者Juniper Networks有限公司。一些實例包括這樣的 第一服務(wù)器106A,該第一服務(wù)器106A從客戶機(jī)102接收請求、向第二服務(wù)器106B轉(zhuǎn)發(fā)該請 求、以及用來自第二服務(wù)器106B的響應(yīng)而響應(yīng)于客戶機(jī)102生成的請求。第一服務(wù)器106A 可以獲得對于客戶機(jī)102可用的應(yīng)用的列舉,以及與托管在應(yīng)用的列舉中所識別的應(yīng)用的 應(yīng)用服務(wù)器106相關(guān)聯(lián)的地址信息。然后,第一服務(wù)器106A可以使用web接口給出對于客 戶的請求的響應(yīng),并且與客戶端102直接通信,以提供客戶端102到所識別的應(yīng)用的接入。
[0059] 在一些實施例中,服務(wù)器106可以執(zhí)行以下應(yīng)用的任一個:使用瘦客戶端協(xié)議來 將應(yīng)用顯示數(shù)據(jù)傳輸給用戶的瘦客戶端應(yīng)用;遠(yuǎn)程顯示呈現(xiàn)應(yīng)用;Citrix Systems有限公 司的 CITRIX ACCESS SHTE 的任何部分,像 XENAPP 或者 CITRIX PRESENTATION SERVER;微 軟公司制造的MICROSOFT WINDOWS終端服務(wù);或者由Citrix Systems有限公司開發(fā)的ICA 客戶端。另一實施例包括是應(yīng)用服務(wù)器的服務(wù)器106,該應(yīng)用服務(wù)器諸如:提供電子郵件服 務(wù)的電子郵件服務(wù)器(諸如由微軟公司制造的MICROSOFT EXCHANGE) ;web或者因特網(wǎng)服務(wù) 器;桌面共享服務(wù)器;協(xié)作服務(wù)器;或者任何其它類型的應(yīng)用服務(wù)器。另外其它實例包括執(zhí) 行以下類型的托管的服務(wù)器應(yīng)用中的任一種的服務(wù)器106:由Citrix Online Division有 限公司提供的G0T0MEETING ;由加利福尼亞州,Santa Clara的WebEx WEBEX有限公司提供 的WEBEX;或者由微軟公司提供的Microsoft Office LIVE MEETING。
[0060] 在一些實施例中,客戶機(jī)102可以是尋求接入由服務(wù)器106提供的資源的客戶端 節(jié)點(diǎn)。在其它實施例中,服務(wù)器106可以提供客戶端102或具有到托管的資源的接入的客 戶端節(jié)點(diǎn)。在一些實施例中,服務(wù)器106作為主節(jié)點(diǎn)而工作,以使得它與一個或多個客戶端 102或服務(wù)器106進(jìn)行通信。在一些實施例中,主節(jié)點(diǎn)可以識別并且提供與托管請求的應(yīng)用 的服務(wù)器106到一個或多個客戶端102或服務(wù)器106相關(guān)聯(lián)的地址信息。在另外的其它實 施例中,主節(jié)點(diǎn)可以是服務(wù)器群106、客戶端102、用戶節(jié)點(diǎn)102的簇、或者裝置。
[0061] 一個或多個客戶端102和/或一個或多個服務(wù)器106可以在計算環(huán)境101內(nèi)通過 安裝在機(jī)器和裝置之間的網(wǎng)絡(luò)104來傳輸數(shù)據(jù)。網(wǎng)絡(luò)104可以包括一個或多個子網(wǎng)絡(luò),并 且可以被安裝在包含于計算環(huán)境101內(nèi)的客戶端102、服務(wù)器106、計算機(jī)器和裝置的任何 組合之間。在一些實施例中,網(wǎng)絡(luò)104可以是:局域網(wǎng)(LAN);城域網(wǎng)(MAN);廣域網(wǎng)(WAN); 位于客戶機(jī)102和服務(wù)器106之間的包括多個子網(wǎng)絡(luò)104的主網(wǎng)絡(luò)104 ;具有私人子網(wǎng)絡(luò) 104的主公用網(wǎng)104 ;具有公共子網(wǎng)絡(luò)104的主私人網(wǎng)絡(luò)104 ;或者具有私人子網(wǎng)絡(luò)104的 主私人網(wǎng)絡(luò)104。又進(jìn)一步的實施例包括可以為以下網(wǎng)絡(luò)類型的任一種的網(wǎng)絡(luò)104 :點(diǎn)對點(diǎn) 網(wǎng)絡(luò);廣播網(wǎng)絡(luò);電信網(wǎng)絡(luò);數(shù)據(jù)通信網(wǎng)絡(luò);計算機(jī)網(wǎng)絡(luò);ATM (異步傳輸模式)網(wǎng)絡(luò);S0NET (同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò);SDH (同步數(shù)字體系)網(wǎng)絡(luò);無線網(wǎng)絡(luò);有線網(wǎng)絡(luò);或者包含無線鏈路 的網(wǎng)絡(luò)104,其中無線鏈路可以為紅外線信通或者衛(wèi)星頻帶。網(wǎng)絡(luò)104的網(wǎng)絡(luò)拓?fù)湓诓煌?實施例中可以不同,可能的網(wǎng)絡(luò)拓?fù)浒ǎ嚎偩€網(wǎng)絡(luò)拓?fù)?;星形網(wǎng)絡(luò)拓?fù)?;環(huán)形網(wǎng)絡(luò)拓?fù)浣Y(jié) 構(gòu);基于中繼器的網(wǎng)絡(luò)拓?fù)洌换蛘叻謱有菭罹W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。附加的實施例可以包括使用協(xié) 議以在移動設(shè)備之中進(jìn)行通信的移動電話網(wǎng)絡(luò)的網(wǎng)絡(luò)104,其中該協(xié)議可以是以下的任一 種:AMPS ;TDMA ;CDMA ;GSM ;GPRS UMTS ;EV-DO ;LTE ;或者能夠在移動設(shè)備之中傳輸數(shù)據(jù)的 任何其它協(xié)議,像802. 11、藍(lán)牙和近場通信。
[0062] 圖1B中描述的為計算設(shè)備100的實施例,其中圖1A中所圖示的客戶機(jī)102和服 務(wù)器106可以被部署為本文中所圖示和描述的計算設(shè)備100的任何實施例和/或在本文中 所圖示和描述的計算設(shè)備100的任何實施例上被執(zhí)行。包含在計算設(shè)備100內(nèi)的是與以下 部件一起進(jìn)行通信的系統(tǒng)總線150 :中央處理單元121 ;主存儲器122 ;存儲內(nèi)存128 ;輸入 /輸出(I/O)控制器123 ;顯示設(shè)備124A-124N;安裝設(shè)備116 ;以及網(wǎng)絡(luò)接口 118。在一個 實施例中,存儲內(nèi)存128包括:操作系統(tǒng)、軟件例程和客戶端代理120。在一些實施例中,1/ 0控制器123進(jìn)一步連接至鍵盤126和定點(diǎn)設(shè)備127。其它實施例可以包括連接至多于一 個輸入/輸出設(shè)備130A-130N的I/O控制器123。
[0063] 圖1C描述了計算設(shè)備100的一個實施例,其中在圖1A中所圖示的客戶機(jī)102和 服務(wù)器106可以被部署為本文中所圖示和所描述的計算設(shè)備100的任何實施例和/或在本 文中所圖示和所描述的計算設(shè)備1〇〇的任何實施例上被執(zhí)行。包含在計算設(shè)備1〇〇內(nèi)的是 與以下部件一起通信的系統(tǒng)總線150 :網(wǎng)橋170和第一 I/O設(shè)備130A。在另一個實施例中, 網(wǎng)橋170進(jìn)一步與主中央處理單元121通信,其中中央處理單元121可以進(jìn)一步與第二1/ 0設(shè)備130B、主存儲器122和緩存存儲器140進(jìn)行通信。包括在中央處理單元121內(nèi)的是 I/O端口、存儲端口 103和主處理器。
[0064] 計算機(jī)器100的一個實施例可以包括中央處理單元121,以下面部件配置的任一 個為特征:響應(yīng)于并且處理來自主存儲單元122的指令的邏輯電路;微處理器單元,諸如: 由英特爾公司制造的那些,由摩托羅拉公司制造的那些,由加利福尼亞州,Santa Clara的 Transmeta 公司制造的那些;RS/6000 處理器,諸如由 International Business Machines 制造的那些;處理器,諸如由Advanced Micro Devices制造的處理器;或者邏輯電路的任 何其它組合。中央處理單元122的其它實施例可以包括以下的任何組合:微處理器、微控制 器、具有單個處理核的中央處理單元、具有兩個處理核的中央處理單元、或者具有多于一個 處理核的中央處理單元。
[0065] 雖然圖1C描述了包括單個中央處理單元121的計算設(shè)備100,但是在一些實施例 中,計算設(shè)備100可以包括一個或多個處理單元121。在這些實施例中,計算設(shè)備100可以 存儲和執(zhí)行固件或其它可執(zhí)行的指令,該固件或者其它可執(zhí)行的指令在被執(zhí)行時,指導(dǎo)一 個或多個處理單元121同時執(zhí)行指令或在單片數(shù)據(jù)上同時執(zhí)行指令。在其它實施例中,計 算設(shè)備100可以存儲和執(zhí)行固件或者其它可執(zhí)行的指令,該固件或者可執(zhí)行指示在被執(zhí)行 時,指導(dǎo)一個或多個處理單元每個執(zhí)行指令組的一部分。例如,可以指示每個處理單元121 執(zhí)行程序的一部分或程序內(nèi)的特定模塊。
[0066] 在一些實施例中,處理單元121可以包括一個或多個處理核。例如,處理單元121 可以具有兩個核、四個核、八個核等。在一個實施例中,處理單元121可以包括一個或多個 并行處理核。在一些實施例中,處理單元121的處理核可以接入作為全局地址空間的可用 內(nèi)存,或者在其它實施例中,計算設(shè)備100內(nèi)的存儲器可以被分段并且被分配給處理單元 121內(nèi)的特定核。在一個實施例中,計算設(shè)備100中的一個或多個處理核或處理器可以每 個接入本地存儲器。在又一實施例中,計算設(shè)備100內(nèi)的存儲器可以在一個或者多個處理 器或者處理核之中共享,而其他存儲器可以由特定處理器或者處理器的子集接入。在計算 設(shè)備100包括多于一個處理單元的實施例中,多個處理單元可以包括在單個集成電路(IC) 中。在一些實施例中,這些多個處理器可以通過內(nèi)部高速總線鏈接在一起,該內(nèi)部告訴總線 可以被稱為單元互聯(lián)總線。
[0067] 在計算設(shè)備100包括一個或多個處理單元121,或者處理單元121包括一個或多個 處理核的實施例中,該處理器可以在多片數(shù)據(jù)上同時執(zhí)行單個指令(SMD),或者在其它實 施例中,可以在多片數(shù)據(jù)上同時執(zhí)行多個指令(SMD)。在一些實施例中,計算設(shè)備100可以 包括任何數(shù)目的SMD和MMD處理器。
[0068] 在一些實施例中,計算設(shè)備100可以包括圖像處理器或者圖像處理單元(未示出)。 圖形處理單元可以包括軟件和硬件的任何組合,并且可以進(jìn)一步輸入圖形和圖形指令,從 所輸入的數(shù)據(jù)和指令渲染圖形,并且輸出所渲染的圖形。在一些實施例中,圖形處理單元可 以被包括在處理單元121內(nèi)。在其它實施例中,計算設(shè)備100可以包括一個或多個處理單 元121,其中至少一個處理單元121專用于處理和渲染圖形。
[0069] 計算機(jī)器100的一個實例包括經(jīng)由也稱為后端總線的次級總線與緩存存儲器140 進(jìn)行通信的中央處理單元121,而計算機(jī)器100的另一個實例包括經(jīng)由系統(tǒng)總線150與緩存 存儲器進(jìn)行通信的中央處理單元121。在一些實施例中,本地系統(tǒng)總線150還可以由中央處 理單元用于與多于一種類型的I/O設(shè)備130A-130N進(jìn)行通信。在一些實施例中,本地系統(tǒng) 總線150可以是以下類型的總線的任一種:VESA VL總線;ISA總線;EISA總線;微通道架 構(gòu)(MCA)總線;PCI總線;PCI-X總線;PCI-Express總線;AGP總線;或者NuBus。計算設(shè)備 100的其它實施例包括I/O設(shè)備130A-130N,該I/O設(shè)備130A-130N是與中央處理單元121 通信的視頻顯示器124。計算機(jī)器100的另外其它版本包括經(jīng)由以下連接中的任一種連接 至I/O設(shè)備130A-130N的處理器121 :超傳輸、快速I/O或者InfiniBand。計算設(shè)備100的 進(jìn)一步實例包括使用本地互聯(lián)總線與一個I/O設(shè)備130A進(jìn)行通信以及使用直接連接與第 二I/O設(shè)備130B進(jìn)行通信的處理器121。
[0070] 在一些實施例中,計算設(shè)備100包括主存儲單元122和緩存器140。緩存器 140可以是任何存儲器類型,并且在一些實施例中可以是以下類型的存儲器中的任一種: SRAM ;BSRAM ;或者EDRAM。其它實施例包括緩存存儲器140和主存儲單元122,該主存儲 單元122可以是以下類型的存儲器的任一種:靜態(tài)隨機(jī)存取存儲器(SRAM) ;BurSt SRAM或 SynchBurst SRAM (BSRAM);動態(tài)隨機(jī)存取存儲器(DRAM);快速頁面模式DRAM (FPM DRAM); 增強(qiáng)的DRAM (EDRAM);擴(kuò)展數(shù)據(jù)輸出RAM (EDO RAM);擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM);突 發(fā)的擴(kuò)展數(shù)據(jù)輸出 DRAM (BEDO DRAM);增強(qiáng)的 DRAM (EDRAM);同步的 DRAM (SDRAM) JEDEC SRAM ;PC100SDRAM ;雙數(shù)據(jù)速率 SDRAM(DDR SDRAM);增強(qiáng)的 SDRAM(ESDRAM);SyncLink DRAM (SLDRAM);Direct Rambus DRAM (DRDRAM)、鐵電體 RAM (FRAM);基于存儲器的憶阻器;或者 其它類型的存儲器。進(jìn)一步的實施例包括經(jīng)由以下可以接入主存儲器122的中央處理單元 121 :系統(tǒng)總線150 ;存儲器端口 103 ;或者允許處理器121接入存儲器122的任何其它連接、 總線或端口。
[0071] 計算設(shè)備100的一個實施例提供對于以下安裝設(shè)備116中的任一個提供支持: ⑶-ROM驅(qū)動器、⑶-R/RW驅(qū)動器、DVD-ROM驅(qū)動器、各種格式的磁帶驅(qū)動器、USB設(shè)備、安全數(shù) 碼卡、NetBoot或iPXE固件、可引導(dǎo)介質(zhì)、可引導(dǎo)⑶、用于GNU/Linux分布的可引導(dǎo)⑶(諸 如KNOPPIX⑧)、適合于安裝應(yīng)用或者軟件的硬盤驅(qū)動或任何其它設(shè)備。在一些實施例 中,應(yīng)用可以包括客戶端代理120或者客戶端代理120的任何部分。計算設(shè)備100可以進(jìn) 一步包括可以是一個或多個硬盤驅(qū)動器或者獨(dú)立盤的一個或多個冗余陣列的存儲器設(shè)備 128 ;其中該存儲器設(shè)備被配置為以存儲操作系統(tǒng)、軟件、程序應(yīng)用或者客戶端代理120的 至少一部分。計算設(shè)備100的進(jìn)一步實施例包括用作存儲器設(shè)備128的安裝設(shè)備116。
[0072] 計算設(shè)備100可以進(jìn)一步包括網(wǎng)絡(luò)接口 118,以通過各種連接而連接到局域網(wǎng) (LAN)、廣域網(wǎng)(WAN)或英特網(wǎng),各種連接包括但不限于標(biāo)準(zhǔn)電話線、LAN或WAN鏈路(例如, 802. 11、T1、T3、56kb、X. 25、SNA、DECNET)、寬帶連接(例如,ISDN、幀中繼、ATM、千兆以太網(wǎng)、 通過SONET的以太網(wǎng))、無線連接或上述的任何或者全部的一些組合。還可以使用各種通 信協(xié)議(例如,TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET、SONET、SDH、光纖分布式數(shù)據(jù) 接口(FDDI)、RS232、RS485、IEEE802. 11、IEEE802. 11a、IEEE802. lib、IEEE802. llg、CDMA、 GSM、WiMax和直接的異步連接)來建立連接。計算設(shè)備100的一個版本包括經(jīng)由網(wǎng)關(guān)或隧 道協(xié)議的任何類型和/或形式能夠與附加的計算設(shè)備100'進(jìn)行通信的網(wǎng)絡(luò)接口 118,網(wǎng)關(guān) 或隧道協(xié)議諸如安全套接層(SSL)或者傳輸層安全性(TLS)、或者由Citrix System有限公 司制造的Citrix網(wǎng)關(guān)協(xié)議。網(wǎng)絡(luò)接口 118的版本可以包括以下的任一種:嵌入的網(wǎng)絡(luò)適配 器;網(wǎng)絡(luò)接口卡;PCMCIA網(wǎng)絡(luò)卡;插卡總線網(wǎng)絡(luò)適配器;無線網(wǎng)絡(luò)適配器;USB網(wǎng)絡(luò)適配器; 調(diào)制解調(diào)器;或者適于將計算設(shè)備100連接到能夠通信的網(wǎng)絡(luò)并且適于執(zhí)行本文中所描述 的方法和系統(tǒng)的任何其它設(shè)備。
[0073] 計算設(shè)備100的實施例包括下面I/O設(shè)備130A-130N的任一種:鍵盤126、定點(diǎn)設(shè) 備127、鼠標(biāo)、軌跡板、光電筆、軌跡球、麥克風(fēng)、繪圖板、視頻顯不器、揚(yáng)聲器、噴墨打印機(jī)、激 光打印機(jī)和染料熱升華打印機(jī)、或者能夠執(zhí)行本文中所描述的方法和系統(tǒng)的任何其它輸入 /輸出設(shè)備。在一些實施例中,I/O控制器123可以連接到多個I/O設(shè)備103A-130N,以控 制一個或多個I/O設(shè)備。I/O設(shè)備130A-130N的一些實施例可以被配置為提供存儲或安裝 介質(zhì)116,而其它實施例可以提供通用串行總線USB接口用于接收USB存儲器設(shè)備,諸如由 Twintech Industry有限公司制造的設(shè)備的USB閃存驅(qū)動器線。另外的其它實施例包括可 以是系統(tǒng)總線150和外部通信總線之間的網(wǎng)橋的I/O設(shè)備130,系統(tǒng)總線150和外部通信總 線諸如:USB總線;蘋果桌面總線;RS-232串行連接;SCSI總線;火線總線;火線800總線; 以太網(wǎng)總線;AppleTalk總線;Gigabit Ethernet總線;異步傳輸模式總線;HIPPI總線;超 級HIPPI總線;SerialPlus總線;SCI/LAMP總線;FibreChannel總線;或串行連接的小型計 算機(jī)系統(tǒng)接口總線。
[0074] 在一些實施例中,計算設(shè)備100可以連接至多個顯示設(shè)備124A-124N,在其它實例 中,計算設(shè)備100可以連接在單個顯示設(shè)備124,而在另外的其它實例中,計算設(shè)備100連接 至是相同類型或形式的顯示器的顯示設(shè)備124A-124N,或連接至是不同類型或形式的的顯 示器的顯示設(shè)備。顯示設(shè)備124A-124N的實施例可以由以下的來支持或者使能:一個或多 個I/O設(shè)備130A-130N ;1/0控制器123 ;(多個)1/0設(shè)備130A-130N和I/O控制器123的組 合;能夠支持顯示設(shè)備124A-124N的硬件和軟件的任意組合;用于連接、通信、相接或另外 地使用顯示設(shè)備124A-124N的任何類型和/或形式的視頻適配器、視頻卡、驅(qū)動器和/或程 序庫。在一些實施例中,計算設(shè)備100可以被配置為使用一個或多個顯示設(shè)備124A-124N, 這些配置包括:具有多個連接器,以連接到多個顯示設(shè)備124A-124N ;具有多個視頻適配 器,每個視頻適配器連接到一個或多個顯示設(shè)備124A-124N ;具有被配置為支持多個顯示 器124A-124N的操作系統(tǒng);使用包括在計算設(shè)備100內(nèi)的電路和軟件以連接和使用多個顯 示設(shè)備124A-124N ;以及在主計算設(shè)備100和多個次級計算設(shè)備上執(zhí)行軟件,以使得主計算 設(shè)備100能夠?qū)⒋渭売嬎阍O(shè)備的顯示器用作用于主計算設(shè)備100的顯示設(shè)備124A-124N。 計算設(shè)備100的另外其它實施例可以包括由多個次級計算設(shè)備所提供并且經(jīng)由網(wǎng)絡(luò)連接 至主計算設(shè)備1〇〇的顯示設(shè)備124A-124N。
[0075] 在一些實施例中,計算機(jī)器100可以執(zhí)行任何操作系統(tǒng),而在其它實例中,計算機(jī) 器100可以執(zhí)行任何以下操作系統(tǒng)MICROSOFT WINDOWS操作系統(tǒng)的版本,諸如WIND0WS3. X, WIND0WS95, WIND0WS98, WIND0WS2000, WINDOWS NT3. 5U WINDOWS NT4. 0, WINDOWS CE, WINDOWS XP和WINDOWS VISTA ;Unix和Linux操作系統(tǒng)的不同發(fā)行版;由蘋果電腦公司制造 的MAC 0S任何版本;由International Business Machines制造的OS/2;任何嵌入式操作 系統(tǒng);任何實時操作系統(tǒng);任何開源操作系統(tǒng);任何專屬操作系統(tǒng);用于移動計算設(shè)備的任 何操作系統(tǒng);或者任何其它操作系統(tǒng)。在另外一些實施例中,計算機(jī)器1〇〇可以執(zhí)行多個操 作系統(tǒng)。例如,計算機(jī)器100可以執(zhí)行PARALLELS或者能夠執(zhí)行或管理執(zhí)行第一操作系統(tǒng) 的虛擬機(jī)的另一虛擬化平臺,而計算機(jī)器100執(zhí)行與第一操作系統(tǒng)不同的第二操作系統(tǒng)。
[0076] 計算機(jī)器100可以體現(xiàn)在以下計算設(shè)備的任一個中:計算工作站;臺式電腦;膝上 型電腦或筆記本電腦;服務(wù)器;手提電腦;移動電話;便攜電訊設(shè)備;媒體播放設(shè)備;游戲 系統(tǒng);手機(jī)計算設(shè)備;上網(wǎng)本;由蘋果電腦公司制造的IP0D家族設(shè)備的設(shè)備;由Sony公司 制造的PLAYSTATION家族設(shè)備的任一個;由任天堂公司制造的任天堂家族設(shè)備的任一個; 由微軟公司制造的ΧΒ0Χ家族設(shè)備的任一個;能夠通信并且具有足夠的處理器功率和存儲 器能力以執(zhí)行本文中所描述的方法和系統(tǒng)的任何其他類型和/或形式的計算機(jī)、通信或媒 體設(shè)備。在其它實施例中,計算設(shè)備100可以是移動設(shè)備,諸如以下移動設(shè)備中的任一個: 支持JAVA的蜂窩電話或者個人數(shù)字助理(PDA),諸如全部由摩托羅拉公司制造的i55sr、 i58sr、i85s、i88s、i90c、i95cl 或 imllOO ;由 Kyocera 公司制造的 6035 或 7135 ;由三星電 子有限公司制造的i300或i330 ;由Palm股份有限公司制造的TRE0180、270、600、650、680、 700p、700w或750智能手機(jī);具有不同的處理器、操作系統(tǒng)和與該設(shè)備一致的輸入設(shè)備的任 何計算設(shè)備;或者能夠執(zhí)行本文中所描述的方法和系統(tǒng)的任何其它移動計算設(shè)備。在另外 一些實施例中,計算設(shè)備100可以是以下面移動計算設(shè)備的任一種:Blackberry的任何一 個系列;或者由Research In Motion Limited制造的其它手提設(shè)備;由蘋果電腦公司制造 的 iPhone ;Palm Pre ;Pocket PC ;Pocket PC Phone 或任何其它手提移動設(shè)備。
[0077] 在一些實施例中,計算設(shè)備100可以具有與該設(shè)備一致的不同處理器、操作系統(tǒng) 和輸入設(shè)備。例如,在一個實施例中,計算設(shè)備100是由Palm有限公司制造的TRE0180、 270、600、650、680、700?、700?或750智能手機(jī)。在一些這樣的實施例中,了1?0智能手機(jī)在 PalmOS操作系統(tǒng)的控制下進(jìn)行操作,并且包括手寫輸入設(shè)備及五向?qū)Ш皆O(shè)備。
[0078] 在其它實施例中,計算設(shè)備100是移動設(shè)備,諸如支持JAVA的移動電話或個人數(shù) 字助理(PDA),諸如全部由伊利諾斯州,Schaumburg的摩托羅拉公司制造的i55sr、i58sr、 i85s、i88s、i90c、i95cl或imllOO ;由日本京都的Kyocera制造的6035或7135 ;或者由韓 國首爾三星電子有限公司制造的i300或i330。在一些實施例中,計算設(shè)備100是由芬蘭的 諾基亞或瑞典德隆的索尼愛立信移動通信AB制造的移動設(shè)備。
[0079] 在另外的其他實施例中,計算設(shè)備100為黑莓手持或智能手機(jī),例如由Research In Motion Limited 制造的設(shè)備,包括 Blackberry7100 系列、8700 系列、7700 系列、7200 系 列、Blackberry7520、或者Blackberry Pearl8100。在又是其他實施例中,計算設(shè)備100是 支持 Microsoft Windows Mobile 軟件的智能手機(jī)、Pocket PC、Pocket PC Phone 或其它手 持移動設(shè)備。此外,計算設(shè)備100可以是任何工作站、臺式電腦、便攜式電腦或筆記本電腦、 服務(wù)器、手持計算機(jī)、移動電話、任何其它計算機(jī)、或能夠通信并且具有足夠的處理器功率 和存儲器能力以執(zhí)行本文中所描述的操作的其它形式的計算或電訊設(shè)備。
[0080] 在一些實施例中,計算設(shè)備100是數(shù)字音頻播放器。在這些實施例的一個中,計 算設(shè)備100是數(shù)字音頻播放器,例如由加利福尼亞州,Cupertino的蘋果電腦公司制造的 Apple IPOD、IPOD Touch、IP0D ΝΑΝΟ和IPOD SHUFFLE系列的設(shè)備。在這些實施例的另一 個中,數(shù)字音頻播放器可以作為便攜媒體播放器以及作為大容量存儲設(shè)備而工作。在其它 實施例中,計算設(shè)備100是數(shù)字音頻播放器,諸如由美國新澤西州,Ridgefield Park的三星 電子制造的DigitalAudioPlayer Select MP3播放器、或者由伊利諾州,Schaumburg的摩 托羅拉有限公司制造的Motorola m500或m25數(shù)字音頻播放器。在另一些其它實施例中, 計算設(shè)備100是便攜媒體播放器,諸如Zen Vision W、Zen Vision系列、Zen便攜式媒體中 心設(shè)備、或者由Creative Technologies有限公司制造的MP3播放器的數(shù)字MP3線。在另 外的其它實施例中,計算設(shè)備100是便攜媒體播放器或數(shù)字音頻播放器,支持包括但不適 于以下的文件格式: 損音頻文件格式和.mov、. m4v和.mp4MPEG-4 (H. 264/MPEG-4AVC)視頻文件格式。
[0081] 在一些實施例中,計算設(shè)備100包括設(shè)備的組合,諸如與數(shù)字音頻播放器或便攜 媒體播放器組合的移動手機(jī)。在這些實施例的一個中,計算設(shè)備100是摩托羅拉RAZR或者 組合數(shù)字音頻播放器和移動電話的摩托羅拉R0KR系列。在這些實施例的另一個中,計算設(shè) 備100為由加利福尼亞州,Cupertino的蘋果電腦公司制造的iPhone智能手機(jī)。
[0082] 圖1A?1C在性質(zhì)上是說明性的,并且一個或多個硬件和/或軟件銷售商、設(shè)備、 服務(wù)的具體標(biāo)識和其它實施例是非限制性的。隨著開發(fā)出每個相應(yīng)服務(wù)或設(shè)備的更新版 本,還可以使用為或替代地使用這樣的新版本,以及在本文中未列出的其它新的服務(wù)和設(shè) 備。
[0083] 章節(jié)B :為在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用提供殼集成的系統(tǒng)
[0084] 參照圖2,示出了圖示用于提供用于在服務(wù)器上遠(yuǎn)程執(zhí)行的應(yīng)用的殼集成的說明 性系統(tǒng)200的框圖。在簡要的概觀中,系統(tǒng)200包括服務(wù)器106。在服務(wù)器106上執(zhí)行的 服務(wù)器代理210與在服務(wù)器106上執(zhí)行的托管應(yīng)用220通信。在一些實施例中,托管應(yīng)用 220在新創(chuàng)建的用戶會話內(nèi)執(zhí)行。在一些實施例中,托管應(yīng)用220在已有的用戶會話內(nèi)執(zhí) 行。服務(wù)器代理210通過網(wǎng)絡(luò)104與客戶端代理230進(jìn)行通信。在一些實施例中,服務(wù)器 代理210通過遠(yuǎn)程表示層協(xié)議(諸如在本文中所描述的那些)與客戶端代理230的通信???戶端代理230在客戶端計算設(shè)備102上執(zhí)行,并且可以與客戶端設(shè)備102的操作系統(tǒng)的殼 240進(jìn)行通信。殼240可以與本地過程250進(jìn)行通信。
[0085] 在一些實施例中,在服務(wù)器上執(zhí)行的過程生成輸出數(shù)據(jù)和窗口屬性數(shù)據(jù)。輸出數(shù) 據(jù)和窗口屬性數(shù)據(jù)由服務(wù)器代理210傳輸?shù)娇蛻舳舜?30。在一些實施例中,該過程還 可以被稱為遠(yuǎn)程應(yīng)用220或托管應(yīng)用220。在其它實施例中,在客戶端計算設(shè)備102上執(zhí) 行的本地過程從客戶端代理230接收輸出或圖形數(shù)據(jù)和窗口屬性數(shù)據(jù),并且指導(dǎo)所接收的 圖示或窗口屬性數(shù)據(jù)在桌面環(huán)境中顯示。在一些實施例中,在客戶端設(shè)備102上執(zhí)行的殼 240在桌面環(huán)境中提供用戶界面元件的顯示。這個殼可以不同地被稱為尋檢器(finder)、圖 形用戶界面(GUI)、窗口或X窗口界面、或者任何其它類似的術(shù)語。在一些實施例中,殼240 根據(jù)與應(yīng)用220關(guān)聯(lián)的屬性數(shù)據(jù),顯示與遠(yuǎn)程應(yīng)用220相關(guān)聯(lián)的圖形數(shù)據(jù)。
[0086] 仍參照圖2,并且更詳細(xì)地,客戶端代理230在本地計算設(shè)備102上執(zhí)行。雖然被 稱為客戶端代理,但是在一些實施例中,客戶端代理230可以被稱為接收器、本地客戶端、 本地客戶端過程、本地客戶端代理或任何其它相似的術(shù)語。在一個實施例中,本地計算設(shè) 備是如結(jié)合圖1A-1C所描述的計算設(shè)備。在另一個實施例中,本地計算設(shè)備是客戶端設(shè)備 102,連接到服務(wù)器106以接入對于本地計算設(shè)備102的用戶可用的一個或多個資源。在另 一些其它實施例中,客戶端代理230是表示層協(xié)議代理的一部分。在另一個實施例中,客戶 端代理230使用表示層協(xié)議代理進(jìn)行通信。在各種實施例中,客戶端代理可以包括軟件、硬 件或硬件與軟件的任何組合。
[0087] 服務(wù)器代理210在遠(yuǎn)程計算設(shè)備106上執(zhí)行。正如客戶端代理230,在一些實施例 中,服務(wù)器代理可以被稱為遠(yuǎn)程代理、遠(yuǎn)程客戶端、遠(yuǎn)程過程、服務(wù)器過程或任何其它相似 的術(shù)語。在一個實施例中,遠(yuǎn)程計算設(shè)備是如結(jié)合圖1A-1C所描述的計算設(shè)備。在另一個 實施例中,服務(wù)器代理210是表示層協(xié)議代理的一部分。在又一實施例中,服務(wù)器代理210 使用表示層協(xié)議代理進(jìn)行通信。在各種實施例中,服務(wù)器代理可以包括軟件、硬件或硬件與 軟件的任何組合。
[0088] 在一些實施例中,客戶端代理230包括接收器(例如,虛擬機(jī)接收器),該接收器用 于從服務(wù)器代理210接收在遠(yuǎn)程機(jī)器106上生成的、與桌面環(huán)境關(guān)聯(lián)的數(shù)據(jù)。在這些實施 例的一個中,例如,客戶端代理230包括接收器-以示例的方式,其可以被提供為動態(tài)鏈接 庫(.dll)部件-該接收器從服務(wù)器代理210接收窗口創(chuàng)建和窗口過程數(shù)據(jù),用于在顯示 遠(yuǎn)程機(jī)器106上生成的窗口的本地版本中使用。在一些實施例中,客戶端代理230可以通 過一個或多個連接接收數(shù)據(jù),例如輸入數(shù)據(jù)和窗口屬性數(shù)據(jù)。在一個實施例中,一個或多 個連接可以被多路復(fù)用到一個或多個虛擬信道中。這樣的多路復(fù)用可以允許不同的虛擬信 道具有不同的帶寬限制或不同的優(yōu)先級,同時仍為單個傳輸層連接的一部分。這可以減小 需要的傳輸層開銷,并且提供SSL或VPN隧道容量,同時仍允許服務(wù)器代理210和客戶端代 理230之間通信優(yōu)先級的每通道壓縮、緩沖和管理。在一些實施例中,這樣的虛擬信道可以 專用于特定內(nèi)容類型或目的。例如,第一高優(yōu)先級的虛擬信道可以專用于輸出數(shù)據(jù)的傳輸, 而第二低優(yōu)先級的虛擬信道可以專用于任務(wù)欄縮略圖的傳輸,在下面有更詳細(xì)地討論。在 一些實施例中,可以打開或關(guān)閉虛擬信道,而不需要廢除或重建它們通過其進(jìn)行通信的傳 輸層連接。
[0089] 在一個實施例中,殼240是向計算設(shè)備的用戶提供用戶界面的軟件。在一個實施 例中,可以用第三方的殼補(bǔ)充和取代殼240。在MICROSOFT WINDOWS中,默認(rèn)的殼是確定桌 面的配置(例如,工具欄、通知區(qū)域、開始菜單等)的EXPLORER。如上面所討論的,雖然被稱 為殼,該殼還可以被稱為⑶I、尋檢器(finder)、探測器(explorer)、窗口界面或任何其它相 似的術(shù)語。
[0090] 在一些實施例中,客戶端代理230包括與殼240通信以修改桌面的顯示的功能。 在這些實施方式的一個中,客戶端代理230包括發(fā)送指令到操作系統(tǒng)中的元件的發(fā)射器, 該操作系統(tǒng)中的元件生成和維持在桌面環(huán)境中的數(shù)據(jù)顯示。在這些實施例的另一個中,客 戶端代理230包括為客戶端代理230提供用于存儲窗口屬性數(shù)據(jù)或者傳輸顯示指令給所述 操作系統(tǒng)的功能的部件;例如,客戶端代理230可以包括用于維護(hù)或修改任務(wù)欄數(shù)據(jù)的動 態(tài)鏈接庫部件。在一些實施例中,發(fā)射器與客戶端代理230中的接收器進(jìn)行通信,該客戶端 代理230中的接收器從服務(wù)器代理210接收窗口屬性數(shù)據(jù)和輸出數(shù)據(jù)。在這些實施方式的 一個中,客戶端代理230內(nèi)的接收器從服務(wù)器代理210接收數(shù)據(jù),并且將所接收的數(shù)據(jù)轉(zhuǎn)發(fā) 到發(fā)射器,該發(fā)射器基于所轉(zhuǎn)發(fā)的數(shù)據(jù)向操作系統(tǒng)發(fā)送指令。在其它實施例中,客戶端代理 230包括用于存儲從服務(wù)器代理210接收的數(shù)據(jù)的元件,例如,以示例的方式,窗口屬性數(shù) 據(jù)。
[0091] 在一些實施例中,客戶端代理230從具有目的地列表的用戶的交互到服務(wù)器代理 210傳輸數(shù)據(jù)。在一些實施例中,用戶在目的地列表中的殼項目(Shell Item)或者殼鏈接 (Shell Link)上點(diǎn)擊??蛻舳舜?30接收具有列表的用戶交互,并且將該數(shù)據(jù)傳輸?shù)椒?務(wù)器代理210。服務(wù)器代理210與托管應(yīng)用220進(jìn)行通信。托管應(yīng)用220接收信息,并且 處理信息。在一些實施例中,托管應(yīng)用220響應(yīng)于用戶的交互,可以打開由用戶所請求的文 檔。在一些實施例中,托管應(yīng)用220可以響應(yīng)于用戶交互而啟動第二應(yīng)用。
[0092] 參照圖3,示出了跳轉(zhuǎn)列表或者目的地列表的一個實施例的屏幕截圖。目的地列表 提供到普通應(yīng)用任務(wù)或內(nèi)容的快速且容易的接入。目的地列表提供手段或機(jī)制以啟動應(yīng)用 的新實例,以將應(yīng)用鎖定或者解鎖到任務(wù)欄,并且關(guān)閉應(yīng)用。用戶可以例如通過正確地點(diǎn)擊 任務(wù)欄中應(yīng)用的圖標(biāo),可以接入跳轉(zhuǎn)列表。圖3圖示了自定義的跳轉(zhuǎn)列表。默認(rèn)地,跳轉(zhuǎn)列 表包含最近的類別,該最近的類別通過SHAddToRecentDocs功能、針對基于文件的應(yīng)用的 自動地被填充。這一功能將使用的"項目"(文檔)添加到最近使用的文檔的殼的240列表。 除了更新它的最近文件的列表,殼240將快捷鍵添加到用戶的最近的文件夾。操作系統(tǒng)任 務(wù)欄使用該列表和最近的文件夾來填充跳轉(zhuǎn)列表中的最近項目的列表。如果應(yīng)用的文件類 型具有注冊的處理機(jī)(這不必是默認(rèn)的處理機(jī)),殼240代表該應(yīng)用自動地做該工作。任何 時候用戶雙擊具有注冊的處理機(jī)的文件類型,在0S啟動該應(yīng)用之前,它可以代表該應(yīng)用自 動地調(diào)用SHAddToRecentDocs,這在最近的列表中插入項目,并且最終地插入到跳轉(zhuǎn)列表最 近類別中。在使用0S通用文件對話框通過應(yīng)用打開文件時,可以出現(xiàn)相同的自動行為。0S 可以自動地將項目插入到跳轉(zhuǎn)列表中,除非該應(yīng)用明確地去除了這個功能。用戶還可以具 有從它們的(多個)跳轉(zhuǎn)列表中去除任何項目的選項。通過從跳轉(zhuǎn)列表明確地去除項目,它 被插入到去除后的項目列表中。
[0093] 參照圖4-6,圖中圖示的是現(xiàn)有技術(shù)的屏幕截圖,其證明了沒有利用殼集成的遠(yuǎn)程 應(yīng)用的行為的問題?,F(xiàn)在參照圖4,示出了針對遠(yuǎn)程執(zhí)行的應(yīng)用220的默認(rèn)目的地列表401 的屏幕截圖。對于遠(yuǎn)程執(zhí)行的應(yīng)用220,為默認(rèn)的跳轉(zhuǎn)列表中示出的表示層協(xié)議引擎和表示 層協(xié)議圖標(biāo)的名稱和"HDX插件"(或依賴于客戶端版本的"客戶端引擎")名稱的每個實例 創(chuàng)建該默認(rèn)的跳轉(zhuǎn)列表。應(yīng)用220可以被鎖定,并且當(dāng)然,稍后啟動的嘗試導(dǎo)致錯誤,因為 表示層協(xié)議引擎并未被提供有輸入?yún)?shù)。圖5圖示了在不需要場景而啟動鎖定的表示層協(xié) 議引擎的時候所顯示的錯誤對話框501。圖6圖示了僅用"關(guān)閉窗口"選項遠(yuǎn)程地執(zhí)行應(yīng)用 220的非常受限的目的地列表的屏幕截圖601。圖7圖示了鎖定的媒體播放器的屏幕截圖。
[0094] 圖8描述了用于自動和自定義的目的地的存儲的屏幕截圖。例如,目的地,諸如鎖 定的類別和已知的類別,可以存儲在automaticDestinations-ms文件中,而諸如任務(wù),自 定義的類別和用戶任務(wù),可以存儲在customDestinations-ms文件中。目的地列表文件被 轉(zhuǎn)化(versioned)并且由多個矩陣(殼項目和殼鏈接)的一個矩陣(類別)組成。在一些實施 例中,除非另外表明,全部的數(shù)值為十進(jìn)制格式。
[0095] 以下表1說明了可以用于封裝整個自定義目的地列表文件的最外層的結(jié)構(gòu)的格 式。
[0096]
【權(quán)利要求】
1. 一種方法,包括: 在本地計算設(shè)備處,從遠(yuǎn)程計算設(shè)備接收目的地列表,所述目的地列表對應(yīng)于在所述 遠(yuǎn)程計算設(shè)備上執(zhí)行的應(yīng)用; 在所述本地計算設(shè)備處,基于在遠(yuǎn)程計算設(shè)備上執(zhí)行的所述對應(yīng)的應(yīng)用,實例化存根 可執(zhí)行程序;以及 將所述目的地列表與所述存根可執(zhí)行程序相關(guān)聯(lián)。
2. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 輸出包括所述目的地列表的用戶界面用于顯示; 在客戶端設(shè)備處截取在所述目的地列表上選擇項目的用戶輸入,所述項目對應(yīng)于從所 述遠(yuǎn)程計算設(shè)備所接收的目的地列表中的項目;以及 將所截取的輸入發(fā)送給所述遠(yuǎn)程計算設(shè)備,用于遞送給所述應(yīng)用。
3. 根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括: 生成對應(yīng)于所接收的目的地列表的本地目的地列表,其中所述本地目的地列表包括不 在所接收的目的地列表中的至少一個用戶可選擇項目;以及 輸出基于所接收的目的地列表和所述本地目的地列表的組合目的地列表用于顯示。
4. 根據(jù)權(quán)利要求3所述的方法,其中輸出所述組合目的地列表用于顯示包括:在與所 接收的目的地列表相關(guān)聯(lián)的、又不在所述本地目的地列表上的全部列表元素上顯示預(yù)先確 定的標(biāo)記。
5. 根據(jù)權(quán)利要求1所述的方法,其中所述相關(guān)聯(lián)基于應(yīng)用標(biāo)識符。
6. 根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括:在所述本地計算設(shè)備處,將與所述應(yīng)用相 同的應(yīng)用標(biāo)識符指派給所述存根可執(zhí)行程序。
7. 根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括: 從所述遠(yuǎn)程計算設(shè)備接收已更新的目的地列表;以及 基于所接收的已更新的目的地列表,來更新所述輸出的目的地列表。
8. 存儲計算機(jī)可執(zhí)行指令的一個或多個計算機(jī)可讀介質(zhì),所述計算機(jī)可執(zhí)行指令在被 執(zhí)行時,促使本地計算設(shè)備執(zhí)行: 在所述本地計算設(shè)備處,從遠(yuǎn)程計算設(shè)備接收目的地列表,所述目的地列表對應(yīng)于在 所述遠(yuǎn)程計算設(shè)備上執(zhí)行的應(yīng)用; 在所述本地計算設(shè)備處,基于在遠(yuǎn)程計算設(shè)備上執(zhí)行的所述對應(yīng)的應(yīng)用,實例化存根 可執(zhí)行程序;以及 將所述目的地列表與所述存根可執(zhí)行程序相關(guān)聯(lián)。
9. 根據(jù)權(quán)利要求8所述的計算機(jī)可讀介質(zhì),所述介質(zhì)進(jìn)一步包括用于以下操作的指 令: 輸出包括所述目的地列表的用戶界面用于顯示; 在客戶端設(shè)備處截取在所述目的地列表上選擇項目的用戶輸入,所述項目對應(yīng)于從所 述遠(yuǎn)程計算設(shè)備所接收的目的地列表中的項目;以及 將所截取的輸入發(fā)送給所述遠(yuǎn)程計算設(shè)備,用于遞送給所述應(yīng)用。
10. 根據(jù)權(quán)利要求9所述的計算機(jī)可讀介質(zhì),所述介質(zhì)進(jìn)一步包括用于以下操作的指 令: 生成對應(yīng)于所接收的目的地列表的本地目的地列表,其中所述本地的目的地列表包括 不在所接收的目的地列表中的至少一個用戶可選擇項目;以及 輸出基于所接收的目的地列表和所述本地目的地列表的組合目的地列表用于顯示。
11. 根據(jù)權(quán)利要求8所述的計算機(jī)可讀介質(zhì),其中所述相關(guān)聯(lián)基于應(yīng)用標(biāo)識符。
12. 根據(jù)權(quán)利要求11所述的計算機(jī)可讀介質(zhì),所述介質(zhì)進(jìn)一步包括:用于在所述本地 計算設(shè)備處將與所述應(yīng)用相同的應(yīng)用標(biāo)識符分配給所述存根可執(zhí)行程序的指令。
13. 根據(jù)權(quán)利要求8所述的計算機(jī)可讀介質(zhì),其中所述應(yīng)用是web瀏覽器,并且其中所 接收的目的地列表對應(yīng)于由所述web瀏覽器所接收的網(wǎng)站。
14. 存儲計算機(jī)可執(zhí)行指令的一個或多個計算機(jī)可讀介質(zhì),所述計算機(jī)可執(zhí)行指令在 被執(zhí)行時,促使本地計算設(shè)備配置并且輸出包括任務(wù)欄圖標(biāo)的圖形用戶界面用于顯示,所 述任務(wù)欄圖標(biāo)對應(yīng)于在所述本地計算設(shè)備上執(zhí)行的第一應(yīng)用和在遠(yuǎn)程計算設(shè)備上執(zhí)行的 第二應(yīng)用兩者,其中所述圖形用戶界面被配置為一旦接收到與所述任務(wù)欄圖標(biāo)相關(guān)聯(lián)的第 一用戶輸入就顯示目的地列表,所述目的地列表包括對應(yīng)于所述本地計算設(shè)備上的目的地 的至少一個列表項目和對應(yīng)于所述遠(yuǎn)程計算設(shè)備上的目的地的至少一個目的地列表項目。
15. 根據(jù)權(quán)利要求14所述的計算機(jī)可讀介質(zhì),其中所述目的地列表包括第一離散部分 和第二離散部分,所述第一離散部分包括對應(yīng)于所述本地計算設(shè)備的全部列表項目,所述 第二離散部分包括對應(yīng)于所述遠(yuǎn)程計算設(shè)備的全部列表項目,其中所述第一離散部分顯示 對應(yīng)于存儲在所述本地計算設(shè)備上的文檔的至少一個列表項目,并且所述第二離散部分顯 示對應(yīng)于存儲在所述遠(yuǎn)程計算設(shè)備上的文檔的至少一個目的地列表項目。
16. 根據(jù)權(quán)利要求14所述的計算機(jī)可讀介質(zhì),其中所述圖形用戶界面進(jìn)一步被配置為 與對應(yīng)于所述遠(yuǎn)程計算設(shè)備的每個目的地列表項目一起顯示疊加圖標(biāo)。
17. 根據(jù)權(quán)利要求14所述的計算機(jī)可讀介質(zhì),其中所述圖形用戶界面進(jìn)一步被配置為 與所述任務(wù)欄圖標(biāo)一起顯示疊加圖標(biāo)。
18. 根據(jù)權(quán)利要求14所述的計算機(jī)可讀介質(zhì),其中所述圖形用戶界面進(jìn)一步被配置為 顯示具有對應(yīng)于所述遠(yuǎn)程計算設(shè)備的進(jìn)度指示的第二任務(wù)欄圖標(biāo)。
19. 根據(jù)權(quán)利要求18所述的計算機(jī)可讀介質(zhì),其中所述進(jìn)度指示包括,在所述進(jìn)度不 處于第一狀態(tài)時的第一顏色,以及在所述進(jìn)度處于第二狀態(tài)時的第二顏色。
20. 根據(jù)權(quán)利要求14所述的計算機(jī)可讀介質(zhì),其中對應(yīng)于所述遠(yuǎn)程計算設(shè)備上的目的 地的至少一個目的地列表項目,包括縮略圖工具欄項目。
【文檔編號】G06F9/54GK104303151SQ201280024292
【公開日】2015年1月21日 申請日期:2012年5月18日 優(yōu)先權(quán)日:2011年5月20日
【發(fā)明者】G·莫姆奇洛維, A·米爾 申請人:西里克斯系統(tǒng)公司