CN101652742A - 非合成桌面中的基于窗口呈现框架的应用程序的远程发送 - Google Patents

非合成桌面中的基于窗口呈现框架的应用程序的远程发送 Download PDF

Info

Publication number
CN101652742A
CN101652742A CN200880010279A CN200880010279A CN101652742A CN 101652742 A CN101652742 A CN 101652742A CN 200880010279 A CN200880010279 A CN 200880010279A CN 200880010279 A CN200880010279 A CN 200880010279A CN 101652742 A CN101652742 A CN 101652742A
Authority
CN
China
Prior art keywords
visual tree
application program
client
desktop
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880010279A
Other languages
English (en)
Other versions
CN101652742B (zh
Inventor
I·布鲁吉洛
L·布兰克
N·阿布多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101652742A publication Critical patent/CN101652742A/zh
Application granted granted Critical
Publication of CN101652742B publication Critical patent/CN101652742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

描述了用于远程发送诸如基于Windows呈现基础(WPF)的应用程序等应用程序的系统和方法。该系统和方法基于远程发送与结构表示相关联的信息。在不在客户机或远程端呈现内容的情况下,结构表示对应于要在远程端或客户机端显示的桌面的可视内容或元素。与结构表示或结构信息相关联的信息包括指定在显示时可视内容在桌面上的放置的数据。该信息被用于在客户机端重新创建结构表示并按照该结构表示来显示可视内容。

Description

非合成桌面中的基于窗口呈现框架的应用程序的远程发送
背景
在某些操作系统中,在基于计算的设备上运行应用程序的桌面的最终可视表示是合成的结果。合成是可用于在可视化设备上表示各种可视组件的过程。可视化设备可以是监视器,而桌面则是物理可视化设备的逻辑抽象。合成桌面的过程包括创建各种可视组件的结构表示,并将例如颜色、桌面上的位置等属性与它们相关联,随后按照该结构表示来显示内容。合成的过程可由基于计算机的应用程序来利用。此类实现可视内容或元素的合成的基于计算机的应用程序的示例包括
Figure G2008800102794D00011
呈现基础(WPF)应用程序。
在远程发送(remote)时,桌面被完全合成并远程发送到客户机或用户端。在合成过程之后的与桌面相关的数据的传送导致网络资源的不正确利用,从而使远程发送过程低效且缓慢。
概述
提供本概述来介绍关于诸如基于
Figure G2008800102794D00012
呈现基础(以下称为WPF)的应用程序等应用程序的远程发送的概念。这些概念将在以下详细描述中进一步描述。本概述并不旨在标识所要求保护的主题的必要特征,也不旨在用于在一实施例中确定所要求保护的主题的范围。
附图简述
参考附图来描述详细描述。在附图中,附图标记中的最左边的数字标识该附图标记首次出现的附图。在各附图中,使用相同的标号来指示相同的特征和组件。
图1示出在非合成桌面中实现基于
Figure G2008800102794D00013
呈现基础的应用程序的远程发送的示例性系统。
图2示出将可视内容呈现到GDI和WPF应用程序的呈现目标。
图3示出了示例性视觉树。
图4示出示例性的基于服务器的设备。
图5示出各种组件之间的用于在非合成桌面中远程发送基于
Figure G2008800102794D00021
呈现基础的应用程序的交互。
图6示出用于在非合成中远程发送基于WPF的应用程序的示例性方法。
详细描述
描述了用于远程发送诸如基于
Figure G2008800102794D00022
呈现基础(WPF)的应用程序等应用程序的系统和方法。该系统和方法基于远程发送与结构表示相关联的信息。这些结构表示对应于应用程序或桌面的可视内容或元素。该结构表示允许在不在远程端呈现内容的情况下在远程端或客户机端显示应用程序。与结构信息相关联的信息包括指定在显示时可视内容在桌面上的放置的数据。结构信息还包括经由(与结构表示相关联的)视觉树呈现的窗口的各部分与将由诸如窗口管理器代理等默认通用系统组件呈现的窗口的各部分之间的关系的描述。结构信息用于在客户机端重新创建结构表示并按照该结构表示来显示可视内容。在一个实现中,结构信息由与桌面相关的特定呈现目标的位置的知识来形成。在一个实现中,该结构表示可以是视觉树。
为此,该系统能够将结构信息从远程端远程发送到客户机端。该结构信息被用于正确地定位由一个或多个视觉树生成的可视内容以及由诸如窗口管理器代理等默认通用系统组件呈现的内容。
为此,该系统能够将结构表示从远程端远程发送到客户机端,该结构表示被用于该结构表示的重新生成(例如,视觉树)。该系统允许按照该结构表示来光栅化和呈现客户机端上的可视内容。
一种系统可以包括可以影响对应于桌面的结构信息从远程端到客户机端的远程发送的一个或多个计算机程序或代理。代理将要显示的桌面的一个或多个可视内容相关,并生成对应的结构表示(例如,视觉树)。该结构表示相关于提供确定在显示时可视内容的可视特征的属性的结构信息。在远程端的代理还可以记录结构表示中的任何改变,并对在客户机端生成的结构表示作出对应的改变。经修改的结构表示随后可用于相应地显示可视内容。在一实现中,远程端是主存一个或多个基于计算的应用程序或程序的服务器计算设备。
尽管所描述的用于在不合成桌面的情况下在非合成桌面上远程发送基于WPF的应用程序的系统和方法的各方面可以在任何数量的不同计算系统、环境、和/或配置中实现,但在以下示例性系统架构的上下文中描述这些实施例。
示例性系统
图1示出用于在非合成桌面上远程发送基于
Figure G2008800102794D00031
呈现基础(WPF)应用程序的应用程序的示例性系统100。为此,该系统100包括通过网络104与一个或多个客户机计算设备106(1)-(N)通信的服务器计算设备102。例如,在一个实现中,系统100可以是公司网络,包括遍及若干国家的数千台办公室PC、各种服务器以及任何其他基于计算的设备。或者,在另一可能的实现中,系统100可包括具有属于单个家庭的有限数目的PC的家庭网络。
系统100可以包括,或类似于由
Figure G2008800102794D00032
公司提供的终端服务(TerminalServiceTM)系统,其中多个客户机计算设备106访问安装或主存在服务器计算设备102上的应用程序。因此,希望访问主存在服务器计算设备102上的应用程序的客户机计算设备106通过
Figure G2008800102794D00033
界面与该应用程序交互。在客户机端显示的
Figure G2008800102794D00034
界面复制将在服务器计算设备102上呈现的桌面环境,就如同用户正在通过服务器计算设备102直接访问应用程序而不是远程地通过客户机计算设备106访问一样。应该理解,可以为一定数量的应用程序、或为主存在服务器计算设备102上的所有应用程序提供访问。
主存在服务器计算设备102上的应用程序和服务是可由客户机计算设备106通过使用例如远程桌面协议(RDP)等一个或多个协议远程发送桌面来访问的。对此类协议的使用可以在诸如Terminal ServicesTM系统等远程客户机访问系统的上下文中实现。
客户机计算设备106可通过包括LAN、WAN或任何其它本领域已知的联网技术在内的有线和/或无线网络来按照各种组合彼此耦合或耦合到服务器计算设备102。
服务器计算设备102和客户机计算设备106可以使用支持基于WPF的应用程序的操作系统来实现。例如,可以向客户机计算设备106提供的操作系统包括但不限于由
Figure G2008800102794D00041
公司提供的
Figure G2008800102794D00042
VistaTM操作系统。
服务器计算设备102还包括重定向代理108。重定向代理108能够操纵主存在服务器计算设备102上的应用程序到客户机计算设备106的远程发送。为实现此操纵,重定向代理108收集并传送与服务器计算设备102的桌面相关联的结构信息,并根据该结构信息呈现与服务器计算设备102的桌面相关联的可视内容。
图2示出各种类型的基于计算机的应用程序(例如,GDI应用程序或WPF应用程序)在基于计算的设备的桌面上呈现它们的相关联可视内容的方式。一般而言,用户可以通过界面(例如,
Figure G2008800102794D00043
界面)与应用程序交互。作为这些应用程序的执行的结果生成的数据在与该应用程序相关联的
Figure G2008800102794D00044
界面中是可见的。
框202示出了将与GDI应用程序204相关联的可视内容呈现到呈现目标206上。呈现目标可被定义为其中放置了所有光栅化以及所呈现的像素的区域。帧缓冲区是呈现目标的一个示例。GDI应用程序204一般以即时绘图模式来呈现其可视内容。在这种情况下,GDI应用程序204将其输出定向到例如帧缓冲区等呈现目标206。因此,每当一绘图或可视表示由GDI应用程序204创建,它就被直接呈现到帧缓冲区上。万一在GDI应用程序204中发生了某些改变,则再次将其整个可视内容重新呈现到帧缓冲区上。应该理解,GDI应用程序204光栅化并呈现要显示的可视内容,从而不在描述绘图操作与经由光栅化和呈现过程来执行绘图之间作出逻辑区分。
框204示出与WPF应用程序208相关联的可视内容的呈现。在WPF应用程序208中呈现可视内容可以与在GDI应用程序204中呈现不同,因为与GDI应用程序204不同,要显示的WPF应用程序208的可视内容不直接被呈现到帧缓冲区。在WPF应用程序208的情况下,将相关联的可视内容单独地存储在例如存储缓冲区中。可视内容可以由光栅化模块生成。
例如,在
Figure G2008800102794D00045
VistaTM操作系统中,可视内容作为被称为视觉树210的结构表示来存储。视觉树210具有由节点来表示的核心视觉内容和相关信息。节点可以指定像空间放置、应用程序窗口的大小、绘图资源以及绘图指令等属性。
负责显示WPF应用程序208内容的显示执行模块选择视觉树的各部分以供在呈现目标212上(例如,帧缓冲区)显示。该显示执行模块可以是WPF呈现线程。为了按照视觉树210来呈现可视内容,WPF呈现线程遍历视觉树210的所有节点并按照视觉树210来呈现可视内容。对于由执行应用程序作出的任何改变,存在对视觉树210的节点的相应改变。WPF呈现线程还可以记录对视觉树210的改变,并重新呈现特定于受执行应用程序影响的改变的各部分。
应该注意,远程地访问桌面的方式可以与应用程序的远程访问不同。例如,在远程地访问桌面的情况下,可以首先创建相应于该桌面的视觉树。这之后是对应于可在该桌面上运行的一个或多个应用程序的视觉树的创建。随后,将所有视觉树作为子节点关联到根节点。随后将具有相关联的桌面以及应用程序相关信息的此视觉树合成,且呈现视觉内容。如前所述,视觉树可以仅表示结构,而不表示桌面的可视表示。因此,可以得出视觉树的生成将可视表示与桌面的可视内容的结构特征分开。
一般而言,桌面的合成的过程开始于指定一个或多个可视元素之间的关系,如指定窗口的z次序、窗口的相对放置、透明程度等。因此,生成视觉树,其是所考虑的可视元素的结构表示。可视元素形成该视觉树的一个或多个节点。随后,显示执行模块将潜在属性(例如,效果、变换等)与可视元素相关联并创建视觉树的时间点视图。在像由
Figure G2008800102794D00051
公司提供的
Figure G2008800102794D00052
VistaTM操作系统等操作系统的情况下,合成可以由被称为桌面窗口管理器(,DesktopManager,DWN)的操作系统组件来管理。
图3示出了示例性视觉树300。视觉树300包括作为该结构的父节点或根节点的根节点302。视觉树300还包括一个或多个子节点304(1)-(N)。在所示的多个子节点中,一个节点,即节点304(1)表示桌面。剩余节点304(2)-(N)是可以在视觉树300所对应的桌面上运行的一个或多个应用程序的相应结构表示或视觉树。在特定实现中,一个或多个节点304(2)-(N)可以是其它子节点的父节点。例如,如所示节点304-(2)是一个或多个子节点306(1)-(N)的父节点。此外,子节点306(1)-(N)可以额外地提供定义节点304(2)-(N)且进而定义相关联的应用程序的结构表示的属性。这种属性的示例包括但不限于窗口的次序、裁剪等等。
图4示出服务器计算设备102的相关示例性组件。服务器计算设备102可以包括一个或多个处理器402和存储器404。处理器402可以包括微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令操作信号的任何设备。处理器402被配置成取回并执行存储在存储器404中的计算机可读指令,并且具有其它能力。
存储器404可包括本领域已知的任何计算机可读介质,例如包括易失性存储器(例如RAM)和/或非易失性存储器(例如,闪存等)。如图4中所示,存储器404也可包括程序406和数据408。程序406例如包括重定向代理108、远程发送模块410、视觉树生成器412以及其它应用程序414。其它应用程序414包括补充任何基于计算的设备上的如文字处理程序、电子数据表应用程序等应用程序的程序。在一个实现中,其它应用程序414包括光栅化模块。
数据408例如包括节点数据416、结构信息数据418、光栅化数据420、以及其它数据422。节点数据416存储与例如子节点304(1)-(N)的一个或多个子节点相关的信息。如上所示,在一个实现中,子节点对应于正在桌面上运行一个或多个应用程序。重定向代理108还包括结构重定向代理424以及
Figure G2008800102794D00061
管理器重定向代理426。
在一个实现中,节点数据416包括关于关系的结构信息数据418以及关于桌面的WPF应用程序的呈现目标的位置。
图5示出客户机计算设备106的相关示例性组件。在一个实现中,客户机计算设备106包括一个或多个处理器502和存储器504。处理器502例如包括:微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令操作信号的任何设备。处理器502被配置成取回并执行存储在存储器504中的计算机可读指令,并且具有其它能力。
存储器504可包括本领域已知的任何计算机可读介质,例如包括易失性存储器(例如RAM)和/或非易失性存储器(例如,闪存等)。如图5中所示,存储器504也可包括程序506和数据508。程序506例如包括显示执行模块510、视觉树生成器512以及其它应用程序514。其它应用程序514包括补充例如文字处理程序、电子数据表应用程序等应用程序的程序。在一个实现中,其它应用程序514包括光栅化模块。作为示例,数据508包括可视数据516以及其它数据518。
桌面和其中运行的应用程序的远程发送通过重定向代理108来实现。重定向代理108影响与服务器计算设备102处的桌面相关联的结构信息和结构表示的传送,并将它呈现在客户机端处(例如,客户机计算设备106)。
如上所示,一个或多个应用程序被主存在服务器计算设备102上。一个或多个客户机计算设备106的用户可以请求发起到服务器计算设备102的远程会话来访问应用程序。在一个实现中,服务器计算设备102与客户机计算设备106中的一个或多个之间的远程会话由远程发送模块410发起。
在远程会话的初始阶段中,服务器计算设备102在没有不远程发送应用程序的任何结构表示(例如,视觉树)的情况下操作。在这种情形中,将来自服务器计算设备102上的一个或多个应用程序的所有图形的呈现定位于单个即时绘图模式可视表面中。在一个实现中,该可视表面可以是帧缓冲区。
在创建了WPF应用程序(例如,WPF应用程序208)时,服务器计算设备102的图形系统转换到称为“结构重定向”模式的新的绘图模式。在一实现中,结构重定向模式通过结构重定向代理422来实现。结构重定向代理422维护具有一个或多个视觉树的单个即时模式可视表面。视觉树由视觉树生成器412创建并由相应的一个或多个WPF应用程序208控制。如上所述,视觉树包括定义各种关系(例如,一个或多个可视元素之间的应用程序窗口的z次序)的结构信息。在一实现中,结构信息被存储在节点数据416内的结构信息数据418中。
窗口管理器代理426向结构重定向代理424发送结构信息。结构重定向代理424收集节点数据416并将其传送到客户机端处的视觉树生成器512。由结构重定向代理424维护的视觉树涵盖整个桌面。在一个实现中,将源于窗口管理器的节点数据416从结构重定向层代理424传送到客户机端处的视觉树生成器512。应该注意,在此阶段,可以将处理能力专用于维护视觉树以及为未被视觉树覆盖的桌面的区域执行任何其它绘图操作。因为在远程端没有合成过程发生,所以具有组成应用程序的桌面处于非合成状态。还应该注意,在此阶段,对任何结构表示或视觉树在远程端没有光栅化发生。
一旦节点数据416(源于窗口管理器代理426)被结构重定向代理424收集到,它即被发送到远程显示客户机。结构重定向代理424指示远程显示客户机(例如,客户机计算设备106)在客户机端处(例如,在客户机计算设备106处)重新创建对应于节点数据416的视觉树。在一个实现中,客户机计算设备106处的视觉树由视觉树生成器512生成。所创建的视觉树将具有作为被远程发送的桌面的表示的子树、以及与由用户通过该桌面执行的WPF应用程序208一样多的其它子树。在另一个实现中,将视觉树生成器512所生成的视觉树存储在其它数据518中。
还可以将一个或多个GDI应用程序204连同WPF应用程序208一起从服务器计算设备102处远程发送。在这种情况下,视觉树的根节点的一个子节点与要由所有GDI应用程序204显示的内容相关联,且与和用户或客户机所执行的WPF应用程序208一样多的其它子树相关联。在一实现中,将与一个或多个GDI应用程序204相关联的可视内容存储在光栅化数据416中。
在例如客户机计算设备106等客户机端处创建了视觉树后,客户机计算设备106的显示执行模块510根据该视觉树呈现可视内容。将所呈现的可视内容存储在可视数据516中。以这种方式,在不在服务器计算设备102处呈现并合成桌面的情况下远程发送该桌面。显示执行模块510可以是具有
Figure G2008800102794D00081
VistaTM操作系统的客户机计算设备106中的媒体基础结构层中的呈现线程。
示例性方法
用于非合成桌面中远程发送基于WPF的应用程序的示例性方法参考图1到5且尤其参考图6来描述。图6示出发生在服务器计算设备102与寻求访问主存在服务器计算设备102上的应用程序的一个或多个客户机计算设备106之间的交互。
这些示例性方法可在计算机可执行指令的一般上下文中描述。一般而言,计算机可执行指令可包括执行特定功能或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、功能等。这些方法还能在其中功能由通过通信网络链接的远程处理设备完成的分布式计算环境中实现。在分布式计算环境中,计算机可执行指令可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
图7示出在基于计算的设备上实现使用重叠代码的软件保护的示例性方法700。描述方法的次序并不旨在解释为限制,并且任何数量的所述方法框都可以按任何次序组合以实现本方法或实现替换方法。另外,可从方法中删除各个框,而不背离此处所述的主题的精神和范围。此外,本方法可用任何合适的硬件、软件、固件或其组合来实现。
在框702,将桌面上的一个或多个可视组件彼此联系。例如,可视组件对应于可在服务器计算设备102上运行的一个或多个应用程序所生成的可视输出(例如,
Figure G2008800102794D00091
界面)。在一个实现中,可视组件之间的关系可以是要显示的窗口的z次序、相对放置、透明度等。
在框704,在启动了第一WPF应用程序时,收集关于桌面中运行的所有应用程序集的结构信息数据,并将其发送到视觉树生成器512。例如,收集与视觉树相关联的结构信息。在一实现中,结构重定向代理422从窗口管理器代理收集与视觉树相关联的结构信息数据421或节点数据416。在一个实现中,所传送的节点数据416由客户机端处的视觉树生成器512管理。应该注意,在此阶段,可以仅为了维护该视觉树而完成处理。具有组成应用程序的桌面以结构形式来表示,因此处于非合成状态。
在框706,创建具有可视组件作为节点的视觉树。如上所述,视觉树是要显示的视觉组件的结构表示。例如,在发起远程会话时,服务器计算设备102在没有任何与被远程发送的应用程序相关联的任何视觉树的情况下操作。在这种情形中,将来自服务器计算设备102上的一个或多个应用程序的所有图形的呈现定位于单个即时模式可视表面中。
当在服务器计算设备102处启动例如WPF应用程序208等WPF应用程序时,其图形系统转换到结构重定向模式,这通过结构重定向代理422来实现的。结构重定向代理422维护具有例如视觉树300等一个或多个视觉树的单个即时模式可视表面。
在框708,在远程客户机端构造视觉树。例如,结构重定向代理422形成与视觉树相关联的节点数据416,并指示一个或多个客户机计算设备106中的视觉树生成器512来重新创建视觉树。由视觉树生成器512创建的视觉树对应于所传送的节点数据416。所创建的视觉树将具有表示被远程发送的桌面的子树节点、以及与用户在服务器计算设备102上执行的WPF应用程序208一样多的其它子树节点。
在框710,在远程客户机端按照所构造的视觉树来呈现可视内容。例如,一旦创建了视觉树,则客户机计算设备106的显示执行模块510按照每个视觉树来呈现可视内容。在一个实现中,显示执行模块510是
Figure G2008800102794D00101
Vista和类似操作系统的媒体基础结构层组件中的呈现线程。
此外,还可以将一个或多个GDI应用程序204与WPF应用程序208一起从服务器计算设备102处远程发送。在这种情况下,视觉树的根节点的一个子节点与要由所有GDI应用程序204显示的内容相关联,且与和用户或客户机所执行的WPF应用程序208一样多的其它子树相关联。与GDI应用程序204相关联的可视内容以即时绘图模式在GDI应用程序204中呈现,而WPF应用程序208以如上例所示的方式来呈现。
结论
尽管已经用结构特征和/或方法专用的语言描述了用于在非合成桌面中远程发送基于WPF的应用程序的各实施例,但是应该理解所附权利要求的主题不必限于所述具体特征或方法。相反,特定特征和方法是作为使用代码重叠的软件保护的示例性实现而公开的。

Claims (20)

1.一种服务器计算设备,包括:
存储器;
操作上耦合到所述存储器的一个或多个处理器;
所述存储器中的重定向代理,所述重定向代理远程发送所述服务器计算设备的一个或多个桌面和应用程序;以及
传送桌面的结构信息的结构重定向代理。
2.如权利要求1所述的服务器计算设备,其特征在于,远程发送WPF和GDI应用程序。
3.如权利要求1所述的服务器计算设备,其特征在于,与GDI应用程序相关联的可视内容在被发送到一个或多个客户机计算设备之前作为光栅化数据被存储在所述服务器计算设备中。
4.如权利要求1所述的服务器计算设备,其特征在于,还包括创建对应于所述应用程序的视觉树的视觉树生成器。
5.如权利要求4所述的服务器计算设备,其特征在于,所述视觉树包括作为桌面的表示的子树以及被远程发送到一个或多个客户机计算设备的WPF应用程序的相应子树。
6.如权利要求1所述的服务器计算设备,其特征在于,还包括向所述结构重定向代理提供结构信息来生成结构信息节点数据的窗口管理器代理。
7.如权利要求6所述的服务器计算设备,其特征在于,所述结构重定向管理器代理维护用于整个桌面的视觉树并指示远程显示客户机创建视觉树。
8.一种客户机计算设备,包括:
存储器;
操作上耦合到所述存储器的一个或多个处理器;以及
所述存储器中的视觉树生成器,其中所述视觉树生成器创建视觉树,所述视觉树包括表示桌面的子树以及通过所述桌面执行的一个或多个远程应用程序的相应子节点。
9.如权利要求8所述的客户机计算设备,其特征在于,视觉树作为数据单独地存储在所述客户机计算设备中。
10.如权利要求8所述的客户机计算设备,其特征在于,所述客户机计算设备接收WPF和GDI应用程序以供呈现。
11.如权利要求8所述的客户机计算设备,其特征在于,还包括用于按照所述视觉树来呈现可视内容的显示执行模块。
12.如权利要求11所述的客户机计算设备,其特征在于,所述显示执行模块是媒体基础结构层的可操作组件。
13.一种方法,包括:
将一个或多个要显示的可视组件相联系;
创建具有被表示为视觉树的节点的可视组件的视觉树;
收集与所述视觉树相关联的结构信息并将所述结构信息传送到管理重定向层;以及
基于所述结构信息在远程客户机处构造视觉树。
14.如权利要求13所述的方法,其特征在于,所述联系包括以下各项的一个或多个:要显示的窗口的z次序、相对放置、以及透明度。
15.如权利要求13所述的方法,其特征在于,所述创建视觉树是在没有将视觉树关联到被远程发送的应用程序的情况下执行的。
16.如权利要求13所述的方法,其特征在于,所述收集涉及专门地维护所述视觉树的处理。
17.如权利要求13所述的方法,其特征在于,所述视觉树对应于所传送的节点数据。
18.如权利要求13所述的方法,其特征在于,所述GDI应用程序和WPF应用程序由可视组件来表示。
19.如权利要求13所述的方法,其特征在于,还包括在启动WPF应用程序时维护单个即时模式可视表面。
20.如权利要求13所述的方法,其特征在于,还包括根据所述视觉树在远程客户机设备处呈现可视内容。
CN2008800102794A 2007-03-30 2008-02-28 非合成桌面中的基于窗口呈现框架的应用程序的远程发送 Active CN101652742B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/694,510 2007-03-30
US11/694,510 US8108799B2 (en) 2007-03-30 2007-03-30 Remoting of windows presentation framework based applications in a non-composed desktop
PCT/US2008/055322 WO2008121474A1 (en) 2007-03-30 2008-02-28 Remoting of windows presentation framework based applications in a non-composed desktop

Publications (2)

Publication Number Publication Date
CN101652742A true CN101652742A (zh) 2010-02-17
CN101652742B CN101652742B (zh) 2013-04-03

Family

ID=39796482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800102794A Active CN101652742B (zh) 2007-03-30 2008-02-28 非合成桌面中的基于窗口呈现框架的应用程序的远程发送

Country Status (5)

Country Link
US (1) US8108799B2 (zh)
EP (2) EP3525093B1 (zh)
JP (1) JP5087674B2 (zh)
CN (1) CN101652742B (zh)
WO (1) WO2008121474A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779355A (zh) * 2012-04-12 2012-11-14 天脉聚源(北京)传媒科技有限公司 一种实现三维饼状图动态呈现的方法
CN111107127A (zh) * 2018-10-26 2020-05-05 辉达公司 适用于远程桌面应用程序的个体应用程序窗口的流式传输

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250424A1 (en) * 2007-04-04 2008-10-09 Ms1 - Microsoft Corporation Seamless Window Implementation for Windows Presentation Foundation based Applications
US8930472B2 (en) 2007-10-24 2015-01-06 Social Communications Company Promoting communicant interactions in a network communications environment
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
CN102084354A (zh) 2008-04-05 2011-06-01 社会传播公司 基于共享虚拟区域通信环境的装置和方法
US8203566B2 (en) 2009-05-29 2012-06-19 Microsoft Corporation Fixed function pipeline application remoting through a shader pipeline conversion layer
US8761520B2 (en) 2009-12-11 2014-06-24 Microsoft Corporation Accelerating bitmap remoting by identifying and extracting 2D patterns from source bitmaps
JP5521690B2 (ja) * 2010-03-26 2014-06-18 日本電気株式会社 画面データ配信システム、サーバ、画面データ配信方法、及びプログラム
US8768067B2 (en) 2010-04-15 2014-07-01 Microsoft Corporation Accelerating bitmap remoting by identifying and extracting patterns from source bitmaps through parallel processing techniques
US10031636B2 (en) * 2011-09-08 2018-07-24 Microsoft Technology Licensing, Llc Remoting desktop displays using move regions
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9286122B2 (en) * 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9443331B2 (en) 2013-06-06 2016-09-13 Microsoft Technology Licensing, Llc Input object for routing input for visual elements
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
US9471194B2 (en) 2013-10-29 2016-10-18 Microsoft Technology Licensing, Llc Rendering windows having transparent properties from a remote desktop environment
US9565227B1 (en) 2014-06-16 2017-02-07 Teradici Corporation Composition control method for remote application delivery
US10102664B1 (en) * 2014-12-03 2018-10-16 Charles Schwab & Co., Inc. System and method for causing graphical information to be rendered
KR102085959B1 (ko) * 2019-04-17 2020-03-06 최동준 원격 다중 접속 시스템 및 이의 동작방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237092B1 (en) 1998-05-05 2001-05-22 International Business Machines Corp. Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
WO2002098112A2 (en) * 2001-05-29 2002-12-05 Transchip, Inc. Patent application cmos imager for cellular applications and methods of using such
US7441108B2 (en) 2002-11-19 2008-10-21 Ken Scott Fisher Portable memory drive with portable applications and cross-computer system management application
US7117448B2 (en) 2002-12-17 2006-10-03 International Business Machines Corporation System and method for determining desktop functionality based on workstation and user roles
US7173635B2 (en) 2003-03-25 2007-02-06 Nvidia Corporation Remote graphical user interface support using a graphics processing unit
US7088374B2 (en) 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US20050021756A1 (en) 2003-07-26 2005-01-27 Grant Bruce K. Method of developing, delivering and rendering network applications
US7511718B2 (en) 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7012606B2 (en) * 2003-10-23 2006-03-14 Microsoft Corporation System and method for a unified composition engine in a graphics processing system
US7711840B2 (en) * 2003-10-23 2010-05-04 Microsoft Corporation Protocol for remote visual composition
US20050125739A1 (en) 2003-11-20 2005-06-09 Thompson Jeffrey W. Virtual desktop manager system and method
US7657837B2 (en) 2005-04-06 2010-02-02 Ericom Software Ltd. Seamless windows functionality to remote desktop sessions regarding z-order
US20060230105A1 (en) 2005-04-06 2006-10-12 Ericom Software B 2001 Ltd Method of providing a remote desktop session with the same look and feel as a local desktop
US8418132B2 (en) 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US8046737B2 (en) 2005-04-29 2011-10-25 Microsoft Corporation XML application framework
US7609280B2 (en) 2005-09-07 2009-10-27 Microsoft Corporation High level graphics stream
US8527563B2 (en) * 2005-09-12 2013-09-03 Microsoft Corporation Remoting redirection layer for graphics device interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779355A (zh) * 2012-04-12 2012-11-14 天脉聚源(北京)传媒科技有限公司 一种实现三维饼状图动态呈现的方法
CN111107127A (zh) * 2018-10-26 2020-05-05 辉达公司 适用于远程桌面应用程序的个体应用程序窗口的流式传输

Also Published As

Publication number Publication date
EP2142982B1 (en) 2019-09-11
EP2142982A1 (en) 2010-01-13
US8108799B2 (en) 2012-01-31
CN101652742B (zh) 2013-04-03
JP2010525428A (ja) 2010-07-22
WO2008121474A1 (en) 2008-10-09
EP3525093B1 (en) 2022-06-15
US20080244458A1 (en) 2008-10-02
JP5087674B2 (ja) 2012-12-05
EP2142982A4 (en) 2013-04-10
EP3525093A1 (en) 2019-08-14

Similar Documents

Publication Publication Date Title
CN101652742B (zh) 非合成桌面中的基于窗口呈现框架的应用程序的远程发送
KR101159396B1 (ko) 그래픽 개체 인코딩 방법, 그래픽 개체 렌더링 방법 및 렌더링 데이터 구조 동기화 방법
US20080250424A1 (en) Seamless Window Implementation for Windows Presentation Foundation based Applications
US7937452B2 (en) Framework for rendering plug-ins in remote access services
CN101263485B (zh) 用于图形设备接口的远程重定向层
JP4827923B2 (ja) 高レベルグラフィックスシステム
US10496658B2 (en) Method and system of visually depicting hierarchical data through selective colorization
CN103312814B (zh) 云管理平台和虚拟机终端用户间vnc隐通道的建立方法
US20050289176A1 (en) Application sharing smoothness
KR20230085389A (ko) 컴퓨터 그래픽을 이용한 IoT 건물 관제 디지털 트윈 구축 장치 및 방법
CN101411164B (zh) 用于呈现远程可视合成的方法
US20080313269A1 (en) Remoting of Console Operating in a Multi-Session Environment
EP4057138A1 (en) Improved streaming of graphic rendering elements
Jüttner et al. Web based 3D Visualization for COMSOL Multiphysics®
CN117221300A (zh) 一种三维WebGIS场景下物联网设备实时监控可视化方法
JP2014089710A (ja) 仮想マシン割り当てシステム及びその割り当て方法
WO2012006898A1 (zh) 嵌入式系统及其虚拟屏幕实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150514

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150514

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.