KR101701110B1 - Method and apparatus for sharing common editing documents - Google Patents
Method and apparatus for sharing common editing documents Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 7
- 108010016634 Seed Storage Proteins Proteins 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G06F17/24—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
본 발명은 공동 편집 문서를 공유하는 방법 및 장치에 관한 것으로서, 보다 상세하게는 공동으로 편집하는 문서를 효율적으로 공유할 수 있는 공동 편집 문서를 공유하는 방법 및 장치에 관한 것이다.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
시드 문서 서버 (110) 는 시드 문서 파일 및 갱신 시드 문서 파일을 저장하고, 엔진-풀 서버 (140) 에 시드 문서 파일을 제공할 수 있다.The
명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 수신하여 다시 적어도 하나의 클라이언트 (900) 로 편집 명령어를 송신한다. 예를 들어, 명령어 전달 서버 (120) 는 제2 클라이언트 (902) 로부터 수신한 편집 명령어를 적어도 하나의 클라이언트 (900) 모두에 송신한다. 또한, 명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 로부터 수신한 편집 명령어를 명령어 저장 서버 (130) 로 전송한다.The
명령어 저장 서버 (130) 는 명령어 전달 서버 (120) 로부터 전송된 편집 명령어들을 저장한다. 구체적으로, 명령어 저장 서버 (130) 는 명령어 전달 서버 (120) 가 전송한 순서대로 편집 명령어들을 저장할 수 있다. 여기서, 명령어 전달 서버 (120) 가 전송한 순서는 명령어 전달 서버 (120) 가 편집 명령어를 수신한 순서와 동일할 수 있다. 나아가, 명령어 저장 서버 (130) 는 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성할 수 있고, 미리 결정된 조건에 따라 명령어 리스트를 엔진-풀 서버 (140) 로 송신할 수 있다.The
엔진-풀 서버 (140) 는 시드 문서 서버 (110) 로부터 시드 문서 파일을 수신하고, 명령어 저장 서버 (130) 로부터 명령어 리스트를 수신하여, 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성한다. 또한, 엔진-풀 서버 (140) 는 갱신 시드 문서 파일을 다시 시드 문서 서버 (110) 로 전송한다.The engine-
도 1을 참조하면, 적어도 하나의 클라이언트 (900) 는 제1 클라이언트 (901), 제2 클라이언트 (902) 및 제3 클라이언트 (903) 를 포함한다. 도 1에는 적어도 하나의 클라이언트 (900) 가 3개의 클라이언트를 포함하는 것으로 도시되었으나, 적어도 하나의 클라이언트 (900) 에 포함되는 클라이언트의 수는 이에 제한되지 않는다. Referring to FIG. 1, at least one
도 1을 참조하면, 적어도 하나의 클라이언트 (900) 는 공유 서버 (1000) 에 문서 파일을 업로드할 수 있다. 구체적으로, 적어도 하나의 클라이언트 (900) 중 임의의 하나의 클라이언트, 예를 들어, 제1 클라이언트 (901) 가 공유 서버 (1000) 에 공유하고자 하는 문서 파일을 업로드할 수 있다. 이하, 제1 클라이언트 (901) 가 공유 서버 (1000) 에 문서 파일을 업로드한 경우를 기준으로 공동 편집 문서를 공유하는 방법을 설명한다.Referring to FIG. 1, at least one
또한, 적어도 하나의 클라이언트 (900) 각각은 시드 문서 파일 및 편집 명령어를 기초로 하거나 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 갱신 공동 편집 문서 파일을 생성하는 엔진 (engine) 을 포함한다. 적어도 하나의 클라이언트 (900) 각각에 포함된 엔진의 구체적인 기능에 대해서는 도 4 및 도 8을 참조하여 후술한다.Also, each of the at least one
도 1을 참조하면, 공유 서버 (1000) 는 공동 편집 문서 공유 장치 (100) 에 문서 파일에 관한 정보를 제공할 수 있다. 예를 들어, 공유 서버 (1000) 는 문서 파일을 복사하여 공동 편집 문서 공유 장치 (100) 에 시드 문서 파일을 제공할 수 있다.Referring to FIG. 1, a shared
도 1을 참조하면, 바로가기 파일 서버 (1200) 는 공유 서버 (1000) 와 통신 가능하도록 연결된다. 구체적으로, 바로가기 파일 서버 (1200) 는 공유 서버 (1000) 에 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 예를 들어, 제1 클라이언트 (901) 가 문서 파일을 다른 클라이언트들과 공유하고자 하는 공유 신호를 공유 서버 (1000) 가 수신하는 경우, 바로가기 파일 서버 (1200) 는 업로드된 문서 파일을 기초로 바로가기 파일을 생성한다. 바로가기 파일에 대한 구체적인 설명은 도 7 및 도 8을 참조하여 후술한다.Referring to FIG. 1, a
이에 따라, 명령어의 전달과 시드 문서 파일의 갱신을 이원화한 명령어 전달 서버 (120) 및 엔진-풀 서버 (140) 를 포함하는 공동 편집 문서 공유 장치 (100) 는 하나의 서버를 통해 편집 명령어가 수신될 때마다 공동 문서 파일이 갱신되는 경우 발생하는 서버의 리소스 낭비와 공동 문서 파일의 갱신 속도 및 성능의 저하를 개선할 수 있다. Accordingly, the collaborative editing
공동 편집 문서 공유 장치 (100) 의 각 구성들은 설명의 편의상 개별적인 구성으로 도시한 것일 뿐, 구현 방법에 따라 하나의 구성으로 구현되거나 하나의 구성이 2 이상의 구성으로 분리될 수 있다.Each component of the co-edited
도 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
도 3을 참조하면, 시드 문서 서버 (110) 는 시드 문서 파일을 저장하고, 공동 편집 문서 공유 장치 (100) 에 연결되어 공동 편집을 요청한 클라이언트에 시드 문서 파일을 송신한다. 구체적으로, 시드 문서 서버 (110) 는 복수의 시드 문서 파일을 저장할 수 있다. 예를 들어, 클라이언트의 요청에 의해 시드 문서 파일이 생성되면 시드 문서 서버 (110) 는 생성된 시드 문서 파일을 저장한다. Referring to FIG. 3, the
또한, 시드 문서 서버 (110) 는 시드 문서 파일 및 명령어 리스트를 기초로 갱신 시드 문서 파일이 생성되면, 갱신 시드 문서 파일도 저장할 수 있다. 예를 들어, 제1 시드 문서 파일 (111) 이 클라이언트의 요청에 의해 생성되면 제1 시드 문서 파일 (111) 은 시드 문서 서버 (110) 에 저장되고, 제1 시드 문서 파일 (111) 및 명령어 리스트를 기초로 갱신 시드 문서 파일인 제2 시드 문서 파일이 생성되면 제2 시드 문서 파일도 시드 문서 서버 (110) 에 저장된다. 이에 따라, 시드 문서 서버 (110) 는 적어도 하나의 시드 문서 파일을 저장할 수 있다.The
도 3을 참조하면, 시드 문서 서버 (110) 는 저장한 시드 문서 파일을 적어도 하나의 클라이언트 (900) 에 송신할 수 있다. 구체적으로, 적어도 하나의 클라이언트 (900) 가 문서 파일을 공유하고자 하는 경우, 시드 문서 서버 (110) 는 공유 요청한 문서 파일에 대응하는 시드 문서 파일을 클라이언트에 송신할 수 있다. 시드 문서 서버 (110) 가 시드 문서 파일을 클라이언트에 송신하는 구체적인 과정에 대해서는 도 5 및 도 6을 참조하여 후술한다.Referring to FIG. 3, the
나아가, 시드 문서 서버 (110) 는 공동 편집 문서 공유 장치 (100) 에 연결되어 있는 클라이언트 이외에 추가로 공동 편집을 요청하여 공동 편집 문서 공유 장치 (100) 에 연결된 추가 클라이언트 (910) 에 갱신 시드 문서 파일을 송신할 수 있다. 추가 클라이언트 (910) 에 갱신 시드 문서를 송신하는 구체적인 과정에 대해서는 도 7 및 도 8을 참조하여 후술한다.Further, the
이어서, 명령어 전달 서버 (120) 는 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 수신한다 (S220). 이어서, 명령어 전달 서버 (120) 는 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 적어도 하나의 클라이언트 (900) 각각으로 송신한다 (S230).Then, the
도 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
또한, 명령어 전달 서버 (120) 는 수신한 순서대로 편집 명령어를 명령어 저장 서버 (130) 에 전송한다. 예를 들어, 적어도 하나의 클라이언트 (900) 각각으로부터 제1 편집 명령어 (131), 제2 편집 명령어 (132) 및 제3 편집 명령어 (133) 순서로 명령어 전달 서버 (120) 가 편집 명령어를 수신한 경우, 명령어 전달 서버 (120) 도 편집 명령어를 제1 편집 명령어 (131), 제2 편집 명령어 (132) 및 제3 편집 명령어 (133) 순서로 명령어 저장 서버 (130) 에 전송한다.In addition, the
이에 따라, 적어도 하나의 클라이언트 (900) 각각은 명령어 전달 서버 (120) 를 통해 편집 명령어를 실시간으로 수신하고, 적어도 하나의 클라이언트 (900) 각각이 갖고 있는 시드 문서 파일에 편집 명령어를 적용하여 실시간으로 갱신 공동 편집 문서를 생성할 수 있다. 적어도 하나의 클라이언트 (900) 각각이 갱신 공동 편집 문서를 생성하는 구체적인 과정에 대해서는 도 4를 참조하여 후술한다.Accordingly, each of the at least one
이어서, 명령어 저장 서버 (130) 는 편집 명령어를 수신한 순서에 대응하여 편집 명령어를 저장한다 (S240).Then, the
여기서, 명령어 전달 서버 (120) 가 명령어 저장 서버 (130) 로 편집 명령어를 송신하는 단계는 명령어 전달 서버 (120) 가 적어도 하나의 클라이언트 (900) 에 편집 명령어를 송신하는 단계와 동시에 이루어질 수도 있다. Here, the step of the
또한, 명령어 저장 서버 (130) 는 편집 명령어를 수신한 순서대로 명령어 리스트를 생성하여 편집 명령어를 저장할 수 있다. 나아가, 명령어 저장 서버 (130) 는 미리 결정된 조건에 의해 저장된 편집 명령어 또는 명령어 리스트를 엔진-풀 서버 (140) 로 전송할 수 있다. 명령어 저장 서버 (130) 및 엔진-풀 서버 (140) 사이에서 편집 명령어 및 명령어 리스트의 구체적인 전송 관계에 대해서는 도 7 및 도 8을 참조하여 후술한다.In addition, the
이에 따라, 공동 편집 문서 공유 장치 (100) 는 편집 명령어를 명령어 전달 서버 (120) 를 통해 곧바로 적어도 하나의 클라이언트 (900) 에 전송함으로써, 적은 처리 부하 및 적은 리소스 사용만으로 효율적으로 문서 파일을 공동 편집하고 갱신할 수 있다. 또한, 공동 편집 문서 공유 장치 (100) 는 수신한 편집 명령어를 순서대로 명령어 저장 서버 (130) 에 저장함으로써, 문서 파일을 공동 편집하고자 하는 클라이언트가 추가적으로 연결되더라도 편집 명령어를 기초로 최신의 갱신 공동 편집 문서를 추가 클라이언트 (910) 에 제공할 수 있다.Accordingly, the co-edited
도 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
도 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
이에 따라, 명령어 전달 서버 (120) 로부터 송신된 편집 명령어들은 적어도 하나의 클라이언트 (900) 각각에서 엔진 (940) 에 의해 시드 문서 파일에 적용되어, 적어도 하나의 클라이언트 (900) 각각은 갱신 공동 편집 문서를 생성하여 실시간으로 전송된 편집 명령어들을 적용한 갱신 공동 편집 문서를 출력할 수 있다. Accordingly, the edit commands sent from the
본 발명의 실시예에 따른 명령어 전달 서버 (120) 는 편집 명령어를 시드 문서 파일에 적용시켜 갱신 공동 편집 문서를 생성하는 엔진을 포함하지 않고 편집 명령어를 수신하는대로 적어도 하나의 클라이언트 (900) 로 전송할 수 있다. 이에 따라, 공동 편집 문서 공유 장치 (100) 는 공동 편집 문서를 생성하기 위한 엔진을 위한 리소스 및 부하를 절감할 수 있고, 편집 명령어를 실시간으로 적어도 하나의 클라이언트 (900) 각각에 송신할 수 있다. 즉, 공동 편집 문서 공유 장치 (100) 를 통해 적어도 하나의 클라이언트 (900) 각각은 보다 신속하게 공동 편집 문서를 출력할 수 있다.The
도 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
도 5를 참조하면, 적어도 하나의 클라이언트 (900) 각각은 바로가기 파일을 통해 시드 문서 파일을 시드 문서 서버 (110) 로부터 수신한다. 구체적으로, 적어도 하나의 클라이언트 (900) 가 공유 서버 (1000) 에 업로드된 문서 파일을 공유하는 경우, 적어도 하나의 클라이언트 (900) 는 업로드된 문서 파일을 직접 공유하지 않고, 바로가기 파일을 통해 시드 문서 파일을 수신한다. 이에 따라, 적어도 하나의 클라이언트 (900) 각각은 수신한 시드 문서 파일을 기초로 공동 편집을 하고, 공동 편집을 위해 입력한 편집 명령어를 명령어 전달 서버 (120) 로 송신한다. 적어도 하나의 클라이언트 (900) 가 바로가기 파일을 통해 시드 문서 파일을 공유하는 구체적인 태양에 대해서는 도 6을 참조하여 후술한다.Referring to FIG. 5, each of the at least one
본 발명의 실시예에 따른 공동 편집 문서 공유 장치 (100) 는 공동 편집을 위한 시드 문서 파일을 저장하고 적어도 하나의 클라이언트 (900) 로 송신함으로써, 공유 서버 (1000) 에 실제로 업로드된 문서 파일과 별개로 공동 편집을 위한 문서 파일을 저장할 수 있다. 즉, 문서 파일을 업로드한 클라이언트는 공동 편집을 위한 문서 파일과 개인 소유의 문서 파일을 분리하여 관리할 수 있게 된다. The common editing
도 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
도 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
이에 따라, 공유 신호를 수신한 공유 서버 (1000) 는 바로가기 파일 서버 (1200) 가 바로가기 파일을 생성하도록 신호를 전송하고, 시드 문서 파일을 생성하여 시드 저장 서버 (110) 로 송신한다.Accordingly, the shared
도 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
먼저, 시드 문서 서버 (110) 는 미리 결정된 조건에 따라 시드 문서 파일을 엔진-풀 서버 (140) 로 송신한다. 예를 들어, 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 일정 시간 동안 수신하지 않는 경우, 편집 명령어가 명령어 저장 서버 (130) 에 200개 이상 저장된 경우 또는 적어도 하나의 클라이언트 (900) 중 어느 하나가 공동 편집 문서 공유 장치 (100) 에 접속을 종료한 경우, 시드 문서 서버 (110) 는 제1 시드 문서 파일 (111) 을 엔진-풀 서버 (140) 로 송신한다.First, the
또한, 명령어 저장 서버 (130) 는 미리 결정된 조건에 따라 생성된 명령어 리스트 (730) 를 엔진-풀 서버 (140) 로 송신한다. 여기서, 명령어 리스트 (730) 는 적어도 하나의 편집 명령어를 포함한다. 예를 들어, 명령어 리스트 (730) 는 제1 편집 명령어 (131) 및 제2 편집 명령어 (132) 를 포함하여 생성될 수 있다. In addition, the
도 7을 참조하면, 명령어 저장 서버 (130) 는 미리 결정된 조건에 따라 적어도 하나의 편집 명령어를 기초로 생성된 명령어 리스트 (730) 를 엔진-풀 서버 (140) 로 송신한다. 예를 들어, 적어도 하나의 클라이언트 (900) 로부터 편집 명령어를 일정 시간 동안 수신하지 않는 경우, 편집 명령어가 명령어 저장 서버 (130) 에 200개 이상 저장된 경우 또는 적어도 하나의 클라이언트 (900) 중 어느 하나가 공동 편집 문서 공유 장치 (100) 에 접속을 종료한 경우, 명령어 저장 서버 (130) 는 명령어 리스트 (730) 를 엔진-풀 서버 (140) 로 송신할 수 있다.7, the
이어서, 엔진-풀 서버 (140) 는 수신한 시드 문서 파일 및 명령어 리스트 (730) 를 기초로 갱신 시드 문서 파일을 생성한다. 예를 들어, 엔진-풀 서버 (140) 는 제1 시드 문서 파일 (111) 을 수신하고 명령어 리스트 (730) 를 수신하여, 제1 시드 문서 파일 (111) 에 제1 편집 명령어 (131) 및 제2 편집 명령어 (132) 를 적용하여 갱신 시드 문서 파일인 제2 시드 문서 파일 (112) 을 생성한다. Then, the engine-
이어서, 엔진-풀 서버 (140) 는 생성된 갱신 시드 문서 파일을 시드 문서 서버 (110) 로 송신하고, 시드 문서 서버 (110) 는 제1 시드 문서 파일 (111) 과 함께 갱신 시드 문서 파일인 제2 시드 문서 파일 (112) 를 저장한다. 이에 따라, 시드 문서 서버 (110) 는 추가 클라이언트 (910) 가 연결된 경우, 갱신 시드 문서 파일을 추가 클라이언트 (910) 에 송신할 수 있다.Subsequently, the engine-
도 7을 참조하면, 명령어 저장 서버 (130) 는 명령어 리스트 (730) 가 엔진-풀 서버 (140) 에 송신된 이후 저장된 추가 편집 명령어 (133) 를 명령어 전달 서버 (120) 에 전송한다. 명령어 리스트 (730) 가 엔진-풀 서버 (140) 로 송신된 이후, 명령어 저장 서버 (130) 가 수신한 편집 명령어는 추가 편집 명령어가 된다. 예를 들어, 명령어 리스트 (730) 가 엔진-풀 서버 (140) 로 송신된 이후 추가적으로 수신된 제3 편집 명령어 (133) 는 추가 편집 명령어가 된다. 7, the
도 7을 참조하면, 명령어 전달 서버 (120) 는 추가 클라이언트 (910) 에 추가 편집 명령어 (133) 를 송신한다. 구체적으로, 시드 문서 서버 (110) 에 추가 클라이언트 (910) 가 연결된 경우, 추가 편집 명령어인 제3 편집 명령어 (133) 는 명령어 전달 서버 (120) 로 송신되고, 명령어 전달 서버 (120) 를 통해 추가 편집 명령어인 제3 편집 명령어 (133) 가 추가 클라이언트 (910) 로 송신된다.Referring to FIG. 7, the
즉, 추가 클라이언트 (910) 는 시드 문서 서버 (110) 로부터 갱신 시드 문서 파일을 수신하고, 명령어 전달 서버 (120) 로부터 추가 편집 명령어만을 수신하여 갱신 공동 편집 문서를 생성할 수 있다. 갱신 공동 편집 문서를 생성하는 엔진에 대해서는 도 8을 참조하여 후술한다.That is, the
이와 같은 추가 클라이언트 (910) 가 이미 갱신 공동 편집 문서로 변환된 제1 시드 문서 파일 (111) 을 수신하는 경우, 제1 시드 문서 파일 (111) 및 적어도 하나의 편집 명령어를 모두 수신하는 것은 문서를 공동 편집하는데 비효율적일수 있다. Receiving all of the first
이에 따라, 공동 편집 문서 공유 장치 (100) 는 미리 결정된 조건에 따라 편집 명령어를 명령어 리스트 (730) 로 저장하고, 엔진-풀 서버 (140) 를 이용하여 갱신 시드 문서 파일을 생성함으로써, 추가 클라이언트 (910) 는 갱신 시드 문서 파일 및 추가 편집 명령어만을 수신하여 보다 효율적으로 문서 파일을 공동 편집할 수 있다. Accordingly, the collaborative editing
나아가, 명령어 전달 서버 (120) 는 실시간으로 개별 편집 명령어 또는 추가 편집 명령어를 직접 적어도 하나의 클라이언트 (900) 및 추가 클라이언트 (910) 에 전달하고, 엔진-풀 서버 (140) 는 시드 문서 파일과 명령어 리스트 (730) 만을 기초로 갱신 시드 문서 파일을 생성하여, 공동 편집 문서 공유 장치 (100) 가 명령어의 전달과 시드 문서 파일의 갱신을 서로 다른 기능을 갖는 이원화된 서버에서 실행하도록 함으로써, 서버 각각의 처리 부하를 저감시킬 수 있고 신속하게 추가 클라이언트 (910) 에 공동 편집을 위한 파일을 제공할 수 있다. 이에 따라, 공동 편집 문서 공유 장치 (100) 를 통해 많은 클라이언트들이 공유하는 문서 파일의 편집을 보다 효율적이고 신속하게 실행할 수 있다.Further, the
도 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
도 8b를 참조하면, 공동 편집 문서 출력 화면 (800) 은 추가 클라이언트 (910) 에 출력되는 화면으로서, 갱신 공동 편집 문서를 출력한다. 구체적으로, 공동 편집 문서 출력 화면 (800) 은 갱신 시드 문서 파일 (112) 에 추가 편집 명령어 (133) 가 적용된 표시 (833) 를 포함한 갱신 공동 편집 문서를 표시한다. 예를 들어, 추가 편집 명령어 (133) 가 ‘하느님이 보우하사’ 줄을 삭제하는 것이면, 공동 편집 문서 출력 화면 (800) 은 삭제가 적용된 표시를 포함한 갱신 공동 편집 문서를 표시한다. 도 8b에서는 공동 편집 문서 출력 화면 (800) 이 삭제가 적용된 것으로 표시하는 것으로 도시되었으나, 실시예에 따라 삭제가 적용된 부분은 표시되지 않을 수 있으며, 추가 편집 명령어 (133) 의 특성에 따라 공동 편집 문서 출력 화면 (800) 에 표시되거나 표시되지 않을 수 있다. Referring to FIG. 8B, the common editing
본 발명의 실시예에 따른 공동 편집 문서 공유 장치 (100) 는 엔진-풀 서버 (140) 를 통해서 갱신 시드 문서 파일을 생성함으로써, 명령어 전달 서버 (120) 를 통해서는 추가 편집 명령어만을 추가 클라이언트 (910) 에 송신하도록 하여 명령어 전달 서버 (120) 가 공동 편집 문서의 갱신을 위한 엔진을 포함하지 않을 수 있게 된다. 이에 따라, 명령어 전달 서버 (120) 는 클라이언트가 추가됨에 따라 공동 편집 문서의 갱신을 위한 엔진을 추가하지 않아도 되며, 엔진의 증가에 따른 처리 부하도 증가하지 않게 된다. 즉, 공동 편집 문서 공유 장치 (100) 는 공동 편집 문서의 갱신을 위한 엔진을 감소시키거나 최소화하여 클라이언트의 수가 증가하더라도 효율적이고 신속한 문서의 공동 편집을 가능하게 한다.The common editing
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.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)
상기 적어도 하나의 클라이언트로부터 상기 시드 문서 파일을 편집하는 편집 명령어만을 수신하고, 상기 편집 명령어를 수신하면 곧바로 상기 편집 명령어를 상기 적어도 하나의 클라이언트 각각으로 송신하는 명령어 전달 서버; 및
상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 저장하는 명령어 저장 서버를 포함하고,
상기 명령어 전달 서버는 상기 편집 명령어를 수신한 순서에 대응하여 상기 편집 명령어를 저장하지 않고 실시간으로 상기 명령어 저장 서버 및 상기 적어도 하나의 클라이언트 각각에 전송하는, 공동 편집 문서를 공유하는 장치.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.
상기 편집 명령어를 포함하는 명령어 리스트를 수신하여, 상기 시드 문서 파일 및 상기 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성하는 엔진-풀 (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.
상기 명령어 저장 서버는 상기 편집 명령어를 수신한 순서대로 저장하여 상기 명령어 리스트를 생성하고, 미리 결정된 조건에 따라 상기 명령어 리스트를 상기 엔진-풀 서버로 송신하는, 공동 편집 문서를 공유하는 장치.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.
상기 엔진-풀 서버는 상기 갱신 시드 문서 파일을 상기 시드 문서 서버로 송신하고,
상기 시드 문서 서버는 상기 시드 문서 파일과 함께 상기 갱신 시드 문서 파일을 저장하는, 공동 편집 문서를 공유하는 장치.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.
상기 문서 파일을 공동 편집하도록 상기 시드 문서 서버에 추가 클라이언트가 연결된 경우,
상기 시드 문서 서버는 상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하고,
상기 명령어 저장 서버는 상기 명령어 리스트가 상기 엔진-풀 서버에 송신된 이후 저장된 추가 편집 명령어를 상기 명령어 전달 서버에 전송하고,
상기 명령어 전달 서버는 상기 추가 클라이언트에 상기 추가 편집 명령어를 송신하는, 공동 편집 문서를 공유하는 장치.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.
상기 문서 파일을 상기 적어도 하나의 클라이언트와 공유하고자 하는 공유 신호를 상기 공유 서버가 수신하는 경우, 상기 문서 파일을 기초로 바로가기 파일을 생성하는 바로가기 파일 서버를 더 포함하는, 공동 편집 문서를 공유하는 장치.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, .
상기 바로가기 파일은 상기 시드 문서 파일이 저장된 위치에 대한 정보를 포함하고,
상기 적어도 하나의 클라이언트 각각은 상기 바로가기 파일을 통해 상기 시드 문서 파일을 상기 시드 문서 서버로부터 수신하는, 공동 편집 문서를 공유하는 장치.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.
상기 적어도 하나의 클라이언트 각각은, 상기 시드 문서 파일 및 상기 편집 명령어를 기초로 하거나 갱신 시드 문서 파일 및 추가 편집 명령어를 기초로 하여, 갱신 공동 편집 문서 파일을 생성하는 엔진 (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.
상기 편집 명령어를 수신한 순서대로 저장하여 명령어 리스트를 생성하는 단계; 및
상기 시드 문서 파일 및 상기 명령어 리스트를 기초로 갱신 시드 문서 파일을 생성하는 단계를 더 포함하는, 공동 편집 문서를 공유하는 방법.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.
상기 문서 파일을 공동 편집하도록 추가 클라이언트가 연결된 경우,
상기 추가 클라이언트에 상기 갱신 시드 문서 파일을 송신하는 단계; 및
상기 추가 클라이언트에 상기 갱신 시드 문서 파일이 생성된 이후 저장된 추가 편집 명령어를 송신하는 단계를 더 포함하는, 공동 편집 문서를 공유하는 방법.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.
상기 시드 문서 파일을 적어도 하나의 클라이언트로 송신하는 단계는, 상기 문서 파일을 기초로 생성된 바로가기 파일을 통해 연결된 상기 적어도 하나의 클라이언트로 상기 시드 문서 파일을 송신하는 단계인, 공동 편집 문서를 공유하는 방법.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.
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)
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)
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 |
-
2016
- 2016-03-11 KR KR1020160029623A patent/KR101701110B1/en active IP Right Grant
Patent Citations (4)
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)
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 |