KR101282501B1 - Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index - Google Patents

Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index Download PDF

Info

Publication number
KR101282501B1
KR101282501B1 KR1020110021051A KR20110021051A KR101282501B1 KR 101282501 B1 KR101282501 B1 KR 101282501B1 KR 1020110021051 A KR1020110021051 A KR 1020110021051A KR 20110021051 A KR20110021051 A KR 20110021051A KR 101282501 B1 KR101282501 B1 KR 101282501B1
Authority
KR
South Korea
Prior art keywords
index
broadcast
heterogeneous
xml
generating
Prior art date
Application number
KR1020110021051A
Other languages
Korean (ko)
Other versions
KR20120104652A (en
Inventor
정연돈
박창섭
박준표
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020110021051A priority Critical patent/KR101282501B1/en
Publication of KR20120104652A publication Critical patent/KR20120104652A/en
Application granted granted Critical
Publication of KR101282501B1 publication Critical patent/KR101282501B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Abstract

에너지 효율성 및 접근시간 효율성을 향상시키기 위해 이종의 스키마를 가진 XML 문서 집합으로부터 이종 XML문서들을 색인하는 새로운 인덱스 구조를 갖는 브로드캐스트 스트림 구조, 새로운 인덱스 구조를 갖는 브로드캐스트 스트림을 생성하는 장치 및 방법을 제시한다. 제시된 브로드캐스트 스트림 구조는 이종의 XML문서의 집합으로부터 생성되는 브로드캐스트 스트림 구조로서, 이종의 XML문서의 내용이 실린 XML문서 필드, 및 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스 필드를 포함하고, 인덱스 필드가 XML문서 필드의 앞에 배치된다. 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스를 하나의 방송 주기내의 브로드캐스트 스트림에서 제일 앞쪽에 배치하거나 복수개 배치함으로써, 주어진 질의에 대한 목표 문서로의 접근 시간이 단축되고 에너지 효율성이 향상된다.In order to improve energy efficiency and access time efficiency, a broadcast stream structure having a new index structure for indexing heterogeneous XML documents from an XML document set having a heterogeneous schema, and an apparatus and method for generating a broadcast stream having a new index structure are provided. present. The proposed broadcast stream structure is a broadcast stream structure generated from a set of heterogeneous XML documents, and includes an XML document field containing contents of heterogeneous XML documents, and an address value satisfying a location path and a location path for heterogeneous XML documents. It includes an index field including, and the index field is placed in front of the XML document field. By placing a position path for a heterogeneous XML document and an index including an address value satisfying the position path at the front of the broadcast stream in one broadcast period or by placing a plurality of indexes, the access time to the target document for a given query is improved. It is shortened and energy efficiency is improved.

Description

인덱스를 갖는 브로드캐스트 스트림을 기록한 컴퓨터 판독 가능 기록매체, 인덱스를 갖는 브로드캐스트 스트림 생성 장치 및 방법{Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index}Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index}

본 발명은 인덱스를 갖는 브로드캐스트 스트림 구조, 인덱스를 갖는 브로드캐스트 스트림 생성 장치 및 방법에 관한 것으로, 보다 상세하게는 무선환경에서 XML 데이터를 브로드캐스팅할 수 있는 인덱스를 갖는 브로드캐스트 스트림 구조, 및 이러한 인덱스를 갖는 브로드캐스트 스트림을 생성하는 장치 및 방법에 관한 것이다.The present invention relates to a broadcast stream structure having an index, an apparatus and a method for generating a broadcast stream having an index, and more particularly, to a broadcast stream structure having an index capable of broadcasting XML data in a wireless environment, and An apparatus and method for generating a broadcast stream having an index.

XML(eXtensible Markup Language) 문서는 요소(Elements), 태그(Tags), 속성(Attributes), 엔터티(Entities),PCDATA 및 CDATA 와 같은 구성 요소를 가지고 있다.EXtensible Markup Language (XML) documents have components such as Elements, Tags, Attributes, Entities, PCDATA, and CDATA.

다음은 각각의 구성 요소에 대한 간략한 설명이다. The following is a brief description of each component.

요소(Elements)는 XML 문서나 HTML 문서 모두에 있어 핵심 구성 요소이다. 요소(Elements)를 쉽게 이해하려면 HTML 문서의 요소를 살펴보면 된다. HTML 문서에서 "body", "table" 태그가 요소의 한 예이다. 지금까지 살펴본 XML 문서 예제에서 "note", "to" 등도 요소이다. 요소는 텍스트, 또 다른 요소를 포함할 수 있으며 비어 있을 수도 있다. 비어있는 HTML 요소의 예로 "hr", "br", "img" 등을 들 수 있다.Elements are key components in both XML and HTML documents. To make the elements easier to understand, look at the elements in the HTML document. In an HTML document, the "body" and "table" tags are examples of elements. In the XML document example we have seen so far, "note", "to", etc. are also elements. An element can contain text, another element, or it can be empty. Examples of empty HTML elements include "hr", "br", and "img".

태그(Tags)는 요소를 구성하기 위해 사용된다. <요소이름>과 같은 시작 태그가 요소의 시작을 나타내고, </요소이름> 같은 마침 태그가 요소의 마지막을 나타낸다.Tags are used to construct elements. A start tag such as <element name> indicates the beginning of an element, and a end tag such as </ element name> indicates the end of an element.

속성(Attributes)은 요소(element)에 대한 부가적인 정보를 제공한다. 속성은 요소의 시작 태그 안에 위치한다. 속성은 name/value 쌍으로 나타난다. 다음 예는 img 요소에 소스 파일에 대한 부가 정보를 제공하는 속성에 대한 것이다Attributes provide additional information about an element. The attribute is placed within the start tag of the element. Attributes appear as name / value pairs. The following example is for an attribute that provides additional information about the source file in the img element:

<img src="computer.gif" /><img src = "computer.gif" />

이때, 요소의 이름은 img이다. 속성의 이름(name)은 src이다. 속성의 값(value)은 computer.gif이다. 이 요소는 빈 요소(empty element)이기 때문에 /로 끝 마친다.In this case, the element name is img. The name of the attribute is src. The value of the property is computer.gif. This element ends with / because it is an empty element.

PCDATA는 parsed character data를 의미한다. 캐릭터 데이터(character data)는 XML 요소의 시작 태그와 마침 태그 사이에 위치한 텍스트라고 보면 된다. PCDATA는 파서(해석기, parser)에 의해 해석이 될 텍스트이다. 텍스트 안에 있는 태그는 마크업(markup)으로 취급될 것이며 엔터티(entity)는 확장될 것이다. 이 말을 쉽게 풀어 쓰면, <, >같은 태그를 XML 파서가 해석할 것이며 엔터티도 XML 파서가 해석하여 엔터티가 가리키는 값으로 참조시킬 것이라는 뜻이다.PCDATA stands for parsed character data. Character data is the text placed between the start and end tags of an XML element. PCDATA is the text to be interpreted by the parser. Tags in the text will be treated as markup and entities will be expanded. In simpler terms, this means that tags such as <and> will be parsed by the XML parser, and the entity will also be parsed and referenced by the value pointed to by the entity.

CDATA는 character data를 의미한다. CDATA는 파서(해석기, parser)에 의해 해석이 되지 않을 텍스트이다. 사실 XML 문서에 있는 모든 텍스트들은 XML 파서에 의해 해석 과정을 거치게 되지만 CDATA 만큼은 해석되지 않고 있는 모습 그대로 출력된다. 텍스트 안에 있는 태그는 마크업(markup)으로 취급되지 않을 것이며 엔터티(entity)는 확장되지 않을 것이다. 이 말을 쉽게 풀어 쓰면, <, >같은 태그 및 엔터티를 XML 파서가 해석하지 않을 것이므로 <, > 같은 문자와 엔터티 자체가 그대로 출력될 것임을 의미한다.CDATA stands for character data. CDATA is text that won't be interpreted by the parser. In fact, all text in the XML document is interpreted by the XML parser, but is output as it is, not as much as CDATA. Tags within text will not be treated as markup and entities will not be expanded. This can easily be interpreted to mean that tags and entities such as <and> will not be interpreted by the XML parser, so characters and entities such as <and> will be output as is.

엔터티(Entities)는 변수와 비슷한 개념으로 생각할 수 있다. 엔터티는 문서 내에서 참조 될 수 있는 문자 집합의 단위를 말한다. 예를 들어 반복해서 사용하는 어구가 있다면 엔터티를 사용해 쉽게 표현할 수 있다. 엔터티에는 일반 엔터티, 파라미터(매개변수) 엔터티가 있다. 정의되어 있는 엔터티를 참조하는 것을 엔터티 참조(Entity Reference)라고 한다.Entities can be thought of as variables. An entity is a unit of character set that can be referenced within a document. For example, if you have a phrase that you use repeatedly, you can easily represent it using an entity. Entities include regular entities and parameter (parameter) entities. References to defined entities are called entity references.

종래의 XML 데이터 방송 방법 중의 하나는 S-Node 이다. S-Node 에서는 XML 데이터를 방송을 위한 스트림 데이터로 변환시 원본 XML 데이터내의 중복된 구조정보를 그대로 남겨둔다.One conventional XML data broadcasting method is an S-Node. In the S-Node, when XML data is converted into stream data for broadcasting, duplicate structure information in the original XML data is left as it is.

도 1은 서버와 방송되는 데이터를 수신하는 다수의 이동 클라이언트가 존재하는 환경을 도시한 것이다. 서버(10)는 XML 데이터를 포함하는 각종의 데이터를 스트림으로 브로드 캐스트한다. 노트북, 핸드폰, PDA 등과 같은 이동 클라이언트(12)들은 브로드 캐스트된 데이터 스트림(14)을 수신하여 질의를 충족시킨다.1 illustrates an environment in which a plurality of mobile clients that receive data broadcast with a server exist. The server 10 broadcasts various data including XML data in a stream. Mobile clients 12, such as laptops, cell phones, PDAs, etc., receive the broadcasted data stream 14 to satisfy the query.

도 2는 원본 XML 데이터의 예를 도식화한 도면으로서 XML 데이터를 트리형태로 나타낸 것이다. XML 데이터에서 원하는 데이터를 얻기 위해서는 월드 와이드 컨소시엄(World Wide Consortium)의 표준화된 질의 언어인 XQuery를 사용하게 된다. FIG. 2 is a diagram schematically showing an example of original XML data, showing XML data in a tree form. To get the data you want from XML data, you use XQuery, the world wide consortium's standardized query language.

예를 들어, 도 2의 XML 데이터에 대해 /dblp/article/title/ 와 같은 단순 경로 질의(simple XPath query)에 대한 결과값은 도 2의 3번, 14번, 17번 노드(element)의 텍스트 값인 ABC, HI, JKL 이다. 이때, 질의에 해당하는 결과값을 얻기 위해서는 /dblp/article/title/ 경로를 가지는 모든 경로를 검색해야 한다.For example, the result of a simple XPath query such as / dblp / article / title / for the XML data of FIG. 2 is the text of nodes 3, 14, and 17 of FIG. 2. The values ABC, HI, and JKL. At this time, to get the result value corresponding to the query, all paths having the path / dblp / article / title / must be searched.

따라서, 종래의 XML 스트림 생성 및 수신 방법은 서버(10)가 계속해서 데이터 스트림(14)을 브로드캐스팅하고, 이를 필요로 하는 이동 클라이언트(12)가 방송 채널로부터 필요한 데이터를 수신한다. Thus, in the conventional XML stream generation and reception method, the server 10 continues to broadcast the data stream 14, and the mobile client 12 in need thereof receives the necessary data from the broadcast channel.

이 경우, 데이터 스트림(14)으로부터 원하는 데이터를 얻기 위해 이동 클라이언트(12)가 대기하는 시간이 길게 되어 접근시간 효율성(latency-efficiency) 측면에서 단점으로 지적된다.In this case, the waiting time for the mobile client 12 to obtain the desired data from the data stream 14 becomes long, which is pointed out as a disadvantage in terms of latency-efficiency.

또한, 이동 클라이언트는 제한적인 배터리 자원을 가진 휴대용 기기인데, 불필요한 데이터의 수신으로 에너지 보존이 어렵다는 문제점이 있다.
In addition, the mobile client is a portable device having limited battery resources, there is a problem that it is difficult to conserve energy by receiving unnecessary data.

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 에너지 효율성 및 접근시간 효율성을 향상시키기 위해 이종의 스키마를 가진 XML 문서 집합으로부터 이종 XML문서들을 색인하는 새로운 인덱스 구조를 갖는 브로드캐스트 스트림 구조를 제공함에 그 목적이 있다.The present invention has been proposed to solve the above-described problems, and has a broadcast stream structure having a new index structure for indexing heterogeneous XML documents from an XML document set having heterogeneous schemas to improve energy efficiency and access time efficiency. The purpose is to provide.

본 발명의 다른 목적은 상기의 새로운 인덱스 구조를 갖는 브로드캐스트 스트림을 생성하는 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for generating a broadcast stream having the new index structure.

상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 인덱스를 갖는 브로드캐스트 스트림 구조는, 이종의 XML문서의 집합으로부터 생성되는 브로드캐스트 스트림 구조로서, 이종의 XML문서의 내용이 실린 XML문서 필드, 및 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스 필드를 포함하고, 인덱스 필드가 XML문서 필드의 앞에 배치되는 것을 특징으로 한다.In order to achieve the above object, a broadcast stream structure having an index according to a preferred embodiment of the present invention is a broadcast stream structure generated from a set of heterogeneous XML documents, and an XML document containing contents of heterogeneous XML documents. A field, and an index field including a location path for a heterogeneous XML document and an address value satisfying the location path, wherein the index field is disposed in front of the XML document field.

주소값은 위치 경로를 만족하는 모든 응답 노드들중에서 최초의 XML노드를 포함하는 버킷의 주소를 의미한다.The address value means the address of the bucket that contains the first XML node among all the response nodes that satisfy the location path.

버킷의 주소는 무선 방송 채널에서 해당 버킷이 방송되는 시간을 나타낸다.The address of the bucket indicates the time when the bucket is broadcast in the wireless broadcast channel.

인덱스 필드는 이종의 XML문서의 식별정보를 추가로 포함한다.The index field further includes identification information of heterogeneous XML documents.

인덱스 필드는 하나의 방송 주기내에서 적어도 한 개 이상 배치된다.At least one index field is disposed in one broadcast period.

인덱스 필드가 하나의 방송 주기내에 두 개 있는 경우, 두번째의 인덱스 필드는 하나의 방송 주기에 후속하는 다음 방송 주기에 실린 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함한다.
If there are two index fields in one broadcast period, the second index field includes a location path for heterogeneous XML documents carried in the next broadcast period following one broadcast period and an address value satisfying the location path. .

본 발명의 바람직한 실시양태에 따른 인덱스를 갖는 브로드캐스트 스트림 생성 장치는, 수신되는 이종의 XML문서에 대한 데이터 스트림을 생성하는 데이터 스트림 생성부; 데이터 스트림에서 서로 다른 위치 경로를 갖는 XML요소들의 위치를 식별하는 위치 식별부; 위치 식별부로부터의 정보에 근거하여 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스 엔트리를 생성하는 인덱스 엔트리 생성부; 및 생성되는 인덱스 엔트리의 집합이 되는 인덱스를 생성하는 인덱스 생성부;를 포함한다.Broadcast stream generation apparatus having an index according to a preferred embodiment of the present invention, the data stream generation unit for generating a data stream for the received heterogeneous XML document; A location identifier which identifies a location of XML elements having different location paths in the data stream; An index entry generation unit for generating an index entry including a location path for a heterogeneous XML document and an address value satisfying the location path based on the information from the location identification unit; And an index generator for generating an index that is a set of generated index entries.

데이터 스트림 생성부는 생성된 데이터 스트림을 이전에 생성시킨 XML문서들에 대한 데이터 스트림에 연결시킨다.The data stream generator connects the generated data stream to a data stream for XML documents previously generated.

인덱스 생성부는 이종의 XML문서의 내용이 실린 필드를 포함하는 브로드캐스트 스트림에서 인덱스를 이종의 XML문서의 내용이 실린 필드의 앞에 배치한다.The index generator places the index in front of the field containing the content of the heterogeneous XML document in the broadcast stream including the field containing the content of the heterogeneous XML document.

주소값은 위치 경로를 만족하는 모든 응답 노드들중에서 최초의 XML노드를 포함하는 버킷의 주소를 의미한다.The address value means the address of the bucket that contains the first XML node among all the response nodes that satisfy the location path.

버킷의 주소는 무선 방송 채널에서 해당 버킷이 방송되는 시간을 나타낸다.The address of the bucket indicates the time when the bucket is broadcast in the wireless broadcast channel.

인덱스 엔트리 생성부는 이종의 XML문서의 식별정보를 인덱스 엔트리에 추가한다.The index entry generating unit adds identification information of heterogeneous XML documents to the index entry.

인덱스 생성부는 인덱스를 하나의 방송 주기내에서 적어도 한 개 이상 배치시킨다.
The index generator arranges at least one index within one broadcast period.

본 발명의 바람직한 실시양태에 따른 인덱스를 갖는 브로드캐스트 스트림 생성 방법은, 수신되는 이종의 XML문서에 대한 데이터 스트림을 생성하는 단계; 데이터 스트림에서 서로 다른 위치 경로를 갖는 XML요소들의 위치를 식별하는 단계; 위치 식별된 정보에 근거하여 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스 엔트리를 생성하는 단계; 및 생성되는 인덱스 엔트리의 집합이 되는 인덱스를 생성하는 단계;를 포함한다.According to a preferred embodiment of the present invention, a method of generating a broadcast stream having an index includes: generating a data stream for a received heterogeneous XML document; Identifying locations of XML elements having different location paths in the data stream; Generating an index entry including a location path for a heterogeneous XML document and an address value satisfying the location path based on the location identified information; And generating an index that is a set of generated index entries.

데이터 스트림 생성 단계는 생성된 데이터 스트림을 이전에 생성시킨 XML문서들에 대한 데이터 스트림에 연결시킨다.The data stream generation step connects the generated data stream to the data stream for the XML documents previously generated.

인덱스 생성 단계는 이종의 XML문서의 내용이 실린 필드를 포함하는 브로드캐스트 스트림에서 인덱스를 이종의 XML문서의 내용이 실린 필드의 앞에 배치한다.The index generation step places the index in front of the field containing the content of the heterogeneous XML document in the broadcast stream including the field containing the content of the heterogeneous XML document.

주소값은 위치 경로를 만족하는 모든 응답 노드들중에서 최초의 XML노드를 포함하는 버킷의 주소를 의미한다.The address value means the address of the bucket that contains the first XML node among all the response nodes that satisfy the location path.

버킷의 주소는 무선 방송 채널에서 해당 버킷이 방송되는 시간을 나타낸다.The address of the bucket indicates the time when the bucket is broadcast in the wireless broadcast channel.

인덱스 엔트리 생성 단계는 이종의 XML문서의 식별정보를 인덱스 엔트리에 추가한다.The index entry generation step adds identification information of heterogeneous XML documents to the index entry.

인덱스 생성 단계는 인덱스를 하나의 방송 주기내에서 적어도 한 개 이상 배치시킨다.The index generation step arranges at least one index within one broadcast period.

이러한 구성의 본 발명에 따르면, 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스를 하나의 방송 주기내의 브로드캐스트 스트림에서 제일 앞쪽에 배치하거나 복수개 배치함으로써, 주어진 질의에 대한 목표 문서로의 접근 시간이 단축되고 에너지 효율성이 향상된다.According to the present invention having such a configuration, by placing a plurality of indexes including position paths for heterogeneous XML documents and address values satisfying the position paths in front of the broadcast stream in one broadcast period or by placing a plurality of indexes, The access time to the target document is shortened and the energy efficiency is improved.

도 1은 서버와 다수의 이동 클라이언트가 존재하는 환경을 나타낸 도면이다.
도 2는 원본 XML 데이터를 트리형태로 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조를 설명하는 도면이다.
도 4는 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 생성 장치의 블럭구성도이다.
도 5는 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 생성 방법을 설명하는 플로우차트이다.
도 6은 이동 클라이언트측에서 본 발명의 실시예에 따른 브로드캐스트 스트림을 수신하고 질의 처리하는 동작을 설명하는 플로우차트이다.
도 7은 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조의 변형예를 설명하는 도면이다.
도 8은 종래의 브로드캐스트 스트림과 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조와의 차이를 설명하는 도면이다.
1 is a diagram illustrating an environment in which a server and a plurality of mobile clients exist.
2 is a diagram illustrating original XML data in a tree form.
3 is a diagram illustrating a broadcast stream structure having an index according to an embodiment of the present invention.
4 is a block diagram of an apparatus for generating a broadcast stream having an index according to an embodiment of the present invention.
5 is a flowchart illustrating a method of generating a broadcast stream having an index according to an embodiment of the present invention.
6 is a flowchart illustrating an operation of receiving and querying a broadcast stream according to an embodiment of the present invention on the mobile client side.
7 is a view for explaining a modification of the broadcast stream structure having an index according to an embodiment of the present invention.
8 is a diagram illustrating a difference between a conventional broadcast stream and a broadcast stream structure having an index according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조, 인덱스를 갖는 브로드캐스트 스트림 생성 장치 및 방법에 대하여 설명하면 다음과 같다. 본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니된다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
Hereinafter, a broadcast stream structure having an index, a broadcast stream generating apparatus having an index, and a method according to an embodiment of the present invention will be described with reference to the accompanying drawings. Prior to the detailed description of the present invention, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms. Therefore, the embodiments described in this specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and do not represent all the technical ideas of the present invention. Therefore, It is to be understood that equivalents and modifications are possible.

도 3은 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조를 설명하는 도면이다.3 is a diagram illustrating a broadcast stream structure having an index according to an embodiment of the present invention.

본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림은 이종의 스키마(schemas)를 가진 XML문서 집합으로부터 생성된다.A broadcast stream with an index according to an embodiment of the invention is generated from a set of XML documents with heterogeneous schemas.

본 발명의 실시예의 브로드캐스트 스트림(20)은 프리픽스섬머리(PrefixSummary)로 불리우는 새로운 형태의 인덱스가 실리는 인덱스 필드(22) 및 이종의 XML문서의 내용이 실린 XML문서 필드(24a, 24b, 24c, 24d)를 포함한다. 도 3에서는 인덱스 필드(22)가 하나의 방송 주기(1cycle)내에 제일 앞쪽에 배치되고, 후속하여 XML문서 필드(24a, 24b, 24c, 24d)가 배치된다. 즉, 인덱스 필드(22)는 XML 데이터 스트림의 앞에 첨부된다. 도 3에서는 XML문서 필드가 4개인 것으로 도시하였으나, 그 수는 가감될 수 있다.The broadcast stream 20 of the embodiment of the present invention includes an index field 22 containing a new type of index called a prefixsummary and an XML document field 24a, 24b, and 24c containing contents of heterogeneous XML documents. , 24d). In FIG. 3, the index field 22 is disposed first in one broadcast cycle, and the XML document fields 24a, 24b, 24c, and 24d are subsequently disposed. In other words, the index field 22 is attached to the front of the XML data stream. Although FIG. 3 shows four XML document fields, the number may be added or subtracted.

인덱스 필드(22)에 실리는 인덱스의 구조에 대해 설명하면 하기와 같다. 먼저, 깊이(depth)가 h인 프리픽스섬머리(PrefixSummary)를 PS(h)라고 하였을 경우, PS(h)는 인덱스 엔트리(p, a)의 집합이다. 여기서, p는 주어진 이종의 XML문서들로부터 추출된 길이 h의 위치 경로를 의미한다. a는 브로드캐스트 스트림에서 위치 경로 p를 만족하는 모든 응답 노드들중에서 처음으로 나타나는 XML노드를 포함하는 버킷의 주소를 의미한다. 이와 같이 인덱스의 구조는 인덱스 엔트리(p, a)의 집합인 PS(h)로 표현된다.The structure of the index carried in the index field 22 will be described below. First, when a prefix summation having a depth h is PS (h), PS (h) is a set of index entries p and a. Here, p means the location path of length h extracted from the given heterogeneous XML documents. a means the address of the bucket containing the XML node that appears first among all the response nodes that satisfy the location path p in the broadcast stream. In this way, the structure of the index is represented by PS (h), which is a set of index entries (p, a).

위치 경로의 길이는 경로에 포함된 위치 단계(location steps)의 수를 의미한다. 본 발명의 실시예에서는 인덱스를 위해 고려되어야 하는 위치 경로들은 XML문서에서 루트 엘리먼트부터 시작되는 것으로 가정한다. 또한, 버킷의 주소는 무선 방송 채널에서 해당 버킷이 방송되는 시간(또는 해당 버킷의 배달시간)을 나타낸다.The length of the location path means the number of location steps included in the path. In the embodiment of the present invention, it is assumed that the location paths to be considered for the indexes start from the root element in the XML document. In addition, the address of the bucket indicates the time (or delivery time of the bucket) when the bucket is broadcast in the wireless broadcast channel.

도 3의 인덱스 필드(22)에 실리는 인덱스는 이종의 XML문서의 식별정보(DocID)를 나타내는 제 1인덱스 엔트리, 이종의 XML문서에 대한 위치 경로(path)를 나타내는 제 2인덱스 엔트리, 및 위치 경로를 만족하는 주소값(Ari.)을 나타내는 제 3인덱스 엔트리를 포함한다.The index shown in the index field 22 of FIG. 3 includes a first index entry indicating identification information (DocID) of heterogeneous XML documents, a second index entry indicating a location path for heterogeneous XML documents, and a position. And a third index entry representing an address value Ari. Satisfying the path.

도 3은 깊이 2의 프리픽스섬머리가 포함된 브로드캐스트 스트림을 나타내고 있다. 인덱스는 XML 데이터 스트림에서 파생된 길이 2에 해당하는 서로 다른 위치 경로에 대한 링크 어드레스들을 포함한다. 예를 들어, 위치 경로 "/S/Z"에 해당하는 인덱스 엔트리는 해당 위치 경로를 만족하는 엘리먼트가 XML 데이터 스트림에서 최초로 나타나는 버킷(bucket)에 대한 주소(t6)를 포함하고 있다.
Figure 3 shows a broadcast stream with a prefix summation of depth two. The index contains link addresses for different location paths corresponding to length 2 derived from the XML data stream. For example, the index entry corresponding to the location path "/ S / Z" contains the address t 6 for the bucket whose element satisfying the location path first appears in the XML data stream.

도 4는 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 생성 장치의 블럭구성도이다. 인덱스를 갖는 브로드캐스트 스트림 생성 장치는 서버에 갖추어지는 것으로 이해하면 된다4 is a block diagram of an apparatus for generating a broadcast stream having an index according to an embodiment of the present invention. It is understood that a broadcast stream generating device having an index is provided in a server.

도 4의 브로드캐스트 스트림 생성 장치는 수신부(30), 데이터 스트림 생성부(32), 위치 식별부(34), 인덱스 엔트리 생성부(36), 및 인덱스 생성부(38)를 포함한다.The broadcast stream generating apparatus of FIG. 4 includes a receiver 30, a data stream generator 32, a position identifier 34, an index entry generator 36, and an index generator 38.

수신부(30)는 다수의 이종의 XML문서를 수신한다.The receiver 30 receives a plurality of heterogeneous XML documents.

데이터 스트림 생성부(32)는 수신부(30)에 수신되는 각각의 이종의 XML문서에 대해 스트리밍 기법(σ)을 이용하여 데이터 스트림을 생성한다. 여기서, 스트리밍 기법은 단순 텍스트 나열 방법 또는 일반적으로 널리 사용하는 스트리밍 방법을 사용하여도 무방하다. 한편으로는, 스트리밍 기법은 S-Node 또는 DIX와 같은 분산 색인들을 이용하는 기존의 XML 스트리밍 방법이어도 된다. 데이터 스트림 생성부(32)는 생성한 데이터 스트림을 이전에 생성된 XML문서들에 대한 데이터 스트림에 연결시킨다.The data stream generator 32 generates a data stream using a streaming technique σ for each heterogeneous XML document received by the receiver 30. Here, the streaming technique may use a simple text listing method or a commonly used streaming method. On the other hand, the streaming technique may be an existing XML streaming method using distributed indexes such as S-Node or DIX. The data stream generator 32 connects the generated data stream to a data stream for previously generated XML documents.

위치 식별부(34)는 데이터 스트림 생성부(32)에 의해 생성된 XML 데이터 스트림에서 서로 다른 위치 경로를 갖는 XML요소들의 위치를 식별(검출)한다.The position identifier 34 identifies (detects) positions of XML elements having different position paths in the XML data stream generated by the data stream generator 32.

인덱스 엔트리 생성부(36)는 위치 식별부(34)로부터의 정보에 근거하여 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스 엔트리를 생성한다.The index entry generator 36 generates an index entry including a location path for the heterogeneous XML document and an address value satisfying the location path based on the information from the location identifier 34.

인덱스 생성부(38)는 인덱스 엔트리 생성부(36)에 의해 생성되는 인덱스 엔트리의 집합이 되는 인덱스를 생성한다. 즉, 인덱스 생성부(38)는 전체 XML 데이터 스트림에서 추출된 인덱스 엔트리에 기반하여 인덱스(도 3의 PS(h))를 생성한다. 인덱스 생성부(38)는 생성한 인덱스를 배치함에 있어서 이종의 XML문서의 내용이 실린 필드를 포함하는 브로드캐스트 스트림에서 이종의 XML문서의 내용이 실린 필드의 앞에 배치한다. 인덱스 생성부(38)는 인덱스를 하나의 방송 주기내에서 적어도 한 개 이상 배치시킬 수도 있다.
The index generator 38 generates an index that is a set of index entries generated by the index entry generator 36. That is, the index generator 38 generates the index (PS (h) of FIG. 3) based on the index entry extracted from the entire XML data stream. In arranging the generated index, the index generator 38 arranges the generated index in front of the field containing the content of the heterogeneous XML document in the broadcast stream including the field containing the content of the heterogeneous XML document. The index generator 38 may arrange at least one index within one broadcast period.

도 5는 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 생성 방법을 설명하는 플로우차트이다.5 is a flowchart illustrating a method of generating a broadcast stream having an index according to an embodiment of the present invention.

먼저, 수신부(30)는 다수의 이종의 XML문서를 수신한다(S10). 수신되는 다수의 이종의 XML문서는 데이터 스트림 생성부(32)에게로 전달된다.First, the receiver 30 receives a plurality of heterogeneous XML documents (S10). A plurality of heterogeneous XML documents received are delivered to the data stream generator 32.

데이터 스트림 생성부(32)는 수신부(30)로부터의 각각의 이종의 XML문서에 대해 스트리밍 기법을 이용하여 데이터 스트림을 생성한다(S12). 데이터 스트림 생성부(32)에서의 스트리밍 기법은 단순 텍스트 나열 방법일 수도 있고 S-Node 또는 DIX와 같은 분산 색인들을 이용하는 기존의 XML 스트리밍 방법일 수도 있다.The data stream generator 32 generates a data stream using a streaming technique for each heterogeneous XML document from the receiver 30 (S12). The streaming technique in the data stream generator 32 may be a simple text listing method or an existing XML streaming method using distributed indexes such as S-Node or DIX.

데이터 스트림 생성부(32)는 생성한 데이터 스트림을 이전에 생성된 XML문서들에 대한 데이터 스트림에 연결시킨다(S14).The data stream generator 32 connects the generated data stream to a data stream for previously generated XML documents (S14).

이후, 위치 식별부(34)는 데이터 스트림 생성부(32)에 의해 생성된 XML 데이터 스트림에서 서로 다른 위치 경로를 갖는 XML요소들의 위치를 식별(검출)한다(S16).Thereafter, the position identifier 34 identifies (detects) positions of XML elements having different position paths in the XML data stream generated by the data stream generator 32 (S16).

인덱스 엔트리 생성부(36)는 위치 식별부(34)에서 위치 식별된 정보를 근거로 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스 엔트리를 생성한다(S18). 여기서, 위치 경로는 데이터 스트림에서 해당 XML문서의 내용이 실린 위치까지의 접근 경로를 의미하고, 주소값은 데이터 스트림에서 해당 위치 경로를 만족하는 모든 응답 노들중에서 처음으로 나타나는 XML노드를 포함하는 버킷의 주소(즉, 무선 방송 채널에서 해당 버킷이 방송되는 시간(또는 해당 버킷의 배달시간))를 의미한다. The index entry generation unit 36 generates an index entry including a location path for the heterogeneous XML document and an address value satisfying the location path based on the information identified by the location identification unit 34 (S18). Here, the location path refers to the access path from the data stream to the location where the content of the XML document is loaded, and the address value is a value of the bucket including the XML node that appears first among all response nodes satisfying the location path in the data stream. It means an address (that is, a time (or delivery time of the bucket) when the bucket is broadcast in the wireless broadcast channel).

생성된 인덱스 엔트리는 인덱스 생성부(38)에게로 전달된다.The generated index entry is transferred to the index generator 38.

그에 따라, 인덱스 생성부(38)는 인덱스 엔트리 생성부(36)로부터의 인덱스 엔트리의 집합이 되는 인덱스를 생성한다(S20). 즉, 인덱스 생성부(38)는 전체 XML 데이터 스트림에서 추출된 인덱스 엔트리에 기반하여 PS(h)로 표현되는 인덱스를 생성한다. Accordingly, the index generator 38 generates an index that is a set of index entries from the index entry generator 36 (S20). That is, the index generator 38 generates an index represented by PS (h) based on the index entry extracted from the entire XML data stream.

이후, 인덱스 생성부(38)는 생성한 인덱스를 이종의 XML문서의 내용이 실린 필드를 포함하는 브로드캐스트 스트림에서 이종의 XML문서의 내용이 실린 필드의 앞에 첨부시킨다. 인덱스 생성부(38)는 인덱스가 첨부된 브로드캐스트 스트림을 최종의 브로드캐스트 스트림으로 하여 출력한다(S22).Thereafter, the index generator 38 attaches the generated index to the field containing the content of the heterogeneous XML document in the broadcast stream including the field containing the content of the heterogeneous XML document. The index generator 38 outputs the broadcast stream with the index as the final broadcast stream (S22).

하기의 표 1에는 브로드캐스트 스트림 생성 알고리즘을 예시한다.Table 1 below illustrates a broadcast stream generation algorithm.

INPUT:a set D of XML documents, path length h
OUTPUT:XML broadcast stream S
1 IndexEntries:=φ; DataStream:=φ;
2 FOR-EACH(XML document d in D){
3 Generate broadcast stream Sd of d using a streaming method σ;
4 DataStream:=DataStreamSd;
5 Paths:=φ;
6 FOR-EACH(element E in Sd in the order of appearance in Sd){
7 p:=prefix of length h of the location path specification of E;
8 IF(p is not in paths){
9 a:=address of the bucket in DataStream which contains E;
10 IndexEntries:=IndexEntries U(p,a);
11 Paths:=Paths U p;
12 }
13 }
14 }
15 Construct PS(h) from IndexEntries;
16 Place PS(h) and DataStream into a broadcast stream S;
17 RETURN S;
INPUT : a set D of XML documents, path length h
OUTPUT : XML broadcast stream S
1 IndexEntries : = φ ; DataStream : = φ ;
2 FOR-EACH (XML document d in D ) {
3 Generate broadcast stream Sd of d using a streaming method σ;
4 DataStream : = DataStreamSd ;
5 Paths : = φ ;
6 FOR-EACH (element E in Sd in the order of appearance in Sd ) {
7 p: = prefix of length h of the location path specification of E ;
8 IF ( p is not in paths ) {
9 a: = address of the bucket in DataStream which contains E ;
10 IndexEntries : = IndexEntries U (p, a);
11 Paths : = Paths U p;
12}
13}
14}
15 Construct PS (h) from IndexEntries ;
16 Place PS (h) and DataStream into a broadcast stream S ;
17 RETURN S ;

표 1의 경우, 각 XML문서에 대해 특정 스트리밍 기법(σ)을 이용하여 브로드캐스트 스트림(Sd)을 생성하고, 생성한 브로드캐스트 스트림을 이전에 생성된 XML문서들에 대한 스트림에 연결시킨다(라인 3~4 참조). 라인 6~12에 나타낸 바와 같이 생성된 XML 데이터 스트림에 대해, 서로 다른 위치 경로를 가진 XML 엘리먼트들의 위치를 식별하여 (위치 경로, 최초 결과 노드에 대한 주소값) 형식의 프리픽스섬머리 인덱스 엔트리를 생성한다. 마지막으로, 전체 XML데이터 스트림으로부터 추출된 인덱스 엔트리에 기반하여 프리픽스섬머리 인덱스 구조를 생성하여 XML 스트림 앞부분에 첨부한다(라인 15~16 참조).
In Table 1, for each XML document, a broadcast stream S d is generated using a specific streaming scheme (σ), and the generated broadcast stream is connected to the streams for previously generated XML documents ( See lines 3-4). For the XML data stream generated as shown in lines 6-12, identify the locations of XML elements with different location paths and create a prefix summation index entry of the form (location path, address value for the first result node). do. Finally, based on the index entry extracted from the entire XML data stream, a prefix summation index structure is created and attached to the beginning of the XML stream (see lines 15-16).

도 6은 이동 클라이언트측에서 본 발명의 실시예에 따른 브로드캐스트 스트림을 수신하고 질의 처리하는 동작을 설명하는 플로우차트이다. 6 is a flowchart illustrating an operation of receiving and querying a broadcast stream according to an embodiment of the present invention on the mobile client side.

이하에서는 이동 클라이언트가 단순 위치 경로에 대한 질의를 사용하는 것으로 가정한다. 또한, 이동 클라이언트에는 프리픽스섬머리(PrefixSummary)를 이용하여 브로드캐스트 스트림을 수신하고 질의 처리할 수 있는 프로그램이 저장된 모듈이 내장된 것으로 간주한다. 이동 클라이언트와 서버간에는 프로토콜이 맞추어진 것으로 한다.In the following, it is assumed that a mobile client uses a query for a simple location path. In addition, the mobile client is considered to have a built-in module that stores a program capable of receiving and querying a broadcast stream using a prefixsummary. It is assumed that the protocol is matched between the mobile client and the server.

이동 클라이언트는 서버에서 브로드캐스팅되는 브로드캐스트 스트림의 최초 수신 위치에서 가장 근접한 인덱스(프리픽스섬머리)를 검색한다(S30). 이때, 각 버킷은 가장 근접한 인덱스의 위치를 나타내는 주소(PSLink)와 버킷의 형식을 나타내는 유형(TYPE)을 포함하는 것으로 가정한다. 따라서, 이동 클라이언트는 스트림 수신 시점과 상관없이 언제든지 인덱스의 가장 첫 버킷을 수신가능하다.The mobile client searches for the index (prefix sumhead) closest to the initial reception position of the broadcast stream broadcast from the server (S30). In this case, it is assumed that each bucket includes an address PSLink indicating the location of the nearest index and a type indicating the type of the bucket. Therefore, the mobile client can receive the first bucket of the index at any time, regardless of when the stream is received.

이후, 이동 클라이언트는 주어진 질의에 부합되는 위치 경로에 해당하는 엔트리를 검색한다(S32).Thereafter, the mobile client searches for an entry corresponding to a location path corresponding to the given query (S32).

해당 엔트리가 존재하면 해당 엔트리에 포함된 주소값을 이용하여 다른 버킷의 수신을 생략하고 해당 버킷을 직접 수신한다(S34).If the entry exists, the reception of another bucket is omitted using the address value included in the entry and the bucket is directly received (S34).

그리고 나서, 관련 XML문서에서 위치 경로를 만족하는 첫번째 노드를 수신한다(S36).Then, the first node that satisfies the location path in the associated XML document is received (S36).

그 후, 이동 클라이언트는 위치 경로를 만족하는 모든 결과 집합을 탐색하기 위해 선택된 XML문서를 계속해서 탐색한다(S38). 그에 따라, 스트림에서 질의의 결과값들만 선택적으로 수신할 수 있게 된다.Thereafter, the mobile client continues to search the selected XML document to search all the result sets satisfying the location path (S38). Accordingly, only the results of the query in the stream can be selectively received.

하기의 표 2에는 이동 클라이언트가 프리픽스섬머리(PrefixSummary)를 이용하여 브로드캐스트 스트림을 수신하고 질의 처리하는 알고리즘을 예시한다.Table 2 below illustrates an algorithm for a mobile client to receive and query a broadcast stream using a prefixsummary.

INPUT:a user query in the form of a location path p
OUTPUT:a set of XML nodes satisfying p
1 Result:=φ;
2 Read the current bucket B on the broadcast channel;
3 IF(B.Type!=PS-BUCKET){
4 Read the next nearest PrefixSummary using B.PSLink;
5 }
6 Find the index entry IE in PrefixSummary that matches a prefix of p;
//Find the first answer node a1 in the stream based on IE.address
7 a1:=getFirstAnswer(IE.address);
8 Result:=Result U a1;
9 an:=a1;
10 WHILE(there exists a remaining answer in the stream){
//Find the next answer node an+1 in the stream;
11 an+1:=getNextAnswer(an);
12 Result:=Result Uan+1;
13 an:=an+1;
14 }
15 RETURN Result;
INPUT : a user query in the form of a location path p
OUTPUT : a set of XML nodes satisfying p
1 Result : = φ ;
2 Read the current bucket B on the broadcast channel;
3 IF ( B.Type ! = PS-BUCKET) {
4 Read the next nearest PrefixSummary using B.PSLink ;
5}
6 Find the index entry IE in PrefixSummary that matches a prefix of p ;
// Find the first answer node a 1 in the stream based on IE.address
7 a 1 : = getFirstAnswer (IE.address) ;
8 Result : = Result U a 1 ;
9 a n : = a 1 ;
10 WHILE (there exists a remaining answer in the stream) {
// Find the next answer node a n + 1 in the stream;
11 a n + 1 : = getNextAnswer (a n );
12 Result : = Result U an + 1 ;
13 a n : = a n + 1 ;
14}
15 RETURN Result ;

표 2의 경우, 먼저 이동 사용자는 방송 스트림 최초 수신 위치에서 가장 근접한 PrefixSummary를 검색한다(라인 2~5 참조). 이때, 각 버킷은 가장 근접한 PrefixSummary의 위치를 나타내는 주소(PSLink)와 버킷의 형식을 나타내는 TYPE을 포함하는 것으로 가정한다. 따라서, 이동 사용자는 스트림 수신 시점과 상관 없이 가장 가까운 PrefixSummary를 수신 가능하다. 다음으로 이동 사용자는 주어진 질의에 부합하는 위치 경로 p에 해당하는 엔트리를 검색한다(라인 6 참조). 해당 엔트리(즉, p를 만족하는 엔트리)가 존재하면 엔트리에 포함된 주소 값을 이용하여 다른 버킷의 수신을 생략하고 해당 버킷을 직접 수신한다. 라인 7에 기재된 getFirstAnswer() 연산을 이용하여 관련 XML 문서에서 위치 경로 p 를 만족하는 첫 번째 노드를 수신한다. 그 후, 이동 사용자는 p를 만족하는 모든 결과 집합을 탐색하기 위해 선택된 XML 문서를 계속해서 탐색한다(라인 9~14 참조). 여기서 11번째 줄에 기술된 getNextAnswer() 연산은 스트림에서 XML스트림 구조에서 사용된 접근 방법을 이용하여 다음 결과 노드를 효율적으로 검색한다. 예를 들어, S-Node 기법 에서는 S-node들에 포함된 인덱스들 즉, 같은 이름을 가진 다음 노드에 대한 인덱스 주소인 same-tag sibling link와 같은 경로를 가진 다음 노드에 대한 인덱스 주소인 same-path link를 사용하여 스트림에서 질의의 결과 값들만 선택적으로 수신할 수 있다.
In the case of Table 2, the mobile user first searches for the PrefixSummary closest to the broadcast stream first reception position (see lines 2 to 5). At this time, it is assumed that each bucket includes an address (PSLink) indicating the location of the nearest PrefixSummary and a TYPE indicating the type of the bucket. Therefore, the mobile user can receive the nearest PrefixSummary regardless of the stream reception time. Next, the user retrieves the entry corresponding to the location path p that matches the given query (see line 6). If there is an entry (that is, an entry that satisfies p), the reception of another bucket is skipped by using the address value included in the entry and the bucket is directly received. Receive the first node that satisfies the location path p in the associated XML document using the getFirstAnswer () operation described in line 7. The mobile user then continues to search the selected XML document to search all the result sets that satisfy p (see lines 9-14). Here, the getNextAnswer () operation described in line 11 efficiently retrieves the next result node using the approach used in the XML stream structure in the stream. For example, in the S-Node scheme, the indexes included in the S-nodes, that is, the index address for the next node with the same path as the same-tag sibling link, which is the index address for the next node with the same name, are same- By using the path link, only the result values of the query in the stream can be selectively received.

도 7은 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조의 변형예를 설명하는 도면이다.7 is a view for explaining a modification of the broadcast stream structure having an index according to an embodiment of the present invention.

도 7에서는 인덱스를 여러 번 복제함으로써 인덱스까지의 접근 시간을 단축시킨다. 따라서, 이동 클라이언트는 접근 시간 효율성이 개선된다. 본 발명의 변형예에서는 효율성 측면을 고려하여 (1, M) 인덱스 복제 기법을 이용하였다. (1, M) 인덱스 복제 기법은 인덱스 정보를 하나의 방송 주기에 M번에 걸쳐 중복적으로 배치함으로써, 전체 데이터의 1/M 부분 마다 동일하게 인덱스가 출현하도록 한다. 이와 같은 (1, M) 인덱스 복제 기법은 인덱스 생성부(38)에서 사용된다. 즉, 인덱스 생성부(38)는 인덱스를 하나의 방송 주기내에서 적어도 한 개 이상 배치시킨다. 이러한 (1, M) 인덱스 복제 기법이 이용될 경우에는 상기의 표 1에 기재된 브로드캐스트 스트림 생성 알고리즘은 수정되어야 하겠으나, 표 2의 질의 처리 알고리즘은 수정이 필요없게 된다.In FIG. 7, the access time to the index is shortened by replicating the index several times. Thus, the mobile client has improved access time efficiency. In the modified example of the present invention, the (1, M) index replication technique is used in consideration of efficiency. The (1, M) index duplication scheme allows the index information to appear in every 1 / M portion of the entire data by repeatedly arranging the index information in one broadcasting period. This (1, M) index replication scheme is used in the index generator 38. That is, the index generator 38 arranges at least one index within one broadcast period. When the (1, M) index replication scheme is used, the broadcast stream generation algorithm described in Table 1 above must be modified, but the query processing algorithm of Table 2 does not need to be modified.

도 7은 PrefixSummary PS(2)를 하나의 방송 주기에 복제하여 배치한 예이다. 도 7에서 복제된 PrefixSummary를 PS2라고 할 때, 위치 경로 "/a/b", "/a/c", "/r/a", "/r/s"에 해당하는 인덱스 엔트리의 주소값은 원래의 PrefixSummary PS1과는 다르게 표현된다. 왜냐하면 이 경로들에 대한 주소값들은 다음 방송 주기에 해당하기 때문에 전달되는 시간값이 달라지기 때문이다. 7 shows an example in which PrefixSummary PS 2 is duplicated and arranged in one broadcast period. When the PrefixSummary cloned in FIG. 7 is PS 2 , the address value of the index entry corresponding to the location paths "/ a / b", "/ a / c", "/ r / a", and "/ r / s" Is different from the original PrefixSummary PS 1 . This is because the address values for these paths correspond to the next broadcast period, so the time values delivered are different.

도 7에 나타난 바와 같이 만약 이동 사용자가 질의 처리를 위해 브로드캐스트 스트림을 수신하기 시작한 시점(tune-in point)이 문서 d1 또는 d2의 스트림상에 있고, 질의에 대한 목표 문서가 d4에 존재한다고 할 때, 이동 사용자는 다음 방송 주기의 PS1까지 대기할 필요 없이 다음에 나오는 PS2의 인덱스 엔트리를 이용하여 같은 주기에 존재하는 d4의 첫 번째 결과(즉, 응답 노드)를 찾을 수 있다, 따라서 데이터 스트림에 대한 접근 시간은 복제된 인덱스들을 이용하여 단축된다. 즉, 이에 의해 질의 처리에 있어서 대기시간(latency)를 줄일 수 있게 된다.As shown in FIG. 7, if the mobile user starts to receive a broadcast stream for query processing (tune-in point) on the stream of document d 1 or d 2 , and the target document for the query is on d 4 . When present, the mobile user can find the first result of d 4 (that is, the response node) that exists in the same period using the next PS 2 index entry without having to wait until PS 1 of the next broadcast period. Therefore, access time to the data stream is shortened by using replicated indexes. In other words, latency can be reduced in query processing.

도 7에서는 인덱스 생성과 질의 처리 방법의 단순화를 위해 d3내에 존재하는 PS2와 같이 PrefixSummary의 복제본이 특정 문서의 스트림내에 위치할 경우 다음 방송 주기에서 문서 브로드캐스트를 위한 주소들을 저장하고 있다고 가정한다.
In FIG. 7, it is assumed that a copy of PrefixSummary is stored in the next broadcast period when a copy of PrefixSummary is located in a stream of a specific document such as PS 2 existing in d 3 to simplify index generation and query processing. .

도 8은 종래의 브로드캐스트 스트림과 본 발명의 실시예에 따른 인덱스를 갖는 브로드캐스트 스트림 구조와의 차이를 설명하는 도면으로서, 도 8의 (a)는 프리픽스섬머리(PrefixSummary)없이 기존의 스트리밍 방법에 의해 생성된 이종의 XML문서들의 스트림상에서의 질의 평가 과정을 도시한 것이고, 도 8의 (b)는 프리픽스섬머리(PrefixSummary)를 가진 브로드캐스트 스트림상에서의 질의 평가 과정을 도시한 것이다 FIG. 8 is a diagram illustrating a difference between a conventional broadcast stream and a broadcast stream structure having an index according to an embodiment of the present invention. FIG. 8 (a) shows a conventional streaming method without a prefixsummary. FIG. 8B illustrates a query evaluation process on a stream of heterogeneous XML documents generated by FIG. 8B. FIG. 8B illustrates a query evaluation process on a broadcast stream having a prefix summation.

도 8의 (a)의 경우, 이동 클라이언트는 브로드캐스트 스트림상에서 목표 데이터에 액세스하기 위해, 제일 먼저 스트림상에서 첫번째 수신 지점(tune-in point)(즉, probe wait)에 근접한 XML문서의 시작 버킷을 찾는다. XML문서의 시작 버킷을 도달한 후에는 이동 클라이언트는 무선으로 전송되는 후속의 XML문서들의 시작 버킷을 조사하는 것에 의해 그 주어진 사용자 질의에 응답할 수 있는 관련 XML문서를 찾는다.In the case of Fig. 8A, the mobile client first accesses the starting bucket of the XML document close to the first tune-in point (i.e. probe wait) on the stream to access the target data on the broadcast stream. Find. After reaching the start bucket of the XML document, the mobile client finds the relevant XML document that can respond to the given user query by examining the start bucket of subsequent XML documents sent over the air.

이와 같이, 도 8의 (a)는 원하는 목표 문서(target document)를 액세스하기 위해서는 목표 문서의 앞에 존재하는 여러 문서들의 시작 버킷을 순차적으로 검색하여 원하는 목표 문서를 찾는다. As such, FIG. 8A sequentially searches the starting buckets of various documents existing in front of the target document to find the desired target document in order to access the desired target document.

이와 같이 하게 되면 원하는 목표 문서가 제일 뒤에 있는 경우 모든 XML문서들의 시작 버킷을 찾는 과정에 의해 목표 문서까지의 도달 시간이 상당히 길게 된다.In this case, if the desired target document is at the end, the arrival time to the target document is considerably longer by finding the starting bucket of all XML documents.

그러나, 도 8의 (b)에서와 같이 이종의 XML문서에 대한 위치 경로 및 위치 경로를 만족하는 주소값을 포함하는 인덱스(프리픽스섬머리(PrefixSummary))를 이용하게 되면 원하는 목표 문서가 아닌 문서의 버킷 수신은 생략하고 원하는 목표 문서에게로 바로 이동하게 된다. 그에 따라, 도 8의 (a)에 비해서는 원하는 목표 문서에게로 신속하게 접근할 수 있게 된다.
However, when using the index (PrefixSummary) including the location path and the address value satisfying the location path for heterogeneous XML documents as shown in FIG. It will skip the bucket reception and go directly to the desired target document. Accordingly, it is possible to quickly access a desired target document as compared with FIG. 8A.

한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. You must see.

30 : 수신부 32 : 데이터 스트림 생성부
34 : 위치 식별부 36 : 인덱스 엔트리 생성부
38 : 인덱스 생성부
30: receiver 32: data stream generator
34: location identification unit 36: index entry generation unit
38: index generator

Claims (12)

이종의 XML문서의 집합으로부터 생성되는 브로드캐스트 스트림을 기록한 컴퓨터 판독 가능 기록매체로서,
상기 브로드캐스트 스트림은 상기 이종의 XML문서의 내용이 실린 XML문서 필드, 및 상기 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함하는 인덱스 필드를 포함하고,
상기 인덱스 필드가 상기 XML문서 필드의 앞에 배치되며,
하나의 방송 주기 내에 두 개 이상의 상기 인덱스 필드가 포함되며, 두 번째 이상의 인덱스 필드는 상기 하나의 방송 주기에 후속하는 다음 방송 주기에 실린 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함하는 구조를 갖는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림을 기록한 컴퓨터 판독 가능 기록매체.
A computer-readable recording medium that records a broadcast stream generated from a set of heterogeneous XML documents.
The broadcast stream includes an XML document field containing contents of the heterogeneous XML document, and an index field including a location path for the heterogeneous XML document and an address value satisfying the location path.
The index field is placed in front of the XML document field,
Two or more index fields are included in one broadcast period, and the second or more index fields correspond to a location path for a heterogeneous XML document carried in the next broadcast period following the one broadcast period and an address satisfying the location path. A computer-readable recording medium having recorded therein a broadcast stream having an index, the structure comprising a value.
청구항 1에 있어서,
상기 주소값은 상기 위치 경로를 만족하는 모든 응답 노드들중에서 최초의 XML노드를 포함하는 버킷의 주소인 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림을 기록한 컴퓨터 판독 가능 기록매체.
The method according to claim 1,
And the address value is an address of a bucket including the first XML node among all the response nodes satisfying the location path.
삭제delete 삭제delete 수신되는 이종의 XML문서에 대한 데이터 스트림을 생성하는 데이터 스트림 생성부;
상기 데이터 스트림에서 서로 다른 위치 경로를 갖는 XML요소들의 위치를 식별하는 위치 식별부;
상기 위치 식별부로부터의 정보에 근거하여 상기 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함하는 인덱스 엔트리를 생성하는 인덱스 엔트리 생성부; 및
상기 생성되는 인덱스 엔트리의 집합이 되는 인덱스를 생성하는 인덱스 생성부;를 포함하며,
상기 인덱스 엔트리 생성부는 하나의 방송 주기 내에 두 개 이상의 상기 인덱스가 포함되며, 두 번째 이상의 인덱스는 상기 하나의 방송 주기에 후속하는 다음 방송 주기에 실린 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함하도록 하는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림 생성 장치.
A data stream generator for generating a data stream for the received heterogeneous XML document;
A location identifier which identifies a location of XML elements having different location paths in the data stream;
An index entry generator for generating an index entry including a location path for the heterogeneous XML document and an address value satisfying the location path based on the information from the location identifier; And
And an index generator for generating an index that is a set of the generated index entries.
The index entry generating unit includes two or more indexes in one broadcast period, and the second or more indexes indicate a location path and a location path for heterogeneous XML documents carried in a next broadcast period following the one broadcast period. A broadcast stream generating device having an index, characterized by including an address value that satisfies.
청구항 5에 있어서,
상기 데이터 스트림 생성부는 상기 생성된 데이터 스트림을 이전에 생성시킨 XML문서들에 대한 데이터 스트림에 연결시키는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림 생성 장치.
The method according to claim 5,
And the data stream generator is configured to connect the generated data stream to a data stream for previously generated XML documents.
청구항 5에 있어서,
상기 인덱스 생성부는 상기 이종의 XML문서의 내용이 실린 필드를 포함하는 브로드캐스트 스트림에서 상기 인덱스를 상기 이종의 XML문서의 내용이 실린 필드의 앞에 배치하는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림 생성 장치.
The method according to claim 5,
And the index generator is configured to place the index in front of the field containing the content of the heterogeneous XML document in the broadcast stream including the field containing the content of the heterogeneous XML document. .
삭제delete 수신되는 이종의 XML문서에 대한 데이터 스트림을 생성하는 단계;
상기 데이터 스트림에서 서로 다른 위치 경로를 갖는 XML요소들의 위치를 식별하는 단계;
상기 위치 식별된 정보에 근거하여 상기 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함하는 인덱스 엔트리를 생성하는 단계; 및
상기 생성되는 인덱스 엔트리의 집합이 되는 인덱스를 생성하는 단계;를 포함하며,
상기 인덱스 엔트리를 생성하는 단계는 하나의 방송 주기 내에 두 개 이상의 상기 인덱스가 포함되며, 두 번째 이상의 인덱스는 상기 하나의 방송 주기에 후속하는 다음 방송 주기에 실린 이종의 XML문서에 대한 위치 경로 및 상기 위치 경로를 만족하는 주소값을 포함하도록 하는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림 생성 방법.
Generating a data stream for the received heterogeneous XML document;
Identifying locations of XML elements having different location paths in the data stream;
Generating an index entry including a location path for the heterogeneous XML document and an address value satisfying the location path based on the location identified information; And
Generating an index that is a set of the generated index entries;
The generating of the index entry includes two or more of the indexes within one broadcast period, and the second or more indexes include location paths for heterogeneous XML documents carried in the next broadcast period following the one broadcast period, and And generating an address value satisfying the location path.
청구항 9에 있어서,
상기 데이터 스트림 생성 단계는 상기 생성된 데이터 스트림을 이전에 생성시킨 XML문서들에 대한 데이터 스트림에 연결시키는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림 생성 방법.
The method according to claim 9,
The data stream generating step is a broadcast stream generation method having an index, characterized in that for linking the generated data stream to the data stream for the previously generated XML documents.
청구항 9에 있어서,
상기 인덱스 생성 단계는 상기 이종의 XML문서의 내용이 실린 필드를 포함하는 브로드캐스트 스트림에서 상기 인덱스를 상기 이종의 XML문서의 내용이 실린 필드의 앞에 배치하는 것을 특징으로 하는 인덱스를 갖는 브로드캐스트 스트림 생성 방법.
The method according to claim 9,
The index generation step includes generating a broadcast stream having an index, wherein the index is placed in front of a field containing the content of the heterogeneous XML document in a broadcast stream including the field containing the content of the heterogeneous XML document. Way.
삭제delete
KR1020110021051A 2011-03-09 2011-03-09 Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index KR101282501B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110021051A KR101282501B1 (en) 2011-03-09 2011-03-09 Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110021051A KR101282501B1 (en) 2011-03-09 2011-03-09 Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index

Publications (2)

Publication Number Publication Date
KR20120104652A KR20120104652A (en) 2012-09-24
KR101282501B1 true KR101282501B1 (en) 2013-07-04

Family

ID=47111906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110021051A KR101282501B1 (en) 2011-03-09 2011-03-09 Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index

Country Status (1)

Country Link
KR (1) KR101282501B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100034990A (en) * 2008-09-25 2010-04-02 삼성전자주식회사 Method and apparatus for generating integrated metadata

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100034990A (en) * 2008-09-25 2010-04-02 삼성전자주식회사 Method and apparatus for generating integrated metadata

Also Published As

Publication number Publication date
KR20120104652A (en) 2012-09-24

Similar Documents

Publication Publication Date Title
AU2005264926B2 (en) Efficient extraction of XML content stored in a LOB
KR100493882B1 (en) Query process method for searching xml data
US8935267B2 (en) Apparatus and method for executing different query language queries on tree structured data using pre-computed indices of selective document paths
US7840590B2 (en) Querying and fragment extraction within resources in a hierarchical repository
US20060206466A1 (en) Evaluating relevance of results in a semi-structured data-base system
US8650182B2 (en) Mechanism for efficiently searching XML document collections
CN102122285A (en) Data cache system and data inquiry method
US20060036631A1 (en) High performance XML storage retrieval system and method
CN103530415A (en) Natural language search method and system compatible with keyword search
Park et al. Lineage encoding: an efficient wireless XML streaming supporting twig pattern queries
Boyer et al. Exclusive XML canonicalization, version 1.0
US20130297657A1 (en) Apparatus and Method for Forming and Using a Tree Structured Database with Top-Down Trees and Bottom-Up Indices
Sundaramoorthy et al. Semantic Keyword Search on XML
KR101282501B1 (en) Computer readable record medium where broadcast stream with index is recorded, apparatus for generating broadcast stream with index and method of generating broadcast stream with index
KR100776823B1 (en) Method for generating and selective receiving xml stream according to simple path query and apparatus thereof
JP2007533008A (en) Index for accessing XML data
US20120078872A1 (en) Method, search server, and system for mobile search interface adaptation
CN107729451A (en) A kind of method of data in lookup EDB database source files
Alexander et al. RDF object type and reification in the database
CN103136304B (en) Article processing method and device
KR100290665B1 (en) Method for storing and managing structured document in relational database
CN105608092B (en) Method and device for creating dynamic index
KR20090014077A (en) Apparatus and method for a query express
Kinutani et al. Identifying result subdocuments of XML search conditions
Xing et al. X2R: A system for managing XML documents and key constraints using RDBMS

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20160225

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee