KR101169642B1 - Web-based distributed authoring and versioning protocol based document editing apparatus and method - Google Patents
Web-based distributed authoring and versioning protocol based document editing apparatus and method Download PDFInfo
- Publication number
- KR101169642B1 KR101169642B1 KR1020110113047A KR20110113047A KR101169642B1 KR 101169642 B1 KR101169642 B1 KR 101169642B1 KR 1020110113047 A KR1020110113047 A KR 1020110113047A KR 20110113047 A KR20110113047 A KR 20110113047A KR 101169642 B1 KR101169642 B1 KR 101169642B1
- Authority
- KR
- South Korea
- Prior art keywords
- editing
- document
- server
- information
- session
- Prior art date
Links
Images
Classifications
-
- 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
Abstract
Description
본 발명의 실시예들은 다수의 클라이언트 문서 편집 장치들 간에 문서의 공동 편집을 수행할 수 있도록 하는 기법에 대한 기술들과 관련된다.Embodiments of the present invention relate to techniques for a technique for enabling co-editing of a document among multiple client document editing devices.
소셜 네트워크 서비스의 활성화와 정보공유에 대한 관심이 높아지면서 협업에 대한 중요성이 부각되고 있으며, 스마트폰과 태블릿 PC의 보급과 사용이 증가하면서 다양한 디바이스를 지원할 수 있는 시스템이 요구되고 있다. As social network services are activated and interest in information sharing is increasing, the importance of collaboration is emerging, and as the spread and use of smartphones and tablet PCs increases, a system that can support various devices is required.
최근에는 기존에 생산된 정보를 그대로 받아들이던 다수의 정보 소비자들이 적극적으로 생산에 참여하면서 정보 생산자와 소비자의 경계가 모호해지고 있다. Recently, as many information consumers who have accepted the information produced in the past actively participate in production, the boundary between information producers and consumers is blurring.
이러한 개방형 의사소통이 가능하려면, 정보의 실시간 공유를 통한 협업 환경이 제공되어야 한다. 이와 관련하여, 문서 편집 분야에서도 여러 사용자가 하나의 문서를 동시에 편집할 수 있는 실시간 문서 공동 편집 기술에 대한 연구가 활발하게 진행되고 있다.To enable such open communication, a collaborative environment must be provided through real-time sharing of information. In this regard, research on the real-time document co-editing technology that allows multiple users to edit a single document at the same time in the field of document editing has been actively conducted.
이렇게 실시간 문서 공동 편집 기술에 대한 관심이 증가하면서, 플랫폼에 독립적인 웹 기반의 문서 공동 편집 시스템의 필요성이 대두되고 있으며, 여러 시스템들이 서비스되거나 연구되고 있다. 하지만, 현재 서비스되고 있는 시스템들은 모바일 기기를 지원하지 못하는 시스템들도 많고, 매우 제한적으로 동작하고 있어서, 아직은 다양한 연구들이 더 필요한 시점이다.As the interest in real-time document co-editing technology increases, the necessity of platform-independent web-based document co-editing system is emerging, and various systems are being serviced or researched. However, many of the systems currently being serviced do not support mobile devices, and they operate very limitedly, and more research is still needed.
WebDAV(Web-based Distributed Authoring and Versioning)은 HTTP(Hypertext Transfer Protocol) 기반의 프로토콜(protocol)로, 웹 서버에서 FTP(File Transfer Protocol)나 SCP(Secure Copy Protocol)와 같은 별도의 프로토콜 없이, 파일 전송 및 관리가 가능한 프로토콜이다. Web-based Distributed Authoring and Versioning (WebDAV) is a Hypertext Transfer Protocol (HTTP) -based protocol that allows file transfers on a web server without requiring a separate protocol, such as File Transfer Protocol (FTP) or Secure Copy Protocol (SCP). And manageable protocols.
보통, WebDAV에서 지원하는 메소드(method)와 그에 대한 기능은 하기의 표 1에서 나타낸 바와 같다.
In general, methods and functions thereof supported by WebDAV are shown in Table 1 below.
이렇게, WebDAV은 FTP와 SCP와 같은 별도의 프로토콜 없이, 파일 전송 및 관리가 가능한 프로토콜이라는 점에서, 상기 WebDAV에서 파일 관리뿐만 아니라, 실시간 문서 공동 편집 기능을 제공한다면, 웹 서버에서 문서 공동 편집 기능을 별도로 서비스 할 수 있어, 다양하게 활용될 수 있을 것이다. 또한, 웹사이트를 구축하는 개발자들이 동일한 파일에 대해 동시에 작업을 수행할 수 있어, 협업하는데 매우 효율적일 것이다.In this way, WebDAV is a protocol that allows file transfer and management without separate protocols such as FTP and SCP. If WebDAV provides not only file management but also real-time document co-editing function, Web co-editing function is enabled on a web server. As it can be serviced separately, it can be used in various ways. Also, developers building a website can work on the same file at the same time, making it very efficient to collaborate.
따라서, WebDAV을 이용하여 문서 공동 편집 기능을 제공할 수 있도록 하는 기술에 대한 연구가 필요하다.Therefore, there is a need for research on a technology for providing document co-editing using WebDAV.
본 발명의 실시예들은 기존의 WebDAV(Web-based Distributed Authoring and Versioning) 프로토콜에 문서의 공동 편집이 가능하도록 하는 적어도 하나의 메소드가 포함된 확장된 프로토콜을 이용함으로써, 웹 서버를 통해 웹을 기반으로 하는 문서의 공동 편집 서비스를 제공할 수 있도록 한다.Embodiments of the present invention utilize an extended protocol that includes an existing Web-based Distributed Authoring and Versioning (WebDAV) protocol and an extended protocol including at least one method for co-editing a document. To provide co-editing services for documents.
본 발명의 일실시예에 따른 문서 편집 장치는 문서의 공동 편집과 연관된 WebDAV(Web-based Distributed Authoring and Versioning) 기반의 적어도 하나의 메소드(method)가 정의된 프로토콜 정보를 저장하는 프로토콜 정보 저장부, 상기 프로토콜 정보를 기초로 문서 공동 편집 서버가 개시한 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성하는 세션 구성부 및 상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 저장되어 있는 공동 편집 대상 문서에 대한 편집을 수행하는 편집 수행부를 포함한다.A document editing apparatus according to an embodiment of the present invention includes a protocol information storage unit for storing protocol information in which at least one method based on Web-based Distributed Authoring and Versioning (WebDAV) associated with co-editing of a document is defined; The session collaborator configured to join the document co-editing server initiated by the document co-editing server based on the protocol information to form the edit session with the document co-editing server, and the co-editing server stored in the document co-editing server based on the protocol information. It includes an editing execution unit for editing the document to be edited.
또한, 본 발명의 일실시예에 따른 문서 편집 방법은 문서의 공동 편집과 연관된 WebDAV 기반의 적어도 하나의 메소드가 정의된 프로토콜 정보가 저장되어 있는 메모리를 관리하는 단계, 상기 프로토콜 정보를 기초로 문서 공동 편집 서버가 개시한 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성하는 단계 및 상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 저장되어 있는 공동 편집 대상 문서에 대한 편집을 수행하는 단계를 포함한다.In addition, the document editing method according to an embodiment of the present invention manages a memory in which at least one WebDAV-based method associated with the co-editing of the document stored protocol information, the document cooperative based on the protocol information Participating in an editing session initiated by an editing server, configuring the editing session with the document co-editing server, and performing editing on the co-editing target document stored in the document co-editing server based on the protocol information It includes.
본 발명의 실시예들은 기존의 WebDAV(Web-based Distributed Authoring and Versioning) 프로토콜에 문서의 공동 편집이 가능하도록 하는 적어도 하나의 메소드가 포함된 확장된 프로토콜을 이용함으로써, 웹 서버를 통해 웹을 기반으로 하는 문서의 공동 편집 서비스를 제공할 수 있어, 문서의 공동 편집과 관련된 사용자의 편의를 도모할 수 있다.Embodiments of the present invention utilize an extended protocol that includes an existing Web-based Distributed Authoring and Versioning (WebDAV) protocol and an extended protocol including at least one method for co-editing a document. A co-editing service of a document can be provided, so that a user's convenience related to co-editing of a document can be achieved.
도 1은 본 발명의 일실시예에 따른 문서 공동 편집 시스템을 개략적으로 도시한 시스템 개념도이다.
도 2는 본 발명의 일실시예에 따른 문서 공동 편집 시스템에서 문서 파일이 생성되는 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 문서 공동 편집 시스템에서 문서의 편집이 수행되는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 문서 공동 편집 시스템에서 문서 파일이 저장되는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 문서 편집 장치의 구조를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 문서 편집 방법을 도시한 순서도이다.1 is a system conceptual diagram schematically showing a document co-editing system according to an embodiment of the present invention.
2 is a view for explaining a process of generating a document file in a document co-editing system according to an embodiment of the present invention.
3 is a view for explaining a process of editing a document in a document co-editing system according to an embodiment of the present invention.
4 is a view for explaining a process of storing a document file in a document co-editing system according to an embodiment of the present invention.
5 is a diagram illustrating a structure of a document editing apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating a document editing method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may exist in between Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “가지다” 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms “comprise” or “have” are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 문서 공동 편집 시스템을 개략적으로 도시한 시스템 개념도이다.1 is a system conceptual diagram schematically showing a document co-editing system according to an embodiment of the present invention.
도 1을 참조하면, 문서 편집 장치 1(111), 문서 편집 장치 2(112) 및 문서 공동 편집 서버(120)가 도시되어 있다.Referring to FIG. 1, a
여기서, 문서 편집 장치 1(111)과 문서 편집 장치 2(112)는 문서 공동 편집 서버(120)에 접속하여 문서의 공동 편집을 수행하는 클라이언트 장치이며, 데스크탑 PC, 모바일 단말, PDA, 노트북, 태블릿 PC 등 다양한 종류의 마이크로 프로세서 기반의 장치를 기반으로 구현될 수 있다.Here, the
또한, 문서 공동 편집 서버(120)는 웹 서버로 오픈 소스 프로젝트(Open Source Project)인 아파치(Apache)의 mod_dav 모듈을 이용하여 구현될 수 있고, 필요한 경우, 수정 및 확장이 가능하며, 커스터마이징(customizing)이 가능하도록 구현될 수 있다.In addition, the document co-editing
보통, 아파치 웹 서버는 수많은 모듈들로 구성되어 있는데, 그 중 WebDAV 관련 모듈로 mod_dav 모듈과 mod_dav_fs 모듈을 가지고 있다. 상기 mod_dav 모듈은 WebDAV의 메소드(method)들에 대해 전체적인 작업을 관장하는데, 주로 요청을 처리하고 응답을 보내는 일을 수행하고, 상기 mod_dav_fs 모듈은 파일 시스템을 통하여 리소스나 콜렉션(collection)에 대한 처리를 맡아서 한다. Usually, the Apache web server consists of a number of modules, one of which is the module related to WebDAV, which has a mod_dav module and a mod_dav_fs module. The mod_dav module is responsible for the overall work of WebDAV methods. It mainly handles requests and sends responses. The mod_dav_fs module handles the processing of resources or collections through the file system. Do it.
관련하여, 본 발명의 일실시예에 따르면, 문서 공동 편집 서버(120)는 전술한 바와 같이, 아파치의 mod_dav 모듈을 이용하여 구현될 수 있다.In relation to this, according to an embodiment of the present invention, the document co-editing
본 발명의 일실시예에 따르면, 문서 편집 장치 1(111), 문서 편집 장치 2(112) 및 문서 공동 편집 서버(120)는 문서의 공동 편집을 수행하기 위해 기존의 WebDAV 프로토콜에 하기의 표 2와 같은 WebDAV 기반의 문서의 공동 편집과 연관된 적어도 하나의 메소드가 포함된 확장 프로토콜을 기반으로 동작할 수 있다.
According to an embodiment of the present invention, the
이때, 상기 표 2에 나타낸 상기 적어도 하나의 메소드는 하기의 표 3과 같은 명령어로 정의될 수 있다.
In this case, the at least one method shown in Table 2 may be defined by a command as shown in Table 3 below.
즉, 문서 편집 장치 1(111), 문서 편집 장치 2(112) 및 문서 공동 편집 서버(120)는 기존의 WebDAV 프로토콜에 대해 상기 표 2와 상기 표 3에서 나타낸 문서의 공동 편집과 연관된 적어도 하나의 메소드들을 확장하여 확장된 메소드가 포함된 WebDAV 프로토콜을 기반으로 동작할 수 있다.That is, the
관련하여, 문서 편집 장치 1(111), 문서 편집 장치 2(112) 및 문서 공동 편집 서버(120)는 상기 문서의 공동 편집과 연관된 WebDAV 기반의 적어도 하나의 메소드가 정의된 프로토콜 정보를 저장하고 있을 수 있다.In this regard,
이하에서는 도 2 내지 도 4를 참조하여 문서 편집 장치 1(111), 문서 편집 장치 2(112) 및 문서 공동 편집 서버(120)가 문서의 공동 편집을 수행하는 과정을 상세히 설명하기로 한다.Hereinafter, a process of performing co-editing of a document by the
도 2는 본 발명의 일실시예에 따른 문서 공동 편집 시스템에서 문서 파일이 생성되는 과정을 설명하기 위한 도면이다.2 is a view for explaining a process of generating a document file in a document co-editing system according to an embodiment of the present invention.
문서 편집 장치 1(111)이 문서 공동 편집 서버(120)에 접속하여 문서 파일을 생성하는 과정을 설명하면, 다음과 같다.The
단계(S210)에서는 문서 편집 장치 1(111)이 “PROPFIND” 메소드를 이용하여 문서 공동 편집 서버(120)에 저장되어 있는 파일 목록을 검색할 수 있다.In operation S210, the
단계(S220)에서는 문서 편집 장치 1(111)이 “GET/PUT” 메소드를 이용하여 문서 공동 편집 서버(120)에 파일을 전송하거나 문서 공동 편집 서버(120)로부터 파일을 가져올 수 있다.In operation S220, the
단계(S230)에서는 문서 편집 장치 1(111)이 “COPY/MOVE” 메소드를 이용하여 문서 공동 편집 서버(120)에 저장되어 있는 파일을 다른 경로에 복사하거나 이동시킬 수 있다.In operation S230, the
문서 편집 장치 1(111)이 문서 공동 편집 서버(120)에 접속하여 단계(S210) 내지 단계(S230)의 과정을 통해 문서 공동 편집 서버(120)에 저장되어 있는 파일에 대한 정리를 완료하면, 문서 편집 장치 1(111)은 단계(S240)에서 WebDAV 프로토콜에 신규로 확장 추가된 파일의 생성과 연관된 파일 생성 메소드인 “COLLA_DAV_CREATE” 메소드를 이용하여 문서 공동 편집 서버(120)에 공동 편집 대상 문서에 대한 파일을 신규로 생성할 수 있다.When the
이와 관련하여, 문서 편집 장치 1(111)은 하기의 표 4의 예와 같은 구문을 이용하여 문서 공동 편집 서버(120)에 공동 편집 대상 문서에 대한 파일을 신규로 생성할 수 있다.
In this regard, the
<D:colla_dav_create xmlns:D="DAV:">
<D:filename/>test.txt</D:filename>
</D:colla_dav><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav_create xmlns: D = "DAV:">
<D: filename /> test.txt </ D: filename>
</ D: colla_dav>
문서 편집 장치 1(111)이 상기 표 4의 예와 같은 구문을 이용하여 문서 공동 편집 서버(120)에 대해 공동 편집 대상 문서에 대한 파일 생성 요청을 하면, 문서 공동 편집 서버(120)는 하기의 표 5와 같이 응답할 수 있다.
When the
HTTPHTTP
__
NOTNOT
__
ACCEPTABLEACCEPTABLE
(406) (406)
HTTPHTTP
__
FORBIDDENFORBIDDEN
(403) (403)
이상, 도 2를 참조하여 문서 공동 편집 서버(120)에 공동 편집 대상 문서에 대한 파일이 신규로 생성되는 예에 대해 설명하였다. 이하에서는 도 3을 참조하여 문서 편집 장치 1(111)과 문서 편집 장치 2(112)가 상기 공동 편집 대상 문서에 대한 공동 편집을 수행하는 과정을 설명하기로 한다.In the above, an example in which a file for a co-editing document is newly generated in the
도 3은 본 발명의 일실시예에 따른 문서 공동 편집 시스템에서 문서의 편집이 수행되는 과정을 설명하기 위한 도면이다.3 is a view for explaining a process of editing a document in a document co-editing system according to an embodiment of the present invention.
문서 편집 장치 1(111)은 문서 공동 편집 서버(120)가 개시한 문서의 공동 편집과 연관된 편집 세션에 참가하기 위해, 단계(S310)에서 상기 편집 세션에 참가할 수 있도록 하는 세션 참가 메소드인 “COLLA_DAV_JOIN” 메소드를 이용하여 상기 편집 세션에 참가할 수 있다.The
이때, 본 발명의 일실시예에 따르면, 문서 편집 장치 1(111)은 하기의 표 6의 예와 같은 구문을 이용하여 상기 편집 세션에 참가할 수 있다.
In this case, according to an embodiment of the present invention, the
<D:colla_dav_join xmlns:D="DAV:">
<D:filename />test.txt</D:filename>
</D:colla_dav><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav_join xmlns: D = "DAV:">
<D: filename /> test.txt </ D: filename>
</ D: colla_dav>
문서 편집 장치 1(111)이 상기 표 6의 예와 같은 구문을 이용하여 문서 공동 편집 서버(120)에 대해 상기 세션 참가의 요청을 하면, 문서 공동 편집 서버(120)는 하기의 표 7과 같이 응답할 수 있다.
When the
<D:colla_dav xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>1</D:revision>
<D:changeset>2</D:changeset>
</D:colla_dav><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 1 </ D: revision>
<D: changeset> 2 </ D: changeset>
</ D: colla_dav>
여기서, “revision”은 공동 편집 대상 문서의 편집 버전에 대한 정보, “changeset”은 상기 공동 편집 대상 문서에 대한 변경 횟수에 대한 정보를 의미한다.Here, "revision" means information about the edited version of the co-editing document, and "changeset" means information about the number of changes to the co-editing document.
예컨대, 상기 공동 편집 대상 문서에 대해 “가”와 “나”라는 단어가 각각 1회씩 삽입된 경우, 상기 공동 편집 대상 문서의 변경 횟수가 2회이므로, 상기 “changeset”은 2가 될 수 있고, 상기 “가”와 “나”라는 단어가 각각 1회씩 삽입된 후 상기 공동 편집 대상 문서가 새로 저장되는 경우, 상기 공동 편집 대상 문서의 편집 버전은 새로 갱신되었기 때문에 그 전 “revision”이 1이었다면, 상기 “revision”은 2가 될 수 있다. 이때, 상기 “revision”이 갱신되는 경우, 상기 공동 편집 대상 문서는 새로운 편집 버전으로 갱신된 것이기 때문에 상기 “changeset”도 0으로 갱신될 수 있다.For example, when the words “A” and “I” are inserted once for the co-editing document, since the number of changes of the co-editing document is twice, the “changeset” may be 2. When the co-edited document is newly stored after the words “A” and “I” are inserted once each, if the previous “revision” was 1 since the edited version of the co-edited document was newly updated, The "revision" may be two. In this case, when the "revision" is updated, the "changeset" may also be updated to 0 since the co-edited document is updated with a new edited version.
문서 편집 장치 1(111)이 단계(S310)에서 상기 편집 세션에 참가하면, 단계(S320)에서는 문서 편집 장치 1(111)이 “GET” 메소드를 이용하여 문서 공동 편집 서버(120)로부터 상기 공동 편집 대상 문서에 대한 파일을 다운로드할 수 있다.When the
이때, 문서 편집 장치 1(111)의 사용자는 상기 다운로드한 공동 편집 대상 문서를 이용하여 문서의 편집을 수행할 수 있다.In this case, the user of the
문서 편집 장치 1(111)의 사용자가 상기 공동 편집 대상 문서에 대한 편집을 수행하면, 단계(S330)에서는 문서 편집 장치 1(111)이 편집 메소드인 “COLLA_DAV_EDIT”를 이용하여 상기 공동 편집 대상 문서에 대한 편집 정보를 문서 공동 편집 서버(120)로 전송할 수 있다.When the user of the
이때, 본 발명의 일실시예에 따르면, 문서 편집 장치 1(111)은 하기의 표 8의 예와 같은 구문을 이용하여 상기 편집 정보를 문서 공동 편집 서버(120)로 전송할 수 있다.
In this case, according to an embodiment of the present invention, the
<D:colla_dav_edit xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>2</D:revision>
<D:changeset>20</D:changeset>
<action>insert</action>
<offset>80</offset>
<data>A</data>
</D:colla_dav_edit><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav_edit xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 2 </ D: revision>
<D: changeset> 20 </ D: changeset>
<action> insert </ action>
<offset> 80 </ offset>
<data> A </ data>
</ D: colla_dav_edit>
상기 표 8의 예에서는 문서 편집 장치 1(111)이 상기 공동 편집 대상 문서에 대해 “A”라는 단어를 삽입하는 예를 나타낸 것이다.In the example of Table 8, the
문서 편집 장치 1(111)이 상기 표 8의 예와 같은 구문을 이용하여 문서 공동 편집 서버(120)로 상기 편집 정보를 전송하면, 문서 공동 편집 서버(120)는 하기의 표 9와 같이 응답할 수 있다.
When the
<D:colla_dav xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>2</D:revision>
<D:changeset>21</D:changeset>
</D:colla_dav><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 2 </ D: revision>
<D: changeset> 21 </ D: changeset>
</ D: colla_dav>
표 9를 살펴보면, 문서 편집 장치 1(111)이 상기 공동 편집 대상 문서에 대해 “A”라는 단어를 삽입하였기 때문에 20이었던 “changeset”이 21로 갱신된 예가 나타나 있다.Referring to Table 9, there is shown an example in which "changeset", which was 20, was updated to 21 since the
문서 편집 장치 1(111)과 문서 공동 편집 서버(120)가 문서의 공동 편집을 수행하는 도중, 문서 편집 장치 2(112)가 상기 문서의 공동 편집 과정에 참가하는 경우, 단계(S340)에서는 문서 편집 장치 2(112)가 세션 참가 메소드인 “COLLA_DAV_JOIN” 메소드를 이용하여 상기 편집 세션에 참가할 수 있다.If the
그리고, 단계(S350)에서는 문서 편집 장치 2(112)가 “GET” 메소드를 이용하여 문서 공동 편집 서버(120)로부터 상기 공동 편집 대상 문서에 대한 파일을 다운로드할 수 있다.In operation S350, the document editing apparatus 2112 may download the file for the co-editing target document from the
문서 편집 장치 2(112)의 사용자가 상기 다운로드한 공동 편집 대상 문서를 기초로 문서 편집을 수행하면, 단계(S360)에서는 문서 편집 장치 2(112)가 편집 메소드인 “COLLA_DAV_EDIT”를 이용하여 문서 공동 편집 서버(120)로 상기 편집에 대한 편집 정보를 전송할 수 있다.When the user of the document editing apparatus 2 112 performs document editing based on the downloaded co-editing target document, in step S360, the document editing apparatus 2 112 uses the document editing method “COLLA_DAV_EDIT” to edit the document. The editing information about the editing may be transmitted to the
이렇게, 문서 편집 장치 1(111)과 문서 편집 장치 2(112)가 상기 공동 편집 대상 문서에 대한 편집을 수행할 때, 문서 편집 장치 1(111)과 문서 편집 장치 2(112)는 각각 별도로 문서의 편집을 수행하기 때문에 문서 편집 장치 1(111)과 문서 편집 장치 2(112)가 보유하고 있는 공동 편집 대상 문서는 서로 다를 수 있다.As such, when the
따라서, 문서 편집 장치 1(111)과 문서 편집 장치 2(112) 간에 상기 공동 편집 대상 문서에 대한 편집 상황을 동기화시킬 필요가 있다.Therefore, it is necessary to synchronize the editing status of the co-editing target document between the
관련하여, 문서 편집 장치 1(111)과 문서 편집 장치 2(112)는 상기 공동 편집 대상 문서에 대한 갱신 정보의 요청과 관련된 갱신 메소드인 “COLLA_DAV_UPDATE” 메소드를 이용하여 문서 공동 편집 서버(120)에 대해 상기 공동 편집 대상 문서에 대한 갱신을 요청할 수 있다.In relation to this, the
관련하여, 단계(S370)에서 문서 편집 장치 1(111)은 “COLLA_DAV_UPDATE” 메소드를 이용하여 문서 공동 편집 서버(120)에 대해 상기 공동 편집 대상 문서에 대한 갱신을 요청할 수 있다.In relation to operation S370, the
이때, 본 발명의 일실시예에 따르면, 문서 편집 장치 1(111)은 하기의 표 10의 예와 같은 구문을 이용하여 문서 공동 편집 서버(120)에 대해 상기 공동 편집 대상 문서에 대한 갱신을 요청할 수 있다.
At this time, according to an embodiment of the present invention, the document editing apparatus 1 (111) requests the
<D:colla_dav_update xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>2</D:revision>
<D:changeset>20</D:changeset>
</D:colla_dav_update><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav_update xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 2 </ D: revision>
<D: changeset> 20 </ D: changeset>
</ D: colla_dav_update>
이때, 문서 공동 편집 서버(120)는 문서 편집 장치 1(111)이 전송한 요청에 포함되어 있는 “changeset”과 문서 공동 편집 서버(120)가 보유하고 있는 “changeset”을 비교하여 서로 차이가 있는 경우, 문서 편집 장치 1(111)에 대해 공동 편집 대상 문서에 대한 갱신 내용을 응답으로 전송할 수 있다.In this case, the
관련하여, 문서 편집 장치 1(111)이 전송한 요청에 포함되어 있는 “changeset”은 20이고, 문서 공동 편집 서버(120)가 보유하고 있는 “changeset”은 상기 공동 편집 대상 문서에 “a”라는 단어가 추가됨에 따라 21로 변경되어 있는 경우, 문서 공동 편집 서버(120)는 문서 편집 장치 1(111)에 대해 하기의 표 11과 같은 구문의 응답을 전송할 수 있다.
In this regard, the "changeset" included in the request sent by the
<D:colla_dav xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>2</D:revision>
<D:changeset>21</D:changeset>
<D:change>
<D:action>insert</D:action>
<D:offset>50</D:offset>
<D:data>a</D:data>
</D:change>
</D:colla_dav><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 2 </ D: revision>
<D: changeset> 21 </ D: changeset>
<D: change>
<D: action> insert </ D: action>
<D: offset> 50 </ D: offset>
<D: data> a </ D: data>
</ D: change>
</ D: colla_dav>
문서 편집 장치 1(111)의 예와 마찬가지로, 문서 편집 장치 2(112)는 단계(S380)에서 “COLLA_DAV_UPDATE” 메소드를 이용하여 문서 공동 편집 서버(120)에 대해 상기 공동 편집 대상 문서에 대한 갱신을 요청할 수 있다.Like the example of the
이상, 도 3을 참조하여 문서 공동 편집 서버(120)에 저장되어 있는 공동 편집 대상 문서에 대해 공동 편집을 수행하는 예에 대해 설명하였다. 이하에서는 도 4를 참조하여 문서 편집 장치 1(111)이 상기 공동 편집 대상 문서에 대한 편집을 완료한 후 상기 공동 편집 대상 문서를 문서 공동 편집 서버(120)에 저장하는 예에 대해 설명하기로 한다.In the above, an example of performing co-editing on the co-editing target document stored in the
도 4는 본 발명의 일실시예에 따른 문서 공동 편집 시스템에서 문서 파일이 저장되는 과정을 설명하기 위한 도면이다.4 is a view for explaining a process of storing a document file in a document co-editing system according to an embodiment of the present invention.
문서 편집 장치 1(111)의 사용자가 상기 공동 편집 대상 문서에 대한 편집을 완료한 이후 상기 공동 편집 대상 문서를 저장하고자 하는 경우, 단계(S410)에서는 문서 편집 장치 1(111)이 상기 공동 편집 대상 문서를 저장할 수 있도록 하는 저장 메소드인 “COLLA_DAV_SAVE”를 이용하여 문서 공동 편집 서버(120)에 대해 상기 공동 편집 대상 문서에 대한 저장을 요청할 수 있다.If the user of the
이때, 본 발명의 일실시예에 따르면, 문서 편집 장치 1(111)은 하기의 표 12의 예와 같은 구문을 이용하여 문서 공동 편집 서버(120)에 대해 상기 공동 편집 대상 문서에 대한 저장을 요청할 수 있다.
In this case, according to an embodiment of the present invention, the document editing apparatus 1 (111) requests the
<D:colla_dav_save xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>2</D:revision>
<D:changeset>60</D:changeset>
</D:colla_dav_save><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav_save xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 2 </ D: revision>
<D: changeset> 60 </ D: changeset>
</ D: colla_dav_save>
이때, 문서 공동 편집 서버(120)는 상기 공동 편집 대상 문서의 저장 요청이 수신되면, 상기 공동 편집 대상 문서의 편집 버전이 갱신되는 것으로 판단하고, 문서 편집 장치 1(111)로부터 전송된 요청에 포함되어 있는 상기 공동 편집 대상 문서의 편집 버전과 연관된 “revision”을 한 단계 올릴 수 있다.In this case, when the
그리고, 문서 공동 편집 서버(120)는 상기 공동 편집 대상 문서의 편집 버전이 갱신되었기 때문에 문서 편집 장치 1(111)로부터 전송된 요청에 포함되어 있는 “changeset”을 0으로 갱신할 수 있다.In addition, since the edited version of the co-editing target document is updated, the
관련하여, 문서 편집 장치 1(111)이 전송한 요청에 포함되어 있는 “revision”은 2이므로, 문서 공동 편집 서버(120)는 상기 “revision”을 3으로 변경하고, “changeset”을 0으로 갱신한 후 문서 편집 장치 1(111)에 대해 하기의 표 13과 같은 구문의 응답을 전송할 수 있다.
In this regard, since the "revision" included in the request sent by the
<D:colla_dav xmlns:D="DAV:">
<D:doc />1</D:doc>
<D:revision>3</D:revision>
<D:changeset>0</D:changeset>
</D:colla_dav><? xml version = "1.0" encoding = "UTF-8"?>
<D: colla_dav xmlns: D = "DAV:">
<D: doc /> 1 </ D: doc>
<D: revision> 3 </ D: revision>
<D: changeset> 0 </ D: changeset>
</ D: colla_dav>
이때, 본 발명의 일실시예에 따르면, 문서 공동 편집 서버(120)는 상기 공동 편집 대상 문서가 새로 저장되는 경우, 상기 공동 편집 대상 문서에 대한 변경 내역 관리를 위해 소정의 파일에 대해 상기 “changeset” 정보를 기록할 수 있다.In this case, according to an embodiment of the present invention, when the co-editing document is newly stored, the
문서 편집 장치 1(111)에 의해 상기 공동 편집 대상 문서가 새로 저장되는 경우, 단계(S420)에서는 문서 공동 편집 서버(120)가 상기 공동 편집 대상 문서에 대한 편집을 수행하고 있는 문서 편집 장치 2(112)에 대해 새롭게 저장된 공동 편집 대상 문서가 있음을 알릴 수 있다.When the co-editing target document is newly stored by the
이때, 단계(S430)에서는 문서 편집 장치 2(112)가 상기 새롭게 저장된 공동 편집 대상 문서에 대한 파일을 요청하여 문서 공동 편집 서버(120)로부터 상기 새롭게 저장된 공동 편집 대상 문서를 다운로드할 수 있다.In this case, in operation S430, the document editing apparatus 2112 may request a file for the newly stored co-editing target document and download the newly stored co-editing target document from the
그리고 나서, 단계(S440)에서는 문서 편집 장치 2(112)가 상기 새롭게 저장된 공동 편집 대상 문서를 기초로 문서의 편집을 수행할 수 있다.Then, in operation S440, the document editing apparatus 2112 may edit the document based on the newly stored co-editing target document.
이상, 도 1 내지 도 4를 참조하여 본 발명의 일실시예에 따른 문서 공동 편집 시스템의 동작에 대해 설명하였다. 앞서 설명한 바와 같이, 본 발명의 실시예들은 기존의 WebDAV 프로토콜에 문서의 공동 편집이 가능하도록 하는 적어도 하나의 메소드가 포함된 확장된 프로토콜을 이용함으로써, 웹 서버를 통해 웹을 기반으로 하는 문서의 공동 편집 서비스를 제공할 수 있어, 문서의 공동 편집과 관련된 사용자의 편의를 도모할 수 있다.1 to 4, the operation of the document co-editing system according to an embodiment of the present invention has been described. As described above, embodiments of the present invention utilize an extended protocol that includes at least one method that enables co-editing of a document in an existing WebDAV protocol, thereby enabling the coordination of web-based documents through a web server. An editing service can be provided, and the user's convenience related to the co-editing of a document can be provided.
도 5는 본 발명의 일실시예에 따른 문서 편집 장치의 구조를 도시한 도면이다.5 is a diagram illustrating a structure of a document editing apparatus according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일실시예에 따른 문서 편집 장치(510)는 프로토콜 정보 저장부(511), 세션 구성부(512) 및 편집 수행부(513)를 포함한다.Referring to FIG. 5, a
프로토콜 정보 저장부(511)는 문서의 공동 편집과 연관된 WebDAV 기반의 적어도 하나의 메소드가 정의된 프로토콜 정보를 저장한다.The protocol
세션 구성부(512)는 상기 프로토콜 정보를 기초로 문서 공동 편집 서버(520)가 개시한 편집 세션에 참가하여 문서 공동 편집 서버(520)와 상기 편집 세션을 구성한다.The
편집 수행부(513)는 상기 프로토콜 정보를 기초로 문서 공동 편집 서버(520)에 저장되어 있는 공동 편집 대상 문서에 대한 편집을 수행한다.The
이때, 본 발명의 일실시예에 따르면, 프로토콜 정보 저장부(511)는 문서 공동 편집 서버(520)에 대한 파일의 생성과 연관된 파일 생성 메소드, 문서 공동 편집 서버(520)가 개시한 편집 세션에 대한 참가와 연관된 세션 참가 메소드, 상기 공동 편집 대상 문서에 대한 편집 정보의 송수신과 연관된 편집 메소드, 상기 공동 편집 대상 문서에 대한 갱신 정보의 송수신과 연관된 갱신 메소드 또는 문서 공동 편집 서버(520)에 대한 상기 공동 편집 대상 문서의 저장과 연관된 저장 메소드 중 어느 하나 이상의 메소드가 정의된 상기 프로토콜 정보를 저장할 수 있다.At this time, according to one embodiment of the present invention, the protocol
이때, 본 발명의 일실시예에 따르면, 상기 파일 생성 메소드, 상기 세션 참가 메소드, 상기 편집 메소드, 상기 갱신 메소드 및 상기 저장 메소드는 상기 표 3에 기재된 명령어로 정의될 수 있다.In this case, according to an embodiment of the present invention, the file generation method, the session join method, the edit method, the update method, and the storage method may be defined by the commands described in Table 3 above.
또한, 본 발명의 일실실시예에 따르면, 세션 구성부(512)는 상기 세션 참가 메소드를 기초로 상기 편집 세션에 참가하여 문서 공동 편집 서버(520)와 상기 편집 세션을 구성할 수 있다.In addition, according to an embodiment of the present invention, the
또한, 본 발명의 일실시예에 따르면, 편집 수행부(513)는 상기 편집 메소드에 기초하여 문서 공동 편집 서버(520)로 상기 공동 편집 대상 문서에 대한 편집 정보를 전송할 수 있다.In addition, according to an embodiment of the present invention, the
이때, 문서 공동 편집 서버(520)는 상기 편집 정보를 수신하여 상기 수신된 편집 정보를 기초로 상기 공동 편집 대상 문서를 갱신할 수 있다.In this case, the
또한, 본 발명의 일실시예에 따르면, 문서 편집 장치(510)는 파일 생성부(514), 갱신 정보 수신부(515) 및 문서 저장부(516)를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the
파일 생성부(514)는 상기 파일 생성 메소드에 기초하여 문서 공동 편집 서버(520)에 상기 공동 편집 대상 문서에 대한 파일을 신규로 생성한다.The
갱신 정보 수신부(515)는 상기 갱신 메소드에 기초하여 문서 공동 편집 서버(520)에 대해 상기 공동 편집 대상 문서에 대한 갱신을 요청하고, 상기 공동 편집 대상 문서가 갱신된 경우, 문서 공동 편집 서버(520)로부터 상기 공동 편집 대상 문서의 갱신과 연관된 갱신 정보를 수신한다.The update
문서 저장부(516)는 상기 저장 메소드에 기초하여 문서 공동 편집 서버(520)에 상기 공동 편집 대상 문서를 저장한다.The
이상, 도 5를 참조하여 본 발명의 일실시예에 따른 문서 편집 장치(510)에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 문서 편집 장치(510)는 도 1 내지 도 4를 이용하여 설명한 문서 편집 장치 1(111) 또는 문서 편집 장치 2(112)의 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The
도 6은 본 발명의 일실시예에 따른 문서 편집 방법을 도시한 순서도이다.6 is a flowchart illustrating a document editing method according to an embodiment of the present invention.
단계(S610)에서는 문서의 공동 편집과 연관된 WebDAV 기반의 적어도 하나의 메소드가 정의된 프로토콜 정보가 저장되어 있는 메모리를 관리한다.In step S610, at least one WebDAV-based method associated with co-editing of a document manages a memory in which protocol information in which a method is defined is stored.
단계(S620)에서는 상기 프로토콜 정보를 기초로 문서 공동 편집 서버가 개시한 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성한다.In step S620, the document co-editing server starts the editing session initiated by the document co-editing server based on the protocol information, and configures the editing session with the document co-editing server.
단계(S630)에서는 상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 저장되어 있는 공동 편집 대상 문서에 대한 편집을 수행한다.In step S630, editing on the co-editing target document stored in the document co-editing server is performed based on the protocol information.
이때, 본 발명의 일실시예에 따르면, 단계(S610)에서는 상기 문서 공동 편집 서버에 대한 파일의 생성과 연관된 파일 생성 메소드, 상기 문서 공동 편집 서버가 개시한 편집 세션에 대한 참가와 연관된 세션 참가 메소드, 상기 공동 편집 대상 문서에 대한 편집 정보의 송수신과 연관된 편집 메소드, 상기 공동 편집 대상 문서에 대한 갱신 정보의 송수신과 연관된 갱신 메소드 또는 상기 문서 공동 편집 서버에 대한 상기 공동 편집 대상 문서의 저장과 연관된 저장 메소드 중 어느 하나 이상의 메소드가 정의된 상기 프로토콜 정보가 저장되어 있는 상기 메모리를 관리할 수 있다.At this time, according to an embodiment of the present invention, in step S610, a file generation method associated with generation of a file for the document co-editing server, and a session join method associated with participation in an editing session initiated by the document co-editing server. An editing method associated with the transmission and reception of edit information for the co-edited document, an update method associated with the transmission and reception of update information for the co-edited document, or a storage associated with storage of the co-edited document for the document co-editing server One or more of the methods may manage the memory in which the protocol information in which one or more methods are defined is stored.
이때, 본 발명의 일실시예에 따르면, 상기 파일 생성 메소드, 상기 세션 참가 메소드, 상기 편집 메소드, 상기 갱신 메소드 및 상기 저장 메소드는 상기 표 3에 기재된 명령어로 정의될 수 있다.In this case, according to an embodiment of the present invention, the file generation method, the session join method, the edit method, the update method, and the storage method may be defined by the commands described in Table 3 above.
또한, 본 발명의 일실시예에 따르면, 단계(S620)에서는 상기 세션 참가 메소드를 기초로 상기 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성할 수 있다.Further, according to an embodiment of the present invention, in step S620, the editing session may be configured with the document co-editing server by joining the editing session based on the session joining method.
또한, 본 발명의 일실시예에 따르면, 단계(S630)에서는 상기 편집 메소드에 기초하여 상기 문서 공동 편집 서버로 상기 공동 편집 대상 문서에 대한 편집 정보를 전송할 수 있다.Further, according to an embodiment of the present invention, in step S630, the editing information for the co-editing target document may be transmitted to the document co-editing server based on the editing method.
이때, 상기 문서 공동 편집 서버는 상기 편집 정보를 수신하여 상기 수신된 편집 정보를 기초로 상기 공동 편집 대상 문서를 갱신할 수 있다.In this case, the document co-editing server may receive the edit information and update the co-editing target document based on the received edit information.
본 발명의 일실시예에 따르면, 상기 문서 편집 방법은 단계(S610)이후에 상기 파일 생성 메소드에 기초하여 상기 문서 공동 편집 서버에 상기 공동 편집 대상 문서에 대한 파일을 신규로 생성하는 단계, 상기 갱신 메소드에 기초하여 상기 문서 공동 편집 서버에 대해 상기 공동 편집 대상 문서에 대한 갱신을 요청하고, 상기 공동 편집 대상 문서가 갱신된 경우, 상기 문서 공동 편집 서버로부터 상기 공동 편집 대상 문서의 갱신과 연관된 갱신 정보를 수신하는 단계 및 상기 저장 메소드에 기초하여 상기 문서 공동 편집 서버에 상기 공동 편집 대상 문서를 저장하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the document editing method includes the step of newly generating a file for the co-editing target document in the document co-editing server based on the file generation method after step S610, and updating the document. Requesting the document co-editing server to update the co-editing document based on the method, and when the co-editing document is updated, update information associated with the update of the co-editing document from the document co-editing server The method may further include storing the co-editing target document in the document co-editing server based on the receiving and the storing method.
이상, 도 6을 참조하여 본 발명의 일실시예에 따른 문서 편집 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 문서 편집 방법은 도 1 내지 도 4를 이용하여 설명한 문서 편집 장치 1(111) 또는 문서 편집 장치 2(112)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, the document editing method according to the exemplary embodiment of the present invention has been described with reference to FIG. 6. Here, the document editing method according to an embodiment of the present invention may correspond to the configuration of the operation of the
본 발명의 일실시예에 따른 문서 편집 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The document editing method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
111: 문서 편집 장치 1 112: 문서 편집 장치 2
120: 문서 공동 편집 서버
510: 문서 편집 장치
511: 프로토콜 정보 저장부 512: 세션 구성부
513: 편집 수행부 514: 파일 생성부
515: 갱신 정보 수신부 516: 문서 저장부
520: 문서 공동 편집 서버111:
120: document co-editing server
510: document editing device
511: protocol information storage unit 512: session composition unit
513: editing execution unit 514: file generation unit
515: Update information receiver 516: Document storage unit
520: Document co-editing server
Claims (13)
문서의 공동 편집과 연관된 WebDAV(Web-based Distributed Authoring and Versioning) 기반의 적어도 하나의 메소드(method)가 정의된 프로토콜 정보를 저장하는 프로토콜 정보 저장부;
상기 프로토콜 정보를 기초로 문서 공동 편집 서버가 개시한 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성하는 세션 구성부;
상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 저장되어 있는 공동 편집 대상 문서에 대한 편집을 수행하는 편집 수행부; 및
상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 대해 상기 공동 편집 대상 문서에 대한 갱신 정보를 요청하고, 상기 문서 공동 편집 서버에서 상기 공동 편집 대상 문서가 신규 갱신된 것으로 판단된 경우, 상기 문서 공동 편집 서버로부터 상기 공동 편집 대상 문서에 대한 상기 갱신 정보를 수신하는 갱신 정보 수신부
를 포함하고,
상기 문서 공동 편집 서버는
상기 편집 수행부에 의해 상기 공동 편집 대상 문서에 대한 변경이 발생하면, 상기 문서 편집 장치에 대해 상기 공동 편집 대상 문서에 대한 변경 횟수와 연관된 정보를 응답으로 전송하는 문서 편집 장치.In the document editing device,
A protocol information storage unit for storing protocol information in which at least one method based on Web-based Distributed Authoring and Versioning (WebDAV) associated with co-editing of a document is defined;
A session constructing unit configured to participate in an editing session initiated by a document co-editing server based on the protocol information, and to form the editing session with the document co-editing server;
An editing execution unit which performs editing on the co-editing target document stored in the document co-editing server based on the protocol information; And
The document co-editing server requests update information on the co-editing target document based on the protocol information, and when the co-editing target document is determined to be newly updated by the document co-editing server, co-editing the document. An update information receiver for receiving the update information for the co-edited document from a server
Including,
The document co-editing server
And in response to a change to the co-editing document by the editing execution unit, transmitting information related to the number of changes to the co-editing document to the document editing device in response.
상기 프로토콜 정보 저장부는
상기 문서 공동 편집 서버에 대한 파일의 생성과 연관된 파일 생성 메소드, 상기 문서 공동 편집 서버가 개시한 편집 세션에 대한 참가와 연관된 세션 참가 메소드, 상기 공동 편집 대상 문서에 대한 편집 정보의 송수신과 연관된 편집 메소드, 상기 공동 편집 대상 문서에 대한 갱신 정보의 송수신과 연관된 갱신 메소드 또는 상기 문서 공동 편집 서버에 대한 상기 공동 편집 대상 문서의 저장과 연관된 저장 메소드 중 어느 하나 이상의 메소드가 정의된 상기 프로토콜 정보를 저장하는 문서 편집 장치.The method of claim 1,
The protocol information storage unit
A file creation method associated with the creation of a file for the document co-editing server, a session join method associated with participation in an editing session initiated by the document co-editing server, an editing method associated with the transmission and reception of edit information for the co-edited document A document storing the protocol information in which at least one of an update method associated with transmission and reception of update information for the co-edited document or a storage method associated with storage of the co-edited document for the document co-editing server is defined. Editing device.
상기 세션 구성부는
상기 세션 참가 메소드를 기초로 상기 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성하는 문서 편집 장치.The method of claim 2,
The session component is
And participate in the editing session based on the session join method to form the editing session with the document co-editing server.
상기 편집 수행부는
상기 편집 메소드에 기초하여 상기 문서 공동 편집 서버로 상기 공동 편집 대상 문서에 대한 편집 정보를 전송하고,
상기 문서 공동 편집 서버는
상기 편집 정보를 수신하여 상기 수신된 편집 정보를 기초로 상기 공동 편집 대상 문서를 갱신하는 문서 편집 장치.The method of claim 2,
The editing execution unit
Transmit editing information about the co-editing target document to the document co-editing server based on the editing method,
The document co-editing server
And a document editing device that receives the edit information and updates the co-editing target document based on the received edit information.
상기 파일 생성 메소드에 기초하여 상기 문서 공동 편집 서버에 상기 공동 편집 대상 문서에 대한 파일을 신규로 생성하는 파일 생성부; 및
상기 저장 메소드에 기초하여 상기 문서 공동 편집 서버에 상기 공동 편집 대상 문서를 저장하는 문서 저장부
를 더 포함하고,
상기 갱신 정보 수신부는
상기 갱신 메소드에 기초하여 상기 문서 공동 편집 서버에 대해 상기 공동 편집 대상 문서에 대한 상기 갱신 정보를 요청하고, 상기 문서 공동 편집 서버에서 상기 공동 편집 대상 문서가 신규 갱신된 것으로 판단된 경우, 상기 문서 공동 편집 서버로부터 상기 공동 편집 대상 문서에 대한 상기 갱신 정보를 수신하는 문서 편집 장치.The method of claim 2,
A file generator for newly generating a file for the co-editing document on the document co-editing server based on the file generation method; And
A document storage unit storing the co-editing target document in the document co-editing server based on the storage method
Further comprising:
The update information receiving unit
Requesting the update information on the co-editing target document from the document co-editing server based on the update method, and if the co-editing document is determined to be newly updated by the document co-editing server, the document co-editing server And a document editing device for receiving the update information on the co-editing document from an editing server.
상기 파일 생성 메소드, 상기 세션 참가 메소드, 상기 편집 메소드, 상기 갱신 메소드 및 상기 저장 메소드는 하기의 표 1에 기재된 명령어로 정의되는 문서 편집 장치.
[표 1]
The method of claim 2,
And the file creation method, the session join method, the edit method, the update method, and the save method are defined by the commands described in Table 1 below.
[Table 1]
문서의 공동 편집과 연관된 WebDAV(Web-based Distributed Authoring and Versioning) 기반의 적어도 하나의 메소드(method)가 정의된 프로토콜 정보가 저장되어 있는 메모리를 관리하는 단계;
상기 프로토콜 정보를 기초로 문서 공동 편집 서버가 개시한 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성하는 단계;
상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 저장되어 있는 공동 편집 대상 문서에 대한 편집을 수행하는 단계; 및
상기 프로토콜 정보를 기초로 상기 문서 공동 편집 서버에 대해 상기 공동 편집 대상 문서에 대한 갱신 정보를 요청하고, 상기 문서 공동 편집 서버에서 상기 공동 편집 대상 문서가 신규 갱신된 것으로 판단된 경우, 상기 문서 공동 편집 서버로부터 상기 공동 편집 대상 문서에 대한 상기 갱신 정보를 수신하는 단계
를 포함하고,
상기 문서 공동 편집 서버는
상기 문서 편집 장치에 의해 상기 공동 편집 대상 문서에 대한 변경이 발생하면, 상기 문서 편집 장치에 대해 상기 공동 편집 대상 문서에 대한 변경 횟수와 연관된 정보를 응답으로 전송하는 문서 편집 방법.In the document editing method of the document editing device,
Managing a memory storing protocol information in which at least one method based on Web-based Distributed Authoring and Versioning (WebDAV) associated with co-editing of a document is defined;
Joining an editing session initiated by a document co-editing server based on the protocol information to form the editing session with the document co-editing server;
Performing editing on a co-editing target document stored in the document co-editing server based on the protocol information; And
The document co-editing server requests update information on the co-editing target document based on the protocol information, and when the co-editing target document is determined to be newly updated by the document co-editing server, co-editing the document. Receiving the update information for the co-edited document from a server
Including,
The document co-editing server
And in response to a change to the co-editing document by the document editing device, transmitting information related to the number of changes to the co-editing document to the document editing device in response.
상기 메모리를 관리하는 단계는
상기 문서 공동 편집 서버에 대한 파일의 생성과 연관된 파일 생성 메소드, 상기 문서 공동 편집 서버가 개시한 편집 세션에 대한 참가와 연관된 세션 참가 메소드, 상기 공동 편집 대상 문서에 대한 편집 정보의 송수신과 연관된 편집 메소드, 상기 공동 편집 대상 문서에 대한 갱신 정보의 송수신과 연관된 갱신 메소드 또는 상기 문서 공동 편집 서버에 대한 상기 공동 편집 대상 문서의 저장과 연관된 저장 메소드 중 어느 하나 이상의 메소드가 정의된 상기 프로토콜 정보가 저장되어 있는 상기 메모리를 관리하는 문서 편집 방법.The method of claim 7, wherein
Managing the memory is
A file creation method associated with the creation of a file for the document co-editing server, a session join method associated with participation in an editing session initiated by the document co-editing server, an editing method associated with the transmission and reception of edit information for the co-edited document Storing the protocol information in which at least one of an update method associated with transmission and reception of update information for the co-edited document or a storage method associated with storage of the co-edited document to the document co-editing server is defined. A document editing method for managing the memory.
상기 편집 세션을 구성하는 단계는
상기 세션 참가 메소드를 기초로 상기 편집 세션에 참가하여 상기 문서 공동 편집 서버와 상기 편집 세션을 구성하는 문서 편집 방법.The method of claim 8,
Configuring the editing session
Join the editing session based on the session join method to form the editing session with the document co-editing server.
상기 편집을 수행하는 단계는
상기 편집 메소드에 기초하여 상기 문서 공동 편집 서버로 상기 공동 편집 대상 문서에 대한 편집 정보를 전송하고,
상기 문서 공동 편집 서버는
상기 편집 정보를 수신하여 상기 수신된 편집 정보를 기초로 상기 공동 편집 대상 문서를 갱신하는 문서 편집 방법.The method of claim 8,
The editing is performed
Transmit editing information about the co-editing target document to the document co-editing server based on the editing method,
The document co-editing server
Receiving the editing information and updating the co-editing target document based on the received editing information.
상기 파일 생성 메소드에 기초하여 상기 문서 공동 편집 서버에 상기 공동 편집 대상 문서에 대한 파일을 신규로 생성하는 단계; 및
상기 저장 메소드에 기초하여 상기 문서 공동 편집 서버에 상기 공동 편집 대상 문서를 저장하는 단계
를 더 포함하고,
상기 갱신 정보를 수신하는 단계는
상기 갱신 메소드에 기초하여 상기 문서 공동 편집 서버에 대해 상기 공동 편집 대상 문서에 대한 상기 갱신 정보를 요청하고, 상기 문서 공동 편집 서버에서 상기 공동 편집 대상 문서가 신규 갱신된 것으로 판단된 경우, 상기 문서 공동 편집 서버로부터 상기 공동 편집 대상 문서에 대한 상기 갱신 정보를 수신하는 문서 편집 방법.The method of claim 8,
Newly generating a file for the co-editing document on the document co-editing server based on the file generation method; And
Storing the co-edited document on the document co-editing server based on the storage method
Further comprising:
Receiving the update information is
Requesting the update information on the co-editing target document from the document co-editing server based on the update method, and if the co-editing document is determined to be newly updated by the document co-editing server, the document co-editing server And receiving the update information for the co-edited document from an editing server.
상기 파일 생성 메소드, 상기 세션 참가 메소드, 상기 편집 메소드, 상기 갱신 메소드 및 상기 저장 메소드는 하기의 표 2에 기재된 명령어로 정의되는 문서 편집 방법.
[표 2]
The method of claim 8,
The file creation method, the session join method, the edit method, the update method, and the save method are defined by the commands described in Table 2 below.
TABLE 2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110113047A KR101169642B1 (en) | 2011-11-01 | 2011-11-01 | Web-based distributed authoring and versioning protocol based document editing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110113047A KR101169642B1 (en) | 2011-11-01 | 2011-11-01 | Web-based distributed authoring and versioning protocol based document editing apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101169642B1 true KR101169642B1 (en) | 2012-08-03 |
Family
ID=46886792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110113047A KR101169642B1 (en) | 2011-11-01 | 2011-11-01 | Web-based distributed authoring and versioning protocol based document editing apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101169642B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016171401A1 (en) * | 2015-04-20 | 2016-10-27 | 주식회사 인프라웨어 | Method and device for sharing cooperative editing document |
-
2011
- 2011-11-01 KR KR1020110113047A patent/KR101169642B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
김동호외, 웹데브 기반의 효과적인 협업 작업 지원, 2006년도 한국정보과학회 가을 학술발표 논문집, vol.33 No.2, pp 566-570.2006.10.21.* |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016171401A1 (en) * | 2015-04-20 | 2016-10-27 | 주식회사 인프라웨어 | Method and device for sharing cooperative editing document |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809491B2 (en) | Expandable data object management and indexing architecture for intersystem data exchange compatibility | |
US8738567B2 (en) | Network file system with enhanced collaboration features | |
US20090172101A1 (en) | Gesture-based collaboration | |
US11886388B1 (en) | Recent file synchronization and aggregation methods and systems | |
US8620965B2 (en) | Dynamic configuration of services using a syndication feed | |
KR20120014896A (en) | Fast merge support for legacy documents | |
US8639763B2 (en) | Methods and apparatus to forward documents in a communication network | |
US20100325208A1 (en) | Methods and apparatus to forward documents in a communication network | |
EP2203844A2 (en) | Gesture-based collaboration | |
CN104509029A (en) | Method and apparatus for updating personal information in communication system | |
US20180338014A1 (en) | Restful method and apparatus to import content by geo-aware content caching service | |
KR101169642B1 (en) | Web-based distributed authoring and versioning protocol based document editing apparatus and method | |
Lim et al. | Design and implementation of a collaborative team-based cloud storage system | |
CN104509028A (en) | Method and apparatus for updating personal information in communication system | |
EP3142320B1 (en) | Remote modification of a document database by a mobile telephone device | |
WO2022221671A1 (en) | Cloud-native content management system | |
Krishnan et al. | Cloud Storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150723 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180702 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190704 Year of fee payment: 8 |