KR20070110127A - 압축을 이용하여 분산 프로세싱 환경에서 그래픽디스플레이를 업데이트하는 방법 및 장치 - Google Patents

압축을 이용하여 분산 프로세싱 환경에서 그래픽디스플레이를 업데이트하는 방법 및 장치 Download PDF

Info

Publication number
KR20070110127A
KR20070110127A KR1020077022735A KR20077022735A KR20070110127A KR 20070110127 A KR20070110127 A KR 20070110127A KR 1020077022735 A KR1020077022735 A KR 1020077022735A KR 20077022735 A KR20077022735 A KR 20077022735A KR 20070110127 A KR20070110127 A KR 20070110127A
Authority
KR
South Korea
Prior art keywords
update
display unit
display
remote display
display update
Prior art date
Application number
KR1020077022735A
Other languages
English (en)
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 KR20070110127A publication Critical patent/KR20070110127A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems

Landscapes

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

Abstract

컴퓨팅 시스템과 통신하는 원격 디스플레이 유닛을 업데이트하기 위한 시스템 및 방법이 개시된다. 상기 방법은 컴퓨팅 시스템상에서 실행되는 애플리케이션에 의해 발생된 드로잉 명령을 저장하는 업데이트 큐로부터 디스플레이 업데이트 정보에 액세스하는 단계와, 디스플레이 업데이트 정보를 캐싱하는 단계와, 손실있는 디스플레이 업데이트를 생성하기 위해 디스플레이 업데이트 정보에 손실있는 압축 알고리즘을 적용하는 단계와, 원격 디스플레이 유닛에 손실있는 업데이트를 전송하는 단계를 포함한다. 또한 상기 방법은 손실없는 디스플레이 업데이트를 생성하기 위해 캐시내의 디스플레이 업데이트 정보에 손실없는 압축 알고리즘을 적용하는 단계와 손실있는 업데이트를 전송하고 미리 지정된 시간 이후에 손실없는 디스플레이 업데이트를 전송하는 단계를 포함한다.
원격 디스플레이 유닛, 디스플레이 업데이트, 분산 프로세싱 컴퓨팅 시스템

Description

압축을 이용하여 분산 프로세싱 환경에서 그래픽 디스플레이를 업데이트하는 방법 및 장치{A METHOD AND APPARATUS FOR UPDATING A GRAPHICAL DISPLAY IN A DISTRIBUTED PROCESSING ENVIRONMENT USING COMPRESSION}
본 발명은 압축을 이용하여 분산 프로세싱 환경에서 그래픽 디스플레이를 업데이트하는 방법 및 장치에 관한 것이다.
분산 컴퓨터 시스템은 애플리케이션 실행을 분산시키는 기술을 사용한다. 특히, 애플리케이션 서버는 애플리케이션 프로그램을 국부적으로 실행시키고 애플리케이션 출력 데이터를 클라이언트들/네트워크 사용자들에게 제공하는데, 이 클라이언트들/네트워크 사용자들은 그 이후에 자신들의 로컬 컴퓨터에 국부적으로-결합되는 디스플레이 스크린 상에 그 결과들을 디스플레이한다. 분산 시스템은 이용 가능한 컴퓨팅 자원들을 가장 양호하게 사용하도록 할 수 있는데, 즉, 더 능력 있는 서버가 계산 및 메모리 집약적인 애플리케이션 프로세싱 기능들을 수행하는 한편, 계산 성능에서는 더 떨어지지만 비디오 성능에서는 잠재적으로 더 양호할 수 있는 클라이언트가 출력을 디스플레이한다. 한가지 유형의 분산 컴퓨팅 시스템에서, 클라이언트의 사용자는 애플리케이션 프로그램의 실행 동안 로컬 디스플레이 상에서 애플리케이션 출력 데이터를 뷰잉(viewing)하고, 키보드, 마우스 입력들, 또는 다른 디바이스 입력들을 통하여 애플리케이션 프로그램과 상호작용한다. 사용자의 입력들은 애플리케이션 프로그램의 동작에 영향을 주는 어떤 동작들을 실행시키도록 애플리케이션 서버에 요청하는 것에 대응한다. 애플리케이션 서버는 부가적인 프로세싱을 위해 애플리케이션에 대한 이러한 요청들을 통과시킨다. 애플리케이션 서버는 또한 애플리케이션 프로그램에 의해 발생되고, 전형적으로 애플리케이션의 운영 시스템으로 타겟화된 애플리케이션 출력 데이터를 인터셉트하고, 데이터의 모두 또는 일부를 디스플레이를 위해 클라이언트에 전송한다. 사용자의 관점에서, 애플리케이션 프로그램은 실제로 원격 서버상에서 실행되고 있을지라도 국부적으로 실행되고 국부적으로 디스플레이되는 것처럼 보인다.
상술된 기능을 제공하는 다양한 프로토콜들이 존재한다. 이와 같은 프로토콜의 일례는 워싱턴의 레드몬드 소재의 마이크로소프트사에 의해 분배된 원격 데스크톱 프로토콜("RDP")이다. RDP는 프로토콜들의 ITU T.120 체계에 기초하며, 상기 ITU T.120 체계의 확장부분(extension)이다. RDP는 개별적인 가상 채널들이 애플리케이션 서버로부터 디바이스 통신 및 프리젠테이션 데이터(divice communication and presentation data), 뿐만 아니라, 암호화된 클라이언트 마우스 및 키보드 데이터를 전달하도록 하는 다-채널 가능한 프로토콜이다. RDP는 RDP 프로토콜을 사용하여 렌더링 정보(rendering information)를 네트워크 패킷들로 구성하고 이들을 네트워크를 통하여 클라이언트에 전송함으로써 디스플레이 출력을 렌더링하기 위하여 자신의 비디오 드라이버를 사용한다. 클라이언트 상에서, RDP는 렌더링 데이터를 수신하고 패킷들을 대응하는 Microsoft Win32 그래픽 디바이스 인터페이 스(GUI)) API 호출들로 해석한다. 입력 경로에 대해서, 클라이언트 마우스 및 키보드 이벤트들이 클라이언트로부터 서버로 재지향된다.
유사한 기능을 제공하는 또 다른 프로토콜은 플로리다의 포트 로더데일 소재의 싸이트릭스 시스템즈사에 의해 판매되는 독립적인 컴퓨팅 아키텍처("ICA")이다. ICA는 애플리케이션의 논리의 나머지로부터 개별적인 스크린 업데이트 및 사용자 입력 프로세싱을 가능하게 하는 프로토콜이다. 모든 애플리케이션 논리는 제1 컴퓨팅 시스템상에서 실행되고, 단지 스크린 업데이트, 마우스 이동들, 및 키 스트로크들만이 디스플레이하는 컴퓨팅 시스템 및 제1 컴퓨팅 시스템 사이의 세션 동안 전송된다.
분산 애플리케이션 프로세싱 시스템들은 전형적인 오피스 애플리케이션들에 대해 양호하게 수행된다. 그러나, 그래픽 집약적인 어떤 애플리케이션들은 분산 애플리케이션 프로세싱 시스템의 성능에 악영향을 줄 수 있다. 그래픽 집약적인 애플리케이션의 예들은 컴퓨터 이용 설계("CAD") 애플리케이션들, 비디오 편집 애플리케이션들, 및 컴퓨터 게임들을 포함할 수 있지만, 이에 국한되지 않는다. 이러한 그래픽 집약적인 애플리케이션들에서, 디스플레이 업데이트들은 전형적으로 상당한 양의 대역폭을 필요로 하는데, 그 이유는 이들이 큰 비트맵 이미지들이기 때문이다. 이 문제는 CAD/CAM 프로그램이 사용자가 뷰잉하도록 디바이스의 3차원 모델을 회전시킬 때와 같이 실행 애플리케이션 프로그램이 짧은 시간 기간에 다수의 디스플레이 업데이트들을 전송할 때 악화된다. 각각의 스크린 업데이트들의 크기가 큰 것으로 인해 초래되는 출력에서의 지연은 애플리케이션 프로그램과의 사용자 경험 및 상호작용에 악영향을 주고, 분산 애플리케이션 프로세싱 환경에서 애플리케이션 프로그램의 사용을 실용적이지 않게 한다.
일측면에서, 본 발명은 컴퓨팅 시스템과 통신하는 원격 디스플레이 유닛을 업데이트하는 방법이다. 이 방법은 컴퓨팅 시스템상에서 실행되는 애플리케이션에 의해 생긴 드로잉 명령을 저장하는 업데이트 큐(update queue)로부터 디스플레이 업데이트 정보에 액세스하는 단계와, 디스플레이 업데이트 정보를 캐싱하는 단계와, 손실있는 디스플레이 업데이트(a lossy display update)를 생성하기 위해 디스플레이 업데이트 정보에 손실있는 압축 알고리즘(a lossy compression algorithm)을 적용하는 단계와, 손실있는 업데이트를 원격 디스플레이에 전송하는 단계를 포함한다. 이 방법은 또한 손실없는 디스플레이 업데이트(a lossless display update)를 생성하기 위해 캐시내의 디스플레이 업데이트 정보에 손실없는 압축 알고리즘(a lossless compresion algorithm)을 적용하는 단계와, 손실있는 업데이트를 전송하고 일정 시간 이후에 손실없는 디스플레이 업데이트를 전송하는 단계를 포함한다.
일실시예에서, 이 방법은 손실있는 압축 알고리즘의 애플리케이션을 요청하기 위해 컴퓨팅 시스템의 동작 모드를 설정하는 단계를 포함한다. 다른 실시예에서, 이 방법은 디스플레이 업데이트 정보가 원격 디스플레이 유닛에 이미 전송되었는지 여부를 결정하는 단계와 디스플레이 업데이트 정보가 이미 전송된 경우에는 원격 디스플레이 유닛에 이를 알리는 신호를 보내는 단계를 포함한다.
다른 측면에서, 본 발명은 컴퓨팅 시스템으로부터 원격으로 배치된 디스플레이 유닛을 업데이트하기 위한 시스템이다. 이 시스템은 큐, 캐시, 쓰레드(thread), 그리고 드라이버를 포함한다. 큐는 컴퓨팅 시스템상에서 실행되는 애플리케이션 프로그램의 그래픽 출력을 나타내는 적어도 하나의 시스템 드로잉 호출을 저장한다. 캐시는 적어도 하나의 드로잉 호출을 저장한다. 쓰레드는 큐에 액세스하고 손실있는 디스플레이 업데이트를 생성하기 위해 큐의 적어도 하나의 드로잉 호출에 따라 손실있는 압축 알고리즘을 실행시킨다. 쓰레드는 또한 캐시에 액세스하고 손실없는 디스플레이 업데이트를 생성하기 위해 캐시의 적어도 하나의 드로잉 호출에 따라 손실없는 압축 알고리즘을 실행시킨다. 드라이버는 손실있는 디스플레이 업데이트를 원격 디스플레이 유닛에 전송하고, 미리 지정된 일정 시간동안 대기하고, 그 다 음 일정 시간이 경과한 이후에 손실없는 디스플레이 업데이트를 전송한다.
본 발명은 여러 도면들에서 동일한 번호들이 동일한 구조적인 요소 및 특징들을 나타내는 첨부 도면들과 관련되는 다음의 설명을 참조함으로써 더 양호하게 이해될 수 있다. 도면들은 반드시 원래 크기대로 도시되지는 않지만, 본 발명의 원리들을 설명하기 위해 강조되어 있다.
도 1은 본 발명이 구현될 수 있는 분산 애플리케이션 프로세싱 시스템의 블럭도이다.
도 2는 도 1의 분산 애플리케이션 프로세싱 시스템의 동작 모드를 나타내는 흐름도이다.
도 3은 도 1의 컴퓨팅 에이전트의 실시예를 나타내는 블럭도이다.
도 4는 본 발명에 따라 원격 디스플레이 유닛을 업데이트 하는 방법의 실시예를 나타내는 흐름도이다.
본 발명은 원격 디스플레이 유닛(110)을 업데이트하기 위한 시스템 및 방법에 관한 것이다. 일측면에서, 본 발명은 엔드-유저 경험에 불리한 영향을 미치지 않고 효율적으로 원격 디스플레이가 업데이트되도록 "큐-앤드-토스(queue-and-toss)" 공유 큐와 손실 및 무손실 압축을 결합한다.
도 1을 참조하면, 분산 애플리케이션 프로세싱 시스템(100)은 통신 네트워크(140)를 통해 하나 이상의 컴퓨팅 디바이스(150', 150'')(이하에서는 각각의 컴퓨팅 디바이스 또는 다수의 컴퓨팅 디바이스들은 일반적으로 150으로 언급된다)과 통신하는 하나 이상의 원격 디스플레이 유닛(110', 110'')(이하에서는 각각의 원격 디스플레이 유닛 또는 다수의 원격 디스플레이 유닛들은 일반적으로 110으로 언급된다). 네트워크(140)는 로컬 영역 네트워크(LAN), 중간 영역 네트워크(MAN), 또는 인터넷 또는 월드 와이드 웹과 같은 광역 네트워크(WAN)일 수 있다. 원격 디스플레이 유닛(110)의 유저는 표준 전화선, LAN 또는 WAN 링크(예를 들면, T1, T3, 56Kb, X.25), 광대역 접속(예를 들면, ISDN, Frame Relay, ATM), 무선 접속(예를 들면, IEEE 802.11)을 포함하는 다양한 접속을 통해 네트워크(140)에 접속될 수 있다. 이러한 접속은 다양한 프로토콜(예를 들면, TCP/IP, IPX, SPX, NetBIOS, 그리고 다이렉트 비동기 접속)을 이용하여 구축될 수 있다. 특정 실시예에서, 사용되는 프로토 콜은 플로리다 러더데일 포트의 사이트릭스 시스템사의 Independent Computing Architecture protocol 또는 워싱턴 레드먼드의 마이크로소프트사의 Remote Display Protocol 일 수 있다.
네트워크(140)의 대역폭은 분산 애플리케이션 프로세싱 시스템(100)의 성능에 영향을 미치는 한가지 요소이다. 제2 네트워크보다 큰 대역폭을 갖는 네트워크(140)는 일반적으로 좀더 많은 디스플레이 데이터 전송을 지원할 수 있다. 분산 애플리케이션 프로세싱 시스템(100)의 동작 중에, 네트워크(140)의 대역폭은 변동한다. 네트워크(140)를 통해 데이터가 전송됨에 따라 네트워크의 가용 대역폭은 감소한다. 원격 디스플레이 유닛(110)에 의해 디스플레이 데이터가 수신되면, 추가적인 데이터가 네트워크상에 없다는 가정하에, 네트워크(140)의 가용 대역폭은 증가한다. 본발명의 일측면에 따르면 이미지를 원격 디스플레이 유닛(110)에 전송하기 이전에 비트맵 이미지에 손실있는 압축 알고리즘을 적용한다. 이러한 특징은 네트워크 트래픽의 양을 감소시키고 따라서 원격 디스플레이 유닛(110)이 업데이트를 수신하는 속도가 향상된다.
원격 디스플레이 유닛(110)은 일반적으로 프로세서(112), 휘발성 메모리(114, 예를 들면 RAM 캐시), 운영 시스템(116), 디스플레이 에이전트(118), 영구 저장장치(120), 네트워크 인터페이스(122)(예를 들면, 네트워크 인터페이스 카드), 디스플레이 애플리케이션 프로그램(123), 키보드(124), 하나 이상의 입력 디바이스(126, 예를 들면 마우스, 트랙볼, 스페이스볼, 라이트 펜 및 테블릿, 임의의 입력 디바이스), 디스플레이(128)를 포함한다.
운영 시스템(116)은 그 제한없이, Windows 3.x, Windows95, Windows 98, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows CE, MAC/OS, Java, PALM OS, SYMBIAN OS, LINUX, SMARTPHONE OS, UNIX를 포함할 수 있다. 디스플레이 에이전트(118)는 컴퓨팅 디바이스(150)로부터 그리고 원격 디스플레이 유닛(110)의 유저(미도시)로부터 명령 및 데이터를 수신한다. 디스플레이 에이전트(118)는 원격 디스플레이 유닛(110)의 다른 구성요소과 상호작용할 때(예를 들면, 운영 시스템(116)이 데이터를 디스플레이(128)에 출력하라고 지시할 때) 수신된 정보를 사용한다. 디스플레이 에이전트(118)는 또한 컴퓨팅 디바이스에서 제기된 명령 또는 원격 디스플레이 유닛(110)에서 유저의 액션에 대응하여 컴퓨팅 디바이스(150)에 요청 및 데이터를 전송한다.
원격 디스플레이 유닛(110)은 임의의 퍼스널 컴퓨터(예를 들면, 286, 386, 486, 펜티엄, 펜티엄 II, 매킨도쉬 컴퓨터), 윈도우-기반 터미널, 네트워크 컴퓨터, 무선 디바이스, 정보 어플라이언스, RISC 파워 PC, X-디바이스, 워크스테이션, 미니컴퓨터, 메인 프레임 컴퓨터, 셀룰러 텔레폰 또는 운영 시스템(116) 및 디스플레이 애플리케이션 프로그램(123)을 실행하는데 충분한 메모리를 제공하는 다른 컴퓨팅 디바이스일 수 있다. 디스플레이 애플리케이션 프로그램(123)은 운영 시스템(116)과 집약될 수 있고 또는 독립적인 애플리케이션일 수 있다는 것을 이해하여야한다. 디스플레이 표현 프로그램(123)은 디스플레이 유닛의 디스플레이(128)의 유저에 그래픽 출력을 렌더링하기 위해 컴퓨팅 디바이스(150)에 의해 전송된 명령 및 데이터를 사용한다.
이와 유사하게, 컴퓨팅 디바이스(150)는 프로세서(152), 휘발성 메모리(154), 운영시스템(156), 애플리케이션 프로그램(158), 컴퓨팅 디바이스 에이전트(160), 영구 저장장치(162), 네트워크 인터페이스(164)를 포함할 수 있다. 컴퓨팅 디바이스 에이전트(160)는 애플리케이션 프로그램(158)의 원격 디스플레이 및 동작가능성을 지원하기 위해 디스플레이 에이전트(118) 및 컴퓨팅 디바이스의 다른 구성요소과 인터페이싱한다. 분산 애플리케이션 프로세싱 시스템(100)에서, 애플리케이션의 실행은 컴퓨팅 디바이스(150)상에서 우선적으로 발생하고 애플리케이션 실행에 의해 만들어진 유저 인터페이스가 네트워크(140)를 통해 원격 디스플레이 유닛(110)으로 전송된다. 유저는 애플리케이션 프로그램이 또 다른 업무를 수행하도록 명령하기 위해 디스플레이 유닛(110)에서 키스트로크 및 마우스 이동과 같은 입력을 제공한다.
각각의 컴퓨팅 디바이스(150)는 원격 디스플레이 유닛(110)에 의해 액세스될 수 있는 하나 이상의 애플리케이션 프로그램을 호스팅한다. 이러한 애플리케이션의 예로는 워싱턴 레드먼드의 마이크로소프트사의 MICROSOFT WORD와 같은 워드 처리 프로그램과 MICROSOFT EXCEL과 같은 스프레드시트 프로그램, 캘리포니아 산 라파엘의 오토데스크의 AUTOCAD와 같은 컴퓨터-보조 디자인 및 제조 애플리케이션, 애플리케이션 설정 매니저, 고객 데이터베이스 애플리케이션, 기술 지원 정보를 제공하는 프로그램, 고객 등록 프로그램, 금융 보고 프로그램, 프랑스 슈어스네스 세덱스의 Dassault Systems의 CATIA, 메사츄세츠 니드햄의 파라메트릭 테크놀러지사의 PRO/ENGINEER와 같은 애플리케이션들을 포함한다.
애플리케이션 프로그램(158)의 실행중, 컴퓨팅 디바이스(150)는 전송 메카니즘(컴퓨팅 디바이스 에이전트(160)의 일부)을 통해 원격 디스플레이 유닛(110)과 통신한다. 일실시예에서, 전송 메카니즘은 다수의 가상 채널을 제공하고 이러한 가상 채널중 하나는 컴퓨팅 디바이스(150)로부터 그래픽 스크린 데이터의 원격 디스플레이 유닛(110)으로부터 전송을 위한 프로토콜을 제공한다.
도 2를 참조하면, 스크린 업데이트를 원격 디스플레이 유닛(110)에 전송하기 위한 방법(200)이 나타나 있으며, 방법(200)은 드로잉 명령과 같은 애플리케이션 프로그램 출력을 생성하는 단계(210)와, 상기 드로잉 명령을 인터셉트 및/또는 카피하는 단계(220)와, 상기 드로잉 명령을 큐 및/또는 버퍼에 기록하는 단계(230)와, 이미지를 버퍼에 압축하는 단계(240)와, 큐의 드로잉 명령을 프로토콜로 번역하는 단계(250)와, 프로토콜을 원격 디스플레이 유닛(110)에 전송하는 단계(260)를 포함한다.
좀더 자세히, 애플리케이션 프로그램(158)은 출력을 생성하고(단계210), 애플리케이션 프로그램(158)의 그래픽 출력을 나타내는 드로잉 명령을 발생시킨다. 드로잉 명령의 예들로는, 래스터 동작(raster operations), WINDOWS 기반 운영 시스템에 의해 제공되는 GDI 명령, MAC/OS 기반 운영 시스템에 의해 제공되는 QUICKDRAW 또는 QUARTZ 명령을 포함한다. 본 발명에서 이용될 수 있는 드로잉 명령들에는 또 다른 타입들이 있을 수 있다는 것을 이해하여야 한다. 설명의 간단함을 위해, 이하에서 드로잉 명령들은 GDI 명령들로 언급된다.
프로토콜 드라이버는 애플리케이션 프로그램(158)에 의해 발생된 드로잉 명 령을 인터셉트 또는 "후크(hook)" 한다. 프로토콜 드라이버는 일반적으로 애플리케이션 프로그램(158)과 연관되지 않는다.
드로잉 명령은 컴퓨팅 디바이스(150)상에서 실행되는 2 이상의 쓰레드에 의해 액세스 가능한 큐(queue)에 기록된다. 일실시예에서, 컴퓨팅 디바이스(150)의 그래픽 디스플레이과 연관된 디바이스 드라이버에 대한 인터페이스 호출과 같은, 로우-레벨 명령들 또한 후킹되고 큐에 기록된다. 다른 실시예에서, 그래픽 디스플레이 인터페이스 명령은 인터셉트되기 보다는 복제될 수 있다. 이 실시예에서, 컴퓨팅 디바이스(150)의 가상 디스플레이(즉, 버퍼)와 원격 디스플레이 유닛(110)상의 애플리케이션 프로그램 출력 데이터의 디스플레이는 동일하지는 않더라도 실질적으로 유사하게 될 것이다. 이 실시예에서, 또한 드로잉 명령은 프로세싱을 위해 운영 시스템(116)에 제공될 수 있고 운영 시스템의 출력은 컴퓨팅 디바이스(150)의 버퍼에 저장된다.
컴퓨팅 디바이스(150)가 업데이트를 원격 디스플레이 유닛(110)에 보내기 위해 준비할 때, 업데이트의 특정 부분이 손실있는 압축 알고리즘으로 처리될 수 있다(단계240). 예를 들면, 큐의 드로잉 명령이 컴퓨팅 디바이스(150)의 버퍼내에 저장된 비트맵 이미지가 원격 디스플레이 유닛(110)에 보내질 것이라고 표시하는 경우, 비트맵 이미지는 버퍼로부터 카피되고 전송 이전에 손실있는 압축 알고리즘에 의해 처리된다. 일실시예에서, 손실있는 압축의 애플리케이션은 글로벌 플래그(global flag)를 설정하여 동작 모드를 수동적으로 호출하는 것에 의해 제어된다. 압축 모드는 분산 애플리케이션 컴퓨팅 시스템(100)의 원하는 동작에 따라 유 저에 의해 스위치 온 그리고 스위치 오프될 수 있다. 일실시예에서, 손실있는 압축 알고리즘은 포토그래픽 코덱(예를 들면, 산술적 인코딩을 이용하는 JPEG 압축)이다. 이러한 인코딩 타입은 프로세서 집중적이지만, 이것은 다른 코덱들(예를 들면, 최적화된 허프만 인코딩을 이용하는 JPEG 압축)과 비교했을 때 30 퍼센트 이상의 디스플레이 업데이트 프레임의 크기를 줄인다. 다른 실시예에서, 또 다른 손실있는 압축 기술들이 이용될 수 있다.
컴퓨팅 디바이스(150)는 큐내의 그리고 존재하는 경우에는 압축된 버퍼 컨텐츠내의 드로잉 명령을 프로토콜 명령으로 번역한다(단계250). 일실시예에서, 프로토콜은 워싱턴, 레드몬드의 마이크로소프트사의 RDP 프로토콜이다. 바람직한 실시예에서, 플로리다 러더데일 포트의 싸이트릭스 시스템사의 ICA 프로토콜이 이용된다. 그 다음, 컴퓨팅 디바이스(150)는 프로토콜을 원격 디스플레이 유닛(110)에 전송한다(단계260).
도 3은 도 1의 컴퓨팅 디바이스 에이전트(160)의 실시예를 나타내는 블럭도이다. 컴퓨팅 디바이스 에이전트(160)는 프로듀서 쓰레드(producer thread)(300), 공유 큐(shared queue)(304), 컨슈머 쓰레드(consumer thread)(308), 드라이버 모듈(312)을 포함한다. 프로듀서 쓰레드(300)는 공유 큐(304)와 통신한다. 컨슈머 쓰레드(308) 또한 공유 큐(304)와 통신하며, 추가적으로 드라이버 모듈(312)과도 통신한다.
프로듀서 쓰레드(300)는 그래픽 엔진(320)과 통신하는 하나 이상의 애플리케이션 쓰레드(316', 316'')(이하에서는 일반적으로 316으로 언급됨)를 포함한다. 또 한 그래픽 엔진(320)과 통신하는 버퍼(324)가 프로듀서 쓰레드(300)에 포함된다. 버퍼(324)는 휘발성 메모리(154)의 일부일 수 있다.
애플리케이션 쓰레드(316)는 GDI 명령과 같은 드로잉 명령을 그래픽 엔진(320)으로 발생시킨다. 일실시예에서, 그래픽 엔진(320)에 보내지는 것에 추가적으로, 드로잉 명령은 후킹되고, 복사되어 공유 큐로 보내진다. 그래픽 엔진(320)은 GDI 명령을 버퍼(324)로 렌더링한다. 그래픽 렌더링 엔진의 출력은 컴플렉스 비트맵 또는 이와 유사한 그래픽 표현일 수 있다. 본질적으로, 버퍼(324)는 추후에 원격 디스플레이 유닛(110)으로 전송되는 디스플레이 이미지를 저장하기 위한 "가상" 디스플레이로서 기능한다. 일실시예에서, 그래픽 엔진은 GDI 요청을 메모리 버퍼로 렌더링하기 위한 GDI support 이다.
GDI 명령을 공유 큐(304)에 기록하기 이전에, 프로듀서 쓰레드(300)는 새로운 명령이 공유 큐내에 이전에 존재하던 불필요한 명령을 덮어쓰고(obscure) 렌더링하는지 를 결정하기 위해 공유 큐를 검사한다. 이러한 방법은 "큐-앤드-토스(queue-and-toss)" 방법으로 공지되어 있다. 이것은 원격 디스플레이 유닛에 보내지는 업데이트의 개수를 줄이기 위한 방법을 제공한다. 일실시예에서, 새로운 명령이 이전 명령을 덮어쓰는지 결정하기 위해 직사각형 충돌 알고리즘(rectangle collision algorithm)이 이용된다.
공유 큐(304)는 컨슈머 쓰레드(308)가 공유 큐(304)로부터 GDI 명령을 제거할 때까지 GDI 명령을 저장하고 큐잉한다. 공유 큐(304)는 휘발성 메모리(154)의 일부일 수 있다. 프로듀서 쓰레드(300) 및 컨슈머 쓰레드(308) 각각으로부터 분리 된 것으로 도시되었지만, 공유 큐(304)는 프로듀서 쓰레드(300) 및 컨슈머 쓰레드(308) 각각에 의해 액세스가 가능한한 두 쓰레드중 하나의 일부가 될 수 있다.
컨슈머 쓰레드(308)은 공유 큐(304)와 통신하며 압축 모듈(328) 및 캐시(332)를 포함한다. 기능적으로, 컨슈머 쓰레드(308)는 드라이버 모듈(312)과 함께 주기적으로 공유 큐를 사용하며, 원격 디스플레이 유닛(110)과 통신되는 프로토콜을 생성한다. 일실시예에서, 컨슈머 쓰레드(308)가 공유 큐(304)에 액세스하는 주기성은 4가지 요소에 의해 제어된다: 1) 가장 최근의 업데이트가 원격 디스플레이 유닛(110)에 보내진 시간; 2) 드라이버 모듈(312)내의 비어있는 버퍼링 공간의 양; 3) 캐시(332)내의 저장 공간의 가용성; 4) 추가적인 GDI 명령을 위해 공유 큐내에서 이용가능한 공간의 양. 다른 실시예에서, 컨슈머 쓰레드(308)의 주기성은 랜덤이며 2개의 한계 시간 사이(예를 들면, 40 밀리세컨드에서 1 세컨드)에서 계속적으로 변화한다.
압축 모듈(328)은 공유 큐 및 버퍼(324)와 통신한다. 글로벌 플래그에 의해 표시되는 것과 같이 시스템(100)이 압축 모드에서 동작할 때, 압축 모듈은 디스플레이 업데이트를 원격 디바이스 유닛(110)에 전송하기에 앞서 버퍼(324)의 컨텐츠상에서 손실있는 압축을 수행한다.
캐시(332)는 버퍼(324)의 원래 컨텐츠, 이미지의 압축되지 않은 카피를 저장한다. 또한, 캐시(332)는 이후에 원격 디스플레이 유닛(110)에 디스플레이 이미지의 손실없는 버전이 전송될 수 있도록 디스플레이 이미지의 어느 부분이 손실있는 압축으로 처리되었는지를 표시하는 한계 직사각형 정보(bounding rectangle information)를 저장한다. 캐시는 또한 비트맵이 원격 디스플레이(110)에 이미 전송되었는지 여부를 표시하는 정보를 저장한다.
드라이버 모듈(312)은 분산 애플리케이션 프로세싱 시스템(100)의 통신 프로토콜에 따라 디스플레이 업데이트 프레임을 포맷팅하기 위한 번역 모듈(336)을 포함한다. 일단 번역되면, 드라이버 모듈(312)은 원격 디스플레이 유닛(110)에 대한 전송을 위해 네트워크 인터페이스(164)에 프로토콜을 전달한다.
도 4를 참조하면, 컴퓨팅 시스템과 통신하는 원격 디스플레이 유닛을 업데이트하는 방법(400)이 도시되어 있으며, 방법(400)은 디스플레이 업데이트 정보를 검색하기 위해 공유 큐(304)에 액세스하는 단계(410)와, 디스플레이 업데이트 정보를 캐싱하는 단계(420)와, 디스플레이 업데이트 정보에 손실있는 압축을 적용하는 단계(430)와, 손실있는 압축 정보를 원격 디스플레이 유닛(110)에 전송하는 단계(440)와, 캐시된 디스플레이 업데이트 정보에 손실없는 압축 알고리즘을 적용하는 단계(450)와, 손실없는 디스플레이 업데이트 정보를 원격 디스플레이 유닛(110)에 전송하는 단계(460)를 포함한다.
좀더 상세히, 컨슈머 쓰레드(308)은 디스플레이 업데이트 정보를 검색하기 위해 주기적으로 공유 큐(304)에 액세스한다(단계410). 일실시예에서, 디스플레이 업데이트 정보는 버퍼(324)로부터의 GDI 드로잉 명령 및 비트맵 이미지를 포함한다. 일실시예에서, 컨슈머 쓰레드(308)는 랜덤한 시간 간격으로 공유 큐에 액세스한다. 바람직한 실시예에서, 손실있는 압축 모듈이 가능할 때 컨슈머 쓰레드는 공유 큐에 매 500 밀리세컨드마다 액세스한다.
디스플레이 업데이트 정보를 사용한 이후, 컨슈머 쓰레드(308)는 휘발성 메모리(154)내에 이미 이미지가 존재하는지 여부를 결정하기 위해 이용되는 순환 중복 검사(cyclic redundancy check:CRC) 키를 캐싱한다(단계420). 일실시예에서, 컨슈머 쓰레드(308)는 버퍼(324)의 이미지가 이전에 원격 디스플레이 유닛(110)에 전송되었는지 결정하기 위해 검사를 수행한다. 이미지가 이전에 전송되었다면, 컴퓨팅 디바이스(150)에 의해 이전에 보내진 이미지를 사용하기 위해 원격 디스플레이 유닛은 이를 알리는 신호를 받는다.
손실있는 디스플레이 업데이트를 생성하기 위해 손실있는 압축 알고리즘이 디스플레이 업데이트 정보에 적용된다(단계430). 일실시예에서, 전체 디스플레이 업데이트가 손실있게 압축된다. 다른 실시예에서, 디스플레이 업데이트 정보중 일부만이 손실있게 압축된다. 이러한 실시예에서, 손실있게 압축된 영역의 리스트가 캐시(332)내에 어레이로서 저장된다.
손실있는 디스플레이 업데이트가 원격 디스플레이 유닛에 전송된다(단계440). 후속하여, 컨슈머 쓰레드(308)는 전술한 바와 같이 500 밀리세컨드동안 정지(휴지)한다. 500 밀리세컨드 경과 후에, 컨슈머 쓰레드(308)는 애플리케이션 프로그램 쓰레드(316)에 의해 발생된 추가적인 드로잉 명령이 있는지 여부를 결정하기 위해 다시 공유 큐(304)를 검사한다.
공유 큐(304)에 새로운 드로잉 명령이 존재하지 않는 경우, 손실없는 디스플레이 업데이트를 생성하기 위해 버퍼(324)내의 디스플레이 카피에 손실없는 압축 알고리즘이 적용되고(단계450), 그 다음 원격 디스플레이 유닛(110)에 전송된다(단 계460).
본 발명은 특정 세부사항을 참조하여 설명되었지만, 이러한 세부사항은 본 발명의 범위를 제한하려는 의도가 아니며, 이러한 제외는 첨부하는 청구범위에 포함된다.

Claims (12)

  1. 컴퓨팅 시스템과 통신하는 원격 디스플레이 유닛을 업데이트하는 방법에 있어서,
    (a) 상기 컴퓨팅 시스템상에서 실행되는 애플리케이션에 의해 발생된 드로잉 명령(drawing commands)을 저장하는 업데이트 큐(update queue)로부터 디스플레이 업데이트 정보에 액세스하는 단계와,
    (b) 상기 디스플레이 업데이트 정보를 캐싱하는 단계와,'
    (c) 손실있는 디스플레이 업데이트(lossy display update)를 생성하기 위해 상기 디스플레이 업데이트 정보에 손실있는 압축 알고리즘(lossy compression algorithm)을 적용하는 단계와,
    (d) 상기 손실있는 업데이트를 상기 원격 디스플레이에 전송하는 단계와,
    (e) 손실없는 디스플레이 업데이트(lossless display update)를 생성하기 위해 캐시내의 상기 디스플레이 업데이트 정보에 손실없는 압축 알고리즘(lossless compression algorithm)을 적용하는 단계와,
    (f) 상기 손실있는 업데이트를 전송하고 미리 지정한 시간 이후에 상기 손실없는 디스플레이 업데이트를 전송하는 단계
    를 포함하는, 원격 디스플레이 유닛 업데이트 방법.
  2. 제1항에 있어서,
    상기 컴퓨팅 시스템의 동작 모드를 설정하는 단계를 더 포함하는, 원격 디스플레이 유닛 업데이트 방법.
  3. 제1항에 있어서,
    상기 디스플레이 업데이트 정보가 이전에 상기 원격 디스플레이 유닛으로 전송되었는지 여부를 결정하는 단계를 더 포함하는, 원격 디스플레이 유닛 업데이트 방법.
  4. 제3항에 있어서,
    상기 업데이트 정보가 이전에 전송되었음을 상기 원격 디스플레이 유닛에 신호로 알리는 단계를 더 포함하는, 원격 디스플레이 유닛 업데이트 방법.
  5. 컴퓨팅 시스템으로부터 원격으로 위치된 디스플레이 유닛을 업데이트하기 위한 시스템에 있어서,
    상기 컴퓨팅 시스템상에서 실행되는 애플리케이션 프로그램의 그래픽 출력을 나타내는 적어도 하나의 시스템 드로잉 호출을 저장하는 큐와,
    상기 적어도 하나의 드로잉 호출을 저장하는 캐시와,
    상기 큐에 액세스하여 손실있는 디스플레이 업데이트를 생성하기 위해 상기 큐의 적어도 하나의 드로잉 호출에 손실있는 압축 알고리즘을 실행하고 상기 캐시에 액세스하여 손실없는 디스플레이 업데이트를 생성하기 위해 상기 캐시의 상기 적어도 하나의 드로잉 호출에 손실없는 압축 알고리즘을 실행하는 쓰레드(thread)와,
    상기 원격 디스플레이 유닛에 상기 손실있는 디스플레이 업데이트를 전송하고, 미리 지정된 시간동안 대기하고, 상기 미리 지정된 시간이 경과한 이후에 상기 손실없는 디스플레이 업데이트를 전송하는 드라이버
    를 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  6. 제5항에 있어서,
    상기 컴퓨팅 시스템의 동작 모드를 설정하기 위한 플래그(flag)를 더 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  7. 제1항에 있어서,
    상기 디스플레이 업데이트 정보가 이전에 상기 원격 디스플레이 유닛에 전송되었는지 여부를 결정하기 위한 캐시를 더 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  8. 제3항에 있어서,
    상기 원격 디스플레이 유닛에 상기 업데이트 정보가 이전에 전송되었음을 표시하기 위한 신호를 보내는 전송기를 더 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  9. 컴퓨팅 시스템으로부터 원격으로 위치된 디스플레이 유닛을 업데이트하기 위한 시스템에 있어서,
    상기 컴퓨팅 시스템상에 실행되는 애플리케이션 프로그램의 그래픽 출력을 나타내는 적어도 하나의 시스템 드로잉 호출을 저장하기 위한 큐 수단과,
    상기 적어도 하나의 드로잉 명령의 카피(copy)를 저장하기 위한 캐시 수단과,
    상기 큐에 액세스하여 손실있는 디스플레이 업데이트를 생성하기 위해 상기 큐의 적어도 하나의 드로잉 호출에 손실있는 압축 알고리즘을 실행하고 상기 캐시에 액세스하여 손실없는 디스플레이 업데이트를 생성하기 위해 상기 캐시의 적어도 하나의 드로잉 명령에 손실없는 압축 알고리즘을 실행하는 쓰레드 수단과,
    상기 원격 디스플레이 유닛에 상기 손실있는 디스플레이 업데이트를 전송하고, 미리 지정된 시간동안 대기하고, 상기 미리 지정된 시간이 경과한 이후에 상기 손실없는 디스플레이 업데이트를 전송하는 드라이브 수단
    을 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  10. 제9항에 있어서, 상기 컴퓨팅 시스템의 동작 모드를 설정하기 위한 수단을 더 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  11. 제9항에 있어서,
    상기 디스플레이 업데이트 정보가 이전에 상기 원격 디스플레이 유닛에 전송되었는지 여부를 결정하기 위한 수단을 더 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
  12. 제11항에 있어서,
    상기 원격 디스플레이 유닛에 상기 업데이트 정보가 이전에 전송되었음을 표시하기 위한 신호를 보내는 수단을 더 포함하는, 원격 디스플레이 유닛 업데이트 시스템.
KR1020077022735A 2005-03-14 2006-03-14 압축을 이용하여 분산 프로세싱 환경에서 그래픽디스플레이를 업데이트하는 방법 및 장치 KR20070110127A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/906,955 US8423673B2 (en) 2005-03-14 2005-03-14 Method and apparatus for updating a graphical display in a distributed processing environment using compression
US10/906,955 2005-03-14

Publications (1)

Publication Number Publication Date
KR20070110127A true KR20070110127A (ko) 2007-11-15

Family

ID=36603340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022735A KR20070110127A (ko) 2005-03-14 2006-03-14 압축을 이용하여 분산 프로세싱 환경에서 그래픽디스플레이를 업데이트하는 방법 및 장치

Country Status (8)

Country Link
US (2) US8423673B2 (ko)
EP (2) EP1859341B1 (ko)
JP (1) JP2008538829A (ko)
KR (1) KR20070110127A (ko)
AU (1) AU2006223106A1 (ko)
CA (1) CA2601034A1 (ko)
IL (1) IL185893A0 (ko)
WO (1) WO2006099328A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7847755B1 (en) * 2005-05-23 2010-12-07 Glance Networks Method and apparatus for the identification and selective encoding of changed host display information
JP4858059B2 (ja) * 2006-10-02 2012-01-18 ソニー株式会社 再生装置、表示制御方法および表示制御プログラム
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8149242B2 (en) * 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
CN101216808A (zh) * 2007-01-04 2008-07-09 联想(北京)有限公司 播放系统和方法
US8140610B2 (en) * 2007-05-31 2012-03-20 Microsoft Corporation Bitmap-based display remoting
CN101464785B (zh) * 2007-12-17 2010-12-08 联想(北京)有限公司 基于wddm的屏幕获取方法及带多显示器的计算机系统
WO2009094673A2 (en) 2008-01-27 2009-07-30 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
US8484291B1 (en) 2008-04-02 2013-07-09 Glance Networks, Inc. Method and apparatus for selecting commands for transmission from an updated queue
US8170123B1 (en) 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
GB0812770D0 (en) * 2008-07-11 2008-08-20 Zbd Displays Ltd A display system
US8549093B2 (en) * 2008-09-23 2013-10-01 Strategic Technology Partners, LLC Updating a user session in a mach-derived system environment
US8880715B2 (en) * 2008-10-23 2014-11-04 Canon Kabushiki Kaisha Remote control of a host computer
US8194977B2 (en) 2008-12-09 2012-06-05 Microsoft Corporation Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
US8385666B2 (en) 2010-03-31 2013-02-26 Microsoft Corporation Classification and encoder selection based on content
US8768067B2 (en) 2010-04-15 2014-07-01 Microsoft Corporation Accelerating bitmap remoting by identifying and extracting patterns from source bitmaps through parallel processing techniques
JP5664289B2 (ja) * 2011-01-31 2015-02-04 富士通株式会社 情報処理装置、画像送信プログラムおよび画像表示方法
US9600350B2 (en) * 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US9514242B2 (en) 2011-08-29 2016-12-06 Vmware, Inc. Presenting dynamically changing images in a limited rendering environment
US9549045B2 (en) 2011-08-29 2017-01-17 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US9467305B2 (en) 2012-03-07 2016-10-11 Vmware, Inc. Multitenant access to multiple desktops on host machine partitions in a service provider network
US9235905B2 (en) 2013-03-13 2016-01-12 Ologn Technologies Ag Efficient screen image transfer
US9253158B2 (en) 2013-08-23 2016-02-02 Vmware, Inc. Remote access manager for virtual computing services
JP6149652B2 (ja) * 2013-09-26 2017-06-21 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US9912957B1 (en) 2017-04-01 2018-03-06 Intel Corporation Lossless compression for multisample render targets alongside fragment compression
US11036525B2 (en) * 2018-05-04 2021-06-15 Citrix Systems, Inc. Computer system providing hierarchical display remoting optimized with user and system hints and related methods
US11824785B2 (en) 2018-05-04 2023-11-21 Citrix Systems, Inc. Systems and methods for remote computing session display based upon user input event prioritization
US11645107B2 (en) * 2021-01-13 2023-05-09 Adobe Inc. Processing multi-frame tasks in a multi-threaded digital design system

Family Cites Families (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3596257A (en) 1969-09-17 1971-07-27 Burroughs Corp Method and apparatus for allocating small memory spaces to a computer program
US4013828A (en) 1976-02-20 1977-03-22 Bell Telephone Laboratories, Incorporated Method and arrangement for reducing the bandwidth and/or time required to transmit a dithered image
US4410916A (en) 1979-08-24 1983-10-18 Compression Labs, Inc. Dual mode facsimile coding system and method
DE2939411C2 (de) 1979-09-28 1982-09-02 Siemens AG, 1000 Berlin und 8000 München Datenverarbeitungsanlage mit virtueller Speicheradressierung
US4322795A (en) 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
US4463424A (en) 1981-02-19 1984-07-31 International Business Machines Corporation Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
US4562423A (en) 1981-10-15 1985-12-31 Codex Corporation Data compression
US4503501A (en) 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4430712A (en) 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
USRE32632E (en) 1982-07-19 1988-03-29 Apple Computer, Inc. Display system
US4499499A (en) 1982-12-29 1985-02-12 International Business Machines Corporation Method for identification and compression of facsimile symbols in text processing systems
US4545016A (en) 1983-01-07 1985-10-01 Tandy Corporation Memory management system
EP0124799B1 (en) 1983-04-13 1990-10-31 Nec Corporation Memory access arrangement in a data processing system
JP2785821B2 (ja) 1983-10-07 1998-08-13 ソニー株式会社 デイジタル信号発生回路
US4796003A (en) 1984-06-28 1989-01-03 American Telephone And Telegraph Company Data compaction
GB2172127B (en) 1985-03-06 1988-10-12 Ferranti Plc Data compression system
JPS62282328A (ja) 1986-02-21 1987-12-08 Hitachi Ltd 多重画面制御方式
US4899149A (en) 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees
US4862392A (en) 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
US4937036A (en) 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
JP2608400B2 (ja) 1986-06-16 1997-05-07 富士写真フイルム株式会社 圧縮処理を経た画像データからの画像再構成方法
US4862167A (en) 1987-02-24 1989-08-29 Hayes Microcomputer Products, Inc. Adaptive data compression method and apparatus
US5072412A (en) 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US4949281A (en) 1987-04-23 1990-08-14 H. Berthold Ag Method and apparatus for generating and producing two-dimensional graphic object by polynominal parametric curves
US4992954A (en) 1987-08-05 1991-02-12 Hitachi, Ltd. Method of storing character patterns and character pattern utilization system
US4928247A (en) 1987-08-13 1990-05-22 Digital Equipment Corporation Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
US4903218A (en) 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US4870662A (en) 1987-12-01 1989-09-26 Concord Data Systems, Inc. System and method for compressing transmitted or stored data
JPH01246656A (ja) 1988-03-29 1989-10-02 Nec Corp プロセッサ間共有メモリ管理方式
US5103303A (en) 1988-04-19 1992-04-07 Konica Corporation Multicolor imaging forming apparatus
US4958303A (en) 1988-05-12 1990-09-18 Digital Equipment Corporation Apparatus for exchanging pixel data among pixel processors
CA1337132C (en) 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
JP2790815B2 (ja) 1988-08-10 1998-08-27 株式会社リコー 画像データ圧縮方法
US4905141A (en) 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5043919A (en) 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
US5126739A (en) 1989-01-13 1992-06-30 Stac Electronics Data compression apparatus and method
US5016009A (en) 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
EP0389151A3 (en) 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
US5394531A (en) 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
KR930003126B1 (ko) 1989-04-20 1993-04-19 가부시기가이샤 도시바 곡선정합에 있어서 형상을 표시하는 직선쇼트벡터의 접속상태를 판정하는 방법 및 시스템
US5305440A (en) 1989-05-15 1994-04-19 International Business Machines Corporation File extension by clients in a distributed data processing system
JP2858795B2 (ja) 1989-07-14 1999-02-17 株式会社日立製作所 実記憶割り当て方法
DE69032418T2 (de) 1989-09-08 1999-02-25 Digital Equipment Corp Privatspeicher für Fäden in einem multifaden digitalen Datenverarbeitungssystem
JP2805096B2 (ja) 1989-10-31 1998-09-30 ソニー株式会社 ディジタル変調方法及び復調方法
US5119319A (en) 1989-12-14 1992-06-02 Options Unlimited Research Corp. Full-duplex video communication system
US5001478A (en) 1989-12-28 1991-03-19 International Business Machines Corporation Method of encoding compressed data
US5309555A (en) 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
US5269003A (en) 1990-05-24 1993-12-07 Apple Computer, Inc. Memory architecture for storing twisted pixels
US5049881A (en) 1990-06-18 1991-09-17 Intersecting Concepts, Inc. Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
EP0463874A2 (en) 1990-06-29 1992-01-02 Digital Equipment Corporation Cache arrangement for file system in digital data processing system
US5051745A (en) 1990-08-21 1991-09-24 Pkware, Inc. String searcher, and compressor using same
JPH0799508B2 (ja) 1990-10-15 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
US5544317A (en) 1990-11-20 1996-08-06 Berg; David A. Method for continuing transmission of commands for interactive graphics presentation in a computer network
US5241625A (en) 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
US5307456A (en) 1990-12-04 1994-04-26 Sony Electronics, Inc. Integrated multi-media production and authoring system
US5339411A (en) 1990-12-21 1994-08-16 Pitney Bowes Inc. Method for managing allocation of memory space
DE69133032T2 (de) 1990-12-26 2003-01-30 Canon Kk Multimedia-Kommunikationsvorrichtung
US5161015A (en) 1990-12-31 1992-11-03 Zenith Electronics Corporation System for peaking a video signal with a control signal representative of the perceptual nature of blocks of video pixels
GB9100732D0 (en) 1991-01-14 1991-02-27 Xerox Corp A data access system
US5317732A (en) 1991-04-26 1994-05-31 Commodore Electronics Limited System for relocating a multimedia presentation on a different platform by extracting a resource map in order to remap and relocate resources
US5164727A (en) 1991-04-30 1992-11-17 Regents Of The Unversity Of California Optimal decoding method and apparatus for data acquisition applications of sigma delta modulators
US5359712A (en) 1991-05-06 1994-10-25 Apple Computer, Inc. Method and apparatus for transitioning between sequences of digital information
CA2069355C (en) 1991-06-07 1998-10-06 Robert C. Pike Global user interface
US6643656B2 (en) 1991-07-31 2003-11-04 Richard Esty Peterson Computerized information retrieval system
DE69222102T2 (de) 1991-08-02 1998-03-26 Grass Valley Group Bedienerschnittstelle für Videoschnittsystem zur Anzeige und interaktive Steuerung von Videomaterial
US5315698A (en) 1991-08-21 1994-05-24 Digital Equipment Corporation Method and apparatus for varying command length in a computer graphics system
US5321806A (en) 1991-08-21 1994-06-14 Digital Equipment Corporation Method and apparatus for transmitting graphics command in a computer graphics system
US5140321A (en) 1991-09-04 1992-08-18 Prime Computer, Inc. Data compression/decompression method and apparatus
CA2083634C (en) 1991-12-30 1999-01-19 Hung Ping Wong Method and apparatus for mapping page table trees into virtual address space for address translation
GB9205774D0 (en) 1992-03-17 1992-04-29 Int Computers Ltd Computer security system
US5351129A (en) 1992-03-24 1994-09-27 Rgb Technology D/B/A Rgb Spectrum Video multiplexor-encoder and decoder-converter
WO1994002898A1 (en) 1992-07-24 1994-02-03 Microsoft Corporation Computer method and system for allocating and freeing memory
US5404316A (en) 1992-08-03 1995-04-04 Spectra Group Ltd., Inc. Desktop digital video processing system
JPH0659982A (ja) 1992-08-10 1994-03-04 Hitachi Ltd 仮想記憶制御方法および装置
US5406279A (en) 1992-09-02 1995-04-11 Cirrus Logic, Inc. General purpose, hash-based technique for single-pass lossless data compression
US5434992A (en) 1992-09-04 1995-07-18 International Business Machines Corporation Method and means for dynamically partitioning cache into a global and data type subcache hierarchy from a real time reference trace
US5491808A (en) 1992-09-30 1996-02-13 Conner Peripherals, Inc. Method for tracking memory allocation in network file server
DE69324204T2 (de) 1992-10-22 1999-12-23 Cabletron Systems Inc Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5537551A (en) 1992-11-18 1996-07-16 Denenberg; Jeffrey N. Data compression method for use in a computerized informational and transactional network
US5455576A (en) 1992-12-23 1995-10-03 Hewlett Packard Corporation Apparatus and methods for Lempel Ziv data compression with improved management of multiple dictionaries in content addressable memory
US5469540A (en) 1993-01-27 1995-11-21 Apple Computer, Inc. Method and apparatus for generating and displaying multiple simultaneously-active windows
IL104568A (en) 1993-01-31 1995-12-31 Age Computational Graphics Ltd Method and system for generating amplified output signals
US5850540A (en) 1993-07-02 1998-12-15 Sony Corporation Method and apparatus for time-sharing CPU system bus in image generation system
US5521597A (en) 1993-08-02 1996-05-28 Mircosoft Corporation Data compression for network transport
WO1995012165A1 (en) 1993-10-22 1995-05-04 Gestalt Technologies, Incorporated Distributed management in a partitioned memory system
US5384568A (en) 1993-12-02 1995-01-24 Bell Communications Research, Inc. Data compression
US5515508A (en) 1993-12-17 1996-05-07 Taligent, Inc. Client server system and method of operation including a dynamically configurable protocol stack
US5461711A (en) 1993-12-22 1995-10-24 Interval Research Corporation Method and system for spatial accessing of time-based information
US5550965A (en) 1993-12-27 1996-08-27 Lucent Technologies Inc. Method and system for operating a data processor to index primary data in real time with iconic table of contents
US5473742A (en) 1994-02-22 1995-12-05 Paragraph International Method and apparatus for representing image data using polynomial approximation method and iterative transformation-reparametrization technique
US5537635A (en) 1994-04-04 1996-07-16 International Business Machines Corporation Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size
US5734388A (en) 1994-05-16 1998-03-31 Agfa Division, Bayer Corporation Method and apparatus for data compression of digital data to produce a scaleable font database
US5754187A (en) 1994-05-16 1998-05-19 Agfa Division, Bayer Corporation Method for data compression of digital data to produce a scaleable font database
US5729710A (en) 1994-06-22 1998-03-17 International Business Machines Corporation Method and apparatus for management of mapped and unmapped regions of memory in a microkernel data processing system
US5572206A (en) 1994-07-06 1996-11-05 Microsoft Corporation Data compression method and system
US5485460A (en) 1994-08-19 1996-01-16 Microsoft Corporation System and method for running multiple incompatible network protocol stacks
US5566288A (en) 1994-09-02 1996-10-15 Caterpillar Inc. System and method for automatically fitting a B-spline curve to a set of data points
US5802281A (en) 1994-09-07 1998-09-01 Rsi Systems, Inc. Peripheral audio/video communication system that interfaces with a host computer and determines format of coded audio/video signals
US5574845A (en) 1994-11-29 1996-11-12 Siemens Corporate Research, Inc. Method and apparatus video data management
US5771383A (en) 1994-12-27 1998-06-23 International Business Machines Corp. Shared memory support method and apparatus for a microkernel data processing system
US5771034A (en) 1995-01-23 1998-06-23 Microsoft Corporation Font format
EP0734144A3 (de) 1995-03-20 1999-08-18 Siemens Aktiengesellschaft Verfahren und Anordnung zum Ermitteln der Benutzergebühr in einer Teilnehmereinrichtung
US5621660A (en) 1995-04-18 1997-04-15 Sun Microsystems, Inc. Software-based encoder for a software-implemented end-to-end scalable video delivery system
US5651136A (en) 1995-06-06 1997-07-22 International Business Machines Corporation System and method for increasing cache efficiency through optimized data allocation
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
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
US5874960A (en) 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5742797A (en) 1995-08-11 1998-04-21 International Business Machines Corporation Dynamic off-screen display memory manager
US5767849A (en) 1995-08-18 1998-06-16 International Business Machines Corporation Personality neutral window management subsystem
US5835959A (en) 1995-12-01 1998-11-10 Sand Technology Systems International, Inc. Memory management system and method using dual indexing structures
US5850632A (en) 1995-09-08 1998-12-15 Texas Instruments Incorporated Memory access controller utilizing cache memory to store configuration information
US5826027A (en) 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US6081623A (en) 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
US6016535A (en) 1995-10-11 2000-01-18 Citrix Systems, Inc. Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks
US5717879A (en) 1995-11-03 1998-02-10 Xerox Corporation System for the capture and replay of temporal data representing collaborative activities
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6161126A (en) 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
JPH09233467A (ja) 1996-02-21 1997-09-05 Fujitsu Ltd 画像データ通信装置及び画像データ通信システムにおける通信データ量調整方法
US5961588A (en) 1996-02-22 1999-10-05 Alcatel Usa Sourcing, L.P. Handling of commands passed between the server and client stations of a telecommunications system
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5923654A (en) 1996-04-25 1999-07-13 Compaq Computer Corp. Network switch that includes a plurality of shared packet buffers
US5864678A (en) 1996-05-08 1999-01-26 Apple Computer, Inc. System for detecting and reporting data flow imbalance between computers using grab rate outflow rate arrival rate and play rate
US6034689A (en) 1996-06-03 2000-03-07 Webtv Networks, Inc. Web browser allowing navigation between hypertext objects using remote control
US6057857A (en) 1996-06-12 2000-05-02 Citrix Systems, Inc. Method for the lossless compression of lines in a distributed computer system
US6014133A (en) 1996-06-14 2000-01-11 Seiko Epson Corporation Data transmitter/receiver apparatus, data transmitter, data receiver, and data compression method
KR100203266B1 (ko) 1996-07-09 1999-06-15 윤종용 윤곽선복호화장치
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5918019A (en) 1996-07-29 1999-06-29 Cisco Technology, Inc. Virtual dial-up protocol for network communication
US5926226A (en) * 1996-08-09 1999-07-20 U.S. Robotics Access Corp. Method for adjusting the quality of a video coder
US5761734A (en) 1996-08-13 1998-06-02 International Business Machines Corporation Token-based serialisation of instructions in a multiprocessor system
US5963551A (en) * 1996-09-30 1999-10-05 Innomedia Pte Ltd. System and method for dynamically reconfigurable packet transmission
US6052120A (en) 1996-10-01 2000-04-18 Diamond Multimedia Systems, Inc. Method of operating a portable interactive graphics display tablet and communications systems
US5944791A (en) 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US5931904A (en) 1996-10-11 1999-08-03 At&T Corp. Method for reducing the delay between the time a data page is requested and the time the data page is displayed
US5913230A (en) 1997-01-07 1999-06-15 Richardson; John J. Object and method for providing efficient multi-user access to shared operating system kernal code using instancing
US5949975A (en) 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
GB2323946B (en) 1997-04-04 2002-04-17 Sony Uk Ltd Database accessing method and apparatus
US6061714A (en) 1997-05-07 2000-05-09 International Business Machines Corporation Persistent cache synchronization and start up system
US5983190A (en) 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
US5877757A (en) 1997-05-23 1999-03-02 International Business Machines Corporation Method and system for providing user help information in network applications
US5999950A (en) 1997-08-11 1999-12-07 Webtv Networks, Inc. Japanese text input method using a keyboard with only base kana characters
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
US6054943A (en) * 1998-03-25 2000-04-25 Lawrence; John Clifton Multilevel digital information compression based on lawrence algorithm
US6363511B1 (en) 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media
US6253212B1 (en) 1998-06-23 2001-06-26 Oracle Corporation Method and system for maintaining checkpoint values
US6233226B1 (en) 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
WO2000042515A1 (fr) 1999-01-12 2000-07-20 Fujitsu Limited Dispositif de gestion des acces et procede de gestion des acces a un support d'enregistrement
US6604158B1 (en) * 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6778346B2 (en) 2000-03-30 2004-08-17 Sony Corporation Recording and reproducing apparatus and file managing method using the same
AU2001253563A1 (en) * 2000-04-18 2001-10-30 Rtimage Inc. System and method for the lossless progressive streaming of images over a communication network
US7218784B1 (en) * 2000-05-01 2007-05-15 Xerox Corporation Method and apparatus for controlling image quality and compression ratios
EP1320241A3 (en) * 2000-05-26 2003-09-17 Citrix Systems, Inc. Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
US7490166B2 (en) * 2000-05-26 2009-02-10 Citrix Systems, Inc. Remote control of a client's off-screen surface
JP4332770B2 (ja) 2000-08-02 2009-09-16 ソニー株式会社 画像処理装置および画像処理方法、並びに記録媒体
US7212726B2 (en) 2000-09-15 2007-05-01 International Business Machines Corporation System and method of processing MPEG streams for file index insertion
AU2002229090A1 (en) * 2000-12-14 2002-06-24 Rtimage Inc. Three-dimensional image streaming system and method for medical images
WO2002089105A2 (en) * 2001-05-02 2002-11-07 Bitstream, Inc. Methods, systems, and programming for producing and displaying subpixel-optimized images and digital content including such images
US7219309B2 (en) * 2001-05-02 2007-05-15 Bitstream Inc. Innovations for the display of web pages
US7565441B2 (en) * 2001-07-23 2009-07-21 Romanik Philip B Image transfer and archival system
US7043077B2 (en) * 2001-11-07 2006-05-09 International Business Machines Corporation System and method for efficient compression of raster image data
US7068398B2 (en) * 2001-11-07 2006-06-27 International Business Machines Corporation System and method for efficient tile generation from complex raster data
US6653954B2 (en) * 2001-11-07 2003-11-25 International Business Machines Corporation System and method for efficient data compression
US6753870B2 (en) 2002-01-30 2004-06-22 Sun Microsystems, Inc. Graphics system configured to switch between multiple sample buffer contexts
US7447997B2 (en) * 2002-05-30 2008-11-04 Microsoft Corporation Reducing information transfer in screen capture series
US20040010622A1 (en) * 2002-07-11 2004-01-15 O'neill Thomas G. Method and system for buffering image updates in a remote application
CA2463228C (en) * 2003-04-04 2012-06-26 Evertz Microsystems Ltd. Apparatus, systems and methods for packet based transmission of multiple data signals
JP4305055B2 (ja) 2003-05-22 2009-07-29 株式会社日立製作所 画像記録装置
US7290011B2 (en) * 2003-11-26 2007-10-30 Idx Investment Corporation Image publishing system using progressive image streaming
US7483583B2 (en) * 2003-12-16 2009-01-27 Infocus Corporation System and method for processing image data
US7009533B1 (en) * 2004-02-13 2006-03-07 Samplify Systems Llc Adaptive compression and decompression of bandlimited signals
US7730157B2 (en) * 2005-02-03 2010-06-01 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for displaying information on a thin-client in communication with a network

Also Published As

Publication number Publication date
EP1859341B1 (en) 2019-06-12
WO2006099328A1 (en) 2006-09-21
IL185893A0 (en) 2008-01-06
US8423673B2 (en) 2013-04-16
US20130229431A1 (en) 2013-09-05
JP2008538829A (ja) 2008-11-06
EP2299354B1 (en) 2016-04-27
EP2299354A1 (en) 2011-03-23
US20060203007A1 (en) 2006-09-14
CA2601034A1 (en) 2006-09-21
US8677022B2 (en) 2014-03-18
EP1859341A1 (en) 2007-11-28
AU2006223106A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
US8677022B2 (en) Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) Method and apparatus for updating a graphical display in a distributed processing environment
Baratto et al. Thinc: A virtual display architecture for thin-client computing
JP5129151B2 (ja) マルチユーザ・ディスプレイ・プロキシ・サーバ
JP5060489B2 (ja) マルチユーザ端末サービス促進装置
EP2293192B1 (en) Methods and systems for remoting three dimensional graphics
US7376695B2 (en) Method and system for generating a graphical display for a remote terminal session
US20060184614A1 (en) Thin-client network computing method and system
JP2004501445A (ja) 低帯域幅の転送プロトコル機構を介して伝送するためのグラフィカルディスプレイデータを効率的に低減する方法およびシステム
AU2004305808A1 (en) Method and apparatus for generating graphical and media displays at a thin client
KR20020034347A (ko) 서버-씬 클라이언트 시스템

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid