KR101645002B1 - 원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법 - Google Patents

원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법 Download PDF

Info

Publication number
KR101645002B1
KR101645002B1 KR1020090056189A KR20090056189A KR101645002B1 KR 101645002 B1 KR101645002 B1 KR 101645002B1 KR 1020090056189 A KR1020090056189 A KR 1020090056189A KR 20090056189 A KR20090056189 A KR 20090056189A KR 101645002 B1 KR101645002 B1 KR 101645002B1
Authority
KR
South Korea
Prior art keywords
interface
server
client
virtual
input
Prior art date
Application number
KR1020090056189A
Other languages
English (en)
Other versions
KR20100137922A (ko
Inventor
박재민
김병완
장경아
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090056189A priority Critical patent/KR101645002B1/ko
Publication of KR20100137922A publication Critical patent/KR20100137922A/ko
Application granted granted Critical
Publication of KR101645002B1 publication Critical patent/KR101645002B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/196Specific adaptations of the file system to access devices and non-file objects via standard file system access operations, e.g. pseudo file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법이 개시된다. 보다 구체적으로, 소정의 가상 인터페이스를 활용하여 클라이언트와 서버에 구비된 인터페이스를 보완하고 원격 어플리케이션을 분산 처리하는 중개 장치, 시스템, 및 가상 인터페이스 제공 방법이 개시된다. 본 발명의 일 양상에 의하면, 인터페이스의 종류에 관계 없이 원격 컴퓨팅을 수행할 수 있고 서버의 자원을 효율적으로 활용할 수 있기 때문에 원격 컴퓨팅의 성능을 극대화 시키는 것이 가능하다.
원격 컴퓨팅(Remote Computing), 가상 인터페이스(Virtual Interface), 분산 처리(Distributed Processing), 컴퓨팅 자원(Computing Resource), 네트워크(Network)

Description

원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법{Mediator, System, and Method for providing virtual interface in behalf of remote computing}
원격 컴퓨팅(remote computing) 기술과 관련된다.
원격 컴퓨팅(remote computing)은 서버에 computing 파워를 집중하는 네트워크 클라이언트-서버 모델을 말한다. 원격 컴퓨팅에서 클라이언트는 사용자 입력의 수신/전달 및 실행 결과의 출력을 담당하고, 서버는 입력의 처리 및 어플리케이션 실행을 담당한다.
원격 컴퓨팅 모델은 개인용 컴퓨터와 서버용 컴퓨터로 구성되는 것이 통상적이었다. 그러나 최근 들어 단말 장치가 Smart해지면서, 다양한 단말 장치로 구성되는 원격 컴퓨팅 모델도 등장하게 되었다.
그런데 이러한 단말 장치는 고유의 인터페이스를 가지기 때문에, 통상적인 원격 컴퓨팅 모델은 인터페이스가 다른 여러 단말 장치의 입력을 원격 처리용 서버에 전달하는 데 한계가 있다.
즉, 원격 컴퓨팅을 위해서는 클라이언트와 서버가 동일한 인터페이스를 통해 통신 채널을 형성하여야 하는데, 다양한 단말 장치로 원격 컴퓨팅 환경을 구성하면 각 단말 장치 간 동일한 인터페이스를 모두 보장할 수가 없다. 예를 들어, 클라이언트 기기가 특정한 센서 값을 서버 기기로 전달하고 싶어도 서버에 이를 받을 수 있는 인터페이스가 없는 경우 서버의 어플리케이션은 센서 값을 이용할 수가 없다.
또한, 단말 장치 자체가 원격 처리용 서버로 동작하는 경우 컴퓨팅 자원이 매우 제한적이기 때문에 충분한 원격 컴퓨팅의 성능을 기대하기가 힘들다. 예컨대, 서버용 단말 장치의 성능이 나쁘거나 부하가 걸린 경우 어플리케이션에게 충분한 자원을 할당할 수가 없어서 전체적인 원격 컴퓨팅 성능을 저하시킬 수 있다.
본 명세서에서는, 가상 인터페이스를 이용하여 클라이언트와 서버의 통신 채널 확보를 보장하고 서버의 컴퓨팅 자원을 효율적으로 활용할 수 있는 원격 컴퓨팅 기술이 개시된다.
보다 구체적으로, 본 발명의 일 양상에 따른 원격 컴퓨팅을 위한 중개 장치는, 가상 인터페이스를 생성하고, 생성된 가상 인터페이스를, 입출력 이벤트를 발생하는 클라이언트 및 입출력 이벤트를 처리하기 위한 서버에게 제공하는 가상 인터페이스 제어부 및 가상 인터페이스를 이용하여 클라이언트와 서버를 연결시키는 통신 채널 형성부를 포함할 수 있다.
또한, 서버의 컴퓨팅 자원이 부족한 경우, 가상 인터페이스를 이용하여 입출력 이벤트를 부분 처리 또는 전부 처리하는 분산 처리부를 더 포함할 수도 있다.
또한, 본 발명의 일 양상에 따른 원격 컴퓨팅을 위한 시스템은, 가상 인터페이스를 생성하고, 생성된 가상 인터페이스를 이용하여 클라이언트와 서버를 원격 컴퓨팅이 가능하도록 연결시키는 중개 장치를 포함할 수 있다.
또한, 전술한 중개 장치는, 서버의 컴퓨팅 자원이 부족한 경우, 가상 인터페이스를 이용하여 입출력 이벤트를 부분 처리 또는 전부 처리하는 것이 가능하다.
또한, 본 발명의 일 양상에 따른 원격 컴퓨팅을 위한 가상 인터페이스 제공 방법은, 가상 인터페이스를 생성하는 단계, 생성된 가상 인터페이스를, 입출력 이 벤트를 발생하는 클라이언트 및 입출력 이벤트를 처리하기 위한 서버에게 제공하는 단계, 및 가상 인터페이스를 이용하여 클라이언트와 서버를 연결시키는 단계를 포함할 수 있다.
또한, 전술한 방법은, 서버의 컴퓨팅 자원이 부족한 경우, 가상 인터페이스를 이용하여 입출력 이벤트를 부분 처리 또는 전부 처리하는 단계를 더 포함할 수도 있다.
한편, 본 발명의 일 양상에 따라, 가상 인터페이스는 클라이언트로부터 입출력 이벤트를 수신하는 클라이언트 인터페이스, 수신된 입출력 이벤트를 서버가 수신할 수 있도록 변환하는 중개 인터페이스, 및 변환된 입출력 이벤트를 서버의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스를 포함할 수 있다.
또한, 본 발명의 일 양상에 따라, 가상 인터페이스는 통신 프로토콜, 미들 웨어, 응용 서비스 프로그램, 네트워크 드라이버, 로컬 디바이스 드라이버, 가상 디바이스 드라이버 등을 포함할 수 있다.
또한, 본 발명의 일 양상에 따라, 가상 인터페이스는 클라이언트의 인터페이스에 대응되는 인터페이스가 서버에 존재하는 경우에 존재하는 인터페이스를 보완하기 위해 생성되거나, 클라이언트의 인터페이스에 대응되는 인터페이스가 서버에 존재하지 아니하는 경우 존재하지 아니하는 인터페이스를 보완하기 위해 생성되는 것이 가능하다.
개시된 내용에 따르면, 가상 인터페이스를 기반으로 클라이언트-중개 장치- 서버 간 통신 채널이 형성되기 때문에 클라이언트 및 서버가 원래 보유하고 있던 인터페이스의 종류에 관계 없이 원격 컴퓨팅을 수행할 수 있고 서버의 컴퓨팅 자원이 부족한 경우 중개 장치의 컴퓨팅 자원을 적절하게 활용하는 것이 가능해진다.
이하, 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 예를 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 원격 컴퓨팅(remote computing) 시스템을 도시한다.
도 1에서, 본 실시 예에 따른 원격 컴퓨팅 시스템(100)은 클라이언트(101), 서버(102), 및 중개 장치(103)를 포함할 수 있다.
클라이언트(101)는 입출력 이벤트를 생성한다. 입출력 이벤트는 클라이언트(101)의 로컬 장치(예컨대, 마우스, 키보드, 디스플레이 장치, 센서 등)에 대한 입출력 정보가 될 수 있다.
서버(102)는 클라이언트(101)의 입출력 이벤트를 원격으로 처리한다. 그리고 처리 결과를 클라이언트(101)로 전송한다.
따라서 어떤 프로그램이나 데이터의 처리는 실제로 서버(102)에서 이루어지지만 마치 클라이언트(101)가 이를 수행하는 것처럼 보이게 하는 원격 컴퓨팅을 구현하는 것이 가능하다.
이러한 원격 컴퓨팅을 위해서는, 클라이언트(101)와 서버(102) 사이에 통신 채널이 형성되어야 한다. 그리고 통신 채널이 형성되기 위해서는 클라이언트(101) 와 서버(102)가 동일한 인터페이스를 가지고 있어야 한다. 그러나 전술한 바와 같이 원격 컴퓨팅 시스템을 구성하는 단말 또는 서버의 종류가 다양해짐에 따라 클라이언트(101)와 서버(102)는 다양한 종류의 인터페이스가 구비될 수 있으며, 각각의 인터페이스가 일치하지 아니할 수도 있다.
예를 들어, 클라이언트(101)가 동작 감지 센서가 구비된 휴대폰이고 서버(102)가 일반적인 PC인 경우, 동작 감지 센서로부터 발생된 입출력 이벤트를 수신하기 위한 인터페이스를 일반적인 PC가 지원하지 아니할 수가 있다. 이러한 경우, 동작 감지 센서의 입출력 이벤트를 일반적인 PC가 수신 및 처리를 할 수가 없기 때문에 원활한 원격 컴퓨팅을 기대할 수가 없다.
본 실시 예에서, 클라이언트(101)와 서버(102) 사이의 통신 채널은 중개 장치(103)를 경유하여 형성되거나 중개 장치(103)를 경유하지 않고 직접 형성되는 것이 가능하다.
중개 장치(103)를 경유하지 않는 경우는, 클라이언트(101)와 서버(102)의 일치하는 인터페이스를 이용하여 통신 채널을 형성하는 경우가 될 수 있다. 중개 장치(103)를 경유하는 경우는, 중개 장치(103)가 제공하는 가상 인터페이스를 이용하여 통신 채널을 형성하는 경우가 될 수 있다.
본 실시 예에서, 중개 장치(103)는 클라이언트(101)와 서버(102) 간의 인터페이스를 보완하는 가상 인터페이스를 이용하여 원격 컴퓨팅 및 클라우드 컴퓨팅이 실현되도록 하는 것이 가능하다.
예를 들어, 중개 장치(103)는 가상 인터페이스를 통해 클라이언트(101) 또는 서버(102)에 구비된 인터페이스의 종류에 관계없이 클라이언트(101)와 서버(102)를 통신 가능하게 연결시키는 것이 가능하다. 또한 인터페이스의 종류에 관계없이 클라이언트(101)와 서버(102)가 통신 가능하게 연결되기 때문에, 클라이언트(101)의 입출력 이벤트를 중개 장치(103)와 서버(102)가 함께 분산 처리를 하는 것도 가능하다.
본 실시 예에서, 클라이언트(101) 및 서버(102)는 유/무선 네트워크에 접속 가능한 각종 단말이 될 수 있다. 이러한 단말의 예로는 휴대폰, PDA, PMP, MP3 플레이어, PC, DTV 등이 될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 중개 장치(103)의 구성을 도시한다.
도 2에서, 중개 장치(103)는 가상 인터페이스 제어부(201), 통신 채널 형성부(202), 분산 처리부(203), 및 인터페이스 목록 저장부(204)를 포함할 수 있다.
가상 인터페이스 제어부(201)는 가상 인터페이스를 생성한다. 가상 인터페이스는 클라이언트 인터페이스, 중개 인터페이스, 및 서버 인터페이스를 포함할 수 있다. 클라이언트 인터페이스는 클라이언트(101)로부터 입출력 이벤트를 수신하는 것이 가능하다. 중개 인터페이스는 수신된 입출력 이벤트를 서버(102)가 수신할 수 있도록 변환하는 것이 가능하다. 서버 인터페이스는 변환된 입출력 이벤트를 서버(102)의 가상 로컬 장치에서 발생된 것으로 인식시키는 것이 가능하다.
가상 인터페이스 제어부(201)는 생성된 가상 인터페이스를 클라이언트(101) 및 서버(102)로 제공한다. 예를 들어, 클라이언트 인터페이스를 클라이언트(101)로 배포하고, 서버 인터페이스를 서버(102)로 배포하는 것이 가능하다.
가상 인터페이스 제어부(201)가 가상 인터페이스를 생성할 때, 인터페이스 목록 저장부(204)에 저장된 인터페이스 목록을 참조할 수 있다. 인터페이스 목록 저장부(204)는 클라이언트(101) 및 서버(102)에 구비된 인터페이스의 종류를 목록 형태로 저장하는 것이 가능하다.
가상 인터페이스 제어부(201)는 저장된 인터페이스 목록을 참조하여 일치하지 아니하는 인터페이스를 보완하기 위한 제 1 가상 인터페이스 및 일치하는 인터페이스를 보완하기 위한 제 2 가상 인터페이스를 생성하는 것이 가능하다. 예컨대, 제 1 가상 인터페이스는 서로 지원하지 아니하는 인터페이스 사이에서 가교 역할을 담당하는 것이 가능하다. 제 2 가상 인터페이스는 일치하는 인터페이스가 있더라도 서버(102)의 컴퓨팅 자원이 부족할 경우 분산 처리 또는 클라우드 컴퓨팅을 위해 사용될 수 있다.
통신 채널 형성부(202)는 가상 인터페이스를 이용하여, 클라이언트(101)와 서버(102)를 원격 컴퓨팅이 가능하도록 연결시킨다. 예를 들어, 클라이언트(101)와 서버(102) 간의 인터페이스가 일치하지 아니하는 경우 제 1 가상 인터페이스를 이용하여 통신 채널을 형성하는 것이 가능하다. 또한 클라이언트(101)와 서버(102) 간의 인터페이스가 일치하더라도 제 2 가상 인터페이스를 이용하여 통신 채널을 형성하는 것이 가능하다.
분산 처리부(203)는 서버(102)의 컴퓨팅 자원이 부족한 경우, 가상 인터페이스를 이용하여 입출력 이벤트를 부분 처리 또는 전부 처리한다. 예를 들어, 클라이언트(101)와 서버(102) 간의 인터페이스가 일치하여 본 실시 예에 따른 중개 장 치(103)를 경유하지 않고 원격 컴퓨팅을 수행하는 경우, 원격 컴퓨팅을 위한 컴퓨팅 자원이 부족하다면 제 2 가상 인터페이스를 이용하여 서버(102)의 입출력 이벤트 처리를 일부 또는 전부 위임 받는 것이 가능하다.
도 3은 본 발명의 일 실시 예에 따른 가상 인터페이스의 개념을 도시한다.
도 3에서, 참조번호 310은 클라이언트(101)에 구비된 인터페이스의 종류를 나타낸다. 그리고 참조번호 320은 서버(102)에 구비된 인터페이스의 종류를 나타낸다. 그리고 참조번호 300은 본 실시 예에 따른 가상 인터페이스를 나타낸다.
클라이언트(101)의 인터페이스(310) 및 서버(102)의 인터페이스(320)는, 클라이언트(101) 및 서버(102)가 중개 장치(103)에 접속하여 자신의 인터페이스를 등록하면, 인터페이스 목록 저장부(204)에 각각의 인터페이스 종류가 저장되는 것이 가능하다.
도 3에서, 인터페이스 ①과 인터페이스 ⓐ는 서로 일치하고, 인터페이스 ②, ③, ⓑ, ⓒ는 서로 일치하는 인터페이스가 없다고 가정한다. 예컨대, 클라이언트(101)에서 인터페이스 ①을 통해 입출력 이벤트가 발생한 경우, 서버(102)는 인터페이스 ⓐ를 통해 입출력 이벤트를 수신 및 처리할 수 있으나, 클라이언트(101)에서 인터페이스 ②를 통해 입출력 이벤트가 발생한 경우, 서버(102)에 인터페이스 ②에 대응되는 인터페이스가 없어서 입출력 이벤트를 처리할 수 없음을 알 수 있다.
클라이언트(101)에서 어떠한 인터페이스를 통해 입출력 이벤트가 발생하는지는 클라이언트(101)에 구비된 로컬 장치에 따라 달라질 수 있다. 예를 들어, 인터 페이스 ①은 마우스와 같은 포인팅 장치의 입출력을 처리하기 위한 인터페이스가 될 수 있고, 인터페이스 ②는 자이로 센서와 같은 센서 장치의 입출력을 처리하기 위한 인터페이스가 될 수 있다.
도시된 것과 같이, 서버(102)에 인터페이스 ②에 대응되는 인터페이스가 없는 경우, 가상 인터페이스 제어부(201)는 인터페이스 ②와 인터페이스 ⓑ를 통해 통신 채널이 형성되도록 가상 인터페이스 ②` 및 ⓑ`을 생성하는 것이 가능하다. 또한 인터페이스 ②를 통해 통신 채널이 형성되도록 가상 인터페이스 ②`, ⓓ`, 및 ⓓ를 생성하는 것도 가능하다. 나아가, 서버(102)에 인터페이스 ①에 대응되는 인터페이스 ⓐ가 존재하는 경우에도, 목적에 따라 가상 인터페이스 ①` 및 ⓐ`를 생성하는 것도 가능하다.
이때, 가상 인터페이스(300)를 설명하기 위해 사용된 ①`, ②`, ⓐ`, ⓑ`, ⓓ`, 및 ⓓ 등은 통신 프로토콜, 네트워크 드라이버, 미들웨어, 응용 서비스 프로그램, 로컬 디바이스 드라이버, 가상 디바이스 드라이버 등이 될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 가상 인터페이스(300)의 구조를 도시한다.
도 4를 참조하면, 가상 인터페이스(300)는 클라이언트(101)로부터 상기 입출력 이벤트를 수신하는 클라이언트 인터페이스(301), 수신된 입출력 이벤트를 서버(102)가 수신할 수 있도록 변환하는 중개 인터페이스(302), 및 변환된 입출력 이벤트를 서버(102)의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스(303)를 포함할 수 있다. 이때, 클라이언트 인터페이스(301)는 클라이언트(101) 에 배포될 수 있고 서버 인터페이스(303)는 서버(102)에 배포될 수 있다.
클라이언트 인터페이스(301)는 중개 인터페이스(302)와의 통신을 위한 제1 커뮤니케이터(402) 및 클라이언트의 로컬 장치의 입출력 이벤트를 제어하는 I/O 컨트롤러(401) 중 적어도 어느 하나를 포함하여 구성되는 것이 가능하다.
예컨대, I/O 컨트롤러(401)는 클라이언트(101)의 로컬 장치의 입출력 이벤트를 제 1 커뮤니케이터(402)로 전달하는 응용 프로그램 또는 미들웨어가 될 수 있다. 그리고 제 1 커뮤니케이터(402)는 중개 인터페이스(302)와 통신을 수행하는 네트워크 드라이버가 될 수 있다.
중개 인터페이스(302)는 클라이언트 인터페이스(301) 및 서버 인터페이스(303)와의 통신을 위한 제 2 커뮤니케이터(404) 및 수신된 입출력 이벤트를 변환하는 어댑터(405) 중 적어도 어느 하나를 포함하여 구성되는 것이 가능하다.
예컨대, 어댑터(405)는 클라이언트(101)의 입출력 이벤트를 서버(102)가 수신할 수 있도록 적절하게 변경해주는 응용 프로그램 또는 미들웨어가 될 수 있다. 그리고 제 2 커뮤니케이터(404)는 클라이언트 인터페이스(301) 및 서버 인터페이스(302)와 통신을 수행하는 네트워크 드라이버가 될 수 있다.
서버 인터페이스(303)는 중개 인터페이스(302)와의 통신을 위한 제 3 커뮤니케이터(406) 및 가상 로컬 장치를 생성하는 가상 디바이스 컨트롤러(405) 중 적어도 어느 하나를 포함하여 구성되는 것이 가능하다.
예컨대, 가상 디바이스 컨트롤러(405)는 서버(102) 또는 서버(102)의 응용 프로그램이 클라이언트(101)의 입출력 이벤트를 마치 서버(102)의 로컬 장치에서 생성된 입출력 이벤트인 것으로 인식하도록 하는 가상 디바이스 드라이버가 될 수 있다. 그리고 제 3 커뮤니케이터(406)는 중개 인터페이스(302)와 통신을 수행하는 네트워크 드라이버가 될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 가상 인터페이스 제공 방법을 도시한다. 도 5를 참조하여 본 실시 예에 따른 가상 인터페이스 제공 방법을 설명하면 다음과 같다.
먼저, 인터페이스 목록 저장부(204)가 클라이언트(101) 및 서버(102)에 구비된 인터페이스 목록을 수신하고 이를 저장한다(S501). 저장된 인터페이스 목록에는 서로 일치하는 인터페이스와 그러하지 아니한 인터페이스가 존재할 수 있다.
그리고, 가상 인터페이스 제어부(201)가 저장된 인터페이스 목록을 참조하여 가상 인터페이스를 생성한다(S502). 이때의 가상 인터페이스는 일치하지 아니하는 인터페이스들을 보완하기 위한 제 1 가상 인터페이스가 될 수 있다. 또한 가상 인터페이스는 클라이언트(101)로부터 입출력 이벤트를 수신하는 클라이언트 인터페이스(301), 수신된 입출력 이벤트를 서버(102)가 수신할 수 있도록 변환하는 중개 인터페이스(302), 및 변환된 입출력 이벤트를 서버(102)의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스(303)를 포함할 수 있다.
그리고, 가상 인터페이스 제어부(201)가 생성된 가상 인터페이스를 클라이언트(101) 및 서버(102)에 제공한다(S503). 예컨대, 클라이언트 인터페이스(301)를 클라이언트(101)로 제공하고 서버 인터페이스(303)를 서버(102)로 제공하는 것이 가능하다.
그리고, 통신 채널 형성부(202)가 제공된 가상 인터페이스를 이용하여 통신 채널을 형성한다(S504). 통신 채널은 클라이언트(101)와 중개 장치(103) 간의 통신 채널 및 중개 장치(103)와 서버(102) 간의 통신 채널을 포함할 수 있다. 예를 들어, 통신 채널 형성부(202)가 클라이언트 인터페이스(301)를 이용하여 입출력 이벤트를 수신하고, 중개 인터페이스(302)를 이용하여 수신된 입출력 이벤트를 변환하고, 서버 인터페이스(303)를 이용하여 변환된 입출력 이벤트를 서버(102)로 전송하는 것이 가능하다.
도 6은 본 발명의 일 실시 예에 따른 원격 컴퓨팅 방법을 도시한다. 이것은 도 5에서 설명된 방법을 이용한 원격 컴퓨팅 방법에 일 예가 될 수 있다.
도 6을 참조하면, 클라이언트(101)의 입출력 이벤트를 지원하는 인터페이스가 서버(102)에 존재하지 아니한 경우, 클라이언트(101)는 중개 장치(102)에게 가상 인터페이스를 요청한다(S601).
가상 인터페이스의 요청을 받은 중개 장치(103)는 가상 인터페이스를 생성한다(S602). 그리고 생성된 가상 인터페이스를 클라이언트(101)와 서버(102)에게 제공한다(S603). 이렇게 되면 클라이언트(101)-중개 장치(103)-서버(102) 간에 통신 채널이 형성되는 것이 가능하다.
클라이언트(101)는 가상 인터페이스를 이용하여 형성된 통신 채널을 통해 입출력 이벤트를 서버(102)로 전송한다(S604). 입출력 이벤트를 수신한 서버(102)는 입출력 이벤트를 처리한다(S605). 그리고 처리 결과를 가상 인터페이스를 이용하여 형성된 통신 채널을 통해 클라이언트(101)로 전송한다(S606).
도 6에서, 참조번호 600은 본 실시 예에 따른 가상 인터페이스를 통한 데이터 전송을 나타낸다. 이와 같이 클라이언트(101)와 서버(102) 간의 인터페이스가 일치하지 않는 경우에도 원격으로 클라이언트(101)의 입출력 이벤트를 처리하는 것이 가능하다.
도 6에서는, 클라이언트(101)와 서버(102) 간의 일치하지 아니하는 인터페이스가 존재하는 경우를 예시하였으나, 반드시 이에 한정하는 것은 아니며, 일치하는 인터페이스가 존재하는 경우에도 사용 목적(예컨대, 분산 처리 또는 클라우드 컴퓨팅 등)에 따라 가상 인터페이스를 이용하여 입출력 이벤트를 처리하는 것도 가능하다.
도 7은 본 발명의 다른 실시 예에 따른 가상 인터페이스 제공 방법을 도시한다. 도 7을 참조하여 본 실시 예에 따른 가상 인터페이스 제공 방법을 설명하면 다음과 같다.
먼저, 통신 채널 형성부(202)가 클라이언트(101) 또는 서버(102)로부터 분산 처리 요청을 수신한다(S701). 분산 처리 요청은 클라이언트(101)의 입출력 이벤트를 처리 하기 위한 서버(102)의 컴퓨팅 자원이 부족한 경우에 발생될 수 있다.
분산 처리 요청이 수신되면, 가상 인터페이스 제어부(201)가 가상 인터페이스를 생성한다(S702). 여기서 가상 인터페이스는 저장된 인터페이스 목록에서 일치하는 인터페이스를 보완하기 위한 제 2 가상 인터페이스가 될 수 있다. 즉 제 2 가상 인터페이스가 없더라도 클라이언트(101)와 서버(102)는 자신이 보유한 인터페이스를 통해 통신을 수행할 수 있는 상태이다. 또한 가상 인터페이스는 클라이언 트(101)로부터 입출력 이벤트를 수신하는 클라이언트 인터페이스(301), 수신된 입출력 이벤트를 서버(102)가 수신할 수 있도록 변환하는 중개 인터페이스(302), 및 변환된 입출력 이벤트를 서버(102)의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스(303)를 포함할 수 있다.
그리고, 가상 인터페이스 제어부(201)는 생성된 가상 인터페이스를 클라이언트(101) 및 서버(102)로 제공한다(S703). 예컨대, 클라이언트 인터페이스(301)를 클라이언트(101)로 제공하고 서버 인터페이스(303)를 서버(102)로 제공하는 것이 가능하다.
그리고, 통신 채널 형성부(202)가 제공된 가상 인터페이스를 이용하여 통신 채널을 형성한다(S704). 통신 채널은 클라이언트(101)와 중개 장치(103) 간의 통신 채널 및 중개 장치(103)와 서버(102) 간의 통신 채널을 포함할 수 있다.
그리고, 분산 처리부(203)가 수신된 분산 처리 요청에 따라 서버(102)의 입출력 이벤트 처리 로드의 전부 또는 일부를 위임 받고 분산 처리를 한다(S705).
도 8은 본 발명의 다른 실시 예에 따른 원격 컴퓨팅 방법을 도시한다. 이것은 도 7에서 설명된 방법을 이용한 원격 컴퓨팅 방법에 일 예가 될 수 있다.
도 8을 참조하면, 처음에 클라이언트(101)와 서버(102)는 일치하는 인터페이스를 이용하여 통신을 수행하고 있는 상태이다. 즉 클라이언트(101)는 발생된 입출력 이벤트를 서버(102)로 전송한다(S801).
서버(102)는 수신된 입출력 이벤트를 처리하고(S802), 입출력 이벤트 처리를 위한 컴퓨팅 자원이 부족한지 여부를 판단한다(S803). 컴퓨팅 자원이 부족한 경우, 서버(102)는 분산 처리 요청을 중개 장치(103)로 전송한다(S804). 이때 서버(102)가 컴퓨팅 자원의 부족을 클라이언트(101)에게 알리면 클라이언트(101)가 중개 장치(103)로 분산 처리 요청을 할 수도 있다.
분산 처리 요청을 수신한 중개 장치(103)는 가상 인터페이스를 생성한다(S804). 그리고 생성된 가상 인터페이스를 클라이언트(101)와 서버(102)에게 제공한다(S805). 이렇게 되면 클라이언트(101)-중개 장치(103)-서버(102) 간에 통신 채널이 형성되는 것이 가능하다.
이어서, 중개 장치(103)는 가상 인터페이스를 이용하여 형성된 통신 채널을 통해 서버(102)로부터 입출력 이벤트의 전부 또는 일부를 수신한다(S806). 그리고 수신된 입출력 이벤트의 전부 또는 일부를 처리한다(S807). 그리고 그 처리 결과를 가상 인터페이스를 이용하여 형성된 통신 채널을 통해 클라이언트(101)로 전송한다(S808).
도 8에서, 참조번호 800은 본 실시 예에 따른 가상 인터페이스를 통한 데이터 전송을 나타낸다. 이와 같이 클라이언트(101)와 서버(102) 간에 일치하는 인터페이스가 있는 경우에도 분산 처리를 위해 가상 인터페이스가 이용되는 것이 가능하다.
도 8에서는 일치하는 인터페이스가 있는 경우에 생성되는 가상 인터페이스를 예시하였으나, 반드시 이에 한정하는 것은 아니며 불일치하는 인터페이스를 보완하기 위한 가상 인터페이스가 이용되는 경우에도 분산 처리가 필요하다면 생성된 가상 인터페이스를 이용하여 중개 장치(103)의 컴퓨팅 자원을 활용하는 것도 가능하 다.
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명의 실시를 위한 구체적인 예를 살펴보았다. 전술한 실시 예들은 본 발명을 예시적으로 설명하기 위한 것으로 본 발명의 권리범위가 특정 실시 예에 한정되지 아니할 것이다.
도 1은 본 발명의 일 실시 예에 따른 원격 컴퓨팅 시스템을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 중개 장치를 도시한다.
도 3은 본 발명의 일 실시 예에 따른 가상 인터페이스의 개념을 도시한다.
도 4는 본 발명의 일 실시 예에 따른 가상 인터페이스의 구조를 도시한다.
도 5는 본 발명의 일 실시 예에 따른 가상 인터페이스 제공 방법을 도시한다.
도 6은 본 발명의 일 실시 예에 따른 원격 컴퓨팅 방법을 도시한다.
도 7은 본 발명의 다른 실시 예에 따른 가상 인터페이스 제공 방법을 도시한다.
도 8은 본 발명의 다른 실시 예에 따른 원격 컴퓨팅 방법을 도시한다.

Claims (13)

  1. 가상 인터페이스를 생성하고, 상기 생성된 가상 인터페이스를, 입출력 이벤트를 발생하는 클라이언트 및 상기 입출력 이벤트를 처리하기 위한 서버에게 제공하는 가상 인터페이스 제어부; 및
    상기 가상 인터페이스를 이용하여 상기 클라이언트와 상기 서버를 연결시키는 통신 채널 형성부; 를 포함하고,
    상기 가상 인터페이스 제어부는,
    상기 클라이언트에 구비된 인터페이스와 상기 서버에 구비된 인터페이스가 일치하지 아니하는 경우, 상기 일치하지 아니하는 인터페이스를 보완하기 위한 제 1 가상 인터페이스를 생성하는 원격 컴퓨팅을 위한 중개 장치.
  2. 제 1 항에 있어서,
    상기 서버의 컴퓨팅 자원이 부족한 경우, 상기 가상 인터페이스를 이용하여 상기 입출력 이벤트를 부분 처리 또는 전부 처리하는 분산 처리부; 를 더 포함하는 원격 컴퓨팅을 위한 중개 장치.
  3. 제 1 항에 있어서,
    상기 가상 인터페이스는 상기 클라이언트로부터 상기 입출력 이벤트를 수신하는 클라이언트 인터페이스, 상기 수신된 입출력 이벤트를 상기 서버가 수신할 수 있도록 변환하는 중개 인터페이스, 및 상기 변환된 입출력 이벤트를 상기 서버의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스를 포함하는 원격 컴퓨팅을 위한 중개 장치.
  4. 제 3 항에 있어서,
    상기 클라이언트 인터페이스는 상기 클라이언트에게 제공되며, 상기 중개 인터페이스와의 통신을 위한 커뮤니케이터 및 상기 클라이언트의 로컬 장치의 입출력 이벤트를 제어하는 I/O 컨트롤러 중 적어도 어느 하나를 포함하는 원격 컴퓨팅을 위한 중개 장치.
  5. 제 3 항에 있어서,
    상기 중개 인터페이스는 상기 클라이언트 인터페이스 및 상기 서버 인터페이스와의 통신을 위한 커뮤니케이터 및 상기 수신된 입출력 이벤트를 변환하는 어댑터 중 적어도 어느 하나를 포함하는 원격 컴퓨팅을 위한 중개 장치.
  6. 제 3 항에 있어서,
    상기 서버 인터페이스는 상기 서버에게 제공되며, 상기 중개 인터페이스와의 통신을 위한 커뮤니케이터 및 상기 가상 로컬 장치를 생성하는 가상 디바이스 컨트롤러 중 적어도 어느 하나를 포함하는 원격 컴퓨팅을 위한 중개 장치.
  7. 클라이언트 및 상기 클라이언트의 입출력 이벤트를 원격으로 처리하기 위한 서버를 구비하는 원격 컴퓨팅 시스템에 있어서,
    상기 클라이언트로부터 입출력 이벤트를 수신하기 위한 클라이언트 인터페이스, 상기 수신된 입출력 이벤트를 상기 서버가 수신할 수 있도록 변환하는 중개 인터페이스, 및 상기 변환된 입출력 이벤트를 상기 서버의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스를 포함하는 가상 인터페이스를 생성하고, 상기 생성된 가상 인터페이스를 이용하여 상기 클라이언트와 상기 서버를 원격 컴퓨팅이 가능하도록 연결시키는 중개 장치; 를 포함하고,
    상기 중개 장치는,
    상기 클라이언트에 구비된 인터페이스와 상기 서버에 구비된 인터페이스가 일치하지 아니하는 경우, 상기 일치하지 아니하는 인터페이스를 보완하기 위한 제 1 가상 인터페이스를 생성하는 원격 컴퓨팅 시스템.
  8. 제 7 항에 있어서,
    상기 중개 장치는, 상기 서버의 컴퓨팅 자원이 부족한 경우, 상기 가상 인터페이스를 이용하여 상기 입출력 이벤트를 부분 처리 또는 전부 처리하는 원격 컴퓨팅 시스템.
  9. 가상 인터페이스를 생성하는 단계;
    상기 생성된 가상 인터페이스를, 입출력 이벤트를 발생하는 클라이언트 및 상기 입출력 이벤트를 처리하기 위한 서버에게 제공하는 단계; 및
    상기 가상 인터페이스를 이용하여 상기 클라이언트와 상기 서버를 연결시키는 단계; 를 포함하고,
    상기 가상 인터페이스를 생성하는 단계는,
    상기 클라이언트에 구비된 인터페이스와 상기 서버에 구비된 인터페이스가 일치하지 아니하는 경우, 상기 일치하지 아니하는 인터페이스를 보완하기 위한 제 1 가상 인터페이스를 생성하는 과정을 포함하는 원격 컴퓨팅을 위한 가상 인터페이스 제공 방법.
  10. 제 9 항에 있어서,
    상기 서버의 컴퓨팅 자원이 부족한 경우, 상기 가상 인터페이스를 이용하여 상기 입출력 이벤트를 부분 처리 또는 전부 처리하는 단계; 를 더 포함하는 원격 컴퓨팅을 위한 가상 인터페이스 제공 방법.
  11. 제 9 항에 있어서,
    상기 가상 인터페이스는 상기 클라이언트로부터 상기 입출력 이벤트를 수신하는 클라이언트 인터페이스, 상기 수신된 입출력 이벤트를 상기 서버가 수신할 수 있도록 변환하는 중개 인터페이스, 및 상기 변환된 입출력 이벤트를 상기 서버의 가상 로컬 장치에서 발생된 것으로 인식시키는 서버 인터페이스를 포함하는 원격 컴퓨팅을 위한 가상 인터페이스 제공 방법.
  12. 삭제
  13. 제 9 항에 있어서,
    상기 가상 인터페이스를 생성하는 단계는,
    상기 서버의 컴퓨팅 자원 부족으로 인한 분산 처리 요청에 따라 상기 클라이언트 및 상기 서버에 구비된 일치하는 인터페이스를 보완하기 위한 제 2 가상 인터페이스를 생성하는 과정을 포함하는 원격 컴퓨팅을 위한 가상 인터페이스 제공 방 법.
KR1020090056189A 2009-06-23 2009-06-23 원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법 KR101645002B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090056189A KR101645002B1 (ko) 2009-06-23 2009-06-23 원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090056189A KR101645002B1 (ko) 2009-06-23 2009-06-23 원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법

Publications (2)

Publication Number Publication Date
KR20100137922A KR20100137922A (ko) 2010-12-31
KR101645002B1 true KR101645002B1 (ko) 2016-08-02

Family

ID=43511451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090056189A KR101645002B1 (ko) 2009-06-23 2009-06-23 원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법

Country Status (1)

Country Link
KR (1) KR101645002B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100640826B1 (ko) * 2005-02-28 2006-11-06 엘지전자 주식회사 홈 네트워크 장치 제어 방법
US8918530B2 (en) * 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
KR100837434B1 (ko) * 2006-09-29 2008-06-12 삼성전자주식회사 클라이언트와 서버 간의 인터페이스를 수행하는 매개장치및 그의 인터페이스방법

Also Published As

Publication number Publication date
KR20100137922A (ko) 2010-12-31

Similar Documents

Publication Publication Date Title
KR101007356B1 (ko) 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법
CN110114760B (zh) Rpc变换处理系统以及rpc变换方法
CN102404384A (zh) 统一重新连接至多个远程服务器
US20130091502A1 (en) System and method of providing virtual machine using device cloud
KR20210038862A (ko) 미니 프로그램 데이터 획득 방법, 장치, 기기 및 저장 매체
CN111625738A (zh) App目标页面的唤起方法、装置、设备和存储介质
KR20110050590A (ko) 컴퓨터 네트워크에서 이용자 디바이스들 사이의 리소스 공유를 위한 방법 및 장치
JP7081014B2 (ja) インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
KR20220098323A (ko) 단말을 제어하는 방법, 단말을 제어하는 장치, 전자장비, 저장매체 및 컴퓨터 프로그램
JP7367287B2 (ja) 変更タスクを実行する方法、装置、電子機器、及び読み取り可能な記憶媒体
JP4353036B2 (ja) リモート接続システム、サーバコンピュータ、リモート接続方法及びプログラム
KR101645002B1 (ko) 원격 컴퓨팅을 위한 중개 장치, 시스템, 및 가상 인터페이스 제공 방법
CN110309462B (zh) 数据展示方法及系统
CN106257889B (zh) 虚拟接口的扩充装置及其网络伺服系统
de AM Macêdo et al. GoThings-An Application-layer Gateway Architecture for the Internet of Things.
Shafiq et al. Autonomous semantic grid: Principles of autonomous decentralized systems for grid computing
US9021117B1 (en) Dynamically selectable transport for kernel driver management
KR101723172B1 (ko) 사물 인터넷 서비스 제공 방법
KR20210040333A (ko) 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램
Nigam et al. Edge Computing: A Paradigm Shift for Delay-Sensitive AI Application
CN116860353B (zh) 数据处理方法、装置、电子设备以及存储介质
Marakana et al. A Smart Android Application with Machine Learning Extension to Operate Computer and IoT Devices
US20220334878A1 (en) Generating a shared virtual resource pool
WO2007132471A1 (en) Tracking mouse locally and microsoft windows connectivity algorithm
CN114661804A (zh) 一种数据处理方法、装置、计算机设备及存储介质

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: 20190619

Year of fee payment: 4