WO2018212486A1 - 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법 - Google Patents

마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법 Download PDF

Info

Publication number
WO2018212486A1
WO2018212486A1 PCT/KR2018/005059 KR2018005059W WO2018212486A1 WO 2018212486 A1 WO2018212486 A1 WO 2018212486A1 KR 2018005059 W KR2018005059 W KR 2018005059W WO 2018212486 A1 WO2018212486 A1 WO 2018212486A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
combination
editing
letter
document
Prior art date
Application number
PCT/KR2018/005059
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 주식회사 한글과컴퓨터
Publication of WO2018212486A1 publication Critical patent/WO2018212486A1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control

Definitions

  • the present invention relates to a technique for synchronizing a combination-updated combination letter among a plurality of users in simultaneous editing among a plurality of users for a Markup Language-based 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 accessing an electronic document service providing server and viewing and using a markup language-based electronic document through a browser to create and edit the electronic document.
  • various client terminals are mainly used in corporations or organizations in that they support simultaneous collaboration on the electronic document 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.
  • the markup language-based document of the remote server and the mark of the client terminal are transmitted by sending an editing command to the remote server every predetermined time. Synchronization must be done between the language-based documents.
  • an apparatus for synchronizing a combination of markup language-based documents and an operation method thereof generates a first editing command for a markup language-based document received from a remote server based on a signal input from a user, 2 generating a second edit command based on the first edit command generated after the generation of the edit command, wherein the second edit command includes an edit command for a combination character that can be updated in combination; Comparing the combined letters updated by the first edit command generated after the generation of the previous second edit command, and generating a second edit command including a synchronization command for the combined letters, wherein the second edit By sending a command to the remote server, the combination between the markup language-based document of the remote server and the markup language-based document of the user's terminal. And to enable a person synchronization.
  • an apparatus for synchronizing a combination of markup language-based documents may include a first edit command corresponding to an input signal input by a user through an input device, wherein the first edit command is a mark received from a document storage server.
  • a first editing command receiving unit for receiving a second editing command based on a first editing command received after generation of a previous second editing command;
  • a second editing command generation unit for generating a markup language-based document of a document storage server, and a second editing command transmission unit for transmitting the second editing command to the document storage server. 2 If the first combination letter that can be combined and updated at the time when the previous second edit command is generated, the editing command generation unit is set to match the first combination letter. After comparing the second combination of letters which is located in the starting position, and generates a second edit command including a synchronization command for the first character combination.
  • a method of operating an apparatus for synchronizing a combined character of a markup language-based document is a method of operating an apparatus for synthesizing a combined character of a markup language-based document.
  • An input signal input by a user through an input device is provided.
  • the second editing command generating step comprises: combining the first combinational letter at the time when the previous second editing command is generated; If is present, and comparing the first combination letter and the second combination letter located at the combination start position, and generating a second editing command including a synchronization command for the first combination letter.
  • an apparatus for synchronizing a combination of markup language-based documents and an operation method thereof generates a first editing command for a markup language-based document received from a document storage server based on a signal input from a user.
  • the second edit command is generated based on the first edit command generated after the generation of the second edit command.
  • the previous second edit command includes an edit command for a combination letter that can be updated in combination
  • a second editing command including a synchronization command for the combined letters is generated, and the second editing
  • the markup language-based document of the remote server and the markup language-based document of the user's terminal are transmitted. The sum may allow the synchronization of the characters.
  • FIG. 1 is a diagram illustrating a structure of a markup language-based document editing system including a combination character synchronization device of a markup language-based document according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating in detail the structure of an apparatus for synchronizing a combined character of a markup language-based document according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a process of processing events generated over time by the apparatus for synchronizing a combined character of a markup language-based document according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of operating an apparatus for synchronizing a combined character of a markup language-based document according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a structure of a markup language based document editing system 100 including combination character synchronization devices 110 and 140 of a markup language based document according to an embodiment of the present invention.
  • a markup language-based document editing system 100 including combination character synchronization devices 110 and 140 of a markup language-based document according to an embodiment of the present invention may be based on a plurality of markup language-based languages. Combination of document combination letters 110, 140 and document storage server 170 is included.
  • the markup language-based document is a mark that can be viewed through a browser installed in the combination character synchronization devices 110 and 140 of the markup language-based document such as HTML (Hypertext Markup Language) or XML (eXtensible Markup Language).
  • HTML Hypertext Markup Language
  • XML eXtensible Markup Language
  • the first and second users 130 and 160 may store original electronic documents stored in the document storage server 170 using the combination character synchronization devices 110 and 140 of the markup language-based document.
  • a browser that receives the markup-based document 190 for 180 and installs the received markup language-based documents 120 and 150 in the combination character synchronization devices 110 and 140 of the markup language-based document. You can view and edit it through.
  • FIG. 2 is a diagram illustrating in detail the structure of an apparatus for synchronizing a combined character of a markup language-based document according to an embodiment of the present invention.
  • the combined character synchronization device 200 of the markup language based document illustrated in FIG. 2 corresponds to each of the combined character synchronization devices 110 and 140 of the markup language based document illustrated in FIG. 1, and is illustrated in FIG. 2.
  • the document storage server 250 corresponds to the document storage server 170 illustrated in FIG. 1.
  • the apparatus 200 for synchronizing letters of a markup language based document may include a markup language based document receiver 201, a markup language based document storage 202, a first editing command receiver 203, It includes a markup language-based document editing unit 204, a combination character storage determination unit 205, a combination character storage unit 206, a second edit command generation unit 207 and a second edit command transmission unit 208.
  • the markup language-based document receiving unit 201 receives a markup language-based document generated by the document storage server 250 based on the original electronic document from a document storage server 250 connected through a network, and receives the received mark.
  • the markup language-based document is stored in the markup language-based document storage unit 202.
  • the markup language-based document generated based on the original electronic document in the document storage server 250 is called a first markup document
  • the markup language-based document receiving unit 201 receives and stores the markup language-based document.
  • the markup language-based document stored in the unit 202 is called a second markup document.
  • the markup language based document storage unit 202 may be implemented as a memory device such as a dynamic random access memory (DRAM), a static RAM (SRAM), or the like.
  • DRAM dynamic random access memory
  • SRAM static RAM
  • the first editing command receiver 203 receives an editing command corresponding to an input signal input by a user through the input device.
  • the input device is an input device such as a keyboard, a mouse, a touch screen, an electronic pen, etc. connected to the combination character synchronization device 200 of the markup language-based document by wire / wireless, and an editing command based on an input signal input by a user. Can be generated. For example, if the user inputs “ ⁇ ” using an input device (eg, a keyboard), the input device generates an editing command for inputting “ ⁇ ” into the second markup document, and generates a first editing command receiving unit ( 203 may receive an editing command from an input device.
  • the input device when the user inputs “ ⁇ ” by using an input device (eg, a keyboard), the input device generates an editing command for inputting “ ⁇ ” in the second markup document and the first edit command receiving unit 203. May receive an editing command from an input device.
  • an input device eg, a keyboard
  • the first editing command receiving unit 203 may receive an editing command generated by a combination character synchronization device of another user through the document storage server 250.
  • the edit command received by the first edit command receiver 203 is an edit command received from the input device, and the edit received by the first edit command receiver 203 from the input device.
  • the command will be referred to as a first edit command.
  • the markup language based document editing unit 204 edits the second markup document based on the first editing command. For example, the markup language-based document editing unit 204 edits the second markup document by inputting “ ⁇ ” into the second markup document based on the first editing command to input “ ⁇ ”, and “ ⁇ ”. The second markup document can be edited by inputting " ⁇ ” into the second markup document based on the first editing command to input ".” Accordingly, the markup language-based document storage unit 202 may update the second markup document with “low” being input.
  • the combined letter storage determination unit 205 determines whether the combined letter is stored based on the first editing command.
  • the combination letter is a letter that is completed through two or more first editing commands, such as Hangul, Hanja, etc., unlike a non-combination letter in which a letter is completed through one first editing command such as alphabet, number, or special character. to be.
  • the combination character storage determination unit 205 combines the second markup document at a time point of generating or transmitting a second edit command (hereinafter, a time point of generating or transmitting a second edit command is referred to as a reference time point). It is determined whether there is an updateable combination letter, and if there is a combination updateable combination letter, the combination updateable combination letter is stored in the combination character storage unit 206.
  • the second edit command is an edit command generated by the second edit command generation unit 207 based on the first edit command received by the first edit command reception unit 203, and the second edit command generation unit below. A description with reference to 207 will be given below.
  • the combination updateable combination character is a combination character whose form can be changed by the first editing instruction received next by the first editing command receiving unit 203, and the combination completed combination character is the first editing command receiving unit.
  • the combination character refers to a form in which the form of the character is not modified by the first editing command received next. For example, when a plurality of first editing commands are generated sequentially to input “ ⁇ ”, “ ⁇ ” and “b”, and “han” is entered in the second markup document, the “han” is next time. Since the shape of the letter may be changed by the first editing command that is generated, “one” is a combination letter that can be combined and updated (for example, “one” is the first editing command to input the next generated “ ⁇ ”). Letters may be changed to “ ⁇ ”).
  • the first edit command to move the cursor instead of the first edit command to input “a” and the first edit command to input uncombined characters such as alphabetic, numeric, or special characters are present.
  • "HAN” cannot be changed in the form of letters by the first editing command generated next, so that "HAN” can be evaluated as a combined letter.
  • the combination character storage determining unit 205 stores a combination character that can be combined and updated based on a reference time point in the combination character storage unit 206 as an example.
  • a plurality of first editing commands are generated sequentially to input “ ⁇ ”, “ ⁇ ”, “b”, “ ⁇ ”, “ ⁇ ” and “ ⁇ ”, and the first to enter “b”.
  • the stored character storing determination unit is configured as “one” is a combination letter that can be combined and updated in the second markup document at the reference time point.
  • 205 stores “one” in the combination character storage unit 206.
  • a plurality of first editing commands are generated sequentially to input “ ⁇ ”, “ ⁇ ”, “b”, “ ⁇ ”, “ ⁇ ” and “ ⁇ ”, and to enter “ ⁇ ”.
  • the combination letter is “B” at the time of the reference because the lower letter is the combination letter that can be combined and updated in the second markup document.
  • the storage determination unit 205 stores the "lower" in the combination character storage unit 206.
  • the combination character storage determining unit 205 combines the combination letter corresponding to the first edit command in the second markup document.
  • the combination character in the updatable state is determined and stored in the combination character storage unit 206.
  • the combination letter stored in the combination letter storage unit 206 is called a first combination letter
  • the position of the combination letter corresponding to the first combination letter in the second markup document is called a combination start position.
  • the combination character storage determination unit 205 may delete the first combination character stored in the combination character storage unit 206 when there is no combination character that can be updated in combination at the reference time point.
  • the second edit command generation unit 207 generates a second edit command based on the first edit command received by the first edit command reception unit 203.
  • the second edit command generator 207 generates a second edit command based on the first edit command received by the first edit command receiver 203 after generating the previous second edit command.
  • the second editing command is an editing command to edit the first markup document on the document storage server 250.
  • the second editing command generation unit 207 may include a combination letter located at a combination start position in the first combination letter and the second document (hereinafter, referred to as a second combination letter).
  • a second editing command including a synchronization command for the first combination letter may be generated based on a comparison result of the combination letter located at the combination start position in the document as a 'second combination letter'.
  • the second editing command generation unit 207 may be a combination letter different from the first combination letter and the second combination letter as a result of the comparison between the first and second combination letters (for example, the first combination letter is “low”). , When the second combination letter is “one”), a synchronization command may be generated to synchronize the combination letter corresponding to the first combination letter to the second combination letter in the first document.
  • the second editing command generation unit 207 may generate the synchronization command including a delete command for deleting a combination letter corresponding to the first combination letter inserted in the first document and an insertion command for inserting the second combination letter. have.
  • the second editing command generation unit 207 When generating the synchronization command including the deletion command and the insertion command, the second editing command generation unit 207 causes the document storage server 250 to perform the deletion command after performing the insertion command on the first document. You can set the order between the insert and delete commands. Also, the second edit command generation unit 207 may set an order between the insert command and the delete command such that the document storage server 250 performs the insert command after the document storage server 250 performs the delete command.
  • the second edit command generation unit 207 may be a combination letter that is the same as the first combination letter and the second combination letter as a result of the comparison between the first and second combination letters (eg, the first combination letter is “one”). , When the second combination letter is “one”, a synchronization command may be generated to synchronize the combination letter corresponding to the first combination letter inserted into the first document to the second combination letter.
  • the second edit command generation unit 207 may preset the first preset time after the previous first edit command has been received, or, if the preset time elapses after the previous second edit command has been generated, When an editing command is received or when an editing command of a combination character synchronization device of a markup language-based document of another user is received from the document storage server 250, a second editing command may be generated.
  • the preset time may be, for example, 1 second
  • the preset first editing command may be, for example, a first editing command to input 'SPACE', a first editing command to move the position of the cursor, and the like. Can be.
  • the second edit command transmitter 208 transmits the generated second edit command to the document storage server 250. Accordingly, the document storage server 250 may synchronize the first markup document with the second markup document based on the received second editing command.
  • FIG. 3 is a diagram illustrating a process of processing the events E01 to E21 generated by a combination character synchronization device 200 of a markup language-based document according to an embodiment of the present invention.
  • the first and second events E01 and E02 are events in which the first editing command receiving unit 203 receives a first editing command to input “” and “”.
  • the first editing command receiving unit 203 receives the first editing command to input “ ⁇ ” and “ ⁇ ”, and accordingly, the markup language-based document editing unit 204. Enters "ha” in the second markup document.
  • the third event (E03) is the second editing command generation unit after a preset time elapses after the first editing command receiving unit 203 receives the first editing command to input the " ⁇ ” and " ⁇ ”. 207) generates the second editing command A01 by using the first editing command to input “ ⁇ ” and “ ⁇ ”.
  • the second edit command generation unit 207 uses the first edit command to input “ ⁇ ” and “ ⁇ ” generated by the first edit command reception unit 203 to display the first markup document.
  • a second editing command A01 may be generated to input “ha” in the.
  • the combination character storage determination unit 205 uses the combination letter storage unit (“B”). 206).
  • “lower” stored in the combination letter storage unit 206 is the first combination letter.
  • the second edit command transmitter 208 transmits the second edit command A01 generated by the second edit command generator 207 to the document storage server 250. Accordingly, “low” may be input to the first markup document of the document storage server 250.
  • Events 4 through 7 are events in which the first editing command receiving unit 203 receives the first editing command to input “b”, “a”, “-” and “d”.
  • the first editing command receiving unit 203 receives the first editing command to input “b”, “a”, “-” and “d”, and accordingly, marks The up-language-based document editing unit 204 changes the "lower” input to the second markup document into “Hangul.”
  • Event 8 indicates that the second editing command generation unit 207 has previously edited the second. After the preset time has elapsed after generating the command A01, “b” received by the first edit command receiver 203 after the second edit command generator 207 generates the previous second edit command A01, This event generates a second editing command A02 by using the first editing command to input “a”, “ ⁇ ” and “ ⁇ ”.
  • the second edit command generation unit 207 stores the first combination letter (that is, "lower") in the combination letter storage unit 206, and thus, the first combination letter (that is, “lower”). ”) And a second combination letter (ie,“ one ”) located at the start of the combination in the second document, and generate a second editing command A02 based on the result.
  • the second editing command generation unit 207 corresponds to the first combination letter in the first document.
  • a synchronization command may be generated to synchronize the combination letter to the second combination letter. That is, the second editing command generation unit 207 may generate the synchronization command to include a delete command for deleting a combination letter corresponding to the first combination letter and an insertion command for inserting the second combination letter.
  • the second editing command generation unit 207 may generate a second editing command A02 to delete “low” of the first markup document and input “Korean”. have.
  • the combined character storage determination unit 205 uses the combined character storage unit (" text "). 206).
  • the "letter" stored in the combination letter storage unit 206 is the first combination letter.
  • the second edit command transmitter 208 transmits the second edit command A02 generated by the second edit command generator 207 to the document storage server 250. Accordingly, “ha” may be deleted and “Korean” may be input to the first markup document of the document storage server 250.
  • the first editing command receiving unit 203 is used to select “a”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, ““ ⁇ ”. ”And“ ⁇ ”to receive a first edit command.
  • the first editing command receiving unit 203 is used to select “a”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, ““ ”,“ ⁇ ”. And a first editing command to input “” and “ ⁇ ”, and accordingly, the markup language-based document editing unit 204 changes “Hangul” input to the second markup document to “Hangul and Com”.
  • Event 18 the second edit command generation unit 207 after the predetermined time elapses after the second edit command generation unit 207 generates the previous second edit command A02, the second edit command generation unit 207 “A”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”) received by the first editing command receiver 203 after generation of the edit command A02 This event generates a second editing command A03 by using the first editing command to input “ ⁇ ”.
  • the second edit command generation unit 207 stores the first combination letter (ie, “text”) in the combination letter storage unit 206, and thus, the first combination letter (ie, “text”. ”) And a second combination letter (ie,“ text ”) located at the start of the combination in the second document, and generate a second editing command A03 based on the result. Specifically, as a result of the comparison between the first and second combination letters, since the first combination letter and the second combination letter are the same combination letter, the second editing command generation unit 207 synchronizes the first combination letter with the second combination letter. May not generate a synchronization command.
  • the second editing command generation unit 207 may generate a second editing command A03 for inputting “overcoming” after “Hangul” of the first markup document. .
  • the combination character storage determination unit 205 uses the combination character storage unit ( 206).
  • " ⁇ " stored in the combination letter storage unit 206 is the first combination letter.
  • the second edit command transmitter 208 transmits the second edit command A03 generated by the second edit command generator 207 to the document storage server 250. Accordingly, “Hangul” may be changed to “Hangul and Com” in the first markup document of the document storage server 250.
  • Events 19 and 20 are events in which the first editing command receiving unit 203 generates a first editing command to input “ ⁇ ” and “SPACE”.
  • Events 19 and 20 receive a first editing command for the first editing command receiving unit 203 to input " ⁇ " and "SPACE” and, accordingly, markup language based document editing unit 204. Changes "Hangul and Com” inputted in the second markup document to "Hangul and Computer.”
  • the first editing command receiving unit 203 receives a first editing command (that is, the first editing command to input the "SPACE") to input a preset first combination letter, the second editing command
  • the generation unit 207 uses the second editing command to input the " ⁇ " and the "SPACE” generated by the first editing command receiving unit 203 after the previous generation of the second editing command A03.
  • A04 is an event that generates.
  • the second edit command generation unit 207 stores the first combination letter (ie, “ ⁇ ”) in the combination letter storage unit 206, and thus, the first combination letter (ie, “ ⁇ ”). ”) And a second combination letter (ie,“ pew ”) located at the start of the combination in the second document, and generate a second editing command A04 based on the result.
  • the second editing command generation unit 207 since the first combination letter and the second combination letter are different combination letters as a result of the comparison between the first and second combination letters, the second editing command generation unit 207 generates a combination letter corresponding to the first combination letter. You can create a synchronization command to synchronize to two combinations. That is, the second editing command generation unit 207 may generate the synchronization command to include a delete command for deleting the first combined letter and an insert command for inserting the second combined letter.
  • the second edit command generation unit 207 may generate a second edit command A04 to delete “ ⁇ ” of the first markup document and input “computer”. have.
  • the combined character storage determination unit 205 sets the "SPACE” in the combined character storage unit 206.
  • the first combination letter (ie, “ ⁇ ”) stored in the combination letter storage unit 206 may be deleted.
  • the second edit command transmitter 208 transmits the second edit command A04 generated by the second edit command generator 207 to the document storage server 250. Accordingly, “ ⁇ ” may be deleted and “computer” may be input to the first markup document of the document storage server 250. Accordingly, “Hangul and Computer” may be finally stored in the first markup document of the document storage server 250.
  • FIG. 4 is a flowchart illustrating a method of operating an apparatus for synchronizing a combined character of a markup language-based document according to an embodiment of the present invention.
  • a second edit command is generated based on the first edit command received after the generation of the previous second edit command, and the first combination letter may be combined and updated when the previous second edit command is generated. If is present, after comparing the first combination letter with the second combination letter located at the combination start position, a second editing command including a synchronization command for the first combination letter is generated.
  • the generating of the second editing command including the synchronization command is when the first combination letter and the second combination letter are different combination letters
  • the second editing command may include a synchronization command for synchronizing a combination letter corresponding to the first combination letter to the second combination letter in the markup language-based document of the document storage server.
  • the synchronization command may include a delete command for the combination letter corresponding to the first combination letter and an insertion command for the second combination letter.
  • step S430 if a preset time elapses after generating the previous second edit command or a preset time elapses after the previous first edit command is generated.
  • the second edit command may be generated.
  • step S430 when a preset first editing command is generated or receives a second editing command of a combination character synchronization device of another markup language-based document from the document storage server.
  • the second edit command may be generated.
  • step S450 the second editing command is transmitted to the document storage server.
  • the operating method of the combined character synchronization apparatus of the markup language-based document according to an embodiment of the present invention has been described with reference to FIG. 4.
  • the operation method of the combined character synchronization device of the markup language-based document according to an embodiment of the present invention corresponds to the configuration and operation of the combined character synchronization device of the markup language-based document described with reference to FIGS. Since a detailed description thereof will be omitted.
  • the operating method of the apparatus for synchronizing a combination character of a markup language-based 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 synchronizing a combination character of a markup language-based 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법은 이전의 제2 편집 명령이 생성되는 시점에 조합 갱신 가능한 제1 조합 글자가 존재하는 경우, 상기 제1 조합 글자와 조합 시작 위치에 위치하는 제2 조합 글자를 비교한 후, 상기 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성함으로써, 문서 저장 서버의 마크업 언어 기반 문서와 유저의 단말의 마크업 언어 기반 문서 간의 조합 글자의 동기화를 가능하게 할 수 있다.

Description

마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법
본 발명은 마크업 언어(Markup Language) 기반 문서에 대한 복수의 유저들 간의 동시 편집 시에 조합 갱신된 조합 글자를 복수의 유저들 간에 동기화하기 위한 기법에 대한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다.
하지만, 최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 원격지의 서버를 통해서, 클라이언트 단말인 전자 단말 장치에 전자 문서 관련 서비스를 제공함으로써, 사용자가 전자 단말 장치에 소정의 전자 문서 관련 프로그램을 설치하지 않더라도 언제 어디에서든지 전자 문서를 열람, 작성, 편집할 수 있도록 하는 웹 기반의 전자 문서 서비스가 등장하고 있다.
이러한 웹 기반의 전자 문서 서비스는 다양한 클라이언트 단말들이 전자 문서 서비스 제공 서버에 접속한 후 브라우저를 통해 마크업 언어(Markup Language) 기반의 전자 문서를 열람한 후 해당 전자 문서를 작성 및 편집할 수 있도록 지원하며, 다양한 클라이언트 단말들이 상기 전자 문서에 대해서 실시간으로 동시 협업을 수행할 수 있도록 지원한다는 점에서 기업이나 단체 등에서 주로 활용되고 있다.
그리고, 웹 기반의 전자 문서 서비스는 클라이언트 단말에 소정의 전자 문서 작성 프로그램을 설치할 필요 없이, 인터넷에 접속만 할 수 있으면, 클라이언트 단말에 탑재되어 있는 브라우저를 통해서 전자 문서를 열람하고, 작성 및 편집할 수 있도록 지원하기 때문에 사용자의 이동성을 보장할 수 있어, 개인 사용자들도 점차 증가하고 있는 추세이다.
보통, 웹 기반의 전자 문서 서비스는 네트워크로 연결된 클라이언트 단말이 브라우저를 통해 전자 문서에 대한 편집을 수행할 수 있도록 지원하기 위해, 원본 전자 문서를 마크업 언어(Markup Language) 기반 문서로 변환하여 클라이언트 단말로 제공하면, 클라이언트 단말이 브라우저를 통해 상기 마크업 언어 기반 문서에 대한 편집을 수행하는 방식으로 운영된다.
관련해서, 클라이언트 단말이 브라우저를 통해 상기 마크업 언어 기반 문서에 대한 편집을 수행하는 중에는 소정의 시점마다 원격지의 서버에 대하여 편집 명령을 전송함으로써 원격지의 서버의 마크업 언어 기반 문서와 클라이언트 단말의 마크업 언어 기반 문서 간에 동기화(Synchronization)하여야 한다.
이때, 클라이언트 단말이 상기 마크업 언어 기반 문서에서 조합 갱신 가능한 조합 문자를 원격지 서버의 마크업 언어 기반 문서에 동기화한 후, 상기 조합 갱신 가능한 조합 문자가 조합 갱신된 경우, 원격지 서버의 마크업 언어 기반 문서에 동기화된 조합 갱신 가능한 조합 문자를 조합 갱신된 조합 글자로 동기화하는 알고리즘이 도입될 필요가 있다.
본 발명에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법은 사용자로부터 입력된 신호에 기초하여 원격지 서버로부터 수신된 마크업 언어 기반 문서에 대한 제1 편집 명령을 생성하고, 이전의 제2 편집 명령의 생성 이후 생성된 제1 편집 명령에 기초하여 제2 편집 명령을 생성하되, 상기 이전의 제2 편집 명령이 조합 갱신 가능한 조합 글자에 대한 편집 명령을 포함하는 경우, 상기 조합 글자와 상기 이전의 제2 편집 명령의 생성 이후 생성된 상기 제1 편집 명령에 의해 조합 갱신된 조합 글자를 비교한 후, 상기 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성하며, 상기 제2 편집 명령을 상기 원격지 서버로 전송함으로써, 원격지 서버의 마크업 언어 기반 문서와 유저의 단말의 마크업 언어 기반 문서 간의 조합 글자의 동기화를 가능하게 하고자 한다.
본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치는 입력 장치를 통해 사용자가 입력한 입력 신호에 대응하는 제1 편집 명령 - 상기 제1 편집 명령은 문서 저장 서버로부터 수신된 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 수신하는 제1 편집 명령 수신부, 이전의 제2 편집 명령의 생성 이후 수신된 제1 편집 명령에 기초하여 제2 편집 명령 - 상기 제2 편집 명령은 상기 문서 저장 서버의 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 생성하는 제2 편집 명령 생성부 및 상기 제2 편집 명령을 상기 문서 저장 서버로 전송하는 제2 편집 명령 전송부를 포함하고, 상기 제2 편집 명령 생성부는 상기 이전의 제2 편집 명령이 생성되는 시점에 조합 갱신 가능한 제1 조합 글자가 존재하는 경우, 상기 제1 조합 글자와 조합 시작 위치에 위치하는 제2 조합 글자를 비교한 후, 상기 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성한다.
또한, 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법은 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법에 있어서, 입력 장치를 통해 사용자가 입력한 입력 신호에 대응하는 제1 편집 명령 - 상기 제1 편집 명령은 문서 저장 서버로부터 수신된 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 수신하는 단계, 이전의 제2 편집 명령의 생성 이후 수신된 제1 편집 명령에 기초하여 제2 편집 명령 - 상기 제2 편집 명령은 상기 문서 저장 서버의 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 생성하는 단계 및 상기 제2 편집 명령을 상기 문서 저장 서버로 전송하는 단계를 포함하고, 상기 제2 편집 명령 생성 단계는 상기 이전의 제2 편집 명령이 생성되는 시점에 조합 갱신 가능한 제1 조합 글자가 존재하는 경우, 상기 제1 조합 글자와 조합 시작 위치에 위치하는 제2 조합 글자를 비교한 후, 상기 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성하는 단계를 포함한다.
본 발명에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법은 사용자로부터 입력된 신호에 기초하여 문서 저장 서버로부터 수신된 마크업 언어 기반 문서에 대한 제1 편집 명령을 생성하고, 이전의 제2 편집 명령의 생성 이후 생성된 제1 편집 명령에 기초하여 제2 편집 명령을 생성하되, 상기 이전의 제2 편집 명령이 조합 갱신 가능한 조합 글자에 대한 편집 명령을 포함하는 경우, 상기 조합 글자와 상기 이전의 제2 편집 명령의 생성 이후 생성된 상기 제1 편집 명령에 의해 조합 완료된 조합 글자를 비교한 후, 상기 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성하며, 상기 제2 편집 명령을 상기 문서 저장 서버로 전송함으로써, 원격지 서버의 마크업 언어 기반 문서와 유저의 단말의 마크업 언어 기반 문서 간의 조합 글자의 동기화를 가능하게 할 수 있다.
도 1은 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치를 포함하는 마크업 언어 기반 문서 편집 시스템의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 구조를 상세하게 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치가 시간 흐름에 따라 발생한 이벤트들을 처리하는 과정을 예시한 도면이다.
도 4는 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)을 포함하는 마크업 언어 기반 문서 편집 시스템(100)의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)을 포함하는 마크업 언어 기반 문서 편집 시스템(100)은 복수의 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)과 문서 저장 서버(170)를 포함한다.
문서 저장 서버(170)에 "hwp"나 "docx" 등의 확장자를 갖는 원본 전자 문서(180)가 저장되어 있는 상태에서 제1 유저(130)의 마크업 언어 기반 문서의 조합 글자 동기화 장치(110) 및/또는 제2 유저(160)의 마크업 언어 기반 문서의 조합 글자 동기화 장치(140)로부터 상기 원본 전자 문서(180)에 대한 액세스 요청이 수신되면, 문서 저장 서버(170)는 상기 원본 전자 문서(180)를 같은 마크업 언어 기반 문서(190)로 변환한 후 상기 마크업 언어 기반 문서(190)를 제1 유저(130)의 마크업 언어 기반 문서의 조합 글자 동기화 장치(110) 및/또는 제2 유저(160)의 마크업 언어 기반 문서의 조합 글자 동기화 장치(140)로 전송할 수 있다.
여기서, 마크업 언어 기반 문서는 HTML(Hypertext Markup Language)이나 XML(eXtensible Markup Language)과 같은 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)에 설치되어 있는 브라우저를 통해서 열람이 가능한 마크업 언어로 구성된 문서를 의미한다.
즉, 도 1을 참조하면, 제1 및 2 유저(130, 160)는 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)을 이용하여 문서 저장 서버(170)에 저장된 원본 전자 문서(180)에 대한 마크업 기반 문서(190)를 수신하고, 수신된 마크업 언어 기반 문서들(120, 150)을 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)에 설치되어 있는 브라우저를 통해서 열람 및 편집할 수 있다.
이하에서는 도 2에 도시된 도면을 참조하여 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)의 구조에 대해 상세히 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 구조를 상세하게 도시한 도면이다.
도 2에 도시된 마크업 언어 기반 문서의 조합 글자 동기화 장치(200)는 도 1에 도시된 마크업 언어 기반 문서의 조합 글자 동기화 장치들(110, 140)의 각각에 대응하며, 도 2에 도시된 문서 저장 서버(250)는 도 1에 도시된 문서 저장 서버(170)에 대응한다.
도 2를 참조하면, 마크업 언어 기반 문서의 조합 글자 동기화 장치(200)는 마크업 언어 기반 문서 수신부(201), 마크업 언어 기반 문서 저장부(202), 제1 편집 명령 수신부(203), 마크업 언어 기반 문서 편집부(204), 조합 글자 저장 판단부(205), 조합 글자 저장부(206), 제2 편집 명령 생성부(207) 및 제2 편집 명령 전송부(208)을 포함한다.
먼저, 마크업 언어 기반 문서 수신부(201)는 네트워크로 연결된 문서 저장 서버(250)로부터 상기 문서 저장 서버(250)가 원본 전자 문서에 기초하여 생성한 마크업 언어 기반 문서를 수신하고, 수신된 마크업 언어 기반 문서를 마크업 언어 기반 문서 저장부(202)에 저장한다. 이하에서는, 문서 저장 서버(250)에서 원본 전자 문서에 기초하여 생성된 마크업 언어 기반 문서를 제1 마크업 문서라고 하고, 마크업 언어 기반 문서 수신부(201)가 수신하여 마크업 언어 기반 문서 저장부(202)에 저장된 마크업 언어 기반 문서를 제2 마크업 문서라고 한다. 여기에서, 마크업 언어 기반 문서 저장부(202)는 DRAM(Dynamic Random Access Memory), SRAM(Static RAM) 등과 같은 메모리 장치로 구현될 수 있다.
다음으로, 제1 편집 명령 수신부(203)는 입력 장치를 통해 사용자가 입력한 입력 신호에 대응하는 편집 명령을 수신한다. 여기서, 입력 장치는 마크업 언어 기반 문서의 조합 글자 동기화 장치(200)에 유/무선으로 연결된 키보드, 마우스, 터치스크린, 전자 펜 등의 입력 장치이며, 사용자가 입력한 입력 신호에 기초하여 편집 명령을 생성할 수 있다. 예를 들어, 사용자가 입력 장치(예: 키보드)를 이용하여 “ㅎ”을 입력한 경우, 입력 장치는 제2 마크업 문서에 “ㅎ”을 입력하라는 편집 명령을 생성하고 제1 편집 명령 수신부(203)는 입력 장치로부터 편집 명령을 수신할 수 있다. 또한, 사용자가 입력 장치(예: 키보드)를 이용하여 “ㅏ”를 입력한 경우, 입력 장치는 제2 마크업 문서에 “ㅏ”를 입력하라는 편집 명령을 생성하고 제1 편집 명령 수신부(203)는 입력 장치로부터 편집 명령을 수신할 수 있다.
또한, 제1 편집 명령 수신부(203)는 문서 저장 서버(250)를 통해 다른 사용자의 조합 글자 동기화 장치가 생성한 편집 명령을 수신할 수도 있다. 이하에서는, 설명의 편의를 위하여, 제1 편집 명령 수신부(203)가 수신한 편집 명령은 입력 장치로부터 수신된 편집 명령인 것으로 가정하며, 제1 편집 명령 수신부(203)가 입력 장치로부터 수신한 편집 명령은 제1 편집 명령이라고 지칭하기로 한다.
마크업 언어 기반 문서 편집부(204)는 제1 편집 명령에 기초하여 제2 마크업 문서를 편집한다. 예를 들어, 마크업 언어 기반 문서 편집부(204)는 “ㅎ”을 입력하라는 제1 편집 명령에 기초하여 제2 마크업 문서에 “ㅎ”을 입력함으로써 제2 마크업 문서를 편집하며, “ㅏ”를 입력하라는 제1 편집 명령에 기초하여 제2 마크업 문서에 “ㅏ”를 입력함으로써 제2 마크업 문서를 편집할 수 있다. 이에 따라, 마크업 언어 기반 문서 저장부(202)에서는 제2 마크업 문서가 “하”가 입력된 상태로 갱신될 수 있다.
조합 글자 저장 판단부(205)는 제1 편집 명령에 기초하여 조합 글자의 저장 여부를 판단한다. 여기서, 조합 글자는 알파벳, 숫자, 특수 문자 등과 같이 하나의 제1 편집 명령을 통해 글자 입력이 완성되는 비조합 글자와 달리 한글, 한자 등과 같이 2 이상의 제1 편집 명령을 통해 글자 입력이 완성되는 글자이다.
구체적으로, 조합 글자 저장 판단부(205)는 제2 편집 명령을 생성 또는 전송하는 시점(이하에서는, 제2 편집 명령을 생성 또는 전송하는 시점을 기준 시점이라고 지칭함)에 제2 마크업 문서에 조합 갱신 가능한 조합 글자가 존재하는지 판단하고, 조합 갱신 가능한 조합 글자가 존재하면, 상기 조합 갱신 가능한 조합 글자를 조합 글자 저장부(206)에 저장한다. 여기에서, 제2 편집 명령은 제2 편집 명령 생성부(207)가 제1 편집 명령 수신부(203)에서 수신된 제1 편집 명령에 기초하여 생성한 편집 명령이며, 아래에서 제2 편집 명령 생성부(207)에 관한 설명을 통해 상술하기로 한다.
여기에서, 조합 갱신 가능한 조합 글자란 제1 편집 명령 수신부(203)에서 다음번에 수신하는 제1 편집 명령에 의해 글자의 형태가 변형될 수 있는 조합 글자이며, 조합 완료된 조합 글자란 제1 편집 명령 수신부(203)에서 다음번에 수신하는 제1 편집 명령에 의해 글자의 형태가 변형되지 않는 조합 글자를 지칭한다. 예를 들어, “ㅎ”, “ㅏ” 및 “ㄴ”을 입력하라는 복수의 제1 편집 명령이 순차적으로 생성되어 제2 마크업 문서에 “한”이 입력된 경우, 상기 “한”은 다음번에 생성되는 제1 편집 명령에 의해 글자의 형태가 변경될 수 있으므로, “한”은 조합 갱신 가능한 조합 글자이다(예컨대, “한”은 다음번에 생성되는 “ㅈ”을 입력하라는 제1 편집 명령에 의해 글자의 형태가 “핝”으로 변경될 수 있음). 또한, 예를 들어, “ㅎ”, “ㅏ”, “ㄴ” 및 “ㄱ”을 입력하라는 복수의 제1 편집 명령이 순차적으로 생성되어 제2 마크업 문서에 “한ㄱ”이 입력된 경우, “한”은 다음번에 생성되는 제1 편집 명령에 의해 글자의 형태가 변경될 수 없으므로, “한”은 조합 완료된 조합 글자이고, “ㄱ”은 다음번에 생성되는 제1 편집 명령에 의해 글자의 형태가 변경될 수 있으므로, “ㄱ”은 조합 갱신 가능한 조합 글자이다(예컨대, “한ㄱ”은 다음번에 생성되는 “ㅡ”를 입력하라는 제1 편집 명령에 의해 글자의 형태가 “한그”로 변경되어 “ㄱ”은 “그”로 글자의 형태가 변경될 수 있으나, “한”의 글자의 형태는 변경될 수 없음). 두 번째 예시에서, “ㄱ”을 입력하라는 제1 편집 명령 대신에 커서를 이동하라는 제1 편집 명령, 영문, 숫자 또는 특수 문자와 같은 비조합 글자를 입력하라는 제1 편집 명령이 존재하는 경우에도 “한”은 다음번에 생성되는 제1 편집 명령에 의해 글자의 형태가 변경될 수 없으므로, “한”은 조합 완료된 조합 글자로 평가될 수 있다.
조합 글자 저장 판단부(205)가 기준 시점에 기초하여 조합 갱신 가능한 조합 글자를 조합 글자 저장부(206)에 저장하는 기법을 예를 들어 설명하면 다음과 같다. 예를 들어, “ㅎ”, “ㅏ”, “ㄴ”, “ㄱ”, “ㅡ” 및 “ㄹ”을 입력하라는 복수의 제1 편집 명령이 순차적으로 생성되고, “ㄴ”을 입력하라는 제1 편집 명령과 “ㄱ”을 입력하라는 제1 편집 명령 사이에 제2 편집 명령이 생성 또는 전송된 경우, 기준 시점에 “한”이 제2 마크업 문서에서 조합 갱신 가능한 조합 글자이므로 조합 글자 저장 판단부(205)는 “한”을 조합 글자 저장부(206)에 저장한다. 또한, 예를 들어, “ㅎ”, “ㅏ”, “ㄴ”, “ㄱ”, “ㅡ” 및 “ㄹ”을 입력하라는 복수의 제1 편집 명령이 순차적으로 생성되고, “ㅎ”을 입력하라는 제1 편집 명령과 “ㅏ”를 입력하라는 제1 편집 명령 사이에 제2 편집 명령이 생성 또는 전송된 경우, 기준 시점에 “하”가 제2 마크업 문서에서 조합 갱신 가능한 조합 글자이므로, 조합 글자 저장 판단부(205)는 “하”를 조합 글자 저장부(206)에 저장한다.
즉, 조합 글자 저장 판단부(205)는 기준 시점 직전에 생성된 제1 편집 명령이 조합 글자를 입력하라는 입력 명령인 경우, 상기 제1 편집 명령에 대응하는 조합 글자를 제2 마크업 문서에서 조합 갱신 가능한 상태인 조합 글자로 판별하여 조합 글자 저장부(206)에 저장한다. 이하에서는, 조합 글자 저장부(206)에 저장된 조합 글자를 제1 조합 글자라고 하며, 제2 마크업 문서에서 상기 제1 조합 글자에 상응하는 조합 글자의 위치를 조합 시작 위치라고 한다.
또한, 조합 글자 저장 판단부(205)는 기준 시점에 조합 갱신 가능한 조합 글자가 존재하지 않는 경우 조합 글자 저장부(206)에 저장된 제1 조합 글자를 삭제할 수 있다.
제2 편집 명령 생성부(207)은 제1 편집 명령 수신부(203)가 수신한 제1 편집 명령에 기초하여 제2 편집 명령을 생성한다. 구체적으로, 제2 편집 명령 생성부(207)는 이전의 제2 편집 명령 생성 이후 제1 편집 명령 수신부(203)가 수신한 제1 편집 명령에 기초하여 제2 편집 명령을 생성한다. 여기서, 제2 편집 명령은 문서 저장 서버(250) 상의 제1 마크업 문서를 편집하라는 편집 명령이다.
제2 편집 명령 생성부(207)는 조합 글자 저장부(206)에 제1 조합 글자가 저장되어 있는 경우, 제1 조합 글자와 제2 문서에서 조합 시작 위치에 위치하는 조합 글자(이하에서 제2 문서에서 조합 시작 위치에 위치하는 조합 글자를 ‘제2 조합 글자’라고 함) 간의 비교 결과에 기초하여 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성할 수 있다.
제2 편집 명령 생성부(207)는 제1 및 2 조합 글자들 간의 비교 결과 상기 제1 조합 글자와 상기 제2 조합 글자가 서로 다른 조합 글자인 경우(예컨대, 제1 조합 글자는 “하”이고, 제2 조합 글자는 “한”인 경우), 제1 문서에서 제1 조합 글자에 상응하는 조합 글자를 제2 조합 글자로 동기화하라는 동기화 명령을 생성할 수 있다. 제2 편집 명령 생성부(207)는 제1 문서에 삽입된 제1 조합 글자에 상응하는 조합 글자를 삭제하라는 삭제 명령과 제2 조합 글자를 삽입하라는 삽입 명령을 포함하는 상기 동기화 명령을 생성할 수 있다.
상기 삭제 명령과 상기 삽입 명령을 포함하는 상기 동기화 명령을 생성하는 경우, 제2 편집 명령 생성부(207)는 문서 저장 서버(250)가 제1 문서에 삽입 명령을 수행한 후 삭제 명령을 수행하도록 삽입 명령과 삭제 명령 간의 순서를 설정할 수 있다. 또한, 제2 편집 명령 생성부(207)는 문서 저장 서버(250)가 삭제 명령을 수행한 후 삽입 명령을 수행하도록 삽입 명령과 삭제 명령 간의 순서를 설정할 수 있다.
제2 편집 명령 생성부(207)는 제1 및 2 조합 글자들 간의 비교 결과 상기 제1 조합 글자와 상기 제2 조합 글자가 서로 같은 조합 글자인 경우(예컨대, 제1 조합 글자는 “한”이고, 제2 조합 글자는 “한”인 경우), 제1 문서에 삽입된 제1 조합 글자에 상응하는 조합 글자를 제2 조합 글자로 동기화하라는 동기화 명령을 생성하지 않을 수 있다.
제2 편집 명령 생성부(207)는 이전의 제1 편집 명령이 수신된 후 사전 설정된 시간이 경과한 경우, 이전의 제2 편집 명령이 생성된 후 사전 설정된 시간이 경과한 경우, 사전 설정된 제1 편집 명령이 수신된 경우 또는 문서 저장 서버(250)로부터 다른 사용자의 마크업 언어 기반 문서의 조합 글자 동기화 장치의 편집 명령을 수신한 경우, 제2 편집 명령을 생성할 수 있다. 여기서, 사전 설정된 시간은, 예를 들어, 1초일 수 있으며, 사전 설정된 제1 편집 명령은, 예를 들어, ‘SPACE’를 입력하라는 제1 편집 명령, 커서의 위치를 이동하라는 제1 편집 명령 등일 수 있다.
다음으로, 제2 편집 명령 전송부(208)는 생성된 제2 편집 명령을 문서 저장 서버(250)에 전송한다. 이에 따라, 문서 저장 서버(250)는 수신된 제2 편집 명령에 기초하여 제1 마크업 문서를 제2 마크업 문서로 동기화할 수 있다.
이하에서는 도 3에 도시된 도면을 참조하여 본 발명에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치(200)의 구조에 대해 예를 들어 보다 상세히 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치(200)가 시간 흐름에 따라 발생한 이벤트들(E01 내지 E21)을 처리하는 과정을 예시한 도면이다.
도 3을 참조하면, 1 및 2번 이벤트(E01 및 E02)들은 제1 편집 명령 수신부(203)가 “ㅎ” 및 “ㅏ”를 입력하라는 제1 편집 명령을 수신하는 이벤트이다.
1 및 2번 이벤트(E01 및 E02)에서 제1 편집 명령 수신부(203)가 “ㅎ” 및 “ㅏ”를 입력하라는 제1 편집 명령을 수신하고, 이에 따라, 마크업 언어 기반 문서 편집부(204)는 제2 마크업 문서에 “하”를 입력한다.
다음으로, 3번 이벤트(E03)는 제1 편집 명령 수신부(203)가 “ㅎ” 및 “ㅏ”를 입력하라는 제1 편집 명령을 수신한 후 사전 설정된 시간이 경과하여 제2 편집 명령 생성부(207)가 “ㅎ” 및 “ㅏ”를 입력하라는 제1 편집 명령을 이용하여 제2 편집 명령(A01)을 생성하는 이벤트이다.
3번 이벤트(E03)에서 제2 편집 명령 생성부(207)는 제1 편집 명령 수신부(203)가 생성한 “ㅎ” 및 “ㅏ”를 입력하라는 제1 편집 명령을 이용하여 제1 마크업 문서에 “하”를 입력하라는 제2 편집 명령(A01)을 생성할 수 있다.
또한, 3번 이벤트(E03)에서 제2 편집 명령(A01)을 생성할 때의 “하”가 조합 갱신 가능한 조합 문자이므로, 조합 글자 저장 판단부(205)는 “하”를 조합 글자 저장부(206)에 저장한다. 여기서, 조합 글자 저장부(206)에 저장된 “하”는 제1 조합 글자이다.
마지막으로, 3번 이벤트(E03)에서 제2 편집 명령 전송부(208)는 제2 편집 명령 생성부(207)가 생성한 제2 편집 명령(A01)을 문서 저장 서버(250)에 전송하며, 이에 따라, 문서 저장 서버(250)의 제1 마크업 문서에 “하”가 입력될 수 있다.
4 내지 7번 이벤트(E04 및 E07)들은 제1 편집 명령 수신부(203)가 “ㄴ”, “ㄱ”, “ㅡ” 및 “ㄹ”을 입력하라는 제1 편집 명령을 수신하는 이벤트이다.
4 내지 7번 이벤트(E04 및 E07)에서 제1 편집 명령 수신부(203)가 “ㄴ”, “ㄱ”, “ㅡ” 및 “ㄹ”을 입력하라는 제1 편집 명령을 수신하고, 이에 따라, 마크업 언어 기반 문서 편집부(204)는 제2 마크업 문서에 입력된 “하”를 “한글”로 변경한다.8번 이벤트(E08)는 제2 편집 명령 생성부(207)가 이전의 제2 편집 명령(A01)을 생성한 후 사전 설정된 시간이 경과하여 제2 편집 명령 생성부(207)가 이전의 제2 편집 명령(A01) 생성 이후 제1 편집 명령 수신부(203)가 수신한 “ㄴ”, “ㄱ”, “ㅡ” 및 “ㄹ”을 입력하라는 제1 편집 명령에 이용하여 제2 편집 명령(A02)을 생성하는 이벤트이다.
8번 이벤트(E08)에서 제2 편집 명령 생성부(207)는 조합 글자 저장부(206)에 제1 조합 글자(즉, “하”)가 저장되어 있으므로, 제1 조합 글자(즉, “하”) 및 제2 문서에서 조합 시작 위치에 위치하는 제2 조합 글자(즉, “한”)를 비교하고, 그 결과에 기초하여 제2 편집 명령(A02)을 생성할 수 있다. 구체적으로, 제1 및 2 조합 글자들 간의 비교 결과 제1 조합 글자와 제2 조합 글자가 서로 다른 조합 글자이므로, 제2 편집 명령 생성부(207)는 제1 문서에서 제1 조합 글자에 상응하는 조합 글자를 제2 조합 글자로 동기화하라는 동기화 명령을 생성할 수 있다. 즉, 제2 편집 명령 생성부(207)는 제1 조합 글자에 상응하는 조합 글자를 삭제하라는 삭제 명령과 제2 조합 글자를 삽입하라는 삽입 명령을 포함하도록 상기 동기화 명령을 생성할 수 있다.
이에 따라, 8번 이벤트(E08)에서 제2 편집 명령 생성부(207)는 제1 마크업 문서의 “하”를 삭제하고, “한글”을 입력하라는 제2 편집 명령(A02)을 생성할 수 있다.
또한, 8번 이벤트(E08)에서 제2 편집 명령(A02)을 생성할 때의 “글”이 조합 갱신 가능한 조합 문자이므로, 조합 글자 저장 판단부(205)는 “글”을 조합 글자 저장부(206)에 저장한다. 여기서, 조합 글자 저장부(206)에 저장된 “글”은 제1 조합 글자이다.
마지막으로, 8번 이벤트(E08)에서 제2 편집 명령 전송부(208)는 제2 편집 명령 생성부(207)가 생성한 제2 편집 명령(A02)을 문서 저장 서버(250)에 전송하며, 이에 따라, 문서 저장 서버(250)의 제1 마크업 문서에 “하”가 삭제되고 “한글”이 입력될 수 있다.
9 내지 17번 이벤트(E09 및 E17)들은 제1 편집 명령 수신부(203)가 “ㄱ”, “ㅗ”, “ㅏ”, “ㅋ”, “ㅓ”, “ㅁ”, “ㅍ”, “ㅠ” 및 “ㅌ”를 입력하라는 제1 편집 명령을 수신하는 이벤트이다.
9 내지 17번 이벤트(E09 및 E17)에서 제1 편집 명령 수신부(203)가 “ㄱ”, “ㅗ”, “ㅏ”, “ㅋ”, “ㅓ”, “ㅁ”, “ㅍ”, “ㅠ” 및 “ㅌ”를 입력하라는 제1 편집 명령을 수신하고, 이에 따라, 마크업 언어 기반 문서 편집부(204)는 제2 마크업 문서에 입력된 “한글”을 “한글과컴픁”으로 변경한다.
18번 이벤트(E18)는 제2 편집 명령 생성부(207)가 이전의 제2 편집 명령(A02)을 생성한 후 사전 설정된 시간이 경과하여 제2 편집 명령 생성부(207)가 이전의 제2 편집 명령(A02) 생성 이후 제1 편집 명령 수신부(203)가 수신한 “ㄱ”, “ㅗ”, “ㅏ”, “ㅋ”, “ㅓ”, “ㅁ”, “ㅍ”, “ㅠ” 및 “ㅌ”을 입력하라는 제1 편집 명령에 이용하여 제2 편집 명령(A03)을 생성하는 이벤트이다.
18번 이벤트(E18)에서 제2 편집 명령 생성부(207)는 조합 글자 저장부(206)에 제1 조합 글자(즉, “글”)가 저장되어 있으므로, 제1 조합 글자(즉, “글”) 및 제2 문서에서 조합 시작 위치에 위치하는 제2 조합 글자(즉, “글”)를 비교하고, 그 결과에 기초하여 제2 편집 명령(A03)을 생성할 수 있다. 구체적으로, 제1 및 2 조합 글자들 간의 비교 결과 제1 조합 글자와 제2 조합 글자가 서로 같은 조합 글자이므로, 제2 편집 명령 생성부(207)는 제1 조합 글자를 제2 조합 글자로 동기화하라는 동기화 명령을 생성하지 않을 수 있다.
이에 따라, 18번 이벤트(E18)에서 제2 편집 명령 생성부(207)는 제1 마크업 문서의 “한글” 다음에 “과컴픁”을 입력하라는 제2 편집 명령(A03)을 생성할 수 있다.
또한, 18번 이벤트(E18)에서 제2 편집 명령(A03)을 생성할 때의 “픁”이 조합 갱신 가능한 조합 문자이므로, 조합 글자 저장 판단부(205)는 “픁”을 조합 글자 저장부(206)에 저장한다. 여기서, 조합 글자 저장부(206)에 저장된 “픁”은 제1 조합 글자이다.
마지막으로, 18번 이벤트(E18)에서 제2 편집 명령 전송부(208)는 제2 편집 명령 생성부(207)가 생성한 제2 편집 명령(A03)을 문서 저장 서버(250)에 전송하며, 이에 따라, 문서 저장 서버(250)의 제1 마크업 문서에 “한글”이 “한글과컴픁”으로 변경될 수 있다.
19 및 20번 이벤트(E19 및 E20)들은 제1 편집 명령 수신부(203)가 “ㅓ” 및 “SPACE”를 입력하라는 제1 편집 명령을 생성하는 이벤트이다.
19 및 20번 이벤트(E19 및 E20)들은 제1 편집 명령 수신부(203)가 “ㅓ” 및 “SPACE”를 입력하라는 제1 편집 명령을 수신하고, 이에 따라, 마크업 언어 기반 문서 편집부(204)는 제2 마크업 문서에 입력된 “한글과컴픁”을 “한글과컴퓨터 ”로 변경한다.
21번 이벤트(E21)는 제1 편집 명령 수신부(203)가 사전 설정된 제1 조합 글자를 입력하라는 제1 편집 명령(즉, “SPACE”를 입력하라는 제1 편집 명령)을 수신하여 제2 편집 명령 생성부(207)가 이전의 제2 편집 명령(A03) 생성 이후 제1 편집 명령 수신부(203)가 생성한 “ㅓ” 및 “SPACE”를 입력하라는 제1 편집 명령에 이용하여 제2 편집 명령(A04)을 생성하는 이벤트이다.
21번 이벤트(E21)에서 제2 편집 명령 생성부(207)는 조합 글자 저장부(206)에 제1 조합 글자(즉, “픁”)가 저장되어 있으므로, 제1 조합 글자(즉, “픁”) 및 제2 문서에서 조합 시작 위치에 위치하는 제2 조합 글자(즉, “퓨”)를 비교하고, 그 결과에 기초하여 제2 편집 명령(A04)을 생성할 수 있다. 구체적으로, 제1 및 2 조합 글자들 간의 비교 결과 제1 조합 글자와 제2 조합 글자가 서로 다른 조합 글자이므로, 제2 편집 명령 생성부(207)는 제1 조합 글자에 상응하는 조합 글자를 제2 조합 글자로 동기화하라는 동기화 명령을 생성할 수 있다. 즉, 제2 편집 명령 생성부(207)는 제1 조합 글자를 삭제하라는 삭제 명령과 제2 조합 글자를 삽입하라는 삽입 명령을 포함하도록 상기 동기화 명령을 생성할 수 있다.
이에 따라, 21번 이벤트(E21)에서 제2 편집 명령 생성부(207)는 제1 마크업 문서의 “픁”을 삭제하고, “퓨터 ”를 입력하라는 제2 편집 명령(A04)을 생성할 수 있다.
또한, 21번 이벤트(E21)에서 제2 편집 명령(A04)을 생성할 때의 “SPACE”가 비조합 문자이므로, 조합 글자 저장 판단부(205)는 “SPACE”를 조합 글자 저장부(206)에 저장하지 않으며, 조합 글자 저장부(206)에 저장된 제1 조합 글자(즉, “픁”)를 삭제할 수 있다.
마지막으로, 21번 이벤트(E21)에서 제2 편집 명령 전송부(208)는 제2 편집 명령 생성부(207)가 생성한 제2 편집 명령(A04)을 문서 저장 서버(250)에 전송하며, 이에 따라, 문서 저장 서버(250)의 제1 마크업 문서에 “픁”이 삭제되고 “퓨터”가 입력될 수 있다. 이에 따라, 최종적으로 문서 저장 서버(250)의 제1 마크업 문서에는 “한글과컴퓨터”가 저장될 수 있다.
도 4는 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법을 도시한 순서도이다.
단계(S410)에서는 입력 장치를 통해 사용자가 입력한 입력 신호에 대응하는 제1 편집 명령을 수신한다.
단계(S430)에서는 이전의 제2 편집 명령의 생성 이후 수신된 제1 편집 명령에 기초하여 제2 편집 명령을 생성하되, 상기 이전의 제2 편집 명령이 생성되는 시점에 조합 갱신 가능한 제1 조합 글자가 존재하는 경우, 상기 제1 조합 글자와 조합 시작 위치에 위치하는 제2 조합 글자를 비교한 후, 상기 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성한다.
이때, 본 발명의 일실시예에 따르면, 단계(S430)에서는 상기 동기화 명령을 포함하는 제2 편집 명령을 생성하는 단계는 상기 제1 조합 글자와 상기 제2 조합 글자가 서로 다른 조합 글자인 경우, 상기 문서 저장 서버의 상기 마크업 언어 기반 문서에서 상기 제1 조합 글자에 상응하는 조합 글자를 상기 제2 조합 글자로 동기화하라는 동기화 명령을 포함하는 제2 편집 명령을 생성할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 동기화 명령은 상기 제1 조합 글자에 상응하는 상기 조합 글자에 대한 삭제 명령과 상기 제2 조합 글자에 대한 삽입 명령을 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S430)에서는 상기 이전의 제2 편집 명령을 생성한 후 사전 설정된 시간이 경과한 경우 또는 이전의 제1 편집 명령이 생성된 후 사전 설정된 시간이 경과한 경우, 상기 제2 편집 명령을 생성할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S430)에서는 사전 설정된 제1 편집 명령이 생성된 경우 또는 상기 문서 저장 서버로부터 다른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 제2 편집 명령을 수신한 경우, 상기 제2 편집 명령을 생성할 수 있다.
단계(S450)에서는 상기 제2 편집 명령을 상기 문서 저장 서버로 전송한다.
이상, 도 4를 참조하여 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법은 도 1 내지 도 3을 이용하여 설명한 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. 입력 장치를 통해 사용자가 입력한 입력 신호에 대응하는 제1 편집 명령 - 상기 제1 편집 명령은 문서 저장 서버로부터 수신된 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 수신하는 제1 편집 명령 수신부;
    이전의 제2 편집 명령의 생성 이후 수신된 제1 편집 명령에 기초하여 제2 편집 명령 - 상기 제2 편집 명령은 상기 문서 저장 서버의 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 생성하는 제2 편집 명령 생성부; 및
    상기 제2 편집 명령을 상기 문서 저장 서버로 전송하는 제2 편집 명령 전송부
    를 포함하고,
    상기 제2 편집 명령 생성부는 상기 이전의 제2 편집 명령이 생성되는 시점에 조합 갱신 가능한 제1 조합 글자가 존재하는 경우, 상기 제1 조합 글자와 조합 시작 위치에 위치하는 제2 조합 글자를 비교한 후, 상기 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치.
  2. 제1항에 있어서,
    상기 제2 편집 명령 생성부는 상기 제1 조합 글자와 상기 제2 조합 글자가 서로 다른 조합 글자인 경우, 상기 문서 저장 서버의 상기 마크업 언어 기반 문서에서 상기 제1 조합 글자에 상응하는 조합 글자를 상기 제2 조합 글자로 동기화하라는 동기화 명령을 포함하는 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치.
  3. 제2항에 있어서,
    상기 동기화 명령은 상기 제1 조합 글자에 상응하는 상기 조합 글자에 대한 삭제 명령과 상기 제2 조합 글자에 대한 삽입 명령을 포함하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치.
  4. 제1항에 있어서,
    상기 제2 편집 명령 생성부는, 상기 제2 편집 명령 생성부가 상기 이전의 제2 편집 명령을 생성한 후 사전 설정된 시간이 경과한 경우 또는 이전의 제1 편집 명령이 생성된 후 사전 설정된 시간이 경과한 경우, 상기 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치.
  5. 제4항에 있어서,
    상기 제2 편집 명령 생성부는, 사전 설정된 제1 편집 명령이 생성된 경우 또는 상기 문서 저장 서버로부터 다른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 제2 편집 명령을 수신한 경우, 상기 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치.
  6. 마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법에 있어서,
    입력 장치를 통해 사용자가 입력한 입력 신호에 대응하는 제1 편집 명령 - 상기 제1 편집 명령은 문서 저장 서버로부터 수신된 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 수신하는 단계;
    이전의 제2 편집 명령의 생성 이후 수신된 제1 편집 명령에 기초하여 제2 편집 명령 - 상기 제2 편집 명령은 상기 문서 저장 서버의 마크업 언어 기반 문서를 편집하라는 편집 명령임 - 을 생성하는 단계; 및
    상기 제2 편집 명령을 상기 문서 저장 서버로 전송하는 단계
    를 포함하고,
    상기 제2 편집 명령 생성 단계는 상기 이전의 제2 편집 명령이 생성되는 시점에 조합 갱신 가능한 제1 조합 글자가 존재하는 경우, 상기 제1 조합 글자와 조합 시작 위치에 위치하는 제2 조합 글자를 비교한 후, 상기 제1 조합 글자에 대한 동기화 명령을 포함하는 제2 편집 명령을 생성하는 단계를 포함하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 동기화 명령을 포함하는 제2 편집 명령을 생성하는 단계는 상기 제1 조합 글자와 상기 제2 조합 글자가 서로 다른 조합 글자인 경우, 상기 문서 저장 서버의 상기 마크업 언어 기반 문서에서 상기 제1 조합 글자에 상응하는 조합 글자를 상기 제2 조합 글자로 동기화하라는 동기화 명령을 포함하는 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법.
  8. 제7항에 있어서,
    상기 동기화 명령은 상기 제1 조합 글자에 상응하는 상기 조합 글자에 대한 삭제 명령과 상기 제2 조합 글자에 대한 삽입 명령을 포함하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법.
  9. 제6항에 있어서,
    상기 제2 편집 명령 생성 단계는, 상기 제2 편집 명령 생성부가 상기 이전의 제2 편집 명령을 생성한 후 사전 설정된 시간이 경과한 경우 또는 이전의 제1 편집 명령이 생성된 후 사전 설정된 시간이 경과한 경우, 상기 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 제2 편집 명령 생성 단계는, 사전 설정된 제1 편집 명령이 생성된 경우 또는 상기 문서 저장 서버로부터 다른 마크업 언어 기반 문서의 조합 글자 동기화 장치의 제2 편집 명령을 수신한 경우, 상기 제2 편집 명령을 생성하는
    마크업 언어 기반 문서의 조합 글자 동기화 장치의 동작 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터로 하여금 수행하도록 하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
PCT/KR2018/005059 2017-05-19 2018-05-02 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법 WO2018212486A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0062027 2017-05-19
KR1020170062027A KR101781844B1 (ko) 2017-05-19 2017-05-19 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
WO2018212486A1 true WO2018212486A1 (ko) 2018-11-22

Family

ID=60036465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/005059 WO2018212486A1 (ko) 2017-05-19 2018-05-02 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법

Country Status (2)

Country Link
KR (1) KR101781844B1 (ko)
WO (1) WO2018212486A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102013620B1 (ko) * 2017-11-28 2019-08-23 주식회사 한글과컴퓨터 웹 기반 문서의 템플릿을 변경하는 웹 기반 문서 편집 서버 및 이의 동작 방법
KR102546902B1 (ko) * 2021-08-05 2023-06-23 이유 음악 코드 기반 시각적 문서 편집 기능을 제공하는 서비스 제공 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331685B1 (ko) * 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
JP2002222185A (ja) * 2001-01-25 2002-08-09 Sharp Corp 構造化文書共有装置、構造化文書共有方法及び構造化文書のファイル共有システム
JP2007193549A (ja) * 2006-01-19 2007-08-02 Hitachi Ltd 共有ファイルの部分編集管理方法およびシステム
KR101238574B1 (ko) * 2005-05-25 2013-02-28 마이크로소프트 코포레이션 수정가능 문서를 다수의 클라이언트들과 동기화시키는방법, 시스템 및 컴퓨터 판독가능 매체
KR20150131662A (ko) * 2014-05-16 2015-11-25 김기주 문자입력시 문자 조합 조건 확장

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2796299A1 (en) 2010-04-12 2011-10-20 Google Inc. Collaborative cursors in a hosted word processor
KR101159504B1 (ko) 2011-10-14 2012-06-25 주식회사 한글과컴퓨터 단말 장치 및 상기 단말 장치의 문서 공동 편집 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331685B1 (ko) * 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
JP2002222185A (ja) * 2001-01-25 2002-08-09 Sharp Corp 構造化文書共有装置、構造化文書共有方法及び構造化文書のファイル共有システム
KR101238574B1 (ko) * 2005-05-25 2013-02-28 마이크로소프트 코포레이션 수정가능 문서를 다수의 클라이언트들과 동기화시키는방법, 시스템 및 컴퓨터 판독가능 매체
JP2007193549A (ja) * 2006-01-19 2007-08-02 Hitachi Ltd 共有ファイルの部分編集管理方法およびシステム
KR20150131662A (ko) * 2014-05-16 2015-11-25 김기주 문자입력시 문자 조합 조건 확장

Also Published As

Publication number Publication date
KR101781844B1 (ko) 2017-09-27

Similar Documents

Publication Publication Date Title
WO2018212484A1 (ko) 객체의 서식을 유지하는 문서 편집 장치 및 그의 동작 방법
WO2018026033A1 (ko) 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
WO2014119975A1 (en) Method and system for sharing part of web page
WO2018004025A1 (ko) 개체에 대한 스타일 동시 편집을 지원하는 문서 협업 장치 및 그 동작 방법
WO2018004021A1 (ko) 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
WO2012141433A2 (ko) 피디에프 문서 기반의 이북용 멀티미디어 재생 시스템 및 그 재생 방법, 그리고 이를 구현한 피씨 또는 모바일 장치용 어플리케이션
WO2016126018A1 (ko) 메신저의 대화내용을 관리하는 방법과 시스템 및 기록 매체
WO2018004020A1 (ko) 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법
WO2014058146A1 (ko) 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법
WO2021066325A1 (ko) 웹 페이지를 생성하는 방법 및 장치
WO2019027070A1 (ko) 웹 사이트 제작 지원 서버 및 이에 의한 웹 사이트 제작 지원 방법
WO2013105716A1 (ko) 이미지 제공 시스템, 이를 위한 장치 및 이미지 제공 방법
CN110379257B (zh) 一种多语言跨平台的在线代码对战系统和方法
WO2018212486A1 (ko) 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법
CN112632919A (zh) 一种文档编辑方法、装置、计算机设备和存储介质
WO2017204368A1 (ko) 웹 기반의 스프레드시트 서비스 제공 장치 및 방법
WO2018212485A1 (ko) 웹 문서 편집툴에서 지원하는 스타일 속성에 따라 웹 문서에 대한 외부 콘텐츠의 붙여넣기 처리가 가능한 클라이언트 단말 장치 및 그 동작 방법
WO2014030869A1 (ko) 스마트 tv에서 디지털 사이니지 탬플릿을 편집하기 위한 시스템 및 그 방법
WO2015102125A1 (ko) 문자형 대화 시스템 및 방법
KR102013620B1 (ko) 웹 기반 문서의 템플릿을 변경하는 웹 기반 문서 편집 서버 및 이의 동작 방법
WO2018004027A1 (ko) 문서 편집에 대한 인증이 가능한 웹 기반의 전자 문서 서비스 장치 및 그 동작 방법
WO2016032267A1 (ko) 도큐먼트를 반응형 웹으로 변환하는 반응형 웹 생성 방법
WO2016186326A1 (ko) 검색어 리스트 제공 장치 및 이를 이용한 방법
WO2018034509A1 (ko) 웹 브라우저에서 구현되는 웹사이트 제작 방법 및 시스템
WO2016108677A1 (ko) 웹 컨텐츠 출력 장치 및 방법

Legal Events

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

Ref document number: 18803239

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: 18803239

Country of ref document: EP

Kind code of ref document: A1