KR101750429B1 - Document editing system and method for collaborative editing - Google Patents
Document editing system and method for collaborative editing Download PDFInfo
- Publication number
- KR101750429B1 KR101750429B1 KR1020170023456A KR20170023456A KR101750429B1 KR 101750429 B1 KR101750429 B1 KR 101750429B1 KR 1020170023456 A KR1020170023456 A KR 1020170023456A KR 20170023456 A KR20170023456 A KR 20170023456A KR 101750429 B1 KR101750429 B1 KR 101750429B1
- Authority
- KR
- South Korea
- Prior art keywords
- editing
- information
- document
- server
- edit
- Prior art date
Links
Images
Classifications
-
- G06F17/24—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G06F17/30174—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 공동 편집을 위한 문서 편집 시스템 및 방법에 관한 것으로서, 더욱 상세히는 임의의 웹 브라우저에서 동작하는 문서 편집 장치를 통해 다수의 사용자가 동일 문서에 대하여 동시에 공동으로 편집할 수 있도록 지원하고, 서로 다른 각 사용자의 편집 내용을 취합하여 일정 주기로 사용자별 편집 대상 문서의 내용을 상호 동기화함으로써 동일 문서에 대한 공동 편집이 용이하게 이루어지도록 지원하는 공동 편집을 위한 문서 편집 시스템 및 방법에 관한 것이다. 본 발명은 편집 대상 문서에 대한 사용자별 편집 내용을 서버 측에서 취합한 후 편집 내용별로 순서를 설정하여 다수의 사용자로부터 수신된 편집 내용을 주기적으로 동기화하고, 이를 기반으로 동기화된 공동 편집 정보를 동일한 편집 대상 문서의 편집에 참여하는 사용자별 문서 편집 장치에 제공하여 해당 문서 편집 장치를 통해 공동 편집 중인 편집 대상 문서의 편집 결과가 동일하게 표시되도록 함으로써, 사용자가 실시간으로 편집 대상 문서를 편집할 수 있도록 지원하여 기존의 특정 사용자가 편집 대상 문서의 편집 권한을 독점하여 다수의 사용자가 편집 대상 문서의 편집을 위해 대기하는 불편을 개선하는 동시에 동일 문서의 공동 편집에 대한 편의성 및 정확도를 높이는 효과가 있다.The present invention relates to a document editing system and method for collaborative editing, and more particularly, to a system and method for collaborative editing, in which a plurality of users simultaneously edit a same document simultaneously by means of a document editing apparatus operating in an arbitrary web browser, And more particularly, to a document editing system and method for collaborative editing that collectively compiles edited contents of different users and synchronizes contents of a user-to-be-edited document at predetermined intervals to facilitate cooperative editing of the same document. The present invention is a method for synchronizing edit contents received from a plurality of users periodically by collecting, on a server side, edited content for a document to be edited and setting an order for each edited content, A document editing device for each user participating in the editing of the document to be edited, so that the editing result of the document to be edited being jointly edited through the document editing device is displayed in the same manner, Thus, it is possible to improve the inconvenience that a plurality of users wait for the editing of a document to be edited, and improve the convenience and accuracy of cooperative editing of the same document.
Description
본 발명은 공동 편집을 위한 문서 편집 시스템 및 방법에 관한 것으로서, 더욱 상세히는 임의의 웹 브라우저에서 동작하는 문서 편집 장치를 통해 다수의 사용자가 동일 문서에 대하여 동시에 공동으로 편집할 수 있도록 지원하고, 서로 다른 각 사용자의 편집 내용을 취합하여 일정 주기로 사용자별 편집 대상 문서의 내용을 상호 동기화함으로써 동일 문서에 대한 공동 편집이 용이하게 이루어지도록 지원하는 공동 편집을 위한 문서 편집 시스템 및 방법에 관한 것이다.The present invention relates to a document editing system and method for collaborative editing, and more particularly, to a system and method for collaborative editing, in which a plurality of users simultaneously edit a same document simultaneously by means of a document editing apparatus operating in an arbitrary web browser, And more particularly, to a document editing system and method for collaborative editing that collectively compiles edited contents of different users and synchronizes contents of a user-to-be-edited document at predetermined intervals to facilitate cooperative editing of the same document.
최근, 구글 독스(Google Docs)나 마이크로소프트 오피스 온라인(Microsoft Office Online)과 같이 웹 브라우저를 기반으로 동작하는 웹 오피스(Web Office)인 문서 편집 장치가 제공되고 있으며, 이러한 문서 편집 장치는 웹 브라우저에서 이용 가능한 응용 소프트웨어인 웹 애플리케이션(web application) 형태로 개발되어 설치가 불필요하거나 최소화되는 형태로 제공된다.Recently, document editing apparatuses such as Google Docs and Microsoft Office Online, which are WebOffices based on a web browser, are provided, and these document editing apparatuses are provided in a web browser It is developed in the form of a web application which is usable application software, and it is provided in a form in which installation is unnecessary or minimized.
이러한, 문서 편집 장치를 이용한 문서 편집은 동일 문서에 대하여 다수의 사용자가 접속하여 문서를 편집할 수 있도록 지원하고, 이를 웹 서버에 저장하여 다수의 사용자가 웹 서버에 접속하여 동일 문서에 대하여 타인이 수정한 내용을 용이하게 확인할 수 있도록 제공함으로써, 불필요한 업무 처리 과정을 줄이는 동시에 사용자간 협업이 용이하게 이루어지도록 지원할 수 있다.The document editing using the document editing device supports a plurality of users to access the same document and edit the document, and it is stored in the web server, and a plurality of users access the web server, By providing the revised contents so that they can be easily confirmed, it is possible to reduce unnecessary work processes and facilitate cooperation among users.
그러나, 기존의 웹 서버와 문서 편집 장치를 기반으로 공동 편집을 지원하는 시스템은 서로 다른 사용자의 문서 편집 과정에서 서로 다른 사용자의 편집 내용 상호간 충돌을 방지하기 위하여 특정 사용자의 편집시 편집 권한을 하나의 사용자에 한정하여 부여하고 다른 사용자의 동일 문서에 대한 접근을 차단함으로써, 동일 문서에 대한 다수 사용자의 공동 편집을 지원하기는 하지만 동시 편집을 지원하기는 어려운 구조이다.However, a system that supports collaborative editing based on a conventional web server and a document editing device is a system in which, in order to prevent conflicts between edited contents of different users in a document editing process of different users, It is difficult to support simultaneous editing even though it is limited to users and blocks access of other users to the same document, thereby supporting cooperative editing of multiple users for the same document.
결국, 동일 문서에 대한 문서 편집 권한을 하나의 사용자가 모두 점유하고 이러한 문서 편집 권한을 공유하는 형태로 공동 편집을 지원하므로, 특정 사용자의 문서 편집시 나머지 사용자는 대기 상태를 유지해야 하므로 동일 문서의 공동 편집에 대한 효율성 및 편의성이 크게 떨어지는 문제가 있다.As a result, since one user occupies the document editing authority for the same document and supports the editing of the document in a form of sharing the editing authority of the same document, There is a problem that the efficiency and convenience of collaborative editing are greatly reduced.
또한, 기존의 공동 편집을 지원하는 시스템은 다수의 사용자로부터 수신되는 편집 내용 정보를 기초로 복수 사용자의 편집 대상 문서 상호 간 동기화되도록 하기 위해 서버측에서 다른 사용자의 편집 내용 관련 정보를 수신하여 사용자의 문서 편집 장치에 전송하고, 사용자의 문서 편집 장치가 해당 타사용자의 편집 내용 관련 정보를 편집 대상 문서에 직접 반영하여 처리하므로, 다수의 사용자로부터 편집 내용 관련 정보가 수신되는 경우 서버 측에서 문서 편집 장치로 전송하는 데이터량이 방대하여 문서 편집 장치에 상당한 부하가 발생하며, 이로 인해 문서 편집 장치의 처리 속도가 떨어져 사용자가 문서 편집 장치를 제대로 이용할 수 없는 문제가 발생한다.In addition, a system supporting existing collaborative editing receives information related to editing contents of another user on the server side in order to synchronize editing target documents of a plurality of users based on editing content information received from a plurality of users, The document editing apparatus of the user directly reflects the information related to the edited content of the other user to the editing target document and processes it. Thus, when the editing content related information is received from a plurality of users, The amount of data to be transmitted to the document editing apparatus is enormous, so that a considerable load is generated in the document editing apparatus. As a result, the processing speed of the document editing apparatus is reduced and the user can not properly use the document editing apparatus.
본 발명은 다수의 사용자가 임의의 웹 브라우저를 기반으로 동작하는 문서 편집 장치를 이용하여 웹 기반의 동일 문서를 동시에 공동 편집할 수 있도록 지원하는 동시에 각 사용자의 사용자 장치로부터 수신된 편집 내용을 서버 측에서 취합하여 동기화하고 동기화된 편집 결과를 개별 사용자에게 제공하여 동일한 편집 내용이 공유되도록 함으로써, 동일 문서에 대한 문서 편집의 실시간성 및 편의성을 보장하는데 그 목적이 있다.The present invention provides a system and method for enabling a plurality of users to co-edit the same web-based document simultaneously using a document editing device operating on a web browser, And synchronizing and providing the synchronized editing results to individual users so that the same editing contents are shared, thereby realizing the real time and convenience of document editing for the same document.
또한, 본 발명은 동일 문서에 대한 편집을 처리하는 편집 서버를 부하량에 따라 확장할 수 있도록 지원하고, 다수 사용자의 편집 내용을 용이하게 처리할 수 있도록 지원하는 동시에 동기화 과정에서 편집 내용의 충돌을 방지하여 동일 문서에 대한 정확한 편집이 이루어지도록 지원하는데 그 목적이 있다.In addition, the present invention supports an editing server that processes editing of the same document in accordance with a load, supports editing contents of a large number of users with ease, To support correct editing of the same document.
더하여, 본 발명은 다수의 사용자로부터 수신되는 편집 내용 관련 정보를 서버 측에서 동기화하는 동시에 데이터량을 감소시키도록 동작하여, 복수의 문서 편집 장치 각각에 대한 통신량을 감소시킴과 아울러 문서 편집 장치의 처리 부하를 감소시켜 문서 편집 장치의 성능을 개선하는데 그 목적이 있다.In addition, the present invention operates to synchronize the edited content related information received from a plurality of users at the server side and to reduce the amount of data, thereby reducing the amount of communication for each of the plurality of document editing apparatuses, The purpose of the present invention is to improve the performance of the document editing apparatus by reducing the load.
본 발명의 실시예에 따른 서로 다른 복수의 사용자 장치와 통신망을 통해 통신하는 하나 이상의 편집 서버 및 상기 편집 서버와 통신망을 통해 연결된 동기화 서버를 포함하는 공동 편집을 위한 문서 편집 시스템은, 사용자 장치에서 실행되는 운영 체제상의 웹 브라우저 기반에서 동작하며, 사용자의 문서 편집에 따른 편집 요청 정보를 전송하는 문서 편집 장치와, 개별 문서마다 문서의 편집 처리를 위한 모델 서버를 할당하며, 상기 문서 편집 장치로부터 수신된 상기 편집 요청 정보에 따른 편집 대상 문서에 대응되어 할당된 모델 서버에 상기 편집 요청 정보를 제공하여 상기 편집 대상 문서를 편집한 편집 결과 정보를 상기 모델 서버로부터 수신하고, 상기 편집 결과 정보를 기초로 편집 정보를 생성한 후 상기 편집 정보에 대한 시퀀스를 상기 동기화 서버에 요청하여 수신된 시퀀스를 상기 편집 정보에 설정한 후 상기 동기화 서버로 제공하고, 상기 편집 대상 문서에 대한 타 사용자 또는 상기 사용자 장치에 대응되는 사용자의 편집에 따라 생성된 공동 편집 정보를 상기 동기화 서버로부터 수신하여 상기 문서 편집 장치로 전송하는 편집 서버 및 상기 하나 이상의 편집 서버 각각으로부터 수신되는 상기 편집 대상 문서에 대한 시퀀스가 설정된 편집 정보를 기초로 상기 시퀀스 요청에 대응되는 상기 편집 정보에 대한 시퀀스를 결정한 후 상기 편집 서버로 제공하며, 상기 시퀀스가 설정된 상기 편집 정보를 상기 공동 편집 정보로 제공하는 동기화 서버를 포함할 수 있다.A document editing system for collaborative editing including at least one editing server communicating with a plurality of different user apparatuses according to an embodiment of the present invention via a communication network and a synchronization server connected to the editing server via a communication network, A document editing device which operates on a web browser on the operating system and transmits edit request information according to a user's document editing and a model server for editing the document for each individual document, Receiving the editing request information from the model server by providing the editing request information to the model server allocated in correspondence with the editing target document according to the editing request information and editing the editing target document, And generating a sequence of the editing information, And providing the received editing sequence to the synchronization server and providing common editing information generated according to editing of a user corresponding to the editing object document or a user corresponding to the user apparatus, The editing server receiving from the synchronization server and transmitting to the document editing apparatus a sequence of editing information corresponding to the sequence request based on the editing information of the sequence of the editing target document received from each of the editing servers, And providing the editing information to the editing server, and the synchronization server providing the editing information set in the sequence as the common editing information.
본 발명과 관련된 일 예로서, 상기 편집 서버는 상기 편집 결과 정보를 기초로 상기 다른 편집 요청 정보와의 충돌에 따른 오류 발생 여부를 판단하여 상기 오류 발생시 오류 정보를 생성하여 상기 문서 편집 장치로 전송하는 것을 특징으로 할 수 있다.As an example related to the present invention, the editing server determines whether or not an error has occurred due to a collision with the other editing request information based on the editing result information, generates error information upon occurrence of the error, and transmits the error information to the document editing device . ≪ / RTI >
본 발명과 관련된 일 예로서, 상기 편집 서버는 상기 모델 서버가 다른 편집 서버에 구성된 경우 상기 다른 편집 서버에 구성된 모델 서버로 상기 편집 요청 정보를 전송하고, 상기 편집 요청 정보에 대응되어 상기 편집 대상 문서에 대한 편집 결과 정보를 수신하는 것을 특징으로 할 수 있다.The editing server transmits the editing request information to the model server configured in the other editing server when the model server is configured in the other editing server. In response to the editing request information, And the editing result information is received.
본 발명과 관련된 일 예로서, 상기 편집 요청 정보는 상기 편집 대상 문서의 식별을 위한 문서 식별정보, 사용자 장치의 식별을 위한 사용자 식별 정보 및 상기 사용자 장치를 통한 사용자의 키 입력에 따른 편집 내용에 대한 이벤트 정보를 포함하고, 상기 편집 결과 정보는 상기 문서 식별정보, 사용자 식별정보 및 상기 이벤트 정보를 기초로 상기 편집 대상 문서를 편집 처리한 결과에 대한 정보를 포함하는 것을 특징으로 할 수 있다.The editing request information may include at least one of document identification information for identifying the editing object document, user identification information for identifying the user apparatus, and editing contents according to the user's key input through the user apparatus. Event information, and the editing result information includes information on a result of editing the editing target document based on the document identification information, the user identification information, and the event information.
본 발명과 관련된 일 예로서, 상기 편집 서버는 상기 동기화 서버로부터 상기 편집 대상 문서에 대응되는 상기 공동 편집 정보를 수신하여 상기 편집 대상 문서에 대응되어 할당된 버퍼에 기록하며, 미리 설정된 주기로 버퍼에 기록된 서로 다른 복수의 상기 공동 편집 정보를 취합하여 상기 복수의 공동 편집 정보를 포함하는 편집 리스트 정보를 생성한 후 상기 문서 편집 장치로 전송하는 것을 특징으로 할 수 있다.In one embodiment of the present invention, the editing server receives the common editing information corresponding to the editing target document from the synchronization server, records the common editing information in a buffer allocated corresponding to the editing target document, And the editing information generation unit generates editing list information including the plurality of common editing information, and transmits the editing list information to the document editing apparatus.
본 발명과 관련된 일 예로서, 상기 편집 서버는 상기 문서 편집 장치에 웹 소켓 기반으로 상기 편집 리스트 정보를 전송하는 것을 특징으로 할 수 있다.In one embodiment of the present invention, the editing server transmits the edit list information to the document editing apparatus based on a Web socket.
본 발명과 관련된 일 예로서, 상기 편집 서버는 상기 편집 대상 문서의 동일 편집 대상에 대한 복수의 서로 다른 공동 편집 정보가 상기 편집 리스트 정보 존재시 미리 설정된 규칙에 따라 상기 동일 편집 대상에 대한 복수의 서로 다른 공동 편집 정보를 하나의 공동 편집 정보로 병합하여 상기 편집 리스트 정보를 갱신하는 것을 특징으로 할 수 있다.In the present invention, the editing server may be configured such that a plurality of different common editing information on the same editing object of the editing target document is stored in a plurality of mutually And merges other common edit information into one common edit information to update the edit list information.
본 발명과 관련된 일 예로서, 상기 문서 편집 장치는 상기 편집 서버로부터 수신되는 상기 편집 리스트 정보에 포함된 상기 공동 편집 정보별 시퀀스를 식별하고, 상기 시퀀스에 따른 순서대로 상기 편집 리스트 정보에 포함된 상기 복수의 공동 편집 정보 각각을 기초로 상기 편집 대상 문서를 편집 처리한 후 렌더링하여 상기 사용자 장치를 통해 표시하는 것을 특징으로 할 수 있다.In one embodiment of the present invention, the document editing apparatus identifies a sequence of the common edit information included in the edit list information received from the editing server, The editing target document is edited and rendered on the basis of each of the plurality of common edit information, rendered and displayed through the user device.
본 발명과 관련된 일 예로서, 상기 문서 편집 장치는 상기 이벤트 정보가 미리 설정된 비의존적 편집 관련 이벤트인 경우 상기 이벤트 정보를 기초로 상기 편집 대상 문서를 편집하여 렌더링한 후 상기 사용자 장치를 통해 표시하고, 상기 이벤트 정보에 대응되는 상기 편집 요청 정보를 상기 편집 서버로 전송하는 것을 특징으로 할 수 있다.According to an embodiment of the present invention, the document editing apparatus edits and edits the document to be edited based on the event information when the event information is a preset non-dependent editing related event, displays the edited document through the user device, And transmits the edit request information corresponding to the event information to the editing server.
본 발명의 실시예에 따른 서로 다른 복수의 사용자 장치와 통신망을 통해 통신하는 하나 이상의 편집 서버 및 상기 편집 서버와 통신망을 통해 연결된 동기화 서버의 공동 편집을 위한 문서 편집 방법은, 상기 편집 서버가 상기 사용자 장치가 선택한 편집 대상 문서에 대응되어 문서의 편집 처리를 위한 모델 서버를 할당하는 단계와, 상기 사용자 장치에 구성되어 운영 체제상의 웹 브라우저 기반에서 동작하는 문서 편집 장치가 상기 편집 대상 문서에 대한 사용자의 문서 편집에 따른 편집 요청 정보를 생성하여 상기 편집 서버로 전송하는 단계와, 상기 편집 서버가 상기 모델 서버로부터 상기 편집 요청 정보에 따라 문서를 편집한 편집 결과 정보를 수신하고, 상기 편집 결과 정보를 기초로 생성한 상기 편집 정보에 대한 시퀀스를 상기 동기화 서버에 요청하는 단계와, 상기 동기화 서버가 상기 시퀀스 요청에 따라 상기 하나 이상의 편집 서버 각각으로부터 수신되는 상기 편집 대상 문서에 대한 시퀀스가 설정된 편집 정보를 기초로 상기 시퀀스 요청에 대응되는 상기 편집 정보의 시퀀스를 결정한 후 상기 편집 서버로 제공하는 단계와, 상기 편집 서버가 상기 시퀀스 요청에 대응되어 상기 동기화 서버로부터 수신된 시퀀스를 상기 시퀀스 요청에 대응되는 상기 편집 정보에 설정한 후 상기 동기화 서버로 제공하는 단계와, 상기 동기화 서버가 상기 하나 이상의 편집 서버 각각으로부터 상기 편집 대상 문서에 대응되어 상기 시퀀스가 설정된 편집 정보를 수신하고, 상기 시퀀스가 설정된 편집 정보를 공동 편집 정보로 상기 하나 이상의 편집 서버 각각에 제공하는 단계 및 상기 편집 서버가 상기 편집 대상 문서에 대한 타 사용자 또는 상기 사용자 장치에 대응되는 사용자의 편집에 따라 생성된 상기 공동 편집 정보를 상기 동기화 서버로부터 수신한 후 상기 문서 편집 장치로 전송하여 상기 시퀀스에 따른 순서대로 상기 공동 편집 정보에 따른 문서 편집이 처리되도록 하는 단계를 포함할 수 있다.A method of editing a document for cooperative editing of one or more editing servers communicating with a plurality of different user devices according to an embodiment of the present invention through a communication network and a synchronization server connected to the editing server via a communication network, A step of assigning a model server for edit processing of a document in correspondence with a selected document to be edited selected by the apparatus; Generating editing request information according to the editing of a document and transmitting the editing request information to the editing server; receiving editing result information obtained by editing the document according to the editing request information from the model server, To the synchronization server, a sequence of the editing information Wherein the synchronization server determines the sequence of the editing information corresponding to the sequence request based on the editing information set in the sequence for the editing target document received from each of the one or more editing servers in accordance with the sequence request Providing the editing server with the editing information corresponding to the sequence request and providing the editing server with the editing information corresponding to the sequence request and the sequence received from the synchronization server in response to the sequence request; The synchronization server receiving editing information corresponding to the editing target document from each of the one or more editing servers and the sequence is set and providing the editing information with the sequence as common editing information to each of the one or more editing servers; The editing server After receiving from the synchronization server, the common editing information generated according to the editing of a user corresponding to a target document or a user corresponding to the user apparatus, and then transmitting the common editing information to the document editing apparatus, So that editing of the document according to the document can be processed.
본 발명은 편집 대상 문서에 대한 사용자별 편집 내용을 서버 측에서 취합한 후 편집 내용별로 순서를 설정하여 다수의 사용자로부터 수신된 편집 내용을 주기적으로 동기화하고, 이를 기반으로 동기화된 공동 편집 정보를 동일한 편집 대상 문서의 편집에 참여하는 사용자별 문서 편집 장치에 제공하여 해당 문서 편집 장치를 통해 공동 편집 중인 편집 대상 문서의 편집 결과가 동일하게 표시되도록 함으로써, 사용자가 실시간으로 편집 대상 문서를 편집할 수 있도록 지원하여 기존의 특정 사용자가 편집 대상 문서의 편집 권한을 독점하여 다수의 사용자가 편집 대상 문서의 편집을 위해 대기하는 불편을 개선하는 동시에 동일 문서의 공동 편집에 대한 편의성 및 정확도를 높이는 효과가 있다.The present invention is a method for synchronizing edit contents received from a plurality of users periodically by collecting, on a server side, edited content for a document to be edited and setting an order for each edited content, A document editing device for each user participating in the editing of the document to be edited, so that the editing result of the document to be edited being jointly edited through the document editing device is displayed in the same manner, Thus, it is possible to improve the inconvenience that a plurality of users wait for the editing of a document to be edited, and improve the convenience and accuracy of cooperative editing of the same document.
또한, 본 발명은 편집 과정에서 발생하는 서로 다른 복수 사용자의 편집 내용 상호 간 충돌을 판정한 후 판정 결과에 따라 오류가 발생한 편집 내용이 반영되지 않도록 하거나 후속으로 전달받은 편집 내용으로 동기화가 맞춰지도록 할 수 있으며, 사용자가 실시간으로 문서 편집 장치를 통해 편집 대상 문서를 편집하는 과정에서 편집 서버로부터 수신된 편집 리스트 정보를 기초로 다른 사용자의 편집에 따른 편집 결과가 주기적으로 사용자가 편집 대상 문서를 편집하는 도중에 상기 편집 대상 문서에 반영되도록 지원하여 사용자의 웹 기반 편집 대상 문서에 대한 실시간 편집을 지원하는 동시에 서로 다른 사용자 간 동일 편집 대상 문서에 대한 동기화가 이루어지도록 지원함으로써 공동 편집의 실시간성을 보장하고 이에 따라 공동 편집 관련 업무 효율을 높이는 효과가 있다.In addition, according to the present invention, it is possible to prevent conflicts between editing contents of different users occurring in the editing process, and to prevent the edited content from being erroneously reflected on the basis of the determination result, In a process in which a user edits a document to be edited through a document editing device in real time, an editing result obtained by editing another user based on the edit list information received from the editing server is periodically edited by the user It is possible to support real-time editing of the web-based editing target document of the user while supporting synchronization of the same editing target document between different users, thereby realizing the real time performance of the cooperative editing. Co-editing related tasks It is effective to increase the rate.
더하여, 본 발명은 편집 서버에서 편집 리스트 정보에 따른 데이터를 병합 처리하고 웹 소켓 기반으로 문서 편집 장치에 편집 리스트 정보를 전송하여 복수의 문서 편집 장치 각각에 대한 통신량을 감소시킬 수 있을 뿐 아니라 문서 편집 장치에 편집 결과가 신속하게 반영되도록 하여 편집 속도를 증가시킬 수 있으며 이를 통해 공동 편집의 효율성 및 문서 편집 장치의 반응속도를 크게 개선하는 효과가 있다.In addition, according to the present invention, it is possible not only to reduce the amount of communication for each of a plurality of document editing devices by merging data according to edit list information in an editing server and transmitting edit list information to a document editing device based on a web socket, It is possible to increase the editing speed by allowing the editing result to be quickly reflected on the device, thereby greatly improving the efficiency of collaborative editing and the response speed of the document editing device.
도 1은 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템에 대한 구성도.
도 2는 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템의 동작 구성도.
도 3은 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템의 편집 정보에 대한 시퀀스 설정을 도시한 동작 예시도.
도 4 및 도 5는 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템에서 편집 리스트 정보의 제공 및 병합 과정에 대한 동작 예시도.
도 6은 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템에서 편집 종류별 편집 정보 처리에 대한 동작 예시도.
도 7은 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 방법에 대한 순서도.1 is a block diagram of a document editing system for collaborative editing according to an embodiment of the present invention;
2 is a diagram illustrating the operation of a document editing system for collaborative editing according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of a sequence setting for editing information in a document editing system for collaborative editing according to an embodiment of the present invention; FIG.
FIG. 4 and FIG. 5 are diagrams illustrating operations of providing and merging edit list information in a document editing system for collaborative editing according to an embodiment of the present invention; FIG.
FIG. 6 is a diagram illustrating an operation example of edit information processing for each edit type in a document editing system for collaborative editing according to an embodiment of the present invention; FIG.
FIG. 7 is a flowchart illustrating a document editing method for collaborative editing according to an embodiment of the present invention; FIG.
이하, 도면을 참고하여 본 발명의 상세 실시예를 설명한다.Hereinafter, detailed embodiments of the present invention will be described with reference to the drawings.
도 1 및 도 2는 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템에 대한 구성도로서, 도시된 바와 같이 사용자 장치에 구성되어 임의의 웹 브라우저(Web Browser) 기반에서 동작하는 문서 편집 장치(11)와, 서로 다른 복수의 상기 사용자 장치와 통신망을 통해 연결되어 상기 사용자 장치에 구성된 문서 편집 장치(11)와 통신하는 하나 이상의 편집 서버(100a~100n)를 포함할 수 있다.1 and 2 are block diagrams of a document editing system for collaborative editing according to an embodiment of the present invention. As shown in FIG. 1, a document editing apparatus configured in a user apparatus and operating on an arbitrary web browser And one or
이때, 상기 문서 편집 장치(11)는 임의의 웹 브라우저를 지원하는 웹 오피스(Web Office) 또는 웹 어플리케이션(Web Application) 형태로 구성될 수 있으며, 사용자 장치에서 실행되는 운영 체제상의 웹 브라우저를 기반으로 동작할 수 있다.At this time, the
또한, 상기 사용자 장치는 통신 기능을 구비한 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook) 등과 같은 다양한 단말을 포함할 수 있으며, 상기 통신망은 널리 알려진 다양한 유무선 통신 방식이 적용될 수 있다.The user device may be a smart phone, a portable terminal, a mobile terminal, a personal digital assistant (PDA), a portable multimedia player (PMP) A notebook computer, a slate PC, a tablet PC, an ultrabook, and the like, and the communication network may include a variety of wired and wireless communication methods Can be applied.
또한, 상기 하나 이상의 편집 서버(100a~100n) 각각은 웹 어플리케이션 서버(WAS: Web Application Server)로 구성될 수 있으며, 상기 하나 이상의 편집 서버(100a~100n) 중 사용자 장치가 접속한 편집 서버(100)는 미리 정의된 데이터 포맷을 가진 모델(model) 형태의 문서를 저장하는 DB로부터 사용자가 편집 대상 문서로 선택한 문서를 추출하거나 수집하여 상기 사용자 장치의 문서 편집 장치(11)로 전송할 수 있으며, 상기 문서 편집 장치(11)는 상기 편집 서버(100)를 통해 수신된 문서를 상기 웹 브라우저 기반에서 표시하고 사용자 장치를 통한 사용자 입력에 따라 상기 문서에 대한 편집 입력을 기초로 편집 요청 정보를 생성하여 상기 편집 서버(100)로 전송할 수 있다.Each of the one or
이때, 상기 DB는 상기 편집 서버(100)에 구성되거나 상기 편집 서버(100)와 통신망을 통해 연결되는 별도의 외부 DB로 구성될 수도 있으며, 웹 기반 스토리지(storage)로 구성될 수도 있다.At this time, the DB may be configured in the
또한, 상기 편집 서버(100)는 서로 다른 개별 문서마다 상기 문서의 편집 처리를 위한 모델 서버(200)를 할당할 수 있으며, 상기 모델 서버(200)는 하나의 문서에 대한 처리를 담당하는 개별 프로세스를 의미할 수 있다.In addition, the
또한, 상기 편집 서버(100a~100n) 상호 간은 통신망을 통해 연결될 수 있으며, 이를 통해 상기 문서 편집 장치(11)는 특정 편집 서버(100b)를 통해 다른 편집 서버(100a)에 포함된 모델 서버(200)에 접속할 수도 있다.The
한편, 상기 하나 이상의 편집 서버(100a~100n)는 다수의 사용자 장치로부터 수신되는 동일 편집 대상 문서에 대한 복수의 편집 요청 정보 각각에 대응되어 상기 모델 서버(200)를 통해 상기 편집 요청 정보에 따라 상기 편집 대상 문서를 편집 처리한 편집 결과 정보를 생성하고, 상기 편집 결과 정보를 포함하는 편집 정보를 생성할 수 있다.The one or
또한, 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템은 상기 하나 이상의 편집 서버(100a~100n)와 통신망을 통해 통신하며 상기 복수의 사용자 장치 각각에서 편집 중인 상기 편집 대상 문서를 상호 동기화하기 위한 동기화 서버(300)를 포함할 수 있으며, 상기 동기화 서버(300)는 상기 하나 이상의 편집 서버(100a~100n) 각각으로부터 동일 문서에 대하여 다수의 사용자 장치로부터 수신된 복수의 편집 요청 정보에 각각 대응되는 복수의 편집 정보를 수신하여 취합하고, 상기 하나 이상의 편집 서버(100a~100n)와 연동하여(통신하여) 복수의 편집 정보 각각에 대한 시퀀스를 부여한 후 상기 시퀀스가 부여된 복수의 편집 정보 각각을 공동 편집 정보로 생성하여 상기 하나 이상의 편집 서버(100a~100n) 각각에 전송할 수 있다.In addition, the document editing system for collaborative editing according to an embodiment of the present invention communicates with the at least one
이를 통해, 상기 하나 이상의 편집 서버(100a~100n) 각각은 상기 동기화 서버(300)로부터 하나 이상의 공동 편집 정보를 수신하여 편집 리스트 정보를 생성하고, 이를 상기 사용자 장치의 문서 편집 장치(11)로 제공할 수 있다.Each of the one or
한편, 상기 편집 리스트 정보를 수신한 문서 편집 장치(11)는 상기 편집 리스트 정보에 포함된 공동 편집 정보별 시퀀스에 따라 순서대로 상기 편집 리스트 정보에 포함된 공동 편집 정보에 따라 상기 편집 대상 문서를 편집한 편집 결과를 렌더링(rendering)하여 표시할 수 있으며, 이를 통해 동일한 편집 리스트 정보를 수신한 서로 다른 사용자 장치에 편집 내용이 동기화된 동일 문서가 표시될 수 있다.On the other hand, the
이를 통해, 동일 문서를 편집하는 서로 다른 사용자 장치의 문서 편집 장치(11) 상호간 동일 문서의 편집 내용에 대한 동기화가 이루어지도록 지원할 수 있다.Thus, the
기존에는 웹 기반 동일 문서에 대하여 임의의 웹 브라우저 기반에서 동작하는 문서 편집 장치(11)를 이용하여 다수의 사용자가 편집을 수행할 때 특정 사용자가 문서에 대한 편집 권한을 독점하여 다른 사용자가 특정 사용자의 편집이 완료될 때까지 편집을 할 수 없는 상태로 대기해야 하는 불편이 존재하고, 공동 문서 편집에 대한 편의성 및 정확도가 떨어지는 문제가 있다.Conventionally, when a plurality of users perform editing using a
또한, 기존의 시스템에서 문서 편집 장치(11)가 직접 다수의 사용자 장치로부터 동일 문서에 대하여 수신되는 편집 정보를 처리하므로, 문서 편집 장치(11)에 걸리는 부하가 상당하여 편집 처리에 대한 실시간성 및 처리 속도가 크게 떨어지게 된다.Further, in the existing system, since the
따라서, 본 발명은 편집 대상 문서에 대한 사용자별 편집 내용을 서버측에서 취합한 후 시퀀스로 관리하여 다수의 사용자로부터 수신된 편집 내용을 동기화하고, 이를 기반으로 동기화된 편집 리스트 정보를 다수의 사용자 장치 각각에 제공하여 각 사용자 장치의 문서 편집 장치에서 상기 편집 리스트 정보를 기반으로 하는 편집 대상 문서의 편집 결과가 사용자의 문서 편집 중에 처리되도록 하여, 동일 문서의 공동 편집에 대한 편의성 및 정확도를 높일 수 있으며, 편집 권한의 설정 없이 복수의 서로 다른 사용자 각각이 실시간으로 동시에 동일한 편집 대상 문서를 편집할 수 있도록 지원하여 문서 편집의 실시간성을 보장할 수 있다.Therefore, according to the present invention, the user-edited contents of a document to be edited are collected at the server side and are managed in a sequence to synchronize edited contents received from a plurality of users, and the synchronized edited list information is stored in a plurality of user devices The editing result of the editing target document based on the editing list information is processed in the editing of the user's document by the document editing device of each user device so that the convenience and accuracy of the common editing of the same document can be enhanced , A plurality of different users can edit the same edit target document at the same time in real time without setting edit authority, thereby realizing the real time editing of the document.
또한, 본 발명은 편집 과정에서 발생하는 서로 다른 사용자에 의해 생성된 편집 내용 상호 간 충돌을 편집 서버에서 판정하고 충돌 발생시 충돌이 발생한 편집 요청 정보에 따른 편집 내용이 반영되지 않도록 하거나 후속으로 전달받은 편집 내용으로 동기화가 맞춰지도록 하여 문서 편집의 효율성을 높일 수 있도록 제공한다.In addition, the present invention can also be applied to an editing server which judges a conflict between edited contents generated by different users occurring in an editing process to be edited, And synchronize the contents to improve the efficiency of document editing.
또한, 본 발명은 문서의 편집을 처리하기 위한 모델 서버(200)를 문서마다 할당하고 동일 문서의 공동 편집을 위해 해당 모델 서버(200)에 접속하는 다수의 사용자 장치가 다수의 편집 서버를 통해 상기 모델 서버(200)에 접속할 수 있도록 제공하여, 다수의 사용자 장치로부터 수신되는 편집 내용을 다수의 편집 서버가 분산 처리할 수 있도록 제공함으로써 공동 편집에 대한 처리 속도를 높이고 서비스에 대한 고가용성과 확장성을 지원할 수 있다.In addition, the present invention can also be applied to a case where a plurality of user apparatuses, which assign
상술한 구성을 토대로, 이하 도면을 통해 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템의 상세 동작 구성을 설명한다.The detailed operation of the document editing system for collaborative editing according to an embodiment of the present invention will be described below with reference to the drawings.
우선, 도 2는 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 시스템의 동작 구성도로서, 도시된 바와 같이 사용자 장치에서 실행되는 운영 체제상의 임의의 웹 브라우저 기반에서 동작하는 문서 편집 장치(11)는 상기 편집 서버(100)로 접속할 수 있으며, 상기 편집 서버(100)는 상기 문서 편집 장치(11)가 선택한 편집 대상 문서에 대응되어 모델 서버(200)를 할당할 수 있다.FIG. 2 is a diagram illustrating the operation of a document editing system for collaborative editing according to an embodiment of the present invention. As shown in FIG. 2, a
이때, 상기 편집 서버(100)는 서로 다른 개별 문서별로 편집 서버(100)를 할당할 수 있으며, 일례로 상기 문서 편집 장치(11)로부터 열람 대상인 문서에 대한 문서 식별정보를 수신하고, 상기 문서 식별정보를 기초로 문서가 저장된 외부 DB로부터 상기 문서 식별정보에 대응되는 편집 대상 문서를 추출하여 저장하며, 상기 편집 대상 문서에 대응되어 모델 서버(200)를 할당할 수 있다.At this time, the
또한, 상기 문서 편집 장치(11)는 편집 대상 문서를 렌더링(rendering)하여 상기 사용자 장치를 통해 표시하는 렌더러(renderer)를 포함할 수 있으며, 상기 문서 편집 장치(11)는 상기 사용자 장치에 구성된 사용자 입력부를 통한 사용자의 키 입력에 따른 편집 이벤트(또는 명령(command))에 대한 이벤트 정보를 생성할 수 있다.The
또한, 상기 문서 편집 장치(11)는 상기 이벤트 정보 생성시 상기 이벤트 정보와 미리 설정된 사용자에 대한 사용자 식별정보 및 상기 편집 대상 문서에 대한 문서 식별정보를 포함하는 편집 요청 정보를 생성한 후 상기 편집 서버(100)로 전송할 수 있다.When the event information is generated, the
이때, 상기 문서 편집 장치(11)는 미리 설정된 편집 종류 중 상기 이벤트 정보에 대응되는 편집 종류에 따라 상기 편집 대상 문서를 편집한 후 편집 완료된 편집 대상 문서를 상기 렌더러를 통해 렌더링하여 상기 사용자 장치에 구성된 표시부를 통해 표시할 수 있는데, 이는 이하 도면을 통해 상세히 설명한다.At this time, the
이에 따라, 상기 편집 서버(100)는 상기 하나 이상의 문서 편집 장치(11) 각각으로부터 수신되는 편집 요청 정보를 기초로 문서를 편집 처리하고, 편집 처리 결과 서로 다른 편집 요청 정보 상호 간 충돌을 판정하여 충돌 여부에 따른 오류가 발생하지 않은 경우 동기화 서버(300)와 연동하여 복수의 문서 편집 장치(11)로부터 수신되는 편집 요청 정보를 기초로 편집 대상 문서에 대한 공동 편집이 이루어지도록 지원할 수 있는데, 이를 상세히 설명한다.Accordingly, the
우선, 상기 편집 서버(100)는 편집 제어부(110)와, 시퀀스 관리부(120) 및 공동 편집 처리부(130)를 포함할 수 있다.First, the
상기 편집 제어부(110)는 상기 사용자 장치에 구성된 문서 편집 장치(11)로부터 통신망을 통해 상기 편집 대상 문서에 대한 사용자의 문서 편집에 따른 상기 편집 요청 정보를 수신할 수 있으며, 상기 편집 요청 정보를 상기 편집 대상 문서에 대응되어 할당된 모델 서버(200)로 제공할 수 있다.The
또한, 상기 모델 서버(200)는 상기 편집 요청 정보를 수신하여 상기 편집 요청 정보에 포함된 이벤트 정보를 기초로 상기 편집 대상 문서를 편집 처리할 수 있다.In addition, the
이후, 상기 모델 서버(200)는 상기 편집 대상 문서의 편집 처리에 따른 편집 결과 정보를 생성할 수 있으며, 상기 편집 결과 정보를 JSON(JavaScript Object Notation) 형태로 상기 편집 서버(100)에 반환할 수 있다.Thereafter, the
이때, JSON은 경량의 데이터 교환 형식으로서 편집 결과 정보의 데이터 자료구조로 사용될 수 있다.At this time, JSON is a lightweight data exchange format and can be used as a data structure of editing result information.
또한, 상기 편집 결과 정보는 상기 이벤트 정보에 대응되는 편집 종류와, 상기 편집 대상 문서에서 상기 이벤트 정보에 대응되는 편집 대상(또는 편집 영역)에 대한 정보 및 상기 편집 대상 문서에서 상기 이벤트 정보에 대응되는 편집 대상을 식별하여 상기 이벤트 정보에 따라 편집 대상을 처리한 결과에 대한 정보를 포함할 수 있다. 일례로, 상기 편집 결과 정보는 편집 대상 문서에 포함된 객체 중 상기 편집 요청 정보에 대응되는 편집 대상인 객체를 상기 편집 요청 정보에 따라 편집 처리하여 상기 편집 대상인 객체가 삭제된 상태 또는 상기 객체에 다른 객체를 추가하거나 상기 객체를 다른 객체로 대체한 상태에 따른 편집 결과물에 대한 정보를 의미할 수 있다.The editing result information may include at least one of an editing type corresponding to the event information, information about an editing target (or editing area) corresponding to the event information in the editing target document, And may include information on a result of processing an edit target in accordance with the event information. For example, the editing result information may be edited by editing the object, which is an editing object corresponding to the editing request information among the objects included in the editing object document, according to the editing request information, Or information on an editing result according to a state in which the object is replaced with another object.
이때, 상기 편집 서버(100)는 다른 편집 서버(100)를 통해 상기 모델 서버(200)에 접속하는 경우 상기 다른 편집 서버(100)에 구성된 모델 서버(200)로 상기 문서 편집 장치(11)로부터 수신된 편집 요청 정보를 전송하고, 해당 편집 요청 정보에 대응되어 상기 편집 결과 정보를 수신할 수 있다.When the
또한, 상기 모델 서버(200)는 상기 편집 요청 정보 수신시 다른 편집 요청 정보와 상기 편집 요청 정보 사이의 충돌 여부를 판정할 수 있으며, 일례로 상기 편집 대상 문서에서 상기 편집 요청 정보에 대응되는 객체가 다른 편집 요청 정보에 의해 삭제되어 상기 편집 요청 정보에 따른 편집 처리가 불가능한 경우 상기 편집 요청 정보에 충돌이 발생한 것으로 판정할 수 있다.In addition, the
이에 따라, 상기 모델 서버(200)는 상기 편집 요청 정보에 대응되어 충돌 발생시 충돌 발생에 따른 판정 결과 정보를 상기 편집 결과 정보로 상기 편집 제어부(110)에 제공할 수 있으며, 충돌 미발생시 상기 편집 요청 정보에 대응되는 편집 결과물에 대한 편집 결과 정보를 상기 편집 제어부(110)에 제공할 수 있다.Accordingly, the
한편, 상기 편집 제어부(110)는 상기 모델 서버(200)로부터 상기 편집 요청 정보에 대응되어 반환된 편집 결과 정보를 기초로 충돌 여부를 검사하고, 충돌 발생시 오류가 발생한 것으로 판정하여 상기 편집 요청 정보에 포함된 사용자 식별정보를 기초로 상기 편집 요청 정보를 전송한 사용자 장치의 문서 편집 장치(11)를 식별하고, 상기 오류 발생에 따른 오류 정보를 생성하여 상기 식별된 문서 편집 장치(11)에 대응되는 사용자 장치로 통신망을 통해 상기 오류 정보를 전송할 수 있으며, 해당 오류 정보에 대응되는 편집 요청 정보에 따른 편집 내용에 대해서는 후속 처리를 진행하지 않고 동기화 과정에서 제외시킬 수 있다.On the other hand, the
또한, 상기 문서 편집 장치(11)는 편집 서버(100)로 전송한 편집 요청 정보에 대응되어 오류 정보 수신시 오류 정보의 종류를 식별하고, 상기 오류 정보의 종류에 따라 상기 편집 결과 정보에 대한 후속 처리를 진행하지 않거나 상기 편집 서버(11)에 가장 최근에 동기화가 이루어진 문서를 요청하고, 상기 편집 서버(100)로부터 동기화된 문서 관련 정보를 수신한 후 렌더링하여 표시할 수 있다.In addition, the
일례로, 상기 문서 편집 장치(11)는 삭제된 문단에 대한 편집 요청과 같은 편집 과정에서의 오류 발생에 따라 반환된 오류 정보에 대해서 후속 처리를 진행하지 않을 수 있다. 이 경우, 상기 문서 편집 장치(11)는 후속으로 수신되는 편집 리스트 정보를 기초로 편집 대상 문서에 대한 동기화를 수행하여 자연스럽게 다른 사용자의 편집 대상 문서와 동기화가 이루어져 오류 관련 내용이 반영되지 않도록 할 수 있다.For example, the
또한, 상기 문서 편집 장치(11)는 네트워크 장애나 타임아웃(time out) 발생시와 같은 장애에 따른 오류 발생시 상기 편집 서버(100)로 가장 최근에 동기화된 전체 문서 관련 정보를 재요청하고, 상기 편집 서버(100)로부터 가장 최근에 동기화된 문서에 대한 문서 정보를 수신한 후 해당 문서 정보를 렌더링하여 표시함으로써 후속 편집이 이루어지도록 제공할 수 있다. 이때, 상기 문서 편집 장치(11)는 이러한 재요청이 실패한 경우 장애 관련 메시지를 출력할 수 있으며, 일시적으로 편집 화면을 잠근 후 네트워크가 정상화되면 상기 문서 정보를 재요청하여 수신된 문서 정보를 렌더링하여 표시할 수 있으며, 이를 통해 정상적인 편집이 이루어지도록 제공할 수 있다.In addition, the
또한, 상기 편집 제어부(110)는 상기 편집 요청 정보에 대응되는 편집 결과 정보를 기초로 오류 발생시 해당 편집 요청 정보 및 편집 결과 정보 중 적어도 하나를 삭제 처리하여 해당 편집 요청 정보에 따른 편집 결과가 타 사용자 장치의 편집 대상 문서에 반영되지 않도록 할 수 있다.The
한편, 상기 편집 제어부(110)는 상기 편집 결과 정보를 기초로 상기 편집 요청 정보에 오류 미발생시(충돌이 발생하지 않은 경우) 상기 편집 요청 정보 및 상기 편집 결과 정보를 기초로 편집 정보를 생성하고, 상기 편집 서버(100)에 구성된 시퀀스 관리부(120)로 상기 편집 정보를 제공하여 상기 시퀀스 관리부(120)와 동기화 서버(300) 상호간 통신에 따른 상기 편집 정보에 대한 시퀀스(sequence, 순번) 설정이 이루어지도록 할 수 있다.On the other hand, the
이를 도 3을 통해 상세히 설명하면, 상기 시퀀스 관리부(120)는 상기 편집 제어부(110)로부터 편집 정보 수신시 상기 편집 정보에 시퀀스를 설정하기 위해 상기 편집 정보에 포함된 문서 식별정보를 추출하여, 해당 문서 식별정보를 포함하는 시퀀스 요청에 대한 시퀀스 요청정보를 상기 동기화 서버(300)로 제공할 수 있다.3, the
이때, 상기 편집 정보는 상기 편집 결과 정보와 상기 편집 요청 정보에 포함된 사용자 식별정보 및 문서 식별정보를 포함할 수 있다.At this time, the editing information may include the editing result information and the user identification information and the document identification information included in the editing request information.
또한, 상기 동기화 서버(300)는 도시된 바와 같이 사용자 장치에 구성된 문서 편집 장치(11)가 접속한 상기 편집 서버(100a) 이외의 타 편집 서버(100b~100n)를 통해 상기 편집 서버(100a)의 모델 서버(200)에 접속한 타 사용자 장치에 대응되는 상기 편집 대상 문서에 대한 시퀀스가 설정된 다른 편집 정보를 상기 타 편집 서버(100b~100n)로부터 수집(수신)할 수 있으며, 상기 편집 대상 문서에 대한 편집 정보의 수신 순서대로(편집정보가 수신된 수선에 따라) 상기 편집 정보에 대응되어 시퀀스(순번)를 부여할 수 있다.The
이에 따라, 상기 동기화 서버(300)는 상기 편집 서버(100a)의 시퀀스 관리부(120)로부터 시퀀스 요청정보 수신시 상기 시퀀스 요청정보에 포함된 문서 식별정보를 기초로 편집 대상 문서를 식별하고, 시퀀스 요청정보 수신 시점에 해당 편집 대상 문서에 대응되어 이미 수신된 다른 편집 정보가 존재하는 경우 이미 존재하는 상기 다른 편집 정보별로 설정된 시퀀스(순번)를 확인하여 가장 마지막 순번을 식별하고, 해당 마지막 순번 다음의 순번에 해당되는 시퀀스를 상기 시퀀스 관리부(120)로부터 수신된 시퀀스 요청 정보에 대응되는 상기 편집 정보에 대응되어 부여할 수 있다.Accordingly, upon receiving the sequence request information from the
또한, 상기 동기화 서버(300)는 상기 부여된 순번을 포함하는 시퀀스 정보를 상기 시퀀스 요청 정보를 전송한 상기 편집 서버(100a)의 시퀀스 관리부(120)로 전송할 수 있다.The
한편, 상기 편집 서버(100a)의 편집 제어부(110)는 상기 편집 서버(100a)의 상기 시퀀스 관리부(120)로부터 상기 편집 정보에 대한 시퀀스 정보를 수신하고, 상기 시퀀스 관리부(120)를 통해 상기 동기화 서버(300)로부터 수신된 시퀀스 정보에 따른 순번을 상기 편집 정보에 대한 시퀀스로 설정하고, 상기 시퀀스가 설정된 편집 정보를 상기 동기화 서버(300)로 제공할 수 있다.The
이에 따라, 상기 동기화 서버(300)는 하나 이상의 편집 서버(100a~100n)로부터 상기 편집 대상 문서에 대응되는 시퀀스가 설정된 편집 정보를 수신하여 취합할 수 있으며, 상기 하나 이상의 편집 서버(100a~100n) 각각에 시퀀스가 설정된 편집 정보를 공동 편집 정보로 제공할 수 있다.Accordingly, the
즉, 상기 동기화 서버(300)는 특정 편집 대상 문서에 대하여 사용자가 편집한 내용 이외에 다른 사용자가 편집한 내용(또는 편집한 결과)이 상기 사용자가 편집 중인 상기 특정 편집 대상 문서에 반영되어 동기화되도록 상기 특정 편집 대상 문서에 대한 다수 사용자의 편집 내용을 수집할 수 있으며, 편집 내용별로 수신 순서에 따라 순번을 부여하여 편집 내용이 순서대로 반영되도록 지원할 수 있다.That is, the
이를 통해, 상기 동기화 서버(300)는 특정 편집 대상 문서에 대응되어 다른 편집 서버(100b~100n)로부터 수신되는 시퀀스가 설정된 편집 정보를 공동 편집 정보로 상기 편집 서버(100a)에 제공할 수 있으며, 상기 편집 서버(100a)로부터 수신된 편집 정보 역시 공동 편집 정보로 생성하여 상기 편집 서버(100a)에 전송할 수 있다.Accordingly, the
이때, 상기 동기화 서버(300)는 특정 편집 서버(100)에 대하여 동일한 편집 정보가 반복 전송되지 않도록 제어할 수 있음은 물론이며, 상기 편집 서버(100)로부터 수신되는 시퀀스가 설정된 편집 정보를 저장하고, 이후 상기 시퀀스가 설정된 편집 정보를 상기 하나 이상의 편집 서버(100a~100n) 각각에 상기 공동 편집 정보로 전송한 경우 해당 공동 편집 정보에 대응되는 상기 시퀀스가 설정된 편집 정보를 삭제처리할 수도 있다.At this time, the
또한, 상기 동기화 서버(300)는 상기 시퀀스가 설정된 편집 정보의 삭제와 별개로 상기 시퀀스를 카운트하여 관리할 수 있음은 물론이다.In addition, the
또한, 상기 공동 편집 정보는 상기 편집 결과 정보와, 문서 식별정보, 사용자 식별정보 및 시퀀스를 포함할 수 있다.Also, the common edit information may include the edit result information, the document identification information, the user identification information, and the sequence.
한편, 도 2에 도시된 바와 같이 상기 편집 서버(100)에 구성된 공동 편집 처리부(130)는 상기 편집 제어부(110)의 제어에 따라 상기 편집 정보에 대응되어 상기 편집 정보에 포함된 문서 식별정보와 동일한 편집 대상 문서에 대응되는 문서 식별정보가 포함된 하나 이상의 서로 다른 공동 편집 정보를 상기 동기화 서버(300)로부터 수신하고, 미리 설정된 주기로 상기 편집 대상 문서에 대응되어 상기 동기화 서버(300)로부터 수신된 하나 이상의 서로 다른 공동 편집 정보를 순서대로 취합하여 편집 리스트(list) 정보를 생성하며, 상기 편집 리스트 정보를 웹 소켓(web socket) 기반 프로토콜(protocol)로 상기 편집 정보에 대응되는 문서 편집 장치(11)가 구성된 사용자 장치로 전송할 수 있다.2, the common
이때, 상기 공동 편집 처리부(130)는 상기 편집 리스트 정보에 포함된 복수의 공동 편집 정보를 병합하여 상기 문서 편집 장치(11)로 전송하는 데이터량을 감소시킬 수 있으며, 이를 통해 문서 편집 장치(11)를 통한 편집 대상 문서의 편집 처리에 대한 속도를 높일 수 있는데, 이를 도 4 및 도 5를 참고하여 상세히 설명한다.At this time, the common
우선, 도 4에 도시된 바와 같이, 상기 공동 편집 처리부(130)는 동기화 서버(300)로부터 수신되는 공동 편집 정보를 편집 대상 문서의 문서 식별 정보에 대응되어 할당된 버퍼에 기록하며, 미리 설정된 주기로 상기 버퍼에 기록된 복수의 공동 편집 정보를 취합하여 상기 편집 리스트 정보를 생성할 수 있다.4, the common
이때, 상기 공동 편집 처리부(130)는 상기 편집 리스트 정보에서 병합 가능한 데이터를 병합하는 병합 처리부(131)를 더 포함할 수 있으며, 상기 병합 처리부(131)는 상기 편집 리스트 정보에 포함된 복수의 공동 편집 정보 상호 간 공동 편집 정보에 포함된 편집 대상 관련 정보를 기초로 상기 편집 대상 문서의 편집 대상이 동일한 복수의 공동 편집 정보를 식별할 수 있다.The cooperative
이에 따라, 상기 공동 편집 처리부(130)에 포함된 병합 처리부(131)는 미리 설정된 규칙에 따라 상기 편집 대상이 동일한 복수의 편집 정보를 하나의 편집정보로 병합할 수 있으며, 이를 통해 상기 편집 리스트 정보를 갱신할 수 있다.Accordingly, the
일례로, 도 5에 도시된 바와 같이 상기 병합 처리부(131)는 상기 편집 리스트 정보에 포함된 복수의 공동 편집 정보 중 1번째 시퀀스에 대응되는 공동 편집 정보에 의해 문단 1에 새로운 텍스트가 추가된 후 상기 문단 1의 텍스트를 편집 대상으로 하는 3번째와 5번째의 시퀀스에 해당되는 복수의 공동 편집 정보를 문단 1에 순서대로 반영한 편집 결과가 3번째의 시퀀스에 해당되는 공동 편집 정보를 제외하고 5번째의 공동 편집 정보를 기초로 편집한 편집 결과와 동일하므로, 3번째의 편집 내용(편집 결과)을 반영할 필요가 없어 도시된 바와 같이 3번째의 공동 편집 정보를 5번째의 공동 편집 정보와 병합할 수 있다.For example, as shown in FIG. 5, the
또한, 상기 병합 처리부(131)는 상기 편집 리스트 정보에서 시퀀스가 3번째인 공동 편집 정보를 삭제하거나 상기 3번째인 공동 편집 정보에서 편집 결과 정보를 삭제하여 상기 3번째의 공동 편집 정보에 따른 편집 처리가 발생되지 않도록 할 수 있다.In addition, the
상술한 바와 같이, 상기 공동 편집 처리부(130)는 동일 편집 대상을 가진 복수의 공동 편집 정보를 식별하고, 식별된 상기 복수의 공동 편집 정보 중 하나의 공동 편집 정보에 따른 편집 결과와 상기 복수의 공동 편집 정보에 따른 편집 결과가 상호 동일한 경우 하나의 공동 편집 정보로 병합하여 편집 리스트 정보의 데이터를 감소시킬 수 있다.As described above, the common
또한, 상기 공동 편집 처리부(130)는 상기 편집 리스트 정보를 상기 사용자 장치의 문서 편집 장치(11)로 전송할 수 있으며, 상기 편집 대상 문서의 편집에 참여하는 복수의 서로 다른 사용자 장치를 상기 편집 리스트 정보에 포함되는 하나 이상의 공동 편집 정보 각각에 포함된 사용자 식별정보를 기초로 식별하거나 상기 편집 서버(100)에 수신된 각 편집 요청 정보에 포함되는 사용자 식별정보를 기초로 식별하여, 상기 복수의 서로 다른 사용자 장치로 상기 편집 리스트 정보를 전송함으로써, 서로 다른 복수의 사용자 장치 각각에 구성된 임의의 웹 브라우저 기반 문서 편집 장치(11) 상호 간 편집 대상 문서를 동기화시킬 수 있다.In addition, the common
이때, 상기 공동 편집 처리부(130)는 상기 사용자 장치에 전송되는 편집 리스트 정보에 포함된 공동 편집 정보에서 편집 결과 정보와 시퀀스를 제외한 나머지 정보를 삭제하여 상기 사용자 장치로 전송할 수 있으며, 이를 통해 사용자 장치에 전송되는 데이터량을 더욱 감소시킬 수 있다.At this time, the common
이를 통해, 상기 편집 서버(100)는 복수의 서로 다른 사용자가 공동으로 편집 중인 편집 대상 문서를 각 사용자에게 동일하게 표시되도록 함과 동시에 편집 결과가 정확하게 공유되도록 지원하여 공동 편집에 대한 편의성 및 정확도를 높일 수 있다.Accordingly, the
또한, 상기 편집 서버(100)는 상기 편집 리스트 정보에 따른 데이터를 병합 처리하고 웹 소켓 기반으로 전송하여 복수의 문서 편집 장치(11) 각각에 대한 통신량을 감소시킬 수 있으므로, 문서 편집 장치(11)에 편집 결과가 신속하게 반영되도록 하여 편집 속도를 증가시킬 수 있으며 이를 통해 공동 편집의 효율성 및 반응속도를 크게 개선할 수 있다.The
이때, 상기 편집 서버(100)는 미리 설정된 주기로 상기 편집 리스트 정보 생성시마다 상기 병합 처리부(131)에 의한 데이터 병합이 이루어지도록 동작할 수 있음은 물론이다.In this case, the
한편, 상기 문서 편집 장치(11)는 도 2에 도시된 바와 같이 상기 편집 서버(100)로부터 편집 리스트 정보를 수신하고, 상기 편집 리스트 정보에 포함된 공동 편집 정보별로 설정된 시퀀스를 확인하여, 상기 공동 편집 정보별 시퀀스를 기초로 순서대로 상기 공동 편집 정보를 상기 편집 대상 문서에 반영하여 편집 처리할 수 있으며, 상기 편집 리스트 정보에 포함된 상기 공동 편집 정보를 기초로 상기 편집 대상 문서를 편집 처리하고, 편집 처리시마다 편집 대상 문서를 렌더링하여 상기 사용자 장치의 표시부를 통해 표시할 수 있다.2, the
이때, 상기 문서 편집 장치(11)는 상기 공동 편집 정보에 포함된 편집 결과 정보를 기초로 편집 대상 문서에서 편집 결과 정보에 대응되는 편집 대상을 식별하고, 상기 편집 결과 정보에 따른 편집 내용(편집 결과)으로 상기 식별된 편집 대상에 표시함으로써 편집 처리할 수 있으며, 이를 통해 편집 결과 정보에 따른 편집 결과와 동일한 편집 결과가 상기 편집 대상 문서에서 식별된 편집 대상에 표시되도록 할 수 있다.At this time, the
또한, 상기 편집 리스트 정보를 수신한 서로 다른 복수의 사용자 장치 각각에 구성된 문서 편집 장치(11)는 상기 편집 리스트 정보를 기초로 순서대로 편집 대상 문서를 편집 처리할 수 있으며, 이를 통해 서로 다른 사용자 장치 상호간 상기 편집 리스트 정보를 통해 편집된 문서가 동일하게 표시되어 편집 대상 문서가 상호 동기화되도록 할 수 있다.In addition, the
한편, 상술한 구성에서 상기 문서 편집 장치(11)는 상기 사용자 입력에 따라 편집 대상 문서에 대응되어 생성된 이벤트 정보에 따른 편집 내용을 상기 이벤트 정보에 대응되는 편집 종류에 따라 상기 편집 대상 문서에 즉시 반영하거나 상기 편집 리스트 정보 수신시 상기 편집 대상 문서에 반영할 수 있는데, 이를 도 6을 참고하여 상세히 설명한다.Meanwhile, in the above-described configuration, the
우선, 상기 편집 종류는 의존적 편집(Dependent Action)과 비의존적 편집(Independent Action)으로 구분될 수 있으며, 상기 의존적 편집 및 비의존적 편집 각각에 대응되어 서로 다른 하나 이상의 이벤트가 설정될 수 있다.First, the editing type may be classified into Dependent Action and Independent Action, and one or more different events may be set corresponding to the dependent editing and the non-dependent editing, respectively.
일례로, 상기 비의존적 편집은 텍스트 입력, 텍스트 삭제, 줄바꿈 등과 같은 이벤트가 설정될 수 있으며, 상기 의존적 편집은 비의존적 편집 이외의 이벤트로서 텍스트 스타일 변경, 표 편집, 번호 매기기 등과 같은 이벤트가 설정될 수 있다.For example, the non-dependent editing may set an event such as a text input, a text deletion, a line break, and the like, and the dependent editing may be an event other than the non-dependent editing, .
이에 따라, 도 6(a)에 도시된 바와 같이, 상기 문서 편집 장치(11)는 상기 이벤트 정보 생성시 상기 이벤트 정보에 따른 이벤트에 대응되는 편집 종류가 비의존적 편집인 경우 상기 편집 대상 문서를 상기 이벤트 정보에 따라 편집 처리한 후 즉시 렌더링하여 상기 사용자 장치의 표시부를 통해 표시할 수 있으며, 이를 통해 사용자가 편집 내용을 실시간으로 확인할 수 있도록 지원할 수 있다.6 (a), when the event information is generated, the
이때, 상기 문서 편집 장치(11)는 상기 비의존적 편집에 대응되는 이벤트 정보 생성시 상기 이벤트 정보에 대응되는 편집 요청 정보를 생성하여 상기 편집 서버(100)로 전송할 수 있음은 물론이며, 상기 비의존적 편집에 따라 상기 편집 대상 문서에서 편집된 대상은 상기 편집 리스트 정보에 따라 다시 편집 처리될 수 있다.At this time, when the event information corresponding to the independent editing is generated, the
또한, 도 6(b)에 도시된 바와 같이, 상기 문서 편집 장치(11)는 상기 이벤트 정보 생성시 상기 이벤트 정보에 따른 이벤트에 대응되는 편집 종류가 의존적 편집인 경우 상기 편집 대상 문서를 바로 편집 처리하지 않고 상기 편집 요청 정보를 전송하여 상기 편집 리스트 정보에 상기 의존적 편집 관련 상기 이벤트 정보에 대응되는 공동 편집 정보가 수신된 경우에 상기 이벤트 정보에 대응되는 편집 내용으로 편집 처리할 수 있다.6 (b), when the event information is generated, the
한편, 도 2에 도시된 바와 같이, 상기 편집 서버(100)는 상기 문서 편집 장치(11)로부터 수신된 편집 요청 정보에 대응되어 수신된 편집 결과 정보에서 충돌이 발생하지 않은 경우 상기 편집 결과 정보를 포함하는 편집 정보를 생성하고, 상기 편집 정보에 시퀀스를 설정하여 상기 동기화 서버(300)에 전송함과 동시에 상기 편집 요청 정보를 전송한 문서 편집 장치(11)로 전송할 수 있다.2, when the
이때, 상기 편집 서버(100)는 상기 편집 정보를 HTTP(hypertext transfer protocol)를 이용하여 상기 문서 편집 장치(11)로 전송할 수 있다.At this time, the
이에 따라, 상기 문서 편집 장치(11)는 상기 편집 서버(100)로부터 상기 편집 정보 수신시 상기 편집 정보에 따라 상기 편집 대상 문서를 편집 처리한 후 렌더링하여 표시하거나 상기 편집 정보의 수신 시점에 상기 편집 리스트 정보를 기초로 편집 중인 경우 상기 편집 정보에 설정된 시퀀스와 상기 편집 리스트 정보에 포함된 공동 편집 정보별 시퀀스를 확인하여, 상기 편집 정보에 설정된 시퀀스에 해당되는 순번에서 상기 편집 정보에 따라 상기 편집 대상 문서를 편집 처리한 후 렌더링하여 표시할 수 있다.Accordingly, when the editing information is received from the
상술한 구성을 통해, 본 발명에 따른 문서 편집 장치(11) 및 편집 서버(100)는 편집 리스트 정보가 수신되기 이전에 사용자 입력에 따른 이벤트 정보를 기초로 편집 대상 문서에 사용자의 편집 내용을 선반영하여 사용자가 자신의 편집 내용을 실시간으로 확인할 수 있도록 지원하고, 추후 공동 편집에 따라 해당 편집 내용이 변경되도록 지원함으로써 공동 편집 과정에서 사용자가 실시간으로 문서 편집을 수행할 수 있도록 지원하여 문서 편집에 대한 사용자 편의성을 높일 수 있다.Through the above-described configuration, the
상술한 바와 같이, 본 발명은 편집 대상 문서에 대한 사용자별 편집 내용을 서버 측에서 취합한 후 편집 내용별로 순서를 설정하여 다수의 사용자로부터 수신된 편집 내용을 주기적으로 동기화하고, 이를 기반으로 동기화된 공동 편집 정보를 동일한 편집 대상 문서의 편집에 참여하는 사용자별 문서 편집 장치에 제공하여 해당 문서 편집 장치를 통해 공동 편집 중인 편집 대상 문서의 편집 결과가 동일하게 표시되도록 함으로써, 사용자가 실시간으로 편집 대상 문서를 편집할 수 있도록 지원하여 기존의 특정 사용자가 편집 대상 문서의 편집 권한을 독점하여 다수의 사용자가 편집 대상 문서의 편집을 위해 대기하는 불편을 개선하는 동시에 동일 문서의 공동 편집에 대한 편의성 및 정확도를 높일 수 있다.As described above, according to the present invention, editing contents received from a plurality of users are periodically synchronized by collecting user-specific editing contents of a document to be edited on the server side and then setting the order of editing contents, By providing the common editing information to the user-specific document editing device participating in the editing of the same editing target document, so that the editing result of the editing target document being co-edited through the corresponding document editing device is displayed in the same manner, So that it is possible to improve the inconvenience that a specific user is allowed to edit the document to be edited by monopolizing the editing authority of the document to be edited, and at the same time, the convenience and accuracy of the common editing of the same document .
또한, 본 발명은 편집 과정에서 발생하는 서로 다른 복수 사용자의 편집 내용 상호 간 충돌을 판정한 후 판정 결과에 따라 오류가 발생한 편집 내용이 반영되지 않도록 하거나 후속으로 전달받은 편집 내용으로 동기화가 맞춰지도록 할 수 있으며, 사용자가 실시간으로 문서 편집 장치를 통해 편집 대상 문서를 편집하는 과정에서 편집 서버로부터 수신된 편집 리스트 정보를 기초로 다른 사용자의 편집에 따른 편집 결과가 주기적으로 사용자가 편집 대상 문서를 편집하는 도중에 상기 편집 대상 문서에 반영되도록 지원하여 사용자의 웹 기반 편집 대상 문서에 대한 실시간 편집을 지원하는 동시에 서로 다른 사용자 간 동일 편집 대상 문서에 대한 동기화가 이루어지도록 지원함으로써 공동 편집의 실시간성을 보장하고 이에 따라 공동 편집 관련 업무 효율을 높일 수 있다.In addition, according to the present invention, it is possible to prevent conflicts between editing contents of different users occurring in the editing process, and to prevent the edited content from being erroneously reflected on the basis of the determination result, In a process in which a user edits a document to be edited through a document editing device in real time, an editing result obtained by editing another user based on the edit list information received from the editing server is periodically edited by the user It is possible to support real-time editing of the web-based editing target document of the user while supporting synchronization of the same editing target document between different users, thereby realizing the real time performance of the cooperative editing. Co-editing related tasks It can increase the rate.
더하여, 본 발명은 편집 서버에서 편집 리스트 정보에 따른 데이터를 병합 처리하고 웹 소켓 기반으로 문서 편집 장치에 편집 리스트 정보를 전송하여 복수의 문서 편집 장치 각각에 대한 통신량을 감소시킬 수 있을 뿐 아니라 문서 편집 장치에 편집 결과가 신속하게 반영되도록 하여 편집 속도를 증가시킬 수 있으며 이를 통해 공동 편집의 효율성 및 문서 편집 장치의 반응속도를 크게 개선할 수 있다.In addition, according to the present invention, it is possible not only to reduce the amount of communication for each of a plurality of document editing devices by merging data according to edit list information in an editing server and transmitting edit list information to a document editing device based on a web socket, It is possible to increase the editing speed by allowing the editing result to be quickly reflected on the device, thereby greatly improving the efficiency of the cooperative editing and the response speed of the document editing device.
도 7은 본 발명의 실시예에 따른 공동 편집을 위한 문서 편집 방법에 대한 순서도이다.FIG. 7 is a flowchart illustrating a document editing method for collaborative editing according to an embodiment of the present invention.
우선, 상기 편집 서버(100)는 상기 사용자 장치에 구성되어 운영 체제상의 웹 브라우저 기반에서 동작하는 문서 편집 장치(11)와 통신망을 통해 통신할 수 있으며, 상기 사용자 장치를 통해 상기 편집 서버(100)로 접속한 상기 문서 편집 장치(11)가 편집을 위해 선택한 편집 대상 문서에 대응되어 상기 모델 서버(200)를 할당할 수 있다(S1, S2).The
또한, 상기 문서 편집 장치(11)는 상기 편집 대상 문서에 대한 사용자의 문서 편집에 따른 편집 요청 정보를 생성하여 상기 편집 서버(100)로 전송할 수 있으며(S3), 상기 편집 서버는 상기 편집 대상 문서에 대응되는 모델 서버로 상기 편집 요청 정보를 전송할 수 있다(S4).In addition, the
다음, 상기 편집 서버(100)는 상기 모델 서버(200)로부터 상기 편집 요청 정보에 따라 문서를 편집한 편집 결과 정보를 수신하고(S5), 상기 편집 결과 정보를 기초로 편집 정보를 생성한 후(S6) 상기 편집 정보에 대한 시퀀스를 상기 동기화 서버(300)에 요청할 수 있다(S7).Next, the
이후, 상기 동기화 서버(300)는 상기 편집 서버(100)로부터 시퀀스 요청 수신시 상기 시퀀스 요청 이전에 상기 하나 이상의 편집 서버(100) 각각으로부터 이미 수신된 상기 편집 대상 문서에 대한 시퀀스가 설정된 편집 정보를 기초로 상기 시퀀스 요청에 대응되는 상기 편집 정보의 시퀀스를 결정한 후 상기 편집 서버(100)로 제공할 수 있다(S8).When the sequence request is received from the
다음, 상기 편집 서버(100)는 상기 시퀀스 요청에 대응되어 상기 동기화 서버(300)로부터 수신된 시퀀스를 상기 시퀀스 요청에 대응되는 상기 편집 정보에 설정한 후(S9) 상기 동기화 서버(300)로 제공할 수 있다(S10).Next, the
이후, 상기 동기화 서버(300)는 상기 하나 이상의 편집 서버(100) 각각으로부터 상기 편집 대상 문서에 대응되어 상기 시퀀스가 설정된 편집 정보를 수신하고, 상기 시퀀스가 설정된 편집 정보를 공동 편집 정보로 상기 하나 이상의 편집 서버(100) 각각에 제공할 수 있다(S11).Thereafter, the
이에 따라, 상기 편집 서버(100)는 상기 편집 대상 문서에 대한 타 사용자 또는 상기 사용자 장치에 대응되는 사용자의 편집에 따라 생성된 상기 공동 편집 정보를 상기 동기화 서버(300)로부터 수신한 후 상기 문서 편집 장치(11)로 전송할 수 있다(S12).Accordingly, the
또한, 상기 문서 편집 장치(11)는 상기 편집 서버(100)로부터 하나 이상의 상기 공동 편집 정보를 수신하여 상기 시퀀스에 따른 순서대로 상기 공동 편집 정보에 따라 상기 편집 대상 문서를 편집 처리할 수 있다(S13).In addition, the
상술한 구성에서, 상기 편집 서버(100)는 미리 설정된 주기로 서로 다른 복수의 상기 공동 편집 정보를 취합하여 편집 리스트 정보를 생성한 후 상기 문서 편집 장치(11)로 전송하고, 상기 문서 편집 장치(11)는 상기 편집 리스트 정보에 포함된 각 공동 편집 정보의 시퀀스를 기초로 순서대로 상기 공동 편집 정보를 상기 편집 대상 문서에 반영하여 편집 처리할 수 있다.In the above-described configuration, the
이때, 상기 문서 편집 장치(11)가 상기 편집 서버(100)로부터 수신되는 하나 이상의 공동 편집 정보를 취합하여 미리 설정된 시간 단위(주기)로 상기 편집 서버(100)로부터 수신된 하나 이상의 공동 편집 정보를 포함하는 상기 편집 리스트 정보를 생성할 수도 있음은 물론이다.At this time, the
또한, 상기 문서 편집 장치(11)는 편집 리스트 정보에 포함된 모든 공동 편집 정보가 편집 대상 문서에 적용된 경우 해당 편집 리스트 정보를 삭제할 수도 있다.Also, the
본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.The various devices and components described herein may be implemented by hardware circuitry (e.g., CMOS-based logic circuitry), firmware, software, or a combination thereof. For example, it can be implemented utilizing transistors, logic gates, and electronic circuits in the form of various electrical structures.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or essential characteristics thereof. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
11: 문서 편집 장치 100: 편집 서버
110: 편집 제어부 120: 시퀀스 관리부
130: 공동 편집 처리부 131: 병합 처리부
200: 모델 서버 300: 동기화 서버11: Document editing device 100: Editing server
110: edit control unit 120: sequence management unit
130: co-edit processing unit 131:
200: model server 300: synchronization server
Claims (10)
사용자 장치에서 실행되는 운영 체제상의 웹 브라우저 기반에서 동작하며, 사용자의 문서 편집에 따른 편집 요청 정보를 전송하는 문서 편집 장치;
개별 문서마다 문서의 편집 처리를 위한 모델 서버를 할당하며, 상기 문서 편집 장치로부터 수신된 상기 편집 요청 정보에 따른 편집 대상 문서에 대응되어 할당된 모델 서버에 상기 편집 요청 정보를 제공하여 상기 편집 대상 문서를 편집한 편집 결과 정보를 상기 모델 서버로부터 수신하고, 상기 편집 결과 정보를 기초로 편집 정보를 생성한 후 상기 편집 정보에 대한 시퀀스를 상기 동기화 서버에 요청하여 수신된 시퀀스를 상기 편집 정보에 설정한 후 상기 동기화 서버로 제공하고, 상기 편집 대상 문서에 대한 타 사용자 또는 상기 사용자 장치에 대응되는 사용자의 편집에 따라 생성된 공동 편집 정보를 상기 동기화 서버로부터 수신하여 상기 문서 편집 장치로 전송하는 편집 서버; 및
상기 하나 이상의 편집 서버 각각으로부터 수신되는 상기 편집 대상 문서에 대한 시퀀스가 설정된 편집 정보를 기초로 상기 시퀀스 요청에 대응되는 상기 편집 정보에 대한 시퀀스를 결정한 후 상기 편집 서버로 제공하며, 상기 시퀀스가 설정된 상기 편집 정보를 상기 공동 편집 정보로 제공하는 동기화 서버를 포함하며,
상기 편집 서버는,
상기 동기화 서버로부터 상기 편집 대상 문서에 대응되는 상기 공동 편집 정보를 수신하여 상기 편집 대상 문서에 대응되어 할당된 버퍼에 기록하며, 미리 설정된 주기로 버퍼에 기록된 서로 다른 복수의 상기 공동 편집 정보를 취합하여 상기 복수의 공동 편집 정보를 포함하는 편집 리스트 정보를 생성한 후 상기 문서 편집 장치로 전송하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
1. A document editing system for collaborative editing, comprising: at least one editing server for communicating with a plurality of different user devices via a communication network; and a synchronization server connected to the editing server via a communication network,
A document editing device operating on a web browser on an operating system running on a user device and transmitting edit request information according to a user's document editing;
A model server for editing a document is assigned to each of the individual documents, and the edit request information is provided to the model server allocated corresponding to the edit target document according to the edit request information received from the document edit device, The editing server receives the editing result information from the model server, generates editing information based on the editing result information, requests the synchronization server for the editing information, and sets the received sequence in the editing information An editing server which provides the editing information to the synchronization server and receives the common editing information generated in accordance with the editing of a user corresponding to the editing object document or a user corresponding to the user apparatus from the synchronization server and transmits the common editing information to the document editing apparatus; And
A sequence for the editing target document received from each of the one or more editing servers determines a sequence of the editing information corresponding to the sequence request based on the set editing information and provides the sequence to the editing server; And a synchronization server for providing editing information as the common editing information,
The editing server includes:
Receiving the common editing information corresponding to the editing target document from the synchronization server, recording the common editing information in a buffer allocated to the editing target document, collecting a plurality of different common editing information recorded in the buffer at a preset period Wherein the editing information generating unit generates editing list information including the plurality of common editing information, and then transmits the editing list information to the document editing apparatus.
상기 편집 서버는 상기 편집 결과 정보를 기초로 상기 다른 편집 요청 정보와의 충돌에 따른 오류 발생 여부를 판단하여 상기 오류 발생시 오류 정보를 생성하여 상기 문서 편집 장치로 전송하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method according to claim 1,
Wherein the editing server determines whether an error has occurred due to the collision with the other editing request information based on the editing result information, generates error information upon occurrence of the error, and transmits the error information to the document editing device Document editing system.
상기 편집 서버는 상기 모델 서버가 다른 편집 서버에 구성된 경우 상기 다른 편집 서버에 구성된 모델 서버로 상기 편집 요청 정보를 전송하고, 상기 편집 요청 정보에 대응되어 상기 편집 대상 문서에 대한 편집 결과 정보를 수신하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method according to claim 1,
The editing server transmits the editing request information to the model server configured in the other editing server when the model server is configured in another editing server and receives editing result information on the editing target document corresponding to the editing request information A document editing system for collaborative editing.
상기 편집 요청 정보는 상기 편집 대상 문서의 식별을 위한 문서 식별정보, 사용자 장치의 식별을 위한 사용자 식별 정보 및 상기 사용자 장치를 통한 사용자의 키 입력에 따른 편집 내용에 대한 이벤트 정보를 포함하고,
상기 편집 결과 정보는 상기 문서 식별정보, 사용자 식별정보 및 상기 이벤트 정보를 기초로 상기 편집 대상 문서를 편집 처리한 결과에 대한 정보를 포함하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method according to claim 1,
Wherein the editing request information includes document identification information for identifying the editing target document, user identification information for identifying the user apparatus, and event information for editing contents according to the user's key input through the user apparatus,
Wherein the editing result information includes information on a result of editing the editing target document based on the document identification information, the user identification information, and the event information.
상기 편집 서버는 상기 문서 편집 장치에 웹 소켓 기반으로 상기 편집 리스트 정보를 전송하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method according to claim 1,
Wherein the editing server transmits the edit list information to the document editing apparatus based on a web socket.
상기 편집 서버는 상기 편집 대상 문서의 동일 편집 대상에 대한 복수의 서로 다른 공동 편집 정보가 상기 편집 리스트 정보 존재시 미리 설정된 규칙에 따라 상기 동일 편집 대상에 대한 복수의 서로 다른 공동 편집 정보를 하나의 공동 편집 정보로 병합하여 상기 편집 리스트 정보를 갱신하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method according to claim 1,
Wherein the editing server is configured to edit a plurality of different common editing information for the same editing object of the editing object document in accordance with a rule set in advance in the presence of the editing list information, And the edit list information is merged with the edit information to update the edit list information.
상기 문서 편집 장치는 상기 편집 서버로부터 수신되는 상기 편집 리스트 정보에 포함된 상기 공동 편집 정보별 시퀀스를 식별하고, 상기 시퀀스에 따른 순서대로 상기 편집 리스트 정보에 포함된 상기 복수의 공동 편집 정보 각각을 기초로 상기 편집 대상 문서를 편집 처리한 후 렌더링하여 상기 사용자 장치를 통해 표시하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method according to claim 1,
Wherein the document editing apparatus identifies a sequence of the common edit information included in the edit list information received from the editing server and sequentially arranges each of the plurality of common edit information included in the edit list information in the order of the sequence Wherein the editing target document is edited, rendered, and displayed through the user device.
상기 문서 편집 장치는 편집 내용에 대한 이벤트 정보가 미리 설정된 비의존적 편집 관련 이벤트인 경우 상기 이벤트 정보를 기초로 상기 편집 대상 문서를 편집하여 렌더링한 후 상기 사용자 장치를 통해 표시하고, 상기 이벤트 정보에 대응되는 상기 편집 요청 정보를 상기 편집 서버로 전송하는 것을 특징으로 하는 공동 편집을 위한 문서 편집 시스템.
The method of claim 8,
Wherein the document editing apparatus edits and edits the editing target document based on the event information if the event information on the edited content is a preset non-dependent editing related event, displays the edited document on the user device, And the editing server transmits the editing request information to the editing server.
상기 편집 서버가 상기 사용자 장치가 선택한 편집 대상 문서에 대응되어 문서의 편집 처리를 위한 모델 서버를 할당하는 단계;
상기 사용자 장치에 구성되어 운영 체제상의 웹 브라우저 기반에서 동작하는 문서 편집 장치가 상기 편집 대상 문서에 대한 사용자의 문서 편집에 따른 편집 요청 정보를 생성하여 상기 편집 서버로 전송하는 단계;
상기 편집 서버가 상기 모델 서버로부터 상기 편집 요청 정보에 따라 문서를 편집한 편집 결과 정보를 수신하고, 상기 편집 결과 정보를 기초로 생성한 편집 정보에 대한 시퀀스를 상기 동기화 서버에 요청하는 단계;
상기 동기화 서버가 상기 시퀀스 요청에 따라 상기 하나 이상의 편집 서버 각각으로부터 수신되는 상기 편집 대상 문서에 대한 시퀀스가 설정된 편집 정보를 기초로 상기 시퀀스 요청에 대응되는 상기 편집 정보의 시퀀스를 결정한 후 상기 편집 서버로 제공하는 단계;
상기 편집 서버가 상기 시퀀스 요청에 대응되어 상기 동기화 서버로부터 수신된 시퀀스를 상기 시퀀스 요청에 대응되는 상기 편집 정보에 설정한 후 상기 동기화 서버로 제공하는 단계;
상기 동기화 서버가 상기 하나 이상의 편집 서버 각각으로부터 상기 편집 대상 문서에 대응되어 상기 시퀀스가 설정된 편집 정보를 수신하고, 상기 시퀀스가 설정된 편집 정보를 공동 편집 정보로 상기 하나 이상의 편집 서버 각각에 제공하는 단계; 및
상기 편집 서버가 상기 편집 대상 문서에 대한 타 사용자 또는 상기 사용자 장치에 대응되는 사용자의 편집에 따라 생성된 상기 공동 편집 정보를 상기 동기화 서버로부터 수신한 후 상기 문서 편집 장치로 전송하여 상기 시퀀스에 따른 순서대로 상기 공동 편집 정보에 따른 문서 편집이 처리되도록 하는 단계를 포함하며,
상기 공동 편집 정보를 상기 동기화 서버로부터 수신한 후 상기 문서 편집 장치로 전송하여 상기 시퀀스에 따른 순서대로 상기 공동 편집 정보에 따른 문서 편집이 처리되도록 하는 단계는,
상기 편집 서버가 상기 동기화 서버로부터 상기 편집 대상 문서에 대응되는 상기 공동 편집 정보를 수신하여 상기 편집 대상 문서에 대응되어 할당된 버퍼에 기록하며, 미리 설정된 주기로 버퍼에 기록된 서로 다른 복수의 상기 공동 편집 정보를 취합하여 상기 복수의 공동 편집 정보를 포함하는 편집 리스트 정보를 생성한 후 상기 문서 편집 장치로 전송하는 것을 특징으로 하는 는 공동 편집을 위한 문서 편집 방법.A document editing method for cooperative editing of at least one editing server communicating with a plurality of different user devices via a communication network and a synchronization server connected to the editing server via a communication network,
The editing server assigning a model server for editing the document in correspondence with the editing target document selected by the user apparatus;
A step in which a document editing apparatus configured in the user apparatus and operating on a web browser based on an operating system generates edit request information according to a user's document editing of the edit target document and transmits the edit request information to the edit server;
Receiving, by the editing server, editing result information obtained by editing a document according to the editing request information from the model server, and requesting a sequence of editing information generated based on the editing result information to the synchronization server;
Wherein the synchronization server determines a sequence of the editing information corresponding to the sequence request based on the editing information of the sequence of the editing target document received from each of the one or more editing servers according to the sequence request, ;
Setting a sequence received from the synchronization server in response to the sequence request to the editing information corresponding to the sequence request, and providing the sequence to the synchronization server;
The synchronization server receiving editing information corresponding to the editing target document from each of the one or more editing servers and having the sequence set and providing the editing information with the sequence as common editing information to each of the one or more editing servers; And
The editing server receives the common editing information generated according to the editing of a user corresponding to the editing object document or a user corresponding to the user apparatus from the synchronization server and transmits the common editing information to the document editing apparatus, And editing the document according to the co-editing information,
Receiving the common editing information from the synchronization server and transmitting the combined editing information to the document editing device so that document editing in accordance with the common editing information is processed in order according to the sequence,
Wherein the editing server receives the common editing information corresponding to the editing target document from the synchronization server and records the common editing information in a buffer allocated corresponding to the editing target document, Wherein the edit information generating unit generates the edit list information including the plurality of common edit information by collecting the information, and transmits the edit list information to the document editing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170023456A KR101750429B1 (en) | 2017-02-22 | 2017-02-22 | Document editing system and method for collaborative editing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170023456A KR101750429B1 (en) | 2017-02-22 | 2017-02-22 | Document editing system and method for collaborative editing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101750429B1 true KR101750429B1 (en) | 2017-06-23 |
Family
ID=59283349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170023456A KR101750429B1 (en) | 2017-02-22 | 2017-02-22 | Document editing system and method for collaborative editing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101750429B1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101926566B1 (en) * | 2017-10-13 | 2018-12-07 | 주식회사 한글과컴퓨터 | Editing command processing server apparatus for performing editing command processing in a document collaborative editing system having a multi-server environment and operating method thereof |
KR101950422B1 (en) * | 2017-08-10 | 2019-02-20 | (주)사이냅소프트 | Document editing system and method for collaborative editing that supports setting edit permission |
KR20190041627A (en) * | 2017-10-13 | 2019-04-23 | 주식회사 한글과컴퓨터 | Method for avoiding conflict in collaboration and apparatus using the same |
KR20200000643A (en) * | 2018-06-25 | 2020-01-03 | 주식회사 한글과컴퓨터 | Web electric document editing apparatus for supporting cross-browsing and operating method thereof |
KR20200103135A (en) * | 2019-02-07 | 2020-09-02 | 주식회사 한글과컴퓨터 | Electronic terminal device capable of editing a web-based document in cooperation with a document editing server and operating method thereof |
KR20200106292A (en) * | 2019-03-04 | 2020-09-14 | 주식회사 한글과컴퓨터 | Document editing server that enables co-editing of web-based documents based on object identifiers and operating method thereof |
CN113204528A (en) * | 2021-03-29 | 2021-08-03 | 北京意匠文枢科技有限公司 | Method and device for sharing document |
WO2022114434A1 (en) * | 2020-11-26 | 2022-06-02 | (주)소셜인프라테크 | Document data agenda review system through automatic review of upper hierarchical regulatory law |
CN115079891A (en) * | 2021-03-01 | 2022-09-20 | 北京字跳网络技术有限公司 | Document content display method and device and electronic equipment |
WO2023063666A1 (en) * | 2021-10-12 | 2023-04-20 | 삼성전자 주식회사 | Method for providing collaborative editing service and server therefor |
US11681869B2 (en) | 2020-01-15 | 2023-06-20 | International Business Machines Corporation | Methods and systems for managing collaborative editing of content |
CN116796294A (en) * | 2023-05-22 | 2023-09-22 | 深圳市英唐数码科技有限公司 | Background file management method, system and storage medium |
WO2024080586A1 (en) * | 2022-10-14 | 2024-04-18 | 삼성전자주식회사 | Electronic device and method for co-editing in multiple device environment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007501969A (en) * | 2003-08-07 | 2007-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and computer program for creating collaborative e-mail documents (collaborative e-mail) |
-
2017
- 2017-02-22 KR KR1020170023456A patent/KR101750429B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007501969A (en) * | 2003-08-07 | 2007-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and computer program for creating collaborative e-mail documents (collaborative e-mail) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101950422B1 (en) * | 2017-08-10 | 2019-02-20 | (주)사이냅소프트 | Document editing system and method for collaborative editing that supports setting edit permission |
KR101926566B1 (en) * | 2017-10-13 | 2018-12-07 | 주식회사 한글과컴퓨터 | Editing command processing server apparatus for performing editing command processing in a document collaborative editing system having a multi-server environment and operating method thereof |
KR20190041627A (en) * | 2017-10-13 | 2019-04-23 | 주식회사 한글과컴퓨터 | Method for avoiding conflict in collaboration and apparatus using the same |
KR102017338B1 (en) * | 2017-10-13 | 2019-10-21 | 주식회사 한글과컴퓨터 | Method for avoiding conflict in collaboration and apparatus using the same |
KR20200000643A (en) * | 2018-06-25 | 2020-01-03 | 주식회사 한글과컴퓨터 | Web electric document editing apparatus for supporting cross-browsing and operating method thereof |
KR102067499B1 (en) | 2018-06-25 | 2020-01-17 | 주식회사 한글과컴퓨터 | Web electric document editing apparatus for supporting cross-browsing and operating method thereof |
KR102187543B1 (en) | 2019-02-07 | 2020-12-07 | 주식회사 한글과컴퓨터 | Electronic terminal device for processing web-based document editing in cooperation with a document editing server and operating method thereof |
KR20200103135A (en) * | 2019-02-07 | 2020-09-02 | 주식회사 한글과컴퓨터 | Electronic terminal device capable of editing a web-based document in cooperation with a document editing server and operating method thereof |
KR20200106292A (en) * | 2019-03-04 | 2020-09-14 | 주식회사 한글과컴퓨터 | Document editing server that enables co-editing of web-based documents based on object identifiers and operating method thereof |
KR102215576B1 (en) * | 2019-03-04 | 2021-02-15 | 주식회사 한글과컴퓨터 | Document editing server that enables co-editing of web-based documents based on object identifiers and operating method thereof |
US11681869B2 (en) | 2020-01-15 | 2023-06-20 | International Business Machines Corporation | Methods and systems for managing collaborative editing of content |
WO2022114434A1 (en) * | 2020-11-26 | 2022-06-02 | (주)소셜인프라테크 | Document data agenda review system through automatic review of upper hierarchical regulatory law |
CN115079891A (en) * | 2021-03-01 | 2022-09-20 | 北京字跳网络技术有限公司 | Document content display method and device and electronic equipment |
CN115079891B (en) * | 2021-03-01 | 2024-03-15 | 北京字跳网络技术有限公司 | Document content display method and device and electronic equipment |
CN113204528A (en) * | 2021-03-29 | 2021-08-03 | 北京意匠文枢科技有限公司 | Method and device for sharing document |
WO2023063666A1 (en) * | 2021-10-12 | 2023-04-20 | 삼성전자 주식회사 | Method for providing collaborative editing service and server therefor |
WO2024080586A1 (en) * | 2022-10-14 | 2024-04-18 | 삼성전자주식회사 | Electronic device and method for co-editing in multiple device environment |
CN116796294A (en) * | 2023-05-22 | 2023-09-22 | 深圳市英唐数码科技有限公司 | Background file management method, system and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101750429B1 (en) | Document editing system and method for collaborative editing | |
CN110019279B (en) | Online document collaborative updating method, device, equipment and storage medium | |
CN110515573B (en) | Screen projection method, device and system and computer equipment | |
CN110515572B (en) | Screen projection method and device, storage medium and computer equipment | |
CN106874389B (en) | Data migration method and device | |
CN107395658B (en) | Offline peer-to-peer assisted notification transmission | |
KR101950422B1 (en) | Document editing system and method for collaborative editing that supports setting edit permission | |
CN112380093A (en) | Operation and maintenance processing method and device and computer equipment | |
CN104427169B (en) | Remote supporting apparatus, electronic installation and remote supporting method | |
CN112632919B (en) | Document editing method and device, computer equipment and storage medium | |
RU2004131856A (en) | METHODS AND DEVICE FOR SYNCHRONIZING HOW DATA IS STORED IN VARIOUS DATA STORAGES | |
JP6945211B2 (en) | Communication support devices, methods, and computer programs | |
CN106161523A (en) | A kind of data processing method and equipment | |
US20150326620A1 (en) | Media presentation in a virtual shared space | |
CN110572437A (en) | Data interaction method and system for client and server in online and offline states | |
CN111651418A (en) | Document content downloading method and device, computer equipment and storage medium | |
CN112560129A (en) | Building information model data cooperation method and system based on component level | |
US11237854B2 (en) | Providing a virtual desktop within a computing environment | |
JP2014010486A (en) | Information processing device and authorization information management method | |
CN114416883A (en) | Block chain light node data synchronization method, device, equipment and readable storage medium | |
WO2024093549A1 (en) | Document processing method and apparatus, and electronic device, storage medium and program product | |
CN103621047A (en) | A method to synchronize content across networks | |
CN110489483B (en) | Data synchronization method, device, computer equipment and storage medium | |
CN107741994A (en) | A kind of data-updating method and device | |
JP5552720B2 (en) | Storage system, storage server, user data sharing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |