• 검색 결과가 없습니다.

(19) 대한민국특허청(KR) (12) 공개특허 ... - ETRI 지식공유플랫폼

N/A
N/A
Protected

Academic year: 2024

Share "(19) 대한민국특허청(KR) (12) 공개특허 ... - ETRI 지식공유플랫폼"

Copied!
19
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

(19) 대한민국특허청(KR) (12) 공개특허공보(A)

(11) 공개번호 10-2009-0053146 (43) 공개일자 2009년05월27일 (51) Int. Cl.

G06F 17/30 (2006.01)

(21) 출원번호 10-2007-0119824 (22) 출원일자 2007년11월22일 심사청구일자 2007년11월22일

(71) 출원인

한국전자통신연구원

대전 유성구 가정동 161번지 국민대학교산학협력단

서울특별시 성북구 정릉동 861-1 국민대학교내 (72) 발명자

김철수

대전 서구 갈마동 동산아파트 2동1003호 이용준

대전 유성구 신성동 한울아파트 110동 1504호 (뒷면에 계속)

(74) 대리인 유미특허법인 전체 청구항 수 : 총 18 항

(54) 메타데이터 서버 검색 방법 (57) 요 약

본 발명은 분산 환경(Distributed Environment)에서 USN(Ubiquitous Sensor Network) 메타데이터 서버를 검색하 는 메타데이터 서버 검색 방법에 관한 것이다.

본 발명은 분산 환경에서 위치 서버 클러스터를 이용하여 메타데이터 서버의 위치 정보를 저장하고, 클라이언트 의 메타데이터 검색 요청 시에, 특정 자원의 메타데이터가 저장된 메타데이터 서버의 위치를 검색하는 것을 특징 으로 한다.

이에, 본 발명은 메타데이터 서버를 사용하는 클라이언트에게 메타데이터 서버 측면에서 단순하고 일관된 인터페 이스를 제공할 수 있으며, 또한 서비스 개발의 투명성을 높이고 개발에 소요되는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.

대 표 도 - 도1

(2)

(72) 발명자 박종현

대전광역시 유성구 노은동 552-3번지 열매마을 1104동 802호

이상환

서울 성북구 정릉동 861-1

한재일

서울 성북구 정릉동 861-1

이 발명을 지원한 국가연구개발사업 과제고유번호 2006-S-022-02

부처명 정보통신부및정보통신연구진흥원 연구사업명 IT성장동력기술개발사업

연구과제명 USN 미들웨어 플랫폼 기술개발 주관기관 한국전자통신연구원

연구기간 2007.03.01~2008.02.28

(3)

특허청구의 범위 청구항 1

분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서,

위치 서버 클러스터를 이용하여 메타데이터 서버의 위치 정보를 저장하는 단계, 그리고

클라이언트의 메타데이터 검색 요청 시에, 특정 자원의 메타데이터가 저장된 메타데이터 서버의 위치를 검색하 는 단계

를 포함하는 메타데이터 서버 검색 방법.

청구항 2 제1항에 있어서, 상기 위치 정보는,

상기 메타데이터가 설명하는 자원의 ID와 상기 메타데이터가 저장된 메타데이터 관리 서버의 접속 정보의 쌍을 의미하는 메타데이터 서버 검색 방법.

청구항 3 제1항에 있어서,

상기 위치 서버 클러스터는,

하나 또는 복수 개의 메타데이터 위치 서버를 사용하는 메타데이터 서버 검색 방법.

청구항 4 제3항에 있어서,

상기 메타데이터 위치 서버들 간에 유기적으로 정보를 교환하여 상기 메타데이터를 관리하는 메타데이터 서버의 주소를 제공할 수 있는 서버들의 집합인 메타데이터 위치 서버군을 구성하여 운영하는 단계를 더 포함하는 메타 데이터 서버 검색 방법.

청구항 5 제4항에 있어서,

상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는,

계층구조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영하는 메타데이터 서버 검색 방법.

청구항 6 제4항에 있어서,

상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는,

단대단 구조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영하는 메타데이터 서버 검색 방법.

청구항 7 제4항에 있어서,

상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는,

계층구조, 단대단 구조를 조합하여 상기 메타데이터 위치 서버군을 구성하여 운영하는 메타데이터 서버 검색 방 법.

청구항 8

(4)

제4항에 있어서,

상기 메타데이터 위치 서버가 상기 메타데이터 서버로부터 메타데이터 서버 검색 요청을 수신받는 단계, 상기 메타데이터 서버로부터 받은 자원 ID가 로컬에 저장되어 있는지를 확인하는 단계, 그리고

상기 자원 ID가 로컬에 존재하면 이에 상응하는 메타데이터 서버의 위치 정보를 상기 메타데이터 서버로 돌려주 는 단계

를 더 포함하는 메타데이터 서버 검색 방법.

청구항 9 제8항에 있어서,

상기 자원 ID가 로컬에 존재하지 않으면, 상기 메타데이터 위치 서버군의 다른 메타데이터 위치 서버에게 상기 자원 ID를 전달하면서 그에 상응하는 메타데이터 서버의 검색을 요청하는 단계를 더 포함하는 메타데이터 서버 검색 방법.

청구항 10

분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서,

클라이언트의 메타데이터 검색 및 제공 요청 시에, 해당 요청에 상응하는 메타데이터를 관리하고 있는지를 확인 하는 단계,

상기 메타데이터를 관리하고 있지 않은 경우에, 위치 서버를 이용하여 상기 메타데이터를 관리하는 메타데이터 서버의 위치 정보를 검색하도록 하는 단계, 그리고

상기 검색된 위치 정보를 이용하여 상기 메타데이터 서버에 접속하여 상기 요청을 전달한 후에 이에 대한 응답 을 받아 상기 클라이언트로 전송하는 단계

를 포함하는 메타데이터 서버 검색 방법.

청구항 11 제10항에 있어서,

계층 구조의 메타데이터 위치 서버군에서 로컬 위치 서버가 상기 메타데이터 서버를 통해 메타데이터 서버 검색 요청과 함께 자원의 ID를 수신받는 단계,

상기 로컬 위치 서버는 상기 자원 ID가 자신의 담당 영역에 속하는지를 판단하는 단계,

상기 자원 ID가 자신의 담당 영역에 속하지 않으면, 상기 로컬 위치 서버는 차기 위치 등록 서버로 자신의 부모 위치 서버를 지정하는 단계,

상기 로컬 위치 서버는 상기 차기 위치 등록 서버에 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하 는 단계,

상기 차기 위치 등록 서버가 상기 로컬 위치 서버로부터 상기 자원 ID를 전송받아 자신의 담당 영역에 속하는지 를 판단하는 단계,

상기 전송받은 자원 ID가 자신의 담당 영역에 속하면, 상기 차기 위치 등록 서버는 자신이 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버인지를 판단하는 단계, 그리고

상기 종단 위치 등록 서버라면, 상기 자원 ID에 대한 메타데이터를 관리하는 메타데이터 서버의 IP 주소를 상기 로컬 위치 서버로 돌려주는 단계

를 더 포함하는 메타데이터 서버 검색 방법.

청구항 12 제11항에 있어서,

상기 종단 위치 등록 서버가 아닌 경우, 상기 자원 ID에 해당하는 하위 계층의 위치 등록 서버를 찾아내어 그

(5)

자식 위치 서버의 IP 주소를 상기 로컬 위치 서버에게 돌려주는 단계, 그리고

상기 로컬 위치 서버는 상기 IP 주소를 차기 위치 등록 서버로 하고, 상기 자원 ID를 메타데이터 서버 검색 요 청과 함께 해당 차기 위치 등록 서버에 전송하는 단계

를 더 포함하는 메타데이터 서버 검색 방법.

청구항 13 제10항에 있어서,

단대단 구조의 메타데이터 위치 서버군에서 로컬 위치 서버 자신이 자원의 ID를 담당하는지를 확인하는 단계, 상기 자원 ID를 담당하지 않으면, 상기 로컬 위치 서버 자신을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계,

상기 차기 위치 서버는 상기 자원 ID를 수신받아 해당 수신받은 자원 ID가 자신이 담당하는지를 확인하는 단계, 상기 수신받은 자원 ID를 담당하지 않으면, 상기 차기 위치 서버는 자신의 핑거 테이블에서 상기 자원 ID가 존 재하는 영역에 해당하는 값을 찾는 단계,

상기 차기 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계, 상기 로컬 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계

를 더 포함하는 메타데이터 서버 검색 방법.

청구항 14 제13항에 있어서,

상기 수신받은 자원 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계를 더 포함하는 메타데이터 서버 검색 방법.

청구항 15 제13항에 있어서,

상기 위치 서버군에서 새로운 위치 서버가 추가되면, 새로운 위치 서버는 상기 위치 서버군에 존재하는 하나의 위치 서버에 대한 정보를 얻는 단계,

상기 새로운 위치 서버는 상기 얻은 위치 서버에게 자신의 ID를 전송하여 이 ID를 포함하는 영역을 담당하는 메 타데이터 서버의 검색을 요청하는 단계,

상기 얻은 위치 서버는 자신이 상기 ID를 담당하는지를 확인하는 단계,

상기 얻은 위치 서버 자신이 상기 ID를 담당하지 않으면, 상기 얻은 위치 서버는 자신의 핑거 테이블에서 상기 ID가 존재하는 영역에 해당하는 값을 찾는 단계,

상기 얻은 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계, 상기 새로운 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계,

상기 차기 위치 서버는 상기 ID를 수신받아 해당 수신받은 ID가 자신이 담당하는지를 확인하는 단계,

상기 수신받은 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 새로 운 위치 서버에 돌려주는 단계,

상기 새로운 위치 서버는 상기 차기 위치 서버에게 영역 분할을 요청하는 단계,

상기 차기 위치 서버는 자신의 영역을 반으로 분할하여, 한쪽을 상기 새로운 위치 서버에게 양도하고 다른 쪽을 담당하는 단계,

상기 차기 위치 서버는 자신의 모든 핑거 테이블 정보를 상기 새로운 위치 서버에게 제공하고, 자신의 이전 노

(6)

드 포인터를 상기 새로운 위치 서버로 수정하는 단계,

상기 새로운 위치 서버는 상기 차기 위치 서버의 이전 노드 포인터에 접속하여 이 노드의 다음 노드 포인터를 상기 새로운 위치 서버로 변경할 것을 요청하는 단계,

상기 새로운 위치 서버는 자신의 이전 노드 포인터를 상기 차기 위치 서버의 이전 노드 포인터로 하고, 다음 노 드 포인터를 상기 차기 위치 서버로 하는 단계, 그리고

상기 새로운 위치 서버는 상기 핑거 테이블 정보를 바탕으로 자신의 핑거 테이블을 수정하는 단계 를 더 포함하는 메타데이터 서버 검색 방법.

청구항 16 제15항에 있어서,

주기적으로 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑거 테이블을 수정하는 단계를 더 포함하는 메 타데이터 서버 검색 방법.

청구항 17 제15항에 있어서,

검색 시 평균 노드 방문 횟수가 일정 값 이상인 경우에 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑 거 테이블을 수정하는 단계를 더 포함하는 메타데이터 서버 검색 방법.

청구항 18 제15항에 있어서,

매번 검색 시 중간에 리턴되는 IP 주소와 더불어 그 위치 서버의 담당 영역을 같이 돌려주게 하여 이 내용을 바 탕으로 자신의 핑거 테이블을 수정하는 단계를 더 포함하는 메타데이터 서버 검색 방법.

명 세 서

발명의 상세한 설명 기 술 분 야

본 발명은 메타데이터 서버(Meta-data Server)의 검색 방법에 관한 것으로, 특히 분산 환경(Distributed

<1>

Environment)에서 USN(Ubiquitous Sensor Network) 메타데이터 서버를 검색하는 메타데이터 서버 검색 방법에 관한 것이다.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된

<2>

것이다[과제관리번호: 2006-S-022-02, 과제명: USN 미들웨어 플랫폼 기술개발].

배 경 기 술

USN은 'Ubiquitous Sensor Network'의 약자로, 인간의 생활공간, 생활기기, 기계 등의 모든 사물에 센싱 기능,

<3>

컴퓨팅 기능, 네트워크 기능을 부여하여, 환경과 상황의 자동인지를 통해 인간에게 최적의 기능을 제공함으로써, 인간 생활의 편리성과 안전성을 고도화하도록 하는 네트워크를 말한다. 이러한 USN은 다양한 분 야에 대해 자동화가 가능하게 하며, 이러한 기술을 통해 텔레매틱스, 홈네트워크, 재고관리, 환자관리, 동물관 리, 자연재해관리, ITS 시스템 등과 같이 인간에게 편리한 다양한 서비스를 제공할 수 있다.

유비쿼터스 환경의 실현을 위한 센서 네트워크는 주로 무선 센서 노드들로 이루어지고 통신기능을 탑재한 네트

<4>

워크를 의미한다. 이러한 센서 네트워크는 일반적으로 센서 노드들이 조밀하게 분포되어 센싱 및 데이터 전달의 실패를 보정하고 있으며, 브로드캐스트 방식의 통신을 기반으로 데이터를 전송하고 있다. 또한, 무선의 소형 센 서 노드를 사용하여 제한된 전력, 메모리, 연산 능력을 가지는 것이 센서 네트워크의 특징이다.

센서 네트워크를 이용하여 시스템을 구축할 때에는 하부 기술을 모두 이해하고 사용하기 어렵기 때문에, USN 미

<5>

들웨어와 센서 노드 미들웨어가 개발되어 센서 네트워크 기반의 시스템 구축이 점점 더 용이해 지고 있다.

(7)

이때, USN 미들웨어는 이기종 센서 네트워크로부터 수집한 센싱 데이터를 필터링, 통합, 분석하여 의미 있는 상

<6>

황정보를 추출, 저장, 관리, 검색하고, 응용서비스로 전달하거나 서비스간의 연계 및 통합하는 역할을 담당한다.

센서 노드 미들웨어는 다양한 센서 응용 소프트웨어와 운영체제 및 네트워크 기능 사이에 존재하며, 유지보수,

<7>

설치/배포, 응용 수행에 필요한 제반 사항을 지원하며, 센서 노드 및 싱크노드에 탑재되어 센서 네트워크의 프 로그램 갱신, 응용 변화에 따른 프로그래밍 조정의 기능을 수행한다. 또한, 센서 노드 미들웨어는 센서 노드 및 싱크노드에서 측정되는 센싱 데이터에 대한 데이터베이스, 데이터 보관 관리, 다양한 응용에 적합한 데이터 운 용 및 처리기능 데이터 융합 기능을 담당한다.

일반적으로, USN 기반의 시스템을 구축할 때에 구축한 시스템 내부에 센서 네트워크의 메타데이터를 관리하는

<8>

시스템을 포함하여 구축한다. 현재 시스템에 어떤 종류의 센서 네트워크가 연결되어 있는지, 센서 네트워크의 위치, 기능, 접속방법, 운영방법 등에 대한 정보와, 센서 네트워크가 포함하고 있는 센서 노드 및 각 센서 노드 의 센싱 종류, 센싱 데이터, 센서의 위치 등에 대한 정보를 관리하는 메타데이터 관리 시스템을 구축하여, 미들 웨어 또는 응용프로그램에서 센서 네트워크에 대한 정보를 활용할 수 있도록 한다.

이러한 메타데이터 관리 시스템은 별도의 시스템으로 구성되기도 하고 단순히 데이터베이스 형태로 존재하여 관

<9>

련된 시스템이 접근하여 필요한 메타데이터를 등록, 조회, 수정 등의 작업을 수행한다.

하지만 이러한 시스템에서의 메타데이터 관리는 모두 좁은 지역에서 적은 수의 센서를 이용해서 사용하는데 적

<10>

합하도록 한 대의 시스템에서 이루어지고 있다. 향후 센서가 넓은 지역에 많이 설치되어 이기종의 광역/분산 센 서 네트워크 환경에서 센서 네트워크의 메타데이터를 관리하고 제공할 수 없는 형태이다.

발명의 내용

해결 하고자하는 과제

본 발명이 이루고자 하는 기술적 과제는, 전술한 바와 같은 문제점을 해결하기 위한 것으로, 분산 환경에서 USN

<11>

메타데이터 서버를 검색하는 방법을 제공하는 것이다.

그리고 본 발명은 많은 센서들이 존재하는 광역의 분산 환경에서 센서와 센서 네트워크의 메타데이터를 관리하

<12>

는 시스템이 다수 존재할 때, 특정 센서의 메타데이터를 검색하기 위해 해당 센서의 메타데이터를 관리하는 메 타데이터 관리 서버의 위치를 검색하는 것을 목적으로 한다.

과제 해결수단

이러한 과제를 해결하기 위해, 본 발명에 따르면, 센서 또는 센서 네트워크를 사용하는 시스템에서 센서를 이용

<13>

하기 위해 센서와 해당 센서로 이루어진 센서 네트워크에 대한 정보가 필요하므로, 많은 센서가 넓게 퍼져 있고 여러 대의 메타데이터 관리 서버가 각각의 센서 네트워크에 대한 메타데이터를 관리하는 광역 및 분산 환경에서 특정 센서 네트워크 자원의 메타데이터를 관리하는 메타데이터 관리 서버를 찾는 방법을 구현한다.

본 발명의 한 특징에 따르면, 분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서, 위치 서버 클러스터를

<14>

이용하여 메타데이터 서버의 위치 정보를 저장하는 단계, 그리고 클라이언트의 메타데이터 검색 요청 시에, 특 정 자원의 메타데이터가 저장된 메타데이터 서버의 위치를 검색하는 단계를 포함하는 메타데이터 서버 검색 방 법을 제공한다.

여기서, 상기 위치 정보는, 상기 메타데이터가 설명하는 자원의 ID와 상기 메타데이터가 저장된 메타데이터 관

<15>

리 서버의 접속 정보의 쌍을 의미한다. 또한, 상기 위치 서버 클러스터는, 하나 또는 복수 개의 메타데이터 위 치 서버를 사용한다.

그리고 이러한 메타데이터 서버 검색 방법은, 상기 메타데이터 위치 서버들 간에 유기적으로 정보를 교환하여

<16>

상기 메타데이터를 관리하는 메타데이터 서버의 주소를 제공할 수 있는 서버들의 집합인 메타데이터 위치 서버 군을 구성하여 운영하는 단계를 더 포함한다.

이때, 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는, 계층구조를 이용하여 상기 메타데이터 위치

<17>

서버군을 구성하여 운영한다. 다르게는, 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는, 단대단 구 조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영한다. 또한 다르게는, 상기 메타데이터 위치 서버 군을 구성하여 운영하는 단계는, 계층구조, 단대단 구조를 조합하여 상기 메타데이터 위치 서버군을 구성하여

(8)

운영한다.

그리고 이러한 메타데이터 서버 검색 방법은, 상기 메타데이터 위치 서버가 상기 메타데이터 서버로부터 메타데

<18>

이터 서버 검색 요청을 수신받는 단계, 상기 메타데이터 서버로부터 받은 자원 ID가 로컬에 저장되어 있는지를 확인하는 단계, 그리고 상기 자원 ID가 로컬에 존재하면 이에 상응하는 메타데이터 서버의 위치 정보를 상기 메 타데이터 서버로 돌려주는 단계를 더 포함한다.

또한, 그리고 이러한 메타데이터 서버 검색 방법은, 상기 자원 ID가 로컬에 존재하지 않으면, 상기 메타데이터

<19>

위치 서버군의 다른 메타데이터 위치 서버에게 상기 자원 ID를 전달하면서 그에 상응하는 메타데이터 서버의 검 색을 요청하는 단계를 더 포함한다.

본 발명의 다른 특징에 따르면, 분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서, 클라이언트의 메타

<20>

데이터 검색 및 제공 요청 시에, 해당 요청에 상응하는 메타데이터를 관리하고 있는지를 확인하는 단계, 상기 메타데이터를 관리하고 있지 않은 경우에, 위치 서버를 이용하여 상기 메타데이터를 관리하는 메타데이터 서버 의 위치 정보를 검색하도록 하는 단계, 그리고 상기 검색된 위치 정보를 이용하여 상기 메타데이터 서버에 접속 하여 상기 요청을 전달한 후에 이에 대한 응답을 받아 상기 클라이언트로 전송하는 단계를 포함하는 메타데이터 서버 검색 방법을 제공한다.

그리고 이러한 메타데이터 서버 검색 방법은, 계층 구조의 메타데이터 위치 서버군에서 로컬 위치 서버가 상기

<21>

메타데이터 서버를 통해 메타데이터 서버 검색 요청과 함께 자원의 ID를 수신받는 단계, 상기 로컬 위치 서버는 상기 자원 ID가 자신의 담당 영역에 속하는지를 판단하는 단계, 상기 자원 ID가 자신의 담당 영역에 속하지 않 으면, 상기 로컬 위치 서버는 차기 위치 등록 서버로 자신의 부모 위치 서버를 지정하는 단계, 상기 로컬 위치 서버는 상기 차기 위치 등록 서버에 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계, 상기 차 기 위치 등록 서버가 상기 로컬 위치 서버로부터 상기 자원 ID를 전송받아 자신의 담당 영역에 속하는지를 판단 하는 단계, 상기 전송받은 자원 ID가 자신의 담당 영역에 속하면, 상기 차기 위치 등록 서버는 자신이 ID-IP 쌍 을 저장하고 있는 종단 위치 등록 서버인지를 판단하는 단계, 그리고 상기 종단 위치 등록 서버라면, 상기 자원 ID에 대한 메타데이터를 관리하는 메타데이터 서버의 IP 주소를 상기 로컬 위치 서버로 돌려주는 단계를 더 포 함한다.

또한, 이러한 메타데이터 서버 검색 방법은, 상기 종단 위치 등록 서버가 아닌 경우, 상기 자원 ID에 해당하는

<22>

하위 계층의 위치 등록 서버를 찾아내어 그 자식 위치 서버의 IP 주소를 상기 로컬 위치 서버에게 돌려주는 단 계, 그리고 상기 로컬 위치 서버는 상기 IP 주소를 차기 위치 등록 서버로 하고, 상기 자원 ID를 메타데이터 서 버 검색 요청과 함께 해당 차기 위치 등록 서버에 전송하는 단계를 더 포함한다.

다르게는, 이러한 메타데이터 서버 검색 방법은, 단대단 구조의 메타데이터 위치 서버군에서 로컬 위치 서버 자

<23>

신이 자원의 ID를 담당하는지를 확인하는 단계, 상기 자원 ID를 담당하지 않으면, 상기 로컬 위치 서버 자신을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단 계, 상기 차기 위치 서버는 상기 자원 ID를 수신받아 해당 수신받은 자원 ID가 자신이 담당하는지를 확인하는 단계, 상기 수신받은 자원 ID를 담당하지 않으면, 상기 차기 위치 서버는 자신의 핑거 테이블에서 상기 자원 ID 가 존재하는 영역에 해당하는 값을 찾는 단계, 상기 차기 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소 를 상기 로컬 위치 서버에 돌려주는 단계, 상기 로컬 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계를 더 포 함한다.

또한, 이러한 메타데이터 서버 검색 방법은, 상기 수신받은 자원 ID를 상기 차기 위치 서버 자신이 담당하면,

<24>

상기 차기 위치 서버는 자신의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계를 더 포함한다.

그리고 이러한 메타데이터 서버 검색 방법은, 상기 위치 서버군에서 새로운 위치 서버가 추가되면, 새로운 위치

<25>

서버는 상기 위치 서버군에 존재하는 하나의 위치 서버에 대한 정보를 얻는 단계, 상기 새로운 위치 서버는 상 기 얻은 위치 서버에게 자신의 ID를 전송하여 이 ID를 포함하는 영역을 담당하는 메타데이터 서버의 검색을 요 청하는 단계, 상기 얻은 위치 서버는 자신이 상기 ID를 담당하는지를 확인하는 단계, 상기 얻은 위치 서버 자신 이 상기 ID를 담당하지 않으면, 상기 얻은 위치 서버는 자신의 핑거 테이블에서 상기 ID가 존재하는 영역에 해 당하는 값을 찾는 단계, 상기 얻은 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계, 상기 새로운 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계, 상기 차기 위치 서버는 상기 ID

(9)

를 수신받아 해당 수신받은 ID가 자신이 담당하는지를 확인하는 단계, 상기 수신받은 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계, 상기 새로 운 위치 서버는 상기 차기 위치 서버에게 영역 분할을 요청하는 단계, 상기 차기 위치 서버는 자신의 영역을 반 으로 분할하여, 한쪽을 상기 새로운 위치 서버에게 양도하고 다른 쪽을 담당하는 단계, 상기 차기 위치 서버는 자신의 모든 핑거 테이블 정보를 상기 새로운 위치 서버에게 제공하고, 자신의 이전 노드 포인터를 상기 새로운 위치 서버로 수정하는 단계, 상기 새로운 위치 서버는 상기 차기 위치 서버의 이전 노드 포인터에 접속하여 이 노드의 다음 노드 포인터를 상기 새로운 위치 서버로 변경할 것을 요청하는 단계, 상기 새로운 위치 서버는 자 신의 이전 노드 포인터를 상기 차기 위치 서버의 이전 노드 포인터로 하고, 다음 노드 포인터를 상기 차기 위치 서버로 하는 단계, 그리고 상기 새로운 위치 서버는 상기 핑거 테이블 정보를 바탕으로 자신의 핑거 테이블을 수정하는 단계를 더 포함한다.

여기서, 이러한 메타데이터 서버 검색 방법은, 주기적으로 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서

<26>

핑거 테이블을 수정하는 단계를 더 포함한다. 또한, 이러한 메타데이터 서버 검색 방법은, 검색 시 평균 노드 방문 횟수가 일정 값 이상인 경우에 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑거 테이블을 수정하 는 단계를 더 포함한다. 또한, 이러한 메타데이터 서버 검색 방법은, 매번 검색 시 중간에 리턴되는 IP 주소와 더불어 그 위치 서버의 담당 영역을 같이 돌려주게 하여 이 내용을 바탕으로 자신의 핑거 테이블을 수정하는 단 계를 더 포함한다.

효 과

이와 같이 본 발명에 의하면, 메타데이터 관리 서버를 사용하는 클라이언트에게 메타데이터 서버 측면에서 단순

<27>

하고 일관된 인터페이스를 제공할 수 있으며, 또한 개발자 및 클라이언트 프로그램이 분산된 광역의 센서 네트 워크 환경에서 USN 시스템의 개발을 용이하도록 하며, 이에 궁극적으로는 서비스 개발의 투명성을 높이고 개발 에 소요되는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.

발명의 실시를 위한 구체적인 내용

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지

<28>

식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현 될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위 해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다

<29>

른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재 된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하 드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.

많은 센서들이 존재하고 많은 센서들을 사용하는 시스템은, 센서들에서 읽어오는 센싱 값 외에도 센서 및 센서

<30>

네트워크에 대한 메타데이터를 알고 있어야만 시스템이 원하는 센서에서 원하는 정보를 읽어오고 제어를 수행할 수 있다. 또한, 하나의 메타데이터 관리 서버에서 모든 메타데이터를 관리할 수 없는 광역의 센서 네트워크 및 분산 환경에서는, 여러 대의 메타데이터 관리 서버가 존재하고 특정 센서에 해당하는 메타데이터가 어느 메타데 이터 관리 서버에 의해서 관리되는지를 알아내는 것이 필수적이라고 할 수 있다.

이에, 본 발명은 많은 센서들이 존재하는 광역의 분산 환경에서 센서와 센서 네트워크의 메타데이터를 관리하는

<31>

시스템이 다수 존재할 때, 특정 센서의 메타데이터를 검색하기 위해 해당 센서의 메타데이터를 관리하는 메타데 이터 관리 서버의 위치를 검색하는 방법을 구현하도록 한다. 이때, 본 발명은 복수 개의 센서 네트워크 메타데 이터 관리 서버들 간의 연동을 통한 센서 네트워크 메타데이터 공유를 위해 이용된다.

본 발명은 센서 네트워크 자원(즉, 센서 네트워크, 센서 노드, 센서, 액츄에이터, 센싱타입 등)의 ID를 입력으

<32>

로 받아 해당 자원의 메타데이터를 관리하는 메타데이터 관리 서버의 주소를 찾는다. 이때, 본 발명은 3가지 모 델(즉, 중앙 집중형, 트리형, 단대단형)을 제시하고 그 모델을 조합해서 사용하며, 단말 노드에만 검색 대상의 값들이 존재한다. 이에 따라, 본 발명은 분산 환경에서 광역의 센서 네트워크를 대상으로 로컬에서 관리하지 않 는 메타데이터를 로컬에서 관리하는 메타데이터처럼 제공할 수 있다.

그리고 본 발명은 분산 환경에서 여러 메타데이터 서버가 존재하고 메타데이터의 위치정보를 갖고 있는 위치서

<33>

(10)

버가 다수 존재할 때, 특정 메타데이터를 관리하는 메타데이터 서버를 찾도록 한다. 이때, 본 발명은 중앙집중 식, 계층적 구조, 단대단 구조, 조합형 구조 등과 같은 자원의 ID를 이용해서 메타데이터를 관리하는 서버를 검 색한다. 이에 따라, 본 발명은 클라이언트가 메타데이터 관리 서버를 이용할 때 그 메타데이터 관리 서버에서 모든 메타데이터가 관리되는 것처럼 보이도록 해 준다.

그리고 본 발명은 어느 디렉토리 서버를 활용해야 하는지, 디렉토리 서버를 찾는 것이다. 이때, 본 발명은 메타

<34>

데이터 관리 서버가 여러 개인 경우에 메타데이터 관리 서버를 검색하는데, 센서 네트워크의 자원들에 대한 메 타데이터가 분산 환경에서 여러 시스템에 의해 관리될 때에 메타데이터 관리 서버를 찾도록 한다.

그리고 본 발명은 여러 가지 형태의 분산 룩업 시스템(Lookup System)을 이용하여 분산 디렉토리 서버를 구성하

<35>

도록 한다. 이때, 본 발명은 다양한 룩업 기법(3가지)을 활용하여 분산 메타데이터를 검색한다.

이제 본 발명의 실시 예에 따른 메타데이터 서버 검색 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.

<36>

도 1은 본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 나타낸 흐름도이다.

<37>

본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 도 1을 참조하여 간단하게 설명하면 다음과 같다.

<38>

분산 환경에서 메타데이터 서버 검색 방법에 있어서, 위치 서버 클러스터를 이용하여 USN 메타데이터 서버의 위

<39>

치 정보를 저장하고, 특정 자원의 메타데이터가 저장된 USN 메타데이터 서버의 위치를 검색하도록 한다.

여기서, 해당 위치 서버 클러스터는 하나 또는 복수 개의 메타데이터 위치 서버(103)를 사용하는 경우를 의미한 다.

즉, 분산 환경에서 센서 및 센서 네트워크에 대한 메타데이터를 필요로 하는 USN 클라이언트(101)(즉, 단말)가

<40>

메타데이터 관리 서버(102-1)에 접속하여 메타데이터 검색 및 제공을 요청할 때, 메타데이터 관리 서버(102- 1)가 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 관리하는지를 확인한다.

이때, USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 관리하지 않을 경우에, 메타데이터 관리 서버(102-1)는 메타데이터 위치 서버(103)에 접속하여 단말(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 관리하는 메타데이터 관리 서버(102-n)의 위치를 검색하도록 한다. 여기서, 위치 정보는 메타데이터가 설명하는 자원의 ID와 메타데이터가 저장된 메타데이터 관리 서버(102-n)의 접속 정보의 쌍을 의미한다.

그런 후에, 메타데이터 관리 서버(102-1)는 검색 결과(즉, 메타데이터 관리 서버(102-n)의 주소정보)로 받은 메

<41>

타데이터 관리 서버(102-n)에 접속하여 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청을 전달한다. 그리 고 메타데이터 관리 서버(102-1)는 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 응답을 받 아, 검색 및 제공 요청에 상응하는 응답을 USN 클라이언트(101)로 전송하도록 한다.

여기서, 메타데이터 위치 서버(103)가 특정 메타데이터를 관리하는 메타데이터 관리 서버(102-1, 102-n)를 관리

<42>

및 검색하기 위해서, 메타데이터 위치 서버군을 구성하여 운영한다. 이때, 메타데이터 위치 서버군을 구성하는 데 있어서 계층구조를 이용하여 메타데이터 위치 서버군을 구성하여 운영한다. 또한, 계층구조를 이용한 메타데 이터 위치 서버군에 있어서, 메타데이터 관리 서버(102-1, 102-n)의 물리적인 위치 정보를 이용하여 메타데이터 위치 서버군을 구성하여 운영한다.

다르게는, 메타데이터 위치 서버군을 구성하는데 있어서 단대단 구조를 이용하여 메타데이터 위치 서버군을 구

<43>

성하여 운영한다.

또한 다르게는, 메타데이터 위치 서버군을 구성하는데 있어서 계층적 구조, 단대단 구조를 조합하여 메타데이터

<44>

위치 서버군을 구성하여 운영한다.

더욱이 다르게는, 메타데이터 위치 서버군을 구성하는데 있어서 중앙집중식 구조, 계층적 구조, 단대단 구조를

<45>

조합하여 메타데이터 위치 서버군을 구성하여 운영한다. 즉, 복수 개의 메타데이터 위치 서버(103)를 사용하는 경우, 메타데이터 위치 서버군은 계층적 구조와 단대단 구조, 또는 둘 이상의 구조를 조합한 구성을 모두 포괄 한다.

본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 다시 설명하면 다음과 같다.

<46>

USN 메타데이터를 요청하는 클라이언트(101)가 특정 메타데이터 관리 서버(102-1)에 접속하여 메타데이터를 요

<47>

청한다. 메타데이터 관리 서버(102-1)가 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타 데이터를 직접 관리하지 않을 경우, 메타데이터 위치 서버(103)를 이용해서 해당 메타데이터를 관리하는 메타데

(11)

이터 관리 서버(102-n)의 주소를 받는다.

메타데이터 관리 서버(102-1)는 그 주소정보를 이용하여 메타데이터 관리 서버(102-n)에 접속하고, USN 클라이

<48>

언트(101)로부터 받은 메타데이터 요청을 대신하여 해당 요청의 결과를 USN 클라이언트(101)에게 전달한다.

이에, USN 클라이언트(101)는 필요로 하는 메타데이터가 어느 메타데이터 관리 서버(102-1, 102-n)에서 관리되

<49>

는지, 어떻게 메타데이터 관리 서버(102-1, 102-n)를 찾는지, 그리고 다른 메타데이터 관리 서버(102-1, 102- n)에게 다시 동일한 메타데이터를 요청하는 등의 작업 수행을 불필요하게 한다.

이에 따라, 본 발명은 메타데이터 관리 서버(102-1, 102-n)를 사용하는 USN 클라이언트(101)에게 메타데이터 관

<50>

리 서버(102-1, 102-n) 측면에서 단순하고 일관된 인터페이스를 제공할 수 있다. 또한, 본 발명은 USN 클라이언 트(101)가 접속하는 메타데이터 관리 서버(102-1, 102-n)가 수없이 많은 센서 및 센서 네트워크의 메타데이터를 모두 관리하는 것처럼 보이도록 함으로써, 개발자 및 클라이언트 프로그램이 분산된 광역의 센서 네트워크 환경 에서 USN 시스템의 개발을 용이하도록 한다. 이에, 궁극적으로는 서비스 개발의 투명성을 높이고 개발에 소요되 는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.

본 발명이 적용되는 USN 메타데이터 서버 검색 시스템을 이용하는 메타데이터 검색 시스템은, 도 1에 도시된 바

<51>

와 같이, USN 클라이언트(101), 다수 개의 메타데이터 관리 서버(102-1, 102-n), 메타데이터 위치 서버(103)를 포함한다. 또한, 본 발명의 실시 예에 따른 메타데이터 검색 시스템은, USN 메타데이터를 필요로 하는 USN 시스 템의 내부 시스템(설명의 편의상으로 도면에는 도시하지 않음)을 더 포함한다.

USN 클라이언트(101)는 USN 미들웨어 또는 USN 응용프로그램이 될 수 있으며, 센서 네트워크 자원의 ID를 이용

<52>

하여 해당 자원에 대한 메타데이터의 검색을 메타데이터 관리 서버(102-1, 102-n)에게 요청하여, 메타데이터 관 리 서버(102-1, 102-n)로부터 메타데이터를 제공받는다.

메타데이터 관리 서버(102-1, 102-n)는 특정 센서 및 센서 네트워크에 대한 메타데이터를 관리하고, USN 클라이

<53>

언트(101)의 메타데이터 검색 및 제공 요청을 받아 해당하는 메타데이터를 제공한다. 여기서, 메타데이터 관리 서버(102-1, 102-n)는 분산 환경에서 광역 센서 네트워크의 메타데이터를 관리하는 메타데이터 관리 서버로서, 특정 센서 네트워크의 메타데이터만 관리하므로 여러 대의 메타데이터 관리 서버가 존재한다. 메타데이터 관리 서버(102-1, 102-n)는 원격에서 메타데이터의 검색 및 제공을 요청할 수 있는 표준화된 인터페이스를 제공한다.

메타데이터 위치 서버(103)는 특정 센서 네트워크 자원의 ID와 해당 자원의 메타데이터를 관리하는 메타데이터

<54>

관리 서버(102-1, 102-n)의 주소를 쌍으로 관리하고, 메타데이터 관리 서버(102-1, 102-n)로부터 센서 네트워크 자원의 ID를 입력으로 받아서 해당 자원의 메타데이터를 관리하는 메타데이터 관리 서버(102-1, 102-n)의 주소 를 제공한다. 여기서, 메타데이터 위치 서버(103)는 특정 센서 네트워크 자원의 ID와 메타데이터 관리 서버 (102-1, 102-n)의 주소를 쌍으로 관리한다. 분산 환경에서 광역 센서 네트워크의 메타데이터 관리 서버(102-1, 102-n)를 관리하기 위해, 한 대 또는 여러 대의 메타데이터 위치 서버(103)가 존재한다. 메타데이터 위치 서버 들(103)은 유기적으로 정보를 교환하여 특정 메타데이터를 관리하는 메타데이터 관리 서버(102-1, 102-n)의 주 소를 제공할 수 있는 서버들의 집합인 메타데이터 위치 서버군을 구성한다.

이때, 메타데이터 위치 서버군은 중앙 집중식 구조, 계층적 구조, 단대단 구조의 3가지 모델 중의 한 형태로 구

<55>

성될 수 있으며, 또는 3가지 모델을 조합하여 구성될 수 있다.

중앙 집중식 구조에 의하면 메타데이터 위치 서버(103)가 한 대 존재하며, 모든 자원의 ID와 그에 상응하는 메

<56>

타데이터 관리 서버(102-1, 102-n)의 주소를 관리한다.

계층적 구조의 메타데이터 위치 서버군에서는 여러 대의 메타데이터 위치 서버들(103)이 존재한다. 각 메타데이

<57>

터 위치 서버들(103)은 관리하는 자원의 ID를 기준으로 계층적인 관계를 형성하여 메타데이터 위치 서버군 전체 가 하나의 트리구조를 구성한다. 여기서, 계층적 구조를 구성하는 방법으로는 자원의 ID 자체를 단순한 비트의 연속으로 보고 비트 단위로 나누어서 계층적 구조를 구성할 수 있다. 또한, 자원의 ID에 포함되어 있는 메타데 이터 관리 서버(102-1, 102-n)의 위치 정보를 이용하여 계층적 구조를 구성할 수도 있다.

이하, 본 발명의 실시 예에 따른 USN 메타데이터 서버 검색 시스템을 이용하는 메타데이터 검색 시스템의 동작

<58>

에 대해 도 1을 참고하여 살펴보기로 한다.

먼저, USN 클라이언트(101)는 센서 네트워크 자원의 ID를 이용하여 해당 자원에 대한 메타데이터의 검색을 제1

<59>

메타데이터 관리 서버(102-1)에게 요청한다.

(12)

이에, 제1 메타데이터 관리 서버(102-1)는 USN 클라이언트(101)로부터 메타데이터 검색 요청을 수신받아 로컬에

<60>

서 관리하는 메타데이터를 검색하여 USN 클라이언트(101)의 메타데이터 검색 요청에 상응하는 메타데이터가 있 는지를 확인한다. 이때, 메타데이터가 존재하면, 제1 메타데이터 관리 서버(102-1)는 검색의 결과로서 메타데이 터를 USN 클라이언트(101)에게 제공한다.

반면에, 제1 메타데이터 관리 서버(102-1)의 로컬에서 USN 클라이언트(101)의 메타데이터 검색 요청에 상응하는

<61>

메타데이터가 존재하지 않으면, 제1 메타데이터 관리 서버(102-1)는 센서 네트워크 자원의 ID를 이용하여 해당 자원의 메타데이터를 관리하는 메타데이터 관리 서버(102-2 ~ 102-n)를 찾아줄 것을 메타데이터 위치 서버(10 3)에게 요청한다.

이에 따라, 메타데이터 위치 서버(103)는 제1 메타데이터 관리 서버(102-1)로부터 메타데이터 관리 서버 검색

<62>

요청을 수신받아 제1 메타데이터 관리 서버(102-1)로부터 받은 자원 ID가 로컬에 저장되어 있는지를 확인한다.

이때, 메타데이터 위치 서버(103)는 자원 ID가 로컬에 존재하면 이에 상응하는 메타데이터 서버 주소를 제1 메 타데이터 관리 서버(102-1)로 돌려준다.

그러나 자원 ID가 로컬에 존재하지 않으면, 메타데이터 위치 서버(103)는 메타데이터 위치 서버군의 다른 메타

<63>

데이터 위치 서버(설명의 편의상으로 도면에는 도시하지 않음)에게 상기 자원 ID를 전달하면서 그에 상응하는 메타데이터 관리 서버(102-2 ~ 102-n)의 검색을 요청한다.

이때, 메타데이터 위치 서버군 내에서 자원 ID에 상응하는 메타데이터 관리 서버(102-2 ~ 102-n)를 찾기 위해

<64>

반복해서 다른 메타데이터 위치 서버에게 자원 ID를 전달한다. 이에, 해당 자원 ID와 그에 상응하는 메타데이터 관리 서버(102-2 ~ 102-n)의 주소를 관리하는 메타데이터 위치 서버까지 요청이 도달하면, 예를 들어 제n 메타 데이터 관리 서버(102-n)의 주소를 상술한 내용에서 반복적으로 요청된 순서의 역순으로 메타데이터 위치 서버 를 거쳐서 처음 메타데이터 위치 서버(103)에게 요청한 제1 메타데이터 관리서버(102-1)로 돌려준다.

그러면, 자원 ID를 관리하는 제n 메타데이터 관리 서버(102-n)의 주소를 받은 제1 메타데이터 관리 서버(102-

<65>

1)는 그 주소를 이용하여 제n 메타데이터 관리 서버(102-n)에 접속하고 자원 ID를 이용하여 메타데이터 검색을 요청한다.

이에, 제n 메타데이터 관리 서버(102-n)는 자원 ID에 상응하는 메타데이터를 제1 메타데이터 관리 서버(102-

<66>

1)에게 제공한다.

이에 따라, 제1 메타데이터 관리 서버(102-1)는 제n 메타데이터 관리 서버(102-n)로부터 받은 메타데이터를 USN

<67>

클라이언트(103)에게 제공한다.

도 2는 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.

<68>

도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군(200)은, ID

<69>

를 유일(Unique)한 비트 스트링(Bit String)으로 간주하여 해당 비트 스트링의 범위를 계층별로 분할하여 위치 등록 서버들(LS: Location Server)간의 부하(Load)를 분산한다.

위치 등록 서버들(LS)간의 부하 분산을 위해서, 위치 등록 서버(LS)를 이용하여 케이-어리(k-ary) 탐색 트리

<70>

(Search Tree)를 구성한다. 이때, 해당 탐색 트리 구조의 높이(Height)와 등급(Degree)은 각 위치 등록 서버 (LS)의 처리 능력과 전체 부하에 의해 결정된다.

위치 등록 서버(LS)를 노드로 볼 때, 각 노드는 자신의 부모 노드(Parent Node)의 주소를 저장한다. 자식 노드

<71>

(Root Node)는 부모 노드를 저장할 필요가 없다.

각 노드는 자신을 자식으로 하는 서브-트리(Sub-tree)가 담당하는 ID 스페이스(Space)의 프리픽스(Prefix)와 해

<72>

당 프리픽스의 길이를 기억한다. 예를 들어, '010xxxxxx'에 해당하는 ID 스페이스인 경우는 '010'과 '3'을 기억 한다.

그리고 각 노드는 자신의 자식 노드들이 저장하는 ID 스페이스의 프리픽스와 그 길이 및 그 자식 노드의 IP 주

<73>

소를 저장한다. 이때, 자식 노드가 저장하는 프리픽스는 그 길이가 동일하지 않을 수도 있다. 예를 들어, 자신 의 프리픽스는 '010xxxx'이고, 3개의 자식 노드가 존재하는데 그 프리픽스들은 '0100xxx', '01010xx', '01011xx'가 될 수도 있다.

자식 노드의 모든 프리픽스의 합은 자신의 프리픽스와 동일해야 한다. 즉, 빈 공간이 존재해서는 안 된다. 예를

<74>

들면, 자신의 프리픽스는 '010xxxx'인데, 2개의 자식 노드가 존재하고 그 프리픽스가 '0100xxx', '01011xx'라면

(13)

빈 공간이 존재하게 된다. 종단 노드(Leaf Node)는 자식 노드 대신에 자신이 저장하는 ID 스페이스에 해당하는 실제 ID-IP 쌍을 저장한다.

계층적 구조의 메타데이터 위치 서버군(200)의 구성은 우선 위치 등록 서버(LS)의 수를 정하고, 위치 서버 관리

<75>

자가 상술한 트리 구성 방식을 바탕으로 위치 등록 서버(LS)를 구성한다.

여기서, 각 메타데이터 관리 서버는 메타데이터 위치 서버군(200)에서 종단의 위치 등록 서버 하나를 자신의 로

<76>

컬 위치 서버로 정의한다.

각 위치 등록 서버를 모두 독립된 장비에서 수행할 필요는 없고, 여러 개의 위치 등록 서버가 저장할 정보를 하

<77>

나의 통합된 위치 서버가 저장할 수 도 있다. 예를 들면, 도 2의 왼쪽 서브-트리의 3개의 위치 등록 서버는 모 두 모아서 한 개의 위치 등록 서버에 저장할 수도 있다.

계층적 구조의 메타데이터 위치 서버군(200)의 동작은 DNS 룩업(Lookup)과 동일하게 진행된다. 우선, 메타데이

<78>

터 관리 서버가 자원의 ID를 이용하여 메타데이터를 검색하는 사용자의 요청을 받으면, 메타데이터 관리 서버는 자신의 로컬 위치 서버에 접속하여 해당 자원의 ID를 해당 로컬 위치 서버에게 알려준다.

이에, 메타데이터 관리 서버는 로컬 위치 서버를 기준으로 반복적인 검색을 수행하게 된다. 즉, 로컬 위치 서버

<79>

는 우선 자신의 담당 영역에 그 ID가 속하는지를 판단하고, 그 ID가 자신의 담당 영역에 속하면 해당 IP를 메타 데이터 관리 서버에게 돌려준다.

반면에, 그 ID가 자신의 담당 영역에 속하지 않으면, 차기(Next) 위치 등록 서버로 자신의 부모 위치 서버를 지

<80>

정한다. 또한, 차기 위치 등록 서버에 그 ID를 전송한다.

이에 따라, 로컬 위치 서버로부터 ID를 전송받은 차기 위치 등록 서버는, 자신이 담당하는 ID 영역에 요청받은

<81>

ID가 속하는지를 판단한다. 이때, 요청받은 ID가 자신이 담당하는 ID 영역에 속하지 않으면, 그 자신의 부모 위 치 서버의 IP를 로컬 위치 서버에게 돌려준다. 여기서, 해당 IP가 차기 위치 등록 서버가 된다.

그리고 해당 ID가 자신의 영역에 속하면, 자신이 그 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버인지를 판단

<82>

하고, 이때 자신이 그 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버라면, 그 ID에 상응하는 IP, 즉 그 ID의 자원에 대한 메타데이터를 관리하는 메타데이터 관리 서버의 IP를 로컬 위치 서버에게 돌려준다.

그러면, 로컬 위치 서버는 이를 처음 요청한 메타데이터 관리 서버에게 돌려줌으로써 메타데이터 관리 서버를

<83>

찾는 과정을 마친다.

반면에, 해당 ID가 자신의 영역에 속하고 종단 위치 등록 서버가 아닌 경우, 그 ID에 해당하는 하위 계층의 위

<84>

치 등록 서버를 찾아내어 그 자식 위치 서버의 IP를 로컬 위치 서버에게 돌려준다. 여기서, 해당 IP가 차기 위 치 등록 서버가 된다. 그런 후에, 상술한 바와 같이, 그 ID를 차기 위치 등록 서버에 전송한 다음부터 반복하도 록 한다.

도 3은 본 발명의 실시 예에 따른 메타데이터 관리 서버의 위치정보를 이용하여 계층구조를 구성한 메타데이터

<85>

위치 서버군을 일예로 나타낸 구성도이다.

본 발명의 실시 예에 따른 메타데이터 관리 서버의 위치정보를 이용하여 계층적 구조를 구성한 메타데이터 위치

<86>

서버군(300)은, 도 3에 도시된 바와 같이, 계층 구조를 구성할 때에 메타데이터 관리 서버의 지리적인 위치를 이용하여 구성하면 메시지의 요청에 대한 응답시간 등이 최적화되도록 할 수 있다.

우선, 전체 영역을 '사각형'이라고 가정하고 이를 4등분으로 분할한다. 다시 해당 각각의 영역을 또 다시 4등분

<87>

하여 분할한다. 원하는 높이의 계층 구조가 만들어질 때까지 이를 반복한다.

도 3은 높이가 '3'인 영역으로 분할한 예이다. 각 영역별로 메타데이터 관리 서버가 존재하는 영역을 표시하였

<88>

다. 각 영역별로 위치 서버를 하나씩 두고 상위 영역을 담당하는 서버가 하위 영역을 담당하는 4개의 서버의 부 모 노드가 되는 것이다. 종단 노드(Leaf Node)에 해당하는 서버들은 실제 ID-IP 쌍을 저장하게 된다.

도 3은 이러한 위치 서버들 간의 계층 구조를 보여준다. 실제로 메타데이터 관리 서버가 존재하지 않는 영역에

<89>

대해서는 위치 서버가 존재할 필요가 없다.

이렇게 하게 되면 좋은 점은, 지리적으로 가까운 노드에 대한 정보가 같은 종단 노드에 저장되어, 연관된 센서

<90>

네트워크나 센서 노드에 대한 정보를 더 빨리 얻을 수 있게 된다. 이런 구조를 형성하게 되면 필요한 위치 서버 의 수가 증가하게 되는데, 각 메타데이터 관리 서버 내에 위치 서버가 수행되면 실제로 큰 부담이 없다.

(14)

각 메타데이터 관리 서버의 위치정보를 이용하여 계층적 구조를 구성한 메타데이터 위치 서버군(300)에서 각 노

<91>

드는 다음과 같은 정보를 가진다.

각 메타데이터 관리 서버는 자신의 위치 정보를 저장한다. 센서 네트워크의 경우와 마찬가지로 42비트로 표현한

<92>

다. 경도 21비트, 위도 21비트로 분리된다. 경도와 위도의 각 첫 번째 비트의 조합으로, 전체 영역은 네 개의 영역으로 분리된다. 즉, '0-0-', '0-1-', '1-0-', '1-1-'이다.

각 영역은 다시 4개의 영역으로 분리되고, 이 과정이 반복된다. 각 노드는 자신의 부모 노드의 주소를

<93>

저장한다. 자식 노드는 부모 노드를 저장할 필요가 없다.

각 노드는 자신을 자식으로 하는 서브-트리(Sub-tree)가 담당하는 영역을 기억한다. 각 노드는 자신의 자식 노

<94>

드들이 담당하는 영역 및 그 자식 노드의 IP 주소를 저장한다.

자식 노드의 모든 영역의 합은 자신의 영역과 동일해야 한다. 메타데이터 관리 서버가 존재하지 않는 자식 영역

<95>

은 위치 서버를 둘 필요가 없다. 종단 노드는 자식 노드 대신 자신이 저장하는 ID 영역에 해당하는 실제 ID-IP 쌍을 저장한다.

메타데이터 관리 서버의 위치정보를 이용하여 계층적 구조를 구성한 메타데이터 위치 서버군(300)에서 메타데이

<96>

터 관리 서버를 검색하는 동작은, 위치정보를 이용하지 않고 ID를 비트 단위로 구분하여 계층적 구조를 구성한 메타데이터 위치 서버군에서의 검색 동작과 동일하다.

도 4는 본 발명의 실시 예에 따른 단대단 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.

<97>

본 발명의 실시 예에 따른 단대단 구조를 구성한 메타데이터 위치 서버군(400)은, 도 4에 도시된 바와 같이, 각

<98>

메타데이터 관리 서버가 위치 서버(LS)의 역할을 동시에 수행하도록 한다.

물론 메타데이터 관리 서버 내부에서 수행하는 것은 아니고, 메타데이터 관리 서버가 수행되는 머신(Machine)에

<99>

위치 서버(LS)가 하나씩 수행되도록 한다. 다양한 P2P 시스템들이 제시되고 있지만 대부분 질의 처리 시까지의 메시지 수와 같은 성능은 비슷한 편이기 때문에, 본 발명에서는 가장 대표적인 P2P 시스템인 코드 시스템(Chord System)을 바탕으로 P2P 구조를 형성하도록 한다. 코드 시스템에서는 ID가 메타데이터 관리 서버의 정보를 저장 하는 경우와 저장하지 않는 경우 모두에 대해서 동일하게 작동한다.

단대단 구조의 메타데이터 위치 서버군(400)에 있어서 각 노드에서 저장하는 정보는 다음과 같다.

<100>

각 위치 서버(LS)는 자신의 고유한 ID를 가진다. 쉽게 이 메타데이터 관리 서버가 담당하는 1개의 센서 네트워

<101>

크의 ID로 한다. 해당 ID는 모듈러 오퍼레이션(Modulo Operation)에 의해 원 위의 한 점으로 간주하면 된다. 해 당 정의에 의해 각 위치 서버(LS)는 원 위의 한 점으로 대응된다.

그리고 자신이 담당하는 ID 영역(Interval)을 가진다. 이 원 위에서 해당 노드가 어느 영역을 담당하는지를 저

<102>

장한다. 기본적으로 자신의 ID를 포함하고 자신의 바로 전 노드의 ID 이후의 영역을 담당한다.

그리고 ID-IP 쌍을 가지는데, 자신이 담당하는 ID 영역에 속하는 ID-IP 쌍을 저장한다. 또한, 다음 노드 포인터

<103>

(succ)인 자신의 바로 다음 노드의 IP 주소와 ID를 저장한다.

끝으로, 이전 노드 포인터(pred)인 자신의 바로 이전 노드의 IP 주소와 ID를 저장한다.

<104>

상술한 바와 같은 내용이 있으면, 일단 모든 노드는 다음 노드 포인터와 이전 노드 포인터를 바탕으로 원형의

<105>

토폴로지(Topology)를 구성하게 된다. 센서 네트워크 자원의 ID가 주어지면, 다음 노드 포인터와 이전 노드 포 인터를 바탕으로 해당 ID-IP 쌍을 저장하는 위치 서버(LS)를 찾아갈 수 있다.

하지만 이 경우 최악의 경우에 모든 노드(즉, 위치 서버(LS))를 방문해야 할 가능성이 생긴다. 이것은 본 발명

<106>

이 바라는 바가 아니므로, 검색의 속도를 높이기 위해 위치 서버(LS)의 포인터 정보를 테이블 형태로 관리하는 핑거 테이블(Finger Table)을 더 저장한다.

핑거 테이블은 다음과 같이 구성한다. 총 노드의 개수가 n개이고 어느 한 노드에 있어서 자신의 ID를 'x'라고

<107>

하면, 이 노드는 다음과 같은 노드의 포인터를 저장한다.

우선 ID의 길이를 '128'로 고정했기 때문에 128개의 포인터를 가진다. 이 포인터에 포함되는 노드들은 다음과

<108>

같다. ID 'x+1'을 포함하는 영역을 가지는 노드의 IP 주소와 ID, 그리고 ID 'x+2'를 포함하는 영역을 가지는 노 드의 IP 주소와 ID, 그리고 ID 'x+4'를 포함하는 영역을 가지는 노드의 IP 주소와 ID, 일반적으로 ID 'x+2k'를

(15)

포함하는 영역을 가지는 노드의 IP 주소와 ID이다. 이때, k 값은 '0'에서 '127'까지이다.

단대단 구조를 구성한 메타데이터 위치 서버군(400)에서의 검색 방법은, 하나의 로컬 위치 서버에서 시작하여

<109>

특정 ID를 담당하는 위치 서버를 찾는 과정으로 다음과 같다.

우선, 로컬 위치 서버 자신이 이 ID를 담당하는지를 확인하고, 이때 ID를 담당하고 있으면 검색은 종료된다.

<110>

그러나 자신이 ID를 담당하고 있지 않으면, 일단 자신을 차기 위치 서버(Next Location Server)라고 한다.

<111>

그런 후에, 차기 위치 서버에 ID를 전송하여 검색을 의뢰한다. 이에, 차기 위치 서버는 이 ID가 자신이 담당하

<112>

는 영역에 속하는지를 확인하고, 이때 ID가 자신이 담당하는 영역에 속한다면 자신의 IP를 로컬 위치 서버에 돌 려주고 검색이 종료된다.

반면에, 차기 위치 서버가 그 ID를 담당하지 않으면, 자신의 핑거 테이블에서 해당 ID 가 존재하는 영역에 해당

<113>

하는 'k' 값을 찾는다. 즉, ID가 (x+2k-1, x+2k)에 속하는 'k' 값을 찾는다. 해당 찾은 'k' 값에 해당하는 노드 의 IP 주소를 로컬 위치 서버에 돌려준다.

이에 따라, 로컬 위치 서버는 차기 위치 서버로부터 받은 IP를 차기 위치 서버로 하고, 차기 위치 서버에 ID를

<114>

전송하여 검색을 의뢰하는 동작부터 다시 반복하도록 한다.

한편, 단대단 구조를 구성한 메타데이터 위치 서버군(400)에서 새로운 노드가 추가되면, 이 노드가 저장해야 할

<115>

모든 정보를 새로 구성해야 한다. 또한, 일부 다른 노드들이 가지고 있는 정보도 수정해야 한다. 그 동작은 다 음과 같다.

새로운 위치 서버 'N'은 기존 P2P 위치 서버군(400)에 존재하는 하나의 위치 서버 'E'에 대한 정보를 관리자로

<116>

부터 얻는다.

그리고 새로운 위치 서버 'N'은 위치 서버 'E'에게 자신의 ID를 전송하여 이 ID를 포함하는 영역을 담당하는 노

<117>

드를 찾으라는 요청을 수행한다.

이에, 위치 서버 'E'는 상술한 바와 같은 단대단 구조를 구성한 메타데이터 위치 서버군(400)에서의 검색 과정

<118>

을 거쳐 새로운 위치 서버 'N'의 ID를 포함하는 영역을 담당하는 위치 서버 'T'의 IP를 찾아 새로운 위치 서버 'N'에게 돌려준다.

다시 말해서, 위치 서버 'E'는 새로운 위치 서버 'N'으로부터 수신받은 ID를 자신이 담당하는지를 확인한다. 이

<119>

때, 위치 서버 'E' 자신이 새로운 위치 서버 'N'의 ID를 담당하지 않으면, 자신의 핑거 테이블에서 새로운 위치 서버 'N'의 ID 가 존재하는 영역에 해당하는 'k' 값을 찾는다. 그리고 위치 서버 'E'는 해당 찾은 'k' 값에 해 당하는 위치 서버 'T'의 IP 주소를 새로운 위치 서버 'N'에게 돌려준다.

이에, 새로운 위치 서버 'N'은 위치 서버 'E'로부터 받은 IP 주소를 차기 위치 서버로 하고, 차기 위치

<120>

서버(즉, 위치 서버 'T')에 자신의 ID를 전송하여 검색을 의뢰한다. 이에 따라, 위치 서버 'T'는 새로운 위치 서버 'N'으로부터 수신받은 ID를 자신이 담당하는지를 확인하고, 해당 수신받은 ID를 자신이 담당하면 자신의 IP 주소를 새로운 위치 서버 'N'에게 돌려준다.

이에 따라, 새로운 위치 서버 'N'은 위치 서버 'T'에게 영역 분할을 요청한다.

<121>

그러면, 위치 서버 'T'는 자신의 영역을 반으로 분할하여 앞쪽 영역은 새로운 위치 서버 'N'에게 양도하고, 자

<122>

신의 뒤쪽 반을 담당하게 된다. 이때, 위치 서버 'T'는 자신의 모든 핑거 테이블 정보를 새로운 위치 서버 'N' 에게 제공한다. 또한, 위치 서버 'T'는 자신의 이전 노드 포인터를 새로운 위치 서버 'N'으로 수정한다.

그리고 새로운 위치 서버 'N'은 위치 서버 'T'의 이전 노드 포인터에 접속하여 이 노드의 다음 노드 포인터를

<123>

새로운 위치 서버 'N'으로 변경할 것을 요청한다. 또한, 새로운 위치 서버 'N'은 자신의 이전 노드 포인터는 위 치 서버 'T'의 이전 노드 포인터로 하고, 다음 노드 포인터는 위치 서버 'T'로 한다.

그리고 새로운 위치 서버 'N'은 위치 서버 'T'로부터 제공받은 핑거 테이블 정보를 바탕으로 자신의 핑거 테이

<124>

블을 수정한다. 이 수정을 위해서는 각 'k' 별로 상술한 바와 같은 단대단 구조를 구성한 메타데이터 위치 서버 군(400)에서의 검색 과정의 조회 동작을 반복한다. 실제적으로는 모든 'k'에 대해서 조회 동작을 수행할 필요는 없다.

또한, 실제적으로 이전 노드 포인터와 다음 노드 포인터만 정확하게 저장되어 있으면 핑거 테이블의 정보는 약

<125>

(16)

간 틀리더라도 검색에 크게 지장이 없다. 하지만 정확한 정보를 위해 안정화(Stabilization) 과정을 수행한다.

안정화 과정은 다음과 같은 3가지 방식이 존재한다. 첫 번째, 주기적으로 자신의 핑거 테이블의 엔트리(Entry)

<126>

의 노드를 새로 찾아서 수정한다. 두 번째, 주기적으로 하는 대신에 검색 시 평균 노드 방문 횟수가 일정 값 이 상인 경우에 수행할 수도 있다. 세 번째, 매번 검색 시 중간에 리턴(Return)되는 IP 주소와 더불어 그 위치 서 버의 담당 영역을 같이 돌려주게 하여 이 내용을 바탕으로 자신의 핑거 테이블을 수정한다.

이하, 도 5를 참조하여 단대단 구조 및 계층적 구조를 조합하여 구성한 메타데이터 위치 서버군의 구성에 대해

<127>

살펴보기로 한다.

도 5는 본 발명의 실시 예에 따른 단대단 구조 및 계층구조를 조합하여 구성한 메타데이터 위치 서버군을 나타

<128>

낸 구성도이다.

본 발명의 실시 예에 따른 단대단 구조 및 계층적 구조를 조합하여 구성한 메타데이터 위치 서버군(500)은, 도

<129>

5에 도시된 바와 같이, 전체 메타데이터 관리 서버들을 여러 그룹(510, 520)으로 분할한다.

각 그룹(510, 520) 내의 메타데이터 관리 서버들을 하나의 계층 구조로 형성한다. 해당 계층 구조의 자식 노드

<130>

들이 모여 단대단 구조를 형성한다. 자식 노드는 계층 구조의 자식 역할과 단대단 구조의 한 노드의 역할을 동 시에 수행한다.

단대단 구조 및 계층적 구조를 조합하여 구성한 메타데이터 위치 서버군(500)의 검색 동작은, 먼저 계층 구조의

<131>

검색 과정과 동일하게 수행하고 만약에 자식 노드에서 패턴이 매칭되지 않으면 단대단 구조를 이용하여 다른 계 층 구조에서 검색을 수행하도록 한다.

이상, 본 발명의 실시 예는 분산 환경에서 센서와 센서 네트워크의 메타데이터를 관리하는 시스템이 다수 존재

<132>

할 때, 특정 센서의 메타데이터를 검색하기 위해 해당 센서의 메타데이터를 관리하는 메타데이터 관리 서버의 위치를 검색하는 방법에 대해서 설명하였다.

이때, 본 발명의 실시 예에 따르면, USN 메타데이터를 요청하는 클라이언트(즉, 단말)가 특정 메타데이터 관리

<133>

서버에 접속하여 메타데이터를 요청하고, 메타데이터 관리 서버가 해당 메타데이터를 직접 관리하지 않을 경우 에 메타데이터 위치 서버를 이용해서 해당 메타데이터를 관리하는 메타데이터 관리 서버의 주소를 받아서, 그 주소정보를 이용하여 메타데이터 관리 서버에 접속하고, 클라이언트로부터 받은 메타데이터를 대신 요청하여 해 당 요청의 결과를 클라이언트에게 전달하도록 한다. 이에, 클라이언트는 필요로 하는 메타데이터가 어느 메타데 이터 서버에서 관리되는지, 어떻게 메타데이터 서버를 찾는지, 그리고 다른 메타데이터 서버에게 다시 동일한 메타데이터를 요청하는 작업의 수행을 불필요하게 함으로써, 메타데이터 관리 서버를 사용하는 클라이언트에게 메타데이터 서버 측면에서 단순하고 일관된 인터페이스를 제공할 수 있다. 또한, 클라이언트가 접속하는 메타데 이터 관리 서버가 수없이 많은 센서 및 센서 네트워크의 메타데이터를 모두 관리하는 것처럼 보이도록 함으로써, 개발자 및 클라이언트 프로그램이 분산된 광역의 센서 네트워크 환경에서 USN 시스템의 개발을 용이 하도록 한다. 이에 따라, 궁극적으로는 서비스 개발의 투명성을 높이고 개발에 소요되는 전체 비용 및 유지 보 수비용을 절감시킬 수 있다.

그리고 본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명

<134>

의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등) 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명 한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고

<135>

다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

도면의 간단한 설명

도 1은 본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 나타낸 흐름도이다.

<136>

도 2는 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.

<137>

도 3은 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군을 일예로 나타낸 구성도이다.

<138>

도 4는 본 발명의 실시 예에 따른 단대단 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.

<139>

(17)

도 5는 본 발명의 실시 예에 따른 단대단 구조 및 계층구조를 조합하여 구성한 메타데이터 위치 서버군을 나타

<140>

낸 구성도이다.

도면 도면1

도면2

(18)

도면3

(19)

도면4

도면5

참조

관련 문서

본 발명에 따른 영상 복호화 방법은 병렬적 머지 프로세싱이 가능한 블록의 크기를 나타내는 병렬 머지 레벨 정보를 수신하는 단계와, 상기 병렬 머지 레벨 정보에 기초하여, 부호화 블록을 기준으로 공간적 머지 후보 및 시간적 머지 후보 중 적어도 하나의 머지 후보를 유도하는 단계와, 상기 머지 후보를 기초로 상기 부호화 블록 내 예측

특허청구의 범위 청구항 1 지리공간적 정보를 저장하는 공간데이터 저장부와 상기 공간데이터에 대응하는 속성정보를 저장하는 속성데이터 저장부를 포함하는 데이터저장부; 사용자 인터페이스를 제공하고 사용자로부터 임의영역의 공간정보를 입력받는 맵뷰어; 및 상기 지리공간적 정보와 상기 임의영역의 공간정보를 비교하여 중첩 비율을 계산하고

청구항 15 영상의 복호화 장치에 있어서, 현재 블록의 화면간 예측을 수행하기 위해 사용되는 머지 후보 리스트에 대한 정보를 부호화하는 엔트로피 부호 화부와; 상기 현재 블록의 주변 블록에 대한 가용성을 판단하고, 상기 가용성 판단 결과에 기초하여 상기 현재 블록에 대한 머지 후보 리스트를 구성하고, 상기 머지 후보 리스트에

서비스 제공자가 등록한 서비스를 하나 이상의 색인 키워드로 표현한 온톨리지로 저장하는 서비스 저장부; 서비스 요청자로부터 서비스 요청신호를 수신하는 서비스 요청부; 상기 온톨리지를 검색하여 상기 서비스 요청신호에 해당하는 서비스가 존재하는지 판단하는 서비스 검색부; 및 상기 서비스 검색부의 검색결과에 따라 상기 서비스가

디지털 방송 수신 단말에서의 방송콘텐츠 보호/관리용 IPMP툴 다운로드 장치에 있어서, 방송망을 통하여 전송되는 '보호처리된 방송콘텐츠를 운반하는 전송스트림TS'으로부터 상기 방송콘텐츠에 대한 IPMP 제어정보를 분리하기 위한 역다중화 수단; 상기 분리된 IPMP 제어정보로부터, 상기 방송콘텐츠에 대한 IPMP 툴과 관련된

청구항 7 제6항에 있어서, 상기 자율주행 맵 제공부는, 상기 저장부의 상기 정밀 맵 데이터를 검색하여 상기 자율주행 차량이 상기 목적지까지 도달하기 위한 도로 레 벨의 주행 경로 및 안내guidance 정보, 상기 도로 레벨의 주행 경로에 따라 상기 자율주행 차량이 도로 상 주 행해야 하는 차선 정보를 포함하는 차선 레벨의

바람직하게 상기 d 단계는 d1 상기 채널을 통과해 수신된 신호yi간에 교차 상관을 산출하는 단계와, d2 상기 산출 된 교차 상관을 동일 이득 결합equal gain combining하여 랭크 원rank one 행렬에 의한 적어도 2개 이상의 단일 벡터 를 검출하는 단계와, d3 상기 구해진 랭크 원 행렬에 SVDSingular

상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 방송용 헤드엔드 시스템을 제어하는 방법은, 적어 [0017] 도 하나의 제1 장치를 포함하는 주Primary 시스템 및 적어도 하나의 제2장치를 포함하는 부secondary 시스 템을 포함하는 방송용 헤드엔드 시스템을 제어하는 장치에 의해 수행되는 제어 방법으로서,