一种远端计算机对目标计算机进行控制的方法和系统的制作方法

文档序号:2603731阅读:107来源:国知局
专利名称:一种远端计算机对目标计算机进行控制的方法和系统的制作方法
技术领域
本发明涉及一种远端计算机对目标计算机进行控制的方法和系统,特别是一种撷取目标计算机新视讯页面并使用这个页面来更新远端计算机的方法,涉及计算机网路维护的领域。
背景技术
由于计算机网路的逐渐扩大,网路的维修和控制相关的挑战也越来越多。在传统的架构中,计算机的操作人员与保养计算机硬件和软件的人员并不相同。以计算机伺服器硬件来说,并没有固定的操作者去操作计算机伺服器硬件,也就是说用户并没有直接使用计算机伺服器去做他们的工作。相反的,用户通常是通过连接伺服器的许多计算机之一去完成他们的工作。因此,以计算机伺服器而言,只有当维修时,伺服器才有直接的被使用。且由于计算机网路的扩大,专业的计算机设备以及计算机伺服器的维修将变得十分的必要。
计算机的维修管理有许多方式。例如,在计算机设备损坏时再去维修设备。但是,为了降低计算机伺服器因维修所造成的停工期,计算机网路中已经多采用预防的方式去处理维修。预防维修包含对问题的监控,且在问题被发现之后去解决并升级相关软硬件去防止将来的问题发生。维修也包括对计算机功能的增加、应用程序安装以及资料的维护。
计算机网路的成长也一并导致在网路实体上的一些管理更动,以及与维护人员间的联系模式。一般来说,计算机网路十分的广大,并且可以包括数百个甚至数千台伺服器,这些伺服器的位置都分散在各处,且维护人员的位置并不一定和这些伺服器接近。因此,维护人员对伺服器的直接使用与维护是较不实用的。此外,即使维护人员在伺服器附近,对这些为数众多的伺服器做直接的实体管理与维护的工作也需要一直移动到这些伺服器前,这将十分的不便。
维护人员的基本要求将是,对被监控的计算机将其状态讯息完整的回传给维护人员,用以完成他们对目标计算机的任务。维护人员通常有两种方式可以去监控目标计算机。第一种为图形界面的方式,而第二种则为命令列的方法。在图形介面的方式中,例如Windows操作系统,目标计算机的系统讯息可以通过荧屏得到。因此,为了拥有这个系统讯息与监控目标计算机,在远端的维护人员必须能接收到目标计算机的显示讯息。
在以命令列控制的计算机中,例如Unix或者与Unix相似的作业系统,系统状态一般都以日志登录档的方式提供。这个日志文件是可以让本地端的使用者使用并可以显示在荧屏上。而维护人员为了监控此计算机,他们也需要在远端位置能得到这份日志文件。
另外,为了有效地监控,维护人员必须能在目标计算机中许多的不同类型讯息中,选择所需要的讯息。这也就是指维护人员要能接触到目标计算机的标准输入设备。一般来说,标准输入设备是键盘和鼠标,但是也可能包括绘图板和串列连接端口设备。
实施维护动作与相关的升级也需要能控制目标计算机。这包括能接收到荧屏的讯息或者日志文件,并包含计算机的标准输入和输出装置的控制。另外,维护人员也需要能接触储存有升级资讯的储存媒介。如果有这种媒介,例如CDROM(光碟)或者软碟,维护人员则必须在现场对目标计算机插入CDROM或是更换CDROM。
在过去,为了维护人员能监控到目标计算机,因此发展了″KVM″切换器。″KVM″的缩写是由键盘(Keyboard)、视讯(Video)和鼠标(Mouse)组成的。KVM切换器的目的是提供一个远端目标计算机的操作入口。
早期的KVM切换器以模拟的方式提供连结一台或多台目标计算机和一个或多个远端用户。这将允许一个远端用户通过一个机械开关选择他所要控制目标计算机所拥有的键盘,视讯和鼠标。
模拟KVM切换器是较廉价的方案,且有较好的监控效能,也就是说,通过一个模拟KVM切换器的协助,从远端位置连接一台目标计算机的用户将非常类似于他直接去操作目标计算机。不过,模拟KVM切换器有许多缺点。以一个基本的模拟KVM切换器来说,它需要和目标计算机安装在一起。换句话说,如果一个用户希望通过一个基本的模拟KVM切换器去监控八台不同的计算机,这台KVM切换器一定得和这八台计算机安装在一起,并且能依次通过开动开关进入每一个目标计算机。在使用模拟KVM切换器于一个较远的远端监控目标计算机环境中,将需要另一个模拟KVM延伸器。然而,模拟KVM延伸器经常放置在用户与目标计算机之间并且有严格的距离限制。这样的延伸器通常要求用户与目标计算机间不可大于300公尺。
模拟KVM切换器的另一个缺点是他们不容易更动建置架构。换句话说,建立KVM切换器的网路,并且增加目标计算机和远端计算机将十分的困难,且通常导致费用的增加以及效能的降低。美国专利号5,721,842;5,884,096;5,937,176;6,378,009以及6,388,658所披露的各式各样的模拟KVM切换器和延伸器都有这些缺点。
另一个模拟KVM切换器的问题是,如果远端与目标计算机之间距离很远,则KVM切换器的接收者需要手动的去调整最佳的视讯讯息。如果没有这样的手动调整,视讯的品质在远程计算机将很差且无法达到最佳的视讯表现。手动调整的要求使得模拟KVM切换器的网路安装将十分麻烦与昂贵。
紧接着模拟KVM切换器开发的是数字KVM切换器。数字KVM切换器的一端通常被连结到目标计算机。另一端则连接一个网路LAN端口设备,最后连接到网际网路或者另一个网路。远端计算机通过网路取得目标计算机视讯,并且传送键盘和鼠标信号。与模拟KVM切换器显示视讯、接收键盘和鼠标讯息方式的不同,数字KVM切换器将目标计算机的视讯数字化,然后通过局域网路的连接把它传送到远端计算机。
数字的KVM也可以通过一个模拟KVM切换器去控制多台目标计算机。这将允许数字KVM可以控制多台目标计算机。在一些产品中,数字KVM和模拟KVM是统合在一起的。
典型的数字KVM切换器为了将目标计算机的视讯转为数字信号,一般都含有一个数模转换器(以下简称ADC);一个影像页储存装置,有时称为″页面抓取器″以及一个中央处理器(以下简称CPU)。美国专利6,539,418载明数字KVM切换器有这些一般的功能特征。
一般典型的目标计算机会输出很大量的视讯信号。一个典型的视讯画面为1024条水平扫瞄线以及768条垂直扫瞄线构成,并且以每秒60个完整的页面传送。在彩色显示器上的每个像素则由红色、绿色以及蓝色所组成。大多数计算机使用8bits(位元)来表现每一个基本颜色的深浅,也就是说每个像素颜色的组成为24bits。以此为例,目标计算机的视讯信号可由每秒1,132,462,080个bits组成(1.132Gigabits)。如此庞大的讯号比任何目前的局域网路的传输能力大上很多。因此,数字KVM设备通常使用某种视讯数据简化技术。有一种方法是,在比较连续的视讯页面后,选出在连续的页面之间的像素差异并传送。这样的方式比传送每张全新页面省下很多的频宽。另一种的差别计算方法则是由数字KVM切换器抓取一个影像页面。在整个新影像页面被抓取之后,每个像素都与前一个影像页面里的相对像素相比较。一旦全部页面像素皆改变之后,再将页面之间的差别传送给远端计算机,用来更新远端计算机上的视讯影像。
数字KVM的方式比模拟KVM的方式要来的好,它能处理远端计算机和目标计算机较远的状况。不过,数字KVM也产生了一些在模拟KVM不会产生的缺点。第一个主要的缺点则是监控的性能。数字KVM经常存在着显著的延迟,当远端计算机在输入控制(例如鼠标的移动),而荧屏显示回应时(例如当视讯显示鼠标指标的移动)。这个时间延迟的大小可能与几个因素有关。第一个因素是数字KVM切换器能处理的影像页面间差异数量的速度。越长的处理时间,将造成远端终端的荧屏较慢看见控制输入的结果。此外,越长的处理时间将降低实际上被KVM切换器处理的影像页面数量。例如,一个视讯信号由每秒60个页面组成,且一个新页面每16.7毫秒产生。不过,如果计算页面的差异量需要32毫秒,则KVM切换器每隔一秒必须至少略过一个页面。当KVM切换器错过页面时,相较于每个页面都被KVM切换器处理,在远端终端的荧屏上的更新就会跳动以及遗漏讯息,产生较不顺畅的更新。
影响速度的第二个因素是数字KVM产生要送到远端终端资料的时间。KVM在计算新页面和前一个页面之间的差别之后,必须把差别讯息转换成实际页面像素的讯息。在典型的数字KVM里,页面的取得是靠页面抓取器去抓取一个视讯的单个页面。在页面被全面地抓取之后,微处理器会把页面装进它的工作储存器。然后,微处理器进行差别计算,确定在刚刚抓取的页面和之前页面之间的差别后,接着,同一个微处理器再把差别讯息转换成实际页面像素讯息。
这种典型的KVM架构造成许多缺点。如上所述,目标计算机产生的视讯信号比率非常大。因此,数字KVM需要有一个高效能的数据处理CPU,这表示需要更高的CPU花费,且几乎没有其他的空闲时间去处理其他讯息。在一些应用中,由于安全的问题,将要求数字KVM能加密它的视讯、键盘和鼠标讯息,使得数据不容易被拦截。如果KVM是通过网际网路连接远端计算机,这种安全考量尤其重要。不过,这样的加密需要能力更高的CPU。实际上,这种提供加密的需求,提高了系统花费以及牺牲监控的性能,这额外的需求对数字KVM来说是一个瓶颈。
数字KVM还有其他的问题。在模拟KVM方面,目标计算机的视讯信号仅仅被收到远端计算机。不过,数字KVM需要使视讯信号数字化,然后计算在新页面与旧页面之间的差别。典型的视讯信号将会预先决定视讯页面中扫瞄线的像素数以及每个页面的扫瞄线数。在模拟方面,视讯页面中的扫瞄线有其有效范围,其呈现并包含现有荧屏讯息,以及一个空白范围,并通常表示为黑色。每一条线皆存在一个空白范围用来改变在荧屏上影像的电子状况。空白范围在每条线的末端包含监视器使用的水平同步信号或者是H-同步脉冲,用来侦测当电子需要被重新校准使用时。
相同的,整个视讯页面包含在有效范围中,而空白范围并不包含在有效范围中。在空白范围中,将传送垂直同步信号或者是V-同步的脉冲。CRT(阴极射线管)使用这脉冲来使电子返回页面的起始位置。
在H-同步脉冲末端与视讯下一条扫瞄线的开始之间,其间隔时间是任意的,但是对于一个特定的视讯频率或是解析度,这个值将会固定。相同的,在V-同步脉冲末端与和下一个视讯页面的有效部分开始之间的间隔时间也是任意的,但是对于一个特定的视讯频率或是解析度,这个值也将固定。
对于计算机的本地用户来说,在不同的视讯频率之间的切换可以通过调整控制参数处理。大多数监视器可以控制调整同步脉冲和视讯的有效区。当同步的速度不对时,影像将会被压扁也就是比荧屏小,或是影像将会扩大,也就是比荧屏大。大多数的监视器可以控制调整同步速度。
一台目标计算机的远端用户无法通过KVM在目标计算机监视器调整这些控制。此外,数字KVM中的ADC必须从模拟视讯信号波形中通过取样技术取出每个像素。理想状况下,取样将分布在每个像素的中心。然而,像素的放置位置只能参考同步脉冲,且同步脉冲的位置是任意的。
不恰当的时间预测将导致错误的像素取样,而这将造成许多问题。例如,数字KVM产生的视讯有可能造成一些像素或者影像边缘被切断,或者一些多余的像素或者线条增加在影像的边缘。取样紧迫则是更进一步的错误取样。像素在边缘附近被取样,而不是在他们的中心点,然后重复此像素取样将有机会导致一个重复的取样。这样的情况会造成KVM认为一个没有改变的像素已经改变,而造成多余的数据产生,以及不必要频宽浪费。这将造成KVM的回应时间变慢,因为可用的频宽将被这些无谓的资料占用,而减少传送现在页和之前页间,差异讯息的频宽。

发明内容
本发明的目的是提供一种远端计算机对目标计算机进行控制的方法和系统,将尽可能地包括增加KVM系统的处理速度或者方法。尽可能降低系统频宽的使用并且提高可用性以及提升远程计算机对用户的监控性能。
本发明是提供一种远端计算机对目标计算机进行控制的方法,包括撷取目标计算机新视讯页面并使用这个页面来更新远端计算机,其中,所述新视讯页面包含一序列撷取的新页面像素,其包含一个撷取的初始新页面像素与一个撷取的最终新页面像素,撷取的新页面像素表示目标计算机的视讯讯号,此方法包含几个步骤,由初始新页面像素开始(A)从此序列中接收一个比较的新页面像素;接着(B)比较此新页面像素与一个对应的参考页面像素;然后(C)如果最终新页面像素没有被撷取,对序列中下一个新页面像素,重复步骤A与B。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称的步骤B中包含决定新页面像素与对应的参考页面像素不同的步骤,如果新页面像素跟参考页面像素不同,就标记一个新页面更新单元对应到此新页面像素,如果此单元尚未被标记。
本发明是提供一种远端计算机对目标计算机进行控制的方法,包含在收到新页面像素前将每个新页面像素由模拟讯号转换到数字讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称的新页面更新单元包含一个片段表示许多像素。
本发明是提供一种远端计算机对一目标计算机进行控制的方法,所称的一个片段表示一个十六乘十六的像素区域。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称的步骤B包含由一个参考缓冲区读取对应产考页面像素的步骤,测量读取的时间来比较新页面像素与对应参考页面像素。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称的步骤A也包含储存新页面像素到新的页面储存位置,测量储存时间来比较新页面像素与对应参考页面像素。
本发明是提供一种远端计算机对目标计算机进行控制的方法,一个撷取一连串新视讯页面的方法,并对此串列中的每一个新的视讯页面,使用权利要求1、2、3、4、5、6或7项中所述的方法。
本发明是提供一种远端计算机对目标计算机进行控制的系统,包括撷取目标计算机的新视讯页面来更新远端计算机页面,其中新视讯页面包含一串列撷取的新页面像素,此串列包含一个撷取的初始新页面像素和一个撷取的最后新页面像素,此系统包含一个比较模组和一个连接到此比较模组的记忆模组,此比较模组被装设来接收比较目标计算机的初始新页面像素,接着比较此初始新页面像素与对应参考页面像素,然后将此初始新页面像素记录在记忆模组中,如果最后新页面像素没有撷取,则对串列中下一个新页面像素,重复上述的接收、比较与记录的步骤。
本发明是提供一种远端计算机对目标计算机进行控制的系统,其特征是,该存储器模组包含一个参考视讯页面拥有其参考页面像素,比较模组被程式设计为由记忆模组中读取参考页面像素,记录读取的时间来比较新页面像素与对应参考页面像素。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该系统进一步包含一个模拟到数字的转换器,连接到上述的比较模组,用来将视讯页面由模拟讯号转换到数字讯号。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该比较模组包含一个可程式化的闸道阵列。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该记忆模组包含由同步动态随机存取存储器。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该比较模组被程式设定成用来比较新页面像素与对应参考页面像素,(1)决定新页面像素是否与对应参考页面像素不同;(2)新页面像素如果与对应参考页面像素不同,与此新页面像素有关的新页面更新单元会被标记起来,当此新页面更新单元尚未被标记。
本发明是提供一种远端计算机对目标计算机进行控制的系统,所称的新页面更新单元包含一个片段表示复数像素。
本发明是提供一种远端计算机对目标计算机进行控制的系统,其中的片段表示一个十六像素乘十六像素的区域。
本发明是提供一种远端计算机对目标计算机进行控制的方法,其步骤是,(A)执行权利要求2述的比较方法;(B)搜寻标记指示已标记过的新页面更新单元;(C)移动标记过的新页面更新单元到一个参考页面输出位置,为了最后传送到远端计算机。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称步骤A包含执行比较方法的步骤如权利要求4项所述。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称方法进一步包含对CPU产生一个中断需求的步骤,为了找到一个或多个标记在步骤B,CPU会警告当新页面更新单元已经标记过。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称步骤C包含移动产考页面输出位置,为了最后传输给远端计算机,荧屏位置资料,为了每个标记过的新页面更新单元。
本发明是提供一种远端计算机对目标计算机进行控制的方法,进一步包含产生与每个新页面更新单元关联的平均颜色资料步骤,步骤C也包含移动参考页面输出位置、平均颜色资料,平均颜色资料可以被远端计算机在缩放目的时使用。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称方法进一步包含决定每个标记过的新页面更新单元步骤,如果此新页面更新单元是同一颜色,步骤C会包含设定同一颜色标记的步骤,如果此标记的新页面更新单元是同一颜色;同一颜色页面可以降低传输到远端计算机的频宽,只要一个颜色和同一颜色页面荧屏位置即可。
本发明是提供一种远端计算机对目标计算机进行控制的方法,决定是否取得目标计算机的视讯讯号的方法,比较过目标计算机的视讯讯号与参考视讯,而且也由比较产生了更新资料,为了传输到远端计算机,其步骤是,(A)监视第一个状态资料关于视讯讯号解析度;(B)监视第二个状态资料关于视讯讯号解析度;(C)如果第二个状态改变以便指出解析度的改变,但是第一个状态并没有指出解析度的改变,则终止比较且更新资料的产生且继续监视第一个状态,为了决定何时要求视讯讯号;(D)如果第二个状态继续指出解析度有改变,且第一个状态也指出解析度有改变,则决定要求视讯讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法.,进一步包含可恢复的比较和更新资料产生步骤,如果第二个状态由改变回复且第一个状态持续指出解析度没有改变。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称的第一个状态包含一个与视讯讯号有关的列H-sync讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称的第二个状态包含一个与比较与资料产生的视讯讯号资料相关的再生H-同步讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法,所称第二个状态包含一个由模拟到数字转换器建立的再生H-同步讯号,其为了比较与更新资料产生而转换视讯讯号到数字讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法,进一步包含恢复比较与更新资料产生步骤,当再生H-sync由改变回复,且列H-sync持续指出没有解析度改变。
本发明是提供一种远端计算机对目标计算机进行控制的方法,进一步包含如果恢复步骤与步骤D在预先决定的时间内没有被执行,则决定需要取得视讯讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法,预先决定时间是五秒。
本发明是提供一种远端计算机对目标计算机进行控制的方法,将目标计算机的视讯讯号与参考视讯做比较,且更新由比较产生为了传送到远端计算机的资料此方法包含以下步骤(1)执行权利要求23、24、25、26、27、28、29或30项的作法;及(2)初始且完成重新取得视讯讯号。
本发明是提供一种远端计算机对目标计算机进行控制的方法,其步骤是,(I)比较目标计算机的视讯页面与参考视讯;(ii)在比较步骤中产生提供远端计算机更新用的资料;(iii)重新获得视讯讯号,使用权利要求31项的方法;
(iv)当重新取得视讯讯号之后,恢复之前的比较与产生步骤。
本发明是提供一种远端计算机对目标计算机进行控制的方法,一种数字KVM系统包含一个模拟到数字转换器,为了数字化视讯讯号用来产生一串列的新页面像素数字数值;一个差异计算器,为了计算每个新页面像素数字数值与对应参考页面像素数字数值的差别,此差异计算器包含一堆可程式化的闸道阵列。
本发明是提供一种远端计算机对目标计算机进行控制的方法,的数字KVM系统,其中系统进一步包含一个更新资料产生器,为了产生传送给远端计算机的视讯更新资料。
本发明是提供一种远端计算机对目标计算机进行控制的方法,数字KVM系统中的更新资料产生器包含可程式化闸道阵列。
本发明是提供一种远端计算机对目标计算机进行控制的方法,改进鼠标敏捷的方法,是使远端计算机可以很快的看到通过KVM输出的目标计算机的视讯画面,此处的鼠标是通过数字KVM用来对目标计算机下达输入命令,且远端计算机的视讯也通过此数字KVM来更新与表示目标计算机的视讯讯号,其步骤是,确定鼠标的起始座标;KVM接收到一个鼠标移动的指示;当收到指示后,KVM采用一个程式化的更新顺序并且更新远端计算机的视讯用以表示鼠标的移动;及重复程式化的更新顺序。
本发明是提供一种远端计算机对目标计算机进行控制的方法,进一步包含改变一个鼠标移动的新位置的步骤。
本发明是提供一种远端计算机对目标计算机进行控制的方法,包含KVM的接收,且与鼠标已经移动的视讯讯号相关。
本发明是提供一种远端计算机对目标计算机进行控制的系统,控制视讯传输到M个远端计算机的系统,M大于等于一,其中目标计算机的画面会传送到每个远端计算机且会依照其连线速度去更新画面,此系统包含一个更新单位产生器以及一个更新单位输出位置,这是为了保留住更新单位产生器所产生的更新资料;一个与连线速度相关的扫描器,所称扫描器会送出在更新单位输出位置中的更新单元,且依照其连线速度运作;更新单位产生器,更新单位输出位置以及扫描器将如此设置,如果一个较旧的更新单位输出位置被较新的更新单位输出位置取代,则较旧的更新单位输出位置将不会被传送。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该输出位置被设定为保有每个不定更新单元的最近版本,且不废弃不定更新单元。
本发明是提供一种远端计算机对目标计算机进行控制的系统,每个更新单元包含一个片段对应到一个视讯荧屏像素区域。
本发明是提供一种远端计算机对目标计算机进行控制的系统,系统进一步包含独立的输出位置片段戳记,此独立的输出位置片段戳记将与相关的输出为置有关,当独立的输出位置片段戳记与每个片段有关时,系统进一步包含了一个列输出位置片段戳记与每一个片段列相关,输出位置将被设置为独立的输出位置片段戳记将每次累加当相关的片段被传送出时。
本发明是提供一种远端计算机对目标计算机进行控制的系统,,每个输出位置列片段戳记被设定为可增加,以便于指出对应列中的一个片段已被改变。
本发明是提供一种远端计算机对目标计算机进行控制的系统,其中增加每个输出位置的列片段戳记,以便于组成在目前列中最常改变片段的片段戳记。
本发明是提供一种远端计算机对目标计算机进行控制的系统,系统进一步包含一个片段戳记储存位置与每一个扫描器及远端计算机对应,每一个扫描器片段戳记储存位置包含一个独立的片段戳记储存位置与每一个片段相关,且储存位置列片段戳记与每一个列片段相关,每一个扫瞄器与其相关的片段戳记储存位置将设置及运作如下,(A)扫瞄每一个储存位置列片段戳记;(B)比较相对应的储存位置列片段戳记与输出位置列片段戳记;(C)如果不同,就认为相关的列至少存在一个片段要被传送;(D)扫瞄储存位置片段戳记与其相关的片段列,将其与输出位置片段戳记比较,传送出每个不同的片段,累加相对应的储存位置片段戳记使其与相关的输出位置片段戳记相等值,并回到步骤A。
本发明是提供一种远端计算机对目标计算机进行控制的系统,其中一种允许远端计算机控制目标计算机的装置,此装置连接到远端计算机去接收远端计算机的鼠标与键盘输入讯号,并且传送视讯更新讯号去更新远端计算机的画面,这装置也连接到目标计算机并提供远端计算机的鼠标与键盘的信号当作输入控制,并且将目标计算机的视讯讯号经过处理后产生视讯更新讯号,此装置包含一个虚拟存储器磁碟机,虚拟的软盘机通过将存储器空间设置成一个装置的方式完成,此装置允许远端计算机的使用者将其连接到远端计算机并传送资料进虚拟的存储器磁碟,并且使用者也可以中断此连接,通过远端计算机的控制目标计算机可以连接这个虚拟存储器装置,传送资料到目标计算机中,且一样可以中断此装置的连接。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该记忆空间被设定为仿制开机磁碟的大小与记忆格式,以便于允许目标计算机可以由记忆空间重开机。
本发明是提供一种远端计算机对目标计算机进行控制的系,该装置被设定为可容许将开机软盘的影像下载到存储器空间中,其中开机软盘的每个位元组被纪录到虚拟记忆磁碟中对应的位元组位置。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该装置被设定成可连接虚拟记忆磁碟到目标计算机通过一个USB接头。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该虚拟记忆磁碟包含一个连接到装置且存在于伺服器上的虚拟CDROM。
本发明是提供一种远端计算机对目标计算机进行控制的系统,该装置与虚拟CDROM都被设定为目标计算机的开机CDROM。
本发明利用数字KVM及模拟KVM之间的转换实现了远端计算机对目标计算机之间的监控;同时提供了一种方法,通过只传递目标计算机画面中的不同元素的视讯信号,用以替换远端计算机画面中相对应内容的方式,实现视讯画面的快速传递。


图1是一台远端计算机,目标计算机的示意图。
图2是一张多台远端计算机的示意图。
图3是本发明KVM的示意图。
图4A和图4B是显示根据本发明的KVM在抓取和更新的模式示意图。
图5显示本发明有关视讯析度要求的部分以及如何决定何时重新取得视讯解析度示意图。
图6是根据本发明一个片段缓冲区的示意图。
图7是显示一个正确校准取样的图解示意图。
图8是显示一不恰当阶段校准取样的图解示意图。
图9根据本发明所显示的试验图案图。
图10是虚拟键盘,虚拟鼠标和虚拟磁碟机的示意图。
图11是一连串交替的黑色像素和白色像素的模拟波形图。
具体实施例方式
现结合附图及实施例详细说明如下如图1所示,显示一目标计算机12。具体来说,图1中的KVM 14直接连接到目标计算机12,且接收目标计算机12的视讯信号。在图2中,N部目标计算机12(N>1)通过模拟KVM16再连接到数字KVM14上。以此方法,M个远端计算机20的使用者中的一人可以通过下面的详细描述说明来连接到N部目标计算机12中的一部,并且接收视讯画面与送出键盘与鼠标的控制信号。而远端计算机的使用者可以通过切换模拟KVM14来决定控制哪部目标计算机。
KVM 14切换器采用网际网路18的设计方式通过网路端口设备16连接到网际网路。远端计算机20通过网际网路18从KVM 14接收资讯。较好的状况下KVM切换器与远端计算机20并不需要通过网路端口设备以及网际网路来连接。只要连接的媒体可以从KVM 14切换器传送数字视讯信号到远端计算机20即可。重点是远端计算机20连接到KVM 14的方法是可以接收到视讯画面更新的讯息即可。然而,较佳的KVM 14切换器与远端计算机20的连接是采用一些较有效率的视讯传送方式通过KVM 14切换器到远端计算机20,远端计算机20则是位在KVM 14切换器与目标计算机12的远处。
远端计算机20通过网际网路18连接到接收其键盘与鼠标信号的KVM 14切换器,这些输出信号再通过KVM 14切换器传送到目标计算机12。因此远端计算机20可以控制一部或是多部的目标计算机12。远端计算机20通过网际网路18接收目标计算机12的视讯信号。这些视讯信号被接收后可以再远端计算机20上显示,让远端计算机20的操作人员可以看到目标计算机12的输出画面。由上所述,此视讯输出可以是图形介面的方式(Microsoft windows操作系统)或是命列列的输出方式。
远端计算机20通过KVM 14切换器以及网际网路18的连接,将键盘与鼠标的有效控制讯号传送到目标计算机12。通过KVM 14切换器的连接,目标计算机12会将远端计算机20的键盘与鼠标控制讯号当成是本身的键盘与鼠标控制讯号。因此,这些远端计算机20键盘与鼠标的动作将会被目标计算机12当成是直接的目标计算机12控制讯号。
图3是KVM14切换器的组成图。包含有一个模拟转数字的转换器(ADC)22,一个中央处理器(CPU)36,一个同步动态存储器(SDRAM)38以及一个可程式化的逻辑闸(FPGA)40。这些元件详细的运作方式将在后面说明。其中的SDRAM 38是被当成一个信号区块且可以由多个SDRAM 38组成。且此SDRAM 38也会分担给CPU36以及FPGA40使用。
此KVM14也包含一个CPU的非挥发存储器(NVRAM)37,此非挥发存储器可以处理储存,内部处理,CPU的程式,FPGA的设定,视讯频率的储存以及其他系统讯息。
有关存储器在KVM 14中的较佳的组织方法并不需要包含在本发明中。而所谓较佳的方法即是指能满足在此处所举的功能且足够完整的存储器定义。
图4A是指KVM 14以及FPGA 40处在视讯页面抓取模式,如所接收到新页面与旧页面的比对。目标计算机上视讯的模拟信号通过ADC 22转成数字讯号。ADC 22的输出则是一串数字值,所表示的是ADC 22所收到视讯信号中的每一个相素。
数字KVM 14中包含有一个新页面储存缓冲区24以及一个参考页面储存缓冲区26。这些缓冲区24,26是由SDRAM所组成的。每一个像素的值都是通过ADC32去转换并储存在新页面缓冲区24,这个新页面缓冲区就是负责从ADC 22接收转换好之后的数字讯号。
每一个储存在新页面缓冲区24的像素值都通过FPGA 40与前一个页面或是参考页面相比较。这个参考页面可从参考页面缓冲区26取得。此参考页面缓冲区26的值是由前一个旧页面得来的。通过新页面与旧页面的比较可以去更新新页面缓冲区24与参考页面缓冲区26。
如果在新页面中的像素与参考页面中的像素不同则将旗标设定在片段差异缓冲区28中,以此来表示新页面的更新单元。也就是新页面中含有与参考页面差异的像素。
接下来将说明KVM在更新模式中的运作,在此模式中片段差异缓冲区28的值将会被传送到远端计算机20。因此更新模式的功能就是将更新的值传送到远端计算机20中用以更新远端计算机的视讯。新页面的更新可以包含一个不可分割的像素或是多个像素的组合。新页面的更新单元被定义成是在画面中一个16像素宽乘以16像素高的一个小区域片段。这样更新页面的的实做方法将可以让此KVM 14通过VNC一做视讯传输,而VNC即是采取这样16像素乘以16像素的方法。这样的方法是较佳的,因为一个片段只包含256个像素,与一个页面中一个一个像素处理相比,将会有效许多。因此,通过FPGA 40的比对,如果第一个像素在比对之后有所差异,则此片段将会被标记,且之后的像素差异并不影响这个被标记的结果。
FPGA 40中包含一个差异计数器31用来纪录每次比对一个新视讯页面与参考视讯页面时,其中差异像素的量。
当一个新页面被接收且储存在新页面缓冲区24时,此数字KVM 14就会切换到更新模式。这个模式在图4B中说明。在更新模式中,差异扫描器14(此差异扫描器通过程式化与实做的FPGA 40来实现)扫瞄片段差异缓冲区28中有被标记的值。当找到一个标记(旗标flag),则表示一个有被更动过的片段被找到。此片段将被FPGA 40从新页面缓冲区24取出并放置到FPGA 40的片段输出缓冲区32。接着,CPU 36将这些片段复制到参考页面缓冲区26,这个动作将完成被标记片段传送到远端计算机20,以及参考页面储存位置是从那个参考页面取得的。具体来说,参考页面储存暂存区是由两个分别的存储器组成的。两个分别的存储器存有相同的资料。第一个存储器位置是用在FPGA 40中的比对动作以用来标记从缓冲区24更动的片段,第二个存储器位置则是CPU 36用来当作输出已传送片段的位置以及哪一个已变动片段被CPU 36从缓冲区32移过来。其他的设定,如参考页面输出以及储存位置都在本案中以一些存储器设定的方式完成。
当所有的缓冲区28被扫瞄完,且将被标记的片段搬移到输出缓冲区32且传送到远端计算机20之后,此数字KVM就切换到抓取模式并等待下一个视讯页面。当下一个页面进入之后,刚刚所描述的动作就再重新运作一次。
除此之外,每一个被标记的片段在抓取的当时,输出缓冲区32中也外加的储存了一组与每个片段相关的设定,而这组设定也会一并传送到远端计算机20。这组设定的前两个区段是存放此片段在视讯画面中的水平垂直关系。这个位置资料将会搬移到片段输出缓冲区32送给远端计算机,用来将此片段显示在远端计算机正确的位置。
此外,片段的平均色彩值会被计算并存放在第三个设定区块。这个平均值包含片段的红色,绿色与蓝色平均值。当此平均值被计算之后,FPGA 40会去扫瞄片段是否为同一颜色值。如果是的话,FPGA 40会标记一个同色标记(旗标)在这个设定区块。
在此有两种平均值的优点应用,第一种是,如果远端计算机20的使用者将画面缩小(假如缩小为1/(16*16))。则每一个片段16像素乘以16像素,将会被表示成一个像素,而此像素的值将是算出来的平均值。也就是说,这个平均值将会用来在VNC(虚拟网络运算平台)中当作一个画面显示时的值。
另一种则是可以缩小从KVM 14传送到远端计算机20的频宽,如果每个片段都用平均值来显示。一个画面中常常是由一个同色的区块所组成的。举例来说,一个文字文件中,边缘的部分大多是白色的。另外,视窗的边缘也大多为相同颜色。
当所有的在被标记片段中的像素是一样颜色时,就不需要传送每一个像素的颜色值了。相对的,CPU 36也只需传送此片段的位置以及颜色。如此一来频宽可以大幅降低。如此一来远端计算机的画面更新速度也会较快,因为在KVM14与远端计算机20之间传送的资料量较少。
最后一个设定区块是用来标记此片段是不是一个页面的第一个片段。以此标记,CPU 36才能知道一个页面的起始以及结束位置。这对于视讯画面的校准是很有用的,且将在下面说明。
当一个被标记的片段搬移到输出缓冲区32,如果在此片段输出缓冲区有一个片段被改变的话FPGA 40会产生一个插断给CPU。备注如果新页面与参考页面相同,则没有片段会被搬到输出缓冲32。当CPU 36收到插断后,片段输出缓冲区32会保存所有被标记的的片段直到CPU 36将他们传送到远端计算机20。
KVM 14可以看成是一个比较目标计算机12的新视讯页面与参考页面的系统。每一个新视讯页面都是由一个串列组成,此串列包含了新视讯页面中的起始以及结束像素。而FPGA 40则可视为一个被程式化后用来比对目标计算机12中被抓取的新页面(通过ADC 22),并且比较新页面中从头到尾的每一个像素。此FPGA 40被程式化成从缓冲区26读取参考像素,这个缓冲区由记忆模组SDRAM 38组成。然后FPGA 40重复执行接收、比对以及储存的工作直到新页面与参考页面比对结束。此FPGA 40与SDRAM 38及ADC 22相连接,并可以把新页面储存到缓冲区24,从缓冲区26读取参考页面像素以及接收ADC 22收到的新页面像素。
如上所述的差异计算方式是一个很有用的特性。在速度方面,在上面所说的方法中,当每一个新页面像素被KVM 14接收之后,就马上与相对应的参考页面比对,且如果有相异的像素产生时,就将该片段标记在片段差异缓冲区。这个动作将持续到一个新页面与参考页面全部比较后结束。也就是说,当一个新页面接收完之后,其与参考页面的比对动作也同时完成了。这将会改进比对的速度,如果比对动作是在接收完新页面后在一个像素一个像素的与参考页面比对的话。
要完成在当一个页面接收完成的同时即完成新页面与参考页面的比对动作,此KVM的速度至少要比接收新页面的速度快。如果比对的速度不够快,则将会遗失某些新页面,造成远端计算机画面的不连续。在以软件为基础的KVM系统中,将很难达成这样的要求。因此,采用FPGA 40来达成比对动作是较好的。这也是在用FPGA的优点。第一,因为他是可程式化的,相较于不可程式化的硬件对于日后的更新有较大的弹性。此外,FPGA在运作时接近硬件的速度,与软件的方式相比快上很多。总而言之,采用FPGA 40的数字KVM可达到有弹性的更新就像是采用软件一样,但却可以拥有硬件的处理速度。
此FPGA 40在此本发明中,可以被程式化成忽略某些新页面。也就是说,我们可以在新页面中通过程式化后的FPGA40去抓取我们所需要的像素。
为了将像素的正确位置传送到远端计算机20,KVM 14需要知道从目标计算机所输入视讯讯号的解析度。正常来说,KVM 14可以知道每一个视讯页面的扫瞄线,每个扫瞄线的组成像素数以及在H-同步脉冲前后的空白区域的像素数。KVM 14需要拥有侦测解析度的这个功能,用来得到这些资讯。
获取一个解析度资讯的方法如下所述,一开始当FPGA测到一个稳定的H-同步脉冲。这需要去计算H-同步脉冲间的时间间隔用来确定这些H-同步脉冲间的时间间隔一样,如果一样则说这是一个稳定的H-同步脉冲。接着一个稳定的V-同步脉冲,则是通过计算在连续V-同步脉冲中H-同步脉冲的数量。如果V-同步脉冲是稳定的,这就可以确定一个新的解析度讯息。
在一个持续显示的画面中,FPGA 40持续的监控V-同步与H-同步信号,如果有所改变,FPGA就去处理视讯信号且通知CPU 36视讯页面将有所遗失。
V-同步脉冲与H-同步脉冲并没有一个很严格的间隔或是位置。然而,对于一些特定的视讯来源以及特定的视讯解析度将会拥有一个特定值。在此,FPGA可以通过他自己的内部时脉去测量V-同步脉冲与H-同步脉冲的持续,V-同步脉冲与H-同步脉冲的次数,H-同步脉冲在边缘拉起的次数以及V-同步脉冲在边缘拉起的次数。V-同步脉冲与H-同步脉冲也可以通过比较他们的动作时间与停止时间去得到。在定义上,动作时间会比停止时间短很多。而扫瞄线的频率可以从H-同步脉冲间的时间间隔取得。页面的更新频率可以从V-同步脉冲间的时间间隔取得。至此,还有一条线由几个像素组成是未知的。为了要确定这个值,可以建一个表在KVM 14中,并配合刚刚算出来的值去估算。
视讯标准组织(VESA)提出了许多视讯解析度的标准,包含每条线的像素数,每一页面的线数,空白像素以及空白线以及其他定义。这些标准的解析度讯息将建表存放在CPU 36的NVRAM中。这个表可以放在任何地方,只要再需要时可以马上取得即可。
由于VSEA标准只是一个标准而并非强制性的,因此,并不是所有的解析度都建在表中,有些作业系统,如Linux,拥有独立的解析度资讯。对于这些系统,制式的解析度资讯将不适合。然而,Linux是一个开放原始码的系统且解析度资讯是可以得到的。因此,这个表也将包含Linux的解析度资讯以及其他可得的已知解析度资讯。
在表中所列的许多解析度资讯,将是有可能不完全符合我们所需的。在这样的状况下,下列的方法将可以估计解析度资讯。这些解析度资讯将通过采用VESA标准时脉转换GTF的方式去取得最接近的值。GTF是VESA所提供的一个方法用来侦测未知的解析度资讯。
就算是通过采用GTF,对于输入的视讯信号也是无法很精确的确认。这是因为GTF所提供的只是一个估计的方法。然而,以下所提供的方法将可以在估计之后更进一步的求得较精准的值。
当一个估计的解析度资讯决定之后,CPU 36通过ADC 22对视讯取样并产生一个像素取样频率。频率则是通过每条线上的像素乘上线的频率(每秒几条线)得到的。接着ADC 22会以此像素频率对输入的视讯取样。每一次ADC产生像素频率被决定,则ADC 22就以此频率取样视讯信号。
当有视讯解析度改变的讯号时,KVM 14就会去侦测新的视讯解析度资讯。当视讯解析度改变时,KVM 14就采用新的解析度资讯将所要传送的视讯资料传送到远端机算机20。
在有些状况下FPGA 40是不需要重新取得视讯的解析度资讯的。当采用VESA的标准时,如果V-同步暂停但是H-同步继续时,这表示目标计算机的CPU将目标计算机的荧屏切入待命模式。如果H-同步暂停但是V-同步保持时,这表示目标计算机的CPU将目标计算机的荧屏切入省电模式。当以上这两种情况发生时,并不需要重新去取得解析度资讯。反而,当此两种状况的其中之一被察觉时,KVM的视讯处理(抓取页面与更新页面)应该直接切入待命直到讯号恢复。这个讯息会通过FPGA 40传给CPU 36去决定是待命或是省电模式。接着CPU会送讯息到远端计算机告知目标计算机已经进入省电或是待命模式。且当目标计算机切入此两种模式之一,远端的画面将不会更新。
另一个不需要重新取得解析度资讯的状况是由ADC所造成的杂讯。如果在ADC产生H-同步信号时有杂讯,则将造成像素取样频率太快或是太慢。这样的改变并不是由于解析度的改变,而是由杂讯造成。如果KVM持续对这样的讯号作处理,则相对应所产生的讯息将会错误,远端计算机的荧屏显示也将会错误。然而,如果重新取得解析度的时间是在此时,则远端计算机的画面将会很差,及使目标计算机的解析度并没有改变。
因此,在这个专利中包含了一个去侦测何时要重新取得解析度资讯的方法,如图五所示。以下将详述此侦测方式,其主要是要侦测H-同步是否有确定改变而造成解析度资讯改变或者只是一个杂讯造成的错误。
如上所述,当视讯讯号在接收到且通过ADC转换成数字讯号之后,将与参考视讯比对,接着更新资料(一个片段中至少有一个像素有差异)将会产生并且传递到远端计算机。以KVM 14的工作方式而言,FPGA 40持续的监视两个条件,一个是从目标计算机接收到的H-同步信号以及另一个是ADC 22产生用来比较与更新的H-同步信号。这两个信号都包含有解析度资讯。如果是ADC 22产生的H-同步信号改变而从目标计算机接收到的H-同步信号没有改变,则将视讯撷取动作暂停且让FPGA 40持续的监控从目标计算机接收到的H-同步信号用来侦测何时需要重新接收视讯讯号。将视讯撷取动作暂停的理由是因为比较差异的动作将会产生错误的资料,而造成ADC 22产生的H-同步信号产生误差。另一方面,如果从目标计算机接收到的H-同步信号没有改变,则表示实际上的视讯解析度并没有更动,不论所产生的H-同步信号是否指出解析度有所更动。
接下来,如果所产生的H-同步信号指出解析度有所更动,且接收到的H-同步信号也是。则KVM 14就认为解析度资讯需要重新被要求开始并重新要求。当产生的H-同步信号发现接收到的H-同步信号没有改变,则重新启动视讯撷取动作,这是因为在这种情形下,所产生的H-同步信号可以将画面正确的送到远端计算机。
此外,在这个方法中也提供了一个超时侦测。如前所述,如果接收的H-同步信号没改变,但是产生的H-同步信号指出解析度有变,则视讯撷取暂停并监视接收的H-同步信号。然而,在超过一定的等待时间(如5秒)后视讯解析度就需要被重新设定。这将会在某些状况下得到一个较好的效果。
采用这个方式有许多优点,其重点是在于,对于解析度资讯的重新获得次数将减低。当解析度被重新设定时,第一个新页面需要完整的被传送到远端计算机,这将造成一些不必要的传输如果解析度并没有真的改变。此外,解析度重设的动作将会切断远端计算机的视讯而造成使用者的不便。最后,这个方法可以通过暂停撷取视讯去降低传输不正确的资料,以此节省频宽。
具体来说,在这个专利里KVM 14将会有多于一部的远端计算机连接到它(如图2)。这样的设定允许多部远端计算机控制目标计算机。在某些状况下,这样的设置可以让管理人员更加的方便。
通过这样的设计,每一部远端计算机拥有他自己的专属连线可以从KVM 14取得视讯讯息。这些连线可以被称做″使用者端″。每一个使用者端与KVM 14的连接都有不同的频宽与速度(图2)。因此,若FPGA 40发现画面需要更新,则传送到远端计算机的时间将会拉长。
这样说来,每一个使用者端的画面将会暂停且并不是很及时的更新成最新的页面。KVM 14为每一个使用者端准备一个片段的缓冲区43。这可以提供远端计算机一个较好的更新状况。图六就是这个片段缓冲区43的实做方式。这个缓冲区43将采用CPU 36中的存储器空间,然而,这个缓冲区43可以用其他方式实做且也属本专利的范围之内。
如上所述,当片段在新的视讯页面中有所改变,该片段就送至FPGA的片段输出缓冲区32,并准备送到远端计算机。参考页面缓冲区26包含有最新从片段输出缓冲区32接收到的资料。此参考页面换冲区26同时管理一个独立的参考缓冲区片段戳记,并与相对应的片段对应。这些片段戳记将由CPU 36产生。这些独立的片段戳记会被更新在当有新片段更新发生在参考页面缓冲区26时。此缓冲区26也同时管理一个参考缓冲区片段戳记列并与每一个片段列相对应。
事实上,这些在缓冲区26中的列与独立片段戳记通过一个讯号计数器去增加其值。每当一个片段从FPGA 40读出时,这个计数器将会加一,而它是一个32位元的二位元值。对每一个从FPGA 40读出的片段,每一个相对应在缓冲区26中的片段戳记将会被此计数器给定一个值。这个独立片段戳记对每一个改变都会将其值往上累加1。当这个32位元的计数器到达最大值时则会归零并持续随着每次读取FPGA 40累进。片段戳记可以用其他解释,例如对每个片段戳计有一个独立计数器。重点是说,在缓冲区中的片段戳记可以拿来测试得知片段的新旧。
所提出的参考缓冲区片段戳记列是用来标明最新更新的列是哪一个。因此,在换冲区26中的列片段戳记将会被最近更新过的列标记。
对每一个使用者端而言,将有一个片段新旧缓冲区43。这个缓冲区43包含一个矩阵内含独立的片段戳记45。每一个独立片段戳记45对应到相对应的视讯片段位置。缓冲区43更包含了一个列片段戳记47与每一个视讯中的相关列对应。
对每一个使用者端而言,将有一个扫描器(在CPU 36内的一个模组)。这个扫描器持续的扫瞄每一个在缓冲区43中的列片段戳记47,并与相对应在参考页面缓冲区中的列片段戳记相比较。当有一个列的片段戳记不同时,就去扫瞄该列中是哪一个独立的片段戳记不一样。找到之后,扫描器49会将这个在参考缓冲区26中的片段当成一个更新片段并会被重送到使用者端。而且这个在缓冲区43中的不同片段戳记45将会被更新到相对应的参考页面缓冲区中。当所有的片段戳记在同一列中都被更新过后,且相对应的片段也送给使用者端后,列片段戳记47就会更新成相对应参考换冲区片段戳记列的值。
每一个扫描49将会被程式化成依照对应使用者的频宽与速度去调整本身的速度。如果连线的速度很快,则扫描器49将会较快的扫瞄片段戳记,且片段也会较快被传送。如果连线速度较慢,扫描器49就会扫慢一点,且传送片段的速度就会较慢。每一个扫描器49都会被程式化成可以依照不同连线速度去调整本身扫瞄速度的扫描器。
采用这种对个别使用者端速度特别设定速度的扫描器49,在传送到个别的使用者端前,片段的更新次数在参考页面缓冲区26中较多。这是因为连线较慢而造成较少的传输。当然,能将所有更新片段送到使用者端是最好的。然而,连线的速度有时会造成这种状况。
每一个扫描器49及缓冲区26都可以正常的将最新的更新片段送给使用者端。这是因为缓冲区26一直保有最新的片段更新资讯。当扫描器49发现一个独立的片段戳记与相对应的独立参考缓冲区片段戳记不同时,相对应的片段,将会从缓冲区26送到远端计算机20。每一次缓冲区26的更新都将会造成远端计算机的更新。
当远端计算机很慢或是连线频宽很慢时,远端计算机荧屏的更新也会很慢且不连续。然而,在确定所传送的片段都是最新的状况下,从远端计算机20输入控制(键盘或鼠标)与出现在远端计算机荧屏回应后之间的间隔时间将会是最小的。这降低了输入的回应时间并增进了远端计算机20的可用性。相对之下,如果把所有的更新片段最后再送则输入的回应时间将加大,且可用性将降低。
提高可用性的一个要点是让使用者可以很快看到他的输入(键盘或鼠标)回应在荧屏上。当远端使用者移动鼠标的时候,指标将会马上在荧屏上移动。这样的状况很难实现,因为鼠标的信号需要从远端计算机20送达目标计算机12并造成视讯信号的更新。视讯信号接着传送到KVM 14,处理过后再将更新资料传送给远端计算机20,这程序将发生在每次鼠标移动时。当连接在KVM 14与远端计算机20间的频宽够快时,鼠标移动的回应将会很直接。然而当频宽小时,将会有很大的时间延迟使得显示状况不佳。
因为这样,KVM 14将含有一个鼠标预测的演算法。KVM通过CPU 36得到一个鼠标在远端荧屏上的起始位置。当远端使用者移动鼠标时,从目标计算机传来的视讯信号送进KVM 14表示鼠标移动并将这个动作表示出来。
在此CPU 36是被程式化成,从片段新旧缓冲区的片段扫描器49跳到片段列的开始,而这些片段列是CPU 36从片段输出缓冲区取出来的。这些片段被扫瞄后相关的片段将会更新用来表示鼠标的移动,而这些片段将会被依序的送出。扫描器49移动到鼠标预计位置的列。这些列将会被扫瞄并更新,更新的片段将会被放进传送顺序中。当这些步骤完成后,扫描器回到它的起始位置。如之前跳过来预测鼠标位置的该列。
这样的方式,当接收到一个鼠标移动的方向,程式化的更新顺序通过扫描器49可以直接更新远端计算机画面。远端计算机的视讯可以被直接更新用来显示鼠标的位置,然后程式化的扫描器再重新执行。
因为鼠标的移动会造成一些相关的片段更新,因为这样的特性,所以给予鼠标更新有较高的优先权去更新画面。换句话说,当鼠标一开始移动,远端计算机的荧屏就会被更新,并且抢在其他片段更新之前。这将造成鼠标的移动较先被显示。这种特性对于较低频宽的使用者可以提供较好的使用状况。
由上所述,标准的视讯模式(如VESA标准模式)定义了线由几个像素组成以及每个H-同步脉冲间有几个像素以及视讯的范围。相同的,标准的视讯模式也定义每个V-同步脉冲间有几个像素以及视讯的范围。因此如果采用这些标准的视讯模式,那″有效″视讯就可以被精准的定位,则可以准确的填入荧屏中而不会超出。(″有效″视讯是指将显示在画面中且被使用者看到的,其他部分则称为″空白″荧屏部分)。
然而,以上所述,在某些状况下,目标计算机的视讯并不是标准的视讯解析度。在这样的状况时GTF就被用来估计视讯解析度,包含每个H-同步脉冲间有几个像素以及视讯的范围跟每个V-同步脉冲间有几个像素以及视讯的范围。然而,GTF只提供一个估计值,而估计值可能会出错。此外,即使正确的解析度被测定,H-同步位置关系到荧屏像素的位置,而这个位置会在电路中,如模拟KVM 16被位移。因此,本专利将包含一个视讯校正的方法,提供将视讯放在荧屏中正确的位置。
传统上视讯讯号用黑色代表页面的空白区块。相较之下,有效视讯区域将是非黑色的。因此,CPU 36通过FPGA 40将第一个非黑色点放置在荧屏的最左上角。换句话说,第一个非黑色的像素被指定为一个有效视讯区域的起始,但由于某些页面可能第一个像素是黑色, 因此这个方法并完整。
接着,KVM 14切换到相反模式,这个模式可以增加估计有效视讯的精准度。当每个新页面收到之后,KVM 14确定该页面四边的黑色区块。如果页面的上下有黑色区块,CPU 36就会通过FPGA 40去调整有效视讯区域的垂直位置(在页面中上下两个黑色区块间以及左右两个黑色区块间)通过将上下黑色区块相等的方式。如果黑色区块位于上下位置的线条数量是奇数,则页面下方会多一条黑线。相同的,页面左右的黑色区块,CPU 36通过FPGA 40去调整水平位置估计量时。如果这想个黑色区块是奇数像素,则页面的右方则会多加一个黑点。
CPU 36只会调整在上下或是左右有黑色区块有效页面的估计值。如果有效页面上下左右的黑色区块增加时,CPU 36假定这些黑色区块没有更动。这是因为,如果黑色区块有所增加这表示有些边缘区间之前是非黑色的像素。因此,如果黑色边缘区域增加,这表示多的黑色区块将会显示在空白区块,且页面位置并不需要校正。
在这个相反模式将持续工作到目标计算机解析度改变时。当解析度改变时,KVM 14会重新要求视讯信号并重新用以上的方法校正页面。
此KVM 14执行视讯校正的方法或是演算法将解说如下。当一个模拟视讯讯号被ADC 22接收之后,ADC 22要马上对这些模拟讯号取样,一个输入的模拟讯号将表示一串列的像素值。在像素之间的间隔,信号会位移用已表示自己所在的电位值。每个像素指定的时间对每个解析度是固定的值。因此,理想中每个像素将会被在这个时间的中点取样。这将可以让ADC 22取得正确的电压讯号,并将此讯号转成像素值。
在理想中,ADC的取样频率将可以让ADC 22正确的取样。如图7所示,在此图中可以看到取样频率的波形。在这个例子中,取样的位置刚好是边缘拉起的位置。输入的模拟视讯信号波形也在本图。取样频率的边缘拉起位置刚好对齐每个像素取样时间的中点。在此例中,取样时的模拟波形是较平的。
图8说明取样频率的边缘拉起位置并没有对齐每个像素取样时间的中点,这些点的取样将会不连续。且取样的值将不正确,取样的位置有时候在讯号开始时,并没有正确的取样到值。因此,取样到非中点将造成像素模糊。且这样的状况将会造成虽然目标计算机的视讯信号没有改变,可是由于取样并不在中点,这使得每次通过ADC 22取样皆有变化。
像素模糊将造成缺点。其一是远端计算机视讯的模糊,其二是较多的差异资料将会产生。如上所言,KVM 14接收每个新页面,侦测其差异值并将差异送给远端计算机。如果像素模糊发生,许多片段都将会发生像素值的改变,即使这些像素并没有更动。这将造成KVM 14很大的处理负担以及传输负荷。
因此,本案包含一个方法或是演算法让像素取样时能更接近讯号的中点或是附近。有一个方式是,假时像素差异值很小则将此差异值忽略,这个方法在KVM 14中执行,当每个解析度有所改变时。
为了侦测最佳的取样相位,ADC 22可以通过CPU 36去调整相位的差异。对每一个设定,FPGA 40中的差异计数器31会去计算差异像素的数量。这些差异在经过计算许多页面之后,可以提供ADC取样的参考。这样重复的计算每个相位的差异量直到差异量最小值被算出为止。这是因为在最小差异值时,像素的晃动是最小的而此相位是最佳的。
实际上ADC将有32个相位可以设定。将每个相位都设定并计算差异量,取出最小差异量及对应的相位,是方法之一。但是这样的方法十分的费时,且会产生许多的像素差异状况,这些状况将会浪费可用的频宽。
因此,每四个为一组去测试ADC 22的设定可以找到最佳的设定。这最多会花费八次测试。接着所要做的三个测试是在前八个试验中差异量最小的两个设定。从这些11个选定出来的设定将可以找出差异最小的解。这样一来将可以降低频宽的使用,且像素模糊和模糊的显示影像都可以很快的解决。
虽然刚刚提出的方法可以找到正确的相位,但并不是所采用的。所采用的方法基本上是,对任何特定的荧屏内容,如果像素取样指定时间是位在中点且取样是在边缘完成,则将会在每一页中有一个固定的差异量。换句话说,对一个现存的页面,将存在一个最大的差异如果像素取样都在中点的话。在图11中即是。图11显示一个由任意黑白点组成的模拟波形。黑点由较低位置的波形表示,白点则为较高位置。
举例来说,当8位元颜色被采用时,且黑点都被在指定时间中点取样,则通过模拟数字转换器后,数字值将会是0。相同的状况,白点将会是数字值255。因此下一个页面像素中的最大差异值将会是255。
然而,如果模拟波形是在其过渡时期被取样,结果将会不一样。在过渡时期中,模拟波形正在从数字值中的一点转换到另一点。当这些电压值备取样时将不会是0或是255。此外,最大的差异量也将小于255。理论上来说,如果在过渡时期的中点取样,不论像素如何组成,则数字值将会是一样的。
因此,一个较佳的侦测相位设定是靠着通过寻找一个数字值,其差异在某一现存页面的最大值。然而,既使像素不是在指定时间的中点取样,差异的总和有可能是最大的,只要模拟波形的取样动作够长。换句话说,在对数字值差异取最大值时是有机会获得许多相位设定值的。有些相位并无法让像素取样在特定时间之中点。
因此,一个最好的侦测相位设定是靠着通过寻找一个数字值,其差异在某一现存页面的最小值,然后选取此相位设定的反相设定。如设定为180度反相。图11为上述的状况,理论上来说,取样在过渡时期的中点将会造成一个最小的数字值差异。过渡时期的中点则刚好180度反相为,像素特定时间中点的相位。因此,寻找数字像素间的最小值,然后设定与其180度相差的相位设定,则刚好会是像素特定时间中点的相位。就算是输入的视讯讯号不全是如图11的任意黑白点,取样在过渡时期的中点也会造成一个最小的数字值差异。
因此,侦测ADC取样相位的方法如下ADC中的相位设定依序更替。对每一个设定而言,一个数量的像素(整页的像素)被取样并转成数字值。接着两两之间计算差异的总和值。第一个相位设定为当这些总和的最小值被找到时,第二个则是180度反相的相位。然后将ADC取样相位设定成第二个。假设ADC中并没有这第二个相位,这是因为ADC提供的相位项并不足够时,则选择一个与第一个设定差异最接近180度差异的相位设定。
就如刚刚所介绍的最佳寻找相位的方法因为是一个较有效率的方式。而且此方法并不受到从目标计算机所产生杂讯的影响。
这个方法将可以在CPU 36或是FPGA 40中执行。使用FPGA 40可以较快速的得到总和。然而,这个方法的执行时间并不完全是处理这些计算,也会花时间处理当ADC 22切换相位时。为了降低选取相位的总时间,我们可以只选择ADC可用相位中的一个较小集合。然而,采用全部的集合是可以找到一个较接近最佳相位的设定。
当一个相位校准的设定开始执行时,将只会传送每一个更动片段的平均颜色,而不是所有片段中的像素。这是因为,当相位校准的设定开始执行时,页面会因为较差的相位设定造成传送的不准确。因此,传送一个片段所有的色点是较不好的。要当相位校正之后,再传送片段的全部更动资料。
许多相位校准的方法对于画面中含有高频讯号可以处理的较好。这表示像素间的差异较快。如下所述的测试模组60就是一个这样的例子。文字文件就是一个这样的例子,因为文字需要与背景有清楚的区分。然而,整个荧屏都填满高频讯号是不需要的,只要一小个区域有文字就可以满足这个方法。
这个方法将会产生不错的结果,既使页面之间有很多差异。然而,虽然一个完全稳定的图样并不是必须,这个方法也将会在页面间没有主要差异时有最佳的表现。
此外,侦测正确的相位还有其他设定并与远端计算机较佳的视讯表现有关。这些是属于ADC 22的补偿与增益设定。调整增益设定可以调整ADC的取样最大值与最小值。举例来说,一个相差一伏特的信号可以通过增益设定变成两伏特。
位移的调整并不会造成电压的变动。位移会造成电压范围的改变。例如一个在0到1伏特之间的讯号,经过位移0.5伏特,则会变成从-0.5到0.5伏特的讯号。调整增益设定会造成位移,但位移并不会影响增益设定。
这些最佳的增益与位移设定将会放在KVM 14中的CPU的非挥发存储器,这些设定可以用测试模组60(图9)取得。KVM 14是可以允许使用者重设这些设定的。然而在某些状况下增益与位移设定需要被侦测。例如,一个恰当的增益与位移设定需要在ADC 22的某些特定特性下被侦测,从目标12到KVM 14缆线的长度以及目标12产生视讯讯号的电路特性。一个适当的增益设定也会被特定的视讯解析度采用。
此KVM被设计成可以允许使用者对不同状况,建立并储存最佳的增益,位移以及相位设定。例如不同的解析度。这将可以通过图九的测试模组60来完成。
在图9所示的测试模组60提供了一组已知的彩色参考来测定增益与位移。它是由一个较高的部分62以及一个较低的部分64组成。每一个都包含随意的黑方块66以及白方块68。在较高的部分62以及较低的部分64之间存在一个颜色的梯度分别为红色部分70,绿色部分72以及蓝色部分74。每一个颜色部分都可以由最深(值0)到最亮(值255),最亮值则为白色。通过每一个部分,每一个颜色则有三个像素宽(每个颜色8比特)。
每个在上方或是下方位置62、64的方块66或是68都是三个片段高以及三个片段宽,所以每个方块至少包含一个片段不论测试模组60在荧屏上的那个位置。黑白方块66、68皆被设定并放置,故所包含的片段将有顺序上的区别或是登记符号。登记符号是让CPU 36用来定位搜寻测试模组就像是测试模组60在荧屏上搜寻一样。每当CPU 36找到一个定位,则就可以定位第一个像素的颜色阶度。
对每一个颜色而言,测试模组60包含了所有来自目标计算机12视讯信号的所有色阶。因此,将调整位移向上调整将会造成每个颜色的中间值右移,向下调整则向左位移。最佳的位移量则是让每个颜色的中间值可以显示在荧屏中。这是因为,依据定义,最佳的位移是电压的中间值和颜色值域的中间值相等。测试模组60中的位移都在颜色值的中点。因此,CPU 36调整ADC的位移并且搜寻测试模组60直到位移量能让每个颜色值落在中点,这将是一个最佳位移量。
接下来将调整增益。因为测试模组60包含了所有颜色值的范围,最佳的增益将是70、72以及74部分的所有方向延伸,此延伸将小于银幕范围。在最佳增益时,每个颜色有8位元组成,前三个位于左方部分的像素将会是黑色,后三个位于右方部分的像素将会是白色。当颜色由4位元组成,则前48个位于左方部分的像素将会是黑色,后48个位于右方部分的像素将会是白色。因此,CPU 36将侦测,以像素组成位元数为基础,当增益是最佳时,侦测在70、72、74中,第一个非黑的像素以及最后一个非白的像素。如果第一个非黑像素以及最后一个非白像素间的距离是一个正确的最小值,则增益将是最佳。如果不是,CPU 36将会将其调整到最佳。测试模组60则是被设计成当增益是最佳时将会显示在荧屏上正确的位置。
因为调整增益会影响位移,故位移需要再被检查一次看看是否为最佳。如果不是则需要持续的调整直到两者都为最佳解。一般来说,在三次调整过后都可以找到最佳的设定。
当一个颜色由4位元组成时,则在70、72、74产生群聚效应。结果将会是一个颜色将由较少的数字值去表现。这将造成某些颜色的不确定性。因此,侦测位移与增益时,CPU将会把不确定的区域通通平均,用已得知颜色变化的位置。这个动作是必要的当CPU 36去侦测第一个非黑的像素以及最后一个非白的像素。
由上所述,伺服器的管理人员经常处理软件更新与升级。这些更新与升级在传统上都在目标计算机12上完成。管理人员将坐在目标计算机12前,插入升级或更新的磁盘或光碟片,并抽换以及等待动作的完成,接着如果有必要的话将要重新启动计算机。且如果有许多伺服器需要更新,又不是位在附近时,这些动作将十分的乏味且费时。
因此,KVM 14将包含一个系统与方法去完成这种目标计算机12通过远端计算机20更新的方法。CPU 36被程式化成将准备一个存储器装置给远端计算机20与KVM 14相联系,当成是一个磁碟机或是其他虚拟装置。装置的可用容量将决定于CPU 36以及SDRAM 38中的可用空间。此存储器空间可能为连续或是不连续的。
远端计算机的使用者将所要升级会是更新的软件传送到KVM 14中的虚拟磁碟机。使用者插入虚拟磁盘进虚拟磁碟机中。则此虚拟磁盘就可以被目标计算机读取。换句话说,虚拟磁碟机装置将包含一个磁盘与目标计算机12连接。此虚拟磁盘是通过USB(通用串列端口设备)的通讯协定连接到目标计算机12。每当这个行为完成,则目标计算机就会当作一个新的磁碟装置被安装。远端使用者通过控制目标计算机12去完成升级或更新,通过使用这种虚拟磁盘就像是使用实体磁盘一样。远端使用者也可以从目标计算机12退出虚拟磁盘。则这个虚拟磁盘会从目标计算机断线并连接到远端使用者,用来准备下一次要更新的软件。
虚拟软碟机也通过USB的连接连上目标计算机。
实际上的软盘需要被格式化后才能被使用。格式化就是将存储器空间转换成软盘的磁区。磁盘上不连续的资料可以靠着磁区跟磁柱定位寻找。实际上的开机磁盘将会在某些特定位置上有特定的开机资料。
远端使用者有时候需要重新启动目标计算机12,不论是更新完软件后或是当机时。某些远端计算机12并无法通过一个任意大小且格式化的存储器装置,但是必须通过一个实体上的软盘去开机,或是一个被设定成与实际软盘相同的存储器装置。因此,虚拟软盘机将被设置成与实体软盘机相同。虚拟软盘机的容量大小将和实体的一样,且存储器分割和系统都将相同。就像是一个格式化后的实体软盘。举例来说,虚拟软盘将会被设置成1.44mega位元组就像是实体软盘一样,且将会被格式化成与实体软盘一样的格式。
某些目标计算机,在开机的过程中,目标计算机会被设定成去检查一个开机磁碟的特定位置去取得开机的指令或是资料。如果相关资料找不到,则目标计算机就无法开机。为了更接近实体软碟,KVM 14允许将一个实际可开机磁盘的影像档放入其虚拟软盘机中。将这个实际可开机磁盘的影像档一个一个位元的放入其虚拟软盘机中,并依照其资料的位置采用相同的放置。则将造成,远端计算机在检查特定位置的命令或资料时,就可以在虚拟装置中取得,并成功的开机。
KVM 14也将会被设置成拥有存储器磁碟的模式。与刚刚所介绍的虚拟软盘不同的是存储器磁碟不需要一个特定的容量大小或是格式。然而,存储器磁碟会像一个虚拟磁盘,可以在上面存放升级或是更新的软件资料。存储器磁碟也是通过使用CPU 36 or SDRAM 38的可用空间。
KVM 14也将包含一个可开机光碟的虚拟装置,采用和刚刚所述的相同方法。当软盘可以通过刚刚所说的完全放入存储器中,由于光碟的容量很大所以光碟的影像档将通过一个档案伺服器储存,而其间通过网际网路连接。KVM 14允许从远端计算机20通过KVM以及网际网路18下载放置在档案伺服器的虚拟光碟资料。每当资料下载完时,KVM 14允许远端计算机20将虚拟光碟连接上,这样目标计算机12就可以是用该光碟资料。每当虚拟光碟被连接,目标计算机就可以通过经由网际网路18及KVM 14F载的虚拟光碟影像进行升级与更新。当升级与更新完成后远端计算机可以控制目标计算机将虚拟光碟切断其连线。则此虚拟光碟将无法再被目标计算机使用,但此时远端计算机将可对档案伺服器进行更新,准备下一张光碟的资料。
许多鼠标跟键盘是通过PS/2的通信协定与计算机沟通。在PS/2下键盘与鼠标的讯号是不相同的,因此必须被分开。所以KVM 14中,如果远端计算机20是采用PS/2的键盘与鼠标,则鼠标与键盘与KVM 14的连接则要被分开。然而,KVM14包含USB的鼠标与键盘连接方式可以让目标计算机与KVM 14相连接使用。PS/2的键盘与鼠标讯号从远端计算机接收后将会被KVM 14转译成USB的键盘与鼠标信号,接着传送给目标计算机。
采用USB的传输方式有许多的优点。首先,USB的资料量较PS/2少,且错误率也很低可靠性也较高。
第二个优点是,PS/2中鼠标的移动是采用相对关系的移动。换句话说,在PS/2协定下鼠标的移动只传送其相对于现在位置的移动量,且并未提供现在位置的鼠标座标。这样的状况中,如果采用PS/2协定且也要提供现在位置座标的话,则鼠标的移动行为将会出错。相对的,USB协定允许鼠标在每次移动后将其座标回报。这样有很大的好处且可以使目标计算机的鼠标移动行为更佳。而每当鼠标有所移动则如上面所提有关鼠标预测的演算法就会被采用。
第三个优点是,USB可以同时传送键盘与鼠标的信号与PS/2需要分开传送不同。
如前所述的本发明,各项装置的变动并不局限在之前所提的范围。其他的装置变动将包含在之前所描述各项装置变动中。如差异比对模组不一定要以FPGA 40完成,此外CPU 36以及FPGA 40的功能也可以通过软件,硬件或是软件配合硬件的方式完成。相同的,存储器硬件与功能也可以采用其他的方式实现,这也包含在本案中。其他的方法,除了以上所述,可能会改变片段的顺畅,视讯解析度的侦测及频宽的使用。举例来说,在此专利中用来侦测是否要重新要求视讯讯号的方法,是通过H-同步信号的方式。以这个例子来说,也可以通过采用V-同步信号的方式,尽管并没有进行比较。
权利要求
1.一种远端计算机对目标计算机进行控制的方法,其特征的步骤是,包括撷取目标计算机新视讯页面并使用这个页面来更新远端计算机,其中,所述新视讯页面包含一序列撷取的新页面像素,其包含一个撷取的初始新页面像素与一个撷取的最终新页面像素,撷取的新页面像素表示目标计算机的视讯讯号,此方法包含几个步骤,由初始新页面像素开始(A)从此序列中接收一个比较的新页面像素;接着(B)比较此新页面像素与一个对应的参考页面像素;然后(C)如果最终新页面像素没有被撷取,对序列中下一个新页面像素,重复步骤A与B。
2.依权利要求1所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的步骤B中包含决定新页面像素与对应的参考页面像素不同的步骤,如果新页面像素跟参考页面像素不同,就标记一个新页面更新单元对应到此新页面像素,如果此单元尚未被标记。
3.依权利要求1所述的一种远端计算机对目标计算机进行控制的方法,其特征是,包含在收到新页面像素前将每个新页面像素由模拟讯号转换到数字讯号。
4.依权利要求2所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的新页面更新单元包含一个片段表示许多像素。
5.依权利要求4所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的一个片段表示一个十六乘十六的像素区域。
6.依权利要求1所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的步骤B包含由一个参考缓冲区读取对应产考页面像素的步骤,测量读取的时间来比较新页面像素与对应参考页面像素。
7.依权利要求1所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的步骤A也包含储存新页面像素到新的页面储存位置,测量储存时间来比较新页面像素与对应参考页面像素。
8.一种远端计算机对目标计算机进行控制的方法,其特征是,一个撷取一连串新视讯页面的方法,并对此串列中的每一个新的视讯页面,使用权利要求1、2、3、4、5、6或7项中所述的方法。
9.一种远端计算机对目标计算机进行控制的系统,其特征是,包括撷取目标计算机的新视讯页面来更新远端计算机页面,其中新视讯页面包含一串列撷取的新页面像素,此串列包含一个撷取的初始新页面像素和一个撷取的最后新页面像素,此系统包含一个比较模组和一个连接到此比较模组的记忆模组,此比较模组被装设来接收比较目标计算机的初始新页面像素,接着比较此初始新页面像素与对应参考页面像素,然后将此初始新页面像素记录在记忆模组中,如果最后新页面像素没有撷取,则对串列中下一个新页面像素,重复上述的接收、比较与记录的步骤。
10.依权利要求9所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该存储器模组包含一个参考视讯页面拥有其参考页面像素,比较模组被程式设计为由记忆模组中读取参考页面像素,记录读取的时间来比较新页面像素与对应参考页面像素。
11.依权利要求9所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该系统进一步包含一个模拟到数字的转换器,连接到上述的比较模组,用来将视讯页面由模拟讯号转换到数字讯号。
12.依权利要求9所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该比较模组包含一个可程式化的闸道阵列。
13.依权利要求9或12所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该记忆模组包含由同步动态随机存取存储器。
14.依权利要求9所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该比较模组被程式设定成用来比较新页面像素与对应参考页面像素,(1)决定新页面像素是否与对应参考页面像素不同;(2)新页面像素如果与对应参考页面像素不同,与此新页面像素有关的新页面更新单元会被标记起来,当此新页面更新单元尚未被标记。
15.依权利要求14所述的一种远端计算机对目标计算机进行控制的系统,其特征是,所称的新页面更新单元包含一个片段表示复数像素。
16.依权利要求15所述的一种远端计算机对目标计算机进行控制的系统,其特征是,其中的片段表示一个十六像素乘十六像素的区域。
17.一种远端计算机对目标计算机进行控制的方法,其特征步骤是,(A)执行权利要求2述的比较方法;(B)搜寻标记指示已标记过的新页面更新单元;(C)移动标记过的新页面更新单元到一个参考页面输出位置,为了最后传送到远端计算机。
18.依权利要求17所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称步骤A包含执行比较方法的步骤如权利要求4项所述。
19.依权利要求17所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称方法进一步包含对CPU产生一个中断需求的步骤,为了找到一个或多个标记在步骤B,CPU会警告当新页面更新单元已经标记过。
20.依权利要求17所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称步骤C包含移动产考页面输出位置,为了最后传输给远端计算机,荧屏位置资料,为了每个标记过的新页面更新单元。
21.依权利要求20所述的一种远端计算机对目标计算机进行控制的方法,其特征是,其特征是,进一步包含产生与每个新页面更新单元关联的平均颜色资料步骤,步骤C也包含移动参考页面输出位置、平均颜色资料,平均颜色资料可以被远端计算机在缩放目的时使用。
22.依权利要求20或21所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称方法进一步包含决定每个标记过的新页面更新单元步骤,如果此新页面更新单元是同一颜色,步骤C会包含设定同一颜色标记的步骤,如果此标记的新页面更新单元是同一颜色;同一颜色页面可以降低传输到远端计算机的频宽,只要一个颜色和同一颜色页面荧屏位置即可。
23.一种远端计算机对目标计算机进行控制的方法,决定是否取得目标计算机的视讯讯号的方法,比较过目标计算机的视讯讯号与参考视讯,而且也由比较产生了更新资料,为了传输到远端计算机,其特征步骤是,(A)监视第一个状态资料关于视讯讯号解析度;(B)监视第二个状态资料关于视讯讯号解析度;(C)如果第二个状态改变以便指出解析度的改变,但是第一个状态并没有指出解析度的改变,则终止比较且更新资料的产生且继续监视第一个状态,为了决定何时要求视讯讯号;(D)如果第二个状态继续指出解析度有改变,且第一个状态也指出解析度有改变,则决定要求视讯讯号。
24.依权利要求23所述的一种远端计算机对目标计算机进行控制的方法,其特征是,进一步包含可恢复的比较和更新资料产生步骤,如果第二个状态由改变回复且第一个状态持续指出解析度没有改变。
25.依权利要求23或24所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的第一个状态包含一个与视讯讯号有关的列H-sync讯号。
26.依权利要求25所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称的第二个状态包含一个与比较与资料产生的视讯讯号资料相关的再生H-同步讯号。
27.依权利要求26所述的一种远端计算机对目标计算机进行控制的方法,其特征是,所称第二个状态包含一个由模拟到数字转换器建立的再生H-同步讯号,其为了比较与更新资料产生而转换视讯讯号到数字讯号。
28.依权利要求26所述的一种远端计算机对目标计算机进行控制的方法,其特征是,进一步包含恢复比较与更新资料产生步骤,当再生H-sync由改变回复,且列H-sync持续指出没有解析度改变。
29.依权利要求24或28所述的一种远端计算机对目标计算机进行控制的方法,其特征是,进一步包含如果恢复步骤与步骤D在预先决定的时间内没有被执行,则决定需要取得视讯讯号。
30.依权利要求29所述的一种远端计算机对目标计算机进行控制的方法,其特征是,预先决定时间是五秒。
31.一种远端计算机对目标计算机进行控制的方法,其特征是,将目标计算机的视讯讯号与参考视讯做比较,且更新由比较产生为了传送到远端计算机的资料此方法包含以下步骤(1)执行权利要求23、24、25、26、27、28、29或30项的作法;及(2)初始且完成重新取得视讯讯号。
32.一种远端计算机对目标计算机进行控制的方法,其特征步骤是,(I)比较目标计算机的视讯页面与参考视讯;(ii)在比较步骤中产生提供远端计算机更新用的资料;(iii)重新获得视讯讯号,使用权利要求31项的方法;(iv)当重新取得视讯讯号之后,恢复之前的比较与产生步骤。
33.一种远端计算机对目标计算机进行控制的方法,其特征是,一种数字KVM系统包含一个模拟到数字转换器,为了数字化视讯讯号用来产生一串列的新页面像素数字数值;一个差异计算器,为了计算每个新页面像素数字数值与对应参考页面像素数字数值的差别,此差异计算器包含一堆可程式化的闸道阵列。
34.依权利要求33所述一种远端计算机对目标计算机进行控制的方法,其特征是,的数字KVM系统,其中系统进一步包含一个更新资料产生器,为了产生传送给远端计算机的视讯更新资料。
35.依权利要求34所述的一种远端计算机对目标计算机进行控制的方法,其特征是,数字KVM系统中的更新资料产生器包含可程式化闸道阵列。
36.一种远端计算机对目标计算机进行控制的方法,改进鼠标敏捷的方法,是使远端计算机可以很快的看到通过KVM输出的目标计算机的视讯画面,此处的鼠标是通过数字KVM用来对目标计算机下达输入命令,且远端计算机的视讯也通过此数字KVM来更新与表示目标计算机的视讯讯号,其特征步骤是,确定鼠标的起始座标;KVM接收到一个鼠标移动的指示;当收到指示后,KVM采用一个程式化的更新顺序并且更新远端计算机的视讯用以表示鼠标的移动;及重复程式化的更新顺序。
37.依权利要求36所述的一种远端计算机对目标计算机进行控制的方法,其特征是,进一步包含改变一个鼠标移动的新位置的步骤。
38.依权利要求36所述的一种远端计算机对目标计算机进行控制的方法,其特征是,包含KVM的接收,且与鼠标已经移动的视讯讯号相关。
39.一种远端计算机对目标计算机进行控制的系统,其特征是,控制视讯传输到M个远端计算机的系统,M大于等于一,其中目标计算机的画面会传送到每个远端计算机且会依照其连线速度去更新画面,此系统包含一个更新单位产生器以及一个更新单位输出位置,这是为了保留住更新单位产生器所产生的更新资料;一个与连线速度相关的扫描器,所称扫描器会送出在更新单位输出位置中的更新单元,且依照其连线速度运作;更新单位产生器,更新单位输出位置以及扫描器将如此设置,如果一个较旧的更新单位输出位置被较新的更新单位输出位置取代,则较旧的更新单位输出位置将不会被传送。
40.依权利要求39所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该输出位置被设定为保有每个不定更新单元的最近版本,且不废弃不定更新单元。
41.依权利要求40所述的一种远端计算机对目标计算机进行控制的系统,其特征是,每个更新单元包含一个片段对应到一个视讯荧屏像素区域。
42.依权利要求41所述的一种远端计算机对目标计算机进行控制的系统,其特征是,系统进一步包含独立的输出位置片段戳记,此独立的输出位置片段戳记将与相关的输出为置有关,当独立的输出位置片段戳记与每个片段有关时,系统进一步包含了一个列输出位置片段戳记与每一个片段列相关,输出位置将被设置为独立的输出位置片段戳记将每次累加当相关的片段被传送出时。
43.依权利要求42所述的一种远端计算机对目标计算机进行控制的系统,,其特征是,每个输出位置列片段戳记被设定为可增加,以便于指出对应列中的一个片段已被改变。
44.依权利要求43所述的一种远端计算机对目标计算机进行控制的系统,,其特征是,其中增加每个输出位置的列片段戳记,以便于组成在目前列中最常改变片段的片段戳记。
45.依权利要求42所述的一种远端计算机对目标计算机进行控制的系统,其特征是,系统进一步包含一个片段戳记储存位置与每一个扫描器及远端计算机对应,每一个扫描器片段戳记储存位置包含一个独立的片段戳记储存位置与每一个片段相关,且储存位置列片段戳记与每一个列片段相关,每一个扫瞄器与其相关的片段戳记储存位置将设置及运作如下,(A)扫瞄每一个储存位置列片段戳记;(B)比较相对应的储存位置列片段戳记与输出位置列片段戳记;(C)如果不同,就认为相关的列至少存在一个片段要被传送;(D)扫瞄储存位置片段戳记与其相关的片段列,将其与输出位置片段戳记比较,传送出每个不同的片段,累加相对应的储存位置片段戳记使其与相关的输出位置片段戳记相等值,并回到步骤A。
46.一种远端计算机对目标计算机进行控制的系统,其中一种允许远端计算机控制目标计算机的装置,其特征是,此装置连接到远端计算机去接收远端计算机的鼠标与键盘输入讯号,并且传送视讯更新讯号去更新远端计算机的画面,这装置也连接到目标计算机并提供远端计算机的鼠标与键盘的信号当作输入控制,并且将目标计算机的视讯讯号经过处理后产生视讯更新讯号,此装置包含一个虚拟存储器磁碟机,虚拟的软盘机通过将存储器空间设置成一个装置的方式完成,此装置允许远端计算机的使用者将其连接到远端计算机并传送资料进虚拟的存储器磁碟,并且使用者也可以中断此连接,通过远端计算机的控制目标计算机可以连接这个虚拟存储器装置,传送资料到目标计算机中,且一样可以中断此装置的连接。
47.依权利要求46所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该记忆空间被设定为仿制开机磁碟的大小与记忆格式,以便于允许目标计算机可以由记忆空间重开机。
48.依权利要求47项所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该装置被设定为可容许将开机软盘的影像下载到存储器空间中,其中开机软盘的每个位元组被纪录到虚拟记忆磁碟中对应的位元组位置。
49.依权利要求47所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该装置被设定成可连接虚拟记忆磁碟到目标计算机通过一个USB接头。
50.依权利要求46所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该虚拟记忆磁碟包含一个连接到装置且存在于伺服器上的虚拟CDROM。
51.依权利要求50所述的一种远端计算机对目标计算机进行控制的系统,其特征是,该装置与虚拟CDROM都被设定为目标计算机的开机CDROM。
全文摘要
本发明涉及一种远端计算机对目标计算机进行控制的方法和系统,包括撷取目标计算机新视讯页面并使用这个页面来更新远端计算机,其中,所述新视讯页面包含一序列撷取的新页面像素,其包含一个撷取的初始新页面像素与一个撷取的最终新页面像素,撷取的新页面像素表示目标计算机的视讯讯号,从而,提供了一种方法,通过只传递目标计算机画面中的不同元素的视讯信号,用以替换远端计算机画面中相对应内容的方式,实现视讯画面的快速传递。
文档编号G09G3/20GK1637701SQ200410096188
公开日2005年7月13日 申请日期2004年12月1日 优先权日2004年1月9日
发明者布莱恩·J.·卡利根, 彼得·D.·葛雷 申请人:迪吉多多工公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1