KR102472345B1 - 계층화 문서를 관리하는 방법 및 이를 이용한 장치 - Google Patents

계층화 문서를 관리하는 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR102472345B1
KR102472345B1 KR1020220049369A KR20220049369A KR102472345B1 KR 102472345 B1 KR102472345 B1 KR 102472345B1 KR 1020220049369 A KR1020220049369 A KR 1020220049369A KR 20220049369 A KR20220049369 A KR 20220049369A KR 102472345 B1 KR102472345 B1 KR 102472345B1
Authority
KR
South Korea
Prior art keywords
document
layered
version
identifier
layered document
Prior art date
Application number
KR1020220049369A
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 KR1020220049369A priority Critical patent/KR102472345B1/ko
Application granted granted Critical
Publication of KR102472345B1 publication Critical patent/KR102472345B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 개시서에는 계층화 문서(hierarchical document)를 관리하는 방법 및 이를 이용한 컴퓨팅 장치가 개시된다. 구체적으로, 본 개시서의 일 실시 예에 의하면, 그 방법은, 계층화 문서 생성 요청에 응하여, 상기 컴퓨팅 장치가, 하나의 최상위 문서를 포함하는 상기 계층화 문서를 신규 생성하여 보유함, 신규 문서 추가 요청에 응하여, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가함, 및 문서 수정 요청에 응하여, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정함을 포함한다.

Description

계층화 문서를 관리하는 방법 및 이를 이용한 장치{METHOD FOR MANAGING HIERARCHICAL DOCUMENTS AND APPARATUS USING THE SAME}
본 개시서에는 계층화 문서(hierarchical document)를 관리하는 방법 및 이를 이용한 컴퓨팅 장치가 개시된다. 구체적으로, 본 개시서의 일 실시 예에 의하면, 그 방법은, 계층화 문서 생성 요청에 응하여, 상기 컴퓨팅 장치가, 하나의 최상위 문서를 포함하는 상기 계층화 문서를 신규 생성하여 보유함, 신규 문서 추가 요청에 응하여, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가함, 및 문서 수정 요청에 응하여, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정함을 포함한다.
소프트웨어의 발달에 힘입어, 계층적 구조를 가진 다양한 데이터들과 이들을 다루는 기술들이 발전하고 있다.
예를 들어, 미국 등록특허 제6,216,140호에는 계층적으로 조직화된 대용량 정보를 효율적으로 관리, 특히, 복제 및 공유하는 기술적 방안이 제시되어 있는데, 이는 주로 가상 복제본(virtual copy) 및 링크(link)에 기반하고 있다. 이 문헌에는, 편집에 의한 현재본 또는 현재 판(version)의 변경 시에 그 변경의 이력이 이용된다는 점 외에, 그러한 변경 이력이 지속적으로 저장 및 관리되어 필요한 때마다 원하는 시점의 계층적 문서를 복원 또는 재구성할 수 있게 하는 기술적 방안은 결여되어 있는 단점이 있다.
마찬가지로, 부모-자식 노드 간의 계층 관계와 링크(link)가 언급되어 계층화 데이터가 다루어지는 미국 등록특허 제6,336,123호에 의하여도 특정 시점, 과거의 특정 판(version)에 해당하는 계층적 문서를 복원 또는 재구성하는 방안은 드러나 있지 않은 한계가 있다.
한편, 과거 시점의 데이터 복원 또는 재구성에 관한 종래 기술에는 미국 등록특허 제8,005,979호에 개시된 바와 같이, 전체 파일-수준 백업, 복수개의 데이터 세트에 관한 스냅샷(snapshot), 증분 백업 기술 등이 있으나, 개별 기술들이 파일과 디렉토리로 구성된 계층에 관하여 적용된 사례 외에는 계층적으로 구조화된 개별의 문서 묶음, 즉, 계층화 문서 각각을 타깃으로 구현해 보이지 않아 계층화 문서마다 어떻게 이력 추적 및 복원이 가능하게 할 수 있는 것인지 분명하지 않은바, 요컨대, 개별 계층화 문서로의 용례 확장이 쉽지 않은 한계점이 있다.
따라서 본 개시서에서는 전술한 종래 기술의 한계점을 극복하여 계산량과 저장소 용량을 효율적으로 이용하면서도 과거 특정 시점 또는 특정 판(version)이었던 시점의 계층화 문서를 쉽게 재구성하여 열람할 수 있게 하는 계층화 문서 관리 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 개시서의 일 태양에 따르면, 컴퓨팅 장치에 의하여 계층화 문서(hierarchical document)를 관리하는 방법이 제공되는바, 그 계층화 문서는 0의 수준(level)을 가지는 적어도 하나의 최상위 문서(root document)를 포함하고, 상기 계층화 문서는 1 이상의 수준을 가지는 문서를 선택적(optionally)으로 더 포함하되, 상기 1 이상의 수준을 가지는 적어도 하나의 문서가 상기 계층화 문서 내에 포함되는 경우, 상기 계층화 문서는, 상기 계층화 문서 내에서 1 이상의 수준 n을 가지는 모든 문서 각각이 n-1의 수준을 가지는 하나의 문서에 포함됨을 표시하는 각각의 포함 관계를 더 포함하며, 상기 계층화 문서는 상기 계층화 문서에 포함되는 모든 문서들 각각의 정정(revision) 회차 및 상기 포함 관계의 정정 회차에 관한 정보를 더 포함하고, 상기 방법은, 계층화 문서 생성 요청에 응하여, 상기 컴퓨팅 장치가, 하나의 상기 최상위 문서를 포함하는 상기 계층화 문서를 신규 생성하여 보유함; 신규 문서 추가 요청에 응하여, 상기 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가함; 및 문서 수정 요청에 응하여, 상기 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정함을 포함한다.
바람직하게, 상기 계층화 문서는 상기 계층화 문서를 식별하기 위한 문서 식별자(document identifier), 상기 문서 식별자에 대응하되 상기 계층화 문서의 변경 이력 중에서 특정 시점에서의 상기 계층화 문서의 상태에 대응하는 판(version)을 식별하기 위한 판 식별자(version identifier), 상기 판 식별자에 해당하는 판의 계층화 문서에 포함된 개별 문서에 대응하는 적어도 하나의 판 항목(version item)으로써 소정의 저장소에서 관리되고, 상기 방법은, 문서 식별자가 포함된 현재 상태의 문서 독출 요청 또는 판 식별자가 포함된 이전 상태(current or old status)의 문서 독출 요청에 응하여, 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서를 상기 저장소로부터 독출함을 더 포함한다.
일 실시 예에서, 상기 현재 상태의 문서 독출 요청에 응하여 상기 계층화 문서를 독출함은, 상기 문서 식별자를 키(key)로 이용하여 상기 판 식별자를 획득하는 단계; 상기 문서 식별자 및 상기 판 식별자 중 적어도 상기 판 식별자를 키로 이용하여 판 항목을 획득하는 단계; 및 상기 판 항목을 키로 이용하여 상기 계층화 문서에 포함된 모든 개별 문서들 및 상기 개별 문서들 사이의 포함 관계를 획득함으로써, 상기 계층화 문서를 재구성하는 단계를 포함한다.
다른 실시 예에서, 상기 이전 상태의 문서 독출 요청에 응하여 상기 계층화 문서를 독출함은, 상기 문서 식별자 및 판 식별자 중 적어도 상기 판 식별자를 키(key)로 이용하여 판 항목을 획득하는 단계; 및 상기 판 항목을 키로 이용하여 상기 계층화 문서에 포함된 모든 개별 문서들 및 상기 개별 문서들 사이의 포함 관계를 획득함으로써, 상기 계층화 문서를 재구성하는 단계를 포함한다.
유리하게, 상기 계층화 문서를 신규 생성하여 보유함은, 계층화 문서 생성 요청이 획득되면, 상기 컴퓨팅 장치가, 신규의 계층화 문서 및 상기 계층화 문서의 문서 식별자를 생성함; 상기 계층화 문서의 현재 상태에 대응하는 판을 식별하기 위한 판 식별자(version identifier)를 생성함; 및 상기 계층화 문서에 포함된 신규의 최상위 문서를 생성하고, 상기 신규의 최상위 문서에 대응하되 상기 판 식별자로 검색 가능한 판 항목(version item)을 생성하여 소정의 저장소에 기록함을 포함한다.
바람직하게, 상기 신규 문서를 추가함은, 상기 컴퓨팅 장치가, 상기 이미 생성된 계층화 문서 내에서 상기 신규 문서의 부모 문서로 지정된 문서에 상기 신규 문서가 포함되는 포함 관계를 가지도록 상기 계층화 문서 내에 상기 신규 문서를 포함시키는 단계; 및 상기 신규 문서에 대응하되 상기 이미 생성된 계층화 문서의 판 식별자로 검색 가능한 판 항목(version item)을 생성하여 소정의 저장소에 기록함을 포함한다.
유리하게, 상기 개별 문서 또는 포함 관계를 수정함은, 수정 전의 상기 개별 문서 또는 포함 관계의 내용을 상기 수정 전의 개별 문서 또는 상기 포함 관계의 판 항목에 기록된 수정 전의 정정 회차에 대응시켜 소정의 저장소에 기록함; 및 수정된 내용을 상기 개별 문서 또는 포함 관계에 반영함; 및 상기 개별 문서 또는 상기 포함 관계의 판 항목에 기록된 정정 회차를 1만큼 증가시키고, 상기 계층화 문서의 판의 정정 회차를 1만큼 증가시킴을 포함한다.
더 유리하게, 상기 포함 관계를 수정함은, 상기 포함 관계에 연관된 부모 문서 및 자식 문서의 판 항목에 기록된 정정 회차를 1만큼 증가시킴을 더 포함한다.
바람직하게, 상기 계층화 문서는 동일한 문서에 포함되는 2 이상의 문서들 사이의 순서(order)에 관한 정보인 순서 정보를 더 포함하고, 상기 방법은, 순서 정보 변경 요청에 응하여, 상기 컴퓨팅 장치가, 동일한 문서에 포함되는 2 이상의 문서들 사이의 순서를 변경함을 더 포함한다.
유리하게, 상기 방법은, 중요시점 설정 요청에 응하여, 상기 컴퓨팅 장치가, 상기 계층화 문서의 현재 상태를 중요시점(milestone)으로 설정함을 더 포함한다.
더 유리하게, 상기 계층화 문서의 현재 상태를 중요시점으로 설정함은, (i) 상기 중요시점의 제목(title) 및 상기 중요시점에 관한 설명(description) 중 적어도 하나 및 (ii) 상기 계층화 문서의 판 식별자(version identifier), 상기 계층화 문서의 판 식별자에 대응하는 판의 정정 회차(revision number) 및 상기 계층화 문서에 포함된 개별 문서들 및 포함 관계들 각각에 대응하는 판 항목에 기록된 정정 회차(revision number)를 포함하는 판 정정 정보(version revision information)를 포함하는 중요시점 데이터 및 상기 중요시점 데이터의 정정 회차의 정보를 상기 계층화 문서에 포함시키되 상기 중요시점 데이터의 상기 정정 회차를 1회로 설정함을 포함한다.
더욱 더 유리하게, 상기 계층화 문서의 현재 상태를 중요시점으로 설정함은, 상기 계층화 문서의 정정 회차를 1만큼 증가시킴을 더 포함한다.
본 발명의 다른 태양에 따르면, 본 발명에 따른 방법들을 수행하도록 구현된 명령어들(instructions)을 포함하는 컴퓨터 프로그램도 제공된다. 예를 들어, 그러한 컴퓨터 프로그램은 기계 판독 가능한 비일시적 기록 매체에 저장될 수 있다.
본 발명의 또 다른 태양에 따르면, 계층화 문서(hierarchical document)를 관리하는 컴퓨팅 장치가 제공되는바, 상기 계층화 문서는 0의 수준(level)을 가지는 적어도 하나의 최상위 문서(root document)를 포함하고, 상기 계층화 문서는 1 이상의 수준을 가지는 문서를 선택적(optionally)으로 더 포함하되, 상기 1 이상의 수준을 가지는 적어도 하나의 문서가 상기 계층화 문서 내에 포함되는 경우, 상기 계층화 문서는, 상기 계층화 문서 내에서 1 이상의 수준 n을 가지는 모든 문서 각각이 n-1의 수준을 가지는 하나의 문서에 포함됨을 표시하는 각각의 포함 관계를 더 포함하며, 상기 계층화 문서는 상기 계층화 문서에 포함되는 모든 문서들 각각의 정정(revision) 회차 및 상기 포함 관계의 정정 회차에 관한 정보를 더 포함하고, 상기 컴퓨팅 장치는, 계층화 문서 생성 요청, 신규 문서 추가 요청, 또는 문서 수정 요청을 획득하는 통신부; 및 계층화 문서 생성 요청에 응하여, 하나의 상기 최상위 문서를 포함하는 상기 계층화 문서를 신규 생성하여 보유하는 프로세스, 신규 문서 추가 요청에 응하여, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가하는 프로세스; 및 문서 수정 요청에 응하여, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정하는 프로세스를 수행하는 프로세서를 포함한다.
본 발명에 의하면 계층화 문서를 그 모든 변경 이력과 함께 저장할 수 있어 과거 특정 시점 또는 특정 번호에 해당하는 판(version)의 계층화 문서를 쉽게 복원 또는 재구성하여 열람할 수 있으면서도 계층화 문서의 관리에 소요되는 계산량 및 그 계층화 문서의 데이터가 차지하는 저장소 용량이 절감되는 효과가 있다.
본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)은 별개의 발명에 이를 정도의 노력 없이 이 도면들에 기초하여 다른 도면들을 얻을 수 있다.
도 1은 본 개시서에 따라 계층화 문서(hierarchical document)를 관리하는 방법(이하 "계층화 문서 관리 방법"이라 함)을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.
도 2는 본 개시서에서 다뤄지는 계층화 문서를 예시적으로 도시한 블록도이다.
도 3은 본 개시서에서 다뤄지는 계층화 문서 및 그 변경 이력을 예시적으로 도시한 블록도이다.
도 4는 본 개시서에 따른 계층화 문서 관리 방법을 수행하는 컴퓨팅 장치의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이다.
도 5는 본 개시서에 따른 계층화 문서 관리 방법의 일 실시 예를 도시한 흐름도이다.
도 6은 본 개시서의 문서 생성 모듈에 의하여 계층화 문서가 신규 생성되거나 신규 문서가 계층화 문서에 추가되는 과정을 예시적으로 나타낸 흐름도이다.
도 7은 본 개시서의 계층화 문서 관리 방법에 따라 계층화 문서 및 그 계층화 문서의 판(version)이 관리되는 방식을 설명하기 위하여 판 및 판 항목들을 개념적으로 도시한 블록도이다.
도 8은 본 개시서의 계층화 문서 관리 방법에 따라 특정 판의 계층화 문서를 독출하는 과정을 예시적으로 나타낸 흐름도이다.
도 9는 본 개시서의 계층화 문서 관리 방법에 따라 개별 문서 또는 포함 관계가 수정되는 방식을 설명하기 위하여 계층화 문서들을 개념적으로 도시한 블록도이다.
도 10은 본 개시서의 계층화 문서 관리 방법에 따라 개별 문서 또는 포함 관계가 수정되는 과정을 예시적으로 나타낸 흐름도이다.
도 11은 본 개시서의 계층화 문서 관리 방법에 따라 계층화 문서에 추가되는 중요시점 데이터의 구조를 예시적으로 나타낸 블록도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
실시 예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시 예들은 특정한 개시형태로 한정되는 것이 아니며, 본 개시서의 범위는 기술적 사상에 포함되는 변경, 균등물 또는 대체물을 포함한다.
"제1" 또는 "제2" 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 하는바, 어떠한 순서도 시사하고 있지 않기 때문이다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시서에서 "계층화 문서"는 서로 포함 관계로 이어지는 하나 이상의 "개별 문서"들을 포함하는 문서 묶음을 지칭하는 개념이다. 편의 상, 본 개시서에서 어느 문서 A가 다른 문서 B를 포함할 때, 그 다른 문서 B를 포함하는 문서 A를 문서 B의 "부모 문서"라고 지칭하고, 문서 A에 포함되는 문서 B를 문서 A의 "자식 문서"라고 지칭한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
더욱이 본 발명은 본 개시서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 개시서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 개시서에 따른 계층화 문서 관리 방법을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.
도 1을 참조하면, 본 개시서의 일 실시 예에 따른 컴퓨팅 장치(100)는, 통신부(110) 및 프로세서(120)를 포함하며, 상기 통신부(110)를 통하여 외부 컴퓨팅 장치(미도시)와 직간접적으로 통신할 수 있다.
구체적으로, 상기 컴퓨팅 장치(100)는, 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터, 프로세서, 메모리, 스토리지(storage), 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. 상기 스토리지는 하드 디스크, USB(Universal Serial Bus) 메모리와 같은 기억 장치뿐만 아니라 클라우드 서버와 같은 네트워크 연결 기반의 저장 장치의 형태를 포함할 수 있다.
이와 같은 컴퓨팅 장치의 통신부(110)는 연동되는 타 컴퓨팅 장치, 예컨대 전용 저장소, 예컨대, 데이터베이스 서버 등과의 사이에서 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(Transmission Control Protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는 바, 예컨대 UDP(User Datagram Protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다.
구체적으로, 통신부(110)는 통신 인터페이스를 포함하는 통신 모듈의 형태로 구현될 수 있다. 이를테면, 통신 인터페이스는 WLAN(Wireless LAN), WiFi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMax(World interoperability for Microwave access), HSDPA(High Speed Downlink Packet Access) 등의 무선 인터넷 인터페이스와 블루투스(Bluetooth™), RFID(Radio Frequency IDentification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra-WideBand), ZigBee, NFC(Near Field Communication) 등의 근거리 통신 인터페이스를 포함할 수 있다. 뿐만 아니라, 통신 인터페이스는 프로세서가 외부와 통신을 수행할 수 있는 모든 인터페이스(예를 들어, 버스, 유무선 인터페이스)를 나타낼 수 있다.
예를 들어, 통신부(110)는 이와 같이 적합한 통신 인터페이스를 통해 타 컴퓨팅 장치로부터 데이터를 송수신할 수 있다. 덧붙여, 넓은 의미에서 상기 통신부(110)는 명령어 또는 지시 등을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치, 인쇄 장치, 디스플레이, 기타 외부 출력 장치를 포함하거나 이들과 연동될 수 있다. 컴퓨팅 장치, 예컨대 휴대 단말의 사용자에게 적절한 사용자 인터페이스를 표시하여 제공함으로써 사용자와의 상호작용을 가능하게 하기 위하여, 컴퓨팅 장치(100)는 디스플레이부를 내장하거나 상기 통신부(110)를 통하여 외부의 디스플레이 장치와 연동될 수 있음이 알려져 있다. 예컨대, 그러한 디스플레이부 또는 디스플레이 장치는 터치 입력이 가능한 터치스크린일 수 있다.
또한, 컴퓨팅 장치의 프로세서(120)는 MPU(micro processing unit), CPU(central processing unit), GPU(graphics processing unit), NPU(neural processing unit) 또는 TPU(tensor processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
이제 도 2 내지 도 11를 참조하여 본 개시서에 따른 계층화 문서 관리 방법을 상세히 후술하기로 한다.
도 2는 본 개시서에서 다뤄지는 계층화 문서를 예시적으로 도시한 블록도이고, 도 3은 본 개시서에서 다뤄지는 계층화 문서 및 그 변경 이력을 예시적으로 도시한 블록도이다. 본 개시서의 계층화 문서 관리 방법에 따라 계층화 문서가 생성, 수정, 삭제 등 변경되는 과정이 도 3에 예시되어 있는바, 이들 과정을 설명하기 전에, 먼저 도 2를 참조하면, 계층화 문서(200)는 0의 수준(level)을 가지는 적어도 하나의 최상위 문서(root document; 210)를 포함한다. 문서의 수준(level)은 0 이상인 음이 아닌 정수(non-negative integer) 값을 가진다.
계층화 문서가 1 이상의 수준을 가지는 어떠한 문서도 포함하지 않을 때 그 계층화 문서를 자명한(trivial) 계층화 문서라고 지칭할 수 있고, 1 이상의 수준을 가지는 적어도 하나의 문서(예컨대, 220 또는 230)를 포함할 때 비자명한(non-trivial) 계층화 문서라고 지칭할 수 있다. 즉, 계층화 문서(200)는 1 이상의 수준을 가지는 문서를 선택적(optionally)으로 더 포함할 수 있으며, 계층화 문서(200) 내에서 1 이상의 수준 n을 가지는 모든 문서 각각(220, 230, 240, 250)은 n-1의 수준을 가지는 하나의 문서에 포함되어야 한다. 도 2의 예시에서, 1의 수준을 가지는 문서들(220, 230)은 0의 수준을 가지는 최상위 문서(210)에 포함되며, 2의 수준을 가지는 문서들(240, 250)은 1의 수준을 가지는 문서(220)에 포함된다. 계층화 문서 내 개별 문서들 간의 포함 관계는 '포함 관계'라는 데이터로 계층화 문서(200)에 포함된다.
도 3에 예시적으로 도시된 바와 같이, 계층화 문서(320)는 계층화 문서(310)의 판(version)의 정정 회차(321), 계층화 문서(310)에 포함되는 모든 문서들(322, 324) 각각의 정정 회차(323, 325) 및 상기 포함 관계(326)의 정정 회차(327)에 관한 정보를 더 포함한다. 여기에서 판(version)이라 함은, 문서의 특정 시점의 상태를 지칭한다.
도 4는 본 개시서에 따른 계층화 문서 관리 방법을 수행하는 컴퓨팅 장치의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이고 도 5는 본 개시서에 따른 계층화 문서 관리 방법의 일 실시 예를 도시한 흐름도이다.
도 4 및 도 5를 참조하면, 우선, 본 개시서의 계층화 문서 관리 방법은, 컴퓨팅 장치(100)에 의하여 구현되는 문서 생성 모듈(410)이, 계층화 문서 생성 요청에 응하여, 하나의 최상위 문서를 포함하는 계층화 문서를 신규 생성하여 보유함(S100)을 포함한다. 또한, 본 개시서의 계층화 문서 관리 방법은, 컴퓨팅 장치(100)에 의하여 구현되는 문서 생성 모듈(410)이, 신규 문서 추가 요청에 응하여, 상기 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가함(S200)을 더 포함한다.
도 6은 본 개시서의 문서 생성 모듈(410)에 의하여, 계층화 문서가 신규 생성(S100)되거나 신규 문서가 계층화 문서에 추가(S200)되는 과정을 예시적으로 나타낸 흐름도이다.
도 6을 참조하면, 계층화 문서 생성 요청 또는 신규 문서 추가 요청이 획득(S610)되면, 문서 생성 모듈(410)은, 요청된 수준의 신규 개별 문서를 생성(S620)한다. 요청된 수준이 0이면, 계층화 문서 생성 요청이며, 요청된 수준이 0이 아니면, 신규 문서 추가 요청이다.
그 요청된 수준이 0이면, 즉, 상기 개별 문서가 최상위 문서이면(S630; 예), 문서 생성 모듈(410)은 새로운 계층화 문서 및 그 계층화 문서의 문서 식별자(document identifier), 상기 계층화 문서의 현재 상태에 대응하는 판을 식별하기 위한 판 식별자(version identifier)를 생성(S640)한다. 그리고 상기 계층화 문서 내에 상기 신규 개별 문서를 최상위 문서로서 포함시킨다(S645; 미도시).
상기 요청된 수준이 0이 아니면, 문서 생성 모듈(410)은 이미 생성된 계층화 문서 내에서 상기 신규 개별 문서의 부모 문서로 지정된 문서 내에 상기 신규 개별 문서가 포함되는 포함 관계를 생성하고, 그 포함 관계를 상기 계층화 문서가 가지도록 함으로써 상기 계층화 문서 내에 상기 신규 개별 문서를 포함시킨다(S645; 미도시).
계층화 문서 내에 신규 개별 문서가 포함되면, 그 신규 개별 문서에 대응하는 판 항목을 생성하여 소정의 저장소(430)에 기록한다(S650). 이 판 항목은 개별 문서의 변경 이력을 추적하기 위하여 그 개별 문서의 정정 회차 등의 데이터를 보유하도록 생성된 자료 구조인바, 도 7과 관련하여 그 기능에 관하여 후술하기로 한다.
전술한 판 식별자를 이용하여 상기 판 항목이 검색되도록 그 판 항목을 저장소(430)에 기록하는 방안은 파일 시스템(file system) 또는 데이터베이스(database) 분야의 통상의 기술자에게 잘 알려져 있으므로 생략하기로 한다.
전술한 문서 생성 모듈(410)의 기능을 계층화 문서의 신규 생성(S100)과 개별 문서의 추가(S200) 각각으로 구분하면 다음과 같다.
먼저, 문서 생성 모듈(410)이 계층화 문서를 신규 생성하여 보유함(S100)은, 계층화 문서 생성 요청이 획득되면, 신규의 계층화 문서 및 상기 계층화 문서의 문서 식별자를 생성함(S120; 미도시), 상기 계층화 문서의 현재 상태에 대응하는 판을 식별하기 위한 판 식별자를 생성함(S140; 미도시), 및 상기 계층화 문서에 포함된 신규의 최상위 문서를 생성하고, 상기 신규의 최상위 문서에 대응하되 상기 판 식별자로 검색 가능한 판 항목을 생성하여 그 판 항목을 소정의 저장소에 기록함(S160; 미도시)을 포함한다.
한편, 문서 생성 모듈(410)이 신규 문서를 추가함(S200)은, 신규 문서 추가 요청이 획득되면, 상기 이미 생성된 계층화 문서 내에서 상기 신규 문서의 부모 문서로 지정된 문서에 상기 신규 문서가 포함되는 포함 관계를 그 계층화 문서가 가지도록 함으로써 상기 계층화 문서 내에 상기 신규 문서를 포함시킴(S220; 미도시), 및 상기 신규 문서에 대응하되 상기 이미 생성된 계층화 문서의 판 식별자를 이용하여 검색 가능한 판 항목을 생성하여 그 판 항목을 소정의 저장소에 기록함(S240; 미도시)을 포함한다.
참조부호 S100와 S200 중 어느 경우이든, 신규 생성되는 개별 문서(최상위 문서 포함)의 정정 회차는 1로 설정되며, 신규로 생성된 계층화 문서의 정정 회차도 1로 설정된다. 즉, S100 및 S200 모두가 전술한 정정 회차를 1로 설정하는 단계를 더 포함한다.
덧붙여, S100, S200 모두에 있어 상기 계층화 문서가 후술하는 순서 정보를 더 포함하는 경우에는, 개별 문서가 생성되어 그 계층화 문서에 추가되는 때마다 그 개별 문서의 순서를 나타내는 1 이상의 정수로 된 초기값이 그 개별 문서의 순서 정보로 설정될 수 있는바, 이는 도 3에 예시된 바와 같다.
이제 판, 판 항목, 계층화 문서, 개별 문서 및 포함 관계 간의 대응 관계를 설명하기로 한다. 도 7은 본 개시서의 계층화 문서 관리 방법에 따라 계층화 문서 및 그 계층화 문서의 판이 관리되는 방식을 설명하기 위하여 판 및 판 항목들을 개념적으로 도시한 블록도이다.
도 7을 참조하면, 계층화 문서(200)는 그 계층화 문서(200)를 식별하기 위한 문서 식별자(document identifier; 205), 문서 식별자(205)에 대응하되 계층화 문서(200)의 변경 이력 가운데 특정 시점에서의 계층화 문서의 상태를 의미하는 판(version; 700)을 식별하기 위한 판 식별자(version identifier; 710), 상기 판 식별자(710)에 해당하는 판(700)의 계층화 문서(200)에 포함된 개별 문서(210, 220) 및 포함 관계(215)에 대응하는 적어도 하나의 판 항목(720, 730, 740)으로써 소정의 저장소(430)에서 관리될 수 있다.
도 4에 예시된 구성요소들 중 저장소(430)는 문서 생성 모듈(410), 문서 수정 모듈(420), 문서 독출 모듈(440)과 동일한 컴퓨팅 장치에서 구현될 수 있으나, 별도의 컴퓨팅 장치, 예컨대, 서버에서 구현되어도 무방하다.
다시 도 4 및 도 5를 참조하면, 본 개시서의 계층화 문서 관리 방법은, 문서 식별자가 포함된 현재 상태의 문서 독출 요청 또는 판 식별자가 포함된 이전 상태의 문서 독출 요청에 응하여, 컴퓨팅 장치(100)에 의하여 구현되는 문서 독출 모듈(440)이, 이미 생성된 상기 계층화 문서를 상기 저장소(430)로부터 독출함(S400)을 더 포함할 수 있다.
도 8은 본 개시서의 계층화 문서 관리 방법에 따라 특정 판의 계층화 문서를 독출(S400)하는 과정을 예시적으로 나타낸 흐름도이다.
도 8로 예시된 바와 같이, 문서 독출 모듈(440)이 현재 상태의 문서 독출 요청(S410)을 획득하면, 그 현재 상태의 계층화 문서에 해당하는 판 식별자를 알아야 할 것이므로, 문서 독출 모듈(440)은 먼저, 상기 문서 독출 요청에 포함된 상기 문서 식별자를 획득(S420)하고 그 문서 식별자를 키(key)로 이용하여, 저장소(430)로부터, 더 구체적인 예를 들면 판 저장소(432)로부터 상기 판 식별자를 획득할 수 있다(S430).
한편, 문서 독출 모듈(440)이 이전 상태의 문서 독출 요청(S410)을 획득하면, 상기 문서 식별자 및 상기 이전 상태의 계층화 문서에 해당하는 판 식별자는 상기 문서 독출 요청에 포함되어 있을 것이므로, 문서 독출 모듈(440)이 상기 문서 식별자 및 상기 판 식별자를 상기 문서 독출 요청으로부터 획득할 수 있다(S420', S430'; 미도시).
전술한 단계(S430) 또는 단계 (S340')에 이어서 문서 독출 모듈(440)은 상기 문서 식별자 및 상기 판 식별자 중 적어도 상기 판 식별자를 키로 이용하여, 저장소(430)로부터, 더 구체적인 예를 들면 판 항목 저장소(434)로부터 판 항목을 획득(S440)할 수 있다. 그 다음, 문서 독출 모듈(440)은 상기 판 항목을 키로 이용하여, 저장소(430)로부터, 더 구체적인 예를 들면 개별 문서들을 보유하고 있는 문서 저장소(436) 및 각각의 포함 관계들을 보유하고 있는 포함 관계 저장소(438)로부터 상기 계층화 문서에 포함된 모든 개별 문서들 및 상기 개별 문서들 사이의 포함 관계들을 획득할 수 있으며, 또한 후술하는 중요시점 정보를 저장소(430)로부터 선택적(optionally)으로 획득할 수 있고, 그 개별 문서들 및 포함 관계들을 이용하여 (그리고 존재한다면 중요시점 정보도 함께 이용하여), 상기 요청된 상태, 즉, 상기 현재 상태 또는 상기 이전 상태의 계층화 문서를 재구성(S450)할 수 있다.
한편, 계속해서 도 4 및 도 5를 참조하면, 본 개시서의 계층화 문서 관리 방법은, 문서 수정 요청에 응하여, 컴퓨팅 장치(100)에 의하여 구현되는 문서 수정 모듈(420)이, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정함(S300)을 더 포함한다.
현실적으로 사용자가 문서의 수정 작업을 하는 매 순간마다 수정의 전 단계(S300)가 수행되는 방식으로 정정 회차가 무한히 늘어나는 것으로 볼 수 없으므로, 사용자가 일정 시간 동안 계층화 문서를 수정하고나서 그 수정된 내용을 저장, 보유 또는 보관하고자 소정의 조작(예컨대, 소정의 키보드 조작, 사용자 인터페이스 상의 특정 인터페이스 요소에 대한 마우스의 조작 등)에 의하여 촉발(trigger)되는 요청(이른바, 커밋(commit) 요청) 또는 프로그램의 자동 저장 기능에 의하여 촉발되는 요청을 상기 문서 수정 요청으로 보아야 할 것이다.
구체적으로, 문서 수정 모듈(420)은, 수정 전의 상기 개별 문서 또는 포함 관계의 내용을 상기 수정 전의 개별 문서 또는 상기 포함 관계의 판 항목에 기록된 수정 전의 정정 회차에 대응시켜 저장소(430)에 기록하는 프로세스(S320; 미도시), 상기 문서 수정 요청에 따라 수정된 내용을 상기 개별 문서 또는 포함 관계에 반영하는 프로세스(S340; 미도시), 및 수정의 대상이 된 상기 개별 문서 또는 상기 포함 관계의 판 항목에 기록된 정정 회차를 1만큼 증가시킬 뿐만 아니라 상기 계층화 문서의 판 자체의 정정 회차를 1만큼 증가시키는 프로세스(S360; 미도시)를 포함할 수 있다.
일 실시 예에서는, 어느 포함 관계가 수정되는 경우, 그 포함 관계에 연관된 부모 문서(즉, '포함하는' 문서) 및 자식 문서(즉, '포함되는' 문서) 각각의 판 항목들에 기록된 정정 회차를 1만큼 증가시킬 수 있다. 다만, 대안으로서, 어느 포함 관계가 수정되는 경우 그 포함 관계의 정정 회차만 1만큼 증가될 뿐, 위 부모 문서 또는 자식 문서의 정정 회차에 변화를 주지 않는 변형례도 가능할 것이다.
이제 실제적인 예시를 들면, 도 9는 본 개시서의 계층화 문서 관리 방법에 따라 개별 문서 또는 포함 관계가 수정되는 방식을 설명하기 위하여 계층화 문서들을 개념적으로 도시한 블록도이며, 도 10은 본 개시서의 계층화 문서 관리 방법에 따라 개별 문서 또는 포함 관계가 수정되는 과정을 예시적으로 나타낸 흐름도이다.
도 9 및 도 10을 참조하면, 어느 계층화 문서의 특정 시점에서의 상태인 판(900)과, 두 번의 문서 수정 요청에 따라 문서 수정이 2회 이루어진 후의 결과인 상태인 판(900')이 예시적으로 나타나 있다. 제1회 문서 수정 요청(1010)에 따라, 문서 2가 수정(945)되었기에 그 정정 회차가 1에서 2로 증가하였으며(945'), 이에 대응하여 문서 2에 해당하는 판 항목 3(940)의 정정 회차가 1에서 2로 증가(1020)되었는바 그 결과는 참조부호 940'에 나타난 바와 같고, 판의 정정 회차가 1에서 2로 증가(1030)되었다. 그 다음, 제2회 문서 수정 요청(1040)에 따라, 포함 관계 1(935)이 수정(1050)되었기에 그 정정 회차가 1에서 2로 증가하였으며(935'), 이에 대응하여 포함 관계 1에 해당하는 판 항목 2(930)의 정정 회차가 1에서 2로 증가(1060)되었는바 그 결과는 참조부호 930'에 나타난 바와 같고, 판의 정정 회차는 2에서 3으로 증가(1070)되었는바, 그 결과는 참조부호 900'의 판의 정정 회차가 3으로 도시된 바와 같다.
도 5를 참조하면, 본 개시서의 계층화 문서 관리 방법은, 중요시점 설정 요청에 응하여, 컴퓨팅 장치(100)에 의하여 구현되는 문서 생성 모듈(410), 문서 수정 모듈(420) 또는 중요시점 설정 모듈(460; 미도시)이, 상기 계층화 문서의 현재 상태를 중요시점(milestone)으로 설정함(S500)을 더 포함할 수 있다.
구체적으로, 상기 계층화 문서의 현재 상태를 중요시점으로 설정함(S500)은, 아래에서 설명되는 바와 같은 중요시점 데이터 및 그 중요시점 데이터의 정정 회차의 정보를 상기 계층화 문서에 포함시키면서 그 중요시점 데이터의 정정 회차를 1회로 설정함(S520; 미도시)을 포함한다. 또한 중요시점의 설정(S500)은 상기 계층화 문서의 정정 회차를 1만큼 증가시킴(S540; 미도시)을 더 포함할 수 있으나, 통상의 기술자는 S540을 제외하여 그 계층화 문서의 정정 회차를 증가시키지 않는 변형례도 고려할 수 있을 것이다.
도 11은 본 개시서의 계층화 문서 관리 방법에 따라 계층화 문서에 추가되는 중요시점 데이터의 구조를 예시적으로 나타낸 블록도이다.
도 11을 참조하면, 상기 중요시점 데이터는, (i) 상기 중요시점의 제목(title; 1120) 및 상기 중요시점에 관한 설명(description; 1140) 중 적어도 하나 및 (ii) 상기 계층화 문서의 판 식별자(version identifier), 상기 계층화 문서의 판 식별자에 대응하는 판의 정정 회차(revision number) 및 상기 계층화 문서에 포함된 개별 문서들 및 포함 관계들 각각에 대응하는 판 항목에 기록된 정정 회차(revision number)를 포함하는 판 정정 정보(version revision information; 1160)를 포함할 수 있다. 여기에서 상기 계층화 문서의 판 식별자에 대응하는 판의 정정 회차란 그 계층화 문서의 정정 회차를 지칭한다.
한편, 본 개시서의 계층화 문서 관리 방법은, 도 5에 미도시된 작동(operation)으로서, 소정의 순서 정보 변경 요청에 응하여, 컴퓨팅 장치(100)에 의하여 구현되는 문서 수정 모듈(420) 또는 순서 정보 변경 모듈(450; 미도시)이, 동일한 문서에 포함되는 2 이상의 문서들 사이의 순서를 변경함(S700; 미도시)을 더 포함할 수 있다.
이를 위하여, 상기 계층화 문서는 소정의 수준을 가진 동일한 개별 문서에 포함되는 2 이상의 개별 문서들 간의 순서에 관한 정보인 순서 정보를 더 포함할 수 있다.
도 3에 예시된 바와 같이, 참조부호 370에 해당하는 계층화 문서의 상태와 그 상태에서 문서의 순서가 변경(S700)된 참조부호 380의 계층화 문서의 상태를 서로 비교하면, 최상위 문서를 부모 문서로 가지는 두 자식 문서들인 문서 A와 문서 B의 순서가 서로 뒤바뀌었음을 알 수 있는바, 이 예시에서는 각 개별 문서들의 정정 회차는 변경되지 않고, 계층화 문서의 판의 정정 회차만이 1만큼 증가하였다는 점을 알 수 있다.
또한, 본 개시서의 계층화 문서 관리 방법은, 사용자의 필요에 부응하여 도 5에 미도시된 작동으로서, 소정의 문서 삭제 요청에 응하여, 컴퓨팅 장치(100)에 의하여 구현되는 소정의 모듈이, 상기 계층화 문서에서 상기 최상위 문서가 아닌 문서를 삭제함(미도시)을 더 포함할 수 있다. 그 최상위 문서가 아닌 문서를 삭제함은, 그 삭제의 대상이 된 개별 문서를 포함하는 부모 문서가 상기 삭제의 대상인 문서를 포함함을 의미하는 포함 관계, 및 상기 삭제의 대상인 개별 문서를 삭제함으로써 수행될 수 있다. 최상위 문서가 아니고 자식 문서를 가지지 않는 모든 개별 문서들이 최상위 문서로부터 포함 관계를 통하여 이어짐을 보장하기 위하여, 즉, 어느 개별 문서의 삭제로 인하여 계층화 문서 내 개별 문서들이 파편화(fragmented)되지 않도록, 그 삭제의 대상인 개별 문서가 포함하는 자식 문서들과 그 자식 문서들에 대한 포함 관계도 재귀적(recursive)으로 삭제함은 물론이다.
한편, 본 개시서의 계층화 문서 관리 방법과 관련하여 어느 계층화 문서 자체 또는 최상위 문서를 삭제하는 작동은 통상의 기술자가 쉽게 도출할 수 있을 것인바, 이에 관한 상세한 설명은 생략하기로 한다.
이상에서 전술한 바와 같은 본 개시서의 계층화 문서 관리 방법의 각 단계들(S100, S200, S300, S400, S500, S700) 간에 필연적 선후 관계는 없음이 통상의 기술자에게 이해될 것이다. 물론, 어느 계층화 문서에 신규 개별 문서를 추가(S200)하거나 그 계층화 문서를 수정(S300)하거나 그 계층화 문서를 독출(S400)하거나 중요시점을 설정(S500)하거나 문서 간의 순서를 변경(S700)하기 위해서는 그 계층화 문서 자체가 먼저 생성(S100)되어 존재하여야 할 것이므로 단계들(S200, S300, S400, S500, S700)에 비해 단계(S100)가 논리적으로 선행된다고 볼 수 있으나 이는 어느 하나의 계층화 문서에 대한 관계에서 그렇다는 것일 뿐, 서로 다른 계층화 문서들에 관하여는 어느 하나의 계층화 문서의 수정(S300) 후에 또 다른 계층화 문서의 신규 생성(S100)이 바로 이루어질 수 있는 바와 같이 본 발명 방법의 어느 단계도 선행하거나 후행한다고 볼 수 없다. 따라서 그 본 개시서에서는 본 발명의 기술분야의 발명에서 통상적으로 그러한 바와 같이 '단계(step)'라는 용어의 이용을 회피하였는바, 단지 도 6 및 도 8 각각에 예시적으로 도시된 단계들과 같은 경우에서만 시계열적인 논리적 선후 관계가 있다고 할 것이다. 통상의 기술자는 반드시 그러해야 하는 경우가 아닌 이상 전술된 모든 단계들을 그 표현된 숫자의 대소에 관계없이 서로 바꿀 수 있음을 이해할 것이다.
본 발명에 의하면, 계층화 문서를 그 모든 변경 이력과 함께 저장할 수 있어 과거 특정 시점 또는 특정 번호에 해당하는 판의 계층화 문서를 쉽게 복원 또는 재구성하여 열람할 수 있으면서도 종래의 기술에 비해 계층화 문서의 관리에 소요되는 계산량 및 그 계층화 문서의 데이터가 차지하는 저장소 용량이 절감되는 유리한 효과가 있다.
이상, 본 개시서의 다양한 실시 예들에 관한 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 상기 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 내부 및/또는 외부 메모리를 가지는, 하나 이상의 프로세서, 예컨대, 마이크로프로세서, 컨트롤러, 예컨대, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 마이크로컴퓨터, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 예컨대, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(application specific integrated circuit; ASIC), 프로그래머블 게이트 어레이(programmable gate array), 예컨대, FPGA(field programmable gate array), PLU(programmable logic unit) 혹은 프로그래머블 어레이 로직(Programmable Array Logic; PAL) 또는 기타 명령어(instruction)를 실행하고 응답할 수 있는 임의의 다른 장치, 전자 신호들을 처리하기 위해 구성될 수 있는 임의의 다른 장치 또는 장치들의 조합으로 실시될 수 있다. 처리 장치는 운영 체제 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction; 인스트럭션), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치에 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령어 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 기계 판독 가능 기록 매체에 저장될 수 있다.
더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능 매체에 기록될 수 있다. 기계 판독 가능 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD, Blu-ray와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는 바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다.
따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.
예를 들어, 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치를 포함할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 본 개시서에 첨부된 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인 바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.

Claims (18)

  1. 컴퓨팅 장치에 의하여 계층화 문서(hierarchical document)를 관리하는 방법에 있어서,
    상기 계층화 문서는 0의 수준(level)을 가지는 적어도 하나의 최상위 문서(root document)를 포함하고, 상기 계층화 문서는 1 이상의 수준을 가지는 문서를 선택적(optionally)으로 더 포함하되, 상기 1 이상의 수준을 가지는 적어도 하나의 문서가 상기 계층화 문서 내에 포함되는 경우, 상기 계층화 문서는, 상기 계층화 문서 내에서 1 이상의 수준 n을 가지는 모든 문서 각각이 n-1의 수준을 가지는 하나의 문서에 포함됨을 표시하는 각각의 포함 관계를 더 포함하며,
    상기 계층화 문서는 상기 계층화 문서의 판의 정정(revision) 회차, 상기 계층화 문서에 포함되는 모든 문서들 각각의 정정 회차 및 상기 포함 관계의 정정 회차에 관한 정보를 더 포함하고,
    상기 방법은,
    계층화 문서 생성 요청에 응하여, 상기 컴퓨팅 장치가, 하나의 상기 최상위 문서를 포함하는 상기 계층화 문서를 신규 생성하여 보유함;
    신규 문서 추가 요청에 응하여, 상기 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가함; 및
    문서 수정 요청에 응하여, 상기 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정함
    을 포함하고,
    상기 포함 관계를 수정함은,
    수정 전의 상기 포함 관계의 내용을 상기 수정 전의 상기 포함 관계의 판 항목에 기록된 수정 전의 정정 회차에 대응시켜 소정의 저장소에 기록함; 및
    수정된 내용을 상기 포함 관계에 반영함; 및
    상기 포함 관계의 판 항목에 기록된 정정 회차를 1만큼 증가시키고, 상기 계층화 문서의 판의 정정 회차를 1만큼 증가시킴
    을 포함하며,
    상기 포함 관계를 수정함은,
    상기 포함 관계에 연관된 부모 문서 및 자식 문서의 판 항목에 기록된 정정 회차를 1만큼 증가시킴을 더 포함하는 것을 특징으로 하는, 계층화 문서 관리 방법.
  2. 제1항에 있어서,
    상기 계층화 문서는 상기 계층화 문서를 식별하기 위한 문서 식별자(document identifier), 상기 문서 식별자에 대응하되 상기 계층화 문서의 변경 이력 중에서 특정 시점에서의 상기 계층화 문서의 상태에 대응하는 판(version)을 식별하기 위한 판 식별자(version identifier), 상기 판 식별자에 해당하는 판의 계층화 문서에 포함된 개별 문서에 대응하는 적어도 하나의 판 항목(version item)으로써 소정의 저장소에서 관리되고,
    상기 방법은,
    문서 식별자가 포함된 현재 상태(current status)의 문서 독출 요청 또는 판 식별자가 포함된 이전 상태(current or old status)의 문서 독출 요청에 응하여, 컴퓨팅 장치가, 이미 생성된 상기 계층화 문서를 상기 저장소로부터 독출함을 더 포함하는, 계층화 문서 관리 방법.
  3. 제2항에 있어서,
    상기 현재 상태의 문서 독출 요청에 응하여 상기 계층화 문서를 독출함은,
    상기 문서 식별자를 키(key)로 이용하여 상기 판 식별자를 획득하는 단계;
    상기 문서 식별자 및 상기 판 식별자 중 적어도 상기 판 식별자를 키로 이용하여 판 항목을 획득하는 단계; 및
    상기 판 항목을 키로 이용하여 상기 계층화 문서에 포함된 모든 개별 문서들 및 상기 개별 문서들 사이의 포함 관계를 획득함으로써, 상기 계층화 문서를 재구성하는 단계
    를 포함하는, 계층화 문서 관리 방법.
  4. 제2항에 있어서,
    상기 이전 상태의 문서 독출 요청에 응하여 상기 계층화 문서를 독출함은,
    상기 문서 식별자 및 상기 판 식별자 중 적어도 상기 판 식별자를 키(key)로 이용하여 판 항목을 획득하는 단계; 및
    상기 판 항목을 키로 이용하여 상기 계층화 문서에 포함된 모든 개별 문서들 및 상기 개별 문서들 사이의 포함 관계를 획득함으로써, 상기 계층화 문서를 재구성하는 단계
    를 포함하는, 계층화 문서 관리 방법.
  5. 제1항에 있어서,
    상기 계층화 문서를 신규 생성하여 보유함은,
    계층화 문서 생성 요청이 획득되면, 상기 컴퓨팅 장치가, 신규의 계층화 문서 및 상기 계층화 문서의 문서 식별자를 생성함;
    상기 계층화 문서의 현재 상태에 대응하는 판을 식별하기 위한 판 식별자(version identifier)를 생성함; 및
    상기 계층화 문서에 포함된 신규의 최상위 문서를 생성하고, 상기 신규의 최상위 문서에 대응하되 상기 판 식별자로 검색 가능한 판 항목(version item)을 생성하여 소정의 저장소에 기록함
    을 포함하는, 계층화 문서 관리 방법.
  6. 제1항에 있어서,
    상기 신규 문서를 추가함은,
    신규 문서 추가 요청이 획득되면, 상기 컴퓨팅 장치가, 상기 이미 생성된 계층화 문서 내에서 상기 신규 문서의 부모 문서로 지정된 문서에 상기 신규 문서가 포함되는 포함 관계를 가지도록 상기 계층화 문서 내에 상기 신규 문서를 포함시키는 단계; 및
    상기 신규 문서에 대응하되 상기 이미 생성된 계층화 문서의 판 식별자로 검색 가능한 판 항목(version item)을 생성하여 소정의 저장소에 기록함
    을 포함하는, 계층화 문서 관리 방법.
  7. 제1항에 있어서,
    상기 개별 문서를 수정함은,
    수정 전의 상기 개별 문서의 내용을 상기 수정 전의 상기 개별 문서의 판 항목에 기록된 수정 전의 정정 회차에 대응시켜 소정의 저장소에 기록함; 및
    수정된 내용을 상기 개별 문서에 반영함; 및
    상기 개별 문서의 판 항목에 기록된 정정 회차를 1만큼 증가시키고, 상기 계층화 문서의 판의 정정 회차를 1만큼 증가시킴
    을 포함하는 것을 특징으로 하는, 계층화 문서 관리 방법.
  8. 제1항에 있어서,
    상기 계층화 문서는 동일한 문서에 포함되는 2 이상의 문서들 사이의 순서(order)에 관한 정보인 순서 정보를 더 포함하고,
    상기 방법은,
    순서 정보 변경 요청에 응하여, 상기 컴퓨팅 장치가, 동일한 문서에 포함되는 2 이상의 문서들 사이의 순서를 변경함
    을 더 포함하는, 계층화 문서 관리 방법.
  9. 제1항에 있어서,
    상기 방법은,
    중요시점 설정 요청에 응하여, 상기 컴퓨팅 장치가, 상기 계층화 문서의 현재 상태를 중요시점(milestone)으로 설정함
    을 더 포함하는, 계층화 문서 관리 방법.
  10. 제9항에 있어서,
    상기 계층화 문서의 현재 상태를 중요시점으로 설정함은,
    (i) 상기 중요시점의 제목(title) 및 상기 중요시점에 관한 설명(description) 중 적어도 하나 및 (ii) 상기 계층화 문서의 판 식별자(version identifier), 상기 계층화 문서의 판 식별자에 대응하는 판의 정정 회차(revision number) 및 상기 계층화 문서에 포함된 개별 문서들 및 포함 관계들 각각에 대응하는 판 항목에 기록된 정정 회차(revision number)를 포함하는 판 정정 정보(version revision information)를 포함하는 중요시점 데이터 및 상기 중요시점 데이터의 정정 회차의 정보를 상기 계층화 문서에 포함시키되 상기 중요시점 데이터의 상기 정정 회차를 1회로 설정함을 포함하는, 계층화 문서 관리 방법.
  11. 제10항에 있어서,
    상기 계층화 문서의 현재 상태를 중요시점으로 설정함은,
    상기 계층화 문서의 정정 회차를 1만큼 증가시킴을 더 포함하는, 계층화 문서 관리 방법.
  12. 컴퓨팅 장치로 하여금, 제1항 내지 제11항 중 어느 한 항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는, 기계 판독 가능한 기록 매체에 저장된, 컴퓨터 프로그램.
  13. 계층화 문서(hierarchical document)를 관리하는 컴퓨팅 장치에 있어서,
    상기 계층화 문서는 0의 수준(level)을 가지는 적어도 하나의 최상위 문서(root document)를 포함하고, 상기 계층화 문서는 1 이상의 수준을 가지는 문서를 선택적(optionally)으로 더 포함하되, 상기 1 이상의 수준을 가지는 적어도 하나의 문서가 상기 계층화 문서 내에 포함되는 경우, 상기 계층화 문서는, 상기 계층화 문서 내에서 1 이상의 수준 n을 가지는 모든 문서 각각이 n-1의 수준을 가지는 하나의 문서에 포함됨을 표시하는 각각의 포함 관계를 더 포함하며,
    상기 계층화 문서는 상기 계층화 문서의 판의 정정(revision) 회차, 상기 계층화 문서에 포함되는 모든 문서들 각각의 정정 회차 및 상기 포함 관계의 정정 회차에 관한 정보를 더 포함하고,
    상기 컴퓨팅 장치는,
    계층화 문서 생성 요청, 신규 문서 추가 요청, 또는 문서 수정 요청을 획득하는 통신부; 및
    계층화 문서 생성 요청에 응하여, 하나의 상기 최상위 문서를 포함하는 상기 계층화 문서를 신규 생성하여 보유하는 프로세스, 신규 문서 추가 요청에 응하여, 이미 생성된 상기 계층화 문서 내에 수준 m의 문서에 포함되는 수준 m+1의 신규 문서를 추가하는 프로세스; 및 문서 수정 요청에 응하여, 이미 생성된 상기 계층화 문서에 포함된 개별 문서 또는 포함 관계를 수정하는 프로세스를 수행하는 프로세서
    를 포함하며,
    상기 포함 관계를 수정하는 프로세스는,
    수정 전의 상기 포함 관계의 내용을 상기 수정 전의 상기 포함 관계의 판 항목에 기록된 수정 전의 정정 회차에 대응시켜 소정의 저장소에 기록하는 프로세스; 및
    수정된 내용을 상기 포함 관계에 반영하는 프로세스; 및
    상기 포함 관계의 판 항목에 기록된 정정 회차를 1만큼 증가시키고, 상기 계층화 문서의 판의 정정 회차를 1만큼 증가시키는 프로세스
    를 포함하고,
    상기 포함 관계를 수정하는 프로세스는,
    상기 포함 관계에 연관된 부모 문서 및 자식 문서의 판 항목에 기록된 정정 회차를 1만큼 증가시키는 프로세스를 더 포함하는 것을 특징으로 하는, 계층화 문서 관리 장치.
  14. 제13항에 있어서,
    상기 계층화 문서는 상기 계층화 문서를 식별하기 위한 문서 식별자(document identifier), 상기 문서 식별자에 대응하되 상기 계층화 문서의 변경 이력 중에서 특정 시점에서의 상기 계층화 문서의 상태에 대응하는 판(version)을 식별하기 위한 판 식별자(version identifier), 상기 판 식별자에 해당하는 판의 계층화 문서에 포함된 개별 문서에 대응하는 적어도 하나의 판 항목(version item)으로써 소정의 저장소에서 관리되고,
    상기 프로세서는,
    문서 식별자가 포함된 현재 상태의 문서 독출 요청 또는 판 식별자가 포함된 이전 상태의 문서 독출 요청이 상기 통신부에 의하여 획득되면, 상기 문서 독출 요청에 응하여, 이미 생성된 상기 계층화 문서를 상기 저장소로부터 독출하는 프로세스를 더 수행하는, 계층화 문서 관리 장치.
  15. 제13항에 있어서,
    상기 계층화 문서를 신규 생성하여 보유하는 프로세스는,
    계층화 문서 생성 요청이 획득되면 신규의 계층화 문서 및 상기 계층화 문서의 문서 식별자를 생성하는 프로세스;
    상기 계층화 문서의 현재 상태에 대응하는 판을 식별하기 위한 판 식별자(version identifier)를 생성하는 프로세스; 및
    상기 계층화 문서에 포함된 신규의 최상위 문서를 생성하고, 상기 신규의 최상위 문서에 대응하되 상기 판 식별자로 검색 가능한 판 항목(version item)을 생성하여 소정의 저장소에 기록하는 프로세스
    를 포함하는, 계층화 문서 관리 장치.
  16. 제13항에 있어서,
    상기 신규 문서를 추가하는 프로세스는,
    상기 이미 생성된 계층화 문서 내에서 상기 신규 문서의 부모 문서로 지정된 문서에 상기 신규 문서가 포함되는 포함 관계를 가지도록 상기 계층화 문서 내에 상기 신규 문서를 포함시키는 프로세스; 및
    상기 신규 문서에 대응하되 상기 이미 생성된 계층화 문서의 판 식별자로 검색 가능한 판 항목(version item)을 생성하여 소정의 저장소에 기록하는 프로세스
    를 포함하는, 계층화 문서 관리 장치.
  17. 제13항에 있어서,
    상기 개별 문서를 수정하는 프로세스는,
    수정 전의 상기 개별 문서의 내용을 상기 수정 전의 상기 개별 문서의 판 항목에 기록된 수정 전의 정정 회차에 대응시켜 소정의 저장소에 기록하는 프로세스; 및
    수정된 내용을 상기 개별 문서에 반영하는 프로세스; 및
    상기 개별 문서의 판 항목에 기록된 정정 회차를 1만큼 증가시키고, 상기 계층화 문서의 판의 정정 회차를 1만큼 증가시키는 프로세스
    를 포함하는 것을 특징으로 하는, 계층화 문서 관리 장치.
  18. 제13항에 있어서,
    상기 프로세서는,
    중요시점 설정 요청이 상기 통신부에 의하여 획득되면, 상기 중요시점 설정 요청에 응하여, 상기 계층화 문서의 현재 상태를 중요시점(milestone)으로 설정하는 프로세스를 더 수행하는, 계층화 문서 관리 장치.
KR1020220049369A 2021-09-06 2022-04-21 계층화 문서를 관리하는 방법 및 이를 이용한 장치 KR102472345B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220049369A KR102472345B1 (ko) 2021-09-06 2022-04-21 계층화 문서를 관리하는 방법 및 이를 이용한 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210118257A KR102392880B1 (ko) 2021-09-06 2021-09-06 계층화 문서를 관리하는 방법 및 이를 이용한 장치
KR1020220049369A KR102472345B1 (ko) 2021-09-06 2022-04-21 계층화 문서를 관리하는 방법 및 이를 이용한 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210118257A Division KR102392880B1 (ko) 2021-09-06 2021-09-06 계층화 문서를 관리하는 방법 및 이를 이용한 장치

Publications (1)

Publication Number Publication Date
KR102472345B1 true KR102472345B1 (ko) 2022-11-30

Family

ID=81593374

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210118257A KR102392880B1 (ko) 2021-09-06 2021-09-06 계층화 문서를 관리하는 방법 및 이를 이용한 장치
KR1020220049369A KR102472345B1 (ko) 2021-09-06 2022-04-21 계층화 문서를 관리하는 방법 및 이를 이용한 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020210118257A KR102392880B1 (ko) 2021-09-06 2021-09-06 계층화 문서를 관리하는 방법 및 이를 이용한 장치

Country Status (1)

Country Link
KR (2) KR102392880B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102495450B1 (ko) * 2022-06-10 2023-02-06 요다정보기술(주) 클라우드 환경에서의 파일공유 시스템
KR102563900B1 (ko) * 2023-03-31 2023-08-09 (주) 바우디움 구조화 문서를 취급하는 방법 및 이를 이용한 장치

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336123B2 (en) * 1996-10-02 2002-01-01 Matsushita Electric Industrial Co., Ltd. Hierarchical based hyper-text document preparing and management apparatus
JP2005267195A (ja) * 2004-03-18 2005-09-29 Nippon Digital Kenkyusho:Kk 階層化文書情報生成装置、階層化文書情報生成方法および階層化文書情報生成プログラム
US20070168671A1 (en) * 2006-01-16 2007-07-19 Fujitsu Limited Digital document management system, digital document management method, and digital document management program
WO2009048130A1 (ja) * 2007-10-12 2009-04-16 Nec Corporation 文書重要度算出システム、文書重要度算出方法およびプログラム
US8005979B2 (en) * 2002-10-28 2011-08-23 Oracle America, Inc. System and method for uniquely identifying processes and entities in clusters
KR20110098560A (ko) * 2010-02-26 2011-09-01 주식회사 한글과 컴퓨터 문서파일의 데이터 레코드 운영 방법
KR20120015306A (ko) * 2009-04-24 2012-02-21 마이크로소프트 코포레이션 백업 데이터의 지능적 계층들
JP2012118591A (ja) * 2010-11-29 2012-06-21 Fujitsu Ltd ドキュメント管理装置、ドキュメント管理方法、ドキュメント管理プログラム
CN102591666A (zh) * 2012-01-04 2012-07-18 浪潮集团山东通用软件有限公司 一种分级结构的元数据版本管理方法
CN103412917A (zh) * 2013-08-08 2013-11-27 广西大学 一种可扩展的多类型领域数据协调管理的数据库系统和管理方法
US20140281872A1 (en) * 2013-03-14 2014-09-18 Workshare, Ltd. System for Tracking Changes in a Collaborative Document Editing Environment
JP2015185101A (ja) * 2014-03-26 2015-10-22 トッパン・フォームズ株式会社 文書ファイル管理システム及び文書ファイル管理方法
US20160077920A1 (en) * 2014-09-12 2016-03-17 Giorgio Regni Snapshots and forks of storage systems using distributed consistent databases implemented within an object store
US20180121364A1 (en) * 2016-10-27 2018-05-03 Seagate Technology Llc Storage tier with compressed forward map
JP2018169842A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 階層化ストレージ管理装置、階層化ストレージシステム、データ管理方法及びプログラム
CN111427969A (zh) * 2020-03-18 2020-07-17 清华大学 一种分级存储系统的数据替换方法
KR102141234B1 (ko) * 2016-04-18 2020-08-04 아마존 테크놀로지스, 인크. 분산된 데이터 스토어 내의 버젼형 계층 데이터 구조

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336123B2 (en) * 1996-10-02 2002-01-01 Matsushita Electric Industrial Co., Ltd. Hierarchical based hyper-text document preparing and management apparatus
US8005979B2 (en) * 2002-10-28 2011-08-23 Oracle America, Inc. System and method for uniquely identifying processes and entities in clusters
JP2005267195A (ja) * 2004-03-18 2005-09-29 Nippon Digital Kenkyusho:Kk 階層化文書情報生成装置、階層化文書情報生成方法および階層化文書情報生成プログラム
US20070168671A1 (en) * 2006-01-16 2007-07-19 Fujitsu Limited Digital document management system, digital document management method, and digital document management program
WO2009048130A1 (ja) * 2007-10-12 2009-04-16 Nec Corporation 文書重要度算出システム、文書重要度算出方法およびプログラム
KR20120015306A (ko) * 2009-04-24 2012-02-21 마이크로소프트 코포레이션 백업 데이터의 지능적 계층들
KR20110098560A (ko) * 2010-02-26 2011-09-01 주식회사 한글과 컴퓨터 문서파일의 데이터 레코드 운영 방법
JP2012118591A (ja) * 2010-11-29 2012-06-21 Fujitsu Ltd ドキュメント管理装置、ドキュメント管理方法、ドキュメント管理プログラム
CN102591666A (zh) * 2012-01-04 2012-07-18 浪潮集团山东通用软件有限公司 一种分级结构的元数据版本管理方法
US20140281872A1 (en) * 2013-03-14 2014-09-18 Workshare, Ltd. System for Tracking Changes in a Collaborative Document Editing Environment
CN103412917A (zh) * 2013-08-08 2013-11-27 广西大学 一种可扩展的多类型领域数据协调管理的数据库系统和管理方法
JP2015185101A (ja) * 2014-03-26 2015-10-22 トッパン・フォームズ株式会社 文書ファイル管理システム及び文書ファイル管理方法
JP6416487B2 (ja) * 2014-03-26 2018-10-31 トッパン・フォームズ株式会社 文書管理システム及び文書管理方法
US20160077920A1 (en) * 2014-09-12 2016-03-17 Giorgio Regni Snapshots and forks of storage systems using distributed consistent databases implemented within an object store
KR102141234B1 (ko) * 2016-04-18 2020-08-04 아마존 테크놀로지스, 인크. 분산된 데이터 스토어 내의 버젼형 계층 데이터 구조
US20180121364A1 (en) * 2016-10-27 2018-05-03 Seagate Technology Llc Storage tier with compressed forward map
JP2018169842A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 階層化ストレージ管理装置、階層化ストレージシステム、データ管理方法及びプログラム
CN111427969A (zh) * 2020-03-18 2020-07-17 清华大学 一种分级存储系统的数据替换方法

Also Published As

Publication number Publication date
KR102392880B1 (ko) 2022-05-02

Similar Documents

Publication Publication Date Title
CN107577427B (zh) 用于区块链系统的数据迁移方法、设备和存储介质
US10210170B2 (en) Chunk storage deduplication using graph structures
KR102472345B1 (ko) 계층화 문서를 관리하는 방법 및 이를 이용한 장치
US10558615B2 (en) Atomic incremental load for map-reduce systems on append-only file systems
US9244709B2 (en) Automatic recognition of web application
US8972967B2 (en) Application packages using block maps
JPWO2011089864A1 (ja) ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
CN111309335A (zh) 插件应用的编译方法、装置及计算机可读存储介质
JPWO2017033441A1 (ja) システム構築支援システム、方法および記憶媒体
Roussev Digital forensic science: issues, methods, and challenges
Dappert et al. Describing and preserving digital object environments
CN102591710B (zh) 共享对象表示
Hadarean et al. Fine grained SMT proofs for the theory of fixed-width bit-vectors
KR102381539B1 (ko) 구조화 문서에 포함된 자원들에 관한 권한을 관리하는 방법 및 이를 이용한 장치
US20140189526A1 (en) Changing log file content generation
Wittek et al. Digital preservation in grids and clouds: a middleware approach
JP6418419B2 (ja) ハードディスクがアプリケーションコードを実行するための方法および装置
CN102859512A (zh) 可远程处理的项目
US8635331B2 (en) Distributed workflow framework
JP6045707B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
Karambelkar Apache Hadoop 3 Quick Start Guide: Learn about big data processing and analytics
US11210270B2 (en) Mapping storage across storage providers
Paro Elasticsearch 7.0 Cookbook: Over 100 recipes for fast, scalable, and reliable search for your enterprise
Deshpande Hadoop Real-World Solutions Cookbook
US20240160442A1 (en) Working context transfer across development environments

Legal Events

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