KR100215426B1 - The shared system and method converting window applications to network applications - Google Patents

The shared system and method converting window applications to network applications Download PDF

Info

Publication number
KR100215426B1
KR100215426B1 KR1019960027944A KR19960027944A KR100215426B1 KR 100215426 B1 KR100215426 B1 KR 100215426B1 KR 1019960027944 A KR1019960027944 A KR 1019960027944A KR 19960027944 A KR19960027944 A KR 19960027944A KR 100215426 B1 KR100215426 B1 KR 100215426B1
Authority
KR
South Korea
Prior art keywords
application
event
central processing
processing unit
application sharing
Prior art date
Application number
KR1019960027944A
Other languages
Korean (ko)
Other versions
KR980010824A (en
Inventor
황대준
김석수
박길철
성정숙
이규만
김정엽
권해문
이상권
Original Assignee
진교문
주식회사아이빌소프트
황대준
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 진교문, 주식회사아이빌소프트, 황대준 filed Critical 진교문
Priority to KR1019960027944A priority Critical patent/KR100215426B1/en
Publication of KR980010824A publication Critical patent/KR980010824A/en
Application granted granted Critical
Publication of KR100215426B1 publication Critical patent/KR100215426B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Abstract

[청구 범위에 기재된 발명이 속한 기술분야][Technical field to which the invention described in the claims belong]

본 발명은 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템 및 그 방법에 관한 것임.The present invention relates to an application sharing system and method for converting a Windows application into an interactive program.

[발명이 해결하려고 하는 기술적 과제][Technical Challenges to Invent]

종래 응용프로그램은 여러 사용자가 통신망을 통해서 공동작업을 하는 것이 근본적으로 불가능한 문제점이 있었음.The conventional application program has a problem that it is fundamentally impossible for multiple users to collaborate through a communication network.

[발명의 해결방법의 요지][Summary of the solution of the invention]

본 발명은 응용프로그램 공유 서버에서 운영체제의 훅(hook)을 제어하여 사용자가 발생시킨 이벤트(Event)를 획득하여 이를 원격지의 이벤트 분배기와 연동하여 응용프로그램의 뷰를 생성한 후에 이를 다시 시용자의 뷰 분배기로 전송하는 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템및 그 방법을 제공하고자 함.The present invention obtains an event generated by a user by controlling a hook of an operating system in an application sharing server, and generates a view of an application program by interworking with an event distributor of a remote location, and then re-creates the view distributor of the user. It is intended to provide an application sharing system and method for converting a Windows application that is transferred to a mutually participating application.

[발명의 중요한 용도][Important Uses of the Invention]

본 발명은 통신망을 이용하여 모든 참여자가 한 응용프로그램을 통해서 공동작업을 수행하는데 이용됨.The present invention is used to enable all participants to collaborate through one application using a communication network.

Description

윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템 및 그 방법Application sharing system and method for converting a Windows application into an interactive application

본 발명은 통신망에 연결되어 있는 공동 작업 환경하에서 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템 및 그 방법에 관한 것으로, 훅 제어기를 사용한 응용프로그램 공유 서버에 의거하여 원격지 컴퓨터(IBM PC 486 이상)에서 응용프로그램을 가지지 않고서도 응용프로그램을 이용할 수 있도록 하기 위하여 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시켜서 공동작업이 가능하도록 하는 응용프로그램 공유 시스템 및 그 방법에 관한 것이다.The present invention relates to an application sharing system and method for converting a Windows application into a mutually participating application in a collaborative work environment connected to a communication network. The present invention relates to a remote computer (IBM PC) based on an application sharing server using a hook controller. 486) or more) relates to an application sharing system and a method for enabling collaboration by converting a Windows application into an interactive participant application so that the application can be used without having an application.

종래 컴퓨터에서의 응용프로그램들은 단일 사용자만을 염두에 두고 작성되어서여러 사용자가 통신망을 통해서 공동작업을 하는 것이 근본적으로 불가능하였고, 또는 공동작업을 일부 지원하더라도 그 지원 범위가 좁고, 근본적으로 응용프로그램이 반드시 모든 사용자의 컴퓨터에 있어야만 서로 공동작업을 할 수 있는 문제점이 있었다.Applications on a traditional computer were written with only a single user in mind, and it was fundamentally impossible for multiple users to collaborate over a network, or even to support some collaboration, the scope of support was narrow, and the application was essentially All users had to be on the computer to collaborate with each other.

본 발명은 상기 종래 기술에 대한 제반 문제점을 해결하기 위하여 안출된 것으로, 응용프로그램 공유 서버에서 운영체제의 훅(hook)을 제어하여 사용자가 발생시킨 이벤트(Event)를 획득하여 이를 원격지의 이벤트 분배기와 연동하여 응용프로그램의 뷰를 생성한 후에 이를 다시 사용자의 뷰 분배기로 보내서 사용자가 원격지의 응용프로그램을 마치 자신의 응용프로그램을 사용하는 것처럼 느끼도록 해줌으로써 컴퓨터에서의 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems of the prior art, by controlling the hook (hook) of the operating system in the application sharing server to obtain the event (Event) generated by the user and linked it with a remote event distributor Create a view of the application, then send it back to the user's view distributor, making the remote application feel as if it is using its own application, thereby converting the Windows application on the computer into an interactive application. The purpose of the present invention is to provide an application sharing system and a method thereof.

