KR20080085105A - 온라인 공동저작 시스템 및 동기화 방법 - Google Patents
온라인 공동저작 시스템 및 동기화 방법 Download PDFInfo
- Publication number
- KR20080085105A KR20080085105A KR1020070006485A KR20070006485A KR20080085105A KR 20080085105 A KR20080085105 A KR 20080085105A KR 1020070006485 A KR1020070006485 A KR 1020070006485A KR 20070006485 A KR20070006485 A KR 20070006485A KR 20080085105 A KR20080085105 A KR 20080085105A
- Authority
- KR
- South Korea
- Prior art keywords
- mind map
- client
- authoring
- server
- synchronization
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000001360 synchronised effect Effects 0.000 claims abstract description 26
- 230000008859 change Effects 0.000 claims description 45
- 238000009877 rendering Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 239000000284 extract Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010549 co-Evaporation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 온라인상에서 공동으로 문서 작성할 수 있는 온라인 공동저작 시스템 및 그 동기화 방법에 관한 것으로서, 동일한 문서에 대해서는 각 개인이 작성하는 문서와 공동저작 서버에 보관된 문서 간에 동기화가 이루어지도록 하는 특징을 가진다. 본 발명은, 공동저작 마인드맵을 가지는 공동저작 서버와, 클라이언트 마인드맵을 가지는 클라이언트와, 상기 공동저작 마인드맵과 상기 클라이언트 마인드맵을 파싱하여 변경된 내용을 동기화 적용시키는 동기화 서버를 포함하며, 상기 공동저작 서버는, 동기화된 내용을 상기 공동저작 마인드맵에 적용하는 공동저작 동기화 에이전트와, 상기 공동저작 마인드맵의 결과물로서 저장된 공동저작 문서와, 회원들의 정보가 저장된 회원정보를 포함하며, 상기 클라이언트는, 동기화된 내용을 상기 클라이언트 마인드맵에 적용하는 클라이언트 동기화 에이전트를 포함한다. 따라서 본 발명은 마인드맵의 방사형 트리구조의 시각적인 인지 방법과 공동저작 시스템의 텍스트 중심의 온라인 공동 저작 시스템의 장점을 살리고 각각의 단점을 상호 보완하여 마인드맵으로 부터 도출된 아이디어와 같은 결과물들이 오프라인 형태로 머무는 것이 아니라 마인드맵과 공동저작 문서와 동기화를 통해 공동저작 문서로 완성함으로서 사용자 참여형 온라인 공동 저작 시스템이 될 수 있도록 한다. 마인드맵으로 작성된 내용들을 온라인 공동저작 시스템인 공동저작 시스템으로 자동으로 출판함으로서 여러 사용자가 마인드맵으로 부터 도출된 아이디어나 이슈들에 대해서 트리 구조의 이미지만을 공유하는 것이 아니라 각각의 노드에 대한 세부 내용들에 대해서 공동으로 작업할 수 있는 기반을 제공한다.
저작, 문서, 공동저작, 공유, 마인드맵, 동기화, 노드, 트리
Description
도 1은 본 발명의 실시 예에 따른 온라인 공동저작 시스템을 도시한 블록도이다.
도 2는 본 발명의 실시 예에 따른 마인드맵의 트리 구조를 나타낸 그림이다.
도 3은 본 발명의 실시 예에 따른 마인드맵 마크업 문서를 나타낸 그림이다.
도 4는 본 발명의 실시 예에 따른 마인드맵이 화면에 표시될 때의 모습을 도시한 그림이다.
도 5는 본 발명의 실시 예에 따른 헤더 정보를 도시한 그림이다.
도 6은 본 발명의 실시 예에 따라 클라이언트와 공동저작 서버간에 마인드맵 동기화를 수행하는 동기화 서버의 동기화 단계들을 총괄적으로 분류한 플로차트이다.
도 7은 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어지는 형태를 도시한 흐름도이다.
도 8은 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 최초의 클라이언트 마인드맵의 헤더를 도시한 그림이다.
도 9(a)는 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 클라이언트 마인드맵의 파싱 데이터를 도시한 그림이다.
도 9(b)는 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 동기화 테이블을 도시한 그림이다.
도 9(c)는 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 명령 테이블을 도시한 그림이다.
도 10은 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 각 변화 상태를 도시한 그림이다.
도 11은 본 발명의 실시 예에 따라 새로운 공동저작 문서가 생성된 후 공동저작 마인드맵이 생성되는 단계를 도시한 흐름도이다.
도 12는 본 발명의 실시 예에 따라 새롭게 생성된 공동저작 마인드맵이 클라이언트에 전송되어 클라이언트 마인드맵으로 저장되는 단계를 도시한 흐름도이다.
도 13은 본 발명의 실시 예에 따라 새롭게 생성된 공동저작 마인드맵이 클라이언트에 전송되어 클라이언트 마인드맵으로 저장될 때 각 변화 상태를 도시한 그림이다.
도 14는 본 발명의 실시 예에 따라 동기화 후 공동저작 문서가 변경된 후 공동저작 마인드맵의 변경이 이루어지는 동기화 단계를 도시한 흐름도이다.
도 15는 본 발명의 실시 예에 따라 동기화 후 공동저작 문서가 변경된 후 공동저작 마인드맵의 변경이 이루어질 때 각 변화 상태를 도시한 그림이다.
도 16은 본 발명의 실시 예에 따른 클라이언트 마인드맵의 변경이 있을 시에 공동저작 마인드맵과의 동기화가 이루어지는 단계를 도시한 흐름도이다.
도 17은 본 발명의 실시 예에 따른 클라이언트 마인드맵의 변경이 있을 시에 공동저작 마인드맵과의 동기화가 이루어지질 때 각 상태를 도시한 그림이다.
도 18은 본 발명의 실시 예에 따라 동기화가 이루어지고 난 후 공동저작 마인드맵과 클라이언트 마인드맵의 변경이 동시에 발생할 시에 동기화가 이루어지는 단계를 도시한 흐름도이다.
도 19는 본 발명의 실시 예에 따라 동기화가 이루어지고 난 후 공동저작 마인드맵과 클라이언트 마인드맵의 변경이 동시에 발생할 시에 동기화가 이루어질 때 각 상태를 도시한 그림이다.
도 20은 공동저작 문서가 변경될 시에 이에 따른 공동저작 마인드맵의 변경이 요청되고 이에 따라 공동저작 마인드맵이 변경될 시에, 클라이언트 마인드맵이 이에 따른 동기화가 일어나는 과정을 도시한 흐름도이다.
도 21은 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 클라이언트와 공동저작 서버에서 적용되는 예를 도시한 그림이다.
*도면의 주요 부분에 대한 부호의 설명*
100: 클라이언트 101: 클라이언트 동기화 에이전트
102: 헤더 103: 클라이언트 마인드맵
104: 트리 정보 110: 동기화 서버
111: 파싱 엔진 112: 비교 엔진
113: 동기화 프로세서 120: 공동저작 서버
121: 공동저작 동기화 에이전트 122: 공동저작 마인드맵
125: 공동저작 문서 126: 회원 정보
본 발명은 온라인상에서 공동으로 문서 작성할 수 있는 온라인 공동저작 시스템 및 그 동기화 방법에 관한 것으로서, 동일한 문서에 대해서는 각 개인이 작성하는 문서와 공동저작 서버에 보관된 문서 간에 동기화가 이루어지도록 하는 특징을 가진다.
현대에는 커뮤니티 집단 형성에 따라 단독 저작이라기보다 동일 분야의 저작자들간의 문서 공유가 중요시되고 있어서 문서 저작자들의 정보 수집 활동의 결과물에 대한 효율적 공유는 어느 때 보다도 절실히 요청되고 있는데, 이러한 정보 공유 체계로 온라인 공동저작을 이용하거나 마인드맵을 공유하는 방안이 있다.
그런데 공동저작 시스템을 이용하는 상기 공동저작의 경우 온라인 사이트 내의 하이퍼링크를 통해 해당 링크를 제목으로 자동으로 페이지를 생성하는 기능을 가지고 있지만, 페이지들간의 복잡한 계층구조를 형성하게 되어 있어 사용자 입장에서는 페이지간의 관계를 일목요연하게 파악하고 원하는 페이지로 이동하는 것이 어렵다. 또한, 페이지 내의 콘텐츠에 대한 개요를 트리형태로 표현하지 못하여 공동저작 페이지 내용을 일목요연하게 파악하기 어려워 수동으로 개요를 작성하거나 별도로 마인드맵을 작성하여 이미지로 보여주어야 하는 불편이 있으며, 또한, 개요와 콘텐츠의 내용 변경에 대해서도 자동으로 트리형태로 동기화하기 못하여 동일한 작업을 반복해야만 하는 불편이 있다. 또한, 페이지 편집에 있어서 개요를 가진 문단들의 편집에 있어서 기존 전자문서 편집 기능인 복사/붙이기 형태로만 지원되어 신속한 페이지 편집이 어려웠다. 또한 공동저작 페이지에서는 개요나 키워드에 관련한 이미지나 음악파일같은 멀티미디어 파일의 첨부과정이 분리되어 작업되어야 하고, 첨부파일을 개별로 공동저작 시스템에 올린 후에 올려진 파일에 대한 링크를 걸어야 하는 추가적인 작업을 필요로 했다.
한편, 상기 마인드맵의 경우, 단일 사용자가 제목과 관련된 이미지로 구성된 노드 정보와 노드들간의 트리형태의 계층구조를 파일형태로 작성하고 있어 일목요연한 장점이 있으나, 개괄적인 내용만 기재 가능하고 상세한 내용을 기술하기 어려운 단점을 가지고 있다. 또한, 상기와 같은 마인드맵 파일을 공유하기 위해서는, 마인드맵 소프트웨어를 통해 공유하거나 워드프로세서나 프리젠테이션용 파일 혹은 이미지 형태로 단방향으로 변환하여 파일 단위로 공유하는 형태여서 공유된 자료에 대하여 다중 사용자 변경에 대한 버전 관리를 해야 하는 불편이 있고, 또한, 다중 사용자 편집 지원 기능이 제공되지 않는 문제가 있다. 상기 마인드맵은 주로 논리적 사고의 도구로서 이용되어 개요나 키워드을 가지고 사고를 펼쳐가는 방식으로 개요와 키워드 중심이기 때문에 문장중심의 글쓰기가 어려웠으며 글을 완성하기 위 한 도구를 필요로 한다. 주로 논리적 사고 도구로서 이용되어 글을 작성하는 도구로서 역할에서는 개요나 키워드 제공 등의 기능만을 제공하여 글을 쓰기 위한 도구를 필요로 하게 된다. 또한, 마인드맵과 웹페이지를 포함한 단일 문서 전환으로서 마인드맵 하나가 여러 개의 페이지로 구성된 웹사이트 구조로의 온라인 동기화가 어렵다. 또한, 마인드맵과 그 변환 문서들은 오프라인에서 단일 사용자를 위한 것이어서 온라인으로 즉시 여러 사용자가 편집할 수 있는 형태의 문서 변환 방법이 없었다.
상기와 같이 온라인상에서 공동저작되는 공동저작 문서 또는 마인드맵은 각 단점이 존재하고 이들의 장점을 결합시키기 위해 이들을 상호 동기화시킬 수 있는 방안이 절실히 요청되었다. 그런데, 상기 동기화를 위해서는 다음과 같은 기술적 어려움이 있다.
우선, 마인드맵을 공동저작 문서에 오프라인 상에서 동기화 적용시키는 경우, 마인드맵으로 작성된 맵데이터를 공동저작페이지로 생성하기 위해서는 마인드맵에 정의된 각각의 노드에 대한 정보와 노드에 관련된 멀티미디어 데이타를 작성된 마인드맵을 참조하여 마인드맵 소프트웨어가 아닌 인터넷상에서 웹브라우저를 통하여 공동저작 시스템에 접속하여 로그인 후에 새로운 공동저작페이지를 생성하여 공동저작 시스템에서 사용하는 정해진 공동저작 문법으로 사용자가 각각의 노드들의 계층구조와 노드에 대한 정보들을 작성해야 하고 또한 노드에 관련된 멀티미디어 파일 및 링크들을 첨부파일로 업로드하여 작성된 공동저작페이지에서 링크를 연결해야 하는 번거로움이 있다. 또한, 만약, 마인드맵을 공동저작시스템의 페이지를 자동으로 변환된다 하더라도 마인드맵에서 변경 사항이 발생했을 경우 최초의 공동저작페이지의 동기화 결과와 상이해 짐으로 인하여 지속적인 동기화 문제가 야기된다.
한편, 공동저작 문서를 마인드맵에 오프라인 상에서 동기화 적용시키는 경우, 공동저작페이지에 있는 내용을 마인드맵으로 변경하기 위해서는 사용자가 공동저작페이지에 있는 핵심 단어, 문장, 개요들에 대한 계층구조를 파악하고 마인드맵의 노드로 정의하여 노드의 내용들을 마인드맵 소프트웨어를 이용하여 마인드맵의 방사형 트리 구조로 복사하여 붙이는 단순한 작업을 여러번 반복하여 입력해야 한다. 또한, 별도로 등록되어 있는 관련 노드들에 대한 멀티미디어와 하이퍼링크들을 마인드맵의 해당 노드에 등록해야 하는 불편함이 있다. 또한, 공동저작 시스템은 다수의 사용자가 공통 주제 페이지를 정하여 지속적으로 변경할 수 있는 공동저작 시스템으로서 공동저작 페이지의 지속적인 변경에 대하여 마인드맵과 동기화해야 하는 문제점을 야기하게 된다.
상기의 문제점을 해결하고자 본 발명은 안출된 것으로서, 동일한 문서에 대해서 온라인을 통해 공동으로 저작할 수 있는 시스템 및 방안을 제시함을 목적으로 한다. 또한, 온라인을 통해 서로 동일한 문서간에는 동기화 적용되도록 하여 다수의 저작자가 공동으로 문서를 작성을 할 수 있는 방안을 제시함을 목적으로 한다. 작성된 마인드맵에 대하여 최초의 공동저작 문서 생성, 작성된 공동저작 문서에 대하여 최초의 마인드맵 생성, 공동저작 문서에 정의된 개요에 따라 마인드맵 생성, 공동저작 문서에 매크로로 정의된 마인드맵 노드 마크업을 이용하여 마인드맵에서 보여줄 노드 생성, 웹페이지에서 태그를 이용하여 사용자가 단어나 문장을 지정하면 해당 단어나 문장이 마인드맵으로 전환하는 방안을 제시함을 목적으로 한다. 또한, 마인드맵과 공동저작 문서간의 최초 동기화 이후에 마인드맵 변경 시에 공동저작 문서 동기화 및 변경된 마인드맵의 노드에 대한 변경/삭제/추가에 대한 명령 테이블 생성 및 변경된 마인드맵의 트리구조를 공동저작 문서에 저장되어 있는 마인드맵 트리구조로 갱신시키는 방안을 제시함을 목적으로 한다. 또한, 마인드맵과 공동저작 문서간의 최초 동기화 이후에 공동저작 문서 변경 시에 마인드맵을 동기화하는 방안을 제시함을 목적으로 한다. 또한, 마인드맵과 특정 범주의 공동저작페이지들의 그룹간의 동기화 방안을 제시함을 목적으로 한다.
상기 목적을 이루기 위하여 본 발명은, 온라인상에서 공동으로 저작되는 공동저작 문서의 각 노드별 계층적 종속관계를 나타낸 마인드맵을 공동저작 마인드맵으로서 가지고 있는 공동저작 서버와, 개인이 작성한 문서의 각 노드별 계층적 종속관계를 나타낸 마인드맵을 클라이언트 마인드맵으로서 가지고 있는 클라이언트와, 상기 공동저작 마인드맵과 상기 클라이언트 마인드맵을 파싱하여 이들의 차이를 비교한 후, 변경된 내용을 상기 공동저작 마인드맵 및 클라이언트 마인드맵에 동기화 적용시키는 동기화 서버를 포함하며, 상기 공동저작 서버는, 상기 동기화 서버와 데이터를 교환하며 상기 동기화 서버로부터 동기화 요청에 따라 해당 동기화된 내용을 상기 공동저작 마인드맵에 적용하는 공동저작 동기화 에이전트와, 상기 공동저작 마인드맵의 결과물로서 저장된 공동저작 문서와, 상기 공동저작 서버에 접속하여 공동저작을 수행할 수 있는 회원들의 정보가 저장된 회원정보를 포함하며, 상기 클라이언트는, 상기 동기화 서버와 데이터를 교환하며 상기 동기화 서버로부터 동기화 요청에 따라 해당 동기화된 내용을 상기 클라이언트 마인드맵에 적용하는 클라이언트 동기화 에이전트를 포함한다.
또한, 상기 온라인 공동저작 시스템은, 상기 공동저작 서버와 상기 클라이언트의 회원 권한을 인증하는 인증 서버를 더 포함한다.
또한, 상기 동기화 서버는, 상기 클라이언트와 공동저작 서버 간의 요청 및 마인드맵을 파싱(parsing)하여 정렬하는 파싱 엔진과, 클라이언트 마인드맵과 공동저작 서버의 공동저작 마인드맵의 상호 변경 사항을 분석, 판단하고, 상호 변경사항을 동기화 테이블로 작성하는 비교 엔진과, 상기 동기화 테이블에 따라 변경된 내역을 클라이언트 동기화 에이전트, 공동저작 동기화 에이전트에 반영하도록 하는 명령 테이블을 작성하는 동기화 프로세서를 포함한다.
본 발명은, 개인별 작성된 문서의 각 노드별 계층적 종속관계를 나타낸 클라이언트 마인드맵이 개인 문서 작성이 이루어지는 클라이언트에서 신규로 작성되는 단계와, 상기 작성된 클라이언트 마인드맵의 작성 시간이 기록되고 마인드맵의 고유한 마인드맵 ID를 널(null) 상태로 기록된 헤더가 작성되는 단계와, 상기 클라이 언트가 마인드맵의 동기화를 수행하는 동기화 서버에 접속/인증을 완료하고 상기 작성된 헤더를 전송하는 단계와, 상기 동기화 서버가 상기 클라이언트로부터 수신한 상기 헤더에 마인드맵 ID가 널(null) 상태로 되어 있을 시에는 상기 클라이언트에게 클라이언트 마인드맵을 전송해줄 것을 요청하는 단계와, 상기 클라이언트가 상기 클라이언트 마인드맵을 상기 동기화 서버로 전송하는 단계와, 상기 동기화 서버가 상기 수신한 클라이언트 마인드맵을 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하고 이들 변경 내역을 명령 테이블로서 작성하는 단계와, 상기 동기화서버가 온라인상에서 공동으로 문서 작성 이루어지는 공동저작 서버로 상기 파싱 데이터와 명령 테이블을 전송하여 동기화 요청하는 단계와, 상기 공동저작 서버가 상기 수신한 파싱 데이터와 명령 테이블을 참조하여 온라인상에서 공동으로 저작되는 공동저작 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵에 동기화 적용시키고, 해당 공동저작 마인드맵에 마인드맵 ID를 할당하는 단계와, 상기 클라이언트가 상기 공동저작 서버로부터 상기 마인드맵 ID를 전송 받아 상기 클라이언트 마인드맵에 기록하는 단계를 포함한다.
또한, 온라인상에서 공동으로 저작되는 공동저작 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵이 상기 공동저작 문서를 보관하고 있는 공동저작 서버에서 작성되는 단계와, 마인드맵의 동기화를 수행하는 동기화 서버가 상기 공동저작 문서를 수신 후 이를 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하고 이들 생성 내역에 따른 마인드맵을 생성하여 상기 공동저작 서버로 전송하는 단계와, 상기 공동저작 서버가 상기 수신한 마인드 맵을 공동저작 마인드맵으로 저장하는 단계와, 개인 문서 작성이 이루어지는 클라이언트가 접속/인증 완료한 후, 특정 공동저작 문서의 마인드맵을 전송해 줄 것을 상기 동기화서버에 요청하는 단계와, 상기 동기화 서버가 상기 요청된 마인드맵을 전송해줄 것을 상기 공동저작 서버에 요청하는 단계와, 상기 동기화 서버가 상기 공동저작 서버로부터 요청한 마인드맵을 수신하여, 이를 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하고 이들 변경 내역을 명령 테이블로서 작성한 후, 상기 파싱 데이터와 명령 데이터를 상기 클라이언트로 전송하는 단계와, 상기 클라이언트가 수신한 파싱 데이터와 명령 데이터를 참조하여 각 노드별 계층적 종속 관계를 나타내는 클라이언트 마인드맵을 생성하여 동기화를 이루는 단계를 포함한다.
또한, 상기와 같이 동기화가 이루어지고 난 후, 온라인상에서 공동으로 저작되는 공동저작 문서에 변경이 있을 시에는, 상기 공동저작 문서를 보관하고 있는 공동저작 서버가 상기 변경된 공동저작 문서와 변경 이전 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵을 마인드맵의 동기화를 수행하는 동기화 서버로 전송하는 단계와, 상기 동기화 서버가 상기 수신한 공동저작 문서 및 공동저작 마인드맵을 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 각각 작성하는 단계와, 상기 동기화 서버가 상기 공동저작 문서의 파싱 데이터와 상기 공동저작 마인드맵의 파싱 데이터를 상호 비교하여 그 변경 내역을 명령 테이블로서 작성하여, 상기 명령 테이블과 상기 공동저작 문서의 파싱 데이터를 상기 공동저작 서버로 전송하는 단계와, 상기 공동저작 서버가 수신한 명령 테 이블과 공동저작 문서의 파싱데이터를 참조하여 공동저작 마인드맵에 적용 변경하여 동기화를 이루는 단계를 포함한다.
또한, 상기와 같이 동기화가 이루어지고 난 후, 개인 작성된 문서의 각 노드별 계층적 종속관계를 나타낸 클라이언트 마인드맵이 변경될 시에는 상기 클라이언트 마인드맵을 보관하고 있는 클라이언트가 마인드맵의 동기화를 수행하는 동기화 서버에 접속/인증 완료한 후 상기 클라이언트 마인드맵의 변경시간 및 마인드맵 ID가 담긴 헤더를 상기 클라이언트 마인드맵과 함께 상기 동기화 서버로 전송하는 단계와, 상기 동기화 서버가 상기 클라이언트 마인드맵을 파싱하여 이들의 노드 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하는 단계와, 상기 동기화 서버가 상기 마인드맵 ID를 가진 공동저작 마인드맵을 전송해 줄 것을 온라인 상에서 공동으로 문서 작성이 이루어지는 공동저작 서버로 전송하는 단계와, 상기 공동저작 서버가 상기 요청된 공동저작 마인드맵을 상기 동기화 서버로 전송하는 단계와, 상기 동기화 서버가 상기 수신한 공동저작 마인드맵을 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하는 단계와, 상기 동기화 서버가 상기 클라이언트 마인드맵의 파싱 데이터와 상기 공동저작 마인드맵의 파싱 데이터를 상호 비교하여 그 변경 내역을 명령 테이블로서 작성하고, 상기 클라이언트 마인드맵의 파싱 데이터와 상기 명령 테이블을 상기 공동저작 테이블로 전송하는 단계와, 상기 공동저작 서버가 상시 수신한 공동저작 마인드맵의 파싱 데이터와 상기 명령 테이블을 참조하여 해당 공동저작 마인드맵에 적용 변경하여 동기화를 이루는 단계를 포함한다.
또한, 상기와 같이 동기화가 이루어지고 난 후, 온라인상에서 공동으로 문서 작성이 이루어지는 공동저작 서버에서 공동으로 저작된 공동저작 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵이 변경되고, 개인별 문서작성이 이루어지는 클라이언트에서 개인 작성된 문서의 각 노드별 계층적 종속관계를 나타내는 클라이언트 마인드맵 변경되는 단계와, 상기 공동저작 서버가 변경된 상기 공동저작 마인드맵을, 상기 클라이언트가 변경된 상기 클라이언트 마인드맵을 마인드맵의 동기화를 수행하는 동기화 서버로 전송하는 단계와, 상기 동기화 서버가 상기 공동저작 마인드맵을 파싱하여 이들에 대한 노드 ID 및 각 노드별 텍스트를 포함하는 공동저작 마인드맵의 파싱데이터를 작성하며, 상기 클라이언트 마인드맵을 파싱하여 이들에 대한 노드 ID 및 각 노드별 텍스트를 포함하는 클라이언트 마인드맵의 파싱데이터를 작성하는 단계와, 상기 동기화 서버가 상기 공동저작 마인드맵의 파싱 데이터와 상기 클라이언트 마인드맵의 파싱 데이터를 상호 비교하여, 소정의 충돌 우선 순위에 따라 특정 파싱 데이터를 우선시하여 그 변경 내역을 명령 테이블로서 작성하는 단계와, 상기 동기화 서버가 상기 우선시된 파싱 데이터 및 상기 명령 테이블을 상기 공동저작 서버와 상기 클라이언트로 전송하는 단계와, 상기 공동저작 서버와 상기 클라이언트가 상기 수신한 파싱 데이터 및 상기 명령 테이블을 참조하여 각 보유한 마인드맵에 적용하여 상호간에 마인드맵 동기화를 수행하는 단계를 포함한다.
이하, 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조 하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
도 1은 본 발명의 실시 예에 따른 온라인 공동저작 시스템을 도시한 블록도이다.
상기 온라인 공동저작 시스템은 크게 클라이언트(100; Client), 동기화 서버(110; Sync Server), 공동저작 서버(120)를 구비하는데, 상기 각 구성 요소는 인터넷의 유무선 통신 등을 통해 서로 데이터를 주고 받는다. 공동저작자는 상기 클라이언트(100)를 통해 클라이언트 마인드맵(103) 작성 작업을 수행하고, 이렇게 작성된 클라이언트 마인드맵(103)은 공동저작 서버(120) 내에 있는 공동저작 마인드맵(123)에 동기화 업데이트되어 결과적으로 공동저작 문서가 상기 클라이언트 마인드맵(103)에 맞추어 업데이트된다. 또한, 공동저작 서버에 업데이트된 공동저작 문서의 변동이 있을 시에 상기 클라이언트내의 클라이언트 마인드맵(103)에 해당 변동 사항이 동기화 적용된다.
상기 클라이언트 마인드맵(103) 및 공동저작 마인드맵(123)은 문서의 각 제목 사항을 XML과 같은 확장 가능한 마크업 언어(extensible Markup Language)로 기재되어 있는 것으로서 도 3에 마인드맵 예시를 도시하였다.
상기에서 클라이언트 마인드맵(103)은 클라이언트(100)에서 보관되는 마인드맵이고, 공동저작 마인드맵(123)은 공동저작 서버(120)에 보관되는 마인드맵으로서, 상기 클라이언트 마인드맵(103)과 공동저작 마인드맵(123)은 동기화되어 동일 한 마인드맵을 가지게 된다. 따라서 다수의 클라이언트(105,106,107)에서 작성되는 동일한 문서에 대한 클라이언트 마인드맵은 변경 내용 그대로 공동저작 서버의 공동저작 마인드맵에 동기화되어 적용된다.
즉, 클라이언트와(100) 공동저작 서버(120)는 특정 동일 문서에 대해서 동기화되어 변동된 문서 사항이 적용되는데, 예를 들어, 제1클라이언트(105)를 통해 특정 클라이언트 마인드맵에 대한 업데이트가 이루어지게 되면 이는 공동저작 서버에 저장되어 있는 공동저작 마인드맵(123)에 동일하게 업데이트되고, 이러한 업데이트된 공동저작 마인드맵은 동일한 문서인 경우 다른 제2클라이언트(106), 제N클라이언트(107)내의 해당 클라이언트 마인드맵에 업데이트된 상태 그대로 동일하게 적용된다.
상기와 같이 공동저작 서버(120)와 다수의 클라이언트간(100)에 마인드맵 동기화는 상호 그 변화를 체크하여 동기화가 이루어지며, 이러한 동기화는 공동저작 서버(120)와 다수의 클라이언트(100) 사이에 있는 동기화 서버(110)를 통해 이루어진다. 이하, 상기의 클라이언트(100; MindMap Client), 동기화 서버(110; Sync server), 공동저작 서버(120)의 내부 구성 블록에 대하여 설명한다.
상기 클라이언트(100)는 공동저작자가 문서 편집을 위해 이용하는 개인용 컴퓨터에 설치된 마인드맵 어플리케이션으로서, 윈도우즈 기반 단독 어플리케이션 및 액티브엑스(ActiveX), 애플릿(applet) 등의 어플리케이션을 말한다. 상기 클라이언트(100)는 클라이언트 동기화 에이전트(101), 클라이언트 마인드맵(102)을 구비하 는데, 상기 클라이언트 동기화 에이전트(101)는 마인드맵 생성 및 변경 사항을 동기화서버로 전송하며, 동기화 서버(110)로부터 요청받은 공동저작 서버(120)의 변경 사항을 처리하는 모듈이다. 따라서 공동저작자가 작성한 문서는 상기 클라이언트를 통해 클라이언트 마인드맵(103)으로 동기화 저장된다. 상기 클라이언트 마인드맵(103)은, 작성된 문서의 각 노드가 트리 형태로 계층적으로 저장되어 있다. 각 노드에는 고유의 노드 ID와 각 노드별 텍스트가 저장되어 있는데, 이러한 노드 구성 예에 대해서는 후술한다. 또한, 클라이언트 마인드맵(103)은 클라이언트 마인드맵의 종속관계를 알 수 있도록 하는 트리정보(103)가 저장되어 있다. 상기 클라이언트 마인드맵(103)은 클라이언트 마인드맵의 변경시간, 동기화시간, 마인드맵 ID가 저장되어 있는 헤더(102)를 가지고 있다.
상기 동기화 서버(110)는 클라이언트와 공동저작 서버간의 변경 사항을 상호 비교하여 타 시스템의 변경 사항을 각 에이전트, 즉, 클라이언트 동기화 에이전트(101), 공동저작 동기화 에이전트(121)에 요청하는 기능을 수행한다.
상기 동기화 서버 내의 파싱 엔진(111)은 클라이언트와 공동저작 서버 간의 요청 및 마인드맵을 파싱(parsing)하여 정렬하는 모듈이다. 상기 파싱은 마인드맵에서 필요한 노드 ID와 해당 노드 ID별 텍스트를 추출하는 작업으로서, 이러한 파싱 작업이 이루어지면 해당 마인드맵에 대한 노드 ID와 해당 노드 ID별 텍스트를 가지는 파싱 데이터를 얻을 수 있다.
비교 엔진(112)은 클라이언트의 클라이언트 마인드맵(103)과 공동저작 서버의 공동저작 마인드맵(123)간에 변경 사항을 분석, 판단하고, 서로간에 변경 사항 을 동기화 테이블로 작성하는 기능을 수행한다. 이를 위하여 비교 엔진은, 클라이언트의 클라이언트 마인드맵(103)과 공동저작 서버의 공동저작 마인드맵(123)을 상호 비교하여 그들의 변경 사항을 파악할 수 있게 된다. XML 형태의 마크업 언어로 기재된 클라이언트 마인드맵과 공동저작 마인드맵의 상호 변동 사항 파악은 기존에 다양한 제품이 제시되어 있어 이들을 이용할 수 있다. 예컨대, IBM AlphaWorks의 XML Diff and Merge Tool(http://www.alphaworks.ibm.com/tech/xmldiffmerge)을 이용하거나, 오픈 소스인 XML Diff Tool(http://www.manageability.org/blog/stuff/open-source-xml-diff-in-java/view)을 이용하거나,X-Diff(http://wwww.cs.wisc.edu/~yuanwang/xdiff.html)을 이용하거나, DeltaXML(http://www.deltaxml.com)을 이용할 수 있다.
한편, 동기화 프로세서(113)는 비교 엔진의 수행 결과물인 동기화 테이블을 이용하여 클라이언트나 공동저작 서버에 지시할 내용인 명령 테이블을 작성하고, 이를 각 에이전트(클라이언트 동기화 에이전트, 공동저작 동기화 에이전트)에 반영하도록 하는 요청을 처리하는 모듈이다.
공동저작 서버(120)는 다수의 클라이언트에 의해 공동 저작되는 마인드맵이 저장되어 있는 서버로서, 공동저작 서버 내의 공동저작 서버 동기화 에이전트(121)는 공동저작 마인드맵의 생성 및 변경 사항을 동기화 서버(110)로 전송하며, 또한, 동기화 서버(110)에서 요청받은 클라이언트의 변경 사항을 처리하는 모듈이다. 공동저작 마인드맵(123)은 공동저작 문서의 맵 구조가 저장되어 있는 맵으로서, 노드에는 고유한 노드 아이디와 해당 노드별 텍스트가 저장되어 있다. 이밖에 공동저작 마인드맵은 공동저작 마인드맵의 종속관계를 알 수 있도록 하는 트리정보가 저장되어 있다. 또한, 공동저작 마인드맵에는 공동저작 마인드맵의 변경시간, 동기화시간, 마인드맵 ID가 저장되어 있는 헤더(122)가 존재한다. 회원정보(126)는 공동저작 서버에 접속하여 공동저작을 수행할 수 있는 회원들의 정보(성명, 주소, 연락처 등)가 저장되어 있다.
인증서버(130)는 동기화 접속이 요청이 있을 시에 클라이언트나 공동저작 서버에 대한 일반적인 인증(Authentication), 허가(Authorization), 인증 판정의 기능을 수행하는 서버이다.
도 2는 본 발명의 실시 예에 따른 마인드맵의 트리 구조를 나타낸 그림이고, 도 3은 본 발명의 실시 예에 따른 마인드맵 마크업 문서를 나타낸 그림이고, 도4는 본 발명의 실시 예에 따른 마인드맵이 화면에 표시될 때의 모습을 도시한 그림이다.
이하에서 마인드맵이라 함은, 클라이언트내의 클라이언트 마인드맵 및 공동저작 서버내의 공동저작 마인드맵의 구조를 설명하기 위함으로서, 상기 클라이언트 마인드맵과 공동저작 마인드맵에 공동 적용되어 설명되는 내용들이다.
도 3에 도시된 마인드맵 마크업 문서(103)는 도 2에 도시한 바와 같이 트리 구조를 가진다. 상기 마인드맵은 각 노드마다 고유의 ID를 가지며, 이러한 노드 ID와 해당 노드 명칭이 저장된다. 상기 마인드맵이 화면에 보여질 때는 계층적 구조 순서대로 표시되어 디스플레이된다. 상기 마인드맵에서 기재되는 노드 ID는 UUID(Universally Unique Identifier)와 같은 방식으로 랜덤키로서 생성된다.
마인드맵에 있는 각 노드간의 계층적인 종속관계는 트리 정보(104; tree information)로서 별도로 관리된다. 이들의 트리 정보(104)는 화면에 출력되지 않는 특별한 태그(tag)를 사용하여 마인드맵의 텍스트 렌더링(text rendering)으로서 기재되어 있으며, 이들 노드가 마인드맵의 노드임을 나타낸다. 이들의 트리 정보(104)는 화면에 출력되지 않는 특별한 태그를 사용하여 마인드맵의 일부에 기대되어 있기 때문에 화면에서는 보이지 않지만, 필요시에는 이러한 마인드맵을 통해 각 노드간의 관계를 직접 알 수 있게 된다.
한편, 상기 클라이언트 마인드맵과 공동저작 마인드맵은 각각 헤더를 가지고 있는데, 상기 헤더에는 각 마인드맵에 관련된 정보를 가지고 있다. 즉, 도 5에 도시한 바와 같이 마인드맵 ID, 동기화시간, 변경시간, 버전을 포함하고 있다. 상기 클라이언트 마인드맵과 공동저작 마인드맵은 동기화 서버를 통해 동기화가 이루어지는데, 이러한 동기화를 위해 고유한 마인드맵 ID를 가지고 있다. 상기 마인드맵 ID는 공동저작 문서가 저장되어 있는 데이터베이스 위치를 나타내는 프라이머리 키 ID(Primary Key ID)로서 사용되어, 마인드맵의 헤더에 저장된다.
변경시간은 마인드맵의 변경이 일어난 직후의 시간이 기록되고, 동기화 시간은 다른 마인드맵과 동기화가 일어날 때 동기화가 이루어지고 난 직후의 시간이 기록되어야 한다.
도 6은 본 발명의 실시 예에 따라 클라이언트와 공동저작 서버간에 마인드 맵 동기화를 수행하는 동기화 서버의 동기화 단계들을 총괄적으로 분류한 플로차트이다.
동기화 서버에서 이루어지는 동기화는 크게 사전 동기화(pre-synchronization), 동기화(synchronization), 사후 동기화(post-synchronization)인 총 3단계로 이루어진다. 다른 실시 예로서, 마인드맵의 변경 충돌이 발생하지 않을 시에는, 사전 동기화와 동기화라는 2단계로 이루어질 수 있다.
상기 사전 동기화(S601)는 실제적인 동기화 단계가 이루어지기 전에 일어나는 사전 준비작업 단계로서, 인증(authentication), 허가권한(authorization) 등의 작업이 이루어진다. 상기 인증은 동기화 대상인 클라이언트 및 공동저작 서버의 자격 인증을 위한 것으로서, 미리 회원으로 가입되어 있는 클라이언트, 공동저작 서버에 대해서만 동기화를 수행해주기 위함이다. 상기 인증은 개인키나 공개키를 기반으로 한 암호화를 통해 인증이 이루어질 수 있는데, 상기 인증은 별도의 인증 서버를 통해 이루어질 수 있다.
상기 허가권한은 클라이언트의 자격을 판정하는 것으로서, 클라이언트가 공동저작 서버로 특정 공동저작 문서에 대하여 수정(modifying), 삭제(deleting) 등의 업데이트를 수행할 수 있는 권한이 있는지를 판단하는 것이다. 따라서 각 클라이언트는 각각 다른 허가 권한을 가질 수 있는데, 예컨대, 허가 권한에 따라 공동저작 서버내의 공동저작 문서를 읽어올 수만 있는 권한, 수정 할 수 있는 권한, 삭제시킬 수 있는 권한 등을 각각 가지게 된다. 이러한 허가권한은 각 클라이언트의 회원정보에 각각 기록되어 있으므로, 동기화 서버는 공동저작 서버로부터 이러한 허가권한을 전송받아, 동기화 요청된 클라이언트의 허가권한을 판정한다.
상기와 같이 사전 동기화 단계(S601)가 성공적으로 완료되어 동기화 단계로 진입하면, 클라이언트와 공동저작 서버간에 실제적인 동기화가 이루어지는 동기화 단계(S602)가 수행된다. 이는 클라이언트와 공동저작 서버간에 데이터가 상호 교환되는 작업으로서, 새로 작성되거나 수정되거나 삭제된 항목에 대해서만 상호 교환이 이루어진다. 그런데, 만약, 클라이언트와 공동저작 서버간에 동일한 항목을 동시에 업데이트 하면, 충돌(conflict) 현상이 발생할 수 있다. 상기 충돌 해결 방법은, 클라이언트와 공동저작 서버에서 발생되는 업데이트를 모두 통합하여 함께 업데이트를 하거나, 엔트리를 중복시키거나, 변경 시간을 우선시 하여 하나의 엔트리를 다른 엔트리 상위에 배치시키거나, 충돌 발생 시에 업데이트 하지 않고 충돌을 기록하여 추후에 사용자가 해결하도록 하는 방안이 있다.
상기 동기화 단계(S602)가 이루어지고 난 후에는, 후속 동기화 단계(S603)가 이루어지는데, 이는 임시 데이터를 삭제하고 해결되지 않은 충돌의 기록 등을 삭제하는 작업으로서 이루어진다.
한편, 상기 동기화가 이루어지는 단계들은, 크게 다섯 가지 형태로 동기화가 이루어질 수 있는데, 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어지는 형태(공동저작 마인드맵 생성, 도7), 새로운 공동저작 마인드맵이 생성된 후 동기화가 이루어지는 형태(클라이언트 마인드맵 생성, 도11, 도12), 공동저작 문서의 페이지가 변경된 후 공동저작 마인드맵에 동기화가 이루어지는 형태(공동저작 마인드맵 변경, 도14), 클라이언트 마인드맵만 변경된 후 공동저작 마인드맵에 동기화 가 적용되는 형태(공동저작 마인드맵 변경, 도16), 공동저작 마인드맵과 클라이언트 마인드맵이 모두 변경되는 형태(도18) 등으로 이루어질 수 있다. 이러한 다섯 가지 동기화 형태에 대해서 이하 도면과 함께 설명한다.
도 7은 본 발명의 실시 예에 따라 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어지는 형태(공동저작 마인드맵 생성)를 도시한 흐름도이다.
우선, 클라이언트(100)에서 클라이언트 마인드맵 생성(S702)이 이루어지며 상기 작성된 클라이언트 마인드맵의 예시를 도 3에 도시하였는데, 각 노드의 고유 노드 ID와 해당 노드에 할당된 텍스트가 작성된다. 상기에서 각 노드의 고유한 노드 ID는 UUID(Universally Unique Identifier)와 같은 방식으로 랜덤키로서 생성된다. 마인드맵의 하단에는 각 노드간의 종속 관계를 나타낸 트리 정보가 기록되는데, 상기 트리 정보는 화면에 출력되지 않는 특별한 태그(tag)를 사용하여 마인드맵의 텍스트 렌더링(text rendering)으로서 기재된다.
또한, 클라이언트(100)는 사용자로부터 클라이언트 마인드맵 작성 완료 확인이 있을 시에는 해당 작성 시간과 최초 버전을 기록한 클라이언트 마인드맵 헤더를 생성한다. 상기 클라이언트 마인드맵 헤더의 예시를 도 8에 도시하였는데, 도 8에 도시한 바와 같이 변경시간 필드에 마인드맵이 작성된 일자 및 시간을 기록하고, 미리 설정된 최초 버전을 기록한다. 이때 마인드맵 ID는 할당된 ID가 없으므로 아무 기록도 하지 않은 비워둔 상태(null 상태)로 한다.
상기 클라이언트 마인드맵 작성이 이루어진 후에는 클라이언트는 공동저작 서버에 접속하여 소정의 인증절차(S704)를 거친다. 상기 인증이 성공적으로 이루어지면, 작성된 클라이언트 마인드맵의 헤더가 동기화 서버(110)로 전송(S706)되고, 동기화 서버(110)는 클라이언트 마인드맵 ID에 아무런 ID도 없는 널(null) 상태임을 확인하고 수신한 클라이언트 마인드맵이 신규로 생성된 마인드맵임을 감지(S708)하게 되고, 클라이언트(100)에 신규 작성된 클라이언트 마인드맵을 전송해줄 것을 요청(S710)한다. 상기 요청을 수신한 클라이언트(100)는 새롭게 작성된 해당 클라이언트 마인드맵을 동기화 서버(110)로 전송(S712)한다.
상기 클라이언트 마인드맵을 수신한 동기화 서버의 파싱엔진은 전송받는 마인드맵을 파싱(parsing)하여 이들의 노드 ID 및 각 노드별 텍스트를 뽑아내어 파싱 데이터를 작성(S714)한다. 또한, 비교 엔진은 수신받은 클라이언트 마인드맵의 각 노드가 종래에 클라이언트 마인드맵에 없던 새로운 노드 추가임을 나타내는 동기화 테이블을 작성하고, 동기화 프로세서는 이를 바탕으로 공동저작 마인드맵에 동기화 적용할 내역을 기재한 명령 테이블을 작성(S716)한다.
예를 들어, 클라이언트에서 새롭게 작성된 클라이언트 마인드맵의 노드 ID가 '1'인 노드에 '가'라는 텍스트가 작성되고, '2' 노드 ID에 '나'라는 텍스트가 작성되고, '3' 노드 ID에 '다'라는 텍스트가 작성되고, '4' 노드 ID에 '라'라는 텍스트가 작성되었다고 할 시에, 이러한 내용이 담긴 클라이언트 마인드맵이 동기화 서버로 전송되면, 동기화 서버는 이를 파싱(parsing)하여 도 9(a)와 같은 파싱 데이터 및 도 9(b)와 같은 동기화 테이블 및 도 9(c)와 같은 명령 테이블을 작성한다.
상기 작성된 파싱 데이터와 명령 테이블은 공동저작 서버(120)로 전송되어 동기화 작업 지시(S718)가 내려지고, 이를 바탕으로 공동저작 서버(120)는 새로운 공동저작 마인드맵을 생성(S720)한다. 결국, 새롭게 작성되는 공동저작 마인드맵은 클라이언트 마인드맵과 동기화되어 동일한 내용으로 업데이트된다. 이때, 해당 마인드맵의 고유한 마인드맵 ID가 할당되는데, 상기 공동저작 마인드맵 ID는 공동저작 마인드맵이 저장되어 있는 저장 위치를 나타내는 프라이머리 키(primary key)로서 할당된다. 이러한 공동저작 마인드맵 ID는 클라이언트로 전송(S724)되어 클라이언트 마인드맵 역시 동일한 마인드맵 ID로서 할당 저장된다. 또한, 동기화가 이루어진 동기화 시간 역시 클라이언트로 전송된다. 상기 마인드맵 ID와 동기화 시간을 수신한 클라이언트는 클라이언트 마인드맵의 헤더에 이를 적용하여 저장(S724)한다.
새롭게 작성된 클라이언트 마인드맵과 이를 바탕으로 새롭게 생성되는 공동저작 마인드맵의 동기화 예시를 도 10에 도시하였는데, 도 10에 도시한 바와 같이 공동저작 마인드맵은 클라이언트 마인드맵과 동기화되어 각 노드별로 텍스트가 동일하게 동기화되었음을 알 수 있다. 또한, 동기화 시간 역시 동일하게 기록되어 있음을 알 수 있다. 상술하면, 도 10은 상기 도 7의 단계들을 거칠 시에 각 상태를 도시한 그림으로서, 헤더 정보가 교환 되어 있지 않을 시에는 클라이언트 마인드맵의 헤더 정보에만 변경시간이 기록되어 있다가 클라이언트 마인드맵에 대한 파싱이 이루어져 클라이언트 마인드맵의 파싱데이터가 작성되고 나서 동기화 테이블 및 명령 테이블이 생성된 후, 최종적으로 클라이언트와 공동저작 서버는 동일한 데이터를 공유하게 됨을 알 수 있다.
한편, 상기 도 7에서 도시한 바와 같이 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어질 때 클라이언트와 공동저작 서버에서 적용되는 예시를 도 21에 도시하였다.
도 11은 본 발명의 실시 예에 따라 새로운 공동저작 문서가 생성된 후 공동저작 마인드맵이 생성되는 단계를 도시한 흐름도이다.
공동저작 서버(120가 동기화 서버에 접속하여 인증을 완료(S1104)한 후. 공동저작 서버(120)에 소정의 공동저작 문서가 생성(S1102)되면, 상기 생성된 공동저작 문서를 동기화 서버(110)로 전송(S1106)한다. 상기 공동저작 문서를 수신한 공동기화 서버(1110)는 이를 파싱(S1108)하여 해당 공동저작 문서에 대한 공동저작 마인드맵을 생성(S1110)한다. 상기 생성된 공동저작 마인드맵은 공동저작 서버로 전송(S112)되고, 이를 수신한 공동저작 서버(120)는 이를 공동저작 마인드맵으로서 저장하여 보관(S1114)한다.
상기와 같이 새롭게 생성된 공동저작 마인드맵은 클라이언트 요청이 있을 시에 클라이언트에 전송되어 클라이언트 마인드맵으로 저장되는데, 이러한 단계들을 도 12에 도시하였고 이들의 변화 상태를 도 13에 도시하였다.
클라이언트가 접속하여 성공적으로 인증이 완료(S1202)된 후, 클라이언트가 사용자로부터 특정 공동저작 문서를 선택(S1204)받게 되면, 클라이언트(100)는 해당 공동저작 문서에 대한 공동저작 마인드맵을 요청(S1206)한다. 이를 수신한 동기화 서버(110)는 공동저작 서버(120)에게 해당 공동저작 마인드맵 전송을 요 청(S1208)하고, 공동저작 서버(120)는 해당 마인드맵을 동기화 서버(110)로 전송(S1210)한다. 이를 수신한 동기화 서버의 파싱 엔진은 이를 파싱하여 파싱 데이터를 생성(S1212)하고, 비교 엔진은 동기화 테이블을 생성하고 동기화 프로세서는 명령테이블을 생성(S1214)한 후, 상기 파싱 테이블 및 명령 테이블을 클라이언트에 전송하여 해당 명령대로 클라이언트 마인드맵을 생성하도록 작업 지시 요청(S1216)한다. 상기 요청을 수신한 클라이언트(100)는 클라이언트 마인드맵을 생성(S1218)함으로써 결과적으로 새로 생성된 클라이언트 마인드맵은 공동저작 마인드맵과 동기화된 동일한 값을 가지게 된다.
한편, 도 7의 단계를 거쳐 새로운 클라이언트 마인드맵이 생성된 후 동기화가 이루어지거나, 도 11 및 도 12의 단계를 거쳐 새로운 공동저작 마인드맵이 생성된 후 동기화가 이루어지고 난 후, 어느 한쪽의 마인드맵만 변경되거나 양쪽 모두 마인드맵이 변경된 경우에 동기화가 이루어지는 단계들을 이하, 도 14, 도 16, 도 18과 함께 설명하기로 한다.
도 14는 본 발명의 실시 예에 따라 동기화 후 공동저작 문서가 변경된 후 공동저작 마인드맵의 변경이 이루어지는 동기화 단계를 도시한 흐름도이고 도 15는 이에 따른 각 상태를 도시한 그림이다.
참고로, 상기 도 14의 단계들은 클라이언트가 구동되지 않고 오직 공동저작 서버의 공동저작 문서가 업데이트될 시에 이에 따른 공동저작 마인드맵의 동기화를 이루기 위한 것이다.
공동저작 서버(120)는 공동작업 문서의 내용이 변경(S1402)되었을 시에는 변경된 공동저작 문서 및 해당 공동저작 마인드맵을 동기화 서버(110)로 전송(S1404)한다. 동기화 서버(110)는 수신한 공동저작 문서를 파싱하여 공동저작 데이터를 추출하며 공동저작 마인드맵을 파싱(S1406)하여 공동저작 문서에 기록되어 있는 각 노드 ID와 해당 텍스트를 추출하고, 또한, 수신한 공동저작 마인드맵에 기록되어 있는 각 노드 ID와 해당 텍스트를 추출한다. 상기 추출된 파싱 데이터 값들은 비교 엔진에서 상호 비교(S1408)되어 그 변경 상태에 따른 동기화 테이블이 생성되고, 동기화 프로세서는 이에 따른 명령 테이블이 작성(S1410)된다.
상기 공동저작 문서의 공동저작 데이터와 상기 명령 데이터는 공동저작 서버(120)로 전송되어 동기화 작업 지시 요청(S1412)되고, 이러한 동기화된 내용이 공동저작 마인드맵에 동기화 적용(S1414)된다.
도 16은 본 발명의 실시 예에 따른 클라이언트 마인드맵의 변경이 있을 시에 공동저작 마인드맵과의 동기화가 이루어지는 단계를 도시한 흐름도이고 도 17은 이러할 때에 각 상태를 도시한 그림이다.
클라이언트 마인드맵 변경(S1602)이 있을 시에는 클라이언트는 동기화 서버에 접속하여 인증을 수행(S1604)한다. 상기 인증이 성공적으로 완료된 후에는, 변경된 클라이언트 마인드맵 및 헤더 정보를 동기화 서버(110)에 전송(S1606)한다. 동기화 서버는 수신한 클라이언트 마인드맵을 파싱하여 파싱 데이터를 작성(S1608)하고 이에 상응되는 공동저작 마인드맵을 전송해줄 것을 공동저작 서버(120)에 요 청(S1610)한다. 상기 요청은 마인드맵 ID가 기록되어 있는 헤더를 함께 전송하며 요청한다. 공동저작 서버(120)는 해당 마인드맵 ID를 가진 공동저작 마인드맵을 동기화 서버(110)로 전송(S1612)한다.
동기화 서버(110)는 수신한 공동저작 마인드맵을 파싱(S1614)하여 노드 ID 및 텍스트가 있는 파싱 데이터를 추출하며, 아울러 동기화 서버 내의 비교 엔진은 동기화 테이블을 생성하고 동기화 프로세서는 이에 따른 명령 테이블을 작성(S1616)한다.
상기 생성된 마인드맵 데이터 및 명령 테이블이 공동저작 서버(120)로 전송되어 동기화 작업 지시가 요청(S1618)되고, 이를 수신한 공동저작 서버(120)는 수신한 내용을 공동저작 마인드맵에 동기화 적용(S1620)한다.
도 18은 본 발명의 실시 예에 따라 동기화가 이루어지고 난 후 공동저작 마인드맵과 클라이언트 마인드맵의 변경이 동시에 발생할 시에 동기화가 이루어지는 단계를 도시한 흐름도이고 도 19는 이러할 때에 각 상태의 블록 흐름도를 도시한 그림이다.
일반적으로 동기화가 이루어지고 나서 공동저작 마인드맵과 클라이언트 마인드맵의 버전이 동일하게 동기화된 후, 공동저작 마인드맵이 변경되거나 클라이언트 마인드맵이 변경될 시에 이에 따른 동기화가 필요하다. 예를 들어, 도 20에 도시한 바와 같이 공동저작 문서가 변경될 시에 이에 따른 공동저작 마인드맵의 변경이 요청되고 이에 따라 공동저작 마인드맵이 변경될 시에는, 클라이언트 마인드맵 역시 이에 따른 동기화가 일어나게 된다.
그런데, 만약, 클라이언트와 공동저작 서버간에 동일한 항목을 동시에 업데이트 하면, 충돌(conflict) 현상이 발생할 수 있다. 상기 충돌 해결 방법은, 클라이언트와 공동저작 서버에서 발생되는 업데이트를 모두 통합하여 함께 업데이트를 하거나, 엔트리를 중복시키거나, 변경 시간을 우선시 하여 하나의 엔트리를 다른 엔트리 상위에 배치시키거나, 충돌 발생 시에 업데이트 하지 않고 충돌을 기록하여 추후에 사용자가 해결하도록 하는 방안이 있다. 이러한 해결 방안을 도 18의 플로차트와 함께 설명한다.
공동저작 문서가 변경되어 공동저작 마인드맵이 변경(S1800)된 상태에서 동기화가 이루어지기 전에 클라이언트 마인드맵 역시 자체적으로 변경(S1802)된 경우, 클라이언트(100)는 변경된 클라이언트 마인드맵을 동기화 서버(110)로 전송(S1804)한다. 동기화 서버(120)는 클라이언트 마인드맵을 파싱(S1806)하여 파싱 데이터를 추출한 후, 해당 마인드맵 ID를 가지는 공동저작 마인드맵을 전송해줄 것을 공동저작 서버(120)에 요청(S1808)한다. 공동저작 서버(120)는 현재 변경된 상태의 공동저자 마인드맵을 동기화 서버(110)에 전송(S1810)하며, 이를 수신한 동기화 서버(110)는 수신한 공동저작 마인드맵을 파싱(S1812)하여 파싱 데이터를 추출한다. 그 후, 충돌 처리 원칙에 따라 처리(S1814)하여 동기화 테이블 및 명령 테이블을 생성(S1816)한다.
도 19를 보면 변경 시간을 우선시 하여 하나의 엔트리를 다른 엔트리 상위에 배치시키는 충돌 처리 원칙의 예를 도시하였다. 변경시간의 우선 처리 원칙의 경우 에는, 도 19와 같이 동기화 테이블 및 명령 테이블이 생성된다.
상기 생성된 명령 테이블 및 파싱 데이터는 클라이언트와 공동저작 서버에 각각 전송되어 동기화 작업 지시 요청(S1818)되고, 각 클라이언트 마인드맵 및 공동저작 마인드맵에 동일하게 동기화 적용(S1820,S1822)된다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시 될 수 있다. 따라서 본 발명의 특허 범위는 상기 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위뿐 아니라 균등 범위에도 미침은 자명할 것이다.
상기에서 기술한 바와 같이 본 발명은, 클라이언트와 공동저작 서버 간에 문서를 동기화 시킬수 있음으로서, 온라인을 통해 다수의 클라이언트가 동일 문서에 대한 작업을 동일하게 진행할 수 있는 효과가 있다. 또한, 공동저작 서버 내의 공동저작 문서가 변경될 시에도 각 클라이언트에 동일하게 적용될 수 있는 효과가 있다. 또한, 마인드맵의 방사형 트리구조의 시각적인 인지 방법과 공동저작 시스템의 텍스트 중심의 온라인 공동저작 시스템의 장점을 살리고 각각의 단점을 상호 보완하여 마인드맵으로 부터 도출된 아이디어와 같은 결과물들이 오프라인 형태로 머무는 것이 아니라 마인드맵과 공동저작 페이지와 동기화를 통해 공동저작 페이지로 완성함으로서 사용자 참여형 온라인 공동 저작 시스템이 될 수 있도록 한다. 또한, 마인드맵으로 작성된 내용들을 온라인 공동 저작 시스템인 공동저작 시스템으로 자 동으로 출판함으로서 여러 사용자가 마인드맵으로 부터 도출된 아이디어나 이슈들에 대해서 트리 구조의 이미지만을 공유하는 것이 아니라 각각의 노드에 대한 세부 내용들에 대해서 공동으로 작업할 수 있는 기반을 제공하는 효과가 있다. 또한, 마인드맵형태로 정리된 데이터를 온라인 공동저작 시스템으로 자동으로 동기화함으로서 마인드맵의 내용을 수작업으로 변경하지 않고 자동화하는 효과가 있다. 공동저작 문서에 대하여 마인드맵으로 동기화함으로서 텍스트 기반으로 되어 있는 공동저작 문서의 내용을 마인드맵의 방사형 트리 구조의 이미지 형태로 자동으로 변환하여 마인드맵의 장점을 이용하여 공동저작 문서에 대한 개요나 핵심 키워드를 직관적으로 이해할 수 있도록 하는 효과가 있다. 마인드맵과 공동저작 문서의 양방향 동기화를 통해 마인드맵으로 작성된 내용을 온라인 형태로 다중 사용자가 마인드맵을 기반으로 하여 지속적인 공동저작을 할 수 있는 효과가 있다..
Claims (15)
- 온라인상에서 공동으로 저작되는 공동저작 문서의 각 노드별 계층적 종속관계를 나타낸 마인드맵을 공동저작 마인드맵으로서 가지고 있는 공동저작 서버와,개인이 작성한 문서의 각 노드별 계층적 종속관계를 나타낸 마인드맵을 클라이언트 마인드맵으로서 가지고 있는 클라이언트와,상기 공동저작 마인드맵과 상기 클라이언트 마인드맵을 파싱하여 이들의 차이를 비교한 후, 변경된 내용을 상기 공동저작 마인드맵 및 클라이언트 마인드맵에 동기화 적용시키는 동기화 서버를 포함하며,상기 공동저작 서버는, 상기 동기화 서버와 데이터를 교환하며 상기 동기화 서버로부터 동기화 요청에 따라 해당 동기화된 내용을 상기 공동저작 마인드맵에 적용하는 공동저작 동기화 에이전트와, 상기 공동저작 마인드맵의 결과물로서 저장된 공동저작 문서와, 상기 공동저작 서버에 접속하여 공동저작을 수행할 수 있는 회원들의 정보가 저장된 회원정보를 포함하며,상기 클라이언트는, 상기 동기화 서버와 데이터를 교환하며 상기 동기화 서버로부터 동기화 요청에 따라 해당 동기화된 내용을 상기 클라이언트 마인드맵에 적용하는 클라이언트 동기화 에이전트를 포함하는 온라인 공동저작 시스템.
- 제1항에 있어서, 상기 온라인 공동저작 시스템은,상기 공동저작 서버와 상기 클라이언트의 회원 권한을 인증하는 인증 서버를 더 포함하는 온라인 공동저작 시스템.
- 제1항에 있어서, 상기 동기화 서버는,상기 클라이언트와 공동저작 서버 간의 요청 및 마인드맵을 파싱(parsing)하여 정렬하는 파싱 엔진과,클라이언트 마인드맵과 공동저작 서버의 공동저작 마인드맵의 상호 변경 사항을 분석, 판단하고, 상호 변경사항을 동기화 테이블로 작성하는 비교 엔진과,상기 동기화 테이블에 따라 변경된 내역을 클라이언트 동기화 에이전트, 공동저작 동기화 에이전트에 반영하도록 하는 명령 테이블을 작성하는 동기화 프로세서를 포함하는 온라인 공동저작 시스템.
- 제1항에 있어서, 상기 공동저작 마인드맵 및 클라이언트 마인드맵은,텍스트 렌더링(text rendering) 상에서 화면에 출력되지 않는 소정의 태그를 사용하여 각 노드간의 종속 관계를 나타내는 트리정보를 포함하는 온라인 공동저작 시스템.
- 제1항 또는 제4항에 있어서, 상기 공동저작 마인드맵 및 클라이언트 마인드맵은, 마인드맵의 고유한 마인드맵 ID, 마인드맵의 변경시간, 동기화 시간, 버전을 포함하는 헤더를 각각 가지고 있는 온라인 공동저작 시스템.
- 제1항에 있어서, 각 노드는 고유의 노드 ID와 해당 텍스트를 가지고 있는 온라인 공동저작 시스템.
- 제6항에 있어서, 상기 노드 ID는 임의적으로 랜덤하게 생성되어 할당되는 것을 특징으로 하는 온라인 공동저작 시스템.
- 개인별 작성된 문서의 각 노드별 계층적 종속관계를 나타낸 클라이언트 마인드맵이 개인 문서 작성이 이루어지는 클라이언트에서 신규로 작성되는 단계와,상기 작성된 클라이언트 마인드맵의 작성 시간이 기록되고 마인드맵의 고유한 마인드맵 ID를 널(null) 상태로 기록된 헤더가 작성되는 단계와,상기 클라이언트가 마인드맵의 동기화를 수행하는 동기화 서버에 접속/인증을 완료하고 상기 작성된 헤더를 전송하는 단계와,상기 동기화 서버가 상기 클라이언트로부터 수신한 상기 헤더에 마인드맵 ID가 널(null) 상태로 되어 있을 시에는 상기 클라이언트에게 클라이언트 마인드맵을 전송해줄 것을 요청하는 단계와,상기 클라이언트가 상기 클라이언트 마인드맵을 상기 동기화 서버로 전송하는 단계와,상기 동기화 서버가 상기 수신한 클라이언트 마인드맵을 파싱하여 이들의 노 드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하고 이들 변경 내역을 명령 테이블로서 작성하는 단계와,상기 동기화서버가 온라인상에서 공동으로 문서 작성 이루어지는 공동저작 서버로 상기 파싱 데이터와 명령 테이블을 전송하여 동기화 요청하는 단계와,상기 공동저작 서버가 상기 수신한 파싱 데이터와 명령 테이블을 참조하여 온라인상에서 공동으로 저작되는 공동저작 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵에 동기화 적용시키고, 해당 공동저작 마인드맵에 마인드맵 ID를 할당하는 단계와,상기 클라이언트가 상기 공동저작 서버로부터 상기 마인드맵 ID를 전송 받아 상기 클라이언트 마인드맵에 기록하는 단계를 포함하는 온라인 공동저작 시스템의 동기화 방법.
- 온라인상에서 공동으로 저작되는 공동저작 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵이 상기 공동저작 문서를 보관하고 있는 공동저작 서버에서 작성되는 단계와,마인드맵의 동기화를 수행하는 동기화 서버가 상기 공동저작 문서를 수신 후 이를 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하고 이들 생성 내역에 따른 마인드맵을 생성하여 상기 공동저작 서버로 전송하는 단계와,상기 공동저작 서버가 상기 수신한 마인드맵을 공동저작 마인드맵으로 저장 하는 단계와,개인 문서 작성이 이루어지는 클라이언트가 접속/인증 완료한 후, 특정 공동저작 문서의 마인드맵을 전송해 줄 것을 상기 동기화서버에 요청하는 단계와,상기 동기화 서버가 상기 요청된 마인드맵을 전송해줄 것을 상기 공동저작 서버에 요청하는 단계와,상기 동기화 서버가 상기 공동저작 서버로부터 요청한 마인드맵을 수신하여, 이를 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하고 이들 변경 내역을 명령 테이블로서 작성한 후, 상기 파싱 데이터와 명령 데이터를 상기 클라이언트로 전송하는 단계와,상기 클라이언트가 수신한 파싱 데이터와 명령 데이터를 참조하여 각 노드별 계층적 종속 관계를 나타내는 클라이언트 마인드맵을 생성하여 동기화를 이루는 단계를 포함하는 온라인 공동저작 시스템의 동기화 방법.
- 제8항 또는 제9항에 있어서,온라인상에서 공동으로 저작되는 공동저작 문서에 변경이 있을 시에는, 상기 공동저작 문서를 보관하고 있는 공동저작 서버가 상기 변경된 공동저작 문서와 변경 이전 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵을 마인드맵의 동기화를 수행하는 동기화 서버로 전송하는 단계와,상기 동기화 서버가 상기 수신한 공동저작 문서 및 공동저작 마인드맵을 파 싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 각각 작성하는 단계와,상기 동기화 서버가 상기 공동저작 문서의 파싱 데이터와 상기 공동저작 마인드맵의 파싱 데이터를 상호 비교하여 그 변경 내역을 명령 테이블로서 작성하여, 상기 명령 테이블과 상기 공동저작 문서의 파싱 데이터를 상기 공동저작 서버로 전송하는 단계와,상기 공동저작 서버가 수신한 명령 테이블과 공동저작 문서의 파싱데이터를 참조하여 공동저작 마인드맵에 적용 변경하여 동기화를 이루는 단계를 포함하는 온라인 공동저작 시스템의 동기화 방법.
- 제8항 또는 제9항에 있어서,개인 작성된 문서의 각 노드별 계층적 종속관계를 나타낸 클라이언트 마인드맵이 변경될 시에는, 상기 클라이언트 마인드맵을 보관하고 있는 클라이언트가 마인드맵의 동기화를 수행하는 동기화 서버에 접속/인증 완료한 후 상기 클라이언트 마인드맵의 변경시간 및 마인드맵 ID가 담긴 헤더를 상기 클라이언트 마인드맵과 함께 상기 동기화 서버로 전송하는 단계와,상기 동기화 서버가 상기 클라이언트 마인드맵을 파싱하여 이들의 노드 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하는 단계와,상기 동기화 서버가 상기 마인드맵 ID를 가진 공동저작 마인드맵을 전송해 줄 것을 온라인 상에서 공동으로 문서 작성이 이루어지는 공동저작 서버로 전송하 는 단계와,상기 공동저작 서버가 상기 요청된 공동저작 마인드맵을 상기 동기화 서버로 전송하는 단계와,상기 동기화 서버가 상기 수신한 공동저작 마인드맵을 파싱하여 이들의 노드 ID 및 각 노드별 텍스트를 포함하는 파싱 데이터를 작성하는 단계와,상기 동기화 서버가 상기 클라이언트 마인드맵의 파싱 데이터와 상기 공동저작 마인드맵의 파싱 데이터를 상호 비교하여 그 변경 내역을 명령 테이블로서 작성하고, 상기 클라이언트 마인드맵의 파싱 데이터와 상기 명령 테이블을 상기 공동저작 테이블로 전송하는 단계와,상기 공동저작 서버가 상기 수신한 공동저작 마인드맵의 파싱 데이터와 상기 명령 테이블을 참조하여 해당 공동저작 마인드맵에 적용 변경하여 동기화를 이루는 단계를 포함하는 온라인 공동저작 시스템의 동기화 방법.
- 제8항 또는 제9항에 있어서,온라인상에서 공동으로 문서 작성이 이루어지는 공동저작 서버에서 공동으로 저작된 공동저작 문서의 각 노드별 계층적 종속관계를 나타내는 공동저작 마인드맵이 변경되고, 개인별 문서작성이 이루어지는 클라이언트에서 개인 작성된 문서의 각 노드별 계층적 종속관계를 나타내는 클라이언트 마인드맵 변경되는 단계와,상기 공동저작 서버가 변경된 상기 공동저작 마인드맵을, 상기 클라이언트가 변경된 상기 클라이언트 마인드맵을 마인드맵의 동기화를 수행하는 동기화 서버로 전송하는 단계와,상기 동기화 서버가 상기 공동저작 마인드맵을 파싱하여 이들에 대한 노드 ID 및 각 노드별 텍스트를 포함하는 공동저작 마인드맵의 파싱데이터를 작성하며, 상기 클라이언트 마인드맵을 파싱하여 이들에 대한 노드 ID 및 각 노드별 텍스트를 포함하는 클라이언트 마인드맵의 파싱데이터를 작성하는 단계와,상기 동기화 서버가 상기 공동저작 마인드맵의 파싱 데이터와 상기 클라이언트 마인드맵의 파싱 데이터를 상호 비교하여, 소정의 충돌 우선 순위에 따라 특정 파싱 데이터를 우선시하여 그 변경 내역을 명령 테이블로서 작성하는 단계와,상기 동기화 서버가 상기 우선시된 파싱 데이터 및 상기 명령 테이블을 상기 공동저작 서버와 상기 클라이언트로 전송하는 단계와,상기 공동저작 서버와 상기 클라이언트가 상기 수신한 파싱 데이터 및 상기 명령 테이블을 참조하여 각 보유한 마인드맵에 적용하여 상호간에 마인드맵 동기화를 수행하는 단계를 포함하는 온라인 공동저작 시스템의 동기화 방법.
- 제12항에 있어서, 상기 충돌 우선 순위는, 변경이 먼저 이루어진 마인드맵을 우선시켜 먼저 변경된 마인드맵의 파싱 데이터를 기준으로 하는 것을 특징으로 하는 온라인 공동저작 시스템의 동기화 방법.
- 제12항에 있어서, 상기 충돌 우선 순위는, 충돌이 일어날 시에는 무조건 특정 마인드맵의 파싱데이터를 기준으로 하는 온라인 공동저작 시스템의 동기화 방법.
- 제12항에 있어서, 상기 클라이언트 마인드맵과 공동저작 마인드맵의 동시 변경이 충돌될 시에는, 마인드맵의 동기화를 수행하지 않고 그 기록을 남겨놓음으로써 추후에 관리자에 의해 처리되도록 하는 온라인 공동저작 시스템의 동기화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070006485A KR100868603B1 (ko) | 2007-01-22 | 2007-01-22 | 온라인 공동저작 시스템 및 동기화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070006485A KR100868603B1 (ko) | 2007-01-22 | 2007-01-22 | 온라인 공동저작 시스템 및 동기화 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080085105A true KR20080085105A (ko) | 2008-09-23 |
KR100868603B1 KR100868603B1 (ko) | 2008-11-13 |
Family
ID=40024967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070006485A KR100868603B1 (ko) | 2007-01-22 | 2007-01-22 | 온라인 공동저작 시스템 및 동기화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100868603B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101120706B1 (ko) * | 2008-12-31 | 2012-03-22 | 인터내셔널 비지네스 머신즈 코포레이션 | 시각화 대쉬보드들의 협력적 개발 |
KR101304663B1 (ko) * | 2011-08-29 | 2013-09-06 | (주)마인드메이플코리아 | 마인드맵 공동편집 시스템 및 방법 |
KR20180089752A (ko) * | 2017-02-01 | 2018-08-09 | 주식회사 인프라웨어 | 공동 편집 문서를 공유하는 방법 및 장치 |
CN109933766A (zh) * | 2019-03-13 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 文件生成方法、装置及存储介质 |
KR20220141973A (ko) * | 2021-04-14 | 2022-10-21 | 울산과학기술원 | 문서 진행상태를 실시간으로 제공하는 방법 및 장치 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101038561B1 (ko) * | 2008-11-26 | 2011-06-02 | 정영교 | 공동마인드맵 작성시스템 및 그 제공방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11306173A (ja) | 1998-04-17 | 1999-11-05 | Nec Corp | 共同作業支援システム及びプログラムを記録した機械読み取り可能な記録媒体 |
KR100341395B1 (ko) * | 1999-12-27 | 2002-06-22 | 오길록 | 인터넷 공동 작업 그룹 편집기 및 그 운용 방법 |
KR20000037347A (ko) * | 2000-04-19 | 2000-07-05 | 유인렬 | 정보 제작·협동 편집을 통한 인터넷 미디어 생산 방법 및시스템 |
JP2002056157A (ja) | 2000-08-07 | 2002-02-20 | Reishi Tonuma | ツリー構造表示切替法及びネット上で使用する方法 |
KR100640219B1 (ko) * | 2005-02-23 | 2006-10-30 | 인천대학교 산학협력단 | 삼차원 시공간을 이용한 멀티미디어 프레젠테이션 공동저작 시스템 및 방법 |
-
2007
- 2007-01-22 KR KR1020070006485A patent/KR100868603B1/ko not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101120706B1 (ko) * | 2008-12-31 | 2012-03-22 | 인터내셔널 비지네스 머신즈 코포레이션 | 시각화 대쉬보드들의 협력적 개발 |
KR101304663B1 (ko) * | 2011-08-29 | 2013-09-06 | (주)마인드메이플코리아 | 마인드맵 공동편집 시스템 및 방법 |
KR20180089752A (ko) * | 2017-02-01 | 2018-08-09 | 주식회사 인프라웨어 | 공동 편집 문서를 공유하는 방법 및 장치 |
CN109933766A (zh) * | 2019-03-13 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 文件生成方法、装置及存储介质 |
CN109933766B (zh) * | 2019-03-13 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 文件生成方法、装置及存储介质 |
KR20220141973A (ko) * | 2021-04-14 | 2022-10-21 | 울산과학기술원 | 문서 진행상태를 실시간으로 제공하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR100868603B1 (ko) | 2008-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074396B2 (en) | Animating edits to documents | |
US11113463B2 (en) | Note browser | |
US8548997B1 (en) | Discovery information management system | |
Chawner et al. | WikiWikiWebs: New ways to communicate in a web environment | |
JP4602769B2 (ja) | 文書セットのコンテンツ空間のナビゲーション | |
US11036924B2 (en) | Realtime synchronized document editing by multiple users for blogging | |
US6983416B1 (en) | System and method for cooperative editing of web document | |
US9753921B1 (en) | Comment management in shared documents | |
US20080005086A1 (en) | Certificate-based search | |
KR100868603B1 (ko) | 온라인 공동저작 시스템 및 동기화 방법 | |
CA2647588A1 (en) | Systems and methods of transforming data for web communities and web applications | |
KR101672349B1 (ko) | 파일 클라우드 서비스 장치 및 방법 | |
US20140330857A1 (en) | Suggested Search Based on a Content Item | |
WO2002084521A1 (en) | Global network and privacy control of web card systems and method thereof | |
Gutteridge | GNU EPrints 2 overview | |
Miller | W3C and digital libraries | |
Clifford Neuman | Prospero: a tool for organizing internet resources | |
Bierman et al. | YANG patch media type | |
Harth et al. | Linking semantically enabled online community sites | |
JP5157551B2 (ja) | オブジェクト連携システム、オブジェクト連携方法およびプログラム | |
Paterson et al. | Message Archiving | |
Laahs et al. | Microsoft SharePoint Technologies: Planning, Design and Implementation | |
Laahs et al. | Microsoft SharePoint 2007 technologies: planning, design and implementation | |
JP2016139329A (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
JPH11184813A (ja) | データ通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |