KR20160032717A - 3D editing collaboration system, method and recording media using the same - Google Patents

3D editing collaboration system, method and recording media using the same Download PDF

Info

Publication number
KR20160032717A
KR20160032717A KR1020160025099A KR20160025099A KR20160032717A KR 20160032717 A KR20160032717 A KR 20160032717A KR 1020160025099 A KR1020160025099 A KR 1020160025099A KR 20160025099 A KR20160025099 A KR 20160025099A KR 20160032717 A KR20160032717 A KR 20160032717A
Authority
KR
South Korea
Prior art keywords
user
reader
action
editing
log
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020160025099A
Other languages
Korean (ko)
Other versions
KR101851843B1 (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 KR1020160025099A priority Critical patent/KR101851843B1/en
Publication of KR20160032717A publication Critical patent/KR20160032717A/en
Application granted granted Critical
Publication of KR101851843B1 publication Critical patent/KR101851843B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • 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
    • G06Q2230/00Voting or election arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 다수의 사용자가 가상공간에서 협업하여 객체(object)를 편집하는 데 있어, 다수의 사용자에서 선출되는 리더를 통하여 객체의 편집 및 복제가 이루어지므로 편집 충돌을 방지할 수 있는 3D 편집 협업 시스템, 방법 및 기록매체를 제공하는 것이다.
이를 위해, 본 발명은 객체(X)의 편집 액션을 수행하는 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자(B)로 구성되는 사용자 그룹 및 사용자 그룹에서 각각의 사용자들이 갖는 에디팅 모듈 및 컨센서스 모듈을 포함하고, 리더(L)는 제 1 사용자(A)에게서 상기 객체(X)의 편집(M(A, X)) 액션 요청을 수신한 후, 컨센서스 모듈에 저장된 락킹 알고리즘 및 컨센서스 알고리즘을 통해 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹하고, 사용자 그룹 내의 각각의 사용자들에게 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션을 업데이트하는 3D 편집 협업 시스템, 방법 및 기록매체를 개시한다.
The present invention relates to a 3D editing collaboration system capable of preventing an editing conflict because an object is edited and duplicated through a reader selected by a plurality of users in editing an object by collaborating in a virtual space by a plurality of users A method, and a recording medium.
To this end, the present invention comprises a user group consisting of a first user A performing an editing action of an object X, an elected reader L and a plurality of collaborating users B, And the reader L receives the edit (M (A, X)) action request of the object X from the first user A, Editing of the object X alone to the first user A so that other users B in the user group can not perform the edit (M (B, X)) action of the object X through the algorithm and the consensus algorithm (M (A, X)) rights of the first user A to the respective users in the user group and to update the editing (M (A, X) Edit collaboration system, method, and recording medium.

Description

3D 편집 협업 시스템, 방법 및 기록매체{3D editing collaboration system, method and recording media using the same}A 3D editing collaboration system, method and recording medium,

본 발명은 3D 편집 협업 시스템, 방법 및 기록매체에 관한 것이다. 보다 상세하게는 사용자 그룹 내에서 3D 객체의 편집 권한을 제어하는 리더를 선출하는 것이 가능하며, 선출된 리더를 통해 단독으로 3D 객체의 편집에 대한 권한을 부여받을 수 있으며, 편집된 객체의 로그를 협업하는 사용자들에게 복제하여 업데이트하는 것이 가능한 3D 편집 협업 시스템, 방법 및 기록매체에 관한 것이다.The present invention relates to a 3D editing collaborative system, method, and recording medium. More specifically, it is possible to select a reader for controlling the editing right of the 3D object in the user group, and the right to edit the 3D object can be given independently by the selected reader, To a 3D editing collaborative system, method, and recording medium capable of replicating and updating to collaborating users.

모바일 기기 및 통신망의 발전에 따라, 가상공간 활용이 증가하고 있으며, 최근에는 다수의 사용자가 가상공간에서 함께 데이터를 수집, 저장 및 가공하여 처리하도록 하는 협업 서비스 제공 시스템이 증가하고 있다.With the development of mobile devices and communication networks, the utilization of virtual space has been increasing. In recent years, there has been an increasing number of collaborative service providing systems for collecting, storing, processing and processing data together in a virtual space.

이러한 가상공간상의 협업 시스템은 다수의 사용자가 현실상에서 한 공간에 모이지 않고도, 함께 일을 처리할 수 있도록 할 수 있기 때문에 업무의 효율을 높일 수 있으며, 시간과 공간의 제약을 극복할 수 있어 최근 많은 주목을 받고 있다.This collaborative system in the virtual space can increase the efficiency of work and overcome time and space constraints because many users can work together without gathering in one space in reality. It is getting attention.

하지만, 이러한 가상공간상의 협업 시스템은 다수의 사용자가 객체(object)를 편집하는 데 있어, 동시 접속하여 편집할 가능성이 있으므로 데이터 손실 및/또는 손상을 초래하는 편집 충돌을 유발할 수 있다.However, a collaborative system in such a virtual space may cause an editing conflict that causes data loss and / or damage because a plurality of users are editing the object, and are likely to simultaneously edit and access the object.

본 발명은 다수의 사용자가 가상공간에서 협업하여 객체(object)를 편집하는 데 있어, 다수의 사용자에서 선출되는 리더를 통하여 객체의 편집 및 복제가 이루어지므로 편집 충돌을 방지할 수 있는 3D 편집 협업 시스템, 방법 및 기록매체를 제공하는 것이다.The present invention relates to a 3D editing collaboration system capable of preventing an editing conflict because an object is edited and duplicated through a reader selected by a plurality of users in editing an object by collaborating in a virtual space by a plurality of users A method, and a recording medium.

또한, 본 발명은 리더가 사용자 그룹에 네트워크 연결이 끊긴 것으로 판단되면, 새로운 리더를 선출하는 과정이 진행되는 3D 편집 협업 시스템, 방법 및 기록매체를 제공하는 것이다.The present invention also provides a 3D editing collaborative system, method, and recording medium in which a process of selecting a new leader is performed when a reader is determined that a network connection to a user group is disconnected.

한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are not intended to limit the invention to the precise form disclosed. It can be understood.

본 발명의 일 실시예에 따른 3D 편집 협업 시스템은 객체(X)의 편집(M(A, X)) 액션을 수행하는 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자(B)로 구성되는 사용자 그룹에서 각각의 사용자들이 갖는 에디팅 모듈 및 컨센서스 모듈을 포함하고, 리더(L)는, 제 1 사용자(A)에게서 객체(X)의 편집(M(A, X)) 액션 요청을 수신한 후, 자신의 컨센서스 모듈에 저장된 락킹 알고리즘 및 컨센서스 알고리즘을 통해 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 제 1 사용자(A)에게 단독으로 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹하고, 사용자 그룹 내의 각각의 사용자들에게 제 1 사용자(A)의 객체(X)의 편집(M(A, X)) 액션을 업데이트한다.The 3D editing collaborative system according to an embodiment of the present invention includes a first user A performing an editing (M (A, X)) action of an object X, an elected reader L and a plurality of collaborating users (A, X) of the object X from the first user A, and the reader L includes an editing module and a consensus module, which each user has in the user group composed of the user B, (B, X)) action of the object X through the locking algorithm and the consensus algorithm stored in the consensus module of its own, after receiving the action request, (M (A, X)) authority of the object X to the user A alone and locks it, and the editing of the object X of the first user A is performed for each user in the user group M (A, X)) action.

락킹 알고리즘은 컨센서스 모듈에 저장된 하기의 락 조건 및 로그 조건을 기준을 포함하고, 리더(L)는 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 요청이 락 조건 및 로그 조건에 순차적으로 부합하면, 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 할 수 있다. The locking algorithm includes a criterion for the following locking condition and log condition stored in the consensus module and the reader L has a request for editing (M (A, X)) of the object X of the first user A, (B, X) action of the object X if the user A and the user A meet the condition and the log condition sequentially, X) (M (A, X)) authority of the user.

- 락 조건: 사용자 그룹 내의 모든 사용자들에게 객체(X)에 대한 편집 액션이 락킹 되지 않았거나, 상기 객체(X)의 편집(M(A, X)) 액션 요청자에 의해 객체(X)에 대한 편집 액션이 락킹 됨.- Lock condition: the edit action for the object (X) is not locked to all users in the user group or the edit (M (A, X)) of the object (X) The edit action is locked.

- 로그 조건: 현재 로그의 색인부터 커밋(Commit)된 로그의 색인에 기록된 로그 중 요청자와 다른 사용자(B)들에게 객체(X)에 대한 편집 요청이 없음.- Log condition: There is no request to edit the object (X) to the requester and other users (B) among the logs recorded in the index of the committed log since the index of the current log.

컨센서스 알고리즘에서, 제 1 사용자(A)에게서 상기 객체(X)의 편집(M(A, X)) 액션에 대해 요청을 수신한 리더(L)는 투표 요청 메시지를 사용자 그룹 내의 사용자들에게 전달하고, 투표 요청 메시지를 받은 사용자 그룹 내의 사용자들 각각은 객체(X)의 편집 액션 이전까지의 자신 로그 정보가 리더(L)의 로그 정보와 동일한지 확인하고, 리더(L)의 로그 정보와 자신의 이전 로그가 동일하면 동기화된 것으로 판단하고, 리더(L)에게 가능하다는 답변 메시지를 회신하며, 리더(L)는 사용자 그룹 내의 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값보다 크다면 제 1 사용자(A)에게서 받은 상기 객체(X)의 편집(M(A, X)) 액션에 관한 로그를 복제하고 로그 정보를 사용자 그룹 내의 사용자들 각각에 업데이트를 진행할 수 있다.  In the consensus algorithm, the reader L who receives the request for the edit (M (A, X)) action of the object X from the first user A transmits the vote request message to the users in the user group , Each of the users in the user group receiving the voting request message verifies that the log information of the user L before the edit action of the object X is the same as the log information of the reader L, If the previous log is the same, it is determined that the previous log is synchronized, and the response message to the reader L is returned. If the number of response messages received from each of the users in the user group is larger than a preset value, (M (A, X)) action of the object X received from the user A and to update the log information to each of the users in the user group.

컨센서스 알고리즘에서, 리더(L)로부터 투표 요청 메시지를 받은 사용자 그룹 내의 사용자 중 제 2 사용자가 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면, 제 2 사용자는 리더(L)에게 로그 복구 작업에 대해 답변 메시지를 회신하고, 로그 복구 작업 답변 메시지를 받은 리더(L)는 제 2 사용자와 지속적인 메시지 송수신을 통하여 제 2 사용자와 상이한 로그 정보를 제 2 사용자에게 전달하여, 로그 정보가 동기화되도록 제 2 사용자의 로그 복구작업을 진행할 수 있다. In the consensus algorithm, if the second user among the users in the user group that has received the vote request message from the leader L confirms that the log information of the leader L is different from his previous log, The reader L that has received the log recovery operation reply message transmits the log information different from the second user to the second user through continuous message transmission and reception with the second user, The log recovery operation of the second user can be performed so as to be synchronized.

제 1 사용자(A)는 자신의 에디팅 모듈에서 수행한 상기 객체(X)의 편집(M(A, X)) 액션을 컨센서스 모듈에 전달하고, 제 1 사용자(A)는 자신의 컨센서스 모듈을 통해 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신할 수 있다. The first user A delivers the editing (M (A, X)) action of the object X performed by its editing module to the consensus module, and the first user A accesses the consensus module (M (A, X)) action request of the object X to the reader L. [

제 1 사용자(A)의 컨센서스 모듈에서 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션이 자신의 컨센서스 모듈에 저장된 락 조건에 부합되는지 판단한 후, 락 조건에 부합하면, 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신할 수 있다. After determining in the consensus module of the first user A whether the edit (M (A, X)) action of the object X of the first user A conforms to the lock condition stored in its consensus module, (M (A, X)) action request of the object X to the reader L, if it matches the M (A, X)

사용자 그룹 내의 리더(L)는 선출되어 결정되며, 다른 사용자(A, B)들과 네트워크 연결이 끊긴 것으로 판단되는 경우, 새로운 리더(L)를 선출할 수 있다. The reader L in the user group is selected and determined and when it is determined that the network connection with the other users A and B is disconnected, a new reader L can be selected.

리더(L)는 네트워크 연결을 확인받기 위해 사용자 그룹의 다른 사용자(A, B)들에게 지속적으로 박동 신호를 송신하고, 사용자 그룹의 다른 사용자(A, B)들은 기설정된 시간 내에 리더(L)로부터 박동 신호를 수신하지 못하면, 리더(L)의 네트워크 연결이 끊긴 것으로 판단하고, 사용자 그룹 내에서 후보자를 선정하고, 투표를 통해 과반수 이상이 동의 하면 후보자를 새로운 리더(L)로 선출할 수 있다. The reader L continuously transmits a beating signal to the other users A and B of the user group to confirm the network connection and the other users A and B of the user group transmit the beacon signal to the reader L within a predetermined time, It is determined that the network connection of the reader L is disconnected and a candidate is selected in the user group. If more than half of the votes are agreed upon, a candidate can be selected as a new leader L .

제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션은 객체(X)의 추가, 수정, 이동 또는 삭제 중 적어도 하나일 수 있다. The editing (M (A, X)) action of the object X of the first user A may be at least one of adding, modifying, moving, or deleting the object X.

본 발명의 일 실시예에 따른 3D 편집 협업 방법은 제 1 사용자(A)가 자신의 에디팅 모듈에서 상기 객체(X)의 편집(M(A, X)) 액션을 수행하고, 자신의 컨센서스 모듈로 상기 객체(X)의 편집(M(A, X)) 액션을 전달하는 (I)단계, 제 1 사용자(A)의 컨센서스 모듈을 통해 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션을 요청하는 (II)단계, 리더(L)가 자신의 컨센서스 모듈에 저장된 락킹 알고리즘 및 컨센서스 알고리즘을 통해 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 하는 (III)단계 및 사용자 그룹 내의 각각의 사용자들에게 제 1 사용자(A)의 객체(X) 편집(M(A, X)) 액션을 업데이트하는 (IV)단계를 포함한다. A 3D editing collaborative method according to an embodiment of the present invention is a method in which a first user A performs an editing (M (A, X)) action of the object X in its editing module, (I) of delivering an edit (M (A, X)) action of the object X to the reader L through a consensus module of the first user A, (M) of the object X via the locking algorithm and the consensus algorithm stored in the consensus module of the reader L by the reader L, (III) authorizing and locking the editing (M (A, X)) rights of the object (X) to the first user (A) so as not to perform the action (IV) of editing the object (X) edit (M (A, X)) action of the first user (A) to the users.

(III)단계에서, 락킹 알고리즘은 컨센서스 모듈에 저장된 하기의 락 조건 및 로그 조건을 기준을 포함하고, 리더(L)는 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 요청이 락 조건 및 로그 조건에 순차적으로 부합하면, 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 할 수 있다. In step (III), the locking algorithm includes a reference to the following locking condition and log condition stored in the consensus module, and the reader L includes an edit (M (A) of the object X of the first user A, A) action to prevent other users B in the user group from performing the edit (M (B, X)) action of the object X if the request (X) (M (A, X)) authority of the object X can be given to the object X alone and locked.

- 락 조건: 사용자 그룹 내의 모든 사용자들에게 객체(X)에 대한 편집 액션이 락킹 되지 않았거나, 상기 객체(X)의 편집(M(A, X)) 액션 요청자에 의해 객체(X)에 대한 편집 액션이 락킹 됨.- Lock condition: the edit action for the object (X) is not locked to all users in the user group or the edit (M (A, X)) of the object (X) The edit action is locked.

- 로그 조건: 현재 로그의 색인부터 커밋(Commit)된 로그의 색인에 기록된 로그 중 요청자와 다른 사용자(B)들에게 객체(X)에 대한 편집 요청이 없음.- Log condition: There is no request to edit the object (X) to the requester and other users (B) among the logs recorded in the index of the committed log since the index of the current log.

(III)단계에서, 컨센서스 알고리즘을 구현하는 단계는 제 1 사용자(A)에게서 상기 객체(X)의 편집(M(A, X)) 액션에 대해 요청을 수신한 리더(L)가 투표 요청 메시지를 사용자 그룹 내의 사용자들에게 전달하는 (III-i)단계, 표 요청 메시지를 받은 사용자 그룹 내의 사용자들 각각은 객체(X)의 편집 액션 이전까지의 자신 로그 정보가 리더(L)의 로그 정보와 동일한지 확인하는 (III-ii)단계, 리더(L)의 로그 정보와 자신의 이전 로그가 동일하면 동기화된 것으로 판단하고, 리더(L)에게 가능하다는 답변 메시지를 회신하는 (III-iii)단계, 리더(L)가 사용자 그룹 내의 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값 보다 크다면 제 1 사용자(A)에게서 받은 상기 객체(X)의 편집(M(A, X))에 관한 액션 로그를 복제하는 (III-iv)단계 및 로그 정보를 사용자 그룹 내의 사용자들 각각에 업데이트를 진행하는 (III-v)단계를 포함할 수 있다.In step (III), the step of implementing the consensus algorithm may be performed by a reader (L) who receives a request for an edit (M (A, X)) action of the object (X) from a first user To the users in the user group. In step (III-i), the users in the user group receiving the table request message transmit their log information before the edit action of the object X to the log information of the reader L (III-ii) a step (III-ii) for confirming whether or not the same is identical to the previous log of the reader L, and returning a response message to the reader L (M (A, X)) of the object X received from the first user A if the number of response messages received from each of the users in the user group is larger than a preset value, (III-iv) of copying the log and the step And (III-v) step of updating each of the users.

(III)단계에서, 컨센서스 알고리즘을 구현하는 단계 중(III-ii)단계에서, 리더(L)로부터 투표 요청 메시지를 받은 사용자 그룹 내의 사용자 중 제 2 사용자가 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면, 제 2 사용자는 리더(L)에게 로그 복구 작업에 대해 답변 메시지를 회신하는 (III-vi)단계 및 로그 복구 작업 답변 메시지를 받은 리더(L)가 제 2 사용자와 지속적인 메시지 송수신을 통하여 제 2 사용자와 상이한 로그 정보를 제 2 사용자에게 전달하여, 로그 정보가 동기화되도록 제 2 사용자의 로그 복구작업을 진행하는 (III-vii)단계를 더 포함할 수 있다.The second user among the users in the user group that receives the vote request message from the reader L in step (III-ii) of the step of implementing the consensus algorithm in step (III) (III-vi) in which the second user returns a response message to the reader L in response to the log recovery operation, and if the reader L receives the log recovery operation response message, (III-vii) transmitting the log information different from the second user to the second user through the continuous message transmission / reception and proceeding the log recovery operation of the second user so that the log information is synchronized.

(I)단계에서, 제 1 사용자(A)의 컨센서스 모듈에서 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션이 자신의 컨센서스 모듈에 저장된 락 조건에 부합되는지 판단한 후, 락 조건에 부합하면, 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신할 수 있다. (M (A, X)) action of the object X of the first user A in the consensus module of the first user A conforms to the locking condition stored in its consensus module in step (I) (M (A, X)) action request to the reader L if it meets the lock condition after determining that the object X is in the locked state.

사용자 그룹 내의 리더(L)는 선출되어 결정되며, 리더(L)가 다른 사용자(A, B)들과 네트워크 연결이 끊긴 것으로 판단되는 경우, 새로운 리더(L)를 선출하는 단계를 더 포함할 수 있다. The reader L in the user group is selected and determined and may further include a step of selecting a new reader L when it is determined that the network L is disconnected from the other users A and B have.

새로운 리더(L)를 선출하는 단계는,  The step of selecting a new leader (L)

사용자 그룹의 다른 사용자(A, B)에서 네트워크 연결을 확인받기 위해 지속적으로 박동 신호를 송신하는 리더(L)의 박동 신호를 수신하는 단계, 사용자 그룹의 다른 사용자(A, B)에서 기설정된 시간 내에 리더(L)로부터 박동 신호를 수신하지 못하면, 리더(L)의 네트워크 연결이 끊긴 것으로 판단하는 단계 및 사용자 그룹 내에서 후보자를 선정하고, 투표를 통해 과반수가 동의하면 후보자를 새로운 리더(L)로 선출하는 단계를 포함할 수 있다. Receiving a beating signal of a reader (L) that continuously transmits a beating signal to confirm a network connection from another user (A, B) of a user group, receiving a beating signal from another user (A, B) Determining that the network connection of the reader L is disconnected if the heartbeat signal is not received from the reader L in the user group and selecting a candidate in the user group, As shown in FIG.

제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션은 객체(X)의 추가, 수정, 이동 또는 삭제 중 적어도 하나일 수 있다.The editing (M (A, X)) action of the object X of the first user A may be at least one of adding, modifying, moving, or deleting the object X.

또한, 본 발명의 일 실시예는 상술한 3D 편집 협업 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서 달성될 수 있다.Further, an embodiment of the present invention can be achieved as a computer-readable recording medium on which a program for executing the above-described 3D editing collaborative method is recorded.

본 발명에 따른 3D 편집 협업 시스템, 방법 및 기록매체는 다수의 사용자가 가상공간에서 협업하여 객체(object)를 편집하는 데 있어, 다수의 사용자에서 선출되는 리더를 통하여 객체의 편집 및 복제가 이루어지므로 편집 충돌을 방지할 수 있다.The 3D editing collaborative system, method, and recording medium according to the present invention allow a plurality of users to edit an object by collaborating in a virtual space, and editing and copying of the object are performed through a reader selected from a plurality of users It is possible to prevent an editing conflict.

본 발명에 따른 3D 편집 협업 시스템, 방법 및 기록매체는 리더가 사용자 그룹에 네트워크 연결이 끊긴 것으로 판단되면, 새로운 리더를 선출하는 과정이 진행될 수 있다.The 3D editing collaborative system, method, and recording medium according to the present invention may proceed to a process of selecting a new leader when it is determined that the network connection to the user group is disconnected by the reader.

한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It should be understood, however, that the effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those skilled in the art to which the present invention belongs It will be possible.

도 1 내지 도 4는 본 발명의 일 실시예에 따른 3D 편집 협업 시스템의 운영 과정을 개략적으로 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 3D 편집 협업 방법을 나타내는 흐름도이다.
1 to 4 are block diagrams schematically illustrating an operation process of a 3D editing collaborative system according to an embodiment of the present invention.
5 is a flowchart illustrating a 3D editing collaborative method according to an embodiment of the present invention.

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

본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.The embodiments of the present invention are described in order to more fully explain the present invention to those skilled in the art, and the following embodiments may be modified in various other forms, The present invention is not limited to the embodiment. Rather, these embodiments are provided so that this disclosure will be more faithful and complete, and will fully convey the scope of the invention to those skilled in the art.

또한, 이하의 도면에서 각 구성은 설명의 편의 및 명확성을 위하여 과장된 것이며, 도면상에서 동일 부호는 동일한 요소를 지칭한다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는" 는 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.Also, in the following drawings, each configuration is exaggerated for convenience and clarity of description, and the same reference numerals denote the same elements in the drawings. As used herein, the term "and / or" includes any and all combinations of any of the listed items.

본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

본 명세서에서 사용된 바와 같이, 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)." 및/또는 "포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및 /또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.As used herein, the singular forms "a," "an," and "the" include singular forms unless the context clearly dictates otherwise. Also, "comprise" as used herein. And / or "comprising" when used herein are intended to specify the presence of stated features, integers, steps, operations, elements, elements and / And / or groups.

다음은 도 1 내지 도 4 참조하여, 본 발명의 일 실시예에 따른 3D 편집 협업 시스템을 설명한다.1 to 4, a 3D editing collaborative system according to an embodiment of the present invention will be described.

도 1 내지 도 4는 본 발명의 일 실시예에 따른 3D 편집 협업 시스템의 운영 과정을 개략적으로 나타내는 블록도이다.1 to 4 are block diagrams schematically illustrating an operation process of a 3D editing collaborative system according to an embodiment of the present invention.

도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 3D 편집 협업 시스템은 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자(B)로 구성되는 사용자 그룹과 사용자 그룹에서 각각의 사용자들이 갖는 에디팅 모듈(Editing module) 및 컨센서스 모듈(Consensus module)을 포함한다.1 to 4, a 3D editing collaborative system according to an embodiment of the present invention includes a user group consisting of a first user A, an elected leader L, and a plurality of collaborating users B, And an editing module and a consensus module of each user in the user group.

각각의 사용자들은 시스템의 노드(node)로 구성되며, 도 2 및 도 3에 도시된 바와 같이 리더(leader), 사용자들(follower) 및 후보자(candidate)로서 3가지 역할을 수행할 수 있다.Each user is configured as a node of the system, and can perform three roles as a leader, a follower, and a candidate as shown in FIGS. 2 and 3.

에디팅 모듈(Editing module)은 3D 편집 협업 시스템에서 3D 객체의 편집 작업을 담당하는 모듈로서 에디터 화면 업데이트 및 작업에 따라 컨센서스 모듈로 작업 요청을 전달하는 기능을 수행한다.The editing module is a module for editing 3D objects in the 3D editing collaborative system and updates the editor screen and delivers work requests to the consensus module according to the work.

컨센서스 모듈(Consensus module)은 3D 편집 협업 시스템에서 컨센서스 알고리즘(Consensus Algorithm)을 담당하는 모듈로서 에디팅 모듈에서 전달받은 작업에 따라 리더(L)로 요청을 보내거나 리더(L)가 보내는 액션을 에디터 화면에 반영하도록 에디팅 모듈로 전달하는 기능을 수행한다.The consensus module is a module responsible for the consensus algorithm in the 3D editing collaborative system. The consensus module sends a request to the reader L in response to a task received from the editing module or transmits an action sent by the reader L to an editor screen To the editing module.

여기서, 컨센서스 알고리즘(Consensus Algorithm)은 제 1 사용자(A)가 요청하는 객체(X)의 편집 요청에 대한 로그 복제를 위하여, 각 사용자들에게 투표를 진행할 수 있다.Here, the consensus algorithm (Consensus Algorithm) can vote for each user for log duplication of the edit request of the object (X) requested by the first user (A).

리더(L)는 컨센서스 알고리즘에서 리더 선출을 통하여 선출된 노드로서 각 사용자들에게 요청을 받아 로그 복제를 위한 투표를 진행하거나 결과를 반영하는 역할을 담당한다.The leader (L) is the elected node through the leader election in the consensus algorithm. It receives the request from each user and plays the role of voting for the log duplication or reflecting the result.

각 사용자(A, B)는 컨센서스 알고리즘에서 투표를 진행하는 노드로서 컨센서스 달성을 위하여 리더(L)에게 각 액션 요청을 보내거나(A) 리더(L)가 전달하는 액션을 전달받는(B) 역할을 담당한다.Each user A and B is a node for voting in a consensus algorithm and sends each action request to the leader L for achieving consensus or A receives the action transmitted by the leader L .

여기서, 도 2 및 도 3을 참조하면, 리더(L)는 네트워크 연결을 확인받기 위하여, 각 사용자(A, B)들에게 지속적으로 박동 신호(heartbeat massage)를 송신한다.2 and 3, the reader L continuously transmits a heartbeat message to each of the users A and B in order to confirm the network connection.

만약, 설정된 시간 내에 각 사용자(A, B)들이 이러한 박동 신호를 수신하지 못하면, 리더(L)의 네트워크 연결이 끊긴 것으로 판단하고, 각 사용자(A, B) 중 하나는 리더(L)가 될 후보자(candidate)로 선정된다. 이후, 후보자(candidate)가 과반수(majority) 이상으로 동의를 받으면 새로운 리더(New-Leader)로 선출될 수 있다.If each of the users A and B does not receive the beep signal within the set time, it is determined that the network connection of the reader L is disconnected and one of the users A and B becomes the reader L It is selected as a candidate. Thereafter, if a candidate receives more than a majority, he can be elected as a new leader.

여기서, 새롭게 선출된 리더(New-Leader)는 기존의 리더(L)의 역할을 동일하게 수행하여, 3D 편집 협업 시스템의 운영에 끊김이 없도록 한다.Here, the newly-selected leader (New-Leader) performs the same role of the existing reader L so that the operation of the 3D editing collaborative system is not interrupted.

다음은 도 5를 함께 참조하여, 본 발명의 일 실시예에 따른 3D 편집 협업 시스템에서의 3D 편집 협업 방법을 설명한다.5, a 3D editing collaborative method in a 3D editing collaborative system according to an embodiment of the present invention will be described.

도 5는 본 발명의 일 실시예에 따른 3D 편집 협업 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a 3D editing collaborative method according to an embodiment of the present invention.

도 5를 함께 참조하면, 본 발명의 일 실시예에 따른 3D 편집 협업 방법은 객체(X)의 편집 액션을 수행하는 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자(B) 각각에서 이루어지는 순차적인 단계로 구성된다.5, a 3D editing collaboration method according to an embodiment of the present invention includes a first user A performing an editing action of an object X, an elected reader L, and a plurality of collaborating users B), respectively.

여기서, 설명의 편의를 위해 리더(L)는 네트워크 연결이 끊어지지 않는 것으로 가정하며, 협업하는 다수의 사용자(B) 중 제 2 사용자(B)에 대해서만 도시하였으며, 리더(L)와 협업하는 제 2 사용자(B)에게서의 에디팅 모듈(Editing module)은 생략한다.Here, for the sake of convenience of explanation, the reader L assumes that the network connection is not disconnected, and only the second user B among the plurality of users B collaborating is illustrated, 2 The editing module from the user B is omitted.

우선, 제 1 사용자(A)는 자신의 에디팅 모듈에서 상기 객체(X)의 편집(M(A, X))을 실행(SA1)한다. 여기서, 상기 객체(X)의 편집(M(A, X))은 추가, 수정, 이동 또는 삭제 중 적어도 하나일 수 있다.First, the first user A executes editing (M (A, X)) of the object (X) in its editing module (SA1). Here, the editing (M (A, X)) of the object X may be at least one of addition, modification, movement, or deletion.

이후, 제 1 사용자(A)의 에디팅 모듈에서 컨센서스 모듈로 상기 객체(X)의 편집(M(A, X))에 대한 작업 요청을 전달하며, 제 1 사용자(A)의 컨센서스 모듈에서는 자신의 락 테이블을 확인(SA2)한다. 여기서, 락킹 테이블은 각 사용자 모두 가지고 있으며 락킹 알고리즘에 의하여 동기화된다.Then, the editing module of the first user A delivers a work request for the editing (M (A, X)) of the object X to the consensus module, and the consensus module of the first user (A) Confirm the lock table (SA2). Here, the locking table is held by each user and is synchronized by a locking algorithm.

락 테이블에 저장된 락 조건(Lock Condition)에 만족하면, 제 1 사용자(A)의 컨센서스 모듈에서는 상기 객체(X)의 편집(M(A, X)) 액션에 대해 락킹이 되어 있지 않은 것으로 판단(SA3)한다. 여기서, 락 조건은 현재 객체(X)를 어떤 사용자가 사용(락킹)중 인지를 확인하는 조건을 의미하며, 다음과 같이 테이블에 기록된다.(M (A, X)) action of the object X is judged not to be locked in the consensus module of the first user (A) if the lock condition stored in the lock table is satisfied SA3). Here, the lock condition means a condition for confirming which user is currently using (locking) the current object X, and is recorded in the table as follows.

Lock Condition=(X is not locked) or (X is locked by A)Lock Condition = (X is not locked) or (X is locked by A)

다른 사용자(B)가 사용 중이면 False를 반환하여 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X))을 종료하며, 아무도 사용하고 있지 않거나 자기 자신(요청자, A)이 사용 중이라면 True값을 반환한다.(A (A, X)) of the object X of the first user A is returned by returning False if another user B is in use, ) Is in use, it returns True.

락 조건에 만족하면, 제 1 사용자(A)의 컨센서스 모듈에서는 상기 객체(X)의 편집(M(A, X)) 액션에 대해 리더(L)에게 요청(SA4)한다.If the lock condition is satisfied, the consensus module of the first user A requests the reader L (SA4) for the editing (M (A, X)) action of the object X.

상기 객체(X)의 편집(M(A, X)) 액션에 대해 요청을 받은(SL1) 리더(L)의 컨센서스 모듈에서는 자신의 락 테이블을 확인(SL2)한다. 여기서, 락킹 테이블은 각 사용자 모두 가지고 있으며 락킹 알고리즘에 의하여 동기화되나, 간혹 네트워크의 문제로 동기화에 오류가 있을 경우를 대비하여, 리더(L)의 컨센서스 모듈에서는 자신의 락 테이블로 다시 한번 확인(SL2)한다.The consensus module of the reader (SL1) that receives the request for the editing (M (A, X)) action of the object (X) confirms its own lock table (SL2). Here, the locking table is owned by each user and is synchronized by the locking algorithm. However, in case that there is an error in the synchronization due to a network problem, the consensus module of the reader (L) )do.

락 테이블에 저장된 락 조건(Lock Condition)에 만족하면, 리더(B)의 컨센서스 모듈에서는 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션에 대해 락킹이 되어 있지 않은 것으로 판단(SL3)한다. 여기서, 락 조건은 현재 객체(X)를 어떤 사용자가 사용(락킹)중 인지를 확인하는 조건을 의미한다. 다른 사용자(B)가 사용 중이면 False를 반환하여 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X))을 종료하며, 아무도 사용하고 있지 않거나 요청자(A)가 사용 중이라면 True 값을 반환한다.(M (A, X)) action of the object X of the first user A is locked in the consensus module of the reader B if the lock condition stored in the lock table is satisfied (SL3). Here, the lock condition means a condition for confirming which user is currently using (locking) the current object X. (A (X)) of the object X of the first user A is returned by returning False if the other user B is in use, If it is in the middle, it returns True.

락 조건에 만족하면, 리더(L)의 컨센서스 모듈에서는 자신이 가지고 있는 로그(Log)를 순서대로 확인(SL4)한다. 여기서, 컨센서스 알고리즘의 로그 복제를 위하여 리더(L)와 모든 사용자(A, B)는 각각 자신의 로그(Log) 기록을 가지고 있다.If the lock condition is satisfied, the consensus module of the reader L confirms its own log in order (SL4). Here, for the log replication of the consensus algorithm, the reader L and all users A and B have their own log records.

리더(L)의 컨센서스 모듈에서는 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션을 자신의 로그에 추가할 수 있는지를 판단하기 위해 로그 조건(Log Condition)을 확인(SL5)한다. 여기서, 로그 조건은 다음과 같이 테이블에 기록된다.The consensus module of the reader L determines the log condition to determine whether the edit (M (A, X)) action of the object X of the first user A can be added to its own log, (SL5). Here, the log condition is recorded in the table as follows.

Log Condition = for any user B different from A, not (M(B, X) in Log[curIdx:comIdx]) and not (D(B, X) in Log[curIdx:comIdx])LogId: comIdx]) and not (D (B, X) in Log [curIdx: comIdx]

즉, 제 1 사용자(A)가 이미 객체(X)에 대하여 수정 또는 삭제 작업을 요청했다면 리더(L)의 로그에 해당 액션이 추가될 것이고, 이후 제 1 사용자(A)가 아닌 다른 사용자(B)가 동일한 객체(B)에 대하여 수정 또는 삭제 요청을 한다면 그 요청을 로그에 넣지 않기 위하여 현재 로그에 있는지(curIdx:comIdx - 현재(current) 로그의 Index 부터 커밋된(Commit) 로그의 Index까지) 확인한다.That is, if the first user A has already requested a modification or deletion operation on the object X, the corresponding action will be added to the log of the reader L, and then the user B other than the first user A ) Is in the current log (curIdx: comIdx - from the current to the current (current) index to the index of the committed log) so that if the request is to modify or delete the same object (B) Check.

리더(L)의 컨센서스 모듈에서는 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션을 자신의 로그에 입력(SL6)하고, 로그의 복제를 위해 컨센서스 알고리즘(S6)을 구현한다.The consensus module of the reader L inputs the edit (M (A, X)) action of the object X of the first user A to its own log SL6 and executes a consensus algorithm S6).

컨센서스 알고리즘(S6)에서, 리더(L)의 컨센서스 모듈은 사용자 그룹에 로그 등록을 위한 투표를 요청(SL6-1)한다. In the consensus algorithm S6, the consensus module of the reader L requests the user group to vote for the log registration (SL6-1).

여기서, 리더(L)의 컨센서스 모듈에서는 투표 요청 메시지를 사용자 그룹 내의 사용자들에게 전달하며, 투표 요청 메시지를 받은 사용자 그룹 내의 사용자들 각각은 객체(X)의 편집 액션 이전까지의 자신 로그 정보가 리더(L)의 로그 정보와 동일한지 확인한다. Herein, in the consensus module of the reader L, the voting request message is delivered to the users in the user group, and each of the users in the user group receiving the voting request message transmits its own log information until the edit action of the object X (L).

이에 따라, 리더(L)의 로그 정보와 자신의 이전 로그가 동일하면 동기화된 것으로 판단하면, 리더(L)에게 가능하다는 답변 메시지를 회신하며, 리더(L) 측에서는 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값(과반수) 보다 큰 것으로 판단(S7-3)하면 제 1 사용자(A)에게서 받은 상기 객체(X)의 편집(M(A, X))에 관한 액션 로그를 복제(SL8)한다. 또한, 로그 정보를 사용자 그룹 내의 사용자들 각각에 업데이트(SA9, SL9, SB9 ...) 한다.Accordingly, if it is determined that the log information of the reader L is the same as the previous log of the reader L, the reader L returns an answer message indicating that the reader L is possible, and the reader L transmits an answer message (Step S7-3), it replicates the action log relating to the editing (M (A, X)) of the object X received from the first user A (SL8) . Also, the log information is updated (SA9, SL9, SB9 ...) to each user in the user group.

허나, 리더(L)로부터 투표 요청 메시지를 받은 사용자 그룹 내의 사용자 중 제 2 사용자(B)가 상기 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면, 제 2 사용자(B)는 리더(L)에게 로그 복구 작업에 대해 답변 메시지를 회신한다. However, if the second user B among the users in the user group that has received the vote request message from the reader L confirms that the log information of the reader L is different from his previous log, the second user B And returns a response message to the reader L regarding the log recovery operation.

이러한 과정 중, 로그 복구 작업 답변 메시지를 받은 리더(L)는 제 2 사용자(B)와 지속적인 메시지 송수신하며, 제 2 사용자(B)와 상이한 로그 정보를 제 2 사용자(B)에게 전달하여, 로그 정보가 동기화되도록 제 2 사용자(B)의 로그 복구 작업을 진행한다.In this process, the reader L receiving the log recovery operation reply message continuously transmits and receives a message to and from the second user B, transfers log information different from the second user B to the second user B, The log recovery operation of the second user B is performed so that the information is synchronized.

결과적으로, 리더(L) 측에서는 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값(과반수) 보다 큰 것으로 판단(S7-3)하면 제 1 사용자(A)에게서 받은 상기 객체(X)의 편집(M(A, X))에 관한 액션 로그를 복제(SL8)한다. 또한, 로그 정보를 사용자 그룹 내의 사용자들 각각에 업데이트(SA9, SL9, SB9 ...) 한다.As a result, when the reader L determines that the number of response messages received from each of the users is larger than a preset value (step S7-3), the editing of the object X received from the first user A (A, X)) (SL8). Also, the log information is updated (SA9, SL9, SB9 ...) to each user in the user group.

이로써, 각각의 사용자들의 컨센서스 모듈에서는 제 1 사용자(A)가 요청한 상기 객체(X)의 편집(M(A, X)) 액션이 수행(SA10, SL10, SB10 ...)된다. In this way, in the consensus module of each user, the edit (M (A, X)) action of the object X requested by the first user A is performed (SA10, SL10, SB10 ...).

제 1 사용자(A)가 요청한 상기 객체(X)의 편집(M(A, X)) 액션이 수행(SA10, SL10, SB10….) 것에서, 각각의 사용자(A, L, B)의 락 테이블에 해당 객체(X)의 편집을 락킹(SA10-1, SL10-1, SB10-1 ...)한 후, 객체(X)의 편집(Modify)이 수행(SA10-2, SL10-2, SB10-2 ...)되며, 편집이 종료되며, 각각의 사용자(A, L, B)의 락 테이블에 해당 객체(X)의 편집을 언락킹(SA10-3, SL10-3, SB10-3 ...)한다.(A, L, B) in the execution (SA10, SL10, SB10 ...) of the editing of the object (X) requested by the first user (A) (SA10-1, SL10-1, SB10-1, ...), and then the editing of the object X is performed (SA10-2, SL10-2, SB10 The editing is ended and the editing of the corresponding object X in the lock table of each of the users A, L and B is unlocked (SA10-3, SL10-3, SB10-3. ..)do.

또한, 본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 판독할 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한, 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.In addition, the present invention can be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage, and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

이상에서 설명한 것은 본 발명에 따른 3D 편집 협업 시스템, 방법 및 기록매체를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.The present invention is not limited to the above-described embodiment, but may be embodied in the forms disclosed in the following claims It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (18)

상기 객체(X)의 편집(M(A, X)) 액션을 수행하는 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자(B)로 구성되는 사용자 그룹에서 각각의 사용자들이 갖는 에디팅 모듈 및 컨센서스 모듈; 을 포함하고,
상기 리더(L)는,
상기 제 1 사용자(A)에게서 상기 객체(X)의 편집(M(A, X)) 액션 요청을 수신한 후, 자신의 상기 컨센서스 모듈에 저장된 락킹 알고리즘 및 컨센서스 알고리즘을 통해 상기 사용자 그룹 내의 다른 사용자(B)들이 상기 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 상기 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹하고,
상기 사용자 그룹 내의 각각의 사용자들에게 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션을 업데이트하는 3D 편집 협업 시스템.
In the user group consisting of the first user A performing the editing (M (A, X)) action of the object X, the elected reader L and the plurality of collaborating users B, An editing module and a consensus module; / RTI >
The reader (L)
After receiving an edit (M (A, X)) action request of the object X from the first user A, the other user in the user group through a locking algorithm and a consensus algorithm stored in the consensus module of the user (M (A, X)) authority of the object (X) to the first user (A) so that the first user (B) can not perform the edit (M And then,
(M (A, X)) action of the object (X) of the first user (A) to each user in the user group.
제 1항에 있어서,
상기 락킹 알고리즘은 상기 컨센서스 모듈에 저장된 하기의 락 조건 및 로그 조건을 기준을 포함하고,
상기 리더(L)는 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 요청이 상기 락 조건 및 로그 조건에 순차적으로 부합하면, 상기 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 상기 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 하는 것을 특징으로 하는 3D 편집 협업 시스템.
- 락 조건: 상기 사용자 그룹 내의 모든 사용자들에게 객체(X)에 대한 편집 액션이 락킹 되지 않았거나, 상기 객체(X)의 편집(M(A, X)) 액션 요청자에 의해 객체(X)에 대한 편집 액션이 락킹 됨.
- 로그 조건: 현재 로그의 색인부터 커밋(Commit)된 로그의 색인에 기록된 로그 중 요청자와 다른 사용자(B)들에게 객체(X)에 대한 편집 요청이 없음.
The method according to claim 1,
Wherein the locking algorithm includes a reference to the following locking condition and log condition stored in the consensus module,
If the reader (L) sequentially requests the edit (M (A, X)) of the object (X) of the first user (A) to the lock condition and the log condition, (M (A, X)) authority of the object X alone to the first user A so that the first user A can not perform the edit (M (B, X)) action of the object X The 3D editing collaborative system comprising:
- Lock condition: the edit action for the object X is not locked to all users in the user group or the edit (M (A, X)) action requestor of the object (X) Editing action is locked.
- Log condition: There is no request to edit the object (X) to the requester and other users (B) among the logs recorded in the index of the committed log since the index of the current log.
제 2항에 있어서,
상기 컨센서스 알고리즘에서,
상기 제 1 사용자(A)에게서 상기 객체(X)의 편집(M(A, X)) 액션에 대해 요청을 수신한 상기 리더(L)는 투표 요청 메시지를 상기 사용자 그룹 내의 사용자들에게 전달하고,
상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자들 각각은 상기 객체(X)의 편집 액션 이전까지의 자신 로그 정보가 상기 리더(L)의 로그 정보와 동일한지 확인하고, 상기 리더(L)의 로그 정보와 자신의 이전 로그가 동일하면 동기화된 것으로 판단하고, 상기 리더(L)에게 가능하다는 답변 메시지를 회신하며,
상기 리더(L)는 상기 사용자 그룹 내의 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값 보다 크다면 상기 제 1 사용자(A)에게서 받은 상기 객체(X)의 편집(M(A, X)) 액션에 관한 로그를 복제하고 상기 로그 정보를 상기 사용자 그룹 내의 사용자들 각각에 업데이트를 진행하는 것을 특징으로 하는 3D 편집 협업 시스템.
3. The method of claim 2,
In the consensus algorithm,
The reader L having received the request for the edit (M (A, X)) action of the object X from the first user A transmits a vote request message to the users in the user group,
Each of the users in the user group that has received the voting request message verifies whether the log information of the user before the edit action of the object X is the same as the log information of the reader L, If the information and the previous log of the same are the same, it is determined that the information is synchronized, and the response message is returned to the reader (L)
If the number of response messages received from each of the users in the user group is greater than a predetermined value, the reader L can perform editing (M (A, X)) actions of the object X received from the first user A And updates the log information to each of the users in the user group.
제 3항에 있어서,
상기 컨센서스 알고리즘에서,
상기 리더(L)로부터 상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자 중 제 2 사용자가 상기 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면,
상기 제 2 사용자는 상기 리더(L)에게 로그 복구 작업에 대해 답변 메시지를 회신하고,
상기 로그 복구 작업 답변 메시지를 받은 상기 리더(L)는 상기 제 2 사용자와 지속적인 메시지 송수신을 통하여 상기 제 2 사용자와 상이한 로그 정보를 상기 제 2 사용자에게 전달하여, 상기 로그 정보가 동기화되도록 상기 제 2 사용자의 로그 복구작업을 진행하는 것을 특징으로 하는 3D 편집 협업 시스템.
The method of claim 3,
In the consensus algorithm,
If a second user among the users in the user group that has received the voting request message from the reader L confirms that the log information of the reader L and the previous log of the reader L are different,
The second user returns an answer message to the reader L regarding the log recovery operation,
The reader L having received the log recovery task response message transmits log information different from the second user to the second user through continuous message transmission and reception with the second user, And a log restoration operation of the user is performed.
제 2항에 있어서,
상기 제 1 사용자(A)는 자신의 상기 에디팅 모듈에서 수행한 상기 객체(X)의 편집(M(A, X)) 액션을 상기 컨센서스 모듈에 전달하고,
상기 제 1 사용자(A)는 자신의 상기 컨센서스 모듈을 통해 상기 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신하는 것을 특징으로 하는 3D 편집 협업 시스템.
3. The method of claim 2,
The first user A transmits an edit (M (A, X)) action of the object X performed by the editing module of the first user A to the consensus module,
Wherein the first user A sends an edit (M (A, X)) action request of the object X to the reader L through the consensus module of its own.
제 5항에 있어서,
상기 제 1 사용자(A)의 상기 컨센서스 모듈에서 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션이 자신의 상기 컨센서스 모듈에 저장된 상기 락 조건에 부합되는지 판단한 후,
상기 락 조건에 부합하면, 상기 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신하는 것을 특징으로 하는 3D 편집 협업 시스템.
6. The method of claim 5,
(M (A, X)) action of the object (X) of the first user (A) in the consensus module of the first user (A) conforms to the locking condition stored in its consensus module After judging,
And sends an edit (M (A, X)) action request of the object (X) to the reader (L) if the lock condition is satisfied.
제 1항에 있어서,
상기 사용자 그룹 내의 상기 리더(L)는 선출되어 결정되며,
다른 사용자(A, B)들과 네트워크 연결이 끊긴 것으로 판단되는 경우, 새로운 리더(L)를 선출하는 것을 특징으로 하는 3D 편집 협업 시스템.
The method according to claim 1,
The reader (L) in the user group is elected and determined,
Selects a new leader (L) when it is determined that the network connection with other users (A, B) is disconnected.
제 7항에 있어서,
상기 리더(L)는 네트워크 연결을 확인받기 위해 상기 사용자 그룹의 상기 다른 사용자(A, B)들에게 지속적으로 박동 신호를 송신하고,
상기 사용자 그룹의 다른 사용자(A, B)들은 기설정된 시간 내에 상기 리더(L)로부터 상기 박동 신호를 수신하지 못하면, 상기 리더(L)의 네트워크 연결이 끊긴 것으로 판단하고,
상기 사용자 그룹 내에서 후보자를 선정하고, 투표를 통해 과반수가 동의 하면 상기 후보자를 새로운 리더(L)로 선출하는 것을 특징으로 하는 3D 편집 협업 시스템.
8. The method of claim 7,
The reader L continuously sends a beating signal to the other users A and B of the user group to confirm a network connection,
If the other users A and B of the user group do not receive the beep signal from the reader L within a predetermined time, it is determined that the network connection of the reader L is disconnected,
Selecting a candidate in the user group, and selecting a candidate as a new leader (L) if a majority of votes are agreed upon through a vote.
제 1항에 있어서,
상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션은 객체(X)의 추가, 수정, 이동 또는 삭제 중 적어도 하나인 것을 특징으로 하는 3D 편집 협업 시스템.
The method according to claim 1,
Wherein the editing (M (A, X)) action of the object (X) of the first user (A) is at least one of adding, modifying, moving or deleting an object (X).
상기 객체(X)의 편집(M(A, X)) 액션을 수행하는 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자로 구성되는 사용자 그룹에서 3D 편집을 협업하는 방법에 있어서,
상기 제 1 사용자(A)가 자신의 에디팅 모듈에서 상기 객체(X)의 편집(M(A, X)) 액션을 수행하고, 자신의 컨센서스 모듈로 상기 객체(X)의 편집(M(A, X)) 액션을 전달하는 (I)단계;
상기 제 1 사용자(A)의 상기 컨센서스 모듈을 통해 상기 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션을 요청하는 (II)단계;
상기 리더(L)가 자신의 컨센서스 모듈에 저장된 락킹 알고리즘 및 컨센서스 알고리즘을 통해 사용자 그룹 내의 다른 사용자(B)들이 상기 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 상기 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 하는 (III)단계; 및
상기 리더(L)가 상기 사용자 그룹 내의 각각의 사용자들에게 상기 제 1 사용자(A)의 상기 객체(X) 편집(M(A, X)) 액션을 업데이트하는 (IV)단계를 포함하는 3D 편집 협업 방법.
A method for collaborating on 3D editing in a user group consisting of a first user A performing an editing (M (A, X)) action of the object X, an elected reader L and a plurality of users collaborating In this case,
The first user A performs an editing operation M (A, X) of the object X in its editing module and the editing of the object X (M (A, X)) with its own consensus module, X)) action (step (I));
(II) the editing (M (A, X)) action of the object (X) to the reader (L) through the consensus module of the first user (A);
The reader L may prevent the other users B in the user group from performing the editing (M (B, X)) action of the object X through the locking algorithm and the consensus algorithm stored in the consensus module of the reader L, (III) granting the editing (M (A, X)) right of the object (X) to the user (A) alone; And
(IV) of editing the object (X) edit (M (A, X)) action of the first user (A) to each user in the user group, How to collaborate.
제 10항에 있어서,
상기 (III)단계에서,
상기 락킹 알고리즘은 상기 컨센서스 모듈에 저장된 하기의 락 조건 및 로그 조건을 기준을 포함하고,
상기 리더(L)는 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 요청이 상기 락 조건 및 로그 조건에 순차적으로 부합하면, 상기 사용자 그룹 내의 다른 사용자(B)들이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 상기 제 1 사용자(A)에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 하는 것을 특징으로 하는 3D 편집 협업 방법.
- 락 조건: 상기 사용자 그룹 내의 모든 사용자들에게 객체(X)에 대한 편집 액션이 락킹 되지 않았거나, 상기 객체(X)의 편집(M(A, X)) 액션 요청자에 의해 객체(X)에 대한 편집 액션이 락킹 됨.
- 로그 조건: 현재 로그의 색인부터 커밋(Commit)된 로그의 색인에 기록된 로그 중 요청자와 다른 사용자(B)들에게 객체(X)에 대한 편집 요청이 없음.
11. The method of claim 10,
In the step (III)
Wherein the locking algorithm includes a reference to the following locking condition and log condition stored in the consensus module,
If the reader (L) sequentially requests the edit (M (A, X)) of the object (X) of the first user (A) to the lock condition and the log condition, (M (A, X)) authority of the object X alone to the first user A so that the first user A can not perform the edit (M (B, X)) action of the object X Wherein the 3D editing collaborative method comprises:
- Lock condition: the edit action for the object X is not locked to all users in the user group or the edit (M (A, X)) action requestor of the object (X) Editing action is locked.
- Log condition: There is no request to edit the object (X) to the requester and other users (B) among the logs recorded in the index of the committed log since the index of the current log.
제 11항에 있어서,
상기 (III)단계에서,
상기 컨센서스 알고리즘을 구현하는 단계는
상기 제 1 사용자(A)에게서 상기 객체(X)의 편집(M(A, X)) 액션에 대해 요청을 수신한 상기 리더(L)가 투표 요청 메시지를 상기 사용자 그룹 내의 사용자들에게 전달하는 (III-i)단계;
상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자들 각각은 상기 객체(X)의 편집 액션 이전까지의 자신 로그 정보가 상기 리더(L)의 로그 정보와 동일한지 확인하는 (III-ii)단계;
상기 리더(L)의 로그 정보와 자신의 이전 로그가 동일하면 동기화된 것으로 판단하고, 상기 리더(L)에게 가능하다는 답변 메시지를 회신하는 (III-iii)단계;
상기 리더(L)가 상기 사용자 그룹 내의 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값 보다 크다면 상기 제 1 사용자(A)에게서 받은 상기 객체(X)의 편집(M(A, X))에 관한 액션 로그를 복제하는 (III-iv)단계; 및
상기 로그 정보를 상기 사용자 그룹 내의 사용자들 각각에 업데이트를 진행하는 (III-v)단계; 를 포함하는 것을 특징으로 하는 3D 편집 협업 시스템.
12. The method of claim 11,
In the step (III)
The step of implementing the consensus algorithm
The reader L having received the request for the edit (M (A, X)) action of the object X from the first user A transmits a vote request message to the users in the user group III-i);
Each of the users in the user group that has received the voting request message confirms whether its log information before the edit action of the object X is the same as the log information of the reader L (III-ii);
(III-iii) determining that the log is synchronized if the log information of the reader L is the same as the previous log of the reader L, and returning an answer message indicating that the reader L is possible to the reader L;
(M (A, X)) of the object (X) received from the first user (A) if the number of response messages received from each of the users in the user group is larger than a predetermined value (III-iv) replicating an action log related to the action; And
(III-v) updating the log information to each of the users in the user group; And a 3D editing collaborative system.
제 12항에 있어서,
상기 (III)단계에서,
상기 컨센서스 알고리즘을 구현하는 단계 중
(III-ii)단계에서, 상기 리더(L)로부터 상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자 중 제 2 사용자가 상기 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면,
상기 제 2 사용자는 상기 리더(L)에게 로그 복구 작업에 대해 답변 메시지를 회신하는 (III-vi)단계; 및
상기 로그 복구 작업 답변 메시지를 받은 상기 리더(L)가 상기 제 2 사용자와 지속적인 메시지 송수신을 통하여 상기 제 2 사용자와 상이한 로그 정보를 상기 제 2 사용자에게 전달하여, 로그 정보가 동기화되도록 상기 제 2 사용자의 로그 복구작업을 진행하는 (III-vii)단계; 를 더 포함하는 것을 특징으로 하는 3D 편집 협업 방법.
13. The method of claim 12,
In the step (III)
During the implementation of the consensus algorithm
If a second user among the users in the user group that has received the vote request message from the reader L in step (III-ii) confirms that the log information of the reader L and the previous log of the reader L are different,
(Iii-vi) the second user returns an answer message to the reader (L) about the log recovery operation; And
The reader L having received the log recovery task response message transmits log information different from the second user to the second user through continuous message transmission and reception with the second user, (III-vii) proceeding with the log recovery operation of FIG. Further comprising the steps of:
제 10항에 있어서,
상기 (I)단계에서,
상기 제 1 사용자(A)의 상기 컨센서스 모듈에서 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션이 자신의 상기 컨센서스 모듈에 저장된 상기 락 조건에 부합되는지 판단한 후,
상기 락 조건에 부합하면, 상기 리더(L)에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신하는 것을 특징으로 하는 3D 편집 협업 방법.
11. The method of claim 10,
In the step (I)
(M (A, X)) action of the object (X) of the first user (A) in the consensus module of the first user (A) conforms to the lock condition stored in its consensus module After judging,
And sends an edit (M (A, X)) action request of the object (X) to the reader (L) if the lock condition is satisfied.
제 10항에 있어서,
상기 사용자 그룹 내의 상기 리더(L)는 선출되어 결정되며,
상기 리더(L)가 다른 사용자(A, B)들과 네트워크 연결이 끊긴 것으로 판단되는 경우, 새로운 리더(L)를 선출하는 단계를 더 포함하는 것을 특징으로 하는 3D 편집 협업 방법.
11. The method of claim 10,
The reader (L) in the user group is elected and determined,
Further comprising the step of selecting a new leader (L) when it is determined that the reader (L) is disconnected from the network with other users (A, B).
제 15항에 있어서,
상기 새로운 리더(L)를 선출하는 단계는,
상기 사용자 그룹의 다른 사용자(A, B)에서 네트워크 연결을 확인받기 위해 지속적으로 박동 신호를 송신하는 상기 리더(L)의 상기 박동 신호를 수신하는 단계;
상기 사용자 그룹의 다른 사용자(A, B)에서 기설정된 시간 내에 상기 리더(L)로부터 상기 박동 신호를 수신하지 못하면, 상기 리더(L)의 네트워크 연결이 끊긴 것으로 판단하는 단계; 및
상기 사용자 그룹 내에서 후보자를 선정하고, 투표를 통해 과반수가 동의 하면 상기 후보자를 새로운 리더(L)로 선출하는 단계; 를 포함하는 것을 특징으로 하는 3D 편집 협업 방법.
16. The method of claim 15,
The step of selecting the new leader (L)
Receiving the beating signal of the reader (L) that continuously transmits a beating signal to confirm a network connection at another user (A, B) of the user group;
Determining that the network connection of the reader (L) is disconnected if the beating signal is not received from the reader (L) within a predetermined time in another user (A, B) of the user group; And
Selecting a candidate in the user group and electing the candidate as a new leader (L) if a majority of the votes agree; Wherein the 3D editing collaborative method comprises:
제 10항에 있어서,
상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션은 객체(X)의 추가, 수정, 이동 또는 삭제 중 적어도 하나인 것을 특징으로 하는 3D 편집 협업 방법.
11. The method of claim 10,
Wherein the editing (M (A, X)) action of the object (X) of the first user (A) is at least one of adding, modifying, moving or deleting an object (X).
제 10항 내지 제 17항 중 어느 한 항에 따른 3D 편집 협업 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing the 3D editing collaborative method according to any one of claims 10 to 17.
KR1020160025099A 2016-03-02 2016-03-02 3D editing collaboration system, method and recording media using the same Expired - Fee Related KR101851843B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160025099A KR101851843B1 (en) 2016-03-02 2016-03-02 3D editing collaboration system, method and recording media using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160025099A KR101851843B1 (en) 2016-03-02 2016-03-02 3D editing collaboration system, method and recording media using the same

Publications (2)

Publication Number Publication Date
KR20160032717A true KR20160032717A (en) 2016-03-24
KR101851843B1 KR101851843B1 (en) 2018-06-08

Family

ID=55651533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160025099A Expired - Fee Related KR101851843B1 (en) 2016-03-02 2016-03-02 3D editing collaboration system, method and recording media using the same

Country Status (1)

Country Link
KR (1) KR101851843B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240047276A (en) 2022-10-04 2024-04-12 주식회사 위피엔피 Online editing device for collaboration for content creation
KR20240047277A (en) 2022-10-04 2024-04-12 주식회사 위피엔피 Option management device used as an addition to commercial shopping malls

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000039196A (en) * 1998-12-11 2000-07-05 정선종 Control methdo of simultaneity in co-work
KR20030055908A (en) * 2001-12-27 2003-07-04 삼성에스디에스 주식회사 Method for Real-Time Synchronization of Data/Event between CADApplications Program
JP2008097236A (en) * 2006-10-11 2008-04-24 Fujitsu Ltd Group work analysis support program, group work analysis support method, and group work analysis support device
KR20150089686A (en) * 2014-01-28 2015-08-05 한국전자통신연구원 Method and Apparatus for Providing 3D Software Real-time Collaboration Service Using Graphic Offloading

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130133664A (en) * 2012-05-21 2013-12-09 삼성전자주식회사 Method, apparatus and system for interactive learning management and educational matters
KR20140042589A (en) * 2012-09-28 2014-04-07 강승호 Learning material for improving the leadership and online learning system having this

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000039196A (en) * 1998-12-11 2000-07-05 정선종 Control methdo of simultaneity in co-work
KR20030055908A (en) * 2001-12-27 2003-07-04 삼성에스디에스 주식회사 Method for Real-Time Synchronization of Data/Event between CADApplications Program
JP2008097236A (en) * 2006-10-11 2008-04-24 Fujitsu Ltd Group work analysis support program, group work analysis support method, and group work analysis support device
KR20150089686A (en) * 2014-01-28 2015-08-05 한국전자통신연구원 Method and Apparatus for Providing 3D Software Real-time Collaboration Service Using Graphic Offloading

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240047276A (en) 2022-10-04 2024-04-12 주식회사 위피엔피 Online editing device for collaboration for content creation
KR20240047277A (en) 2022-10-04 2024-04-12 주식회사 위피엔피 Option management device used as an addition to commercial shopping malls

Also Published As

Publication number Publication date
KR101851843B1 (en) 2018-06-08

Similar Documents

Publication Publication Date Title
CN101535977B (en) Consistency within a federation infrastructure
US6532494B1 (en) Closed-loop node membership monitor for network clusters
US7634566B2 (en) Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
CN113163414B (en) Information processing method and near-real-time radio access network controller
CN108140031A (en) Equity can synchronize storage system
CN102770854A (en) Automatic synchronization conflict resolution
WO2002007006A1 (en) System and method for synchronizing databases
US11212342B2 (en) Merge trees for collaboration
CN110298938B (en) Control method, information processing apparatus, management system, and storage medium
US10972296B2 (en) Messaging to enforce operation serialization for consistency of a distributed data structure
CN107145673B (en) Joint simulation system and method
US8055863B2 (en) Computer system and method of managing status thereof
CN104852965A (en) Method and system for user account project management
CN101515935A (en) Data synchronization method and server
US6871222B1 (en) Quorumless cluster using disk-based messaging
US20140108484A1 (en) Method and system for optimizing distributed transactions
US7076783B1 (en) Providing figure of merit vote from application executing on a partitioned cluster
CN112560129A (en) Building information model data cooperation method and system based on component level
KR101851843B1 (en) 3D editing collaboration system, method and recording media using the same
JP2011522337A (en) Method of synchronizing software modules of computer system distributed to server cluster, application to synchronization system and data storage
CN107291575B (en) Processing method and equipment for data center fault
JP2004171278A (en) Data replication management method, node information processing method, node, data replication management program, and recording medium storing the program
US20230117441A1 (en) Method and system for enabling multi-level real-time collboration in game engines supporting heterogeneous project states
US11416449B2 (en) Method of synchronous deletion for distributed storage system
CN106354830A (en) Device and method for data synchronization of database cluster nodes

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160302

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170530

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20171229

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20170530

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20171229

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20170727

Comment text: Amendment to Specification, etc.

PX0701 Decision of registration after re-examination

Patent event date: 20180209

Comment text: Decision to Grant Registration

Patent event code: PX07013S01D

Patent event date: 20180131

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20171229

Comment text: Decision to Refuse Application

Patent event code: PX07011S01I

Patent event date: 20170727

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

X701 Decision to grant (after re-examination)
GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180418

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180418

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20210305

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20220324

Start annual number: 5

End annual number: 5

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20240129