1 |
1
객체(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)) 액션을 업데이트하고,상기 사용자 그룹 내의 상기 리더(L)는 사용자 그룹 내의 다른 사용자(A, B)들의 컨센서스 모듈에서 선출되어 결정되며,다른 사용자(A, B)들과 네트워크 연결이 끊긴 것으로 판단되는 경우, 다른 사용자(A, B)들의 컨센서스 모듈은 새로운 리더(L)를 선출하고,상기 리더(L)의 컨센서스 모듈은 네트워크 연결을 확인받기 위해 상기 사용자 그룹의 상기 다른 사용자(A, B)들의 컨센서스 모듈에게 지속적으로 박동 신호를 송신하고,상기 사용자 그룹의 다른 사용자(A, B)들의 컨센서스 모듈은 기설정된 시간 내에 상기 리더(L)의 컨센서스 모듈로부터 상기 박동 신호를 수신하지 못하면, 상기 리더(L)의 네트워크 연결이 끊긴 것으로 판단하고,상기 사용자 그룹 내에서 후보자를 선정하고, 투표를 통해 과반수가 동의 하면 상기 후보자를 새로운 리더(L)로 선출하는며,상기 락킹 알고리즘은 상기 컨센서스 모듈에 저장된 하기의 락 조건 및 로그조건을 기준으로 포함하고,상기 리더(L)의 컨센서스 모듈은 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 요청이 상기 락 조건 및 로그 조건에 순차적으로 부합하면, 상기 사용자 그룹 내의 다른 사용자(B)들의 에디팅 모듈이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 상기 제 1 사용자(A)의 에디팅 모듈에게 단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 하고,- 락 조건: 상기 사용자 그룹 내의 모든 사용자들에게 객체(X)에 대한 편집액션이 락킹 되지 않았거나, 상기 객체(X)의 편집(M(A, X)) 액션 요청자에 의해 객체(X)에 대한 편집 액션이 락킹 됨,- 로그 조건: 현재 로그의 색인부터 커밋(Commit)된 로그의 색인에 기록된 로그 중 요청자와 다른 사용자(B)들에게 객체(X)에 대한 편집 요청이 없음,상기 컨센서스 알고리즘에서,상기 제 1 사용자(A)의 컨센서스 모듈에게서 상기 객체(X)의 편집(M(A, X))액션에 대해 요청을 수신한 상기 리더(L)의 컨센서스 모듈은 투표 요청 메시지를 상기 사용자 그룹 내의 사용자들의 컨센서스 모듈에게 전달하고,상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자들 각각의 컨센서스 모듈은 상기 객체(X)의 편집 액션 이전까지의 자신 로그 정보가 상기 리더(L)의 로그 정보와 동일한지 확인하고, 상기 리더(L)의 로그 정보와 자신의 이전 로그가 동일하면 동기화된 것으로 판단하고, 상기 리더(L)의 컨센서스 모듈에게 가능하다는 답변 메시지를 회신하며,상기 리더(L)의 컨센서스 모듈는 상기 사용자 그룹 내의 사용자들 각각으로부터 전달받은 답변 메시지 수가 기설정된 값 보다 크다면 상기 제 1 사용자(A)의 컨센서스 모듈에게서 받은 상기 객체(X)의 편집(M(A, X)) 액션에 관한 로그를 복제하고 상기 로그 정보를 상기 사용자 그룹 내의 사용자들 각각의 컨센서스 모듈에 업데이트를 진행하고,상기 컨센서스 알고리즘에서,상기 리더(L)의 컨센서스 모듈로부터 상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자 중 제 2 사용자의 컨센서스 모듈이 상기 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면,상기 제 2 사용자의 컨센서스 모듈은 상기 리더(L)의 컨센서스 모듈에게 로그 복구 작업에 대해 답변 메시지를 회신하고,상기 로그 복구 작업 답변 메시지를 받은 상기 리더(L)의 컨센서스 모듈은 상기 제 2 사용자의 컨센서스 모듈과 지속적인 메시지 송수신을 통하여 상기 제 2사용자와 상이한 로그 정보를 상기 제 2 사용자의 컨센서스 모듈에게 전달하여, 상기 로그 정보가 동기화되도록 상기 제 2 사용자의 로그 복구작업을 진행하며,상기 제 1 사용자(A)의 컨센서스 모듈은 자신의 상기 에디팅 모듈에서 수행한 상기 객체(X)의 편집(M(A, X)) 액션을 전달받고,상기 제 1 사용자(A)의 컨센서스 모듈은 상기 리더(L)의 컨센서스 모듈에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신하는 것을 특징으로 하는 3D 편집 협업 시스템
|
2 |
2
삭제
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
삭제
|
6 |
6
제 1항에 있어서,상기 제 1 사용자(A)의 상기 컨센서스 모듈에서 상기 제 1 사용자(A)의 상기객체(X)의 편집(M(A, X)) 액션이 상기 제 1 사용자(A)의 상기 컨센서스 모듈에 저장된 상기 락 조건에 부합되는지 판단한 후,상기 락 조건에 부합하면, 상기 리더(L)의 컨센서스 모듈에게 상기 객체(X)의 편집(M(A, X)) 액션 요청을 송신하는 것을 특징으로 하는 3D 편집 협업 시스템
|
7 |
7
삭제
|
8 |
8
삭제
|
9 |
9
제 1항에 있어서,상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 액션은 객체(X)의 추가, 수정, 이동 또는 삭제 중 적어도 하나인 것을 특징으로 하는 3D 편집 협업 시스템
|
10 |
10
객체(X)의 편집(M(A, X)) 액션을 수행하는 제 1 사용자(A), 선출된 리더(L) 및 협업하는 다수의 사용자로 구성되는 사용자 그룹에서 3D 편집을 협업하는 방법에 있어서,상기 제 1 사용자(A)의 에디팅 모듈에서 상기 객체(X)의 편집(M(A, X)) 액션을 수행하고, 상기 제 1 사용자(A)의 컨센서스 모듈로 상기 객체(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)단계를 포함하고,상기 사용자 그룹 내의 상기 리더(L)는 사용자 그룹 내의 다른 사용자(A, B)들의 컨센서스 모듈에 의해 선출되어 결정되며,다른 사용자(A, B)들과 네트워크 연결이 끊긴 것으로 판단되는 경우, 다른 사용자(A, B)들의 컨센서스 모듈은 새로운 리더(L)를 선출하는 단계를 더 포함하고,상기 새로운 리더(L)를 선출하는 단계는,상기 사용자 그룹의 다른 사용자(A, B)의 컨센서스 모듈에서 네트워크 연결을 확인받기 위해 지속적으로 박동 신호를 송신하는 상기 리더(L)의 컨센서스 모듈로부터 상기 박동 신호를 수신하는 단계;상기 사용자 그룹의 다른 사용자(A, B)의 컨센서스 모듈에서 기설정된 시간내에 상기 리더(L)의 컨센서스 모듈로부터 상기 박동 신호를 수신하지 못하면, 상기 리더(L)의 네트워크 연결이 끊긴 것으로 판단하는 단계; 및상기 사용자 그룹의 다른 사용자(A, B)의 컨센서스 모듈에서 상기 사용자 그룹 내에서 후보자를 선정하고, 투표를 통해 과반수가 동의 하면 상기 후보자를 새로운 리더(L)로 선출하는 단계; 를 포함하고,상기 (III)단계에서,상기 락킹 알고리즘은 상기 컨센서스 모듈에 저장된 하기의 락 조건 및 로그조건을 기준으로 포함하고,상기 리더(L)의 컨센서스 모듈은 상기 제 1 사용자(A)의 상기 객체(X)의 편집(M(A, X)) 요청이 상기 락 조건 및 로그 조건에 순차적으로 부합하면, 상기 사용자 그룹 내의 다른 사용자(B)들의 에디팅 모듈이 객체(X)의 편집(M(B, X)) 액션을 수행하지 못하도록 상기 제 1 사용자(A)의 컨센서스 모듈을 통해 에디팅 모듈에게단독으로 상기 객체(X)의 편집(M(A, X)) 권한을 부여하여 락킹 하며,- 락 조건: 상기 사용자 그룹 내의 모든 사용자들에게 객체(X)에 대한 편집액션이 락킹 되지 않았거나, 상기 객체(X)의 편집(M(A, X)) 액션 요청자에 의해 객체(X)에 대한 편집 액션이 락킹 됨,- 로그 조건: 현재 로그의 색인부터 커밋(Commit)된 로그의 색인에 기록된 로그 중 요청자와 다른 사용자(B)들에게 객체(X)에 대한 편집 요청이 없음,상기 (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)단계; 를 포함하고,상기 (III)단계에서,상기 컨센서스 알고리즘을 구현하는 단계 중 (III-ii)단계에서, 상기 리더(L)의 컨센서스 모듈로부터 상기 투표 요청 메시지를 받은 상기 사용자 그룹 내의 사용자 중 제 2 사용자의 컨센서스 모듈가 상기 리더(L)의 로그 정보와 자신의 이전 로그가 상이한 것으로 확인하면,상기 제 2 사용자의 컨센서스 모듈은 상기 리더(L)의 컨센서스 모듈에게 로그 복구 작업에 대해 답변 메시지를 회신하는 (III-vi)단계; 및상기 로그 복구 작업 답변 메시지를 받은 상기 리더(L)의 컨센서스 모듈은 상기 제 2 사용자의 컨센서스 모듈과 지속적인 메시지 송수신을 통하여 상기 제 2 사용자의 컨센서스 모듈과 상이한 로그 정보를 상기 제 2 사용자의 컨센서스 모듈에게 전달하여, 로그 정보가 동기화되도록 상기 제 2 사용자의 컨센서스 모듈의 로그 복구작업을 진행하는 (III-vii)단계; 를 더 포함하며,상기 (I)단계에서,상기 제 1 사용자(A)의 상기 컨센서스 모듈에서 상기 제 1 사용자(A)의 상기객체(X)의 편집(M(A, X)) 액션이 상기 제 1 사용자(A)의 상기 컨센서스 모듈에 저장된 상기 락 조건에 부합되는지 판단한 후,상기 락 조건에 부합하면, 상기 리더(L)에게 상기 객체(X)의 편집(M(A, X))액션 요청을 송신하는 것을 특징으로 하는 3D 편집 협업 방법
|
11 |
11
삭제
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
삭제
|
15 |
15
삭제
|
16 |
16
삭제
|
17 |
17
삭제
|
18 |
18
삭제
|