KR100269529B1 - 스크린의원격복제및리프레시방법,그시스템과원격제어시스템 - Google Patents

스크린의원격복제및리프레시방법,그시스템과원격제어시스템 Download PDF

Info

Publication number
KR100269529B1
KR100269529B1 KR1019970033057A KR19970033057A KR100269529B1 KR 100269529 B1 KR100269529 B1 KR 100269529B1 KR 1019970033057 A KR1019970033057 A KR 1019970033057A KR 19970033057 A KR19970033057 A KR 19970033057A KR 100269529 B1 KR100269529 B1 KR 100269529B1
Authority
KR
South Korea
Prior art keywords
data processing
processing system
image
bit
display unit
Prior art date
Application number
KR1019970033057A
Other languages
English (en)
Other versions
KR19980024091A (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 KR19980024091A publication Critical patent/KR19980024091A/ko
Application granted granted Critical
Publication of KR100269529B1 publication Critical patent/KR100269529B1/ko

Links

Images

Classifications

    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

네트워크를 통해 제어기 컴퓨터에 의해 타겟 컴퓨터의 원격 제어를 행하는 방법 및 시스템이 제공된다. 타겟 컴퓨터의 그래픽 엔진에 의해 송출되는 그래픽 커맨드는 "후크(hook)"되며, 시스템 독립적인 포맷으로 변환된다. 그 후, 변환된 커맨드는 디스플레이상에 재생될 제어기 컴퓨터로 전송된다. 오퍼레이팅 시스템으로부터의 독립성은, 동일 프로토콜에 따라 커맨드가 재변환되는 제어기 컴퓨터로의 전송 전에 타겟 컴퓨터의 그래픽 커맨드의 서브세트를 변환하는데 사용되는 프로토콜을 정의함으로써 실현된다.

Description

스크린의 원격 복제 및 리프레쉬 방법, 그 시스템과 원격 제어 시스템{SCREEN REMOTE CONTROL}
본 발명은 원격 제어 시스템에 관한 것으로, 특히 목적지 시스템의 스크린상에 소스 데이터 처리 시스템의 스크린 이미지를 복제(duplicating)하는 시스템 및 방법에 관한 것이다.
원격 제어 프로그램은 통신 애플리케이션의 특별한 분야이다. 원격 제어 프로그램은 단지 하나의 컴퓨터와 이를 실질적으로 제어하기 위해 다른 하나의 컴퓨터를 접속시키는 기능 이상의 기능을 행한다. 전화선 및 모뎀 또는 LAN 접속을 통해 접속함으로써 이들 프로그램은 통상 타겟(target)이라 불리우는 하나의 데이터 처리 시스템(예를 들어, 퍼스널 컴퓨터 혹은 워크스테이션)의 모든 자원을 통상 제어기라 불리우는 다른 데이터 처리 시스템(예를 들어, LAN과 접속된 퍼스널 컴퓨터 또는 워크스테이션)의 완벽한 제어하에 둘 수 있다. 제어기 스크린은 타겟 스크린을 복제한다. 제어기의 키보드로 타겟 데이터 처리 시스템에 직접 문자를 입력할 수 있으며, 제어기의 마우스로 타겟 스크린상의 마우스 포인터를 이동시킬 수 있다. 제어기 스크린은 타겟 데이터 처리 시스템 스크린으로부터 계속적으로 데이터를 수신한다. 마찬가지로, 제어기의 키보드로 키가 입력될 때마다 타겟 데이터 처리 시스템으로 데이터가 전송된다. 모든 실용적인 목적에 대해, 제어기 사용자는 타겟 데이터 처리 시스템 앞에 앉아 있는 것과 같을 수 있다.
이러한 종류의 원격 제어 소프트웨어는 여러 환경에서 유용할 수 있다. 단지 하나의 예로서, 사무실 퍼스널 컴퓨터 시스템을 홈(home) 퍼스널 컴퓨터로 제어하여 동작시킬 수 있다. 사무실 PC가 모뎀에 접속되어 있을 경우, 홈 PC로 제어할 수 있으며, 타겟 PC의 모든 자원을 원격적으로 제어하고 사용할 수 있다. 사무실의 네트워크 접속된 PC로 (모뎀을 통해) 전화를 해서, 로그 인(log in)하여, 네트워크 애플리케이션을 작동시키거나 혹은 네트워크상의 공유 파일을 갱신하는 것은 좀 더 특별한 사용의 예이다.
모뎀에 의해 야기되는 병목 현상은 원격 제어 동작의 속도에 중요한 영향을 미칠 수 있다. 성능을 향상시키기 위해, 원격 제어 프로그램은 통신 라인(LAN 혹은 전화 케이블)을 통해 전송될 필요가 있는 데이터의 양을 줄이고 최소화하려 한다. 제어기 PC상에 복제되어야 될 타겟 PC의 디스플레이 스크린상의 비디오 이미지의 리프레쉬는 전송되어야 할 정보의 양이 많으므로 전송 속도면에서 중요한 사항이다. 과거에, 원격 제어 프로그램은 매순간 타겟 PC 스크린의 전체 이미지를 원격 PC로 전송하고 리프레쉬하는 동작을 행하였다. 스크린 이미지가 제어기 PC로 전송되는 일정한 비율을 스크린 리프레쉬 비율이라 불렀다. 제어기 PC 스크린은 타겟 PC에서의 변화가 다음 스크린 리프레쉬에 포함될 때 타겟 PC 스크린을 정확히 반영하였다. 물론 이 방안은, 각 리프레쉬마다 전송될 광대한 데이터의 양때문에, 속도면에서 그다지 만족스럽지 못했다.
종종, 이미지의 변화는 스크린의 작은 부분에 한정되며(예를 들어, 마우스 포인터를 이동시키는 것, 메뉴를 풀 다운하는 것, 객체를 하이라이트하는 것 등), 변화된 데이터만이 리프레쉬될 필요가 있다. 제어기 시스템은 이전에 수신된 스크린 데이터를 사용할 수 있으며, 스크린의 단지 변경된 부분을 리프레쉬한다. 불필요한 스크린 리프레쉬 데이터를 차단함으로써, 원격 제어 프로그램은 응답 시간을 향상시킬 수 있다. 캐쉬 메모리는 하드 드라이브 및 메모리 칩의 실행 속도를 높혀주며, 원격 제어 프로그램에도 또한 유용할 수 있다. 캐쉬의 이면의 아이디어는 신속히 액세스할 수 있는 일시 기억 장소에 최근에 사용된 데이터를 유지시키는 것이다. 데이터를 곧 다시 사용해야 할 경우, 원래의 소스로부터 검색하는 것보다 고속 액세스 일시 기억 장소로부터 이 데이터를 액세스하는 것이 더 빠르다. 이러한 기법에 따르면, 최근에 디스플레이된 스크린의 요소는 확장된 메모리내에 캐쉬로서 저장된다. 전체 페이지가 제어기 PC 스크린 캐쉬로부터 재인출되므로, 모뎀을 통해 타겟으로부터 제어기 PC로 많은 양의 정보를 전송할 필요가 없게 된다. 스크린 캐쉬로부터 종종 재인출되는 스크린 요소는 비트맵, 텍스트, 폰트를 포함한다.
미국 특허 제 5,491,780 호에는, 타겟 컴퓨터의 그래픽 커맨드에 의해 실제로 영향을 받는 스크린의 부분만으로 전송 및 리프레쉬를 제한함으로써, 비트맵 이미지의 전송량을 감소시키는 기법이 개시되어 있다.
어쨌든 전술한 기법은 통신 라인을 통해 전송될 이미지 데이터의 양은 감소시키지만, 이미지가 변경될 때마다 통상 비트맵의 형태인 이미지 부분의 전송은 피할 수 없다. 이러한 전송 방법은, 변경된 영역을 갖는 비트맵이 모뎀 또는 LAN을 통해서는 저속으로밖에 전송될 수 없기 때문에 여전히 원격 제어 프로그램의 병목 현상을 나타나며, 큰 비트맵을 필요로 하는 많은 변경이 발생할 경우 이는 더 심각해질 수 있다.
본 발명의 목적은 전술한 결점을 극복할 수 있는 기법을 제공하는데 있다.
도 1은 본 발명의 방법 및 시스템을 구현하는데 사용될 수 있는 네트워크 및 퍼스널 컴퓨터를 개략적으로 도시한 도면,
도 2는 본 발명의 바람직한 실시예를 개략적으로 도시한 도면,
도 3은 본 발명의 바람직한 실시예에 따른 방법의 단계를 개략적으로 도시한 도면,
도 4는 본 발명의 일실시예를 개략적으로 도시한 도면.
도면의 주요 부분에 대한 부호의 설명
203 : 그래픽 엔진 205 : 디스플레이 드라이버
207 : 디스플레이 209 : 후크 디스플레이 드라이버
213 : 디스플레이 드라이버 215 : 디스플레이
본 발명에 따르면, 소스 데이터 처리 시스템상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템상에 복제 및 리프레쉬하는 방법이 제공되는데, 상기 적어도 하나의 목적지 데이터 처리 시스템은 그래픽 이미지를 디스플레이하는 제 1 디스플레이 유닛과, 상기 제 1 디스플레이 유닛상의 이미지를 변경하는 제 1 디스플레이 드라이버를 포함하고,
상기 소스 데이터 처리 시스템은, 이미지를 디스플레이하는 제 2 디스플레이 유닛과, 다수의 그래픽 커맨드를 발생하는 그래픽 엔진과, 상기 그래픽 엔진에 의해 발생된 상기 그래픽 커맨드에 따라 상기 제 2 디스플레이 유닛상의 상기 이미지를 변경하는 제 2 디스플레이 드라이버를 포함하며,
상기 적어도 하나의 목적지 데이터 처리 시스템과 상기 소스 데이터 처리 시스템은 네트워크를 통해 접속되고,
상기 그래픽 이미지를 복제 및 리프레쉬하는 방법은,
상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드를 인터셉트하는 단계와,
상기 그래픽 커맨드를 상기 제 2 디스플레이 드라이버로 전달하는 단계와,
사전정의된 프로토콜에 따라, 상기 그래픽 커맨드의 서브세트를 오퍼레이팅 시스템과 독립적인 포맷으로 변환하는 단계와,
상기 네트워크를 통해 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 단계와,
상기 프로토콜에 따라, 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템 포맷으로 변환하는 단계와,
상기 변환된 그래픽 커맨드를 상기 제 1 디스플레이 드라이버로 전달하는 단계를 포함한다.
또한, 본 발명에 따르면 소스 데이터 처리 시스템상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템상에 복제 및 리프레쉬하는 시스템이 제공되는데, 상기 적어도 하나의 목적지 데이터 처리 시스템은
그래픽 이미지를 디스플레이하는 제 1 디스플레이 유닛과, 상기 제 1 디스플레이 유닛상의 이미지를 변경하는 제 1 디스플레이 드라이버를 포함하고,
상기 소스 데이터 처리 시스템은,
이미지를 디스플레이하는 제 2 디스플레이 유닛과, 다수의 그래픽 커맨드를 발생하는 그래픽 엔진과, 상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드에 따라 상기 제 2 디스플레이 유닛상의 상기 이미지를 변경하는 제 2 디스플레이 드라이버를 포함하며,
상기 적어도 하나의 목적지 데이터 처리 시스템과 상기 소스 데이터 처리 시스템은 네트워크를 통해 접속되고,
상기 시스템은,
상기 그래픽 엔진에 의해 발생된 상기 그래픽 커맨드를 인터셉트하는 수단과,
상기 그래픽 커맨드를 상기 제 2 디스플레이 드라이버로 전달하는 통신 수단과,
사전정의된 프로토콜에 따라, 상기 그래픽 커맨드의 서브세트를 오퍼레이팅 시스템과 독립적인 포맷으로 변환하는 수단과,
상기 시스템과 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 네트워크 수단과,
상기 프로토콜에 따라, 상기 시스템과 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템 포맷으로 변환하는 수단과,
상기 변환된 그래픽 커맨드를 상기 제 1 디스플레이 드라이버로 전달하는 통신 수단을 포함한다.
이하, 본 발명의 다양한 실시예가 첨부된 도면을 참조하여 예로서 상세히 기술될 것이다.
도 1은 원격 제어 시스템이 구현될 수 있는 전형적인 근거리 통신망(LAN)의 일예를 도시한 도면이다. 근거리 통신망은 둘 이상의 데이터 처리 시스템간에 통신 브릿지로서 동작하는 LAN 서버(101)를 포함한다. 다른 접속 시스템에서, 서버의 기능은 예를 들어 브릿지, 모뎀, 케이블 혹은 일반적으로 둘 이상의 데이터 처리 시스템간에 놓여서 이들을 접속시키는 임의의 장치에 의해 수행될 수 있다.
데이터 처리 시스템(105)은 제어기이며, 대안적으로 다른 데이터 처리 시스템(103, 107, 109)중 하나의 제어를 담당할 수 있다.
데이터 처리 시스템(103, 105, 107, 109)은 시중에서 구입할 수 있는 퍼스널 컴퓨터 혹은 워크스테이션일 수 있다. 바람직하게 이들은 당 분야에 잘 알려진 방식으로 결합된 디스플레이 유닛 및 키보드를 구비한다. 부가적으로, 데이터 처리 시스템은 메인 프로세서 및 메모리에 부가하여 고정된 디스크 드라이브 및 디스켓 드라이브를 장착할 수 있는 프로세서 시스템 유닛을 포함한다. 또한, 그래픽 사용자 인터페이스의 사용을 용이하게 하기 위해, 데이터 처리 시스템은 바람직하게 스크린상의 시각적 디스플레이내의 포인터의 위치를 조작하는 데 이용될 수 있는 마우스와 같은 그래픽 포인팅 디바이스를 구비한다.
당 분야에 통상의 지식을 가진 자라면, 전술한 데이터 처리 시스템이 IBM사에 의해 제조된 PS/2 퍼스널 컴퓨터와 같은 임의의 최신 퍼스널 컴퓨터를 사용하여 구현될 수 있음을 이해할 것이다. (PS/2는 IBM사의 등록상표이다.)
데이터 처리 시스템에는 통상 그래픽 사용자 인터페이스(GUI)가 구비되어서 사용자가 데이터 처리 시스템을 제어하여 시스템 디스플레이상에 사용자 조작의 결과를 나타낼 수 있게 한다. 그래픽 사용자 인터페이스에서, 애플리케이션 및 데이터는 일반적으로 사용자 인터페이스상에 도시된 객체로서 제공된다. 또한, 사용자에게는 도시된 객체의 그래픽 선택 및 이들 객체에 대응하는 애플리케이션의 조작을 허용하는 복합 데이터 처리 시스템에 대한 그래픽적이고 직관적인 인터페이스가 제공된다.
전술한 구성을 사용하는 상업적으로 이용가능한 다수의 상이한 그래픽 사용자 인터페이스 환경이 존재한다. 이들 환경에는 애플 컴퓨터사(Apple Computer, INC.)에 의해 개발된 시스템 7 오퍼레이팅 시스템(시스템 7은 애플 컴퓨터사의 등록상표임)과, 마이크로소프트사에 의해 개발된 윈도즈(Windows) 그래픽 사용자 인터페이스(윈도즈는 마이크로소프트사의 등록상표임)와, IBM사에 의해 개발된 OS/2 프리젠테이션 매니저(Presentation Manager)(OS/2와 프리젠테이션 매니저는 IBM사의 등록상표임)가 포함된다.
윈도우 환경은 일반적으로 컴퓨터 시스템(100)의 동작을 제어하기 위한 유틸리티 프로그램의 집합을 포함하는 오퍼레이팅 시스템 소프트웨어의 일부분이다.
도 1에 도시된 예에서, 제어는 타겟 시스템으로 정의된 시스템(103)에 대해 행해지며, 시스템(103)의 모든 자원은 제어기 시스템에 의해 사용되어, 작동될 수 있다. 이러한 제어를 수행하기 위해, 시스템(105)은 자신의 디스플레이상에 타겟 디스플레이(103)의 정확한 카피(copy)를 나타낼 수 있어야 한다.
도 2를 참조하면, 본 발명의 바람직한 실시예가 도시된다. 최신 그래픽 오퍼레이팅 시스템하에서, 애플리케이션은 오퍼레이팅 시스템 그래픽 엔진(203)에 의해 제공되는, 디바이스와 독립적인 API 세트를 통해 스크린상에 이미지를 디스플레이하거나 변경할 수 있다. 그래픽 엔진(203)은 드라이버에 대해 작성된 드라이버상의 적절한 동작을 수행하는 디스플레이 드라이버(205)의 입력점(entry point)을 호출함으로써 그래픽 동작을 수행한다. 드라이버는 그래픽 프레임 버퍼 혹은 하드웨어에 의해 직접 관리되는 디스플레이(207)를 변경시키기 때문에 동작의 종점(end point)이다.
본 발명에 따르면, 다른 모듈이 시스템내에 삽입된다. 후크(hook) 디스플레이 드라이버(209)는 그래픽 엔진(203)에 의해 디스플레이 드라이버(205)로 송출되는 호출을 인터셉트한다. 그 다음, 후크 디스플레이 드라이버(209)는 그래픽 커맨드를 복제하고, 이들을 타겟 디스플레이 드라이버(205)와 제어기 디스플레이 드라이버(213)로 각각 전송해서 타겟 시스템 및 제어기 시스템상에 디스플레이되는 이미지간의 일치성을 실현한다.
명백하게, 이 해결책은 타겟 이미지의 비트맵을 전송하는 방법보다 전송 속도면에서 훨씬 더 효율적이다.
그러나, 비트맵은 어떠한 오퍼레이팅 시스템이라도 이해하고 처리할 수 있는 "보편적인 포맷"의 한 종류이지만, 커맨드 세트 전송은 타겟과 제어기의 오퍼레이팅 시스템이 동일하지 않을 경우 호환성면에서 문제가 발생할 수 있다.
이 호환성을 실현하기 위해, 본 발명에 따른 후크 디스플레이 드라이버(209)는 타겟 컴퓨터의 그래픽 엔진(203)에 의해 송출되는 그래픽 커맨드를 사전정의된 프로토콜을 사용하여 시스템 독립적인 포맷으로 변환한다. 그 후, 시스템 독립적인 커맨드가 네트워크를 통해 제어기 컴퓨터로 전송되며, 여기서 이들은 동일 프로토콜을 사용하는 디스플레이 드라이버(213)에 대한 그래픽 커맨드로 재변환된다.
본 발명의 바람직한 실시예에 따르면, 그래픽 엔진에 의해 송출되는 그래픽 커맨드의 서브세트만이 변환되고 제어기로 전송된다. 그 이유는 한정된 커맨드 세트가 디스플레이 드라이버에 의해 수행되는 대부분의 동작을 커버하기 때문이다.
이하에는 본 발명의 바람직한 실시예에서 사용되는 'C' 언어로 표현된 상수 및 데이터 구조가 정의되어 있다.
프로토콜에서 사용되는 'C' 언어로 표현된 상수 및 데이터 구조의 리스트:
Command identifier values:
#define ACCM_CMD_BITBLT 1
#define ACCM_CMD_BITBLT_SAVE 2
#define ACCM_CMD_BITBLT_HIT 3
#define ACCM_CMD_BITBLT_SRCCOPY 4
#define ACCM_CMD_SAVESCREENBITMAP_SAVE 5
#define ACCM_CMD_SAVESCREENBITMAP_RESTORE 6
#define ACCM_CMD_BITBLT_REPEAT 7
#define ACCM_CMD_TEXTOUT 8
Brush field values:
#define DIC_BRUSH_SOLID 0
#define DIC_BRUSH_HATCHED 2
#define DIC_BRUSH_PATTERN 3
#define DIC_BRUSH_SIMULATED_PATTERN 4
Extended Text Out field values:
#define ETO_OPAQUE 0x0002
#define ETO_CLIPPED 0x0004
Background field values:
#define BK_TRANSPARENT 1
#define BK_OPAQUE 2
Font identifier field values:
#define FONT_COURIER 1
#define FONT_HELV 2
#define FONT_SYSTEM 3
#define FONT_TMSROMAN 4
typedef struct tagDCAF_BITMAPINFOHEADER
{
unsigned short usSize;
unsigned short usBmpWidth;
unsigned short usBmpHeight;
unsigned char bPlanes;
unsigned char bBitcount;
} DCAF_BITMAPINFOHEADER;
typedef DCAF_BITMAPINFOHEADER *PDCAF_BITMAPINFOHEADER;
typedef struct tagDCAF_BITMAPINFO
{
DCAF_BITMAPINFOHEADER dcfbmpinfoheader;
unsigned char bBmpBytes[MAX_BRUSH_BITMAP_SIZE];
} DCAF_BITMAPINFO;
typedef DCAF_BITMAPINFO *PDCAF_BITMAPINFO;
typedef struct tagDCAF_BRUSHINFOHEADER
{
short sSize;
short sType;
long 1Color;
short sHatch;
long 1BkColor;
short usXalign;
short usYalign;
} DCAF_BRUSHINFOHEADER;
typedef DCAF_BRUSHINFOHEADER *PDCAF_BRUSHINFOHEADER;
typedef struct tagDCAF_BRUSHINFO
{
DCAF_BRUSHINFOHEADER dcfbrushinfoheader;
DCAF_BITMAPINFO dcfbmpinfo;
} DCAF_BRUSHINFO;
typedef DCAF_BRUSHINFO *PDCAF_BRUSHINFO;
typedef struct tagDCAF_BITMAPSAVER
{
unsigned short usBmpSize;
unsigned short usWidth;
unsigned short usHeight;
unsigned short usWidthBytes;
unsigned short usPlanes;
char bmp;
} DCAF_BITMAPSAVER;
typedef DCAF_BITMAPSAVER *PDCAF_BITMAPSAVER;
typedef struct _DCAFRECT {
unsigned short usRectXLeft;
unsigned short usRectYBottom;
unsigned short usRectXRight;
unsigned short usRectYTop;
} DCAFRECT;
typedef DCAFRECT *PDCAFRECT;
typedef struct _ACCM_TEXTOUT {
unsigned char bCommandType;
unsigned short usCmdLength;
unsigned short usEtoOptions;
char bClipPresent;
DCAFRECT rectClipArea;
char bOpaquePresent;
DCAFRECT rectOpaqueArea;
unsigned short usDestX;
unsigned short usDestY;
unsigned short usCount;
unsigned short usSelHeight;
unsigned short usSelWidth;
unsigned short usPointSize;
unsigned short usFaceName;
unsigned long ulBkColor;
unsigned long ulTextColor;
unsigned short usBkMode;
unsigned short usWeight;
unsigned short usWidth;
unsigned short usHeight;
char cItalic;
char cUnderline;
char cStrikeOut;
char cText;
} ACCM_TEXTOUT;
typedef ACCM_TEXTOUT *PACCM_TEXTOUT;
typedef struct _ACCM_BITBLT_CORE {
unsigned char bCommandType;
unsigned short usCmdLength;
unsigned short usDestXOrigin;
unsigned short usDestYOrigin;
unsigned short usSrcXOrigin;
unsigned short usSrcYOrigin;
unsigned short usXExtension;
unsigned short usYExtension;
long 1Rop3;
} ACCM_BITBLT_CORE;
typedef ACCM_BITBLT_CORE *PACCM_BITBLT_CORE;
typedef struct _ACCM_BITBLT {
ACCM_BITBLT_CORE bmp_core;
DCAF_BRUSHINFO Brush;
} ACCM_BITBLT;
typedef ACCM_BITBLT *PACCM_BITBLT;
typedef struct _ACCM_BITBLT_SAVE {
ACCM_BITBLT_CORE bmp_core;
unsigned char bBmpID;
DCAF_BITMAPSAVER bmpSaver;
} ACCM_BITBLT_SAVE;
typedef ACCM_BITBLT_SAVE *PACCM_BITBLT_SAVE;
typedef struct _ACCM_BITBLT_HIT {
ACCM_BITBLT_CORE bmp_core;
unsigned char bBmpID;
} ACCM_BITBLT_HIT;
typedef ACCM_BITBLT_HIT *PACCM_BITBLT_HIT;
typedef struct _ACCM_SAVESCREENBITMAP {
unsigned char bCommandType;
unsigned short usCmdLength;
unsigned short usRectXLeft;
unsigned short usRectYBottom;
unsigned short usRectXRight;
unsigned short usRectYTop;
} ACCM_SAVESCREENBITMAP;
typedef ACCM_SAVESCREENBITMAP *PACCM_SAVESCREENBITMAP;
그래픽 커맨드를 재생하는데 필요한 정보는 커맨드 식별자 및 커맨드를 재생하는데 사용되는 파라미터를 포함하는 구조로 저장된다. 예를 들어, 텍스트가 인출될 때, 이 이벤트에 관련된 정보가 ACCM_TEXTOUT 구조에 저장되며, 이 구조의 제 1 필드는 ACCM_CMD_TEXTOUT 값을 가지며 그 밖의 다른 필드는 텍스트를 재생하는데 사용된다.
전술한 프로토콜은 임의의 알려진 오퍼레이팅 시스템상의 디스플레이를 변경하는 대부분의 이벤트를 처리하는 것으로 생각된다. 예를 들면, 마이크로소프트 윈도즈 오퍼레이팅 시스템을 사용하여, 전술한 프로토콜은 스크린 변화의 평균 95%를 후크해서 재생할 수 있다.
도 3은 본 발명의 바람직한 실시예에 따른 방법의 단계를 도시한다. 단계(301)에서 서버(101)는 타겟 컴퓨터(103)와 제어기 컴퓨터(105)를 접속시킨다. 단계(303)에서 후크 디스플레이 드라이버(209)는 그래픽 엔진(203)에 의해 디스플레이 드라이버(205)로 송출된 그래픽 커맨드를 인터셉트한다. 단계(305)에서 이들 그래픽 커맨드가 사전정의된 커맨드 서브세트에 속하는지를 식별하여, 관련된 파라미터를 추출한다. 단계(307)에서 단계(305)에 의해 식별된 그래픽 커맨드 및 관련된 파라미터를 앞서 설명된 사전정의된 프로토콜에 따른 시스템 독립적인 포맷으로 변환한다. 단계(309)에서, 변환된 커맨드 및 파라미터를 제어기 컴퓨터의 디스플레이 드라이버(213)로 전송하며, 여기서 커맨드는 시스템 독립적인 포맷으로부터 제어기 시스템 포맷으로 재변환되어 제어기 디스플레이(215)상에 재생된다.
당분야에 숙련된 자라면, 두 개의 상이한 시스템간의 일치성 및 공통 프로토콜을 실현하기 위해 각 시스템(소스 또는 제어기)의 포맷에 맞게 제조된 적절한 변환이 실행되어야 함을 알 것이다. 그러나, 서브세트에 속하는 제한된 수의 커맨드로 인해 이러한 부가의 동작은 시스템의 기능면에서는 물론 프로그래밍 관점에서도 사실상 오버헤드를 구성하지 않는다.
본 발명의 바람직한 실시예에 따르면, 프로토콜에 의해 커버되지 못하는 이벤트의 경우에 제어기 디스플레이를 "동기화"시키기 위해 타겟 디스플레이상에 실질적으로 디스플레이되는 이미지의 비트맵을 사전결정된 시간 주기(예를 들어, 5 초)마다 전송함으로써 제어기 디스플레이와 타겟 디스플레이의 완전한 일치성이 허락될 수 있다.
제어기 디스플레이상에 재생되는 이미지가 타겟 디스플레이와 일치하는지를 체크하기 위해, 타겟 디스플레이의 "섀도우(shadow)" 비트맵 카피가 타겟 컴퓨터의 저장 장치에 유지된다. 그래픽 엔진에 의해 송출되는 커맨드가 프로토콜을 사용하여 변환되고 재변환 및 재생될 제어기 컴퓨터로 전송될 때마다, "섀도우" 비트맵 이미지상에 동일한 동작이 행해지는데, 즉, 시스템 독립적인 커맨드가 재변환되어, "섀도우" 비트맵상에서 동작된다. 사전결정된 시간 주기(바람직한 실시예에서, 5초)마다, "섀도우" 이미지는 실제의 타겟 디스플레이와 비교되며, 어떤 차이가 검출될 경우, 변경될 스크린 부분은 비트맵 포맷으로 제어기 컴퓨터로 전송된다.
도 4에는 "동기화(synchronization)" 메카니즘이 개략적으로 도시되어 있다. 그래픽 커맨드 서브세트는 그래픽 엔진(203)에 의해 타겟 PC내의 디스플레이(207)로 송출된다. 이 그래픽 커맨드 서브세트는 변환기(403)에 의해 인터셉트되어 변환된 후, 제어기 PC로 전송되며, 제어기 PC에서 재변환되어 디스플레이(215)상에 재생된다. 이러한 마지막 동작은 또한 "섀도우 비트 맵(shadow bit-map)"상에도 시뮬레이트(simulate)되는데, 이와 같이 하여 타겟 PC는 항상 제어기 디스플레이(215)상에 실제로 무엇이 디스플레이되고 있는지를 체크할 수 있다. 사전결정된 시간 주기(예컨대, 5초)마다 섀도우 비트-맵은 디스플레이(207)의 비트-맵과 비교되고, 차이가 검출되면 "동기화(syncronization)"를 수행하며, 비트-맵을 제어기 디스플레이(215)로 전송하여 디스플레이된 이미지를 갱신해서 두 이미지간의 일치성을 재확립한다.
앞서 언급된 바와 같이, 비트-맵 전송은 부담이되고 시간이 많이 소모되는 동작이다. 그러나, 위에 기술된 동기화 메카니즘에 따르면, 소정 시간 주기마다 단한번, 실제로 필요한 때에만 수행된다. 이와 같이 함으로써, 이러한 전송 유형에 있어서도 시스템간의 통신 속도에 영향을 주지 않으면서 고 신뢰성이 얻어진다.
본 발명에 따르면, 네트워크를 통해 제어기 컴퓨터에 의해 타겟 컴퓨터의 원격 제어를 행하는 방법 및 시스템이 제공된다. 타겟 컴퓨터의 그래픽 엔진에 의해 송출되는 그래픽 커맨드는 "후크"되어, 시스템 독립적인 포맷으로 변환된다. 그 후, 변환된 커맨드는 디스플레이상에 재생될 제어기 컴퓨터로 전송된다. 타겟 컴퓨터의 그래픽 커맨드의 서브세트를 변환하는데 사용되는 프로토콜을 정의함으로써 오퍼레이팅 시스템으로부터의 독립성이 실현되며, 이는 동일 프로토콜에 따라 커맨드가 재변환되는 제어기 컴퓨터로 전송되기 전에 행해진다.

Claims (8)

  1. 소스 데이터 처리 시스템상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템상에 복제 및 리스레쉬하는 방법―상기 적어도 하나의 목적지 데이터 처리 시스템은 그래픽 이미지를 디스플레이하는 제 1 디스플레이 유닛과, 상기 제 1 디스플레이 유닛상의 이미지를 수정하는 제 1 디스플레이 드라이버를 포함하고, 상기 소스 데이터 처리 시스템은 이미지를 디스플레이하는 제 2 디스플레이 유닛과, 다수의 그래픽 커맨드를 발생하는 그래픽 엔진(a graphic engine)과,상기 그래픽 엔진에 의해 발생된 상기 그래픽 커맨드에 따라 상기 제 2 디스플레이 유닛상의 상기 이미지를 수정하는 제 2 디스플레이 드라이버를 포함하며, 상기 적어도 하나의 목적지 데이터 처리 시스템과 상기 소스 데이터 처리 시스템은 네트워크를 통해 접속됨―에 있어서,
    ① 상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드를 인터셉트하는 단계와,
    ② 상기 그래픽 커맨드를 상기 제 2 디스플레이 드라이버로 전달하는 단계와,
    ③ 사전정의된 프로토콜에 따라, 상기 그래픽 커맨드의 서브세트(a subset of the graphic commands)를 오퍼레이팅 시스템 독립적인 포맷(an operating system independent format)으로 변환하는 단계와,
    ④ 상기 시스템 독립적인 그래픽 커맨드를 상기 네트워크를 통해 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 단계와,
    ⑤ 상기 프로토콜에 따라, 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템 포맷으로 변환하는 단계와,
    ⑥ 상기 변환된 그래픽 커맨드를 상기 제 1 디스플레이 드라이버로 전달하는 단계와,
    ⑦ 상기 제 2 디스플레이 유닛상에 디스플레이된 이미지의 비트-맵(a bit map)을 상기 소스 데이터 처리 시스템의 저장장치에 복제하는 단계와,
    ⑧ 상기 그래픽 커맨드 서브세트에 따라 상기 복제된 비트-맵 이미지를 수정하는 단계와,
    ⑨ 사전결정된 시간 주기마다, 상기 복제된 비트-맵을 상기 제 2 디스플레이 유닛상에 디스플레이된 이미지와 비교하는 단계와,
    ⑩ 상기 복제된 비트-맵 이미지와 상기 제 2 디스플레이 유닛상에 디스플레이된 이미지간의 차(difference)가 사전결정된 임계치를 초과하는 경우, 상기 비트-맵 이미지 복제를 갱신하고, 상기 네트워크를 통해 상기 적어도 하나의 목적지 데이터 처리 시스템으로 상기 비트-맵 이미지를 전송하는 단계
    를 포함하는 복제 및 리프레쉬 방법.
  2. 소스 데이터 처리 시스템상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템상에 복제 및 리프레쉬하는 시스템―상기 적어도 하나의 목적지 데이터 처리 시스템은 그래픽 이미지를 디스플레이하는 제 1 디스플레이 유닛과, 상기 제 1 디스플레이 유닛상의 상기 이미지를 수정하기 위한 제 1 디스플레이 드라이버를 포함하고, 상기 소스 데이터 처리 시스템은 이미지를 디스플레이하는 제 2 디스플레이 유닛과, 다수의 그래픽 커맨드를 발생하는 그래픽 엔진과, 상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드에 따라 상기 제 2 디스플레이 유닛상의 상기 이미지를 수정하는 제 2 디스플레이 드라이버를 포함하며, 상기 적어도 하나의 목적지 데이터 처리 시스템과 상기 소스 데이터 처리 시스템은 네트워크를 통해 접속됨―에 있어서,
    ① 상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드를 인터셉트하는 수단과,
    ② 상기 그래픽 커맨드를 상기 제 2 디스플레이 드라이버로 전달하는 통신 수단과,
    ③ 사전정의된 프로토콜에 따라, 상기 그래픽 커맨드 서브세트를 오퍼레이팅 시스템 독립적인 포맷으로 변환하는 수단과,
    ④ 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 네트워크 수단과,
    ⑤ 상기 프로토콜에 따라, 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템 포맷으로 변환하는 수단과,
    ⑥ 상기 변환된 그래픽 커맨드를 상기 제 1 디스플레이 드라이버로 전달하는 통신 수단과,
    ⑦ 사전결정된 시간 주기를 계수하는 타이머 수단과,
    ⑧ 상기 제 2 디스플레이 유닛상에 디스플레이되는 상기 이미지의 비트-맵을 상기 소스 데이터 처리 시스템의 저장 장치에 복제하는 수단과,
    ⑨ 상기 그래픽 커맨드 서브세트에 따라 상기 비트-맵 이미지를 수정하는 수단과,
    ⑩ 사전결정된 시간 주기마다, 상기 복제된 비트-맵 이미지를 상기 제 2 디스플레이 유닛상에 디스플레이된 상기 이미지와 비교해서, 그 차가 사전결정된 임계치를 초과할 경우, 상기 복제된 비트-맵 이미지를 갱신하는 수단과,
    ⑪ 상기 비트-맵 이미지와 상기 제 2 디스플레이 유닛상에 디스플레이된 이미지간의 차가 사전결정된 임계치를 초과한 경우, 상기 비트-맵 이미지 복제를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 네트워크 수단
    을 포함하는 복제 및 리프레쉬 시스템.
  3. 소스 데이터 처리 시스템상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템상에 복제 및 리스레쉬하는 방법―상기 소스 데이터 처리 시스템은 이미지를 디스플레이하는 제 1 디스플레이 유닛과, 복수의 그래픽 커맨드를 발생하는 그래픽 엔진과, 상기 그래픽 엔진에 의해 발생된 상기 그래픽 커맨드에 따라 상기 제 1 디스플레이 유닛상의 이미지를 수정하는 제 1 디스플레이 드라이버를 포함하고, 상기 적어도 하나의 목적지 데이터 처리 시스템은 그래픽 이미지를 디스플레이하는 제 2 디스플레이 유닛과, 상기 제 2 디스플레이 유닛상의 이미지를 수정하는 제 2 디스플레이 드라이버를 포함함―에 있어서,
    ① 상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드를 인터셉트하는 단계와,
    ② 사전정의된 프로토콜에 따라, 사전결정된 서브세트에 속하는 그래픽 커맨드들을 오퍼레이팅 시스템 독립적인 포맷으로 변환하는 단계와,
    ③ 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 단계와,
    ④ 상기 프로토콜에 따라, 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템 포맷으로 변환하는 단계와,
    ⑤ 상기 제 1 디스플레이 유닛상에 디스플레이된 이미지의 비트-맵 복제(a bit map copy)를 상기 소스 데이터 처리 시스템의 저장장치에 생성하는 단계와,
    ⑥ 상기 변환된 그래픽 커맨드에 따라 상기 비트-맵 복제를 수정하는 단계와,
    ⑦ 사전결정된 시간 주기마다, 상기 비트-맵 복제를 상기 제 1 디스플레이 유닛상에 디스플레이된 이미지와 비교하는 단계와,
    ⑧ 상기 비트-맵 복제와 상기 제 1 디스플레이 유닛상에 디스플레이된 이미지간의 차(difference)가 사전결정된 임계치를 초과하는 경우, 상기 비트-맵 복제를 갱신하고, 상기 적어도 하나의 목적지 데이터 처리 시스템으로 상기 갱신된 비트-맵 이미지를 전송하는 단계
    를 포함하는 복제 및 리프레쉬 방법.
  4. 소스 데이터 처리 시스템상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템상에 복제 및 리프레쉬하는 시스템―상기 소스 데이터 처리 시스템은 이미지를 디스플레이하는 제 1 디스플레이 유닛과, 복수의 그래픽 커맨드를 발생하는 그래픽 엔진과, 상기 그래픽 엔진에 의해 발생된 상기 그래픽 엔진에 따라 상기 제 1 디스플레이 유닛상의 상기 이미지를 수정하는 제 1 디스플레이 드라이버를 포함하고, 상기 적어도 하나의 목적지 데이터 처리 시스템은 그래픽 이미지를 디스플레이하는 제 2 디스플레이 유닛과, 상기 제 1 디스플레이 유닛상의 상기 이미지를 수정하는 제 2 디스플레이 드라이버를 포함함―에 있어서,
    ① 상기 그래픽 엔진에 의해 발생되는 상기 그래픽 커맨드를 인터셉트하는 수단과,
    ② 사전정의된 프로토콜에 따라, 사전결정된 서브세트에 속하는 그래픽 커맨드들을 오퍼레이팅 시스템 독립적인 포맷으로 변환하는 수단과,
    ③ 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 수단과,
    ④ 상기 프로토콜에 따라, 상기 시스템 독립적인 그래픽 커맨드를 상기 적어도 하나의 목적지 데이터 처리 시스템 포맷으로 변환하는 수단과,
    ⑤ 사전결정된 시간 주기를 계수하는 타이머 수단과,
    ⑥ 상기 제 1 디스플레이 유닛상에 디스플레이된 이미지의 비트-맵 복제를 상기 소스 데이터 처리 시스템의 저장 장치에 생성하는 수단과,
    ⑦ 상기 변환된 그래픽 커맨드에 따라 상기 비트-맵 복제를 수정하는 수단과,
    ⑧ 사전결정된 시간 주기마다, 상기 비트-맵 복제를 상기 제 1 디스플레이 유닛상에 디스플레이된 상기 이미지와 비교해서, 그 차가 사전결정된 임계치를 초과할 경우, 상기 비트-맵 복제를 갱신하는 수단과,
    ⑨ 상기 사전결정된 임계치를 초과한 경우에 응답하여, 상기 갱신된 비트-맵 이미지를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 수단
    을 포함하는 복제 및 리프레쉬 시스템.
  5. 소스 데이터 처리 시스템의 디스플레이상에 디스플레이된 그래픽 이미지를 적어도 하나의 목적지 데이터 처리 시스템의 디스플레이상에 복제 및 리스레쉬하는 방법―상기 적어도 하나의 목적지 데이터 처리 시스템과 상기 소스 데이터 처리 시스템은 함께 접속됨―에 있어서,
    ① 상기 소스 데이터 처리 시스템으로부터의 세트를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 단계―상기 데이터 세트는 상기 목적지 데이터 처리 시스템이 상기 그래픽 이미지를 사실상 복제 및 리프레쉬할 수 있게 함―와,
    ② 상기 소스 데이터 처리 시스템의 저장장치상에 할당된 비트-맵상에 상기 전송된 데이터 세트에 따른 섀도우 이미지(a shadow image)를 재생하는 단계와,
    ③ 사전결정된 주파수로, 상기 비트-맵 이미지를 상기 소스 디스플레이 유닛상에 디스플레이된 이미지와 비교하는 단계와,
    ④ 상기 비트-맵 이미지와 상기 소스 디스플레이 유닛상에 디스플레이된 이미지간의 차가 사전결정된 임계치를 초과한 것에 응답하여, 상기 소스 디스플레이 유닛상에 디스플레이된 이미지를 상기 비트-맵 이미지에 복제함으로써 상기 비트-맵 이미지를 갱신하고, 상기 복제된 비트-맵 이미지를 상기 적어도 하나의 목적지 데이터 처리 시스템으로 전송하는 단계
    를 포함하는 복제 및 리프레쉬 방법.
  6. 제 5 항에 있어서,
    상기 데이터 세트는 그래픽 커맨드 세트를 포함하는 복제 및 리프레쉬 방법.
  7. 제 5 항에 있어서,
    상기 데이터 세트는 비트-맵 이미지의 일부를 포함하는 복제 및 리프레쉬 방법.
  8. 청구항 3의 방법을 이용하는 원격 제어 시스템.
KR1019970033057A 1996-09-24 1997-07-16 스크린의원격복제및리프레시방법,그시스템과원격제어시스템 KR100269529B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9620019A GB2317470A (en) 1996-09-24 1996-09-24 Screen remote control
GB9620019.1 1996-09-24

Publications (2)

Publication Number Publication Date
KR19980024091A KR19980024091A (ko) 1998-07-06
KR100269529B1 true KR100269529B1 (ko) 2000-11-01

Family

ID=10800480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970033057A KR100269529B1 (ko) 1996-09-24 1997-07-16 스크린의원격복제및리프레시방법,그시스템과원격제어시스템

Country Status (5)

Country Link
US (2) US5982392A (ko)
EP (2) EP0834801A3 (ko)
JP (1) JP3224763B2 (ko)
KR (1) KR100269529B1 (ko)
GB (1) GB2317470A (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7077312B2 (en) * 1998-10-27 2006-07-18 Diebold, Incorporated Automated banking machine system and method
US6314470B1 (en) * 1997-07-25 2001-11-06 Hewlett Packard Company System and method for asynchronously accessing a graphics system for graphics application evaluation and control
US6323854B1 (en) 1998-10-31 2001-11-27 Duke University Multi-tile video display system with distributed CRTC
US6570546B1 (en) * 1998-10-31 2003-05-27 Duke University Video display configuration detector
US6275874B1 (en) * 1998-12-23 2001-08-14 Nortel Networks Limited System for producing communication codes responsive to communication signals, translating communication codes into peripheral codes, and producing signals for communicating with peripheral responsive to peripheral codes
ATE256305T1 (de) 1999-09-30 2003-12-15 Matsushita Electric Works Ltd Vorrichtung zum entwurf visueller informationen, welche auf einer monitoreinheit wiedergegeben werden, die mit einer programmierbaren steuerung in verbindung steht
JP2001119767A (ja) * 1999-10-19 2001-04-27 Sony Corp 情報処理装置および方法、情報処理システム並びに記録媒体
US7043697B1 (en) * 2000-05-15 2006-05-09 Intel Corporation Virtual display driver
AR033549A1 (es) * 2000-08-07 2003-12-26 Diebold Inc Maquina automatica para operaciones bancarias, metodos para operarla y medio legible por computadora
JP3936835B2 (ja) * 2000-09-20 2007-06-27 株式会社日立製作所 計算機ネットワーク用の端末装置および操作履歴記録方法
US7359949B2 (en) * 2000-12-29 2008-04-15 Intel Corporation Remotely controlling a UNIX-based system
US20030017846A1 (en) * 2001-06-12 2003-01-23 Estevez Leonardo W. Wireless display
US6801673B2 (en) * 2001-10-09 2004-10-05 Hewlett-Packard Development Company, L.P. Section extraction tool for PDF documents
US7038696B2 (en) * 2002-01-04 2006-05-02 Hewlett-Packard Development Company Method and apparatus for implementing color graphics on a remote computer
US7757001B2 (en) * 2002-04-26 2010-07-13 Smart Technologies Ulc System, method and graphical user interface for identifying image from remote site during screen sharing
CN1653488A (zh) * 2002-05-10 2005-08-10 比特波伊斯有限责任公司 显示驱动器ic、显示模块以及合并有图形引擎的电子装置
GB2388506B (en) * 2002-05-10 2004-04-21 Nec Electronics Display driver IC, display module and electrical device incorporating a graphics engine
US7027056B2 (en) * 2002-05-10 2006-04-11 Nec Electronics (Europe) Gmbh Graphics engine, and display driver IC and display module incorporating the graphics engine
JP4307121B2 (ja) * 2003-03-25 2009-08-05 三菱電機株式会社 地図データ処理装置
KR100810515B1 (ko) * 2003-12-13 2008-03-10 삼성전자주식회사 디스플레이 관리시스템
KR20050108853A (ko) * 2004-05-14 2005-11-17 삼성전자주식회사 멀티 디스플레이 시스템 및 디스플레이장치
US7831680B2 (en) * 2004-07-16 2010-11-09 National Instruments Corporation Deterministic communication between graphical programs executing on different computer systems
US7403204B2 (en) 2004-08-23 2008-07-22 Hewlett-Packard Development Company, L.P. Method and apparatus for managing changes in a virtual screen buffer
US20060129634A1 (en) * 2004-11-18 2006-06-15 Microsoft Corporation Multiplexing and de-multiplexing graphics streams
US7945917B2 (en) 2005-05-31 2011-05-17 Science Park Corporation Monitoring method, monitoring system, system program and recording medium having program recorded thereon
US8223001B2 (en) 2005-07-19 2012-07-17 Marvell International Ltd. Two way remote control
US20070018844A1 (en) * 2005-07-19 2007-01-25 Sehat Sutardja Two way remote control
US20090089453A1 (en) * 2007-09-27 2009-04-02 International Business Machines Corporation Remote visualization of a graphics application
US20090207167A1 (en) * 2008-02-18 2009-08-20 International Business Machines Corporation Method and System for Remote Three-Dimensional Stereo Image Display
US8769428B2 (en) * 2009-12-09 2014-07-01 Citrix Systems, Inc. Methods and systems for generating a combined display of taskbar button group entries generated on a local machine and on a remote machine
US9235452B2 (en) * 2010-02-05 2016-01-12 Microsoft Technology Licensing, Llc Graphics remoting using augmentation data
US20130147832A1 (en) * 2011-12-07 2013-06-13 Ati Technologies Ulc Method and apparatus for remote extension display
US10095663B2 (en) 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
JP5875555B2 (ja) * 2013-07-29 2016-03-02 株式会社デジタル 画像作成システム
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US9454515B1 (en) 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence
KR102478018B1 (ko) 2016-01-13 2022-12-16 삼성전자주식회사 콘텐트 표시 방법 및 이를 수행하는 전자 장치
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414621A (en) * 1977-06-13 1983-11-08 Canadian Patents & Development Ltd. Interactive visual communications system
US5734871A (en) * 1985-10-29 1998-03-31 Mitem Corporation Method for and apparatus for controlling the execution of host computer application programs through a second computer
US4897799A (en) * 1987-09-15 1990-01-30 Bell Communications Research, Inc. Format independent visual communications
US5309555A (en) * 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
US5241625A (en) * 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
GB2270581A (en) * 1992-09-15 1994-03-16 Ibm Computer workstation
US5704042A (en) * 1993-03-19 1997-12-30 Ncr Corporation Accelerated replication of multiple computer displays
US5872923A (en) * 1993-03-19 1999-02-16 Ncr Corporation Collaborative video conferencing system
US5608426A (en) * 1993-09-28 1997-03-04 Ncr Corporation Palette management for application sharing in collaborative systems
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
US5687376A (en) * 1994-12-15 1997-11-11 International Business Machines Corporation System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation
GB9501378D0 (en) * 1995-01-24 1995-03-15 Ibm A system and method for establishing a communication channel over a heterogeneous network between a source node and a destination node
US5874960A (en) * 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
US5774720A (en) * 1995-08-18 1998-06-30 International Business Machines Corporation Personality neutral graphics subsystem
US5801689A (en) * 1996-01-22 1998-09-01 Extended Systems, Inc. Hypertext based remote graphic user interface control system
US6038575A (en) * 1996-09-11 2000-03-14 Intel Corporation Method of sharing glyphs between computers having graphical user interfaces

Also Published As

Publication number Publication date
US6141022A (en) 2000-10-31
JP3224763B2 (ja) 2001-11-05
EP0834801A2 (en) 1998-04-08
EP0890898A1 (en) 1999-01-13
JPH10105137A (ja) 1998-04-24
GB2317470A (en) 1998-03-25
US5982392A (en) 1999-11-09
EP0834801A3 (en) 1998-08-12
KR19980024091A (ko) 1998-07-06
GB9620019D0 (en) 1996-11-13

Similar Documents

Publication Publication Date Title
KR100269529B1 (ko) 스크린의원격복제및리프레시방법,그시스템과원격제어시스템
US5864711A (en) System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US7088871B2 (en) Method and system for transmitting data for a shared application
US7730157B2 (en) Methods, media, and systems for displaying information on a thin-client in communication with a network
US5758110A (en) Apparatus and method for application sharing in a graphic user interface
US5673403A (en) Method and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems
JP3066597B2 (ja) ラスターデータの変化を検出するための方法および装置
US7912281B2 (en) Mechanisms for reducing a size of a color bitmap
JPH11502968A (ja) コンピュータ・システムにおけるグラフィカル・パネル上のアクセス及び使用のために複数の情報スクリーンを適応させるための方法
US6337689B1 (en) Adaptive buffering of computer graphics vertex commands
US6023558A (en) Graphics compression for an emulation system
US6038575A (en) Method of sharing glyphs between computers having graphical user interfaces
Sproull Raster graphics for interactive programming environments
CN114911402A (zh) 远程应用和本地系统间的拖拽交互方法及系统
JP2006018838A (ja) グラフィックイメージ生成方法
US6600494B1 (en) Color reduction for a remote control system
JP3248199B2 (ja) Xウインドウを備えた情報処理装置
US7523025B2 (en) Host terminal emulator
US6954548B1 (en) Method and apparatus for presenting images in a data processing system
JP3359075B2 (ja) 情報処理装置及び方法
Williams A comparison of some window managers
CA1234936A (en) Interactive visual communications system
Irby et al. Draft design for a text/graphics protocol

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
LAPS Lapse due to unpaid annual fee