KR101316677B1 - 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 - Google Patents
사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 Download PDFInfo
- Publication number
- KR101316677B1 KR101316677B1 KR1020090126181A KR20090126181A KR101316677B1 KR 101316677 B1 KR101316677 B1 KR 101316677B1 KR 1020090126181 A KR1020090126181 A KR 1020090126181A KR 20090126181 A KR20090126181 A KR 20090126181A KR 101316677 B1 KR101316677 B1 KR 101316677B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- application
- gui
- server
- user interface
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명은 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법에 관한 것이다. 즉, 본 발명은 서버 기반의 소프트웨어 서비스에 있어서, 사용자 인터페이스 가상화를 통해 클라이언트 단에서 GUI 또는 어플리케이션의 그래픽과 관련된 일부 동작을 클라이언트의 시스템 자원을 활용하여 실행하도록 함으로써, 어플리케이션에 대한 클라이언트와 서버의 분할 실행을 통해 서버의 부담을 분산시켜 상대적으로 적은 수의 서버를 이용하여 그래픽 집중적인 어플리케이션 서비스가 가능해지고, 더 많은 수의 클라이언트를 지원할 수 있도록 한다.
GUI, 가상화, 어플리케이션, 분할, 원격, 이벤트
Description
본 발명은 서버(server) 기반의 소프트웨어 서비스(software service) 기술에 관한 것으로, 특히 서버 기반의 소프트웨어 서비스에 있어서 사용자 인터페이스(user interface) 가상화(vitualization)를 통해 클라이언트(client) 단에서 그래픽 사용자 인터페이스(graphic user interface : GUI) 또는 어플리케이션(application)의 그래픽과 관련된 일부 동작을 클라이언트의 시스템 자원(system resource)을 활용하여 실행하도록 함으로써, 어플리케이션에 대한 클라이언트와 서버의 분할 실행을 통해 서버의 부담을 분산시켜 상대적으로 적은 수의 서버를 이용하여 그래픽 집중적인 어플리케이션 서비스가 가능해지고, 더 많은 수의 클라이언트를 지원할 수 있도록 하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-015-03, 과제명: SaaS 기반 이동형 개인 맞춤 사무환경 구축 기술 개발].
지금까지의 서버 기반 소프트웨어 서비스 기술은 PC의 데스크탑(desktop) 자체를 서비스하는 데스크탑 가상화 기술을 말한다. 데스크탑 가상화 기술은 사용자의 데스크탑을 가상화하여 서버에 두고 서버에서 어플리케이션이 실행되고 마우스(mouse)나 키보드(keyboard)에 의한 사용자의 입력 정보가 서버로 전송되며 데스크탑의 어플리케이션 및 콘텐츠에 대한 관리 및 보안을 모두 서비스 형태로 사용자에게 제공되는 형태이다.
이러한 데스크탑 가상화 기술에서 클라이언트로 사용되는 단말기에는 어플리케이션의 설치 및 관리가 요구되지 않으며, 단말기가 고사양일 필요가 없기 때에 씬 클라이언트(thin client)라고 부른다.
위와 같은 데스크탑 가상화 기술은 일반적으로 서버 가상화 기술을 가진 업체들에 의해 기술이 제공되고 있으며, PC 자원 절감, 효율성, 생산성, 관리편의성 측면에 장점으로 점점 확산되고 있는 추세이다.
그러나, 서버에서 어플리케이션을 실행하고 클라이언트에 화면정보만을 전송하는 데스크탑 가상화 기술 등의 종래 서버 기반 어플리케이션 서비스는 사용하는 어플리케이션의 사용자 수에 따라 서버의 부담이 급격히 가중되는 문제점이 있으며, 서버에 집중된 부하로 인하여 고사양의 그래픽을 필요로 하거나 대규모의 사용자 서비스에는 아직 적용되지 않고 있다.
따라서, 본 발명은 서버 기반의 소프트웨어 서비스에 있어서 사용자 인터페이스 가상화를 통해 클라이언트 단에서 GUI 또는 어플리케이션의 그래픽과 관련된 일부 동작을 클라이언트의 시스템 자원을 활용하여 실행하도록 함으로써, 어플리케이션에 대한 클라이언트와 서버의 분할 실행을 통해 서버의 부담을 분산시켜 상대적으로 적은 수의 서버를 이용하여 그래픽 집중적인 어플리케이션 서비스가 가능해지고, 더 많은 수의 클라이언트를 지원할 수 있도록 하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법을 제공하고자 한다.
상술한 본 발명은 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템으로서, 어플리케이션 시작 요청 시 상기 어플리케이션의 실행에 따른 GUI(graphic user interface) 정보를 제공하며, 상기 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우, 상기 이벤트를 처리하여 처리 결과를 제공하는 서버와, 상기 서버로부터 제공되는 GUI 정보를 수신하여 GUI 화면을 디스플레이하고, 상기 GUI를 통한 상기 사용자의 입력 이벤트를 검사하여 상기 서버를 통한 원격 처리가 필요한 이벤트인 경우 상기 서버로 해당 이벤트를 전송하여 원격 처리시키는 클라이언트를 포함한다.
또한, 상기 클라이언트는, 상기 GUI를 통한 사용자의 입력 이벤트가 내부에서 처리 가능한 이벤트인 경우 상기 이벤트를 내부에서 처리하는 것을 특징으로 한다.
또한, 상기 클라이언트는, 상기 GUI 정보를 수신하여 GUI 화면을 디스플레이 처리하는 그래픽 사용자 인터페이스부와, 상기 GUI 화면상에서 입력되는 사용자의 입력 이벤트를 내부에서 처리하거나 상기 서버로 전송하여 원격 처리 요청을 수행하는 클라이언트 GUI 라이브러리부를 포함하는 것을 특징으로 한다.
또한, 상기 서버는, 상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 GUI 정보를 제공하고, 상기 어플리케이션의 가상 그래픽 사용자 인터페이스를 실행하는 어플리케이션 실행 관리부와, 상기 클라이언트로부터 상기 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우 상기 이벤트를 처리하여 해당 이벤트 처리 결과를 제공하고, 처리 결과로 GUI 호출이 발생하면, GUI 호출 정보를 클라이언트로 전송하고, 서버측 가상 그래픽 사용자 인터페이스에서도 함께 처리하도록 하는 서버 GUI 라이브러리부를 포함하는 것을 특징으로 한다.
또한, 상기 서버 GUI 라이브러리부는, 상기 클라이언트로부터 전송되는 이벤트에 대해 상기 가상 그래픽 사용자 인터페이스부로부터 발생한 것으로 처리하여 정상적인 이벤트 처리를 수행하는 것을 특징으로 한다.
또한, 본 발명은 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템으로서, 어플리케이션 시작 요청 시 상기 어플리케이션의 일부 실행 코드와 데이터를 전송하며, 상기 실행 코드에 해당하는 어플리케이션 동작을 제외한 나머지 어플리케이션 동작을 실행시키는 서버와, 상기 실행 코드에 해당하는 어플리케이션의 일부 동작을 내부에서 실행시키며, 상기 나머지 어플리케이션의 동작은 상기 서버로 요청하여 원격 실행시키는 클라이언트를 포함한다.
또한, 상기 클라이언트는, 상기 어플리케이션의 일부 실행 코드와 데이터를 수신하여 실행함으로써 GUI 화면을 디스플레이 처리하는 그래픽 사용자 인터페이스부와, 상기 GUI 화면상에서 입력되는 사용자의 입력 이벤트에 따른 상기 어플리케이션 실행을 상기 어플리케이션의 일부 실행 코드를 이용하여 내부에서 처리하거나 상기 서버로 원격 처리 요청을 수행하는 클라이언트 GUI 라이브러리부를 포함하는 것을 특징으로 한다.
또한, 상기 서버는, 상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 어플리케이션의 일부 실행 코드와 데이터를 제공하고, 상기 어플리케이션의 가상 그래픽 사용자 인터페이스부를 실행하는 어플리케이션 실행 관리부와, 상기 클라이언트로부터 상기 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우 상기 이벤트를 처리하여 해당 이벤트 처리 결과를 제공하고, 처리 결과로 GUI 호출이 발생하면, GUI 호출 정보를 클라이언트로 전송하고, 필요한 경우에는 일부 실행 코드와 데이터를 함께 전송하며, 서버측 가상 그래픽 사용자 인터페이스에서도 함께 처리하도록 하는 서버 GUI 라이브러리부를 포함하는 것을 특징으로 한다.
또한, 상기 서버 GUI 라이브러리부는, 상기 클라이언트로부터 전송되는 이벤트에 대해 상기 가상 그래픽 사용자 인터페이스부로부터 발생한 것으로 처리하여 정상적인 이벤트 처리를 수행하는 것을 특징으로 한다.
또한, 상기 어플리케이션의 일부 실행 코드와 데이터는, 상기 어플리케이션의 그래픽에 관련된 것인 것을 특징으로 한다.
또한, 본 발명은 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방 법으로서, 클라이언트로부터 어플리케이션 시작 요청 시 서버에서 상기 어플리케이션의 실행에 따른 GUI 정보를 생성하여 전송하는 단계와, 상기 클라이언트에서 상기 GUI 정보를 수신하여 GUI 화면을 디스플레이시키는 단계와, 상기 GUI를 통한 사용자의 입력 이벤트가 있는 경우 상기 이벤트가 내부에서 처리 가능한 이벤트인지를 검사하는 단계와, 상기 이벤트가 상기 서버를 통한 원격 처리가 필요한 이벤트인 경우 상기 서버로 해당 이벤트를 전송하여 원격 처리시키는 단계를 포함한다.
또한, 상기 방법은, 상기 이벤트의 원격 처리시 GUI 관련 호출이 발생할 경우, 이와 관련된 정보를 클라이언트 전송시키고, 가상 그래픽 사용자 인터페이스부에서 GUI 관련 호출을 처리하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 검사결과, 상기 GUI를 통한 사용자의 입력 이벤트가 내부에서 처리가 가능한 이벤트인 경우 상기 이벤트를 상기 클라이언트에서 처리하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 GUI 정보를 전송하는 단계는, 상기 서버에서 상기 클라이언트로부터 어플리케이션 시작 요청을 수신하는 단계와, 상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 가상 사용자 인터페이스를 생성하는 단계와, 상기 가상 사용자 인터페이스에서 상기 어플리케이션의 GUI 정보를 상기 클라이언트로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 이벤트의 원격 처리 단계는, 상기 GUI를 통한 사용자의 입력 이벤트를 수신하는 단계와, 상기 사용자의 입력 이벤트가 내부에서 처리 가능한 이벤트가 아닌 경우 상기 이벤트를 상기 서버로 전송하여 원격 처리를 요청하는 단계 와, 상기 서버로부터 상기 이벤트에 대한 처리 결과를 수신하여 처리하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법으로서, 클라이언트로부터 어플리케이션 시작 요청 시 서버에서 상기 어플리케이션의 실행에 따른 상기 어플리케이션의 일부 실행 코드와 데이터를 제공하는 단계와, 상기 클라이언트에서 GUI 정보에 따라 GUI 화면을 디스플레이시키는 단계와, 상기 GUI를 통한 사용자의 입력 이벤트가 있는 경우 상기 이벤트가 내부에서 처리 가능한 이벤트인지를 검사하는 단계와, 상기 이벤트가 상기 서버를 통한 원격 처리가 필요한 이벤트인 경우 상기 서버로 해당 이벤트를 전송하여 원격 처리시키는 단계를 포함한다.
또한, 상기 검사결과, 내부에서 처리 가능한 이벤트인 경우 상기 실행 코드에 해당하는 상기 어플리케이션의 일부 동작을 실행하여 상기 클라이언트에서 상기 이벤트를 처리하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 GUI 정보를 전송하는 단계는, 상기 서버에서 상기 클라이언트로부터 어플리케이션 시작 요청을 수신하는 단계와, 상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 가상 사용자 인터페이스를 생성하는 단계와, 상기 가상 사용자 인터페이스에서 상기 어플리케이션의 실행 코드 일부와 데이터를 생성하여 상기 클라이언트로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 이벤트의 원격 처리 단계는, 상기 GUI를 통한 사용자의 입력 이벤트를 수신하는 단계와, 상기 사용자의 입력 이벤트가 내부에서 처리 가능한 이벤 트가 아닌 경우 상기 이벤트를 상기 서버로 전송하여 원격 처리를 요청하는 단계와, 상기 서버로부터 상기 이벤트에 대한 처리 결과를 수신하여 제공하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 서버 기반의 소프트웨어 서비스에 있어서, 사용자 인터페이스 가상화를 통해 클라이언트 단에서 GUI 또는 어플리케이션의 그래픽과 관련된 일부 동작을 클라이언트의 시스템 자원을 활용하여 실행하도록 한다. 즉, 기존의 어플리케이션을 수정하지 않고, GUI 처리 로직을 분리함으로써, 어플리케이션 실행 시 GUI 부분은 클라이언트에서 동작할 수 있게 하고, 나머지 로직 처리 부분은 서버측에서 동작할 수 있도록 하는 방식으로 클라이언트와 서버간 어플리케이션의 분할 수행이 가능하도록 한다.
이에 따라, 어플리케이션에 대한 클라이언트와 서버의 분할 실행을 통해 서버의 부담을 분산시켜 상대적으로 적은 수의 서버를 이용하여 그래픽 집중적인 어플리케이션 서비스가 가능해지고, 더 많은 수의 클라이언트를 지원할 수 있는 이점이 있다.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
GTK+, Qt, Motif, 마이크로소프트의 Win32 라이브러리 등은 사용자 인터페이스를 만들기 위한 대표적인 그래픽 사용자 인터페이스 툴킷 라이브러리(library)들로 사용자 인터페이스를 표현하고, 마우스, 키보드 이벤트로 파일열기, 프린팅 등과 같은 명령으로 변환하며, 이벤트들의 큐 데이터구조를 관리하는 등의 역할을 수행한다. 또한, OpenGL, DirectX 등과 같은 2D, 3D, 멀티미디어 분야의 그래픽 라이브러리 역시 사용자 인터페이스의 핵심적인 라이브러리들이다.
본 발명에서는 이러한 사용자 인터페이스 툴킷 라이브러리와 그래픽 라이브러리의 일부분을 재작성하여 어플리케이션에 대해 클라이언트와 서버 사이에 분할 실행이 가능하도록 구현한다.
일반적으로, 어플리케이션의 그래픽 사용자 인터페이스를 다른 처리 로직과 분리하는 것은 쉽지 않다. 따라서, 어플리케이션의 그래픽 사용자 인터페이스(graphic user interface : GUI) 복잡성에 따라 유형을 구분하여 각 유형에 적합한 구분 경계를 찾는 것이 필요하다. 구분된 경계에 따라 어느 부분을 서버에서 처리할지, 어느 부분을 클라이언트에서 처리할지를 결정한다.
이를 위해, 본 발명에서는 다음과 같이 어플리케이션의 GUI 복잡성에 따라 두 가지 유형으로 구분하여 어플리케이션을 클라이언트와 서버 사이에서 분할 실행 가능하도록 함으로써 서버의 부담을 줄이고자 한다.
-제1유형: 그래픽 사용자 인터페이스 추상화 방법
클라이언트(client)가 서버(server)에 어플리케이션 실행시작 요청을 보내면 서버에서는 버튼(button), 체크박스(check box), 에디트박스(edit box), 메뉴(menu) 등 GUI 정보 등을 클라이언트로 전송하고, 실제로는 디스플레이 되지 않는 서버측 가상 그래픽 사용자 인터페이스를 생성한다. 그러면, 클라이언트는 GUI 정보를 수신하여 터미널 화면상에 실제로 디스플레이가 되는 클라이언트측 GUI를 디스플레이하고, 사용자에 의해 GUI에서 발생하는 이벤트 또는 명령을 서버로 전송하고, 서버에서는 클라이언트의 사용자 인터페이스에서 발생하는 이벤트 또는 명령 정보를 전송 받아 서버측 가상 GUI에서 발생한 이벤트 또는 명령 정보인 것처럼 처리하고 그 처리 결과를 클라이언트로 전송한다. 처리 결과로 GUI 호출이 발생하면, 서버는 GUI 호출 정보를 클라이언트로 전송하고, 서버측 가상 그래픽 사용자 인터페이스에서도 함께 처리하도록 한다.
다이얼로그 기반 어플리케이션과 같이 비교적 간단한 사용자 인터페이스를 가진 어플리케이션을 이 방식으로 처리할 수 있다.
-제2유형: 어플리케이션 코드 전송에 의한 처리 방법
클라이언트가 서버에 어플리케이션 실행시작 요청을 보내면 서버에서는 어플 리케이션의 GUI 관련 실행 코드와 데이터 일부를 전송한다. 그러면, 클라이언트는 전송된 코드와 데이터를 실행하여 GUI 디스플레이한 후, GUI에서 발생하는 사용자 이벤트 또는 명령 정보를 서버측으로 전송하며, 서버측에서는 그 요청을 서버측 가상 그래픽 사용자 인터페이스에서 발생한 이벤트 또는 명령 정보인 것처럼 처리하고, 처리 결과를 클라이언트측으로 다시 전송한다. 처리 결과로 GUI 호출이 발생하면, 서버는 GUI 호출 정보를 클라이언트로 전송하고, 서버측 가상 그래픽 사용자 인터페이스에서도 함께 처리하도록 한다. 문서 편집기나 게임과 같이 비교적 복잡한 사용자 인터페이스를 가진 어플리케이션들을 이 방식으로 처리할 수 있다.
도 1은 본 발명의 실시 예에 따른 그래픽 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템의 구성을 도시한 것이다.
이하, 도 1을 참조하여 본 발명의 그래픽 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
서버(server)(150)는 어플리케이션(application) 시작 요청 시 상기 어플리케이션의 실행에 따른 GUI(graphic user interface) 정보를 생성하여 클라이언트(client)(100)로 제공하며, 클라이언트(100)로부터 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우, 해당 이벤트를 처리하여 처리 결과를 제공한다.
또한, 서버(150)는 그래픽 집중적인 어플리케이션의 경우에는 GUI정보와 함께 어플리케이션의 그래픽과 관련된 일부 실행 코드 및 데이터를 클라이언트(100)로 전송하여 그래픽 집중적인 어플리케이션의 실행 시 그래픽 관련 부분은 클라이언트(100)의 컴퓨팅 자원(computing resource)을 통해 클라이언트(100)에서 실행되 도록 함으로써 서버(150)의 부담을 줄이도록 한다.
위와 같은 서버(150)는 어플리케이션 시작 요청 수신 시 어플리케이션의 실행을 위한 GUI 정보를 제공하고, 어플리케이션의 가상 그래픽 사용자 인터페이스부(152)를 실행시키는 어플리케이션 실행 관리부(156)와, 클라이언트(100)로부터 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우 이벤트를 처리하여 해당 이벤트 처리 결과 정보를 제공하고, 처리 결과로 GUI 호출이 발생하면, GUI 호출 정보를 클라이언트(100)로 전송하고, 서버측 가상 그래픽 사용자 인터페이스부(152)에서도 함께 처리하도록 하는 서버 GUI 라이브러리부(154)를 포함한다.
클라이언트(100)는 서버(150)로부터 제공되는 GUI 정보를 수신하여 GUI 화면을 디스플레이하고, GUI를 통해 어플리케이션 실행에 대한 사용자의 입력 이벤트가 발생하는 경우 해당 이벤트를 검사하여 서버(150)를 통한 원격 처리가 필요한 이벤트인 경우 서버(150)로 해당 이벤트를 전송하여 원격 처리시키며, 내부에서 처리 가능한 이벤트인 경우 이벤트를 내부에서 처리한다. 또한, 클라이언트(100)는 어플리케이션 실행에 따른 사용자의 입력 이벤트가 그래픽 처리 관련된 이벤트인 경우에는 서버(150)로부터 전송 받은 어플리케이션의 일부 실행 코드를 이용하여 서버(150)로 이벤트를 전송하지 않고, 클라이언트(100)에서 자체 컴퓨팅 자원을 활용하여 처리하게 된다.
위와 같은 클라이언트(100)는 GUI 정보를 수신하여 GUI 화면을 디스플레이 처리하는 그래픽 사용자 인터페이스부(102)와 GUI 화면상에서 입력되는 사용자의 입력 이벤트를 내부에서 처리하거나 서버(150)로 전송하여 원격 처리 요청을 수행 하는 클라이언트 GUI 라이브러리부(104)를 포함한다.
즉, 서버(150)와 클라이언트(100)는 어플리케이션의 분할 실행을 위해 각각 서버(150)를 위해 재작성된 서버 GUI 라이브러리부(154)와 클라이언트(100)를 위해 재작성된 클라이언트 GUI 라이브러리부(104)를 구비하며, 서버 GUI 라이브러리부(154)와 클라이언트 GUI 라이브러리부(104)가 네트워크를 통해 통신하면서 어플리케이션을 동작시킨다.
클라이언트 GUI 라이브러리는부(104)는 실제 GUI를 생성 표현하여 사용자와 상호작용을 한다. 서버 GUI 라이브러리부(154)는 어플리케이션을 위한 가상 그래픽 사용자 인터페이스부(152)를 생성하여 해쉬맵(hash map)과 같은 구조로 저장한다. 또한, 서버 GUI 라이브러리부(154)는 클라이언트(100) 측으로부터 전송된 이벤트 또는 명령에 대해 가상 그래픽 사용자 인터페이스부(152)로부터 발생한 것처럼 처리하여 정상적인 이벤트나 명령처리가 가능하도록 한다. 이와 같이 처리된 결과는 다시 클라이언트(100)로 전송한다.
도 2는 본 발명의 실시 예에 따른 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 동작 제어 흐름을 도시한 것이다.
이하, 도 2를 참조하면, 먼저 사용자가 클라이언트(100)로 사용되는 컴퓨터 단말 등에서 실행시키고자 하는 특정 어플리케이션을 실행시키는 키입력을 수행하는 경우, 클라이언트(100)에서 어플리케이션을 시작하고(S200), 이에 대한 어플리케이션 시작 요청이 서버(150)로 전송된다.
그러면, 서버(150)에서는 클라이언트(100)로부터의 어플리케이션 시작 요청 을 수신하여 어플리케이션의 실행을 위한 가상 GUI를 생성하고(S202), GUI 정보를 클라이언트로 송신한다(S204).
위와 같이, 서버(150)로부터 GUI 정보가 송신되는 경우, 클라이언트(100)는 GUI 정보를 수신하고(S206), GUI 정보를 이용하여 클라이언트(100)로 사용되는 컴퓨터 단말 등의 표시부에 어플리케이션 실행에 따른 GUI 화면을 디스플레이시킨다(S208).
이에 따라, 사용자는 클라이언트(100)에 구현된 GUI에서 원하는 입력을 수행할 수 있게 된다. 그러면 클라이언트(100)는 사용자로부터 GUI를 통해 입력 이벤트(event)가 발생하는 경우 이를 인식하고(S210), 사용자에 의해 입력된 이벤트가 클라이언트(100) 내부에서 처리할 수 있는 이벤트인지 서버(150)로 원격 처리 요청을 수행해야 하는 이벤트인지를 검사한다(S212).
이때 만일, 사용자에 의해 입력된 이벤트가 클라이언트(100) 내부에서 처리할 수 있는 이벤트인 경우, 클라이언트(100)는 이를 내부에서 처리하고, 처리된 결과를 GUI 화면에 디스플레이한다(S208). 이와 같이 클라이언트(100) 내부에서 처리 가능한 이벤트는 예를 들어 마우스(mouse)의 단순한 이동(moving) 작업이나 툴팁 디스플레이(tool tip display) 등과 같은 작업이 될 수 있다.
그러나, 사용자에 의해 입력된 이벤트가 서버(150)를 통해 원격 처리해야 하는 이벤트인 경우 클라이언트(100)는 해당 이벤트 정보를 서버(150)로 송신한다(S214).
그러면, 서버(150)는 클라이언트(100)로부터 네트워크를 통해 전송되는 원격 이벤트 처리 요청을 수신하고 이벤트를 처리한다(S216).
이때, 위 이벤트를 처리하는 과정에서 해당 이벤트가 GUI 호출이 필요한 이벤트가 될 수도 있다. GUI 호출이 필요한 이벤트라 함은 데이터 처리가 필요한 경우가 아니라 클라이언트(100)의 컴퓨터 단말상 표시부에 GUI 화면을 처리해야하는 경우를 말하는 것으로, 예를 들어 클라이언트(100)의 컴퓨터 등의 단말에서 사용자가 마우스 등을 조작하여 대화창을 열도록 명령한 경우 대화창에 대한 GUI 화면 구현이 필요한 경우가 될 수 있다.
이에 따라, 서버(150)는 이벤트를 처리하는 과정에서 해당 이벤트가 GUI 호출이 필요한지 여부를 검사하고(S218), GUI 호출이 필요한 경우에는 이를 클라이언트(100)로 GUI 호출 정보를 전송한다(S220).
그러나, 이벤트를 처리하는 과정에서 해당 이벤트가 GUI 호출이 필요하지 않은 경우 서버(150)는 해당 이벤트를 처리한 후, 결과 정보를 클라이언트(100)로 전송한다(S222). 이때, 서버(150)는 위와 같이 처리한 이벤트에 대한 GUI 호출 정보와 결과 정보를 서버(150)측 가상 그래픽 사용자 인터페이스부(152)로도 전송하여(S224) 클라이언트(100)에서와 마찬가지로 서버(150)측의 가상 그래픽 사용자 인터페이스부(152)에서도 프로세스 수행 결과를 인지하도록 한다.
이어, 클라이언트(100)는 서버(150)로부터 원격 처리 요청한 이벤트에 대한 결과 정보를 수신하는 경우(S226), 처리된 결과를 GUI 화면에 디스플레이한다(S208).
도 3은 본 발명의 다른 실시 예에 따른 사용자 인터페이스 가상화에 의한 어 플리케이션 서비스 동작 제어 흐름을 도시한 것이다.
이하, 도 3을 참조하면, 먼저 사용자가 클라이언트(100)로 사용되는 컴퓨터 단말 등에서 실행시키고자 하는 특정 어플리케이션을 실행시키는 키입력을 수행하는 경우, 클라이언트(100)에서 어플리케이션을 시작하고(S300), 이에 대한 어플리케이션 시작 요청이 서버(150)로 전송된다.
그러면, 서버(150)에서는 클라이언트(100)로부터의 어플리케이션 시작 요청을 수신하여 어플리케이션의 실행을 위한 가상 GUI를 생성하고(S302), GUI 정보와 해당 어플리케이션의 일부 실행 코드를 함께 클라이언트(100)로 송신한다(S304).
위와 같이, 서버(150)로부터 GUI 정보와 어플리케이션의 일부 실행 코드가 수신되는 경우 클라이언트(100)는 어플리케이션의 일부 실행 코드를 실행시키며(S306), 실행 코드의 실행에 따라 클라이언트(100)로 사용되는 컴퓨터 단말 등의 표시부에 GUI 화면이 디스플레이된다(S308).
이에 따라, 사용자는 클라이언트(100)에 구현된 GUI에서 원하는 입력을 수행할 수 있게 된다. 그러면 클라이언트(100)는 사용자로부터 GUI를 통해 입력 이벤트가 발생하는 경우 이를 인식하고(S310), 사용자에 의해 입력된 이벤트가 클라이언트(100) 내부에서 처리할 수 있는 이벤트인지 서버(150)로 원격 처리 요청을 수행해야 하는 이벤트인지를 검사한다(S312).
이때 만일, 사용자에 의해 입력된 이벤트가 클라이언트(100) 내부에서 처리할 수 있는 이벤트인 경우 클라이언트(100)는 이를 내부에서 처리하고, 처리된 결과를 GUI 화면에 디스플레이한다(S308). 이와 같이 클라이언트(100) 내부에서 처리 가능한 이벤트는 예를 들어 마우스의 단순한 이동 작업이나 툴팁 디스플레이 또는 서버에서 전송된 어플리케이션의 실행 코드에 해당하는 그래픽 하드웨어(graphic hardware)에 종속적인 작업 등이 될 수 있다.
그러나, 사용자에 의해 입력된 이벤트가 서버(150)를 통해 원격 처리해야 하는 이벤트인 경우 클라이언트(100)는 해당 이벤트 정보를 서버(150)로 송신한다(S314).
그러면, 서버(150)는 클라이언트(100)로부터 네트워크를 통해 전송되는 원격 이벤트 처리 요청을 수신하고 이벤트를 처리한다(S316).
이때, 위 이벤트를 처리하는 과정에서 해당 이벤트가 GUI 호출이 필요한 이벤트가 될 수도 있다. GUI 호출이 필요한 이벤트라 함은 데이터 처리가 필요한 경우가 아니라 클라이언트(100)의 컴퓨터 단말상 표시부에 GUI 화면을 처리해야하는 경우를 말하는 것으로, 예를 들어 클라이언트(100)의 컴퓨터 등의 단말에서 사용자가 마우스 등을 조작하여 대화창을 열도록 명령한 경우 대화창에 대한 GUI 화면 구현이 필요한 경우가 될 수 있다.
이에 따라, 서버(150)는 이벤트를 처리하는 과정에서 해당 이벤트가 GUI 호출이 필요한지 여부를 검사하고(S318), GUI 호출이 필요한 경우에는 이를 클라이언트(100)로 GUI 호출 정보를 전송한다(S320).
그러나, 이벤트를 처리하는 과정에서 해당 이벤트가 GUI 호출이 필요하지 않은 경우 서버(150)는 해당 이벤트를 처리한 후, 결과 정보를 클라이언트(100)로 전송한다(S322). 이때, 서버(150)는 위와 같이 처리한 이벤트에 대한 GUI 호출 정 보와 결과 정보를 서버(150)측 가상 그래픽 사용자 인터페이스부(152)로도 전송하여(S324) 클라이언트(100)에서와 마찬가지로 서버(150)측의 가상 그래픽 사용자 인터페이스부(152)에서도 프로세스 수행 결과를 인지하도록 한다.
이어, 클라이언트(100)는 서버(150)로부터 원격 처리 요청한 이벤트에 대한 처리 결과를 수신하고(S326), 처리된 결과를 GUI 화면에 디스플레이한다(S308).
상기한 바와 같이, 본 발명은 서버 기반의 소프트웨어 서비스에 있어서, 사용자 인터페이스 가상화를 통해 클라이언트 단에서 GUI 또는 어플리케이션의 그래픽과 관련된 일부 동작을 클라이언트의 시스템 자원을 활용하여 실행하도록 한다.
즉, 기존의 어플리케이션을 수정하지 않고, GUI 처리 로직을 분리함으로써, 어플리케이션 실행 시 GUI 부분은 클라이언트에서 동작할 수 있게 하고, 나머지 로직 처리 부분은 서버측에서 동작할 수 있도록 하는 방식으로 클라이언트와 서버간 어플리케이션의 분할 수행이 가능하도록 한다.
이에 따라, 어플리케이션에 대한 클라이언트와 서버의 분할 실행을 통해 서버의 부담을 분산시켜 상대적으로 적은 수의 서버를 이용하여 그래픽 집중적인 어플리케이션 서비스가 가능해지고, 더 많은 수의 클라이언트를 지원할 수 있도록 한다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
도 1은 본 발명의 실시 예에 따른 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 구성도,
도 2는 본 발명의 실시 예에 따른 사용자 인터페이스 가상화를 이용한 어플리케이션 서비스 동작 제어 흐름도,
도 3은 본 발명의 다른 실시 예에 따른 사용자 인터페이스 가상화를 이용한 어플리케이션 서비스 동작 제어 흐름도.
<도면의 주요 부호에 대한 간략한 설명>
100 : 클라이언트 102 : 그래픽 사용자 인터페이스부
150 : 서버 152 : 가상 그래픽 사용자 인터페이스부
104 : 클라이언트 GUI 라이브러리부
154 : 서버 GUI 라이브러리부
Claims (20)
- 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템으로서,어플리케이션 시작 요청 시 상기 어플리케이션의 실행에 따른 GUI(graphic user interface) 정보를 제공하며, 상기 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우, 상기 이벤트를 처리하여 처리 결과를 제공하는 서버와,상기 서버로부터 제공되는 GUI 정보를 수신하여 GUI 화면을 디스플레이하고, 상기 GUI를 통한 상기 사용자의 입력 이벤트를 검사하여 상기 서버를 통한 원격 처리가 필요한 이벤트인 경우 상기 서버로 해당 이벤트를 전송하여 원격 처리시키는 클라이언트를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 1 항에 있어서,상기 클라이언트는,상기 GUI를 통한 사용자의 입력 이벤트가 내부에서 처리 가능한 이벤트인 경우 상기 이벤트를 내부에서 처리하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 1 항에 있어서,상기 클라이언트는,상기 GUI 정보를 수신하여 GUI 화면을 디스플레이 처리하는 그래픽 사용자 인터페이스부와,상기 GUI 화면상에서 입력되는 사용자의 입력 이벤트를 내부에서 처리하거나 상기 서버로 전송하여 원격 처리 요청을 수행하는 클라이언트 GUI 라이브러리부를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 1 항에 있어서,상기 서버는,상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 GUI 정보를 제공하고, 상기 어플리케이션의 가상 그래픽 사용자 인터페이스를 실행하는 어플리케이션 실행 관리부와,상기 클라이언트로부터 상기 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우 상기 이벤트를 처리하여 해당 이벤트 처리 결과를 제공하고, 처리 결과로 GUI 호출이 발생하면, GUI 호출 정보를 클라이언트로 전송하고, 서버측 가상 그래픽 사용자 인터페이스에서도 함께 처리하도록 하는 서버 GUI 라이브러리부를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 4 항에 있어서,상기 서버 GUI 라이브러리부는,상기 클라이언트로부터 전송되는 이벤트에 대해 상기 가상 그래픽 사용자 인터페이스부로부터 발생한 것으로 처리하여 정상적인 이벤트 처리를 수행하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템으로서,어플리케이션 시작 요청 시 상기 어플리케이션의 일부 실행 코드와 데이터를 전송하며, 상기 실행 코드에 해당하는 어플리케이션 동작을 제외한 나머지 어플리케이션 동작을 실행시키는 서버와,상기 실행 코드에 해당하는 어플리케이션의 일부 동작을 내부에서 실행시키며, 상기 나머지 어플리케이션의 동작은 상기 서버로 요청하여 원격 실행시키는 클라이언트를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 6 항에 있어서,상기 클라이언트는,상기 어플리케이션의 일부 실행 코드와 데이터를 수신하여 실행함으로써 GUI 화면을 디스플레이 처리하는 그래픽 사용자 인터페이스부와,상기 GUI 화면상에서 입력되는 사용자의 입력 이벤트에 따른 상기 어플리케이션 실행을 상기 어플리케이션의 일부 실행 코드를 이용하여 내부에서 처리하거나 상기 서버로 원격 처리 요청을 수행하는 클라이언트 GUI 라이브러리부를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 6 항에 있어서,상기 서버는,상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 어플리케이션의 일부 실행 코드와 데이터를 제공하고, 상기 어플리케이션의 가상 그래픽 사용자 인터페이스부를 실행하는 어플리케이션 실행 관리부와,상기 클라이언트로부터 상기 GUI를 통한 사용자의 입력 이벤트가 전송되는 경우 상기 이벤트를 처리하여 해당 이벤트 처리 결과를 제공하고, 처리 결과로 GUI 호출이 발생하면, GUI 호출 정보를 클라이언트로 전송하고, 필요한 경우에는 일부 실행 코드와 데이터를 함께 전송하며, 서버측 가상 그래픽 사용자 인터페이스에서도 함께 처리하도록 하는 서버 GUI 라이브러리부를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 8 항에 있어서,상기 서버 GUI 라이브러리부는,상기 클라이언트로부터 전송되는 이벤트에 대해 상기 가상 그래픽 사용자 인터페이스부로부터 발생한 것으로 처리하여 정상적인 이벤트 처리를 수행하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 제 6 항에 있어서,상기 어플리케이션의 일부 실행 코드와 데이터는,상기 어플리케이션의 그래픽에 관련된 것인 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템.
- 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법으로서,클라이언트로부터 어플리케이션 시작 요청 시 서버에서 상기 어플리케이션의 실행에 따른 GUI 정보를 생성하여 전송하는 단계와,상기 클라이언트에서 상기 GUI 정보를 수신하여 GUI 화면을 디스플레이시키는 단계와,상기 GUI를 통한 사용자의 입력 이벤트가 있는 경우 상기 이벤트가 내부에서 처리 가능한 이벤트인지를 검사하는 단계와,상기 이벤트가 상기 서버를 통한 원격 처리가 필요한 이벤트인 경우 상기 서버로 해당 이벤트를 전송하여 원격 처리시키는 단계를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 11 항에 있어서,상기 방법은,상기 이벤트의 원격 처리시 GUI 관련 호출이 발생할 경우, 이와 관련된 정보를 클라이언트 전송시키고, 가상 그래픽 사용자 인터페이스부에서 GUI 관련 호출을 처리하는 단계를 더 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 11 항에 있어서,상기 검사결과, 상기 GUI를 통한 사용자의 입력 이벤트가 내부에서 처리가 가능한 이벤트인 경우 상기 이벤트를 상기 클라이언트에서 처리하는 단계를 더 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 11 항에 있어서,상기 GUI 정보를 전송하는 단계는,상기 서버에서 상기 클라이언트로부터 어플리케이션 시작 요청을 수신하는 단계와,상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 가상 사용자 인터페이스를 생성하는 단계와,상기 가상 사용자 인터페이스에서 상기 어플리케이션의 GUI 정보를 상기 클라이언트로 전송하는 단계를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 11 항에 있어서,상기 이벤트의 원격 처리 단계는,상기 GUI를 통한 사용자의 입력 이벤트를 수신하는 단계와,상기 사용자의 입력 이벤트가 내부에서 처리 가능한 이벤트가 아닌 경우 상기 이벤트를 상기 서버로 전송하여 원격 처리를 요청하는 단계와,상기 서버로부터 상기 이벤트에 대한 처리 결과를 수신하여 처리하는 단계를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법으로서,클라이언트로부터 어플리케이션 시작 요청 시 서버에서 상기 어플리케이션의 실행에 따른 상기 어플리케이션의 일부 실행 코드와 데이터를 제공하는 단계와,상기 클라이언트에서 GUI 정보에 따라 GUI 화면을 디스플레이시키는 단계와,상기 GUI를 통한 사용자의 입력 이벤트가 있는 경우 상기 이벤트가 내부에서 처리 가능한 이벤트인지를 검사하는 단계와,상기 이벤트가 상기 서버를 통한 원격 처리가 필요한 이벤트인 경우 상기 서버로 해당 이벤트를 전송하여 원격 처리시키는 단계를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 16 항에 있어서,상기 검사결과, 내부에서 처리 가능한 이벤트인 경우 상기 실행 코드에 해당하는 상기 어플리케이션의 일부 동작을 실행하여 상기 클라이언트에서 상기 이벤트를 처리하는 단계를 더 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 16 항에 있어서,상기 GUI 정보를 전송하는 단계는,상기 서버에서 상기 클라이언트로부터 어플리케이션 시작 요청을 수신하는 단계와,상기 어플리케이션 시작 요청 수신 시 상기 어플리케이션의 실행을 위한 가상 사용자 인터페이스를 생성하는 단계와,상기 가상 사용자 인터페이스에서 상기 어플리케이션의 실행 코드 일부와 데이터를 생성하여 상기 클라이언트로 전송하는 단계를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 16 항에 있어서,상기 이벤트의 원격 처리 단계는,상기 GUI를 통한 사용자의 입력 이벤트를 수신하는 단계와,상기 사용자의 입력 이벤트가 내부에서 처리 가능한 이벤트가 아닌 경우 상기 이벤트를 상기 서버로 전송하여 원격 처리를 요청하는 단계와,상기 서버로부터 상기 이벤트에 대한 처리 결과를 수신하여 제공하는 단계를 포함하는 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
- 제 16 항에 있어서,상기 어플리케이션의 일부 실행 코드는,상기 어플리케이션의 그래픽에 관련된 실행 코드인 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090126181A KR101316677B1 (ko) | 2009-12-17 | 2009-12-17 | 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090126181A KR101316677B1 (ko) | 2009-12-17 | 2009-12-17 | 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110069443A KR20110069443A (ko) | 2011-06-23 |
KR101316677B1 true KR101316677B1 (ko) | 2013-10-10 |
Family
ID=44401269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090126181A KR101316677B1 (ko) | 2009-12-17 | 2009-12-17 | 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101316677B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101668282B1 (ko) * | 2011-07-22 | 2016-10-24 | 엔트릭스 주식회사 | 화면 가상화 기반 어플리케이션 구동 시스템 및 방법 |
KR101401937B1 (ko) * | 2012-08-28 | 2014-05-30 | 에스케이플래닛 주식회사 | 플러그인 방식의 화면 가상화 제공 방법, 이를 위한 시스템, 이를 위한 단말기 및 이를 위한 서비스장치 |
KR101482868B1 (ko) * | 2013-07-24 | 2015-01-15 | 닉스테크 주식회사 | Dlp 성능 향상을 위한 분산 인덱싱 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100527874B1 (ko) | 2002-12-17 | 2005-11-15 | 김주익 | 가상 데스크탑 컴퓨터 장치 및 이를 이용한 응용프로그램운영방법 |
KR100609667B1 (ko) * | 2004-02-23 | 2006-08-08 | (주)위트콤 | 그래픽 사용자 인터페이스 갱신 시스템 |
KR20090018992A (ko) * | 2007-03-20 | 2009-02-24 | 이상규 | 클라이언트용 컴퓨팅 환경을 제공하는 방법 |
KR20090073177A (ko) * | 2006-10-27 | 2009-07-02 | 마이크로소프트 코포레이션 | 씬 클라이언트 소프트웨어 개발 환경을 제공하기 위한 방법, 서버 기반 소프트웨어 개발 프로젝트 공유를 위한 방법, 및 컴퓨터-판독가능 매체 |
-
2009
- 2009-12-17 KR KR1020090126181A patent/KR101316677B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100527874B1 (ko) | 2002-12-17 | 2005-11-15 | 김주익 | 가상 데스크탑 컴퓨터 장치 및 이를 이용한 응용프로그램운영방법 |
KR100609667B1 (ko) * | 2004-02-23 | 2006-08-08 | (주)위트콤 | 그래픽 사용자 인터페이스 갱신 시스템 |
KR20090073177A (ko) * | 2006-10-27 | 2009-07-02 | 마이크로소프트 코포레이션 | 씬 클라이언트 소프트웨어 개발 환경을 제공하기 위한 방법, 서버 기반 소프트웨어 개발 프로젝트 공유를 위한 방법, 및 컴퓨터-판독가능 매체 |
KR20090018992A (ko) * | 2007-03-20 | 2009-02-24 | 이상규 | 클라이언트용 컴퓨팅 환경을 제공하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20110069443A (ko) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2875425B1 (en) | Providing access to a remote application via a web client | |
US10817086B2 (en) | Touch support for remoted applications | |
US5774720A (en) | Personality neutral graphics subsystem | |
EP3525093B1 (en) | Remoting of windows presentation framework based applications in a non-composed desktop | |
US5767849A (en) | Personality neutral window management subsystem | |
EP2363800A1 (en) | Interacting wth software applications displayed in a web page | |
USRE46386E1 (en) | Updating a user session in a mach-derived computer system environment | |
EP0822490A2 (en) | Object-oriented system, method and article of manufacture for a client-server communication framework | |
EP0827074A2 (en) | A system, method and article of manufacture for a distributed computer system framework | |
EP0827075A2 (en) | Object-oriented system, method and article of manufacture for a client-server state machine framework | |
US6961945B2 (en) | Method and apparatus for adapting and hosting legacy user interface controls | |
AU2022200314A1 (en) | Running applications on a computing device | |
CN101676875A (zh) | Linux终端无缝访问远程Windows应用程序的方法及其装置 | |
KR20140027741A (ko) | 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치 | |
KR101316677B1 (ko) | 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 | |
KR101694295B1 (ko) | 소프트웨어 분할 실행을 위한 스레드 관리 장치 및 방법 | |
CN114028801A (zh) | 基于云端的用户输入方法、装置、设备及存储介质 | |
KR101430729B1 (ko) | 소프트웨어 지원 서버 및 그 방법 | |
CN113835816A (zh) | 一种虚拟机桌面显示方法、装置、设备及可读存储介质 | |
CN118312269B (zh) | 一种基于spice协议的应用虚拟化方法、系统、介质及产品 | |
CN103842982A (zh) | 用于本地生成的手势和过渡图形与终端控制服务的交互的方法和系统 | |
KR20240003882A (ko) | 데스크탑 서비스 제공방법 및 이를 이용하는 운영서버 | |
KR20040065833A (ko) | 가상장치를 통한 서버 무선단말기간의 애플릿의 실행 이미지 전송방식에 관한 방법 및 시스템 | |
US20090198771A1 (en) | Client device and server device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161004 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190930 Year of fee payment: 7 |