KR20060034786A - Method of joint editing a document for multi users and system thereof - Google Patents

Method of joint editing a document for multi users and system thereof Download PDF

Info

Publication number
KR20060034786A
KR20060034786A KR1020040083532A KR20040083532A KR20060034786A KR 20060034786 A KR20060034786 A KR 20060034786A KR 1020040083532 A KR1020040083532 A KR 1020040083532A KR 20040083532 A KR20040083532 A KR 20040083532A KR 20060034786 A KR20060034786 A KR 20060034786A
Authority
KR
South Korea
Prior art keywords
document
editing
edit
message
server
Prior art date
Application number
KR1020040083532A
Other languages
Korean (ko)
Inventor
이유정
Original Assignee
이유정
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이유정 filed Critical 이유정
Priority to KR1020040083532A priority Critical patent/KR20060034786A/en
Publication of KR20060034786A publication Critical patent/KR20060034786A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 복수의 사용자가 공동으로 문서를 편집하는 방법 및 그 시스템에 관한 것이다.The present invention relates to a method and system for editing a document jointly by a plurality of users.

본 발명에 따른 복수의 사용자가 공동으로 문서를 편집하는 방법은 (a) 서버는 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받는 단계, (b) 서버는 메시지가 상기 문서에 대한 편집명령인지 여부를 판단하는 단계, (c) 상기 판단결과 상기 메시지가 상기 문서에 대한 편집명령인 경우에는 상기 메시지를 발신한 클라이언트 정보로부터 사용자정보를 추출하고, 상기 사용자 정보 및 상기 문서에 대하여 미리 설정된 편집권한 정보를 기초로 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는지 여부를 판단하는 단계 및 (d) 상기 판단결과 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는 것으로 판단되는 경우에는 상기 메시지의 편집명령에 대응하여 상기 문서를 편집하는 단계를 포함하는 것을 특징으로 한다.A method for jointly editing a document by a plurality of users according to the present invention includes the steps of (a) the server receiving a predetermined message from any one of the clients, (b) the server is a message editing command for the document (C) if the message is an editing command for the document, extracting user information from the client information that sent the message, and preset editing authority for the user information and the document. Determining whether the user has a legitimate authority to edit the document based on the information; and (d) if the user judges that the user has a legitimate authority to edit the document, the editing instruction of the message. And correspondingly editing the document.

본 발명에 따르면 통신망에서 접속할 수 있는 지역이라면 지역적인 제한없이 원거리에 있는 사용자들이 어느 한 문서를 편집하므로서, 동시에 채팅을 통해 의논및 파일전송을 통하여 서로 필요한 자료를 교환할 수 있는 환경을 한번에 제공할 수 있게된다. According to the present invention, an area that can be accessed from a communication network can provide an environment in which remote users can edit any one document without any regional restrictions, and simultaneously exchange data with each other through discussion and file transfer through chat. Will be.

Description

복수의 이용자가 문서를 공동으로 편집하는 방법 및 그 시스템{Method of joint editing a document for multi users and system thereof}Method of joint editing a document for multi users and system about

도 1은 본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 방법 및 그 시스템이 동작하는 전체적인 구성을 설명하는 참고도이다.1 is a reference diagram for explaining a method for jointly editing a document by a plurality of users according to the present invention and the overall configuration in which the system operates.

도 2는 본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 시스템의 클라이언트의 바람직한 실시예의 블록 구성도이다.2 is a block diagram of a preferred embodiment of a client of a system in which multiple users jointly edit a document in accordance with the present invention.

도 3은 본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 시스템의 서버의 바람직한 실시예의 블록 구성도이다.3 is a block diagram of a preferred embodiment of a server of a system in which a plurality of users jointly edit a document according to the present invention.

도 4는 본 발명의 서버에서 문서별로 편집권한을 설정하는 방법을 나타내는 방법의 바람직한 실시예의 순서도이다.Figure 4 is a flow chart of a preferred embodiment of the method for illustrating a method for setting the editing authority for each document in the server of the present invention.

도 5는 본 발명의 서버에서 복수의 사용자가 문서를 공동으로 편집하는 방법의 바람직한 실시예의 순서도이다.5 is a flow diagram of a preferred embodiment of a method for collaboratively editing a document by multiple users in a server of the present invention.

도 6은 본 발명의 클라이언트에서 복수의 사용자가 문서를 공동으로 편집하는 방법의 바람직한 실시예의 순서도이다.6 is a flowchart of a preferred embodiment of a method for collaboratively editing a document by multiple users in a client of the present invention.

본 발명은 복수의 사용자가 공동으로 문서를 편집하는 방법 및 그 시스템에 관한 것으로, 특히 복수의 사용자가 동시에 편집되는 문서를 저장한 서버에 접속하여 각자 상기 문서를 편집하는 방법 및 그 시스템에 관한 것이다.The present invention relates to a method and a system for editing a document jointly by a plurality of users, and more particularly, to a method and a system for editing a document by connecting to a server storing a document that is simultaneously edited by a plurality of users. .

종래의 기존의 문서 편집기들은 하나의 문서를 두고 동시에 여러사람이 편집을 할 수 없었다. 따라서 만일 공동으로 같이 작업해야 하는 문서가 있는 경우에는 어느 한 사람이 작업중일때는 다른 사람은 대기하고 있어야 했거나, 아니면 많지 않은 분량에 대해서도 작업할 부분을 별도로 나누어 작업하고 그 결과를 모아서 병합하여야 하였다. 따라서 한 문서를 한 사람이 작업한 후 다른 사람이 작업하는 경우네는 시간의 낭비가 많았으며, 한 문서의 다른 부분을 여러 사람이 나누어 작업하는 경우에는 사람마다 동일한 문서임에도 같은 뜻의 다른 용어를 사용하므로써 같은 문서임에도 용어가 통일되지 않는 등의 많은 문제점이 있었다.Conventional text editors cannot edit a single document at the same time. Thus, if there was a document that had to be worked together, one had to be waiting when one was working, or had to work separately for a small amount of work and then gathered and merged the results. Therefore, when one person works on a document and then another person works on it, it was a waste of time. When several people work on different parts of a document, each person uses the same terminology, even though each person is the same document. There are many problems such as not using the same terminology for the same document.

본 발명이 이루고자 하는 과제는 복수의 사용작 어느 한 문서를 공동으로 그리고 또 실시간으로 편집작업을 할 수 있는 방법 및 그 시스템을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a method and a system capable of performing a collaborative and real-time editing of a plurality of documents of use.

상기 문제점을 해결하기 위한 본 발명에 따른 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법은 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상인 시스템에서 상기 문서를 다수의 사용자가 동시에 편집하는 방법으로서, (a) 상기 서버는 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받는 단계, (b) 상기 서버는 상기 메시지가 상기 문서에 대한 편집명령인지 여부를 판단하는 단계, (c) 상기 판단결과 상기 메시지가 상기 문서에 대한 편집명령인 경우에는 상기 메시지를 발신한 클라이언트 정보로부터 사용자정보를 추출하고, 상기 사용자 정보 및 상기 문서에 대하여 미리 설정된 편집권한 정보를 기초로 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는지 여부를 판단하는 단계 및 (d) 상기 판단결과 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는 것으로 판단되는 경우에는 상기 메시지의 편집명령에 대응하여 상기 문서를 편집하는 단계를 포함하는 것을 특징으로 한다.In a server according to the present invention for solving the above problems, a method for jointly editing a document in a system in which at least one server, which is a server storing a predetermined document and a client computer of the user who wants to edit the document A method of simultaneously editing a document by a plurality of users, the method comprising: (a) the server receiving a predetermined message from one of the clients, and (b) the server is configured to edit the document for the document. (C) if the message is an editing command for the document, extracting user information from the client information that sent the message, and preset editing rights for the user information and the document. Based on the information, the user can edit the document. Determining whether the user has the right authority, and (d) if the user determines that the user has the right authority to edit the document, editing the document in response to an editing command of the message. It is characterized by.

또한 상기 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법은 (e) 상기 단계에서 수행된 편집결과 정보를 상기 문서를 편집하고 있는 모든 클라이언트들에게 전송하는 단계를 더 포함하는 것을 특징으로 할 수 있다.In addition, a method of jointly editing a document by a plurality of users in the server may further include (e) transmitting the edit result information performed in the step to all clients editing the document. have.

또한 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법의 상기 (e) 단계는 (e1) 상기 단계에서 수행된 문서의 편집이 상기 문서의 어느 위치에서 수행되었는지를 추출하여 편집수행 위치정보를 발생시키는 단계, (e2) 상기 문서를 편집중인 다른 클라이언트들의 화면위치 정보를 추출하는 단계 및 (e3) 상기 화면위치 정보를 기초로 미리 설정된 일정범위를 각 클라이언트의 편집범위로 설정하고, 상기 편집수행 위치가 상기 각 클라이언트의 편집범위내에 위치하는지를 판단하여 상기 편집수행 위치가 편집범위내에 위치하는 모든 클라이언트들에 상기 편집결과 정보를 전송하는 단계를 포함하는 것을 특징으로 할 수도 있다.In addition, the step (e) of the method for editing a document jointly by a plurality of users in the server is (e1) at which position of the document the editing of the document performed in the step is performed to generate the edit execution position information (E2) extracting screen position information of other clients editing the document, and (e3) setting a predetermined range as an editing range of each client based on the screen position information, and performing the editing position. And determining whether the editing position is within the editing range of each client, and transmitting the editing result information to all the clients whose editing performing position is within the editing range.

또한 상기 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법의 상기 (c) 단계는 상기 판단결과 상기 메시지가 상기 문서에 대한 편집명령이 아니면, 채팅 또는 파일 전송 중 어느 하나의 기능을 포함하는 부가기능을 수행하는 것을 특징으로 할 수 있다.In addition, the step (c) of the method for editing a document jointly by a plurality of users in the server, if the message is not an editing command for the document as a result of the determination includes an additional function including any one of chat or file transfer. It may be characterized by performing a function.

또한 상기 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법의 상기 (a) 단계는 상기 서버는 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받고, 상기 메시지를 전송받은 순서대로 저장하는 것을 특징으로 할 수 있다.In addition, the step (a) of the method for editing a document jointly by a plurality of users in the server is that the server receives a predetermined message from any one of the client, and stores the message in the order in which the received message It can be characterized.

또한 상기 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법은 (e) 상기 단계에서 상기 문서를 편집한 내용을 로그로 저장하는 단계를 더 포함하는 것을 특징으로 할 수도 있다.In addition, a method in which a plurality of users jointly edit a document in the server may further include (e) storing the edited content of the document as a log.

상기 문제점을 해결하기 위한 본 발명에 따른 클라이언트에서 복수의 사용자가 공동으로 문서를 편집하는 방법은 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상인 시스템에서 상기 문서를 다수의 사용자가 동시에 편집하는 방법으로서, (a) 상기 클라이언트는 사용자로부터 소정의 문서에 대한 편집명령을 입력받은 경우 상기 편집명령을 상기 서버에 전송하는 단계 및 (b) 상기 클라이언트는 상기 서버로부터 소정의 메시지를 수신받은 경우 상기 메시지가 상기 편집명령 또는 다른 클라이언트로부터 상기 서버에 전송된 소정의 편집명령에 대응하는 상기 문서에 대한 편집결과정보인지 여부를 판단하고, 상기 판단결과 상기 메시지가 상기 편집결과정보인 경우에는 상기 편집결과정보를 화면에 표시하여 상기 사용자에게 제공하는 단계를 포 함하는 것을 특징으로 한다.In a client according to the present invention for solving the above problems, a method of jointly editing a document in a system in which at least one client, a server storing a predetermined document and a computer of a user who wants to edit the document A method of editing a document simultaneously by a plurality of users, the method comprising: (a) the client transmitting an editing command to the server when an editing command for a predetermined document is input from a user; and (b) the client If a predetermined message is received from a server, it is determined whether the message is edit result information for the document corresponding to the edit command or a predetermined edit command transmitted from another client to the server. In the case of the edit result information, the edit Displays information on the screen by the process is characterized by including the step of providing to said user.

또한 상기 클라이언트에서 복수의 사용자가 공동으로 문서를 편집하는 방법의 상기 (b) 단계는 상기 메시지가 상기 문서에 대한 편집결과정보가 아닌 경우에는 채팅 또는 파일전송 기능 중 어느 하나를 포함하는 부가기능을 수행하는 것을 특징으로 할 수도 있다.In addition, the step (b) of the method for editing a document jointly by a plurality of users in the client includes an additional function including any one of a chat or a file transfer function when the message is not the edit result information of the document. It may be characterized by performing.

상기 문제점을 해결하기 위한 본 발명에 따른 복수의 사용자가 공동으로 문서를 편집하는 클라이언트는 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상으로 구성되며 상기 문서를 다수의 사용자가 동시에 편집하는 시스템의 클라이언트로서, 상기 사용자로부터 소정의 문서에 대한 편집명령을 입력받은 경우 상기 편집명령을 상기 서버에 전송하는 입력처리부 및 상기 서버로부터 소정의 메시지를 수신받은 경우 상기 메시지가 상기 편집명령 또는 다른 클라이언트로부터 상기 서버에 전송된 소정의 편집명령에 대응하는 상기 문서에 대한 편집결과정보인지 여부를 판단하고, 상기 판단결과 상기 메시지가 상기 편집결과정보인 경우에는 상기 편집결과정보를 화면에 표시하여 상기 사용자에게 제공하는 화면처리부를 포함하는 것을 특징으로 한다.A client for editing a document jointly by a plurality of users according to the present invention for solving the above problems comprises a server storing a predetermined document and at least one client which is a computer of a user who wants to edit the document. A client of a system in which a plurality of users edit a document at the same time, and when an editing command for a predetermined document is input from the user, an input processor for transmitting the editing command to the server and a predetermined message are received from the server. It is determined whether the message is the edit result information for the document corresponding to the edit command or the predetermined edit command sent from the other client to the server, and if the message is the edit result information as the result of the determination, the edit The result information is displayed on the screen. Characterized in that it comprises a screen processing unit provided to the user.

또한 상기 복수의 사용자가 공동으로 문서를 편집하는 클라이언트는 상기 메시지가 상기 문서에 대한 편집결과정보가 아닌 경우에는 채팅 또는 파일전송 기능 중 어느 하나를 포함하는 부가기능을 수행하는 부가기능처리부를 더 포함하는 것을 특징으로 할 수도 있다.In addition, the client that the plurality of users jointly edit the document further comprises an add-on processing unit for performing an additional function including any one of the chat or file transfer function when the message is not the edit result information for the document. It may be characterized in that.

상기 문제점을 해결하기 위한 본 발명에 따른 복수의 사용자가 공동으로 문서를 편집하는 서버는 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상으로 구성되며 상기 문서를 다수의 사용자가 동시에 편집하는 시스템의 서버로서, 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받아 상기 메시지가 상기 문서에 대한 편집명령인지 여부를 판단하는 메시지 분류부, 상기 메시지 분류부의 판단결과 상기 메시지가 상기 문서에 대한 편집명령인 경우에는 상기 메시지를 발신한 클라이언트 정보로부터 사용자정보를 추출하고, 상기 사용자 정보 및 상기 문서에 대하여 미리 설정된 편집권한 정보를 기초로 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는지 여부를 판단하는 OEP 권한체크부 및 상기 OEP 권한체크부의 판단결과 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는 것으로 판단되는 경우에는 상기 메시지의 편집명령에 대응하여 상기 문서를 편집하는 콘솔대응 문서편집 관리부를 포함하는 것을 특징으로 한다.In order to solve the problem, a server for editing a document jointly by a plurality of users according to the present invention comprises a server storing a predetermined document and at least one client, which is a computer of a user who wants to edit the document. A server of a system in which a plurality of users edit a document simultaneously, the server comprising: a message classifying unit configured to receive a predetermined message from one of the clients and determine whether the message is an editing command for the document; If it is determined that the message is an editing command for the document, the user information is extracted from the client information that sent the message, and the user selects the document on the basis of the user information and edit authority information preset for the document. Authorized to edit OEP authority check unit for judging whether or not the OEP authority check unit determines that the user has a legitimate authority to edit the document, console-compatible document for editing the document in response to the command to edit the message And an editing management unit.

또한 상기 복수의 사용자가 공동으로 문서를 편집하는 서버의 상기 콘솔대응 문서편집 관리부는 상기 수행된 편집결과 정보를 상기 문서를 편집하고 있는 모든 클라이언트들에게 전송하는 기능을 더 수행하는 것을 특징으로 할 수도 있다.The document editing management unit corresponding to the console of the server where the plurality of users collectively edit the document may further perform a function of transmitting the edited result information to all clients editing the document. have.

또한 상기 복수의 사용자가 공동으로 문서를 편집하는 서버의 상기 콘솔대응 문서편집 관리부는 상기 수행된 문서의 편집이 상기 문서의 어느 위치에서 수행되었는지를 추출하여 편집수행 위치정보를 발생시키고, 상기 문서를 편집중인 다른 클라이언트들의 화면위치 정보를 추출한 후, 상기 화면위치 정보를 기초로 미리 설 정된 일정범위를 각 클라이언트의 편집범위로 설정하고, 상기 편집수행 위치가 상기 각 클라이언트의 편집범위내에 위치하는지를 판단하여 상기 편집수행 위치가 편집범위내에 위치하는 모든 클라이언트들에 상기 편집결과 정보를 전송하는 기능을 더 수행하는 것을 특징으로 할 수 있다.In addition, the console-compatible document editing management unit of the server where the plurality of users jointly edit the document extracts at which position of the document the editing of the performed document is generated to generate edit performing position information and generates the document. After extracting the screen position information of the other clients being edited, the predetermined range is set as the editing range of each client based on the screen position information, and it is determined whether the editing performing position is within the editing range of each client. The method may further include transmitting the editing result information to all clients whose editing performing position is within an editing range.

또한 상기 복수의 사용자가 공동으로 문서를 편집하는 서버는 상기 메시지 분류부의 판단결과 상기 메시지가 상기 문서에 대한 편집명령이 아니면, 채팅 또는 파일 전송 중 어느 하나의 기능을 수행하는 부가기능 처리부를 더 포함하는 것을 특징으로 할 수도 있다.In addition, the server that the plurality of users jointly edit the document further comprises an additional function processing unit for performing any one of the functions of chat or file transfer, if the message is not an editing command for the document as a result of the determination of the message classification unit. It may be characterized in that.

또한 상기 복수의 사용자가 공동으로 문서를 편집하는 서버는 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받고, 상기 메시지를 전송받은 순서대로 저장하였다가 상기 메시지 분류부에 제공하는 OEP 수집부를 더 포함하는 것을 특징으로 할 수도 있다.In addition, the server that the plurality of users jointly edit the document receives a predetermined message from any one of the client, the OEP collecting unit for storing the messages in the order in which they are received and provides them to the message classification unit It may be characterized by including.

또한 상기 복수의 사용자가 공동으로 문서를 편집하는 서버는 상기 콘솔대응 문서편집 관리부에서 상기 문서를 편집한 내용을 로그로 저장하는 OEP 로그 처리부를 더 포함하는 것을 특징으로 할 수도 있다.In addition, the server for editing a document jointly by the plurality of users may further comprise an OEP log processing unit for storing the contents of the edited document in the log corresponding to the console document editing management unit.

이하에서는 도면을 참조하여 본 발명의 기술적 사상 및 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, with reference to the drawings will be described in detail the spirit and preferred embodiments of the present invention.

문서 편집기는 MS사의 워드프로세스와 같이 양식을 그리고 그림이나 표와 같은 개체들을 가진 정보를 편집하는 도구 및 프로그래밍 에디터 또는 메모장(windows의 notepad 프로그램) 같이 텍스트로 되어있는 문서를 편집할 수 있는 도 구를 총괄한다.The text editor is a tool for editing information such as Microsoft Word processes, forms, and information with objects such as pictures and tables, and tools for editing text documents such as a programming editor or notepad (windows notepad program). Take control.

본 발명에 따른 편집방법은 하나의 문서를 두고 두명 이상이 동시에 문서를 공유해서 편집할 수 있게 한다. 이는 같은 문서의 사본을 가져와 작업하는 형태가 아니고 하나의 문서를 실시간으로 동시에 작업하는 것이다. 다시말해 A사용자가 Z문서를 편집하고 있을때 B사용자도 Z문서를 같이 편집할 수가 있다. The editing method according to the present invention allows two or more people to edit a document simultaneously by sharing one document. This is not a form of working with a copy of the same document, but working with a single document at the same time in real time. In other words, when user A is editing Z, user B can also edit Z.

이때 사용자가 편집중인 각각의 화면은 A사용자와 B사용자가 동시에 일치할 수 있다. 즉, A사용자가 1라인을 편집하고 있을때 B사용자가 동시에 10라인을 편집하면서 A사용자가 편집중인 내용이 편집화면에 실시간으로 보여진다. 물론 같은 라인을 여러사람이 편집할 수도 있다. 또한 두명이상이 한 문서를 공유편집하면서 기본채팅시스템을 통해 사용자는 서로 대화가 가능하다.In this case, each screen that the user is editing may coincide with user A and user B at the same time. That is, when user A is editing 1 line, user B is editing 10 lines at the same time, and the contents of user A are being displayed on the edit screen in real time. Of course, the same line can be edited by multiple people. In addition, users can communicate with each other through the basic chat system while sharing and editing two or more documents.

이는 마치 리니지 같은 온라인 게임같이 같은 영역에서 게임을 즐기면서 서로 어떠한 일을 하고 있는지 화면에 보이고 그 사람들과 대화를 하는 원리와 비슷하다. 이는 여러사람이 한 문서를 두고 보정작업을 할때 생기는 번거러움을 해결해 줄 뿐만 아니라, 온라인으로 공동 문서 관리가 가능하다.This is similar to the principle of showing each other what they are doing while playing games in the same area, like online games like Lineage, and talking to them. This not only solves the hassle of making corrections for several people on a single document, but also allows for joint document management online.

그리고 두명 이상이 한 문서를 공유 편집을 하면서 본 발명에서 함께 제공하는 부가기능 중 고급채팅 기능을 통해 사용자들은 서로 대화중에 파일전송기능을 이용하여 필요한 자료를 상호간에 교환할 수 있다. 여기서 고급채팅이란 단순한 채팅기능이외에 부가적으로 파일전송기능 등을 갖춘 채팅시스템을 말한다. In addition, two or more people share and edit a document, and through the advanced chat function among the additional functions provided by the present invention, users can exchange data with each other by using a file transfer function while talking to each other. Here, an advanced chat is a chat system that has a file transfer function in addition to a simple chat function.

이러한 기능은 회사내가 아닌 지역(혹은 나라)간에 떨어져 있는 사람끼리 문서를 동시에 편집하는 것이 가능하게 한다. This makes it possible to simultaneously edit documents between people who are not within a company but between regions (or countries).

예를들어 중국에 있는 A사용자, 한국에 있는 B사용자가 한 문서를 실시간으로 동시에 편집하는 것이 가능하다. 즉, 기존의 편집기들은 중국에 있는 A사용자가 문서를 작업하고 있을때, B사용자가 이를 같이 지켜보여 편집을 할 수 없었지만 본 발명에 따른 편집방법은 이를 가능하게 해준다.For example, it is possible for user A in China and user B in Korea to simultaneously edit a document in real time. That is, the existing editors, while user A in China is working on the document, user B was not able to watch and edit the same, but the editing method according to the present invention makes it possible.

본 발명에 따른 편집방법을 프로그램 개발자가 이용하는 경우, 예를 들면 A개발자가 중국에 있고 B개발자가 한국에 있으면서 어떤 프로그램 같이 개발을 한다고 할때, 의사소통의 어려움으로 인해 프로그램 개발이 지체되어 전체 프로젝트를 지연시키게 될 수 있다.When the program developer uses the editing method according to the present invention, for example, when the developer A is in China and the developer B is developing in a certain program while in Korea, the development of the program is delayed due to the difficulty of communication. May be delayed.

그러나 본 발명에 따르면 A개발자가 프로그램 소스를 편집하면서 다른 B개발자와 프로그램 소스를 공유해, B개발자가 A개발자와 함께 위 프로그램 소스를 지켜보면서 원격으로 A개발자를 실시간으로 보조해서 편집해주는 온라인 짝 프로그래밍이 방법이 가능하다.However, according to the present invention, A developer shares the program source with other B developers while editing the program source, so that B developer watches the above program source with A developer and remotely assists and edits A developer in real time. The way is possible.

CVS(Concurrent Versions System)와 같은 다수의 개발자가 공동작업을 위한 버전관리 시스템에서는 종래에는 소스를 Up/Download하여 작업하고 동기화하는 형태로만 관리되어 왔지만, 본 발명에 따르면 실시간으로 공동작업이 더 효율적으로 진행될 수 있다.In the version control system for many developers, such as CVS (Concurrent Versions System) has been managed only in the form of working and synchronizing up and download the source in the past, according to the present invention, collaboration is more efficient in real time. Can proceed.

본 발명에서 동시에 편집가능한 사용자 수는 이론상으론 무한대이다.In the present invention, the number of editable users at the same time is theoretically infinite.

도 1은 본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 방법 및 그 시스템이 동작하는 전체적인 구성을 설명하는 참고도이다.1 is a reference diagram for explaining a method for jointly editing a document by a plurality of users according to the present invention and the overall configuration in which the system operates.

본 발명이 동작되는 환경은 다수의 클라이언트(101, 102, 103)가 존재할 수 있으며, 편집되는 문서가 저장되는 하나의 서버(103)이 존재한다.In the environment in which the present invention operates, there may be a plurality of clients 101, 102, and 103, and there is one server 103 in which a document to be edited is stored.

여기서 클라이언트(Client)는 어떤 일을 요구하는 프로그램 혹은 사용자 또는 위 프로그램이 동작되는 컴퓨터를 의미한다. 예를 들어, 윈도우즈에서 인터넷을 하기 위해서 인터넷 익스플로러를 사용하는데, 여기에 홈페이지 주소를 입력하여 엔터키를 눌러서 홈페이지를 웹서버에게 요구하게 된다. 이때 인터넷 익스플로러 그 자체 또는 위 익스프로러가 동작하고 있는 사용자 컴퓨터는 요구된 HTML 파일을 받는(혹은 돌려주기도 한다) 관계에 있어 클라이언트라고 할 수 있고, 반면 HTML 파일을 보내고 받는 등 컴퓨터의 요구를 실제로 처리하는 것(프로그램 또는 그 일을 수행하는 컴퓨터)은 서버(Server)이다.In this case, the client refers to a program or user or a computer on which the above program operates. For example, Windows uses Internet Explorer to access the Internet, which requires you to enter a home page address and press the Enter key to ask the web server for the home page. At this time, Internet Explorer itself or the user's computer running the explorer can be called a client in relation to receiving (or returning) the requested HTML file, while actually handling the computer's request, such as sending and receiving HTML files. A thing (a program or a computer running it) is a server.

본 발명에서 클라이언트( 본 명세서에서는 클라이언트 용어와 같은 의미로 콘솔이라는 용어를 함께 사용한다 )는 사용자가 문서를 편집할 수 있는 사용자 인터페이스(User Interface) 환경을 제공하는 프로그램( 또는 그 프로그램이 동작되고 있는 사용자 컴퓨터)이고, 서버는 두개이상의 클라이언트가 접속해서 문서를 편집할 수 있게 해주고 접속한 사용자와 소유하고 있는 문서를 관리하는 프로그램( 또는 그 프로그램이 동작하는 소정의 컴퓨터)이다.In the present invention, the client (in the present specification, the term console is used together with the same term as the client term) is a program (or a program in which the program is operated) that provides a user interface environment in which a user can edit a document. The server is a user computer, and a server is a program (or a predetermined computer on which the program operates) that allows two or more clients to access and edit a document and to manage the connected user and the owned document.

이러한 본 발명에 따른 클라이언트/서버 개념은 리니지같은 온라인 게임류에서 쓰이는 클라이언트/서버 개념과 비슷하지만, 기존 에디터에서 이러한 용도로 활용되는 경우는 없었다. The client / server concept according to the present invention is similar to the client / server concept used in online games such as Lineage, but has not been utilized for this purpose in existing editors.

한편 본 발명에 따르면 하나의 컴퓨터에서 클라이언트와 서버가 존재할 수 있으므로 기존의 문서편집기와 동일하게 문서를 편집할 수도 있으며, 또한 온라인 으로 하나의 문서를 여러 사용자들이 공유해서 동시에 함께 동일한 문서를 편집할 수도 있다. 예를들어 A컴퓨터에 클라이언트와 서버가 같이 설치되어 있는 경우 기존 에디터와 동일한 형태가 된다. 이 상태에서 다른 사용자가 A컴퓨터에 설치된 서버로 접속하면 A컴퓨터의 사용자와 동시 편집이 가능하게 된다.Meanwhile, according to the present invention, since a client and a server may exist in one computer, a document may be edited in the same manner as an existing document editor, and multiple users may share a document online and simultaneously edit the same document together. have. For example, if a client and a server are installed together on A computer, it is the same as the existing editor. In this state, when another user connects to the server installed on computer A, simultaneous editing with the user of computer A becomes possible.

본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 방법 및 그 시스템은 로컬 컴퓨터 환경, LAN 환경 또는 인터넷 환경에서 동작될 수 있다.A method and system for jointly editing a document by a plurality of users according to the present invention can be operated in a local computer environment, a LAN environment or an Internet environment.

도 2는 본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 시스템의 클라이언트의 바람직한 실시예의 블록 구성도이다.2 is a block diagram of a preferred embodiment of a client of a system in which multiple users jointly edit a document in accordance with the present invention.

본 발명에서 클라이언트는 메시지 송수신부(201), 화면처리부(202), 입력처리부(203)로 구성되며 부가기능처리부(204)를 더 포함할 수 있다.In the present invention, the client is composed of a message transmitting and receiving unit 201, the screen processing unit 202, the input processing unit 203 may further include an additional function processing unit (204).

메시지 송수신부(201)는 클라이언트와 서버간에 필요한 메시지(정보)를 송신하거나 수신하는 기능을 수행한다. 본 발명에서 클라이언트와 서버간의 통신방식은 세션방식이 바람직하며, 이와같이 세션방식으로 클라이언트와 서버간에 접속이 이루어지면 논리적으로 통신경로가 유지되므로 서버측에서는 어떤 메시지를 전송받았을때 그 메시지를 전송한 클라이언트 정보를 추출할 수 있게된다.The message transmitting and receiving unit 201 performs a function of transmitting or receiving a message (information) necessary between the client and the server. In the present invention, the communication method between the client and the server is preferably a session method. When the connection between the client and the server is made in this manner, the communication path is logically maintained, so when the server receives a message, the client information transmitted the message. To be able to extract.

화면처리부(202)는 서버로 부터 받은 내용과 관련해 편집내용을 화면으로 출력하는 기능을 수행한다. 즉, 메시지 송수신부(201)를 통하여 서버로부터 소정의 메시지를 수신받은 경우 위 메시지가 상기 편집명령 또는 다른 클라이언트로부터 위 서버에 전송된 소정의 편집명령에 따라 문서를 편집한 편집결과정보인지 여부를 판단하고, 위 판단결과 위 메시지가 편집결과정보인 경우에는 편집결과정보를 화면 에 표시하여 문서를 편집하는 사용자에게 제공하는 기능을 수행한다.The screen processing unit 202 performs a function of outputting the edited content on the screen in relation to the content received from the server. That is, when a predetermined message is received from the server through the message transmission / reception unit 201, whether the message is edit result information obtained by editing a document according to the editing command or a predetermined editing command transmitted from another client to the server. If the determination result is that the message is the edit result information, the edit result information is displayed on the screen to provide the user who edits the document.

입력처리부(203)는 사용자로부터 소정의 문서에 대한 편집명령을 입력받은 경우 위 편집명령을 위 메시지 송수신부(201)를 통하여 서버에 전송하는 기능을 수행한다.The input processing unit 203 transmits the editing command to the server through the message transmitting / receiving unit 201 when the editing command for a predetermined document is received from the user.

부가기능처리부(204)는 메시지 송수신부(201)를 통하여 서버로부터 전송받은 메시지가 문서에 대한 편집결과정보가 아닌 경우에는 채팅 또는 파일전송 기능 중 어느 하나의 기능을 수행한다. 본 발명에서 제공하는 채팅, 파일전송 또는 문서 백업 기능은 종래의 것( 예를 들면 MSN 메신저)과 동일하므로 본 명세서에서는 이에 대하여 상세한 설명을 생략하도록 한다.The additional function processing unit 204 performs any one of chat or file transfer functions when the message received from the server through the message transmission / reception unit 201 is not the edit result information of the document. The chat, file transfer or document backup function provided by the present invention is the same as the conventional one (for example, MSN messenger), so the detailed description thereof will be omitted herein.

도 3은 본 발명에 따른 복수의 이용자가 문서를 공동으로 편집하는 시스템의 서버의 바람직한 실시예의 블록 구성도이다.3 is a block diagram of a preferred embodiment of a server of a system in which a plurality of users jointly edit a document according to the present invention.

본 발명에 따른 서버는 메시지 송수신부(301), 사용자 관리부(302), 문서별 권한 설정부(303), 메시지 분류부(304), OEP 권한체크부(306), 콘솔대응 문서편집 관리부(307), 부가기능 처리부(309)를 포함하며, OEP 수집부(305) 또는 OEP 로그처리부(308)를 더 포함할 수 있다.The server according to the present invention includes a message transmitting and receiving unit 301, a user management unit 302, a document authority setting unit 303, a message classification unit 304, OEP authority check unit 306, console-compatible document editing management unit 307 ), And an additional function processing unit 309, and may further include an OEP collecting unit 305 or an OEP log processing unit 308.

메시지 송수신부(301)는 도 2의 메시지 송수신부(201)과 대응하여 클라이언트들과 필요한 메시지(정보)를 송신 또는 수신하는 기능을 수행한다.The message transceiver 301 performs a function of transmitting or receiving necessary messages (information) with clients in correspondence with the message transceiver 201 of FIG. 2.

사용자 관리부(302)는 서버에 접속하여 문서를 편집할 수 있는 사용자에 대한 정보를 관리하는 기능을 수행한다. The user manager 302 performs a function of managing information about a user who can access a server and edit a document.

문서별 권한 설정부(303)는 위 사용자 관리부(302)에서 등록된 사용자 혹은 위 사용자 관리부(302)에서 등록되지 않은 익명의 사용자에 대하여 편집할 수 있는 작업의 종류 또는 사용자별로 편집작업할 수 있는 문서들에 대한 정보를 제공받아 이를 저장 관리하는 기능을 수행한다.The document-specific permission setting unit 303 may edit operations for each user or a user who is registered in the user management unit 302 or an anonymous user who is not registered in the user management unit 302. It receives information about documents and stores and manages them.

사용자가 클라이언트 컴퓨터를 이용하여 서버에 접속하는 방법에는 사용자 아이디(ID) 없이 익명(Anonymous)으로 접속하는 방법과 혹은 미리 등록된 사용자 ID를 통해 접속 하는 방법이 있을 수 있다. 이때 익명이나 서버에 등록된 ID에 따라 수행할 수 있는 작업의 종류, 편집할 수 있는 문서에 대하여 제한을 받는다.The user may access the server using a client computer by connecting anonymously without a user ID or by using a pre-registered user ID. In this case, the types of work that can be performed and the documents that can be edited are restricted according to the anonymous or ID registered in the server.

문서 혹은 사용자별 권한의 제한은 서버의 관리자인 root 사용자가 할 수 있으며, 편집되는 해당 문서의 사용자도 그 문서에 대하여 권한을 제한할 수 있도록 하는 것이 바람직하다.Restriction of permissions per document or user can be done by the root user, the administrator of the server, and it is desirable to allow the user of the document to be edited to restrict the permissions on the document.

메시지 분류부(304)는 클라이언트들 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받은 후 전송받은 메시지가 소정의 문서에 대한 편집명령인지 여부를 판단하는 기능을 수행한다. The message classifying unit 304 performs a function of determining whether the received message is an editing command for a predetermined document after receiving a predetermined message from one of the clients.

본 발명에서 사용되는 프로토콜에 따른 메시지의 형태는 다음에서 설명한다.The format of the message according to the protocol used in the present invention is described below.

일반적으로 프로토콜이란 네트워크상에 표준화된 통신규약으로 네트워크 처리를 효율적으로 하기 위해 서로 통신을 원하는 두 개체간에 '무엇을', '어떻게' 할 것인가에 대한 내용을 미리 약속해놓은 규약을 말한다. In general, a protocol is a standardized communication protocol on a network. A protocol is a protocol that promises in advance what to do and how to communicate between two entities that want to communicate with each other in order to efficiently process a network.

본 발명에서 사용하는 프로토콜을 본 명세서에서는 OEP(Online Editing Protocol)라 호칭하며, 위 OEP에는 문서를 편집, 객체 삽입, 편집 위치 이동, 사용자 권한 등에 관한 서버와 클라이언트간 통신을 위한 규약이 포함된다. 또한 본 발 명에서 함께 제공하는 부가기능을 수행하기 위한 내용 역시 위 OEP에 포함된다.The protocol used in the present invention is referred to as an online editing protocol (OEP) in the present specification, and the above OEP includes a protocol for communication between a server and a client regarding document editing, object insertion, editing position movement, user authority, and the like. In addition, the contents for performing additional functions provided in the present invention are also included in the above OEP.

한편 본 명세서에서는 경우에 따라 OEP라는 용어를 OEP에 따라 생성된 메시지 자체를 의미하는 용어로도 사용하도록 한다.In the present specification, the term OEP is sometimes used as a term meaning a message itself generated according to the OEP.

OEP 에는 크게 질의 메시지, 응답 메시지, 상태 메시지로 나누어진다.OEP is divided into query message, response message, and status message.

질의메시지(Query Message)는 보통 클라이언트에서 서버에 요구할때 사용되며, 응답메시지(Reply Message)는 서버에서 클라이언트가 요구한 메시지에 따른, 클라이언트에게 알려주는 응답이고, 상태메시지(State Message)는 요구와 응답의 관계외 나머지 메시지(사용자, 문서상태, 브로드캐스팅등등)를 말한다.Query messages are usually used when a client requests a server, and a reply message is a response from the server to the client in response to a message requested by the client. A state message is a response to a request. The rest of the message (user, document status, broadcasting, etc.) outside of the response.

본 발명에서 사용되는 메시지의 크기는 고정적이지 않고 각 메시지에 따라 유동적이다.The size of the message used in the present invention is not fixed but is flexible for each message.

본 발명에서 사용되는 OEP 메시지의 형태는 대략 다음과 같다.The format of the OEP message used in the present invention is as follows.

메시지의 형태 : [메시지의 종류] + [명령어] + [명령어 인수]Message type: [message type] + [command] + [command argument]

여기서 메시지의 종류에는 클라이언트에서 서버에 요청하는 메시지, 서버에서 클아이언트의 요청에 응답하는 메시지, 서버가 편집내용을 관련된 클라이언트들에 브로드캐스팅하는 메시지 등이 있을 수 있다.The type of message may include a message requested from a client to the server, a message responding to a client request from the server, and a message from the server broadcasting edits to related clients.

이하에서는 위 각 메시지들의 예를 몇가지만 살펴본다.The following describes some examples of each of the above messages.

1.클라이언트가 서버에 편집을 요청하는 메시지1.Message from client requesting server to edit

CM_GETCHAR : 현재 서버가 관리중인 편집자의 위치정보를 가지는 객체에서 위치의 문자를 서버에 질의한다.CM_GETCHAR: Query the server for the character of the location in the object with the location information of the editor currently managed by the server.

- 구조 : [CM_GETCHAR]Structure: [CM_GETCHAR]

CM_SETCHAR : 편집문서에 문자를 입력한다.CM_SETCHAR: Enter a character in the edit document.

- 구조 : [CM_SETCHAR] + [문자크기] + [문자 데이타]Structure: [CM_SETCHAR] + [Character Size] + [Character Data]

CM_SETTEXT : 텍스트( 복수 문자들로 구성되는 문장 )를 입력한다.CM_SETTEXT: Enter text (a sentence composed of multiple characters).

- 구조 : [CM_SETTEXT] + [문자크기] + [설정할 텍스트 데이타]-Structure: [CM_SETTEXT] + [Text Size] + [Text Data to Set]

CM_GETTEXT : 편집중인 문서의 텍스트를 읽어들여 메모리에 복사한다.CM_GETTEXT: Reads the text of the document being edited and copies it to memory.

- 구조 : [CM_GETTEXT]Structure: [CM_GETTEXT]

CM_ADDLINE ; 줄을 추가한다.  CM_ADDLINE; Add a line

- 구조 : [CM_ADDLINE] Structure: [CM_ADDLINE]

등이 있을 수 있으며, 이외에도 문서편집에 필요한 여러가지 메시지들이 있을 수 있다.Etc. In addition, there may be various messages required for document editing.

2. 서버 메시지2. Server Messages

클라이언트 메시지에 대한 서버의 응답을 알리는 식별문자 r이 앞에 붙는다. It is prefixed with the identifier r, which indicates the server's response to the client's message.

가령 r + CM_SETTEXT이면 텍스트를 설정하라는 클라이언트 요구에 대한 응답 메시지이다.  For example, r + CM_SETTEXT is the response message to the client request to set the text.

r + CM_GETCHAR ;CM_GETCHAR에 대한 응답r + CM_GETCHAR; response to CM_GETCHAR

- 구조 = [r] + [CM_GETCHAR] + [문자크기] + [문자 데이타]-Structure = [r] + [CM_GETCHAR] + [character size] + [character data]

등이 있을 수 있다. 이 서버의 응답메시지는 클라이언트의 문서편집 명령에 대응하여 존재한다.And the like. The response message of this server exists in response to the client's document editing command.

3. 상태 메시지3. Status message

클라이언트들고 서버간에 편집이 진행되고 있는 내용의 일치 즉, 동기화를 위해서 브로드캐스팅을 위한 메시지임을 알리는 식별문자 b가 앞에 붙는다.The identifier b is preceded by the client and the server, indicating that the content is being edited, that is, a message for broadcasting for synchronization purposes.

b + CM_GETCHAR ;CM_GETCHAR에 대한 브로드캐스팅 메시지 b + CM_GETCHAR; Broadcasting message for CM_GETCHAR

- 구조 = [b] + [CM_GETCHAR] + [문자크기] + [문자 데이타] -Structure = [b] + [CM_GETCHAR] + [character size] + [character data]

등이 있을 수 있다. 이 메시지 역시 서버의 응답 메시지와 동일하게 클라이언트의 문서 편집명령에 대응된다.And the like. This message also corresponds to the client's document editing command in the same way as the server's response message.

여기서 브로드캐스팅이란, 예를들어 채팅 프로그램에서 같은 방에 있는 어떤 사람이 '안녕하세요?'하고 글자를 치면 그 방에 접속된 모든 사람의 채팅 클라이언트 대화창에 '안녕하세요?'가 표시되어야 한다. 이를위해서 서버는 '안녕하세요?' 라는 문자를 받으면 그 방에 접속된 모든 사람에게 '안녕하세요?'라는 문자를 전달해야 하는데, 이렇게 무엇인가를 동시에 여러곳에 전달하는 것을 브로드캐스팅(broadcasting)이라고 한다.Broadcasting, for example, in a chat program where someone in the same room says 'Hello?' Should show 'Hello?' In the chat client dialog of everyone connected to the room. To do this, the server says 'hello?' When you receive a message, you have to deliver the text 'Hello?' To everyone connected to the room. Broadcasting something like this is called broadcasting at the same time.

OEP 권한체크부(306)는 메시지 분류부의 판단결과 상기 메시지가 상기 문서에 대한 편집명령인 경우에는 상기 메시지를 발신한 클라이언트 정보로부터 사용자정보를 추출하고, 상기 사용자 정보 및 상기 문서에 대하여 미리 설정된 편집권한 정보를 기초로 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는지 여부를 판단하는 기능을 수행한다. 즉, OEP 권한체크부(306)는 예를들어 OEP가 편집과 관련 된 OEP인데 그 OEP를 지시한 사용자의 권한에 편집 권한이 없으면 OEP를 처리하지 않고 그냥 버리게 된다.The OEP authority checking unit 306 extracts user information from the client information that sent the message when the message is an editing command for the document, as a result of the determination of the message classification unit, and the preset editing right for the user information and the document. Based on the information, the user determines whether or not the user has a legitimate authority to edit the document. That is, the OEP authority checking unit 306, for example, if the OEP is an OEP related to editing and the authority of the user who instructed the OEP does not have the editing authority, the OEP authority checking unit 306 simply discards the OEP without processing.

콘솔대응 문서편집 관리부(307)는 OEP 권한체크부(306)의 판단결과 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는 것으로 판단되는 경우에는 상기 메시지의 편집명령에 대응하여 상기 문서를 편집하는 기능을 수행한다.The console-compatible document editing management unit 307 edits the document in response to an editing command of the message when it is determined that the user has the right authority to edit the document as a result of the OEP authority checking unit 306. Do this.

또한 콘솔대응 문서편집 관리부(307)는 위에서 수행된 편집결과 정보를 상기 문서를 편집하고 있는 모든 클라이언트들에게 전송하는 기능을 더 수행할 수 있다. 즉 편집내용 정보를 브로드캐스팅할 수있다.In addition, the console-compatible document editing management unit 307 may further perform a function of transmitting the edit result information performed above to all clients editing the document. In other words, the edit information can be broadcast.

또한 상기 수행된 편집이 상기 문서의 어느 위치에서 수행되었는지를 추출하여 편집수행 위치정보를 발생시키고, 상기 문서를 편집중인 클라이언트별로 상기 문서를 편집하는 위치정보인 클라이언트 편집위치 정보를 발생시킨 후, 상기 편집수행 위치를 기준으로 상기 클라이언트 편집위치가 미리 설정된 일정한 범위이내인 클라이언트를 추출하여 상기 편집결과 정보를 전송하는 기능을 더 수행할 수 있다.In addition, it is possible to extract the position at which the editing is performed at the location of the document, to generate the location for performing editing, and to generate the client editing location information, which is the location information for editing the document for each client editing the document. The client may further perform a function of transmitting the editing result information by extracting a client whose client editing position is within a predetermined range based on the editing performing position.

즉, 상기 수행된 문서의 편집이 어느 위치에서 수행되었는지 검사하여 편집수행 위치정보를 추출하고, 상기 문서를 편집중인 다른 클라이언트들의 화면위치정보를 추출한 후, 이를 비교해 상기 수행된 편집이 발생한 위치정보를 포함하는 클라이언트들을 추출하여 상기 편집결과 정보를 전송하는 기능을 더 수행할 수 있는 것이다.In other words, it checks in which position the editing of the performed document is performed, extracts the position of performing edits, extracts the screen position information of other clients editing the document, compares the position information, and compares the position information in which the edit is performed. It may further perform a function of transmitting the editing result information by extracting the included clients.

이는 콘솔대응 문서편집 관리부(307)는 수신받은 OEP를 성공적으로 처리가 되었으면 관련 콘솔에게 성공적으로 처리되었다고 알려주는데, 이때 문서가 편집되 어 변경된 내용은 관련된 다른 콘솔도 같이 알려주어 표시되는 내용을 일치시켜주기 위해 브로드캐스팅할 수 있다.The console-compatible document editing management unit 307 notifies the relevant console if the received OEP has been successfully processed. At this time, the document is edited and the changed contents are notified to other related consoles to match the displayed contents. You can broadcast it to make it work.

이때 브로드캐스팅을 할때 서버에 접속된 모든 사용자( 클라이언트 )에게 그 내용을 알려줄 필요가 없을 수 있다. 즉, 현재 작업중인 같은 화면을 작업중인 사용자에게만 그 내용을 알려줄 수 있는 것이다. 예를들어 A콘솔은 작업중인 화면(편집기 화면에 보여지는 부분)이 1∼100줄이고 B콘솔은 작업중인 화면이 50∼150줄이, C콘솔은 작업중인 화면이 200∼300줄이라고 하고, A콘솔에서 55번째 줄의 특정 열에 문자를 삽입했다고 할경우, 이때 C콘솔에게까지 이 내용을 알려줄 필요는 없게된다. 또 5번째 줄의 특정 열에 문자를 삽입했다고 할 경우에는 물론 A콘솔에게만 전달하면 된다. 기타 다른 편집 상황의 경우도 마찬가지이다.At this time, it may not be necessary to inform all users (clients) connected to the server when broadcasting. That is, only the user who is working on the same screen currently being worked on can tell the contents. For example, console A has 1-100 lines of working screen (part shown on editor screen), console B has 50-150 lines of working screen, console C has 200-300 lines of working screen. If you insert a character into a particular row on line 55 in the console, you don't have to tell C console about it. Also, if you insert a character in a specific column of line 5, you only need to pass it to console A. The same applies to other editing situations.

한편 콘솔대응 문서편집 관리부(307)는 콘솔에 표시되는 편집화면과 대응되는 개별적인 정보를 저장하고 있어야 한다. 가령, 대응 콘솔이 작업중인 영역, 작업위치 정보등의 정보를 관리하여야 한다. 이러한 편집중인 공유문서 정보는 편집문서 저장부에 저장되며, 여기에는 편집중인 문서의 각 줄에 대한 문자 속성이나, 개체(그림, 표 등)정보가 포함된다.Meanwhile, the console document editing management unit 307 should store individual information corresponding to the edit screen displayed on the console. For example, the corresponding console must manage information such as work area and work location information. The shared document information being edited is stored in the edit document storage unit, which includes text attributes or object (picture, table, etc.) information for each line of the document being edited.

부가기능 처리부(309)는 상기 메시지 분류부(304)의 판단결과 상기 메시지가 상기 문서에 대한 편집명령이 아니면, 채팅 또는 파일 전송 중 어느 하나의 기능을 수행한다. 이는 온라인 다중 편집시 더 나은 사용자의 편리를 도모하기 위한 기능으로 그 내용은 다음과 같다.If the message classification unit 304 determines that the message is not an editing command for the document, the additional function processing unit 309 performs one of chatting or file transmission. This is a function for better user convenience in online multi-editing. The contents are as follows.

1. 온라인 문서 다중 편집시스템은 기본 채팅 시스템이 자연히 구축되지만, 더 나은 고급기능이 들어간 채팅 시스템을 필요로 할 수 있다. 이런경우 별도의 고급 채팅 프로토콜을 두어 채팅을 할 수 있게 한다.1. An online document multi-editing system naturally builds a basic chat system, but may require a chat system with better advanced features. In this case, a separate advanced chat protocol can be used to chat.

2. 어떠한 참고 파일을 서로 전달할 필요가 있을 수 있다. 이런경우 사용자간(혹은 서버간)의 파일 보내기(Upload)/내려받기(Download)기능을 제공할 수 있게 한다.2. You may need to pass some reference files to each other. In this case, it is possible to provide a function of uploading / downloading files between users (or servers).

3. 기타 부가 기능이 들어갈 수 있다.3. Other add-ons can be entered.

OEP 수집부(305)는 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받고, 상기 메시지를 전송받은 순서대로 저장하였다가 상기 메시지 분류부에 제공하는 기능을 수행한다.The OEP collecting unit 305 receives a predetermined message from one of the clients, stores the messages in the order in which they are received, and provides the message classification unit.

좀더 OEP 수집부(305)의 기능을 설명하면, 두개 이상의 클라이언트가 지시한 내용을 처리하기 위해 각 클라이언트로부터 받은 OEP를 순서대로 저장해놓는 기능을 수행한다. 수신된 OEP는 OEP 큐(Queue)에 저장된다. In more detail, the function of the OEP collecting unit 305 is performed to store OEPs received from each client in order to process the contents indicated by two or more clients. The received OEP is stored in the OEP queue.

여기서 큐(Queue)는 어떤 데이타들이 처리를 기다리며 서있는 줄을 말하는데, 줄의 맨 앞에서부터 순서대로 처리되고 처리된 데이타는 제거시키는 자료구조를 말한다. 이는 클라이언트(이하 콘솔이라 부르겠음)와 서버간의 동기화를 위해서 필요하다. A콘솔과 B콘솔이 동시에 같은 줄을 편집하는 경우, 두 콘솔이 동시에 어떤 문자를 쳐다고 했을때 이 문자에 대한 정보가 서버에 전달되게 된다. 그러나 아무리 동시에 어떤 문자에 대한 정보가 서버에 전달된다고 하더라도 실제로는 동시에 받는 경우는 없다. 0.001초간의 간격은 존재할 수 밖에 없다. OEP는 먼저 받은 순서대로 OEP 큐에 저장된다.A queue is a line in which some data is waiting to be processed, which is processed in order from the beginning of the line, and the processed data is removed. This is necessary for synchronization between the client (hereafter referred to as console) and server. If Console A and Console B edit the same line at the same time, information about these characters is sent to the server when both consoles type a character at the same time. But no matter how much information about a character is sent to the server at the same time, it is never actually received at the same time. An interval of 0.001 seconds can only exist. OEPs are stored in the OEP queue in the order they were first received.

OEP 수집부는 저장되어 있는 OEP 메시지들을 순차적으로 OEP 권한체크부(306)에 제공한다.The OEP collector sequentially provides the stored OEP messages to the OEP authorization checker 306.

OEP 로그처리부(308)는 상기 콘솔대응 문서편집 관리부에서 상기 문서를 편집한 내용을 로그로 저장하는 기능을 수행한다.The OEP log processing unit 308 performs a function of storing the edited content of the document as a log in the console corresponding document editing management unit.

사내 LAN환경이나, 로컬 환경이 아닌 인터넷 상에 서로 다른 지역에서 A콘솔, B콘솔, 서버가 운영되고 있을경우에 네트워크 환경에 따라 A콘솔이 먼저 서버로 지시를 했더라도 B콘솔의 내용이 전달될 수 있다. 하지만 이러한 내용은 인터넷 발달로 그 확률이 점차 줄어들고 있지만 이러한 처리 내용들 콘솔이 수시로 확인할 수 있는 수단을 위해 편집된 처리내용을 로그로 남겨두는 것이 바람직하다. 로그는 어떤 OEP들을 어떤 순서로 처리했는가 하는 내용을 기록해 놓은 목록을 말한다.If console A, console B, or servers are operated in different areas on the Internet rather than in the local LAN or local environment, the contents of console B may be delivered even if console A first directs the server according to the network environment. Can be. However, although the probability of such contents is gradually decreasing due to the development of the Internet, it is desirable to keep the edited contents logged as a means for the console to check them at any time. The log is a list of which OEPs are processed and in what order.

OEP 로그의 내용은 The contents of the OEP log are

'A콘솔이 A문서 y줄 x칸에 C문자를 언제 삽입했다.''When console A inserted the letter C in line x of document A,'

'A콘솔이 A문서 y줄에 C문자를 언제 추가했다.''When console A added the letter C to the line y of document A,'

'A콘솔이 A문서 y줄에 C문자를 A문자로 수정했다.''Console A modified the letter C to the letter A on the y line of document A.'

...등의 형태로 저장된다. 이 내용은 이진데이타로 관리되며 특정 콘솔이 이 내용을 요구할때 콘솔로 보내질 수 있다. ... and so on. This content is managed as binary data and can be sent to the console when a particular console requires it.

OEP 로그 처리부에서 로그를 저장하는 형식은 스택을 이용하는 것이 바람직하다. 여기서 스택(Stack)이란 가장 나중에 저장된 항목을 먼저 처리하고 처리된 데이타를 제거시키는 자료구조이다. 로그는 어떤 사용자가 어떠한 일을 행했는지의 기록으로, 이는 되돌리기(Undo)/다시하기(Redo) 기능을 위해서도 활용된다. 스택에 저장되는 것은 Undo/Redo기능과도 관련이 있다. 즉, 이 로그를 참조해 로그기록과 반대로 수행하므로서 Undo를 수행하게 되고, 다시 반대로 수행하므로서 Redo를 수행한다.It is preferable to use a stack as a format for storing logs in the OEP log processor. In this case, a stack is a data structure that processes the last stored item first and removes the processed data. A log is a record of what a user has done and is used for the Undo / Redo function. What is stored on the stack is also associated with the Undo / Redo feature. In other words, by referring to this log, Undo is performed by performing the reverse of the log record, and Redo is performed by reversing the log again.

도 4는 본 발명의 서버에서 문서별로 편집권한을 설정하는 방법을 나타내는 방법의 바람직한 실시예의 순서도이다. 본 실시예는 사용자가 서버에 저장되어 있는 자신의 문서에 대한 권한을 설정하는 경우이다.Figure 4 is a flow chart of a preferred embodiment of the method for illustrating a method for setting the editing authority for each document in the server of the present invention. This embodiment is a case where the user sets the authority for his document stored in the server.

먼저 클아이언트는 서버에 접속하고, 사용자 아이디, 패스워드등을 이용하여 사용자 인증(401)을 거치게 된다.First, the client connects to the server and undergoes user authentication 401 using a user ID, password, and the like.

서버는 클라이언트의 접속 및 사용자 인증이 정상적으로 수행된 경우에는 서버에 저장되어 있는 문서들 중 해당 사용자가 권한을 설정할 수 있는 문서들의 리스트를 공유문서가 저장되어 있는 공유문서 저장부 및 현재 편집작업중인 문서가 저장되어 있는 편집문서 저장부로부터 독출(402)하여 이를 클라이언트에 전송한다.When the client access and user authentication is normally performed, the server displays a list of documents stored in the server to which the user can set authority. Read from the stored edited document storage unit 402 and transmits it to the client.

그리고 서버는 현재 사용자등록이 되어 있는 사용자정보를 독출(403)하여 이를 위 클라이언트에 전송한다.The server reads the user information that is currently registered as a user (403) and transmits it to the client.

클라이언트는 전송받은 리스트 정보 및 사용자 정보를 화면에 출력하여 사용자에게 저장하고, 위 리스트 중의 일부 문서 및 위 문서에 대한 편집권한을 부여할 사용자를 선택(404)받고, 이를 서버에 전송한다.The client outputs the received list information and the user information on the screen, stores them in the user, selects some documents in the above list, and selects a user to give permission to edit the above documents, and transmits them to the server.

서버는 위 선택된 문서에 대하여 위 선택된 사용자에게 편집권한을 부여(405)하게 된다. 이 편집권한 설정내용은 위 편집문서 저장부 및 공유문서 저장부에 반영된다.The server grants 405 editing rights to the selected user for the selected document. This editing authority setting is reflected in the above edited document storage and shared document storage.

도 5는 본 발명의 서버에서 복수의 사용자가 문서를 공동으로 편집하는 방법의 바람직한 실시예의 순서도이다. 이 실시예에서는 사용자의 클라이언트가 서버에 의 접속 및 사용자 인증과정이 이미 이루어진 것을 전제로 하고 있다.5 is a flow diagram of a preferred embodiment of a method for collaboratively editing a document by multiple users in a server of the present invention. This embodiment is based on the premise that the client of the user has already connected to the server and authenticated the user.

먼저, 소정의 콘솔(클라이언트)로부터 소정의 메시지를 전송(501)받고 위 메시지가 문서편집과 관련된 OEP 메시지인가 여부를 판단(502)한다. 위 판단결과 문서편집과 관련된 OEP 메시지이면 위 메시지를 수신받은 순서대로 저장(503)한다.First, a predetermined message is transmitted from a predetermined console (client) (501) and it is determined (502) whether the above message is an OEP message related to document editing. If the determination result is an OEP message related to document editing, the message is stored in the order in which it is received (503).

그 후 위 메시지로부터 발신자정보를 독출하고, 미리 설정된 위 발신자(사용자)의 편집권한 정보를 독출(504)한 후, 위 메시지가 편집권한에 부합하는지 여부를 판단(505)한다.Thereafter, the sender information is read from the above message, and the editing authority information of the above calling party (user) is read out 504, and then it is determined whether the above message corresponds to the editing authority (505).

위 판단결과 미리 설정된 편집권한에 위 메시지가 부합하면, 위 메시지의 내용에 따라서 해당 문서의 내용을 편집(506)하게 된다. 그 후 위 해당 문서를 편집중인 콘솔들 중 위 편집내용이 현재 편집범위에 속하는 콘솔들에 위 편집결과를 전송(507)한다.As a result of the determination, if the above message matches the preset editing authority, the content of the document is edited 506 according to the content of the message. Thereafter, among the consoles editing the corresponding document, the edited result is transmitted to the consoles which belong to the current edit range (507).

그 후 위 메시지에 따라서 처리된 편집내용을 로그로 저장(508)한다.Thereafter, the processed edits are stored in a log (508) according to the above message.

그 후 편집이 종료되었는지를 판단하여 그렇지 않은 경우에는 501 단계로 이동하게 된다.After that, it is determined whether the editing is finished, and if not, the flow proceeds to step 501.

한편, 위 502 단계에서 전송받은 메시지가 문서편집과 관련된 OEP 메시지가 아닌 경우에는 위 메시지의 내용에 응하여 부가기능을 처리(510)한 후 위 501 단계로 다시 이동한다.On the other hand, if the message received in step 502 is not an OEP message related to document editing, the process proceeds to step 501 again after processing the additional function (510) in response to the contents of the message.

그리고 위 505 단계에서 판단결과 위 메시지가 편집권한에 부합하지 않는 경 우에는 위 수신받은 OEP 메시지를 버리고(511), 509 단계로 이동하게 된다.If the message does not correspond to the editing authority as a result of the determination in step 505, the received OEP message is discarded (511) and the process moves to step 509.

도 6은 본 발명의 클라이언트에서 복수의 사용자가 문서를 공동으로 편집하는 방법의 바람직한 실시예의 순서도이다.6 is a flowchart of a preferred embodiment of a method for collaboratively editing a document by multiple users in a client of the present invention.

클라이언트는 사용자의 명령에 따라서 서버에 접속하고 사용자 인증과정을 수행(601)하게 된다.The client connects to the server according to the user's command and performs the user authentication process (601).

그 후 소정의 편집명령이 사용자로부터 입력되었는지 여부를 판단(602)하여, 입력이 된 경우에는 소정의 편집명령을 입력(603)받고 이를 서버에 전송(604)한 후 605 단계로 이동한다.Thereafter, it is determined whether or not a predetermined edit command is input from the user (602). If an input is made, the user receives an input (603) of the predetermined edit command, transmits it to the server (604), and then proceeds to step 605.

한편 위 602 단계에서 판단결과 사용자로부터 편집명령이 입력되지 않은 경우에는 서버로부터 소정의 메시지가 수신되었는지 여부를 판단(605)하여, 수신된 경우에는 위 메시지가 문서편집에 관련된 것인지 여부를 판단(606)하고, 참인경우에는 위 수신받은 메시지의 편집결과를 화면에 표시하여 사용자에게 제공(607)한다.On the other hand, if it is determined in step 602 that the editing command is not input from the user, it is determined whether or not a predetermined message is received from the server (605). If it is received, it is determined whether the message is related to document editing (606). If true, the editing result of the received message is displayed on the screen and provided to the user (607).

위 605 단계에서 서버로부터 어떠한 메시지도 수신되지 않은 경우에는 다시 602 단계로 이동한다.If no message is received from the server in step 605, the process goes back to step 602.

위 6060 단계에서 서버로부터 수신받은 메시지가 문서편집과 관련된 메시지가 아닌 경우에는 그 메시지의 내용에 대응하는 부가기능을 처리(608)하고 다시 602 단계로 이동하게 된다.If the message received from the server in step 6060 is not a message related to document editing, the process adds a function corresponding to the content of the message (608) and moves to step 602 again.

지금까지 본 발명에 따른 바람직한 실시예를 상세히 살펴보았다. 본 발명의 범위는 위에서 설명한 실시예에 한정되지 않으며, 본 발명의 기술적 사상이 적용된 경우라면 당연히 미친다 할 것이다.So far we looked at the preferred embodiment according to the present invention in detail. The scope of the present invention is not limited to the above-described embodiments, and will naturally extend if the technical idea of the present invention is applied.

한편 본 발명의 방법들은 컴퓨터로 실행시킬 수 있는 프로그래으로 작성하는것이 가능하며, 또 상기 프로그램들은 컴퓨터로 읽을 수 있는 기록매체 즉, 하드디스크, 각 종 메모리, 플로피디스크, CD 등에 기록되는 것이 가능하다.Meanwhile, the methods of the present invention can be written in a program that can be executed by a computer, and the programs can be recorded in a computer-readable recording medium, that is, a hard disk, various memories, a floppy disk, a CD, and the like. Do.

본 발명에 따르면 통신망에 접속할 수 있는 지역이라면 지역적인 제한없이 원거리에 있는 사용자들이 어느 한 문서를, 채팅을 통하여 의논하거나 파일전송의 기능을 이용하여 서로 필요한 자료를 교한하면서, 동시에 편집할 수 있는 효과가 있다. 이를 통하여 어느 한 문서를 다수의 사용자가 공동으로 편집하는 경우 시간적으로 절약할 수 있으며, 또한 문서내의 용어를 통일하여 문서의 질을 높일 수 있는 효과를 거둘 수 있다.According to the present invention, an area in which a user can access a communication network can simultaneously edit a document while talking to each other using a function of file transfer or a document by remote users without any local restrictions. There is. This saves time when a user edits a document jointly by multiple users, and also improves the quality of the document by unifying terms in the document.

Claims (17)

소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상인 시스템에서 상기 문서를 다수의 사용자가 동시에 편집하는 방법으로서,A method of simultaneously editing a document by a plurality of users in a system in which at least one server which is a server storing a predetermined document and a client computer of the user who wants to edit the document is present, (a) 상기 서버는 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받는 단계;(a) the server receiving a predetermined message from any one of the clients; (b) 상기 서버는 상기 메시지가 상기 문서에 대한 편집명령인지 여부를 판단하는 단계;(b) the server determining whether the message is an editing command for the document; (c) 상기 판단결과 상기 메시지가 상기 문서에 대한 편집명령인 경우에는 상기 메시지를 발신한 클라이언트 정보로부터 사용자정보를 추출하고, 상기 사용자 정보 및 상기 문서에 대하여 미리 설정된 편집권한 정보를 기초로 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는지 여부를 판단하는 단계; 및(c) if the message is an editing command for the document, extracting the user information from the client information that sent the message, and based on the user information and the preset editing authority information for the document, Determining whether there is a legitimate authority to edit the document; And (d) 상기 판단결과 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는 것으로 판단되는 경우에는 상기 메시지의 편집명령에 대응하여 상기 문서를 편집하는 단계를 포함하는 것을 특징으로 하는 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법.and (d) if it is determined that the user has a legitimate authority to edit the document, editing the document in response to an editing command of the message. How to edit a document jointly. 제 1 항에 있어서,The method of claim 1, (e) 상기 단계에서 수행된 편집결과 정보를 상기 문서를 편집하고 있는 모든 클라이언트들에게 전송하는 단계를 더 포함하는 것을 특징으로 하는 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법.and (e) transmitting the edit result information performed in the step to all clients who are editing the document. 제 2 항에 있어서, 상기 (e) 단계는 The method of claim 2, wherein step (e) (e1) 상기 단계에서 수행된 문서의 편집이 상기 문서의 어느 위치에서 수행되었는지를 추출하여 편집수행 위치정보를 발생시키는 단계;(e1) generating a position to perform editing by extracting at which position of the document the editing of the document performed in the step is performed; (e2) 상기 문서를 편집중인 다른 클라이언트들의 화면위치 정보를 추출하는 단계; 및(e2) extracting screen position information of other clients editing the document; And (e3) 상기 화면위치 정보를 기초로 미리 설정된 일정범위를 각 클라이언트의 편집범위로 설정하고, 상기 편집수행 위치가 상기 각 클라이언트의 편집범위내에 위치하는지를 판단하여 상기 편집수행 위치가 편집범위내에 위치하는 모든 클라이언트들에 상기 편집결과 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법.(e3) A predetermined range is set as the editing range of each client based on the screen position information, and it is determined whether the editing performing position is within the editing range of each client, and the editing performing position is located within the editing range. And transmitting the edit result information to all clients. 제 1 항에 있어서, 상기 (c) 단계는 The method of claim 1, wherein step (c) 상기 판단결과 상기 메시지가 상기 문서에 대한 편집명령이 아니면, 채팅 또는 파일 전송 중 어느 하나의 기능을 포함하는 부가기능을 수행하는 것을 특징으로 하는 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법.And if the message is not an editing command for the document, performing the additional function including any one function of chat or file transmission. 제 1 항에 있어서, 상기 (a) 단계는 The method of claim 1, wherein step (a) 상기 서버는 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받고, 상기 메시지를 전송받은 순서대로 저장하는 것을 특징으로 하는 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법.And the server receives a predetermined message from one of the clients, and stores the messages in the order in which the messages are received. 제 1 항에 있어서, The method of claim 1, (e) 상기 단계에서 상기 문서를 편집한 내용을 로그로 저장하는 단계를 더 포함하는 것을 특징으로 하는 서버에서 복수의 사용자가 공동으로 문서를 편집하는 방법.and (e) storing the edited content of the document in a log as a log. 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상인 시스템에서 상기 문서를 다수의 사용자가 동시에 편집하는 방법으로서,A method of simultaneously editing a document by a plurality of users in a system in which at least one server which is a server storing a predetermined document and a client computer of the user who wants to edit the document is present, (a) 상기 클라이언트는 사용자로부터 소정의 문서에 대한 편집명령을 입력받은 경우 상기 편집명령을 상기 서버에 전송하는 단계; 및(a) when the client receives an edit command for a predetermined document from a user, transmitting the edit command to the server; And (b) 상기 클라이언트는 상기 서버로부터 소정의 메시지를 수신받은 경우 상기 메시지가 상기 편집명령 또는 다른 클라이언트로부터 상기 서버에 전송된 소정의 편집명령에 대응하는 상기 문서에 대한 편집결과정보인지 여부를 판단하고, 상기 판단결과 상기 메시지가 상기 편집결과정보인 경우에는 상기 편집결과정보를 화면에 표시하여 상기 사용자에게 제공하는 단계를 포함하는 것을 특징으로 하는 클라이언트에서 복수의 사용자가 공동으로 문서를 편집하는 방법.(b) when the client receives a predetermined message from the server, determines whether the message is editing result information for the document corresponding to the editing command or the predetermined editing command transmitted from another client to the server; And when the message is the edit result information, displaying the edit result information on the screen and providing the edit result information to the user. 제 7 항에 있어서, 상기 (b) 단계는 8. The method of claim 7, wherein step (b) 상기 메시지가 상기 문서에 대한 편집결과정보가 아닌 경우에는 채팅 또는 파일전송 기능 중 어느 하나를 포함하는 부가기능을 수행하는 것을 특징으로 하는 클라이언트에서 복수의 사용자가 공동으로 문서를 편집하는 방법.And if the message is not the edit result information of the document, a plurality of users jointly edit a document in the client, wherein the additional function includes any one of a chat or a file transfer function. 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상으로 구성되며 상기 문서를 다수의 사용자가 동시에 편집하는 시스템의 클라이언트로서,As a client of a system in which a server storing a predetermined document and a client, which is a computer of a user who wants to edit the document, are configured with at least one, and a plurality of users edit the document simultaneously. 상기 사용자로부터 소정의 문서에 대한 편집명령을 입력받은 경우 상기 편집명령을 상기 서버에 전송하는 입력처리부; 및An input processing unit for transmitting the editing command to the server when an editing command for a predetermined document is received from the user; And 상기 서버로부터 소정의 메시지를 수신받은 경우 상기 메시지가 상기 편집명령 또는 다른 클라이언트로부터 상기 서버에 전송된 소정의 편집명령에 대응하는 상기 문서에 대한 편집결과정보인지 여부를 판단하고, 상기 판단결과 상기 메시지가 상기 편집결과정보인 경우에는 상기 편집결과정보를 화면에 표시하여 상기 사용자에게 제공하는 화면처리부를 포함하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 클라이언트.If a predetermined message is received from the server, it is determined whether the message is edit result information for the document corresponding to the edit command or a predetermined edit command transmitted from another client to the server. And the edit result information is a client for editing a document jointly by a plurality of users comprising a screen processing unit for displaying the edit result information on the screen to provide to the user. 제 9 항에 있어서, The method of claim 9, 상기 메시지가 상기 문서에 대한 편집결과정보가 아닌 경우에는 채팅 또는 파일전송 기능 중 어느 하나를 포함하는 부가기능을 수행하는 부가기능처리부를 더 포함하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 클라이언트.If the message is not the edit result information of the document, a plurality of users jointly edit the document, characterized in that it further comprises an add-on processing unit for performing an additional function including any one of a chat or a file transfer function. Client. 소정의 문서를 저장하고 있는 서버 및 상기 문서를 편집하고자 하는 사용자의 컴퓨터인 클라이언트가 적어도 하나 이상으로 구성되며 상기 문서를 다수의 사용자가 동시에 편집하는 시스템의 서버로서,A server of a system in which a server storing a predetermined document and at least one client, which is a computer of a user who wants to edit the document, are configured and a plurality of users edit the document simultaneously. 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받아 상기 메시지가 상기 문서에 대한 편집명령인지 여부를 판단하는 메시지 분류부;A message classification unit which receives a predetermined message from one of the clients and determines whether the message is an editing command for the document; 상기 메시지 분류부의 판단결과 상기 메시지가 상기 문서에 대한 편집명령인 경우에는 상기 메시지를 발신한 클라이언트 정보로부터 사용자정보를 추출하고, 상기 사용자 정보 및 상기 문서에 대하여 미리 설정된 편집권한 정보를 기초로 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는지 여부를 판단하는 OEP 권한체크부; 및If the message classification unit determines that the message is an editing command for the document, the user information is extracted from the client information that sent the message, and the user is based on the user information and the editing authority information preset for the document. An OEP authority checking unit that determines whether the user has a legitimate authority to edit the document; And 상기 OEP 권한체크부의 판단결과 상기 사용자가 상기 문서를 편집할 정당한 권한이 있는 것으로 판단되는 경우에는 상기 메시지의 편집명령에 대응하여 상기 문서를 편집하는 콘솔대응 문서편집 관리부를 포함하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 서버.And a console-compatible document editing management unit for editing the document in response to an editing command of the message, when it is determined that the user has a legitimate authority to edit the document. A server for users to edit documents collaboratively. 제 11 항에 있어서, 상기 콘솔대응 문서편집 관리부는 12. The method of claim 11, wherein the console-compatible document editing management unit 상기 수행된 편집결과 정보를 상기 문서를 편집하고 있는 모든 클라이언트들에게 전송하는 기능을 더 수행하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 서버.And performing a function of transmitting the edited result information to all the clients who are editing the document. 제 11 항에 있어서, 상기 콘솔대응 문서편집 관리부는12. The method of claim 11, wherein the console-compatible document editing management unit 상기 수행된 문서의 편집이 상기 문서의 어느 위치에서 수행되었는지를 추출하여 편집수행 위치정보를 발생시키고, 상기 문서를 편집중인 다른 클라이언트들의 화면위치 정보를 추출한 후, 상기 화면위치 정보를 기초로 미리 설정된 일정범위를 각 클라이언트의 편집범위로 설정하고, 상기 편집수행 위치가 상기 각 클라이언트의 편집범위내에 위치하는지를 판단하여 상기 편집수행 위치가 편집범위내에 위치하는 모든 클라이언트들에 상기 편집결과 정보를 전송하는 기능을 더 수행하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 서버.The location of the document is edited and the location of the document is edited to generate edit execution position information, the screen position information of other clients editing the document is extracted, and the preset position is set based on the screen position information. A function of setting a predetermined range as an editing range of each client, determining whether the edit performing position is within the editing range of each client, and transmitting the edit result information to all clients whose edit performing position is within the editing range. A server for collaboratively editing documents by a plurality of users, characterized in that to further perform. 제 11 항에 있어서, The method of claim 11, 상기 메시지 분류부의 판단결과 상기 메시지가 상기 문서에 대한 편집명령이 아니면, 채팅 또는 파일 전송 중 어느 하나의 기능을 수행하는 부가기능 처리부를 더 포함하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 서버.When the message classification unit determines that the message is not an editing command for the document, a plurality of users jointly edit the document, characterized in that it further comprises an additional function processing unit for performing any one function of chat or file transfer. Server. 제 11 항에 있어서, The method of claim 11, 상기 클라이언트 중 어느 하나의 클라이언트로부터 소정의 메시지를 전송받 고, 상기 메시지를 전송받은 순서대로 저장하였다가 상기 메시지 분류부에 제공하는 OEP 수집부를 더 포함하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 서버.Receiving a predetermined message from any one of the clients of the client, a plurality of users jointly document characterized in that it further comprises an OEP collection unit for storing the messages in the order received and provided to the message classification unit To edit the server. 제 11 항에 있어서, The method of claim 11, 상기 콘솔대응 문서편집 관리부에서 상기 문서를 편집한 내용을 로그로 저장하는 OEP 로그 처리부를 더 포함하는 것을 특징으로 하는 복수의 사용자가 공동으로 문서를 편집하는 서버.And a OEP log processing unit for storing the content of the edited document in the console-compatible document editing management unit as a log. 제 1 항내지 제 8 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program capable of executing the method of any one of claims 1 to 8.
KR1020040083532A 2004-10-19 2004-10-19 Method of joint editing a document for multi users and system thereof KR20060034786A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040083532A KR20060034786A (en) 2004-10-19 2004-10-19 Method of joint editing a document for multi users and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040083532A KR20060034786A (en) 2004-10-19 2004-10-19 Method of joint editing a document for multi users and system thereof

Publications (1)

Publication Number Publication Date
KR20060034786A true KR20060034786A (en) 2006-04-26

Family

ID=37143454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040083532A KR20060034786A (en) 2004-10-19 2004-10-19 Method of joint editing a document for multi users and system thereof

Country Status (1)

Country Link
KR (1) KR20060034786A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984881B1 (en) * 2007-03-19 2010-10-01 주식회사 엔씨소프트 System for Note Service using Communication Network
KR20120014896A (en) * 2009-04-30 2012-02-20 마이크로소프트 코포레이션 Fast merge support for legacy documents
KR101128623B1 (en) * 2007-06-25 2012-03-26 에스케이 텔레콤주식회사 System and Method for Collaborative Work of Document
US20140373108A1 (en) 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US9760862B2 (en) 2008-04-28 2017-09-12 Microsoft Technology Licensing, Llc Conflict resolution
US10277643B2 (en) 2014-05-23 2019-04-30 Samsung Electronics Co., Ltd. Server and method of providing collaboration services and user terminal for receiving collaboration services
KR20190054566A (en) * 2017-11-14 2019-05-22 주식회사 한글과컴퓨터 Apparatus for editing web based document by remote accessing each of web based document storage servers and operating method thereof
US10394941B2 (en) 2007-11-09 2019-08-27 Microsoft Technology Licensing, Llc Collaborative authoring
KR20200001139A (en) * 2018-06-27 2020-01-06 주식회사 한글과컴퓨터 Server for editing electronic document based on message including edit command and operating method thereof
CN115061988A (en) * 2022-05-27 2022-09-16 上海鸿翼软件技术股份有限公司 Computer processing document editing conflict optimization method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984881B1 (en) * 2007-03-19 2010-10-01 주식회사 엔씨소프트 System for Note Service using Communication Network
KR101128623B1 (en) * 2007-06-25 2012-03-26 에스케이 텔레콤주식회사 System and Method for Collaborative Work of Document
US10394941B2 (en) 2007-11-09 2019-08-27 Microsoft Technology Licensing, Llc Collaborative authoring
US20140373108A1 (en) 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US10057226B2 (en) 2007-12-14 2018-08-21 Microsoft Technology Licensing, Llc Collaborative authoring modes
US9760862B2 (en) 2008-04-28 2017-09-12 Microsoft Technology Licensing, Llc Conflict resolution
KR20120014896A (en) * 2009-04-30 2012-02-20 마이크로소프트 코포레이션 Fast merge support for legacy documents
US10277643B2 (en) 2014-05-23 2019-04-30 Samsung Electronics Co., Ltd. Server and method of providing collaboration services and user terminal for receiving collaboration services
US10810360B2 (en) 2014-05-23 2020-10-20 Samsung Electronics Co., Ltd. Server and method of providing collaboration services and user terminal for receiving collaboration services
KR20190054566A (en) * 2017-11-14 2019-05-22 주식회사 한글과컴퓨터 Apparatus for editing web based document by remote accessing each of web based document storage servers and operating method thereof
KR20200001139A (en) * 2018-06-27 2020-01-06 주식회사 한글과컴퓨터 Server for editing electronic document based on message including edit command and operating method thereof
CN115061988A (en) * 2022-05-27 2022-09-16 上海鸿翼软件技术股份有限公司 Computer processing document editing conflict optimization method

Similar Documents

Publication Publication Date Title
US6983416B1 (en) System and method for cooperative editing of web document
EP2218011B1 (en) Private views of data and local calculations during real time collaboration
US9705946B2 (en) Method to initiate server based collaboration on e-mail attachments
US7818679B2 (en) Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
US20030105816A1 (en) System and method for real-time multi-directional file-based data streaming editor
CN102362271B (en) System and method for merging edits for a conversation in a hosted conversation system
EP1796314B1 (en) A system and method for implementing online file storage based on a real-time communication platform
US7310657B2 (en) Owner identification of collaboration work object
WO2009135418A1 (en) A method, device and system for managing topic discussion contents in real time in an instant messaging tool
EP1494411A1 (en) Instant messaging object store
KR20080011165A (en) Apparatus and method for network identification among multiple applications
US20020056003A1 (en) System and method for real-time multi-directional file-based data streaming editor
US11553013B2 (en) Chat room-based file sharing device and method
KR20200020194A (en) Apparatus of work managing based on chat room, method by the same and storage media storing the same
KR20060034786A (en) Method of joint editing a document for multi users and system thereof
KR20200020656A (en) Apparatus of work managing based on chat room, method by the same and storage media storing the same
JP5369800B2 (en) Information processing system, information processing method, and information processing apparatus
JP4191239B2 (en) Access authority control system
KR102537428B1 (en) Non-face-to-face collaboration service provision system
Adler et al. Challenges in collaborative authoring software

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application