KR0122857B1 - 하나 이상의 컴퓨터를 포함하는 네트워크에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템 및 그와 함께 이용하기 위한 스크린 내용 전송 방법 - Google Patents

하나 이상의 컴퓨터를 포함하는 네트워크에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템 및 그와 함께 이용하기 위한 스크린 내용 전송 방법

Info

Publication number
KR0122857B1
KR0122857B1 KR1019930018646A KR930018646A KR0122857B1 KR 0122857 B1 KR0122857 B1 KR 0122857B1 KR 1019930018646 A KR1019930018646 A KR 1019930018646A KR 930018646 A KR930018646 A KR 930018646A KR 0122857 B1 KR0122857 B1 KR 0122857B1
Authority
KR
South Korea
Prior art keywords
screen
updated
computer
list
network
Prior art date
Application number
KR1019930018646A
Other languages
English (en)
Other versions
KR940007703A (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 KR940007703A publication Critical patent/KR940007703A/ko
Application granted granted Critical
Publication of KR0122857B1 publication Critical patent/KR0122857B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Telephone Function (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Saccharide Compounds (AREA)

Abstract

로컬 컴퓨터(local computer)(132)가 공동 처리(collaborative processing)를 위해 네트워크(network)의 원격 컴퓨터(remote computer)(136)에 접속되고, 이로써, 로컬 컴퓨터의 스크린에 대한 변화는 원격 컴퓨터 스크린상에 반영된다. 훅 루틴(hook routine)(110)은 로컬 컴퓨터 스크린을 갱신(update)하기 위한 요청(request)을 인터셉트(intercept)하는데 사용되고, 갱신될 스크린 영역은 상기 요청으로부터 결정된다. 또 다른 루틴은 갱신된 스크린 영역에 대한 비트 맵(bit map)을 얻고, 전 스크린에 대응하는 것이 아니라 단지 또 다른 루틴에 의해 얻은 비트 맵만이 원격 컴퓨터로 전송된다.

Description

하나 이상의 컴퓨터를 포함하는 네트워크에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템 및 그와 함께 이용하기 위한 스크린 내용 전송 방법
제1도는 통상의 컴퓨터 그래픽 서브시스템의 구조를 예시한 도면.
제2도는 제1도에 도시된 그래픽 엔진과 프리젠테이션 드라이버의 상호 작용을 보다 상세히 도시한 도면.
제3도는 본 발명에 따른 그래픽 서브시스템으로의 변경을 설명하기 위한 도면.
제4도는 제3도에 도시된 후크의 한 쓰레드에 의해 수행되는 처리를 예시하는 도면.
제5a -5d도는 직사각형이 저장되는 방법을 설명하기 위한 도면.
제6도는 스크린의 갱신된 영역에 대한 정보가 원격 터미널로 전송되는 방법을 설명하기 위한 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 애플리케이션 12 : 그래픽 프로그래밍 인터페이스
14 : 그래픽 엔진 16 : 디스플레이 프리젠테이션 드라이버
18 : 하드웨어 어댑터 20 : 스크린
본 발명은 네트워크에 의해 상호접속된 컴퓨터 시스템(networked computer systems)에 관한 것으로, 특히 이러한 시스템의 사용자 인터페이스 측면에 관한 것이다.
지난 수년동안, 상이한 머신이 서로 통신할 수 있도록 퍼스널 컴퓨터 또는 워크스테이션을 함께 네트워크로 연결하는 것이 더욱 일반적인 것이 되었다. 대표적인 접근방법은 컴퓨터간의 화일 전송 및 다른 편의를 제공하는 근거리 통신망(local area networks; LANs)의 도입이었다.
이러한 컴퓨터 시스템 분야에서 사용자간에 더욱 자연스럽고 효율적인 통신을 성취하고자 하는 요구, 예를 들면, 둘 이상의 상이한 머신의 사용자가 동시에 단일의 애플리케이션(예를 들면, 스프레드시트(a spreadsheet))상에서 짝을 이루어 작업하는 공동 작업(collaborative working)을 가능하게 하고자 하는 요구는 계속되고 있다. 이러한 애플리케이션은 복수의 머신중 단지 하나의 머신상에서 실행되지만 그의 출력은 나머지 워크스테이션에도 디스플레이되므로, 복수의 사용자는 이 애플레케이션으로 대화를 할 수 있다.
공동 작업 및 다른 이와 유사한 환경의 핵심적인 측면은 애플리케이션 디스플레이의 어떤 변화(예를 들면, 그래프의 변화)도 가능한한 모든 스크린상에 거의 동시에 나타나도록 해야하는 필요이다. 원격 터미널상에 이러한 변경을 디스플레이하는데 있어서의 지연이 너무 크면 공동 작업의 자연스러움이 감소하여 공동 작업에 있어서의 대부분의 잇점이 상실된다. 워크스테이션간에 이와 같은 동시성을 성취하는데 있어서의 주요한 문제점은 컴퓨터간의 접속이 제한된 대역폭을 갖는다는 것이다. 이것은 전화를 이용한 ISDN 라인 또는 그와 유사한 것이 이용될 경우에 특히 그러하다. 이를 극복하는 한가지 방법은 데이터 압축 기법을 이용하여, 전송되어야 하는 데이터량을 감소시키는 것이다. 그러나 데이터 압축은 처리 비용이 비싸고, 전송시에 시간은 절약될지라도 압축 자체에 의한 지연이 발생한다.
이에 본 발명은 하나 이상의 컴퓨터를 포함하는 네트워크내에 접속하기에 적합한 컴퓨터 워크스테이션을 제공하며, 이 컴퓨터 워크스테이션은 스크린과, 이 스크린 일부의 내용을 갱신하기 위해 스크린으로 요구를 송신하는 수단과, 네트워크내의 다른 컴퓨터로 이 스크린의 내용을 전송하는 수단을 포함하되, 상기 요구에 응답하여, 요구에 의해 갱신될 스크린 부분을 식별하는 수단과, 다른 컴퓨터로 전송되도록 상기 요구에 의해 갱신된 스크린 부분의 내용을 선택하는 수단을 포함하는 것을 특징으로 한다.
본 발명은 공동 또는 협동 처리 환경에서 근거리 컴퓨터의 스크린에 대한 갱신이 몇몇 형식의 네트워크를 통해 이 근거리 컴퓨터에 접속된 하나 이상의 원격 터미널의 스크린상에 가능한한 빨리 공유 또는 반영될 수 있도록 해야 할 필요에 기초한다. 이 경우 스크린의 전체 내용을 전송하지 않고 스크린의 변경이 이루어진 부분만을 전송하면, 원격 스크린의 갱신을 더욱 신속하게 달성할 수 있다.
바람직한 실시예에서, 본 발명의 컴퓨터 워크스테이션은 또한 스크린의 갱신된 부분의 리스트를 저장하는 수단과, 그의 내용이 전송되었을 때 리스트로부터 해당부분을 삭제하는 수단과, 스크린의 임의 부분이 전송전에 2회 갱신된 경우의 겹침(overlap)을 검출하는 수단과, 중복을 피하기 위해 저장된 부분의 리스트를 수정하는 수단을 포함한다. 이와 같은 구성에 의해, 예를 들면, 윈도우가 한 위치로부터 다른 위치로 천천히 드래깅(dragging)되었을 때 발생하게 되는 것처럼, 스크린의 동일한 부분이 반복적으로 갱신된 경우에도 리스트는 각 변경된 부분에 대한 단일의 참조(a single reference)만을 유지한다. 이것은 스크린의 동일한 부분이 다수회 갱신되더라도 반복적으로 스크린의 동일한 부분을 전송할 필요를 제거한다. 이 저장 수단은 스크린의 갱신된 부분의 리스트만을 유지함에 유의하자. 갱신된 부분은 전송전에 또 다시 갱신될 수도 있으므로, 이 갱신된 부분의 실제 내용은 저장되지 않는다.
바람직한 실시예에서, 스크린의 각 식별된 부분은 직사각형으로 표시되며, 그리고 나서 이 직사각형의 내용이 네트워크내의 다른 컴퓨터로 전송된다. 직사각형을 사용하면 계산이 아주 간단해지며, 대다수의 갱신에 대응하는 것으로 판명되었다. 몇몇 경우에, 이 갱신은 더욱 복잡한 형상을 가지고 있어서 전송된 직사각형의 대부분이 갱신되지 않았을 수도 있다. 이것은, 전송을 위해 스크린의 갱신된 부분을 매우 정확하게 산출하도록 아마도 더욱 고도의 계산에 기초하는 다른 형상을 사용하므로서 극복될 수 있다. 그러나 일반적으로 전송 시간의 감소는 특별한 형상 계산에 필요한 처리 시간의 증가를 보상하지 못한다.
OS/2 오퍼레이팅 시스템(또는 그와 유사한 시스템)에서 스크린으로 요구를 송신하는 수단은 그래픽 엔진(a graphic engine)및 디스플레이 프리젠테이션 드라이버(a display presetation driver)를 포함한다. 이러한 요구에 의해 갱신되어야 하는 스크린의 부분을 식별하는 수단은 바람직하기로는 그래픽 엔진으로부터 디스플레이 프리젠테이션 드라이버로의 콜(calls)을 인터셉트(intercept)하는 후크(a hook)를 포함한다. 이 후크를 그래픽 서브시스템 계층(the hicrarchy of the graphical subsystem)의 가능한한 하부에 위치시키므로써, 인터셉트된 요구는 비교적 간단하게 되어 신속히 처리될 수 있다.
본 발명은 또한 네트워크내 컴퓨터 워크스테이션의 스크린 내용을 이 네트워크내의 하나 이상의 다른 컴퓨터로 전송하는 방법을 제공하며, 이 방법은 스크린의 일부의 내용을 갱신하기 위해 상기 컴퓨터 워크스테이션의 스크린으로 요구를 송신하는 단계와, 요구에 의해 갱신될 스크린 부분을 식별하는 단계와, 이 요구에 의해 갱신된 스크린 부분의 내용을 선택하는 단계와, 갱신된 스크린의 선택된 내용을 네트워크내의 다른 컴퓨터로 전송하는 단계를 포함한다.
이제부터 본 발명의 일실시예가 첨부된 도면을 참조하여 예로서 설명된다.
제1도를 참조하면, 프리젠테이션 매니저(Presentation Manager; PM) 그래픽 사용자 인터페이스와 함께 OS/2 오퍼레이팅 시스템(본 발명은 또한 마이크로소프트 윈도우즈, 유닉스 등과 같은 많은 다른 오퍼레이팅 시스템에도 적용가능하다.)을 실행하는 컴퓨터 워크스테이션의 그래픽 서브시스템(22)의 구조가 도시된다. 스크린(20)상에 나타내어져야 할 출력을 결정하는 역할을 하는, 대표적으로 스프레드시트(a spreadsheet), 워드 프로세서(word processor), 또는 드로윙 패키지(drawing package)와 같은 애플리케이션(application)(10)이 상부에 위치된다. 이 애플리케이션은 그래픽 프로그래밍 인터페이스(graphical programming interface; GPI)를 통해 스크린을 제어하며, 그래픽 프로그래밍 인터페이스는 애플리케이션이 스크린상에 박스, 라인 등이 도시되도록 요구할 수 있게 하는 일련의 기능 콜(a series of function calls)(GPI 콜)을 제공한다. GPI는 사실상 그래픽 엔진(14)으로서 공지된 동적 링크 라이브러리(a dynamic link library)의 상부층(top layer)이며, 이 그래픽 엔진은 다른 동적 링크 라이브러리인 디스플레이 프리젠테이션 드라이버(16)를 위해 GPI 콜을 우선 그래픽 오더(orders)로 번역한 후 하부 레벨 콜(GRE 콜로서 공지됨)로 번역한다. 디스플레이 프리젠테이션 드라이버는 또한 스크린을 직접 제어하는 하드웨어 어댑터(a hardware adapter)(18)로 커맨드를 출력한다.
제1도에 도시된 바와 같은 계층화된 구성을 이용하면, GPI가 장치와 독립적으로 동작하므로 애플리케이션이 스크린의 물리적 특성에 대해 자세히 알아야 할 필요가 없다는 잇점이 있다. 대신에, 애플리케이션은 주로, 지원되는 출력 장치에 따라 변경되어야 하는 디스플레이 프리젠테이션 드라이버 역할을 한다. 따라서 각 형태의 출력 장치는 자신만의 디스플레이 프리젠테이션 드라이버를 구비해야 한다. 오퍼레이팅 시스템은 이미 보다 일반적인 형태의 출력 장치에 대한 드라이버를 포함하고는 있지만, 보다 드문 형태의 출력 장치에 대해서는 사용자가 그들 자신의 드라이버를 기입해야 한다(또는 출력 장치와 함께 공급될 수도 있다). OS/2, PM 및 GPI에 대한 더욱 자세한 정보는, 예를 들면, 1990년 치이트햄, 레이히 및 로빈슨 저, 'OS/2 프리젠테이션 매니저 프로그래밍(Presentation Manager Programming)'과, 1989년 펫철드 저 마이크로소프트사 출간 '프로그래밍 더 OS/2 프리젠테이션 매니저(Programming the OS/2 Presentation Manager)'와, 1991년 윈, 반 노스트랜드 레인홀드 저 'OS/2 프리젠테이션 매니저 GPI'와 같은 다수의 책에서 입수가능하다. 또한, GRE 콜에 대한 보다 상세한 것을 OS/2 Version 1.2 I/O Subsystems and Device Support : Volume 2 Presentation Driver Interfaces(document 64F0283, available from IBM)에서 찾아볼 수 있다.
제2도는 종래 기술에 따른 그래픽 엔진 및 디스플레이 드라이버의 동작을 도시한다. 디스플레이 드라이버는 자신의 링크 라이브러리(link library)내의 모든 루틴에 대한 엔트리 포인트를 포함하는 벡터 테이블(a vector table)(24)을 유지한다. GRE 콜이 발생(제2도에 XXX로 표시됨)하면, 디스플레이 드라이버는 이 테이블을 참조하여 콜된 루틴(26)의 명칭을 검색한다. 이 명칭에는 대응하는 콜된 루틴의 엔트리 포인트(30)로의 포인터(LOC)(28)가 연관되어 있어서 이후 호출될 수 있다.
벡터 테이블은 제3도에 도시된 바와 같이 후크(110)를 사용하여 본 발명에 따라 변경된다. 후크는 최초 벡터 테이블(114)의 카피(copy)를 유지하며, 디스플레이 드라이버 벡터 테이블내의 엔트리는 엔트리 포인트 위치 대신에 이 후크내의 루틴을 포인트하도록 변경된다. 단지 관심있는 루틴은 스크린을 갱신하는 루틴이므로, 실제로 변경되는 것은 디스플레이 드라이버 벡터 테이블내의 엔트리뿐이다. 현재 스크린 값의 질의와 같은 나머지는 변경되지 않으며, 따라서 이들 루틴은 전과 같이 동작한다.
마찬가지로, 실행시 종종 디스플레이 드라이버로부터 전체 벡터 테이블을 카피하는 것이 더 간단할지라도, 후크내의 벡터 테이블은 변경된 루틴에 대한 엔트리만을 필요로 한다.
임의의 루틴이 콜되면(또한 XXX로 표시함), 전과 마찬가지로 우선 디스플레이 드라이버의 벡터 테이블이 조사된다. 이 루틴이 스크린을 갱신하지 않으면, 이때 루틴은 제2도에 도시된 종래 기술에 따른 구성(OS/2는 장치 환경(device contexts)으로서 알려진 복수의 비트맵(multiple bitmaps)을 지원하며, 이중 하나만이 스크린과 연관된다. 따라서 비-스크린 비트맵에 기입되는 콜들을 또한 필터링해 낼 필요가 있다. 예를 들면, 사용자는 이 비트맵이 자신의 하부 좌측 코너를 원점으로 하는 경우 알 수 있다)에서와 같이 디스플레이 드라이버내에서 액세스된다. 그러나 XXX가 스크린을 갱신하는 경우, 이때 그와 연관된 포인터(LOC)(104)는 이제 디스플레이 드라이버내의 엔트리 포인트를 포인트하지 않고, 후크내의 대응하는 루틴(XXX)(118)을 포인트한다. 이러한 후크 루틴(또는 쓰레드)의 동작이 제4도에 도시된다. 이 루틴은 우선 후크내의 벡터 테이블(114)을 참조하여 애플리케이션에 의해 실제로 콜된 루틴(30)에 대한 디스플레이 드라이버내의 엔트리 포인트(LOC)(116)를 판별한다(블럭 40). 그리고 나서 이 디스플레이 드라이버 루틴이 호출(블럭 42)되어 스크린상에 올바른 동작이 행해질 것을 보장한다. 그러나 이와 같이 행하는데 있어 후크는 콜내의 파라미터로부터 정보를 또한 획득하며, 이것은 이 콜에 의해 갱신되는 스크린의 부분을 판별하는데 이용된다(블럭 44). 설명을 간단히 하기 위해, 각각의 갱신된 부분은 하나 이상의 직사각형으로 표시된다. 대부분의 콜(콜 횟수면에서)은 직사각형에 기초하여, 예를 들면, 직사각형을 삭제 또는 컬러링하거나 또는 비트 -블럭 -전송(bit block transfer; bit-bit)함(비트 블럭을 복사함)으로, 대부분의 경우에 갱신된 스크린의 부분은 직사각형으로 간단하고 정확하게 표시될 수 있다. 직사각형에 기초하지 않는 콜, 예를 들면 다각형을 드로윙하는 것과 같은 경우에는, 갱신된 부분을 직접 판별하는 것이 매우 어려우므로, 이 경우에는 갱신을 위해 경계가 되는 직사각형이 계산된다. 마지막으로, 스크린상에 원호를 드로윙하는 것과 같은 몇몇 콜의 경우에는 경계가 되는 직사각형을 계산하는 것조차 어려우며, 이 경우에는 전체 윈도우에 대응하는 직사각형을 사용한다.
후크 GRE 콜에 의해 갱신된 직사각형의 리스트(112)를 유지한다. 이 직사각형중 이전의 직사각형과 겹치지 않는 부분만이 저장된다(블럭 46). 이들 부분은 필요하다면 보다 작은 직사각형으로 나뉜다. 제5도에 몇개의 예가 도시되며, 직사각형 A는 이미 존재하는 직사각형(즉, 이미 갱신된 부분)이고, B는 새로이 갱신된 직사각형이다. 따라서, 점선으로 도시된 직사각형(C,C1등)이 실제로 리스트에 부가되는 직사각형들이다(제5c도에 도시된 직사각형의 경우 직사각형 A가 직사각형 C내에 완전히 포함되므로 직사각형 A는 리스트로부터 삭제된다). 각각의 새로운 직사각형은 모든 이미 존재하는 직사각형들에 대해 테스트된다. 몇몇 경우에, 갱신시에 변경되는 화소가 몇개의, 아마도 10개 미만이겠지만 매우 작은 직사각형에 걸쳐 분포될 수도 있다. 이 경우, 이들을 개별적으로 전송하기 위해 분리된 작은 직사각형으로서 저장하는 것보다는, 몇개의 화소가 중복하여 전송되는 결과를 초래하더라도, 겹침을 무시하고 단일의 직사각형으로서 이 갱신을 전송하는 것이 더 효율적이다(이러한 경우가 발생할 수 있는 전형적인 예는 윈도우의 이동이다).
후크는 또한 리스트(112)로부터 한번에 직사각형을 획득하는 순환 루프인 쓰레드(130)를 포함한다(일단 획득된 직사각형은 리스트로부터 삭제된다.). 쓰레드가 직사각형을 이송하는 순서는 시간순(예를 들면, 가장 오래된 것 또는 가장 새로운것부터), 사이즈(예를 들면, 가장 큰 직사각형부터), 또는 임의의 다른 적절한 방법에 기초한 것일 수 있다. 마찬가지로, 쓰레드는, 연속적인 루프인 것이 바람직하지만, 규칙적인 시간 간격으로 또는 새로운 갱신이 도달하였을 때 동기하여 동작할 수 있다. 쓰레드는 GPI 인터페이스(134)를 이용하여 직사각형에 대한 현재 스크린의 내용을 획득한후 이들을 하나 이상의 원격 터미널(136)로 전송한다. 스크린 내용을 획득하기 위해, 쓰레드는 우선 '비트 -블럭 -전송(bit -bit)'을 이용하여 직사각형을 스크린으로부터 별도의 비트맵(직사각형과 동일한 사이즈를 가짐)으로 카피한 후, Gpi_Query BitMapBits 루틴을 콜하여 실제의 화소값을 획득한다. 이 직사각형은 별도의 비트맵으로 카피되는데, 이것은 스크린의 단지 일부가 어드레스되는 것보다 전체 비트맵이 어드레스되는 경우 Gpi_Query BitMapBits 루틴이 더욱 빨리 동작하기 때문이다.
전송된 직사각형은 원격 터미널에서 그의 실행 쓰레드에 의해 수신된다. 이 쓰레드는 수신된 직사각형을 비트맵에 기입하기 위해 Gpi_Query BitMapBits 루틴을 콜하며, 그리고 나서 이 비트맵이 비트 - 블럭 - 전송을 이용(또한, 직사각형은 성능상의 이유로 스크린상에 직접 기입되지 못한다)하여 스크린상에 카피되므로써, (근거리의) 제1스크린(132)상에 발생된 변경이 (원격지의) 제2터미널(136)상에 신속 정확하게 반영될 수 있게 된다. 이와 같이 스크린 갱신이 비트맵 형태로 송신되므로, 네트워크가 상이한 오퍼레이팅 시스템을 실행하는 워크스테이션을 포함하여도 좋다.
후크와 연관된 저장장치(112)는 갱신된 값이 아니라 스크린의 갱신된 부분에 대한 식별표시만을 포함한다. 갱신된 값을 포함하도록 하는 접근방식을 채택하면 각각의 갱신에 대해 스크린 값을 카피해야하는 필요가 발생하며, 근거리 스크린의 디스플레이 성능에 영향을 미치게 된다. 더욱이 한번 이상 갱신되는 스크린 부분이 후크 저장자치에 반복적으로 카피되어야 한다는 점에서 비경제적이다. 이에 비해, 본 발명에서는 송신되기 직전에 갱신된 스크린 내용을 카피한다. 따라서, 원격 터미널은 결코 중산의 갱신 내용을 수신하지 않으므로, 그들의 스크린은 중간 상태, 즉, 실제로 전송된 갱신 이전의 갱신으로부터의 상태를 나타내지 않는다. 그러나 이때 누락되는 갱신은 통상 거의 중요하지 않다(통상적으로, 이들은 윈도우가 스크린을 횡단하여 드래깅(dragging)될때 중간 위치를 표시할 수 있다).
특정 부분이 이미 갱신된 것으로서 명명되어 후크 쓰레드가 저장장치(112)으로부터 관련된 직사각형을 판독하고 GPI 콜을 이용하여 대응하는 스크린 내용을 획득하는 사이에 다시 한번 갱신될 때는 갱신이 두번 전송되는 것도 또한 가능하다. 이 경우, 이미 갱신 내용이 전송되었음에도 불구하고, 나중의 갱신을 위해 직사각형이 리스트에 부가된다. 이 결과 이후 후크 쓰레드(130)가 나중의 갱신으로부터 저장된 직사각형을 판독할 때 이 갱신 내용이 재전송된다. 이러한 중복전송은 분명 비효율적이지만 실제로 발생되는 성능상의 손실은 거의 없다.
갱신된 스크린 부분을 식별하기 위해 단지 직사각형을 이용하는 접근법은, 단지 경계가 되는 직사각형만이 판별되는 경우 실제로는 아주 소량의 직사각형만이 갱신되더라도 경계가 되는 직사각형 전체가 원격 위크스테이션으로 전송된다는 점에서 다소 비효율적이다. 변경되지 않은 부분이 전송된다는 면에서의 이러한 비효율성은 전체 윈도우가 전송되어야 할 경우 더욱 커질 것이 분명하다. 그렇지만, 약 90%의 동작은 비트 - 비트 또는 다른 직사각형에 기초한 호출이며, 나머지 약 9%의 호출은 앞서 설명된 바와 같은 경계가 되는 직사각형이 게산되도록 하는 것에 관한 것이고, 단지 아주 작은 량만이 전체 윈도우를 전송해야 하는 경우이다. 따라서 본 발명에서와 같이 직사각형을 사용하는 것은 비교적 작은 경우에 대해서만 비효율적일뿐, 다수의 경우에 신속한 계산을 가능하게 하는 장점을 가지며 정확하다.
이론적으로는 후크를 디스플레이 프리젠테이션 드라이버상에서가 아니라 그래픽 엔진상에 위치시켜 GRE 콜이 아니라 GPI 콜을 인터셉트하는 것이 가능함에 유의하자. 이와 같이 하는데 있어서의 문제점은 속도가 더 느리고 스크린의 어느 부분이 갱신되었는지를 판별하기가 훨씬 덜 용이하다는 것이다(이것은 GPI 콜이 비교적 더 복잡할 수 있기 때문이다). 그러나, 처리 속도가 더욱 증가한다면 이것은 더욱 적합한 선택사양이 될 수도 있다.
다소 상이한 갱신 방법은 갱신 요구 자체를 네트워크내의 다른 컴퓨터로 전송하여 이들 원격 터미널이 근거리 컴퓨터와 동일한 방식으로 갱신 요구를 처리하도록 하는 것이다. 이 경우의 문제점은 네트워크내의 컴퓨터가 상이한 오퍼레이팅 시스템을 실행할 수도 있고, 또는 동일한 동작을 모두 공유하지 않는 상이한 형태의 스크린 하드웨어가 접속될 수도 있다는 것이다. 예를 들면, 디스플레이 드라이버가 그래픽 엔진으로부터의 커맨드를 이해하지 못하는 경우(통상 이것은 커맨드가 대응하는 디스플레이 드라이버를 위해 구현되지 않기 때문이다), 그래픽 엔진으로 보다 간단한 드로윙 인스트럭션(drawing instructions)으로 나뉘어진 커맨드를 반복 전송해 줄 것을 요구하는 메시지를 송신할 수 있다. 이와 같은 복잡성은, 이 방법이 특정의 오퍼레이팅 시스템, 특히 애플 시스템7 (Apple System 7)을 실행하고 대개 완전히 동일한 하드웨어를 갖는 네트워크내에서 이용될 수 있을지라도, 원격 터미널의 GRE(또는 GPI) 콜의 간단한 전송을 방해한다.

Claims (11)

  1. 하나 이상의 컴퓨터를 포함하는 네트워크(a network of one or more other computers)에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템(an improved subsystem for a computer workstation) - 상기 컴퓨터 워크스테이션은 스크린(a screen)과, 상기 스크린의 일부분의 내용을 갱신하기 위해 상기 스크린으로 요구(requests)를 송신하는 수단과, 상기 스크린 부분들의 내용을 상기 네트워크내의 다른 컴퓨터로 전송하는 수단을 포함함 -에 있어서, ① 상기 요구에 응답하여, 상기 요구에 의한 갱신을 위해 스크린의 부분들을 식별하는 수단과, ② 상기 다른 컴퓨터로 전송하기 위해 상기 스크린 부분들에 대응하는 갱신된 내용을 선택하는 수단과, ③ 상기 스크린 부분들중 하나에 제작기 대응하는 엔트리로 이루어진 리스트(a list of entries)를 발생하는 수단과, ④ 상기 전송중에 상기 스크린 부분들중 첫번째 및 두번째 갱신된 부분이 있다면 이를 검출하는 수단과, ⑤ 상기 검출시에, 상기 첫번째 갱신된 상기 스크린 부분들중 상기 두번째 갱신된 스크린 부분들중 하나에 의해 겹쳐지는 스크린 부분에 대응하는 엔트리를 상기 리스트로부터 삭제하는 수단을 포함하는 컴퓨터 워크스테이션용 서브시스템.
  2. 제1항에 있어서, 상기 갱신 후 상기 스크린 부분의 리스트를 저장하는 수단과, 상기 스크린 부분의 내용이 전송된 경우 상기 전송된 스크린 부분을 상기 스크린 부분의 리스트로부터 삭제하는 수단을 더 포함하는 컴퓨터 워크스테이션용 서브시스템.
  3. 제2항에 있어서, 상기 스크린의 식별된 부분의 각각은 직사각형으로 표시되는 서브시스템.
  4. 제3항에 있어서, 상기 스크린으로 요구를 송신하는 상기 수단은 그래픽 엔진(a graphics engine)과 디스플레이 프리젠테이션 드라이버(a display presentation driver)를 포함하며, 상기 요구에 의한 갱신을 위해 상기 스크린 부분을 식별하는 상기 수단은 상기 그래픽 엔진으로부터 상기 디스플레이 프리젠테이션 드라이버로의 콜(calls)을 인터셉트하는 후크(a hook)를 포함하는 서브시스템.
  5. 제4항에 있어서, 상기 후크는 상기 디스플레이 프리젠테이션 드라이버내 루틴의 엔트리 포인트 (entry-points of routines)를 리스트하는 벡터 테이블의 카피를 포함하는 서브시스템.
  6. 스크린과, 네트워크내의 하나 이상의 다른 컴퓨터로 전송될 상기 스크린의 내용(contents of said screen)과, 갱신될 상기 스크린 부분과, 대응하는 상기 스크린 부분의 내용을 포함하는 컴퓨터 워크스테이션과 함께 이용하기 위한 상기 스크린의 내용을 전송하는 방법에 있어서, ① 상기 스크린 부분의 내용을 갱신하기 위해 상기 컴퓨터 워크스테이션의 상기 스크린으로 요구를 송신하는 단계와, ② 요구에 의해 갱신될 상기 스크린 부분을 식별하는 단계와, ③ 상기 요구에 의해 갱신된 상기 스크린의 부분의 내용을 선택하는 단계와, ④ 상기 요구에 의해 갱신된 상기 스크린 부분의 상기 선택된 내용을 상기 네트워크내의 상기 다른, 컴퓨터로 전송하는 단계와, ⑤ 상기 스크린 부분중 하나에 제각기 대응하는 엔트리로 된 리스트를 발생하는 단계와, ⑥상기 순차적인 전송중에 상기 스크린 부분중 첫번째 및 두번째 갱신된 부분이 있다면 그의 겹침을 검출하는 단계와, ⑦ 상기 검출시에, 상기 첫번째 갱신된 상기 스크린 부분중 한 부분에 대응하는 엔트리를 상기 리스트로부터 삭제하는 단계를 포함하는 컴퓨터 워크스테이션과 함께 이용하기 위한 스크린 내용 전송 방법.
  7. 제6항에 있어서, 상기 요구에 의해 갱신된 상기 스크린 부분의 표시를 상기 리스트내에 저장하는 단계와, 상기 스크린 부분의 상기 선택된 내용이 전송된 경우 상기 리스트로부터 상기 표시중 하나를 삭제하는 단계를 더 포함하는 컴퓨터 워크스테이션과 함께 이용하기 위한 스크린 내용 전송 방법.
  8. 근거리 사용자 인터페이스 스크린(local user interface screen)으로부터 원격지 사용자 인터페이스 스크린을 효율적으로 갱신하기 위해 네트워크 컴퓨터 시스템에서 이용하기 위한 방법에 있어서, ① 상기 근거리 스크린의 갱신된 부분으로 이루어진 리스트를 발생하는 단계와, ② 상기 근거리 스크린의 일부가 첫번째 갱신되고, 상기 근거리 스크린에 대응하는 데이터가 상기 원격지 스크린으로 전송되기 전에 두번째로 갱신된 경우의 겹침(overlap)을 검출하는 단계와, ③ 상기 검출에 응답하여, 상기 첫번째 갱신된 상기 근거리 스크린 부분에 대응하는 엔트리를 상기 전송전에 상기 리스트로부터 삭제하는 단계를 포함하는 방법.
  9. 제8항에 있어서, 상기 리스트를 저장하는 단계를 더 포함하는 방법.
  10. 제8항에 있어서, 상기 각 데이터 전송중에 상기 원격지 스크린으로 중간에 발생하는 갱신을 전송하는 것을 금지하는 단계를 더 포함하는 방법.
  11. 네트워크내 적어도 제1 및 제2컴퓨터(at least a first second computer interface)의 복수의 사용자 인터페이스 스크린을 관리하는 방법 - 상기 제1 및 제2컴퓨터는 상기 네트워크로 상호접속됨 -에 있어서, ① 상기 제1컴퓨터의 상기 복수의 스크린중 사전선택된 스크린 부분(a preselected screen area)을 포함하는 제1스크린상의 제1위치(a first location)에 윈도우를 발생하는 단계와, ② 상기 제1위치의 상기 윈도우의 데이터 내용을 상기 네트워크상으로 전송하는 제1전송(a first transmission)을 발생하는 단계와, ③ 상기 제2컴퓨터가 상기 제1전송을 수신하는 단계와, ④ 상기 윈도우를 상기 제1위치로부터 제2위치로 이동시키는 단계 -상기 제2위치의 윈도우는 상기 제1위치의 윈도우와 부분적으로 겹치는 부분을 포함 함 -와, ⑤ 상기 이동하는 동안 상기 제1스크린을 반복적으로 변경하는 단계와, ⑥ 상기 제2위치의 상기 윈도우의 데이터 내용을 상기 네트워크상으로 전송하는 제2전송(a second transmission)을 발생하는 단계와, ⑦ 상기 제2컴퓨터가 상기 제2전송을 수신하는 단계와, ⑧ 상기 스크린 부분에 대응하는 엔트리(entries)를 포함하는 리스트를 발생하는 단계와, ⑨ 상기 제2전송시 상기 제1위치의 상기 윈도우와 부분적으로 겹치는 상기 부분을 제외한 상기 부분에 대한 단일의 참조(a single reference)를 포함하도록 상기 이동중에 상기 리스트를 편집하는 단계와, ⑩ 상기 제2컴퓨터에 의한 상기 제2전송의 수신에 응답하여, 상기 제1컴퓨터의 원격지에 배치된 상기 제2컴퓨터의 상기 복수의 스크린중 제2스크린을 갱신하는 단계를 포함하는 네트워크내의 사용자 인터페이스 스크린 관리 방법.
KR1019930018646A 1992-09-15 1993-09-14 하나 이상의 컴퓨터를 포함하는 네트워크에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템 및 그와 함께 이용하기 위한 스크린 내용 전송 방법 KR0122857B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9219468A GB2270581A (en) 1992-09-15 1992-09-15 Computer workstation
GB9219468.7 1992-09-15

Publications (2)

Publication Number Publication Date
KR940007703A KR940007703A (ko) 1994-04-27
KR0122857B1 true KR0122857B1 (ko) 1997-11-21

Family

ID=10721909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930018646A KR0122857B1 (ko) 1992-09-15 1993-09-14 하나 이상의 컴퓨터를 포함하는 네트워크에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템 및 그와 함께 이용하기 위한 스크린 내용 전송 방법

Country Status (7)

Country Link
US (1) US5491780A (ko)
EP (1) EP0590817B1 (ko)
JP (1) JP3216059B2 (ko)
KR (1) KR0122857B1 (ko)
AT (1) ATE176338T1 (ko)
DE (1) DE69323260T2 (ko)
GB (1) GB2270581A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100370820B1 (ko) * 1994-09-09 2003-04-08 샤이엔 어드밴스드 테크놀로지 리미티드 컴퓨터시스템의 동작방법

Families Citing this family (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067379A (en) 1988-12-09 2000-05-23 Cognex Corporation Method and apparatus for locating patterns in an optical image
JP3660366B2 (ja) * 1993-12-28 2005-06-15 富士通株式会社 図形を用いたプログラミングシステム
JPH0830506A (ja) * 1994-07-20 1996-02-02 Fujitsu Ltd データ転送制御方法およびデータ転送回路
US5794258A (en) * 1994-07-29 1998-08-11 Tokyo Gas Co., Ltd. System for transmitting figure data within a retrievable range according to the date and time of update
JPH0869442A (ja) * 1994-08-30 1996-03-12 Nec Corp 共有アプリケーション間通信制御装置
GB2296114A (en) * 1994-12-13 1996-06-19 Ibm Updating display screens of local and remote workstations
US5913920A (en) * 1994-12-13 1999-06-22 International Business Machines Corporation Indicating updates from a remote display
US6219044B1 (en) * 1995-02-13 2001-04-17 International Business Machines Corporation Method for managing top-level windows within a conferencing network system
US5784570A (en) * 1995-04-07 1998-07-21 At&T Corp Server for applying a recipient filter and compressing the input data stream based upon a set of at least one characteristics in a multiuser interactive virtual environment
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US6911987B1 (en) * 1995-07-05 2005-06-28 Microsoft Corporation Method and system for transmitting data for a shared application
US5864711A (en) * 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US6026176A (en) 1995-07-25 2000-02-15 Cognex Corporation Machine vision methods and articles of manufacture for ball grid array inspection
US5903269A (en) * 1995-10-10 1999-05-11 Anysoft Ltd. Apparatus for and method of acquiring processing and routing data contained in a GUI window
US5872870A (en) 1996-02-16 1999-02-16 Cognex Corporation Machine vision methods for identifying extrema of objects in rotated reference frames
US5909504A (en) 1996-03-15 1999-06-01 Cognex Corporation Method of testing a machine vision inspection system
JPH09258950A (ja) * 1996-03-19 1997-10-03 Fujitsu Ltd スクロール同期システム及び記録媒体
US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
US6298149B1 (en) 1996-03-21 2001-10-02 Cognex Corporation Semiconductor device image inspection with contrast enhancement
US5978502A (en) 1996-04-01 1999-11-02 Cognex Corporation Machine vision methods for determining characteristics of three-dimensional objects
US8861707B2 (en) * 1996-05-31 2014-10-14 Verint Americas Inc. Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location
GB2317470A (en) * 1996-09-24 1998-03-25 Ibm Screen remote control
US6137893A (en) 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US5990852A (en) * 1996-10-31 1999-11-23 Fujitsu Limited Display screen duplication system and method
US5960125A (en) 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
US6057847A (en) * 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US5953130A (en) 1997-01-06 1999-09-14 Cognex Corporation Machine vision methods and apparatus for machine vision illumination of an object
US6075881A (en) 1997-03-18 2000-06-13 Cognex Corporation Machine vision methods for identifying collinear sets of points from an image
US5974169A (en) 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
US6028608A (en) * 1997-05-09 2000-02-22 Jenkins; Barry System and method of perception-based image generation and encoding
US6141033A (en) 1997-05-15 2000-10-31 Cognex Corporation Bandwidth reduction of multichannel images for machine vision
US6608647B1 (en) 1997-06-24 2003-08-19 Cognex Corporation Methods and apparatus for charge coupled device image acquisition with independent integration and readout
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
US5978080A (en) 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
US6128630A (en) * 1997-12-18 2000-10-03 International Business Machines Corporation Journal space release for log-structured storage systems
US6025854A (en) 1997-12-31 2000-02-15 Cognex Corporation Method and apparatus for high speed image acquisition
US6236769B1 (en) 1998-01-28 2001-05-22 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets
US6282328B1 (en) 1998-01-28 2001-08-28 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with non-uniform offsets
US6215915B1 (en) 1998-02-20 2001-04-10 Cognex Corporation Image processing methods and apparatus for separable, general affine transformation of an image
US6381375B1 (en) 1998-02-20 2002-04-30 Cognex Corporation Methods and apparatus for generating a projection of an image
US6260124B1 (en) 1998-08-13 2001-07-10 International Business Machines Corporation System and method for dynamically resynchronizing backup data
US6381366B1 (en) 1998-12-18 2002-04-30 Cognex Corporation Machine vision methods and system for boundary point-based comparison of patterns and images
US6687402B1 (en) 1998-12-18 2004-02-03 Cognex Corporation Machine vision methods and systems for boundary feature comparison of patterns and images
US6331855B1 (en) * 1999-04-28 2001-12-18 Expertcity.Com, Inc. Method and apparatus for providing remote access, control of remote systems and updating of display information
US6340977B1 (en) * 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
US7587041B2 (en) * 2000-01-13 2009-09-08 Verint Americas Inc. System and method for analysing communications streams
GB0000735D0 (en) * 2000-01-13 2000-03-08 Eyretel Ltd System and method for analysing communication streams
US6748104B1 (en) 2000-03-24 2004-06-08 Cognex Corporation Methods and apparatus for machine vision inspection using single and multiple templates or patterns
JP3936835B2 (ja) * 2000-09-20 2007-06-27 株式会社日立製作所 計算機ネットワーク用の端末装置および操作履歴記録方法
US7325190B1 (en) 2000-10-02 2008-01-29 Boehmer Tiffany D Interface system and method of building rules and constraints for a resource scheduling system
US20020083137A1 (en) * 2000-12-01 2002-06-27 Rogers Edwin H. Collaboration system and workstation
US20020080171A1 (en) * 2000-12-22 2002-06-27 Laferriere Robert James Method and apparatus for coordinating screen views in a collaborative computing environment
GB0103381D0 (en) * 2001-02-12 2001-03-28 Eyretel Ltd Packet data recording method and system
US8015042B2 (en) * 2001-04-02 2011-09-06 Verint Americas Inc. Methods for long-range contact center staff planning utilizing discrete event simulation
US7155399B2 (en) 2001-04-03 2006-12-26 Witness Systems, Inc. System and method for complex schedule generation
US6952732B2 (en) 2001-04-30 2005-10-04 Blue Pumpkin Software, Inc. Method and apparatus for multi-contact scheduling
EP1248250A1 (en) * 2001-04-04 2002-10-09 Sun Microsystems, Inc. Optimized data access for drawing operations
US6959405B2 (en) * 2001-04-18 2005-10-25 Blue Pumpkin Software, Inc. Method and system for concurrent error identification in resource scheduling
US6941343B2 (en) * 2001-06-02 2005-09-06 Polycom, Inc. System and method for point to point integration of personal computers with videoconferencing systems
US20030090512A1 (en) * 2001-11-14 2003-05-15 Todres Yampel Enhanced user interface for a remote terminal
US7418664B2 (en) * 2002-04-03 2008-08-26 Microsoft Corporation Application sharing single document sharing
US7028266B2 (en) * 2002-04-05 2006-04-11 Microsoft Corporation Processing occluded windows during application sharing
US8756513B1 (en) 2002-04-23 2014-06-17 Microsoft Corporation Document viewing mechanism for document sharing environment
US7415605B2 (en) * 2002-05-21 2008-08-19 Bio-Key International, Inc. Biometric identification network security
US7293243B1 (en) * 2002-05-22 2007-11-06 Microsoft Corporation Application sharing viewer presentation
US7356563B1 (en) 2002-06-06 2008-04-08 Microsoft Corporation Methods of annotating a collaborative application display
GB0219493D0 (en) 2002-08-21 2002-10-02 Eyretel Plc Method and system for communications monitoring
US7646927B2 (en) * 2002-09-19 2010-01-12 Ricoh Company, Ltd. Image processing and display scheme for rendering an image at high speed
JP2004133733A (ja) * 2002-10-11 2004-04-30 Sony Corp 表示装置および方法、並びにプログラム
CA2511304C (en) * 2002-12-24 2011-09-20 Lg Electronics, Inc. Dual journaling store method and storage medium thereof
US7222305B2 (en) * 2003-03-13 2007-05-22 Oracle International Corp. Method of sharing a desktop with attendees of a real-time collaboration
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7483694B2 (en) 2004-02-24 2009-01-27 Research In Motion Limited Method and system for remotely testing a wireless device
EP1756702B1 (en) * 2004-05-21 2017-01-25 CA, Inc. Systems and methods for tracking screen updates
US7005957B2 (en) * 2004-05-29 2006-02-28 Tsung-Mou Yu Mechanism for trip-free of the bimetallic plate of a safety switch device
JP3826941B2 (ja) * 2004-06-11 2006-09-27 セイコーエプソン株式会社 描画命令のフックを利用した画像の転送
US7817156B2 (en) * 2004-06-11 2010-10-19 Seiko Epson Corporation Image transfer using drawing command hooking
US8001476B2 (en) 2004-11-16 2011-08-16 Open Text Inc. Cellular user interface
US8418075B2 (en) 2004-11-16 2013-04-09 Open Text Inc. Spatially driven content presentation in a cellular environment
US20060129634A1 (en) * 2004-11-18 2006-06-15 Microsoft Corporation Multiplexing and de-multiplexing graphics streams
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
US7899864B2 (en) * 2005-11-01 2011-03-01 Microsoft Corporation Multi-user terminal services accelerator
US8670552B2 (en) * 2006-02-22 2014-03-11 Verint Systems, Inc. System and method for integrated display of multiple types of call agent data
US8117064B2 (en) * 2006-02-22 2012-02-14 Verint Americas, Inc. Systems and methods for workforce optimization and analytics
US8108237B2 (en) * 2006-02-22 2012-01-31 Verint Americas, Inc. Systems for integrating contact center monitoring, training and scheduling
US8112306B2 (en) * 2006-02-22 2012-02-07 Verint Americas, Inc. System and method for facilitating triggers and workflows in workforce optimization
US7853006B1 (en) 2006-02-22 2010-12-14 Verint Americas Inc. Systems and methods for scheduling call center agents using quality data and correlation-based discovery
US8112298B2 (en) * 2006-02-22 2012-02-07 Verint Americas, Inc. Systems and methods for workforce optimization
US8160233B2 (en) * 2006-02-22 2012-04-17 Verint Americas Inc. System and method for detecting and displaying business transactions
US20070206767A1 (en) * 2006-02-22 2007-09-06 Witness Systems, Inc. System and method for integrated display of recorded interactions and call agent data
US7864946B1 (en) 2006-02-22 2011-01-04 Verint Americas Inc. Systems and methods for scheduling call center agents using quality data and correlation-based discovery
US7734783B1 (en) 2006-03-21 2010-06-08 Verint Americas Inc. Systems and methods for determining allocations for distributed multi-site contact centers
US8126134B1 (en) 2006-03-30 2012-02-28 Verint Americas, Inc. Systems and methods for scheduling of outbound agents
US7680264B2 (en) * 2006-03-31 2010-03-16 Verint Americas Inc. Systems and methods for endpoint recording using a conference bridge
US20070237525A1 (en) * 2006-03-31 2007-10-11 Witness Systems, Inc. Systems and methods for modular capturing various communication signals
US8254262B1 (en) 2006-03-31 2012-08-28 Verint Americas, Inc. Passive recording and load balancing
US8204056B2 (en) 2006-03-31 2012-06-19 Verint Americas, Inc. Systems and methods for endpoint recording using a media application server
US7672746B1 (en) 2006-03-31 2010-03-02 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US8000465B2 (en) * 2006-03-31 2011-08-16 Verint Americas, Inc. Systems and methods for endpoint recording using gateways
US8594313B2 (en) 2006-03-31 2013-11-26 Verint Systems, Inc. Systems and methods for endpoint recording using phones
US8130938B2 (en) * 2006-03-31 2012-03-06 Verint Americas, Inc. Systems and methods for endpoint recording using recorders
US7792278B2 (en) 2006-03-31 2010-09-07 Verint Americas Inc. Integration of contact center surveys
US7822018B2 (en) * 2006-03-31 2010-10-26 Verint Americas Inc. Duplicate media stream
US8442033B2 (en) 2006-03-31 2013-05-14 Verint Americas, Inc. Distributed voice over internet protocol recording
US7826608B1 (en) 2006-03-31 2010-11-02 Verint Americas Inc. Systems and methods for calculating workforce staffing statistics
US7633930B2 (en) 2006-03-31 2009-12-15 Verint Americas Inc. Systems and methods for capturing multimedia communication signals
US7701972B1 (en) * 2006-03-31 2010-04-20 Verint Americas Inc. Internet protocol analyzing
US7774854B1 (en) 2006-03-31 2010-08-10 Verint Americas Inc. Systems and methods for protecting information
US7852994B1 (en) 2006-03-31 2010-12-14 Verint Americas Inc. Systems and methods for recording audio
US7995612B2 (en) * 2006-03-31 2011-08-09 Verint Americas, Inc. Systems and methods for capturing communication signals [32-bit or 128-bit addresses]
US8155275B1 (en) 2006-04-03 2012-04-10 Verint Americas, Inc. Systems and methods for managing alarms from recorders
US8331549B2 (en) * 2006-05-01 2012-12-11 Verint Americas Inc. System and method for integrated workforce and quality management
US8396732B1 (en) 2006-05-08 2013-03-12 Verint Americas Inc. System and method for integrated workforce and analytics
US20070282807A1 (en) * 2006-05-10 2007-12-06 John Ringelman Systems and methods for contact center analysis
US7817795B2 (en) * 2006-05-10 2010-10-19 Verint Americas, Inc. Systems and methods for data synchronization in a customer center
US7747745B2 (en) * 2006-06-16 2010-06-29 Almondnet, Inc. Media properties selection method and system based on expected profit from profile-based ad delivery
US7660407B2 (en) 2006-06-27 2010-02-09 Verint Americas Inc. Systems and methods for scheduling contact center agents
US20070297578A1 (en) * 2006-06-27 2007-12-27 Witness Systems, Inc. Hybrid recording of communications
US7660406B2 (en) * 2006-06-27 2010-02-09 Verint Americas Inc. Systems and methods for integrating outsourcers
US7903568B2 (en) 2006-06-29 2011-03-08 Verint Americas Inc. Systems and methods for providing recording as a network service
US7660307B2 (en) * 2006-06-29 2010-02-09 Verint Americas Inc. Systems and methods for providing recording as a network service
US7848524B2 (en) * 2006-06-30 2010-12-07 Verint Americas Inc. Systems and methods for a secure recording environment
US8131578B2 (en) * 2006-06-30 2012-03-06 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US7769176B2 (en) * 2006-06-30 2010-08-03 Verint Americas Inc. Systems and methods for a secure recording environment
US7966397B2 (en) * 2006-06-30 2011-06-21 Verint Americas Inc. Distributive data capture
US7953621B2 (en) 2006-06-30 2011-05-31 Verint Americas Inc. Systems and methods for displaying agent activity exceptions
US7853800B2 (en) 2006-06-30 2010-12-14 Verint Americas Inc. Systems and methods for a secure recording environment
US20080004945A1 (en) * 2006-06-30 2008-01-03 Joe Watson Automated scoring of interactions
US8162584B2 (en) * 2006-08-23 2012-04-24 Cognex Corporation Method and apparatus for semiconductor wafer alignment
US20080059583A1 (en) * 2006-09-06 2008-03-06 Rhub Communications, Inc. Browser based web conferencing employing layering to display screen updates
US7953750B1 (en) 2006-09-28 2011-05-31 Verint Americas, Inc. Systems and methods for storing and searching data in a customer center environment
US7930314B2 (en) * 2006-09-28 2011-04-19 Verint Americas Inc. Systems and methods for storing and searching data in a customer center environment
US8837697B2 (en) * 2006-09-29 2014-09-16 Verint Americas Inc. Call control presence and recording
US7920482B2 (en) 2006-09-29 2011-04-05 Verint Americas Inc. Systems and methods for monitoring information corresponding to communication sessions
US8645179B2 (en) * 2006-09-29 2014-02-04 Verint Americas Inc. Systems and methods of partial shift swapping
US7965828B2 (en) * 2006-09-29 2011-06-21 Verint Americas Inc. Call control presence
US7991613B2 (en) 2006-09-29 2011-08-02 Verint Americas Inc. Analyzing audio components and generating text with integrated additional session information
US7899176B1 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Systems and methods for discovering customer center information
US8005676B2 (en) * 2006-09-29 2011-08-23 Verint Americas, Inc. Speech analysis using statistical learning
US7570755B2 (en) 2006-09-29 2009-08-04 Verint Americas Inc. Routine communication sessions for recording
US20080080685A1 (en) * 2006-09-29 2008-04-03 Witness Systems, Inc. Systems and Methods for Recording in a Contact Center Environment
US7752043B2 (en) 2006-09-29 2010-07-06 Verint Americas Inc. Multi-pass speech analytics
US7885813B2 (en) 2006-09-29 2011-02-08 Verint Systems Inc. Systems and methods for analyzing communication sessions
US7881216B2 (en) 2006-09-29 2011-02-01 Verint Systems Inc. Systems and methods for analyzing communication sessions using fragments
US20080082387A1 (en) * 2006-09-29 2008-04-03 Swati Tewari Systems and methods or partial shift swapping
US8068602B1 (en) 2006-09-29 2011-11-29 Verint Americas, Inc. Systems and methods for recording using virtual machines
US7899178B2 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Recording invocation of communication sessions
US8199886B2 (en) * 2006-09-29 2012-06-12 Verint Americas, Inc. Call control recording
US7613290B2 (en) * 2006-09-29 2009-11-03 Verint Americas Inc. Recording using proxy servers
US7873156B1 (en) 2006-09-29 2011-01-18 Verint Americas Inc. Systems and methods for analyzing contact center interactions
US8130925B2 (en) * 2006-12-08 2012-03-06 Verint Americas, Inc. Systems and methods for recording
US8280011B2 (en) * 2006-12-08 2012-10-02 Verint Americas, Inc. Recording in a distributed environment
US8130926B2 (en) * 2006-12-08 2012-03-06 Verint Americas, Inc. Systems and methods for recording data
US20080137814A1 (en) * 2006-12-07 2008-06-12 Jamie Richard Williams Systems and Methods for Replaying Recorded Data
US20080244686A1 (en) * 2007-03-27 2008-10-02 Witness Systems, Inc. Systems and Methods for Enhancing Security of Files
US8743730B2 (en) * 2007-03-30 2014-06-03 Verint Americas Inc. Systems and methods for recording resource association for a communications environment
US9106737B2 (en) * 2007-03-30 2015-08-11 Verint Americas, Inc. Systems and methods for recording resource association for recording
US8170184B2 (en) 2007-03-30 2012-05-01 Verint Americas, Inc. Systems and methods for recording resource association in a recording environment
US8437465B1 (en) 2007-03-30 2013-05-07 Verint Americas, Inc. Systems and methods for capturing communications data
US20080300955A1 (en) * 2007-05-30 2008-12-04 Edward Hamilton System and Method for Multi-Week Scheduling
US20080300963A1 (en) * 2007-05-30 2008-12-04 Krithika Seetharaman System and Method for Long Term Forecasting
US8315901B2 (en) * 2007-05-30 2012-11-20 Verint Systems Inc. Systems and methods of automatically scheduling a workforce
US8140610B2 (en) * 2007-05-31 2012-03-20 Microsoft Corporation Bitmap-based display remoting
US20090183227A1 (en) * 2008-01-11 2009-07-16 Microsoft Corporation Secure Runtime Execution of Web Script Content on a Client
US8401155B1 (en) 2008-05-23 2013-03-19 Verint Americas, Inc. Systems and methods for secure recording in a customer center environment
KR20120088525A (ko) * 2008-08-05 2012-08-08 가부시키가이샤 에네사이바 설비감시 제어시스템 및 설비감시 제어방법
US8719016B1 (en) 2009-04-07 2014-05-06 Verint Americas Inc. Speech analytics system and system and method for determining structured speech
IL199115A (en) * 2009-06-03 2013-06-27 Verint Systems Ltd Systems and methods for efficiently locating keywords in communication traffic
US10115065B1 (en) 2009-10-30 2018-10-30 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
CN107219973B (zh) * 2017-05-23 2018-11-30 维沃移动通信有限公司 一种截屏方法及移动终端

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59162588A (ja) * 1983-03-07 1984-09-13 三菱電機株式会社 表示装置
US4924410A (en) * 1986-02-13 1990-05-08 Hitachi, Ltd. Display control method and system
US5157763A (en) * 1987-10-15 1992-10-20 International Business Machines Corporation Visually assisted method for transfer of data within an application or from a source application to a receiving application
US5134697A (en) * 1987-11-16 1992-07-28 Prime Computer Remote memory-mapped display with interactivity determination
JPH02130627A (ja) * 1988-11-11 1990-05-18 Nec Corp 表示情報制御装置
US5043919A (en) * 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
JP2585818B2 (ja) * 1989-12-20 1997-02-26 株式会社ピーエフユー プログラムの呼び出し処理装置
US5228122A (en) * 1990-01-24 1993-07-13 International Business Machines Corporation Method for bypassing user unwanted display screens from a host controlled terminal
JPH0460741A (ja) * 1990-06-28 1992-02-26 Fuji Xerox Co Ltd ネットワークシステム
AU8393191A (en) * 1990-07-10 1992-02-04 Athenix Corporation Selective content synchronization of multiple image buffers
US5241625A (en) * 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100370820B1 (ko) * 1994-09-09 2003-04-08 샤이엔 어드밴스드 테크놀로지 리미티드 컴퓨터시스템의 동작방법

Also Published As

Publication number Publication date
EP0590817B1 (en) 1999-01-27
EP0590817A1 (en) 1994-04-06
JPH06161957A (ja) 1994-06-10
DE69323260T2 (de) 1999-08-26
JP3216059B2 (ja) 2001-10-09
DE69323260D1 (de) 1999-03-11
GB2270581A (en) 1994-03-16
KR940007703A (ko) 1994-04-27
US5491780A (en) 1996-02-13
ATE176338T1 (de) 1999-02-15
GB9219468D0 (en) 1992-10-28

Similar Documents

Publication Publication Date Title
KR0122857B1 (ko) 하나 이상의 컴퓨터를 포함하는 네트워크에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템 및 그와 함께 이용하기 위한 스크린 내용 전송 방법
US5898419A (en) Method and apparatus for scaling a cursor on local computer to have the same size relative to a window on the local computer as another cursor has to another window on a remote computer
US5781908A (en) File data synchronizer in a distributed data computer network
US5982392A (en) Replicating and refreshing graphic images on a remote workstation
US5448734A (en) Selective distribution of messages using named pipes
JP4076239B2 (ja) 情報表示方法及びウィンドウ管理装置
US4761642A (en) System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer
US7012612B1 (en) Context dependent image caching
EP0475581A2 (en) Method and apparatus for window sharing between computer displays
US6697859B1 (en) Apparatus, method, program, and information processing system for prioritized data transfer to a network terminal
US5819077A (en) Graphics drawing system and method based on a client server system having shared graphics resources
US5881285A (en) Associating a physical driver object with its logical contents
US5432901A (en) Method of dynamically generating a local format for use by a logical unit in a VTAM-type communications session
JPH10500514A (ja) コンピュータ・ワークステーション
US7701460B2 (en) Graphics systems and methods
JPH09258948A (ja) コメント添付・保存システムとそれを用いた共同作業支援システム
HU210893B (en) Method for transmitting information in information processing systems and such information processing system
JPH0474281A (ja) 図形処理装置
CA2068016A1 (en) Method and apparatus for processing concurrent pick events
KR100482316B1 (ko) 운영체제상에서의콘솔서버방법및장치
JPH0259857A (ja) 文字列処理方式
JPH04223524A (ja) 端末装置 
EP0649238A2 (en) Computer network with distributed resource information
JPH0478939A (ja) 文書更新方式
JPH08185302A (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: 20010714

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee