[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20050058912A - 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체 - Google Patents

마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체 Download PDF

Info

Publication number
KR20050058912A
KR20050058912A KR1020030090937A KR20030090937A KR20050058912A KR 20050058912 A KR20050058912 A KR 20050058912A KR 1020030090937 A KR1020030090937 A KR 1020030090937A KR 20030090937 A KR20030090937 A KR 20030090937A KR 20050058912 A KR20050058912 A KR 20050058912A
Authority
KR
South Korea
Prior art keywords
fragment
index
data
markup language
digital data
Prior art date
Application number
KR1020030090937A
Other languages
English (en)
Other versions
KR100568234B1 (ko
Inventor
신효섭
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020030090937A priority Critical patent/KR100568234B1/ko
Priority to US10/991,616 priority patent/US7844644B2/en
Priority to JP2004352043A priority patent/JP2005174332A/ja
Priority to DE602004020438T priority patent/DE602004020438D1/de
Priority to EP04257604A priority patent/EP1542140B1/en
Priority to CNA2004100984793A priority patent/CN1627297A/zh
Publication of KR20050058912A publication Critical patent/KR20050058912A/ko
Application granted granted Critical
Publication of KR100568234B1 publication Critical patent/KR100568234B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및 기록매체에 관한 발명으로서, 본 발명은 마크업 랭귀지로 표현된 디지털 데이터를 효율적으로 관리하기 위해서는 프래그먼트화하고, 이 프래그먼트들을 관계형 테이블로 관리한다. 한편, 프래그먼트화된 디지털 데이터에 효율적으로 접근하기 위해서는 프래그먼트에 기반한 인덱스 구조를 추가로 제공한다.
본 발명에 따라, 디지털 데이터의 저장, 삭제, 갱신 또는 검색이 효율적으로 이루어지며, 디지털 데이터에 대한 인덱스를 프래그먼트에 근거하여 구성함으로써, 인덱스의 구성이 용이하고, 인덱스를 이용한 검색 또한 효율적으로 이루어진다.

Description

마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및 기록매체{Method and apparatus of managing data in a mark-up language, and machine readable storage medium for storing program}
본 발명은 마크업 랭귀지 기반의 데이터를 관리하는 방법과 그 장치 및 기록매체에 관한 것으로서, 보다 상세하게는 마크업 랭귀지 기반의 데이터를 프래그먼트화하여 생성, 저장, 삭제 또는 갱신하고 프래그먼트화된 데이터에 대한 인덱스를 생성, 저장, 삭제 또는 갱신하는 방법 및 기록매체에 관한 것이다.
최근 디지털 장치들이 많이 사용되고 있는데, 이런 디지털 장치는 디지털 데이터를 처리하는 디지털 회로를 가진 장치로서, 컴퓨터, 프린터, 스캐너, 페이저, 디지털 카메라, 팩스, 디지털 복사기, 개인용 디지털 단말기(PDA), 핸드폰, 디지털 가전기기, 디지털 전화, 디지털 프로젝트, 홈서버, 디지털 비디오 레코더, 디지털 TV 방송 수신기, 디지털 위성 방송 수신기, 및 셋탑박스 등을 예로 들 수 있다.
한편, 이런 디지털 장치들이 처리하는 디지털 데이터는 프로그래밍이 가능하도록 여러 가지 형태의 랭귀지로 구성될 수 있는데, SGML, HTML, XML 등과 같은 마크업 랭귀지는 구조적인 정보의 전달이 편리하다는 이점 등으로 인해 그 사용이 점점 증대되고 있다. 마크업 랭귀지에 대한 자세한 정보는 http://www.w3.org 또는 http://www.xml.com 등에서 찾을 수 있다. 현재 가장 보편적으로 사용되는 마크업 랭귀지는 표준기구 W3C의 표준인 XML이며, 앞으로도 다양한 마크업 랭귀지가 개발되어 사용될 것으로 예상된다.
도 1에 도시된 바와 같이 마크업 랭귀지로 구성된 디지털 데이터는 일반적으로 구조(structure)와 컨텐트(content)로 양분되어질 수 있다. 마크업 랭귀지로 구성된 디지털 데이터는 예를 들어, 도 2에 도시된 바와 같이 TVAMain(10)이라는 루트 노드와 ProgramDescripton, ProgramLocatonTable, BroadcastEvent(11), EventDescription, ServiceId(12), PublishedTime(13), PublishedDuration(14) 등과 같은 자식 노드들로 구성된 계층 구조를 가질 수 있다. 참고로, 도 2는 TV-Anytime 포럼에서 방송 프로그램에 대한 메타데이터로 사용하는 디지털 데이터의 계층 구조 일부를 도시한 것이다. TV-Anytime 포럼은 개인용 대용량 저장장치를 가진 PDR(Personal Digital Recorder)과 같은 사용자 환경에서 오디오 비주얼 관련 서비스 제공을 위한 표준 개발을 목적으로 1999년 9월에 설립된 민간 표준 기구이다.
디지털 장치들은, 마크업 랭귀지로 표현되고 소정 규약에 따른 구조를 가지는 디지털 데이터를 처리할 때, 위 구조에 대한 정보를 토대로 하여, 보다 신속하게 원하는 컨텐트에 접근할 수 있다.
따라서, 마크업 랭귀지로 작성되고, 소정의 규약에 의해 사전 지정된 구조를 가지는 디지털 데이터가 일단 생성되면, 이 디지털 데이터는 위 규약을 따르는 컴퓨터, PDA, 핸드폰 등의 다양한 디지털 장치들에서 효율적으로 처리될 수 있다.
이런 장점들로 인해, 마크업 랭귀지로 작성된 디지털 데이터는 컴퓨팅 능력이 뛰어난 엔터프라이즈 급의 시스템 뿐만 아니라 제한된 컴퓨팅 능력을 가지는 소형 디지털 장치에서도 많이 사용되고 있다.
현재 마크업 랭귀지로 작성되는 디지털 데이터로는 전화번호 리스트와 같은 임의의 개인 정보로부터, 멀티미디어 데이터를 기술하고 관리하기 위한 메타데이터까지 다양한 종류의 디지털 데이터가 있으며, 사용 목적에 따라 다양한 컨텐트 및 구조를 가지는 디지털 데이터가 활용되고 있다.
이런 마크업 랭귀지로 작성되는 디지털 데이터를 관리하기 위해서 다양한 방법들이 사용되어 왔는데, 예를 들어, XML 데이터를 저장하고 검색하는 방법으로는 도 3에 도시된 바와 같은 노드 넘버링(node numbering) 방법이 대표적인 방법이다. 노드 넘버링 방법에 대해서는 [1] Chun Zhang, Jeffrey F. Naughton, Qiong Luo, David J. DeWitt, 및 Guy M. Lohman 의 On supporting containment queries in relational database management systems, In Proc. of the 2001 ACM-SIGMOD conference, Santa Barbara, CA, USA, May 2001, [2] Quanzhong Li 및 Bongki Moon 의 Indexing and querying XML data for regular path expressions, In Proc. of the 26th VLDB conference, Rome, Italy, Sep. 2001, [3] Torsten Grust 의 Accelerating XPath Location Steps, In Proceedings of the 2002 ACM-SIGMOD conference, pages 109-120, Madison, Wisconsin, June 2002 등을 참조하기 바란다.
노드 넘버링 방법은 XML 문서 상의 각 노드(element 혹은 attribute)를 관계형 테이블의 투플(tuple)로 자연스럽게 매핑할 수 있다. 각 투플은 <doc_id, begin_pos, end_pos, level> 의 구조로 표현된다.
여기서 doc_id는 문서의 아이디를, begin_pos와 end_pos는 문서 안에서의 해당 노드의 위치 정보를, level은 루트 노드로부터의 깊이를 나타낸다. 예를 들어, 도 1의 XML 문서에서 ProgramInformation 노드 안에 존재하는 노드들만을 고려하면, 노드 넘버링 방법에 의하여 각 노드에 해당하는 투플은 도 3에서 표시한 트리의 노드로 표현된다.
위 도면에서 모든 노드가 같은 문서에 속하기 때문에 doc_id는 1로 설정되었고, 단말 노드는 부모 노드의 텍스트 값을 지정하는 특별한 노드 타입으로 사용되었다.
노드 넘버링 방법에서는, XPath 및 XQuery 언어에서 각각 '//' 및 '/'로 표현되는노드 간의 조상-자손(ancestor-descendant) 관계 및 부모-자식(parent-child) 관계가 각 투플의 필드값을 비교함으로써 판명된다. 즉, 노드 'A'가 노드 'B'의 조상 노드(즉, A//B)라면, 'A.doc_id == B.doc_id, A.begin_pos 〈 B.begin_pos, A.end_pos 〉 B.end_pos' 조건을 만족한다. 노드 'A'가 노드 'B'의 부모 노드(즉, A/B)라면, 앞의 조건에 'A.level == B.level - 1'이 추가된다.
이러한 성질을 이용해서, XPath 혹은 XQuery 언어로 'A/B' 또는 'A//B' 표현된 질의를 만족하는 노드 쌍은 위의 조건을 이용한 구조 조인(structural join)에 의하여 얻을 수 있다.
노드 넘버링 방법은 입력 데이터에 대하여 DTD 혹은 XML Schema 등의 정보가 없어도 일반적인 XML 데이터를 저장하고 검색할 수 있다는 장점을 가진다. 하지만, 이 방법은 컴퓨팅 능력이 떨어지는 소형 디지털 장치에서 몇 가지 단점을 가진다. XML 검색시, 필수 요소라 할 수 있는 경로식(path expression)을 처리하는데 경로식의 길이만큼의 횟수의 조인이 필요하다.
소형 디지털 장치에서 이러한 연산은 메모리 부족을 야기시켜 빈번한 I/O를 발생시키기 때문에 성능 저하가 심각해질 수 있다. XML 데이터의 복원 측면에서도 마찬가지의 결과를 불러온다. 마지막으로 업데이트도 자식 노드의 업데이트가 부모 노드의 업데이트를 야기시킬 수 있기 때문에 효율적이지 못하다는 단점을 가진다.
XML 문서를 저장하고 검색하는 종래의 다른 방법으로, 애트리뷰트 인라이닝 (attribute inlining) 방법이 있다. 이 방법은, 하나 이상의 XML 노드들을 동일한 테이블 안에 묶어 넣음으로써 노드 넘버링 방법에서 발생하는 과도한 XML 문서의 단편화 현상을 줄인 것으로서, 주어진 DTD 혹은 XML Schema를 참조하여 자동으로 관계형 데이터베이스를 구축할 수 있다.
애트리뷰트 인라이닝 방법에 대한 자세한 내용은, Javavel Shanmugasundaram, Kristin Tufte, Chun Zhang, Gang He, David J. Dewitt, 및 Jeffrey F. Naughton 의 Relational databases for querying XML documents: Limitations and opportunities, In Proc. of the 25th VLDB conference, pages 302-314, Edinburgh, Scotland, Sep. 1999 을 참조하기 바란다.
하지만, 애트리뷰트 인라이닝 방법 또한 DTD 안에 있는 많은 노드들이 복수의 카디날리티를 가지는 경우에는 노드 넘버링 방법과 마찬가지로 많은 연산이 필요하고, XML 데이터의 스키마(DTD)에 매우 민감하기 때문에 노드의 속성이 변하면 데이터베이스를 재생성해야 한다는 불편함이 있다.
따라서, 마크업 랭귀지로 작성된 디지털 데이터를 효율적으로 관리하기 위한 방법이 필요하게 되었다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 마크업 랭귀지 기반의 데이터를 효율적으로 관리하기 위한 방법과 그 장치 및 이 데이터를 기록한 기록 매체를 제공하는 것을 목적으로 한다.
본 발명은 마크업 랭귀지 기반의 데이터에 대한 효율적인 인덱스 방법과 그 장치 및 이 인덱스를 기록한 기록매체를 제공하는 것을 또다른 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 마크업 랭귀지 기반의 데이터 관리 장치는,
마크업 랭귀지 기반의 데이터가 소정 노드 그룹 별로 분할된 프래그먼트를 제공하는 데이터 제공부; 상기 프래그먼트, 및 상기 프래그먼트를 식별할 수 있는 식별자를 각 프래그먼트별로 저장하는 저장부; 및 상기 데이터에 대한 검색 요청시 상기 요청된 데이터를 포함하는 프래그먼트를 상기 저장부에서 검색하여 제공하는 데이터 처리부를 포함한다.
위 실시예에서, 상기 데이터 제공부가 제공한 프래그먼트를 분석하여, 상기 프래그먼트 및 상기 프래그먼트를 식별할 수 있는 식별자를 각 프래그먼트별로 상기 저장부에 저장하는 프래그먼트 관리부를 더 포함하는 것이 바람직하다.
또한, 상기 프래그먼트 관리부는, 분석된 데이터가 상기 저장부에 저장된 데이터보다 최신일 경우, 해당 프래그먼트를 갱신하는 것이 바람직하다.
한편, 상기 제공된 프래그먼트를 분석하여 상기 데이터에 대한 인덱스를 생성하고, 상기 생성된 인덱스를 상기 저장부에 저장하는 인덱스 관리부를 더 포함하는 것이 바람직하다.
또한, 상기 데이터 제공부는 상기 프래그먼트에 대한 인덱스를 추가로 제공하는 것이 바람직하다.
또한, 상기 데이터 제공부가 제공한 인덱스를 분석하여, 상기 인덱스 및 상기 인덱스를 식별할 수 있는 식별자를 각 인덱스별로 상기 저장부에 저장하는 인덱스 관리부를 더 포함하는 것이 바람직하다.
또한, 상기 인덱스 관리부는, 분석된 인덱스가 상기 저장부에 저장된 인덱스보다 최신일 경우, 해당 인덱스를 갱신하는 것이 바람직하다.
또한, 상기 데이터 제공부는, 수신된 디지털 방송 스트림 중에서 프래그먼트화된 데이터를 선별하여 제공하는 것이 바람직하다.
또한, 상기 데이터 처리부가 제공한 프래그먼트를 파싱하여 출력하는 메타데이터 브라우저를 더 포함하는 것이 바람직하다.
본 발명의 실시예에 따른 마크업 랭귀지 기반의 데이터 관리 방법은, 마크업 랭귀지 기반의 데이터가 소정 노드 그룹 별로 분할된 프래그먼트를 제공하는 단계; 상기 프래그먼트를 분석하여, 상기 프래그먼트 및 상기 프래그먼트를 식별할 수 있는 식별자를 각 프래그먼트별로 저장하는 단계; 및 상기 데이터에 대한 검색 요청시 상기 요청된 데이터를 포함하는 프래그먼트를 검색하여 제공하는 단계를 포함한다.
위 실시예에서, 상기 분석된 데이터가 기저장된 데이터보다 최신일 경우, 해당 프래그먼트를 갱신하는 단계를 더 포함하는 것이 바람직하다.
한편, 상기 제공된 프래그먼트를 분석하여 상기 데이터에 대한 인덱스를 생성하고, 상기 생성된 인덱스를 저장하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 프래그먼트에 대한 인덱스를 제공하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 제공된 인덱스를 분석하여, 상기 인덱스 및 상기 인덱스를 식별할 수 있는 식별자를 각 인덱스별로 저장하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 분석된 인덱스가 기저장된 인덱스보다 최신일 경우, 해당 인덱스를 갱신하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 제공된 프래그먼트화된 데이터는, 수신된 디지털 방송 스트림 중에서 선별된 것이 바람직하다.
또한, 상기 검색된 프래그먼트를 파싱하여 출력하는 단계를 더 포함하는 것이 바람직하다.
본 발명의 실시예에 따른 마크업 랭귀지 기반의 데이터 관리 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는 전술한 실시예에 따른 방법들을 실행할 수 있도록 구성된다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 마크업 랭귀지 기반의 데이터를 관리하는 방법과 장치 및 기록매체를 구체적으로 설명하도록 한다. 본 발명의 이점 및 특징, 그리고 이를 달성하는 방법은 첨부된 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 이 실시예들을 벗어나 다양한 형태로 구현 가능하며, 본 명세서에서 설명하는 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항 및 발명의 상세한 설명에 의해 정의될 뿐이다. 한편, 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예를 상술하기에 앞서, 마크업 랭귀지로 표현된 디지털 데이터의 프래그먼트화에 대한 개념을 먼저 설명한다. 프래그먼트화는 디지털 데이터의 블록화를 의미하는데, 본 발명의 실시예에 따른 마크업 랭귀지 기반의 데이터를 관리하는 방법과 장치 및 기록매체는 기본적으로 디지털 데이터를 프래그먼트 기반으로 관리한다. 마크업 랭귀지로 표현된 디지털 데이터의 프래그먼트 정책은 해당 디지털 장치에 의해 결정될 수도 있으며, 소정의 디지털 데이터를 주고 받는 다수의 디지털 장치들(이하 '도메인'이라 함) 간의 규약에 의해 결정될 수도 있다.
도 4를 참조하여 프래그먼트의 개념을 간략히 설명하면, 프래그먼트란 도 1 및 2에 도시된 마크업 랭귀지로 구성된 디지털 데이터를 소정의 트리 구조별로 분할한 것이다.
예를 들면, TVAMain을 상위 노드로 하여 소정의 자식 노드까지 포함하는 트리 구조 (프래그먼트 TVAMain), 프로그램 정보(ProgramInformation Table)를 상위 노드로 하여 이하 자식 노드까지 포함하는 트리 구조(프래그먼트 ProgramInformation), 브로드캐스트이벤트 정보(BroadcastEvent)를 상위 노드로 하여 이하 자식 노드까지 포함하는 트리 구조(프래그먼트 BroadcastEvent)등으로 분할할 경우, 분할된 트리 구조 각각은 별도의 프래그먼트가 된다.
이런 디지털 데이터의 프래그먼트화는 데이터의 양이 많은 디지털 데이터를 관리하거나, 이 디지털 데이터를 전송할 때 유용하다. 예를 들어, 디지털 데이터가 프래그먼트화되고, 이 프래그먼트들이 다른 프래그먼트와 식별이 가능하도록 구성된다면, 데이터 관리시 필요한 프래그먼트만 개별적으로 접근할 수 있으며, 디지털 데이터의 전송시에도 다른 프래그먼트들과 독립적으로 전송할 수 있는 이점이 발생한다.
한 도메인 내에서 마크업 랭귀지의 계층 구조는 일련의 프래그먼트들, 즉 일련의 프래그먼트 타입들로 나뉘어 진다. 한 프래그먼트 타입은 다른 프래그먼트 타입의 자식이 될 수 있다. 도 4에서는 TVAMain, ProgramInformation, BroadcastEvent 의 3 가지 프래그먼트 타입이 존재하게 된다. 도 4에서는 3개의 프래그먼트로 분할하였지만, 분할 방식 및 분할된 프래그먼트의 개수는 해당 도메인의 프래그먼트 정책에 따라 임의로 결정될 수 있다.
한편, 각 프래그먼트는 독립적으로 갱신될 수 있기 때문에, 서로 다른 프래그먼트에 속하는 두 노드 사이의 부모-자식 관계는 더 이상 유효하지 않을 수 있다. 따라서, 마크업 랭귀지 기반의 디지털 데이터를 프래그먼트화할 때, 특정 두 노드간의 부모-자식 관계를 유지하기 위해서는 프래그먼트 정책이 해당 두 노드를 같은 프래그먼트 타입에 속하도록 설계되거나, 혹은 한 노드가 다른 노드를 참조할 수 있는 IDREF 타입 노드의 사용과 같은 추가적인 고려가 적용될 수 있다.
디지털 데이터의 프래그먼트화는, 마크업 랭귀지 기반의 디지털 데이터에 접근할 때, 더욱 상세하게는 디지털 데이터의 소정 노드를 접근할 때 더욱 유용하다.
먼저 프래그먼트 정책을 참고하여, 접근하고자 하는 노드가 해당하는 프래그먼트를 확인하고, 이후 프래그먼트에서 바로 해당 노드를 접근할 수 있다. 따라서, 모든 디지털 데이터를 처리할 필요없이 해당 프래그먼트만 처리하여 원하는 정보를 획득할 수 있게 된다.
한편, 프래그먼트화된 디지털 데이터의 소정 노드를 표시하는 방법으로서, XML의 경우 W3C에서 정의한 XPath(XPath는 W3C에서 정의한 XML 문서내 노드에 대한 경로를 기술하는 신텍스(syntax)임)를 사용할 수 있다. XPath를 사용하여, a) 표시하고자 하는 노드가 포함되는 프래그먼트의 상위 노드를 디지털 데이터의 최상위 노드로부터의 절대 경로로 표시하고, b) 해당 프래그먼트의 상위 노드에서 표시하고자 하는 노드까지의 상대 경로를 표시함으로써 임의의 프래그먼트에 포함된 노드를 표시할 수 있다.
프래그먼트화된 디지털 데이터를 식별하기 위해, 앞서 설명한 표시 방법이 사용될 수 있다. 예를 들어, 각 프래그먼트를 식별하기 위해, 각 프래그먼트들의 a) 상위 노드의 절대 경로를 활용할 수 있다. 또한, 절대 경로를 XPath로 표현하는 방법 이외에, 어느 정도 정형화된 절대 경로들이 존재하는 경우, 이 정형화된 절대 경로들을 소정의 맵핑 룰에 따라 코드로 표현하는 방법 또한 가능하다. 예를 들어, 앞서 설명한 도 2 및 도 4의 BroadcastEvent 프래그먼트를 XPath로 표현하면 '/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' 가 되고, 이를 소정의 맵핑 룰에 따라 'FF01' 로 표현할 수도 있다. 이 경우 위 BroadcastEvent 프래그먼트의 타입은 'FF01'에 의해 식별될 수 있다.
이하에서는 본 발명의 바람직한 실시예에 따른 데이터의 관리 구조를 설명한다.
본 실시예에서는 프래그먼트화된 디지털 데이터를 표 1과 같은 관계형 테이블로 관리한다.
Fragment#1_id fragment#1_type fragment#1_version fragment#1_content
Fragment#2_id fragment#2_type fragment#2_version fragment#2_content
Fragment#3_id fragment#3_type fragment#3_version fragment#3_content
... ... ... ...
표 1의 관계 테이블은 각 프래그먼트에 대한 프래그먼트 식별자(fragment_id), 프래그먼트 타입(fragment_type), 프래그먼트 버전(fragment_version), 프래그먼트 컨텐트(fragment_content)로 구성된다.
여기서, 프래그먼트 식별자(fragment_id)는 각 프래그먼트를 식별하는 식별자로서 전송 네트웍이나 데이터베이스 안에서 해당 프래그먼트를 식별하기 위한 것이고, 프래그먼트 타입(fragment_type)은 해당 프래그먼트가 어떤 프래그먼트 타입인 지를 나타낸다. 프래그먼트 버전(fragment_version)은 해당 프래그먼트의 버전을 나타낸다. 프래그먼트 컨텐트(fragment_content)는 프래그먼트화된 디지털 데이터가 저장되는 곳으로서, 이 디지털 데이터는 텍스트 형태의 프래그먼트 자체 또는 해당 프래그먼트를 파싱하고 난 이후의 형태로 저장 가능하다.
이와 같은 관계형 테이블을 이용하여 프래그먼트화된 디지털 데이터를 관리할 경우, 디지털 기기가 모든 디지털 데이터를 처리하지 않고도 원하는 정보에 대해 효율적으로 접근할 수 있다. 원하는 정보에 접근하기 위해 먼저 원하는 정보가 포함된 프래그먼트 타입을 확인한다. 이때 프래그먼트 타입은 전술한 프래그먼트 정책에 의해 용이하게 확인될 수 있다.
이후 동일한 프래그먼트 타입을 가진 다수의 프래그먼트들이 존재할 경우, 프래그먼트 버전을 확인하여 가장 최신의 프래그먼트를 선택한다. 선택된 프래그먼트의 프래그먼트 컨텐트를 확인함으로써 원하는 정보를 얻을 수 있다. 만약 프래그먼트 컨텐트가 파싱되지 않은 텍스트 형태의 프래그먼트 내용 자체라면, 해당 내용을 파싱하는 절차를 수행하여 원하는 정보를 추출한다.
이하에서는 본 발명의 바람직한 실시예에 따른 디지털 데이터에 대한 인덱스 구조를 설명한다.
어떤 조건을 만족하는 프래그먼트를 검색하기 위해서, 관계형 테이블 안에 있는 모든 프래그먼트의 내용을 들여다 보는 것보다, 검색 조건으로 자주 참조되는 노드들을 미리 인덱싱하고, 이 인덱스를 참조하는 것이 더욱 바람직할 수 있다.
인덱스는 프래그먼트 타입에 대해서 그 타입에 속하는 임의의 노드값을 키 값으로 하여 만들어질 수 있다. 예를 들어 도 1의 XML 문서에서 ProgramInformation 프래그먼트 타입을 Genre 노드값을 키 값으로 하여 인덱스를 생성하면, 특정 장르에 속하는 프로그램의 정보를 효율적으로 검색할 수 있게 된다.
따라서, 디지털 데이터에 대한 효율적인 검색과 접근을 허용하기 위해, 이 디지털 데이터에 대한 인덱스 구조를 제공하는 것이 바람직하다.
마크업 랭귀지로 표현된 디지털 데이터의 소정 노드를, 인덱스를 위한 키로 사용할 수 있다. 예를 들어, 도 2에서는, '방송 시간'으로 인덱싱하기 위해 'PublishedTime'이 키로 사용될 수 있다.
키를 표현하기 위해, 전술한 바와 같이, 키에 대응되는 노드를 포함하는 프래그먼트의 절대 경로와, 해당 프래그먼트내에서의 상대 경로를 사용할 수 있다.
도 2와 도 4을 참조하여 설명하면, '방송 시간'이 키로 사용될 경우, 이 키에 대한 정보는 a) 'PublishedTime'이 포함된 프래그먼트(즉, 프래그먼트 'BroadcastEvent')의 절대 경로인 '/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' 와, b) 프래그먼트 'BroadcastEvent' 내에서 'PublishedTime' 의 상대 경로인 'EventDescription/PublishedTime' 가 된다.
결론적으로, 마크업 랭귀지로 표현된 디지털 데이터를 효율적으로 관리하기 위해서는 프래그먼트화하는 것이 바람직하며, 이 프래그먼트들은 전술한 형태의 관계형 테이블로 관리하는 것이 바람직하다. 한편, 프래그먼트화된 디지털 데이터에 효율적으로 접근하기 위해서는 인덱스 구조를 제공하는 것이 더욱 바람직하다.
인덱스 구조에서 사용되는 키는 소정의 프래그먼트에 포함된 소정의 노드가 될 수 있으며, 인덱스 구조를 활용하여 원하는 컨텐트를 가지고 있는 프래그먼트를 직접 접근가능하다. 한편, 인덱스 구조에 사용되는 키에 대한 정보로서, 키에 대응되는 노드를 포함하는 프래그먼트의 절대 경로와, 해당 프래그먼트내에서의 상대 경로를 사용하는 것이 가능하다.
인덱스 구조에 사용되는 키에 대한 정보로서, 앞서 설명한 절대 경로와 상대 경로를 XPath로 표현하는 방법 이외에, 어느 정도 정형화된 절대 경로와 상대 경로들이 존재하는 경우, 이 정형화된 절대 경로와 상대 경로들을 소정의 맵핑 룰에 따라 코드로 표현하는 방법 또한 가능하다. 예를 들어, 앞서 설명한 도 2 및 도 3의 '/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' 를 소정의 맵핑 룰에 따라 'FF01' 및 'EventDescription/PublishedTime' 를 각각 'AA01' 로 표현할 수도 있다.
본 발명의 바람직한 실시예에 따른 인덱스 구조는 도 5에 도시되어 있다.
본 발명의 바람직한 실시예에 따른 마크업 랭귀지 기반 데이터의 전체 구조는 크게 인덱스 사전부(IndexDictionary)(100), 인덱스 키 필드부(IndexKeyfield)(200), 인덱스부(Index)(300a, 300b), 프래그먼트부(Fragment)(400)의 4가지 부분으로 구성된다.
앞서 설명한 바와 같이, 프래그먼트부(Fragment)(400)는 프래그먼트화된 디지털 데이터들이 저장되는 관계형 테이블로서, 전술한 바와 같이, 프래그먼트 식별자(fragment_id), 프래그먼트 타입(fragment_type), 프래그먼트 버전(fragment_version), 프래그먼트 컨텐트(fragment_content)로 구성된다.
한편 인덱스를 위해, 인덱스 사전부(IndexDictionary)(100), 인덱스 키 필드부(IndexKeyfield)(200), 및 인덱스부(Index)(300a, 300b)가 제공된다.
인덱스부(300)를 구성하는 각 엔트리는 키 값(key_value), 프래그먼트 식별자(fragment_id), 및 프래그먼트 버전(fragment_version) 필드들로 구성된다. 키 값(key_value)은 하나 이상의 필드로 구성된 다중키 값으로 구성될 수도 있다. 프래그먼트 식별자(fragment_id)는 프래그먼트부(400)의 프래그먼트 식별자(fragment_id)와 동일하고, 프래그먼트 버전(fragment_version)은 프래그먼트부(400)의 프래그먼트 버전(fragment_version)과 동일하다. 프래그먼트를 위한 인덱스는 B-tree 등과 같은 일반적으로 널리 알려진 인덱스 기법으로 구축이 가능하다.
데이터베이스 안에는 하나 이상의 인덱스가 존재할 수 있기 때문에, 각 인덱스를 기술하는 2개의 보조 데이터 구조가 제공될 수 있다.
인덱스 사전부(100)는 각 인덱스에 대한 정보를 기술하는데, 인덱스 식별자(index_id), 인덱스 버전(index_version), 프래그먼트 타입(fragment_type), 키 필드 개수(num_key_field), 및 키 필드 식별자(key_field_id)의 구조로 구성된다.
여기서 인덱스 식별자(index_id)는 인덱스를 식별하는 아이디이고, 인덱스 버전(index_version)은 인덱스의 버전을 나타내며, 키 필드 개수(num_key_field)는 키를 구성하는 필드(노드)의 개수를 나타내고, 키 필드 식별자(key_field_id)는 키 필드를 식별하는 아이디이다. 인덱스 키 필드부(200)는 인덱스부(300)의 키 필드에 대한 정보를 기술하는데, 키 필드 식별자(key_field_id), 키 필드 경로(key_field_path), 키 필드 타입(key_field_type)으로 구성된다. 키 필드 식별자(key_field_id)는 키 필드의 아이디를 나타내고, 키 필드 경로(key_field_path)는 키 필드의 마크업 랭귀지 데이터 구조 상에서 해당 프래그먼트에서 해당 키 필드까지의 경로(상대 경로)를 나타내며, 키 필드 타입(key_field_type)은 키 필드의 데이터베이스 안에서의 타입을 나타낸다. 다른 실시예로, 키 필드 경로(key_field_path)로서 키 필드의 마크업 랭귀지 데이터 구조 상에서 루트 노드에서 해당 키 필드까지의 경로(절대 경로)가 사용될 수도 있다.
이와 같은 마크업 랭귀지 기반의 데이터 구조를 이용한 디지털 데이터의 관리 방법에 대해서는 도 8을 참조하여 후술한다.
도 6은 도 5에 도시된 데이터 관리 구조를 이용하여 도 1의 디지털 데이터를 관리하는 실시예를 도시한다.
본 실시예에서는 도 1의 디지털 데이터에 대한 인덱스의 정보를 기술하는데, 본 실시예는 예시적으로 'ProgramInformation' 이란 프래그먼트 내에 포함된 '장르(Genre)'를 키로 하고, 키 값으로 '뉴스(News)'를 가지는 인덱스에 관한 것이다.
본 실시예의 인덱스 사전부(IndexDictionary)(100)는, 프래그먼트 타입이 'ProgramInformation'인 프래그먼트에 대한 인덱스로서 인덱스 식별자(index_id)가 '1'이고, 인덱스 버전(index_version)이 '2'인 인덱스부(300)에 대한 정보를 포함하고 있다. 또한 이 인덱스부(300)의 키 필드에 대한 정보를 가지는 인덱스 키 필드부(200)에 대한 정보로서, 키 필드 개수(num_key_field) 및 키 필드 식별자(key_field_id)를 더 포함한다. 본 실시예에서 '장르(Genre)'에 대한 1개의 키 필드만 가지므로 키 필드 개수(num_key_field)는 '1'이고, 이 키 필드에 대한 정보를 가지는 인덱스 키 필드부(200)의 키 필드 식별자(key_field_id)는 '7'이다.
인덱스 키 필드부(200)는 '장르(Genre)' 키 필드에 대한 정보를 기술하는데, 키 필드 식별자(key_field_id)는 '7', 키 필드 경로(key_field_path)는 'BasicDescription/Genre', 키 필드 타입(key_field_type)은 'string'이다.
도 6에 도시된 인덱스 부(300)의 엔트리는 '장르(Genre)' 키 필드에 대해 키 값(key_value)이 '뉴스(News)'인 엔트리이다. 키 값(key_value)이 '뉴스(News)'인, 즉 장르가 뉴스인 디지털 데이터를 포함하는 프래그먼트의 프래그먼트 식별자(fragment_id)는 '123' 이고, 프래그먼트 버전(fragment_version)은 '1' 이다.
따라서, 사용자는 키 필드를 '장르'인 인덱스부(300)를 인덱스 사전부 (100) 및 인덱스 키 필드부 (200)를 참조하여 검색하고, 인덱스부(300)내에서 키 값이 '뉴스'인 엔트리를 검색하여, 이 엔트리에서 프래그먼트의 프래그먼트 식별자와 프래그먼트 버전을 추출한다. 최종적으로, 이를 이용하여 프래그먼트부(400)에서 '장르'가 '뉴스'인 디지털 데이터를 포함하는 프래그먼트를 검색할 수 있다.
도 7은 본 발명의 일실시예에 따른 마크업 랭귀지 기반의 데이터를 관리하는 디지털 장치의 블록도를 도시한다.
본 발명의 일시예에 따른 마크업 랭귀지 기반의 데이터를 관리하는 디지털 장치(500)는 프래그먼트화된 디지털 데이터를 제공하는 데이터 제공부(510), 제공된 프래그먼트를 본 발명에 따른 데이터 구조로 변경하는 프래그먼트 관리부(520), 프래그먼트에 대한 인덱스를 생성 또는 갱신하는 인덱스 관리부(530), 제공된 프래그먼트 및 인덱스를 저장부(570)에 저장하고, 저장된 디지털 데이터에 대한 검색을 수행하는 데이터 처리부(540), 및 검색을 요청하고 필요한 디지털 데이터를 데이터 처리부(540)로부터 받아 활용하는 애플리케이션(560)으로 구성될 수 있다.
데이터 제공부(510)는 소정의 프래그먼트 정책에 따라 프래그먼트화된 디지털 데이터를 제공하는 기능을 수행한다. 데이터 제공부(510)는 프래그먼트화된 디지털 데이터를 자체 생성하거나, 다른 디지털 장치로부터 수신하여 제공한다.
다른 디지털 장치로부터 프래그먼트화된 디지털 데이터를 수신할 때, 디지털 데이터 뿐만 아니라 이 디지털 데이터에 대한 인덱스까지 수신할 수도 있다. 이 경우, 수신된 인덱스는 인덱스 관리부(530)로 제공되어 관리된다.
프래그먼트 관리부(520)는 데이터 제공부(510)가 제공한 프래그먼트화된 디지털 데이터를 분석하여 표 1에 따른 관계형 테이블로 해당 프래그먼트가 저장되도록 한다.
소정의 프래그먼트를 분석하여, 프래그먼트 식별자(fragment_id), 프래그먼트 타입(fragment_type), 프래그먼트 버전(fragment_version), 프래그먼트 컨텐트(fragment_content)의 정보를 추출하고, 이를 데이터 처리부(540)에 전달한다. 이미 저장된 프래그먼트에 대해 갱신된 프래그먼트가 수신될 경우, 저장되어 있는 해당 프래그먼트를 갱신하는 역할도 수행한다.
인덱스 관리부(530)는 데이터 처리부(540)가 제공한 프래그먼트화된 디지털 데이터를 분석하여 도 5의 인덱스 사전부(IndexDictionary)(100), 인덱스 키 필드부(IndexKeyfield)(200) 및 인덱스부(Index)(300a, 300b)를 생성한다.
만약 데이터 제공부(510)로부터 인덱스가 수신될 경우, 인덱스 관리부(530)는 위의 정보들을 자체 생성하는 역할 이외에, 이를 분석하는 역할도 수행할 수 있다. 또한 인덱스 관리부는 저장된 프래그먼트에 대해 갱신된 프래그먼트가 수신될 경우, 이에 따라 해당 인덱스를 갱신하는 역할도 수행할 수 있다.
데이터 처리부(540)는 프래그먼트 관리부(540) 및 인덱스 관리부(530)로부터 처리 결과를 수신하여 이를 저장부(570)에 저장하고, 애플리케이션(560)의 요청에 따라 해당 프래그먼트를 저장부(570)에서 검색하여, 필요한 디지털 데이터를 추출하고, 이를 애플리케이션(560)에 전달한다. 만약 저장부(570)에 저장된 관계형 테이블의 프래그먼트 컨텐트(fragment_content)가 텍스트 형태의 프래그먼트 자체일 경우에는, 이를 파싱하여 필요한 디지털 데이터를 애플리케이션(560)에 전달할 수 있다.
또한 데이터 처리부(540)은 새로운 프래그먼트가 접수된 경우, 이를 인덱스 관리부(530)에게 통지하여, 인덱스 관리부(530)가 해당 인덱스를 갱신하도록 한다.
데이터 처리부(540)는 저장부(570)를 관리하는 역할 또한 수행하는데, 사용자의 요청 또는 소정의 알고리즘에 따라 저장부(570)에 저장된 프래그먼트 또는 인덱스를 선택적으로 삭제하도록 프래그먼트 관리부(520) 및 인덱스 관리부(530)에 요청한다. 한편, 프래그먼트만 삭제 요청받은 경우라도, 해당 인덱스 또한 더 이상 필요가 없으므로 같이 삭제되는 것이 바람직하다. 따라서, 데이터 처리부(540)는 소정의 프래그먼트의 삭제를 인덱스 관리부(530)에 통지하여, 저장된 인덱스를 수정하도록 요청할 수도 있다.
도 7에 도시된 디지털 장치(500)의 동작을 정리해 보면 다음과 같다.
본 발명의 실시예에 따른 디지털 장치는 아래의 동작을 모두 수행할 수도 있지만, 디지털 장치의 성능 또는 기능에 따라 1 이상의 동작을 선택적으로 수행할 수도 있다.
1. 프래그먼트화된 디지털 데이터의 생성
2. 프래그먼트화된 디지털 데이터의 저장
3. 프래그먼트화된 디지털 데이터의 갱신
4. 프래그먼트화된 디지털 데이터의 삭제
5. 프래그먼트화된 디지털 데이터에 대한 인덱스의 생성
6. 프래그먼트화된 디지털 데이터에 대한 인덱스의 저장
7. 프래그먼트화된 디지털 데이터에 대한 인덱스의 갱신
8. 프래그먼트화된 디지털 데이터에 대한 인덱스의 삭제
9. 디지털 데이터의 검색
10. 검색된 디지털 데이터의 출력
위 기능들에 대한 자세한 설명은 도 8에 관한 설명 부분을 참조하기 바란다.
도 8은 프래그먼트화된 디지털 데이터의 관리 방법을 도시한다.
1. 프래그먼트화된 디지털 데이터의 생성
디지털 데이터는 소정의 프래그먼트 정책에 따라 프래그먼트화된다. 데이터 제공부(510)은 소정의 프래그먼트 정책에 따라 디지털 데이터를 프래그먼트화시킨다(S110). 다른 실시예로서, 데이터 제공부(510)는 다른 디지털 장치로부터 수신된 프래그먼트를 제공할 수도 있다.
2. 프래그먼트화된 디지털 데이터의 저장
데이터 제공부(510)가 제공한 프래그먼트는 프래그먼트 관리부(520)에 의해 분석된다(S120). 프래그먼트 관리부(520)는 프래그먼트 분석 후, 표 1의 프래그먼트 식별자(fragment_id), 프래그먼트 타입(fragment_type), 프래그먼트 버전(fragment_version), 프래그먼트 컨텐트(fragment_content)와 같은 정보를 추출한다. 추출된 정보는 데이터 처리부(540)에 전달되어 저장부(570)의 프래그먼트부(Fragment)(400)에 저장된다.
한편, 중복 저장을 방지하기 위해, 데이터 제공부(510)가 제공한 프래그먼트와 기 저장된 프래그먼트의 프래그먼트 식별자(fragment_id)를 비교하는 단계(S130)를 더 포함할 수 있다.
이 경우 프래그먼트 식별자(fragment_id)가 동일한 프래그먼트는 버려지고(S150), 다른 프래그먼트 식별자(fragment_id)를 가진 프래그먼트만 저장된다(S170). 또한 다른 실시예로, 프래그먼트 식별자(fragment_id) 비교 이후 프래그먼트 버전(fragment_version)을 추가로 비교하는 것도 가능하다(S140). 프래그먼트 식별자(fragment_id)가 동일하고, 프래그먼트 버전(fragment_version)이 더 높은 프래그먼트가 제공되었다면, 이는 해당 프래그먼트의 갱신을 의미하게 되어, 아래의 3. 과정이 수행된다.
한편, 저장부(570)의 프래그먼트부(Fragment)(400)에 새로운 프래그먼트가 추가되거나, 기존의 프래그먼트가 갱신될 경우 해당 프래그먼트에 대한 인덱스 또한 추가되거나, 갱신될 필요가 있다. 인덱스의 추가 또는 갱신에 관한 과정은 아래의 5~7 과정을 참조하기 바란다.
3. 프래그먼트화된 디지털 데이터의 갱신
저장부(570)에 기 저장된 프래그먼트와 소정의 정보가 동일한 프래그먼트가 데이터 제공부(510)로부터 제공될 경우 데이터 처리부(540)는 해당 프래그먼트를 갱신한다(S160). 동일성 판단을 위해서는 다양한 필드들이 사용될 수 있으며, 전술한 바와 같이, 프래그먼트 버전(fragment_version)을 동일성 판단에 사용하여 해당 프래그먼트가 갱신되었음을 판단할 수도 있다.
4. 프래그먼트화된 디지털 데이터의 삭제
저장부(570)에 저장된 디지털 데이터는 프래그먼트 단위로 삭제 가능하다. 관계 테이블로 저장된 프래그먼트는 애플리케이션(560)을 통한 사용자의 요청, 또는 소정의 알고리즘에 의해 자동적으로 삭제될 수 있다. 이 경우 해당 프래그먼트에 관한 정보는 관계 테이블에서 삭제된다.
5. 프래그먼트화된 디지털 데이터에 대한 인덱스의 생성
소정의 디지털 데이터를 검색하기 위해 저장부(570)에 저장된 모든 프래그먼트의 내용을 살펴보는 것보다, 프래그먼트들에 대한 인덱스를 제공하고 이 인덱스를 검색하는 것이 더욱 효율적일 수 있다.
본 발명의 바람직한 실시예에서는, 소정의 프래그먼트 타입에 대해 그 타입에 속하는 임의의 노드를 키로 선정하고, 해당 노드의 값을 키 값으로 해서 만들어 진다.
인덱스 관리부(530)는 프래그먼트를 분석하여, 도 5와 같은 인덱스 사전부(IndexDictionary)(100), 인덱스 키 필드부(IndexKeyfield)(200), 인덱스부(Index)(300a, 300b)를 생성함으로써 인덱스를 제공한다(S210).
한편, 인덱스 제공부(530)는 디지털 장치의 성능 및 기능에 따라 다른 디지털 장치로부터 수신된 인덱스를 제공할 수도 있다.
6. 프래그먼트화된 디지털 데이터에 대한 인덱스의 저장
인덱스 제공부(530)가 제공한 인덱스는 데이터 처리부(540)에 전달되어 저장부(570)에 저장된다. 프래그먼트의 관리 방법에서와 마찬가지로, 인덱스를 분석하여(S220), 중복 여부를 판단하고(S230), 갱신 여부를 판단하여(S240), 이에 따라 인덱스를 버리거나(S250), 인덱스를 갱신하거나(S260), 인덱스를 저장할 수 있다(S270).
7. 프래그먼트화된 디지털 데이터에 대한 인덱스의 갱신
저장부(570)에 기 저장된 인덱스와 소정의 정보가 동일한 인덱스가 데이터 제공부(510)로부터 제공될 경우 데이터 처리부(540)는 해당 인덱스를 갱신한다(S260). 동일성 판단을 위해서는 다양한 필드들이 사용될 수 있으며, 예를 들면, 인덱스 버전(index_version)을 동일성 판단에 사용하여 해당 프래그먼트가 갱신되었음을 판단할 수 있다(S240).
한편, 인덱싱되는 프래그먼트가 갱신될 경우, 인덱스도 같이 갱신되는 것이 바람직하다. 이 때, 프래그먼트의 갱신 여부는 데이터 처리부(540)로부터 인덱스 관리부(530)로 전달될 수 있다.
8. 프래그먼트화된 디지털 데이터에 대한 인덱스의 삭제
저장부(570)에 저장된 인덱스는 삭제 가능하다. 인덱스 사전부(IndexDictionary)(100), 인덱스 키 필드부(IndexKeyfield)(200) 및 인덱스부(Index)(300a, 300b)는 애플리케이션(560)을 통한 사용자의 요청, 또는 소정의 알고리즘에 의해 자동적으로 삭제될 수 있다.
9. 소정 디지털 데이터의 검색
본 발명에서 디지털 데이터의 검색은 프래그먼트 단위로 이루어진다.
간단한 검색 방법으로, 검색하고자 하는 디지털 데이터가 포함된 프래그먼트 타입만을 지정하고, 지정된 프래그먼트 타입을 프래그먼트부(Fragment)(400)에서 검색하고, 검색된 프래그먼트를 추출하여 검색하는 방법이 가능하다.
한편, 보다 효율적인 검색 방법으로 인덱스를 활용하는 방법이 가능하다. 이하에서는 인덱스를 활용하여 검색하는 방법을 기준으로 설명한다.
디지털 데이터에 대한 검색을 시도할 때, 먼저 검색 대상은 프래그먼트 타입에 의해 지정되고, 검색 조건은 해당 프래그먼트 타입 안에서의 특정 노드(키) 값 및 특정 노드 값에 대한 비교 연산자로 지정된다(S310).
예를 들어, 도 6에 도시된 바와 같이 '장르'가 '뉴스'에 대한 디지털 데이터를 검색하고자 할 때, 먼저 인덱스를 통해 '장르'가 '뉴스'인 디지털 데이터를 포함하는 프래그먼트를 검색한다. 이 때, '장르' 라는 키는 'ProgramInformation' 이라는 프래그먼트 타입을 검색 대상으로 하고, 'ProgramInformation' 이라는 프래그먼트 타입에 속하는 프래그먼트들 중에서 장르가 '뉴스'인 값을 가지는 프래그먼트들을 필터링할 수 있다. 장르가 '뉴스'인 값을 가지는 프래그먼트들의 프래그먼트 식별자(fragment_id)를 인덱스에서 확인하고, 이 프래그먼트 식별자(fragment_id)를 가지는 프래그먼트를 프래그먼트부(Fragment)(400)으로부터 가져온다. 이후, 해당 프래그먼트들을 응용 프로그램이 요구하는 형태로 파싱한다. 앞서 설명한 검색 과정은 다음 네 단계로 구분될 수 있다.
1) 인덱스의 선택: 인덱스 사전부(100) 와 인덱스 키 필드부(200)를 참조하여 사용자 질의를 처리할 인덱스부(300)를 선택한다(S320).
2) 프래그먼트 아이디 필터링: 해당 인덱스부(300)를 참조하여 질의 조건에 맞는 프래그먼트들의 프래그먼트 식별자(fragment_id)를 추출한다(S330).
3) 프래그먼트 내용 검색: 프래그먼트부(Fragment)(400)를 참조하여 해당 프래그먼트 식별자를 가지는 프래그먼트 컨텐트(fragment_content)를 추출한다(S340).
4) 검색 결과 출력 : 프래그먼트 컨텐트(fragment_content)를 출력한다(S350). 만약 프래그먼트 컨텐트(fragment_content)가 텍스트 형태의 프래그먼트일 경우 별도의 파싱 과정을 통해 파싱후 출력한다.
10. 검색된 디지털 데이터의 출력
프래그먼트 컨텐트(fragment_content)를 소정의 애플리케이션에게 전달하고 애플리케이션은 해당 내용을 활용하여 소정의 데이터 처리를 수행한다.
이하에서는 본 발명의 디지털 데이터 관리 방법이 적용된 디지털 방송 수신 장치를 본 발명의 바람직한 실시예로 설명한다.
디지털 방송 수신 장치들은, 방송 신호 이외에, XML 과 같은 마크업 랭귀지로 구성된 메타데이터를 수신하여 이를 사용자에게 디스플레이한다. 메타데이터는 프로그램 타이틀과 개요와 같은 컨텐츠에 대한 설명적인 데이터를 의미하며, "데이터에 관한 데이터(data about data)"로 정의된다.
이런 메타데이터는 예를 들면, 도 9에 도시된 EPG 애플리케이션의 그리드 가이드 화면을 통해 사용자에게 디스플레이된다. 따라서, 디지털 방송 수신 장치는, 수신되는 방송 프로그램에 대한 다양한 검색 기능을 제공하기 위해, 이 메타데이터를 효율적으로 관리할 필요가 있다.
디지털 방송 수신 장치들은 도 10에 도시된 바와 같이 송신측(20)으로부터 프래그먼트화된 메타데이터를 전송 네트웍(30)을 통해 수신받는다. 경우에 따라 디지털 방송 수신 장치들은 프래그먼트화된 메타데이터 뿐만 아니라 이들에 대한 인덱스를 수신받기도 한다.
본 발명은 디지털 방송 분야에서 특히 유용하게 사용될 수 있다.
디지털 방송 환경에서는 오디오와 비디오로 구성된 방송 내용물 뿐만 아니라, 그것을 설명하는 메타데이터도 함께, 방송 네트워크를 통해서 전송되어 진다. 이러한 메타데이터는 주로 수신 장치에서 방송 내용물을 검색하거나 브라우징하는 목적으로 사용된다. 방송 내용물을 기술하는 이러한 메타데이타의 표준으로서 XML이 점점 널리 채택되어 지고 있다. TV-Anytime의 Metadata 규격 혹은 MPEG-7의 Multimedia description schemes가 대표적인 예이다. 방송 프로그램에 관한 메타데이타는 프로그램, 프로그램 그룹, 프로그램 리뷰, 배역진(credits), 프로그램 스케줄, 방송국 등의 다양한 종류의 정보를 포함할 수 있다.
디지털 방송에 관한 메타데이타 문서는 위와 같은 여러 종류의 정보를 포함하는 다수의 부분으로 구성되어 있고, 일정 기간(보통 2주 내외) 동안의 방송 프로그램에 대한 꽤 많은 양의 정보를 포함하고 있기 때문에, 제한된 대역폭의 네트워크를 통해서 전송하기 위해서는 메타데이터를 프래그먼트화하는 것이 바람직하다.
전체 XML 문서가 전송을 위해서 작은 단위로 분해될 때의 잇점은 2가지로 요약할 수 있다. 첫째, 전송 오류가 빈번한 네트워크 상에서 해당 문서를 하나의 큰 패킷으로 보다는 많은 수의 작은 단위의 패킷들로 전송하는 것이 더욱 안전하다는 점이다. 둘째, 문서의 업데이트가 문서의 일부에 대해서 행해질 수 있다는 장점이 있다. 전체 문서가 한번에 전송된다면, 문서의 어느 한 부분이 바뀔 때마다 전체 문서가 재전송되어져야 한다. 반면에, 프래그먼트에 기반한 전송에서는 단지 바뀌어진 프래그먼트만 재전송하면 된다.
방송 환경에서는 프래그먼트들을 캐루젤(carousel) 네트워크를 통해서 반복적으로 전송함으로써, 수신 장치가 어떤 순간에 작동하더라도 필요한 방송 정보를 수신할 수 있도록 하는 것이 바람직하다.
도 10에서 메타데이터는 프래그먼트화(fragmentation)되고, 각 프래그먼트가 식별자, 버전 정보 등과 함께 인캡슐레이션(encapsulation)되어 전송된다.
한편, 수신 장치에서는 이런 프래그먼트화된 디지털 데이터를 처리해야 하고, 이에 따라 아래와 같은 요구사항을 지원하는 것이 바람직하다.
1) 본래의 XML 문서를 효율적으로 재구성할 수 있어야 한다.
2) XML 문서의 부분 단위로 동적인 업데이트와 버전 기법을 제공해야 한다.
3) XML 문서의 부분 단위에 대한 효율적인 검색이 가능해야 한다.
본 발명에 따른 마크업 랭뤼지 기반의 디지털 관리 방법은 위와 같은 요구사항을 모두 만족시킬 수 있으므로, 디지털 방송 송신 장치 및 디지털 방송 수신 장치 모두에 적합한 해결책이 될 수 있다.
도 11은 본 발명의 바람직한 실시예에 따른 디지털 방송 수신 장치(700)의 블록도를 도시한 것이다.
이 디지털 방송 수신 장치(700)은 방송 수신을 위해, 도 6의 일반적인 디지털 장치와는 달리, 역다중화부(710) 및 메타데이터 브라우저(750)를 더 포함한다. 역다중화부(710)는 전송 레이어(600)에서 디지털 방송 스트림을 수신하여, 오디오 신호 및 비디오 신호는 해당 처리 모듈로 전달하고, 본 발명과 관련된 프래그먼트화된 메타데이터 또는 메타데이터에 대한 인덱스는 각각 프래그먼트 관리부(720) 및 인덱스 관리부(730)에 전달하는 역할을 한다. 메타데이터 브라우저(750)는 도 7의 데이터 처리부(540)의 기능 중 파싱 기능만을 전담하는 모듈로 본 도면에서는 별도 표시하였다.
본 실시예에 따른 디지털 방송 수신 장치(700)은 도 7에서 설명한 디지털 장치와 기본적으로 동일한 구성이고, 다만 프래그먼트를 자체 생성하지는 않고, 전송 레이어(600)으로부터 수신한다는 점이 다를 뿐이다. 따라서, 그 동작 또한 도 7에서 설명한 디지털 장치의 동작과 거의 동일하므로, 자세한 설명은 이하 생략한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것은 아니다.
상기한 바와 같이 이루어진 본 발명에 따르면, 마크업 랭귀지 기반의 데이터를 프래그먼트화하고, 각 프래그먼트들을 소정의 관계 테이블을 이용하여 관리함으로써, 디지털 데이터의 저장, 삭제, 갱신 또는 검색이 효율적으로 이루어 질 수 있다.
또한 디지털 데이터에 대한 인덱스를 프래그먼트에 근거하여 구성함으로써, 인덱스의 구성이 용이하고, 인덱스를 이용한 검색 또한 효율적으로 이루어질 수 있다. 이런 관리 방법은 경량의 저장 능력을 가진 디지털 장치에 있어서 더욱 효율적이다.
도 1은 마크업 랭귀지 기반의 일반적인 데이터를 나타내는 예시도이다.
도 2는 마크업 랭귀지 기반의 데이터의 일반적인 구조를 도시한다.
도 3은 종래의 노드 넘버링 방법에 의한 마크업 랭귀지 기반의 데이터 저장 방법을 도시한다.
도 4는 마크업 랭귀지 기반의 데이터의 프래그먼트화를 설명하는 개념도 이다.
도 5는 본 발명의 일실시예에 따른 마크업 랭귀지 기반의 데이터를 관리하는 개념을 도시한다.
도 6은 도 5의 데이터 관리 개념을 이용하여 도 1의 디지털 데이터를 관리하는 실시예를 도시한다.
도 7은 본 발명의 일실시예에 따른 마크업 랭귀지 기반의 데이터를 관리하는 디지털 장치의 블록도이다.
도 8은 본 발명의 일실시예에 따른 데이터 관리 방법 및 검색 방법을 도시한다.
도 9는 일반적인 EPG 애플리케이션에서의 그리드 가이드 화면이다.
도 10은 프래그먼트화된 메타데이터의 전송을 나타낸 개념도이다.
도 11은 본 발명의 다른 실시예에 따른 마크업 랭귀지 기반의 메타데이터를 처리하는 디지털 방송 수신 장치의 블록도이다.

Claims (18)

  1. 마크업 랭귀지 기반의 데이터가 소정 노드 그룹 별로 분할된 프래그먼트를 제공하는 데이터 제공부;
    상기 프래그먼트, 및 상기 프래그먼트를 식별할 수 있는 식별자를 각 프래그먼트별로 저장하는 저장부; 및
    상기 데이터에 대한 검색 요청시 상기 요청된 데이터를 포함하는 프래그먼트를 상기 저장부에서 검색하여 제공하는 데이터 처리부를 포함하는 마크업 랭귀지 기반의 데이터 관리 장치.
  2. 제 1항에 있어서,
    상기 데이터 제공부가 제공한 프래그먼트를 분석하여, 상기 프래그먼트 및 상기 프래그먼트를 식별할 수 있는 식별자를 각 프래그먼트별로 상기 저장부에 저장하는 프래그먼트 관리부를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 장치.
  3. 제 2항에 있어서,
    상기 프래그먼트 관리부는, 분석된 데이터가 상기 저장부에 저장된 데이터보다 최신일 경우, 해당 프래그먼트를 갱신하는 마크업 랭귀지 기반의 데이터 관리 장치.
  4. 제 1항에 있어서,
    상기 제공된 프래그먼트를 분석하여 상기 데이터에 대한 인덱스를 생성하고, 상기 생성된 인덱스를 상기 저장부에 저장하는 인덱스 관리부를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 장치.
  5. 제 1항에 있어서,
    상기 데이터 제공부는 상기 프래그먼트에 대한 인덱스를 추가로 제공하는 마크업 랭귀지 기반의 데이터 관리 장치.
  6. 제 5항에 있어서,
    상기 데이터 제공부가 제공한 인덱스를 분석하여, 상기 인덱스 및 상기 인덱스를 식별할 수 있는 식별자를 각 인덱스별로 상기 저장부에 저장하는 인덱스 관리부를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 장치.
  7. 제 6항에 있어서,
    상기 인덱스 관리부는, 분석된 인덱스가 상기 저장부에 저장된 인덱스보다 최신일 경우, 해당 인덱스를 갱신하는 마크업 랭귀지 기반의 데이터 관리 장치.
  8. 제 7항에 있어서,
    상기 데이터 제공부는, 수신된 디지털 방송 스트림 중에서 프래그먼트화된 데이터를 선별하여 제공하는 마크업 랭귀지 기반의 데이터 관리 장치.
  9. 제 8항에 있어서,
    상기 데이터 처리부가 제공한 프래그먼트를 파싱하여 출력하는 메타데이터 브라우저를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 장치.
  10. 마크업 랭귀지 기반의 데이터가 소정 노드 그룹 별로 분할된 프래그먼트를 제공하는 단계;
    상기 프래그먼트를 분석하여, 상기 프래그먼트 및 상기 프래그먼트를 식별할 수 있는 식별자를 각 프래그먼트별로 저장하는 단계; 및
    상기 데이터에 대한 검색 요청시, 상기 요청된 데이터를 포함하는 프래그먼트를 검색하여 제공하는 단계를 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  11. 제 10항에 있어서,
    상기 분석된 데이터가 기저장된 데이터보다 최신일 경우, 해당 프래그먼트를 갱신하는 단계를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  12. 제 10항에 있어서,
    상기 제공된 프래그먼트를 분석하여 상기 데이터에 대한 인덱스를 생성하고, 상기 생성된 인덱스를 저장하는 단계를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  13. 제 10항에 있어서,
    상기 프래그먼트에 대한 인덱스를 제공하는 단계를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  14. 제 13항에 있어서,
    상기 제공된 인덱스를 분석하여, 상기 인덱스 및 상기 인덱스를 식별할 수 있는 식별자를 각 인덱스별로 저장하는 단계를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  15. 제 14항에 있어서,
    상기 분석된 인덱스가 기저장된 인덱스보다 최신일 경우, 해당 인덱스를 갱신하는 단계를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  16. 제 15항에 있어서,
    상기 제공된 프래그먼트화된 데이터는, 수신된 디지털 방송 스트림 중에서 선별된 마크업 랭귀지 기반의 데이터 관리 방법.
  17. 제 16항에 있어서,
    상기 검색된 프래그먼트를 파싱하여 출력하는 단계를 더 포함하는 마크업 랭귀지 기반의 데이터 관리 방법.
  18. 제 10항 내지 제 17항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030090937A 2003-12-13 2003-12-13 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체 KR100568234B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020030090937A KR100568234B1 (ko) 2003-12-13 2003-12-13 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체
US10/991,616 US7844644B2 (en) 2003-12-13 2004-11-19 Method and apparatus for managing data written in markup language and computer-readable recording medium for recording a program
JP2004352043A JP2005174332A (ja) 2003-12-13 2004-12-03 マークアップランゲージ基盤のデータ管理方法とその装置及び記録媒体
DE602004020438T DE602004020438D1 (de) 2003-12-13 2004-12-07 Verfahren und Gerät um mit einer Auszeichnungssprache beschriebenen Daten zu verwalten
EP04257604A EP1542140B1 (en) 2003-12-13 2004-12-07 Method and apparatus for managing data written in markup language
CNA2004100984793A CN1627297A (zh) 2003-12-13 2004-12-13 管理用标记语言写的数据的方法及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030090937A KR100568234B1 (ko) 2003-12-13 2003-12-13 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체

Publications (2)

Publication Number Publication Date
KR20050058912A true KR20050058912A (ko) 2005-06-17
KR100568234B1 KR100568234B1 (ko) 2006-04-07

Family

ID=34511219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030090937A KR100568234B1 (ko) 2003-12-13 2003-12-13 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체

Country Status (6)

Country Link
US (1) US7844644B2 (ko)
EP (1) EP1542140B1 (ko)
JP (1) JP2005174332A (ko)
KR (1) KR100568234B1 (ko)
CN (1) CN1627297A (ko)
DE (1) DE602004020438D1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489523B1 (ko) * 2007-04-17 2015-02-03 톰슨 라이센싱 데이터 스트림으로 비디오 데이터 및 관련 메타데이터를 전송하기 위한 방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028314B1 (en) 2000-05-26 2011-09-27 Sharp Laboratories Of America, Inc. Audiovisual information management system
US8020183B2 (en) 2000-09-14 2011-09-13 Sharp Laboratories Of America, Inc. Audiovisual management system
US20030038796A1 (en) * 2001-02-15 2003-02-27 Van Beek Petrus J.L. Segmentation metadata for audio-visual content
US6520032B2 (en) * 2001-03-27 2003-02-18 Trw Vehicle Safety Systems Inc. Seat belt tension sensing apparatus
US7904814B2 (en) 2001-04-19 2011-03-08 Sharp Laboratories Of America, Inc. System for presenting audio-video content
US7474698B2 (en) 2001-10-19 2009-01-06 Sharp Laboratories Of America, Inc. Identification of replay segments
US8214741B2 (en) 2002-03-19 2012-07-03 Sharp Laboratories Of America, Inc. Synchronization of video and data
US7657907B2 (en) 2002-09-30 2010-02-02 Sharp Laboratories Of America, Inc. Automatic user profiling
US8949899B2 (en) * 2005-03-04 2015-02-03 Sharp Laboratories Of America, Inc. Collaborative recommendation system
US8356317B2 (en) * 2004-03-04 2013-01-15 Sharp Laboratories Of America, Inc. Presence based technology
JP4313703B2 (ja) * 2004-03-12 2009-08-12 彼方株式会社 情報処理装置、システム、方法及びプログラム
US8312110B2 (en) * 2004-03-12 2012-11-13 Kanata Limited Content manipulation using hierarchical address translations across a network
US20080320169A1 (en) * 2005-01-12 2008-12-25 Ian Shaw Burnett Systems, Methods, and Computer Programs for Enabling a Computing Apparatus to Obtain Data
WO2007038844A1 (en) * 2005-10-06 2007-04-12 Smart Internet Technology Crc Pty Ltd Methods and systems for facilitating access to a schema
US20070100891A1 (en) * 2005-10-26 2007-05-03 Patrick Nee Method of forming a multimedia package
US8689253B2 (en) 2006-03-03 2014-04-01 Sharp Laboratories Of America, Inc. Method and system for configuring media-playing sets
US20080104269A1 (en) * 2006-10-30 2008-05-01 Research In Motion Limited Method and apparatus for web browser page fragmentation
EP1918826B1 (en) * 2006-10-30 2012-02-15 Research In Motion Limited Method and apparatus for web browser page fragmentation
EP2141615A1 (en) * 2008-07-04 2010-01-06 Software AG Method and system for generating indexes in an XML database management system
EP2325762A1 (en) * 2009-10-27 2011-05-25 Exalead Method and system for processing information of a stream of information
US8521744B2 (en) * 2009-11-13 2013-08-27 Electronics And Telecommunications Research Institute Apparatus and method for authoring data in communication system
WO2017058047A1 (ru) * 2015-09-30 2017-04-06 Общество С Ограниченной Ответственностью " Интерсофт" Способ подготовки документов на языках разметки
CN106855866A (zh) * 2015-12-09 2017-06-16 北大方正集团有限公司 Xml文档存储方法及装置
US10621041B2 (en) 2016-03-25 2020-04-14 Intel Corporation Methods and apparatus to assign indices and relocate object fragments in distributed storage systems
US20190347314A1 (en) 2017-02-01 2019-11-14 Obschestvo S Ogranichennoy Otvetstvennostyu "Intersoft" Method of preparing documents in markup languages when implementing a user interface
FR3106245B1 (fr) * 2020-01-09 2023-04-07 Sigfox Procédé d’émission et de réception d’un message comportant un identifiant chiffré du dispositif émetteur

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0652161A (ja) 1992-08-03 1994-02-25 Fuji Xerox Co Ltd 文書処理方法及び文書処理装置
US6105033A (en) * 1997-12-29 2000-08-15 Bull Hn Information Systems Inc. Method and apparatus for detecting and removing obsolete cache entries for enhancing cache system operation
US6128627A (en) * 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6289358B1 (en) * 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
KR100345277B1 (ko) 1999-11-02 2002-07-19 (주)한국지식웨어 Xml 문서의 논리적인 구조정보 추출기
US6947953B2 (en) 1999-11-05 2005-09-20 The Board Of Trustees Of The Leland Stanford Junior University Internet-linked system for directory protocol based data storage, retrieval and analysis
EP1146672A1 (en) 2000-04-10 2001-10-17 Sony International (Europe) GmbH Method to transmit an information service in a broadcast transmission system
US20020049705A1 (en) 2000-04-19 2002-04-25 E-Base Ltd. Method for creating content oriented databases and content files
JP2002024227A (ja) 2000-05-22 2002-01-25 Touuroomu Inc 無線ウェブページを生成するシステム及び方法
US20020029229A1 (en) * 2000-06-30 2002-03-07 Jakopac David E. Systems and methods for data compression
US20020016801A1 (en) 2000-08-01 2002-02-07 Steven Reiley Adaptive profile-based mobile document integration
KR100350989B1 (ko) 2000-12-14 2002-08-29 삼성전자 주식회사 디지털 데이터가 기록된 기록매체, 그 재생방법 및 재생장치
JP2003092753A (ja) 2000-12-21 2003-03-28 Victor Co Of Japan Ltd 構造化メタデータの伝送方法
JP4774622B2 (ja) * 2001-04-27 2011-09-14 ソニー株式会社 情報授受方法および情報授受システム
JP4045399B2 (ja) 2001-08-24 2008-02-13 富士ゼロックス株式会社 構造化文書管理装置及び構造化文書管理方法
JP2003111035A (ja) * 2001-09-28 2003-04-11 Nippon Hoso Kyokai <Nhk> コンテンツ送信制御方法、受信制御方法およびコンテンツ送信制御装置、受信制御装置ならびにコンテンツ送信制御プログラム、受信制御プログラム
CN1292371C (zh) * 2003-04-11 2006-12-27 国际商业机器公司 倒排索引存储方法、倒排索引机制以及在线更新的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489523B1 (ko) * 2007-04-17 2015-02-03 톰슨 라이센싱 데이터 스트림으로 비디오 데이터 및 관련 메타데이터를 전송하기 위한 방법
US9838757B2 (en) 2007-04-17 2017-12-05 Thomson Licensing Method to transmit video data in a data stream and associated metadata

Also Published As

Publication number Publication date
US7844644B2 (en) 2010-11-30
EP1542140B1 (en) 2009-04-08
KR100568234B1 (ko) 2006-04-07
DE602004020438D1 (de) 2009-05-20
US20050131906A1 (en) 2005-06-16
EP1542140A2 (en) 2005-06-15
EP1542140A3 (en) 2006-04-26
JP2005174332A (ja) 2005-06-30
CN1627297A (zh) 2005-06-15

Similar Documents

Publication Publication Date Title
KR100568234B1 (ko) 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체
US7478100B2 (en) Method and mechanism for efficient storage and query of XML documents based on paths
KR100419766B1 (ko) 메타데이터의 인덱스 구조와, 메타데이터의 인덱스의 제공방법 메타데이터의 인덱스를 이용한 메타데이터의 검색방법 및 검색 장치
US7487168B2 (en) System and method for loading hierarchical data into relational database systems
EP1949269B1 (en) Managing relationships between resources stored within a repository
US8266151B2 (en) Efficient XML tree indexing structure over XML content
US8060526B2 (en) Method for providing requested fields by get—Data operation in TV-Anytime metadata service
US10698953B2 (en) Efficient XML tree indexing structure over XML content
KR100590029B1 (ko) TV-Anytime 메타데이터 서비스에서 get_Data 오퍼레이션을 이용한 테이블 필드 엘리먼트 제공 방법
KR100696949B1 (ko) TV-Anytime 서비스에서 get_Data 오퍼레이션을 이용한 필드단위 검색 방법
US9361400B2 (en) Method of improved hierarchical XML databases
KR100590028B1 (ko) 포터블 미디어 플레이어를 위한 컨텐츠 리스트의 생성 및관리 방법
Shin On storing and querying XML data within network-enabled embedded systems
KR100590030B1 (ko) Tv-anytime 메타데이터 서버에서 관리하는 사용자 메타데이터를 soap 오퍼레이션에 의하여 삭제하는 방법
KR100936240B1 (ko) Soap 오퍼레이션을 이용한 컨텐츠 질의방법
Shin et al. A lightweight XML repository supporting dynamic partial update of XML data
KR20090000051A (ko) 임베디드 멀티미디어 기기에 적합한 mpeg-7메타-데이터 저장 방법

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: 20100225

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee