KR100808143B1 - XML data stream processing system and method for managing the access control using XPath - Google Patents

XML data stream processing system and method for managing the access control using XPath Download PDF

Info

Publication number
KR100808143B1
KR100808143B1 KR1020060032331A KR20060032331A KR100808143B1 KR 100808143 B1 KR100808143 B1 KR 100808143B1 KR 1020060032331 A KR1020060032331 A KR 1020060032331A KR 20060032331 A KR20060032331 A KR 20060032331A KR 100808143 B1 KR100808143 B1 KR 100808143B1
Authority
KR
South Korea
Prior art keywords
access control
control rule
query
user
data stream
Prior art date
Application number
KR1020060032331A
Other languages
Korean (ko)
Other versions
KR20070057603A (en
Inventor
김병섭
최현화
이미영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20070057603A publication Critical patent/KR20070057603A/en
Application granted granted Critical
Publication of KR100808143B1 publication Critical patent/KR100808143B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템 및 그 방법에 관한 것임.The present invention relates to an XML data stream processing system and method having an access control function using Xpass.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 엑스엠엘 질의어인 엑스패스(XPath)를 이용하여 엑스엠엘 데이터 처리시의 접근 제어 규칙을 정의하고, 상기 정의한 엑스패스(XPath) 접근 제어 규칙을 이용하여 엑스엠엘 데이터 스트림 전체, 스트림의 엘리먼트 구조 및 스트림의 특정 엘리먼트의 값에 대한 사용자별 접근 제어를 손쉽게 수행할 수 있도록 하기 위한, 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템 및 그 방법을 제공하는데 그 목적이 있음.The present invention defines an access control rule when processing XML data using XPath, which is an XML query word, and uses the XPath access control rule to define an entire element of the XML data stream and elements of the stream. An object of the present invention is to provide an XM data stream processing system and method having an access control function using X-pass to easily perform user-specific access control on a value of a specific element of a structure and a stream.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 엑스엠엘 데이터 스트림 처리 시스템에 있어서, 사용자를 등록, 삭제하고 사용자 정보를 제공하기 위한 사용자 관리 수단; 엑스엠엘 데이터 스트림에 대한 규격을 정의한 스키마를 등록, 삭제하고 스키마 정보를 제공하기 위한 스키마 관리 수단; 각 스키마에 대한 권한을 사용자별로 부여, 철회하고 엑스패스 형태의 사용자 권한 정보를 제공하기 위한 권한 관리 수단; 및 외부로부터 입력받는 엑스엠엘 데이터 스트림에 대한 사용자 질의를 파싱한 후, 상기 스키마 관리 수단으로부터의 스키마 정보를 이용하여 스키마의 구조 및 타입에 정당한 질의인지의 여부를 검증하고, 상기 권한 관리 수단으로부터의 사용자 권한 정보를 이용하여 접근 가능 여부를 검증하여, 정당한 질의이고 접근 가능함에 따라 질의를 처리하기 위한 스트림 질의 처리 수단을 포함한다.According to an aspect of the present invention, there is provided an XML data stream processing system comprising: user management means for registering and deleting a user and providing user information; Schema management means for registering, deleting a schema defining a standard for an XML data stream and providing schema information; Authority management means for granting and withdrawing authority for each schema for each user and providing user authority information in the form of X-pass; And parsing a user query for an XML data stream received from the outside, and verifying whether the query is valid in the structure and type of the schema using the schema information from the schema management means, and Stream query processing means for verifying the accessibility using the user authority information and processing the query as it is a legitimate query and accessible.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 엑스엠엘 데이터 스트림 처리 시스템 등에 이용됨.The present invention is used for XML data stream processing system.

엑스엠엘 데이터 스트림, 접근 제어 규칙, 엑스패스, 엑스엠엘 데이터 스트림 처리 시스템 XL Data Stream, Access Control Rules, XPASS, XL Data Stream Processing System

Description

엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템 및 그 방법{XML data stream processing system and method for managing the access control using XPath}XML data stream processing system and method for managing the access control using XPath}

도 1 은 본 발명에 따른 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템의 일실시예 전체 구성도,1 is a block diagram of an embodiment of an XML data stream processing system having an access control function using Xpass according to the present invention;

도 2 는 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서의 모듈별 동작에 대한 일실시예 상세 구성도,2 is a detailed configuration diagram of an embodiment of a module-specific operation in an XML data stream processing system according to the present invention;

도 3 은 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서 엑스패스로 정의된 접근 제어 규칙의 동적 반영에 대한 일실시예 설명도,3 is a diagram illustrating an embodiment of dynamic reflection of an access control rule defined as X-pass in an XML data stream processing system according to the present invention;

도 4 는 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서 엑스패스를 이용한 사용자 권한 부여 과정에 대한 일실시예 흐름도,4 is a flowchart illustrating an embodiment of a user authorization process using Xpass in an XML data stream processing system according to the present invention;

도 5 는 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서 스트림 질의 처리시 엑스패스를 이용한 접근 제어 방법에 대한 일실시예 흐름도이다.FIG. 5 is a flowchart illustrating an access control method using X-pass when processing a stream query in an XML data stream processing system according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

101 : 무선인식 리더 102 : 센서101: wireless reader 102: sensor

103 : 엑스엠엘 스트림 100 : 엑스엠엘 데이터 스트림 처리 시스템103: XLM Stream 100: XLM Data Stream Processing System

110 : 사용자 관리기 120 : 스키마 관리기110: user manager 120: schema manager

130 : 권한 관리기 131 : 접근 제어 규칙 정당성 검증 모듈130: authority manager 131: access control rule validity verification module

132 : 접근 제어 규칙 관리 모듈132: access control rule management module

140 : 스트림 질의 처리기 141 : 엑스쿼리 파서140: Stream Query Processor 141: XQuery Parser

142 : 정당성 검증 모듈 143 : 구문 수행 모듈142: validity verification module 143: syntax execution module

본 발명은 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 엑스패스(XPath)를 이용하여 정의한 접근 제어 규칙을 엑스엠엘(XML) 데이터 스트림 처리시에 적용시킴으로써, 엑스엠엘 데이터 스트림에 대한 사용자별 접근 제어를 용이하게 관리할 수 있도록 하기 위한, 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템 및 그 방법에 관한 것이다.The present invention relates to an XML data stream processing system having an access control function using XPath, and more particularly, to an XML data stream processing of access control rules defined using XPath. The present invention relates to an XML data stream processing system and method having an access control function using Xpass for easily managing user-specific access control to an XML data stream.

최근 인터넷, 센서 네트워크, 유비쿼터스 등의 발달로 엑스엠엘(XML) 정보의 사용이 확대되고 있다. 이에 따라, 엑스엠엘 문서에 대한 사용자 질의 처리뿐만 아니라 엑스엠엘 데이터 스트림에 대한 질의 처리 요구가 점점 증가하고 있는 상황이다. 아울러, 이러한 엑스엠엘 데이터 스트림에 대한 질의 처리시에 사용자 및 응용 별로 접근할 수 있는 스트림 대상을 제어할 수 있는 기술이 요구되고 있다.Recently, with the development of the Internet, sensor networks, and ubiquitous, the use of XML information is expanding. Accordingly, there is an increasing demand for query processing on the XML data stream as well as user query processing on the XML document. In addition, there is a demand for a technology capable of controlling a stream object accessible to each user and application when processing a query for the XML data stream.

종래의 엑스엠엘 데이터 스트림 처리 시스템은 입력 데이터 스트림의 규격을 위하여 DTD(Document Type Definition) 혹은 엑스엠엘 스키마(XML Schema)를 이용하고, 사용자는 이 스키마를 대상으로 스트림에 대한 엑스엠엘 질의어, 예를 들면 엑큐엘(XQL), 엑스패스(XPath), 엑스쿼리(XQuery) 등을 사용하여 원하는 결과를 엑스엠엘 데이터 스트림으로부터 제공받는다.The conventional XML data stream processing system uses DTD (Document Type Definition) or XML Schema (XML Schema) for the specification of the input data stream, and the user uses the XM query language for the stream, for example, For example, XQL, XPath, XQuery, etc. are used to receive the desired result from the XML data stream.

그런데, 상기 종래 기술에 따른 엑스엠엘 데이터 스트림 처리 시스템은 엑스엠엘 데이터 스트림에 대한 질의 처리 기술만을 제공하고 있을 뿐, 엑스엠엘 데이터 스트림에 대한 접근 제어 방안을 제공하지 못하는 문제점이 있었다. 여기서, 예를 들어 구체적인 선행 기술을 살펴보면 다음과 같다.However, the XML data stream processing system according to the prior art provides only a query processing technique for the XML data stream, and there is a problem in that it does not provide an access control method for the XML data stream. Here, for example, look at the specific prior art as follows.

제1 선행기술로서, 미합중국 공개특허 "엑스패스를 사용한 엑스엠엘 데이터 스트림에 대한 질의 처리(Streaming XML data retrieval using XPath(공개번호 20050203957, 공개일 2005.9.15)"에 대하여 살펴보면, 이벤트 기반 파서를 이용하여 입력 엑스엠엘 데이터 스트림을 파싱하여 발생하는 이벤트에 따라 사용자가 등록한 스트림 질의 엑스패스들을 탐색하여 매칭된(matched) 노드를 생성하여 스트림 처리를 수행함으로써, 엑스엠엘 데이터 스트림 처리시 성능을 개선할 수 있도록 한다.As a first prior art, the US Patent Publication "Streaming XML data retrieval using XPath (published number 20050203957, published date 2005.9.15)", the event-based parser As a result of parsing the input XML data stream, the user can search the stream query X-passes registered by the user and generate a matched node to perform the stream processing, thereby improving performance when the XML data stream is processed. Make sure

즉, 엑스엠엘 파싱을 위해 사용되고 있는 돔(DOM) 파서가 대량의 엑스엠엘 스트림 처리시 트리 유지를 위한 메모리 사용량에 있어서 문제를 일으키고, 이벤트 기반의 삭스(SAX : Simple API for XML) 파서 혹은 스택스(StAX : Streaming API for XML) 파서가 구조 정보가 손실되는 문제를 일으키는 것에 반해, 이러한 문제점을 해결하기 위하여 상기 제1 선행기술은 엑스엠엘 익스트랙터(XML Extractor)를 이용하여 엑스엠엘 데이터 스트림 처리시 성능을 개선할 수 있도록 한다. In other words, the Dom parser used for XML parsing causes problems in memory usage to maintain a tree when processing a large amount of XML streams, and an event-based SAX (Simple API for XML) parser or stacks. (StAX: Streaming API for XML) While the parser causes a problem that the structure information is lost, the first prior art to solve this problem is to process the XML data stream using the XML Extractor (XML Extractor) To improve performance.

그런데, 상기 제1 선행기술은 엑스엠엘 데이터 스트림에 대한 질의 처리 방식에 관련된 기술로서, 엑스엠엘 데이터 스트림 처리시 엑스엠엘 스트림 및 스트림의 구조에 대한 접근 제어가 불가능한 문제점이 있었다.However, the first prior art is a technology related to a query processing method for the XML data stream, and there is a problem that access control to the structure of the XML stream and the stream is impossible when the XML data stream is processed.

또한, 제2 선행기술로서 논문 명칭 "Specifying Access Control Policies for XML Documents with XPath(Proceedings of the ninth ACM symposium control models and technologies, June 2-4, 2004 게재)"에 대하여 살펴보면, 정형화된 엑스패스를 사용한 엑스엠엘 문서에 대한 접근 제어 및 타당성을 제공하기 위하여 특정 스키마 및 엑스엠엘 문서를 대상으로 엑스패스를 사용한 엑스엠엘 문서의 접근 제어 규칙을 관리하여 특정 스키마를 준수하는 모든 엑스엠엘 문서 및 문서 내부의 구조에 대한 접근 제어를 수행함으로써, 엑스엠엘 문서 및 문서 내부 구조에 대한 접근 제어가 가능하도록 하는 효과가 있다.Also, as a second prior art, the article titled "Specifying Access Control Policies for XML Documents with XPath (Proceedings of the ninth ACM symposium control models and technologies, June 2-4, 2004)", In order to provide access control and validity for XML documents, the management of access control rules of XML documents using XPass for specific schemas and XML documents, and the structure of all XML documents and documents complying with a specific schema By performing the access control on the, there is an effect to enable the access control to the XML document and the document internal structure.

그런데, 상기 제2 선행기술은 엑스엠엘 문서 및 문서 내부 구조에 대한 접근 제어만 가능할 뿐, 최근 그 데이터량이 급격히 늘고 있는 엑스엠엘 데이터 스트림에 대한 질의 처리시에는 그의 접근 제어가 불가능한 문제점이 있었다.By the way, the second prior art can only control access to the XML document and the document internal structure, and there is a problem in that access control is impossible at the time of query processing of the XML data stream whose data volume is rapidly increasing.

본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 엑스엠엘 질의어 인 엑스패스(XPath)를 이용하여 엑스엠엘 데이터 처리시의 접근 제어 규칙을 정의하고, 상기 정의한 엑스패스(XPath) 접근 제어 규칙을 이용하여 엑스엠엘 데이터 스트림 전체, 스트림의 엘리먼트 구조 및 스트림의 특정 엘리먼트의 값에 대한 사용자별 접근 제어를 손쉽게 수행할 수 있도록 하기 위한, 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and defines an access control rule when processing the XL data using XPath, an XML query word, and uses the defined XPath access control rule. XML data stream processing system having an access control function using Xpass to easily perform user-specific access control on the entire XML data stream, the element structure of the stream, and the value of a specific element of the stream. The purpose is to provide a method.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명의 장치는, 엑스엠엘 데이터 스트림 처리 시스템에 있어서, 사용자를 등록, 삭제하고 사용자 정보를 제공하기 위한 사용자 관리 수단; 엑스엠엘 데이터 스트림에 대한 규격을 정의한 스키마를 등록, 삭제하고 스키마 정보를 제공하기 위한 스키마 관리 수단; 각 스키마에 대한 권한을 사용자별로 부여, 철회하고 엑스패스 형태의 사용자 권한 정보를 제공하기 위한 권한 관리 수단; 및 외부로부터 입력받는 엑스엠엘 데이터 스트림에 대한 사용자 질의를 파싱한 후, 상기 스키마 관리 수단으로부터의 스키마 정보를 이용하여 스키마의 구조 및 타입에 정당한 질의인지의 여부를 검증하고, 상기 권한 관리 수단으로부터의 사용자 권한 정보를 이용하여 접근 가능 여부를 검증하여, 정당한 질의이고 접근 가능함에 따라 질의를 처리하기 위한 스트림 질의 처리 수단을 포함한다.According to an aspect of the present invention, there is provided an XML data stream processing system comprising: user management means for registering and deleting a user and providing user information; Schema management means for registering, deleting a schema defining a standard for an XML data stream and providing schema information; Authority management means for granting and withdrawing authority for each schema for each user and providing user authority information in the form of X-pass; And parsing a user query for an XML data stream received from the outside, and verifying whether the query is valid in the structure and type of the schema using the schema information from the schema management means, and Stream query processing means for verifying the accessibility using the user authority information and processing the query as it is a legitimate query and accessible.

한편, 상기 목적을 달성하기 위한 본 발명의 방법은, 엑스패스를 이용한 접근 제어 방법에 있어서, 사용자별 권한 확인을 위한 접근 제어 규칙을 정의하는 접근 제어 규칙 정의 단계; 현 세션으로부터 사용자 정보를 획득하는 사용자 확인 단계; 외부로부터 사용자 질의를 입력받는 질의 입력 단계; 상기 입력받은 사용자 질의를 파싱하여 엑스쿼리 파스 트리를 생성하는 파싱 단계; 상기 생성한 엑스쿼리 파스 트리를 순회하면서 스키마 정보를 이용하여 스키마의 구조 및 타입에 정당한 질의인지의 여부를 검증하고, 사용자 권한 정보를 이용하여 접근 가능 여부를 검증하는 정당성 검증 단계; 및 상기 정당성 검증이 성공함에 따라, 상기 입력받은 사용자 질의를 처리하여 그 결과를 외부로 제공하는 질의 처리 단계를 포함한다.On the other hand, the method of the present invention for achieving the above object, In the access control method using X-pass, access control rule definition step of defining an access control rule for user-specific authorization check; A user confirmation step of obtaining user information from the current session; A query input step of receiving a user query from an external source; A parsing step of parsing the received user query to generate an XQuery parse tree; A validity verification step of verifying whether the query is valid for the structure and type of the schema by using the schema information while traversing the generated query pars tree, and verifying the accessibility using the user authority information; And a query processing step of processing the received user query and providing the result to the outside as the validity verification succeeds.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명에 따른 엑스패스를 이용한 접근 제어 기능을 가지는 엑스엠엘 데이터 스트림 처리 시스템의 일실시예 전체 구성도이다.FIG. 1 is a block diagram illustrating an entire embodiment of an XML data stream processing system having an access control function using Xpass according to the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 엑스패스를 이용한 접근 제어 기 능을 가지는 엑스엠엘 데이터 스트림 처리 시스템은, 엑스엠엘 데이터 스트림에 대한 접근 제어시 현 세션의 사용자 정보를 제공하기 위한 사용자 관리기(110), 외부로부터 입력되는 스트림(즉, 엑스엠엘 데이터 스트림)의 규격을 제공하여 접근 제어 규칙의 정의시 대상 스트림, 스트림의 구조 및 스트림의 특정 엘리먼트의 타입 등과 같은 각종 정보를 제공하기 위한 스키마 관리기(120), 상기 사용자 관리기(110) 및 스키마 관리기(120)를 이용하여 각 사용자에 대하여 특정 스트림, 스트림의 구조 및 엘리먼트의 값의 조건에 대한 접근 권한을 부여하기 위한 권한 관리기(130), 사용자 질의어를 파싱하고, 상기 권한 관리기(130)의 접근 권한 정보를 이용하여 현 사용자 질의에 대한 접근 제어 처리와 스트림에 대한 질의 처리를 수행하여 그 결과 스트림을 사용자에게 제공하기 위한 스트림 질의 처리기(140)를 포함한다.As shown in FIG. 1, an XML data stream processing system having an access control function using Xpass according to the present invention is a user manager for providing user information of a current session when controlling access to an XML data stream. 110, a scheme for providing various types of information such as a target stream, a structure of a stream, and a type of a specific element of a stream when defining an access control rule by providing a standard of an externally input stream (that is, an XML data stream). An authority manager 130 for granting each user access to a condition of a specific stream, a structure of a stream, and an element value using the manager 120, the user manager 110, and the schema manager 120. Parse a user query and access the current user query using the access authority information of the authority manager 130. A stream query processor 140 is provided for performing control processing and query processing on the stream and, as a result, providing the stream to the user.

이때, 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템(100)은 무선인식(RFID) 리더(101), 센서(102), 엑스엠엘 스트림(103) 등과 같은 엑스엠엘 데이터 스트림의 각종 입력 소스들로부터 엑스엠엘 데이터 스트림을 입력 데이터로 하는 상품 관리 서비스, 재해/재난 방지 서비스, 유-오피스(U-Office) 등과 같은 다양한 응용 서비스를 구축할 수 있도록 동작한다. 여기서, 각 응용 서비스는 서로 다른 엑스패스 접근 권한을 이용해 허가된 스트림을 제어할 수 있다.At this time, the XML data stream processing system 100 according to the present invention is X from the various input sources of the XML data stream, such as the RFID reader 101, the sensor 102, the XML stream 103, etc. It operates to build various application services such as merchandise management service, disaster / disaster prevention service, U-office, etc., which use the LS data stream as input data. In this case, each application service may control the permitted stream using different X-pass access rights.

또한, 사용자 관리기(110)는 사용자를 등록, 삭제하고 스트림 질의 처리시 현 세션의 사용자 정보를 제공한다.In addition, the user manager 110 registers and deletes a user and provides user information of the current session when processing a stream query.

또한, 스키마 관리기(120)는 외부로부터 입력되는 엑스엠엘 데이터 스트림에 대한 규격을 정의한 스키마(XML Schema)를 등록, 삭제하고 스키마 정보를 제공한다.In addition, the schema manager 120 registers and deletes a schema (XML Schema) that defines a standard for the XML data stream input from the outside, and provides schema information.

또한, 권한 관리기(130)는 등록 사용자 및 스키마를 대상으로 권한을 부여, 철회하고 관련된 정보를 제공한다. In addition, the authority manager 130 grants, revokes, and provides related information to registered users and schemas.

또한, 스트림 질의 처리기(140)는 엑스엠엘 데이터 스트림에 대한 사용자 질의어(엑스쿼리)를 파싱하고, 정당성 검증 및 질의 처리를 수행한다.In addition, the stream query processor 140 parses a user query word (Ex Query) for the XML data stream, and performs validity verification and query processing.

상기 엑스엠엘 데이터 스트림 처리 시스템(100)의 각 내부 모듈의 상세한 동작에 관해서는 도 2를 참조하여 후술하기로 한다.Detailed operation of each internal module of the XML data stream processing system 100 will be described later with reference to FIG. 2.

도 2 는 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서의 모듈별 동작에 대한 일실시예 상세 구성도이다.FIG. 2 is a detailed block diagram of an operation of each module in an XML data stream processing system according to the present invention.

도 2에 도시된 바와 같이, 스트림 질의 처리기(140)는 엑스쿼리 형태의 질의를 처리하기 위한 엑스쿼리 파서(141), 대상 스키마 구조 및 타입에 대한 스키마 정당성 검증과, 사용자 권한 검증을 수행하고, 그 결과에 따라 접근 제어 처리(예 : 질의 구문 내 조건절 추가)하기 위한 정당성 검증 모듈(142), 및 스트림에 대한 질의 처리(사용자 질의 처리)를 수행하기 위한 구문 수행 모듈(143)을 포함한다.As shown in FIG. 2, the stream query processor 140 performs an XQuery parser 141 for processing an XQuery type query, schema validity verification for a target schema structure and type, and user authority validation. A validity verification module 142 for access control processing (eg, adding conditional clause in query syntax) and a syntax execution module 143 for performing query processing (user query processing) on the stream according to the result.

엑스쿼리를 이용하여 스트림 질의 처리를 수행하기 위하여, 스트림 질의 처리기(140)의 엑스쿼리 파서(141)는 외부로부터 입력받은 사용자 질의어를 파싱하여 그 결과로 엑스쿼리 파스 트리를 획득한다. In order to perform the stream query processing using the query, the query query parser 141 of the stream query processor 140 parses a user query received from the outside and obtains the query query tree as a result.

그러면, 정당성 검증 모듈(142)이 권한 관리기(130)와 스키마 관리기(120)로부터 접근 제어 규칙(즉, 엑스패스 접근 제어 규칙)과 스키마 정보를 각각 전달받 아 이를 이용하여 대상 엘리먼트의 존재 여부, 타입 확인 및 접근 권한 여부에 대한 정당성 검증을 수행한다. 상기 정당성 검증시, 구조 질의에 대한 접근 제어를 수행하고, 값에 대한 접근 제어 규칙은 스트림 질의에 조건절로 추가된다. 그리고, 스트림 질의 구문 수행시에 값에 대한 접근 가능한 결과만을 선별적으로 제공하도록 함으로써 사용자별 특정 엘리먼트의 값에 대한 접근 제어를 수행한다.Then, the validity verification module 142 receives the access control rule (that is, the X-pass access control rule) and the schema information from the authority manager 130 and the schema manager 120, respectively, using the presence or absence of the target element, Perform type verification and validity check on access rights. In the validity verification, the access control for the structure query is performed, and the access control rule for the value is added as a conditional clause to the stream query. In addition, access control on the value of a specific element for each user is performed by selectively providing only an accessible result for the value when performing the stream query syntax.

또한, 권한 관리기(130)는 엑스패스 접근 제어 규칙의 정당성 검증을 수행하기 위한 접근 제어 규칙 정당성 검증 모듈(131), 및 상기 엑스패스 접근 제어 규칙을 관리하기 위한 접근 제어 규칙 관리 모듈(132)을 포함한다. 이때, 권한 관리기(130)는 접근 제어 규칙으로 엑스패스(XPath)를 이용함으로써, 스트림 질의 처리기(140)의 내부 구성요소인 엑스쿼리 파서(141)를 활용할 수 있도록 한다.In addition, the authority manager 130 may include an access control rule validity verification module 131 for performing validity verification of the X-pass access control rule, and an access control rule management module 132 for managing the X-pass access control rule. Include. In this case, the authority manager 130 may use the XQuery parser 141 that is an internal component of the stream query processor 140 by using XPath as an access control rule.

엑스패스를 이용하여 각 사용자 권한을 부여하기 위하여, 상기 권한 관리기(130)는 외부로부터 권한 부여를 위한 엑스패스를 입력받음에 따라 스트림 질의 처리기(140)의 엑스쿼리 파서(141)를 이용하여 엑스패스 파스 트리를 획득한다. 그러면, 권한 관리기(130)의 접근 제어 규칙 정당성 검증 모듈(131)이 이를 입력받아 엑스패스 접근 제어 규칙의 대상 엘리먼트 존재 여부 및 타입에 대한 정당성 검증을 수행한다. 상기 정당성 검증이 성공함에 따라, 접근 제어 규칙 관리 모듈(132)이 상기 검증 성공한 엑스패스 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영한다. 이에 대해서는 도 3을 참조하여 후술하기로 한다.In order to grant each user right by using the Xpass, the rights manager 130 receives the Xpass for authorization from the outside and uses the XQuery parser 141 of the stream query processor 140 to receive the Xpass. Obtain the path parse tree. Then, the access control rule validity verification module 131 of the authority manager 130 receives the input and performs validity verification on the existence and type of the target element of the X-pass access control rule. As the validity verification succeeds, the access control rule management module 132 dynamically reflects the successful X-pass access control rule in the existing access control rule. This will be described later with reference to FIG. 3.

도 3 은 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서 엑스패스로 정의된 접근 제어 규칙의 동적 반영에 대한 일실시예 설명도이다.FIG. 3 is a diagram illustrating an embodiment of dynamically reflecting an access control rule defined as X-pass in an XML data stream processing system according to the present invention.

여기서는, 엑스패스 접근 제어 규칙이 기존의 접근 제어 규칙에 동적으로 반영되어 권한 상승, 권한 하강이 발생하는 경우를 함께 살펴보기로 한다. 이때, 상기 엑스패스 접근 제어 규칙의 동적 반영 동작은 권한 관리기(130)의 접근 제어 규칙 관리 모듈(132)에 의해 수행된다.Here, the case where the X-pass access control rule is dynamically reflected in the existing access control rule and the privilege elevation and the privilege depreciation will be described together. In this case, the dynamic reflection of the X-pass access control rule is performed by the access control rule management module 132 of the rights manager 130.

도 3에 도시된 바와 같이, 권한 부여 범위는 엘리먼트 자신 및 모든 자손 엘리먼트들을 포함한다. 즉, "G(/a/b)"를 수행하여 대상 스키마의 b 엘리먼트에 권한을 부여하면, 자식 엘리먼트인 c, d, e 엘리먼트에도 접근 권한이 부여된다. 이때, 접근 제어 규칙은 입력 엑스패스인 "/a/b"가 된다.As shown in FIG. 3, the authorization scope includes the element itself and all descendant elements. That is, when "G (/ a / b)" is granted to the b element of the target schema, access rights are also granted to the c, d, and e elements which are child elements. At this time, the access control rule becomes "/ a / b" which is an input Xpass.

또한, 이웃(sibling) 관계의 엘리먼트들 중 권한이 없는 마지막 엘리먼트에 대한 권한을 부여하면, 권한이 부여된 경우 권한 상승이 발생한다. 즉, "G(/a/f)"를 수행하여 권한이 없는 마지막 엘리먼트인 f 엘리먼트에 권한을 부여하면, 모든 이웃(/a/b, /a/f)에 대한 권한이 부여되어 부모 엘리먼트(/a)로 권한 상승되어 접근 제어 규칙은 "/a"가 된다.In addition, granting authority to the last non-privileged element among the elements of a sibling relationship causes an elevation of privilege when the authority is granted. That is, if "G (/ a / f)" is granted to the f element, which is the last unauthorized element, the permission for all neighbors (/ a / b, / a / f) is granted to the parent element ( privilege is elevated to / a) and the access control rule becomes "/ a".

또한, 권한을 부여받은 부모 엘리먼트의 자식 엘리먼트들 중 일부 엘리먼트의 권한을 철회하면, 대상 자식 엘리먼트를 제외한 다른 자식 엘리먼트들에 접근 권한이 부여된다. 즉, "R(/a/b/e)"를 수행하면, "/a/b"의 접근 제어 규칙이 권한 하강되어 접근 제어 규칙은 "/a/b/c" 및 "/a/b/d"가 된다.In addition, when the privilege of some of the child elements of the authorized parent element is revoked, access rights are granted to other child elements except the target child element. That is, if "R (/ a / b / e)" is executed, the access control rules of "/ a / b" are lowered, and the access control rules are "/ a / b / c" and "/ a / b /". d ".

한편, 값에 대한 권한은 대상 엘리먼트의 값에 대한 조건으로 부여한다. 즉, "G(/a[f<=2])"를 수행하면, 스트림 중 엘리먼트 f의 값이 2보다 같거나 작은 스트림에 대한 접근 권한이 발생하고 접근 제어 규칙은 "/a[f<=2]"가 된다. On the other hand, the authority to the value is granted as a condition on the value of the target element. In other words, if "G (/ a [f <= 2])" is executed, the access rights for the stream in which the value of element f is less than or equal to 2 are generated, and the access control rule is "/ a [f <= 2] ".

또한, 기존의 값에 대한 접근 권한 규칙을 갖는 엘리먼트의 값에 대한 권한 부여는 새로운 접근 권한 규칙을 추가하는 것이 아니라, 상기 기존의 값에 대한 권한 조건과 논리합(OR) 조건으로 병합한다. 즉, "G(/a[f>5])"를 수행하면, 상기의 기존 접근 권한 규칙과 병합되어 접근 권한 규칙은 "/a[f<=2 or f>5]"가 된다.In addition, granting the value of an element having an access right rule on an existing value does not add a new access right rule, but merges the right condition and the OR condition on the existing value. That is, when "G (/ a [f> 5])" is performed, the existing access right rule is merged with the access right rule "/ a [f <= 2 or f> 5]".

또한, 값에 대한 권한의 철회는 기존 조건 중 대상 조건에 대해서만 철회가 수행된다. 즉, "R(/a[f<=2])"를 수행하면, 대상 엘리먼트의 조건 권한에서 대상 조건인 "f<=2"가 제거되어 접근 권한 규칙은 "/a[f>5]"가 된다.In addition, the revocation of authority to a value is performed only for the target condition among the existing conditions. That is, if "R (/ a [f <= 2])" is executed, the target condition "f <= 2" is removed from the condition permission of the target element, and the access right rule is "/ a [f> 5]". Becomes

도 4 는 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서 엑스패스를 이용한 사용자 권한 부여 과정에 대한 일실시예 흐름도이다.4 is a flowchart illustrating an embodiment of a user authorization process using Xpass in an XML data stream processing system according to the present invention.

먼저, 권한 관리기(130)는 외부로부터 권한 부여를 위한 엑스패스를 입력받음에 따라 상기 입력받은 엑스패스를 스트림 질의 처리기(140)의 엑스쿼리 파서(141)를 이용하여 파싱한다(401). First, the authority manager 130 parses the received Xpass using the XQuery parser 141 of the stream query processor 140 in response to receiving an Xpass for authorization from the outside (401).

이후, 권한 관리기(130)의 접근 제어 규칙 정당성 검증 모듈(131)이 상기 파싱 결과로 생성된 엑스패스 파스 트리와, 정당성 검사시에 필요한 스키마 정보를 엑스쿼리 파서(141)와 스키마 관리기(120)로부터 각각 전달받는다(402).Thereafter, the access control rule validity verification module 131 of the authority manager 130 displays the XPASS parse tree generated as a result of the parsing, and the schema information necessary for validity checking, the XQuery parser 141 and the schema manager 120. Received from 402 respectively.

이후, 접근 제어 규칙 정당성 검증 모듈(131)이 상기 전달받은 엑스패스 파스 트리를 순회하면서 정당성 검증을 수행한다(403). Thereafter, the access control rule validity verification module 131 traverses the received Xpass parse tree and performs validity verification (403).

상기 정당성 검증 과정을 상세히 살펴보면, 대상 노드가 엘리먼트인지의 여부를 판단한다(413). Looking at the validity verification process in detail, it is determined whether the target node is an element (413).

상기 대상 노드 종류 판단 결과(413), 대상 노드가 엘리먼트일 경우 대상 엘 리먼트의 존재 여부를 판단하여(423) 존재하는 경우에는 접근 제어 규칙 관리 모듈(132)이 새로운 엑스패스 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하고(404), 존재하지 않을 경우에는 오류 처리한다(405). As a result of the determination of the target node type 413, if the target node is an element, it is determined whether the target element exists (423). If the target node is present, the access control rule management module 132 creates a new X-pass access control rule. The control is dynamically reflected in the access control rule (404), and if there is no error processing (405).

한편, 상기 대상 노드 종류 판단 결과(413), 대상 노드가 엘리먼트가 아닐 경우 다시 상기 대상 노드가 값인지의 여부를 판단한다(433). 그 결과, 특정 엘리먼트에 대한 값임이 확인됨에 따라 대상 노드의 타입 정보가 유효한지의 여부를 판단하여(443) 유효한(올바른) 타입 정보일 경우에는 상기 접근 제어 규칙 관리 모듈(132)이 새로운 엑스패스 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하는 과정(404)으로 진행하고, 유효한 타입 정보가 아닐 경우에는 오류 처리하는 과정(405)으로 진행한다. 반면에, 상기 대상 노드가 값인지의 여부를 판단한 결과(433), 특정 엘리먼트에 대한 값이 아닐 경우에는 오류 처리하는 과정(405)으로 진행한다.On the other hand, if the target node type determination result 413, if the target node is not an element, it is again determined whether the target node is a value (433). As a result, when it is determined that the value is for a specific element, it is determined whether the type information of the target node is valid (443), and if it is valid (correct) type information, the access control rule management module 132 makes a new Xpass. In step 404, the access control rule is dynamically reflected to the existing access control rule. If the access control rule is not valid type information, the process proceeds to error processing 405. On the other hand, as a result of determining whether the target node is a value 433, if it is not a value for a specific element, the process proceeds to an error process (405).

상기와 같은 결과로 획득된 접근 제어 규칙은 이후의 스트림 질의 처리시 사용자별 권한 확인(즉, 사용자별 접근 권한 제어)에 사용된다.The access control rule obtained as a result of the above is used for checking authorization by user (that is, controlling access authority by user) in the subsequent stream query processing.

도 5 는 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서 스트림 질의 처리시 엑스패스를 이용한 접근 제어 방법에 대한 일실시예 흐름도이다.FIG. 5 is a flowchart illustrating an access control method using X-pass when processing a stream query in an XML data stream processing system according to the present invention.

먼저, 사용자 관리기(110)가 현 세션으로부터 사용자 정보를 획득한다(501). 즉, 스트림 질의 처리시의 접근 제어를 위하여 사용자 정보를 얻어 스트림 질의 처리기(140)로 전달한다. 이때, 스트림 질의 처리기(140)의 별도 요청에 따라(필요시에) 상기 사용자 관리기(110)가 사용자 정보를 획득하여 회신하는 방식으로 동작한 다.First, the user manager 110 obtains user information from the current session (501). That is, the user information is obtained and transmitted to the stream query processor 140 for access control in the stream query processing. At this time, according to a separate request of the stream query processor 140 (if necessary), the user manager 110 operates by obtaining and returning user information.

이후, 스트림 질의 처리기(140)가 외부로부터 입력받은 사용자 질의를 엑스쿼리 파서(141)를 이용하여 파싱한다(502). 즉, 엑스쿼리 파스 트리를 생성한다. 그리고, 스키마 구조 및 타입에 대한 정당성 검사시에 필요한 스키마 정보를 스키마 관리기(120)로부터 전달받고(503), 현 사용자가 접근할 수 있는 스트림인지의 여부를 확인하기 위한 권한 정보(접근 제어 규칙)을 권한 관리기(130)로부터 전달받는다(504).Thereafter, the stream query processor 140 parses the user query received from the outside using the query query parser 141 (502). That is, it creates an XQuery parse tree. Then, the schema information required for validity check on the schema structure and type is received from the schema manager 120 (503), and authority information for checking whether or not the stream is accessible to the current user (access control rule). Is received from the rights manager 130 (504).

이후, 스트림 질의 처리기(140)가 상기 파싱 결과로 생성된 엑스쿼리 파스 트리를 순회하면서 스키마 정당성 검증 및 사용자 권한 검증을 수행한다(505). 즉, 스키마 구조 및 타입에 정당한 질의인지를 먼저 확인한 후, 현재 사용자가 접근할 수 있는 스트림인지 확인(권한 있는 사용자인지 확인)한다. 그리고, 상기 정당성 검증 결과를 이용하여 정당한 사용자 질의인지의 여부를 최종 판단한다(506).Thereafter, the stream query processor 140 performs schema validity verification and user authority verification while iterating through the parse query tree generated as the parsing result (505). In other words, it first checks whether the query is valid for the schema structure and type, and then checks whether the stream is accessible to the current user (checks whether the user is authorized). In operation 506, a determination is made as to whether the user query is a valid user query using the result of the validity verification.

상기 과정을 상세히 살펴보면, 상기 엑스쿼리 파스 트리를 순회하면서 상기 입력받은 사용자 질의가 스키마 정보에 대한 (엘리먼트) 구조 및 타입에 정당한 질의인지의 여부를 판단한다.Looking at the process in detail, it is determined whether or not the input user query is a valid query for the (element) structure and type of the schema information while iterating through the query query tree.

상기 판단 결과, 정당한 질의일 경우 권한 관리기(130)로부터 전달받은 사용자와 대상 스키마에 관련된 접근 제어 규칙(엑스패스임)을 이용하여 접근 가능 여부를 판단한다. 상기 접근 가능 여부 판단 결과, 권한이 부여되지 않은 대상 노드인 경우에는 오류 처리하고 권한이 부여된 대상 노드인 경우에는 다음 과정으로 진행한다. 이때, 대상 노드인 값(특정 엘리먼트의 값)에 대한 권한 조건이 존재하는 경우, 상기 권한 조건을 상기 사용자 질의에 대한 엑스쿼리 파스 트리에 조건절로 추가한다.As a result of the determination, if the query is legitimate, it is determined whether it is accessible using an access control rule (ex-pass) related to the user and the target schema received from the authority manager 130. As a result of the accessibility determination, if the target node is not authorized, error processing is performed. If the target node is authorized, the process proceeds to the next step. At this time, if a privilege condition exists for a value (value of a specific element) that is a target node, the privilege condition is added as a condition clause to the query query tree for the user query.

상기 사용자 질의 정당성 검증 결과(506), 사용자 질의가 스키마 정보 및 권한 정보에 대하여 정당할 경우 상기 입력받은 사용자 질의, 즉 엑스쿼리 구문을 수행하고 그 수행 결과를 사용자에게 제공한다(외부로 출력한다)(507). If the user query validity verification result 506, the user query is legitimate for the schema information and authorization information, the received user query, that is, the query query is executed and the execution result is provided to the user (externally output). (507).

반면에, 상기 사용자 질의 정당성 검증 결과(506), 사용자 질의가 스키마 정보 혹은 권한 정보에 대하여 정당하지 않을 경우(하나라도 정당성 검증에 성공하지 못할 경우) 오류 처리한다(508).On the other hand, if the user query validity verification result 506, if the user query is not legitimate for the schema information or authority information (if at least one does not succeed in validating) error processing (508).

이하의 상세한 설명에서는, 표 1 내지 표 6을 참조하여 본 발명에 따른 엑스엠엘 데이트 스트림 처리 시스템의 동작 및 그 동작 결과에 대해서 살펴보기로 한다.In the following detailed description, the operation of the XML data stream processing system and its operation result will be described with reference to Tables 1 to 6.

여기서, 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에서의 접근 제어 정책은 다음과 같을 수 있다. 권한 주체는 사용자(혹은 Role)이고 권한 부여 대상으로는 스키마 전체, 스키마의 엘리먼트 구조 및 특정 엘리먼트에 포함된 값의 범위가 가능하다. 그리고, 권한 적용 범위는 대상 스키마를 기반으로 생성되는 엑스엠엘 데이터 스트림이고, 스키마의 특정 엘리먼트에 대한 권한 부여는 대상 엘리먼트 및 상기 엘리먼트의 모든 자손들에 대하여 이루어진다. 이하에서는, 권한의 종류 중 "읽기(READ)"에 대한 권한을 예로 들어 설명하기로 한다.Here, the access control policy in the XML data stream processing system according to the present invention may be as follows. Privilege subjects are users (or roles). Authorization targets include the entire schema, the element structure of the schema, and the range of values contained in specific elements. In addition, the privilege coverage is an XML data stream generated based on the target schema, and authorization for a specific element of the schema is performed on the target element and all descendants of the element. In the following description, the authority for "READ" among the types of authority will be described as an example.

표 1은 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템으로 입력되는 스트림의 규격을 정의한 스키마로서, 회사의 직원정보에 대한 내용을 엑스엠엘 스 키마로 표현하고 있다.Table 1 is a schema that defines the standard of the stream input to the XML data stream processing system according to the present invention, expressing the contents of the company employee information in the XLM Schema.

Figure 112006024766511-pat00001
Figure 112006024766511-pat00001

표 2는 본 발명에 따라 상기 표 1의 직원정보 스키마에 대한 사용자별 접근 권한 부여에 대한 접근 제어 규칙을 나타낸다. 여기서, 팀장은 자신의 연봉정보 및 담당직급의 연봉정보에 대한 접근이 가능하고, 담당직급은 자신의 연봉정보에 대한 접근이 가능하다.Table 2 shows an access control rule for granting user access authority to the employee information schema of Table 1 according to the present invention. Here, the team leader has access to his salary information and salary information of the position in charge, and the position in charge is able to access his salary information.

Figure 112006024766511-pat00002
Figure 112006024766511-pat00002

표 3은 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템으로 입력되는 엑스엠엘 데이터 스트림을 나타낸다. 입력 스트림은 상기 표 1의 스키마를 준수하며, 팀장 직급(이순신)의 직원정보와 담당직급(김철수)의 직원정보이다.Table 3 shows the XML data stream input to the XML data stream processing system according to the present invention. The input stream conforms to the schema of Table 1 above, and is employee information of a team leader (Yi Sun-shin) and employee information of a responsible job (Kim Chul-soo).

Figure 112006024766511-pat00003
Figure 112006024766511-pat00003

표 4는 상기 표 1의 직원정보 스키마에 대한 스트림을 질의 대상으로 하는 사용자 질의(문)의 예를 나타낸다.Table 4 shows an example of a user query (statement) for which the stream for the employee information schema of Table 1 is a query target.

Figure 112006024766511-pat00004
Figure 112006024766511-pat00004

상기 표 4와 동일한 질의문을 본 발명에 따른 엑스엠엘 데이터 스트림 처리 시스템에 사용자 이순신, 김철수가 처리 요청하면, 상기 시스템의 내부 질의 처리시 권한 관리기(130)에서 제공하는 권한 정보(사용자별 접근 제어 규칙)를 이용하여 질의 처리를 수행하되, 상기 표 2에서와 같이 권한 정보가 특정 엘리먼트의 값에 대한 접근 제어 규칙을 포함하는 경우 질의를 요청한 해당 사용자의 권한에 따라 입력받은 사용자 질의를 변환하여 처리한다. 표 5는 상기에서 설명한 질의 변환 처리의 예를 나타낸다.When the user queries Yi Soon Shin and Kim Chul Soo request the same query statement as Table 4 to the XML data stream processing system according to the present invention, the authority information provided by the authority manager 130 during the internal query processing of the system (access control for each user) Rule), but if the authority information includes an access control rule for the value of a specific element as shown in Table 2, the inputted user query is converted and processed according to the authority of the user who requested the query. do. Table 5 shows an example of the query conversion processing described above.

Figure 112006024766511-pat00005
Figure 112006024766511-pat00005

그리고, 상기 질의 처리 결과로 각 사용자별로 제공받을 수 있는 결과는 표 6에 나타난 바와 같다. 즉, 각 사용자별로 부여된 권한에 따라서 팀장인 이순신은 자신의 연봉정보와 팀원들의 연봉정보를 모두 제공받을 수 있고, 팀원인 김철수는 자신의 연봉정보만을 결과로 제공받을 수 있다.The results that can be provided to each user as a result of the query processing are shown in Table 6. That is, according to the authority granted to each user, the team leader Yi Soon Shin can receive both his salary information and salary information of team members, and Kim Cheol-soo, a team member, can receive only his salary information as a result.

Figure 112006024766511-pat00006
Figure 112006024766511-pat00006

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

상기와 같은 본 발명은, 엑스엠엘 데이터 스트림 처리 시스템에서 스트림 질의어로 사용되는 엑스쿼리의 엑스패스를 확대 적용하여 엑스엠엘 데이터 스트림의 접근 제어 규칙으로 이용함으로써, 각 사용자별 권한 부여를 용이하게 하고 엑스패스의 엑스엠엘에 대한 구조적 처리 기술을 활용하여 다양한 형태의 접근 규칙을 정의할 수 있는 효과가 있다.The present invention as described above, by applying the X-pass of the X query used as a stream query in the XML data stream processing system to use as an access control rule of the XML data stream, to facilitate the authorization of each user X It is effective to define various types of access rules by using the structured processing technique for the XML of the path.

Claims (25)

엑스엠엘 데이터 스트림 처리 시스템에 있어서,In the XML data stream processing system, 사용자를 등록, 삭제하고 사용자 정보를 제공하기 위한 사용자 관리 수단;User management means for registering and deleting a user and providing user information; 엑스엠엘 데이터 스트림에 대한 규격을 정의한 스키마를 등록, 삭제하고 스키마 정보를 제공하기 위한 스키마 관리 수단;Schema management means for registering, deleting a schema defining a standard for an XML data stream and providing schema information; 각 스키마에 대한 권한을 사용자별로 부여, 철회하고 엑스패스 형태의 사용자 권한 정보를 제공하기 위한 권한 관리 수단; 및Authority management means for granting and withdrawing authority for each schema for each user and providing user authority information in the form of X-pass; And 외부로부터 입력받는 엑스엠엘 데이터 스트림에 대한 사용자 질의를 파싱한 후, 상기 스키마 관리 수단으로부터의 스키마 정보를 이용하여 스키마의 구조 및 타입에 정당한 질의인지의 여부를 검증하고, 상기 권한 관리 수단으로부터의 사용자 권한 정보를 이용하여 접근 가능 여부를 검증하여, 정당한 질의이고 접근 가능함에 따라 질의를 처리하기 위한 스트림 질의 처리 수단After parsing a user query for an externally received XML data stream, verify whether the query is valid for the structure and type of the schema by using the schema information from the schema management means, and the user from the authority management means. Stream query processing means for verifying the accessibility using authority information and processing the query as it is a legitimate query and accessible 을 포함하는 엑스엠엘 데이터 스트림 처리 시스템.XM L data stream processing system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 스트림 질의 처리 수단은,The stream query processing means, 외부로부터 입력받는 사용자 질의를 파싱하여 엑스쿼리 파스 트리를 생성하기 위한 파서;A parser for parsing a user query received from an external source and generating an query query tree; 상기 생성한 엑스쿼리 파스 트리를 순회하면서 상기 스키마 관리 수단으로부터의 스키마 정보를 이용하여 스키마의 구조 및 타입에 정당한 질의인지의 여부를 검증하고, 상기 권한 관리 수단으로부터의 사용자 권한 정보를 이용하여 접근 가능 여부를 검증하기 위한 정당성 검증 수단; 및By using the schema information from the schema management means while traversing the generated query pars tree, it is possible to verify whether or not the query is legitimate in the structure and type of the schema, and can be accessed using the user authority information from the authority management means. Justification means for verifying whether or not; And 상기 정당성 검증이 성공함에 따라, 현 사용자 질의 처리를 수행하기 위한 구문 수행 수단As the validity verification succeeds, syntax execution means for performing current user query processing 을 포함하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.XM L data stream processing system comprising a. 삭제delete 제 2 항에 있어서,The method of claim 2, 상기 정당성 검증 수단은,The validity verification means, 값에 대한 접근 제어 규칙을 상기 사용자 질의에 조건절로 추가하여 질의 처리 수행시에 값에 대한 접근 가능한 결과가 선별적으로 제공되도록 하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.And an access control rule for a value as a conditional clause in the user query to selectively provide an accessible result for the value when performing the query processing. 제 1 항에 있어서,The method of claim 1, 상기 권한 관리 수단은,The authority management means, 엑스패스 접근 제어 규칙의 정당성 검증을 수행하기 위한 접근 제어 규칙 정당성 검증 수단; 및Access control rule validity verification means for performing validity verification of the X-pass access control rule; And 상기 엑스패스 접근 제어 규칙을 관리하기 위한 접근 제어 규칙 관리 수단Access control rule management means for managing the X-pass access control rule 을 포함하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.XM L data stream processing system comprising a. 제 5 항에 있어서,The method of claim 5, 상기 접근 제어 규칙 정당성 검증 수단은,The access control rule validity verification means, 외부로부터 입력된, 권한 부여를 위한 엑스패스의 파싱 결과로 생성된 엑스패스 파스 트리를 입력받음에 따라 엑스패스 접근 제어 규칙의 대상 엘리먼트 존재 여부 및 타입에 대한 정당성 검증을 수행하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.According to an Xpass parse tree generated as a result of parsing an Xpass for authorization, a validity check on the existence and type of a target element of an Xpass access control rule is performed. ML data stream processing system. 제 6 항에 있어서,The method of claim 6, 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 상기 접근 제어 규칙 정당성 검증 수단에 의한 정당성 검증이 성공함에 따라, 상기 검증 성공한 엑스패스 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.And as the validity verification by the access control rule validity verification means succeeds, dynamically applying the verified X-pass access control rule to the existing access control rule. 제 7 항에 있어서,The method of claim 7, wherein 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 상기 검증 성공한 엑스패스 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하되, 권한 부여 범위를 엘리먼트 자신 및 모든 자손 엘리먼트들을 포함하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.XML data stream processing system characterized in that to dynamically reflect the verified successful X-pass access control rules to the existing access control rules, the authorization scope includes the element itself and all descendant elements. 제 7 항에 있어서,The method of claim 7, wherein 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 이웃 관계의 엘리먼트들 중에 권한이 없는 마지막 엘리먼트에 권한을 부여할함에 따라, 모든 이웃 관계의 엘리먼트에 대하여 권한이 부여된 경우 권한 상승을 수행하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.And granting the privilege to the last non-privileged element of the neighbor relationship, if the authority is granted to all the elements of the neighbor relationship. 제 7 항에 있어서,The method of claim 7, wherein 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 권한을 부여받은 부모 엘리먼트의 자식 엘리먼트들 중 일부 엘리먼트의 권한을 철회함에 따라, 대상 자식 엘리먼트를 제외한 다른 자식 엘리먼트들에 접근 권한을 부여하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.XML data stream processing system, characterized in that to grant access rights to other child elements other than the target child element by revoking the rights of some of the child elements of the authorized parent element. 제 7 항에 있어서,The method of claim 7, wherein 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 값에 대한 권한일 경우에는 대상 엘리먼트의 값에 대한 조건으로 부여하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.If the authority to the value, the XML data stream processing system, characterized in that the condition for the value of the target element. 제 7 항에 있어서,The method of claim 7, wherein 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 기존의 값에 대한 접근 권한 규칙을 갖는 엘리먼트의 값에 대한 권한 부여일 경우에는 상기 기존의 값에 대한 권한 조건과 논리합(OR) 조건으로 병합하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.In the case of granting a value of an element having an access permission rule for an existing value, the XML data stream processing system of claim 11, wherein merging is performed under an OR condition and an OR condition for the existing value. 제 7 항에 있어서,The method of claim 7, wherein 상기 접근 제어 규칙 관리 수단은,The access control rule management means, 값에 대한 권한의 철회를 수행할 경우에는 기존 조건 중 대상 조건에 대해서 선별적으로 철회를 수행하는 것을 특징으로 하는 엑스엠엘 데이터 스트림 처리 시스템.When performing the revocation of the authority to the value XML data stream processing system, characterized in that selectively withdraw the target condition among the existing conditions. 엑스패스를 이용한 접근 제어 방법에 있어서,In the access control method using X-pass, 사용자별 권한 확인을 위한 접근 제어 규칙을 정의하는 접근 제어 규칙 정의 단계;An access control rule definition step of defining an access control rule for checking authority for each user; 현 세션으로부터 사용자 정보를 획득하는 사용자 확인 단계;A user confirmation step of obtaining user information from the current session; 외부로부터 사용자 질의를 입력받는 질의 입력 단계;A query input step of receiving a user query from an external source; 상기 입력받은 사용자 질의를 파싱하여 엑스쿼리 파스 트리를 생성하는 파싱 단계;A parsing step of parsing the received user query to generate an XQuery parse tree; 상기 생성한 엑스쿼리 파스 트리를 순회하면서 스키마 정보를 이용하여 스키마의 구조 및 타입에 정당한 질의인지의 여부를 검증하고, 사용자 권한 정보를 이용하여 접근 가능 여부를 검증하는 정당성 검증 단계; 및A validity verification step of verifying whether the query is valid for the structure and type of the schema by using the schema information while traversing the generated query pars tree, and verifying the accessibility using the user authority information; And 상기 정당성 검증이 성공함에 따라, 상기 입력받은 사용자 질의를 처리하여 그 결과를 외부로 제공하는 질의 처리 단계As the validity verification is successful, a query processing step of processing the input user query and providing the result to the outside 를 포함하는 엑스패스를 이용한 접근 제어 방법.Access control method using the X-pass including a. 제 14 항에 있어서,The method of claim 14, 상기 접근 제어 규칙 정의 단계는,The access control rule definition step, 외부로부터 권한 부여를 위한 엑스패스를 입력받는 엑스패스 입력 단계;An X-pass input step of receiving an X-pass for authorization from the outside; 상기 입력받은 엑스패스를 파싱하여 엑스패스 파스 트리를 생성하는 파싱 단계;Parsing the received X-pass to generate an X-pass parse tree; 상기 생성한 엑스패스 파스 트리를 순회하면서 스키마 정보를 이용하여 정당성 검증을 수행하는 접근 제어 규칙 정당성 검증 단계; 및An access control rule validity verification step of performing validity verification using schema information while traversing the generated Xpass parse tree; And 상기 정당성 검증이 성공함에 따라, 새로운 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하는 접근 제어 규칙 동적 반영 단계As the validity verification succeeds, an access control rule dynamic reflection step of dynamically applying a new access control rule to an existing access control rule 를 포함하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.Access control method using the Xpass, characterized in that it comprises a. 제 15 항에 있어서,The method of claim 15, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 대상 노드가 엘리먼트이고 상기 엘리먼트가 존재함에 따라, 새로운 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.And the target node is an element, and as the element exists, a new access control rule is dynamically reflected in an existing access control rule. 제 16 항에 있어서,The method of claim 16, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 상기 새로운 엑스패스 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하되, 권한 부여 범위를 엘리먼트 자신 및 모든 자손 엘리먼트들을 포함하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.And dynamically reflecting the new X-pass access control rule into the existing access control rule, but including an authorization range of the element itself and all descendant elements. 제 16 항에 있어서,The method of claim 16, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 이웃 관계의 엘리먼트들 중에 권한이 없는 마지막 엘리먼트에 권한을 부여할함에 따라, 모든 이웃 관계의 엘리먼트에 대하여 권한이 부여된 경우 권한 상승을 수행하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.And granting authority to all the elements of the neighbor relationship if the authority is granted to all the elements of the neighbor relationship, the privilege escalation is performed. 제 16 항에 있어서,The method of claim 16, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 권한을 부여받은 부모 엘리먼트의 자식 엘리먼트들 중 일부 엘리먼트의 권한을 철회함에 따라, 대상 자식 엘리먼트를 제외한 다른 자식 엘리먼트들에 접근 권한을 부여하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.The access control method using the X-pass, characterized in that to grant the access rights to the other child elements, except the target child element in accordance with the revocation of the rights of some of the child elements of the authorized parent element. 제 15 항에 있어서,The method of claim 15, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 대상 노드가 값이고 상기 대상 노드의 타입 정보가 유효함에 따라, 새로운 접근 제어 규칙을 기존의 접근 제어 규칙에 동적으로 반영하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.When the target node is a value and the type information of the target node is valid, a new access control rule is dynamically reflected to the existing access control rule. 제 20 항에 있어서,The method of claim 20, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 값에 대한 권한임에 따라 대상 엘리먼트의 값에 대한 조건으로 부여하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.The access control method using the X-pass, characterized in that given as a condition for the value of the target element in accordance with the authority to the value. 제 20 항에 있어서,The method of claim 20, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 기존의 값에 대한 접근 권한 규칙을 갖는 엘리먼트의 값에 대한 권한 부여일 경우에는 상기 기존의 값에 대한 권한 조건과 논리합(OR) 조건으로 병합하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.If the authorization of the value of the element having an access permission rule for the existing value, the access control method using the X-pass, characterized in that to merge the authority condition and the OR (OR) condition for the existing value. 제 20 항에 있어서,The method of claim 20, 상기 접근 제어 규칙 동적 반영 단계는,The access control rule dynamic reflection step, 값에 대한 권한의 철회를 수행할 경우에는 기존 조건 중 대상 조건에 대해서 선별적으로 철회를 수행하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.When the revocation of the authority for the value is performed, the access control method using Xpass, characterized in that selectively withdraw the target condition among the existing conditions. 삭제delete 제 14 항에 있어서,The method of claim 14, 상기 정당성 검증 단계는,The validity verification step, 값에 대한 접근 제어 규칙을 상기 사용자 질의에 조건절로 추가하여 질의 처리 수행시에 값에 대한 접근 가능한 결과가 선별적으로 제공되도록 하는 것을 특징으로 하는 엑스패스를 이용한 접근 제어 방법.And adding an access control rule for a value as a conditional clause to the user query to selectively provide an accessible result for the value when performing a query processing.
KR1020060032331A 2005-12-01 2006-04-10 XML data stream processing system and method for managing the access control using XPath KR100808143B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050116100 2005-12-01
KR20050116100 2005-12-01

Publications (2)

Publication Number Publication Date
KR20070057603A KR20070057603A (en) 2007-06-07
KR100808143B1 true KR100808143B1 (en) 2008-02-29

Family

ID=38354914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060032331A KR100808143B1 (en) 2005-12-01 2006-04-10 XML data stream processing system and method for managing the access control using XPath

Country Status (1)

Country Link
KR (1) KR100808143B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160051164A (en) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952051B1 (en) * 2007-11-09 2010-04-07 한국전자통신연구원 Method and Apparatus for Encoding and Decoding XML Documents Using Path Code
KR101007681B1 (en) * 2008-06-20 2011-01-13 경기도 Method of Evaluation of Predicates for Access Control
KR101044870B1 (en) * 2008-10-02 2011-06-28 한국전자통신연구원 Method and Apparatus for Encoding and Decoding XML Documents Using Path Code
KR101655966B1 (en) 2015-09-11 2016-09-08 동아대학교 산학협력단 System and method for improving r p c layer in n e t c o n f protocol
KR101674543B1 (en) 2015-09-24 2016-11-09 동아대학교 산학협력단 System and Method for Improving content Layer in protocol
KR102289950B1 (en) * 2017-12-08 2021-08-13 한국전자통신연구원 Method for managing and validating data using taxonomy manager

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040053386A (en) * 1999-07-14 2004-06-23 마츠시타 덴끼 산교 가부시키가이샤 Apparatus for providing information, information receiver and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040053386A (en) * 1999-07-14 2004-06-23 마츠시타 덴끼 산교 가부시키가이샤 Apparatus for providing information, information receiver and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1020040053386

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160051164A (en) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor
KR102182573B1 (en) * 2014-10-31 2020-11-24 에스케이텔레콤 주식회사 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor

Also Published As

Publication number Publication date
KR20070057603A (en) 2007-06-07

Similar Documents

Publication Publication Date Title
Kudo et al. XML document security based on provisional authorization
KR100808143B1 (en) XML data stream processing system and method for managing the access control using XPath
JP4041013B2 (en) XML purging apparatus and method using external XML validity verification apparatus
US8528063B2 (en) Cross domain security information conversion
US7590644B2 (en) Method and apparatus of streaming data transformation using code generator and translator
US7672946B2 (en) Information processor, database search system and access rights analysis method thereof
US8806440B2 (en) Integrated software development system, method for validation, computer arrangement and computer program product
KR101366435B1 (en) Security authorization queries
US8515999B2 (en) Method and system providing document semantic validation and reporting of schema violations
US7512976B2 (en) Method and apparatus for XSL/XML based authorization rules policy implementation
US20010023421A1 (en) Access control system, access control method, storage medium and program transmission apparatus
US7856448B2 (en) Access control decision method and system
US20120272137A1 (en) Efficient validation of binary xml data
US20050160164A1 (en) Method, system, and program for schema management
US8656275B2 (en) Matching various combinations of XPATH URIs to the same XML node
Leighton et al. Access control policy translation, verification, and minimization within heterogeneous data federations
US9965453B2 (en) Document transformation
US20090210422A1 (en) Secure Database Access
KR100888678B1 (en) Method and apparatus of formal specification based on xml and recording medium using this
Vimercati et al. Access control models for XML
Jo et al. Access control model for secure XML documents
Kechar et al. An access control system architecture for xml data warehouse using xacml
Böttcher et al. Adaptive XML access control based on query nesting, modification and simplification
Guth et al. A Proposal for the Evolution of the ODRL Information Model.
Jo et al. Access authorization policy for XML document security

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120131

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee