KR19980065416A - How to share an application that supports multipoint communication - Google Patents

How to share an application that supports multipoint communication Download PDF

Info

Publication number
KR19980065416A
KR19980065416A KR1019970000387A KR19970000387A KR19980065416A KR 19980065416 A KR19980065416 A KR 19980065416A KR 1019970000387 A KR1019970000387 A KR 1019970000387A KR 19970000387 A KR19970000387 A KR 19970000387A KR 19980065416 A KR19980065416 A KR 19980065416A
Authority
KR
South Korea
Prior art keywords
application
packet
event
user
sharing device
Prior art date
Application number
KR1019970000387A
Other languages
Korean (ko)
Other versions
KR100227151B1 (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 KR1019970000387A priority Critical patent/KR100227151B1/en
Publication of KR19980065416A publication Critical patent/KR19980065416A/en
Application granted granted Critical
Publication of KR100227151B1 publication Critical patent/KR100227151B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

1. 청구 범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 다중점 통신을 지원하는 응용프로그램 공유 방법에 관한 것임.The present invention relates to a method for sharing an application that supports multipoint communication.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시켜서 공동 작업이 가능하도록 하며 네트워크에서 전송하는 방법으로 UDP를 사용하여 다중점 통신을 지원하는 응용프로그램 공유 방법을 제공하고자 함.An object of the present invention is to provide a method of sharing an application that supports multi-point communication using UDP as a method of transferring a network from a Windows application to a mutually participating application to enable collaboration.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은 응용프로그램 공유 서버에서 운영체제의 훅을 제어하여 사용자가 발생시킨 이벤트를 획득하여 이를 원격지의 이벤트 분배기와 연동하여 뷰를 생성한 후에 이를 다시 사용자의 뷰 분배기로 보내서 사용자가 원격지의 응용을 마치 자신의 응용을 사용하는 것처럼 느끼도록 해줌으로써 컴퓨터에서의 윈도우 응용프로그램을 상호 참여형 응용프로그램으로 전환시키며, 다중점 통신으로 네트워크에서의 전송량을 줄이고 사용자수의 증가에 상관없이 일정한 성능을 보장할 수 있다.The present invention obtains an event generated by a user by controlling a hook of an operating system in an application sharing server, generates a view in conjunction with a remote event distributor, and then sends it to the user's view distributor to complete the remote application. By making you feel like you are using your own application, you can turn Windows applications into interactive applications on your computer, and multi-point communication can reduce network traffic and ensure consistent performance regardless of the number of users. .

4. 발명의 중요한 용도4. Important uses of the invention

통신망에 연결되어 있는 공동 작업 환경의 응용프로그램 공유 시스템에 이용됨.Used for application sharing systems in a collaborative environment connected to a network.

Description

다중점 통신을 지원하는 응용프로그램 공유 방법How to share an application that supports multipoint communication

본 발명은 통신망에 연결되어 있는 공동 작업 환경하에서 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키며 다중점 통신을 지원하는 응용프로그램 공유 방법에 관한 것으로, 특히 훅 제어기를 사용한 응용프로그램 공유 서버에 의거하여 원격지 컴퓨터에서 응용프로그램을 가지지 않고서도 응용프로그램을 이용할 수 있도록 하기 위하여 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시켜서 공동 작업이 가능하도록 하며 네트워크에서 전송하는 방법으로 UDP(User Datagram Protocol)를 사용하여 다중점 통신을 지원하는 응용프로그램 공유 방법에 관한 것이다.The present invention relates to an application sharing method for converting a Windows application into a mutually participating application in a collaborative working environment connected to a communication network and supporting multipoint communication, and in particular, based on an application sharing server using a hook controller. In order to make an application available without having an application on the computer, it is possible to collaborate by converting a Windows application into an inter-participant application, and using the User Datagram Protocol (UDP) as a transmission method in a network. It relates to a method of sharing an application that supports communication.

종래 컴퓨터에서의 응용프로그램들은 단일 사용자만을 염두에 두고 작성되어서 여러 사용자가 통신망을 통해서 공동 작업을 하는 것이 근본적으로 불가능하였고, 혹은 공동 작업을 일부 지원하더라도 그 지원 범위가 좁고, 근본적으로 응용이 반드시 모든 사용자의 컴퓨터에 있어야만 서로 공동 작업을 할 수 있는 문제점이 있었다.Applications on a conventional 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 with some support for collaboration, the scope of support was narrow, There was a problem that only the user's computer can collaborate with each other.

또한, 종래의 응용프로그램 공유 시스템에서 사용하는 점대점 통신 방식은 각각의 컴퓨터끼리 점대점으로 통신을 수행하기 때문에 공유 시스템을 사용하는 사용자 수가 증가함에 따라서 반복 전송에 의해서 통신시에 발생하는 작업량이 급격히 증가하며, 각 사용자의 공동 작업 내용이 갱신되는데 시간차가 커지는 문제점이 있었다.In addition, in the point-to-point communication method used in the conventional application sharing system, each computer performs the point-to-point communication with each other, and as the number of users using the shared system increases, the amount of work generated during communication due to repeated transmissions rapidly increases. Increasingly, there was a problem in that the time difference between each user's collaboration is updated.

상기 문제점을 해결하기 위하여 안출된 본 발명은, 응용프로그램 공유 서버에서 운영체제의 훅(hook)을 제어하여 사용자가 발생시킨 이벤트(event)를 획득하여 이를 원격지의 이벤트 분배기와 연동하여 응용의 뷰를 생성한 후에 이를 다시 사용자의 뷰 분배기로 보내서 사용자가 원격지의 응용을 마치 자신의 응용을 사용하는 것처럼 느끼도록 해줌으로써 컴퓨터에서의 윈도우 응용프로그램을 상호 참여형 응용프로그램으로 전환시키며, 다중점 통신을 지원함으로써 네트워크에서의 전송량을 줄이고 사용자수의 증가에 상관없이 일정한 성능을 보장하는 응용프로그램 공유 방법을 제공하는데 그 목적이 있다.In order to solve the above problems, the present invention controls the hook of the operating system in the application sharing server, obtains an event generated by the user, and generates a view of the application by interworking with an event distributor of a remote place. It then sends it back to the user's view distributor, allowing the user to feel as if he or she is using a remote application, converting Windows applications on the computer into interactive applications and supporting multipoint communication. Its purpose is to provide a method for sharing applications that reduces the amount of data transmission and guarantees a certain performance regardless of the number of users.

도 1 은 본 발명이 적용되는 응용프로그램 공유 시스템의 구성도,1 is a configuration diagram of an application sharing system to which the present invention is applied;

도 2 는 본 발명이 적용되는 응용프로그램 공유 서버의 상세 구성도,2 is a detailed configuration diagram of an application sharing server to which the present invention is applied;

도 3 은 본 발명이 적용되는 훅 제어기의 상세 구성도,3 is a detailed configuration diagram of a hook controller to which the present invention is applied;

도 4 는 본 발명에 따른 응용프로그램 공유 방법에 대한 처리 흐름도,4 is a process flow diagram for an application sharing method according to the present invention;

도 5 는 본 발명에 따른 뷰 분할/전송 과정의 상세 흐름도,5 is a detailed flowchart of a view segmentation / transmission process according to the present invention;

도 6 은 본 발명에 따른 뷰 수신/병합 과정의 상세 흐름도.6 is a detailed flowchart of a view receiving / merging process according to the present invention.

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

1 : 주 기억 장치2 : 응용프로그램 공유 서버1: Main storage device 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

상기 목적을 달성하기 위하여 본 발명은, 윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템에 적용되어 다중점 통신을 지원하는 응용프로그램 공유 방법에 있어서, 메시지를 가로채기 위한 훅(hook)을 설정한 후에 공유할 응용프로그램의 정보를 획득한 다음에 이벤트를 가로채기 위한 이벤트 필터를 설정하여 메시지 가로채기와 메시지 재생 수행을 준비한 후에 초기자인지 참여자인지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 응용프로그램을 실제 가지고 있는 초기자인 경우에는 통신망에 연결된 다른 응용프로그램 공유장치에서 보내온 이벤트를 수신하여 자신이 가진 응용프로그램으로 보내서 처리하여 뷰 데이터를 캡쳐한 후에 뷰 데이터를 압축/분할하여 다중점 통신방식으로 상기 다른 응용프로그램 공유장치로 전송하는 제 2 단계; 및 상기 제 1 단계의 판단 결과, 응용프로그램을 가지고 있지 않고 상기 통신망에 연결되어 있는 초기자의 응용프로그램을 통해서 공동작업을 하고자 하는 참여자인 경우에는 초기자측에서 보내온 뷰 데이터를 수신/병합하여 사용자가 볼 수 있도록 화면에 출력하고 사용자가 발생한 이벤트를 캡쳐하여 다중점 통신방식으로 초기자측의 응용프로그램 공유장치로 전송하는 제 3 단계를 포함한다.In order to achieve the above object, the present invention is applied to an application sharing system for converting a Windows application into a mutually participating application, an application sharing method for supporting multi-point communication, a hook for intercepting a message A first step of determining whether to be an initiator or a participant after acquiring information on an application to be shared and then setting an event filter for intercepting an event to prepare for intercepting a message and playing a message; As a result of the determination in 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 sent to the application program which owns it, the view data is captured, and the view data is captured. Compressing / dividing and transmitting the multi-point communication method 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 receives and merges the view data sent from the initiator side. The third step of outputting to the screen for viewing and capturing the event occurred by the user to the application sharing device of the initiator side in a multi-point communication method.

이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.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 to which the present invention is applied, in which 1 is a main storage 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 is a network. Cards 7 and 9 denote application sharing devices and 8 denote communication networks.

본 발명에 따른 응용프로그램 공유 시스템은 입력 장치(4), 출력 장치(5), 네트워크 카드(6) 등의 주변 장치와 주 기억장치(1) 등을 통합하여 운영하는 운영 체제를 주 기억 장치(1)로부터 로딩하여 수행시키는 중앙 처리부(3), 상기 중앙 처리부(3)에 연결되어 응용프로그램과 운영체제를 저장하고 이벤트 정보, 뷰 정보, 및 응용프로그램 공유를 위한 데이터를 저장하는 주 기억장치(1), 상기 중앙 처리부(3)와 주 기억장치(1)에 연결되어 응용프로그램 공유에 대한 지원을 하는 응용프로그램 공유 서버(2), 상기 중앙 처리부(3)에 사용자의 명령을 전달하는 입력 장치(4), 상기 중앙 처리부(3)에 연결되어 사용자의 명령에 대한 결과를 사용자에게 알려주는 출력 장치(5), 및 상기 중앙 처리부(3)에 연결되어 통신망(8)을 통하여 타 응용프로그램 공유장치(9)와 통신을 하기 위한 네트워크 카드(6)를 구비한다.The application sharing system according to the present invention includes 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. 1, a main processor 3 connected to the central processor 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 for transmitting a user's command to the central processing unit (3); 4), an output device 5 connected to the central processing unit 3 to inform the user of the result of the command of the user, and another application sharing device connected to the central processing unit 3 through the communication network 8. To communicate with (9) And a network card (6) for groups.

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

사용자 입력이 입력장치(4)를 통해서 입력되어서 중앙 처리부(3)로 입력되면, 응용프로그램 공유 서버(2)는 중앙 처리부(3)로부터 전달되는 사용자의 이벤트를 가로챈 후에 다시 중앙 처리부(3)와 네트워크 카드(6)를 통해서 다른 사용자의 응용프로그램 공유장치(9)로 네트워크 전송방법인 UDP를 사용하여 전송한다.When the user input is input through the input device 4 and input to the central processing unit 3, the application sharing server 2 intercepts the user's event transmitted from the central processing unit 3, and then the central processing unit 3 again. And through the network card 6 to another user's application sharing device (9) using a network transfer method UDP.

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

원래의 응용프로그램 공유장치(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 another user at a remote place through the application sharing server 2 and delivered to the actual application, This result is then sent back to the original user's application sharing server 2 via the application sharing server, making the user feel as if he is using his application.

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

본 발명에 따른 응용프로그램 공유 서버(2)에서 입력장치(4)와 중앙 처리부(3)를 통하여 입력받은 사용자의 이벤트를 훅 제어기(11)에서 가로채어 이벤트 분배기(12)로 보내면, 이벤트 분배기(12)는 중앙 처리부(3)와 네트워크 카드(6)와 통신망(8)을 통하여 네트워크 전송방법인 UDP(User Datagram Protocol)를 사용해서 다른 응용프로그램 공유장치(9)로 전달한다.In the application sharing server 2 according to the present invention, when the user's event received through the input device 4 and the central processing unit 3 is intercepted by the hook controller 11 and sent to the event distributor 12, the event distributor ( 12) transmits to another application program sharing device 9 through the central processing unit 3, the network card 6, and the communication network 8 using UDP (User Datagram Protocol), which is a network transmission method.

다른 응용프로그램 공유장치(9)의 이벤트 분배기는 통신망(8)과 네트워크 카드와 중앙 처리부를 통하여 사용자 이벤트를 전달받으면, 그 곳의 훅 제어기와 중앙 처리부를 거쳐서 원하는 응용프로그램의 입력으로 전달한다. 응용프로그램에서 처리를 한 후의 뷰 데이터는 중앙 처리부를 통하여 훅 제어기에 의해서 획득되어서 다시 중앙 처리부와 네트워크 카드를 통하여 네트워크 전송방법인 UDP를 사용하여 원래의 사용자측의 응용프로그램 공유장치(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 through the hook controller and the central processing unit there. The view data after processing in the application program is obtained by the hook controller through the central processing unit, and then transferred to the original user application sharing apparatus 7 via UDP, which is a network transmission method, 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 to set all hooks of the user's events delivered to the central processing unit 3. After intercepting (acquiring data and transmitting it again after performing certain processing) or passing the event delivered from the event distributor of another application sharing device 9 to the application through the central processing unit 3, the view is displayed. Acquire data.

이벤트 분배기(12)는 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유장치(9)상의 이벤트 분배기로부터 전달받은 이벤트를 다시 자신의 훅 제어기(11)로 보내거나 훅 제어기(11)로부터 받은 자신의 이벤트를 네트워크 전송방법인 UDP를 사용해서 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유장치(9)상의 이벤트 분배기로 보내서 상대방 훅 제어기가 처리할 수 있도록 한다. 이렇게 함으로써 이벤트 분배기(12)는 훅 제어기(11)로부터 캡쳐(Capture : 데이터를 복사하듯이 획득하는 것)된 이벤트를 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유장치(9)로 네트워크 전송방법인 UDP를 사용해서 분배한다.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 its hook controller 11 or receives its own from the hook controller 11. The event is sent to the event distributor on the application sharing device 9 of another user connected to the communication network 8 using UDP, which is a network transmission method, so that the other hook controller can process the event. By doing so, the event distributor 12 transmits the captured event from the hook controller 11 to the application sharing device 9 of another user connected to the communication network 8. Distribution using UDP.

뷰 분배기(13)는 응용프로그램이 화면에 출력한 결과, 즉 화면에 나타나는 모습을 캡쳐해서 이를 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유장치(9)상의 뷰 분배기로 네트워크 전송방법인 UDP를 사용해서 전송하거나 통신망(8)에 연결된 다른 사용자의 응용프로그램 공유장치(9)상의 뷰 분배기가 전송한 뷰 데이터를 사용자에게 출력함으로써 통신망(8)에 연결된 응용프로그램 공유장치들(7,9) 사이에 뷰 데이터를 분배, 공유한다. 이렇게 해서 사용자는 원격지의 응용프로그램을 마치 자신의 응용프로그램인 것처럼 사용할 수 있게 된다.The view divider 13 captures the result of the application output on the screen, that is, the appearance on the screen, and uses the UDP, which is a network transmission method, to the view distributor on the application sharing device 9 of another user connected to the communication network 8. Between the application sharing devices 7 and 9 connected to the communication network 8 by outputting to the user the view data transmitted by the view distributor on the application sharing device 9 of another user connected to or connected to the communication network 8. Distribute and share view data. 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 a hook controller to which the present invention is applied, 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. That is, a data path is set between the event filter unit 22 and the central processing unit 3 to intercept messages on the central processing unit 3, in particular, mouse or keyboard messages generated by the user, in the event filter unit 22. 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 messages generated by a user such as a mouse or a keyboard among the messages passing through the event filter unit 22 and sends them to the event distributor 12, which is then connected to the communication network 8. The event distributor of the program sharing device 9 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)에서는 이벤트를 수집하고 재생하는데 필요한 기능을 제공한다.By doing so, 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 a method of sharing an application program according to the present invention.

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

이후, 이벤트 필터 설정 과정에서는 중앙 처리부(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) 이를 전송에 적합한 크기로 분할한 후에 네트워크 전송방법인 UDP(User Datagram Protocol)를 사용해서 다른 응용프로그램 공유장치(9)로 전송한다(39).In the case of an initiator having 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). It sends it to its own application for processing (36), and captures view data that is the result of the application processing through the window handle obtained above (37). After that, in order to efficiently use the bandwidth of the communication network 8, the view data is compressed (38), and the view data is compressed into a size suitable for transmission, and then another application sharing device (UDP) using a network transmission method (UDP) is used. 9) (39).

반면에, 응용프로그램을 가지고 있지 않고, 통신망(8)에 연결되어있는 초기자의 응용프로그램을 통해서 공동 작업을 하고자 하는 참여자인 경우에는, 초기자측에서 분할해서 보내온 뷰 데이터를 수신하여 원래의 뷰 데이터로 병합하여(40) 이를 사용자가 볼 수 있도록 화면에 출력한다(41). 그리고, 사용자가 발생한 이벤트를 캡쳐하여(42) 이를 네트워크 전송방법인 UDP(User Datagram Protocol)를 사용해서 초기자측의 응용프로그램 공유장치(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 received from the initiator side divided by the original view data is received. Merge (40) and output it to the screen for the user to see (41). Then, the event generated by the user is captured (42) and transmitted to the application program sharing device (7) of the initiator using UDP (User Datagram Protocol) as a network transmission method (43).

상기 뷰 데이터나 이벤트를 전송하는 과정을 수행한 후에 종료인지를 판단하여(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.

도 5 는 본 발명에 따른 뷰 분할/전송 과정의 상세 흐름도이다.5 is a detailed flowchart of a view segmentation / transmission process according to the present invention.

먼저, 패킷(전송이나 수신할 때의 전송 단위)의 헤더(자료의 맨 앞에 붙여서 자료를 설명해 주는 것)를 생성한 후에(51) 현재의 패킷이 마지막 패킷인지 아닌지를 판단하여(52) 그 결과에 따라 두 가지로 수행 과정이 나누어진다.First, after generating a header (a description of the data by attaching it to the beginning of the data) of the packet (transmission unit at the time of transmission or reception) (51), it is determined whether or not the current packet is the last packet (52). The process is divided into two parts.

마지막 패킷인 경우에는, 전송하고 남은 크기에 따라서 마지막 패킷을 생성하여(53) 이를 통신망(8)에 연결된 다른 응용프로그램 공유장치(9)로 전송한 후에(54) 리턴한다.In the case of the last packet, the terminal generates a last packet according to the size remaining after the transmission (53), and returns it to the other application sharing device 9 connected to the communication network 8 (54).

마지막 패킷이 아닌 경우에는, 일정한 패킷 크기에 따라서 뷰를 분할하여(55) 패킷을 생성한 후에(56) 이를 통신망(8)에 연결된 다른 응용프로그램 공유장치(9)로 전송한 다음에(57) 패킷 헤더 생성 과정(51)부터 반복 수행한다.If it is not the last packet, the view is split according to a certain packet size (55) to generate a packet (56) and then transmitted to another application sharing device (9) connected to the network (8) (57). The packet header is repeatedly generated from the process 51.

도 6 은 본 발명에 따른 뷰 수신/병합 과정의 상세 흐름도이다.6 is a detailed flowchart of a view receiving / merging process according to the present invention.

먼저, 통신망(8)에 연결된 다른 응용프로그램 공유장치(9)에서 전송한 패킷을 수신하면(61) 패킷 헤더를 분리하여 패킷 헤더에서 현재의 패킷 번호와 총 패킷의 갯수인 총 패킷 번호를 추출한 후에(62) 현재의 패킷이 마지막 패킷인지 아닌지를 판단하여(63) 그 결과에 따라 두 가지로 수행 과정이 나누어진다.First, when receiving a packet transmitted from another application program sharing device 9 connected to the communication network (8) (61), the packet header is separated and the current packet number and the total packet number, which is the total number of packets, are extracted from the packet header. (62) It is determined whether the current packet is the last packet (63), and the execution process is divided into two according to the result.

마지막 패킷인 경우에는, 현재까지 수신하고 남은 크기에 따라서 마지막 패킷을 수신하여(64) 처음부터 마지막까지의 패킷에 따라 뷰를 병합하여 새로운 뷰를 설정한 후에(65) 리턴한다.In the case of the last packet, the terminal receives the last packet according to the size remaining after the present time (64), merges the view according to the packet from the beginning to the last, and returns (65).

마지막 패킷이 아닌 경우에는, 일정한 패킷 크기에 따라서 통신망(8)에 연결된 다른 응용프로그램 공유장치(9)로부터 전송된 패킷을 수신한 후에(66) 패킷 번호 수신 과정(61)부터 반복 수행한다.If the packet is not the last packet, the packet is repeatedly transmitted from the packet number receiving process 61 after receiving the packet transmitted from the other application sharing device 9 connected to the communication network 8 according to the predetermined packet size (66).

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.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.

상기와 같은 본 발명은 훅 제어기를 사용한 응용프로그램 공유 서버에 의해서 일반 윈도우 응용프로그램을 단일 사용자 환경 이외에 공동작업이 가능한 상호 참여형 응용프로그램으로 전환시키며, 이벤트 분배기와 뷰 분배기에 의해서 한 곳에만 응용이 존재하더라도 모든 참여자가 그 응용을 통해서 공동작업을 수행할 수 있도록 해줌으로써 고가의 응용프로그램을 보다 효율적이고 경제적으로 이용할 수 있도록 해주며, 분산 네트워크 환경에서 다중점 통신을 지원함으로써 한 번에 모든 참여자의 응용프로그램 공유장치로 공동작업 내용을 전송함으로써 반복전송에 의한 낭비와 각 참여자의 응용프로그램 공유장치로 전송되는 시간차를 없애서 공동작업 수행시의 작업성을 향상시킬 수 있는 효과가 있다.As described above, the present invention converts a general window application into an interactive participant application that can be collaborated in addition to a single user environment by an application sharing server using a hook controller. It enables all participants to collaborate through the application, enabling more efficient and economical use of expensive applications, and supporting all points at once by supporting multipoint communication in a distributed network environment. By transmitting the collaborative contents to the shared device, it is possible to improve the workability when performing collaborative work by eliminating the waste of repetitive transmission and the time difference transmitted to the application sharing device of each participant.

Claims (5)

윈도우 응용프로그램을 상호참여형 응용프로그램으로 전환시키는 응용프로그램 공유 시스템에 적용되어 다중점 통신을 지원하는 응용프로그램 공유 방법에 있어서,In the application sharing method that supports the multi-point communication applied to the application sharing system for converting a Windows application into a mutually participating application, 메시지를 가로채기 위한 훅(hook)을 설정한 후에 공유할 응용프로그램의 정보를 획득한 다음에 이벤트를 가로채기 위한 이벤트 필터를 설정하여 메시지 가로채기와 메시지 재생 수행을 준비한 후에 초기자인지 참여자인지를 판단하는 제 1 단계;After setting up a hook to intercept a message, obtain information about the application to share, and then set up an event filter to intercept the event to prepare to intercept the message and perform a message playback. Determining the first step; 상기 제 1 단계의 판단 결과, 응용프로그램을 실제 가지고 있는 초기자인 경우에는 통신망에 연결된 다른 응용프로그램 공유장치에서 보내온 이벤트를 수신하여 자신이 가진 응용프로그램으로 보내서 처리하여 뷰 데이터를 캡쳐한 후에 뷰 데이터를 압축/분할하여 다중점 통신방식으로 상기 다른 응용프로그램 공유장치로 전송하는 제 2 단계; 및As a result of the determination in 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 sent to the application program which owns it, the view data is captured, and the view data is captured. Compressing / dividing and transmitting the multi-point communication method to the other application sharing device; And 상기 제 1 단계의 판단 결과, 응용프로그램을 가지고 있지 않고 상기 통신망에 연결되어 있는 초기자의 응용프로그램을 통해서 공동작업을 하고자 하는 참여자인 경우에는 초기자측에서 보내온 뷰 데이터를 수신/병합하여 사용자가 볼 수 있도록 화면에 출력하고 사용자가 발생한 이벤트를 캡쳐하여 다중점 통신방식으로 초기자측의 응용프로그램 공유장치로 전송하는 제 3 단계를 포함하여 이루어진 다중점 통신을 지원하는 응용프로그램 공유 방법.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 view data sent from the initiator side is received / merged and viewed by the user. And a third step of outputting it to the screen and capturing the event generated by the user and transmitting the event to the application sharing device of the initiator in the multi-point communication method. 제 1 항에 있어서,The method of claim 1, 상기 다중점 통신방식의 전송 과정을 수행한 후에 종료될때까지 상기 제 1 단계의 판단 과정부터 반복 수행하는 제 4 단계를 더 포함하는 것을 특징으로 하는 다중점 통신을 지원하는 응용프로그램 공유 방법.And a fourth step of repeating the determination process of the first step until the end of the multi-point communication method after the transmission process is performed. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 다중점 통신 방식은,The multi-point communication method, 사용자 데이타그램 프로토콜(UDP : User Datagram Protocol)를 사용하여 네트워크에서 다중점 통신을 수행하는 것을 특징으로 하는 다중점 통신을 지원하는 응용프로그램 공유 방법.A method of sharing an application that supports multipoint communication, characterized in that multipoint communication is performed in a network using a user datagram protocol (UDP). 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 뷰 데이터를 분할하여 다중점 통신방식으로 상기 다른 응용프로그램 공유장치로 전송하는 과정은,The process of dividing the view data and transmitting it to the other application sharing device through a multipoint communication method, 패킷의 헤더를 생성한 후에 현재의 패킷이 마지막 패킷인지 아닌지를 판단하는 제 5 단계;A fifth step of determining whether the current packet is the last packet after generating the header of the packet; 상기 제 5 단계의 판단 결과, 마지막 패킷인 경우에는 전송하고 남은 크기에 따라서 마지막 패킷을 생성한 후에 생성된 패킷을 상기 통신망에 연결된 다른 응용프로그램 공유장치로 전송하는 제 6 단계; 및A sixth step of transmitting the generated packet to another application program sharing device connected to the communication network after generating the last packet according to the size remaining after the transmission of the last packet as a result of the determination in the fifth step; And 상기 제 5 단계의 판단 결과, 마지막 패킷이 아닌 경우에는 소정의 패킷 크기에 따라서 뷰를 분할하여 패킷을 생성한 후에 생성된 패킷을 상기 통신망에 연결된 다른 응용프로그램 공유장치로 전송한 다음에 상기 제 5 단계부터 반복 수행하는 제 7 단계를 포함하는 것을 특징으로 하는 다중점 통신을 지원하는 응용프로그램 공유 방법.As a result of the determination in the fifth step, if it is not the last packet, after generating a packet by dividing the view according to a predetermined packet size, the generated packet is transmitted to another application program sharing device connected to the communication network, and then the fifth packet is transmitted. And a seventh step of performing a repetition from the step. 제 4 항에 있어서,The method of claim 4, wherein 뷰 데이터를 수신/병합하는 과정은,The process of receiving / merge view data, 상기 통신망에 연결된 다른 응용프로그램 공유장치에서 전송한 패킷을 수신하면 패킷 헤더를 분리하여 패킷 헤더에서 현재의 패킷 번호와 총 패킷의 갯수인 총 패킷 번호를 추출한 후에 현재의 패킷이 마지막 패킷인지 아닌지를 판단하는 제 8 단계;When receiving a packet transmitted from another application sharing device connected to the communication network, the packet header is separated and the current packet number and the total packet number, which is the total number of packets, are extracted from the packet header, and then it is determined whether the current packet is the last packet. An eighth step; 상기 제 8 단계의 판단 결과, 마지막 패킷인 경우에는 현재까지 수신하고 남은 크기에 따라서 마지막 패킷을 수신한 후에 뷰를 병합하여 새로운 뷰를 설정하는 제 9 단계; 및As a result of the determination of the eighth step, in the case of the last packet, a ninth step of merging the views and setting a new view after receiving the last packet according to the size remaining after the present; And 상기 제 8 단계의 판단 결과, 마지막 패킷이 아닌 경우에는 상기 소정의 패킷 크기에 따라서 상기 통신망에 연결된 다른 응용프로그램 공유장치로부터 전송된 패킷을 수신한 후에 상기 제 8 단계부터 반복 수행하는 제 10 단계를 포함하는 것을 특징으로 하는 다중점 통신을 지원하는 응용프로그램 공유 방법.As a result of the determination of the eighth step, in the case of not the last packet, the tenth step of repeating the eighth step after receiving the packet transmitted from another application sharing device connected to the communication network according to the predetermined packet size is performed. Application sharing method that supports multi-point communication comprising a.
KR1019970000387A 1997-01-09 1997-01-09 Method of common accessing application program for multi point communication KR100227151B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970000387A KR100227151B1 (en) 1997-01-09 1997-01-09 Method of common accessing application program for multi point communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970000387A KR100227151B1 (en) 1997-01-09 1997-01-09 Method of common accessing application program for multi point communication

Publications (2)

Publication Number Publication Date
KR19980065416A true KR19980065416A (en) 1998-10-15
KR100227151B1 KR100227151B1 (en) 1999-10-15

Family

ID=19494334

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970000387A KR100227151B1 (en) 1997-01-09 1997-01-09 Method of common accessing application program for multi point communication

Country Status (1)

Country Link
KR (1) KR100227151B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000046685A1 (en) * 1999-02-03 2000-08-10 Softonnet Co., Ltd. Software rental system in distributed networks
KR20020014188A (en) * 2000-08-16 2002-02-25 고대식 Web page sharing and white board system in on-line and It's server method
KR100359310B1 (en) * 2000-10-20 2002-10-31 아이원더넷 주식회사 Method for sharing data between programs
US7171390B1 (en) 1999-12-31 2007-01-30 Soft-On-Net, Inc. System and method for executing a rental software program in distributed computing environment
KR101137099B1 (en) * 2003-10-23 2012-04-19 마이크로소프트 코포레이션 Architecture for an extensible real-time collaboration system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000046685A1 (en) * 1999-02-03 2000-08-10 Softonnet Co., Ltd. Software rental system in distributed networks
US7171390B1 (en) 1999-12-31 2007-01-30 Soft-On-Net, Inc. System and method for executing a rental software program in distributed computing environment
KR20020014188A (en) * 2000-08-16 2002-02-25 고대식 Web page sharing and white board system in on-line and It's server method
KR100359310B1 (en) * 2000-10-20 2002-10-31 아이원더넷 주식회사 Method for sharing data between programs
KR101137099B1 (en) * 2003-10-23 2012-04-19 마이크로소프트 코포레이션 Architecture for an extensible real-time collaboration system
US8321506B2 (en) 2003-10-23 2012-11-27 Microsoft Corporation Architecture for an extensible real-time collaboration system

Also Published As

Publication number Publication date
KR100227151B1 (en) 1999-10-15

Similar Documents

Publication Publication Date Title
EP1429559B1 (en) Transmission apparatus, transmission method, content delivery system, content delivery method, and program
EP2685715B1 (en) Method and device for managing video resources in video conference
CN106161219A (en) Message treatment method and device
EP1737235A2 (en) A unified distributed architecture for a multiple point video conference and interactive broadcast systems
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
Shirmohammadi et al. Applet-based telecollaboration: A network-centric approach
WO1999044149A1 (en) Multicast and unicast internet protocol content distribution having a feedback mechanism for real-time
JP2007329917A (en) Video conference system, and method for enabling a plurality of video conference attendees to see and hear each other, and graphical user interface for videoconference system
JPH0946338A (en) Multi-cast communication control system
CN108933912A (en) Method for establishing video call by using multiple mobile communication devices
CN107766024A (en) A kind of PPT projection control methods and system based on combination
US5740384A (en) Interactive multimedia system using active backplane having programmable interface to reconfigure the media stream produced by each component
CN101166161A (en) A method for dynamically obtaining exchange on screen of other party in instant communication tool
KR100227151B1 (en) Method of common accessing application program for multi point communication
CN106412617A (en) Remote debugging control method and device
KR100989122B1 (en) Service method for online virtual cooperative work using remote control
KR100215426B1 (en) The shared system and method converting window applications to network applications
CN113141517B (en) First terminal, second terminal, remote operation control method, and readable storage medium
KR19980082610A (en) Structure of Application Sharing System and Application Sharing Method
Sisalem et al. The multimedia Internet terminal (MINT)
Parnes The mStar environment: scalable distributed teamwork using IP multicast
CN111813312B (en) Data transmission method, device, system, terminal equipment and readable storage medium
KR100285969B1 (en) System for sharing application program between different window systems
JP2000152204A (en) Conference display method and conference display system
WO2019080309A1 (en) Audio and video file sharing method, device and system, storage medium and terminal device

Legal Events

Date Code Title Description
A201 Request for examination
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: 20020726

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee