WO2023153558A1 - Method for managing authority over resources included in structured document, and apparatus using same - Google Patents

Method for managing authority over resources included in structured document, and apparatus using same Download PDF

Info

Publication number
WO2023153558A1
WO2023153558A1 PCT/KR2022/005338 KR2022005338W WO2023153558A1 WO 2023153558 A1 WO2023153558 A1 WO 2023153558A1 KR 2022005338 W KR2022005338 W KR 2022005338W WO 2023153558 A1 WO2023153558 A1 WO 2023153558A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
specific
structured document
tag
user
Prior art date
Application number
PCT/KR2022/005338
Other languages
French (fr)
Korean (ko)
Inventor
하상영
Original Assignee
(주) 바우디움
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 바우디움 filed Critical (주) 바우디움
Publication of WO2023153558A1 publication Critical patent/WO2023153558A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • Disclosed in the present disclosure is a method for managing users' rights to resources, which are items included in a structured document, and a computing device using the same.
  • an owner tag corresponding to the top-level element document is created, and the new resource is created according to a request
  • a policy tag corresponding to the first specific resource or the permission tag is generated, the permission of the specific user for the first specific action on the second specific resource is returned according to the request, and the third obtained according to the request is returned.
  • a method for executing or not executing a second specific action of a user according to a user's authority for a second specific action for a specific resource and a computing device using the same are provided.
  • U.S. Patent Publication No. 9,323,850 discloses a method and system for estimating the viral score of a content item from a publisher.
  • the permission setting function which is a function that enables others to set whether or not each document created by a user can be viewed, reproduced, and used, is generalized with respect to the file system of an operating system (OS) running on a computing device.
  • OS operating system
  • OS operating system
  • the invention of the present disclosure aims to overcome the limitations of the prior art as follows.
  • 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 incurred in reading or writing the entire document as the size of the single document increases, but resources corresponding to a part thereof. Its purpose is to provide a method for flexible and efficient authority management for
  • the present invention is a document that is not typically handled in the file system of the operating system, against read/write access, use, etc. of multiple users by enabling permission setting for actions such as sharing (ie, redistribution) and contribution Its purpose is to be able to maintain the integrity and recyclability of each part.
  • the characteristic configuration of the present invention for achieving the object of the present invention as described above and realizing the characteristic effects of the present invention described later is as follows.
  • a method for managing authority on resources included in a structured document as tags wherein the structured document has at least a depth of 0. including one top-level element document, and optionally further including at least one element document having a depth of 1 or more, each of all element documents included in the structured document including at least one record as content; , the resources include the structured document, all the element documents included in the structured document, and all the records, each of the resources including a correction round as the number of times modified, having a depth greater than or equal to 1
  • the structured document indicates that all element documents having a depth n of 1 or more in the structured document are each subordinate to one element document having a depth of n-1.
  • each dependent relationship to indicate, wherein users of individual resources belonging to the resources include a general user, at least one owner of the individual resource, and at least one specific user for the individual resource, wherein the Each of the tags includes an owner tag for authorizing actions on the individual resource to the at least one owner of the individual resource, and an owner tag for authorizing or prohibiting actions on the individual resource for the general user.
  • the method comprising a request from a user to create the structured document:
  • 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;
  • a resource creation request which is a request from a user, to create a new resource in the structured document
  • the computing device creates the new resource;
  • a permission addition request which is a request from a user, to add a permission 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.
  • an authority confirmation request which is a request for verifying authority of a specific user with respect to a first specific action for a second specific resource in the structured document
  • the computing device determines the first specific action for the second specific resource. returning the specific user's permission for an action
  • an action execution request which is a request from a user, for executing a second specific action for a third specific resource in the structured document
  • the computing device the second specific action for the third specific resource of the user. Acquiring the user's authority for the second specific action for the third specific resource through an authority confirmation request for an action, and executing or not executing the second specific action according to the acquired authority .
  • the structured document and the resources and (ii) the tags are held and managed in a repository as different units of information.
  • the actions related to the individual resource include a request for contribution and a reflection of the contribution for the individual resource, and the request for contribution includes a content modified from the individual resource, and
  • a user permitted to reflect the contribution to the individual resource is an action for determining whether to replace the individual resource by the new resource through the first user interface, and the reflection of the contribution is performed by the computing device according to whether the individual resource is replaced by the new resource.
  • the actions for the individual resource include reading the individual resource, the second specific action is copying of the structured document, and the copying of the structured document causes the computing device to: A document duplication step of creating a new structured document by duplicating target resources, which are structured documents or resources to which the user has been granted read permission, among all resources included in the structured document, and the computing device, using the copy target resources
  • This action includes a tag inheritance step of duplicating all tags corresponding to and applying them to the new structured document.
  • the actions related to the individual resource include reading of the individual resource and sharing of the individual resource, and the sharing of the individual resource causes the computing device to set a user designated as the target of the sharing.
  • Provide a second user interface accessible by a receiver but if the acceptor's acceptance of the individual resource determined through the second user interface is true, the structured document or all information included in the structured document
  • a new structured document is created by duplicating replication target resources, which are resources to which the recipient has read permission, among resources, and the new structured document is created so that the recipient is included in at least one owner of the top-level element document of the new structured document.
  • returning the right of the specific user with respect to the first specific action on the second specific resource may cause the first specific resource among the second specific resource and an ancestor resource of the second specific resource to be returned.
  • 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 for the second specific resource according to the specific tag obtained according to the search.
  • the search is performed under a first condition that the specific tag is an owner tag and that the specific user belongs to the at least one owner corresponding to the specific tag, the specific tag a policy tag, and a second condition in which permission is granted or prohibited with respect to the first specific action by the specific tag, the specific tag is an authorization tag, and the specific user with respect to the first specific action by the specific tag.
  • the third condition in which permission is granted or prohibited, or the fourth condition in which the tag of the nearest resource that satisfies the first condition, the second condition, and the third condition does not exist is set as an end condition. For the 4 conditions, 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.
  • a computer program comprising instructions implemented to perform the methods according to the present invention is also provided.
  • a computer program may be stored on a machine-readable non-transitory recording medium.
  • a computing device that manages authority for resources included in a structured document as tags, wherein the structured document has a depth of 0. It includes at least one top-level element document, and optionally further includes at least one element document having a depth of 1 or more, and each of all element documents included in the structured document includes at least one record as content. and the resources include the structured document, all of the element documents included in the structured document, and all of the records, each of the resources including a correction round as the number of times modified, wherein the depth is equal to or greater than 1.
  • the structured document When the at least one element document having a depth of 1 or more is included in the structured document, in the structured document, all element documents having a depth n of 1 or more depend on one element document having a depth of n-1. Further including each dependency relationship indicating that the resources are, wherein users of individual resources belonging to the resources include a general user, at least one owner of the individual resource, and at least one specific user of 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, and authorization or prohibiting actions on the individual resource for the general user.
  • the computing device comprising: (i) a user for generating the structured document; A structured document creation request, which is a request from a user, (ii) a resource creation request, which is a request from a user, to create a new resource in the structured document, (iii) a permission for a first specific resource in the structured document.
  • Authorization addition request which is a request from a user
  • Authorization confirmation request which is a request to confirm the authorization of a specific user with respect to a first specific action on a second specific resource in the structured document
  • the structured document a communication unit for obtaining an action execution request, which is a request from a user, for executing a second specific action for my third specific resource; and a sub-process 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 the structured document generation request.
  • a processor that obtains the user's authority for the second specific action for the third specific resource through an authority confirmation request, and performs a process of executing or not executing the second specific action according to the acquired authority include
  • management of creation, reading, modification, deletion, sharing, contribution, etc. of the contents of each part belonging to a document in particular, it is easy to set rights, and in particular, against read/write access and use of multiple users, corresponding It has the advantage of being able to effectively maintain the integrity and recyclability of each part of the document.
  • FIG. 1 is a conceptual diagram schematically illustrating an exemplary configuration of a computing device that performs a method for managing rights for resources included in a structured document (hereinafter referred to as a "method for managing structured document rights") according to the present disclosure. .
  • FIG. 2 is a block diagram exemplarily illustrating a structured document dealt with in the present disclosure.
  • FIG. 3 is a block diagram exemplarily showing tags corresponding to each of resources, including structured documents, element documents included in the structured document, and records included in the element document covered by the present disclosure.
  • FIG. 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.
  • FIG. 5 is a flowchart illustrating an embodiment of a structured document rights management method according to the present disclosure.
  • FIG. 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.
  • FIG. 7 is a sequence diagram illustrating a process of generating a policy tag or permission tag corresponding to a specific resource according to the structured document management method of the present disclosure.
  • FIG. 8 is a flowchart illustrating a process of searching for tags according to the structured document management method of the present disclosure.
  • FIG. 9 is a block diagram showing an example of a result of searching for tags according to the structured document management method of the present disclosure.
  • FIG. 10 is a sequence diagram illustrating a process of acquiring a user's authority and executing or not executing the second specific action according to the acquired authority according to the structured document management method of the present disclosure.
  • first or second may be used to describe various components, but such terms are to be interpreted solely for the purpose of distinguishing one component from another, and no order is implied. because it doesn't For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.
  • 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 equivalent inclusive relationship, etc.). Structured documents, element documents, and records, which are the contents of element documents, can each be encompassed by the higher concept of 'resource', and the dependency relationship or inclusion relationship between element documents can be generalized as a dependency relationship between resources.
  • resource A 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.
  • parent resources, parent resources of parent resources, parent resources of parent resources of parent resources, etc. are referred to as "ancestral resources", and child resources, child resources of child resources, child resources of child resources of child resources, etc. It may be referred to as a "descendant resource".
  • authorizedity or “authority information” refers to a value that sets whether a user can take an action (action) with respect to a resource or not, a Boolean value, It can have a form such as an enumeration value or an integer value.
  • action action
  • Boolean value a value that sets whether a user can take an action (action) with respect to a resource or not
  • Boolean value It can have a form such as an enumeration value or an integer value.
  • the expression “permission granted” may mean that the permission has a true value
  • the expression “permission prohibited” may mean that the permission has a false value. there is.
  • the authority information in the form of an integer value can express the authority of a user for various actions on a resource in a single value by bit expression, and the bit operation of a computing device is faster than a branch by a logical operation. Since it is extremely fast, the usefulness of expressing authority in integer form is well known to those skilled in the art.
  • the present invention covers all possible combinations of the embodiments presented in this disclosure. It should be understood that the 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 one embodiment in another embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description that follows is not intended to be taken in a limiting sense.
  • FIG. 1 is a conceptual diagram schematically illustrating an exemplary configuration of a computing device that performs a method for managing structured document rights according to the present disclosure.
  • a computing device 100 includes a communication unit 110 and a processor 120, and communicates with an external computing device (not shown) through the communication unit 110. You can communicate directly or indirectly.
  • the computing device 100 may include typical computer hardware (eg, a computer, processor, memory, storage, input and output devices, and other components of conventional computing devices; a router; electronic communication devices, such as switches, switches, etc.; electronic information storage systems, such as network-attached storage (NAS) and storage area network (SAN)) and computer software (i.e., enabling computing devices to It may be to achieve the desired system performance by using a combination of instructions).
  • the storage may include a storage device such as a hard disk or a universal serial bus (USB) memory as well as a storage device based on a network connection such as a cloud server.
  • USB universal serial bus
  • the communication unit 110 of such a computing device may transmit and receive requests and responses between other computing devices that are interlocked, for example, a dedicated storage, for example, a database server, and the like.
  • requests and responses are the same TCP ( It may be performed by a Transmission Control Protocol (Session) session, but is not limited thereto, and may be transmitted and received as a User Datagram Protocol (UDP) datagram, for example.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • the communication unit 110 may be implemented in the form of a communication module including a communication interface.
  • communication interfaces include Wireless LAN (WLAN), Wireless Fidelity (WiFi) Direct, Digital Living Network Alliance (DLNA), Wireless Broadband (WiBro), World interoperability for Microwave access (WiMax), High Speed Downlink Packet Access (HSDPA), etc.
  • DLNA Digital Living Network Alliance
  • WiBro Wireless Broadband
  • WiMax World interoperability for Microwave access
  • HSDPA High Speed Downlink Packet Access
  • BluetoothTM BluetoothTM
  • RFID Radio Frequency IDentification
  • IrDA Infrared Data Association
  • UWB Userltra-WideBand
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the communication unit 110 may transmit/receive data from another computing device through an appropriate communication interface.
  • the communication unit 110 may include a keyboard, a mouse, other external input devices, a printing device, a display, and other external output devices for receiving commands or instructions, or may be interlocked with them.
  • the computing device 100 is provided.
  • the display unit can be embedded or interlocked with an external display device through the communication unit 110 .
  • such a display unit or display device may be a touch screen capable of touch input.
  • the processor 120 of the computing device may include one or more micro processing units (MPUs), central processing units (CPUs), and graphics processing units (GPUs) having internal memory such as cache memory and/or external memory.
  • MPUs micro processing units
  • CPUs central processing units
  • GPUs graphics processing units
  • a microprocessor such as a neural processing unit (NPU) or a tensor processing unit (TPU)
  • controller such as a microcontroller, an embedded microcontroller, a microcomputer, an arithmetic logic unit (ALU), a digital signal processor, such as , a programmable digital signal processor or other programmable device.
  • it may further include a software configuration of an operating system and an application that performs a specific purpose.
  • FIG. 2 is a block diagram exemplarily illustrating a structured document dealt with in the present disclosure.
  • a structured document 200 includes at least one top-level element document 210 having a depth of zero.
  • the depth of the element document has an integer greater than 0, that is, a non-negative integer value.
  • the structured document 200 may be referred to as a trivial structured document, and at least one element document having a depth of 1 or more (eg, 220 to 270) may be referred to as a non-trivial structured document.
  • element documents 220 and 230 of depth 1 are subordinate to element document 210 of depth 0, and element documents 240 and 250 of depth 2 are dependent on element document 220 of depth 1. ), and element documents 260 and 270 of depth 3 are subordinate to element document 240 of depth 2.
  • the structured document 200 may optionally further include element documents having a depth of 1 or more, and all element documents having a depth n of 1 or more in the structured document 200 each have a depth of n-1. It must depend on one element document.
  • the subordinate relationship between individual element documents in the structured document is included in the structured document 200 as data called 'dependency relationship'.
  • each element document included in the structured document 200 includes at least one record 212 to 276 as contents of the element document. Records may include text, figures, or pictures, but are not limited thereto, and may include data in various formats. Each of the records corresponding to the contents of a certain element document has values indicating whether to use (or display) and/or activate (or highlight) whether or not to use each of the child resources of the element document, for example, It may include Boolean values and display order values, eg, integer values, which are values indicating a display order when displaying the child resources.
  • 'resource' encompasses the structured document 200, all element documents 210 to 270 included in the structured document, as well as the records 212 to 276 of the element document 210 to 270. .
  • Each resource includes information on a revision count, which is the number of times the resource has been modified.
  • FIG. 3 is a block diagram exemplarily showing tags corresponding to each of resources, including structured documents, element documents included in the structured document, and records included in the element document covered by the present disclosure.
  • a user of an individual resource includes a general user (everybody), and at least one of the individual resources. includes an owner of, and at least one specific user for the individual resource.
  • the types of tags include an owner tag 320 for authorizing actions on the individual resource 310a for at least the owner 322 of the individual resource 310a, and an individual resource 310b for the general user. ), a policy tag 340 for authorizing or prohibiting actions on an individual resource 310c for the at least one specific user 362, a permission tag 360 for authorizing or prohibiting actions on an individual resource 310c. is included Since the general user refers to a specific user, there is a one-to-one correspondence relationship between the individual resource 310b and the policy tag 340, and a one-to-one correspondence relationship or a one-to-many correspondence between the individual resource 310a and the owner tag 320. There is a relationship.
  • a one-to-one correspondence relationship will be established between the individual resource and the owner tag, but if there are multiple owners of the individual resource 310a, a one-to-many correspondence relationship (one owner tag has only one owner). correspondence) may be established or a one-to-one correspondence relationship (when multiple owners correspond to one owner tag) may be established.
  • a one-to-one correspondence relationship or a one-to-many correspondence relationship may be established between the individual resource 310c and the permission tag 360, and a person skilled in the art may select one of them as a design proposal according to need.
  • FIG. 4 is an exemplary block diagram illustrating hardware or software components of a computing device for performing a method for managing structured document rights according to the present disclosure
  • FIG. 5 is an exemplary embodiment of a method for managing structured document rights according to the present disclosure. It is a flow chart showing
  • the structured document rights management method of the present disclosure is implemented by a computing device, for example, the server 100, in response to a structured document generation request, which is a request from a user, to create a structured document.
  • the structured document generation module 410 which generates the structured document 200 and the highest element document 210 included in the structured document 200, implemented by the server 100 or interlocked with the server 100 A process (S100a; not shown) holding in a predetermined storage 420, and an owner tag corresponding to the top-level element document 210 to generate an owner tag designating the user as an owner and holding it in a predetermined storage 420 and performing a process (S100b; not shown) (S100).
  • the structured document creation request, resource creation request, permission addition request, permission confirmation request, action execution request, etc. described in this disclosure can be obtained from another computing device used by the user, for example, the client 100'. .
  • the storage 420 among the components illustrated in FIG. 4 may be implemented in the server 100, which is the same computing device as the other modules, but may be implemented in a storage server (not shown), which is a separate computing device. .
  • FIG. 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.
  • the structured document 200 and resources including it and the tags may be held and managed in the same storage 420, but in different storages as different units of information, e.g., structured documents. and resources can be held and managed in the document repository 422 and tags in the tag repository 424.
  • Such an information unit may be, for example, a table of a SQL-based database, but is not limited thereto.
  • Generation of the top element document 210 in the process S100a may be performed by the resource creation module 430 called by the structured document creation module 410 .
  • the generation of the top-level element document 210 in the process (S100a) is performed by the resource creation module 430 as described later, since the user who requested the creation of the structured document 200 becomes the owner of the created structured document 200. Since there is no need to request permission confirmation of the same user, permission confirmation described later may be omitted.
  • the generation of the owner tag in process S100b may be performed by the tag generation module 440 called by the structured document generation module 410 . Similar to the process S100a, the generation of the owner tag in the process S100b is performed by the tag generation module 440 as described below since the user requesting the creation of the structured document becomes the owner of the created structured document 200. There is no need to request confirmation of the user's authority as such.
  • the owner tag is data indicating that the owner designated thereby has all rights to the structured document 200.
  • the owner corresponding to the owner tag is not limited to a single number and may be multiple.
  • the owner tag corresponding to the structured document is defined as the owner tag corresponding to the top-level element document, which is to ensure consistency in data handling when searching for authority by the tag described later.
  • the structured document rights management method of the present disclosure is configured to generate a new resource in the structured document 200 by the resource creation module 410 implemented by the server 100.
  • a resource creation request which is a request from a user, generating the new resource (S200).
  • the new resource may be, but is not limited to, a new element document included in the structured document 200, and may be, for example, a new record included in any element document of the structured document 200.
  • the tag generation module 440 implemented by the server 100 adds rights to a first specific resource in the structured document 200, from a user.
  • a policy tag or permission tag corresponding to the first specific resource is generated (S300).
  • the policy tag and permission tag are as described above.
  • FIG. 7 is a sequence diagram illustrating a process of generating a policy tag or permission tag corresponding to a specific resource according to the structured document management method of the present disclosure.
  • the tag generation module 440 allows the user to select the first specific resource (S340), and the type of tag for the first specific resource (policy tag, permission). tag, etc.) and its content (subject and authority of the subject) are selected by the user (S360), and a policy tag or permission tag corresponding to the first specific resource is generated and stored in a predetermined storage 420. (S380).
  • a step of providing and displaying the entire structured document through, for example, the client 100' before the selection of the first specific resource (S340) so that the user can select the first specific resource (S320) may be further included.
  • 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. It can be created together, for this purpose, the resource creation module 410 may call the tag creation module 440.
  • the permission confirmation module 450 implemented by the server 100 is a specific user with respect to a first specific action for a second specific resource in the structured document 200.
  • the permission confirmation request which is a request for checking the permission of, returning (S400; returning or return) the permission of the specific user regarding the first specific action for the second specific resource.
  • the action execution module 460 implemented by the server 100 executes a second specific action with respect to a third specific resource in the structured document 200.
  • an action execution request which is a request from a user
  • the user related to the second specific action for the third specific resource through a permission confirmation request for the second specific action for the third specific resource of the user
  • an action for an individual resource which is the subject of authority confirmation
  • such actions may include uses and access of the resource.
  • the uses may include modification (editing), viewing, deletion, etc. of the resource, and each of these uses may be granted or prohibited.
  • this access since the access refers to displaying the resource as a search result, this access may also be granted or prohibited.
  • actions may include deleting a top-level element document, which may be the same action as deleting a corresponding structured document.
  • actions may include deletion of a resource that is not a top-level element document, and upon such deletion, all individual resources that are not a top-level element document and do not have child resources follow a chain of dependency relationships from top-level element documents.
  • child resources included in the individual resource to be deleted and their dependent relationships are also recursively recursive. Of course, it should be deleted as recursive.
  • the actions may include 'request for contribution' and 'reflection of contribution' for the individual resource.
  • 'contribution' refers to the action of a user requesting the contribution (i.e., a contributor) to modify the resources of a previously created structured document.
  • 'reflection of the contribution' corresponds to an action that changes or maintains the resources of the structured document according to the decision made by the user (ie, the contributor) who decides whether to approve the modification. do.
  • the contribution request includes, by the action execution module 460 implemented by the server 100, the content modified from the individual resource, and a correction cycle increased by 1 from the correction cycle of the individual resource.
  • the action execution module 460 implemented by the server 100
  • the content modified from the individual resource includes, by the action execution module 460 implemented by the server 100, the content modified from the individual resource, and a correction cycle increased by 1 from the correction cycle of the individual resource.
  • the reflection of the contribution is determined by the action execution module 460 implemented by the server 100, depending on whether the individual resource is replaced by the new resource, in the structured document, the new resource is the individual resource. It is an action that replaces or maintains the individual resource. If the new resource replaces the individual resource according to the selection of the contributor, the new resource has a correction cycle increased by 1 compared to the individual resource.
  • the action execution module 460 may be configured in such a way as to leave a history of, that is, a contribution record.
  • the actions may also include sharing of the individual resource.
  • a user requesting execution of an action of sharing may be referred to as a sender, and a user designated as a target of the sharing may be referred to as a receiver.
  • the action execution module 460 implemented by the server 100 provides a predetermined second user interface accessible by the receiver through the second user interface. If it is true that the acceptor accepts the determined individual resource, copying of the structured document 200 (original structured document) is performed to generate a new structured document 200' (not shown) and correspond to the new structured document. Create or modify the owner tag of the shared resources in the new structured document so that the recipient is included in at least one owner of shared resources that are resources to which the read permission of the recipient is granted among the individual resource and descendant resources of the individual resource. is an action
  • the new structured document is not the same as the original structured document.
  • the sender and receiver may be the same, so sharing to oneself can be referred to as collection.
  • the user interface providing module may also be used for providing the second user interface.
  • the actions may include duplication of the structured document, wherein the duplication of the structured document is performed by the action execution module 460 implemented by the server 100, the structured document 200 itself and A document duplication step of generating a new structured document by copying resources included in the structured document 200, that is, replication target resources, which are resources to which the user has been granted read permission, among all resources of the structured document 200, and
  • the action may include a tag inheritance step in which the action execution module 460 copies all tags corresponding to the replication target resources and applies them to the new structured document. That is, duplication of a structured document is substantially the same action as sharing of a structured document in which the sender and receiver are the same, but the difference is that the second user interface for asking whether or not the receiver accepts the sender is not provided. there is.
  • FIG. 8 exemplarily illustrating a process of searching for tags according to the structured document management method of the present disclosure.
  • the search for the second specific resource and an ancestor resource of the second specific resource to obtain the specific tag T of the nearest resource is performed from the second specific resource R to the ancestor resource ⁇ R p ⁇ ) and searches for a tag t of a resource r that satisfies a specific condition, that is, an end condition, among R ⁇ ⁇ R p ⁇ , for example, a breadth-first search (BFS). ), but is not limited thereto.
  • the tag t of resource r, which satisfies the termination condition, is the specific tag T that is the result of the search.
  • the termination condition to be satisfied is: (i) a first condition in which tag t corresponds to an owner tag and a particular user U belongs to the at least one owner corresponding to tag t; (ii) a tag (t) is a policy tag, and the second condition that the tag (t) authorizes or prohibits the first specific action (A), (iii) the tag (t) is a permission tag, and the tag (t) This is a condition that satisfies one of the third conditions in which the specific user U's authority for the first specific action A is granted or prohibited.
  • the fourth condition that no tag t that satisfies the first condition, the second condition, and the third condition does not exist is also an end condition, but if the fourth condition is satisfied, a specific tag (T) that is the result of the search ) does not exist, the authority for the first specific action (A) for the second specific resource (R) of the specific user (U) may be regarded as prohibited.
  • the third condition may be applied first to the fourth condition, and the second condition to the third condition.
  • a condition may be applied first, and the first condition may be applied first with respect to the second condition.
  • FIG. 9 is a block diagram showing an example of a result of searching for tags according to the structured document management method of the present disclosure.
  • a schematic subordinate relationship of resources 910 to 919 belonging to a structured document 900 is shown.
  • the top-level element document of the structured document 900 is a resource 910, and each resource
  • the symbol indicated in the indicated node indicates the kind of tag set to the particular user U with respect to the first particular action while corresponding to that resource.
  • "O" stands for owner tag
  • A for permission tag
  • P for policy tag.
  • Unsigned resources 914, 916, 918, and 919 indicated in the node mean that there is no tag set to correspond to each of the resources with respect to the first specific action and specific user U.
  • the closest resource that satisfies the end condition of the resource 914 to which the tag set for the specific user U with respect to the first specific action does not correspond is the resource 911 ), and since the end condition is the third condition, the tag applied to the resource 911, the first specific action, and the specific user U is also applied to the resource 914 and the resource 918.
  • the specific user's A step (S480) of determining the authority and returning it may be further included.
  • FIG. 10 shows a process of acquiring 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 acquired authority. see
  • the user from the client 100' takes the second specific action and the action including the third specific resource selected (S530) as a target of the second specific action.
  • the action execution module 460 sends an authorization confirmation request (S550) for the second specific action for the third specific resource of the user to the third specific resource.
  • the user's authority for the second specific action may be returned (S480) and obtained, and the result may be returned (S580) after executing or not executing the second specific action according to the obtained authority (S580). there is.
  • a step of providing and displaying the entire structured document through, for example, the client 100' may be further included before the selection (S530) so that the user can select the third specific resource and the second specific action. .
  • the above-described creation of a new resource also requests and obtains authority confirmation.
  • the user can perform this (S200) only when the user has authority. Since the creation of structured documents and the creation of resources can be regarded as a kind of action, respectively, the structured document creation module 410 and the resource creation module 430 that perform each of them can also be integrated into the action execution module 460. , the example shown in FIG.
  • FIG. 4 is a separate structured document creation module 410 and modules corresponding to generation of a structured document and generation of a resource, which are essential actions among actions performed by a more general-purpose action execution module 460. It may be interpreted that what is indicated by the resource generation module 430 is not passing.
  • any of the methods of the present invention can be newly created (S100) of another structured document immediately after performing an action of modifying a resource belonging to one structured document (S500). Since steps 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, the person skilled in the art will understand that all the steps described above are interchangeable regardless of the magnitude of the expressed numerals, unless a compelling reason to do so follows.
  • the handling by multiple users of a structured document composed of several parts can be carried out efficiently and systematically, while providing sufficient variability or flexibility to the structure, and in particular, the present invention provides for the sharing of actions that are not typical.
  • the method disclosed in this disclosure may be performed not only once but also repeatedly, intermittently or continuously according to the user's request or need.
  • a person skilled in the art can perform various manipulations of the user necessary in the method of the present disclosure, particularly contents of individual resources constituting the structured document described in the present disclosure, such as text.
  • Various user interfaces required for performing actions such as receiving various types of data such as , photos, dates, and times from the user and outputting them for provision to the user can be easily assumed.
  • the hardware device may include a general-purpose computer and/or a dedicated computing device or a specific computing device or a particular aspect or component of a specific computing device.
  • the processes may be realized by a processor as described above, which is combined 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 use an application specific integrated circuit (ASIC), programmable gate array, such as a field programmable gate array (FPGA), programmable logic unit (PLU) or programmable array logic (Programmable Array Logic; PAL) or any other device capable of executing and responding to other instructions, any other device or combination of devices that may be configured to process electronic signals.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • PLU programmable logic unit
  • PAL programmable array logic
  • a 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 software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include.
  • a processing device may include a plurality of processors or a processor and a 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 exchanging signals with an external device.
  • Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may independently or collectively configure a processing device to operate as desired. ) command to the processing unit.
  • Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed on networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more machine-readable recording media.
  • Machine-readable media may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on a machine-readable recording medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software.
  • Examples of machine-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs, DVDs, and Blu-rays, and floptical 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 storage and compilation for execution on any one of the foregoing devices, as well as a heterogeneous combination of processors, processor architectures, or different combinations of hardware and software, or any other machine capable of executing program instructions.
  • 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 technologies) that can be interpreted.
  • C computer code
  • object-oriented programming language such as C++
  • high-level or low-level programming language assembly, hardware description languages, and database programming languages and technologies
  • the methods and combinations of methods may be implemented as executable code that performs each step.
  • the method may be implemented as systems performing the steps, the methods may be distributed in several ways across devices or all functions may be integrated into one dedicated, stand-alone device or other hardware.
  • 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.

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

Provided in the present disclosure are a method for managing the authority of users over resources, which are items included in a structured document, and a computing device using same. Particularly, according to the present disclosure, provided are a method and a computing device using same, the method comprising: generating an owner tag corresponding to the highest element document included in the structured document in response to a request while generating a structured document and the highest element document; generating a new resource in response to a request; generating a policy tag or a permission tag corresponding to a first specific resource in response to a request; returning the specific authority of a user over a first specific action with respect to a second specific resource in response to a request; and enabling or disabling execution of the second specific action of the user according to the acquired authority of the user over the second specific action with respect to a third specific resource in response to a request.

Description

구조화 문서에 포함된 자원들에 관한 권한을 관리하는 방법 및 이를 이용한 장치Method for managing authority for resources included in structured document and apparatus using same
본 개시서에는 구조화 문서(structured document)에 포함된 항목들인 자원들에 관한 사용자들의 권한을 관리하는 방법 및 이를 이용한 컴퓨팅 장치가 개시된다. 구체적으로, 본 개시서에 따르면, 요청에 따라 구조화 문서 및 그 구조화 문서에 포함된 최상위 요소문서를 생성하면서 상기 최상위 요소문서에 대응하는 소유자 꼬리표를 생성하고, 요청에 따라 상기 신규 자원을 생성하며, 요청에 따라 제1 특정 자원에 대응하는 정책 꼬리표 또는 상기 허가 꼬리표를 생성하고, 요청에 따라 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 되돌려주며, 요청에 따라 획득된 제3 특정 자원에 대한 사용자의 제2 특정 액션에 관한 권한에 따라 그 사용자의 상기 제2 특정 액션을 실행하거나 실행하지 않을 수 있는 방법 및 이를 이용한 컴퓨팅 장치가 제공된다.Disclosed in the present disclosure is a method for managing users' rights to resources, which are items included in a structured document, and a computing device using the same. Specifically, according to the present disclosure, while generating a structured document and a top-level element document included in the structured document according to a request, an owner tag corresponding to the top-level element document is created, and the new resource is created according to a request, According to the request, a policy tag corresponding to the first specific resource or the permission tag is generated, the permission of the specific user for the first specific action on the second specific resource is returned according to the request, and the third obtained according to the request is returned. A method for executing or not executing a second specific action of a user according to a user's authority for a second specific action for a specific resource and a computing device using the same are provided.
문서에 관한 하드웨어 및 소프트웨어 기술의 발달에 힘입어, 다양한 문서들의 수정, 배포 및 그 추적을 다루는 기술들이 발전하고 있다. 예를 들어, 미국 등록특허공보 제9,323,850호에는 어느 게시자의 콘텐츠 항목의 전파전염성 점수(viral score)를 추산하는 방법 및 시스템이 개시되어 있다.BACKGROUND OF THE INVENTION With the development of hardware and software technologies related to documents, technologies for modifying, distributing, and tracking various documents have been developed. For example, U.S. Patent Publication No. 9,323,850 discloses a method and system for estimating the viral score of a content item from a publisher.
어느 사용자에 의해 작성된 문서 각각을 타인이 열람, 복제 및 이용할 수 있는지 없는지를 설정할 수 있게 하는 기능인 권한 설정 기능은 컴퓨팅 장치에서 실행되는 운영체제(operating system; OS)의 파일 시스템(file system)에 관하여 일반화된 기술에 속하는 반면, 그러한 기술들에 의할 때 문서 중 일부에 관하여는 열람, 복제 및 이용에 관한 권한의 설정이 가능하지 않은 한계가 있다.The permission setting function, which is a function that enables others to set whether or not each document created by a user can be viewed, reproduced, and used, is generalized with respect to the file system of an operating system (OS) running on a computing device. However, there is a limitation in that it is not possible to set the right to view, copy, and use for some of the documents when using such technologies.
하나의 문서를 통하여 다뤄지는 다양한 액션(작용; action)들은 적어도 작성자가 원하는 방식으로 제어되어야 할 필요가 있는바, 이를 위해, 해당 문서를 구성하는 다수의 부분들마다, 그리고 사용자들마다 서로 다른 권한의 설정을 가능하게 함으로써, 의도에 맞게 문서가 이용될 수 있게 할 수 있는 권한 관리의 방안 제시가 필요하다.Various actions handled through a single document need to be controlled at least in a way desired by the creator. It is necessary to propose a method of authority management that can enable the document to be used according to the intention by enabling the setting of
따라서 본 개시서의 발명은 다음과 같이 종래 기술의 한계점을 극복하는 것을 목적으로 한다. Therefore, the invention of the present disclosure aims 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 incurred in reading or writing the entire document as the size of the single document increases, but resources corresponding to a part thereof. Its purpose is to provide a method for flexible and efficient authority management for
또한, 본 발명은 운영체제의 파일 시스템에서 전형적으로 다뤄지지 않는 액션들로서, 공유(즉, 재배포) 및 기여와 같은 액션들에 관한 권한 설정을 가능하게 함으로써 다수 사용자들의 읽기/쓰기 접근, 이용 등에 대항하여 문서의 각 부분별 무결성(integrity), 재활용성(recyclability) 등을 유지해낼 수 있게 하는 것을 목적으로 한다.In addition, the present invention is a document that is not typically handled in the file system of the operating system, against read/write access, use, etc. of multiple users by enabling permission setting for actions such as sharing (ie, redistribution) and contribution Its purpose is to be able to maintain the integrity and recyclability of each part.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and realizing the characteristic effects of the present invention 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, a method for managing authority on resources included in a structured document as tags is provided, wherein the structured document has at least a depth of 0. including one top-level element document, and optionally further including at least one element document having a depth of 1 or more, each of all element documents included in the structured document including at least one record as content; , the resources include the structured document, all the element documents included in the structured document, and all the records, each of the resources including a correction round as the number of times modified, having a depth greater than or equal to 1 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 each subordinate to one element document having a depth of n-1. Further comprising each dependent relationship to indicate, wherein users of individual resources belonging to the resources include a general user, at least one owner of the individual resource, and at least one specific user for the individual resource, wherein the Each of the tags includes an owner tag for authorizing actions on the individual resource to the at least one owner of the individual resource, and an owner tag for authorizing or prohibiting actions on the individual resource for the general user. a policy tag, and a permission tag to authorize or forbid actions on the individual resource for the at least one particular user, the method comprising a request from a user to create the structured document: In response to the document generation 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, to create a new resource in the structured document, the computing device creates the new resource; In response to a permission addition request, which is a request from a user, to add a permission 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 an authority confirmation request, which is a request for verifying authority of a specific user with respect to a first specific action for a second specific resource in the structured document, the computing device determines the first specific action for the second specific resource. returning the specific user's permission for an action; and in response to an action execution request, which is a request from a user, for executing a second specific action for a third specific resource in the structured document, the computing device, the second specific action for the third specific resource of the user. Acquiring the user's authority for the second specific action for the third specific resource through an authority confirmation request for an action, and executing or not executing the second specific action according to the acquired authority .
유리하게, (i) 상기 구조화 문서 및 상기 자원들과 (ii) 상기 꼬리표들은 상이한 정보 단위로서 저장소에서 보유 및 관리된다.Advantageously, (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 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이고, 상기 기여의 반영은, 상기 컴퓨팅 장치가, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션이다.In one embodiment, the actions related to the individual resource include a request for contribution and a reflection of the contribution for the individual resource, and the request for contribution includes a content modified from the individual resource, and By generating a new resource including a correction cycle increased by 1 from the correction cycle of the individual resource, and providing a first user interface accessible by a contribution reflector, a user permitted to reflect the contribution to the individual resource, , is an action for determining whether to replace the individual resource by the new resource through the first user interface, and the reflection of the contribution is performed by the computing device according to whether the individual resource is replaced by the new resource. , is an action that causes the new resource to replace the individual resource or maintain the individual resource within the structured document.
다른 실시 예에서, 상기 개별 자원에 관한 상기 액션들은 상기 개별 자원에 대한 읽기를 포함하고, 상기 제2 특정 액션은, 상기 구조화 문서의 복제이며, 상기 구조화 문서의 복제는, 상기 컴퓨팅 장치가, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 단계, 및 상기 컴퓨팅 장치가, 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 단계를 포함하는 액션이다.In another embodiment, the actions for the individual resource include reading the individual resource, the second specific action is copying of the structured document, and the copying of the structured document causes the computing device to: A document duplication step of creating a new structured document by duplicating target resources, which are structured documents or resources to which the user has been granted read permission, among all resources included in the structured document, and the computing device, using the copy target resources This action includes a tag inheritance step of duplicating all tags corresponding to and applying them to the new structured document.
바람직하게, 상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 읽기, 및 상기 개별 자원에 대한 공유를 포함하고, 상기 개별 자원에 대한 공유는, 상기 컴퓨팅 장치가, 상기 공유의 대상으로 지정된 사용자인 수용자(receiver)에 의해 접근 가능한 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 수용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하고, 상기 신규 구조화 문서의 최상위 요소문서의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서의 상기 최상위 요소 문서의 소유자 꼬리표를 생성 또는 수정하는 액션이다.Preferably, the actions related to the individual resource include reading of the individual resource and sharing of the individual resource, and the sharing of the individual resource causes the computing device to set a user designated as the target of the sharing. Provide a second user interface accessible by a receiver, but if the acceptor's acceptance of the individual resource determined through the second user interface is true, the structured document or all information included in the structured document A new structured document is created by duplicating replication target resources, which are resources to which the recipient has read permission, among resources, and the new structured document is created so that the recipient is included in at least one owner of the top-level element document of the new structured document. An action that creates or modifies the owner tag of the top-level element document.
유리하게, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning)은, 상기 제2 특정 자원, 및 상기 제2 특정 자원의 조상 자원 중에서 상기 제1 특정 액션에 관하여 상기 특정 사용자에 적용되는 꼬리표로서, 상기 제2 특정 자원에 최근접인 자원의 꼬리표인, 특정 꼬리표를 탐색하는 단계; 및 상기 탐색에 따라 획득된 상기 특정 꼬리표에 따라 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 결정 및 되돌려주는 단계를 포함한다.Advantageously, returning the right of the specific user with respect to the first specific action on the second specific resource may cause the first specific resource among the second specific resource and an ancestor resource of the second specific resource to be returned. 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 for 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 search is performed under a first condition that the specific tag is an owner tag and that the specific user belongs to the at least one owner corresponding to the specific tag, the specific tag a policy tag, and a second condition in which permission is granted or prohibited with respect to the first specific action by the specific tag, the specific tag is an authorization tag, and the specific user with respect to the first specific action by the specific tag. The third condition in which permission is granted or prohibited, or the fourth condition in which the tag of the nearest resource that satisfies the first condition, the second condition, and the third condition does not exist is set as an end condition. For the 4 conditions, 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, a computer program comprising instructions implemented to perform the methods according to the present invention is also provided. For example, such a computer program may be stored on 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 that manages authority for resources included in a structured document as tags, wherein the structured document has a depth of 0. It includes at least one top-level element document, and optionally further includes at least one element document having a depth of 1 or more, and each of all element documents included in the structured document includes at least one record as content. and the resources include the structured document, all of the element documents included in the structured document, and all of the records, each of the resources including a correction round as the number of times modified, wherein the depth is equal to or greater than 1. When the at least one element document having a depth of 1 or more is included in the structured document, in the structured document, all element documents having a depth n of 1 or more depend on one element document having a depth of n-1. Further including each dependency relationship indicating that the resources are, wherein users of individual resources belonging to the resources include a general user, at least one owner of the individual resource, and at least one specific user of 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, and authorization or prohibiting actions on the individual resource for the general user. a policy tag for the at least one specific user, and a permission tag for authorizing or forbidding actions on the individual resource for the at least one particular user, the computing device comprising: (i) a user for generating the structured document; A structured document creation request, which is a request from a user, (ii) a resource creation request, which is a request from a user, to create a new resource in the structured document, (iii) a permission for a first specific resource in the structured document. , Authorization addition request, which is a request from a user, (iv) Authorization confirmation request, which is a request to confirm the authorization of a specific user with respect to a first specific action on a second specific resource in the structured document, and (v) the structured document a communication unit for obtaining an action execution request, which is a request from a user, for executing a second specific action for my third specific resource; and a sub-process 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 the structured document generation request. 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, and a response to the permission confirmation request. , a process of returning the authority of the specific user for the first specific action for the second specific resource, and, in response to the action execution request, for the second specific action for the third specific resource of the user. A processor that obtains the user's authority for the second specific action for the third specific resource through an authority confirmation request, and performs a process of executing or not executing the second specific action according to the acquired authority include
본 발명에 의하면 문서에 속한 부분마다 그 내용의 작성, 읽기, 수정, 삭제, 공유, 기여 등의 관리, 특히 권한 설정이 용이해지며, 특히, 다수 사용자들의 읽기/쓰기 접근, 이용 등에 대항하여 해당 문서의 각 부분별 무결성(integrity), 재활용성(recyclability) 등이 효과적으로 유지될 수 있게 할 수 있는 장점이 있다.According to the present invention, management of creation, reading, modification, deletion, sharing, contribution, etc. of the contents of each part belonging to a document, in particular, it is easy to set rights, and in particular, against read/write access and use of multiple users, corresponding It has the advantage of being able to effectively maintain the integrity and recyclability of each part of the document.
본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)은 별개의 발명에 이를 정도의 노력 없이 이 도면들에 기초하여 다른 도면들을 얻을 수 있다.The accompanying drawings for use in describing the embodiments of the present invention are only some of the embodiments of the present invention, and those of ordinary skill in the art (hereinafter referred to as "ordinary technicians") Other figures may be obtained on the basis of these figures without any effort to the extent of inventing the invention.
도 1은 본 개시서에 따라 구조화 문서에 포함된 자원들에 관한 권한을 관리하는 방법 (이하 "구조화 문서 권한 관리 방법"이라 함)을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.1 is a conceptual diagram schematically illustrating an exemplary configuration of a computing device that performs a method for managing rights for resources included in a structured document (hereinafter referred to as a "method for managing structured document rights") according to the present disclosure. .
도 2는 본 개시서에서 다뤄지는 구조화 문서를 예시적으로 도시한 블록도이다.2 is a block diagram exemplarily illustrating a structured document dealt with in the present disclosure.
도 3은 본 개시서에서 다뤄지는 구조화 문서, 그러한 구조화 문서에 포함되는 요소문서, 그러한 요소문서에 포함되는 기록을 비롯한 자원들 각각에 대응하는 꼬리표들을 예시적으로 도시한 블록도이다.FIG. 3 is a block diagram exemplarily showing tags corresponding to each of resources, including structured documents, element documents included in the structured document, and records included in the element document covered by the present disclosure.
도 4는 본 개시서에 따른 구조화 문서 권한 관리 방법을 수행하는 컴퓨팅 장치의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이다.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.
도 5는 본 개시서에 따른 구조화 문서 권한 관리 방법의 일 실시 예를 도시한 흐름도이다.5 is a flowchart illustrating an embodiment of a structured document rights management method according to the present disclosure.
도 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.
도 7은 본 개시서의 구조화 문서 관리 방법에 따라 특정 자원에 대응하는 정책 꼬리표 또는 허가 꼬리표를 생성하는 과정을 나타낸 시퀀스 다이어그램이다.7 is a sequence diagram illustrating a process of generating a policy tag or permission tag corresponding to a specific resource according to the structured document management method of the present disclosure.
도 8은 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색하는 과정을 나타낸 흐름도이다.8 is a flowchart illustrating a process of searching for tags according to the structured document management method of the present disclosure.
도 9는 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색한 결과의 예시를 보인 블록도이다.9 is a block diagram showing an example of a result of searching for tags according to the structured document management method of the present disclosure.
도 10은 본 개시서의 구조화 문서 관리 방법에 따라 사용자의 권한을 획득하고 획득된 그 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 과정을 나타낸 시퀀스 다이어그램이다.FIG. 10 is a sequence diagram illustrating a process of acquiring a user's authority and executing or not executing the second specific action according to the acquired authority according to the structured document management method of the present disclosure.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description of the present invention refers to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced in order to make the objects, technical solutions and advantages of the present invention clear. These embodiments are described in sufficient detail to enable a person skilled in the art to practice the present invention. In the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. Like reference numbers in the drawings indicate the same or similar function throughout the various aspects.
"제1" 또는 "제2" 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 하는바, 어떠한 순서도 시사하고 있지 않기 때문이다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as "first" or "second" may be used to describe various components, but such terms are to be interpreted solely for the purpose of distinguishing one component from another, and no order is implied. because it doesn't For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this disclosure, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.
본 개시서에서 "구조화 문서"는 일대일 또는 일대다(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 equivalent inclusive relationship, etc.). Structured documents, element documents, and records, which are the contents of element documents, can each be encompassed by the higher concept of '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 inclusion relationship between resources is conceptually equivalent to a superior/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. . Expanding this, parent resources, parent resources of parent resources, parent resources of parent resources of parent resources, etc. are referred to as "ancestral resources", and child resources, child resources of child resources, child resources of child resources of child resources, etc. It may be referred to as a "descendant resource".
본 개시서에서 "권한" 또는 "권한 정보"는 어느 사용자가 어느 자원에 관하여 어느 액션(action; 작용)을 취할 수 있는지, 혹은 없는지를 설정한 값을 지칭하는바, 불 값(Boolean value), 열거형 값(enumeration value), 정수형 값(integer value) 등의 형태를 가질 수 있다. 본 개시서에서 "권한이 부여"되었다는 표현은 그 권한이 참(true) 값을 가짐을 의미할 수 있으며, "권한이 금지"되었다는 표현은 그 권한이 거짓(false) 값을 가짐을 의미할 수 있다.In the present disclosure, "authority" or "authority information" refers to a value that sets whether a user can take an action (action) with respect to a resource or not, a Boolean value, It can have a form such as an enumeration value or an integer value. In this disclosure, the expression "permission granted" may mean that the permission has a true value, and the expression "permission prohibited" may mean that the permission has a false value. there is.
한편, 정수형 값으로 된 권한 정보는 어느 사용자의 어느 자원에 관한 여러 가지 액션들에 대한 권한을 비트 표현에 의하여 하나의 값으로 표현할 수 있을 뿐만 아니라, 컴퓨팅 장치의 비트 연산은 논리 연산에 의한 분기보다 월등히 빠르므로, 권한을 정수형으로 표현하는 방식의 유용함은 통상의 기술자에게 잘 알려져 있다.On the other hand, the authority information in the form of an integer value can express the authority of a user for various actions on a resource in a single value by bit expression, and the bit operation of a computing device is faster than a branch by a logical operation. Since it is extremely fast, the usefulness of expressing authority in integer form 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 commonly used dictionaries 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, interpreted in an ideal or excessively formal meaning. It doesn't work.
더욱이 본 발명은 본 개시서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니다. Moreover, the present invention covers all possible combinations of the embodiments presented in this disclosure. It should be understood that the 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 one embodiment in another embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description that follows is not intended to be taken in a limiting sense.
본 개시서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In this disclosure, unless otherwise indicated or clearly contradicted by context, terms 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 will be omitted.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily practice the present invention.
도 1은 본 개시서에 따른 구조화 문서 권한 관리 방법을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.1 is a conceptual diagram schematically illustrating an exemplary configuration of a computing device that performs a method for managing structured document rights according to the present disclosure.
도 1을 참조하면, 본 개시서의 일 실시 예에 따른 컴퓨팅 장치(100)는, 통신부(110) 및 프로세서(120)를 포함하며, 상기 통신부(110)를 통하여 외부 컴퓨팅 장치(미도시)와 직간접적으로 통신할 수 있다.Referring to FIG. 1 , a computing device 100 according to an embodiment of the present disclosure includes a communication unit 110 and a processor 120, and communicates with an external computing device (not shown) through the communication unit 110. You can communicate directly or indirectly.
구체적으로, 상기 컴퓨팅 장치(100)는, 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터, 프로세서, 메모리, 스토리지(storage), 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. 상기 스토리지는 하드 디스크, USB(Universal Serial Bus) 메모리와 같은 기억 장치뿐만 아니라 클라우드 서버와 같은 네트워크 연결 기반의 저장 장치의 형태를 포함할 수 있다.Specifically, the computing device 100 may include typical computer hardware (eg, a computer, processor, memory, storage, input and output devices, and other components of conventional computing devices; a router; electronic communication devices, such as switches, switches, etc.; electronic information storage systems, such as network-attached storage (NAS) and storage area network (SAN)) and computer software (i.e., enabling computing devices to It may be to achieve the desired system performance by using a combination of instructions). The storage may include a storage device such as a hard disk or a universal serial bus (USB) memory as well as a storage device based on a network connection such as a cloud server.
이와 같은 컴퓨팅 장치의 통신부(110)는 연동되는 타 컴퓨팅 장치, 예컨대 전용의 저장소, 예컨대, 데이터베이스 서버 등과의 사이에서 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(Transmission Control Protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는 바, 예컨대 UDP(User Datagram Protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다.The communication unit 110 of such a computing device may transmit and receive requests and responses between other computing devices that are interlocked, for example, a dedicated storage, for example, a database server, and the like. As an example, such requests and responses are the same TCP ( It may be performed by a Transmission Control Protocol (Session) session, but is not limited thereto, and may be transmitted and received as a User Datagram Protocol (UDP) datagram, for example.
구체적으로, 통신부(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 communication unit 110 may be implemented in the form of a communication module including a communication interface. For example, communication interfaces include Wireless LAN (WLAN), Wireless Fidelity (WiFi) Direct, Digital Living Network Alliance (DLNA), Wireless Broadband (WiBro), World interoperability for Microwave access (WiMax), High Speed Downlink Packet Access (HSDPA), etc. Including wireless Internet interface of Bluetooth™, RFID (Radio Frequency IDentification), Infrared Data Association (IrDA), UWB (Ultra-WideBand), ZigBee, and NFC (Near Field Communication) short-range communication interfaces. can do. In addition, the communication interface may represent all interfaces through which the processor communicates with the outside (eg, various buses such as a data bus, wired/wireless interfaces).
예를 들어, 통신부(110)는 이와 같이 적합한 통신 인터페이스를 통해 타 컴퓨팅 장치로부터 데이터를 송수신할 수 있다. 덧붙여, 넓은 의미에서 상기 통신부(110)는 명령어 또는 지시 등을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치, 인쇄 장치, 디스플레이, 기타 외부 출력 장치를 포함하거나 이들과 연동될 수 있다. 컴퓨팅 장치, 예컨대, 휴대 단말 또는 개인용 컴퓨터(personal computer; PC)와 같은 사용자 단말이나 서버의 사용자에게 적합한 사용자 인터페이스를 표시하여 제공함으로써 사용자와의 상호작용을 가능하게 하기 위하여, 컴퓨팅 장치(100)는 디스플레이부를 내장하거나 상기 통신부(110)를 통하여 외부의 디스플레이 장치와 연동될 수 있음이 알려져 있다. 예컨대, 그러한 디스플레이부 또는 디스플레이 장치는 터치 입력이 가능한 터치스크린일 수 있다.For example, the communication unit 110 may transmit/receive data from another computing device through an appropriate communication interface. In addition, in a broad sense, the communication unit 110 may include a keyboard, a mouse, other external input devices, a printing device, a display, and other external output devices for receiving commands or instructions, or may be interlocked with them. In order to enable interaction with a user by displaying and providing a user interface suitable for a user of a computing device, for example, a user terminal such as a portable terminal or a personal computer (PC) or a server, the computing device 100 is provided. It is known that the display unit can be embedded or interlocked with an external display device through the communication unit 110 . For example, such a display unit or display device may be a touch screen capable of touch input.
또한, 컴퓨팅 장치의 프로세서(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 processor 120 of the computing device may include one or more micro processing units (MPUs), central processing units (CPUs), and graphics processing units (GPUs) having internal memory such as cache memory and/or external memory. , a microprocessor such as a neural processing unit (NPU) or a tensor processing unit (TPU), a controller such as a microcontroller, an embedded microcontroller, a microcomputer, an arithmetic logic unit (ALU), a digital signal processor, such as , a programmable digital signal processor or other programmable device. In addition, it may further include a software configuration of an operating system and an application that performs a specific purpose.
이제 도 2 내지 도 9를 참조하여 본 개시서에 따른 구조화 문서 권한 관리 방법을 상세히 후술하기로 한다. Now, the structured document rights management method according to the present disclosure will be described in detail 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 , a structured document 200 includes at least one top-level element document 210 having a depth of zero. Here, the depth of the element document has an integer greater than 0, that is, a non-negative integer value.
구조화 문서(200)가 1 이상의 깊이를 가지는 어떠한 요소문서도 포함하지 않을 때 그 구조화 문서를 자명한(trivial) 구조화 문서라고 지칭할 수 있고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서(예컨대, 220 내지 270)를 포함할 때 비자명한(non-trivial) 구조화 문서라고 지칭할 수 있다. When the structured document 200 does not include any element document having a depth of 1 or more, the structured document may be referred to as a trivial structured document, and at least one element document having a depth of 1 or more (eg, 220 to 270) may be referred to as a non-trivial structured document.
도 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 depth 1 are subordinate to element document 210 of depth 0, and element documents 240 and 250 of depth 2 are dependent on element document 220 of depth 1. ), and element documents 260 and 270 of depth 3 are subordinate to element document 240 of depth 2.
구조화 문서(200)는 1 이상의 깊이를 가지는 요소문서를 선택적(optionally)으로 더 포함할 수 있으며, 구조화 문서(200) 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각은 n-1의 깊이를 가지는 하나의 요소문서에 종속되어야 한다. 구조화 문서 내 개별 요소문서들 간의 종속 관계는 '종속 관계'라는 데이터로 구조화 문서(200)에 포함된다. The structured document 200 may optionally further include element documents having a depth of 1 or more, and all element documents having a depth n of 1 or more in the structured document 200 each have a depth of n-1. It must depend on one element document. The subordinate relationship between individual element documents in the structured document is included in the structured document 200 as data called 'dependency relationship'.
도 2의 예시를 참조하면, 구조화 문서(200)에 포함된 모든 요소 문서 각각은 그 요소 문서의 내용으로서 적어도 하나의 기록(record; 212 내지 276)을 포함한다. 기록은 텍스트, 수치 또는 그림을 포함할 수 있으나 이에 한정되지 않고 다양한 포맷의 데이터를 포함할 수 있음은 물론이다. 어느 요소 문서의 내용에 해당하는 기록들 각각은, 그 요소 문서의 자식 자원들 각각을 사용할 것인지 그렇지 않을 것인지에 관하여 그 사용(또는 표시) 여부 및/또는 활성화(또는 강조) 여부를 나타내는 값들, 예컨대, 불 값(Boolean value)들, 및 상기 자식 자원들을 표시하는 때 그 표시하는 순서를 나타내는 값인 표시 순서값, 예컨대, 정수 값(integer value)들을 포함할 수 있다.Referring to the example of FIG. 2 , each element document included in the structured document 200 includes at least one record 212 to 276 as contents of the element document. Records may include text, figures, or pictures, but are not limited thereto, and may include data in various formats. Each of the records corresponding to the contents of a certain element document has values indicating whether to use (or display) and/or activate (or highlight) whether or not to use each of the child resources of the element document, for example, It may include Boolean values and display order values, eg, integer values, which are values indicating a display order when displaying the child resources.
전술한 바와 같이, '자원'은 구조화 문서(200), 그 구조화 문서에 포함된 모든 요소문서(210 내지 270)뿐만 아니라 그 요소문서(210 내지 270)의 기록들(212 내지 276)을 망라한다. 자원 각각은 그 자원이 수정된 횟수인 정정 회차(revision count)의 정보를 포함한다.As noted above, 'resource' encompasses the structured document 200, all element documents 210 to 270 included in the structured document, as well as the records 212 to 276 of the element document 210 to 270. . Each resource includes information on a revision count, which is the number of times the resource has been modified.
도 3은 본 개시서에서 다뤄지는 구조화 문서, 그러한 구조화 문서에 포함되는 요소문서, 그러한 요소문서에 포함되는 기록을 비롯한 자원들 각각에 대응하는 꼬리표들을 예시적으로 도시한 블록도이다. FIG. 3 is a block diagram exemplarily showing tags corresponding to each of resources, including structured documents, element documents included in the structured document, and records included in the element document covered by the present disclosure.
도 3에 예시된 꼬리표들을 설명하기에 앞서, 어느 자원에 관한 권한이 부여 또는 금지되는 주체인 사용자(user)부터 설명하면, 개별 자원의 사용자는, 일반 사용자(everybody), 상기 개별 자원의 적어도 하나의 소유자(owner), 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자(specific user)를 포함한다.Prior to describing the tags illustrated in FIG. 3, starting with a user who is a subject to whom authority for a certain resource is granted or prohibited, a user of an individual resource includes a general user (everybody), and at least one of the individual resources. includes 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 types of tags include an owner tag 320 for authorizing actions on the individual resource 310a for at least the owner 322 of the individual resource 310a, and an individual resource 310b for the general user. ), a policy tag 340 for authorizing or prohibiting actions on an individual resource 310c for the at least one specific user 362, a permission tag 360 for authorizing or prohibiting actions on an individual resource 310c. is included Since the general user refers to a specific user, there is a one-to-one correspondence relationship between the individual resource 310b and the policy tag 340, and a one-to-one correspondence relationship or a one-to-many correspondence between the individual resource 310a and the owner tag 320. There is a relationship. If the individual resource 310a has a unique owner, a one-to-one correspondence relationship will be established between the individual resource and the owner tag, but if there are multiple owners of the individual resource 310a, a one-to-many correspondence relationship (one owner tag has only one owner). correspondence) may be established or a one-to-one correspondence relationship (when multiple owners correspond to one owner tag) may be established.
마찬가지로, 개별 자원(310c)과 허가 꼬리표(360) 사이에도 일대일 대응 관계 또는 일대다 대응 관계가 성립할 수 있는바, 통상의 기술자는 필요에 따라 그 중 하나를 설계안으로서 취사선택할 수 있을 것이다.Similarly, a one-to-one correspondence relationship or a one-to-many correspondence relationship may be established between the individual resource 310c and the permission tag 360, and a person skilled in the art may select one of them as a design proposal according to need.
여기에서 소유자 꼬리표(320)가 어떠한 소유자(322)에 대하여 어떠한 액션의 권한도 금지하기 위한 것이 아님은 물론이다.It goes without saying that the owner tag 320 here is not intended to prohibit any action rights for any owner 322 .
도 4는 본 개시서에 따른 구조화 문서 권한 관리 방법을 수행하는 컴퓨팅 장치의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이고, 도 5는 본 개시서에 따른 구조화 문서 권한 관리 방법의 일 실시 예를 도시한 흐름도이다.4 is an exemplary block diagram illustrating hardware or software components of a computing device for performing a method for managing structured document rights according to the present disclosure, and FIG. 5 is an exemplary embodiment of a method for managing structured document rights according to the present disclosure. It is a flow chart 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 server 100, in response to a structured document generation request, which is a request from a user, to create a structured document. The structured document generation module 410, which generates the structured document 200 and the highest element document 210 included in the structured document 200, implemented by the server 100 or interlocked with the server 100 A process (S100a; not shown) holding in a predetermined storage 420, and an owner tag corresponding to the top-level element document 210 to generate an owner tag designating the user as an owner and holding it in a predetermined storage 420 and performing a process (S100b; not shown) (S100).
본 개시서에서 설명되는 구조화 문서 생성 요청, 자원 생성 요청, 권한 추가 요청, 권한 확인 요청, 액션 실행 요청 등은 사용자가 이용하는 타 컴퓨팅 장치, 예컨대, 클라이언트(100')로부터 획득될 수 있음은 물론이다.Of course, the structured document creation request, resource creation request, permission addition request, permission confirmation request, action execution request, etc. described in this disclosure can be obtained from another computing device used by the user, for example, the client 100'. .
즉, 도 4에 예시된 구성요소들 중 저장소(420)는 다른 모듈들과 동일한 컴퓨팅 장치인 서버(100)에서 구현될 수 있으나, 별도의 컴퓨팅 장치인 저장소 서버(미도시)에서 구현되어도 무방하다.That is, the storage 420 among the components illustrated in FIG. 4 may be implemented in the server 100, which is the same computing device as the other modules, but may be implemented in a storage server (not shown), which is a separate computing device. .
도 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 document 200 and resources including it and the tags may be held and managed in the same storage 420, but in different storages as different units of information, e.g., structured documents. and resources can be held and managed in the document repository 422 and tags in the tag repository 424. Such an information unit may be, for example, a table of a SQL-based database, but is not limited thereto.
프로세스(S100a)에서 최상위 요소문서(210)의 생성은 구조화 문서 생성 모듈(410)에 의하여 호출된 자원 생성 모듈(430)에 의하여 수행될 수도 있다. 프로세스(S100a)에서의 최상위 요소문서(210)의 생성은 구조화 문서(200)의 생성을 요청한 상기 사용자가 그 생성된 구조화 문서(200)의 소유자가 되므로, 자원 생성 모듈(430)이 후술하는 바와 같은 상기 사용자의 권한 확인을 요청할 필요가 없는바, 후술하는 권한 확인이 생략될 수 있다.Generation of the top element document 210 in the process S100a may be performed by the resource creation module 430 called by the structured document creation module 410 . The generation of the top-level element document 210 in the process (S100a) is performed by the resource creation module 430 as described later, since the user who requested the creation of the structured document 200 becomes the owner of the created structured document 200. Since there is no need to request permission confirmation of the same user, permission confirmation described later may be omitted.
프로세스(S100b)에서 상기 소유자 꼬리표의 생성은 구조화 문서 생성 모듈(410)에 의하여 호출된 꼬리표 생성 모듈(440)에 의하여 수행될 수도 있다. 프로세스(S100a)에서와 마찬가지로, 프로세스(S100b)에서의 상기 소유자 꼬리표의 생성은 상기 구조화 문서의 생성을 요청한 상기 사용자가 그 생성된 구조화 문서(200)의 소유자가 되므로 꼬리표 생성 모듈(440)이 후술하는 바와 같은 상기 사용자의 권한 확인을 요청할 필요가 없다.The generation of the owner tag in process S100b may be performed by the tag generation module 440 called by the structured document generation module 410 . Similar to the process S100a, the generation of the owner tag in the process S100b is performed by the tag generation module 440 as described below since the user requesting the creation of the structured document becomes the owner of the created structured document 200. There is no need to request confirmation of the user's authority as such.
상기 소유자 꼬리표는 이에 의하여 지정된 소유자가 구조화 문서(200)에 대한 모든 권한을 가짐을 나타내는 데이터인바, 앞서 언급된 바와 같이 상기 소유자 꼬리표에 대응하는 소유자는 단수에 한정되지 않고 다수가 될 수도 있다.The owner tag is data indicating that the owner designated thereby has all rights to the structured document 200. As mentioned above, the owner corresponding to the owner tag is not limited to a single number and may be multiple.
한편, 상기 구조화 문서에 대응하는 소유자 꼬리표는 곧 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표인 것으로 정의되는바, 이는 후술하는 꼬리표에 의한 권한 탐색 시 데이터 취급의 일관성을 기하기 위함이다.On the other hand, the owner tag corresponding to the structured document is defined as the owner tag corresponding to the top-level element document, which is to ensure consistency in data handling when searching for authority by the tag described later.
계속해서 도 4 및 도 5를 참조하면, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(100)에 의하여 구현되는 자원 생성 모듈(410)이, 구조화 문서(200) 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청에 응하여 상기 신규 자원을 생성함(S200)을 더 포함한다. 상기 신규 자원은 구조화 문서(200)에 포함되는 신규의 요소문서일 수도 있으나 이에 한정되지 않고, 예를 들어, 구조화 문서(200)의 어느 요소문서에 포함되는 신규의 기록일 수도 있음은 물론이다.With continued reference to FIGS. 4 and 5 , the structured document rights management method of the present disclosure is configured to generate a new resource in the structured document 200 by the resource creation module 410 implemented by the server 100. , In response to a resource creation request, which is a request from a user, generating the new resource (S200). The new resource may be, but is not limited to, a new element document included in the structured document 200, and may be, for example, a new record included in any element document of the structured document 200.
또한, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(100)에 의하여 구현되는 꼬리표 생성 모듈(440)이, 구조화 문서(200) 내의 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청에 응하여, 상기 제1 특정 자원에 대응하는 정책 꼬리표 또는 허가 꼬리표를 생성함(S300)을 더 포함하는바, 정책 꼬리표 및 허가 꼬리표는 앞서 설명된 바와 같다.In addition, in the structured document rights management method of the present disclosure, the tag generation module 440 implemented by the server 100 adds rights to a first specific resource in the structured document 200, from a user. In response to the permission addition request, which is the request, a policy tag or permission tag corresponding to the first specific resource is generated (S300). The policy tag and permission tag are as described above.
도 7은 본 개시서의 구조화 문서 관리 방법에 따라 특정 자원에 대응하는 정책 꼬리표 또는 허가 꼬리표를 생성하는 과정을 나타낸 시퀀스 다이어그램이다.7 is a sequence diagram illustrating a process of generating a policy tag or 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)가 더 포함될 수도 있다.In detail with reference to FIG. 7, the tag generation module 440 allows the user to select the first specific resource (S340), and the type of tag for the first specific resource (policy tag, permission). tag, etc.) and its content (subject and authority of the subject) are selected by the user (S360), and a policy tag or permission tag corresponding to the first specific resource is generated and stored in a predetermined storage 420. (S380). A step of providing and displaying the entire structured document through, for example, the client 100' before the selection of the first specific resource (S340) so that the user can select the first specific resource (S320) may be further included.
한편, 앞서 설명된 상기 신규 자원의 생성(S200) 시에, 상기 구조화 문서의 소유자에 의하여 미리 설정된 일반 사용자에 대한 정책 꼬리표 또는 특정 사용자에 대한 허가 꼬리표가 기본값(default value)으로서 상기 자원에 대응하도록 함께 생성될 수 있는바, 이를 위하여 자원 생성 모듈(410)이 꼬리표 생성 모듈(440)을 호출할 수 있다.On the other hand, in the above-described generation (S200) of the new resource, 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. It can be created together, for this purpose, the resource creation module 410 may call the tag creation module 440.
다음으로, 본 개시서의 구조화 문서 권한 관리 방법은, 서버(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 permission management method of the present disclosure, the permission confirmation module 450 implemented by the server 100 is a specific user with respect to a first specific action for a second specific resource in the structured document 200. As a response to the permission confirmation request, which is a request for checking the permission of, returning (S400; returning or return) the permission of the specific user regarding the first specific action for the second specific resource. Furthermore, in the structured document rights management method of the present disclosure, the action execution module 460 implemented by the server 100 executes a second specific action with respect to a third specific resource in the structured document 200. , In response to an action execution request, which is a request from a user, the user related to the second specific action for the third specific resource through a permission confirmation request for the second specific action for the third specific resource of the user Obtaining (S400) the authority of, and executing or not executing the second specific action according to the acquired authority (S500).
액션들actions
특정 자원에 대한 특정 액션에 관하여 어느 사용자가 가지는 권한의 탐색(S400) 및 그 특정 액션의 실행(S500)에 관한 구체적인 설명에 앞서, 본 개시서에서 권한 확인의 대상이 되는, 개별 자원에 관한 액션들부터 먼저 설명하면, 그러한 액션들에는 상기 자원의 사용들 및 접근이 포함될 수 있다. 상기 사용들은, 상기 자원의 수정(편집), 열람, 삭제 등을 포함할 수 있으며, 이러한 사용들 각각의 권한은 부여되거나 금지될 수 있다. 또한, 상기 접근은, 상기 자원이 검색 결과로 표시됨을 지칭하는바, 이러한 접근의 권한도 부여되거나 금지될 수 있다.Prior to a detailed description of the search for authority possessed by a certain user with respect to a specific action for a specific resource (S400) and the execution of the specific action (S500), in the present disclosure, an action for an individual resource, which is the subject of authority confirmation First described, such actions may include uses and access of the resource. The uses may include modification (editing), viewing, deletion, etc. of the resource, and each of these uses may be granted or prohibited. In addition, since the access refers to displaying the resource as a search result, this access may also be granted or prohibited.
예를 들어, 액션들에는 최상위 요소문서의 삭제가 포함될 수 있으며, 이는 해당 구조화 문서의 삭제와 동일한 액션일 수 있다. For example, actions may include deleting a top-level element document, which may be the same action as deleting a corresponding structured document.
한편, 액션들에는 최상위 요소문서가 아닌 자원의 삭제가 포함될 수 있으며, 그러한 삭제 시에는, 최상위 요소문서가 아니면서 자식 자원을 가지지 않는 모든 개별 자원들이 최상위 요소문서들로부터 종속 관계의 연쇄가 이어짐을 보장하기 위하여, 즉, 어느 개별 자원의 삭제로 인하여 구조화 문서 내 다른 어느 개별 자원이 파편화(fragmented)되지 않도록, 그 삭제의 대상인 개별 자원이 포함한 자식 자원들과 그 자식 자원들에 대한 종속 관계도 재귀적(recursive)으로 삭제되어야 함은 물론이다.On the other hand, actions may include deletion of a resource that is not a top-level element document, and upon such deletion, all individual resources that are not a top-level element document and do not have child resources follow a chain of dependency relationships from top-level element documents. In order to ensure that deletion of an individual resource does not cause fragmentation of any other individual resource in the structured document, child resources included in the individual resource to be deleted and their dependent relationships are also recursively recursive. Of course, it should be deleted as recursive.
액션 - 기여의 요청 및 기여의 반영Actions - solicitation of contributions and reflection of contributions
또한, 상기 액션들에는, 상기 개별 자원에 대한 '기여의 요청' 및 '기여의 반영'도 포함될 수 있다. 여기에서 '기여'는 그 기여를 요청하는 사용자(즉, 기여자)가 기 생성된 구조화 문서의 자원을 수정하는 행위를 지칭하는바, '기여의 요청'은 기여자에 의하여 만들어진 수정 내용을 그 구조화 문서의 작성자에게 전달하는 액션에 해당하고, '기여의 반영'은 그 수정 내용에 대한 가부를 결정하는 사용자(즉, 기여 반영자)가 내린 결정에 따라 구조화 문서의 자원을 변경 또는 유지하는 액션에 해당한다.Also, the actions may include 'request for contribution' and 'reflection of contribution' for the individual resource. Here, 'contribution' refers to the action of a user requesting the contribution (i.e., a contributor) to modify the resources of a previously created structured document. Corresponds to an action that is delivered to the creator of the document, and 'reflection of the contribution' corresponds to an action that changes or maintains the resources of the structured document according to the decision made by the user (ie, the contributor) who decides whether to approve the modification. do.
더 구체적으로, 상기 기여의 요청은, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 그 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의하여 접근 가능한 소정의 제1 사용자 인터페이스를 서버(100) 또는 클라이언트(100')를 통하여 제공함으로써, 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이다. 상기 제1 사용자 인터페이스의 제공을 위해 서버(100)에 의하여 구현되는 사용자 인터페이스 제공 모듈(미도시)이 이용될 수 있는바, 이 경우 액션 실행 모듈(460)은 그러한 사용자 인터페이스 제공 모듈을 호출하여 이용할 수 있다.More specifically, the contribution request includes, by the action execution module 460 implemented by the server 100, the content modified from the individual resource, and a correction cycle increased by 1 from the correction cycle of the individual resource. By creating a new resource that does, and providing a predetermined first user interface through the server 100 or client 100' accessible by a contribution reflector, a user permitted to reflect the contribution to the individual resource, This is an action for determining whether to replace the individual resource with the new resource through the first user interface. A user interface providing module (not shown) implemented by the server 100 may be used to provide the first user interface. In this case, the action execution module 460 calls and uses such a user interface providing module. can
또한, 상기 기여의 반영은, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션이다. 상기 기여 반영자의 선택에 따라, 상기 신규 자원이 상기 개별 자원을 대체하면, 그 신규 자원은 상기 개별 자원에 비해 1만큼 증가된 정정 회차를 가지는바, 예컨대, 통상의 기술자는 그러한 정정 회차별로 해당 자원의 이력, 즉, 반영 기록(contribution record)을 남기는 방식으로 액션 실행 모듈(460)을 구성할 수도 있을 것이다.In addition, the reflection of the contribution is determined by the action execution module 460 implemented by the server 100, depending on whether the individual resource is replaced by the new resource, in the structured document, the new resource is the individual resource. It is an action that replaces or maintains the individual resource. If the new resource replaces the individual resource according to the selection of the contributor, the new resource has a correction cycle increased by 1 compared to the individual resource. The action execution module 460 may be configured in such a way as to leave a history of, that is, a contribution record.
액션 - 공유action - share
한편, 상기 액션들에는, 상기 개별 자원에 대한 공유도 포함될 수 있는바, 여기에서 공유의 액션 실행 요청을 하는 사용자를 전달자(sender), 그 공유의 대상으로 지정된 사용자를 수용자(receiver)라고 할 수 있다. 상기 개별 자원에 대한 공유는, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이, 상기 수용자(receiver)에 의해 접근 가능한 소정의 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서(200; 원본 구조화 문서)의 복제를 수행하여 신규 구조화 문서(200'; 미도시)를 생성하고, 상기 신규 구조화 문서에 대응하는 상기 개별 자원 및 상기 개별 자원의 자손 자원 중에서 상기 수용자의 읽기 권한이 부여된 자원들인 공유 자원들의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서 내 상기 공유 자원들의 소유자 꼬리표를 생성 또는 수정하는 액션이다.On the other hand, the actions may also include sharing of the individual resource. Here, a user requesting execution of an action of sharing may be referred to as a sender, and a user designated as a target of the sharing may be referred to as a receiver. there is. In order to share the individual resource, the action execution module 460 implemented by the server 100 provides a predetermined second user interface accessible by the receiver through the second user interface. If it is true that the acceptor accepts the determined individual resource, copying of the structured document 200 (original structured document) is performed to generate a new structured document 200' (not shown) and correspond to the new structured document. Create or modify the owner tag of the shared resources in the new structured document so that the recipient is included in at least one owner of shared resources that are resources to which the read permission of the recipient is granted among the individual resource and descendant resources of the individual resource. is an action
즉, 상기 수용자가 소유자들 중 하나가 되는 상기 신규 구조화 문서는 원본 구조화 문서 중에서 상기 수용자의 읽기 권한이 부여되었던 자원들만을 포함하도록 상기 복제가 수행되므로 그 신규 구조화 문서는 상기 원본 구조화 문서와 동일하지 않을 수 있다. 이와 같은 공유는 그 전달자 및 수용자가 서로 동일할 수도 있는바, 자기 자신에게 하는 공유는 수집(collect)이라고 지칭할 수 있다.That is, since the duplication is performed so that the new structured document for which the recipient is one of the owners includes only resources to which the recipient has been granted read permission among the original structured documents, the new structured document is not the same as the original structured document. may not be In such sharing, the sender and receiver may be the same, so sharing to oneself can be referred to as collection.
앞서 상기 제1 사용자 인터페이스의 제공에 관하여 설명된 바와 같이, 상기 제2 사용자 인터페이스의 제공을 위하여도, 상기 사용자 인터페이스 제공 모듈이 이용될 수 있다.As described above for providing the first user interface, the user interface providing module may also be used for providing the second user interface.
액션 - 구조화 문서의 복제Action - Clone structured document
추가로, 상기 액션들에는, 상기 구조화 문서의 복제가 포함될 수 있는바, 여기에서 상기 구조화 문서의 복제는, 서버(100)에 의하여 구현되는 액션 실행 모듈(460)이 구조화 문서(200) 자체 및 구조화 문서(200)에 포함되는 자원들, 즉, 구조화 문서(200)의 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 단계, 및 액션 실행 모듈(460)이 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 단계를 포함하는 액션일 수 있다. 즉, 구조화 문서의 복제는, 그 전달자 와 수용자가 서로 동일한, 구조화 문서의 공유와 실질적으로 동일한 액션이되, 전달자가 수용자의 수락 여부를 묻기 위한 상기 제2 사용자 인터페이스가 제공되지 않는다는 점에서 차이가 있다.In addition, the actions may include duplication of the structured document, wherein the duplication of the structured document is performed by the action execution module 460 implemented by the server 100, the structured document 200 itself and A document duplication step of generating a new structured document by copying resources included in the structured document 200, that is, replication target resources, which are resources to which the user has been granted read permission, among all resources of the structured document 200, and The action may include a tag inheritance step in which the action execution module 460 copies all tags corresponding to the replication target resources and applies them to the new structured document. That is, duplication of a structured document is substantially the same action as sharing of a structured document in which the sender and receiver are the same, but the difference is that the second user interface for asking whether or not the receiver accepts the sender is not provided. there is.
본 개시서의 구조화 문서 권한 관리 방법과 관련하여 어느 구조화 문서 자체 또는 이에 속한 자원들에 관한 기타 액션들은 통상의 기술자가 쉽게 도출할 수 있을 것인바, 이에 관하여 더 상세한 설명은 생략하기로 한다.In relation to the structured document rights management method of the present disclosure, other actions for a structured document itself or resources belonging thereto can be easily derived by a person skilled in the art, so detailed descriptions thereof will be omitted.
자원에 대한 액션에 관한 사용자의 권한의 탐색Discovery of user's authority regarding actions on resources
이제, 참조부호 S400에 관한 구체적인 설명을 위하여, 본 개시서의 구조화 문서 관리 방법에 따라 꼬리표를 탐색하는 과정이 예시적으로 나타난 도 8을 참조한다.Now, for a detailed description of reference numeral S400, reference is made to FIG. 8 exemplarily illustrating a process of searching for tags 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 (S400) the authority of the specific user for the first specific action for the second specific resource, 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 ancestor resources (expressed as a set, {R p | R p is an ancestor resource of R}), that is, among R ∪ {R p } It may include a step (S420) of searching for a tag that is the specific user, and the target of the specific search is the closest resource R' to the second specific resource among the tags applied to the specific user. 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 an ancestor resource of the second specific resource to obtain the specific tag T of the nearest resource is performed from the second specific resource R to the ancestor resource {R p }) and searches for a tag t of a resource r that satisfies a specific condition, that is, an end condition, among R ∪ {R p }, for example, a breadth-first search (BFS). ), but is not limited thereto. The tag t of resource r, which satisfies the termination condition, is the 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 in which tag t corresponds to an owner tag and a particular user U belongs to the at least one owner corresponding to tag t; (ii) a tag (t) is a policy tag, and the second condition that the tag (t) authorizes or prohibits the first specific action (A), (iii) the tag (t) is a permission tag, and the tag (t) This is a condition that satisfies one of the third conditions in which the specific user U's authority for the first specific action A is granted or prohibited.
상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 꼬리표(t)가 존재하지 않는 제4 조건도 종료 조건이나, 이 제4 조건을 만족한다면, 상기 탐색의 결과인 특정 꼬리표(T)는 존재하지 않는바, 특정 사용자(U)의 제2 특정 자원(R)에 대한 제1 특정 액션(A)에 관한 권한은 금지된 것으로 간주될 수도 있다.The fourth condition that no tag t that satisfies the first condition, the second condition, and the third condition does not exist is also an end condition, but if the fourth condition is satisfied, a specific tag (T) that is the result of the search ) does not exist, the authority for the first specific action (A) for the second specific resource (R) of the specific user (U) may be regarded as 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 to the third condition. A condition may be applied first, and the first condition may be applied first with respect 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 showing an example of a result of searching for tags according to the structured document management method of the present disclosure. Referring to FIG. 9 , a schematic subordinate relationship of resources 910 to 919 belonging to a structured document 900 is shown. The top-level element document of the structured document 900 is a resource 910, and each resource The symbol indicated in the indicated node indicates the kind of tag set to the particular user U with respect to the first particular action while corresponding to that resource. Among them, "O" stands for owner tag, "A" for permission tag, and "P" for policy tag. Unsigned resources 914, 916, 918, and 919 indicated in the node mean that there is no tag set to correspond to each of the resources with respect to the first specific action and specific user U.
앞서 설명된 권한 탐색의 방식에 따르면, 예를 들어, 상기 제1 특정 액션에 관하여 특정 사용자(U)에게 설정된 꼬리표가 대응되지 않은 자원(914)의 종료 조건을 만족하는 최근접 자원은 자원(911)이며, 그 종료 조건은 상기 제3 조건인바, 자원(911), 상기 제1 특정 액션 및 특정 사용자(U)에 적용되는 꼬리표가 자원(914) 및 자원(918)에도 적용된다.According to the above-described authority search method, for example, the closest resource that satisfies the end condition of the resource 914 to which the tag set for the specific user U with respect to the first specific action does not correspond is the resource 911 ), and since the end condition is the third condition, the tag applied to the resource 911, the first specific action, and the specific user U is also applied to the resource 914 and the resource 918.
또한, 도 9의 예시에서 꼬리표가 상기 대응되지 않은 자원(919)의 조상 자원들 가운데 종료 조건을 만족하는 자원에는 제1 조건을 만족하는 자원(910)과 제2 조건을 만족하는 자원(915)이 있는데, 그 중 자원(919)에 최근접한 자원은 자원(915)이므로, 자원(919)에 대하여 자원(915)의 꼬리표가 적용된다. 반면, 자원(912)의 조상 자원 중에서 종료 조건을 만족하는 자원에는 제1 조건을 만족하는 자원(910)만이 있으므로, 자원(912)에 대하여 자원(910)의 꼬리표가 적용된다.In addition, in the example of FIG. 9 , resources that satisfy the end condition among ancestor resources of the resource 919 whose tag does not correspond to the resource 910 that satisfies the first condition and the resource 915 that satisfies the second condition Among them, since the resource closest to the resource 919 is the resource 915, the tag of the resource 915 is applied to the resource 919. On the other hand, since there is only the resource 910 that satisfies the first condition among resources that satisfy the end condition among the ancestor resources of the resource 912, the tag of the resource 910 is applied to the resource 912.
요컨대, 도 9에서 동일한 꼬리표가 적용되는 자원들은 동일한 패턴으로 칠해져 있는바, 통상의 기술자에게 도 8을 참조하여 설명된 권한 탐색의 방식이 이해될 것이다.In short, since resources to which the same tag is applied in FIG. 9 are painted with the same pattern, the method of rights search described with reference to FIG. 8 will be understood by those skilled in the art.
상기 특정 사용자의 권한을 되돌려줌(S400)은, 단계(S420) 다음으로 상기 탐색에 따라 획득된 상기 특정 꼬리표를 참조로 하여 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관하여 상기 특정 사용자의 권한을 결정하여 이를 되돌려주는 단계(S480)를 더 포함할 수 있다.Returning the authority of the specific user (S400), following the step (S420), with reference to the specific tag obtained according to the search, with respect to the first specific action for the second specific resource, the specific user's A step (S480) of determining the authority and returning it may be further included.
이제, 참조부호 S500에 관한 구체적인 설명을 위하여, 본 개시서의 구조화 문서 관리 방법에 따라 사용자의 권한을 획득하고 획득된 그 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 과정을 나타낸 도 10을 참조한다.Now, for a detailed description of reference numeral S500, FIG. 10 shows a process of acquiring 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 acquired authority. see
도 10을 참조하여 일 실시 예를 설명하면, 클라이언트(100')로부터 상기 사용자가 상기 제2 특정 액션, 및 그 제2 특정 액션의 대상으로서 선택(S530)된 상기 제3 특정 자원을 포함한 상기 액션 실행 요청이 획득(S540)되면, 액션 실행 모듈(460)은, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청(S550)을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 반환(S480)받아 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않은(S580) 후, 그 결과를 반환(S580)할 수 있다.Referring to an embodiment with reference to FIG. 10, the user from the client 100' takes the second specific action and the action including the third specific resource selected (S530) as a target of the second specific action. When the execution request is acquired (S540), the action execution module 460 sends an authorization confirmation request (S550) for the second specific action for the third specific resource of the user to the third specific resource. The user's authority for the second specific action may be returned (S480) and obtained, and the result may be returned (S580) after executing or not executing the second specific action according to the obtained authority (S580). there is.
사용자가 상기 제3 특정 자원 및 상기 제2 특정 액션을 선택할 수 있도록 그 선택(S530) 전에 상기 구조화 문서 전체를, 예컨대, 클라이언트(100')를 통하여 제공하여 보여주는 단계(S520)가 더 포함될 수도 있다.A step of providing and displaying the entire structured document through, for example, the client 100' (S520) may be further included before the selection (S530) 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 acquired at reference numeral S500 and the second specific action is executed or not executed according to the acquired authority, the above-described creation of a new resource (S200) also requests and obtains authority confirmation. After (S400), it goes without saying that the user can perform this (S200) only when the user has authority. Since the creation of structured documents and the creation of resources can be regarded as a kind of action, respectively, the structured document creation module 410 and the resource creation module 430 that perform each of them can also be integrated into the action execution module 460. , the example shown in FIG. 4 is a separate structured document creation module 410 and modules corresponding to generation of a structured document and generation of a resource, which are essential actions among actions performed by a more general-purpose action execution module 460. It may be interpreted that what is indicated by the resource generation module 430 is not passing.
지금까지 설명된 바에 비추어, 본 개시서의 구조화 문서 권한 관리 방법의 각 단계들(S100 내지 S500) 간에 필연적 선후 관계는 없다는 점이 통상의 기술자에게 이해될 것이다. 물론, 어느 구조화 문서에서 신규 자원을 생성(S200)하거나 특정 자원에 대한 꼬리표를 생성(S300)하거나 사용자의 자원에 대한 권한을 요청 및 획득(S400)하거나 자원에 관한 기타 액션을 수행(S500)하기 위해서는 그 구조화 문서 자체가 먼저 생성(S100)되어 존재하여야 할 것이므로 단계들(S200 내지 S500)에 비해 단계(S100)가 논리적으로 선행된다고 볼 수 있으나 이는 어느 하나의 구조화 문서에 대한 관계에서 그렇다는 것일 뿐, 서로 다른 구조화 문서들에 관하여는 어느 하나의 구조화 문서에 속한 자원의 수정이라는 액션을 수행(S500)한 후에 또 다른 구조화 문서의 신규 생성(S100)이 바로 이루어질 수 있는 바와 같이 본 발명 방법의 어느 단계도 반드시 선행하거나 후행한다고 볼 수 없으므로 본 개시서에서는 '단계(step)'라는 용어의 이용을 의도적으로 회피하였는바, 반드시 필요한 경우에서만 시계열적인 논리적 선후 관계가 존재한다고 할 것이다. 그러므로 통상의 기술자는 그렇지 않아야 할 당위성이 뒤따르지 않는 이상 전술된 모든 단계들이 그 표현된 숫자의 대소에 관계없이 서로 바뀔 수 있음을 이해할 것이다.In light of the above description, it will be appreciated by those skilled in the art that there is no necessary precedence relationship between the respective steps (S100 to S500) of the structured document rights management method of the present disclosure. Of course, in any structured document, creating a new resource (S200), creating a tag for a specific resource (S300), requesting and obtaining permission for a user's resource (S400), or performing other actions on a resource (S500) In order to do this, the structured document itself must first be generated (S100) and exist, so it can be seen that the step (S100) logically precedes the steps (S200 to S500), but this is only in relation to any one structured document. , For different structured documents, any of the methods of the present invention can be newly created (S100) of another structured document immediately after performing an action of modifying a resource belonging to one structured document (S500). Since steps 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, the person skilled in the art will understand that all the steps described above are interchangeable regardless of the magnitude of the expressed numerals, unless a compelling reason to do so follows.
본 발명에 의하면, 여러 부분들로 구성된 구조화 문서의 다수의 사용자에 의한 취급이 효율적이고 체계적으로 수행될 수 있으면서 그 구조에 충분한 가변성 혹은 유연성이 제공되며, 특히, 본 발명은 전형적이지 않은 액션들인 공유 및 기여 등에 관한 권한 설정을 가능하게 함으로써 다수 사용자들의 읽기/쓰기 접근, 이용 등에 대항하여 문서의 각 부분별 무결성(integrity), 재활용성(recyclability) 등을 유지해낼 수 있는 유리한 효과가 있다. According to the present invention, the handling by multiple users of a structured document composed of several parts can be carried out efficiently and systematically, while providing sufficient variability or flexibility to the structure, and in particular, the present invention provides for the sharing of actions that are not typical. There is an advantageous effect of maintaining integrity, recyclability, etc. of each part of the document against read/write access and use by multiple users by enabling permission settings for contribution and contribution.
본 개시서에 개시된 방법은 1회 수행될 수 있을 뿐만 아니라 사용자의 요구 또는 필요에 따라서 반복적으로, 간헐적 또는 지속적으로 수행될 수도 있음은 물론이다.Of course, the method disclosed in this disclosure may be performed not only once but also repeatedly, intermittently or continuously according to the user's request or need.
이상, 본 개시서의 다양한 실시 예들에 관한 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. Based on the description of various embodiments of the present disclosure, a person skilled in the art can determine the method and / or processes of the present invention, and the steps are hardware, software, or hardware and software suitable for a particular application. It can be clearly understood that any combination can be realized.
또한, 본 개시서를 읽은 오늘날의 통상의 기술자는 컴퓨팅 장치, 예를 들어, 워크스테이션, 개인용 컴퓨터, 휴대 단말 등을 통하여 제공될 수 있는 다양한 사용자 인터페이스에 익숙한바, 본 개시서에서 설명된 방법들을 이루는 개별 단계들(S100 내지 S500)에 대하여 통상의 기술자는 본 개시서의 방법에서 필요한, 사용자의 여러 조작을 가능하게 하는, 특히 본 개시서에서 설명된 구조화 문서를 이루는 개별 자원들의 내용, 예컨대, 텍스트, 사진, 날짜, 시간 등 다양한 형식의 데이터를 사용자로부터 입력받고 사용자에 대한 제공을 위하여 출력하는 등의 액션들의 수행에 필요한 다양한 사용자 인터페이스를 쉽게 상정할 수 있을 것이다.In addition, today's skilled person reading this disclosure is familiar with various user interfaces that may be provided through a computing device, for example, a workstation, a personal computer, a portable terminal, etc., making the methods described in this disclosure For the individual steps (S100 to S500), a person skilled in the art can perform various manipulations of the user necessary in the method of the present disclosure, particularly contents of individual resources constituting the structured document described in the present disclosure, such as text. Various user interfaces required for performing actions such as receiving various types of data such as , photos, dates, and times from the user and outputting them for provision to the user can be easily assumed.
상기 하드웨어 장치는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 프로그램 명령어를 저장하기 위한 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 device may include a general-purpose computer and/or a dedicated computing device or a specific computing device or a particular aspect or component of a specific computing device. The processes may be realized by a processor as described above, which is combined 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 use an application specific integrated circuit (ASIC), programmable gate array, such as a field programmable gate array (FPGA), programmable logic unit (PLU) or programmable array logic (Programmable Array Logic; PAL) or any other device capable of executing and responding to other instructions, any other device or combination of devices that may be configured to process electronic signals. A 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 software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a 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 exchanging signals with 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 the foregoing, and may independently or collectively configure a processing device to operate as desired. ) command to the processing unit. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on 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++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는 바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다. Furthermore, the subject matter of the technical solution of the present invention or parts contributing to the prior art may be implemented in the form of program instructions that can be executed through various computer components and recorded on a machine-readable medium. Machine-readable media may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on a machine-readable recording medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software. Examples of machine-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs, DVDs, and Blu-rays, and floptical 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 storage and compilation for execution on any one of the foregoing devices, as well as a heterogeneous combination of processors, processor architectures, or different combinations of hardware and software, or any other machine capable of executing program instructions. or 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 technologies) that can be interpreted. As it exists, it includes not only machine code and bytecode, but also high-level language code that can be executed by a computer using an interpreter.
따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.Therefore, in one aspect according to the present invention, when the above-described methods and combinations thereof are performed by one or more computing devices, the methods and combinations of methods may be implemented as executable code that performs each step. In another aspect, the method may be implemented as systems performing the steps, the methods may be distributed in several ways across devices or all functions may be integrated into one dedicated, stand-alone 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.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예들 및 도면에 의해 설명되었으나, 그 실시 예들의 특정한 구조적 또는 기능적 설명은 예시를 위한 목적으로 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 개시된 실시 예들에 본 발명이 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 형태의 수정 및 변형을 꾀할 수 있다.Although the present invention has been described above with specific details such as specific components and limited embodiments and drawings, specific structural or functional descriptions of the embodiments are provided for purposes 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 can make various modifications and variations from these descriptions.
따라서, 본 발명의 기술적 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 그 기술적 사상에 포함되는 변경 또는 대체물을 비롯하여 본 개시서에 첨부된 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들이 본 발명의 사상의 범주에 속한다고 할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Therefore, the technical idea of the present invention should not be limited to the above-described embodiments and should not be determined, and the claims attached to this disclosure, including changes or substitutes included in the technical idea, as well as the scope of this patent claim Or equivalently, all modifications will fall within the scope of the spirit of the present invention. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인 바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.Such equivalent or equivalent modifications will include, for example, logically equivalent methods that can produce the same results as those performed by the method according to the present invention. The scope should not be limited by the above examples, and should be understood in the broadest sense permitted by law.

Claims (15)

  1. 구조화 문서(structured document)에 포함된 자원들에 관한 권한을 꼬리표(tag)들로써 관리하는 방법에 있어서, A method for managing rights on resources included in a structured document as tags,
    상기 구조화 문서는, 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서를 포함하고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서를 선택적으로(optionally) 더 포함하며, 상기 구조화 문서에 포함된 모든 요소문서 각각은 내용으로서 적어도 하나의 기록을 포함하고, The structured document includes at least one top-level element document having a depth of 0, and optionally further includes at least one element document having a depth of 1 or more, and included in the structured document Each element document contains at least one record as content,
    상기 자원들은, 상기 구조화 문서, 및 상기 구조화 문서에 포함된 상기 모든 요소문서, 및 모든 상기 기록을 포함하고, 상기 자원들 각각은 수정된 횟수로서 정정 회차를 포함하되, The resources include the structured document, all the element documents included in the structured document, and all the records, each of the resources including a correction number as the number of times modified,
    상기 1 이상의 깊이를 가지는 상기 적어도 하나의 요소문서가 상기 구조화 문서 내에 포함되는 경우, 상기 구조화 문서는, 상기 구조화 문서 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각이 n-1의 깊이를 가지는 하나의 요소문서에 종속됨을 표시하는 각각의 종속 관계를 더 포함하며, When the at least one element document having a depth of 1 or more is included in the structured document, the structured document includes one element document having a depth of n-1 in each of all element documents having a depth n of 1 or more in the structured document. It further includes each dependency relationship indicating that it is dependent on the element document of,
    상기 자원들에 속한 개별 자원의 사용자는, 일반 사용자, 상기 개별 자원의 적어도 하나의 소유자, 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자를 포함하고, Users of individual resources belonging to the resources include a general user, at least one owner of the individual resource, and at least one specific user of 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, and authorization or prohibiting actions on the individual resource for the general user. a policy tag for authorization, and a permission tag for authorizing or forbidding actions on the individual resource for the at least one specific user;
    상기 방법은, The method,
    상기 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청에 응하여, 컴퓨팅 장치가, 상기 구조화 문서 및 상기 구조화 문서에 포함된 상기 최상위 요소문서를 생성하는 프로세스, 및 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표를 생성하는 프로세스를 수행함; 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 creation request from a user for generating the structured document, and corresponding to the top-level element document performing a process of generating the owner tag;
    상기 구조화 문서 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청에 응하여, 상기 컴퓨팅 장치가, 상기 신규 자원을 생성함; In response to a resource creation request, which is a request from a user, to create a new resource in the structured document, the computing device creates the new resource;
    상기 구조화 문서 내 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청에 응하여, 상기 컴퓨팅 장치가, 상기 제1 특정 자원에 대응하는 상기 정책 꼬리표 또는 상기 허가 꼬리표를 생성함; In response to a permission addition request, which is a request from a user, to add a permission 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. ;
    상기 구조화 문서 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청에 대한 응답으로서, 상기 컴퓨팅 장치가, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning); 및 In response to an authority confirmation request, which is a request for verifying authority of a specific user with respect to a first specific action for a second specific resource in the structured document, the computing device determines the first specific action for the second specific resource. returning the specific user's permission for an action; and
    상기 구조화 문서 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청에 응하여, 상기 컴퓨팅 장치가, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않음In response to an action execution request, which is a request from a user, for executing a second specific action for a third specific resource in the structured document, the computing device performs the second specific action for the third specific resource of the user. Obtain the user's authority for the second specific action for the third specific resource through an authority confirmation request for, and execute or not execute the second specific action according to the acquired authority
    을 포함하는, 구조화 문서 권한 관리 방법.Including, structured document rights management method.
  2. 제1항에 있어서, According to claim 1,
    (i) 상기 구조화 문서 및 상기 자원들과 (ii) 상기 꼬리표들은 상이한 정보 단위로서 저장소에서 보유 및 관리되는, 구조화 문서 권한 관리 방법.(i) the structured document and the resources and (ii) the tags are held and managed in a repository as different units of information.
  3. 제1항에 있어서, According to claim 1,
    상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 기여의 요청 및 기여의 반영을 포함하고, The actions related to the individual resource include a request for contribution and reflection of the contribution for the individual resource,
    상기 기여의 요청은, The request for contribution is
    상기 컴퓨팅 장치가, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 상기 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의해 접근 가능한 제1 사용자 인터페이스를 제공함으로써, 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이고, The computing device is a user who is permitted to create a new resource including the content modified from the individual resource and a correction cycle increased by 1 from the correction cycle of the individual resource, and to reflect the contribution to the individual resource. An action for determining whether to replace the individual resource by the new resource through the first user interface by providing a first user interface accessible by a contributor,
    상기 기여의 반영은, The reflection of the above contribution is,
    상기 컴퓨팅 장치가, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션인, 구조화 문서 권한 관리 방법.According to whether the individual resource is replaced by the new resource, the action of causing the computing device to replace the individual resource with the new resource or to maintain the individual resource in the structured document.
  4. 제1항에 있어서, According to claim 1,
    상기 개별 자원에 관한 상기 액션들은 상기 개별 자원에 대한 읽기를 포함하고, the actions on the individual resource include reading on the individual resource;
    상기 제2 특정 액션은, 상기 구조화 문서의 복제이며, The second specific action is duplication of the structured document,
    상기 구조화 문서의 복제는, Replication of the structured document,
    상기 컴퓨팅 장치가, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 단계, 및 A document duplication step in which the computing device creates a new structured document by duplicating replication target resources, which are the structured document or resources to which the user has been granted read rights, among all resources included in the structured document; and
    상기 컴퓨팅 장치가, 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 단계A tag inheritance step of, by the computing device, duplicating all tags corresponding to the replication target resources and applying them to the new structured document.
    를 포함하는 액션인, 구조화 문서 권한 관리 방법.An action comprising a, structured document rights management method.
  5. 제4항에 있어서, According to claim 4,
    상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 읽기, 및 상기 개별 자원에 대한 공유를 포함하고, The actions related to the individual resource include reading of the individual resource and sharing of the individual resource,
    상기 개별 자원에 대한 공유는, Sharing of the individual resources,
    상기 컴퓨팅 장치가, 상기 공유의 대상으로 지정된 사용자인 수용자(receiver)에 의해 접근 가능한 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 수용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하고, 상기 신규 구조화 문서의 최상위 요소문서의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서의 상기 최상위 요소 문서의 소유자 꼬리표를 생성 또는 수정하는 액션인, 구조화 문서 권한 관리 방법.If the computing device provides a second user interface accessible by a receiver, that is, a user designated as the sharing target, and whether or not the receiver accepts the individual resource determined through the second user interface is true, , Creating a new structured document by duplicating replication target resources, which are the structured document or resources to which the recipient has read permission, among all resources included in the structured document, and create a new structured document, and at least one of the uppermost element documents of the new structured document and an action of creating or modifying an owner tag of the top-level element document of the new structured document so that the owner includes the acceptor.
  6. 제1항에 있어서, According to claim 1,
    상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려줌(returning)은, Returning the specific user's authority for the first specific action for the second specific resource,
    상기 제2 특정 자원, 및 상기 제2 특정 자원의 조상 자원 중에서 상기 제1 특정 액션에 관하여 상기 특정 사용자에 적용되는 꼬리표로서, 상기 제2 특정 자원에 최근접인 자원의 꼬리표인, 특정 꼬리표를 탐색하는 단계; 및 Among the second specific resource and an ancestor resource of the second specific resource, a specific tag applied to the specific user with respect to the first specific action, which is a tag of a resource closest to the second specific resource, is searched for. doing; and
    상기 탐색에 따라 획득된 상기 특정 꼬리표에 따라 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 결정 및 되돌려주는 단계determining and returning the authority of the specific user with respect to the first specific action for the second specific resource according to the specific tag obtained according to the search;
    를 포함하는, 구조화 문서 권한 관리 방법.Including, structured document rights management method.
  7. 제6항에 있어서, According to claim 6,
    상기 특정 꼬리표를 탐색하는 단계에서, 상기 탐색은, In the step of searching for the specific tag, the search,
    상기 특정 꼬리표가 소유자 꼬리표이고, 상기 특정 사용자가 상기 특정 꼬리표에 대응하는 상기 적어도 하나의 소유자에 속하는 제1 조건, a first condition, wherein the particular tag is an owner tag, and the particular user belongs to the at least one owner corresponding to the particular tag;
    상기 특정 꼬리표가 정책 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 권한이 부여 또는 금지된 제2 조건, 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;
    상기 특정 꼬리표가 허가 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한이 부여 또는 금지된 제3 조건, 또는 a third condition in which the specific tag is a permission tag, and the specific user is granted or prohibited with respect to the first specific action by the specific tag; or
    상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 상기 최근접인 자원의 꼬리표가 존재하지 않는 제4 조건A fourth condition in which a tag of the nearest resource that satisfies the first condition, the second condition, and the third condition does not exist.
    을 종료 조건으로 하되, 상기 제4 조건에 대해 상기 제3 조건이 우선 적용되고, 상기 제3 조건에 대해 상기 제2 조건이 우선 적용되며, 상기 제2 조건에 대해 상기 제1 조건이 우선 적용되는, 구조화 문서 권한 관리 방법.As an end condition, 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.
  8. 컴퓨팅 장치로 하여금, 제1항 내지 제7항 중 어느 한 항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는, 기계 판독 가능한 기록 매체에 저장된, 컴퓨터 프로그램.A computer program, stored in a machine-readable recording medium, comprising instructions implemented to cause a computing device to perform the method of any one of claims 1 to 7.
  9. 구조화 문서(structured document)에 포함된 자원들에 관한 권한을 꼬리표(tag)들로써 관리하는 컴퓨팅 장치에 있어서, A computing device that manages rights to resources included in a structured document as tags,
    상기 구조화 문서는, 0의 깊이(depth)를 가지는 적어도 하나의 최상위의 요소문서를 포함하고, 1 이상의 깊이를 가지는 적어도 하나의 요소문서를 선택적으로(optionally) 더 포함하며, 상기 구조화 문서에 포함된 모든 요소문서 각각은 내용으로서 적어도 하나의 기록을 포함하고, The structured document includes at least one top-level element document having a depth of 0, and optionally further includes at least one element document having a depth of 1 or more, and included in the structured document Each element document contains at least one record as content,
    상기 자원들은, 상기 구조화 문서, 및 상기 구조화 문서에 포함된 상기 모든 요소문서, 및 모든 상기 기록을 포함하고, 상기 자원들 각각은 수정된 횟수로서 정정 회차를 포함하되, The resources include the structured document, all the element documents included in the structured document, and all the records, each of the resources including a correction number as the number of times modified,
    상기 1 이상의 깊이를 가지는 상기 적어도 하나의 요소문서가 상기 구조화 문서 내에 포함되는 경우, 상기 구조화 문서는, 상기 구조화 문서 내에서 1 이상의 깊이 n을 가지는 모든 요소문서 각각이 n-1의 깊이를 가지는 하나의 요소문서에 종속됨을 표시하는 각각의 종속 관계를 더 포함하며, When the at least one element document having a depth of 1 or more is included in the structured document, the structured document includes one element document having a depth of n-1 in each of all element documents having a depth n of 1 or more in the structured document. It further includes each dependency relationship indicating that it is dependent on the element document of,
    상기 자원들에 속한 개별 자원의 사용자는, 일반 사용자, 상기 개별 자원의 적어도 하나의 소유자, 및 상기 개별 자원에 대한 적어도 하나의 특정 사용자를 포함하고, Users of individual resources belonging to the resources include a general user, at least one owner of the individual resource, and at least one specific user of 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, and authorization or prohibiting actions on the individual resource for the general user. a policy tag for authorization, and a permission tag for authorizing or forbidding actions on the individual resource for the at least one specific user;
    상기 컴퓨팅 장치는, The computing device,
    (i) 상기 구조화 문서를 생성하기 위한, 사용자로부터의 요청인 구조화 문서 생성 요청, (ii) 상기 구조화 문서 내에 신규 자원을 생성하기 위한, 사용자로부터의 요청인 자원 생성 요청, (iii) 상기 구조화 문서 내 제1 특정 자원에 대한 권한을 추가하기 위한, 사용자로부터의 요청인 권한 추가 요청, (iv) 상기 구조화 문서 내 제2 특정 자원에 대한 제1 특정 액션에 관한 특정 사용자의 권한을 확인하기 위한 요청인 권한 확인 요청, 및 (v) 상기 구조화 문서 내 제3 특정 자원에 대하여 제2 특정 액션을 실행하기 위한, 사용자로부터의 요청인 액션 실행 요청을 획득하는 통신부; 및 (i) a structured document creation request, which is a request from a user to create the structured document, (ii) a resource creation request, which is a request from a user to create a new resource in the structured document, (iii) the structured document A permission addition request, which is a request from a user, for adding a permission for a first specific resource within the structured document, (iv) a request for confirming a specific user's permission for a first specific action for a second specific resource within 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 with respect to a third specific resource within the structured document; and
    상기 구조화 문서 생성 요청에 응하여, 상기 구조화 문서 및 상기 구조화 문서에 포함된 상기 최상위 요소문서를 생성하는 부프로세스, 및 상기 최상위 요소문서에 대응하는 상기 소유자 꼬리표를 생성하는 부프로세스를 수행하는 프로세스, 상기 자원 생성 요청에 응하여, 상기 신규 자원을 생성하는 프로세스, 상기 권한 추가 요청에 응하여, 상기 제1 특정 자원에 대응하는 상기 정책 꼬리표 또는 상기 허가 꼬리표를 생성하는 프로세스, 상기 권한 확인 요청에 대한 응답으로서, 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려주는 프로세스, 및 상기 액션 실행 요청에 응하여, 상기 사용자의 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 권한 확인 요청을 통하여 상기 제3 특정 자원에 대한 상기 제2 특정 액션에 관한 상기 사용자의 권한을 획득하고, 획득된 상기 권한에 따라 상기 제2 특정 액션을 실행하거나 실행하지 않는 프로세스를 수행하는 프로세서A process for performing a sub-process 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 the structured document generation request; In response to a resource creation request, a 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, as a response to the permission confirmation request, A process of returning the specific user's authority for the first specific action for the second specific resource, and the authority for the second specific action for the third specific resource of the user in response to the action execution request A processor that obtains the user's authority for the second specific action for 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.
  10. 제9항에 있어서, According to claim 9,
    (i) 상기 구조화 문서 및 상기 자원들과 (ii) 상기 꼬리표들은 상이한 정보 단위로서 저장소에서 보유 및 관리되는, 구조화 문서 권한 관리 장치.(i) the structured document and the resources and (ii) the tags are held and managed in a repository as different information units.
  11. 제9항에 있어서, According to claim 9,
    상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 기여의 요청 및 기여의 반영을 포함하고, The actions related to the individual resource include a request for contribution and reflection of the contribution for the individual resource,
    상기 기여의 요청은, The request for contribution is
    상기 프로세서가, 상기 개별 자원으로부터 수정된 내용, 및 상기 개별 자원의 정정 회차보다 1만큼 증가된 정정 회차를 포함하는 신규 자원을 생성하고, 상기 개별 자원에 대한 상기 기여의 반영이 허가된 사용자인 기여 반영자에 의해 접근 가능한 제1 사용자 인터페이스를 제공함으로써, 상기 기여 반영자로 하여금 상기 제1 사용자 인터페이스를 통하여 상기 신규 자원에 의한 상기 개별 자원의 대체 여부를 결정하게 하는 액션이고, The processor creates a new resource including the contents modified from the individual resource and a correction cycle increased by 1 from the correction cycle of the individual resource, and a user who is permitted to reflect the contribution to the individual resource is a contribution. An action that allows the contributing reflector to determine whether to replace the individual resource by the new resource through the first user interface by providing a first user interface accessible by the reflector,
    상기 기여의 반영은, The reflection of the above contribution is,
    상기 프로세서가, 상기 신규 자원에 의한 상기 개별 자원의 대체 여부에 따라, 상기 구조화 문서 내에서 상기 신규 자원이 상기 개별 자원을 대체하거나 상기 개별 자원을 유지하게 하는 액션인, 구조화 문서 권한 관리 장치.Wherein the processor is an action of causing the new resource to replace the individual resource or to maintain the individual resource in the structured document according to whether the individual resource is replaced by the new resource.
  12. 제9항에 있어서, According to claim 9,
    상기 개별 자원에 관한 상기 액션들은 상기 개별 자원에 대한 읽기를 포함하고, the actions on the individual resource include reading on the individual resource;
    상기 제2 특정 액션은, 상기 구조화 문서의 복제이며, The second specific action is duplication of the structured document,
    상기 구조화 문서의 복제는, Replication of the structured document,
    상기 프로세서가, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 사용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하는 문서 복제 부프로세스, 및 A document duplication sub-process in which the processor creates a new structured document by copying replication target resources, which are the structured document or resources to which the user has been granted read permission among all resources included in the structured document, and
    상기 프로세서가, 상기 복제 대상 자원들에 대응하는 모든 꼬리표들을 복제하여 상기 신규 구조화 문서에 적용하는 꼬리표 상속 부프로세스A tag inheritance sub-process in which the processor copies all tags corresponding to the replication target resources and applies them to the new structured document
    를 포함하는 부프로세스들을 수행하는 액션인, 구조화 문서 권한 관리 장치.An action for performing sub-processes including a structured document rights management device.
  13. 제12항에 있어서, According to claim 12,
    상기 개별 자원에 관한 상기 액션들은, 상기 개별 자원에 대한 읽기, 및 상기 개별 자원에 대한 공유를 포함하고, The actions related to the individual resource include reading of the individual resource and sharing of the individual resource,
    상기 개별 자원에 대한 공유는, Sharing of the individual resources,
    상기 프로세서가, 상기 공유의 대상으로 지정된 사용자인 수용자(receiver)에 의해 접근 가능한 제2 사용자 인터페이스를 제공하되, 상기 제2 사용자 인터페이스를 통하여 결정된 상기 개별 자원에 대한 상기 수용자의 수락 여부가 참이면, 상기 구조화 문서이거나 상기 구조화 문서에 포함되는 모든 자원들 중에서 상기 수용자에게 읽기 권한이 부여된 자원들인 복제 대상 자원들을 복제하여 신규 구조화 문서를 생성하고, 상기 신규 구조화 문서의 최상위 요소문서의 적어도 하나의 소유자에 상기 수용자가 포함되도록 상기 신규 구조화 문서의 상기 최상위 요소 문서의 소유자 꼬리표를 생성 또는 수정하는 액션인, 구조화 문서 권한 관리 장치.The processor provides a second user interface accessible by a receiver, which is a user designated as the sharing target, and if it is true that the receiver accepts the individual resource determined through the second user interface, A new structured document is created by duplicating replication target resources, which are the structured document or resources to which the recipient has read permission, among all resources included in the structured document, and at least one owner of a top-level element document of the new structured document An action of generating or modifying an owner tag of the top-level element document of the new structured document so that the acceptor is included in the structured document rights management device.
  14. 제9항에 있어서, According to claim 9,
    상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 되돌려주는 프로세스는, The process of returning the authority of the specific user for the first specific action for the second specific resource,
    상기 제2 특정 자원, 및 상기 제2 특정 자원의 조상 자원 중에서 상기 제1 특정 액션에 관하여 상기 특정 사용자에 적용되는 꼬리표로서, 상기 제2 특정 자원에 최근접인 자원의 꼬리표인, 특정 꼬리표를 탐색하는 부프로세스; 및 Among the second specific resource and an ancestor resource of the second specific resource, a specific tag applied to the specific user with respect to the first specific action, which is a tag of a resource closest to the second specific resource, is searched for. sub-process; and
    상기 탐색에 따라 획득된 상기 특정 꼬리표에 따라 상기 제2 특정 자원에 대한 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한을 결정 및 되돌려주는 부프로세스A sub-process for determining and returning the authority of the specific user for the first specific action for the second specific resource according to the specific tag obtained according to the search.
    를 포함하는, 구조화 문서 권한 관리 장치.Including, structured document rights management device.
  15. 제14항에 있어서, According to claim 14,
    상기 특정 꼬리표를 탐색하는 프로세스에서, In the process of searching for the specific tag,
    상기 탐색은, The search is
    상기 특정 꼬리표가 소유자 꼬리표이고, 상기 특정 사용자가 상기 특정 꼬리표에 대응하는 상기 적어도 하나의 소유자에 속하는 제1 조건, a first condition, wherein the particular tag is an owner tag, and the particular user belongs to the at least one owner corresponding to the particular tag;
    상기 특정 꼬리표가 정책 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 권한이 부여 또는 금지된 제2 조건, 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;
    상기 특정 꼬리표가 허가 꼬리표이고, 상기 특정 꼬리표에 의하여 상기 제1 특정 액션에 관한 상기 특정 사용자의 권한이 부여 또는 금지된 제3 조건, 또는 a third condition in which the specific tag is a permission tag, and the specific user is granted or prohibited with respect to the first specific action by the specific tag; or
    상기 제1 조건, 상기 제2 조건 및 상기 제3 조건을 만족하는 상기 최근접인 자원의 꼬리표가 존재하지 않는 제4 조건A fourth condition in which a tag of the nearest resource that satisfies the first condition, the second condition, and the third condition does not exist.
    을 종료 조건으로 하되, 상기 제4 조건에 대해 상기 제3 조건이 우선 적용되고, 상기 제3 조건에 대해 상기 제2 조건이 우선 적용되며, 상기 제2 조건에 대해 상기 제1 조건이 우선 적용되는, 구조화 문서 권한 관리 장치.As an end condition, 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 device.
PCT/KR2022/005338 2022-02-11 2022-04-13 Method for managing authority over resources included in structured document, and apparatus using same WO2023153558A1 (en)

Applications Claiming Priority (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
KR10-2022-0018238 2022-02-11

Publications (1)

Publication Number Publication Date
WO2023153558A1 true WO2023153558A1 (en) 2023-08-17

Family

ID=81183834

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (2)

Country Link
KR (1) KR102381539B1 (en)
WO (1) WO2023153558A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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
CN117807619B (en) * 2024-03-01 2024-05-14 中国人民解放军国防科技大学 Uniform authority control method for unstructured data and structured data

Citations (6)

* Cited by examiner, † Cited by third party
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
US20170124258A1 (en) * 2015-11-04 2017-05-04 Mmodal Ip Llc Dynamic De-Identification of Healthcare Data
KR102381539B1 (en) * 2022-02-11 2022-04-01 (주) 바우디움 Method for managing privileges on resources contained in a structured document and apparatus using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323850B1 (en) 2012-05-30 2016-04-26 Google Inc. Potential social recipient ranking for maximal viral content distribution

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
US20170124258A1 (en) * 2015-11-04 2017-05-04 Mmodal Ip Llc Dynamic De-Identification of Healthcare Data
KR102381539B1 (en) * 2022-02-11 2022-04-01 (주) 바우디움 Method for managing privileges on resources contained in a structured document and apparatus using the same

Also Published As

Publication number Publication date
KR102381539B1 (en) 2022-04-01

Similar Documents

Publication Publication Date Title
WO2023153558A1 (en) Method for managing authority over resources included in structured document, and apparatus using same
US10747893B2 (en) Device and method for determining content of access control of data
US10614233B2 (en) Managing access to documents with a file monitor
US7574745B2 (en) Information processing apparatus, information processing method, computer-readable medium having information processing program embodied therein, and resource management apparatus
US8799822B2 (en) Information processing apparatus, and display control method
US20120166442A1 (en) Categorizing data to perform access control
US20200120104A1 (en) Proxy authorization of a network device
US10410003B2 (en) Multiple containers assigned to an application
US10013570B2 (en) Data management for a mass storage device
JP2012022461A (en) Object duplication control device and program
WO2020232158A1 (en) System and methods for securely storing data for efficient access by cloud-based computing instances
JP7040800B2 (en) Architecture, methods and equipment for collecting and displaying computer file metadata
WO2023132422A1 (en) Method for managing user's plan on basis of structured document, and device using same
CN104050207B (en) Information processing unit and file management system
WO2023200060A1 (en) Method for managing obtainable resources and apparatus using same
JP2019016146A (en) Job sharing permission device, job sharing permission method and job sharing permission program
JP2007034933A (en) Document update method in document management system
WO2023058832A1 (en) Method for managing guidance document, action document, and proposal document, and apparatus using same
JP2005332049A (en) Policy-conversion method, policy-shifting method, and policy-evaluating method
WO2015183016A1 (en) Data processing device and method for checking data recorded on memory of data processing device
WO2024101843A1 (en) Data governance system and data management method for data governance system
KR102513228B1 (en) Electronic apparatus that can automatically convert and migrate the display format of data according to data conversion rules and the operating method thereof
US11983580B2 (en) Real-time modification of application programming interface behavior
US11916914B2 (en) At least one information processing apparatus, information processing system, and permission granting method
WO2021131456A1 (en) Data management computer and data management method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22926156

Country of ref document: EP

Kind code of ref document: A1