KR101077660B1 - Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method - Google Patents

Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method Download PDF

Info

Publication number
KR101077660B1
KR101077660B1 KR1020080127162A KR20080127162A KR101077660B1 KR 101077660 B1 KR101077660 B1 KR 101077660B1 KR 1020080127162 A KR1020080127162 A KR 1020080127162A KR 20080127162 A KR20080127162 A KR 20080127162A KR 101077660 B1 KR101077660 B1 KR 101077660B1
Authority
KR
South Korea
Prior art keywords
service
module
collaboration
data
node
Prior art date
Application number
KR1020080127162A
Other languages
Korean (ko)
Other versions
KR20100068708A (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 KR1020080127162A priority Critical patent/KR101077660B1/en
Publication of KR20100068708A publication Critical patent/KR20100068708A/en
Application granted granted Critical
Publication of KR101077660B1 publication Critical patent/KR101077660B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q50/50
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Abstract

본 발명은 다자간 협업 시스템으로 서비스 지향 구조 (service-oriented architecture)에 기초한 에이전트 기반의 서비스 합성 모델를 제안하고, 기존 협업 소프트웨어의 데이터 및 인터페이스를 네트워크로 접근 가능한 다자간 협업 시스템 및 그 구성 방법, 상기 방법을 구현하는 프로그램이 기록되는 기록매체를 제공함을 목적으로 한다.The present invention proposes an agent-based service synthesis model based on a service-oriented architecture as a multi-party collaboration system, and provides a multi-party collaboration system and a method of configuring the same, and methods for accessing data and interfaces of existing collaboration software through a network. It is an object of the present invention to provide a recording medium on which a program to be implemented is recorded.

이를 위해, 본 발명의 일례에 따른 다자간 협업 시스템의 구성 방법은 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하기 위해 사용자에 의해 제어되는 미디에이터(Mediator) 모듈을 통해 사용자가 목표로 하는 작업을 수행하기 위한 태스크(Task) 데이터를 제공하는 태스크단계;와 태스크 데이터에 의해 제어되는 적어도 하나의 관리자 모듈이 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 서비스명령단계;와 서비스명령 데이터에 의해 제어되는 적어도 하나의 서비스 모듈이 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 서비스단계; 및 미디에이터 모듈이 협업 노드 내에서 이용 가능한 협업 장치들 및 서비스 모듈을 발견/설정/합성하는 시스템설정 단계;를 포함한다.To this end, the method of configuring a multi-party collaboration system according to an example of the present invention targets a user through a mediator module controlled by the user to use basic collaboration devices in each of the plurality of collaboration nodes. A task step of providing task data for performing a task, and at least one manager module controlled by the task data provides the service command data according to a preset method for processing the task data. And a service step of providing at least one service module controlled by the service command data to provide service data for executing the collaboration devices; And a system setting step of the mediator module finding / setting / synthesizing the collaboration devices and the service module available in the collaboration node.

다자간 협업 시스템, 미디에이터, 관리자, 서비스, 서비스 합성  Multiparty Collaboration System, Mediator, Manager, Service, Service Synthesis

Description

다자간 협업 시스템 및 그 구성 방법, 상기 방법을 구현하는 프로그램이 기록된 기록매체{Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method}Multi-Party Interactive Collaboration System And Method For Organizing One, And The Recording Media Storing The Program Performing The Said Method}

본 발명은 다자간 협업 시스템 및 그 구성 방법에 관한 것으로서, 보다 상세하게는, 본 발명은 기존의 협업 모듈의 데이터 및 인터페이스를 네트워크로 접근할 수 있도록 하기 위해 컴포넌트 기반의 소프트웨어인 서비스 모듈을 만들어, 협업 환경에서 관리 가능한 구성요소로 등록시키고, 서비스 합성 알고리즘을 통해, 사용자가 보다 용이한 조작으로 협업 환경에서 이용 가능한 서비스 모듈을 검색/발견하고, 서비스모듈들의 연결/합성을 통해 서비스 모듈들의 상호 작용이 가능한 다자간 협업 시스템 및 그 구성 방법에 관한 것이다.The present invention relates to a multi-party collaboration system and a method of configuring the same. More specifically, the present invention provides a service module, which is a component-based software, to enable a network access to data and interfaces of an existing collaboration module. Register as a manageable component in the environment, and through service synthesis algorithms, users can find and discover the service modules available in the collaborative environment with easier operation, and the interaction of the service modules through the connection / synthesis of the service modules The present invention relates to a possible multilateral collaboration system and a method of configuring the same.

고성능 컴퓨팅 및 네트워킹 기술은 기업체 및 연구 기관을 중심으로 진보된 협업 시스템의 보급을 확산시켜 왔다. 특히, 상용 시스템을 이용한 비즈니스 회의, 종업원 교육을 비롯해 연구 지향적인 협업 시스템을 이용한 과학적 공동 실험, 원격 강의 등 다양한 응용분야에서 폭 넓게 활용되고 있다. 이와 같은 다자간 협업 시스템은 다중 디스플레이 장치 및 고해상도 카메라를 이용하여 원격지의 지식 노동자들 간에 현장감 있는 원격 회의 환경을 제공하고 있다. High performance computing and networking technologies have led to the proliferation of advanced collaborative systems around businesses and research institutions. In particular, it is widely used in various applications such as business meetings using commercial systems, employee training, scientific joint experiments using research-oriented collaboration systems, and remote lectures. This multi-party collaboration system uses multi-display devices and high resolution cameras to provide a realistic teleconferencing environment among knowledge workers in remote locations.

또한, 이와 같은 협업 시스템은 멀티캐스트로 연결된 다수의 협업 공간들 간에 음성/영상/데이터 공유 서비스를 제공할 수 있는 협업 환경을 구성하며, 사용자들이 용도에 맞게 확장된 협업 환경을 구축하도록 추가적인 서비스들을 개발할 수 있는 프레임워크를 제공하고 있다.In addition, such a collaboration system forms a collaboration environment that can provide voice / video / data sharing services among multiple collaboration spaces connected by multicast, and provides additional services for users to build an extended collaboration environment for their purpose. It provides a framework for development.

이와 같은 진보된 협업 시스템은 고품질의 영상, 음성, 그래픽스의 공유뿐만 아니라, 다중 포인팅 및 위치 추적 장치를 이용하여 상호작용 가능한 초고해상도 격자형 디스플레이를 제공함으로써, 보다 현장감 있는 그룹형 공동태스크 데이터 환경을 제공하고 있다. This advanced collaboration system not only allows sharing of high-quality video, audio, and graphics, but also provides an interactive, high-resolution grid display using multiple pointing and location tracking devices to create a more realistic grouped collaborative data environment. Providing.

그러나 이와 같은 형태의 협업 환경은 수많은 하드웨어 및 소프트웨어들로 구성되기 때문에, 협업 시스템의 조작에 익숙하지 않은 사용자가 일일이 모든 구성요소들을 직접 조작하는 일은 어려울 뿐만 아니라 비효율적인 단점이 있다.However, since this type of collaboration environment is composed of numerous hardware and software, it is not only difficult for a user unfamiliar with the operation of the collaboration system to directly manipulate all components, but also has an inefficient disadvantage.

또한, 협업 환경에서 구성 요소들의 관리를 편리하게 해주는 추상화 기술은 각 구성요소를 Active Space API (application programming interfaces)를 통해 고유 기능에 접근할 수 있도록 만든 후, 객체지향 프로그래밍에서 널리 활용되는 MVC (model, view, controller) 모델을 확장한 응용 프레임워크를 통해 사용자가 구성 요소들 간에 상호작용을 프로그래밍 할 수 있는 소프트웨어 구조로 구현되거나, 주어진 회의 시나리오에 맞게 각 서비스 에이전트들 간에 상호작용을 워크플로우로 정의하여, 설정된 방식에 따라 서비스 에이전트들이 유기적으로 협력하여 서비스를 제공함으로써 구현된다. 다른 방법으로는 Access Grid 노드를 구성하는 분산된 멀티미디어 하드웨어 및 소프트웨어를 파일 시스템처럼 계층적으로 관리하기 위한 추상화 기능을 제공하는 INDIVA는 상위 수준의 명령어를 통해서 모든 자원들을 발견, 연결, 조작할 수 있는 미들웨어를 통해서 구현되는 방법이 있다. In addition, abstraction technology, which facilitates the management of components in a collaborative environment, makes each component accessible to its own functionality through Active Space API (application programming interfaces), and then is widely used in object-oriented programming (MVC). An application framework that extends the model (view, controller) to implement a software architecture that allows the user to program interactions between components, or define interactions between service agents as workflows for a given conference scenario. Thus, service agents are organically cooperated to provide a service in a set manner. Alternatively, INDIVA provides an abstraction for hierarchically managing the distributed multimedia hardware and software that make up an Access Grid node like a file system, so that all resources can be discovered, linked, and manipulated through high-level instructions. There is a way to implement this through middleware.

그러나 이러한 방법들은 이용하기 위해서는, 수많은 구성요소들 중에서 사용할 서비스들의 선택, 서비스들의 연결, 서비스들의 상호작용 순서를 결정하는 절차를 사용자가 사전에 정해야 한다. 이러한 제약으로 인해 참여 노드들의 이질적인 성능 특성, 시간에 따라 변화하는 가용자원 상태, 서로 다른 사용자 의도 등 가변적인 협업 문맥에 동적으로 대응하기 어렵다는 단점이 있다.However, in order to use these methods, the user must predetermine a procedure for selecting a service to be used from among a large number of components, connecting the services, and determining the order of interaction of the services. Due to these limitations, it is difficult to dynamically respond to variable collaboration contexts such as heterogeneous performance characteristics of participating nodes, available resource states that change over time, and different user intentions.

본 발명은 다자간 협업 시스템으로 서비스 지향 구조 (service-oriented architecture)에 기초한 에이전트 기반의 서비스 합성 모델를 제안하고, 기존 협업 소프트웨어의 데이터 및 인터페이스를 네트워크로 접근 가능한 다자간 협업 시스템 및 그 구성 방법을 제공함을 목적으로 한다.An object of the present invention is to propose an agent-based service synthesis model based on a service-oriented architecture as a multi-party collaboration system, and to provide a multi-party collaboration system and a method of constructing the data and an interface of an existing collaboration software. It is done.

또한, 본 발명은 복잡한 협업 응용 서비스를 제공하기 위한 서비스 합성 알고리즘을 제안함으로써, 사용자의 간단한 조작으로 사용자의 요구 사항에 맞는 이용 가능한 서비스 모듈들을 발견/연결시키고, 다자간 협업 환경에서 사용자가 다른 노드의 서비스들에 보다 용이하게 접근/사용할 수 있는 다자간 협업 시스템 및 그 구성 방법을 제공함을 목적으로 한다.In addition, the present invention proposes a service synthesis algorithm for providing a complex collaboration application service, thereby discovering / connecting available service modules that meet the user's requirements with a simple operation of the user, and the user in the An object of the present invention is to provide a multi-party collaboration system and a method of configuring the same that can more easily access / use services.

본 발명의 일례에 따른 다자간 협업 시스템의 구성 방법은 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하기 위해 사용자에 의해 제어되는 미디에이터(Mediator) 모듈을 통해 사용자가 목표로 하는 작업을 수행하기 위한 태스크(Task) 데이터를 제공하는 태스크단계;와 태스크 데이터에 의해 제어되는 적어도 하나의 관리자 모듈이 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 서비스명령단계;와 서비스명령 데이터에 의해 제어되는 적어도 하나의 서비스 모듈이 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 서비스단계; 및 미디에이터 모듈이 협업 노드 내에서 이용 가능한 협업 장치들 및 서비스 모듈을 발견/설정/합성하는 시스템설정 단계;를 포함한다.A method of configuring a multi-party collaboration system according to an example of the present invention is a task that a user targets through a mediator module controlled by a user to use basic collaboration devices at each of a plurality of collaboration nodes. A task command step of providing task data for performing task; and a service command step of providing service command data according to a preset method for processing at least one manager module controlled by the task data; and A service step of providing at least one service module controlled by the service command data to provide service data for executing the collaboration devices; And a system setting step of the mediator module finding / setting / synthesizing the collaboration devices and the service module available in the collaboration node.

여기서, 시스템설정 단계는 협업 장치들 및 관리자 모듈과 상호 인터페이스가 가능한 서비스 모듈을 검색하고, 서비스 모듈의 상태 데이터를 저장하는 협업 상황 저장부에 저장하는 서비스발견 단계;와 검색된 서비스 모듈의 실행/종료가 가능하도록 관리자 모듈 및 서비스 모듈을 설정하는 서비스설정 단계; 및 태스크 데이터를 처리하기위해 관리자 모듈간의 상호 인터페이스 바인딩을 통해 관리자 모듈들을 합성하는 서비스합성 단계;를 포함할 수 있다. Here, the system setting step includes a service discovery step of searching for a service module that can interface with the cooperative devices and the manager module and storing the state data of the service module in a collaboration situation storage unit; and executing / ending the searched service module. Service setting step of setting the manager module and the service module to enable; And a service synthesis step of synthesizing the manager modules through the mutual interface binding between the manager modules to process the task data.

여기서, 시스템설정 단계는 서비스발견 단계에서 검색된 협업 장치들 및 협업 장치들을 내에 이용 가능한 서비스 모듈과 서비스 모듈을 제어하는 관리자 모듈을 노드 GUI(Graphical User Interface)에 표시하는 노드상태표시 단계;를 더 포함 할 수 있다.Here, the system setting step may further include a node status display step of displaying, on a node graphical user interface (GUI), a service module available in the collaboration devices and the collaboration devices found in the service discovery step and an administrator module controlling the service module. can do.

또한, 서비스설정 단계는 노드상태표시 단계에서 표시된 협업 장치들 및 협업 장치 내에서 이용 가능한 서비스 모듈이 사용자에 의해 선택되면 미디에이터 모듈이 서비스 모듈의 실행/종료가 가능하도록 관리자 모듈 및 서비스 모듈을 설정하는 단계를 포함할 수 있다.In addition, the service setting step includes setting the manager module and the service module to enable the mediator module to execute / shut down the service module when the collaboration devices displayed in the node status display step and the service module available in the collaboration device are selected by the user. It may include a step.

그리고, 서비스발견 단계는 협업 장치들을 검색하기 위해 협업 장치들 내에 탑재된 디바이스 에이전트 모듈(Device agent)를 검색하고, 검색된 디바이스 에이전트 모듈을 통해 협업 장치를 노드 GUI에 표시하는 단계;를 포함하고, 서비스설정 단계는 사용자의 선택에 따라 미디에이터 모듈이 검색된 협업 장치를 통해 이용가능한 서비스 모듈 또는 관리자 모듈을 추가/삭제하는 단계;를 포함할 수 있다.The service discovery step includes searching for a device agent module mounted in the collaboration devices to search for the collaboration devices, and displaying the collaboration device in the node GUI through the found device agent module. The setting step may include adding / deleting a service module or an administrator module available through the collaboration device in which the mediator module is found according to a user's selection.

또한, 시스템설정 단계는 서비스설정단계에서 설정된 관리자 모듈 및 서비스 모듈을 통해 이용 가능한 태스크 데이터를 스페이스 GUI(Graphical User Interface)에 표시하는 단계;를 더 포함할 수 있다.The system setting step may further include displaying task data available through the manager module and the service module set in the service setting step on a space graphical user interface (GUI).

또한, 서비스합성 단계는 표시된 태스크 데이터 중 어느 하나가 사용자에 의해 선택되면 미디에이터 모듈이 태스크 데이터를 처리하기 위한 적어도 하나의 관리자 모듈을 자동으로 선택/합성하는 단계; 및 선택/합성된 관리자 모듈이 태스크 데이터를 처리하기위해 합성될 적어도 하나의 서비스 모듈을 검색/설정하는 단계;를 더 포함할 수 있다.Also, the service synthesis step may include: automatically selecting / synthesizing at least one manager module for processing the task data when any one of the displayed task data is selected by the user; And searching / setting at least one service module to be synthesized for processing the task data by the selected / synthesized manager module.

또한, 관리자 모듈은 미디어 서비스 범주, 네트워킹 서비스 범주, 디스플레이 서비스 범주, 멀티모달 인터랙션 서비스 범주 및 데이터와 태스크 공유 및 이동 서비스 범주로 구분되고, 서비스명령 단계는 관리자 모듈 각각이 각각의 범주에 상응하는 서비스명령 데이터를 적어도 하나의 서비스모듈로 전송하는 단계;를 포함할 수 있다.In addition, the manager module is divided into a media service category, a networking service category, a display service category, a multimodal interaction service category, and a data and task sharing and moving service category. The service command step includes a service in which each manager module corresponds to each category. And transmitting the command data to the at least one service module.

그리고, 서비스 단계는 적어도 하나의 서비스 모듈이 협업 장치들을 직접 제어하는 협업 응용 모듈이 서비스 데이터에 의해 제어되도록 하는 서비스에이전트 모듈로 서비스 데이터를 전송하는 단계;와 서비스에이전트 모듈이 서비스 데이터에 따라 미리 설정된 API를 협업 응용 모듈로 전송하는 단계; 및 협업 응용 모듈이 협업 장치들의 실행/종료를 직접 제어하는 단계;를 포함할 수 있다.The service step may include transmitting service data to a service agent module such that the collaboration application module directly controlling the collaboration devices by the at least one service module is controlled by the service data; and the service agent module is preset according to the service data. Sending an API to a collaborative application module; And directly controlling the execution / termination of the collaboration devices by the collaboration application module.

또한, 다자간 협업 시스템의 구성 방법은 상호 작용 프로토콜인 계약 네트워크 기반의 기술을 이용하여 복수의 협업 노드에 새롭게 참여하고자 하는 제 1 노드의 미디에이터 모듈과 복수의 협업에 이미 참여하고 있는 제 2 노드의 미디에이터 모듈을 통해 제 1 노드 및 제 2 노드의 관리자 모듈이 서로 합성되는 네트워크합성 단계를 더 포함할 수 있다.In addition, the method of configuring a multi-party collaboration system is a mediator module of a first node to newly participate in a plurality of collaboration nodes using a contract network-based technology, which is an interaction protocol, and a mediator of a second node already participating in a plurality of collaborations. The module may further include a network synthesis step of combining the manager modules of the first node and the second node with each other.

여기서, 네트워크합성 단계는 제 1 노드의 미디에이터 모듈이 제 1 노드 내 관리자 모듈을 검색하고, 검색된 관리자 모듈과 합성될 제 2 노드의 관리자 모듈을 찾기 위해 제 2 노드의 미디에이터 모듈로 공지메시지를 전송하는 작업공지단계;와 제 2 노드의 미디에이터 모듈이 검색된 관리자 모듈과 합성될 제 2 노드내의 관리자 모듈이 있는 경우, 제 2 노드가 연결대상이 될 수 있음을 알리는 제안메시지를 제 1 노드의 미디에이터 모듈로 전송하는 제안단계;와 제 1 노드의 미디에이터가 제안메시지로부터 합성 가능한 제 2 노드를 선택하고 관리자 모듈의 합성을 위한 계약메시지 및 제 1 노드의 관리자 모듈의 에이전트 ID를 제 2 노드의 미디에이터 모듈로 전송하는 계약단계; 및 제 2 노드의 미디에이터 모듈이 제 1 노드의 관리자 모듈의 에이전트 ID를 이용하여 제 1 노드의 관리자 모듈을 추가/업데이트한 뒤, 제 2 노드내의 기존 관리자 모듈로 업데이트 사실을 전송하는 결과보고단계;를 포함할 수 있다.Here, in the network synthesis step, the mediator module of the first node searches for a manager module in the first node, and sends a notification message to the mediator module of the second node to find the manager module of the second node to be synthesized with the searched manager module. Work notification step; and if there is a manager module in the second node to be synthesized with the founder module of the second node, a suggestion message indicating that the second node may be the target of connection to the mediator module of the first node. Proposal step of transmitting; and the mediator of the first node selects a second node that can be synthesized from the proposal message, and transmits the contract message for the synthesis of the manager module and the agent ID of the manager module of the first node to the mediator module of the second node. Contract step to do; And a result reporting step of, by the mediator module of the second node, adding / updating the manager module of the first node using the agent ID of the manager module of the first node, and transmitting an update fact to the existing manager module in the second node. It may include.

또한, 네트워크합성 단계는 계약단계 이후, 제 2 노드의 미디에이터 모듈이 협업에 이미 참여하고 있는 관리자 모듈의 에이전트 ID를 제 1 노드의 미디에이터 모듈로 전송하는 단계를 더 포함할 수 있다.In addition, the network synthesis step may further include, after the contracting step, transmitting, by the mediator module of the second node, the agent ID of the manager module that is already participating in the collaboration to the mediator module of the first node.

또한, 본 발명의 일례에 따른 다자간 협업 시스템은 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하여 목표로 하는 작업을 수행하기 위한 태스크(Task) 데이터를 제공하는 미디에이터(Mediator) 모듈;과 태스크 데이터에 의해 제어되고, 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 적어도 하나의 관리자 모듈; 및 서비스명령 데이터에 의해 제어되고, 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 적어도 하나의 서치비스 모듈;을 포함하고, 미디에이터 모듈은 협업 노드 내에서 이용 가능한 협업 장치들 및 적어도 하나의 서비스 모듈을 발견/설정/합성한다.In addition, the multi-party collaboration system according to an exemplary embodiment of the present invention provides a mediator for providing a task data for performing a target task by using a basic collaboration devices in each of a plurality of collaboration nodes. And at least one manager module controlled by the task data and providing the service command data in a preset manner for processing the task data; And at least one search service module controlled by the service command data and providing service data for executing the collaboration devices, wherein the mediator module includes at least one service module and the collaboration devices available in the collaboration node. Discover / Set / Synthesize.

여기서, 미디에이터 모듈은 협업 노드 내에서 이용가능한 협업 장치들 및 각각의 디바이스 내에서 관리자 모듈과 상호 인터페이스가 가능한 서비스 모듈을 검색하고, 서비스 모듈의 상태 데이터를 저장하는 협업 상황 저장부에 저장하는 서비스발견부;와 서비스 모듈이 실행/종료가 가능하도록 관리자 모듈 및 서비스 모듈을 설정하고, 태스크 데이터를 관리자 모듈로 전송하는 서비스 설정/실행부; 및 태스크 데이터를 처리하기위해 관리자 모듈 간의 상호 인터페이스 바인딩을 통해 관리자 모듈을 합성하는 서비스합성부;를 포함할 수 있다.Here, the mediator module searches for the collaboration devices available in the collaboration node and the service modules that can interface with the manager module in each device, and stores the data in the collaboration situation storage that stores the state data of the service module. A service setting / executing unit configured to set an administrator module and a service module to execute and terminate the module and the service module, and to transmit task data to the manager module; And a service synthesis unit for synthesizing the manager module through mutual interface binding between the manager modules to process the task data.

또한, 미디에이터 모듈은 서비스발견부에 의해 검색된 협업 장치들 및 협업 장치들을 내에 이용 가능한 서비스 모듈과 서비스 모듈을 제어하는 관리자 모듈을 표시하는 노드 GUI(Graphical User Interface)부;를 포함할 수 있다.In addition, the mediator module may include a node GUI (Graphical User Interface) unit for displaying the collaboration devices retrieved by the service discovery unit and the service module available in the collaboration devices and an administrator module controlling the service module.

또한, 서비스설정/실행부는 노드 GUI부에서 표시된 협업 장치들 및 협업 장치 내에서 이용 가능한 서비스 모듈이 사용자에 의해 선택되면 서비스 모듈의 실행/종료가 가능하도록 관리자 모듈 및 서비스 모듈을 설정하고, 서비스 모듈의 실행/종료를 위해 태스크 데이터를 관리자 모듈로 전송할 수 있다.In addition, the service setting / executing unit sets the manager module and the service module to enable / disable the service module when the collaboration devices displayed in the node GUI unit and the service module available in the collaboration device are selected by the user. Task data can be sent to the manager module for execution / exit.

또한, 서비스발견부는 협업 장치들을 검색하기 위해 협업 장치들 내에 탑재된 디바이스 에이전트 모듈(Device agent)을 검색하고, 검색된 디바이스 에이전트 모듈을 통해 협업 장치를 노드 GUI에 표시하고, 서비스설정/실행부는 사용자의 선택에 따라 검색된 협업 장치에 대해 이용가능한 서비스 모듈 또는 관리자 모듈을 추가/삭제할 수 있다.In addition, the service discovery unit searches for a device agent module (Device agent) mounted in the collaboration devices to search for collaboration devices, and displays the collaboration device in the node GUI through the discovered device agent module, and the service configuration / execution unit Optionally, you can add / delete an available service module or administrator module for the retrieved collaboration device.

또한, 미디에이터 모듈은 서비스설정부에서 설정된 관리자 모듈 및 서비스 모듈을 통해 이용 가능한 태스크 데이터를 표시하는 스페이스 GUI(Graphical User Interface)부;를 더 포함할 수 있다.In addition, the mediator module may further include a space GUI (Graphical User Interface) unit for displaying task data available through the manager module and the service module set in the service setting unit.

또한, 서비스합성부는 스페이스 GUI에 표시된 태스크 데이터 중 어느 하나가 사용자에 의해 선택되면 태스크 데이터를 처리하기 위한 적어도 하나의 관리자 모 듈을 자동으로 선택/합성할 수 있다.In addition, the service synthesis unit may automatically select / synthesize at least one manager module for processing the task data when any one of the task data displayed in the space GUI is selected by the user.

여기서, 자동으로 선택/합성된 관리자 모듈은 태스크 데이터를 처리하기위해 합성될 적어도 하나의 서비스 모듈을 검색/설정하고, 미디에이터 모듈(서비스 설정/실행부)로부터 전송되는 태스크 데이터에 따라 미리 설정된 방식으로 서비스명령 데이터를 검색/설정된 서비스 모듈로 전송할 수 있다.Here, the manager module automatically selected / synthesized retrieves / sets at least one service module to be synthesized to process the task data, and in a preset manner according to the task data transmitted from the mediator module (service setting / executing unit). The service command data can be transmitted to the service module that is searched / set.

또한, 관리자 모듈은 미디어 서비스 범주, 네트워킹 서비스 범주, 디스플레이 서비스 범주, 멀티모달 인터랙션 서비스 범주 및 데이터와 태스크 공유 및 이동 서비스 범주로 구분되고, 관리자 모듈 각각은 각각의 범주에 상응하는 서비스명령 데이터를 적어도 하나의 서비스모듈로 전송할 수 있다.In addition, the manager module is divided into a media service category, a networking service category, a display service category, a multi-modal interaction service category, and a data and task sharing and mobile service category. Each of the manager modules includes at least service command data corresponding to each category. It can transmit to one service module.

여기서, 적어도 하나의 서비스 모듈 각각은 서비스 데이터를 전송받아, 협업 장치들을 직접 제어하는 협업 응용 모듈이 서비스 데이터에 의해 제어되도록 하는 서비스에이전트 모듈;을 포함할 수 있다.Here, each of the at least one service module may include a service agent module receiving the service data so that the collaboration application module directly controlling the collaboration devices is controlled by the service data.

또한, 다자간 협업 시스템은 복수의 협업 노드에 새롭게 참여하고자 하는 제 1 노드의 미디에이터 모듈과 복수의 협업에 참여하고 있는 제 2 미디에이터 모듈을 포함하고, 제 1 및 제 2 노드의 미디에이터 모듈은 상호 작용 프로토콜인 계약 네트워크 기반의 기술을 이용하여 서로 합성할 수 있다.In addition, the multi-party collaboration system includes a mediator module of a first node that intends to newly participate in a plurality of collaboration nodes and a second mediator module that participates in a plurality of collaborations, wherein the mediator module of the first and second nodes includes an interaction protocol. Can be synthesized with each other using a technology based on a contract network.

또한, 태스크 데이터는 서비스 설정/실행부에서 관리자 모듈을 설정하기 위한 컴포넌트 데이터와 서비스합성부에서 관리자 모듈을 합성하기 위한 합성 데이터를 포함하고, 컴포넌트 데이터는 관리자 모듈의 이름, 유형, 서비스명령 데이터를 포함하고, 합성 데이터는 관리자 모듈의 합성을 위해 필요한 서비스합성 데이터를 포함할 수 있다.In addition, the task data includes component data for setting the manager module in the service setting / executing unit and composite data for synthesizing the manager module in the service synthesizing unit. The component data includes the name, type, and service command data of the manager module. And the synthesis data may include service synthesis data necessary for synthesis of the manager module.

또한, 서비스 데이터는 서비스 모듈이 서비스에이전트 모듈을 제어하기 위한 서비스에이전트 모듈의 이름, 역할, 유형, 최대인스턴스넘버 또는 설정에 대한 명세데이터를 포함할 수 있다.In addition, the service data may include specification data of the name, role, type, maximum instance number or setting of the service agent module for the service module to control the service agent module.

또한, 본 발명의 일례에 따른 컴퓨터로 판독 가능한 기록 매체는 전술한 다자간 협업 시스템의 구성 방법을 구현하는 프로그램이 기록되는 기록매체를 포함한다.In addition, the computer-readable recording medium according to an example of the present invention includes a recording medium on which a program for implementing the above-described method for configuring a multilateral collaboration system is recorded.

본 발명은 서비스 지향 구조 (service-oriented architecture)에 기초한 에이전트 기반의 서비스 합성 모델를 제안하고, 기존 협업 소프트웨어의 데이터 및 인터페이스를 네트워크로 접근 가능한 다자간 협업 시스템 및 그 구성 방법을 제공함으로써, 사용자가 더욱 용이하게 서비스 모듈들을 상호 연결시켜 전체적인 협업 공간의 정보를 정형화된 형식에 따라 공유할 수 있어, 협업 환경에서 각 서비스 모듈들이 관심 있는 서비스 모듈들의 상태 정보를 공유하고, 협업 맥락에 따른 서비스 모듈간의 상호작용이 가능하게 하는 효과가 있다.The present invention proposes an agent-based service synthesis model based on a service-oriented architecture, and provides a multi-party collaboration system and a method of configuring the same, which can access data and interfaces of existing collaboration software through a network, thereby making it easier for users. Service modules can be interconnected to share the information of the entire collaboration space in a formal format, so that each service module can share the state information of the service modules of interest in the collaboration environment, and the interaction between the service modules according to the collaboration context. There is an effect that makes this possible.

또한, 본 발명에 따른 다자간 협업 시스템 및 그 구성 방법은 사용자의 간단한 조작으로 사용자의 요구 사항에 맞는 이용 가능한 서비스 모듈들을 발견/연결시키고, 다자간 협업 환경에서 사용자가 다른 노드의 서비스들에 보다 용이하게 접근/사용할 수 있는 효과가 있다.In addition, the multi-party collaboration system and its configuration method according to the present invention discovers / connects available service modules that meet the user's requirements with a simple operation of the user, and makes it easier for the user to services of other nodes in the multi-party collaboration environment. There is an effect that can be accessed / used.

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

우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.First, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible, even if shown on different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the following will describe a preferred embodiment of the present invention, but the technical idea of the present invention is not limited thereto and may be variously modified and modified by those skilled in the art.

도 1은 본 발명의 일례에 따른 다자간 협업 시스템 및 그 구성 방법의 개념적 모델을 설명하기 위한 표이다.1 is a table for explaining a conceptual model of a multi-party collaboration system and a configuration method according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일례에 따른 다자간 협업 시스템의 개념적 모델은 추상화 수준에서 태스크 데이터계층, 서비스관리자계층, 서비스계층으로 구성되고, 기능적 구분의 측면에서 상호작용 모델, 환경 모델, 표현 모델, 응용 모델, 데이터 모델로 구분된다. As shown in FIG. 1, the conceptual model of the multilateral collaboration system according to an example of the present invention is composed of a task data layer, a service manager layer, and a service layer at an abstraction level, and an interaction model, an environment model, It is divided into expression model, application model and data model.

기능적 구분에서 상호작용 모델은 응용 모델과 연계하여 데이터 모델의 상태를 변경하기 위한 방법을 결정하며, 환경 모델은 협업 환경에서 기능 수행에 영향을 미치는 여러 가지 요인들에 대한 정보를 기술하고, 표현 모델은 사용자가 데이터 모델의 상태를 보여주기 위한 요소를 나타내고, 응용 모델은 데이터 모델의 조 작에 필요한 기능을 정의하고, 데이터 모델은 사용자가 만들거나 상호작용할 수 있는 데이터의 종류를 뜻한다. 이와 같은 기능적 측면에 따라, 후술할 관리자 모듈의 범주가 구분되고, 각각의 관리자 모듈의 범주에 상응하는 각각의 서비스모듈의 기능이 구분된다. In functional division, the interaction model determines how to change the state of the data model in conjunction with the application model. The environment model describes information about the various factors that affect the performance of the function in the collaborative environment, and the presentation model. Represents the elements for the user to show the state of the data model, the application model defines the functions necessary for the operation of the data model, and the data model refers to the kind of data that the user can create or interact with. According to this functional aspect, the categories of manager modules to be described later are divided, and the functions of each service module corresponding to the categories of each manager module are distinguished.

추상화 수준의 측면에서, 작업(task)계층에서는 미디에이터 모듈이 원하는 복합적인 협업 응용 서비스의 특성을 기술하고, 사용자가 목표로 하는 작업을 수행하기 위해 관련된 서비스 관리자(service manager) 모듈들에게 태스크 데이터를 전송함으로써, 서비스(service) 모듈의 구성 및 운용에 관한 책임을 부여한다. 서비스 관리자 계층에서는 전달된 태스크 데이터 내용에 입각하여, 관리자 모듈은 사전에 준비된 서비스 합성 논리를 기반으로 서비스 모듈로 서비스명령 데이터를 전송하여, 필요한 서비스 모듈들을 발견하고 실행 순서에 따라 연결한 후, 통합적으로 실행한다. 그리고, 서비스 계층에서는 서비스 모듈이 사용자가 목표로 하는 작업을 수행하기 위해 협업 장치들을 실행하는 서비스 데이터를 제공한다.In terms of the level of abstraction, the task layer describes the characteristics of the complex collaborative application services desired by the mediator module, and provides task data to the relevant service manager modules to perform the tasks that the user wants to target. By transmitting, the responsibility for the configuration and operation of the service module is assigned. In the service manager layer, based on the delivered task data content, the manager module sends the service command data to the service module based on the prepared service synthesis logic, finds the required service modules, connects them in the order of execution, and then integrates them. Run In the service layer, the service module provides service data for executing the collaboration devices in order to perform a target task.

작업 계층은 다자간 협업 환경에서 협업에 필요한 응용 서비스(예를 들면, 영상회의, 공동문서 태스크 데이터, 가시화 콘텐츠 공유 등)를 공유하고, 공유되어야 할 콘텐츠가 사용자 친화적 방법으로 다루어지도록하기 위한 추상화된 기능을 제공한다. 여기서, 공유되어야 할 콘텐츠를 공유 객체(Shared object)로 정의한다. 이와 같은 작업 계층은 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하기 위해 사용자에 의해 제어되는 미디에이터(Mediator) 모듈이 사용자가 목표로 하는 작업 수행하기 위한 태스크(Task) 데이터를 제공하는 태 스크단계로 구현된다. The task layer is an abstraction for sharing application services (eg, video conferencing, collaborative task data, visualized content sharing, etc.) required for collaboration in a multi-party collaboration environment, and ensuring that the content to be shared is handled in a user-friendly way. To provide. Here, the content to be shared is defined as a shared object. This task layer provides task data for the user to perform a task targeted by a mediator module controlled by the user in order to use the basic collaboration devices in each of the plurality of collaboration nodes. Implemented with the task steps provided.

상호작용 모델에서는 공유 객체별로 특화된 조작을 위한 상호 작용 인터페이스를 정의한다. 예를 들면, 발표자의 자료를 원하는 위치에 배치시키는 시각화 공유 (visual sharing) GUI 등을 고려할 수 있다. 환경 모델에서는 태스크 데이터와 연관된 공유 객체들을 처리하기 위한 관리자 모듈들의 정보를 기술하며, 표현 모델에서는 주어진 태스크 데이터의 진행 상황 및 태스크 데이터와 관련된 공유 객체들의 상태를 표시한다. 즉, 주어진 태스크 데이터와 관련된 모든 콘텐츠들의 상태를 표현한다. The interaction model defines interaction interfaces for manipulations specific to shared objects. For example, consider a visual sharing GUI that places the presenter's material in a desired location. The environment model describes the information of the manager modules for processing the shared objects associated with the task data, and the presentation model indicates the progress of the given task data and the state of the shared objects associated with the task data. In other words, it represents the state of all contents associated with a given task data.

또한, 응용 모델에서는 태스크 데이터와 연관된 공유 객체들의 조작(예를 들면, 발표자를 바라보는 시점 변경) 방법을 제공하며, 데이터 모델은 태스크 데이터와 연관된 공유 객체들에 대한 데이터를 기술한다. 예를 들어 발표자와 관련된 콘텐츠들을 공유 객체라고 가정한다면, 발표자 모습을 바라보는 시점, 발표자의 모습에 포함되는 배경 정보, 발표자의 음성, 발표 자료, 손동작을 이용한 가상 물체와의 상호작용 등이 공유 객체의 데이터 모델로 표현될 수 있다. The application model also provides a method for manipulating (eg, changing the view of the presenter) the shared objects associated with the task data, the data model describing the data for the shared objects associated with the task data. For example, assuming that the content related to the presenter is a shared object, the shared object includes the point of view of the presenter, the background information included in the presenter's appearance, the presenter's voice, the presentation material, and the interaction with virtual objects using hand gestures. It can be expressed as a data model of.

다음, 서비스 관리자 계층은 주어진 태스크 데이터에서 요구하는 공유 객체들을 처리하기 위해서, 공유 객체의 처리 요구사항과 협업 환경의 상황의 이해를 기반으로 관련된 서비스 모듈들을 자동적으로 선택하고 이들에게 적절한 행위를 주문할 수 있는 상위 수준의 관리 기능이 필요하다. 이와 같이 주어진 공유 객체를 처리하기 위한 상위 수준의 관리 주체를 관리자 모듈로 정의한다. 이와 같은 서비스 관리자 계층은 태스크 데이터에 의해 제어되는 적어도 하나의 관리자 모듈이 태 스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 서비스명령단계로 구현된다.The service manager layer can then automatically select relevant service modules and order appropriate actions based on the understanding of the shared object's processing requirements and the context of the collaborative environment in order to process the shared objects required by a given task data. That requires a high level of management. In this way, the high-level manager for processing a given shared object is defined as an administrator module. Such a service manager layer is implemented as a service command step in which at least one manager module controlled by the task data provides the service command data in a preset manner for processing the task data.

서비스 관리자 계층에서, 상호작용 모델에서는 주어진 공유 객체에 대한 상위 수준의 기능 제어 및 관리를 위한 인터페이스를 기술하며, 환경 모델에서는 주어진 공유 객체를 처리하기 위한 가용 서비스 모듈들의 상태 데이터를 기술하고, 표현 모델에서는 공유 객체를 처리하기 위한 관련 서비스 모듈 간에 연결 관계를 (기능적 의존 그래프 형식으로) 표현한다. 또한, 응용 모델에서는 주어진 공유 객체를 처리하기 위한 서비스 모듈들의 합성 논리를 제공하며, 각 조작행위에 따라 관련 서비스 모듈들에게 적절한 지시를 내린다. 이때 관련 서비스 모듈들의 선택과 이들의 (실제적인 인터페이스 연결에 의한) 조합을 기술하는 워크플로우를 포함하며, 데이터 모델에서는 주어진 공유 객체를 처리하기 위해 실행되고 있는 서비스 모듈들의 데이터를 수집하여, 통합된 형태의 데이터로 관리한다. 예를 들어, 사용자의 위치에 따라 디스플레이 장치들 사이에서 시각 콘텐츠를 이동시키는 follow-me display 태스크 데이터를 수행하는 경우, 사용자의 위치를 파악하는 위치 추적 서비스로부터 사용자 위치 정보를 수집하고, 표현해야 하는 영상에 대한 식별자를 연계하여 구조화된 정보로 저장한다. In the service manager hierarchy, the interaction model describes the interfaces for high-level functional control and management of a given shared object, and the environment model describes the state data of the available service modules for processing a given shared object. Shows the connection relationships (in functional dependency graph format) between related service modules for handling shared objects. In addition, the application model provides the synthesis logic of service modules for processing a given shared object, and instructs relevant service modules according to each operation. It includes a workflow that describes the selection of related service modules and their combination (by the actual interface connection), and in the data model, data is collected from service modules running to process a given shared object. Managed in form data. For example, when performing follow-me display task data that moves visual content between display devices according to the user's location, the user's location information must be collected and represented from a location tracking service that detects the user's location. It stores the structured information by associating the identifier for the image.

다음, 서비스 계층에서 사용자들이 기본적인 협업 장치를 이용하기 위한 기본적인 서비스 기능들을 제공하고, 이를 위해서, (음성/영상 전송 프로그램과 같은) 협업 응용 모듈에 직접 접근할 수 있는 부가적인 소프트웨어인 서비스 데이터를 제공한다. 서비스 모듈은 분산 컴포넌트 기술을 기반으로 개발되므로, 기본적으 로 네트워크상에서 다른 서비스 모듈들의 접근을 허용하고 서비스 기능을 이용할 수 있도록 인터페이스를 제공한다. 단, 실제적인 접근과 제어는 주어진 권한에 의해 제약을 받을 수 있다. 네트워크를 통한 서비스 기능의 접근방식은 서비스 모듈들이 상호작용을 통해 새로운 협업 응용 서비스로 유연하게 만들 수 있도록 한다. 이와 같은 서비스 계층은 서비스명령 데이터에 의해 제어되는 적어도 하나의 서비스 모듈이 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 서비스단계로 구현된다.Next, the service layer provides basic service functions for users to use basic collaborative devices. To this end, service data, which is additional software that can directly access collaborative application modules (such as voice / video transmission programs), is provided. do. Since service modules are developed based on distributed component technology, they basically provide an interface to allow access to other service modules on a network and to use service functions. However, actual access and control may be limited by given privileges. The approach to service functions over the network allows service modules to interact and make them flexible as new collaborative application services. Such a service layer is implemented as a service step in which at least one service module controlled by the service command data provides service data for executing the collaboration devices.

상호작용 모델에서는 서비스 모듈의 실행, 설정 및 중단을 위한 인터페이스를 기술하고, 환경 모델에서는 서비스 모듈이 이용하는 기존의 협업 응용 모듈의 능력 및 설정 데이터를 제공하며, 표현 모델에서는 서비스 모듈의 운용 상태에 대한 상태 데이터와 서비스 모듈 실행 시 획득되는 결과를 사용자에게 보여주기 위한 방법을 제시한다. 또한, 응용 모델에서는 서비스 모듈이 제공하는 협업 기능을 기술하며, 데이터 모델은 서비스 모듈의 상태 (실행/대기 상태)와 서비스 데이터가 처리되면서 획득한 문맥(예를 들어, 네트워크 모니터링 서비스의 경우 패킷 손실률과 같은 모니터링 결과)에 대한 데이터를 포함한다.The interaction model describes the interface for running, configuring, and stopping the service module, the environment model provides the capability and configuration data of the existing collaborative application modules used by the service module, and the presentation model describes the operational state of the service module. We present a method to show the user the status data and the result obtained when executing the service module. In addition, the application model describes the collaborative functions provided by the service module, and the data model describes the state of the service module (execution / standby state) and the context obtained as the service data is processed (e.g., packet loss rate for network monitoring services). Data for monitoring results, such as).

도 2a는 본 발명의 일례에 따른 다자간 협업 시스템 및 그 구성 방법의 계층적 구조의 개념을 설명하기 위한 도이고, 도 2b는 관리자 모듈간의 연결 예를 설명하기 위한 도이고, 도 2c는 태스크 데이터를 설명하기 위하여 태스크 데이터 그래프를 XML 문서로 작성한 일례이고, 도 2d는 관리자 모듈과 서비스 모듈간의 상호 작용을 설명하기 위한 도이고, 도 2e는 서비스 데이터를 설명하기 위한 오디오 서비스 기술서의 일례이다. FIG. 2A is a diagram for describing a concept of a hierarchical structure of a multilateral collaboration system and a configuration method according to an example of the present invention, FIG. 2B is a diagram for explaining an example of connection between manager modules, and FIG. 2C is a diagram for task data. 2D is an example for explaining the interaction between the manager module and the service module, and FIG. 2E is an example of an audio service description for explaining the service data.

이하에서는, 다자간 협업 시스템 및 그 구성방법의 계층적 구조를 설명하기 위해 도 2a를 기초로, 도 2b 내지 도 2e를 참조하면서 설명한다. Hereinafter, a description will be given with reference to FIGS. 2B to 2E based on FIG. 2A to describe a hierarchical structure of a multilateral collaboration system and a method of configuring the same.

도 2a에 도시된 바와 같이, 다자간 협업 시스템 및 그 구성방법의 계층적 구조는 다자간 협업 환경은 협업에 참여하고 있는 각각의 미팅노드를 포함하고, 각각의 미팅노드는 미디에이터 모듈, 적어도 하나의 관리자 모듈, 각각의 관리자 모듈에 의해 제어되는 적어도 하나의 서비스 모듈을 포함한다.As shown in FIG. 2A, the hierarchical structure of the multi-party collaboration system and its configuration method includes a respective meeting node in which the multi-party collaboration environment participates in the collaboration, and each meeting node includes a mediator module and at least one manager module. And at least one service module controlled by each manager module.

미디에이터 모듈은 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하여 사용자가 목표로 하는 작업을 수행하기 위한 태스크(Task) 데이터를 제공하는 기능을 한다. 또한 미디에이터 모듈은 협업 노드 내에서 이용 가능한 협업 장치들 및 적어도 하나의 서비스 모듈을 발견/설정/합성하는 기능을 한다.The mediator module functions to provide task data for performing a target task by the user using basic collaboration devices in each of the plurality of collaboration nodes. The mediator module also functions to discover / configure / synthesize the collaboration devices and at least one service module available within the collaboration node.

이와 같은 미디에이터 모듈은 미팅노드를 대표하고, 미디에이터 모듈 각각은 상호간에 계약 네트워크 기반의 기술을 이용하여 합성이 가능하고, 이와 같은 네트워크 합성을 통해 다른 노드와의 연결을 꾀하게 되고, 이와 같은 네트워크 합성을 통해 각각의 미팅노드는 협업에 필요한 응용 서비스를 공유할 수 있는 것이다.Such a mediator module represents a meeting node, and each of the mediator modules can be synthesized using a contract network-based technology, and the network synthesis is connected to other nodes. This allows each meeting node to share the application services needed for collaboration.

관리자 모듈은 태스크 데이터에 의해 제어되고, 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 기능을 한다.The manager module is controlled by task data and functions to provide service command data in a preset manner for processing task data.

서비스 모듈은 서비스명령 데이터에 의해 제어되고, 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 기능을 한다.The service module is controlled by the service command data and functions to provide service data for executing the collaboration devices.

보다 자세하게 설명하면, 미디에이터 모듈은 협업 환경에서 협업의 목적을 완수하기 위하여 (지역 또는 원격 협업 노드들 상에서) 관리자 모듈들 간의 협력관계를 작업 그래프(task graph)를 이용하여 표현한다. 이와 같은, 작업 그래프는 노드 GUI(Graphical User Interface) 또는 스페이스 GUI에 의해 구현된다. 이를 위해, 작업 그래프는 관리자 모듈의 목록과 관리자 모듈의 운용 방식, 관리자 모듈 사이의 상호 연결 관계, 사용자 문맥을 기술한다. 여기서, 관리자 모듈들 사이의 상호 연결 관계는 관리자 모듈들 간에 직접적인 상호작용이 가능한지 여부를 표시한다. 사용자 문맥은 사용자가 협업 노드에서 가지는 권한, 역할, 서비스 기호 등을 포함하며, 이 문맥을 기반으로 관리자 모듈은 차등화된 협업 서비스 기능을 제공할 수 있다. In more detail, the mediator module uses task graphs to represent the collaboration between manager modules (on local or remote collaboration nodes) to accomplish the purpose of collaboration in a collaboration environment. Such a task graph is implemented by a node graphical user interface (GUI) or a space GUI. To this end, the task graph describes the list of manager modules, how they operate, the interrelationships between manager modules, and the user context. Here, the interconnection relationship between the manager modules indicates whether direct interaction between the manager modules is possible. The user context includes the privileges, roles, service symbols, etc. that the user has in the collaboration node, and based on this context, the administrator module can provide differentiated collaboration service functionality.

관리자 모듈은 미디에이터 모듈에서 제공되는 테스크 데이터에 의해 제어되고, 각각의 노드 내에서 미디에이터 모듈을 통해 각각의 관리자 모듈을 연결/합성 할 수 있고, 미디에이터 모듈의 네트워크 합성을 통해 다른 노드의 관리자 모듈과의 합성 및 연결이 가능하다. The manager module is controlled by the task data provided by the mediator module, and each manager module can be connected / synthesized through the mediator module within each node, and the network module of the mediator module can be combined with the manager module of other nodes. Synthesis and linking are possible.

도 2b에 도시된 바와 같이, 각 노드의 사용자가 상호작용 관리자 모듈과 디스플레이 관리자 모듈을 사용하는 경우, 각 노드의 상호작용 관리자 모듈과 디스플레이 관리자 모듈은 각 노드의 미디에이터 모듈을 통해서 합성, 연결되고, 각 노드의 미디에이터 모듈을 통해 각 노드의 상호작용 관리자 모듈의 연결되어 협업 환경을 구축한다. 이와 같이 함으로써 각 노드의 사용자는 디스플레이와 함께 공유되는 상호작용 정보를 원격 참여자들에게 전달할 수 있고, 이로 인해 상호작용 공유 디스플레이 작업이 실현될 수 있는 것이다.As shown in FIG. 2B, when the user of each node uses the interaction manager module and the display manager module, the interaction manager module and the display manager module of each node are combined and connected through the mediator module of each node. Each node's mediator module is connected to each node's interaction manager module to create a collaborative environment. This allows the user of each node to communicate the interaction information shared with the display to the remote participants, thereby enabling the interactive sharing display operation to be realized.

이와 같은 상호작용 공유 디스플레이 작업이 실현되기 위한 태스크 데이터의 일례는 도 2c와 같다. 도 2c와 같이, 태스크 데이터(task)는 관리자 모듈을 설정하기 위한 컴포넌트 데이터(components)와 관리자 모듈을 합성하기 위한 합성 데이터(composition)를 포함하고, 컴포넌트 데이터(components)는 관리자 모듈의 이름(manager name), 유형(type), 서비스명령 데이터(mode)를 포함하고, 합성 데이터(composition)는 관리자 모듈의 합성을 위해 필요한 서비스합성 데이터를 포함할 수 있다.An example of task data for realizing such an interactive sharing display operation is shown in FIG. 2C. As shown in FIG. 2C, the task data includes component data for setting the manager module and composition data for synthesizing the manager module, and component data includes the name of the manager module. name), type, type, and service command data, and the composition data may include service composition data necessary for composition of the manager module.

태스크 데이터는 컴포넌트 데이터(components)에 따라 관리자 모듈이 선택되고, 해당 관리자 모듈의 유형(type)에 따른 태스크 데이터를 처리하기 위하여 서비스 모듈로 전송해야할 서비스명령 데이터(mode)를 특정하게 된다. 또한, 합성 데이터(composition)에 따라, 태스크 데이터를 처리하기 위해 필요한 관리자 모듈을 지정하고, 해당 관리자 모듈이 서로 합성되도록 한다.As the task data, the manager module is selected according to the component data, and service command data (mode) to be transmitted to the service module to process the task data according to the type of the manager module is specified. In addition, according to the composition data (composition), the manager module required for processing the task data is designated, and the manager modules are synthesized with each other.

관리자 모듈은 미디어, 네트워킹, 디스플레이, 멀티모달 인터렉션, 데이터/태스크 공유 및 이동과 같은 공통된 기능 그룹으로 분류된 관련 서비스 모듈들을 관리하는 장치 또는 소프트웨어로, 공유 객체를 처리하기 위해 사전에 설정된 운용 방식에 따라 서비스 모듈들의 행위를 설정/제어하는 역할을 담당한다. 이러한 자동적인 서비스 설정/제어는 사용자에게 복잡한 서비스 조작을 숨길 수 있다.The manager module is a device or software that manages related service modules classified into common functional groups such as media, networking, display, multimodal interactions, data / task sharing, and movement. Therefore, it is responsible for setting / controlling the actions of service modules. This automatic service setting / control can hide complicated service operations from the user.

주어진 태스크 데이터의 처리에 참여하는 과정에서 관리자 모듈들은 다른 관 리자모듈들과 협력이 가능하다. 또한, 관리자모듈들은 중요한 협업 문맥을 공유하고, 다른 관리자 모듈들과 협상을 통해 협력의 범위, 방법 등 세부적인 내용들을 조율할 수 있다. In the process of participating in the processing of a given task data, manager modules can collaborate with other manager modules. In addition, manager modules can share important collaboration contexts and negotiate with other manager modules to coordinate details such as scope and method of cooperation.

예를 들면, 도 2d에 도시된 바와 같이, 작업 계층(Task Layer)에서 사용자가 미디에이터 모듈(100)을 통해 포인팅 장치를 이용해 네트워크 디스플레 상에 표현되는 영상을 이동하는 작업(Interaction Networked Display Task)을 선택했을 때(1), 미디에이터 모듈(100)은 사용자가 목표로 하는 작업(Interaction Networked Display Task)을 수행하기 위해, 도 2c와 같은 태스크 데이터(operation mode, user context)를 작업에 필요한 상호작용 관리자 모듈(120)(Interaction Manager)(120)과 디스플레이 관리자 모듈(Display Manager)(123)로 전송하여 명령한다(2).For example, as illustrated in FIG. 2D, in the task layer, a user moves an image represented on a network display using a pointing device through the mediator module 100. When selected (1), the mediator module 100 requires an interaction manager, which requires task data (operation mode, user context), as shown in FIG. 2C, to perform an interaction networked display task. The module 120 is transmitted to and commanded by the Interaction Manager 120 and the Display Manager 123 (2).

서비스 관리자 계층(Service Manager Layer)에서 상호작용 관리자 모듈(120)과 디스플레이 관리자 모듈(123)은 태스크 데이터를 수신받아 제어되고, 미리 설정된 방식에 따라 태스크 데이터를 처리한다.In the Service Manager Layer, the interaction manager module 120 and the display manager module 123 receive and control task data and process the task data according to a preset method.

상호작용 관리자 모듈(120)은 태스크 데이터에 따라, 각각의 서비스 모듈로 서비스 명령 데이터를 전송하여 디바이스와 연결된 포인터 서비스 모듈(Pointer Service)(130)을 실행(Service configuration)시키고(3), 디스플레이 적응 서비스 모듈(Display adaptation Service)(133)을 합성(Service Composition)한다(4).The interaction manager module 120 transmits service command data to each service module according to the task data to execute a pointer service module 130 connected with the device (3), and adapts the display. A Service Module (Display adaptation Service) 133 is synthesized (4).

서비스 계층(Service Layer)에서는 포인터 서비스 모듈(130)은 상호작용 서비스 실행(Interaction Service Execution)에 관련된 서비스 데이터를 전송하여 포 인터 서비스 모듈(130)에 연결된 3차원 마우스(Space Mouse)(140) 또는 적외선 포인터(Infrared rays Pointer)(141)가 동작하게 하고, 디스플레이 적응 서비스 모듈(133)은 디스플레이 적응 서비스 모듈(133)에 상응하는 서비스 데이터를 전송하여 디스플레이 적응 서비스 모듈(133)에 연결된 디스플레이 적응 모듈(Display adaptation Module)(142)을 통해 3차원 마우스(Space Mouse)(140) 또는 적외선 포인터(Infrared rays Pointer)(141)의 동작에 따른 위치 좌표 정보를 획득한다.In the service layer, the pointer service module 130 transmits service data related to interaction service execution, so that the 3D mouse 140 or the space mouse 140 connected to the pointer service module 130 may be connected. The infrared rays pointer 141 is operated, and the display adaptation service module 133 transmits service data corresponding to the display adaptation service module 133 and is connected to the display adaptation service module 133. The position coordinate information according to the operation of the 3D mouse (Space Mouse) 140 or the infrared ray pointer (Infrared rays Pointer) 141 is obtained through the display adaptation module 142.

디스플레이 관리자 모듈(123)은 태스크 데이터에 따라, 상호작용 관리자 모듈(120)과 합성하여 연결되고, 태스크 데이터를 처리하기 위해 상호작용 디스플레이 컨트롤 서비스 모듈(Interactiv Display Control Service)(135)과 네트워크 디스플레이 서비스 모듈(Network Display Service)(137)로 각각에 상응하는 서비스명령 데이터를 전송하여 동작시킨다.The display manager module 123 is synthesized and connected with the interaction manager module 120 according to the task data, and interacts with the interactive display control service module 135 and the network display service to process the task data. A module (Network Display Service) 137 transmits and operates the service command data corresponding to each.

각각의 서비스 모듈(135, 137)은 디스플레이 실행(Display Execution)에 관련된 서비스 데이터를 전송하여 각각의 서비스 모듈(135, 137)에 연결된 네트워크 디스플레이 디바이스(Network Display)(143)로 전송하고, 네트워크 디스플레이 디바이스(Network Display)(143)는 3차원 마우스(140) 또는 적외선 포인터(141)의 동작에 따른 위치 정보를 디스플레이 적응 모듈(142)로부터 전송받아, 그에 따른 위치 변화를 표시한다. Each service module 135 and 137 transmits service data related to display execution and transmits it to a network display device 143 connected to each service module 135 and 137, and displays a network display. The device (Network Display) 143 receives the position information according to the operation of the three-dimensional mouse 140 or the infrared pointer 141 from the display adaptation module 142, and displays the position change accordingly.

만약, 태스크 데이터 처리과정에서, 만약 상호작용 관리자모듈(120)이 영상에 대한 정보를 요구한다면(5), 디스플레이 관리자모듈(123)은 영상 정보를 제공한다(5). 만약 상호작용 관리자모듈(120)이 영상을 이동하는 요청을 하면, 디스플레 이 관리자모듈(123)은 이 요청에 대한 수락 여부를 결정한 다음, 이를 처리한다.In the task data processing, if the interaction manager module 120 requests information about an image (5), the display manager module 123 provides the image information (5). If the interaction manager module 120 makes a request to move the image, the display manager module 123 determines whether to accept the request and then processes it.

이 때, 각 협업 노드는 서로 다른 자원 상황과 태스크 데이터 처리에 따른 서비스 가용성에 제약을 가지므로, 관리자모듈들 간에 서비스 이용권한을 선점하기 위한 경쟁이 유발되어, 안정적인 협업 응용 서비스를 제공하는 데 문제가 발생할 수 있다. 이를 해결하기 위해, 관리자모듈은 운용 방식과 사용자 문맥에 기초하여 서비스 이용에 대한 우선순위를 결정할 수 있다. At this time, since each collaboration node has limitations on service availability due to different resource conditions and task data processing, competition for preempting service usage rights between manager modules is generated, which makes it difficult to provide stable collaboration application services. May occur. To address this, the administrator module can determine priorities for service usage based on the mode of operation and the user context.

보다 상세하게는 서비스 데이터의 인스턴스 개수, 서비스 모듈이 이용 가능한 QoS 파라미터의 수치적 범위를 운용 방식과 사용자 문맥에 따라 차등화 함으로써 서비스 이용 시 발생되는 문제점을 조정할 수 있다. In more detail, the number of instances of the service data and the numerical range of the QoS parameters available to the service module are differentiated according to the operation method and the user context to adjust the problems caused when using the service.

예를 들면, 미디어 공급자 서비스 모듈은 영상 프레임율의 상한선을 가질 수 있고, 미디어 수요자 서비스모듈은 영상의 복호화를 위해 이용가능한 장치의 개수를 정할 수 있으며, 포인팅 서비스모듈은 포인팅 정확도에 상한선을 정할 수 있다. 만약 관리자모듈의 입장에서 태스크 데이터에서 요구하는 기능을 협업 노드가 충분히 제공할 수 없다면, 서비스모듈의 QoS 파라미터를 하향 조정하여 서비스 기능을 제공한다.For example, the media provider service module may have an upper limit of the image frame rate, the media consumer service module may set the number of devices available for decoding the image, and the pointing service module may set an upper limit on the pointing accuracy. have. If the collaborative node cannot provide the functions required by the task data from the perspective of the manager module, the service module is provided by adjusting the QoS parameter of the service module down.

주어진 태스크 데이터를 처리하기 위해서, 관리자 모듈은 워크플로우를 기반으로 서비스 모듈의 합성을 수행한다. 워크플로우는 상호 의존적인 관계를 가지는 서비스모듈들 간에 태스크 데이터 흐름을 어떻게 조정할 것인지 정형화된 방법에 따라 기술한다. 특정한 운용 방식에 의해서 선택된 워크플로우에 따라 서비스모듈간 인터페이스 연결하여 실행하도록 중재하고, 정상적으로 요구된 기능이 수행되는 지 감시한다. To process a given task data, the manager module performs the synthesis of service modules based on the workflow. Workflows describe a formal way of coordinating the task data flow between service modules with interdependent relationships. Intermediate to connect and execute the interface between service modules according to the workflow selected by the specific operation method, and monitor whether the required function is performed normally.

예를 들어, 도 2d에 도시된 바와 같이, 격자형 네트워크 디스플레이(Network Display) 상에 특정 공유 객체를 표현하고자 한다면, 디스플레이 관리자 모듈은 협업 노드에 존재하는 다양한 해상도와 크기를 가진 복수의 디스플레이 서비스를 조합하여, 네트워크 디스플레이 상에서 적절한 위치와 크기를 가진 콘텐츠를 표현한다.For example, as illustrated in FIG. 2D, if a particular shared object is to be represented on a grid network display, the display manager module may be configured to display a plurality of display services having various resolutions and sizes present in the collaboration node. In combination, present content with the appropriate location and size on the network display.

협업 노드의 변화에 대하여, 워크플로우에 대응되는 서비스들의 선택과 파라미터 값의 결정은 자율적인 방식에 따라 설정된다. 이는 현재 시간에 존재하는 이용 가능한 서비스모듈들 중에서 가장 적절한 서비스모듈을 검색한 후 현재 상황에 맞는 파라미터 값을 입력해야 함을 의미한다. Regarding the change of the collaboration node, the selection of the services corresponding to the workflow and the determination of the parameter value are set in an autonomous manner. This means that after searching for the most appropriate service module among the available service modules existing at the present time, the parameter value corresponding to the current situation should be input.

시간에 따른 문맥의 변동성에 대응하기 위해, 워크플로우는 서비스 발견, 설정, 합성, 모니터링을 지원하는 미디에이터 모듈의 API를 통해서 기술된다. 이 방법에서, 만약 워크플로우가 서비스 모듈의 적절한 조건을 기술한다면, 미디에이터 모듈은 주어진 조건을 만족하는 서비스모듈을 발견하여 워크플로우에 대응시켜준다.To respond to context variability over time, workflows are described through the mediator module's APIs that support service discovery, configuration, synthesis, and monitoring. In this way, if the workflow describes the appropriate conditions of the service module, the mediator module finds the service module that satisfies the given condition and maps it to the workflow.

서비스 모듈은 서로 다른 능력과 전용 인터페이스를 가진 협업 응용 모듈들의 다양한 집합을 쉽게 수용해야 한다. 이러한 요구사항을 해결하기 위해, 서비스 모듈은 협업 응용 모듈들의 속성과 사전에 정해진 방식에 따라 이들을 실행하기 위한 인터페이스들을 이해하는 것이 필요하다. Service modules must easily accommodate a diverse set of collaborative application modules with different capabilities and dedicated interfaces. To address these requirements, service modules need to understand the attributes of the collaborative application modules and the interfaces for running them in a predetermined way.

이를 해결하기 위해, 도 2e와 같이 서비스모듈이 제공하는 서비스 데이 터(<service>)는 협업 응용 모듈을 제어하기 위한 협업 응용 모듈의 이름(name), 역할(role), 유형(type), 최대인스턴스넘버(maxInstanceNumber) 또는 설정(cfg)에 대한 명세데이터를 포함할 수 있고, 이와 같은 명세데이터 요소들에 의해 특성화된다. 역할은 서비스 데이터가 콘텐츠를 공급하는 지, 수신하여 활용하는 지, 아니면 두 가지 모두를 처리하는 지 설명하는 요소이다. 유형은 콘텐츠의 형식을 지정하는 요소이다. 최대인스턴스넘버는 최대한 허용 가능한 서비스 인스턴스의 수이다. 설정은 추가적인 정보들, 예를 들면 전송 프로토콜, 커맨트라인 인터페이스, QoS 인자 등 서비스에이전트 모듈을 조작하는 데 필요한 요소들을 포함한다. To solve this problem, the service data (<service>) provided by the service module as shown in FIG. 2E is the name, role, type, maximum of the collaboration application module for controlling the collaboration application module. It may contain specification data for the instance number (maxInstanceNumber) or configuration (cfg) and is characterized by such specification data elements. Roles are factors that describe whether service data supplies content, receives and utilizes it, or handles both. Type is an element that specifies the format of the content. The maximum instance number is the maximum allowable number of service instances. The configuration includes additional information, such as elements required to manipulate the service agent module, such as transport protocol, command line interface, QoS factor.

도 3은 본 발명의 일례에 따른 다자간 협업 시스템 및 그 구성 방법을 설명하기 위한 도이다.3 is a view for explaining the multi-party collaboration system and its configuration method according to an example of the present invention.

도시된 바와 같이, 다자간 협업 시스템은 미디에이터 모듈(300), 관리자 모듈들(400) 및 각각의 관리자 모듈에 의해 제어되는 서비스 모듈들을 포함할 수 있다.As shown, the multilateral collaboration system may include a mediator module 300, manager modules 400, and service modules controlled by each manager module.

미디에이터 모듈(300)은 협업 노드 내에서 사용자가 기본적인 협업 장치들(Devices)을 사용하여 목표로 하는 작업을 수행하기 위한 태스크(Task) 데이터를 제공하고, 협업 노드 내에서 이용 가능한 협업 장치들 및 적어도 하나의 서비스 모듈을 발견/설정/합성하는 역할을 한다. 이와 같은 미디에이터 모듈(300)은 서비스발견부(310), 서비스 설정/실행부(320), 서비스합성부(330)를 포함할 수 있다.The mediator module 300 provides task data for the user to perform a targeted task using basic collaboration devices within the collaboration node, and provides at least collaboration devices available within the collaboration node and at least It finds, configures, and synthesizes one service module. The mediator module 300 may include a service discovery unit 310, a service setting / executing unit 320, and a service synthesis unit 330.

관리자 모듈들(400)은 태스크 데이터에 의해 제어되고, 태스크 데이터를 처 리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 역할을 한다.The manager modules 400 are controlled by task data, and serve to provide service command data in a preset manner for processing task data.

이와 같은 관리자 모듈들(400)은 서비스의 기능에 따라 분류된 미디어(Media) 서비스 범주(410), 네트워킹(Networking) 서비스 범주(420), 디스플레이(Display) 서비스 범주(430), 멀티모달 인터랙션(Multimodal Interaction) 서비스 범주(440) 및 데이터/태스크 공유 및 이동(Data/Task Sharing and Migration) 서비스 범주(450)로 구분되고, 관리자 모듈 각각은 각각의 범주에 상응하는 서비스명령 데이터를 적어도 하나의 서비스모듈로 전송할 수 있다.The manager modules 400 may include media service categories 410, networking service categories 420, display service categories 430, and multimodal interactions classified according to the function of a service. Multimodal Interaction) service categories (440) and Data / Task Sharing and Migration (category) service categories (450), each of the administrator module is a service command data corresponding to each category at least one service Can be sent to the module.

관리자 모듈들(400)은 각 서비스 범주(410 내지 450)에 포함된 각각의 서비스 모듈은 협업 노드의 구성을 보조하기 위한 기본적이고 고유한 기능을 갖고, 사용자가 협업 노드 내에서 목표로 하는 작업을 수행하기 위해서 협업 노드 내의 여러 장치들과 각 장치를 직접 제어하는 협업 응용 모듈(예를 들면, 오디오 또는 비디오 툴)과 같은 자원들에 접근할 수 있다. The manager modules 400 each service module included in each service category 410 to 450 has basic and unique functions for assisting in the configuration of the collaboration node, and the user targets tasks within the collaboration node. To do so, you can access resources such as multiple devices in the collaboration node and collaboration application modules (eg, audio or video tools) that directly control each device.

각 서비스 모듈들은 분산 콤포넌트 기술을 기반으로 개발된다. 그러므로, 각 협업 노드는 기본적으로 네트워크상에서 각 서비스 모듈들의 모든 인스턴스(instance)들에게 접근하여 제어하는 것이 허용된다.Each service module is developed based on distributed component technology. Therefore, each collaboration node is basically allowed to access and control all instances of each service module on the network.

관리자 모듈들(400)의 각 서비스 모듈은 서비스 능력(service capability)이라 불리는 각 서비스 모듈의 속성을 기술하기 위한 정보를 포함한다. Each service module of the manager modules 400 includes information for describing an attribute of each service module called a service capability.

서비스 능력은 역할(role), 유형(type) 및 인터페이스(interf협업) 속성으로 구성된다. 역할 속성은 주어진 서비스 모듈에 대하여 서비스 기능의 제공, 수용 및 조정에 따라 공급자(producer), 수용자(consumer), 조정자(coodinator)로 분류된 다. Service capabilities consist of role, type and interface attributes. Role attributes are classified into producers, consumers and coordinators according to the provision, acceptance and coordination of service functions for a given service module.

유형 속성은 서비스 모듈에 대한 기능적 분류(예를 들면, 비디오, 디스플레이, 네트워킹, 인터랙션, 공유, 이동)를 나타낸다. 그리고, 인터페이스 속성은 서비스 모듈에 접근하기 위한 호출 방법을 나타낸다.The type attribute represents a functional classification (eg, video, display, networking, interaction, sharing, mobility) for the service module. The interface property represents a calling method for accessing a service module.

서비스 모듈은 서비스명령 데이터에 의해 제어되고, 협업 장치들을 제어하기 위한 서비스 데이터를 제공하는 역할을 한다.The service module is controlled by the service command data and serves to provide service data for controlling the cooperative devices.

미디어 서비스 범주(410)는 미디어 공급 서비스(Media Producer Service) 모듈(411), 미디어 수용 서비스(Media Consumer Service) 모듈(413) 및 미디어 조정 서비스(Media Arbitration Service) 모듈(415)로 각각의 서비스 모듈이 해당 기능을 수행하기 위한 서비스명령 데이터를 전송함으로써, 각 서비스 모듈의 실행/종료를 제어하는 것이다.The media service category 410 is a Media Producer Service module 411, a Media Consumer Service module 413, and a Media Arbitration Service module 415, each of which is a service module. By transmitting the service command data for performing the corresponding function, the execution / end of each service module is controlled.

보다 자세히 설명하면, 미디어 공급 서비스 모듈(411)은 협업 노드의 전경 및 배경 영상을 획득한 후, 다른 협업 노드들에게 전달한다. 이를 위해 미디어 공급 서비스모듈은 미디어 에이전트 모듈의 관리 및 운용을 통해서 사용자에 의해 의도된 영상 코덱, 영상 크기 및 전송률 등과 같은 영상품질의 선택 요소들을 반영하도록 다양한 영상 장치 및 어플리케이션을 설정 및/또는 실행하여 영상을 획득한다.In more detail, the media supply service module 411 obtains the foreground and background images of the collaboration node, and delivers the foreground and background images to other collaboration nodes. To this end, the media supply service module configures and / or executes various video devices and applications to reflect selection factors of video quality such as video codec, video size and transmission rate intended by the user through management and operation of the media agent module. Acquire an image.

또한, 미디어 공급 서비스 모듈(411)은 실시간으로 획득한 협업 공간의 전경 및/또는 배경 영상을 이미 설정된 전송 프로토콜과 멀티캐스트 주소를 통해 협업 세션에 참가한 협업 노드들의 미디어 수용자에게 스트림 형태로 전달한다. 여기서 전송 프로토콜과 멀티캐스트 주소는 미디어 조정 서비스 모듈(415) 또는 사용자의 수동 구성을 통해 설정될 수 있다.In addition, the media supply service module 411 delivers the foreground and / or background image of the collaboration space obtained in real time to the media receivers of the collaboration nodes participating in the collaboration session in the form of a stream through a transmission protocol and a multicast address. Here, the transport protocol and the multicast address may be set through manual configuration of the media coordination service module 415 or the user.

미디어 수용 서비스모듈(413)은 다른 협업 노드들로부터 협업 영상을 제공받고 제공 받은 영상을 표시한다.The media receiving service module 413 receives a collaboration image from other collaboration nodes and displays the received image.

이를 위해 미디어 수용 서비스모듈(413)은 미디어 조정 서비스모듈(415) 또는 사용자의 수동 설정을 통해 상호 합의된 전송 프로토콜 및 멀티캐스트 주소를 통해 미디어 공급자가 제공한 영상을 수신한다. To this end, the media receiving service module 413 receives an image provided by the media provider through a mutually agreed transport protocol and a multicast address through the media adjustment service module 415 or a user's manual setting.

그리고 미디어 수용 서비스모듈(413)은 영상 코덱 및/또는 어플리케이션을 이용하여 수신된 영상을 복호화하여 RGB(Red, Green, Blue) 형태의 데이터로 변환한다. 복호화된 영상은 공유되지 않은 로컬 장치에서 재생되거나 네트워크 지원 디스플레이 장치에 제공된다.The media receiving service module 413 decodes the received image using an image codec and / or an application and converts the received image into RGB (Red, Green, Blue) type data. The decoded video is played on a local device that is not shared or provided to a network supported display device.

미디어 조정 서비스모듈(415)은 실시간 미디어 서비스의 경험 품질(QoE: Quality of Experience)의 향상을 위한 문제해결(trouble shooting)의 역할을 수행한다. The media coordination service module 415 plays a role of trouble shooting for improving the quality of experience (QoE) of the real-time media service.

이를 위해 미디어 조정 서비스모듈(415)은 자신이 소속된 협업 노드의 미디어 공급자에게 영상 전달을 위한 멀티캐스트 주소를 할당한 후 미디어 공급자의 속성(예를 들면 영상 코덱 및 어플리케이션)을 다른 협업 노드들의 미디어 조정 서비스모듈(415)에게 제공한다. 또한, 미디어 수용자측의 사용자가 원하는 미디어 공급자를 선택하여 미디어 수용자와 연결시킴으로써 미디어 수용자가 선택적인 영상을 제공받을 수 있도록 유도한다.To this end, the media coordination service module 415 assigns a multicast address for video delivery to a media provider of a collaborative node to which the media coordination node belongs, and then assigns the media provider's properties (eg, video codec and application) to the media of other collaboration nodes. To the coordination service module 415. In addition, the user of the media receiver selects a desired media provider and connects with the media receiver to induce the media receiver to receive a selective image.

또한, 미디어 조정 서비스모듈(415)은 미디어 공급자와 미디어 수용자 사이에 서비스 능력차이로 인해 비정상적인 영상 전달이 이루어지는 경우에 미디어 공급자와 미디어 수용자 사이의 서비스 능력 차이를 파악한 후 이를 극복하기 위한 적절한 대책을 제공함으로써 연속적인 미디어 전달이 이루어질 수 있도록 한다. In addition, the media coordination service module 415 identifies appropriate service capability differences between the media provider and the media receiver in case of abnormal video delivery due to a difference in service capability between the media provider and the media receiver, and then provides appropriate measures to overcome them. This enables continuous media delivery.

예를 들어 미디어 조정 서비스모듈(415)은 미디어 공급자와 미디어 수용자간에 서비스 능력 차이가 있는 경우에는 트랜스코더와 같은 부가 서비스를 제공함으로써 서비스 능력 차이를 극복한다.For example, the media coordination service module 415 overcomes the service capability difference by providing an additional service such as a transcoder when there is a service capability difference between the media provider and the media receiver.

그리고, 미디어 조정 서비스모듈(415)은 가변적인 네트워크 및 시스템 성능에 대처하기 위해 네트워크 및 시스템 성능에 의존적인 종단간 미디어 품질을 분석하고 분석된 결과에 기초하여 어플리케이션 수준의 영상 품질 제어용 파라미터와 같은 적절한 적응형 전송 정책을 미디어 공급자와 미디어 수용자에게 제시함으로써 네트워크 및 시스템 성능에 적합한 적응형 미디어가 전달될 수 있도록 한다.In addition, the media coordination service module 415 analyzes end-to-end media quality dependent on network and system performance to cope with variable network and system performance, and based on the analyzed result, appropriate media such as application level control parameters. By presenting adaptive delivery policies to media providers and media audiences, adaptive media suitable for network and system performance can be delivered.

네트워킹 서비스 범주(420)는 멀티캐스트 연결 서비스모듈(Network Connector Service)(421), NAT/방화벽 횡단 서비스모듈(NAT/Firewall Traversal Service)(423) 및 네트워크 모니터 서비스모듈(Network Monitoring Service)(425)을 제어한다.The networking service category 420 includes a Multicast Connection Service Module 421, a NAT / Firewall Traversal Service 423, and a Network Monitoring Service Module 425. To control.

멀티캐스트 연결 서비스모듈(421)은 멀티캐스트 연결성을 갖지 않는 협업 노드들 상호간의 멀티캐스트 연결성을 제공한다.The multicast connection service module 421 provides multicast connectivity between collaboration nodes having no multicast connectivity.

즉, 멀티캐스트 연결 서비스모듈(421)은 멀티캐스트를 부분적으로 지원(hybrid multicast)하는 네트워크상에 존재하는 멀티캐스트 네트워킹 기반을 둔 협업 노드들 간의 통신과정에서 응용 계층에서의 멀티캐스트 터널링 프로토콜, 멀티캐스트 루프 해결 기법 및/또는 부분적인 멀티캐스트를 지원하는 서버의 정보 설정 등을 통하여 별도의 미디어 전송 프로그램의 수정이나 복잡한 네트워크의 설정 없이 투명하고 효율적인 멀티캐스트 연결성을 제공한다.That is, the multicast connection service module 421 is a multicast tunneling protocol, multicast in the application layer in the process of communication between the multicast networking-based collaboration nodes existing on the multicast partially supported network (hybrid multicast) network Through the use of cast loop resolution techniques and / or setting up information on servers that support partial multicast, transparent and efficient multicast connectivity can be provided without modifying separate media transmission programs or setting up complex networks.

NAT(Network Address Translation)/방화벽 횡단 서비스모듈(423)은 NAT 및/또는 방화벽 기반의 사설 네트워크에 연결된 협업 노드들 간에 멀티캐스트 연결성을 제공한다. The network address translation (NAT) / firewall crossing service module 423 provides multicast connectivity between collaboration nodes connected to a NAT and / or firewall-based private network.

즉, NAT/방화벽 횡단 서비스모듈(423)은 NAT 및/또는 방화벽 장치에 변화를 주거나 관리자에 의한 NAT 및/또는 방화벽 장치의 설정을 바꾸지 않고 사설 네트워크에 연결된 협업 노드에게 투명한 멀티캐스트 연결성을 제공한다.That is, the NAT / Firewall Cross Service Module 423 provides transparent multicast connectivity to collaborative nodes connected to a private network without changing NAT and / or firewall devices or changing the settings of NAT and / or firewall devices by an administrator. .

이를 위해, NAT/방화벽 횡단 서비스모듈(423) NAT과 방화벽 장치를 통과시 내부 네트워크에서 외부 네트워크로의 연결 요청이 선행되어야 한다는 점을 이용하여 네트워크 연결 설정시에 내부 네트워크에서 외부 네트워크에 연결 요청을 선행하고, 이때 설정된 정보를 이용하여 외부 네트워크에서 다시 내부 네트워크로 연결 요청을 하여 인터랙티브 멀티캐스트 연결성을 제공한다.To do this, a connection request from the internal network to the external network is established at the time of network connection establishment by using the NAT / firewall traversing service module 423 that the connection request from the internal network to the external network must be preceded when passing through the NAT and the firewall device. Prior to this, the request for connection from the external network back to the internal network using the set information provides interactive multicast connectivity.

네트워크 모니터 서비스모듈(425)은 멀티캐스트를 기반으로 통신하는 협업 노드들 사이에 멀티캐스트 연결성 및 네트워킹 성능 감시한다. The network monitor service module 425 monitors multicast connectivity and networking performance between the collaborative nodes communicating on the basis of multicast.

즉, 네트워크 모니터 서비스모듈(425)은 네트워크 모니터링의 실행 여부 설정 및 네트워크 모니터링 서버 정보 설정을 통해 각 협업 노드들이 공유하고 있는 멀티캐스트 주소로 자신의 존재를 알리는 탐침 패킷(Probe Packet)을 주기적으로 전송하여 탐침 패킷이 제공하는 협업 노드의 정보, 패킷의 일련번호 및/또는 시간정보를 기반으로 각 협업 노드간의 멀티캐스트 성능을 파악한다.That is, the network monitor service module 425 periodically transmits a probe packet informing its existence to a multicast address shared by each collaboration node through setting whether to execute network monitoring and setting network monitoring server information. Therefore, based on the information of the collaboration node provided by the probe packet, the packet serial number and / or time information, the multicast performance between each collaboration node is identified.

각 협업 노드간 멀티캐스트 성능은 중앙 서버에 수집되고 중앙 서버가 협업 세션에 참가중인 각 협업 노드들에 대한 멀티캐스트 연결성 및 네트워킹 성능 정보를 종합적으로 제공하며 제공된 정보는 멀티캐스트 성능 분석을 위한 주요 지표로 활용된다. 네트워크 모니터 서비스모듈(425)은 중앙 서버로부터 제공된 각 협업 노드들에 대한 멀티캐스트 연결성 및 네트워킹 성능 정보를 이용하여 멀티캐스트 성능을 분석한다.Multicast performance between each collaboration node is collected on a central server and provides a comprehensive view of multicast connectivity and networking performance information for each collaboration node in which the central server is participating in a collaboration session, and the information provided is a key indicator for multicast performance analysis. Is utilized. The network monitor service module 425 analyzes the multicast performance by using the multicast connectivity and networking capability information for each of the collaboration nodes provided from the central server.

디스플레이 서비스 범주(430)는 인터랙티브 디스플레이 제어 서비스모듈(Interactive Display Control Service)(431), 가시화 서비스모듈(Visualization Service)(433) 및 네트워크 디스플레이 서비스모듈(Networked Display Service)(435)을 제어한다.The display service category 430 controls the interactive display control service module 431, the visualization service module 433, and the networked display service module 435.

인터랙티브 디스플레이 제어 서비스모듈(431)은 사용자 또는 인터랙티브 서비스모듈들(interaction services)로부터 디스플레이 제어 명령을 제공받고 네트워크 디스플레이(networked display)들을 통합적으로 운용하기 위한 제어 서비스를 제공한다. 여기서 네트워크 디스플레이는 네트워크 인터페이스 장치가 설치된 디스플레이 장치 또는 네트워크 인터페이스 장치를 통해 디스플레이 및 디스플레이 제어 데이터를 수신하여 이를 표시할 수 있는 디스플레이 장치를 말한다.The interactive display control service module 431 receives a display control command from a user or interactive services modules and provides a control service for integrally operating networked displays. Here, the network display refers to a display device capable of receiving and displaying display and display control data through a display device or a network interface device on which a network interface device is installed.

이를 위해, 인터랙티브 디스플레이 제어 서비스모듈(431)은 사용자가 그래픽 유저 인터페이스(GUI: Graphic User Interf협업) 또는 인터랙티브 서비스를 통해 네트워크 디스플레이 제어 명령을 발생하기 위한 메시징 방법을 제공한다. 여기서 네트워크 디스플레이 제어 명령은 예를 들어 영상의 시작, 종료, 이동 및 크기 조절을 위한 제어 명령을 포함한다.To this end, the interactive display control service module 431 provides a messaging method for a user to generate a network display control command through a Graphic User Interface (GUI) or an interactive service. Here, the network display control command includes a control command for starting, ending, moving, and resizing an image, for example.

또한, 인터랙티브 디스플레이 제어 서비스모듈(431)은 사용자에 의해 선택된 가시화 데이터 즉, 영상, 이미지 및 그래픽스 등을 네트워크 디스플레이에서 표시하기 위해 미디어 수용 서비스 및/또는 가시화 서비스를 통해 가시화 데이터를 디코딩 및/또는 렌더링한 뒤 네트워크 디스플레이 서비스와 연결시켜주는 중계역할을 수행한다.In addition, the interactive display control service module 431 decodes and / or renders the visualization data through a media accommodation service and / or a visualization service to display visualization data selected by a user, that is, an image, an image, graphics, and the like, on a network display. It then plays a role of relay that connects with network display service.

가시화 서비스모듈(433)은 다양한 포맷의 이미지/그래픽스 파일을 RGB 형태로 변환하는 기능을 수행한다.The visualization service module 433 performs a function of converting image / graphics files of various formats into RGB format.

이를 위해 가시화 서비스모듈(433)은 다양한 포맷으로 압축된 이미지를 이미지 라이브러리(library)를 이용하여 RGB 형태의 데이터로 변환하는 렌더링 기능을 수행한다. 또한, 가시화 서비스모듈(433)는 각 네트워크 디스플레이 장치의 전송프로토콜 및 IP(Internet Protocol) 주소를 설정하고 각 네트워크 디스플레이 장치의 해상도와 위치를 고려하여 해당 영역에 맞게 이미지/그래픽스의 데이터를 분할한 후, TCP(Transmission Control Protocol) 또는 UDP(User Datagram Protocol)를 이용하여 분할된 데이터와 이에 해당하는 데이터 크기, 출력 위치 및 비율 정보를 통합하여 네트워크 디스플레이 장치에 전송한다.To this end, the visualization service module 433 performs a rendering function of converting an image compressed in various formats into RGB data using an image library. In addition, the visualization service module 433 sets the transmission protocol and the IP (Internet Protocol) address of each network display device, and divides the image / graphics data according to the corresponding area in consideration of the resolution and location of each network display device. By using the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP), the divided data and the corresponding data size, output location, and ratio information are integrated and transmitted to the network display device.

네트워크 디스플레이 서비스모듈(435)은 RGB 형태의 이미지/그래픽스 데이터를 입력 받고 각 네트워크 디스플레이 장치에서 지정된 위치와 크기로 표현한다.The network display service module 435 receives the image / graphics data in the RGB format and expresses the image and graphics data in the designated position and size in each network display device.

이를 위해, 네트워크 디스플레이 서비스모듈(435)은 해상도, 형태 및 위치가 서로 다른 네트워크 디스플레이 장치가 하나의 디스플레이 장치처럼 유기적으로 동작하기 위한 동기화 기법을 제공하고, 각 네트워크 디스플레이 장치의 상태 정보를 관리하며 사용자의 의도에 따라 RGB 데이터를 표현하기 위해 각 네트워크 디스플레이 장치를 통합하여 제어한다. To this end, the network display service module 435 provides a synchronization scheme for network display devices having different resolutions, shapes, and positions to be organically operated like a single display device, manages status information of each network display device, and provides a user with In order to express RGB data, each network display device is integrated and controlled.

또한, 네트워크 디스플레이 서비스모듈(435)은 네트워크를 통해 전달받은 RGB 데이터와 각종 디스플레이 정보(예를 들면 디스플레이 크기 및 위치)를 이용하여, OpenGL 기반의 디스플레이 상에서 표현함으로써 RGB 데이터를 네트워크 디스플레이 장치에 표현한다.In addition, the network display service module 435 expresses the RGB data to the network display device by using the RGB data received through the network and various display information (for example, display size and position) on the OpenGL-based display. .

멀티모달 인터랙션 서비스 범주(440)는 포인팅 서비스모듈(Pointing Service)(441), 핸드 모션 트래킹 서비스모듈(Hand Motion Tracking Service)(443) 및 위치 추적 서비스모듈(Location Tracking Service)(445)을 제어한다.The multi-modal interaction service category 440 controls the pointing service module 441, the hand motion tracking service module 443, and the location tracking service module 445. .

포인팅 서비스모듈(441)은 레이저 포인팅 장치를 이용하여 협업 노드 내에서 특정 위치를 가리키거나 제스처를 행할 수 있도록 하는 기능을 수행한다. 이를 위해 포인팅 서비스모듈(441)은 포인팅을 위한 레이저 장치와 레이저 포인트를 구별하기 위한 카메라 필터, 포인팅 위치를 추적하기 위한 카메라를 이용하여 포인팅 이미지를 획득하고, 획득한 포인팅 이미지를 컴퓨터 비전 기술(예를 들면, 카메라 간의 캘리브레이션(calibration)과 카메라 렌즈 언디스토션(undistortion))을 이용하여 정확한 포인팅 좌표를 계산함으로써 포인팅 위치를 추적한다.The pointing service module 441 performs a function of enabling a user to point or gesture to a specific location within a collaboration node by using a laser pointing device. To this end, the pointing service module 441 acquires a pointing image using a laser device for pointing, a camera filter for distinguishing a laser point, and a camera for tracking a pointing position, and uses the computer vision technology (eg For example, the pointing position is tracked by calculating the exact pointing coordinates using the calibration between the cameras and the camera lens undistortion.

또한, 포인팅 서비스모듈(441)은 실시간으로 추적된 포인팅 위치정보를 분석 하여 사용자에 의해 의도된 제스처를 인식한다.In addition, the pointing service module 441 analyzes the pointing location information tracked in real time and recognizes a gesture intended by the user.

핸드 모션 트래킹 서비스모듈(443)은 손동작의 트래킹을 이용하여 3D CAD(Computer Aided Design) 모델의 제어 및 공유를 지원한다.The hand motion tracking service module 443 supports the control and sharing of a 3D CAD model using hand gesture tracking.

즉, 핸드 모션 트래킹 서비스모듈(443)은 손동작을 트래킹할 수 있는 장치를 이용하여 손의 관절 데이터를 실시간으로 수집하여 손의 기구학적인 모습을 구성한다. 그리고, 디스플레이 상에서 3D CAD 모델을 실시간으로 관찰하고 손동작을 해석하여 현재의 위치 및 손의 상태를 추적하여 3D CAD 모델과 상호작용하도록 함으로써 3D CAD 모델의 위치를 제어한다.That is, the hand motion tracking service module 443 collects the joint data of the hand in real time by using a device capable of tracking the hand motion to configure the kinematic appearance of the hand. In addition, the position of the 3D CAD model is controlled by observing the 3D CAD model on a display in real time and interpreting hand gestures to track the current position and the state of the hand to interact with the 3D CAD model.

위치 추적 서비스모듈(445)은 협업 노드 내부에서의 특정 목표물에 대한 위치를 추적할 수 있는 기능을 제공한다. 즉, 위치 추적 서비스모듈(445)은 동적 사용자 상황정보 인식 및 분석을 위해 위치 센서 기반 사용자 위치 계산 기술을 활용하여 위치추적이 요구되는 목표물에 대해 협업 노드 내부에서의 3D 위치좌표를 추정한다. 그리고, 위치 추정 정확도의 향상을 위하여 기존 RF(Radio Frequency)기반의 위치 인식 방법에 초음파(ultrasonic) 등의 추가 감지 기법 활용하여 위치 0.5m 이내의 추정오차를 가지는 정확도를 제공한다.The location tracking service module 445 provides a function for tracking the location of a specific target in the collaboration node. That is, the location tracking service module 445 estimates the 3D location coordinates inside the collaboration node with respect to the target for which location tracking is required by using location sensor-based user location calculation technology for dynamic user context information recognition and analysis. In addition, in order to improve the position estimation accuracy, an additional sensing technique such as an ultrasonic (ultrasonic) is used in the existing RF (Radio Frequency) based position recognition method to provide an accuracy having an estimation error within a position of 0.5m.

데이터/태스크 공유 및 이동 서비스 범주(450)는 데이터 공유 서비스모듈(Data Sharing Service)(451), 데이터 적응 서비스모듈(Data Adaption Service)(453) 및 원격 사용자 인터페이스 서비스모듈(Remote User Interf협업 Service)(455)을 제어한다.The data / task sharing and movement service category 450 includes a data sharing service module 451, a data adaptation service module 453, and a remote user interface service module. Control 455.

데이터 공유 서비스모듈(451)은 개별 협업 노드에서 보유한 데이터를 협업 세션에 참가한 모든 협업 노드들에서 전체적으로 공유하기 위한 분산 공유데이터 저장소를 지원한다.The data sharing service module 451 supports distributed shared data storage for sharing data held by individual collaboration nodes in all collaboration nodes participating in a collaboration session.

즉, 데이터 공유 서비스모듈(451)은 협업 세션에 참가한 다른 사용자들의 접근이 허용된 임의의 데이터 파일을 저장할 수 있는 분산형 공유데이터 저장소를 제공하고, 공유 데이터의 업로드(upload), 다운로드(download) 및 검색(retrival) 정보를 설정한다. 공유데이터 저장소에서는 공유데이터 파일과 함께 파일의 소유권에 관한 지식, 파일 접근 권한 및 통제 기능을 제공한다.That is, the data sharing service module 451 provides a distributed shared data storage that can store any data file to which other users participating in the collaboration session are allowed to access, and upload and download shared data. And retrieve information. Shared data repositories, along with shared data files, provide knowledge about file ownership, file access rights, and controls.

데이터 적응 서비스모듈(453)은 각 협업 노드들의 성능을 고려한 적응형 공유 데이터 및/또는 어플리케이션 뷰(view)의 전달을 위한 가공 기술 제공한다. 즉, 데이터 적응 서비스모듈(453)은 각 협업 노드별로 네트워크, 시스템 성능 및/또는 사용자의 선호도 등의 각 협업 노드의 고유한 특징을 파악한 후 공유 데이터의 뷰를 해당 노드에서 수용 가능하도록 가공(예를들면 트랜스코딩)한 후 사용자에게 제공한다.The data adaptation service module 453 provides a processing technique for delivering adaptive shared data and / or application views in consideration of the performance of each collaboration node. That is, the data adaptation service module 453 identifies the unique characteristics of each collaboration node such as network, system performance, and / or user preference for each collaboration node, and then processes the view of the shared data to be accommodated in the corresponding node (eg, For example, transcoding is provided to the user.

원격 사용자 인터페이스 서비스모듈(455)은 원격 협업 노드의 데이터 및/또는 어플리케이션을 공유하고 제어하기 위한 사용자 인터페이스 지원한다. 즉, 원격 사용자 인터페이스 서비스모듈(455)은 어플리케이션이 동작하는 화면을 실시간으로 획득하여 이를 원격 사용자에게 전달하고 키보드 및 마우스 등 입력장치의 제어권을 함께 전달함으로써 해당 어플리케이션을 실시간으로 공유하면서 조작할 수 있는 원격 인터페이스 기능을 제공한다.The remote user interface service module 455 supports a user interface for sharing and controlling data and / or applications of the remote collaboration node. That is, the remote user interface service module 455 obtains a screen in which an application operates in real time, delivers it to a remote user, and transfers the control right of an input device such as a keyboard and a mouse together so that the corresponding application can be operated in real time. Provide remote interface function.

전술한 바와 같이, 도 3에서는 각각의 관리자모듈 및 그 기능에 따른 각각의 서비스 모듈에 대해 횡적 구조를 살펴보았지만, 도 4에서는 미디에이터 모듈, 관리자 모듈, 서비스 모듈의 기능에 따른 종적 구조를 살펴본다.As described above, FIG. 3 illustrates a horizontal structure of each manager module and each service module according to its function, but FIG. 4 looks at a vertical structure according to the functions of the mediator module, the manager module, and the service module.

도 4는 본 발명의 일례에 따른 다자간 협업 시스템 및 그 구성 방법에서 에이전트 기반의 관리 툴킷 구조를 설명하기 위한 도이다. 4 is a diagram illustrating an agent-based management toolkit structure in a multilateral collaboration system and a method of configuring the same according to an embodiment of the present invention.

도시된 바와 같이, 에이전트 기반의 관리 툴킷 구조는 미디에이터 모듈(300), 관리자 모듈(400), 서비스 모듈을 포함한다.As shown, the agent-based management toolkit structure includes a mediator module 300, an administrator module 400, and a service module.

다자간 협업 시스템의 각 노드 내의 협업 장치들은 각각의 디바이스 에이전트 모듈을 포함하고, 각각의 디바이스 에이전트 모듈은 각각의 디바이스 에이전트 상에서 동작하는 서비스에이전트 모듈을 포함한다. The collaboration devices in each node of the multiparty collaboration system include a respective device agent module, and each device agent module includes a service agent module that operates on each device agent.

또한, 미디에이터 모듈(300)은 서비스발견부(310)(Service Discoverer), 서비스 설정/실행부(320)(Service Configurator), 서비스합성부(330)(Service Composer), 노드 GUI(Node Graphical User Interface)부(340), 스페이스 GUI(Space Graphical User Interface)부(350) 및 협업 상황 저장부(Space Repository)(360)를 포함할 수 있다.In addition, the mediator module 300 includes a service discovery unit 310 (Service Discoverer), a service setting / executing unit 320 (Service Configurator), a service synthesis unit 330 (Service Composer), and a node GUI (Node Graphical User Interface). A unit 340, a space GUI (Space Graphical User Interface) unit 350, and a collaboration situation storage unit (Space Repository) 360 may be included.

미디에이터 모듈(300)은 협업 노드 내에서 이용 가능한 협업 장치들 및 서비스 모듈을 발견/설정/합성하여 시스템을 설정/실행한다. 또한 협업 노드를 대표하여 협업 환경에 참여하고 있는 다른 협업 노드들과 서비스를 합성하는 기능을 한다.The mediator module 300 discovers / configures / synthesizes the collaboration devices and the service module available in the collaboration node to set up / execute the system. In addition, it represents a collaboration node and functions to synthesize services and other collaboration nodes participating in the collaboration environment.

이와 같은 미디에이터 모듈(300)은 협업 노드 내에서 이용 가능한 모든 서비 스모듈들의 구성 정보를 가지고 있고, 사용자가 사용 가능한 서비스모듈의 상태를 확인하고, 협업 노드 내에서 협업 장치를 통해 목표로 하는 작업을 수행하기위해 서비스모듈들에게 특정 기능을 요구하는 경우, 각각의 서비스모듈들은 미디에이터 모듈(300)의 도움을 받아서 특정 기능을 처리할 수 있다. The mediator module 300 has configuration information of all service modules available in the collaboration node, checks the status of service modules available to the user, and targets tasks through the collaboration device in the collaboration node. When the service modules require a specific function to perform, each service module may process a specific function with the help of the mediator module 300.

이와 같은 미디에이터 모듈(300)의 구성 요소를 보다 자세히 살펴보면 다음과 같다.Looking at the components of such a mediator module 300 in more detail as follows.

서비스발견부(310)는 협업 노드 내에서 이용 가능한 협업 장치들 및 각각의 장치 내에서 관리자 모듈(400)과 상호 인터페이스가 가능한 서비스 모듈을 검색하여 이용 가능한 서비스 모듈을 발견하고, 서비스 모듈의 상태 데이터를 저장하는 협업 상황 저장부(360)에 저장하는 기능을 한다. The service discovery unit 310 searches for the collaboration modules available in the collaboration node and the service modules that can interface with the manager module 400 in each device, and discovers the available service modules, and the status data of the service module. Function to store in the collaboration situation storage unit 360 for storing the.

또한, 서비스발견부(310)는 협업 장치들을 검색하기 위해 협업 장치들 내에 탑재된 디바이스 에이전트(Device agent) 모듈을 검색하고, 검색된 디바이스 에이전트 모듈을 통해 협업 장치를 노드 GUI(340)에 표시하는 기능을 한다.In addition, the service discovery unit 310 searches for a device agent module mounted in the collaboration devices to search for the collaboration devices, and displays the collaboration device in the node GUI 340 through the searched device agent module. Do it.

서비스 설정/실행부(320)는 검색된 서비스 모듈의 실행/종료가 가능하도록 관리자 모듈(400) 및 서비스 모듈을 설정하고, 태스크 데이터를 관리자 모듈(400)로 전송하는 역할을 한다.The service setting / executing unit 320 sets the manager module 400 and the service module to execute / end the searched service module and transmits task data to the manager module 400.

또한, 서비스 설정/실행부(320)는 사용자의 선택에 따라 노드 GUI(340)에 표시된 검색된 협업 장치에 대해서 이용가능한 서비스 모듈 또는 관리자 모듈(400)을 추가/삭제하거나, 노드 GUI부(340)에서 표시된 협업 장치들 및 협업 장치 내에서 이용 가능한 서비스 모듈이 사용자에 의해 선택되면 서비스 모듈의 실행/종료가 가 능하도록 관리자 모듈(400) 및 서비스 모듈을 자동으로 설정하고, 서비스 모듈의 실행/종료를 위해 태스크 데이터를 관리자 모듈(400)로 전송하는 기능을 한다.In addition, the service setting / executing unit 320 may add / delete a service module or an administrator module 400 available for the searched collaboration device displayed on the node GUI 340 according to a user's selection, or the node GUI unit 340. When the collaboration devices indicated by the user and the service module available within the collaboration device are selected by the user, the manager module 400 and the service module are automatically set to enable the execution / end of the service module, and the execution / end of the service module is performed. For transmitting the task data to the manager module 400.

서비스합성부(330)는 주어진 작업을 수행하기위해서, 스페이스 GUI(350)에 태스크 데이터를 처리할 관리자 모듈(400)이 있는지를 다른 협업 노드들의 미디에이터 모듈(300)에게 질의하고, 그 결과에 따라 관리자 모듈(400)간의 연결관계를 구성하기 위하여 관리자 모듈(400) 간의 상호 인터페이스 바인딩을 통해 관리자 모듈(400)을 합성하는 역할을 한다.In order to perform a given task, the service synthesis unit 330 queries the mediator module 300 of other collaboration nodes whether there is an administrator module 400 to process task data in the space GUI 350 and according to the result. In order to form a connection relationship between the manager modules 400, the manager module 400 plays a role of synthesizing the manager module 400 through the mutual interface binding between the manager modules 400.

보다 자세하게는, 서비스 합성부(330)는 스페이스 GUI(350)에 표시된 태스크 데이터 중 어느 하나가 사용자에 의해 선택되면 태스크 데이를 처리하기 위한 적어도 하나의 관리자 모듈(400)을 자동으로 선택/합성하는 기능을 한다.More specifically, the service synthesizing unit 330 automatically selects / synthesizes at least one manager module 400 for processing task days when any one of task data displayed in the space GUI 350 is selected by the user. Function

여기서, 자동으로 선택/합성된 관리자 모듈(400)은 태스크 데이터를 처리하기위해 합성될 적어도 하나의 서비스 모듈을 검색/설정하고, 미디에이터 모듈(300)부터 전송되는 태스크 데이터에 따라 미리 설정된 방식으로 서비스명령 데이터를 검색/설정된 서비스 모듈로 전송하는 역할을 한다.Here, the automatically selected / synthesized manager module 400 searches / sets at least one service module to be synthesized to process task data, and services in a preset manner according to the task data transmitted from the mediator module 300. It sends the command data to the searched / configured service module.

노드 GUI(Graphical User Interface)부는 서비스발견부(310)에 의해 검색된 협업 장치들 및 협업 장치들을 내에 이용 가능한 서비스 모듈과 서비스 모듈을 제어하는 관리자 모듈(400)의 목록을 표시하고, 서비스 모듈의 운용(설정, 시작, 종료)과 관련된 기본 기능을 제공한다.The node graphical user interface (GUI) unit displays a list of the cooperative devices retrieved by the service discovery unit 310 and the service module available in the cooperative devices and the manager module 400 controlling the service module, and operating the service module. It provides basic functions related to (setting, starting, ending).

스페이스 GUI(Graphical User Interface)부는 서비스설정/실행부(320)에서 설정된 관리자 모듈(400) 및 서비스 모듈을 통해 이용 가능한 태스크 데이터를 표 시하여 사용자가 원하는 작업을 하기 위한 인터페이스 기능을 제공하고, 실제 작업이 실행되었을 때 사용자가 공유 객체에 대한 세부적인 조작을 할 수 있도록 하는 기능을 제공한다.The space GUI (Graphical User Interface) unit displays the task data available through the manager module 400 and the service module set in the service setting / executing unit 320 to provide an interface function for a user to perform a desired task, and the actual work. When executed, it provides the ability for the user to manipulate the shared objects in detail.

협업 상황 저장부(360)는 미팅 노드의 공간 상태를 저장하는 기능을 하고, 보다 자세하게는 협업 환경에서 상태 데이터(서비스 능력, 서비스 상태, 사용자 기호와 같은 상황 정보 등)를 서비스 모듈들로부터 수집하여 저장하는 기능을 한다. The collaboration situation storage unit 360 stores a spatial state of a meeting node, and more specifically, collects state data (service capability, service status, contextual information such as user preferences, etc.) from service modules in a collaboration environment. Function to save.

관리자 모듈(400)은 미디에이터 모듈(300)로부터 공급되는 테스크 데이터에 의해 제어되고, 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하고, 서비스 모듈은 서비스명령 데이터에 의해 제어되고, 협업 장치들을 실행하기 위한 서비스 데이터를 제공한다. The manager module 400 is controlled by the task data supplied from the mediator module 300, provides the service command data in a preset manner to process the task data, the service module is controlled by the service command data, Provides service data for running collaborative devices.

여기서, 서비스 모듈은 서비스에이전트 모듈을 포함하는데, 서비스에이전트 모듈은 서비스 모듈로부터 서비스 데이터를 전송받고, 협업 장치들을 직접 제어하는 협업 응용 모듈이 서비스 데이터에 의해 제어되도록 하여 협업 장치가 실행/종료 되도록 제어한다.Here, the service module includes a service agent module. The service agent module receives the service data from the service module and controls the collaboration device to be executed / ended by allowing the collaboration application module that directly controls the collaboration devices to be controlled by the service data. do.

보다 자세하게는, 적어도 하나의 서비스 모듈이 협업 장치의 디바이스 에이전트 모듈 상에서 동작하는 서비스에이전트 모듈로 서비스 데이터를 전송하면, 서비스 에이전트 모듈이 서비스 데이터에 따라 미리 설정된 API를 협업 응용 모듈로 전송한다. 이후, 협업 응용 모듈이 협업 장치들의 실행/종료를 직접 제어하게 된다. 이와 같이 됨으로써, 사용자가 다자간 협업 환경이 구축된 시스템에서 목표로 하는 작업을 수행할 수 있는 것이다.In more detail, when at least one service module transmits service data to a service agent module operating on the device agent module of the collaboration device, the service agent module transmits a predetermined API according to the service data to the collaboration application module. Thereafter, the collaboration application module directly controls the execution / end of the collaboration devices. In this way, the user can perform a target task in a system in which a multi-party collaboration environment is established.

여기서, 디바이스 에이전트 모듈 및 서비스 에이전트 모듈에 대해 보다 자세하게 설명하면, 디바이스 에이전트 모듈은 협업 환경에서 동작하는 PC, 이동단말기, 내장형 장치에 탑재되어 협업 장치를 미디에이터 모듈(300)에 등록시키고, 미디에이터 모듈(300)의 명령에 따라 서비스 모듈 또는 관리자 모듈(400)을 추가/삭제하는 기능을 한다. 또한, 협업 장치의 시스템 성능(CPU 점유율, 메인 메모리 사용량 등) 및 서비스 상태 데이터를 파악하여 미디에이터 모듈(300)에 전송한다. Here, the device agent module and the service agent module will be described in more detail. The device agent module is mounted in a PC, a mobile terminal, and an embedded device operating in a collaboration environment, and registers the collaboration device with the mediator module 300. The service module or the manager module 400 is added / deleted according to the command of 300). In addition, the system performance (CPU occupancy, main memory usage, etc.) and service state data of the collaboration device is grasped and transmitted to the mediator module 300.

서비스 에이전트 모듈은 협업 장치를 직접 제어하는 협업 응용 모듈이 서비스 모듈에 의해 제어되도록 만들어 주는 모듈이다. 이와 같은 서비스 에이전트 모듈은 협업 응용 모듈의 기술서를 기반으로 서비스 능력을 파악하고, 실행시 전송받은 서비스 문맥을 수집하여 미디에이터 모듈(300) 및 관리자 모듈(400)로 전송한다. 또한, 미디에이터 모듈(300) 또는 관리자 모듈(400)로부터 수신한 서비스 조작 명령에 따라 협업 응용 모듈의 기능을 제어한다.The service agent module is a module that makes the collaboration application module that directly controls the collaboration device controlled by the service module. Such a service agent module grasps the service capability based on the description of the collaborative application module, collects the service context received during execution, and transmits the service context to the mediator module 300 and the manager module 400. In addition, the function of the cooperative application module is controlled according to the service operation command received from the mediator module 300 or the manager module 400.

서비스 모듈은 데이터 모델을 기술하기 위하여 온톨로지를 활용하고, 응용 모델을 실련하기 위하여 에이전트 통신 프로토콜(예를 들면, 질의, 요청, 계약 네트워크 등)을 기반으로 서비스 인터페이스를 구현한다.The service module utilizes the ontology to describe the data model and implements the service interface based on the agent communication protocol (eg, query, request, contract network, etc.) to practice the application model.

이와 같은 서비스 에이전트 모듈이 제공하는 여러 가지 기능들은 도 5에 도시된 표와 같이, 미리 설정된 API로 구현된다.Various functions provided by such a service agent module are implemented with a predetermined API, as shown in the table shown in FIG. 5.

도 6은 본 발명의 일례에 따른 다자간 협업 시스템의 서비스 합성을 설명하기 위한 도이다.6 is a diagram for describing service synthesis of a multi-party collaboration system according to an example of the present invention.

도시된 바와 같이, 다자간 협업 시스템은 복수의 협업 노드에 새롭게 참여하고자 하는 제 1 노드의 미디에이터 모듈과 복수의 협업에 참여하고 있는 제 2 노드의 미디에이터 모듈을 포함한다. As shown, the multi-party collaboration system includes a mediator module of a first node that intends to newly participate in a plurality of collaboration nodes and a mediator module of a second node that participates in a plurality of collaborations.

이와 같은 다자간 협업 시스템의 구성 방법은 상호 작용 프로토콜인 계약 네트워크 기반의 기술을 이용하여 복수의 협업 노드에 새롭게 참여하고자 하는 제 1 노드의 미디에이터 모듈과 복수의 협업에 이미 참여하고 있는 제 2 노드의 미디에이터 모듈을 통해 제 1 노드 및 제 2 노드의 관리자 모듈이 서로 합성되는 네트워크합성 단계를 더 포함할 수 있다.Such a method of constructing a multilateral collaboration system includes a mediator module of a first node that intends to newly participate in a plurality of collaboration nodes using a contract network-based technology, which is an interaction protocol, and a mediator of a second node that already participates in a plurality of collaborations. The module may further include a network synthesis step of combining the manager modules of the first node and the second node with each other.

보다 자세하게 설명하면, 네트워크합성 단계는 작업공지단계(1), 제안단계(2), 계약단계(3) 및 결과보고단계(4)를 포함할 수 있다.In more detail, the network synthesis step may include a work notification step (1), a proposal step (2), a contract step (3) and a result reporting step (4).

작업공지단계(1)는 제 1 노드의 미디에이터 모듈이 제 1 노드 내 작업 그래프상의 정점(Vortex)으로 표시된 관리자 모듈을 검색하고, 검색된 서비스관리자 모듈과 합성될 제 2 노드의 관리자 모듈을 찾기 위해 제 2 노드의 미디에이터 모듈로 공지메시지(Call for proposal)를 전송한다.The job notification step (1) searches for the manager module indicated by the vertex on the work graph in the first node, and the manager module of the second node to be synthesized with the found service manager module. A call for proposal is sent to the mediator module of the 2 node.

제안단계(2)는 제 2 노드의 미디에이터 모듈이 제 2 노드를 검색하여 제 1 노드에서 검색된 관리자 모듈과 합성될 제 2 노드내의 관리자 모듈이 있는 경우, 제 2 노드가 연결대상이 될 수 있음을 알리는 제안메시지(Propose)를 제 1 노드의 미디에이터 모듈로 전송한다. 이때, 만약 작업에 새로이 참여하고자 하는 제 1 노드의 미디에이터 모듈이 특정 조건에 미달될 경우, 제안된 내용이 유효하지 못할 수 있다는 단서를 붙일 수 있다.Proposal step (2) indicates that if there is a manager module in the second node to be synthesized with the manager module retrieved from the first node by the mediator module of the second node, the second node may be the target of connection. The notifier transmits a proposal message to the mediator module of the first node. In this case, if the mediator module of the first node to newly participate in the work does not meet a specific condition, it may add a clue that the proposed content may not be valid.

계약단계(3)는 제 1 노드의 미디에이터가 제안메시지로부터 합성 가능한 제 2 노드를 선택하고 관리자 모듈의 합성을 위한 계약메시지(Accept) 및 제 1 노드의 관리자 모듈의 에이전트 ID를 제 2 노드의 미디에이터 모듈로 전송하여 제 2 노드의 미디에이터 모듈이 서비스 합성의 내용을 업데이트 할 수 있도록 한다.The contract step (3) selects a second node that the mediator of the first node can synthesize from the proposal message, and accepts the contract message (Accept) for synthesizing the manager module and the agent ID of the manager module of the first node. Send to the module so that the mediator module of the second node can update the contents of the service synthesis.

결과보고단계(4)는 제 2 노드의 미디에이터 모듈이 제 1 노드의 관리자 모듈의 에이전트 ID를 이용하여 제 1 노드의 관리자 모듈을 추가/업데이트한 뒤, 제 2 노드내의 기존 관리자 모듈로 업데이트 사실을 전송한다.In the result reporting step (4), the mediator module of the second node adds / updates the manager module of the first node using the agent ID of the manager module of the first node, and then updates the fact to the existing manager module in the second node. send.

또한, 네트워크합성 단계는 계약단계 이후, 제 2 노드의 미디에이터 모듈이 협업에 이미 참여하고 있는 관리자 모듈들의 에이전트 ID를 협업에 참여하고자 하는 제 1 노드의 미디에이터 모듈로 전송하는 단계를 더 포함할 수 있다.In addition, the network synthesis step may further include, after the contracting step, the mediator module of the second node transmitting the agent IDs of the manager modules already participating in the collaboration to the mediator module of the first node to participate in the collaboration. .

이와 같은 네트워크 합성 과정을 거치게 되면, 다자간 협업 환경의 각 노드에서 서비스 연결 정보를 유지할 수 있게 되고, 결과적으로 주어진 작업에 참여하는 전체 노드의 미디에이터 모듈들과 관리자 모듈들 간에 서비스 합성을 위한 에이전트간 네트워크가 구성되는 것이다. Through this network synthesis process, it is possible to maintain service connection information in each node of a multi-party collaboration environment, and as a result, an agent-to-agent network for service synthesis between mediator modules and manager modules of all nodes participating in a given task. Will be constructed.

이후, 협업에 새로이 참여하는 제 1 노드상의 관리자 모듈의 serviceLinkAdded 메소드가 호출되면서, 제 1 노드의 관리자 모듈에 대해서 알 수 있게 되고, 제 1 노드의 관리자 모듈은 제 2 노드상의 관리자 모듈과 협상하여, 주어진 워크플로우에 따라 실행되는 제 1 노드상의 서비스 모듈들을 제 2 노드상의 서비스 모듈들과 연결시킨다. Then, the serviceLinkAdded method of the manager module on the first node newly participating in the collaboration is called, so that the manager module of the first node can be known, and the manager module of the first node negotiates with the manager module on the second node. Link service modules on a first node, executed according to a given workflow, with service modules on a second node.

이후, 서로 연결된 서비스 모듈들은 온톨로지에 의해 기술된 서비스 콘텍스 트를 서로 교환하면서, 공유 객체의 처리를 위한 상호작용을 할 수 있는 것이다.After that, the service modules connected to each other can interact with each other for the processing of shared objects while exchanging service contexts described by the ontology.

도 7은 본 발명에 따른 미디에이터 모듈의 노드 GUI의 일례를 설명하기 위한 도이다. 7 is a view for explaining an example of a node GUI of the mediator module according to the present invention.

도 7은 미디에이터 모듈의 노드 GUI를 나타내고, "GISTNode"는 협업 노드의 이름이고, "broadband"는 협업 노드내의 협업 장치 이름이다. 그리고 "MediaManager"는 협업 장치를 제어하기 위한 관리자 모듈을 나타내고, "svc://~"는 협업 노드 내에서 이용 가능한 서비스 모듈의 이름을 나타낸다. 7 shows the node GUI of the mediator module, where "GISTNode" is the name of the collaboration node and "broadband" is the name of the collaboration device in the collaboration node. And "MediaManager" represents the manager module for controlling the collaboration device, "svc: // ~" represents the name of the service module available in the collaboration node.

도시된 바와 같이, 협업에 참여중인 사용자는 노드 GUI를 통해 디바이스 에이전트 상에서 동작하는 다양한 서비스 에이전트 모듈에 접근할 수 있다. 미디에이터 모듈 내의 서비스 발견부가 노드 내 협업 장치들 내에 탑재된 디바이스 에이전트 모듈을 검색/발견하면, 노드 GUI 상에서 협업 장치의 이름과 이용 가능한 서비스 모듈의 목록을 보여준다. 따라서 노드 GUI를 통해 협업에 참여한 사용자들은 연결된 장치들을 볼 수 있고 지원 가능한 서비스들을 확인할 수 있다. As shown, users participating in the collaboration can access various service agent modules running on the device agent through the node GUI. When the service discovery unit in the mediator module finds / discovers the device agent module mounted in the collaboration devices in the node, the node GUI shows the name of the collaboration device and a list of available service modules. Therefore, users participating in the collaboration through the node GUI can see the connected devices and the services that can be supported.

또한, 노드 GUI를 이용하여, 사용자는 디바이스 에이전트 모듈 상에서 동작하는 서비스 에이전트 모듈들을 추가/삭제하면, 서비스설정/실행부는 사용자의 선택에 따라 해당 서비스 에이전트 모듈을 포함하는 서비스 모듈을 추가/삭제하게 된다.In addition, using the node GUI, when a user adds / deletes service agent modules operating on the device agent module, the service setting / executing unit adds / deletes a service module including the corresponding service agent module according to the user's selection. .

따라서 서비스 에이전트 모듈이 추가되었을 때, 해당 서비스 에이전트 모듈을 포함하는 서비스 모듈이 미디에이터 모듈에 등록되며, 미디에이터 모듈의 조작 명령에 따른 관리를 받게 된다.Therefore, when the service agent module is added, the service module including the service agent module is registered in the mediator module and is managed according to the manipulation command of the mediator module.

협업 노드의 모든 에이전트들은 HTTP 기반의 분산 에이전트 통신 프로토콜을 사용하여 통신한다. 에이전트들 간에 메세지 전송이 FIPA 호환 에이전트 통신 프로토콜을 기반으로 하고 있기 때문에, 온톨로지 기반의 협업 문맥과 함께 통신하는 것이 가능하다. All agents in the collaboration node communicate using HTTP-based distributed agent communication protocol. Since message transfer between agents is based on a FIPA compatible agent communication protocol, it is possible to communicate with an ontology-based collaboration context.

도 8은 본 발명에 따른 미디에이터 모듈의 스페이스 GUI의 일례를 설명하기 위한 도이다. 8 is a view for explaining an example of the space GUI of the mediator module according to the present invention.

도시된 바와 같이, 협업 노드들 간에 협업을 위해서, 스페이스 GUI를 통해 협업에 참여한 사용자들은 협업 세션 디렉토리 에이전트에 접속할 수 있다. 스페이스 GUI에서는 접속된 협업 세션에서 사용자가 기본적인 협업 장치들을 사용해 목표로 하는 작업을 수행하기 위하여, 선택 가능한 태스크 데이터 목록이 나타난다.As shown, for collaboration between collaboration nodes, users participating in the collaboration via the space GUI can access the collaboration session directory agent. In the space GUI, a list of selectable task data is presented to enable the user to perform a targeted task using basic collaboration devices in an attached collaboration session.

도 8에서는 일례로, video conference 태스크 데이터를 지원한다. 사용자가 이 태스크 데이터를 선택하면, 이 태스크 데이터 그래프에 해당되는 관리자 모듈을 자동으로 선택하고, 관리자 모듈들 간에 연결/합성이 이루어진다. In FIG. 8, for example, video conference task data is supported. When the user selects this task data, the manager module corresponding to this task data graph is automatically selected, and a connection / synthesis is made between the manager modules.

각 관리자 모듈은 관리자 모듈이 속한 노드 안에서 워크플로우에서 미리 설정된 바에 따라 합성될 서비스 모듈을 찾고, 해당 서비스 모듈을 사전에 정의된 서비스 파라미터에 따라서 설정한 후, 실행한다.Each manager module finds the service module to be synthesized according to the preset workflow in the node to which the manager module belongs, sets the service module according to the predefined service parameter, and executes the service module.

이와 같이, Video conference 태스크 데이터는 미디어 관리자 모듈에 의해서 처리된다. 미디어 관리자 모듈은 미디어 공급자 서비스 모듈과 미디어 수요자 서비 스모듈을 서로 연결시킴으로써, 협업에 참여한 사용자들 간에 영상회의를 할 수 있도록 지원한다. As such, the video conference task data is processed by the media manager module. The media manager module connects the media provider service module and the media consumer service module to each other so that video conferencing between users who participated in the collaboration can be performed.

도 9는 본 발명에 따른 다자간 협업 시스템에서 미디어 관리자 모듈의 실행 화면을 보여주는 미디어 관리자 GUI의 일례이다.9 is an example of a media manager GUI showing an execution screen of a media manager module in a multi-party collaboration system according to the present invention.

도시된 바와 같이, 미디어 관리자 모듈의 GUI는 미디어 관리자 모듈의 실행화면을 보여주며, "Send" 버튼을 누르면 영상을 송신할 수 있는 능력을 가진 (즉, 역할이 공급자이고, 유형이 미디어인) 서비스 모듈들을 검색하여 사용자가 선택할 수 있도록 표시한다. 선택된 미디어 공급자 서비스 모듈의 주요 내용은 참여중인 모든 노드의 미디어 관리자 모듈의 GUI 상에 나열되며, 사용자가 이를 선택하고 "Play" 버튼을 누르면 선택된 미디어 공급자 서비스 모듈로부터 영상 스트림을 수신할 수 있는 능력을 가진 미디어 수요자 서비스 모듈들을 검색하여 사용자에게 보여준다. 사용자는 그 중 하나를 선택하여 영상을 수신할 수 있는 것이다.As shown, the GUI of the media manager module shows the execution screen of the media manager module, and a service having the ability to send an image (ie, role is provider and type media) by pressing the "Send" button. Search for modules and mark them for user selection. The main contents of the selected media provider service module are listed on the GUI of the media manager module of all participating nodes, and when the user selects it and presses the "Play" button, the user can select the ability to receive a video stream from the selected media provider service module. Search for and display the media consumer service modules that have it. The user can select one of them to receive an image.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, ROM, 플로피 디스크, 하드 디스크, 자기 테이프 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD, 광데이터 저장장치 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, a magnetic tape, etc.), an optical reading medium (for example, a CD-ROM, a DVD, an optical data storage device, etc.). And storage media such as carrier waves (eg, transmission over the Internet).

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications, changes, and substitutions may be made by those skilled in the art without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical spirit of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by the embodiments and the accompanying drawings. . The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

도 1은 본 발명의 일례에 따른 다자간 협업 시스템 및 그 구성 방법의 개념적 모델을 설명하기 위한 표. 1 is a table for explaining a conceptual model of a multi-party collaboration system and its configuration method according to an example of the present invention.

도 2a는 본 발명의 일례에 따른 다자간 협업 시스템 및 그 구성 방법의 계층적 구조의 개념을 설명하기 위한 도. 2A is a diagram for explaining a concept of a hierarchical structure of a multilateral collaboration system and a method of configuring the same according to an embodiment of the present invention.

도 2b는 관리자 모듈간의 연결 예를 설명하기 위한 도.2B is a diagram for explaining an example of connection between manager modules;

도 2c는 태스크 데이터를 설명하기 위하여 태스크 데이터 그래프를 XML 문서로 작성한 일례.Fig. 2C is an example of creating a task data graph in an XML document to explain task data.

도 2d는 관리자 모듈과 서비스 모듈간의 상호 작용을 설명하기 위한 도.2D is a diagram for explaining an interaction between an administrator module and a service module.

도 2e는 서비스 데이터를 설명하기 위한 오디오 서비스 기술서의 일례. 2E is an example of an audio service description for explaining service data.

도 3은 본 발명에 따른 다자간 협업 시스템 및 그 구성 방법의 일례를 설명하기 위한 도.3 is a view for explaining an example of a multi-party collaboration system and a configuration method according to the present invention.

도 4는 본 발명에 따른 다자간 협업 시스템 및 그 구성 방법에서 에이전트 기반의 관리 툴킷 구조의 일례를 설명하기 위한 도. 4 is a diagram illustrating an example of an agent-based management toolkit structure in a multi-party collaboration system and a method of configuring the same according to the present invention.

도 5는 본 발명에 따른 서비스 에이전트 모듈이 제공하는 API의 일례.5 is an example of an API provided by a service agent module according to the present invention.

도 6은 본 발명에 따른 다자간 협업 시스템의 서비스 합성의 일례를 설명하기 위한 도.6 is a view for explaining an example of service synthesis of a multi-party collaboration system according to the present invention.

도 7은 본 발명에 따른 미디에이터 모듈의 노드 GUI의 일례를 설명하기 위한 도. 7 is a view for explaining an example of a node GUI of the mediator module according to the present invention.

도 8은 본 발명에 따른 미디에이터 모듈의 스페이스 GUI의 일례를 설명하기 위한 도. 8 is a view for explaining an example of the space GUI of the mediator module according to the present invention.

도 9는 본 발명에 따른 다자간 협업 시스템에서 미디어 관리자 모듈의 실행 화면을 보여주는 미디어 관리자 GUI의 일례를 설명하기 위한 도.9 is a view for explaining an example of a media manager GUI showing an execution screen of a media manager module in a multi-party collaboration system according to the present invention.

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

300 : 미디에이터 모듈 310 : 서비스 발견부300: mediator module 310: service discovery unit

320 : 서비스 실행/설정부 330 : 서비스 합성부320: service execution / setting unit 330: service synthesis unit

340 : 노드 GUI부 350 : 스페이스 GUI부340: Node GUI unit 350: Space GUI unit

400 : 관리자 모듈 400: manager module

Claims (26)

미디에이터 모듈은 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하여 목표로 하는 작업을 수행할 수 있도록 하기 위한 태스크(Task) 데이터를 적어도 하나의 관리자 모듈에 제공하는 태스크단계;The mediator module may include: a task step of providing task data to at least one manager module to enable a user to perform a target task using basic collaboration devices at each of the plurality of collaboration nodes; 상기 태스크 데이터에 의해 제어되는 상기 적어도 하나의 관리자 모듈은 상기 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 적어도 하나의 서비스 모듈에 제공하는 서비스명령단계;The at least one manager module controlled by the task data provides a service command step of providing service command data to at least one service module in a preset manner for processing the task data; 상기 서비스명령 데이터에 의해 제어되는 상기 적어도 하나의 서비스 모듈은 상기 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 서비스단계; 및The at least one service module controlled by the service command data includes a service step of providing service data for executing the collaboration devices; And 상기 미디에이터 모듈은 상기 협업 노드 내에서 이용 가능한 상기 협업 장치들 및 상기 서비스 모듈을 발견/설정/합성하는 시스템설정 단계;The mediator module may include a system setup step of discovering / setting / synthesizing the collaboration devices and the service module available in the collaboration node; 을 포함하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 시스템설정 단계는The system setting step 상기 협업 장치들 및 상기 관리자 모듈과 상호 인터페이스가 가능한 상기 서비스 모듈을 검색하고, 상기 서비스 모듈의 상태 데이터를 저장하는 협업 상황 저장부에 저장하는 서비스발견 단계;A service discovery step of searching for the service module capable of interfacing with the collaboration devices and the manager module and storing the state data of the service module; 상기 검색된 서비스 모듈의 실행/종료가 가능하도록 상기 관리자 모듈 및 상 기 서비스 모듈을 설정하는 서비스설정 단계; 및 A service setting step of setting the manager module and the service module to execute / end the searched service module; And 상기 태스크 데이터를 처리하기위해 상기 관리자 모듈간의 상호 인터페이스 바인딩을 통해 상기 관리자 모듈들을 합성하는 서비스합성 단계;A service synthesis step of synthesizing the manager modules through mutual interface binding between the manager modules to process the task data; 를 포함하는 것을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system comprising a. 제 2 항에 있어서,The method of claim 2, 상기 시스템설정 단계는 The system setting step 상기 서비스발견 단계에서 검색된 상기 협업 장치들 및 상기 협업 장치들 내에서 이용 가능한 상기 서비스 모듈과 상기 서비스 모듈을 제어하는 상기 관리자 모듈을 노드 GUI(Graphical User Interface)에 표시하는 노드상태표시 단계;A node status display step of displaying the collaboration devices retrieved in the service discovery step, the service module available in the collaboration devices, and the manager module controlling the service module in a node graphical user interface (GUI); 를 더 포함하는 것을 특징으로 하는 다자간 협업 시스템의 구성 방법.Method of configuring a multi-party collaboration system further comprising. 제 3 항에 있어서, The method of claim 3, wherein 상기 서비스설정 단계는 The service setting step 상기 노드상태표시 단계에서 표시된 상기 협업 장치들 및 상기 협업 장치 내에서 이용 가능한 서비스 모듈이 상기 사용자에 의해 선택되면 상기 미디에이터 모듈이 상기 서비스 모듈의 실행/종료가 가능하도록 상기 관리자 모듈 및 상기 서비스 모듈을 설정하는 단계를 포함하는 것When the collaboration device and the service module available in the collaboration device displayed in the node status display step are selected by the user, the mediator module enables the manager module and the service module to execute / end the service module. Comprising the step of setting 을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system characterized in that. 제 4 항에 있어서,The method of claim 4, wherein 상기 서비스발견 단계는 The service discovery step 상기 협업 장치들을 검색하기 위해 상기 협업 장치들 내에 탑재된 디바이스 에이전트 모듈(Device agent)를 검색하고, 상기 검색된 디바이스 에이전트 모듈을 통해 상기 협업 장치를 상기 노드 GUI에 표시하는 단계;를 포함하고,Searching for a device agent module mounted in the collaboration devices to search the collaboration devices, and displaying the collaboration device in the node GUI through the searched device agent module; 상기 서비스설정 단계는 The service setting step 상기 사용자의 선택에 따라 상기 미디에이터 모듈이 상기 검색된 협업 장치를 통해 이용가능한 상기 서비스 모듈 또는 상기 관리자 모듈을 추가/삭제하는 단계;Adding / deleting the service module or the manager module available through the searched collaboration device by the mediator module according to the user's selection; 를 포함하는 것을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system comprising a. 제 2 항에 있어서,The method of claim 2, 상기 시스템설정 단계는The system setting step 상기 서비스설정단계에서 설정된 관리자 모듈 및 상기 서비스 모듈을 통해 이용 가능한 상기 태스크 데이터를 스페이스 GUI(Graphical User Interface)에 표시하는 단계;Displaying a manager module set in the service setting step and the task data available through the service module in a space graphical user interface (GUI); 를 더 포함하는 것을 특징으로 하는 다자간 협업 시스템의 구성 방법.Method of configuring a multi-party collaboration system further comprising. 제 6 항에 있어서,The method of claim 6, 상기 서비스합성 단계는The service synthesis step 상기 표시된 태스크 데이터 중 어느 하나가 상기 사용자에 의해 선택되면 상기 미디에이터 모듈이 상기 태스크 데이터를 처리하기 위한 적어도 하나의 관리자 모듈을 자동으로 선택/합성하는 단계; Automatically selecting / synthesizing at least one manager module for processing the task data if any one of the displayed task data is selected by the user; 상기 선택/합성된 관리자 모듈이 상기 태스크 데이터를 처리하기위해 합성될 적어도 하나의 서비스 모듈을 검색/설정하는 단계;Retrieving / setting at least one service module to be synthesized by the selected / synthesized manager module to process the task data; 를 더 포함하는 것을 특징으로 하는 다자간 협업 시스템의 구성 방법.Method of configuring a multi-party collaboration system further comprising. 제 1 항에 있어서,The method of claim 1, 상기 관리자 모듈은 미디어, 네트워킹, 디스플레이, 멀티모달 인터랙션 및 데이터와 태스크 공유 및 이동과 같은 공통된 기능 그룹으로 분류된 관련 서비스 모듈들을 관리하며,The manager module manages media, networking, display, multimodal interactions and related service modules classified into common functional groups such as data and task sharing and movement, 상기 서비스명령 단계에서 관리자 모듈 각각이 상기 기능 그룹 각각에 상응하는 서비스명령 데이터를 상기 적어도 하나의 서비스 모듈로 전송하는 것Transmitting, by the manager module, service command data corresponding to each of the function groups to the at least one service module in the service command step. 을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system characterized in that. 제 1 항에 있어서,The method of claim 1, 상기 서비스 단계는The service phase 상기 적어도 하나의 서비스 모듈이 상기 협업 장치들을 직접 제어하는 협업 응용 모듈이 상기 서비스 데이터에 의해 제어되도록 하는 서비스에이전트 모듈로 상기 서비스 데이터를 전송하는 단계;Transmitting the service data to a service agent module such that a collaboration application module, wherein the at least one service module directly controls the collaboration devices, is controlled by the service data; 상기 서비스에이전트 모듈이 상기 서비스 데이터에 따라 미리 설정된 API(application programming interfaces)를 상기 협업 응용 모듈로 전송하는 단계; 및Transmitting, by the service agent module, application programming interfaces (APIs) preset according to the service data to the collaborative application module; And 상기 협업 응용 모듈이 상기 협업 장치들의 실행/종료를 직접 제어하는 단계;를 포함하는 것Directly controlling the execution / termination of the collaboration devices by the collaboration application module. 을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system characterized in that. 제 1 항에 있어서,The method of claim 1, 상기 다자간 협업 시스템의 구성 방법은How to configure the multi-party collaboration system 상호 작용 프로토콜인 계약 네트워크 기반의 기술을 이용하여 상기 복수의 협업 노드에 새롭게 참여하고자 하는 제 1 노드의 미디에이터 모듈과 상기 복수의 협업에 이미 참여하고 있는 제 2 노드의 미디에이터 모듈을 통해 상기 제 1 노드 및 상기 제 2 노드의 관리자 모듈이 서로 합성되는 네트워크합성 단계를 더 포함하는 것The first node through a mediator module of a first node to newly participate in the plurality of collaboration nodes using a contract network-based technology, which is an interaction protocol, and a mediator module of a second node already participating in the plurality of collaborations. And a network synthesis step of synthesizing the manager modules of the second node with each other. 을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system characterized in that. 제 10 항에 있어서,11. The method of claim 10, 상기 네트워크합성 단계는The network synthesis step 상기 제 1 노드의 미디에이터 모듈이 상기 제 1 노드 내 관리자 모듈을 검색 하고, 상기 검색된 관리자 모듈과 합성될 상기 제 2 노드의 관리자 모듈을 찾기 위해 상기 제 2 노드의 미디에이터 모듈로 공지메시지를 전송하는 작업공지단계;The mediator module of the first node searches for a manager module in the first node and sends a notification message to the mediator module of the second node to find the manager module of the second node to be synthesized with the found manager module. Notification step; 상기 제 2 노드의 미디에이터 모듈이 상기 검색된 관리자 모듈과 합성될 제 2 노드내의 관리자 모듈이 있는 경우, 상기 제 2 노드가 연결대상이 될 수 있음을 알리는 제안메시지를 상기 제 1 노드의 미디에이터 모듈로 전송하는 제안단계;If there is a manager module in the second node in which the mediator module of the second node is to be synthesized with the searched manager module, a proposal message indicating that the second node may be a connection target is transmitted to the mediator module of the first node. Proposal step to; 상기 제 1 노드의 미디에이터가 상기 제안메시지로부터 합성 가능한 제 2 노드를 선택하고 관리자 모듈의 합성을 위한 계약메시지 및 상기 제 1 노드의 관리자 모듈의 에이전트 ID를 상기 제 2 노드의 미디에이터 모듈로 전송하는 계약단계; 및A contract that the mediator of the first node selects a second node that can be synthesized from the proposal message, and transmits a contract message for synthesizing the manager module and an agent ID of the manager module of the first node to the mediator module of the second node. step; And 상기 제 2 노드의 미디에이터 모듈이 상기 제 1 노드의 관리자 모듈의 에이전트 ID를 이용하여 상기 제 1 노드의 관리자 모듈을 추가/업데이트한 뒤, 상기 제 2 노드내의 기존 관리자 모듈로 상기 업데이트 사실을 전송하는 결과보고단계;를 포함하는 것The mediator module of the second node adds / updates the manager module of the first node using the agent ID of the manager module of the first node and then transmits the update fact to an existing manager module in the second node. Including a result reporting step; 을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system characterized in that. 제 11 항에 있어서,The method of claim 11, 상기 네트워크합성 단계는The network synthesis step 상기 계약단계 이후, 상기 제 2 노드의 미디에이터 모듈이 협업에 이미 참여하고 있는 관리자 모듈의 에이전트 ID를 상기 제 1 노드의 미디에이터 모듈로 전송하는 단계를 더 포함하는 것After the contracting step, the mediator module of the second node further comprising transmitting an agent ID of the manager module that is already participating in the collaboration to the mediator module of the first node. 을 특징으로 하는 다자간 협업 시스템의 구성 방법.How to configure a multi-party collaboration system characterized in that. 복수의 협업 노드 각각에서 사용자가 기본적인 협업 장치들(Devices)을 사용하여 목표로 하는 작업을 수행하기 위한 태스크(Task) 데이터를 제공하는 미디에이터(Mediator) 모듈;A mediator module that provides task data for each user performing a target task using basic collaboration devices in each of the plurality of collaboration nodes; 상기 태스크 데이터에 의해 제어되고, 상기 태스크 데이터를 처리하기 위해 미리 설정된 방식에 따라 서비스명령 데이터를 제공하는 적어도 하나의 관리자 모듈;At least one manager module controlled by the task data and providing service command data in a preset manner for processing the task data; 상기 서비스명령 데이터에 의해 제어되고, 상기 협업 장치들을 실행하기 위한 서비스 데이터를 제공하는 적어도 하나의 서비스 모듈;을 포함하고,At least one service module controlled by the service command data and providing service data for executing the collaboration devices. 상기 미디에이터 모듈은 상기 협업 노드 내에서 이용 가능한 상기 협업 장치들 및 상기 적어도 하나의 서비스 모듈을 발견/설정/합성하는 것;The mediator module discovers / sets / synthesizes the collaboration devices and the at least one service module available within the collaboration node; 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 13 항에 있어서,The method of claim 13, 상기 미디에이터 모듈은 The mediator module 상기 협업 노드 내에서 이용가능한 상기 협업 장치들 및 상기 각각의 협업 장치들 내에서 상기 관리자 모듈과 상호 인터페이스가 가능한 상기 서비스 모듈을 검색하고, 상기 서비스 모듈의 상태 데이터를 저장하는 협업 상황 저장부에 저장하는 서비스발견부;Search for the collaboration devices available in the collaboration node and the service module that can interface with the manager module in the respective collaboration devices, and store in the collaboration context storage to store state data of the service module Service discovery department; 상기 서비스 모듈이 실행/종료가 가능하도록 상기 관리자 모듈 및 상기 서비스 모듈을 설정하고, 상기 태스크 데이터를 상기 관리자 모듈로 전송하는 서비스 설정/실행부;A service setting / executing unit configured to set the manager module and the service module to execute / end the service module and to transmit the task data to the manager module; 상기 태스크 데이터를 처리하기위해 상기 관리자 모듈 간의 상호 인터페이스 바인딩을 통해 상기 관리자 모듈을 합성하는 서비스합성부;A service synthesizer for synthesizing the manager module through mutual interface binding between the manager modules to process the task data; 를 포함하는 것을 특징으로 하는 다자간 협업 시스템.Multilateral collaboration system comprising a. 제 14 항에 있어서, 상기 미디에이터 모듈은 The method of claim 14, wherein the mediator module 상기 서비스발견부에 의해 검색된 상기 협업 장치들 및 상기 협업 장치들 내에서 이용 가능한 서비스 모듈과 상기 서비스 모듈을 제어하는 상기 관리자 모듈을 표시하는 노드 GUI(Graphical User Interface)부;A graphical user interface (GUI) unit for displaying the collaboration devices retrieved by the service discovery unit, a service module available in the collaboration devices, and the manager module controlling the service module; 를 포함하는 것을 특징으로 하는 다자간 협업 시스템.Multilateral collaboration system comprising a. 제 15 항에 있어서,The method of claim 15, 상기 서비스설정/실행부는The service setting / executing unit 상기 노드 GUI부에서 표시된 상기 협업 장치들 및 상기 협업 장치 내에서 이용 가능한 서비스 모듈이 상기 사용자에 의해 선택되면 상기 서비스 모듈의 실행/종료가 가능하도록 상기 관리자 모듈 및 상기 서비스 모듈을 설정하고, 상기 서비스 모듈의 실행/종료를 위해 상기 태스크 데이터를 상기 관리자 모듈로 전송하는 것The manager module and the service module are configured to enable / disable the service module when the collaboration devices displayed in the node GUI unit and the service module available in the collaboration device are selected by the user. Sending the task data to the manager module for execution / shutdown of the module 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 14 항에 있어서,The method of claim 14, 상기 서비스발견부는 상기 협업 장치들을 검색하기 위해 상기 협업 장치들 내에 탑재된 디바이스 에이전트 모듈(Device agent)을 검색하고, 상기 검색된 디바이스 에이전트 모듈을 통해 상기 협업 장치를 상기 노드 GUI에 표시하고,The service discovery unit searches a device agent module mounted in the collaboration devices to search the collaboration devices, displays the collaboration device in the node GUI through the searched device agent module, 상기 서비스설정/실행부는 상기 사용자의 선택에 따라 상기 검색된 협업 장치에 대해 이용가능한 상기 서비스 모듈 또는 상기 관리자 모듈을 추가/삭제하는 것The service setting / executing unit adds / deletes the service module or the administrator module available for the searched collaboration device according to the user's selection. 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 14 항에 있어서,The method of claim 14, 상기 미디에이터 모듈은The mediator module 상기 서비스설정/실행부에서 설정된 관리자 모듈 및 상기 서비스 모듈을 통해 이용 가능한 상기 태스크 데이터를 표시하는 스페이스 GUI(Graphical User Interface)부;A space graphical user interface (GUI) unit for displaying an administrator module configured in the service setting / executing unit and the task data available through the service module; 를 더 포함하는 것을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system, characterized in that it further comprises. 제 18 항에 있어서,The method of claim 18, 상기 서비스합성부는 The service synthesis unit 상기 스페이스 GUI에 상기 표시된 태스크 데이터 중 어느 하나가 상기 사용 자에 의해 선택되면 상기 태스크 데이터를 처리하기 위한 적어도 하나의 관리자 모듈을 자동으로 선택/합성하는 것Automatically selecting / synthesizing at least one manager module for processing the task data when any of the displayed task data is selected by the user in the space GUI 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 19 항에 있어서,The method of claim 19, 상기 자동으로 선택/합성된 관리자 모듈은The automatically selected / synthesized manager module 상기 태스크 데이터를 처리하기위해 합성될 적어도 하나의 서비스 모듈을 검색/설정하고, 상기 서비스 설정/실행부로부터 전송되는 상기 태스크 데이터에 따라 미리 설정된 방식으로 서비스명령 데이터를 상기 검색/설정된 서비스 모듈로 전송하는 것Search / set at least one service module to be synthesized for processing the task data, and transmit service command data to the searched / set service module in a preset manner according to the task data transmitted from the service setup / execution unit; To do 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 13 항에 있어서,The method of claim 13, 상기 관리자 모듈은 미디어, 네트워킹, 디스플레이, 멀티모달 인터랙션 및 데이터와 태스크 공유 및 이동과 같은 공통된 기능 그룹으로 분류된 관련 서비스 모듈들을 관리하며,The manager module manages media, networking, display, multimodal interactions and related service modules classified into common functional groups such as data and task sharing and movement, 상기 관리자 모듈 각각은 상기 기능 그룹 각각에 상응하는 서비스명령 데이터를 상기 적어도 하나의 서비스 모듈로 전송하는 것Wherein each of the manager modules transmits service command data corresponding to each of the functional groups to the at least one service module. 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 13 항에 있어서,The method of claim 13, 상기 적어도 하나의 서비스 모듈 각각은 Each of the at least one service module 상기 서비스 데이터를 전송받아, 상기 협업 장치들을 직접 제어하는 협업 응용 모듈이 상기 서비스 데이터에 의해 제어되도록 하는 서비스에이전트 모듈;A service agent module configured to receive the service data so that a collaboration application module which directly controls the collaboration devices is controlled by the service data; 을 포함하는 것을 특징으로 하는 다자간 협업 시스템.Multilateral collaboration system comprising a. 제 13 항에 있어서,The method of claim 13, 상기 다자간 협업 시스템은The multilateral collaboration system 상기 복수의 협업 노드에 새롭게 참여하고자 하는 제 1 노드의 미디에이터 모듈과 상기 복수의 협업에 참여하고 있는 제 2 미디에이터 모듈을 포함하고,A mediator module of a first node to newly participate in the plurality of collaboration nodes and a second mediator module participating in the plurality of collaborations, 상기 제 1 및 제 2 노드의 미디에이터 모듈은 상호 작용 프로토콜인 계약 네트워크 기반의 기술을 이용하여 서로 합성하는 것The mediator modules of the first and second nodes are synthesized with each other using a contract network based technology which is an interaction protocol. 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 14 항에 있어서,The method of claim 14, 상기 태스크 데이터는The task data 상기 서비스 설정/실행부에서 상기 관리자 모듈을 설정하기 위한 컴포넌트 데이터와 상기 서비스합성부에서 상기 관리자 모듈을 합성하기 위한 합성 데이터를 포함하고,Component data for setting the manager module in the service setting / executing unit and synthesis data for synthesizing the manager module in the service synthesizing unit, 상기 컴포넌트 데이터는 상기 관리자 모듈의 이름, 유형, 상기 서비스명령 데이터를 포함하고, The component data includes a name, a type of the manager module, and the service command data; 상기 합성 데이터는 상기 관리자 모듈의 합성을 위해 필요한 서비스합성 데이터를 포함하는 것The synthesis data includes service synthesis data necessary for synthesis of the manager module. 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 제 22 항에 있어서,The method of claim 22, 상기 서비스 데이터는 The service data 상기 서비스 모듈이 상기 서비스에이전트 모듈을 제어하기 위한 서비스에이전트 모듈의 이름, 역할, 유형, 최대인스턴스넘버 또는 설정에 대한 명세데이터를 포함하는 것Wherein the service module includes specification data of a name, role, type, maximum instance number or setting of a service agent module for controlling the service agent module. 을 특징으로 하는 다자간 협업 시스템.Multi-party collaboration system characterized by. 컴퓨터로 판독 가능한 기록매체에 있어서,In a computer-readable recording medium, 제 1 항 내지 제 12 항 중 어느 한 항에 따른 방법을 구현하는 프로그램이 기록되는 기록매체.A recording medium on which a program for implementing the method according to any one of claims 1 to 12 is recorded.
KR1020080127162A 2008-12-15 2008-12-15 Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method KR101077660B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080127162A KR101077660B1 (en) 2008-12-15 2008-12-15 Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080127162A KR101077660B1 (en) 2008-12-15 2008-12-15 Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method

Publications (2)

Publication Number Publication Date
KR20100068708A KR20100068708A (en) 2010-06-24
KR101077660B1 true KR101077660B1 (en) 2011-10-27

Family

ID=42366921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080127162A KR101077660B1 (en) 2008-12-15 2008-12-15 Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method

Country Status (1)

Country Link
KR (1) KR101077660B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477198B2 (en) 2020-05-29 2022-10-18 International Business Machines Corporation Distributed computing on the edge

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012018690A2 (en) * 2010-08-01 2012-02-09 Cosapien Gmbh Automated contract mediator
WO2023219194A1 (en) * 2022-05-13 2023-11-16 주식회사 파워테스크 Service platform system for generating workflow and method for generating workflow

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477198B2 (en) 2020-05-29 2022-10-18 International Business Machines Corporation Distributed computing on the edge

Also Published As

Publication number Publication date
KR20100068708A (en) 2010-06-24

Similar Documents

Publication Publication Date Title
US20210349604A1 (en) Shared Virtual Area Communication Environment Based Apparatus and Methods
RU2611041C2 (en) Methods and systems for collaborative application sharing and conferencing
KR101565665B1 (en) Promoting communicant interactions in a network communications environment
US9250928B2 (en) Cooperative mobile analytics
KR20110113633A (en) Interfacing with a spatial virtual cmmunication environment
KR20120050980A (en) Spatial interfaces for realtime networked communications
EP2556450A1 (en) Method and apparatus for coordinating media presentation on devices via an information space
Theodoropoulos et al. Cloud-based xr services: A survey on relevant challenges and enabling technologies
EP3466023B1 (en) Interactive display synchronisation
Korzun et al. Virtual shared workspace for smart spaces and M3-based case study
US20080183309A1 (en) Device control system
KR101077660B1 (en) Multi-Party Interactive Collaboration System And Method for organizing thereof, and the recording media storing the program performing the said method
Paravati et al. An open and scalable architecture for delivering 3D shared visualization services to heterogeneous devices
US20130218955A1 (en) System and method for providing a virtual collaborative environment
TW200523755A (en) A service providing system and method, a sentient network generating device and method
Radloff et al. Supporting presentation and discussion of visualization results in smart meeting rooms
US11055051B2 (en) Direct and discriminate pixel flow between logically-grouped source to sink based on an interaction
KR100866244B1 (en) Multi-Party Interactive Collaboration System And Method For Organizing Multi-Party Interactive Collaboration System
Han et al. An experimental service composition tool for media-centric networked applications
Naber et al. Transferring an interactive display service to the virtual reality
Han et al. A service composition oriented framework for configuring SMeet multiparty collaboration environments
US7911955B2 (en) Coordinated media control system
Johansson Two shades of service Mobility: Application mobility and mobile E-services
Al-Mutawa et al. Cid3: System support for loosely-coupled personal computing environments
Götz et al. Using a Shared Whiteboard for Cooperative Visualizations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee