WO2018004021A1 - 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법 - Google Patents

전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2018004021A1
WO2018004021A1 PCT/KR2016/006871 KR2016006871W WO2018004021A1 WO 2018004021 A1 WO2018004021 A1 WO 2018004021A1 KR 2016006871 W KR2016006871 W KR 2016006871W WO 2018004021 A1 WO2018004021 A1 WO 2018004021A1
Authority
WO
WIPO (PCT)
Prior art keywords
editing
user
client terminal
command
markup language
Prior art date
Application number
PCT/KR2016/006871
Other languages
English (en)
French (fr)
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 US15/516,676 priority Critical patent/US10310716B2/en
Priority to KR1020177000808A priority patent/KR101774267B1/ko
Priority to PCT/KR2016/006871 priority patent/WO2018004021A1/ko
Publication of WO2018004021A1 publication Critical patent/WO2018004021A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to a technique for a document collaboration support apparatus and method for supporting simultaneous editing of multiple users on an electronic document.
  • These electronic document related programs include word processors that support the creation and editing of basic documents, data entry, arithmetic operations, spreadsheets to assist with data management, and presentation programs to assist presenters.
  • the user may install the aforementioned electronic document related programs directly on the electronic terminal device, and then operate the electronic document related programs to view or create the electronic document. I had to edit.
  • the web-based electronic document service supports various client terminals to access, create and edit electronic documents through a browser installed in the client terminals after accessing the electronic document service providing server. It is mainly used by companies and organizations in that it supports simultaneous collaboration on electronic documents in real time.
  • the web-based electronic document service can view, create, and edit electronic documents through a browser mounted on the client terminal as long as it can access the Internet without installing a predetermined electronic document writing program on the client terminal. Because it supports to ensure the mobility of users, individual users are also gradually increasing.
  • a web-based electronic document service converts an original electronic document into a markup language-based document so that a networked client terminal can edit the electronic document through a browser. If provided, the client terminal is operated in such a manner as to edit the markup language-based document through a browser.
  • such a web-based electronic document service requires a technique for supporting a plurality of users to simultaneously access and perform simultaneous editing of an electronic document.
  • any one user can edit an electronic document. If other users participate in the collaboration to perform simultaneous editing of the electronic document in the situation of performing, research of a technique for synchronizing the documents with each other is necessary.
  • An apparatus and method for collaboratively editing an electronic document may be provided by a second user while the first user is editing an electronic document converted into a markup language-based document.
  • the markup language-based document reflecting the editing contents generated so far by the first user is transmitted to the client terminal of the second user, and the editing instructions generated by the first user are displayed.
  • the markup language-based document reflecting the editing contents generated so far by the first user
  • the markup language-based document is delivered to the client terminal of the second user. If further editing occurs for the second user, only the editing command further generated based on the revision number is used by the client of the second user.
  • By passing the agent terminal to enable the first user and the second user to perform the simultaneous editing each other for the same markup language based document.
  • the collaboration support apparatus for co-editing an electronic document marks the original electronic document when an access request for a collaboration target electronic document is received from a client terminal of a networked first user.
  • a document providing unit for converting a markup language-based document into a memory, storing the markup language-based document in a memory, and transmitting the markup language-based document to a client terminal of the first user;
  • An editing command receiver for receiving at least one editing command for the markup language-based document from a client terminal, and performing editing by reflecting the at least one editing command to the markup language-based document stored in the memory; After editing the document editing execution unit and the markup language-based document, If a collaborative participation request for co-editing the electronic document is received from a client terminal of a second user connected through a network, the at least one editing command is provided to the client terminal of the second user in response to the collaborative participation request. And a document sharing unit for transmitting the markup language-based document in which the editing is performed.
  • a method of operating a collaborative assistance apparatus for co-editing an electronic document may be provided when an access request for an original electronic document, which is a collaboration target, is received from a client terminal of a first user connected through a network.
  • An apparatus and method for collaboratively editing an electronic document may be provided by a second user while the first user is editing an electronic document converted into a markup language-based document.
  • the markup language-based document reflecting the editing contents generated so far by the first user is transmitted to the client terminal of the second user, and the editing instructions generated by the first user are displayed.
  • the first user and the second user can be supported to each other to perform the simultaneous editing with respect to the same markup language based document, passing to.
  • FIG. 1 is a system conceptual diagram schematically illustrating an entire system for explaining a cooperative support apparatus for co-editing an electronic document according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a structure of a collaboration support apparatus for co-editing an electronic document according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method of operating a collaborative assistance apparatus for co-editing an electronic document according to an embodiment of the present invention.
  • FIG. 1 is a system conceptual diagram schematically illustrating an entire system for explaining a cooperative support apparatus for co-editing an electronic document according to an embodiment of the present invention.
  • FIG. 1 shows a collaboration support apparatus 110 for co-editing an electronic document, a client terminal 131 of a first user 121, and a client terminal 132 of a second user 122 according to the present invention. .
  • the collaboration support apparatus 110 for co-editing the electronic document converts the original electronic document into a Markup Language language-based document and stores the markup language-based document in a memory.
  • the markup language-based document may be transmitted to the client terminal 131 of the first user 121.
  • the markup language-based document refers to a document composed of a markup language that can be viewed through a browser installed in a client terminal such as HTML (Hypertext Markup Language) or XML (eXtensible Markup Language).
  • HTML Hypertext Markup Language
  • XML eXtensible Markup Language
  • an access request for the original electronic document is received from the client terminal 131 of the first user 121 in a state where an original electronic document having an extension such as "hwp" or "docx" is stored in a predetermined document storage.
  • the collaboration support apparatus 110 for co-editing the electronic document extracts the original electronic document from the document storage, converts the original electronic document into a markup language-based document such as HTML, and then converts the converted markup.
  • the language-based document may be stored in a memory of the collaboration support apparatus 110 itself for co-editing the electronic document, and the converted markup language-based document may be transmitted to the client terminal 131 of the first user 121. .
  • the document storage in which the original electronic document is stored may be mounted inside the collaboration support apparatus 110 for co-editing the electronic document, and co-editing the electronic document may be performed. It may be configured as a stand alone (stand alone) -based device separately from the collaboration support device 110 for.
  • the client terminal 131 of the first user 121 may receive the client terminal 131 of the first user 121.
  • the markup language-based document may be rendered and displayed on the screen through a first browser installed in the package.
  • the first browser installed in the client terminal 131 of the first user 121 receives at least one editing command for editing the markup language-based document from the first user 121, Edit the markup language-based document displayed on the screen based on the at least one edit command, and transmit the at least one edit command to the collaboration support apparatus 110 for co-editing an electronic document.
  • the collaboration supporting apparatus 110 for co-editing the electronic document may include:
  • the markup language-based document is edited by reflecting the at least one editing command to the markup language-based document stored in the memory of 110, thereby providing the client terminal 131 of the first user 121 with the edited markup language-based document. You can keep the same editing status as the saved markup language-based document.
  • the collaboration support apparatus 110 for the co-editing of the electronic document is the order in which the at least one edit command is generated for each of the at least one edit command received from the client terminal 131 of the first user 121. You can assign a revision number according to.
  • the at least one editing command is composed of "edit command 1", “edit command 2", and “edit command 3", and the "edit command 1" and “edit command 2" by the first user 121.
  • the collaboration supporting apparatus 110 for the co-editing of the electronic document is performed on “revision 1" and “editing command 2" for "editing command 1".
  • a revision number called “Revision 3” can be assigned to "Revision 2" and "Edit command 3".
  • the cooperative support apparatus 110 for co-editing of an electronic document may be configured to at least the client terminal 132 of the second user 122 in response to the cooperative participation request.
  • the markup language-based document in which the editing is performed may be transmitted according to one editing command.
  • the collaboration support apparatus 110 for the co-editing of the electronic document is the client terminal 132 of the second user 122 in response to the collaboration participation request received from the client terminal 132 of the second user 122.
  • the first revision number last allocated to the at least one editing command may be transmitted.
  • the at least one editing command is referred to as "edit command 1", “edit command 2", “edit command 3”, and “revision 1” for "edit command 1” and “revision command” for "edit command 2".
  • 2 " and " Revision 3 " are assigned to " edit command 3 "
  • the collaboration supporting apparatus 110 for co-editing the electronic document is sent to the client terminal 132 of the second user 122.
  • a revision number called “Revision 3”, which is the last revision number assigned to "Edit Command 3" can be transmitted.
  • the markup language-based document may be rendered and displayed on the screen through a second browser installed in the client terminal 132 of the second user 122.
  • the second user 122 has the same form as the markup language-based document displayed on the client terminal 131 of the first user 121 through the second browser installed in the client terminal 132.
  • a markup language-based document may be viewed, thereby placing a state in which simultaneous editing of the markup language-based document may be performed.
  • the markup language-based document and the collaboration support apparatus 110 for co-editing the electronic document are edited according to the at least one editing command with respect to the client terminal 132 of the second user 122. If an additional editing command for the markup language-based document is generated by the first user 121 while transmitting the first revision number, the markup language displayed on the client terminal 132 of the second user 122 is generated.
  • the base document and the markup language-based document displayed on the client terminal 131 of the first user 121 may be different from each other.
  • the markup language-based document displayed on the client terminal 132 of the second user 122 and the markup language-based document displayed on the client terminal 131 of the first user 121 are the same.
  • a configuration is needed to support the first user 121 and the second user 122 to perform simultaneous editing on the markup language-based document.
  • the collaboration support apparatus 110 for co-editing an electronic document may include the markup language-based document in which editing is performed on the client terminal 132 of the second user 122 according to the at least one editing command. If at least one first additional editing command for the markup language-based document is received from the client terminal 131 of the first user 121 while transmitting the first revision number, the client of the first user 121 is received. After receiving the at least one first additional editing command from the terminal 131, after the first revision number in the order in which the at least one first additional editing command occurs for each of the at least one first additional editing command. You can assign additional revision numbers, starting with the number corresponding to.
  • the collaboration support apparatus 110 may assign a revision number "Revision 4" starting with the number corresponding to "Revision 3” after “Revision 3” for the "Edit command 4", and " Revision 5 "can be allocated.
  • the client terminal 132 of the second user 122 receives the markup language-based document in which the editing is performed according to the at least one editing command, and displays the markup language-based document through the second browser. Once displayed on the screen, a request to transmit an additional editing command to which the collaboration support apparatus 110 for co-editing an electronic document is assigned a revision number after the first revision number for the markup language-based document is transmitted. Can be.
  • the collaboration support apparatus 110 for co-editing an electronic document is assigned a revision number after the first revision number from the client terminal 132 of the second user 122 and receives a request for transmitting an additional editing command
  • the additional editing command additionally received from the client terminal 131 of the first user 121, it may be determined whether there is an additional editing command to which a revision number after the first revision number is assigned.
  • At least one first additional editing command called “edit command 4" and "edit command 5" has been received from the client terminal 131 of the first user 121, and "edit command 4".
  • revision number after "Revision 3" is assigned from the client terminal 132 of the second user 122
  • the collaboration supporting apparatus 110 for co-editing an electronic document is received from the client terminal 131 of the user 1 121.
  • the collaboration support apparatus 110 for co-editing the electronic document may transmit the at least one first additional editing command to the client terminal 132 of the second user 122.
  • the client terminal 132 of the second user 122 receives the at least one first additional editing command from the collaboration support apparatus 110 for the co-editing of the electronic document, the client of the second user 122.
  • the markup language displayed through the second browser by reflecting the at least one first additional editing command to the markup language-based document displayed through the second browser installed in the terminal 132.
  • the base document may be made in the same state as the markup language-based document displayed through the first browser installed in the client terminal 131 of the first user 121.
  • the collaborative support apparatus 110 for co-editing an electronic document while the first user 121 edits the electronic document converted into a markup language-based document,
  • the client terminal 132 of the second user 122 displays the markup language-based document reflecting the edit contents generated so far by the first user 121.
  • To the client terminal 132 of the second user 122 by assigning a revision number based on the generation order of the editing command to the editing commands generated by the first user 121.
  • the agent terminal 132 can be supported so that the first user 121 and second user 122 may each perform the simultaneous editing with respect to the same markup language based document.
  • FIG. 2 is a diagram illustrating a structure of a collaboration support apparatus for co-editing an electronic document according to an embodiment of the present invention.
  • the collaboration support apparatus 210 for co-editing an electronic document includes a document providing unit 211, an editing command receiving unit 212, a document editing execution unit 213, and the like. And a document sharing unit 214.
  • the document providing unit 211 When the document providing unit 211 receives an access request for an original electronic document to be a collaboration object from the client terminal 230 of a first user connected through a network, the document providing unit 211 converts the original electronic document into a markup language-based document and marks the mark.
  • the up-language-based document is stored in a memory, and the markup language-based document is transmitted to the client terminal 230 of the first user.
  • the editing command receiving unit 212 receives at least one editing command for the markup language-based document from the client terminal 230 of the first user.
  • the document editing execution unit 213 performs the editing by reflecting the at least one editing command on the markup language-based document stored in the memory.
  • the document sharing unit 214 receives a collaboration participation request for co-editing the electronic document from the client terminal 240 of a second user connected through the network.
  • the markup language-based document is edited according to the at least one editing command, the markup language-based document is transmitted to the client terminal 240 of the second user in response to the collaboration participation request.
  • the client terminal 230 of the first user may select a first browser installed in the client terminal 230 of the first user. Render the markup language based document on the screen and display the markup language based document, and then edit the markup language based document displayed on the screen according to the at least one editing command input from the first user; The at least one editing command is transmitted to the collaboration support apparatus 210 for co-editing the electronic document.
  • the collaboration support apparatus 210 for the co-editing of the electronic document is an additional editing command request receiving unit 215, the additional editing determination unit 216 and the additional editing command transmission unit 217. It may further include.
  • the additional editing command request receiving unit 215 transmits the markup language-based document in which the editing is performed according to the at least one editing command to the client terminal 240 of the second user, and then the client terminal of the second user. Receive a request for a further edit command for the markup language-based document from 240.
  • the additional editing determination unit 216 determines whether there is an additional editing command additionally received in addition to the at least one editing command from the client terminal 230 of the first user in response to the request for transmitting the additional editing command. .
  • the additional editing command transmitting unit 217 may add the at least one first addition.
  • the editing command is transmitted to the client terminal 240 of the second user.
  • the collaboration support apparatus 210 for the co-editing of the electronic document is a revision number assignment unit 218, revision number transmission unit 219, additional editing command receiving unit 220 and addition
  • the revision number allocator 221 may further include.
  • the revision number assignment unit 218 may perform the revision according to the order in which the at least one edit command occurs for each of the at least one edit command. Assign a number.
  • the revision number transmitter 219 is finally assigned to the at least one editing command to the client terminal 240 of the second user in response to the collaboration participation request received from the client terminal 240 of the second user. Transmits the first revision number.
  • the additional editing command receiving unit 220 receives the at least one first additional editing command for the markup language-based document from the client terminal 230 of the first user, the client terminal 230 of the first user. Receive the at least one first additional edit command.
  • the additional revision number allocating unit 221 starts the number corresponding to the first revision number after the first revision number according to the order in which the at least one first additional editing command occurs for each of the at least one first additional editing command. Assign additional numbers.
  • the additional editing command request receiving unit 215 transmits the markup language-based document in which the editing is performed according to the at least one editing command to the client terminal 240 of the second user.
  • the client terminal 240 may receive a request for transmitting an additional editing command to which the revision number after the first revision number for the markup language-based document is assigned.
  • the additional editing determiner 216 may perform the first revision with an additional editing command received in addition to the at least one editing command from the client terminal 230 of the first user in response to the request for transmitting the additional editing command. It is possible to determine whether there is an additional edit command to which the revision number after the number is assigned.
  • the additional editing command transmitting unit 217 is an additional editing command additionally received from the client terminal 230 of the first user, wherein the at least one first addition to which the revision number after the first revision number is assigned is added. If it is determined that an editing command exists, the at least one first additional editing command may be transmitted to the client terminal 240 of the second user.
  • the client terminal 240 of the second user receives the client of the second user.
  • the collaboration support apparatus 210 for co-editing an electronic document after the first revision number is displayed.
  • a request to send an additional edit command assigned a revision number can be sent.
  • the collaboration support apparatus 210 for co-editing an electronic document according to an embodiment of the present invention has been described with reference to FIG. 2.
  • the collaboration support apparatus 210 for co-editing an electronic document according to an embodiment of the present invention may correspond to the configuration of the collaboration support apparatus 110 for co-editing the electronic document described with reference to FIG. 1. Therefore, a detailed description thereof will be omitted.
  • FIG. 3 is a flowchart illustrating a method of operating a collaborative assistance apparatus for co-editing an electronic document according to an embodiment of the present invention.
  • At least one editing command for the markup language-based document is received from the client terminal of the first user.
  • the edit is performed by reflecting the at least one editing command to the markup language-based document stored in the memory.
  • the markup language-based document when the markup language-based document is received by the client terminal of the first user, the markup language-based based on the markup language through a first browser installed in the client terminal of the first user.
  • the markup language based document displayed on the screen is edited according to the at least one editing command input from the first user, and the at least one edit is performed.
  • the command may be transmitted to a collaboration support device for co-editing the electronic document.
  • the method for operating a collaboration support device for the co-editing of the electronic document is the markup language in which the editing is performed according to the at least one editing command to the client terminal of the second user
  • receiving a request for transmitting an additional editing command for the markup language-based document from the client terminal of the second user is transmitted, receiving a request for transmitting an additional editing command for the markup language-based document from the client terminal of the second user; and in response to the request for transmitting the additional editing command, a client of the first user.
  • Determining whether there is an additional editing command received in addition to the at least one editing command from the terminal, and the additional editing command further received from the client terminal of the first user includes at least one first additional editing command. If it is determined to exist, the at least one first additional edit command is Of it may further comprise the step of transmitting to the client terminal.
  • the at least one editing command when the at least one editing command is received from the client terminal of the first user, the at least one editing command Allocating a revision number for each of the at least one editing command in an order in which the at least one editing command occurs, wherein the at least one is assigned to the client terminal of the second user in response to the collaboration participation request received from the client terminal of the second user.
  • the markup language-based document in which the editing is performed according to the at least one editing command is transmitted to the client terminal of the second user.
  • the client terminal may receive a request for transmitting an additional editing command to which the revision number after the first revision number for the markup language-based document is assigned, and determining whether the additional editing command exists.
  • the at least one first additional edit command determines whether the at least one first additional edit command. If it is determined that the command exists, the at least one first additional editing command may be transmitted to the client terminal of the second user.
  • the client terminal of the second user is installed in the client terminal of the second user when the markup language-based document is edited according to the at least one editing command. Editing the markup language-based document through the second browser to display on the screen, the revision number after the first revision number is assigned to the collaboration support device for co-editing the electronic document A request for sending a command can be sent.
  • the operation method of the collaboration support apparatus for co-editing an electronic document according to an embodiment of the present invention has been described with reference to FIG. 3.
  • the operation method of the collaboration support apparatus for the co-editing of electronic documents according to an embodiment of the present invention is the operation of the collaboration support apparatus 110, 210 for the co-editing of the electronic document described with reference to Figs. Since it may correspond to the configuration for, a more detailed description thereof will be omitted.
  • the method of operating a collaborative assistance apparatus for co-editing an electronic document may be implemented as a computer program stored in a storage medium for execution by combining with a computer.
  • the operating method of the apparatus for assisting collaboration for co-editing an electronic document 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.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • 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.
  • 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.

Abstract

본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치 및 방법은 마크업 언어 기반 문서로 변환된 전자 문서에 대해 제1 유저가 편집을 수행하고 있는 도중, 제2 유저가 상기 전자 문서에 대한 협업에 참가하는 경우, 상기 제1 유저에 의해서 현재까지 발생한 편집 내용이 반영된 마크업 언어 기반 문서를 상기 제2 유저의 클라이언트 단말에 전달함으로써, 상기 제1 유저와 상기 제2 유저가 서로 동일한 마크업 언어 기반 문서에 대해서 동시 편집을 수행할 수 있도록 지원할 수 있다.

Description

전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
본 발명은 전자 문서에 대한 다수의 유저들의 동시 편집을 지원하기 위한 문서 협업 지원 장치 및 방법에 대한 기술과 관련된다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다.
하지만, 최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 원격지의 서버를 통해서, 클라이언트 단말인 전자 단말 장치에 전자 문서 관련 서비스를 제공함으로써, 사용자가 전자 단말 장치에 소정의 전자 문서 관련 프로그램을 설치하지 않더라도 언제 어디에서든지 전자 문서를 열람, 작성, 편집할 수 있도록 하는 웹 기반의 전자 문서 서비스가 등장하고 있다.
이러한 웹 기반의 전자 문서 서비스는 다양한 클라이언트 단말들이 전자 문서 서비스 제공 서버에 접속한 후 클라이언트 단말들에 설치되어 있는 브라우저를 통해 전자 문서를 열람, 작성 및 편집할 수 있도록 지원하며, 다양한 클라이언트 단말들이 상기 전자 문서에 대해서 실시간으로 동시 협업을 수행할 수 있도록 지원한다는 점에서 기업이나 단체 등에서 주로 활용되고 있다.
그리고, 웹 기반의 전자 문서 서비스는 클라이언트 단말에 소정의 전자 문서 작성 프로그램을 설치할 필요 없이, 인터넷에 접속만 할 수 있으면, 클라이언트 단말에 탑재되어 있는 브라우저를 통해서 전자 문서를 열람하고, 작성 및 편집할 수 있도록 지원하기 때문에 사용자의 이동성을 보장할 수 있어, 개인 사용자들도 점차 증가하고 있는 추세이다.
보통, 웹 기반의 전자 문서 서비스는 네트워크로 연결된 클라이언트 단말이 브라우저를 통해 전자 문서에 대한 편집을 수행할 수 있도록 지원하기 위해, 원본 전자 문서를 마크업 언어(Markup Language) 기반 문서로 변환하여 클라이언트 단말로 제공하면, 클라이언트 단말이 브라우저를 통해 상기 마크업 언어 기반 문서에 대한 편집을 수행하는 방식으로 운영된다.
관련해서, 이러한 웹 기반의 전자 문서 서비스에서는 복수의 유저들이 동시에 하나의 전자 문서에 액세스하여 동시 편집을 수행할 수 있도록 지원하기 위한 기술이 필요한데, 특히, 어느 한 명의 유저가 전자 문서에 대해 편집을 수행하고 있는 상황에서 다른 유저가 해당 전자 문서에 대한 동시 편집을 수행하기 위해 협업에 참가할 경우, 양 유저들 간에 문서를 서로 동기화시키기 위한 기술의 연구가 필요하다.
본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치 및 방법은 마크업 언어 기반 문서로 변환된 전자 문서에 대해 제1 유저가 편집을 수행하고 있는 도중, 제2 유저가 상기 전자 문서에 대한 협업에 참가하는 경우, 상기 제1 유저에 의해서 현재까지 발생한 편집 내용이 반영된 마크업 언어 기반 문서를 상기 제2 유저의 클라이언트 단말에 전달하고, 상기 제1 유저에 의해서 발생하는 편집 명령어들에 대해 편집 명령어의 발생 순서에 기초한 리비전(revision) 번호를 할당해 둠으로써, 상기 제2 유저의 클라이언트 단말에 상기 마크업 언어 기반 문서가 전달되는 도중에 상기 제1 유저에 의해서 상기 마크업 언어 기반 문서에 대한 추가 편집이 발생하면, 상기 리비전 번호를 기초로 추가로 발생된 편집 명령어만을 상기 제2 유저의 클라이언트 단말로 전달하여 상기 제1 유저와 상기 제2 유저가 서로 동일한 마크업 언어 기반 문서에 대해서 동시 편집을 수행할 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치는 네트워크로 연결된 제1 유저의 클라이언트 단말로부터 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 상기 원본 전자 문서를 마크업(Markup Language) 언어 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장하고, 상기 마크업 언어 기반 문서를 상기 제1 유저의 클라이언트 단말로 전송하는 문서 제공부, 상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 편집 명령을 수신하는 편집 명령 수신부, 상기 적어도 하나의 편집 명령을 상기 메모리 상에 저장되어 있는 상기 마크업 언어 기반 문서에 반영하여 편집을 수행하는 문서 편집 수행부 및 상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 상기 네트워크를 통해 연결된 제2 유저의 클라이언트 단말로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송하는 문서 공유부를 포함한다.
또한, 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법은 네트워크로 연결된 제1 유저의 클라이언트 단말로부터 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 상기 원본 전자 문서를 마크업 언어 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장하고, 상기 마크업 언어 기반 문서를 상기 제1 유저의 클라이언트 단말로 전송하는 단계, 상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 편집 명령을 수신하는 단계, 상기 적어도 하나의 편집 명령을 상기 메모리 상에 저장되어 있는 상기 마크업 언어 기반 문서에 반영하여 편집을 수행하는 단계 및 상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 상기 네트워크를 통해 연결된 제2 유저의 클라이언트 단말로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송하는 단계를 포함한다.
본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치 및 방법은 마크업 언어 기반 문서로 변환된 전자 문서에 대해 제1 유저가 편집을 수행하고 있는 도중, 제2 유저가 상기 전자 문서에 대한 협업에 참가하는 경우, 상기 제1 유저에 의해서 현재까지 발생한 편집 내용이 반영된 마크업 언어 기반 문서를 상기 제2 유저의 클라이언트 단말에 전달하고, 상기 제1 유저에 의해서 발생하는 편집 명령어들에 대해 편집 명령어의 발생 순서에 기초한 리비전 번호를 할당해 둠으로써, 상기 제2 유저의 클라이언트 단말에 상기 마크업 언어 기반 문서가 전달되는 도중에 상기 제1 유저에 의해서 상기 마크업 언어 기반 문서에 대한 추가 편집이 발생하면, 상기 리비전 번호를 기초로 추가로 발생된 편집 명령어만을 상기 제2 유저의 클라이언트 단말로 전달하여 상기 제1 유저와 상기 제2 유저가 서로 동일한 마크업 언어 기반 문서에 대해서 동시 편집을 수행할 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치를 설명하기 위한 전체 시스템을 개략적으로 도시한 시스템 개념도이다.
도 2는 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치를 설명하기 위한 전체 시스템을 개략적으로 도시한 시스템 개념도이다.
도 1에는 본 발명에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치(110), 제1 유저(121)의 클라이언트 단말(131), 제2 유저(122)의 클라이언트 단말(132)이 도시되어 있다.
우선, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)와 네트워크로 연결된 제1 유저(121)의 클라이언트 단말(131)로부터 소정의 문서 스토리지에 저장되어 있는 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 상기 원본 전자 문서를 마크업 언어(Markup Language) 언어 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장한 후 상기 마크업 언어 기반 문서를 제1 유저(121)의 클라이언트 단말(131)로 전송할 수 있다.
여기서, 마크업 언어 기반 문서란 HTML(Hypertext Markup Language)이나 XML(eXtensible Markup Language)과 같은 클라이언트 단말에 설치되어 있는 브라우저를 통해서 열람이 가능한 마크업 언어로 구성된 문서를 의미한다.
예컨대, 소정의 문서 스토리지에 "hwp"나 "docx" 등의 확장자를 갖는 원본 전자 문서가 저장되어 있는 상태에서 제1 유저(121)의 클라이언트 단말(131)로부터 상기 원본 전자 문서에 대한 액세스 요청이 수신되면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 상기 문서 스토리지로부터 상기 원본 전자 문서를 추출하여 상기 원본 전자 문서를 HTML 등과 같은 마크업 언어 기반 문서로 변환한 후 상기 변환된 마크업 언어 기반 문서를 전자 문서의 공동 편집을 위한 협업 지원 장치(110) 자체의 메모리 상에 저장하고, 상기 변환된 마크업 언어 기반 문서를 제1 유저(121)의 클라이언트 단말(131)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 원본 전자 문서가 저장되어 있는 상기 문서 스토리지는 전자 문서의 공동 편집을 위한 협업 지원 장치(110) 내부에 탑재되어 있을 수도 있고, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)와 별도로 분리된 스탠드 어론(stand alone) 기반의 장치로 구성될 수도 있다.
이때, 제1 유저(121)의 클라이언트 단말(131)은 전자 문서의 공동 편집을 위한 협업 지원 장치(110)로부터 상기 마크업 언어 기반 문서가 수신되면, 제1 유저(121)의 클라이언트 단말(131)에 설치되어 있는 제1 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시할 수 있다.
그리고, 제1 유저(121)의 클라이언트 단말(131)에 설치되어 있는 상기 제1 브라우저는 제1 유저(121)로부터 상기 마크업 언어 기반 문서에 대한 편집을 위한 적어도 하나의 편집 명령이 입력되면, 상기 적어도 하나의 편집 명령에 기초하여 상기 화면 상에 표시되고 있는 상기 마크업 언어 기반 문서에 대해 편집을 수행하고, 상기 적어도 하나의 편집 명령을 전자 문서의 공동 편집을 위한 협업 지원 장치(110)로 전송할 수 있다.
이때, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 제1 유저(121)의 클라이언트 단말(131)로부터 상기 적어도 하나의 편집 명령이 수신되면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)의 메모리 상에 저장해 두었던 상기 마크업 언어 기반 문서에 상기 적어도 하나의 편집 명령을 반영해서 상기 마크업 언어 기반 문서에 대한 편집을 수행함으로써, 제1 유저(121)의 클라이언트 단말(131)에 저장되어 있는 마크업 언어 기반 문서와 동일한 편집 상태를 유지시킬 수 있다.
이와 동시에, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 제1 유저(121)의 클라이언트 단말(131)로부터 수신된 상기 적어도 하나의 편집 명령 각각에 대해 상기 적어도 하나의 편집 명령이 발생한 순서에 따라 리비전(revision) 번호를 할당할 수 있다.
예컨대, 상기 적어도 하나의 편집 명령이 "편집 명령 1", "편집 명령 2", "편집 명령 3"으로 구성되어 있고, 제1 유저(121)에 의해 "편집 명령 1", "편집 명령 2", "편집 명령 3"의 순서로 편집 명령이 발생하였다고 하는 경우, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 "편집 명령 1"에 대해 "리비전 1", "편집 명령 2"에 대해 "리비전 2", "편집 명령 3"에 대해 "리비전 3"이라고 하는 리비전 번호를 할당할 수 있다.
이렇게, 상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 네트워크를 통해서 전자 문서의 공동 편집을 위한 협업 지원 장치(110)에 대해 제2 유저(122)의 클라이언트 단말(132)로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 상기 협업 참가 요청에 대응하여 제2 유저(122)의 클라이언트 단말(132)에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송할 수 있다.
이와 동시에, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 제2 유저(122)의 클라이언트 단말(132)로부터 수신된 상기 협업 참가 요청에 대응하여 제2 유저(122)의 클라이언트 단말(132)에 대해 상기 적어도 하나의 편집 명령에 마지막으로 할당되어 있는 제1 리비전 번호를 전송할 수 있다.
예컨대, 상기 적어도 하나의 편집 명령을 "편집 명령 1", "편집 명령 2", "편집 명령 3"이라고 하고, "편집 명령 1"에 대해 "리비전 1", "편집 명령 2"에 대해 "리비전 2", "편집 명령 3"에 대해 "리비전 3"이라고 하는 리비전 번호가 할당되어 있다면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 제2 유저(122)의 클라이언트 단말(132)에 대해 "편집 명령 3"에 할당되어 있는 마지막 리비전 번호인 "리비전 3"이라고 하는 리비전 번호를 전송할 수 있다.
이때, 제2 유저(122)의 클라이언트 단말(132)은 전자 문서의 공동 편집을 위한 협업 지원 장치(110)로부터 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 수신되면, 제2 유저(122)의 클라이언트 단말(132)에 설치되어 있는 제2 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시할 수 있다.
이를 통해, 제2 유저(122)는 클라이언트 단말(132)에 설치되어 있는 상기 제2 브라우저를 통해서, 제1 유저(121)의 클라이언트 단말(131)에서 표시되고 있는 마크업 언어 기반 문서와 동일한 형태의 마크업 언어 기반 문서를 볼 수 있어서, 상기 마크업 언어 기반 문서에 대한 동시 편집을 수행할 수 있는 상태에 놓여지게 된다.
하지만, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)가 제2 유저(122)의 클라이언트 단말(132)에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서와 상기 제1 리비전 번호를 전송하는 도중에 제1 유저(121)에 의해서 상기 마크업 언어 기반 문서에 대한 추가 편집 명령이 발생하게 되면, 제2 유저(122)의 클라이언트 단말(132)에서 표시되는 마크업 언어 기반 문서와 제1 유저(121)의 클라이언트 단말(131)에서 표시되는 마크업 언어 기반 문서는 서로 달라지게 된다.
따라서, 이러한 경우에도 제2 유저(122)의 클라이언트 단말(132)에서 표시되는 마크업 언어 기반 문서와 제1 유저(121)의 클라이언트 단말(131)에서 표시되는 마크업 언어 기반 문서를 서로 동일한 상태로 유지시킴으로써, 제1 유저(121)와 제2 유저(122)가 상기 마크업 언어 기반 문서에 대해 동시 편집을 수행할 수 있도록 지원하기 위한 구성이 필요하다.
이를 위해, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 제2 유저(122)의 클라이언트 단말(132)에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서와 상기 제1 리비전 번호를 전송하는 도중에 제1 유저(121)의 클라이언트 단말(131)로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 제1 추가 편집 명령이 수신되면, 제1 유저(121)의 클라이언트 단말(131)로부터 상기 적어도 하나의 제1 추가 편집 명령을 수신한 후 상기 적어도 하나의 제1 추가 편집 명령 각각에 대해 상기 적어도 하나의 제1 추가 편집 명령이 발생한 순서에 따라 상기 제1 리비전 번호 이후에 해당되는 번호를 시작으로 하는 리비전 번호를 추가로 할당할 수 있다.
예컨대, 상기 마크업 언어 문서에 대해서 "편집 명령 1", "편집 명령 2", "편집 명령 3"이 발생하였고, "편집 명령 1", "편집 명령 2", "편집 명령 3"에 대해 "리비전 1", "리비전 2", "리비전 3"이 할당된 이후, 제1 유저(121)에 의해서 "편집 명령 4", "편집 명령 5"가 추가로 순차적으로 발생한 경우, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 "편집 명령 4"에 대해서 "리비전 3" 이후에 해당되는 번호를 시작으로 하는 리비전 번호인 "리비전 4"를 할당할 수 있고, "편집 명령 5"에 대해서 "리비전 5"를 할당할 수 있다.
이때, 제2 유저(122)의 클라이언트 단말(132)은 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 수신해서 상기 제2 브라우저를 통해 상기 마크업 언어 기반 문서를 화면 상에 표시하고 나면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)에 대해 상기 마크업 언어 기반 문서에 대한 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 전송할 수 있다.
이때, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 제2 유저(122)의 클라이언트 단말(132)로부터 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 추가 편집 명령의 전송 요청이 수신되면, 제1 유저(121)의 클라이언트 단말(131)로부터 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령이 존재하는지 여부를 판단할 수 있다.
관련해서, 앞서 설명한 예에 따라 제1 유저(121)의 클라이언트 단말(131)로부터 "편집 명령 4", "편집 명령 5"라고 하는 적어도 하나의 제1 추가 편집 명령이 수신되었고, "편집 명령 4"에 대해서는 "리비전 4", "편집 명령 5"에 대해서는 "리비전 5"가 할당되었다고 하는 경우, 제2 유저(122)의 클라이언트 단말(132)로부터 "리비전 3" 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청이 전자 문서의 공동 편집을 위한 협업 지원 장치(110)에 수신되면, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 유저 1(121)의 클라이언트 단말(131)로부터 추가로 수신된 추가 편집 명령으로 "리비전 3"이후의 리비전 번호인 "리비전 4"와 "리비전 5"가 할당되어 있는 상기 "편집 명령 4"와 "편집 명령 5"라고 하는 상기 적어도 하나의 제1 추가 편집 명령이 존재하는 것을 확인할 수 있다.
그러고 나서, 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 상기 적어도 하나의 제1 추가 편집 명령을 제2 유저(122)의 클라이언트 단말(132)로 전송할 수 있다.
이때, 제2 유저(122)의 클라이언트 단말(132)은 전자 문서의 공동 편집을 위한 협업 지원 장치(110)로부터 상기 적어도 하나의 제1 추가 편집 명령이 수신되면, 제2 유저(122)의 클라이언트 단말(132)에 설치되어 있는 상기 제2 브라우저를 통해서 표시되고 있는 상기 마크업 언어 기반 문서에 대해 상기 적어도 하나의 제1 추가 편집 명령을 반영해서 상기 제2 브라우저를 통해서 표시되고 있는 상기 마크업 언어 기반 문서를 제1 유저(121)의 클라이언트 단말(131)에 설치되어 있는 상기 제1 브라우저를 통해서 표시되고 있는 마크업 언어 기반 문서와 동일한 상태로 만들 수 있다.
결국, 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치(110)는 마크업 언어 기반 문서로 변환된 전자 문서에 대해 제1 유저(121)가 편집을 수행하고 있는 도중, 제2 유저(122)가 상기 전자 문서에 대한 협업에 참가하는 경우, 제1 유저(121)에 의해서 현재까지 발생한 편집 내용이 반영된 마크업 언어 기반 문서를 제2 유저(122)의 클라이언트 단말(132)에 전달하고, 제1 유저(121)에 의해서 발생하는 편집 명령어들에 대해 편집 명령어의 발생 순서에 기초한 리비전 번호를 할당해 둠으로써, 제2 유저(122)의 클라이언트 단말(132)에 상기 마크업 언어 기반 문서가 전달되는 도중에 제1 유저(121)에 의해서 상기 마크업 언어 기반 문서에 대한 추가 편집이 발생하면, 상기 리비전 번호를 기초로 추가로 발생된 편집 명령어만을 제2 유저(122)의 클라이언트 단말(132)로 전달하여 제1 유저(121)와 제2 유저(122)가 서로 동일한 마크업 언어 기반 문서에 대해서 동시 편집을 수행할 수 있도록 지원할 수 있다.
도 2는 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치(210)는 문서 제공부(211), 편집 명령 수신부(212), 문서 편집 수행부(213) 및 문서 공유부(214)를 포함한다.
문서 제공부(211)는 네트워크로 연결된 제1 유저의 클라이언트 단말(230)로부터 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 상기 원본 전자 문서를 마크업 언어 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장하고, 상기 마크업 언어 기반 문서를 상기 제1 유저의 클라이언트 단말(230)로 전송한다.
편집 명령 수신부(212)는 상기 제1 유저의 클라이언트 단말(230)로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 편집 명령을 수신한다.
문서 편집 수행부(213)는 상기 적어도 하나의 편집 명령을 상기 메모리 상에 저장되어 있는 상기 마크업 언어 기반 문서에 반영하여 편집을 수행한다.
문서 공유부(214)는 상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 상기 네트워크를 통해 연결된 제2 유저의 클라이언트 단말(240)로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말(240)에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송한다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 유저의 클라이언트 단말(230)은 상기 마크업 언어 기반 문서가 수신되면, 상기 제1 유저의 클라이언트 단말(230)에 설치되어 있는 제1 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 제1 유저로부터 입력되는 상기 적어도 하나의 편집 명령에 따라 상기 화면 상에 표시되고 있는 상기 마크업 언어 기반 문서에 대한 편집을 수행하고, 상기 적어도 하나의 편집 명령을 전자 문서의 공동 편집을 위한 협업 지원 장치(210)로 전송한다.
또한, 본 발명의 일실시예에 따르면, 전자 문서의 공동 편집을 위한 협업 지원 장치(210)는 추가 편집 명령 요청 수신부(215), 추가 편집 판단부(216) 및 추가 편집 명령 전송부(217)를 더 포함할 수 있다.
추가 편집 명령 요청 수신부(215)는 상기 제2 유저의 클라이언트 단말(240)에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말(240)로부터 상기 마크업 언어 기반 문서에 대한 추가 편집 명령의 전송 요청을 수신한다.
추가 편집 판단부(216)는 상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말(230)로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령이 존재하는지 여부를 판단한다.
추가 편집 명령 전송부(217)는 상기 제1 유저의 클라이언트 단말(230)로부터 추가로 수신된 추가 편집 명령으로 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말(240)로 전송한다.
이때, 본 발명의 일실시예에 따르면, 전자 문서의 공동 편집을 위한 협업 지원 장치(210)는 리비전 번호 할당부(218), 리비전 번호 전송부(219), 추가 편집 명령 수신부(220) 및 추가 리비전 번호 할당부(221)를 더 포함할 수 있다.
리비전 번호 할당부(218)는 상기 제1 유저의 클라이언트 단말(230)로부터 상기 적어도 하나의 편집 명령이 수신되면, 상기 적어도 하나의 편집 명령 각각에 대해 상기 적어도 하나의 편집 명령이 발생한 순서에 따라 리비전 번호를 할당한다.
리비전 번호 전송부(219)는 상기 제2 유저의 클라이언트 단말(240)로부터 수신된 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말(240)에 대해 상기 적어도 하나의 편집 명령에 마지막으로 할당되어 있는 제1 리비전 번호를 전송한다.
추가 편집 명령 수신부(220)는 상기 제1 유저의 클라이언트 단말(230)로부터 상기 마크업 언어 기반 문서에 대한 상기 적어도 하나의 제1 추가 편집 명령이 수신되면, 상기 제1 유저의 클라이언트 단말(230)로부터 상기 적어도 하나의 제1 추가 편집 명령을 수신한다.
추가 리비전 번호 할당부(221)는 상기 적어도 하나의 제1 추가 편집 명령 각각에 대해 상기 적어도 하나의 제1 추가 편집 명령이 발생한 순서에 따라 상기 제1 리비전 번호 이후에 해당되는 번호를 시작으로 하는 리비전 번호를 추가로 할당한다.
이때, 추가 편집 명령 요청 수신부(215)는 상기 제2 유저의 클라이언트 단말(240)에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말(240)로부터 상기 마크업 언어 기반 문서에 대한 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 수신할 수 있다.
이때, 추가 편집 판단부(216)는 상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말(230)로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령이 존재하는지 여부를 판단할 수 있다.
이때, 추가 편집 명령 전송부(217)는 상기 제1 유저의 클라이언트 단말(230)로부터 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 상기 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말(240)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제2 유저의 클라이언트 단말(240)은 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 수신되면, 상기 제2 유저의 클라이언트 단말(240)에 설치되어 있는 제2 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 전자 문서의 공동 편집을 위한 협업 지원 장치(210)에 대해 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 전송할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치(210)에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치(210)는 도 1을 이용하여 설명한 전자 문서의 공동 편집을 위한 협업 지원 장치(110)에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
도 3은 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법을 도시한 순서도이다.
단계(S310)에서는 네트워크로 연결된 제1 유저의 클라이언트 단말로부터 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 상기 원본 전자 문서를 마크업 언어 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장하고, 상기 마크업 언어 기반 문서를 상기 제1 유저의 클라이언트 단말로 전송한다.
단계(S320)에서는 상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 편집 명령을 수신한다.
단계(S330)에서는 상기 적어도 하나의 편집 명령을 상기 메모리 상에 저장되어 있는 상기 마크업 언어 기반 문서에 반영하여 편집을 수행한다.
단계(S340)에서는 상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 상기 네트워크를 통해 연결된 제2 유저의 클라이언트 단말로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송한다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 유저의 클라이언트 단말은 상기 마크업 언어 기반 문서가 수신되면, 상기 제1 유저의 클라이언트 단말에 설치되어 있는 제1 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 제1 유저로부터 입력되는 상기 적어도 하나의 편집 명령에 따라 상기 화면 상에 표시되고 있는 상기 마크업 언어 기반 문서에 대한 편집을 수행하고, 상기 적어도 하나의 편집 명령을 상기 전자 문서의 공동 편집을 위한 협업 지원 장치로 전송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법은 상기 제2 유저의 클라이언트 단말에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 추가 편집 명령의 전송 요청을 수신하는 단계, 상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령이 존재하는지 여부를 판단하는 단계 및 상기 제1 유저의 클라이언트 단말로부터 추가로 수신된 추가 편집 명령으로 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법은 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령이 수신되면, 상기 적어도 하나의 편집 명령 각각에 대해 상기 적어도 하나의 편집 명령이 발생한 순서에 따라 리비전 번호를 할당하는 단계, 상기 제2 유저의 클라이언트 단말로부터 수신된 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 마지막으로 할당되어 있는 제1 리비전 번호를 전송하는 단계, 상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 상기 적어도 하나의 제1 추가 편집 명령이 수신되면, 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 제1 추가 편집 명령을 수신하는 단계 및 상기 적어도 하나의 제1 추가 편집 명령 각각에 대해 상기 적어도 하나의 제1 추가 편집 명령이 발생한 순서에 따라 상기 제1 리비전 번호 이후에 해당되는 번호를 시작으로 하는 리비전 번호를 추가로 할당하는 단계를 더 포함할 수 있다.
이때, 상기 추가 편집 명령의 전송 요청을 수신하는 단계는 상기 제2 유저의 클라이언트 단말에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 수신할 수 있고, 상기 추가 편집 명령이 존재하는지 여부를 판단하는 단계는 상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령이 존재하는지 여부를 판단할 수 있으며, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 단계는 상기 제1 유저의 클라이언트 단말로부터 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 상기 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제2 유저의 클라이언트 단말은 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 수신되면, 상기 제2 유저의 클라이언트 단말에 설치되어 있는 제2 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 전자 문서의 공동 편집을 위한 협업 지원 장치에 대해 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 전송할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법은 도 1과 도 2를 이용하여 설명한 전자 문서의 공동 편집을 위한 협업 지원 장치(110, 210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. 전자 문서의 공동 편집을 위한 협업 지원 장치에 있어서,
    네트워크로 연결된 제1 유저의 클라이언트 단말로부터 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 상기 원본 전자 문서를 마크업 언어(Markup Language) 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장하고, 상기 마크업 언어 기반 문서를 상기 제1 유저의 클라이언트 단말로 전송하는 문서 제공부;
    상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 편집 명령을 수신하는 편집 명령 수신부;
    상기 적어도 하나의 편집 명령을 상기 메모리 상에 저장되어 있는 상기 마크업 언어 기반 문서에 반영하여 편집을 수행하는 문서 편집 수행부; 및
    상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 상기 네트워크를 통해 연결된 제2 유저의 클라이언트 단말로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송하는 문서 공유부
    를 포함하는 전자 문서의 공동 편집을 위한 협업 지원 장치.
  2. 제1항에 있어서,
    상기 제1 유저의 클라이언트 단말은
    상기 마크업 언어 기반 문서가 수신되면, 상기 제1 유저의 클라이언트 단말에 설치되어 있는 제1 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 제1 유저로부터 입력되는 상기 적어도 하나의 편집 명령에 따라 상기 화면 상에 표시되고 있는 상기 마크업 언어 기반 문서에 대한 편집을 수행하고, 상기 적어도 하나의 편집 명령을 상기 전자 문서의 공동 편집을 위한 협업 지원 장치로 전송하는 전자 문서의 공동 편집을 위한 협업 지원 장치.
  3. 제1항에 있어서,
    상기 제2 유저의 클라이언트 단말에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 추가 편집 명령의 전송 요청을 수신하는 추가 편집 명령 요청 수신부;
    상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령이 존재하는지 여부를 판단하는 추가 편집 판단부; 및
    상기 제1 유저의 클라이언트 단말로부터 추가로 수신된 추가 편집 명령으로 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 추가 편집 명령 전송부
    를 더 포함하는 전자 문서의 공동 편집을 위한 협업 지원 장치.
  4. 제3항에 있어서,
    상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령이 수신되면, 상기 적어도 하나의 편집 명령 각각에 대해 상기 적어도 하나의 편집 명령이 발생한 순서에 따라 리비전(revision) 번호를 할당하는 리비전 번호 할당부;
    상기 제2 유저의 클라이언트 단말로부터 수신된 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 마지막으로 할당되어 있는 제1 리비전 번호를 전송하는 리비전 번호 전송부;
    상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 상기 적어도 하나의 제1 추가 편집 명령이 수신되면, 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 제1 추가 편집 명령을 수신하는 추가 편집 명령 수신부; 및
    상기 적어도 하나의 제1 추가 편집 명령 각각에 대해 상기 적어도 하나의 제1 추가 편집 명령이 발생한 순서에 따라 상기 제1 리비전 번호 이후에 해당되는 번호를 시작으로 하는 리비전 번호를 추가로 할당하는 추가 리비전 번호 할당부
    를 더 포함하고,
    상기 추가 편집 명령 요청 수신부는
    상기 제2 유저의 클라이언트 단말에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 수신하며,
    상기 추가 편집 판단부는
    상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령이 존재하는지 여부를 판단하고,
    상기 추가 편집 명령 전송부는
    상기 제1 유저의 클라이언트 단말로부터 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 상기 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 전자 문서의 공동 편집을 위한 협업 지원 장치.
  5. 제4항에 있어서,
    상기 제2 유저의 클라이언트 단말은
    상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 수신되면, 상기 제2 유저의 클라이언트 단말에 설치되어 있는 제2 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 전자 문서의 공동 편집을 위한 협업 지원 장치에 대해 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 전송하는 전자 문서의 공동 편집을 위한 협업 지원 장치.
  6. 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법에 있어서,
    네트워크로 연결된 제1 유저의 클라이언트 단말로부터 협업 대상이 되는 원본 전자 문서에 대한 액세스 요청이 수신되면, 상기 원본 전자 문서를 마크업 언어(Markup Language) 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 메모리 상에 저장하고, 상기 마크업 언어 기반 문서를 상기 제1 유저의 클라이언트 단말로 전송하는 단계;
    상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 적어도 하나의 편집 명령을 수신하는 단계;
    상기 적어도 하나의 편집 명령을 상기 메모리 상에 저장되어 있는 상기 마크업 언어 기반 문서에 반영하여 편집을 수행하는 단계; 및
    상기 마크업 언어 기반 문서에 대한 편집이 수행된 이후, 상기 네트워크를 통해 연결된 제2 유저의 클라이언트 단말로부터 상기 전자 문서에 대한 공동 편집을 위한 협업 참가 요청이 수신되면, 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서를 전송하는 단계
    를 포함하는 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 제1 유저의 클라이언트 단말은
    상기 마크업 언어 기반 문서가 수신되면, 상기 제1 유저의 클라이언트 단말에 설치되어 있는 제1 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 제1 유저로부터 입력되는 상기 적어도 하나의 편집 명령에 따라 상기 화면 상에 표시되고 있는 상기 마크업 언어 기반 문서에 대한 편집을 수행하고, 상기 적어도 하나의 편집 명령을 상기 전자 문서의 공동 편집을 위한 협업 지원 장치로 전송하는 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법.
  8. 제6항에 있어서,
    상기 제2 유저의 클라이언트 단말에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 추가 편집 명령의 전송 요청을 수신하는 단계;
    상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령이 존재하는지 여부를 판단하는 단계; 및
    상기 제1 유저의 클라이언트 단말로부터 추가로 수신된 추가 편집 명령으로 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 단계
    를 더 포함하는 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령이 수신되면, 상기 적어도 하나의 편집 명령 각각에 대해 상기 적어도 하나의 편집 명령이 발생한 순서에 따라 리비전(revision) 번호를 할당하는 단계;
    상기 제2 유저의 클라이언트 단말로부터 수신된 상기 협업 참가 요청에 대응하여 상기 제2 유저의 클라이언트 단말에 대해 상기 적어도 하나의 편집 명령에 마지막으로 할당되어 있는 제1 리비전 번호를 전송하는 단계;
    상기 제1 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 상기 적어도 하나의 제1 추가 편집 명령이 수신되면, 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 제1 추가 편집 명령을 수신하는 단계; 및
    상기 적어도 하나의 제1 추가 편집 명령 각각에 대해 상기 적어도 하나의 제1 추가 편집 명령이 발생한 순서에 따라 상기 제1 리비전 번호 이후에 해당되는 번호를 시작으로 하는 리비전 번호를 추가로 할당하는 단계
    를 더 포함하고,
    상기 추가 편집 명령의 전송 요청을 수신하는 단계는
    상기 제2 유저의 클라이언트 단말에 상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 전송된 이후, 상기 제2 유저의 클라이언트 단말로부터 상기 마크업 언어 기반 문서에 대한 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 수신하며,
    상기 추가 편집 명령이 존재하는지 여부를 판단하는 단계는
    상기 추가 편집 명령의 전송 요청에 대응하여 상기 제1 유저의 클라이언트 단말로부터 상기 적어도 하나의 편집 명령 이외에 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령이 존재하는지 여부를 판단하고,
    상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 단계는
    상기 제1 유저의 클라이언트 단말로부터 추가로 수신된 추가 편집 명령으로 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 상기 적어도 하나의 제1 추가 편집 명령이 존재하는 것으로 판단되면, 상기 적어도 하나의 제1 추가 편집 명령을 상기 제2 유저의 클라이언트 단말로 전송하는 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 제2 유저의 클라이언트 단말은
    상기 적어도 하나의 편집 명령에 따라 편집이 수행된 상기 마크업 언어 기반 문서가 수신되면, 상기 제2 유저의 클라이언트 단말에 설치되어 있는 제2 브라우저를 통해 상기 마크업 언어 기반 문서를 렌더링하여 화면 상에 표시한 후 상기 전자 문서의 공동 편집을 위한 협업 지원 장치에 대해 상기 제1 리비전 번호 이후의 리비전 번호가 할당되어 있는 추가 편집 명령의 전송 요청을 전송하는 전자 문서의 공동 편집을 위한 협업 지원 장치의 동작 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
PCT/KR2016/006871 2016-06-27 2016-06-27 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법 WO2018004021A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/516,676 US10310716B2 (en) 2016-06-27 2016-06-27 Apparatus for supporting cooperation for joint editing of electronic document, and method of operating the same
KR1020177000808A KR101774267B1 (ko) 2016-06-27 2016-06-27 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
PCT/KR2016/006871 WO2018004021A1 (ko) 2016-06-27 2016-06-27 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/006871 WO2018004021A1 (ko) 2016-06-27 2016-06-27 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
WO2018004021A1 true WO2018004021A1 (ko) 2018-01-04

Family

ID=59924467

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/006871 WO2018004021A1 (ko) 2016-06-27 2016-06-27 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US10310716B2 (ko)
KR (1) KR101774267B1 (ko)
WO (1) WO2018004021A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10607001B2 (en) * 2016-06-29 2020-03-31 Hancom Inc. Web-based electronic document service apparatus capable of authenticating document editing and operating method thereof
KR101965718B1 (ko) * 2017-09-19 2019-08-13 주식회사 한글과컴퓨터 웹 문서에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법
KR101999584B1 (ko) * 2017-09-22 2019-10-01 주식회사 한글과컴퓨터 사용자로부터의 미지원 편집 명령에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법
KR101999580B1 (ko) * 2017-09-22 2019-10-01 주식회사 한글과컴퓨터 원격지로부터의 미지원 편집 명령에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법
US11036769B1 (en) * 2018-07-06 2021-06-15 Workday, Inc. Linked element tracking in documents
KR102308015B1 (ko) * 2019-05-28 2021-10-01 네이버 주식회사 웹에서 에디팅 영역을 후킹하는 방식으로 공동편집을 지원하는 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101159504B1 (ko) * 2011-10-14 2012-06-25 주식회사 한글과컴퓨터 단말 장치 및 상기 단말 장치의 문서 공동 편집 방법
KR20150091527A (ko) * 2008-06-25 2015-08-11 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 구조화된 공동 저작
KR20150115850A (ko) * 2013-01-30 2015-10-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 특징의 버전 또는 다수의 편집기를 사용하는 공동 작업
KR20150135055A (ko) * 2014-05-23 2015-12-02 삼성전자주식회사 협업 서비스를 제공하는 서버 및 방법, 그리고 협업 서비스를 제공받는 사용자 단말
US20160139768A1 (en) * 2010-04-12 2016-05-19 Google Inc. Collaborative cursors in a hosted word processor

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134019A1 (en) * 2004-04-08 2008-06-05 Nobuaki Wake Processing Data And Documents That Use A Markup Language
KR100656419B1 (ko) * 2005-09-02 2006-12-11 삼성에스디에스 주식회사 정보시스템 개발장치 및 방법
WO2007034858A1 (ja) * 2005-09-22 2007-03-29 Justsystems Corporation データ管理装置、データ編集装置、データ閲覧装置、データ管理方法、データ編集方法およびデータ閲覧方法
US8453052B1 (en) * 2006-08-16 2013-05-28 Google Inc. Real-time document sharing and editing
US20090013262A1 (en) * 2007-07-03 2009-01-08 Lunarr, Inc. Systems and methods for providing document collaboration using a front and back framework
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
JP2009176144A (ja) * 2008-01-25 2009-08-06 Access Co Ltd マークアップ言語文書変換システム、マークアップ言語文書変換装置、マークアップ言語文書変換方法およびマークアップ言語文書変換プログラム
US8299463B2 (en) * 2009-04-08 2012-10-30 Hermes Microvision, Inc. Test structure for charged particle beam inspection and method for defect determination using the same
US8286077B2 (en) * 2009-12-03 2012-10-09 Microsoft Corporation Remote batch editing of formatted text via an HTML editor
US8237213B2 (en) * 2010-07-15 2012-08-07 Micron Technology, Inc. Memory arrays having substantially vertical, adjacent semiconductor structures and the formation thereof
US20150193406A1 (en) * 2011-09-02 2015-07-09 Micah Lemonik System and Method to Provide Collaborative Document Processing Services Via Interframe Communication
US20130191451A1 (en) 2012-01-19 2013-07-25 Microsoft Corporation Presence-based Synchronization
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system
US20160032836A1 (en) * 2013-03-08 2016-02-04 Andrew James Hawkinson Filtration system for a gas turbine air intake and methods
US9690785B1 (en) * 2014-01-30 2017-06-27 Google Inc. Change notification routing based on original authorship of modified region
US10185777B2 (en) * 2015-04-01 2019-01-22 Microsoft Technology Licensing, Llc Merged and actionable history feed
KR101701110B1 (ko) 2016-03-11 2017-02-13 주식회사 인프라웨어 공동 편집 문서를 공유하는 방법 및 장치
US9292482B1 (en) * 2015-04-30 2016-03-22 Workiva Inc. System and method for convergent document collaboration
US10909080B2 (en) * 2015-05-04 2021-02-02 Microsoft Technology Licensing, Llc System and method for implementing shared document edits in real-time
US10102190B2 (en) * 2015-12-28 2018-10-16 Microsoft Technology Licensing, Llc. Memory conserving versioning of an electronic document

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150091527A (ko) * 2008-06-25 2015-08-11 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 구조화된 공동 저작
US20160139768A1 (en) * 2010-04-12 2016-05-19 Google Inc. Collaborative cursors in a hosted word processor
KR101159504B1 (ko) * 2011-10-14 2012-06-25 주식회사 한글과컴퓨터 단말 장치 및 상기 단말 장치의 문서 공동 편집 방법
KR20150115850A (ko) * 2013-01-30 2015-10-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 특징의 버전 또는 다수의 편집기를 사용하는 공동 작업
KR20150135055A (ko) * 2014-05-23 2015-12-02 삼성전자주식회사 협업 서비스를 제공하는 서버 및 방법, 그리고 협업 서비스를 제공받는 사용자 단말

Also Published As

Publication number Publication date
US10310716B2 (en) 2019-06-04
KR101774267B1 (ko) 2017-09-04
US20180267679A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
WO2018004021A1 (ko) 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
WO2018026033A1 (ko) 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
WO2011053010A2 (en) Apparatus and method for synchronizing e-book content with video content and system thereof
WO2011065623A1 (ko) 속성-기반 비아이엠 정보 제공 방법 및 그 시스템
WO2018004020A1 (ko) 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법
WO2016126018A1 (ko) 메신저의 대화내용을 관리하는 방법과 시스템 및 기록 매체
WO2013165180A1 (ko) 로그 모니터링 방법, 그 서버 및 기록 매체
WO2018004025A1 (ko) 개체에 대한 스타일 동시 편집을 지원하는 문서 협업 장치 및 그 동작 방법
WO2013028009A2 (ko) 스마트 오피스 시스템 및 운용을 위한 서버 및 운용 방법
WO2014084490A1 (en) Method of executing application installed in outside server and image forming apparatus to perform the same
WO2016018096A1 (en) Method and system for document synchronization in a distributed server-client environment
WO2019107594A1 (ko) IoT 환경에서 디바이스 데이터 및 서버 리소스 매핑 방법 및 이를 적용한 게이트웨이
WO2014157938A1 (en) Apparatus and method for presenting html page
WO2018212485A1 (ko) 웹 문서 편집툴에서 지원하는 스타일 속성에 따라 웹 문서에 대한 외부 콘텐츠의 붙여넣기 처리가 가능한 클라이언트 단말 장치 및 그 동작 방법
WO2014003448A1 (en) Terminal device and method of controlling the same
WO2013109012A1 (en) Apparatus and method of terminal for managing service provided from server
WO2015199293A1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
WO2014157924A1 (ko) 컨텐츠 공유 방법
WO2018008861A1 (ko) 사용자 서버를 이용한 html 제어 시스템 및 방법
WO2017213454A1 (ko) 사용자 서버를 이용한 파일 제어 시스템 및 방법
WO2017119534A1 (ko) 웹상 컨텐츠의 광고 방법 및 시스템
WO2011152593A1 (en) Data upload method using shortcut
WO2015183016A1 (ko) 데이터 처리 장치 및 데이터 처리 장치의 메모리에 기록된 데이터의 확인 방법
WO2018226007A1 (ko) 업데이트된 게시정보 제공방법 및 프로그램
WO2023080491A1 (ko) 애플리케이션 생성 서비스 제공 방법 및 장치

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 1020177000808

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 15516676

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16907386

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16907386

Country of ref document: EP

Kind code of ref document: A1