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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital 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/1462—Digital 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote 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)
- 하나 이상의 컴퓨터를 포함하는 네트워크(a network of one or more other computers)에 접속하기에 적합한 개선된 컴퓨터 워크스테이션용 서브시스템(an improved subsystem for a computer workstation) - 상기 컴퓨터 워크스테이션은 스크린(a screen)과, 상기 스크린의 일부분의 내용을 갱신하기 위해 상기 스크린으로 요구(requests)를 송신하는 수단과, 상기 스크린 부분들의 내용을 상기 네트워크내의 다른 컴퓨터로 전송하는 수단을 포함함 -에 있어서, ① 상기 요구에 응답하여, 상기 요구에 의한 갱신을 위해 스크린의 부분들을 식별하는 수단과, ② 상기 다른 컴퓨터로 전송하기 위해 상기 스크린 부분들에 대응하는 갱신된 내용을 선택하는 수단과, ③ 상기 스크린 부분들중 하나에 제작기 대응하는 엔트리로 이루어진 리스트(a list of entries)를 발생하는 수단과, ④ 상기 전송중에 상기 스크린 부분들중 첫번째 및 두번째 갱신된 부분이 있다면 이를 검출하는 수단과, ⑤ 상기 검출시에, 상기 첫번째 갱신된 상기 스크린 부분들중 상기 두번째 갱신된 스크린 부분들중 하나에 의해 겹쳐지는 스크린 부분에 대응하는 엔트리를 상기 리스트로부터 삭제하는 수단을 포함하는 컴퓨터 워크스테이션용 서브시스템.
- 제1항에 있어서, 상기 갱신 후 상기 스크린 부분의 리스트를 저장하는 수단과, 상기 스크린 부분의 내용이 전송된 경우 상기 전송된 스크린 부분을 상기 스크린 부분의 리스트로부터 삭제하는 수단을 더 포함하는 컴퓨터 워크스테이션용 서브시스템.
- 제2항에 있어서, 상기 스크린의 식별된 부분의 각각은 직사각형으로 표시되는 서브시스템.
- 제3항에 있어서, 상기 스크린으로 요구를 송신하는 상기 수단은 그래픽 엔진(a graphics engine)과 디스플레이 프리젠테이션 드라이버(a display presentation driver)를 포함하며, 상기 요구에 의한 갱신을 위해 상기 스크린 부분을 식별하는 상기 수단은 상기 그래픽 엔진으로부터 상기 디스플레이 프리젠테이션 드라이버로의 콜(calls)을 인터셉트하는 후크(a hook)를 포함하는 서브시스템.
- 제4항에 있어서, 상기 후크는 상기 디스플레이 프리젠테이션 드라이버내 루틴의 엔트리 포인트 (entry-points of routines)를 리스트하는 벡터 테이블의 카피를 포함하는 서브시스템.
- 스크린과, 네트워크내의 하나 이상의 다른 컴퓨터로 전송될 상기 스크린의 내용(contents of said screen)과, 갱신될 상기 스크린 부분과, 대응하는 상기 스크린 부분의 내용을 포함하는 컴퓨터 워크스테이션과 함께 이용하기 위한 상기 스크린의 내용을 전송하는 방법에 있어서, ① 상기 스크린 부분의 내용을 갱신하기 위해 상기 컴퓨터 워크스테이션의 상기 스크린으로 요구를 송신하는 단계와, ② 요구에 의해 갱신될 상기 스크린 부분을 식별하는 단계와, ③ 상기 요구에 의해 갱신된 상기 스크린의 부분의 내용을 선택하는 단계와, ④ 상기 요구에 의해 갱신된 상기 스크린 부분의 상기 선택된 내용을 상기 네트워크내의 상기 다른, 컴퓨터로 전송하는 단계와, ⑤ 상기 스크린 부분중 하나에 제각기 대응하는 엔트리로 된 리스트를 발생하는 단계와, ⑥상기 순차적인 전송중에 상기 스크린 부분중 첫번째 및 두번째 갱신된 부분이 있다면 그의 겹침을 검출하는 단계와, ⑦ 상기 검출시에, 상기 첫번째 갱신된 상기 스크린 부분중 한 부분에 대응하는 엔트리를 상기 리스트로부터 삭제하는 단계를 포함하는 컴퓨터 워크스테이션과 함께 이용하기 위한 스크린 내용 전송 방법.
- 제6항에 있어서, 상기 요구에 의해 갱신된 상기 스크린 부분의 표시를 상기 리스트내에 저장하는 단계와, 상기 스크린 부분의 상기 선택된 내용이 전송된 경우 상기 리스트로부터 상기 표시중 하나를 삭제하는 단계를 더 포함하는 컴퓨터 워크스테이션과 함께 이용하기 위한 스크린 내용 전송 방법.
- 근거리 사용자 인터페이스 스크린(local user interface screen)으로부터 원격지 사용자 인터페이스 스크린을 효율적으로 갱신하기 위해 네트워크 컴퓨터 시스템에서 이용하기 위한 방법에 있어서, ① 상기 근거리 스크린의 갱신된 부분으로 이루어진 리스트를 발생하는 단계와, ② 상기 근거리 스크린의 일부가 첫번째 갱신되고, 상기 근거리 스크린에 대응하는 데이터가 상기 원격지 스크린으로 전송되기 전에 두번째로 갱신된 경우의 겹침(overlap)을 검출하는 단계와, ③ 상기 검출에 응답하여, 상기 첫번째 갱신된 상기 근거리 스크린 부분에 대응하는 엔트리를 상기 전송전에 상기 리스트로부터 삭제하는 단계를 포함하는 방법.
- 제8항에 있어서, 상기 리스트를 저장하는 단계를 더 포함하는 방법.
- 제8항에 있어서, 상기 각 데이터 전송중에 상기 원격지 스크린으로 중간에 발생하는 갱신을 전송하는 것을 금지하는 단계를 더 포함하는 방법.
- 네트워크내 적어도 제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스크린을 갱신하는 단계를 포함하는 네트워크내의 사용자 인터페이스 스크린 관리 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100370820B1 (ko) * | 1994-09-09 | 2003-04-08 | 샤이엔 어드밴스드 테크놀로지 리미티드 | 컴퓨터시스템의 동작방법 |
Families Citing this family (172)
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)
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 |
-
1992
- 1992-09-15 GB GB9219468A patent/GB2270581A/en not_active Withdrawn
-
1993
- 1993-07-27 JP JP18505893A patent/JP3216059B2/ja not_active Expired - Lifetime
- 1993-09-09 EP EP93307139A patent/EP0590817B1/en not_active Expired - Lifetime
- 1993-09-09 AT AT93307139T patent/ATE176338T1/de not_active IP Right Cessation
- 1993-09-09 DE DE69323260T patent/DE69323260T2/de not_active Expired - Lifetime
- 1993-09-14 KR KR1019930018646A patent/KR0122857B1/ko not_active IP Right Cessation
-
1994
- 1994-08-25 US US08/296,262 patent/US5491780A/en not_active Expired - Lifetime
Cited By (1)
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 |