KR102381539B1 - Method for managing privileges on resources contained in a structured document and apparatus using the same - Google Patents
Method for managing privileges on resources contained in a structured document and apparatus using the same Download PDFInfo
- Publication number
- KR102381539B1 KR102381539B1 KR1020220018238A KR20220018238A KR102381539B1 KR 102381539 B1 KR102381539 B1 KR 102381539B1 KR 1020220018238 A KR1020220018238 A KR 1020220018238A KR 20220018238 A KR20220018238 A KR 20220018238A KR 102381539 B1 KR102381539 B1 KR 102381539B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- specific
- structured document
- tag
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
본 개시서에는 구조화 문서(structured document)에 포함된 항목들인 자원들에 관한 사용자들의 권한을 관리하는 방법 및 이를 이용한 컴퓨팅 장치가 개시된다. 구체적으로, 본 개시서에 따르면, 요청에 따라 구조화 문서 및 그 구조화 문서에 포함된 최상위 요소문서를 생성하면서 상기 최상위 요소문서에 대응하는 소유자 꼬리표를 생성하고, 요청에 따라 상기 신규 자원을 생성하며, 요청에 따라 제1 특정 자원에 대응하는 정책 꼬리표 또는 상기 허가 꼬리표를 생성하고, 요청에 따라 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 되돌려주며, 요청에 따라 획득된 제3 특정 자원에 대한 사용자의 제2 특정 액션에 관한 권한에 따라 그 사용자의 상기 제2 특정 액션을 실행하거나 실행하지 않을 수 있는 방법 및 이를 이용한 컴퓨팅 장치가 제공된다.Disclosed in the present disclosure are a method for managing users' rights with respect to resources, which are items included in a structured document, and a computing device using the same. Specifically, according to the present disclosure, a structured document and a top-level element document included in the structured document are generated according to a request, an owner tag corresponding to the top-level element document is generated, and the new resource is created according to a request; Generates a policy tag or the permission tag corresponding to a first specific resource according to a request, returns the permission of a specific user with respect to a first specific action on a second specific resource according to the request, and a third obtained according to the request Provided are a method capable of executing or not executing the second specific action of the user according to the user's right regarding the second specific action for a specific resource, and a computing device using the same.
문서에 관한 하드웨어 및 소프트웨어 기술의 발달에 힘입어, 다양한 문서들의 수정, 배포 및 그 추적을 다루는 기술들이 발전하고 있다. 예를 들어, 미국 등록특허공보 제9,323,850호에는 어느 게시자의 콘텐츠 항목의 전파전염성 점수(viral score)를 추산하는 방법 및 시스템이 개시되어 있다.BACKGROUND ART With the development of hardware and software technologies for documents, technologies for dealing with the correction, distribution and tracking of various documents have been developed. For example, US Patent No. 9,323,850 discloses a method and system for estimating the viral score of a content item of a publisher.
어느 사용자에 의해 작성된 문서 각각을 타인이 열람, 복제 및 이용할 수 있는지 없는지를 설정할 수 있게 하는 기능인 권한 설정 기능은 컴퓨팅 장치에서 실행되는 운영체제(operating system; OS)의 파일 시스템(file system)에 관하여 일반화된 기술에 속하는 반면, 그러한 기술들에 의할 때 문서 중 일부에 관하여는 열람, 복제 및 이용에 관한 권한의 설정이 가능하지 않은 한계가 있다.The permission setting function, which is a function that allows others to set whether or not others can view, duplicate, and use each document created by a user, is generalized with respect to the file system of an operating system (OS) running on a computing device On the other hand, there is a limit in that it is not possible to set the right for reading, reproduction and use with respect to some of the documents according to such technologies.
하나의 문서를 통하여 다뤄지는 다양한 액션(작용; action)들은 적어도 작성자가 원하는 방식으로 제어되어야 할 필요가 있는바, 이를 위해, 해당 문서를 구성하는 다수의 부분들마다, 그리고 사용자들마다 서로 다른 권한의 설정을 가능하게 함으로써, 의도에 맞게 문서가 이용될 수 있게 할 수 있는 권한 관리의 방안 제시가 필요하다.Various actions (actions) handled through one document need to be controlled at least in a way desired by the author. It is necessary to propose a method of managing the rights that enables the setting of the document so that the document can be used according to the intention.
따라서 본 개시서의 발명은 다음과 같이 종래 기술의 한계점을 극복하는 것을 목적으로 한다. Accordingly, an object of the present disclosure is to overcome the limitations of the prior art as follows.
구체적으로, 본 발명은 단일 문서의 크기가 커지면 커질수록 그 전체를 읽거나 쓰는 데 발생하는 부하를 줄여 단일 문서를 여러 부분으로 분리하여 구조화한 문서인 구조화 문서를 다루되, 그 일부에 해당하는 자원들에 관한 유연하고 효율적인 권한 관리의 방안을 제공하는 것을 목적으로 한다. Specifically, the present invention deals with a structured document, which is a document structured by dividing a single document into several parts by reducing the load generated for reading or writing the entire document as the size of a single document increases, but a resource corresponding to a part of the document The purpose of this is to provide a flexible and efficient way of managing rights.
또한, 본 발명은 운영체제의 파일 시스템에서 전형적으로 다뤄지지 않는 액션들로서, 공유(즉, 재배포) 및 기여와 같은 액션들에 관한 권한 설정을 가능하게 함으로써 다수 사용자들의 읽기/쓰기 접근, 이용 등에 대항하여 문서의 각 부분별 무결성(integrity), 재활용성(recyclability) 등을 유지해낼 수 있게 하는 것을 목적으로 한다.In addition, the present invention is an action that is not typically handled in the file system of the operating system, and enables the setting of permissions for actions such as sharing (ie, redistribution) and contributing to document against read/write access, use, etc. of multiple users. It aims to maintain the integrity and recyclability of each part of the
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and for realizing the characteristic effects of the present invention to be described later is as follows.
본 개시서의 일 태양에 따르면, 구조화 문서에 포함된 자원(resource)들에 관한 권한을 꼬리표(tag)들로써 관리하는 방법이 제공되는바, 상기 구조화 문서는, 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서를 포함하고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서를 선택적으로(optionally) 더 포함하며, 상기 구조화 문서에 포함된 모든 요소문서 각각은 내용으로서 적어도 하나의 기록을 포함하고, 상기 자원들은, 상기 구조화 문서, 및 상기 구조화 문서에 포함된 상기 모든 요소문서, 및 모든 상기 기록을 포함하고, 상기 자원들 각각은 수정된 횟수로서 정정 회차를 포함하되, 상기 1 이상의 깊이를 가지는 상기 적어도 하나의 요소문서가 상기 구조화 문서 내에 포함되는 경우, 상기 구조화 문서는, 상기 구조화 문서 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각이 n-1의 깊이를 가지는 하나의 요소문서에 종속됨을 표시하는 각각의 종속 관계를 더 포함하며, 상기 자원들에 속한 개별 자원의 사용자는, 일반 사용자, 상기 개별 자원의 적어도 하나의 소유자, 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자를 포함하고, 상기 꼬리표들 각각은, 상기 개별 자원의 상기 적어도 하나의 소유자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하기 위한 소유자 꼬리표, 상기 일반 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 정책 꼬리표, 및 상기 적어도 하나의 특정 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 허가 꼬리표 중의 하나이고, 상기 방법은, 상기 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청에 응하여, 컴퓨팅 장치가, 상기 구조화 문서 및 상기 구조화 문서에 포함된 상기 최상위 요소문서를 생성하는 프로세스, 및 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표를 생성하는 프로세스를 수행함; 상기 구조화 문서 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청에 응하여, 상기 컴퓨팅 장치가, 상기 신규 자원을 생성함; 상기 구조화 문서 내 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청에 응하여, 상기 컴퓨팅 장치가, 상기 제1 특정 자원에 대응하는 상기 정책 꼬리표 또는 상기 허가 꼬리표를 생성함; 상기 구조화 문서 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청에 대한 응답으로서, 상기 컴퓨팅 장치가, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning); 및 상기 구조화 문서 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청에 응하여, 상기 컴퓨팅 장치가, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않음을 포함한다.According to one aspect of the present disclosure, there is provided a method for managing rights with respect to resources included in a structured document using tags, wherein the structured document has at least a depth of 0 It includes one top-level element document, and optionally further includes at least one element document having a depth of one or more, and each element document included in the structured document includes at least one record as content, , the resources include the structured document, and all the element documents included in the structured document, and all the records, wherein each of the resources includes a revision number as a number of times it has been modified, wherein each of the resources has a depth of at least one When the at least one element document is included in the structured document, the structured document indicates that all element documents having a depth n of 1 or more in the structured document are subordinate to one element document having a depth of n-1. Each dependency relationship further includes indicating, wherein the user of the individual resource belonging to the resources includes a general user, at least one owner of the individual resource, and at least one specific user for the individual resource, Each of the tags includes an owner tag for authorizing actions on the individual resource for the at least one owner of the individual resource, an owner tag for authorizing or prohibiting actions on the individual resource for the general user a policy tag, and a permission tag for authorizing or forbidding actions on the individual resource for the at least one specific user, the method comprising: a request from a user to generate the structured document in response to the document creation request, the computing device performs a process of generating the structured document and the top-level element document included in the structured document, and a process of generating the owner tag corresponding to the top-level element document; in response to a resource creation request, which is a request from a user, for creating a new resource in the structured document, the computing device creates the new resource; In response to a request for adding a right, which is a request from a user, for adding a right for a first specific resource in the structured document, the computing device generates the policy tag or the permission tag corresponding to the first specific resource ; In response to a permission check request that is a request for confirming a specific user's permission regarding a first specific action on a second specific resource in the structured document, the computing device is configured to: returning the specific user's rights to an action; and in response to an action execution request, which is a request from a user, to execute a second specific action on the third specific resource in the structured document, the computing device is configured to: acquiring the user's authority regarding the second specific action with respect to the third specific resource through a permission check request regarding the action, and executing or not executing the second specific action according to the acquired authority .
유리하게, (i) 상기 구조화 문서 및 상기 자원들과 (ii) 상기 꼬리표들은 상이한 정보 단위로서 저장소에서 보유 및 관리된다.Advantageously, (i) said structured document and said resources and (ii) said tags are held and managed in a repository as different units of information.
일 실시 예에서, 상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 기여의 요청 및 기여의 반영을 포함하고, 상기 기여의 요청은, 상기 컴퓨팅 장치가, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 상기 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의해 접근 가능한 제1 사용자 인터페이스를 제공함으로써, 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이고, 상기 기여의 반영은, 상기 컴퓨팅 장치가, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션이다.In an embodiment, the actions related to the individual resource include a request for contribution to the individual resource and reflection of the contribution, wherein the request for contribution includes: content modified by the computing device from the individual resource; and By creating a new resource comprising a correction frequency increased by one than that of the individual resource, and providing a first user interface accessible by a contribution reflector, a user authorized to reflect the contribution to the individual resource, , an action that determines whether to replace the individual resource by the new resource through the first user interface, and the reflection of the contribution is, by the computing device, according to whether the individual resource is replaced by the new resource , the action of causing the new resource to replace the individual resource or to maintain the individual resource in the structured document.
다른 실시 예에서, 상기 개별 자원에 관한 상기 액션들은 상기 개별 자원에 대한 읽기를 포함하고, 상기 제2 특정 액션은, 상기 구조화 문서의 복제이며, 상기 구조화 문서의 복제는, 상기 컴퓨팅 장치가, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 단계, 및 상기 컴퓨팅 장치가, 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 단계를 포함하는 액션이다.In another embodiment, the actions related to the individual resource include reading the individual resource, the second specific action is duplication of the structured document, and the duplication of the structured document is performed by the computing device, A document duplication step of creating a new structured document by duplicating duplication target resources that are structured documents or resources to which the user is granted read permission among all resources included in the structured document, and the computing device includes the duplication target resources This is an action including a tag inheritance step of duplicating all tags corresponding to and applying to the new structured document.
바람직하게, 상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 읽기, 및 상기 개별 자원에 대한 공유를 포함하고, 상기 개별 자원에 대한 공유는, 상기 컴퓨팅 장치가, 상기 공유의 대상으로 지정된 사용자인 수용자(receiver)에 의해 접근 가능한 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 수용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하고, 상기 신규 구조화 문서의 최상위 요소문서의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서의 상기 최상위 요소 문서의 소유자 꼬리표를 생성 또는 수정하는 액션이다.Preferably, the actions on the individual resource include reading of the individual resource and sharing of the individual resource, wherein the sharing of the individual resource includes: the computing device, a user designated as a target for sharing A second user interface accessible by a receiver is provided, and if it is true whether the receiver accepts the individual resource determined through the second user interface, the structured document or all of the structured documents included in the structured document A new structured document is created by duplicating replication target resources that are resources to which the recipient is granted read permission among the resources, and the recipient is included in at least one owner of the top-level element document of the new structured document. This action creates or modifies the owner tag of the top-level element document.
유리하게, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning)은, 상기 제2 특정 자원, 및 상기 제2 특정 자원의 조상 자원 중에서 상기 제1 특정 액션에 관하여 상기 특정 사용자에 적용되는 꼬리표로서, 상기 제2 특정 자원에 최근접인 자원의 꼬리표인, 특정 꼬리표를 탐색하는 단계; 및 상기 탐색에 따라 획득된 상기 특정 꼬리표에 따라 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 결정 및 되돌려주는 단계를 포함한다.Advantageously, returning said specific user's right to said first specific action on said second specific resource comprises: said second specific resource and said first specific one of an ancestor resource of said second specific resource searching for a specific tag, which is a tag of a resource closest to the second specific resource, as a tag applied to the specific user with respect to an action; and determining and returning the authority of the specific user with respect to the first specific action on the second specific resource according to the specific tag obtained according to the search.
더 유리하게, 상기 특정 꼬리표를 탐색하는 단계에서, 상기 탐색은, 상기 특정 꼬리표가 소유자 꼬리표이고, 상기 특정 사용자가 상기 특정 꼬리표에 대응하는 상기 적어도 하나의 소유자에 속하는 제1 조건, 상기 특정 꼬리표가 정책 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 권한이 부여 또는 금지된 제2 조건, 상기 특정 꼬리표가 허가 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한이 부여 또는 금지된 제3 조건, 또는 상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 상기 최근접인 자원의 꼬리표가 존재하지 않는 제4 조건을 종료 조건으로 하되, 상기 제4 조건에 대해 상기 제3 조건이 우선 적용되고, 상기 제3 조건에 대해 상기 제2 조건이 우선 적용되며, 상기 제2 조건에 대해 상기 제1 조건이 우선 적용된다.More advantageously, in the step of searching for the specific tag, the searching includes: a first condition that the specific tag is an owner tag, and the specific user belongs to the at least one owner corresponding to the specific tag, the specific tag is a second condition in which a policy tag is a policy tag, and the permission is granted or prohibited with respect to the first specific action by the specific tag, the specific tag is a permission tag, and the specific user's A third condition to which permission is granted or prohibited, or a fourth condition in which there is no tag of the nearest resource that satisfies the first condition, the second condition, and the third condition as the termination condition, For the fourth condition, the third condition is applied first, the second condition is applied first to the third condition, and the first condition is applied first to the second condition.
본 발명의 다른 태양에 따르면, 본 발명에 따른 방법들을 수행하도록 구현된 명령어들(instructions)을 포함하는 컴퓨터 프로그램도 제공된다. 예를 들어, 그러한 컴퓨터 프로그램은 기계 판독 가능한 비일시적 기록 매체에 저장될 수 있다.According to another aspect of the present invention, there is also provided a computer program comprising instructions embodied for performing the methods according to the present invention. For example, such a computer program may be stored in a machine-readable non-transitory recording medium.
본 발명의 또 다른 태양에 따르면, 구조화 문서에 포함된 자원(resource)들에 관한 권한을 꼬리표(tag)들로써 관리하는 컴퓨팅 장치가 제공되는바, 상기 구조화 문서는, 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서를 포함하고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서를 선택적으로(optionally) 더 포함하며, 상기 구조화 문서에 포함된 모든 요소문서 각각은 내용으로서 적어도 하나의 기록을 포함하고, 상기 자원들은, 상기 구조화 문서, 및 상기 구조화 문서에 포함된 상기 모든 요소문서, 및 모든 상기 기록을 포함하고, 상기 자원들 각각은 수정된 횟수로서 정정 회차를 포함하되, 상기 1 이상의 깊이를 가지는 상기 적어도 하나의 요소문서가 상기 구조화 문서 내에 포함되는 경우, 상기 구조화 문서는, 상기 구조화 문서 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각이 n-1의 깊이를 가지는 하나의 요소문서에 종속됨을 표시하는 각각의 종속 관계를 더 포함하며, 상기 자원들에 속한 개별 자원의 사용자는, 일반 사용자, 상기 개별 자원의 적어도 하나의 소유자, 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자를 포함하고, 상기 꼬리표들 각각은, 상기 개별 자원의 상기 적어도 하나의 소유자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하기 위한 소유자 꼬리표, 상기 일반 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 정책 꼬리표, 및 상기 적어도 하나의 특정 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 허가 꼬리표 중의 하나이고, 상기 컴퓨팅 장치는, (i) 상기 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청, (ii) 상기 구조화 문서 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청, (iii) 상기 구조화 문서 내 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청, (iv) 상기 구조화 문서 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청, 및 (v) 상기 구조화 문서 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청을 획득하는 통신부; 및 상기 구조화 문서 생성 요청에 응하여, 상기 구조화 문서 및 상기 구조화 문서에 포함된 상기 최상위 요소문서를 생성하는 부프로세스, 및 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표를 생성하는 부프로세스를 수행하는 프로세스, 상기 자원 생성 요청에 응하여, 상기 신규 자원을 생성하는 프로세스, 상기 권한 추가 요청에 응하여, 상기 제1 특정 자원에 대응하는 상기 정책 꼬리표 또는 상기 허가 꼬리표를 생성하는 프로세스, 상기 권한 확인 요청에 대한 응답으로서, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려주는 프로세스, 및 상기 액션 실행 요청에 응하여, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 프로세스를 수행하는 프로세서를 포함한다.According to another aspect of the present invention, there is provided a computing device for managing rights regarding resources included in a structured document as tags, wherein the structured document has a depth of 0 At least one element document of the highest level, and optionally further comprising at least one element document having a depth of one or more, each of the element documents included in the structured document includes at least one record as content and the resources include the structured document, and all the element documents included in the structured document, and all the records, wherein each of the resources includes a revision number as a number of revisions, wherein the one or more depths are included. When the at least one element document having the at least one element document is included in the structured document, the structured document is subordinate to one element document having a depth of n-1 in which all element documents having one or more depth n in the structured document each have a depth of n-1. Further comprising each dependency relationship indicating Each of the tags includes: an owner tag for authorizing actions on the individual resource for the at least one owner of the individual resource, authorizing or prohibiting actions on the individual resource for the general user a policy tag for: (i) a user for generating the structured document, and a request to create a structured document that is a request from, (ii) a request to create a resource, which is a request from a user, to create a new resource in the structured document, (iii) a request to create a first specific resource in the structured document , request to add permission, which is a request from the user , (iv) a permission check request, which is a request for confirming a specific user's permission with respect to a first specific action on a second specific resource in the structured document, and (v) a second specific resource in the structured document a communication unit for obtaining an action execution request, which is a request from a user, for executing a specific action; and a process of performing, in response to the structured document creation request, a subprocess for generating the structured document and the top-level element document included in the structured document, and a sub-process for generating the owner tag corresponding to the top-level element document; a process of creating the new resource in response to the resource creation request; a process of generating the policy tag or the permission tag corresponding to the first specific resource in response to the permission addition request; in response to the permission check request , a process for returning the authority of the specific user with respect to the first specific action on the second specific resource, and in response to the action execution request, regarding the second specific action of the user on the third specific resource A processor that acquires the user's right with respect to the second specific action on the third specific resource through a permission check request, and performs a process that executes or does not execute the second specific action according to the acquired right include
본 발명에 의하면 문서에 속한 부분마다 그 내용의 작성, 읽기, 수정, 삭제, 공유, 기여 등의 관리, 특히 권한 설정이 용이해지며, 특히, 다수 사용자들의 읽기/쓰기 접근, 이용 등에 대항하여 해당 문서의 각 부분별 무결성(integrity), 재활용성(recyclability) 등이 효과적으로 유지될 수 있게 할 수 있는 장점이 있다.According to the present invention, it is easy to create, read, modify, delete, share, contribute, etc., manage the contents of each part belonging to a document, in particular, set permissions, and, in particular, against the read/write access and use of multiple users. There is an advantage in that the integrity and recyclability of each part of the document can be effectively maintained.
본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)은 별개의 발명에 이를 정도의 노력 없이 이 도면들에 기초하여 다른 도면들을 얻을 수 있다.
도 1은 본 개시서에 따라 구조화 문서에 포함된 자원들에 관한 권한을 관리하는 방법 (이하 "구조화 문서 권한 관리 방법"이라 함)을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.
도 2는 본 개시서에서 다뤄지는 구조화 문서를 예시적으로 도시한 블록도이다.
도 3은 본 개시서에서 다뤄지는 구조화 문서, 그러한 구조화 문서에 포함되는 요소문서, 그러한 요소문서에 포함되는 기록을 비롯한 자원들 각각에 대응하는 꼬리표들을 예시적으로 도시한 블록도이다.
도 4는 본 개시서에 따른 구조화 문서 권한 관리 방법을 수행하는 컴퓨팅 장치의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이다.
도 5는 본 개시서에 따른 구조화 문서 권한 관리 방법의 일 실시 예를 도시한 흐름도이다.
도 6는 본 개시서의 구조화 문서 권한 관리 방법에 따라 구조화 문서를 생성하고 그 구조화 문서에 대응하는 소유자 꼬리표를 생성하는 과정을 나타낸 시퀀스 다이어그램이다.
도 7은 본 개시서의 구조화 문서 관리 방법에 따라 특정 자원에 대응하는 정책 꼬리표 또는 허가 꼬리표를 생성하는 과정을 나타낸 시퀀스 다이어그램이다.
도 8은 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색하는 과정을 나타낸 흐름도이다.
도 9는 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색한 결과의 예시를 보인 블록도이다.
도 10은 본 개시서의 구조화 문서 관리 방법에 따라 사용자의 권한을 획득하고 획득된 그 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 과정을 나타낸 시퀀스 다이어그램이다.The accompanying drawings for use in the description of the embodiments of the present invention are only a part of the embodiments of the present invention, and a person of ordinary skill in the art to which the present invention belongs (hereinafter referred to as "a person skilled in the art") is separate Other drawings may be obtained on the basis of these drawings without effort reaching the invention of
1 is a conceptual diagram schematically illustrating an exemplary configuration of a computing device performing a method for managing rights on resources included in a structured document (hereinafter referred to as a “structured document rights management method”) according to the present disclosure. .
2 is a block diagram exemplarily illustrating a structured document dealt with in the present disclosure.
3 is a block diagram exemplarily showing tags corresponding to each of the resources including a structured document, an element document included in the structured document, and a record included in the structured document, which are dealt with in the present disclosure.
4 is an exemplary block diagram illustrating hardware or software components of a computing device that performs a structured document rights management method according to the present disclosure.
5 is a flowchart illustrating an embodiment of a method for managing structured document rights according to the present disclosure.
6 is a sequence diagram illustrating a process of generating a structured document and generating an owner tag corresponding to the structured document according to the structured document rights management method of the present disclosure.
7 is a sequence diagram illustrating a process of generating a policy tag or a permission tag corresponding to a specific resource according to the structured document management method of the present disclosure.
8 is a flowchart illustrating a process of searching for a tag according to the structured document management method of the present disclosure.
9 is a block diagram illustrating an example of a tag search result according to the structured document management method of the present disclosure.
10 is a sequence diagram illustrating a process of obtaining a user's authority according to the structured document management method of the present disclosure and executing or not executing the second specific action according to the obtained authority.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description of the present invention refers to the accompanying drawings, which show by way of illustration a specific embodiment in which the present invention may be practiced, in order to clarify the objects, technical solutions and advantages of the present invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. In the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.
"제1" 또는 "제2" 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 하는바, 어떠한 순서도 시사하고 있지 않기 때문이다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as “first” or “second” may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another, and no order is implied. because it doesn't For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected to” another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present disclosure, terms such as “comprise” or “have” are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.
본 개시서에서 "구조화 문서"는 일대일 또는 일대다(1:多)의 종속 관계(또는 이와 동치인 포함 관계 등)로 서로 이어지는 하나 이상의 개별의 요소문서들을 포함하는 문서 묶음을 지칭하는 개념이다. 구조화 문서, 요소문서, 요소문서의 내용인 기록은 각각 '자원(resource)'이라는 상위 개념으로 포괄될 수 있으며, 요소문서들 간의 종속 관계 또는 포함 관계는 자원들 간의 종속 관계로 일반화될 수 있다.In the present disclosure, a "structured document" is a concept that refers to a document bundle including one or more individual element documents connected to each other in a one-to-one or one-to-many (1:many) dependency relationship (or an equivalent inclusion relationship, etc.). Structured documents, element documents, and records, which are the contents of element documents, can each be encompassed as a higher-level concept called 'resource', and the dependency relationship or inclusion relationship between element documents can be generalized as a dependency relationship between resources.
그런데 자원들 간의 이러한 종속 관계 또는 포함 관계는 개념적으로 상하위 관계와 동치의 것이다. 편의 상, 본 개시서에서 어느 자원 A에 다른 자원 B가 종속될 때, 자원 A를 자원 B의 "부모 자원"이라고 지칭할 수 있고, 자원 B를 자원 A의 "자식 자원"이라고 지칭할 수 있다. 이를 확장하여, 부모 자원, 부모 자원의 부모 자원, 부모 자원의 부모 자원의 부모 자원 등을 "조상 자원"이라고 지칭하고, 자식 자원, 자식 자원의 자식 자원, 자식 자원의 자식 자원의 자식 자원 등을 "자손 자원"이라고 지칭할 수 있다.However, such a dependency or containment relationship between resources is conceptually equivalent to a subordinate relationship. For convenience, in this disclosure, when a resource A depends on another resource B, resource A may be referred to as a "parent resource" of resource B, and resource B may be referred to as a "child resource" of resource A. . By extending this, the parent resource, the parent resource of the parent resource, the parent resource of the parent resource of the parent resource, etc. are referred to as "ancestral resources", and the child resource, the child resource of the child resource, the child resource of the child resource of the child resource, etc. It may be referred to as a “progeny resource”.
본 개시서에서 "권한" 또는 "권한 정보"는 어느 사용자가 어느 자원에 관하여 어느 액션(action; 작용)을 취할 수 있는지, 혹은 없는지를 설정한 값을 지칭하는바, 불 값(Boolean value), 열거형 값(enumeration value), 정수형 값(integer value) 등의 형태를 가질 수 있다. 본 개시서에서 "권한이 부여"되었다는 표현은 그 권한이 참(true) 값을 가짐을 의미할 수 있으며, "권한이 금지"되었다는 표현은 그 권한이 거짓(false) 값을 가짐을 의미할 수 있다.In the present disclosure, "authority" or "right information" refers to a value that sets whether a user can or cannot take an action with respect to which resource. A Boolean value, It may have the form of an enumeration value, an integer value, or the like. In this disclosure, the expression "authorization is granted" may mean that the authority has a true value, and the expression "authorization is prohibited" may mean that the authority has a false value. there is.
한편, 정수형 값으로 된 권한 정보는 어느 사용자의 어느 자원에 관한 여러 가지 액션들에 대한 권한을 비트 표현에 의하여 하나의 값으로 표현할 수 있을 뿐만 아니라, 컴퓨팅 장치의 비트 연산은 논리 연산에 의한 분기보다 월등히 빠르므로, 권한을 정수형으로 표현하는 방식의 유용함은 통상의 기술자에게 잘 알려져 있다.On the other hand, the permission information in the form of an integer value not only can express the permission of a certain user for various actions on a certain resource as a single value by bit expression, but also the bit operation of the computing device is more efficient than branching by logical operation. Since it is very fast, the usefulness of expressing privileges as integers is well known to those skilled in the art.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present disclosure, it should be interpreted in an ideal or excessively formal meaning doesn't happen
더욱이 본 발명은 본 개시서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니다. Moreover, the present invention encompasses all possible combinations of the embodiments indicated in the present disclosure. It should be understood that various embodiments of the present invention are different but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present invention in relation to one embodiment. In addition, it should be understood that the position or arrangement of individual components in each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description given below is not intended to be taken in a limiting sense.
본 개시서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In this disclosure, unless otherwise indicated or clearly contradicted by context, items referred to in the singular encompass the plural unless the context requires otherwise. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, in order to enable those skilled in the art to easily practice the present invention, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 개시서에 따른 구조화 문서 권한 관리 방법을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.1 is a conceptual diagram schematically illustrating an exemplary configuration of a computing device that performs a structured document rights management method according to the present disclosure.
도 1을 참조하면, 본 개시서의 일 실시 예에 따른 컴퓨팅 장치(100)는, 통신부(110) 및 프로세서(120)를 포함하며, 상기 통신부(110)를 통하여 외부 컴퓨팅 장치(미도시)와 직간접적으로 통신할 수 있다.Referring to FIG. 1 , a
구체적으로, 상기 컴퓨팅 장치(100)는, 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터, 프로세서, 메모리, 스토리지(storage), 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. 상기 스토리지는 하드 디스크, USB(Universal Serial Bus) 메모리와 같은 기억 장치뿐만 아니라 클라우드 서버와 같은 네트워크 연결 기반의 저장 장치의 형태를 포함할 수 있다.Specifically, the
이와 같은 컴퓨팅 장치의 통신부(110)는 연동되는 타 컴퓨팅 장치, 예컨대 전용의 저장소, 예컨대, 데이터베이스 서버 등과의 사이에서 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(Transmission Control Protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는 바, 예컨대 UDP(User Datagram Protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다.The
구체적으로, 통신부(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) 등의 근거리 통신 인터페이스를 포함할 수 있다. 뿐만 아니라, 통신 인터페이스는 프로세서가 외부와 통신을 수행할 수 있는 모든 인터페이스{예를 들어, 데이터 버스(data bus)와 같은 여러 버스, 유무선 인터페이스}를 나타낼 수 있다.Specifically, the
예를 들어, 통신부(110)는 이와 같이 적합한 통신 인터페이스를 통해 타 컴퓨팅 장치로부터 데이터를 송수신할 수 있다. 덧붙여, 넓은 의미에서 상기 통신부(110)는 명령어 또는 지시 등을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치, 인쇄 장치, 디스플레이, 기타 외부 출력 장치를 포함하거나 이들과 연동될 수 있다. 컴퓨팅 장치, 예컨대, 휴대 단말 또는 개인용 컴퓨터(personal computer; PC)와 같은 사용자 단말이나 서버의 사용자에게 적합한 사용자 인터페이스를 표시하여 제공함으로써 사용자와의 상호작용을 가능하게 하기 위하여, 컴퓨팅 장치(100)는 디스플레이부를 내장하거나 상기 통신부(110)를 통하여 외부의 디스플레이 장치와 연동될 수 있음이 알려져 있다. 예컨대, 그러한 디스플레이부 또는 디스플레이 장치는 터치 입력이 가능한 터치스크린일 수 있다.For example, the
또한, 컴퓨팅 장치의 프로세서(120)는 캐시 메모리(cache memory)와 같은 내부 메모리 및/또는 외부 메모리를 가지는 하나 이상의, MPU(micro processing unit), CPU(central processing unit), GPU(graphics processing unit), NPU(neural processing unit) 또는 TPU(tensor processing unit)와 같은 마이크로프로세서, 컨트롤러, 예컨대, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 마이크로컴퓨터, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 예컨대, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the
이제 도 2 내지 도 9를 참조하여 본 개시서에 따른 구조화 문서 권한 관리 방법을 상세히 후술하기로 한다. Now, a structured document rights management method according to the present disclosure will be described in detail below with reference to FIGS. 2 to 9 .
도 2는 본 개시서에서 다뤄지는 구조화 문서를 예시적으로 도시한 블록도이다.2 is a block diagram exemplarily illustrating a structured document dealt with in the present disclosure.
도 2를 참조하면, 구조화 문서(200)는 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서(210)를 포함한다. 여기에서 요소문서의 깊이는 0 이상인 정수, 즉, 음이 아닌 정수(non-negative integer)의 값을 가진다.Referring to FIG. 2 , the structured
구조화 문서(200)가 1 이상의 깊이를 가지는 어떠한 요소문서도 포함하지 않을 때 그 구조화 문서를 자명한(trivial) 구조화 문서라고 지칭할 수 있고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서(예컨대, 220 내지 270)를 포함할 때 비자명한(non-trivial) 구조화 문서라고 지칭할 수 있다. When the structured
도 2의 예시에서는, 깊이 1의 요소문서들(220 및 230)이 깊이 0의 요소문서(210)에 종속되어 있고, 깊이 2의 요소문서들(240 및 250)이 깊이 1의 요소문서(220)에 종속되어 있으며, 깊이 3의 요소문서들(260 및 270)이 깊이 2의 요소문서(240)에 종속되어 있다.In the example of FIG. 2 , element documents 220 and 230 of
구조화 문서(200)는 1 이상의 깊이를 가지는 요소문서를 선택적(optionally)으로 더 포함할 수 있으며, 구조화 문서(200) 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각은 n-1의 깊이를 가지는 하나의 요소문서에 종속되어야 한다. 구조화 문서 내 개별 요소문서들 간의 종속 관계는 '종속 관계'라는 데이터로 구조화 문서(200)에 포함된다. The structured
도 2의 예시를 참조하면, 구조화 문서(200)에 포함된 모든 요소 문서 각각은 그 요소 문서의 내용으로서 적어도 하나의 기록(record; 212 내지 276)을 포함한다. 기록은 텍스트, 수치 또는 그림을 포함할 수 있으나 이에 한정되지 않고 다양한 포맷의 데이터를 포함할 수 있음은 물론이다. 어느 요소 문서의 내용에 해당하는 기록들 각각은, 그 요소 문서의 자식 자원들 각각을 사용할 것인지 그렇지 않을 것인지에 관하여 그 사용(또는 표시) 여부 및/또는 활성화(또는 강조) 여부를 나타내는 값들, 예컨대, 불 값(Boolean value)들, 및 상기 자식 자원들을 표시하는 때 그 표시하는 순서를 나타내는 값인 표시 순서값, 예컨대, 정수 값(integer value)들을 포함할 수 있다.Referring to the example of FIG. 2 , each of all element documents included in the structured
전술한 바와 같이, '자원'은 구조화 문서(200), 그 구조화 문서에 포함된 모든 요소문서(210 내지 270)뿐만 아니라 그 요소문서(210 내지 270)의 기록들(212 내지 276)을 망라한다. 자원 각각은 그 자원이 수정된 횟수인 정정 회차(revision count)의 정보를 포함한다.As described above, the 'resource' includes the structured
도 3은 본 개시서에서 다뤄지는 구조화 문서, 그러한 구조화 문서에 포함되는 요소문서, 그러한 요소문서에 포함되는 기록을 비롯한 자원들 각각에 대응하는 꼬리표들을 예시적으로 도시한 블록도이다. 3 is a block diagram exemplarily showing tags corresponding to each of the resources including a structured document, an element document included in the structured document, and a record included in the structured document, which are dealt with in the present disclosure.
도 3에 예시된 꼬리표들을 설명하기에 앞서, 어느 자원에 관한 권한이 부여 또는 금지되는 주체인 사용자(user)부터 설명하면, 개별 자원의 사용자는, 일반 사용자(everybody), 상기 개별 자원의 적어도 하나의 소유자(owner), 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자(specific user)를 포함한다.Before describing the tags illustrated in FIG. 3 , the user, who is the subject to which authority on a certain resource is granted or prohibited, will be described. A user of an individual resource is a general user (everybody), at least one of the individual resources. an owner of , and at least one specific user for the individual resource.
그렇다면, 꼬리표의 종류에는 개별 자원(310a)의 상기 적어도 소유자(322)에 대하여 그 개별 자원(310a)에 관한 액션들의 권한을 부여하기 위한 소유자 꼬리표(320), 상기 일반 사용자에 대하여 개별 자원(310b)에 관한 액션들의 권한을 부여하거나 금지하기 위한 정책 꼬리표(340), 상기 적어도 하나의 특정 사용자(362)에 대하여 개별 자원(310c)에 관한 액션들의 권한을 부여하거나 금지하기 위한 허가 꼬리표(360)가 포함된다. 상기 일반 사용자는 붙특정 사용자를 지칭하는 것이므로 개별 자원(310b)과 정책 꼬리표(340) 사이에는 일대일 대응 관계가 있으며, 개별 자원(310a)과 소유자 꼬리표(320) 사이에는 일대일 대응 관계 또는 일대다 대응 관계가 있다. 개별 자원(310a)이 소유자가 유일하다면, 개별 자원과 소유자 꼬리표 간에는 일대일 대응 관계가 성립할 것이나 개별 자원(310a)의 소유자가 여럿이라면, 일대다 대응 관계(하나의 소유자 꼬리표에 하나의 소유자만이 대응되는 경우)가 성립될 수도 있고 일대일 대응 관계(하나의 소유자 꼬리표에 여러 소유자가 대응되는 경우)가 성립될 수도 있다.If so, the type of tag includes an
마찬가지로, 개별 자원(310c)과 허가 꼬리표(360) 사이에도 일대일 대응 관계 또는 일대다 대응 관계가 성립할 수 있는바, 통상의 기술자는 필요에 따라 그 중 하나를 설계안으로서 취사선택할 수 있을 것이다.Similarly, a one-to-one correspondence or a one-to-many correspondence may be established between the
여기에서 소유자 꼬리표(320)가 어떠한 소유자(322)에 대하여 어떠한 액션의 권한도 금지하기 위한 것이 아님은 물론이다.It goes without saying that the
도 4는 본 개시서에 따른 구조화 문서 권한 관리 방법을 수행하는 컴퓨팅 장치의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이고, 도 5는 본 개시서에 따른 구조화 문서 권한 관리 방법의 일 실시 예를 도시한 흐름도이다.4 is an exemplary block diagram illustrating hardware or software components of a computing device performing a structured document rights management method according to the present disclosure, and FIG. 5 is an embodiment of a structured document rights management method according to the present disclosure is a flowchart showing
도 4 및 도 5를 참조하면, 본 개시서의 구조화 문서 권한 관리 방법은, 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청에 응하여, 컴퓨팅 장치, 예컨대 서버(100)에 의하여 구현되는 구조화 문서 생성 모듈(410)이, 구조화 문서(200) 및 그 구조화 문서(200)에 포함되는 최상위 요소문서(210)를 생성하고, 서버(100)에 의하여 구현되거나 서버(100)에 연동되는 소정의 저장소(420)에 보유하는 프로세스(S100a; 미도시), 및 최상위 요소문서(210)에 대응하는 소유자 꼬리표로서 상기 사용자를 소유자로 지정하는 소유자 꼬리표를 생성하고 소정의 저장소(420)에 보유하는 프로세스(S100b; 미도시)를 수행함(S100)을 포함한다. 4 and 5 , the structured document rights management method of the present disclosure is implemented by a computing device, for example, the
본 개시서에서 설명되는 구조화 문서 생성 요청, 자원 생성 요청, 권한 추가 요청, 권한 확인 요청, 액션 실행 요청 등은 사용자가 이용하는 타 컴퓨팅 장치, 예컨대, 클라이언트(100')로부터 획득될 수 있음은 물론이다.Of course, the structured document creation request, resource creation request, permission addition request, permission check request, action execution request, etc. described in this disclosure may be obtained from another computing device used by the user, for example, the
즉, 도 4에 예시된 구성요소들 중 저장소(420)는 다른 모듈들과 동일한 컴퓨팅 장치인 서버(100)에서 구현될 수 있으나, 별도의 컴퓨팅 장치인 저장소 서버(미도시)에서 구현되어도 무방하다.That is, among the components illustrated in FIG. 4 , the
도 6는 본 개시서의 구조화 문서 권한 관리 방법에 따라 구조화 문서를 생성하고 그 구조화 문서에 대응하는 소유자 꼬리표를 생성하는 과정을 나타낸 시퀀스 다이어그램이다.6 is a sequence diagram illustrating a process of generating a structured document and generating an owner tag corresponding to the structured document according to the structured document rights management method of the present disclosure.
도 4 및 도 6에 예시된 바와 같이, 구조화 문서(200) 및 이를 비롯한 자원들과 상기 꼬리표들은 동일한 저장소(420)에서 보유 및 관리될 수도 있으나, 상이한 정보 단위로서 상이한 저장소들, 예컨대, 구조화 문서 및 자원들은 문서 저장소(422)에서, 꼬리표들은 꼬리표 저장소(424)에서 보유 및 관리될 수 있음은 물론이다. 그러한 정보 단위는 예컨대 SQL 기반 데이터베이스의 테이블(table)일 수 있으나 이에 한정되지 않는다.As illustrated in FIGS. 4 and 6 , the structured
프로세스(S100a)에서 최상위 요소문서(210)의 생성은 구조화 문서 생성 모듈(410)에 의하여 호출된 자원 생성 모듈(430)에 의하여 수행될 수도 있다. 프로세스(S100a)에서의 최상위 요소문서(210)의 생성은 구조화 문서(200)의 생성을 요청한 상기 사용자가 그 생성된 구조화 문서(200)의 소유자가 되므로, 자원 생성 모듈(430)이 후술하는 바와 같은 상기 사용자의 권한 확인을 요청할 필요가 없는바, 후술하는 권한 확인이 생략될 수 있다.The generation of the
프로세스(S100b)에서 상기 소유자 꼬리표의 생성은 구조화 문서 생성 모듈(410)에 의하여 호출된 꼬리표 생성 모듈(440)에 의하여 수행될 수도 있다. 프로세스(S100a)에서와 마찬가지로, 프로세스(S100b)에서의 상기 소유자 꼬리표의 생성은 상기 구조화 문서의 생성을 요청한 상기 사용자가 그 생성된 구조화 문서(200)의 소유자가 되므로 꼬리표 생성 모듈(440)이 후술하는 바와 같은 상기 사용자의 권한 확인을 요청할 필요가 없다.The generation of the owner tag in the process S100b may be performed by the
상기 소유자 꼬리표는 이에 의하여 지정된 소유자가 구조화 문서(200)에 대한 모든 권한을 가짐을 나타내는 데이터인바, 앞서 언급된 바와 같이 상기 소유자 꼬리표에 대응하는 소유자는 단수에 한정되지 않고 다수가 될 수도 있다.The owner tag is data indicating that the owner designated thereby has all rights to the structured
한편, 상기 구조화 문서에 대응하는 소유자 꼬리표는 곧 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표인 것으로 정의되는바, 이는 후술하는 꼬리표에 의한 권한 탐색 시 데이터 취급의 일관성을 기하기 위함이다.On the other hand, the owner tag corresponding to the structured document is defined as the owner tag corresponding to the uppermost element document. This is to ensure consistency in data handling when searching for rights by a tag, which will be described later.
계속해서 도 4 및 도 5를 참조하면, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(100)에 의하여 구현되는 자원 생성 모듈(410)이, 구조화 문서(200) 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청에 응하여 상기 신규 자원을 생성함(S200)을 더 포함한다. 상기 신규 자원은 구조화 문서(200)에 포함되는 신규의 요소문서일 수도 있으나 이에 한정되지 않고, 예를 들어, 구조화 문서(200)의 어느 요소문서에 포함되는 신규의 기록일 수도 있음은 물론이다.Continuing to refer to FIGS. 4 and 5 , in the structured document rights management method of the present disclosure, the
또한, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(100)에 의하여 구현되는 꼬리표 생성 모듈(440)이, 구조화 문서(200) 내의 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청에 응하여, 상기 제1 특정 자원에 대응하는 정책 꼬리표 또는 허가 꼬리표를 생성함(S300)을 더 포함하는바, 정책 꼬리표 및 허가 꼬리표는 앞서 설명된 바와 같다.In addition, in the structured document authority management method of the present disclosure, the
도 7은 본 개시서의 구조화 문서 관리 방법에 따라 특정 자원에 대응하는 정책 꼬리표 또는 허가 꼬리표를 생성하는 과정을 나타낸 시퀀스 다이어그램이다.7 is a sequence diagram illustrating a process of generating a policy tag or a permission tag corresponding to a specific resource according to the structured document management method of the present disclosure.
도 7을 참조하여 구체적으로 설명하면, 꼬리표 생성 모듈(440)은, 상기 제1 특정 자원을 상기 사용자로 하여금 선택하게 하고(S340), 상기 제1 특정 자원에 대한 꼬리표의 종류(정책 꼬리표, 허가 꼬리표 등) 및 그 내용(대상자 및 그 대상자의 권한)을 상기 사용자로 하여금 선택하게 하며(S360), 그 제1 특정 자원에 대응한 정책 꼬리표 또는 허가 꼬리표를 생성하여 소정의 저장소(420)에 보유(S380)할 수 있다. 사용자가 상기 제1 특정 자원을 선택할 수 있도록 상기 제1 특정 자원의 선택(S340) 전에 상기 구조화 문서 전체를, 예컨대, 클라이언트(100')를 통하여 제공하여 보여주는 단계(S320)가 더 포함될 수도 있다.Specifically with reference to FIG. 7 , the
한편, 앞서 설명된 상기 신규 자원의 생성(S200) 시에, 상기 구조화 문서의 소유자에 의하여 미리 설정된 일반 사용자에 대한 정책 꼬리표 또는 특정 사용자에 대한 허가 꼬리표가 기본값(default value)으로서 상기 자원에 대응하도록 함께 생성될 수 있는바, 이를 위하여 자원 생성 모듈(410)이 꼬리표 생성 모듈(440)을 호출할 수 있다.On the other hand, when the above-described new resource is created (S200), a policy tag for a general user or a permission tag for a specific user preset by the owner of the structured document corresponds to the resource as a default value. Since they may be generated together, the
다음으로, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(100)에 의하여 구현되는 권한 확인 모듈(450)이, 구조화 문서(200) 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청에 대한 응답으로서, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(S400; returning 혹은 반환)을 더 포함한다. 더 나아가, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 구조화 문서(200) 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청에 응하여, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득(S400)하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않음(S500)을 더 포함한다.Next, in the structured document authority management method of the present disclosure, the
액션들actions
특정 자원에 대한 특정 액션에 관하여 어느 사용자가 가지는 권한의 탐색(S400) 및 그 특정 액션의 실행(S500)에 관한 구체적인 설명에 앞서, 본 개시서에서 권한 확인의 대상이 되는, 개별 자원에 관한 액션들부터 먼저 설명하면, 그러한 액션들에는 상기 자원의 사용들 및 접근이 포함될 수 있다. 상기 사용들은, 상기 자원의 수정(편집), 열람, 삭제 등을 포함할 수 있으며, 이러한 사용들 각각의 권한은 부여되거나 금지될 수 있다. 또한, 상기 접근은, 상기 자원이 검색 결과로 표시됨을 지칭하는바, 이러한 접근의 권한도 부여되거나 금지될 수 있다.Prior to the detailed description of the search (S400) and execution of the specific action (S500) of a user's authority with respect to a specific action on a specific resource, in this disclosure, an action on an individual resource, which is the subject of authority check First of all, such actions may include uses and access to the resource. The uses may include modifying (editing), viewing, and deleting the resource, and each of these uses may be granted or prohibited. In addition, since the access refers to the resource being displayed as a search result, the right of such access may also be granted or prohibited.
예를 들어, 액션들에는 최상위 요소문서의 삭제가 포함될 수 있으며, 이는 해당 구조화 문서의 삭제와 동일한 액션일 수 있다. For example, the actions may include deletion of a top-level element document, which may be the same action as deletion of a corresponding structured document.
한편, 액션들에는 최상위 요소문서가 아닌 자원의 삭제가 포함될 수 있으며, 그러한 삭제 시에는, 최상위 요소문서가 아니면서 자식 자원을 가지지 않는 모든 개별 자원들이 최상위 요소문서들로부터 종속 관계의 연쇄가 이어짐을 보장하기 위하여, 즉, 어느 개별 자원의 삭제로 인하여 구조화 문서 내 다른 어느 개별 자원이 파편화(fragmented)되지 않도록, 그 삭제의 대상인 개별 자원이 포함한 자식 자원들과 그 자식 자원들에 대한 종속 관계도 재귀적(recursive)으로 삭제되어야 함은 물론이다.On the other hand, actions may include deletion of a resource other than the top-level element document. In order to ensure that any other individual resource in the structured document is not fragmented due to deletion of an individual resource, the child resources included in the individual resource to be deleted and the dependencies on the child resources are also recursive. Of course, it should be deleted as recursive.
액션 - 기여의 요청 및 기여의 반영Action - Request for Contribution and Reflect Contribution
또한, 상기 액션들에는, 상기 개별 자원에 대한 '기여의 요청' 및 '기여의 반영'도 포함될 수 있다. 여기에서 '기여'는 그 기여를 요청하는 사용자(즉, 기여자)가 기 생성된 구조화 문서의 자원을 수정하는 행위를 지칭하는바, '기여의 요청'은 기여자에 의하여 만들어진 수정 내용을 그 구조화 문서의 작성자에게 전달하는 액션에 해당하고, '기여의 반영'은 그 수정 내용에 대한 가부를 결정하는 사용자(즉, 기여 반영자)가 내린 결정에 따라 구조화 문서의 자원을 변경 또는 유지하는 액션에 해당한다.In addition, the actions may include 'contribution request' and 'contribution reflection' for the individual resource. Here, 'contribution' refers to the act of a user requesting the contribution (ie, a contributor) modifying the resources of a structured document that has been created. corresponds to an action to deliver to the author of do.
더 구체적으로, 상기 기여의 요청은, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 그 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의하여 접근 가능한 소정의 제1 사용자 인터페이스를 서버(100) 또는 클라이언트(100')를 통하여 제공함으로써, 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이다. 상기 제1 사용자 인터페이스의 제공을 위해 서버(100)에 의하여 구현되는 사용자 인터페이스 제공 모듈(미도시)이 이용될 수 있는바, 이 경우 액션 실행 모듈(460)은 그러한 사용자 인터페이스 제공 모듈을 호출하여 이용할 수 있다.More specifically, the request for contribution includes the content modified by the
또한, 상기 기여의 반영은, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션이다. 상기 기여 반영자의 선택에 따라, 상기 신규 자원이 상기 개별 자원을 대체하면, 그 신규 자원은 상기 개별 자원에 비해 1만큼 증가된 정정 회차를 가지는바, 예컨대, 통상의 기술자는 그러한 정정 회차별로 해당 자원의 이력, 즉, 반영 기록(contribution record)을 남기는 방식으로 액션 실행 모듈(460)을 구성할 수도 있을 것이다.In addition, in the reflection of the contribution, the
액션 - 공유Action - Share
한편, 상기 액션들에는, 상기 개별 자원에 대한 공유도 포함될 수 있는바, 여기에서 공유의 액션 실행 요청을 하는 사용자를 전달자(sender), 그 공유의 대상으로 지정된 사용자를 수용자(receiver)라고 할 수 있다. 상기 개별 자원에 대한 공유는, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 상기 수용자(receiver)에 의해 접근 가능한 소정의 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서(200; 원본 구조화 문서)의 복제를 수행하여 신규 구조화 문서(200'; 미도시)를 생성하고, 상기 신규 구조화 문서에 대응하는 상기 개별 자원 및 상기 개별 자원의 자손 자원 중에서 상기 수용자의 읽기 권한이 부여된 자원들인 공유 자원들의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서 내 상기 공유 자원들의 소유자 꼬리표를 생성 또는 수정하는 액션이다.On the other hand, the actions may also include sharing of the individual resources. Here, a user who requests execution of an action of sharing is called a sender, and a user designated as the target of sharing is called a receiver. there is. In the sharing of the individual resources, the
즉, 상기 수용자가 소유자들 중 하나가 되는 상기 신규 구조화 문서는 원본 구조화 문서 중에서 상기 수용자의 읽기 권한이 부여되었던 자원들만을 포함하도록 상기 복제가 수행되므로 그 신규 구조화 문서는 상기 원본 구조화 문서와 동일하지 않을 수 있다. 이와 같은 공유는 그 전달자 및 수용자가 서로 동일할 수도 있는바, 자기 자신에게 하는 공유는 수집(collect)이라고 지칭할 수 있다.That is, the new structured document is not the same as the original structured document because the duplication is performed to include only the resources to which the recipient's read permission has been granted among the original structured documents. it may not be In such a sharing, the sender and the receiver may be identical to each other, and sharing to oneself may be referred to as a collection.
앞서 상기 제1 사용자 인터페이스의 제공에 관하여 설명된 바와 같이, 상기 제2 사용자 인터페이스의 제공을 위하여도, 상기 사용자 인터페이스 제공 모듈이 이용될 수 있다.As described above with respect to the provision of the first user interface, the user interface providing module may also be used to provide the second user interface.
액션 - 구조화 문서의 복제Action - Duplicate structured document
추가로, 상기 액션들에는, 상기 구조화 문서의 복제가 포함될 수 있는바, 여기에서 상기 구조화 문서의 복제는, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이 구조화 문서(200) 자체 및 구조화 문서(200)에 포함되는 자원들, 즉, 구조화 문서(200)의 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 단계, 및 액션 실행 모듈(460)이 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 단계를 포함하는 액션일 수 있다. 즉, 구조화 문서의 복제는, 그 전달자 와 수용자가 서로 동일한, 구조화 문서의 공유와 실질적으로 동일한 액션이되, 전달자가 수용자의 수락 여부를 묻기 위한 상기 제2 사용자 인터페이스가 제공되지 않는다는 점에서 차이가 있다.Additionally, the actions may include duplication of the structured document, wherein the duplication of the structured document includes the structured
본 개시서의 구조화 문서 권한 관리 방법과 관련하여 어느 구조화 문서 자체 또는 이에 속한 자원들에 관한 기타 액션들은 통상의 기술자가 쉽게 도출할 수 있을 것인바, 이에 관하여 더 상세한 설명은 생략하기로 한다.In relation to the structured document rights management method of the present disclosure, other actions related to a structured document itself or resources belonging thereto can be easily derived by a person skilled in the art, and a more detailed description thereof will be omitted.
자원에 대한 액션에 관한 사용자의 권한의 탐색Exploring a user's permissions for an action on a resource
이제, 참조부호 S400에 관한 구체적인 설명을 위하여, 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색하는 과정이 예시적으로 나타난 도 8을 참조한다.Now, for a detailed description of reference numeral S400, reference is made to FIG. 8 exemplarily showing a process of searching for a tag according to the structured document management method of the present disclosure.
도 8을 참조하면, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning; S400)은, 상기 제2 특정 자원(R), 및 상기 제2 특정 자원의 조상 자원(집합으로 표현하면, {Rp | Rp 는 R의 조상 자원}) 중에서, 즉 R∪{Rp} 중에서 상기 제1 특정 액션(A)에 관하여 상기 특정 사용자(U)에게 적용되는 꼬리표를 탐색하는 단계(S420)를 포함할 수 있는바, 구체적인 탐색의 목표는 상기 특정 사용자에게 적용되는 꼬리표들 중에서 상기 제2 특정 자원에 최근접인, 즉, 가장 가까운 자원(R')에 대응하는 특정 꼬리표(T)를 찾는 것이다.Referring to FIG. 8 , returning the specific user's right to the first specific action for the second specific resource (returning S400) includes the second specific resource R, and the second specific resource. Applied to the specific user U with respect to the first specific action A among the ancestor resources of (expressed as a set, { R p | R p is the ancestor resource of R}), that is, among R It may include a step (S420) of searching for a tag to be used, where the specific search target is closest to the second specific resource among the tags applied to the specific user, that is, to the closest resource (R'). It is to find the corresponding specific tag (T).
상기 최근접인 자원의 특정 꼬리표(T)를 획득하기 위한, 상기 제2 특정 자원 및 상기 제2 특정 자원의 조상 자원에 대한 탐색은, 상기 제2 특정 자원(R)으로부터 상기 조상 자원({Rp})으로 거슬러 올라가며 R∪{Rp} 중에서 특정 조건, 즉, 종료 조건을 만족하는 자원(r)의 꼬리표(t)를 찾는 상향 탐색으로서, 예컨대, 너비 우선 탐색(Breadth-First Search; BFS)에 의할 수 있으나 이에 한정되지는 않는다. 종료 조건을 만족하는, 자원(r)의 꼬리표(t)가 상기 탐색의 결과인 특정 꼬리표(T)이다.The search for the second specific resource and the ancestor resource of the second specific resource to obtain the specific tag (T) of the nearest resource is, from the second specific resource (R), the ancestor resource ({R p }) and is an upward search for finding the tag t of a resource r that satisfies a specific condition, that is, an end condition, among R∪{R p }, for example, Breadth-First Search (BFS). ), but is not limited thereto. A tag t of a resource r that satisfies the termination condition is a specific tag T that is the result of the search.
만족하여야 할 상기 종료 조건은, (i) 꼬리표(t)가 소유자 꼬리표에 해당하고, 특정 사용자(U)가 꼬리표(t)에 대응하는 상기 적어도 하나의 소유자에 속하는 제1 조건, (ii) 꼬리표(t)가 정책 꼬리표이고, 꼬리표(t)에 의하여 제1 특정 액션(A)에 관한 권한이 부여 또는 금지된 제2 조건, (iii) 꼬리표(t)가 허가 꼬리표이고, 꼬리표(t)에 의하여 제1 특정 액션(A)에 관한 특정 사용자(U)의 권한이 부여 또는 금지된 제3 조건 중 하나를 만족하는 조건이다. The termination condition to be satisfied is: (i) a first condition that a tag (t) corresponds to an owner tag and a specific user (U) belongs to the at least one owner corresponding to a tag (t), (ii) a tag a second condition in which (t) is a policy tag, and the authorization or prohibition with respect to a first specific action (A) by tag (t) is a second condition, (iii) tag (t) is a permission tag, and in tag (t) It is a condition that satisfies one of the third conditions in which the authority of the specific user U is granted or prohibited by the first specific action A.
상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 꼬리표(t)가 존재하지 않는 제4 조건도 종료 조건이나, 이 제4 조건을 만족한다면, 상기 탐색의 결과인 특정 꼬리표(T)는 존재하지 않는바, 특정 사용자(U)의 제2 특정 자원(R)에 대한 제1 특정 액션(A)에 관한 권한은 금지된 것으로 간주될 수도 있다.The fourth condition in which there is no tag (t) satisfying the first, second, and third conditions is also an end condition, but if the fourth condition is satisfied, the specific tag (T) that is the result of the search ) does not exist, the right of the specific user U regarding the first specific action A on the second specific resource R may be considered to be prohibited.
상기 제1 조건 내지 상기 제4 조건 간에는 먼저 판단하여야 할 순서가 있을 수 있는바, 예를 들어, 상기 제4 조건에 대해 상기 제3 조건이 우선 적용될 수 있고, 상기 제3 조건에 대해 상기 제2 조건이 우선 적용될 수 있으며, 상기 제2 조건에 대해 상기 제1 조건이 우선 적용될 수 있다.There may be an order to be determined first between the first condition and the fourth condition. For example, the third condition may be applied first to the fourth condition, and the second condition may be applied to the third condition. The condition may be applied first, and the first condition may be applied preferentially to the second condition.
도 9는 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색한 결과의 예시를 보인 블록도이다. 도 9를 참조하면 구조화 문서(900)에 속한 자원들(910 내지 919)의 개략적인 종속 관계가 도시되어 있는바, 구조화 문서(900)의 최상위 요소문서는 자원(910)이며, 개개의 자원을 나타낸 노드 내에 표시된 부호는 그 자원에 대응하면서 상기 제1 특정 액션에 관하여 특정 사용자(U)에 설정된 꼬리표의 종류를 나타낸다. 그 부호 중 "O"는 소유자 꼬리표를, "A"는 허가 꼬리표를, "P"는 정책 꼬리표를 의미한다. 노드 내에 표시된 부호가 없는 자원들(914, 916, 918, 919)은 상기 제1 특정 액션 및 특정 사용자(U)에 관하여 그 자원들 각각에 대응하도록 설정된 꼬리표가 없음을 의미한다.9 is a block diagram illustrating an example of a tag search result according to the structured document management method of the present disclosure. Referring to FIG. 9 , a schematic dependency relationship of the
앞서 설명된 권한 탐색의 방식에 따르면, 예를 들어, 상기 제1 특정 액션에 관하여 특정 사용자(U)에게 설정된 꼬리표가 대응되지 않은 자원(914)의 종료 조건을 만족하는 최근접 자원은 자원(911)이며, 그 종료 조건은 상기 제3 조건인바, 자원(911), 상기 제1 특정 액션 및 특정 사용자(U)에 적용되는 꼬리표가 자원(914) 및 자원(918)에도 적용된다.According to the method of the permission search described above, for example, the nearest resource that satisfies the termination condition of the
또한, 도 9의 예시에서 꼬리표가 상기 대응되지 않은 자원(919)의 조상 자원들 가운데 종료 조건을 만족하는 자원에는 제1 조건을 만족하는 자원(910)과 제2 조건을 만족하는 자원(915)이 있는데, 그 중 자원(919)에 최근접한 자원은 자원(915)이므로, 자원(919)에 대하여 자원(915)의 꼬리표가 적용된다. 반면, 자원(912)의 조상 자원 중에서 종료 조건을 만족하는 자원에는 제1 조건을 만족하는 자원(910)만이 있으므로, 자원(912)에 대하여 자원(910)의 꼬리표가 적용된다.In addition, in the example of FIG. 9 , among the ancestor resources of the
요컨대, 도 9에서 동일한 꼬리표가 적용되는 자원들은 동일한 패턴으로 칠해져 있는바, 통상의 기술자에게 도 8을 참조하여 설명된 권한 탐색의 방식이 이해될 것이다.In short, since resources to which the same tag is applied in FIG. 9 are painted in the same pattern, a person skilled in the art will understand the method of right search described with reference to FIG. 8 .
상기 특정 사용자의 권한을 되돌려줌(S400)은, 단계(S420) 다음으로 상기 탐색에 따라 획득된 상기 특정 꼬리표를 참조로 하여 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관하여 상기 특정 사용자의 권한을 결정하여 이를 되돌려주는 단계(S480)를 더 포함할 수 있다.Returning the authority of the specific user (S400) is performed after step S420 of the specific user with respect to the first specific action on the second specific resource with reference to the specific tag obtained according to the search. It may further include a step (S480) of determining the authority and returning it.
이제, 참조부호 S500에 관한 구체적인 설명을 위하여, 본 개시서의 구조화 문서 관리 방법에 따라 사용자의 권한을 획득하고 획득된 그 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 과정을 나타낸 도 10을 참조한다.Now, for a detailed description of reference numeral S500, FIG. 10 showing a process of obtaining a user's authority according to the structured document management method of the present disclosure and executing or not executing the second specific action according to the obtained authority see
도 10을 참조하여 일 실시 예를 설명하면, 클라이언트(100')로부터 상기 사용자가 상기 제2 특정 액션, 및 그 제2 특정 액션의 대상으로서 선택(S530)된 상기 제3 특정 자원을 포함한 상기 액션 실행 요청이 획득(S540)되면, 액션 실행 모듈(460)은, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청(S550)을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 반환(S480)받아 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않은(S580) 후, 그 결과를 반환(S580)할 수 있다.An embodiment will be described with reference to FIG. 10 , the second specific action by the user from the
사용자가 상기 제3 특정 자원 및 상기 제2 특정 액션을 선택할 수 있도록 그 선택(S530) 전에 상기 구조화 문서 전체를, 예컨대, 클라이언트(100')를 통하여 제공하여 보여주는 단계(S520)가 더 포함될 수도 있다.A step (S520) of providing and showing the entire structured document, for example, through the client 100', before the selection (S530) may be further included so that the user can select the third specific resource and the second specific action. .
한편, 참조부호 S500에서 사용자의 권한을 획득하고 획득된 그 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 바와 같이, 앞서 설명된 신규 자원의 생성(S200)도, 권한 확인의 요청 및 획득(S400) 후 상기 사용자에게 권한이 있는 경우에만 상기 사용자로 하여금 이(S200)를 수행 가능하게 할 수 있음은 물론이다. 구조화 문서의 생성 및 자원의 생성도 각각 액션의 일종으로 볼 수 있으므로, 그 각각을 수행하는 구조화 문서 생성 모듈(410) 및 자원 생성 모듈(430)도 액션 실행 모듈(460)에 일체화될 수 있는바, 도 4에 나타난 예시는 보다 범용인 액션 실행 모듈(460)에 의하여 수행되는 액션들 중 필수적인 액션인 구조화 문서의 생성 및 자원의 생성 각각에 대응하는 모듈들을 별도의 구조화 문서 생성 모듈(410) 및 자원 생성 모듈(430)로 나타낸 것이 지나지 않는다고 해석할 수도 있다.On the other hand, as the user's authority is obtained at reference numeral S500 and the second specific action is executed or not executed according to the obtained authority, the above-described creation of a new resource (S200) also requests and obtains authority check Of course, only when the user has authority after (S400), it is possible to enable the user to perform this (S200). Since the generation of the structured document and the generation of resources can be viewed as a type of action, respectively, the structured
지금까지 설명된 바에 비추어, 본 개시서의 구조화 문서 권한 관리 방법의 각 단계들(S100 내지 S500) 간에 필연적 선후 관계는 없다는 점이 통상의 기술자에게 이해될 것이다. 물론, 어느 구조화 문서에서 신규 자원을 생성(S200)하거나 특정 자원에 대한 꼬리표를 생성(S300)하거나 사용자의 자원에 대한 권한을 요청 및 획득(S400)하거나 자원에 관한 기타 액션을 수행(S500)하기 위해서는 그 구조화 문서 자체가 먼저 생성(S100)되어 존재하여야 할 것이므로 단계들(S200 내지 S500)에 비해 단계(S100)가 논리적으로 선행된다고 볼 수 있으나 이는 어느 하나의 구조화 문서에 대한 관계에서 그렇다는 것일 뿐, 서로 다른 구조화 문서들에 관하여는 어느 하나의 구조화 문서에 속한 자원의 수정이라는 액션을 수행(S500)한 후에 또 다른 구조화 문서의 신규 생성(S100)이 바로 이루어질 수 있는 바와 같이 본 발명 방법의 어느 단계도 반드시 선행하거나 후행한다고 볼 수 없으므로 본 개시서에서는 '단계(step)'라는 용어의 이용을 의도적으로 회피하였는바, 반드시 필요한 경우에서만 시계열적인 논리적 선후 관계가 존재한다고 할 것이다. 그러므로 통상의 기술자는 그렇지 않아야 할 당위성이 뒤따르지 않는 이상 전술된 모든 단계들이 그 표현된 숫자의 대소에 관계없이 서로 바뀔 수 있음을 이해할 것이다.It will be understood by those of ordinary skill in the art that, in light of the above description, there is no inevitable precedence relationship between the respective steps ( S100 to S500 ) of the structured document rights management method of the present disclosure. Of course, to create a new resource in any structured document (S200), create a tag for a specific resource (S300), request and obtain a user's authority for a resource (S400), or perform other actions on the resource (S500) In order to do so, the structured document itself must first be created (S100) and exist, so it can be seen that step S100 is logically preceded compared to steps S200 to S500, but this is only so in relation to any one structured document. , with respect to different structured documents, after performing an action of modifying resources belonging to one structured document (S500), new generation of another structured document (S100) can be made immediately in any of the methods of the present invention Since a step cannot necessarily precede or follow, the use of the term 'step' is intentionally avoided in this disclosure, and it will be said that a time series logical precedence relationship exists only when absolutely necessary. Therefore, a person skilled in the art will understand that all the above-described steps may be interchanged with each other regardless of the magnitude of the expressed numbers, unless there is a justification to do otherwise.
본 발명에 의하면, 여러 부분들로 구성된 구조화 문서의 다수의 사용자에 의한 취급이 효율적이고 체계적으로 수행될 수 있으면서 그 구조에 충분한 가변성 혹은 유연성이 제공되며, 특히, 본 발명은 전형적이지 않은 액션들인 공유 및 기여 등에 관한 권한 설정을 가능하게 함으로써 다수 사용자들의 읽기/쓰기 접근, 이용 등에 대항하여 문서의 각 부분별 무결성(integrity), 재활용성(recyclability) 등을 유지해낼 수 있는 유리한 효과가 있다. According to the present invention, handling by multiple users of a structured document composed of several parts can be efficiently and systematically performed while providing sufficient variability or flexibility in its structure. And by enabling the setting of permission for contribution, etc., there is an advantageous effect of maintaining the integrity and recyclability of each part of the document against read/write access and use of multiple users.
본 개시서에 개시된 방법은 1회 수행될 수 있을 뿐만 아니라 사용자의 요구 또는 필요에 따라서 반복적으로, 간헐적 또는 지속적으로 수행될 수도 있음은 물론이다.Of course, the method disclosed in the present disclosure may be performed not only once, but may also be performed repeatedly, intermittently, or continuously according to a user's request or need.
이상, 본 개시서의 다양한 실시 예들에 관한 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. Above, based on the description of various embodiments of the present disclosure, those of ordinary skill in the art will recognize that the method and/or processes of the present invention, and the steps thereof, are hardware, software, or hardware and software suitable for a specific application. It can be clearly understood that they can be realized in any combination.
또한, 본 개시서를 읽은 오늘날의 통상의 기술자는 컴퓨팅 장치, 예를 들어, 워크스테이션, 개인용 컴퓨터, 휴대 단말 등을 통하여 제공될 수 있는 다양한 사용자 인터페이스에 익숙한바, 본 개시서에서 설명된 방법들을 이루는 개별 단계들(S100 내지 S500)에 대하여 통상의 기술자는 본 개시서의 방법에서 필요한, 사용자의 여러 조작을 가능하게 하는, 특히 본 개시서에서 설명된 구조화 문서를 이루는 개별 자원들의 내용, 예컨대, 텍스트, 사진, 날짜, 시간 등 다양한 형식의 데이터를 사용자로부터 입력받고 사용자에 대한 제공을 위하여 출력하는 등의 액션들의 수행에 필요한 다양한 사용자 인터페이스를 쉽게 상정할 수 있을 것이다.In addition, those skilled in the art after reading the present disclosure are familiar with various user interfaces that may be provided through a computing device, for example, a workstation, a personal computer, a portable terminal, and the like. With respect to the individual steps S100 to S500, a person skilled in the art needs in the method of the present disclosure, in particular the content of individual resources that enable various manipulations of the user, in particular the structured document described in the present disclosure, eg, text It will be possible to easily imagine various user interfaces required to perform actions such as receiving data in various formats, such as , photos, date, time, etc. from the user and outputting the data to provide to the user.
상기 하드웨어 장치는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 전술된 바와 같은 프로세서에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(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)도 가능하다. 상기 하드웨어 장치는 외부 장치와 신호를 주고받을 수 있는 전술된 바와 같은 통신부도 포함할 수 있다.The hardware devices may include general purpose computers and/or dedicated computing devices or specific computing devices or special features or components of specific computing devices. The processes may be realized by a processor as described above coupled with a memory such as ROM/RAM or the like for storing program instructions and configured to execute instructions stored in the memory. Additionally, or alternatively, the processes may be implemented using an application specific integrated circuit (ASIC), a programmable gate array, such as a field programmable gate array (FPGA), a programmable logic unit (PLU) or programmable array logic. (Programmable Array Logic; PAL) or any other device capable of executing and responding to instructions, any other device or combination of devices that can be configured to process electronic signals. The processing device may run an operating system and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors. The hardware device may also include a communication unit as described above capable of sending and receiving a signal to and from an external device.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction; 인스트럭션), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치에 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령어 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 기계 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, and either independently or collectively configure the processing device to operate as desired. ) to the processing unit. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more machine-readable recording media.
더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능 매체에 기록될 수 있다. 기계 판독 가능 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD, Blu-ray와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일(compile) 또는 인터프리트(interpret)될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는 바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다. Moreover, the objects of the technical solution of the present invention or parts contributing to the prior arts may be implemented in the form of program instructions that can be executed through various computer components and recorded in a machine-readable medium. The machine-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the machine-readable recording medium may be specially designed and configured for the embodiment, or may be known and used by those skilled in the art of computer software. Examples of the machine-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs, DVDs, and Blu-rays, and floppy disks. ), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include storing and compiling for execution on a machine capable of executing any of the devices described above, as well as a processor, processor architecture, or heterogeneous combination of different hardware and software combinations, or any other program instructions. or it can be built using a structured programming language such as C, an object-oriented programming language such as C++, or a high-level or low-level programming language (assembler, hardware description languages and database programming languages and techniques) that can be interpreted This includes not only machine code and byte code, but also high-level language code that can be executed by a computer using an interpreter or the like.
따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.Accordingly, in one aspect according to the present invention, when the above-described method and combinations thereof are performed by one or more computing devices, the methods and combinations of methods may be implemented as executable code for performing respective steps. In another aspect, the method may be implemented as systems performing the steps, the methods may be distributed in various ways across devices or all functions may be integrated into one dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such sequential combinations and combinations are intended to fall within the scope of this disclosure.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예들 및 도면에 의해 설명되었으나, 그 실시 예들의 특정한 구조적 또는 기능적 설명은 예시를 위한 목적으로 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 개시된 실시 예들에 본 발명이 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 형태의 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but specific structural or functional descriptions of the embodiments are provided for the purpose of illustration and to help a more general understanding of the present invention. However, the present invention is not limited to the disclosed embodiments, and those skilled in the art to which the present invention pertains may devise various modifications and variations from these descriptions.
따라서, 본 발명의 기술적 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 그 기술적 사상에 포함되는 변경 또는 대체물을 비롯하여 본 개시서에 첨부된 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들이 본 발명의 사상의 범주에 속한다고 할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Therefore, the technical spirit of the present invention should not be limited to the above-described embodiments, and the claims appended to the present disclosure, including changes or substitutes included in the technical spirit, as well as the claims equivalent to these claims Or it will be said that all equivalent modifications fall within the scope of the spirit of the present invention. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인 바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.Such equivalent or equivalent modifications will include, for example, logically equivalent methods capable of producing the same results as practiced by the methods according to the present invention, the spirit and spirit of the present invention. The scope should not be limited by the above-described examples, and should be understood in the broadest sense permitted by law.
Claims (15)
상기 구조화 문서는, 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서를 포함하고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서를 선택적으로(optionally) 더 포함하며, 상기 구조화 문서에 포함된 모든 요소문서 각각은 내용으로서 적어도 하나의 기록을 포함하고,
상기 자원들은, 상기 구조화 문서, 및 상기 구조화 문서에 포함된 상기 모든 요소문서, 및 모든 상기 기록을 포함하고, 상기 자원들 각각은 수정된 횟수로서 정정 회차를 포함하되,
상기 1 이상의 깊이를 가지는 상기 적어도 하나의 요소문서가 상기 구조화 문서 내에 포함되는 경우, 상기 구조화 문서는, 상기 구조화 문서 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각이 n-1의 깊이를 가지는 하나의 요소문서에 종속됨을 표시하는 각각의 종속 관계를 더 포함하며,
상기 자원들에 속한 개별 자원의 사용자는, 일반 사용자, 상기 개별 자원의 적어도 하나의 소유자, 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자를 포함하고,
상기 꼬리표들 각각은, 상기 개별 자원의 상기 적어도 하나의 소유자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하기 위한 소유자 꼬리표, 상기 일반 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 정책 꼬리표, 및 상기 적어도 하나의 특정 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 허가 꼬리표 중의 하나이고,
상기 방법은,
상기 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청에 응하여, 컴퓨팅 장치가, 상기 구조화 문서 및 상기 구조화 문서에 포함된 상기 최상위 요소문서를 생성하는 프로세스, 및 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표를 생성하는 프로세스를 수행함;
상기 구조화 문서 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청에 응하여, 상기 컴퓨팅 장치가, 상기 신규 자원을 생성함;
상기 구조화 문서 내 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청에 응하여, 상기 컴퓨팅 장치가, 상기 제1 특정 자원에 대응하는 상기 정책 꼬리표 또는 상기 허가 꼬리표를 생성함;
상기 구조화 문서 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청에 대한 응답으로서, 상기 컴퓨팅 장치가, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning); 및
상기 구조화 문서 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청에 응하여, 상기 컴퓨팅 장치가, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않음
을 포함하는, 구조화 문서 권한 관리 방법.A method for managing rights with respect to resources included in a structured document as tags, the method comprising:
The structured document includes at least one uppermost element document having a depth of 0, and optionally further includes at least one element document having a depth of 1 or more, Each element document contains at least one record as its content;
wherein the resources include the structured document, and all of the element documents included in the structured document, and all of the records, each of the resources comprising a revision number as a number of times it has been modified;
When the at least one element document having a depth of one or more is included in the structured document, the structured document is one in which all element documents having a depth of one or more in the structured document each have a depth of n-1. It further includes each dependency relationship indicating that it is dependent on the element document of
A user of an individual resource belonging to the resources includes a general user, at least one owner of the individual resource, and at least one specific user for the individual resource,
Each of the tags includes: an owner tag for authorizing actions on the individual resource for the at least one owner of the individual resource, authorizing or prohibiting actions on the individual resource for the general user one of a policy tag for, and a permission tag for authorizing or prohibiting actions on the individual resource for the at least one specific user;
The method is
A process of generating, by a computing device, the structured document and the top-level element document included in the structured document, in response to a structured document generation request, which is a request from a user, for generating the structured document, and corresponding to the top-level element document performing a process for generating the owner tag;
in response to a resource creation request, which is a request from a user, for creating a new resource in the structured document, the computing device creates the new resource;
In response to a request for adding a right, which is a request from a user, for adding a right for a first specific resource in the structured document, the computing device generates the policy tag or the permission tag corresponding to the first specific resource ;
In response to a permission check request that is a request for confirming a specific user's permission regarding a first specific action on a second specific resource in the structured document, the computing device is configured to: returning the specific user's permission to an action; and
In response to an action execution request, which is a request from a user, for executing a second specific action on the third specific resource in the structured document, the computing device is configured to: Acquires the user's authority with respect to the second specific action on the third specific resource through a permission check request on
Including, structured document rights management method.
(i) 상기 구조화 문서 및 상기 자원들과 (ii) 상기 꼬리표들은 상이한 정보 단위로서 저장소에서 보유 및 관리되는, 구조화 문서 권한 관리 방법.According to claim 1,
(i) the structured document and the resources and (ii) the tags are held and managed in a repository as different units of information.
상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 기여의 요청 및 기여의 반영을 포함하고,
상기 기여의 요청은,
상기 컴퓨팅 장치가, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 상기 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의해 접근 가능한 제1 사용자 인터페이스를 제공함으로써, 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이고,
상기 기여의 반영은,
상기 컴퓨팅 장치가, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션인, 구조화 문서 권한 관리 방법.According to claim 1,
the actions on the individual resource include requesting a contribution to the individual resource and reflecting the contribution;
The above request for contribution is:
The computing device is a user who is permitted to create a new resource including content modified from the individual resource, and a correction frequency increased by one than the correction frequency of the individual resource, and to reflect the contribution to the individual resource By providing a first user interface accessible by a contribution reflector, the action of determining whether to replace the individual resource by the new resource through the first user interface,
A reflection of this contribution is
The method of claim 1, wherein the computing device causes the new resource to replace the individual resource or maintain the individual resource in the structured document according to whether the individual resource is replaced by the new resource.
상기 개별 자원에 관한 상기 액션들은 상기 개별 자원에 대한 읽기를 포함하고,
상기 제2 특정 액션은, 상기 구조화 문서의 복제이며,
상기 구조화 문서의 복제는,
상기 컴퓨팅 장치가, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 단계, 및
상기 컴퓨팅 장치가, 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 단계
를 포함하는 액션인, 구조화 문서 권한 관리 방법.According to claim 1,
The actions on the individual resource include reading the individual resource,
The second specific action is duplication of the structured document,
Reproduction of the structured document,
A document duplication step in which the computing device creates a new structured document by duplicating, by the computing device, resources to be copied, which are resources to which the user is granted read permission, among all resources included in the structured document or the structured document; and
A tag inheritance step in which the computing device duplicates all tags corresponding to the copy target resources and applies them to the new structured document
A method for managing structured document rights, which is an action comprising:
상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 읽기, 및 상기 개별 자원에 대한 공유를 포함하고,
상기 개별 자원에 대한 공유는,
상기 컴퓨팅 장치가, 상기 공유의 대상으로 지정된 사용자인 수용자(receiver)에 의해 접근 가능한 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 수용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하고, 상기 신규 구조화 문서의 최상위 요소문서의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서의 상기 최상위 요소 문서의 소유자 꼬리표를 생성 또는 수정하는 액션인, 구조화 문서 권한 관리 방법.5. The method of claim 4,
The actions on the individual resource include reading the individual resource and sharing the individual resource,
The sharing of the individual resources is
If the computing device provides a second user interface accessible by a receiver, who is a user designated as the target of sharing, whether the receiver accepts the individual resource determined through the second user interface is true , to create a new structured document by duplicating replication target resources that are resources to which the recipient is granted read permission among all the resources included in the structured document or the structured document, and at least one of the top element documents of the new structured document and creating or modifying an owner tag of the top-level element document of the new structured document so that the owner includes the recipient.
상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning)은,
상기 제2 특정 자원, 및 상기 제2 특정 자원의 조상 자원 중에서 상기 제1 특정 액션에 관하여 상기 특정 사용자에 적용되는 꼬리표로서, 상기 제2 특정 자원에 최근접인 자원의 꼬리표인, 특정 꼬리표를 탐색하는 단계; 및
상기 탐색에 따라 획득된 상기 특정 꼬리표에 따라 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 결정 및 되돌려주는 단계
를 포함하는, 구조화 문서 권한 관리 방법.According to claim 1,
Returning (returning) the right of the specific user with respect to the first specific action on the second specific resource,
Search for a specific tag, which is a tag of a resource closest to the second specific resource, as a tag applied to the specific user with respect to the first specific action from among the second specific resource and the ancestor resources of the second specific resource to do; and
determining and returning the authority of the specific user with respect to the first specific action on the second specific resource according to the specific tag obtained according to the search;
Including, structured document rights management method.
상기 특정 꼬리표를 탐색하는 단계에서, 상기 탐색은,
상기 특정 꼬리표가 소유자 꼬리표이고, 상기 특정 사용자가 상기 특정 꼬리표에 대응하는 상기 적어도 하나의 소유자에 속하는 제1 조건,
상기 특정 꼬리표가 정책 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 권한이 부여 또는 금지된 제2 조건,
상기 특정 꼬리표가 허가 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한이 부여 또는 금지된 제3 조건, 또는
상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 상기 최근접인 자원의 꼬리표가 존재하지 않는 제4 조건
을 종료 조건으로 하되, 상기 제4 조건에 대해 상기 제3 조건이 우선 적용되고, 상기 제3 조건에 대해 상기 제2 조건이 우선 적용되며, 상기 제2 조건에 대해 상기 제1 조건이 우선 적용되는, 구조화 문서 권한 관리 방법.7. The method of claim 6,
In the step of searching for the specific tag, the search comprises:
a first condition that the specific tag is an owner tag, and the specific user belongs to the at least one owner corresponding to the specific tag;
a second condition in which the specific tag is a policy tag, and permission for the first specific action is granted or prohibited by the specific tag;
a third condition that the specific tag is a permission tag, and that the specific user is authorized or prohibited with respect to the first specific action by the specific tag; or
A fourth condition in which there is no tag of the nearest resource that satisfies the first condition, the second condition, and the third condition
is an end condition, wherein the third condition is applied first to the fourth condition, the second condition is applied first to the third condition, and the first condition is applied first to the second condition , structured document rights management methods.
상기 구조화 문서는, 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서를 포함하고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서를 선택적으로(optionally) 더 포함하며, 상기 구조화 문서에 포함된 모든 요소문서 각각은 내용으로서 적어도 하나의 기록을 포함하고,
상기 자원들은, 상기 구조화 문서, 및 상기 구조화 문서에 포함된 상기 모든 요소문서, 및 모든 상기 기록을 포함하고, 상기 자원들 각각은 수정된 횟수로서 정정 회차를 포함하되,
상기 1 이상의 깊이를 가지는 상기 적어도 하나의 요소문서가 상기 구조화 문서 내에 포함되는 경우, 상기 구조화 문서는, 상기 구조화 문서 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각이 n-1의 깊이를 가지는 하나의 요소문서에 종속됨을 표시하는 각각의 종속 관계를 더 포함하며,
상기 자원들에 속한 개별 자원의 사용자는, 일반 사용자, 상기 개별 자원의 적어도 하나의 소유자, 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자를 포함하고,
상기 꼬리표들 각각은, 상기 개별 자원의 상기 적어도 하나의 소유자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하기 위한 소유자 꼬리표, 상기 일반 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 정책 꼬리표, 및 상기 적어도 하나의 특정 사용자에 대하여 상기 개별 자원에 관한 액션들의 권한을 부여하거나 금지하기 위한 허가 꼬리표 중의 하나이고,
상기 컴퓨팅 장치는,
(i) 상기 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청, (ii) 상기 구조화 문서 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청, (iii) 상기 구조화 문서 내 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청, (iv) 상기 구조화 문서 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청, 및 (v) 상기 구조화 문서 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청을 획득하는 통신부; 및
상기 구조화 문서 생성 요청에 응하여, 상기 구조화 문서 및 상기 구조화 문서에 포함된 상기 최상위 요소문서를 생성하는 부프로세스, 및 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표를 생성하는 부프로세스를 수행하는 프로세스, 상기 자원 생성 요청에 응하여, 상기 신규 자원을 생성하는 프로세스, 상기 권한 추가 요청에 응하여, 상기 제1 특정 자원에 대응하는 상기 정책 꼬리표 또는 상기 허가 꼬리표를 생성하는 프로세스, 상기 권한 확인 요청에 대한 응답으로서, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려주는 프로세스, 및 상기 액션 실행 요청에 응하여, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 프로세스를 수행하는 프로세서
를 포함하는, 구조화 문서 권한 관리 장치.A computing device for managing rights with respect to resources included in a structured document as tags, the computing device comprising:
The structured document includes at least one uppermost element document having a depth of 0, and optionally further includes at least one element document having a depth of 1 or more, Each element document contains at least one record as its content;
wherein the resources include the structured document, and all of the element documents included in the structured document, and all of the records, each of the resources comprising a revision number as a number of times it has been modified;
When the at least one element document having a depth of one or more is included in the structured document, the structured document is one in which all element documents having a depth of one or more in the structured document each have a depth of n-1. It further includes each dependency relationship indicating that it is dependent on the element document of
A user of an individual resource belonging to the resources includes a general user, at least one owner of the individual resource, and at least one specific user for the individual resource,
Each of the tags includes: an owner tag for authorizing actions on the individual resource for the at least one owner of the individual resource, authorizing or prohibiting actions on the individual resource for the general user one of a policy tag for, and a permission tag for authorizing or prohibiting actions on the individual resource for the at least one specific user;
The computing device,
(i) a request to create a structured document that is a request from a user to create the structured document, (ii) a request to create a resource that is a request from a user to create a new resource in the structured document, (iii) the structured document a request to add a permission, which is a request from a user, to add a permission to my first specific resource, (iv) a request to confirm the permission of the specific user with respect to a first specific action on a second specific resource in the structured document a communication unit for obtaining an authorization confirmation request, and (v) an action execution request, which is a request from a user, for executing a second specific action on a third specific resource in the structured document; and
a process of performing, in response to the structured document creation request, a subprocess for generating the structured document and the top-level element document included in the structured document, and a sub-process for generating the owner tag corresponding to the top-level element document; In response to a resource creation request, the process of creating the new resource, in response to the permission addition request, a process of generating the policy tag or the permission tag corresponding to the first specific resource, in response to the permission check request, a process for returning the right of the specific user with respect to the first specific action on the second specific resource, and, in response to the action execution request, the right of the user about the second specific action on the third specific resource A processor that acquires the user's authority with respect to the second specific action on the third specific resource through a confirmation request, and performs a process of executing or not executing the second specific action according to the acquired authority
Including, structured document rights management device.
(i) 상기 구조화 문서 및 상기 자원들과 (ii) 상기 꼬리표들은 상이한 정보 단위로서 저장소에서 보유 및 관리되는, 구조화 문서 권한 관리 장치.10. The method of claim 9,
(i) the structured document and the resources and (ii) the tags are held and managed in a repository as different units of information.
상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 기여의 요청 및 기여의 반영을 포함하고,
상기 기여의 요청은,
상기 프로세서가, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 상기 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의해 접근 가능한 제1 사용자 인터페이스를 제공함으로써, 상기 기여 반영자로 하여금 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이고,
상기 기여의 반영은,
상기 프로세서가, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션인, 구조화 문서 권한 관리 장치.10. The method of claim 9,
the actions on the individual resource include requesting a contribution to the individual resource and reflecting the contribution;
The above request for contribution is:
The processor creates a new resource including the modified content from the individual resource, and a correction frequency increased by one than the correction frequency of the individual resource, and a user who is permitted to reflect the contribution to the individual resource. an action that causes the contributing reflector to determine whether to replace the individual resource by the new resource via the first user interface by providing a first user interface accessible by the reflector,
A reflection of this contribution is
The apparatus for managing structured document rights, wherein the processor causes the new resource to replace the individual resource or maintain the individual resource in the structured document according to whether the individual resource is replaced by the new resource.
상기 개별 자원에 관한 상기 액션들은 상기 개별 자원에 대한 읽기를 포함하고,
상기 제2 특정 액션은, 상기 구조화 문서의 복제이며,
상기 구조화 문서의 복제는,
상기 프로세서가, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 부프로세스, 및
상기 프로세서가, 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 부프로세스
를 포함하는 부프로세스들을 수행하는 액션인, 구조화 문서 권한 관리 장치.10. The method of claim 9,
The actions on the individual resource include reading the individual resource,
The second specific action is duplication of the structured document,
Reproduction of the structured document,
A document duplication sub-process in which the processor duplicates the structured document or resources to which the user is granted the read right among all the resources included in the structured document to create a new structured document, and
A tag inheritance sub-process in which the processor duplicates all tags corresponding to the replication target resources and applies them to the new structured document
An action for performing sub-processes comprising a, structured document rights management device.
상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 읽기, 및 상기 개별 자원에 대한 공유를 포함하고,
상기 개별 자원에 대한 공유는,
상기 프로세서가, 상기 공유의 대상으로 지정된 사용자인 수용자(receiver)에 의해 접근 가능한 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 수용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하고, 상기 신규 구조화 문서의 최상위 요소문서의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서의 상기 최상위 요소 문서의 소유자 꼬리표를 생성 또는 수정하는 액션인, 구조화 문서 권한 관리 장치.13. The method of claim 12,
The actions on the individual resource include reading the individual resource and sharing the individual resource,
The sharing of the individual resources is
If the processor provides a second user interface accessible by a receiver who is a user designated as the target of sharing, and whether the receiver accepts the individual resource determined through the second user interface is true, A new structured document is created by duplicating replication target resources, which are resources to which read permission is granted to the recipient, among all the resources included in the structured document or the structured document, and at least one owner of the uppermost element document of the new structured document and creating or modifying an owner tag of the top-level element document of the new structured document so that the recipient is included in the structured document rights management apparatus.
상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려주는 프로세스는,
상기 제2 특정 자원, 및 상기 제2 특정 자원의 조상 자원 중에서 상기 제1 특정 액션에 관하여 상기 특정 사용자에 적용되는 꼬리표로서, 상기 제2 특정 자원에 최근접인 자원의 꼬리표인, 특정 꼬리표를 탐색하는 부프로세스; 및
상기 탐색에 따라 획득된 상기 특정 꼬리표에 따라 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 결정 및 되돌려주는 부프로세스
를 포함하는, 구조화 문서 권한 관리 장치.10. The method of claim 9,
The process of returning the authority of the specific user with respect to the first specific action on the second specific resource includes:
Search for a specific tag, which is a tag of a resource closest to the second specific resource, as a tag applied to the specific user with respect to the first specific action from among the second specific resource and the ancestor resources of the second specific resource subprocess; and
A sub-process for determining and returning the authority of the specific user with respect to the first specific action on the second specific resource according to the specific tag obtained according to the search
Including, structured document rights management device.
상기 특정 꼬리표를 탐색하는 프로세스에서,
상기 탐색은,
상기 특정 꼬리표가 소유자 꼬리표이고, 상기 특정 사용자가 상기 특정 꼬리표에 대응하는 상기 적어도 하나의 소유자에 속하는 제1 조건,
상기 특정 꼬리표가 정책 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 권한이 부여 또는 금지된 제2 조건,
상기 특정 꼬리표가 허가 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한이 부여 또는 금지된 제3 조건, 또는
상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 상기 최근접인 자원의 꼬리표가 존재하지 않는 제4 조건
을 종료 조건으로 하되, 상기 제4 조건에 대해 상기 제3 조건이 우선 적용되고, 상기 제3 조건에 대해 상기 제2 조건이 우선 적용되며, 상기 제2 조건에 대해 상기 제1 조건이 우선 적용되는, 구조화 문서 권한 관리 장치.15. The method of claim 14,
In the process of searching for the specific tag,
The search is
a first condition that the specific tag is an owner tag, and the specific user belongs to the at least one owner corresponding to the specific tag;
a second condition in which the specific tag is a policy tag, and permission for the first specific action is granted or prohibited by the specific tag;
a third condition that the specific tag is a permission tag, and that the specific user is authorized or prohibited with respect to the first specific action by the specific tag; or
A fourth condition in which there is no tag of the nearest resource that satisfies the first condition, the second condition, and the third condition
is an end condition, wherein the third condition is applied first to the fourth condition, the second condition is applied first to the third condition, and the first condition is applied first to the second condition , structured document rights management unit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220018238A KR102381539B1 (en) | 2022-02-11 | 2022-02-11 | Method for managing privileges on resources contained in a structured document and apparatus using the same |
PCT/KR2022/005338 WO2023153558A1 (en) | 2022-02-11 | 2022-04-13 | Method for managing authority over resources included in structured document, and apparatus using same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220018238A KR102381539B1 (en) | 2022-02-11 | 2022-02-11 | Method for managing privileges on resources contained in a structured document and apparatus using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102381539B1 true KR102381539B1 (en) | 2022-04-01 |
Family
ID=81183834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220018238A KR102381539B1 (en) | 2022-02-11 | 2022-02-11 | Method for managing privileges on resources contained in a structured document and apparatus using the same |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102381539B1 (en) |
WO (1) | WO2023153558A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023153558A1 (en) * | 2022-02-11 | 2023-08-17 | (주) 바우디움 | Method for managing authority over resources included in structured document, and apparatus using same |
CN117807619A (en) * | 2024-03-01 | 2024-04-02 | 中国人民解放军国防科技大学 | Uniform authority control method for unstructured data and structured data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155756A (en) * | 1998-06-30 | 2000-06-06 | Toshiba Corp | Structured document saving method, data repeating device, and data transmitting and receiving device |
JP2002091947A (en) * | 2000-09-14 | 2002-03-29 | Hitachi Ltd | Device for dynamically preparing structured document |
US7043487B2 (en) * | 2002-12-28 | 2006-05-09 | International Business Machines Corporation | Method for storing XML documents in a relational database system while exploiting XML schema |
US7921072B2 (en) * | 2005-05-31 | 2011-04-05 | Alcatel-Lucent Usa Inc. | Methods and apparatus for mapping source schemas to a target schema using schema embedding |
US9323850B1 (en) | 2012-05-30 | 2016-04-26 | Google Inc. | Potential social recipient ranking for maximal viral content distribution |
US20170124258A1 (en) * | 2015-11-04 | 2017-05-04 | Mmodal Ip Llc | Dynamic De-Identification of Healthcare Data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102381539B1 (en) * | 2022-02-11 | 2022-04-01 | (주) 바우디움 | Method for managing privileges on resources contained in a structured document and apparatus using the same |
-
2022
- 2022-02-11 KR KR1020220018238A patent/KR102381539B1/en active IP Right Grant
- 2022-04-13 WO PCT/KR2022/005338 patent/WO2023153558A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155756A (en) * | 1998-06-30 | 2000-06-06 | Toshiba Corp | Structured document saving method, data repeating device, and data transmitting and receiving device |
JP2002091947A (en) * | 2000-09-14 | 2002-03-29 | Hitachi Ltd | Device for dynamically preparing structured document |
US7043487B2 (en) * | 2002-12-28 | 2006-05-09 | International Business Machines Corporation | Method for storing XML documents in a relational database system while exploiting XML schema |
US7921072B2 (en) * | 2005-05-31 | 2011-04-05 | Alcatel-Lucent Usa Inc. | Methods and apparatus for mapping source schemas to a target schema using schema embedding |
US9323850B1 (en) | 2012-05-30 | 2016-04-26 | Google Inc. | Potential social recipient ranking for maximal viral content distribution |
US20170124258A1 (en) * | 2015-11-04 | 2017-05-04 | Mmodal Ip Llc | Dynamic De-Identification of Healthcare Data |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023153558A1 (en) * | 2022-02-11 | 2023-08-17 | (주) 바우디움 | Method for managing authority over resources included in structured document, and apparatus using same |
CN117807619A (en) * | 2024-03-01 | 2024-04-02 | 中国人民解放军国防科技大学 | Uniform authority control method for unstructured data and structured data |
CN117807619B (en) * | 2024-03-01 | 2024-05-14 | 中国人民解放军国防科技大学 | Uniform authority control method for unstructured data and structured data |
Also Published As
Publication number | Publication date |
---|---|
WO2023153558A1 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886806B2 (en) | Templating process for a multi-page formatted document | |
JP7417677B2 (en) | Technology for file sharing | |
CN102938039B (en) | For the selectivity file access of application | |
KR102381539B1 (en) | Method for managing privileges on resources contained in a structured document and apparatus using the same | |
US8965925B2 (en) | Access controls | |
EP3133507A1 (en) | Context-based data classification | |
Rajpoot et al. | Attributes enhanced role-based access control model | |
US11770450B2 (en) | Dynamic routing of file system objects | |
US10452328B2 (en) | Extensible token-based authorization | |
US20090157737A1 (en) | Database Trigger Modification System and Method | |
US11811839B2 (en) | Managed distribution of data stream contents | |
US20190227985A1 (en) | Method and system for using dynamic content types | |
US8856260B2 (en) | Providing access to shared state data | |
US11113339B2 (en) | System and method for federated content management using a federated library and federated metadata propagation | |
Shtern et al. | Toward an ecosystem for precision sharing of segmented Big Data | |
KR102662399B1 (en) | Information notarization server, method and computer program for converting and managing safety management contents into distributed blocks | |
WO2016167249A1 (en) | Access control device, and access control method | |
JP7119448B2 (en) | Information processing device and information processing program | |
US11625365B2 (en) | Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof | |
US11966489B2 (en) | Data certification process for cloud database platform | |
US11727358B1 (en) | Linking functionality between distinct document and workflow management systems | |
US20240135028A1 (en) | System and method of dynamic search result permission checking | |
US20240054133A1 (en) | Data Certification Process for Updates to Data in Cloud Database Platform | |
US20220398331A1 (en) | Property-level visibilities for knowledge-graph objects | |
CN116685972A (en) | Access determination device, access determination method, and access determination program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |