專利名稱:過濾來自遠程客戶顯示器的遮蔽的數(shù)據(jù)的制作方法
過濾來自遠程客戶顯示器的遮蔽的數(shù)據(jù)扭旦 冃足背景技術和相關領域隨著計算機化系統(tǒng)的日益流行,對大型和小型網(wǎng)絡內計算機系統(tǒng)的文件和 處理資源分布的需要也日益增加。 一般而言,計算機系統(tǒng)和相關設備經(jīng)由網(wǎng)絡 交流信息是出于各種原因,例如交換個人電子消息、出售商品、提供賬戶信息 等。然而人們會認識到,隨著計算機系統(tǒng)及其相關應用程序變得愈發(fā)復雜,與 網(wǎng)絡上數(shù)據(jù)和資源共享相關聯(lián)的各種挑戰(zhàn)也增加了。在組織網(wǎng)絡內分布資源的一些現(xiàn)有方法包括集中計算場景,這會涉及與未 本地安裝這些資源的一個或多個客戶共享資源的集中網(wǎng)絡服務器。已用于這類功能性的這樣一種協(xié)議是遠程桌面協(xié)議("RDP")。使用遠程桌面協(xié)議,客 戶計算機系統(tǒng)就能夠訪問主存其感興趣資源的集中網(wǎng)絡服務器??蛻粲嬎銠C系 統(tǒng)可以象本地安裝了這些資源那樣來與這些資源進行交互(例如,發(fā)送鼠標和 鍵盤事件等)。而網(wǎng)絡服務器又處理這些交互,使用其自身的視頻驅動程序創(chuàng)建該數(shù)據(jù)的 相應描繪信息,并且將經(jīng)處理的數(shù)據(jù)和創(chuàng)建的描繪信息兩者都發(fā)送回客戶???戶計算機系統(tǒng)隨后接收這些數(shù)據(jù)和描繪信息,并使用客戶側的視頻驅動程序來 本地描繪和顯示接收到的數(shù)據(jù)。理想地,客戶計算機系統(tǒng)和網(wǎng)絡服務器之間的 這一交互會無縫地發(fā)生,好像該客戶計算機系統(tǒng)已經(jīng)用其自身安裝的資源來實 際上本地處理這些數(shù)據(jù)那樣。不幸的是,這些系統(tǒng)會受到網(wǎng)絡吞吐量的限制, 在負荷過重時,會導致本地客戶計算機系統(tǒng)在交互和處理方面査看有所"滯 后"。此外,這些系統(tǒng)通常沒有"共享"和"非共享"資源的概念,因而服務 器處的某些窗口可由本地客戶查看而不能由其他客戶查看。相反地,在網(wǎng)絡服 務器上為該客戶會話打開的所有東西都可被遞送至客戶計算機系統(tǒng)。在一些方面與上述集中型共享模型類似的另一類系統(tǒng)包括廣播(或"發(fā) 送")客戶計算機系統(tǒng),它被配置為向網(wǎng)絡上其他接受客戶計算機系統(tǒng)發(fā)送窗口數(shù)據(jù)信息。這一特征有時還被稱為"桌面共享"。在此示例中,廣播計算機 (例如,在學習環(huán)境中的"指導者")和接受計算機系統(tǒng)(例如,"學生") 使用允許共享桌面視圖和在指導者計算機處本地安裝的應用的公共安裝的應 用程序來進行連接。類似于集中計算系統(tǒng)的場景,客戶計算機系統(tǒng)也可以像這 些窗口是學生計算機自己的窗口那樣來與指導者計算機處顯示的窗口交互。與使用上述RDP的客戶-服務器模型相反,本系統(tǒng)能夠實現(xiàn)共享和非共享 窗口數(shù)據(jù)的概念。例如,指導者可能不希望與學生共享其所有打開的窗口 (例 如,打開了銀行賬戶的因特網(wǎng)瀏覽器),于是就可以指定共享含有解答的窗口, 而不共享含有敏感信息的窗口。此外,指導者的計算機系統(tǒng)還可以編碼來自非共享窗口的數(shù)據(jù),并將共享的和非共享的窗口數(shù)據(jù)都發(fā)送給學生的計算機系 統(tǒng)。結果,學生的計算機系統(tǒng)將正確描繪共享窗口,但是即使嘗試處理也無法 描繪非共享的窗口數(shù)據(jù),因為這些數(shù)據(jù)是唯一編碼的。于是,學生的計算機系統(tǒng)可以在本應顯示非共享窗口數(shù)據(jù)的地方生成一些默認的普適線段和方框。類似于上述集中RDP模型,這一指導者/學生(即,發(fā)送者/接收者)類型 的系統(tǒng)還是有一些缺點,使其難以應用于集中桌面共享環(huán)境。例如,這一系統(tǒng) 通常要求發(fā)送和接收程序兩者具有相同的應用程序,并相應的更新本地安裝, 以使得共享和非共享概念能夠得到適當管理。此外,在編碼非共享數(shù)據(jù),隨后要求接收計算機嘗試解碼非共享的窗口數(shù)據(jù)并在描繪不成功時做出要顯示什 么的判定的過程中,還存在這效率低下的情況。此外,在發(fā)送非共享的(即使 經(jīng)編碼的)數(shù)據(jù)時還需考慮安全問題,因為仍然存在惡意代理捕獲這些非共享 數(shù)據(jù)并成功解碼這些數(shù)據(jù)的可能性。相反,在考慮共享和非共享窗口數(shù)據(jù)的概念時,僅更新諸如RDP的協(xié)議 也不是一件簡單的事情。更具體地,更新這一協(xié)議通常要管理員花時間在服務 器和經(jīng)該協(xié)議共享來自服務器的各資源的每臺客戶計算機系統(tǒng)上提供并安裝 相應的擴展。因此,在當前資源共享協(xié)議中存在諸多問題,使得難以在桌面共享環(huán)境中 組合這些協(xié)議的優(yōu)點。發(fā)明簡述本發(fā)明的各個實現(xiàn)使用增強在聯(lián)網(wǎng)的計算機系統(tǒng)之間共享的應用顯示效 率的系統(tǒng)、方法和計算機程序產(chǎn)品來解決本領域中一個或多個前述問題。更具 體地,本發(fā)明的至少一個實現(xiàn)涉及標識想要共享的顯示屏區(qū)域以及那些不想共享的區(qū)域服務器或發(fā)送計算機。服務器隨后可以用一個或多個簡單的圖像文件 來代替非共享內容,并發(fā)送這些簡單的圖像文件來替換非共享內容。由此,就 能遮蔽敏感信息,而沒有必要要求客戶計算機系統(tǒng)的任何顯著的處理動作。例如,根據(jù)本發(fā)明一個或多個實現(xiàn)的一種用于過濾共享的和遮蔽的應用繪 制命令的方法包括標識至少意欲在遠程客戶處顯示的一個或多個共享的繪制 命令。本方法還包括標識想要對遠程客戶隱藏的一個或多個遮蔽的繪制命令。 此外,本方法還包括在位圖中描繪一個或多個共享的繪制命令,并在位圖中描 繪一個或多個遮蔽的繪制命令的替換圖像。由此,可以發(fā)送替換圖像作為想要 遮蔽的內容的代替。此外,在與遠程客戶共享顯示時實現(xiàn)暫停特征的方法包括標識來自服務器 系統(tǒng)處一個或多個應用的多條繪制命令。在此情況下,想要在客戶計算機系統(tǒng) 處顯示多條繪制命令中的至少一條。此外,本方法包括接收來自服務器處一個 或多個應用中任何應用的暫停指令,以及鏡像驅動程序在位圖中描繪相應的暫 停圖像。由此,就發(fā)送暫停圖像給客戶計算機系統(tǒng)作為多條繪制命令中任何命 令的代替。提供本概述以便以簡化形式介紹概念的精選,這些概念將在以下的詳細描 述中被進一步描述。本概述并不旨在標識要求保護的主題的關鍵特征或本質特 征,也不旨在用于幫助確定要求保護的主題的范圍。本發(fā)明的額外特征和優(yōu)點將在以下的描述中闡述,并且部分可從該描述中 顯而易見,或者可通過對本發(fā)明的實踐而獲知。本發(fā)明的各個特征和優(yōu)點可以 通過在所附權利要求中特別指出的手段和組合來認識并獲取。本發(fā)明的這些和 其它特征將從以下描述和所附權利要求書中變得完全顯而易見,或者可通過如 下所述對本發(fā)明的實踐而獲知。
為了描述在其中能夠獲得本發(fā)明的前述和其他優(yōu)點和特征的方式,將通過參考在附圖中示出的特定實施例來描繪以上簡述的本發(fā)明的更具體描述。應該 理解這些附圖僅描述了本發(fā)明的典型實施例,因此不將其考慮為對本發(fā)明的范 圍的限制,通過使用附圖可以用額外的特異性和細節(jié)來描述本發(fā)明,在附圖中 圖1A根據(jù)本發(fā)明的一實現(xiàn)示出了在其中驅動程序接口在應用共享環(huán)境中 過濾來自共享應用的繪制命令和來自遮蔽的應用的繪制命令的概略圖;圖1B示出了在其中驅動程序接口響應于從一應用接收的暫停指令的圖 1A所示的概略圖;圖2根據(jù)本發(fā)明一實現(xiàn)示出了一種在應用共享環(huán)境中過濾共享的和遮蔽 的繪制命令的方法的一系列動作的流程圖;以及圖3根據(jù)本發(fā)明一實現(xiàn)示出了一種在應用共享環(huán)境中實現(xiàn)暫停特征的方法的一系列動作的流程圖。 詳細說明本發(fā)明的各個實現(xiàn)可以擴展至增強在聯(lián)網(wǎng)的計算機系統(tǒng)之間共享的應用 顯示效率的系統(tǒng)、方法和計算機程序產(chǎn)品。更具體地,本發(fā)明的至少一個實現(xiàn) 涉及標識意欲共享的顯示屏區(qū)域以及那些不想共享的區(qū)域的服務器或發(fā)送計 算機。服務器隨后可以用一個或多個簡單的圖像文件來代替非共享內容,并發(fā) 送這些簡單的圖像文件來替換非共享內容。由此,就能遮蔽敏感信息,而沒有 必要要求客戶計算機系統(tǒng)的任何顯著的處理動作。正如將從說明書和權利要求書中完全理解的那樣,這一過濾可以用很簡單 的遠程査看協(xié)議實現(xiàn),而沒有必要包括對來自服務器側或客戶側的廣泛處理。 一般而言,術語"遠程視圖"、"遠程查看"或者"遠程共享"指的是一個計 算機系統(tǒng)査看位于遠程的另一計算機系統(tǒng)的至少部分顯示屏數(shù)據(jù)的一般概念。 在此功能性描述的遠程査看還可以允許在無需要求任何顯著網(wǎng)絡帶寬的情況 下,將相當粒度的顯示和顯示遮蔽的信息發(fā)送給接收計算機系統(tǒng)。此外,通過 遠程查看過程對共享的和遮蔽的應用區(qū)域的這一通信還可以使用諸如遠程桌面協(xié)議(即,"RDP")的現(xiàn)有協(xié)議來進行,而沒有必要對服務器側或客戶側 的協(xié)議或其相關管理做出顯著改變。如圖1A所示,例如發(fā)送計算機100經(jīng)網(wǎng)絡140將應用數(shù)據(jù)傳送給接收計算機150。例如,接收計算機150(例如,客戶計算機系統(tǒng))與發(fā)送計算機100 (例 如,服務器計算機系統(tǒng))相連接以共享諸如應用IIO的各種資源,這些資源可 由接收計算機150在顯示器115處本地顯示。作為代替,發(fā)送計算機100處的 終端用戶可以與接收計算機150處的終端用戶共享顯示屏,其中發(fā)送計算機 IOO的顯示屏105包括應用IIO數(shù)據(jù)以及應用115數(shù)據(jù)的視圖。無論如何,可 在發(fā)送計算機100的顯示屏105處査看的至少一部分內容是想要在接收計算機 150的顯示屏155處可查看的。此外,圖1A示出了共享應用110同時遮蔽應 用115。例如,應用115可由另一接收計算機系統(tǒng)(未示出)訪問,或者可選 地表示了發(fā)送計算機IOO處的終端用戶不想向接收計算機150示出的數(shù)據(jù),諸 如打開銀行賬戶的瀏覽器等。當應用110和115執(zhí)行會導致顯示屏105上可視改變的繪制操作時,驅動 程序接口 125就會把該數(shù)據(jù)傳遞給顯示器驅動程序130。在一個實施例中,驅 動程序接口 125是設備接口組件,諸如圖形設備接口 (GDI),它獲取來自應 用程序的圖形函數(shù)調用并將相應的圖形指令提供給適當?shù)脑O備驅動程序。 一般 而言,驅動程序接口 125可以是能夠在應用程序和顯示器驅動程序之間中介的 任何計算機程序代碼,并且在某些情況下還可被配置為提供將在以下詳述的過 濾功能。例如,圖1A示出了驅動程序接口 125接收來自共享的應用IIO的共享顯 示數(shù)據(jù)120,并接收來自遮蔽的應用115的遮蔽的顯示數(shù)據(jù)121。 一般而言, 數(shù)據(jù)120和121至少包括幾何繪制數(shù)據(jù),這些數(shù)據(jù)可用于描繪由所對應的應用 生成的圖像。驅動程序接口 125隨后標識用于本地顯示器的正確顯示器驅動程 序(在此情況下是驅動程序130),并將數(shù)據(jù)120和121傳遞給標識的顯示器驅動 程序。顯示器驅動程序130隨后就能夠描繪該數(shù)據(jù)并且作為通常情況,將其本 地顯示在服務器顯示屏105上。更具體地,驅動程序接口 125不需要提供任何 的本地過濾信息或功能性,因為各應用被主存并在服務器IOO處本地查看。圖1A還示出了驅動程序接口 125與鏡像驅動程序135通信,該鏡像驅動 程序135是要向其提供從應用110、 115中接收的繪制命令的"遠程視圖"驅 動程序,諸如RDP驅動程序。 一般而言,鏡像驅動程序135可以是能夠接收 其原始命令是針對一個顯示設備驅動器的復制繪制命令,并將這些繪制命令以復制(或"鏡像")方式描繪的任何組件或模塊。如圖所示,例如,鏡像驅動程序135接收來自驅動程序接口 125的繪制命令,就像這些命令也被發(fā)送給顯 示器驅動程序130—樣。然而,圖1A還示出了驅動程序接口 125將共享數(shù)據(jù)120發(fā)送給鏡像驅動 程序B5,就像提供給顯示器驅動程序130那樣,但是也連同遮蔽數(shù)據(jù)121 — 起將過濾指令123發(fā)送給鏡像驅動程序135。在一個實施例中,驅動程序接口 125還可被配置為僅發(fā)送這些繪制指令給鏡像驅動程序135,如果這些指令屬 于例如共享顯示屏的某一區(qū)域的話。無論如何,過濾指令123能夠包括用于非共享應用115的幾何指令以及指示數(shù)據(jù)121不共享的記號,或者能夠包括由應 用115 (或由應用110,或者未示出的不同組件)選擇的任何圖像文件。 一旦收 到,鏡像驅動程序135就處理數(shù)據(jù)120和123,并在發(fā)送者側位圖137a中創(chuàng)建 相應的繪制。然而,在此情況下,鏡像驅動程序135在發(fā)送者側位圖137a內繪制對應 于數(shù)據(jù)120 (即,"應用110")的圖像,并基于消息123內的新指令,在發(fā) 送者側位圖137a內準備替換遮蔽數(shù)據(jù)121的可選替換圖像131。發(fā)送計算機 100隨后根據(jù)適當?shù)膮f(xié)議(例如,RDP)準備這些圖像作為圖形命令,并準備 這些圖形命令的相應網(wǎng)絡分組。發(fā)送計算機100隨后經(jīng)網(wǎng)絡140發(fā)送這些網(wǎng)絡 分組,并最終將其送至接收計算機150處相應的接收者側位圖137b。除了對應 于繪制命令的原始數(shù)據(jù)之外,這些網(wǎng)絡分組還可以包括伴隨替換圖像131的指 令,諸如是否平鋪、伸拉或以某些特定方式另外顯示替換圖像131的指令。在接收計算機150處,相應的查看應用程序(未示出)從接收者側位圖137b 讀取網(wǎng)絡分組的數(shù)據(jù)流,作為數(shù)據(jù)120和替換圖像131(以及相應的顯示指令), 并將這些數(shù)據(jù)轉發(fā)給驅動程序接口 127。取決于使用的協(xié)議(例如,用RDP), 接收計算機150還可以高速緩存替換圖像131以供稍后使用,或者用偏好使用 的某些其他圖像來代替該替換圖像131。驅動程序接口 127又將數(shù)據(jù)傳遞給顯 示器驅動程序145,而后者于是就描繪這些數(shù)據(jù)用于在客戶顯示屏155處顯示。 由此,客戶顯示屏155就示出了與發(fā)送計算機顯示屏105上非常相似的應用110 的相同副本。然而,相比于顯示屏105,顯示屏155還示出了替換應用115的 過濾指令123 (或某些其他的選定替換圖像),因為應用115被遮蔽。于是,發(fā)送計算機100執(zhí)行基本上所有的用于確定遮蔽的和/或共享的應 用數(shù)據(jù)區(qū)域的相關處理,使得接收計算機系統(tǒng)150只需要簡單讀取和描繪它所 接收的內容。這樣就允許接收計算機系統(tǒng)150簡單地執(zhí)行它已經(jīng)準備好的那些 功能,因此接收計算機系統(tǒng)就無需接收針對其已安裝資源的額外更新或擴展。 此外,這還允許本發(fā)明的實現(xiàn)能夠輕易地與遠程査看客戶/服務器模型和/或其 相關協(xié)議的舊版本兼容。上述各原理的一個額外方面是數(shù)據(jù)過濾可在內核模式下由驅動程序接口 和/或相應的驅動程序跟蹤,而非在用戶模式下經(jīng)由應用跟蹤。由此,各個驅動 程序能夠基于對什么要共享什么不要共享的直接的理解在實質上充當描繪和 發(fā)送圖像的同步和漏斗(funneling)代理。例如,當應用接收到假設為共享或 非共享的標識時,這一指定可以立即與該應用的外出數(shù)據(jù)(例如,120、 121) 相關聯(lián),并且還可以指向鏡像驅動程序135以及驅動程序接口 125。在鏡像驅 動程序135接收該應用數(shù)據(jù)不要共享的指示之時,鏡像驅動程序135就立刻在 發(fā)送者側位圖137a中用某些默認圖像來繪制或替換要遮蔽的內容。于是,因 為共享和非共享概念與所接收數(shù)據(jù)的同步能在鏡像驅動程序135處實現(xiàn),所以 該鏡像驅動程序135能夠避免由于在接收來自該應用的同步信息時的某些延遲 而導致發(fā)送非共享數(shù)據(jù)這樣的情況的發(fā)生。圖1B示出了在其中前述技術可在遠程査看或共享環(huán)境中實現(xiàn)的可選方 式。更具體地,圖1B示出了諸如在學習環(huán)境中使用發(fā)送計算機100的指導者 之類的廣播計算機系統(tǒng),如何使用簡單的遠程共享協(xié)議(諸如,RDP)來暫停 一表示。該暫停命令可以用這樣一種方式實現(xiàn)在數(shù)據(jù)被發(fā)送給任何一個或多 個相應的接收計算機系統(tǒng)(諸如,接收計算機150)之前,所有數(shù)據(jù)都由替換 圖像遮蔽。例如,圖1B示出了驅動程序接口 125向圖1A那樣接收到任何共享的和 遮蔽的數(shù)據(jù)120和121。然而,在這一示出的情況下,驅動程序接口125還接 收到暫停指令160,該暫停指令160諸如來自于使用協(xié)作API的共享應用110。 驅動程序接口 125隨后如前所述將數(shù)據(jù)120和121傳遞給顯示器驅動程序130, 并且也將數(shù)據(jù)120和121以及暫停指令160經(jīng)由驅動程序接口 125傳遞給鏡像 驅動程序135。暫停指令160還可以在這樣的情況下使用例如其中諸如指導者的發(fā)送用戶正改變表示中使用的應用,即他想要隱藏的前景應用。并非在關 閉和打開新窗口或應用時瞬間露出隱藏的應用,指導者希望用瞬時的暫停圖像 來覆蓋接收計算機系統(tǒng)的整個顯示屏。因此,指導者請求相關的應用發(fā)送暫停 指令160。一旦收到,驅動程序接口 125就傳遞要從應用110、 115發(fā)送的任何應用 數(shù)據(jù),還把暫停指令160傳遞給鏡像驅動程序135。指令160可基于相關應用 (例如,110和/或115)關于當前顯示內容的邊界標識了什么,以及指令的后 續(xù)準備,來用恰當選擇的暫停圖像替換了那些邊界之間的至少一部分。 一旦收 到,鏡像驅動程序135就能夠用暫停圖像161替換數(shù)據(jù)120和121。無論如何,鏡像驅動程序在發(fā)送者側位圖137a中繪制適當?shù)臅和D像, 在發(fā)送者側位圖137a中暫停圖像161替換部分或全部的數(shù)據(jù)120和121。如在 圖1A中所述,發(fā)送計算機100隨后將該數(shù)據(jù)以網(wǎng)絡分組的形式經(jīng)網(wǎng)絡140發(fā) 送到發(fā)送者接收者側位圖137b。接收計算機150隨后適當?shù)刈x取、中繼并描繪 該數(shù)據(jù),最終在顯示器115上顯示暫停圖像161。此外,接收計算機150可以 高速緩存暫停圖像161以供隨后使用,并且如果需要,也可以用其他恰當選擇 的暫停圖像來代替暫停圖像161。無論如何描繪和顯示,接收計算機150仍然 無法顯示發(fā)送計算機IOO具體想要隱藏或遮蔽的內容,至少部分是因為這些內 容沒有在第一實例中從發(fā)送計算機100中接收。例如,圖1A-1B的簡圖和對應的文本提供了多種組件和途徑,通過這些 組件和途徑就能夠在桌面共享環(huán)境中實現(xiàn)共享的和遮蔽的(或者非共享的、隱 藏的)數(shù)據(jù)的概念。本發(fā)明的各個實現(xiàn)還可以參考完成一方法的一系列動作來 描述。例如,圖2和3分別示出了過濾共享的和遮蔽的應用繪制命令以及用于 在遠程查看環(huán)境中實現(xiàn)暫停特征的方法的一系列動作的流程圖。以下將參考圖 1A-1B的組件和模塊來描述圖2和圖3。更具體地,圖2示出了在發(fā)送計算機處過濾共享的和遮蔽的應用繪制命令 的方法包括標識共享的繪制命令的動作200。動作200包括標識想要在遠程客 戶處顯示的一個或多個共享的繪制命令。例如,驅動程序接口 125接收來自共 享應用110的繪制命令120。該繪制命令120與指示由該繪制命令定義的圖像 被共享或者可由接收計算機150查看的指令相關聯(lián)。此外,圖2還示出了本方法還包括標識遮蔽的繪制命令的動作210。動作210包括標識想要對遠程客戶 隱藏的一個或多個遮蔽的繪制命令。例如,鏡像驅動程序135 (或者經(jīng)由接口 125,或者直接來自應用115)接收數(shù)據(jù)121,該數(shù)據(jù)121指示不想在接收計算 機150處顯示的繪制命令。此外,圖2示出的本方法還包括描繪共享的繪制命令的動作220。動作220 包括在位圖中描繪一個或多個共享的繪制命令。例如,鏡像驅動程序135直接 從應用110或經(jīng)由驅動程序接口 125接收數(shù)據(jù)120。因為鏡像驅動程序135理 解這是共享的內容,所以鏡像驅動程序135將該數(shù)據(jù)繪入發(fā)送者側位圖137a 內(即,應用110的圖像),并準備將其以分組形式經(jīng)網(wǎng)絡140發(fā)送出去。此外,本方法包括描繪替換圖像的動作230。動作230包括在位圖中描繪 一個或多個遮蔽的繪制命令的替換圖像,從而發(fā)送該替換圖像作為想要遮蔽內 容的替換。例如,鏡像驅動程序135接收數(shù)據(jù)消息120和121以及過濾指令123, 該過濾指令123指示關于在顯示屏內遮蔽邊界的幾何數(shù)據(jù)并且指示消息120和 121內包含的該數(shù)據(jù)不用于顯示。作為代替,過濾指令123含有要用來代替數(shù) 據(jù)120和121的實際的替換圖像131。因此,鏡像驅動程序135在發(fā)送者側位 圖137a內繪制替換圖像131。圖3根據(jù)本發(fā)明一個實現(xiàn)示出了一個類似的但是作為代替的方法,該方法 包括在實現(xiàn)暫停特征時過濾共享的和/或遮蔽的應用繪制信息。例如,圖3示出 了的這一方法包括標識來自一個或多個服務器應用的多條繪制命令的動作 300。動作300包括標識來自服務器處一個或多個應用的多條繪制命令,多條 繪制命令中的至少一條命令是想要在客戶計算機系統(tǒng)處顯示的。例如,如圖1B 所示,鏡像驅動程序135諸如經(jīng)由驅動程序接口 125,從應用110、 115等接收 任意數(shù)據(jù)120和121。該信息例如可以在把一表示從發(fā)送計算機100經(jīng)網(wǎng)絡140 送至一個或多個其他接收計算機系統(tǒng)期間接收。此外,圖3示出的本方法還包括接收暫停指令的動作310。動作310包括 從服務器處的一個或多個應用中的任何應用中接收暫停指令。例如,服務器100 的驅動程序接口 125接收暫停指令160,并將它們直接向前傳遞給鏡像驅動程 序135。作為代替,鏡像驅動程序135直接從應用110或115接收暫停指令160。 此外,圖3示出的本方法包括描繪暫停圖像來替換任何繪制命令的動作320。動作320包括在位圖內描繪暫停圖像,使得該暫停圖像替換多條繪制命令的任 何命令發(fā)送至客戶計算機系統(tǒng)。例如,圖1B示出了驅動程序接口 125發(fā)送暫 停圖像161(或者相同的對應指令)給鏡像驅動程序135。鏡像驅動程序135隨后 在將數(shù)據(jù)160分組并經(jīng)網(wǎng)絡140發(fā)送給接收計算機150之前,在發(fā)送者側位圖 137a內繪制數(shù)據(jù)160。因此,本發(fā)明的各個實現(xiàn)提供了用于有效描述對應于從共享或非共享應用 發(fā)送的數(shù)據(jù)的共享和非共享(或遮蔽的)數(shù)據(jù)的多種組件和方法。更具體地, 本發(fā)明的各個實現(xiàn)在本領域內提供了多個優(yōu)勢,因為需要發(fā)生的大多數(shù)處理要 比其他可用技術更為簡單。此外,更為復雜的處理方面僅需要在發(fā)送計算機處 出現(xiàn)。由此,本發(fā)明的各個實現(xiàn)就能夠輕易地適用于己經(jīng)結合了諸如RDP的 遠程共享協(xié)議的系統(tǒng),并且能夠提供豐富得多的共享/非共享顯示信息,而無需 要求對現(xiàn)有資源和協(xié)議的共享或擴展。本發(fā)明的實施例可以包括含有各種本發(fā)明計算機硬件的專用或通用計算 機,這將在以下做出進一步討論。具體地,本發(fā)明的范圍內的實施例還包括用 于攜帶或在其上儲存計算機可執(zhí)行指令或數(shù)據(jù)結構的計算機可讀介質。這類計 算機可讀介質可以是可由通用或專用計算機系統(tǒng)訪問的任一可用介質。作為示 例而非限制,這類計算機可讀介質可包括RAM、 ROM、 EEPROM、 CD-ROM 或其它光盤存儲、磁盤存儲或其它磁存儲設備、或可用來以計算機可執(zhí)行指令 或數(shù)據(jù)結構的形式攜帶或儲存所期望的程序代碼并可由通用或專用計算機訪 問的任何其他介質。當通過網(wǎng)絡或另一通信連接(或者硬連線、無線、或硬連線和無線的組合) 向計算機傳輸或提供信息時,計算機將該連接適當?shù)匾暈橛嬎銠C可讀介質。由 此,任一這類連接適當?shù)胤Q為計算機可讀介質。上述的組合也應當包括在計算 機可讀介質的范圍內。計算機可執(zhí)行指令例如包括促使通用計算機、專用計算機或專用處理設備 執(zhí)行一個或一組特定功能的指令和數(shù)據(jù)。雖然已經(jīng)用具體到結構特征和/或方法 動作的語言對主題進行了描述,但是應該理解在所附權利要求中定義的該主題 不必限于上述具體的特征或動作。相反,上述具體特征和動作作為實現(xiàn)權利要 求的示例形式而公開。本發(fā)明可以用其它具體形式來實施,而不脫離其精神或本質特征。所描述 的實施例被認為在所有方面都僅是說明性而非限制性的。因此,本發(fā)明的范圍 由所附權利要求書而非以上描述來指示。該權利要求書的等效技術方案的含義 和范圍以內的所有更改將被包含在其范圍內。
權利要求
1.在一種其中發(fā)送計算機系統(tǒng)被配置為經(jīng)網(wǎng)絡連接與接收計算機系統(tǒng)共享桌面視圖的計算機化系統(tǒng)中,一種在所述發(fā)送計算機系統(tǒng)處過濾共享的和遮蔽的應用繪制命令的方法,包括以下動作標識要在接收計算機系統(tǒng)中顯示的一個或多個共享的繪制命令;標識要對所述接收計算機系統(tǒng)隱藏的一個或多個遮蔽的繪制命令;在位圖中描繪所述一個或多個共享的繪制命令;以及在所述位圖中描繪替換圖像,使得所述替換圖像能夠替代所述一個或多個遮蔽的繪制命令而被發(fā)送。
2. 如權利要求1所述的方法,其特征在于,所述一個或多個共享的繪制命令 還想要在所述發(fā)送計算機處顯示。
3. 如權利要求l所述的方法,其特征在于,所述一個或多個遮蔽的繪制命令 還想要在所述發(fā)送計算機處顯示,但不想要在所述接收計算機系統(tǒng)的顯示器處顯 示。
4. 如權利要求l所述的方法,其特征在于,還包括在驅動程序接口處接收所 述一個或多個共享的繪制命令和所述一個或多個遮蔽的繪制命令的動作。
5. 如權利要求4所述的方法,其特征在于,所述驅動程序接口和所述鏡像驅 動程序在內核模式下工作。
6. 如權利要求4所述的方法,其特征在于,還包括在所述發(fā)送計算機系統(tǒng)處 將所述一個或多個共享的繪制命令和所述一個或多個遮蔽的繪制命令發(fā)送至本地 顯示器驅動程序的動作。
7. 如權利要求4所述的方法,其特征在于,還包括以下動作 把要在所述位圖中描繪的所述一個或多個共享的繪制命令發(fā)送至鏡像驅動程序;以及將所述替換圖像和所述一個或多個遮蔽的繪制命令發(fā)送至所述鏡像驅動程 序,將所述替換圖像從生成所述一個或多個遮蔽的繪制命令的遮蔽的應用提供給所 述驅動程序接口。
8. 如權利要求7所述的方法,其特征在于,還包括在鏡像驅動程序處接收所 述一個或多個共享的繪制命令現(xiàn)在與遮蔽的應用相關聯(lián)的指示。
9. 如權利要求8所述的方法,其特征在于,還包括在所述位圖中用所述替換圖像代替所述被描繪的一個或多個共享的繪制命令。
10. 如權利要求1所述的方法,其特征在于,所述鏡像驅動程序是遠程桌面 協(xié)議驅動程序,所述方法還包括將所述被描繪的數(shù)據(jù)作為網(wǎng)絡分組經(jīng)遠程桌面協(xié)議 發(fā)送至所述接收計算機系統(tǒng)的動作。
11. 如權利要求10所述的方法,其特征在于,包括在所述接收計算機系統(tǒng)處 的以下動作接收來自所述發(fā)送計算機系統(tǒng)的所述網(wǎng)絡分組;以及繪制所述網(wǎng)絡分組以供顯示,使得所述一個或多個共享的繪制命令按照期望 顯示,而所述一個或多個遮蔽的繪制命令則由所述替換圖像來表示。
12. 如權利要求l所述的方法,其特征在于,還包括以下動作從生成所述一個或多個共享的繪制命令或所述一個或多個遮蔽的繪制命令中任何命令的應用接收暫停指令;以及用暫停圖像文件代替所述一個或多個共享的繪制命令和所述一個或多個遮蔽 的繪制命令中任何命令的至少一部分。
13. 如權利要求12所述的方法,其特征在于,鏡像驅動程序接收來自所述應用的所述暫停命令,并且其中所述鏡像驅動程序在所述位圖中描繪所述暫停圖像文 件來替換所述共享的或遮蔽的繪制命令中的任何命令。
14. 在一種其中服務器被配置為經(jīng)網(wǎng)絡連接與客戶共享桌面視圖的計算機化系統(tǒng)中的所述服務器處, 一種當與客戶計算機系統(tǒng)共享顯示時實現(xiàn)暫停特征的方法,包括以下動作標識來自服務器處一個或多個應用的多條繪制命令,所述多條繪制命令中的 至少一條命令是想要在所述服務器處并想要在一客戶處顯示的。在驅動程序接口處接收來自所述服務器處所述一個或多個應用中任何應用的 暫停指令;以及鏡像驅動程序在位圖內描繪暫停圖像,使得所述暫停圖像代替所述多條繪制 命令中的任何命令發(fā)送至所述客戶。
15. 如權利要求14所述的方法,其特征在于,還包括所述驅動程序接口將所 述多條繪制命令發(fā)送給所述服務器處的顯示器驅動程序,使得所述顯示器驅動程序 描繪所述多條繪制指令以供在所述服務器處顯示。
16. 如權利要求14所述的方法,其特征在于,所述鏡像驅動程序是在內核模式下工作的遠程桌面協(xié)議驅動程序,所述鏡像驅動程序被配置為捕捉接收自應用的 圖形命令,并根據(jù)所述應用的指令來替換所述圖形命令。
17. 如權利要求16所述的方法,其特征在于,還包括將所述被描繪的暫停圖 像用數(shù)據(jù)流經(jīng)遠程桌面協(xié)議發(fā)送至所述客戶。
18. 如權利要求14所述的方法,其特征在于,所述來自一個或多個應用的多 條繪制指令包括要在所述客戶處顯示的數(shù)據(jù)以及要在所述服務器處顯示但不在所 述客戶處顯示的數(shù)據(jù)。
19. 如權利要求14所述的方法,其特征在于,所述暫停指令包括要用來替換 所述多條繪制命令中至少一條的所述暫停圖像。
20. 在一種其中網(wǎng)絡服務器被配置為經(jīng)網(wǎng)絡連接與接收計算機系統(tǒng)共享桌面 視圖的計算機化系統(tǒng)中的發(fā)送處,一種具有存儲其上的計算機可執(zhí)行指令的計算機 程序產(chǎn)品,當所述指令被執(zhí)行時,使得所述發(fā)送計算機系統(tǒng)處的一個或多個處理器 執(zhí)行一種方法,所述方法包括以下動作標識要在接收計算機系統(tǒng)中顯示的一個或多個共享的繪制命令; 標識要對所述接收計算機系統(tǒng)隱藏的一個或多個遮蔽的繪制命令; 在位圖中描繪所述一個或多個共享的繪制命令;以及在所述位圖中描繪代替圖像,使得所述代替圖像能夠替代所述一個或多個遮 蔽的繪制命令而被發(fā)送。
全文摘要
本發(fā)明的各個實現(xiàn)包括在發(fā)送計算機系統(tǒng)處的一個或多個應用生成想要經(jīng)網(wǎng)絡連接在接收計算機系統(tǒng)處顯示的數(shù)據(jù)。在發(fā)送計算機系統(tǒng)處的鏡像驅動程序在要發(fā)送給接收計算機系統(tǒng)的位圖內描繪共享數(shù)據(jù)。鏡像驅動程序還描繪一個或多個簡單的圖像文件來替換不想要顯示的非共享數(shù)據(jù),并將替換圖像發(fā)送給接收計算機系統(tǒng)。接收計算機系統(tǒng)又使用它現(xiàn)有的資源描繪它接收的內容。在一個實現(xiàn)中,驅動程序接口在發(fā)送計算機系統(tǒng)處作為一個或多個生成數(shù)據(jù)的應用、一個或多個顯示器驅動程序和鏡像驅動程序的中介。于是,驅動程序接口可以將數(shù)據(jù)傳遞給普通的顯示器驅動程序,也可以將數(shù)據(jù)傳遞給將在隨后恰當過濾數(shù)據(jù)的鏡像驅動程序。
文檔編號G06F17/00GK101263469SQ200680033201
公開日2008年9月10日 申請日期2006年9月11日 優(yōu)先權日2005年9月12日
發(fā)明者E·索爾, W·舒米德 申請人:微軟公司