KR20040081061A - 데이터 탐색 시스템 및 방법과, 데이터 탐색 방법을수행하는 장치 - Google Patents

데이터 탐색 시스템 및 방법과, 데이터 탐색 방법을수행하는 장치 Download PDF

Info

Publication number
KR20040081061A
KR20040081061A KR1020040016892A KR20040016892A KR20040081061A KR 20040081061 A KR20040081061 A KR 20040081061A KR 1020040016892 A KR1020040016892 A KR 1020040016892A KR 20040016892 A KR20040016892 A KR 20040016892A KR 20040081061 A KR20040081061 A KR 20040081061A
Authority
KR
South Korea
Prior art keywords
metadata
word
data
unique identifier
search
Prior art date
Application number
KR1020040016892A
Other languages
English (en)
Other versions
KR101088983B1 (ko
Inventor
시미즈히데노리
스가하라다로
우카이후미토시
보노히로노리
맥이첸마크
나카가와신야
오츠지기요타카
이소도시키
스즈키히로키
구라카케쇼지
스기무라도시아키
Original Assignee
휴렛-팩커드 컴퍼니(델라웨어주법인)
가부시키가이샤 엔티티 도코모
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛-팩커드 컴퍼니(델라웨어주법인), 가부시키가이샤 엔티티 도코모 filed Critical 휴렛-팩커드 컴퍼니(델라웨어주법인)
Publication of KR20040081061A publication Critical patent/KR20040081061A/ko
Application granted granted Critical
Publication of KR101088983B1 publication Critical patent/KR101088983B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

주어진 객체와 관련된 데이터 및/또는 서비스는, 글로벌 고유 객체 식별자(global unique object identifier), 메타데이터(metadata) 스토어, 글로벌 고유 식별자를 입력하는 입력, 메타데이터 스토어로부터 입력된 글로벌 고유 식별자를 포함하는 메타데이터의 세트를 판독하는 메타데이터 판독기, 판독된 메타데이터 세트의 각 메타데이터에 포함된 특정 서술 문장을 탐색함으로써 특정 메타데이터를 탐색하는 메타데이터 탐색 엔진을 갖는 탐색 시스템을 이용함으로써 쉽게 탐색된다.

Description

데이터 탐색 시스템 및 방법과, 데이터 탐색 방법을 수행하는 장치{DATA SEARCH SYSTEM AND DATA SEARCH METHOD USING A GLOBAL UNIQUE IDENTIFIER}
본 발명은 데이터 및/또는 서비스 사용자로부터의 요청에 기초하여 데이터 및 서비스를 탐색하는 시스템 및 방법에 관한 것이다.
통상적으로, 타겟 항목(target article)과 관련된 데이터 및/또는 서비스를 탐색하기 위해, 탐색자는 그 항목과 관련된 키워드를 입력하거나, 시스템에 의해 제공된 키워드들 중에서 선택을 수행한다. 이것은 데이터 및/또는 서비스의 내용(substance)을 나타내는 메타데이터(metadata)가 미리 준비된 베이스 데이터와 관련하여 등록되어, 관련된 베이스 데이터를 탐색하는데 이용되는 경우에 적용된다. 따라서, 그러한 키워드 기반 탐색 시스템의 경우, 탐색의 초기 단계에서 특히 타겟 데이터를 탐색하기 위해 선택될 키워드가 많이 존재할 수 있기 때문에, 때때로 최적의 키워드, 즉 타겟 데이터에 대해 범위를 가장 잘 한정하는 키워드를 선택하는 것이 어려워서, 탐색이 불충분하게 된다고 하는 결점이 있다.
이와 달리, Microsoft Windows(등록 상표)와 같은 GUI(Graphical User Interface)를 지원하는 오퍼레이팅 시스템은 아이콘에 대해 드래그 및 드롭(drag-and-drop on icons)을 수행함으로써 두 객체 사이의 상호작용을 가능하게 한다. 상호작용은 애플리케이션을 이용하여 파일을 폴더로 이동하고, 데이터를 디스플레이하는 것을 포함한다. 그러한 예에 대해서는, JP-A-11-53581 및 JP-A-11-203835에 개시되어 있다. 두 객체 사이의 상호작용이 드래그 및 드롭에 의해 수행되도록 하는 그러한 종래의 방법에서, 드래그 및 드롭에 의해 활성화된 동작은 고유하게 결정되어, 사용자가 선택을 하지 않아도 되도록 한다. 즉, 종래의 시스템에서의 드래그 및 드롭 방안의 경우, 하나 이상의 데이터 및/또는 프로그램이 하나 이상의 객체 각각과 관련될 때, 그러한 데이터 및 서비스를 서로 조합하고 이들 조합을 탐색함으로써 소정의 원하는 동작을 선택 및 실행하는 것이 쉽지 않다.
종래 기술의 이들 문제점의 관점에서, 본 발명은 소정의 타겟 "항목"과 관련되는 데이터 또는 서비스(서비스의 내용은 프로그램이므로, 이하 프로그램이라고 지칭함)의 보다 효율적인 탐색을 제공하는 새롭게 개선된 데이터 탐색 시스템 및 방법에 관한 것이다. 본 발명은 하나 이상의 데이터 및/또는 프로그램이 하나 이상의 항목 각각과 관련되는 경우, 조합된 데이터 및/또는 프로그램의 용이한 탐색을 허용하는 새롭게 개선된 탐색 시스템 및 방법을 더 제공한다.
본 명세서에 있어서, "항목"은 물리적인 엔티티와 관련된 항목 및 물리적인 엔티티와는 관련될 필요가 없는 개념적인 항목을 포함한다. 이러한 사상을 명확하게 표현하기 위해, 이들 항목은 "객체"로서 지칭된다. 데이터 및 프로그램을 객체에 실질적으로 첨부하는 것이 가능하다. 글로벌 고유 식별자(이하 ID라고 지칭됨)는 객체를 식별하기 위해 객체에 할당된 식별자이다. 객체의 ID, 데이터에 대한 인덱스, 데이터의 서술 문장 및 데이터 타입을 그 속성으로서 갖는 메타데이터는 그의 ID를 통해 ID가 할당되는 객체와 관련되고, 그의 데이터에 대한 인덱스(이하, 데이터 인덱스 또는 단순히 인덱스라고 지칭됨)를 통해 그의 대응하는 데이터와 관련된다. 데이터 서술 문장은 관련(즉, 대응) 데이터의 주된 내용(subject matter)을 나타내는 하나 이상의 단어(word)의 시퀀스이다. 데이터가 프로그램인경우, 데이터 타입은 프로그램의 입력(변수(argument)) 및 출력(리턴값)의 타입이다. 데이터가 정적(static) 데이터인 경우, 데이터 타입은 그의 데이터 포맷이다.
객체에 대한 ID 할당시에, ID는 ID 캡처 장치를 이용하여 객체로부터 판독되는 코드 그 자체로 설정될 수 있다. 이와 달리, ID로서 이용되지 않는, 객체로부터 판독된 코드는 ID에 대한 소정의 배열에 의해 변환될 수 있다(즉, 코드에 기초하여 ID가 탐색됨). 더욱이, ID는 단일의 단계 대신에, 둘 이상의 코드 변환 단계를 통해 획득될 수 있다. 더욱이, 코드 변환을 통해 ID를 획득하는 것은 실제로, 종종 더 편리하다. 어떻게 ID가 판독 코드로부터 최종적으로 획득되는지에 관한 것은 ID를 이용하는 전체 시스템의 사정이 편리한 때에 결정될 수 있다. 때때로 ID는 객체로부터 직접 판독되는 것으로서 설명되지만, 이하 간략성을 위해, 실제로 객체의 ID는 객체로부터 판독된 코드의 하나 이상의 변환(탐색) 단계를 통해 최종적으로 획득됨을 알아야 한다. 따라서, 본 명세서에서, "ID를 판독한다는 것"은 객체로부터 ID 그 자체를 판독하는 것 뿐만 아니라, 객체로부터 판독되지만 ID 그 자체는 아닌 코드로부터 임의의 방법으로 ID를 획득하는 것을 의미한다.
더욱이, 객체로부터 판독된 코드를 변환함으로써 ID를 최종적으로 획득하는 변환기는, 시스템이 작은 수의 캡처 장치만을 갖는 것과 같이, ID를 할당하여 이용하는 전체 시스템 할당 및 이용이 작은 스케일의 것일 때, 캡처 장치 및 그것에 접속되어 전술한 바와 같이 캡처된 ID를 이용하는 장치들 각각에 포함될 수 있다. 시스템이 어느 정도 큰 경우, 요청을 수신하여 변환을 수행하는 서버 등이 네트워크 등에 실제로 제공될 수 있는데, 그것은 각 장치에서의 변환을 수행하는 것은 변환 테이블이 커지게 하고, ID 등의 등록, 삭제 및 수정과 같은 관리시에 심각한 문제를 초래할 수 있기 때문이다. 또한, 그러한 서버는 중앙화된 서버이거나, 또는 변환이나 다른 양상의 단계에 의한 기능들의 부담을 공유하기 위해 분배될 수 있다. 더욱이, 분배형 변환이 수행될 수 있으며, 객체로부터 캡처 배열이 판독된 객체의 매체에 특정적인 코드는 비교적 범용(general-purpose)인 다른 형태로 변환된 후, 또다른 변환을 수행하기 위해, 전술한 변환을 위한 서버에 전달된다.
본 명세서에서, "데이터"라는 단어는 프로그램 데이터와 비프로그램 데이터의 경우 및 프로그램 데이터 및 비프로그램 데이터의 경우 둘다를 지칭하며, 여기서 비프로그램 데이터는 텍스트 데이터 및 이미지 데이터와 같은 데이터이고, 이하에서는 프로그램과 구별하기 위해 정적 데이터라고 지칭될 것이다.
본 발명의 바람직한 실시예에 따른 데이터 탐색 시스템 또는 데이터 탐색 방법은 "객체"를 식별하기 위한 글로벌 고유 식별자에 기초해서 "객체"와 관련된 메타데이터를 탐색하여, 타겟 데이터를 탐색하도록 구성되며, 다음과 같은 몇 가지 양상을 취한다.
제 1 양상에서, 메타데이터는 적어도 글로벌 고유 식별자, 데이터 인덱스 및 베이스 데이터의 서술 문장을 포함하고, 고유 식별자는 특정 객체를 식별하는 식별자이며, 각각의 메타데이터는 데이터 인덱스에 의해 대응 베이스 데이터와 관련되고, 글로벌 고유 식별자에 의해 객체와 관련되며, 시스템은, 메타데이터를 저장하는 메타데이터 스토어와, 글로벌 고유 식별자를 입력하기 위한 입력 배열과, 입력된 글로벌 고유 식별자를 포함하는 메타데이터 세트를 메타데이터 스토어로부터 판독하는 메타데이터 판독기와, 특정 서술 문장에 대해 판독된 메타데이터 세트를 탐색함으로써 특정 메타데이터를 탐색하는 메타데이터 탐색자를 포함한다.
제 1 양상에 따르면, 객체와 관련된 글로벌 고유 식별자를 입력함으로써, 글로벌 고유 식별자를 포함하는 메타데이터만이 획득될 수 있고, 그것은 종래의 탐색 시스템과는 달리, 탐색자가 처음에 입력될 적절한 키워드의 선택시에 주저하지 않아도 되게 한다. 따라서, 탐색자는 객체와 관련된 베이스 데이터를 보다 효율적으로 탐색할 수 있다.
제 2 양상에 따르면, 복수의 동일한 글로벌 고유 식별자가 제 1 양상의 복수의 메타데이터에 포함된다. 제 2 양상에 따르면, 복수의 데이터가 동일한 객체에 관련되더라도, 그들 복수의 데이터는 동일한 탐색 절차 동안 위치될 수 있다.
제 3 양상은 제 1 또는 제 2 양상과 (a) 특정 메타데이터로부터 데이터 인덱스를 캡처하고, (b) 데이터 인덱스로부터 특정 메타데이터에 대응하는 베이스 데이터를 캡처하는 배열의 조합이다. 제 3 양상의 결과로서, 일단 메타데이터가 위치되면, 대응하는 베이스 데이터는 해당 메타데이터에 포함된 인덱스로부터 즉각적으로 위치될 수 있다.
제 2 양상이 방법 발명으로서 나타내는 것에 대응하는 제 4 양상은, 글로벌 고유 식별자를 입력하는 단계와, 입력된 글로벌 고유 식별자를 포함하는 메타데이터 세트를 캡처하는 단계와, 획득된 메타데이터 세트의 각 메타데이터에 포함된 서술 문장에 기초하여 제 1 특정 메타데이터를 탐색하는 단계를 포함한다.
제 5 양상에서, 제 4 양상외에, 메타데이터 서술 문장은 단어들의 시퀀스이다. 제 5 양상은, a. 캡처된 메타데이터 세트를 유지하고, 세트에 포함된 서술 문장의 시작부에서 단어를 획득 및 제공하는 단계와, b. 제공된 단어로부터 하나의 단어를 선택 및 입력하는 단계와, c. 유지된 메타데이터 중에서 입력된 단어와 매칭하는 단어를 포함하는 서술 문장을 갖는 메타데이터만을 유지하는 단계와, d. 유지된 메타데이터의 서술 문장으로부터 단어를 획득 및 제공하는 단계―획득 및 제공된 단어는 매칭하는 단어 다음의 시퀀스에서의 위치에 있음―와, e. 단계 d에서 획득된 단어가 유지된 메타데이터의 임의의 서술 문장의 마지막 단어일 때까지, 단계 b 내지 d를 반복하는 단계와, f. 유지된 메타데이터 중에서, 서술 문장이 단계 e에서의 마지막 단어를 그의 마지막 단어로서 갖는 메타데이터를 제공하는 단계를 더 포함한다.
제 5 양상에 따르면, 탐색자는 특정 메타데이터의 서술 문장에 포함되는 시퀀스내에 단어를 입력함으로써 글로벌 고유 식별자를 포함하는 메타데이터 세트 사이의 특정 메타데이터에 안정적이고 신속하게 도달할 수 있다. 즉, 종래의 탐색 방법과는 달리, (1) 선택할 키워드에 대한 혼란 또는 (2) 잘못된 키워드 입력과 같은 비효율성이 없는 효율적인 탐색이 달성될 수 있다.
제 6 양상은, 제 5 양상이 단계 f 이후에, g. 단계 f에서 제공된 메타데이터가 제 1 특정 메타데이터라는 결정과 단계 d, e, f를 더 수행하는 것 사이의 선택을 수행하는 단계와, h. 단계 f에 의해 제공된 메타데이터가 제 1 특정 메타데이터라고 결정될 때까지 단계 g를 반복하는 단계를 더 포함하는 것이다.
제 6 양상에 따르면, 소정의 서술 문장을 포함하는 메타데이터를 위치시킬 때, 그러한 소정의 서술 문장을 그의 시작부에 포함하는 서술 문장에 대해 탐색이 계속된다.
제 7 양상에서, 각 메타데이터는 (1) 적어도 글로벌 고유 식별자와, (2) 데이터 인덱스와, (3) 베이스 데이터의 서술 문장을 포함한다. 글로벌 고유 식별자는 특정 객체를 식별하는 식별자이며, 각 메타데이터는 데이터 인덱스에 의해 대응 베이스 데이터와 관련되고, 글로벌 고유 식별자에 의해 객체와 관련된다. 메타데이터는 관련된 베이스 데이터의 타입을 포함하고, 복수의 메타데이터는 동일한 글로벌 고유 식별자를 포함할 수 있다. 서술 문장은 특정 데이터 타입의 변수로서 표현될 수 있는 서술 문장의 단어의 시퀀스이다. 특정 서술 문장을 포함하는 제 1 특정 메타데이터는 제 1 글로벌 고유 식별자와 관련된 메타데이터 세트로부터 탐색된다. 제 7 양상은 제 1 글로벌 고유 식별자 및 제 2 글로벌 고유 식별자를 입력하는 단계와, 제 1 글로벌 고유 식별자를 포함하는 메타데이터 및 제 2 글로벌 고유 식별자를 포함하는 메타데이터의 조합 탐색을 특정하는 단계와, 제 1 글로벌 고유 식별자 또는 제 2 글로벌 고유 식별자를 포함하는 메타데이터 세트를 캡처하는 단계와, 제 4 양상에서와 같이 캡처된 메타데이터의 세트로서 간주되는 제 1 글로벌 고유 식별자를 포함하는 메타데이터 세트로 제 5 양상의 단계 a 내지 e를 수행하는 단계와, 단계 b에서 선택된 단어가 변수(제 1 변수)인 경우, 메타데이터 조합 탐색이 선택가능하다는 사실을 제공하는 단계와, 메타데이터의 조합 탐색을 선택하는 단계와, 메타데이터 조합 탐색이 선택된 경우, 제 1 또는 제 2 글로벌 고유식별자를 포함하고, 제 1 변수와 동일한 데이터 타입을 포함하는 메타데이터 세트(제 2 메타데이터 세트)를 캡처하는 단계와, 제 2 메타데이터 세트내의 각각의 메타데이터에 포함된 서술 문장에 기초하여 제 2 특정 메타데이터를 탐색하는 단계를 포함한다.
제 7 양상에 따르면, 복수의 글로벌 고유 식별자와 관련된 하나 이상의 메타데이터가 각각 조합되는 탐색이 실현될 수 있다. 메타데이터는 변수에 의해 조합될 수 있기 때문에, 융통성 있는 조합이 실현될 수 있다. 더욱이, 제 1 글로벌 고유 식별자 및 제 2 글로벌 고유 식별자는 동일할 수 있다. 이러한 경우, 동일한 글로벌 고유 식별자와 관련되는 복수의 메타데이터가 조합되는 탐색이 수행될 수 있다.
제 8 양상은, 제 7 양상에 있어서, 제 4 양상에서 캡처된 메타데이터 세트로서 간주되는 제 2 메타데이터 세트로 제 5 양상의 단계 a 내지 f가 수행되는 구성이다. 제 8 양상에서는 i. 단계 f에서 제공된 메타데이터가 제 2 특정 메타데이터인지의 결정과 단계 d, e, f를 더 수행하는 것 사이의 선택 단계와, j. 제공된 메타데이터가 제 2 특정 메타데이터인 것으로 결정될 때까지 단계 i를 반복하는 단계가 존재한다. 제 8 양상에 따르면, 제 6 양상에서와 같이, 소정의 서술 문장을 포함하는 메타데이터가 위치될 때, 그러한 소정의 서술 문장을 그의 시작부에 포함하는 서술 문장을 갖는 메타데이터에 대해 탐색이 계속된다.
제 9 양상은, 제 7 또는 제 8 양상에 있어서, k. 메타데이터 조합 탐색이 선택되는 경우, 유지되는 메타데이터(유지 메타데이터) 및 제 1 변수를 일시적으로저장하는 단계와, 제 2 특정 메타데이터가 위치되는 경우, l. 일시적으로 저장된 유지 데이터 및 제 1 변수를 판독하는 단계와, m. 제 5 양상의 단계 a 내지 f를 수행하는 단계―제 5 양상에서의 단계 a는 제 1 변수에 의해 표현되는 단어 다음의 위치에서 서술 문장에 단어를 캡처하여 제공하는 것으로서 간주되며, 단어가 캡처되어 제공되는 서술 문장은 유지 데이터내의 각각의 메타데이터에 포함됨―를 더 포함한다.
제 10 양상은, 제 9 양상의 단계 m에서, n. 단계 f에서 제공된 메타데이터가 제 1 특정 메타데이터인지의 결정과 단계 d, e, f를 더 수행하는 것 사이의 선택이 수행되고, o. 제공된 메타데이터가 제 1 특정 메타데이터라고 결정될 때까지 단계 n이 반복되는 구성이다.
제 11 양상은, 제 7 내지 제 10 양상 중 어느 하나에 있어서, 제 1 글로벌 고유 식별자에 대응하는 제 1 아이콘을 디스플레이하는 단계와, 제 2 글로벌 고유 식별자에 대응하는 제 2 아이콘을 디스플레이하는 단계를 더 포함하되, 메타데이터 조합 탐색을 특정하는 단계는 제 1 아이콘 및 제 2 아이콘 중 하나를 다른 것 위로 드래깅 및 드롭핑하는 것을 포함한다.
제 11 양상에 따르면, 하나 이상의 객체와 관련된 메타데이터가 조합되는, 즉 아이콘을 드래깅 및 드롭핑하는 간단한 동작에 의해 베이스 데이터가 조합되는 탐색이 특정된다.
도 1은 본 발명의 일실시예에 따른 데이터 탐색 시스템의 구성을 도시하는 개념도,
도 2는 본 발명의 일실시예에 따른 데이터 및 메타데이터 등록 단계들의 개요도,
도 3은 본 발명의 일실시예에 따른 데이터 탐색 장치의 블록 구성도,
도 4a는 본 발명의 일실시예에 따른 메타데이터의 포맷을 도시하는 도면,
도 4b는 본 발명의 일실시예에 따른 메타데이터의 일례를 도시하는 도면,
도 5는 본 발명의 일실시예에 따른 예시적인 메타데이터 표현 트리를 도시하는 도면,
도 6a, 6b, 6c는 본 발명의 일실시예에 따른 탐색 동작 동안의 예시적인 탐색 스크린 디스플레이를 도시하는 도면,
도 7은 본 발명의 일실시예에 따른 탐색 흐름의 개념도,
도 8은 본 발명의 일실시예에 따른 탐색 시스템의 단계들에 대한 최고 레벨 흐름도,
도 9는 "글로벌 고유 식별자 입력 동작" 단계들의 흐름도,
도 10은 도 8의 단계들에 있어서의 "탐색 동작"의 흐름도,
도 11은 도 10의 단계들에 있어서의 "트리 생성 동작"의 흐름도,
도 12는 "생성된 경로와 트리를 조합하는 동작" 단계들의 흐름도,
도 13은 "메뉴 생성 및 제공 동작" 단계들의 흐름도,
도 14는 "입력 동작" 단계들의 흐름도,
도 15는 도 14에 있어서의 "라벨 선택 동작" 단계들의 흐름도.
도면의 주요 부분에 대한 부호의 설명
10 : 데이터 탐색 엔진 20 : 메타데이터 데이터베이스
30 : 베이스 데이터 데이터베이스 100 : 사용자 I/F 섹션
120 : 입력 처리기 140 : 리스트 디스플레이 섹션
200 : 탐색 동작 섹션 220 : 리스트 생성기
230 : 메타데이터 탐색 섹션 232 : 트리 생성기
234 : 메타데이터 탐색 엔진 236 : 메타데이터 판독기
300 : 데이터 캡처 섹션
도 1은 데이터 탐색 시스템(1)의 구성 요소에 대한 개념도이다. 데이터 탐색 시스템(1)은 데이터 탐색 장치(10)와, 메타데이터를 저장하는 메타데이터 데이터베이스(20)를 구성 요소로서 포함한다. 도시된 바와 같이, 데이터 탐색 장치(10)는 통신 채널 a를 통해 메타데이터 데이터베이스(20)에 접속된다. 또한, 데이터 탐색 장치(10)는 통신 채널 a를 통해, 베이스 데이터를 저장하는 베이스 데이터 데이터베이스(30)에도 접속될 수 있다. 따라서, 이 시스템은 LAN 및 WAN과 같은 독립적인 네트워크 시스템으로서 구성되거나, 또는 인터넷과 같은 현존 네트워크 시스템의 일부로서 구성될 수 있다. 통신 채널 a는 LAN 케이블이나, 무선 혹은 유선 공용 네트워크와 같은 임의의 현존 전송 수단일 수 있다.
글로벌 고유 식별자 캡처 장치(40)는 글로벌 고유 식별자(ID)를 판독하는 장치이다. 글로벌 고유 식별자 캡처 장치는, 이하 ID 캡처 장치라고 지칭된다. ID는 바코드와 같은 태그(tag)로서 객체에 첨부될 수 있다. 이러한 경우, ID 캡처 장치(40)는 ID를 포함하는 바코드를 판독함으로써 ID를 획득하는 바코드 판독기일 수 있다. ID 캡처 장치(40)는 판독된 ID를 디스플레이하도록 조정될 수 있다.
전술한 바와 같이, 본 명세서에서의 데이터는 데이터 또는 프로그램을 포함하거나, 또는 데이터 및 프로그램 둘다를 포함한다. 데이터는 문자와 같은 심볼의 시퀀스이며, (원문(plain text), Microsoft Word(등록 상표) 파일 포맷 및 JPEG 파일 포맷과 같은) 몇 가지 데이터 포맷으로 기록된다. 프로그램은 서비스를 수행하는 함수이며, 0 이상의 데이터(변수)의 입력을 수신하여, 0 또는 1의 데이터(리턴값)을 출력하는 프로그램이다. 데이터 제공자는 데이터를 제공하는 개인이다. 탐색자는 베이스 데이터를 탐색하는 개인(즉, 데이터 탐색 시스템(1)의 사용자)이다.
베이스 데이터 데이터베이스(30)에 저장된 데이터는 그것에 대응하는 인덱스를 특정함으로써 검색될 수 있다. 예를 들어, "1"이 인덱스로서 특정될 때, 인덱스 1에 대응하는 데이터 A가 검색될 수 있다. "2"가 인덱스로서 특정될 때, 인덱스 2에 대응하는 데이터 B가 검색될 수 있다. 데이터는 인터넷상에서 분배될 수 있다. 그러한 경우에 있어서의 인덱스는 URL(Uniform Resource Locator)이다.
메타데이터 데이터베이스(20)는 메타데이터를 저장하는 저장 수단이다. 도 4a에는 메타데이터의 구성이 도시되어 있다. 데이터의 서술 문장은, 이하 간단히 서술 문장이라고 지칭될 것이다. 메타데이터가 데이터 타입을 포함한다는 사실은 메타데이터가 속성으로서 데이터 타입을 가짐을 의미한다. 도 4b는 메타데이터의 구체적인 예를 도시한다. 도 4b에서, ID는 "camera A"와 같은 텍스트로 기록되지만, JAN:4987244103024와 같은 수자와 같은 심볼로 기록될 수도 있다(이 예는 JAN 코드라고 불리는 제품 공통 코드의 실제 사용된 포맷을 따른다. 필요한 경우 JAN 코드에 대해 http://www.dsri-dcc.jp/company/jan/를 참조하기 바란다).
하나의 동일한 ID가 복수의 데이터와 관련될 수 있다. 예를 들어, ID "camera A"는 "brochure of camera A"의 데이터 및/또는 "dealers of camera A"의 데이터와 같은 복수의 데이터와 관련될 수 있다. 이것은 복수의 데이터 각각에 대해 제공된 메타데이터에 (ID "camera A"와 같은) 동일 ID를 포함함으로써 처리될수 있다.
서술 문장은 데이터와 관련되고 단어에 의해 구획되는 구(phrase)로서 자유롭게 서술될 수 있다. 상세한 설명 및 첨부 도면에서, 구획 문자는 심볼 "/"에 의해 표현된다. 구획 문자의 위치는 데이터 제공자에 의해 결정되거나, 또는 형태학적 분석과 같은 임의의 방법을 이용함으로써 자동으로 결정될 수 있다. 문장이 단어에 의해 구획되어 기록되는 언어인 경우, 단어들 사이의 그러한 중단 포인트(break point)는 본 실시예의 구획 문자로서 이용될 수 있다.
이하의 서술 문장은 일본어 문법에 기초하고 있기 때문에, 다른 언어로의 번역은 그들을 불명확하게 만들 수 있지만, 문법적인 기능을 갖는 서술 문장 및 단어들의 단어 순서에 대한 설명이 이하에 제공된다. 실시예에 대한 표기도 또한 설명된다.
서술 문장 "printer B / の / brochure / を / request"(Request a brochure of printer B)이, 설명을 위한 예로서 취해질 것이다. 일본어 문법하에서, 객체("printer B")가 처음에 제공되고, 동사(request)가 나중에 제공된다. 또한, 일본어 문법하에서, 문법적인 경우는 파티클(particle)에 의해 표현된다. 파티클은 소유격의 명사 뒤에 소유격의 파티클 "の"를 위치시키고, 객체 뒤에 목적격을 나타내는 파티클 "を"를 위치시킴으로써, 그 파티클 바로 앞의 단어의 문법적인 역할을 나타낸다. 더욱이, 서술 문장 "Manual / を / printer B / で / print"(Print a manual with printer B)에서, 파티클 "で"는 파티클 바로 앞의 단어가 장치, 방법 또는 도구임을 나타내는데 이용된다.
이하의 실시예의 설명에서 단어들의 순서는 중요하고, 전술한 바와 같은 파티클과 같이 문법적인 기능을 나타내는, 명사 및 동사가 아닌 단어들은 동사 및 명사와 동일한 수준으로 처리되기 때문에, 예로서 취해진 서술 문장은 이하의 규칙에 따라 표시된다.
1. 단어 순서는 일본어의 단어 순서를 따르며, 동사는 객체 이후에 위치된다.
2. 파티클과 관련하여, 파티클을 나타내는 심볼은, 어떤 언어들은 파티클을 갖지 않는다는 사실을 고려하여, 파티클이 지시하게 될 격(case)인 단어 뒤에 위치한다(즉, 일본어에서의 항목의 동일 위치). 심볼 P_P는 소유격을 나타내는 파티클을 위해 이용되고, 심볼 P_O는 목적격을 나타내는 파티클을 위해 이용되며, 심볼 P_M은 장치, 방법 또는 도구를 나타내는 파티클을 위해 이용된다.
서술 문장은 타입을 갖는 변수를 포함할 수 있다. 주어진 객체와 관련된 데이터(프로그램)에 대응하는 메타데이터의 서술 문장은 서술 문장 "X:HTML / P_O / print"("print X:HTML")일 수 있다(여기서 X는 변수임). 이러한 경우, X:HTML은 변수 X가 타입 HTML을 가짐을 의미한다. 즉, 서술 문장 "X:HTML / P_O / print"는 "print data in HTML format passed as variable T"를 의미한다. 여기서, 변수 X의 타입과 동일한 데이터 타입의 메타데이터의 서술 문장이 변수 X와 관련될 수 있다.
본 예에서, "brochure of camera A"를 나타내는 HTML 포맷에서의 베이스 데이터가 특정 객체 "camera A"와 관련될 때, 이러한 베이스 데이터에 대응하는 메타데이터의 서술 문장은 변수 X와 관련될 수 있다. 메타데이터의 서술 문장이, 예를 들면, "camera A / P_P / brochure"("brochure of camera A")일 때, 서술 문장 "X:HTML / P_O / print"("print X:HTML")에 적용된 이러한 관련성은, "camera A / P_P / brochure / P_O / print"("print brochure of camera A")가 되게 한다. "manual of camera A"를 나타내는 HTML 포맷의 베이스 데이터가 동일한 camera A에 역시 관련될 때, 후자의 데이터에 대응하는 메타데이터의 서술 문장은 변수 X와도 또한 관련될 수 있다. 예를 들어, 메타데이터의 서술 문장이 "camera A / P_P / manual"("manual of camera A")일 때, 이것을 서술 문장 "X:HTML / P_O / print"("print X:HTML")과 관련시키면, "camera A / P_P / manual / P_O / print"("print manual of camera A")가 된다. 따라서, 이러한 방식으로 변수를 이용함으로써, 객체와 관련된 복수의 베이스 데이터가 프로그램에 대한 입력으로서 이용된다는 사실을 표현할 수 있다. 즉, 객체와 관련된 복수의 베이스 데이터 및 다른 객체와 관련된 프로그램이 조합될 수 있다는 것이 (탐색 장치를 통해) 탐색자에게 지시될 수 있다. (전술한 예는 복수의 베이스 데이터가 하나의 프로그램과 조합되는 경우이지만, 마찬가지의 방법으로 단일의 베이스 데이터가 복수의 프로그램과 조합될 수도 있다).
더욱이, 상이한 서술 문장을 갖는 복수의 메타데이터가 하나의 베이스 데이터와 관련하여 등록될 수 있다. 예를 들어, 서술 문장 "printer B / P_M / X:HTML / P_O / print"("print X:HTML with printer B") 및 다른 서술 문장 "X:HTML / P_O / printer B / O_M / print"("print X:HTML with printer B")을 동시에 갖는 메타데이터가, 프린팅을 위해 소정의 단일 프로그램에 대해 등록될 수 있다.
탐색자, 데이터 탐색 장치 및 메타데이터 데이터베이스 사이의 탐색 흐름을 나타내는 도 7에 도시된 개념도를 참조하면, 탐색 흐름의 개요가 기술되어 있다. 탐색자는 사전결정된 ID 캡처 장치를 이용하여 타겟 객체의 ID를 판독하고, ID를 미리 캡처한다. (물론, ID는 요구가 있는 경우에 판독될 수 있다.) 복수의 객체가 타겟으로 될 수 있고, 복수의 객체는 복수의 ID가 캡처되도록 할 수 있다. 처음에, 탐색자는 탐색 요청을 데이터 탐색 장치(10)에 전송한다. 캡처된 ID는 데이터 탐색 장치(10)에 입력된다(1. 탐색 요청 및 ID 입력). 그것에 응답하여, 데이터 탐색 장치(10)는 메타데이터의 그룹(메타데이터 세트)에 대한 요청을 메타데이터 데이터베이스에 대하여 행하고(2. 메타데이터 요청), 메타데이터를 판독한다(3. 메타데이터 리턴). 데이터 탐색 장치(10)는 판독된 메타데이터에 기초하여 후보 단어들의 리스트를 탐색자에게 제공한다(4. 단어 리스트 제공). 탐색자는 단어 리스트로부터 단어를 선택하여 입력한다(5. 단어 선택). 단계 "4. 단어 리스트 제공" 및 "5. 단어 선택"은 타겟으로 된 메타데이터가 위치될 때까지 반복된다. 탐색의 끝에서, 탐색 결과가 탐색자에게 제공된다(7. 결과 제공).
베이스 데이터 및 그것에 대응하는 메타데이터를 등록하는 단계들에 대한 개념도인 도 2를 참조하여 베이스 데이터 및 메타데이터의 등록이 기술된다.
데이터 제공자는 베이스 데이터 데이터베이스(30)에 데이터를 등록(즉, 저장)한다. 이것은 베이스 데이터를 데이터 입력 장치(도시되지 않음)에 입력하고,통신 채널을 통해 베이스 데이터 데이터베이스에 베이스 데이터를 등록함으로써 달성된다(1. 베이스 데이터 등록). 베이스 데이터에 대한 인덱스가 베이스 데이터 데이터베이스(30)에 의해 제공된다. 데이터 제공자는 데이터 입력 장치를 이용하여 베이스 데이터 데이터베이스(30)로부터 인덱스를 획득한다(2. 베이스 데이터 데이터베이스로부터 인덱스 획득). 데이터 입력 장치에 인덱스를 입력함으로써, 탐색자는 인덱스에 대응하는 베이스 데이터에 액세스할 수 있다. 데이터베이스가 인터넷과 같은 통신 네트워크를 통해 접속될 때, 베이스 데이터는 개인용 컴퓨터와 같은 단말기를 통해 등록 및 획득(업로딩 및 다운로딩)될 수 있다.
그 다음, 데이터 제공자는 메타데이터 입력 장치(베이스 데이터 입력 장치가 이러한 역할을 또한 할 수도 있음)(도시되지 않음)를 이용하여, ID 캡처 장치로부터 캡처된 ID 및 베이스 데이터 데이터베이스(30)로부터 획득된 인덱스를 포함하는 메타데이터를 메타데이터 데이터베이스(20)에 등록(또는, 저장)한다(3. ID 및 인덱스를 포함하는 메타데이터 등록). 인덱스는 베이스 데이터를 그것에 대응하는 메타데이터와 관련시킨다. 서술 문장은 사전결정된 단어의 단위로 구획되어, 메타데이터 데이터베이스에 저장된다. (이하에 도시된 바와 같은 서술 문장은 단어에 의해 구획되지만, 서술 문장을 단일 워드의 레벨로 분할하는 대신에 복수의 단어들의 조합으로 하는 것이 탐색에 편리하다면, 임의의 단위로 구획될 수도 있다. 예를 들어, 배열(collocation)을 단일 워드로 처리함으로써, 그러한 배열을 포함하는 서술 문장을 갖는 메타데이터에 대한 탐색을 수행하는데 필요한 단계들을 감소시키게 된다. 따라서, 상세한 설명 및 특허 청구 범위 모두에 있어서, "단어"라는 용어는 단일 단어 및 탐색 동작시에 단일의 단위로서 처리되는 단어들의 임의의 시퀀스 둘다를 의미한다.) 예를 들어, "brochure of camera A"가 타겟 베이스 데이터(여기서, brochure of the camera A의 데이터 포맷은 HTML인 것으로 가정함)이면, 그것에 대응하는 메타데이터는 camera A에 할당된 ID와, "brochure of camera A"의 데이터에 대한 데이터 인덱스와, 서술 문장 "camera A / P_P / brochure"("brochure of camera A")(여기서, "/"는 구획 문자임)와, 데이터 타입 HTML을 포함한다.
다음, 도 5를 참조하여, 메타데이터의 트리 구조인 메타데이터 표현 트리(이하, 간단히 "트리"라고 지칭함)를 기술한다. 본 실시예에 따르면, 등록된 메타데이터 세트가, 도 5에 도시된 바와 같은 트리 형태로 표현된다. 도 5에 도시된 트리에서, N1 내지 N16은 노드들이며, 그러한 노드들을 연결하는 라인은 에지이다. 원(circle) N1은 루트 노드를 나타내고, 나머지 노드들(N2 내지 N16)은 자식(child) 노드를 나타낸다. 트리 구조는 메타데이터내의 서술 문장을 순차적으로 참조하고 그들을 탐색 단어와 비교하는 것보다 탐색이 효율적으로 수행되도록 할 수 있기 때문에, 메타데이터는 트리 구조 형태로서 표현된다. 트리의 에지(분기(branch))는 서술 문장내의 각각의 구획된 단어에 대응하는 라벨(label)을 갖는다. 각 서술 문장은 트리의 루트 노드로부터 소정의 자식 노드까지의 경로에 대응한다. 예를 들어, 서술 문장 "camera A / P_P / brochure"("brochure of camera A")는 루트 노드로부터 라벨 "camera A"를 갖는 에지, 라벨 "P_P"를 갖는 에지, 라벨 "brochure"를 갖는 에지를 포함하는 경로이다(도 5에서, 경로는 노드들N1, N2, N3, N4를 연결하는 에지를 포함함).
비어 있는 세트일 수 있는 메타데이터 세트가 트리의 각 노드에 할당된다. 노드에 할당된 메타데이터 세트의 요소인 각 메타데이터는 루트 노드로부터 대상이 되는 노드까지의 경로를 따르는 라벨들의 시퀀스와 동일한 서술 문장을 갖는다. 루트 노드는 서술 문장의 시작부에서의 구획 문자에 대응하고, 자식 노드는 서술 문장의 중간부 및 끝 부분에서의 구획 문자에 대응한다. 즉, 전술한 서술 문장 "camera A / P_P / brochure"("brochure of camera A")의 예를 표현함에 있어서, 그것이 노드에 대응하도록 하면, "/ camera A / P_P / brochure /"가 되며, 여기서 "camera A" 앞의 "/"는 문장의 시작부에서의 구획 문자이고, "brochure" 바로 뒤의 "/"는 문장의 끝 부분에서의 구획 문자이다. 서술 문장의 끝 부분에서의 구획 문자에 대응하는 자식 노드와 관련된 세트(서술 문장의 끝 부분에 대응하는 노드)는 하나 이상의 메타데이터를 포함하는 세트이다. 도 5에서, 2개의 메타데이터가 노드 N4에 할당된다. 그들은 2개의 데이터 표현, 예를 들면, "detail brochure data of camera A" 및 "brief brochure data of camera A"에 각각 대응하는 메타데이터(메타데이터1-(1) 및 1-(2))이다.
예를 들어, 루트 노드로부터 소정의 자식 노드까지의 경로의 에지의 라벨이 순서대로 "camera A", "P_P", "brochure"라고 가정한다. 그 다음, 자식 노드에 할당된 세트의 요소는, 그의 서술 문장으로서 "camera A / P_P / brochure"("brochure of camera A")를 갖는 메타데이터이다. 즉, 소정 노드에 대한 경로에 의해 표현된 서술 문장을 갖는 메타데이터가 존재하는 경우, 메타데이터는 노드에 할당되고, 그렇지 않은 경우, 노드에는 어떠한 메타데이터도 할당되지 않는다(즉, 비어 있는 메타데이터 세트가 그것에 할당됨).
도 5에서, 서술 문장 "camera A / P_P / brochure"("brochure of camera A"), "camera A / P_P / manual"("manual of camera A"), "camera A / P_O / buy"("buy camera A"), "printer B / P_M / X:PDF / P_O / print"("print X:PDF with printer B"), "printer B / P_P / brochure"("brochure of printer B") 및 "printer B / P_P / brochure / P_O / request"("request brochure of printer B")를 갖는 메타데이터를 그의 요소로서 갖는 세트가, 문장의 끝 부분에서의 구획 문자에 대응하는 노드들 N4, N5, N7, N12, N14, N16에 각각 할당된다. 비어 있는 세트는 나머지 노드들에 할당된다.
본 실시예에 따르면, 트리는 데이터 탐색 장치(10)에 의해 생성된다. 그러나, 트리는 데이터 탐색 장치(10)와는 별도인 임의의 수단에 의해 생성될 수도 있다.
도 11 및 12의 흐름도를 참조하여, 데이터 탐색 장치(10)에 의한 트리 생성 동작이 기술된다. 괄호내의 참조 번호는 도면에서의 동작 단계 번호를 나타낸다.
시작시에, 데이터 탐색 장치(10)는 메타데이터 데이터베이스(20)로부터 메타데이터 세트를 획득한다(1110). 그 다음, 루트 노드만을 갖는 트리가 생성된다(1120). 그 다음, 획득된 세트내에 임의의 메타데이터가 남아있는지의 여부가 결정된다(1130). 만약 남아있다면, 메타데이터는 세트로부터 픽업(picked up)된다(1140). 그 다음, 경로(여기서, 경로는 분기가 없는 트리임)가 메타데이터의 서술 문장으로부터 생성된다(1150). 경로의 각 노드는 단어 구획 문자(문장의 시작부 및 끝 부분에서의 구획 문자를 포함함)에 대응한다. 경로의 에지는 서술 문장내에 라벨로서 단어를 갖는다. 문장의 끝 부분에 대응하는 노드와 관련된 세트는 메타데이터를 그의 요소로서 갖는 세트이다. 비어 있는 세트는 나머지 노드들에 할당된다. 단계(1150)에 후속하여, 생성된 경로는 트리와 조합된다(단계 1160).
도 12를 참조하여, 단계(1160)에서 경로와 트리를 조합하기 위한 동작의 세부 내용을 기술한다. 시작시에, 경로 및 트리는 조합되어, 경로의 루트 및 트리의 루트가 일치하도록 하며(단계 1210), 동일한 라벨을 갖는 에지들은 동일 에지로 통합된다. 그 다음, 각 노드와 관련된 세트들이 조합된다(단계 1220). 이러한 조합은, 예를 들면, 다음과 같은 의사 코드(pseudo code)에 의해 수행될 수 있다.
도 11에서, 제어는 단계(1130)로 리턴된다. 임의의 메타데이터가 획득된 세트에 남아있다면, 단계(1140 내지 1160)에서의 동작이 반복될 것이다. 어떠한 메타데이터도 획득된 데이터에 남아있지 않다면, 즉, 모든 메타데이터가 트리에서 조합되었다면, 트리 생성을 위한 동작은 종료된다.
데이터 탐색 장치(10)의 구성을 보다 구체적으로 도시하는 도 3을 참조하여, 전술한 바와 같이 메타데이터 표현 트리를 이용하는 데이터 탐색 동작을 개요를 기술한다. 도 6a 내지 6c에는, 데이터 탐색 장치(10)에 의해 탐색자에게 제공된 탐색 스크린의 예가 도시된다.
도 3에 도시된 실시예에 따른 데이터 탐색 장치(10)는 사용자 인터페이스 섹션(사용자 I/F 섹션)(100) 및 탐색 동작 섹션(200)을 포함한다. 사용자 I/F 섹션(100)은 입력 처리기(120), 리스트 디스플레이 섹션(140), 탐색 결과 디스플레이 섹션(160) 및 탐색 스크린(180)을 포함한다. 탐색자는 탐색될 단어를, 탐색 스크린(180)을 통해 입력 처리기(120)에 입력한다. 탐색 동작 섹션(200)은 리스트 생성기(220) 및 메타데이터 탐색 섹션(230)을 포함한다. 리스트 생성기(220)는 입력 처리기(120)를 통해 탐색자에 의해 입력된 ID 또는 단어에 응답하여, 후속하는 단어 후보들의 리스트를 생성한다. 리스트 생성기(220)에 의해 생성된 단어 리스트는 리스트 디스플레이 섹션(140)으로 전송되고, 리스트 디스플레이 섹션(140)으로부터의 단어 리스트는 탐색 스크린(180)상에 디스플레이된다.
도 3에 따르면, 메타데이터 탐색 섹션(230)은 메타데이터 판독기(236), 트리 생성기(232), 메타데이터 탐색 엔진(234) 및 트리 저장부(238)를 더 포함한다. 메타데이터 판독기(236)는 메타데이터 데이터베이스로부터 메타데이터 세트를 판독한다. 트리 생성기(232)는 판독된 메타데이터 세트로부터 트리를 생성한다. 메타데이터 탐색 엔진(234)은 트리 생성기(232)에 의해 생성된 트리를 이용하여 메타데이터를 탐색하는 동작을 수행한다(예를 들면, 트리의 노드를 추적하는 동작). 트리 저장부(238)는 트리 및 노드 위치를 일시적으로 저장한다. 바람직하게, 트리 저장부(238)는 스택 구조를 갖는다. 데이터 탐색 장치(10)는, 예를 들면, 구성 요소 섹션들의 동작을 제어하고, 구성 요소 섹션들 사이의 인터페이스를 관리하는 제어 섹션(도시되지 않음)을 더 포함한다. 데이터 탐색 장치(10)는 메타데이터 탐색 섹션(230)에 의해 위치된 메타데이터에 포함된 인덱스로부터 대응 베이스 데이터를 이용 또는 캡처하는 데이터 캡처 섹션(300)을 더 포함한다. 데이터 캡처 섹션(300)은 메타데이터에 포함된 베이스 데이터의 인덱스를 캡처하는 인덱스 캡처 수단(도시되지 않음)을 포함한다. 데이터 탐색 장치(10)로부터 탐색자로의 데이터 제공은 탐색 스크린(180)에 대한 디스플레이를 통해 모두 수행된다. 또한, 탐색 결과 디스플레이 섹션(160)을 통해, 탐색 스크린(180)상에 탐색 결과가 디스플레이된다.
데이터 탐색 장치(10)는 아이콘 생성/동작 섹션(도시되지 않음)을 더 포함할 수 있다. 아이콘 생성/동작 섹션은 입력된 하나 이상의 ID에 대응하는 하나 이상의 아이콘을 탐색 스크린(180)상에 디스플레이한다. 디스플레이된 아이콘은 다른 아이콘으로 드래그 및 드롭될 수 있다. 데이터 탐색 장치(10)는, 아이콘이 다른 아이콘으로 드래그 및 드롭될 때, 아이콘에 대응하는 ID들과 각각 관련된 메타데이터를 조합함으로써 탐색을 수행하도록 구성된다(메타데이터 조합 탐색).
소정의 객체에 할당된 ID를 입력시에, 상기와 같이 구성된 데이터 탐색 장치(10)는 메타데이터 데이터베이스(20)로부터 ID를 포함하는 메타데이터 세트를 판독하고, 판독된 메타데이터 세트로부터 메타데이터 표현 트리를 생성한다. 복수의 ID가 입력될 때, 각각의 ID를 포함하는 메타데이터가 메타데이터 데이터베이스(20)로부터 판독되어, 메타데이터 표현 트리가 생성된다.
데이터 탐색 장치(10)는, 리스트 디스플레이 섹션(140)을 통해 탐색자에게, 생성된 트리의 루트로부터의 각 에지의 후보에 대한 메뉴, 즉 에지에 대해 주어진라벨을 나타내는 단어들의 리스트를 갖는 메뉴를 제공한다. 탐색자는 입력 처리기(120)에 대해, 리스트로부터의 단어를 반복적으로 선택 및 입력함으로써, 타겟 베이스 데이터에 대응하는 메타데이터를 획득할 수 있다. 예를 들어, 본 명세서에서는 특정 객체인 camera A의 brochure를 얻기 위해, 탐색자는 camera A의 ID를 캡처하여, 그것을 데이터 탐색 장치(10)에 입력한다. 데이터 탐색 장치(10)는 메타데이터 데이터베이스(20)로부터 camera A의 ID를 갖는 모든 메타데이터를 판독한다. 그 다음, 메타데이터 세트로부터 트리 구조가 생성된다. 예를 들어, 서술 문장 "camera A / P_P / brochure"를 갖는 메타데이터가 "brochure of camera A"의 베이스 데이터에 대응할 때, 그리고 "brochure of camera A"의 베이스 데이터 탐색이 시작될 때, 데이터 탐색 장치(10)는 단어들 "camera A", "P_P", "brochure"를 탐색자에게 순차적으로 제공한다. 탐색자는 이들 단어를 순차적으로 선택함으로써 타겟 베이스 데이터에 대응하는 메타데이터를 획득한다.
비록, ID 또는 탐색 단어를 직접 입력하거나 또는 선택하여 입력하는 특정 수단이 도시되지는 않았지만, 탐색자는 키보드, 마우스 또는 터치 패널과 같은 통상적인 입력 수단을 이용하여, 탐색 스크린(18)을 통해 그것을 직접 입력하거나 또는 선택하여 입력할 수 있다. 여기서, 제공될 탐색 결과는 메타데이터 세트이며, 각 메타데이터의 서술 문장 및 적어도 베이스 데이터의 인덱스가 디스플레이된다. 메타데이터는 베이스 데이터 데이터베이스상에 베이스 데이터의 인덱스를 포함한다. 따라서, 특정된 메타데이터의 인덱스에 기초하여, 데이터 캡처 섹션(300)은 베이스 데이터 데이터베이스로부터의 인덱스에 의해 특정된 베이스 데이터를 획득한다.
탐색자에게 제공될 단어가 변수(X로 지칭됨)인 경우, 리스트 생성기(220)는 항목 "Search based on entered ID"을 메뉴에 부가하고, 그 항목을 리스트 디스플레이 섹션(140)을 통해 제공한다. 따라서, 탐색자는 그/그녀가 현재 탐색된 메타데이터에 대응하는 베이스 데이터를 다른 메타데이터에 대응하는 베이스 데이터와 조합할 수 있음을 이해하게 된다(즉, 현재 탐색을 수행하는 프로그램에 입력함). 탐색자가 항목 "perform a search based on entered global unique identifier"을 선택하여 입력 처리기(120)에 입력할 때, 탐색 동작 섹션(200)은 현재 탐색 동작을 중지하고, 입력된 ID와 관련된 메타데이터에 대한 탐색을 내포된(nested) 탐색으로서 새롭게 시작한다. 데이터 조합 탐색이 미리 특정되지 않은 경우, 탐색의 시작시에 드래그 및 드롭 겹침(superimposition)을 수행함으로써, 다른 처리가 이용될 수 있다. 즉, 탐색의 시작시에 단지 하나의 ID가 입력된 경우, 데이터 탐색 장치(10)는 항목 "enter new global unique identifier"을 메뉴에 입력하고, 탐색자가 새로운 ID를 입력하도록 프롬프팅함으로써, 탐색자가 이 항목을 선택하고 새로운 ID를 입력하도록 한다. 이러한 경우, 새롭게 입력된 ID에 대응하는 아이콘이 디스플레이되고, 드래그 및 드롭을 수행하고, 원래의 아이콘을 새롭게 디스플레이된 아이콘상으로 겹침으로써, 메타데이터 조합 탐색이 특정될 수 있다. 다른 ID가 이미 입력되었지만, 이것이 드래그 및 드롭을 수행하는 것에 의해 겹쳐지지 않는다면, 드래그 및 드롭을 수행함으로써 베이스 데이터 조합 탐색이 특정된다. 명료성을 위해, 탐색되는 메타데이터와 관련된 ID는 제 1 ID라고 지칭되며, 조합될다른 메타데이터와 관련된 ID는 제 2 ID라고 지칭된다.
제 1 ID 또는 제 2 ID를 포함하고, 변수 X의 타입과 동일한 타입을 포함하는 메타데이터에 대해서만 새로운 탐색이 수행된다. 변수 X의 타입과 동일한 타입을 포함하는 메타데이터는 데이터가 정적 데이터일 때의 데이터 타입으로서, X의 타입과 동일한 타입을 포함하는 메타데이터이다. 데이터가 프로그램일 때, 변수 X의 타입과 동일한 데이터 타입을 포함하는 메타데이터는 데이터 타입으로서 X의 타입과 동일한 출력 타입을 포함하는 메타데이터이다. 이러한 경우, 탐색 동작 섹션(200)은 메타데이터 데이터베이스(20)로부터, 제 1 ID 또는 제 2 ID와 동일한 ID를 가지며 변수 X의 타입과 동일한 데이터 타입(즉, 변수 X의 타입과 동일한 타입의 데이터에 대응하는 것)을 포함하는 메타데이터 세트를 판독한다. 그 다음, 메타데이터 세트를 포함하는 트리가 새롭게 생성되고, 이 트리를 이용하여 탐색이 수행된다. 복수의 변수가 포함될 수 있음을 알아야 한다(즉, 하나의 노드로부터 아래쪽 노드까지의 복수의 에지 각각에 대해 변수가 할당될 수 있음). 이러한 경우, 제 1 ID 또는 제 2 ID와 동일한 ID를 가지며 변수의 타입들 중 하나와 동일한 타입을 포함하는 메타데이터가 메타데이터 데이터베이스(20)로부터 판독된다. 그 다음, 전술한 단계들을 따름으로써, 트리가 생성되고, 탐색이 수행된다. 새롭게 생성된 트리를 이용한 탐색이 종료될 때, 일시적으로 중지된 외부 탐색 동작, 즉 원래의 트리를 이용한 탐색이 재시작된다.
이러한 방식으로, 변수 X를 이용함으로써, 하나 이상의 객체와 관련된 메타데이터가 조합되는 탐색이 수행될 수 있다. 더욱이, 변수 X에 할당된 타입은 조합될 수 없는 메타데이터를 조합하려는 시도를 하는 불필요한 동작을 회피하게 한다. 예를 들어, PDF 포맷의 데이터는 HTML 포맷의 디스플레이만을 지원하는 애플리케이션에 패스되지 않으며, 프린터를 사용하기 위한 프린팅 프로그램은 프린터에 의해 지원되지 않는 포맷의 이미지 데이터 등을 프린트하도록 강요되지 않을 것이다.
리스트 디스플레이 섹션(140)을 통해 리스트 생성기(220)에 의해 제공된 단어 리스트에 적절한 단어가 포함되지 않은 경우, 탐색자가, 예를 들면, 탐색 스크린(180)상의 아이콘 "뒤로(BACK)"(도 6b)을 클릭함으로써, 하나의 단어에 의한 이전 디스플레이 상태를 리턴할 수 있는 단어 단위(word by word)의 백트랙킹(backtracking)을 수행함으로써 탐색이 재시도될 수 있다.
도 8 내지 도 15의 흐름도를 참조하여, 탐색 시스템을 이용한 탐색 절차의 흐름을 보다 구체적으로 기술한다. 괄호안의 참조 번호는 도면에서의 동작 단계 번호를 나타낸다. 탐색자는 탐색 동작(도 8의 단계(830))을 시작하기 전에 두 개의 ID와 관련된 메타데이터의 조합 탐색을 특정한다. 따라서, 항목 "enter new global unique identifier"는 단계(1310)에서 디스플레이되지 않지만, 항목 "search based on entered global unique identifier"는 디스플레이된다.
전술한 바와 같이, 데이터 탐색 장치(10)는 입력된 ID에 대응하는 아이콘을 디스플레이한다. 복수의 ID가 입력될 때, 각각의 ID에 대응하는 아이콘이 디스플레이될 수 있다. 복수의 ID가 입력되고, 이들 ID와 관련된 메타데이터의 조합 탐색이 특정될 때, 데이터 탐색 장치(10)는 조합 탐색을 수행한다. 전술한 바와 같이, 이들 메타데이터의 조합 탐색은 드래그 및 드롭을 수행하고, 하나의 아이콘을 다른 아이콘들 중 임의의 하나 위에 겹치게 함으로써 수행된다. 본 예에서, 데이터 탐색 장치(10)는 드래그 및 드롭 동작의 액티브 측(active side)의 아이콘에 대응하는 ID를 제 1 ID로서 식별하고, 드래그 및 드롭 동작의 패시브 측(passive side)에 대응하는 ID를 제 2 ID로서 식별한다.
탐색 단어를 입력하는 것은 리스트 생성기(220)에 의해 생성되어 리스트 디스플레이 섹션(140)에 의해 탐색 스크린(180)상에 디스플레이된 단어 리스트로부터 단어를 선택하여 입력함으로써 수행된다.
시작시에, 도 8의 단계(810)(ID 입력 동작)에서, 탐색자는 타겟으로 된 객체의 ID를 데이터 탐색 장치(10)에 입력한다. 도 9에 도시된 바와 같이, ID의 입력은 탐색자가 ID 캡처 장치(40)에서 획득(910)된 ID를 데이터 탐색 장치(10)로 입력(920)함으로써 수행된다. 이러한 경우, 복수의 타겟 객체가 존재하는 경우, 입력될 복수의 ID가 존재할 수 있다.
글로벌 고유 식별자를 입력하는 단계 이후에, 탐색 동작 섹션(200)은(구체적으로는, 제어 섹션(도시되지 않음)으로부터의 인스트럭션에 따라 메타데이터 판독기(236)는), 도 8의 단계(820)에서, 메타데이터 데이터베이스로부터 메타데이터를 캡처하는 필터를 설정한다. 본 실시예에 따른 필터는 특정 ID를 포함하는 메타데이터만을 패스하는 제 1 필터 설정과, 특정 ID 및 특정 데이터 타입을 포함하는 메타데이터만을 패스하는 제 2 필터 설정―여기서, 데이터가 정적 데이터인 경우, 데이터 타입은 데이터 포맷이고, 데이터가 프로그램인 경우, 데이터 타입은 출력 타입임―과, 서술 문장의 시작부의 단어가 변수이고, 그 변수의 타입은 특정 데이터 타입을 갖는 메타데이터만을 패스하는 제 3 필터 설정을 포함하는 3가지 설정을 갖는다. 단계(820)에서, 제 1 필터 설정은 제 1 ID 또는 제 2 ID를 포함하는 메타데이터만을 패스하도록 이용된다. 다음, 데이터 탐색 장치(10)는 도 8의 단계(830)에 도시된 탐색 처리를 시작한다.
도 10의 흐름도를 참조하여, 탐색 처리를 위한 단계들을 상세히 도시한다.
탐색 동작 섹션(200)의 메타데이터 판독기(236)는 설정들 중 하나로 적절히 설정된 필터를 통해 패스하는 메타데이터만을 캡처한다(1010).
그 다음, 트리 생성기(232)는 획득된 메타데이터 세트로부터 트리를 생성한다(1020). 탐색 동작 섹션(220)은 생성된 트리의 루트 노드로 이동한다(1030). 리스트 생성기(220)는 바로 아래쪽의 자식 노드를 향하는 에지, 즉 각각의 서술 문장의 시작부에서의 단어에 주어지는 라벨의 리스트로 구성되는 메뉴를 생성하고, 그 메뉴를 리스트 디스플레이 섹션(140)을 통해 탐색자에게 제공한다(1040). 탐색자는 제공된 리스트로부터 원하는 단어(항목)를 선택하여 입력 처리기(120)에 입력한다(1050). 단계(1040)에서의 메뉴 생성 및 디스플레이 처리에 대해서는, 도 13을 참조하여 이하에 상세히 기술된다.
도 10의 입력 처리 단계(1060) 동안, 데이터 탐색 장치(10)는, 탐색자에 의해 입력된 단어에 응답하여, 탐색 결과를 디스플레이하고, 입력된 단어를 따르는 후보 단어의 리스트를 포함하는 메뉴를 탐색자에게 제공하는 것과 같은 처리들을 수행한다. 입력 처리에 대해서는, 도 14를 참조하여 보다 상세히 기술할 것이다.
단계(1070)에서, 탐색의 종료를 인식한 경우, 탐색 동작 섹션(200)은 탐색 스크린(180)상에 탐색 결과를 디스플레이한다(1080). 탐색이 아직 종료되지 않았다면, 동작은 단계(1040)로 리턴되어 계속된다.
다음, 도 13을 참조하여, 데이터 탐색 장치(10)에 의한 메뉴 생성 및 디스플레이 처리에 대해 기술할 것이다. 시작시에, 리스트 생성기(220)는, 현재 노드로부터 아래쪽 자식 노드까지의 에지의 라벨인 항목을 갖는 메뉴를 생성한다. 라벨이 변수인 경우, 항목 "search based on entered global unique identifier"이 메뉴에 부가되고, 리스트 디스플레이 섹션(140)을 통해 탐색 스크린(180)상에 디스플레이된다(1310).
다음, 탐색 동작 섹션(200)을 수행하는 메타데이터 탐색 엔진(234)이, 임의의 메타데이터가 현재 노드에 할당되는지의 여부를 결정한다(1320). 임의의 메타데이터가 현재 노드에 할당된다면, 리스트 생성기(220)는 메뉴에 항목 "Show result" 및 "Continue search with result used"를 부가한다(1330). 리스트 디스플레이 섹션(140)은 메뉴를 탐색자에게 제공한다(1340). 어떠한 메타데이터도 현재 노드에 할당되지 않는다면, 탐색 동작 섹션(200)에서의 동작은 단계(1330)를 스킵하여 단계(1340)로 진행한다. 탐색 동작 섹션(200)은 단계(1340)에 생성된 메뉴를 제공한다. 단계(1310)를 수행한 후, "메뉴 생성 및 디스플레이 처리"를 종료한다.
다음, 도 14를 참조하여, 데이터 탐색 장치(10)에 의한 입력 처리가 기술된다.
탐색 동작 섹션(200)은 도 10의 단계(1050)에서 메뉴 항목을 선택하여 입력함으로써 탐색자에 의해 입력 처리기(120)에 선택 및 입력된 항목(단어)이, 도 13의 단계(1330)에서 리스트 생성기(220)에 의해 생성된 "Show result" 또는 "Continue search with result used"인지 여부를 결정한다(1410 및 1420). "Show result"가 입력된다면, 탐색 결과가 탐색 스크린(180)상에 디스플레이된다. 그 다음, 탐색이 종료되고(보다 구체적으로는, 탐색 종료 플래그가 설정됨)(1460), 입력 처리를 빠져나온다. 메타데이터가 할당되는 노드가 단계(1460)에서 캡처된다면, 탐색이 계속되는지의 여부에 관한 질문이 탐색자에게 제공된다. 탐색자가 "탐색 종료"를 지시한다면, 탐색은 종료된다. 탐색자가 "탐색 계속"을 지시한다면, 접두사(prefix)로서, 노드에 할당된 메타데이터의 서술 문장을 포함하는 서술 문장을 갖는 메타데이터 탐색이 수행된다(도 5의 노드 N14로부터 하향의 노드를 아래로 트랙킹하는 동작 및/또는 이하에 기술될 도 14의 블록(1440)으로부터 시작하는 현재 탐색의 결과를 이용하여 새롭게 시작된 탐색).
탐색자에 의해 입력된 항목이 "Continue search with result used"인 경우, 탐색 동작 섹션(200)은 현재 노드에 할당된 메타데이터를 저장부(메모리)(도시되지 않음)에 저장한다(1430). 메타데이터 판독기(236)는 서술 문장의 시작부에, 저장된 메타데이터에 포함된 데이터 타입(리턴값 동안의 정적 데이터에 대한 값의 타입, 즉, 프로그램에 대한 출력의 타입)과 동일한 타입의 변수를 갖는 메타데이터만을 패스하는 필터를 설정한다(즉, 제 3 필터 설정)(1440). 따라서, 도 10에 도시된 탐색 처리는 캡처된 메타데이터에 대해 수행되고(1450), 탐색 종료 플래그가 설정되며(1460), 입력 처리를 빠져나온다.
탐색자에 의해 입력된 항목이 "display result"도 "continue search by using result"도 아닌 경우, 탐색 동작 섹션(200)은, 이하에 기술되는 라벨 선택 동작(1470)을 수행한다. 그 후, 입력 처리를 빠져나온다.
도 15의 흐름도를 참조하여, 라벨 선택 동작을 기술한다. 시작시에, 탐색 동작 섹션(200)은 항목 "search based on entered global unique identifier"가 탐색자에 의해 선택되는지 여부를 결정한다(1510). 만약 선택되지 않은 경우, 다른 선택된 항목에 대응하는 에지가 자식 노드 쪽으로 하향 트레이싱된다(1590). 그 후, 라벨 선택 동작을 빠져나온다.
항목 "search based on entered global unique identifier"가 선택된다면, 탐색 동작 섹션(200)은 저장부(메모리)(도시되지 않음)에, 자식 노드에 대한 에지에 대해 라벨링되는 변수의 타입(또는 타입들)을 저장한다(1520). 현재 트리 및 현재 노드의 위치는 트리 저장부(238)에 보존되며(1530), 새로운 내포된 탐색이 시작된다.
즉, 탐색 동작 섹션(200)의 메타데이터 판독기(236)는 단계(1520)에서 저장된 변수의 타입과 동일한 데이터 타입을 포함하고, 제 1 ID 또는 제 2 ID를 포함하는 메타데이터만을 패스하는 필터를 설정(즉, 전술한 바와 같은 제 2 필터 설정을 수행)(1540)하여, 필터를 패스하는 메타데이터만을 캡처한다. 도 10에 도시된 탐색 처리, 즉 새로운 내포된 탐색이, 캡처된 메타데이터에 대해 수행된다(1550). 탐색 동작 섹션(200)은 탐색 처리에서 캡처된 탐색 결과(메타데이터)를 저장부(메모리)(도시되지 않음)에 저장한다(1560). 단계(1530)에서 보존된 트리 및 노드의 위치를 트리 저장부(238)로부터 재저장함으로써, 동작은 외부 탐색으로 리턴된다(1570). 리턴 처리는 보존 이전에, 트리의 노드 위치로 동작을 리턴한다. 그 다음, 리턴된 트리 노드로부터, 변수인 라벨의 에지를 하향 트레이싱함으로써, 동작은 자식 노드로 이동한다(1580). 즉, 동작은, 단계(1560)에서 저장된 탐색 결과에 지시된 메타데이터에 포함된 데이터 타입과 동일 타입을 갖는 에지를 하향 트레이싱함으로써 자식 노드로 이동한다. 단계(1550)에 위치된 메타데이터의 서술 문장은 전술한 변수와 관련된다. 단계(1580) 수행후, 라벨 선택 동작을 빠져나온다. 탐색 처리(1550)의 결과로서 어떠한 메타데이터도 위치되지 않는다면, 데이터 탐색 장치(10)는 이러한 영향에 대한 메시지를 디스플레이하고, 라벨 선택 동작은 단계(1560)를 스킵하고 단계(1570)를 수행한 후 빠져나온다.
다음, 베이스 데이터 및 메타데이터를 데이터베이스에 등록하기 위한 특정 단계들을 기술한다.
이하의 예에서, 베이스 데이터가 인터넷상의 데이터베이스에 저장된다. 그것에 대응하는 메타데이터는 인터넷상의 다른 데이터베이스에 저장된다. 그러나, 베이스 데이터 및 그것에 대응하는 메타데이터는 동일한 데이터베이스에 저장된다.
URL1, URL2, URL3, URL4, URL5는 4개의 상이한 특정 URL(Uniform Resource Locator)을 나타내는 데이터 인덱스이다. PDF, DOC, HTML 및 VOID는 데이터 타입이다. PDF는 휴대용 문서 포맷(Portable Document Format)을 나타내며, Adobe Acrobat(등록 상표)에 의해 사용되는 파일 포맷이다. DOC는 Microsoft Word(등록상표)에 의해 사용되는 파일 포맷이다. HTML은 하이퍼 텍스트 마크업 언어(Hyper Text Mkrkup Language)를 나타내며, 웹 페이지를 기록하기 위한 언어 포맷이다. VOID는 프로그램의 입력 또는 리턴값(출력)의 타입이다. 입력이 VOID 타입일 때, 프로그램은 입력을 갖지 않는다. 출력이 VOID 타입일 때, 프로그램은 리턴값(출력)을 갖지 않는다.
ID 캡처 장치(40)가 ID를 판독하기 위해, ID는 미리 ID 캡처 장치(40)로 등록되어야 한다. 이하의 예에서, 특정 ID "camera A" 및 "printer B"(camera A 및 printer B, 각각)은 ID 캡처 장치(40)로 등록된다. 이와 달이, 주어진 객체로부터 판독된 코드는 네트워크상의 변환 서버(도시되지 않음)로 전송되며, 전송된 코드는 ID로 변환된다.
이하에 기술된 단계 1) 내지 11)은 데이터 제공자에 의해 수행되며, 예를 들면, 사전결정된 데이터 입력 단말기를 동작함으로써 수행된다.
1) camera A의 brochure(PDF 포맷의 데이터)가 URL1에 위치된다.
2) camera A의 ID, URL1 "camera A / P_P / brochure"("brochure of camera A") 및 PDF 포맷을 포함하는 메타데이터가 메타데이터 데이터베이스에 저장된다.
3) camera A의 manual(DOC 포맷의 데이터)이 URL2에 위치된다.
4) camera A의 ID, URL2 "camera A / P_P / manual"("manual of camera A") 및 DOC 포맷을 포함하는 메타데이터가 메타데이터 데이터베이스에 저장된다.
5) camera A의 online shop(프로그램)이 URL3에 위치된다.
6) camera A의 ID, URL3 "camera A / P_P / camera A"("dealer of cameraA") 및 HTML 포맷을 포함하는 메타데이터가 메타데이터 데이터베이스에 저장된다.
7) printer B로 프린팅하는 프로그램이 URL4에 위치된다.
8) printer B의 ID, URL4 "printer B / P_M / X:PDF / P_O / print"("print X:PDF with printer B"), input:PDF 및 output:PDF를 포함하는 메타데이터가 메타데이터 데이터베이스에 저장된다. 여기서, "print:PDF 및 output:VOID"는 메타데이터에 대응하는 베이스 데이터가, 입력으로서 PDF 파일 포맷의 데이터를 갖고, 리턴값은 갖지 않는(즉, 값이 리턴되지 않는) 프로그램임을 의미한다.
9) printer B의 ID, URL4 "X:PDF / P_O / print"("print X:PDF"), input:PDF 및 output:PDF를 포함하는 메타데이터가 메타데이터 데이터베이스에 저장된다.
10) printer B의 manual(PDF 포맷의 데이터)이 URL5에 위치된다.
11) printer B의 ID, URL5 "printer B / P_P / manual"("manual/of/printer B") 및 PDF 포맷을 포함하는 메타데이터가 메타데이터 데이터베이스에 저장된다.
이들 단계를 통해, 정적 데이터 "brochure of camera A", "manual of camera A", "online shop of camera A" 및 "manual of printer B"가 베이스 데이터 데이터베이스(30)의 URL1, URL2, URL3 및 URL5에 의해 특정된 영역에 저장된다. "print with printer B"에 대한 프로그램은 베이스 데이터 데이터베이스(30)의 URL4에 의해 특정된 영역에 저장된다. 그것에 대응하는 메타데이터는 메타데이터 데이터베이스(20)내의 사전결정된 영역에 저장된다. 본 예에서, 2개의 서술 문장 "printer B / P_M / X:PDF / P_O / print"("print X:PDF with printer B") 및 "X:PDF / P_O / print"("print X:PDF")가 베이스 데이터 "program for printingwith printer B"에 대하여 저장된다.
다음, 베이스 데이터 및 메타데이터가 전술한 바와 같이 등록될 때 "print brochure of camera A with printer B"에 대한 프로그램을 탐색하기 위한 특정 단계들이 기술된다. 이하의 단계에 있어서, 일단 2개의 ID가 입력되면, 데이터 탐색 장치(10)는 ID에 대응하는 2개의 아이콘을 탐색 스크린상에 디스플레이한다. 탐색자는 데이터 탐색 장치(10)에게, 드래그 및 드롭을 수행하고, 디스플레이된 하나의 아이콘을 다른 아이콘상에 겹치게 함으로써 조합된 2개의 ID와 관련된 메타데이터를 가지고 탐색을 수행하도록 지시한다.
단계들에서 탐색자에 대해, 탐색 스크린(180)상에 디스플레이된 스크린 정보의 개요가 도 6a 내지 6c에 도시된다. 도 6a 내지 6c는 프로그램의 서술 문장에 대응하는 메타데이터가 위치되어 디스플레이될 때까지의 스크린 디스플레이를 예시한다. 탐색 단어에 대한 입력 박스는 탐색자가 탐색 단어를 입력하도록 하는 박스이며, 선택사양적인 것으로서, 요구에 따라 제공될 수 있다.
1) 탐색자는 ID 캡처 장치로부터 camera A의 ID(camera A)를 캡처하여, 그 ID를 데이터 탐색 장치(10)에 입력한다.
2) 데이터 탐색 장치(10)는 탐색 스크린(180)상에 camera A를 나타내는 아이콘을 디스플레이한다(도 6a의 b).
3) 탐색자는 ID 캡처 장치(40)로부터 printer B의 ID(printer B)를 캡처하여, 그 ID를 데이터 탐색 장치(10)에 입력한다.
4) 데이터 탐색 장치(10)는 탐색 스크린(180)상에 printer B를 나타내는 아이콘을 디스플레이한다(도 6a의 c).
5) 탐색자는 포인팅 장치를 이용하여, camera A의 아이콘을 printer B의 아이콘상에 겹치게 한다(드래그 및 드롭)(도 6a의 d). 따라서, 데이터 탐색 장치(10)는 camera A의 ID(camera A) 및 printer B의 ID(printer B) 각각과 관련된 메타데이터가 조합되는 탐색이 수행되어야 함을 인식한다.
6) 탐색자는, 탐색 스크린(180)상의 탐색 시작 버튼을 클릭함으로써, 데이터 탐색 장치(10)에게 탐색을 시작하도록 지시하여, 탐색이 시작된다.
7) 데이터 탐색 장치(10)는 메타데이터 데이터베이스(20)로부터, (camera A) 및 printer B를 ID로서 포함하는 모든 메타데이터를 획득한다.
8) 데이터 탐색 장치(10)는 획득된 메타데이터의 서술 문장으로부터 전술한 트리를 생성한다.
9) 데이터 탐색 장치(10)는 트리의 루트 노드로 이동하여, 루트 노드로부터 연장되는 에지의 라벨의 리스트를 생성하고, 그 리스트를 탐색자에게 메뉴로서 제공한다(도 6b의 e).
10) 탐색자는 제공된 메뉴로부터 "printer B"를 선택한다.
11) 데이터 탐색 장치(10)는 라벨 "printer B"를 갖는 에지를 트레이싱하고, 다음 자식 노드에 도달한다.
12) 데이터 탐색 장치(10)는 단계 11)에서 도달된 현재 자식 노드로부터 다음 자식 노드까지의 에지를 검사하여, 이들 에지의 라벨인 단어를 포함하는 리스트를 생성한다. 본 예에서, 그것은 단어 항목 "P_P" 및 "P_M"을 포함하는 리스트이다(도 6b의 f).
13) 데이터 탐색 장치(10)는 생성된 리스트를 메뉴로서 탐색자에게 제공한다(도 6b의 f).
14) 탐색자는 제공된 메뉴로부터 "P_M"을 선택한다.
15) 데이터 탐색 장치(10)는 "P_M"의 라벨을 트레이싱하고, 자식 노드로 이동한다.
16) 데이터 탐색 장치(10)는 단계 15)에서 도달된 현재 자식 노드로부터 다음 자식 노드까지의 에지를 검사하여, 이들 에지의 라벨인 단어를 포함하는 리스트를 생성한다. 그러나, 본 예에서, 후보가 될 수 있는 "P_M" 다음의 단어는 변수 X이기 때문에, 리스트의 항목은 "search based on global unique identifier entered"이다.
17) 데이터 탐색 장치(10)는 생성된 리스트의 메뉴를 탐색자에게 제공한다(도 6b의 g).
18) 탐색자는 제공된 메뉴로부터 "perform a search based on glogal unique identifier entered"를 선택한다.
19) 데이터 탐색 장치(10)는 트리 및 현재 노드의 위치를 보존하고, 현재 탐색을 중지한다. 그 다음, 데이터 탐색 장치(10)는 내포된 새로운 탐색을 시작한다.
20) 변수 X의 타입은 PDF이기 때문에, 데이터 탐색 장치(10)는 메타데이터 데이터베이스로부터, 자신의 정적 데이터 타입 또는 프로그램 출력 타입이 PDF이고, ID "camera A" 또는 "printer B"를 포함하는 메타데이터를 획득한다. 그 다음, 데이터 탐색 장치(10)는 새로운 트리를 생성한다.
21) 데이터 탐색 장치(10)는 단계 20)에서 생성된 트리의 루트로부터 연장되는 에지를 검사하며, 에지의 라벨인 단어의 리스트가 생성된다. 본 예에서, 데이터 타입 PDF를 포함하고, ID "camera A" 또는 "printer B"를 포함하는 메타데이터내의 서술 문장 단어는 "camera A" 및 "printer B"이므로, 리스트는 단어 "camera A" 및 "printer B"를 포함한다. (이와 달리, "printer B"는 외부 내포에서의 탐색 동안 이미 선택되었기 때문에, 유일한 나머지 선택인 "camera A"를 포함하는 리스트가 생성된다. 이와 달리, "camera A"는 유일한 선택이므로, 탐색자가 "camera A"를 선택했다는 가정에 의해, 동작은 다음 단계로 이동한다.)
22) 데이터 탐색 장치(10)는 생성된 리스트를 메뉴로서 탐색자에게 제공한다(도 6b의 h).
23) 탐색자는 메뉴로부터 "camera A"를 선택한다.
24) 데이터 탐색 장치(10)는 "camera A"로서 라벨링된 에지를 자식 노드 쪽으로 하향 트랙킹한다.
25) 데이터 탐색 장치(10)는 현재 노드로부터 그의 자식 노드까지의 에지를 검사하여, 자식 노드의 라벨 단어를 포함하는 리스트를 생성한다. 그 다음, 데이터 탐색 장치(10)는 그 리스트를 탐색자에게 제공한다(도 6b의 i 및 j).
26) 탐색자는 "P_P"를 선택하고, 다음 "brochure"를 선택한다(도 6b의 i 및 j).
27) 데이터 탐색 장치(10)는 메타데이터의 서술 문장의 끝을 검출하고, 이 메타데이터를, 데이터 타입이 X의 타입과 동일하다는 정보와 함께 저장한다.
28) 데이터 탐색 장치(10)는 내포된 탐색을 종료하고, 보존된 트리 및 현재 노드를 재저장함으로써 외부 탐색으로 리턴한다.
29) 데이터 탐색 장치(10)는 리턴된 현재 노드로부터 변수 X를 갖는 에지를 아래쪽으로 자식 노드까지 트랙킹한다. 이러한 자식 노드에서, 데이터 탐색 장치(10)는 그의 자식 노드의 에지를 검사하여, 그러한 자식 노드의 라벨인 단어의 리스트를 생성하고, 그 리스트를 메뉴로서 탐색자에게 제공한다. 본 예에서, "P_O"가 단어 리스트의 항목으로서 생성되며, 그 다음 "print"를 포함하는 리스트가 생성된다(도 6c의 k 및 l). 그 다음, 동작은 다음 단계 30)으로 진행한다. 현재 노드가 현재 트랙킹되는 서술 문장의 끝에 대응하는 노드가 아닌 경우, 전술한 동작이 반복됨으로써, 후속하는 자식 노드가 검사되어, 단어 리스트가 생성되고, 문장의 끝에 대응하는 노드에 도달할 때까지 그것이 메뉴로서 제공된다. 이것은 또한 단계 32)에도 적용된다.
30) 탐색자는 "W_O"를 선택하고, 그 다음 "print"를 선택한다.
31) 데이터 탐색 장치(10)는 라벨 "print"를 갖는 에지를 자식 노드까지 하향 트레이싱한다.
32) 데이터 탐색 장치(10)는, 메타데이터가 단계 31)에서 도달된 자식 노드에 할당되는지를 검출한다. 그 다음, 데이터 탐색 장치(10)는 항목 "display result"를 포함하는 리스트를 생성하여, 그 리스트를 메뉴로서 탐색자에게 제공한다(도 6c의 m).
33) 탐색자는 "display result"를 선택한다.
34) 데이터 탐색 장치(10)는 노드에 할당된 메타데이터를 탐색자에게 제공한다. 데이터 탐색 장치(10)는 단계 27)에서 저장된 메타데이터가 X에 대응함을 나타낸다(즉, 메타데이터에 대응하는 데이터의 타입이 X의 타입과 동일함)(도 6c의 n).
위치된 메타데이터에 복수의 변수가 포함된다면, 각 변수와 메타데이터 사이의 대응 관계가 또한 디스플레이된다. 예를 들어, 탐색으로 인한 메타데이터의 서술 문장이 "printer B / P_M / X:PDF / and / Y:PDF / P_O / print"("print X:PDF and Y:PDF with printer B")이고, 서술 문장 "camera A / P_P / manual"("manual of camera A") 및 "camera A / P_P / specification"(specification of camera A)가 각각 변수 X 및 Y에 관련되는 경우, 디스플레이는 메타데이터 "printer B / P_M / X:PDF / and / Y:PDF / P_O / print" 이외에도, 변수 X 및 Y에 각각 대응하는 서술 문장 "camera A / P_P / brochure"("brochure of camera A") 및 "camera A / P_P / specification"("specification of camera A")를 각각 갖는 메타데이터를 나타낸다.
일실시예에 따른 데이터 탐색 장치(10)에 의한 동작들이 기술되었지만, 데이터 탐색 장치(10)는 이하에 기술된 방법으로 동작하도록 구성될 수도 있다.
단어 리스트를 탐색자에게 제공시에, 데이터 탐색 장치(10)는 단어들의 순서를 적절하게 변경할 수 있다. 특정 방법에서는, 데이터 탐색 장치(10)가 입력 단어 및 그들의 빈도수와 같은 탐색 히스토리를 유지함으로써, 데이터 탐색 장치(10)가 메뉴의 상부로부터 빈도수가 증가하는 순서로 입력 단어를 배열하도록 하는 것을 포함한다. 이러한 방식으로, 탐색자에 의한 탐색 효율성이 개선될 수 있다.
데이터 탐색 장치(10)는 그의 내부 사전에 단어의 유사성(synonymy)을 기록하고, 제공될 리스트를 동일 의미를 갖는 탐색자 단어에 부가할 수 있다. 예를 들어, "print" 및 "run off"는 동의어이므로, 이들 2가지 표현은 리스트에 포함되어, 탐색자가 "print"를 선택하든지 "run off"를 선택하든지 간에, 탐색자가 동일 프로그램을 위치시킬 수 있게 한다. 따라서, 타겟 프로그램이 보다 용이하고 신속하게 발견될 수 있다.
데이터 탐색 장치(10)는 단어 의미의 포함 관계(inclusion relationship)를 등록하고, 포함 관계를 갖는 단어를, 탐색자에게 제공될 단어 리스트에 부가하도록 하는 기능을 갖는다. 예를 들어, "camera A(임의의 카메라의 특정 모델명)가 camera(일반 명사)에 포함됨"이, 데이터 탐색 장치(10)내의 사전에 미리 기록된다. 이러한 경우, "camera A"가 단어 리스트에 존재할 때, 제공될 단어 리스트에 "camera"가 또한 부가된다. 또한, 탐색자가 단어 "camera"를 처음에 입력한다면, 서술 문장의 시작부에 "camera A"를 갖는 메타데이터가 메타데이터 데이터베이스로부터 획득된다.
데이터 탐색 장치(10)의 사용자 I/F 섹션에 포함된 입력 처리기는, 탐색자가 메뉴로부터 단어를 선택하는 대신에, 탐색자가 단어를 직접 입력할 수 있도록 구성되거나, 또는 대안적으로, 메뉴와 직접 입력 사이에서 선택하도록 함으로써 입력이 수행되도록 구성된다. 입력 처리기가 후자의 방법으로 구성될 때, 데이터 탐색 장치(10)는, 많은 단어가 탐색자에게 제공되는 경우, 탐색자가 단어를 직접 입력할 수 있도록 입력 처리기에게 지시하도록 구성된다. 직접 입력은, 예를 들면, 도 6b에 도시된 탐색 단어 입력 박스에 탐색 단어를 입력하고, "OK"를 클릭함으로써 수행될 수 있다.
데이터 탐색 장치(10)는 서술 문장에, 단어 순서가 변경될 수 있는 추가적인 정보를 부가하는 기능을 갖는다. 예를 들어, "X:HTML / P_O"("X:HTML") 및 "printer B / P_M"("with printer B")가 서술 문장 "X:HTML / P_O / printer B / P_M / print"("print X:HTML with printer B")로 재배열(교환)될 수 있는 추가적인 정보를 부가할 수 있다. 이러한 배열에 의해, 데이터 제공자는 서술 문장 "printer B / P_M / X:HTML / P_O / print"("print X:HTML with printer B")를 갖는 메타데이터를 더 등록하지 않아도 된다.
전술한 실시예는 메타데이터 표현 트리가 데이터 탐색 장치(10)내의 트리 생성기(232)에 의해 생성되도록 구성되지만, 메타데이터 데이터베이스가 미리 메타데이터 데이터베이스상에 메타데이터 표현 트리를 생성하는 구성이 이용될 수 있다.
전술한 실시예는 ID 캡처 장치(40)로부터 판독된 ID가 데이터 탐색 장치(10)에 직접 입력되어 스크린상에 아이콘으로서 나타나도록 구성되지만, 탐색자는, 예를 들면, 판독 ID를 탐색자가 수동 입력함으로써 데이터 탐색 장치(10)에 그것이 입력되도록 할 수 있다.
데이터 탐색 장치(10)의 기능은 하드웨어나 소프트웨어, 또는 그들의 조합으로 수행될 수 있다. 본 발명에 따른 데이터 탐색 장치의 기능이, GUI를 지원하는 Microsoft Windows(등록 상표)와 같은 오퍼레이팅 시스템상에서 실행가능한 소프트웨어에 의해 구현될 때, 객체에 대한 아이콘과 같은 탐색 스크린의 지시가 컴퓨터의 모니터 스크린상에 디스플레이될 수 있다.
전술한 실시예에서, ID는 메타데이터에 포함되고, 객체 및 메타데이터는 ID를 통해 관련된다. 그러나, 메타데이터는 ID 자체를 포함하지 않아도 되며, ID를 고유하게 식별하는 다른 식별자를 포함하여, 메타데이터 및 객체가 이러한 식별자를 통해 관련될 수 있도록 할 수 있다.
탐색 절차에 대한 특정 예에서는, 상이한 객체들에 관련된 메타데이터가 탐색을 위해 조합되는 탐색을 예로 든 것이다. 그러나, 전술한 구성으로부터, 동일한 객체와 관련된 상이한 데이터를 조합함으로써 탐색이 수행될 수 있음을 명확히 알 수 있다. 조합 탐색을 특정하는 다른 방법은, 예를 들면, 탐색의 시작시에 IP 입력 단계에서 2개의 동일한 ID를 입력함으로써 2개의 동일 아이콘을 디스플레이하고, 그들에 대해 드래그 및 드롭을 수행하여 이들 아이콘이 겹치게 하는 것이다. 이것은, 예를 들면, 동작 "print brochure of printer B with printer B"를 수행하는 프로그램이, printer B가 그의 ID를 통해, 서술 문장 "printer B / P_M / X:PDF / P_O / print"("print X:PDF with printer B")를 포함하는 메타데이터 및 서술 문장 "printer B / P_P / brochure"("brochure of printer B")를 포함하는 메타데이터 둘다 및 데이터 타입:PDF와 관련될 때 탐색되어야 하는 경우에 적절하다.
전술한 설명에서, 드래그 및 드롭된 아이콘(즉, 이동된 아이콘)과 관련된 ID 및 드래그 및 드롭된 아이콘이 겹쳐지는 아이콘(즉, 드래그 및 드롭 처리에서 이동되지 않은 아이콘)과 관련된 ID가, 어떠한 구별없이 처리된다. 그러나, 이동 및 고정된 아이콘은 서로 상이하게 처리될 수 있다. 예를 들어, 이동된 아이콘은 처리될 정적 데이터와 관련될 수 있고, 고정된 측의 아이콘은 처리될 정적 데이터를 처리하는 프로그램과 관련될 수 있다.
더욱이, 전술한 실시예에서의 설명은, 서술 문장이 특정 언어, 즉 일본어의 단어 순서로 기록되는 것으로 가정하지만, 본 발명은 임의의 다른 단어 순서의 서술 문장에도 물론 적용된다. 예를 들어, 트리는 동사가 객체 앞에 위치되는 영어 및 중국어와 같은 언어의 서술 문장에 대해, 전술한 실시예와 실질적으로 동일한 방법으로 구성되어, 그 트리를 이용하여 탐색을 수행하도록 할 수 있다. 이러한 경우, 동사는 명사 대신에 루트에 위치되기 때문에, 동작의 타겟인 객체를 처음 선택하는 대신에, 어떤 동작이 수행되는지에 대한 처음의 선택이 수행된다. 따라서, 서술 문장의 단어 순서가 전술한 실시예의 경우와 다를 때에도, 메타데이터 세트로부터 서술 문장을 획득하고, 이들 서술 문장으로부터 탐색을 위한 트리를 생성하며, 그것으로부터 메뉴를 생성하여, 전술한 실시예와 동일한 방법으로 탐색자에게 제공할 수 있다. 역시 동일한 방법으로, 내포된 탐색이 수행될 수 있다.
본 발명에 따르면, 소정의 "객체"와 관련된 데이터 및/또는 프로그램이 효율적으로 탐색될 수 있다. 더욱이, 하나 이상의 데이터 및/또는 프로그램이 하나 이상의 객체 각각과 관련될 때, 데이터 및 프로그램이 조합되는 탐색이 용이하게 수행될 수 있다.

Claims (22)

  1. 복수의 메타데이터(metadata) 각각이 적어도 글로벌 고유 식별자(global unique identifier), 데이터 인덱스 및 베이스 데이터의 서술 문장을 포함하고, 상기 고유 식별자는 특정 객체를 식별하는 식별자이며, 각각의 상기 메타데이터는 상기 데이터 인덱스에 의해 대응 베이스 데이터와 관련되고, 상기 글로벌 고유 식별자에 의해 상기 객체와 관련되는, 데이터를 탐색하는 데이터 탐색 시스템에 있어서,
    메타데이터를 저장하는 메타데이터 스토어(store)와,
    상기 글로벌 고유 식별자를 입력하기 위한 입력과,
    상기 입력된 글로벌 고유 식별자를 포함하는 메타데이터 세트를 상기 메타데이터 스토어로부터 판독하는 메타데이터 판독기와,
    특정 서술 문장에 대해 상기 판독된 메타데이터 세트를 탐색함으로써 특정 메타데이터를 탐색하는 메타데이터 탐색자를 포함하는
    데이터 탐색 시스템.
  2. 제 1 항에 있어서,
    상기 복수의 메타데이터는 동일한 글로벌 고유 식별자를 포함하는 데이터 탐색 시스템.
  3. 제 2 항에 있어서,
    상기 특정 메타데이터로부터 상기 데이터 인덱스를 캡처(capturing)하는 수단과,
    상기 데이터 인덱스에 기초하여 상기 특정 메타데이터에 대응하는 베이스 데이터를 캡처하는 수단을 더 포함하는 데이터 탐색 시스템.
  4. 제 1 항에 있어서,
    상기 특정 메타데이터로부터 상기 데이터 인덱스를 캡처하는 수단과,
    상기 데이터 인덱스에 기초하여 상기 특정 메타데이터에 대응하는 베이스 데이터를 캡처하는 수단을 더 포함하는 데이터 탐색 시스템.
  5. 복수의 메타데이터 각각이 적어도 글로벌 고유 식별자, 데이터 인덱스 및 베이스 데이터의 서술 문장을 포함하고, 상기 고유 식별자는 특정 객체를 식별하는 식별자이며, 각각의 상기 메타데이터는 상기 데이터 인덱스에 의해 대응 베이스 데이터와 관련되고, 상기 글로벌 고유 식별자에 의해 상기 객체와 관련되며, 복수의 메타데이터는 동일한 글로벌 고유 식별자를 포함할 수 있는, 데이터 탐색 방법에 있어서,
    상기 글로벌 고유 식별자를 입력하는 단계와,
    상기 입력된 글로벌 고유 식별자를 포함하는 메타데이터 세트를 캡처하는 단계와,
    상기 캡처된 메타데이터 세트내의 각 메타데이터에 포함된 서술 문장에 기초하여 제 1 특정 메타데이터를 탐색하는 단계를 포함하는
    데이터 탐색 방법.
  6. 제 5 항에 있어서,
    상기 메타데이터의 서술 문장은 단어들의 시퀀스이고, 상기 방법은,
    a. 상기 캡처된 메타데이터 세트를 유지하고, 상기 세트에 포함된 서술 문장의 시작부에서 단어를 획득 및 제공하는 단계와,
    b. 상기 제공된 단어로부터 하나의 단어를 선택 및 입력하는 단계와,
    c. 상기 유지된 메타데이터 중에서 상기 입력된 단어와 매칭하는 단어를 포함하는 서술 문장을 갖는 메타데이터만을 유지하는 단계와,
    d. 상기 유지된 메타데이터의 서술 문장으로부터 단어를 획득 및 제공하는 단계―상기 획득 및 제공된 단어는 상기 매칭하는 단어 다음의 시퀀스에서의 위치에 있음―와,
    e. 상기 단계 d에서 획득된 단어가 상기 유지된 메타데이터의 임의의 서술 문장의 마지막 단어일 때까지, 상기 단계 b 내지 d를 반복하는 단계와,
    f. 상기 유지된 메타데이터 중에서, 서술 문장이 상기 단계 e에서의 상기 마지막 단어를 그의 마지막 단어로서 갖는 메타데이터를 제공하는 단계를 더 포함하는 데이터 탐색 방법.
  7. 제 6 항에 있어서,
    상기 단계 f 이후에,
    g. 상기 제공된 메타데이터가 상기 제 1 특정 메타데이터라는 결정과 상기 단계 d, e, f를 더 수행하는 것 사이의 선택을 수행하는 단계와,
    h. 상기 제공된 메타데이터가 상기 제 1 특정 메타데이터라고 결정될 때까지 상기 단계 g를 반복하는 단계를 더 포함하는 데이터 탐색 방법.
  8. 상기 청구항 7의 방법을 수행하는 장치.
  9. 상기 청구항 6의 방법을 수행하는 장치.
  10. 상기 청구항 5의 방법을 수행하는 장치.
  11. 복수의 메타데이터 각각이 적어도 글로벌 고유 식별자, 데이터 인덱스 및 베이스 데이터의 서술 문장을 포함하고, 상기 고유 식별자는 특정 객체를 식별하는 식별자이며, 각각의 상기 메타데이터는 상기 데이터 인덱스에 의해 대응 베이스 데이터와 관련되고, 상기 글로벌 고유 식별자에 의해 상기 객체와 관련되며, 상기 메타데이터는 상기 관련된 베이스 데이터의 타입을 더 포함하고, 복수의 메타데이터는 동일한 글로벌 고유 식별자를 포함할 수 있으며, 상기 서술 문장은 단어의 시퀀스이고, 상기 서술 문장의 단어는 특정 데이터 타입의 변수로서 표현될 수 있으며, 특정 서술 문장을 포함하는 제 1 특정 메타데이터는 제 1 글로벌 고유 식별자와 관련된 메타데이터 세트로부터 탐색되는, 데이터 탐색 방법에 있어서,
    상기 제 1 글로벌 고유 식별자 및 제 2 글로벌 고유 식별자를 입력하는 단계와,
    상기 제 1 글로벌 고유 식별자를 포함하는 메타데이터 및 상기 제 2 글로벌 고유 식별자를 포함하는 메타데이터의 조합 탐색을 특정하는 단계와,
    상기 제 1 글로벌 고유 식별자 또는 상기 제 2 글로벌 고유 식별자를 포함하는 메타데이터 세트를 캡처하는 단계와,
    a. 상기 캡처된 메타데이터 세트를 유지하고, 상기 세트에 포함된 서술 문장의 시작부에서 단어를 획득 및 제공하는 단계와,
    b. 상기 제공된 단어로부터 하나의 단어를 선택 및 입력하는 단계와,
    c. 상기 유지된 메타데이터 중에서 상기 입력된 단어와 매칭하는 단어를 포함하는 서술 문장을 갖는 메타데이터만을 유지하는 단계와,
    d. 상기 유지된 메타데이터의 서술 문장으로부터 단어를 획득 및 제공하는 단계―상기 획득 및 제공된 단어는 상기 매칭하는 단어 다음의 시퀀스에서의 위치에 있음―와,
    e. 상기 단계 d에서 획득된 단어가 상기 유지된 메타데이터의 임의의 서술 문장의 마지막 단어일 때까지, 상기 단계 b 내지 d를 반복하는 단계를 포함하되,
    상기 단계 a-e는 캡처된 메타데이터의 세트로서 간주되는 상기 제 1 글로벌 고유 식별자를 포함하는 메타데이터 세트로 수행되고,
    상기 단계 b에서 선택된 단어가 상기 변수(제 1 변수)인 경우,
    상기 메타데이터 조합 탐색이 선택가능함을 지시하고,
    상기 메타데이터의 조합 탐색을 선택하며,
    상기 메타데이터 조합 탐색이 선택된 경우,
    상기 제 1 또는 제 2 글로벌 고유 식별자를 포함하고, 상기 제 1 변수와 동일한 데이터 타입을 포함하는 메타데이터 세트(제 2 메타데이터 세트)를 캡처하고,
    상기 제 2 메타데이터 세트내의 각각의 메타데이터에 포함된 서술 문장에 기초하여 제 2 특정 메타데이터를 탐색하는
    데이터 탐색 방법.
  12. 제 11 항에 있어서,
    a'. 상기 캡처된 메타데이터 세트를 유지하고, 상기 세트에 포함된 서술 문장의 시작부에서 단어를 획득 및 제공하는 단계와,
    b'. 상기 제공된 단어로부터 하나의 단어를 선택 및 입력하는 단계와,
    c'. 상기 유지된 메타데이터 중에서 상기 입력된 단어와 매칭하는 단어를 포함하는 서술 문장을 갖는 메타데이터만을 유지하는 단계와,
    d'. 상기 유지된 메타데이터의 서술 문장으로부터 단어를 획득 및 제공하는 단계―상기 획득 및 제공된 단어는 상기 매칭하는 단어 다음의 시퀀스에서의 위치에 있음―와,
    e'. 상기 단계 d에서 획득된 단어가 상기 유지된 메타데이터의 임의의 서술 문장의 마지막 단어일 때까지, 상기 단계 b 내지 d를 반복하는 단계와,
    f. 상기 유지된 메타데이터 중에서, 서술 문장이 상기 단계 e에서의 상기 마지막 단어를 그의 마지막 단어로서 갖는 메타데이터를 제공하는 단계―상기 단계 a'-e' 및 f는 캡처된 메타데이터의 세트로서 간주되는 제 2 메타데이터 세트로 수행됨―와,
    i. 상기 단계 f에서 제공된 상기 메타데이터가 상기 제 2 특정 메타데이터라는 결정과 상기 단계 d', e', f를 다시 수행하는 것 사이의 선택을 수행하는 단계와,
    j. 상기 제공된 메타데이터가 상기 제 2 특정 메타데이터라고 결정될 때까지 상기 단계 i를 반복하는 단계를 포함하는 데이터 탐색 방법.
  13. 제 12 항에 있어서,
    k. 상기 메타데이터 조합 탐색이 선택되는 경우, 유지되는 메타데이터(유지 메타데이터) 및 상기 제 1 변수를 일시적으로 저장하는 단계와,
    상기 제 2 특정 메타데이터가 위치되는 경우,
    l. 상기 일시적으로 저장된 유지 데이터 및 상기 제 1 변수를 판독하는 단계와,
    a". 상기 캡처된 메타데이터 세트를 유지하고, 상기 세트에 포함된 서술 문장의 시작부에서 단어를 획득 및 제공하는 단계와,
    b". 상기 제공된 단어로부터 하나의 단어를 선택 및 입력하는 단계와,
    c". 상기 유지된 메타데이터 중에서 상기 입력된 단어와 매칭하는 단어를 포함하는 서술 문장을 갖는 메타데이터만을 유지하는 단계와,
    d". 상기 유지된 메타데이터의 서술 문장으로부터 단어를 획득 및 제공하는 단계―상기 획득 및 제공된 단어는 상기 매칭하는 단어 다음의 시퀀스에서의 위치에 있음―와,
    e". 상기 단계 d에서 획득된 단어가 상기 유지된 메타데이터의 임의의 서술 문장의 마지막 단어일 때까지, 상기 단계 b 내지 d를 반복하는 단계와,
    f'. 상기 유지된 메타데이터 중에서, 서술 문장이 상기 단계 e에서의 상기 마지막 단어를 그의 마지막 단어로서 갖는 메타데이터를 제공하는 단계를 더 포함하되,
    상기 단계 a"은 상기 제 1 변수에 의해 표현되는 상기 단어 다음의 위치에서 서술 문장에 단어를 캡처하여 제공하는 것으로서 간주되며, 상기 단어가 캡처되어 제공되는 상기 서술 문장은 상기 유지 데이터내의 각각의 메타데이터에 포함되는 데이터 탐색 방법.
  14. 제 13 항에 있어서,
    상기 단계 a"-f'을 수행하는 것은,
    n. 상기 단계 f'에서 제공된 상기 메타데이터가 상기 제 1 특정 메타데이터라는 결정과 상기 단계 d", e", f'을 더 수행하는 것 사이의 선택을 수행하는 단계와,
    o. 상기 제공된 메타데이터가 상기 제 1 특정 메타데이터라고 결정될 때까지 상기 단계 n을 반복하는 단계를 포함하는 데이터 탐색 방법.
  15. 제 14 항에 있어서,
    상기 제 1 글로벌 고유 식별자에 대응하는 제 1 아이콘을 디스플레이하는 단계와,
    상기 제 2 글로벌 고유 식별자에 대응하는 제 2 아이콘을 디스플레이하는 단계를 더 포함하되,
    상기 메타데이터의 조합 탐색을 특정하는 단계는 상기 제 1 아이콘 및 상기 제 2 아이콘 중 하나를 다른 것 위로 드래깅 및 드롭핑(dragging-and-dropping)하는 것을 포함하는 데이터 탐색 방법.
  16. 제 11 항에 있어서,
    상기 제 1 글로벌 고유 식별자에 대응하는 제 1 아이콘을 디스플레이하는 단계와,
    상기 제 2 글로벌 고유 식별자에 대응하는 제 2 아이콘을 디스플레이하는 단계를 더 포함하되,
    상기 메타데이터의 조합 탐색을 특정하는 단계는 상기 제 1 아이콘 및 상기 제 2 아이콘 중 하나를 다른 것 위로 드래깅 및 드롭핑하는 것을 포함하는 데이터 탐색 방법.
  17. 제 11 항에 있어서,
    k. 상기 메타데이터 조합 탐색이 선택되는 경우, 유지되는 메타데이터(유지 메타데이터) 및 상기 제 1 변수를 일시적으로 저장하는 단계와,
    상기 제 2 특정 메타데이터가 위치되는 경우,
    l. 상기 일시적으로 저장된 유지 데이터 및 상기 제 1 변수를 판독하는 단계와,
    a". 상기 캡처된 메타데이터 세트를 유지하고, 상기 세트에 포함된 서술 문장의 시작부에서 단어를 획득 및 제공하는 단계와,
    b". 상기 제공된 단어로부터 하나의 단어를 선택 및 입력하는 단계와,
    c". 상기 유지된 메타데이터 중에서 상기 입력된 단어와 매칭하는 단어를 포함하는 서술 문장을 갖는 메타데이터만을 유지하는 단계와,
    d". 상기 유지된 메타데이터의 서술 문장으로부터 단어를 획득 및 제공하는 단계―상기 획득 및 제공된 단어는 상기 매칭하는 단어 다음의 시퀀스에서의 위치에 있음―와,
    e". 상기 단계 d에서 획득된 단어가 상기 유지된 메타데이터의 임의의 서술 문장의 마지막 단어일 때까지, 상기 단계 b 내지 d를 반복하는 단계와,
    f'. 상기 유지된 메타데이터 중에서, 서술 문장이 상기 단계 e에서의 상기 마지막 단어를 그의 마지막 단어로서 갖는 메타데이터를 제공하는 단계를 더 포함하되,
    상기 단계 a"은 상기 제 1 변수에 의해 표현되는 상기 단어 다음의 위치에서 서술 문장에 단어를 캡처하여 제공하는 것으로서 간주되며, 상기 단어가 캡처되어 제공되는 상기 서술 문장은 상기 유지 데이터내의 각각의 메타데이터에 포함되는 데이터 탐색 방법.
  18. 상기 청구항 11의 방법을 수행하는 장치.
  19. 상기 청구항 12의 방법을 수행하는 장치.
  20. 상기 청구항 17의 방법을 수행하는 장치.
  21. 상기 청구항 14의 방법을 수행하는 장치.
  22. 상기 청구항 16의 방법을 수행하는 장치.
KR1020040016892A 2003-03-14 2004-03-12 데이터 탐색 시스템 및 방법과, 데이터 탐색 방법을수행하는 장치 KR101088983B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003069522A JP4381012B2 (ja) 2003-03-14 2003-03-14 万物識別子を用いたデータ検索システムおよびデータ検索方法
JPJP-P-2003-00069522 2003-03-14

Publications (2)

Publication Number Publication Date
KR20040081061A true KR20040081061A (ko) 2004-09-20
KR101088983B1 KR101088983B1 (ko) 2011-12-01

Family

ID=32767975

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040016892A KR101088983B1 (ko) 2003-03-14 2004-03-12 데이터 탐색 시스템 및 방법과, 데이터 탐색 방법을수행하는 장치

Country Status (5)

Country Link
US (1) US7340450B2 (ko)
EP (1) EP1457898A3 (ko)
JP (1) JP4381012B2 (ko)
KR (1) KR101088983B1 (ko)
CN (1) CN100416559C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825720B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 파일 시스템에서 파일 관리 방법 및 이를 위한 메타데이터서버
KR102513676B1 (ko) * 2022-05-30 2023-03-24 한국과학기술정보연구원 데이터 분석 시스템 및 그 방법

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047488B2 (en) 2002-07-19 2006-05-16 Open Invention Network Registry driven interoperability and exchange of documents
US7689712B2 (en) * 2003-11-26 2010-03-30 Ricoh Company, Ltd. Techniques for integrating note-taking and multimedia information
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US8521720B2 (en) * 2004-06-25 2013-08-27 Apple Inc. Methods and systems for managing data
US20050289107A1 (en) * 2004-06-25 2005-12-29 Yan Arrouye Methods and systems for managing data
US7949666B2 (en) * 2004-07-09 2011-05-24 Ricoh, Ltd. Synchronizing distributed work through document logs
US7318064B2 (en) * 2004-10-28 2008-01-08 International Business Machines Corporation Using MD4 checksum as primary keys to link transactions across machines
US8805929B2 (en) 2005-06-20 2014-08-12 Ricoh Company, Ltd. Event-driven annotation techniques
US8311663B2 (en) * 2005-08-31 2012-11-13 International Business Machines Corporation Apparatus and method to store information
US8041156B2 (en) * 2006-05-31 2011-10-18 Agfa Inc Single-frame and multi-frame image data conversion system and method
US7634486B2 (en) * 2006-06-29 2009-12-15 Microsoft Corporation Systems management navigation and focus collection
US8479004B2 (en) * 2006-08-31 2013-07-02 Ricoh Co., Ltd Paper-based document logging
US8006094B2 (en) 2007-02-21 2011-08-23 Ricoh Co., Ltd. Trustworthy timestamps and certifiable clocks using logs linked by cryptographic hashes
US8996483B2 (en) 2007-03-28 2015-03-31 Ricoh Co., Ltd. Method and apparatus for recording associations with logs
US20080243688A1 (en) * 2007-03-28 2008-10-02 Hart Peter E Method and Apparatus for Recording Transactions with a Portable Logging Device
US20080256443A1 (en) * 2007-04-16 2008-10-16 France Telecom System for aggregating and displaying syndicated news feeds
US8099416B2 (en) * 2007-04-23 2012-01-17 Zi Corporation Of Canada, Inc. Generalized language independent index storage system and searching method
US20090094659A1 (en) * 2007-10-05 2009-04-09 Sony Corporation Identification of Streaming Content and Estimation of Playback Location Based on Closed Captioning
US7974979B2 (en) * 2007-10-05 2011-07-05 Zi Corporation Of Canada, Inc. Inquiry-oriented user input apparatus and method
US8099446B2 (en) 2007-12-12 2012-01-17 International Business Machines Corporation Digital content searching tool
US8468142B2 (en) * 2008-08-06 2013-06-18 Fujitsu Limited Caching query results with binary decision diagrams (BDDs)
US8185733B2 (en) 2008-10-02 2012-05-22 Ricoh Co., Ltd. Method and apparatus for automatically publishing content based identifiers
WO2010048238A1 (en) * 2008-10-20 2010-04-29 Jayasenan Sundara Ganesh Apparatus and method for data search and organization
US8380866B2 (en) 2009-03-20 2013-02-19 Ricoh Company, Ltd. Techniques for facilitating annotations
GB0906004D0 (en) * 2009-04-07 2009-05-20 Omnifone Ltd MusicStation desktop
CN101645039B (zh) * 2009-06-02 2011-06-22 中国科学院声学研究所 一种基于彼得森图的数据存储和读取方法
US8489588B2 (en) * 2009-12-21 2013-07-16 International Business Machines Corporation Interactive visualization of sender and recipient information in electronic communications
JP5645614B2 (ja) * 2010-11-12 2014-12-24 キヤノン株式会社 文書管理装置、文書管理装置の制御方法およびコンピュータプログラム
CN102081649B (zh) * 2010-12-31 2012-08-15 深圳联友科技有限公司 一种搜索电脑文件的方法及其系统
KR101839319B1 (ko) * 2011-07-05 2018-03-19 엘지전자 주식회사 컨텐츠 검색 방법 및 그를 이용한 디스플레이 장치
CN103176687A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种桌面图标的分区管理方法和系统
CN102663090B (zh) * 2012-04-10 2013-11-06 华为技术有限公司 元数据查询方法和装置
US20170061024A1 (en) * 2014-06-11 2017-03-02 Sony Corporation Information processing device, control method, and program
US20160063021A1 (en) * 2014-08-28 2016-03-03 Futurewei Technologies, Inc. Metadata Index Search in a File System
CN105138357B (zh) * 2015-08-11 2018-05-01 中山大学 一种移动应用操作助手的实现方法及其装置
CN105893403A (zh) * 2015-11-11 2016-08-24 乐视移动智能信息技术(北京)有限公司 索引展示、目标标识符集合查找方法及装置
US10282436B2 (en) * 2017-01-04 2019-05-07 Samsung Electronics Co., Ltd. Memory apparatus for in-place regular expression search
CN108536705B (zh) 2017-03-02 2021-10-01 华为技术有限公司 数据库系统中对象的编码及运算方法与数据库服务器
US11138157B2 (en) * 2017-08-30 2021-10-05 Jpmorgan Chase Bank, N.A. System and method for identifying business logic and data lineage with machine learning
JP6981118B2 (ja) * 2017-09-11 2021-12-15 富士フイルムビジネスイノベーション株式会社 情報処理装置、プログラム及び制御方法
US11645234B2 (en) 2019-04-17 2023-05-09 International Business Machines Corporation Rule-based collections of subset(s) of metadata in response to a trigger event occurring

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3206895B2 (ja) 1997-07-31 2001-09-10 日本電信電話株式会社 情報提示方法及び情報提示プログラムを格納した記憶媒体
KR100284574B1 (ko) * 1997-10-27 2001-03-15 정선종 객체자동저장시스템및그운용방법
JPH11213014A (ja) * 1997-11-19 1999-08-06 Nippon Steel Corp データベースシステム、データベース検索方法及び記録媒体
JPH11203835A (ja) 1998-01-16 1999-07-30 Sony Corp 編集装置および方法、並びに提供媒体
US6144958A (en) * 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
KR100295391B1 (ko) * 1998-12-03 2001-07-12 오길록 씨.에이.엘.에스 통합 데이터베이스를 위한 메타 데이터카탈로그 시스템
NL1013793C1 (nl) * 1999-12-08 2001-06-11 Eidetica B V Documentenzoeksysteem met automatische veldselectie en veldgestuurde documentsortering.
US6772150B1 (en) * 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US20030217052A1 (en) * 2000-08-24 2003-11-20 Celebros Ltd. Search engine method and apparatus
US6959326B1 (en) * 2000-08-24 2005-10-25 International Business Machines Corporation Method, system, and program for gathering indexable metadata on content at a data repository
JP2002108892A (ja) 2000-09-29 2002-04-12 Canon Inc データ管理システム、データ管理方法、及び、記録媒体
US20030195803A1 (en) * 2000-10-25 2003-10-16 Jussi Ketonen Method and system for retrieving and analyzing data to customize the behavior of automated web agents
US6704733B2 (en) * 2000-10-25 2004-03-09 Lightning Source, Inc. Distributing electronic books over a computer network
AU2002220172A1 (en) 2000-11-15 2002-05-27 David M. Holbrook Apparatus and method for organizing and/or presenting data
GB0029893D0 (en) * 2000-12-07 2001-01-24 Sony Uk Ltd Video information retrieval
FR2818118B1 (fr) * 2000-12-14 2003-06-06 Sulzer Orthopedie S A Cupule cotyloidienne pour prothese de la hanche
WO2002052441A1 (en) * 2000-12-22 2002-07-04 Koninklijke Philips Electronics N.V. Meta data category and a method of building an information portal
JP2002373174A (ja) 2001-06-15 2002-12-26 Nec Corp 情報検索システムおよび情報検索プログラム
US20030084035A1 (en) * 2001-07-23 2003-05-01 Emerick Charles L. Integrated search and information discovery system
US7251641B2 (en) * 2001-08-01 2007-07-31 It Liberator As Adjustable database runtime kernel
US7054859B2 (en) * 2002-06-13 2006-05-30 Hewlett-Packard Development Company, L.P. Apparatus and method for responding to search requests for stored documents

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825720B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 파일 시스템에서 파일 관리 방법 및 이를 위한 메타데이터서버
KR102513676B1 (ko) * 2022-05-30 2023-03-24 한국과학기술정보연구원 데이터 분석 시스템 및 그 방법

Also Published As

Publication number Publication date
US7340450B2 (en) 2008-03-04
EP1457898A2 (en) 2004-09-15
CN1530860A (zh) 2004-09-22
US20040244039A1 (en) 2004-12-02
KR101088983B1 (ko) 2011-12-01
EP1457898A3 (en) 2006-05-24
CN100416559C (zh) 2008-09-03
JP2004280351A (ja) 2004-10-07
JP4381012B2 (ja) 2009-12-09

Similar Documents

Publication Publication Date Title
KR101088983B1 (ko) 데이터 탐색 시스템 및 방법과, 데이터 탐색 방법을수행하는 장치
US11093469B2 (en) Holistic document search
US20020002547A1 (en) Information retrieval apparatus and information retrieval method
JP2002524799A (ja) 知識創造可能性を有するドキュメントの意味論的分析及び選択
JPH10143532A (ja) 情報フィルタリング装置および情報フィルタリング方法
JP2004118740A (ja) 質問応答システム、質問応答方法、質問応答プログラム
JP4967037B2 (ja) 情報検索装置、情報検索方法、端末装置、およびプログラム
JP2007193697A (ja) 情報収集装置,情報収集方法およびプログラム
Ahmed et al. Structured literature image finder: Parsing text and figures in biomedical literature
JP3186960B2 (ja) 情報検索方法およびその装置
JP2010266971A (ja) 端末装置
JPH11143885A (ja) 情報検索方法及び装置及び情報検索プログラムを格納した記憶媒体及び情報発信方法及び装置及び情報発信プログラムを格納した記憶媒体
Witte et al. Connecting wikis and natural language processing systems
US20050289161A1 (en) Integrated document directory generator apparatus and methods
JP2009123067A (ja) 用語辞書生成方法、用語辞書生成装置、プログラム、および記録媒体
JP2008077584A (ja) 訳語検索システム、方法及びプログラム
US20140122660A1 (en) Web Navigation Using Web Navigation Pattern Histories
JP2773667B2 (ja) 関連情報検索装置
JP5843235B2 (ja) Web情報処理装置、web情報処理方法、およびプログラム
JP4034503B2 (ja) 文書検索システムおよび文書検索方法
JP2011186692A (ja) 情報検索システムおよび情報検索方法
JP2006120169A (ja) 情報検索装置およびその装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4368550B2 (ja) 文書検索装置、文書検索方法およびその方法をコンピュータに実行させるプログラム
JP2005011175A (ja) リンク情報配送システムおよびリンク情報配送方法
JP5720511B2 (ja) 情報閲覧方法、情報閲覧システム、サーバ装置およびクライアント装置

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee