KR100765784B1 - 엔티티 검색 방법 및 장치 - Google Patents

엔티티 검색 방법 및 장치 Download PDF

Info

Publication number
KR100765784B1
KR100765784B1 KR1020060046283A KR20060046283A KR100765784B1 KR 100765784 B1 KR100765784 B1 KR 100765784B1 KR 1020060046283 A KR1020060046283 A KR 1020060046283A KR 20060046283 A KR20060046283 A KR 20060046283A KR 100765784 B1 KR100765784 B1 KR 100765784B1
Authority
KR
South Korea
Prior art keywords
entity
document
search
server
client
Prior art date
Application number
KR1020060046283A
Other languages
English (en)
Inventor
김윤수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060046283A priority Critical patent/KR100765784B1/ko
Application granted granted Critical
Publication of KR100765784B1 publication Critical patent/KR100765784B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Primary Health Care (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 엔티티(entity)를 검색하는 방법 및 장치에 관한 것으로, 본 발명에 따른 엔티티를 검색하는 방법은 클라이언트가 서버에게 소정의 엔티티의 검색을 요청하는 단계; 서버가 XML(eXtensible Markup Language)로 표현된 문서들을 참조하여 엔티티의 검색을 수행하는 단계; 서버가 검색의 결과를 상기 클라이언트에게 전송하는 단계를 포함하며, 본 발명에 의하면 XML로 표현된 문서에 포함된 엔티티를 검색함에 있어 프로토콜별로 상이하게 검색 방법을 정의할 필요가 없어진다.
엑스엠엘, XML, 엔티티, 검색

Description

엔티티 검색 방법 및 장치{Method and apparatus for searching entity}
도 1은 UPnP AV CDS(Universal Plug and Play AV Content Directory Service)에서의 콘텐츠를 검색하는 방법을 도시한다.
도 2 내지 3은 UPnP AV CDS에서의 콘텐츠의 검색요청 메시지와 검색결과 메시지를 도시한다.
도 4는 UDDI(Universal Description Discovery & Integration)에서의 웹 서비스를 검색하는 방법을 도시한다.
도 5 내지 6은 UDDI에서의 웹 서비스의 검색요청 메시지와 검색결과 메시지를 도시한다.
도 7은 XML(eXtensible Markup Language)로 표현된 문서를 도시한다.
도 8은 XQuery를 이용하여 XML 문서의 특정 엘리먼트(element)를 추출하는 과정을 도시한다.
도 9는 본 발명의 바람직한 실시예에 따라 클라이언트가 엔티티(entity)를 검색하는 방법의 흐름도이다.
도 10은 본 발명의 바람직한 실시예에 따라 서버가 엔티티를 검색하여 클라이언트에 제공하는 방법의 흐름도이다.
도 11은 본 발명의 바람직한 실시예에 따른 엔티티를 검색하는 시스템을 도 시한다.
도 12a는 본 발명의 바람직한 실시예에 따른 클라이언트를 도시한다.
도 12b는 본 발명의 바람직한 실시예에 따른 UPnP AV CDS에서의 검색요청 메시지를 도시한다.
도 12c는 본 발명의 바람직한 실시예에 따른 UDDI(Universal Description Discovery & Integration)에서의 검색요청 메시지를 도시한다.
도 13은 본 발명의 바람직한 실시예에 따른 서버를 도시한다.
도 14는 본 발명의 바람직한 실시예에 따른 문서검색서버를 도시한다.
도 15a는 본 발명의 바람직한 실시예에 따른 UPnP 서비스 디스크립션(Service Description)에 의해 구현한 네트워크 API(Application Program Interface)를 도시한다.
도 15b는 본 발명의 바람직한 실시예에 따른 문서검색결과 메시지를 도시한다.
도 16은 본 발명에 바람직한 실시예에 따른 WSDL(Web Services Description Language)에 의해 구현한 네트워크 API를 도시한다.
도 17은 본 발명의 바람직한 실시예에 따른 엔티티의 검색이 가능한 문서를 검색하는 과정을 도시한다.
도 18은 본 발명의 바람직한 실시예에 따른 엔티티를 검색하는 과정을 도시한다.
도 19는 본 발명의 바람직한 실시예에 따른 XML 문서를 로딩(loading)하는 과정을 도시한다.
본 발명은 네트워크 상에서 임의의 엔티티(Entity)를 검색하는 엔티티 검색 방법 및 장치에 관한 것이고, 보다 상세하게는 XML(eXtensible Markup Language)에 포함된 엔티티를 검색하기 위한 방법 및 장치에 관한 것이다.
네트워크를 통해 서로 연동하는 시스템은 원하는 엔티티를 검색하기 위해 프로토콜별로 상이한 검색 방법을 제공한다. UPnP(Universal Plug and Play) 디스커버리(discovery)에서는 서비스와 디바이스를 검색하기 위해 SSDP(Simple Service Discovery Protocol)을 사용하고 있고, UPnP AV CDS(Content Directory Service)에서는 Search() 라는 오퍼레이션(operation)을 제공하고 있다. UDDI(Universal Description Discovery & Integration)에서는 원하는 웹 서비스(Web Service)를 찾을 수 있도록 find_XXX() 형식의 오퍼레이션(operation)을 제공한다.
도 1은 종래 UPnP AV CDS에서의 콘텐츠 검색 방법을 도시한다.
제어 포인트(control point)(101)가 미디어 서버(media server)(102)에게 콘텐츠에 대한 검색을 요청하는 Search()(103)를 전송하고, 미디어 서버(102)는 이에 대한 응답으로 콘텐츠 객체들(104)을 제어 포인트(101)에 전송한다. 전송된 콘텐츠에 대한 정보에 따라 미디어 렌더러(media renderer)(미도시)를 통해 콘텐츠를 재생한다.
도 2 내지 3은 종래 UPnP AV CDS 에서의 콘텐츠의 검색요청 메시지과 검색결과 메시지를 도시한다.
도 2는 제어 포인트(101)이 미디어 서버(102)에 전송하는 Search()를 도시한다. Searchcriteria = ""에 포함된 조건에 의해 검색을 하되 Filter = "" 에 포함된 클래스만을 리턴(return)하도록 콘텐츠 검색을 요청한다.
도 3은 종래 UPnP AV CDS 에서 제어 포인트(101)가 전송한 Search() 오퍼레이션에 대해 미디어 서버(102)가 제어 포인트로 전송하는 콘텐츠 오브젝트(object)를 도시한다. 도 2에서 미디어 서버로 보내진 검색 조건에 의해 콘텐츠를 검색한 결과를 Result, NumberReturned, TotalMatches, Updateid로 구분하여 제어 포인트로 리턴한다. 도 3에 도시된 바와 같이 미디어 서버(102)가 제어 포인트(101)로 전송하는 콘텐츠의 검색 결과는 DIDL-LITE, container 및 복수의 item을 엘리먼트(element)로 가지는 XML로 표현된 문서임을 알 수 있다.
도 4는 종래 UDDI(Universal Description Discovery & Integration)에서 웹 서비스를 검색하는 방법을 도시한다.
UDDI 클라이언트(401)가 find_XXX() 형식의 오퍼레이션을 UDDI 서버(402)로 전송한다. 도 4에서는 일 실시예로서 find_business()(403)를 예로 들었다. find_business()(403)를 요청받은 UDDI 서버(402)는 그 응답으로 bussinessList 를 UDDI 클라이언트(401)에 리턴한다. UDDI에는 도 4에 도시된 find_business() 이외에 find_relatedbusiness(), find_sever(), find_binding(), find_tModel() 등의 다양한 오퍼레이션이 있다.
도 5 내지 6은 종래 UDDI에서의 웹 서비스의 검색요청 메시지와 검색결과 메시지를 도시한다.
도 4에 도시된 find_bussiness()를 예로 들면, 도 5에서 UDDI 클라이언트(401)는 find_bussiness()를 "Samsung"이라는 조건에 따라 수행할 것을 UDDI 서버(402)에 전송한다.
도 5에 도시된 UDDI 클라이언트(401)의 find_bussiness()에 따라 UDDI 서버(402)는 도 6에 도시된 바와 같은 검색결과 메시지를 리턴한다. 도 6에 도시된 바와 같이 UDDI 서버가 UDDI 클라이언트에 리턴하는 검색결과 메시지는 bussinesslist, bussinessInfos, name 및 serviceInfos 를 엘리먼트로 가지는 XML로 표현된 문서임을 알 수 있다.
도 1 내지 6에 도시된 바와 같이 UPnP AV CDS에서 콘텐츠의 검색 요청과 UDDI에서 웹 서비스의 검색 요청에 대하여 해당 서버가 리턴하는 결과들은 XML로 표현된 문서임을 알 수 있다. 특히 최근에는 대부분의 데이터를 XML로 표현된 문서의 형식으로 저장하고자 하는 추세가 빠른 속도로 진행 되고 있으며, XML로 표현된 데이터를 검색할 수 있는 방법으로 XPath(XML Path)와 XQuery(XML Query)가 표준안으로 제안되어 있다.
전술한 두 가지 예 이외에도 UPnP AV 아키텍쳐(Architecture)의 디바이스 디스크립션(device description) 및 서비스 디스크립션(service description)이 XML로 표현됨에도 불구하고, SSDP(simple service discovery protocol)이라는 별도의 프로토콜을 사용하여 디바이스 및 서비스의 검색을 수행한다.
본 발명이 이루고자하는 기술적 과제는 엔티티(entity)를 검색함에 있어 특정 프로토콜과 무관한 검색 방법 및 시스템을 제공하는데 있고, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위해 본 발명에 따른 서버가 엔티티(entity)를 제공하는 방법은 소정의 엔티티에 대한 검색 요청을 상기 클라이언트로부터 수신하는 단계; 상기 요청에 따라 XML 문서(eXtensible Markup Language document)를 참조하여 상기 엔티티의 검색을 수행하는 단계; 상기 검색을 수행하는 단계에서 얻어진 검색 결과를 상기 검색 요청에 대한 응답으로 상기 클라이언트에게 전송하는 단계를 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 검색 요청은 XPath 및 XQuery 중 적어도 하나를 포함하는 검색 요청인 것을 특징으로 한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 XML 문서는 상기 서버가 접속된 네트워크에 존재하는 문서인 것을 특징으로 한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 엔티티는 상기 클라이언트가 접속된 네트워크에서 제공하는 서비스에 대한 정보, 상기 클라이언트가 접속된 네트워크에 접속한 다른 디바이스에 대한 정보 및 UDDI(Universal Description Discovery & Integration)에 의해 표현되는 웹 서비스(Web service) 중 적어도 하나인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 클라이언트가 엔티티(entity)를 검색하는 방법은 소정의 엔티티의 검색을 요청하는 엔티티검색요청 메시지를 생성하는 단계; 상기 엔티티검색요청 메시지를 서버로 전송하는 단계를 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 엔티티검색요청 메시지는 XPath 및 XQuery 중 적어도 하나를 포함하는 엔티티검색요청 메시지인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 엔티티를 검색하는 시스템은 소정의 엔티티(entity)의 검색을 요청하는 클라이언트; 상기 클라이언트의 요청에 따라 XML 문서에 대하여 상기 엔티티의 검색을 수행하는 서버를 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 시스템은 상기 엔티티의 검색이 가능한 네트워크 상의 XML 문서를 검색하는 문서 검색 서버를 더 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 클라이언트는 상기 엔티티의 검색을 요청하는 엔티티검색요청 메시지를 송신하고, 엔티티의 검색 결과를 포함하는 엔티티검색결과 메시지를 수신하는 클라이언트 통신 모듈; 사용자의 입력을 상기 엔티티검색요청 메시지로 구성하고, 상기 검색 결과로부터 필요한 데이터를 추출하는 엔티티검색요청처리모듈 및 상기 사용자 입력 및 상기 추출한 데이터를 사용자에게 디스플레이하는 사용자인터페이스모듈을 포함한다.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 서버는 클라이언트로부터 상기 엔티티검색요청 메시지를 수신하고, 상기 엔티티검색요청 메시지에 따라 엔티티를 검색한 결과를 포함하는 엔티티검색결과 메시지를 상기 클라이언트에 송신하는 서버통신모듈; 상기 검색 클라이언트의 엔티티검색요청 메시지에 따라 XML 문서에 대해 엔티티 검색을 수행하는 엔티티검색요청처리모듈을 포함한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 7은 XML(eXtensible Markup Language)로 표현된 문서를 도시한다.
도 7에 도시된 문서는 bookstore를 상위 엘리먼트로 가지고 있으며, 하위 엘리먼트로 카테고리가 "CHILDREN"과 "COOKING"으로 상이한 두개의 book 엘리먼트를 가지고 있다. 각각의 book 엘리먼트는 다시 소정의 값들을 포함하고 있는 title, author, price 엘리먼트를 포함한다.
본 발명에 이용되는 XPath는 XML 문서의 특정 엘리먼트를 어드레싱(addressing)할 수 있는 기술이다. 도 7에 도시된 XML 문서에 대하여 '/bookstore/book'의 형태로 어드레싱을 하면 두 개의 book 엘리먼트가 리턴(return)되고, '/bookstore/book/title'의 형태로 어드레싱을 하면, 두 개의 title 엘리먼트인 'Harry Potter'와 'Italian Food'가 리턴된다.
도 8은 XQuery를 이용한 XML 문서의 특정 부분을 추출고, 다른 포맷의 문서로 변환하는 과정을 도시한다.
도 8에 도시된 바에 따르면, 도 7에 도시된 XML 문서를 'books.xml'이라할 때, for $x in doc("books.xml")/bookstore/book/title 구문에 의해 $x 에는 book.xml 문서에 있는 title 엘리먼트에 해당하는 'Harry Potter'와 'Italian Food'가 저장되고, order by $x 구문에 의해 알파벳 순서에 따라 정렬된다. 그런 다음 return <li>{$x}</li> 구문에 의해 정렬된 데이터의 앞뒤에 <li>, </li>가 부가되어 리턴된다.
XML 문서의 특정 엘리먼트를 소정의 조건을 이용하여 검색할 수 있다는 점에서 XPath 및 XQuery는 XML 문서를 검색할 수 있는 기능을 제공하고 있으며, 본 발명은 이를 이용해 전술한 바와 같이 XML로 표현된 문서에 포함된 엔티티(entity)를 검색할 수 있는 방법을 제공한다.
도 9는 본 발명의 바람직한 실시예에 따른 클라이언트가 엔티티를 검색하는 방법을 설명하기 위한 흐름도이다.
단계 900에서 클라이언트는 검색하려고 하는 엔티티(entity)의 검색을 요청하는 엔티티검색요청 메시지를 생성한다. 바람직하게는 엔티티검색요청 메시지를 생성함에 있어서 전술한 XPath 또는 XQuery를 포함시켜 엔티티검색요청 메시지를 생성한다.
단계 902에서 클라이언트는 단계 900에서 생성된 엔티티검색요청 메시지를 서버로 전송한다. 여기에서 서버는 클라이언트의 엔티티검색요청 메시지에 따라 엔티티의 검색을 수행할 서버를 의미한다.
도 10은 본 발명의 바람직한 실시예에 따른 서버가 엔티티를 검색하여 클라이언트에 제공하는 방법을 설명하기 위한 흐름도이다.
단계 1000에서 서버는 클라이언트로부터 소정의 엔티티의 검색을 요청하는 엔티티검색요청 메시지를 수신한다. 바람직하게는 엔티티검색요청 메시지는 XPath 또는 XQuery를 이용하여 생성한다.
단계 1002에서 서버는 단계 1000에서 수신한 엔티티검색요청 메시지에 포함된 XPath 및 XQuery 표현에 따라 엔티티를 검색한다. 바람직하게는 소정의 네트워크 API(application program interface)를 통해 클라이언트가 전송한 엔티티검색 요청메시지를 처리하는바 네트워크 API에 대해에서는 후술한다.
단계 1004에서 서버는 단계 1002를 통해 검색된 엔티티의 검색 결과를 클라이언트에게 전송한다.
도 11은 본 발명의 바람직한 실시예에 따른 엔티티를 검색하는 시스템을 도시한다.
본 발명에 따른 엔티티를 검색하는 시스템은 엔티티의 검색을 요청하는 클라이언트(1101), 클라이언트의 검색 요청에 따라 엔티티를 검색하는 서버(1102), 엔티티의 검색이 가능한 XML 문서(document)를 검색하는 문서검색서버(1103)을 포함한다. 각각의 구성요소는 네트워크를 통해 연결되어 있으며, 구성요소들 사이의 메시지 전송은 네트워크를 통해 이루어진다.
문서검색서버(1103)는 XML 문서가 서버(1102)가 아닌 다른 저장소에 저장되어있어, 네트워크 상에서 XML 문서를 검색할 경우에만 필요한 구성요소이다. 문서 검색 서버(1103)를 따로 두지 않고 서버(1102)가 문서 검색 서버(1103)의 기능을 모두 수행하도록 시스템을 구성할 수도 있다.
도 12a는 본 발명의 바람직한 실시예에 따른 클라이언트(1101)를 도시한다.
엔티티의 검색을 요청하는 클라이언트(1101)는 사용자로부터 검색하고자 하는 엔티티를 입력받고 검색 결과를 사용자에게 디스플레이하는 사용자인터페이스모듈(1201), 사용자의 입력 또는 클라이언트 장치의 필요에 따라 엔티티검색요청 메시지 또는 문서검색요청 메시지를 생성하고 이들 메시지에 대한 응답인 엔티티검색결과 메시지 또는 문서검색결과 메시지로부터 필요한 데이터를 추출하는 클라이언트검색요청처리모듈(1202), 엔티티검색요청 메시지 또는 문서검색요청 메시지를 송신하고 결과 메시지들을 수신하기 위한 클라이언트통신모듈(1203)을 포함한다.
클라이언트검색요청 처리모듈(1202)에서 엔티티검색요청 메시지를 생성함에 있어서 XPath 또는 XQuery를 포함하여 생성한다. 또한, 엔티티의 검색이 가능한 문서의 목록을 요청하는 문서검색요청 메시지를 생성하고, 이에 대한 응답메시지인 문서검색결과 메시지로부터 필요한 정보를 추출하는 기능도 수행한다.
도 12b는 본 발명의 바람직한 실시예에 따른 UPnP AV CDS에서의 엔티티검색요청 메시지를 도시한다. SearchEntity는 후술하는 바와 같이 서버(1102)가 제공하는 네트워크 API에 의해 정의되며, 그 명칭은 SearchEntity가 아닌 다른 명칭으로 정의될 수 있다. 도 12b에 도시된 검색요청 메시지에 포함되어 있는 엔티티 검색의 대상인 XML 문서로서 "http://A.B.C.D/cds/didl-lite.xml"는 문서검색서버(1103)가 제공한다. 서버는 해당 XML 문서를 검색하여, 콘텐츠중에 upnp:class 엘리먼트의 값이 object.item.audioItem 으로 시작하는 아이템, 즉 오디오 콘텐츠를 모두 리턴하다. 메시지에 포함되어 있는 for $x in /DIDL-Lite/item\nwhere starts-with($x/upnp:class/text(), 'object.item.audioItem')\nreturn $x 은 XPath 와 XQuery를 이용한 검색 조건을 의미한다.
도 12c는 본 발명의 바람직한 실시예에 따른 UDDI에서의 엔티티검색요청 메시지를 도시한다. 도 12b와 마찬가지로 SearchEntity는 후술하는 바와 같이 서버가 제공하는 네트워크 API에 의해 정의되며, 다른 명칭의 사용이 사용될 수 있다. 엔티티 검색의 대상이 되는 XML 문서 즉, "http"//uddi.ibm.com/docs/uddi/businessEntities.xml"이 문서검색서버(1103)에 의해 제공됨은 동일하나, 엔티티검색요청 메시지를 구성함에 있어 XQuery의 doc()구문 안에 XML 문서의 URI(Universal Resource Identifier)가 포함됨이 도 12b와 다른 점이다. 도 12c에 도시된 엔티티 검색 요청에 따라 businessList의 하위 엘리먼트인 businessEntity 중에 이름이 Samsung으로 시작하는 모든 비지니스에 대한 정보가 리턴된다.
도 13은 본 발명의 바람직한 실시예에 따른 서버(1102)를 도시한다.
서버(1102)는 클라이언트(1101)가 전송하는 엔티티검색요청 메시지를 수신하고, 엔티티검색결과 메시지를 클라이언트에게 송신하는 서버통신모듈(1301), 클라이언트의 검색 요청에 따라 엔티티의 검색을 수행하는 서버검색요청처리모듈(1302), 문서검색서버(1103)가 존재하는 경우 문서검색서버(1103)로부터 엔티티의 검색이 가능한 XML 문서를 읽어들이는 문서로딩모듈(1303), 서버검색요청처리모듈(1302)에서 문서를 읽어와 검색하는 시간을 짧게하기 위해 문서를 임시로 저장(caching)하는 문서캐쉬모듈(1304)을 포함한다.
도 14는 본 발명의 바람직한 실시예에 따른 문서검색서버를 도시한다.
문서검색서버(1103)는 엔티티의 검색이 가능한 XML 문서에 대한 검색을 별도로 수행하는 경우에만 필요한 구성요소이며, 이 경우에도 반드시 서버(1102)와 분리될 필요는 없다.
도 14에 도시된 바에 의하면, 문서검색서버(1103)는 문서검색요청 메시지을 수신하고, 그에 대한 응답인 문서검색결과 메시지를 송신하는 문서검색서버통신모듈(1401), 클라이언트(1101)가 요청한 검색 가능한 문서의 목록 요청을 처리하는 검색가능문서요청처리모듈(1402), 서버(1102)가 문서로딩모듈(1303)에 XML 문서를 로딩하기 위해 해당 XML 문서의 전송을 요청하는 문서추출요청 메시지를 처리하는 문서추출요청처리모듈(1403)을 포함한다.
검색가능문서요청처리모듈(1402)은 클라이언트가 엔티티의 검색이 가능한 문서의 목록을 요청하는 문서검색요청 메시지에 따라 서버가 접속한 네트워크에서 엔티티의 검색이가 가능한 XML 문서를 검색한다. 이때 후술할 네트워크 API을 통해 클라이언트가 전송한 문서검색요청 메시지를 처리한다.
클라이언트(1101)가 서버(1102)에 요청한 엔티티의 검색 요청에 따라 다시 서버(1102)가 문서검색서버(1103)에 엔티티를 검색할 XML 문서를 요청하면, 문서추출요청처리모듈(1403)은 이 XML문서의 요청을 처리하여 서버(1102)에 XML 문서를 제공한다. 문서검색서버통신모듈(1401)을 통해 서버(1102)에 존재하는 문서로딩모듈(1303)에 해당 문서를 로딩(loading)한다. XML 문서가 문서검색서버(1103) 내의 저장 장치에 존재하면 단순히 이를 문서로딩모듈(1303)로 전송하지만, 문서검색서 버(1103) 밖의 다른 데이터 베이스 등으로부터 가져와야 하는 문서인 경우에는 해당 문서를 문서검색서버(1103)로 가져와 서버(1102)내의 문서로딩모듈(1303)로 전송한다.
서버(1102)가 서버검색요청처리모듈(1302)에서 엔티티를 검색하고, 문서검색서버(1103)가 검색가능문서요청처리모듈(1402)에서 엔티티의 검색이 가능한 문서를 검색하기 위해서는 클라이언트(1101)가 송신하는 엔티티검색요청 메시지와 문서검색요청 메시지를 처리하기 위한 네트워크 API가 필요한바 이에 대해 설명한다.
도 15 a 내지b 및 도 16는 본 발명에 바람직한 실시예에 따른 네트워크 API를 도시한다.
도 15a는 UPnP 서비스 디스크립션(Service Description)에 따라 정의한 네트워크 API를 도시한다. 도 15a에 도시된 바에 따르면, 네트워크 API는 GetsearchableDocumentsList와 SearchEntity의 두가지 액션(action)을 정의한다.
GetsearchableDocumentsList는 액션을 위해 입력되는 입력값은 없고, SearchableDocumentList의 출력값만을 가진다. 출력값인 SearchableDocumentList에는 엔티티의 검색이 가능한 XML 문서의 URI 정보가 포함된다.
바람직하게는 도 15b에 도시된 바와 같이 XML 문서와 동시에 XML 스키마(Schema) 또는 DTD(Document Type Definition)의 URI 정보도 같이 클라이언트로 리턴한다. "urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"는 XML 스키마의 URI 정보를 의미하고, http://A.B.C.D/cds/didl-lite.xml 은 엔티티의 검색이 가능한 XML 문서를 의미한다.
SearchEntity는 수행을 위해 입력값으로 DocumentURI와 SearchExpression이 입력된다. DocumentURI 에는 상기 입력한 SearchableDocumentList에 포함된 XML 문서의 URI가 포함되고, SearchExpression은 클라이언트(1101)가 전송한 엔티티검색요청 메시지에 XPath 또는 XQuery를 이용해 포함된 검색 조건들을 의미한다. SearchEntity는 전술한 입력값에 대하여 SearchResult를 출력값으로 출력한다. SearchResult에 포함되어 클라이언트로 송신되는 출력은 UPnP 에서는 스트링(string)으로 정의될 수 있고, WSDL(Web Services Description Language)에서는 XML 스키마의 특정 엘리먼트로 정의될 수 있다.
DocumentURI에 문서의 URI가 존재하지 않는 경우에는 XPath 및 XQuery로 표현된 검색 조건 자체에서 엔티티 검색의 대상이 되는 문서를 정의하여야 한다. DocumentURI에 문서의 URI가 존재하는 경우에는 해당 URI에 따라 엔티티의 검색을 수행한다. 그러나 이 경우에도 특별한 의미를 갖는 Well-known URI를 정의하여 검색을 수행할 수 있다. 예를 들어, DucumentURI가 urn:schemas-upnp-org:device-1-0 으로 주어지면, UPnP 디바이스 디스크립션(device description) 문서로 해석하고, urn:schemas-upnp-org:service-1-0 으로 주어지면 UPnP 서비스 디스크립션(service description) 문서로 해석한다. 또한, 도 12c 에 도시된 바와 같이 http://www.w3c.org/gesp/document-uri-specified-in-expression 으로 주어지면, XQuery의 doc() 함수내에 포함된 URI에 의해 엔티티 검색의 대상이 되는 XML 문서가 특정되는 것으로 해석하여 검색을 수행하도록 실시예를 구성할 수 있다.
도 16는 WSDL(Web Services Description Language)에 따라 정의된 네트워크 API를 도시한다.
오퍼레이션을 정의하는 방법에는 차이는 있으나, 도 15a에 도시된 네트워크 API와 같이 클라이언트가 송신한 엔티티검색요청 메시지에 따라 엔티티를 검색하는 방법에는 차이가 없다. 특히, 오퍼레이션으로 GetSearchabledocumentsList와 SearchEntity를 제공하는 점에서 UPnP 서비스 디스크립션에 의해 표현된 도 15a의 네트워크 API와 동일하다.
도 15a 및 도 16에 도시된 네트워크 API의 액션(action), 인자(argument), 유형(type), 메시지(message), 오퍼레이션(operation) 등에서 사용한 명칭들은 실시예에 따라 본 발명에서 정의한 바와 다를 수 있으며, 반드시 GetsearchableDocumentsList 과 SearchEntity와 같은 명칭으로 정의할 필요는 없다. 또한, 엔티티의 검색이 가능한 XML 문서를 검색하는 문서 검색 서버와 얻어진 XML 문서에 대하여 엔티티의 검색을 수행하는 서버가 분리되도록 실시예를 구성하는 경우에 GetsearchableDocumentsList를 수행하는 문서검색서버(1103)와 SearchEntity 를 수행하는 서버(1102)에 대하여 분리하여 네트워크 API를 정의할 수 있다.
도 17은 본 발명의 바람직한 실시예에 따른 엔티티의 검색이 가능한 문서를 검색하는 과정을 도시한다.
단계 1701에서 클라이언트 내의 클라이언트검색요청처리모듈(1202)은 엔티티의 검색이 가능한 문서 목록의 검색을 요청하는 문서검색요청 메시지를 작성하여 클라이언트통신모듈(1203)에게 전달한다. 전술한 GetsearchableDocumentsList의 수행을 요청하는 메시지를 작성하여 클라이언트 통신 모듈(1203)에게 전달한다.
단계 1702에서는 단계 1701을 통해 검색요청처리모듈이 전달한 문서검색요청 메시지를 받은 클라이언트 통신 모듈(1203)이 문서검색서버(1103)에 있는 문서검색서버 통신모듈(1401)로 메시지를 송신한다.
단계 1703에서는 문서 검색서버 통신모듈(1401)이 수신한 문서검색요청 메시지가 검색가능문서요청처리모듈(1402)로 전달된다.
단계 1704에서 검색가능문서요청처리모듈(1402)은 문서검색서버 또는 문서검색서버가 접속된 네트워크 내에 존재하는 엔티티의 검색이 가능한 XML 문서의 리스트를 작성하고, 클라이언트에 전송할 문서검색결과 메시지를 구성한다. 문서검색결과 메시지는 도 15b에 도시된 바와 같이 XML 문서와 함께 XML 스키마에 대한 정보도 같이 포함시켜 생성한다.
단계 1705에서는 단계 1704에서 생성된 메시지가 문서검색서버통신모듈(1401)로 전달된다.
단계 1706에서는 문서검색결과 메시지가 문서검색서버의 문서검색서버통신모듈(1401)로부터 클라이언트의 클라이언트통신모듈(1203)으로 전송된다.
단계 1707에서 문서검색결과 메시지는 클라이언트검색요청처리모듈(1202)로 전달되고 단계 1708에서 문서검색결과 메시지는 분석되어, 이 후에 엔티티 검색을 위한 메시지 생성에 필요한 XML 문서의 URI정보 등이 추출된다.
단계 1709는 사용자인터페이스모듈(1201)을 통해 사용자에게 디스플레이해주는 단계로 실시예에 따라서 생략이 가능하다.
도 18은 본 발명의 바람직한 실시예에 따른 엔티티를 검색하는 과정을 도시한다.
단계 1801에서 사용자인터페이스모듈(1201)은 사용자가 엔티티의 검색을 위해 입력한 검색 요청과 관련된 입력을 클라이언트검색요청처리모듈(1202)로 전달한다. 실시예에 따라서는 사용자의 입력없이 클라이언트 장치의 필요에 따라 엔티티의 검색이 필요한 경우가 있을 수 있고, 이때에는 단계 1801은 생략될 수 있다.
단계 1802에서 클라이언트검색요청처리모듈(1202)는 사용자의 입력 또는 클라이언트 장치의 검색 요청에 따라 엔티티검색요청 메시지를 생성한다. 이때 XPath 또는 XQuery를 포함시켜 요청 메시지를 생성함은 전술한 바이다.
단계 1803에서는 단계 1802에서 생성된 엔티티검색요청 메시지가 클라이언트통신모듈(1203)으로 전달된다.
단계 1804에서 엔티티검색요청 메시지는 클라이언트통신모듈(1203)에서 서버통신모듈(1301)로 전송되고, 단계 1805에서 서버검색요청처리모듈(1302)로 전달된다.
단계 1806에서 서버검색요청처리모듈(1302)는 클라이언트가 전송한 엔티티검색요청 메시지를 분석하여 엔티티의 검색을 준비한다. 엔티티의 검색을 위한 준비에는 엔티티검색요청 메시지에 포함되어있는 엔티티의 검색이 가능한 XML 문서의 URI 정보를 추출하는 과정이 있을 수 있다.
단계 1808에서는 단계 1807을 통해 서버검색요청처리모듈(1302)에서 문서로딩모듈(1303)으로 전송된 XML 문서의 URI 정보에 따라 문서를 로딩한다. 문서검색 서버(1103)가 따로 존재하고 문서검색서버(1103)로부터 XML 문서를 가져올 필요가 있을 경우에는 문서검색서버(1103)의 문서추출요청처리모듈(1403)으로부터 엔티티의 검색을 수행할 XML 문서를 로딩할 수 있다.
단계 1809에서는 단계 1808에서 서버에 로딩된 문서가 서버내의 서버검색요청처리모듈(1302)로 전달된다.
단계 1810에서는 단계 1809를 통해 전달된 XML 문서를 참조하여 검색하고자 하는 엔티티의 검색을 수행한다. 전술한 실시예에 따르면, SearchEntity의 XPath 또는 XQuery로 표현된 검색 조건에 따라 엔티티의 검색을 수행하고, 검색결과를 엔티티검색결과 메시지로 생성한다.
단계 1811 내지 단계 1813을 통해 엔티티검색결과 메시지는 서버통신모듈(1301)과 클라이언트통신모듈(1203)을 거쳐 클라이언트검색요청처리모듈(1202)에 도착한다.
단계 1814에서는 클라이언트검색요청처리모듈(1202)은 서버로부터 전송된 엔티티검색 응답메시지를 분석하여 엔티티에 대한 정보를 추출한다.
단계 1815에서는 추출된 엔티티에 대한 정보가 사용자인터페이스모듈(1201)에 전달되고, 전달받은 엔티티에 대한 정보는 사용자에게 제공된다.
도 19는 본 발명의 바람직한 실시예에 따른 XML 문서를 로딩하는 과정을 도시한다.
단계 1901에서 서버검색요청처리모듈(1302)는 클라이언트(1101)에 전송한 엔티티검색요청 메시지에 포함되어 있는 엔티티 검색의 대상이 되는 문서의 URI에 대 한 정보를 문서캐쉬모듈(1304)에 전달한다. 문서의 URI 정보는 클라이언트(1101)가 문서검색서버(1103)을 통해 얻을 수도 있고, Well-Known URI로써 따로 문서를 검색할 필요가 없는 경우에는 문서검색서버(1103)에서의 검색없이 얻을 수도 있다.
단계 1902에서 문서캐쉬모듈(1304)는 서버검색요청 처리모듈(1302)가 전달한 문서의 URI를 참조하여 해당문서가 캐쉬(cache)안에 있는지를 확인한다. 해당문서가 캐쉬(cache)에 있으면 이를 바로 서버검색요청처리모듈(1302)로 전달하고, 캐쉬에 없으면 단계 1903을 통해 엔티티 검색의 대상이 되는 문서의 URI를 문서로딩모듈(1303)으로 전달한다. 단계 1902는 문서캐쉬모듈(1304)을 포함하여 서버(1102)를 구성할 때 부가되는 단계이며, 실시예에 따라 문서캐쉬모듈(1304)를 두지 않는 경우에는 단계 1902를 거칠 필요없이 서버검색요청처리모듈(1302)가 문서의 URI를 바로 문서로딩모듈(1303)에 전달한다.
단계 1904에서는 단계 1903을 통해 엔티티 검색의 대상이 되는 문서의 URI를 전송받은 문서로딩모듈(1303)이 URI 정보를 포함하여 해당 문서의 전송을 요청하는 문서추출 요청메시지를 생성하고, 이 메시지를 서버통신모듈(1301)에 전달한다.
단계 1905 내지 1906을 통해 문서추출 요청메시지는 문서검색서버통신모듈(1401)을 거쳐 문서추출요청처리모듈(1403)까지 전송된다.
단계 1907에서 문서추출요청처리모듈(1403)은 서버(1102)가 엔티티 검색의 대상이되는 XML 문서의 전송을 요청하는 문서추출요청 메시지에 포함된 문서의 URI를 참조하여 해당문서를 추출한다. 문서검색서버(1103)의 저장소에 저장된 문서이면 이를 바로 추출하지만, 문서검색서버(1103)의 외부에 있는 경우에는 이를 외부 로부터 가져와 문서검색서버통신모듈(1401)로 전송한다.
단계 1908 내지 1910를 통해 추출된 문서는 문서로딩모듈(1303)까지 저장된다.
단계 1911에서 문서로딩모듈(1303)은 엔티티 검색의 대상이 되는 문서를 로딩하고, 이를 문서캐쉬모듈(1304)에 전달하고, 단계 1912에서 문서캐쉬모듈(1304)는 문서를 저장한다. 전술한 바와 마찬가지로 문서캐쉬모듈(1304)를 포함하지 않도록 실시예를 구성할 경우 단계 1911 내지 1912는 생략될 수 있다.
단계 1913을 통해 서버검색요청 처리모듈(1913)은 엔티티 검색의 대상이 되는 문서를 전달받는다. 문서캐쉬모듈(1304)로부터 전송을 받을 수도 있고, 문서로딩모듈(1303)으로부터 직접 문서를 전달받을 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명에 따르면, 클라이언트가 접속한 네트워크 상의 XML 문서에 포함된 엔티티를 검색함에 있어서 통합된 검색 방법을 제공하여 UPnP, UDDI 등과 같은 프로토콜별로 상이한 검색 방법을 정의할 필요가 없어진다.

Claims (5)

  1. 서버가 엔티티(entity)를 제공하는 방법에 있어서,
    소정의 엔티티에 대한 검색 요청을 클라이언트로부터 수신하는 단계;
    상기 요청에 따라 XML 문서(eXtensible Markup Language document)를 참조하여 상기 엔티티의 검색을 수행하는 단계;
    상기 검색을 수행하는 단계에서 얻어진 검색 결과를 상기 검색 요청에 대한 응답으로 상기 클라이언트에게 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 검색 요청은
    XPath 및 XQuery 중 적어도 하나를 포함하는 검색 요청인 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 XML 문서는
    상기 서버가 접속된 네트워크에 존재하는 문서인 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 엔티티는
    상기 클라이언트가 접속된 네트워크에서 제공하는 서비스에 대한 정보, 상기 클라이언트가 접속된 네트워크에 접속한 다른 디바이스에 대한 정보 및 UDDI(Universal Description Discovery & Integration)에 의해 표현되는 웹 서비스(Web service) 중 적어도 하나인 것을 특징으로 하는 방법.
  5. 클라이언트가 엔티티(entity)를 검색하는 방법에 있어서,
    XPath 및 XQuery 중 적어도 하나를 포함하여 소정의 엔티티의 검색을 요청하는 엔티티검색요청 메시지를 생성하는 단계;
    상기 엔티티검색요청 메시지를 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020060046283A 2006-05-23 2006-05-23 엔티티 검색 방법 및 장치 KR100765784B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060046283A KR100765784B1 (ko) 2006-05-23 2006-05-23 엔티티 검색 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060046283A KR100765784B1 (ko) 2006-05-23 2006-05-23 엔티티 검색 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100765784B1 true KR100765784B1 (ko) 2007-10-12

Family

ID=39419894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060046283A KR100765784B1 (ko) 2006-05-23 2006-05-23 엔티티 검색 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100765784B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014062192A1 (en) * 2012-10-19 2014-04-24 Hewlett-Packard Development Company, L.P. Performing a search based on entity-related criteria
KR101482587B1 (ko) 2014-01-27 2015-01-14 주식회사 석영시스템즈 건설 구조물 정보의 엔티티 참조 경로를 이용한 건설 구조물 정보 제공 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010055959A (ko) * 1999-12-13 2001-07-04 오길록 문서관리 시스템에서의 정보 재사용을 위한에스지엠엘/엑스엠엘 엔티티의 저장/복원 장치 및 그 방법
JP2005063432A (ja) 2003-08-08 2005-03-10 Fujitsu Ltd マルチメディアオブジェクト検索装置およびマルチメディアオブジェクト検索方法
JP2006072922A (ja) 2004-09-06 2006-03-16 Mitsubishi Space Software Kk 情報処理装置、情報処理方法、プログラムおよびデータ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010055959A (ko) * 1999-12-13 2001-07-04 오길록 문서관리 시스템에서의 정보 재사용을 위한에스지엠엘/엑스엠엘 엔티티의 저장/복원 장치 및 그 방법
JP2005063432A (ja) 2003-08-08 2005-03-10 Fujitsu Ltd マルチメディアオブジェクト検索装置およびマルチメディアオブジェクト検索方法
JP2006072922A (ja) 2004-09-06 2006-03-16 Mitsubishi Space Software Kk 情報処理装置、情報処理方法、プログラムおよびデータ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014062192A1 (en) * 2012-10-19 2014-04-24 Hewlett-Packard Development Company, L.P. Performing a search based on entity-related criteria
KR101482587B1 (ko) 2014-01-27 2015-01-14 주식회사 석영시스템즈 건설 구조물 정보의 엔티티 참조 경로를 이용한 건설 구조물 정보 제공 장치 및 방법

Similar Documents

Publication Publication Date Title
US7467391B2 (en) Allowing client applications to programmatically access web sites
Nagarajan et al. Semantic interoperability of web services-challenges and experiences
KR101079570B1 (ko) 검색 웹 서비스
US7281060B2 (en) Computer-based presentation manager and method for individual user-device data representation
US20040024812A1 (en) Content publication system for supporting real-time integration and processing of multimedia content including dynamic data, and method thereof
US20110283207A1 (en) System and method for platform and language-independent development and delivery of page-based content
US20050203957A1 (en) Streaming XML data retrieval using XPath
US20070192674A1 (en) Publishing content through RSS feeds
US20070288477A1 (en) Information processing apparatus, information processing system, information processing method, and computer program
EP2254302A2 (en) Method and apparatus for restoring state information of remote user interface
AU2008245976A1 (en) Method of deriving web service interfaces from form and table metadata
US20130091416A1 (en) Method for establishing a relationship between semantic data and the running of a widget
US6766350B1 (en) Shared management of data objects in a communication network
US20050198336A1 (en) Methods and apparatuses for automatic adaptation of different protocols
JP2008134906A (ja) 業務プロセス定義生成方法、装置及びプログラム
KR100759186B1 (ko) 비구조 웹문서 및 데이터베이스의 다양한 정보를웹서비스로 제공하기 위한 웹서비스 제공 시스템 및 그방법
US7778969B2 (en) Information-processing apparatus and method for processing document
KR101503268B1 (ko) 시맨틱 클라이언트, 시맨틱 정보 관리 서버, 시맨틱 정보생성 방법, 시맨틱 정보 검색 방법 및 그 방법들을수행하기 위한 컴퓨터 기록매체
US20060020657A1 (en) Extracting web services from resources using a web services resource programming model
KR100765784B1 (ko) 엔티티 검색 방법 및 장치
Lanthaler et al. Seamless integration of restful services into the web of data
US7584284B2 (en) Path-token-based web service caching method
US10095801B2 (en) Providing interaction between a first content set and a second content set in a computer system
KR100551689B1 (ko) 웹 온톨로지 저장/관리 시스템 및 방법
US20070288549A1 (en) Information Processing System, Server Device, Client Device, and Program

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee