KR20090023221A - 정보 처리 장치, kvm 스위치, 서버 및 기록 매체 - Google Patents

정보 처리 장치, kvm 스위치, 서버 및 기록 매체 Download PDF

Info

Publication number
KR20090023221A
KR20090023221A KR1020080084465A KR20080084465A KR20090023221A KR 20090023221 A KR20090023221 A KR 20090023221A KR 1020080084465 A KR1020080084465 A KR 1020080084465A KR 20080084465 A KR20080084465 A KR 20080084465A KR 20090023221 A KR20090023221 A KR 20090023221A
Authority
KR
South Korea
Prior art keywords
cursor
server
information processing
processing apparatus
data
Prior art date
Application number
KR1020080084465A
Other languages
English (en)
Other versions
KR100995461B1 (ko
Inventor
나오유끼 나가오
Original Assignee
후지쯔 콤포넌트 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 콤포넌트 가부시끼가이샤 filed Critical 후지쯔 콤포넌트 가부시끼가이샤
Publication of KR20090023221A publication Critical patent/KR20090023221A/ko
Application granted granted Critical
Publication of KR100995461B1 publication Critical patent/KR100995461B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

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 스위치, 서버 및 제어 프로그램을 제공한다. PC(11a)는, 마우스(14a)로부터 마우스 데이터를 입력받는다. 그리고, PC(11a)는, 마우스 데이터와, 그 마우스 데이터에 따라서 이동하는, 정보 처리 장치의 화면에 표시되는 정보 처리 장치의 커서의 이동량과, 이 정보 처리 장치의 커서의 이동에 따라서 이동하는, 정보 처리 장치의 화면 내에 설치된 윈도우에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력된 마우스 데이터에 기초하여, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 마우스 데이터를 검출하고, 검출된 단일 또는 복수의 마우스 데이터를 서버(2a)에 출력한다.
PC, 마우스 데이터, 커서, 윈도우, USB 인터페이스, 네트워크 인터페이스, 메모리

Description

정보 처리 장치, KVM 스위치, 서버 및 기록 매체{INFORMATION PROCESSING APPARATUS, KVM SWITCH, SERVER AND RECORDING MEDIUM}
본 발명은, 정보 처리 장치의 마우스 커서의 위치와 서버의 마우스 커서의 위치를 일치시키는 정보 처리 장치, KVM 스위치, 서버 및 기록 매체에 관한 것이다.
컴퓨터를 원격 조작하는 수단은, 지금까지 다양한 기술이 개발되어 왔다. 원격 조작하는 데에는, 조작되는 측(서버)과 조작하는 측(리모트 PC)의 2개의 컴퓨터가 필요하다.
원격 조작의 기술로서, 예를 들면, 가까이에 있는 단말기의 디스플레이 상에 표시한 화면의 조작성·시인성을 손상시키지 않고, 원격지의 단말기의 화면 정보와 가까운 단말기의 정보의 양방을 표시하는 시스템(예를 들면, 특허 문헌1 참조), 리모콘 송신기와 촬상 수단의 거리가 서로 달라도, 리모콘 송신기의 이동량에 대한 커서 이동량이 일정하게 되는 커서 제어 장치(예를 들면, 특허 문헌2 참조), 휴대 전화 단말기로부터 원격지에 있는 퍼스널 컴퓨터로 접속하고, 휴대 전화 단말기로부터 컴퓨터를 원격 조작하는 시스템(예를 들면, 특허 문헌2 참조) 등이 알려져 있 다.
또한, 서버에는 원격 조작용 소프트웨어를 인스톨하지 않고, 서버와 리모트 PC와의 접속 경로 사이에 변환기를 배치하고, 그 변환기가, 서버에 접속되는 키보드나 마우스를 대행하는 기술이 알려져 있다(예를 들면, 특허 문헌4 참조).
특허 문헌4의 기술에서는, 리모트 PC에 접속되어 있는 키보드 및 마우스가 출력하는 신호가 디지털 데이터로 변환되고, 변환된 데이터가 회선 상에 전송되어, 서버에서 디지털 데이터를 수취하여 신호로 되돌아가고, 그 신호를 입력받음으로써, 서버는 키보드 및 마우스가 직접 접속되어 있게 동작한다. 나아가서는, 서버가 출력하는 비디오 신호가 디지털 데이터로 변환되고, 변환된 데이터가 회선 상에 전송되어, 리모트 PC가 디지털 데이터를 수취하여 신호로 되돌아가고, 그 신호를 입력받음으로써, 리모트 PC측에 설치된 모니터가 서버에 접속된 모니터이도록 동작한다.
이들 기술을 유용한 다른 기술로서는, 예를 들면, 특허 문헌5의 KVM 스위치를 갖는 시스템이 알려져 있다.
이 특허 문헌5의 시스템은, 특허 문헌4의 기본 개념을 갖고, 리모트 PC가 갖는 윈도우 시스템에서, 하나의 윈도우를 표시 수단으로 하고, 그 윈도우를 키보드·마우스의 데이터의 입력 경로로 하고 있다. 즉, 리모트 PC의 윈도우 내에서 실행한 키보드나 마우스의 조작이, 서버에 반영된다.
[특허 문헌1] 일본 특허 공개 2007-65944호 공보
[특허 문헌2] 일본 특허 공개 평성 6-75695호 공보
[특허 문헌3] 일본 특허 공개 2006-197299호 공보
[특허 문헌4] 일본 특허 2698685호
[특허 문헌5] 일본 특허 공표 2003-534685호 공보
(과제 1)
상기 특허 문헌5의 기술에서는, 리모트 PC가 갖는 윈도우는, 예를 들면, 도 19와 같이 표시된다. 이 경우, 리모트 PC의 윈도우 자체를 조작하기 위한 리모트의 마우스 커서와, 그 윈도우 내부에 표시되는 서버의 마우스 커서의, 2개의 마우스 커서가 존재하게 되는데, 이 때, 리모트 PC가 표시하는 리모트의 마우스 커서의 위치와 리모트 PC가 표시하는 서버의 마우스 커서의 위치가 일치하지 않는 경우가 있다. 이를 커서의 위치 어긋남이라고 칭하고, 위치 어긋남 보정 기능을 사용하여 어긋나지 않도록 수정·대처하는 방법이 알려져 있지만, 여기에는 다음의 문제가 있다.
일반적으로, 윈도우 시스템에서는, 마우스 커서의 가속 처리가 있고, 서버는, 마우스로부터 출력되는 데이터에 가속 계수를 곱하여, 그 마우스 데이터를 크게 하거나 작게 한다. 따라서, 리모트 PC로 조작한 마우스 데이터를 그대로 서버로 전달하는 경우, 서버는, 리모트 PC로부터의 마우스 데이터에 가속 계수를 곱하여, 마우스 데이터를 크게 하거나 작게 한다. 그 때문에, 리모트 PC가 표시하는 리모트의 마우스 커서와 리모트 PC가 표시하는 서버의 마우스 커서는, 여간해서 중 첩하는 일이 없다. 이 때, 리모트 PC의 오퍼레이터는, 2개의 서로 다른 동작을 하는 커서에 당황하게 되어, 정확한 마우스 조작이 저지되어, 스트레스를 느끼게 된다.
그 때문에, 종래는, 조작성을 희생으로 하여, 이 가속 처리를 무효로 하는 것이 기본이었다.
또한, 리모트 PC가 실행하는 위치 어긋남 보정 기능을 정상적으로 실행시키기 위해서도, 이 가속 처리를 금지할 필요가 있다. 위치 어긋남 보정 기능이란, 서버와 리모트 PC의 마우스 커서의 위치 어긋남이 일어나고 있는 경우에, 그 위치 어긋남량이 없어지도록, 리모트 PC로부터 서버에 마우스 데이터를 추가하여 출력함으로써, 서버의 마우스 커서의 위치를 리모트 PC의 마우스 커서의 위치에 강제적으로 이동시키는 수단이다. 이 때, 리모트 PC로부터 서버에 추가 출력되는 마우스 데이터가, 가속 처리를 개시할 것인지의 여부의 기준값, 즉 임계값을 초과하는 경우가 많기 때문에, 서버에서 가속 처리가 유효하면, 서버의 마우스 커서의 이동량은, 원래 이동시키고자 하는 어긋남량을 초과하여 이동하게 되어, 위치 어긋남 보정 기능은 정상적으로 실행되지 않는다.
이와 같이, 종래는, 서버가 실행하는 가속 처리를 무효로 하지 않으면, 서버의 마우스 커서와 리모트 PC의 마우스 커서의 위치 어긋남을 보정할 수 없어, 리모트 PC의 마우스의 오퍼레이터에 대하여 쾌적한 마우스 조작 환경을 제공할 수 없었다.
또한, 위치 어긋남 보정 기능이 유효하기 위해서는, 서버의 가속 처리를 무 효로 할 필요가 있는 것을 설명하였지만, 윈도우 시스템 또는 오퍼레이팅 시스템에 따라서는, 이 가속 처리를 용이하게 무효로 할 수 없는 것이 있다. 이는 UNIX(등록 상표)계 OS에서 이용되는 X-window 시스템이 대표적이다. 가속 처리를 용이하게 무효로 할 수 있는 대표예는, Microsoft사의 Windows(등록 상표)를 들 수 있다.
(과제 2)
또한, 리모트 PC의 오퍼레이터에 당황함을 주지 않도록 하기 위해서, 리모트 PC 내의 서버의 마우스 커서를 표시하는 윈도우 내에서는, 리모트 PC의 리모트의 마우스 커서를 표시하지 않고, 리모트 PC의 마우스를 조작하여도, 서버의 마우스 커서의 움직임만이 표시되도록 리모트 PC를 제어하는 기술이 있다. 그러나, 이 기술에서도 하기의 문제가 생긴다.
일반적으로, 윈도우 시스템에서는, 마우스 커서는 그 마우스 커서의 바로 아래에 있는 윈도우를 조작하도록 구성되어 있고, 또한, 마우스 커서의 표시·비표시의 권한은, 마우스 커서의 바로 아래에 있는 윈도우에 부여되어 있다. 따라서, 리모트 PC의 마우스 커서를 비표시로 할 수 있는 것은, 그 마우스 커서가, 마우스 커서의 비표시를 설정한 윈도우의 바로 위에 있을 때만이다.
즉, 그 마우스 커서가 윈도우의 틀 내를 초과한 순간, 다른 윈도우의 조작을 행하는 것으로서, 리모트 PC의 마우스 커서는 다시 표시된다. 또한, 다시 마우스 커서가, 마우스 커서의 비표시를 설정한 윈도우의 바로 위에 오면, 리모트 PC의 마우스 커서는 표시되지 않게 된다.
여기서, 문제의 근본 원인으로 되는, 마우스로부터 출력되는 데이터(즉 마우 스 데이터)가 갖는 의미를 설명해 둔다. 마우스가 발명되고 나서 현재에 이르기까지, 마우스가 출력하는 데이터(마우스 데이터)는 상대 좌표이다. 상대 좌표는, 이동량이라고도 불린다. 이는, X-Y 좌표에서 X축 방향으로 N 이동하고, Y축 방향으로 M 이동한다고 표현할 수 있는 것이다. 이 N과 M의 오리지날 값은 마우스가 산출하고 있는데, 그 산출 방법에 대해서는 공지의 기술이다.
윈도우의 틀 내를 초과하여, 일단 표시되게 된 리모트 PC의 마우스 커서가, 다시, 마우스 커서의 비표시를 설정한 윈도우의 바로 위로 이동한 순간, 그 마우스 커서는 비표시로 된다. 이 때, 전술한 상대 좌표의 처리의 형편으로부터, 다음의 문제가 발생한다. 이를, 도 20을 이용하여 설명한다.
도 20은, 종래의 리모트 PC의 화면의 일례를 도시하는 도면이다.
도 20에서, 참조 부호 201은, 마우스 커서의 비표시를 설정한 윈도우를 나타내고, 참조 부호 202는, 마우스 커서의 표시를 설정한 다른 윈도우를 나타내고, 참조 부호 203은 리모트 PC의 화면을 나타낸다. 참조 부호 204는 서버의 마우스 커서를 나타내고, 참조 부호 205는 리모트 PC의 마우스 커서를 나타낸다. 윈도우(201)에는, 서버의 화면이 표시된다.
서버의 마우스 커서(204)는, 초기 상태에서 위치 a에 있는 것으로 하고, 리모트 PC의 마우스 커서(205)는, 초기 상태에서 위치 A에 있는 것으로 한다.
서버의 마우스 커서(204)는, 리모트 PC의 마우스 커서(205)의 움직임에 맞추어서 이동한다. 이 때, 윈도우(201)의 바로 위에 리모트 PC의 마우스 커서가 있을 때는, 리모트 PC의 마우스 커서는 비표시이다. 즉, 리모트 PC의 마우스 커서(205) 가 위치 A, F, G에 있을 때에는, 비표시로 된다.
다음으로, 리모트 PC의 마우스 커서(205)가 위치 A로부터 위치 B로 이동하면, 이와 연동하여, 서버의 마우스 커서(204)는, 위치 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까지 이동시키는 것이 불가능해진다.
이와 같이, 서버의 마우스 커서(204)가 표시되는 윈도우에서, 리모트 PC의 마우스 커서(205)를 비표시로 설정하여도, 서버의 마우스 커서(204)와 리모트 PC의 마우스 커서(205)의 위치 어긋남에 의해, 리모트 PC의 마우스의 오퍼레이터에 대하여 쾌적한 마우스 조작 환경을 제공할 수 없었다.
(과제 3)
또한, 과제 2와 마찬가지의 문제가 생기는 케이스를 설명한다.
서버의 화면을 리모트 PC로부터 조작할 때, 한명의 오퍼레이터가 조작한다고는 할 수 없다. 즉, 서버의 화면은, 리모트 PC 외에, 로컬에서도 조작하는 경우가 있다. 로컬이란, 서버에 직접, 키보드, 마우스 및 모니터를 접속하여, 서버의 화면을 조작하는 환경이다.
도 21의 (A)는, 종래의 로컬의 화면의 일례를 도시하는 도면이며, 도 21의 (B)는, 종래의 리모트의 화면의 일례를 도시하는 도면이다.
도 21에서, 참조 부호 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의 오퍼레이터는, 리모트 PC의 마우스 커서(205)를 Vcd의 방향으로 움직일 필요가 있다. 이 예에서는, 리모트 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)의 위치 어긋남에 의해, 쾌적한 마우스 조작 환경을 제공할 수 없었다.
(과제 4)
다음으로, 리모트 PC의 마우스 커서(205)가 윈도우(201)의 내부로부터 외부로 일단 나오고, 다시 윈도우(201)의 외부로부터 내부로 들어가는 경우의 문제점을, 도 22를 이용하여 설명한다.
도 22는, 종래의 리모트 PC의 화면의 일례를 도시하는 도면이다.
도 22에서, 참조 부호 201은, 마우스 커서의 비표시를 설정한 윈도우를 나타내고, 참조 부호 202는, 마우스 커서의 표시를 설정한 다른 윈도우를 나타내고, 참조 부호 203은 리모트 PC의 화면을 나타낸다. 참조 부호 204는 서버의 마우스 커서를 나타내고, 참조 부호 205는 리모트 PC의 마우스 커서를 나타낸다.
초기 상태에서는, 서버의 마우스 커서(204)는 위치 a에 있고, 리모트 PC의 마우스 커서(205)는, 위치 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의 오퍼레이터는, 수동으로 위치 어긋남 보정 기능을 온으로 하여, 서버의 마우스 커서(204)의 위치 i'를 위치 i로 강제 이동시키면, 리모트 PC의 마우스 커서(205)와 서버의 마우스 커서(204)에는 위치 어긋남이 없어져, 올바르게 조작할 수 있다.
이와 같이, 리모트 PC의 마우스 커서(205)가 윈도우(201)의 내부로부터 외부로 일단 나오고, 다시 윈도우(201)의 외부로부터 내부로 들어가는 경우에는, 위치 어긋남 보정 기능을 실행하지 않는 한, 서버의 마우스 커서(204)와 리모트 PC의 마우스 커서(205)의 위치 어긋남에 의해, 리모트 PC의 마우스의 오퍼레이터에 대하여 쾌적한 마우스 조작 환경을 제공할 수 없었다.
본 발명은, 상기 과제를 감안하여 이루어진 것으로, 그 목적은, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공하는 것이 가능한 정보 처리 장치, KVM 스위치, 서버 및 제어 프로그램을 제공하는 데에 있다.
상기 목적을 달성하기 위해서, 본 발명의 정보 처리 장치는, 조작 부재로부터 조작 데이터를 입력받는 입력 수단과, 상기 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 조작 데이터에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단과, 상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다. 또한, 입력 수단의 일례는, 도 2의 (B)의 USB 인터페이스(38)이고, 검출 수단의 일례는, 도 5의 (A), 도 6 및 도 8의 (A), (B)의 처리를 실행하는 CPU(31)이고, 출력 수단의 일례는, 도 2의 (B)의 네트워크 인터페이스(37)이다.
바람직하게는, 상기 검출 수단은, 상기 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 커서의 이동량을 산출하는 제1 산출 수단과, 상기 서버의 커서의 화상을 추출하는 추출 수단과, 상기 조작 데이터에 따라서 이동하는 상기 추출된 서버의 커서의 화상의 이동 후의 위치를 검출하는 위치 검출 수단과, 상기 추출된 서버의 커서의 화상의 이동 전의 위치와 상기 검출된 서버의 커서의 화상의 이동 후의 위치에 기초하여, 상기 서버의 커서의 이동량을 산출하는 제2 산출 수단과, 상기 조작 데이터와, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제1 작성 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제1 테이블 데이터에 기초하여, 정보 처리 장치의 커 서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출할 수 있다. 또한, 제1 산출 수단의 일례는, 도 6의 스텝 S13의 처리를 실행하는 CPU(31)이고, 추출 수단의 일례는, 도 6의 스텝 S11의 처리를 실행하는 CPU(31)이고, 위치 검출 수단의 일례는, 도 6의 스텝 S14의 처리를 실행하는 CPU(31)이고, 제2 산출 수단의 일례는, 도 6의 스텝 S15의 처리를 실행하는 CPU(31)이고, 제1 작성 수단의 일례는, 도 6의 스텝 S16의 처리를 실행하는 CPU(31)이다. 제1 테이블 데이터의 일례는 도 7의 (A) 또는 도 7의 (B)의 테이블 데이터이다.
보다 바람직하게는, 정보 처리 장치는, 상기 제1 테이블 데이터에 기초하여, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제2 작성 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 테이블 데이터를 이용함으로써, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 신속하게 서버에 출력할 수 있다. 또한, 제2 작성 수단의 일례는, 도 7의 (C)의 테이블 데이터를 작성하는 CPU(31)이다.
바람직하게는, 상기 검출 수단은, 상기 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 커서의 이동량을 산출하는 제3 산출 수단과, 오퍼레이터의 조 작에 의해 상기 서버의 커서의 이동 후의 좌표를 검출하는 좌표 검출 수단과, 상기 좌표 검출 수단에 의해 검출되는 전회의 좌표와 금회의 좌표에 기초하여, 상기 서버의 커서의 이동량을 산출하는 제4 산출 수단과, 상기 조작 데이터와, 상기 제3 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제4 산출 수단에 의해 산출된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제3 작성 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제1 테이블 데이터에 기초하여, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출할 수 있다. 또한, 제3 산출 수단의 일례는, 도 11의 스텝 S62의 처리를 실행하는 CPU(31)이고, 좌표 검출 수단의 일례는, 도 11의 스텝 S63의 처리를 실행하는 CPU(31)이고, 제4 산출 수단의 일례는, 도 11의 스텝 S64의 처리를 실행하는 CPU(31)이고, 제3 작성 수단의 일례는, 도 11의 스텝 S65의 처리를 실행하는 CPU(31)이다. 제1 테이블 데이터의 일례는 도 7의 (A) 또는 도 7의 (B)의 테이블 데이터이다.
보다 바람직하게는, 정보 처리 장치는, 상기 제1 테이블 데이터에 기초하여, 상기 제3 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제4 산출 수단에 의해 산출된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제4 작성 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 테이블 데이터를 이용함으로써, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 신속하게 서버에 출력할 수 있다. 또한, 제4 작성 수단의 일례는, 도 7의 (C)의 테이블 데이터를 작성하는 CPU(31)이다.
더 바람직하게는, 정보 처리 장치는, 상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 KVM 스위치 또는 상기 서버로부터 수신하는 수신 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, KVM 스위치 또는 서버로부터 수신하는 제1 테이블 데이터 또는 제2 테이블 데이터를 이용할 수 있다. 또한, 수신 수단의 일례는, 네트워크 인터페이스(37)이다.
더 바람직하게는, 정보 처리 장치는, 상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 KVM 스위치 또는 상기 서버에 송신하는 송신 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, KVM 스위치 또는 서버에 제1 테이블 데이터 또는 제2 테이블 데이터를 송신할 수 있다. 또한, 송신 수단의 일례는, 네트워크 인터페이스(37)이다.
바람직하게는, 정보 처리 장치는, 상기 정보 처리 장치의 커서의 이동 범위를, 상기 서버의 커서가 표시되는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우 내에 제한하는 제한 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 서버의 커서가 표시되는 정보 처리 장치의 화면 내에 설치된 윈도우 내에서, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다. 또한, 제한 수단의 일례는, 도 12의 (A)의 스텝 S72의 처리를 실행하는 CPU(31)이다.
보다 바람직하게는, 정보 처리 장치는, 상기 정보 처리 장치의 커서의 이동 범위의 제한을 유효로 할지 또는 무효로 할지를 선택하는 선택 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 오퍼레이터는, 정보 처리 장치의 커서의 이동 범위의 제한을 유효로 할지 또는 무효로 할지를 선택할 수 있다. 또한, 선택 수단의 일례는, 도 12의 (A)의 스텝 S71의 처리를 실행하는 CPU(31), 및 키보드(13a)의 펑션 키 또는 메뉴 표시이다.
상기 목적을 달성하기 위해서, 본 발명의 정보 처리 장치는, 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 표시하는 정보 처리 장치로서, 상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환된 시점의 상기 정보 처리 장치의 커서의 위치를 보존하는 보존 수단과, 상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 취득하는 취득 수단과, 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환한 후, 상기 제2 조작 부재가 조작되면, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 현재의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 서버의 커서가 KVM 스위치에 접속되는 제1 조작 부재에 의해 이동된 경우에도, 제1 조작 부재의 조작으로부터 제2 조작 부재의 조작으로 절환한 후, 제2 조작 부재가 조작되었을 때에, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 또한, 보존 수단의 일례는, 도 14의 (A)의 스텝 S81의 처리를 실행하는 CPU(31) 및 HDD(34)이고, 취득 수단의 일례는, 도 14의 (A)의 스텝 S83의 처리를 실행하는 CPU(31) 및 네트워크 인터페이스(37)이고, 제어 수단의 일례는, 도 14의 (A)의 스텝 S84∼S87의 처리를 실행하는 CPU(31)이다.
바람직하게는, 상기 보존 수단은, 상기 정보 처리 장치의 커서의 이동량과, 상기 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는, 상기 제2 조작 부재로부터 출력되는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 테이블 데이터를 갖고, 상기 제어 수단은, 상기 테이블 데이터에 기초하여 상기 합산값에 대응하는 단일 또는 복수의 조작 데이터를 상기 서버에 출력하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치 및 서버에서, 소위 커서의 가속 처리가 행해지는 경우에도, 제1 조작 부재의 조작에 의해 제2 조작 부재의 조작으로 절환한 후, 제2 조작 부재가 조작되었을 때에, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 또한, 테이블 데이터의 일례는, 도 7의 (C)의 테이블 데이터이다.
바람직하게는, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값은, 상기 서버의 커서의 화상을 추출하고, 상기 제1 조작 부재의 조작에 의해 이동하는 상기 추출된 서버의 커서의 화상의 이동 후의 위치를 검출하고, 상기 추출된 서버의 커서의 화상의 이동 전의 위치와 상기 검출된 서버의 커서의 화상의 이동 후의 위치에 기초하여, 상기 서버의 커서의 이동량을 산출함으로써 구해지는 산출값인 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치에서 표시되는 서버의 커서의 화상으로부터, KVM 스위치로부터 서버에 출력된 데이터의 누적값을 취득할 수 있다.
상기 목적을 달성하기 위해서, 본 발명의 정보 처리 장치는, 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 포함하는 윈도우를 표시하는 정보 처리 장치로서, 상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 보존하는 보존 수단과, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 조작 부재의 조작에 의해 정보 처리 장치의 커서가 윈도우의 외부로 이동하고, 외부로부터 윈도우에 도달한 경우에도, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 또한, 보존 수단의 일례는, 도 17의 스텝 S111의 처리를 실행하는 CPU(31) 및 HDD(34)이고, 제어 수단의 일례는, 도 17의 스텝 S115의 처리를 실행하는 CPU(31)이다.
바람직하게는, 상기 제어 수단은, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부의 이동 중에, 상기 제1 조작 부재의 조작에 의해 상기 서버의 커서가 이동된 경우에는, 상기 서버의 커서의 이동 전의 좌표와 이동 후의 좌표의 차분을 산출하고, 그 차분을 상기 보존 수단에 보존하고, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분과 상기 보존된 차분을 합성하고, 그 합성값을 상기 서버에 출력하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서가 윈도우의 외부의 이동 중에, 제1 조작 부재의 조작에 의해 서버의 커서가 이동된 경우에도, 정보 처리 장치 의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 상기 제어 수단의 실행 내용은, 도 17의 스텝 S113, S114의 처리에 대응한다.
상기 목적을 달성하기 위해, 본 발명의 KVM 스위치는, 조작 부재가 접속된 정보 처리 장치와 서버 사이에 접속되는 KVM 스위치로서, 상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단과, 상기 조작 부재로부터 출력되는 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단과, 상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다. 또한, 입력 수단의 일례는, 도 3의 네트워크 I/F(104a, 104b)이고, 검출 수단의 일례는, 도 5의 (B), 도 6 및 도 8의 (A), (B)의 처리를 실행하는 컨트롤러(101)이고, 출력 수단의 일례는, 도 3의 I/F(103a, 103b)이다.
바람직하게는, 상기 검출 수단은, 상기 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 커서의 이동량을 산출하는 제1 산출 수단과, 상기 서버의 커서의 화상을 추출하는 추출 수단과, 상기 조작 데이터에 따라서 이동하는 상기 추출된 서버의 커서의 화상의 이동 후의 위치를 검출하는 위치 검출 수단과, 상기 추출된 서버의 커서의 화상의 이동 전의 위치와 상기 검출된 서버의 커서의 화상의 이동 후의 위치에 기초하여, 상기 서버의 커서의 이동량을 산출하는 제2 산출 수단과, 상기 조작 데이터와, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제1 작성 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제1 테이블 데이터에 기초하여, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출할 수 있다. 또한, 제1 산출 수단의 일례는, 도 6의 스텝 S13의 처리를 실행하는 컨트롤러(101)이고, 추출 수단의 일례는, 도 6의 스텝 S11의 처리를 실행하는 컨트롤러(101)이고, 위치 검출 수단의 일례는, 도 6의 스텝 S14의 처리를 실행하는 컨트롤러(101)이고, 제2 산출 수단의 일례는, 도 6의 스텝 S15의 처리를 실행하는 컨트롤러(101)이고, 제1 작성 수단의 일례는, 도 6의 스텝 S16의 처리를 실행하는 컨트롤러(101)이다. 제1 테이블 데이터의 일례는 도 7의 (A) 또는 도 7의 (B)의 테이블 데이터이다.
보다 바람직하게는, KVM 스위치는, 상기 제1 테이블 데이터에 기초하여, 상 기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제2 작성 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 테이블 데이터를 이용함으로써, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 신속하게 서버에 출력할 수 있다. 또한, 제2 작성 수단의 일례는, 도 7의 (C)의 테이블 데이터를 작성하는 컨트롤러(101)이다.
더 바람직하게는, KVM 스위치는, 상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 서버로부터 수신하는 수신 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치 또는 서버로부터 수신하는 제1 테이블 데이터 또는 제2 테이블 데이터를 이용할 수 있다. 또한, 수신 수단의 일례는, 도 3의 네트워크 I/F(104a, 104b) 또는 도 3의 I/F(103a, 103b)이다.
더 바람직하게는, KVM 스위치는, 상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 서버에 송신하는 송신 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치 또는 서버에 제1 테이블 데이터 또는 제2 테이블 데이터를 송신할 수 있다. 또한, 송신 수단의 일례는, 도 3의 네트워 크 I/F(104a, 104b) 또는 도 3의 I/F(103a, 103b)이다.
바람직하게는, KVM 스위치는, 상기 정보 처리 장치의 커서의 이동 범위를, 상기 서버의 커서가 표시되는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우 내에 제한하는 제한 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 서버의 커서가 표시되는 정보 처리 장치의 화면 내에 설치된 윈도우 내에서, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다. 또한, 제한 수단의 일례는, 도 12의 (B)의 스텝 S72a의 처리를 실행하는 컨트롤러(101)이다.
바람직하게는, KVM 스위치는, 상기 정보 처리 장치의 커서의 이동 범위의 제한을 유효로 할지 또는 무효로 할지를 선택하는 선택 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 오퍼레이터는, 정보 처리 장치의 커서의 이동 범위의 제한을 유효로 할지 또는 무효로 할지를 선택할 수 있다. 또한, 선택 수단의 일례는, 도 12의 (B)의 스텝 S71a의 처리를 실행하는 컨트롤러(101), 및 KVM 스위치 상의 소정의 스위치 또는 메뉴 표시이다.
상기 목적을 달성하기 위해서, KVM 스위치는, 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치로서, 상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하여 보존함과 함께 상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 보존하는 보존 수단과, 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하고, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 서버의 커서가 KVM 스위치에 접속되는 제1 조작 부재에 의해 이동된 경우에도, 제1 조작 부재의 조작으로부터 제2 조작 부재의 조작으로 절환한 후, 제2 조작 부재가 조작되었을 때에, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 보정 가능하여, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 또한, 보존 수단의 일례는, 도 15의 스텝 S101, S102의 처리를 실행하는 컨트롤러(101) 및 메모리(105)이고, 제어 수단의 일례는, 도 15의 스텝 S103∼S106의 처리를 실행하는 컨트롤러(101)이다.
바람직하게는, 상기 보존 수단은, 상기 정보 처리 장치의 커서의 이동량과, 상기 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는, 상기 제2 조작 부재로부터 출력되는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 테이블 데이터를 갖고, 상기 제어 수단은, 상기 테이블 데이터에 기초하여 상기 합산값에 대응하는 단일 또는 복수의 조작 데이터를 상기 서버에 출력하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치 및 서버에서, 소위 커서의 가속 처리가 행해지는 경우에도, 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환한 후, 제2 조작 부재가 조작되었을 때에, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 또한, 테이블 데이터의 일례는, 도 7의 (C)의 테이블 데이터이다.
상기 목적을 달성하기 위해서, KVM 스위치는, 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치로서, 상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 상기 정보 처리 장치로부터 취득하여 보존하는 보존 수단과, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표를 상기 정보 처리 장치로부터 취득하고, 그 취득된 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 조작 부재의 조작에 의해 정보 처리 장치의 커서가 윈도우의 외부로 이동하고, 외부로부터 윈도우에 도달한 경우에도, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 또한, 보존 수단의 일례는, 도 18의 스텝 S121의 처리를 실행하는 컨트롤러(101) 및 메모리(105)이고, 제어 수단의 일례는, 도 18의 스텝 S125의 처리를 실행하는 컨트롤러(101)이다.
바람직하게는, 상기 제어 수단은, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부의 이동 중에, 상기 제1 조작 부재의 조작에 의해 상기 서버의 커서가 이동된 경우에는, 상기 서버의 커서의 이동 전의 좌표와 이동 후의 좌표의 차분을 산출하고, 그 차분을 상기 보존 수단에 보존하고, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표를 상기 정보 처리 장치로부터 취득하고, 그 취득된 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분과 상기 보존된 차분을 합성하고, 그 합성값을 상기 서버에 출력하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서가 윈도우의 외부의 이동 중에, 제1 조작 부재의 조작에 의해 서버의 커서가 이동된 경우에도, 정보 처리 장치 의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다. 상기 제어 수단의 실행 내용은, 도 18의 스텝 S123, S124의 처리에 대응한다.
상기 목적을 달성하기 위해, 본 발명의 서버는, 조작 부재가 접속된 정보 처리 장치와 KVM 스위치를 통하여 접속되는 서버로서, 상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단과, 상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터의 입력순에 기초하여, 상기 조작 부재로부터 출력되는 조작 데이터를 결정하는 결정 수단과, 상기 결정된 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단과, 상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터에 기초하여 상기 서버의 커서를 이동시키는 이동 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다. 또한, 입력 수단의 일례는, 도 2의 (A)의 USB 인터페이스(28)이고, 결정 수단 및 이동 수단의 일례는 도 2의 (A)의 CPU(21)이고, 검출 수단의 일례는 도 9의 (A), (B)의 처리를 실행하는 CPU(21)이다.
바람직하게는, 상기 검출 수단은, 상기 입력 수단에 의해 입력된 정보 처리 장치의 커서의 이동량의 데이터에 가속 처리를 실시하여, 상기 서버의 커서의 이동량을 취득하는 취득 수단과, 상기 결정 수단에 의해 결정된 조작 데이터와, 상기 입력 수단에 의해 입력된 정보 처리 장치의 커서의 이동량과, 상기 취득 수단에 의해 취득된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제1 작성 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제1 테이블 데이터에 기초하여, 정보 처리 장치의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출할 수 있다. 또한, 취득 수단의 일례는, 도 9의 (B)의 스텝 S42의 처리를 실행하는 CPU(21)이고, 제1 작성 수단의 일례는, 도 9의 (B)의 스텝 S43의 처리를 실행하는 CPU(21)이다. 제1 테이블 데이터의 일례는 도 7의 (A) 또는 도 7의 (B)의 테이블 데이터이다.
보다 바람직하게는, 서버는, 상기 제1 테이블 데이터에 기초하여, 상기 입력 수단에 의해 입력된 정보 처리 장치의 커서의 이동량과, 상기 취득 수단에 의해 취득된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제2 작성 수단을 더 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 테이블 데이터를 이용함으로써, 정보 처리 장치 의 커서의 이동량과 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 신속하게 검출할 수 있어, 서버의 커서를 신속하게 이동시킬 수 있다. 또한, 제2 작성 수단의 일례는, 도 7의 (C)의 테이블 데이터를 작성하는 CPU(21)이다.
더 바람직하게는, 서버는, 상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 KVM 스위치로부터 수신하는 수신 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치 또는 KVM 스위치로부터 수신하는 제1 테이블 데이터 또는 제2 테이블 데이터를 이용할 수 있다. 또한, 수신 수단의 일례는, USB 인터페이스(28)이다.
더 바람직하게는, 상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 KVM 스위치에 송신하는 송신 수단을 구비하는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치 또는 KVM 스위치에 제1 테이블 데이터 또는 제2 테이블 데이터를 송신할 수 있다. 또한, 송신 수단의 일례는, USB 인터페이스(28)이다.
상기 목적을 달성하기 위해서, 본 발명의 제어 프로그램은, 정보 처리 장치를, 조작 부재로부터 조작 데이터를 입력받는 입력 수단, 상기 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상 기 정보 처리 장치의 화면 내에 설치된 윈도우에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 조작 데이터에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단, 및 상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다.
상기 목적을 달성하기 위해서, 본 발명의 제어 프로그램은, 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 표시하는 정보 처리 장치를, 상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환된 시점의 상기 정보 처리 장치의 커서의 위치를 보존하는 보존 수단, 상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 취득하는 취득 수단, 및 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환한 후, 상기 제2 조작 부재가 조작되면, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 현재 의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 서버의 커서가 KVM 스위치에 접속되는 제1 조작 부재에 의해 이동된 경우에도, 제1 조작 부재의 조작으로부터 제2 조작 부재의 조작으로 절환한 후, 제2 조작 부재가 조작되었을 때에, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다.
상기 목적을 달성하기 위해서, 본 발명의 제어 프로그램은, 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 포함하는 윈도우를 표시하는 정보 처리 장치를, 상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 보존하는 보존 수단, 및 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 조작 부재의 조작에 의해 정보 처리 장치의 커서 가 윈도우의 외부로 이동하고, 외부로부터 윈도우에 도달한 경우에도, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다.
상기 목적을 달성하기 위해, 본 발명의 제어 프로그램은, 조작 부재가 접속된 정보 처리 장치와 서버 사이에 접속되는 KVM 스위치를, 상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단, 상기 조작 부재로부터 출력되는 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단, 및 상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다.
상기 목적을 달성하기 위해서, 본 발명의 제어 프로그램은, 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치를, 상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하여 보존함과 함께 상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 보존하는 보존 수단, 및 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하고, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 서버의 커서가 KVM 스위치에 접속되는 제1 조작 부재에 의해 이동된 경우에도, 제1 조작 부재의 조작으로부터 제2 조작 부재의 조작으로 절환한 후, 제2 조작 부재가 조작되었을 때에, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다.
상기 목적을 달성하기 위해서, 본 발명의 제어 프로그램은, 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부 재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치로서, 상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 상기 정보 처리 장치로부터 취득하여 보존하는 보존 수단, 및 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표를 상기 정보 처리 장치로부터 취득하고, 그 취득된 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 제2 조작 부재의 조작에 의해 정보 처리 장치의 커서가 윈도우의 외부로 이동하고, 외부로부터 윈도우에 도달한 경우에도, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남을 보정할 수 있어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 제2 조작 부재의 조작 환경을 제공할 수 있다.
상기 목적을 달성하기 위해, 본 발명의 제어 프로그램은, 조작 부재가 접속된 정보 처리 장치와 KVM 스위치를 통하여 접속되는 서버를, 상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단, 상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터의 입력순에 기초하여, 상기 조작 부재로부터 출력되는 조작 데이터를 결정하는 결정 수단, 상기 결정된 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단, 및 상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터에 기초하여 상기 서버의 커서를 이동시키는 이동 수단으로서 기능시키는 것을 특징으로 한다.
이러한 구성에 따르면, 정보 처리 장치의 커서와 서버의 커서의 위치 어긋남이 발생하는 일이 없어, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다.
본 발명에 따르면, 정보 처리 장치의 오퍼레이터에 대하여 쾌적한 조작 부재의 조작 환경을 제공할 수 있다.
이하, 도면을 참조하면서 본 발명의 실시 형태를 설명한다.
<제1 실시 형태>
도 1은, 본 발명의 제1 실시 형태에 따른 KVM(K: 키보드, V: 비디오, M: 마우스) 스위치, 정보 처리 장치, 및 서버를 구비하는 KVM 시스템의 구성도이다.
도 1에 도시한 바와 같이, KVM 시스템(1000)은, KVM 스위치(K: 키보드, V: 비디오, M: 마우스)(1), 서버(2a, 2b), 모니터(3), 키보드(4), 및 마우스(5)를 구비하고 있다. 이들은, 로컬 시스템을 구성하고 있다. 즉, 모니터(3)는, 서버(2a) 또는 서버(2b)가 출력하는 비디오 신호를 표시할 수 있고, 키보드(4) 및 마우스(5)는, 서버(2a) 또는 서버(2b)에 데이터를 출력할 수 있다.
또한, 멀티 모니터 대응 절환 시스템(1000)은, 모니터(12a), 키보드(13a) 및 마우스(14a)가 접속되어 있는 PC(11a)와, 모니터(12b∼12e), 키보드(13b) 및 마우스(14b)가 접속되어 있는 PC(11b)를 구비하고 있다. PC(11a) 및 PC(11b)는 네트워크(10)를 통하여 KVM 스위치(1)에 접속되는 원격 단말기로서, 소위 리모트 시스템을 구성하고 있다. 즉, 유저는, PC(11a) 또는 PC(11b) 상에서 동작하고 있는 원격 조작 어플리케이션으로부터, 네트워크(10) 및 KVM 스위치(1)를 통하여 서버(2a) 또는 서버(2b)를 조작할 수 있다.
또한, KVM 스위치(1)에 접속되는 서버 또는 원격 단말기(PC)는 단수이어도 복수이어도 된다.
도 2의 (A)는, 서버(2a)의 하드웨어 구성을 도시하는 블록도이고, 도 2의 (B)는, PC(11a)의 하드웨어 구성을 도시하는 블록도이다. 또한, 서버(2b)의 하드웨어 구성은 서버(2a)의 하드웨어 구성과 동일하고, PC(11b)의 하드웨어 구성은 PC(11a)의 하드웨어 구성과 동일하다.
서버(2a)는, 장치 전체를 제어하는 CPU(21), 제어 프로그램을 구비하는 ROM(22), 워킹 에리어로서 기능하는 RAM(23), 각종 정보나 프로그램을 구비하는 하드디스크 드라이브(HDD)(24), 비디오 신호를 출력하기 위한 비디오 인터페이 스(26), 네트워크 인터페이스(27) 및 USB(universal serial bus) 인터페이스(28)를 구비하고 있다. CPU(21)는 시스템 버스(29)를 통하여 ROM(22), RAM(23), 하드디스크 드라이브(HDD)(24), 비디오 인터페이스(26), 네트워크 인터페이스(27) 및 USB 인터페이스(28)에 접속되어 있다. USB 인터페이스(28)는, KVM 스위치(1)와 접속하기 위해 사용되고, 또한 후술하는 도 7의 (A)∼(C)의 테이블 데이터를 KVM 스위치(1) 또는 PC(11a, 11b)에 송신할 때에 사용됨과 함께 도 7의 (A)∼(C)의 테이블 데이터를 KVM 스위치(1) 또는 PC(11a, 11b)로부터 수신할 때에 사용된다.
PC(11a)는, 장치 전체를 제어하는 CPU(31), 제어 프로그램을 구비하는 ROM(32), 워킹 에리어로서 기능하는 RAM(33), 각종 정보나 프로그램을 구비하는 하드디스크 드라이브(HDD)(34), 비디오 신호를 출력하기 위한 비디오 인터페이스(36), KVM 스위치(1) 또는 다른 컴퓨터와 접속하기 위한 네트워크 인터페이스(37), 및 도시되지 않은 USB 기기와 접속하기 위한 USB(universal serial bus) 인터페이스(38)를 구비하고 있다. CPU(31)는 시스템 버스(39)를 통하여 ROM(32), RAM(33), 하드디스크 드라이브(HDD)(34), 비디오 인터페이스(36), 네트워크 인터페이스(37) 및 USB 인터페이스(38)에 접속되어 있다.
모니터(12a)는 비디오 인터페이스(36)에 접속되고, 키보드(13a) 및 마우스(14a)는 USB 인터페이스(38)에 접속되어 있다. 네트워크 인터페이스(37)는 KVM 스위치(1)와 접속하기 위하여 사용되고, 또한 후술하는 도 7의 (A)∼(C)의 테이블 데이터를 KVM 스위치(1) 또는 서버(2a, 2b)에 송신할 때에 사용됨과 함께 도 7의 (A)∼(C)의 테이블 데이터를 KVM 스위치(1) 또는 서버(2a, 2b)로부터 수신할 때에 사용된다.
도 3은, KVM 스위치(1)의 하드웨어 구성을 도시하는 블록도이다.
KVM 스위치(1)는, 스위치 전체의 동작을 제어하는 컨트롤러(101), 비디오 신호의 출력처나 마우스 또는 키보드의 데이터의 입력처를 절환하는 스위칭 회로(102), 서버(2a, 2b)와 각각 접속하기 위한 인터페이스(I/F)(103a, 103b), 네트워크(10)를 통하여 PC(11a, 11b)와 접속하기 위한 네트워크 인터페이스(I/F)(104a, 104b), 모니터(3)와 접속하기 위한 비디오 인터페이스(I/F)(106), 및 키보드(4) 및 마우스(5)와 접속하기 위한 키보드·마우스 인터페이스(I/F)(107)를 구비하고 있다. 컨트롤러(101)는 각종 제어 프로그램이나 데이터 등을 저장하는 메모리(105)를 구비하고 있다.
인터페이스(I/F)(103a, 103b)는, 후술하는 도 7의 (A)∼(C)의 테이블 데이터를 서버(2a, 2b)에 각각 송신할 때에 사용됨과 함께 도 7의 (A)∼(C)의 테이블 데이터를 서버(2a, 2b)로부터 각각 수신할 때에 사용된다. 네트워크 인터페이스(I/F)(104a, 104b)는, 후술하는 도 7의 (A)∼(C)의 테이블 데이터를 PC(11a, 11b)에 각각 송신할 때에 사용됨과 함께 도 7의 (A)∼(C)의 테이블 데이터를 PC(11a, 11b)로부터 각각 수신할 때에 사용된다.
이하의 설명에서는, 서버의 대표예로서 서버(2a)를 사용하고, 원격 단말기의 대표예로서 PC(11a)를 사용하지만, 서버나 원격 단말기를 이들에 한정하는 것은 아니다.
본 실시 형태에서는, 서버(2a)의 마우스 커서의 가속 처리에 좌우되지 않는 위치 어긋남 보정 기능을 실현하기 위해서, PC(11a) 또는 KVM 스위치(1)가 마우스(14a)가 출력하는 마우스 데이터 그 자체를 보정하기 위한 테이블 데이터(도 7의 (A)∼(C) 참조)를 자동 작성하는 기능을 갖는다. 또한, 위치 어긋남 보정 기능이란, PC(11a)가 표시하는 PC(11a)의 마우스 커서의 위치와 PC(11a)가 표시하는 서버(2a)의 마우스 커서의 위치가 일치하지 않는 경우에, 이들 마우스 커서의 위치를 일치시키는 보정을 실행하는 기능이다.
우선, 마우스 데이터를 보정하기 위한 테이블 데이터를 자동 작성하는 제1 기능을 설명한다.
도 4의 (A)는, 서버(2a)의 화면의 일례를 도시하는 도면이며, 도 4의 (B)는, (A)의 부분 확대도이며, 도 4의 (C)는, PC(11a)의 화면의 일례를 도시하는 도면이다. 또한, 도 5의 (A) 및 도 5의 (B)는, 위치 어긋남 보정 기능을 나타내는 플로우차트이다.
도 4의 (A)에서, 참조 부호 121은 서버(2a)의 화면을 나타내고, 참조 부호 122는 서버(2a)의 마우스 커서를 나타낸다. 도 4의 (C)에서, 참조 부호 123은 PC(11a)의 화면을 나타내고, 참조 부호 126은, PC(11a)의 마우스 커서를 나타낸다. 참조 부호 124는, PC(11a)의 마우스 커서(126)의 비표시를 설정한 윈도우를 나타내고, 참조 부호 125는, 마우스 커서의 표시를 설정한 다른 윈도우를 나타낸다. 윈도우(124)에는, 서버(2a)의 화면이 표시되고, 서버(2a)의 마우스 커서(122)가 표시되어 있다. 윈도우(124)나 윈도우(125)에서의 마우스 커서의 표시/비표시는, PC(11a)의 오퍼레이팅 시스템에 의해 설정할 수 있다.
초기 상태에서는, 도 4의 (A)에 도시한 바와 같이, 서버(2a)의 마우스 커서(122)는, 화면(121)의 어느 위치에 있어도 되지만, 예를 들면, 위치 a에 있는 것으로 한다. 또한, 도 4의 (C)에 도시한 바와 같이, PC(11a)의 마우스 커서(126)는 화면(123)의 어느 위치에 있어도 되지만, 예를 들면, 위치 A에 있는 것으로 한다. PC(11a)의 마우스 커서(126)는, 예를 들면, 윈도우(125)의 바로 위에 있었다고 하여도, 본 처리에서는 윈도우(124)의 바로 위로 이동시키게 되기 때문에, PC(11a)의 마우스 커서(126)는 화면(123)의 어느 위치에 있어도 된다.
도 5의 (A)에서, PC(11a)의 CPU(31)는, 현재의 PC(11a)의 마우스 커서(126)의 좌표를 HDD(34)에 보존한다(스텝 S1). 이에 의해, 도 4의 (C)의 마우스 커서(126)의 위치 A의 좌표가 HDD(34)에 보존된다.
다음으로, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)를 윈도우(124)의 좌상각으로 이동시키는 마우스 데이터를 PC(11a) 스스로 출력함과 함께 그 마우스 데이터에 따른 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 KVM 스위치(1)를 통하여, 서버(2a)에 출력한다(스텝 S2). 이에 의해, 도 4의 (A)의 서버(2a)의 마우스 커서(122)는 위치 a로부터 위치 b로 이동하고, 도 4의 (C)의 마우스 커서(126)는 위치 A로부터 위치 B로 이동한다.
또한, 마우스(14a)가 출력 가능한 마우스 데이터는 1∼255이다. PC(11a)의 마우스 커서(126)가 이동하는 크기는, 도 4의 (C)에 도시한 바와 같이, VAB로 나타내고, 서버(2a)에 도달하여 실제로 서버(2a)의 마우스 커서(122)가 이동하는 크기 를 Vab로 나타낸다. 이 2개의 이동의 크기의 관계는 VAB《Vab이며, Vab는 VAB보다도 매우 큰 값으로 하여, 서버(2a)의 가속 처리에 좌우되지 않고, 서버(2a)의 마우스 커서(122) 및 PC(11a)의 마우스 커서(126)가 각각 화면(121)의 좌상각의 위치 B 및 윈도우(124)의 좌상각의 위치 b로 이동하는 크기로 한다.
다음으로, PC(11a)의 CPU(31)는, 서버(2a)의 가속 계수의 검출 처리를 실행한다(스텝 S3). 이 처리는, PC(11a)가 KVM 스위치(1)를 통하여 서버(2a)에 출력하는 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터가 서버(2a)에서 어떻게 가속되는 것인지를 조사하기 위하여 행한다. 이 처리에 의해, 서버(2a)의 가속 계수를 모두 파악하여, PC(11a)가 KVM 스위치(1)를 통하여 서버(2a)가 실행하는 가속 처리에 최적화된 데이터를 출력할 수 있게 한다. 서버(2a)의 가속 계수의 검출 처리의 상세 내용은 후술한다.
마지막으로, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)를 윈도우(124)의 좌상각의 좌표로부터 HDD(34)에 보존된 PC(11a)의 마우스 커서(126)의 좌표(즉 위치 A의 좌표)의 위치로 되돌아가는 마우스 데이터를 PC(11a) 스스로 출력함과 함께 그 마우스 데이터에 따른 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 KVM 스위치(1)를 통하여, 서버(2a)에 출력한다(스텝 S4). 스텝 S2의 마우스 데이터와 스텝 S4의 마우스 데이터의 관계는 크기가 동일하지만, 양음이 반대로 된다. 이에 의해, PC(11a)의 마우스 커서(126)는 위치 B로부터 위치 A로 되돌아가고, 서버(2a)의 마우스 커서(122)는 위치 b로부터 위치 a로 되돌아간 다.
도 5의 (A)에서는, PC(11a)의 CPU(31)가 위치 어긋남 보정 기능을 실행하였지만, 도 5의 (B)에서는, KVM 스위치(1)의 컨트롤러(101)가 위치 어긋남 보정 기능을 실행한다.
도 5의 (B)에서, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)로부터, 현재의 PC(11a)의 마우스 커서(126)의 좌표를 취득하고, 메모리(105)에 보존한다(스텝 S1-1). 이에 의해, 도 4의 (C)의 마우스 커서(126)의 위치 A의 좌표가 메모리(105)에 보존된다.
다음으로, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)를 윈도우(124)의 좌상각으로 이동시키는 마우스 데이터를 PC(11a)에 출력함과 함께 그 마우스 데이터에 따른 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 서버(2a)에 출력한다(스텝 S2-1). 이에 의해, 도 4의 (A)의 서버(2a)의 마우스 커서(122)는 위치 a로부터 위치 b로 이동하고, 도 4의 (C)의 마우스 커서(126)는 위치 A로부터 위치 B로 이동한다. 또한, KVM 스위치(1)가 출력 가능한 마우스 데이터는 1∼255이다.
다음으로, KVM 스위치(1)의 컨트롤러(101)는, 서버(2a)의 가속 계수의 검출 처리를 실행한다(스텝 S3-1). 이 처리는, 서버(2a)에 출력하는 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터가 서버(2a)에서 어떻게 가속되는 것인지를 조사하기 위해 행한다. 이 처리에 의해, 서버(2a)의 가속 계수를 모두 파악하여, KVM 스위치(1)가, 서버(2a)가 실행하는 가속 처리에 최적화된 데이터를 출력할 수 있게 한다. 서버(2a)의 가속 계수의 검출 처리의 상세 내용은 후술한다.
마지막으로, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)를 윈도우(124)의 좌상각의 좌표로부터 메모리(105)에 보존된 PC(11a)의 마우스 커서(126)의 원래의 위치(즉 위치 A의 좌표)로 되돌리는 마우스 데이터를 PC(11a) 스스로 출력함과 함께 그 마우스 데이터에 따른 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 서버(2a)에 출력한다(스텝 S4-1). 스텝 S2-1의 마우스 데이터와 스텝 S4―1의 마우스 데이터의 관계는 크기가 동일하지만, 양음이 반대로 된다. 이에 의해, PC(11a)의 마우스 커서(126)는 위치 B로부터 위치 A로 되돌아가고, 서버(2a)의 마우스 커서(122)는 위치 b로부터 위치 a로 되돌아간다.
도 6은, 도 5의 (A)의 스텝 S3의 가속 계수의 검출 처리를 나타내는 플로우차트이다.
우선, PC(11a)의 CPU(31)는, 서버(2a)의 마우스 커서(122)가 위치 b에 있고, PC(11a)의 마우스 커서(126)가 위치 B에 있을 때, 도 4의 (B)의 마우스 커서(122)를 둘러싸는 폐쇄 영역 r을 윈도우(124)에 표시하고 있는 화상의 영역 위에서 캡쳐하여, 서버(2a)의 마우스 커서(122)에 대응하는 비트맵을 추출하고(스텝 S11), 윈도우(124) 내부에서 서버(2a)의 마우스 커서(122)의 이동을 추적할 수 있게 한다.
이후의 처리에서는, PC(11a)의 CPU(31)는, 마우스(14a)가 1∼255의 각 마우스 데이터에 따른 PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 서버(2a)에 출력하고, 그에 따라서 서버(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)의 이동 전의 위치와 이동 후의 위치의 차분을 계산하여, 마우스 데이터(i)에 대한 서버(2a)의 마우스 커서(122)의 이동량을 산출한다(스텝 S15). 이 이동량의 산출은, 스텝 S13으로부터 스텝 S18의 루프에 의해, 마우스(14a)가 출력 가능한 마우스 데이터(1∼255)에 대응하는 횟수, 즉 255회 반복 실행된다.
PC(11a)의 CPU(31)는, 마우스 데이터(i), PC(11a)의 마우스 커서(126)의 이동량 및 서버(2a)의 마우스 커서(122)의 이동량에 기초한 테이블 데이터를 작성한다(스텝 S16). 이 작성된 테이블 데이터는 HDD(34)에 보존된다. 테이블 데이터에 대해서는, 후술한다.
계속해서, PC(11a)의 CPU(31)는, 마우스 데이터(i)을 1 증가하여(스텝 S17), 마우스 데이터(i)가 255를 초과하였는지의 여부를 판별한다(스텝 S18).
스텝 S18에서, 마우스 데이터(i)가 255를 초과하고 있지 않은 경우에는(아니 오), 스텝 S13으로 되돌아간다. 한편, 스텝 S18에서, 마우스 데이터(i)가 255를 초과한 경우에는(예), PC(11a)의 CPU(31)는, 서버(2a)의 마우스 커서(122)를 윈도우(124)의 좌상각으로 이동시켜(스텝 S19), 본 처리를 종료한다.
또한, 도 5의 (B)의 스텝 S3-1의 가속 계수의 검출 처리는, 도 6과 마찬가지로 실행되는데, 실행 주체는 KVM 스위치(1)의 컨트롤러(101)이다. 이 경우, KVM 스위치(1)의 컨트롤러(101)는, 계속적으로 PC(11a)의 화면의 데이터를 수신한다.
도 7의 (A)는, 스텝 S16에서 작성되는 테이블 데이터의 일례를 도시하는 도면이며, 도 7의 (B)는, 도 7의 (A)의 각 값을 사사오입한 테이블 데이터의 일례를 도시하는 도면이며, 도 7의 (C)는, PC(11a)의 마우스 커서(126)의 위치와 서버(2a)의 마우스 커서(122)의 위치를 일치시키기 위한 테이블 데이터의 일례를 도시하는 도면이다.
도 7의 (A)에서, X는 PC(11a)에의 입력에 상당하는 마우스 데이터를 나타내고, Y는 PC(11a)의 마우스 커서(126)의 이동량을 나타내고, Z는 서버(2a)의 마우스 커서(122)의 이동량을 나타낸다. 상기 스텝 S16에 의해, PC(11a)의 CPU(31)는, 도 7의 (A)의 테이블 데이터를 작성하는데, 이 때, 도 7의 (A)의 각 값을 사사오입한 도 7의 (B)의 테이블 데이터를 동시에 작성한다. 도 7의 (C)의 테이블 데이터는, 스텝 S19에서 PC(11a)의 CPU(31)에 의해 작성되어, HDD(34)에 보존되거나, 또는 스텝 S19에서 KVM 스위치(1)의 컨트롤러(101)에 작성되어, 메모리(105)에 보존된다.
서버(2a)의 가속 계수를 검출하기 위해서, 도 7의 (A) 및 도 7의 (B)의 마우스 데이터 X가 이용되고 있는데, 서버(2a)에는, 도 7의 (A) 및 도 7의 (B)에 나타 내어지는 PC(11a)의 마우스 커서(126)의 이동량 Y가 입력되고 있다. 마우스 데이터 X가 PC(11a)의 마우스 커서(126)의 이동량 Y와 다른 것은, PC(11a)에서도 마우스의 가속 처리가 실행되어 있기 때문이다.
서버(2a)의 마우스 커서(122)의 위치가 PC(11a)의 마우스 커서(126)의 위치와 어긋나지 않도록 하기 위해서는, PC(11a)의 마우스 커서(126)의 이동량 Y와 서버(2a)의 마우스 커서(122)의 이동량 Z가 일치할 필요가 있다. 그러나, PC(11a)의 마우스 커서(126)의 이동량 Y와 서버(2a)의 마우스 커서(122)의 이동량 Z가 일치하지 않는 것은, 도 7의 (B)로부터 명확하다.
따라서, 본 실시 형태에서는, 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)는, PC(11a)의 마우스 커서(126)의 이동량 Y와 서버(2a)의 마우스 커서(122)의 이동량 Z가 일치하도록 하는, 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다. 이 마우스 데이터는 PC(11a)에서 가속 처리가 실행되고 있지 않은, 마우스로부터 PC(11a)에 직접 입력된 데이터이다.
도 7의 (C)의 테이블 데이터는, PC(11a)의 마우스 커서(126)의 이동량 Y, 서버(2a)에 출력되는 마우스 데이터, 및 서버(2a)의 마우스 커서(122)의 이동량 Z의 관계를 나타낸다.
예를 들면, PC(11a)의 마우스 커서(126)의 이동량 Y=5의 경우, 그 값이 PC(11a)로부터 서버(2a)에 출력되면, 도 7의 (B)로부터 서버(2a)의 마우스 커서(122)의 이동량 Z는 「7」로 되고, 마우스 커서(122)는 「2」의 분만큼 가속된다. 이 경우, PC(11a)의 마우스 커서(126)의 이동량 Y와 서버(2a)의 마우스 커서(122)의 이동량 Z는 일치하지 않는다.
그러나, 도 7의 (C)에서는, PC(11a)의 마우스 커서(126)의 이동량 Y=5의 경우, PC(11a)로부터 서버(2a)에 마우스 데이터 X-1로서의 「3」 및 마우스 데이터 X-2로서의 「1」이 출력되는, 즉, 마우스 데이터가 2회로 나누어서 출력된다. 마우스 데이터가 「3」일 때는, 도 7의 (B)에 기초하여, 서버(2a)의 마우스 커서(122)의 이동량 Z-1은 「4」로 되고, 마우스 데이터가 「1」일 때에는, 도 7의 (B)에 기초하여, 서버(2a)의 마우스 커서(122)의 이동량 Z-2는 「1」로 되고, 이동량 Z-1 및 이동량 Z-2의 합계인 마우스 커서(122)의 이동량 Z는 「5」로 된다. 이 경우, PC(11a)의 마우스 커서(126)의 이동량 Y와 서버(2a)의 마우스 커서(122)의 이동량 Z는 일치한다.
도 8의 (A) 및 (B)는, PC(11a) 및 KVM 스위치(1)에 의해 실행되는 처리를 나타내는 플로우차트이다.
우선, 도 8의 (A)의 처리에 대하여 설명한다.
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), 도 7의 (C)의 테이블 데이터를 사용하여, 출력 변환 처리를 실행하고(스텝 S25), 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다(스텝 S26). 서버(2a)는 1 또는 2 이상의 마우스 데이터를 수신하고, 서버(2a)의 마우스 커서(122)를 이동시켜(스텝 S27), 본 처리를 종료한다. 또한, 서버(2a)의 마우스 커서(122)의 이동은, PC(11a)의 윈도우(124)에 표시된다.
다음으로, 도 8의 (B)의 처리에 대하여 설명한다.
PC(11a)에서 마우스(14a)가 조작되어, PC(11a)의 마우스 커서(126)가 이동하면(스텝 S31), PC(11a)의 CPU(31)는, 도 7의 (C)의 테이블 데이터를 사용하여, 출력 변환 처리를 실행하고(스텝 S32), 1 또는 2 이상의 마우스 데이터를 KVM 스위치(1)에 송신한다(스텝 S33). KVM 스위치(1)의 컨트롤러(101)는, 1 또는 2 이상의 마우스 데이터를 수신하고(스텝 S34), 그대로, 서버(2a)에 출력한다(스텝 S35). 서버(2a)는 1 또는 2 이상의 마우스 데이터를 수신하고, 서버(2a)의 마우스 커서(122)를 이동시켜(스텝 S36), 본 처리를 종료한다. 또한, 서버(2a)의 마우스 커서(122)의 이동은, PC(11a)의 윈도우(124)에 표시된다.
이와 같이, PC(11a) 또는 KVM 스위치(1)가, PC(11a)의 마우스 커서(126)와 서버(2a)의 마우스 커서(122)의 위치 어긋남이 일어나지 않은 마우스 데이터를 서버(2a)에 출력함으로써, 서버(2a)의 마우스의 가속 처리에 좌우되지 않는 위치 어긋남 보정 기능을 제공할 수 있게 되어, 종래와 같이 서버의 마우스의 가속 처리를 무효로 하지 않아도 되게 된다. 또한, PC(11a)의 마우스 커서(126)가 윈도우(124) 의 바로 위에 있는 한, PC(11a)의 마우스 커서(126)와 서버(2a)의 마우스 커서(122)의 위치 어긋남이 발생하는 일이 없어, 마우스(14a)의 오퍼레이터에 쾌적한 마우스 조작 환경을 제공할 수 있다.
다음으로, 마우스 데이터를 보정하기 위한 테이블 데이터를 자동 작성하는 제2 기능을 설명한다. 여기에서는, 도 7의 (A)∼(C)의 테이블 데이터를 서버(2a)가 자동 작성한다.
상기 제1 기능에서는, 도 7의 (A)∼(C)의 테이블 데이터를 작성하기 위해서, PC(11a)가 윈도우(124)에서의 서버(2a)의 마우스 커서(122)의 화상의 캡쳐 및 패턴 맵핑 처리를 실행하고 있다.
PC(11a)의 마우스 커서(126)의 이동이 서버(2a) 상에서 어떻게 반영되는지, 즉 PC(11a)의 마우스 커서(126)의 이동에 따라서, 서버(2a)의 마우스 커서(122)가 어떻게 이동하는지는, 서버(2a) 상에서 감시 프로그램을 동작시켜, 서버(2a)의 마우스 커서(122)의 위치를 항상 검출함으로써 조사할 수 있다.
도 9의 (A)는, PC(11a), KVM 스위치(1) 및 서버(2a)에서의 데이터의 처리 경로를 모델화한 도면이다.
서버(2a)의 HDD(24)는, 디바이스 드라이버(51), 윈도우 관리 시스템(52), 프로그램(53)을 구비하고 있고, 이들은, HDD(24)로부터 RAM(23)에 읽어내어져서, 적절히 CPU(21)에 의해 실행됨으로써 각각의 기능을 발휘한다.
도 9에서, 경로 P1은, KVM 스위치(1)와 PC(11a) 사이에서 성립하는 I/F(예를 들면 Ethernet(등록 상표)이나 전화 회선)를 이용하는 것을 나타낸다. 경로 P2는, 디바이스 드라이버(51)와 하드웨어인 KVM 스위치(1) 사이에서 성립하는 I/F(예를 들면 PS2 통신선이나 USB)를 이용하고 있는 것을 나타낸다. 경로 P3은, 프로그램(53)과 디바이스 드라이버(51) 사이에서 성립하는 I/F(예를 들면 Application Program Interface)를 이용하고 있는 것을 나타낸다. 경로 P4는, 서버(2a)와 KVM 스위치(1)가 상호 접속 가능한 통신 경로에 접속되어 있는 경우에, 프로그램(53)과 KVM 스위치(1) 사이에서 성립하는 I/F(예를 들면 Ethernet(등록 상표) 및 TCP/IP)를 이용하고 있는 것을 나타낸다. 경로 P5는, 서버(2a)와 PC(11a)가 상호 접속 가능한 통신 경로에 접속되어 있는 경우에, 프로그램(53)과 PC(11a) 사이에서 성립하는 I/F(예를 들면 Ethernet(등록 상표) 및 TCP/IP)를 이용하고 있는 것을 나타낸다.
PC(11a), KVM 스위치(1) 및 서버(2a)의 동작을 이하에 설명한다.
PC(11a)로부터, PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터(도 7의 (B) 참조)가 네트워크(10)를 통하여 KVM 스위치(1)에 통지된다. KVM 스위치(1)는 서버(2a)에 있어서 마우스의 역할을 하고, PC(11a)로부터 통지된 데이터를 서버(2a)에 입력받아, 디바이스 드라이버(51)로 전달한다.
마우스 커서(126)의 이동량 Y를 나타내는 데이터가 디바이스 드라이버(51)에 건너간 시점에서는, 서버(2a)의 가속 처리는 행해지지 않고, 마우스 커서(126)의 이동량 Y는 도 7의 (B)에 나타내는 값이다.
디바이스 드라이버(51)는, 윈도우 관리 시스템(52)에 마우스 커서(126)의 이동량 Y를 나타내는 데이터를 건네주고, 윈도우 관리 시스템(52)은 가속 처리를 실 시하여, 프로그램(53)에 가속 처리 후의 데이터를 건네준다. 프로그램(53)에 건너간 데이터는, 가속 처리가 실시되어 있기 때문에, 도 7의 (B)의 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터로 되어 있다. 또한, CPU(21)는, 가속 처리가 실시된 서버(2a)의 마우스 커서(122)의 이동량 Z에 따라서, 서버(2a)의 마우스 커서(122)를 이동시킨다.
이와 같이, 서버(2a)에 입력된 PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터는 디바이스 드라이버(51)에서 취득되고, 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터는 프로그램(53)에서 취득된다. 또한, 마우스 데이터는, 후술하는 바와 같이, 순서대로 1개씩 증가하므로, 디바이스 드라이버(51)는, 최초로 수신한 PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터에 대응하는 마우스 데이터가 「1」이며, 다음으로 수신한 PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터에 대응하는 마우스 데이터가 「2」이고, 마지막으로 수신한 PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터에 대응하는 마우스 데이터가 「255」인 것을 판단할 수 있다. 즉, 디바이스 드라이버(51)는, PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터를 수신함으로써, 이에 대응하는 마우스 데이터의 값을 취득할 수 있다.
따라서, 디바이스 드라이버(51)는, 프로그램(53)으로부터 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터를 취득함으로써, 미리 취득된 PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터 및 마우스 데이터와, 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터에 기초하여, 도 7의 (B)의 테이블 데이터 및 도 7의 (C)의 테이블 데이터를 작성할 수 있다.
도 9의 (B)는, 가속 계수의 검출 처리를 나타내는 플로우차트이다.
디바이스 드라이버(51)는, 마우스 데이터(i)의 초기화를 행한다. 즉 마우스 데이터로서 1을 세트한다(i=1)(스텝 S41). 다음으로, 디바이스 드라이버(51)는, 프로그램(53)으로부터 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터, KVM 스위치(1)로부터 PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터를 취득한다(스텝 S42). 디바이스 드라이버(51)는, 마우스 데이터, 서버(2a)의 마우스 커서(122)의 이동량 Z, 및 PC(11a)의 마우스 커서(126)의 이동량 Y에 기초하여 테이블 데이터를 작성한다(스텝 S43). 이 테이블 데이터는 도 7의 (A)이지만, 디바이스 드라이버(51)는, 마우스 데이터, 서버(2a)의 마우스 커서(122)의 이동량 Z, 및 PC(11a)의 마우스 커서(126)의 이동량 Y의 각 값을 사사오입함으로써 도 7의 (B)의 테이블 데이터를 취득한다.
다음으로, 디바이스 드라이버(51)는, 마우스 데이터를 1 증가하고(스텝 S44), 마우스 데이터가 255를 초과하였는지의 여부를 판별한다(스텝 S45).
스텝 S45에서, 마우스 데이터가 255를 초과하고 있지 않은 경우에는(아니오), 스텝 S42로 되돌아간다. 한편, 스텝 S45에서, 마우스 데이터가 255를 초과한 경우에는(예), 본 처리를 종료한다. 이 처리의 종료 후에, 디바이스 드라이버(51)는, 도 7의 (B)의 테이블 데이터에 기초하여 도 7의 (C)의 테이블 데이터를 작성한다.
상기 처리에서는, 디바이스 드라이버(51)에서 도 7의 (A)∼도 7의 (C)의 테 이블 데이터를 작성하였지만, PC(11a)의 마우스 커서(126)의 이동량 Y를 나타내는 데이터 및 마우스 데이터는, KVM 스위치(1) 및 PC(11a)에서도 취득되어 있는 데이터이므로, 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터를 경로 P1또는 경로 P2를 사용하여 KVM 스위치(1) 또는 PC(11a)에 전송하고, KVM 스위치(1) 또는 PC(11a)에서 도 7의 (A)∼도 7의 (C)의 테이블 데이터를 작성하여도 된다.
또한, KVM 스위치(1)는 프로그램(53)으로부터 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터를 취득하고, 도 7의 (A)∼도 7의 (C)의 테이블 데이터를 작성하여, 그를 자기 유지하거나, 디바이스 드라이버(51) 또는 PC(11a)에 전송하여도 된다. 또한, PC(11a)는 프로그램(53)으로부터 서버(2a)의 마우스 커서(122)의 이동량 Z를 나타내는 데이터를 취득하고, 도 7의 (A)∼도 7의 (C)의 테이블 데이터를 작성하여, 그를 자기 유지하거나, 디바이스 드라이버(51) 또는 KVM 스위치(1)에 전송하여도 된다.
이와 같이, 도 7의 (A)∼도 7의 (C)의 테이블 데이터의 작성은, PC(11a), KVM 스위치(1), 또는 디바이스 드라이버(51) 중 어느 하나라도 실행 가능하다. 또한, 도 7의 (C)의 테이블 데이터에 기초하여 실행되는 출력 변환 처리(즉, PC(11a)의 마우스 커서(126)의 이동량 Y와 서버(2a)의 마우스 커서(122)의 이동량 Z가 일치하도록 하는, 1 또는 2 이상의 마우스 데이터를 서버(2a)(보다 구체적으로는 프로그램(53))에 출력하는 처리)는, 윈도우 관리 시스템(52)의 전단까지 실행되어 있으면 된다. 서버(2a)에서는, 디바이스 드라이버(51)가 도 7의 (C)의 테이블 데이터에 기초하여 출력 변환 처리를 실행한다.
다음으로, 가속 계수의 검출 처리를 반자동으로 실행하는 경우를 설명한다.반자동이란, 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)에 출력하고, 서버(2a)의 마우스 커서(122)를 위치 a로부터 위치 b로 이동시킨다. PC(11a)의 오퍼레이터는, PC(11a)의 마우스 커서(126)를 이동시켜, 위치 b의 서버(2a)의 마우스 커서(122)의 화살표 끝을 클릭한다. 이 클릭에 의해, PC(11a)의 CPU(31)는 서버(2a)의 마우스 커서(122)의 위치 b와 서버(2a)의 마우스 커서(122)의 위치가 동일 위치라고 인식할 수 있다. 또한, 이 때, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 서 버(2a)에 출력하지 않는다. 이는, PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 서버(2a)에 출력하게 되면, PC(11a)의 마우스 커서(126)의 이동에 연동하여 서버(2a)의 마우스 커서(122)가 이동하게 되어, 클릭을 할 수 없기 때문이다.
다음으로, PC(11a)의 CPU(31)는, 서버(2a)의 마우스 커서(122)를 이동시키는 데이터를 서버(2a)에 출력하고, 서버(2a)의 마우스 커서(122)가 위치 b로부터 위치 c로 이동했을 때에, PC(11a)의 오퍼레이터는, PC(11a)의 마우스 커서(126)를 이동시켜, 위치 c의 서버(2a)의 마우스 커서(122)의 화살표 끝을 클릭한다.
이에 의해, PC(11a)의 CPU(31)로부터 출력된, 서버(2a)의 마우스 커서(122)를 위치 b로부터 위치 c로 이동시킨 데이터가, 서버(2a)에서 어떻게 가속 처리되었는지를 알 수 있고, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 위치 b로부터 위치 c까지의 이동량과, 서버(2a)의 마우스 커서(122)의 위치 b로부터 위치 c까지의 이동량과의 관계를 결정할 수 있다.
이와 같이, 서버(2a)의 마우스 커서(122)를 위치 a∼위치 h까지 순차적으로 이동시키고, 그 때마다, PC(11a)의 오퍼레이터는, PC(11a)의 마우스 커서(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)는, 전회 클릭된 좌표와 금회 클릭된 좌표의 차분을 계산하여, 마우스 데이터(i)에 대한 서버(2a)의 마우스 커서(122)의 이동량을 산출한다(스텝 S64). 이 이동량의 산출은, 스텝 S13으로부터 스텝 S18의 루프에 의해, 마우스(14a)가 출력 가능한 마우스 데이터(1∼255)에 대응하는 횟수, 즉 255회 반복 실행된다. 또한, 초기 상태의 서버(2a)의 마우스 커서(122)의 좌표는, HDD(34)에 기억되어 있는 것을 사용한다.
PC(11a)의 CPU(31)는, 마우스 데이터(i), PC(11a)의 마우스 커서(126)의 이동량, 및 서버(2a)의 마우스 커서(122)의 이동량에 기초한 테이블 데이터를 작성한다(스텝 S65). 이 작성된 테이블 데이터는 HDD(34)에 보존된다. 여기서 작성되는 테이블 데이터는 도 7의 (A) 및 도 7의 (B)이다.
계속해서, 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)는, 도 7의 (B)의 테이블 데이터에 기초하여 도 7의 (C)의 테이블 데이터를 작성한다.
이 가속 계수의 검출 처리를 반자동으로 실행하는 기능은, PC(11a)의 CPU(31)가, 서버(2a)의 마우스 커서(122)를 둘러싸는 폐쇄 영역 r을 윈도우(124)에 표시하고 있는 화상의 영역 상에서 캡쳐할 수 없는 경우에 유효하다. 이는, PC(11a)의 오퍼레이팅 시스템 또는 윈도우 시스템이 이용하는 커서의 형상은, 도 10이 도시한 바와 같이 화살표의 형상인 것이 보통이지만, 화살표가 아닌 손가락의 형상이거나, 점이면, 서버(2a)의 오퍼레이터의 기호에 따라 마우스 커서의 형상이 정해지지 않는 경우가 있기 때문이다. 이러한 상황이어도, PC(11a)의 오퍼레이터에, 서버(2a)의 마우스 커서(122)의 화살표 끝이 클릭됨으로써 서버(2a)의 마우스 커서(122)의 좌표를 특정하는 것이 가능하다. 이와 같이, 가속 계수의 검출 처리를 반자동으로 실행하는 기능을 이용하여도, 도 7의 (C)의 테이블 데이터를 작성할 수 있다.
또한, 도 7의 (C)의 테이블 데이터를 사용한 출력 변환 처리는, 전술한 바와 같이 윈도우 관리 시스템(52)의 전단까지 실행된다.
<제2 실시 형태>
전술한 과제 2에서 설명한 바와 같이, 리모트 PC(PC(11)에 상당함)의 마우스 커서(205)를 비표시로 하여도, 리모트 PC의 마우스 커서(205)가 도 20에서의 윈도우(201)의 틀을 초과한 경우에는, 서버의 원격 조작을 할 수 없게 된다.
따라서, 본 실시 형태에서는, 전술한 도 8의 (A) 또는 도 8의 (B)의 PC(11a) 및 KVM 스위치(1)에 의해 실행되는 처리의 전단에, PC(11a)의 마우스 커서(126)의 이동 범위를 제한하는 처리와, 이 이동 범위를 제한하는 처리의 유효 또는 무효를 선택 가능하게 하는 처리를 추가한다.
또한, 본 실시 형태의 KVM 시스템은, 제1 실시 형태의 KVM 시스템(1000)과 동일한 구성이다.
도 12의 (A)는, 제2 실시 형태에 따른 PC(11a) 및 KVM 스위치(1)에 의해 실행되는 처리를 나타내는 플로우차트이다.
PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 이동 범위의 제한을 유효로 하는지의 여부를 판별한다(스텝 S71). 구체적으로는, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 이동 범위를 제한하는 지시가 할당되어 있는 키보드(13a)의 펑션 키의 압하가 있었는지 또는 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(Application Program Interface)이다. 이 API는, 일반적으로 마우스 커서의 이동 범위를 윈도우 상의 사각형의 영역 내에 제한한다.
스텝 S72의 처리 후, 전술한 도 8의 (A)의 스텝 S21∼스텝 S27 또는 도 8의 (B)의 스텝 S31∼스텝 S36의 처리가 실행되고(스텝 S73), 본 처리를 종료한다.
한편, 스텝 S71에서 PC(11a)의 마우스 커서(126)의 이동 범위의 제한을 무효로 한다고 판별된 경우(아니오)에는, 본 처리를 종료한다.
도 12의 (A)의 스텝 S71 및 스텝 S72의 실행 주체는, PC(11a)의 CPU(31)이지만, KVM 스위치(1)의 컨트롤러(101)도 스텝 S71 및 스텝 S72의 처리를 실행할 수 있다. 이 경우의 처리를 도 12의 (B)에 나타낸다.
스텝 S71a에서는, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)의 이동 범위를 제한하는 지시가 할당되어 있는 KVM 스위치 상의 소정의 스위치(도시 생략)가 온으로 되어 있거나 또는 메모리(105) 내에 저장되어 있는, PC(11a)의 마우스 커서(126)의 이동 범위를 제한하는 메뉴가 선택되어 있는지의 여부를 판별한다. 그리고, KVM 스위치(1)의 컨트롤러(101)는, 어느 하나에 해당한 경우에는(스텝 S71a에서 예), PC(11a)의 오퍼레이팅 시스템이 갖고 있는 기능을 호출하고, PC(11a)의 마우스 커서(126)의 이동 범위를 윈도우(124) 내에 한정한다(스텝 S72a).
이와 같이, 본 실시 형태에서는, PC(11a)의 마우스 커서(126)의 이동 범위를 윈도우(124) 내에 제한한 경우에, 출력 변환 처리가 실행된다. 따라서, PC(11a)의 마우스 커서(126)의 이동 범위를 윈도우(124) 내에 제한한 경우에는, PC(11a)의 마우스 커서(126)와 서버(2a)의 마우스 커서(122)의 위치 어긋남이 발생하는 일이 없어, 쾌적한 마우스 조작 환경을 제공할 수 있다.
<제3 실시 형태>
본 실시 형태에서는, 서버(2a)의 마우스 커서(122)를 로컬 또는 리모트로 교대로 조작하는 경우에 대하여 설명한다.
여기서, 로컬이란, 서버(2a) 및 KVM 스위치(1)측을 가리키고, 리모트란, PC(11a)측을 가리킨다.
본 실시 형태에서는, KVM 스위치(1)의 메모리(105) 및 PC(11a)의 HDD(34)에 도 7의 (B) 및 도 7의 (C)의 테이블 데이터가 보존되어 있는 것으로 한다. 또한, 본 실시 형태에서는, 서버(2a) 및 PC(11a)에서, 마우스 조작이 행해지면 가산 처리가 행해지는 것을 전제로 설명한다.
본 실시 형태의 KVM 시스템은, 제1 실시 형태의 KVM 시스템(1000)과 동일한 구성이다.
이하, 상기 KVM 스위치(1) 및 PC(11a)에서 실행되는 처리에 대해서, 도 13의 (A), (B)를 이용하여 설명한다.
도 13의 (A)는, 로컬(서버(2a) 및 KVM 스위치(1)측)의 화면을 도시하는 도면이며, 도 13의 (B)는 리모트(PC(11a)측)의 화면을 도시하는 도면이다.
도 13의 (A)에서, 참조 부호 121은 로컬의 화면을 나타내고, 참조 부호 122는 서버(2a)의 마우스 커서를 나타낸다. 도 13의 (B)에서, 참조 부호 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)의 마우스 커서(122)의 이동량 Vab를 서버(2a)로부터 취득하고, 그 이동량 Vab 및 위치 a의 좌표로부터 위치 b를 산출하고, 위치 b와 서버(2a)의 마우스 커서(122)의 위치 B의 차분(Vb')을 산출한다. 그리고, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 이동량과 상기 산출된 위치 b와 위치 B의 차분(Vb')을 합산하고, 도 7의 (C)의 테이블 데이터를 사용하여 합산된 값에 대응하는 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다.
도 14의 (A)는, 제3 실시 형태에 따른 KVM 스위치(1) 및 PC(11a)에서 실행되는 처리를 나타내는 플로우차트이다.
우선, 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)에 출력한 데이터는, 도 7의 (B) 또는 도 7의 (C)의 테이블 데이터의 PC(11a)의 마우스 커서(126)의 이동량 Y에 상당한다.
PC(11a)의 CPU(31)는, KVM 스위치(1)가 서버(2a)에 출력한 데이터의 누적값 을 취득한다(스텝 S83). 다음으로, PC(11a)의 CPU(31)는, 로컬의 마우스 조작으로부터 리모트의 마우스 조작으로 절환되고, 리모트의 마우스 조작에 의해, PC(11a)의 마우스 커서(126)가 어느 한쪽의 방향으로 이동하면(스텝 S84), HDD(34)에 보존된 리모트의 마우스 조작의 최종 위치 및 KVM 스위치(1)가 서버(2a)에 출력한 데이터의 누적값에 기초하여, 현재의 서버(2a)의 마우스 커서(122)의 위치를 산출하고(스텝 S85), 현재의 서버(2a)의 마우스 커서(122)의 위치와 현재의 PC(11a)의 마우스 커서(126)의 위치의 차분을 산출한다(스텝 S86).
다음으로, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 이동량과 스텝 S85에서 산출된 차분을 합산하고, 도 7의 (C)의 테이블 데이터를 사용하여 합산된 값에 대응하는 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다(스텝 S87). 구체적으로는, PC(11a)의 CPU(31)는, 상기 합산된 값과 일치하는 PC(11a)의 마우스 커서(126)의 이동량 Y의 값을 구하고, 이 값에 대응하는 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다.
이상의 처리에 의해, 로컬의 마우스 조작으로부터 리모트의 마우스 조작으로 절환되는 시점에서, 서버(2a)의 마우스 커서(122)의 위치는, PC(11a)의 마우스 커서(126)의 위치에 일치한다.
상기 스텝 S82, S83 대신에, 도 14의 (B)의 처리를 실행하여도 된다. 이 경우, 모든 처리를 PC(11a)의 CPU(31)가 실행할 수 있다.
도 14의 (B)에서, 스텝 S81의 처리 후, PC(11a)의 CPU(31)는, 상기 제1 실시 형태에서 설명한 바와 같이, 윈도우(124) 내의 서버(2a)의 마우스 커서(122)의 화 상을 캡쳐하고(스텝 S91), 서버(2a)의 마우스 커서(122)의 화상의 윈도우(124) 내의 이동처를 패턴 매칭에 의해 검출하고(스텝 S92), 마우스 커서(122)의 이동 전의 위치(즉, 리모트의 마우스 조작으로부터 로컬의 마우스 조작으로 절환되었을 때의 마우스 커서(122)의 위치)와 이동 후의 위치(즉, 로컬의 마우스 조작으로부터 리모트의 마우스 조작으로 절환되었을 때의 마우스 커서(122)의 위치)의 차분을 계산하여, 로컬의 마우스 조작에 의해 이동한 서버(2a)의 마우스 커서(122)의 이동량을 산출한다(스텝 S93).
그리고, PC(11a)의 CPU(31)는, 도 7의 (B)의 테이블 데이터를 사용하여, 산출된 서버(2a)의 마우스 커서(122)의 이동량에 대응하는 PC(11a)의 마우스 커서(126)의 이동량을, KVM 스위치(1)가 서버(2a)에 출력한 데이터의 누적값으로 하고(스텝 S94), 스텝 S84의 처리로 진행한다.
다음으로, 도 14의 (A)의 처리를 KVM 스위치(1)의 컨트롤러(101)가 실행하는 예를 설명한다.
도 15는, KVM 스위치(1)에 의해 실행되는 처리를 나타내는 플로우차트이다.
우선, KVM 스위치(1)의 컨트롤러(101)는, 리모트(PC(11a)측)의 마우스 조작으로부터 로컬(서버(2a) 및 KVM 스위치(1)측)의 마우스 조작으로 절환된 시점의 PC(11a)의 마우스 커서(126)의 위치, 즉, 리모트의 마우스 조작의 최종 위치를 PC(11a)로부터 취득하고, 메모리(105)에 보존한다(스텝 S101).
다음으로, KVM 스위치(1)의 컨트롤러(101)는, 로컬의 마우스 조작 중에, 서버(2a)에 출력한 데이터의 누적값을 메모리(105)에 보존한다(스텝 S102).
다음으로, KVM 스위치(1)의 컨트롤러(101)는, 로컬의 마우스 조작으로부터 리모트의 마우스 조작으로 절환되었을 때의 PC(11a)의 마우스 커서(126)의 위치를 PC(11a)로부터 취득한다(스텝 S103). KVM 스위치(1)의 컨트롤러(101)는, 메모리(105)에 보존된 리모트의 마우스 조작의 최종 위치 및 서버(2a)에 출력한 데이터의 누적값에 기초하여, 현재의 서버(2a)의 마우스 커서(122)의 위치를 산출하고(스텝 S104), 현재의 서버(2a)의 마우스 커서(122)의 위치와 스텝 S103에서 취득된 PC(11a)의 마우스 커서(126)의 위치의 차분을 산출한다(스텝 S105).
그 후, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)의 이동량을 나타내는 데이터를 PC(11a)로부터 수신하면, 그 PC(11a)의 마우스 커서(126)의 이동량과 스텝 S105에서 산출된 차분을 합산하고, 도 7의 (C)의 테이블 데이터를 사용하여 합산된 값에 대응하는 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다(스텝 S106). 구체적으로는, PC(11a)의 CPU(31)는, 상기 합산된 값과 일치하는 PC(11a)의 마우스 커서(126)의 이동량 Y의 값을 구하고, 이 값에 대응하는 1 또는 2 이상의 마우스 데이터를 서버(2a)에 출력한다.
이상의 처리에 의해, 로컬의 마우스 조작으로부터 리모트의 마우스 조작으로 절환되는 시점에서, 서버(2a)의 마우스 커서(122)의 위치는, PC(11a)의 마우스 커서(126)의 위치에 일치한다.
도 14의 (A), (B) 또는 도 15의 처리에 따르면, 서버(2a)의 마우스 커서(122)를 로컬 또는 리모트로 교대로 조작하는 경우에도, PC(11a)의 마우스 커서와 서버(2a)의 마우스 커서의 위치 어긋남을 보정할 수 있어, 마우스(14a)의 오퍼 레이터에 대하여 쾌적한 마우스 조작 환경을 제공할 수 있다.
본 실시 형태에서는, 서버(2a) 및 PC(11a)에서, 마우스 조작이 행해지면 가산 처리가 행해지는 것을 전제로 설명하였지만, 종래와 같이, 서버(2a) 및 PC(11a)의 가산 처리를 무효로 하는 KVM 시스템에서는, 서버(2a), KVM 스위치(1) 및 PC(11a)의 입출력되는 마우스 데이터는 모두 동일하다.
이 때문에, 서버(2a) 및 PC(11a)의 가산 처리를 무효로 하는 KVM 시스템에서도, 도 14의 (A), 도 14의 (B) 및 도 15의 처리를 적용할 수 있지만, 도 7의 (B) 및 도 7의 (C)의 테이블 데이터를 사용할 필요는 없다. 이 경우, 상기 스텝 S87에서는, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)의 이동량과 스텝 S85에서 산출된 차분을 합산하고, 그 합산값의 데이터를 서버(2a)에 출력한다. 또한, 상기 스텝 S94에서는, 산출된 서버(2a)의 마우스 커서(122)의 이동량이, KVM 스위치(1)가 서버(2a)에 출력한 데이터의 누적값으로 된다. 또한, 상기 스텝 S106에서는, PC(11a)의 마우스 커서(126)의 이동량과 스텝 S105에서 산출된 차분을 합산하고, 그 합산값의 데이터를 서버(2a)에 출력한다.
<제4 실시 형태>
본 실시 형태에서는, PC(11a)의 마우스 커서(126)가 윈도우(124)의 내부로부터 외부로 일단 나오고, 다시 윈도우(124)의 외부로부터 내부로 들어가는 경우에 실행되는 위치 보정 처리에 대하여 설명한다.
본 실시 형태의 KVM 시스템은, 제1 실시 형태의 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에 있다.
그 후, PC(11a)의 오퍼레이터의 마우스 조작에 의해, PC(11a)의 마우스 커서(126)는, 윈도우(124)의 외부의 임의인 경로 C를 찾아가서, 윈도우(124)의 틀 위의 위치 G에 도달한다. 이 때, 위치 B의 좌표와 위치 G의 좌표의 차분은 VBG로 된다.
PC(11a)의 CPU(31)는, 윈도우(124)의 틀 위의 위치 G에 도달한 순간에, 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)의 CPU(31)는, 윈도우(124)의 틀 위의 위치 G에 도달한 순간에, HDD(34)에 보존된 위치 B의 좌표와 위치 G의 좌표의 차분 VBG를 산출하고, HDD(34)에 보존된 차분 Vb'b와 차분 VBG를 합성하고, 합성값 Vb'G를 서버(2a)에 출력한다. 이에 의해, 서버(2a)의 마우스 커서(122)는 위치 b'로부터 위치 g로 이동한다.
또한, PC(11a)의 마우스 커서(126)가 위치 G로부터 윈도우(124)의 내부로 들어간 후에는, 전술한 제1∼제3 실시 형태에서 설명한 처리가 실행되기 때문에, PC(11a)의 마우스 커서(126)와 서버(2a)의 마우스 커서(122)의 위치 어긋남이 발생하는 일이 없게 된다.
도 17은, PC(11a)의 CPU(31)가 실행하는 처리를 나타내는 플로우차트이다.
우선, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)가 윈도우(124)의 외부로 나왔을 때의 윈도우(124)의 틀 위의 좌표를 HDD(34)에 보존한다(스텝 S111). 다음으로, PC(11a)의 CPU(31)는, 로컬의 마우스 조작에 의해, 서버(2a)의 마우스 커서(122)의 이동이 있는지의 여부를 판별한다(스텝 S112).
스텝 S112에서 예의 경우에는, PC(11a)의 CPU(31)는, 서버(2a)의 마우스 커서(122)의 이동 전의 위치의 좌표와 이동 후의 위치의 좌표의 차분을 산출하고, 그 차분을 HDD(34)에 보존한다(스텝 S113).
다음으로, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)가 다시 윈도우(124)의 틀 위에 도달했을 때에, 그 도달했을 때의 윈도우(124)의 틀 위의 좌표와 스텝 S111에서 HDD(34)에 보존된 좌표의 차분을 산출하고, 그 차분과 스텝 S113에서 HDD(34)에 보존된 서버(2a)의 마우스 커서(122)의 이동의 차분을 합성하고, 합성값을 서버(2a)에 출력하고(스텝 S114), 본 처리를 종료한다.
한편, 스텝 S112에서 아니오의 경우에는, PC(11a)의 CPU(31)는, PC(11a)의 마우스 커서(126)가 다시 윈도우(124)의 틀 위에 도달했을 때에, 그 도달했을 때의 윈도우(124)의 틀 위의 좌표와 HDD(34)에 보존된 좌표의 차분을 산출하고, 그 차분을 서버(2a)에 출력하고(스텝 S115), 본 처리를 종료한다.
도 18은, KVM 스위치(1)의 컨트롤러(101)가 실행하는 처리를 나타내는 플로우차트이다.
우선, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)가 윈도우(124)의 외부로 나왔을 때의 윈도우(124)의 틀 위의 좌표를 PC(11a)로부터 취득하고, 메모리(105)에 보존한다(스텝 S121). 다음으로, KVM 스위치(1)의 컨트롤러(101)는, 로컬의 마우스 조작에 의해, 서버(2a)의 마우스 커서(122)의 이동이 있 는지의 여부를 판별한다(스텝 S122).
스텝 S122에서 예의 경우에는, KVM 스위치(1)의 컨트롤러(101)는, 서버(2a)의 마우스 커서(122)의 이동 전의 위치의 좌표와 이동 후의 위치의 좌표의 차분을 산출하고, 그 차분을 메모리(105)에 보존한다(스텝 S123).
다음으로, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)가 다시 윈도우(124)의 틀 위에 도달했을 때에, 그 도달했을 때의 윈도우(124)의 틀 위의 좌표를 PC(11a)로부터 취득하고, 그 취득된 좌표와 스텝 S121에서 메모리(105)에 보존된 좌표의 차분을 산출하고, 그 차분과 스텝 S123에서 메모리(105)에 보존된 서버(2a)의 마우스 커서(122)의 이동의 차분을 합성하고, 합성값을 서버(2a)에 출력하고(스텝 S124), 본 처리를 종료한다.
한편, 스텝 S122에서 아니오의 경우에는, KVM 스위치(1)의 컨트롤러(101)는, PC(11a)의 마우스 커서(126)가 다시 윈도우(124)의 틀 위에 도달했을 때에, 그 도달했을 때의 윈도우(124)의 틀 위의 좌표를 PC(11a)로부터 취득하고, 그 취득된 좌표와 메모리(105)에 보존된 좌표의 차분을 산출하고, 그 차분을 서버(2a)에 출력하고(스텝 S125), 본 처리를 종료한다.
도 17 또는 도 18의 처리에 따르면, PC(11a)의 마우스 커서(126)가 윈도우(124)의 틀 외로 일단 나오고, 다시 윈도우(124)의 틀 내로 되돌아갔을 때에, 자동적으로 PC(11a)의 마우스 커서(126)와 서버(2a)의 마우스 커서(122)의 위치 어긋남이 보정되므로, 마우스(14a)의 오퍼레이터에 대하여 쾌적한 마우스 조작 환경을 제공할 수 있다.
본 실시 형태에서는, 서버의 마우스 커서가 표시되는 윈도우가 PC(11a)의 화면(123)에 1개 표시되어 있지만(윈도우(124) 참조), 예를 들면, PC(11a)의 화면(123)이, 서버의 마우스 커서가 표시되는 윈도우를 복수 표시하는 경우(즉, 복수의 서버에 대한 복수의 윈도우가 표시되는 경우)에는, 도 17 또는 도 18의 처리를 윈도우마다 실행한다.
종래 기술에서는, 리모트 PC의 마우스 커서가, 서버의 마우스 커서가 표시되는 윈도우의 틀 외로 나오고, 다른 윈도우로 이행할 때마다, 리모트 PC의 오퍼레이터가 수동으로 위치 어긋남 보정 기능을 발동시켜, 리모트 PC의 마우스 커서와 서버의 마우스 커서의 위치 어긋남을 보정하고 있었기 때문에, 리모트 PC의 오퍼레이터는 번거로움을 느끼고 있었다.
이와 같은 경우에도, 상기 도 17 또는 도 18의 처리를 실행함으로써, 자동적으로 리모트 PC의 마우스 커서와 서버의 마우스 커서의 위치 어긋남이 보정되기 때문에, 리모트 PC의 오퍼레이터에게 번거로움을 느끼게 하지 않고, 쾌적한 마우스 조작 환경을 제공할 수 있다.
상기 제1∼제4 실시 형태에서는, PC(11a)의 마우스 커서(126)를 조작하기 위해 마우스(14a)가 사용되고, 서버(2a)의 마우스 커서(122)를 조작하기 위해 마우스(14a) 또는 마우스(5)가 사용되는데, PC(11a)의 마우스 커서(126) 또는 서버(2a)의 마우스 커서(122)를 조작하기 위한 조작 부재는, 마우스에 한정되는 것은 아니고, 타블렛 등의 마우스 커서를 이동시키는 기능을 갖는 조작 부재이어도 된다.
각 서버의 기능을 실현하기 위한 소프트웨어의 프로그램이 기록되어 있는 기 록 매체를, 해당 서버에 공급하고, 그 서버의 CPU가 기억 매체에 저장된 프로그램을 읽어내어 실행함으로써도, 상기 제1∼제4 실시 형태와 마찬가지의 효과를 발휘한다. 또한, 각 원격 단말기의 기능을 실현하기 위한 소프트웨어의 프로그램이 기록되어 있는 기록 매체를, 해당 원격 단말기에 공급하고, 그 원격 단말기의 CPU가 기억 매체에 저장된 프로그램을 읽어내어 실행함으로써도, 상기 제1∼제4 실시 형태와 마찬가지의 효과를 발휘한다. 또한 KVM 스위치(1)의 기능을 실현하기 위한 소프트웨어의 프로그램이 기록되어 있는 기록 매체를, 해당 KVM 스위치(1)에 공급하고, 그 KVM 스위치(1)의 컨트롤러(101)가 기억 매체에 저장된 프로그램을 읽어내어 실행함으로써도, 상기 제1∼제4 실시 형태와 마찬가지의 효과를 발휘한다. 이 경우, KVM 스위치(1)는 기억 매체로부터 프로그램을 읽어내는 장치(CD-ROM 드라이브 또는 DVD-ROM 드라이브 등)를 구비하고 있다. 또한, 프로그램을 공급하기 위한 기억 매체로서는, 예를 들면, CD-ROM, DVD, 또는 SD 카드 등이 있다.
또한, 각 서버의 CPU가, 각 서버의 기능을 실현하기 위한 소프트웨어의 프로그램을 실행함으로써도, 상기 제1∼제4 실시 형태와 마찬가지의 효과를 발휘한다. 또한, 각 원격 단말기의 CPU가, 각 원격 단말기의 기능을 실현하기 위한 소프트웨어의 프로그램을 실행함으로써도, 상기 제1∼제4 실시 형태와 마찬가지의 효과를 발휘한다. 또한, KVM 스위치(1)의 컨트롤러(101)가, KVM 스위치(1)의 기능을 실현하기 위한 소프트웨어의 프로그램(예를 들면, 드라이버)을 실행함으로써도, 상기 제1∼제4 실시 형태와 마찬가지의 효과를 발휘한다.
또한, 본 발명은, 전술한 실시 형태에 한정되는 것은 아니고, 그 요지를 일 탈하지 않는 범위 내에서 여러 가지 변형하여 실시하는 것이 가능하다.
도 1은 본 발명의 제1 실시 형태에 따른 KVM(K: 키보드, V: 비디오, M: 마우스) 스위치, 정보 처리 장치, 및 서버를 구비하는 KVM 시스템의 구성도.
도 2의 (A)는 서버(2a)의 하드웨어 구성을 도시하는 블록도, (B)는 PC(11a)의 하드웨어 구성을 도시하는 블록도.
도 3은 KVM 스위치(1)의 하드웨어 구성을 도시하는 블록도.
도 4의 (A)는 서버(2a)의 화면의 일례를 도시하는 도면, (B)는 (A)의 부분 확대도, (C)는 PC(11a)의 화면의 일례를 도시하는 도면.
도 5의 (A) 및 (B)는 위치 어긋남 보정 기능을 나타내는 플로우차트.
도 6은 도 5의 (A)의 스텝 S3의 가속 계수의 검출 처리를 나타내는 플로우차트.
도 7의 (A)는 스텝 S16에서 작성되는 테이블 데이터의 일례를 도시하는 도면, (B)는 (A)의 각 값을 사사오입한 테이블 데이터의 일례를 도시하는 도면, (C)는 PC(11a)의 마우스 커서(126)의 위치와 서버(2a)의 마우스 커서(122)의 위치를 일치시키기 위한 테이블 데이터의 일례를 도시하는 도면.
도 8의 (A) 및 (B)는 PC(11a) 및 KVM 스위치(1)에 의해 실행되는 처리를 나타내는 플로우차트.
도 9의 (A)는 PC(11a), KVM 스위치(1) 및 서버(2a)에서의 데이터의 처리 경로를 모델화한 도면, (B)는 가속 계수의 검출 처리를 나타내는 플로우차트.
도 10은 PC(11a)의 화면의 일례를 도시하는 도면.
도 11은 가속 계수의 검출 처리를 반자동으로 실행하는 경우를 나타내는 플로우차트.
도 12의 (A)는, 제2 실시 형태에 따른 PC(11a) 및 KVM 스위치(1)에 의해 실행되는 처리를 나타내는 플로우차트, (B)는 (A)의 변형예를 나타내는 플로우차트.
도 13의 (A)는 제3 실시 형태에 따른 로컬(서버(2a) 및 KVM 스위치(1)측)의 화면을 도시하는 도면, (B)는 제3 실시 형태에 따른 리모트(PC(11a)측)의 화면을 도시하는 도면.
도 14의 (A)는 제3 실시 형태에 따른 KVM 스위치(1) 및 PC(11a)에서 실행되는 처리를 나타내는 플로우차트, (B)는 (A)의 일부의 처리의 변형예를 나타내는 플로우차트.
도 15는 KVM 스위치(1)에 의해 실행되는 처리를 나타내는 플로우차트.
도 16은 제4 실시 형태에 따른 PC(11a)의 화면의 일례를 도시하는 도면.
도 17은 PC(11a)의 CPU(31)가 실행하는 처리를 나타내는 플로우차트.
도 18은 KVM 스위치(1)의 컨트롤러(101)가 실행하는 처리를 나타내는 플로우차트.
도 19는 종래의 서버의 화면과 리모트 PC의 화면의 관계를 나타내는 도면.
도 20은 종래의 리모트 PC의 화면의 일례를 도시하는 도면.
도 21의 (A)는 종래의 로컬의 화면의 일례를 도시하는 도면, (B)는 종래의 리모트의 화면의 일례를 도시하는 도면.
도 22는 종래의 리모트 PC의 화면의 일례를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : KVM 스위치
2a, 2b : 서버
3, 12a, 12b : 모니터
4, 13a, 13b : 키보드
5, 14a, 14b : 마우스
21, 31 : CPU
22, 32 : ROM
23, 33 : RAM
24, 34 : 하드 디스크 드라이브(HDD)
26, 36 : 비디오 인터페이스
27, 37 : 네트워크 인터페이스
28, 38 : USB 인터페이스
101 : 컨트롤러
102 : 스위칭 회로
105 : 메모리

Claims (37)

  1. 조작 부재로부터 조작 데이터를 입력받는 입력 수단과,
    상기 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 조작 데이터에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단과,
    상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 검출 수단은,
    상기 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 커서의 이동량을 산출하는 제1 산출 수단과,
    상기 서버의 커서의 화상을 추출하는 추출 수단과,
    상기 조작 데이터에 따라서 이동하는 상기 추출된 서버의 커서의 화상의 이 동 후의 위치를 검출하는 위치 검출 수단과,
    상기 추출된 서버의 커서의 화상의 이동 전의 위치와 상기 검출된 서버의 커서의 화상의 이동 후의 위치에 기초하여, 상기 서버의 커서의 이동량을 산출하는 제2 산출 수단과,
    상기 조작 데이터와, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제1 작성 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 제1 테이블 데이터에 기초하여, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제2 작성 수단
    을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 검출 수단은,
    상기 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 커서의 이동량 을 산출하는 제3 산출 수단과,
    오퍼레이터의 조작에 의해 상기 서버의 커서의 이동 후의 좌표를 검출하는 좌표 검출 수단과,
    상기 좌표 검출 수단에 의해 검출되는 전회의 좌표와 금회의 좌표에 기초하여, 상기 서버의 커서의 이동량을 산출하는 제4 산출 수단과,
    상기 조작 데이터와, 상기 제3 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제4 산출 수단에 의해 산출된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제3 작성 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  5. 제4항에 있어서,
    상기 제1 테이블 데이터에 기초하여, 상기 제3 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제4 산출 수단에 의해 산출된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제4 작성 수단
    을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
  6. 제3항 또는 제5항에 있어서,
    상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 KVM 스위치 또 는 상기 서버로부터 수신하는 수신 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  7. 제3항 또는 제5항에 있어서,
    상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 KVM 스위치 또는 상기 서버에 송신하는 송신 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 정보 처리 장치의 커서의 이동 범위를, 상기 서버의 커서가 표시되는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우 내에 제한하는 제한 수단
    을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
  9. 제8항에 있어서,
    상기 정보 처리 장치의 커서의 이동 범위의 제한을 유효로 할지 또는 무효로 할지를 선택하는 선택 수단
    을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
  10. 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장 치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 표시하는 정보 처리 장치로서,
    상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환된 시점의 상기 정보 처리 장치의 커서의 위치를 보존하는 보존 수단과,
    상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 취득하는 취득 수단과,
    상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환한 후, 상기 제2 조작 부재가 조작되면, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 현재의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  11. 제10항에 있어서,
    상기 보존 수단은, 상기 정보 처리 장치의 커서의 이동량과, 상기 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는, 상기 제2 조작 부재로부터 출력되는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 테이블 데이터를 갖고,
    상기 제어 수단은, 상기 테이블 데이터에 기초하여 상기 합산값에 대응하는 단일 또는 복수의 조작 데이터를 상기 서버에 출력하는 것을 특징으로 하는 정보 처리 장치.
  12. 제10항에 있어서,
    상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값은, 상기 서버의 커서의 화상을 추출하고, 상기 제1 조작 부재의 조작에 의해 이동하는 상기 추출된 서버의 커서의 화상의 이동 후의 위치를 검출하고, 상기 추출된 서버의 커서의 화상의 이동 전의 위치와 상기 검출된 서버의 커서의 화상의 이동 후의 위치에 기초하여, 상기 서버의 커서의 이동량을 산출함으로써 구해지는 산출값인 것을 특징으로 하는 정보 처리 장치.
  13. 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 포함하는 윈도우를 표시하는 정보 처리 장치로서,
    상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 보존하는 보존 수단과,
    상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도 달했을 때에, 그 도달한 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단
    을 구비하는 것을 특징으로 하는 정보 처리 장치.
  14. 제13항에 있어서,
    상기 제어 수단은, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부의 이동 중에, 상기 제1 조작 부재의 조작에 의해 상기 서버의 커서가 이동된 경우에는, 상기 서버의 커서의 이동 전의 좌표와 이동 후의 좌표의 차분을 산출하고, 그 차분을 상기 보존 수단에 보존하고,
    상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분과 상기 보존된 차분을 합성하고, 그 합성값을 상기 서버에 출력하는 것을 특징으로 하는 정보 처리 장치.
  15. 조작 부재가 접속된 정보 처리 장치와 서버 사이에 접속되는 KVM 스위치로서,
    상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단과,
    상기 조작 부재로부터 출력되는 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동 량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단과,
    상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단
    을 구비하는 것을 특징으로 하는 KVM 스위치.
  16. 제15항에 있어서,
    상기 검출 수단은,
    상기 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 커서의 이동량을 산출하는 제1 산출 수단과,
    상기 서버의 커서의 화상을 추출하는 추출 수단과,
    상기 조작 데이터에 따라서 이동하는 상기 추출된 서버의 커서의 화상의 이동 후의 위치를 검출하는 위치 검출 수단과,
    상기 추출된 서버의 커서의 화상의 이동 전의 위치와 상기 검출된 서버의 커서의 화상의 이동 후의 위치에 기초하여, 상기 서버의 커서의 이동량을 산출하는 제2 산출 수단과,
    상기 조작 데이터와, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제1 작성 수단
    을 구비하는 것을 특징으로 하는 KVM 스위치.
  17. 제16항에 있어서,
    상기 제1 테이블 데이터에 기초하여, 상기 제1 산출 수단에 의해 산출된 정보 처리 장치의 커서의 이동량과, 상기 제2 산출 수단에 의해 산출된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제2 작성 수단
    을 더 구비하는 것을 특징으로 하는 KVM 스위치.
  18. 제17항에 있어서,
    상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 서버로부터 수신하는 수신 수단
    을 구비하는 것을 특징으로 하는 KVM 스위치.
  19. 제17항에 있어서,
    상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 서버에 송신하는 송신 수단
    을 구비하는 것을 특징으로 하는 KVM 스위치.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 정보 처리 장치의 커서의 이동 범위를, 상기 서버의 커서가 표시되는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우 내에 제한하는 제한 수단
    을 더 구비하는 것을 특징으로 하는 KVM 스위치.
  21. 제20항에 있어서,
    상기 정보 처리 장치의 커서의 이동 범위의 제한을 유효로 할지 또는 무효로 할지를 선택하는 선택 수단
    을 더 구비하는 것을 특징으로 하는 KVM 스위치.
  22. 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치로서,
    상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하여 보존함과 함께 상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 보존하는 보존 수단과,
    상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하고, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단
    을 구비하는 것을 특징으로 하는 KVM 스위치.
  23. 제22항에 있어서,
    상기 보존 수단은, 상기 정보 처리 장치의 커서의 이동량과, 상기 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는, 상기 제2 조작 부재로부터 출력되는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 테이블 데이터를 갖고,
    상기 제어 수단은, 상기 테이블 데이터에 기초하여 상기 합산값에 대응하는 단일 또는 복수의 조작 데이터를 상기 서버에 출력하는 것을 특징으로 하는 KVM 스위치.
  24. 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치로서,
    상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 상기 정보 처리 장치로부터 취득하여 보존하는 보존 수단과,
    상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표를 상기 정보 처리 장치로부터 취득하고, 그 취득된 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단
    을 구비하는 것을 특징으로 하는 KVM 스위치.
  25. 제24항에 있어서,
    상기 제어 수단은, 상기 정보 처리 장치의 커서가 상기 윈도우의 외부의 이동 중에, 상기 제1 조작 부재의 조작에 의해 상기 서버의 커서가 이동된 경우에는, 상기 서버의 커서의 이동 전의 좌표와 이동 후의 좌표의 차분을 산출하고, 그 차분을 상기 보존 수단에 보존하고,
    상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표를 상기 정보 처리 장치로부터 취득 하고, 그 취득된 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분과 상기 보존된 차분을 합성하고, 그 합성값을 상기 서버에 출력하는 것을 특징으로 하는 KVM 스위치.
  26. 조작 부재가 접속된 정보 처리 장치와 KVM 스위치를 통하여 접속되는 서버로서,
    상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단과,
    상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터의 입력순에 기초하여, 상기 조작 부재로부터 출력되는 조작 데이터를 결정하는 결정 수단과,
    상기 결정된 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단과,
    상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터에 기초하여 상기 서버의 커서를 이동시키는 이동 수단
    을 구비하는 것을 특징으로 하는 서버.
  27. 제26항에 있어서,
    상기 검출 수단은,
    상기 입력 수단에 의해 입력된 정보 처리 장치의 커서의 이동량의 데이터에 가속 처리를 실시하고, 상기 서버의 커서의 이동량을 취득하는 취득 수단과,
    상기 결정 수단에 의해 결정된 조작 데이터와, 상기 입력 수단에 의해 입력된 정보 처리 장치의 커서의 이동량과, 상기 취득 수단에 의해 취득된 서버의 커서의 이동량과의 대응 관계를 나타내는 제1 테이블 데이터를 작성하는 제1 작성 수단
    을 구비하는 것을 특징으로 하는 서버.
  28. 제27항에 있어서,
    상기 제1 테이블 데이터에 기초하여, 상기 입력 수단에 의해 입력된 정보 처리 장치의 커서의 이동량과, 상기 취득 수단에 의해 취득된 서버의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동량과 그 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터와의 대응 관계를 나타내는 제2 테이블 데이터를 작성하는 제2 작성 수단
    을 더 구비하는 것을 특징으로 하는 서버.
  29. 제28항에 있어서,
    상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장 치 또는 상기 KVM 스위치로부터 수신하는 수신 수단
    을 구비하는 것을 특징으로 하는 서버.
  30. 제28항에 있어서,
    상기 제1 테이블 데이터 또는 상기 제2 테이블 데이터를 상기 정보 처리 장치 또는 상기 KVM 스위치에 송신하는 송신 수단
    을 구비하는 것을 특징으로 하는 서버.
  31. 정보 처리 장치를,
    조작 부재로부터 조작 데이터를 입력받는 입력 수단,
    상기 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면 내에 설치된 윈도우에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 조작 데이터에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단, 및
    상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  32. 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 표시하는 정보 처리 장치를,
    상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환된 시점의 상기 정보 처리 장치의 커서의 위치를 보존하는 보존 수단,
    상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 취득하는 취득 수단, 및
    상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환한 후, 상기 제2 조작 부재가 조작되면, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 현재의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  33. 제1 조작 부재가 접속되는 KVM 스위치를 통하여 서버에 접속됨과 함께, 제2 조작 부재가 접속되고, 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 상기 서버의 커서를 포함하는 윈도우를 표시하는 정보 처리 장치를,
    상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 보존하는 보존 수단, 및
    상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  34. 조작 부재가 접속된 정보 처리 장치와 서버 사이에 접속되는 KVM 스위치를,
    상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단,
    상기 조작 부재로부터 출력되는 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의 해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단, 및
    상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터를 서버에 출력하는 출력 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  35. 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치를,
    상기 제2 조작 부재의 조작으로부터 상기 제1 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하여 보존함과 함께 상기 제1 조작 부재의 조작 중에, 상기 KVM 스위치로부터 상기 서버에 출력된 데이터의 누적값을 보존하는 보존 수단, 및
    상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 상기 정보 처리 장치의 커서의 위치를 상기 정보 처리 장치로부터 취득하고, 상기 보존된 정보 처리 장치의 커서의 위치 및 상기 취득된 누적값에 기초하여, 현재의 서버의 커서의 위치를 산출하고, 그 현재의 서버의 커서의 위치와 상기 제1 조작 부재의 조작으로부터 상기 제2 조작 부재의 조작으로 절환되었을 때의 정보 처리 장치의 커서의 위치의 차분을 산출하고, 그 산출된 차분과 상기 제2 조작 부재의 조작에 의한 정보 처리 장치의 커서의 이동량의 합산값을 상기 서버에 출력하는 제어 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  36. 제1 조작 부재가 접속되는 KVM 스위치이고, 또한 제2 조작 부재가 접속됨과 함께 상기 제2 조작 부재의 조작에 의해 이동하는 정보 처리 장치의 커서와 상기 제1 조작 부재 및 상기 제2 조작 부재 중 어느 한쪽의 조작에 의해 이동하는 서버의 커서를 표시하는 정보 처리 장치, 및 상기 서버에 접속 가능한 KVM 스위치를,
    상기 제2 조작 부재의 조작에 의해 상기 정보 처리 장치의 커서가 상기 윈도우의 외부로 이동할 때에 통과하는 상기 윈도우의 틀 위의 좌표이고, 또한 상기 서버의 커서의 위치와 상기 정보 처리 장치의 커서의 위치가 일치하는 좌표를 상기 정보 처리 장치로부터 취득하여 보존하는 보존 수단, 및
    상기 정보 처리 장치의 커서가 상기 윈도우의 외부로부터 상기 윈도우에 도달했을 때에, 그 도달한 윈도우의 틀 위의 좌표를 상기 정보 처리 장치로부터 취득하고, 그 취득된 윈도우의 틀 위의 좌표와 상기 보존된 좌표의 차분을 산출하고, 그 차분을 상기 서버에 출력하는 제어 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  37. 조작 부재가 접속된 정보 처리 장치와 KVM 스위치를 통하여 접속되는 서버를,
    상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터를 입력받는 입력 수단과,
    상기 정보 처리 장치의 커서의 이동량을 나타내는 데이터의 입력순에 기초하여, 상기 조작 부재로부터 출력되는 조작 데이터를 결정하는 결정 수단과,
    상기 결정된 조작 데이터와, 그 조작 데이터에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 그 정보 처리 장치의 커서의 이동량과, 그 정보 처리 장치의 커서의 이동에 따라서 이동하는, 상기 정보 처리 장치의 화면에 표시되는 서버의 커서의 이동량과의 대응 관계 및 상기 입력 수단에 의해 입력된 데이터가 나타내는 정보 처리 장치의 커서의 이동량에 기초하여, 상기 정보 처리 장치의 커서의 이동량과 상기 서버의 커서의 이동량이 일치하도록 하는 단일 또는 복수의 조작 데이터를 검출하는 검출 수단, 및
    상기 검출 수단에 의해 검출된 단일 또는 복수의 조작 데이터에 기초하여 상기 서버의 커서를 이동시키는 이동 수단
    으로서 기능시키는 것을 특징으로 하는 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
KR1020080084465A 2007-08-29 2008-08-28 정보 처리 장치, kvm 스위치, 서버 및 기록 매체 KR100995461B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007222925A JP5127366B2 (ja) 2007-08-29 2007-08-29 情報処理装置、kvmスイッチ、サーバ及び制御プログラム
JPJP-P-2007-00222925 2007-08-29

Publications (2)

Publication Number Publication Date
KR20090023221A true KR20090023221A (ko) 2009-03-04
KR100995461B1 KR100995461B1 (ko) 2010-11-18

Family

ID=40149668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080084465A KR100995461B1 (ko) 2007-08-29 2008-08-28 정보 처리 장치, kvm 스위치, 서버 및 기록 매체

Country Status (5)

Country Link
US (1) US8706922B2 (ko)
EP (3) EP2031489B1 (ko)
JP (1) JP5127366B2 (ko)
KR (1) KR100995461B1 (ko)
CN (3) CN101377724B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
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
CN103516752B (zh) * 2012-06-25 2017-03-15 3M创新有限公司 一种终端设备及其执行的方法
WO2014011642A1 (en) * 2012-07-10 2014-01-16 Avocent Huntsville Corp. SYSTEM AND METHOD FOR ACCESSING REMOTE DISK IMAGES USING A vMEDIA CLIENT AND THROUGH A REMOTE ACCESS APPLIANCE
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.
CN106843537B (zh) * 2012-12-31 2019-09-03 华为技术有限公司 鼠标同步的方法、装置和系统
CN103220339B (zh) * 2013-03-27 2016-01-13 北京奇虎科技有限公司 远程操作中的光标轨迹显示方法、装置和系统
JP6089880B2 (ja) * 2013-03-28 2017-03-08 富士通株式会社 情報処理装置,情報処理方法及び情報処理プログラム
JP6280435B2 (ja) * 2014-04-28 2018-02-14 富士通コンポーネント株式会社 プログラム、中継装置及び情報処理装置
TWI497400B (zh) * 2014-06-10 2015-08-21 Aten Int Co Ltd 自動辨識游標所在螢幕之方法
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)

* Cited by examiner, † Cited by third party
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
EP0949250B1 (en) 1998-03-30 2006-05-03 F. Hoffmann-La Roche Ag Process for manufacturing alpha1L-adrenoceptor antagonists
JP2000034384A (ja) * 1998-07-17 2000-02-02 Otsuka Chem Co Ltd 樹脂組成物及び摺動部材
ATE354824T1 (de) * 1998-09-22 2007-03-15 Avocent Huntsville Corp System zum fernzugriff auf personalcomputer
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 東洋鋼鈑株式会社 生体関連分子の相互作用を検出するための方法及びそれに用いる担体支持部材

Also Published As

Publication number Publication date
EP2031489A3 (en) 2009-12-23
CN101893941B (zh) 2012-11-14
EP2031487A2 (en) 2009-03-04
EP2031488A3 (en) 2009-12-23
JP2009054114A (ja) 2009-03-12
JP5127366B2 (ja) 2013-01-23
US8706922B2 (en) 2014-04-22
EP2031489A2 (en) 2009-03-04
EP2031488B1 (en) 2016-03-02
US20090058804A1 (en) 2009-03-05
CN101377724B (zh) 2011-05-04
CN101377724A (zh) 2009-03-04
CN101887317A (zh) 2010-11-17
KR100995461B1 (ko) 2010-11-18
CN101887317B (zh) 2012-07-04
EP2031487B1 (en) 2013-08-07
EP2031487A3 (en) 2009-12-30
EP2031488A2 (en) 2009-03-04
EP2031489B1 (en) 2016-02-24
CN101893941A (zh) 2010-11-24

Similar Documents

Publication Publication Date Title
KR100995461B1 (ko) 정보 처리 장치, kvm 스위치, 서버 및 기록 매체
US9128526B2 (en) Operation control device, operation control method, and computer-readable recording medium for distinguishing an intended motion for gesture control
US7849421B2 (en) Virtual mouse driving apparatus and method using two-handed gestures
EP1837741A2 (en) Gestural input for navigation and manipulation in virtual space
EP2669774A2 (en) Method for controlling application program and electronic device thereof
JPWO2012011263A1 (ja) ジェスチャ入力装置およびジェスチャ入力方法
JP2006244078A (ja) 表示制御装置及びその制御方法
JP2012027515A (ja) 入力方法及び入力装置
CN105320437A (zh) 选择字符或图像的方法及计算设备
JP3959163B2 (ja) データ入力装置及び同装置に適用する座標変換方法
JP5274688B2 (ja) 情報処理装置、kvmスイッチ及び制御プログラム
JP2016119019A (ja) 情報処理装置、情報処理方法、プログラム
JP5907270B2 (ja) 電子機器、表示制御方法及びプログラム
JP5197868B2 (ja) 情報処理装置、kvmスイッチ及び制御プログラム
JPWO2008059614A1 (ja) ダイレクトポインティングデバイスを使用するゲーム装置において実行され、表示されるオブジェクトの移動制御を行うプログラム
JP2013109538A (ja) 入力方法及び入力装置
JP2008046762A (ja) 切替器およびタッチパネルの較正方法
JP5565675B2 (ja) 電子機器操作支援装置、電子機器操作支援システムおよび電子機器操作支援プログラム
KR20060116112A (ko) 포인트 디바이스의 이동패턴을 이용한 소프트웨어의 기능제어 방법, 시스템 및 기록매체
EP4252871A1 (en) System, imaging device, information processing device, information processing method, and information processing program
CN111782118B (zh) 一体机上的画面平移方法、装置、存储介质及一体机设备
US20220281115A1 (en) Screen image transition information generation device, screen image transition information generation method, screen image transition information generation program, and screen image transition information generation system
JP2011008633A (ja) 情報処理装置および電子ファイル操作プログラム
JP6825447B2 (ja) 制御プログラム、操作連携方法及び情報処理装置
JP2007072503A (ja) 映像表示機能付座標入力制御装置及びその制御方法、プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131022

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141021

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee