KR20190066276A - Collaboration method and apparatus - Google Patents

Collaboration method and apparatus Download PDF

Info

Publication number
KR20190066276A
KR20190066276A KR1020170165851A KR20170165851A KR20190066276A KR 20190066276 A KR20190066276 A KR 20190066276A KR 1020170165851 A KR1020170165851 A KR 1020170165851A KR 20170165851 A KR20170165851 A KR 20170165851A KR 20190066276 A KR20190066276 A KR 20190066276A
Authority
KR
South Korea
Prior art keywords
collaboration
data
client
changed
collaborative
Prior art date
Application number
KR1020170165851A
Other languages
Korean (ko)
Other versions
KR101999322B1 (en
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 KR1020170165851A priority Critical patent/KR101999322B1/en
Publication of KR20190066276A publication Critical patent/KR20190066276A/en
Application granted granted Critical
Publication of KR101999322B1 publication Critical patent/KR101999322B1/en

Links

Images

Classifications

    • G06F17/24
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention discloses a collaboration method. The collaboration method comprises the steps of: storing data changed due to a change in the data of a collaboration object generated in a local area to which a collaboration client belongs; allocating a uniform resource identifier (URI) representing a position in the collaboration object to an existing independent component and an independent component newly generated by the change in the data; and reflecting the changed data of the local area using the URI to a collaboration object of a collaboration client other than the collaboration client mentioned in the step of storing the changed data. According to the present invention, the method may prevent collision between clients when collaborating and produce unified collaboration objects.

Description

협업방법 및 협업장치{COLLABORATION METHOD AND APPARATUS}[0001] COLLABORATION METHOD AND APPARATUS [0002]

본 발명은 협업방법 및 협업장치에 관한 것으로, 더욱 상세하게는 협업 툴을 이용하여 문서를 작성함에 있어서 협업 목적물을 독립된 구성요소 단위로 분할하여 각 구성요소 별로 편집 권한을 부여하고, 협업 클라이언트 간에 데이터가 변경되는 시점과 반영되는 시점의 차이로 인해 발생할 수 있는 구성요소 위치의 변동을 수정할 수 있는 협업방법 및 협업장치에 관한 것이다.The present invention relates to a collaborative method and a collaborative apparatus, and more particularly, to a method and apparatus for collaborating a collaborative tool by dividing a collaborative object into independent component units to grant editing authority for each constituent element, The present invention relates to a collaborative method and a collaborative apparatus capable of correcting a variation of a position of a component that may occur due to a difference between a point of time when a change is made and a point of time when a change is reflected.

협업 툴(collaboration tool), 예를 들어 협업 소프트웨어(collaboration software)는, 복수의 협업자 때로는 복수의 협업자를 지휘하는 감독자가 포함될 수 있는 복수의 사용자들이 각기 별개의 로컬 영역(local site)에서 통합된 하나의 프로젝트를 동시에 수행할 수 있도록 만들어 주는 소프트웨어이다. 특히 워드프로세서, 스프레드시트 및 프레젠테이션 소프트웨어를 포함하는 오피스 프로그램에서의 협업 기능은 복수의 사용자들이 모여 작업을 하는 경우 업무 효율을 향상 시켜 빠르고 정확하게 의사 결정을 내릴 수 있게 해 준다. 그리고 점점 많은 사용자들이 협업 기능의 오피스 프로그램을 사용하기 시작하면서 오피스 프로그램의 인기가 증대되고 있다.A collaboration tool, for example collaboration software, is a software application that allows a plurality of users, which may include a plurality of collaborators, and sometimes a supervisor, who directs a plurality of collaborators, to be integrated in a separate local site It is a software that makes it possible to execute one project at the same time. Collaboration features, especially in office programs, including word processors, spreadsheets, and presentation software, allow multiple users to work together to improve business efficiency and make quick and accurate decisions. And as more and more users start to use office programs in collaboration, the popularity of office programs is growing.

협업 기능의 오피스 프로그램의 실용성에도 불구하고, 협업 기능에 있어서 협업자 사이에서 충돌이 발생할 수 있다. 그리고 하나의 통일된 협업의 목적물, 즉 협업 문서 작성에 있어서 이러한 충돌로 인한 시간 지연, 오류, 불일치 등이 협업 기능의 오피스 프로그램에서 해결되어야 할 문제점이다.Despite the practicality of the office program of collaborative functions, conflicts can occur between collaborators in collaborative functions. And the problem of time lag, error, inconsistency due to such conflict in the goal of one unified collaboration, that is, collaborative document creation, should be solved in the office program of collaboration function.

상기 문제점을 해결하기 위하여, 기존에 이미 다양한 협업 플랫폼이 출시되었다. 이러한 기존의 협업 플랫폼에서는 주로 각 부서 또는 개인이 할당된 문서의 일부분을 작성하고, 최종적으로 각 문서의 차이점에 근거하여 상황에 따라 각 문서가 하나로 통합됨으로써 충돌이 방지된다. 기존의 협업 플랫폼은 브라우저 및 서버를 이용하는 구성을 사용하지만, 이는 진정한 의미의 다중 사용자 실시간 협업시스템이 아니다.In order to solve the above problems, various collaboration platforms have already been introduced. In such an existing collaborative platform, mainly, each department or individual creates a part of the assigned document, and finally, each document is integrated into one according to the difference of each document, thereby preventing the collision. Existing collaboration platforms use configurations using browsers and servers, but this is not a true multi-user real-time collaboration system.

현재 비교적 좋은 평가를 받고 있는 협업 플랫폼은 미국 마이크로 소프트에서 출시한 Office 365 클라우드 컴퓨터 오피스 소프트웨어와 미국 구글에서 출시한 구글 문서(Google Docs)의 협업 모듈이다. 이 중에서, 미국 마이크로 소프트에서 출시한 Office 365 클라우드 컴퓨터 오피스 소프트웨어에서 지지하는 협업 방식은 저장 및 업데이트로 이루어지는 방식이다. 즉 여러 명의 사용자가 동시에 하나의 문서를 협업 편집할 시, 현재 사용자가 저장을 실행하면, 비로소 상기 문서에 대한 사용자의 관련 작업이 서버에 업로드 되면서 다른 협업 사용자 측의 문서가 업데이트된다. 각 사용자의 저장 행위에 따라 여러 번전의 문서들이 저장한다.The collaborative platform, which is currently being evaluated relatively well, is a collaborative module of Office 365 cloud computer office software released by Microsoft in USA and Google Docs released by Google in USA. Among them, Office 365 cloud computing office software released by Microsoft in the United States is a collaborative way of storing and updating. That is, when a plurality of users collaboratively edit one document at the same time, when the current user executes the save, the related work of the user for the document is uploaded to the server and the document of the other collaborative user is updated. Depending on the storage behavior of each user, several previous documents are stored.

그런데 이러한 협업 방식에는 두 가지 단점이 있다: 첫째, 한 사용자의 상기 문서에 대한 수정은 피동적으로 서버 상에 업데이트된 것이기 때문에, 각 사용자 측의 정보가 제때에 업데이트되지 않는 상황이 발생하기 쉽다; 둘째, 만약 두 사용자가 문서 내 동일 영역에 대하여 수정한 후 저장을 실행하면, 내용 충돌이 일어날 수 있어, 사용자 입장에서는 그다지 편리하지 못하다.However, there are two disadvantages to this collaborative approach: First, because the modifications of one document to the document are actively updated on the server, it is likely that a situation occurs in which information on each user side is not updated in time; Second, if two users modify the same area in the document and then execute the save, contents collision may occur, which is not very convenient for users.

미국 구글에서 출시한 구글문서(google docs) 중의 협업모듈은 다른 두 가지 협업방식을 사용한다. 초기 구글문서의 협업 모듈에서 사용된 협업 방식은 예정된 시간마다 자동으로 한 번 씩 각 협업 사용자에 의한 편집으로 인한 변화가 문서에 반영되는 것인데, 이러한 협업 방식의 단점은 업데이트 시간이 사용자에게 있어서는 미지한 것이기 때문에, 사용자가 편집하고 있는 과정에서 갑자기 업데이트될 수 있는데, 예를 들면, 글자가 몇 행 적어졌거나 몇 자 많아져, 사용자의 사고 흐름을 방해할 수 있을 뿐만 아니라, 내용 충돌의 가능성도 존재한다.The collaboration module in google docs released by Google in the US uses two other collaborative methods. The collaborative method used in the collaborative module of the initial Google document is that the document automatically reflects the change due to editing by each collaborating user once every predetermined time. The disadvantage of this collaborative method is that the update time is unknown to the user , It can be suddenly updated in the course of editing by the user, for example, a few letters or a few characters in length, which may interfere with the flow of the user's accident, .

후속 구글 문서의 협업 모듈에서 사용된 협업 방식은 진정한 의미의 다중 사용자 간의 실시간 협업으로서 커서를 따라 글자가 업데이트되는 것이다. 구체적으로는, 각 사용자의 브라우저 윈도우에는 동시에 여러 개의 커서가 존재하고, 각 커서는 편집하고 있는 하나의 사용자에 대응하며, 어느 사용자가 상기 문서를 수정해도 모두 글자를 따라 업데이트되어 다른 사용자에게 보여진다. 즉, 각 사용자는 상기 문서에 대한 다른 사용자의 수정과정을 모두 실시간으로 관찰가능하다. 비록 이러한 협업 방식은 비교적 이상적이고 성공적인 것이다.The collaborative approach used in the collaborative modules of subsequent Google documents is a real-time, real-time collaboration between multi-users, in which letters are updated along the cursor. Specifically, there are a plurality of cursors at the same time in each user's browser window, and each cursor corresponds to one user who is editing. Even if a user modifies the document, all of the cursors are updated along with the letters and displayed to other users . That is, each user can observe all of the modification process of the other user with respect to the document in real time. Although this type of collaboration is relatively ideal and successful.

그러나 이러한 협업 방식에는 두 가지 단점이 있다: 첫째, 사용자의 브라우저 윈도우에는 여러 개의 커서가 나타나고, 이러한 커서들은 모두 다른 사용자의 작업에 따라 동태적이다. 이러한 동태적인 커서는 일정 정도에서 사용자의 사고 흐름을 방해할 수 있다. 둘째, 이러한 협업 방식의 실현은 안정적이면서 빠른 속도의 인터넷과 효율이 비교적 높은 브라우저를 필요로 하는데, 일부 비교적 나쁜 실시환경에서는 좋은 효과를 거둘 수 없다.However, this approach to collaboration has two drawbacks: First, multiple cursors appear in the user's browser window, all of which are dynamic depending on the work of the other user. These dynamic cursors can interfere with a user's accident flow at some degree. Second, the realization of this collaborative approach requires a stable, high-speed internet and a relatively high-efficiency browser, which can not be effective in some relatively poor operating environments.

따라서 새로운 기술방안을 고안하여 상기 문제를 해결할 필요가 있다.Therefore, it is necessary to devise a new technology solution and solve the above problem.

먼저 선행기술인 한국공개특허 제10-2014-0028040호(2014.03.07.)는 문서협업 방법을 개시한다.Prior art Korean Laid-Open Patent No. 10-2014-0028040 (Apr. 23, 2014) discloses a document collaboration method.

상기 선행기술은, 복수의 클라이언트 사이에서 다른 클라이언트에 의해 선택되지 않은 문서 단락이 편집될 수 있는 구조를 보인다. 여기서, 문서 단락은 페이지, 제목, 장, 단, 행, 구절, 셀 등을 포함한다.The prior art shows a structure in which a document paragraph not selected by another client among a plurality of clients can be edited. Here, a document paragraph includes a page, a title, a chapter, a paragraph, a line, a phrase, a cell, and the like.

그런데 상기 선행기술의 문제점은 이미 작성된 문서에 편집이 필요한 경우에만 한정된 구조이므로 새로운 문서를 작성하는 시점에서는 선택의 유무에 있어서 그 객체가 존재하지 않으므로 상기 특징이 발휘될 수 없다. 더군다나 문서 단락의 단위가 극히 세부적이어서 사용자가 일정 부분을 맡아 일관되게 편집함에 있어서 제한이 많다. 즉 커서의 위치의 변동에 따라 방금 전에 편집된 부분이 급변할 수 있기 때문이다.However, the problem of the above-described prior art is that it is limited only when editing is required in a document already created, so that the feature can not be exerted because the object does not exist in the presence or absence of selection at the time of creation of a new document. Furthermore, the units of document paragraphs are extremely detailed, so there are a lot of limitations in which a user can take a certain part and consistently edit it. That is, the portion edited just before can be changed rapidly according to the change of the position of the cursor.

또한, 마이크로 소프트웨어, 구글 및 상기 선행기술에서 개시된 협업의 방식들은 모두 중앙 서버에 의한 협업 관리를 포함하고 있다. 이러한 서버를 이용하는 협업 방식은 서버의 처리능력, 네트워크의 속도 및 서버의 운전 상황에 의존해야 하기 때문에 협업 작업 중에 뜻하지 않은 변수가 발생될 수 있다.In addition, microsoft software, Google, and the collaborative approaches disclosed in the prior art all involve collaborative management by a central server. Collaborative methods using these servers depend on the server's processing power, network speed, and server operating conditions, which can lead to unintended variables during collaborative work.

본 발명의 실시 예에 따른 협업방법 및 협업장치는 서버 없이 복수의 협업 클라이언트 구성만으로 협업 작업에서 충돌이 방지될 수 있는 것이 특징이다. 이러한 점에서 본 발명의 실시 예에 따른 협업방법 및 협업장치는, 상기 살펴본 선행기술과 구별되고 상기 선행기술이 갖는 문제점을 해결하기 위해 개시된다.The collaboration method and the collaboration apparatus according to the embodiment of the present invention are characterized in that a collision can be prevented in a collaboration work by only a plurality of collaboration clients without a server. In this respect, the collaboration method and the collaboration apparatus according to the embodiment of the present invention are disclosed to solve the problems of the prior art, which are distinguished from the prior arts described above.

본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 협업 프로젝트의 특성을 살려 독립된 구성요소 별로 편집 권한을 부여함으로써 협업의 능률을 높일 수 있는 협업방법 및 협업장치를 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a collaborative method and a collaborative apparatus capable of enhancing collaboration efficiency by granting editing authority to independent components by taking advantage of the characteristics of collaborative projects.

본 발명이 추가적으로 해결하려는 과제는, 협업 목적물 내에서 데이터가 변경되는 시점과, 변경된 데이터가 반영되는 시점의 차이로 인한 독립된 구성요소의 위치 변동을 조정할 수 있는 협업방법 및 협업장치를 제공하는 것이다.A further object of the present invention is to provide a collaboration method and a collaborative apparatus capable of adjusting a positional variation of an independent component due to a difference between a time at which data is changed in a collaborative object and a time at which the changed data is reflected.

본 발명이 추가적으로 해결하려는 과제는, 협업 중의 데이터 변경, 반영 위치에 관한 정보를 이용하여 협업 중에 발생할 수 있는 충돌을 방지하고 데이터를 체계적으로 관리할 수 있는 협업방법 및 협업장치를 제공하는 것이다.It is a further object of the present invention to provide a collaboration method and a collaborative apparatus that can prevent conflicts that may occur during collaboration and systematically manage data by using information on data change and reflection positions during collaboration.

본 발명의 일 실시 예에 따른 협업방법은, 협업 클라이언트가 자신이 속하는 로컬 영역에서 발생한 협업 목적물의 데이터 변경으로 인한 변경된 데이터를 저장하는 단계; 기존의 독립된 구성요소 및 상기 데이터 변경에 의해 새롭게 생성된 독립된 구성요소에 협업 목적물 내에서의 위치를 나타내는 위치정보(URI)를 부여하는 단계; 상기 위치정보를 이용하여 로컬 영역의 변경된 데이터를 자신 이외의 협업 클라이언트의 협업 목적물에 반영하는 단계를 포함하는 것을 특징으로 한다.A method of collaborating according to an embodiment of the present invention includes: storing changed data due to a change of data of a collaborative object generated in a local area to which a collaborating client belongs; (URI) indicating a position in a collaborative object to an existing independent component and an independent component newly created by the data change; And reflecting the changed data in the local area to the collaboration objects of the collaboration clients other than the local area using the location information.

여기서, 상기 협업 목적물에 반영하는 단계는, 로컬 영역의 변경된 데이터를 자신 이외의 다른 협업 클라이언트에 전송하는 단계; 전송된 상기 데이터에 부여된 위치정보를 이용하여 전송받은 협업 클라이언트에 의해 변경된 데이터의 위치를 고려하여, 상기 데이터가 반영될 협업 목적물 내에서의 상대 위치가 파악되는 단계; 및 상기 위치에 상기 데이터가 반영되도록 협업 목적물이 저장되는 단계를 포함하는 것을 특징으로 한다.The step of reflecting on the collaboration object may include: transmitting changed data of the local area to a collaboration client other than the collaboration client; Determining a relative position in a collaborative object to which the data is to be reflected, taking into account the position of data changed by the cooperative client transmitted using the position information assigned to the transmitted data; And storing the collaboration object so that the data is reflected in the location.

여기서, 상기 상대 위치를 파악하는 단계는, 협업 클라이언트 간에 미리 정해진 약속, 변경된 데이터의 저장 순서 및 변경된 데이터의 전송 순서에 의해 상태 위치를 파악하는 것을 특징으로 한다.Here, the step of grasping the relative position is characterized in that the state position is identified by a predetermined appointment among the collaboration clients, a storage order of the changed data, and a transmission order of the changed data.

여기서, 상기 독립된 구성요소는, 상기 협업 목적물의 구성에 따라 문단, 문장 및 개체를 포함하는 것을 특징으로 한다.Here, the independent component may include a paragraph, a sentence, and an entity according to the configuration of the collaboration object.

여기서, 상기 협업방법은, 전송받은 협업 클라이언트가 전송된 상기 데이터와 자신이 변경한 데이터 간의 상대 위치를 조정하는 단계를 더 포함하는 것을 특징으로 한다.Here, the collaboration method may further include adjusting a relative position between the transmitted data and the data changed by the transmitted collaborative client.

여기서, 상기 상대 위치를 조정하는 단계는, 상기 조정에 의해 협업 목적물에 반영된 변경된 데이터의 위치가 변동되는 경우, 해당 협업 클라이언트부터 승인을 얻는 단계를 더 포함하는 것을 특징으로 한다.The step of adjusting the relative position may further include acquiring approval from the cooperative client when the position of the changed data reflected on the cooperative object changes due to the adjustment.

여기서, 상기 상대 위치를 조정하는 단계는, 전송받은 협업 클라이언트가 상기 조정으로 인한 데이터 변조와 함께 변경된 위치정보의 변경이력을 자신 이외의 협업 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 한다.Here, the step of adjusting the relative position may include transmitting the changed history of the changed location information to the collaborative clients other than the cooperative client, in addition to the data modulation due to the adjustment.

본 발명의 일 실시 예에 따른 협업장치는, 협업 목적물을 생성하기 위한 협업 프로젝트에 참여한 협업 클라이언트의 역할을 수행하고, 협업 클라이언트가 속하는 로컬 영역에서 협업 목적물에 데이터 변경을 발생시키는 협업 모듈; 기존의 독립된 구성요소 및 상기 데이터 변경에 의해 새롭게 생성된 독립된 구성요소에 협업 목적물 내에서의 위치를 나타내는 위치정보를 부여하는 위치정보 모듈; 및 상기 위치정보를 이용하여 로컬 영역의 변경된 데이터를 타 협업 클라이언트의 협업 목적물에 반영하는 반영 모듈을 포함하는 것을 특징으로 한다.A collaboration device according to an embodiment of the present invention includes a collaboration module that performs a role of a collaboration client participating in a collaboration project for creating a collaboration object and generates a data change in a collaboration object in a local area to which the collaboration client belongs; A positional information module for assigning positional information indicating a position in a collaborative object to an existing independent component and an independent component newly generated by the data change; And a reflection module that reflects the changed data of the local area using the location information to the collaboration objects of the other collaboration clients.

여기서, 협업장치는 변경된 데이터를 타 협업 클라이언트에 전송하는 송신부; 및 타 클라이언트로부터 변경된 데이터를 수신하는 수신부를 더 포함하는 것을 특징으로 한다.Here, the collaborative apparatus may include a transmitter for transmitting the changed data to the other collaborative clients; And a receiver for receiving changed data from other clients.

여기서, 협업장치는 수신된 데이터가 반영될 위치를 파악하는 위치파악 모듈; 및 수신된 데이터를 저장하는 저장부를 더 포함하고, 상기 반영 모듈은, 수신된 데이터가 협업의 목적물에 반영되도록 저장부를 제어하는 것을 특징으로 한다.Here, the collaborative device may include a location determination module for determining a location where the received data is to be reflected; And a storage unit for storing the received data, wherein the reflecting module controls the storage unit so that the received data is reflected in the object of collaboration.

여기서, 상기 위치파악 모듈은, 협업 클라이언트 간에 미리 정해진 약속, 변경된 데이터의 저장 순서 및 변경된 데이터의 전송 순서에 의해 상대 위치를 파악하는 것을 특징으로 한다.Here, the location determination module is characterized in that the relative position is determined according to a predetermined schedule, a storage order of changed data, and a transmission order of changed data, among the collaboration clients.

여기서, 상기 독립된 구성요소는, 상기 협업 목적물의 구성에 따라 문단, 문장 및 개체를 포함하는 것을 특징으로 한다.Here, the independent component may include a paragraph, a sentence, and an entity according to the configuration of the collaboration object.

여기서, 상기 반영 모듈은, 수신된 데이터와 로컬 상에서 변경된 데이터 간의 상대 위치를 조정함으로써 수신된 데이터를 변조하는 것을 특징으로 한다.Here, the reflection module modulates the received data by adjusting the relative position between the received data and the data changed locally.

여기서, 상기 송신부 및 수신부는, 상기 조정에 의해 협업 목적물에 반영된 수신된 데이터의 위치가 변동되는 경우, 조정에 대한 승인 요청 및 승낙을 송신 또는 수신하는 것을 특징으로 한다.Here, the transmitting unit and the receiving unit may be configured to transmit or receive an approval request and acceptance for reconciliation when the position of the received data reflected on the collaborative object is changed by the adjustment.

본 발명에 의하면, 협업 프로젝트의 특성을 살려 독립된 구성요소 별로 편집 권한을 부여함으로써 협업의 능률을 높일 수 있다.According to the present invention, efficiency of collaborative work can be enhanced by giving editing authority for each independent component by taking advantage of the characteristics of the collaboration project.

또한, 협업 목적물 내에서 데이터가 변경되는 시점과, 변경된 데이터가 반영되는 시점의 차이로 인한 독립된 구성요소의 위치 변동을 조정할 수 있다.In addition, it is possible to adjust the positional fluctuation of the independent component due to the difference between the time when the data is changed in the collaboration object and the time when the changed data is reflected.

또한, 협업 중의 데이터 변경, 반영 위치에 관한 정보를 이용하여 협업 중에 발생할 수 있는 충돌을 방지하고 데이터를 체계적으로 관리할 수 있다.In addition, by using the information on the data change and the reflecting position during collaboration, conflicts that may occur during collaboration can be prevented and data can be systematically managed.

도 1은 종래의 기술에 따라 서버를 포함하는 협업 시스템에 관한 예시도이다.
도 2는 본 발명의 실시 예에 따른 협업장치를 포함하는 협업 시스템 환경에 관한 예시도이다.
도 3은 도 2에 표시된 협업 시스템 환경에 관해 상세히 표시한 예시도이다.
도 4는 본 발명의 실시 에에 따른 협업장치에 해당하는 협업 클라이언트의 블록도이다.
도 5는 도 4의 제어부를 상세히 표시한 블록도이다.
도 6은 본 발명의 실시 예에 따른 협업장치에 해당하는 컴퓨팅 장치의 블록도이다.
도 7은 본 발명의 실시 예에 따른 협업방법에 관한 흐름도이다.
도 8은 본 발명의 실시 예에 따라 도시적으로 나타낸 협업도이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is an exemplary diagram of a collaboration system including a server according to the prior art; FIG.
2 is an exemplary diagram of a collaborative system environment including a collaboration device according to an embodiment of the present invention.
3 is an exemplary diagram showing details of the collaboration system environment shown in FIG.
4 is a block diagram of a collaboration client corresponding to a collaboration apparatus according to an embodiment of the present invention.
5 is a detailed block diagram of the control unit of FIG.
6 is a block diagram of a computing device corresponding to a collaboration device according to an embodiment of the present invention.
7 is a flowchart of a collaboration method according to an embodiment of the present invention.
Figure 8 is a diagrammatic view of a collaboration that is shown schematically in accordance with an embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 협업방법 및 협업장치에 대한 바람직한 실시 예를 상세히 설명한다.Hereinafter, preferred embodiments of a collaboration method and a collaborative apparatus according to the present invention will be described in detail with reference to the accompanying drawings.

각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.Like reference symbols in the drawings denote like elements. Furthermore, specific structural and functional descriptions for embodiments of the present invention are presented for the purpose of describing an embodiment of the present invention only, and, unless otherwise defined, all terms used herein, including technical or scientific terms Have the same meaning as commonly understood by those of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as ideal or overly formal in the sense of the art unless explicitly defined herein .

이하 본 발명의 실시 예에 따른 협업 시스템에 대해 설명하기로 한다.Hereinafter, a collaboration system according to an embodiment of the present invention will be described.

도 2는 본 발명의 실시 예에 따른 협업장치를 포함하는 협업 시스템 환경에 관한 예시도이다.2 is an exemplary diagram of a collaborative system environment including a collaboration device according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시 예에 따른 협업 시스템 환경(1)은 복수의 협업장치(100), 서버(300), 데이터베이스(310) 및 네트워크(400)를 포함한다.Referring to FIG. 2, a collaborative system environment 1 according to an embodiment of the present invention includes a plurality of collaboration devices 100, a server 300, a database 310, and a network 400.

협업장치(100)는 협업에 참여하는 협업 클라이언트에 해당한다. 협업장치(100)는 사용자 단말(100) 형태일 수 있다. 여기서, 사용자 단말(100)은, 전자문서를 작성하는 장치로서, 전자문서 열람 전용의 뷰어(viewer), 전자문서를 작성하고 편집할 수 있는 전용의 장치, 문서 에디터, 문서편집 장치, 전자 타이프라이터(electric type writer) 또는 문서의 작성 및 편집 이외에 범용의 연산을 수행할 수 있는 컴퓨팅 장치, 단말기(terminal) 및 무선 단말(wireless terminal)을 포함할 수 있다.The collaboration device 100 corresponds to a collaboration client participating in collaboration. The collaboration device 100 may be in the form of a user terminal 100. Here, the user terminal 100 is a device for creating an electronic document, and includes a viewer dedicated for viewing an electronic document, a dedicated device capable of creating and editing an electronic document, a document editor, a document editing device, an electronic typewriter ( an electric type writer, or a computing device, a terminal, and a wireless terminal capable of performing general-purpose operations in addition to creation and editing of a document.

상기 무선 단말의 다양한 실시 예들은 셀룰러 전화기, 무선 통신 기능을 가지는 스마트 폰, 무선 통신 기능을 가지는 개인 휴대용 단말기(PDA), 무선 모뎀, 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 (Gaming) 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 그러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있으나, 이에 한정되는 것은 아니다.Various embodiments of the wireless terminal may be implemented in a cellular phone, a smart phone having wireless communication capability, a personal digital assistant (PDA) having wireless communication capability, a wireless modem, a portable computer having wireless communication capability, A mobile unit that incorporates such a combination of functions, as well as the same imaging device, a gaming device with wireless communication capabilities, music storage and playback appliances with wireless communication capabilities, Internet appliances capable of wireless Internet access and browsing, But are not limited to, terminals.

사용자 단말(100)에 해당하는 본 발명의 실시 예에 따른 협업장치(100)는 본 발명의 실시 예에 따른 협업방법(S100)을 수행하도록 컴퓨터 명령어 셋으로 코드화된 협업 애플리케이션 모듈(175)을 포함하는 파일을 저장한다.The collaboration device 100 according to the embodiment of the present invention corresponding to the user terminal 100 includes a collaboration application module 175 coded in a computer instruction set to perform a collaboration method S100 according to an embodiment of the present invention And save the file.

협업장치(100)는 인스톨되지 않은 상기 협업 애플리케이션 모듈이 저장된 미디어를 읽고, 이를 인스톨하여 협업장치(100) 내에 설치할 수 있다. 상기 미디어는 광학 저장 미디어, 예를 들어 CD-ROM 및 DVD-ROM을 포함한다. 또한, 통합 플랫폼은 서버(300)로부터 내려 받은(downloaded) 바이너리 파일 형태로 제공될 수도 있다. 협업장치(100)는 네트워크(400)를 통해서 서버(300)로부터 각종 파일을 내려 받아 상기 협업 애플리케이션 모듈을 업데이트할 수 있다. 상기 협업장치(100)에 대해 상세히 설명하기로 한다.The collaborative apparatus 100 can read the media in which the collaboration application modules not installed are stored, install the media, and install the media in the collaboration apparatus 100. [ The media includes optical storage media, such as CD-ROM and DVD-ROM. In addition, the integrated platform may be provided in the form of a downloaded binary file from the server 300. The collaboration device 100 can download various files from the server 300 via the network 400 and update the collaboration application module. The collaborative apparatus 100 will now be described in detail.

협업 클라이언트(100)의 수는 최소 하나에서 n개에 해당할 수 있으나, 복수의 협업 클라이언트(100)들이 협업에 참여하는 것이 바람직하다.The number of the collaboration clients 100 may correspond to at least one to n, but it is preferable that a plurality of the collaboration clients 100 participate in collaboration.

협업의 목적물은 예를 들어, 워드프로세서, 스프레드시트, 프레젠테이션 소프트웨어, 즉 오피스 프로그램으로 작성될 수 있는 전자 문서를 포함한다. 또한, 협업의 목적물은 영상물을 포함할 수 있는데, 이 경우 협업 툴은 이미지 리터칭 프로그램, 비디오 편집 프로그램을 포함한다.Objects of collaboration include, for example, word processors, spreadsheets, presentation software, that is, electronic documents that can be written in an office program. In addition, the object of the collaboration may include a video object, in which case the collaboration tool includes an image retouching program and a video editing program.

도 2에는 표시되어 있지 않으나 시스템 환경(1)은 감독 클라이언트(200)를 더 포함할 수 있다. 감독 클라이언트는 협업 클라이언트(100) 중에서 선출된 클라이언트이거나 협업 문서의 기획자 또는 소유자로서 특별한 지위에 있는 사용자가 관리하는 클라이언트일 수 있다. 또는 감독 클라이언트 없이, 복수의 협업 클라이언트(100) 중에서 어느 하나의 협업 클라이언트(100)가 감독 클라이언트의 역할을 대신할 수 있다.Although not shown in FIG. 2, the system environment 1 may further include a supervisory client 200. The supervising client may be an elected client from the collaboration client 100 or a user managed by a user in a special position as an organizer or owner of a collaborative document. One of the plurality of collaboration clients 100 may replace the role of the supervising client without the supervising client.

감독 클라이언트의 수는 하나인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 따라서 감독 클라이언트는 복수로 구성될 수 있다.The number of supervising clients is preferably one, but is not limited thereto. Therefore, the supervising client can be composed of plural.

서버(300)는 파일 서버, 업데이트 서버, FTP 서버, 클라우드 서버, 웹 서버 및 머신 러닝 알고리즘 라이브러리 서버를 포함할 수 있으나 이에 한정되는 것은 아니다. 서버(300)는 사용자 단말(100)이 이용하는 각종 파일, 예를 들어 협업 애플리케이션 파일, 전자문서 파일, 확장 애플리케이션 파일 및 서비스 팩 파일을 저장하고, 사용자 단말의 접속을 허용하여 파일 다운로딩에 의한 상기 파일들의 수신/송신 또는 업데이트를 제공한다.The server 300 may include but is not limited to a file server, an update server, an FTP server, a cloud server, a web server, and a machine learning algorithm library server. The server 300 stores various files used by the user terminal 100, for example, a collaboration application file, an electronic document file, an extended application file, and a service pack file, permits connection of the user terminal, And provides reception / transmission or update of files.

데이터베이스(310)는 문서 데이터, 클라우드 서비스를 위한 데이터, 웹 애플리케이션 데이터 등을 저장하고 이들을 협업장치(100)에 제공한다.The database 310 stores document data, data for a cloud service, web application data, and the like, and provides them to the collaboration device 100.

네트워크(400)는 유선 및 무선 네트워크, 예를 들어 인터넷(internet), 인트라넷(intranet) 및 엑스트라넷(extranet), 셀룰러, 예를 들어 무선 전화 네트워크, LAN(local area network), WAN(wide area network), WiFi 네트워크, 애드혹 네트워크 및 이들의 조합을 비롯한 임의의 적절한 통신 네트워크 일 수 있다.The network 400 may be a wired and wireless network such as the Internet, an intranet and an extranet, a cellular such as a wireless telephone network, a local area network (LAN), a wide area network ), A WiFi network, an ad hoc network, and combinations thereof.

네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다.Network 400 may include connections of network elements such as hubs, bridges, routers, switches and gateways. The network 400 may include one or more connected networks, such as a multi-network environment, including a public network such as the Internet and a private network such as a secure corporate private network.

네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다.Access to the network 400 may be provided via one or more wired or wireless access networks.

복수의 협업 클라이언트(100)와 감독 클라이언트는 서버의 개입 없이 협업 시스템을 구성한다. 예를 들어 협업 클라이언트(100)와 감독 클라이언트는 P2P(Peer-to-peer) 통신 방식을 이용하여 1:1 통신을 할 수 있다. 그 밖에 클라이언트들에 할당된 IP가 고정되어 있는 경우, 협업 클라이언트(100)들은 IP 주소 및 인터넷 프로토콜을 이용하여 서로 통신이 가능하다. 또한, 회사 내에서 LAN에 연결되어 있는 클라이언트 간에는 라우터 또는 게이트웨이를 통해 서로 통신이 가능하다.A plurality of collaboration clients (100) and a supervising client constitute a collaboration system without server intervention. For example, the cooperative client 100 and the supervising client can perform 1: 1 communication using a peer-to-peer (P2P) communication scheme. In addition, when the IPs allocated to the clients are fixed, the collaboration clients 100 can communicate with each other using the IP address and the Internet protocol. In addition, clients connected to the LAN within the company can communicate with each other through a router or a gateway.

본 발명에 따른 일 실시 예에서 협업 클라이언트(100)와 감독 클라이언트는 개인용 컴퓨터, 태블릿, 모바일 디바이스, PDA(personal digital assistant), 스마트폰, 랩톱 컴퓨터, 노트북, 넷북, 게임 디바이스 또는 콘솔, 데스크톱 컴퓨터 또는 스마트 텔레비전을 비롯한 컴퓨팅 디바이스로서 구현될 수 있고, 이에만 한정되는 것은 아니다.In one embodiment consistent with the present invention, the collaboration client 100 and the supervising client may be a personal computer, a tablet, a mobile device, a personal digital assistant (PDA), a smart phone, a laptop computer, a laptop, a netbook, a game device or console, And may be implemented as a computing device, including, but not limited to, a smart television.

협업 클라이언트(100) 및 감독 클라이언트는 하나 이상의 CPU(central processing unit)들, 메모리, 대용량 저장소, 입력 인터페이스 장치, 출력 인터페이스 장치로 구성된 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 시스템의 요소들은 버스를 통해 서로 통신할 수 있다.The collaboration client 100 and the supervising client may comprise a computing system comprised of one or more central processing units (CPUs), a memory, a mass storage, an input interface device, and an output interface device. The elements of the computing system may communicate with each other via a bus.

컴퓨팅 시스템의 하드웨어 플랫폼은 개인용 컴퓨터, 핸드헬드 또는 랩톱 디바이스, 다중 프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가전 제품, 및 이상의 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 예컨대 클라우드 기반 컴퓨팅 시스템을 비롯한 많은 형태들로 구현될 수 있다.The hardware platform of a computing system may be a distributed computing environment, such as a personal computer, a handheld or laptop device, a multiprocessor system, a microprocessor-based system, a programmable consumer electronics product, and any of the above systems or devices, And the like.

도 3은 도 2에 표시된 협업 시스템 환경에 관해 상세히 표시한 예시도이다.3 is an exemplary diagram showing details of the collaboration system environment shown in FIG.

도 3을 참조하면, 협업 시스템 환경(1)은 복수의 협업 클라이언트(100), 서버(300), 데이터베이스(310) 및 네트워크(400)를 포함한다.3, the collaborative system environment 1 includes a plurality of collaboration clients 100, a server 300, a database 310, and a network 400.

협업 클라이언트(100)는 그 내부에 제어부(170)를 포함하고, 제어부(170)는 메모리에 로드된 운영체제 및 협업 애플리케이션 모듈(175)을 포함할 수 있다. 협업 애플리케이션 모듈(175)은 워드프로세서, 스프레드시트, 프레젠테이션 소프트웨어, 즉 오피스 프로그램으로서 협업 기능을 사용자에게 제공한다.The collaboration client 100 may include a control unit 170 therein and the control unit 170 may include an operating system and a collaboration application module 175 loaded in the memory. The collaboration application module 175 provides collaboration functionality to the user as a word processor, spreadsheet, presentation software, or office program.

이하 본 발명의 일 실시 예에 따른 협업장치(100)에 해당하는 협업 클라이언트(100)에 대해 설명하기로 한다.Hereinafter, a collaboration client 100 corresponding to the collaboration device 100 according to an embodiment of the present invention will be described.

도 4는 본 발명의 실시 에에 따른 협업장치에 해당하는 협업 클라이언트의 블록도이다.4 is a block diagram of a collaboration client corresponding to a collaboration apparatus according to an embodiment of the present invention.

도 4를 참조하면, 협업 클라이언트(100)는, 입력 디바이스(input device)(110), 디스플레이 디바이스(display device)(120), 출력 디바이스(output device)(130), 저장 장치(storage device)(140), 통신 장치(communication device)(150), 전원 장치(power device)(160) 및 제어부(control unit)(170)를 포함한다.4, the collaboration client 100 includes an input device 110, a display device 120, an output device 130, a storage device (not shown) 140, a communication device 150, a power device 160, and a control unit 170.

입력 디바이스(110)는 협업 목적물 작성에 필요한 데이터 및 사용자 작업 환경의 각종 파라미터 설정을 위한 정보 입력을 수행하는 키보드, 터치스크린, 마우스, 전자펜 및 음성 입력장치, 예를 들어 마이크로폰을 포함하되, 이에 한정되는 것은 아니다. 실질적으로 사용자 입력을 통해 입력 디바이스(110)는 문자 및 개체를 문서 내에 입력한다. 여기서, 문자는 숫자, 기호 및 공백을 포함하는 개념이고, 개체는 아이콘, 그림, 도형, 표 및 차트와 같은 다양한 종류의 양식 개체를 포함한다.The input device 110 includes a keyboard, a touch screen, a mouse, an electronic pen, and a voice input device, for example, a microphone, for inputting information necessary for creating a collaboration object and information for setting various parameters of the user's work environment But is not limited thereto. Through substantially user input, the input device 110 inputs characters and objects into the document. Here, characters are concepts including numbers, symbols, and spaces, and objects include various kinds of form objects such as icons, pictures, figures, tables, and charts.

디스플레이 디바이스(120)는 협업 목적물 작성을 위한 편집 화면의 프레임 출력을 수행하는 브라운관(cathode-ray tube, CRT), 액정 디스플레이(liquid crystal display, LCD), 플라즈마 디스플레이 패널(plasma display panel, PDP), 발광다이오드 (light emitting diode, LED) 디스플레이, 유기 발광다이오드(organic light emitting diode, OLED) 디스플레이를 포함하되, 이에 한정되는 것은 아니다.The display device 120 may include a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasma display panel (PDP), and a plasma display panel But are not limited to, light emitting diode (LED) displays, organic light emitting diode (OLED) displays, and the like.

출력 디바이스(130)는 프린터, 플로터, 빔프로젝터, 텍스트 음성 변환(text to sound, TTS) 장치와 스피커 및 이어폰을 포함하되, 이에 한정되는 것은 아니다.The output device 130 includes, but is not limited to, a printer, a plotter, a beam projector, a text to sound (TTS) device, a speaker and an earphone.

저장 장치(140)는 협업장치(100)로부터 분리가 가능/불가능한 모든 형태로서, 자기테이프, 자기드럼, 플로피 디스크, ZIP 드라이브 및 하드 디스크 드라이브(hard disk drive, HDD)와 같은 자기 방식의 저장장치, SD 카드, USB 메모리 및 솔리드 스테이트 드라이브(solid state drive, SSD)와 같은 플래시 메모리를 이용하는 전기 방식의 저장장치 및 CD-ROM 드라이브, DVD-ROM 드라이브, 블루레이 디스크(blu-ray disc) 드라이브와 같은 광학 방식의 저장장치를 포함하되, 이에 한정되는 것은 아니다. Storage device 140 may be any type of removable / non-removable storage device such as magnetic tape, magnetic drum, floppy disk, ZIP drive and magnetic storage device such as hard disk drive (HDD) , An electrical storage device and a CD-ROM drive, a DVD-ROM drive, a blu-ray disc drive, and an optical storage device using flash memory such as an SD card, a USB memory and a solid state drive (SSD) But are not limited to, optical storage devices of the same type.

통신 장치(150)는 네트워크(400)의 각종 통신망에 대응하는 통신 모듈, 예를 들어 블루투스 모듈, WiFi 모듈, 이더넷 인터페이스 카드, USB 모듈, 셀룰러 무선통신 모듈, 모뎀 및 무선 공유기를 포함하되, 이에 한정되는 것은 아니다.The communication device 150 includes a communication module corresponding to various communication networks of the network 400, for example, a Bluetooth module, a WiFi module, an Ethernet interface card, a USB module, a cellular wireless communication module, a modem and a wireless router. It is not.

전원 장치(160)는 AC를 DC로 변환하는 파워 서플라이, 어댑터, SMPS와 리튬이온 전지, 납축전지, 연료 전지 및 바이오에탄올 전지와 같은 2차 전지와 1차 전지를 포함하되, 이에 한정되는 것은 아니다.The power supply 160 may include, but is not limited to, a power supply that converts AC to DC, an adapter, a secondary battery such as a SMPS and a lithium ion battery, a lead acid battery, a fuel cell, and a bioethanol battery, and a primary battery .

제어부(170)는 프로세서 및 운영체제와 협업 애플리케이션 모듈(175)에 포함된 다른 모듈들이 로드된 메모리 영역으로 구성되므로, 사용자 명령 또는 자동 실행에 따라 협업 애플리케이션 모듈 내의 제어 명령을 실행한다. 특히, 제어부(170)는 타 클라이언트로부터 수신한 변경된 데이터를 협업의 목적물에 반영하도록 저장부(140)를 제어한다. 즉 협업 클라이언트(100)의 제어부(170)는 저장부(140)로 하여금 타 참가자 클라이언트(100)로부터 수신한 데이터를 저장하도록 제어한다. 이하 제어부(170)에 대해 구체적으로 설명하기로 한다.The control unit 170 includes a memory area in which a processor, an operating system, and other modules included in the collaboration application module 175 are loaded. Therefore, the control unit 170 executes a control command in the collaboration application module according to a user command or an automatic execution. In particular, the control unit 170 controls the storage unit 140 to reflect changed data received from other clients to the object of collaboration. That is, the control unit 170 of the collaboration client 100 controls the storage unit 140 to store the data received from the other participant client 100. Hereinafter, the control unit 170 will be described in detail.

도 5는 도 4의 제어부를 상세히 표시한 블록도이다.5 is a detailed block diagram of the control unit of FIG.

도 5를 참조하면, 제어부(170)는 프로세서(central processing unit, CPU)와, 운영체제 및 본 발명의 실시 예에 따른 협업방법에 관한 협업 애플리케이션 모듈(175)이 로드된 메모리(176)를 포함한다. 구체적으로 제어부(170)는 메모리(1764) 영역에서, 본 발명의 실시 예에 따른 협업방법을 수행하는 컴퓨터 명령어 셋이 포함된 협업 모듈(171), 위치정보 모듈(172), 반영 모듈(174) 및 위치파악 모듈(174)을 포함한다. 제어부(170)는 본 발명의 실시 예에 따른 협업방법이 구현되도록 협업장치(100) 내의 각 구성요소 및 모듈들을 제어한다.5, the control unit 170 includes a central processing unit (CPU), a memory 176 in which an operating system and a collaboration application module 175 relating to a collaboration method according to an embodiment of the present invention are loaded . Specifically, the control unit 170 includes a collaboration module 171, a position information module 172, a reflection module 174, and a memory module 174. The collaboration module 171 includes a set of computer instructions for performing a collaboration method according to an embodiment of the present invention, And a location module 174. The control unit 170 controls each component and modules in the collaboration apparatus 100 so that a collaboration method according to an embodiment of the present invention is implemented.

구체적으로 제어부(170)는 협업장치(100)가 입력 디바이스(110)를 통해 사용자 입력을 받아 협업방법에 따른 협업 목적물 작성 프로세스, 작성된 협업 목적물을 나타내는 디스플레이(120)를 통한 화면 프레임의 출력 프로세스, 출력 디바이스(130)를 통한 작성된 협업 목적물, 예를 들어 문서를 종이 위에 출력하거나 음성으로 출력하는 프로세스, 작성된 협업 목적물을 저장 장치(140)에 저장하는 프로세스, 작성에 필요한 각종 데이터를 수신하거나 작성된 협업 목적물을 통신 장치(150)를 이용하여 네트워크(400)를 통해 서버(300) 또는 외부 단말에 전송하는 프로세스 및 전원 장치(160)를 통한 파워 공급 프로세스를 제어부(170) 내에 구성된 프로세서(CPU), 운영체제(OS) 및 본 발명의 실시 예에 따른 협업방법에 관한 컴퓨터 명령어 셋을 포함하는 협업 애플리케이션 모듈(175)이 로드된 메모리를 이용하여 제어한다.Specifically, the control unit 170 receives a user input through the input device 110 through the input device 110, generates a collaboration object according to the collaboration method, a process of outputting a screen frame through the display 120 indicating the created collaboration object, A process of outputting a collaborative object created through the output device 130, for example, outputting or outputting a document on paper, storing the created collaborative object in the storage device 140, receiving various data necessary for creation, A process of transferring a target object to the server 300 or the external terminal via the network 400 using the communication device 150 and a process of supplying power through the power source device 160 to the processor 300, A collaborative application that includes an operating system (OS) and a set of computer instructions related to a collaboration method in accordance with an embodiment of the present invention Controls using a memory module 175 is loaded.

운영 체제(176)는 협업 클라이언트(100) 및 감독 클라이언트의 동작을 제어하기 위한 컴퓨터 프로그램이다. 운영 체제(176)는 그 예로서, 유선 및 모바일 디바이스의 운영 체제, 예를 들어 MS 윈도우, 유닉스, 리눅스, XOS, 안드로이드, iOS 운영 체제를 포함하고, 다만 이에만 한정되는 것은 아니다.The operating system 176 is a computer program for controlling the operation of the collaboration client 100 and the supervising client. The operating system 176 includes, but is not limited to, an operating system of a wired and mobile device, such as MS Windows, Unix, Linux, XOS, Android, iOS operating systems.

협업 애플리케이션 모듈(175)은 본 발명에 기술된 것과 같은 다양한 기능을 제공하기 위해 운영 체제(175) 상에서 실행되도록 구성된 실행가능 프로그램이다. 협업 애플리케이션 모듈(175)은 상술한 바와 같이 협업 기능이 포함된 오피스 프로그램, 이미지 리터칭 프로그램 및 동영상 편집 프로그램을 포함한다.The collaboration application module 175 is an executable program configured to run on the operating system 175 to provide various functions as described in the present invention. The collaboration application module 175 includes an office program, an image retouching program, and a moving picture editing program including a collaboration function as described above.

협업 애플리케이션 모듈(175)은 협업 모듈(171), 위치정보 모듈(172), 반영 모듈(174) 및 위치파악 모듈(174)을 포함한다. 협업 애플리케이션 모듈(175)이 포함하는 각종 모듈들(171 내지 174)에 대한 자세한 설명은 후술하기로 한다.The collaboration application module 175 includes a collaboration module 171, a location information module 172, a reflection module 174, and a location module 174. A detailed description of the various modules 171 to 174 included in the collaboration application module 175 will be described later.

도 4 및 도 5에 도시된 협업 클라이언트(100) 구성에서 협업 애플리케이션 모듈 내의 구성은 설명의 편의를 위해 기능적으로 구분한 구성으로, 하드웨어적으로는 하나의 프로세서에 의해 처리되는 논리적인 기능으로 구성될 수 있는 것으로, 제시된 구분에 의해 본 발명을 한정하는 것은 아니다.In the configuration of the collaboration client 100 shown in FIG. 4 and FIG. 5, the configuration in the collaborative application module is configured to be functionally separated for the convenience of description, and configured to be a logical function that is processed by one processor in terms of hardware And that the present invention is not limited by the given division.

또한, 각 구성간의 연결 관계가 연결선으로 도시되어 있거나, 상호 간의 연결 관계가 일일이 표현되어 있지 않지만, 연결선이 도시되지 않은 구성 간에도 제어 또는 데이터 교환을 위한 통신, 전달이 발생될 수 있으며, 제시된 바에 의해서만 본 발명을 한정하는 것은 아니다.In addition, the connection relationship between the respective components is shown as a connection line, or the connection relationship between the components is not expressed individually, but communication or transmission for control or data exchange may occur between configurations in which the connection line is not shown. The present invention is not limited thereto.

컴퓨팅 장치(500)에 해당하는 본 발명의 실시 예에 따른 협업장치(100)는 다른 실시 예를 통해 보다 구체적으로 설명될 수 있다.The collaboration device 100 according to the embodiment of the present invention corresponding to the computing device 500 may be described in further detail through other embodiments.

도 6은 본 발명의 다른 실시 예에 따른 협업장치의 블록도이다.6 is a block diagram of a collaboration apparatus according to another embodiment of the present invention.

도 6을 참조하면, 컴퓨팅 장치(500)에 해당하는 협업장치(100)는 입력 인터페이스 장치(510), 출력 인터페이스 장치(520), 메모리(531), 저장장치(532), 전원 장치(540), 프로세서(550), 네트워크 인터페이스 장치(560), 무선통신 장치(570) 및 버스(580)를 포함한다.6, the collaboration device 100 corresponding to the computing device 500 includes an input interface device 510, an output interface device 520, a memory 531, a storage device 532, a power supply device 540, A processor 550, a network interface device 560, a wireless communication device 570, and a bus 580.

입력 인터페이스 장치(510)는 사용자의 입력에 따라 문서작성에 필요한 문자 또는 개체를 입력한다. 입력 인터페이스 장치(510)는 키보드(keyboard), 터치스크린(touch screen), 마우스(mouse), 전자펜(stylus pen) 및 펜 태블릿(pen tablet)을 포함하되, 이에 한정되는 것은 아니다.The input interface device 510 inputs characters or objects necessary for document creation according to the input of the user. The input interface device 510 includes, but is not limited to, a keyboard, a touch screen, a mouse, a stylus pen, and a pen tablet.

출력 인터페이스 장치(520)는 문서 에디터 관련 사용자 인터페이스 등을 표시하는 디스플레이(display) 및 문서를 프린트 출력하는 프린터(printer)를 포함한다. 또한, 출력 인터페이스 장치(520)는 문서 내의 문자를 음성합성(text to speech, TTS) 엔진을 이용하여 음성으로 출력하는 스피커(speaker), 헤드폰(head-phone) 및 헤드셋(head-set)을 포함한다.The output interface device 520 includes a display for displaying a user interface related to a document editor and a printer for printing out a document. The output interface device 520 also includes a speaker, a head-phone, and a head-set for outputting the characters in the document by voice using a text to speech (TTS) engine. do.

프로세서(550)는 메모리(531) 및/또는 저장 장치(532)에 저장된 본 발명의 실시 예에 따른 협업방법에 관한 협업 애플리케이션 모듈(175)이 포함하고 있는 컴퓨터 명령어 셋을 실행할 수 있다. 프로세서(550)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(531)와 저장 장치(532)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(531)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.The processor 550 may execute a set of computer instructions contained in the memory 531 and / or the collaboration application module 175 relating to the collaboration method according to an embodiment of the present invention stored in the storage device 532. [ The processor 550 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which the methods according to the present invention are performed. The memory 531 and the storage device 532 may be composed of a volatile storage medium and / or a non-volatile storage medium. For example, the memory 531 may be comprised of read only memory (ROM) and / or random access memory (RAM).

무선통신 장치(570)는 근거리 무선통신, 무선 데이터 통신 및 무선 음성 통신을 위한 장치를 포함한다.The wireless communication device 570 includes devices for short-range wireless communication, wireless data communication, and wireless voice communication.

협업장치(100)에 해당하는 컴퓨팅 장치(500)에 포함된 각각의 구성 요소들은 버스(580)에 의해 연결되어 서로 통신을 수행한다.Each component included in the computing device 500 corresponding to the collaborative device 100 is connected by a bus 580 and communicates with each other.

이하 상기 설명한 협업장치(10)가 협업 애플리케이션 모듈에 포함된 컴퓨터 명령어 셋의 연산을 통해 실행하는 본 발명의 실시 예에 따른 협업방법에 대해 도 4, 도 7 및 도 8을 참조하여 설명하기로 한다. 본 발명의 실시 예에 따른 협업방법(S100)은 S100 내지 S142 단계를 포함한다.A method of collaborating according to an embodiment of the present invention, in which the above-described collaborative apparatus 10 is executed through computation of a computer instruction set included in a collaborative application module, will be described with reference to FIGS. 4, 7 and 8 . The collaborative method (SlOO) according to the embodiment of the present invention includes steps S100 to S142.

먼저, 협업 클라이언트(100)가 자신이 속하는 로컬 영역에서 발생한 협업 목적물의 데이터 변경으로 인한 변경된 데이터를 저장한다(S110). 구체적으로 협업 모듈(171)은 협업 클라이언트(100)의 동작에 의해 발생한 협업 목적물의 데이터 변경, 예를 들어 텍스트 및/또는 개체의 추가, 변경 및/또는 삭제로 인한 협업 목적물의 데이터 변화를 로컬 영역의 저장 장치(140)에 저장한다.First, the collaborative client 100 stores changed data due to a change in data of a collaborative object generated in a local area to which the collaborative client 100 belongs (S110). Specifically, the collaboration module 171 transmits data changes of the collaboration objects generated by the operation of the collaboration client 100, for example, data changes of collaboration objects due to addition, change, and / or deletion of text and / In the storage device 140 of FIG.

협업 모듈(171)은 협업 애플리케이션 모듈 (175)의 기능 중에서 협업 목적물을 작성하는 데 사용되는 기능을 갖는 프로그램 모듈을 가리킨다. 협업 모듈(171)은 협업의 목적물에 데이터 변경들을 발생시킨다. 즉 협업 모듈(171)의 동작으로 인해 협업의 결과로서 협업 목적물의 데이터는 증가 및 감소 즉 변경된다. 협업 모듈(171)이 발생시키는 데이터 변경에 대해 예를 들어 설명하기로 한다.The collaboration module 171 refers to a program module having a function used to create a collaboration object among the functions of the collaboration application module 175. [ The collaboration module 171 generates data changes to the objects of the collaboration. That is, due to the operation of the collaboration module 171, the data of the collaboration object as a result of collaboration is increased and decreased or changed. The data change generated by the collaboration module 171 will be described by way of example.

도 8은 본 발명의 실시 예에 따라 도시적으로 나타낸 협업도이다.Figure 8 is a diagrammatic view of a collaboration that is shown schematically in accordance with an embodiment of the present invention.

도 8을 참조하면, 협업 시스템 환경(1)에서 #C1, #C2 및 #C3의 협업 클라이언트 ID를 갖는 협업 클라이언트(100)들이 협업 목적물인 문서 ID, #D1의 문서를 협업하여 작성하는 협업 프로젝트가 도식적으로 나타나 있다. 협업 클라이언트 ID, 문서 ID를 포함하여 본 발명에서 설명된 각종 정보는 협업 목적물, 예를 들어 협업에 의해 생성된 문서 파일의 헤더 부분에 저장된다.8, in the collaborative system environment 1, the collaborative clients 100 having the collaborative client IDs # C1, # C2, and # C3 collaborate to create collaborative documents of documents ID # D1, Is shown schematically. The various information described in the present invention including the collaboration client ID and the document ID are stored in the header part of the document file generated by the collaboration object, for example, collaboration.

S110 단계에서 협업 모듈(171)은 #C2 협업 클라이언트의 로컬 영역에서 #D1 문서 내에 #P1 문단을 생성하는 데이터 변경을 발생시킨다. #P1 문단에는 데이터 변경의 주체를 나타내는 정보 #C2, 문단 식별 ID #P1, 위치정보 #U0 가 협업 목적물의 헤더 파일에 포함된다.In step S110, the collaboration module 171 generates a data change that creates a # P1 paragraph in the # D1 document in the local area of the # C2 collaboration client. In the # P1 paragraph, the information # C2 indicating the subject of data change, the paragraph identification ID # P1, and the location information # U0 are included in the header file of the collaboration object.

다음으로, 위치정보 모듈(172)이 기존의 독립된 구성요소 및/또는 상기 데이터 변경에 협업 목적물 내에서의 위치를 나타내는 위치정보(uniform resource identifier, URI)를 부여한다(S120). 다시 도 8을 참조하면, #C2 협업 클라이언트에 의해 발생된 데이터 변경은 #U0의 위치정보를 갖는 문단(#P1)을 생성한다.Next, the location information module 172 gives a uniform resource identifier (URI) indicating the location of the existing independent component and / or the data change in the collaboration object (S120). Referring back to FIG. 8, the data change generated by the # C2 collaboration client generates a paragraph # P1 having location information of # U0.

다음으로, 반영 모듈(173)은 위치정보를 이용하여 로컬 영역의 변경된 데이터를 자신 이외의 협업 클라이언트의 협업 목적물에 반영한다(S130). S130 단계에서 주체가 #C2 협업 클라이언트에서 #C1 협업 클라이언트로 변경된다. 본 발명의 실시 예는 협업장치에 의한 협업방법에 의한 것이고, 여기서 협업장치(100)는 서로 동일한 구성을 갖는 #C1 내지 #C3의 협업 클라이언트 모두에 적용된다. S130 단계에 대해 구체적으로 설명하기로 한다. 협업 목적물에 반영하는 단계(S130)는 S131 내지 S132 단계를 포함한다.Next, the reflecting module 173 uses the location information to reflect the changed data in the local area to the collaborative objects of the collaboration clients other than itself (S130). In step S130, the subject is changed from the # C2 collaborative client to the # C1 collaborative client. The embodiment of the present invention is based on a collaborative method by a collaborative apparatus, wherein the collaborative apparatus 100 is applied to all of the collaborative clients # C1 to # C3 having the same configuration. Step S130 will be described in detail. Step S130 of reflecting on the collaborative object includes steps S131 to S132.

먼저, 송신부(151)가 로컬 영역의 변경된 데이터를 자신 이외의 다른 협업 클라이언트에 전송한다(S131). 즉, 송신부(151)는 로컬 영역에 저장된 변경된 데이터를 타 협업 클라이언트, 도 8에서 #C1, #C3 협업 클라이언트들에 전송한다.First, the transmission unit 151 transmits the changed data of the local area to the collaboration clients other than itself (S131). That is, the transmitting unit 151 transmits the changed data stored in the local area to the other collaboration clients, the collaboration clients # C1 and # C3 in FIG.

다음으로, 전송된 상기 데이터에 부여된 위치정보를 이용하여 전송받은 협업 클라이언트에 의해 변경된 데이터의 위치를 고려하여, 상기 데이터가 반영될 협업 목적물 내에서의 상대 위치가 위치파악 모듈(174)에 의해 파악된다(S132). 도 8을 참조하면, 위치파악 모듈(174)은 #C1 협업 클라이언트의 로컬 영역에 있는 문서 내에서 #P1 문단이 자리 잡을 위치를 #U0로 파악한다. 즉, #C2 협업 클라이언트의 로컬 영역에서 발생된 #P1 문단에 관한 데이터 변경의 위치정보는 #U0이고, #C1 협업 클라이언트의 로컬 영역으로 전송된 후에도 #U0의 위치정보는 원칙적으로 유지된다.Next, the relative position in the collaboration object to which the data is to be reflected is determined by the position determination module 174 in consideration of the position of the data changed by the cooperative client transmitted using the position information attached to the transmitted data (S132). Referring to FIG. 8, the location determination module 174 recognizes the location where the # P1 paragraph is located in the document in the local area of the # C1 collaboration client as # U0. That is, the location information of the data change regarding the # P1 paragraph generated in the local area of the # C2 collaborative client is # U0, and the location information of the # U0 is kept in principle even after being transmitted to the local area of the # C1 collaborative client.

다음으로, 저장 장치(140)는 상기 위치에 상기 데이터가 반영되도록 협업 목적물을 저장한다(S133). 본 발명의 실시 예에서 '반영'이라는 용어는 로컬 영역에서 발생된 데이터 변경이, 변경 주체 외의 타 협업 클라이언트의 영역, 즉 외부 영역에 전송되고, 각 클라이언트의 로컬 영역에 있는 협업 목적물이 전송된 데이터 변경에 의해 최종 업데이트되어 전체 협업 클라이언트가 동일한 협업 목적물을 저장하는 과정을 의미한다. 따라서 반영 과정 이전에 수신된 데이터는 임시저장소에 저장될 수 있다.Next, the storage device 140 stores the collaboration object so that the data is reflected at the location (S133). In the embodiment of the present invention, the term " reflected " means that the data change generated in the local area is transmitted to the area of another collaborative client other than the subject of change, that is, the outer area, The last update by the change means that the entire collaboration client stores the same collaboration object. Therefore, the data received before the reflection process can be stored in the temporary storage.

또한, 상기 상대 위치를 파악하는 단계(S132)는, 협업 클라이언트 간에 미리 정해진 약속, 변경된 데이터의 저장 순서 및 변경된 데이터의 전송 순서에 의해 상태 위치를 파악하는 것을 특징으로 한다. 미리 정해진 약속이란, 예를 들어 #C1, #C2, 및 #C3 협업 클라이언트 사이에 #P1, #P2, 및 #P3 문단의 작성이 논의되고, 각자 해당 문단을 작성하기로 약속한 경우에 각 문단의 생성 순서에 상관없이 각 문단이 갖는 위치정보는 #U0, #U1, 및 #U3으로 각각 정해질 수 있다.In addition, the step of obtaining the relative position (S132) is characterized in that the state position is determined by the appointment predetermined by the collaboration clients, the order of storing changed data, and the order of transmission of changed data. The predefined appointment is a process in which, for example, the creation of the paragraphs # P1, # P2, and # P3 between the collaboration clients # C1, # C2, and # C3 is discussed, The positional information of each paragraph can be defined as # U0, # U1, and # U3, respectively.

변경된 데이터의 저장 순서와 전소 순서는, 변경된 데이터가 발생한 로컬 영역에 있는 때를 기준으로 하는지 또는 전송 후에 반영된 후를 기준으로 하는지에 관한 것이다. 서로 간의 우선 순위에서 반영 시점이 빠른 데이터 변경이 우선하는 것이 원칙이다.The order of storage and ordering of the changed data is based on whether the changed data is in the local area where the changed data is generated or whether the changed data is based on the data after the transmission. It is a principle that priority is given to data change with quick reflection time.

그리고 데이터 변경과 관련하여, 상기 독립된 구성요소는, 상기 협업 목적물의 구성에 따라 문단, 문장 및 개체를 포함하는 것을 특징으로 한다. 그리고 협업에 참여하는 협업 클라이언트 각각은 독립된 구성요소 별로 부여된 권한을 소유한다. 예를 들어 #C2 협업자 클라이언트가 #P1의 문단을 생성하는 데이터 변경을 발생시킨 경우에, #P1 문단의 편집 권한 및 위치정보를 변경할 수 있는 권한은 #C2 협업 클라이언트에 있다. 다만 이는 하나의 예에 해당할 뿐이고, 문단을 더 작은 요소로 나누어 문장 별로 권한이 부여될 수도 있다. 다만, 일반적으로 협업 프로젝트를 구성하는 경우, 프로젝트에 참여하는 멤버들 사이에는 구성요소의 최소 단위를 문단으로 하는 경우가 보통이다. 그리고 권한 있는 클라이언트 외의 클라이언트는 권한 있는 클라이언트 소유의 구성요소를 편집하거나 위치를 변경시키기 위해서 권한 위임을 받거나 권한을 이전받아야 한다. 이에 대한 자세한 것은 차차 설명하기로 한다.And, regarding the data change, the independent component is characterized by including a paragraph, a sentence and an object according to the configuration of the collaboration object. Each collaborative client that participates in the collaboration has the authority assigned to each independent component. For example, if a # C2 collaborator client encounters a data change that generates a paragraph of # P1, the # C2 collaborative client has the right to change the editing rights and location information of the # P1 paragraph. However, this is only an example, and the paragraph may be divided into smaller elements, which may be given authority by sentence. However, when constructing a collaborative project in general, it is a common practice among members participating in a project that the minimum unit of a component is a paragraph. Clients other than the authoritative client must be delegated or authorized to edit or relocate components owned by the authoritative client. The details of this will be explained in detail.

개체는 일반적인 테스트 외의 그림, 차트, 그래프 및 그림을 포함하는 OLE 객체를 의미한다. 따라서 텍스트에 부여된 권한과 텍스트 내에 포함된 개체에 부여된 권한의 주체는 서로 다를 수 있다. 이는 보통 그래픽 작업을 하는 멤버가 따로 구성되는 것을 반영한다.An object is an OLE object that contains pictures, charts, graphs, and pictures other than the typical test. Thus, the permissions granted to the text and the permissions granted to the objects contained within the text may differ. This usually reflects the fact that the members of the graphic work are organized separately.

다음으로, 협업장치(100)는 전송받은 협업 클라이언트가 전송된 상기 데이터와 자신이 변경한 데이터 간의 상대 위치를 조정한다(S140). 다시 도 8을 참조하면, 원칙적으로 #C2 협업 클라이언트로부터 전송된 데이터에 관한 #P1 문단은 #U0의 위치정보를 갖는다. 이 경우 #C1 협업 클라이언트는 새로운 문단 #P2를 생성하고 이에 관한 데이터 변경을 발생시킨다. 그리고 변경된 데이터와 관련된 #P2 문단은 #P1 문단에 앞에 위치하게 된다. 따라서 일단 로컬 영영 내에서 #P1 문단의 위치정보는 #U0에서 #U1으로 변경된다. 즉, 로컬 영역에서 변경된 데이터 간의 상대 위치가 조정된다.Next, the collaborative apparatus 100 adjusts the relative position between the transmitted data and the data changed by the cooperative client 100 (S140). Referring back to FIG. 8, in principle, the # P1 paragraph on the data transmitted from the # C2 collaborative client has the location information of # U0. In this case, the # C1 collaborative client generates a new paragraph # P2 and causes a data change on it. The # P2 paragraph associated with the changed data is placed in front of the # P1 paragraph. Therefore, once in the local area, the location information of the # P1 paragraph is changed from # U0 to # U1. That is, the relative position between the changed data in the local area is adjusted.

상기 조정에 의해 협업 목적물에 반영된 변경된 데이터의 위치가 변동되는 경우, S140 단계는 해당 협업 클라이언트부터 승인을 얻는 단계(S141)를 더 포함하는 것을 특징으로 한다. 이 과정에서 협업장치(100)의 송신부(151) 및 수신부(152)는 승인에 필요한 승인 요청 정보 및 요청 승낙 정보를 송신 및 수신한다.If the position of the changed data reflected in the collaboration object is changed by the adjustment, step S140 may further include obtaining approval from the corresponding collaboration client (S141). In this process, the transmitting unit 151 and the receiving unit 152 of the collaborative apparatus 100 transmit and receive the approval request information and the request acceptance information required for the approval.

송신부(151)는 변경된 데이터를 타 클라이언트에 전송한다. 예를 들어 설명하면, 협업 클라이언트(100) 중에서 적어도 어느 하나의 협업 클라이언트(100)의 송신부(151)는 해당 데이터 변경들에 따른 변경된 데이터들을 자신 이외의 타 협업 클라이언트들에 전송된다.The transmission unit 151 transmits the changed data to the other clients. For example, the transmitting unit 151 of at least one of the cooperative clients 100 among the cooperative clients 100 transmits the changed data according to the corresponding data changes to other cooperative clients.

수신부(152)는 타 클라이언트로부터 변경된 데이터를 수신한다. 예를 들어 설명하면, 감독 클라이언트는 참가자 클라이언트 측에서 발생된 변경된 데이터를 해당 참가자 클라이언트(100)로부터 수신하고, 타 참가자 클라이언트(100)는 다시 이를 감독 클라이언트로부터 수신한다.The receiving unit 152 receives changed data from another client. For example, the supervising client receives the changed data generated from the participant client side from the participant client 100, and the other participant client 100 again receives the data from the supervising client.

또한, 상대 위치를 조정하는 단계(S140)는, 전송받은 협업 클라이언트가 상기 조정으로 인한 데이터 변조와 함께 변경된 위치정보의 변경이력을 자신 이외의 협업 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 한다. 다시 도 9를 참조하면, #C2 협업 클라이언트에 의해 생성된 #P1 문단은 위치정보로 #U0#U1을, 생성 클라이언트 및 변조 클라이언트에 관한 정보인 #C2#C1을 포함한다.In addition, the step (S140) of adjusting the relative position may include transmitting the changed history of the changed position information to the collaborative client other than itself, together with the data modulation due to the adjustment by the cooperative client. Referring again to FIG. 9, the # P1 paragraph generated by the # C2 collaboration client includes # U0 # U1 as location information and # C2 # C1 as information related to the creating client and the modulation client.

그 밖에 제어부(170)는 프로세서 및 운영체제와 협업 애플리케이션 모듈(175)에 포함된 다른 모듈들이 로드된 메모리 영역으로 구성되므로, 사용자 명령 또는 자동 실행에 따라 협업 애플리케이션 모듈 내의 제어 명령을 실행한다. 특히, 제어부(170)는 타 클라이언트로부터 수신한 변경된 데이터를 협업의 목적물에 반영하도록 저장부(140)를 제어한다. 즉 협업 클라이언트(100)의 제어부(170)는 저장부(140)로 하여금 타 참가자 클라이언트(100)로부터 수신한 데이터를 저장하도록 제어한다.In addition, since the control unit 170 is constituted by a memory area into which the processor, the operating system, and other modules included in the collaboration application module 175 are loaded, the control unit 170 executes a control command in the collaboration application module according to a user command or an automatic execution. In particular, the control unit 170 controls the storage unit 140 to reflect changed data received from other clients to the object of collaboration. That is, the control unit 170 of the collaboration client 100 controls the storage unit 140 to store the data received from the other participant client 100.

이처럼, 본 발명의 실시 예에 따르면, 협업 프로젝트의 특성을 살려 독립된 구성요소 별로 편집 권한을 부여함으로써 협업의 능률을 높일 수 있다.As described above, according to the embodiment of the present invention, efficiency of collaborative work can be enhanced by giving editing authority for each independent component by taking advantage of characteristics of collaboration projects.

또한, 협업 목적물 내에서 데이터가 변경되는 시점과, 변경된 데이터가 반영되는 시점의 차이로 인한 독립된 구성요소의 위치 변동을 조정할 수 있다.In addition, it is possible to adjust the positional fluctuation of the independent component due to the difference between the time when the data is changed in the collaboration object and the time when the changed data is reflected.

또한, 협업 중의 데이터 변경, 반영 위치에 관한 정보를 이용하여 협업 중에 발생할 수 있는 충돌을 방지하고 데이터를 체계적으로 관리할 수 있다.In addition, by using the information on the data change and the reflecting position during collaboration, conflicts that may occur during collaboration can be prevented and data can be systematically managed.

이상으로 본 발명은 도면에 도시된 실시 예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 판단되어야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand the point. Accordingly, the technical scope of the present invention should be determined by the following claims.

100: 협업장치, 협업 클라이언트
110: 입력 디바이스
120: 디스플레이 디바이스
130: 출력 디바이스
140: 저장 장치
150: 통신 장치
160: 전원 장치
170: 제어부
171: 협업 모듈
172: 위치정보 모듈
173: 반영 모듈
174: 위치파악 모듈
175: 메모리에 로드된 협업 애플리케이션 모듈
176: 메모리에 로드된 운영체제
177: 메모리
300: 서버
310: 데이터베이스
400: 네트워크
500: 컴퓨팅 장치
510: 입력 인터페이스 장치
520: 출력 인터페이스 장치
531: 메모리
532: 저장장치
540: 전원 장치
550: 프로세서
560: 네트워크 인터페이스 장치
570: 무선통신 장치
580: 버스
100: Collaborative device, collaborative client
110: input device
120: Display device
130: output device
140: Storage device
150: Communication device
160: Power supply
170:
171: Collaboration module
172: Location information module
173: Reflection module
174: Location module
175: Collaborative application module loaded into memory
176: Operating system loaded into memory
177: Memory
300: server
310: Database
400: Network
500: computing device
510: input interface device
520: output interface device
531: Memory
532: Storage device
540: Power supply unit
550: Processor
560: Network interface device
570: Wireless communication device
580: Bus

Claims (14)

협업 클라이언트가 자신이 속하는 로컬 영역에서 발생한 협업 목적물의 데이터 변경으로 인한 변경된 데이터를 저장하는 단계;
기존의 독립된 구성요소 및/또는 상기 데이터 변경에 협업 목적물 내에서의 위치를 나타내는 위치정보(URI)를 부여하는 단계;
상기 위치정보를 이용하여 로컬 영역의 변경된 데이터를 자신 이외의 협업 클라이언트의 협업 목적물에 반영하는 단계를 포함하는 것을 특징으로 하는, 협업 방법.
Storing changed data due to a change in data of a collaboration object generated in a local area to which the collaboration client belongs;
Providing existing independent components and / or location information (URI) indicating a location in the collaboration object to the data modification;
And reflecting the changed data in the local area to the collaboration objects of the collaboration clients other than itself using the location information.
청구항 1에 있어서,
상기 협업 목적물에 반영하는 단계는,
로컬 영역의 변경된 데이터를 자신 이외의 다른 협업 클라이언트에 전송하는 단계;
전송된 상기 데이터에 부여된 위치정보를 이용하여 전송받은 협업 클라이언트에 의해 변경된 데이터의 위치를 고려하여, 상기 데이터가 반영될 협업 목적물 내에서의 상대 위치가 파악되는 단계; 및
상기 위치에 상기 데이터가 반영되도록 협업 목적물이 저장되는 단계를 포함하는 것을 특징으로 하는, 협업방법.
The method according to claim 1,
Wherein the step of reflecting on the collaboration object comprises:
Transmitting changed data of a local area to a collaboration client other than itself;
Determining a relative position in a collaborative object to which the data is to be reflected, taking into account the position of data changed by the cooperative client transmitted using the position information assigned to the transmitted data; And
And storing the collaboration object so that the data is reflected in the location.
청구항 2에 있어서,
상기 상대 위치를 파악하는 단계는,
협업 클라이언트 간에 미리 정해진 약속, 변경된 데이터의 저장 순서 및 변경된 데이터의 전송 순서에 의해 상태 위치를 파악하는 것을 특징으로 하는, 협업방법.
The method of claim 2,
Wherein the step of determining the relative position comprises:
Wherein the state location is identified by a predetermined agreement between the collaboration clients, a storage order of the changed data, and a transmission order of the changed data.
청구항 1에 있어서,
상기 독립된 구성요소는,
상기 협업 목적물의 구성에 따라 문단, 문장 및 개체를 포함하는 것을 특징으로 하는, 협업방법.
The method according to claim 1,
Said independent component comprising:
And a paragraph, a sentence and an object in accordance with the configuration of the collaboration object.
청구항 2에 있어서,
상기 협업방법은,
전송받은 협업 클라이언트가 전송된 상기 데이터와 자신이 변경한 데이터 간의 상대 위치를 조정하는 단계를 더 포함하는 것을 특징으로 하는, 협업방법.
The method of claim 2,
The collaboration method includes:
Further comprising the step of adjusting a relative position of the transmitted collaborative client with the transmitted data and the data changed by the collaborative client.
청구항 3에 있어서,
상기 상대 위치를 조정하는 단계는,
상기 조정에 의해 협업 목적물에 반영된 변경된 데이터의 위치가 변동되는 경우, 해당 협업 클라이언트부터 승인을 얻는 단계를 더 포함하는 것을 특징으로 하는, 협업방법.
The method of claim 3,
Wherein the step of adjusting the relative position comprises:
Further comprising the step of obtaining approval from the collaboration client when the position of the changed data reflected in the collaboration object by the adjustment is changed.
청구항 6에 있어서,
상기 상대 위치를 조정하는 단계는,
전송받은 협업 클라이언트가 상기 조정으로 인한 데이터 변조와 함께 변경된 위치정보의 변경이력을 자신 이외의 협업 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는, 협업방법.
The method of claim 6,
Wherein the step of adjusting the relative position comprises:
And transmitting the modified history of the changed location information to the collaborative client other than the cooperative client, when the transmitted collaborative client changes the data due to the adjustment.
협업 목적물을 생성하기 위한 협업 프로젝트에 참여한 협업 클라이언트의 역할을 수행하고,
협업 클라이언트가 속하는 로컬 영역에서 협업 목적물에 데이터 변경을 발생시키는 협업 모듈;
기존의 독립된 구성요소 및/또는 상기 데이터 변경에 협업 목적물 내에서의 위치를 나타내는 위치정보를 부여하는 위치정보 모듈; 및
상기 위치정보를 이용하여 로컬 영역의 변경된 데이터를 타 협업 클라이언트의 협업 목적물에 반영하는 반영 모듈을 포함하는 것을 특징으로 하는, 협업장치.
The role of the collaboration client participating in the collaboration project to create the collaboration object,
A collaboration module for generating a data change in a collaboration object in a local area to which the collaboration client belongs;
A positional information module for assigning existing independent components and / or positional information indicating a position in a collaboration object to the data change; And
And a reflecting module that reflects the changed data of the local area using the location information to the collaboration objects of the other collaboration clients.
청구항 8에 있어서,
변경된 데이터를 타 협업 클라이언트에 전송하는 송신부; 및
타 클라이언트로부터 변경된 데이터를 수신하는 수신부를 더 포함하는 것을 특징으로 하는, 협업장치.
The method of claim 8,
A transmission unit for transmitting the changed data to the other collaboration clients; And
Further comprising: a receiver for receiving changed data from another client.
청구항 9에 있어서,
수신된 데이터가 반영될 위치를 파악하는 위치파악 모듈; 및
수신된 데이터를 저장하는 저장부를 더 포함하고,
상기 반영 모듈은,
수신된 데이터가 협업의 목적물에 반영되도록 저장부를 제어하는 것을 특징으로 하는, 협업장치.
The method of claim 9,
A position determination module for determining a position at which the received data is to be reflected; And
And a storage unit for storing the received data,
The reflection module includes:
And controls the storage unit so that the received data is reflected in the object of collaboration.
청구항 10에 있어서,
상기 위치파악 모듈은,
협업 클라이언트 간에 미리 정해진 약속, 변경된 데이터의 저장 순서 및 변경된 데이터의 전송 순서에 의해 상대 위치를 파악하는 것을 특징으로 하는, 협업장치.
The method of claim 10,
The location determination module,
Wherein the collaborative apparatus grasps the relative position according to a predetermined appointment among the collaboration clients, a storage order of the changed data, and a transmission order of the changed data.
청구항 8에 있어서,
상기 독립된 구성요소는,
상기 협업 목적물의 구성에 따라 문단, 문장 및 개체를 포함하는 것을 특징으로 하는, 협업장치.
The method of claim 8,
Said independent component comprising:
And a paragraph, a sentence and an object in accordance with the configuration of the collaboration object.
청구항 9에 있어서,
상기 반영 모듈은,
수신된 데이터와 로컬 상에서 변경된 데이터 간의 상대 위치를 조정함으로써 수신된 데이터를 변조하는 것을 특징으로 하는, 협업장치.
The method of claim 9,
The reflection module includes:
And modulates the received data by adjusting a relative position between the received data and the locally changed data.
청구항 13에 있어서,
상기 송신부 및 수신부는,
상기 조정에 의해 협업 목적물에 반영된 수신된 데이터의 위치가 변동되는 경우, 조정에 대한 승인 요청 및 승낙을 송신 또는 수신하는 것을 특징으로 하는, 협업장치.
14. The method of claim 13,
The transmission unit and the reception unit,
And when the position of the received data reflected on the collaboration object by the adjustment is changed, transmits or receives an approval request and approval for adjustment.
KR1020170165851A 2017-12-05 2017-12-05 Collaboration method and apparatus KR101999322B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170165851A KR101999322B1 (en) 2017-12-05 2017-12-05 Collaboration method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170165851A KR101999322B1 (en) 2017-12-05 2017-12-05 Collaboration method and apparatus

Publications (2)

Publication Number Publication Date
KR20190066276A true KR20190066276A (en) 2019-06-13
KR101999322B1 KR101999322B1 (en) 2019-07-11

Family

ID=66847442

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170165851A KR101999322B1 (en) 2017-12-05 2017-12-05 Collaboration method and apparatus

Country Status (1)

Country Link
KR (1) KR101999322B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046858A (en) * 2002-06-28 2004-02-12 Microsoft Corp Method for resolving document object collision
KR20040090867A (en) * 2003-04-18 2004-10-27 (주)아이펜텍 Method for Generating XSL Style Sheet by Using Gravity Layer Rules
KR20100107710A (en) * 2009-03-26 2010-10-06 충남대학교산학협력단 Geometric modeling system based on peer to peer
KR101746477B1 (en) * 2016-06-28 2017-06-14 주식회사 한글과컴퓨터 Document collaboration apparatus for supporting simultaneous style editing of objects and operating method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046858A (en) * 2002-06-28 2004-02-12 Microsoft Corp Method for resolving document object collision
KR20040090867A (en) * 2003-04-18 2004-10-27 (주)아이펜텍 Method for Generating XSL Style Sheet by Using Gravity Layer Rules
KR20100107710A (en) * 2009-03-26 2010-10-06 충남대학교산학협력단 Geometric modeling system based on peer to peer
KR101746477B1 (en) * 2016-06-28 2017-06-14 주식회사 한글과컴퓨터 Document collaboration apparatus for supporting simultaneous style editing of objects and operating method thereof

Also Published As

Publication number Publication date
KR101999322B1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
US11070543B2 (en) Multi-persona management and devices
US11509729B2 (en) Field service management mobile offline synchronization
CN107491296B (en) Messaging application interfacing with one or more extension applications
CN105190617B (en) Cooperative system with the blank access to global collaboration data
JP6013594B2 (en) Locally assisted cloud-based storage
US10216755B2 (en) Multi-master text synchronization using deltas
CN102819531B (en) A kind of cloud reading service system, cloud reading service method and apparatus
EP3646168B1 (en) Code review rebase diffing
JP2011502303A (en) Private view of data and local computation during real-time collaboration
KR20140028040A (en) Document collaboration method
US11899627B1 (en) Recent file synchronization and aggregation methods and systems
US20140090084A1 (en) Collaborative comic creation
JP2015527646A (en) Determining the preferred modified version from multiple modified versions for synchronized files
CN101855629A (en) Collaborative authoring
NO331310B1 (en) Procedure for initiating server-based collaboration on email attachments.
CN102508840A (en) Concurrent editing of online drawings
US11080241B2 (en) Document collaboration
EP4131054A1 (en) Document editing method and apparatus, computer device and storage medium
CN112654995A (en) Tracking content attribution in online collaborative electronic documents
US20210019705A1 (en) Method and apparatus for sharing data across groups
US11804954B2 (en) Encryption key management for an automated workflow
TW201528005A (en) Employing presence information in notebook application
CN112286890A (en) Method and equipment for synchronizing revision information of target document
KR101999322B1 (en) Collaboration method and apparatus
US10984392B2 (en) Providing multi-session event invitation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right