KR100233825B1 - 사용자 이벤트 제어장치 및 이를 이용한 제어방법 - Google Patents

사용자 이벤트 제어장치 및 이를 이용한 제어방법 Download PDF

Info

Publication number
KR100233825B1
KR100233825B1 KR1019960063179A KR19960063179A KR100233825B1 KR 100233825 B1 KR100233825 B1 KR 100233825B1 KR 1019960063179 A KR1019960063179 A KR 1019960063179A KR 19960063179 A KR19960063179 A KR 19960063179A KR 100233825 B1 KR100233825 B1 KR 100233825B1
Authority
KR
South Korea
Prior art keywords
window
message
event
mapping table
users
Prior art date
Application number
KR1019960063179A
Other languages
English (en)
Other versions
KR19980045022A (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 KR1019960063179A priority Critical patent/KR100233825B1/ko
Publication of KR19980045022A publication Critical patent/KR19980045022A/ko
Application granted granted Critical
Publication of KR100233825B1 publication Critical patent/KR100233825B1/ko

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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 사용자 이벤트 제어장치 및 이를 이용한 제어방법에 관한 것으로, 중앙 집중식 제어 구조의 장점과 복제형 제어 구조의 장점을 취하는 완전 분산 제어 구조하에서 객체들에 대한 사용자 이벤트의 동기화 문제를 잠김 기법을 사용하여 해결하고 클라이언트에서의 사용자 입력 이벤트를 인지하고, 인지된 이벤트에 대하여 사용자 이벤트 맵핑 테이블을 참조하여 메시지 오퍼레이션으로 치환하고, 메시지 오퍼레이션을 윈도우즈에게 직접적으로 전달하여 처리하므로써 공동 작업의 생산성을 향상시키는 효과와 기타 그룹웨어, CSCW(Computer Supported Cooperative Work) 등의 분야에 분산 객체 제어 엔진으로 활용될 수 있다.

Description

사용자 이벤트 제어장치 및 이를 이용한 제어방법
본 발명은 사용자 이벤트 제어장치 및 이를 이용한 제어방법에 관한 것으로, 분산 환경에서 노드의 네트워크 트래픽, 이벤트 처리 부하 및 공유 객체에 대한 이벤트의 동기화 문제를 해결할 수 있는 사용자 이벤트 제어장치 및 이를 이용한 제어방법에 관한 것이다.
일반적으로 RTCAL 시스템은 참여자의 실시간 일정표로부터 공유 정보 공간을 구축하여 서로의 정보를 공유, 제어하는 복제형 시스템이고, MBlink는 다중 워크스테이션의 비트맵 공유를 통한 정보 공유 방법을 택하고 있다. Cantata는 스위치 보드라 불리는 공유 뷰 서브-시스템에서 실행되는 표준 애플리케이션 공유보다는 오히려 터미널 에뮬레이터를 통해서 참여자의 시리얼 포트에의 접근을 공유하게 한다. 공유-X(Shared-X)는 전체 스크린 공유보다 윈도우 공유를 통해서 디스플레이된 하나 혹은 그 이상의 공유 윈도우를 선택할 수 있고, 공유할 수 있으며 한 참여자는 그의 스크린 위에 개인 윈도우와 공유 윈도우 모두를 디스플레이하는 것으로 X윈도우 시스템을 기반으로 하였으며 중앙 집중식 방식을 사용하고 있다. 그리고 다이얼로그(Dialog)는 모든 워크스테이션에 각 애플리케이션을 복제하는 복제형 구조를 가지고 있다. 란디뷰(Rendezvous) 시스템은 공동작업을 위한 다중 사용자의 이벤트들의 동기화를 목적으로 구성된 시스템들로서 중앙 집중식 구조를 사용하고 있다. 그러나 종단 사용자에게 알맞은 사용자 인터페이스를 제공해야 하는데, 공동작업을 위해 발생되는 많은 문제점으로 인해 명백한 공유 방법을 제공하지 못하고 있다. 세피아(SEPIA)는 하이퍼 텍스트 작업자들 간의 하이퍼 텍스트 저작 도구를 사용하여 공동작업을 지원하는 시스템으로 객체 잠김 기능을 제공하고 있으며 중앙 집중식 제어 구조를 사용하고 있다. 멀르메이드(MERMAID)는 복제 구조를 가지는 시스템으로써 분산된 여러 사용자를 위한 데스크 탑 회의 시스템으로 그룹 공동작업의 폭 넓은 지원을 목적으로 하고 있으며, 이벤트들 간의 동기화 문제는 플로어(Floor) 패싱(Passing) 제어를 사용하고 있다. 위의 시스템들은 복제형 구조나 중앙 집중형 구조하에서 뷰 공유를 지원하고 있다. 복제형 구조는 이벤트 공유 방법을 사용하고 있으나 공동작업할 모든 사이트에 공유할 애플리케이션이 공히 탑재되어 있어야 한다. 그리고 중앙 집중형 구조의 시스템들은 모든 사이트에 애플리케이션을 탑재할 필요는 없으나 공유할 애플리케이션에 대하여 화면 캡춰링한 이미지 정보를 서로 전달하는 방법을 사용하고 있다. 현재 국내에서는 중앙 집중형 구조 하에서의 화면 이미지 캡춰링에 의한 마우스 움직임에 따른 사용자 이벤트 처리 방법을 사용하고 있으며 동기적인 이벤트 처리 메카니즘은 연구 단계에 있다. 따라서 상기의 방법은 사용자 이벤트에 대하여 마우스의 입력 좌표을 계산하여 서버로 전달하고, 서버에서는 좌표값을 사용자 인터페이스 액션으로 맵핑을 하여 처리한다.
국내의 공동작업 처리를 위한 사용자 이벤트 제어 구조는 중앙 집중식 제어구조를 사용함으로서 중앙 노드로의 네트워크 트랙픽, 처리 부하가 가중되어 실시간 처리에 문제가 있다. 복제형 제어 구조는 중앙 집중식 제어 구조의 단점은 없으나 모든 노드가 동일한 수행 환경을 가지고 있어야 하는 문제가 있다. 그리고, 동시 다발적으로 발생되는 사용자 이벤트 처리에 따른 모든 노드들에서의 자원의 무결성 해결을 위한 객체들의 동기화 처리 문제가 있다.
따라서, 본 발명은 중앙 집중식 제어 구조의 장점과 복제형 제어 구조의 장점을 취하는 완전 분산 제어 구조하에서 객체들에 대한 사용자 이벤트의 동기화 문제를 잠김 기법을 사용하여 해결하고 클라이언트에서의 사용자 입력 이벤트를 인지하고, 인지된 이벤트에 대하여 사용자 이벤트 맵핑 테이블을 참조하여 메시지 조작으로 치환하고, 메시지 조작을 윈도우즈에게 직접적으로 전달하여 처리할 수 있는 사용자 이벤트 제어장치 및 이를 이용한 제어방법을 제공하는 것을 그 목적으로 한다.
상술한 목적을 실현하기 위한 본 발명에 따른 사용자 이벤트 처리장치는 해석기로부터 전달된 이벤트를 해당 액션 모듈로 호출하기 위한 이벤트 분류기와, 공유할 객체의 새로운 윈도우를 검사하여 그 정보를 등록하는 메시지 정보 관리기 및 검색을 지원하는 메시지 맵퍼로 구성된 사용자 이벤트 액션 모듈과, 해당 윈도우의 ID를 관리하는 윈도우 관리기와, 윈도우 핸들 정보를 저장하는 윈도우 ID 테이블과, 이벤트를 메시지로 변환하는 참조 정보를 저장하고 있으며 공유 객체에 대한 동기 제어 정보를 저장하고 있는 메시지 맵핑 테이블과, 상기 메시지 맵핑 테이블을 참조하여 공유 객체에 대한 실질적인 동기를 처리하는 사용자 객체 동기 제어기와, 상기 윈도우 핸들 및 메시지를 이용하여 윈도우 명령어를 생성하는 윈도우 명령어 생성기와, 생성된 윈도우 명령어를 윈도우즈에게 전달하여 실질적인 공유 객체에 대한 동작을 하게 하는 프리젠테이터로 이루어진 것을 특징으로 한다.
그리고, 상술한 목적을 실현하기 위한 본 발명에 따른 사용자 이벤트 처리방법은 이벤트 해석기로부터 이벤트를 전달받아 사용자 이벤트 종류를 분류하는 단계와, 상기 분류된 이벤트가 새로운 공유 객체에 대한 윈도우인지를 조사하고 새로운 공유 객체에 대한 윈도우이면 윈도우 ID 테이블에 새로운 윈도우 ID를 등록하여 새로운 윈도우 ID를 할당 받고, 기존에 등록된 윈도우 ID라면 윈도우 해당 ID를 윈도우 ID 테이블에서 찾아오는 단계와, 상기 할당 받은 윈도우 ID와 이벤트가 메시지 맵핑 테이블에 있는지를 검사하여 메시지 맵핑 테이블에 없으면 이벤트를 메시지로 변환하여 메시지 맵핑 테이블에 저장하고 관련 사용자수를 저장하며, 윈도우 ID가 메시지 맵핑 테이블에 있으면 이벤트에 해당하는 메시지를 찾아오는 단계와, 상기 메시지 맵핑 테이블의 현재 상태가 잠금인지를 검사하여 잠금일 경우 사용자 이벤트 메시지를 서버에 전달하고 종료하는 단계와, 상기 메시지 맵핑 테이블의 현재 상태가 잠금이 아닐 경우 윈도우 ID의 해당 메시지 사용자수를 1 감소한 후 프리젠테이션하는 단계와, 상기 사용자수가 0인지를 조사하여 사용자 수가 0이면 잠김을 해제하고 그 객체를 메시지 맵핑 테이블에서 삭제한 후 종료 메시지를 서버에 전달하고 종료하는 단계와, 상기 사용자수가 0이 아니면 해당 메시지에 대한 액션을 종료하는 단계로 이루어진 것을 특징으로 한다.
제1도는 본 발명에 따른 정보 통신 시스템 소프트웨어 공동 개발 플랫폼의 구성도.
제2도는 본 발명에 따른 공동작업 분산제어 엔진의 구성도.
제3(a)도, 제3(b)도 및 제3(c)도는 사용자 이벤트 처리기, 윈도우 ID 테이블 및 메시지 매핑 테이블의 구성도.
제4도는 본 발명에 따른 공유 객체에 대한 동기화 기법을 적용한 사용자 이벤트 처리기의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 및 6 : 메시지 디스패춰 2 및 7 : 해석기
3 및 8 : 애플리케이션 공유 이벤트 처리기
4 및 9 : 분배기 5 : 애플리케이션
11 : UIMS 12 : 통신 시스템
13 : 공유 작업환경 14 : 이벤트 엔진
20 : 코바(CORBA) 51 : 이벤트 분류기
52 : 사용자 이벤트 액션 53 : 메시지 정보 관리기
54 : 메시지 맵퍼 55 : 사용자 객체 동기 제어기
56 : 윈도우 명령어 생성기 57 : 프리젠 테이터
58 : 윈도우 관리기 59 : 윈도우 ID 테이블
60 : 메시지 맵핑 테이블
이하, 본 발명에 따른 사용자 이벤트 제어장치 및 이를 이용한 제어방법을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
제1도는 본 발명에 따른 정보 통신 시스템 소프트웨어 공동개발 플랫폼의 블럭 구성도로서, 분산 제어 엔진은 분산 환경을 중심으로 운영되고 있으며, 분산 환경 하에서 공동작업을 위한 사용자 시스템의 환경은 공동작업을 효과적으로 사용할 수 있도록 지원해 주는 UIMS(User Interface Management System)(11)와, 분산 환경 하에서 다자간 정보를 교환할 수 있도록 지원해 주는 통신 시스템(12)과, 공동작업을 지원하기 위한 작업 공간으로서의 공유 작업 환경(13)과, 공동작업 수행시 애플리케이션 공유를 지원하고 공유 애플리케이션의 이벤트를 처리하는 이벤트 엔진(14)과, 사용자 시스템간의 분산 컴퓨팅 환경을 지원하기 위한 코바(CORBA)(20) 등으로 구성된다. 이러한 환경하에서 공동작업에 필요한 도구(15, 16, 17, 31, 32, 33, 41, 42 및 43)들은 모든 사용자들에게 분산되어 있고, 이러한 환경하에서 공동개발을 목적으로 도구를 공유하여 공동작업을 할 수 있는 환경을 제공한다. 이 시스템의 동작은 UIMS(11)에서 공동작업의 목적에 적합 도구와 사용자를 선택하여 공동작업 환경의 설정을 하게 되며 이때, 공유 애플리케이션이 자신의 시스템에 존재하면 이벤트 엔진(14)을 구동하고 서버 노드를 만들고 애플리케이션을 공유 작업 환경(13)내에 구동한다. 또한 공동작업 참여 대상자에게 공동작업을 요청하고 요청을 승인한 사용자들에게 애플리케이션 공유 정보를 분배하여 공동 작업 환경을 설정하며 공동 작업이 진행되는 과정에서의 사용자 이벤트들은 이벤트 엔진(14)을 통하여 이벤트 정보를 공유하여 처리되도록 한다.
제2도는 본 발명에 따른 공동작업 분산제어 엔진을 도시한 구성도로서, 공동작업할 애플리케이션(5)을 소유하고 있는 노드가 서버의 역할을 한다. 서버 및 클라이언트들로부터 전달된 메시지를 저장된 순서대로 메시지를 가져오는 메시지 디스패춰(1)를 통하여 패치된 메시지를 해석하여 사용자 이벤트(UE: User Event), 시스템 이벤트(SE: System Event) 및 애플리케이션 공유 이벤트(ASE: Application Shuring Event)로 분류하는 해석기(2)가 있으며, 해석된 메시지를 이벤트 처리기(UEP: User Event Processor)(3)로 전달하게 되면 사용자 이벤트 처리기(3)에서는 메시지의 형태에 따라 윈도우 관리기는 해당 노드의 수행중인 윈도우들의 ID(IDentifier) 구조를 정의하고 있는 부분으로서 서버측의 전달된 메시지에서 서버의 현재 수행중인 해당 윈도우 ID와 클라이언트측에서 수행 할 윈도우 ID의 맵핑(Mapping) 정보를 이용하여 해당 노드의 프리젠테이션할 윈도우 핸들로 변환된다. 이 윈도우 핸들을 사용하여 사용자 이벤트 액션 모듈(UEA: User Event Action)과 윈도우즈에게 전달할 윈도우 명령어를 생성하기 위하여 메시지 맵핑 테이블의 정보를 사용하여 윈도우즈 명령어를 생성하게 된다. 윈도우즈 명령어를 생성할 때 프리젠테이션할 해당 객체에 대한 정보를 윈도우 메시지 맵핑 테이블에 저장하게 되는데 이는 객체들의 동기화를 제어하는 정보로 사용하게 된다. 모든 사이트에서의 사용자 입력 이벤트의 처리는 서버에서 처리되어 그 결과를 클라이언트에 전달하게 되고, 현재 참여중인 사용자수를 알 수 있다. 메시지 매핑 테이블의 정보는 공유할 윈도우 ID, 명령어, 좌표값(x,y) 혹은 아스키값과 사용자수가 큐(queue) 형태로 저장되어 있다. 따라서 객체 동기화 메커니즘에서는 큐에서 가장 상위에 있는 레코드를 가져와서 프리젠테이션을 하고 잠김을 1로 세트(set)한다. 1로 세트되어 있으면 사용자 입력 이벤트 정보는 프리젠테이션을 하지 않고 메시지 매핑 테이블에 저장한다. 프리젠테이션이 끝나면, 프리젠테이션된 객체를 다른 사용자에게 공유하도록 그 메시지를 분산 객체 참조 모델인 코바에 의해서 모든 노드들에게 전달하게 되며, 전달받은 노드들에서는 위의 과정을 거치게 된다. 즉, 클라이언트에서 그 객체에 대한 프리젠테이션은 클라이언트 엔진의 메시지 디스패춰(6), 해석기(7) 및 애플리케이션 공유 이벤트 처리기(8) 및 분배기(9)를 거치면서 프리젠테이션하게 된다. 프리젠테이션이 종료되면 서버로 종료 메시지를 전달하여 잠김 처리를 위한 정보로 사용되게 한다. 서버에서의 잠김 처리 모듈은 프리젠테이션시 잠김이 1로 세트되어 있으면, 그 객체에 대한 사용자수를 조사하게 되는데, 클라이언트에서 전달되어온 종료 메시지에 의해서 그 객체의 사용자수를 1씩 감소한다. 0이면 모든 사이트에서 그 객체의 화면이 동일하게 처리된 것이므로 메시지 매핑 테이블에서 해당 객체를 삭제하고 비잠금인 0으로 세트하여 객체 동기화 메커니즘에서 메시지 매핑 테이블에 저장된 다른 메시지를 처리하게 한다. 클라이언트에서의 객체 동기화는 상기에서 기술한 것과 동일하며, 잠김 처리 모듈은 서버로부터 전달된 공유 사용자 이벤트를 메시지 매핑 테이블에서 가져오게 되는데 여기에서의 사용자수는 1이 된다. 프리젠테이션이 종료되면 객체 동기화를 비잠금으로 세트하고 사용자를 1로 감소하여, 0이면 메시지 매핑 테이블에서 해당 객체를 삭제하고 프리젠테이션 종료 정보를 서버로 전달한다.
제3(a)도는 사용자 이벤트 처리기의 구성도이고, 제3(b)도는 윈도우 ID 테이블의 구성도이며, 제3(c)도는 메시지 매핑 테이블의 구성도로서, 해석기로부터 전달된 이벤트를 해당 액션 모듈로 호출하기 위한 이벤트 분류기(51)와, 공유할 객체의 새로운 윈도우를 검사하여 그 정보를 등록하는 메시지 정보 관리기(53) 및 검색을 지원하는 메시지 맵퍼(54)로 구성된 사용자 이벤트 액션 모듈(52)과, 해당 윈도우의 ID(IDentifier)를 관리하는 윈도우 관리기(58)와, 윈도우 핸들 정보(애플리케이션명, 윈도우 ID)를 저장하는 윈도우 ID 테이블(59)과, 이벤트를 메시지로 변환하는 참조 정보(윈도우 ID, 이벤트, 메시지)를 저장하고 있으며 공유 객체에 대한 동기 제어 정보(사용자수)를 저장하고 있는 메시지 맵핑 테이블(60)과, 메시지 맵핑 테이블(60)을 참조하여 공유 객체에 대한 실질적인 동기를 처리하는 사용자 객체 동기 제어기(55)와, 윈도우 핸들, 메시지를 이용하여 윈도우 명령어를 생성하는 윈도우 명령어 생성기(56)와, 그리고 생성된 윈도우 명령어를 윈도우즈에게 전달하여 실질적인 공유 객체에 대한 동작을 하게 하는 프리젠테이터(57)로 구성되어 있다.
공유 객체에 동기화 처리는 메시지 맵핑 테이블(60)의 정보를 이용하여 모든 노드들의 작업이 종료된 후에 공유 객체에 대한 변환을 가할 수 있게 하였다.
제4도는 제3(a)도에 도시된 사용자 이벤트 처리기의 모듈을 근간으로 한 처리흐름도이다. 이벤트 해석기로부터 이벤트를 전달받아 사용자 이벤트 종류를 분류한다(S1). 분류된 이벤트가 새로운 공유 객체에 대한 윈도우인지를 조사하고(S2), 새로운 공유 객체에 대한 윈도우이면 윈도우 ID 테이블에 새로운 윈도우 ID를 등록하고 새로운 윈도우 ID를 할당 받는다(S3). 기존에 등록된 윈도우 ID라면 윈도우 해당 ID를 윈도우 ID 테이블에서 찾아온다(S4). 할당받은 윈도우 ID와 이벤트가 메시지 매핑 테이블에 있는지를 검사한다(S5). 검사 결과 메시지 매핑 테이블에 없다면 이벤트를 메시지로 변환하여 메시지 매핑 테이블에 저장하고 관련 사용자수를 저장한다(S6). 메시지 매핑 테이블에 있다면, 이벤트에 해당하는 메시지를 찾아온다(S7). 객체 동기화에서 메시지 매핑 테이블의 내용을 가져오고 현재 상태가 잠금인지를 조사한다(S8). 잠금이라면 사용자가 입력한 이벤트를 서버에 전달하고(S9) 종료한다. 잠금이 아니라면 메시지 매핑 테이블에서 해당되는 객체의 사용자수를 1 감소하고(S10) 해당 메시지를 프리젠테이션한다(S11). 해당 객체의 동기화를 조사하기 위하여 사용자수가 0인지를 조사한다(S12). 사용자수가 0이라면 잠금을 해제하고 객체를 메시지 매핑 테이블에서 삭제한다(S13). 그리고 그 객체에 대한 종료 메시지를 서버에 전달하여 클라이언트에서 프리젠테이션되었다고 알려준다(S14). 만약 사용자수가 0이 아니라면 현재 프리젠테이션이 진행중임으로 종료한다. 공유 객체에 대한 공동 작업을 하는 각 노드들은 해당 객체의 프리젠테이션이 종료되고 나면 서버에게 종료 메시지를 전달하게 되고 서버는 해당 윈도우 ID와 메시지 정보를 사용하여 사용자수를 0이 될 때까지 공유 객체에 대한 접근을 허용하지 않게 됨으로서 공유 객체 동기화 문제를 해결하였으며, 프리젠테이션 도중에 입력되는 사용자의 입력 이벤트들은 서버로 전달하게 하여 잠금에서의 사용자 입력과 프리젠테이션을 동시에 처리하도록 하고 있다.
상술한 바와같이 본 발명에 의하면 공동작업의 효율 극대화를 목적으로 분산 환경에서의 네트워크 트랙픽의 최소화와 실시간 처리를 위하여 노드 간의 처리 부하의 분산을 통하여 노드들의 처리 부담을 줄일 수 있는 완전 분산 제어 구조를 취하고 동시 다발적으로 발생하는 공유 객체에 대한 일관성 문제를 해결하기 위하여 프리젠테이션시 공유 객체들 간의 동기화 제어 방법을 사용하므로써 공동 작업의 생산성을 향상시키는 효과와 기타 그룹웨어, CSCW(Computer Supported Cooperative Work) 등의 분야에 분산 객체 제어 엔진으로 활용될 수 있다.

Claims (2)

  1. 해석기로부터 전달된 이벤트를 해당 액션 모듈로 호출하기 위한 이벤트 분류기와, 공유할 객체의 새로운 윈도우를 검사하여 그 정보를 등록하는 메시지 정보 관리기 및 검색을 지원하는 메시지 맵퍼로 구성된 사용자 이벤트 액션 모듈과, 해당 윈도우의 ID를 관리하는 윈도우 관리기와, 윈도우 핸들 정보를 저장하는 윈도우 ID 테이블과, 이벤트를 메시지로 변환하는 참조 정보를 저장하고 있으며 공유 객체에 대한 동기 제어 정보를 저장하고 있는 메시지 맵핑 테이블과, 상기 메시지 맵핑 테이블을 참조하여 공유 객체에 대한 실질적인 동기를 처리하는 사용자 객체 동기 제어기와, 상기 윈도우 핸들, 메시지를 이용하여 윈도우 명령어를 생성하는 윈도우 명령어 생성기와, 상기 생성된 윈도우 명령어를 윈도우즈에게 전달하여 실질적인 공유 객체에 대한 동작을 하게 하는 프리젠테이터로 이루어지는 것을 특징으로 하는 사용자 이벤트 제어 장치.
  2. 이벤트 해석기로부터 이벤트를 전달받아 사용자 이벤트 종류를 분류하는 단계와, 상기 분류된 이벤트가 새로운 공유 객체에 대한 윈도우인지를 조사하고 새로운 공유 객체에 대한 윈도우이면 윈도우 ID 테이블에 새로운 윈도우 ID를 등록하여 새로운 윈도우 ID를 할당 받고, 기존에 등록된 윈도우 ID라면 윈도우 해당 ID를 윈도우 ID 테이블에서 찾아오는 단계와, 상기 할당 받은 윈도우 ID와 이벤트가 메시지 맵핑 테이블에 있는지를 검사하여 메시지 맵핑 테이블에 없으면 이벤트를 메시지로 변환하여 메시지 맵핑 테이블에 저장하고 관련 사용자수를 저장하며, 윈도우 ID가 메시지 맵핑 테이블에 있으면 이벤트에 해당하는 메시지를 찾아오는 단계와, 상기 메시지 매핑 테이블의 현재 상태가 잠금인지를 검사하여 잠금일 경우 사용자 이벤트 메시지를 서버에 전달하고 종료하는 단계와, 상기 메시지 매핑 테이블의 현재 상태가 잠금이 아닐 경우 윈도우 ID의 해당 메시지 사용자수를 1 감소한 후 프리젠테이션하는 단계와, 상기 사용자수가 0인지를 조사하여 사용자 수가 0이면 잠김을 해제하고 그 객체를 메시지 맵핑 테이블에서 삭제한 후 종료 메시지를 서버에 전달하고 종료하는 단계와, 상기 사용자수가 0이 아니면 해당 메시지에 대한 액션을 종료하는 단계로 이루어진 것을 특징으로 하는 사용자 이벤트 제어방법.
KR1019960063179A 1996-12-09 1996-12-09 사용자 이벤트 제어장치 및 이를 이용한 제어방법 KR100233825B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960063179A KR100233825B1 (ko) 1996-12-09 1996-12-09 사용자 이벤트 제어장치 및 이를 이용한 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960063179A KR100233825B1 (ko) 1996-12-09 1996-12-09 사용자 이벤트 제어장치 및 이를 이용한 제어방법

Publications (2)

Publication Number Publication Date
KR19980045022A KR19980045022A (ko) 1998-09-15
KR100233825B1 true KR100233825B1 (ko) 1999-12-01

Family

ID=19486643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960063179A KR100233825B1 (ko) 1996-12-09 1996-12-09 사용자 이벤트 제어장치 및 이를 이용한 제어방법

Country Status (1)

Country Link
KR (1) KR100233825B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513509B1 (ko) * 2002-09-30 2005-09-07 현대자동차주식회사 차량통합 표시장치에서 에치 엠 아이의 메시지 전달장치및 방법
KR101229264B1 (ko) * 2011-03-04 2013-02-04 삼성탈레스 주식회사 공통 메시지 분배기 및 그 윈도우 메시지 전송 방법

Also Published As

Publication number Publication date
KR19980045022A (ko) 1998-09-15

Similar Documents

Publication Publication Date Title
US8046699B2 (en) Method and software for enabling N-way collaborative work over a network of computers
US6151621A (en) Personal conferencing system
US6195091B1 (en) Apparatus for collaborative computing
DE69433643T2 (de) Multimedien-kommunikationsnetzwerk
JP3753207B2 (ja) 共同作業支援システムおよび共同作業支援方法
US5623603A (en) Method of transferring data at adjustable levels of priorities to provide optimum response to user demands
EP0497022B1 (en) Conference system
Abdel-Wahab et al. Shared workspaces for group collaboration: An experiment using internet and unix interprocess communications
CA2637718A1 (en) Subsystem-scoping architecture for breakout rooms in a virtual space
JPH08123744A (ja) ワークフローシステム
WO2003017114A1 (en) System and method for real-time multi-directional file-based data streaming editor
Bergenti et al. A collaborative platform for fixed and mobile networks
Abdel-Wahab et al. An Internet collaborative environment for sharing Java applications
KR100240657B1 (ko) 애플리케이션 공유 이벤트 제어장치 및 이를 이용한 제어방법
KR100233825B1 (ko) 사용자 이벤트 제어장치 및 이를 이용한 제어방법
Anumba et al. Telepresence in concurrent lifecycle design and construction
JPH0934843A (ja) 処理システム及び処理装置
US20230385768A1 (en) Workspace Video Collaboration
Ensor How can we make groupware practical?(panel)
Ishida Bridging humans via agent networks
JPH05274240A (ja) 共同情報処理システムおよび制御方法
JP2005084969A (ja) 会議支援システム及び会議支援方法、並びにコンピュータ・プログラム
US20030195994A1 (en) Online collaboration method and system
Hussein Communication facilitators for a distributed collaborative engineering environment
WO2023169000A1 (zh) 数据处理方法、装置、计算机设备及可读存储介质

Legal Events

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

Payment date: 20080905

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee