亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖形數(shù)據(jù)流的復(fù)用和去復(fù)用的制作方法

文檔序號:7626534閱讀:160來源:國知局
專利名稱:圖形數(shù)據(jù)流的復(fù)用和去復(fù)用的制作方法
相關(guān)申請的交叉引用本申請請求遞交于2004年11月18日的美國臨時專利申請序列號60/629,036的權(quán)利,該申請授予本發(fā)明的受讓人,其整體結(jié)合在此作為參考。
(1)技術(shù)領(lǐng)域服務(wù)器計算機可容納由客戶機(通常為遠程計算機)訪問的引用程序。此類技術(shù)的示例包括終端服務(wù)平臺,諸如由微軟公司(Microsoft Corporation)提供的Windows服務(wù)器操作系統(tǒng),其中應(yīng)用程序運行在中央服務(wù)器,而相應(yīng)于這些程序的用戶界面呈現(xiàn)在客戶機上。
諸如此類的實施例中的應(yīng)用程序的用戶界面可包括復(fù)雜圖形。然而,從服務(wù)器至客戶機的大量圖形內(nèi)容的遠程傳輸可消耗大量帶寬。減少帶寬消耗的一個方法是通過在傳輸介質(zhì)上發(fā)送圖形的高級描述而不是發(fā)送所呈現(xiàn)的實例。例如,可發(fā)送矢量繪圖基元來替代位圖。然而,即便使用發(fā)送矢量繪圖基元的機制,通常仍然需要大量的帶寬來傳輸用于復(fù)雜圖形的矢量繪圖基元。
(2)發(fā)明內(nèi)容簡要地,本發(fā)明的各個方面針對圖形數(shù)據(jù)流的復(fù)用和去復(fù)用,包括通過依據(jù)到客戶機計算機的連接從第一應(yīng)用程序生成第一高級圖形指令。表示該第一應(yīng)用程序的第一標識符與所述第一高級圖形指令相關(guān)聯(lián)。第二高級圖形指令由第二應(yīng)用程序生成,表示第二應(yīng)用程序的第二標識符與該第二高級圖形指令相關(guān)聯(lián)。所述第一高級圖形指令以及所述第二高級圖形指令被發(fā)送至客戶機計算機。
一種服務(wù)器計算機允許客戶機計算機訪問一個或多個應(yīng)用程序。該服務(wù)器包括從所述應(yīng)用程序的一個中提取高級圖形命令的合成器,以及將這些高級圖形命令包裝給客戶機計算機使用以生成圖形的遠程顯示驅(qū)動程序。
從下文詳細描述并結(jié)合附圖,其它優(yōu)點將是顯而易見的。
(4)


本發(fā)明通過示例示出且不限于附圖,附圖中相同的標號指出類似的元件。其中圖1示出可結(jié)合本發(fā)明多個方面的通用功能計算環(huán)境的說明性示例。
圖2是一種服務(wù)器計算機以及能夠連接到該服務(wù)器計算機的各種示例性客戶機計算機的框圖。
圖3是各自包括圖形組件的服務(wù)器計算機以及客戶機計算機的框圖。
圖4是用于處理高級圖形命令以在服務(wù)器計算機和客戶機計算機上生成圖形的服務(wù)器以及客戶機計算環(huán)境的框圖。
圖5是成分跨邊界復(fù)用和去復(fù)用示意圖。
圖6是為了跨邊界傳輸而使用標識符修飾數(shù)據(jù)包的復(fù)用機制示意圖。
圖7是使用數(shù)據(jù)包標識符將跨邊界傳輸?shù)臄?shù)據(jù)包去復(fù)用的機制的示意圖,示出了圖6中的在客戶機端分離后并且準備被呈現(xiàn)的數(shù)據(jù)流。
圖8是通常表示用于遠程傳輸?shù)臄?shù)據(jù)包如何被標識符修飾的數(shù)據(jù)流程圖。
圖9是通常示出使用帶有標識符的傳輸?shù)氖疽鈭D。
圖10是邏輯信道使用以及資源尋址的示意圖。
(5)具體實施方式
示例性操作環(huán)境圖1示出可實現(xiàn)本發(fā)明的示例性計算系統(tǒng)環(huán)境100的一個示例。計算系統(tǒng)環(huán)境100僅僅是合適的計算環(huán)境的一個示例且不旨在對本發(fā)明使用范圍或功能提出任何限制。計算環(huán)境100也不能被解釋是對示例性操作環(huán)境100中示出的任一組件或組合的有任何依賴或要求。
本發(fā)明可操作于多種其他通用功能或特定功能計算系統(tǒng)環(huán)境或配置。適合使用本發(fā)明的共知計算系統(tǒng)、環(huán)境、和/或配置的示例包括,但不限于,個人計算機、服務(wù)器計算機、手持或膝上設(shè)備、寫字板設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費品電器、網(wǎng)絡(luò)PC、小型機、大型機、包括任何上述系統(tǒng)或設(shè)備的分布式計算環(huán)境、以及諸如此類設(shè)備。
本發(fā)明可被描述在計算機可執(zhí)行指令(諸如由一個計算機或其他設(shè)備執(zhí)行的程序模塊)的通常環(huán)境中。通常有,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、以及諸如此類。本發(fā)明還可被實現(xiàn)于分布式計算環(huán)境,其中的任務(wù)被由通信網(wǎng)絡(luò)連接在一起的遠程處理設(shè)備所執(zhí)行。在一個分布式計算環(huán)境中,程序模塊可位于本地和遠程計算機存儲介質(zhì),包括內(nèi)存存儲器設(shè)備。
參照圖1,一個用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括一個如計算機110形式的通用功能計算設(shè)備。計算機110的組件可包括,但不限于,處理單元120、系統(tǒng)存儲器130、以及將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件連接到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可為多種類型的總線結(jié)構(gòu)的任何一種,包括存儲器總線或存儲器控制器、外圍設(shè)備總線、以及使用任何的多種總線體系結(jié)構(gòu)中任何一種的局部總線。作為示例,而非限制,這些體系結(jié)構(gòu)包括工業(yè)標準體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協(xié)會(VESA)局部總線、以及外圍設(shè)備組件互連(PCI)總線(也被稱為Mezzanine總線)。
計算機系統(tǒng)110通常包括多種計算機可讀介質(zhì)。計算機可讀介質(zhì)可為計算機110可訪問的任何可用介質(zhì),并包括易失和非易失介質(zhì)、可移動和不可移動介質(zhì)。通過示例,而非限制,計算機可讀介質(zhì)可包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括通過任何方法或技術(shù)實現(xiàn)的,用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的,易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃速存儲器或其他存儲器技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其他光學(xué)盤存儲器、磁帶盒、磁帶、磁盤存儲器或其他磁存儲器設(shè)備、或任何其他可被用來存儲所需信息并能夠由計算機110訪問的介質(zhì)。通信介質(zhì)通常以一個已調(diào)制的數(shù)據(jù)信號,諸如載波或其他傳輸機制的形式來體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他的數(shù)據(jù),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制的數(shù)據(jù)信號”表示為了在信號內(nèi)編碼信息而設(shè)置或改變其一個或多個特征的信號。通過示例,而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直線連接、以及無線介質(zhì)諸如聲學(xué)的、FR、紅外以及其他無線介質(zhì)。任何上述的組合也被包括在計算機可讀介質(zhì)的范圍內(nèi)。
系統(tǒng)存儲器130包括易失和/或非易失存儲器形式的計算機存儲器介質(zhì),諸如只讀存儲器(ROM)131以及隨機訪問存儲器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)一般被存儲在ROM 131中,它包括諸如在起動過程中有助于計算機110內(nèi)基本元件間傳遞信息的基本例程。RAM 132通常包括可由處理單元120立即訪問和/或當(dāng)前進行操作的數(shù)據(jù)和/或程序模塊。通過示例,而非限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136、以及程序數(shù)據(jù)137。
計算機110也可包括其他可移動/不可移動的易失/非易失計算機存儲介質(zhì)。僅僅作為示例,圖1示出了從不可移動非易失磁性介質(zhì)讀取或?qū)懭氲挠脖P驅(qū)動器141、從可移動非易失磁盤152讀取或?qū)懭氲拇疟P驅(qū)動器151、以及一個從諸如CD-ROM或其他光學(xué)介質(zhì)的可移動非易失光盤156讀取或?qū)懭氲墓獗P驅(qū)動器155。其他可被用于示例性操作環(huán)境的可移動/不可移動,易失/非易失計算機存儲介質(zhì)包括,但不限于,磁帶盒、閃速存儲卡、數(shù)字通用盤、數(shù)字錄影帶、固態(tài)RAM、固態(tài)ROM、等等。硬盤驅(qū)動器141通常通過諸如接口140的不可移動存儲器接口連接到系統(tǒng)總線121,磁盤驅(qū)動器151以及光盤驅(qū)動器155通常通過一個諸如接口150的可移動存儲器接口連接到系統(tǒng)總線121。
以上討論的且示于圖1中的驅(qū)動器和它們相關(guān)的計算機存儲介質(zhì)為來自計算機110的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其他數(shù)據(jù)提供了存儲。在圖1中,例如,硬盤驅(qū)動器141被示為存儲操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146、以及程序數(shù)據(jù)147。注意這些組件可與操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136、以及程序數(shù)據(jù)137相同或相異。操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146以及程序數(shù)據(jù)147這里被給予了不同的標號用于表示在最小限度下,它們是不同的拷貝。用戶可以經(jīng)由輸入設(shè)備諸如寫字板、或電子數(shù)字轉(zhuǎn)換器164、麥克風(fēng)163、鍵盤162、以及通常稱為鼠標、軌跡球或觸摸板的定位設(shè)備161,輸入命令和信息進入到計算機110中。其他輸入設(shè)備(沒有示出)可包括操縱桿、游戲墊、衛(wèi)星天線、掃描儀等等。這些及其他輸入設(shè)備經(jīng)常經(jīng)由連接到系統(tǒng)總線用戶輸入接口160連接到處理單元120,但也可通過其他接口和總線結(jié)構(gòu)進行連接,諸如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其他類型的顯示設(shè)備也經(jīng)由諸如視頻接口190的接口被連接到系統(tǒng)總線121。監(jiān)視器191也可與觸摸屏面板或類似組件集成。注意監(jiān)視器和/或觸摸屏面板可物理上連接到結(jié)合有計算設(shè)備110的機箱中,諸如在寫字板型個人計算機中。除了監(jiān)視器以外,計算機也可包括其他外圍輸出設(shè)備,如揚聲器195和打印機196,它們可通過輸出外圍接口194連接。
計算機110可操作在一個網(wǎng)絡(luò)環(huán)境下,該網(wǎng)絡(luò)環(huán)境使用連接到一個或多個諸如遠程計算機180的遠程計算機的邏輯連接。遠程計算機180可為個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點,并通常包括許多或所有上述對應(yīng)于計算機110的元件,雖然在圖1中只示出了一個內(nèi)存存儲設(shè)備181。圖1描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也包括其他網(wǎng)絡(luò)。這些網(wǎng)絡(luò)化環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、內(nèi)部網(wǎng)和因特網(wǎng)上是普通的。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境時,計算機110通過網(wǎng)絡(luò)接口或適配器170連接到LAN 171上。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境時,計算機110通常包括調(diào)制解調(diào)器172或其他裝置,用于在諸如因特網(wǎng)的WAN 173上建立通信。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,它通過用戶輸入接口160或其他合適的機制連接到系統(tǒng)總線121上。在網(wǎng)絡(luò)環(huán)境中,與計算機110相關(guān)描述的程序模塊或它的部分可存儲在遠程存儲器設(shè)備中。通過示例,而非限制,圖1示出了遠程應(yīng)用程序185駐留在存儲器設(shè)備181上。可以被理解的是,所示網(wǎng)絡(luò)連接是示例性的,且可以使用在計算機之間建立通信連接的其他裝置。
跨邊界圖形數(shù)據(jù)流在此描述的技術(shù)的各個方面是針對可用于將變化指令復(fù)用至來自多個服務(wù)器應(yīng)用程序的可能的復(fù)雜圖形以傳輸給客戶機的機制和方法。在通常描述的一則示例性實施例中,該機制工作在服務(wù)器和遠程客戶機上。然而,可以容易理解的是,本發(fā)明不限于遠程機器,而是,這些示例可應(yīng)用于其它情況,諸如運行在與服務(wù)器相同的機器上的客戶機、服務(wù)單個客戶機的多個分布式服務(wù)器,以及諸如此類。此外,實現(xiàn)本發(fā)明的多種方法是可行的,包括用于使用在顯示圖形,也可用于輸出至打印機、文件、普通設(shè)備以及諸如此類。同樣地,本發(fā)明不限于在此使用的任何特定示例,而是可通常用于在計算中提供好處和優(yōu)點的多種方法。
轉(zhuǎn)向圖2,它示出了示例性客戶機-服務(wù)器計算環(huán)境200的框圖。示例性計算環(huán)境200包括通過網(wǎng)絡(luò)215連接到多個客戶機計算機2101-2103的服務(wù)器計算機205(如,圖1中的計算機系統(tǒng)110)。注意雖然因為該示例的目的示出了三臺客戶機2101-2103,它可以是任何實際的數(shù)量。
通常有,在服務(wù)器計算機205上運行有用于客戶機計算機2101-2103的一個或多個應(yīng)用程序322(圖3)。如下所述,這些應(yīng)用程序生成了最終用于在遠程客戶機計算機2101-2103的顯示設(shè)備上生成圖形的圖形命令。注意雖然在此描述了顯示設(shè)備上的圖形,這些示例也可應(yīng)用于等價的輸出,諸如打印機輸出。
計算環(huán)境200僅僅是一個示例,它代表了多種不同體系結(jié)構(gòu),包括通過調(diào)制解調(diào)器直接撥號、企業(yè)LAN(局域網(wǎng))、WAN(廣域網(wǎng))以及互聯(lián)網(wǎng)。網(wǎng)絡(luò)215可用多種方法實現(xiàn)以支持這些網(wǎng)絡(luò)環(huán)境,包括基于有線的技術(shù)以及/或者無線技術(shù)。在此描述的本技術(shù)的多個方面不限于一個特定的網(wǎng)絡(luò)體系結(jié)構(gòu)或網(wǎng)絡(luò)技術(shù)。
服務(wù)器計算機205可實現(xiàn)為基于Windows操作系統(tǒng)的服務(wù)器,或是基于任何其它服務(wù)器平臺。服務(wù)器計算機205支持或容納由客戶機計算機210通過通信協(xié)議(諸如,由微軟公司定義的遠程桌面協(xié)議(RDP)或者遠程程序調(diào)用(RPC))來訪問的一個或多個應(yīng)用程序322(圖3)。通過通信協(xié)議,服務(wù)器計算機205確定客戶機210是否能夠使用相關(guān)高級圖形命令來生成圖形,這些高級圖形命令包括從應(yīng)用程序接收的以及用于在服務(wù)器計算機205本地上生成圖形的命令。這些高級圖形命令的示例包括保留模式繪圖指令(包括繪圖基元、命令和/或數(shù)據(jù)),并且在合成(或呈現(xiàn))樹中可表示為節(jié)點。
客戶機210表示可通過網(wǎng)絡(luò)215連接到服務(wù)器205的多種計算機或計算設(shè)備類型。例如,標號為2101的客戶機計算機可為通用桌面?zhèn)€人計算機,包括本地操作系統(tǒng)、處理單元、以及存儲系統(tǒng)??蛻魴C計算機2102被示為便攜式膝上型計算機,它可通過通用網(wǎng)卡或調(diào)制解調(diào)器連接而連接到網(wǎng)絡(luò)。客戶機計算機2102可為單獨的計算機,配置有自己的操作系統(tǒng)、處理單元以及存儲系統(tǒng)??蛻魴C計算機2103可包括手持PC,它通常帶有比通用功能計算機較少的功能。
顯示設(shè)備220(包括顯示監(jiān)視器并可被認為是包括諸如鍵盤和鼠標的輸入設(shè)備)可本地連接到服務(wù)器205。顯示設(shè)備220以及相關(guān)的輸入設(shè)備向駐留在服務(wù)器計算機205上的應(yīng)用程序提供了本地用戶輸入。通常有,圖形通過駐留在服務(wù)器計算機205中的圖形合成引擎生成在顯示設(shè)備220上,其中圖形合成引擎從所駐留的應(yīng)用程序接收高級圖形命令。
駐留在服務(wù)器計算機205上的應(yīng)用程序322(圖3)可根據(jù)相關(guān)高級圖形指令(包括圖形命令/數(shù)據(jù)/基元)來指定圖形。例如,相應(yīng)于保留圖形模式呈現(xiàn)(合成)樹的基元可由表示子系統(tǒng)/媒體集成層(MIL)來提供。應(yīng)用程序322可利用由操作系統(tǒng)提供的圖形組件,借此應(yīng)用程序322可生成相關(guān)高級圖形命令,該高級圖形命令可根據(jù)指定用戶界面的節(jié)點來指定圖形。
圖3示出了在服務(wù)器計算機205和客戶機計算機(如,2101)的示例性組件。服務(wù)器計算機205包括至少一個應(yīng)用程序322,以及軟件圖形組件325。軟件圖形組件325可包括多個組件。通常有,軟件圖形組件325能夠從應(yīng)用程序322接收高級圖形命令。高級圖形命令被用于在本地生成可在顯示設(shè)備220上顯示的圖形。可實行一個被稱為“陰影(shadowing)”的概念,其中同樣的圖形被生成在服務(wù)器計算機并顯示在客戶機計算機2101上,并且也在本地呈現(xiàn)并顯示在服務(wù)器計算機205上。
服務(wù)器計算機205與客戶機計算機2101通信,并確定客戶機計算機2101是否能夠使用高級圖形命令生成圖形。如果可以,服務(wù)器計算機205則發(fā)送高級圖形命令給客戶機計算機2101。如果不可以,服務(wù)器計算機205可從高級圖形命令中呈現(xiàn)低級圖形命令(諸如,位圖)并將低級圖形命令發(fā)送給客戶機計算機。
為了說明的目的,在下文使用的示例涉及發(fā)送給客戶機計算機2101的高級圖形命令。這樣,客戶機計算機2101的圖形組件335接收到該高級圖形命令并生成在客戶機計算機2101的顯示設(shè)備215上顯示的圖形。
圖4示出了服務(wù)器計算機205和客戶機計算機2101上的更加詳細的實施例。這些示例性實施例體系結(jié)構(gòu)是特別設(shè)計為向能夠使用這些高級圖形命令來生成圖形的客戶機計算機提供格式化圖形指令形式的高級圖形命令。
在圖4中,一個或多個應(yīng)用程序3221-322N(諸如由圖3中應(yīng)用程序322所表示的)可被容納在服務(wù)器計算機205中并由客戶機計算機(如,2101)所訪問。應(yīng)用程序3221-322N提供了相關(guān)高級圖形指令,諸如保留模式圖形基元以及相應(yīng)于呈現(xiàn)(合成)樹的數(shù)據(jù)。高級圖形基元的示例是那些表示形狀、文本、按鍵、轉(zhuǎn)換以及類似部件的節(jié)點。
任何的應(yīng)用程序3221-322N可包括用于圖形合成或生成的專用線程,其中該專用線程被用于監(jiān)視在連接合成器/UCE(統(tǒng)一合成引擎)4281-428N中所使用的通信協(xié)議(如,RDP或RPC)??蔀槊總€應(yīng)用程序提供專用的合成器/UCE。
合成器/UCE模塊4281-428N是支持媒體集成層(MIL)的視覺組件模塊,媒體集成層提供了用于一個或多個客戶機計算機平臺的圖形信息。例如,合成器/UCE(如,4281)可處理或從相應(yīng)的應(yīng)用程序3221中提取高級圖形指令。高級圖形指令隨后被處理并被發(fā)送給客戶機計算機,如,客戶機計算機2101。
當(dāng)一個或多個應(yīng)用程序3221-322N運行在桌面或窗口化環(huán)境中時,顯示了影像或圖形圖像,其中可包括來自一個或多個應(yīng)用程序3221-322N的以及來自桌面或窗口化環(huán)境的圖形。桌面管理器/UCE 440提供了用于由桌面或窗口化環(huán)境所提供的圖形的高級圖形指令,其中結(jié)合了來自一個或多個應(yīng)用程序3221-322N的圖形,如下所述。
在一則實施例中,合成器/UCE 4281-428N以及桌面管理器/UCE 440向應(yīng)用程序接口(API)展示器445提供了高級圖形指令。API展示器445包含一個允許合成器/UCE 4281-428N以及桌面管理器/UCE 440與顯示驅(qū)動程序載入器450通信的接口。
顯示驅(qū)動程序載入器450載入遠程顯示驅(qū)動程序460以及本地顯示驅(qū)動程序465。高級圖形指令被發(fā)送至遠程顯示驅(qū)動程序460,遠程顯示驅(qū)動程序460將圖形命令格式化為服務(wù)器205和客戶機2101所使用的通信協(xié)議所定義的合適的格式。例如,遠程顯示驅(qū)動程序460可對圖形命令進行包裝、執(zhí)行任何緩存、和/或壓縮。
本地顯示驅(qū)動程序465接收到在本地服務(wù)器計算機205上生成為圖形的高級圖形命令。本地顯示驅(qū)動器465當(dāng)在本地顯示圖形和/或執(zhí)行陰影時被使用。當(dāng)發(fā)送至客戶機計算機2101的圖形圖像(如,高級或低級圖形命令)在本地顯示設(shè)備(諸如圖2中的顯示設(shè)備220)上被觀看時,執(zhí)行陰影或遠程協(xié)助。
來自顯示驅(qū)動程序460的格式化的高級圖形命令被提供給傳輸驅(qū)動程序470,用于通過網(wǎng)絡(luò)傳輸至客戶機計算機2101。傳輸驅(qū)動程序470可基于一些傳輸協(xié)議(諸如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP))中的一個。傳輸驅(qū)動程序470可將格式化的圖形基元或圖形數(shù)據(jù)包裝成為數(shù)據(jù)包。
客戶機計算機2101通過遠程設(shè)備接口475接收到圖形命令(如,數(shù)據(jù)包)。遠程設(shè)備接口475可基于服務(wù)器計算機205和客戶機計算機2101之間的通信協(xié)議。
遠程設(shè)備接口475包括高級圖形指令處理器480(和/或用于低級圖形命令的GDI/GDI+呈現(xiàn)引擎485,如用于在耦合到其它服務(wù)器時處理低級圖形命令)。在客戶機計算機2101接收到高級圖形指令格式的圖形時,高級圖形指令處理器485在從服務(wù)器計算機205接收的數(shù)據(jù)流中提取包括高級圖形指令的數(shù)據(jù)包。如果接收到低級圖形命令,它們由GDI/GDI+呈現(xiàn)引擎485處理并被傳遞給生成圖形的GDI/GDI+圖形驅(qū)動程序490。所生成的圖形顯示在本地(客戶機)顯示設(shè)備上,諸如圖2中的顯示設(shè)備215。
當(dāng)客戶機計算機2101接收到高級圖形指令以生成圖形時,客戶機計算機連接器495從高級圖形命令處理器450接收數(shù)據(jù)包,并將該包解析為高級圖形指令。已解析出的高級圖形指令被從客戶機計算機連接器495發(fā)送至使用高級圖形命令來生成圖形的客戶機合成器/UCE 499。
這樣,從服務(wù)器向遠程客戶機機器傳輸大量圖形內(nèi)容可得益于發(fā)送矢量圖形基元以及其它圖形指令而不是發(fā)送位圖。遵照本發(fā)明,在更新處理時帶寬使用可進一步減少。所以,當(dāng)客戶機端的圖形需要更新時,替代發(fā)送相應(yīng)于呈現(xiàn)整個桌面的圖形指令的信息,發(fā)送小部分的高級更新信息是更有效率的。例如,當(dāng)用戶移動一個窗口時,比起重新發(fā)送重繪整個窗口和/或桌面內(nèi)容的圖形指令,發(fā)送轉(zhuǎn)換窗口位置的指令是更有效率的。
為了發(fā)送高級指令并以小部分的形式更新它們,傳輸了描述相關(guān)位置以及繪圖基元的交互操作的傳輸結(jié)構(gòu)信息。在本地情況中,合成(或呈現(xiàn))樹可被用于描述層次位置(如,交疊)以及這些基元的交互操作(如,透明化)。
在此描述的技術(shù)的多個方面是針對將該合成樹分層結(jié)構(gòu)有效傳輸至客戶機機器,這樣可在客戶機上進行呈現(xiàn)和更新。最初建立該樹的相同傳輸機制允許單獨節(jié)點的小部分更新。該傳輸方法可被用于在跨機器或進程邊界的傳輸中保存單個或多個樹的層次關(guān)系。
在一則實施例中,多線程合成底層結(jié)構(gòu)示例了跨進程傳輸?shù)谋镜厥褂?。多線程合成底層結(jié)構(gòu)可被用于通過將呈現(xiàn)操作跨越多線程分布來發(fā)揮處理器功率。在此示例中描述的傳輸機制允許該類型的體系結(jié)構(gòu)將樹的更新跨越進程配置。
為了實現(xiàn)跨邊界(諸如機器邊界、進程邊界或兩者)的傳輸,在本地和遠程情況中都需要將來自一些不同進程和/或機器的序列號信息形成流狀。在傳輸后,需要對這些信息流進行拆包,使得關(guān)于原始設(shè)備和/或進程的信息保持完整。這允許每個進程和/或設(shè)備獨立地接收更新。
因此,描述了多種機制和方法,允許對內(nèi)容進行小部分的更新,該內(nèi)容在邊界的一端進行定義、跨越邊界傳輸、并隨后被呈現(xiàn)在遠端。這些機制和方法應(yīng)用于跨越許多個邊界尺度進行傳輸,如下所述。這些包含包裝以及拆包的可變尺度的有效傳輸允許對那些通常在帶寬消耗上太昂貴以至于無法完全地重復(fù)傳輸其完整定義的大量圖形進行有目的性的、小部分的更新。注意示例性實施例可以不需要特殊的用于不同信息源的機制。例如,來自桌面窗口管理器的內(nèi)容可與來自應(yīng)用程序的內(nèi)容一樣,行進通過相同的傳輸介質(zhì)(管道),并隨后可用相同的方式對其進行拆包。
如上所述,應(yīng)用程序322生成圖形指令數(shù)據(jù)流以輸出一些內(nèi)容,這樣呈現(xiàn)系統(tǒng)可將該數(shù)據(jù)流轉(zhuǎn)換為可視的一些事物,如,在顯示監(jiān)視器上、在打印機上或類似。當(dāng)遠程應(yīng)用時(即,顯示是在另一個機器上),同一時間內(nèi)生成圖形的多個應(yīng)用間可能共享僅僅一個傳輸。
當(dāng)每個圖形包(或一批)準備遞交傳輸時,為了將一個應(yīng)用生成的圖形指令與另一個應(yīng)用生成的指令區(qū)分開來,在包上附加上用于每個應(yīng)用的唯一的標識符,這樣該數(shù)據(jù)包在遠端可以被識別為屬于特定的應(yīng)用。
當(dāng)數(shù)據(jù)包到達遠端時,則根據(jù)這唯一的標識符對數(shù)據(jù)流進行分離,由此每個圖形數(shù)據(jù)流是完整無缺的并可以獨立于其它用類似數(shù)據(jù)流使用相同傳輸?shù)膽?yīng)用而呈現(xiàn)。換句話說,該唯一標識符允許來自各種應(yīng)用和/或桌面的指令的復(fù)用和去復(fù)用,因此便于圖形更新信息的傳輸。
通過對與單個成分相關(guān)聯(lián)的數(shù)據(jù)包進行識別,該數(shù)據(jù)包可被串行化且沒有丟失關(guān)于它們原始設(shè)備和/或進程的信息。因此,每當(dāng)它們被整合進管道用于傳輸時都對串行化的數(shù)據(jù)包進行標記。當(dāng)從這些管道拆包時,每個數(shù)據(jù)包可被重新關(guān)聯(lián)至合適的成分。
圖5示出了每一個單獨成分中的信息如何被整合用于跨邊界傳輸(其中用虛線表示邊界)。可能的合并等級包括一個進程中的內(nèi)容串行進入一個管道(正如本地客戶機情況中的一樣)、每個會話中多個進程中的內(nèi)容串行進入一個管道(正如遠程桌面情況中的一樣)、每個機器中多個會話中的內(nèi)容串行進入一個管道、來自每個子網(wǎng)中許多個機器中的內(nèi)容串行進入一個管道。
在此描述的一則示例實現(xiàn)提供了串行化,可被推廣到使用在這些情況中的每一個。維持,如圖6所表示的,通過復(fù)用器/ID修飾機制602對每個數(shù)據(jù)包標記上一個或多個標識符。該示例示出了包括在管道整合的每個階段區(qū)分原始進程的一系列唯一標識符的進程標識符(PIDs)。諸如機器或會話標識符的其它標識符可被用于區(qū)分原始設(shè)備和會話。也可以使用能夠在完成組合之前唯一地識別數(shù)據(jù)流的源的任何其它類型的方法。注意在圖6中,示出的數(shù)據(jù)包已經(jīng)被以一個假設(shè)的順序放在了公共傳輸上。
圖7示出了在邊界的遠端對信息進行拆包,在那之后每個信息束可被單獨地處理并呈現(xiàn)。這允許每個進程的內(nèi)容獨立于任何其它進程的內(nèi)容而更新。獨立地處理允許在不阻塞傳輸器管道下(包括當(dāng)傳輸復(fù)雜圖形時)對這些內(nèi)容進行小部分更新。
圖8描述了當(dāng)圖形或其它內(nèi)容在邊界的一端定義卻在邊界的遠端處理(如,呈現(xiàn)以及顯示)時,使得圖形或其它內(nèi)容有效呈現(xiàn)的各種機制和方法的邏輯。例如,兩個應(yīng)用可生成分開的呈現(xiàn)樹(如,用戶界面,即UI、帶有應(yīng)用專用的信息的樹),如圖8中通過塊801-804通常表示的。為了通過步驟805和806確定的遠程呈現(xiàn),在提交給傳輸器之前,將對每個樹的描述與用于每個應(yīng)用的唯一的ID所組合(步驟807和808)。每個數(shù)據(jù)包中的修飾可包括目的地、起源、進程ID(為了在客戶機端區(qū)分應(yīng)用)。唯一ID規(guī)定了樹的獨立管理以及信息的傳輸、在客戶機端的平行內(nèi)容的執(zhí)行和/或在應(yīng)用之間安全邊界的創(chuàng)建。例如,該機制可僅僅使用經(jīng)驗證的數(shù)據(jù)包,允許增強的安全性。此外,該機制使傳輸層的頂端處的終端服務(wù)類似于IP層的頂端的TCP層。
當(dāng)數(shù)據(jù)流被合并用于復(fù)用時,如步驟810所表示的,從而傳輸包含了識別將要使用樹來更新哪個應(yīng)用的唯一ID。步驟815表示了除遠程傳輸以外或代替遠程傳輸?shù)谋镜爻尸F(xiàn)。
步驟812表示去復(fù)用操作,其中使用唯一標識符來分離已組合的圖形指令數(shù)據(jù)流。步驟816和817表示單獨數(shù)據(jù)流的呈現(xiàn)。
轉(zhuǎn)到對傳輸子系統(tǒng)的示例性結(jié)構(gòu)功能的解釋上,傳輸子系統(tǒng)的一個方面針對從應(yīng)用所使用的線程中去耦合合成線程以影響成分樹的變化(即是,從應(yīng)用UI線程上)。一般,圖9和10提供了數(shù)據(jù)流修飾和數(shù)據(jù)流生成的示例。為此,引入了信道的概念以定址從運行在服務(wù)器機器上的應(yīng)用生成命令的平行線程中的資源。信道存在于傳輸示例中。傳輸器隨后將連接環(huán)境映射至用于修飾圖形數(shù)據(jù)流的唯一標識符。
圖9示出了參與成分進程的對象的簡單框圖,并通常表示數(shù)據(jù)如何跨越系統(tǒng)中的邊界進行移動,以及參與數(shù)據(jù)流動的子系統(tǒng)。數(shù)據(jù)跨越的邊界可包括線程、進程和/或機器邊界,如圖9的傳輸器使用圖中通常所描述的。
圖9中示出的信息交換參與者包括提供線程關(guān)系的UI環(huán)境901-904、作為對象模型接口的已管理資源,用于在合成時所使用的未經(jīng)管理資源、以及包含在成分傳遞時所使用的圖形對象的未經(jīng)管理資源。同樣示出了合成未經(jīng)管理成分樹的合成低層結(jié)構(gòu)913。
圖9中的實施例解決了大量數(shù)據(jù)傳送問題,包括響應(yīng)于已管理資源所作出的API調(diào)用對未經(jīng)管理資源進行更新、通過已管理資源對未經(jīng)管理資源的生存周期進行管理、以及定義哪些命令需要被按照它們所提出的相同順序來執(zhí)行的范圍。
該解決方案在UI線程上采取了盡可能少的阻塞,并在合成線程上沒有阻塞。可通過將已管理資源的API調(diào)用翻譯為命令,并隨后將該命令加入到命令改變隊列中來消除對合成線程的阻塞需求。該命令隊列的執(zhí)行可導(dǎo)致未經(jīng)管理資源的更新。用于從已管理資源向改變隊列發(fā)送命令的管道可被用于便于避免合成線程的阻塞以及維持命令序列的需求。然而,在這個管道中要求一些額外的結(jié)構(gòu),因為已管理資源可被通過多個線程訪問,并且因為跨UI線程邊界的最小化阻塞的需求。
為了解決命令的更新、生命周期以及命令順序保存要求,定義了信道的概念,以及與UI環(huán)境相關(guān)聯(lián)的信道。信道提供了順序保存的命令管道,用于在UI環(huán)境范圍內(nèi)的已管理的未經(jīng)管理資源的通信。
對于數(shù)據(jù)傳送的客戶機和服務(wù)器兩端,信道提供了一種定址方案,允許已管理資源更新未經(jīng)管理資源,并控制未經(jīng)管理資源的生命周期。該定址方案將句柄值與已管理的未經(jīng)管理資源對相關(guān)聯(lián),稱為資源句柄。當(dāng)已管理資源被用在UI環(huán)境中時,已管理資源使用該UI環(huán)境的信道在信道上創(chuàng)建相應(yīng)的未經(jīng)管理資源。也通過句柄(信道句柄)識別與UI環(huán)境相關(guān)聯(lián)的信道。對于能夠使用在多個UI環(huán)境的已管理資源,為它所使用的信道中的每一個創(chuàng)建一個未經(jīng)管理資源。對于合成器所使用的每個進程/應(yīng)用領(lǐng)域,定義了一個包含與UI環(huán)境中數(shù)量相同的信道的連接。圖9示出了已管理和未經(jīng)管理對象之間的關(guān)系,而圖10表示了邏輯信道使用以及資源尋址,示出了已管理的未經(jīng)管理對如何與它們相應(yīng)的信道相聯(lián)系。
隨后通過連接ID、信道句柄以及資源句柄限定了已管理資源和它們相應(yīng)的未經(jīng)管理資源之間的映射。
注意數(shù)據(jù)不僅僅是從已管理資源向未經(jīng)管理資源流動,也從未經(jīng)管理資源向已管理資源流動。例如,產(chǎn)生自未經(jīng)管理資源并在UI環(huán)境中消費的數(shù)據(jù)可包含所發(fā)送的指出了發(fā)生在未經(jīng)管理資源中的特定條件的通知。
雖然本發(fā)明可有多種的修改和可選構(gòu)造,在附圖中示出了它們的特定示例性實施例并在上文進行了詳細描述。然而可以被理解的是,這不是旨在限制本發(fā)明為已披露的特定形式,卻相反的是,本發(fā)明旨在包括所有在本發(fā)明精神和范圍中的修改、可選構(gòu)造以及等價。
權(quán)利要求
1.一種在計算環(huán)境中的方法,包括連接到客戶機計算機;從第一應(yīng)用程序生成第一高級圖形指令;將表示所述第一應(yīng)用程序的第一標識符與所述第一高級圖形指令相關(guān)聯(lián);從第二應(yīng)用程序生成第二高級圖形指令;將表示所述第二應(yīng)用程序的第二標識符與所述第二高級圖形指令相關(guān)聯(lián);以及將所述第一高級圖形指令和所述第二高級圖形指令發(fā)送至所述客戶機計算機。
2.如權(quán)利要求1所述的方法,其特征在于,還包括在所述客戶機計算機處接收所述第一高級圖形指令和所述第二高級圖形指令,并基于所述第一和第二標識符將所述第一高級生成圖形從所述第二高級圖形命令分離。
3.如權(quán)利要求1所述的方法,其特征在于,從所述第一應(yīng)用程序生成所述第一高級圖形指令包括使用專用線程。
4.如權(quán)利要求1所述的方法,其特征在于,向所述客戶機計算機發(fā)送所述第一高級圖形指令包括發(fā)送用于修改所述第一應(yīng)用程序的現(xiàn)有圖形表示的高級更新信息。
5.如權(quán)利要求1所述的方法,其特征在于,還包括,使用所述第一高級圖形命令更新所述第一應(yīng)用程序,并使用所述第二高級圖形命令更新所述第二應(yīng)用程序。
6.如權(quán)利要求1所述的方法,其特征在于,與所述第一高級圖形指令相關(guān)聯(lián)的所述標識符對應(yīng)于連接標識符、信道句柄以及資源句柄中的至少一個。
7.一種計算機可讀介質(zhì),含有計算機可執(zhí)行指令,當(dāng)被執(zhí)行時實行以下步驟,包括在客戶機計算機接收數(shù)據(jù)流,所述數(shù)據(jù)流包括與第一應(yīng)用程序相關(guān)聯(lián)的第一高級圖形指令,以及與第二應(yīng)用程序相關(guān)聯(lián)的第二高級圖形指令,所述第一高級圖形指令與對應(yīng)于所述第一應(yīng)用程序的標識符相關(guān)聯(lián);處理所述第一高級圖形命令以更新所述客戶機計算機上對應(yīng)于所述第一應(yīng)用程序的第一用戶界面;以及處理所述第二高級圖形命令以更新所述客戶機計算機上對應(yīng)于所述第二應(yīng)用程序的第二用戶界面。
8.如權(quán)利要求7所述的計算機可讀介質(zhì),其特征在于,處理所述第一高級圖形命令包括基于所述第一標識符將所述第一高級生成圖形從所述第二高級圖形命令分離。
9.如權(quán)利要求7所述的計算機可讀介質(zhì),其特征在于,與所述第一高級圖形指令相關(guān)聯(lián)的所述標識符對應(yīng)于連接標識符、信道句柄以及資源句柄中的至少一個。
10.如權(quán)利要求7所述的計算機可讀介質(zhì),其特征在于,處理所述第一高級圖形命令以更新所述第一用戶界面包括使用至少一些所述命令以修改對應(yīng)于所述第一用戶界面的保留模式呈現(xiàn)樹。
11.如權(quán)利要求7所述的計算機可讀介質(zhì),其特征在于,所述第二高級圖形指令與對應(yīng)于所述第二應(yīng)用程序的第二標識符相關(guān)聯(lián),并且還包括在所述客戶機計算機接收數(shù)據(jù)流的計算機可執(zhí)行,所述數(shù)據(jù)流包括與第三應(yīng)用程序相關(guān)聯(lián)的第三高級圖形指令。
12.一種服務(wù)器計算機,包括一個或多個由客戶機計算機訪問的應(yīng)用程序;合成器,從所述應(yīng)用程序的一個中提取高級圖形命令;以及遠程顯示驅(qū)動程序,將所述高級圖形命令打包給所述客戶機計算機使用以生成圖形。
13.如權(quán)利要求12所述的服務(wù)器計算機,其特征在于,還包括裝置,用于將各個應(yīng)用標識符與對應(yīng)于所述其中一個應(yīng)用程序的高級圖形命令中每一組相關(guān)聯(lián)。
14.如權(quán)利要求12所述的服務(wù)器計算機,其特征在于,所述遠程顯示驅(qū)動程序通過標記串行化數(shù)據(jù)包用于整合進入至少一個傳輸管道,來對所述高級圖形命令進行打包。
15.如權(quán)利要求12所述的服務(wù)器計算機,其特征在于,所述遠程顯示驅(qū)動程序?qū)τ糜诳缭轿锢磉吔鐐鬏數(shù)乃龈呒増D形命令進行打包。
16.如權(quán)利要求12所述的服務(wù)器計算機,其特征在于,所述遠程顯示驅(qū)動程序?qū)τ糜诳缭綑C器邊界傳輸?shù)乃龈呒増D形命令進行打包。
17.如權(quán)利要求12所述的服務(wù)器計算機,其特征在于,所述遠程顯示驅(qū)動程序?qū)τ糜诳缭竭M程邊界傳輸?shù)乃龈呒増D形命令進行打包。
18.如權(quán)利要求12所述的服務(wù)器計算機,其特征在于,還包括裝置,用于在所述服務(wù)器本地呈現(xiàn)圖形。
全文摘要
所描述的是圖形數(shù)據(jù)流的復(fù)用和去復(fù)用,包括當(dāng)連接到客戶機計算機時從第一應(yīng)用程序生成第一高級圖形指令。表示該第一應(yīng)用程序的第一標識符與所述第一高級圖形指令相關(guān)聯(lián)。第二高級圖形指令由第二應(yīng)用程序生成,表示第二應(yīng)用程序的第二標識符與該第二高級圖形指令相關(guān)聯(lián)。所述第一高級圖形指令以及所述第二高級圖形指令被發(fā)送至客戶機計算機。一種服務(wù)器計算機則允許客戶機計算機訪問一個或多個應(yīng)用程序。該服務(wù)器包括從所述應(yīng)用程序的一個中提取高級圖形命令的合成器,以及將這些高級圖形命令包裝給客戶機計算機使用以生成圖形的遠程顯示驅(qū)動程序。
文檔編號H04L29/06GK1776604SQ20051011611
公開日2006年5月24日 申請日期2005年10月18日 優(yōu)先權(quán)日2004年11月18日
發(fā)明者G·庫扎姆, P·C·戴維, O·D·溫古雷亞努, A·塞齊亞, A·E·阿爾索弗 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1