상기 목적을 달성하기 위한 본 발명의 장치는, 응용프로그램 공유 시스템에 있어서, 주 기억장치, 중앙 처리부, 입력장치, 출력장치 및 상기 중앙 처리부에 연결되어 통신망을 통하여 적어도 하나 이상의 타 응용프로그램 공유 장치와 통신을 하기 위한 네트워크 카드를 구비하되, 사용자 입력이 상기 입력장치를 통해서 상기 중앙처리부로 입력되면, 응용프로그램 공유 서버는 상기 중앙 처리부로 전달되는 사용자의 이벤트를 가로채어 처리한 후에 처리한 뷰 데이타를 출력을 위해 상기 주 기억장치에 일시 저장하고, 처리한 뷰 데이타를 상기 중앙 처리부와 상기 네트워크카드를 통해서 상기 타 응용프로그램 공유 장치로 전송하고, 상기 타 응용프로그램공유 장치로부터 상기 통신망과 상기 네트워크 카드와 중앙 처리부를 통하여 사용자의 이벤트가 전달되면, 상기 응용프로그램 공유 서버는 상기 중앙 처리부로부터 타 사용자의 이벤트를 전달받아 원하는 응용프로그램에서 처리한 후에 처리 과정에 대한 상기 주 기억장치에 일시 저장되어 있는 뷰 데이타를 상기 중앙 처리부와 상기 네트워크 카드와 상기 통신망을 통하여 상기 타 응용프로그램 공유 장치로 전달하며, 상기 응용프로그램 공유 서버는 상기 타 응용프로그램 공유 장치로부터 상기통신망과 상기 네트워크 카드와 상기 중앙 처리부를 통하여 뷰 데이타를 전달받아 상기 중앙 처리부와 상기 출력장치를 통해서 상기 사용자에게 출력하되, 상기 응용프로그램 공유 서버는, 상기 중앙 처리부의 메시지 처리 통로상에 훅(hook)을 설정해서 상기 증앙 처리부로 전달되는 사용자의 이벤트를 가로채거나, 상기 타 응용프로그램 공유 장치의 이벤트 분배기로부터 전달되는 이벤트를 상기 중앙 처리부를 통해서 응용프로그램으로 전달/처리하여 뷰 데이타를 획득하는 훅 제어기; 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 이벤트 분배기로부터 전달받은 이벤트를 상기 훅 제어기로 보내거나, 상기 혹 제어기로부터 전달받은 이벤트를 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 이벤트 분배기로 전달하는 이벤트 분배기; 및 뷰 데이타를 캡쳐하여 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 뷰 분배기로 전송하거나, 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 뷰 분배기가 전송한 뷰 데이타를 사용자에게 출력하는 뷰 분배기를 포함하여 이루어진 것을 특징으로 한다.An apparatus of the present invention for achieving the above object, in the application program sharing system, connected to the main storage unit, the central processing unit, the input unit, the output unit and the central processing unit and at least one or more other application sharing apparatus through a communication network; And a network card for communication, and when a user input is input to the central processing unit through the input device, the application sharing server intercepts and processes the user's event delivered to the central processing unit and processes the view data. Temporarily store the data in the main memory for output, and transmit the processed view data to the other application sharing device through the central processing unit and the network card, and from the other application sharing device with the communication network and the network card. Through the central processing unit When the application sharing server receives the user's event from the central processing unit and processes it in a desired application program, the central processing unit and the network card transmit the view data temporarily stored in the main storage device for processing. And the other application program sharing device through the communication network, wherein the application program sharing server receives the view data from the other application program sharing device through the communication network, the network card, and the central processing unit. Output to the user through the output device, the application sharing server, by setting a hook (hook) on the message processing passage of the central processing unit to intercept the user's event delivered to the augmentation processing unit, or the other application Event of Program Sharing Device The event is passed from the distributor hook controller for acquiring view data passing / treatment to the application via the central processing unit; An event that sends an event received from the event distributor of the other application sharing device connected to the communication network to the hook controller, or delivers the event received from the controller to an event distributor of the other application sharing device connected to the communication network Distributor; And a view distributor for capturing the view data and transmitting the view data to the view distributor of the other application sharing device connected to the communication network or outputting the view data transmitted by the view distributor of the other application sharing device connected to the communication network to the user. Characterized in that made.

상기 목적을 달성하기 위한 본 발명의 방법은, 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템에 적용되는 응용프로그램 공유 방법에 있어서, 메시지를 가로채기 위한 훅(hook)을 설정하고 공유할 응용프로그램에 대한 정보를 획득한 후에 이벤트를 가로채기 위한 이벤트 필터를 설정하여 메시지 가로채기와 메시지 재생 수행을 준비한 다음에 초기자인지 참여자인지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 응용프로그램을 실제 가지고 있는 초기자인 경우에는 통신망에 연결된 타 응용프로그램 공유 장치에서 보내는 이벤트를 수신하여 자신이 가진 응용프로그램으로 보내서 처리하여 뷰 데이타를 캡쳐한 후에 뷰 데이타를 압축하여 상기 타 응용프로그램 공유 장치로 전송하는 제 2단계; 및 상기 제 1 단계의 판단 결과, 응용프로그램을 가지고 있지 않고 상기 통신망에 연결되어 있는 초기자의 응용프로그램을 통해서 공동작업을 하고자 하는 참여자인 경우에는 초기자측에서 보내온 뷰 데이타를 수신하여 사용자가 볼 수 있도록 화면에 출력하고 사용자가 발생한 이벤트를 캡쳐하여 초기자측의 응용프로그램 공유 장치로 진송하는 제 3 단계를 포함하여 이루어진 것을 특징으로 한다.The method of the present invention for achieving the above object, in the application sharing method applied to the application sharing system for converting a Windows application into a mutually participating application, setting and sharing a hook (hook) for intercepting messages A first step of setting an event filter for intercepting an event after acquiring information on an application to be prepared, preparing to intercept a message and reproducing a message, and then determining whether to be an initiator or a participant; As a result of the determination of the first step, if the initiator actually has an application program, the event data received from another application sharing device connected to the communication network is received, sent to the application program which owns it, the view data is captured, and the view data is captured. Compressing and transmitting the compressed data to the other application sharing device; And as a result of the determination in the first step, in case of a participant who does not have an application program and wants to collaborate through an application program of an initiator connected to the communication network, the user can receive the view data sent from the initiator side to view it. And a third step of capturing an event generated by the user and transmitting the captured event to the application sharing device of the initiator.

도 1 은 본 발명에 따른 응용프로그램 공유 시스템의 일실시예 구성도.1 is a configuration diagram of an embodiment of an application sharing system according to the present invention;

도 2 는 본 발명에 따른 응용프로그램 공유 서버의 일실시예 상세 구성도.Figure 2 is a detailed configuration diagram of one embodiment of an application sharing server according to the present invention.

도 3 은 본 발명에 따른 훅 제어기의 일실시예 상세 구성도.Figure 3 is a detailed configuration diagram of one embodiment of a hook controller according to the present invention.

도 4 는 본 발명에 따른 응용프로그램 공유 방법에 대한 일실시예 흐름도.4 is a flowchart illustrating an embodiment of an application sharing method according to the present invention;

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

1 : 주 기억장치 2 : 응용프로그램 공유 서버1: Main storage 2: Application sharing server

3 : 중앙 처리부 4 : 입력장치3: central processing unit 4: input device

5 : 출력장치 6 : 네트워크 카드5: output device 6: network card

7,9 : 응용프로그램 공유 장치 8 : 통신망7,9: application sharing device 8: communication network

11 : 훅 제어기 12 : 이벤트 분배기11 hook controller 12 event distributor

13 : 뷰 분배기 21 : 훅 설정부13: view divider 21: hook setting unit

22 : 이벤트 필터부 23 : 이벤트 레코드부22: event filter unit 23: event record unit

24 : 이벤트 플레이부24: event play unit

이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment according to the present invention;

도 1 은 본 발명에 따른 응용프로그램 공유 시스템의 일실시예 구성도로서, 도면에서 1은 주 기억장치, 2는 응용프로그램 공유 서버, 3은 중앙 처리부, 4는 입력장치, 5는 출력장치, 6은 네트워크 카드, 7과 9는 응용프로그램 공유 장치, 8은 통신망을 각각 나타낸다.1 is a configuration diagram of an application sharing system according to an embodiment of the present invention, in which 1 is a main memory device, 2 is an application sharing server, 3 is a central processing unit, 4 is an input device, 5 is an output device, and 6 Are network cards, 7 and 9 are application sharing devices, and 8 are communication networks, respectively.

본 발명에 따른 응용프로그램 공유 시스템은 입력장치(4), 출력장치(5), 네트워크 카드(6) 등의 주변 장치와 주 기억장치(1) 등을 통합하여 운영하는 운영체제를 주 기억장치(1)로부터 로딩하여 수행시키는 중앙 처리부(3), 상기 중앙 처리부(3)에 연결되어 응용프로그램과 운영체제를 저장하고 이벤트 정보, 뷰 정보, 응용프로그램 공유를 위한 데이타를 저장하는 주 기억장치(1), 상기 중앙 처리부(3)와 주 기억장치(1)에 연결되어 응용프로그램 공유에 대한 지원을 하는 응용프로그램 공유 서버(2), 상기 중앙 처리부(3)에 사용자의 명령을 전달하는 입력장치(4), 상기 중앙 처리부(3)에 연결되어 사용자의 명령에 대한 결과를 사용자에게 알려주는 출력장치(5) 및 상기 중앙 처리부(3)에 연결되어 통신망(8)을 통하여 타 응용프로그램공유 장치(9)와 통신을 하기 위한 네트워크 카드(6)를 구비한다.The application program sharing system according to the present invention comprises an operating system in which peripheral devices such as the input device 4, the output device 5, the network card 6, and the like are operated by integrating and operating the main storage device 1 and the like. A central processing unit (3) connected to the central processing unit (3) to store and execute application programs and operating systems, and to store event information, view information, and data for application sharing; An application sharing server (2) connected to the central processing unit (3) and the main storage unit (1) for supporting application program sharing, and an input device (4) for transferring a user's command to the central processing unit (3). An output device 5 connected to the central processing unit 3 to inform the user of the result of the user's command and another application program sharing device 9 connected to the central processing unit 3 through a communication network 8; To communicate with And a network card (6).

그 구체적인 동작을 살펴보면 다음과 같다.Looking at the specific operation is as follows.

사용자 입력이 입력장치(4)를 통해서 중앙 처리부(3)로 입력되면, 응용프로그램공유 서버(2)는 중앙 치리부(3)로부터 전달되는 사용자의 이벤트를 가로채어 처리한 후에 상기 출력장치(5)를 통하여 사용자에게 출력하기 위하여 상기 주 기억장치(1)에 일시 저장되는 뷰 데이타를 중앙 처리부(3)와 네트워크 카드(6)를 통해서 다른 사용자의 응용프로그램 공유 장치(9)로 전송한다.When the user input is input to the central processing unit 3 through the input device 4, the application sharing server 2 intercepts and processes the user's event transmitted from the central control unit 3 and then outputs the output device 5 The view data temporarily stored in the main storage device 1 is transmitted to the application sharing device 9 of another user through the central processing unit 3 and the network card 6 for output to the user.

다른 사용자의 응용프로그램 공유 장치(9)의 네트워크 카드와 중앙 처리부로 사용자의 이벤트가 전달되면, 응용프로그램 공유 서버로 전달되어 원하는 응용프로그램에서 처리된 후에 처리 과정에 대한 주 기억장치에 일시 저장되어 있는 뷰 데이타(사용자에게 출력될 화상 데이타)는 중앙 처리부와 네트워크 카드를 통하여 다시 원래 사용자의 응용프로그램 공유 장치(7)로 전달된다.When the user's event is delivered to the network card and the central processing unit of another user's application sharing device 9, it is delivered to the application sharing server and processed in the desired application, which is temporarily stored in main storage for processing. The view data (image data to be output to the user) is transferred back to the original user's application sharing apparatus 7 via the central processing unit and the network card.

원래의 응용프로그램 공유 장치(7)의 응용프로그램 공유 서버(2)는 네트워크 카드(6)와 중앙 처리부(3)를 통하여 뷰 데이타를 전달받아 중앙 처리부(3)와 출력장치(5)를 통해서 사용자에게 출력한다.The application sharing server 2 of the original application sharing device 7 receives the view data through the network card 6 and the central processing unit 3, and the user through the central processing unit 3 and the output device 5. Output to.

상기와 같이 사용자가 입력장치(4)를 통해서 응용프로그램 공유 장치(7)에 이벤트를 발생시키면, 이는 응용프로그램 공유 서버(2)를 통해서 원격지의 다른 사용자에게 전달되어 이를 실제 응용프로그램으로 전달하며, 이 결과를 다시 응용프로그램 공유 서버를 통해서 원래의 사용자쪽의 응용프로그램 공유 서버(2)로 보내주어 이 사용자가 마치 자신의 응용프로그램을 사용하고 있는 것처럼 느끼게 해 준다.When the user generates an event in the application sharing device 7 through the input device 4 as described above, it is delivered to other users of the remote place through the application sharing server (2) to deliver it to the actual application, This result is sent back to the application sharing server (2) of the original user through the application sharing server, so that this user feels as if he is using his application.

도 2 는 본 발명에 따른 응용프로그램 공유 서버의 일실시예 상세 구성도로서, 도면에 11은 훅 제어기, 12는 이벤트 분배기, 13은 뷰 분배기를 각각 나타낸다.2 is a detailed configuration diagram of an embodiment of an application sharing server according to the present invention, in which FIG. 11 is a hook controller, 12 is an event distributor, and 13 is a view distributor.

본 발명에 따른 응용프로그램 공유 서버(2)는 입력장치(4)와 중앙 처리부(3)를 통하여 입력받은 사용자의 이벤트를 훅 제어기(11)에서 가로채어 이벤트 분배기(12)로 보내면, 이벤트 분배기(12)는 중앙 처리부(3)와 네트워크 카드(6)와 통신망(8)을 통하여 다른 응용프로그램 공유 장치(9)로 전달한다.The application sharing server 2 according to the present invention intercepts the user's event received through the input device 4 and the central processing unit 3 from the hook controller 11 and sends the event distributor 12 to the event distributor 12. 12 transmits to the other application sharing device 9 via the central processing unit 3, the network card 6 and the communication network (8).

다른 응용프로그램 공유 장치(9)의 이벤트 분배기는 통신망(8)과 네트워크 카드와 중앙 처리부를 통하여 사용자 이벤트를 전달받으면, 그 곳의 훅 제어기와 중앙처리부를 거쳐서 원하는 응용프로그램 프로그램의 입력으로 전달한다. 응용프로그램에서 처리를 한 뒤의 뷰 데이타는 중앙 처리부를 통하여 훅 제어기에 의해서 획득되어서 다시 중앙 처리부와 네트워크 카드를 통하여 원래의 사용자측 응용프로그램 공유 장치(7)로 전달된다.When the event distributor of the other application sharing device 9 receives the user event through the communication network 8, the network card, and the central processing unit, the event distributor delivers the desired application program through the hook controller and the central processing unit there. The view data after the processing in the application is obtained by the hook controller through the central processing unit and then transferred back to the original user side application sharing apparatus 7 via the central processing unit and the network card.

원래의 응용프로그램 공유 장치(7)의 뷰 분배기(13)는 통신망(8)과 네트워크 카드(6)와 중앙 처리부(3)를 통하여 뷰 데이타를 전달받아 중앙 처리부(3)와 출력장치(5)를 통하여 사용자에게 출력한다.The view distributor 13 of the original application sharing device 7 receives the view data through the communication network 8, the network card 6, and the central processing unit 3, and the central processing unit 3 and the output device 5. Output to the user via.

여기에서, 훅 제어기(11)는 중앙 처리부(3)의 메시지 처리 통로상에 훅(hook : 데이타 통로상에서 데이타를 획득하기 위하여 설정된 것)을 설정해서 중앙 처리부(3)로 전달되는 사용자의 이벤트를 모두 가로채거나(데이타를 획득하여 일정한 처리를 수행한 후에 다시 전송함), 다른 응용프로그램 공유 장치(9)의 이벤트 분배기로부터 전달되는 이벤트를 중앙 처리부(3)를 통해서 응용프로그램으로 전달하여 처리한 후에 뷰 데이타를 획득한다.Here, the hook controller 11 sets a hook on the message processing passage of the central processing unit 3 and sets a hook (which is set up to acquire data on the data passage) to receive the user's event delivered to the central processing unit 3. Intercept all of them (acquire data and send it again after performing certain processing), or transfer the event from the event distributor of the other application sharing device 9 to the application program through the central processing unit 3 for processing. We get the view data later.

이벤트 분배기(12)는 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유 장치(9)상의 이벤트 분배기로부터 전달받은 이벤트를 다시 자신의 훅 제어기(11)로 보내거나, 훅 제어기(11)로부터 전달받은 자신의 이벤트를 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유 장치(9)상의 이벤트 분배기로 보내서 상대방 훅 제어기가 처리할 수 있도록 한다. 이렇게 하므로써 이벤트 분배기(12)는 훅 제어기(12)로부터 캡쳐(Capture : 데이타를 복사하듯이 획득하는 것)된 이벤트를 통신망(8)에 연결된 다른 응용프로그램 공유 장치(9)로 분배한다.The event distributor 12 sends the event received from the event distributor on the application sharing device 9 of another user connected to the communication network 8 back to the hook controller 11 or received from the hook controller 11. It sends its event to the event distributor on the application sharing device 9 of another user connected to the communication network 8 so that the other hook controller can process it. In this way the event distributor 12 distributes the captured event from the hook controller 12 to another application sharing device 9 connected to the communication network 8.

뷰 분배기(13)는 응용프로그램이 화면에 출력한 결과, 즉 화면에 나타나는 모습을 캡쳐해서 이를 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유 장치(9)상의 뷰 분배기로 전송하거나, 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유장치(9)상의 뷰 분배기가 전송한 뷰 데이타를 사용자에게 출력하므로써 통신망(8)에 연결된 응용프로그램 공유 장치들(7, 9)사이에 뷰 데이타를 분배, 공유한다. 이렇게 해서 사용자는 원격지의 응용프로그램을 마치 자신의 응용프로그램인 것처럼 사용할 수 있게 된다.The view distributor 13 captures the result of the application output on the screen, that is, the appearance on the screen and transmits it to the view distributor on the application sharing device 9 of another user connected to the communication network 8, or the communication network 8 Distributing and sharing the view data among the application sharing devices 7 and 9 connected to the communication network 8 by outputting the view data transmitted by the view distributor on another user's application sharing device 9 connected to the communication network 8 to the user. do. This allows the user to use the remote application as if it were his application.

도 3 은 본 발명에 따른 훅 제어기의 일실시예 상세 구성도로서, 도면에서 21은 훅 설정부, 22는 이벤트 필터부, 23은 이벤트 레코드부, 24는 이벤트 플레이부를 각각 나타낸다.3 is a detailed configuration diagram of an embodiment of a hook controller according to the present invention, in which 21 is a hook setting unit, 22 is an event filter unit, 23 is an event record unit, and 24 is an event play unit.

훅 설정부(21)은 중앙 처리부(3)에 훅을 설정한다. 즉, 이벤트 필터부(22)와 중앙 처리부(3) 사이에 데이타 통로를 설정하여 중앙 처리부(3)상에서의 메시지, 특히 사용자가 발생시킨 마우스나 키보드 메시지를 이벤트 필터부(22)에서 가로채기 할 수 있도록 서로 연결시킨다.The hook setting unit 21 sets a hook to the central processing unit 3. In other words, a data path is set between the event filter unit 22 and the central processing unit 3 so that the event filter unit 22 can intercept messages on the central processing unit 3, in particular, mouse or keyboard messages generated by the user. So that they can be connected together.

여기에서 이벤트 필터부(22)는 중앙 처리부(3)를 통과하는 모든 메시지 통로를 중간에서 가로채어서 이벤트 레코드부(23)가 기능을 수행할 수 있도록 한다. 즉, 이벤트 레코드부(23)에서는 이벤트 필터부(22)를 통과하는 메시지중에서 마우스나 키보드 등을 이용하여 사용자가 발생시킨 메시지들을 분류해서 이를 저장한 후에 이벤트 분배기(12)로 보내며, 이를 통신망(8)에 연결된 다른 응용프로그램 공유 장치(9)의 이벤트 분배기가 받아서 이벤트 플레이부(24)로 전달하여 이벤트 필터부(22)를 통해서 중앙 처리부(3)상의 메시지 통로로 보낸다.Here, the event filter unit 22 intercepts all message paths passing through the central processing unit 3 in the middle so that the event recorder 23 can perform a function. That is, the event recorder 23 classifies and stores the messages generated by the user by using a mouse or a keyboard among the messages passing through the event filter unit 22, sends them to the event distributor 12, and stores them. The event distributor of the other application sharing device 9 connected to 8) receives and delivers it to the event play section 24 and sends it to the message path on the central processing section 3 through the event filter section 22.

이렇게 하므로써 훅 설정부(21), 이벤트 필터부(22), 이벤트 레코드부(23) 및 이벤트 플레이부(24)를 포함하는 훅 제어기(11)에서는 이벤트를 수집하고 재생하는데 필요한 기능을 제공한다.In this manner, the hook controller 11 including the hook setting unit 21, the event filter unit 22, the event recorder 23, and the event play unit 24 provides functions necessary for collecting and playing back events.

도 4 는 본 발명에 따른 응용프로그램 공유 방법에 대한 일실시예 흐름도이다.4 is a flowchart illustrating an application sharing method according to the present invention.

먼저, 메시지 가로채기를 위한 훅을 설정한 후에(31) 공유할 응용프로그램을 선택하는데, 응용프로그램 선택은 사용자가 공유할 응용프로그램의 캡션 바(Caption Bar)를 선택하므로써 이루어진다. 이렇게 얻어진 마우스의 위치 정보를 통해서 공유할 응용프로그램의 윈도우 핸들을 얻어낸다. 이 윈도우 핸들은 후에 뷰 데이타를 획득하는데 사용된다(32).First, after setting a hook for intercepting messages (31), an application to be shared is selected. The application selection is performed by selecting a caption bar of an application to be shared by the user. The window handle of the application to be shared is obtained from the mouse position information thus obtained. This window handle is later used to obtain view data (32).

이후, 이벤트 필터 설정 과정에서는 중앙 처리부(3)의 운영체제상에 메시지 가로채기를 위한 이벤트 필터를 설정해서 메시지 가로채기 및 메시지 재생을 수행하도록 준비하며(33), 초기자인지 참여자인지를 판단하여 그 결과에 따라 두가지로 수행 과정이 나누어진다(34).Subsequently, in the event filter setting process, an event filter for intercepting messages is set on the operating system of the central processing unit 3 to prepare for intercepting messages and reproducing messages (33). The results are divided into two processes (34).

응용프로그램을 실제 가지고 있는 초기자인 경우에는, 즉 응용프로그램을 가지고 있는 응용프로그램 공유 장치(7)인 경우에는 우선 통신망(8)에 연결된 다른 응용프로그램 공유 장치(9)에서 보내는 이벤트를 수신하여(35) 이를 자신이 가진 응용프로그램으로 보내서 처리하도록 하며(36), 위에서 얻은 윈도우 핸들을 통해서 응용프로그램이 처리한 결과인 뷰 데이타를 캡쳐한다(37). 이후, 통신망(8)의 대역폭을 효율적으로 사용하기 위해서 뷰 데이타를 압축하여(38) 이를 다른 응용프로그램 공유 장치(9)로 전송한다(39).In the case of an initiator that actually has an application, that is, an application sharing device 7 having an application, first, an event sent from another application sharing device 9 connected to the communication network 8 is received (35). Send it to your application for processing (36), and capture the view data that the application processes as a result of the window handle (37). Then, in order to efficiently use the bandwidth of the communication network 8, the view data is compressed 38 and transmitted to another application sharing device 9 (39).

반면에, 응용프로그램을 가지고 있지 않고 통신망(8)에 연결되어 있는 초기자의 응용프로그램을 통해서 공동작업을 하고자 하는 참여자인 경우에는, 초기자측에서 보내온 뷰 데이타를 수신하여(40) 이를 사용자가 볼 수 있도록 화면에 출력한다(41). 그리고, 사용자가 발생한 이벤트를 캡쳐하여(42) 이를 초기자측의 응용프로그램 공유 장치(7)로 전송한다(43).On the other hand, in the case of a participant who does not have an application program and wants to collaborate through an application program of an initiator connected to the communication network 8, the view data sent from the initiator side is received (40). It is output to the screen so that it can be displayed (41). In operation 43, an event generated by the user is captured and transmitted to the application program sharing device 7 of the initiator.

상기 뷰 데이타나 이벤트를 전송하는 과정을 수행한 후에 종료인지를 판단하여(44) 종료가 아니면 상기 초기자인지 참여자인지를 판단하는 과정(34)부터 반복 수행한다.After performing the process of transmitting the view data or the event, it is determined whether it is the end (44), or if it is not the end, it is repeated from the process (34) of determining whether it is the initiator or the participant.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains, and the above-described embodiments and accompanying It is not limited to the drawing.

상기와 같은 븐 발명은 훅 제어기를 사용한 응용프로그램 공유 서버에 의해서 일반 윈도우 응용프로그램을 단일 사용자 환경 이외에 공동작업이 가능한 상호참여형 응용프로그램으로 전환시키며, 이벤트 분배기와 뷰 분배기에 의해서 한 곳에만 응용프로그램이 존재하더라도 모든 참여자가 그 응용프로그램을 통해서 공동작업을 수행할 수 있도록 해주므로써 고가의 응용프로그램을 보다 효율적이고 경제적으로 이용할 수 있도록 해주며, 분산 네트워크 환경에서의 작업성을 높이는 효과가 있다.The invention described above converts a general Windows application into a mutually participating application that can be collaborated in addition to a single user environment by an application sharing server using a hook controller, and an application program exists only in one place by an event distributor and a view distributor. Even if all the participants can collaborate through the application, it can make the expensive application more efficient and economical and improve the workability in distributed network environment.

Claims (4)

응용프로그램 공유 시스템에 있어서, 주 기억장치, 중앙 처리부, 입력장치, 출력장치 및 상기 중앙 처리부에 연결되어 통신망을 통하여 적어도 하나 이상의 타 응용프로그램 공유 장치와 통신을 하기 위한 네트워크 카드를 구비하되, 사용자 입력이 상기 입력장치를 통해서 상기 중앙 처리부로 입력되면, 응용프로그램 공유 서버는 상기 중앙 처리부로 전달되는 사용자의 이벤트를 가로채어 처리한 후에 처리한 뷰 데이타를 출력을 위해 상기 주 기억장치에 일시 저장하고, 처리한 뷰 데이타를 상기 중앙 처리부와 상기 네트워크 카드를 통해서 상기 타 응용프로그램 공유 장치로 전송하고, 상기 타 응용프로그램 공유 장치로부터 상기 통신망과 상기 네트워크 카드와 중앙 처리부를 통하여 사용자의 이벤트가 전달되면, 상기 응용프로그램 공유 서버는 상기 중앙 처리부로부터 타 사용자의 이벤트를 전달받아 원하는 응용프로그램에서 처리한 후에 처리 과정에 대한 상기 주 기억장치에 일시 저장되어 있는 뷰 데이타를 상기 중앙 처리부와 상기 네트워크 카드와 상기 통신망을 통하여 상기 타 응용프로그램 공유 장치로 전달하며,An application sharing system, comprising: a main card, a central processing unit, an input device, an output device, and a network card connected to the central processing unit to communicate with at least one other application sharing device through a communication network, wherein a user input is provided; When the input unit is input to the central processing unit through the input device, the application sharing server intercepts and processes the user's event delivered to the central processing unit, and temporarily stores the processed view data in the main memory for output. When the processed view data is transmitted to the other application sharing device through the central processing unit and the network card, and the user's event is transmitted from the other application sharing device through the communication network, the network card and the central processing unit, Application Sharing Server After receiving the user's event from the central processing unit and processing it in a desired application program, view data temporarily stored in the main storage device for processing is transmitted to the other application program through the central processing unit, the network card, and the communication network. To a shared device, 상기 응용프로그램 공유 서버는 상기 타 응용프로그램 공유 장치로부터 상기 통신망과 상기 네트워크 카드와 상기 중앙 처리부를 통하여 뷰 데이타를 전달받아 상기 중앙 처리부와 상기 출력장치를 통해서 상기 사용자에게 출력하되, 상기 응용프로그램 공유 서버는, 상기 중앙 처리부의 메시지 처리 통로상에 훅(hook)을 설정해서 상기 중앙 처리부로 전달되는 사용자의 이벤트를 가로채거나, 상기 타 응용프로그램 공유 장치의 이벤트 분배기로부터 전달되는 이벤트를 상기 중앙 처리부를 통해서 응용프로그램으로 전달/처리하여 데이타를 획득하는 훅 제어기; 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 이벤트 분배기로부터전달받은 이벤트를 상기 훅 제어기로 보내거나, 상기 훅 제어기로부터 전달받은 이벤트를 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 이벤트 분배기로 전달하는 이벤트 분배기; 및 뷰 데이타를 캡쳐하여 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 뷰 분배기로 전송하거나, 상기 통신망에 연결된 상기 타 응용프로그램 공유 장치의 뷰 분배기가 전송한 뷰 데이타를 사용자에게 출력하는 뷰 분배기The application sharing server receives the view data from the other application sharing device through the communication network, the network card and the central processing unit and outputs the view data to the user through the central processing unit and the output device, the application sharing server Set a hook on the message processing passage of the central processing unit to intercept the user's event delivered to the central processing unit, or the event is sent from the event distributor of the other application sharing device the central processing unit A hook controller for acquiring data by transferring / processing to an application program through the hook; An event for transmitting an event received from the event distributor of the other application sharing device connected to the communication network to the hook controller, or for transmitting an event received from the hook controller to an event distributor of the other application sharing device connected to the communication network; Distributor; And a view distributor for capturing the view data and transmitting the view data to the view distributor of the other application sharing device connected to the communication network or outputting the view data transmitted by the view distributor of the other application sharing device connected to the communication network to the user. 를 포함하여 이루어진 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템.Application sharing system for converting a Windows application made, including the interactive application. 제 1 항에 있어서, 상기 훅 제어기는, 상기 중앙 처리부를 통과하는 모든 메시지 통로를 중간에서 가로채는 이벤트 필터부; 상기 중앙 처리부에 훅을 설정하여 상기 이벤트 필터부와 상기 중앙 처리부 사이에 데이타 통로를 형성하여 상기 중앙 처리부상에서의 메시지를 상기 이벤트 필터부에서 가로채기할 수 있도록 서로 연결시키는 훅 설정부; 상기 이벤트 필터부를 통과하는 메시지중에서 상기 사용자가 발생시킨 메시지들을 분류하여 저장한 후에 상기 이벤트 분배기로 전송하는 이벤트 레코드부; 및 상기 이벤트 분배기를 통하여 상기 타 응용프로그램 공유 장치의 이벤트를 받아서 상기 이벤트 필터부를 통해서 상기 중앙 처리부상의 메시지 통로로 전송하는 이벤트 플레이부The system of claim 1, wherein the hook controller comprises: an event filter unit intercepting all message passages through the central processing unit; A hook setting unit configured to set a hook in the central processing unit to form a data path between the event filter unit and the central processing unit so as to intercept a message on the central processing unit in the event filter unit; An event recorder which classifies and stores the messages generated by the user among the messages passing through the event filter and transmits them to the event distributor; And an event play unit which receives an event of the other application sharing device through the event distributor and transmits the event to the message path on the central processing unit through the event filter unit. 를 포함하여 이루어진 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템.Application sharing system for converting a Windows application made, including the interactive application. 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템에 적용되는 응용프로그램 공유 방법에 있어서, 메시지를 가로채기 위한 훅(hook)을 설정하고 공유할 응용프로그램에 대한 정보를 획득한 후에 이벤트를 가로채기 위한 이벤트 필터를 설정하여 메시지 가로채기와 메시지 재생 수행을 준비한 다음에 초기자인지 참여자인지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 응용프로그램을 실제 가지고 있는 초기자인 경우에는 통신망에 연결된 타 응용프로그램 공유 장치에서 보내는 이벤트를 수신하여 자신이 가진 응용프로그램으로 보내서 처리하여 뷰 데이타를 캡쳐한 후에 뷰 데이타를 압축하여 상기 타 응용프로그램 공유 장치로 전송하는 제 2 단계; 및 상기 제 1 단계의 판단 결과, 응용프로그램을 가지고 있지 않고 상기 통신망에연결되어 있는 초기자의 응용프로그램을 통해서 공동작업을 하고자 하는 참여자인 경우에는 초기자측에서 보내온 뷰 데이타를 수신하여 사용자가 볼 수 있도록 화면에 출력하고 사용자가 발생한 이벤트를 캡쳐하여 초기자측의 응용프로그램 공유 장치로 전송하는 제 3 단계An application sharing method applied to an application sharing system for converting a Windows application into an interactive application, wherein a hook is set up to intercept a message and an event is obtained after obtaining information about the application to be shared. A first step of setting an event filter for interception to prepare for intercepting a message and playing a message, and then determining whether it is an initiator or a participant; As a result of the determination of the first step, if the initiator actually has an application program, the event data received from another application sharing device connected to the communication network is received, sent to the application program which owns it, the view data is captured, and the view data is captured. Compressing and transmitting the compressed data to the other application sharing device; And as a result of the determination of the first step, in case of a participant who does not have an application program and wants to collaborate through an application program of an initiator connected to the communication network, the user can view the view data sent from the initiator. The third step of outputting to the screen and capturing the event occurred by the user to the application sharing device of the initiator 를 포함하여 이루어진 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 방법.Application sharing method for converting a Windows application made, including the interactive application. 제 3 항에 있어서, 상기 전송 과정을 수행한 후에 종료될때까지 상기 제 1 단계의 판단 과정부터 반복 수행하는 제 4 단계The method of claim 3, wherein the fourth step of repeating the determination process of the first step until the end after performing the transmission process 를 더 포함하여 이루어진 윈도우 응용프로그램을 상호참여형 응용프로그램으로전환시키는 응용프로그램 공유 방법.Application sharing method for converting a Windows application made further comprising the interactive application.
KR1019960027944A 1996-07-11 1996-07-11 The shared system and method converting window applications to network applications KR100215426B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960027944A KR100215426B1 (en) 1996-07-11 1996-07-11 The shared system and method converting window applications to network applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960027944A KR100215426B1 (en) 1996-07-11 1996-07-11 The shared system and method converting window applications to network applications

Publications (2)

Publication Number Publication Date
KR980010824A KR980010824A (en) 1998-04-30
KR100215426B1 true KR100215426B1 (en) 1999-08-16

Family

ID=19465991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960027944A KR100215426B1 (en) 1996-07-11 1996-07-11 The shared system and method converting window applications to network applications

Country Status (1)

Country Link
KR (1) KR100215426B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359310B1 (en) * 2000-10-20 2002-10-31 아이원더넷 주식회사 Method for sharing data between programs
KR20010079365A (en) * 2001-07-09 2001-08-22 유영진 Method and system for common processing real time event of program in network computer system
KR100957701B1 (en) * 2008-01-15 2010-05-12 에스케이 텔레콤주식회사 System, Server and Method sharing program executing
KR102247248B1 (en) * 2019-05-10 2021-05-03 주식회사 티맥스에이앤씨 Server and method for sharing collaborative editing file

Also Published As

Publication number Publication date
KR980010824A (en) 1998-04-30

Similar Documents

Publication Publication Date Title
US6587870B2 (en) Information sharing system, and information sharing system management apparatus and method
US6047314A (en) Remote collaboration system with multiple host computers using multiple applications
US20170171262A1 (en) Method and software for enabling n-way collaborative work over a network of computers
US5995096A (en) Conference display control method and apparatus for an electronic conference for displaying either shared or local data and transferring local data
CN101572794B (en) Conference terminal, conference server, conference system and data processing method
JP2006101522A (en) Video conference system, video conference system for enabling participant to customize cooperation work model, and method for controlling mixing of data stream for video conference session
CN106161219A (en) Message treatment method and device
EP3253022A1 (en) System, equipment and method for performing and documenting in real-time a remotely assisted professional procedure
KR20200055511A (en) Web-based real-time shared object transmission system and method thereof
KR100215426B1 (en) The shared system and method converting window applications to network applications
KR100227151B1 (en) Method of common accessing application program for multi point communication
JP2002149580A (en) Server equipment, user terminal equipment, virtual space system, method for distributing user information, method for displaying user information, method for distributing and displaying user information and storage medium
JP2791097B2 (en) Interactive communication method and system
KR100237182B1 (en) Structure and method of application program collaboration system
JPH06332819A (en) Conference screen display control system
KR100285969B1 (en) System for sharing application program between different window systems
US20020054205A1 (en) Videoconferencing terminal
CN111813312B (en) Data transmission method, device, system, terminal equipment and readable storage medium
KR20010110557A (en) complex multimedia service method, and system for the same
KR102566158B1 (en) Online conference method using remote control
JP7307306B2 (en) Information processing device, information processing system, control method, and program
JP2880177B2 (en) Logical communication path control method between programs
Pozzer et al. CSVTool-A tool for video-based collaboration
JP3278906B2 (en) Image simultaneous switching control device and group shared image switching control device
CN117041468A (en) Network communication method, device, equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020513

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee