KR101754258B1 - 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법 - Google Patents

마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법 Download PDF

Info

Publication number
KR101754258B1
KR101754258B1 KR1020177000807A KR20177000807A KR101754258B1 KR 101754258 B1 KR101754258 B1 KR 101754258B1 KR 1020177000807 A KR1020177000807 A KR 1020177000807A KR 20177000807 A KR20177000807 A KR 20177000807A KR 101754258 B1 KR101754258 B1 KR 101754258B1
Authority
KR
South Korea
Prior art keywords
editing
document
markup language
based document
edit
Prior art date
Application number
KR1020177000807A
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 주식회사 한글과컴퓨터
Application granted granted Critical
Publication of KR101754258B1 publication Critical patent/KR101754258B1/ko

Links

Images

Classifications

    • G06F17/24
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F17/218
    • G06F17/2247
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명에 따른 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법은 소정의 편집 명령어 세트를 동시 편집 세션을 통해 마크업 언어 기반 문서에 동시에 인가시켜, 각 편집 세션에서 편집이 완료된 마크업 언어 기반 문서 간의 태그를 비교하여 양 문서의 태그가 서로 일치하는지 여부를 판단함으로써, 개발자로 하여금 현재 운영 중인 문서의 동시 편집 지원 알고리즘이 해당 편집 명령어 세트에 포함된 편집 명령어들에 대한 동시 편집을 정상적으로 지원하는지 여부를 판단하도록 보조할 수 있다.

Description

마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법{APPARATUS AND METHOD FOR VERIFYING SIMULTANEOUS EDIT CONFIGURATION FOR MARKUP LANGUAGE BASED DOCUMENT}
본 발명은 마크업 언어(Markup Language) 기반 문서에 대한 복수의 유저들 간의 동시 편집을 지원하기 위한 정합성 검증 기법에 대한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다.
하지만, 최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 원격지의 서버를 통해서, 클라이언트 단말인 전자 단말 장치에 전자 문서 관련 서비스를 제공함으로써, 사용자가 전자 단말 장치에 소정의 전자 문서 관련 프로그램을 설치하지 않더라도 언제 어디에서든지 전자 문서를 열람, 작성, 편집할 수 있도록 하는 웹 기반의 전자 문서 서비스가 등장하고 있다.
이러한 웹 기반의 전자 문서 서비스는 다양한 클라이언트 단말들이 전자 문서 서비스 제공 서버에 접속한 후 브라우저를 통해 마크업 언어(Markup Language) 기반의 전자 문서를 열람한 후 해당 전자 문서를 작성 및 편집할 수 있도록 지원하며, 다양한 클라이언트 단말들이 상기 전자 문서에 대해서 실시간으로 동시 협업을 수행할 수 있도록 지원한다는 점에서 기업이나 단체 등에서 주로 활용되고 있다.
그리고, 웹 기반의 전자 문서 서비스는 클라이언트 단말에 소정의 전자 문서 작성 프로그램을 설치할 필요 없이, 인터넷에 접속만 할 수 있으면, 클라이언트 단말에 탑재되어 있는 브라우저를 통해서 전자 문서를 열람하고, 작성 및 편집할 수 있도록 지원하기 때문에 사용자의 이동성을 보장할 수 있어, 개인 사용자들도 점차 증가하고 있는 추세이다.
이러한 웹 기반의 전자 문서 서비스는 복수의 유저들이 동시에 하나의 마크업 언어 기반의 문서에 대해서 편집을 수행할 수 있도록 하는 협업 기능을 제공하는 경우가 많다.
이렇게, 복수의 유저들이 하나의 마크업 언어 기반의 문서에 동시 편집을 수행하는 경우, 각 유저로부터 입력되는 편집 명령들 간에 충돌이 발생할 수 있는데, 이러한 충돌을 방지하기 위한 기술로 운영변환(Operational Transformation)이라는 기술이 존재한다.
운영변환은 복수의 유저들 사이에서 하나의 문서에 동시 편집이 발생하는 경우, 해당 동시 편집이 상기 문서 상에서 서로 양립할 수 없는 즉, 편집 명령들 간에 충돌(conflict)이 발생하더라도, 이러한 충돌을 해결함으로써, 각 편집 명령들이 모두문서에 반영될 수 있도록 문서 상에서의 각 편집 명령들의 반영 위치 등을 조정하는 기법이다.
예컨대, "abc"라고 하는 텍스트가 삽입되어 있는 문서가 존재하고, 유저 1과 유저 2가 각자 자신의 클라이언트 단말을 통해 상기 문서에 대한 편집 세션을 생성하여, 유저 1은 자신의 클라이언트 단말을 통해서 "ab"와 "c" 사이에 "e"를 삽입하는 편집을 수행하고, 유저 2는 "c"를 삭제하는 편집을 동시에 수행한다고 한다고 가정하자.
이때, 상기 운영변환 기술은 상기 유저 1의 클라이언트 단말과 상기 유저 2의 클라이언트 단말에서 발생한 편집을 상기 유저 1의 클라이언트 단말의 편집 세션에 존재하는 문서와 상기 유저 2의 클라이언트 단말의 편집 세션에 존재하는 문서에 동시에 반영함으로써, 상기 유저 1의 클라이언트 단말의 편집 세션에 존재하는 문서와 상기 유저 2의 클라이언트 단말의 편집 세션에 존재하는 문서가 모두 "abe"라고 하는 동일한 편집 상태로 유지될 수 있도록 하여 문서의 동시 편집을 지원하는 기술이다.
결국, 운영변환 기술은 복수의 유저들이 하나의 공유 문서에 액세스하여 각자 문서 편집을 위한 편집 세션을 생성한 후 각 편집 세션에서 상기 문서에 대한 편집을 수행할 때, 상기 복수의 유저들 각자가 생성한 편집 세션에서의 문서의 상태를 항상 같은 상태로 유지시킴으로써, 문서의 실시간 동시 편집을 지원하는 기술로, 각 유저들의 편집 세션에서 발생한 편집 명령들을 네트워크를 통해 서로 공유한 후 각 유저들의 편집 명령들에 대한 상기 문서에서의 반영 위치를 상황에 따라 적절하게 변환하여 상기 문서 상에 반영함으로써, 각 유저들의 편집 세션에서의 문서를 항상 동일한 상태로 유지시키는 기술이다.
웹 기반의 전자 문서 서비스에서 이러한 운영변환 기술을 이용하면, 문서에 대한 실시간 협업을 지원할 수 있다는 점에서 유용한 장점이 있지만, 유저들로부터 발생하는 모든 편집 명령들 간의 충돌을 제거하기 위한 운영변환 알고리즘을 구성하기는 쉽지 않은 실정이다.
따라서, 웹 기반의 전자 문서 서비스에서 복수의 유저들이 하나의 문서에 대해서 동시 편집을 수행하는 상황을 가정한 후 각 유저들이 각자의 편집 세션에서 편집하고 있는 문서가 동일한 문서로 유지되고 있는지 여부에 대한 정합성을 검증하고, 이에 대한 정합성 검증 결과를 수집해 놓음으로써, 개발자로 하여금 어떠한 편집 명령들이 동시에 복수의 유저들로부터 발생하였을 때, 충돌이 발생하는지 여부를 확인할 수 있도록 하고, 이를 개선하기 위한 새로운 운영변환 알고리즘을 구현할 수 있도록 지원하기 위한 기법의 연구가 필요하다.
본 발명에 따른 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법은 소정의 편집 명령어 세트를 동시 편집 세션을 통해 마크업 언어 기반 문서에 동시에 인가시켜, 각 편집 세션에서 편집이 완료된 마크업 언어 기반 문서 간의 태그를 비교하여 양 문서의 태그가 서로 일치하는지 여부를 판단함으로써, 개발자로 하여금 현재 운영 중인 문서의 동시 편집 지원 알고리즘이 해당 편집 명령어 세트에 포함된 편집 명령어들에 대한 동시 편집을 정상적으로 지원하는지 여부를 판단할 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 장치는 브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 n(n은 2이상의 자연수)명의 유저들이 동시에 편집이 가능하도록 하는 n개의 문서 편집 세션들을 생성하는 편집 세션 생성부, 상기 n개의 문서 편집 세션들을 통해 선정된(predetermined) n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 동시 편집 수행부 및 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그(tag)를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단하는 문서 정합 판단부를 포함한다.
또한, 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법은 브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 n(n은 2이상의 자연수)명의 유저들이 동시에 편집이 가능하도록 하는 n개의 문서 편집 세션들을 생성하는 단계, 상기 n개의 문서 편집 세션들을 통해 선정된 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 단계 및 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단하는 단계를 포함한다.
본 발명에 따른 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법은 소정의 편집 명령어 세트를 동시 편집 세션을 통해 마크업 언어 기반 문서에 동시에 인가시켜, 각 편집 세션에서 편집이 완료된 마크업 언어 기반 문서 간의 태그를 비교하여 양 문서의 태그가 서로 일치하는지 여부를 판단함으로써, 개발자로 하여금 현재 운영 중인 문서의 동시 편집 지원 알고리즘이 해당 편집 명령어 세트에 포함된 편집 명령어들에 대한 동시 편집을 정상적으로 지원하는지 여부를 판단하도록 보조할 수 있다.
도 1은 본 발명의 일실시예에 따른 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치(110)는 편집 세션 생성부(111), 동시 편집 수행부(112) 및 문서 정합 판단부(113)를 포함한다.
여기서, 마크업 언어 기반 문서란 HTML(Hypertext Markup Language)이나 XML(eXtensible Markup Language)과 같은 마크업 언어로 구성된 문서를 의미한다.
편집 세션 생성부(111)는 브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 n(n은 2이상의 자연수)명의 유저들이 동시에 편집이 가능하도록 하는 n개의 문서 편집 세션들을 생성한다.
예컨대, n을 2라고 가정하고, 상기 제1 마크업 언어 기반 문서가 도 2에 도시된 바와 같이 "abcdefg"라고 하는 텍스트가 삽입된 문서라고 하는 경우, 편집 세션 생성부(111)는 도 2에 도시된 바와 같이, 브라우저를 통해서 상기 제1 마크업 언어 기반 문서에 대해 2명의 유저들이 동시에 편집이 가능하도록 하는 2개의 문서 편집 세션들(211, 212)을 생성할 수 있다.
즉, 도면부호 210에 도시된 화면을 상기 브라우저를 통해서 표시되는 화면이라고 하는 경우, 편집 세션 생성부(111)는 문서 편집 세션 1(211)과 문서 편집 세션 2(212)를 생성하여 브라우저 화면(210) 상에서 도 2에 도시된 바와 같이, 문서 편집 세션 1(211)에 대한 화면을 표시함과 동시에 문서 편집 세션 2(212)에 대한 화면을 표시할 수 있다.
동시 편집 수행부(112)는 상기 n개의 문서 편집 세션들을 통해 선정된(predetermined) n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성한다.
관련해서, 앞서 설명한 도 2의 예를 이용해서 동시 편집 수행부(112)의 동작을 설명하면, 동시 편집 수행부(112)는 2개의 문서 편집 세션들(211, 212)을 통해 선정된 2개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 2개의 문서 편집 세션들(211, 212) 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
예컨대, 상기 선정된 2개의 서로 다른 편집 명령어들을 각각 "abcdefg"에서 "c"를 삭제하라는 편집 명령어 1과 "abcdefg"에서 "c"와 "d" 사이에 "3"을 삽입하라는 편집 명령어 2라고 하는 경우, 동시 편집 수행부(112)는 문서 편집 세션 1(211)에 대해 상기 편집 명령어 1을 인가하고, 이와 동시에 문서 편집 세션 2(212)에 대해 상기 편집 명령어 2를 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 문서 편집 세션 1, 2(211, 212) 각각에서 편집이 완료된 제1 마크업 언어 기반 문서를 생성할 수 있다.
이때, 동시 편집 수행부(112)는 문서 편집 세션 1(211)을 통해 인가된 상기 편집 명령어 1과 문서 편집 세션 2(212)를 통해 인가된 상기 편집 명령어 2를 문서 편집 세션 1, 2(211, 212) 각각을 통해 편집 중인 상기 제1 마크업 언어 기반 문서에 동시에 반영하기 위해, 문서 편집 세션 1, 2(211, 212) 각각에서 상기 편집 명령어 1과 2에 대한 운영변환(Operational Transformation)을 수행함으로써, 문서 편집 세션 1, 2(211, 212) 각각에서 편집이 완료된 제1 마크업 언어 기반 문서를 생성할 수 있다.
문서 정합 판단부(113)는 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그(tag)를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단한다.
즉, 앞서 설명한 예를 이용하여 문서 정합 판단부(113)의 동작을 설명하면, 문서 정합 판단부(113)는 문서 편집 세션 1, 2(211, 212) 각각에서 상기 제1 마크업 언어 기반 문서에 대한 편집 반영이 완료되면, 문서 편집 세션 1(211)에서 편집이 완료된 제1 마크업 언어 기반 문서와 문서 편집 세션 2(212)에서 편집이 완료된 제1 마크업 언어 기반 문서의 태그를 서로 비교하여 양 문서의 태그가 서로 일치하는 것으로 판단되면, 상기 편집 명령어 1과 상기 편집 명령어 2가 상기 제1 마크업 언어 기반 문서에 동시에 인가됨에 따라 양 편집 명령어 간에 충돌이 발생하더라도 문서의 동시 편집에 사용 가능한 편집 명령어 세트로 판단할 수 있고, 양 문서의 태그가 서로 일치하지 않은 것으로 판단되면, 상기 편집 명령어 1과 상기 편집 명령어 2에 대해서는 동시 편집을 아직 지원하지 못하여 운영변환 로직이나 문서의 편집 기능 구현을 위한 추가 개발이 필요한 경우라고 판단할 수 있다.
결국, 본 발명에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치(110)는 소정의 편집 명령어 세트를 동시 편집 세션을 통해 마크업 언어 기반 문서에 동시에 인가시켜, 각 편집 세션에서 편집이 완료된 마크업 언어 기반 문서 간의 태그를 비교하여 양 문서의 태그가 서로 일치하는지 여부를 판단함으로써, 개발자로 하여금 현재 운영 중인 문서의 동시 편집 지원 알고리즘이 해당 편집 명령어 세트에 포함된 편집 명령어들에 대한 동시 편집을 정상적으로 지원하는지 여부를 판단하도록 보조할 수 있다.
본 발명의 일실시예에 따르면, 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치(110)는 동시 편집이 가능한지 여부를 테스트하기 위해서 미리 지정한 편집 명령어들로 구성된 복수의 편집 명령 세트들을 저장하고 있는 편집 명령 세트 저장부(114)를 더 포함함으로써, 상기 복수의 편집 명령 세트들 각각에 대한 동시 편집 지원여부를 판단하는 구성을 더 포함할 수 있다.
관련해서, 편집 명령 세트 저장부(114)에는 하나의 마크업 언어 기반 문서에 대해 n명의 유저들로부터 동시에 인가 가능한 것으로 미리 지정된 n개의 서로 다른 편집 명령어들을 포함하는 복수의 편집 명령 세트들이 저장되어 있다.
예컨대, 상기 n을 "2"라고 가정하는 경우, 편집 명령 세트 저장부(114)에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.
복수의 편집 명령 세트들 미리 지정된 2개의 서로 다른 편집 명령어들
편집 명령 세트 1 편집 명령 1, 편집 명령 2
편집 명령 세트 2 편집 명령 3, 편집 명령 4
편집 명령 세트 3 편집 명령 5, 편집 명령 6
... ...
이때, 동시 편집 수행부(112)는 상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들을 통해 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
그리고, 문서 정합 판단부(113)는 상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단할 수 있다.
예컨대, 상기 n을 "2"라고 하고, 편집 명령 세트 저장부(114)에 상기 표 1과 같이 정보가 저장되어 있다고 하는 경우, 편집 세션 생성부(111)는 브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 2명의 유저들이 동시에 편집이 가능하도록 하는 2개의 문서 편집 세션들을 생성할 수 있다.
그리고, 동시 편집 수행부(112)는 우선, 상기 2개의 문서 편집 세션들을 통해 상기 "편집 명령 세트 1"에 포함되어 있는 "편집 명령 1"과 "편집 명령 2"를 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 2개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
그러고 나서, 문서 정합 판단부(113)는 상기 2개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그를 상호 비교하여 상기 2개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단할 수 있다.
그 이후, 동시 편집 수행부(112)는 다시, 상기 2개의 문서 편집 세션들을 통해 상기 "편집 명령 세트 2"에 포함되어 있는 "편집 명령 3"과 "편집 명령 4"를 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 2개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있고, 문서 정합 판단부(113)는 상기 2개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그를 상호 비교하여 상기 2개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단할 수 있다.
이러한 방식으로, 동시 편집 수행부(112)와 문서 정합 판단부(113)는 상기 표 1에 나타낸 복수의 편집 명령 세트들 별로 각 편집 명령어들에 대한 동시 편집을 수행하고, 이를 기초로 문서 간 태그 비교를 통해 상기 복수의 편집 명령 세트 각각에 대해서, 각 편집 명령 세트에 포함된 편집 명령어들에 대한 동시 편집 지원여부를 판단할 수 있다.
이때, 본 발명의 일실시예에 따르면, 동시 편집 수행부(112)는 상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 반영하기 위한 운영변환을 수행하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
이때, 본 발명의 일실시예에 따르면, 동시 편집 수행부(112)는 상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들 중 자신의 문서 편집 세션을 통해 입력된 제1 편집 명령어를 상기 제1 마크업 언어 기반 문서에 우선 반영하여 1차 문서 편집을 수행한 후 상기 제1 편집 명령어에 따라 변경된 상기 제1 마크업 언어 기반 문서 상에 존재하는 적어도 하나의 개체의 위치 변화를 기초로 다른 문서 편집 세션들을 통해 입력된 나머지 편집 명령어들이 적용될 상기 제1 마크업 언어 기반 문서 상에서의 위치를 변환하여 상기 변환된 위치에 따라 상기 나머지 편집 명령어들을 상기 1차 문서 편집이 완료된 상기 제1 마크업 언어 기반 문서에 반영함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
여기서, 상기 적어도 하나의 개체란 문서 상에 존재하는 텍스트, 이미지, 도형 등과 같이 상기 제1 마크업 언어 기반 문서에 삽입되어 있는 콘텐츠들을 의미한다.
이하에서는 동시 편집 수행부(112)가 상기 n개의 문서 편집 세션들 별로 각 편집 명령어들에 대한 운영변환을 통해 상기 제1 마크업 언어 기반 문서에 편집을 반영하는 과정을 예를 들어 상세히 설명하기로 한다.
우선, 도 2에 도시된 바와 같이, 상기 제1 마크업 언어 기반 문서에 "abcdefg"라고 하는 텍스트가 삽입되어 있고, n이 "2"인 관계로 편집 세션 생성부(111)가 문서 편집 세션 1(211), 문서 편집 세션 2(212)를 생성하였으며, 문서 편집 세션 1(211)에서는 "a"와 "b" 사이에 "e"가 삽입되는 편집 명령어 A가 입력되고, 문서 편집 세션 2(212)에서는 "c"가 삭제되는 편집 명령어 B가 입력되는 경우를 가정하자.
이때, "abcdefg"라는 텍스트 각각의 위치에 대한 좌표 값을 좌측에서 우측 방향으로 "0, 1, 2, 3, 4, 5, 6"이라고 정의하면, 문서 편집 세션 1(211)에서 입력된 편집 명령어 A는 "1"이라는 좌표 값의 위치에 "e"를 삽입하는 편집 명령으로 정의할 수 있고, 문서 편집 세션 2(212)에서 입력된 편집 명령어 B는 "2"라는 좌표 값의 위치에 존재하는 "c"를 삭제하는 편집 명령으로 정의할 수 있다.
이때, 동시 편집 수행부(112)는 문서 편집 세션 1(211)에 대해, 문서 편집 세션 1(211)에서 입력된 "1"이라는 좌표 값의 위치에 "e"를 삽입하라는 편집 명령어 A에 따라, "a"와 "b" 사이에 "e"를 삽입하여 "aebcdefg"라는 1차 문서 편집을 수행한 후 상기 편집 명령어 A에 따라 변경된 "aebcdefg"의 위치 변화를 기초로 문서 편집 세션 2(212)에서 입력된 "2"라는 좌표 값의 위치에 존재하는 "c"를 삭제하라는 편집 명령어 B를 "3"이라는 좌표 값의 위치에 존재하는 "c"를 삭제하라는 편집 명령으로 변환을 수행한 후 변환된 편집 명령에 기초하여 "aebcdefg"로부터 "c"를 삭제함으로써, 최종적으로 "aebdefg"라는 편집된 제1 마크업 언어 기반 문서를 생성할 수 있다.
이와 동시에, 동시 편집 수행부(112)는 문서 편집 세션 2(212)에 대해, 문서 편집 세션 2(212)에서 입력된 "2"라는 좌표 값의 위치에 존재하는 "c"를 삭제하라는 편집 명령어 B에 따라, "abcdefg"로부터 "c"를 삭제하여 "abdefg"라는 1차 문서 편집을 수행한 후 상기 편집 명령어 B에 따라 변경된 "abdefg"의 위치 변화를 기초로 문서 편집 세션 1(211)에서 입력된 "1"이라는 좌표 값의 위치에 "e"를 삽입하라는 편집 명령어 A를 "1"이라는 좌표 값의 위치에 "e"를 삽입하라는 편집 명령으로 변환을 수행한 후 변환된 편집 명령에 기초하여 "a"와 "b"사이 "e"를 삽입함으로써, 최종적으로 "aebdefg"라는 편집된 제1 마크업 언어 기반 문서를 생성할 수 있다. 이때, 동시 편집 수행부(112)는 문서 편집 세션 2(212)에 대해서, 상기 편집 명령어 B가 상기 제1 마크업 언어 기반 문서에 반영되더라도 상기 편집 명령어 A가 적용될 좌표 상의 위치는 변화하지 않기 때문에 상기 편집 명령어 A에 대해서 별도의 변환을 수행하지 않고, 바로 상기 편집 명령어 A를 상기 제1 마크업 언어 기반 문서에 반영함으로써, "aebdefg"라는 편집된 제1 마크업 언어 기반 문서를 생성하도록 구성될 수도 있다.
본 발명의 일실시예에 따르면, 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치(110)는 정합성 검증 결과 전송부(115)를 더 포함할 수 있다.
정합성 검증 결과 전송부(115)는 상기 복수의 편집 명령 세트들 별로 수행된, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부에 대한 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 원격의 이슈 트래킹(tracking) 시스템(120)에 전송한다.
이때, 원격의 이슈 트래킹 시스템(120)은 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보가 수신되면, 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 관리 데이터베이스에 서로 대응시켜 저장할 수 있다.
관련해서, 정합성 검증 결과 전송부(115)는 상기 표 1과 같은 복수의 편집 명령 세트들 중 "편집 명령 세트 1"에 대해서 상기 제1 마크업 언어 기반 문서에 대한 정합성 판단이 수행되면, 그에 대한 정합성 판단 결과와 상기 "편집 명령 세트 1"에 대한 정보를 원격의 이슈 트래킹 시스템(120)에 전송할 수 있고, 그 다음 "편집 명령 세트 2"에 대해서 상기 제1 마크업 언어 기반 문서에 대한 정합성 판단이 수행되면, 그에 대한 정합성 판단 결과와 상기 "편집 명령 세트 2"에 대한 정보를 원격의 이슈 트래킹 시스템(120)에 전송하는 방식으로, 각 편집 명령 세트에 대한 정합성 판단이 수행될 때마다 그에 따른 정합성 판단 결과와 대응하는 편집 명령 세트에 대한 정보를 원격의 이슈 트래킹 시스템(120)에 전송할 수 있다.
이때, 원격의 이슈 트래킹 시스템(120)은 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보가 수신되면, 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 상기 관리 데이터베이스에 서로 대응시켜 저장함으로써, 개발자가 각 편집 명령 세트에 대한 동시 편집 지원 가능여부를 체계적으로 관리할 수 있도록 지원할 수 있다.
또한, 본 발명의 일실시예에 따르면, 원격의 이슈 트래킹 시스템(120)은 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보가 수신되면, 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 상기 관리 데이터베이스에 서로 대응시켜 저장함과 동시에 개발자의 기 등록된 이 메일 주소를 수신측으로 하여 상기 정합성 판단 결과와 상기 편집 명령 세트에 대한 정보를 개발자의 이 메일로 전송하도록 구성될 수 있다.
도 3은 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법을 도시한 순서도이다.
단계(S310)에서는 브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 n(n은 2이상의 자연수)명의 유저들이 동시에 편집이 가능하도록 하는 n개의 문서 편집 세션들을 생성한다.
단계(S320)에서는 상기 n개의 문서 편집 세션들을 통해 선정된 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성한다.
단계(S330)에서는 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단한다.
이때, 본 발명의 일실시예에 따르면, 상기 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법은 하나의 마크업 언어 기반 문서에 대해 n명의 유저들로부터 동시에 인가 가능한 것으로 미리 지정된 n개의 서로 다른 편집 명령어들을 포함하는 복수의 편집 명령 세트들이 저장되어 있는 편집 명령 세트 저장부를 유지하는 단계를 더 포함할 수 있다.
이때, 단계(S320)에서는 상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들을 통해 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있고, 단계(S330)에서는 상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법은 상기 복수의 편집 명령 세트들 별로 수행된, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부에 대한 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 원격의 이슈 트래킹 시스템에 전송하는 단계를 더 포함할 수 있다.
이때, 상기 원격의 이슈 트래킹 시스템은 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보가 수신되면, 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 관리 데이터베이스에 서로 대응시켜 저장할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 반영하기 위한 운영변환을 수행하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들 중 자신의 문서 편집 세션을 통해 입력된 제1 편집 명령어를 상기 제1 마크업 언어 기반 문서에 우선 반영하여 1차 문서 편집을 수행한 후 상기 제1 편집 명령어에 따라 변경된 상기 제1 마크업 언어 기반 문서 상에 존재하는 적어도 하나의 개체의 위치 변화를 기초로 다른 문서 편집 세션들을 통해 입력된 나머지 편집 명령어들이 적용될 상기 제1 마크업 언어 기반 문서 상에서의 위치를 변환하여 상기 변환된 위치에 따라 상기 나머지 편집 명령어들을 상기 1차 문서 편집이 완료된 상기 제1 마크업 언어 기반 문서에 반영함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법은 도 1과 도 2를 이용하여 설명한 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. 하나의 마크업 언어(Markup Language) 기반 문서에 대해 n(n은 2이상의 자연수)명의 유저들로부터 동시에 인가 가능한 것으로 미리 지정된 n개의 서로 다른 편집 명령어들을 포함하는 복수의 편집 명령 세트들이 저장되어 있는 편집 명령 세트 저장부;
    브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 n명의 유저들이 동시에 편집이 가능하도록 하는 n개의 문서 편집 세션들을 생성하는 편집 세션 생성부;
    상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들을 통해 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 동시 편집 수행부; 및
    상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그(tag)를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단하는 문서 정합 판단부
    를 포함하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 편집 명령 세트들 별로 수행된, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부에 대한 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 원격의 이슈 트래킹(tracking) 시스템에 전송하는 정합성 검증 결과 전송부
    를 더 포함하고,
    상기 원격의 이슈 트래킹 시스템은
    상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보가 수신되면, 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 관리 데이터베이스에 서로 대응시켜 저장하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치.
  4. 제1항에 있어서,
    상기 동시 편집 수행부는
    상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 반영하기 위한 운영변환(Operational Transformation)을 수행하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치.
  5. 제4항에 있어서,
    상기 동시 편집 수행부는
    상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들 중 자신의 문서 편집 세션을 통해 입력된 제1 편집 명령어를 상기 제1 마크업 언어 기반 문서에 우선 반영하여 1차 문서 편집을 수행한 후 상기 제1 편집 명령어에 따라 변경된 상기 제1 마크업 언어 기반 문서 상에 존재하는 적어도 하나의 개체의 위치 변화를 기초로 다른 문서 편집 세션들을 통해 입력된 나머지 편집 명령어들이 적용될 상기 제1 마크업 언어 기반 문서 상에서의 위치를 변환하여 상기 변환된 위치에 따라 상기 나머지 편집 명령어들을 상기 1차 문서 편집이 완료된 상기 제1 마크업 언어 기반 문서에 반영함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치.
  6. 컴퓨터에 의해 수행되는 마크업 언어(Markup Language) 기반 문서에 대한 동시 편집 정합성 검증 방법에 있어서,
    하나의 마크업 언어 기반 문서에 대해 n(n은 2이상의 자연수)명의 유저들로부터 동시에 인가 가능한 것으로 미리 지정된 n개의 서로 다른 편집 명령어들을 포함하는 복수의 편집 명령 세트들이 저장되어 있는 편집 명령 세트 저장부를 유지하는 단계;
    브라우저를 통해 제1 마크업 언어 기반 문서에 대해 가상의 n명의 유저들이 동시에 편집이 가능하도록 하는 n개의 문서 편집 세션들을 생성하는 단계;
    상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들을 통해 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 인가하여 상기 제1 마크업 언어 기반 문서에 대한 동시 편집을 수행함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 단계; 및
    상기 복수의 편집 명령 세트들 별로, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그(tag)를 상호 비교하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부를 판단하는 단계
    를 포함하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 복수의 편집 명령 세트들 별로 수행된, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서의 태그가 서로 일치하는지 여부에 대한 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 원격의 이슈 트래킹(tracking) 시스템에 전송하는 단계
    를 더 포함하고,
    상기 원격의 이슈 트래킹 시스템은
    상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보가 수신되면, 상기 정합성 판단 결과와 그에 대응되는 편집 명령 세트에 대한 정보를 관리 데이터베이스에 서로 대응시켜 저장하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법.
  9. 제6항에 있어서,
    상기 제1 마크업 언어 기반 문서를 생성하는 단계는
    상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들을 상기 제1 마크업 언어 기반 문서에 동시에 반영하기 위한 운영변환(Operational Transformation)을 수행하여 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법.
  10. 제9항에 있어서,
    상기 제1 마크업 언어 기반 문서를 생성하는 단계는
    상기 n개의 문서 편집 세션들 별로, 상기 복수의 편집 명령 세트들 각각에 포함되어 있는 상기 n개의 서로 다른 편집 명령어들 중 자신의 문서 편집 세션을 통해 입력된 제1 편집 명령어를 상기 제1 마크업 언어 기반 문서에 우선 반영하여 1차 문서 편집을 수행한 후 상기 제1 편집 명령어에 따라 변경된 상기 제1 마크업 언어 기반 문서 상에 존재하는 적어도 하나의 개체의 위치 변화를 기초로 다른 문서 편집 세션들을 통해 입력된 나머지 편집 명령어들이 적용될 상기 제1 마크업 언어 기반 문서 상에서의 위치를 변환하여 상기 변환된 위치에 따라 상기 나머지 편집 명령어들을 상기 1차 문서 편집이 완료된 상기 제1 마크업 언어 기반 문서에 반영함으로써, 상기 n개의 문서 편집 세션들 각각에서 편집이 완료된 상기 제1 마크업 언어 기반 문서를 생성하는 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 방법.
  11. 제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터로 하여금 수행하도록 하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020177000807A 2016-06-27 2016-06-27 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법 KR101754258B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/006870 WO2018004020A1 (ko) 2016-06-27 2016-06-27 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101754258B1 true KR101754258B1 (ko) 2017-07-05

Family

ID=59352344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177000807A KR101754258B1 (ko) 2016-06-27 2016-06-27 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법

Country Status (3)

Country Link
US (1) US11093705B2 (ko)
KR (1) KR101754258B1 (ko)
WO (1) WO2018004020A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101991306B1 (ko) * 2018-04-13 2019-06-20 주식회사 한글과컴퓨터 조건부 서식에 기초하여 도형의 개체 속성을 변경하는 장치 및 이의 동작 방법
KR20190115783A (ko) * 2018-04-03 2019-10-14 주식회사 한글과컴퓨터 개체 일괄 편집 방법 및 이를 이용하는 개체 일괄 편집 장치
KR102447177B1 (ko) * 2022-05-10 2022-09-23 이인상 전자문서를 관리하는 전자장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10607001B2 (en) * 2016-06-29 2020-03-31 Hancom Inc. Web-based electronic document service apparatus capable of authenticating document editing and operating method thereof
US10313187B2 (en) * 2017-03-31 2019-06-04 T-Mobile Usa, Inc. Enhanced dynamic device configuration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656419B1 (ko) * 2005-09-02 2006-12-11 삼성에스디에스 주식회사 정보시스템 개발장치 및 방법
US20150199319A1 (en) * 2006-08-16 2015-07-16 Google Inc. Real-Time Document Sharing and Editing
KR101647765B1 (ko) 2015-03-20 2016-08-12 (주)솔트웍스 문서 통합 관리 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769810B1 (en) * 2007-04-26 2010-08-03 Adobe Systems Incorporated Method and system for collaborative editing
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US20090249224A1 (en) 2008-03-31 2009-10-01 Microsoft Corporation Simultaneous collaborative review of a document
US20120101980A1 (en) 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits
US8739021B2 (en) * 2010-11-04 2014-05-27 Microsoft Corporation Version history inside document
US10387836B2 (en) * 2015-11-24 2019-08-20 David Howard Sitrick Systems and methods providing collaborating among a plurality of users
CN102262620B (zh) 2011-08-04 2014-11-26 无锡永中软件有限公司 一种文档协作方法
US20150199318A1 (en) * 2011-09-02 2015-07-16 Micah Lemonik System and Method for Using a Third-Party Add-On in a Collaborative On-Line Software Development Environment
US20150199317A1 (en) * 2011-09-02 2015-07-16 Micah Lemonik System and Method for Using a Third-Party Add-On to Manipulate a Document in a Collaborative Online Software Development Environment
US9286597B2 (en) 2012-03-30 2016-03-15 Microsoft Technology Licensing, Llc Tracking co-authoring conflicts using document comments
CN104516927B (zh) * 2013-09-30 2017-09-12 腾讯科技(深圳)有限公司 文档处理方法、装置和终端
US20150341399A1 (en) 2014-05-23 2015-11-26 Samsung Electronics Co., Ltd. Server and method of providing collaboration services and user terminal for receiving collaboration services
US10169552B2 (en) * 2015-07-17 2019-01-01 Box, Inc. Event-driven generation of watermarked previews of an object in a collaboration environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656419B1 (ko) * 2005-09-02 2006-12-11 삼성에스디에스 주식회사 정보시스템 개발장치 및 방법
US20150199319A1 (en) * 2006-08-16 2015-07-16 Google Inc. Real-Time Document Sharing and Editing
KR101647765B1 (ko) 2015-03-20 2016-08-12 (주)솔트웍스 문서 통합 관리 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190115783A (ko) * 2018-04-03 2019-10-14 주식회사 한글과컴퓨터 개체 일괄 편집 방법 및 이를 이용하는 개체 일괄 편집 장치
KR102036915B1 (ko) * 2018-04-03 2019-10-25 주식회사 한글과컴퓨터 개체 일괄 편집 방법 및 이를 이용하는 개체 일괄 편집 장치
KR101991306B1 (ko) * 2018-04-13 2019-06-20 주식회사 한글과컴퓨터 조건부 서식에 기초하여 도형의 개체 속성을 변경하는 장치 및 이의 동작 방법
KR102447177B1 (ko) * 2022-05-10 2022-09-23 이인상 전자문서를 관리하는 전자장치

Also Published As

Publication number Publication date
US20180267944A1 (en) 2018-09-20
US11093705B2 (en) 2021-08-17
WO2018004020A1 (ko) 2018-01-04

Similar Documents

Publication Publication Date Title
KR101754258B1 (ko) 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법
KR101826625B1 (ko) 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
KR101746477B1 (ko) 개체에 대한 스타일 동시 편집을 지원하는 문서 협업 장치 및 그 동작 방법
US20190171697A1 (en) System and method for web content presentation management
KR101774267B1 (ko) 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
US20140075345A1 (en) Development of process integration scenarios on mobile devices
US8892994B2 (en) System, method, and architecture for displaying a document
US8700986B1 (en) System and method for displaying a document containing footnotes
CN105556533A (zh) 自动生成证书文档
US20120310709A1 (en) Computer-implemented method and apparatus for integrating heterogeneous business processes
KR101797573B1 (ko) 웹 기반의 스프레드시트 서비스 제공 장치 및 방법
US20120240027A1 (en) System and Method for Displaying a Document
US11526367B1 (en) Systems and methods for translation of a digital document to an equivalent interactive user interface
KR102013620B1 (ko) 웹 기반 문서의 템플릿을 변경하는 웹 기반 문서 편집 서버 및 이의 동작 방법
US20110246559A1 (en) Four tier architecture for implementing thin clients
KR101965722B1 (ko) 단독 편집 및 동시 편집인지에 따라 웹 문서에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법
KR101798867B1 (ko) 업무 시스템 개발 방법 및 장치
KR102017293B1 (ko) 문서 공동 편집 환경에서 효율적 편집 명령의 전송 처리를 수행하는 클라이언트 단말 장치 및 그 동작 방법
Chelemen Modeling a web application for cloud content adaptation with ASMs
CN107544750A (zh) 终端设备
KR102004975B1 (ko) 웹 기반 문서 저장 서버들 각각에 원격 접속하여 웹 기반 문서를 편집하는 장치 및 이의 동작 방법
KR101999580B1 (ko) 원격지로부터의 미지원 편집 명령에 대한 편집 신뢰성을 보장하는 장치 및 이의 동작 방법
KR102010553B1 (ko) 문서 공동 편집 환경에서 블록체인 기반의 편집 명령의 전파가 가능한 클라이언트 단말 장치 및 그 동작 방법
KR102000542B1 (ko) 페이지 변경 편집 명령에 기초하여 돔 객체들을 편집하는 웹 문서 편집 장치 및 이의 동작 방법
KR102000543B1 (ko) 웹 전자 문서 편집 장치 및 이의 동작 방법

Legal Events

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