KR20210147566A - Method and system for providing collaborative document editing service - Google Patents

Method and system for providing collaborative document editing service Download PDF

Info

Publication number
KR20210147566A
KR20210147566A KR1020200064991A KR20200064991A KR20210147566A KR 20210147566 A KR20210147566 A KR 20210147566A KR 1020200064991 A KR1020200064991 A KR 1020200064991A KR 20200064991 A KR20200064991 A KR 20200064991A KR 20210147566 A KR20210147566 A KR 20210147566A
Authority
KR
South Korea
Prior art keywords
node
owner node
document
owner
editing
Prior art date
Application number
KR1020200064991A
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 KR1020200064991A priority Critical patent/KR20210147566A/en
Publication of KR20210147566A publication Critical patent/KR20210147566A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control

Abstract

Disclosed are a method and a system for providing a collaborative document editing service. According to an embodiment of the present invention, the system comprises a plurality of service nodes, and a managed node. The management node receives editing information on a user for a document to be edited from one of the service nodes to which a client device is connected when the document to be edited is edited by the user connected to one of the service nodes using the client device, and transmits the received editing information to the remaining service nodes among the service nodes, and an owner node for the document to be edited among the service nodes updates the document to be edited based on the editing information. Therefore, service stability can be improved.

Description

문서 공동 편집 서비스 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING COLLABORATIVE DOCUMENT EDITING SERVICE}Method and system for providing document co-editing service

개시되는 실시예들은 문서 공동 편집 기술과 관련된다.The disclosed embodiments relate to document co-editing techniques.

종래 문서 공동 편집 서비스는 문서를 편집하고자 하는 복수의 사용자가 편집 서비스를 제공하는 특정 서비스 노드에 접속하여 문서 편집을 수행하고, 각 사용자에 의해 편집된 내용을 해당 특정 서비스 노드에서 병합하도록 하고 있다.In the conventional document joint editing service, a plurality of users who want to edit a document access a specific service node providing an editing service, edit the document, and merge the contents edited by each user in the specific service node.

이에 따라, 종래 문서 공동 편집 서비스는 편집되는 문서가 특정 서비스 노드에 종속적이며, 편집하는 사용자의 수가 증가하거나 편집되는 문서의 개수 또는 크기가 증가하는 경우, 서비스 노드에 부하가 지나치게 증가하게 된다. 이를 해결하기 위해 종래 기술은 서비스에 접속하는 사용자의 수를 제한하거나 편집되는 문서의 개수를 제한하는 방식을 취하고 있으므로, 다수의 문서나 다수의 사용자에게 서비스를 제공하는데 한계를 가지고 있다.Accordingly, in the conventional document joint editing service, the document to be edited is dependent on a specific service node, and when the number of users to edit or the number or size of documents to be edited increases, the load on the service node is excessively increased. In order to solve this problem, the prior art restricts the number of users accessing the service or takes a method of limiting the number of documents to be edited, so there is a limit in providing a service to a plurality of documents or a plurality of users.

대한민국 공개특허공보 제10-2005-0038867호 (2005.04.29. 공개)Republic of Korea Patent Publication No. 10-2005-0038867 (published on April 29, 2005)

개시되는 실시예들은 문서 공동 편집 서비스를 제공하기 위한 것이다.The disclosed embodiments are for providing a document collaborative editing service.

일 실시예에 따른 편집 서비스 제공 시스템은, 복수의 서비스 노드; 및 관리 노드를 포함하고, 상기 관리 노드는, 클라이언트 장치를 이용하여 상기 복수의 서비스 노드 중 하나에 접속한 사용자에 의해 편집 대상 문서가 편집된 경우, 상기 복수의 서비스 노드 중 상기 클라이언트 장치가 접속 중인 서비스 노드로부터 상기 편집 대상 문서에 대한 상기 사용자의 편집 정보를 수신하고, 상기 수신된 편집 정보를 상기 복수의 서비스 노드 중 나머지 서비스 노드로 상기 편집 정보를 전달하고, 상기 복수의 서비스 노드 중 상기 편집 대상 문서에 대한 오너(owner) 노드는 상기 편집 정보에 기초하여 상기 편집 대상 문서를 갱신한다.An editing service providing system according to an embodiment includes a plurality of service nodes; and a management node, wherein when a document to be edited is edited by a user who has accessed one of the plurality of service nodes using a client device, the management node is configured to determine which of the plurality of service nodes the client device is being accessed. Receives the editing information of the user for the document to be edited from a service node, transmits the received edit information to the remaining service nodes among the plurality of service nodes, and the editing target of the plurality of service nodes An owner node for the document updates the edit target document based on the edit information.

상기 오너 노드는, 상기 복수의 서비스 노드 중 상기 편집 대상 문서 및 상기 편집 대상 문서에 대한 갱신 권한을 보유한 서비스 노드일 수 있다.The owner node may be a service node having an update right for the editing target document and the editing target document among the plurality of service nodes.

상기 관리 노드는, 상기 오너 노드가 존재하지 않는 경우, 상기 복수의 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 복수의 서비스 노드 중 하나를 상기 오너 노드로 선정할 수 있다.The management node may obtain status information from each of the plurality of service nodes when the owner node does not exist, and select one of the plurality of service nodes as the owner node based on the obtained status information. have.

상기 오너 노드는, 상기 편집 대상 문서를 편집 중인 사용자의 수가 기 설정된 값을 초과한 경우, 상기 관리 노드로 상기 편집 대상 문서에 대한 보조 오너 노드의 선정을 요청하고, 상기 관리 노드는, 상기 보조 오너 노드의 선정이 요청된 경우, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 보조 오너 노드를 선정할 수 있다.When the number of users editing the editing target document exceeds a preset value, the owner node requests the management node to select an auxiliary owner node for the editing target document, and the management node is configured to: When selection of a node is requested, status information is obtained from each of the remaining service nodes except for the owner node among the plurality of service nodes, and the auxiliary service node is selected from among the remaining service nodes that have transmitted the status information based on the obtained status information. An owner node can be selected.

상기 오너 노드는, 상기 보조 오너 노드가 선정된 경우, 상기 편집 대상 문서를 상기 관리 노드로 제공하고, 상기 관리 노드는, 상기 편집 대상 문서를 편집 대상 문서를 상기 보조 오너 노드로 제공할 수 있다.When the auxiliary owner node is selected, the owner node may provide the editing target document to the management node, and the management node may provide the editing target document and the editing target document to the auxiliary owner node.

상기 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하고, 상기 보조 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 나머지 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하며, 상기 오너 노드 및 상기 보조 오너 노드는, 기 설정된 주기에 따라 상기 오너 노드가 보유한 편집 대상 문서와 상기 보조 오너 노드가 보유한 편집 대상 문서를 동기화할 수 있다.The owner node updates the editing target document it owns based on editing information of some of the plurality of users who are editing the editing target document, and the auxiliary owner node is configured to: The editing target document owned by the owner node is updated based on the remaining part of the editing information, and the owner node and the auxiliary owner node have the editing target document held by the owner node and the editing target document owned by the auxiliary owner node according to a preset cycle. Documents can be synchronized.

상기 오너 노드는, 오너 노드로서 관리 중인 문서의 개수 또는 전체 용량이 기 설정된 값을 초과하는 경우, 상기 관리 노드로 상기 관리 중인 문서 중 일부에 대한 오너 노드 변경을 요청하고, 상기 관리 노드는, 상기 오너 노드 변경이 요청된 경우, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 문서에 대한 오너 노드를 선정할 수 있다.When the number or total capacity of the document being managed as the owner node exceeds a preset value, the owner node requests the management node to change the owner node for some of the documents under management, and the management node is configured to: When an owner node change is requested, status information is obtained from each of the remaining service nodes except for the owner node among the plurality of service nodes, and the part of the remaining service nodes that have transmitted the status information based on the obtained status information You can select the owner node for the document.

상기 오너 노드 변경을 요청한 오너 노드는, 상기 일부 문서에 대한 오너 노드가 선정된 경우, 상기 일부 문서를 관리 노드로 제공하고, 상기 관리 노드는, 상기 일부 문서를 상기 일부 문서에 대한 오너 노드로 제공할 수 있다.The owner node requesting the change of the owner node provides the partial document to a management node when an owner node for the partial document is selected, and the management node provides the partial document as an owner node for the partial document can do.

상기 오너 노드는, 상기 편집 대상 문서의 크기가 기 설정된 값을 초과하는 경우, 상기 편집 대상 문서를 2 이상의 부분 문서로 분할하고, 상기 관리 노드로 상기 2 이상의 부분 문서 중 일부 부분 문서에 대한 오너 노드 변경을 요청하고, 상기 관리 노드는, 상기 오너 노드 변경이 요청된 경우, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 부분 문서에 대한 오너 노드를 선정할 수 있다.The owner node divides the editing target document into two or more partial documents, when the size of the editing target document exceeds a preset value, and uses the management node as an owner node for some partial documents among the two or more partial documents request a change, and when the change of the owner node is requested, the management node obtains status information from each of the remaining service nodes except for the owner node among the plurality of service nodes, and based on the obtained status information An owner node for the partial document may be selected from among the remaining service nodes that have transmitted the status information.

상기 오너 노드는, 상기 일부 부분 문서에 대한 오너 노드가 선정된 경우, 상기 일부 부분 문서를 관리 노드로 제공하고, 상기 관리 노드는, 상기 일부 부분 문서를 상기 일부 부분 문서에 대한 오너 노드로 제공할 수 있다.When the owner node for the partial document is selected, the owner node provides the partial document as a management node, and the management node provides the partial document as an owner node for the partial document. can

일 실시예에 따른 편집 서비스 제공 방법은, 복수의 서비스 노드 및 관리 노드를 포함하는 편집 서비스 제공 시스템에 의해 수행되는 방법으로서, 클라이언트 장치를 이용하여 상기 복수의 서비스 노드 중 하나에 접속한 사용자에 의해 편집 대상 문서가 편집된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 클라이언트 장치가 접속 중인 서비스 노드로부터 상기 편집 대상 문서에 대한 상기 사용자의 편집 정보를 수신하는 단계; 상기 관리 노드가, 상기 수신된 편집 정보를 상기 복수의 서비스 노드 중 나머지 서비스 노드로 상기 편집 정보를 전달하는 단계; 및 상기 복수의 서비스 노드 중 상기 편집 대상 문서에 대한 오너(owner) 노드가, 상기 편집 정보에 기초하여 상기 편집 대상 문서를 갱신하는 단계를 포함한다.An editing service providing method according to an embodiment is a method performed by an editing service providing system including a plurality of service nodes and a management node, and is performed by a user accessing one of the plurality of service nodes using a client device. receiving, by the management node, the editing information of the user for the editing target document from a service node to which the client device is connected among the plurality of service nodes when the editing target document is edited; transmitting, by the management node, the edited information to the remaining service nodes among the plurality of service nodes; and updating, by an owner node of the editing target document among the plurality of service nodes, the editing target document based on the editing information.

상기 오너 노드는, 상기 복수의 서비스 노드 중 상기 편집 대상 문서 및 상기 편집 대상 문서에 대한 갱신 권한을 보유한 서비스 노드일 수 있다.The owner node may be a service node having an update right for the editing target document and the editing target document among the plurality of service nodes.

상기 방법은, 상기 수신하는 단계 이전에, 상기 오너 노드가 존재하지 않는 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및 상기 오너 노드가, 상기 획득된 상태 정보에 기초하여 상기 복수의 서비스 노드 중 하나를 상기 오너 노드로 선정하는 단계를 더 포함할 수 있다.The method may include, before the receiving step, when the owner node does not exist, the management node obtaining status information from each of the plurality of service nodes; and selecting, by the owner node, one of the plurality of service nodes as the owner node based on the acquired state information.

상기 방법은, 상기 편집 대상 문서를 편집 중인 사용자의 수가 기 설정된 값을 초과한 경우, 상기 오너 노드가, 상기 관리 노드로 상기 편집 대상 문서에 대한 보조 오너 노드의 선정을 요청하는 단계; 상기 보조 오너 노드의 선정이 요청된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및 상기 오너 노드가, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 보조 오너 노드를 선정하는 단계를 더 포함할 수 있다.The method may include, when the number of users editing the editing target document exceeds a preset value, requesting, by the owner node, the management node to select an auxiliary owner node for the editing target document; obtaining, by the management node, status information from each of the remaining service nodes excluding the owner node among the plurality of service nodes, when the selection of the auxiliary owner node is requested; and selecting, by the owner node, the auxiliary owner node from among the remaining service nodes that have transmitted the status information based on the acquired status information.

상기 방법은, 상기 보조 오너 노드가 선정된 경우, 상기 오너 노드가, 상기 편집 대상 문서를 상기 관리 노드로 제공하는 단계; 및 상기 관리 노드가, 상기 편집 대상 문서를 편집 대상 문서를 상기 보조 오너 노드로 제공하는 단계를 더 포함할 수 있다.The method may include, when the auxiliary owner node is selected, providing, by the owner node, the editing target document to the management node; and providing, by the management node, the editing target document and the editing target document to the auxiliary owner node.

상기 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하고, 상기 보조 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 나머지 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하며, 상기 오너 노드 및 상기 보조 오너 노드는, 기 설정된 주기에 따라 상기 오너 노드가 보유한 편집 대상 문서와 상기 보조 오너 노드가 보유한 편집 대상 문서를 동기화할 수 있다.The owner node updates the editing target document it owns based on editing information of some of the plurality of users who are editing the editing target document, and the auxiliary owner node is configured to: The editing target document owned by the owner node is updated based on the remaining part of the editing information, and the owner node and the auxiliary owner node have the editing target document held by the owner node and the editing target document owned by the auxiliary owner node according to a preset cycle. Documents can be synchronized.

상기 방법은, 상기 오너 노드가, 오너 노드로서 관리 중인 문서의 개수 또는 전체 용량이 기 설정된 값을 초과하는 경우, 상기 관리 노드로 상기 관리 중인 문서 중 일부에 대한 오너 노드 변경을 요청하는 단계; 상기 오너 노드 변경이 요청된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및 상기 관리 노드가, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 문서에 대한 오너 노드를 선정하는 단계를 더 포함할 수 있다.The method may include: requesting, by the owner node, to change the owner node for some of the documents under management to the management node, when the number or total capacity of the documents being managed as the owner node exceeds a preset value; obtaining, by the management node, status information from each of the remaining service nodes excluding the owner node among the plurality of service nodes, when the change of the owner node is requested; and selecting, by the management node, an owner node for the partial document from among remaining service nodes that have transmitted the status information based on the acquired status information.

상기 방법은, 상기 일부 문서에 대한 오너 노드가 선정된 경우, 상기 오너 노드 변경을 요청한 오너 노드가, 상기 일부 문서를 관리 노드로 제공하는 단계; 및 상기 관리 노드가, 상기 일부 문서를 상기 일부 문서에 대한 오너 노드로 제공하는 단계를 더 포함할 수 있다.The method may include, when an owner node for the partial document is selected, providing, by the owner node requesting the change of the owner node, the partial document to a management node; and providing, by the management node, the partial document as an owner node for the partial document.

상기 방법은, 상기 편집 대상 문서의 크기가 기 설정된 값을 초과하는 경우, 상기 오너 노드가, 상기 편집 대상 문서를 2 이상의 부분 문서로 분할하는 단계; 상기 오너 노드가, 상기 관리 노드로 상기 2 이상의 부분 문서 중 일부 부분 문서에 대한 오너 노드 변경을 요청하는 단계; 상기 오너 노드 변경이 요청된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및 상기 관리 노드가, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 부분 문서에 대한 오너 노드를 선정하는 단계를 더 포함할 수 있다.The method may include, when the size of the editing target document exceeds a preset value, dividing, by the owner node, the editing target document into two or more partial documents; requesting, by the owner node, to change the owner node for some partial documents among the two or more partial documents to the management node; obtaining, by the management node, status information from each of the remaining service nodes excluding the owner node among the plurality of service nodes, when the change of the owner node is requested; and selecting, by the management node, an owner node for the partial document from among the remaining service nodes that have transmitted the status information based on the acquired status information.

상기 방법은, 상기 일부 부분 문서에 대한 오너 노드가 선정된 경우, 상기 오너 노드가, 상기 일부 부분 문서를 관리 노드로 제공하는 단계; 및 상기 관리 노드가, 상기 일부 부분 문서를 상기 일부 부분 문서에 대한 오너 노드로 제공하는 단계를 더 포함할 수 있다.The method may include, when an owner node for the partial document is selected, providing, by the owner node, the partial document to a management node; and providing, by the management node, the partial partial document as an owner node for the partial partial document.

개시되는 실시예들에 따르면, 사용자가 복수의 서비스 노드 중 하나로 접속하여 편집 대상 문서를 편집 가능하도록 하되, 각 서비스 노드가 관리 노드를 통해 사용자의 편집 정보를 공유하고 오너 노드가 공유된 편집 정보를 이용하여 편집 대상 문서를 갱신하도록 함으로써, 편집 대상 문서와 서비스 노드 사이의 종속성이 해소되며, 이에 따라 서비스를 이용 가능한 사용자 수를 향상시킬 수 있다. According to the disclosed embodiments, a user can access one of a plurality of service nodes to edit a document to be edited, but each service node shares the user's edit information through the management node and the owner node uses the shared edit information By updating the document to be edited by using it, the dependency between the document to be edited and the service node is resolved, and accordingly, the number of users who can use the service can be improved.

또한, 특정 서비스 노드에 장애가 발생하더라도 나머지 서비스 노드의 사용자들은 장애에 영향을 받지 않게 되므로, 서비스의 안정성을 향상시킬 수 있다.In addition, even if a failure occurs in a specific service node, users of the remaining service nodes are not affected by the failure, so the stability of the service can be improved.

나아가, 동일한 편집 대상 문서를 편집하는 사용자의 수의 증가, 특정 노드가 오너 노드로서 관리하는 문서의 수의 증가, 편집 대상 문서의 크기 증가 등에 의해 오너 노드의 부하가 증가하는 경우, 오너 노드를 변경 하거나 추가 오너 노드를 선정하여 부하를 분산시킴으로써 보다 안정적인 서비스 제공이 가능하게 된다.Furthermore, when the load of the owner node increases due to an increase in the number of users editing the same editing target document, an increase in the number of documents managed by a specific node as an owner node, an increase in the size of the editing target document, etc., the owner node is changed Alternatively, more stable service can be provided by selecting an additional owner node and distributing the load.

도 1은 일 실시예에 따른 편집 서비스 제공 시스템의 구성도
도 2는 일 실시예에 따른 편집 대상 문서 전달 과정의 일 예를 나타낸 절차도
도 3은 일 실시예에 따른 편집 대상 문서 전달 과정의 다른 예를 나타낸 절차도
도 4는 일 실시예에 따른 편집 대상 문서에 대한 편집 과정의 일 예를 설명하기 위한 절차도
도 5는 일 실시예에 따른 오너 노드 변경 과정의 일 예를 설명하기 위한 절차도
도 6은 도 5에 도시된 예에 따라 보조 오너 노드가 선정된 경우, 편집 대상 문서에 대한 편집 과정의 일 예를 설명하기 위한 절차도
도 7은 일 실시예에 따른 오너 노드 변경 과정의 일 예를 설명하기 위한 절차도
도 8은 일 실시예에 따른 오너 노드 변경 과정의 다른 예를 설명하기 위한 절차도
1 is a block diagram of an editing service providing system according to an embodiment;
2 is a flowchart illustrating an example of a process of delivering a document to be edited according to an embodiment;
3 is a flowchart illustrating another example of a process of delivering a document to be edited according to an embodiment;
4 is a flowchart illustrating an example of an editing process for an editing target document according to an embodiment;
5 is a flowchart illustrating an example of an owner node change process according to an embodiment;
6 is a flowchart illustrating an example of an editing process for a document to be edited when an auxiliary owner node is selected according to the example shown in FIG. 5 ;
7 is a flowchart illustrating an example of an owner node change process according to an embodiment;
8 is a flowchart illustrating another example of an owner node change process according to an embodiment;

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, devices, and/or systems described herein. However, this is merely an example, and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing embodiments of the present invention only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.

도 1은 일 실시예에 따른 편집 서비스 제공 시스템의 구성도이다.1 is a block diagram of an editing service providing system according to an exemplary embodiment.

도 1을 참조하면, 일 실시예에 따른 편집 서비스 제공 시스템(100)은 복수의 사용자가 온라인 상에서 동일한 문서를 동시에 편집할 수 있도록 하는 공동 편집 서비스를 제공하기 위한 것으로, 복수의 서비스 노드(110-1, 110-2, 110-3) 및 관리 노드(120)를 포함한다.Referring to FIG. 1 , the editing service providing system 100 according to an embodiment is to provide a joint editing service that allows a plurality of users to simultaneously edit the same document online, and a plurality of service nodes 110- 1, 110-2, 110-3) and a management node 120 .

일 실시예에서, 복수의 서비스 노드(110-1, 110-2, 110-3) 및 관리 노드(120)는 각각 물리적으로 구분된 서버로 구현될 수 있으나, 실시예에 따라 복수의 서비스 노드(110) 및 관리 노드(120) 중 적어도 일부는 동일한 서버 내에 가상 머신(virtual machine)의 형태로 구현될 수 있다.In an embodiment, the plurality of service nodes 110-1, 110-2, 110-3 and the management node 120 may each be implemented as physically separate servers, but according to the embodiment, a plurality of service nodes ( 110) and at least some of the management node 120 may be implemented in the form of a virtual machine in the same server.

클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)는 각각 공동 편집 서비스를 이용하여 문서 편집을 수행하는 복수의 사용자 각각에 의해 이용되는 장치이다. 클라이언트 장치(130)는 예를 들어, 데스크탑 PC, 랩탑 PC, 태블릿 PC, 스마트폰 등 일 수 있으나 반드시 특정한 형태의 장치로 한정되는 것은 아니다.The client devices 130-1, 130-2, 130-3, 130-4, and 130-5 are devices used by each of a plurality of users who perform document editing using a joint editing service, respectively. The client device 130 may be, for example, a desktop PC, a laptop PC, a tablet PC, a smart phone, or the like, but is not necessarily limited to a specific type of device.

한편, 도 1에 도시된 실시예 및 이하의 설명에서는 설명의 편의를 위해 서비스 노드(110-1, 110-2, 110-3)의 개수가 3개이고, 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)의 개수가 5개인 것으로 가정하나, 서비스 노드(110-1, 110-2, 110-3)와 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)의 개수는 실시예에 따라 변경될 수 있다.Meanwhile, in the embodiment shown in FIG. 1 and the following description, the number of service nodes 110-1, 110-2, and 110-3 is three for convenience of description, and the client devices 130-1 and 130-2 , 130-3, 130-4, 130-5) is assumed to be five, but the service nodes 110-1, 110-2, 110-3 and the client devices 130-1, 130-2, 130 -3, 130-4, 130-5) may be changed according to an embodiment.

한편, 각 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)의 사용자는 복수의 서비스 노드(110-1, 110-2, 110-3) 중 하나로 접속하여 편집 대상 문서를 편집할 수 있으며, 이때, 각 사용자에 의해 편집되는 편집 대상 문서는 동일 또는 상이할 수 있다. On the other hand, the user of each client device (130-1, 130-2, 130-3, 130-4, 130-5) is connected to one of the plurality of service nodes (110-1, 110-2, 110-3) The editing target document may be edited, and in this case, the editing target document edited by each user may be the same or different.

예를 들어, 서비스 노드 1(110-1)에 접속한 클라이언트 장치 1(130-1)의 사용자와 서비스 노드 2(110-2)에 접속한 클라이언트 장치 3(130-3)의 사용자는 문서 1을 동시에 편집할 수 있다. 또한, 서비스 노드 1(110-1)에 접속한 클라이언트 장치 2(130-2)의 사용자, 서비스 노드 3(110-3)에 접속한 클라이언트 장치 4((130-4)의 사용자 및 클라이언트 장치 5(130-5)의 사용자는 문서 2를 동시에 편집할 수 있다.For example, the user of the client device 1 130-1 connected to the service node 1 110-1 and the user of the client device 3 130-3 connected to the service node 2 110-2 are the documents 1 can be edited simultaneously. In addition, the user of the client device 2 130-2 connected to the service node 1 110-1, the user of the client device 4 (130-4) connected to the service node 3 110-3, and the client device 5 The user at 130-5 can edit document 2 at the same time.

한편, 복수의 서비스 노드(110-1, 110-2, 110-3) 중 적어도 하나는 하나 이상의 편집 대상 문서에 대한 오너(owner) 노드일 수 있다. Meanwhile, at least one of the plurality of service nodes 110-1, 110-2, and 110-3 may be an owner node for one or more editing target documents.

이때, 오너 노드는 편집 대상 문서 및 편집 대상 문서에 대한 갱신 권한을 보유하고 있는 서비스 노드를 의미하며, 각 편집 대상 문서에 대해 선정될 수 있다. 예를 들어, 편집 대상 문서가 2개인 경우, 각 편집 대상 문서에 대해 오너 노드가 선정될 수 있으며, 각 편집 대상 문서에 대한 오너 노드는 동일하거나 상이할 수 있다.In this case, the owner node means a service node that has the right to update the editing target document and the editing target document, and may be selected for each editing target document. For example, when there are two editing target documents, an owner node may be selected for each editing target document, and the owner node for each editing target document may be the same or different.

한편, 각 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)의 사용자는 복수의 서비스 노드(110-1, 110-2, 110-3) 중 하나로 접속한 후, 편집 대상 문서를 선택할 수 있으며, 각 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)는 현재 접속 중인 서비스 노드(110-1, 110-2, 110-3)로 사용자에 의해 선택된 편집 대상 문서를 요청할 수 있다.On the other hand, the user of each client device (130-1, 130-2, 130-3, 130-4, 130-5) is connected to one of the plurality of service nodes (110-1, 110-2, 110-3) After that, you can select a document to be edited, and each client device 130-1, 130-2, 130-3, 130-4, 130-5 is connected to the currently connected service node 110-1, 110-2, 110. With -3), you can request the editing target document selected by the user.

도 2는 일 실시예에 따른 편집 대상 문서 전달 과정의 일 예를 나타낸 절차도이다.2 is a flowchart illustrating an example of a process of delivering an editing target document according to an embodiment.

도 2를 참조하면, 서비스 노드 1(110-1)에 접속 중인 클라이언트 장치 1(130-1)의 사용자가 편집 대상 문서로 '문서 1'을 선택한 경우, 클라이언트 장치 1(130-1)은 서비스 노드 1(110-1)로 '문서 1'을 요청할 수 있다(201).Referring to FIG. 2 , when the user of the client device 1 130 - 1 connected to the service node 1 110 - 1 selects 'document 1' as a document to be edited, the client device 1 130 - 1 provides a service A 'document 1' may be requested from node 1 110 - 1 ( 201 ).

이때, 서비스 노드 1(110-1)이 '문서 1'에 대한 오너 노드인 경우, 서비스 노드 1(110-1)은 클라이언트 장치 1(130-1)로 자신이 보유한 '문서 1'을 제공할 수 있다(202).At this time, when the service node 1 110 - 1 is the owner node for the 'document 1', the service node 1 110 - 1 provides the 'document 1' possessed by the service node 1 110 - 1 to the client device 1 130 - 1 . may (202).

한편, 서비스 노드 2(110-2)에 접속 중인 클라이언트 장치 3(130-3)의 사용자가 편집 대상 문서로 '문서 1'을 선택한 경우, 클라이언트 장치 3(130-3)은 서비스 노드 2(110-2)로 '문서 1'을 요청할 수 있다(203).On the other hand, when the user of the client device 3 130-3 connected to the service node 2 110 - 2 selects 'document 1' as the document to be edited, the client device 3 130 - 3 is the service node 2 110 -2) to request 'document 1' (203).

이후, 서비스 노드 2(110-2)는 관리 노드(120)로 '문서 1'을 요청하고(204), 관리 노드(120)는 '문서 1'에 대한 오너 노드인 서비스 노드 1(110-1)로 '문서 1'을 요청할 수 있다(205).Thereafter, the service node 2 110 - 2 requests the 'document 1' from the management node 120 (204), and the management node 120 is the service node 1 110 - 1 which is the owner node for the 'document 1'. ) to request 'document 1' (205).

한편, 관리 노드(120)로부터 '문서 1'을 요청받은 서비스 노드 1(110-1)은 자신이 보유한 '문서 1'을 관리 노드(120)로 제공할 수 있다(206).Meanwhile, the service node 1 110 - 1 having received a request for 'document 1' from the management node 120 may provide the 'document 1' it owns to the management node 120 ( 206 ).

이후, 관리 노드(120)는 '문서 1'을 서비스 노드 2(110-2)로 제공하고(207), 서비스 노드 2(110-2)는 클라이언트 장치 3(130-3)으로 '문서 1'을 제공할 수 있다(208).Thereafter, the management node 120 provides the 'document 1' to the service node 2 110-2 (207), and the service node 2 110-2 sends the 'document 1' to the client device 3 130-3. may be provided (208).

도 3은 일 실시예에 따른 편집 대상 문서 전달 과정의 다른 예를 나타낸 절차도이다.3 is a flowchart illustrating another example of a process of delivering a document to be edited according to an embodiment.

도 3을 참조하면, 서비스 노드 1(110-1)에 접속 중인 클라이언트 장치 2(130-2)의 사용자가 편집 대상 문서로 '문서 3'을 선택한 경우, 클라이언트 장치 2(130-2)는 서비스 노드 1(110-1)로 '문서 3'을 요청할 수 있다(301).Referring to FIG. 3 , when the user of the client device 2 130 - 2 connected to the service node 1 110 - 1 selects 'document 3' as the document to be edited, the client device 2 130 - 2 provides a service A 'document 3' may be requested from node 1 110 - 1 ( 301 ).

이때, 서비스 노드 1(110-1)이 '문서 3'에 대한 오너 노드가 아닌 경우, 서비스 노드 1(110-1)은 관리 노드(120)로 '문서 3'을 요청할 수 있다(302).In this case, if the service node 1 110 - 1 is not the owner node for the 'document 3', the service node 1 110 - 1 may request the 'document 3' from the management node 120 ( 302 ).

한편, '문서 3'에 대한 오너 노드가 존재하지 않는 경우, 관리 노드(120)는 각 서비스 노드(110-1, 110-2, 110-3)로 상태 정보를 요청할 수 있다(303, 304, 305).On the other hand, when the owner node for 'document 3' does not exist, the management node 120 may request status information from each service node 110-1, 110-2, 110-3 (303, 304, 305).

이후, 상태 정보를 요청받은 각 서비스 노드(110-1, 110-2, 110-3)는 관리 노드(120)로 자신의 상태 정보를 전송한다(306, 307, 308).Thereafter, each service node 110-1, 110-2, 110-3 that has received the status information transmits its own status information to the management node 120 (306, 307, 308).

이때, 상태 정보는 예를 들어, CPU 사용량, 메모리 사용량, 접속 중인 클라이언트의 수, 갱신 권한을 가진 문서의 개수 등과 같이 서비스 노드(110-1, 110-2, 110-3)의 성능을 평가하기 위해 이용될 수 있는 다양한 정보를 포함할 수 있다.At this time, the status information is, for example, CPU usage, memory usage, the number of connected clients, the number of documents with update authority, etc. to evaluate the performance of the service nodes 110-1, 110-2, 110-3. It may include a variety of information that can be used for

한편, 각 서비스 노드(110-1, 110-2, 110-3)로부터 상태 정보를 수신한 관리 노드(120)는 수신된 상태 정보에 기초하여 '문서 3'에 대한 오너 노드를 선정한다(309). Meanwhile, the management node 120 that has received the status information from each of the service nodes 110-1, 110-2, and 110-3 selects an owner node for 'Document 3' based on the received status information (309). ).

이때, 상태 정보에 기초하여 오너 노드를 결정하는 방식은 반드시 특정한 실시예에 한정되는 것은 아니며, 실시예에 따라 다양한 방식이 이용될 수 있다.In this case, the method of determining the owner node based on the state information is not necessarily limited to a specific embodiment, and various methods may be used depending on the embodiment.

한편, '문서 3'에 대한 오너 노드가 서비스 노드 3(110-3)으로 결정된 것으로 가정하면, 관리 노드(120)는 서비스 노드 3(110-3)으로 '문서 3'에 대한 오너 노드로 선정되었음을 통지한다(310). Meanwhile, assuming that the owner node for 'Document 3' is determined as the service node 3 110-3, the management node 120 is selected as the service node 3 110-3 as the owner node for 'Document 3'. Notifies that it has been (310).

이후, 서비스 노드 3(110-3)는 '문서 3'을 획득하고(311), 획득된 '문서 3'을 관리 노드(120)로 전송한다(312).Thereafter, the service node 3 110 - 3 acquires 'document 3' (311), and transmits the obtained 'document 3' to the management node 120 (312).

이때, 서비스 노드 3(110-3)은 기 설정된 문서 데이터 베이스로부터 '문서 3'을 획득할 수 있다. 구체적으로, 문서 데이터 베이스는 모든 서비스 노드(110-1, 110-2, 110-3)에 의해 접근 가능하며, 공동 편집 서비스를 통한 편집 대상 문서로 선택될 수 있는 문서들을 저장하도록 사전 구성된 데이터 베이스일 수 있다.In this case, the service node 3 110 - 3 may acquire 'document 3' from a preset document database. Specifically, the document database is accessible by all service nodes 110-1, 110-2, 110-3, and is a database preconfigured to store documents that can be selected as documents to be edited through a joint editing service. can be

한편, 관리 노드(120)는 서비스 노드 3(110-3)으로부터 수신한 '문서 3'을 서비스 노드 1(110-1)로 전달할 수 있다(313). Meanwhile, the management node 120 may transmit the 'document 3' received from the service node 3 110 - 3 to the service node 1 110 - 1 ( 313 ).

또한, 서비스 노드 1(110-1)은 관리 노드(120)으로부터 수신한 '문서 3'을 클라이언트 장치 2(130-2)로 전달할 수 있다(314).Also, the service node 1 110 - 1 may transmit the 'document 3' received from the management node 120 to the client device 2 130 - 2 ( 314 ).

다시, 도 1을 참조하면, 편집 대상 문서를 수신한 각 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)의 사용자가 편집 대상 문서를 편집한 경우, 각 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)는 현재 접속 중인 서비스 노드(110-1, 110-2, 110-3)로 편집 대상 문서에 대한 편집 정보를 전송할 수 있다. Again, referring to FIG. 1 , when the user of each client device 130-1, 130-2, 130-3, 130-4, 130-5 that has received the editing target document edits the editing target document, each The client devices 130-1, 130-2, 130-3, 130-4, and 130-5 are service nodes 110-1, 110-2, 110-3 that are currently connected, and edit information about the document to be edited can be transmitted.

이때, 편집 정보는 예를 들어, 편집 대상 문서를 식별하기 위한 문서 식별 정보, 사용자를 식별하기 위한 사용자 식별 정보 및 편집 대상 문서에서 사용자에 의한 변경 내용에 대응되는 정보를 포함할 수 있다.In this case, the editing information may include, for example, document identification information for identifying an editing target document, user identification information for identifying a user, and information corresponding to changes made by a user in the editing target document.

한편, 클라이언트 장치(130-1, 130-2, 130-3, 130-4, 130-5)로부터 편집 정보를 수신한 서비스 노드(110-1, 110-2, 110-3)는 수신된 편집 정보를 관리 노드(120)를 통해 다른 서비스 노드로 전달하고, 오너 노드는 수신된 편집 정보에 기초하여 편집 대상 문서를 갱신할 수 있다.On the other hand, the service nodes 110-1, 110-2, 110-3 that have received the editing information from the client devices 130-1, 130-2, 130-3, 130-4, and 130-5, The information is transferred to another service node through the management node 120 , and the owner node may update the editing target document based on the received editing information.

구체적으로, 도 4는 일 실시예에 따른 편집 대상 문서에 대한 편집 과정의 일 예를 설명하기 위한 절차도이다.Specifically, FIG. 4 is a flowchart illustrating an example of an editing process for an editing target document according to an exemplary embodiment.

도 4에 도시된 예에서는, 서비스 노드 1(110-1)에 접속 중인 클라이언트 장치 1(130-1)과 서비스 노드 3(110-3)에 접속 중인 클라이언트 장치 4(130-4)에서 '문서 1'을 편집 중이고, 서비스 노드 2(110-2)가 '문서 1'에 대한 오너 노드인 것으로 가정한다.In the example shown in FIG. 4 , in the client device 1 130-1 connecting to the service node 1 110-1 and the client device 4 130-4 connecting to the service node 3 110-3, the 'document It is assumed that 1' is being edited, and service node 2 110 - 2 is the owner node for 'document 1'.

도 4를 참조하면, 클라이언트 장치 1(130-1)의 사용자인 사용자 1이 '문서 1'을 편집한 경우, 클라이언트 장치 1(130-1)은 사용자 1에 의해 편집된 내용에 따라 '문서 1'에 대한 사용자 1의 편집 정보를 서비스 노드 1(110-1)로 전송할 수 있다(401).Referring to FIG. 4 , when user 1, a user of client device 1 130-1, edits 'document 1', client device 1 130-1 edits 'document 1' according to the contents edited by user 1. User 1's edit information for ' may be transmitted to the service node 1 110 - 1 ( 401 ).

이후, 서비스 노드 1(110-1)은 사용자 1의 편집 정보를 관리 노드(120)로 전송할 수 있다(402).Thereafter, the service node 1 ( 110 - 1 ) may transmit the edit information of the user 1 to the management node ( 120 ) ( 402 ).

이후, 관리 노드(120)는 사용자 1의 편집 정보를 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로 전달할 수 있다(403, 404).Thereafter, the management node 120 may transmit the edit information of the user 1 to the service node 2 110 - 2 and the service node 3 110 - 3 ( 403 and 404 ).

한편, 사용자 1의 편집 정보를 수신한 서비스 노드 3(110-3)은 클라이언트 장치 4(130-4)로 사용자 1의 편집 정보를 전달할 수 있다(405). Meanwhile, the service node 3 110 - 3 receiving the edit information of the user 1 may transmit the edit information of the user 1 to the client device 4 130 - 4 ( 405 ).

또한, '문서 1'의 오너 노드인 서비스 노드 2(110-2)는 관리 노드(120)로부터 수신된 사용자 1의 편집 정보에 기초하여, 사용자 1의 편집 내용이 반영되도록 자신이 보유하고 있는 '문서 1'을 갱신할 수 있다(406).In addition, the service node 2 110 - 2, which is the owner node of 'Document 1', has a ' Document 1' may be updated (406).

이후, 클라이언트 장치 4(130-4)의 사용자인 사용자 4가 '문서 1'을 편집한 경우, 클라이언트 장치 4(130-4)는 사용자 4에 의해 편집된 내용에 따라 '문서 1'에 대한 사용자 4의 편집 정보를 서비스 노드 3(110-3)으로 전송할 수 있다(407).Thereafter, when user 4 who is a user of client device 4 130 - 4 edits 'document 1', client device 4 130 - 4 receives the user for 'document 1' according to the edited content by user 4 The edit information of 4 may be transmitted to the service node 3 110 - 3 ( 407 ).

이후, 서비스 노드 3(110-3)은 사용자 4의 편집 정보를 관리 노드(120)로 전송할 수 있다(408).Thereafter, the service node 3 110 - 3 may transmit the edit information of the user 4 to the management node 120 ( 408 ).

이후, 관리 노드(120)는 사용자 4의 편집 정보를 서비스 노드 1(110-1) 및 서비스 노드 2(110-2)로 전달할 수 있다(409, 410).Thereafter, the management node 120 may transmit the edit information of the user 4 to the service node 1 110 - 1 and the service node 2 110 - 2 ( 409 and 410 ).

한편, 사용자 4의 편집 정보를 수신한 서비스 노드 1(110-1)은 클라이언트 장치 1(130-1)로 사용자 4의 편집 정보를 전달할 수 있다(411). Meanwhile, the service node 1 110 - 1 that has received the edit information of the user 4 may transmit the edit information of the user 4 to the client device 1 130 - 1 ( 411 ).

또한, '문서 1'의 오너 노드인 서비스 노드 2(110-2)는 관리 노드(120)로부터 수신된 사용자 4의 편집 정보에 기초하여, 사용자 4의 편집 내용이 반영되도록 자신이 보유하고 있는 '문서 1'을 갱신할 수 있다(412).In addition, the service node 2 110 - 2, which is the owner node of 'Document 1', is based on the edit information of User 4 received from the management node 120, and the ' Document 1' may be updated (412).

다시 도 1을 참조하면, 복수의 서비스 노드(110-1, 110-2, 110-3) 중 특정 문서에 대한 오너 노드는 오너 노드로서 관리하고 있는 문서의 개수 또는 총량, 해당 특정 문서를 편집하기 위해 접속 중인 사용자의 수 및 해당 특정 문서의 크기 중 적어도 하나에 기초하여 오너 노드의 변경 또는 하나 이상의 보조 오너 노드의 선정을 관리 노드(120)로 요청할 수 있다. 이 경우, 관리 노드(120)는 오너 노드의 요청에 따라 특정 문서에 대한 오너 노드를 변경하거나 하나 이상의 보조 오너 노드를 선정할 수 있다.Referring back to FIG. 1 , the owner node for a specific document among the plurality of service nodes 110-1, 110-2, and 110-3 is the owner node for the number or total amount of managed documents, and to edit the specific document. To change the owner node or select one or more auxiliary owner nodes, the management node 120 may request a change of the owner node or selection of one or more auxiliary owner nodes based on at least one of the number of connected users and the size of the specific document. In this case, the management node 120 may change the owner node for a specific document or select one or more auxiliary owner nodes according to the request of the owner node.

도 5는 일 실시예에 따른 오너 노드 변경 과정의 일 예를 설명하기 위한 절차도이다.5 is a flowchart illustrating an example of an owner node change process according to an embodiment.

도 5에 도시된 예에서는, 서비스 노드 1(110-2)이 '문서 1'에 대한 오너 노드이고, 클라이언트 장치 5(130-5)가 '문서 1'을 편집을 위해 서비스 노드 3(110-3)으로 접속한 것으로 가정한다.In the example shown in FIG. 5 , service node 1 110 - 2 is an owner node for 'document 1', and client device 5 130 - 5 edits 'document 1' to service node 3 110 - 3) is assumed to be connected.

도 5를 참조하면, 클라이언트 장치 5(130-5)의 사용자인 사용자 5가 편집 대상 문서로 '문서 1'을 선택한 경우, 클라이언트 장치 5(130-5)는 서비스 노드 3(110-3)으로 '문서 1'을 요청할 수 있다(501).Referring to FIG. 5 , when user 5, who is a user of client device 5 130-5, selects 'document 1' as a document to be edited, client device 5 130-5 goes to service node 3 110-3. 'Document 1' may be requested (501).

이후, 서비스 노드 3(110-3)은 관리 노드(120)로 '문서 1'을 요청하고(502), 관리 노드(120)는 '문서 1'에 대한 오너 노드인 서비스 노드 1(110-1)로 '문서 1'을 요청할 수 있다(503).Thereafter, the service node 3 110 - 3 requests 'document 1' from the management node 120 ( 502 ), and the management node 120 is the service node 1 110 - 1 which is the owner node for the 'document 1'. ) to request 'document 1' (503).

한편, 관리 노드(120)로부터 '문서 1'을 요청받은 서비스 노드 1(110-1)는 '문서 1'을 편집 중인 사용자의 수가 기 설정된 값을 초과하였는지 여부를 판단하고, 초과한 경우, 관리 노드(120)로 '문서 1'에 대한 보조 오너 노드 선정을 요청할 수 있다(504).On the other hand, service node 1 110 - 1 having received a request for 'document 1' from the management node 120 determines whether the number of users editing 'document 1' exceeds a preset value, and if it exceeds, manages The node 120 may request selection of an auxiliary owner node for 'document 1' ( 504 ).

'문서 1'에 대한 보조 오너 노드 선정을 요청 받은 관리 노드(120)는 서비스 노드 2(110-2) 및 서비스 노드 3(110-3) 각각으로 상태 정보를 요청할 수 있다(505, 506).The management node 120 that has been requested to select an auxiliary owner node for 'Document 1' may request status information from each of the service node 2 110 - 2 and the service node 3 110 - 3 ( 505 and 506 ).

또한, 상태 정보를 요청받은 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)은 각각 관리 노드(120)로 자신의 상태 정보를 전송할 수 있다(507, 508).In addition, the service node 2 110 - 2 and the service node 3 110 - 3 that have received the status information may transmit their own status information to the management node 120 ( 507 , 508 ), respectively.

한편, 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로부터 상태 정보를 수신한 관리 노드(120)는 수신된 상태 정보에 기초하여 서비스 노드 2(110-2) 및 서비스 노드 3(110-3) 중에서 '문서 1'에 대한 보조 오너 노드를 선정할 수 있다(509). Meanwhile, the management node 120 that has received the status information from the service node 2 110 - 2 and the service node 3 110 - 3 is the service node 2 110 - 2 and the service node 3 based on the received status information. From (110-3), an auxiliary owner node for 'document 1' may be selected (509).

한편, '문서 1'에 대한 보조 오너 노드가 서비스 노드 3(110-3)으로 선정된 것으로 가정하면, 관리 노드(120)는 서비스 노드 1(110-1) 및 서비스 노드 3(110-3)으로 서비스 노드 3(110-3)이 '문서 1'에 대한 보조 오너 노드로 선정되었음을 통지할 수 있다(510, 511). On the other hand, assuming that the secondary owner node for 'document 1' is selected as the service node 3 110 - 3 , the management node 120 is the service node 1 110 - 1 and the service node 3 110 - 3 As a result, it can be notified that the service node 3 110 - 3 has been selected as the secondary owner node for the 'document 1' (510, 511).

이후, 서비스 노드 1(110-1)는 '문서 1'을 관리 노드(120)로 전송하고(512), 관리 노드는 수신한 '문서 1'을 서비스 노드 3(110-3)으로 전송할 수 있다(513).Thereafter, the service node 1 110 - 1 may transmit 'document 1' to the management node 120 ( 512 ), and the management node may transmit the received 'document 1 ' to the service node 3 110 - 3 . (513).

이후, 서비스 노드 3(110-3)은 '문서 1'을 클라이언트 장치 5(130-5)로 전송할 수 있다(514).Thereafter, the service node 3 110 - 3 may transmit the 'document 1' to the client device 5 130 - 5 (514).

도 6은 도 5에 도시된 예에 따라 보조 오너 노드가 선정된 경우, 편집 대상 문서에 대한 편집 과정의 일 예를 설명하기 위한 절차도이다.FIG. 6 is a flowchart for explaining an example of an editing process for a document to be edited when an auxiliary owner node is selected according to the example shown in FIG. 5 .

도 6을 참조하면, 클라이언트 장치 1(130-1)의 사용자인 사용자 1이 '문서 1'을 편집한 경우, 클라이언트 장치 1(130-1)은 사용자 1에 의해 편집된 내용에 기초하여 '문서 1'에 대한 사용자 1의 편집 정보를 서비스 노드 1(110-1)로 전송할 수 있다(601).Referring to FIG. 6 , when user 1, a user of client device 1 130-1, edits 'document 1', client device 1 130-1 edits 'document 1' based on the contents edited by user 1. Edit information of user 1 for 1' may be transmitted to the service node 1 110 - 1 ( 601 ).

이후, 서비스 노드 1(110-1)은 사용자 1의 편집 정보를 관리 노드(120)로 전송할 수 있다(602).Thereafter, the service node 1 ( 110 - 1 ) may transmit the edit information of the user 1 to the management node ( 120 ) ( 602 ).

이후, '문서 1'의 오너 노드인 서비스 노드 1(110-1)은 사용자 1의 편집 정보에 기초하여, 사용자 1의 편집 내용이 반영되도록 자신이 보유하고 있는 '문서 1'을 갱신할 수 있다(603).Thereafter, the service node 1 110 - 1, which is the owner node of 'Document 1', may update 'Document 1' that it owns to reflect the edit contents of User 1 based on the edit information of User 1 (603).

한편, 관리 노드(120)는 서비스 노드 1(110-1)로부터 수신된 사용자 1의 편집 정보를 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로 전달할 수 있다(604, 605).Meanwhile, the management node 120 may transmit the edit information of user 1 received from the service node 1 110 - 1 to the service node 2 110 - 2 and the service node 3 110 - 3 ( 604 and 605 ). ).

이후, 사용자 1의 편집 정보를 수신한 서비스 노드 3(110-3)은 클라이언트 장치 5(130-5)로 사용자 1의 편집 정보를 전달할 수 있다(606). Thereafter, the service node 3 110 - 3 receiving the edit information of the user 1 may transmit the edit information of the user 1 to the client device 5 130 - 5 ( 606 ).

한편, 클라이언트 장치 5(130-5)의 사용자인 사용자 5가 '문서 1'을 편집한 경우, 클라이언트 장치 5(130-5)는 사용자 5에 의해 편집된 내용에 따라 '문서 5'에 대한 사용자 5의 편집 정보를 서비스 노드 3(110-3)로 전송할 수 있다(607).On the other hand, when user 5, a user of client device 5 130-5, edits 'document 1', client device 5 130-5 edits 'document 1' by user 5 according to the contents edited by user 5. The edit information of 5 may be transmitted to the service node 3 110 - 3 ( 607 ).

이후, 서비스 노드 3(110-3)은 사용자 5의 편집 정보를 관리 노드(120)로 전송할 수 있다(608).Thereafter, the service node 3 110 - 3 may transmit the editing information of the user 5 to the management node 120 ( 608 ).

이후, '문서 1'의 보조 오너 노드인 서비스 노드 3(110-3)은 사용자 5의 편집 정보에 기초하여, 사용자 5의 편집 내용이 반영되도록 자신이 보유하고 있는 '문서 1'을 갱신할 수 있다(609).Thereafter, the service node 3 110-3, which is the auxiliary owner node of 'Document 1', can update 'Document 1' it owns to reflect the edit contents of User 5 based on the edit information of User 5. There is (609).

한편, 관리 노드(120)는 서비스 노드 3(110-3)으로부터 수신된 사용자 5의 편집 정보를 서비스 노드 1(110-1) 및 서비스 노드 2(110-2)로 전달할 수 있다(610, 611).Meanwhile, the management node 120 may transmit the edit information of user 5 received from the service node 3 110 - 3 to the service node 1 110 - 1 and the service node 2 110 - 2 (610 and 611 ). ).

이후, 사용자 1의 편집 정보를 수신한 서비스 노드 1(110-1)은 클라이언트 장치 1(130-1)로 사용자 5의 편집 정보를 전달할 수 있다(612). Thereafter, the service node 1 110 - 1 that has received the edit information of the user 1 may transmit the edit information of the user 5 to the client device 1 130 - 1 ( 612 ).

한편, 도 6에 도시된 예에서, 문서 1에 대한 오너 노드인 서비스 노드 1(110-1)과 보조 오너 노드인 서비스 노드 3(110-3)은 미리 설정된 주기에 따라 각자 갱신 중인 '문서 1'을 관리 노드(120)를 통해 교환하여 병합함으로써 서비스 노드 1(110-1)과 서비스 노드 3(110-3)에서 보유하고 있는 '문서 1'이 동기화되도록 할 수 있다. On the other hand, in the example shown in FIG. 6 , the service node 1 110 - 1 which is the owner node for the document 1 and the service node 3 110 - 3 which is the auxiliary owner node for the document 1 respectively update the 'document 1' according to a preset cycle. ' by exchanging and merging through the management node 120 , the 'document 1' held in the service node 1 110 - 1 and the service node 3 110 - 3 can be synchronized.

한편, 일 실시예에 따르면, 복수의 서비스 노드(110-1, 110-2, 110-3)는 각각 오너 노드로서 관리 중인 문서의 개수 또는 오너 노드로서 관리 중인 문서의 전체 용량이 기 설정된 값을 초과한 경우, 관리 노드(120)로 오너 노드로서 관리 중인 문서 중 일부에 대한 오너 노드 변경을 요청할 수 있다. Meanwhile, according to an embodiment, the plurality of service nodes 110-1, 110-2, and 110-3 each have a preset value for the number of documents being managed as the owner node or the total capacity of the documents being managed as the owner node. If it is exceeded, the management node 120 may request a change of the owner node for some of the documents being managed as the owner node.

이 경우, 관리 노드(120)는 복수의 서비스 노드(110-1, 110-2, 110-3) 중 오너 노드 변경을 요청한 서비스 노드를 제외한 나머지 노드 중에서 변경 요청된 문서에 대한 오너 노드를 선정할 수 있다.In this case, the management node 120 selects an owner node for the requested document from among the plurality of service nodes 110-1, 110-2, and 110-3, except for the service node requesting the change of the owner node. can

도 7은 일 실시예에 따른 오너 노드 변경 과정의 일 예를 설명하기 위한 절차도이다.7 is a flowchart illustrating an example of an owner node change process according to an embodiment.

도 7에 도시된 예에서는, 서비스 노드 1(110-2)이 '문서 1' 및 '문서 2'에 대한 오너 노드이고, '문서 2'에 대한 오너 노드 변경을 요청하는 것으로 가정한다.In the example shown in FIG. 7 , it is assumed that the service node 1 110 - 2 is the owner node for 'document 1' and 'document 2', and requests to change the owner node for 'document 2'.

도 7을 참조하면, 서비스 노드 1(110-1)은 관리 노드(120)로 '문서 2'에 대한 오너 노드 변경을 요청할 수 있다(701).Referring to FIG. 7 , the service node 1 110 - 1 may request the management node 120 to change the owner node for 'document 2' ( 701 ).

이후, 오너 노드 변경 요청을 수신한 관리 노드(120)는 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로 상태 정보를 요청할 수 있다(702, 703).Thereafter, the management node 120 receiving the owner node change request may request status information from the service node 2 110 - 2 and the service node 3 110 - 3 ( 702 and 703 ).

이후, 상태 정보를 요청받은 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)은 각각 관리 노드(120)로 자신의 상태 정보를 전송할 수 있다(704, 705).Thereafter, the service node 2 110 - 2 and the service node 3 110 - 3 from which the status information has been requested may transmit their own status information to the management node 120, respectively (704 and 705).

한편, 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로부터 상태 정보를 수신한 관리 노드(120)는 수신된 상태 정보에 기초하여 서비스 노드 2(110-2) 및 서비스 노드 3(110-3) 중 하나를 '문서 2'에 대한 새로운 오너 노드로 선정할 수 있다(706). Meanwhile, the management node 120 that has received the status information from the service node 2 110 - 2 and the service node 3 110 - 3 is the service node 2 110 - 2 and the service node 3 based on the received status information. One of (110-3) may be selected as a new owner node for 'document 2' (706).

이때, '문서 2'에 대한 새로운 오너 노드가 서비스 노드 3(110-3)으로 결정된 것으로 가정하면, 관리 노드(120)는 '문서 2'에 대한 기존 오너 노드인 서비스 노드 1(110-1)과 새로운 오너 노드인 서비스 노드 3(110-3)으로 '문서 2'에 대한 오너 노드가 서비스 노드 3(110-3)으로 변경되었음을 통지할 수 있다(707, 708). At this time, assuming that the new owner node for 'document 2' is determined as service node 3 (110-3), the management node 120 is service node 1 (110-1), which is the existing owner node for 'document 2'. and the new owner node, service node 3 110-3, may notify that the owner node for 'document 2' has been changed to service node 3 110-3 (707, 708).

이후, 서비스 노드 1(110-1)은 '문서 2'를 관리 노드(120)로 전송하고(709), 관리 노드(120)는 수신된 '문서 2'를 서비스 노드 3(110-3)으로 전달할 수 있다(710).Thereafter, the service node 1 110-1 transmits 'document 2' to the management node 120 (709), and the management node 120 transmits the received 'document 2' to the service node 3 110-3. It can be delivered (710).

한편, 일 실시예에 따르면, 복수의 서비스 노드(110-1, 110-2, 110-3)는 각각 오너 노드로서 관리 중인 문서의 크기가 기 설정된 값을 초과한 경우, 해당 문서를 2 이상의 부분 문서로 분할하고, 관리 노드(120)로 분할된 2 이상의 부분 문서 중 하나 이상에 대한 오너 노드 변경을 요청할 수 있다. Meanwhile, according to an embodiment, when the size of a document managed as an owner node exceeds a preset value, each of the plurality of service nodes 110-1, 110-2, and 110-3 divides the document into two or more parts. It is possible to request a change of an owner node for one or more of the two or more partial documents divided into documents and divided into the management node 120 .

이 경우, 관리 노드(120)는 복수의 서비스 노드(110-1, 110-2, 110-3) 중 오너 노드 변경을 요청한 서비스 노드를 제외한 나머지 노드 중에서 변경 요청된 부분 분서에 대한 오너 노드를 선정할 수 있다.In this case, the management node 120 selects the owner node for the partial division requested to be changed from among the remaining nodes except for the service node requesting the change of the owner node among the plurality of service nodes 110-1, 110-2, and 110-3. can do.

도 8은 일 실시예에 따른 오너 노드 변경 과정의 다른 예를 설명하기 위한 절차도이다.8 is a flowchart illustrating another example of an owner node change process according to an embodiment.

도 8에 도시된 예에서는, 서비스 노드 1(110-2)이 '문서 1'에 대한 오너 노드이며, '문서 1'의 용량이 기 설정된 값을 초과하여 '문서 1'을 2개의 부분 문서 '문서 1-1'과 '문서 1-2'로 분할하는 것으로 가정한다.In the example shown in FIG. 8 , service node 1 110 - 2 is an owner node for 'document 1', and the capacity of 'document 1' exceeds a preset value, so 'document 1' is divided into two partial documents ' It is assumed that it is divided into 'Document 1-1' and 'Document 1-2'.

도 8을 참조하면, 서비스 노드 1(110-1)은 '문서 1'의 크기가 기 설정된 값을 초과하는 경우, '문서 1'을 '2 개의 부분 분서 '문서 1-1'과 '문서 1-2'로 분할 할 수 있다(801).Referring to FIG. 8 , when the size of 'document 1' exceeds a preset value, service node 1 110-1 divides 'document 1' into two parts 'document 1-1' and 'document 1'. It can be divided by -2' (801).

이후, 관리 노드(120)는 분할된 부분 문서 중 '문서 1-2'에 대한 오너 노드 변경을 요청할 수 있다(802).Thereafter, the management node 120 may request to change the owner node for 'document 1-2' among the divided partial documents ( 802 ).

이후, 오너 노드 변경 요청을 수신한 관리 노드(120)는 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로 상태 정보를 요청할 수 있다(803, 804).Thereafter, the management node 120 receiving the owner node change request may request status information from the service node 2 110 - 2 and the service node 3 110 - 3 ( 803 and 804 ).

이후, 상태 정보를 요청받은 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)은 각각 관리 노드(120)로 자신의 상태 정보를 전송할 수 있다(805, 806).Thereafter, the service node 2 110 - 2 and the service node 3 110 - 3 that have received the status information may transmit their own status information to the management node 120 ( 805 and 806 ).

한편, 서비스 노드 2(110-2) 및 서비스 노드 3(110-3)으로부터 상태 정보를 수신한 관리 노드(120)는 수신된 상태 정보에 기초하여 서비스 노드 2(110-2) 및 서비스 노드 3(110-3) 중 하나를 '문서 1-2'에 대한 새로운 오너 노드로 선정할 수 있다(807). Meanwhile, the management node 120 that has received the status information from the service node 2 110 - 2 and the service node 3 110 - 3 is the service node 2 110 - 2 and the service node 3 based on the received status information. One of (110-3) may be selected as a new owner node for 'document 1-2' (807).

이때, '문서 1-2'에 대한 새로운 오너 노드가 서비스 노드 2(110-2)로 결정된 것으로 가정하면, 관리 노드(120)는 '문서 1-2'에 대한 기존 오너 노드인 서비스 노드 1(110-1)과 새로운 오너 노드인 서비스 노드 2(110-2)로 '문서 1-2'에 대한 오너 노드가 서비스 노드 2(110-2)로 변경되었음을 통지할 수 있다(808, 809). At this time, assuming that the new owner node for 'Document 1-2' is determined to be the service node 2 (110-2), the management node 120 controls the service node 1 ( 110-1) and the new owner node, service node 2 110-2, may notify that the owner node for 'document 1-2' is changed to service node 2 (110-2) (808, 809).

이후, 서비스 노드 1(110-1)은 '문서 1-2'를 관리 노드(120)로 전송하고(810), 관리 노드(120)는 수신된 '문서 1-2'를 서비스 노드 2(110-2)로 전달할 수 있다(811).Thereafter, the service node 1 110-1 transmits 'document 1-2' to the management node 120 (810), and the management node 120 transmits the received 'document 1-2' to the service node 2 (110). -2) can be transmitted (811).

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described in detail through representative embodiments above, those of ordinary skill in the art to which the present invention pertains can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims described below as well as the claims and equivalents.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 편집 서비스 제공 시스템
110-1, 110-2, 110-3: 서비스 노드
120: 관리 노드
130-1, 130-2, 130-3, 130-4, 130-5: 클라이언트 장치
10: Computing Environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: Program
22: input/output interface
24: input/output device
26: network communication interface
100: editing service providing system
110-1, 110-2, 110-3: service node
120: managed node
130-1, 130-2, 130-3, 130-4, 130-5: client device

Claims (20)

복수의 서비스 노드; 및
관리 노드를 포함하고,
상기 관리 노드는, 클라이언트 장치를 이용하여 상기 복수의 서비스 노드 중 하나에 접속한 사용자에 의해 편집 대상 문서가 편집된 경우, 상기 복수의 서비스 노드 중 상기 클라이언트 장치가 접속 중인 서비스 노드로부터 상기 편집 대상 문서에 대한 상기 사용자의 편집 정보를 수신하고, 상기 수신된 편집 정보를 상기 복수의 서비스 노드 중 나머지 서비스 노드로 상기 편집 정보를 전달하고,
상기 복수의 서비스 노드 중 상기 편집 대상 문서에 대한 오너(owner) 노드는 상기 편집 정보에 기초하여 상기 편집 대상 문서를 갱신하는 편집 서비스 제공 시스템.
a plurality of service nodes; and
contains managed nodes;
The management node is configured to, when an editing target document is edited by a user accessing one of the plurality of service nodes using a client device, the editing target document from a service node to which the client device is connected among the plurality of service nodes receiving the edit information of the user for
and an owner node of the editing target document among the plurality of service nodes updates the editing target document based on the editing information.
청구항 1에 있어서,
상기 오너 노드는, 상기 복수의 서비스 노드 중 상기 편집 대상 문서 및 상기 편집 대상 문서에 대한 갱신 권한을 보유한 서비스 노드인 편집 서비스 제공 시스템.
The method according to claim 1,
and the owner node is a service node having an update right for the editing target document and the editing target document among the plurality of service nodes.
청구항 2에 있어서,
상기 관리 노드는, 상기 오너 노드가 존재하지 않는 경우, 상기 복수의 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 복수의 서비스 노드 중 하나를 상기 오너 노드로 선정하는 편집 서비스 제공 시스템.
3. The method according to claim 2,
The management node obtains status information from each of the plurality of service nodes when the owner node does not exist, and selects one of the plurality of service nodes as the owner node based on the obtained status information service delivery system.
청구항 2에 있어서,
상기 오너 노드는, 상기 편집 대상 문서를 편집 중인 사용자의 수가 기 설정된 값을 초과한 경우, 상기 관리 노드로 상기 편집 대상 문서에 대한 보조 오너 노드의 선정을 요청하고,
상기 관리 노드는, 상기 보조 오너 노드의 선정이 요청된 경우, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 보조 오너 노드를 선정하는 편집 서비스 제공 시스템.
3. The method according to claim 2,
when the number of users editing the editing target document exceeds a preset value, the owner node requests the management node to select an auxiliary owner node for the editing target document;
When selection of the auxiliary owner node is requested, the management node obtains status information from each of the remaining service nodes except for the owner node among the plurality of service nodes, and provides the status information based on the obtained status information. An editing service providing system for selecting the auxiliary owner node from among the remaining service nodes transmitted.
청구항 4에 있어서,
상기 오너 노드는, 상기 보조 오너 노드가 선정된 경우, 상기 편집 대상 문서를 상기 관리 노드로 제공하고,
상기 관리 노드는, 상기 편집 대상 문서를 편집 대상 문서를 상기 보조 오너 노드로 제공하는 편집 서비스 제공 시스템.
5. The method according to claim 4,
the owner node provides the editing target document to the management node when the auxiliary owner node is selected;
wherein the management node provides the editing target document and the editing target document to the auxiliary owner node.
청구항 5에 있어서,
상기 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하고,
상기 보조 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 나머지 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하며,
상기 오너 노드 및 상기 보조 오너 노드는, 기 설정된 주기에 따라 상기 오너 노드가 보유한 편집 대상 문서와 상기 보조 오너 노드가 보유한 편집 대상 문서를 동기화하는 편집 서비스 제공 시스템.
6. The method of claim 5,
The owner node updates the editing target document it owns based on editing information of some of the plurality of users who are editing the editing target document;
The auxiliary owner node updates the editing target document possessed by the auxiliary owner node based on the editing information of the remaining part of the plurality of users who are editing the editing target document;
The editing service providing system for the owner node and the auxiliary owner node to synchronize the editing target document held by the owner node with the editing target document holding by the auxiliary owner node according to a preset period.
청구항 2에 있어서,
상기 오너 노드는, 오너 노드로서 관리 중인 문서의 개수 또는 전체 용량이 기 설정된 값을 초과하는 경우, 상기 관리 노드로 상기 관리 중인 문서 중 일부에 대한 오너 노드 변경을 요청하고,
상기 관리 노드는, 상기 오너 노드 변경이 요청된 경우, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 문서에 대한 오너 노드를 선정하는 편집 서비스 제공 시스템.
3. The method according to claim 2,
When the number or total capacity of documents managed as the owner node exceeds a preset value, the owner node requests the management node to change the owner node for some of the documents under management;
When the change of the owner node is requested, the management node acquires status information from each of the remaining service nodes except for the owner node among the plurality of service nodes, and transmits the status information based on the acquired status information. An editing service providing system for selecting an owner node for the partial document from among the remaining service nodes.
청구항 7에 있어서,
상기 오너 노드 변경을 요청한 오너 노드는, 상기 일부 문서에 대한 오너 노드가 선정된 경우, 상기 일부 문서를 관리 노드로 제공하고,
상기 관리 노드는, 상기 일부 문서를 상기 일부 문서에 대한 오너 노드로 제공하는 편집 서비스 제공 시스템.
8. The method of claim 7,
The owner node requesting the change of the owner node provides the partial document to a management node when an owner node for the partial document is selected;
The management node provides an editing service providing system for providing the partial document as an owner node for the partial document.
청구항 2에 있어서,
상기 오너 노드는, 상기 편집 대상 문서의 크기가 기 설정된 값을 초과하는 경우, 상기 편집 대상 문서를 2 이상의 부분 문서로 분할하고, 상기 관리 노드로 상기 2 이상의 부분 문서 중 일부 부분 문서에 대한 오너 노드 변경을 요청하고,
상기 관리 노드는, 상기 오너 노드 변경이 요청된 경우, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하고, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 부분 문서에 대한 오너 노드를 선정하는 편집 서비스 제공 시스템.
3. The method according to claim 2,
The owner node divides the editing target document into two or more partial documents, when the size of the editing target document exceeds a preset value, and uses the management node as an owner node for some partial documents among the two or more partial documents request a change,
When the change of the owner node is requested, the management node acquires status information from each of the remaining service nodes except for the owner node among the plurality of service nodes, and transmits the status information based on the acquired status information. An editing service providing system for selecting an owner node for the partial document from among the remaining service nodes.
청구항 9에 있어서,
상기 오너 노드는, 상기 일부 부분 문서에 대한 오너 노드가 선정된 경우, 상기 일부 부분 문서를 관리 노드로 제공하고,
상기 관리 노드는, 상기 일부 부분 문서를 상기 일부 부분 문서에 대한 오너 노드로 제공하는 편집 서비스 제공 시스템.
10. The method of claim 9,
the owner node, when an owner node for the partial document is selected, provides the partial document as a management node;
wherein the management node provides the partial partial document as an owner node for the partial partial document.
복수의 서비스 노드 및 관리 노드를 포함하는 편집 서비스 제공 시스템에 의해 수행되는 방법으로서,
클라이언트 장치를 이용하여 상기 복수의 서비스 노드 중 하나에 접속한 사용자에 의해 편집 대상 문서가 편집된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 클라이언트 장치가 접속 중인 서비스 노드로부터 상기 편집 대상 문서에 대한 상기 사용자의 편집 정보를 수신하는 단계;
상기 관리 노드가, 상기 수신된 편집 정보를 상기 복수의 서비스 노드 중 나머지 서비스 노드로 상기 편집 정보를 전달하는 단계; 및
상기 복수의 서비스 노드 중 상기 편집 대상 문서에 대한 오너(owner) 노드가, 상기 편집 정보에 기초하여 상기 편집 대상 문서를 갱신하는 단계를 포함하는 편집 서비스 제공 방법.
A method performed by an editing service providing system comprising a plurality of service nodes and a management node, the method comprising:
When the editing target document is edited by a user who has accessed one of the plurality of service nodes using the client device, the management node sends the editing target document from the service node to which the client device is connected among the plurality of service nodes receiving the user's editing information for
transmitting, by the management node, the received edit information to the remaining service nodes among the plurality of service nodes; and
and updating, by an owner node of the editing target document among the plurality of service nodes, the editing target document based on the editing information.
청구항 11에 있어서,
상기 오너 노드는, 상기 복수의 서비스 노드 중 상기 편집 대상 문서 및 상기 편집 대상 문서에 대한 갱신 권한을 보유한 서비스 노드인 편집 서비스 제공 방법.
12. The method of claim 11,
and the owner node is a service node having an update right for the editing target document and the editing target document among the plurality of service nodes.
청구항 12에 있어서,
상기 수신하는 단계 이전에, 상기 오너 노드가 존재하지 않는 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및
상기 오너 노드가, 상기 획득된 상태 정보에 기초하여 상기 복수의 서비스 노드 중 하나를 상기 오너 노드로 선정하는 단계를 더 포함하는 편집 서비스 제공 방법.
13. The method of claim 12,
before the receiving step, when the owner node does not exist, the management node obtaining status information from each of the plurality of service nodes; and
and selecting, by the owner node, one of the plurality of service nodes as the owner node based on the acquired state information.
청구항 12에 있어서,
상기 편집 대상 문서를 편집 중인 사용자의 수가 기 설정된 값을 초과한 경우, 상기 오너 노드가, 상기 관리 노드로 상기 편집 대상 문서에 대한 보조 오너 노드의 선정을 요청하는 단계;
상기 보조 오너 노드의 선정이 요청된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및
상기 오너 노드가, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 보조 오너 노드를 선정하는 단계를 더 포함하는 편집 서비스 제공 방법.
13. The method of claim 12,
when the number of users editing the editing target document exceeds a preset value, requesting, by the owner node, to select an auxiliary owner node for the editing target document from the management node;
obtaining, by the management node, status information from each of the remaining service nodes excluding the owner node among the plurality of service nodes, when the selection of the auxiliary owner node is requested; and
and selecting, by the owner node, the auxiliary owner node from among the remaining service nodes that have transmitted the status information based on the acquired status information.
청구항 14에 있어서,
상기 보조 오너 노드가 선정된 경우, 상기 오너 노드가, 상기 편집 대상 문서를 상기 관리 노드로 제공하는 단계; 및
상기 관리 노드가, 상기 편집 대상 문서를 편집 대상 문서를 상기 보조 오너 노드로 제공하는 단계를 더 포함하는 편집 서비스 제공 방법.
15. The method of claim 14,
providing, by the owner node, the editing target document to the management node when the auxiliary owner node is selected; and
and providing, by the management node, the editing target document and the editing target document to the auxiliary owner node.
청구항 15에 있어서,
상기 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하고,
상기 보조 오너 노드는, 상기 편집 대상 문서를 편집 중인 복수의 사용자 중 나머지 일부의 편집 정보에 기초하여 자신이 보유한 편집 대상 문서를 갱신하며,
상기 오너 노드 및 상기 보조 오너 노드는, 기 설정된 주기에 따라 상기 오너 노드가 보유한 편집 대상 문서와 상기 보조 오너 노드가 보유한 편집 대상 문서를 동기화하는 편집 서비스 제공 방법.
16. The method of claim 15,
The owner node updates the editing target document it owns based on editing information of some of the plurality of users who are editing the editing target document;
The auxiliary owner node updates the editing target document possessed by the auxiliary owner node based on the editing information of the remaining part of the plurality of users who are editing the editing target document;
The method for providing an editing service in which the owner node and the auxiliary owner node synchronize the editing target document held by the owner node with the editing target document held by the auxiliary owner node according to a preset period.
청구항 12에 있어서,
상기 오너 노드가, 오너 노드로서 관리 중인 문서의 개수 또는 전체 용량이 기 설정된 값을 초과하는 경우, 상기 관리 노드로 상기 관리 중인 문서 중 일부에 대한 오너 노드 변경을 요청하는 단계;
상기 오너 노드 변경이 요청된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및
상기 관리 노드가, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 문서에 대한 오너 노드를 선정하는 단계를 더 포함하는 편집 서비스 제공 방법.
13. The method of claim 12,
requesting, by the owner node, to change the owner node for some of the documents under management to the management node when the number or total capacity of the documents being managed as the owner node exceeds a preset value;
obtaining, by the management node, status information from each of the remaining service nodes excluding the owner node among the plurality of service nodes, when the change of the owner node is requested; and
and selecting, by the management node, an owner node for the partial document from among remaining service nodes that have transmitted the status information based on the acquired status information.
청구항 17에 있어서,
상기 일부 문서에 대한 오너 노드가 선정된 경우, 상기 오너 노드 변경을 요청한 오너 노드가, 상기 일부 문서를 관리 노드로 제공하는 단계; 및
상기 관리 노드가, 상기 일부 문서를 상기 일부 문서에 대한 오너 노드로 제공하는 단계를 더 포함하는 편집 서비스 제공 방법.
18. The method of claim 17,
providing, by the owner node requesting the change of the owner node, to a management node when an owner node for the partial document is selected; and
and providing, by the management node, the partial document as an owner node for the partial document.
청구항 12에 있어서,
상기 편집 대상 문서의 크기가 기 설정된 값을 초과하는 경우, 상기 오너 노드가, 상기 편집 대상 문서를 2 이상의 부분 문서로 분할하는 단계;
상기 오너 노드가, 상기 관리 노드로 상기 2 이상의 부분 문서 중 일부 부분 문서에 대한 오너 노드 변경을 요청하는 단계;
상기 오너 노드 변경이 요청된 경우, 상기 관리 노드가, 상기 복수의 서비스 노드 중 상기 오너 노드를 제외한 나머지 서비스 노드 각각으로부터 상태 정보를 획득하는 단계; 및
상기 관리 노드가, 상기 획득된 상태 정보에 기초하여 상기 상태 정보를 전송한 나머지 서비스 노드 중에서 상기 일부 부분 문서에 대한 오너 노드를 선정하는 단계를 더 포함하는 편집 서비스 제공 방법.
13. The method of claim 12,
dividing, by the owner node, the editing target document into two or more partial documents when the size of the editing target document exceeds a preset value;
requesting, by the owner node, to change the owner node for some partial documents among the two or more partial documents to the management node;
obtaining, by the management node, status information from each of the remaining service nodes excluding the owner node among the plurality of service nodes, when the change of the owner node is requested; and
and selecting, by the management node, an owner node for the partial document from among remaining service nodes that have transmitted the status information based on the acquired status information.
청구항 19에 있어서,
상기 일부 부분 문서에 대한 오너 노드가 선정된 경우, 상기 오너 노드가, 상기 일부 부분 문서를 관리 노드로 제공하는 단계; 및
상기 관리 노드가, 상기 일부 부분 문서를 상기 일부 부분 문서에 대한 오너 노드로 제공하는 단계를 더 포함하는 편집 서비스 제공 방법.
20. The method of claim 19,
providing, by the owner node, the partial document to a management node when an owner node for the partial document is selected; and
and providing, by the management node, the partial document as an owner node for the partial partial document.
KR1020200064991A 2020-05-29 2020-05-29 Method and system for providing collaborative document editing service KR20210147566A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200064991A KR20210147566A (en) 2020-05-29 2020-05-29 Method and system for providing collaborative document editing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200064991A KR20210147566A (en) 2020-05-29 2020-05-29 Method and system for providing collaborative document editing service

Publications (1)

Publication Number Publication Date
KR20210147566A true KR20210147566A (en) 2021-12-07

Family

ID=78868464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200064991A KR20210147566A (en) 2020-05-29 2020-05-29 Method and system for providing collaborative document editing service

Country Status (1)

Country Link
KR (1) KR20210147566A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050038867A (en) 2003-10-23 2005-04-29 주식회사 케이티 System and method for providing remote multilateral cooperative documentation service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050038867A (en) 2003-10-23 2005-04-29 주식회사 케이티 System and method for providing remote multilateral cooperative documentation service

Similar Documents

Publication Publication Date Title
US10642798B2 (en) Method and system for routing data flows in a cloud storage system
US7991835B2 (en) Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
US9888062B2 (en) Distributed storage system including a plurality of proxy servers and method for managing objects
JP5582344B2 (en) Connection management system and connection management server linkage method in thin client system
CN101167069B (en) System and method for peer to peer synchronization of files
CN104954468A (en) Resource allocation method and resource allocation device
US11394794B2 (en) Fast ingestion of records in a database using data locality and queuing
CN103516777A (en) A method of provisioning in a cloud compute environment
US20120297067A1 (en) Load Balancing System for Workload Groups
KR20120072907A (en) Distribution storage system of distributively storing objects based on position of plural data nodes, position-based object distributive storing method thereof, and computer-readable recording medium
CN103620578A (en) Native cloud computing via network segmentation
KR20140008065A (en) Peer-to-peer network system with manageability
US8660996B2 (en) Monitoring files in cloud-based networks
CN112835977B (en) Database management method and system based on block chain
CN104717197B (en) Conversation management system, session management equipment and conversation managing method
CN111950858A (en) Edge cloud collaborative computing resource transaction method, computer equipment and storage medium
US10956371B2 (en) Team folder conversion and management
US20190372825A1 (en) Communication apparatus, communication method, and recording medium
CN104969235A (en) Network system
CN113177179B (en) Data request connection management method, device, equipment and storage medium
US11706153B2 (en) Abstraction layer to cloud services
Ohashi et al. Token-based sharing control for IPFS
KR101379105B1 (en) System and method for offering cloud computing service
KR20210147566A (en) Method and system for providing collaborative document editing service
CN112217774A (en) Authority control system and method, server and storage medium