Kaiyun(中国)开云·官方网站

计算机系统集成的制开云APP 开云官网入口作方法 | 开云(Kaiyun.com)
× 快速导航
新闻资讯
分类
计算机系统集成的制开云APP 开云官网入口作方法
发布日期:2023-05-25 22:43:45

  【专利摘要】本公开涉及计算机系统集成,包括一种集成第一计算机(120)和第二计算机(110)的方法。第一计算机执行具有图形用户界面的软件应用(125)。第二计算机渲染(506)该图形用户界面,接收(508)在软件应用中已经发生的事件的标识,并响应于该事件的发生识别(510)要由第二计算机执行的动作,从预定义的动作序列中识别该动作。第二计算机执行(512)识别的动作以修改图形用户界面的渲染。

  [0001]本公开涉及计算机系统。更具体地,本公开涉及将由多个计算机执行的软件应用集成在单个计算机中的方法和设备。

  [0002]一些计算任务涉及数个不同的软件应用的使用,其中的每个软件应用由不同的计算机执行。为了成功地完成计算任务,用户可能必须与每个计算机上的每个软件应用进行交互。例如,多个计算机中的每个可连接至完成该计算任务的特定部分所需的相应的硬件项,并且可能需要专用的软件应用来控制或从每个硬件项接收数据。在此示例中,多个不同的硬件项的使用可能意味着难以或不希望利用单个计算机代替多个计算机。作为另一示例,该计算任务可能要求由需要不同操作系统的软件应用执行的动作。在此示例中,对于多个不同操作系统的需求可能意味着难以或不希望由单个计算机执行所有的软件应用。

  [0003]由使用多个计算机来完成特定计算任务产生了多个实际困难。例如,用户从一个计算机移动至另一个以执行任务的不同部分是不方便的。此外,使每个计算机具有不同的键盘、监视器和鼠标成本高且浪费空间。

  [0004]这些实际困难的可能的解决方案可能是使用KVM(键盘、视频和鼠标)开关将多个计算机耦接至单个键盘、监视器和鼠标。然而,这对于实际困难来说不会是好的解决方案,因为对于用户来说,经由KVM开关选择正确的计算机来执行任务的每个部分是费力的。此夕卜,使用KVM开关具有用户无法看到在特定时刻在未经由KVM开关与监视器连接的计算机上发生的事件的缺点。再进一步的,在每个计算机和KVM开关之间安装键盘、视频和鼠标线]这些实际困难的另一种可能的解决方案可能是使用KVM开关的软件实现的等同物,诸如EdgeRunner有限责任公司的Multiplicity?。这种软件实现的KVM开关通过通信网络传送键盘、视频和鼠标数据,因此避免了在每个计算机和托管该软件实现的KVM开关的计算机之间安装键盘、视频和鼠标线缆的需要。然而,软件实现的KVM开关仍需要用户选择正确的计算机来执行任务的每个部分,并仍具有用户无法看到在特定时刻在未选择的计算机上发生的事件的缺点。

  [0006]因此,存在时克服或者减轻一些前述实际困难的将由多个计算机执行的软件应用集成到单个计算机中的改进的方式的需求。

  【发明内容】[0007]第一方面提供了一种集成第一计算机和第二计算机的方法,第一计算机执行具有第一图形用户界面的第一软件应用,该方法在第二计算机处执行并包括:渲染第一图形用户界面;接收在第一软件应用中已经发生的事件的标识;响应于该事件的发生识别要由第二计算机执行的动作,其中从预定义的动作序列中识别该动作;以及执行识别的动作以修改第一图形用户界面的渲染。

  [0008]识别动作可包括识别第二计算机的当前状态;并查询查找表以识别与第二计算机的当前状态和已经发生的事件相关联的预定义的动作。

  [0009]该方法可进一步包括通过由第二计算机执行的远程展示程序,在第一计算机和第二计算机之间建立远程展示协议会话;并使用该远程展示协议会话来经由网络在第一计算机和第二计算机之间传送属于第一图形用户界面的信息,其中使用该远程展示程序渲染该第一图形用户界面。该方法可进一步包括在第一计算机和第二计算机之间建立通信信道,该通信信道不同于该远程展示协议会话,其中经由该通信信道在第二计算机处接收事件的标识O

  [0010]第二计算机可执行具有第二图形用户界面的第二软件应用,并且该方法可进一步包括由第二计算机同时渲染第一图形用户界面和第二图形用户界面。执行识别的动作可进一步使得第二计算机修改第二图形用户界面的渲染。该方法可进一步包括接收第二事件的标识,该第二事件已经在第二软件应用中发生;响应于第二事件的发生识别要由第二计算机执行的第二动作,其中从预定义的动作序列中识别该第二动作;以及执行识别的第二动作以修改第一图形用户界面和/或第二图形用户界面的渲染。

  [0011]该方法可进一步包括通过由第二计算机同时渲染第一图形用户界面和第三图形用户界面,将第三计算机与第一和第二计算机集成,该第三计算机执行具有第三图形用户界面的第三软件应用。执行识别的动作可进一步使得第二计算机修改第三图形用户界面的渲染。该方法可进一步包括接收第三事件的标识,该第三事件已经在第三软件应用中发生;响应于第三事件的发生识别要由第二计算机执行的第三动作,其中从预定义的动作序列中识别第三动作;以及执行识别的第三动作以修改第一图形用户界面和/或第三图形用户界面的渲染。

  [0012]执行所述识别的动作中的一个以修改第一、第二或第三图形用户界面中的任意一个的渲染可包括使得第二计算机修改该图形用户界面的行为和/或外观。执行所述识别的动作中的一个可使得第二计算机执行下述操作中的任意一个或多个:改变显示第一、第二或第三图形用户界面中的任意一个的位置;或者改变显示第一、第二或第三图形用户界面中的任意一个的大小;或者终止第一、第二或第三图形用户界面中的任意一个的渲染;或者将输入装置的焦点赋予第一、第二或第三图形用户界面中的任意一个,其中该输入装置通信地耦接至该第二计算机。

  [0013]该方法可进一步包括在第一计算机处产生消息,该消息识别已经在第一软件应用中发生的事件;并通过第一计算机将该消息发送至第二计算机。

  [0014]另一方面提供了一种包括指令的处理器可读介质,当该指令由处理器执行时使得该处理器执行如本文所述的方法。

  [0015]另一方面提供了一种包括用于执行如本文所述的方法的装置的设备。该设备可包括处理器和耦接至所述处理器的存储器,该存储器包括当执行时使得该处理器执行如本文所述的方法的指令。

  [0016]另一方面提供了一种放疗系统,包括:可操作以与另一计算机通信的计算机,该另一计算机被连接至用于产生放射物的装置,该另一计算机包括用于控制该用于产生放射物的装置的治疗控制程序,该治疗控制程序具有图形用户界面,其中该计算机被配置为:渲染图形用户界面;接收在该治疗程序中已经发生的事件的标识;响应于该事件的发生识别要由计算机执行的动作,其中从预定义的动作序列中识别该动作;以及执行该识别的动作以修改该图形用户界面的渲染。该计算机进一步可操作以与第三计算机通信,该第三计算机包括用于提供与要由该放疗系统治疗的患者相关的信息的肿瘤信息程序。

  [0017]现在将仅通过示例的方式参考附图描述实施例,其中使用相似的附图标记指示相似的元件,并且在附图中:

  [0023]图1是联网的计算机系统100的示意图。计算机系统100包括第一计算机120和第二计算机110。计算机系统100可选地包括任意数量的其他计算机,诸如第三计算机130。计算机110、120、130中的任意一个可为真实的计算机或虚拟机。为了简洁起见,计算机系统100的下列描述假设所有的计算机110、120、130是线彼此链接,使得计算机可经由网络106通信。网络106可包括任意适当的有线或无线通信技术,或不同的有线和/或无线通信技术的任意组合。例如,网络106可包括短程无线通信链路,诸如蓝牙tmSieee 802.1i(wiFi?)链路。作为另一示例,网络106可包括局域网(LAN),诸如基于以太网通信技术的有线网络。作为再一示例,网络106可包括广域网(WAN),诸如因特网或蜂窝电线包括处理器和存储器(在图1中未示出)。第一计算机120的处理器执行存储在该存储器中的各种程序,包括窗口系统121、通信软件122以及一个或多个软件应用125。

  [0026]第二计算机110包括处理器和存储器(在图1中未示出)。第二计算机110的处理器执行存储在该存储器中的各种程序,包括窗口系统111、通信软件112以及渲染控制程序117。第二计算机110的处理器可选地执行一个或多个软件应用115。第二计算机110的存储器还存储配置信息118和事件表119。一个或多个输入装置102(诸如键盘102a和/或鼠标102b)被连接至第二计算机110。显示装置104(诸如监视器)被连接至第二计算机110。可使用任何适当类型的输入装置102或显示装置104。还可使用组合的输入装置和显示装置,诸如触摸屏。输入装置102和显示装置104可通过有线或无线连接被连接至第二计算机110。

  [0027]第一计算机120无需直接连接到输入装置,因为如将在下文所解释的,可经由连接至第二计算机110的输入装置102将输入提供给第一计算机。相似地,第一计算机120无需直接连接到显示装置,因为它可将其输出提供给连接至第二计算机110的显示装置104。

  [0028]第三计算机130包括处理器和存储器(在图1中未示出)。第三计算机130的处理器执行存储在该存储器中的各种程序,包括一个或多个软件应用135、145。第三计算机130与第一计算机120类似,并且因此无需详细描述。相似地,如果计算机系统100包括任何其他计算机(在图1中未示出),这些计算机也可被认为与第一计算机120类似并无需详细描述。为了清晰起见,在计算机系统100的功能的下列描述中仅讨论第一计算机120。然而,应理解的是,在适当的情况下,对于第一计算机120的参考可被对于第三计算机130或其他计算机的参考取代和/或补充。

  [0029]窗口系统111、121是程序或程序套件,其允许计算机110、120提供图形用户界面(GUI)。例如,窗口系统111、121可允许软件应用115、125在显示装置104上的窗口中展示它的输出。窗口系统111、121还可允许软件应用115、125接收来自输入装置102的输入。可使用任何适当的窗口系统111、121。例如,窗口系统111、121可与由计算机110、120执行的操作系统(例如,微软的Windows?)集成。作为替换的,窗口系统111、121可从操作系统(例如,XWindow System?,其由类UNIX?的操作系统执行)分离。由每个计算机110、120执行的窗口系统111、121无需相同。

  [0030]软件应用115、125可为具有图形用户界面的任意类型的程序。软件应用115、125通常使用相应的窗口系统111、121来提供它们的GUI。例如,软件应用115、125可指令窗口系统111、121显示在其中展示视觉输出的一个或多个窗口,和/或当用户使用输入装置102与一个或多个窗互时可通过窗口系统被通知。然而,软件应用不一定必须使用窗口系统

  111、121。例如,软件应用115、125可为遗留程序,诸如为MS-DOS?编写的程序,其可在没有窗口系统111、121的情况下提供图形用户界面。权利要求的范围包括具有任意功能的软件应用115、125。在特定示例中,软件应用115、125具有相互关联的功能,使得渲染控制程序117可集成软件应用115、125以便完成特定任务。

  [0031]通信软件112、122允许计算机110、120经由网络106彼此通信。通信软件112、122包括远程展示程序113、123。远程展示程序113、123允许由第一计算机120执行的软件应用125的图形用户界面在第二计算机110上显示。为实现此目标,由计算机110、120两者执行的相应的远程展示程序113、123经由网络106交换属于图形用户界面的信息。远程展示程序113、123通常允许描述图形用户界面的外观的信息从第一计算机120发送至第二计算机110,使得图形用户界面可由第二计算机110渲染。远程展示程序113、123还通常允许描述至图形用户界面的用户输入的信息从第二计算机110发送至第一计算机120,使得第二计算机110的用户可与软件应用125进行交互。用户输入可包括来自任何适当的输入装置(诸如键盘102a和/或鼠标102b)的输入。使用远程展示协议经由网络106传送属于图形用户界面的信息。在计算机系统100的一个示例中,远程展示协议是远程桌面协议(RDP),由微软公司提供。在此示例中,由第一计算机120执行的远程展示程序123是RDP服务器,并且由第二计算机110执行的远程展示程序113是RDP客户端。RDP客户端113与RDP服务器123建立RDP会线交换属于图形用户界面的信息。可使用任意其他适当的远程展示协议和远程展示程序。例如,远程展示协议可为远程帧缓冲协议(RFP),并且远程展示程序113、123可为虚拟网络计算(VNC)应用。权利要求并非意在受限于任何特定的远程展示协议或远程展示程序。

  [0032]通信软件112、122还包括用于在第二计算机110和第一计算机120之间建立通信信道的通信信道组件114、124。该通信信道允许第一计算机120将与在由第一计算机120执行的软件应用125中的事件的发生相关的信息提供给第二计算机110。本文使用的术语“事件”描述了对于程序来说重要的发生或情形。在一个示例中,通信信道是传输控制协议(TCP)套接字连接。在此示例中,第二计算机110包括TCP服务器114,并且第一计算机120包括TCP客户端124。TCP服务器114经由网络106接收寻址到第二计算机110的预定义的TCP端口的消息。TCP服务器114将这些消息引向渲染控制程序117。因此,为了使第一计算机120通知第二计算机110事件的发生,TCP客户端124经由网络106发送消息至第二计算机110的预定义的TCP端口。可使用将事件的发生从第一计算机120传送给第二计算机110的任意其他适当的方法。例如,该通信信道可为RDP虚拟信道,使得远程展示程序113、123与用于建立通信信道的通信信道组件114、124集成。权利要求并非意在受限于在第二计算机110和第一计算机120之间建立通信信道的任何特定类型的技术。

  [0033]第一计算机120可包括应用编程接口(API)126以便于将与软件应用125中事件的发生相关的信息提供给第二计算机110 JPI 126包括可以被软件应用125唤起(invoke)或执行的一个或多个过程、功能或方法(下文中称为“API调用”)。当软件应用125唤起API调用时,API 126使得使用通信信道经由网络106将消息发送给第二计算机110。

  [0034]第二计算机110也可包括应用编程接口116以便于将与由第二计算机110执行的软件应用115中事件的发生相关的信息提供给渲染控制程序117。第二计算机110的API 116具有与第一计算机120的API 126相似的功能。然而,由于软件应用115和渲染控制程序117两者都由第二计算机110执行,API 116并不使得消息经由网络106发送。作为替代的,当软件应用115唤起API调用时,API 116使得消息直接被发送至渲染控制程序117^PI 116可使用任意适当的进程间通信方法将消息发送至渲染控制程序117。

  [0035]现在将描述由API 116、126提供的API调用的一些示例。一种API调用通知第二计算机110在软件应用115、125内事件的发生。此API调用具有SendEvent (Destinat1n,Source ,EventName)的形式。Destinat 1n识别第二计算机110,并可为第二计算机110的网络名称或者因特网协议(IP)地址。Source识别其内发生该事件的软件应用115、125。EventName识别在软件应用115、125中发生的特定事件。因此,SendEventAPI调用的唤起使得第二计算机110接收识别事件以及该事件在其中发生的软件应用115、125的消息。另一API调用使得第二计算机110显示由软件应用115、125选择的文本。此API调用具有SendDi sp IayText (Destiinati 1n,Source,Text)的形式。Destinat 1n 和Source参数具有与关于SendEvent API调用所讨论的相同的含义,而Text是字符串。SendDisplayTextAPI调用的唤起使得第二计算机110接收识别软件应用115、125希望在显示器104上展示的字符串的消息。应理解的是,已经仅仅通过示例的方式描述了 SendEvent和SendDisplayTextAPI调用,并且利用具有不同参数或语法的API调用可实现相同或相似的功能。

  [0036]API 116,126可提供额外的API调用以允许软件应用115、125请求第二计算机110执行特定动作,包括:向软件应用115、125提供键盘焦点;最大化和/或最小化其中渲染了软件应用115、125的图形用户界面的窗口;在特定屏幕位置显示其中渲染了软件应用115、125的图形用户界面的窗口;在任意其他窗口之前显示其中渲染了软件应用115、125的图形用户界面的窗口;和/或在特定显示器104上显示其中渲染了软件应用115、125的图形用户界面的窗口,用于在多个显示器104连接至第二计算机110时使用。

  [0037]渲染控制程序117负责将第一计算机120与第二计算机110以及任意另外的计算机(诸如第三计算机130)集成。更具体地,渲染控制程序117集成由第一计算机120、第二计算机110和/或其他计算机130执行的软件应用115、125的图形用户界面和功能。渲染控制程序117通过将软件应用115、125的图形用户界面渲染在显示在第二计算机110上的图形用户界面内来集成它们。渲染控制程序117通过控制响应于软件应用内事件的发生而将软件应用115、125的图形用户界面渲染在第二计算机110上的方式来集成它们的功能。参考图5,在下文更详细地讨论渲染控制程序117的操作。

  [0038]在一个示例中,渲染控制程序117是独立可执行程序。在此示例中,渲染控制程序117与第二计算机110的窗口系统111通信以便控制软件应用115、125的图形用户界面的渲染。然而,渲染控制程序117的功能可集成在窗口系统111自身内,或者可集成在第二计算机110的操作系统内。

  [0039]配置信息118包括用于配置渲染控制程序117的信息。例如,配置信息118可包括用于可与第二计算机110集成的每个计算机120、130的唯一的标识符,诸如IP地址。该唯一的标识符允许渲染控制程序117识别在其上发生特定事件的计算机,这有助于渲染控制程序117响应于该事件识别要执行的动作。配置信息118还可包括用于当每个应用115、125的图形用户界面在第二计算机110的图形用户界面内渲染时定义它们的初始外观的信息。例如,配置信息118可指定其中显示每个应用115、125的图形用户界面中的每个的相应窗口的几何结构。更具体地,配置信息可指定每个窗口的高度和宽度,加上显示每个窗口的位置。配置信息118还可指定这些窗口沿着z轴的初始次序(一般称为“Z次序”),这允许窗口系统111确定如果两个或更多个窗口重叠那么应当显示哪些窗口以及应当隐藏哪些窗口。配置信息118还可包括用于可与第二计算机110集成的每个计算机120、130的认证信息。例如,配置信息可包括用于第一计算机120和任意另外的计算机130的用户名和/或密码。认证信息可由第二计算机110使用以与其他计算机120、130建立远程展示协仪会线包括定义响应于在软件应用115、125中特定事件的发生要由渲染控制程序117执行的一个或多个动作的信息。每个动作修改其中发生相应的事件的图形用户界面的行为和/或外观。事件表119将多个事件与一个或多个相应的动作相关联,从而定义动作的序列。

  [0041]通过解释的方式,涉及数个不同的软件应用的使用的很多计算任务需要用户在那些软件应用的执行期间在可预测的点处在软件应用之间切换。此外,不同的软件应用倾向于以可预测的顺序使用。因此,可通过在软件应用的执行期间在预定义的点处以预定义的顺序在软件应用之间自动切换,来避免用户在不同的软件应用之间切换(以及在不同的计算机之间切换,若软件应用由不同的计算机执行的话)的需求。这可通过使得软件应用当第二计算机到达软件应用执行中的预定义点时将事件的标识发送至第二计算机110来实现。例如,该软件应用可唤起由API 126提供的SendEvent API调用以便在其执行中的特定点处发送事件的标识。在此示例中,软件应用的编程者决定在该软件应用的执行中哪些点是重要的,并在适当的点处唤起SendEvent。例如,当软件应用已经完成特定处理操作时、当用户以特定方式与该应用软件交互时或当发生错误时可唤起SendEvent。当接收到该事件的标识时,第二计算机110执行使得要以预定义的顺序使用不同的软件应用的一个或多个动作。因此,可通过响应于软件应用中预定义的事件的发生执行从预定义的动作序列中选择的动作而更容易地执行复杂的计算任务。事件表119将每个事件与一个或多个动作相关联,以便实现以期望的顺序使用软件应用。

  [0043]图2是依据本公开通过集成多个计算机产生的屏幕200的示例。屏幕200由第二计算机110在显示装置104上显示。屏幕200包括多个区域202、204、206。三个区域202、204、206在图2中示出,但屏幕200可包括更多或更少的区域。屏幕200还包括工具栏210。工具栏210包括一个或多个按钮208。五个按钮208a、208b、208c、208d、208e在图2中示出,但工具栏210可包括更多或更少的按钮。可将软件应用115、125、开云 开云体育官网135、145的图形用户界面渲染在区域202、204、206中的任意一个中。

  [0044]图3是事件表119的不例。在此不例中,事件表包括四列:“当前状态”列,其识别其中第二计算机110可存在于的多个状态中的每个;“接收的事件”列,其存储与使得第二计算机110转换为不同状态的事件相关的信息;“动作”列,其识别针对第二计算机110的给定状态,响应于接收到在“接收的事件”列中识别的事件应当执行的一个或多个动作;以及“下一状态”列,其识别在执行了“动作”列中识别的动作后第二计算机110应当转换为的状态。存储在“接收的事件”列中的与事件相关的信息包括事件的名称(例如,“登录成功”、“选择状态3”)、其中发生该事件的应用的标识(例如,SendEvent APl调用的Source参数)以及其中发生该事件的计算机的标识(例如,网络名称或IP地址)。使可能发生的每个事件都与事件表119中的动作相关联没有必要。例如,在图3示出的事件表119中,当第二计算机110处于状态3时,当从第三计算机130上的应用145接收到“警告”事件时执行动作,但当第二计算机110处于状态2时如果接收到相同事件则没有定义动作。如果接收到的事件在事件表119中没有任何相关联的动作则可被忽略,或者作为替换的,可在接收到这样的事件时执行默认动作。

  [0045]图4示出了由图3中示出的事件表119产生的屏幕序列。每个屏幕200具有之前关于图2讨论的形式。

  [0046]在初始状态(状态O)下,渲染控制程序117从配置信息118获得初始屏幕配置。配置信息使得渲染控制程序117将软件应用135的图形用户界面渲染在区域202中,将软件应用115的图形用户界面渲染在区域204中,并且将软件应用145的图形用户界面渲染在区域206中,其产生了屏幕配置200a。第二计算机110然后转换为状态I。在状态I下,由第二计算机110从软件应用135接收“登录成功”事件。在接收到此事件时,渲染控制程序117查询事件表119。根据事件表119的第三行,渲染控制程序117识别出当第二计算机110处于状态I并且接收到“登录成功”事件时,应当执行两个动作:第一,渲染软件应用135的图形用户界面应当终止;以及第二,软件应用125的图形用户界面应当被渲染在区域202中。事件表119的第三行还指示第二计算机的下一状态是状态2。因此,渲染控制程序117终止渲染软件应用135的图形用户界面,并使得软件应用125的图形用户界面被渲染在区域202中,其产生了屏幕配置200b。第二计算机110然后转换为状态2。在状态2中,存在使得渲染控制程序117执行动作的两个可能的事件。第一,依据事件表119的第四行,从应用125接收“选择状态3”事件使得渲染控制程序117改变渲染应用115和125的图形用户界面的位置。更具体地,渲染控制程序117将应用115的图形用户界面渲染在区域202中,并将应用125的图形用户界面渲染在区域204中,其产生了屏幕配置200c。应用145的图形用户界面不受这些动作影响,所以继续被渲染在区域206中。第二计算机110然后转换为状态3。第二,依据事件表119的第五行,从应用125接收到“终止”事件使得渲染控制程序117终止渲染所有应用125、115、145的图形用户界面。状态3大致与状态2相似,因此无需详细解释。

  [0047]返回图2,按钮208可由用户激活以便强迫第二计算机110进入特定状态。例如,如果用户激活按钮208a,则渲染控制程序117使得第二计算机110转换为状态2,这使得显示屏幕配置200b。相似地,如果用户激活按钮208b,则渲染控制程序117使得第二计算机110转换为状态3,这使得显示屏幕配置200c。所述按钮允许按需显示预定屏幕配置,而不依赖于否则使得第二计算机110转换为与该屏幕配置相关联的状态所需的事件的发生。如果用户希望执行事件表119中定义的预定动作序列未提供的计算任务,或者在发生错误后使第二计算机110和屏幕200返回到已知状态,这可能是有用的。

  [0048]事件表119可以以任何适当的方式(诸如以可扩展标记语言(XML)文档)来实现。术语“事件表”并不意味着事件表119中包含的信息必须以表格的形式存储。

  [0049]图5示出了集成多个计算机的方法500。现在将在图1所示的计算机系统100的上下文中描述方法500。在此上下文中,开云 开云体育官网方法500可由第二计算机110的渲染控制程序117执行。

  [0050]在步骤502中,在第一计算机120和第二计算机110之间建立远程展示协议会线建立远程展示协议会话。远程展示协议会线的图形用户界面的信息。如果需要,也可在第二计算机110和第三计算机130之间,以及在第二计算机110和任意另外的计算机(图1中未示出)之间建立进一步的远程展示协议会线之间建立通信信道。使用通信信道细件114、124来建立该通信信道。第一计算机120使用该通信信道以经由网络106将事件的标识提供给第二计算机110。例如,第一计算机120可唤起由API 126提供的SendEventAPI调用,以使用该通信信道将描述事件的消息发送给第二计算机110。如果需要,也可在第二计算机110和第三计算机130之间,以及在第二计算机110和任意另外的计算机(图1中未示出)之间建立进一步的通信信道。

  [0052]在步骤506中,第二计算机110渲染软件应用125的图形用户界面。如本文所使用的术语“渲染图形用户界面”包括在显示装置上展示程序的视觉输出,并将从输入装置接收的输入提供给该程序。因此,第二计算机110通过在显示装置104上展示软件应用125的图形用户界面的视觉输出,并通过将从键盘102a和/或鼠标102b接收的用户输入提供给软件应用125来渲染软件应用125的图形用户界面。使用远程展示程序123、113来渲染软件应用125的图形用户界面。远程展示程序113、123依次使用窗口系统111、121以在显示器104上展示软件应用125的视觉输出,并将从输入装置102接收的输入提供给软件应用125。如果需要,第二计算机110可同时渲染一个或多个另外的软件应用的图形用户界面。这些另外的软件应用可由第一计算机120或第三计算机130执行,在这种情况下远程展示程序113、123用于渲染图形用户界面。作为替换或作为附加,可由第二计算机110执行另外的软件应用,开云 开云体育官网诸如软件应用115。使用窗口系统111渲染由第二计算机110执行的任意软件应用的图形用户界面,而无需使用远程展示程序113。

  [0053]现在假设在软件应用125中发生了事件。事件的发生使得第一计算机120以之前描述的方式将事件的标识提供给第二计算机110。

  [0054]在步骤508中,第二计算机110接收已经在软件应用125中发生的事件的标识。使用在步骤504处建立的通信信道经由网络106从第一计算机120接收事件的标识。

  [0055]在步骤510中,第二计算机110响应于在软件应用125中的事件的发生识别要执行的一个或多个动作。从存储在事件表119中的预定义的动作序列识别所述一个或多个动作。在一个实施例中,识别第二计算机110的当前状态,并且然后查询事件表119以确定动作是否与当前状态和已经发生的事件相关联。可由渲染控制程序117存储第二计算机110的当前状态。例如,渲染控制程序117可将第二计算机110的当前状态记录为变量的值。渲染控制程序117然后可通过检索该变量的值识别计算机110的当前状态。如果动作与当前状态和已经发生的事件相关联,则方法进行到步骤512。如果没有动作与当前状态和已经发生的事件相关联,则方法返回步骤506,并且第二计算机110渲染软件应用125的图形用户界面直到接收到另一事件的标识为止。

  [0056]在步骤512中,第二计算机110执行在步骤510处识别的一个或多个动作。执行动作修改了软件应用125的图形用户界面被第二计算机110渲染的方式。更具体地,执行动作可使得第二计算机110修改图形用户界面的行为和/或外观。例如,图形用户界面的行为可通过将输入装置102(诸如键盘102a)的焦点赋予该图形用户界面而修改。图形用户界面的外观可通过改变它在显示装置104上显示的位置(例如通过移动包含该图形用户界面的窗口)而修改。作为替换或作为附加,图形用户界面的外观可通过改变它在显示装置104上显示的大小(例如通过最大化、最小化或调整包含该图形用户界面的窗口的大小)而修改。动作还可使得第二计算机110终止渲染该图形用户界面。在执行一个或多个动作后,渲染控制程序117可在记录第二计算机110的当前状态的变量中存储新的值,以便反映出所述动作已经使得第二计算机转换为新的状态。

  [0057]当步骤512完成时,该方法返回至步骤506并且第二计算机110渲染软件应用125的图形用户界面直到接收到另一事件的标识为止。

  [0058]如上文所提及的,第二计算机110可渲染软件应用125的图形用户界面,同时还渲染一个或多个另外的软件应用的用户界面,这可由第一、第二或第三计算机120、110、130中的任意一个来执行。事件还可在另外的软件应用中的任意一个中发生,使得另外的软件应用将事件的标识提供给第二计算机110。第二计算机110可以上文关于步骤508描述的方式接收已经在另外的软件应用中的任意一个中发生的事件的标识。第二计算机110然后以上文关于步骤510描述的方式响应于在另外的软件应用中事件的发生识别要执行的一个或多个动作。第二计算机110然后执行识别的一个或多个动作,其可使得以上文关于步骤512描述的相似方式修改软件应用125的用户界面和/或另外的应用的用户界面中的任意一个的渲染。

  [0059]本领域技术人员将理解存在范围广泛的实际解决方案,其中有用的是使用上述方法500集成多个计算机。仅仅通过非限制性示例的方式,现在将描述在放疗系统中集成计算机的方法的使用。

  [0060]正如本领域技术人员所公知的,放疗是用于利用电离辐射死癌细胞的技术。电离辐射由诸如线性加速器的装置产生。一种示例放疗系统包括三个计算机110、120、130,如图1中所示。由执行放疗疗程的技术人员或外科医生使用第二计算机110。由第二计算机110执行的软件应用115是视频流应用,它显示从位于容纳该线性加速器的治疗室中的一个或多个摄像机接收的视频信号。技术人员或外科医生为了安全起见使用视频流应用来监视治疗室。将第一计算机120连接至该线中未示出)。由第一计算机120执行的软件应用125是治疗控制程序,其控制该线性加速器。例如,治疗控制程序可允许技术人员或外科医生设置在放疗疗程期间使用的参数,诸如要施加给患者的放射物的剂量。软件应用125可为医科达公司(Elekta AB)生产的Integrity?治疗控制系统。由第三计算机130执行的软件应用135是肿瘤信息程序,其提供与患者相关的信息。例如,肿瘤信息程序可被配置为显示患者的医疗图像(诸如计算的X线断层摄影图像),使得提术人员或外科医生可查看肿瘤并确定如何最好地治疗它。软件应用135可为由医科达公司生产的Mosaiq?肿瘤信息系统。

  [0061]参考图2,放疗疗程开始于肿瘤信息程序的图形用户界面被渲染在区域202中,治疗控制程序的图形用户界面被渲染在区域204中,并且视频流应用的图形用户界面被渲染在区域206中。此屏幕配置将屏幕的最大部分赋予肿瘤信息程序,以便技术人员或外科医生可更容易地查看要治疗的肿瘤。此屏幕配置还确保治疗控制程序在任何时候都保持可见,这是出于安全和监管的目的所需要的。当技术人员或外科医生已经完成了查看肿瘤并准备好开始治疗时,用户激活工具栏210上的按钮,或者在或是肿瘤信息程序或是治疗控制程序中选择菜单选项。激活按钮或选择菜单选项产生事件,其使得渲染控制程序117执行改变屏幕200的配置的动作。更具体地,渲染控制程序调整肿瘤信息程序和治疗控制程序的图形用户界面的大小和位置,使得肿瘤信息程序的图形用户界面被渲染在区域204中,并且治疗控制程序的图形用户界面被渲染在区域202中。此屏幕配置将屏幕的最大部分赋予治疗控制程序,以便技术人员或外科医生可更容易地查看治疗期间线]本文公开的方法可由存储在处理器可读介质上的指令执行。处理器可读介质可为:只读存储器(包括PROM、EPROM或EEPROM);随机存取存储器;闪速存储器;电、电磁或光信号;磁、光或磁光存储介质;处理器的一个或多个寄存器;或者任意其他类型的处理器可读介质。在作为替换的实施例中,本公开可实现为硬件、固件、软件或其任意组合中的控制逻辑。该设备可由专用硬件实现,诸如一个或多个专用集成电路(ASIC)或适当连接的离散逻辑门。可使用适当的硬件描述语言以专用硬件来实现本文描述的方法。

  [0063]应理解的是,上文已经仅通过示例的方式描述了本发明,并且可在本发明的范围内做出细节的修改。

  1.一种集成第一计算机和第二计算机的方法,第一计算机执行具有第一图形用户界面的第一软件应用,该方法在第二计算机处执行并包括: 渲染第一图形用户界面; 接收已经在第一软件应用中发互的事件的标识; 响应于该事件的发生识别要由第二计算机执行的动作,其中从预定义的动作序列中识别该动作;以及 执行识别的动作以修改第一图形用户界面的渲染。2.根据权利要求1所述的方法,其中识别动作包括: 识别第二计算机的当前状态;以及 查询查找表以识别与第二计算机的当前状态和已经发生的事件相关联的预定义的动作。3.根据前述权利要求中的任一项所述的方法,进一步包括: 通过由第二计算机执行的远程展示程序,在第一计算机和第二计算机之间建立远程展示协议会话;以及 使用该远程展示协议会话来经由网络在第一计算机和第二计算机之间传送属于第一图形用户界面的信息, 其中使用该远程展示程序渲染该第一图形用户界面。4.根据权利要求3所述的方法,其中该方法进一步包括: 在第一计算机和第二计算机之间建立通信信道,该通信信道不同于该远程展示协议会话,其中经由该通信信道在第二计算机处接收事件的标识。5.根据前述权利要求中的任一项所述的方法,其中该第二计算机执行具有第二图形用户界面的第二软件应用,该方法进一步包括: 由第二计算机同时渲染第一图形用户界面和第二图形用户界面。6.根据权利要求5所述的方法,其中执行识别的动作进一步使得第二计算机修改第二图形用户界面的渲染。7.根据权利要求5或权利要求6所述的方法,进一步包括: 接收第二事件的标识,该第二事件已经在第二软件应用中发生; 响应于第二事件的发生识别要由第二计算机执行的第二动作,其中从预定义的动作序列中识别该第二动作;以及 执行识别的第二动作以修改第一图形用户界面和/或第二图形用户界面的渲染。8.根据前述权利要求中的任一项所述的方法,进一步包括通过由第二计算机同时渲染第一图形用户界面和第三图形用户界面,将第三计算机与第一和第二计算机集成,该第三计算机执行具有第三图形用户界面的第三软件应用。9.根据权利要求8所述的方法,其中执行识别的动作进一步使得第二计算机修改第三图形用户界面的渲染。10.根据权利要求8或权利要求9所述的方法,进一步包括: 接收第三事件的标识,该第三事件已经在第三软件应用中发生; 响应于第三事件的发生识别要由第二计算机执行的第三动作,其中从预定义的动作序列中识别该第三动作;以及 执行识别的第三动作以修改第一图形用户界面和/或第三图形用户界面的渲染。11.根据前述权利要求中的任一项所述的方法,其中执行所述识别的动作中的一个以修改第一、第二或第三图形用户界面中的任意一个的渲染包括使得第二计算机修改该图形用户界面的行为和/或外观。12.根据前述权利要求中的任一项所述的方法,其中执行所述识别的动作中的一个使得第二计算机执行下述操作中的任意一个或多个: 改变显示第一、第二或第三图形用户界面中的任意一个的位置;或者 改变显示第一、第二或第三图形用户界面中的任意一个的大小;或者 终止渲染第一、第二或第三图形用户界面中的任意一个;或者 将输入装置的焦点赋予第一、第二或第三图形用户界面中的任意一个,其中该输入装置通信地耦接至该第二计算机。13.根据前述权利要求中的任一项所述的方法,进一步包括: 在第一计算机处产生消息,该消息识别已经在第一软件应用中发生的事件;以及 通过第一计算机将该消息发送给第二计算机。14.一种包括指令的处理器可读介质,当所述指令由处理器执行时使得该处理器执行根据前述权利要求中的任一项的方法。15.—种包括用于执行根据权利要求1至13中的任一项的方法的装置的设备。16.一种放疗系统,包括 可操作以与另一计算机通信的计算机,该另一计算机连接至用于产生放射物的装置,该另一计算机包括用于控制该用于产生放射物的装置的治疗控制程序,该治疗控制程序具有图形用户界面,其中该计算机被配置为: 渲染该图形用户界面; 接收在该治疗控制程序中已经发生的事件的标识; 响应于该事件的发生识别要由计算机执行的动作,其中从预定义的动作序列中识别该动作;以及 执行该识别的动作以修改该图形用户界面的渲染。17.根据权利要求16所述的放疗系统,其中该计算机进一步可操作以与第三计算机通信,该第三计算机包括用于提供与要由该放疗系统治疗的患者相关的信息的肿瘤信息程序。开云 开云体育开云 开云体育开云 开云体育