[go: up one dir, main page]

KR101701110B1 - Method and apparatus for sharing common editing documents - Google Patents

Method and apparatus for sharing common editing documents Download PDF

Info

Publication number
KR101701110B1
KR101701110B1 KR1020160029623A KR20160029623A KR101701110B1 KR 101701110 B1 KR101701110 B1 KR 101701110B1 KR 1020160029623 A KR1020160029623 A KR 1020160029623A KR 20160029623 A KR20160029623 A KR 20160029623A KR 101701110 B1 KR101701110 B1 KR 101701110B1
Authority
KR
South Korea
Prior art keywords
command
server
client
document file
edit
Prior art date
Application number
KR1020160029623A
Other languages
Korean (ko)
Inventor
장종덕
정새암
Original Assignee
주식회사 인프라웨어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 인프라웨어 filed Critical 주식회사 인프라웨어
Priority to KR1020160029623A priority Critical patent/KR101701110B1/en
Priority to PCT/KR2016/002926 priority patent/WO2016171401A1/en
Priority to US15/027,931 priority patent/US20170134495A1/en
Priority to CN201680000215.0A priority patent/CN107924391A/en
Application granted granted Critical
Publication of KR101701110B1 publication Critical patent/KR101701110B1/en

Links

Images

Classifications

    • G06F17/24
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F17/21
    • G06F17/30011
    • G06F17/3007

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 공동 편집 문서를 공유하는 방법 및 장치에 관한 것으로서, 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치는 공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 (seed) 문서 파일을 적어도 하나의 클라이언트로 송신하는 시드 문서 서버, 적어도 하나의 클라이언트로부터 편집 명령어를 수신하고, 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트 각각으로 송신하는 명령어 전달 서버, 및 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장하는 명령어 저장 서버를 포함하고, 적은 리소스를 사용하여 다수의 클라이언트가 편집할 수 있도록 공유되는 문서를 신속하게 편집할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공할 수 있는 효과가 있다.The present invention relates to a method and an apparatus for sharing a common editing document, and an apparatus for sharing a common editing document according to an embodiment of the present invention includes a seed document file A command delivery server for receiving an edit command from at least one client and transmitting an edit command to each of the at least one client in response to an order of receiving an edit command, A method for sharing a collaborative editing document that can quickly edit a shared document so that a plurality of clients can edit the same using a small resource, There is an effect that a device can be provided.

Description

공동 편집 문서를 공유하는 방법 및 장치{METHOD AND APPARATUS FOR SHARING COMMON EDITING DOCUMENTS}[0001] METHOD AND APPARATUS FOR SHARING [0002] COMMON EDITING DOCUMENTS [

본 발명은 공동 편집 문서를 공유하는 방법 및 장치에 관한 것으로서, 보다 상세하게는 공동으로 편집하는 문서를 효율적으로 공유할 수 있는 공동 편집 문서를 공유하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for sharing collaborative editing documents, and more particularly to a method and apparatus for sharing collaborative editing documents that can efficiently share collaboratively edited documents.

최근 통신 기술이 발달함에 따라, 인터넷을 통해 다양한 서비스가 제공되고 있다. 특히, 인터넷을 통해 대용량의 파일들이 이동되고 대량의 데이터가 송수신된다. 이에 따라, 인터넷을 통해 언제 어디서든지 다양한 파일을 공유하는 기술도 발달하게 되었다. As the communication technology has recently developed, various services are being provided through the Internet. In particular, a large amount of files are moved and a large amount of data is transmitted and received via the Internet. As a result, technologies for sharing various files at anytime and anywhere via the Internet have developed.

이와 같이 다양한 통신 기술 (예를 들어, 인터넷) 을 기초로 단말기를 사용하는 사용자들이 가상의 저장소에 데이터 또는 파일을 저장하고 가상의 저장소를 통해 데이터 또는 파일을 주고 받고 공유도 할 수 있는 서비스를 클라우드 (cloud) 서비스라고 한다. 클라우드 서비스를 통해 사용자는 데이터 또는 파일을 자유롭게 사용할 수 있다. 구체적으로, 클라우드 서비스를 통해 사용자는 시간과 공간의 제약을 받지 않고 데이터 또는 파일을 다운로드 (download) 또는 업로드 (upload) 할 수 있고, 데이터 또는 파일을 다른 사용자들과 공유할 수도 있다. Users who use terminals based on various communication technologies (for example, the Internet) can store data or files in a virtual repository, exchange data and files via a virtual repository, called cloud service. Cloud services allow users to freely use data or files. Specifically, the cloud service allows a user to download or upload data or files without restriction of time and space, and to share data or files with other users.

이러한 클라우드 서비스는 데이터 또는 파일을 저장하고 공유하는 저장소인 공유 서버를 기반으로 제공된다. 구체적으로, 사용자들은 공유 서버를 통해 문서 파일을 저장 및 공유하고, 사용자들은 각자의 단말기를 통해 문서 파일을 편집할 수 있다. These cloud services are based on a shared server, a repository for storing and sharing data or files. Specifically, users can store and share document files through a shared server, and users can edit document files through their respective terminals.

다만, 사용자들이 각자의 단말기에서 공유하는 공유 문서를 편집하는 경우, 공유 서버는 사용자들의 단말기 각각에서 입력하는 편집 내용을 수신하여, 편집 내용을 공유 문서에 반영하고 공유 문서를 갱신하기 위한 엔진 (engine) 을 포함한다. 이에 따라, 공유 문서를 공유하는 단말기의 수가 증가함에 따라 공유 서버는 공유 문서를 편집하는 내용을 반영하기 위해 요구되는 엔진을 더 많이 필요로 하고, 많은 엔진을 사용함에 따라 공유 서버가 처리해야 할 데이터의 부하도 증가한다. 즉, 공유 문서를 공유하는 단말기의 수가 증가함에 따라 공유 서버에서 공유 문서에 편집 내용을 반영하기 위한 부하가 증가되고 공유 서버의 성능도 저하되고 클라우드 서비스의 질이 저하되는 문제점이 발생할 수 있다. However, when the users edit the shared document shared by their terminals, the sharing server receives the edited content input from each terminal of the users, reflects the edited contents in the shared document, ). Accordingly, as the number of terminals sharing the shared document increases, the shared server needs more engines required to reflect the contents of editing the shared document, and when many engines use the shared server, Of the load. That is, as the number of terminals sharing the shared document increases, the load for reflecting the edited contents in the shared document increases in the shared server, the performance of the shared server decreases, and the quality of the cloud service deteriorates.

따라서, 공유 및 편집을 위한 공유 문서를 제공하는 서버의 부하를 감소시키고 효율적으로 공유 문서를 공유하고 편집하기 위해 복수의 서버를 이용하여 공유 문서를 공유하는 방법을 제공할 필요성이 증대되었다. Accordingly, there is a growing need to provide a method of sharing a shared document using a plurality of servers in order to reduce the load of a server providing shared documents for sharing and editing, and to efficiently share and edit shared documents.

[관련기술문헌][Related Technical Literature]

문서협업 방법 (한국공개특허 제 10-2014-0028040 호) Document collaboration method (Korean Patent Laid-Open No. 10-2014-0028040)

본 발명이 해결하고자 하는 과제는 적은 리소스를 사용하여 다수의 클라이언트가 편집할 수 있도록 공유되는 문서 (이하, 공동 편집 문서라 한다.) 를 신속하게 편집할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for sharing a common editing document that can be quickly edited (hereinafter, referred to as a common editing document) so that a plurality of clients can edit the same using a small resource .

본 발명이 해결하고자 하는 다른 과제는 공동 편집 문서를 편집하는 중 새로운 클라이언트가 공동 편집 문서를 공유하는 경우, 추가된 새로운 클라이언트에 갱신된 공동 편집 문서를 신속하게 제공할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공하는 것이다.Another problem to be solved by the present invention is to provide a method and system for sharing a collaborative editing document that can quickly provide an updated collaborative editing document to a new client added when a new client shares a co- A method and an apparatus.

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the above-mentioned problems, and other problems not mentioned can be clearly understood by those skilled in the art from the following description.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치는 공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 (seed) 문서 파일을 적어도 하나의 클라이언트로 송신하는 시드 문서 서버, 적어도 하나의 클라이언트로부터 편집 명령어를 수신하고, 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트 각각으로 송신하는 명령어 전달 서버, 및 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장하는 명령어 저장 서버를 포함한다.According to an aspect of the present invention, there is provided an apparatus for sharing a common editing document, the apparatus including: a seed document file generated based on a document file uploaded to a shared server to be transmitted to at least one client; A command delivery server for receiving an editing command from at least one client and transmitting an editing command to each of the at least one client in accordance with the order in which the editing command is received; And a command storage server for storing edit commands.

본 발명의 다른 특징에 따르면, 편집 명령어를 포함하는 명령어 리스트를 수신하여, 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성하는 엔진-풀 (engine-pool) 서버를 더 포함할 수 있다.According to another aspect of the present invention, an engine-pool server may be further included that receives the list of commands including edit commands and generates an update seed document file based on the seed document file and the list of commands .

본 발명의 또 다른 특징에 따르면, 명령어 저장 서버는 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성하고, 미리 결정된 조건에 따라 명령어 리스트를 엔진-풀 서버로 송신할 수 있다.According to another aspect of the present invention, the instruction storage server stores the edit instruction in the order of reception, generates an instruction list, and transmits the instruction list to the engine-pool server according to a predetermined condition.

본 발명의 또 다른 특징에 따르면, 엔진-풀 서버는 갱신 시드 문서 파일을 시드 문서 서버로 송신하고, 시드 문서 서버는 시드 문서 파일과 함께 갱신 시드 문서 파일을 저장할 수 있다.According to another aspect of the present invention, the engine-pool server transmits the update seed document file to the seed document server, and the seed document server can store the update seed document file together with the seed document file.

본 발명의 또 다른 특징에 따르면, 문서 파일을 공동 편집하도록 시드 문서 서버에 추가 클라이언트가 연결된 경우, 시드 문서 서버는 추가 클라이언트에 갱신 시드 문서 파일을 송신하고, 명령어 저장 서버는 명령어 리스트가 엔진-풀 서버에 송신된 이후 저장된 추가 편집 명령어를 명령어 전달 서버에 전송하고, 명령어 전달 서버는 추가 클라이언트에 추가 편집 명령어를 송신할 수 있다.According to another aspect of the present invention, when an additional client is connected to the seed document server to co-edit the document file, the seed document server sends an update seed document file to the additional client, The additional editing command stored after being transmitted to the server is transmitted to the command delivery server, and the command delivery server can send the additional editing command to the additional client.

본 발명의 또 다른 특징에 따르면, 문서 파일을 적어도 하나의 클라이언트와 공유하고자 하는 공유 신호를 공유 서버가 수신하는 경우, 문서 파일을 기초로 바로가기 파일을 생성하는 바로가기 파일 서버를 더 포함할 수 있다.According to still another aspect of the present invention, there is provided a file sharing apparatus, which can further include a shortcut file server that generates a shortcut file based on a document file when a shared server receives a shared signal to share the document file with at least one client have.

본 발명의 또 다른 특징에 따르면, 바로가기 파일은 시드 문서 파일이 저장된 위치에 대한 정보를 포함하고, 적어도 하나의 클라이언트 각각은 바로가기 파일을 통해 시드 문서 파일을 시드 문서 서버로부터 수신할 수 있다.According to another aspect of the present invention, the shortcut file includes information on the location where the seed document file is stored, and each of the at least one client can receive the seed document file from the seed document server through the shortcut file.

본 발명의 또 다른 특징에 따르면, 적어도 하나의 클라이언트 각각은 시드 문서 파일 및 편집 명령어를 기초로 또는 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 갱신 공동 편집 문서 파일을 생성하는 엔진 (engine) 을 포함할 수 있다.According to another aspect of the present invention, each of the at least one client includes an engine for generating an update collaborative edit document file based on a seed document file and an edit command or based on an update seed document file and a further edit command can do.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법은 공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 문서 파일을 적어도 하나의 클라이언트로 송신하는 단계, 적어도 하나의 클라이언트로부터 편집 명령어를 수신하는 단계, 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트 각각으로 송신하는 단계, 및 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of sharing a common editing document, the method comprising: transmitting a seed document file generated based on a document file uploaded to a shared server to at least one client; Receiving an edit command from at least one client, transmitting an edit command to each of the at least one client in accordance with the order in which the edit command was received, and storing the edit command in response to the order in which the edit command was received .

본 발명의 다른 특징에 따르면, 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성하는 단계, 및 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a method of generating an update seed document file, the method comprising: generating an instruction list by storing edit commands in an order of reception; and generating an update seed document file based on the seed document file and the instruction list.

본 발명의 또 다른 특징에 따르면, 문서 파일을 공동 편집하도록 추가 클라이언트가 연결된 경우, 추가 클라이언트에 갱신 시드 문서 파일을 송신하는 단계, 및 추가 클라이언트에 갱신 시드 문서 파일이 생성된 이후 저장된 추가 편집 명령어를 송신하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a method of editing a document file, comprising: sending an update seed document file to an additional client when an additional client is connected to cooperate with the document file; The method may further include the step of transmitting.

본 발명의 또 다른 특징에 따르면, 시드 문서 파일을 적어도 하나의 클라이언트로 송신하는 단계는, 문서 파일을 기초로 생성된 바로가기 파일을 통해 연결된 적어도 하나의 클라이언트로 시드 문서 파일을 송신하는 단계일 수 있다.According to another aspect of the present invention, transmitting the seed document file to the at least one client may comprise transmitting the seed document file to at least one client connected through a shortcut file generated based on the document file have.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법을 제공하는 명령어들을 저장하는 컴퓨터 판독 가능 기록매체는 공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 문서 파일을 적어도 하나의 클라이언트로 송신하고, 적어도 하나의 클라이언트로부터 편집 명령어를 수신하고, 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트 각각으로 송신하고, 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장한다.According to an aspect of the present invention, there is provided a computer-readable recording medium storing instructions for providing a method of sharing a common editing document, Receiving an editing command from at least one client; transmitting an editing command to each of the at least one client in response to an order in which an editing command is received; Correspondingly, the editing command is stored.

기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명은 적은 리소스를 사용하여 다수의 클라이언트가 편집할 수 있도록 공유되는 문서를 신속하게 편집할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공할 수 있는 효과가 있다.The present invention provides a method and apparatus for sharing a common editing document that can quickly edit a shared document so that a plurality of clients can edit it using a small amount of resources.

본 발명은 공동 편집 문서를 편집하는 중 새로운 클라이언트가 공동 편집 문서를 공유하는 경우, 추가된 새로운 클라이언트에 갱신된 공동 편집 문서를 신속하게 제공할 수 있는 공동 편집 문서를 공유하는 방법 및 장치를 제공할 수 있는 효과가 있다.The present invention provides a method and apparatus for sharing a collaborative editing document that can quickly provide an updated collaborative editing document to a new client added when a new client shares a collaborative editing document while editing the collaborative editing document There is an effect that can be.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the specification.

도 1은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치와 공유 서버, 바로가기 파일 서버 및 클라이언트 사이의 관계를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 따라 공동 편집 문서 파일을 공유하기 위한 절차를 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 5는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다.
도 6a 및 도 6b는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 예시적인 출력 화면을 도시한 것이다.
도 7은 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다.
도 8a 및 도 8b는 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.
FIG. 1 illustrates a relationship between a device sharing a common editing document, a shared file server, a shortcut file server, and a client according to an embodiment of the present invention.
FIG. 2 illustrates a procedure for sharing a common editing document file according to a method of sharing a common editing document according to an embodiment of the present invention.
FIG. 3 illustrates a configuration of a device sharing a common editing document according to an embodiment of the present invention and a relationship between clients.
Figures 4A and 4B illustrate exemplary output screens of a client's engine and client sharing a collaborative edited document by a method of sharing a collaborative editing document in accordance with an embodiment of the present invention.
FIG. 5 illustrates a configuration of a device sharing a common editing document according to another embodiment of the present invention and a relationship between the clients.
6A and 6B illustrate exemplary output screens of a client sharing a collaborative editing document by a method of sharing a collaborative editing document in accordance with another embodiment of the present invention.
FIG. 7 illustrates a configuration of a device sharing a common editing document and a relationship among clients according to another embodiment of the present invention.
8A and 8B illustrate an exemplary output screen of an engine and client of a client sharing a common editing document by a method of sharing a common editing document according to another embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.

본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다. The shapes, sizes, ratios, angles, numbers, and the like disclosed in the drawings for describing the embodiments of the present invention are illustrative, and thus the present invention is not limited thereto. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Where the terms "comprises", "having", "done", and the like are used in this specification, other portions may be added unless "only" is used. Unless the context clearly dictates otherwise, including the plural unless the context clearly dictates otherwise.

구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the constituent elements, it is construed to include the error range even if there is no separate description.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are used only to distinguish one component from another. Therefore, the first component mentioned below may be the second component within the technical spirit of the present invention.

별도로 명시하지 않는 한 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. Like reference numerals refer to like elements throughout the specification unless otherwise specified.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.It is to be understood that each of the features of the various embodiments of the present invention may be combined or combined with each other partially or entirely and technically various interlocking and driving is possible as will be appreciated by those skilled in the art, It may be possible to cooperate with each other in association.

이하, 본 명세서에서 사용되는 용어에 대해 정의한다.Hereinafter, terms used in this specification will be defined.

본 명세서에서 시드 문서 파일이란, 클라이언트가 공동으로 편집하고자 하는 문서 파일(이하, 공동 편집 문서 파일)에 대응하는 편집용 파일로서, 편집 명령어가 적용되기 이전에 클라이언트가 공유하는 편집용 문서 파일을 의미한다. 이러한 시드 문서 파일은 공동 편집 문서를 공유하는 장치에 저장되어 있다가 클라이언트가 문서 파일의 공유를 요청하는 경우 클라이언트로 송신될 수 있다.In the present specification, the seed document file is an editing file corresponding to a document file (hereinafter, collectively edited document file) to be jointly edited by the client, and means an editing document file shared by the client before the editing command is applied do. Such a seed document file is stored in a device sharing a common editing document, and can be transmitted to the client when the client requests sharing of the document file.

본 명세서에서 편집 명령어란, 클라이언트에서 공유하는 문서를 편집하는 명령어로서, 공동 편집 문서에 입력되는 다양한 명령어를 포함한다. 예를 들어, 편집 명령어는 공동 편집 문서의 적어도 일부 내용을 삭제하는 삭제 명령어 및 그림과 같은 객체를 삽입하는 삽입 명령어 등을 포함할 수 있다. 임의의 클라이언트에서 입력한 편집 명령어는 공동 편집 문서를 공유하는 장치로 송신된 후 공동 편집 문서를 공유하는 장치에 연결된 클라이언트로 송신될 수 있다. In the present specification, an editing command is an instruction for editing a document shared by a client, and includes various commands to be inputted into a common editing document. For example, the edit command may include a delete command for deleting at least some contents of the co-edited document, an insert command for inserting an object such as a picture, and the like. Editing commands entered at any client may be sent to a device that shares a collaborative editing document and then to a client connected to a device sharing the collaborative editing document.

본 명세서에서 명령어 리스트란, 편집 명령어를 수신하여 미리 정해진 규칙에 따라 수신한 편집 명령어를 저장한 리스트이다. 예를 들어, 명령어 리스트는 갱신 조건이 충족되기 전까지 수신된 편집 명령어를 저장한 리스트일 수 있다.In this specification, the command list is a list storing editing commands received in accordance with a predetermined rule upon receipt of an editing command. For example, the command list may be a list storing edit commands received until the update condition is satisfied.

본 명세서에서 추가 클라이언트란, 문서 파일에 대한 편집 명령어가 공동 편집 문서를 공유하는 장치에 적어도 하나 입력된 이후, 공동 편집 문서를 공유하는 장치에 연결된 클라이언트를 의미한다. 즉, 추가 클라이언트는 이미 공동 편집 문서를 공유하는 장치에 연결된 클라이언트가 시드 문서 파일을 편집한 이후 공동 편집 문서를 공유하는 장치에 연결된 클라이언트를 의미한다.Herein, the additional client means a client connected to a device sharing a common editing document after at least one editing command for the document file is inputted to the device sharing the common editing document. That is, the additional client means a client connected to a device sharing a common editing document after a client connected to a device that already shares a common editing document edits the seed document file.

도 1은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치와 공유 서버, 바로가기 파일 서버 및 클라이언트 사이의 관계를 도시한 것이다.FIG. 1 illustrates a relationship between a device sharing a common editing document, a shared file server, a shortcut file server, and a client according to an embodiment of the present invention.

도 1을 참조하면, 공동 편집 문서를 공유하는 장치 (이하, 공동 편집 문서 공유 장치) (100) 는 시드 문서 서버 (110), 명령어 전달 서버 (120), 명령어 저장 서버 (130) 및 엔진-풀 (engine-pool) 서버 (140) 를 포함한다. 공동 편집 문서 공유 장치 (100) 는 적어도 하나의 클라이언트 (900) 및 추가 클라이언트 (910) 와 통신 가능하도록 연결될 수 있다. 또한, 공동 편집 문서 공유 장치 (100) 는 공유 서버 (1000) 및 바로가기 파일 서버 (1200) 와도 통신 가능하도록 연결될 수 있다.Referring to FIG. 1, a device sharing a common editing document (hereinafter referred to as a common editing document sharing device) 100 includes a seed document server 110, a command delivery server 120, a command storage server 130, and an engine-pool server 140. The co-editing document sharing device 100 may be communicably connected to at least one client 900 and an additional client 910. [ In addition, the co-edited document sharing device 100 may be connected to the shared server 1000 and the shortcut file server 1200 so that they can communicate with each other.

시드 문서 서버 (110) 는 시드 문서 파일 및 갱신 시드 문서 파일을 저장하고, 엔진-풀 서버 (140) 에 시드 문서 파일을 제공할 수 있다.The seed document server 110 may store the seed document file and the update seed document file, and may provide the seed document file to the engine-pool server 140.

명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 수신하여 다시 적어도 하나의 클라이언트 (900) 로 편집 명령어를 송신한다. 예를 들어, 명령어 전달 서버 (120) 는 제2 클라이언트 (902) 로부터 수신한 편집 명령어를 적어도 하나의 클라이언트 (900) 모두에 송신한다. 또한, 명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 로부터 수신한 편집 명령어를 명령어 저장 서버 (130) 로 전송한다.The command delivery server 120 receives an edit command from at least one client 900 and transmits the edit command to at least one client 900 again. For example, the command delivery server 120 transmits the edit command received from the second client 902 to all of the at least one client 900. In addition, the command delivery server 120 transmits the edit command received from at least one client 900 to the command storage server 130.

명령어 저장 서버 (130) 는 명령어 전달 서버 (120) 로부터 전송된 편집 명령어들을 저장한다. 구체적으로, 명령어 저장 서버 (130) 는 명령어 전달 서버 (120) 가 전송한 순서대로 편집 명령어들을 저장할 수 있다. 여기서, 명령어 전달 서버 (120) 가 전송한 순서는 명령어 전달 서버 (120) 가 편집 명령어를 수신한 순서와 동일할 수 있다. 나아가, 명령어 저장 서버 (130) 는 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성할 수 있고, 미리 결정된 조건에 따라 명령어 리스트를 엔진-풀 서버 (140) 로 송신할 수 있다.The command storage server 130 stores edit commands sent from the command delivery server 120. [ In particular, the command storage server 130 may store edit commands in the order transmitted by the command delivery server 120. Here, the order transmitted by the command delivery server 120 may be the same as the order in which the command delivery server 120 receives the edit command. Further, the instruction storage server 130 may store the edit instructions in the order in which they were received to generate the instruction list, and may transmit the instruction list to the engine-pool server 140 according to a predetermined condition.

엔진-풀 서버 (140) 는 시드 문서 서버 (110) 로부터 시드 문서 파일을 수신하고, 명령어 저장 서버 (130) 로부터 명령어 리스트를 수신하여, 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성한다. 또한, 엔진-풀 서버 (140) 는 갱신 시드 문서 파일을 다시 시드 문서 서버 (110) 로 전송한다.The engine-pool server 140 receives the seed document file from the seed document server 110, receives the instruction list from the instruction storage server 130, and generates an updated seed document file based on the seed document file and the instruction list do. In addition, the engine-pool server 140 transmits the updated seed document file to the seed document server 110 again.

도 1을 참조하면, 적어도 하나의 클라이언트 (900) 는 제1 클라이언트 (901), 제2 클라이언트 (902) 및 제3 클라이언트 (903) 를 포함한다. 도 1에는 적어도 하나의 클라이언트 (900) 가 3개의 클라이언트를 포함하는 것으로 도시되었으나, 적어도 하나의 클라이언트 (900) 에 포함되는 클라이언트의 수는 이에 제한되지 않는다. Referring to FIG. 1, at least one client 900 includes a first client 901, a second client 902, and a third client 903. Although at least one client 900 is shown as including three clients in FIG. 1, the number of clients included in at least one client 900 is not limited thereto.

도 1을 참조하면, 적어도 하나의 클라이언트 (900) 는 공유 서버 (1000) 에 문서 파일을 업로드할 수 있다. 구체적으로, 적어도 하나의 클라이언트 (900) 중 임의의 하나의 클라이언트, 예를 들어, 제1 클라이언트 (901) 가 공유 서버 (1000) 에 공유하고자 하는 문서 파일을 업로드할 수 있다. 이하, 제1 클라이언트 (901) 가 공유 서버 (1000) 에 문서 파일을 업로드한 경우를 기준으로 공동 편집 문서를 공유하는 방법을 설명한다.Referring to FIG. 1, at least one client 900 may upload a document file to the shared server 1000. Specifically, any one of the at least one client 900, for example, the first client 901, may upload a document file to be shared with the shared server 1000. [ Hereinafter, a method of sharing a common editing document based on the case where the first client 901 uploads a document file to the shared server 1000 will be described.

또한, 적어도 하나의 클라이언트 (900) 각각은 시드 문서 파일 및 편집 명령어를 기초로 하거나 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 갱신 공동 편집 문서 파일을 생성하는 엔진 (engine) 을 포함한다. 적어도 하나의 클라이언트 (900) 각각에 포함된 엔진의 구체적인 기능에 대해서는 도 4 및 도 8을 참조하여 후술한다.Also, each of the at least one client 900 includes an engine that is based on the seed document file and the edit command, or that generates an update common edit document file based on the update seed document file and further edit instructions. Specific functions of the engine included in each of the at least one client 900 will be described later with reference to FIGS. 4 and 8. FIG.

도 1을 참조하면, 공유 서버 (1000) 는 공동 편집 문서 공유 장치 (100) 에 문서 파일에 관한 정보를 제공할 수 있다. 예를 들어, 공유 서버 (1000) 는 문서 파일을 복사하여 공동 편집 문서 공유 장치 (100) 에 시드 문서 파일을 제공할 수 있다.Referring to FIG. 1, a shared server 1000 may provide information about a document file to a collaborative editing document sharing apparatus 100. [0050] Referring to FIG. For example, the shared server 1000 may copy the document file and provide the seed document file to the co-edited document sharing device 100. [

도 1을 참조하면, 바로가기 파일 서버 (1200) 는 공유 서버 (1000) 와 통신 가능하도록 연결된다. 구체적으로, 바로가기 파일 서버 (1200) 는 공유 서버 (1000) 에 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 예를 들어, 제1 클라이언트 (901) 가 문서 파일을 다른 클라이언트들과 공유하고자 하는 공유 신호를 공유 서버 (1000) 가 수신하는 경우, 바로가기 파일 서버 (1200) 는 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 바로가기 파일에 대한 구체적인 설명은 도 7 및 도 8을 참조하여 후술한다.Referring to FIG. 1, a shortcut file server 1200 is communicably connected to a shared server 1000. Specifically, the shortcut file server 1200 generates a shortcut file based on the document file uploaded to the shared server 1000. For example, when the first client 901 receives a shared signal to share a document file with other clients, the short file server 1200 directly Create a top file. A detailed description of the shortcut file will be given later with reference to FIGS. 7 and 8. FIG.

이에 따라, 명령어의 전달과 시드 문서 파일의 갱신을 이원화한 명령어 전달 서버 (120) 및 엔진-풀 서버 (140) 를 포함하는 공동 편집 문서 공유 장치 (100) 는 하나의 서버를 통해 편집 명령어가 수신될 때마다 공동 문서 파일이 갱신되는 경우 발생하는 서버의 리소스 낭비와 공동 문서 파일의 갱신 속도 및 성능의 저하를 개선할 수 있다. Accordingly, the collaborative editing document sharing device 100 including the command delivery server 120 and the engine-pool server 140, in which commands are transferred and the seed document file is updated, It is possible to reduce the waste of resources of the server, the speed of updating the common document file and the deterioration of the performance, which are caused when the common document file is updated every time the common document file is updated.

공동 편집 문서 공유 장치 (100) 의 각 구성들은 설명의 편의상 개별적인 구성으로 도시한 것일 뿐, 구현 방법에 따라 하나의 구성으로 구현되거나 하나의 구성이 2 이상의 구성으로 분리될 수 있다.Each component of the co-edited document sharing device 100 is shown as an individual component for the sake of convenience of explanation, and may be implemented as one component or separate components into two or more components according to an implementation method.

도 2는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 따라 공동 편집 문서 파일을 공유하기 위한 절차를 도시한 것이다. 도 3은 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다. 설명의 편의를 위해 도 1을 참조하여 설명한다.FIG. 2 illustrates a procedure for sharing a common editing document file according to a method of sharing a common editing document according to an embodiment of the present invention. FIG. 3 illustrates a configuration of a device sharing a common editing document according to an embodiment of the present invention and a relationship between clients. Will be described with reference to Fig. 1 for convenience of explanation.

본 발명에 따른 공동 편집 문서를 공유하는 방법은 시드 문서 서버 (110) 가 공유 서버 (1000) 에 업로드된 문서 파일을 기초로 생성된 시드 문서 파일을 적어도 하나의 클라이언트 (900) 로 송신함으로써 개시된다 (S210). A method of sharing a collaborative editing document according to the present invention is initiated by a seed document server 110 transmitting a seed document file generated based on a document file uploaded to a shared server 1000 to at least one client 900 (S210).

도 3을 참조하면, 시드 문서 서버 (110) 는 시드 문서 파일을 저장하고, 공동 편집 문서 공유 장치 (100) 에 연결되어 공동 편집을 요청한 클라이언트에 시드 문서 파일을 송신한다. 구체적으로, 시드 문서 서버 (110) 는 복수의 시드 문서 파일을 저장할 수 있다. 예를 들어, 클라이언트의 요청에 의해 시드 문서 파일이 생성되면 시드 문서 서버 (110) 는 생성된 시드 문서 파일을 저장한다. Referring to FIG. 3, the seed document server 110 stores a seed document file, and is connected to the collaborative editing document sharing apparatus 100 to transmit a seed document file to a client requesting cooperative editing. Specifically, the seed document server 110 may store a plurality of seed document files. For example, when the seed document file is generated by a request from the client, the seed document server 110 stores the generated seed document file.

또한, 시드 문서 서버 (110) 는 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일이 생성되면, 갱신 시드 문서 파일도 저장할 수 있다. 예를 들어, 제1 시드 문서 파일 (111) 이 클라이언트의 요청에 의해 생성되면 제1 시드 문서 파일 (111) 은 시드 문서 서버 (110) 에 저장되고, 제1 시드 문서 파일 (111) 및 명령어 리스트를 기초로 갱신 시드 문서 파일인 제2 시드 문서 파일이 생성되면 제2 시드 문서 파일도 시드 문서 서버 (110) 에 저장된다. 이에 따라, 시드 문서 서버 (110) 는 적어도 하나의 시드 문서 파일을 저장할 수 있다.The seed document server 110 can also store the updated seed document file when the updated seed document file is generated based on the seed document file and the command list. For example, when the first seed document file 111 is generated at the request of the client, the first seed document file 111 is stored in the seed document server 110, and the first seed document file 111 and the instruction list The second seed document file is also stored in the seed document server 110. When the second seed document file is the update seed document file, Accordingly, the seed document server 110 can store at least one seed document file.

도 3을 참조하면, 시드 문서 서버 (110) 는 저장한 시드 문서 파일을 적어도 하나의 클라이언트 (900) 에 송신할 수 있다. 구체적으로, 적어도 하나의 클라이언트 (900) 가 문서 파일을 공유하고자 하는 경우, 시드 문서 서버 (110) 는 공유 요청한 문서 파일에 대응하는 시드 문서 파일을 클라이언트에 송신할 수 있다. 시드 문서 서버 (110) 가 시드 문서 파일을 클라이언트에 송신하는 구체적인 과정에 대해서는 도 5 및 도 6을 참조하여 후술한다.Referring to FIG. 3, the seed document server 110 may transmit the stored seed document file to at least one client 900. Specifically, when at least one client 900 wishes to share a document file, the seed document server 110 may send a seed document file corresponding to the document file requested to be shared to the client. A specific process by which the seed document server 110 transmits the seed document file to the client will be described later with reference to FIG. 5 and FIG.

나아가, 시드 문서 서버 (110) 는 공동 편집 문서 공유 장치 (100) 에 연결되어 있는 클라이언트 이외에 추가로 공동 편집을 요청하여 공동 편집 문서 공유 장치 (100) 에 연결된 추가 클라이언트 (910) 에 갱신 시드 문서 파일을 송신할 수 있다. 추가 클라이언트 (910) 에 갱신 시드 문서를 송신하는 구체적인 과정에 대해서는 도 7 및 도 8을 참조하여 후술한다.Further, the seed document server 110 may request additional editing in addition to the client connected to the collaborative editing document sharing apparatus 100, so that the additional client 910 connected to the collaborative editing document sharing apparatus 100 may update the seed document file Can be transmitted. A specific process of transmitting the update seed document to the additional client 910 will be described later with reference to FIG. 7 and FIG.

이어서, 명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 수신한다 (S220). 이어서, 명령어 전달 서버 (120) 는 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트 (900) 각각으로 송신한다 (S230).Then, the command delivery server 120 receives an edit command from at least one client 900 (S220). Subsequently, the command delivery server 120 transmits an edit command to each of the at least one client 900 in accordance with the order in which the edit command is received (S230).

도 3을 참조하면, 명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 중 어느 하나로부터 편집 명령어를 수신하면 곧바로 적어도 하나의 클라이언트 (900) 에 포함된 모든 클라이언트 각각에 수신한 편집 명령어를 송신한다. 예를 들어, 제1 클라이언트 (901) 가 제1 편집 명령어 (131) 를 입력하면 명령어 전달 서버 (120) 는 제1 편집 명령어 (131) 를 수신하여 적어도 하나의 클라이언트 (900) 각각으로 송신한다. 나아가, 제1 클라이언트 (901) 가 제2 편집 명령어 (132) 및 제3 편집 명령어 (133) 를 순서대로 입력하면 명령어 전달 서버 (120) 는 편집 명령어를 수신한 순서에 대응하여 제2 편집 명령어 (132) 를 먼저 적어도 하나의 클라이언트 (900) 각각으로 송신하고 그 다음 제3 편집 명령어 (133) 를 적어도 하나의 클라이언트 (900) 각각에 송신한다. 도 3에서는 제1 클라이언트 (901) 로부터 편집 명령어가 전달되는 것으로 도시되었으나, 이에 제한되지 않고 편집 명령어는 적어도 하나의 클라이언트 (900) 각각으로부터 임의로 송신될 수 있다. 3, when the command delivery server 120 receives an edit command from one of the at least one client 900, the command delivery server 120 transmits the edit command received to all the clients included in the at least one client 900 do. For example, when the first client 901 inputs the first edit command 131, the command delivery server 120 receives the first edit command 131 and transmits the first edit command 131 to each of the at least one client 900. When the first client 901 sequentially inputs the second edit command 132 and the third edit command 133, the command delivery server 120 transmits a second edit command 132 to each of the at least one client 900 and then transmits the third edit command 133 to each of the at least one client 900. [ In FIG. 3, an edit command is transmitted from the first client 901, but the present invention is not limited thereto. The edit command may be arbitrarily transmitted from each of the at least one client 900.

또한, 명령어 전달 서버 (120) 는 수신한 순서대로 편집 명령어를 명령어 저장 서버 (130) 에 전송한다. 예를 들어, 적어도 하나의 클라이언트 (900) 각각으로부터 제1 편집 명령어 (131), 제2 편집 명령어 (132) 및 제3 편집 명령어 (133) 순서로 명령어 전달 서버 (120) 가 편집 명령어를 수신한 경우, 명령어 전달 서버 (120) 도 편집 명령어를 제1 편집 명령어 (131), 제2 편집 명령어 (132) 및 제3 편집 명령어 (133) 순서로 명령어 저장 서버 (130) 에 전송한다.In addition, the command delivery server 120 transmits an edit command to the command storage server 130 in the order received. For example, when the command delivery server 120 receives an edit command from the at least one client 900 in the order of the first edit command 131, the second edit command 132, and the third edit command 133 The command delivery server 120 also transmits the edit command to the command storage server 130 in the order of the first edit command 131, the second edit command 132, and the third edit command 133.

이에 따라, 적어도 하나의 클라이언트 (900) 각각은 명령어 전달 서버 (120) 를 통해 편집 명령어를 실시간으로 수신하고, 적어도 하나의 클라이언트 (900) 각각이 갖고 있는 시드 문서 파일에 편집 명령어를 적용하여 실시간으로 갱신 공동 편집 문서를 생성할 수 있다. 적어도 하나의 클라이언트 (900) 각각이 갱신 공동 편집 문서를 생성하는 구체적인 과정에 대해서는 도 4를 참조하여 후술한다.Accordingly, each of the at least one client 900 receives the edit command in real time through the command delivery server 120, applies the edit command to the seed document file held by each of the at least one client 900, Update common edit document can be generated. A specific process by which at least one client 900 generates an update common editing document will be described later with reference to FIG.

이어서, 명령어 저장 서버 (130) 는 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장한다 (S240).Then, the command storage server 130 stores the edit command in accordance with the order in which the edit command is received (S240).

여기서, 명령어 전달 서버 (120) 가 명령어 저장 서버 (130) 로 편집 명령어를 송신하는 단계는 명령어 전달 서버 (120) 가 적어도 하나의 클라이언트 (900) 에 편집 명령어를 송신하는 단계와 동시에 이루어질 수도 있다. Here, the step of the command delivery server 120 transmitting the edit command to the command storage server 130 may be concurrent with the step of the command delivery server 120 transmitting the edit command to the at least one client 900.

또한, 명령어 저장 서버 (130) 는 편집 명령어를 수신한 순서대로 명령어 리스트를 생성하여 편집 명령어를 저장할 수 있다. 나아가, 명령어 저장 서버 (130) 는 미리 결정된 조건에 의해 저장된 편집 명령어 또는 명령어 리스트를 엔진-풀 서버 (140) 로 전송할 수 있다. 명령어 저장 서버 (130) 및 엔진-풀 서버 (140) 사이에서 편집 명령어 및 명령어 리스트의 구체적인 전송 관계에 대해서는 도 7 및 도 8을 참조하여 후술한다.In addition, the command storage server 130 may generate an instruction list in the order in which the edit commands are received, and store the edit commands. Further, the instruction storage server 130 may transmit an edit command or a list of commands stored by predetermined conditions to the engine-pool server 140. [ Specific transmission relations of the edit command and the command list between the command storage server 130 and the engine-pool server 140 will be described later with reference to FIG. 7 and FIG.

이에 따라, 공동 편집 문서 공유 장치 (100) 는 편집 명령어를 명령어 전달 서버 (120) 를 통해 곧바로 적어도 하나의 클라이언트 (900) 에 전송함으로써, 적은 처리 부하 및 적은 리소스 사용만으로 효율적으로 문서 파일을 공동 편집하고 갱신할 수 있다. 또한, 공동 편집 문서 공유 장치 (100) 는 수신한 편집 명령어를 순서대로 명령어 저장 서버 (130) 에 저장함으로써, 문서 파일을 공동 편집하고자 하는 클라이언트가 추가적으로 연결되더라도 편집 명령어를 기초로 최신의 갱신 공동 편집 문서를 추가 클라이언트 (910) 에 제공할 수 있다.Accordingly, the co-edited document sharing apparatus 100 can send an editing command to the at least one client 900 directly through the command delivery server 120, thereby efficiently editing the document file with a small processing load and a small resource usage And update it. In addition, the common editing document sharing device 100 stores the received editing command in order in the command storage server 130, so that even if a client to edit the document file is additionally connected, A document may be provided to the additional client 910. [

도 4a 및 도 4b는 본 발명의 일 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.Figures 4A and 4B illustrate exemplary output screens of a client's engine and client sharing a collaborative edited document by a method of sharing a collaborative editing document in accordance with an embodiment of the present invention.

도 4a를 참조하면, 적어도 하나의 클라이언트 (900) 각각은 엔진 (940) 을 포함한다. 엔진 (940) 은 시드 문서 파일 및 편집 명령어를 기초로 갱신 공동 편집 문서를 생성한다. 예를 들어, 적어도 하나의 클라이언트 (900) 각각이 제1 시드 문서 파일 (111) 을 갖고 공동 편집하는 경우, 적어도 하나의 클라이언트 (900) 각각에서 엔진 (940) 은 수신한 제1 편집 명령어 (131) 를 제1 시드 문서 파일 (111) 에 적용하여 갱신 공동 편집 문서를 생성한다. 즉, 적어도 하나의 클라이언트 (900) 각각은 편집 명령어를 수신할 때마다 엔진 (940) 을 통해 시드 문서 파일을 기초로 갱신 공동 편집 문서를 생성하여 출력할 수 있다. Referring to FIG. 4A, each of the at least one client 900 includes an engine 940. Engine 940 generates an update common edit document based on the seed document file and the edit command. For example, if each of the at least one client 900 has a first seed document file 111 and co-edits, the engine 940 in each of the at least one client 900 receives the received first edit command 131 ) To the first seed document file 111 to generate an update common edit document. That is, each of the at least one client 900 can generate and output an update common edit document based on the seed document file through the engine 940 each time it receives an edit command.

도 4b를 참조하면, 공동 편집 문서 출력 화면 (400) 이 적어도 하나의 클라이언트 (900) 각각에 출력된다. 구체적으로, 공동 편집 문서 출력 화면 (400) 은 시드 문서 파일을 출력하고, 시드 문서 파일에 편집 명령어가 적용되어 생성된 갱신 공동 편집 문서를 출력할 수도 있다. 예를 들어, 제1 공동 편집 문서 출력 화면 (401) 은 제1 시드 문서 파일 (111) 을 출력한다. 이후, 적어도 하나의 클라이언트 (900) 각각이 제1 편집 명령어 (431) 를 수신하면, 제2 공동 편집 문서 출력 화면 (402) 은 엔진 (940) 을 통해 제1 시드 문서 파일 (111) 및 제1 편집 명령어 (431) 를 기초로 생성된 갱신 공동 편집 문서를 출력한다.Referring to FIG. 4B, a joint editing document output screen 400 is output to each of at least one client 900. Specifically, the common editing document output screen 400 may output a seed document file, and output an updated common editing document generated by applying an editing command to the seed document file. For example, the first common editing document output screen 401 outputs the first seed document file 111. [ Thereafter, when each of the at least one client 900 receives the first edit command 431, the second common editing document output screen 402 displays the first seed document file 111 and the first seed document file 111 through the engine 940, And outputs the generated update common edit document based on the edit command 431. [

이에 따라, 명령어 전달 서버 (120) 로부터 송신된 편집 명령어들은 적어도 하나의 클라이언트 (900) 각각에서 엔진 (940) 에 의해 시드 문서 파일에 적용되어, 적어도 하나의 클라이언트 (900) 각각은 갱신 공동 편집 문서를 생성하여 실시간으로 전송된 편집 명령어들을 적용한 갱신 공동 편집 문서를 출력할 수 있다. Accordingly, the edit commands sent from the command delivery server 120 are applied to the seed document file by the engine 940 at each of the at least one client 900, such that each of the at least one client 900 has an update common edit document And output an update common editing document to which editing commands transmitted in real time are applied.

본 발명의 실시예에 따른 명령어 전달 서버 (120) 는 편집 명령어를 시드 문서 파일에 적용시켜 갱신 공동 편집 문서를 생성하는 엔진을 포함하지 않고 편집 명령어를 수신하는대로 적어도 하나의 클라이언트 (900) 로 전송할 수 있다. 이에 따라, 공동 편집 문서 공유 장치 (100) 는 공동 편집 문서를 생성하기 위한 엔진을 위한 리소스 및 부하를 절감할 수 있고, 편집 명령어를 실시간으로 적어도 하나의 클라이언트 (900) 각각에 송신할 수 있다. 즉, 공동 편집 문서 공유 장치 (100) 를 통해 적어도 하나의 클라이언트 (900) 각각은 보다 신속하게 공동 편집 문서를 출력할 수 있다.The command delivery server 120 according to an embodiment of the present invention does not include an engine for applying an edit command to a seed document file to generate an update common edit document and transmits the edit command to at least one client 900 upon receiving the edit command . Accordingly, the co-edited document sharing apparatus 100 can reduce the resources and the load for the engine for generating the co-edited document, and can transmit the editing command to each of the at least one client 900 in real time. That is, through the cooperative editing document sharing device 100, each of the at least one client 900 can output the cooperative editing document more quickly.

도 5는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다. 도 5는 시드 문서 파일이 생성되고 클라이언트에 송신되는 과정을 도시한 것으로서, 도 3을 참조하여 이미 설명된 구성요소에 대한 중복 설명을 생략한다.FIG. 5 illustrates a configuration of a device sharing a common editing document according to another embodiment of the present invention and a relationship between the clients. 5 shows a process in which a seed document file is generated and transmitted to a client, and redundant description of the components already described with reference to FIG. 3 is omitted.

도 5를 참조하면, 적어도 하나의 클라이언트 (900) 중 어느 하나는 공유 서버 (1000) 에 문서 파일을 업로드한다. 공유 서버 (1000) 가 공유 신호를 수신하는 경우, 공유 서버 (1000) 는 업로드된 문서 파일을 바로가기 파일 서버 (1200) 로 전송할 수 있다. 또한, 공유 서버 (1000) 는 업로드된 문서 파일을 복사하여 시드 문서 파일을 생성하고, 시드 문서 파일을 시드 저장 서버 (110) 에 송신할 수 있다. 이에, 시드 문서 파일은 시드 저장 서버 (110) 에 저장되고, 바로가기 파일 서버 (1200) 는 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 여기서, 바로가기 파일은 시드 문서 파일이 저장된 위치에 대한 정보를 포함한다. 구체적으로, 바로가기 파일은 대응하는 문서 파일을 기초로 생성된 시드 문서 파일이 저장된 시드 저장 서버 (110) 의 주소, 시드 저장 서버 (110) 내에서 저장된 구체적인 위치에 대한 정보를 포함할 수 있다.Referring to FIG. 5, at least one client 900 uploads a document file to the shared server 1000. When the shared server 1000 receives the shared signal, the shared server 1000 may transmit the uploaded document file to the shortcut file server 1200. The shared server 1000 may copy the uploaded document file to generate a seed document file and send the seed document file to the seed storage server 110. [ The seed document file is stored in the seed storage server 110, and the shortcut file server 1200 generates a shortcut file based on the uploaded document file. Here, the shortcut file includes information on the position where the seed document file is stored. Specifically, the shortcut file may include an address of the seed storage server 110 in which the seed document file generated based on the corresponding document file is stored, and information on the specific location stored in the seed storage server 110.

도 5를 참조하면, 적어도 하나의 클라이언트 (900) 각각은 바로가기 파일을 통해 시드 문서 파일을 시드 문서 서버 (110) 로부터 수신한다. 구체적으로, 적어도 하나의 클라이언트 (900) 가 공유 서버 (1000) 에 업로드된 문서 파일을 공유하는 경우, 적어도 하나의 클라이언트 (900) 는 업로드된 문서 파일을 직접 공유하지 않고, 바로가기 파일을 통해 시드 문서 파일을 수신한다. 이에 따라, 적어도 하나의 클라이언트 (900) 각각은 수신한 시드 문서 파일을 기초로 공동 편집을 하고, 공동 편집을 위해 입력한 편집 명령어를 명령어 전달 서버 (120) 로 송신한다. 적어도 하나의 클라이언트 (900) 가 바로가기 파일을 통해 시드 문서 파일을 공유하는 구체적인 태양에 대해서는 도 6을 참조하여 후술한다.Referring to FIG. 5, each of the at least one client 900 receives a seed document file from the seed document server 110 via a shortcut file. Specifically, when at least one client 900 shares a document file uploaded to the shared server 1000, at least one client 900 does not directly share the uploaded document file, Receive the document file. Accordingly, each of the at least one client 900 performs a cooperative edit based on the received seed document file, and transmits the edited command entered for cooperative editing to the command delivery server 120. [ A specific mode in which at least one client 900 shares a seed document file via a shortcut file will be described later with reference to FIG.

본 발명의 실시예에 따른 공동 편집 문서 공유 장치 (100) 는 공동 편집을 위한 시드 문서 파일을 저장하고 적어도 하나의 클라이언트 (900) 로 송신함으로써, 공유 서버 (1000) 에 실제로 업로드된 문서 파일과 별개로 공동 편집을 위한 문서 파일을 저장할 수 있다. 즉, 문서 파일을 업로드한 클라이언트는 공동 편집을 위한 문서 파일과 개인 소유의 문서 파일을 분리하여 관리할 수 있게 된다. The common editing document sharing apparatus 100 according to the embodiment of the present invention stores a seed document file for collaborative editing and transmits the seed document file to at least one client 900, You can save the document file for collaborative editing. That is, the client who uploaded the document file can separately manage the document file for co-editing and the document file of the private ownership.

도 6a 및 도 6b는 본 발명의 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 예시적인 출력 화면을 도시한 것이다.6A and 6B illustrate exemplary output screens of a client sharing a collaborative editing document by a method of sharing a collaborative editing document in accordance with another embodiment of the present invention.

도 6a를 참조하면, 공동 편집 문서 출력 화면 (610) 은 임의의 클라이언트에서 출력되는 문서 파일을 표시한다. 또한, 공동 편집 문서 출력 화면 (610) 은 공유 버튼 (611) 을 표시한다. 이에, 임의의 클라이언트의 사용자는 현재 출력되고 있는 문서 파일에서 공유 버튼 (611) 을 클릭하여 공유 신호를 공유 서버 (1000) 로 송신할 수 있다. Referring to FIG. 6A, the common editing document output screen 610 displays a document file output from an arbitrary client. Also, the co-edited document output screen 610 displays the share button 611. [ Accordingly, a user of a certain client can transmit the shared signal to the sharing server 1000 by clicking the sharing button 611 in the currently output document file.

도 6b를 참조하면, 문서 파일 관리 화면 (620) 은 임의의 클라이언트에서 출력되는 문서 파일을 관리하는 어플리케이션의 예시적인 화면이다. 예를 들어, 문서 파일 관리 화면 (620) 은 문서 파일을 저장하고 문서 파일의 공유 여부를 관리할 수 있는 파일 매니저 (file manager) 의 예시적인 화면일 수 있다. 여기서, 문서 파일 관리 화면 (620) 은 공유 버튼 (621) 을 표시하고, 문서 파일 (631) 및 바로가기 파일 (632) 를 표시한다. 또한, 문서 파일 관리 화면 (620) 은 문서 파일 (631) 또는 바로가기 파일 (632) 에 중첩되어 드롭-다운 메뉴 (drop-down menu) (622) 를 더 표시할 수 있다. 이에, 임의의 클라이언트의 사용자는 현재 출력되고 있는 문서 파일에서 공유 버튼 (621) 또는 드롭-다운 메뉴 (622) 에서의 ‘공유’를 선택하여 공유 신호를 공유 서버 (1000) 로 송신할 수 있다. Referring to FIG. 6B, the document file management screen 620 is an exemplary screen of an application for managing a document file output from an arbitrary client. For example, the document file management screen 620 may be an exemplary screen of a file manager capable of storing a document file and managing whether or not to share the document file. Here, the document file management screen 620 displays the share button 621, and displays the document file 631 and the shortcut file 632. The document file management screen 620 may further display a drop-down menu 622 superimposed on the document file 631 or the shortcut file 632. [ Accordingly, a user of a certain client can select 'share' in the sharing button 621 or the drop-down menu 622 in the currently output document file and transmit the shared signal to the sharing server 1000.

이에 따라, 공유 신호를 수신한 공유 서버 (1000) 는 바로가기 파일 서버 (1200) 가 바로가기 파일을 생성하도록 신호를 전송하고, 시드 문서 파일을 생성하여 시드 저장 서버 (110) 로 송신한다.Accordingly, the shared server 1000 receiving the shared signal transmits a signal to the shortcut file server 1200 to generate a shortcut file, generates a seed document file, and transmits the seed document file to the seed storage server 110.

도 7은 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 장치의 구성 및 클라이언트 사이의 관계를 도시한 것이다. 도 7은 추가 클라이언트에 갱신 시드 문서 파일 및 추가 편집 명령어를 송신하는 과정을 도시한 것으로서, 도 3 및 도 5를 참조하여 이미 설명된 구성요소에 대한 중복 설명을 생략한다.FIG. 7 illustrates a configuration of a device sharing a common editing document and a relationship among clients according to another embodiment of the present invention. FIG. 7 shows a process of transmitting an update seed document file and a further edit command to an additional client, and a duplicate description of the elements already described with reference to FIGS. 3 and 5 is omitted.

도 7을 참조하면, 문서 파일을 공동 편집하도록 시드 문서 서버 (110) 에 추가 클라이언트 (910) 가 연결된 경우, 시드 문서 서버 (110) 는 추가 클라이언트 (910) 에 갱신 시드 문서 파일을 송신한다. 여기서, 추가 클라이언트 (910) 는 적어도 하나의 클라이언트 (900) 각각이 제1 시드 문서 파일 (111) 및 적어도 하나의 편집 명령어를 기초로 갱신 공동 편집 문서를 생성한 이후 시드 문서 서버 (110) 에 문서 파일의 공동 편집을 요청한 클라이언트일 수 있다. 7, when an additional client 910 is connected to the seed document server 110 for cooperative editing of the document file, the seed document server 110 transmits the update seed document file to the additional client 910. [ Herein, the additional client 910 sends a seed document to the seed document server 110 after the at least one client 900 has generated the update common edit document based on the first seed document file 111 and at least one edit command, It may be a client requesting co-editing of the file.

먼저, 시드 문서 서버 (110) 는 미리 결정된 조건에 따라 시드 문서 파일을 엔진-풀 서버 (140) 로 송신한다. 예를 들어, 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 일정 시간 동안 수신하지 않는 경우, 편집 명령어가 명령어 저장 서버 (130) 에 200개 이상 저장된 경우 또는 적어도 하나의 클라이언트 (900) 중 어느 하나가 공동 편집 문서 공유 장치 (100) 에 접속을 종료한 경우, 시드 문서 서버 (110) 는 제1 시드 문서 파일 (111) 을 엔진-풀 서버 (140) 로 송신한다.First, the seed document server 110 transmits the seed document file to the engine-pool server 140 according to a predetermined condition. For example, if at least one client 900 does not receive an edit command for a certain period of time, if more than 200 edit commands are stored in the command storage server 130, or if at least one of the clients 900 When the connection to the co-editing document sharing device 100 is terminated, the seed document server 110 transmits the first seed document file 111 to the engine-pool server 140.

또한, 명령어 저장 서버 (130) 는 미리 결정된 조건에 따라 생성된 명령어 리스트 (730) 를 엔진-풀 서버 (140) 로 송신한다. 여기서, 명령어 리스트 (730) 는 적어도 하나의 편집 명령어를 포함한다. 예를 들어, 명령어 리스트 (730) 는 제1 편집 명령어 (131) 및 제2 편집 명령어 (132) 를 포함하여 생성될 수 있다. In addition, the command storage server 130 transmits the generated command list 730 to the engine-pool server 140 according to a predetermined condition. Here, the instruction list 730 includes at least one edit instruction. For example, the command list 730 may be generated including a first edit command 131 and a second edit command 132. [

도 7을 참조하면, 명령어 저장 서버 (130) 는 미리 결정된 조건에 따라 적어도 하나의 편집 명령어를 기초로 생성된 명령어 리스트 (730) 를 엔진-풀 서버 (140) 로 송신한다. 예를 들어, 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 일정 시간 동안 수신하지 않는 경우, 편집 명령어가 명령어 저장 서버 (130) 에 200개 이상 저장된 경우 또는 적어도 하나의 클라이언트 (900) 중 어느 하나가 공동 편집 문서 공유 장치 (100) 에 접속을 종료한 경우, 명령어 저장 서버 (130) 는 명령어 리스트 (730) 를 엔진-풀 서버 (140) 로 송신할 수 있다.7, the instruction storage server 130 transmits the instruction list 730 generated based on at least one edit instruction to the engine-pool server 140 according to a predetermined condition. For example, if at least one client 900 does not receive an edit command for a certain period of time, if more than 200 edit commands are stored in the command storage server 130, or if at least one of the clients 900 The command storage server 130 may transmit the command list 730 to the engine-pool server 140 when the connection to the co-editing document sharing device 100 is terminated.

이어서, 엔진-풀 서버 (140) 는 수신한 시드 문서 파일 및 명령어 리스트 (730) 를 기초로 갱신 시드 문서 파일을 생성한다. 예를 들어, 엔진-풀 서버 (140) 는 제1 시드 문서 파일 (111) 을 수신하고 명령어 리스트 (730) 를 수신하여, 제1 시드 문서 파일 (111) 에 제1 편집 명령어 (131) 및 제2 편집 명령어 (132) 를 적용하여 갱신 시드 문서 파일인 제2 시드 문서 파일 (112) 을 생성한다. Then, the engine-pool server 140 generates an updated seed document file based on the received seed document file and the instruction list 730. [ For example, the engine-pool server 140 receives the first seed document file 111, receives the instruction list 730, and writes the first edit instruction word 131 and the second edit instruction word 132 in the first seed document file 111, 2 edit command 132 to generate a second seed document file 112 that is an updated seed document file.

이어서, 엔진-풀 서버 (140) 는 생성된 갱신 시드 문서 파일을 시드 문서 서버 (110) 로 송신하고, 시드 문서 서버 (110) 는 제1 시드 문서 파일 (111) 과 함께 갱신 시드 문서 파일인 제2 시드 문서 파일 (112) 를 저장한다. 이에 따라, 시드 문서 서버 (110) 는 추가 클라이언트 (910) 가 연결된 경우, 갱신 시드 문서 파일을 추가 클라이언트 (910) 에 송신할 수 있다.Subsequently, the engine-pool server 140 transmits the generated update seed document file to the seed document server 110, and the seed document server 110 transmits the updated seed document file together with the first seed document file 111 2 seed document file 112 is stored. Accordingly, the seed document server 110 can transmit the update seed document file to the additional client 910 when the additional client 910 is connected.

도 7을 참조하면, 명령어 저장 서버 (130) 는 명령어 리스트 (730) 가 엔진-풀 서버 (140) 에 송신된 이후 저장된 추가 편집 명령어 (133) 를 명령어 전달 서버 (120) 에 전송한다. 명령어 리스트 (730) 가 엔진-풀 서버 (140) 로 송신된 이후, 명령어 저장 서버 (130) 가 수신한 편집 명령어는 추가 편집 명령어가 된다. 예를 들어, 명령어 리스트 (730) 가 엔진-풀 서버 (140) 로 송신된 이후 추가적으로 수신된 제3 편집 명령어 (133) 는 추가 편집 명령어가 된다. 7, the instruction storage server 130 transmits to the instruction delivery server 120 a further edit instruction 133 stored after the instruction list 730 is transmitted to the engine-pool server 140. [ After the command list 730 is transmitted to the engine-pool server 140, the edit command received by the command storage server 130 becomes an additional edit command. For example, since the command list 730 is transmitted to the engine-pool server 140, the further received third edit command 133 becomes a further edit command.

도 7을 참조하면, 명령어 전달 서버 (120) 는 추가 클라이언트 (910) 에 추가 편집 명령어 (133) 를 송신한다. 구체적으로, 시드 문서 서버 (110) 에 추가 클라이언트 (910) 가 연결된 경우, 추가 편집 명령어인 제3 편집 명령어 (133) 는 명령어 전달 서버 (120) 로 송신되고, 명령어 전달 서버 (120) 를 통해 추가 편집 명령어인 제3 편집 명령어 (133) 가 추가 클라이언트 (910) 로 송신된다.Referring to FIG. 7, the command delivery server 120 sends an additional editing command 133 to the additional client 910. Specifically, when an additional client 910 is connected to the seed document server 110, the third editing command 133, which is an additional editing command, is transmitted to the command delivery server 120 and is added through the command delivery server 120 The third editing command 133, which is an editing command, is transmitted to the additional client 910. [

즉, 추가 클라이언트 (910) 는 시드 문서 서버 (110) 로부터 갱신 시드 문서 파일을 수신하고, 명령어 전달 서버 (120) 로부터 추가 편집 명령어만을 수신하여 갱신 공동 편집 문서를 생성할 수 있다. 갱신 공동 편집 문서를 생성하는 엔진에 대해서는 도 8을 참조하여 후술한다.That is, the additional client 910 may receive the updated seed document file from the seed document server 110, receive only the additional editing command from the command delivery server 120, and generate the updated common editing document. An engine for generating an update co-edited document will be described later with reference to Fig.

이와 같은 추가 클라이언트 (910) 가 이미 갱신 공동 편집 문서로 변환된 제1 시드 문서 파일 (111) 을 수신하는 경우, 제1 시드 문서 파일 (111) 및 적어도 하나의 편집 명령어를 모두 수신하는 것은 문서를 공동 편집하는데 비효율적일수 있다. Receiving all of the first seed document file 111 and at least one edit command, when such an additional client 910 receives a first seed document file 111 that has already been converted into an update common edit document, It can be inefficient for co-editing.

이에 따라, 공동 편집 문서 공유 장치 (100) 는 미리 결정된 조건에 따라 편집 명령어를 명령어 리스트 (730) 로 저장하고, 엔진-풀 서버 (140) 를 이용하여 갱신 시드 문서 파일을 생성함으로써, 추가 클라이언트 (910) 는 갱신 시드 문서 파일 및 추가 편집 명령어만을 수신하여 보다 효율적으로 문서 파일을 공동 편집할 수 있다. Accordingly, the collaborative editing document sharing apparatus 100 stores editing commands in an instruction list 730 according to a predetermined condition, and generates an updated seed document file using the engine-pool server 140, 910) can receive the update seed document file and the additional editing command alone to more efficiently co-edit the document file.

나아가, 명령어 전달 서버 (120) 는 실시간으로 개별 편집 명령어 또는 추가 편집 명령어를 직접 적어도 하나의 클라이언트 (900) 및 추가 클라이언트 (910) 에 전달하고, 엔진-풀 서버 (140) 는 시드 문서 파일과 명령어 리스트 (730) 만을 기초로 갱신 시드 문서 파일을 생성하여, 공동 편집 문서 공유 장치 (100) 가 명령어의 전달과 시드 문서 파일의 갱신을 서로 다른 기능을 갖는 이원화된 서버에서 실행하도록 함으로써, 서버 각각의 처리 부하를 저감시킬 수 있고 신속하게 추가 클라이언트 (910) 에 공동 편집을 위한 파일을 제공할 수 있다. 이에 따라, 공동 편집 문서 공유 장치 (100) 를 통해 많은 클라이언트들이 공유하는 문서 파일의 편집을 보다 효율적이고 신속하게 실행할 수 있다.Further, the command delivery server 120 delivers the individual editing command or the additional editing command directly to at least one client 900 and the additional client 910 in real time, and the engine-pool server 140 sends the seed document file and the command The shared editing document sharing apparatus 100 generates the updated seed document file based only on the list 730 and allows the shared editing document sharing apparatus 100 to execute the transfer of the command and the update of the seed document file in the dual server having different functions, The processing load can be reduced and the additional client 910 can quickly provide a file for collaborative editing. Accordingly, it is possible to execute editing of the document file shared by many clients through the co-edited document sharing device 100 more efficiently and quickly.

도 8a 및 도 8b는 본 발명의 또 다른 실시예에 따른 공동 편집 문서를 공유하는 방법에 의해 공동 편집 문서를 공유하는 클라이언트의 엔진 및 클라이언트의 예시적인 출력 화면을 도시한 것이다.8A and 8B illustrate exemplary output screens of an engine and a client of a client sharing a common editing document by a method of sharing a common editing document according to another embodiment of the present invention.

도 8a를 참조하면, 추가 클라이언트 (910) 도 엔진 (940) 을 포함한다. 이와 같은 엔진 (940) 은 도 4a에 도시된 바와 같이 적어도 하나의 클라이언트 (900) 각각에 포함된 엔진 (940) 과 동일한 기능을 한다. 구체적으로, 엔진 (940) 은 수신한 갱신 시드 문서 파일 (112) 및 추가 편집 명령어 (133) 를 기초로 갱신 공동 편집 문서를 생성한다. Referring to FIG. 8A, an additional client 910 also includes an engine 940. Such an engine 940 performs the same function as the engine 940 included in each of the at least one client 900 as shown in FIG. 4A. Specifically, the engine 940 generates an update common edit document based on the received update seed document file 112 and the additional edit command 133. [

도 8b를 참조하면, 공동 편집 문서 출력 화면 (800) 은 추가 클라이언트 (910) 에 출력되는 화면으로서, 갱신 공동 편집 문서를 출력한다. 구체적으로, 공동 편집 문서 출력 화면 (800) 은 갱신 시드 문서 파일 (112) 에 추가 편집 명령어 (133) 가 적용된 표시 (833) 를 포함한 갱신 공동 편집 문서를 표시한다. 예를 들어, 추가 편집 명령어 (133) 가 ‘하느님이 보우하사’ 줄을 삭제하는 것이면, 공동 편집 문서 출력 화면 (800) 은 삭제가 적용된 표시를 포함한 갱신 공동 편집 문서를 표시한다. 도 8b에서는 공동 편집 문서 출력 화면 (800) 이 삭제가 적용된 것으로 표시하는 것으로 도시되었으나, 실시예에 따라 삭제가 적용된 부분은 표시되지 않을 수 있으며, 추가 편집 명령어 (133) 의 특성에 따라 공동 편집 문서 출력 화면 (800) 에 표시되거나 표시되지 않을 수 있다. Referring to FIG. 8B, the common editing document output screen 800 is a screen output to the additional client 910, and outputs an updated common editing document. Specifically, the co-edited document output screen 800 displays an updated co-edited document including an indication 833 to which an additional editing command 133 is applied to the updated seed document file 112. [ For example, if the additional edit command 133 is to delete the 'God Bowser' line, the co-edited document output screen 800 displays an update co-edited document including an indication that the deletion has been applied. In FIG. 8B, the common editing document output screen 800 is displayed as indicating that the deletion is applied. However, according to the embodiment, the portion to which the deletion is applied may not be displayed. Depending on the characteristics of the additional editing command 133, And may or may not be displayed on the output screen 800.

본 발명의 실시예에 따른 공동 편집 문서 공유 장치 (100) 는 엔진-풀 서버 (140) 를 통해서 갱신 시드 문서 파일을 생성함으로써, 명령어 전달 서버 (120) 를 통해서는 추가 편집 명령어만을 추가 클라이언트 (910) 에 송신하도록 하여 명령어 전달 서버 (120) 가 공동 편집 문서의 갱신을 위한 엔진을 포함하지 않을 수 있게 된다. 이에 따라, 명령어 전달 서버 (120) 는 클라이언트가 추가됨에 따라 공동 편집 문서의 갱신을 위한 엔진을 추가하지 않아도 되며, 엔진의 증가에 따른 처리 부하도 증가하지 않게 된다. 즉, 공동 편집 문서 공유 장치 (100) 는 공동 편집 문서의 갱신을 위한 엔진을 감소시키거나 최소화하여 클라이언트의 수가 증가하더라도 효율적이고 신속한 문서의 공동 편집을 가능하게 한다.The common editing document sharing apparatus 100 according to the embodiment of the present invention generates an updated seed document file through the engine-pool server 140 so that only the additional editing command is transmitted through the command delivery server 120 to the additional client 910 ) So that the command delivery server 120 does not include an engine for updating the co-edited document. Accordingly, as the client is added, the command delivery server 120 does not need to add an engine for updating the common edit document, and the processing load due to the increase of the engine is not increased. That is, the co-edited document sharing apparatus 100 reduces or minimizes the engine for updating the co-edited document, thereby enabling efficient and quick co-editing of the document even if the number of clients increases.

본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In this specification, each block or each step may represent a part of a module, segment or code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.

본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, which is capable of reading information from, and writing information to, the storage medium. Alternatively, the storage medium may be integral with the processor. The processor and the storage medium may reside within an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in detail with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those embodiments and various changes and modifications may be made without departing from the scope of the present invention. . 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. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive. 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.

100 공동 편집 문서 공유 장치
110 시드 문서 서버
111 제1 시드 문서 파일
112 제2 시드 문서 파일
113 제3 시드 문서 파일
120 명령어 전달 서버
130 명령어 저장 서버
131, 431 제1 편집 명령어
132 제2 편집 명령어
133 제3 편집 명령어
140 엔진-풀 서버
400, 610 공동 편집 문서 출력 화면
401 제1 공동 편집 문서 출력 화면
402 제2 공동 편집 문서 출력 화면
611, 621 공유 버튼
620 문서 파일 관리 화면
622 드롭-다운 메뉴
631 문서 파일
632 바로가기 파일
730 명령어 리스트
833 추가 편집 명령어가 적용된 표시
900 적어도 하나의 클라이언트
901 제1 클라이언트
902 제2 클라이언트
903 제3 클라이언트
910 추가 클라이언트
940 엔진
1000 공유 서버
1200 바로가기 파일 서버
100 co-editing document sharing device
110 seed document server
111 First Seed Document File
112 Second Seed Document File
113 Third Seed Document File
120 Command delivery server
130 Command storage server
131, 431 1st edit command
132 2nd edit command
133 Third Edit Command
140 Engine - Full Server
400, 610 Common editing document output screen
401 First Common Editing Document Output Screen
402 2nd Common Editing Document Output Screen
611, 621 Share button
620 Document File Management Screen
622 Drop-down menu
631 Document files
632 Shortcut File
730 List of Commands
833 Display with additional editing command applied
900 At least one client
901 First Client
902 Second Client
903 Third Client
910 Additional Clients
940 engine
1000 shared servers
1200 Shortcut File Server

Claims (13)

공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 (seed) 문서 파일을 적어도 하나의 클라이언트로 송신하는 시드 문서 서버;
상기 적어도 하나의 클라이언트로부터 상기 시드 문서 파일을 편집하는 편집 명령어만을 수신하고, 상기 편집 명령어를 수신하면 곧바로 상기 편집 명령어를 상기 적어도 하나의 클라이언트 각각으로 송신하는 명령어 전달 서버; 및
상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 저장하는 명령어 저장 서버를 포함하고,
상기 명령어 전달 서버는 상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 저장하지 않고 실시간으로 상기 명령어 저장 서버 및 상기 적어도 하나의 클라이언트 각각에 전송하는, 공동 편집 문서를 공유하는 장치.
A seed document server for transmitting a seed document file generated based on a document file uploaded to a shared server to at least one client;
A command delivery server receiving only an edit command for editing the seed document file from the at least one client and transmitting the edit command to each of the at least one client immediately upon receiving the edit command; And
And a command storage server for storing the edit command in accordance with the order in which the edit command is received,
Wherein the command delivery server transmits the edit command in real time to each of the command store server and the at least one client in response to the order in which the edit command was received.
제1항에 있어서,
상기 편집 명령어를 포함하는 명령어 리스트를 수신하여, 상기 시드 문서 파일 및 상기 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성하는 엔진-풀 (engine-pool) 서버를 더 포함하는, 공동 편집 문서를 공유하는 장치.
The method according to claim 1,
Further comprising an engine-pool server for receiving the list of commands including the edit command and generating an updated seed document file based on the seed document file and the list of commands, Device.
제2항에 있어서,
상기 명령어 저장 서버는 상기 편집 명령어를 수신한 순서대로 저장하여 상기 명령어 리스트를 생성하고, 미리 결정된 조건에 따라 상기 명령어 리스트를 상기 엔진-풀 서버로 송신하는, 공동 편집 문서를 공유하는 장치.
3. The method of claim 2,
Wherein the command storage server stores the edit command in the order of reception and generates the command list, and transmits the command list to the engine-pool server according to a predetermined condition.
제2항에 있어서,
상기 엔진-풀 서버는 상기 갱신 시드 문서 파일을 상기 시드 문서 서버로 송신하고,
상기 시드 문서 서버는 상기 시드 문서 파일과 함께 상기 갱신 시드 문서 파일을 저장하는, 공동 편집 문서를 공유하는 장치.
3. The method of claim 2,
The engine-pool server transmits the update seed document file to the seed document server,
Wherein the seed document server stores the update seed document file with the seed document file.
제4항에 있어서,
상기 문서 파일을 공동 편집하도록 상기 시드 문서 서버에 추가 클라이언트가 연결된 경우,
상기 시드 문서 서버는 상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하고,
상기 명령어 저장 서버는 상기 명령어 리스트가 상기 엔진-풀 서버에 송신된 이후 저장된 추가 편집 명령어를 상기 명령어 전달 서버에 전송하고,
상기 명령어 전달 서버는 상기 추가 클라이언트에 상기 추가 편집 명령어를 송신하는, 공동 편집 문서를 공유하는 장치.
5. The method of claim 4,
If an additional client is connected to the seed document server to co-edit the document file,
The seed document server sends the update seed document file to the additional client,
Wherein the command storage server transmits to the command delivery server a further edit command stored after the command list is transmitted to the engine-pool server,
Wherein the command delivery server sends the additional edit command to the additional client.
제1항에 있어서,
상기 문서 파일을 상기 적어도 하나의 클라이언트와 공유하고자 하는 공유 신호를 상기 공유 서버가 수신하는 경우, 상기 문서 파일을 기초로 바로가기 파일을 생성하는 바로가기 파일 서버를 더 포함하는, 공동 편집 문서를 공유하는 장치.
The method according to claim 1,
Further comprising a shortcut file server for generating a shortcut file based on the document file when the share server receives a share signal to share the document file with the at least one client, .
제6항에 있어서,
상기 바로가기 파일은 상기 시드 문서 파일이 저장된 위치에 대한 정보를 포함하고,
상기 적어도 하나의 클라이언트 각각은 상기 바로가기 파일을 통해 상기 시드 문서 파일을 상기 시드 문서 서버로부터 수신하는, 공동 편집 문서를 공유하는 장치.
The method according to claim 6,
Wherein the shortcut file includes information on a position at which the seed document file is stored,
Wherein each of the at least one client receives the seed document file from the seed document server via the shortcut file.
제1항에 있어서,
상기 적어도 하나의 클라이언트 각각은, 상기 시드 문서 파일 및 상기 편집 명령어를 기초로 하거나 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 하여, 갱신 공동 편집 문서 파일을 생성하는 엔진 (engine) 을 포함하는, 공동 편집 문서를 공유하는 장치.
The method according to claim 1,
Wherein each of said at least one client comprises an engine for generating an update common edit document file based on said seed document file and said edit instruction or based on an update seed document file and further edit instructions. A device that shares editing documents.
시드 문서 서버, 명령어 전달 서버 및 명령어 저장 서버를 포함하는 공동 편집 문서를 공유하는 장치에서 수행되는, 공동 편집 문서를 공유하는 방법으로서,
공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 문서 파일을 적어도 하나의 클라이언트로 송신하는 단계;
상기 적어도 하나의 클라이언트로부터 상기 명령어 전달 서버를 통해 상기 시드 문서 파일을 편집하는 편집 명령어만을 수신하는 단계;
상기 편집 명령어를 수신하면 곧바로 상기 편집 명령어를 상기 적어도 하나의 클라이언트 각각으로 송신하는 단계; 및
상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 상기 명령어 저장 서버에 저장하는 단계를 포함하고,
상기 명령어 전달 서버는 상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 저장하지 않고 실시간으로 상기 명령어 저장 서버 및 상기 적어도 하나의 클라이언트 각각에 전송하는, 공동 편집 문서를 공유하는 방법.
A method of sharing a collaborative editing document, the method being performed in a device sharing a collaborative editing document including a seed document server, a command delivery server, and a command storage server,
Transmitting a seed document file generated based on a document file uploaded to a shared server to at least one client;
Receiving only an edit command for editing the seed document file from the at least one client through the command delivery server;
Transmitting the edit command to each of the at least one client immediately upon receiving the edit command; And
And storing the edit command in the command storage server corresponding to the order in which the edit command is received,
Wherein the command delivery server transmits the edit command in real time to each of the command store server and the at least one client in response to the order in which the edit command was received.
제9항에 있어서,
상기 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성하는 단계; 및
상기 시드 문서 파일 및 상기 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성하는 단계를 더 포함하는, 공동 편집 문서를 공유하는 방법.
10. The method of claim 9,
Generating a command list by storing the edit commands in a received order; And
Further comprising generating an updated seed document file based on the seed document file and the instruction list.
제10항에 있어서,
상기 문서 파일을 공동 편집하도록 추가 클라이언트가 연결된 경우,
상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하는 단계; 및
상기 추가 클라이언트에 상기 갱신 시드 문서 파일이 생성된 이후 저장된 추가 편집 명령어를 송신하는 단계를 더 포함하는, 공동 편집 문서를 공유하는 방법.
11. The method of claim 10,
If additional clients are connected to co-edit the document file,
Transmitting the update seed document file to the additional client; And
Further comprising the step of sending a further edit command stored after the update seed document file is created to the additional client.
제9항에 있어서,
상기 시드 문서 파일을 적어도 하나의 클라이언트로 송신하는 단계는, 상기 문서 파일을 기초로 생성된 바로가기 파일을 통해 연결된 상기 적어도 하나의 클라이언트로 상기 시드 문서 파일을 송신하는 단계인, 공동 편집 문서를 공유하는 방법.
10. The method of claim 9,
Wherein the step of sending the seed document file to at least one client comprises the step of transmitting the seed document file to the at least one client connected through a shortcut file created based on the document file, How to.
시드 문서 서버, 명령어 전달 서버 및 명령어 저장 서버를 포함하는 공동 편집 문서를 공유하는 장치에서 수행되는, 공동 편집 문서를 공유하는 방법을 제공하는 명령어들을 저장하는 컴퓨터 판독 가능 기록매체로서,
공유 서버에 업로드된 문서 파일을 기초로 생성된 시드 문서 파일을 적어도 하나의 클라이언트로 송신하고,
상기 적어도 하나의 클라이언트로부터 상기 명령어 전달 서버를 통해 상기 시드 문서 파일을 편집하는 편집 명령어만을 수신하고,
상기 편집 명령어를 수신하면 곧바로 상기 편집 명령어를 상기 적어도 하나의 클라이언트 각각으로 송신하고,
상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 상기 명령어 저장 서버에 저장하고,
상기 명령어 전달 서버는 상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 저장하지 않고 실시간으로 상기 명령어 저장 서버 및 상기 적어도 하나의 클라이언트 각각에 전송하는, 공동 편집 문서를 공유하는 방법을 제공하는 명령어들이 저장된 컴퓨터 판독 가능 기록매체.
A computer-readable medium storing instructions for providing a method for sharing a collaborative editing document, the method comprising: providing a shared document editing server, the shared document editing server including a seed document server, a command delivery server, and a command storage server,
A seed document file generated based on a document file uploaded to a shared server is transmitted to at least one client,
Receiving only an edit command for editing the seed document file from the at least one client through the command delivery server,
Upon receiving the edit command, immediately transmits the edit command to each of the at least one client,
Storing the edit command in the command storage server in accordance with the order in which the edit command is received,
Wherein the command delivery server transmits the edit command in real time to each of the command storage server and the at least one client in accordance with the order in which the edit command is received. Are stored.
KR1020160029623A 2015-04-20 2016-03-11 Method and apparatus for sharing common editing documents KR101701110B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160029623A KR101701110B1 (en) 2016-03-11 2016-03-11 Method and apparatus for sharing common editing documents
PCT/KR2016/002926 WO2016171401A1 (en) 2015-04-20 2016-03-23 Method and device for sharing cooperative editing document
US15/027,931 US20170134495A1 (en) 2015-04-20 2016-03-23 Method and apparatus for sharing collaboratively edited document
CN201680000215.0A CN107924391A (en) 2015-04-20 2016-03-23 The method and apparatus of shared collaborative editing document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160029623A KR101701110B1 (en) 2016-03-11 2016-03-11 Method and apparatus for sharing common editing documents

Publications (1)

Publication Number Publication Date
KR101701110B1 true KR101701110B1 (en) 2017-02-13

Family

ID=58155935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160029623A KR101701110B1 (en) 2015-04-20 2016-03-11 Method and apparatus for sharing common editing documents

Country Status (1)

Country Link
KR (1) KR101701110B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101774267B1 (en) 2016-06-27 2017-09-04 주식회사 한글과컴퓨터 Collaborative support apparatus for collaborative editing of electronic documents and operating method thereof
KR101826625B1 (en) 2016-08-04 2018-02-07 주식회사 한글과컴퓨터 Document collaborative support apparatus supporting simultaneous editing of document and operating method thereof
KR101880508B1 (en) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 Web document editing support apparatus and method for supporting list generation in web documents
KR101880507B1 (en) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 Client terminal device that supports resizing of a figure embedded in a web document and operating method thereof
CN111858523A (en) * 2019-12-20 2020-10-30 北京嘀嘀无限科技发展有限公司 A document online collaborative editing method, client and server

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047218A (en) * 2004-04-20 2006-05-18 마이크로소프트 코포레이션 Methods, systems, and apparatus for enabling electronic document collaboration in near real time through multiple computer systems
JP2007501969A (en) * 2003-08-07 2007-02-01 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system, and computer program for creating collaborative e-mail documents (collaborative e-mail)
KR20110000655A (en) * 2008-03-14 2011-01-04 마이크로소프트 코포레이션 Web-based multiuser collaboration
KR20140092831A (en) * 2011-11-09 2014-07-24 마이크로소프트 코포레이션 Document collaboration

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)
KR20060047218A (en) * 2004-04-20 2006-05-18 마이크로소프트 코포레이션 Methods, systems, and apparatus for enabling electronic document collaboration in near real time through multiple computer systems
KR20110000655A (en) * 2008-03-14 2011-01-04 마이크로소프트 코포레이션 Web-based multiuser collaboration
KR20140092831A (en) * 2011-11-09 2014-07-24 마이크로소프트 코포레이션 Document collaboration

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101774267B1 (en) 2016-06-27 2017-09-04 주식회사 한글과컴퓨터 Collaborative support apparatus for collaborative editing of electronic documents and operating method thereof
KR101826625B1 (en) 2016-08-04 2018-02-07 주식회사 한글과컴퓨터 Document collaborative support apparatus supporting simultaneous editing of document and operating method thereof
KR101880507B1 (en) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 Client terminal device that supports resizing of a figure embedded in a web document and operating method thereof
KR101880508B1 (en) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 Web document editing support apparatus and method for supporting list generation in web documents
CN111858523A (en) * 2019-12-20 2020-10-30 北京嘀嘀无限科技发展有限公司 A document online collaborative editing method, client and server

Similar Documents

Publication Publication Date Title
US20170134495A1 (en) Method and apparatus for sharing collaboratively edited document
KR101701110B1 (en) Method and apparatus for sharing common editing documents
JP6621543B2 (en) Automatic update of hybrid applications
EP3750291B1 (en) Collaborative editing of media in a mixed computing environment
KR101991537B1 (en) Autonomous network streaming
CN110677441B (en) Access method and device of object storage cluster
AU2019216773B2 (en) Live-rendered and forkable graphic edit trails
CN109716319B (en) Policy-based hydration behavior in cloud storage synchronization
US20080301261A1 (en) Data file edit system, storage medium, process server, and user client
US20150134817A1 (en) Cloud server aggregator to facilitate access and transmission of data stored on multiple cloud servers
KR102098415B1 (en) Cache management
KR101822401B1 (en) Method and apparatus for sharing a collaborative editing document
CN109005232A (en) Method for down loading, providing method and the equipment of container image file
TW201903604A (en) System and method for application navigation
US11728928B2 (en) Securely sharing public and private blockchain data
US20090222890A1 (en) Method and apparatus for providing streaming service based on p2p and streaming service system using the same
US9716744B2 (en) Remote access from mobile devices
KR101954061B1 (en) Method and apparatus for sharing common editing documents
US20200137155A1 (en) System and method for peer-to-peer communication in partial mesh network
KR101858970B1 (en) Method and apparatus for sharing common editing documents
KR101812957B1 (en) Method and apparatus for sharing a collaborative editing document
US20180006895A1 (en) Constraint Based Controlled Seeding
CN115525618A (en) Storage cluster, data storage method, system and storage medium
JP7073703B2 (en) Gateway devices, client-server systems and programs
US20160306782A1 (en) Method and apparatus for sharing common documents using dualized server

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160311

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20160315

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20160311

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20160613

Patent event code: PE09021S01D

PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20161027

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20170124

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20170124

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20200103

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20210112

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20221221

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20240103

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20241216

Start annual number: 9

End annual number: 9