KR20050114047A - 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버 - Google Patents

원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버 Download PDF

Info

Publication number
KR20050114047A
KR20050114047A KR1020040039241A KR20040039241A KR20050114047A KR 20050114047 A KR20050114047 A KR 20050114047A KR 1020040039241 A KR1020040039241 A KR 1020040039241A KR 20040039241 A KR20040039241 A KR 20040039241A KR 20050114047 A KR20050114047 A KR 20050114047A
Authority
KR
South Korea
Prior art keywords
server
client
display information
environment
processing module
Prior art date
Application number
KR1020040039241A
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 삼성전자주식회사
Priority to KR1020040039241A priority Critical patent/KR20050114047A/ko
Priority to US11/139,604 priority patent/US20050267779A1/en
Publication of KR20050114047A publication Critical patent/KR20050114047A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라이언트 및 서버간의 원격 제어 장치 및 방법에 관한 것으로, 본 발명에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법은 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 디스플레이 정보를 서버의 디스플레이 처리 모듈로 로딩함으로서 서버의 환경을 전환하는 단계; 및 전환된 환경 상에서 클라이언트들 중, 소정의 클라이언트의 디스플레이 정보 요청에 응하여 디스플레이 정보를 송신하는 단계를 포함하며, 다수의 클라이언트들의 디스플레이 정보들을 그들 각각에 할당된 백업 버퍼들에 백업 및 로딩을 인터럽트 서비스 루틴을 사용하여 반복함으로서 다수의 클라이언트들이 동시에 하나의 서버를 사용할 수 있다.

Description

원격지에 소재하는 다수의 클라이언트들을 지원하는 방법 및 서버{Method and Server for servicing remote clients}
본 발명은 원격 제어 장치 및 방법에 관한 것이고, 보다 상세하게는 클라이언트 및 서버간의 원격 제어 장치 및 방법에 관한 것이다.
원격지에 소재하는 서버를 제어하기 위하여 사용되고 있는 프로토콜로는 RFB(Remote Frame Buffer), RDP(Remote Desktop Protocol) 등이 있다. 이 프로토콜들의 기본 원리는 사용자의 위치에 있는 컴퓨터의 출력 장치 및 입력 장치를 원격지에 소재하는 컴퓨터의 출력 장치 및 입력 장치처럼 사용할 수 있도록 하는 것이다. 이를 위하여 원격지에 소재하는 서버의 디스플레이 정보를 네트워크를 이용하여 사용자의 위치에 있는 클라이언트에 재현한다.
RFB는 서버의 그래픽 카드의 프레임 버퍼에 저장된 디스플레이 정보를 클라이언트의 그래픽 카드의 프레임 버퍼에 그대로 이식시킴으로서 서버의 디스플레이 정보를 클라이언트에 재현한다. RDP는 ITU-T(International Telecommunications Union - Telecommunication Standardization Sector) T.120 패밀리 규격들을 기반으로 한다. 즉, RDP는 서버(2)가 ITU-T 표준에서 규정한 OS(Operating System)별 오브젝트 정보들을 송신하고, 클라이언트들(1)은 이것들을 수신하고, ITU-T 표준에 따라 처리함으로서 서버의 디스플레이 정보를 클라이언트에 재현할 수 있게 된다.
그런데, 상기한 바와 같이 RDP는 OS에 의존적이고, OS들은 그 각각이 서로 다른 정보 형식을 규정하고 있기 때문에, RDP는 이종 OS들을 사용하는 클라이언트와 서버간에는 서버의 디스플레이 정보를 클라이언트에 재현할 수 없다는 문제점이 있었다. 반면, RFB는 RDP보다 로우 레벨에서 그래픽 카드의 프레임 버퍼의 내용을 그대로 주고받는 방식이기 때문에 OS에 무관하게 서버의 디스플레이 정보를 클라이언트에 재현할 수 있으나, 하나의 클라이언트가 하나의 프레임 버퍼를 점유하기 때문에 하나의 클라이언트가 서버를 사용 중이면, 다른 클라이언트는 이 서버를 사용할 수 없다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 클라이언트의 원격 제어 프로토콜의 종류 및 OS의 종류에 관계없이 다수의 클라이언트들이 동시에 하나의 서버를 사용할 수 있도록 하는 방법 및 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법은 (a) 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 디스플레이 정보를 서버의 디스플레이 처리 모듈로 로딩함으로서 상기 서버의 환경을 전환하는 단계; 및 (b) 상기 (a) 단계에 의해 전환된 환경 상에서 상기 클라이언트들 중, 소정의 클라이언트의 디스플레이 정보 요청에 응하여 상기 디스플레이 정보를 송신하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 서버는 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 디스플레이 정보를 상기 서버의 디스플레이 처리 모듈로 로딩함으로서 상기 서버의 환경을 전환하는 서버 환경 전환부; 및 상기 서버 환경 전환부에 의해 전환된 환경 상에서 상기 클라이언트들 중, 소정의 클라이언트의 디스플레이 정보 요청에 응하여 상기 디스플레이 정보를 송신하는 디스플레이 정보 송신부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 서버 환경 전환 방법은 (a) 서버의 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 제 1 클라이언트의 디스플레이 정보를 상기 서버의 디스플레이 처리 모듈에 복사하는 단계; 및 (b) 상기 디스플레이 처리 모듈에 저장된 디스플레이 정보를 기반으로 상기 서버의 환경을 상기 제 1 클라이언트의 사용자의 환경으로 전환하는 단계를 포함하고, 상기 제 1 클라이언트는 상기 서버에 대해 원격지에 소재하는 다수의 클라이언트들 중 어느 하나이다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 서버 환경 전환 장치는 서버의 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 제 1 클라이언트의 디스플레이 정보를 상기 서버의 디스플레이 처리 모듈에 복사하는 디스플레이 정보 복사부; 및 상기 디스플레이 처리 모듈에 저장된 디스플레이 정보를 기반으로 상기 서버의 환경을 상기 제 1 클라이언트의 사용자의 환경으로 전환하는 사용자 전환부를 포함하고, 상기 제 1 클라이언트는 상기 서버에 대해 원격지에 소재하는 다수의 클라이언트들 중 어느 하나이다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 서버 환경 전환 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 원격 제어 환경을 도시한 도면이다.
도 1을 참조하면, 본 실시예에 따른 원격 제어 환경은 원격지에 소재하는 다수의 클라이언트들(1)과 이러한 다수의 클라이언트들을 지원하는 서버(2)로 구성된다. 다수의 클라이언트들(1)은 동시에 하나의 서버(2)를 사용한다. 이때, 클라이언트들(1)은 서버(2)에서 자신들의 작업을 처리하기 위하여 각종 요청들을 송신하고, 서버(2)는 클라이언트들(1)의 요청들을 처리하고, 처리 결과인 응답을 송신한다. 본 실시예에서 클라이언트들(1)은 서로 다른 원격 제어 프로토콜들을 사용하고, 서로 다른 OS(Operating System)들을 사용한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 서버의 구성도이다.
도 2를 참조하면, 본 실시예에 따른 서버(2)는 원격 처리 모듈(21), 시스템 메모리(22), 및 디스플레이 처리 모듈(23)로 구성된다. 서버(2)는 통상적인 서버로서 동작하기 위한 다른 구성 요소들을 포함할 수 있으나, 도면의 복잡을 피하기 위하여 본 실시예와 관련된 구성 요소들만을 도시하였다.
원격 처리 모듈(21)은 원격지에 소재하는 클라이언트들(11, 12, 13)로부터 여러 가지 요청들을 수신하고, 수신된 요청들을 처리한다.
시스템 메모리(22)는 일반적인 컴퓨터의 시스템 메모리를 말하며, OS(Operating System), 응용 프로그램, 현재 작업 중인 데이터가 저장된다. 도 2에는 도면의 복잡함을 피하기 위하여 본 실시예와 관련된 OS(221) 및 백업 버퍼들(222, 223, 224)만을 도시하였다. 본 실시예에서의 시스템 메모리(22)는 부팅 과정을 거쳐 하드 디스크(미도시)로부터 OS가 로딩된 상태를 도시한 것이다.
디스플레이 처리 모듈(23)은 원격 처리 모듈(21)의 제어에 따라 디스플레이에 관련된 작업을 처리한다. 디스플레이 처리 모듈(23)은 서버(2)의 그래픽 카드 내의 프레임 버퍼 및 서버(2)의 프로토콜 스택 내의 T.120 스택으로 구성된다.
다시 도 2를 참조하면, 원격 처리 모듈(21)은 먹스(MUX)(211), 사용자 인증부(212), 자원 할당부(213), 사용자 정보 작성부(214), 서버 환경 전환부(215), 서버 제어 요청 처리부(216), 및 디스플레이 정보 송신부(217)로 구성된다. 이 원격 처리 모듈(21)은 클라이언트의 원격 제어 프로토콜의 종류 및 OS의 종류에 관계없이 동작할 수 있도록 범용적으로 구현한 것이다. 이러한 원격 제어 프로토콜로는 RFB(Remote Frame Buffer), RDP(Remote Desktop Protocol)이 있다.
먹스(211)는 클라이언트들(11, 12, 13)로부터 다중화(multiplexing)된 요청들을 네트워크를 경유하여 수신하고, 수신된 요청을 역다중화(demultiplexing)하여 원격 처리 모듈(21) 내의 다른 구성 요소들로 출력한다. 또한, 먹스(211)는 원격 처리 모듈(21) 내의 다른 구성 요소들로부터 출력된 응답들을 다중화하고, 다중화된 응답들을 인터넷을 경유하여 클라이언트들(11, 12, 13)로 송신한다. 여기에서, 네트워크란 일반적으로 인터넷을 말한다.
사용자 인증부(212)는 클라이언트들(11, 12, 13) 중 어느 하나의 클라이언트로부터 먹스(211)를 경유하여 서버 액세스 요청을 입력받으면, 이 서버 액세스 요청을 송신한 클라이언트의 사용자를 인증한다. 이러한 서버 액세스 요청은 사용자 계정 정보 및 원격 제어 프로토콜 정보를 포함하며, 클라이언트 측에서의 키보드 입력, 마우스 이동 등으로 발생할 수도 있고, 클라이언트 파워 온 시 자동적으로 발생하게 할 수도 있다.
보다 상세히 설명하면, 사용자 인증부(212)는 이 서버 액세스 요청을 송신한 클라이언트의 사용자가 서버에 계정을 갖고 있는 사용자인지를 확인하기 위하여, 사용자 인증과 관련된 OS(221)의 시스템 호출을 사용하여 사용자를 인증한다. 이때, 사용자 인증과 관련된 OS(221)의 시스템 호출을 통하여 서버 액세스 요청에 포함된 사용자 계정이 서버(2)의 사용자 계정 데이터베이스에 존재하는 지를 알 수 있게 된다. 또한, 사용자 인증부(212)는 인증 결과, 클라이언트의 사용자가 정당한 사용자가 아닌 것으로 확인되면, 즉 서버에 계정을 갖고 있지 않은 사용자인 것으로 확인되면, 먹스(211)를 경유하여 서버 액세스 요청을 송신한 클라이언트로 NAK(negative acknowledgement)을 송신한다.
자원 할당부(213)는 서버(2)의 자원을 고려하여 사용자 인증부(212)에서의 인증을 통과한 클라이언트에게 서버(2)의 자원을 할당한다. 보다 상세히 설명하면, 자원 할당부(213)는 이미 자원을 할당받은 클라이언트들이 사용하는 자원을 제외한 나머지 자원이 사용자 인증부(212)에서의 인증을 통과한 클라이언트가 사용하기에 충분하면, 이 클라이언트로 ACK(acknowledgement)를 송신하고, 동시에 이 클라이언트에게 자원을 할당한다. 또한, 자원 할당부(213)는 나머지 자원이 사용자 인증부(212)에서의 인증을 통과한 클라이언트가 사용하기에 충분하지 않으면, 먹스(211)를 경유하여 이 클라이언트로 NAK를 송신한다. 여기에서, 자원은 세션(session) 및 백업 버퍼를 말한다. 즉, 자원 할당부(213)는 사용자 인증부(212)에서의 인증을 통과한 클라이언트에게 세션 및 백업 버퍼를 할당한다.
사용자 정보 작성부(214)는 서버 액세스 요청에 포함된 사용자 계정 정보, 원격 제어 프로토콜 정보, 및 자원 할당부(213)에서 할당된 자원에 관한 정보로 구성된 사용자 정보를 작성한다. 여기에서, 자원에 관한 정보란 클라이언트에 할당된 포트 번호 등의 세션 정보 및 클라이언트에 할당된 백업 버퍼의 시작 주소 등의 백업 버퍼 정보를 말한다.
서버 환경 전환부(215)는 클라이언트들(11, 12, 13) 중, 서버(2)로부터 ACK를 수신한 클라이언트로부터 먹스(211)를 경유하여 서버 사용 요청을 입력받으면, 사용자 정보 작성부(214)에서 작성된 사용자 정보를 참조하여, 서버(2)의 환경을 현재 클라이언트의 환경으로부터 서버 사용 요청을 송신한 클라이언트의 환경으로 전환한다. 여기에서, 서버 사용 요청을 송신한 클라이언트는 사용자 인증부(212)에서의 인증을 통과하고, 자원 할당부(213)에 의해 할당된 자원을 기반으로 하는 클라이언트이다. 이러한 서버 사용 요청은 클라이언트 측에서의 키보드 입력, 마우스 이동 등으로 발생할 수도 있고, 사용자 정보 작성부(214)에서 사용자 정보가 작성되면 자동적으로 발생하게 할 수도 있다.
보다 상세히 설명하면, 서버 환경 전환부(215)는 디스플레이 처리 모듈(23)에서 처리 중인 디스플레이 정보를 다수의 백업 버퍼들(222, 223, 224) 중, 현재 클라이언트에 할당된 백업 버퍼에 백업한 후, 백업 버퍼들(222, 223, 224) 중, 서버 사용 요청을 송신한 클라이언트에 할당된 백업 버퍼에 백업된 디스플레이 정보를 서버의 디스플레이 처리 모듈(23)로 로딩함으로서 서버의 환경을 전환한다.
이와 같이, 다수의 클라이언트들의 디스플레이 정보들을 다수의 백업 버퍼들에 백업하는 이유는 다수의 클라이언트들이 동시에 하나의 서버를 사용할 수 있도록 하기 위함이다. 또한, 본 실시예에 따르면, 다수의 클라이언트들이 원활하게 하나의 서버를 사용할 수 있도록 하기 위하여 서버 환경 전환부(215)를 인터럽트 서비스 루틴으로 구현한다. 즉, 서버 환경 전환부(215)는 클라이언트의 서버 사용 요청에 따라 발생하는 인터럽트 신호를 수신하면, 서버(2)의 환경을 전환한다. 여기에서, 디스플레이 정보란 보통 클라이언트의 디스플레이 장치 상에 표시되는 윈도우 정보를 말한다.
도 3은 도 2에 도시된 서버 환경 전환부(215)의 상세 구성도이다.
도 3을 참조하면, 도 2에 도시된 서버 환경 전환부(215)는 디스플레이 정보 백업부(2151), 디스플레이 정보 복사부(2152), 및 사용자 전환부(2153)로 구성된다. 디스플레이 정보 백업부(2151), 디스플레이 정보 복사부(2152), 및 사용자 전환부(2153)는 인터럽트 신호에 따라 분기되는 인터럽트 서비스 루틴에 해당한다. 이하, 현재 서버(2)를 사용하는 클라이언트를 클라이언트 A(11), 서버 사용 요청을 송신한 클라이언트를 클라이언트 B(12)라고 가정하고 설명하기로 한다.
디스플레이 정보 백업부(2151)는 사용자 정보 작성부(214)에서 작성된 사용자 정보들 중 클라이언트 A(11)의 사용자 정보 A(2141)를 참조하여, 디스플레이 처리 모듈(23)에 저장된 클라이언트 A(11)의 디스플레이 정보를 클라이언트 A(11)에 할당된 백업 버퍼 A(222)에 백업한다. 보다 상세히 설명하면, 디스플레이 정보 백업부(2151)는 사용자 정보 A(2141)에 포함된 백업 버퍼 A(222)의 시작 주소를 참조하여 백업 버퍼 A(222)를 인식하고, 클라이언트 A(11)의 디스플레이 정보를 인식된 백업 버퍼 A(222)에 백업한다. 디스플레이 정보 백업부(2151)의 백업의 결과, 클라이언트 A(11)는 다음 서버 사용 기간에 백업 버퍼 A(222)에 백업된 디스플레이 정보를 활용하여 이전 서버 사용 기간에서의 작업을 연속적으로 처리할 수 있게 된다.
디스플레이 정보 복사부(2152)는 디스플레이 정보 백업부(2151)에서의 백업이 완료되면, 사용자 정보 작성부(214)에서 작성된 사용자 정보들 중 클라이언트 B(12)의 사용자 정보 B(2142)를 참조하여, 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23)에 복사한다. 보다 상세히 설명하면, 디스플레이 정보 복사부(2152)는 사용자 정보 B(2142)에 포함된 백업 버퍼 B(223)의 시작 주소를 참조하여 백업 버퍼 B(223)를 인식하고, 인식된 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23)에 복사한다.
또한, 디스플레이 정보 복사부(2152)는 사용자 정보 B(2142)에 포함된 원격 제어 프로토콜 정보를 참조하여 클라이언트 B(12)가 RFB를 사용하는지 또는 RDP를 사용하는 지를 인식하고, 인식된 결과 클라이언트 B(12)가 RFB를 사용하는 경우에는 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311)에 복사하고, 클라이언트 B(12)가 RDP를 사용하는 경우에는 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23) 내의 T.120 스택(232)에 복사한다. 디스플레이 정보 복사부(2152)의 복사의 결과, 디스플레이 처리 모듈(23)은 클라이언트 B(12)를 위한 디스플레이 처리 모듈로 된다. 이와 같이, 본 실시예에서는 사용자 정보 B(2142)에 포함된 원격 제어 프로토콜 정보를 참조하여 백업 버퍼에 저장된 디스플레이 정보가 복사될 곳을 결정함으로서 이종의 원격 제어 프로토콜들을 사용하는 클라이언트들(1)이 동시에 하나의 서버(2)를 사용할 수 있게 된다.
도 4는 T.120 스택을 도시한 도면이다.
도 4를 참조하면, T.120 스택은 다음과 같은 구성 요소들로 이루어진다.
T.121(Generic Application Template)은 T.120 응용 프로그램의 공통 구조를 규정한다. T.122(Multipoint Communication Service)는 T.125에서 구현된 T.123 네트웍의 서비스 정의를 규정한다. T.123(Audiovisual Protocol Stacks)은 터미널과 MCU(Multipoint Control Unit) 등을 위한 프로토콜 계층들을 규정한다. T.124(Generic Conference Control)는 회의의 개설, 종료 등에 관한 회의 관리를 규정한다. T.125(Multipoint Communication Service)는 T.122의 프로토콜 구현을 규정한다. T.126(Still Image & Annotation Protocol)은 화이트보드, 그래픽 이미지 등의 교환을 규정한다. T.127(Multipoint Binary Transfer)은 바이너리 파일 교환을 위한 프로토콜을 규정한다. T.128(Audio Visual Control)은 라우팅, 신원 확인, 원격 제어, 매체 선택 등에 관한 대화식 제어를 규정한다.
T.120은 네트워크로 연결된 여러 명의 사용자들이 서로 화상 정보를 공유하면서 실시간 화상 회의를 하기 위한 ITU(International Telecommunications Union) 표준으로서, 화상 회의의 모든 측면을 정의하는 일련의 규격들을 가리키는 포괄적인 용어이다. 도 4에 도시된 바와 같이, T.120 스택은 응용 계층과 네트워크 계층 사이에 존재하는 미들웨어에 해당한다. T.120의 구성 요소들이 응용 계층에 API들을 지원함으로서 디스플레이 정보를 송수신할 수 있게 된다.
도 5는 T.120이 지원하는 OS들을 표시한 도면이다.
도 5를 참조하면, T.120은 현재 사용 중인 여러 가지 OS들, 즉 Windows, OS/2(Operating System/2), Macintosh, UNIX/X를 지원한다. T.120의 구성 요소들은 디스플레이 정보를 송수신하기 위하여 각종 OS들에 필요한 정보들을 가지고 있고, 이러한 정보들은 ITU-T(International Telecommunications Union - Telecommunication Standardization Sector) 표준으로 제정되어 있다. 즉, 서버(2)가 ITU-T 표준에서 규정한 OS별 오브젝트 정보들을 송신하고, 클라이언트들(1)은 이것들을 수신하고, ITU-T 표준에 따라 처리함으로서 디스플레이 환경을 생성할 수 있게 된다. 상기한 바와 같이, 본 실시예에서는 ITU-T 표준에서 규정한 OS별 오브젝트 정보들을 클라이언트들(1) 각각에 할당된 백업 버퍼들(222, 223, 224)에 백업하였다가 로딩함으로서 이종의 OS들을 사용하는 클라이언트들이 동시에 하나의 서버를 사용할 수 있게 된다.
다시 도 3을 참조하면, 사용자 전환부(2153)는 디스플레이 정보 복사부(2152)에서의 복사가 완료되면, 디스플레이 처리 모듈(23)에 저장된 디스플레이 정보를 기반으로 서버(2)의 환경을 클라이언트 A(11)의 사용자의 환경으로부터 클라이언트 B(12)의 사용자의 환경으로 전환한다. 보다 상세히 설명하면, 사용자 전환부(2153)는 클라이언트 A(11)의 사용자의 환경으로부터 클라이언트 B(12)의 사용자의 환경으로 전환하기 위하여, 사용자 스위치(user switch)와 관련된 OS(221)의 시스템 호출을 사용하여 사용자를 스위치한다.
이와 같이, 사용자가 스위치되면, 서버의 환경은 클라이언트 B(12)의 사용자의 환경으로 전환된다. 예를 들어, 서버(2)가 클라이언트 A(11)의 사용자가 웹브라우징 작업을 수행하는 도중에 클라이언트 B(12)의 사용자에 의해 지시된 서버 사용 요청을 수신한 경우, 서버 환경 전환을 위한 인터럽트 서비스 루틴을 호출한다. 인터럽트 서비스 루틴의 수행 결과, 서버(2)의 환경은 클라이언트 B(12)가 이전에 하던 작업인 컴파일 작업 상태로 복귀하게 된다. 다만, 클라이언트 B(12)의 사용자는 클라이언트 A(11)의 사용자 보다 우선 순위(priority)가 높아야 한다. 본 실시예는 원격 제어 프로토콜에 관한 실시예이기 때문에, 우선 순위, 작업 처리 등 OS(221)에 관련된 사항에 대한 구체적인 설명은 생략하기로 하며, 생략된 부분에 대해서는 일반적인 OS 스펙을 참조하기로 한다.
다시 도 2를 참조하면, 서버 제어 요청 처리부(216)는 서버 환경 전환부(215)에 의해 전환된 환경 상에서 현재 서버(2)를 사용 중인 클라이언트, 즉 클라이언트 B(12)로부터 먹스(211)를 경유하여 각종 서버 제어 요청들을 입력받으면, OS(221)에 관련된 서버 제어 요청인 경우에는 입력받은 요청에 따라 OS(221)를 제어하고, 디스플레이에 관련된 서버 제어 요청인 경우에는 입력받은 요청에 따라 디스플레이 처리 모듈(23)을 제어한다. 이러한 서버 제어 요청은 클라이언트 B(12) 측에서의 키보드 입력, 마우스 이동 등으로 발생한다.
만약, 서버 제어 요청이 디스플레이 정보 요청이라면, 서버 제어 요청 처리부(216)는 디스플레이 처리 모듈(23)로 클라이언트 B(12)로 디스플레이 처리 모듈(23)에 저장된 디스플레이 정보를 송신할 것을 지시한다.
디스플레이 정보 송신부(217)는 서버 제어 요청 처리부(216)에서의 지시에 따라 클라이언트 B(12)의 디스플레이 정보 요청에 응하여 디스플레이 정보를 송신한다. 보다 상세히 설명하면, 디스플레이 정보 송신부(217)는 클라이언트 B(12)가 RFB를 사용하는 경우에는 클라이언트 B(12)로 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311)에 저장된 디스플레이 정보를 전송하고, 클라이언트 B(12)가 RDP를 사용하는 경우에는 클라이언트 B(12)로 디스플레이 처리 모듈(23) 내의 T.120 스택(232)에 저장된 디스플레이 정보를 전송한다.
도 6은 본 발명의 바람직한 일 실시예에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법의 흐름도이다.
도 2를 참조하면, 본 실시예에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법은 도 2에 도시된 서버에서 수행된다. 따라서, 도 2에 기술된 사항은 이하 생략된 경우라 하더라도 본 실시예에 적용된다. 이하, 현재 서버(2)를 사용하는 클라이언트를 클라이언트 A(11), 이후 서버(2)를 사용하고자하는 클라이언트를 클라이언트 B(12)라고 가정하고 설명하기로 한다.
61 단계에서 다수의 클라이언트들(1) 중, 클라이언트 B(12)는 서버(2)로 서버 액세스 요청을 송신한다. 62 단계에서 서버(1)는 클라이언트 B(12)로부터 서버 액세스 요청을 수신하고, 클라이언트 B(12)의 사용자를 인증한다. 보다 상세히 설명하면, 62 단계에서 서버(1)는 이 서버 액세스 요청을 송신한 클라이언트의 사용자가 서버에 계정을 갖고 있는 사용자인지를 확인하기 위하여, 사용자 인증과 관련된 OS(221)의 시스템 호출을 사용하여 사용자를 인증한다. 이러한 서버 액세스 요청은 사용자 계정 정보 및 원격 제어 프로토콜 정보를 포함하며, 클라이언트 B(12) 측에서의 키보드 입력, 마우스 이동 등으로 발생할 수도 있고, 클라이언트 B(12) 파워 온 시 자동적으로 발생하게 할 수도 있다. 62 단계에서의 인증 결과, 클라이언트의 사용자가 정당한 사용자가 아닌 것으로 확인되면, 서버(2)는 클라이언트 B(12)로 NAK을 송신한다.
62 단계에서의 인증 결과, 클라이언트의 사용자가 정당한 사용자인 것으로 확인되면, 63 단계에서 서버(2)는 서버(2)의 자원을 고려하여 클라이언트 B(12)에게 서버(2)의 자원을 할당할 수 있는 지를 확인한다. 63 단계에서의 확인 결과, 이미 자원을 할당받은 클라이언트들이 사용하는 자원을 제외한 나머지 자원이 클라이언트 B(12)가 사용하기에 충분하면, 클라이언트 B(12)로 ACK를 송신하고, 동시에 64 단계에서 서버(2)는 클라이언트 B(12)에게 자원을 할당한다. 63 단계에서의 확인 결과, 나머지 자원이 클라이언트 B(12)가 사용하기에 충분하지 않으면, 클라이언트 B(12)로 NAK를 송신한다. 여기에서, 자원은 세션 및 백업 버퍼를 말한다. 즉, 64 단계에서 서버(2)는 클라이언트 B(12)에게 세션 및 백업 버퍼를 할당한다.
65 단계에서 서버(2)는 서버 액세스 요청에 포함된 사용자 계정 정보, 원격 제어 프로토콜 정보, 및 64 단계에서 할당된 자원에 관한 정보로 구성된 사용자 정보를 작성한다. 여기에서, 자원에 관한 정보란 클라이언트에 할당된 포트 번호 등의 세션 정보 및 클라이언트에 할당된 백업 버퍼의 시작 주소 등의 백업 버퍼 정보를 말한다.
66 단계에서 서버(2)로부터 ACK를 수신한 클라이언트 B(12)는 서버(2)로 서버 사용 요청을 송신한다. 67 단계에서 서버(2)는 클라이언트 B(12)로부터 서버 사용 요청을 입력받으면, 서버(2)의 환경을 전환하는 인터럽트 서비스 루틴으로 분기하기 위하여 인터럽트 신호를 발생시킨다. 인터럽트 서비스 루틴은 65 단계에서 작성된 사용자 정보를 참조하여, 서버(2)의 환경을 클라이언트 A(11)의 환경으로부터 서버 사용 요청을 송신한 클라이언트 B(12)의 환경으로 전환한다. 여기에서, 서버 사용 요청을 송신한 클라이언트 B(12)는 62 단계에서의 인증을 통과하고, 63 단계에 의해 할당된 자원을 기반으로 하는 클라이언트이다. 이러한 서버 사용 요청은 클라이언트 측에서의 키보드 입력, 마우스 이동 등으로 발생할 수도 있고, 65 단계에서 사용자 정보가 작성되면, 자동적으로 발생하게 할 수도 있다.
보다 상세히 설명하면, 67 단계에서 서버(2)는 디스플레이 처리 모듈(23)에서 처리 중인 디스플레이 정보를 클라이언트 A(11)에 할당된 백업 버퍼 A(222)에 백업한 후, 클라이언트 B(12)에 할당된 백업 버퍼 B(223)에 백업된 디스플레이 정보를 디스플레이 처리 모듈(23)로 로딩함으로서 서버(2)의 환경을 전환한다. 여기에서, 디스플레이 정보란 보통 클라이언트의 디스플레이 장치 상에 표시되는 윈도우 정보를 말한다.
도 7은 도 6에 도시된 67 단계의 상세 흐름도이다.
도 7을 참조하면, 도 6에 도시된 67단계는 다음과 같은 단계들로 구성된다. 다음의 단계들, 즉 671 단계부터 676 단계까지의 단계들은 인터럽트 신호에 따라 분기되는 인터럽트 서비스 루틴에 해당한다.
671 단계에서 서버(2)는 사용자 정보 B(2142)에 포함된 원격 제어 프로토콜 정보를 참조하여 클라이언트 B(12)가 RFB를 사용하는지 또는 RDP를 사용하는 지를 인식한다. 671 단계에서 인식된 결과 클라이언트 B(12)가 RFB를 사용하는 경우, 672 단계에서 서버(2)는 65 단계에서 작성된 사용자 정보들 중 클라이언트 A(11)의 사용자 정보 A(2141)를 참조하여, 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311)에 저장된 클라이언트 A(11)의 디스플레이 정보를 클라이언트 A(11)에 할당된 백업 버퍼 A(222)에 백업한다. 보다 상세히 설명하면, 672 단계에서 서버(2)는 사용자 정보 A(2141)에 포함된 백업 버퍼 A(222)의 시작 주소를 참조하여 백업 버퍼 A(222)를 인식하고, 클라이언트 A(11)의 디스플레이 정보를 인식된 백업 버퍼 A(222)에 백업한다.
672 단계에서의 백업이 완료되면, 673 단계에서 서버(2)는 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311)에 복사한다. 보다 상세히 설명하면, 673 단계에서 서버(2)는 사용자 정보 B(2142)에 포함된 백업 버퍼 B(223)의 시작 주소를 참조하여 백업 버퍼 B(223)를 인식하고, 인식된 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311)에 복사한다.
반면, 671 단계에서 인식된 결과 클라이언트 B(12)가 RDP를 사용하는 경우에는 674 단계에서 서버(2)는 65 단계에서 작성된 사용자 정보들 중 클라이언트 A(11)의 사용자 정보 A(2141)를 참조하여, 디스플레이 처리 모듈(23) 내의 T.120 스택(232)에 저장된 클라이언트 A(11)의 디스플레이 정보를 클라이언트 A(11)에 할당된 백업 버퍼 A(222)에 백업한다. 보다 상세히 설명하면, 674 단계에서 서버(2)는 사용자 정보 A(2141)에 포함된 백업 버퍼 A(222)의 시작 주소를 참조하여 백업 버퍼 A(222)를 인식하고, 클라이언트 A(11)의 디스플레이 정보를 인식된 백업 버퍼 A(222)에 백업한다.
674 단계에서의 백업이 완료되면, 675 단계에서 서버(2)는 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23) 내의 T.120 스택(232)에 복사한다. 보다 상세히 설명하면, 675 단계에서 서버(2)는 사용자 정보 B(2142)에 포함된 백업 버퍼 B(223)의 시작 주소를 참조하여 백업 버퍼 B(223)를 인식하고, 인식된 백업 버퍼 B(223)에 백업된 클라이언트 B(12)의 디스플레이 정보를 디스플레이 처리 모듈(23) 내의 T.120 스택(232)에 복사한다.
676 단계에서 서버(2)는 673 단계 또는 675 단계에서의 복사가 완료되면, 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311) 또는 T.120 스택(232)에 저장된 디스플레이 정보를 기반으로 서버(2)의 환경을 클라이언트 A(11)의 사용자의 환경으로부터 클라이언트 B(12)의 사용자의 환경으로 전환한다. 보다 상세히 설명하면, 676 단계에서 서버(2)는 클라이언트 A(11)의 사용자의 환경으로부터 클라이언트 B(12)의 사용자의 환경으로 전환하기 위하여, 사용자 스위치(user switch)와 관련된 OS(221)의 시스템 호출을 사용하여 사용자를 스위치한다.
서버(2)는 67 단계의 인터럽트 서비스 루틴에 의해 전환된 환경 상에서 클라이언트 B(12)로부터 각종 서버 제어 요청들을 입력받으면, OS(221)에 관련된 서버 제어 요청인 경우에는 입력받은 요청에 따라 OS(221)를 제어하고, 디스플레이에 관련된 서버 제어 요청인 경우에는 입력받은 요청에 따라 디스플레이 처리 모듈(23)을 제어한다. 이러한 서버 제어 요청은 클라이언트 B(12) 측에서의 키보드 입력, 마우스 이동 등으로 발생한다.
다시 도 6을 참조하면, 68 단계에서 클라이언트 B(12)는 서버(2)로 디스플레이 정보 요청을 송신한다. 디스플레이 정보 요청은 클라이언트 B(12)가 서버(2)로 송신하는 각종 서버 제어 요청들 중의 하나이다.
69 단계에서 디스플레이 정보 요청을 수신한 서버(2)는 디스플레이 처리 모듈(23)로 클라이언트 B(12)로 디스플레이 처리 모듈(23)에 저장된 디스플레이 정보를 송신한다. 보다 상세히 설명하면, 69 단계에서 디스플레이 정보 요청을 수신한 서버(2)는 클라이언트 B(12)가 RFB를 사용하는 경우에는 클라이언트 B(12)로 디스플레이 처리 모듈(23) 내의 그래픽 카드(231)의 프레임 버퍼(2311)에 저장된 디스플레이 정보를 전송하고, 클라이언트 B(12)가 RDP를 사용하는 경우에는 클라이언트 B(12)로 디스플레이 처리 모듈(23) 내의 T.120 스택(232)에 저장된 디스플레이 정보를 전송한다.
610 단계에서 클라이언트 B(12)는 서버(2)로 서버 사용 종결 요청을 송신한다. 서버 사용 종결 요청은 클라이언트 B(12)가 서버(2)로 송신하는 각종 서버 제어 요청들 중의 하나이다.
611 단계에서 서버 사용 종결 요청을 수신한 서버(2)는 클라이언트 B(12)에 할당된 자원, 즉 세션 및 백업 버퍼를 회수한다. 서버(2)는 자원 회수를 통하여 이후 서버(2)를 사용하고자 하는 다른 클라이언트들을 위한 자원을 확보할 수 있게 된다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 다수의 클라이언트들의 디스플레이 정보들을 그들 각각에 할당된 백업 버퍼들에 백업 및 로딩을 인터럽트 서비스 루틴을 사용하여 반복함으로서 다수의 클라이언트들이 동시에 하나의 서버를 사용할 수 있다는 효과가 있다. 나아가, 본 발명에 따르면 백업 버퍼는 다수의 클라이언트들마다의 각종 형식의 디스플레이 정보들을 그대로 백업하였다가 로딩함으로서 클라이언트의 원격 제어 프로토콜의 종류 및 OS의 종류에 관계없이 다수의 클라이언트들이 동시에 하나의 서버를 사용할 수 있다는 효과가 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 원격 제어 환경을 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 서버의 구성도이다.
도 3은 도 2에 도시된 서버 환경 전환부(215)의 상세 구성도이다.
도 4는 T.120 스택을 도시한 도면이다.
도 5는 T.120이 지원하는 OS들을 표시한 도면이다.
도 6은 본 발명의 바람직한 일 실시예에 따른, 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법의 흐름도이다.
도 7은 도 6에 도시된 67 단계의 상세 흐름도이다.

Claims (19)

  1. 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법에 있어서,
    (a) 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 디스플레이 정보를 서버의 디스플레이 처리 모듈로 로딩함으로서 상기 서버의 환경을 전환하는 단계; 및
    (b) 상기 (a) 단계에 의해 전환된 환경 상에서 상기 클라이언트들 중, 소정의 클라이언트의 디스플레이 정보 요청에 응하여 상기 디스플레이 정보를 송신하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 디스플레이 정보는 상기 소정의 클라이언트의 디스플레이 장치 상에 표시되는 윈도우 정보인 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계는 상기 디스플레이 처리 모듈에서 처리 중인 디스플레이 정보를 상기 백업 버퍼들 중, 상기 소정의 백업 버퍼를 제외한 어느 하나의 백업 버퍼에 백업한 후, 상기 소정의 백업 버퍼에 백업된 디스플레이 정보를 상기 디스플레이 처리 모듈로 로딩하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계는 상기 소정의 클라이언트의 서버 사용 요청에 따라 발생하는 인터럽트 신호를 수신하면, 상기 서버의 환경을 전환하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 소정의 클라이언트의 사용자를 인증하는 단계를 더 포함하고,
    상기 (a) 단계는 상기 인증 결과에 따라 선택적으로 상기 서버의 환경을 전환하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 서버의 자원을 고려하여 상기 소정의 클라이언트에 자원을 할당하는 단계를 더 포함하고,
    상기 (a) 단계는 상기 할당된 자원을 기반으로 하는 상기 소정의 클라이언트의 환경으로 전환하는 것을 특징으로 하는 방법.
  7. 원격지에 소재하는 다수의 클라이언트들을 지원하는 서버에 있어서,
    다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 디스플레이 정보를 상기 서버의 디스플레이 처리 모듈로 로딩함으로서 상기 서버의 환경을 전환하는 서버 환경 전환부; 및
    상기 서버 환경 전환부에 의해 전환된 환경 상에서 상기 클라이언트들 중, 소정의 클라이언트의 디스플레이 정보 요청에 응하여 상기 디스플레이 정보를 송신하는 디스플레이 정보 송신부를 포함하는 것을 특징으로 하는 서버.
  8. 제 7 항에 있어서,
    상기 디스플레이 정보는 상기 소정의 클라이언트의 디스플레이 장치 상에 표시되는 윈도우 정보인 것을 특징으로 하는 서버.
  9. 제 7 항에 있어서,
    상기 서버 환경 전환부는 상기 디스플레이 처리 모듈에서 처리 중인 디스플레이 정보를 상기 백업 버퍼들 중, 상기 소정의 백업 버퍼를 제외한 어느 하나의 백업 버퍼에 백업한 후, 상기 소정의 백업 버퍼에 백업된 디스플레이 정보를 상기 디스플레이 처리 모듈로 로딩하는 것을 특징으로 하는 서버.
  10. 제 7 항에 있어서,
    상기 서버 환경 전환부는 상기 소정의 클라이언트의 서버 사용 요청에 따라 발생하는 인터럽트 신호를 수신하면, 상기 서버의 환경을 전환하는 것을 특징으로 하는 서버.
  11. (a) 서버의 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 제 1 클라이언트의 디스플레이 정보를 상기 서버의 디스플레이 처리 모듈에 복사하는 단계; 및
    (b) 상기 디스플레이 처리 모듈에 저장된 디스플레이 정보를 기반으로 상기 서버의 환경을 상기 제 1 클라이언트의 사용자의 환경으로 전환하는 단계를 포함하고,
    상기 제 1 클라이언트는 상기 서버에 대해 원격지에 소재하는 다수의 클라이언트들 중 어느 하나인 것을 특징으로 하는 서버 환경 전환 방법.
  12. 제 11 항에 있어서,
    상기 디스플레이 처리 모듈에 저장된 제 2 클라이언트의 디스플레이 정보를 다수의 백업 버퍼들 중 제 2 백업 버퍼에 백업하는 단계를 더 포함하고,
    상기 제 2 클라이언트는 상기 다수의 클라이언트들 중, 상기 제 1 클라이언트를 제어한 어느 하나인 것을 특징으로 하는 서버 환경 전환 방법.
  13. 제 12 항에 있어서,
    상기 (a) 단계는 상기 백업이 완료되면, 상기 제 1 클라이언트의 디스플레이 정보를 상기 디스플레이 처리 모듈에 복사하고,
    상기 (b) 단계는 상기 제 2 클라이언트의 사용자의 환경으로부터 상기 제 1 클라이언트의 사용자의 환경으로 전환하는 것을 특징으로 하는 서버 환경 전환 방법.
  14. 제 11 항에 있어서,
    상기 (a) 단계는 상기 제 1 클라이언트의 원격 제어 프로토콜의 종류에 따라 상기 디스플레이 처리 모듈에 포함된 프레임 버퍼 또는 상기 디스플레이 처리 모듈에 포함된 T.120 스택에 상기 디스플레이 정보를 복사하는 것을 특징으로 하는 서버 환경 전환 방법.
  15. 제 14 항에 있어서,
    상기 원격 제어 프로토콜은 RFB(Remote Frame Buffer) 또는 RDP(Remote Desktop Protocol)인 것을 특징으로 하는 서버 환경 전환 방법.
  16. 서버의 다수의 백업 버퍼들 중, 소정의 백업 버퍼에 백업된 제 1 클라이언트의 디스플레이 정보를 상기 서버의 디스플레이 처리 모듈에 복사하는 디스플레이 정보 복사부; 및
    상기 디스플레이 처리 모듈에 저장된 디스플레이 정보를 기반으로 상기 서버의 환경을 상기 제 1 클라이언트의 사용자의 환경으로 전환하는 사용자 전환부를 포함하고,
    상기 제 1 클라이언트는 상기 서버에 대해 원격지에 소재하는 다수의 클라이언트들 중 어느 하나인 것을 특징으로 하는 서버 환경 전환 장치.
  17. 제 16 항에 있어서,
    상기 디스플레이 처리 모듈에 저장된 제 2 클라이언트의 디스플레이 정보를 다수의 백업 버퍼들 중 제 2 백업 버퍼에 백업하는 디스플레이 정보 백업부를 더 포함하고,
    상기 제 2 클라이언트는 상기 다수의 클라이언트들 중, 상기 제 1 클라이언트를 제어한 어느 하나인 것을 특징으로 하는 서버 환경 전환 장치.
  18. 제 1 항 내지 제 6 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  19. 제 11 항 내지 제 15 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040039241A 2004-05-31 2004-05-31 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버 KR20050114047A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040039241A KR20050114047A (ko) 2004-05-31 2004-05-31 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버
US11/139,604 US20050267779A1 (en) 2004-05-31 2005-05-31 Method, apparatus, and medium for servicing clients in remote areas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040039241A KR20050114047A (ko) 2004-05-31 2004-05-31 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버

Publications (1)

Publication Number Publication Date
KR20050114047A true KR20050114047A (ko) 2005-12-05

Family

ID=35426553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040039241A KR20050114047A (ko) 2004-05-31 2004-05-31 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버

Country Status (2)

Country Link
US (1) US20050267779A1 (ko)
KR (1) KR20050114047A (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083607B (zh) * 2006-05-30 2010-12-08 倪海生 一种用于内外网络隔离的因特网访问服务器及其处理方法
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US8375304B2 (en) 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US9247260B1 (en) 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
WO2008092104A2 (en) * 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US9438662B2 (en) * 2007-04-30 2016-09-06 Microsoft Technology Licensing, Llc Enabling secure remote assistance using a terminal services gateway
US8134565B2 (en) * 2008-08-08 2012-03-13 Dell Products, Lp System, module and method of enabling a video interface within a limited resource enabled information handling system
FR2940688B1 (fr) * 2008-12-30 2011-02-25 Sagem Comm Systeme comprenant un serveur et un terminal munis d'interfaces graphiques communiquant via un protocole de partage d'images
US8648858B1 (en) 2009-03-25 2014-02-11 Skyfire Labs, Inc. Hybrid text and image based encoding
FR2943871B1 (fr) * 2009-03-25 2011-07-22 Sagem Comm Procede de partage a distance de bureaux(x) informatique(s)
US8754900B2 (en) * 2010-06-17 2014-06-17 Thinci, Inc. Processing of graphics data of a server system for transmission
US9373152B2 (en) 2010-06-17 2016-06-21 Thinci, Inc. Processing of graphics data of a server system for transmission including multiple rendering passes
US9684424B2 (en) * 2010-07-08 2017-06-20 Red Hat Israel, Ltd. Transforming cursor graphics information
US9798436B2 (en) 2010-07-08 2017-10-24 Red Hat Israel, Ltd. Remote computing with a low latency mouse mode
CN102662999B (zh) * 2012-03-15 2014-06-11 北京视博云科技有限公司 一种多媒体应用数据提供方法、装置及系统
KR102263369B1 (ko) * 2015-01-13 2021-06-11 한국전자통신연구원 다중 컴퓨터 제어 시스템 및 제어 방법
CN104768033B (zh) * 2015-04-15 2017-09-19 广州市汉融软件有限公司 一种基于预加载的网络电视频道快速切换方法及系统
US11829277B2 (en) * 2019-03-21 2023-11-28 Dish Network Technologies India Private Limited Systems and methods for remote debugging

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684259B1 (en) * 1995-10-11 2004-01-27 Citrix Systems, Inc. Method for providing user global object name space in a multi-user operating system
US6301339B1 (en) * 1995-11-15 2001-10-09 Data Race, Inc. System and method for providing a remote user with a virtual presence to an office
US5862348A (en) * 1996-02-09 1999-01-19 Citrix Systems, Inc. Method and apparatus for connecting a client node to a server node based on load levels
US5923842A (en) * 1997-03-06 1999-07-13 Citrix Systems, Inc. Method and apparatus for simultaneously providing anonymous user login for multiple users
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6584493B1 (en) * 1999-03-02 2003-06-24 Microsoft Corporation Multiparty conferencing and collaboration system utilizing a per-host model command, control and communication structure
US7260624B2 (en) * 2002-09-20 2007-08-21 American Megatrends, Inc. Systems and methods for establishing interaction between a local computer and a remote computer
US20040068572A1 (en) * 2002-10-04 2004-04-08 Zhixue Wu Methods and systems for communicating over a client-server network
US7594018B2 (en) * 2003-10-10 2009-09-22 Citrix Systems, Inc. Methods and apparatus for providing access to persistent application sessions

Also Published As

Publication number Publication date
US20050267779A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
US20050267779A1 (en) Method, apparatus, and medium for servicing clients in remote areas
CN107534704B (zh) 一种经由通信网络连接的信息处理方法、设备和介质
US5652866A (en) Collaborative working method and system for a telephone to interface with a collaborative working application
RU2438169C2 (ru) Подсистемно-контекстная архитектура для комнат для работы в группе в виртуальном пространстве
US5539886A (en) Call management in a collaborative working network
US7720888B2 (en) Contents conversion communication terminal, server system, and method
CN106851174B (zh) 虚拟会议室创建方法及装置、召开视频会议的方法及装置
KR101201191B1 (ko) 애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법
EP2756667B1 (en) Electronic tool and methods for meetings
US8924502B2 (en) System, method and computer program product for updating a user session in a mach-derived system environment
US10050800B2 (en) Electronic tool and methods for meetings for providing connection to a communications network
JP2004171526A (ja) 遠隔会議システム及び遠隔会議支援方法、並びにコンピュータ・プログラム
CN111045781B (zh) 一种云平台创建镜像的方法、装置和存储介质
US20180323988A1 (en) Electronic tool and methods for recording a meeting
WO2007005960A2 (en) Using interface for starting presentations in a meeting
JP2023522123A (ja) 情報共有方法、装置、電子機器及び記憶媒体
JP2014203461A (ja) デスクトップ共有システム及びその方法
JP2009535994A (ja) 分散システムにおける帯域適応n対n通信
CN112748893A (zh) 无线投屏方法、装置及系统
KR101674616B1 (ko) 가상화 기반 원격 화상 회의 제공 시스템
CN103179102A (zh) 一种桌面虚拟化方法、设备及系统
JP2002024154A (ja) プログラム実行方法およびプログラム実行装置
US11909787B1 (en) Videoconference content sharing for public switched telephone network participants
KR100248264B1 (ko) 상호 참여형 멀티미디어 응용 개발 환경에서의 세션 관리 시스템 및 그 방법
KR100186959B1 (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