KR20050056041A - Method and system for controlling object in order to share resource between heterogeneous devices - Google Patents

Method and system for controlling object in order to share resource between heterogeneous devices Download PDF

Info

Publication number
KR20050056041A
KR20050056041A KR1020030089127A KR20030089127A KR20050056041A KR 20050056041 A KR20050056041 A KR 20050056041A KR 1020030089127 A KR1020030089127 A KR 1020030089127A KR 20030089127 A KR20030089127 A KR 20030089127A KR 20050056041 A KR20050056041 A KR 20050056041A
Authority
KR
South Korea
Prior art keywords
event
information
image
partial image
application program
Prior art date
Application number
KR1020030089127A
Other languages
Korean (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 KR1020030089127A priority Critical patent/KR20050056041A/en
Publication of KR20050056041A publication Critical patent/KR20050056041A/en

Links

Classifications

    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

본 발명은 공유 참여 단말기가 통신 서버로부터 응용 프로그램에 상응하는 원시화면 이미지를 수신하여 표시부에 디스플레이한 상태에서, 이벤트 발생이 감지되면 이벤트에 상응하여 미리 지정된 형태의 이벤트 정보를 생성하여 통신 서버로 전송하고, 통신 서버로부터 이벤트 정보에 상응하는 부분 이미지 정보가 수신되면 부분 이미지 데이터 및 이미지 좌표 정보를 이용하여 원시화면 이미지에서 발생된 이벤트에 상응하는 영역을 갱신하는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템에 관한 것으로, 변경된 위치에 상응하는 최소한의 영역 이미지를 DIB(Device Interface Bitmap) 형태의 이미지로 변환하고 압축을 수행한 후 전송함으로써 이기종 장치간에 응용 프로그램 공유를 가능하게 한다. According to the present invention, when a sharing participating terminal receives a raw screen image corresponding to an application program from a communication server and displays the raw screen image on a display unit, when an event occurrence is detected, the terminal participates in generating a predetermined form of event information corresponding to the event and transmitting the generated event information to the communication server. And, when partial image information corresponding to the event information is received from the communication server, updating the region corresponding to the event generated in the raw screen image by using the partial image data and the image coordinate information. And it relates to a system, by converting the minimum area image corresponding to the changed position to the image of the DIB (Device Interface Bitmap) form, and then compressing and transmitting to enable application program sharing between heterogeneous devices.

Description

이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템{Method and system for controlling object in order to share resource between heterogeneous devices}Method and system for controlling object in order to share resource between heterogeneous devices}

본 발명은 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템에 관한 것으로, 특히 사용자 단말기의 운영체제 환경에 관계없이 응용 프로그램, 데이터 등의 자원 공유를 통한 협업을 할 수 있도록 하는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템에 관한 것이다. The present invention relates to an object control method and system for resource sharing between heterogeneous devices. In particular, the present invention relates to resource sharing between heterogeneous devices for enabling collaboration through resource sharing of application programs and data, regardless of an operating system environment of a user terminal. An object control method and system for the same.

과학 기술의 발달과 경제 수준의 향상으로 인해 인간의 작업을 자동화 또는 편리하게 하기 위한 다양한 사용자 단말기(예를 들어, 컴퓨터, 유닉스 시스템, 개인 휴대 단말기(PDA) 등)들이 개발되고 있다. 이러한 단말기들은 윈도우즈 등의 다양한 운영체제 중 어느 하나를 구비하고 있으며, 당해 운영체제 하에서 동작하는 다양한 응용 프로그램들을 구비하고 있다. 이와 같이 구비된 응용 프로그램들을 이용하여 사용자는 편리하게 문서 작업, 웹서핑 등을 할 수 있다.Due to the development of science and technology and the improvement of economic level, various user terminals (eg, computers, Unix systems, personal digital assistants (PDAs), etc.) are being developed for automating or convenient human tasks. These terminals are provided with any one of various operating systems, such as Windows, and have various application programs that operate under the operating system. By using the application programs provided as described above, a user can conveniently work on a document or surf the web.

그리고, 인간 사회의 교류가 밀접해짐에 따라 통신망의 발달은 지리적으로 분산된 사용자들간의 정보 공유(예를 들어, 작업 문서)도 가능하게 하고 있다. 미국 선마이크로 시스템즈의 스콧 멕닐리는 PC 시대는 끝났다. 이제는 플랫폼에 구애받지 않는 네트워크 시대로 갈 것이다 라고 공언한 바 있으며 이러한 추세는 결국 인터넷을 기반으로 하는 정보통신 네트워크에서 사용자들은 더 이상 PC에만 의존하지 않게 될 것임을 시사하고 있다. 이와 같이, 플랫폼에 구애받지 않는 네트워크 시대를 추구하기 위해서는 종래의 방식과 같은 단순한 데이터 공유뿐 아니라 응용 프로그램의 공유까지도 가능해져야 할 것이다. 그리고, 응용 프로그램의 공유까지도 가능해지기 위해서는 이기종간의 입력 이벤트 훅킹(event hooking), 훅킹한 이벤트 정보를 이기종 운영체제에서 공유 응용 프로그램에서 에뮬레이터(emulate)하여 동일한 결과를 실행시켜주는 에뮬레이션 기술, 이기종간의 응용 프로그램을 공유하게 하는 GUI 화면 공유 기법을 이용한 DIB 압축 및 복원 기술과 협업(collaboration) 형태의 다자간 객체 동기화와 유무선 통신 기술이 필요하다.그러나, 종래의 PC 기반 응용 프로그램 공유 기술은 동일한 환경에서의 응용 프로그램 공유 기법이다. 그리고, 동일한 운영체제 환경에서의 응용 프로그램 공유 기술을 사용하고 있는 제품으로는 MC Global, Netmeeting, PC Anyware, WebX 등이 있다. 이런 제품들은 윈도우(Windows) 운영체제 기반에서만 응용 프로그램들의 공유가 가능한 한계를 가지고 있다.And as the exchange of human society becomes closer, the development of communication networks also enables the sharing of information (eg, work documents) among geographically dispersed users. Scott McNealy of Sun Microsystems, USA, is over. It has professed to be a platform-independent network era, and this trend suggests that users will no longer rely solely on PCs for Internet-based telecommunications networks. As such, in order to pursue a platform-independent network era, not only simple data sharing but also application sharing should be enabled. In order to enable sharing of applications, heterogeneous input event hooking, emulation technology that emulates hooked event information in a shared application on heterogeneous operating systems, and executes the same result, and heterogeneous application programs. However, there is a need for DIB compression and decompression using a GUI screen sharing technique, and multi-object object synchronization and wired / wireless communication in the form of collaboration. However, the conventional PC-based application sharing technology requires application programs in the same environment. It is a sharing technique. In addition, MC Global, Netmeeting, PC Anyware, and WebX are the products that use application sharing technology under the same OS. These products have limitations that allow applications to be shared only on the Windows operating system.

또한, 종래의 응용 프로그램 공유 기술에는 캡쳐 보드(board) 사용 방법, 그래픽 디바이스 인터페이스(GDI : Graphic Device Interface) 후킹(hooking) 기술, 가상 드라이버(Virtual Driver) 설치 방법 및 GUI 화면 캡처 방법이 있다. 캡처 보드 사용 방법은 화면 캡처 방법 중 가장 빠르고 안정적이다. 그러나 별도의 하드웨어를 사용하여야 하고 업체마다 다른 드라이브를 제공하고 있는 문제점이 있다. 이 경우 CPU와 독립적으로 화면 캡처가 가능하여 시스템 부하가 없는 반면 하드웨어가 장착되어야 하고 그 하드웨어를 지원하는 별도의 어플리케이션 프로그램 인터페이스(API : Application Program Interface)를 사용함으로써 범용성을 가지지 못하는 문제점이 있었다.In addition, conventional application program sharing technologies include a capture board, a graphic device interface (GDI) hooking technology, a virtual driver installation method, and a GUI screen capture method. Using the capture board is the fastest and most reliable screen capture method. However, there is a problem in that separate hardware must be used and different vendors provide different drives. In this case, screen capture is possible independently of the CPU, so there is no system load, but hardware has to be installed, and there is a problem in that it does not have generality by using a separate application program interface (API) that supports the hardware.

또한, GDI 후킹 기술은 공유 응용 프로그램에 대한 사용자 이벤트를 처리하는 운영체제 수준에서 후킹하는 기술로써 데이터량이 적고 처리 속도가 빠른 반면 이기종간의 플랫폼에서는 상호 운용이 불가능한 문제점이 있었다.In addition, GDI hooking technology is a technology for hooking at the operating system level that processes user events for a shared application, and has a small amount of data and a high processing speed, but interoperability is not possible in heterogeneous platforms.

가상 드라이브 설치 방법은 공유 응용 프로그램에 대한 사용자 이벤트를 수행할 때 운영체제 수준에서 VGA(Video Graphic Adapter) 드라이버로 전달되는 함수들을 가상 드라이브가 가로채는 방법이다. 이 방법은 수행 속도나 데이터량에서 우수한 성능을 가지고 있으나 각 사용자의 시스템에 맞는 VGA에 대응하는 가상 드라이브를 구현하여야 하므로 구현상의 어려움과 플랫폼에 독립적일 수 없는 단점을 가지고 있었다.GUI 화면 캡쳐 방법은 사용자가 가한 입력 이벤트를 수행한 결과 화면을 캡처하여 이를 모든 사용자들에게 일방적으로 전송하여 동일한 화면을 공유하게 하는 것이다. 화면 캡처 시간과 전송할 데이터량이 많은 문제점을 가진다. The virtual drive installation method is a method in which the virtual drive intercepts functions that are passed to the video graphic adapter (VGA) driver at the operating system level when performing a user event for a shared application. This method has excellent performance in terms of execution speed and data volume, but it has difficulty in implementation and platform independence because a virtual drive corresponding to VGA for each user's system must be implemented. The result of the user's input event is to capture the screen and send it unilaterally to all users to share the same screen. The problem is that the screen capture time and the amount of data to be transferred are large.

따라서, 상술한 문제점을 해결하기 위해, 본 발명의 목적은 변경된 위치에 상응하는 최소한의 영역 이미지를 DIB(Device Interface Bitmap) 형태의 이미지로 변환하고 압축을 수행한 후 전송함으로써 이기종 장치간에 응용 프로그램 공유를 가능하게 하는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다.Accordingly, in order to solve the above-described problem, an object of the present invention is to share an application program between heterogeneous devices by converting a minimal area image corresponding to a changed position into a DIB (Device Interface Bitmap) type image, performing compression, and then transmitting the same. An object control method and system for sharing resources between heterogeneous devices is provided.

본 발명의 다른 목적은 특정 플랫폼에 종속되어 제한적인 작업만을 수행하던 각각의 사용자 단말기의 제한적인 작업 영역에서 탈피할 수 있어 작업의 효율을 극대화하고 비용을 절감할 수 있는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다.본 발명의 또 다른 목적은 원격지 교육시 사용자 단말기의 기종에 상관없이 대화식 교육을 할 수 있는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다.Another object of the present invention is to escape from the limited working area of each user terminal that was limited to a specific platform to perform only a limited task for maximizing the efficiency of the work and for cost sharing between heterogeneous devices Another object of the present invention is to provide an object control method and system for resource sharing between heterogeneous devices capable of interactive education regardless of the type of a user terminal in remote education.

본 발명의 또 다른 목적은 원격지에 위치한 환자와 의사가 각각 개별적이고 상이한 운영체제하의 사용자 단말기를 이용하여 원격 진료를 수행할 수 있는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다. It is still another object of the present invention to provide a method and system for controlling an object for resource sharing between heterogeneous devices where a remote patient and a doctor can perform remote medical care using a user terminal under a separate and different operating system.

본 발명의 또 다른 목적은 화상회의를 이용한 원격 회의의 경우 응용 프로그램 공유를 통해 동적인 프리젠테이션이 가능한 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다.It is still another object of the present invention to provide a method and system for controlling an object for resource sharing between heterogeneous devices that enables dynamic presentation through application sharing in the case of teleconferencing using video conferencing.

본 발명의 또 다른 목적은 특정 사용자 단말기의 고장 또는 오류를 원격지에서 관리자 단말기의 종류에 상관없이 진단 및 수리할 수 있도록 하는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다.It is still another object of the present invention to provide a method and system for controlling an object for sharing resources between heterogeneous devices to diagnose and repair a failure or an error of a specific user terminal regardless of the type of an administrator terminal at a remote location.

본 발명의 또 다른 목적은 개발된 특정 응용 프로그램의 테스트 등을 위해 당해 응용 프로그램을 자신의 사용자 단말기에 설치할 필요없이 당해 응용 프로그램이 설치된 테스트 베드에서 응용 프로그램 공유를 통해 미리 사용해보거나 테스트할 수 있는 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템을 제공하는 것이다.Another object of the present invention is a heterogeneous type that can be used or tested in advance through application sharing in a test bed in which the application is installed, without having to install the application in a user terminal for testing a specific application developed. An object control method and system for sharing resources between devices is provided.

상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, 공유 참여 단말기에서 소스 제공 단말기에 설치된 응용 프로그램을 통신망을 통해 공유하는 방법에 있어서-여기서, 상기 공유 참여 단말기는 통신 서버를 경유하여 상기 소스 제공 단말기와 통신망을 통해 결합되고, 상기 응용 프로그램을 포함하지 아니함-, 통신 서버로부터 상기 응용 프로그램에 상응하는 원시화면 이미지를 수신하여 표시부에 디스플레이하는 단계-여기서, 상기 원시화면 이미지는 상기 응용 프로그램의 실행에 따른 작업화면 이미지임-; 이벤트 발생이 감지되면 상기 이벤트에 상응하여 미리 지정된 형태의 이벤트 정보를 생성하는 단계-여기서, 상기 이벤트는 마우스 이벤트, 키보드 이벤트 중 적어도 어느 하나임-; 상기 이벤트 정보를 통신망을 통해 상기 통신 서버로 전송하는 단계; 상기 통신 서버로부터 상기 이벤트 정보에 상응하는 부분 이미지 정보를 수신하는 단계-여기서, 상기 부분 이미지 정보는 적어도 부분 이미지 데이터 및 상기 부분 이미지 데이터에 상응하는 이미지 좌표 정보를 포함함-; 및 상기 부분 이미지 데이터 및 상기 이미지 좌표 정보를 이용하여 상기 원시화면 이미지에서 상기 발생된 이벤트에 상응하는 영역을 갱신하는 단계를 포함하되, 상기 소스 제공 단말기는 상기 통신 서버로부터 상기 이벤트 정보를 수신하고, 상기 이벤트 정보를 이용하여 상기 응용 프로그램을 실행하고, 실행 결과 화면을 캡쳐하여 상기 부분 이미지 정보를 생성하며, 상기 부분 이미지 정보를 통신망을 통해 상기 통신 서버로 전송하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법이 제공되고, 당해 통신망을 이용한 응용 프로그램 공유 방법의 수행을 가능하게 하는 시스템, 장치 및 기록매체가 제공된다.In order to achieve the above object, according to an aspect of the present invention, in a method for sharing an application installed in a source providing terminal in a sharing participating terminal via a communication network, wherein the sharing participating terminal is the source via a communication server; Coupled to a providing terminal and a communication network, and not including the application program; receiving a raw screen image corresponding to the application program from a communication server and displaying the raw screen image on the display unit, wherein the raw screen image is stored in the application program. It is a work screen image according to execution; Generating event information of a predetermined form corresponding to the event when an event occurrence is detected, wherein the event is at least one of a mouse event and a keyboard event; Transmitting the event information to the communication server through a communication network; Receiving partial image information corresponding to the event information from the communication server, wherein the partial image information includes at least partial image data and image coordinate information corresponding to the partial image data; And updating the area corresponding to the generated event in the raw screen image by using the partial image data and the image coordinate information, wherein the source providing terminal receives the event information from the communication server, The application program is executed using the event information, the execution result screen is captured, the partial image information is generated, and the partial image information is transmitted to the communication server through a communication network. A sharing method is provided, and a system, apparatus, and recording medium are provided for enabling the execution of an application program sharing method using the communication network.

상기 마우스 이벤트가 발생한 경우, 상기 미리 지정된 형태의 이벤트 정보를 생성하는 단계는 상기 마우스 이벤트의 발생을 감지하는 단계; 상기 마우스 이벤트에 상응하는 마우스 포인터 위치를 마우스 좌표 정보로 생성하는 단계; 및 마우스 이벤트 지시자 및 상기 마우스 좌표 정보를 이용하여 상기 마우스 이벤트에 상응하는 패킷 데이터를 생성하는 단계를 포함할 수 있다.When the mouse event occurs, generating the predetermined type of event information comprises: detecting the occurrence of the mouse event; Generating a mouse pointer position corresponding to the mouse event as mouse coordinate information; And generating packet data corresponding to the mouse event by using a mouse event indicator and the mouse coordinate information.

또한, 상기 키보드 이벤트가 발생한 경우, 상기 미리 지정된 형태의 이벤트 정보를 생성하는 단계는 상기 키보드 이벤트의 발생을 감지하는 단계; 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 추출하는 단계; 키보드 이벤트 지시자 및 상기 입력 키버튼 값을 이용하여 상기 키보드 이벤트에 상응하는 패킷 데이터를 생성하는 단계를 포함할 수 있다.상기 패킷 데이터는 상기 마우스 이벤트 또는 상기 키보드 이벤트를 지시하는 이벤트 종류 필드와, 상기 마우스 이벤트에 상응하는 마우스 좌표 정보 또는 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 포함하는 데이터 필드를 포함할 수 있다.In addition, when the keyboard event occurs, generating the predetermined type of event information comprises: detecting the occurrence of the keyboard event; Extracting an input key button value corresponding to the keyboard event; And generating packet data corresponding to the keyboard event by using a keyboard event indicator and the input key button value. The packet data may include an event type field indicating the mouse event or the keyboard event; It may include a data field including mouse coordinate information corresponding to a mouse event or an input key button value corresponding to the keyboard event.

그리고, 상기 공유 참여 단말기 및 상기 소스 제공 단말기는 각각 이기종 단말기일 수 있다.The sharing participating terminal and the source providing terminal may be heterogeneous terminals, respectively.

그리고, 상기 원시화면 이미지에서 상기 발생된 이벤트에 상응하는 영역을 갱신하는 단계는, 상기 원시화면 이미지 중에서 상기 이미지 좌표 정보에 상응하는 영역을 판단하는 단계; 및 상기 판단된 영역을 상기 부분 이미지 데이터로 대체하는 단계를 포함할 수 있다.The updating of an area corresponding to the generated event in the raw screen image may include: determining an area corresponding to the image coordinate information among the raw screen image; And replacing the determined area with the partial image data.

상기 마우스 이벤트는 마우스의 움직임, 마우스 클릭, 더블 클릭, 드래그 앤 드롭 중 적어도 어느 하나를 포함할 수 있다.The mouse event may include at least one of mouse movement, mouse click, double click, and drag and drop.

본 발명의 바람직한 일 실시예에서 소스 제공 단말기에 설치된 응용 프로그램을 통신망을 통해 공유 참여 단말기와 공유하기 위해, 소스 제공 단말기에서 수행하는 화면 이미지 제공 방법에 있어서-여기서, 통신 서버는 통신망을 통해 상기 공유 참여 단말기 및 상기 소스 제공 단말기와 결합되고, 상기 공유 참여 단말기는 상기 응용 프로그램을 포함하지 아니함-, 상기 응용 프로그램을 실행하는 단계; 상기 응용 프로그램의 실행에 따른 원시 작업화면 이미지를 생성하여 통신망을 통해 상기 통신 서버로 전송하는 단계; 상기 통신 서버로부터 이벤트 정보를 수신하는 단계-여기서, 상기 이벤트 정보는 마우스 이벤트 또는 키보드 이벤트를 지시하는 이벤트 종류 필드와, 상기 마우스 이벤트에 상응하는 마우스 좌표 정보 또는 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 포함하는 데이터 필드를 포함함-; 상기 이벤트 정보에 상응하여 상기 응용 프로그램을 동작시키는 단계; 상기 응용 프로그램의 동작 결과에 상응하는 갱신 작업화면 이미지를 생성하는 단계; 상기 원시 작업화면 이미지 및 상기 갱신 작업화면 이미지 중 상이한 영역에 상응하는 부분 이미지를 생성하는 단계; 상기 부분 이미지를 이용하여 부분 이미지 정보를 생성하는 단계-여기서, 상기 부분 이미지 정보는 적어도 부분 이미지 데이터 및 상기 부분 이미지 데이터에 상응하는 이미지 좌표 정보를 포함함-; 및 상기 부분 이미지 정보를 통신망을 통해 상기 통신 서버로 전송하는 단계를 포함하되, 상기 공유 참여 단말기가 상기 원시 작업화면 이미지를 수신하여 디스플레이하고, 상기 원시 작업화면 이미지 중 임의의 영역에서의 이벤트 발생이 감지되면, 발생된 이벤트에 상응하는 상기 이벤트 정보를 생성하여 상기 통신 서버로 전송하고, 상기 통신 서버로부터 수신되는 상기 부분 이미지 정보를 이용하여 상기 이벤트 발생에 상응하는 영역을 갱신하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법이 제공되고, 당해 통신망을 이용한 응용 프로그램 공유 방법의 수행을 가능하게 하는 시스템, 장치 및 기록매체가 제공된다. 상기 원시 작업화면 이미지 및 상기 갱신 작업화면 이미지 중 상이한 영역에 상응하는 부분 이미지를 생성하는 단계는, 상기 마우스 좌표 정보에 상응하는 영역의 부분 이미지를 추출하는 것을 특징으로 할 수 있다. In a preferred embodiment of the present invention, in order to share an application installed in a source providing terminal with a sharing participating terminal through a communication network, a screen image providing method performed by the source providing terminal, wherein the communication server is the sharing through the communication network Coupled with a participant terminal and the source providing terminal, wherein the shared participant terminal does not include the application program; executing the application program; Generating a raw work screen image according to execution of the application program and transmitting the raw work screen image to the communication server through a communication network; Receiving event information from the communication server, wherein the event information includes an event type field indicating a mouse event or a keyboard event, mouse coordinate information corresponding to the mouse event, or an input key button value corresponding to the keyboard event. Including a data field comprising; Operating the application program according to the event information; Generating an update work screen image corresponding to an operation result of the application program; Generating a partial image corresponding to a different area of the original work screen image and the update work screen image; Generating partial image information using the partial image, wherein the partial image information includes at least partial image data and image coordinate information corresponding to the partial image data; And transmitting the partial image information to the communication server through a communication network, wherein the sharing participating terminal receives and displays the raw work screen image, and an event occurs in any region of the raw work screen image. If detected, generates the event information corresponding to the generated event and transmits it to the communication server, and updates the area corresponding to the event occurrence using the partial image information received from the communication server. Provided is an application program sharing method using the present invention, and a system, apparatus, and a recording medium for enabling the application program sharing method using the communication network are provided. The generating of the partial image corresponding to a different region of the raw work screen image and the update work screen image may include extracting a partial image of a region corresponding to the mouse coordinate information.

또한, 상기 소스 제공 단말기의 표시 화면이 복수의 제1 영역으로 구분되고, 각각의 제1 영역은 복수의 제2 영역으로 구분되며, 각각의 제1 영역은 독립된 변경 사항 관리부에 의해 관리되는 경우-여기서, 상기 표시 화면은 전체화면 또는 상기 응용 프로그램이 실행되는 활성 윈도우임-, 상기 갱신 작업화면 이미지를 생성하는 단계 및 상기 부분 이미지를 생성하는 단계는, 상기 독립된 변경 사항 관리부가 관리하는 제1 영역의 영역 이미지를 캡쳐하는 단계; 상기 변경 사항 관리부가 상기 영역 이미지가 상기 원시 작업화면 이미지의 상응하는 영역의 이미지와 변경되었는지 여부를 판단하는 단계; 변경된 경우 해당 영역을 관리하는 변경 사항 관리부가 부분 이미지의 생성을 요청하는 단계; 및 상기 변경된 영역 이미지를 부분 이미지로 생성하는 단계를 포함할 수 있다.그리고, 본 발명에 따른 통신망을 이용한 응용 프로그램 공유 방법은 이벤트 발생이 감지되면 상기 발생된 이벤트에 상응하여 상기 응용 프로그램을 동작시키는 단계를 더 포함할 수 있다. In addition, when the display screen of the source providing terminal is divided into a plurality of first regions, each of the first regions is divided into a plurality of second regions, and each of the first regions is managed by an independent change management unit. The display screen may be a full screen or an active window in which the application program is executed. The generating of the update work screen image and the generating of the partial image may include: a first area managed by the independent change manager; Capturing an area image of a; Determining, by the change management unit, whether the area image is changed from an image of a corresponding area of the raw work screen image; Requesting generation of a partial image by a change manager for managing a corresponding area when changed; And generating the changed region image as a partial image. When the occurrence of an event is detected, an application program sharing method using the communication network according to the present invention operates the application program according to the generated event. It may further comprise a step.

이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 이기종 장치간 자원 공유를 위한 객체 제어 방법을 수행하기 위한 전체 시스템 구성을 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating an overall system configuration for performing an object control method for resource sharing between heterogeneous devices according to a preferred embodiment of the present invention.

도 1을 참조하면, 이기종 장치간 자원 공유를 위한 객체 제어 방법을 수행하기 위한 전체 시스템은 소스 제공 단말기(110), 통신 서버(130) 및 공유 참여 단말기(160)를 포함한다. 소스 제공 단말기(110) 및 공유 참여 단말기(160)는 동일한 운영체제하의 동일한 기종의 사용자 단말기이거나 상이한 운영체제하의 상이한 기종의 사용자 단말기일 수 있다. 사용자 단말기는 예를 들어 컴퓨터, 개인 휴대 단말기(PDA), 이동통신 단말기, 유닉스 시스템 단말기 등일 수 있다. 다만, 여기서는 소스 제공 단말기(110)는 공유 자원(예를 들어, 응용 프로그램, 이미지 등의 전자파일)을 구비한 사용자 단말기이고, 공유 참여 단말기(160)는 공유 자원을 구비하지 못한 단말기로서 소스 제공 단말기(110)가 구비한 공유 자원을 공유하여 협업(collaboration)하고자 하는 사용자 단말기로 정의하기로 한다. 물론, 도 1에는 하나의 공유 참여 단말기(160)만이 도시되었으나, 통신망을 통해 소스 제공 단말기(110)는 복수개의 공유 참여 단말기(160)와 결합될 수 있다.Referring to FIG. 1, the entire system for performing an object control method for resource sharing between heterogeneous devices includes a source providing terminal 110, a communication server 130, and a sharing participating terminal 160. The source providing terminal 110 and the sharing participating terminal 160 may be the same type of user terminal under the same operating system or different types of user terminal under different operating systems. The user terminal may be, for example, a computer, a personal digital assistant (PDA), a mobile communication terminal, a Unix system terminal, or the like. However, in this case, the source providing terminal 110 is a user terminal having a shared resource (for example, an electronic file such as an application program or an image), and the sharing participating terminal 160 is provided as a terminal having no shared resource. The shared resource provided by the terminal 110 will be defined as a user terminal to collaborate. Of course, although only one sharing participating terminal 160 is illustrated in FIG. 1, the source providing terminal 110 may be combined with a plurality of sharing participating terminals 160 through a communication network.

