KR101926566B1 - 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법 - Google Patents

다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR101926566B1
KR101926566B1 KR1020170132946A KR20170132946A KR101926566B1 KR 101926566 B1 KR101926566 B1 KR 101926566B1 KR 1020170132946 A KR1020170132946 A KR 1020170132946A KR 20170132946 A KR20170132946 A KR 20170132946A KR 101926566 B1 KR101926566 B1 KR 101926566B1
Authority
KR
South Korea
Prior art keywords
electronic document
editing
lock key
document
processing server
Prior art date
Application number
KR1020170132946A
Other languages
English (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 KR1020170132946A priority Critical patent/KR101926566B1/ko
Application granted granted Critical
Publication of KR101926566B1 publication Critical patent/KR101926566B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • G06F17/24
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Document Processing Apparatus (AREA)

Abstract

다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법이 개시된다. 본 발명은 문서 공동 편집 시스템 상에서 유저들에 의해 문서 저장소 상에 저장되어 있는 전자 문서에 대한 편집 명령이 생성되면, 전자 문서를 잠금 상태로 변환하기 위한 잠금 키를 생성하여 해당 전자 문서를 잠금 상태로 설정해서 특정 유저에 의해서 생성된 편집 명령만이 상기 전자 문서에 반영되도록 하고, 편집 명령의 반영이 완료되면, 상기 전자 문서에 대한 잠금 상태를 해제하여 다른 유저들에 의해 생성된 편집 명령도 전자 문서 상에 반영될 수 있도록 하는 편집 명령 처리 서버 장치 및 그 동작 방법을 제공함으로써, 하나의 전자 문서에 다수의 편집 명령들이 동시에 적용되어야 하는 상황이 발생하더라도 각 편집 명령들이 순차적으로 전자 문서 상에 반영되도록 데이터 입출력(I/O)을 처리하여 안정적으로 전자 문서 상에 편집 명령들이 적용될 수 있도록 지원할 수 있다.

Description

다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법{EDITING COMMAND PROCESSING SERVER APPARATUS FOR PERFORMING EDITING COMMAND PROCESSING IN A DOCUMENT COLLABORATIVE EDITING SYSTEM HAVING A MULTI-SERVER ENVIRONMENT AND OPERATING METHOD THEREOF}
본 발명은 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들 중 어느 하나로 속해 있는 편집 명령 처리 서버 장치 및 그 동작 방법에 대한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다.
최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 다수의 유저들이 서버 상에 저장되어 있는 하나의 전자 문서에 대해 실시간으로 동시 편집이 가능하도록 하는 문서 공동 편집 시스템이 도입되고 있다.
이러한 문서 공동 편집 시스템은 문서 저장소 상에 저장되어 있는 전자 문서에 대해 각 유저들이 생성한 서로 다른 편집 명령들을 각 유저의 클라이언트 단말로부터 수신해서 해당 전자 문서에 적용하기 위해서, 각 유저들의 편집 명령을 처리하기 위한 복수의 편집 명령 처리 서버 장치들로 구성될 수 있다.
상기 복수의 편집 명령 처리 서버 장치들은 문서 공동 편집에 참가한 다수의 유저들에 의해서 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하는 동작을 수행하도록 구성된다.
보통, 문서 공동 편집 시스템에서는 하나의 전자 문서에 여러 편집 명령들이 동시에 적용되어야 하는 상황이 발생할 수 있는데, 복수의 편집 명령 처리 서버 장치들이 하나의 전자 문서에 여러 편집 명령들을 동시에 적용하기 위해서, 해당 전자 문서에 동시에 액세스하게 되면, 상기 전자 문서가 저장되어 있는 문서 저장소에 대한 트래픽 증가로 인해 시스템 부하가 가중되는 문제가 발생할 수 있고, 편집 명령들의 저장 순서가 뒤바뀜으로 인해 저장 중 오류가 발생하거나 해당 오류에 따라 사용자의 원래 의도와 다른 결과물이 도출되는 문제가 발생할 수 있다.
따라서, 문서 공동 편집 시스템에서 하나의 전자 문서에 적용되어야 하는 편집 명령들이 다수개 발생하였더라도 상기 문서 공동 편집 시스템 상에 존재하는 복수의 편집 명령 처리 서버 장치들이 상기 다수개의 편집 명령들을 하나씩 상기 전자 문서 상에 반영하도록 하는 스케줄링 기법을 도입함으로써, 다수의 유저들에 의해서 발생한 동시 편집 명령들이 상기 전자 문서 상에 안정적으로 반영될 수 있도록 하는 기법에 대한 연구가 필요하다.
본 발명은 문서 공동 편집 시스템 상에서 유저들에 의해 문서 저장소 상에 저장되어 있는 전자 문서에 대한 편집 명령이 생성되면, 전자 문서를 잠금 상태로 변환하기 위한 잠금 키를 생성하여 해당 전자 문서를 잠금 상태로 설정해서 특정 유저에 의해서 생성된 편집 명령만이 상기 전자 문서에 반영되도록 하고, 편집 명령의 반영이 완료되면, 상기 전자 문서에 대한 잠금 상태를 해제하여 다른 유저들에 의해 생성된 편집 명령도 전자 문서 상에 반영될 수 있도록 하는 편집 명령 처리 서버 장치 및 그 동작 방법을 제공함으로써, 하나의 전자 문서에 다수의 편집 명령들이 동시에 적용되어야 하는 상황이 발생하더라도 각 편집 명령들이 순차적으로 전자 문서 상에 반영되도록 데이터 입출력(I/O)을 처리하여 안정적으로 전자 문서 상에 편집 명령들이 적용될 수 있도록 한다.
본 발명의 일실시예에 따른 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들(상기 복수의 편집 명령 처리 서버 장치들 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있음)중 어느 하나로 속해 있는 편집 명령 처리 서버 장치는 상기 편집 명령 처리 서버 장치에 편집 명령의 처리 대상으로 할당되어 있는 적어도 하나의 유저 중 제1 유저에 의해 상기 문서 저장소 상에 저장되어 있는 제1 전자 문서에 대한 제1 편집 명령이 생성되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부를 확인하는 잠금 상태 확인부, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환하는 잠금 상태 변환부, 상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 전자 문서에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장하는 편집 명령 처리부 및 상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고 상기 제1 잠금 키를 폐기하는 잠금 해제부를 포함한다.
또한, 본 발명의 일실시예에 따른 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들(상기 복수의 편집 명령 처리 서버 장치들 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있음)중 어느 하나로 속해 있는 편집 명령 처리 서버 장치의 동작 방법은 상기 편집 명령 처리 서버 장치에 편집 명령의 처리 대상으로 할당되어 있는 적어도 하나의 유저 중 제1 유저에 의해 상기 문서 저장소 상에 저장되어 있는 제1 전자 문서에 대한 제1 편집 명령이 생성되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부를 확인하는 단계, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환하는 단계, 상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 전자 문서에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장하는 단계 및 상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고 상기 제1 잠금 키를 폐기하는 단계를 포함한다.
본 발명은 문서 공동 편집 시스템 상에서 유저들에 의해 문서 저장소 상에 저장되어 있는 전자 문서에 대한 편집 명령이 생성되면, 전자 문서를 잠금 상태로 변환하기 위한 잠금 키를 생성하여 해당 전자 문서를 잠금 상태로 설정해서 특정 유저에 의해서 생성된 편집 명령만이 상기 전자 문서에 반영되도록 하고, 편집 명령의 반영이 완료되면, 상기 전자 문서에 대한 잠금 상태를 해제하여 다른 유저들에 의해 생성된 편집 명령도 전자 문서 상에 반영될 수 있도록 하는 편집 명령 처리 서버 장치 및 그 동작 방법을 제공함으로써, 하나의 전자 문서에 다수의 편집 명령들이 동시에 적용되어야 하는 상황이 발생하더라도 각 편집 명령들이 순차적으로 전자 문서 상에 반영되도록 데이터 입출력(I/O)을 처리하여 안정적으로 전자 문서 상에 편집 명령들이 적용될 수 있도록 지원할 수 있다.
도 1은 본 발명에 따른 편집 명령 처리 서버 장치의 동작을 설명하기 위한 문서 공동 편집 시스템을 개략적으로 도시한 시스템 구성도이다.
도 2는 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
도 1은 본 발명에 따른 편집 명령 처리 서버 장치의 동작을 설명하기 위한 문서 공동 편집 시스템을 개략적으로 도시한 시스템 구성도이다.
도 1을 참조하면, 문서의 동시 편집을 지원하는 문서 공동 편집 시스템은 문서 공동 편집의 대상이 되는 복수의 전자 문서들을 저장하고 있는 문서 저장소(130)와 복수의 유저들에 의해서 생성된 편집 명령들을 문서 저장소(130) 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들(111, 112, 113) 및 전자 문서를 잠금 상태로 변환시키기 위한 잠금 키가 저장되는 잠금 키 저장소(140)로 구성될 수 있다.
이때, 복수의 편집 명령 처리 서버 장치들(111, 112, 113) 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있을 수 있다.
이하에서는 설명의 편의를 위해, 복수의 편집 명령 처리 서버 장치들(111, 112, 113)이 편집 명령 처리 서버 장치 1(111), 편집 명령 처리 서버 장치 2(112), 편집 명령 처리 서버 장치 3(113)으로 존재하는 것으로 가정하기로 한다.
그리고, 편집 명령 처리 서버 장치 1(111), 편집 명령 처리 서버 장치 2(112), 편집 명령 처리 서버 장치 3(113)에는 편집 명령의 처리 대상이 되는 적어도 하나의 유저가 할당되어 있을 수 있는데, 편집 명령 처리 서버 장치 1(111)에 유저 1(121)이, 편집 명령 처리 서버 장치 2(112)에 유저 2(122)가, 편집 명령 처리 서버 장치 3(113)에 유저 3(123)이 할당되어 있는 것으로 가정하기로 한다.
또한, 유저 1(121)과 유저 2(122)는 문서 저장소(130) 상에 저장되어 있는 전자 문서들 중 '전자 문서 1'에 대해 공동 편집을 수행하는 유저라고 하고, 유저 3(123)은 '전자 문서 2'에 대해 편집을 수행하는 유저라고 가정하기로 한다.
또한, 문서 저장소(130)에 저장되어 있는 '전자 문서 1'과 '전자 문서 2'에는 각각 문서 저장소(130)에 저장되어 있는 다른 전자 문서들과 구분되기 위한 고유의 식별자로 '식별자 1'과 '식별자 2'가 할당되어 있다고 가정한다.
만약, 유저 1(121)에 의해서 '전자 문서 1'에 적용되어야 하는 '편집 명령 1'이 생성되었고, 유저 2(122)에 의해 '전자 문서 1'에 적용되어야 하는 '편집 명령 2'가 생성되었고, 유저 3(122)에 의해 '전자 문서 2'에 적용되어야 하는 편집 명령 3'이 생성되었으며, '편집 명령 1'과 '편집 명령 2'는 동시에 생성됨에 따라 '전자 문서 1'에 동시에 반영되어야 하는 편집 명령이라고 하는 경우, 편집 명령 처리 서버 장치 1(111)은 잠금 키 저장소(140)에 액세스하여 '전자 문서 1'을 잠금 상태로 설정하기 위한 '잠금 키 1'이 저장되어 있는지 확인할 수 있고, 편집 명령 처리 서버 장치 2(112)도 잠금 키 저장소(140)에 액세스하여 '전자 문서 1'을 잠금 상태로 설정하기 위한 '잠금 키 1'이 저장되어 있는지 확인할 수 있으며, 편집 명령 처리 서버 장치 3(113)은 잠금 키 저장소(140)에 액세스하여 '전자 문서 2'를 잠금 상태로 설정하기 위한 '잠금 키 2'가 저장되어 있는지 확인할 수 있다.
우선, 편집 명령 처리 서버 장치 1(111)의 동작에 대해 설명하면 다음과 같다.
만약, 편집 명령 처리 서버 장치 1(111)이 잠금 키 저장소(140)에 '잠금 키 1'이 저장되어 있는지 확인한 결과, '잠금 키 1'이 저장되어 있지 않은 것으로 확인되었다면, 편집 명령 처리 서버 장치 1(111)은 문서 저장소(130) 상에 저장되어 있는 '전자 문서 1'이 편집 가능한 잠금 해제 상태인 것으로 확인하고, '전자 문서 1'에 대한 편집 권한이 할당된 '잠금 키 1'을 생성한 후 '잠금 키 1'을 기초로 '전자 문서 1'에 대한 편집 제한 설정을 수행하여 '전자 문서 1'을 잠금 상태로 변환함과 동시에 '잠금 키 1'을 잠금 키 저장소(140)에 저장할 수 있다.
이때, 본 발명의 일실시예에 따르면, 편집 명령 처리 서버 장치 1(111)는 '전자 문서 1'에 할당되어 있는 '식별자 1'을 선정된(predetermined) 잠금 키 생성 함수에 입력으로 인가하여 '잠금 키 1'을 생성할 수 있고, '잠금 키 1'이 생성되면, '전자 문서 1'를 구성하는 데이터의 선정된 지점에 '잠금 키 1'을 구성하는 데이터를 삽입함으로써, '전자 문서 1'에 대한 편집 제한 설정을 수행하여 '전자 문서 1'을 잠금 상태로 변환할 수 있다.
이때, '전자 문서 1'은 '잠금 키 1'에 기초하여 잠금 상태로 변환되면, '전자 문서 1'을 구성하는 데이터의 상기 선정된 지점에 삽입된 '잠금 키 1'과 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 '전자 문서 1' 상에 적용 가능하도록 설정될 수 있다.
이렇게, '전자 문서 1'이 잠금 상태로 변환되면, 편집 명령 처리 서버 장치 1(111)은 '잠금 키 1'을 기초로 '전자 문서 1'에 대한 편집 권한을 획득하여 '전자 문서 1'에 대해 '편집 명령 1'을 적용한 후 '편집 명령 1'이 적용된 '전자 문서 1'을 문서 저장소(130) 상에 재저장할 수 있다.
이때, '전자 문서 1'은 앞서 설명한 바와 같이, '잠금 키 1'에 의해 잠금 상태로 전환되어, '전자 문서 1'을 구성하는 데이터의 상기 선정된 지점에 삽입된 '잠금 키 1'과 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 '전자 문서 1' 상에 적용 가능하도록 설정된 상태이기 때문에 편집 명령 처리 서버 장치 1(111)을 통해서 입력되는 '편집 명령 1'만이 '전자 문서 1'에 적용될 수 있으며, 유저 1(121)이 아닌 다른 유저들에 의해서 생성된 편집 명령들은 '전자 문서 1'에 적용될 수 없게 된다.
이렇게, '전자 문서 1'에 '편집 명령 1'의 적용이 완료되면, 편집 명령 처리 서버 장치 1(111)은 '잠금 키 1'을 기초로 '전자 문서 1'의 잠금 상태를 해제하고, 잠금 키 저장소(140) 상에 저장되어 있는 '잠금 키 1'을 삭제함으로써, '잠금 키 1'을 폐기할 수 있다.
이를 통해, 편집 명령 처리 서버 장치 1(111)은 유저 1(121)에 의해서 생성된 '편집 명령 1'을 '전자 문서 1'에 적용할 수 있으며, '편집 명령 1'이 '전자 문서 1'에 적용되는 동안, '전자 문서 1'을 잠금 상태로 설정해 놓음으로써, 다른 유저들에 의해서 생성된 '전자 문서 1'에 적용되어야 하는 다른 편집 명령들에 대해서는 '전자 문서 1'에 대한 액세스를 제한한 후 '전자 문서 1'에 '편집 명령 1'의 적용이 완료되면, '전자 문서 1'의 잠금 상태를 해제하여, 다른 편집 명령들이 '전자 문서 1'에 적용될 수 있도록 처리할 수 있다.
한편, 편집 명령 처리 서버 장치 2(112)도 잠금 키 저장소(140)에 '잠금 키 1'이 저장되어 있는지 확인한 결과, 편집 명령 처리 서버 장치 1(111)이 먼저 '잠금 키 1'을 생성해서 '전자 문서 1'을 잠금 상태로 변환함에 따라, 잠금 키 저장소(140) 상에 '잠금 키 1'이 저장되어 있는 것으로 확인되었다면, 편집 명령 처리 서버 장치 2(112)는 '전자 문서 1'이 편집 불가능한 잠금 상태인 것으로 확인한 후 '전자 문서 1'이 편집 가능한 잠금 해제 상태로 확인될 때까지 선정된 주기 간격으로 잠금 키 저장소(140) 상에 '잠금 키 1'이 저장되어 있는지 확인함으로써, '전자 문서 1'이 편집 가능한 잠금 해제 상태인지 여부에 대한 확인을 반복 수행할 수 있다.
여기서, 편집 명령 처리 서버 장치 1(111)이 편집 명령 처리 서버 장치 2(112)보다 빨리 '전자 문서 1'에 대해 잠금 상태로 설정한 것은 설명의 편의를 위해서 가정한 상황일 뿐이며, 어떤 편집 명령 처리 서버 장치가 먼저 전자 문서에 대해서 잠금 상태로 설정할 수 있는지에 대한 것은 각 편집 명령 처리 서버 장치의 잠금 키 저장소(140)에 대한 액세스 순서에 따라서 결정되는 것으로, 해당 순서는 네트워크 환경, 각 편집 명령 처리 서버 장치에서의 데이터 트래픽, 각 편집 명령 처리 서버 장치의 성능 등에 따라 변경될 수 있다.
만약, 편집 명령 처리 서버 장치 1(111)이 '전자 문서 1'에 '편집 명령 1'의 적용을 완료함에 따라 잠금 키 저장소(140)에서 '잠금 키 1'을 삭제한 이후, 편집 명령 처리 서버 장치 2(112)가 잠금 키 저장소(140)에 '잠금 키 1'이 저장되어 있는지 확인하는 주기가 되면, 편집 명령 처리 서버 장치 2(112)는 잠금 키 저장소(140) 상에 '잠금 키 1'이 저장되어 있지 않은 것으로 확인할 수 있고, 이를 통해 편집 명령 처리 서버 장치 2(112)는 문서 저장소(130) 상에 저장되어 있는 '전자 문서 1'이 편집 가능한 잠금 해제 상태인 것으로 확인할 수 있다.
그러고 나서, 편집 명령 처리 서버 장치 2(112)는 '전자 문서 1'에 대해 유저 2(122)에 의해서 생성된 '편집 명령 2'의 적용을 처리하기 위해, '전자 문서 1'에 대한 편집 권한이 할당된 '잠금 키 1'을 생성한 후 '잠금 키 1'을 기초로 '전자 문서 1'에 대한 편집 제한 설정을 수행하여 '전자 문서 1'을 잠금 상태로 변환함과 동시에 '잠금 키 1'을 잠금 키 저장소(140)에 저장할 수 있다.
이때, 본 발명의 일실시예에 따르면, 편집 명령 처리 서버 장치 2(112)는 '전자 문서 1'에 할당되어 있는 '식별자 1'을 상기 선정된 잠금 키 생성 함수에 입력으로 인가하여 '잠금 키 1'을 생성할 수 있고, '잠금 키 1'이 생성되면, '전자 문서 1'를 구성하는 데이터의 상기 선정된 지점에 '잠금 키 1'을 구성하는 데이터를 삽입함으로써, '전자 문서 1'에 대한 편집 제한 설정을 수행하여 '전자 문서 1'을 잠금 상태로 변환할 수 있다.
이때, '전자 문서 1'은 '잠금 키 1'에 기초하여 잠금 상태로 변환되면, '전자 문서 1'을 구성하는 데이터의 상기 선정된 지점에 삽입된 '잠금 키 1'과 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 '전자 문서 1' 상에 적용 가능하도록 설정될 수 있다.
이렇게, '전자 문서 1'이 잠금 상태로 변환되면, 편집 명령 처리 서버 장치 2(112)은 '잠금 키 1'을 기초로 '전자 문서 1'에 대한 편집 권한을 획득하여 '전자 문서 1'에 대해 '편집 명령 2'를 적용한 후 '편집 명령 2'가 적용된 '전자 문서 1'을 문서 저장소(130) 상에 재저장할 수 있다.
이때, '전자 문서 1'은 앞서 설명한 바와 같이, '잠금 키 1'에 의해 잠금 상태로 전환되어, '전자 문서 1'을 구성하는 데이터의 상기 선정된 지점에 삽입된 '잠금 키 1'과 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 '전자 문서 1' 상에 적용 가능하도록 설정된 상태이기 때문에 편집 명령 처리 서버 장치 2(112)를 통해서 입력되는 '편집 명령 2'만이 '전자 문서 1'에 적용될 수 있으며, 유저 2(122)가 아닌 다른 유저들에 의해서 생성된 편집 명령들은 '전자 문서 1'에 적용될 수 없게 된다.
이렇게, '전자 문서 1'에 '편집 명령 2'의 적용이 완료되면, 편집 명령 처리 서버 장치 2(112)는 '잠금 키 1'을 기초로 '전자 문서 1'의 잠금 상태를 해제하고, 잠금 키 저장소(140) 상에 저장되어 있는 '잠금 키 1'을 삭제함으로써, '잠금 키 1'을 폐기할 수 있다.
이를 통해, 편집 명령 처리 서버 장치 2(112)는 유저 2(122)에 의해서 생성된 '편집 명령 2'를 '전자 문서 1'에 적용할 수 있으며, '편집 명령 2'가 '전자 문서 1'에 적용되는 동안, '전자 문서 1'을 잠금 상태로 설정해 놓음으로써, 다른 유저들에 의해서 생성된 '전자 문서 1'에 적용되어야 하는 다른 편집 명령들에 대해서는 '전자 문서 1'에 대한 액세스를 제한한 후 '전자 문서 1'에 '편집 명령 2'의 적용이 완료되면, '전자 문서 1'의 잠금 상태를 해제하여, 다른 편집 명령들이 '전자 문서 1'에 적용될 수 있도록 처리할 수 있다.
마지막으로, 편집 명령 처리 서버 장치 3(113)은 잠금 키 저장소(140)에 '잠금 키 2'가 저장되어 있는지 확인한 결과, 잠금 키 저장소(140)에 '잠금 키 2'가 저장되어 있지 않은 것으로 확인되었다면, 문서 저장소(130) 상에 저장되어 있는 '전자 문서 2'가 편집 가능한 잠금 해제 상태인 것으로 확인하고, '전자 문서 2'에 대한 편집 권한이 할당된 '잠금 키 2'를 생성한 후 '잠금 키 2'를 기초로 '전자 문서 2'에 대한 편집 제한 설정을 수행하여 '전자 문서 2'를 잠금 상태로 변환함과 동시에 '잠금 키 2'를 잠금 키 저장소(140)에 저장할 수 있다.
이때, 본 발명의 일실시예에 따르면, 편집 명령 처리 서버 장치 3(113)는 '전자 문서 2'에 할당되어 있는 '식별자 2'를 상기 선정된 잠금 키 생성 함수에 입력으로 인가하여 '잠금 키 2'를 생성할 수 있고, '잠금 키 2'가 생성되면, '전자 문서 2'를 구성하는 데이터의 선정된 지점에 '잠금 키 2'를 구성하는 데이터를 삽입함으로써, '전자 문서 2'에 대한 편집 제한 설정을 수행하여 '전자 문서 2'를 잠금 상태로 변환할 수 있다.
이때, '전자 문서 2'는 '잠금 키 2'에 기초하여 잠금 상태로 변환되면, '전자 문서 2'를 구성하는 데이터의 상기 선정된 지점에 삽입된 '잠금 키 2'와 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 '전자 문서 2' 상에 적용 가능하도록 설정될 수 있다.
이렇게, '전자 문서 2'가 잠금 상태로 변환되면, 편집 명령 처리 서버 장치 3(113)은 '잠금 키 2'를 기초로 '전자 문서 2'에 대한 편집 권한을 획득하여 '전자 문서 2'에 대해 '편집 명령 3'을 적용한 후 '편집 명령 3'이 적용된 '전자 문서 2'를 문서 저장소(130) 상에 재저장할 수 있다.
이때, '전자 문서 2'는 앞서 설명한 바와 같이, '잠금 키 2'에 의해 잠금 상태로 전환되어, '전자 문서 2'를 구성하는 데이터의 상기 선정된 지점에 삽입된 '잠금 키 2'와 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 '전자 문서 2' 상에 적용 가능하도록 설정된 상태이기 때문에 편집 명령 처리 서버 장치 3(113)을 통해서 입력되는 '편집 명령 3'만이 '전자 문서 2'에 적용될 수 있으며, 유저 3(123)이 아닌 다른 유저들에 의해서 생성된 편집 명령들은 '전자 문서 2'에 적용될 수 없게 된다.
이렇게, '전자 문서 2'에 '편집 명령 3'의 적용이 완료되면, 편집 명령 처리 서버 장치 3(113)은 '잠금 키 2'를 기초로 '전자 문서 2'의 잠금 상태를 해제하고, 잠금 키 저장소(140) 상에 저장되어 있는 '잠금 키 2'를 삭제함으로써, '잠금 키 2'를 폐기할 수 있다.
이를 통해, 편집 명령 처리 서버 장치 3(113)은 유저 3(123)에 의해서 생성된 '편집 명령 3'을 '전자 문서 2'에 적용할 수 있으며, '편집 명령 3'이 '전자 문서 2'에 적용되는 동안, '전자 문서 2'를 잠금 상태로 설정해 놓음으로써, 다른 유저들에 의해서 생성된 '전자 문서 2'에 적용되어야 하는 다른 편집 명령들에 대해서는 '전자 문서 2'에 대한 액세스를 제한한 후 '전자 문서 2'에 '편집 명령 3'의 적용이 완료되면, '전자 문서 2'의 잠금 상태를 해제하여, 다른 편집 명령들이 '전자 문서 2'에 적용될 수 있도록 처리할 수 있다.
이러한 방식으로, 편집 명령 처리 서버 장치 1, 2, 3(111, 112, 113)은 유저들에 의해서 문서 저장소(130) 상에 저장되어 있는 전자 문서에 대한 편집 명령이 생성되면, 잠금 키 저장소(140) 상에 해당 전자 문서를 잠금 상태로 설정하기 위한 잠금 키가 저장되어 있는지 확인한 후 잠금 키가 저장되어 있지 않은 것으로 확인되면, 잠금 키를 생성하여 해당 전자 문서를 잠금 상태로 설정해서 특정 유저에 의해서 생성된 편집 명령만이 전자 문서에 반영되도록 하고, 편집 명령의 반영이 완료되면, 상기 전자 문서에 대한 잠금 상태를 해제하여 다른 유저들에 의해 생성된 편집 명령도 전자 문서 상에 반영될 수 있도록 함으로써, 하나의 전자 문서에 다수의 편집 명령들이 동시에 적용되어야 하는 상황이 발생하더라도 각 편집 명령들이 순차적으로 전자 문서 상에 반영되도록 데이터 입출력(I/O)을 처리하여 안정적으로 전자 문서 상에 편집 명령들이 적용될 수 있도록 지원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 유저 1(121)에 의해서 생성된 '편집 명령 1'과 유저 2(122)에 의해서 생성된 '편집 명령 2'가 서로 충돌을 발생시키는 편집 명령인 경우, '편집 명령 1'과 '편집 명령 2'는 편집 명령 처리 서버 장치 1, 2(111, 112)에 의해 '전자 문서 1' 상에 적용되기 전에 문서 공동 편집 시스템 상에 존재하는 운영변환(Operational Transformation) 서버(미도시)를 통해 운영변환이 우선 수행될 수 있다.
여기서, 편집 명령 간의 충돌이란 하나의 전자 문서에 둘 이상의 편집 명령들이 발생하였을 때, 특정 편집 명령에 의해서 다른 편집 명령이 적용될 전자 문서 상의 위치에 영향이 가해지는 상황을 의미한다.
예컨대, 전자 문서에 존재하는 특정 문장 상에서 '3번째 자리'에 'a'라는 단어를 입력하라는 명령과, '5번째 자리'에 'b'라는 단어를 입력하라는 명령이 동시에 발생하였을 때, 상기 특정 문장 상의 '3번째 자리'에 'a'라는 단어가 입력되게 되면, 'a'라는 단어의 입력으로 인해 해당 문장의 원래 '3번째 자리'이후에 존재하는 글자들이 한자리씩 밀리기 때문에 'b'라는 단어가 '5번째 자리'에 입력되는 것이 아니라 '6번째 자리'에 입력되어야 'b'라는 단어의 입력을 지시한 유저의 원래 의도를 그대로 전자 문서 상에 반영할 수 있게 된다.
여기서, 운영변환이란 이렇게 충돌이 발생하는 편집 명령들을 유저의 의도에 따라 전자 문서 상에 적절하게 반영할 수 있도록 각 편집 명령들의 전자 문서 상에서의 적용 위치를 조정하는 변환을 의미한다. 상기 예에서는 상기 특정 문장 상의 '3번째 자리'에 'a'라는 단어가 입력되게 되면, 'a'라는 단어의 입력으로 인해 해당 문장의 원래 '3번째 자리'이후에 존재하는 글자들이 한자리씩 밀리기 때문에 이를 고려해서, 원래 편집 명령인 '5번째 자리'에 'b'라는 단어를 입력하라는 명령을 '6번째 자리'에 'b'를 입력하라는 명령으로 변환할 수 있는데, 이러한 변환을 운영변환이라고 칭한다.
이와 관련해서, '편집 명령 1'과 '편집 명령 2'가 서로 충돌을 일으키는 편집 명령이라면, 상기 운영변환 서버는 '편집 명령 1'의 '전자 문서 1'에 대한 반영위치를 고려해서, '편집 명령 2'에 대해 '편집 명령 2'의 '전자 문서 1'에서의 반영위치를 변환하는 형태의 운영변환을 진행할 수 있거나, 반대로 '편집 명령 2'의 '전자 문서 1'에 대한 반영위치를 고려해서, '편집 명령 1'에 대해 '편집 명령 1'의 '전자 문서 1'에서의 반영위치를 변환하는 형태의 운영변환을 진행할 수 있다.
이렇게, 상기 운영변환 서버를 통해 '편집 명령 1'과 '편집 명령 2'에 대한 운영변환이 완료되면, 편집 명령 처리 서버 장치 1, 2(111, 112)는 앞서 설명한 '전자 문서 1'에 대한 편집 명령의 적용 처리를 위한 프로세스를 수행할 수 있다.
본 발명의 일실시예에 따르면, 편집 명령 처리 서버 장치 1, 2, 3(111, 112, 113)은 선정된 단위 시간 동안 각 편집 명령 처리 서버 장치에 할당되어 있는 유저들에 의해서 전자 문서 상에 적용되어야 할 것으로 생성된 편집 명령의 개수가 선정된 기준 개수를 초과하는지 여부를 판단한 후 선정된 기준 개수를 초과하는 것으로 판단될 때, 각 편집 명령 처리 서버 장치에 할당되어 있는 유저들을 다른 편집 명령 처리 서버 장치로 분배함으로써, 각 편집 명령 처리 서버 장치에 대한 트래픽을 분산하기 위한 동작을 수행할 수 있다.
예컨대, 편집 명령 처리 서버 장치 1(111)에 유저 1(121)을 포함해서 '5명'의 유저들이 편집 명령의 적용 처리 대상 유저로 할당되어 있다고 하고, 상기 선정된 단위 시간을 '10분', 상기 선정된 기준 개수를 '100개'라고 한다면, 편집 명령 처리 서버 장치 1(111)은 '10분'동안 '5명'의 유저들에 의해서 생성된 편집 명령의 개수가 '100개'를 초과하는지 여부를 판단할 수 있다.
만약, '10분'동안 '5명'의 유저들에 의해서 생성된 편집 명령의 개수가 '100개'를 초과하는 것으로 판단되었다면, 편집 명령 처리 서버 장치 1(111)은 편집 명령 처리 서버 장치 2, 3(112, 113)에 할당되어 있는 유저들의 수를 확인할 수 있다.
그러고 나서, 편집 명령 처리 서버 장치 1(111)은 편집 명령 처리 서버 장치 2, 3(112, 113) 중 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수가 최소로 확인되는 편집 명령 처리 서버 장치를 선택할 수 있는데, 편집 명령 처리 서버 장치 3(113)이 선택되었다고 한다면, 편집 명령 처리 서버 장치 1(111)은 편집 명령 처리 서버 장치 3(113)에 대해, 편집 명령 처리 서버 장치 1(111)에 할당되어 있는 '5명'의 유저들 중 '10분'동안 가장 많은 편집 명령을 생성한 유저를 편집 명령 처리 서버 장치 3(113)에서 편집 명령을 처리할 대상 유저로 이전 할당할 수 있다.
이를 통해, 편집 명령 처리 서버 장치 1(111)은 '5명'의 유저들 중 '4명'의 유저들에 의해서 생성되는 편집 명령들만을 처리하면 되기 때문에 편집 명령 처리 서버 장치 1(111)에서 발생되는 데이터 처리에 따른 트래픽을 감소시킬 수 있다.
도 2는 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 편집 명령 처리 서버 장치(210)는 잠금 상태 확인부(211), 잠금 상태 변환부(212), 편집 명령 처리부(213) 및 잠금 해제부(214)를 포함한다.
여기서, 도 2의 도면은 도 1에서 도시된 바와 같은 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소(220) 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들(상기 복수의 편집 명령 처리 서버 장치들 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있음) 중 어느 하나로 속해 있는 편집 명령 처리 서버 장치(210)의 구조를 도시한 것이다.
잠금 상태 확인부(211)는 편집 명령 처리 서버 장치(210)에 편집 명령의 처리 대상으로 할당되어 있는 적어도 하나의 유저 중 제1 유저에 의해 문서 저장소(220) 상에 저장되어 있는 제1 전자 문서에 대한 제1 편집 명령이 생성되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부를 확인한다.
이때, 본 발명의 일실시예에 따르면, 잠금 상태 확인부(211)는 상기 제1 전자 문서가 편집 불가능한 잠금 상태인 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태로 확인될 때까지 선정된 주기 간격으로 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부에 대한 확인을 반복 수행할 수 있다.
잠금 상태 변환부(212)는 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환한다.
편집 명령 처리부(213)는 상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 전자 문서에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 문서 저장소(220) 상에 재저장한다.
잠금 해제부(214)는 상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고 상기 제1 잠금 키를 폐기한다.
이때, 본 발명의 일실시예에 따르면, 잠금 상태 확인부(211)는 상기 문서 공동 편집 시스템 상에 존재하는 잠금 키 저장소(230) 상에 상기 제1 전자 문서를 잠금 상태로 설정하기 위한 상기 제1 잠금 키가 저장되어 있는지 여부를 확인하여 잠금 키 저장소(230) 상에 상기 제1 잠금 키가 저장되어 있지 않은 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인할 수 있다.
그리고, 잠금 상태 변환부(212)는 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 잠금 키 저장소(230)에 저장할 수 있다.
이때, 잠금 해제부(214)는 상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고, 잠금 키 저장소(230) 상에 저장되어 있는 상기 제1 잠금 키를 삭제함으로써, 상기 제1 잠금 키를 폐기할 수 있다.
또한, 본 발명의 일실시예에 따르면, 문서 저장소(220)에 저장되어 있는 상기 제1 전자 문서에는 문서 저장소(220)에 저장되어 있는 다른 전자 문서들과 구분되기 위한 고유의 제1 식별자가 할당되어 있고, 상기 제1 잠금 키는 상기 제1 식별자를 구성하는 데이터가 선정된 잠금 키 생성 함수에 입력으로 인가되어 생성된 키일 수 있다.
이때, 잠금 상태 변환부(212)는 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 선정된 잠금 키 생성 함수에 상기 제1 식별자를 구성하는 데이터를 입력으로 인가하여 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 잠금 키 저장소(230)에 저장할 수 있다.
이때, 본 발명의 일실시예에 따르면, 잠금 상태 변환부(212)는 상기 제1 전자 문서를 구성하는 데이터의 선정된 지점에 상기 제1 잠금 키를 구성하는 데이터를 삽입함으로써, 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환할 수 있다.
이때, 상기 제1 전자 문서는 상기 제1 잠금 키에 기초하여 잠금 상태로 변환되면, 상기 제1 전자 문서를 구성하는 데이터의 상기 선정된 지점에 삽입된 상기 제1 잠금 키와 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 상기 제1 전자 문서 상에 적용 가능하도록 설정될 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 제1 편집 명령은 상기 제1 유저가 아닌 다른 유저들에 의해서 상기 제1 전자 문서 상에 동시에 적용되어야 할 것으로 생성된 다른 편집 명령들과 충돌을 일으키는 명령인 경우, 상기 문서 공동 편집 시스템 상에 존재하는 운영변환 서버(미도시)를 통해 상기 다른 편집 명령들의 상기 제1 전자 문서 상에서의 편집 적용 위치를 기초로 상기 제1 전자 문서 상에서 적용될 위치에 대한 운영변환이 완료된 편집 명령일 수 있다.
이때, 편집 명령 처리부(213)는 상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 편집 명령에 대한 운영변환 결과에 따른 상기 제1 전자 문서 상에서의 적용 위치에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 문서 저장소(220) 상에 재저장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 편집 명령 처리 서버 장치(210)는 개수 판단부(215), 유저 확인부(216) 및 트래픽 관리부(217)를 더 포함할 수 있다.
개수 판단부(215)는 선정된 단위 시간 동안 상기 적어도 하나의 유저에 의해서 전자 문서 상에 적용되어야 할 것으로 생성된 편집 명령의 개수가 선정된 기준 개수를 초과하는지 여부를 판단한다.
유저 확인부(216)는 상기 생성된 편집 명령의 개수가 상기 선정된 기준 개수를 초과하는 것으로 판단된 경우, 상기 복수의 편집 명령 처리 서버 장치들 중 편집 명령 처리 서버 장치(210)를 제외한 나머지 편집 명령 처리 서버 장치들에 대해 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수를 확인한다.
트래픽 관리부(217)는 상기 나머지 편집 명령 처리 서버 장치들 중 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수가 최소로 확인되는 제1 편집 명령 처리 서버 장치를 선택하여 상기 제1 편집 명령 처리 서버 장치에 대해, 상기 적어도 하나의 유저 중 상기 선정된 단위 시간 동안 가장 많은 편집 명령을 생성한 제2 유저를 상기 제1 편집 명령 처리 서버 장치에서 편집 명령을 처리할 대상 유저로 이전 할당한다.
도 3은 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 동작 방법을 도시한 순서도이다.
도 3에 도시된 순서도는 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들(상기 복수의 편집 명령 처리 서버 장치들 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있음)중 어느 하나로 속해 있는 편집 명령 처리 서버 장치의 동작 방법을 도시한 것이다.
단계(S310)에서는 상기 편집 명령 처리 서버 장치에 편집 명령의 처리 대상으로 할당되어 있는 적어도 하나의 유저 중 제1 유저에 의해 상기 문서 저장소 상에 저장되어 있는 제1 전자 문서에 대한 제1 편집 명령이 생성되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부를 확인한다.
이때, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 제1 전자 문서가 편집 불가능한 잠금 상태인 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태로 확인될 때까지 선정된 주기 간격으로 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부에 대한 확인을 반복 수행할 수 있다.
단계(S320)에서는 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환한다.
단계(S330)에서는 상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 전자 문서에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장한다.
단계(S340)에서는 상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고 상기 제1 잠금 키를 폐기한다.
이때, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 문서 공동 편집 시스템 상에 존재하는 잠금 키 저장소 상에 상기 제1 전자 문서를 잠금 상태로 설정하기 위한 상기 제1 잠금 키가 저장되어 있는지 여부를 확인하여 상기 잠금 키 저장소 상에 상기 제1 잠금 키가 저장되어 있지 않은 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인할 수 있고, 단계(S320)에서는 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 상기 잠금 키 저장소에 저장할 수 있다.
이때, 단계(S340)에서는 상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고, 상기 잠금 키 저장소 상에 저장되어 있는 상기 제1 잠금 키를 삭제함으로써, 상기 제1 잠금 키를 폐기할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 문서 저장소에 저장되어 있는 상기 제1 전자 문서에는 상기 문서 저장소에 저장되어 있는 다른 전자 문서들과 구분되기 위한 고유의 제1 식별자가 할당되어 있고, 상기 제1 잠금 키는 상기 제1 식별자를 구성하는 데이터가 선정된 잠금 키 생성 함수에 입력으로 인가되어 생성된 키일 수 있다.
이때, 단계(S320)에서는 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 선정된 잠금 키 생성 함수에 상기 제1 식별자를 구성하는 데이터를 입력으로 인가하여 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 상기 잠금 키 저장소에 저장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 제1 전자 문서를 구성하는 데이터의 선정된 지점에 상기 제1 잠금 키를 구성하는 데이터를 삽입함으로써, 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환할 수 있다.
이때, 상기 제1 전자 문서는 상기 제1 잠금 키에 기초하여 잠금 상태로 변환되면, 상기 제1 전자 문서를 구성하는 데이터의 상기 선정된 지점에 삽입된 상기 제1 잠금 키와 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 상기 제1 전자 문서 상에 적용 가능하도록 설정될 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 제1 편집 명령은 상기 제1 유저가 아닌 다른 유저들에 의해서 상기 제1 전자 문서 상에 동시에 적용되어야 할 것으로 생성된 다른 편집 명령들과 충돌을 일으키는 명령인 경우, 상기 문서 공동 편집 시스템 상에 존재하는 운영변환 서버를 통해 상기 다른 편집 명령들의 상기 제1 전자 문서 상에서의 편집 적용 위치를 기초로 상기 제1 전자 문서 상에서 적용될 위치에 대한 운영변환이 완료된 편집 명령일 수 있다.
이때, 단계(S330)에서는 상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 편집 명령에 대한 운영변환 결과에 따른 상기 제1 전자 문서 상에서의 적용 위치에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 편집 명령 처리 서버 장치의 동작 방법은 선정된 단위 시간 동안 상기 적어도 하나의 유저에 의해서 전자 문서 상에 적용되어야 할 것으로 생성된 편집 명령의 개수가 선정된 기준 개수를 초과하는지 여부를 판단하는 단계, 상기 생성된 편집 명령의 개수가 상기 선정된 기준 개수를 초과하는 것으로 판단된 경우, 상기 복수의 편집 명령 처리 서버 장치들 중 상기 편집 명령 처리 서버 장치를 제외한 나머지 편집 명령 처리 서버 장치들에 대해 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수를 확인하는 단계 및 상기 나머지 편집 명령 처리 서버 장치들 중 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수가 최소로 확인되는 제1 편집 명령 처리 서버 장치를 선택하여 상기 제1 편집 명령 처리 서버 장치에 대해, 상기 적어도 하나의 유저 중 상기 선정된 단위 시간 동안 가장 많은 편집 명령을 생성한 제2 유저를 상기 제1 편집 명령 처리 서버 장치에서 편집 명령을 처리할 대상 유저로 이전 할당하는 단계를 더 포함할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 동작 방법은 도 1과 도 2를 이용하여 설명한 편집 명령 처리 서버 장치(210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 편집 명령 처리 서버 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
111: 편집 명령 처리 서버 장치 1
112: 편집 명령 처리 서버 장치 2
113: 편집 명령 처리 서버 장치 3
121: 유저 1 122: 유저 2 123: 유저 3
130: 문서 저장소
140: 잠금 키 저장소
210: 편집 명령 처리 서버 장치
211: 잠금 상태 확인부 212: 잠금 상태 변환부
213: 편집 명령 처리부 214: 잠금 해제부
215: 개수 판단부 216: 유저 확인부
217: 트래픽 관리부
220: 문서 저장소
230: 잠금 키 저장소

Claims (16)

  1. 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들 - 상기 복수의 편집 명령 처리 서버 장치들 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있음 - 중 어느 하나로 속해 있는 편집 명령 처리 서버 장치에 있어서,
    상기 편집 명령 처리 서버 장치에 편집 명령의 처리 대상으로 할당되어 있는 적어도 하나의 유저 중 제1 유저에 의해 상기 문서 저장소 상에 저장되어 있는 제1 전자 문서에 대한 제1 편집 명령이 생성되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부를 확인하는 잠금 상태 확인부;
    상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환하는 잠금 상태 변환부;
    상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 전자 문서에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장하는 편집 명령 처리부; 및
    상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고 상기 제1 잠금 키를 폐기하는 잠금 해제부
    를 포함하고,
    상기 제1 편집 명령은
    상기 제1 유저가 아닌 다른 유저들에 의해서 상기 제1 전자 문서 상에 동시에 적용되어야 할 것으로 생성된 다른 편집 명령들과 충돌을 일으키는 명령인 경우, 상기 문서 공동 편집 시스템 상에 존재하는 운영변환(Operational Transformation) 서버를 통해 상기 다른 편집 명령들의 상기 제1 전자 문서 상에서의 편집 적용 위치를 기초로 상기 제1 전자 문서 상에서 적용될 위치에 대한 운영변환이 완료된 편집 명령이고,
    상기 편집 명령 처리부는
    상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 편집 명령에 대한 운영변환 결과에 따른 상기 제1 전자 문서 상에서의 적용 위치에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장하는 편집 명령 처리 서버 장치.
  2. 제1항에 있어서,
    상기 잠금 상태 확인부는
    상기 제1 전자 문서가 편집 불가능한 잠금 상태인 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태로 확인될 때까지 선정된(predetermined) 주기 간격으로 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부에 대한 확인을 반복 수행하는 편집 명령 처리 서버 장치.
  3. 제2항에 있어서,
    상기 잠금 상태 확인부는
    상기 문서 공동 편집 시스템 상에 존재하는 잠금 키 저장소 상에 상기 제1 전자 문서를 잠금 상태로 설정하기 위한 상기 제1 잠금 키가 저장되어 있는지 여부를 확인하여 상기 잠금 키 저장소 상에 상기 제1 잠금 키가 저장되어 있지 않은 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인하고,
    상기 잠금 상태 변환부는
    상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 상기 잠금 키 저장소에 저장하며,
    상기 잠금 해제부는
    상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고, 상기 잠금 키 저장소 상에 저장되어 있는 상기 제1 잠금 키를 삭제함으로써, 상기 제1 잠금 키를 폐기하는 편집 명령 처리 서버 장치.
  4. 제3항에 있어서,
    상기 문서 저장소에 저장되어 있는 상기 제1 전자 문서에는 상기 문서 저장소에 저장되어 있는 다른 전자 문서들과 구분되기 위한 고유의 제1 식별자가 할당되어 있고,
    상기 제1 잠금 키는 상기 제1 식별자를 구성하는 데이터가 선정된 잠금 키 생성 함수에 입력으로 인가되어 생성된 키이며,
    상기 잠금 상태 변환부는
    상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 선정된 잠금 키 생성 함수에 상기 제1 식별자를 구성하는 데이터를 입력으로 인가하여 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 상기 잠금 키 저장소에 저장하는 편집 명령 처리 서버 장치.
  5. 제4항에 있어서,
    상기 잠금 상태 변환부는
    상기 제1 전자 문서를 구성하는 데이터의 선정된 지점에 상기 제1 잠금 키를 구성하는 데이터를 삽입함으로써, 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환하고,
    상기 제1 전자 문서는
    상기 제1 잠금 키에 기초하여 잠금 상태로 변환되면, 상기 제1 전자 문서를 구성하는 데이터의 상기 선정된 지점에 삽입된 상기 제1 잠금 키와 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 상기 제1 전자 문서 상에 적용 가능하도록 설정되는 편집 명령 처리 서버 장치.
  6. 삭제
  7. 제1항에 있어서,
    선정된 단위 시간 동안 상기 적어도 하나의 유저에 의해서 전자 문서 상에 적용되어야 할 것으로 생성된 편집 명령의 개수가 선정된 기준 개수를 초과하는지 여부를 판단하는 개수 판단부;
    상기 생성된 편집 명령의 개수가 상기 선정된 기준 개수를 초과하는 것으로 판단된 경우, 상기 복수의 편집 명령 처리 서버 장치들 중 상기 편집 명령 처리 서버 장치를 제외한 나머지 편집 명령 처리 서버 장치들에 대해 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수를 확인하는 유저 확인부; 및
    상기 나머지 편집 명령 처리 서버 장치들 중 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수가 최소로 확인되는 제1 편집 명령 처리 서버 장치를 선택하여 상기 제1 편집 명령 처리 서버 장치에 대해, 상기 적어도 하나의 유저 중 상기 선정된 단위 시간 동안 가장 많은 편집 명령을 생성한 제2 유저를 상기 제1 편집 명령 처리 서버 장치에서 편집 명령을 처리할 대상 유저로 이전 할당하는 트래픽 관리부
    를 더 포함하는 편집 명령 처리 서버 장치.
  8. 문서의 동시 편집을 지원하는 문서 공동 편집 시스템 상에서, 복수의 유저들에 의해 생성된 편집 명령들을 문서 저장소 상에 저장되어 있는 전자 문서 상에 적용하기 위해 존재하는 복수의 편집 명령 처리 서버 장치들 - 상기 복수의 편집 명령 처리 서버 장치들 각각에는 편집 명령을 처리할 대상으로 지정된 적어도 하나의 대상 유저가 미리 할당되어 있음 - 중 어느 하나로 속해 있는 편집 명령 처리 서버 장치의 동작 방법에 있어서,
    상기 편집 명령 처리 서버 장치에 편집 명령의 처리 대상으로 할당되어 있는 적어도 하나의 유저 중 제1 유저에 의해 상기 문서 저장소 상에 저장되어 있는 제1 전자 문서에 대한 제1 편집 명령이 생성되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부를 확인하는 단계;
    상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환하는 단계;
    상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 전자 문서에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장하는 단계; 및
    상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고 상기 제1 잠금 키를 폐기하는 단계
    를 포함하고,
    상기 제1 편집 명령은
    상기 제1 유저가 아닌 다른 유저들에 의해서 상기 제1 전자 문서 상에 동시에 적용되어야 할 것으로 생성된 다른 편집 명령들과 충돌을 일으키는 명령인 경우, 상기 문서 공동 편집 시스템 상에 존재하는 운영변환(Operational Transformation) 서버를 통해 상기 다른 편집 명령들의 상기 제1 전자 문서 상에서의 편집 적용 위치를 기초로 상기 제1 전자 문서 상에서 적용될 위치에 대한 운영변환이 완료된 편집 명령이고,
    상기 재저장하는 단계는
    상기 제1 전자 문서가 잠금 상태로 변환되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 권한을 획득하여 상기 제1 편집 명령에 대한 운영변환 결과에 따른 상기 제1 전자 문서 상에서의 적용 위치에 대해 상기 제1 편집 명령을 적용한 후 상기 제1 편집 명령이 적용된 상기 제1 전자 문서를 상기 문서 저장소 상에 재저장하는 편집 명령 처리 서버 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 잠금 해제 상태인지 여부를 확인하는 단계는
    상기 제1 전자 문서가 편집 불가능한 잠금 상태인 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태로 확인될 때까지 선정된(predetermined) 주기 간격으로 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인지 여부에 대한 확인을 반복 수행하는 편집 명령 처리 서버 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 잠금 해제 상태인지 여부를 확인하는 단계는
    상기 문서 공동 편집 시스템 상에 존재하는 잠금 키 저장소 상에 상기 제1 전자 문서를 잠금 상태로 설정하기 위한 상기 제1 잠금 키가 저장되어 있는지 여부를 확인하여 상기 잠금 키 저장소 상에 상기 제1 잠금 키가 저장되어 있지 않은 것으로 확인되면, 상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인하고,
    상기 잠금 상태로 변환하는 단계는
    상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 상기 잠금 키 저장소에 저장하며,
    상기 제1 잠금 키를 폐기하는 단계는
    상기 제1 전자 문서에 상기 제1 편집 명령의 적용이 완료되면, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서의 잠금 상태를 해제하고, 상기 잠금 키 저장소 상에 저장되어 있는 상기 제1 잠금 키를 삭제함으로써, 상기 제1 잠금 키를 폐기하는 편집 명령 처리 서버 장치의 동작 방법.
  11. 제10항에 있어서,
    상기 문서 저장소에 저장되어 있는 상기 제1 전자 문서에는 상기 문서 저장소에 저장되어 있는 다른 전자 문서들과 구분되기 위한 고유의 제1 식별자가 할당되어 있고,
    상기 제1 잠금 키는 상기 제1 식별자를 구성하는 데이터가 선정된 잠금 키 생성 함수에 입력으로 인가되어 생성된 키이며,
    상기 잠금 상태로 변환하는 단계는
    상기 제1 전자 문서가 편집 가능한 잠금 해제 상태인 것으로 확인되면, 상기 선정된 잠금 키 생성 함수에 상기 제1 식별자를 구성하는 데이터를 입력으로 인가하여 상기 제1 전자 문서에 대한 편집 권한이 할당된 상기 제1 잠금 키를 생성하고, 상기 제1 잠금 키를 기초로 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환함과 동시에 상기 제1 잠금 키를 상기 잠금 키 저장소에 저장하는 편집 명령 처리 서버 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 잠금 상태로 변환하는 단계는
    상기 제1 전자 문서를 구성하는 데이터의 선정된 지점에 상기 제1 잠금 키를 구성하는 데이터를 삽입함으로써, 상기 제1 전자 문서에 대한 편집 제한 설정을 수행하여 상기 제1 전자 문서를 잠금 상태로 변환하고,
    상기 제1 전자 문서는
    상기 제1 잠금 키에 기초하여 잠금 상태로 변환되면, 상기 제1 전자 문서를 구성하는 데이터의 상기 선정된 지점에 삽입된 상기 제1 잠금 키와 동일한 잠금 키를 기초로 편집 권한을 획득한 편집 세션을 통해 입력되는 편집 명령만을 상기 제1 전자 문서 상에 적용 가능하도록 설정되는 편집 명령 처리 서버 장치의 동작 방법.
  13. 삭제
  14. 제8항에 있어서,
    선정된 단위 시간 동안 상기 적어도 하나의 유저에 의해서 전자 문서 상에 적용되어야 할 것으로 생성된 편집 명령의 개수가 선정된 기준 개수를 초과하는지 여부를 판단하는 단계;
    상기 생성된 편집 명령의 개수가 상기 선정된 기준 개수를 초과하는 것으로 판단된 경우, 상기 복수의 편집 명령 처리 서버 장치들 중 상기 편집 명령 처리 서버 장치를 제외한 나머지 편집 명령 처리 서버 장치들에 대해 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수를 확인하는 단계; 및
    상기 나머지 편집 명령 처리 서버 장치들 중 편집 명령의 처리 대상으로 할당되어 있는 유저들의 수가 최소로 확인되는 제1 편집 명령 처리 서버 장치를 선택하여 상기 제1 편집 명령 처리 서버 장치에 대해, 상기 적어도 하나의 유저 중 상기 선정된 단위 시간 동안 가장 많은 편집 명령을 생성한 제2 유저를 상기 제1 편집 명령 처리 서버 장치에서 편집 명령을 처리할 대상 유저로 이전 할당하는 단계
    를 더 포함하는 편집 명령 처리 서버 장치의 동작 방법.
  15. 제8항, 제9항, 제10항, 제11항, 제12항 또는 제14항 중 어느 한 항의 방법을 컴퓨터로 하여금 수행하도록 하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  16. 제8항, 제9항, 제10항, 제11항, 제12항 또는 제14항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020170132946A 2017-10-13 2017-10-13 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법 KR101926566B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170132946A KR101926566B1 (ko) 2017-10-13 2017-10-13 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170132946A KR101926566B1 (ko) 2017-10-13 2017-10-13 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR101926566B1 true KR101926566B1 (ko) 2018-12-07

Family

ID=64669529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170132946A KR101926566B1 (ko) 2017-10-13 2017-10-13 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR101926566B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131462A1 (ko) * 2020-12-18 2022-06-23 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2023063666A1 (ko) * 2021-10-12 2023-04-20 삼성전자 주식회사 공동 편집 서비스를 제공하기 위한 방법 및 이를 위한 서버
US11809400B2 (en) 2020-12-18 2023-11-07 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331685B1 (ko) 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
KR100440037B1 (ko) 2003-08-08 2004-07-14 주식회사 마크애니 문서보안 시스템
KR101750429B1 (ko) * 2017-02-22 2017-06-23 (주) 사이냅소프트 공동 편집을 위한 문서 편집 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331685B1 (ko) 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
KR100440037B1 (ko) 2003-08-08 2004-07-14 주식회사 마크애니 문서보안 시스템
KR101750429B1 (ko) * 2017-02-22 2017-06-23 (주) 사이냅소프트 공동 편집을 위한 문서 편집 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131462A1 (ko) * 2020-12-18 2022-06-23 삼성전자주식회사 전자 장치 및 그 제어 방법
US11809400B2 (en) 2020-12-18 2023-11-07 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
WO2023063666A1 (ko) * 2021-10-12 2023-04-20 삼성전자 주식회사 공동 편집 서비스를 제공하기 위한 방법 및 이를 위한 서버

Similar Documents

Publication Publication Date Title
CN110428216B (zh) 业务流程管控方法、装置、计算机设备和存储介质
CN110096857B (zh) 区块链系统的权限管理方法、装置、设备和介质
US9684505B2 (en) Development environment system, development environment apparatus, development environment providing method, and program
KR101826625B1 (ko) 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
CN109951547B (zh) 事务请求并行处理方法、装置、设备和介质
CN105573828A (zh) 一种操作处理方法及装置
US8719949B1 (en) Parameter based operation
KR101926566B1 (ko) 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법
CN109643357A (zh) 针对存储在存储服务处的数据的保护特征
KR20130126901A (ko) 온라인 문서 편집의 동기화
KR102080156B1 (ko) 자동 재충전 시스템, 방법 및 서버
CN101379504B (zh) 用于复合应用的基于角色的访问控制管理的方法及系统
KR101754258B1 (ko) 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법
CN112560129A (zh) 基于构件级的建筑信息模型数据协同方法和系统
US20190215380A1 (en) Data driven user interfaces for device management
CN105556533A (zh) 自动生成证书文档
CN109240738B (zh) 数据库权限管理方法、装置以及计算机设备
CN114493495A (zh) 行程单协同编辑方法、设备、存储介质及装置
US10592864B2 (en) Share token issuance for declarative document authoring
KR101748627B1 (ko) 문서 편집에 대한 인증이 가능한 웹 기반의 전자 문서 서비스 장치 및 그 동작 방법
KR20040026485A (ko) 제안서 작성 시스템 및 방법
US8051431B2 (en) Apparatus and method for input management
CN107533468A (zh) 用于云和设备套件的可扩展性捆绑包
KR102305858B1 (ko) 키 정보 프로비저닝 방법 및 이를 이용한 장치
KR101965722B1 (ko) 단독 편집 및 동시 편집인지에 따라 웹 문서에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant