CN101377724A - 信息处理装置、kvm开关和服务器 - Google Patents
信息处理装置、kvm开关和服务器 Download PDFInfo
- Publication number
- CN101377724A CN101377724A CNA2008102124569A CN200810212456A CN101377724A CN 101377724 A CN101377724 A CN 101377724A CN A2008102124569 A CNA2008102124569 A CN A2008102124569A CN 200810212456 A CN200810212456 A CN 200810212456A CN 101377724 A CN101377724 A CN 101377724A
- Authority
- CN
- China
- Prior art keywords
- cursor
- server
- signal conditioning
- conditioning package
- mouse
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Position Input By Displaying (AREA)
Abstract
本发明涉及一种信息处理装置、KVM开关、以及服务器。所述信息处理装置包含输入部分,检测部分和输出部分。该输入部分输入来自操作构件的操作数据。该检测部分基于该操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕中设置的窗口上显示的该服务器的光标的移动量之间的对应关系以及该输入部分输入的操作数据,检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据。该输出部分将该单条或多条操作数据输出给该服务器。
Description
技术领域
本发明涉及一种信息处理装置、一种KVM开关和一种服务器,它们使该信息处理装置的鼠标光标的位置与该服务器的鼠标光标的位置相互一致。
背景技术
迄今为止,关于远程操作计算机的手段,已经开发出各种技术。在远程操作中,被操作侧(服务器)和操作侧(远程PC)的两台计算机是必备的。
例如,已知一种系统,该系统显示远程终端的屏幕信息和手持终端的信息二者,而不会破坏该手持终端的显示器上显示的屏幕的可操作性和可视性(见日本特开专利公报No.2007-65944);一种光标控制装置,利用该光标控制装置,即使远程控制发射机和图像拾取部件之间的距离不同,光标的移动量对于远程控制发射机的移动量也是恒定的(见日本特开专利公报No.06-75695);以及一种系统,该系统通过将便携式电话连接到远程计算机,从该便携式电话远程控制该远程计算机(见日本特开专利公报No.2006-197299)。
此外,已知一种技术,在该技术中,用于远程控制的软件没有安装在服务器中,转换器设置在该服务器与远程PC之间的连接路径(route)上,并且该转换器充当连接到该服务器的键盘和鼠标(见日本专利No.2698685)。
在该技术中,从连接到远程PC的键盘和鼠标输出的信号被转换成数字数据,并且该数字数据在线路上被传送。服务器接收到该数字数据以将其复原成所述信号,并将该信号输入该服务器。因此,该服务器操作成使得该键盘和鼠标直接连接到该服务器。此外,从服务器输出的视频信号被转换成数字数据,并且被转换成的数字数据在线路上被传送。远程PC接收到该被转换成的数字数据以将其复原成所述视频信号,并将该视频信号输入该远程PC。因此,在该远程PC侧设立的监视器操作成为连接到服务器的监视器。
例如,已知专利申请公报No.2003-534685中的一种包含KVM开关的系统,作为应用这些技术的另一种技术。
专利申请公报No.2003-534685的系统具有日本专利No.2698685的基本概念。在远程PC所具有的窗口系统中,窗口用作显示部件,并且该窗口用作键盘和鼠标数据的输入路径。即,在该远程PC的窗口中执行的键盘和鼠标的操作被反映在服务器中。
(问题1)
在上述专利申请公报No.2003-534685的技术中,例如,如图19所示地显示远程PC所具有的窗口。在此情况下,尽管存在两个鼠标光标,所述两个鼠标光标包含一个用于操作远程PC的窗口的用于远程PC的鼠标光标(在下文被称为“远程鼠标光标”)、以及一个在该远程PC的窗口内部显示的用于服务器的鼠标光标(在下文被称为“服务器鼠标光标”),但是会出现这样的情况,即远程PC显示的远程鼠标光标的位置和该远程PC显示的服务器鼠标光标的位置相互不一致。这被称为位置间隙,并且已知一种利用位置间隙校正功能校正和处理位置间隙的方法。但是,这种方法存在以下问题。
通常,在窗口系统中,存在鼠标光标加速过程,并且服务器将从鼠标输出的数据乘以加速因子以增加或减少鼠标数据。因此,当通过远程PC操作的鼠标数据被直接传递给服务器时,该服务器将该来自远程PC的鼠标数据乘以加速因子以增加或减小鼠标数据。因而,远程PC上显示的远程鼠标光标与该远程PC上显示的服务器鼠标光标很难相互重叠。此时,进行不同移动的两个光标会使远程PC的操作员感到迷惑,不能进行准确的鼠标操作,因而操作员会感到紧张。
因此,迄今为止,基本地是通过牺牲可操作性使此加速过程无效。
为了通过远程PC正确地执行位置间隙校正功能,必须禁止此加速过程。位置间隙校正功能代表这样一种手段,即当服务器和远程PC的鼠标光标之间出现位置间隙时,通过另外将鼠标数据从远程PC输出到服务器以便抵消位置间隙的量,将服务器的鼠标光标的位置强制移动到远程PC的鼠标光标的位置。此时,另外从远程PC输出到服务器的鼠标数据往往超过基准值,即是否启动加速过程的阈值。因此,当加速过程在服务器中有效时,服务器的鼠标光标移动,使得服务器的鼠标光标的移动量超过实际应被移动的位置间隙的量。结果,位置间隙校正功能不能被正确执行。
因此,在常规上,当服务器执行的加速过程未被无效时,服务器和远程PC的鼠标光标之间的位置间隙不能被校正,从而不能为远程PC的鼠标的操作员提供舒适的鼠标操作环境。
尽管说明了必须使服务器的加速过程无效以使位置间隙校正功能有效的情况,但是取决于窗口系统或操作系统,并不易于使此加速过程无效。关于此,代表性的是UNIX(注册商标)系统OS使用的X-窗口系统。Microsoft公司的Windows(注册商标)是可容易地使加速过程无效的示例。
(问题2)
为了不使远程PC的操作员困窘,已知这样一种技术,该技术控制远程PC,以便不在显示服务器的鼠标光标的窗口上显示远程PC的远程鼠标光标,并且即使操作远程PC的鼠标,也仅显示服务器的鼠标光标的移动。但是,该技术中会出现以下问题。
通常,在窗口系统中,鼠标光标被配置成使得操作在该鼠标光标正下方的窗口,并且将鼠标光标的显示和不显示的授权给予在该鼠标光标正下方的窗口。因此,只有当远程PC的鼠标光标位于已经设定不显示鼠标光标的窗口正上方时,才不显示远程PC的鼠标光标。
即,就在鼠标光标超出窗口的框架的瞬间,假定任何一个其它窗口被操作,则再次显示远程PC的鼠标光标。此外,当鼠标光标再次位于已经设定不显示鼠标光标的窗口正上方时,不显示远程PC的鼠标光标。
下文将说明从鼠标输出的数据(即鼠标数据)的含义,其是造成此问题的主要原因。自发明鼠标以来至今,用相对坐标表示从鼠标输出的数据(鼠标数据)。该相对坐标被称为移动量。通过使用相对坐标,例如可表述成鼠标沿X轴方向移动N而沿Y轴方向移动M。N和M的原始值被鼠标计算,而其计算方法是一种公知技术。
当已经超出窗口框架并且已被显示一次的远程PC的鼠标光标再次移动到已经设定不显示鼠标光标的窗口的正上方时,不显示远程PC的鼠标光标。此时,上述相对坐标的处理的方便性会导致发生以下问题。将利用图20对此进行说明。
图20是示出常规远程PC的屏幕的示例的图示。
在图20中,标号201指示已经设定不显示鼠标光标的窗口,标号202指示已经设定显示鼠标光标的另一个窗口,而标号203指示远程PC的屏幕。标号204指示服务器的鼠标光标,而标号205指示远程PC的鼠标光标。窗口201上显示服务器的屏幕。
服务器的鼠标光标204在初始状态下位于位置“a”,而远程PC的鼠标光标205在初始状态下位于位置“A”。
服务器的鼠标光标204响应于远程PC的鼠标光标205的移动而移动。此时,当远程PC的鼠标光标205位于窗口201的正上方时,不显示远程PC的鼠标光标205。即,当远程PC的鼠标光标205位于位置“A”、“F”或“G”时,该鼠标光标205变为不显示。
接下来,当远程PC的鼠标光标205从位置“A”移动到位置“B”时,服务器的鼠标光标204响应于远程PC的鼠标光标205的移动从位置“a”移动到位置“b”。位置“B”是窗口201的框架的临界点。就在远程PC的鼠标光标205越过位置“B”的瞬间,显示远程PC的鼠标光标205。
接下来,当远程PC的鼠标光标205从位置“B”移动到位置“C”并进一步移动到位置“D”时,服务器的鼠标光标204不从位置“b”移动。当远程PC的鼠标光标205越过位置“D”并移动到位置“F”时,远程PC的鼠标光标205变为不显示,而服务器的鼠标光标204从位置“b”移动到位置“f”。
另一方面,当远程PC的鼠标光标205从位置“B”移动到位置“C”并进一步移动到位置“E”时,服务器的鼠标光标204不从位置“b”移动。当远程PC的鼠标光标205越过位置“E”并移动到位置“G”时,远程PC的鼠标光标205变为不显示,而服务器的鼠标光标204从位置“b”移动到位置“g”。
然后,当服务器的鼠标光标204从位置“g”移动到位置“h”时,不显示的远程PC的鼠标光标205可从位置“G”移动到位置“H”。但是,当服务器的鼠标光标204从位置“f”移动到位置“h”时,在服务器的鼠标光标204到达位置“h”之前,远程PC的鼠标光标205超出窗口201的框架,从而不可能将鼠标光标204从位置“f”移动到位置“h”。
因而,当远程PC的鼠标光标205被设定为在显示服务器的鼠标光标204的窗口中不显示时,由于服务器的鼠标光标204和远程PC的鼠标光标205之间的位置间隙而不可能为远程PC的鼠标的操作员提供舒适的鼠标操作环境。
(问题3)
现在将说明发生类似于问题2的问题的情况。
当从远程PC操作服务器的屏幕时,单个操作员不一定操作该服务器的屏幕。即,除了远程PC之外,还可在本地操作服务器的屏幕。本地代表其中键盘、鼠标和监视器直接连接到服务器,并且操作该服务器的屏幕的环境。
图21A是示出常规本地屏幕的示例的图示,而图21B是示出常规远程屏幕的示例的图示。
在图21A和21B中,标号201指示已经设定不显示鼠标光标的窗口,标号202指示已经设定显示鼠标光标的另一个窗口,而标号203指示远程PC的屏幕。标号204指示服务器的鼠标光标,标号205指示远程PC的鼠标光标。标号206指示本地屏幕(即,服务器的屏幕)。该服务器的屏幕在窗口201上显示。
下文将说明这样一种情况的示例,即其中首先在本地侧操作显示器的屏幕,将服务器的鼠标光标204从位置“a”移动到位置“b”或“c”,然后操作远程PC的鼠标光标205。
当将服务器的鼠标光标204从位置“a”移动到位置“c”,然后通过远程PC的鼠标光标205的操作将服务器的鼠标光标204从位置“c”移动到位置“d”时,远程PC的操作员并不知道当时远程PC的鼠标光标205所处的位置。例如,当远程PC的鼠标光标205位于位置“A”、“B”和“C”中任一位置时,需要远程PC的操作员沿“Vcd”的方向移动远程PC的鼠标光标205。在此示例中,即使当远程PC的鼠标光标205位于位置“A”、“B”和“C”中任一位置时,服务器的鼠标光标204仍可被移动到位置“d”而没有问题。
当将服务器的鼠标光标204从位置“a”移动到位置“c”,然后通过远程PC的鼠标光标205的操作将服务器的鼠标光标204从位置“c”移动到位置“d”时,如果远程PC的鼠标光标205位于位置“A”,则绝不会发生问题。但是,当远程PC的鼠标光标205位于位置“B”或“C”时,在服务器的鼠标光标204移动到位置“d”之前,远程PC的鼠标光标205超出窗口201的框架,从而不可能将服务器的鼠标光标204移动到位置“d”。
因此,当远程侧和本地侧交替地移动服务器的鼠标光标204时,由于服务器的鼠标光标204和远程PC的鼠标光标205之间的位置间隙而不可能为远程PC的鼠标的操作员提供舒适的鼠标操作环境。
(问题4)
现在将说明这样一种情况的问题,即其中远程PC的鼠标光标205从窗口201内部移出到其外部一次,并从该窗口201的外部再次进入其内部。
图22是示出常规远程PC的屏幕的示例的图示。
在图22中,标号201指示已经设定不显示鼠标光标的窗口,标号202指示已经设定显示鼠标光标的另一个窗口,而标号203指示远程PC的屏幕。标号204指示服务器的鼠标光标,标号205指示远程PC的鼠标光标。
在初始状态,服务器的鼠标光标204位于位置“a”,而远程PC的鼠标光标205位于位置“A”,位置A的位置与位置“a”相同。当远程PC的鼠标光标205从位置“A”移动到位置“B’”时,服务器的鼠标光标204从位置“a”移动到位置“b”。位置“B’”与位置“b”彼此相同。
接下来,当远程PC的鼠标光标205超出窗口201的框架时,服务器的鼠标光标204保持不动而不从位置“b”移动。
当远程PC的鼠标光标205沿路径C移动,从位置B移动到位置G,越过窗口201的框架,到达位置“H”,并移动到位置“I”时,服务器的鼠标光标204从位置“b”移动到位置“i’”。
这里,当远程PC的操作员将位置间隙校正功能人工设定为ON,并迫使服务器的鼠标光标204从位置“i’”移动到位置“i”时,在服务器的鼠标光标204和远程PC的鼠标光标205之间没有位置间隙,从而远程PC的操作员可准确地操作鼠标光标204和鼠标光标205。
因此,在远程PC的鼠标光标205从窗口201内部移出到其外部一次,并从该窗口201的外部再次进入其内部时,只要不执行位置间隙校正功能,则会由于服务器的鼠标光标204和远程PC的鼠标光标205之间的位置间隙而不可能为远程PC的鼠标的操作员提供舒适的鼠标操作环境。
发明内容
本发明的一个目标是提供一种信息处理装置、KVM开关和服务器,它们能够为该信息处理装置的操作员提供舒适的操作构件的操作环境。
根据本发明的第一方面,提供了一种信息处理装置,该信息处理装置包含:输入部分,该输入部分输入来自操作构件的操作数据;检测部分,该检测部分基于该操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕中设置的窗口上显示的该服务器的光标的移动量之间的对应关系以及该输入部分输入的操作数据,检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据,该信息处理装置的光标根据该输入部分输入的操作数据移动,而该服务器的光标根据该信息处理装置的光标的移动而移动;和输出部分,该输出部分将该检测部分检测到的该单条或多条操作数据输出给该服务器。
通过上述配置,该信息处理装置的光标与该服务器的光标之间不会出现位置间隙,因而可为该信息处理装置的操作员提供舒适的该操作构件的操作环境。例如,该输入部分指示图2B中的USB接口38,该检测部分指示执行图5A、6、8A和8B中的过程的CPU 31,而该输出部分指示图2B中的网络接口37。
优选地,该信息处理装置还包括:第一计算部分,该第一计算部分计算该信息处理装置的光标的移动量,该信息处理装置的光标根据该输入部分输入的操作数据移动;提取部分,该提取部分提取该服务器的光标的图像;位置检测部分,该位置检测部分检测在被提取的该服务器的光标的图像移动之后该服务器的光标的位置,该服务器的光标的图像根据该输入部分输入的操作数据移动;第二计算部分,该第二计算部分基于在被提取的该服务器的光标的图像移动之前该服务器的光标的图像的位置,和该位置检测部分检测到的该服务器的光标的图像的位置,计算该服务器的光标的移动量;以及第一生成部分,该第一生成部分生成第一表数据,该第一表数据指示该输入部分输入的操作数据、该第一计算部分计算的该信息处理装置的光标的移动量以及该第二计算部分计算的该服务器的光标的移动量之间的对应关系。
通过上述配置,可基于该第一表数据检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的所述单条或多条操作数据。例如,该第一计算部分指示执行图6中的步骤S13的进程的CPU 31,该提取部分指示执行图6中的步骤S11的进程的CPU 31,该位置检测部分指示执行图6中的步骤S14的进程的CPU 31,该第二计算部分指示执行图6中的步骤S15的进程的CPU 31,而该第一生成部分指示执行图6中的步骤S16的进程的CPU 31。例如,第一表数据是图7A或7B中的表数据。
更优选地,该信息处理装置还包括第二生成部分,该第二生成部分基于该第一表数据生成第二表数据,该第二表数据指示该第一计算部分计算出的该信息处理装置的光标的移动量、该第二计算部分计算出的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据之间的对应关系。
通过上述配置,可基于该第二表数据将使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的所述单条或多条操作数据迅速输出给该服务器。例如,该第二生成部分指示生成图7C中的表数据的CPU 31。
优选地,该检测部分包含第三计算部分,该第三计算部分计算该信息处理装置的光标的移动量,该信息处理装置的光标根据该输入部分输入的操作数据移动;坐标检测部分,该坐标检测部分检测在通过操作员的操作移动该服务器的光标之后该服务器的光标的坐标;第四计算部分,该第四计算部分基于先前坐标和该坐标检测部分检测到的当前坐标计算该服务器的光标的移动量;和第三生成部分,该第三生成部分生成第一表数据,该第一表数据指示该输入部分输入的操作数据、该第三计算部分计算的该信息处理装置的光标的移动量、以及该第四计算部分计算的该服务器的光标的移动量之间的对应关系。
通过上述配置,可基于该第一表数据检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的所述单条或多条操作数据。例如,该第三计算部分指示执行图11中的步骤S62的进程的CPU 31,该坐标检测部分指示执行图11中的步骤S63的进程的CPU 31,该第四计算部分指示执行图11中的步骤S64的进程的CPU31,而该第三生成部分指示执行图11中的步骤S65的进程的CPU 31。例如,第一表数据是图7A或7B中的表数据。
更优选地,该信息处理装置还包括第四生成部分,该第四生成部分基于该第一表数据生成第二表数据,该第二表数据指示该第三计算部分计算出的该信息处理装置的光标的移动量、该第四计算部分计算出的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的所述单条或多条操作数据之间的对应关系。
通过上述配置,可基于该第二表数据将使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的所述单条或多条操作数据迅速输出给该服务器。例如,该第四生成部分指示生成图7C中的表数据的CPU 31。
还更优选地,该信息处理装置还包含接收部分,该接收部分从KVM开关或服务器接收该第一表数据或第二表数据。
通过上述配置,可利用从该KVM开关或服务器接收到的该第一表数据或第二表数据。例如,该接收部分指示网络接口37。
还更优选地,该信息处理装置还包含传输部分,该传输部分将该第一表数据或第二表数据传输给KVM开关或该服务器。
通过上述配置,可将该第一表数据或第二表数据传输给该KVM开关或该服务器。例如,该传输部分指示网络接口37。
优选地,该信息处理装置还包含限制部分,该限制部分将该信息处理装置的光标的移动范围局限于这样的窗口中,该窗口设置在该信息处理装置的屏幕中,并且在该窗口上显示该服务器的光标。
通过上述配置,在设置在该信息处理装置的屏幕中的并且在其上显示该服务器的光标的窗口中,该信息处理装置的光标和该服务器的光标之间没有出现位置间隙。因此,可为该信息处理装置的操作员提供舒适的操作构件的操作环境。例如,该限制部分指示执行图12A中的步骤S72的进程的CPU 31。
更优选地,该信息处理装置还包含选择部分,该选择部分选择对该信息处理装置的光标的移动范围的限制有效还是无效。
通过上述配置,该信息处理装置的操作员可选择对该信息处理装置的光标的移动范围的限制有效还是无效。例如,该选择部分指示执行图12A中的步骤S71的进程的CPU 31,和键盘13a的功能键或菜单显示。
根据本发明的第二方面,提供了一种信息处理装置,该信息处理装置经由与第一操作构件连接的KVM开关连接到服务器,该信息处理装置连接到第二操作构件,并且显示该信息处理装置的光标和该服务器的光标,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该信息处理装置包含:存储部分,该存储部分存储当操作从第二操作构件改变到第一操作构件时的该信息处理装置的光标的位置;获取部分,该获取部分获取在该第一操作构件的操作期间从该KVM开关输出到该服务器的数据的累积值;和控制部分,当在操作从该第一操作构件改变到第二操作构件之后操作该第二操作构件时,该控制部分基于被存储的该信息处理装置的光标的位置和获取的累积值计算该服务器的光标的当前位置,计算该服务器的光标的当前位置与该信息处理装置的光标的当前位置之间的差值,并将计算出的差值与该第二操作构件的操作导致的该信息处理装置的光标的移动量的组合值输出给该服务器。
通过上述配置,即使通过连接到该KVM开关的第一操作构件移动该服务器的光标,当该操作从该第一操作构件改变到该第二操作构件,然后操作该第二操作构件时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的第二操作构件的操作环境。例如,该存储部分指示执行图14A中的步骤S81的进程的CPU 31和HDD 34,该获取部分指示执行图14A中的步骤S83的进程的CPU 31和网络接口37,而该控制部分指示执行图14A中的步骤S84到S87的进程的CPU 31。
优选地,该存储部分包含表数据,该表数据指示该信息处理装置的光标的移动量、该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据之间的对应关系,该单条或多条操作数据被从该第二操作构件输出,并且该控制部分基于该表数据将与该组合值相对应的该单条或多条操作数据输出到该服务器。
通过上述配置,即使在该信息处理装置和该服务器中执行所谓的鼠标光标的加速过程,当该操作从该第一操作构件改变到该第二操作构件,然后操作该第二操作构件时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的第二操作构件的操作环境。例如,该第一表数据是图7A或图7B中的表数据。
优选地,从该KVM开关输出到该服务器的数据的累积值是这样计算出的计算值,即提取该服务器的光标的图像,检测在该被提取的服务器的光标的图像被该第一操作构件的操作移动之后的该服务器的光标的位置,并基于在该提取的图像移动之前该被提取的图像的位置和在该提取的图像移动之后该被提取的图像的位置,计算该服务器的光标的移动量。
通过上述配置,可从在该信息处理装置上显示的该服务器的光标的图像,获取从该KVM开关输出给该服务器的数据的累积值。
根据本发明的第三方面,提供了一种信息处理装置,该信息处理装置经由与第一操作构件连接的KVM开关连接到服务器,该信息处理装置连接到第二操作构件,并且显示包含该信息处理装置的光标和该服务器的光标的窗口,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该信息处理装置包含:存储部分,该存储部分存储该窗口的框架上的这样的坐标,即当通过操作该第二操作构件使该信息处理装置的光标移动到该窗口外部时该信息处理装置的光标穿过所述坐标,并且在所述坐标上,该服务器的光标的位置与该信息处理装置的光标的位置相互一致;和控制部分,当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分计算该指示该窗口的框架上的到达点的坐标与该存储的坐标之间的差值,并将该差值输出给该服务器。
通过上述配置,即使当通过操作该第二操作构件使该信息处理装置的光标移动到该窗口外部,然后该光标从该窗口外部到达该窗口时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的该第二操作构件的操作环境。例如,该存储部分指示执行图17中的步骤S111的进程的CPU31和HDD 34,而该控制部分指示执行图17中的步骤S115的进程的CPU 31。
优选地,当在该信息处理装置的光标移动到该窗口外的同时,通过操作该第一操作构件移动该服务器的光标时,该控制部分计算在该服务器的光标移动之前和移动之后的该服务器的光标的坐标之间的第一差值,并使该存储部分存储该第一差值,而当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分计算指示该窗口的框架上的到达点的坐标与所述存储的坐标之间的第二差值,组合该第二差值与该第一差值,并将该组合值输出给该服务器。
通过上述配置,即使当在该信息处理装置的光标移动到该窗口外的同时,通过操作该第一操作构件移动该服务器的光标时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的该第二操作构件的操作环境。该控制部分的执行内容对应于图17中的步骤S113和S114的进程。
根据本发明的第四方面,提供了一种KVM开关,该KVM开关连接在与操作构件连接的信息处理装置和服务器之间,该KVM开关包含:输入部分,该输入部分输入指示该信息处理装置的光标的移动量的数据;检测部分,该检测部分基于从该操作构件输出的操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕上显示的该服务器的光标的移动量之间的对应关系、以及该输入部分输入的数据指示的该信息处理装置的光标的移动量,检测使得信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据,该信息处理装置的光标根据该操作数据移动,而该服务器的光标根据该信息处理装置的光标的移动而移动;和输出部分,该输出部分将该检测部分检测到的该单条或多条操作数据输出给该服务器。
通过上述配置,该信息处理装置的光标与该服务器的光标之间不会出现位置间隙,因而可为该信息处理装置的操作员提供舒适的操作构件操作环境。例如,该输入部分指示图3中的网络接口104a或104b,该检测部分指示执行图5B、6、8A和8B中的过程的控制器101,而该输出部分指示图3中的接口103a或103b。
优选地,该KVM开关还包括:第一计算部分,该第一计算部分计算该信息处理装置的光标的移动量,该信息处理装置的光标根据该操作数据移动;提取部分,该提取部分提取该服务器的光标的图像;位置检测部分,该位置检测部分检测在被提取的该服务器的光标的图像移动之后该服务器的光标的位置,该服务器的光标的图像根据该操作数据移动;第二计算部分,该第二计算部分基于在被提取的该服务器的光标的图像移动之前该服务器的光标的图像的位置,和该位置检测部分检测到的该服务器的光标的图像的位置,计算该服务器的光标的移动量;以及第一生成部分,该第一生成部分生成第一表数据,该第一表数据指示该操作数据、该第一计算部分计算的该信息处理装置的光标的移动量和该第二计算部分计算的该服务器的光标的移动量之间的对应关系。
通过上述配置,可基于该第一表数据检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据。例如,该第一计算部分指示执行图6中的步骤S13的进程的控制器101,该提取部分指示执行图6中的步骤S11的进程的控制器101,该位置检测部分指示执行图6中的步骤S14的进程的控制器101,该第二计算部分指示执行图6中的步骤S15的进程的控制器101,而该第一生成部分指示执行图6中的步骤S16的进程的控制器101。例如,第一表数据是图7A或7B中的表数据。
更优选地,该KVM开关还包括第二生成部分,该第二生成部分基于该第一表数据生成第二表数据,该第二表数据指示该第一计算部分计算出的该信息处理装置的光标的移动量、该第二计算部分计算出的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据之间的对应关系。
通过上述配置,可基于该第二表数据将使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据迅速输出给该服务器。例如,该第二生成部分指示生成图7C中的表数据的控制器101。
还更优选地,该KVM开关还包含接收部分,该接收部分从该信息处理装置或该服务器接收该第一表数据或第二表数据。
通过上述配置,可利用从该信息处理装置或该服务器接收到的该第一表数据或第二表数据。例如,该接收部分指示图3中的网络接口104a或104b,或者图3中的接口103a或103b。
还更优选地,该KVM开关还包含传输部分,该传输部分将该第一表数据或第二表数据传输给该信息处理装置或该服务器。
通过上述配置,可将该第一表数据或第二表数据传输给该信息处理装置或该服务器。例如,该传输部分指示图3中的网络接口104a或104b,或者图3中的接口103a或103b。
优选地,该KVM开关还包含限制部分,该限制部分将该信息处理装置的光标的移动范围局限于这样的窗口中,该窗口设置在该信息处理装置的屏幕中,并且在该窗口上显示该服务器的光标。
通过上述配置,在设置在该信息处理装置的屏幕中的、并且在其上显示该服务器的光标的窗口中,该信息处理装置的光标和该服务器的光标之间不出现位置间隙。因此,可为该信息处理装置的操作员提供舒适的操作构件操作环境。例如,该限制部分指示执行图12B中的步骤S72a的进程的控制器101。
优选地,该KVM开关还包含选择部分,该选择部分选择对该信息处理装置的光标的移动范围的限制有效还是无效。
通过上述配置,该信息处理装置的操作员可选择对该信息处理装置的光标的移动范围的限制有效还是无效。例如,该选择部分指示执行图12B中的步骤S71a的进程的控制器101,和KVM开关上的给定开关或菜单显示。
根据本发明的第五方面,提供了一种KVM开关,该KVM开关与第一操作构件连接,该KVM开关可连接到信息处理装置和服务器,该信息处理装置连接到第二操作构件,并显示该信息处理装置的光标和该服务器的光标,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该KVM开关包含:存储部分,该存储部分从该信息处理装置获取当操作从第二操作构件改变到第一操作构件时的该信息处理装置的光标的位置并存储该位置,并且存储在该第一操作构件的操作期间从该KVM开关输出给该服务器的数据的累积值;和控制部分,该控制部分从该信息处理装置获取当操作从第一操作构件改变到第二操作构件时的该信息处理装置的光标的位置,基于被存储的该信息处理装置的光标的位置和被存储的累积值计算该服务器的光标的当前位置,计算该服务器的光标的当前位置与当操作从第一操作构件改变到第二操作构件时的该信息处理装置的光标的位置之间的差,并将计算出的差值与该第二操作构件的操作导致的该信息处理装置的光标的移动量的组合值输出给该服务器。
通过上述配置,即使通过连接到该KVM开关的第一操作构件移动该服务器的光标,当该操作从该第一操作构件改变到该第二操作构件,然后操作该第二操作构件时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的第二操作构件的操作环境。例如,该存储部分指示执行图15中的步骤S101和S102的进程的控制器101和存储器105,而该控制部分指示执行图15中的步骤S103到S106的进程的控制器101。
优选地,该存储部分包含表数据,该表数据指示该信息处理装置的光标的移动量、该服务器的光标的移动量以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据之间的对应关系,该单条或多条操作数据被从该第二操作构件输出,并且该控制部分基于该表数据将与该组合值相对应的该单条或多条操作数据输出给该服务器。
通过上述配置,即使在该信息处理装置和该服务器中执行所谓的鼠标光标的加速过程,当该操作从该第一操作构件改变到该第二操作构件,然后操作该第二操作构件时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的该第二操作构件的操作环境。例如,该第一表数据是图7C中的表数据。
根据本发明的第六方面,提供了一种KVM开关,该KVM开关与第一操作构件连接,该KVM开关可连接到信息处理装置和服务器,该信息处理装置连接到第二操作构件,并显示包含该信息处理装置的光标和该服务器的光标的窗口,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该KVM开关包含:存储部分,该存储部分从该信息处理装置获取该窗口的框架上的这样的坐标并存储该坐标,当通过操作该第二操作构件使该信息处理装置的光标移动到该窗口外部时该信息处理装置的光标穿过所述坐标,并且在该坐标上,该服务器的光标的位置与该信息处理装置的光标的位置相互一致;和控制部分,当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分从该信息处理装置获取指示该窗口的框架上的到达点的坐标,计算获取的指示该窗口的框架上的到达点的所述坐标与存储的坐标之间的差值,并将该差值输出给该服务器。
通过上述配置,即使当通过操作该第二操作构件使该信息处理装置的光标移动到该窗口外部,然后该光标从该窗口外部到达该窗口时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的该第二操作构件的操作环境。例如,该存储部分指示执行图18中的步骤S121的进程的控制器101和存储器105,而该控制部分指示执行图18中的步骤S125的进程的控制器101。
优选地,当在该信息处理装置的光标移动到该窗口外部的同时,通过操作该第一操作构件移动该服务器的光标时,该控制部分计算在该服务器的光标移动之前和移动之后的该服务器的光标的坐标之间的第一差值,并使该存储部分存储该第一差值,而当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分从该信息处理装置获取指示该窗口的框架上的到达点的坐标,计算所获取的指示该窗口的框架上的到达点的坐标与所存储的坐标之间的第二差值,组合该第二差值与该第一差值,并将组合值输出给该服务器。
通过上述配置,即使当在该信息处理装置的光标移动到该窗口外部的同时,通过操作该第一操作构件移动该服务器的光标时,仍可校正该信息处理装置的光标与该服务器的光标之间的位置间隙。因此,可为该信息处理装置的操作员提供舒适的该第二操作构件的操作环境。该控制部分的执行内容对应于图18中的步骤S123和S124的进程。
根据本发明的第七方面,提供了一种服务器,该服务器连接在与操作构件连接的信息处理装置和KVM开关之间,该服务器包含:输入部分,该输入部分输入指示该信息处理装置的光标的移动量的数据;决定部分,该决定部分基于输入指示该信息处理装置的光标的移动量的数据的顺序决定从该操作构件输出的操作数据;检测部分,该检测部分基于该被决定的操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕上显示的该服务器的光标的移动量之间的对应关系以及该输入部分输入的数据指示的该信息处理装置的光标的移动量,检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据,该信息处理装置的光标根据该操作数据移动,而该服务器的光标根据该信息处理装置的光标的移动而移动;和移动部分,该移动部分基于该检测部分检测到的该单条或多条操作数据移动该服务器的光标。
通过上述配置,该信息处理装置的光标与该服务器的光标之间不会出现位置间隙,因而可为该信息处理装置的操作员提供舒适的操作构件操作环境。例如,该输入部分指示图2A中的USB接口28,该决定部分和移动部分指示图2A中的CPU 21,而该检测部分指示执行图9A和9B中的过程的CPU 21。
优选地,该检测部分包含获取部分,该获取部分对指示该输入部分输入的该信息处理装置的光标的移动量的数据执行加速处理;和第一生成部分,该第一生成部分生成第一表数据,该第一表数据指示该决定部分决定的操作数据、该输入部分输入的该信息处理装置的光标的移动量以及该获取部分获取的该服务器的光标的移动量之间的对应关系。
通过上述配置,可基于该第一表数据,检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据。例如,该获取部分指示执行图9B中的步骤S42的进程的CPU 21,而该第一生成部分指示执行图9B中的步骤S43的进程的CPU 21。例如,该第一表数据是图7A或7B中的表数据。
更优选地,该服务器还包括第二生成部分,该第二生成部分基于该第一表数据生成第二表数据,该第二表数据指示该输入部分输入的该信息处理装置的光标的移动量、该获取部分获取的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据之间的对应关系。
通过上述配置,可基于该第二表数据,迅速检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据,并迅速移动该服务器的光标。例如,该第二生成部分指示生成图7C中的表数据的CPU 21。
还更优选地,该服务器还包含接收部分,该接收部分从该信息处理装置或KVM开关接收该第一表数据或第二表数据。
通过上述配置,可利用从该信息处理装置或该KVM开关接收到的该第一表数据或第二表数据。例如,该接收部分指示USB接口28。
还更优选地,该服务器还包含传输部分,该传输部分将该第一表数据或第二表数据传输给该信息处理装置或该KVM开关。
通过上述配置,可将该第一表数据或第二表数据传输给该信息处理装置或该KVM开关。例如,该传输部分指示USB接口28。
附图说明
将参照以下附图详细说明本发明的优选实施例,在附图中:
图1是示出一个KVM(K:键盘,V:视频,M:鼠标)系统的结构的框图,该KVM系统包含根据本发明的第一实施例的KVM开关、信息处理装置和服务器;
图2A是示出服务器2a的结构的框图;
图2B是示出PC 11a的硬件结构的框图;
图3是示出KVM开关1的硬件结构的框图;
图4A是服务器2a的屏幕的示例的图示;
图4B是图4A的局部放大视图;
图4C是示出PC 11a的屏幕的示例的图示;
图5A和5B是示出位置间隙校正功能的流程图;
图6是示出图5A中的步骤S3的加速因子的检测过程的流程图;
图7A是示出步骤S16生成的表数据的示例的图示;
图7B是示出其中图7A中的每个值被取整(round off)的表数据的示例的图示;
图7C是示出这样的表数据的示例的图示,即该表数据使PC 11a的鼠标光标126的位置与服务器2a的鼠标光标122的位置相互一致;
图8A和8B是示出PC 11a和KVM开关1执行的过程的流程图;
图9A是其中对PC 11a、KVM开关1和服务器2a中的数据的处理路径建模的图示;
图9B是示出加速因子的检测过程的流程图;
图10是PC 11a的屏幕的示例的图示;
图11是示出其中半自动地执行加速因子的检测过程的情况的流程图;
图12A是示出根据本发明的第二实施例的PC 11a和KVM开关1执行的过程的流程图;
图12B是示出图12A的变型的流程图;
图13A是示出根据本发明的第三实施例的本地(即服务器2a和KVM开关1侧)的屏幕的图示;
图13B是示出根据本发明的第三实施例的远程(即PC 11a侧)的屏幕的图示;
图14A是示出根据本发明的第三实施例的PC 11a和KVM开关1执行的过程的流程图;
图14B是示出图14A的变型的流程图;
图15是示出KVM开关1执行的过程的流程图;
图16是示出根据本发明的第四实施例的PC 11a的屏幕的图示;
图17是示出PC 11a的CPU 31执行的过程的流程图;
图18是示出KVM开关1的控制器101执行的过程的流程图;
图19是示出服务器的屏幕与远程PC的屏幕之间的常规关系的图示;
图20是示出常规远程PC的屏幕的示例的图示;
图21A是示出常规本地的屏幕的示例的图示;
图21B是示出常规远程的屏幕的示例的图示;而
图22是示出常规远程PC的屏幕的示例的图示。
具体实施方式
现在将参照附图说明本发明的实施例。
(第一实施例)
图1是示出一个KVM(K:键盘,V:视频,M:鼠标)系统的结构的框图,该KVM系统包含根据本发明的第一实施例的KVM开关、信息处理装置和服务器。
在图1中,KVM系统1000具有KVM(K:键盘,V:视频,M:鼠标)开关、服务器2a和2b、监视器3、键盘4和鼠标5。这些元件构成一个本地系统。即,监视器3可显示从服务器2a或2b输出的视频信号,而键盘4和鼠标5可将数据输出到服务器2a或2b。
KVM系统1000是一个用于多监视器的切换系统,并且具有PC11a和PC 11b,PC 11a连接到监视器12a、键盘13a和鼠标14a,PC11b连接到监视器12b~12e、键盘13b和鼠标14b。PC 11a和PC 11b是经由网络10连接到KVM开关1的远程终端,并且构成所谓的远程系统。即,用户可从在PC 11a或PC 11b上操作的远程操作应用,经由网络10和KVM开关11操作服务器2a或服务器2b。
连接到KVM开关1的服务器或远程终端(PC)的数量可以是单个和多个。
图2A是示出服务器2a的结构的框图,而图2B是示出PC 11a的硬件结构的框图。服务器2b的硬件结构与服务器2a的硬件结构相同,而PC 11b的硬件结构与PC 11a的硬件结构相同。
服务器2a具有控制整个设备的CPU 21、存储控制程序的ROM22、用作工作区的RAM 23、存储各种信息和程序的硬盘驱动器(HDD)24、输出视频信号的视频接口26、网络接口27、和USB(通用串行总线)接口28。CPU 21经由系统总线29连接到ROM 22、RAM 23、硬盘驱动器(HDD)24、视频接口26、网络接口27和USB接口28。USB接口28用于连接到KVM开关1,在稍后说明的图7A到7C中的表数据被传输给KVM开关1、PC 11a或PC 11b时被使用,并且在从KVM开关1、PC 11a或PC 11b接收图7A到7C中的表数据时被使用。
PC 11a具有控制整个设备的CPU 31、存储控制程序的ROM 32,用作工作区的RAM 33、存储各种信息和程序的硬盘驱动器(HDD)34、输出视频信号的视频接口36、连接到KVM开关1或其它计算机的网络接口37、和连接到未示出的USB(通用串行总线)设备的USB接口38。CPU 31经由系统总线39连接到ROM 32、RAM 33、硬盘驱动器(HDD)34、视频接口36、网络接口37和USB接口38。
监视器12a连接到视频接口36,键盘13a和鼠标14a连接到该USB接口。网络接口37用于连接到KVM开关1,在稍后说明的图7A到7C中的表数据被传输给KVM开关1、服务器2a或服务器2b时被使用,并且在从KVM开关1、服务器2a或服务器2b接收图7A到7C中的表数据时被使用。
图3是示出KVM开关1的硬件结构的框图。
KVM开关1具有控制整个开关的操作的控制器101、切换视频信号的输出目的地和来自鼠标或键盘的数据的输入目的地的切换电路102、分别连接到服务器2a和2b的接口电路(I/F)103a和103b、经由网络10连接到PC 11a和PC 11b的网络接口(I/F)104a和104b、连接到监视器3的视频接口(I/F)106、以及连接到键盘4和鼠标5的键盘/鼠标接口(I/F)107。控制器101具有存储各种控制程序和数据的存储器105。
接口电路(I/F)103a和103b在稍后说明的图7A到7C中的表数据被传输给服务器2a和服务器2b时被使用,并且在从服务器2a和服务器2b接收图7A到7C中的表数据时被使用。网络接口(I/F)104a和104b在稍后说明的图7A到7C中的表数据被传输给PC11a和PC11b时被使用,并且在从PC 11a和PC 11b接收图7A到7C中的表数据时被使用。
尽管在下文说明中,服务器2a用作服务器的代表的示例,并且PC 11a用作远程终端的代表的示例,但是服务器和远程终端并不局限于这些。
在本实施例中,为了实现不受服务器2a的鼠标光标加速过程控制的位置间隙校正功能,PC 11a或KVM开关1具有自动生成表数据(见图7a到7c)以校正从鼠标14a输出的鼠标数据的功能。位置间隙校正功能是指这样一种功能,即当在PC 11a上显示的PC 11a的鼠标光标的位置与在PC 11a上显示的服务器2a的鼠标光标的位置相互不一致时,执行校正以使这些鼠标光标相互一致。
首先,将说明自动生成表数据以校正鼠标数据的第一功能。
图4A是示出服务器2a的屏幕的示例的图示,图4B是图4A的局部放大视图,而图4C是示出PC 11a的屏幕的示例的图示。此外,图5A和5B是示出位置间隙校正功能的流程图。
在图4A中,标号121指示服务器2a的屏幕,而标号122指示服务器2a的鼠标光标。在图4C中,标号123指示PC 11a的屏幕,而标号126指示PC 11a的鼠标光标。标号124指示已经设定不显示PC11a的鼠标光标126的窗口,而标号125指示已经设定显示该鼠标光标的另一个窗口。在窗口124上,显示服务器2a的屏幕,并且显示服务器2a的鼠标光标122。可通过PC 11a的操作系统设定在窗口124和窗口125中显示或不显示鼠标光标。
在初始状态下,尽管服务器2a的鼠标光标122可位于如图4A所示的屏幕121上的任何位置,但是,假定服务器2a的鼠标光标122例如位于位置“a”。如果PC 11a的鼠标光标126例如位于窗口125的正上方,则在本过程中PC 11a的鼠标光标126在窗口124正上方移动,从而PC 11a的鼠标光标126可位于屏幕123上的任何位置。
在图5A中,PC 11a的CPU 31将PC 11a的鼠标光标126的当前坐标存储在HDD 34中(步骤S1)。结果,图4C中的鼠标光标126的在位置“A”处的坐标被存储在HDD 34中。
接下来,PC 11a的CPU 31将使PC 11a的鼠标光标126移动到窗口124的左上角的鼠标数据输出给PC 11a,并且经由KVM开关1将指示PC 11a的鼠标光标126根据该鼠标数据的移动量的数据输出给服务器2a(步骤S2)。因此,图4A中的服务器2a的鼠标光标122从位置“a”移动到位置“b”,并且图4C中的鼠标光标126从位置“A”移动到位置“B”。
鼠标14a可输出的鼠标数据为1到255。如图4C所示,PC 11a的鼠标光标126的移动量被指示为“VAB”,而鼠标数据到达服务器2a并且服务器2a的鼠标光标122实际移动的量被指示为“Vab”。这两个移动量之间的关系为VAB<<Vab,Vab远大于VAB。服务器2a的鼠标光标122和PC 11a的鼠标光标126不受服务器2a的鼠标光标加速过程控制,并且分别移动到屏幕121的左上角的位置“B”和窗口121的左上角的位置“b”。
接下来,PC 11a的CPU 31执行服务器2a的加速因子的检测过程(步骤S3)。此过程被执行以检查PC 11a经由KVM开关1输出给服务器2a的数据在服务器2a中被如何加速,该数据示出PC 11a的鼠标光标126的移动量。通过此过程,PC 11a很好地知道服务器2a的加速因子,并且可经由KVM开关1输出对于服务器2a执行的加速过程被优化的数据。稍后将详细说明服务器2a的加速因子的检测过程。
最后,PC 11a的CPU 31将鼠标数据输出给PC 11a,该鼠标数据使PC 11a的鼠标光标126从窗口124的左上角的坐标返回HDD 34中存储的PC 11a的鼠标光标126的坐标(即,位置“A”的坐标),并经由KVM开关1将指示PC 11a的鼠标光标126根据该鼠标数据的移动量的数据输出给服务器2a(步骤S4)。步骤S2的鼠标数据和步骤S4的鼠标数据的移动量相互相等,但是其正号和负号互不相同。结果,PC 11a的鼠标光标126从位置“B”返回位置“A”,而服务器2a的鼠标光标122从位置“b”返回位置“a”。
尽管PC 11a的CPU 31执行图5A中的位置间隙校正功能,但是KVM开关1的控制器101执行图5B中的位置间隙校正功能。
在图5B中,KVM开关1的控制器101从PC 11a获取PC 11a的鼠标光标126的当前坐标,并将它们存储在存储器105中(步骤S1-1)。因此,图4C中的鼠标光标126的在位置“A”处的坐标被存储在存储器105中。
接下来,KVM开关1的控制器101将使PC 11a的鼠标光标126移动到窗口124的左上角的鼠标数据输出给PC 11a,并且将指示PC11a的鼠标光标126根据该鼠标数据的移动量的数据输出给服务器2a(步骤S2-1)。因此,图4A中的服务器2a的鼠标光标122从位置“a”移动到位置“b”,并且图4C中的鼠标光标126从位置“A”移动到位置“B”。鼠标14a可输出的鼠标数据为1到255。
接下来,KVM开关1的控制器101执行服务器2a的加速因子的检测过程(步骤S3-1)。此过程被执行以检查被输出给服务器2a的数据在服务器2a中被如何加速,该数据示出PC 11a的鼠标光标126的移动量。通过此过程,KVM开关1很好地知道服务器2a的加速因子,并且可输出对于服务器2a执行的加速过程被优化的数据。稍后将详细说明服务器2a的加速因子的检测过程。
最后,KVM开关1的控制器101将鼠标数据输出给PC 11a,该鼠标数据使PC 11a的鼠标光标126从窗口124的左上角的坐标返回存储器105中存储的PC 11a的鼠标光标126的原始位置(即,位置“A”的坐标),并将指示PC 11a的鼠标光标126根据该鼠标数据的移动量的数据输出给服务器2a(步骤S4-1)。步骤S2-1的鼠标数据和步骤S4-1的鼠标数据的移动量相互相等,但是其正号和负号互不相同。结果,PC 11a的鼠标光标126从位置“B”返回位置“A”,而服务器2a的鼠标光标122从位置“b”返回位置“a”。
图6是示出图5A中的步骤S3的加速因子的检测过程的流程图。
首先,当服务器2a的鼠标光标122位于位置“b”,而PC的鼠标光标126位于位置“B”时,PC 11a的CPU 31在窗口124上显示的图像区域上捕获图4B中的环绕鼠标光标122的闭合区域“r”,并且抽取出对应于服务器2a的鼠标光标122的位图(步骤S11),以追踪窗口124内的服务器2a的鼠标光标122的移动。
在以下过程中,PC 11a的CPU 31将数据输出给服务器2a(该数据指示PC 11a的鼠标光标126根据从1到255的多条鼠标数据中的每一条的移动量),检测服务器2a鼠标光标122如何取决于该数据移动,并且检测服务器2a的加速因子。
PC 11a的CPU 31初始化鼠标数据(i),即将“1”设定为鼠标数据(i=1)(步骤S12)。接下来,PC 11a的CPU 31取决于设定的鼠标数据(i)计算PC 11a的鼠标光标126的移动量,并将指示PC 11a的鼠标光标126的移动量的数据输出给服务器2a(步骤S13)。结果,窗口124内的服务器2a的鼠标光标122移动。
接下来,PC 11a的CPU 31通过模式匹配检测服务器2a的鼠标光标122的图像在窗口124中的移动目的地(步骤S14)。
PC 11a的CPU 31计算在服务器2a的鼠标光标122移动之前的位置与在该鼠标光标122移动之后的位置之间的差值,并计算服务器2a的鼠标光标122对于该鼠标数据(i)的移动量(步骤S15)。根据步骤S13到S18的循环重复多次移动量的计算,该次数对应于鼠标14a可输出的鼠标数据(1-255),即255次。
PC 11a的CPU 31基于鼠标数据(i)、PC 11a的鼠标光标126的移动量、和服务器2a的鼠标光标122的移动量,生成表数据(步骤S16)。生成的表数据被存储在HDD34中。稍后将说明该表数据。
持续地,PC 11a的CPU 31将鼠标数据(i)加1(步骤S17),并确定鼠标数据(i)是否超过255(步骤S18)。
当鼠标数据(i)不超过255时(否),则进程返回步骤S13。另一方面,当鼠标数据(i)超过255时(是),PC 11a的CPU 31将服务器2a的鼠标光标122移动到窗口124的左上角(步骤S19)。进程终止。
图5B中的步骤S3-1的加速因子的检测过程被以与图6相同的方式执行,但是执行主体为KVM开关1的控制器101。在此情况下,KVM开关1的控制器101连续接收PC 11a的屏幕的数据。
图7A是示出步骤S16生成的表数据的示例的图示,图7B是示出其中图7A中的每个值被取整的表数据的示例的图示,而图7C是示出这样的表数据的示例的图示,即该表数据使PC 11a的鼠标光标126的位置与服务器2a的鼠标光标122的位置相互一致。
在图7A中,符号“X”指示对应于PC 11a的输入的鼠标数据,符号“Y”指示PC 11a的鼠标光标126的移动量,而符号“Z”指示服务器2a的鼠标光标122的移动量。通过上述的步骤S16,PC 11a的CPU 31同时生成图7A中的表数据,和其中图7A中的每个值被取整的图7B中的表数据。图7C中的表数据在步骤S19中被PC 11a的CPU 31生成,并被存储在HDD 34中,或者图7C中的表数据被KVM开关1的控制器101生成,并被存储在存储器105中。
为了检测服务器2a的加速因子,使用图7A和7B中的鼠标数据X,并且将图7A和7B中所示的PC 11a的鼠标光标126的移动量Y输入服务器2a。鼠标数据X与PC 11a的鼠标光标126的移动量Y不同的原因是在PC 11a中执行了鼠标加速过程。
要求服务器2a的鼠标光标122的位置与PC 11a的鼠标光标126的位置相互一致,从而服务器2a的鼠标光标122的位置不背离PC 11a的鼠标光标126的位置。但是,在图7B中很清楚,服务器2a的鼠标光标122的移动量Z与PC 11a的鼠标光标126的移动量Y并不一致。
在本实施例中,PC 11a的CPU 31或KVM开关1的控制器101执行输出转换过程,该输出转换过程转换PC 11a的鼠标光标126的移动量Y的输出,以便服务器2a的鼠标光标122的移动量Z与PC 11a的鼠标光标126的移动量Y相互一致。确切地说,在该输出转换过程中,PC 11a的CPU 31或KVM开关1的控制器101将一个或多个鼠标数据输出给服务器2a,以便服务器2a的鼠标光标122的移动量Z与PC 11a的鼠标光标126的移动量Y互相一致。该一个或多个鼠标数据是这样的数据,即PC 11a没有对该数据执行加速过程,并且该数据从鼠标被直接输入PC 11a。
图7C中的表数据示出PC 11a的鼠标光标126的移动量Y、输出给服务器2a的鼠标数据、和服务器2a的鼠标光标122的移动量Z之间的关系。
例如,当PC 11a的鼠标光标126的移动量Y等于“5”而值“5”被从PC 11a输出给服务器2a时,基于图7B,服务器2a的鼠标光标122的移动量Z变为“7”。因此,鼠标光标122被加速“2”。在此情况下,PC 11a的鼠标光标126的移动量Y与服务器2a的鼠标光标122的移动量Z相互不一致。
但是,当在图7C中PC 11a的鼠标光标126的移动量Y等于“5”时,作为鼠标数据X-1的“3”和作为鼠标数据X-2的“1”被从PC 11a输出给服务器2a。即,鼠标数据被分成两次,并且被输出。当鼠标数据等于“3”时,基于图7B,服务器2a的鼠标光标122的移动量Z-1变为“4”。当鼠标数据等于“1”时,基于图7B,服务器2a的鼠标光标122的移动量Z-2变为“1”。鼠标光标122的移动量Z为“5”,该移动量Z是移动量Z-1与移动量Z-2之和。在此情况下,PC 11a的鼠标光标126的移动量Y与服务器2a的鼠标光标122的移动量Z相互一致。
图8A和8B是示出PC 11a和KVM开关1执行的过程的流程图。
首先,将说明图8A中的过程。
当在PC 11a中操作鼠标14a,并且移动PC 11a的鼠标光标126时(步骤S21),PC 11a的CPU 31生成指示PC 11a的鼠标光标126的移动量Y的数据(步骤S22),并将该数据传输给KVM开关1(步骤S23)。KVM开关1的控制器101接收该指示PC 11a的鼠标光标126的移动量Y的数据(步骤S24),使用图7C中的表数据执行输出转换过程(步骤S25),并将一个或多个鼠标数据输出给服务器2a(步骤S26)。服务器2a接收该一个或多个鼠标数据,并且移动服务器2a的鼠标光标122(步骤S27)。该进程终止。PC 11a的窗口124上显示服务器2a的鼠标光标122的移动。
接下来,将说明图8B中的过程。
当在PC 11a中操作鼠标14a,并且移动PC 11a的鼠标光标126时(步骤S31),PC 11a的CPU 31使用图7C中的表数据执行输出转换过程(步骤S32),并将一个或多个鼠标数据输出给KVM开关1(步骤S33)。KVM开关1的控制器101接收该一个或多个鼠标数据(步骤S34),并将该一个或多个鼠标数据直接输出给服务器2a(步骤S35)。服务器2a接收该一个或多个鼠标数据,并且移动服务器2a的鼠标光标122(步骤S36)。该进程终止。PC 11a的窗口124上显示服务器2a的鼠标光标122的移动。
因此,PC 11a或KVM开关1将鼠标数据输出给服务器2a,在该鼠标数据中在PC 11a的鼠标光标126和服务器2a的鼠标光标122之间不会出现位置间隙,从而可提供不受服务器2a的鼠标加速过程控制的位置间隙校正功能,且不必如现有技术一样使服务器的鼠标的加速过程无效。此外,只要PC 11a的鼠标光标126位于窗口124正上方,则在PC 11a的鼠标光标126和服务器2a的鼠标光标122之间不会出现位置间隙,从而可为鼠标14a的操作员提供舒适的鼠标操作环境。
接下来,将说明自动生成表数据以校正鼠标数据的第二功能。这里,服务器2a自动生成图7A到7C中的多条鼠标数据。
在上述第一实施例中,为了生成图7A到7C中的多条鼠标数据,PC 11a执行窗口124中的服务器2a的鼠标光标122的图像的捕获过程和模式匹配过程。
可通过操作服务器2a上的监视程序,并一直检测服务器2a的鼠标光标122的位置,检查PC 11a的鼠标光标126的移动被如何反映在服务器2a上,即服务器2a的鼠标光标122如何根据PC 11a的鼠标光标126的移动而移动。
图9A是其中对PC 11a、KVM开关1和服务器2a中的数据的处理路径建模的图示。
服务器2a的HDD 24包含设备驱动器51,窗口管理系统52和程序53。这些被从HDD 24读出到RAM 23,并且被CPU 21任意地执行,从而施行各自的功能。
在图9A中,路径P1指示使用KVM开关1和PC 11a之间的I/F(例如,以太网或电话通信)。路径P2指示使用设备驱动器51和KVM开关1之间的I/F(例如,PS2或USB的通信线路),该KVM开关1是硬件。路径P3指示使用程序53和设备驱动器51之间的I/F(例如,应用程序接口)。路径P4指示当服务器2a和KVM开关1连接到可与该服务器2a和KVM开关1连接的通信路径时,使用程序53和KVM开关1之间的I/F(例如,以太网和TCP/IP)。路径P5指示当服务器2a和PC 11a连接到可与该服务器2a和PC 11a连接的通信路径时,使用程序53和PC 11a之间的I/F(例如,以太网和TCP/IP)。
现在将说明PC 11a、KVM开关1和服务器2a的操作。
指示PC 11a的鼠标光标126的移动量Y的数据(见图7B)被从PC 11a经由网络10告知KVM开关1。KVM开关1对于服务器2a起到鼠标的作用,将被从PC 11a告知的数据输入服务器2a,并将该数据发送给设备驱动器51。
在指示鼠标光标126的移动量Y的数据已被发送时,服务器2a的加速过程不被执行,并且指示鼠标光标126的移动量Y的该数据是图7B中所示的值。
设备驱动器51将指示鼠标光标126的移动量Y的数据发送给窗口管理系统52。窗口管理系统52执行加速过程,并且将加速过程后的数据发送给程序53。对被发送给程序53的数据执行加速过程,因此该数据变为图7B中的指示服务器2a的鼠标光标122的移动量Z的数据。CPU 21根据在其中执行加速过程的服务器2a的鼠标光标122的移动量Z移动服务器2a的鼠标光标122。
因而,设备驱动器51获取输入服务器2a的指示PC 11a的鼠标光标126的移动量Y的数据,而程序53获取指示服务器2a的鼠标光标122的移动量Z的数据。鼠标数据如稍后所述地依次逐个增加,从而设备驱动器51可确定与被首先接收的且指示PC 11a的鼠标光标126的移动量Y的数据相对应的鼠标数据为“1”,与其次接收的且指示PC 11a的鼠标光标126的移动量Y的数据相对应的鼠标数据为“2”,并且与最后接收的且指示PC 11a的鼠标光标126的移动量Y的数据相对应的鼠标数据为“255”。即,设备驱动器51接收指示PC 11a的鼠标光标126的移动量Y的数据,从而获取与该接收到的数据相对应的鼠标数据的值。
通过从程序53获取指示服务器2a的鼠标光标122的移动量Z的数据,设备驱动器51可基于预先获取的且指示PC 11a的鼠标光标126的移动量Y的数据,鼠标数据,和指示服务器2a的鼠标光标122的移动量Z的数据,生成图7B中的表数据和图7C中的表数据。
图9B是示出加速因子的检测过程的流程图。
设备驱动器51初始化鼠标数据(i),即将“1”设定为鼠标数据(i=1)(步骤S41)。接下来,设备驱动器51从程序53获取指示服务器2a的鼠标光标122的移动量Z的数据,并从KVM开关1获取指示PC 11a的鼠标光标126的移动量Y的数据(步骤S42)。设备驱动器51基于该鼠标数据、服务器2a的鼠标光标122的移动量Z和PC11a的鼠标光标126的移动量Y,生成表数据(步骤S43)。该表数据如图7A中所示。设备驱动器51将该鼠标数据、服务器2a的鼠标光标122的移动量Z和PC 11a的鼠标光标126的移动量Y中的每个值取整,以获取图7B中的表数据。
接下来,设备驱动器51将鼠标数据(i)加1(步骤S44),并且确定鼠标数据(i)是否超过255(步骤S45)。
当在步骤S45中鼠标数据(i)不超过255时(否),则该进程返回步骤S42。另一方面,在步骤S45中鼠标数据(i)超过255时(是),该进程终止。在本过程之后,设备驱动器51基于图7B中的表数据生成图7C中的表数据。
在上述过程中,设备驱动器51生成图7A-7C中的所述多条表数据。但是,PC 11a的鼠标光标126的移动量Y和鼠标数据也被KVM开关1和PC 11a获取,因而该KVM开关1或PC 11a可通过经由路径P1或路径P2将指示服务器2a的鼠标光标122的移动量Z的数据传递给KVM开关1或PC 11a,生成图7A-7C中的多条表数据。
KVM开关1可从程序53获取指示服务器2a的鼠标光标122的移动量Z的数据,并生成图7A-7C中的多条表数据。此外,KVM开关1可将该多条表数据存入其中,或者将该多条表数据传递给设备驱动器51或PC 11a。PC 11a可从程序53获取指示服务器2a的鼠标光标122的移动量Z的数据,并生成图7A-7C中的多条表数据。此外,PC 11a可将该多条表数据存入其中,或者将该多条表数据传递给设备驱动器51或KVM开关1。
因此,图7A-7C中的多条表数据的生成可由PC 11a、KVM开关1和设备驱动器51中任一个执行。此外,基于图7C中的表数据执行的输出转换过程必须由窗口管理系统52的前一级执行。该输出转换过程代表这样一个过程,即将一个或多个鼠标数据输出给服务器2a(确切地说,程序53),以便PC 11a的鼠标光标126的移动量Y与服务器2a的鼠标光标122的移动量Z相互一致。在服务器2a中,设备驱动器51基于图7C中的表数据执行输出转换过程。
接下来,将说明半自动地执行加速因子的检测过程的情况。半自动意味着PC 11a的操作员的操作是必要的。
图10是示出PC 11a的屏幕的示例的图示。
在图10中,标号123指示PC 11a的屏幕,而标号126指示PC 11a的鼠标光标。标号124指示在服务器2a的屏幕上显示的窗口,而标号125指示另一个窗口。在窗口124上,显示服务器2a的鼠标光标122,并且还显示PC 11a的鼠标光标。但是,PC 11a的鼠标光标仅在此过程被显示,而PC 11a的鼠标光标通常被设定在窗口124上不显示。
在图10中,PC 11a的鼠标光标126的位置“A”和服务器2a的鼠标光标122的位置“a”在初始状态下可位于任何位置。但是,PC 11a的CPU 31将PC 11a的鼠标光标126的位置“A”的坐标和服务器2a的鼠标光标122的位置“a”的坐标预先存入HDD 34中。
首先,PC 11a的CPU 31将移动服务器2a的鼠标光标122的数据输出给服务器2a,从而PC 11a的CPU 31将服务器2a的鼠标光标122从位置“a”移动到位置“b”。PC 11a的操作员移动PC 11a的鼠标光标126,并且在位置“b”点击服务器2a的鼠标光标122的箭头。通过该点击,PC 11a的CPU 31可认识到,服务器2a的鼠标光标122的位置“b”与PC 11a的鼠标光标126的位置彼此相同。此时,PC 11a的CPU 31不将指示PC 11a的鼠标光标126的移动量的数据输出给服务器2a。这是因为,如果指示PC 11a的鼠标光标126的移动量的数据被输出给服务器,则服务器2a的鼠标光标122会响应于PC 11a的鼠标光标126的移动而移动,从而操作员不能点击鼠标。
接下来,PC 11a的CPU 31还将移动服务器2a的鼠标光标122的数据输出给服务器2a。当服务器2a的鼠标光标122从位置“b”移动到位置“c”时,PC 11a的操作员移动PC 11a的鼠标光标126,并且在位置“c”点击服务器2a的鼠标光标122的箭头。
因此,PC 11a的CPU 31认识到如何通过服务器2a对下面这样的数据施行了加速过程,该数据已使服务器2a的鼠标光标122从位置“b”移动到位置“c”,并且已从PC 11a的CPU 31输出。结果,PC 11a的CPU 31可确定PC 11a的鼠标光标126的从位置“b”到位置“c”的移动量与服务器2a的鼠标光标122的从位置“b”到位置“c”的移动量之间的关系。
因而,当服务器2a的鼠标光标122依次从位置“a”移动到位置“h”时,PC 11a的操作员根据服务器2a的鼠标光标122的移动而移动PC11a的鼠标光标126,并且点击服务器2a的鼠标光标122的箭头。结果,PC 11a的CPU 31可确定PC 11a的鼠标光标126的移动量与服务器2a的鼠标光标122的移动量之间的关系。
图11是示出其中半自动地执行加速因子的检测过程的情况的流程图。
PC 11a的CPU 31初始化鼠标数据(i),即将“1”设定为鼠标数据(i=1)(步骤S61)。接下来,PC 11a的CPU 31根据设定的鼠标数据(i)计算PC 11a的鼠标光标126的移动量,并将指示PC 11a的鼠标光标126的移动量的数据输出给服务器2a(步骤S62)。结果,窗口124内的服务器2a的鼠标光标122移动。
接下来,PC 11a的CPU 31检测被PC 11a的操作员用PC 11a的鼠标光标126点击的坐标(步骤S63)。
PC 11a的CPU 31计算最后一次点击的坐标与此次点击的坐标之间的差值,并且计算服务器2a的鼠标光标122对于该鼠标数据(i)的移动量(步骤S64)。根据步骤S62到S67的循环,重复多次移动量的该计算,该次数对应于鼠标14a可输出的鼠标数据(1-255),即255次。
PC 11a的CPU 31基于鼠标数据(i)、PC 11a的鼠标光标126的移动量和服务器2a的鼠标光标122的移动量生成表数据(步骤S65)。生成的表数据被存储在HDD 34中。图7A和7B中示出步骤S65中生成的表数据。
持续地,PC 11a的CPU 31将鼠标数据(i)加1(步骤S66),并确定鼠标数据(i)是否超过255(步骤S67)。
当在步骤S67中鼠标数据(i)不超过255时(否),进程返回步骤S62。另一方面,当在步骤S67中鼠标数据(i)超过255时(是),PC 11a的CPU 31将服务器2a的鼠标光标122移动到窗口124的左上角(步骤S68)。进程终止。在此过程之后,PC 11a的CPU 31基于图7B中的表数据生成图7C中的表数据。
当PC 11a的CPU 31不能在窗口124上显示的图像区域上捕获到环绕服务器2a的鼠标光标122的闭合区域“r”时,半自动地执行加速因子的检测过程的功能是有效的。这包含以下原因。即,尽管通常PC 11a的操作系统或窗口系统使用的光标的形状如图10所示为箭头形,但是存在由于服务器2a的操作员的偏好,例如不是箭头形而是手指形或点形之类的鼠标光标形状并不确定的情况。即使在这种情况下,服务器2a的鼠标光标122的箭头被PC 11a的操作员点击,从而服务器2a的鼠标光标122的坐标可被指定。因此,也可利用半自动地执行加速因子的检测过程的功能生成图7C中的表数据。
使用图7C中的表数据的输出转换过程必须由窗口管理系统52的之前级执行。
(第二实施例)
如上文参照问题2所述,即使远程PC(对应于PC 11a)的鼠标光标205被设定为不显示,当远程PC的鼠标光标205超出图20中的窗口201的框架时,仍不能远程控制服务器。
在本实施例中,在上文所述的图8A或8B中的由PC 11a和KVM开关1执行的过程的之前级中,添加限制PC 11a的鼠标光标126的移动范围的过程,和使得能够进行限制移动范围的所述过程的有效性或无效性选择的过程。
根据本实施例的KVM系统的结构与根据第一实施例的KVM系统1000相同。
图12A是示出根据本发明的第二实施例的PC 11a和KVM开关1执行的过程的流程图。
PC 11a的CPU 31确定对PC 11a的鼠标光标126的移动范围的限制是否有效(步骤S71)。确切地说,PC 11a的CPU 31确定键盘13a的被分配了限制PC 11a的鼠标光标126的移动范围的指令的功能键是否被按下,或者限制PC 11a的鼠标光标126的移动范围的菜单是否被选中。当该功能键被按下或者菜单被选中时,PC 11a的CPU 31确定对PC 11a的鼠标光标126的移动范围的限制有效。当该功能键未被按下或者菜单未被选中时,PC 11a的CPU 31确定对PC 11a的鼠标光标126的移动范围的限制无效。
当在步骤S71确定对PC 11a的鼠标光标126的移动范围的限制有效时(是),PC 11a的CPU 31调用PC 11a的操作系统具有的功能,并且将PC 11a的鼠标光标126的移动范围限制在窗口124中(步骤S72)。该PC 11a的操作系统具有的功能例如是Microsoft Windows的被称为ClipCursor的API(应用程序接口)。通常,该API将鼠标光标的移动范围局限于窗口上的正方形区域中。
在步骤S72的进程之后,执行上文所述的图8A中的步骤S21到S27或上文所述的图8B中的步骤S31到S36的进程(步骤S73)。然后,本过程终止。
另一方面,当在步骤S71确定对PC 11a的鼠标光标126的移动范围的限制无效时(否),本过程终止。
尽管步骤S71和S72的执行主体是PC 11a的CPU 31,但是KVM开关1的控制器101也可执行步骤S71和S72的进程。图12B中示出此情况下的过程。
在步骤71a中,KVM开关1的控制器101确定KVM开关1上的被分配了限制PC 11a的鼠标光标126的移动范围的指令的给定开关(未示出)是否被接通,或者限制PC 11a的鼠标光标126的移动范围的并且被存储在存储器105中的菜单是否被选中。当步骤S71a的确定的答案为“是”时,KVM开关1的控制器101调用PC 11a的操作系统具有的函数,并且将PC 11a的鼠标光标126的移动范围限制在窗口124中(步骤S72a)。
因此,在本实施例中,当PC 11a的鼠标光标126的移动范围被限制在窗口124中时,执行输出转换过程。从而,当PC 11a的鼠标光标126的移动范围被限制在窗口124中时,PC 11a的鼠标光标126与服务器2a的鼠标光标122之间不出现位置间隙,因而可为鼠标14a的操作员提供舒适的鼠标操作环境。
(第三实施例)
在本实施例中,将说明服务器2a的鼠标光标122被远程或本地交替操作的情况。
这里,本地是指服务器2a和KVM开关1侧,而远程是指PC 11a侧。
在本实施例中,图7B和7C中的多条表数据被存储在KVM开关1的存储器105和PC 11a的HDD 34中。此外,在本实施例中,假定当在该服务器和PC 11a中执行鼠标操作时,执行一个附加过程。
根据本实施例的KVM系统的结构与根据第一实施例的KVM系统1000相同。
现在将参照图13A和13B说明KVM开关1和PC 11a执行的过程。
图13A是示出本地(即服务器2a和KVM开关1侧)的屏幕的图示,而图13B是示出远程(即PC 11a侧)的屏幕的图示。
在图13A中,标号121指示本地屏幕,而标号122指示服务器2a的鼠标光标。在图13B中,标号123指示远程屏幕,而标号126指示PC 11a的鼠标光标。标号124指示已经设定不显示PC 11a的鼠标光标126的窗口,而标号125指示已经设定显示该鼠标光标的另一个窗口。在窗口124上显示本地屏幕。在窗口124和窗口125中显示或不显示鼠标光标可通过PC 11a的操作系统设定。
假设当鼠标操作从远程改变为本地时PC 11a的鼠标光标126的位置为位置“A”,服务器2a的鼠标光标122位于位置“a”。当通过本地的鼠标操作,服务器2a的鼠标光标122画出轨迹“x”并且从位置“a”移动到位置“b”时,服务器2a的鼠标光标122的移动量,即从KVM开关1输出到服务器2a的数据的累积值最终变为“Vab”。
这里,假设当鼠标操作从本地改变为远程时服务器2a的鼠标光标122的位置为位置“b”,并且PC 11a的鼠标光标126位于位置“B”。当鼠标操作从本地改变为远程,并且通过远程的鼠标操作使PC 11a的鼠标光标126沿任何方向移动时,PC 11a的CPU 31从服务器2a获取服务器2a的鼠标光标122的移动量Vab,从移动量Vab和位置“a”的坐标确定位置“b”,并且计算位置“b”与PC 11a的鼠标光标126的位置“B”之间的差值(Vb’)。然后,PC 11a的CPU 31将PC 11a的鼠标光标126的移动量与计算出的位置“b”与位置“B”之间的差值(Vb’)相组合,并通过使用图7C中的表数据将对应于该组合值的一个或多个鼠标数据输出给服务器2a。
图14A是示出根据本发明的第三实施例的PC 11a和KVM开关1执行的过程的流程图。
首先,PC 11a的CPU 31将当鼠标操作从远程(PC 11a侧)改变为本地(服务器2a和KVM开关1侧)时的PC 11a的鼠标光标126的位置,即远程的鼠标操作的最终位置存储在HDD 34中(步骤S81)。
接下来,KVM开关1的控制器101在本地的鼠标操作期间将被输出给服务器2a的数据的累积值输出给PC 11a(步骤S82)。这里,KVM开关1输出给服务器2a的数据对应于图7C中的表数据中的PC11a的鼠标光标126的移动量Y。
PC 11a的CPU 31获取KVM开关1输出给服务器2a的数据的累积值(步骤S83)。接下来,当鼠标操作从本地改变为远程,并且通过远程的鼠标操作使PC 11a的鼠标光标126沿任何方向移动时(步骤S84),PC 11a的CPU 31基于存储在HDD 34中的远程的鼠标操作的最终位置和KVM开关1输出给服务器2的数据的累积值,计算服务器2a的鼠标光标122的当前位置(步骤S85)。PC 11a的CPU 31计算服务器2a的鼠标光标122的当前位置与PC 11a的鼠标光标126的当前位置之间的差值(步骤S86)。
接下来,PC 11a的CPU 31将PC 11a的鼠标光标126的移动量与步骤S86中计算出的差值相组合,并且将与通过使用图7C中的表数据组合的值相对应的一个或多个鼠标数据输出给服务器2a(步骤S87)。确切地说,PC 11a的CPU 31计算与该组合值一致的PC 11a的鼠标光标126的移动量Y,并且将对应于该移动量Y的一个或多个鼠标数据输出给服务器2a。
根据上述过程,当鼠标操作从本地改变为远程时,服务器2a的鼠标光标122的位置与PC 11a的鼠标光标126的位置一致。
可执行图14B中的过程代替步骤S82和S83。在此情况下,PC 11a的CPU 31可执行全部进程。
在图14B中,在步骤S81的进程之后,PC 11a的CPU 31如第一实施例中所述地捕获窗口124中的服务器2a的鼠标光标122的图像(步骤S91),通过模式匹配检测服务器2a的鼠标光标122的图像在窗口124中的移动目的地(步骤S92)。PC 11a的CPU 31计算在服务器2a的鼠标光标122移动之前的位置(即,当鼠标操作从远程改变为本地时鼠标光标122的位置)与在该鼠标光标122移动之后的位置(即,当鼠标操作从本地改变为远程时鼠标光标122的位置)之间的差值,并计算本地鼠标操作导致的服务器2a的鼠标光标122的移动量(步骤S93)。
然后,PC 11a的CPU 31通过使用图7B中的表数据,将与计算出的服务器2a的鼠标光标122的移动量相对应的PC 11a的鼠标光标126的移动量作为KVM开关1输出给服务器2a的数据的累积值(步骤S94)。该进程前进到步骤S84。
接下来,将说明其中KVM开关1的控制器101执行图14A中的过程的示例。
图15是示出KVM开关1执行的过程的流程图。
首先,KVM开关1的控制器101从PC 11a获取当鼠标操作从远程(PC 11a侧)改变为本地(服务器2a和KVM开关1侧)时的PC11a的鼠标光标126的位置,即远程鼠标操作的最终位置,并将其存入存储器105(步骤S101)。
接下来,KVM开关1的控制器101将在本地鼠标操作期间被输出给服务器2a的数据的累积值存入存储器105(步骤S102)。
接下来,KVM开关1的控制器101从PC 11a获取当鼠标操作从本地改变为远程时的PC 11a的鼠标光标126的位置(步骤S103)。KVM开关1的控制器101基于存储在存储器105中的远程鼠标操作的最终位置和被输出给服务器2a的数据的累积值,计算服务器2a的鼠标光标122的当前位置(步骤S104),并计算服务器2a的鼠标光标122的当前位置与步骤S103中获取的PC 11a的鼠标光标126的位置之间的差值(步骤S105)。
然后,当KVM开关1的控制器101从PC 11a接收到指示PC 11a的鼠标光标126的移动量的数据时,KVM开关1的控制器101将PC11a的鼠标光标126的移动量与步骤S105中计算的差值相组合,并通过使用图7C中的表数据将对应于该组合值的一个或多个鼠标数据输出给服务器2a(步骤S106)。确切地说,KVM开关1的控制器101计算与该组合值一致的PC 11a的鼠标光标126的移动量Y,并将对应于该移动量Y的一个或多个鼠标数据输出给服务器2a。
根据上述过程,当鼠标操作从本地改变为远程时,服务器2a的鼠标光标122的位置与PC 11a的鼠标光标126的位置一致。
根据图14A、14B或者图15中的过程,即使当服务器2a的鼠标光标122被本地或远程交替操作时,仍可校正PC 11a的鼠标光标126与服务器2a的鼠标光标122之间的位置间隙,因而可为鼠标14a的操作员提供舒适的鼠标操作环境。
在本实施例中,假定当在服务器和PC 11a中执行鼠标操作时执行一个附加过程。但是,如现有技术一样,在使服务器2a和PC 11a的该附加过程无效的KVM系统中,被输入和输出给服务器2a、KVM开关1和PC 11a的多条鼠标数据彼此相同。
因此,尽管使服务器2a和PC 11a的该附加过程无效的KVM系统可应用图14A、14B和15中的过程,但是并不一定使用图7B和7C中的多条表数据。在此情况下,在步骤S87中,PC 11a的CPU 31将PC 11a的鼠标光标126的移动量与步骤S85中计算出的差值相组合,并且将该组合值的数据输出给服务器2a。在步骤S94中,计算出的服务器2a的鼠标光标122的移动量成为KVM开关1输出给服务器2a的数据的累积值。此外,在步骤S106中,KVM开关1的控制器101将PC 11a的鼠标光标126的移动量与步骤S105中计算出的差值相组合,并且将该组合值的数据输出给服务器2a。
(第四实施例)
在本实施例中,将说明在这样一种情况下执行的位置校正过程,即其中PC 11a的鼠标光标126从窗口124内部移出到其外部一次,并从该窗口124的外部再次进入其内部。
根据本实施例的KVM系统的结构与根据第一实施例的KVM系统1000相同。
图16是示出根据本发明的第四实施例的PC 11a的屏幕的图示。
在图16中,标号122指示服务器2a的鼠标光标,标号123指示PC 11a的屏幕,而标号126指示PC 11a的鼠标光标。标号124指示已经设定不显示PC 11a的鼠标光标126的窗口,而标号125指示已经设定显示该鼠标光标的另一个窗口。在窗口124上显示本地(服务器2a)的屏幕。在窗口124和窗口125中显示或不显示鼠标光标可通过PC 11a的操作系统设定。
首先,假定在PC 11a的鼠标光标126与服务器2a的鼠标光标122之间没有出现位置间隙。当PC 11a的鼠标光标126从位置“A”移动到在窗口124的框架上的位置“B”时,PC 11a的CPU 31将位置“B”的坐标存储在HDD 34中。此时,服务器2a的鼠标光标122位于位置“b”,该位置“b”的位置与位置“B”相同。
然后,通过PC 11a的操作员的鼠标操作,PC 11a的鼠标光标126在窗口124外画出任何轨迹“C”,并到达窗口124的框架上的位置“G”。此时,位置“B”的坐标与位置“G”的坐标之间的差值为“VBG”。
就在PC 11a的鼠标光标126到达窗口124的框架上的位置“G”的瞬间,PC 11a的CPU 31计算被存储在HDD 34中的位置“B”的坐标与位置“G”的坐标之间的差值“VBG”,并且将计算出的差值输出给服务器2a。结果,服务器2a的鼠标光标122从位置“b”移动到位置“g”。应注意,位置“g”的位置与位置“G”相同。
当在PC 11a的鼠标光标126在窗口124外画出任何路径C的同时,服务器2a的鼠标光标122通过本地的鼠标操作画出轨迹x并从位置“b”移动到位置“b’”时,PC 11a的CPU 31预先计算位置“b”的坐标与位置“b’”的坐标之间的差值“Vb’b”,并将该差值存储在HDD 34中。
然后,就在PC 11a的鼠标光标126到达窗口124的框架上的位置“G”的瞬间,PC 11a的CPU 31将存储在HDD 34中的差值“Vb’b”与差值“VBG”相组合,并将组合值“Vb’G”输出给服务器2a。结果,服务器2a的鼠标光标122从位置“b’”移动到位置“g”。
在PC 11a的鼠标光标126从位置“G”进入窗口124内部之后,执行第一到第三实施例中所述的过程,因而在PC 11a的鼠标光标126和服务器2a的鼠标光标122之间不出现位置间隙。
图17是示出PC 11a的CPU 31执行的过程的流程图。
首先,PC 11a的CPU 31将当PC 11a的鼠标光标126移出窗口124时的在窗口124的框架上的鼠标光标126的坐标存储在HDD 34中(步骤S111)。接下来,PC 11a的CPU 31确定服务器2a的鼠标光标122是否被本地的鼠标操作移动(步骤S112)。
当步骤S112的确定的答案为“是”时,PC 11a的CPU 31计算在服务器2a的鼠标光标122移动之前的位置的坐标与在该鼠标光标移动之后的位置的坐标之间的差值,并将该差值存储在HDD 34中(步骤S113)。
接下来,当PC 11a的鼠标光标126再次到达窗口124的框架时,PC 11a的CPU 31计算窗口124的框架上的鼠标光标126的坐标与步骤S111中存储在HDD 34中的鼠标光标126的坐标之间的差值,将该计算出的差值与步骤S113中存储在HDD 34中的服务器2a的鼠标光标122的移动的差值相组合,并将该组合值输出给服务器2a(步骤S114)。本过程终止。
当步骤S112的确定的答案为“否”时,在PC 11a的鼠标光标126再次到达窗口124的框架的情况下,PC 11a的CPU 31计算窗口124的框架上的鼠标光标126的坐标与步骤S111中存储在HDD 34中的鼠标光标126的坐标之间的差值,并将该差值输出给服务器2a(步骤S115)。本过程终止。
图18是示出KVM开关1的控制器101执行的过程的流程图。
首先,KVM开关1的控制器101从PC 11a获取当PC 11a的鼠标光标126移出到窗口124之外时的在窗口124的框架上的鼠标光标126的坐标,并将获取的坐标存储在存储器105中(步骤S121)。接下来,KVM开关1的控制器101确定服务器2a的鼠标光标122是否被本地的鼠标操作移动(步骤S122)。
当步骤S122的确定的答案为“是”时,KVM开关1的控制器101计算在服务器2a的鼠标光标122移动之前的位置的坐标与在该鼠标光标122移动之后的位置的坐标之间的差值,并将该差值存储在存储器105中(步骤S123)。
接下来,当PC11a的鼠标光标126再次到达窗口124的框架时,KVM开关1的控制器101获取窗口124的框架上的鼠标光标126的坐标,计算该获取的坐标与步骤S121中存储在存储器105中的坐标之间的差值,将该计算出的差值与步骤S123中存储在存储器105中的服务器2a的鼠标光标122的移动的差值相组合,并将该组合值输出给服务器2a(步骤S124)。本过程终止。
另一方面,当步骤S122的确定的答案为“否”时,在PC 11a的鼠标光标126再次到达窗口124的框架的情况下,KVM开关1的控制器101从PC 11a获取窗口124的框架上的鼠标光标126的坐标,计算该获取的坐标与步骤S121中存储在存储器105中的鼠标光标126的坐标之间的差值,并将该差值输出给服务器2a(步骤S125)。本过程终止。
根据图17或图18中的过程,当PC 11a的鼠标光标126从窗口124内部移出到其外部一次,并从该窗口124的外部再次进入其内部时,可自动校正PC 11a的鼠标光标126和服务器2a的鼠标光标122之间的位置间隙,因而可为鼠标14a的操作员提供舒适的鼠标操作环境。
在本实施例中,在PC 11a的屏幕123上显示在其上显示了服务器的鼠标光标的一个窗口(见窗口124)。例如,当在PC 11a的屏幕123上显示在其上显示了服务器的鼠标光标的多个窗口时(即,当显示用于服务器的多个窗口时),针对每个窗口执行图17或图18中的过程。
在现有技术中,每当远程PC的鼠标光标移出显示服务器的鼠标光标的窗口的框架,并且移入另一个窗口时,该远程PC的操作员人工地将位置间隙校正功能设定为ON,以便校正远程PC的鼠标光标与服务器的鼠标光标之间的位置间隙。因而,远程PC的操作员会感到麻烦。
在这种情况下,通过执行图17或图18中的上述过程,自动校正远程PC的鼠标光标与服务器的鼠标光标之间的位置间隙。结果,远程PC的操作员决不会感到麻烦,并且可提供舒适的鼠标操作环境。
在第一到第四实施例中,鼠标14a用于操作PC 11a的鼠标光标126,而鼠标14a或鼠标5用于操作服务器2a的鼠标光标122。但是,用于操作PC11a的鼠标光标126或服务器2a的鼠标光标122的操作构件并不局限于鼠标,而可以是具有移动鼠标光标的功能的任何操作构件,例如图形输入板。
在其上记录有用于实现每个服务器的功能的软件程序的记录介质可被提供给每个服务器,并且每个服务器的CPU可读取并执行该记录介质上记录的程序。这样,也可实现与上述第一到第四实施例相同的效果。类似地,在其上记录有用于实现每个远程终端的功能的软件程序的记录介质可被提供给每个远程终端,并且每个远程终端的CPU可读取并执行该记录介质上记录的程序。这样,也可实现与上述第一到第四实施例相同的效果。此外,在其上记录有用于实现KVM开关1的功能的软件程序的记录介质可被提供给KVM开关1,并且KVM开关1的控制器101可读取并执行该记录介质上记录的程序。这样,也可实现与上述第一到第四实施例相同的效果。在此情况下,KVM开关1具有从记录介质中读出程序的设备(例如CD-ROM驱动器,DVD-ROM驱动器等等)。用于提供程序的记录介质可以是CD-ROM、DVD、SD卡等等。
另外,每个服务器的CPU可执行用于实现每个PC的功能的软件程序。这样,也可实现与上述第一到第四实施例相同的效果。类似的,每个远程终端的CPU可执行用于实现每个远程终端的功能的软件程序。这样,也可实现与上述第一到第四实施例相同的效果。此外,KVM开关1的控制器101可执行用于实现KVM开关1的功能的软件程序(例如,驱动器软件)。这样,也可实现与上述第一到第四实施例相同的效果。
应理解,本发明并不局限于上述实施例,并且可对上述实施例做出多种修改而不会背离本发明的范围。
本申请基于2007年8月29日提交的日本专利申请No.2007-222925,该专利申请的全文公开并入此作为参考文献。
Claims (30)
1.一种信息处理装置,该信息处理装置包含:
输入部分,该输入部分输入来自操作构件的操作数据;
检测部分,该检测部分基于该操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕中设置的窗口上显示的服务器的光标的移动量之间的对应关系以及该输入部分输入的操作数据,检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据,该信息处理装置的光标根据该输入部分输入的操作数据移动,而该服务器的光标根据该信息处理装置的光标的移动而移动;以及
输出部分,该输出部分将该检测部分检测到的该单条或多条操作数据输出给该服务器。
2.如权利要求1所述的信息处理装置,还包含:
第一计算部分,该第一计算部分计算该信息处理装置的光标的移动量,该信息处理装置的光标根据该输入部分输入的操作数据移动;
提取部分,该提取部分提取该服务器的光标的图像;
位置检测部分,该位置检测部分检测在被提取的该服务器的光标的图像移动之后该服务器的光标的位置,该服务器的光标的图像根据该输入部分输入的操作数据移动;
第二计算部分,该第二计算部分基于在被提取的该服务器的光标的图像移动之前该服务器的光标的图像的位置,和该位置检测部分检测到的该服务器的光标的图像的位置,计算该服务器的光标的移动量;以及
第一生成部分,该第一生成部分生成第一表数据,该第一表数据指示该输入部分输入的操作数据、该第一计算部分计算的该信息处理装置的光标的移动量以及该第二计算部分计算的该服务器的光标的移动量之间的对应关系。
3.如权利要求2所述的信息处理装置,还包含:
第二生成部分,该第二生成部分基于该第一表数据生成第二表数据,该第二表数据指示该第一计算部分计算出的该信息处理装置的光标的移动量、该第二计算部分计算出的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据之间的对应关系。
4.如权利要求1所述的信息处理装置,其中,所述检测部分包含:
第三计算部分,该第三计算部分计算该信息处理装置的光标的移动量,该信息处理装置的光标根据该输入部分输入的操作数据移动;
坐标检测部分,该坐标检测部分检测在通过操作员的操作移动该服务器的光标之后该服务器的光标的坐标;
第四计算部分,该第四计算部分基于先前坐标和该坐标检测部分检测到的当前坐标计算该服务器的光标的移动量;以及
第三生成部分,该第三生成部分生成第一表数据,该第一表数据指示该输入部分输入的操作数据、该第三计算部分计算的该信息处理装置的光标的移动量、以及该第四计算部分计算的该服务器的光标的移动量之间的对应关系。
5.如权利要求4所述的信息处理装置,还包含:
第四生成部分,该第四生成部分基于该第一表数据生成第二表数据,该第二表数据指示该第三计算部分计算出的该信息处理装置的光标的移动量、该第四计算部分计算出的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的所述单条或多条操作数据之间的对应关系。
6.如权利要求3所述的信息处理装置,还包含:
接收部分,该接收部分从KVM开关或服务器接收该第一表数据或第二表数据。
7.如权利要求3所述的信息处理装置,还包含:
传输部分,该传输部分将该第一表数据或第二表数据传输给KVM开关或该服务器。
8.如权利要求1所述的信息处理装置,还包含:
限制部分,该限制部分将该信息处理装置的光标的移动范围局限于这样的窗口中,该窗口设置在该信息处理装置的屏幕中,并且在该窗口上显示该服务器的光标。
9.如权利要求8所述的信息处理装置,还包含:
选择部分,该选择部分选择对该信息处理装置的光标的移动范围的限制有效还是无效。
10.一种信息处理装置,该信息处理装置经由与第一操作构件连接的KVM开关连接到服务器,该信息处理装置连接到第二操作构件,并且显示该信息处理装置的光标和该服务器的光标,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该信息处理装置包含:
存储部分,该存储部分存储当操作从第二操作构件改变到第一操作构件时的该信息处理装置的光标的位置;
获取部分,该获取部分获取在该第一操作构件的操作期间从该KVM开关输出到该服务器的数据的累积值;以及
控制部分,当在操作从该第一操作构件改变到第二操作构件之后操作该第二操作构件时,该控制部分基于被存储的该信息处理装置的光标的位置和获取的累积值计算该服务器的光标的当前位置,计算该服务器的光标的当前位置与该信息处理装置的光标的当前位置之间的差值,并将计算出的差值与该第二操作构件的操作导致的该信息处理装置的光标的移动量的组合值输出给该服务器。
11.如权利要求10所述的信息处理装置,其中,该存储部分包含表数据,该表数据指示该信息处理装置的光标的移动量、该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据之间的对应关系,该单条或多条操作数据被从该第二操作构件输出,并且该控制部分基于该表数据将与该组合值相对应的该单条或多条操作数据输出到该服务器。
12.如权利要求10所述的信息处理装置,其中,从该KVM开关输出到该服务器的数据的累积值是这样计算出的计算值,即提取该服务器的光标的图像,检测在该被提取的服务器的光标的图像被该第一操作构件的操作移动之后的该服务器的光标的位置,并基于在该提取的图像移动之前该被提取的图像的位置和在该提取的图像移动之后该被提取的图像的位置,计算该服务器的光标的移动量。
13.一种信息处理装置,该信息处理装置经由与第一操作构件连接的KVM开关连接到服务器,该信息处理装置连接到第二操作构件,并且显示包含该信息处理装置的光标和该服务器的光标的窗口,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该信息处理装置包含:
存储部分,该存储部分存储该窗口的框架上的这样的坐标,即当通过操作该第二操作构件使该信息处理装置的光标移动到该窗口外部时该信息处理装置的光标穿过所述坐标,并且在所述坐标上,该服务器的光标的位置与该信息处理装置的光标的位置相互一致;以及
控制部分,当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分计算该指示该窗口的框架上的到达点的坐标与该存储的坐标之间的差值,并将该差值输出给该服务器。
14.如权利要求13所述的信息处理装置,其中,当在该信息处理装置的光标在该窗口外移动的同时,通过操作该第一操作构件移动该服务器的光标时,该控制部分计算在该服务器的光标移动之前和移动之后的该服务器的光标的坐标之间的第一差值,并使该存储部分存储该第一差值,而当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分计算指示该窗口的框架上的到达点的坐标与所述存储的坐标之间的第二差值,组合该第二差值与该第一差值,并将该组合值输出给该服务器。
15.一种KVM开关,该KVM开关连接在与操作构件连接的信息处理装置和服务器之间,该KVM开关包含:
输入部分,该输入部分输入指示该信息处理装置的光标的移动量的数据;
检测部分,该检测部分基于从该操作构件输出的操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕上显示的该服务器的光标的移动量之间的对应关系、以及该输入部分输入的数据指示的该信息处理装置的光标的移动量,检测使得信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据,该信息处理装置的光标根据该操作数据移动,而该服务器的光标根据该信息处理装置的光标的移动而移动;以及
输出部分,该输出部分将该检测部分检测到的该单条或多条操作数据输出给该服务器。
16.如权利要求15所述的KVM开关,还包含:
第一计算部分,该第一计算部分计算该信息处理装置的光标的移动量,该信息处理装置的光标根据该操作数据移动;
提取部分,该提取部分提取该服务器的光标的图像;
位置检测部分,该位置检测部分检测在被提取的该服务器的光标的图像移动之后该服务器的光标的位置,该服务器的光标的图像根据该操作数据移动;
第二计算部分,该第二计算部分基于在被提取的该服务器的光标的图像移动之前该服务器的光标的图像的位置,和该位置检测部分检测到的该服务器的光标的图像的位置,计算该服务器的光标的移动量;以及
第一生成部分,该第一生成部分生成第一表数据,该第一表数据指示该操作数据、该第一计算部分计算的该信息处理装置的光标的移动量和该第二计算部分计算的该服务器的光标的移动量之间的对应关系。
17.如权利要求16所述的KVM开关,还包含:
第二生成部分,该第二生成部分基于该第一表数据生成第二表数据,该第二表数据指示该第一计算部分计算出的该信息处理装置的光标的移动量、该第二计算部分计算出的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据之间的对应关系。
18.如权利要求17所述的KVM开关,还包含:
接收部分,该接收部分从该信息处理装置或该服务器接收该第一表数据或第二表数据。
19.如权利要求17所述的KVM开关,还包含:
传输部分,该传输部分将该第一表数据或第二表数据传输给该信息处理装置或该服务器。
20.如权利要求15所述的KVM开关,还包含:
限制部分,该限制部分将该信息处理装置的光标的移动范围局限于这样的窗口中,该窗口设置在该信息处理装置的屏幕中,并且在该窗口上显示该服务器的光标。
21.如权利要求20所述的KVM开关,还包含:
选择部分,该选择部分选择对该信息处理装置的光标的移动范围的限制有效还是无效。
22.一种KVM开关,该KVM开关与第一操作构件连接,该KVM开关可连接到信息处理装置和服务器,该信息处理装置连接到第二操作构件,并显示该信息处理装置的光标和该服务器的光标,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该KVM开关包含:
存储部分,该存储部分从该信息处理装置获取当操作从第二操作构件改变到第一操作构件时的该信息处理装置的光标的位置并存储该位置,并且存储在该第一操作构件的操作期间从该KVM开关输出给该服务器的数据的累积值;以及
控制部分,该控制部分从该信息处理装置获取当操作从第一操作构件改变到第二操作构件时的该信息处理装置的光标的位置,基于被存储的该信息处理装置的光标的位置和被存储的累积值计算该服务器的光标的当前位置,计算该服务器的光标的当前位置与当操作从第一操作构件改变到第二操作构件时的该信息处理装置的光标的位置之间的差,并将计算出的差值与该第二操作构件的操作导致的该信息处理装置的光标的移动量的组合值输出给该服务器。
23.如权利要求22所述的KVM开关,其中,该存储部分包含表数据,该表数据指示该信息处理装置的光标的移动量、该服务器的光标的移动量以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据之间的对应关系,该单条或多条操作数据被从该第二操作构件输出,并且
该控制部分基于该表数据将与该组合值相对应的该单条或多条操作数据输出给该服务器。
24.一种KVM开关,该KVM开关与第一操作构件连接,该KVM开关可连接到信息处理装置和服务器,该信息处理装置连接到第二操作构件,并显示包含该信息处理装置的光标和该服务器的光标的窗口,该信息处理装置的光标因该第二操作构件的操作而移动,该服务器的光标因该第一操作构件和第二操作构件中任一个的操作而移动,该KVM开关包含:
存储部分,该存储部分从该信息处理装置获取该窗口的框架上的这样的坐标并存储该坐标,当通过操作该第二操作构件使该信息处理装置的光标移动到该窗口外部时该信息处理装置的光标穿过所述坐标,并且在该坐标上,该服务器的光标的位置与该信息处理装置的光标的位置相互一致;以及
控制部分,当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分从该信息处理装置获取指示该窗口的框架上的到达点的坐标,计算获取的指示该窗口的框架上的到达点的所述坐标与存储的坐标之间的差值,并将该差值输出给该服务器。
25.如权利要求24所述的KVM开关,其中当在该信息处理装置的光标在该窗口外部移动的同时,通过操作该第一操作构件移动该服务器的光标时,该控制部分计算在该服务器的光标移动之前和移动之后的该服务器的光标的坐标之间的第一差值,并使该存储部分存储该第一差值,并且
当该信息处理装置的光标从该窗口外部到达该窗口时,该控制部分从该信息处理装置获取指示该窗口的框架上的到达点的坐标,计算所获取的指示该窗口的框架上的到达点的坐标与所存储的坐标之间的第二差值,组合该第二差值与该第一差值,并将组合值输出给该服务器。
26.一种服务器,该服务器连接在与操作构件连接的信息处理装置和KVM开关之间,该服务器包含:
输入部分,该输入部分输入指示该信息处理装置的光标的移动量的数据;
决定部分,该决定部分基于输入指示该信息处理装置的光标的移动量的数据的顺序决定从该操作构件输出的操作数据;
检测部分,该检测部分基于该被决定的操作数据、在该信息处理装置的屏幕上显示的该信息处理装置的光标的移动量、以及在该信息处理装置的屏幕上显示的该服务器的光标的移动量之间的对应关系以及该输入部分输入的数据指示的该信息处理装置的光标的移动量,检测使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的单条或多条操作数据,该信息处理装置的光标根据该操作数据移动,而该服务器的光标根据该信息处理装置的光标的移动而移动;以及
移动部分,该移动部分基于该检测部分检测到的该单条或多条操作数据移动该服务器的光标。
27.如权利要求26所述的服务器,其中,该检测部分包含:
获取部分,该获取部分对指示该输入部分输入的该信息处理装置的光标的移动量的数据执行加速处理;以及
第一生成部分,该第一生成部分生成第一表数据,该第一表数据指示该决定部分决定的操作数据、该输入部分输入的该信息处理装置的光标的移动量以及该获取部分获取的该服务器的光标的移动量之间的对应关系。
28.如权利要求27所述的服务器,还包含:
第二生成部分,该第二生成部分基于该第一表数据生成第二表数据,该第二表数据指示该输入部分输入的该信息处理装置的光标的移动量、该获取部分获取的该服务器的光标的移动量、以及使得该信息处理装置的光标的移动量与该服务器的光标的移动量相互一致的该单条或多条操作数据之间的对应关系。
29.如权利要求28所述的服务器,还包含:
接收部分,该接收部分从该信息处理装置或KVM开关接收该第一表数据或第二表数据。
30.如权利要求28所述的服务器,还包含:
传输部分,该传输部分将该第一表数据或第二表数据传输给该信息处理装置或该KVM开关。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-222925 | 2007-08-29 | ||
JP2007222925A JP5127366B2 (ja) | 2007-08-29 | 2007-08-29 | 情報処理装置、kvmスイッチ、サーバ及び制御プログラム |
JP2007222925 | 2007-08-29 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102366279A Division CN101893941B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置和kvm开关 |
CN2010102366283A Division CN101887317B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置和kvm开关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101377724A true CN101377724A (zh) | 2009-03-04 |
CN101377724B CN101377724B (zh) | 2011-05-04 |
Family
ID=40149668
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102124569A Expired - Fee Related CN101377724B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置、kvm开关和服务器 |
CN2010102366279A Expired - Fee Related CN101893941B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置和kvm开关 |
CN2010102366283A Expired - Fee Related CN101887317B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置和kvm开关 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102366279A Expired - Fee Related CN101893941B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置和kvm开关 |
CN2010102366283A Expired - Fee Related CN101887317B (zh) | 2007-08-29 | 2008-08-29 | 信息处理装置和kvm开关 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8706922B2 (zh) |
EP (3) | EP2031487B1 (zh) |
JP (1) | JP5127366B2 (zh) |
KR (1) | KR100995461B1 (zh) |
CN (3) | CN101377724B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220339A (zh) * | 2013-03-27 | 2013-07-24 | 北京奇虎科技有限公司 | 远程操作中的光标轨迹显示方法、装置和系统 |
CN103516752A (zh) * | 2012-06-25 | 2014-01-15 | 3M创新有限公司 | 一种终端设备及其执行的方法 |
CN104067202A (zh) * | 2012-12-31 | 2014-09-24 | 华为技术有限公司 | 鼠标同步的方法、装置和系统 |
CN104412252A (zh) * | 2012-07-10 | 2015-03-11 | 阿沃森特亨茨维尔公司 | 使用虚拟媒体客户端并通过远程访问器具来访问远程磁盘镜像的系统和方法 |
CN105183269A (zh) * | 2014-06-10 | 2015-12-23 | 宏正自动科技股份有限公司 | 自动辨识游标所在屏幕的方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271704B2 (en) * | 2009-06-16 | 2012-09-18 | International Business Machines Corporation | Status information saving among multiple computers |
CN102281308B (zh) * | 2010-06-10 | 2016-01-20 | 盛乐信息技术(上海)有限公司 | 智能设备远程服务系统和方法及远程服务接入盒 |
US8704764B2 (en) * | 2011-10-28 | 2014-04-22 | Verizon Patent And Licensing Inc. | Correcting client device inputs to a virtual machine |
GB2505406A (en) * | 2012-08-16 | 2014-03-05 | Realvnc Ltd | A method and system of localising a pointer to the corner of a window when using virtual network computing (VNC) to control a client device. |
JP6089880B2 (ja) * | 2013-03-28 | 2017-03-08 | 富士通株式会社 | 情報処理装置,情報処理方法及び情報処理プログラム |
JP6280435B2 (ja) * | 2014-04-28 | 2018-02-14 | 富士通コンポーネント株式会社 | プログラム、中継装置及び情報処理装置 |
CN109002183B (zh) * | 2017-06-07 | 2022-11-29 | 北京搜狗科技发展有限公司 | 一种信息输入的方法及装置 |
CN112738422B (zh) * | 2020-12-31 | 2022-08-16 | 威创集团股份有限公司 | 一种坐席画面显示系统及其显示方法 |
US11449213B1 (en) * | 2021-02-26 | 2022-09-20 | Citrix Systems, Inc. | Host to client drag-and-drop operation |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03225562A (ja) * | 1990-01-31 | 1991-10-04 | Nec Corp | グラフィックスシステム |
JP2698685B2 (ja) * | 1990-03-27 | 1998-01-19 | 株式会社東芝 | 計算機システム遠隔操作装置 |
JPH05289843A (ja) * | 1992-04-13 | 1993-11-05 | Hitachi Ltd | カーソル制御方法 |
JPH0675695A (ja) | 1992-06-26 | 1994-03-18 | Sanyo Electric Co Ltd | カーソル制御装置 |
EP0657833A2 (en) * | 1993-12-13 | 1995-06-14 | International Business Machines Corporation | Workstation conference pointer-user association mechanism |
JPH10111760A (ja) * | 1996-10-04 | 1998-04-28 | Hitachi Ltd | カーソル制御装置及びそのシステム |
JPH10285450A (ja) * | 1997-04-02 | 1998-10-23 | Sony Corp | 操作量記録装置及びカメラ装置 |
US6115027A (en) * | 1998-02-23 | 2000-09-05 | Hewlett-Packard Company | Synchronized cursor shared among a number of networked computer systems |
ES2263238T3 (es) | 1998-03-30 | 2006-12-01 | F. Hoffmann-La Roche Ag | Procedimiento para la preparacion de antagonistas alfail-adrenoceptores. |
JP2000034384A (ja) * | 1998-07-17 | 2000-02-02 | Otsuka Chem Co Ltd | 樹脂組成物及び摺動部材 |
IL142119A0 (en) * | 1998-09-22 | 2002-03-10 | Cybex Computer Prod Corp | System and method for accessing and operating personal computers remotely |
US6681250B1 (en) * | 2000-05-03 | 2004-01-20 | Avocent Corporation | Network based KVM switching system |
US7424551B2 (en) * | 2001-03-29 | 2008-09-09 | Avocent Corporation | Passive video multiplexing method and apparatus priority to prior provisional application |
US20040215743A1 (en) * | 2003-03-04 | 2004-10-28 | Soronti, Inc. | Mouse synchronization for virtual presence architecture (VPA) |
US8881023B2 (en) * | 2003-07-07 | 2014-11-04 | Avocent Utah | Methods and apparatus for synchronizing virtual and physical mouse pointers on remote KVM systems |
JP2005065944A (ja) * | 2003-08-22 | 2005-03-17 | Konica Minolta Medical & Graphic Inc | 診断支援装置 |
JP2005266951A (ja) * | 2004-03-16 | 2005-09-29 | Fujitsu Component Ltd | 切替え装置およびこの切替え装置を備えるコンピュータシステム |
JP2006197299A (ja) * | 2005-01-14 | 2006-07-27 | Eiji Kamiya | 携帯電話を用いたパソコンの遠隔操作システム |
JP2007065944A (ja) * | 2005-08-31 | 2007-03-15 | Hitachi Ltd | 計算機情報の表示方法およびシステム |
JP4754991B2 (ja) | 2006-02-24 | 2011-08-24 | 三菱重工業株式会社 | 摩擦攪拌接合方法 |
US20070257883A1 (en) * | 2006-05-05 | 2007-11-08 | Aten International Co., Ltd. | Cursor control system and method thereof |
CN100397320C (zh) * | 2006-07-31 | 2008-06-25 | 华为技术有限公司 | 一种kvm切换系统及其鼠标同步方法 |
JP5289843B2 (ja) | 2008-07-04 | 2013-09-11 | 東洋鋼鈑株式会社 | 生体関連分子の相互作用を検出するための方法及びそれに用いる担体支持部材 |
-
2007
- 2007-08-29 JP JP2007222925A patent/JP5127366B2/ja not_active Expired - Fee Related
-
2008
- 2008-08-14 US US12/222,730 patent/US8706922B2/en not_active Expired - Fee Related
- 2008-08-28 KR KR1020080084465A patent/KR100995461B1/ko not_active IP Right Cessation
- 2008-08-28 EP EP08163219.2A patent/EP2031487B1/en not_active Ceased
- 2008-08-28 EP EP08163221.8A patent/EP2031489B1/en not_active Ceased
- 2008-08-28 EP EP08163220.0A patent/EP2031488B1/en not_active Ceased
- 2008-08-29 CN CN2008102124569A patent/CN101377724B/zh not_active Expired - Fee Related
- 2008-08-29 CN CN2010102366279A patent/CN101893941B/zh not_active Expired - Fee Related
- 2008-08-29 CN CN2010102366283A patent/CN101887317B/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516752A (zh) * | 2012-06-25 | 2014-01-15 | 3M创新有限公司 | 一种终端设备及其执行的方法 |
CN103516752B (zh) * | 2012-06-25 | 2017-03-15 | 3M创新有限公司 | 一种终端设备及其执行的方法 |
CN104412252A (zh) * | 2012-07-10 | 2015-03-11 | 阿沃森特亨茨维尔公司 | 使用虚拟媒体客户端并通过远程访问器具来访问远程磁盘镜像的系统和方法 |
CN104067202A (zh) * | 2012-12-31 | 2014-09-24 | 华为技术有限公司 | 鼠标同步的方法、装置和系统 |
CN104067202B (zh) * | 2012-12-31 | 2016-12-28 | 华为技术有限公司 | 鼠标同步的方法、装置和系统 |
CN106843537A (zh) * | 2012-12-31 | 2017-06-13 | 华为技术有限公司 | 鼠标同步的方法、装置和系统 |
CN106843537B (zh) * | 2012-12-31 | 2019-09-03 | 华为技术有限公司 | 鼠标同步的方法、装置和系统 |
CN103220339A (zh) * | 2013-03-27 | 2013-07-24 | 北京奇虎科技有限公司 | 远程操作中的光标轨迹显示方法、装置和系统 |
CN103220339B (zh) * | 2013-03-27 | 2016-01-13 | 北京奇虎科技有限公司 | 远程操作中的光标轨迹显示方法、装置和系统 |
CN105183269A (zh) * | 2014-06-10 | 2015-12-23 | 宏正自动科技股份有限公司 | 自动辨识游标所在屏幕的方法 |
CN105183269B (zh) * | 2014-06-10 | 2018-03-30 | 宏正自动科技股份有限公司 | 自动辨识游标所在屏幕的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2031488B1 (en) | 2016-03-02 |
EP2031487A2 (en) | 2009-03-04 |
JP5127366B2 (ja) | 2013-01-23 |
CN101887317B (zh) | 2012-07-04 |
KR20090023221A (ko) | 2009-03-04 |
EP2031489A3 (en) | 2009-12-23 |
EP2031487B1 (en) | 2013-08-07 |
CN101887317A (zh) | 2010-11-17 |
JP2009054114A (ja) | 2009-03-12 |
EP2031489A2 (en) | 2009-03-04 |
CN101893941A (zh) | 2010-11-24 |
EP2031488A2 (en) | 2009-03-04 |
EP2031489B1 (en) | 2016-02-24 |
US8706922B2 (en) | 2014-04-22 |
CN101893941B (zh) | 2012-11-14 |
CN101377724B (zh) | 2011-05-04 |
EP2031488A3 (en) | 2009-12-23 |
KR100995461B1 (ko) | 2010-11-18 |
US20090058804A1 (en) | 2009-03-05 |
EP2031487A3 (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101377724B (zh) | 信息处理装置、kvm开关和服务器 | |
CN101673146B (zh) | 使用触摸屏的键盘-屏幕-滑鼠切换器 | |
US7978172B2 (en) | Switching device and switching methods of the same | |
CN101639738B (zh) | 操控应用程序的方法与其电子装置 | |
CN110705551A (zh) | 按键位置的识别方法、装置、电子设备和存储介质 | |
CN101853135A (zh) | 一种基于体感装置控制手持电子设备上触摸屏输入界面的方法 | |
CN102981790B (zh) | 显示方法、终端设备以及多终端设备系统 | |
CN117349181A (zh) | 软件测试方法、装置、可读存储介质和电子设备 | |
CN102981641A (zh) | 输入设备、电子设备以及控制光标移动的方法 | |
CN103473170B (zh) | 测试系统及测试方法 | |
CN102402361A (zh) | 基于鼠标的移动轨迹在计算机上进行控制的方法和装置 | |
CN101825970B (zh) | 触控点的追踪方法及追踪系统 | |
CN104461296A (zh) | 一种在pc端共享移动终端的方法及装置 | |
CN106843738A (zh) | 应用切换方法及系统 | |
JP5274688B2 (ja) | 情報処理装置、kvmスイッチ及び制御プログラム | |
CN105760054A (zh) | 一种预测提示方法和装置 | |
CN114144287A (zh) | 画面转换信息生成装置、画面转换信息生成方法、画面转换信息生成用程序以及画面转换信息生成系统 | |
CN106020520A (zh) | 一种信息处理方法和电子设备 | |
JP2021086218A (ja) | 協調作業システム、解析装置および解析プログラム | |
JP5197868B2 (ja) | 情報処理装置、kvmスイッチ及び制御プログラム | |
KR102189690B1 (ko) | 제3자의 테스트 참여가 가능한 제어기 테스트 시스템의 시뮬레이터 및 제3자의 테스트 참여 방법 | |
CN111090355B (zh) | 触控面板装置及其控制方法、存储程序的存储介质 | |
CN110632938B (zh) | 机械输入设备非接触操作的控制系统 | |
JP2023124159A (ja) | 情報処理装置、情報処理方法、情報処理プログラム | |
CN116612628A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110504 Termination date: 20190829 |