소스 제공 단말기(110)와 공유 참여 단말기(160)는 소스 제공 단말기(110)가 보유한 자원을 공유하고, 소스 제공 단말기(110) 또는 공유 참여 단말기(160)에서 발생한 이벤트에 상응하는 화면을 공유할 수 있도록 하는 화면 관리 모듈(115a, 115b - 이하 115라 칭함) 및 객체 관리 모듈(120a, 120b - 이하 120이라 칭함)을 구비한다. 화면 관리 모듈(115) 및 객체 관리 모듈(120)은 소스 제공 단말기(110) 및/또는 공유 참여 단말기(160)의 제어부(예를 들어, CPU)와 결합된 하드웨어 구성으로 이루어지거나 각각의 기능을 수행할 수 있는 프로그램 형태로 구현될 수 있다.소스 제공 단말기(110)에 포함된 화면 관리 모듈(115)은 주기적으로, 소스 제공 단말기(110)에 이벤트(예를 들어, 마우스 클릭, 키버튼 입력, 화면 표시 상태 갱신)가 발생하거나 공유 참여 단말기(160)로부터 이벤트 신호가 수신된 경우 이에 상응하는 특정 화면(예를 들어, 전체화면, 활성 윈도우 화면, 변경 부분에 상응하는 부분화면)을 캡쳐하여 당해 이미지 데이터(예를 들어, 비트맵(bitmap) 형태의 이미지 데이터)를 통신 서버로 전송하는 기능을 수행한다. 공유 참여 단말기(160)에 포함된 화면 관리 모듈(115)은 소스 제공 단말기(110)로부터 통신 서버(130)를 경유하여 수신된 이미지 데이터를 복원하여 공유 참여 단말기(160)의 표시부에 디스플레이한다. 만일 당해 이미지 데이터가 전체 화면의 일부에 해당하는 부분 이미지인 경우에는 해당 영역만을 당해 부분 이미지를 이용하여 업데이트하며, 화면의 줌 인과 줌 아웃을 관리한다.The source providing terminal 110 and the sharing participating terminal 160 share a resource held by the source providing terminal 110 and share a screen corresponding to an event generated in the source providing terminal 110 or the sharing participating terminal 160. And a screen management module (115a, 115b hereinafter referred to as 115) and an object management module (120a, 120b hereinafter referred to as 120). The screen management module 115 and the object management module 120 may be configured in a hardware configuration combined with a control unit (eg, a CPU) of the source providing terminal 110 and / or the sharing participating terminal 160, or may perform respective functions. The screen management module 115 included in the source providing terminal 110 may periodically perform an event (eg, a mouse click or a key button input) on the source providing terminal 110. When a screen display status update occurs or an event signal is received from the sharing participation terminal 160, a specific screen (for example, a full screen, an active window screen, and a partial screen corresponding to a changed part) is captured. The image data (for example, image data in the form of a bitmap) is transmitted to the communication server. The screen management module 115 included in the sharing participating terminal 160 restores the image data received from the source providing terminal 110 via the communication server 130 and displays the image data on the display unit of the sharing participating terminal 160. If the image data is a partial image corresponding to a part of the entire screen, only the corresponding region is updated using the partial image, and the zoom in and zoom out of the screen are managed.

그리고, 소스 제공 단말기(110)에 포함된 객체 관리 모듈(120)은 소스 제공 단말기(110)에 발생된 이벤트(예를 들어, 마우스의 움직임, 마우스 클릭, 더블 클릭, 드래그 앤 드롭 등의 마우스 이벤트, 키버튼 입력 등의 키보드 이벤트, 접속, 접속 해제, 역할 변경 등의 사용자 접속 이벤트, 배너 광고창의 갱신 등과 같은 화면 표시 상태 갱신)나 공유 참여 단말기(160)로부터 수신된 이벤트를 해석하여 공유되어지는 응용 프로그램에서 해당 기능이 수행되도록 한다. 공유 참여 단말기(160)에 포함된 객체 관리 모듈(120)은 공유 참여 단말기(160)에 이벤트가 발생한 경우 당해 이벤트를 훅킹(hooking)하여 객체화하고, 객체화된 이벤트 정보를 통신망을 통해 통신 서버(130)로 전송한다. 객체 관리 모듈(120)은 모든 사용자 단말기에서의 마우스 입력, 키보드 입력 등을 에뮬레이트(emulate)하여야 하므로, 통신 서버(130)로부터 수신된 이벤트 정보를 해당 운영체제에서 처리할 수 있기 위한 운영 체제별 처리 루틴을 가져야 한다.In addition, the object management module 120 included in the source providing terminal 110 may generate an event (eg, a mouse movement, a mouse click, a double click, a drag and drop, etc.) generated in the source providing terminal 110. Keyboard events such as key button input, user access events such as connection, disconnection, role change, and screen display state updates such as banner advertisement window update) or events received from the sharing participating terminal 160 to be shared. Allows the function to be performed in an application. The object management module 120 included in the sharing participating terminal 160 may object by hooking the corresponding event when an event occurs in the sharing participating terminal 160, and convert the objectized event information to the communication server 130 through a communication network. To send). Since the object management module 120 must emulate mouse input, keyboard input, etc. in all user terminals, an operating system-specific processing routine for processing the event information received from the communication server 130 in the corresponding operating system. Should have

통신 서버(130)는 소스 제공 단말기(110)와 공유 참여 단말기(160)간에 응용 프로그램 공유가 이루어지도록 소스 제공 단말기(110) 또는 공유 참여 단말기(160)로부터의 이벤트 정보 또는 이미지 데이터를 상대방에게 전송하는 기능을 수행하며, 송수신부(135), 사용자 관리부(140), 객체 관리부(145), 화면 동기화부(150) 및 제어부(155)를 포함한다. 물론, 통신 서버(130)는 운용 프로그램, 가입자 정보(예를 들어, 개인정보), 공유 공간 정보(예를 들어, 식별자, 공유자 등), 이미지 데이터 등을 저장하기 위한 저장부를 더 포함할 수 있다.송수신부(135)는 소스 제공 단말기(110)로부터 이미지 데이터를 수신하여 공유 참여 단말기(160)로 전송하고, 공유 참여 단말기(160)로부터 수신되는 이벤트 정보를 소스 제공 단말기(110)로 전송하는 기능을 수행한다. 송수신부(135)는 복수의 사용자 단말기들과 데이터를 송수신할 수 있는 TCP/IP 처리 모듈일 수 있다. 송수신부(135)는 멀티 캐스트 방식 통신 방법을 이용하여 공유 공간별 접속된 모든 사용자들에게 사용자 정보, 공유 객체와 이미지 데이터를 전송한다.The communication server 130 transmits event information or image data from the source providing terminal 110 or the sharing participating terminal 160 to the counterpart so that application program sharing is performed between the source providing terminal 110 and the sharing participating terminal 160. And a transmitter / receiver 135, a user manager 140, an object manager 145, a screen synchronizer 150, and a controller 155. Of course, the communication server 130 may further include a storage unit for storing an operation program, subscriber information (eg, personal information), shared space information (eg, identifier, sharer, etc.), image data, and the like. The transmitter / receiver 135 receives image data from the source providing terminal 110 and transmits the image data to the sharing participating terminal 160, and transmits the event information received from the sharing participating terminal 160 to the source providing terminal 110. Perform the function. The transceiver 135 may be a TCP / IP processing module capable of transmitting and receiving data with a plurality of user terminals. The transmitter / receiver 135 transmits user information, shared objects, and image data to all users connected to each shared space by using a multicast communication method.

사용자 관리부(140)는 개별적 공유 공간에 접속한 사용자들(즉, 소스 제공 단말기(110)의 사용자 및 공유 참여 단말기(160)의 사용자)의 동적인 참여 정보를 유지하고, 이를 당해 사용자들의 단말기로 전송하는 기능을 수행한다. 참여 정보는 송수신부(135)를 통해 전송될 수 있다.객체 관리부(145)는 공유 공간별 공유 객체 정보들(예를 들어, 전체 이미지, 부분 이미지, 이벤트 정보 등)을 관리하며, 공유 공간에서 이미 공유가 진행되는 중에 접속한 공유 참여 단말기(160)로 모든 공유 객체 정보들 전송하여 중간 접속 사용자들에게도 동일한 뷰(View)를 보장하게 한다. 공유 객체 정보들은 객체 관리부(145)에 저장되거나 별도의 저장부에 저장될 수 있다. The user manager 140 maintains dynamic participation information of users accessing individual shared spaces (ie, the user of the source providing terminal 110 and the user of the sharing participating terminal 160), and transmits the information to the terminals of the corresponding users. Perform the function of sending. The participation information may be transmitted through the transmission / reception unit 135. The object manager 145 manages shared object information (for example, full image, partial image, event information, etc.) for each shared space, All the shared object information is transmitted to the shared participating terminal 160 connected while the sharing is in progress, thereby ensuring the same view for the intermediate access users. The shared object information may be stored in the object manager 145 or may be stored in a separate storage unit.

화면 동기화부(150)는 소스 제공 단말기(110)로부터 수신되는 이미지 데이터의 비동기식 전송을 제어한다. 화면 동기화부(150)는 해당 공유 공간에 접속한 사용자들에 상응하는 통신 쓰레드를 생성한다. 즉, 공유 공간으로의 접속 요청, 이벤트 정보 또는 부분 이미지 데이터 등이 통신 서버(130)에 수신되면, 화면 동기화부(150)는 공유 공간에 접속한 각각의 사용자들에게 전송되어질 필요가 있는 제어 정보 및/또는 이미지 정보들을 검색한다. 그리고, 각각의 제어 정보 및/또는 이미지 정보들은 각각의 사용자에 상응하는 통신 플래그를 포함하고 있다. 예를 들어, 임의의 사용자에 대해 특정 이미지 정보의 통신 플래그가 0이면 전송을 개시하여 전송이 완료되면 통신 플래그를 1로 세팅한다. 따라서, 화면 동기화부(150)는 통신 플래그를 이용하여 전송이 완료되었거나 전송될 필요가 있는 제어정보 및/또는 이미지 정보들을 판별할 수 있으며, 각각의 사용자들은 최신 정보만을 제공받을 수 있게 된다. 이러한 방법을 이용할 때 통신 속도가 빠른 사용자가 다른 사용자들에 비해 최신 정보를 더 빨리 제공받을 수 있게 되며, 모든 사용자들에 대해 QoS(Quality of Service)를 보장할 수 있다. 제어부(155)는 통신 서버(130)가 상술한 기능을 수행할 수 있도록 사용자 관리부(140), 객체 관리부(145) 및 화면 동기화부(150)를 제어한다. The screen synchronizer 150 controls asynchronous transmission of image data received from the source providing terminal 110. The screen synchronizer 150 creates a communication thread corresponding to the users accessing the shared space. That is, when a request for connection to the shared space, event information or partial image data is received by the communication server 130, the screen synchronizer 150 needs to be transmitted to each user accessing the shared space. And / or retrieve image information. Each control information and / or image information includes a communication flag corresponding to each user. For example, if a communication flag of specific image information is 0 for any user, the transmission is started, and when the transmission is completed, the communication flag is set to 1. Accordingly, the screen synchronizer 150 may determine control information and / or image information that has been completed or need to be transmitted using the communication flag, and each user may be provided with only the latest information. Using this method, a user with a high communication speed can receive the latest information faster than other users, and can guarantee a quality of service (QoS) for all users. The controller 155 controls the user manager 140, the object manager 145, and the screen synchronizer 150 so that the communication server 130 may perform the above functions.

도 2는 본 발명의 바람직한 일 실시예에 따른 이기종 장치간 자원 공유를 위한 객체 제어 방법의 수행 과정을 나타낸 순서도이고, 도 3a는 본 발명의 바람직한 일 실시예에 따른 공유 참여 단말기에서의 이벤트 정보 전송 절차를 나타낸 순서도이며, 도 3b는 본 발명의 바람직한 일 실시예에 따른 화면 영역 구분을 나타낸 도면이고, 도 3c는 본 발명의 바람직한 일 실시예에 따른 이벤트 정보 전송 패킷을 나타낸 도면이다. 도 4a는 본 발명의 바람직한 일 실시예에 따른 소스 제공 단말기에서의 프로그램 공유 절차를 나타낸 도면이고, 도 4b는 본 발명의 바람직한 일 실시예에 따른 이미지 데이터 전송 패킷을 나타낸 도면이다.2 is a flowchart illustrating a process of performing an object control method for sharing resources between heterogeneous devices according to an embodiment of the present invention, and FIG. 3A is a diagram illustrating event information transmission from a sharing participating terminal according to an embodiment of the present invention. FIG. 3B is a diagram illustrating screen area classification according to an exemplary embodiment of the present invention, and FIG. 3C is a diagram illustrating an event information transmission packet according to an exemplary embodiment of the present invention. 4A illustrates a program sharing procedure in a source providing terminal according to an exemplary embodiment of the present invention, and FIG. 4B illustrates an image data transmission packet according to an exemplary embodiment of the present invention.

도 2를 참조하면, 단계 205에서 소스 제공 단말기(110)는 자원(예를 들어, 응용 프로그램, 전자파일 등이나 이하에서는 응용 프로그램의 경우를 중심으로 설명함)을 공유하기 위해 통신 서버(130)로 통신망을 통해 공유 공간 생성 요청 및 원시화면 이미지를 전송한다. 공유 공간 생성 요청은 채팅 서비스 시스템의 경우 채팅방 생성과 유사한 절차로 진행될 수 있으며, 원시화면 이미지는 특정 응용 프로그램 실행시 표시되는 원시화면 또는 해당 응용 프로그램(예를 들어, Microsoft Excel)이 특정 전자파일(예를 들어, share.xls)을 실행한 경우의 실행화면일 수 있다. 공유 공간 생성 요청과 원시화면 이미지는 순차적으로 전송되거나 시간을 달리하여 전송될 수도 있다. 통신 서버(130)는 단계 210에서 소스 제공 단말기(110)로부터 공유 공간 생성 요청에 상응하는 공유 공간을 생성하고, 해당 원시화면 이미지를 저장한다. 물론, 소스 제공 단말기(110)로부터 수신된 공유 공간 생성 요청 내에 공유 참여자 정보(예를 들어, ID)가 포함된 경우, 해당 공유 참여자들에게 실시간 메시지를 전송하여 해당 공유 공간에 접속하도록 유도할 수 있다.Referring to FIG. 2, in step 205, the source providing terminal 110 shares the resources (for example, an application program, an electronic file, or the like, which will be described below with respect to an application program). Sends a request for creating a shared space and a raw screen image through a communication network. The request for creating a shared space may be similar to the process of creating a chat room in a chat service system. The raw screen image may be a raw screen that is displayed when a specific application is executed, or the corresponding application (for example, Microsoft Excel) may have a specific electronic file ( For example, this may be an execution screen when share.xls) is executed. The shared space creation request and the raw screen image may be transmitted sequentially or at different times. The communication server 130 generates a shared space corresponding to the shared space creation request from the source providing terminal 110 in step 210 and stores the corresponding raw screen image. Of course, if the shared participant information (eg, ID) is included in the shared space creation request received from the source providing terminal 110, the shared participant may be sent to the shared participant to induce access to the shared space. have.

단계 215에서 공유 참여 단말기(160)는 통신망을 통해 통신 서버(130)로 특정 공유 공간에 접속하기 위한 공유 공간 선택 정보를 전송한다.In step 215, the sharing participating terminal 160 transmits shared space selection information for accessing a specific shared space to the communication server 130 through a communication network.

통신 서버(130)는 단계 220에서 당해 공유 공간 선택 정보에 상응하는 공유 공간에 공유 참여 단말기(160) 사용자를 추가하고, 단계 225로 진행하여 해당 공유 공간 내에 접속한 공유 참여 단말기(160)로 저장된 원시화면 이미지를 전송한다.The communication server 130 adds the user to the shared participation terminal 160 in the shared space corresponding to the shared space selection information in step 220, and proceeds to step 225 to store the shared participating terminal 160 connected in the shared space. Send the raw screen image.

도 2에는 도시되지 않았으나 소스 제공 단말기(110)의 사용자와 공유 참여 단말기(160)의 사용자들의 접속여부를 허용하기 위한 인증 단계가 더 포함될 수 있음은 당연하다.Although not shown in FIG. 2, an authentication step for allowing the user of the source providing terminal 110 and the user of the sharing participating terminal 160 to be connected may be further included.

공유 참여 단말기(160)는 단계 230에서 통신 서버(130)로부터 수신되는 원시화면 이미지를 표시부에 디스플레이하고, 단계 235로 진행하여 공유 참여 단말기(160)에 이벤트(예를 들어, 마우스 클릭, 더블 클릭, 드래그 앤 드롭 등의 마우스 이벤트, 키버튼 입력 등의 키보드 이벤트)가 발생하면 해당 이벤트를 객체 정보화하여 통신 서버(130)로 전송한다.The sharing participating terminal 160 displays the raw screen image received from the communication server 130 on the display unit in step 230, and the flow proceeds to step 235 in which an event (for example, a mouse click or a double click is performed) on the sharing participating terminal 160. When a mouse event such as a drag and drop, a keyboard event such as a key button input, etc. occurs, the corresponding event is converted into object information and transmitted to the communication server 130.

단계 240에서 통신 서버(130)는 공유 참여 단말기(160)로부터 이벤트 정보를 수신하고, 수신된 이벤트 정보를 통신망을 통해 소스 제공 단말기(110)로 전송한다.In operation 240, the communication server 130 receives event information from the sharing participating terminal 160 and transmits the received event information to the source providing terminal 110 through the communication network.

소스 제공 단말기(110)는 단계 245에서 통신 서버(130)로부터 이벤트 정보를 수신하고, 수신된 이벤트 정보에 상응하여 응용 프로그램을 동작시킨 후, 동작 결과에 상응하는 부분 이미지 데이터를 생성한다. 그리고, 단계 250으로 진행하여 생성된 부분 이미지 데이터를 통신망을 통해 통신 서버(130)로 전송한다.The source providing terminal 110 receives event information from the communication server 130 in step 245, operates the application program according to the received event information, and then generates partial image data corresponding to the operation result. In operation 250, the generated partial image data is transmitted to the communication server 130 through the communication network.

단계 255에서 통신 서버(130)는 소스 제공 단말기(110)로부터 부분 이미지 데이터를 수신하고, 수신된 부분 이미지를 통신망을 통해 공유 참여 단말기(160)로 전송한다. 통신 서버(130)는 당해 부분 이미지 데이터를 저장함으로써 추후 당해 공유 공간에 접속한 사용자에게 현재의 화면 이미지를 전송하여 모든 공유 공간 접속자가 동일한 화면 이미지를 공유하도록 할 수 있다.In operation 255, the communication server 130 receives the partial image data from the source providing terminal 110 and transmits the received partial image to the sharing participating terminal 160 through the communication network. By storing the partial image data, the communication server 130 may transmit the current screen image to a user who accesses the shared space later so that all shared space accessors share the same screen image.

단계 260에서 공유 참여 단말기(160)는 통신 서버(130)로부터 수신한 부분 이미지 데이터를 이용하여 표시부에 표시된 원시화면 이미지를 갱신한다. 즉, 공유 참여 단말기(160)에는 이벤트 정보에 상응하는 영역의 화면 이미지만이 갱신되는 것이다.In operation 260, the sharing participation terminal 160 updates the raw screen image displayed on the display unit by using the partial image data received from the communication server 130. That is, only the screen image of the region corresponding to the event information is updated in the sharing participating terminal 160.

이제까지 도 2를 참조하여 이기종 장치간 자원 공유를 수행함에 있어 공유 참여 단말기(160)에서 발생한 이벤트 정보에 상응하는 동작을 소스 제공 단말기(110)에서 수행하여 결과 이미지 데이터를 공유 참여 단말기(160)로 전송함으로써 공유 참여 단말기(160)에서 소스 제공 단말기(110)의 자원을 공유하는 방법을 중심으로 설명하였다. 물론, 소스 제공 단말기(110)에서 마우스 이벤트 또는 키보드 이벤트의 발생시나 소스 제공 단말기(110)에 설치되어 구동된 응용 프로그램의 표시 화면 변경시(예를 들어, 웹브라우저를 공유하는 상태에서 배너 광고창의 표시 상태가 갱신된 경우) 이벤트 또는 변경 화면에 상응하는 부분 이미지 데이터가 자동으로 생성되어 공유 참여 단말기(160)로 전송됨으로써 소스 제공 단말기(110)에 의한 능동적인 자원 공유도 가능함은 당연하다.So far, referring to FIG. 2, in performing resource sharing between heterogeneous devices, the source providing terminal 110 performs an operation corresponding to the event information generated in the sharing participating terminal 160 to transfer the resultant image data to the sharing participating terminal 160. The method of sharing resources of the source providing terminal 110 by the sharing participating terminal 160 by transmitting them has been described. Of course, when a mouse event or a keyboard event occurs in the source providing terminal 110 or when the display screen of an application program installed and driven in the source providing terminal 110 is changed (for example, the banner advertisement window is shared while the web browser is shared). When the display state is updated), it is natural that the partial image data corresponding to the event or the change screen is automatically generated and transmitted to the sharing participating terminal 160 to enable active resource sharing by the source providing terminal 110.

도 3a 내지 도 3c에는 공유 참여 단말기(160)에서 발생된 이벤트를 통신 서버(130)를 통해 소스 제공 단말기(110)로 전송하고, 소스 제공 단말기(110)로부터 부분 이미지 데이터를 수신하여 원시화면 이미지를 생성하기 위한 순서도 등이 예시되어 있다.3A to 3C, an event generated in the sharing participating terminal 160 is transmitted to the source providing terminal 110 through the communication server 130, and partial image data is received from the source providing terminal 110 to receive the raw screen image. Flowcharts for generating the same are illustrated.

소스 제공 단말기(110) 및 공유 참여 단말기(160)에 포함된 화면 관리 모듈(115) 및 객체 관리 모듈(120)은 시스템 제어 모듈, 공유 프로그램 관리 모듈, 이벤트 관리 모듈, 이미지 관리 모듈, 통신 모듈, 쓰레드(thread) 관리 모듈로 세분될 수 있다. 각 모듈은 각 모듈의 명칭 및 이하의 설명을 통해 쉽게 이해될 수 있을 것이다.The screen management module 115 and the object management module 120 included in the source providing terminal 110 and the sharing participating terminal 160 may include a system control module, a shared program management module, an event management module, an image management module, a communication module, It can be subdivided into thread management modules. Each module will be easily understood from the name of each module and the following description.

도 3a를 참조하면, 공유 참여 단말기(160)는 단계 305에서 원시화면 이미지를 표시부에 디스플레이한다. 단계 310에서 공유 참여 단말기(160)는 원시화면 이미지 영역 내에서 이벤트(예를 들어, 마우스 클릭, 더블 클릭, 드래그 앤 드롭 등의 마우스 이벤트, 키버튼 입력 등의 키보드 이벤트)가 발생했는지 여부를 판단한다. 원시화면 이미지 영역은 도 3b에 예시된 바와 같이 16개의 영역으로 구분될 수 있고, 각각의 영역은 16개의 세부 영역으로 구분된다. 물론, 구분 영역의 수는 필요에 따라 변경될 수 있다. Referring to FIG. 3A, the sharing participation terminal 160 displays the raw screen image on the display unit in step 305. In operation 310, the sharing participation terminal 160 determines whether an event (eg, a mouse event such as a mouse click, a double click, a drag and drop, or a keyboard event such as a key button input) occurs in the raw screen image area. do. The raw screen image area may be divided into 16 areas as illustrated in FIG. 3B, and each area is divided into 16 sub-regions. Of course, the number of division areas can be changed as necessary.

이벤트가 발생하지 않은 경우 단계 315로 진행하여, 공유 참여 단말기(160)는 통신 서버(130)로부터 부분 이미지 데이터가 수신되는지 여부를 판단한다. 당해 부분 이미지 데이터는 예를 들어, 소스 제공 단말기(110)에 이벤트가 발생했거나 표시 상태가 변경된 경우 제공되는 부분 이미지 데이터일 수 있다. 부분 이미지 데이터가 수신되지 않는 경우에는 단계 310으로 진행한다. 그러나, 부분 이미지 데이터가 수신되는 경우에는 단계 320으로 진행하여 부분 이미지를 이용하여 원시화면 이미지를 갱신한다. 이때 통신 서버(130)로부터 수신되는 부분 이미지 데이터는 도 3b에 도시된 하나 이상의 세부 영역에 상응하는 부분 이미지일 수 있고, 부분 이미지 데이터가 수신되면 해당 영역에 상응하는 세부 영역만이 갱신된다. 이러한 방법을 통해 송수신되는 데이터의 양을 최소화할 수 있고, 결과적으로 통신 서버(130) 및 사용자 단말기의 부하를 최소화할 수 있다.If no event occurs, the process proceeds to step 315 where the sharing participation terminal 160 determines whether partial image data is received from the communication server 130. The partial image data may be, for example, partial image data provided when an event occurs in the source providing terminal 110 or a display state is changed. If the partial image data is not received, the flow proceeds to step 310. However, if partial image data is received, the flow advances to step 320 to update the raw screen image using the partial image. In this case, the partial image data received from the communication server 130 may be a partial image corresponding to one or more detailed areas shown in FIG. 3B, and when the partial image data is received, only the detailed area corresponding to the corresponding area is updated. Through this method, the amount of data transmitted and received can be minimized, and as a result, the load on the communication server 130 and the user terminal can be minimized.

그러나, 이벤트가 발생한 경우 단계 325로 진행하여 공유 참여 단말기(160)는 쓰레드 관리 모듈을 구동시킨다. 단계 330에서 구동된 쓰레드 관리 모듈은 어떤 세부 영역에 상응하여 이벤트가 발생했는지 또는 어떤 키버튼의 입력에 의한 이벤트인지를 판단하여 미리 지정된 방식으로 이벤트 정보를 생성한다. 그리고, 단계 335로 진행하여 생성된 이벤트 정보를 통신망을 통해 통신 서버(130)로 전송한다. 통신 서버(130)로 전송되는 이벤트 정보의 패킷 데이터의 구성이 도 3c에 예시되어 있다. 도 3c를 참조하면 이벤트 정보의 패킷 데이터는 이벤트 종류 필드, 좌표값 또는 아스키값 필드를 포함한다. 물론, 헤더나 CRC(Cyclic Redundancy Check) 등이 더 포함될 수 있음은 당연하다. However, if an event occurs, the process proceeds to step 325 where the sharing participating terminal 160 drives the thread management module. The thread management module driven in operation 330 determines whether the event has occurred or the event caused by the input of a key button according to a specific area, and generates event information in a predetermined manner. In operation 335, the generated event information is transmitted to the communication server 130 through the communication network. The configuration of packet data of event information transmitted to the communication server 130 is illustrated in FIG. 3C. Referring to FIG. 3C, the packet data of the event information includes an event type field, a coordinate value, or an ASCII value field. Of course, the header or cyclic redundancy check (CRC) may be further included.

이하, 도 3a 내지 도 3c를 참조하여 설명한 내용을 간략히 다시 한번 설명한다.Hereinafter, the contents described with reference to FIGS. 3A to 3C will be briefly described again.

앞서 설명한 바와 같이, 소스 제공 단말기(110) 및 공유 참여 단말기(160)에 포함된 화면 관리 모듈(115) 및 객체 관리 모듈(120)은 시스템 제어 모듈, 공유 프로그램 관리 모듈, 이벤트 관리 모듈, 이미지 관리 모듈, 통신 모듈, 쓰레드(thread) 관리 모듈로 세분될 수 있다. 시스템 제어 모듈은 소스 제공 단말기(110) 또는 공유 참여 단말기(160)에서 발생되는 모든 이벤트들을 관장하는 것으로써 쓰레드 관리 모듈을 구동하고, 공유 프로그램 관리 모듈, 이미지 관리 모듈 및 통신 모듈을 제어한다. 쓰레드 관리 모듈은 시작 시점에 화면을 캡쳐(소스 제공 단말기(110)의 경우)하고 변환된 부분을 자동 검출한다. 즉, 쓰레드 관리 모듈은 화면 크기가 16등분된 각 영역을 관리하고, 분할 캡처하는 쓰레드들을 구동하고, 각 쓰레드에서 관리하는 영역(또는 세부 영역) 중 변화된 영역(또는 세부 영역)이 존재하는지 여부를 비교한 후 시스템 제어기에 알려준다. 즉, 각 쓰레드는 할당된 영역을 시스템에서 정해진 시간마다 또는 이벤트 발생 시점마다 자동 캡처하며 이를 DIB(Device Independent Bitmap) 형태로 변환하며 기존의 영역 DIB와 비교하여 변화가 있다면 영역 내에서 세부 영역 단위로 변화 여부를 판단한다. 세부 영역 단위로 비교하여 변화된 세부 영역을 쓰레드 관리 모듈로 알려준다. 공유 프로그램 관리 모듈은 소스 제공 단말기(110)에 설치된 많은 응용 프로그램들 중에서 사용자가 공유하기 위해 지정한 응용 프로그램의 구동과 핸들을 담당한다. 이벤트 관리 모듈은 공유 프로그램의 실행 과정에서 발생된 마우스 이벤트(예를 들어, 마우스 움직임, 마우스 클릭, 더블 클릭 등) 및/또는 키보드 이벤트를 훅킹하며 통신 서버(130)로부터 수신된 각 이벤트들을 공유 프로그램 관리 모듈로 에뮬레이트한다. 이미지 관리 모듈은 쓰레드 관리 모듈로부터 시스템 제어기로 전달된 이미지들(예를 들어, 전체 이미지, 부분 이미지 등)을 통신 모듈에 전달하거나 통신 서버(130)로부터 수신된 부분 이미지 데이터를 복원하여 전달한다. 통신 모듈은 해당 단말기의 유선 및/또는 무선 통신 처리를 하는 것으로 통신 서버(130)와 통신망을 통해 결합되어 데이터를 송수신한다.그리고, 객체 관리 모듈(120)은 발생된 이벤트에 상응하는 이벤트 정보를 생성하여 통신망을 통해 통신 서버(130)로 전송한다. 통신 서버(130)로 전송되는 이벤트 정보의 패킷 데이터는 이벤트 종류(즉, 마우스 이벤트 또는 키보드 이벤트)에 대한 정보 및 각각의 이벤트 종류에 상응하는 입력값(예를 들어, 마우스 이벤트의 경우 마우스의 움직임, 마우스 클릭(up, down), 마우스 더블 클릭, 마우스 드래그 드롭 등이고, 키보드 이벤트의 경우 입력된 키버튼 정보)을 포함한다. 키보드 이벤트의 경우 각각의 키버튼에 상응하는 킷값이 필요할 수 있고, 이의 처리를 위한 키 테이블이 존재할 수 있다.As described above, the screen management module 115 and the object management module 120 included in the source providing terminal 110 and the sharing participating terminal 160 are a system control module, a shared program management module, an event management module, and an image management. It can be subdivided into modules, communication modules, and thread management modules. The system control module manages all events occurring in the source providing terminal 110 or the sharing participating terminal 160 to drive the thread management module and to control the shared program management module, the image management module, and the communication module. The thread management module captures the screen at the start time (in the case of the source providing terminal 110) and automatically detects the converted part. That is, the thread management module manages each area where the screen size is divided into 16, runs the threads for capturing the screen, and checks whether there is a changed area (or detail area) among the areas (or detail areas) managed by each thread. After comparison, the system controller is informed. That is, each thread automatically captures the allocated area every time or event occurs in the system and converts it into DIB (Device Independent Bitmap) format. Determine if there is a change. Compared to the detail area unit, the changed detail area is informed to the thread management module. The shared program management module is in charge of driving and handling an application program designated by a user for sharing among many application programs installed in the source providing terminal 110. The event management module hooks mouse events (eg, mouse movements, mouse clicks, double clicks, etc.) and / or keyboard events generated in the course of executing the shared program, and records each event received from the communication server 130. Emulate with a management module. The image management module transfers images (eg, a whole image, a partial image, etc.) transferred from the thread management module to the system controller to the communication module or restores and transfers partial image data received from the communication server 130. The communication module performs wired and / or wireless communication processing of the corresponding terminal, and is coupled to the communication server 130 through a communication network to transmit and receive data. The object management module 120 transmits event information corresponding to the generated event. It generates and transmits to the communication server 130 through the communication network. The packet data of the event information transmitted to the communication server 130 includes information on the event type (ie, mouse event or keyboard event) and input values corresponding to each event type (eg, mouse movement in case of a mouse event). , Mouse click (up, down), mouse double click, mouse drag drop, and the like, and in the case of a keyboard event, input key button information). In the case of a keyboard event, a kit value corresponding to each key button may be needed, and a key table for processing thereof may exist.

그리고, 도 4a 및 도 4b에는 소스 제공 단말기(110)에서 발생된 이벤트 또는 통신 서버(130)를 통해 공유 참여 단말기(160)로부터 수신된 이벤트 정보에 상응하는 부분 이미지 데이터를 생성하고, 생성된 부분 이미지 데이터를 전송하기 위한 순서도 등이 예시되어 있다.도 4a를 참조하면, 단계 405에서 소스 제공 단말기(110)는 소스 제공 단말기(110)에 이벤트가 발생하였는지 여부를 판단한다. 이벤트가 발생하지 않은 경우에는 단계 407로 진행한다. 4A and 4B, partial image data corresponding to an event generated in the source providing terminal 110 or event information received from the sharing participating terminal 160 through the communication server 130 is generated, and the generated portion A flow chart for transmitting image data is illustrated. Referring to FIG. 4A, the source providing terminal 110 determines whether an event has occurred in the source providing terminal 110 in step 405. If no event occurs, the process proceeds to step 407.

단계 407에서 소스 제공 단말기(110)는 표시부의 표시 상태가 갱신되었는지 여부를 판단한다. 예를 들어, 소스 제공 단말기(110)는 실행된 응용 프로그램의 표시 상태의 전부 또는 일부가 갱신된 경우(예를 들어, 웹브라우저 화면의 배너 광고가 갱신된 경우) 표시 상태가 갱신된 것으로 인식할 수 있다. 즉, 별도의 이벤트 발생없이 표시 정보의 변경 여부를 능동적으로 감시할 수 있는 것이다. 표시 상태가 갱신된 경우에는 단계 415로 진행하고, 그렇지 않은 경우에는 단계 410으로 진행한다.In operation 407, the source providing terminal 110 determines whether the display state of the display unit is updated. For example, the source providing terminal 110 may recognize that the display state is updated when all or part of the display state of the executed application is updated (for example, when the banner advertisement on the web browser screen is updated). Can be. That is, it is possible to actively monitor whether or not the display information is changed without generating an event. If the display state is updated, the process proceeds to step 415; otherwise, the process proceeds to step 410.

단계 410에서 소스 제공 단말기(110)는 통신 서버(130)로부터 이벤트 정보가 수신되는지 여부를 판단한다. 이벤트 정보가 수신되지 않는 경우에는 단계 405로 진행한다. 그러나, 소스 제공 단말기(110) 내에 이벤트가 발생했거나 통신 서버(130)로부터 이벤트 정보가 수신된 경우에는 단계 415로 진행한다. 이후, 단계 415에서 소스 제공 단말기(110)는 발생한 이벤트 또는 수신된 이벤트 정보에 상응하는 영역(또는 세부 영역), 또는 표시 상태가 갱신된 영역을 캡쳐한다. 소스 제공 단말기(110)에 이벤트가 발생하거나 이벤트 정보가 수신된 경우 각각에 이벤트에 상응하는 좌표 정보가 있고, 표시 정보가 갱신된 영역의 좌표도 식별할 수 있으므로 소스 제공 단말기(110)는 어느 영역을 스캔하여야 하는지 판별할 수 있다. 물론, 통신 서버(130)로부터 수신된 이벤트 정보가 소스 제공 단말기(110)에 구비된 응용 프로그램의 실행을 목적으로 하는 경우에는 해당 이벤트 정보에 상응하는 동작을 수행하도록 한 후 수행 결과에 상응하는 화면(즉, 특정 영역 또는 세부 영역)을 캡쳐한다. In operation 410, the source providing terminal 110 determines whether event information is received from the communication server 130. If no event information is received, the flow proceeds to step 405. However, if an event occurs in the source providing terminal 110 or event information is received from the communication server 130, the process proceeds to step 415. Thereafter, in step 415, the source providing terminal 110 captures an area (or a detailed area) corresponding to an event or received event information or an area whose display state is updated. When an event occurs in the source providing terminal 110 or event information is received, each of the coordinate information corresponding to the event and the coordinates of the region in which the display information is updated can be identified. Can be determined whether or not to be scanned. Of course, when the event information received from the communication server 130 is intended to execute the application program provided in the source providing terminal 110, the screen corresponding to the execution result after performing the operation corresponding to the corresponding event information (I.e., specific area or detail area).

그리고, 단계 420에서 소스 제공 단말기(110)는 단계 415를 통해 캡쳐된 부분 이미지와 원래 표시되어있던 전체화면 이미지의 해당 영역의 부분 이미지(또는 종전의 부분 이미지)와 일치하는지 여부를 판단한다. 일치하는 경우에는 부분 이미지를 전송하여 전체화면 이미지를 갱신할 필요가 없으므로 당해 부분 이미지 데이터를 전송하지 않고 단계 405로 진행한다. 그러나, 당해 부분 이미지가 원래 표시되어있던 이미지와 일치하지 않는 경우에는 단계 425로 진행하여 해당 부분 이미지 데이터를 통신 서버(130)로 전송한다.해당 부분 이미지 데이터를 통신 서버(130)로 전송할 때의 패킷 데이터의 구성이 도 4b에 예시되어 있다. 도 4b를 참조하면, 패킷 데이터는 전체 화면에 상응하는 이미지 데이터인지, 아니면 특정 영역에 상응하는 이미지 데이터인지를 표시하기 위한 비트맵 컨트롤 플래그 필드, 해당 이미지 데이터에 상응하는 영역 및/또는 세부 영역을 지시하기 위한 영역값 필드 및 세부 영역값 필드, 당해 이미지 데이터에 상응하는 좌표값 정보를 포함하는 사각 좌표 필드 및 캡쳐된 이미지 정보를 포함하는 부분 이미지 데이터 필드(또는 전체 이미지 데이터 필드)를 포함한다. 이와 같이 당해 패킷 데이터는 비트맵 형태의 이미지로 구성되므로 운영체제나 사용자 단말기 기종에 상관없이 동일하게 적용할 수 있다. In operation 420, the source providing terminal 110 may determine whether the partial image captured in operation 415 matches the partial image (or the previous partial image) of the corresponding region of the full screen image that was originally displayed. If there is a match, it is not necessary to update the full screen image by transmitting the partial image, and the flow proceeds to step 405 without transmitting the partial image data. However, if the partial image does not match the image that was originally displayed, the flow advances to step 425 to transmit the partial image data to the communication server 130. When the partial image data is transmitted to the communication server 130, The configuration of the packet data is illustrated in FIG. 4B. Referring to FIG. 4B, the packet data includes a bitmap control flag field for indicating whether the image data corresponds to the entire screen or the image data corresponding to a specific area, an area corresponding to the image data, and / or a detail area. An area value field and a detail area value field for indicating, a rectangular coordinate field including coordinate value information corresponding to the image data, and a partial image data field (or an entire image data field) including captured image information. Thus, since the packet data is composed of a bitmap image, the packet data can be applied regardless of the operating system or the type of the user terminal.

이하, 상술한 과정을 참조하여 소스 제공 단말기(110)에 설치된 엑셀 프로그램을 엑셀 프로그램이 설치되지 않은 공유 참여 단말기(160)에서 제어(또는 실행)하는 과정을 예로 들어 설명한다.Hereinafter, a process of controlling (or executing) an Excel program installed in the source providing terminal 110 in the shared participation terminal 160 in which the Excel program is not installed will be described with reference to the above-described process.

먼저, 설치된 엑셀 프로그램을 공유하고자 하는 소스 제공 단말기(110)의 사용자가 소스 제공 단말기(110)를 이용하여 통신 서버(130)에 접속하고, 공유 공간을 개설한다.First, a user of a source providing terminal 110 who wants to share an installed Excel program connects to the communication server 130 using the source providing terminal 110 and establishes a shared space.

이후, 소스 제공 단말기(110)에 설치된 엑셀 프로그램을 공유하고자 하는 공유 참여 단말기(160)의 사용자가 공유 참여 단말기(160)를 이용하여 통신 서버(130)에 접속하고, 개설된 공유 공간에 접속한다.Subsequently, a user of the sharing participating terminal 160 who wants to share an Excel program installed in the source providing terminal 110 accesses the communication server 130 using the sharing participating terminal 160, and accesses the opened shared space. .

통신 서버(130)는 공유 공간 개설시(또는 개설 후) 소스 제공 단말기(110)로부터 수신하여 저장한 원시화면 이미지 데이터(즉, 엑셀 프로그램의 실행에 의해 표시되는 엑셀 시트 화면에 상응하는 비트맵 이미지 데이터)를 통신망을 통해 공유 참여 단말기(160)로 전송한다.공유 참여 단말기(160)는 통신 서버(130)로부터 수신된 원시화면 이미지 데이터를 수신하여 표시부에 디스플레이한다. 이 상태에서, 공유 참여 단말기(160)의 사용자가 엑셀 시트(즉, 엑셀 시트에 상응하는 비트맵 이미지) 중 A열 1행에 가나다 라는 데이터를 입력하고자 하는 경우를 가정한다.The communication server 130 stores the raw screen image data received from the source providing terminal 110 when the shared space is opened (or after opening) (ie, a bitmap image corresponding to an Excel sheet screen displayed by execution of an Excel program). Data) is transmitted to the sharing participating terminal 160 through the communication network. The sharing participating terminal 160 receives the raw screen image data received from the communication server 130 and displays it on the display unit. In this state, it is assumed that a user of the sharing participating terminal 160 wants to input data that the user of the sharing participation terminal 160 goes to column A row 1 of the Excel sheet (ie, the bitmap image corresponding to the Excel sheet).

먼저, 공유 참여 단말기(160)의 사용자는 마우스를 이용하여 엑셀 시트 중 A열 1행의 위치를 클릭한다. 공유 참여 단말기(160)는 발생된 이벤트에 상응하는 이벤트 정보를 생성하여 소스 제공 단말기(110)로 전송하고, 소스 제공 단말기(110)는 수신된 이벤트 정보를 이용하여 엑셀 프로그램을 동작시키고 동작 결과에 상응하는 부분 이미지 데이터를 생성하여 공유 참여 단말기(160)로 전송한다. 즉, 소스 제공 단말기(110)는 이벤트 정보에 포함된 마우스 클릭 및 클릭된 좌표 정보에 상응하여 해당 좌표의 셀(즉, 엑셀 시트 내의 임의의 셀)에 마우스 클릭 동작을 수행한다. 엑셀 프로그램은 해당 셀을 활성화할 것이며, 소스 제공 단말기(110)는 해당 셀이 활성화된 상태의 부분 이미지 데이터를 생성하여 공유 참여 단말기(160)로 전송한다. 이때 해당 부분 이미지는 당해 좌표 정보에 상응하는 세부 영역에 상응하는 이미지일 것이다. 이는 소스 제공 단말기(110)가 모든 경우에 전체화면 이미지를 캡쳐하여 전송한다면 시스템에 부하가 많이 걸리는 문제점(예를 들어, 마우스 일시적인 정지 현상, 대용량의 이미지 데이터 송수신)을 해결하기 위한 것이다. 따라서, 캡처의 대상이 되는 화면 영역을 복수 개로 분할하고 각 영역을 각 쓰레드가 일임(즉, 하나의 쓰레드가 하나의 영역 및 해당 영역에 포함된 복수의 세부 영역을 담당)하여 처리하고 변화된 부분만을 감지하여 변화된 세부 영역(또는 영역)만을 전달하는 방법을 적용한다. 이와 같이 캡쳐될 필요성이 있는 화면 이미지를 영역과 세부 영역으로 나누어 처리함으로써 시스템의 부하를 최소화할 수 있는 것이다.First, a user of the sharing participating terminal 160 clicks a position of row A of column A of an Excel sheet by using a mouse. The sharing participating terminal 160 generates event information corresponding to the generated event and transmits the generated event information to the source providing terminal 110, and the source providing terminal 110 operates the Excel program using the received event information and outputs the result. The corresponding partial image data is generated and transmitted to the sharing participating terminal 160. That is, the source providing terminal 110 performs a mouse click operation on a cell of the corresponding coordinate (ie, any cell in the Excel sheet) corresponding to the mouse click and the clicked coordinate information included in the event information. The Excel program will activate the cell, and the source providing terminal 110 generates partial image data of the activated cell and transmits the partial image data to the sharing participating terminal 160. In this case, the partial image may be an image corresponding to a detailed area corresponding to the coordinate information. This is to solve the problem (for example, mouse temporary stoppage, a large amount of image data transmission and reception) that takes a lot of load on the system if the source providing terminal 110 captures and transmits the full screen image in all cases. Therefore, the screen area to be captured is divided into a plurality of parts, and each area is processed as one thread (that is, one thread is in charge of one area and a plurality of detailed areas included in the area), and only the changed part is processed. Applies a method of detecting and transmitting only the changed detailed region (or region). The screen image that needs to be captured in this way can be divided into areas and detailed areas to minimize the load on the system.

이후, 공유 참여 단말기(160)의 표시부에는 해당 셀이 활성화된 상태의 화면 이미지가 디스플레이될 것(당해 부분 이미지가 어느 영역에 상응하는 것인지 좌표 정보를 이용하여 확인하고 해당 영역만을 갱신함)이고, 입력하고자 하는 데이터를 차례대로 입력(즉, ㄱ, ㅏ, ㄴ, ㅏ, ㄷ, ㅏ)하며 각각의 데이터가 입력될 때마다 해당 이벤트 정보는 소스 제공 단말기(110)로 전송되고, 갱신된 영역의 부분 이미지가 공유 참여 단말기(160)로 전송되어 공유 참여 단말기(160)의 사용자는 해당 프로그램이 없음에도 해당 프로그램을 이용하는 느낌을 가지게 된다. Thereafter, the display unit of the sharing participating terminal 160 is to display a screen image of a state in which the corresponding cell is activated (confirming which region corresponds to which region the image corresponds to by using coordinate information and updating only the corresponding region). Input data to be input in order (ie, a, ㅏ, ㅏ, ㅏ, ,, ㅏ), and each time data is inputted, the corresponding event information is transmitted to the source providing terminal 110, and the updated area of The partial image is transmitted to the sharing participating terminal 160 so that the user of the sharing participating terminal 160 has a feeling of using the corresponding program even though there is no corresponding program.

상술한 바와 같이, 본 발명은 특정 운영체제에서 응용 프로그램 공유의 제한적인 면을 탈피하고 응용 프로그램을 가지고 있지 않는 사용자들에게 원격지에서 응용 프로그램을 장착된 것 같은 효과를 가지는 입력 이벤트를 처리하는 기술과 또한 다자간 사용자들에게 공유 화면과 공유 객체를 관리할 수 있는 통신 서버를 통하여 뷰(view)의 일치성을 보장하도록 하고 있다. 이기종간의 응용 프로그램 공유가 가능한 것은 모든 단말에서 지원 가능한 DIB 이미지의 변환과 캡처한 이미지를 영역과 그 영역에 포함된 세부 영역 단위로 비교하여 변화된 부분을 자동으로 감지하고 시스템에서 이러한 것을 조사하는 것이 아니라 영역별 쓰레드(thread)에서 자동으로 알려주는 방법을 사용하고 있다. 이러한 방법을 사용하는 것은 공유 응용 프로그램의 부하를 줄여 주어 작업시 아무런 지장이 없도록 하기 위한 것이다.As described above, the present invention provides a technique for dealing with an input event having the same effect as installing an application remotely to users who do not have an application and circumventing the limitation of application sharing in a specific operating system. Multi-users are guaranteed to be consistent with views through a communication server that can manage shared screens and shared objects. It is not possible to share heterogeneous application programs by automatically converting DIB images that can be supported by all terminals and comparing captured images in areas and sub-areas included in the areas. It uses a method of automatically notifying each area of threads. This approach is designed to reduce the load on shared applications so that they do not interfere with your work.

또한 공유 응용 프로그램이 없는 사용자가 공유 응용 프로그램에 입력 이벤트(키보드, 마우스)를 처리하기 위한 이벤트 구조를 정의하여 이를 공유 응용 프로그램을 가지고 있는 단말기에 전송하여 이를 해석하고 공유 응용 프로그램에 실행을 가하여 처리할 수 있도록 하고 있다. 그리고, 다자간 사용자들의 효율적인 공유를 위하여 통신 서버를 두고 있으며 통신 서버는 이미지 데이터와 제어 데이터를 관리하고 있으며, 특히 이미지 데이터는 모든 사용자들에게 반드시 전송되어야 한다는 개념이 아니라 사용자들의 네트워크 트래픽(traffic)에 맞게 현재 이미지를 전송하고 통신망 속도가 느린 사용자는 과거 이미지를 보고 있을 수 있다. 이렇게 한 것은 한 사용자의 느린 네트워크가 전체 사용자들의 성능에 심각한 장애가 될 수 있기 때문이다. 따라서 통신은 중앙 집중식 구조를 취하고 있다. 물론, P2P 접속을 통해서도 유사한 형태로 제공될 수 있음은 당연하다. In addition, it defines an event structure for handling input events (keyboard, mouse) in a shared application by a user who does not have a shared application, sends it to a terminal that has a shared application, interprets it, and executes the shared application for processing. I can do it. In addition, a communication server is provided for efficient sharing of multi-users, and the communication server manages image data and control data. In particular, the image data does not necessarily have to be transmitted to all users. Users who transmit the current image properly and have a slow network may be looking at the past image. This is because a slow network of one user can seriously impede the performance of all users. Therefore, communication takes a centralized structure. Of course, it can be provided in a similar form through the P2P connection.

상술한 바와 같이 본 발명에 따른 이기종 장치간 자원 공유를 위한 객체 제어 방법 및 시스템은 변경된 위치에 상응하는 최소한의 영역 이미지를 DIB(Device Interface Bitmap) 형태의 이미지로 변환하고 압축을 수행한 후 전송함으로써 이기종 장치간에 응용 프로그램 공유를 가능하게 한다.As described above, the object control method and system for resource sharing between heterogeneous devices according to the present invention converts the minimum area image corresponding to the changed location into a DIB (Device Interface Bitmap) type image, performs compression, and then transmits the same. Enable application sharing between heterogeneous devices.

또한, 본 발명은 특정 플랫폼에 종속되어 제한적인 작업만을 수행하던 각각의 사용자 단말기의 제한적인 작업 영역에서 탈피할 수 있어 작업의 효율을 극대화하고 비용을 절감할 수 있다.In addition, the present invention can escape from the limited working area of each user terminal that was dependent on a specific platform to perform only limited work, thereby maximizing work efficiency and reducing costs.

또한, 본 발명은 원격지 교육시 사용자 단말기의 기종에 상관없이 대화식 교육을 수행할 수 있다.In addition, the present invention can perform interactive training regardless of the type of the user terminal during the remote training.

또한, 본 발명은 원격지에 위치한 환자와 의사가 각각 개별적이고 상이한 운영체제하의 사용자 단말기를 이용하여 원격 진료를 수행할 수 있다.In addition, according to the present invention, a remote patient and a doctor who are located at a remote location may perform remote medical care using a user terminal under a separate and different operating system.

또한, 본 발명은 화상회의를 이용한 원격 회의의 경우 응용 프로그램 공유를 통해 동적인 프리젠테이션이 가능하다.In addition, the present invention enables a dynamic presentation through application sharing in the case of teleconferencing using video conferencing.

또한, 본 발명은 특정 사용자 단말기의 고장 또는 오류를 원격지에서 관리자 단말기의 종류에 상관없이 진단 및 수리가 가능하도록 한다.In addition, the present invention makes it possible to diagnose and repair a failure or error of a specific user terminal regardless of the type of the administrator terminal at a remote location.

또한, 본 발명은 개발된 특정 응용 프로그램의 테스트 등을 위해 당해 응용 프로그램을 자신의 사용자 단말기에 설치할 필요없이 당해 응용 프로그램이 설치된 테스트 베드에서 응용 프로그램 공유를 통해 미리 사용해보거나 테스트할 수 있다. In addition, the present invention can be used or tested in advance through the application sharing in the test bed in which the application is installed, without having to install the application on its user terminal for testing the developed specific application.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.

도 1은 본 발명의 바람직한 실시예에 따른 이기종 장치간 자원 공유를 위한 객체 제어 방법을 수행하기 위한 전체 시스템 구성을 개략적으로 나타낸 도면.1 is a diagram schematically illustrating an overall system configuration for performing an object control method for resource sharing between heterogeneous devices according to a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 일 실시예에 따른 이기종 장치간 자원 공유를 위한 객체 제어 방법의 수행 과정을 나타낸 순서도.2 is a flowchart illustrating a process of performing an object control method for resource sharing between heterogeneous devices according to an exemplary embodiment of the present invention.

도 3a는 본 발명의 바람직한 일 실시예에 따른 공유 참여 단말기에서의 이벤트 정보 전송 절차를 나타낸 순서도.3A is a flowchart illustrating an event information transmission procedure in a sharing participation terminal according to an embodiment of the present invention.

도 3b는 본 발명의 바람직한 일 실시예에 따른 화면 영역 구분을 나타낸 도면.3B is a view illustrating screen area division according to an exemplary embodiment of the present invention.

도 3c는 본 발명의 바람직한 일 실시예에 따른 이벤트 정보 전송 패킷을 나타낸 도면. 3C illustrates an event information transport packet according to an embodiment of the present invention.

도 4a는 본 발명의 바람직한 일 실시예에 따른 소스 제공 단말기에서의 프로그램 공유 절차를 나타낸 도면.4A illustrates a program sharing procedure in a source providing terminal according to an exemplary embodiment of the present invention.

도 4b는 본 발명의 바람직한 일 실시예에 따른 이미지 데이터 전송 패킷을 나타낸 도면. 4B illustrates an image data transmission packet according to a preferred embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

110 : 소스 제공 단말기110: source providing terminal

115a, 115b : 화면 관리 모듈115a, 115b: Screen Management Module

120a, 120b : 객체 관리 모듈120a, 120b: Object Management Module

130 : 통신 서버130: communication server

135 : 송수신부135: transceiver

140 : 사용자 관리부140: user management unit

145 : 객체 관리부145: object management unit

150 : 화면 동기화부150: screen synchronization unit

155 : 제어부155 control unit

160 : 공유 참여 단말기 160: sharing participating terminals

Claims (13)

공유 참여 단말기에서 소스 제공 단말기에 설치된 응용 프로그램을 통신망을 통해 공유하는 방법에 있어서-여기서, 상기 공유 참여 단말기는 통신 서버를 경유하여 상기 소스 제공 단말기와 통신망을 통해 결합되고, 상기 응용 프로그램을 포함하지 아니함-,A method for sharing an application installed in a source providing terminal through a communication network in a sharing participating terminal, wherein the sharing participating terminal is coupled to the source providing terminal through a communication network via a communication server and does not include the application program. No, 통신 서버로부터 상기 응용 프로그램에 상응하는 원시화면 이미지를 수신하여 표시부에 디스플레이하는 단계-여기서, 상기 원시화면 이미지는 상기 응용 프로그램의 실행에 따른 작업화면 이미지임-;Receiving a raw screen image corresponding to the application program from a communication server and displaying the raw screen image on the display unit, wherein the raw screen image is a work screen image according to execution of the application program; 이벤트 발생이 감지되면 상기 이벤트에 상응하여 미리 지정된 형태의 이벤트 정보를 생성하는 단계-여기서, 상기 이벤트는 마우스 이벤트, 키보드 이벤트 중 적어도 어느 하나임-;Generating event information of a predetermined form corresponding to the event when an event occurrence is detected, wherein the event is at least one of a mouse event and a keyboard event; 상기 이벤트 정보를 통신망을 통해 상기 통신 서버로 전송하는 단계;Transmitting the event information to the communication server through a communication network; 상기 통신 서버로부터 상기 이벤트 정보에 상응하는 부분 이미지 정보를 수신하는 단계-여기서, 상기 부분 이미지 정보는 적어도 부분 이미지 데이터 및 상기 부분 이미지 데이터에 상응하는 이미지 좌표 정보를 포함함-; 및 상기 부분 이미지 데이터 및 상기 이미지 좌표 정보를 이용하여 상기 원시화면 이미지에서 상기 발생된 이벤트에 상응하는 영역을 갱신하는 단계Receiving partial image information corresponding to the event information from the communication server, wherein the partial image information includes at least partial image data and image coordinate information corresponding to the partial image data; And updating an area corresponding to the generated event in the raw screen image by using the partial image data and the image coordinate information. 를 포함하되,Including, 상기 소스 제공 단말기는 상기 통신 서버로부터 상기 이벤트 정보를 수신하고, 상기 이벤트 정보를 이용하여 상기 응용 프로그램을 실행하고, 실행 결과 화면을 캡쳐하여 상기 부분 이미지 정보를 생성하며, 상기 부분 이미지 정보를 통신망을 통해 상기 통신 서버로 전송하는 것The source providing terminal receives the event information from the communication server, executes the application program using the event information, captures an execution result screen to generate the partial image information, and converts the partial image information into a communication network. Transmitting to said communication server via 을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that. 제1항에 있어서,The method of claim 1, 상기 마우스 이벤트가 발생한 경우, 상기 미리 지정된 형태의 이벤트 정보를 생성하는 단계는When the mouse event occurs, generating the event information of the predetermined form 상기 마우스 이벤트의 발생을 감지하는 단계;Detecting the occurrence of the mouse event; 상기 마우스 이벤트에 상응하는 마우스 포인터 위치를 마우스 좌표 정보로 생성하는 단계; 및Generating a mouse pointer position corresponding to the mouse event as mouse coordinate information; And 마우스 이벤트 지시자 및 상기 마우스 좌표 정보를 이용하여 상기 마우스 이벤트에 상응하는 패킷 데이터를 생성하는 단계Generating packet data corresponding to the mouse event by using a mouse event indicator and the mouse coordinate information 를 포함하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network comprising a. 제1항에 있어서,The method of claim 1, 상기 키보드 이벤트가 발생한 경우, 상기 미리 지정된 형태의 이벤트 정보를 생성하는 단계는 When the keyboard event occurs, generating the event information of the predetermined form 상기 키보드 이벤트의 발생을 감지하는 단계; Detecting the occurrence of the keyboard event; 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 추출하는 단계;Extracting an input key button value corresponding to the keyboard event; 키보드 이벤트 지시자 및 상기 입력 키버튼 값을 이용하여 상기 키보드 이벤트에 상응하는 패킷 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. And generating packet data corresponding to the keyboard event by using a keyboard event indicator and the input key button value. 제1항에 있어서,The method of claim 1, 상기 공유 참여 단말기 및 상기 소스 제공 단말기는 각각 이기종 단말기인 것The sharing participating terminal and the source providing terminal are heterogeneous terminals, respectively. 을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that. 제2항 또는 제3항에 있어서,The method according to claim 2 or 3, 상기 패킷 데이터는 상기 마우스 이벤트 또는 상기 키보드 이벤트를 지시하는 이벤트 종류 필드와, 상기 마우스 이벤트에 상응하는 마우스 좌표 정보 또는 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 포함하는 데이터 필드를 포함하는 것The packet data includes an event type field indicating the mouse event or the keyboard event, and a data field including mouse coordinate information corresponding to the mouse event or an input key button value corresponding to the keyboard event. 을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that. 제1항에 있어서,The method of claim 1, 상기 원시화면 이미지에서 상기 발생된 이벤트에 상응하는 영역을 갱신하는 단계는,The updating of the region corresponding to the generated event in the raw screen image may include: 상기 원시화면 이미지 중에서 상기 이미지 좌표 정보에 상응하는 영역을 판단하는 단계; 및Determining an area corresponding to the image coordinate information in the raw screen image; And 상기 판단된 영역을 상기 부분 이미지 데이터로 대체하는 단계Replacing the determined region with the partial image data 를 포함하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network comprising a. 제1항에 있어서The method of claim 1 상기 마우스 이벤트는 마우스의 움직임, 마우스 클릭, 더블 클릭, 드래그 앤 드롭 중 적어도 어느 하나를 포함하는 것The mouse event includes at least one of mouse movement, mouse click, double click, drag and drop. 을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that. 소스 제공 단말기에 설치된 응용 프로그램을 통신망을 통해 공유 참여 단말기와 공유하기 위해, 소스 제공 단말기에서 수행하는 화면 이미지 제공 방법에 있어서-여기서, 통신 서버는 통신망을 통해 상기 공유 참여 단말기 및 상기 소스 제공 단말기와 결합되고, 상기 공유 참여 단말기는 상기 응용 프로그램을 포함하지 아니함-,상기 응용 프로그램을 실행하는 단계;In the method for providing a screen image performed by the source providing terminal to share an application installed in the source providing terminal with the sharing participating terminal through a communication network, wherein the communication server is connected to the shared participating terminal and the source providing terminal through the communication network. Coupled, the sharing involvement terminal not including the application program; executing the application program; 상기 응용 프로그램의 실행에 따른 원시 작업화면 이미지를 생성하여 통신망을 통해 상기 통신 서버로 전송하는 단계;Generating a raw work screen image according to execution of the application program and transmitting the raw work screen image to the communication server through a communication network; 상기 통신 서버로부터 이벤트 정보를 수신하는 단계-여기서, 상기 이벤트 정보는 마우스 이벤트 또는 키보드 이벤트를 지시하는 이벤트 종류 필드와, 상기 마우스 이벤트에 상응하는 마우스 좌표 정보 또는 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 포함하는 데이터 필드를 포함함-;Receiving event information from the communication server, wherein the event information includes an event type field indicating a mouse event or a keyboard event, mouse coordinate information corresponding to the mouse event, or an input key button value corresponding to the keyboard event. Including a data field comprising; 상기 이벤트 정보에 상응하여 상기 응용 프로그램을 동작시키는 단계;Operating the application program according to the event information; 상기 응용 프로그램의 동작 결과에 상응하는 갱신 작업화면 이미지를 생성하는 단계;Generating an update work screen image corresponding to an operation result of the application program; 상기 원시 작업화면 이미지 및 상기 갱신 작업화면 이미지 중 상이한 영역에 상응하는 부분 이미지를 생성하는 단계; Generating a partial image corresponding to a different area of the original work screen image and the update work screen image; 상기 부분 이미지를 이용하여 부분 이미지 정보를 생성하는 단계-여기서, 상기 부분 이미지 정보는 적어도 부분 이미지 데이터 및 상기 부분 이미지 데이터에 상응하는 이미지 좌표 정보를 포함함-; 및상기 부분 이미지 정보를 통신망을 통해 상기 통신 서버로 전송하는 단계Generating partial image information using the partial image, wherein the partial image information includes at least partial image data and image coordinate information corresponding to the partial image data; And transmitting the partial image information to the communication server through a communication network. 를 포함하되,Including, 상기 공유 참여 단말기가 상기 원시 작업화면 이미지를 수신하여 디스플레이하고, 상기 원시 작업화면 이미지 중 임의의 영역에서의 이벤트 발생이 감지되면, 발생된 이벤트에 상응하는 상기 이벤트 정보를 생성하여 상기 통신 서버로 전송하고, 상기 통신 서버로부터 수신되는 상기 부분 이미지 정보를 이용하여 상기 이벤트 발생에 상응하는 영역을 갱신하는 것The sharing participation terminal receives and displays the raw work screen image, and when an occurrence of an event in any region of the raw work screen image is detected, generates and transmits the event information corresponding to the generated event to the communication server. And updating the area corresponding to the occurrence of the event by using the partial image information received from the communication server. 을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that. 제8항에 있어서, The method of claim 8, 상기 원시 작업화면 이미지 및 상기 갱신 작업화면 이미지 중 상이한 영역에 상응하는 부분 이미지를 생성하는 단계는, 상기 마우스 좌표 정보에 상응하는 영역의 부분 이미지를 추출하는 것Generating a partial image corresponding to a different region of the raw work screen image and the update work screen image comprises extracting a partial image of a region corresponding to the mouse coordinate information. 을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that. 제8항에 있어서,The method of claim 8, 상기 소스 제공 단말기의 표시 화면이 복수의 제1 영역으로 구분되고, 각각의 제1 영역은 복수의 제2 영역으로 구분되며, 각각의 제1 영역은 독립된 변경 사항 관리부에 의해 관리되는 경우-여기서, 상기 표시 화면은 전체화면 또는 상기 응용 프로그램이 실행되는 활성 윈도우임-,When the display screen of the source providing terminal is divided into a plurality of first regions, each of the first regions is divided into a plurality of second regions, and each of the first regions is managed by an independent change management unit. The display screen is a full screen or an active window in which the application is executed; 상기 갱신 작업화면 이미지를 생성하는 단계 및 상기 부분 이미지를 생성하는 단계는,The generating of the update work screen image and the generating of the partial image may include: 상기 독립된 변경 사항 관리부가 관리하는 제1 영역의 영역 이미지를 캡쳐하는 단계;상기 변경 사항 관리부가 상기 영역 이미지가 상기 원시 작업화면 이미지의 상응하는 영역의 이미지와 변경되었는지 여부를 판단하는 단계;Capturing a region image of a first area managed by the independent change manager; determining whether the change image is changed from an image of a corresponding area of the raw work screen image; 변경된 경우 해당 영역을 관리하는 변경 사항 관리부가 부분 이미지의 생성을 요청하는 단계; 및Requesting generation of a partial image by a change manager for managing a corresponding area when changed; And 상기 변경된 영역 이미지를 부분 이미지로 생성하는 단계Generating the changed region image as a partial image 를 포함하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network comprising a. 제8항에 있어서,The method of claim 8, 이벤트 발생이 감지되면 상기 발생된 이벤트에 상응하여 상기 응용 프로그램을 동작시키는 단계Operating the application program according to the generated event when an event occurrence is detected; 를 더 포함하는 것을 특징으로 하는 통신망을 이용한 응용 프로그램 공유 방법. Application program sharing method using a communication network characterized in that it further comprises. 통신망을 이용한 응용 프로그램 공유 방법을 수행하기 위해 공유 참여 단말기에서 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 공유 참여 단말기에 의해 판독될 수 있는 기록 매체에 있어서-여기서, 상기 공유 참여 단말기는 상기 응용 프로그램을 포함하지 않고, 통신 서버를 경유하여 상기 응용 프로그램이 설치된 소스 제공 단말기와 결합됨-, In a recording medium that is tangibly embodied in a program that can be executed in a shared participant terminal to perform an application program sharing method using a communication network, wherein the shared participant terminal Does not include the application, and is coupled with a source providing terminal in which the application is installed via a communication server; 통신 서버로부터 상기 응용 프로그램에 상응하는 원시화면 이미지를 수신하여 표시부에 디스플레이하는 단계-여기서, 상기 원시화면 이미지는 상기 응용 프로그램의 실행에 따른 작업화면 이미지임-;Receiving a raw screen image corresponding to the application program from a communication server and displaying the raw screen image on the display unit, wherein the raw screen image is a work screen image according to execution of the application program; 이벤트 발생이 감지되면 상기 이벤트에 상응하여 미리 지정된 형태의 이벤트 정보를 생성하는 단계-여기서, 상기 이벤트는 마우스 이벤트, 키보드 이벤트 중 적어도 어느 하나임-;Generating event information of a predetermined form corresponding to the event when an event occurrence is detected, wherein the event is at least one of a mouse event and a keyboard event; 상기 이벤트 정보를 통신망을 통해 상기 통신 서버로 전송하는 단계;Transmitting the event information to the communication server through a communication network; 상기 통신 서버로부터 상기 이벤트 정보에 상응하는 부분 이미지 정보를 수신하는 단계-여기서, 상기 부분 이미지 정보는 적어도 부분 이미지 데이터 및 상기 부분 이미지 데이터에 상응하는 이미지 좌표 정보를 포함함-; 및 Receiving partial image information corresponding to the event information from the communication server, wherein the partial image information includes at least partial image data and image coordinate information corresponding to the partial image data; And 상기 부분 이미지 데이터 및 상기 이미지 좌표 정보를 이용하여 상기 원시화면 이미지에서 상기 발생된 이벤트에 상응하는 영역을 갱신하는 단계Updating an area corresponding to the generated event in the raw screen image by using the partial image data and the image coordinate information 를 실행하되,Run the 상기 소스 제공 단말기는 상기 통신 서버로부터 상기 이벤트 정보를 수신하고, 상기 이벤트 정보를 이용하여 상기 응용 프로그램을 실행하고, 실행 결과 화면을 캡쳐하여 상기 부분 이미지 정보를 생성하며, 상기 부분 이미지 정보를 통신망을 통해 상기 통신 서버로 전송하는 것을 특징으로 하는 프로그램을 기록한 기록매체. The source providing terminal receives the event information from the communication server, executes the application program using the event information, captures an execution result screen to generate the partial image information, and converts the partial image information into a communication network. Recording medium recording a program, characterized in that for transmitting to the communication server through. 통신망을 이용한 응용 프로그램 공유 방법을 수행하기 위해 소스 제공 단말기에서 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 소스 제공 단말기에 의해 판독될 수 있는 기록 매체에 있어서-여기서, 상기 소스 제공 단말기는 상기 응용 프로그램이 설치되고, 통신 서버를 경유하여 상기 응용 프로그램이 설치되지 않은 공유 참여 단말기와 결합됨-,In the recording medium that can be read by the source providing terminal, the program of instructions that can be executed in the source providing terminal to implement the application program sharing method using a communication network is tangibly implemented, wherein the source providing terminal is The application is installed, and is coupled with a shared participating terminal where the application is not installed via a communication server; 상기 응용 프로그램의 실행에 따른 원시 작업화면 이미지를 생성하여 통신망을 통해 상기 통신 서버로 전송하는 단계;Generating a raw work screen image according to execution of the application program and transmitting the raw work screen image to the communication server through a communication network; 상기 통신 서버로부터 이벤트 정보를 수신하는 단계-여기서, 상기 이벤트 정보는 마우스 이벤트 또는 키보드 이벤트를 지시하는 이벤트 종류 필드와, 상기 마우스 이벤트에 상응하는 마우스 좌표 정보 또는 상기 키보드 이벤트에 상응하는 입력 키버튼 값을 포함하는 데이터 필드를 포함함-;Receiving event information from the communication server, wherein the event information includes an event type field indicating a mouse event or a keyboard event, mouse coordinate information corresponding to the mouse event, or an input key button value corresponding to the keyboard event. Including a data field comprising; 상기 이벤트 정보에 상응하여 상기 응용 프로그램을 동작시키는 단계;Operating the application program according to the event information; 상기 응용 프로그램의 동작 결과에 상응하는 갱신 작업화면 이미지를 생성하는 단계;Generating an update work screen image corresponding to an operation result of the application program; 상기 원시 작업화면 이미지 및 상기 갱신 작업화면 이미지 중 상이한 영역에 상응하는 부분 이미지를 생성하는 단계; Generating a partial image corresponding to a different area of the original work screen image and the update work screen image; 상기 부분 이미지를 이용하여 부분 이미지 정보를 생성하는 단계-여기서, 상기 부분 이미지 정보는 적어도 부분 이미지 데이터 및 상기 부분 이미지 데이터에 상응하는 이미지 좌표 정보를 포함함-; 및Generating partial image information using the partial image, wherein the partial image information includes at least partial image data and image coordinate information corresponding to the partial image data; And 상기 부분 이미지 정보를 통신망을 통해 상기 통신 서버로 전송하는 단계 Transmitting the partial image information to the communication server through a communication network. 를 실행하되,Run the 상기 공유 참여 단말기가 상기 원시 작업화면 이미지를 수신하여 디스플레이하고, 상기 원시 작업화면 이미지 중 임의의 영역에서의 이벤트 발생이 감지되면, 발생된 이벤트에 상응하는 상기 이벤트 정보를 생성하여 상기 통신 서버로 전송하고, 상기 통신 서버로부터 수신되는 상기 부분 이미지 정보를 이용하여 상기 이벤트 발생에 상응하는 영역을 갱신하는 것The sharing participation terminal receives and displays the raw work screen image, and when an occurrence of an event in any region of the raw work screen image is detected, generates and transmits the event information corresponding to the generated event to the communication server. And updating the area corresponding to the occurrence of the event by using the partial image information received from the communication server. 을 특징으로 하는 프로그램을 기록한 기록매체. Recording medium recording a program characterized in that.
KR1020030089127A 2003-12-09 2003-12-09 Method and system for controlling object in order to share resource between heterogeneous devices KR20050056041A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030089127A KR20050056041A (en) 2003-12-09 2003-12-09 Method and system for controlling object in order to share resource between heterogeneous devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030089127A KR20050056041A (en) 2003-12-09 2003-12-09 Method and system for controlling object in order to share resource between heterogeneous devices

Publications (1)

Publication Number Publication Date
KR20050056041A true KR20050056041A (en) 2005-06-14

Family

ID=37250806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030089127A KR20050056041A (en) 2003-12-09 2003-12-09 Method and system for controlling object in order to share resource between heterogeneous devices

Country Status (1)

Country Link
KR (1) KR20050056041A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100761010B1 (en) * 2007-04-05 2007-09-21 김재홍 Screen information management method and system using access direct of video memory
KR100937322B1 (en) * 2007-12-21 2010-01-18 (주) 엘지텔레콤 System for controlling mobile communication apparatus using computer and controlling method thereof
WO2014208862A1 (en) * 2013-06-24 2014-12-31 Kwon O-Hyeong Method for sharing resources among devices and device for implementing same
KR20180041604A (en) * 2016-10-14 2018-04-24 (주)에피 System and method for task management
KR20200129932A (en) 2019-05-10 2020-11-18 주식회사 티맥스에이앤씨 Server and method for sharing collaborative editing file
KR102183749B1 (en) * 2019-11-25 2020-11-27 (주)스트럼코리아 Chat service server to enable sharing of browsing locations of files shared in chat sessions and operating method thereof
KR20210048480A (en) 2021-04-27 2021-05-03 주식회사 티맥스에이앤씨 Server and method for sharing collaborative editing file
CN114584604A (en) * 2022-03-02 2022-06-03 杭州萤石软件有限公司 Screen sharing method and system, electronic equipment and storage medium
CN114647390A (en) * 2020-12-21 2022-06-21 华为技术有限公司 Enhanced screen sharing method and system and electronic equipment

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100761010B1 (en) * 2007-04-05 2007-09-21 김재홍 Screen information management method and system using access direct of video memory
KR100937322B1 (en) * 2007-12-21 2010-01-18 (주) 엘지텔레콤 System for controlling mobile communication apparatus using computer and controlling method thereof
WO2014208862A1 (en) * 2013-06-24 2014-12-31 Kwon O-Hyeong Method for sharing resources among devices and device for implementing same
KR20180041604A (en) * 2016-10-14 2018-04-24 (주)에피 System and method for task management
KR20200129932A (en) 2019-05-10 2020-11-18 주식회사 티맥스에이앤씨 Server and method for sharing collaborative editing file
KR102183749B1 (en) * 2019-11-25 2020-11-27 (주)스트럼코리아 Chat service server to enable sharing of browsing locations of files shared in chat sessions and operating method thereof
CN114647390A (en) * 2020-12-21 2022-06-21 华为技术有限公司 Enhanced screen sharing method and system and electronic equipment
CN114647390B (en) * 2020-12-21 2024-03-26 华为技术有限公司 Enhanced screen sharing method and system and electronic equipment
KR20210048480A (en) 2021-04-27 2021-05-03 주식회사 티맥스에이앤씨 Server and method for sharing collaborative editing file
CN114584604A (en) * 2022-03-02 2022-06-03 杭州萤石软件有限公司 Screen sharing method and system, electronic equipment and storage medium
CN114584604B (en) * 2022-03-02 2024-03-08 杭州萤石软件有限公司 Screen sharing method, system, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US8924862B1 (en) Optimizing desktop sharing for wireless clients during networked collaboration
JP4235300B2 (en) Communications system
US6542165B1 (en) System, apparatus and method of relating annotation data to an application window
US4949248A (en) System for shared remote access of multiple application programs executing in one or more computers
US7085805B1 (en) Remote device management in grouped server environment
US20160344816A1 (en) Relay apparatus, information processing apparatus, information processing system, and recording medium storing information processing program
WO2004049180A1 (en) Real-time web sharing system
US7730417B2 (en) Terminal apparatus, network system, window display method, and computer program
US10223062B1 (en) Method and apparatus of capturing a screen image of a remotely managed machine
US20190020770A1 (en) Information input apparatus, information processing system, and information processing method
US20100058341A1 (en) Apparatus and method for setting input/output device in virtualization system
US20100058481A1 (en) Non-displaying method of secret information and information processing device
CN102362477A (en) Method for the remote sharing of computer office(s)
JP2018085765A (en) Information processing device, information processing system, control method, and program
CN102196003A (en) Remote control method and device of monitoring system
US20020188672A1 (en) Server-based computing environment
US20070198999A1 (en) Communications device, electronic apparatus, information processing system, application executing method, and recording medium
KR20050056041A (en) Method and system for controlling object in order to share resource between heterogeneous devices
CN111444095A (en) Test platform system and test method of mobile equipment
CN112311950A (en) Communication method and device
US20050108768A1 (en) Systems and methods for providing dynamic loading of applications over a network
CN112379963B (en) Remote application window control method and device and computer equipment
CN113391782A (en) Method, system, electronic device and storage medium for controlling mobile terminal by computer
CN101344741A (en) Program determining apparatus and program determining method
CN112395297A (en) Method, device and server for synchronizing work information

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination